temporary constructor syntax
This commit is contained in:
@@ -76,6 +76,7 @@ rlp :-
|
|||||||
"module" { constTok TokenModule }
|
"module" { constTok TokenModule }
|
||||||
"in" { constTok TokenIn }
|
"in" { constTok TokenIn }
|
||||||
"where" { constTok TokenWhere }
|
"where" { constTok TokenWhere }
|
||||||
|
"Pack" { constTok TokenPack } -- temp
|
||||||
|
|
||||||
"\\" { constTok TokenLambda }
|
"\\" { constTok TokenLambda }
|
||||||
"λ" { constTok TokenLambda }
|
"λ" { constTok TokenLambda }
|
||||||
@@ -106,6 +107,7 @@ data CoreToken = TokenLet
|
|||||||
| TokenModule
|
| TokenModule
|
||||||
| TokenWhere
|
| TokenWhere
|
||||||
| TokenComma
|
| TokenComma
|
||||||
|
| TokenPack -- temp
|
||||||
| TokenCase
|
| TokenCase
|
||||||
| TokenOf
|
| TokenOf
|
||||||
| TokenLambda
|
| TokenLambda
|
||||||
|
|||||||
@@ -36,6 +36,8 @@ import Data.Default.Class (def)
|
|||||||
where { Located _ _ _ TokenWhere }
|
where { Located _ _ _ TokenWhere }
|
||||||
case { Located _ _ _ TokenCase }
|
case { Located _ _ _ TokenCase }
|
||||||
of { Located _ _ _ TokenOf }
|
of { Located _ _ _ TokenOf }
|
||||||
|
',' { Located _ _ _ TokenComma }
|
||||||
|
pack { Located _ _ _ TokenPack } -- temp
|
||||||
in { Located _ _ _ TokenIn }
|
in { Located _ _ _ TokenIn }
|
||||||
litint { Located _ _ _ (TokenLitInt $$) }
|
litint { Located _ _ _ (TokenLitInt $$) }
|
||||||
varname { Located _ _ _ (TokenVarName $$) }
|
varname { Located _ _ _ (TokenVarName $$) }
|
||||||
@@ -119,8 +121,12 @@ Alter : litint ParList '->' Expr { Alter $1 $2 $4 }
|
|||||||
Expr1 :: { Expr }
|
Expr1 :: { Expr }
|
||||||
Expr1 : litint { IntE $1 }
|
Expr1 : litint { IntE $1 }
|
||||||
| Id { Var $1 }
|
| Id { Var $1 }
|
||||||
|
| PackCon { $1 }
|
||||||
| '(' Expr ')' { $2 }
|
| '(' Expr ')' { $2 }
|
||||||
|
|
||||||
|
PackCon :: { Expr }
|
||||||
|
PackCon : pack '{' litint ',' litint '}' { Con $3 $5 }
|
||||||
|
|
||||||
Bindings :: { [Binding] }
|
Bindings :: { [Binding] }
|
||||||
Bindings : Binding ';' Bindings { $1 : $3 }
|
Bindings : Binding ';' Bindings { $1 : $3 }
|
||||||
| Binding ';' { [$1] }
|
| Binding ';' { [$1] }
|
||||||
|
|||||||
Reference in New Issue
Block a user