%{ #include %} %define parse.error verbose %token OPERATOR_PLUS %token OPERATOR_MINUS %token ASSIGN %token FUNCTION %token IF %token ELSE %token RETURN %token CONST %token VAR %token PARENTHESIS_LEFT %token PARENTHESIS_RIGHT %token BRACE_LEFT %token BRACE_RIGHT %token BRACKET_LEFT %token BRACKET_RIGHT %token COMMA; %token NUMBER; %token IDENTIFIER %token COMMENT; %token END_OF_LINE; %% program: | program statement END_OF_LINE ; statement: expression | RETURN expression | CONST IDENTIFIER ASSIGN expression | VAR IDENTIFIER ASSIGN expression ; expression: NUMBER | IDENTIFIER ; %% main (int argc, char **argv) { //henshin_lex(); yyparse(); }