6 KEYWORD struct|end|method|var|if|then|else|while|do|return|not|or|this
7 IDENTIFIER [a-zA-Z_][0-9a-zA-Z_]*
8 NUMBER_HEX 0x[0-9A-Fa-f]+
19 {COMMENT_START} BEGIN(COMMENT);
21 <COMMENT>{COMMENT_END} BEGIN(INITIAL);
23 <COMMENT>(.|\n) /* alles im kommentar wird ignoriert */
25 struct return(STRUCT);
27 method return(METHOD);
34 return return(RETURN);
39 {IDENTIFIER} return(IDENT); @{ @IDENT.name@ = strdup(yytext); @}
41 {NUMBER_DEC} return(NUM); @{ @NUM.val@ = strtol(yytext, (char **)NULL, 10); @}
42 {NUMBER_HEX} return(NUM); @{ @NUM.val@ = strtol(yytext, (char **)NULL, 16); @}
55 {WHITESPACE} /* ignore */
58 fprintf(stderr, "Lexical error on line %i\n", yylineno);