YACC

From Lojban
Revision as of 16:15, 2 January 2016 by Gleki (talk | contribs) (Gleki moveu a página yACC para YACC sobre um redirecionamento sem deixar um redirecionamento)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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.