Permalink
Find file
Fetching contributors…
Cannot retrieve contributors at this time
1849 lines (1165 sloc) 27.9 KB
0 $accept : %entry% $end
1 input : EOF
2 | input_aux EOF
3 input_aux : ty_dec
4 | term
5 | input_aux ty_dec
6 | input_aux term SEMI
7 kind : STAR
8 | kind_and_role ARROW kind
9 | LPAREN kind RPAREN
10 kind_and_role : LPAREN kind RPAREN SLASH role
11 | STAR SLASH role
12 role : CODE
13 | TYPE
14 ty_dec : data_type_head clauses SEMI
15 | NEWTYPE UIDENT EQ UIDENT ty_def SEMI
16 | TYPE FAMILY UIDENT ty_kr_list SEMI
17 | TYPE INSTANCE LBRACKET ty_kr_list RBRACKET UIDENT type_list EQ ty_def SEMI
18 | TYPE INSTANCE UIDENT type_list EQ ty_def SEMI
19 data_type_head : DATA UIDENT ty_kr_list WHERE
20 ty_kr_list : ty_kr_list_aux
21 ty_kr_list_aux :
22 | ty_kr_list_aux LPAREN LIDENT COLON kind_and_role RPAREN
23 type_list : type_list_aux
24 type_list_aux :
25 | type_list_aux ty_def
26 tylist : tylist_aux
27 tylist_aux :
28 | tylist LIDENT
29 clauses : LBRACKET clauses_aux RBRACKET
30 clauses_aux :
31 | clauses_aux clause
32 clause : UIDENT DOUBLECOLON LBRACKET ty_kr_list RBRACKET ty_def
33 | UIDENT DOUBLECOLON ty_def
34 ty_def : LIDENT
35 | LPAREN ARROW RPAREN
36 | LPAREN ty_def ARROW ty_def RPAREN
37 | LPAREN TILDE kind RPAREN
38 | LPAREN ty_def TILDE kind ty_def RPAREN FARROW ty_def
39 | UIDENT
40 | LPAREN ty_def ty_def RPAREN
41 | FORALL LIDENT COLON kind_and_role ty_def
42 | LPAREN ty_def RPAREN
43 term : LIDENT
44 | LAMBDA LIDENT COLON ty_def ARROW term
45 | LPAREN term term RPAREN
46 | LAMBDA LIDENT COLON kind_and_role ARROW term
47 | LPAREN term TAPP ty_def RPAREN
48 | UIDENT
49 | CASE LPAREN ty_def COMMA term RPAREN branches
50 | LAMBDA LIDENT COLON ty_def TILDE ty_def ARROW term
51 | LPAREN term AT proof RPAREN
52 | LPAREN term ARROW proof RPAREN
53 | LPAREN term RPAREN
54 | LET LIDENT EQ term
55 branches : LBRACKET bs RBRACKET
56 bs :
57 | bs UIDENT FARROW term SEMI
58 proof : LIDENT
59 | LTRI ty_def RTRI
60 | LPAREN SYM proof RPAREN
61 | LPAREN proof SEMI proof RPAREN
62 | LPAREN proof proof RPAREN
63 | LPAREN NTH INT proof RPAREN
64 | FORALL LPAREN LIDENT COLON kind_and_role RPAREN proof
65 | LPAREN proof AT ty_def RPAREN
66 %entry% : '\001' input
67 | '\002' kind
68 | '\003' kind_and_role
69 | '\010' ty_def
70 | '\005' term
71 | '\006' proof
72 | '\007' ty_dec
73 | '\011' clause
state 0
$accept : . %entry% $end (0)
'\001' shift 1
'\002' shift 2
'\003' shift 3
'\010' shift 4
'\005' shift 5
'\006' shift 6
'\007' shift 7
'\011' shift 8
. error
%entry% goto 9
state 1
%entry% : '\001' . input (66)
TYPE shift 10
CASE shift 11
DATA shift 12
NEWTYPE shift 13
LET shift 14
LIDENT shift 15
UIDENT shift 16
LPAREN shift 17
EOF shift 18
LAMBDA shift 19
. error
input goto 20
term goto 21
ty_dec goto 22
input_aux goto 23
data_type_head goto 24
state 2
%entry% : '\002' . kind (67)
STAR shift 25
LPAREN shift 26
. error
kind goto 27
kind_and_role goto 28
state 3
%entry% : '\003' . kind_and_role (68)
STAR shift 29
LPAREN shift 30
. error
kind_and_role goto 31
state 4
%entry% : '\010' . ty_def (69)
FORALL shift 32
LIDENT shift 33
UIDENT shift 34
LPAREN shift 35
. error
ty_def goto 36
state 5
%entry% : '\005' . term (70)
CASE shift 11
LET shift 14
LIDENT shift 15
UIDENT shift 16
LPAREN shift 17
LAMBDA shift 19
. error
term goto 37
state 6
%entry% : '\006' . proof (71)
FORALL shift 38
LIDENT shift 39
LPAREN shift 40
LTRI shift 41
. error
proof goto 42
state 7
%entry% : '\007' . ty_dec (72)
TYPE shift 10
DATA shift 12
NEWTYPE shift 13
. error
ty_dec goto 43
data_type_head goto 24
state 8
%entry% : '\011' . clause (73)
UIDENT shift 44
. error
clause goto 45
state 9
$accept : %entry% . $end (0)
$end accept
state 10
ty_dec : TYPE . FAMILY UIDENT ty_kr_list SEMI (16)
ty_dec : TYPE . INSTANCE LBRACKET ty_kr_list RBRACKET UIDENT type_list EQ ty_def SEMI (17)
ty_dec : TYPE . INSTANCE UIDENT type_list EQ ty_def SEMI (18)
FAMILY shift 46
INSTANCE shift 47
. error
state 11
term : CASE . LPAREN ty_def COMMA term RPAREN branches (49)
LPAREN shift 48
. error
state 12
data_type_head : DATA . UIDENT ty_kr_list WHERE (19)
UIDENT shift 49
. error
state 13
ty_dec : NEWTYPE . UIDENT EQ UIDENT ty_def SEMI (15)
UIDENT shift 50
. error
state 14
term : LET . LIDENT EQ term (54)
LIDENT shift 51
. error
state 15
term : LIDENT . (43)
. reduce 43
state 16
term : UIDENT . (48)
. reduce 48
state 17
term : LPAREN . term term RPAREN (45)
term : LPAREN . term TAPP ty_def RPAREN (47)
term : LPAREN . term AT proof RPAREN (51)
term : LPAREN . term ARROW proof RPAREN (52)
term : LPAREN . term RPAREN (53)
CASE shift 11
LET shift 14
LIDENT shift 15
UIDENT shift 16
LPAREN shift 17
LAMBDA shift 19
. error
term goto 52
state 18
input : EOF . (1)
. reduce 1
state 19
term : LAMBDA . LIDENT COLON ty_def ARROW term (44)
term : LAMBDA . LIDENT COLON kind_and_role ARROW term (46)
term : LAMBDA . LIDENT COLON ty_def TILDE ty_def ARROW term (50)
LIDENT shift 53
. error
state 20
%entry% : '\001' input . (66)
. reduce 66
state 21
input_aux : term . (4)
. reduce 4
state 22
input_aux : ty_dec . (3)
. reduce 3
state 23
input : input_aux . EOF (2)
input_aux : input_aux . ty_dec (5)
input_aux : input_aux . term SEMI (6)
TYPE shift 10
CASE shift 11
DATA shift 12
NEWTYPE shift 13
LET shift 14
LIDENT shift 15
UIDENT shift 16
LPAREN shift 17
EOF shift 54
LAMBDA shift 19
. error
term goto 55
ty_dec goto 56
data_type_head goto 24
state 24
ty_dec : data_type_head . clauses SEMI (14)
LBRACKET shift 57
. error
clauses goto 58
state 25
kind : STAR . (7)
kind_and_role : STAR . SLASH role (11)
SLASH shift 59
$end reduce 7
FORALL reduce 7
LIDENT reduce 7
UIDENT reduce 7
LPAREN reduce 7
RPAREN reduce 7
state 26
kind : LPAREN . kind RPAREN (9)
kind_and_role : LPAREN . kind RPAREN SLASH role (10)
STAR shift 25
LPAREN shift 26
. error
kind goto 60
kind_and_role goto 28
state 27
%entry% : '\002' kind . (67)
. reduce 67
state 28
kind : kind_and_role . ARROW kind (8)
ARROW shift 61
. error
state 29
kind_and_role : STAR . SLASH role (11)
SLASH shift 59
. error
state 30
kind_and_role : LPAREN . kind RPAREN SLASH role (10)
STAR shift 25
LPAREN shift 26
. error
kind goto 62
kind_and_role goto 28
state 31
%entry% : '\003' kind_and_role . (68)
. reduce 68
state 32
ty_def : FORALL . LIDENT COLON kind_and_role ty_def (41)
LIDENT shift 63
. error
state 33
ty_def : LIDENT . (34)
. reduce 34
state 34
ty_def : UIDENT . (39)
. reduce 39
state 35
ty_def : LPAREN . ARROW RPAREN (35)
ty_def : LPAREN . ty_def ARROW ty_def RPAREN (36)
ty_def : LPAREN . TILDE kind RPAREN (37)
ty_def : LPAREN . ty_def TILDE kind ty_def RPAREN FARROW ty_def (38)
ty_def : LPAREN . ty_def ty_def RPAREN (40)
ty_def : LPAREN . ty_def RPAREN (42)
FORALL shift 32
LIDENT shift 33
UIDENT shift 34
ARROW shift 64
LPAREN shift 35
TILDE shift 65
. error
ty_def goto 66
state 36
%entry% : '\010' ty_def . (69)
. reduce 69
state 37
%entry% : '\005' term . (70)
. reduce 70
state 38
proof : FORALL . LPAREN LIDENT COLON kind_and_role RPAREN proof (64)
LPAREN shift 67
. error
state 39
proof : LIDENT . (58)
. reduce 58
state 40
proof : LPAREN . SYM proof RPAREN (60)
proof : LPAREN . proof SEMI proof RPAREN (61)
proof : LPAREN . proof proof RPAREN (62)
proof : LPAREN . NTH INT proof RPAREN (63)
proof : LPAREN . proof AT ty_def RPAREN (65)
FORALL shift 38
NTH shift 68
SYM shift 69
LIDENT shift 39
LPAREN shift 40
LTRI shift 41
. error
proof goto 70
state 41
proof : LTRI . ty_def RTRI (59)
FORALL shift 32
LIDENT shift 33
UIDENT shift 34
LPAREN shift 35
. error
ty_def goto 71
state 42
%entry% : '\006' proof . (71)
. reduce 71
state 43
%entry% : '\007' ty_dec . (72)
. reduce 72
state 44
clause : UIDENT . DOUBLECOLON LBRACKET ty_kr_list RBRACKET ty_def (32)
clause : UIDENT . DOUBLECOLON ty_def (33)
DOUBLECOLON shift 72
. error
state 45
%entry% : '\011' clause . (73)
. reduce 73
state 46
ty_dec : TYPE FAMILY . UIDENT ty_kr_list SEMI (16)
UIDENT shift 73
. error
state 47
ty_dec : TYPE INSTANCE . LBRACKET ty_kr_list RBRACKET UIDENT type_list EQ ty_def SEMI (17)
ty_dec : TYPE INSTANCE . UIDENT type_list EQ ty_def SEMI (18)
UIDENT shift 74
LBRACKET shift 75
. error
state 48
term : CASE LPAREN . ty_def COMMA term RPAREN branches (49)
FORALL shift 32
LIDENT shift 33
UIDENT shift 34
LPAREN shift 35
. error
ty_def goto 76
state 49
data_type_head : DATA UIDENT . ty_kr_list WHERE (19)
ty_kr_list_aux : . (21)
. reduce 21
ty_kr_list goto 77
ty_kr_list_aux goto 78
state 50
ty_dec : NEWTYPE UIDENT . EQ UIDENT ty_def SEMI (15)
EQ shift 79
. error
state 51
term : LET LIDENT . EQ term (54)
EQ shift 80
. error
state 52
term : LPAREN term . term RPAREN (45)
term : LPAREN term . TAPP ty_def RPAREN (47)
term : LPAREN term . AT proof RPAREN (51)
term : LPAREN term . ARROW proof RPAREN (52)
term : LPAREN term . RPAREN (53)
CASE shift 11
LET shift 14
LIDENT shift 15
UIDENT shift 16
ARROW shift 81
LPAREN shift 17
RPAREN shift 82
LAMBDA shift 19
AT shift 83
TAPP shift 84
. error
term goto 85
state 53
term : LAMBDA LIDENT . COLON ty_def ARROW term (44)
term : LAMBDA LIDENT . COLON kind_and_role ARROW term (46)
term : LAMBDA LIDENT . COLON ty_def TILDE ty_def ARROW term (50)
COLON shift 86
. error
state 54
input : input_aux EOF . (2)
. reduce 2
state 55
input_aux : input_aux term . SEMI (6)
SEMI shift 87
. error
state 56
input_aux : input_aux ty_dec . (5)
. reduce 5
state 57
clauses : LBRACKET . clauses_aux RBRACKET (29)
clauses_aux : . (30)
. reduce 30
clauses_aux goto 88
state 58
ty_dec : data_type_head clauses . SEMI (14)
SEMI shift 89
. error
state 59
kind_and_role : STAR SLASH . role (11)
CODE shift 90
TYPE shift 91
. error
role goto 92
state 60
kind : LPAREN kind . RPAREN (9)
kind_and_role : LPAREN kind . RPAREN SLASH role (10)
RPAREN shift 93
. error
state 61
kind : kind_and_role ARROW . kind (8)
STAR shift 25
LPAREN shift 26
. error
kind goto 94
kind_and_role goto 28
state 62
kind_and_role : LPAREN kind . RPAREN SLASH role (10)
RPAREN shift 95
. error
state 63
ty_def : FORALL LIDENT . COLON kind_and_role ty_def (41)
COLON shift 96
. error
state 64
ty_def : LPAREN ARROW . RPAREN (35)
RPAREN shift 97
. error
state 65
ty_def : LPAREN TILDE . kind RPAREN (37)
STAR shift 25
LPAREN shift 26
. error
kind goto 98
kind_and_role goto 28
state 66
ty_def : LPAREN ty_def . ARROW ty_def RPAREN (36)
ty_def : LPAREN ty_def . TILDE kind ty_def RPAREN FARROW ty_def (38)
ty_def : LPAREN ty_def . ty_def RPAREN (40)
ty_def : LPAREN ty_def . RPAREN (42)
FORALL shift 32
LIDENT shift 33
UIDENT shift 34
ARROW shift 99
LPAREN shift 35
RPAREN shift 100
TILDE shift 101
. error
ty_def goto 102
state 67
proof : FORALL LPAREN . LIDENT COLON kind_and_role RPAREN proof (64)
LIDENT shift 103
. error
state 68
proof : LPAREN NTH . INT proof RPAREN (63)
INT shift 104
. error
state 69
proof : LPAREN SYM . proof RPAREN (60)
FORALL shift 38
LIDENT shift 39
LPAREN shift 40
LTRI shift 41
. error
proof goto 105
state 70
proof : LPAREN proof . SEMI proof RPAREN (61)
proof : LPAREN proof . proof RPAREN (62)
proof : LPAREN proof . AT ty_def RPAREN (65)
FORALL shift 38
LIDENT shift 39
LPAREN shift 40
SEMI shift 106
LTRI shift 41
AT shift 107
. error
proof goto 108
state 71
proof : LTRI ty_def . RTRI (59)
RTRI shift 109
. error
state 72
clause : UIDENT DOUBLECOLON . LBRACKET ty_kr_list RBRACKET ty_def (32)
clause : UIDENT DOUBLECOLON . ty_def (33)
FORALL shift 32
LIDENT shift 33
UIDENT shift 34
LPAREN shift 35
LBRACKET shift 110
. error
ty_def goto 111
state 73
ty_dec : TYPE FAMILY UIDENT . ty_kr_list SEMI (16)
ty_kr_list_aux : . (21)
. reduce 21
ty_kr_list goto 112
ty_kr_list_aux goto 78
state 74
ty_dec : TYPE INSTANCE UIDENT . type_list EQ ty_def SEMI (18)
type_list_aux : . (24)
. reduce 24
type_list goto 113
type_list_aux goto 114
state 75
ty_dec : TYPE INSTANCE LBRACKET . ty_kr_list RBRACKET UIDENT type_list EQ ty_def SEMI (17)
ty_kr_list_aux : . (21)
. reduce 21
ty_kr_list goto 115
ty_kr_list_aux goto 78
state 76
term : CASE LPAREN ty_def . COMMA term RPAREN branches (49)
COMMA shift 116
. error
state 77
data_type_head : DATA UIDENT ty_kr_list . WHERE (19)
WHERE shift 117
. error
state 78
ty_kr_list : ty_kr_list_aux . (20)
ty_kr_list_aux : ty_kr_list_aux . LPAREN LIDENT COLON kind_and_role RPAREN (22)
LPAREN shift 118
WHERE reduce 20
SEMI reduce 20
RBRACKET reduce 20
state 79
ty_dec : NEWTYPE UIDENT EQ . UIDENT ty_def SEMI (15)
UIDENT shift 119
. error
state 80
term : LET LIDENT EQ . term (54)
CASE shift 11
LET shift 14
LIDENT shift 15
UIDENT shift 16
LPAREN shift 17
LAMBDA shift 19
. error
term goto 120
state 81
term : LPAREN term ARROW . proof RPAREN (52)
FORALL shift 38
LIDENT shift 39
LPAREN shift 40
LTRI shift 41
. error
proof goto 121
state 82
term : LPAREN term RPAREN . (53)
. reduce 53
state 83
term : LPAREN term AT . proof RPAREN (51)
FORALL shift 38
LIDENT shift 39
LPAREN shift 40
LTRI shift 41
. error
proof goto 122
state 84
term : LPAREN term TAPP . ty_def RPAREN (47)
FORALL shift 32
LIDENT shift 33
UIDENT shift 34
LPAREN shift 35
. error
ty_def goto 123
state 85
term : LPAREN term term . RPAREN (45)
RPAREN shift 124
. error
state 86
term : LAMBDA LIDENT COLON . ty_def ARROW term (44)
term : LAMBDA LIDENT COLON . kind_and_role ARROW term (46)
term : LAMBDA LIDENT COLON . ty_def TILDE ty_def ARROW term (50)
FORALL shift 32
LIDENT shift 33
UIDENT shift 34
STAR shift 29
LPAREN shift 125
. error
kind_and_role goto 126
ty_def goto 127
state 87
input_aux : input_aux term SEMI . (6)
. reduce 6
state 88
clauses : LBRACKET clauses_aux . RBRACKET (29)
clauses_aux : clauses_aux . clause (31)
UIDENT shift 44
RBRACKET shift 128
. error
clause goto 129
state 89
ty_dec : data_type_head clauses SEMI . (14)
. reduce 14
state 90
role : CODE . (12)
. reduce 12
state 91
role : TYPE . (13)
. reduce 13
state 92
kind_and_role : STAR SLASH role . (11)
. reduce 11
state 93
kind : LPAREN kind RPAREN . (9)
kind_and_role : LPAREN kind RPAREN . SLASH role (10)
SLASH shift 130
$end reduce 9
FORALL reduce 9
LIDENT reduce 9
UIDENT reduce 9
LPAREN reduce 9
RPAREN reduce 9
state 94
kind : kind_and_role ARROW kind . (8)
. reduce 8
state 95
kind_and_role : LPAREN kind RPAREN . SLASH role (10)
SLASH shift 130
. error
state 96
ty_def : FORALL LIDENT COLON . kind_and_role ty_def (41)
STAR shift 29
LPAREN shift 30
. error
kind_and_role goto 131
state 97
ty_def : LPAREN ARROW RPAREN . (35)
. reduce 35
state 98
ty_def : LPAREN TILDE kind . RPAREN (37)
RPAREN shift 132
. error
state 99
ty_def : LPAREN ty_def ARROW . ty_def RPAREN (36)
FORALL shift 32
LIDENT shift 33
UIDENT shift 34
LPAREN shift 35
. error
ty_def goto 133
state 100
ty_def : LPAREN ty_def RPAREN . (42)
. reduce 42
state 101
ty_def : LPAREN ty_def TILDE . kind ty_def RPAREN FARROW ty_def (38)
STAR shift 25
LPAREN shift 26
. error
kind goto 134
kind_and_role goto 28
state 102
ty_def : LPAREN ty_def ty_def . RPAREN (40)
RPAREN shift 135
. error
state 103
proof : FORALL LPAREN LIDENT . COLON kind_and_role RPAREN proof (64)
COLON shift 136
. error
state 104
proof : LPAREN NTH INT . proof RPAREN (63)
FORALL shift 38
LIDENT shift 39
LPAREN shift 40
LTRI shift 41
. error
proof goto 137
state 105
proof : LPAREN SYM proof . RPAREN (60)
RPAREN shift 138
. error
state 106
proof : LPAREN proof SEMI . proof RPAREN (61)
FORALL shift 38
LIDENT shift 39
LPAREN shift 40
LTRI shift 41
. error
proof goto 139
state 107
proof : LPAREN proof AT . ty_def RPAREN (65)
FORALL shift 32
LIDENT shift 33
UIDENT shift 34
LPAREN shift 35
. error
ty_def goto 140
state 108
proof : LPAREN proof proof . RPAREN (62)
RPAREN shift 141
. error
state 109
proof : LTRI ty_def RTRI . (59)
. reduce 59
state 110
clause : UIDENT DOUBLECOLON LBRACKET . ty_kr_list RBRACKET ty_def (32)
ty_kr_list_aux : . (21)
. reduce 21
ty_kr_list goto 142
ty_kr_list_aux goto 78
state 111
clause : UIDENT DOUBLECOLON ty_def . (33)
. reduce 33
state 112
ty_dec : TYPE FAMILY UIDENT ty_kr_list . SEMI (16)
SEMI shift 143
. error
state 113
ty_dec : TYPE INSTANCE UIDENT type_list . EQ ty_def SEMI (18)
EQ shift 144
. error
state 114
type_list : type_list_aux . (23)
type_list_aux : type_list_aux . ty_def (25)
FORALL shift 32
LIDENT shift 33
UIDENT shift 34
LPAREN shift 35
EQ reduce 23
ty_def goto 145
state 115
ty_dec : TYPE INSTANCE LBRACKET ty_kr_list . RBRACKET UIDENT type_list EQ ty_def SEMI (17)
RBRACKET shift 146
. error
state 116
term : CASE LPAREN ty_def COMMA . term RPAREN branches (49)
CASE shift 11
LET shift 14
LIDENT shift 15
UIDENT shift 16
LPAREN shift 17
LAMBDA shift 19
. error
term goto 147
state 117
data_type_head : DATA UIDENT ty_kr_list WHERE . (19)
. reduce 19
state 118
ty_kr_list_aux : ty_kr_list_aux LPAREN . LIDENT COLON kind_and_role RPAREN (22)
LIDENT shift 148
. error
state 119
ty_dec : NEWTYPE UIDENT EQ UIDENT . ty_def SEMI (15)
FORALL shift 32
LIDENT shift 33
UIDENT shift 34
LPAREN shift 35
. error
ty_def goto 149
state 120
term : LET LIDENT EQ term . (54)
. reduce 54
state 121
term : LPAREN term ARROW proof . RPAREN (52)
RPAREN shift 150
. error
state 122
term : LPAREN term AT proof . RPAREN (51)
RPAREN shift 151
. error
state 123
term : LPAREN term TAPP ty_def . RPAREN (47)
RPAREN shift 152
. error
state 124
term : LPAREN term term RPAREN . (45)
. reduce 45
state 125
kind_and_role : LPAREN . kind RPAREN SLASH role (10)
ty_def : LPAREN . ARROW RPAREN (35)
ty_def : LPAREN . ty_def ARROW ty_def RPAREN (36)
ty_def : LPAREN . TILDE kind RPAREN (37)
ty_def : LPAREN . ty_def TILDE kind ty_def RPAREN FARROW ty_def (38)
ty_def : LPAREN . ty_def ty_def RPAREN (40)
ty_def : LPAREN . ty_def RPAREN (42)
FORALL shift 32
LIDENT shift 33
UIDENT shift 34
STAR shift 25
ARROW shift 64
LPAREN shift 153
TILDE shift 65
. error
kind goto 62
kind_and_role goto 28
ty_def goto 66
state 126
term : LAMBDA LIDENT COLON kind_and_role . ARROW term (46)
ARROW shift 154
. error
state 127
term : LAMBDA LIDENT COLON ty_def . ARROW term (44)
term : LAMBDA LIDENT COLON ty_def . TILDE ty_def ARROW term (50)
ARROW shift 155
TILDE shift 156
. error
state 128
clauses : LBRACKET clauses_aux RBRACKET . (29)
. reduce 29
state 129
clauses_aux : clauses_aux clause . (31)
. reduce 31
state 130
kind_and_role : LPAREN kind RPAREN SLASH . role (10)
CODE shift 90
TYPE shift 91
. error
role goto 157
state 131
ty_def : FORALL LIDENT COLON kind_and_role . ty_def (41)
FORALL shift 32
LIDENT shift 33
UIDENT shift 34
LPAREN shift 35
. error
ty_def goto 158
state 132
ty_def : LPAREN TILDE kind RPAREN . (37)
. reduce 37
state 133
ty_def : LPAREN ty_def ARROW ty_def . RPAREN (36)
RPAREN shift 159
. error
state 134
ty_def : LPAREN ty_def TILDE kind . ty_def RPAREN FARROW ty_def (38)
FORALL shift 32
LIDENT shift 33
UIDENT shift 34
LPAREN shift 35
. error
ty_def goto 160
state 135
ty_def : LPAREN ty_def ty_def RPAREN . (40)
. reduce 40
state 136
proof : FORALL LPAREN LIDENT COLON . kind_and_role RPAREN proof (64)
STAR shift 29
LPAREN shift 30
. error
kind_and_role goto 161
state 137
proof : LPAREN NTH INT proof . RPAREN (63)
RPAREN shift 162
. error
state 138
proof : LPAREN SYM proof RPAREN . (60)
. reduce 60
state 139
proof : LPAREN proof SEMI proof . RPAREN (61)
RPAREN shift 163
. error
state 140
proof : LPAREN proof AT ty_def . RPAREN (65)
RPAREN shift 164
. error
state 141
proof : LPAREN proof proof RPAREN . (62)
. reduce 62
state 142
clause : UIDENT DOUBLECOLON LBRACKET ty_kr_list . RBRACKET ty_def (32)
RBRACKET shift 165
. error
state 143
ty_dec : TYPE FAMILY UIDENT ty_kr_list SEMI . (16)
. reduce 16
state 144
ty_dec : TYPE INSTANCE UIDENT type_list EQ . ty_def SEMI (18)
FORALL shift 32
LIDENT shift 33
UIDENT shift 34
LPAREN shift 35
. error
ty_def goto 166
state 145
type_list_aux : type_list_aux ty_def . (25)
. reduce 25
state 146
ty_dec : TYPE INSTANCE LBRACKET ty_kr_list RBRACKET . UIDENT type_list EQ ty_def SEMI (17)
UIDENT shift 167
. error
state 147
term : CASE LPAREN ty_def COMMA term . RPAREN branches (49)
RPAREN shift 168
. error
state 148
ty_kr_list_aux : ty_kr_list_aux LPAREN LIDENT . COLON kind_and_role RPAREN (22)
COLON shift 169
. error
state 149
ty_dec : NEWTYPE UIDENT EQ UIDENT ty_def . SEMI (15)
SEMI shift 170
. error
state 150
term : LPAREN term ARROW proof RPAREN . (52)
. reduce 52
state 151
term : LPAREN term AT proof RPAREN . (51)
. reduce 51
state 152
term : LPAREN term TAPP ty_def RPAREN . (47)
. reduce 47
state 153
kind : LPAREN . kind RPAREN (9)
kind_and_role : LPAREN . kind RPAREN SLASH role (10)
ty_def : LPAREN . ARROW RPAREN (35)
ty_def : LPAREN . ty_def ARROW ty_def RPAREN (36)
ty_def : LPAREN . TILDE kind RPAREN (37)
ty_def : LPAREN . ty_def TILDE kind ty_def RPAREN FARROW ty_def (38)
ty_def : LPAREN . ty_def ty_def RPAREN (40)
ty_def : LPAREN . ty_def RPAREN (42)
FORALL shift 32
LIDENT shift 33
UIDENT shift 34
STAR shift 25
ARROW shift 64
LPAREN shift 153
TILDE shift 65
. error
kind goto 60
kind_and_role goto 28
ty_def goto 66
state 154
term : LAMBDA LIDENT COLON kind_and_role ARROW . term (46)
CASE shift 11
LET shift 14
LIDENT shift 15
UIDENT shift 16
LPAREN shift 17
LAMBDA shift 19
. error
term goto 171
state 155
term : LAMBDA LIDENT COLON ty_def ARROW . term (44)
CASE shift 11
LET shift 14
LIDENT shift 15
UIDENT shift 16
LPAREN shift 17
LAMBDA shift 19
. error
term goto 172
state 156
term : LAMBDA LIDENT COLON ty_def TILDE . ty_def ARROW term (50)
FORALL shift 32
LIDENT shift 33
UIDENT shift 34
LPAREN shift 35
. error
ty_def goto 173
state 157
kind_and_role : LPAREN kind RPAREN SLASH role . (10)
. reduce 10
state 158
ty_def : FORALL LIDENT COLON kind_and_role ty_def . (41)
. reduce 41
state 159
ty_def : LPAREN ty_def ARROW ty_def RPAREN . (36)
. reduce 36
state 160
ty_def : LPAREN ty_def TILDE kind ty_def . RPAREN FARROW ty_def (38)
RPAREN shift 174
. error
state 161
proof : FORALL LPAREN LIDENT COLON kind_and_role . RPAREN proof (64)
RPAREN shift 175
. error
state 162
proof : LPAREN NTH INT proof RPAREN . (63)
. reduce 63
state 163
proof : LPAREN proof SEMI proof RPAREN . (61)
. reduce 61
state 164
proof : LPAREN proof AT ty_def RPAREN . (65)
. reduce 65
state 165
clause : UIDENT DOUBLECOLON LBRACKET ty_kr_list RBRACKET . ty_def (32)
FORALL shift 32
LIDENT shift 33
UIDENT shift 34
LPAREN shift 35
. error
ty_def goto 176
state 166
ty_dec : TYPE INSTANCE UIDENT type_list EQ ty_def . SEMI (18)
SEMI shift 177
. error
state 167
ty_dec : TYPE INSTANCE LBRACKET ty_kr_list RBRACKET UIDENT . type_list EQ ty_def SEMI (17)
type_list_aux : . (24)
. reduce 24
type_list goto 178
type_list_aux goto 114
state 168
term : CASE LPAREN ty_def COMMA term RPAREN . branches (49)
LBRACKET shift 179
. error
branches goto 180
state 169
ty_kr_list_aux : ty_kr_list_aux LPAREN LIDENT COLON . kind_and_role RPAREN (22)
STAR shift 29
LPAREN shift 30
. error
kind_and_role goto 181
state 170
ty_dec : NEWTYPE UIDENT EQ UIDENT ty_def SEMI . (15)
. reduce 15
state 171
term : LAMBDA LIDENT COLON kind_and_role ARROW term . (46)
. reduce 46
state 172
term : LAMBDA LIDENT COLON ty_def ARROW term . (44)
. reduce 44
state 173
term : LAMBDA LIDENT COLON ty_def TILDE ty_def . ARROW term (50)
ARROW shift 182
. error
state 174
ty_def : LPAREN ty_def TILDE kind ty_def RPAREN . FARROW ty_def (38)
FARROW shift 183
. error
state 175
proof : FORALL LPAREN LIDENT COLON kind_and_role RPAREN . proof (64)
FORALL shift 38
LIDENT shift 39
LPAREN shift 40
LTRI shift 41
. error
proof goto 184
state 176
clause : UIDENT DOUBLECOLON LBRACKET ty_kr_list RBRACKET ty_def . (32)
. reduce 32
state 177
ty_dec : TYPE INSTANCE UIDENT type_list EQ ty_def SEMI . (18)
. reduce 18
state 178
ty_dec : TYPE INSTANCE LBRACKET ty_kr_list RBRACKET UIDENT type_list . EQ ty_def SEMI (17)
EQ shift 185
. error
state 179
branches : LBRACKET . bs RBRACKET (55)
bs : . (56)
. reduce 56
bs goto 186
state 180
term : CASE LPAREN ty_def COMMA term RPAREN branches . (49)
. reduce 49
state 181
ty_kr_list_aux : ty_kr_list_aux LPAREN LIDENT COLON kind_and_role . RPAREN (22)
RPAREN shift 187
. error
state 182
term : LAMBDA LIDENT COLON ty_def TILDE ty_def ARROW . term (50)
CASE shift 11
LET shift 14
LIDENT shift 15
UIDENT shift 16
LPAREN shift 17
LAMBDA shift 19
. error
term goto 188
state 183
ty_def : LPAREN ty_def TILDE kind ty_def RPAREN FARROW . ty_def (38)
FORALL shift 32
LIDENT shift 33
UIDENT shift 34
LPAREN shift 35
. error
ty_def goto 189
state 184
proof : FORALL LPAREN LIDENT COLON kind_and_role RPAREN proof . (64)
. reduce 64
state 185
ty_dec : TYPE INSTANCE LBRACKET ty_kr_list RBRACKET UIDENT type_list EQ . ty_def SEMI (17)
FORALL shift 32
LIDENT shift 33
UIDENT shift 34
LPAREN shift 35
. error
ty_def goto 190
state 186
branches : LBRACKET bs . RBRACKET (55)
bs : bs . UIDENT FARROW term SEMI (57)
UIDENT shift 191
RBRACKET shift 192
. error
state 187
ty_kr_list_aux : ty_kr_list_aux LPAREN LIDENT COLON kind_and_role RPAREN . (22)
. reduce 22
state 188
term : LAMBDA LIDENT COLON ty_def TILDE ty_def ARROW term . (50)
. reduce 50
state 189
ty_def : LPAREN ty_def TILDE kind ty_def RPAREN FARROW ty_def . (38)
. reduce 38
state 190
ty_dec : TYPE INSTANCE LBRACKET ty_kr_list RBRACKET UIDENT type_list EQ ty_def . SEMI (17)
SEMI shift 193
. error
state 191
bs : bs UIDENT . FARROW term SEMI (57)
FARROW shift 194
. error
state 192
branches : LBRACKET bs RBRACKET . (55)
. reduce 55
state 193
ty_dec : TYPE INSTANCE LBRACKET ty_kr_list RBRACKET UIDENT type_list EQ ty_def SEMI . (17)
. reduce 17
state 194
bs : bs UIDENT FARROW . term SEMI (57)
CASE shift 11
LET shift 14
LIDENT shift 15
UIDENT shift 16
LPAREN shift 17
LAMBDA shift 19
. error
term goto 195
state 195
bs : bs UIDENT FARROW term . SEMI (57)
SEMI shift 196
. error
state 196
bs : bs UIDENT FARROW term SEMI . (57)
. reduce 57
Rules never reduced:
tylist : tylist_aux (26)
tylist_aux : (27)
tylist_aux : tylist LIDENT (28)
46 terminals, 23 nonterminals
74 grammar rules, 197 states