by Teodor Rus, James S. Jones
Theoretical Computer Science
ftp://ftp.math.uiowa.edu/pub/rus/parser.ps
Add To MetaCart
Abstract:
The multi-axiom grammars (MAG) are alternatives to the single-axiom context free grammars (CFG) and all-axiom algebraic grammars (AG) for programming language specification. Neither phrase recognition nor algebraic mechanisms for language processing are supported by CFGs. AGs support algebraic mechanisms for language processing but specify a smaller class of languages. MAGs avoid these limitations. This paper describes a new parsing algorithm developed on this basis which recognizes any phrase in the language. Moreover, it does so by distributing the parsing task among a collection of smaller parsers which handle well-defined layers of the language in a piping manner. These language-layers are determined by the algebraic properties of the MAGs and are described in the paper. Basic definitions are given for multi-axiom grammar and language as well as for algebraic notions of subgrammar, primitive subgrammar, quotient grammar, and grammar/language layer. Algorithms are described to stratify a programming language into a hierarchy of layers, to construct parsers for each layer analogous to LR construction, and to accomplish the overall task of multi-layered parsing in pipeline fashion based on a tokenization which occurs between the language layers. This pipeline parallel process is a model for high speed, left-to-right language translation. Keywords:
Citations
|
2771
|
Introduction to Automata Theory, Languages and Computation
– Hopcroft, Ullman
- 1979
|
|
508
|
An Efficient Context-Free Parsing Algorithm
– Earley
- 1970
|
|
155
|
The Theory of Parsing
– Aho, Ullman
- 1972
|
|
116
|
On the translation of languages from left to right
– Knuth
- 1965
|
|
113
|
Principles of Compiler Design
– Aho, Ullman
- 1977
|
|
32
|
Simple LR(k) Grammars
– DeRemer
- 1971
|
|
31
|
Syntax-directed transduction
– Lewis, Stearns
- 1968
|
|
25
|
Scannerless NSLR(1) parsing of programming languages
– Salomon, Cormack
- 1989
|
|
17
|
Practical Translators for LR(k) Languages
– DeRemer
- 1969
|
|
15
|
Syntactic analysis and operator precedence
– FLOYD
- 1963
|
|
15
|
Noncanonical SLR(1) grammars
– Tai
- 1979
|
|
12
|
Recognizing substrings of LR(k) languages in linear time
– Bates, Lavie
- 1994
|
|
12
|
Algebraic tools for language processing
– Rus, Halverson
- 1994
|
|
10
|
Bounded context syntactic analysis
– Floyd
- 1964
|
|
7
|
Context-free algebra
– Hatcher, Rus
- 1976
|
|
5
|
Parsing languages by pattern matching
– Rus
- 1988
|
|
3
|
S--algebra of a formal language
– Rus
- 1972
|
|
3
|
Context--free algebra: a mathematical device for compiler specification
– Rus
- 1976
|
|
2
|
Compiler Construction
– McKeeman
- 1976
|
|
2
|
The cyk--approach to serial and parallel parsing
– Nijholt
- 1991
|
|
2
|
Multi-layered pipeline parsing from multiaxiom grammars
– Rus, Jones
- 1995
|
|
2
|
Language specification by multi--axiom grammars
– Rus, LePeau
- 1988
|
|
1
|
D'erivations et r'eductions dans les gramaires alg'ebriques
– Boasson
- 1980
|
|
1
|
The algebraic approach to compilation
– Knaack
|
|
1
|
Computers and Languages, volume 4
– Nijholt
- 1988
|
|
1
|
Foundations of Linguistics
– Southworth, Daswani
- 1976
|