mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-04-25 02:59:38 +00:00
8036635251
Run 'make update-copyright'.
1.3 KiB
1.3 KiB
reccalc - recursive calculator with Flex and Bison
In this example the generated parser is pure and reentrant: it can be used concurrently in different threads, or recursively. As a proof of this reentrancy, expressions in parenthesis are tokenized as strings, and then recursively parsed from the parser:
exp: STR
{
result r = parse_string ($1);
free ($1);
if (r.nerrs)
{
res->nerrs += r.nerrs;
YYERROR;
}
else
$$ = r.value;
}