Files
Computeability/3/Chi.cf
2025-11-17 14:27:04 +01:00

28 lines
841 B
CFEngine3

token Constructor (["ABCDEFGHIJKLMNOPQRSTUVWXYZ"]
(["abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-'"]
| digit
)*);
token Variable (["abcdefghijklmnopqrstuvwxyz_"]
(["abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-'"]
| digit
)*);
Apply . Exp1 ::= Exp1 Exp2;
Lambda . Exp ::= "\\" Variable "." Exp;
Case . Exp1 ::= "case" Exp "of" "{" [Br] "}";
Rec . Exp ::= "rec" Variable "=" Exp;
Var . Exp2 ::= Variable;
Const . Exp2 ::= Constructor "(" [Exp] ")";
_ . Exp ::= Exp1;
_ . Exp1 ::= Exp2;
_ . Exp2 ::= "(" Exp ")";
Branch . Br ::= Constructor "(" [Variable] ")" "->" Exp;
separator Br ";";
separator Exp ",";
separator Variable ",";
comment "--";
comment "{-" "-}";