A device called recursive graph defining context-free languages is described. Previously such a device was used byConway [1] for a compiler design.Conway called it “transition diagram”. Roughly, a recursive graph is a finite set of finite state graphs, which are used in a recursive manner. A recursive graph covers the essential features of both standard devices: It describes the syntactical structure as grammars do, and it represents a method for recognition and parsing as push-down automata do. A notion ofk-determinacy is introduced for recursive graphs and for a restricted kind of them, called simple recursive graphs. Thek-deterministic simple recursive graphs are more general thanLL (k) grammars [5] with respect to parsing-power, but equal with respect to language generation power. The more generalk-deterministic recursive graphs cannot parse the full set ofLR (k)-grammars [4], but they can recognize the full set ofLR (k)-languages. The set of languages recognized by (simple) recursive graphs is the set of context-free languages.ZusammenfassungEine Methode zur Beschreibung kontext-freier Sprachen wird beschrieben. Die gleiche Methode wurde schon vonConway [1] unter der Bezeichnung „transition-diagram” eingeführt. Ein rekursiver Graph ist eine endliche Menge von endlichen Zustandsgraphen, die auf rekursive Weise interpretiert werden. Ein rekursiver Graph leistet allein all das, was sonst die zwei Standardmethoden leisten: Gleich einer Grammatik beschreibt er die syntaktische Struktur einer Sprache und darüber hinaus repräsentiert er eine Methode zur Analyse der Sprache, gleich den Kellerautomaten. Der Begriff derk-Determiniertheit wird sowohl für rekursive Graphen eingeführt, als auch für eine eingeschränkte Art, genannt einfache rekursive Graphen. Diek-deterministischen einfachen rekursiven Graphen vermögen zwar nur die gleiche Sprachklasse zu beschreiben, wie dieLL (k)-Grammatiken [5], jedoch auf eine vielfältigere Art. Die allgemeinerenk-deterministischen rekursiven Graphen vermögen die gleiche Sprachklasse zu beschreiben, wie dieLR (k)-Grammatiken [4], obwohl sie bei der Sprachanalyse eingeschränkter operieren. Die von (einfachen) rekursiven Graphen beschriebenen Sprachen sind die kontext-freien.
[1]
Richard Edwin Stearns,et al.
Syntax-Directed Transduction
,
1966,
JACM.
[2]
Marcel Paul Schützenberger,et al.
On Context-Free Languages and Push-Down Automata
,
1963,
Inf. Control..
[3]
Donald E. Knuth,et al.
Top-down syntax analysis
,
1971,
Acta Informatica.
[4]
Seymour Ginsburg,et al.
The mathematical theory of context free languages
,
1966
.
[5]
Jean Berstel,et al.
Context-Free Languages and Pushdown Automata
,
1997,
Handbook of Formal Languages.
[6]
John E. Hopcroft,et al.
Simple Deterministic Languages
,
1966,
SWAT.
[7]
Donald E. Knuth,et al.
On the Translation of Languages from Left to Right
,
1965,
Inf. Control..
[8]
Robert McNaughton,et al.
Regular Expressions and State Graphs for Automata
,
1960,
IRE Trans. Electron. Comput..
[9]
Melvin E. Conway,et al.
Design of a separable transition-diagram compiler
,
1963,
CACM.