6 KEYWORD func|end|struct|var|if|then|else|while|do|return|or|not
7 SPECIAL_CHAR \;|\.|\(|\)|\,|\:=|\-|\+|\*|>=|=
8 IDENTIFIER [[:alpha:]_][[:alnum:]_]*
9 NUMBER_HEX [0-9][0-9A-Fa-f]*H
19 {COMMENT_START} BEGIN(COMMENT);
21 <COMMENT>{COMMENT_END} BEGIN(INITIAL);
23 <COMMENT>{COMMENT_START} fprintf(stderr, "Possibly nested comment on line %i\n", yylineno);
26 fprintf(stderr, "Unterminated comment.\n");
30 <COMMENT>{WHITESPACE} /* ignore */
32 <COMMENT>. /* ignore everything inside comment */
36 struct return(STRUCT);
43 return return(RETURN);
47 {IDENTIFIER} return(ID);
49 {NUMBER_DEC} return(NUM);
50 {NUMBER_HEX} return(NUM);
54 {SPECIAL_CHAR} return(yytext[0]);
56 {WHITESPACE} /* ignore */
59 fprintf(stderr, "Lexical error on line %i\n", yylineno);