tldr/pages/common/yacc.md

18 lines
738 B
Markdown
Raw Normal View History

# yacc
> Generate an LALR parser (in C) with a given formal grammar specification file.
> See also: `bison`.
> More information: <https://manned.org/man/yacc.1p>.
- Create a file `y.tab.c` containing the C parser code and compile the grammar file with all necessary constant declarations for values. (Constant declarations file `y.tab.h` is created only when the `-d` flag is used):
`yacc -d {{path/to/grammar_file.y}}`
- Compile a grammar file containing the description of the parser and a report of conflicts generated by ambiguities in the grammar:
`yacc -d {{path/to/grammar_file.y}} -v`
- Compile a grammar file, and prefix output filenames with `prefix` instead of `y`:
`yacc -d {{path/to/grammar_file.y}} -v -b {{prefix}}`