mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 12:23:04 +00:00
On AIX 7.2, when invoking "exit 77", we actually exit with 127. The "cleanup" function, called via trap, received an incorrect exit status, something described in Autoconf's doc. Reported by Bruno Haible. https://lists.gnu.org/archive/html/bug-bison/2020-05/msg00029.html https://lists.gnu.org/archive/html/bug-bison/2020-05/msg00047.html * examples/test (skip): New. * examples/c/bistromathic/bistromathic.test, * examples/c/reccalc/reccalc.test: Use it, to ensure $? is set to 77 when the trap is called.
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;
}