#include "parser.h"
KEYWORD struct|end|method|var|if|then|else|while|do|return|not|or|this
-SPECIAL_CHAR \;|\(|\)|\:=|\.|\-|\*|\<|\=|\,
IDENTIFIER [a-zA-Z_][0-9a-zA-Z_]*
NUMBER_HEX 0x[0-9A-Fa-f]+
NUMBER_DEC [0-9]+
or return(OR);
this return(THIS);
-{IDENTIFIER} return(IDENT);
+{IDENTIFIER} return(IDENT); @{ @IDENT.name@ = strdup(yytext); @}
{NUMBER_DEC} return(NUM);
{NUMBER_HEX} return(NUM);
-{SPECIAL_CHAR} return(*yytext);
+\:= return(ASSIGN);
+\; return(';');
+\( return('(');
+\) return(')');
+\. return('.');
+\- return('-');
+\* return('*');
+\< return('<');
+\= return('=');
+\, return(',');
{WHITESPACE} /* ignore */