On Sun, 20 Dec 2009, Peng Yu wrote: > I try to run the example on > http://tldp.org/HOWTO/Lex-YACC-HOWTO-4.html. But I get the following > error. Could somebody let me know what I am wrong? > > $ bison -d example4.y > example4.y:24.1-8: syntax error, unexpected identifier: > $ cat example4.y > %{ > #include <stdio.h> > #include <string.h> > > void yyerror(const char *str) > { > fprintf(stderr,"error: %s\n",str); > } > > int yywrap() > { > return 1; > } > > main() > { > yyparse(); > } > > %} > > %token NUMBER TOKHEAT STATE TOKTARGET TOKTEMPERATURE
You need this here: %% > commands: /* empty */ > | commands command > ; > > command: > heat_switch > | > target_set > ; > > heat_switch: > TOKHEAT STATE > { > printf("\tHeat turned on or off\n"); > } > ; > > target_set: > TOKTARGET TOKTEMPERATURE NUMBER > { > printf("\tTemperature set\n"); > } > ; _______________________________________________ help-bison@gnu.org http://lists.gnu.org/mailman/listinfo/help-bison