7 /* Quoting all string in order to facilitate for
8 emacs's C module :-) */
9 [ \t\n] ; /* skip ws */
11 "elsif" { return ELSIF; }
12 "else" { return ELSE; }
13 "while" { return WHILE; }
15 "write_int" { return WRT_INT; }
16 "break" { return BREAK; }
17 "next" { return NEXT; }
18 "return" { return RETURN; }
19 "shift" { return SHFT; }
30 [a-zA-Z_][a-zA-Z0-9_]* {
31 yylval.fun.id = strdup(yytext);
34 [$][a-zA-Z_][a-zA-Z0-9_]* {
35 yylval.var.id = strdup(yytext);
39 yylval.ival = atoi(yytext);
43 . { return yytext[0]; }