Configure reentrant bison/flex (#789)

Make the parser reentrant, working towards #769 and the ability to load other packages cleanly.
This commit is contained in:
Jon Meow
2021-08-30 14:23:16 -07:00
committed by GitHub
parent 0ac220b30f
commit ed2d171703
14 changed files with 51 additions and 29 deletions
@@ -40,8 +40,9 @@ class ParseAndLexContext {
} // namespace Carbon
// Gives flex the yylex prototype we want.
#define YY_DECL \
Carbon::Parser::symbol_type yylex(Carbon::ParseAndLexContext& context)
#define YY_DECL \
Carbon::Parser::symbol_type yylex(yyscan_t yyscanner, \
Carbon::ParseAndLexContext& context)
// Declares yylex for the parser's sake.
YY_DECL;