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 | ||
− | + | == BNF == | |
− | |||
− | |||
− | |||
− | |||
− | |||
− |
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