]> granicus.if.org Git - re2c/commit
libre2c: added prefix 'TOKEN_' to all parser tokens to avoid name collisions.
authorUlya Trofimovich <skvadrik@gmail.com>
Thu, 29 Aug 2019 21:27:01 +0000 (22:27 +0100)
committerUlya Trofimovich <skvadrik@gmail.com>
Thu, 29 Aug 2019 21:27:01 +0000 (22:27 +0100)
commite34fe4dde7c37e7bd35da32ad8211995d678552e
treeab4b7fa73bc6a1378f8f445241b6be53b2b6645d
parent269578f8d4fc3e6ce7c8f543433737590cbd037a
libre2c: added prefix 'TOKEN_' to all parser tokens to avoid name collisions.

Apparently some versions of bison generate token definitions as macros, not
as enum members. If a bison-generated header is included into another file
that contains identifiers identical to the names of parser tokens, all such
identifiers are macro-substituted to a numeric constant. Adding a prefix to
token names reduces the chances of name collision.

This fixes bug #261: "lib/parse.h:49:15: 错误:expected unqualified-id before
numeric constant" reported by qidizi.
bootstrap/lib/lex.cc
bootstrap/lib/parse.cc
bootstrap/lib/parse.h
lib/lex.re
lib/parse.ypp