Merge branch 'prep-tc-martin' of github.com:bachelor-group-66-systemf/language into prep-tc-martin
This commit is contained in:
commit
a4c12ede79
8 changed files with 590 additions and 640 deletions
20
Grammar.cf
20
Grammar.cf
|
|
@ -1,24 +1,20 @@
|
|||
Program. Program ::= [Bind];
|
||||
|
||||
|
||||
EId. Exp3 ::= Ident;
|
||||
EInt. Exp3 ::= Integer;
|
||||
ELet. Exp3 ::= "let" [Bind] "in" Exp;
|
||||
EApp. Exp2 ::= Exp2 Exp3;
|
||||
EAdd. Exp1 ::= Exp1 "+" Exp2;
|
||||
EAbs. Exp ::= "\\" Ident ":" Type "." Exp;
|
||||
EAnn. Exp3 ::= "(" Exp ":" Type ")";
|
||||
|
||||
EId. Exp3 ::= Ident;
|
||||
EInt. Exp3 ::= Integer;
|
||||
EAnn. Exp3 ::= "(" Exp ":" Type ")";
|
||||
ELet. Exp3 ::= "let" Bind "in" Exp;
|
||||
EApp. Exp2 ::= Exp2 Exp3;
|
||||
EAdd. Exp1 ::= Exp1 "+" Exp2;
|
||||
EAbs. Exp ::= "\\" Ident ":" Type "." Exp;
|
||||
ECase. Exp ::= "case" Exp "of" "{" [CaseMatch] "}";
|
||||
--
|
||||
CaseMatch. CaseMatch ::= Case "=>" Exp ;
|
||||
separator CaseMatch ",";
|
||||
--terminator CaseMatch ".";
|
||||
|
||||
CInt. Case ::= Integer ;
|
||||
|
||||
Bind. Bind ::= Ident ":" Type ";"
|
||||
Ident [Ident] "=" Exp ;
|
||||
Ident [Ident] "=" Exp;
|
||||
|
||||
separator Bind ";";
|
||||
separator Ident "";
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue