Sitzung: Jeden Freitag in der Vorlesungszeit ab 16 Uhr c. t. im MAR 0.005. In der vorlesungsfreien Zeit unregelmäßig (Jemensch da?). Macht mit!

Benutzer:Grey/pss: Unterschied zwischen den Versionen

 
(EBNF)
Zeile 3: Zeile 3:
  
 
== EBNF ==
 
== EBNF ==
 +
Gegeben ist folgende EBNF Syntax von microOPAL:
  
Prog -> Def Def * #
+
Prog -> Def Def * #
 +
Def  -> DEF Lhs == Expr
 +
Lhs  -> MAIN : Type | id ( [id : Type (, id : Type)*]) : Type
 +
Type -> nat | bool
 +
Expr -> number | true | false | id [ ( [Expr (, Expr)*] ) ] | IF Expr THEN Expr [ELSE Expr] FI
  
Def  -> DEF Lhs == Expr
+
== BNF ==
 
 
Lhs  -> MAIN : Type | id ( [id : Type (, id : Type)*]) : Type
 
 
 
Type -> nat | bool
 
 
 
Expr -> number | true | false | id [ ( [Expr (, Expr)*] ) ] | IF Expr THEN Expr [ELSE Expr] FI
 

Version vom 21. November 2005, 22:47 Uhr

Milstone 1

  • EBNF in BNF Grammatik umwandeln:

EBNF

Gegeben ist folgende EBNF Syntax von microOPAL:

Prog -> Def Def * #
Def  -> DEF Lhs == Expr
Lhs  -> MAIN : Type | id ( [id : Type (, id : Type)*]) : Type
Type -> nat | bool
Expr -> number | true | false | id [ ( [Expr (, Expr)*] ) ] | IF Expr THEN Expr [ELSE Expr] FI

BNF