##
**YakYak: Parsing with logical side constraints.**
*(English)*
Zbl 0996.68076

Rozenberg, Grzegorz (ed.) et al., Developments in language theory. Foundations, applications, and perspectives. Proceedings of the 4th international conference, Aachen, Germany, July 6-9, 1999. Singapore: World Scientific. 286-301 (2000).

Summary: Programming language syntax is often described by means of a context-free grammar, which is restricted by constraints programmed into the action code associated with productions. Without such code, the grammar would explode in size if it were to describe the same language.

We present the tool YakYak, which extends Yacc with first-order logic for specifying constraints that are regular tree languages. Concise formulas about the parse tree replace explicit programming, and they are turned into canonical attribute grammars through tree automata calculations. YakYak is implemented as a preprocessor for Yacc, in which the transitions of the calculated tree automata are merged into the action code. We provide both practical experience and theoretical evidence that the YakYak approach results in fast and concisely specified parsers.

For the entire collection see [Zbl 0954.00045].

We present the tool YakYak, which extends Yacc with first-order logic for specifying constraints that are regular tree languages. Concise formulas about the parse tree replace explicit programming, and they are turned into canonical attribute grammars through tree automata calculations. YakYak is implemented as a preprocessor for Yacc, in which the transitions of the calculated tree automata are merged into the action code. We provide both practical experience and theoretical evidence that the YakYak approach results in fast and concisely specified parsers.

For the entire collection see [Zbl 0954.00045].

### MSC:

68Q42 | Grammars and rewriting systems |