Skip to content

Instantly share code, notes, and snippets.

@SquidDev
Created July 20, 2018 07:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save SquidDev/b671f81836fd9a53b40ce25052ae3a60 to your computer and use it in GitHub Desktop.
Save SquidDev/b671f81836fd9a53b40ce25052ae3a60 to your computer and use it in GitHub Desktop.
-----------------------------------------------------------------------------
Info file generated by Happy Version 1.19.9 from src/Parser.y
-----------------------------------------------------------------------------
state 53 contains 7 shift/reduce conflicts.
terminal '[' is unused
terminal ']' is unused
-----------------------------------------------------------------------------
Grammar
-----------------------------------------------------------------------------
%start_parseTops -> Tops (0)
%start_parseRepl -> Repl (1)
Tops -> List1__Top__TopSep__ (2)
TopSep -> ';;' (3)
TopSep -> '$sep' (4)
Top -> let BindGroup (5)
Top -> external val ident ':' Type '=' string (6)
Top -> type ident ListE__TyConArg__ (7)
Top -> type ident ListE__TyConArg__ '=' List1__Ctor__'|'__ (8)
Top -> type ident ListE__TyConArg__ '=' '|' List1__Ctor__'|'__ (9)
Top -> module qconid '=' begin Tops end (10)
Top -> module conid '=' begin Tops end (11)
Top -> module conid '=' '$begin' Tops '$end' (12)
Top -> module conid '=' Con (13)
Top -> open Con (14)
TyConArg -> TyVar (15)
TyConArg -> '(' TyVar ':' Type ')' (16)
TyConArg -> '{' TyVar ':' Type '}' (17)
Ctor -> conid (18)
Ctor -> conid of Type (19)
Ctor -> conid ':' Type (20)
Repl -> Top ReplSep (21)
Repl -> Expr ReplSep (22)
ReplSep -> ';;' (23)
ReplSep -> '$sep' (24)
ReplSep -> (25)
Expr -> ExprApp (26)
Expr -> Expr Operator ExprApp (27)
ExprApp -> Expr0 (28)
ExprApp -> ExprApp Atom (29)
ExprApp -> ExprApp ':' Type (30)
Expr0 -> fun ListE1__Parameter__ '->' ExprBlock '$end' (31)
Expr0 -> let BindGroup ExprIn ExprBlock '$end' (32)
Expr0 -> let open Con ExprIn ExprBlock '$end' (33)
Expr0 -> if Expr then ExprBlock else ExprBlock '$end' (34)
Expr0 -> match List1__Expr__','__ with ListE1__Arm__ '$end' (35)
Expr0 -> match List1__Expr__','__ with '(' ')' (36)
Expr0 -> function ListE1__Arm__ '$end' (37)
Expr0 -> qdotid Atom (38)
Expr0 -> lazy Atom (39)
Expr0 -> Atom (40)
Atom -> Var (41)
Atom -> Con (42)
Atom -> Lit (43)
Atom -> hole (44)
Atom -> '_' (45)
Atom -> begin List1__Expr__ExprSep__ end (46)
Atom -> '(' ')' (47)
Atom -> '(' Section ')' (48)
Atom -> '(' NullSection ',' List1__NullSection__','__ ')' (49)
Atom -> '{' Rows__'='__Expr__ '}' (50)
Atom -> '{' Expr with Rows__'='__Expr__ '}' (51)
Atom -> '?' (52)
Atom -> '@{' Type '}' (53)
Atom -> Atom access (54)
ExprBlock -> List1__Expr__ExprSep__ (55)
ExprSep -> ';' (56)
ExprSep -> '$sep' (57)
ExprIn -> in (58)
ExprIn -> '$in' (59)
Operator -> '*' (60)
Operator -> '~' (61)
Operator -> op (62)
Operator -> opid (63)
Operator -> qopid (64)
Section -> Expr (65)
Section -> access (66)
Section -> Operator (67)
Section -> Expr Operator (68)
Section -> Operator Expr (69)
NullSection -> (70)
NullSection -> Section (71)
Var -> ident (72)
Var -> qident (73)
Con -> conid (74)
Con -> qconid (75)
TyVar -> tyvar (76)
BindGroup -> Binding (77)
BindGroup -> BindGroup and Binding (78)
Binding -> PreBinding (79)
Binding -> implicit PreBinding (80)
PreBinding -> BindName ListE__Parameter__ '=' ExprBlock '$end' (81)
PreBinding -> BindName ListE__Parameter__ ':' Type '=' ExprBlock '$end' (82)
PreBinding -> ArgP BindOp ArgP '=' ExprBlock '$end' (83)
BindName -> ident (84)
BindName -> '(' op ')' (85)
BindOp -> '*' (86)
BindOp -> '~' (87)
BindOp -> op (88)
BindOp -> opid (89)
Lit -> int (90)
Lit -> float (91)
Lit -> string (92)
Lit -> true (93)
Lit -> false (94)
MPattern -> ArgP (95)
MPattern -> Con ArgP (96)
MPattern -> MPattern ':' TypeProd (97)
Pattern -> ArgP (98)
Pattern -> Con ArgP (99)
Pattern -> Pattern ':' Type (100)
ArgP -> ident (101)
ArgP -> '_' (102)
ArgP -> Con (103)
ArgP -> '{' Rows__'='__Pattern__ '}' (104)
ArgP -> '(' List__Pattern__','__ ')' (105)
ArgP -> Lit (106)
Arm -> '|' List1__MPattern__','__ '->' ExprBlock (107)
Parameter -> ArgP (108)
Parameter -> iident (109)
Parameter -> '?(' Pattern ')' (110)
Type -> TypeProd (111)
Type -> TypeProd '->' Type (112)
Type -> TypeProd '=>' Type (113)
Type -> forall ListE1__tyvar__ '.' Type (114)
Type -> forall ListE1__BoundTv__ '->' Type (115)
BoundTv -> '(' tyvar ':' Type ')' (116)
TypeProd -> TypeApp (117)
TypeProd -> TypeApp '*' TypeProd (118)
TypeApp -> TypeAtom (119)
TypeApp -> TypeApp TypeAtom (120)
TypeAtom -> Var (121)
TypeAtom -> TyVar (122)
TypeAtom -> Con (123)
TypeAtom -> type (124)
TypeAtom -> lazy (125)
TypeAtom -> '(' ')' (126)
TypeAtom -> '(' Type ')' (127)
TypeAtom -> '{' Rows__':'__Type__ '}' (128)
TypeAtom -> '{' Type '|' Rows__':'__Type__ '}' (129)
List__Pattern__','__ -> (130)
List__Pattern__','__ -> List1__Pattern__','__ (131)
List1__Ctor__'|'__ -> Ctor (132)
List1__Ctor__'|'__ -> Ctor '|' List1__Ctor__'|'__ (133)
List1__Expr__','__ -> Expr (134)
List1__Expr__','__ -> Expr ',' List1__Expr__','__ (135)
List1__Expr__ExprSep__ -> Expr (136)
List1__Expr__ExprSep__ -> Expr ExprSep List1__Expr__ExprSep__ (137)
List1__MPattern__','__ -> MPattern (138)
List1__MPattern__','__ -> MPattern ',' List1__MPattern__','__ (139)
List1__NullSection__','__ -> NullSection (140)
List1__NullSection__','__ -> NullSection ',' List1__NullSection__','__ (141)
List1__Top__TopSep__ -> Top (142)
List1__Top__TopSep__ -> Top TopSep List1__Top__TopSep__ (143)
ListE__Parameter__ -> (144)
ListE__Parameter__ -> ListE1__Parameter__ (145)
ListE__TyConArg__ -> (146)
ListE__TyConArg__ -> ListE1__TyConArg__ (147)
ListE1__Arm__ -> Arm (148)
ListE1__Arm__ -> Arm ListE1__Arm__ (149)
ListE1__BoundTv__ -> BoundTv (150)
ListE1__BoundTv__ -> BoundTv ListE1__BoundTv__ (151)
ListE1__Parameter__ -> Parameter (152)
ListE1__Parameter__ -> Parameter ListE1__Parameter__ (153)
ListE1__tyvar__ -> tyvar (154)
ListE1__tyvar__ -> tyvar ListE1__tyvar__ (155)
Rows__':'__Type__ -> (156)
Rows__':'__Type__ -> ident ':' Type ',' Rows__':'__Type__ (157)
Rows__':'__Type__ -> ident ':' Type (158)
Rows__'='__Expr__ -> (159)
Rows__'='__Expr__ -> ident '=' Expr ',' Rows__'='__Expr__ (160)
Rows__'='__Expr__ -> ident '=' Expr (161)
Rows__'='__Pattern__ -> (162)
Rows__'='__Pattern__ -> ident '=' Pattern ',' Rows__'='__Pattern__ (163)
Rows__'='__Pattern__ -> ident '=' Pattern (164)
List1__Pattern__','__ -> Pattern (165)
List1__Pattern__','__ -> Pattern ',' List1__Pattern__','__ (166)
ListE1__TyConArg__ -> TyConArg (167)
ListE1__TyConArg__ -> TyConArg ListE1__TyConArg__ (168)
-----------------------------------------------------------------------------
Terminals
-----------------------------------------------------------------------------
'->' { Token TcArrow _ _ }
'=' { Token TcEqual _ _ }
forall { Token TcForall _ _ }
'=>' { Token TcImplies _ _ }
'|' { Token TcPipe _ _ }
'*' { Token TcStar _ _ }
'~' { Token TcTilde _ _ }
'_' { Token TcUnderscore _ _ }
let { Token TcLet _ _ }
fun { Token TcFun _ _ }
and { Token TcAnd _ _ }
if { Token TcIf _ _ }
then { Token TcThen _ _ }
else { Token TcElse _ _ }
begin { Token TcBegin _ _ }
end { Token TcEnd _ _ }
in { Token TcIn _ _ }
external { Token TcExternal _ _ }
implicit { Token TcImplicit _ _ }
val { Token TcVal _ _ }
true { Token TcTrue _ _ }
false { Token TcFalse _ _ }
match { Token TcMatch _ _ }
with { Token TcWith _ _ }
function { Token TcFunction _ _ }
type { Token TcType _ _ }
of { Token TcOf _ _ }
module { Token TcModule _ _ }
open { Token TcOpen _ _ }
lazy { Token TcLazy _ _ }
',' { Token TcComma _ _ }
'.' { Token TcDot _ _ }
':' { Token TcColon _ _ }
';;' { Token TcTopSep _ _ }
';' { Token TcSemicolon _ _ }
'(' { Token TcOParen _ _ }
'?(' { Token TcQParen _ _ }
')' { Token TcCParen _ _ }
'@{' { Token TcAtBrace _ _ }
'?' { Token TcQuestion _ _ }
'{' { Token TcOBrace _ _ }
'}' { Token TcCBrace _ _ }
'[' { Token TcOSquare _ _ }
']' { Token TcCSquare _ _ }
op { Token (TcOp _) _ _ }
ident { Token (TcIdentifier _) _ _ }
iident { Token (TcQIdentifier _) _ _ }
opid { Token (TcOpIdent _) _ _ }
conid { Token (TcConIdent _) _ _ }
qident { Token (TcIdentifierQual _ _) _ _ }
qopid { Token (TcOpIdentQual _ _) _ _ }
qconid { Token (TcConIdentQual _ _) _ _ }
qdotid { Token (TcDotQual _) _ _ }
access { Token (TcAccess _) _ _ }
tyvar { Token (TcTyvar _) _ _ }
hole { Token (TcHole _) _ _ }
int { Token (TcInteger _) _ _ }
float { Token (TcFloat _) _ _ }
string { Token (TcString _) _ _ }
'$begin' { Token TcVBegin _ _ }
'$end' { Token TcVEnd _ _ }
'$in' { Token TcVIn _ _ }
'$sep' { Token TcVSep _ _ }
-----------------------------------------------------------------------------
Non-terminals
-----------------------------------------------------------------------------
%start_parseTops rule 0
%start_parseRepl rule 1
Tops rule 2
TopSep rules 3, 4
Top rules 5, 6, 7, 8, 9, 10, 11, 12, 13, 14
TyConArg rules 15, 16, 17
Ctor rules 18, 19, 20
Repl rules 21, 22
ReplSep rules 23, 24, 25
Expr rules 26, 27
ExprApp rules 28, 29, 30
Expr0 rules 31, 32, 33, 34, 35, 36, 37, 38, 39, 40
Atom rules 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54
ExprBlock rule 55
ExprSep rules 56, 57
ExprIn rules 58, 59
Operator rules 60, 61, 62, 63, 64
Section rules 65, 66, 67, 68, 69
NullSection rules 70, 71
Var rules 72, 73
Con rules 74, 75
TyVar rule 76
BindGroup rules 77, 78
Binding rules 79, 80
PreBinding rules 81, 82, 83
BindName rules 84, 85
BindOp rules 86, 87, 88, 89
Lit rules 90, 91, 92, 93, 94
MPattern rules 95, 96, 97
Pattern rules 98, 99, 100
ArgP rules 101, 102, 103, 104, 105, 106
Arm rule 107
Parameter rules 108, 109, 110
Type rules 111, 112, 113, 114, 115
BoundTv rule 116
TypeProd rules 117, 118
TypeApp rules 119, 120
TypeAtom rules 121, 122, 123, 124, 125, 126, 127, 128, 129
List__Pattern__','__ rules 130, 131
List1__Ctor__'|'__ rules 132, 133
List1__Expr__','__ rules 134, 135
List1__Expr__ExprSep__ rules 136, 137
List1__MPattern__','__ rules 138, 139
List1__NullSection__','__ rules 140, 141
List1__Top__TopSep__ rules 142, 143
ListE__Parameter__ rules 144, 145
ListE__TyConArg__ rules 146, 147
ListE1__Arm__ rules 148, 149
ListE1__BoundTv__ rules 150, 151
ListE1__Parameter__ rules 152, 153
ListE1__tyvar__ rules 154, 155
Rows__':'__Type__ rules 156, 157, 158
Rows__'='__Expr__ rules 159, 160, 161
Rows__'='__Pattern__ rules 162, 163, 164
List1__Pattern__','__ rules 165, 166
ListE1__TyConArg__ rules 167, 168
-----------------------------------------------------------------------------
States
-----------------------------------------------------------------------------
State 0
let shift, and enter state 5
external shift, and enter state 6
type shift, and enter state 7
module shift, and enter state 8
open shift, and enter state 9
Tops goto state 42
Top goto state 3
List1__Top__TopSep__goto state 4
State 1
'_' shift, and enter state 19
let shift, and enter state 20
fun shift, and enter state 21
if shift, and enter state 22
begin shift, and enter state 23
external shift, and enter state 6
true shift, and enter state 24
false shift, and enter state 25
match shift, and enter state 26
function shift, and enter state 27
type shift, and enter state 7
module shift, and enter state 8
open shift, and enter state 9
lazy shift, and enter state 28
'(' shift, and enter state 29
'@{' shift, and enter state 30
'?' shift, and enter state 31
'{' shift, and enter state 32
ident shift, and enter state 33
conid shift, and enter state 34
qident shift, and enter state 35
qconid shift, and enter state 36
qdotid shift, and enter state 37
hole shift, and enter state 38
int shift, and enter state 39
float shift, and enter state 40
string shift, and enter state 41
Top goto state 10
Repl goto state 11
Expr goto state 12
ExprApp goto state 13
Expr0 goto state 14
Atom goto state 15
Var goto state 16
Con goto state 17
Lit goto state 18
State 2
let shift, and enter state 5
external shift, and enter state 6
type shift, and enter state 7
module shift, and enter state 8
open shift, and enter state 9
Top goto state 3
List1__Top__TopSep__goto state 4
State 3
List1__Top__TopSep__ -> Top . (rule 142)
List1__Top__TopSep__ -> Top . TopSep List1__Top__TopSep__ (rule 143)
end reduce using rule 142
';;' shift, and enter state 116
'$end' reduce using rule 142
'$sep' shift, and enter state 117
%eof reduce using rule 142
TopSep goto state 115
State 4
Tops -> List1__Top__TopSep__ . (rule 2)
end reduce using rule 2
'$end' reduce using rule 2
%eof reduce using rule 2
State 5
Top -> let . BindGroup (rule 5)
'_' shift, and enter state 86
implicit shift, and enter state 97
true shift, and enter state 24
false shift, and enter state 25
'(' shift, and enter state 99
'{' shift, and enter state 89
ident shift, and enter state 100
conid shift, and enter state 34
qconid shift, and enter state 36
int shift, and enter state 39
float shift, and enter state 40
string shift, and enter state 41
Con goto state 81
BindGroup goto state 114
Binding goto state 93
PreBinding goto state 94
BindName goto state 95
Lit goto state 82
ArgP goto state 96
State 6
Top -> external . val ident ':' Type '=' string (rule 6)
val shift, and enter state 113
State 7
Top -> type . ident ListE__TyConArg__ (rule 7)
Top -> type . ident ListE__TyConArg__ '=' List1__Ctor__'|'__ (rule 8)
Top -> type . ident ListE__TyConArg__ '=' '|' List1__Ctor__'|'__ (rule 9)
ident shift, and enter state 112
State 8
Top -> module . qconid '=' begin Tops end (rule 10)
Top -> module . conid '=' begin Tops end (rule 11)
Top -> module . conid '=' '$begin' Tops '$end' (rule 12)
Top -> module . conid '=' Con (rule 13)
conid shift, and enter state 110
qconid shift, and enter state 111
State 9
Top -> open . Con (rule 14)
conid shift, and enter state 34
qconid shift, and enter state 36
Con goto state 109
State 10
Repl -> Top . ReplSep (rule 21)
';;' shift, and enter state 106
'$sep' shift, and enter state 107
%eof reduce using rule 25
ReplSep goto state 108
State 11
%start_parseRepl -> Repl . (rule 1)
%eof accept
State 12
Repl -> Expr . ReplSep (rule 22)
Expr -> Expr . Operator ExprApp (rule 27)
'*' shift, and enter state 65
'~' shift, and enter state 66
';;' shift, and enter state 106
op shift, and enter state 68
opid shift, and enter state 69
qopid shift, and enter state 70
'$sep' shift, and enter state 107
%eof reduce using rule 25
ReplSep goto state 104
Operator goto state 105
State 13
Expr -> ExprApp . (rule 26)
ExprApp -> ExprApp . Atom (rule 29)
ExprApp -> ExprApp . ':' Type (rule 30)
'|' reduce using rule 26
'*' reduce using rule 26
'~' reduce using rule 26
'_' shift, and enter state 19
then reduce using rule 26
else reduce using rule 26
begin shift, and enter state 23
end reduce using rule 26
true shift, and enter state 24
false shift, and enter state 25
with reduce using rule 26
',' reduce using rule 26
':' shift, and enter state 103
';;' reduce using rule 26
';' reduce using rule 26
'(' shift, and enter state 29
')' reduce using rule 26
'@{' shift, and enter state 30
'?' shift, and enter state 31
'{' shift, and enter state 32
'}' reduce using rule 26
op reduce using rule 26
ident shift, and enter state 33
opid reduce using rule 26
conid shift, and enter state 34
qident shift, and enter state 35
qopid reduce using rule 26
qconid shift, and enter state 36
hole shift, and enter state 38
int shift, and enter state 39
float shift, and enter state 40
string shift, and enter state 41
'$end' reduce using rule 26
'$sep' reduce using rule 26
%eof reduce using rule 26
Atom goto state 102
Var goto state 16
Con goto state 17
Lit goto state 18
State 14
ExprApp -> Expr0 . (rule 28)
'|' reduce using rule 28
'*' reduce using rule 28
'~' reduce using rule 28
'_' reduce using rule 28
then reduce using rule 28
else reduce using rule 28
begin reduce using rule 28
end reduce using rule 28
true reduce using rule 28
false reduce using rule 28
with reduce using rule 28
',' reduce using rule 28
':' reduce using rule 28
';;' reduce using rule 28
';' reduce using rule 28
'(' reduce using rule 28
')' reduce using rule 28
'@{' reduce using rule 28
'?' reduce using rule 28
'{' reduce using rule 28
'}' reduce using rule 28
op reduce using rule 28
ident reduce using rule 28
opid reduce using rule 28
conid reduce using rule 28
qident reduce using rule 28
qopid reduce using rule 28
qconid reduce using rule 28
hole reduce using rule 28
int reduce using rule 28
float reduce using rule 28
string reduce using rule 28
'$end' reduce using rule 28
'$sep' reduce using rule 28
%eof reduce using rule 28
State 15
Expr0 -> Atom . (rule 40)
Atom -> Atom . access (rule 54)
'|' reduce using rule 40
'*' reduce using rule 40
'~' reduce using rule 40
'_' reduce using rule 40
then reduce using rule 40
else reduce using rule 40
begin reduce using rule 40
end reduce using rule 40
true reduce using rule 40
false reduce using rule 40
with reduce using rule 40
',' reduce using rule 40
':' reduce using rule 40
';;' reduce using rule 40
';' reduce using rule 40
'(' reduce using rule 40
')' reduce using rule 40
'@{' reduce using rule 40
'?' reduce using rule 40
'{' reduce using rule 40
'}' reduce using rule 40
op reduce using rule 40
ident reduce using rule 40
opid reduce using rule 40
conid reduce using rule 40
qident reduce using rule 40
qopid reduce using rule 40
qconid reduce using rule 40
access shift, and enter state 101
hole reduce using rule 40
int reduce using rule 40
float reduce using rule 40
string reduce using rule 40
'$end' reduce using rule 40
'$sep' reduce using rule 40
%eof reduce using rule 40
State 16
Atom -> Var . (rule 41)
'|' reduce using rule 41
'*' reduce using rule 41
'~' reduce using rule 41
'_' reduce using rule 41
then reduce using rule 41
else reduce using rule 41
begin reduce using rule 41
end reduce using rule 41
true reduce using rule 41
false reduce using rule 41
with reduce using rule 41
',' reduce using rule 41
':' reduce using rule 41
';;' reduce using rule 41
';' reduce using rule 41
'(' reduce using rule 41
')' reduce using rule 41
'@{' reduce using rule 41
'?' reduce using rule 41
'{' reduce using rule 41
'}' reduce using rule 41
op reduce using rule 41
ident reduce using rule 41
opid reduce using rule 41
conid reduce using rule 41
qident reduce using rule 41
qopid reduce using rule 41
qconid reduce using rule 41
access reduce using rule 41
hole reduce using rule 41
int reduce using rule 41
float reduce using rule 41
string reduce using rule 41
'$end' reduce using rule 41
'$sep' reduce using rule 41
%eof reduce using rule 41
State 17
Atom -> Con . (rule 42)
'|' reduce using rule 42
'*' reduce using rule 42
'~' reduce using rule 42
'_' reduce using rule 42
then reduce using rule 42
else reduce using rule 42
begin reduce using rule 42
end reduce using rule 42
true reduce using rule 42
false reduce using rule 42
with reduce using rule 42
',' reduce using rule 42
':' reduce using rule 42
';;' reduce using rule 42
';' reduce using rule 42
'(' reduce using rule 42
')' reduce using rule 42
'@{' reduce using rule 42
'?' reduce using rule 42
'{' reduce using rule 42
'}' reduce using rule 42
op reduce using rule 42
ident reduce using rule 42
opid reduce using rule 42
conid reduce using rule 42
qident reduce using rule 42
qopid reduce using rule 42
qconid reduce using rule 42
access reduce using rule 42
hole reduce using rule 42
int reduce using rule 42
float reduce using rule 42
string reduce using rule 42
'$end' reduce using rule 42
'$sep' reduce using rule 42
%eof reduce using rule 42
State 18
Atom -> Lit . (rule 43)
'|' reduce using rule 43
'*' reduce using rule 43
'~' reduce using rule 43
'_' reduce using rule 43
then reduce using rule 43
else reduce using rule 43
begin reduce using rule 43
end reduce using rule 43
true reduce using rule 43
false reduce using rule 43
with reduce using rule 43
',' reduce using rule 43
':' reduce using rule 43
';;' reduce using rule 43
';' reduce using rule 43
'(' reduce using rule 43
')' reduce using rule 43
'@{' reduce using rule 43
'?' reduce using rule 43
'{' reduce using rule 43
'}' reduce using rule 43
op reduce using rule 43
ident reduce using rule 43
opid reduce using rule 43
conid reduce using rule 43
qident reduce using rule 43
qopid reduce using rule 43
qconid reduce using rule 43
access reduce using rule 43
hole reduce using rule 43
int reduce using rule 43
float reduce using rule 43
string reduce using rule 43
'$end' reduce using rule 43
'$sep' reduce using rule 43
%eof reduce using rule 43
State 19
Atom -> '_' . (rule 45)
'|' reduce using rule 45
'*' reduce using rule 45
'~' reduce using rule 45
'_' reduce using rule 45
then reduce using rule 45
else reduce using rule 45
begin reduce using rule 45
end reduce using rule 45
true reduce using rule 45
false reduce using rule 45
with reduce using rule 45
',' reduce using rule 45
':' reduce using rule 45
';;' reduce using rule 45
';' reduce using rule 45
'(' reduce using rule 45
')' reduce using rule 45
'@{' reduce using rule 45
'?' reduce using rule 45
'{' reduce using rule 45
'}' reduce using rule 45
op reduce using rule 45
ident reduce using rule 45
opid reduce using rule 45
conid reduce using rule 45
qident reduce using rule 45
qopid reduce using rule 45
qconid reduce using rule 45
access reduce using rule 45
hole reduce using rule 45
int reduce using rule 45
float reduce using rule 45
string reduce using rule 45
'$end' reduce using rule 45
'$sep' reduce using rule 45
%eof reduce using rule 45
State 20
Top -> let . BindGroup (rule 5)
Expr0 -> let . BindGroup ExprIn ExprBlock '$end' (rule 32)
Expr0 -> let . open Con ExprIn ExprBlock '$end' (rule 33)
'_' shift, and enter state 86
implicit shift, and enter state 97
true shift, and enter state 24
false shift, and enter state 25
open shift, and enter state 98
'(' shift, and enter state 99
'{' shift, and enter state 89
ident shift, and enter state 100
conid shift, and enter state 34
qconid shift, and enter state 36
int shift, and enter state 39
float shift, and enter state 40
string shift, and enter state 41
Con goto state 81
BindGroup goto state 92
Binding goto state 93
PreBinding goto state 94
BindName goto state 95
Lit goto state 82
ArgP goto state 96
State 21
Expr0 -> fun . ListE1__Parameter__ '->' ExprBlock '$end' (rule 31)
'_' shift, and enter state 86
true shift, and enter state 24
false shift, and enter state 25
'(' shift, and enter state 87
'?(' shift, and enter state 88
'{' shift, and enter state 89
ident shift, and enter state 90
iident shift, and enter state 91
conid shift, and enter state 34
qconid shift, and enter state 36
int shift, and enter state 39
float shift, and enter state 40
string shift, and enter state 41
Con goto state 81
Lit goto state 82
ArgP goto state 83
Parameter goto state 84
ListE1__Parameter__goto state 85
State 22
Expr0 -> if . Expr then ExprBlock else ExprBlock '$end' (rule 34)
'_' shift, and enter state 19
let shift, and enter state 46
fun shift, and enter state 21
if shift, and enter state 22
begin shift, and enter state 23
true shift, and enter state 24
false shift, and enter state 25
match shift, and enter state 26
function shift, and enter state 27
lazy shift, and enter state 28
'(' shift, and enter state 29
'@{' shift, and enter state 30
'?' shift, and enter state 31
'{' shift, and enter state 32
ident shift, and enter state 33
conid shift, and enter state 34
qident shift, and enter state 35
qconid shift, and enter state 36
qdotid shift, and enter state 37
hole shift, and enter state 38
int shift, and enter state 39
float shift, and enter state 40
string shift, and enter state 41
Expr goto state 80
ExprApp goto state 13
Expr0 goto state 14
Atom goto state 15
Var goto state 16
Con goto state 17
Lit goto state 18
State 23
Atom -> begin . List1__Expr__ExprSep__ end (rule 46)
'_' shift, and enter state 19
let shift, and enter state 46
fun shift, and enter state 21
if shift, and enter state 22
begin shift, and enter state 23
true shift, and enter state 24
false shift, and enter state 25
match shift, and enter state 26
function shift, and enter state 27
lazy shift, and enter state 28
'(' shift, and enter state 29
'@{' shift, and enter state 30
'?' shift, and enter state 31
'{' shift, and enter state 32
ident shift, and enter state 33
conid shift, and enter state 34
qident shift, and enter state 35
qconid shift, and enter state 36
qdotid shift, and enter state 37
hole shift, and enter state 38
int shift, and enter state 39
float shift, and enter state 40
string shift, and enter state 41
Expr goto state 78
ExprApp goto state 13
Expr0 goto state 14
Atom goto state 15
Var goto state 16
Con goto state 17
Lit goto state 18
List1__Expr__ExprSep__goto state 79
State 24
Lit -> true . (rule 93)
'->' reduce using rule 93
'=' reduce using rule 93
'|' reduce using rule 93
'*' reduce using rule 93
'~' reduce using rule 93
'_' reduce using rule 93
then reduce using rule 93
else reduce using rule 93
begin reduce using rule 93
end reduce using rule 93
true reduce using rule 93
false reduce using rule 93
with reduce using rule 93
',' reduce using rule 93
':' reduce using rule 93
';;' reduce using rule 93
';' reduce using rule 93
'(' reduce using rule 93
'?(' reduce using rule 93
')' reduce using rule 93
'@{' reduce using rule 93
'?' reduce using rule 93
'{' reduce using rule 93
'}' reduce using rule 93
op reduce using rule 93
ident reduce using rule 93
iident reduce using rule 93
opid reduce using rule 93
conid reduce using rule 93
qident reduce using rule 93
qopid reduce using rule 93
qconid reduce using rule 93
access reduce using rule 93
hole reduce using rule 93
int reduce using rule 93
float reduce using rule 93
string reduce using rule 93
'$end' reduce using rule 93
'$sep' reduce using rule 93
%eof reduce using rule 93
State 25
Lit -> false . (rule 94)
'->' reduce using rule 94
'=' reduce using rule 94
'|' reduce using rule 94
'*' reduce using rule 94
'~' reduce using rule 94
'_' reduce using rule 94
then reduce using rule 94
else reduce using rule 94
begin reduce using rule 94
end reduce using rule 94
true reduce using rule 94
false reduce using rule 94
with reduce using rule 94
',' reduce using rule 94
':' reduce using rule 94
';;' reduce using rule 94
';' reduce using rule 94
'(' reduce using rule 94
'?(' reduce using rule 94
')' reduce using rule 94
'@{' reduce using rule 94
'?' reduce using rule 94
'{' reduce using rule 94
'}' reduce using rule 94
op reduce using rule 94
ident reduce using rule 94
iident reduce using rule 94
opid reduce using rule 94
conid reduce using rule 94
qident reduce using rule 94
qopid reduce using rule 94
qconid reduce using rule 94
access reduce using rule 94
hole reduce using rule 94
int reduce using rule 94
float reduce using rule 94
string reduce using rule 94
'$end' reduce using rule 94
'$sep' reduce using rule 94
%eof reduce using rule 94
State 26
Expr0 -> match . List1__Expr__','__ with ListE1__Arm__ '$end' (rule 35)
Expr0 -> match . List1__Expr__','__ with '(' ')' (rule 36)
'_' shift, and enter state 19
let shift, and enter state 46
fun shift, and enter state 21
if shift, and enter state 22
begin shift, and enter state 23
true shift, and enter state 24
false shift, and enter state 25
match shift, and enter state 26
function shift, and enter state 27
lazy shift, and enter state 28
'(' shift, and enter state 29
'@{' shift, and enter state 30
'?' shift, and enter state 31
'{' shift, and enter state 32
ident shift, and enter state 33
conid shift, and enter state 34
qident shift, and enter state 35
qconid shift, and enter state 36
qdotid shift, and enter state 37
hole shift, and enter state 38
int shift, and enter state 39
float shift, and enter state 40
string shift, and enter state 41
Expr goto state 76
ExprApp goto state 13
Expr0 goto state 14
Atom goto state 15
Var goto state 16
Con goto state 17
Lit goto state 18
List1__Expr__','__goto state 77
State 27
Expr0 -> function . ListE1__Arm__ '$end' (rule 37)
'|' shift, and enter state 75
Arm goto state 73
ListE1__Arm__ goto state 74
State 28
Expr0 -> lazy . Atom (rule 39)
'_' shift, and enter state 19
begin shift, and enter state 23
true shift, and enter state 24
false shift, and enter state 25
'(' shift, and enter state 29
'@{' shift, and enter state 30
'?' shift, and enter state 31
'{' shift, and enter state 32
ident shift, and enter state 33
conid shift, and enter state 34
qident shift, and enter state 35
qconid shift, and enter state 36
hole shift, and enter state 38
int shift, and enter state 39
float shift, and enter state 40
string shift, and enter state 41
Atom goto state 72
Var goto state 16
Con goto state 17
Lit goto state 18
State 29
Atom -> '(' . ')' (rule 47)
Atom -> '(' . Section ')' (rule 48)
Atom -> '(' . NullSection ',' List1__NullSection__','__ ')' (rule 49)
'*' shift, and enter state 65
'~' shift, and enter state 66
'_' shift, and enter state 19
let shift, and enter state 46
fun shift, and enter state 21
if shift, and enter state 22
begin shift, and enter state 23
true shift, and enter state 24
false shift, and enter state 25
match shift, and enter state 26
function shift, and enter state 27
lazy shift, and enter state 28
',' reduce using rule 70
'(' shift, and enter state 29
')' shift, and enter state 67
'@{' shift, and enter state 30
'?' shift, and enter state 31
'{' shift, and enter state 32
op shift, and enter state 68
ident shift, and enter state 33
opid shift, and enter state 69
conid shift, and enter state 34
qident shift, and enter state 35
qopid shift, and enter state 70
qconid shift, and enter state 36
qdotid shift, and enter state 37
access shift, and enter state 71
hole shift, and enter state 38
int shift, and enter state 39
float shift, and enter state 40
string shift, and enter state 41
Expr goto state 61
ExprApp goto state 13
Expr0 goto state 14
Atom goto state 15
Operator goto state 62
Section goto state 63
NullSection goto state 64
Var goto state 16
Con goto state 17
Lit goto state 18
State 30
Atom -> '@{' . Type '}' (rule 53)
forall shift, and enter state 55
type shift, and enter state 56
lazy shift, and enter state 57
'(' shift, and enter state 58
'{' shift, and enter state 59
ident shift, and enter state 33
conid shift, and enter state 34
qident shift, and enter state 35
qconid shift, and enter state 36
tyvar shift, and enter state 60
Var goto state 48
Con goto state 49
TyVar goto state 50
Type goto state 51
TypeProd goto state 52
TypeApp goto state 53
TypeAtom goto state 54
State 31
Atom -> '?' . (rule 52)
'|' reduce using rule 52
'*' reduce using rule 52
'~' reduce using rule 52
'_' reduce using rule 52
then reduce using rule 52
else reduce using rule 52
begin reduce using rule 52
end reduce using rule 52
true reduce using rule 52
false reduce using rule 52
with reduce using rule 52
',' reduce using rule 52
':' reduce using rule 52
';;' reduce using rule 52
';' reduce using rule 52
'(' reduce using rule 52
')' reduce using rule 52
'@{' reduce using rule 52
'?' reduce using rule 52
'{' reduce using rule 52
'}' reduce using rule 52
op reduce using rule 52
ident reduce using rule 52
opid reduce using rule 52
conid reduce using rule 52
qident reduce using rule 52
qopid reduce using rule 52
qconid reduce using rule 52
access reduce using rule 52
hole reduce using rule 52
int reduce using rule 52
float reduce using rule 52
string reduce using rule 52
'$end' reduce using rule 52
'$sep' reduce using rule 52
%eof reduce using rule 52
State 32
Atom -> '{' . Rows__'='__Expr__ '}' (rule 50)
Atom -> '{' . Expr with Rows__'='__Expr__ '}' (rule 51)
'_' shift, and enter state 19
let shift, and enter state 46
fun shift, and enter state 21
if shift, and enter state 22
begin shift, and enter state 23
true shift, and enter state 24
false shift, and enter state 25
match shift, and enter state 26
function shift, and enter state 27
lazy shift, and enter state 28
'(' shift, and enter state 29
'@{' shift, and enter state 30
'?' shift, and enter state 31
'{' shift, and enter state 32
'}' reduce using rule 159
ident shift, and enter state 47
conid shift, and enter state 34
qident shift, and enter state 35
qconid shift, and enter state 36
qdotid shift, and enter state 37
hole shift, and enter state 38
int shift, and enter state 39
float shift, and enter state 40
string shift, and enter state 41
Expr goto state 44
ExprApp goto state 13
Expr0 goto state 14
Atom goto state 15
Var goto state 16
Con goto state 17
Lit goto state 18
Rows__'='__Expr__goto state 45
State 33
Var -> ident . (rule 72)
'->' reduce using rule 72
'=' reduce using rule 72
'=>' reduce using rule 72
'|' reduce using rule 72
'*' reduce using rule 72
'~' reduce using rule 72
'_' reduce using rule 72
then reduce using rule 72
else reduce using rule 72
begin reduce using rule 72
end reduce using rule 72
true reduce using rule 72
false reduce using rule 72
with reduce using rule 72
type reduce using rule 72
lazy reduce using rule 72
',' reduce using rule 72
':' reduce using rule 72
';;' reduce using rule 72
';' reduce using rule 72
'(' reduce using rule 72
')' reduce using rule 72
'@{' reduce using rule 72
'?' reduce using rule 72
'{' reduce using rule 72
'}' reduce using rule 72
op reduce using rule 72
ident reduce using rule 72
opid reduce using rule 72
conid reduce using rule 72
qident reduce using rule 72
qopid reduce using rule 72
qconid reduce using rule 72
access reduce using rule 72
tyvar reduce using rule 72
hole reduce using rule 72
int reduce using rule 72
float reduce using rule 72
string reduce using rule 72
'$end' reduce using rule 72
'$sep' reduce using rule 72
%eof reduce using rule 72
State 34
Con -> conid . (rule 74)
'->' reduce using rule 74
'=' reduce using rule 74
'=>' reduce using rule 74
'|' reduce using rule 74
'*' reduce using rule 74
'~' reduce using rule 74
'_' reduce using rule 74
then reduce using rule 74
else reduce using rule 74
begin reduce using rule 74
end reduce using rule 74
in reduce using rule 74
true reduce using rule 74
false reduce using rule 74
with reduce using rule 74
type reduce using rule 74
lazy reduce using rule 74
',' reduce using rule 74
':' reduce using rule 74
';;' reduce using rule 74
';' reduce using rule 74
'(' reduce using rule 74
'?(' reduce using rule 74
')' reduce using rule 74
'@{' reduce using rule 74
'?' reduce using rule 74
'{' reduce using rule 74
'}' reduce using rule 74
op reduce using rule 74
ident reduce using rule 74
iident reduce using rule 74
opid reduce using rule 74
conid reduce using rule 74
qident reduce using rule 74
qopid reduce using rule 74
qconid reduce using rule 74
access reduce using rule 74
tyvar reduce using rule 74
hole reduce using rule 74
int reduce using rule 74
float reduce using rule 74
string reduce using rule 74
'$end' reduce using rule 74
'$in' reduce using rule 74
'$sep' reduce using rule 74
%eof reduce using rule 74
State 35
Var -> qident . (rule 73)
'->' reduce using rule 73
'=' reduce using rule 73
'=>' reduce using rule 73
'|' reduce using rule 73
'*' reduce using rule 73
'~' reduce using rule 73
'_' reduce using rule 73
then reduce using rule 73
else reduce using rule 73
begin reduce using rule 73
end reduce using rule 73
true reduce using rule 73
false reduce using rule 73
with reduce using rule 73
type reduce using rule 73
lazy reduce using rule 73
',' reduce using rule 73
':' reduce using rule 73
';;' reduce using rule 73
';' reduce using rule 73
'(' reduce using rule 73
')' reduce using rule 73
'@{' reduce using rule 73
'?' reduce using rule 73
'{' reduce using rule 73
'}' reduce using rule 73
op reduce using rule 73
ident reduce using rule 73
opid reduce using rule 73
conid reduce using rule 73
qident reduce using rule 73
qopid reduce using rule 73
qconid reduce using rule 73
access reduce using rule 73
tyvar reduce using rule 73
hole reduce using rule 73
int reduce using rule 73
float reduce using rule 73
string reduce using rule 73
'$end' reduce using rule 73
'$sep' reduce using rule 73
%eof reduce using rule 73
State 36
Con -> qconid . (rule 75)
'->' reduce using rule 75
'=' reduce using rule 75
'=>' reduce using rule 75
'|' reduce using rule 75
'*' reduce using rule 75
'~' reduce using rule 75
'_' reduce using rule 75
then reduce using rule 75
else reduce using rule 75
begin reduce using rule 75
end reduce using rule 75
in reduce using rule 75
true reduce using rule 75
false reduce using rule 75
with reduce using rule 75
type reduce using rule 75
lazy reduce using rule 75
',' reduce using rule 75
':' reduce using rule 75
';;' reduce using rule 75
';' reduce using rule 75
'(' reduce using rule 75
'?(' reduce using rule 75
')' reduce using rule 75
'@{' reduce using rule 75
'?' reduce using rule 75
'{' reduce using rule 75
'}' reduce using rule 75
op reduce using rule 75
ident reduce using rule 75
iident reduce using rule 75
opid reduce using rule 75
conid reduce using rule 75
qident reduce using rule 75
qopid reduce using rule 75
qconid reduce using rule 75
access reduce using rule 75
tyvar reduce using rule 75
hole reduce using rule 75
int reduce using rule 75
float reduce using rule 75
string reduce using rule 75
'$end' reduce using rule 75
'$in' reduce using rule 75
'$sep' reduce using rule 75
%eof reduce using rule 75
State 37
Expr0 -> qdotid . Atom (rule 38)
'_' shift, and enter state 19
begin shift, and enter state 23
true shift, and enter state 24
false shift, and enter state 25
'(' shift, and enter state 29
'@{' shift, and enter state 30
'?' shift, and enter state 31
'{' shift, and enter state 32
ident shift, and enter state 33
conid shift, and enter state 34
qident shift, and enter state 35
qconid shift, and enter state 36
hole shift, and enter state 38
int shift, and enter state 39
float shift, and enter state 40
string shift, and enter state 41
Atom goto state 43
Var goto state 16
Con goto state 17
Lit goto state 18
State 38
Atom -> hole . (rule 44)
'|' reduce using rule 44
'*' reduce using rule 44
'~' reduce using rule 44
'_' reduce using rule 44
then reduce using rule 44
else reduce using rule 44
begin reduce using rule 44
end reduce using rule 44
true reduce using rule 44
false reduce using rule 44
with reduce using rule 44
',' reduce using rule 44
':' reduce using rule 44
';;' reduce using rule 44
';' reduce using rule 44
'(' reduce using rule 44
')' reduce using rule 44
'@{' reduce using rule 44
'?' reduce using rule 44
'{' reduce using rule 44
'}' reduce using rule 44
op reduce using rule 44
ident reduce using rule 44
opid reduce using rule 44
conid reduce using rule 44
qident reduce using rule 44
qopid reduce using rule 44
qconid reduce using rule 44
access reduce using rule 44
hole reduce using rule 44
int reduce using rule 44
float reduce using rule 44
string reduce using rule 44
'$end' reduce using rule 44
'$sep' reduce using rule 44
%eof reduce using rule 44
State 39
Lit -> int . (rule 90)
'->' reduce using rule 90
'=' reduce using rule 90
'|' reduce using rule 90
'*' reduce using rule 90
'~' reduce using rule 90
'_' reduce using rule 90
then reduce using rule 90
else reduce using rule 90
begin reduce using rule 90
end reduce using rule 90
true reduce using rule 90
false reduce using rule 90
with reduce using rule 90
',' reduce using rule 90
':' reduce using rule 90
';;' reduce using rule 90
';' reduce using rule 90
'(' reduce using rule 90
'?(' reduce using rule 90
')' reduce using rule 90
'@{' reduce using rule 90
'?' reduce using rule 90
'{' reduce using rule 90
'}' reduce using rule 90
op reduce using rule 90
ident reduce using rule 90
iident reduce using rule 90
opid reduce using rule 90
conid reduce using rule 90
qident reduce using rule 90
qopid reduce using rule 90
qconid reduce using rule 90
access reduce using rule 90
hole reduce using rule 90
int reduce using rule 90
float reduce using rule 90
string reduce using rule 90
'$end' reduce using rule 90
'$sep' reduce using rule 90
%eof reduce using rule 90
State 40
Lit -> float . (rule 91)
'->' reduce using rule 91
'=' reduce using rule 91
'|' reduce using rule 91
'*' reduce using rule 91
'~' reduce using rule 91
'_' reduce using rule 91
then reduce using rule 91
else reduce using rule 91
begin reduce using rule 91
end reduce using rule 91
true reduce using rule 91
false reduce using rule 91
with reduce using rule 91
',' reduce using rule 91
':' reduce using rule 91
';;' reduce using rule 91
';' reduce using rule 91
'(' reduce using rule 91
'?(' reduce using rule 91
')' reduce using rule 91
'@{' reduce using rule 91
'?' reduce using rule 91
'{' reduce using rule 91
'}' reduce using rule 91
op reduce using rule 91
ident reduce using rule 91
iident reduce using rule 91
opid reduce using rule 91
conid reduce using rule 91
qident reduce using rule 91
qopid reduce using rule 91
qconid reduce using rule 91
access reduce using rule 91
hole reduce using rule 91
int reduce using rule 91
float reduce using rule 91
string reduce using rule 91
'$end' reduce using rule 91
'$sep' reduce using rule 91
%eof reduce using rule 91
State 41
Lit -> string . (rule 92)
'->' reduce using rule 92
'=' reduce using rule 92
'|' reduce using rule 92
'*' reduce using rule 92
'~' reduce using rule 92
'_' reduce using rule 92
then reduce using rule 92
else reduce using rule 92
begin reduce using rule 92
end reduce using rule 92
true reduce using rule 92
false reduce using rule 92
with reduce using rule 92
',' reduce using rule 92
':' reduce using rule 92
';;' reduce using rule 92
';' reduce using rule 92
'(' reduce using rule 92
'?(' reduce using rule 92
')' reduce using rule 92
'@{' reduce using rule 92
'?' reduce using rule 92
'{' reduce using rule 92
'}' reduce using rule 92
op reduce using rule 92
ident reduce using rule 92
iident reduce using rule 92
opid reduce using rule 92
conid reduce using rule 92
qident reduce using rule 92
qopid reduce using rule 92
qconid reduce using rule 92
access reduce using rule 92
hole reduce using rule 92
int reduce using rule 92
float reduce using rule 92
string reduce using rule 92
'$end' reduce using rule 92
'$sep' reduce using rule 92
%eof reduce using rule 92
State 42
%start_parseTops -> Tops . (rule 0)
%eof accept
State 43
Expr0 -> qdotid Atom . (rule 38)
Atom -> Atom . access (rule 54)
'|' reduce using rule 38
'*' reduce using rule 38
'~' reduce using rule 38
'_' reduce using rule 38
then reduce using rule 38
else reduce using rule 38
begin reduce using rule 38
end reduce using rule 38
true reduce using rule 38
false reduce using rule 38
with reduce using rule 38
',' reduce using rule 38
':' reduce using rule 38
';;' reduce using rule 38
';' reduce using rule 38
'(' reduce using rule 38
')' reduce using rule 38
'@{' reduce using rule 38
'?' reduce using rule 38
'{' reduce using rule 38
'}' reduce using rule 38
op reduce using rule 38
ident reduce using rule 38
opid reduce using rule 38
conid reduce using rule 38
qident reduce using rule 38
qopid reduce using rule 38
qconid reduce using rule 38
access shift, and enter state 101
hole reduce using rule 38
int reduce using rule 38
float reduce using rule 38
string reduce using rule 38
'$end' reduce using rule 38
'$sep' reduce using rule 38
%eof reduce using rule 38
State 44
Expr -> Expr . Operator ExprApp (rule 27)
Atom -> '{' Expr . with Rows__'='__Expr__ '}' (rule 51)
'*' shift, and enter state 65
'~' shift, and enter state 66
with shift, and enter state 189
op shift, and enter state 68
opid shift, and enter state 69
qopid shift, and enter state 70
Operator goto state 105
State 45
Atom -> '{' Rows__'='__Expr__ . '}' (rule 50)
'}' shift, and enter state 188
State 46
Expr0 -> let . BindGroup ExprIn ExprBlock '$end' (rule 32)
Expr0 -> let . open Con ExprIn ExprBlock '$end' (rule 33)
'_' shift, and enter state 86
implicit shift, and enter state 97
true shift, and enter state 24
false shift, and enter state 25
open shift, and enter state 98
'(' shift, and enter state 99
'{' shift, and enter state 89
ident shift, and enter state 100
conid shift, and enter state 34
qconid shift, and enter state 36
int shift, and enter state 39
float shift, and enter state 40
string shift, and enter state 41
Con goto state 81
BindGroup goto state 187
Binding goto state 93
PreBinding goto state 94
BindName goto state 95
Lit goto state 82
ArgP goto state 96
State 47
Var -> ident . (rule 72)
Rows__'='__Expr__ -> ident . '=' Expr ',' Rows__'='__Expr__ (rule 160)
Rows__'='__Expr__ -> ident . '=' Expr (rule 161)
'=' shift, and enter state 186
'*' reduce using rule 72
'~' reduce using rule 72
'_' reduce using rule 72
begin reduce using rule 72
true reduce using rule 72
false reduce using rule 72
with reduce using rule 72
':' reduce using rule 72
'(' reduce using rule 72
'@{' reduce using rule 72
'?' reduce using rule 72
'{' reduce using rule 72
op reduce using rule 72
ident reduce using rule 72
opid reduce using rule 72
conid reduce using rule 72
qident reduce using rule 72
qopid reduce using rule 72
qconid reduce using rule 72
access reduce using rule 72
hole reduce using rule 72
int reduce using rule 72
float reduce using rule 72
string reduce using rule 72
State 48
TypeAtom -> Var . (rule 121)
'->' reduce using rule 121
'=' reduce using rule 121
'=>' reduce using rule 121
'|' reduce using rule 121
'*' reduce using rule 121
'~' reduce using rule 121
'_' reduce using rule 121
then reduce using rule 121
else reduce using rule 121
begin reduce using rule 121
end reduce using rule 121
true reduce using rule 121
false reduce using rule 121
with reduce using rule 121
type reduce using rule 121
lazy reduce using rule 121
',' reduce using rule 121
':' reduce using rule 121
';;' reduce using rule 121
';' reduce using rule 121
'(' reduce using rule 121
')' reduce using rule 121
'@{' reduce using rule 121
'?' reduce using rule 121
'{' reduce using rule 121
'}' reduce using rule 121
op reduce using rule 121
ident reduce using rule 121
opid reduce using rule 121
conid reduce using rule 121
qident reduce using rule 121
qopid reduce using rule 121
qconid reduce using rule 121
tyvar reduce using rule 121
hole reduce using rule 121
int reduce using rule 121
float reduce using rule 121
string reduce using rule 121
'$end' reduce using rule 121
'$sep' reduce using rule 121
%eof reduce using rule 121
State 49
TypeAtom -> Con . (rule 123)
'->' reduce using rule 123
'=' reduce using rule 123
'=>' reduce using rule 123
'|' reduce using rule 123
'*' reduce using rule 123
'~' reduce using rule 123
'_' reduce using rule 123
then reduce using rule 123
else reduce using rule 123
begin reduce using rule 123
end reduce using rule 123
true reduce using rule 123
false reduce using rule 123
with reduce using rule 123
type reduce using rule 123
lazy reduce using rule 123
',' reduce using rule 123
':' reduce using rule 123
';;' reduce using rule 123
';' reduce using rule 123
'(' reduce using rule 123
')' reduce using rule 123
'@{' reduce using rule 123
'?' reduce using rule 123
'{' reduce using rule 123
'}' reduce using rule 123
op reduce using rule 123
ident reduce using rule 123
opid reduce using rule 123
conid reduce using rule 123
qident reduce using rule 123
qopid reduce using rule 123
qconid reduce using rule 123
tyvar reduce using rule 123
hole reduce using rule 123
int reduce using rule 123
float reduce using rule 123
string reduce using rule 123
'$end' reduce using rule 123
'$sep' reduce using rule 123
%eof reduce using rule 123
State 50
TypeAtom -> TyVar . (rule 122)
'->' reduce using rule 122
'=' reduce using rule 122
'=>' reduce using rule 122
'|' reduce using rule 122
'*' reduce using rule 122
'~' reduce using rule 122
'_' reduce using rule 122
then reduce using rule 122
else reduce using rule 122
begin reduce using rule 122
end reduce using rule 122
true reduce using rule 122
false reduce using rule 122
with reduce using rule 122
type reduce using rule 122
lazy reduce using rule 122
',' reduce using rule 122
':' reduce using rule 122
';;' reduce using rule 122
';' reduce using rule 122
'(' reduce using rule 122
')' reduce using rule 122
'@{' reduce using rule 122
'?' reduce using rule 122
'{' reduce using rule 122
'}' reduce using rule 122
op reduce using rule 122
ident reduce using rule 122
opid reduce using rule 122
conid reduce using rule 122
qident reduce using rule 122
qopid reduce using rule 122
qconid reduce using rule 122
tyvar reduce using rule 122
hole reduce using rule 122
int reduce using rule 122
float reduce using rule 122
string reduce using rule 122
'$end' reduce using rule 122
'$sep' reduce using rule 122
%eof reduce using rule 122
State 51
Atom -> '@{' Type . '}' (rule 53)
'}' shift, and enter state 185
State 52
Type -> TypeProd . (rule 111)
Type -> TypeProd . '->' Type (rule 112)
Type -> TypeProd . '=>' Type (rule 113)
'->' shift, and enter state 183
'=' reduce using rule 111
'=>' shift, and enter state 184
'|' reduce using rule 111
'*' reduce using rule 111
'~' reduce using rule 111
'_' reduce using rule 111
then reduce using rule 111
else reduce using rule 111
begin reduce using rule 111
end reduce using rule 111
true reduce using rule 111
false reduce using rule 111
with reduce using rule 111
',' reduce using rule 111
':' reduce using rule 111
';;' reduce using rule 111
';' reduce using rule 111
'(' reduce using rule 111
')' reduce using rule 111
'@{' reduce using rule 111
'?' reduce using rule 111
'{' reduce using rule 111
'}' reduce using rule 111
op reduce using rule 111
ident reduce using rule 111
opid reduce using rule 111
conid reduce using rule 111
qident reduce using rule 111
qopid reduce using rule 111
qconid reduce using rule 111
hole reduce using rule 111
int reduce using rule 111
float reduce using rule 111
string reduce using rule 111
'$end' reduce using rule 111
'$sep' reduce using rule 111
%eof reduce using rule 111
State 53
TypeProd -> TypeApp . (rule 117)
TypeProd -> TypeApp . '*' TypeProd (rule 118)
TypeApp -> TypeApp . TypeAtom (rule 120)
'->' reduce using rule 117
'=' reduce using rule 117
'=>' reduce using rule 117
'|' reduce using rule 117
'*' shift, and enter state 182
(reduce using rule 117)
'~' reduce using rule 117
'_' reduce using rule 117
then reduce using rule 117
else reduce using rule 117
begin reduce using rule 117
end reduce using rule 117
true reduce using rule 117
false reduce using rule 117
with reduce using rule 117
type shift, and enter state 56
lazy shift, and enter state 57
',' reduce using rule 117
':' reduce using rule 117
';;' reduce using rule 117
';' reduce using rule 117
'(' shift, and enter state 58
(reduce using rule 117)
')' reduce using rule 117
'@{' reduce using rule 117
'?' reduce using rule 117
'{' shift, and enter state 59
(reduce using rule 117)
'}' reduce using rule 117
op reduce using rule 117
ident shift, and enter state 33
(reduce using rule 117)
opid reduce using rule 117
conid shift, and enter state 34
(reduce using rule 117)
qident shift, and enter state 35
(reduce using rule 117)
qopid reduce using rule 117
qconid shift, and enter state 36
(reduce using rule 117)
tyvar shift, and enter state 60
hole reduce using rule 117
int reduce using rule 117
float reduce using rule 117
string reduce using rule 117
'$end' reduce using rule 117
'$sep' reduce using rule 117
%eof reduce using rule 117
Var goto state 48
Con goto state 49
TyVar goto state 50
TypeAtom goto state 181
State 54
TypeApp -> TypeAtom . (rule 119)
'->' reduce using rule 119
'=' reduce using rule 119
'=>' reduce using rule 119
'|' reduce using rule 119
'*' reduce using rule 119
'~' reduce using rule 119
'_' reduce using rule 119
then reduce using rule 119
else reduce using rule 119
begin reduce using rule 119
end reduce using rule 119
true reduce using rule 119
false reduce using rule 119
with reduce using rule 119
type reduce using rule 119
lazy reduce using rule 119
',' reduce using rule 119
':' reduce using rule 119
';;' reduce using rule 119
';' reduce using rule 119
'(' reduce using rule 119
')' reduce using rule 119
'@{' reduce using rule 119
'?' reduce using rule 119
'{' reduce using rule 119
'}' reduce using rule 119
op reduce using rule 119
ident reduce using rule 119
opid reduce using rule 119
conid reduce using rule 119
qident reduce using rule 119
qopid reduce using rule 119
qconid reduce using rule 119
tyvar reduce using rule 119
hole reduce using rule 119
int reduce using rule 119
float reduce using rule 119
string reduce using rule 119
'$end' reduce using rule 119
'$sep' reduce using rule 119
%eof reduce using rule 119
State 55
Type -> forall . ListE1__tyvar__ '.' Type (rule 114)
Type -> forall . ListE1__BoundTv__ '->' Type (rule 115)
'(' shift, and enter state 179
tyvar shift, and enter state 180
BoundTv goto state 176
ListE1__BoundTv__goto state 177
ListE1__tyvar__goto state 178
State 56
TypeAtom -> type . (rule 124)
'->' reduce using rule 124
'=' reduce using rule 124
'=>' reduce using rule 124
'|' reduce using rule 124
'*' reduce using rule 124
'~' reduce using rule 124
'_' reduce using rule 124
then reduce using rule 124
else reduce using rule 124
begin reduce using rule 124
end reduce using rule 124
true reduce using rule 124
false reduce using rule 124
with reduce using rule 124
type reduce using rule 124
lazy reduce using rule 124
',' reduce using rule 124
':' reduce using rule 124
';;' reduce using rule 124
';' reduce using rule 124
'(' reduce using rule 124
')' reduce using rule 124
'@{' reduce using rule 124
'?' reduce using rule 124
'{' reduce using rule 124
'}' reduce using rule 124
op reduce using rule 124
ident reduce using rule 124
opid reduce using rule 124
conid reduce using rule 124
qident reduce using rule 124
qopid reduce using rule 124
qconid reduce using rule 124
tyvar reduce using rule 124
hole reduce using rule 124
int reduce using rule 124
float reduce using rule 124
string reduce using rule 124
'$end' reduce using rule 124
'$sep' reduce using rule 124
%eof reduce using rule 124
State 57
TypeAtom -> lazy . (rule 125)
'->' reduce using rule 125
'=' reduce using rule 125
'=>' reduce using rule 125
'|' reduce using rule 125
'*' reduce using rule 125
'~' reduce using rule 125
'_' reduce using rule 125
then reduce using rule 125
else reduce using rule 125
begin reduce using rule 125
end reduce using rule 125
true reduce using rule 125
false reduce using rule 125
with reduce using rule 125
type reduce using rule 125
lazy reduce using rule 125
',' reduce using rule 125
':' reduce using rule 125
';;' reduce using rule 125
';' reduce using rule 125
'(' reduce using rule 125
')' reduce using rule 125
'@{' reduce using rule 125
'?' reduce using rule 125
'{' reduce using rule 125
'}' reduce using rule 125
op reduce using rule 125
ident reduce using rule 125
opid reduce using rule 125
conid reduce using rule 125
qident reduce using rule 125
qopid reduce using rule 125
qconid reduce using rule 125
tyvar reduce using rule 125
hole reduce using rule 125
int reduce using rule 125
float reduce using rule 125
string reduce using rule 125
'$end' reduce using rule 125
'$sep' reduce using rule 125
%eof reduce using rule 125
State 58
TypeAtom -> '(' . ')' (rule 126)
TypeAtom -> '(' . Type ')' (rule 127)
forall shift, and enter state 55
type shift, and enter state 56
lazy shift, and enter state 57
'(' shift, and enter state 58
')' shift, and enter state 175
'{' shift, and enter state 59
ident shift, and enter state 33
conid shift, and enter state 34
qident shift, and enter state 35
qconid shift, and enter state 36
tyvar shift, and enter state 60
Var goto state 48
Con goto state 49
TyVar goto state 50
Type goto state 174
TypeProd goto state 52
TypeApp goto state 53
TypeAtom goto state 54
State 59
TypeAtom -> '{' . Rows__':'__Type__ '}' (rule 128)
TypeAtom -> '{' . Type '|' Rows__':'__Type__ '}' (rule 129)
forall shift, and enter state 55
type shift, and enter state 56
lazy shift, and enter state 57
'(' shift, and enter state 58
'{' shift, and enter state 59
'}' reduce using rule 156
ident shift, and enter state 173
conid shift, and enter state 34
qident shift, and enter state 35
qconid shift, and enter state 36
tyvar shift, and enter state 60
Var goto state 48
Con goto state 49
TyVar goto state 50
Type goto state 171
TypeProd goto state 52
TypeApp goto state 53
TypeAtom goto state 54
Rows__':'__Type__goto state 172
State 60
TyVar -> tyvar . (rule 76)
'->' reduce using rule 76
'=' reduce using rule 76
'=>' reduce using rule 76
'|' reduce using rule 76
'*' reduce using rule 76
'~' reduce using rule 76
'_' reduce using rule 76
then reduce using rule 76
else reduce using rule 76
begin reduce using rule 76
end reduce using rule 76
true reduce using rule 76
false reduce using rule 76
with reduce using rule 76
type reduce using rule 76
lazy reduce using rule 76
',' reduce using rule 76
':' reduce using rule 76
';;' reduce using rule 76
';' reduce using rule 76
'(' reduce using rule 76
')' reduce using rule 76
'@{' reduce using rule 76
'?' reduce using rule 76
'{' reduce using rule 76
'}' reduce using rule 76
op reduce using rule 76
ident reduce using rule 76
opid reduce using rule 76
conid reduce using rule 76
qident reduce using rule 76
qopid reduce using rule 76
qconid reduce using rule 76
tyvar reduce using rule 76
hole reduce using rule 76
int reduce using rule 76
float reduce using rule 76
string reduce using rule 76
'$end' reduce using rule 76
'$sep' reduce using rule 76
%eof reduce using rule 76
State 61
Expr -> Expr . Operator ExprApp (rule 27)
Section -> Expr . (rule 65)
Section -> Expr . Operator (rule 68)
'*' shift, and enter state 65
'~' shift, and enter state 66
',' reduce using rule 65
')' reduce using rule 65
op shift, and enter state 68
opid shift, and enter state 69
qopid shift, and enter state 70
Operator goto state 170
State 62
Section -> Operator . (rule 67)
Section -> Operator . Expr (rule 69)
'_' shift, and enter state 19
let shift, and enter state 46
fun shift, and enter state 21
if shift, and enter state 22
begin shift, and enter state 23
true shift, and enter state 24
false shift, and enter state 25
match shift, and enter state 26
function shift, and enter state 27
lazy shift, and enter state 28
',' reduce using rule 67
'(' shift, and enter state 29
')' reduce using rule 67
'@{' shift, and enter state 30
'?' shift, and enter state 31
'{' shift, and enter state 32
ident shift, and enter state 33
conid shift, and enter state 34
qident shift, and enter state 35
qconid shift, and enter state 36
qdotid shift, and enter state 37
hole shift, and enter state 38
int shift, and enter state 39
float shift, and enter state 40
string shift, and enter state 41
Expr goto state 169
ExprApp goto state 13
Expr0 goto state 14
Atom goto state 15
Var goto state 16
Con goto state 17
Lit goto state 18
State 63
Atom -> '(' Section . ')' (rule 48)
NullSection -> Section . (rule 71)
',' reduce using rule 71
')' shift, and enter state 168
State 64
Atom -> '(' NullSection . ',' List1__NullSection__','__ ')' (rule 49)
',' shift, and enter state 167
State 65
Operator -> '*' . (rule 60)
'_' reduce using rule 60
let reduce using rule 60
fun reduce using rule 60
if reduce using rule 60
begin reduce using rule 60
true reduce using rule 60
false reduce using rule 60
match reduce using rule 60
function reduce using rule 60
lazy reduce using rule 60
',' reduce using rule 60
'(' reduce using rule 60
')' reduce using rule 60
'@{' reduce using rule 60
'?' reduce using rule 60
'{' reduce using rule 60
ident reduce using rule 60
conid reduce using rule 60
qident reduce using rule 60
qconid reduce using rule 60
qdotid reduce using rule 60
hole reduce using rule 60
int reduce using rule 60
float reduce using rule 60
string reduce using rule 60
State 66
Operator -> '~' . (rule 61)
'_' reduce using rule 61
let reduce using rule 61
fun reduce using rule 61
if reduce using rule 61
begin reduce using rule 61
true reduce using rule 61
false reduce using rule 61
match reduce using rule 61
function reduce using rule 61
lazy reduce using rule 61
',' reduce using rule 61
'(' reduce using rule 61
')' reduce using rule 61
'@{' reduce using rule 61
'?' reduce using rule 61
'{' reduce using rule 61
ident reduce using rule 61
conid reduce using rule 61
qident reduce using rule 61
qconid reduce using rule 61
qdotid reduce using rule 61
hole reduce using rule 61
int reduce using rule 61
float reduce using rule 61
string reduce using rule 61
State 67
Atom -> '(' ')' . (rule 47)
'|' reduce using rule 47
'*' reduce using rule 47
'~' reduce using rule 47
'_' reduce using rule 47
then reduce using rule 47
else reduce using rule 47
begin reduce using rule 47
end reduce using rule 47
true reduce using rule 47
false reduce using rule 47
with reduce using rule 47
',' reduce using rule 47
':' reduce using rule 47
';;' reduce using rule 47
';' reduce using rule 47
'(' reduce using rule 47
')' reduce using rule 47
'@{' reduce using rule 47
'?' reduce using rule 47
'{' reduce using rule 47
'}' reduce using rule 47
op reduce using rule 47
ident reduce using rule 47
opid reduce using rule 47
conid reduce using rule 47
qident reduce using rule 47
qopid reduce using rule 47
qconid reduce using rule 47
access reduce using rule 47
hole reduce using rule 47
int reduce using rule 47
float reduce using rule 47
string reduce using rule 47
'$end' reduce using rule 47
'$sep' reduce using rule 47
%eof reduce using rule 47
State 68
Operator -> op . (rule 62)
'_' reduce using rule 62
let reduce using rule 62
fun reduce using rule 62
if reduce using rule 62
begin reduce using rule 62
true reduce using rule 62
false reduce using rule 62
match reduce using rule 62
function reduce using rule 62
lazy reduce using rule 62
',' reduce using rule 62
'(' reduce using rule 62
')' reduce using rule 62
'@{' reduce using rule 62
'?' reduce using rule 62
'{' reduce using rule 62
ident reduce using rule 62
conid reduce using rule 62
qident reduce using rule 62
qconid reduce using rule 62
qdotid reduce using rule 62
hole reduce using rule 62
int reduce using rule 62
float reduce using rule 62
string reduce using rule 62
State 69
Operator -> opid . (rule 63)
'_' reduce using rule 63
let reduce using rule 63
fun reduce using rule 63
if reduce using rule 63
begin reduce using rule 63
true reduce using rule 63
false reduce using rule 63
match reduce using rule 63
function reduce using rule 63
lazy reduce using rule 63
',' reduce using rule 63
'(' reduce using rule 63
')' reduce using rule 63
'@{' reduce using rule 63
'?' reduce using rule 63
'{' reduce using rule 63
ident reduce using rule 63
conid reduce using rule 63
qident reduce using rule 63
qconid reduce using rule 63
qdotid reduce using rule 63
hole reduce using rule 63
int reduce using rule 63
float reduce using rule 63
string reduce using rule 63
State 70
Operator -> qopid . (rule 64)
'_' reduce using rule 64
let reduce using rule 64
fun reduce using rule 64
if reduce using rule 64
begin reduce using rule 64
true reduce using rule 64
false reduce using rule 64
match reduce using rule 64
function reduce using rule 64
lazy reduce using rule 64
',' reduce using rule 64
'(' reduce using rule 64
')' reduce using rule 64
'@{' reduce using rule 64
'?' reduce using rule 64
'{' reduce using rule 64
ident reduce using rule 64
conid reduce using rule 64
qident reduce using rule 64
qconid reduce using rule 64
qdotid reduce using rule 64
hole reduce using rule 64
int reduce using rule 64
float reduce using rule 64
string reduce using rule 64
State 71
Section -> access . (rule 66)
',' reduce using rule 66
')' reduce using rule 66
State 72
Expr0 -> lazy Atom . (rule 39)
Atom -> Atom . access (rule 54)
'|' reduce using rule 39
'*' reduce using rule 39
'~' reduce using rule 39
'_' reduce using rule 39
then reduce using rule 39
else reduce using rule 39
begin reduce using rule 39
end reduce using rule 39
true reduce using rule 39
false reduce using rule 39
with reduce using rule 39
',' reduce using rule 39
':' reduce using rule 39
';;' reduce using rule 39
';' reduce using rule 39
'(' reduce using rule 39
')' reduce using rule 39
'@{' reduce using rule 39
'?' reduce using rule 39
'{' reduce using rule 39
'}' reduce using rule 39
op reduce using rule 39
ident reduce using rule 39
opid reduce using rule 39
conid reduce using rule 39
qident reduce using rule 39
qopid reduce using rule 39
qconid reduce using rule 39
access shift, and enter state 101
hole reduce using rule 39
int reduce using rule 39
float reduce using rule 39
string reduce using rule 39
'$end' reduce using rule 39
'$sep' reduce using rule 39
%eof reduce using rule 39
State 73
ListE1__Arm__ -> Arm . (rule 148)
ListE1__Arm__ -> Arm . ListE1__Arm__ (rule 149)
'|' shift, and enter state 75
'$end' reduce using rule 148
Arm goto state 73
ListE1__Arm__ goto state 166
State 74
Expr0 -> function ListE1__Arm__ . '$end' (rule 37)
'$end' shift, and enter state 165
State 75
Arm -> '|' . List1__MPattern__','__ '->' ExprBlock (rule 107)
'_' shift, and enter state 86
true shift, and enter state 24
false shift, and enter state 25
'(' shift, and enter state 87
'{' shift, and enter state 89
ident shift, and enter state 90
conid shift, and enter state 34
qconid shift, and enter state 36
int shift, and enter state 39
float shift, and enter state 40
string shift, and enter state 41
Con goto state 161
Lit goto state 82
MPattern goto state 162
ArgP goto state 163
List1__MPattern__','__goto state 164
State 76
Expr -> Expr . Operator ExprApp (rule 27)
List1__Expr__','__ -> Expr . (rule 134)
List1__Expr__','__ -> Expr . ',' List1__Expr__','__ (rule 135)
'*' shift, and enter state 65
'~' shift, and enter state 66
with reduce using rule 134
',' shift, and enter state 160
op shift, and enter state 68
opid shift, and enter state 69
qopid shift, and enter state 70
Operator goto state 105
State 77
Expr0 -> match List1__Expr__','__ . with ListE1__Arm__ '$end' (rule 35)
Expr0 -> match List1__Expr__','__ . with '(' ')' (rule 36)
with shift, and enter state 159
State 78
Expr -> Expr . Operator ExprApp (rule 27)
List1__Expr__ExprSep__ -> Expr . (rule 136)
List1__Expr__ExprSep__ -> Expr . ExprSep List1__Expr__ExprSep__ (rule 137)
'|' reduce using rule 136
'*' shift, and enter state 65
'~' shift, and enter state 66
else reduce using rule 136
end reduce using rule 136
';' shift, and enter state 157
op shift, and enter state 68
opid shift, and enter state 69
qopid shift, and enter state 70
'$end' reduce using rule 136
'$sep' shift, and enter state 158
ExprSep goto state 156
Operator goto state 105
State 79
Atom -> begin List1__Expr__ExprSep__ . end (rule 46)
end shift, and enter state 155
State 80
Expr -> Expr . Operator ExprApp (rule 27)
Expr0 -> if Expr . then ExprBlock else ExprBlock '$end' (rule 34)
'*' shift, and enter state 65
'~' shift, and enter state 66
then shift, and enter state 154
op shift, and enter state 68
opid shift, and enter state 69
qopid shift, and enter state 70
Operator goto state 105
State 81
ArgP -> Con . (rule 103)
'->' reduce using rule 103
'=' reduce using rule 103
'*' reduce using rule 103
'~' reduce using rule 103
'_' reduce using rule 103
true reduce using rule 103
false reduce using rule 103
',' reduce using rule 103
':' reduce using rule 103
'(' reduce using rule 103
'?(' reduce using rule 103
')' reduce using rule 103
'{' reduce using rule 103
'}' reduce using rule 103
op reduce using rule 103
ident reduce using rule 103
iident reduce using rule 103
opid reduce using rule 103
conid reduce using rule 103
qconid reduce using rule 103
int reduce using rule 103
float reduce using rule 103
string reduce using rule 103
State 82
ArgP -> Lit . (rule 106)
'->' reduce using rule 106
'=' reduce using rule 106
'*' reduce using rule 106
'~' reduce using rule 106
'_' reduce using rule 106
true reduce using rule 106
false reduce using rule 106
',' reduce using rule 106
':' reduce using rule 106
'(' reduce using rule 106
'?(' reduce using rule 106
')' reduce using rule 106
'{' reduce using rule 106
'}' reduce using rule 106
op reduce using rule 106
ident reduce using rule 106
iident reduce using rule 106
opid reduce using rule 106
conid reduce using rule 106
qconid reduce using rule 106
int reduce using rule 106
float reduce using rule 106
string reduce using rule 106
State 83
Parameter -> ArgP . (rule 108)
'->' reduce using rule 108
'=' reduce using rule 108
'_' reduce using rule 108
true reduce using rule 108
false reduce using rule 108
':' reduce using rule 108
'(' reduce using rule 108
'?(' reduce using rule 108
'{' reduce using rule 108
ident reduce using rule 108
iident reduce using rule 108
conid reduce using rule 108
qconid reduce using rule 108
int reduce using rule 108
float reduce using rule 108
string reduce using rule 108
State 84
ListE1__Parameter__ -> Parameter . (rule 152)
ListE1__Parameter__ -> Parameter . ListE1__Parameter__ (rule 153)
'->' reduce using rule 152
'=' reduce using rule 152
'_' shift, and enter state 86
true shift, and enter state 24
false shift, and enter state 25
':' reduce using rule 152
'(' shift, and enter state 87
'?(' shift, and enter state 88
'{' shift, and enter state 89
ident shift, and enter state 90
iident shift, and enter state 91
conid shift, and enter state 34
qconid shift, and enter state 36
int shift, and enter state 39
float shift, and enter state 40
string shift, and enter state 41
Con goto state 81
Lit goto state 82
ArgP goto state 83
Parameter goto state 84
ListE1__Parameter__goto state 153
State 85
Expr0 -> fun ListE1__Parameter__ . '->' ExprBlock '$end' (rule 31)
'->' shift, and enter state 152
State 86
ArgP -> '_' . (rule 102)
'->' reduce using rule 102
'=' reduce using rule 102
'*' reduce using rule 102
'~' reduce using rule 102
'_' reduce using rule 102
true reduce using rule 102
false reduce using rule 102
',' reduce using rule 102
':' reduce using rule 102
'(' reduce using rule 102
'?(' reduce using rule 102
')' reduce using rule 102
'{' reduce using rule 102
'}' reduce using rule 102
op reduce using rule 102
ident reduce using rule 102
iident reduce using rule 102
opid reduce using rule 102
conid reduce using rule 102
qconid reduce using rule 102
int reduce using rule 102
float reduce using rule 102
string reduce using rule 102
State 87
ArgP -> '(' . List__Pattern__','__ ')' (rule 105)
'_' shift, and enter state 86
true shift, and enter state 24
false shift, and enter state 25
'(' shift, and enter state 87
')' reduce using rule 130
'{' shift, and enter state 89
ident shift, and enter state 90
conid shift, and enter state 34
qconid shift, and enter state 36
int shift, and enter state 39
float shift, and enter state 40
string shift, and enter state 41
Con goto state 131
Lit goto state 82
Pattern goto state 132
ArgP goto state 133
List__Pattern__','__goto state 134
List1__Pattern__','__goto state 135
State 88
Parameter -> '?(' . Pattern ')' (rule 110)
'_' shift, and enter state 86
true shift, and enter state 24
false shift, and enter state 25
'(' shift, and enter state 87
'{' shift, and enter state 89
ident shift, and enter state 90
conid shift, and enter state 34
qconid shift, and enter state 36
int shift, and enter state 39
float shift, and enter state 40
string shift, and enter state 41
Con goto state 131
Lit goto state 82
Pattern goto state 151
ArgP goto state 133
State 89
ArgP -> '{' . Rows__'='__Pattern__ '}' (rule 104)
'}' reduce using rule 162
ident shift, and enter state 150
Rows__'='__Pattern__goto state 149
State 90
ArgP -> ident . (rule 101)
'->' reduce using rule 101
'=' reduce using rule 101
'_' reduce using rule 101
true reduce using rule 101
false reduce using rule 101
',' reduce using rule 101
':' reduce using rule 101
'(' reduce using rule 101
'?(' reduce using rule 101
')' reduce using rule 101
'{' reduce using rule 101
'}' reduce using rule 101
ident reduce using rule 101
iident reduce using rule 101
conid reduce using rule 101
qconid reduce using rule 101
int reduce using rule 101
float reduce using rule 101
string reduce using rule 101
State 91
Parameter -> iident . (rule 109)
'->' reduce using rule 109
'=' reduce using rule 109
'_' reduce using rule 109
true reduce using rule 109
false reduce using rule 109
':' reduce using rule 109
'(' reduce using rule 109
'?(' reduce using rule 109
'{' reduce using rule 109
ident reduce using rule 109
iident reduce using rule 109
conid reduce using rule 109
qconid reduce using rule 109
int reduce using rule 109
float reduce using rule 109
string reduce using rule 109
State 92
Top -> let BindGroup . (rule 5)
Expr0 -> let BindGroup . ExprIn ExprBlock '$end' (rule 32)
BindGroup -> BindGroup . and Binding (rule 78)
and shift, and enter state 119
in shift, and enter state 147
';;' reduce using rule 5
'$in' shift, and enter state 148
'$sep' reduce using rule 5
%eof reduce using rule 5
ExprIn goto state 146
State 93
BindGroup -> Binding . (rule 77)
and reduce using rule 77
end reduce using rule 77
in reduce using rule 77
';;' reduce using rule 77
'$end' reduce using rule 77
'$in' reduce using rule 77
'$sep' reduce using rule 77
%eof reduce using rule 77
State 94
Binding -> PreBinding . (rule 79)
and reduce using rule 79
end reduce using rule 79
in reduce using rule 79
';;' reduce using rule 79
'$end' reduce using rule 79
'$in' reduce using rule 79
'$sep' reduce using rule 79
%eof reduce using rule 79
State 95
PreBinding -> BindName . ListE__Parameter__ '=' ExprBlock '$end' (rule 81)
PreBinding -> BindName . ListE__Parameter__ ':' Type '=' ExprBlock '$end' (rule 82)
'=' reduce using rule 144
'_' shift, and enter state 86
true shift, and enter state 24
false shift, and enter state 25
':' reduce using rule 144
'(' shift, and enter state 87
'?(' shift, and enter state 88
'{' shift, and enter state 89
ident shift, and enter state 90
iident shift, and enter state 91
conid shift, and enter state 34
qconid shift, and enter state 36
int shift, and enter state 39
float shift, and enter state 40
string shift, and enter state 41
Con goto state 81
Lit goto state 82
ArgP goto state 83
Parameter goto state 84
ListE__Parameter__goto state 144
ListE1__Parameter__goto state 145
State 96
PreBinding -> ArgP . BindOp ArgP '=' ExprBlock '$end' (rule 83)
'*' shift, and enter state 140
'~' shift, and enter state 141
op shift, and enter state 142
opid shift, and enter state 143
BindOp goto state 139
State 97
Binding -> implicit . PreBinding (rule 80)
'_' shift, and enter state 86
true shift, and enter state 24
false shift, and enter state 25
'(' shift, and enter state 99
'{' shift, and enter state 89
ident shift, and enter state 100
conid shift, and enter state 34
qconid shift, and enter state 36
int shift, and enter state 39
float shift, and enter state 40
string shift, and enter state 41
Con goto state 81
PreBinding goto state 138
BindName goto state 95
Lit goto state 82
ArgP goto state 96
State 98
Expr0 -> let open . Con ExprIn ExprBlock '$end' (rule 33)
conid shift, and enter state 34
qconid shift, and enter state 36
Con goto state 137
State 99
BindName -> '(' . op ')' (rule 85)
ArgP -> '(' . List__Pattern__','__ ')' (rule 105)
'_' shift, and enter state 86
true shift, and enter state 24
false shift, and enter state 25
'(' shift, and enter state 87
')' reduce using rule 130
'{' shift, and enter state 89
op shift, and enter state 136
ident shift, and enter state 90
conid shift, and enter state 34
qconid shift, and enter state 36
int shift, and enter state 39
float shift, and enter state 40
string shift, and enter state 41
Con goto state 131
Lit goto state 82
Pattern goto state 132
ArgP goto state 133
List__Pattern__','__goto state 134
List1__Pattern__','__goto state 135
State 100
BindName -> ident . (rule 84)
ArgP -> ident . (rule 101)
'=' reduce using rule 84
'*' reduce using rule 101
'~' reduce using rule 101
'_' reduce using rule 84
true reduce using rule 84
false reduce using rule 84
':' reduce using rule 84
'(' reduce using rule 84
'?(' reduce using rule 84
'{' reduce using rule 84
op reduce using rule 101
ident reduce using rule 84
iident reduce using rule 84
opid reduce using rule 101
conid reduce using rule 84
qconid reduce using rule 84
int reduce using rule 84
float reduce using rule 84
string reduce using rule 84
State 101
Atom -> Atom access . (rule 54)
'|' reduce using rule 54
'*' reduce using rule 54
'~' reduce using rule 54
'_' reduce using rule 54
then reduce using rule 54
else reduce using rule 54
begin reduce using rule 54
end reduce using rule 54
true reduce using rule 54
false reduce using rule 54
with reduce using rule 54
',' reduce using rule 54
':' reduce using rule 54
';;' reduce using rule 54
';' reduce using rule 54
'(' reduce using rule 54
')' reduce using rule 54
'@{' reduce using rule 54
'?' reduce using rule 54
'{' reduce using rule 54
'}' reduce using rule 54
op reduce using rule 54
ident reduce using rule 54
opid reduce using rule 54
conid reduce using rule 54
qident reduce using rule 54
qopid reduce using rule 54
qconid reduce using rule 54
access reduce using rule 54
hole reduce using rule 54
int reduce using rule 54
float reduce using rule 54
string reduce using rule 54
'$end' reduce using rule 54
'$sep' reduce using rule 54
%eof reduce using rule 54
State 102
ExprApp -> ExprApp Atom . (rule 29)
Atom -> Atom . access (rule 54)
'|' reduce using rule 29
'*' reduce using rule 29
'~' reduce using rule 29
'_' reduce using rule 29
then reduce using rule 29
else reduce using rule 29
begin reduce using rule 29
end reduce using rule 29
true reduce using rule 29
false reduce using rule 29
with reduce using rule 29
',' reduce using rule 29
':' reduce using rule 29
';;' reduce using rule 29
';' reduce using rule 29
'(' reduce using rule 29
')' reduce using rule 29
'@{' reduce using rule 29
'?' reduce using rule 29
'{' reduce using rule 29
'}' reduce using rule 29
op reduce using rule 29
ident reduce using rule 29
opid reduce using rule 29
conid reduce using rule 29
qident reduce using rule 29
qopid reduce using rule 29
qconid reduce using rule 29
access shift, and enter state 101
hole reduce using rule 29
int reduce using rule 29
float reduce using rule 29
string reduce using rule 29
'$end' reduce using rule 29
'$sep' reduce using rule 29
%eof reduce using rule 29
State 103
ExprApp -> ExprApp ':' . Type (rule 30)
forall shift, and enter state 55
type shift, and enter state 56
lazy shift, and enter state 57
'(' shift, and enter state 58
'{' shift, and enter state 59
ident shift, and enter state 33
conid shift, and enter state 34
qident shift, and enter state 35
qconid shift, and enter state 36
tyvar shift, and enter state 60
Var goto state 48
Con goto state 49
TyVar goto state 50
Type goto state 130
TypeProd goto state 52
TypeApp goto state 53
TypeAtom goto state 54
State 104
Repl -> Expr ReplSep . (rule 22)
%eof reduce using rule 22
State 105
Expr -> Expr Operator . ExprApp (rule 27)
'_' shift, and enter state 19
let shift, and enter state 46
fun shift, and enter state 21
if shift, and enter state 22
begin shift, and enter state 23
true shift, and enter state 24
false shift, and enter state 25
match shift, and enter state 26
function shift, and enter state 27
lazy shift, and enter state 28
'(' shift, and enter state 29
'@{' shift, and enter state 30
'?' shift, and enter state 31
'{' shift, and enter state 32
ident shift, and enter state 33
conid shift, and enter state 34
qident shift, and enter state 35
qconid shift, and enter state 36
qdotid shift, and enter state 37
hole shift, and enter state 38
int shift, and enter state 39
float shift, and enter state 40
string shift, and enter state 41
ExprApp goto state 129
Expr0 goto state 14
Atom goto state 15
Var goto state 16
Con goto state 17
Lit goto state 18
State 106
ReplSep -> ';;' . (rule 23)
%eof reduce using rule 23
State 107
ReplSep -> '$sep' . (rule 24)
%eof reduce using rule 24
State 108
Repl -> Top ReplSep . (rule 21)
%eof reduce using rule 21
State 109
Top -> open Con . (rule 14)
end reduce using rule 14
';;' reduce using rule 14
'$end' reduce using rule 14
'$sep' reduce using rule 14
%eof reduce using rule 14
State 110
Top -> module conid . '=' begin Tops end (rule 11)
Top -> module conid . '=' '$begin' Tops '$end' (rule 12)
Top -> module conid . '=' Con (rule 13)
'=' shift, and enter state 128
State 111
Top -> module qconid . '=' begin Tops end (rule 10)
'=' shift, and enter state 127
State 112
Top -> type ident . ListE__TyConArg__ (rule 7)
Top -> type ident . ListE__TyConArg__ '=' List1__Ctor__'|'__ (rule 8)
Top -> type ident . ListE__TyConArg__ '=' '|' List1__Ctor__'|'__ (rule 9)
'=' reduce using rule 146
end reduce using rule 146
';;' reduce using rule 146
'(' shift, and enter state 125
'{' shift, and enter state 126
tyvar shift, and enter state 60
'$end' reduce using rule 146
'$sep' reduce using rule 146
%eof reduce using rule 146
TyConArg goto state 121
TyVar goto state 122
ListE__TyConArg__goto state 123
ListE1__TyConArg__goto state 124
State 113
Top -> external val . ident ':' Type '=' string (rule 6)
ident shift, and enter state 120
State 114
Top -> let BindGroup . (rule 5)
BindGroup -> BindGroup . and Binding (rule 78)
and shift, and enter state 119
end reduce using rule 5
';;' reduce using rule 5
'$end' reduce using rule 5
'$sep' reduce using rule 5
%eof reduce using rule 5
State 115
List1__Top__TopSep__ -> Top TopSep . List1__Top__TopSep__ (rule 143)
let shift, and enter state 5
external shift, and enter state 6
type shift, and enter state 7
module shift, and enter state 8
open shift, and enter state 9
Top goto state 3
List1__Top__TopSep__goto state 118
State 116
TopSep -> ';;' . (rule 3)
let reduce using rule 3
external reduce using rule 3
type reduce using rule 3
module reduce using rule 3
open reduce using rule 3
State 117
TopSep -> '$sep' . (rule 4)
let reduce using rule 4
external reduce using rule 4
type reduce using rule 4
module reduce using rule 4
open reduce using rule 4
State 118
List1__Top__TopSep__ -> Top TopSep List1__Top__TopSep__ . (rule 143)
end reduce using rule 143
'$end' reduce using rule 143
%eof reduce using rule 143
State 119
BindGroup -> BindGroup and . Binding (rule 78)
'_' shift, and enter state 86
implicit shift, and enter state 97
true shift, and enter state 24
false shift, and enter state 25
'(' shift, and enter state 99
'{' shift, and enter state 89
ident shift, and enter state 100
conid shift, and enter state 34
qconid shift, and enter state 36
int shift, and enter state 39
float shift, and enter state 40
string shift, and enter state 41
Con goto state 81
Binding goto state 241
PreBinding goto state 94
BindName goto state 95
Lit goto state 82
ArgP goto state 96
State 120
Top -> external val ident . ':' Type '=' string (rule 6)
':' shift, and enter state 240
State 121
ListE1__TyConArg__ -> TyConArg . (rule 167)
ListE1__TyConArg__ -> TyConArg . ListE1__TyConArg__ (rule 168)
'=' reduce using rule 167
end reduce using rule 167
';;' reduce using rule 167
'(' shift, and enter state 125
'{' shift, and enter state 126
tyvar shift, and enter state 60
'$end' reduce using rule 167
'$sep' reduce using rule 167
%eof reduce using rule 167
TyConArg goto state 121
TyVar goto state 122
ListE1__TyConArg__goto state 239
State 122
TyConArg -> TyVar . (rule 15)
'=' reduce using rule 15
end reduce using rule 15
';;' reduce using rule 15
'(' reduce using rule 15
'{' reduce using rule 15
tyvar reduce using rule 15
'$end' reduce using rule 15
'$sep' reduce using rule 15
%eof reduce using rule 15
State 123
Top -> type ident ListE__TyConArg__ . (rule 7)
Top -> type ident ListE__TyConArg__ . '=' List1__Ctor__'|'__ (rule 8)
Top -> type ident ListE__TyConArg__ . '=' '|' List1__Ctor__'|'__ (rule 9)
'=' shift, and enter state 238
end reduce using rule 7
';;' reduce using rule 7
'$end' reduce using rule 7
'$sep' reduce using rule 7
%eof reduce using rule 7
State 124
ListE__TyConArg__ -> ListE1__TyConArg__ . (rule 147)
'=' reduce using rule 147
end reduce using rule 147
';;' reduce using rule 147
'$end' reduce using rule 147
'$sep' reduce using rule 147
%eof reduce using rule 147
State 125
TyConArg -> '(' . TyVar ':' Type ')' (rule 16)
tyvar shift, and enter state 60
TyVar goto state 237
State 126
TyConArg -> '{' . TyVar ':' Type '}' (rule 17)
tyvar shift, and enter state 60
TyVar goto state 236
State 127
Top -> module qconid '=' . begin Tops end (rule 10)
begin shift, and enter state 235
State 128
Top -> module conid '=' . begin Tops end (rule 11)
Top -> module conid '=' . '$begin' Tops '$end' (rule 12)
Top -> module conid '=' . Con (rule 13)
begin shift, and enter state 233
conid shift, and enter state 34
qconid shift, and enter state 36
'$begin' shift, and enter state 234
Con goto state 232
State 129
Expr -> Expr Operator ExprApp . (rule 27)
ExprApp -> ExprApp . Atom (rule 29)
ExprApp -> ExprApp . ':' Type (rule 30)
'|' reduce using rule 27
'*' reduce using rule 27
'~' reduce using rule 27
'_' shift, and enter state 19
then reduce using rule 27
else reduce using rule 27
begin shift, and enter state 23
end reduce using rule 27
true shift, and enter state 24
false shift, and enter state 25
with reduce using rule 27
',' reduce using rule 27
':' shift, and enter state 103
';;' reduce using rule 27
';' reduce using rule 27
'(' shift, and enter state 29
')' reduce using rule 27
'@{' shift, and enter state 30
'?' shift, and enter state 31
'{' shift, and enter state 32
'}' reduce using rule 27
op reduce using rule 27
ident shift, and enter state 33
opid reduce using rule 27
conid shift, and enter state 34
qident shift, and enter state 35
qopid reduce using rule 27
qconid shift, and enter state 36
hole shift, and enter state 38
int shift, and enter state 39
float shift, and enter state 40
string shift, and enter state 41
'$end' reduce using rule 27
'$sep' reduce using rule 27
%eof reduce using rule 27
Atom goto state 102
Var goto state 16
Con goto state 17
Lit goto state 18
State 130
ExprApp -> ExprApp ':' Type . (rule 30)
'|' reduce using rule 30
'*' reduce using rule 30
'~' reduce using rule 30
'_' reduce using rule 30
then reduce using rule 30
else reduce using rule 30
begin reduce using rule 30
end reduce using rule 30
true reduce using rule 30
false reduce using rule 30
with reduce using rule 30
',' reduce using rule 30
':' reduce using rule 30
';;' reduce using rule 30
';' reduce using rule 30
'(' reduce using rule 30
')' reduce using rule 30
'@{' reduce using rule 30
'?' reduce using rule 30
'{' reduce using rule 30
'}' reduce using rule 30
op reduce using rule 30
ident reduce using rule 30
opid reduce using rule 30
conid reduce using rule 30
qident reduce using rule 30
qopid reduce using rule 30
qconid reduce using rule 30
hole reduce using rule 30
int reduce using rule 30
float reduce using rule 30
string reduce using rule 30
'$end' reduce using rule 30
'$sep' reduce using rule 30
%eof reduce using rule 30
State 131
Pattern -> Con . ArgP (rule 99)
ArgP -> Con . (rule 103)
'_' shift, and enter state 86
true shift, and enter state 24
false shift, and enter state 25
',' reduce using rule 103
':' reduce using rule 103
'(' shift, and enter state 87
')' reduce using rule 103
'{' shift, and enter state 89
'}' reduce using rule 103
ident shift, and enter state 90
conid shift, and enter state 34
qconid shift, and enter state 36
int shift, and enter state 39
float shift, and enter state 40
string shift, and enter state 41
Con goto state 81
Lit goto state 82
ArgP goto state 231
State 132
Pattern -> Pattern . ':' Type (rule 100)
List1__Pattern__','__ -> Pattern . (rule 165)
List1__Pattern__','__ -> Pattern . ',' List1__Pattern__','__ (rule 166)
',' shift, and enter state 230
':' shift, and enter state 219
')' reduce using rule 165
State 133
Pattern -> ArgP . (rule 98)
',' reduce using rule 98
':' reduce using rule 98
')' reduce using rule 98
'}' reduce using rule 98
State 134
ArgP -> '(' List__Pattern__','__ . ')' (rule 105)
')' shift, and enter state 229
State 135
List__Pattern__','__ -> List1__Pattern__','__ . (rule 131)
')' reduce using rule 131
State 136
BindName -> '(' op . ')' (rule 85)
')' shift, and enter state 228
State 137
Expr0 -> let open Con . ExprIn ExprBlock '$end' (rule 33)
in shift, and enter state 147
'$in' shift, and enter state 148
ExprIn goto state 227
State 138
Binding -> implicit PreBinding . (rule 80)
and reduce using rule 80
end reduce using rule 80
in reduce using rule 80
';;' reduce using rule 80
'$end' reduce using rule 80
'$in' reduce using rule 80
'$sep' reduce using rule 80
%eof reduce using rule 80
State 139
PreBinding -> ArgP BindOp . ArgP '=' ExprBlock '$end' (rule 83)
'_' shift, and enter state 86
true shift, and enter state 24
false shift, and enter state 25
'(' shift, and enter state 87
'{' shift, and enter state 89
ident shift, and enter state 90
conid shift, and enter state 34
qconid shift, and enter state 36
int shift, and enter state 39
float shift, and enter state 40
string shift, and enter state 41
Con goto state 81
Lit goto state 82
ArgP goto state 226
State 140
BindOp -> '*' . (rule 86)
'_' reduce using rule 86
true reduce using rule 86
false reduce using rule 86
'(' reduce using rule 86
'{' reduce using rule 86
ident reduce using rule 86
conid reduce using rule 86
qconid reduce using rule 86
int reduce using rule 86
float reduce using rule 86
string reduce using rule 86
State 141
BindOp -> '~' . (rule 87)
'_' reduce using rule 87
true reduce using rule 87
false reduce using rule 87
'(' reduce using rule 87
'{' reduce using rule 87
ident reduce using rule 87
conid reduce using rule 87
qconid reduce using rule 87
int reduce using rule 87
float reduce using rule 87
string reduce using rule 87
State 142
BindOp -> op . (rule 88)
'_' reduce using rule 88
true reduce using rule 88
false reduce using rule 88
'(' reduce using rule 88
'{' reduce using rule 88
ident reduce using rule 88
conid reduce using rule 88
qconid reduce using rule 88
int reduce using rule 88
float reduce using rule 88
string reduce using rule 88
State 143
BindOp -> opid . (rule 89)
'_' reduce using rule 89
true reduce using rule 89
false reduce using rule 89
'(' reduce using rule 89
'{' reduce using rule 89
ident reduce using rule 89
conid reduce using rule 89
qconid reduce using rule 89
int reduce using rule 89
float reduce using rule 89
string reduce using rule 89
State 144
PreBinding -> BindName ListE__Parameter__ . '=' ExprBlock '$end' (rule 81)
PreBinding -> BindName ListE__Parameter__ . ':' Type '=' ExprBlock '$end' (rule 82)
'=' shift, and enter state 224
':' shift, and enter state 225
State 145
ListE__Parameter__ -> ListE1__Parameter__ . (rule 145)
'=' reduce using rule 145
':' reduce using rule 145
State 146
Expr0 -> let BindGroup ExprIn . ExprBlock '$end' (rule 32)
'_' shift, and enter state 19
let shift, and enter state 46
fun shift, and enter state 21
if shift, and enter state 22
begin shift, and enter state 23
true shift, and enter state 24
false shift, and enter state 25
match shift, and enter state 26
function shift, and enter state 27
lazy shift, and enter state 28
'(' shift, and enter state 29
'@{' shift, and enter state 30
'?' shift, and enter state 31
'{' shift, and enter state 32
ident shift, and enter state 33
conid shift, and enter state 34
qident shift, and enter state 35
qconid shift, and enter state 36
qdotid shift, and enter state 37
hole shift, and enter state 38
int shift, and enter state 39
float shift, and enter state 40
string shift, and enter state 41
Expr goto state 78
ExprApp goto state 13
Expr0 goto state 14
Atom goto state 15
ExprBlock goto state 223
Var goto state 16
Con goto state 17
Lit goto state 18
List1__Expr__ExprSep__goto state 217
State 147
ExprIn -> in . (rule 58)
'_' reduce using rule 58
let reduce using rule 58
fun reduce using rule 58
if reduce using rule 58
begin reduce using rule 58
true reduce using rule 58
false reduce using rule 58
match reduce using rule 58
function reduce using rule 58
lazy reduce using rule 58
'(' reduce using rule 58
'@{' reduce using rule 58
'?' reduce using rule 58
'{' reduce using rule 58
ident reduce using rule 58
conid reduce using rule 58
qident reduce using rule 58
qconid reduce using rule 58
qdotid reduce using rule 58
hole reduce using rule 58
int reduce using rule 58
float reduce using rule 58
string reduce using rule 58
State 148
ExprIn -> '$in' . (rule 59)
'_' reduce using rule 59
let reduce using rule 59
fun reduce using rule 59
if reduce using rule 59
begin reduce using rule 59
true reduce using rule 59
false reduce using rule 59
match reduce using rule 59
function reduce using rule 59
lazy reduce using rule 59
'(' reduce using rule 59
'@{' reduce using rule 59
'?' reduce using rule 59
'{' reduce using rule 59
ident reduce using rule 59
conid reduce using rule 59
qident reduce using rule 59
qconid reduce using rule 59
qdotid reduce using rule 59
hole reduce using rule 59
int reduce using rule 59
float reduce using rule 59
string reduce using rule 59
State 149
ArgP -> '{' Rows__'='__Pattern__ . '}' (rule 104)
'}' shift, and enter state 222
State 150
Rows__'='__Pattern__ -> ident . '=' Pattern ',' Rows__'='__Pattern__ (rule 163)
Rows__'='__Pattern__ -> ident . '=' Pattern (rule 164)
'=' shift, and enter state 221
State 151
Pattern -> Pattern . ':' Type (rule 100)
Parameter -> '?(' Pattern . ')' (rule 110)
':' shift, and enter state 219
')' shift, and enter state 220
State 152
Expr0 -> fun ListE1__Parameter__ '->' . ExprBlock '$end' (rule 31)
'_' shift, and enter state 19
let shift, and enter state 46
fun shift, and enter state 21
if shift, and enter state 22
begin shift, and enter state 23
true shift, and enter state 24
false shift, and enter state 25
match shift, and enter state 26
function shift, and enter state 27
lazy shift, and enter state 28
'(' shift, and enter state 29
'@{' shift, and enter state 30
'?' shift, and enter state 31
'{' shift, and enter state 32
ident shift, and enter state 33
conid shift, and enter state 34
qident shift, and enter state 35
qconid shift, and enter state 36
qdotid shift, and enter state 37
hole shift, and enter state 38
int shift, and enter state 39
float shift, and enter state 40
string shift, and enter state 41
Expr goto state 78
ExprApp goto state 13
Expr0 goto state 14
Atom goto state 15
ExprBlock goto state 218
Var goto state 16
Con goto state 17
Lit goto state 18
List1__Expr__ExprSep__goto state 217
State 153
ListE1__Parameter__ -> Parameter ListE1__Parameter__ . (rule 153)
'->' reduce using rule 153
'=' reduce using rule 153
':' reduce using rule 153
State 154
Expr0 -> if Expr then . ExprBlock else ExprBlock '$end' (rule 34)
'_' shift, and enter state 19
let shift, and enter state 46
fun shift, and enter state 21
if shift, and enter state 22
begin shift, and enter state 23
true shift, and enter state 24
false shift, and enter state 25
match shift, and enter state 26
function shift, and enter state 27
lazy shift, and enter state 28
'(' shift, and enter state 29
'@{' shift, and enter state 30
'?' shift, and enter state 31
'{' shift, and enter state 32
ident shift, and enter state 33
conid shift, and enter state 34
qident shift, and enter state 35
qconid shift, and enter state 36
qdotid shift, and enter state 37
hole shift, and enter state 38
int shift, and enter state 39
float shift, and enter state 40
string shift, and enter state 41
Expr goto state 78
ExprApp goto state 13
Expr0 goto state 14
Atom goto state 15
ExprBlock goto state 216
Var goto state 16
Con goto state 17
Lit goto state 18
List1__Expr__ExprSep__goto state 217
State 155
Atom -> begin List1__Expr__ExprSep__ end . (rule 46)
'|' reduce using rule 46
'*' reduce using rule 46
'~' reduce using rule 46
'_' reduce using rule 46
then reduce using rule 46
else reduce using rule 46
begin reduce using rule 46
end reduce using rule 46
true reduce using rule 46
false reduce using rule 46
with reduce using rule 46
',' reduce using rule 46
':' reduce using rule 46
';;' reduce using rule 46
';' reduce using rule 46
'(' reduce using rule 46
')' reduce using rule 46
'@{' reduce using rule 46
'?' reduce using rule 46
'{' reduce using rule 46
'}' reduce using rule 46
op reduce using rule 46
ident reduce using rule 46
opid reduce using rule 46
conid reduce using rule 46
qident reduce using rule 46
qopid reduce using rule 46
qconid reduce using rule 46
access reduce using rule 46
hole reduce using rule 46
int reduce using rule 46
float reduce using rule 46
string reduce using rule 46
'$end' reduce using rule 46
'$sep' reduce using rule 46
%eof reduce using rule 46
State 156
List1__Expr__ExprSep__ -> Expr ExprSep . List1__Expr__ExprSep__ (rule 137)
'_' shift, and enter state 19
let shift, and enter state 46
fun shift, and enter state 21
if shift, and enter state 22
begin shift, and enter state 23
true shift, and enter state 24
false shift, and enter state 25
match shift, and enter state 26
function shift, and enter state 27
lazy shift, and enter state 28
'(' shift, and enter state 29
'@{' shift, and enter state 30
'?' shift, and enter state 31
'{' shift, and enter state 32
ident shift, and enter state 33
conid shift, and enter state 34
qident shift, and enter state 35
qconid shift, and enter state 36
qdotid shift, and enter state 37
hole shift, and enter state 38
int shift, and enter state 39
float shift, and enter state 40
string shift, and enter state 41
Expr goto state 78
ExprApp goto state 13
Expr0 goto state 14
Atom goto state 15
Var goto state 16
Con goto state 17
Lit goto state 18
List1__Expr__ExprSep__goto state 215
State 157
ExprSep -> ';' . (rule 56)
'_' reduce using rule 56
let reduce using rule 56
fun reduce using rule 56
if reduce using rule 56
begin reduce using rule 56
true reduce using rule 56
false reduce using rule 56
match reduce using rule 56
function reduce using rule 56
lazy reduce using rule 56
'(' reduce using rule 56
'@{' reduce using rule 56
'?' reduce using rule 56
'{' reduce using rule 56
ident reduce using rule 56
conid reduce using rule 56
qident reduce using rule 56
qconid reduce using rule 56
qdotid reduce using rule 56
hole reduce using rule 56
int reduce using rule 56
float reduce using rule 56
string reduce using rule 56
State 158
ExprSep -> '$sep' . (rule 57)
'_' reduce using rule 57
let reduce using rule 57
fun reduce using rule 57
if reduce using rule 57
begin reduce using rule 57
true reduce using rule 57
false reduce using rule 57
match reduce using rule 57
function reduce using rule 57
lazy reduce using rule 57
'(' reduce using rule 57
'@{' reduce using rule 57
'?' reduce using rule 57
'{' reduce using rule 57
ident reduce using rule 57
conid reduce using rule 57
qident reduce using rule 57
qconid reduce using rule 57
qdotid reduce using rule 57
hole reduce using rule 57
int reduce using rule 57
float reduce using rule 57
string reduce using rule 57
State 159
Expr0 -> match List1__Expr__','__ with . ListE1__Arm__ '$end' (rule 35)
Expr0 -> match List1__Expr__','__ with . '(' ')' (rule 36)
'|' shift, and enter state 75
'(' shift, and enter state 214
Arm goto state 73
ListE1__Arm__ goto state 213
State 160
List1__Expr__','__ -> Expr ',' . List1__Expr__','__ (rule 135)
'_' shift, and enter state 19
let shift, and enter state 46
fun shift, and enter state 21
if shift, and enter state 22
begin shift, and enter state 23
true shift, and enter state 24
false shift, and enter state 25
match shift, and enter state 26
function shift, and enter state 27
lazy shift, and enter state 28
'(' shift, and enter state 29
'@{' shift, and enter state 30
'?' shift, and enter state 31
'{' shift, and enter state 32
ident shift, and enter state 33
conid shift, and enter state 34
qident shift, and enter state 35
qconid shift, and enter state 36
qdotid shift, and enter state 37
hole shift, and enter state 38
int shift, and enter state 39
float shift, and enter state 40
string shift, and enter state 41
Expr goto state 76
ExprApp goto state 13
Expr0 goto state 14
Atom goto state 15
Var goto state 16
Con goto state 17
Lit goto state 18
List1__Expr__','__goto state 212
State 161
MPattern -> Con . ArgP (rule 96)
ArgP -> Con . (rule 103)
'->' reduce using rule 103
'_' shift, and enter state 86
true shift, and enter state 24
false shift, and enter state 25
',' reduce using rule 103
':' reduce using rule 103
'(' shift, and enter state 87
'{' shift, and enter state 89
ident shift, and enter state 90
conid shift, and enter state 34
qconid shift, and enter state 36
int shift, and enter state 39
float shift, and enter state 40
string shift, and enter state 41
Con goto state 81
Lit goto state 82
ArgP goto state 211
State 162
MPattern -> MPattern . ':' TypeProd (rule 97)
List1__MPattern__','__ -> MPattern . (rule 138)
List1__MPattern__','__ -> MPattern . ',' List1__MPattern__','__ (rule 139)
'->' reduce using rule 138
',' shift, and enter state 209
':' shift, and enter state 210
State 163
MPattern -> ArgP . (rule 95)
'->' reduce using rule 95
',' reduce using rule 95
':' reduce using rule 95
State 164
Arm -> '|' List1__MPattern__','__ . '->' ExprBlock (rule 107)
'->' shift, and enter state 208
State 165
Expr0 -> function ListE1__Arm__ '$end' . (rule 37)
'|' reduce using rule 37
'*' reduce using rule 37
'~' reduce using rule 37
'_' reduce using rule 37
then reduce using rule 37
else reduce using rule 37
begin reduce using rule 37
end reduce using rule 37
true reduce using rule 37
false reduce using rule 37
with reduce using rule 37
',' reduce using rule 37
':' reduce using rule 37
';;' reduce using rule 37
';' reduce using rule 37
'(' reduce using rule 37
')' reduce using rule 37
'@{' reduce using rule 37
'?' reduce using rule 37
'{' reduce using rule 37
'}' reduce using rule 37
op reduce using rule 37
ident reduce using rule 37
opid reduce using rule 37
conid reduce using rule 37
qident reduce using rule 37
qopid reduce using rule 37
qconid reduce using rule 37
hole reduce using rule 37
int reduce using rule 37
float reduce using rule 37
string reduce using rule 37
'$end' reduce using rule 37
'$sep' reduce using rule 37
%eof reduce using rule 37
State 166
ListE1__Arm__ -> Arm ListE1__Arm__ . (rule 149)
'$end' reduce using rule 149
State 167
Atom -> '(' NullSection ',' . List1__NullSection__','__ ')' (rule 49)
'*' shift, and enter state 65
'~' shift, and enter state 66
'_' shift, and enter state 19
let shift, and enter state 46
fun shift, and enter state 21
if shift, and enter state 22
begin shift, and enter state 23
true shift, and enter state 24
false shift, and enter state 25
match shift, and enter state 26
function shift, and enter state 27
lazy shift, and enter state 28
',' reduce using rule 70
'(' shift, and enter state 29
')' reduce using rule 70
'@{' shift, and enter state 30
'?' shift, and enter state 31
'{' shift, and enter state 32
op shift, and enter state 68
ident shift, and enter state 33
opid shift, and enter state 69
conid shift, and enter state 34
qident shift, and enter state 35
qopid shift, and enter state 70
qconid shift, and enter state 36
qdotid shift, and enter state 37
access shift, and enter state 71
hole shift, and enter state 38
int shift, and enter state 39
float shift, and enter state 40
string shift, and enter state 41
Expr goto state 61
ExprApp goto state 13
Expr0 goto state 14
Atom goto state 15
Operator goto state 62
Section goto state 205
NullSection goto state 206
Var goto state 16
Con goto state 17
Lit goto state 18
List1__NullSection__','__goto state 207
State 168
Atom -> '(' Section ')' . (rule 48)
'|' reduce using rule 48
'*' reduce using rule 48
'~' reduce using rule 48
'_' reduce using rule 48
then reduce using rule 48
else reduce using rule 48
begin reduce using rule 48
end reduce using rule 48
true reduce using rule 48
false reduce using rule 48
with reduce using rule 48
',' reduce using rule 48
':' reduce using rule 48
';;' reduce using rule 48
';' reduce using rule 48
'(' reduce using rule 48
')' reduce using rule 48
'@{' reduce using rule 48
'?' reduce using rule 48
'{' reduce using rule 48
'}' reduce using rule 48
op reduce using rule 48
ident reduce using rule 48
opid reduce using rule 48
conid reduce using rule 48
qident reduce using rule 48
qopid reduce using rule 48
qconid reduce using rule 48
access reduce using rule 48
hole reduce using rule 48
int reduce using rule 48
float reduce using rule 48
string reduce using rule 48
'$end' reduce using rule 48
'$sep' reduce using rule 48
%eof reduce using rule 48
State 169
Expr -> Expr . Operator ExprApp (rule 27)
Section -> Operator Expr . (rule 69)
'*' shift, and enter state 65
'~' shift, and enter state 66
',' reduce using rule 69
')' reduce using rule 69
op shift, and enter state 68
opid shift, and enter state 69
qopid shift, and enter state 70
Operator goto state 105
State 170
Expr -> Expr Operator . ExprApp (rule 27)
Section -> Expr Operator . (rule 68)
'_' shift, and enter state 19
let shift, and enter state 46
fun shift, and enter state 21
if shift, and enter state 22
begin shift, and enter state 23
true shift, and enter state 24
false shift, and enter state 25
match shift, and enter state 26
function shift, and enter state 27
lazy shift, and enter state 28
',' reduce using rule 68
'(' shift, and enter state 29
')' reduce using rule 68
'@{' shift, and enter state 30
'?' shift, and enter state 31
'{' shift, and enter state 32
ident shift, and enter state 33
conid shift, and enter state 34
qident shift, and enter state 35
qconid shift, and enter state 36
qdotid shift, and enter state 37
hole shift, and enter state 38
int shift, and enter state 39
float shift, and enter state 40
string shift, and enter state 41
ExprApp goto state 129
Expr0 goto state 14
Atom goto state 15
Var goto state 16
Con goto state 17
Lit goto state 18
State 171
TypeAtom -> '{' Type . '|' Rows__':'__Type__ '}' (rule 129)
'|' shift, and enter state 204
State 172
TypeAtom -> '{' Rows__':'__Type__ . '}' (rule 128)
'}' shift, and enter state 203
State 173
Var -> ident . (rule 72)
Rows__':'__Type__ -> ident . ':' Type ',' Rows__':'__Type__ (rule 157)
Rows__':'__Type__ -> ident . ':' Type (rule 158)
'->' reduce using rule 72
'=>' reduce using rule 72
'|' reduce using rule 72
'*' reduce using rule 72
type reduce using rule 72
lazy reduce using rule 72
':' shift, and enter state 202
'(' reduce using rule 72
'{' reduce using rule 72
ident reduce using rule 72
conid reduce using rule 72
qident reduce using rule 72
qconid reduce using rule 72
tyvar reduce using rule 72
State 174
TypeAtom -> '(' Type . ')' (rule 127)
')' shift, and enter state 201
State 175
TypeAtom -> '(' ')' . (rule 126)
'->' reduce using rule 126
'=' reduce using rule 126
'=>' reduce using rule 126
'|' reduce using rule 126
'*' reduce using rule 126
'~' reduce using rule 126
'_' reduce using rule 126
then reduce using rule 126
else reduce using rule 126
begin reduce using rule 126
end reduce using rule 126
true reduce using rule 126
false reduce using rule 126
with reduce using rule 126
type reduce using rule 126
lazy reduce using rule 126
',' reduce using rule 126
':' reduce using rule 126
';;' reduce using rule 126
';' reduce using rule 126
'(' reduce using rule 126
')' reduce using rule 126
'@{' reduce using rule 126
'?' reduce using rule 126
'{' reduce using rule 126
'}' reduce using rule 126
op reduce using rule 126
ident reduce using rule 126
opid reduce using rule 126
conid reduce using rule 126
qident reduce using rule 126
qopid reduce using rule 126
qconid reduce using rule 126
tyvar reduce using rule 126
hole reduce using rule 126
int reduce using rule 126
float reduce using rule 126
string reduce using rule 126
'$end' reduce using rule 126
'$sep' reduce using rule 126
%eof reduce using rule 126
State 176
ListE1__BoundTv__ -> BoundTv . (rule 150)
ListE1__BoundTv__ -> BoundTv . ListE1__BoundTv__ (rule 151)
'->' reduce using rule 150
'(' shift, and enter state 179
BoundTv goto state 176
ListE1__BoundTv__goto state 200
State 177
Type -> forall ListE1__BoundTv__ . '->' Type (rule 115)
'->' shift, and enter state 199
State 178
Type -> forall ListE1__tyvar__ . '.' Type (rule 114)
'.' shift, and enter state 198
State 179
BoundTv -> '(' . tyvar ':' Type ')' (rule 116)
tyvar shift, and enter state 197
State 180
ListE1__tyvar__ -> tyvar . (rule 154)
ListE1__tyvar__ -> tyvar . ListE1__tyvar__ (rule 155)
'.' reduce using rule 154
tyvar shift, and enter state 180
ListE1__tyvar__goto state 196
State 181
TypeApp -> TypeApp TypeAtom . (rule 120)
'->' reduce using rule 120
'=' reduce using rule 120
'=>' reduce using rule 120
'|' reduce using rule 120
'*' reduce using rule 120
'~' reduce using rule 120
'_' reduce using rule 120
then reduce using rule 120
else reduce using rule 120
begin reduce using rule 120
end reduce using rule 120
true reduce using rule 120
false reduce using rule 120
with reduce using rule 120
type reduce using rule 120
lazy reduce using rule 120
',' reduce using rule 120
':' reduce using rule 120
';;' reduce using rule 120
';' reduce using rule 120
'(' reduce using rule 120
')' reduce using rule 120
'@{' reduce using rule 120
'?' reduce using rule 120
'{' reduce using rule 120
'}' reduce using rule 120
op reduce using rule 120
ident reduce using rule 120
opid reduce using rule 120
conid reduce using rule 120
qident reduce using rule 120
qopid reduce using rule 120
qconid reduce using rule 120
tyvar reduce using rule 120
hole reduce using rule 120
int reduce using rule 120
float reduce using rule 120
string reduce using rule 120
'$end' reduce using rule 120
'$sep' reduce using rule 120
%eof reduce using rule 120
State 182
TypeProd -> TypeApp '*' . TypeProd (rule 118)
type shift, and enter state 56
lazy shift, and enter state 57
'(' shift, and enter state 58
'{' shift, and enter state 59
ident shift, and enter state 33
conid shift, and enter state 34
qident shift, and enter state 35
qconid shift, and enter state 36
tyvar shift, and enter state 60
Var goto state 48
Con goto state 49
TyVar goto state 50
TypeProd goto state 195
TypeApp goto state 53
TypeAtom goto state 54
State 183
Type -> TypeProd '->' . Type (rule 112)
forall shift, and enter state 55
type shift, and enter state 56
lazy shift, and enter state 57
'(' shift, and enter state 58
'{' shift, and enter state 59
ident shift, and enter state 33
conid shift, and enter state 34
qident shift, and enter state 35
qconid shift, and enter state 36
tyvar shift, and enter state 60
Var goto state 48
Con goto state 49
TyVar goto state 50
Type goto state 194
TypeProd goto state 52
TypeApp goto state 53
TypeAtom goto state 54
State 184
Type -> TypeProd '=>' . Type (rule 113)
forall shift, and enter state 55
type shift, and enter state 56
lazy shift, and enter state 57
'(' shift, and enter state 58
'{' shift, and enter state 59
ident shift, and enter state 33
conid shift, and enter state 34
qident shift, and enter state 35
qconid shift, and enter state 36
tyvar shift, and enter state 60
Var goto state 48
Con goto state 49
TyVar goto state 50
Type goto state 193
TypeProd goto state 52
TypeApp goto state 53
TypeAtom goto state 54
State 185
Atom -> '@{' Type '}' . (rule 53)
'|' reduce using rule 53
'*' reduce using rule 53
'~' reduce using rule 53
'_' reduce using rule 53
then reduce using rule 53
else reduce using rule 53
begin reduce using rule 53
end reduce using rule 53
true reduce using rule 53
false reduce using rule 53
with reduce using rule 53
',' reduce using rule 53
':' reduce using rule 53
';;' reduce using rule 53
';' reduce using rule 53
'(' reduce using rule 53
')' reduce using rule 53
'@{' reduce using rule 53
'?' reduce using rule 53
'{' reduce using rule 53
'}' reduce using rule 53
op reduce using rule 53
ident reduce using rule 53
opid reduce using rule 53
conid reduce using rule 53
qident reduce using rule 53
qopid reduce using rule 53
qconid reduce using rule 53
access reduce using rule 53
hole reduce using rule 53
int reduce using rule 53
float reduce using rule 53
string reduce using rule 53
'$end' reduce using rule 53
'$sep' reduce using rule 53
%eof reduce using rule 53
State 186
Rows__'='__Expr__ -> ident '=' . Expr ',' Rows__'='__Expr__ (rule 160)
Rows__'='__Expr__ -> ident '=' . Expr (rule 161)
'_' shift, and enter state 19
let shift, and enter state 46
fun shift, and enter state 21
if shift, and enter state 22
begin shift, and enter state 23
true shift, and enter state 24
false shift, and enter state 25
match shift, and enter state 26
function shift, and enter state 27
lazy shift, and enter state 28
'(' shift, and enter state 29
'@{' shift, and enter state 30
'?' shift, and enter state 31
'{' shift, and enter state 32
ident shift, and enter state 33
conid shift, and enter state 34
qident shift, and enter state 35
qconid shift, and enter state 36
qdotid shift, and enter state 37
hole shift, and enter state 38
int shift, and enter state 39
float shift, and enter state 40
string shift, and enter state 41
Expr goto state 192
ExprApp goto state 13
Expr0 goto state 14
Atom goto state 15
Var goto state 16
Con goto state 17
Lit goto state 18
State 187
Expr0 -> let BindGroup . ExprIn ExprBlock '$end' (rule 32)
BindGroup -> BindGroup . and Binding (rule 78)
and shift, and enter state 119
in shift, and enter state 147
'$in' shift, and enter state 148
ExprIn goto state 146
State 188
Atom -> '{' Rows__'='__Expr__ '}' . (rule 50)
'|' reduce using rule 50
'*' reduce using rule 50
'~' reduce using rule 50
'_' reduce using rule 50
then reduce using rule 50
else reduce using rule 50
begin reduce using rule 50
end reduce using rule 50
true reduce using rule 50
false reduce using rule 50
with reduce using rule 50
',' reduce using rule 50
':' reduce using rule 50
';;' reduce using rule 50
';' reduce using rule 50
'(' reduce using rule 50
')' reduce using rule 50
'@{' reduce using rule 50
'?' reduce using rule 50
'{' reduce using rule 50
'}' reduce using rule 50
op reduce using rule 50
ident reduce using rule 50
opid reduce using rule 50
conid reduce using rule 50
qident reduce using rule 50
qopid reduce using rule 50
qconid reduce using rule 50
access reduce using rule 50
hole reduce using rule 50
int reduce using rule 50
float reduce using rule 50
string reduce using rule 50
'$end' reduce using rule 50
'$sep' reduce using rule 50
%eof reduce using rule 50
State 189
Atom -> '{' Expr with . Rows__'='__Expr__ '}' (rule 51)
'}' reduce using rule 159
ident shift, and enter state 191
Rows__'='__Expr__goto state 190
State 190
Atom -> '{' Expr with Rows__'='__Expr__ . '}' (rule 51)
'}' shift, and enter state 276
State 191
Rows__'='__Expr__ -> ident . '=' Expr ',' Rows__'='__Expr__ (rule 160)
Rows__'='__Expr__ -> ident . '=' Expr (rule 161)
'=' shift, and enter state 186
State 192
Expr -> Expr . Operator ExprApp (rule 27)
Rows__'='__Expr__ -> ident '=' Expr . ',' Rows__'='__Expr__ (rule 160)
Rows__'='__Expr__ -> ident '=' Expr . (rule 161)
'*' shift, and enter state 65
'~' shift, and enter state 66
',' shift, and enter state 275
'}' reduce using rule 161
op shift, and enter state 68
opid shift, and enter state 69
qopid shift, and enter state 70
Operator goto state 105
State 193
Type -> TypeProd '=>' Type . (rule 113)
'=' reduce using rule 113
'|' reduce using rule 113
'*' reduce using rule 113
'~' reduce using rule 113
'_' reduce using rule 113
then reduce using rule 113
else reduce using rule 113
begin reduce using rule 113
end reduce using rule 113
true reduce using rule 113
false reduce using rule 113
with reduce using rule 113
',' reduce using rule 113
':' reduce using rule 113
';;' reduce using rule 113
';' reduce using rule 113
'(' reduce using rule 113
')' reduce using rule 113
'@{' reduce using rule 113
'?' reduce using rule 113
'{' reduce using rule 113
'}' reduce using rule 113
op reduce using rule 113
ident reduce using rule 113
opid reduce using rule 113
conid reduce using rule 113
qident reduce using rule 113
qopid reduce using rule 113
qconid reduce using rule 113
hole reduce using rule 113
int reduce using rule 113
float reduce using rule 113
string reduce using rule 113
'$end' reduce using rule 113
'$sep' reduce using rule 113
%eof reduce using rule 113
State 194
Type -> TypeProd '->' Type . (rule 112)
'=' reduce using rule 112
'|' reduce using rule 112
'*' reduce using rule 112
'~' reduce using rule 112
'_' reduce using rule 112
then reduce using rule 112
else reduce using rule 112
begin reduce using rule 112
end reduce using rule 112
true reduce using rule 112
false reduce using rule 112
with reduce using rule 112
',' reduce using rule 112
':' reduce using rule 112
';;' reduce using rule 112
';' reduce using rule 112
'(' reduce using rule 112
')' reduce using rule 112
'@{' reduce using rule 112
'?' reduce using rule 112
'{' reduce using rule 112
'}' reduce using rule 112
op reduce using rule 112
ident reduce using rule 112
opid reduce using rule 112
conid reduce using rule 112
qident reduce using rule 112
qopid reduce using rule 112
qconid reduce using rule 112
hole reduce using rule 112
int reduce using rule 112
float reduce using rule 112
string reduce using rule 112
'$end' reduce using rule 112
'$sep' reduce using rule 112
%eof reduce using rule 112
State 195
TypeProd -> TypeApp '*' TypeProd . (rule 118)
'->' reduce using rule 118
'=' reduce using rule 118
'=>' reduce using rule 118
'|' reduce using rule 118
'*' reduce using rule 118
'~' reduce using rule 118
'_' reduce using rule 118
then reduce using rule 118
else reduce using rule 118
begin reduce using rule 118
end reduce using rule 118
true reduce using rule 118
false reduce using rule 118
with reduce using rule 118
',' reduce using rule 118
':' reduce using rule 118
';;' reduce using rule 118
';' reduce using rule 118
'(' reduce using rule 118
')' reduce using rule 118
'@{' reduce using rule 118
'?' reduce using rule 118
'{' reduce using rule 118
'}' reduce using rule 118
op reduce using rule 118
ident reduce using rule 118
opid reduce using rule 118
conid reduce using rule 118
qident reduce using rule 118
qopid reduce using rule 118
qconid reduce using rule 118
hole reduce using rule 118
int reduce using rule 118
float reduce using rule 118
string reduce using rule 118
'$end' reduce using rule 118
'$sep' reduce using rule 118
%eof reduce using rule 118
State 196
ListE1__tyvar__ -> tyvar ListE1__tyvar__ . (rule 155)
'.' reduce using rule 155
State 197
BoundTv -> '(' tyvar . ':' Type ')' (rule 116)
':' shift, and enter state 274
State 198
Type -> forall ListE1__tyvar__ '.' . Type (rule 114)
forall shift, and enter state 55
type shift, and enter state 56
lazy shift, and enter state 57
'(' shift, and enter state 58
'{' shift, and enter state 59
ident shift, and enter state 33
conid shift, and enter state 34
qident shift, and enter state 35
qconid shift, and enter state 36
tyvar shift, and enter state 60
Var goto state 48
Con goto state 49
TyVar goto state 50
Type goto state 273
TypeProd goto state 52
TypeApp goto state 53
TypeAtom goto state 54
State 199
Type -> forall ListE1__BoundTv__ '->' . Type (rule 115)
forall shift, and enter state 55
type shift, and enter state 56
lazy shift, and enter state 57
'(' shift, and enter state 58
'{' shift, and enter state 59
ident shift, and enter state 33
conid shift, and enter state 34
qident shift, and enter state 35
qconid shift, and enter state 36
tyvar shift, and enter state 60
Var goto state 48
Con goto state 49
TyVar goto state 50
Type goto state 272
TypeProd goto state 52
TypeApp goto state 53
TypeAtom goto state 54
State 200
ListE1__BoundTv__ -> BoundTv ListE1__BoundTv__ . (rule 151)
'->' reduce using rule 151
State 201
TypeAtom -> '(' Type ')' . (rule 127)
'->' reduce using rule 127
'=' reduce using rule 127
'=>' reduce using rule 127
'|' reduce using rule 127
'*' reduce using rule 127
'~' reduce using rule 127
'_' reduce using rule 127
then reduce using rule 127
else reduce using rule 127
begin reduce using rule 127
end reduce using rule 127
true reduce using rule 127
false reduce using rule 127
with reduce using rule 127
type reduce using rule 127
lazy reduce using rule 127
',' reduce using rule 127
':' reduce using rule 127
';;' reduce using rule 127
';' reduce using rule 127
'(' reduce using rule 127
')' reduce using rule 127
'@{' reduce using rule 127
'?' reduce using rule 127
'{' reduce using rule 127
'}' reduce using rule 127
op reduce using rule 127
ident reduce using rule 127
opid reduce using rule 127
conid reduce using rule 127
qident reduce using rule 127
qopid reduce using rule 127
qconid reduce using rule 127
tyvar reduce using rule 127
hole reduce using rule 127
int reduce using rule 127
float reduce using rule 127
string reduce using rule 127
'$end' reduce using rule 127
'$sep' reduce using rule 127
%eof reduce using rule 127
State 202
Rows__':'__Type__ -> ident ':' . Type ',' Rows__':'__Type__ (rule 157)
Rows__':'__Type__ -> ident ':' . Type (rule 158)
forall shift, and enter state 55
type shift, and enter state 56
lazy shift, and enter state 57
'(' shift, and enter state 58
'{' shift, and enter state 59
ident shift, and enter state 33
conid shift, and enter state 34
qident shift, and enter state 35
qconid shift, and enter state 36
tyvar shift, and enter state 60
Var goto state 48
Con goto state 49
TyVar goto state 50
Type goto state 271
TypeProd goto state 52
TypeApp goto state 53
TypeAtom goto state 54
State 203
TypeAtom -> '{' Rows__':'__Type__ '}' . (rule 128)
'->' reduce using rule 128
'=' reduce using rule 128
'=>' reduce using rule 128
'|' reduce using rule 128
'*' reduce using rule 128
'~' reduce using rule 128
'_' reduce using rule 128
then reduce using rule 128
else reduce using rule 128
begin reduce using rule 128
end reduce using rule 128
true reduce using rule 128
false reduce using rule 128
with reduce using rule 128
type reduce using rule 128
lazy reduce using rule 128
',' reduce using rule 128
':' reduce using rule 128
';;' reduce using rule 128
';' reduce using rule 128
'(' reduce using rule 128
')' reduce using rule 128
'@{' reduce using rule 128
'?' reduce using rule 128
'{' reduce using rule 128
'}' reduce using rule 128
op reduce using rule 128
ident reduce using rule 128
opid reduce using rule 128
conid reduce using rule 128
qident reduce using rule 128
qopid reduce using rule 128
qconid reduce using rule 128
tyvar reduce using rule 128
hole reduce using rule 128
int reduce using rule 128
float reduce using rule 128
string reduce using rule 128
'$end' reduce using rule 128
'$sep' reduce using rule 128
%eof reduce using rule 128
State 204
TypeAtom -> '{' Type '|' . Rows__':'__Type__ '}' (rule 129)
'}' reduce using rule 156
ident shift, and enter state 270
Rows__':'__Type__goto state 269
State 205
NullSection -> Section . (rule 71)
',' reduce using rule 71
')' reduce using rule 71
State 206
List1__NullSection__','__ -> NullSection . (rule 140)
List1__NullSection__','__ -> NullSection . ',' List1__NullSection__','__ (rule 141)
',' shift, and enter state 268
')' reduce using rule 140
State 207
Atom -> '(' NullSection ',' List1__NullSection__','__ . ')' (rule 49)
')' shift, and enter state 267
State 208
Arm -> '|' List1__MPattern__','__ '->' . ExprBlock (rule 107)
'_' shift, and enter state 19
let shift, and enter state 46
fun shift, and enter state 21
if shift, and enter state 22
begin shift, and enter state 23
true shift, and enter state 24
false shift, and enter state 25
match shift, and enter state 26
function shift, and enter state 27
lazy shift, and enter state 28
'(' shift, and enter state 29
'@{' shift, and enter state 30
'?' shift, and enter state 31
'{' shift, and enter state 32
ident shift, and enter state 33
conid shift, and enter state 34
qident shift, and enter state 35
qconid shift, and enter state 36
qdotid shift, and enter state 37
hole shift, and enter state 38
int shift, and enter state 39
float shift, and enter state 40
string shift, and enter state 41
Expr goto state 78
ExprApp goto state 13
Expr0 goto state 14
Atom goto state 15
ExprBlock goto state 266
Var goto state 16
Con goto state 17
Lit goto state 18
List1__Expr__ExprSep__goto state 217
State 209
List1__MPattern__','__ -> MPattern ',' . List1__MPattern__','__ (rule 139)
'_' shift, and enter state 86
true shift, and enter state 24
false shift, and enter state 25
'(' shift, and enter state 87
'{' shift, and enter state 89
ident shift, and enter state 90
conid shift, and enter state 34
qconid shift, and enter state 36
int shift, and enter state 39
float shift, and enter state 40
string shift, and enter state 41
Con goto state 161
Lit goto state 82
MPattern goto state 162
ArgP goto state 163
List1__MPattern__','__goto state 265
State 210
MPattern -> MPattern ':' . TypeProd (rule 97)
type shift, and enter state 56
lazy shift, and enter state 57
'(' shift, and enter state 58
'{' shift, and enter state 59
ident shift, and enter state 33
conid shift, and enter state 34
qident shift, and enter state 35
qconid shift, and enter state 36
tyvar shift, and enter state 60
Var goto state 48
Con goto state 49
TyVar goto state 50
TypeProd goto state 264
TypeApp goto state 53
TypeAtom goto state 54
State 211
MPattern -> Con ArgP . (rule 96)
'->' reduce using rule 96
',' reduce using rule 96
':' reduce using rule 96
State 212
List1__Expr__','__ -> Expr ',' List1__Expr__','__ . (rule 135)
with reduce using rule 135
State 213
Expr0 -> match List1__Expr__','__ with ListE1__Arm__ . '$end' (rule 35)
'$end' shift, and enter state 263
State 214
Expr0 -> match List1__Expr__','__ with '(' . ')' (rule 36)
')' shift, and enter state 262
State 215
List1__Expr__ExprSep__ -> Expr ExprSep List1__Expr__ExprSep__ . (rule 137)
'|' reduce using rule 137
else reduce using rule 137
end reduce using rule 137
'$end' reduce using rule 137
State 216
Expr0 -> if Expr then ExprBlock . else ExprBlock '$end' (rule 34)
else shift, and enter state 261
State 217
ExprBlock -> List1__Expr__ExprSep__ . (rule 55)
'|' reduce using rule 55
else reduce using rule 55
'$end' reduce using rule 55
State 218
Expr0 -> fun ListE1__Parameter__ '->' ExprBlock . '$end' (rule 31)
'$end' shift, and enter state 260
State 219
Pattern -> Pattern ':' . Type (rule 100)
forall shift, and enter state 55
type shift, and enter state 56
lazy shift, and enter state 57
'(' shift, and enter state 58
'{' shift, and enter state 59
ident shift, and enter state 33
conid shift, and enter state 34
qident shift, and enter state 35
qconid shift, and enter state 36
tyvar shift, and enter state 60
Var goto state 48
Con goto state 49
TyVar goto state 50
Type goto state 259
TypeProd goto state 52
TypeApp goto state 53
TypeAtom goto state 54
State 220
Parameter -> '?(' Pattern ')' . (rule 110)
'->' reduce using rule 110
'=' reduce using rule 110
'_' reduce using rule 110
true reduce using rule 110
false reduce using rule 110
':' reduce using rule 110
'(' reduce using rule 110
'?(' reduce using rule 110
'{' reduce using rule 110
ident reduce using rule 110
iident reduce using rule 110
conid reduce using rule 110
qconid reduce using rule 110
int reduce using rule 110
float reduce using rule 110
string reduce using rule 110
State 221
Rows__'='__Pattern__ -> ident '=' . Pattern ',' Rows__'='__Pattern__ (rule 163)
Rows__'='__Pattern__ -> ident '=' . Pattern (rule 164)
'_' shift, and enter state 86
true shift, and enter state 24
false shift, and enter state 25
'(' shift, and enter state 87
'{' shift, and enter state 89
ident shift, and enter state 90
conid shift, and enter state 34
qconid shift, and enter state 36
int shift, and enter state 39
float shift, and enter state 40
string shift, and enter state 41
Con goto state 131
Lit goto state 82
Pattern goto state 258
ArgP goto state 133
State 222
ArgP -> '{' Rows__'='__Pattern__ '}' . (rule 104)
'->' reduce using rule 104
'=' reduce using rule 104
'*' reduce using rule 104
'~' reduce using rule 104
'_' reduce using rule 104
true reduce using rule 104
false reduce using rule 104
',' reduce using rule 104
':' reduce using rule 104
'(' reduce using rule 104
'?(' reduce using rule 104
')' reduce using rule 104
'{' reduce using rule 104
'}' reduce using rule 104
op reduce using rule 104
ident reduce using rule 104
iident reduce using rule 104
opid reduce using rule 104
conid reduce using rule 104
qconid reduce using rule 104
int reduce using rule 104
float reduce using rule 104
string reduce using rule 104
State 223
Expr0 -> let BindGroup ExprIn ExprBlock . '$end' (rule 32)
'$end' shift, and enter state 257
State 224
PreBinding -> BindName ListE__Parameter__ '=' . ExprBlock '$end' (rule 81)
'_' shift, and enter state 19
let shift, and enter state 46
fun shift, and enter state 21
if shift, and enter state 22
begin shift, and enter state 23
true shift, and enter state 24
false shift, and enter state 25
match shift, and enter state 26
function shift, and enter state 27
lazy shift, and enter state 28
'(' shift, and enter state 29
'@{' shift, and enter state 30
'?' shift, and enter state 31
'{' shift, and enter state 32
ident shift, and enter state 33
conid shift, and enter state 34
qident shift, and enter state 35
qconid shift, and enter state 36
qdotid shift, and enter state 37
hole shift, and enter state 38
int shift, and enter state 39
float shift, and enter state 40
string shift, and enter state 41
Expr goto state 78
ExprApp goto state 13
Expr0 goto state 14
Atom goto state 15
ExprBlock goto state 256
Var goto state 16
Con goto state 17
Lit goto state 18
List1__Expr__ExprSep__goto state 217
State 225
PreBinding -> BindName ListE__Parameter__ ':' . Type '=' ExprBlock '$end' (rule 82)
forall shift, and enter state 55
type shift, and enter state 56
lazy shift, and enter state 57
'(' shift, and enter state 58
'{' shift, and enter state 59
ident shift, and enter state 33
conid shift, and enter state 34
qident shift, and enter state 35
qconid shift, and enter state 36
tyvar shift, and enter state 60
Var goto state 48
Con goto state 49
TyVar goto state 50
Type goto state 255
TypeProd goto state 52
TypeApp goto state 53
TypeAtom goto state 54
State 226
PreBinding -> ArgP BindOp ArgP . '=' ExprBlock '$end' (rule 83)
'=' shift, and enter state 254
State 227
Expr0 -> let open Con ExprIn . ExprBlock '$end' (rule 33)
'_' shift, and enter state 19
let shift, and enter state 46
fun shift, and enter state 21
if shift, and enter state 22
begin shift, and enter state 23
true shift, and enter state 24
false shift, and enter state 25
match shift, and enter state 26
function shift, and enter state 27
lazy shift, and enter state 28
'(' shift, and enter state 29
'@{' shift, and enter state 30
'?' shift, and enter state 31
'{' shift, and enter state 32
ident shift, and enter state 33
conid shift, and enter state 34
qident shift, and enter state 35
qconid shift, and enter state 36
qdotid shift, and enter state 37
hole shift, and enter state 38
int shift, and enter state 39
float shift, and enter state 40
string shift, and enter state 41
Expr goto state 78
ExprApp goto state 13
Expr0 goto state 14
Atom goto state 15
ExprBlock goto state 253
Var goto state 16
Con goto state 17
Lit goto state 18
List1__Expr__ExprSep__goto state 217
State 228
BindName -> '(' op ')' . (rule 85)
'=' reduce using rule 85
'_' reduce using rule 85
true reduce using rule 85
false reduce using rule 85
':' reduce using rule 85
'(' reduce using rule 85
'?(' reduce using rule 85
'{' reduce using rule 85
ident reduce using rule 85
iident reduce using rule 85
conid reduce using rule 85
qconid reduce using rule 85
int reduce using rule 85
float reduce using rule 85
string reduce using rule 85
State 229
ArgP -> '(' List__Pattern__','__ ')' . (rule 105)
'->' reduce using rule 105
'=' reduce using rule 105
'*' reduce using rule 105
'~' reduce using rule 105
'_' reduce using rule 105
true reduce using rule 105
false reduce using rule 105
',' reduce using rule 105
':' reduce using rule 105
'(' reduce using rule 105
'?(' reduce using rule 105
')' reduce using rule 105
'{' reduce using rule 105
'}' reduce using rule 105
op reduce using rule 105
ident reduce using rule 105
iident reduce using rule 105
opid reduce using rule 105
conid reduce using rule 105
qconid reduce using rule 105
int reduce using rule 105
float reduce using rule 105
string reduce using rule 105
State 230
List1__Pattern__','__ -> Pattern ',' . List1__Pattern__','__ (rule 166)
'_' shift, and enter state 86
true shift, and enter state 24
false shift, and enter state 25
'(' shift, and enter state 87
'{' shift, and enter state 89
ident shift, and enter state 90
conid shift, and enter state 34
qconid shift, and enter state 36
int shift, and enter state 39
float shift, and enter state 40
string shift, and enter state 41
Con goto state 131
Lit goto state 82
Pattern goto state 132
ArgP goto state 133
List1__Pattern__','__goto state 252
State 231
Pattern -> Con ArgP . (rule 99)
',' reduce using rule 99
':' reduce using rule 99
')' reduce using rule 99
'}' reduce using rule 99
State 232
Top -> module conid '=' Con . (rule 13)
end reduce using rule 13
';;' reduce using rule 13
'$end' reduce using rule 13
'$sep' reduce using rule 13
%eof reduce using rule 13
State 233
Top -> module conid '=' begin . Tops end (rule 11)
let shift, and enter state 5
external shift, and enter state 6
type shift, and enter state 7
module shift, and enter state 8
open shift, and enter state 9
Tops goto state 251
Top goto state 3
List1__Top__TopSep__goto state 4
State 234
Top -> module conid '=' '$begin' . Tops '$end' (rule 12)
let shift, and enter state 5
external shift, and enter state 6
type shift, and enter state 7
module shift, and enter state 8
open shift, and enter state 9
Tops goto state 250
Top goto state 3
List1__Top__TopSep__goto state 4
State 235
Top -> module qconid '=' begin . Tops end (rule 10)
let shift, and enter state 5
external shift, and enter state 6
type shift, and enter state 7
module shift, and enter state 8
open shift, and enter state 9
Tops goto state 249
Top goto state 3
List1__Top__TopSep__goto state 4
State 236
TyConArg -> '{' TyVar . ':' Type '}' (rule 17)
':' shift, and enter state 248
State 237
TyConArg -> '(' TyVar . ':' Type ')' (rule 16)
':' shift, and enter state 247
State 238
Top -> type ident ListE__TyConArg__ '=' . List1__Ctor__'|'__ (rule 8)
Top -> type ident ListE__TyConArg__ '=' . '|' List1__Ctor__'|'__ (rule 9)
'|' shift, and enter state 245
conid shift, and enter state 246
Ctor goto state 243
List1__Ctor__'|'__goto state 244
State 239
ListE1__TyConArg__ -> TyConArg ListE1__TyConArg__ . (rule 168)
'=' reduce using rule 168
end reduce using rule 168
';;' reduce using rule 168
'$end' reduce using rule 168
'$sep' reduce using rule 168
%eof reduce using rule 168
State 240
Top -> external val ident ':' . Type '=' string (rule 6)
forall shift, and enter state 55
type shift, and enter state 56
lazy shift, and enter state 57
'(' shift, and enter state 58
'{' shift, and enter state 59
ident shift, and enter state 33
conid shift, and enter state 34
qident shift, and enter state 35
qconid shift, and enter state 36
tyvar shift, and enter state 60
Var goto state 48
Con goto state 49
TyVar goto state 50
Type goto state 242
TypeProd goto state 52
TypeApp goto state 53
TypeAtom goto state 54
State 241
BindGroup -> BindGroup and Binding . (rule 78)
and reduce using rule 78
end reduce using rule 78
in reduce using rule 78
';;' reduce using rule 78
'$end' reduce using rule 78
'$in' reduce using rule 78
'$sep' reduce using rule 78
%eof reduce using rule 78
State 242
Top -> external val ident ':' Type . '=' string (rule 6)
'=' shift, and enter state 297
State 243
List1__Ctor__'|'__ -> Ctor . (rule 132)
List1__Ctor__'|'__ -> Ctor . '|' List1__Ctor__'|'__ (rule 133)
'|' shift, and enter state 296
end reduce using rule 132
';;' reduce using rule 132
'$end' reduce using rule 132
'$sep' reduce using rule 132
%eof reduce using rule 132
State 244
Top -> type ident ListE__TyConArg__ '=' List1__Ctor__'|'__ . (rule 8)
end reduce using rule 8
';;' reduce using rule 8
'$end' reduce using rule 8
'$sep' reduce using rule 8
%eof reduce using rule 8
State 245
Top -> type ident ListE__TyConArg__ '=' '|' . List1__Ctor__'|'__ (rule 9)
conid shift, and enter state 246
Ctor goto state 243
List1__Ctor__'|'__goto state 295
State 246
Ctor -> conid . (rule 18)
Ctor -> conid . of Type (rule 19)
Ctor -> conid . ':' Type (rule 20)
'|' reduce using rule 18
end reduce using rule 18
of shift, and enter state 293
':' shift, and enter state 294
';;' reduce using rule 18
'$end' reduce using rule 18
'$sep' reduce using rule 18
%eof reduce using rule 18
State 247
TyConArg -> '(' TyVar ':' . Type ')' (rule 16)
forall shift, and enter state 55
type shift, and enter state 56
lazy shift, and enter state 57
'(' shift, and enter state 58
'{' shift, and enter state 59
ident shift, and enter state 33
conid shift, and enter state 34
qident shift, and enter state 35
qconid shift, and enter state 36
tyvar shift, and enter state 60
Var goto state 48
Con goto state 49
TyVar goto state 50
Type goto state 292
TypeProd goto state 52
TypeApp goto state 53
TypeAtom goto state 54
State 248
TyConArg -> '{' TyVar ':' . Type '}' (rule 17)
forall shift, and enter state 55
type shift, and enter state 56
lazy shift, and enter state 57
'(' shift, and enter state 58
'{' shift, and enter state 59
ident shift, and enter state 33
conid shift, and enter state 34
qident shift, and enter state 35
qconid shift, and enter state 36
tyvar shift, and enter state 60
Var goto state 48
Con goto state 49
TyVar goto state 50
Type goto state 291
TypeProd goto state 52
TypeApp goto state 53
TypeAtom goto state 54
State 249
Top -> module qconid '=' begin Tops . end (rule 10)
end shift, and enter state 290
State 250
Top -> module conid '=' '$begin' Tops . '$end' (rule 12)
'$end' shift, and enter state 289
State 251
Top -> module conid '=' begin Tops . end (rule 11)
end shift, and enter state 288
State 252
List1__Pattern__','__ -> Pattern ',' List1__Pattern__','__ . (rule 166)
')' reduce using rule 166
State 253
Expr0 -> let open Con ExprIn ExprBlock . '$end' (rule 33)
'$end' shift, and enter state 287
State 254
PreBinding -> ArgP BindOp ArgP '=' . ExprBlock '$end' (rule 83)
'_' shift, and enter state 19
let shift, and enter state 46
fun shift, and enter state 21
if shift, and enter state 22
begin shift, and enter state 23
true shift, and enter state 24
false shift, and enter state 25
match shift, and enter state 26
function shift, and enter state 27
lazy shift, and enter state 28
'(' shift, and enter state 29
'@{' shift, and enter state 30
'?' shift, and enter state 31
'{' shift, and enter state 32
ident shift, and enter state 33
conid shift, and enter state 34
qident shift, and enter state 35
qconid shift, and enter state 36
qdotid shift, and enter state 37
hole shift, and enter state 38
int shift, and enter state 39
float shift, and enter state 40
string shift, and enter state 41
Expr goto state 78
ExprApp goto state 13
Expr0 goto state 14
Atom goto state 15
ExprBlock goto state 286
Var goto state 16
Con goto state 17
Lit goto state 18
List1__Expr__ExprSep__goto state 217
State 255
PreBinding -> BindName ListE__Parameter__ ':' Type . '=' ExprBlock '$end' (rule 82)
'=' shift, and enter state 285
State 256
PreBinding -> BindName ListE__Parameter__ '=' ExprBlock . '$end' (rule 81)
'$end' shift, and enter state 284
State 257
Expr0 -> let BindGroup ExprIn ExprBlock '$end' . (rule 32)
'|' reduce using rule 32
'*' reduce using rule 32
'~' reduce using rule 32
'_' reduce using rule 32
then reduce using rule 32
else reduce using rule 32
begin reduce using rule 32
end reduce using rule 32
true reduce using rule 32
false reduce using rule 32
with reduce using rule 32
',' reduce using rule 32
':' reduce using rule 32
';;' reduce using rule 32
';' reduce using rule 32
'(' reduce using rule 32
')' reduce using rule 32
'@{' reduce using rule 32
'?' reduce using rule 32
'{' reduce using rule 32
'}' reduce using rule 32
op reduce using rule 32
ident reduce using rule 32
opid reduce using rule 32
conid reduce using rule 32
qident reduce using rule 32
qopid reduce using rule 32
qconid reduce using rule 32
hole reduce using rule 32
int reduce using rule 32
float reduce using rule 32
string reduce using rule 32
'$end' reduce using rule 32
'$sep' reduce using rule 32
%eof reduce using rule 32
State 258
Pattern -> Pattern . ':' Type (rule 100)
Rows__'='__Pattern__ -> ident '=' Pattern . ',' Rows__'='__Pattern__ (rule 163)
Rows__'='__Pattern__ -> ident '=' Pattern . (rule 164)
',' shift, and enter state 283
':' shift, and enter state 219
'}' reduce using rule 164
State 259
Pattern -> Pattern ':' Type . (rule 100)
',' reduce using rule 100
':' reduce using rule 100
')' reduce using rule 100
'}' reduce using rule 100
State 260
Expr0 -> fun ListE1__Parameter__ '->' ExprBlock '$end' . (rule 31)
'|' reduce using rule 31
'*' reduce using rule 31
'~' reduce using rule 31
'_' reduce using rule 31
then reduce using rule 31
else reduce using rule 31
begin reduce using rule 31
end reduce using rule 31
true reduce using rule 31
false reduce using rule 31
with reduce using rule 31
',' reduce using rule 31
':' reduce using rule 31
';;' reduce using rule 31
';' reduce using rule 31
'(' reduce using rule 31
')' reduce using rule 31
'@{' reduce using rule 31
'?' reduce using rule 31
'{' reduce using rule 31
'}' reduce using rule 31
op reduce using rule 31
ident reduce using rule 31
opid reduce using rule 31
conid reduce using rule 31
qident reduce using rule 31
qopid reduce using rule 31
qconid reduce using rule 31
hole reduce using rule 31
int reduce using rule 31
float reduce using rule 31
string reduce using rule 31
'$end' reduce using rule 31
'$sep' reduce using rule 31
%eof reduce using rule 31
State 261
Expr0 -> if Expr then ExprBlock else . ExprBlock '$end' (rule 34)
'_' shift, and enter state 19
let shift, and enter state 46
fun shift, and enter state 21
if shift, and enter state 22
begin shift, and enter state 23
true shift, and enter state 24
false shift, and enter state 25
match shift, and enter state 26
function shift, and enter state 27
lazy shift, and enter state 28
'(' shift, and enter state 29
'@{' shift, and enter state 30
'?' shift, and enter state 31
'{' shift, and enter state 32
ident shift, and enter state 33
conid shift, and enter state 34
qident shift, and enter state 35
qconid shift, and enter state 36
qdotid shift, and enter state 37
hole shift, and enter state 38
int shift, and enter state 39
float shift, and enter state 40
string shift, and enter state 41
Expr goto state 78
ExprApp goto state 13
Expr0 goto state 14
Atom goto state 15
ExprBlock goto state 282
Var goto state 16
Con goto state 17
Lit goto state 18
List1__Expr__ExprSep__goto state 217
State 262
Expr0 -> match List1__Expr__','__ with '(' ')' . (rule 36)
'|' reduce using rule 36
'*' reduce using rule 36
'~' reduce using rule 36
'_' reduce using rule 36
then reduce using rule 36
else reduce using rule 36
begin reduce using rule 36
end reduce using rule 36
true reduce using rule 36
false reduce using rule 36
with reduce using rule 36
',' reduce using rule 36
':' reduce using rule 36
';;' reduce using rule 36
';' reduce using rule 36
'(' reduce using rule 36
')' reduce using rule 36
'@{' reduce using rule 36
'?' reduce using rule 36
'{' reduce using rule 36
'}' reduce using rule 36
op reduce using rule 36
ident reduce using rule 36
opid reduce using rule 36
conid reduce using rule 36
qident reduce using rule 36
qopid reduce using rule 36
qconid reduce using rule 36
hole reduce using rule 36
int reduce using rule 36
float reduce using rule 36
string reduce using rule 36
'$end' reduce using rule 36
'$sep' reduce using rule 36
%eof reduce using rule 36
State 263
Expr0 -> match List1__Expr__','__ with ListE1__Arm__ '$end' . (rule 35)
'|' reduce using rule 35
'*' reduce using rule 35
'~' reduce using rule 35
'_' reduce using rule 35
then reduce using rule 35
else reduce using rule 35
begin reduce using rule 35
end reduce using rule 35
true reduce using rule 35
false reduce using rule 35
with reduce using rule 35
',' reduce using rule 35
':' reduce using rule 35
';;' reduce using rule 35
';' reduce using rule 35
'(' reduce using rule 35
')' reduce using rule 35
'@{' reduce using rule 35
'?' reduce using rule 35
'{' reduce using rule 35
'}' reduce using rule 35
op reduce using rule 35
ident reduce using rule 35
opid reduce using rule 35
conid reduce using rule 35
qident reduce using rule 35
qopid reduce using rule 35
qconid reduce using rule 35
hole reduce using rule 35
int reduce using rule 35
float reduce using rule 35
string reduce using rule 35
'$end' reduce using rule 35
'$sep' reduce using rule 35
%eof reduce using rule 35
State 264
MPattern -> MPattern ':' TypeProd . (rule 97)
'->' reduce using rule 97
',' reduce using rule 97
':' reduce using rule 97
State 265
List1__MPattern__','__ -> MPattern ',' List1__MPattern__','__ . (rule 139)
'->' reduce using rule 139
State 266
Arm -> '|' List1__MPattern__','__ '->' ExprBlock . (rule 107)
'|' reduce using rule 107
'$end' reduce using rule 107
State 267
Atom -> '(' NullSection ',' List1__NullSection__','__ ')' . (rule 49)
'|' reduce using rule 49
'*' reduce using rule 49
'~' reduce using rule 49
'_' reduce using rule 49
then reduce using rule 49
else reduce using rule 49
begin reduce using rule 49
end reduce using rule 49
true reduce using rule 49
false reduce using rule 49
with reduce using rule 49
',' reduce using rule 49
':' reduce using rule 49
';;' reduce using rule 49
';' reduce using rule 49
'(' reduce using rule 49
')' reduce using rule 49
'@{' reduce using rule 49
'?' reduce using rule 49
'{' reduce using rule 49
'}' reduce using rule 49
op reduce using rule 49
ident reduce using rule 49
opid reduce using rule 49
conid reduce using rule 49
qident reduce using rule 49
qopid reduce using rule 49
qconid reduce using rule 49
access reduce using rule 49
hole reduce using rule 49
int reduce using rule 49
float reduce using rule 49
string reduce using rule 49
'$end' reduce using rule 49
'$sep' reduce using rule 49
%eof reduce using rule 49
State 268
List1__NullSection__','__ -> NullSection ',' . List1__NullSection__','__ (rule 141)
'*' shift, and enter state 65
'~' shift, and enter state 66
'_' shift, and enter state 19
let shift, and enter state 46
fun shift, and enter state 21
if shift, and enter state 22
begin shift, and enter state 23
true shift, and enter state 24
false shift, and enter state 25
match shift, and enter state 26
function shift, and enter state 27
lazy shift, and enter state 28
',' reduce using rule 70
'(' shift, and enter state 29
')' reduce using rule 70
'@{' shift, and enter state 30
'?' shift, and enter state 31
'{' shift, and enter state 32
op shift, and enter state 68
ident shift, and enter state 33
opid shift, and enter state 69
conid shift, and enter state 34
qident shift, and enter state 35
qopid shift, and enter state 70
qconid shift, and enter state 36
qdotid shift, and enter state 37
access shift, and enter state 71
hole shift, and enter state 38
int shift, and enter state 39
float shift, and enter state 40
string shift, and enter state 41
Expr goto state 61
ExprApp goto state 13
Expr0 goto state 14
Atom goto state 15
Operator goto state 62
Section goto state 205
NullSection goto state 206
Var goto state 16
Con goto state 17
Lit goto state 18
List1__NullSection__','__goto state 281
State 269
TypeAtom -> '{' Type '|' Rows__':'__Type__ . '}' (rule 129)
'}' shift, and enter state 280
State 270
Rows__':'__Type__ -> ident . ':' Type ',' Rows__':'__Type__ (rule 157)
Rows__':'__Type__ -> ident . ':' Type (rule 158)
':' shift, and enter state 202
State 271
Rows__':'__Type__ -> ident ':' Type . ',' Rows__':'__Type__ (rule 157)
Rows__':'__Type__ -> ident ':' Type . (rule 158)
',' shift, and enter state 279
'}' reduce using rule 158
State 272
Type -> forall ListE1__BoundTv__ '->' Type . (rule 115)
'=' reduce using rule 115
'|' reduce using rule 115
'*' reduce using rule 115
'~' reduce using rule 115
'_' reduce using rule 115
then reduce using rule 115
else reduce using rule 115
begin reduce using rule 115
end reduce using rule 115
true reduce using rule 115
false reduce using rule 115
with reduce using rule 115
',' reduce using rule 115
':' reduce using rule 115
';;' reduce using rule 115
';' reduce using rule 115
'(' reduce using rule 115
')' reduce using rule 115
'@{' reduce using rule 115
'?' reduce using rule 115
'{' reduce using rule 115
'}' reduce using rule 115
op reduce using rule 115
ident reduce using rule 115
opid reduce using rule 115
conid reduce using rule 115
qident reduce using rule 115
qopid reduce using rule 115
qconid reduce using rule 115
hole reduce using rule 115
int reduce using rule 115
float reduce using rule 115
string reduce using rule 115
'$end' reduce using rule 115
'$sep' reduce using rule 115
%eof reduce using rule 115
State 273
Type -> forall ListE1__tyvar__ '.' Type . (rule 114)
'=' reduce using rule 114
'|' reduce using rule 114
'*' reduce using rule 114
'~' reduce using rule 114
'_' reduce using rule 114
then reduce using rule 114
else reduce using rule 114
begin reduce using rule 114
end reduce using rule 114
true reduce using rule 114
false reduce using rule 114
with reduce using rule 114
',' reduce using rule 114
':' reduce using rule 114
';;' reduce using rule 114
';' reduce using rule 114
'(' reduce using rule 114
')' reduce using rule 114
'@{' reduce using rule 114
'?' reduce using rule 114
'{' reduce using rule 114
'}' reduce using rule 114
op reduce using rule 114
ident reduce using rule 114
opid reduce using rule 114
conid reduce using rule 114
qident reduce using rule 114
qopid reduce using rule 114
qconid reduce using rule 114
hole reduce using rule 114
int reduce using rule 114
float reduce using rule 114
string reduce using rule 114
'$end' reduce using rule 114
'$sep' reduce using rule 114
%eof reduce using rule 114
State 274
BoundTv -> '(' tyvar ':' . Type ')' (rule 116)
forall shift, and enter state 55
type shift, and enter state 56
lazy shift, and enter state 57
'(' shift, and enter state 58
'{' shift, and enter state 59
ident shift, and enter state 33
conid shift, and enter state 34
qident shift, and enter state 35
qconid shift, and enter state 36
tyvar shift, and enter state 60
Var goto state 48
Con goto state 49
TyVar goto state 50
Type goto state 278
TypeProd goto state 52
TypeApp goto state 53
TypeAtom goto state 54
State 275
Rows__'='__Expr__ -> ident '=' Expr ',' . Rows__'='__Expr__ (rule 160)
'}' reduce using rule 159
ident shift, and enter state 191
Rows__'='__Expr__goto state 277
State 276
Atom -> '{' Expr with Rows__'='__Expr__ '}' . (rule 51)
'|' reduce using rule 51
'*' reduce using rule 51
'~' reduce using rule 51
'_' reduce using rule 51
then reduce using rule 51
else reduce using rule 51
begin reduce using rule 51
end reduce using rule 51
true reduce using rule 51
false reduce using rule 51
with reduce using rule 51
',' reduce using rule 51
':' reduce using rule 51
';;' reduce using rule 51
';' reduce using rule 51
'(' reduce using rule 51
')' reduce using rule 51
'@{' reduce using rule 51
'?' reduce using rule 51
'{' reduce using rule 51
'}' reduce using rule 51
op reduce using rule 51
ident reduce using rule 51
opid reduce using rule 51
conid reduce using rule 51
qident reduce using rule 51
qopid reduce using rule 51
qconid reduce using rule 51
access reduce using rule 51
hole reduce using rule 51
int reduce using rule 51
float reduce using rule 51
string reduce using rule 51
'$end' reduce using rule 51
'$sep' reduce using rule 51
%eof reduce using rule 51
State 277
Rows__'='__Expr__ -> ident '=' Expr ',' Rows__'='__Expr__ . (rule 160)
'}' reduce using rule 160
State 278
BoundTv -> '(' tyvar ':' Type . ')' (rule 116)
')' shift, and enter state 309
State 279
Rows__':'__Type__ -> ident ':' Type ',' . Rows__':'__Type__ (rule 157)
'}' reduce using rule 156
ident shift, and enter state 270
Rows__':'__Type__goto state 308
State 280
TypeAtom -> '{' Type '|' Rows__':'__Type__ '}' . (rule 129)
'->' reduce using rule 129
'=' reduce using rule 129
'=>' reduce using rule 129
'|' reduce using rule 129
'*' reduce using rule 129
'~' reduce using rule 129
'_' reduce using rule 129
then reduce using rule 129
else reduce using rule 129
begin reduce using rule 129
end reduce using rule 129
true reduce using rule 129
false reduce using rule 129
with reduce using rule 129
type reduce using rule 129
lazy reduce using rule 129
',' reduce using rule 129
':' reduce using rule 129
';;' reduce using rule 129
';' reduce using rule 129
'(' reduce using rule 129
')' reduce using rule 129
'@{' reduce using rule 129
'?' reduce using rule 129
'{' reduce using rule 129
'}' reduce using rule 129
op reduce using rule 129
ident reduce using rule 129
opid reduce using rule 129
conid reduce using rule 129
qident reduce using rule 129
qopid reduce using rule 129
qconid reduce using rule 129
tyvar reduce using rule 129
hole reduce using rule 129
int reduce using rule 129
float reduce using rule 129
string reduce using rule 129
'$end' reduce using rule 129
'$sep' reduce using rule 129
%eof reduce using rule 129
State 281
List1__NullSection__','__ -> NullSection ',' List1__NullSection__','__ . (rule 141)
')' reduce using rule 141
State 282
Expr0 -> if Expr then ExprBlock else ExprBlock . '$end' (rule 34)
'$end' shift, and enter state 307
State 283
Rows__'='__Pattern__ -> ident '=' Pattern ',' . Rows__'='__Pattern__ (rule 163)
'}' reduce using rule 162
ident shift, and enter state 150
Rows__'='__Pattern__goto state 306
State 284
PreBinding -> BindName ListE__Parameter__ '=' ExprBlock '$end' . (rule 81)
and reduce using rule 81
end reduce using rule 81
in reduce using rule 81
';;' reduce using rule 81
'$end' reduce using rule 81
'$in' reduce using rule 81
'$sep' reduce using rule 81
%eof reduce using rule 81
State 285
PreBinding -> BindName ListE__Parameter__ ':' Type '=' . ExprBlock '$end' (rule 82)
'_' shift, and enter state 19
let shift, and enter state 46
fun shift, and enter state 21
if shift, and enter state 22
begin shift, and enter state 23
true shift, and enter state 24
false shift, and enter state 25
match shift, and enter state 26
function shift, and enter state 27
lazy shift, and enter state 28
'(' shift, and enter state 29
'@{' shift, and enter state 30
'?' shift, and enter state 31
'{' shift, and enter state 32
ident shift, and enter state 33
conid shift, and enter state 34
qident shift, and enter state 35
qconid shift, and enter state 36
qdotid shift, and enter state 37
hole shift, and enter state 38
int shift, and enter state 39
float shift, and enter state 40
string shift, and enter state 41
Expr goto state 78
ExprApp goto state 13
Expr0 goto state 14
Atom goto state 15
ExprBlock goto state 305
Var goto state 16
Con goto state 17
Lit goto state 18
List1__Expr__ExprSep__goto state 217
State 286
PreBinding -> ArgP BindOp ArgP '=' ExprBlock . '$end' (rule 83)
'$end' shift, and enter state 304
State 287
Expr0 -> let open Con ExprIn ExprBlock '$end' . (rule 33)
'|' reduce using rule 33
'*' reduce using rule 33
'~' reduce using rule 33
'_' reduce using rule 33
then reduce using rule 33
else reduce using rule 33
begin reduce using rule 33
end reduce using rule 33
true reduce using rule 33
false reduce using rule 33
with reduce using rule 33
',' reduce using rule 33
':' reduce using rule 33
';;' reduce using rule 33
';' reduce using rule 33
'(' reduce using rule 33
')' reduce using rule 33
'@{' reduce using rule 33
'?' reduce using rule 33
'{' reduce using rule 33
'}' reduce using rule 33
op reduce using rule 33
ident reduce using rule 33
opid reduce using rule 33
conid reduce using rule 33
qident reduce using rule 33
qopid reduce using rule 33
qconid reduce using rule 33
hole reduce using rule 33
int reduce using rule 33
float reduce using rule 33
string reduce using rule 33
'$end' reduce using rule 33
'$sep' reduce using rule 33
%eof reduce using rule 33
State 288
Top -> module conid '=' begin Tops end . (rule 11)
end reduce using rule 11
';;' reduce using rule 11
'$end' reduce using rule 11
'$sep' reduce using rule 11
%eof reduce using rule 11
State 289
Top -> module conid '=' '$begin' Tops '$end' . (rule 12)
end reduce using rule 12
';;' reduce using rule 12
'$end' reduce using rule 12
'$sep' reduce using rule 12
%eof reduce using rule 12
State 290
Top -> module qconid '=' begin Tops end . (rule 10)
end reduce using rule 10
';;' reduce using rule 10
'$end' reduce using rule 10
'$sep' reduce using rule 10
%eof reduce using rule 10
State 291
TyConArg -> '{' TyVar ':' Type . '}' (rule 17)
'}' shift, and enter state 303
State 292
TyConArg -> '(' TyVar ':' Type . ')' (rule 16)
')' shift, and enter state 302
State 293
Ctor -> conid of . Type (rule 19)
forall shift, and enter state 55
type shift, and enter state 56
lazy shift, and enter state 57
'(' shift, and enter state 58
'{' shift, and enter state 59
ident shift, and enter state 33
conid shift, and enter state 34
qident shift, and enter state 35
qconid shift, and enter state 36
tyvar shift, and enter state 60
Var goto state 48
Con goto state 49
TyVar goto state 50
Type goto state 301
TypeProd goto state 52
TypeApp goto state 53
TypeAtom goto state 54
State 294
Ctor -> conid ':' . Type (rule 20)
forall shift, and enter state 55
type shift, and enter state 56
lazy shift, and enter state 57
'(' shift, and enter state 58
'{' shift, and enter state 59
ident shift, and enter state 33
conid shift, and enter state 34
qident shift, and enter state 35
qconid shift, and enter state 36
tyvar shift, and enter state 60
Var goto state 48
Con goto state 49
TyVar goto state 50
Type goto state 300
TypeProd goto state 52
TypeApp goto state 53
TypeAtom goto state 54
State 295
Top -> type ident ListE__TyConArg__ '=' '|' List1__Ctor__'|'__ . (rule 9)
end reduce using rule 9
';;' reduce using rule 9
'$end' reduce using rule 9
'$sep' reduce using rule 9
%eof reduce using rule 9
State 296
List1__Ctor__'|'__ -> Ctor '|' . List1__Ctor__'|'__ (rule 133)
conid shift, and enter state 246
Ctor goto state 243
List1__Ctor__'|'__goto state 299
State 297
Top -> external val ident ':' Type '=' . string (rule 6)
string shift, and enter state 298
State 298
Top -> external val ident ':' Type '=' string . (rule 6)
end reduce using rule 6
';;' reduce using rule 6
'$end' reduce using rule 6
'$sep' reduce using rule 6
%eof reduce using rule 6
State 299
List1__Ctor__'|'__ -> Ctor '|' List1__Ctor__'|'__ . (rule 133)
end reduce using rule 133
';;' reduce using rule 133
'$end' reduce using rule 133
'$sep' reduce using rule 133
%eof reduce using rule 133
State 300
Ctor -> conid ':' Type . (rule 20)
'|' reduce using rule 20
end reduce using rule 20
';;' reduce using rule 20
'$end' reduce using rule 20
'$sep' reduce using rule 20
%eof reduce using rule 20
State 301
Ctor -> conid of Type . (rule 19)
'|' reduce using rule 19
end reduce using rule 19
';;' reduce using rule 19
'$end' reduce using rule 19
'$sep' reduce using rule 19
%eof reduce using rule 19
State 302
TyConArg -> '(' TyVar ':' Type ')' . (rule 16)
'=' reduce using rule 16
end reduce using rule 16
';;' reduce using rule 16
'(' reduce using rule 16
'{' reduce using rule 16
tyvar reduce using rule 16
'$end' reduce using rule 16
'$sep' reduce using rule 16
%eof reduce using rule 16
State 303
TyConArg -> '{' TyVar ':' Type '}' . (rule 17)
'=' reduce using rule 17
end reduce using rule 17
';;' reduce using rule 17
'(' reduce using rule 17
'{' reduce using rule 17
tyvar reduce using rule 17
'$end' reduce using rule 17
'$sep' reduce using rule 17
%eof reduce using rule 17
State 304
PreBinding -> ArgP BindOp ArgP '=' ExprBlock '$end' . (rule 83)
and reduce using rule 83
end reduce using rule 83
in reduce using rule 83
';;' reduce using rule 83
'$end' reduce using rule 83
'$in' reduce using rule 83
'$sep' reduce using rule 83
%eof reduce using rule 83
State 305
PreBinding -> BindName ListE__Parameter__ ':' Type '=' ExprBlock . '$end' (rule 82)
'$end' shift, and enter state 310
State 306
Rows__'='__Pattern__ -> ident '=' Pattern ',' Rows__'='__Pattern__ . (rule 163)
'}' reduce using rule 163
State 307
Expr0 -> if Expr then ExprBlock else ExprBlock '$end' . (rule 34)
'|' reduce using rule 34
'*' reduce using rule 34
'~' reduce using rule 34
'_' reduce using rule 34
then reduce using rule 34
else reduce using rule 34
begin reduce using rule 34
end reduce using rule 34
true reduce using rule 34
false reduce using rule 34
with reduce using rule 34
',' reduce using rule 34
':' reduce using rule 34
';;' reduce using rule 34
';' reduce using rule 34
'(' reduce using rule 34
')' reduce using rule 34
'@{' reduce using rule 34
'?' reduce using rule 34
'{' reduce using rule 34
'}' reduce using rule 34
op reduce using rule 34
ident reduce using rule 34
opid reduce using rule 34
conid reduce using rule 34
qident reduce using rule 34
qopid reduce using rule 34
qconid reduce using rule 34
hole reduce using rule 34
int reduce using rule 34
float reduce using rule 34
string reduce using rule 34
'$end' reduce using rule 34
'$sep' reduce using rule 34
%eof reduce using rule 34
State 308
Rows__':'__Type__ -> ident ':' Type ',' Rows__':'__Type__ . (rule 157)
'}' reduce using rule 157
State 309
BoundTv -> '(' tyvar ':' Type ')' . (rule 116)
'->' reduce using rule 116
'(' reduce using rule 116
State 310
PreBinding -> BindName ListE__Parameter__ ':' Type '=' ExprBlock '$end' . (rule 82)
and reduce using rule 82
end reduce using rule 82
in reduce using rule 82
';;' reduce using rule 82
'$end' reduce using rule 82
'$in' reduce using rule 82
'$sep' reduce using rule 82
%eof reduce using rule 82
-----------------------------------------------------------------------------
Grammar Totals
-----------------------------------------------------------------------------
Number of rules: 169
Number of terminals: 63
Number of non-terminals: 56
Number of states: 311
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment