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