YACC

From Lojban
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

YACC, an acronym for "Yet Another Compiler Compiler", is the name of a program which takes the description of a LALR(1) grammar and generates C code able to parse this grammar as output, written a long time ago (1974-75) for UNIX systems.

The name itself comes from the fact that such a program is often used when developing a compiler (language translation program, usually programming language to computer bytecode/assembly), while being a compiler itself.

Today several YACC-style programs do exist, of which bison is probably the most well-known.

Also, it is very common to call a "YACC grammar" any grammar which is a valid input for YACC. (As well as sort of silly...)

LALR grammars are difficult to debug when conflicts occur. A tool called YCA "Yacc Conflict Analyzer" can be used to sort out why Yacc has encountered ambiguities.