Abstract:
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 rst-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 specied parsers. 1 Introduction We introduce a declarative notation, a rst-order logic on trees, to specify ecient parsers that require fewer attributes and less explic...
Citations
|
389
|
Automata on infinite objects
– Thomas
- 1990
|
|
298
|
Definite clause grammars for language analysis - a survey of the formalism and a comparison with augmented transition networks
– Pereira, Warren
- 1980
|
|
76
|
Automata on in objects
– Thomas
- 1990
|
|
45
|
Generating Language-Based Environments
– Reps
- 1982
|
|
44
|
Fido: the logic-automaton connection in practice, in
– Klarlund, Mona
- 1998
|
|
30
|
Studies in the Logic of Trees with Application to Grammar Formalisms
– Rogers
- 1995
|
|
26
|
Algorithms for guided tree automata
– Biehl, Klarlund, et al.
- 1996
|
|
20
|
GENOA---A language and front-End independent source code analyzer generator
– Devanbu
- 1992
|
|
18
|
Formal design constraints
– Klarlund, Koistinen, et al.
- 1996
|
|
17
|
Hierarchical representation of discrete functions with application to model checking
– McMillan
- 1994
|
|
9
|
On the Myhill-Nerode theorem for trees
– Kozen
- 1992
|
|
9
|
Lisa: A Specification Language Based on WS2S
– Ayari, Basin, et al.
- 1997
|
|
5
|
The logic-automaton connection in linguistics
– Morawietz, Cornell
- 1997
|
|
3
|
LISA: A speci language based on WS2S
– Ayari, Basin, et al.
- 1998
|
|
2
|
ASTLOG: a language for examining abstract trees
– Crew
- 1997
|