diff options
Diffstat (limited to 'src/tpc.y')
-rw-r--r-- | src/tpc.y | 27 |
1 files changed, 5 insertions, 22 deletions
@@ -12,24 +12,8 @@ void yyerror(char *); | |||
12 | 12 | ||
13 | %} | 13 | %} |
14 | 14 | ||
15 | %union { | 15 | %token CARACTERE NUM IDENT ORDER EQ ADDSUB DIVSTAR |
16 | char caractere; | 16 | %token OR AND CONST IF WHILE RETURN VOID TYPE |
17 | int num; | ||
18 | char ident[64]; | ||
19 | char type[16]; | ||
20 | char comp[3]; | ||
21 | char addsub; | ||
22 | char divstar; | ||
23 | } | ||
24 | |||
25 | %token <caractere> CARACTERE | ||
26 | %token <num> NUM | ||
27 | %token <ident> IDENT | ||
28 | %token <comp> ORDER EQ | ||
29 | %token <addsub> ADDSUB | ||
30 | %token <divstar> DIVSTAR | ||
31 | %token OR AND CONST IF WHILE RETURN VOID | ||
32 | %token <type> TYPE | ||
33 | 17 | ||
34 | %left ',' | 18 | %left ',' |
35 | %precedence ')' | 19 | %precedence ')' |
@@ -127,12 +111,11 @@ ListExp : ListExp ',' ListExp | |||
127 | ; | 111 | ; |
128 | %% | 112 | %% |
129 | 113 | ||
130 | void yyerror(char *s){ | 114 | void yyerror(char *msg){ |
131 | fprintf(stderr, "Line no%d: %s\n", lineno, s); | 115 | fprintf(stderr, "%s at line %d\n", msg, lineno); |
132 | } | 116 | } |
133 | 117 | ||
134 | int main(int argc, char **argv) { | 118 | int main(int argc, char **argv) { |
135 | yyparse(); | 119 | return yyparse(); |
136 | return 0; | ||
137 | } | 120 | } |
138 | 121 | ||