Class Rule
In: Reduktion.rb
Parent: Object

Methods

from_Yacc   from_Yacc2   new  

Public Class methods

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

[Validate]