> Le 7 févr. 2019 à 18:33, Peng Yu <pengyu...@gmail.com> a écrit : > > Hi, > > I don't quite understand why tokens are numbered starting from 258. > What are 256 and 257 for? Thanks. > > #define IF 258
256 is the error token, and 257 is the undef token (when we receive unknown tokens from yylex). 256 is mandated by POSIX : https://pubs.opengroup.org/onlinepubs/007904875/utilities/yacc.html > The token error shall be reserved for error handling. The name error can be > used in grammar rules. It indicates places where the parser can recover from > a syntax error. The default value of error shall be 256. Its value can be > changed using a %token declaration. The lexical analyzer should not return > the value of error. It seems to say that we should be able to change the value with `%token error 2400`, but we don't support that. (checking...) OMG, we do support it! New test case... _______________________________________________ help-bison@gnu.org https://lists.gnu.org/mailman/listinfo/help-bison