Files
bison/examples
Akim Demaille 5789f9d91e examples: bistromathic: demonstrate the use of yyexpected_tokens
Let's use GNU readline and its TAB autocompletion to demonstrate the
use of yyexpected_tokens.

This shows a number of weaknesses in our current approach:

- some macros (yyssp, etc.) from push parsers "leak" in user code, we
  need to undefine them

- the context needed by yyexpected_tokens does not need the token,
  yypstate actually suffices

- yypstate is not properly setup when first allocated, which results
  in a crash of yyexpected_tokens if fired before a first token was
  read.  We should move initialization from yypush_parse into
  yypstate_new.

* examples/c/bistromathic/parse.y (yylex): Take input as a string, not
a file.
(EXIT): New token.
(input): Adjust to work only on a line.
(line): Remove.
(symbol_count, process_line, expected_tokens, completion)
(init_readline): New.
* examples/c/bistromathic/bistromathic.test: Adjust expectations.
2020-03-01 12:31:39 +01:00
..
2020-01-05 10:26:35 +01:00
2020-01-05 10:26:35 +01:00
2020-01-05 10:26:35 +01:00
2020-01-05 10:26:35 +01:00
2020-02-29 12:22:31 +01:00

This directory contains examples of Bison grammar files, sorted per language.

Several of them come from the documentation, which should be installed together with Bison. The URLs are provided for convenience.

These examples come with a README and a Makefile. Not only can they be used to toy with Bison, they can also be starting points for your own grammars.

Please, be sure to read the C examples before looking at the other languages, as these examples are simpler.