Before the change parsers relied on YYSTYPE global variable.
Not very handy for libre2c if it's expected to be used in reentrant
or multi-threaded contexts.
The change enables %define api.pure full and adjusts lexer calls
to explicitly pass through YYSTYPE around.
%define api.pure full is preferred to %pure-parser (deprecated in
2008, around Bison 2.3b). Should be safe to use.
Before the change parsers relied on
YYSTYPE
global variable. Not very handy for libre2c if it's expected to be used in reentrant or multi-threaded contexts.The change enables
%define api.pure full
and adjusts lexer calls to explicitly pass throughYYSTYPE
around.%define api.pure full
is preferred to%pure-parser
(deprecated in 2008, around Bison 2.3b). Should be safe to use.