Class | Rule |
In: |
Reduktion.rb
|
Parent: | Object |
Die Klassenmethode Rule.from_Yacc erzeugt aus den übergebenen Kurzangaben eine Ausdrucksgrammatik Genaue Beschreibung siehe "Grammatiken".
Beispiel: Kurzangaben zu den arithmetischen Ausdruecken:
name Arith left addOp left multOp right expOp pre addOp atom zahl, name
Grammatik zu der konkreten Syntax:
Arith -> Arith1 Arith1 -> Arith1 addOp Arith2
| Arith2
Arith2 -> Arith2 multOp Arith3
| Arith3
Arith3 -> Arith4 expOp Arith3
| Arith4
Arith4 -> addOp Arith4
| Arith5
Arith5 -> (Arith1)
| zahl | name
Die Klassenmethode Rule.from_Yacc2 erzeugt aus den übergebenen Kurzangaben eine Ausdrucksgrammatik OHNE Präzedenzen und Klammern
Beispiel: Kurzangaben zu den arithmetischen Ausdruecken:
name Arith left addOp left multOp right expOp pre addOp atom zahl, name
Grammatik zu der abstrakten Syntax:
Arith -> Arith addOp Arith
| Arith multOp Arith | Arith expOp Arith | addOp Arith | zahl | name