Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -----------------------------------------------------------------------------
- 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
Add Comment
Please, Sign In to add comment