Generation, recognition and parsing of context-free languages by means of recursive graphs

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.