----------------------------------------------------------------------------- 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