lang/src/Language/Lang/ParGrammer.info

1286 lines
36 KiB
Plaintext

-----------------------------------------------------------------------------
Info file generated by Happy Version 1.19.12 from Language/Lang/ParGrammer.y
-----------------------------------------------------------------------------
state 3 contains 11 reduce/reduce conflicts.
state 13 contains 1 reduce/reduce conflicts.
state 14 contains 1 reduce/reduce conflicts.
state 16 contains 1 reduce/reduce conflicts.
state 19 contains 1 shift/reduce conflicts and 3 reduce/reduce conflicts.
state 28 contains 7 reduce/reduce conflicts.
state 32 contains 7 shift/reduce conflicts.
state 39 contains 6 shift/reduce conflicts.
state 53 contains 6 shift/reduce conflicts.
state 54 contains 7 shift/reduce conflicts.
rule 25 is unused
rule 26 is unused
rule 27 is unused
rule 28 is unused
rule 29 is unused
-----------------------------------------------------------------------------
Grammar
-----------------------------------------------------------------------------
%start_pModule -> Module (0)
Name -> L_Name (1)
NumericLiteral -> L_NumericLiteral (2)
Module -> ListBinding (3)
Binding -> Declaration (4)
Binding -> Definition (5)
Binding -> '{#' Pragma '#}' (6)
Declaration -> Name ':' Type (7)
Declaration -> Type (8)
Definition -> Name '=' Expression (9)
Definition -> Expression (10)
Type -> Name (11)
Type -> Type Type (12)
Type -> Type '->' Type (13)
Type -> '{{' ListDeclaration '}}' (14)
Type -> '{' ListDeclaration '}' (15)
Type -> '[' ListDeclaration ']' (16)
Type -> '(' Type ')' (17)
Pragma -> ListName (18)
ListBinding -> (19)
ListBinding -> Binding (20)
ListBinding -> Binding ',' ListBinding (21)
ListDeclaration -> (22)
ListDeclaration -> Declaration (23)
ListDeclaration -> Declaration ',' ListDeclaration (24)
ListDefinition -> (25)
ListDefinition -> Definition (26)
ListDefinition -> Definition ',' ListDefinition (27)
ListType -> Type (28)
ListType -> Type ',' ListType (29)
ListName -> Name (30)
ListName -> Name ListName (31)
Expression -> Name (32)
Expression -> NumericLiteral (33)
Expression -> Expression Expression (34)
Expression -> Expression '->' Expression (35)
Expression -> '{{' Module '}}' (36)
Expression -> '{' Module '}' (37)
Expression -> '[' Module ']' (38)
Expression -> '(' Expression ')' (39)
-----------------------------------------------------------------------------
Terminals
-----------------------------------------------------------------------------
'#}' { PT _ (TS _ 1) }
'(' { PT _ (TS _ 2) }
')' { PT _ (TS _ 3) }
',' { PT _ (TS _ 4) }
'->' { PT _ (TS _ 5) }
':' { PT _ (TS _ 6) }
'=' { PT _ (TS _ 7) }
'[' { PT _ (TS _ 8) }
']' { PT _ (TS _ 9) }
'{' { PT _ (TS _ 10) }
'{#' { PT _ (TS _ 11) }
'{{' { PT _ (TS _ 12) }
'}' { PT _ (TS _ 13) }
'}}' { PT _ (TS _ 14) }
L_Name { PT _ (T_Name $$) }
L_NumericLiteral{ PT _ (T_NumericLiteral $$) }
-----------------------------------------------------------------------------
Non-terminals
-----------------------------------------------------------------------------
%start_pModule rule 0
Name rule 1
NumericLiteral rule 2
Module rule 3
Binding rules 4, 5, 6
Declaration rules 7, 8
Definition rules 9, 10
Type rules 11, 12, 13, 14, 15, 16, 17
Pragma rule 18
ListBinding rules 19, 20, 21
ListDeclaration rules 22, 23, 24
ListDefinition rules 25, 26, 27
ListType rules 28, 29
ListName rules 30, 31
Expression rules 32, 33, 34, 35, 36, 37, 38, 39
-----------------------------------------------------------------------------
States
-----------------------------------------------------------------------------
State 0
'(' shift, and enter state 12
'[' shift, and enter state 13
'{' shift, and enter state 14
'{#' shift, and enter state 15
'{{' shift, and enter state 16
L_Name shift, and enter state 2
L_NumericLiteralshift, and enter state 17
%eof reduce using rule 19
Name goto state 3
NumericLiteral goto state 4
Module goto state 5
Binding goto state 6
Declaration goto state 7
Definition goto state 8
Type goto state 9
ListBinding goto state 10
Expression goto state 11
State 1
L_Name shift, and enter state 2
State 2
Name -> L_Name . (rule 1)
'#}' reduce using rule 1
'(' reduce using rule 1
')' reduce using rule 1
',' reduce using rule 1
'->' reduce using rule 1
':' reduce using rule 1
'=' reduce using rule 1
'[' reduce using rule 1
']' reduce using rule 1
'{' reduce using rule 1
'{{' reduce using rule 1
'}' reduce using rule 1
'}}' reduce using rule 1
L_Name reduce using rule 1
L_NumericLiteralreduce using rule 1
%eof reduce using rule 1
State 3
Declaration -> Name . ':' Type (rule 7)
Definition -> Name . '=' Expression (rule 9)
Type -> Name . (rule 11)
Expression -> Name . (rule 32)
'(' reduce using rule 32
(reduce using rule 11)
',' reduce using rule 32
(reduce using rule 11)
'->' reduce using rule 32
(reduce using rule 11)
':' shift, and enter state 46
'=' shift, and enter state 47
'[' reduce using rule 32
(reduce using rule 11)
']' reduce using rule 32
(reduce using rule 11)
'{' reduce using rule 32
(reduce using rule 11)
'{{' reduce using rule 32
(reduce using rule 11)
'}' reduce using rule 32
(reduce using rule 11)
'}}' reduce using rule 32
(reduce using rule 11)
L_Name reduce using rule 32
(reduce using rule 11)
L_NumericLiteralreduce using rule 32
%eof reduce using rule 32
(reduce using rule 11)
State 4
Expression -> NumericLiteral . (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
L_Name reduce using rule 33
L_NumericLiteralreduce using rule 33
%eof reduce using rule 33
State 5
%start_pModule -> Module . (rule 0)
%eof accept
State 6
ListBinding -> Binding . (rule 20)
ListBinding -> Binding . ',' ListBinding (rule 21)
',' shift, and enter state 45
']' reduce using rule 20
'}' reduce using rule 20
'}}' reduce using rule 20
%eof reduce using rule 20
State 7
Binding -> Declaration . (rule 4)
',' reduce using rule 4
']' reduce using rule 4
'}' reduce using rule 4
'}}' reduce using rule 4
%eof reduce using rule 4
State 8
Binding -> Definition . (rule 5)
',' reduce using rule 5
']' reduce using rule 5
'}' reduce using rule 5
'}}' reduce using rule 5
%eof reduce using rule 5
State 9
Declaration -> Type . (rule 8)
Type -> Type . Type (rule 12)
Type -> Type . '->' Type (rule 13)
'(' shift, and enter state 40
',' reduce using rule 8
'->' shift, and enter state 41
'[' shift, and enter state 42
']' reduce using rule 8
'{' shift, and enter state 43
'{{' shift, and enter state 44
'}' reduce using rule 8
'}}' reduce using rule 8
L_Name shift, and enter state 2
%eof reduce using rule 8
Name goto state 38
Type goto state 39
State 10
Module -> ListBinding . (rule 3)
']' reduce using rule 3
'}' reduce using rule 3
'}}' reduce using rule 3
%eof reduce using rule 3
State 11
Definition -> Expression . (rule 10)
Expression -> Expression . Expression (rule 34)
Expression -> Expression . '->' Expression (rule 35)
'(' shift, and enter state 33
',' reduce using rule 10
'->' shift, and enter state 34
'[' shift, and enter state 35
']' reduce using rule 10
'{' shift, and enter state 36
'{{' shift, and enter state 37
'}' reduce using rule 10
'}}' reduce using rule 10
L_Name shift, and enter state 2
L_NumericLiteralshift, and enter state 17
%eof reduce using rule 10
Name goto state 31
NumericLiteral goto state 4
Expression goto state 32
State 12
Type -> '(' . Type ')' (rule 17)
Expression -> '(' . Expression ')' (rule 39)
'(' shift, and enter state 12
'[' shift, and enter state 13
'{' shift, and enter state 14
'{{' shift, and enter state 16
L_Name shift, and enter state 2
L_NumericLiteralshift, and enter state 17
Name goto state 28
NumericLiteral goto state 4
Type goto state 29
Expression goto state 30
State 13
Type -> '[' . ListDeclaration ']' (rule 16)
Expression -> '[' . Module ']' (rule 38)
'(' shift, and enter state 12
'[' shift, and enter state 13
']' reduce using rule 22
(reduce using rule 19)
'{' shift, and enter state 14
'{#' shift, and enter state 15
'{{' shift, and enter state 16
L_Name shift, and enter state 2
L_NumericLiteralshift, and enter state 17
Name goto state 3
NumericLiteral goto state 4
Module goto state 26
Binding goto state 6
Declaration goto state 19
Definition goto state 8
Type goto state 9
ListBinding goto state 10
ListDeclarationgoto state 27
Expression goto state 11
State 14
Type -> '{' . ListDeclaration '}' (rule 15)
Expression -> '{' . Module '}' (rule 37)
'(' shift, and enter state 12
'[' shift, and enter state 13
'{' shift, and enter state 14
'{#' shift, and enter state 15
'{{' shift, and enter state 16
'}' reduce using rule 22
(reduce using rule 19)
L_Name shift, and enter state 2
L_NumericLiteralshift, and enter state 17
Name goto state 3
NumericLiteral goto state 4
Module goto state 24
Binding goto state 6
Declaration goto state 19
Definition goto state 8
Type goto state 9
ListBinding goto state 10
ListDeclarationgoto state 25
Expression goto state 11
State 15
Binding -> '{#' . Pragma '#}' (rule 6)
L_Name shift, and enter state 2
Name goto state 21
Pragma goto state 22
ListName goto state 23
State 16
Type -> '{{' . ListDeclaration '}}' (rule 14)
Expression -> '{{' . Module '}}' (rule 36)
'(' shift, and enter state 12
'[' shift, and enter state 13
'{' shift, and enter state 14
'{#' shift, and enter state 15
'{{' shift, and enter state 16
'}}' reduce using rule 22
(reduce using rule 19)
L_Name shift, and enter state 2
L_NumericLiteralshift, and enter state 17
Name goto state 3
NumericLiteral goto state 4
Module goto state 18
Binding goto state 6
Declaration goto state 19
Definition goto state 8
Type goto state 9
ListBinding goto state 10
ListDeclarationgoto state 20
Expression goto state 11
State 17
NumericLiteral -> L_NumericLiteral . (rule 2)
'(' reduce using rule 2
')' reduce using rule 2
',' reduce using rule 2
'->' reduce using rule 2
'[' reduce using rule 2
']' reduce using rule 2
'{' reduce using rule 2
'{{' reduce using rule 2
'}' reduce using rule 2
'}}' reduce using rule 2
L_Name reduce using rule 2
L_NumericLiteralreduce using rule 2
%eof reduce using rule 2
State 18
Expression -> '{{' Module . '}}' (rule 36)
'}}' shift, and enter state 65
State 19
Binding -> Declaration . (rule 4)
ListDeclaration -> Declaration . (rule 23)
ListDeclaration -> Declaration . ',' ListDeclaration (rule 24)
',' shift, and enter state 64
(reduce using rule 4)
']' reduce using rule 23
(reduce using rule 4)
'}' reduce using rule 23
(reduce using rule 4)
'}}' reduce using rule 23
(reduce using rule 4)
State 20
Type -> '{{' ListDeclaration . '}}' (rule 14)
'}}' shift, and enter state 63
State 21
ListName -> Name . (rule 30)
ListName -> Name . ListName (rule 31)
'#}' reduce using rule 30
L_Name shift, and enter state 2
Name goto state 21
ListName goto state 62
State 22
Binding -> '{#' Pragma . '#}' (rule 6)
'#}' shift, and enter state 61
State 23
Pragma -> ListName . (rule 18)
'#}' reduce using rule 18
State 24
Expression -> '{' Module . '}' (rule 37)
'}' shift, and enter state 60
State 25
Type -> '{' ListDeclaration . '}' (rule 15)
'}' shift, and enter state 59
State 26
Expression -> '[' Module . ']' (rule 38)
']' shift, and enter state 58
State 27
Type -> '[' ListDeclaration . ']' (rule 16)
']' shift, and enter state 57
State 28
Type -> Name . (rule 11)
Expression -> Name . (rule 32)
'(' reduce using rule 32
(reduce using rule 11)
')' reduce using rule 32
(reduce using rule 11)
'->' reduce using rule 32
(reduce using rule 11)
'[' reduce using rule 32
(reduce using rule 11)
'{' reduce using rule 32
(reduce using rule 11)
'{{' reduce using rule 32
(reduce using rule 11)
L_Name reduce using rule 32
(reduce using rule 11)
L_NumericLiteralreduce using rule 32
State 29
Type -> Type . Type (rule 12)
Type -> Type . '->' Type (rule 13)
Type -> '(' Type . ')' (rule 17)
'(' shift, and enter state 40
')' shift, and enter state 56
'->' shift, and enter state 41
'[' shift, and enter state 42
'{' shift, and enter state 43
'{{' shift, and enter state 44
L_Name shift, and enter state 2
Name goto state 38
Type goto state 39
State 30
Expression -> Expression . Expression (rule 34)
Expression -> Expression . '->' Expression (rule 35)
Expression -> '(' Expression . ')' (rule 39)
'(' shift, and enter state 33
')' shift, and enter state 55
'->' shift, and enter state 34
'[' shift, and enter state 35
'{' shift, and enter state 36
'{{' shift, and enter state 37
L_Name shift, and enter state 2
L_NumericLiteralshift, and enter state 17
Name goto state 31
NumericLiteral goto state 4
Expression goto state 32
State 31
Expression -> Name . (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
L_Name reduce using rule 32
L_NumericLiteralreduce using rule 32
%eof reduce using rule 32
State 32
Expression -> Expression . Expression (rule 34)
Expression -> Expression Expression . (rule 34)
Expression -> Expression . '->' Expression (rule 35)
'(' shift, and enter state 33
(reduce using rule 34)
')' reduce using rule 34
',' reduce using rule 34
'->' shift, and enter state 34
(reduce using rule 34)
'[' shift, and enter state 35
(reduce using rule 34)
']' reduce using rule 34
'{' shift, and enter state 36
(reduce using rule 34)
'{{' shift, and enter state 37
(reduce using rule 34)
'}' reduce using rule 34
'}}' reduce using rule 34
L_Name shift, and enter state 2
(reduce using rule 34)
L_NumericLiteralshift, and enter state 17
(reduce using rule 34)
%eof reduce using rule 34
Name goto state 31
NumericLiteral goto state 4
Expression goto state 32
State 33
Expression -> '(' . Expression ')' (rule 39)
'(' shift, and enter state 33
'[' shift, and enter state 35
'{' shift, and enter state 36
'{{' shift, and enter state 37
L_Name shift, and enter state 2
L_NumericLiteralshift, and enter state 17
Name goto state 31
NumericLiteral goto state 4
Expression goto state 30
State 34
Expression -> Expression '->' . Expression (rule 35)
'(' shift, and enter state 33
'[' shift, and enter state 35
'{' shift, and enter state 36
'{{' shift, and enter state 37
L_Name shift, and enter state 2
L_NumericLiteralshift, and enter state 17
Name goto state 31
NumericLiteral goto state 4
Expression goto state 54
State 35
Expression -> '[' . Module ']' (rule 38)
'(' shift, and enter state 12
'[' shift, and enter state 13
']' reduce using rule 19
'{' shift, and enter state 14
'{#' shift, and enter state 15
'{{' shift, and enter state 16
L_Name shift, and enter state 2
L_NumericLiteralshift, and enter state 17
Name goto state 3
NumericLiteral goto state 4
Module goto state 26
Binding goto state 6
Declaration goto state 7
Definition goto state 8
Type goto state 9
ListBinding goto state 10
Expression goto state 11
State 36
Expression -> '{' . Module '}' (rule 37)
'(' shift, and enter state 12
'[' shift, and enter state 13
'{' shift, and enter state 14
'{#' shift, and enter state 15
'{{' shift, and enter state 16
'}' reduce using rule 19
L_Name shift, and enter state 2
L_NumericLiteralshift, and enter state 17
Name goto state 3
NumericLiteral goto state 4
Module goto state 24
Binding goto state 6
Declaration goto state 7
Definition goto state 8
Type goto state 9
ListBinding goto state 10
Expression goto state 11
State 37
Expression -> '{{' . Module '}}' (rule 36)
'(' shift, and enter state 12
'[' shift, and enter state 13
'{' shift, and enter state 14
'{#' shift, and enter state 15
'{{' shift, and enter state 16
'}}' reduce using rule 19
L_Name shift, and enter state 2
L_NumericLiteralshift, and enter state 17
Name goto state 3
NumericLiteral goto state 4
Module goto state 18
Binding goto state 6
Declaration goto state 7
Definition goto state 8
Type goto state 9
ListBinding goto state 10
Expression goto state 11
State 38
Type -> Name . (rule 11)
'(' reduce using rule 11
')' reduce using rule 11
',' reduce using rule 11
'->' reduce using rule 11
'[' reduce using rule 11
']' reduce using rule 11
'{' reduce using rule 11
'{{' reduce using rule 11
'}' reduce using rule 11
'}}' reduce using rule 11
L_Name reduce using rule 11
%eof reduce using rule 11
State 39
Type -> Type . Type (rule 12)
Type -> Type Type . (rule 12)
Type -> Type . '->' Type (rule 13)
'(' shift, and enter state 40
(reduce using rule 12)
')' reduce using rule 12
',' reduce using rule 12
'->' shift, and enter state 41
(reduce using rule 12)
'[' shift, and enter state 42
(reduce using rule 12)
']' reduce using rule 12
'{' shift, and enter state 43
(reduce using rule 12)
'{{' shift, and enter state 44
(reduce using rule 12)
'}' reduce using rule 12
'}}' reduce using rule 12
L_Name shift, and enter state 2
(reduce using rule 12)
%eof reduce using rule 12
Name goto state 38
Type goto state 39
State 40
Type -> '(' . Type ')' (rule 17)
'(' shift, and enter state 40
'[' shift, and enter state 42
'{' shift, and enter state 43
'{{' shift, and enter state 44
L_Name shift, and enter state 2
Name goto state 38
Type goto state 29
State 41
Type -> Type '->' . Type (rule 13)
'(' shift, and enter state 40
'[' shift, and enter state 42
'{' shift, and enter state 43
'{{' shift, and enter state 44
L_Name shift, and enter state 2
Name goto state 38
Type goto state 53
State 42
Type -> '[' . ListDeclaration ']' (rule 16)
'(' shift, and enter state 40
'[' shift, and enter state 42
']' reduce using rule 22
'{' shift, and enter state 43
'{{' shift, and enter state 44
L_Name shift, and enter state 2
Name goto state 51
Declaration goto state 52
Type goto state 9
ListDeclarationgoto state 27
State 43
Type -> '{' . ListDeclaration '}' (rule 15)
'(' shift, and enter state 40
'[' shift, and enter state 42
'{' shift, and enter state 43
'{{' shift, and enter state 44
'}' reduce using rule 22
L_Name shift, and enter state 2
Name goto state 51
Declaration goto state 52
Type goto state 9
ListDeclarationgoto state 25
State 44
Type -> '{{' . ListDeclaration '}}' (rule 14)
'(' shift, and enter state 40
'[' shift, and enter state 42
'{' shift, and enter state 43
'{{' shift, and enter state 44
'}}' reduce using rule 22
L_Name shift, and enter state 2
Name goto state 51
Declaration goto state 52
Type goto state 9
ListDeclarationgoto state 20
State 45
ListBinding -> Binding ',' . ListBinding (rule 21)
'(' shift, and enter state 12
'[' shift, and enter state 13
']' reduce using rule 19
'{' shift, and enter state 14
'{#' shift, and enter state 15
'{{' shift, and enter state 16
'}' reduce using rule 19
'}}' reduce using rule 19
L_Name shift, and enter state 2
L_NumericLiteralshift, and enter state 17
%eof reduce using rule 19
Name goto state 3
NumericLiteral goto state 4
Binding goto state 6
Declaration goto state 7
Definition goto state 8
Type goto state 9
ListBinding goto state 50
Expression goto state 11
State 46
Declaration -> Name ':' . Type (rule 7)
'(' shift, and enter state 40
'[' shift, and enter state 42
'{' shift, and enter state 43
'{{' shift, and enter state 44
L_Name shift, and enter state 2
Name goto state 38
Type goto state 49
State 47
Definition -> Name '=' . Expression (rule 9)
'(' shift, and enter state 33
'[' shift, and enter state 35
'{' shift, and enter state 36
'{{' shift, and enter state 37
L_Name shift, and enter state 2
L_NumericLiteralshift, and enter state 17
Name goto state 31
NumericLiteral goto state 4
Expression goto state 48
State 48
Definition -> Name '=' Expression . (rule 9)
Expression -> Expression . Expression (rule 34)
Expression -> Expression . '->' Expression (rule 35)
'(' shift, and enter state 33
',' reduce using rule 9
'->' shift, and enter state 34
'[' shift, and enter state 35
']' reduce using rule 9
'{' shift, and enter state 36
'{{' shift, and enter state 37
'}' reduce using rule 9
'}}' reduce using rule 9
L_Name shift, and enter state 2
L_NumericLiteralshift, and enter state 17
%eof reduce using rule 9
Name goto state 31
NumericLiteral goto state 4
Expression goto state 32
State 49
Declaration -> Name ':' Type . (rule 7)
Type -> Type . Type (rule 12)
Type -> Type . '->' Type (rule 13)
'(' shift, and enter state 40
',' reduce using rule 7
'->' shift, and enter state 41
'[' shift, and enter state 42
']' reduce using rule 7
'{' shift, and enter state 43
'{{' shift, and enter state 44
'}' reduce using rule 7
'}}' reduce using rule 7
L_Name shift, and enter state 2
%eof reduce using rule 7
Name goto state 38
Type goto state 39
State 50
ListBinding -> Binding ',' ListBinding . (rule 21)
']' reduce using rule 21
'}' reduce using rule 21
'}}' reduce using rule 21
%eof reduce using rule 21
State 51
Declaration -> Name . ':' Type (rule 7)
Type -> Name . (rule 11)
'(' reduce using rule 11
',' reduce using rule 11
'->' reduce using rule 11
':' shift, and enter state 46
'[' reduce using rule 11
']' reduce using rule 11
'{' reduce using rule 11
'{{' reduce using rule 11
'}' reduce using rule 11
'}}' reduce using rule 11
L_Name reduce using rule 11
State 52
ListDeclaration -> Declaration . (rule 23)
ListDeclaration -> Declaration . ',' ListDeclaration (rule 24)
',' shift, and enter state 64
']' reduce using rule 23
'}' reduce using rule 23
'}}' reduce using rule 23
State 53
Type -> Type . Type (rule 12)
Type -> Type . '->' Type (rule 13)
Type -> Type '->' Type . (rule 13)
'(' shift, and enter state 40
(reduce using rule 13)
')' reduce using rule 13
',' reduce using rule 13
'->' shift, and enter state 41
(reduce using rule 13)
'[' shift, and enter state 42
(reduce using rule 13)
']' reduce using rule 13
'{' shift, and enter state 43
(reduce using rule 13)
'{{' shift, and enter state 44
(reduce using rule 13)
'}' reduce using rule 13
'}}' reduce using rule 13
L_Name shift, and enter state 2
(reduce using rule 13)
%eof reduce using rule 13
Name goto state 38
Type goto state 39
State 54
Expression -> Expression . Expression (rule 34)
Expression -> Expression . '->' Expression (rule 35)
Expression -> Expression '->' Expression . (rule 35)
'(' shift, and enter state 33
(reduce using rule 35)
')' reduce using rule 35
',' reduce using rule 35
'->' shift, and enter state 34
(reduce using rule 35)
'[' shift, and enter state 35
(reduce using rule 35)
']' reduce using rule 35
'{' shift, and enter state 36
(reduce using rule 35)
'{{' shift, and enter state 37
(reduce using rule 35)
'}' reduce using rule 35
'}}' reduce using rule 35
L_Name shift, and enter state 2
(reduce using rule 35)
L_NumericLiteralshift, and enter state 17
(reduce using rule 35)
%eof reduce using rule 35
Name goto state 31
NumericLiteral goto state 4
Expression goto state 32
State 55
Expression -> '(' Expression ')' . (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
L_Name reduce using rule 39
L_NumericLiteralreduce using rule 39
%eof reduce using rule 39
State 56
Type -> '(' Type ')' . (rule 17)
'(' reduce using rule 17
')' reduce using rule 17
',' reduce using rule 17
'->' reduce using rule 17
'[' reduce using rule 17
']' reduce using rule 17
'{' reduce using rule 17
'{{' reduce using rule 17
'}' reduce using rule 17
'}}' reduce using rule 17
L_Name reduce using rule 17
%eof reduce using rule 17
State 57
Type -> '[' ListDeclaration ']' . (rule 16)
'(' reduce using rule 16
')' reduce using rule 16
',' reduce using rule 16
'->' reduce using rule 16
'[' reduce using rule 16
']' reduce using rule 16
'{' reduce using rule 16
'{{' reduce using rule 16
'}' reduce using rule 16
'}}' reduce using rule 16
L_Name reduce using rule 16
%eof reduce using rule 16
State 58
Expression -> '[' Module ']' . (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
L_Name reduce using rule 38
L_NumericLiteralreduce using rule 38
%eof reduce using rule 38
State 59
Type -> '{' ListDeclaration '}' . (rule 15)
'(' reduce using rule 15
')' reduce using rule 15
',' reduce using rule 15
'->' reduce using rule 15
'[' reduce using rule 15
']' reduce using rule 15
'{' reduce using rule 15
'{{' reduce using rule 15
'}' reduce using rule 15
'}}' reduce using rule 15
L_Name reduce using rule 15
%eof reduce using rule 15
State 60
Expression -> '{' Module '}' . (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
L_Name reduce using rule 37
L_NumericLiteralreduce using rule 37
%eof reduce using rule 37
State 61
Binding -> '{#' Pragma '#}' . (rule 6)
',' reduce using rule 6
']' reduce using rule 6
'}' reduce using rule 6
'}}' reduce using rule 6
%eof reduce using rule 6
State 62
ListName -> Name ListName . (rule 31)
'#}' reduce using rule 31
State 63
Type -> '{{' ListDeclaration '}}' . (rule 14)
'(' reduce using rule 14
')' reduce using rule 14
',' reduce using rule 14
'->' reduce using rule 14
'[' reduce using rule 14
']' reduce using rule 14
'{' reduce using rule 14
'{{' reduce using rule 14
'}' reduce using rule 14
'}}' reduce using rule 14
L_Name reduce using rule 14
%eof reduce using rule 14
State 64
ListDeclaration -> Declaration ',' . ListDeclaration (rule 24)
'(' shift, and enter state 40
'[' shift, and enter state 42
']' reduce using rule 22
'{' shift, and enter state 43
'{{' shift, and enter state 44
'}' reduce using rule 22
'}}' reduce using rule 22
L_Name shift, and enter state 2
Name goto state 51
Declaration goto state 52
Type goto state 9
ListDeclarationgoto state 66
State 65
Expression -> '{{' Module '}}' . (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
L_Name reduce using rule 36
L_NumericLiteralreduce using rule 36
%eof reduce using rule 36
State 66
ListDeclaration -> Declaration ',' ListDeclaration . (rule 24)
']' reduce using rule 24
'}' reduce using rule 24
'}}' reduce using rule 24
-----------------------------------------------------------------------------
Grammar Totals
-----------------------------------------------------------------------------
Number of rules: 40
Number of terminals: 16
Number of non-terminals: 15
Number of states: 67