2010-03-16 21 views

Antwort

12

L-attributed grammar

L-Grammatiken zurückzuführen sind eine besondere Art von Attribut-Grammatiken. Sie ermöglichen die Auswertung der Attribute in einem Links-nach-Rechts-Durchlauf des abstrakten Syntaxbaums. Als Ergebnis kann die Attributbewertung in L-attributierten Grammatiken bequem in das Top-Down-Parsing integriert werden. Viele Programmiersprachen sind L-attributiert. Spezielle Arten von Compilern, die Narrow Compiler, basieren auf irgendeiner Form von L-attributierter Grammatik. Diese sind vergleichbar mit S-attributierten Grammatiken. Wird für die Codesynthese verwendet.

S-attributed grammar

S zuzuschreibenden Grammatiken sind eine Klasse von Attributgrammatiken gekennzeichnet durch keine vererbten Attributen. Vererbte Attribute, die während der semantischen Analyse des Analyseprozesses von den Elternknoten an die untergeordneten Knoten des abstrakten Syntaxbaums weitergegeben werden müssen, sind ein Problem für das Bottom-up-Parsing, da beim Bottom-up-Parsing die Elternknoten der abstrakten Syntax verwendet werden Baum werden nach der Erstellung aller ihrer Kinder erstellt. Die Attributauswertung in S-attributierten Grammatiken kann bequem sowohl beim Top-Down-Parsing als auch beim Bottom-Up-Parsing integriert werden. Yacc basiert auf dem S-attributierten Ansatz.

Jede S-attributierte Grammatik ist auch eine L-attributierte Grammatik.

In L-attributierten Grammatiken kann die Attributauswertung in der Links-Rechts-Traversierung durchgeführt werden. Da in S-attributierten Grammatiken Attribute nicht vererbt werden, hindert Sie das nicht daran, genau das zu tun. Daher kann man sagen, dass eine S-attributierte Grammatik mit dieser Eigenschaft einer L-Grammatik übereinstimmt.

1

Einfach S zuzuschreibende Grammatik ist die Grammatik, die streng Art von Grammatik Synthetisierter hat bedeutet, dass nur Wert Attribut während des Parse-Baum

wo als L-Zugeschrieben Grammatik, die sowohl als auch Inherited Grammatik synthetisiert mit einigen die Regeln wie bei einer Übertragung der Vererbung von immer links nach rechts. Ich denke, es wird dir helfen.