Created
July 29, 2015 22:38
-
-
Save cholcombe973/c74b499f44265f80f881 to your computer and use it in GitHub Desktop.
pynfs xdrgen.py parser output
This file contains hidden or 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
Unused terminals: | |
Grammar | |
Rule 1 specification -> definition_list | |
Rule 2 definition_list -> definition definition_list | |
Rule 3 definition_list -> empty | |
Rule 4 definition -> constant_def | |
Rule 5 definition -> type_def | |
Rule 6 definition -> program_def | |
Rule 7 constant_def -> CONST ID EQUALS constant SEMI | |
Rule 8 constant -> CONST10 | |
Rule 9 constant -> CONST8 | |
Rule 10 constant -> CONST16 | |
Rule 11 value -> constant | |
Rule 12 value -> ID | |
Rule 13 optional_value -> value | |
Rule 14 optional_value -> empty | |
Rule 15 type_def -> TYPEDEF declaration SEMI | |
Rule 16 type_def -> ENUM ID enum_body SEMI | |
Rule 17 type_def -> STRUCT ID struct_body SEMI | |
Rule 18 type_def -> UNION ID union_body SEMI | |
Rule 19 declaration -> type_specifier ID | |
Rule 20 declaration -> type_specifier ID LBRACKET value RBRACKET | |
Rule 21 declaration -> type_specifier ID LT optional_value GT | |
Rule 22 declaration -> OPAQUE ID LBRACKET value RBRACKET | |
Rule 23 declaration -> OPAQUE ID LT optional_value GT | |
Rule 24 declaration -> STRING ID LT optional_value GT | |
Rule 25 declaration -> type_specifier STAR ID | |
Rule 26 declaration -> VOID | |
Rule 27 type_specifier -> UNSIGNED INT | |
Rule 28 type_specifier -> UNSIGNED HYPER | |
Rule 29 type_specifier -> INT | |
Rule 30 type_specifier -> HYPER | |
Rule 31 type_specifier -> FLOAT | |
Rule 32 type_specifier -> DOUBLE | |
Rule 33 type_specifier -> QUADRUPLE | |
Rule 34 type_specifier -> BOOL | |
Rule 35 type_specifier -> ID | |
Rule 36 type_specifier -> UNSIGNED | |
Rule 37 type_specifier -> enum_type_spec | |
Rule 38 type_specifier -> struct_type_spec | |
Rule 39 type_specifier -> union_type_spec | |
Rule 40 enum_type_spec -> ENUM enum_body | |
Rule 41 struct_type_spec -> STRUCT struct_body | |
Rule 42 union_type_spec -> UNION union_body | |
Rule 43 union_body -> SWITCH LPAREN declaration RPAREN LBRACE switch_body RBRACE | |
Rule 44 switch_body -> case_spec_list default_declaration | |
Rule 45 case_spec -> case_statement_list declaration SEMI | |
Rule 46 case_spec_list -> case_spec case_spec_list | |
Rule 47 case_spec_list -> case_spec | |
Rule 48 case_statement_list -> case_statement case_statement_list | |
Rule 49 case_statement_list -> case_statement | |
Rule 50 case_statement -> CASE value COLON | |
Rule 51 default_declaration -> empty | |
Rule 52 default_declaration -> DEFAULT COLON declaration SEMI | |
Rule 53 struct_body -> LBRACE declaration_list RBRACE | |
Rule 54 declaration_list -> declaration SEMI | |
Rule 55 declaration_list -> declaration SEMI declaration_list | |
Rule 56 enum_body -> LBRACE enum_constant_list RBRACE | |
Rule 57 enum_constant -> ID EQUALS value | |
Rule 58 enum_constant_list -> enum_constant | |
Rule 59 enum_constant_list -> enum_constant COMMA enum_constant_list | |
Rule 60 empty -> <empty> | |
Rule 61 program_def -> PROGRAM ID LBRACE version_def version_def_list RBRACE EQUALS constant SEMI | |
Rule 62 version_def -> VERSION ID LBRACE procedure_def procedure_def_list RBRACE EQUALS constant SEMI | |
Rule 63 version_def_list -> version_def version_def_list | |
Rule 64 version_def_list -> empty | |
Rule 65 procedure_def -> proc_return ID LPAREN proc_firstarg type_specifier_list RPAREN EQUALS constant SEMI | |
Rule 66 procedure_def_list -> procedure_def procedure_def_list | |
Rule 67 procedure_def_list -> empty | |
Rule 68 proc_return -> type_specifier | |
Rule 69 proc_return -> VOID | |
Rule 70 proc_firstarg -> type_specifier | |
Rule 71 proc_firstarg -> VOID | |
Rule 72 type_specifier_list -> COMMA type_specifier type_specifier_list | |
Rule 73 type_specifier_list -> empty | |
Terminals, with rules where they appear | |
BOOL : 34 | |
CASE : 50 | |
COLON : 50 52 | |
COMMA : 59 72 | |
CONST : 7 | |
CONST10 : 8 | |
CONST16 : 10 | |
CONST8 : 9 | |
DEFAULT : 52 | |
DOUBLE : 32 | |
ENUM : 16 40 | |
EQUALS : 7 57 61 62 65 | |
FLOAT : 31 | |
GT : 21 23 24 | |
HYPER : 28 30 | |
ID : 7 12 16 17 18 19 20 21 22 23 24 25 35 57 61 62 65 | |
INT : 27 29 | |
LBRACE : 43 53 56 61 62 | |
LBRACKET : 20 22 | |
LPAREN : 43 65 | |
LT : 21 23 24 | |
OPAQUE : 22 23 | |
PROGRAM : 61 | |
QUADRUPLE : 33 | |
RBRACE : 43 53 56 61 62 | |
RBRACKET : 20 22 | |
RPAREN : 43 65 | |
SEMI : 7 15 16 17 18 45 52 54 55 61 62 65 | |
STAR : 25 | |
STRING : 24 | |
STRUCT : 17 41 | |
SWITCH : 43 | |
TYPEDEF : 15 | |
UNION : 18 42 | |
UNSIGNED : 27 28 36 | |
VERSION : 62 | |
VOID : 26 69 71 | |
error : | |
Nonterminals, with rules where they appear | |
case_spec : 46 47 | |
case_spec_list : 44 46 | |
case_statement : 48 49 | |
case_statement_list : 45 48 | |
constant : 7 11 61 62 65 | |
constant_def : 4 | |
declaration : 15 43 45 52 54 55 | |
declaration_list : 53 55 | |
default_declaration : 44 | |
definition : 2 | |
definition_list : 1 2 | |
empty : 3 14 51 64 67 73 | |
enum_body : 16 40 | |
enum_constant : 58 59 | |
enum_constant_list : 56 59 | |
enum_type_spec : 37 | |
optional_value : 21 23 24 | |
proc_firstarg : 65 | |
proc_return : 65 | |
procedure_def : 62 66 | |
procedure_def_list : 62 66 | |
program_def : 6 | |
specification : 0 | |
struct_body : 17 41 | |
struct_type_spec : 38 | |
switch_body : 43 | |
type_def : 5 | |
type_specifier : 19 20 21 25 68 70 72 | |
type_specifier_list : 65 72 | |
union_body : 18 42 | |
union_type_spec : 39 | |
value : 13 20 22 50 57 | |
version_def : 61 63 | |
version_def_list : 61 63 | |
Parsing method: LALR | |
state 0 | |
(0) S' -> . specification | |
(1) specification -> . definition_list | |
(2) definition_list -> . definition definition_list | |
(3) definition_list -> . empty | |
(4) definition -> . constant_def | |
(5) definition -> . type_def | |
(6) definition -> . program_def | |
(60) empty -> . | |
(7) constant_def -> . CONST ID EQUALS constant SEMI | |
(15) type_def -> . TYPEDEF declaration SEMI | |
(16) type_def -> . ENUM ID enum_body SEMI | |
(17) type_def -> . STRUCT ID struct_body SEMI | |
(18) type_def -> . UNION ID union_body SEMI | |
(61) program_def -> . PROGRAM ID LBRACE version_def version_def_list RBRACE EQUALS constant SEMI | |
$end reduce using rule 60 (empty -> .) | |
CONST shift and go to state 1 | |
TYPEDEF shift and go to state 5 | |
ENUM shift and go to state 8 | |
STRUCT shift and go to state 13 | |
UNION shift and go to state 7 | |
PROGRAM shift and go to state 2 | |
definition shift and go to state 11 | |
constant_def shift and go to state 12 | |
specification shift and go to state 3 | |
program_def shift and go to state 6 | |
definition_list shift and go to state 9 | |
type_def shift and go to state 10 | |
empty shift and go to state 4 | |
state 1 | |
(7) constant_def -> CONST . ID EQUALS constant SEMI | |
ID shift and go to state 14 | |
state 2 | |
(61) program_def -> PROGRAM . ID LBRACE version_def version_def_list RBRACE EQUALS constant SEMI | |
ID shift and go to state 15 | |
state 3 | |
(0) S' -> specification . | |
state 4 | |
(3) definition_list -> empty . | |
$end reduce using rule 3 (definition_list -> empty .) | |
state 5 | |
(15) type_def -> TYPEDEF . declaration SEMI | |
(19) declaration -> . type_specifier ID | |
(20) declaration -> . type_specifier ID LBRACKET value RBRACKET | |
(21) declaration -> . type_specifier ID LT optional_value GT | |
(22) declaration -> . OPAQUE ID LBRACKET value RBRACKET | |
(23) declaration -> . OPAQUE ID LT optional_value GT | |
(24) declaration -> . STRING ID LT optional_value GT | |
(25) declaration -> . type_specifier STAR ID | |
(26) declaration -> . VOID | |
(27) type_specifier -> . UNSIGNED INT | |
(28) type_specifier -> . UNSIGNED HYPER | |
(29) type_specifier -> . INT | |
(30) type_specifier -> . HYPER | |
(31) type_specifier -> . FLOAT | |
(32) type_specifier -> . DOUBLE | |
(33) type_specifier -> . QUADRUPLE | |
(34) type_specifier -> . BOOL | |
(35) type_specifier -> . ID | |
(36) type_specifier -> . UNSIGNED | |
(37) type_specifier -> . enum_type_spec | |
(38) type_specifier -> . struct_type_spec | |
(39) type_specifier -> . union_type_spec | |
(40) enum_type_spec -> . ENUM enum_body | |
(41) struct_type_spec -> . STRUCT struct_body | |
(42) union_type_spec -> . UNION union_body | |
OPAQUE shift and go to state 29 | |
STRING shift and go to state 21 | |
VOID shift and go to state 16 | |
UNSIGNED shift and go to state 19 | |
INT shift and go to state 30 | |
HYPER shift and go to state 27 | |
FLOAT shift and go to state 32 | |
DOUBLE shift and go to state 31 | |
QUADRUPLE shift and go to state 17 | |
BOOL shift and go to state 34 | |
ID shift and go to state 26 | |
ENUM shift and go to state 23 | |
STRUCT shift and go to state 28 | |
UNION shift and go to state 22 | |
type_specifier shift and go to state 18 | |
enum_type_spec shift and go to state 20 | |
union_type_spec shift and go to state 33 | |
struct_type_spec shift and go to state 24 | |
declaration shift and go to state 25 | |
state 6 | |
(6) definition -> program_def . | |
CONST reduce using rule 6 (definition -> program_def .) | |
TYPEDEF reduce using rule 6 (definition -> program_def .) | |
ENUM reduce using rule 6 (definition -> program_def .) | |
STRUCT reduce using rule 6 (definition -> program_def .) | |
UNION reduce using rule 6 (definition -> program_def .) | |
PROGRAM reduce using rule 6 (definition -> program_def .) | |
$end reduce using rule 6 (definition -> program_def .) | |
state 7 | |
(18) type_def -> UNION . ID union_body SEMI | |
ID shift and go to state 35 | |
state 8 | |
(16) type_def -> ENUM . ID enum_body SEMI | |
ID shift and go to state 36 | |
state 9 | |
(1) specification -> definition_list . | |
$end reduce using rule 1 (specification -> definition_list .) | |
state 10 | |
(5) definition -> type_def . | |
CONST reduce using rule 5 (definition -> type_def .) | |
TYPEDEF reduce using rule 5 (definition -> type_def .) | |
ENUM reduce using rule 5 (definition -> type_def .) | |
STRUCT reduce using rule 5 (definition -> type_def .) | |
UNION reduce using rule 5 (definition -> type_def .) | |
PROGRAM reduce using rule 5 (definition -> type_def .) | |
$end reduce using rule 5 (definition -> type_def .) | |
state 11 | |
(2) definition_list -> definition . definition_list | |
(2) definition_list -> . definition definition_list | |
(3) definition_list -> . empty | |
(4) definition -> . constant_def | |
(5) definition -> . type_def | |
(6) definition -> . program_def | |
(60) empty -> . | |
(7) constant_def -> . CONST ID EQUALS constant SEMI | |
(15) type_def -> . TYPEDEF declaration SEMI | |
(16) type_def -> . ENUM ID enum_body SEMI | |
(17) type_def -> . STRUCT ID struct_body SEMI | |
(18) type_def -> . UNION ID union_body SEMI | |
(61) program_def -> . PROGRAM ID LBRACE version_def version_def_list RBRACE EQUALS constant SEMI | |
$end reduce using rule 60 (empty -> .) | |
CONST shift and go to state 1 | |
TYPEDEF shift and go to state 5 | |
ENUM shift and go to state 8 | |
STRUCT shift and go to state 13 | |
UNION shift and go to state 7 | |
PROGRAM shift and go to state 2 | |
definition shift and go to state 11 | |
constant_def shift and go to state 12 | |
program_def shift and go to state 6 | |
definition_list shift and go to state 37 | |
type_def shift and go to state 10 | |
empty shift and go to state 4 | |
state 12 | |
(4) definition -> constant_def . | |
CONST reduce using rule 4 (definition -> constant_def .) | |
TYPEDEF reduce using rule 4 (definition -> constant_def .) | |
ENUM reduce using rule 4 (definition -> constant_def .) | |
STRUCT reduce using rule 4 (definition -> constant_def .) | |
UNION reduce using rule 4 (definition -> constant_def .) | |
PROGRAM reduce using rule 4 (definition -> constant_def .) | |
$end reduce using rule 4 (definition -> constant_def .) | |
state 13 | |
(17) type_def -> STRUCT . ID struct_body SEMI | |
ID shift and go to state 38 | |
state 14 | |
(7) constant_def -> CONST ID . EQUALS constant SEMI | |
EQUALS shift and go to state 39 | |
state 15 | |
(61) program_def -> PROGRAM ID . LBRACE version_def version_def_list RBRACE EQUALS constant SEMI | |
LBRACE shift and go to state 40 | |
state 16 | |
(26) declaration -> VOID . | |
RPAREN reduce using rule 26 (declaration -> VOID .) | |
SEMI reduce using rule 26 (declaration -> VOID .) | |
state 17 | |
(33) type_specifier -> QUADRUPLE . | |
ID reduce using rule 33 (type_specifier -> QUADRUPLE .) | |
STAR reduce using rule 33 (type_specifier -> QUADRUPLE .) | |
COMMA reduce using rule 33 (type_specifier -> QUADRUPLE .) | |
RPAREN reduce using rule 33 (type_specifier -> QUADRUPLE .) | |
state 18 | |
(19) declaration -> type_specifier . ID | |
(20) declaration -> type_specifier . ID LBRACKET value RBRACKET | |
(21) declaration -> type_specifier . ID LT optional_value GT | |
(25) declaration -> type_specifier . STAR ID | |
ID shift and go to state 42 | |
STAR shift and go to state 41 | |
state 19 | |
(27) type_specifier -> UNSIGNED . INT | |
(28) type_specifier -> UNSIGNED . HYPER | |
(36) type_specifier -> UNSIGNED . | |
INT shift and go to state 43 | |
HYPER shift and go to state 44 | |
ID reduce using rule 36 (type_specifier -> UNSIGNED .) | |
STAR reduce using rule 36 (type_specifier -> UNSIGNED .) | |
COMMA reduce using rule 36 (type_specifier -> UNSIGNED .) | |
RPAREN reduce using rule 36 (type_specifier -> UNSIGNED .) | |
state 20 | |
(37) type_specifier -> enum_type_spec . | |
ID reduce using rule 37 (type_specifier -> enum_type_spec .) | |
STAR reduce using rule 37 (type_specifier -> enum_type_spec .) | |
COMMA reduce using rule 37 (type_specifier -> enum_type_spec .) | |
RPAREN reduce using rule 37 (type_specifier -> enum_type_spec .) | |
state 21 | |
(24) declaration -> STRING . ID LT optional_value GT | |
ID shift and go to state 45 | |
state 22 | |
(42) union_type_spec -> UNION . union_body | |
(43) union_body -> . SWITCH LPAREN declaration RPAREN LBRACE switch_body RBRACE | |
SWITCH shift and go to state 47 | |
union_body shift and go to state 46 | |
state 23 | |
(40) enum_type_spec -> ENUM . enum_body | |
(56) enum_body -> . LBRACE enum_constant_list RBRACE | |
LBRACE shift and go to state 48 | |
enum_body shift and go to state 49 | |
state 24 | |
(38) type_specifier -> struct_type_spec . | |
ID reduce using rule 38 (type_specifier -> struct_type_spec .) | |
STAR reduce using rule 38 (type_specifier -> struct_type_spec .) | |
COMMA reduce using rule 38 (type_specifier -> struct_type_spec .) | |
RPAREN reduce using rule 38 (type_specifier -> struct_type_spec .) | |
state 25 | |
(15) type_def -> TYPEDEF declaration . SEMI | |
SEMI shift and go to state 50 | |
state 26 | |
(35) type_specifier -> ID . | |
ID reduce using rule 35 (type_specifier -> ID .) | |
STAR reduce using rule 35 (type_specifier -> ID .) | |
COMMA reduce using rule 35 (type_specifier -> ID .) | |
RPAREN reduce using rule 35 (type_specifier -> ID .) | |
state 27 | |
(30) type_specifier -> HYPER . | |
ID reduce using rule 30 (type_specifier -> HYPER .) | |
STAR reduce using rule 30 (type_specifier -> HYPER .) | |
COMMA reduce using rule 30 (type_specifier -> HYPER .) | |
RPAREN reduce using rule 30 (type_specifier -> HYPER .) | |
state 28 | |
(41) struct_type_spec -> STRUCT . struct_body | |
(53) struct_body -> . LBRACE declaration_list RBRACE | |
LBRACE shift and go to state 52 | |
struct_body shift and go to state 51 | |
state 29 | |
(22) declaration -> OPAQUE . ID LBRACKET value RBRACKET | |
(23) declaration -> OPAQUE . ID LT optional_value GT | |
ID shift and go to state 53 | |
state 30 | |
(29) type_specifier -> INT . | |
ID reduce using rule 29 (type_specifier -> INT .) | |
STAR reduce using rule 29 (type_specifier -> INT .) | |
COMMA reduce using rule 29 (type_specifier -> INT .) | |
RPAREN reduce using rule 29 (type_specifier -> INT .) | |
state 31 | |
(32) type_specifier -> DOUBLE . | |
ID reduce using rule 32 (type_specifier -> DOUBLE .) | |
STAR reduce using rule 32 (type_specifier -> DOUBLE .) | |
COMMA reduce using rule 32 (type_specifier -> DOUBLE .) | |
RPAREN reduce using rule 32 (type_specifier -> DOUBLE .) | |
state 32 | |
(31) type_specifier -> FLOAT . | |
ID reduce using rule 31 (type_specifier -> FLOAT .) | |
STAR reduce using rule 31 (type_specifier -> FLOAT .) | |
COMMA reduce using rule 31 (type_specifier -> FLOAT .) | |
RPAREN reduce using rule 31 (type_specifier -> FLOAT .) | |
state 33 | |
(39) type_specifier -> union_type_spec . | |
ID reduce using rule 39 (type_specifier -> union_type_spec .) | |
STAR reduce using rule 39 (type_specifier -> union_type_spec .) | |
COMMA reduce using rule 39 (type_specifier -> union_type_spec .) | |
RPAREN reduce using rule 39 (type_specifier -> union_type_spec .) | |
state 34 | |
(34) type_specifier -> BOOL . | |
ID reduce using rule 34 (type_specifier -> BOOL .) | |
STAR reduce using rule 34 (type_specifier -> BOOL .) | |
COMMA reduce using rule 34 (type_specifier -> BOOL .) | |
RPAREN reduce using rule 34 (type_specifier -> BOOL .) | |
state 35 | |
(18) type_def -> UNION ID . union_body SEMI | |
(43) union_body -> . SWITCH LPAREN declaration RPAREN LBRACE switch_body RBRACE | |
SWITCH shift and go to state 47 | |
union_body shift and go to state 54 | |
state 36 | |
(16) type_def -> ENUM ID . enum_body SEMI | |
(56) enum_body -> . LBRACE enum_constant_list RBRACE | |
LBRACE shift and go to state 48 | |
enum_body shift and go to state 55 | |
state 37 | |
(2) definition_list -> definition definition_list . | |
$end reduce using rule 2 (definition_list -> definition definition_list .) | |
state 38 | |
(17) type_def -> STRUCT ID . struct_body SEMI | |
(53) struct_body -> . LBRACE declaration_list RBRACE | |
LBRACE shift and go to state 52 | |
struct_body shift and go to state 56 | |
state 39 | |
(7) constant_def -> CONST ID EQUALS . constant SEMI | |
(8) constant -> . CONST10 | |
(9) constant -> . CONST8 | |
(10) constant -> . CONST16 | |
CONST10 shift and go to state 57 | |
CONST8 shift and go to state 60 | |
CONST16 shift and go to state 59 | |
constant shift and go to state 58 | |
state 40 | |
(61) program_def -> PROGRAM ID LBRACE . version_def version_def_list RBRACE EQUALS constant SEMI | |
(62) version_def -> . VERSION ID LBRACE procedure_def procedure_def_list RBRACE EQUALS constant SEMI | |
VERSION shift and go to state 61 | |
version_def shift and go to state 62 | |
state 41 | |
(25) declaration -> type_specifier STAR . ID | |
ID shift and go to state 63 | |
state 42 | |
(19) declaration -> type_specifier ID . | |
(20) declaration -> type_specifier ID . LBRACKET value RBRACKET | |
(21) declaration -> type_specifier ID . LT optional_value GT | |
RPAREN reduce using rule 19 (declaration -> type_specifier ID .) | |
SEMI reduce using rule 19 (declaration -> type_specifier ID .) | |
LBRACKET shift and go to state 64 | |
LT shift and go to state 65 | |
state 43 | |
(27) type_specifier -> UNSIGNED INT . | |
ID reduce using rule 27 (type_specifier -> UNSIGNED INT .) | |
STAR reduce using rule 27 (type_specifier -> UNSIGNED INT .) | |
COMMA reduce using rule 27 (type_specifier -> UNSIGNED INT .) | |
RPAREN reduce using rule 27 (type_specifier -> UNSIGNED INT .) | |
state 44 | |
(28) type_specifier -> UNSIGNED HYPER . | |
ID reduce using rule 28 (type_specifier -> UNSIGNED HYPER .) | |
STAR reduce using rule 28 (type_specifier -> UNSIGNED HYPER .) | |
COMMA reduce using rule 28 (type_specifier -> UNSIGNED HYPER .) | |
RPAREN reduce using rule 28 (type_specifier -> UNSIGNED HYPER .) | |
state 45 | |
(24) declaration -> STRING ID . LT optional_value GT | |
LT shift and go to state 66 | |
state 46 | |
(42) union_type_spec -> UNION union_body . | |
ID reduce using rule 42 (union_type_spec -> UNION union_body .) | |
STAR reduce using rule 42 (union_type_spec -> UNION union_body .) | |
COMMA reduce using rule 42 (union_type_spec -> UNION union_body .) | |
RPAREN reduce using rule 42 (union_type_spec -> UNION union_body .) | |
state 47 | |
(43) union_body -> SWITCH . LPAREN declaration RPAREN LBRACE switch_body RBRACE | |
LPAREN shift and go to state 67 | |
state 48 | |
(56) enum_body -> LBRACE . enum_constant_list RBRACE | |
(58) enum_constant_list -> . enum_constant | |
(59) enum_constant_list -> . enum_constant COMMA enum_constant_list | |
(57) enum_constant -> . ID EQUALS value | |
ID shift and go to state 70 | |
enum_constant_list shift and go to state 69 | |
enum_constant shift and go to state 68 | |
state 49 | |
(40) enum_type_spec -> ENUM enum_body . | |
ID reduce using rule 40 (enum_type_spec -> ENUM enum_body .) | |
STAR reduce using rule 40 (enum_type_spec -> ENUM enum_body .) | |
COMMA reduce using rule 40 (enum_type_spec -> ENUM enum_body .) | |
RPAREN reduce using rule 40 (enum_type_spec -> ENUM enum_body .) | |
state 50 | |
(15) type_def -> TYPEDEF declaration SEMI . | |
CONST reduce using rule 15 (type_def -> TYPEDEF declaration SEMI .) | |
TYPEDEF reduce using rule 15 (type_def -> TYPEDEF declaration SEMI .) | |
ENUM reduce using rule 15 (type_def -> TYPEDEF declaration SEMI .) | |
STRUCT reduce using rule 15 (type_def -> TYPEDEF declaration SEMI .) | |
UNION reduce using rule 15 (type_def -> TYPEDEF declaration SEMI .) | |
PROGRAM reduce using rule 15 (type_def -> TYPEDEF declaration SEMI .) | |
$end reduce using rule 15 (type_def -> TYPEDEF declaration SEMI .) | |
state 51 | |
(41) struct_type_spec -> STRUCT struct_body . | |
ID reduce using rule 41 (struct_type_spec -> STRUCT struct_body .) | |
STAR reduce using rule 41 (struct_type_spec -> STRUCT struct_body .) | |
COMMA reduce using rule 41 (struct_type_spec -> STRUCT struct_body .) | |
RPAREN reduce using rule 41 (struct_type_spec -> STRUCT struct_body .) | |
state 52 | |
(53) struct_body -> LBRACE . declaration_list RBRACE | |
(54) declaration_list -> . declaration SEMI | |
(55) declaration_list -> . declaration SEMI declaration_list | |
(19) declaration -> . type_specifier ID | |
(20) declaration -> . type_specifier ID LBRACKET value RBRACKET | |
(21) declaration -> . type_specifier ID LT optional_value GT | |
(22) declaration -> . OPAQUE ID LBRACKET value RBRACKET | |
(23) declaration -> . OPAQUE ID LT optional_value GT | |
(24) declaration -> . STRING ID LT optional_value GT | |
(25) declaration -> . type_specifier STAR ID | |
(26) declaration -> . VOID | |
(27) type_specifier -> . UNSIGNED INT | |
(28) type_specifier -> . UNSIGNED HYPER | |
(29) type_specifier -> . INT | |
(30) type_specifier -> . HYPER | |
(31) type_specifier -> . FLOAT | |
(32) type_specifier -> . DOUBLE | |
(33) type_specifier -> . QUADRUPLE | |
(34) type_specifier -> . BOOL | |
(35) type_specifier -> . ID | |
(36) type_specifier -> . UNSIGNED | |
(37) type_specifier -> . enum_type_spec | |
(38) type_specifier -> . struct_type_spec | |
(39) type_specifier -> . union_type_spec | |
(40) enum_type_spec -> . ENUM enum_body | |
(41) struct_type_spec -> . STRUCT struct_body | |
(42) union_type_spec -> . UNION union_body | |
OPAQUE shift and go to state 29 | |
STRING shift and go to state 21 | |
VOID shift and go to state 16 | |
UNSIGNED shift and go to state 19 | |
INT shift and go to state 30 | |
HYPER shift and go to state 27 | |
FLOAT shift and go to state 32 | |
DOUBLE shift and go to state 31 | |
QUADRUPLE shift and go to state 17 | |
BOOL shift and go to state 34 | |
ID shift and go to state 26 | |
ENUM shift and go to state 23 | |
STRUCT shift and go to state 28 | |
UNION shift and go to state 22 | |
type_specifier shift and go to state 18 | |
enum_type_spec shift and go to state 20 | |
union_type_spec shift and go to state 33 | |
declaration_list shift and go to state 72 | |
struct_type_spec shift and go to state 24 | |
declaration shift and go to state 71 | |
state 53 | |
(22) declaration -> OPAQUE ID . LBRACKET value RBRACKET | |
(23) declaration -> OPAQUE ID . LT optional_value GT | |
LBRACKET shift and go to state 73 | |
LT shift and go to state 74 | |
state 54 | |
(18) type_def -> UNION ID union_body . SEMI | |
SEMI shift and go to state 75 | |
state 55 | |
(16) type_def -> ENUM ID enum_body . SEMI | |
SEMI shift and go to state 76 | |
state 56 | |
(17) type_def -> STRUCT ID struct_body . SEMI | |
SEMI shift and go to state 77 | |
state 57 | |
(8) constant -> CONST10 . | |
COLON reduce using rule 8 (constant -> CONST10 .) | |
GT reduce using rule 8 (constant -> CONST10 .) | |
SEMI reduce using rule 8 (constant -> CONST10 .) | |
RBRACKET reduce using rule 8 (constant -> CONST10 .) | |
COMMA reduce using rule 8 (constant -> CONST10 .) | |
RBRACE reduce using rule 8 (constant -> CONST10 .) | |
state 58 | |
(7) constant_def -> CONST ID EQUALS constant . SEMI | |
SEMI shift and go to state 78 | |
state 59 | |
(10) constant -> CONST16 . | |
COLON reduce using rule 10 (constant -> CONST16 .) | |
GT reduce using rule 10 (constant -> CONST16 .) | |
SEMI reduce using rule 10 (constant -> CONST16 .) | |
RBRACKET reduce using rule 10 (constant -> CONST16 .) | |
COMMA reduce using rule 10 (constant -> CONST16 .) | |
RBRACE reduce using rule 10 (constant -> CONST16 .) | |
state 60 | |
(9) constant -> CONST8 . | |
COLON reduce using rule 9 (constant -> CONST8 .) | |
GT reduce using rule 9 (constant -> CONST8 .) | |
SEMI reduce using rule 9 (constant -> CONST8 .) | |
RBRACKET reduce using rule 9 (constant -> CONST8 .) | |
COMMA reduce using rule 9 (constant -> CONST8 .) | |
RBRACE reduce using rule 9 (constant -> CONST8 .) | |
state 61 | |
(62) version_def -> VERSION . ID LBRACE procedure_def procedure_def_list RBRACE EQUALS constant SEMI | |
ID shift and go to state 79 | |
state 62 | |
(61) program_def -> PROGRAM ID LBRACE version_def . version_def_list RBRACE EQUALS constant SEMI | |
(63) version_def_list -> . version_def version_def_list | |
(64) version_def_list -> . empty | |
(62) version_def -> . VERSION ID LBRACE procedure_def procedure_def_list RBRACE EQUALS constant SEMI | |
(60) empty -> . | |
VERSION shift and go to state 61 | |
RBRACE reduce using rule 60 (empty -> .) | |
version_def shift and go to state 80 | |
version_def_list shift and go to state 81 | |
empty shift and go to state 82 | |
state 63 | |
(25) declaration -> type_specifier STAR ID . | |
RPAREN reduce using rule 25 (declaration -> type_specifier STAR ID .) | |
SEMI reduce using rule 25 (declaration -> type_specifier STAR ID .) | |
state 64 | |
(20) declaration -> type_specifier ID LBRACKET . value RBRACKET | |
(11) value -> . constant | |
(12) value -> . ID | |
(8) constant -> . CONST10 | |
(9) constant -> . CONST8 | |
(10) constant -> . CONST16 | |
ID shift and go to state 85 | |
CONST10 shift and go to state 57 | |
CONST8 shift and go to state 60 | |
CONST16 shift and go to state 59 | |
constant shift and go to state 83 | |
value shift and go to state 84 | |
state 65 | |
(21) declaration -> type_specifier ID LT . optional_value GT | |
(13) optional_value -> . value | |
(14) optional_value -> . empty | |
(11) value -> . constant | |
(12) value -> . ID | |
(60) empty -> . | |
(8) constant -> . CONST10 | |
(9) constant -> . CONST8 | |
(10) constant -> . CONST16 | |
ID shift and go to state 85 | |
GT reduce using rule 60 (empty -> .) | |
CONST10 shift and go to state 57 | |
CONST8 shift and go to state 60 | |
CONST16 shift and go to state 59 | |
constant shift and go to state 83 | |
optional_value shift and go to state 87 | |
empty shift and go to state 88 | |
value shift and go to state 86 | |
state 66 | |
(24) declaration -> STRING ID LT . optional_value GT | |
(13) optional_value -> . value | |
(14) optional_value -> . empty | |
(11) value -> . constant | |
(12) value -> . ID | |
(60) empty -> . | |
(8) constant -> . CONST10 | |
(9) constant -> . CONST8 | |
(10) constant -> . CONST16 | |
ID shift and go to state 85 | |
GT reduce using rule 60 (empty -> .) | |
CONST10 shift and go to state 57 | |
CONST8 shift and go to state 60 | |
CONST16 shift and go to state 59 | |
constant shift and go to state 83 | |
optional_value shift and go to state 89 | |
empty shift and go to state 88 | |
value shift and go to state 86 | |
state 67 | |
(43) union_body -> SWITCH LPAREN . declaration RPAREN LBRACE switch_body RBRACE | |
(19) declaration -> . type_specifier ID | |
(20) declaration -> . type_specifier ID LBRACKET value RBRACKET | |
(21) declaration -> . type_specifier ID LT optional_value GT | |
(22) declaration -> . OPAQUE ID LBRACKET value RBRACKET | |
(23) declaration -> . OPAQUE ID LT optional_value GT | |
(24) declaration -> . STRING ID LT optional_value GT | |
(25) declaration -> . type_specifier STAR ID | |
(26) declaration -> . VOID | |
(27) type_specifier -> . UNSIGNED INT | |
(28) type_specifier -> . UNSIGNED HYPER | |
(29) type_specifier -> . INT | |
(30) type_specifier -> . HYPER | |
(31) type_specifier -> . FLOAT | |
(32) type_specifier -> . DOUBLE | |
(33) type_specifier -> . QUADRUPLE | |
(34) type_specifier -> . BOOL | |
(35) type_specifier -> . ID | |
(36) type_specifier -> . UNSIGNED | |
(37) type_specifier -> . enum_type_spec | |
(38) type_specifier -> . struct_type_spec | |
(39) type_specifier -> . union_type_spec | |
(40) enum_type_spec -> . ENUM enum_body | |
(41) struct_type_spec -> . STRUCT struct_body | |
(42) union_type_spec -> . UNION union_body | |
OPAQUE shift and go to state 29 | |
STRING shift and go to state 21 | |
VOID shift and go to state 16 | |
UNSIGNED shift and go to state 19 | |
INT shift and go to state 30 | |
HYPER shift and go to state 27 | |
FLOAT shift and go to state 32 | |
DOUBLE shift and go to state 31 | |
QUADRUPLE shift and go to state 17 | |
BOOL shift and go to state 34 | |
ID shift and go to state 26 | |
ENUM shift and go to state 23 | |
STRUCT shift and go to state 28 | |
UNION shift and go to state 22 | |
type_specifier shift and go to state 18 | |
enum_type_spec shift and go to state 20 | |
union_type_spec shift and go to state 33 | |
struct_type_spec shift and go to state 24 | |
declaration shift and go to state 90 | |
state 68 | |
(58) enum_constant_list -> enum_constant . | |
(59) enum_constant_list -> enum_constant . COMMA enum_constant_list | |
RBRACE reduce using rule 58 (enum_constant_list -> enum_constant .) | |
COMMA shift and go to state 91 | |
state 69 | |
(56) enum_body -> LBRACE enum_constant_list . RBRACE | |
RBRACE shift and go to state 92 | |
state 70 | |
(57) enum_constant -> ID . EQUALS value | |
EQUALS shift and go to state 93 | |
state 71 | |
(54) declaration_list -> declaration . SEMI | |
(55) declaration_list -> declaration . SEMI declaration_list | |
SEMI shift and go to state 94 | |
state 72 | |
(53) struct_body -> LBRACE declaration_list . RBRACE | |
RBRACE shift and go to state 95 | |
state 73 | |
(22) declaration -> OPAQUE ID LBRACKET . value RBRACKET | |
(11) value -> . constant | |
(12) value -> . ID | |
(8) constant -> . CONST10 | |
(9) constant -> . CONST8 | |
(10) constant -> . CONST16 | |
ID shift and go to state 85 | |
CONST10 shift and go to state 57 | |
CONST8 shift and go to state 60 | |
CONST16 shift and go to state 59 | |
constant shift and go to state 83 | |
value shift and go to state 96 | |
state 74 | |
(23) declaration -> OPAQUE ID LT . optional_value GT | |
(13) optional_value -> . value | |
(14) optional_value -> . empty | |
(11) value -> . constant | |
(12) value -> . ID | |
(60) empty -> . | |
(8) constant -> . CONST10 | |
(9) constant -> . CONST8 | |
(10) constant -> . CONST16 | |
ID shift and go to state 85 | |
GT reduce using rule 60 (empty -> .) | |
CONST10 shift and go to state 57 | |
CONST8 shift and go to state 60 | |
CONST16 shift and go to state 59 | |
constant shift and go to state 83 | |
optional_value shift and go to state 97 | |
empty shift and go to state 88 | |
value shift and go to state 86 | |
state 75 | |
(18) type_def -> UNION ID union_body SEMI . | |
CONST reduce using rule 18 (type_def -> UNION ID union_body SEMI .) | |
TYPEDEF reduce using rule 18 (type_def -> UNION ID union_body SEMI .) | |
ENUM reduce using rule 18 (type_def -> UNION ID union_body SEMI .) | |
STRUCT reduce using rule 18 (type_def -> UNION ID union_body SEMI .) | |
UNION reduce using rule 18 (type_def -> UNION ID union_body SEMI .) | |
PROGRAM reduce using rule 18 (type_def -> UNION ID union_body SEMI .) | |
$end reduce using rule 18 (type_def -> UNION ID union_body SEMI .) | |
state 76 | |
(16) type_def -> ENUM ID enum_body SEMI . | |
CONST reduce using rule 16 (type_def -> ENUM ID enum_body SEMI .) | |
TYPEDEF reduce using rule 16 (type_def -> ENUM ID enum_body SEMI .) | |
ENUM reduce using rule 16 (type_def -> ENUM ID enum_body SEMI .) | |
STRUCT reduce using rule 16 (type_def -> ENUM ID enum_body SEMI .) | |
UNION reduce using rule 16 (type_def -> ENUM ID enum_body SEMI .) | |
PROGRAM reduce using rule 16 (type_def -> ENUM ID enum_body SEMI .) | |
$end reduce using rule 16 (type_def -> ENUM ID enum_body SEMI .) | |
state 77 | |
(17) type_def -> STRUCT ID struct_body SEMI . | |
CONST reduce using rule 17 (type_def -> STRUCT ID struct_body SEMI .) | |
TYPEDEF reduce using rule 17 (type_def -> STRUCT ID struct_body SEMI .) | |
ENUM reduce using rule 17 (type_def -> STRUCT ID struct_body SEMI .) | |
STRUCT reduce using rule 17 (type_def -> STRUCT ID struct_body SEMI .) | |
UNION reduce using rule 17 (type_def -> STRUCT ID struct_body SEMI .) | |
PROGRAM reduce using rule 17 (type_def -> STRUCT ID struct_body SEMI .) | |
$end reduce using rule 17 (type_def -> STRUCT ID struct_body SEMI .) | |
state 78 | |
(7) constant_def -> CONST ID EQUALS constant SEMI . | |
CONST reduce using rule 7 (constant_def -> CONST ID EQUALS constant SEMI .) | |
TYPEDEF reduce using rule 7 (constant_def -> CONST ID EQUALS constant SEMI .) | |
ENUM reduce using rule 7 (constant_def -> CONST ID EQUALS constant SEMI .) | |
STRUCT reduce using rule 7 (constant_def -> CONST ID EQUALS constant SEMI .) | |
UNION reduce using rule 7 (constant_def -> CONST ID EQUALS constant SEMI .) | |
PROGRAM reduce using rule 7 (constant_def -> CONST ID EQUALS constant SEMI .) | |
$end reduce using rule 7 (constant_def -> CONST ID EQUALS constant SEMI .) | |
state 79 | |
(62) version_def -> VERSION ID . LBRACE procedure_def procedure_def_list RBRACE EQUALS constant SEMI | |
LBRACE shift and go to state 98 | |
state 80 | |
(63) version_def_list -> version_def . version_def_list | |
(63) version_def_list -> . version_def version_def_list | |
(64) version_def_list -> . empty | |
(62) version_def -> . VERSION ID LBRACE procedure_def procedure_def_list RBRACE EQUALS constant SEMI | |
(60) empty -> . | |
VERSION shift and go to state 61 | |
RBRACE reduce using rule 60 (empty -> .) | |
version_def shift and go to state 80 | |
version_def_list shift and go to state 99 | |
empty shift and go to state 82 | |
state 81 | |
(61) program_def -> PROGRAM ID LBRACE version_def version_def_list . RBRACE EQUALS constant SEMI | |
RBRACE shift and go to state 100 | |
state 82 | |
(64) version_def_list -> empty . | |
RBRACE reduce using rule 64 (version_def_list -> empty .) | |
state 83 | |
(11) value -> constant . | |
GT reduce using rule 11 (value -> constant .) | |
COMMA reduce using rule 11 (value -> constant .) | |
RBRACE reduce using rule 11 (value -> constant .) | |
RBRACKET reduce using rule 11 (value -> constant .) | |
COLON reduce using rule 11 (value -> constant .) | |
state 84 | |
(20) declaration -> type_specifier ID LBRACKET value . RBRACKET | |
RBRACKET shift and go to state 101 | |
state 85 | |
(12) value -> ID . | |
GT reduce using rule 12 (value -> ID .) | |
COMMA reduce using rule 12 (value -> ID .) | |
RBRACE reduce using rule 12 (value -> ID .) | |
RBRACKET reduce using rule 12 (value -> ID .) | |
COLON reduce using rule 12 (value -> ID .) | |
state 86 | |
(13) optional_value -> value . | |
GT reduce using rule 13 (optional_value -> value .) | |
state 87 | |
(21) declaration -> type_specifier ID LT optional_value . GT | |
GT shift and go to state 102 | |
state 88 | |
(14) optional_value -> empty . | |
GT reduce using rule 14 (optional_value -> empty .) | |
state 89 | |
(24) declaration -> STRING ID LT optional_value . GT | |
GT shift and go to state 103 | |
state 90 | |
(43) union_body -> SWITCH LPAREN declaration . RPAREN LBRACE switch_body RBRACE | |
RPAREN shift and go to state 104 | |
state 91 | |
(59) enum_constant_list -> enum_constant COMMA . enum_constant_list | |
(58) enum_constant_list -> . enum_constant | |
(59) enum_constant_list -> . enum_constant COMMA enum_constant_list | |
(57) enum_constant -> . ID EQUALS value | |
ID shift and go to state 70 | |
enum_constant_list shift and go to state 105 | |
enum_constant shift and go to state 68 | |
state 92 | |
(56) enum_body -> LBRACE enum_constant_list RBRACE . | |
SEMI reduce using rule 56 (enum_body -> LBRACE enum_constant_list RBRACE .) | |
ID reduce using rule 56 (enum_body -> LBRACE enum_constant_list RBRACE .) | |
STAR reduce using rule 56 (enum_body -> LBRACE enum_constant_list RBRACE .) | |
COMMA reduce using rule 56 (enum_body -> LBRACE enum_constant_list RBRACE .) | |
RPAREN reduce using rule 56 (enum_body -> LBRACE enum_constant_list RBRACE .) | |
state 93 | |
(57) enum_constant -> ID EQUALS . value | |
(11) value -> . constant | |
(12) value -> . ID | |
(8) constant -> . CONST10 | |
(9) constant -> . CONST8 | |
(10) constant -> . CONST16 | |
ID shift and go to state 85 | |
CONST10 shift and go to state 57 | |
CONST8 shift and go to state 60 | |
CONST16 shift and go to state 59 | |
constant shift and go to state 83 | |
value shift and go to state 106 | |
state 94 | |
(54) declaration_list -> declaration SEMI . | |
(55) declaration_list -> declaration SEMI . declaration_list | |
(54) declaration_list -> . declaration SEMI | |
(55) declaration_list -> . declaration SEMI declaration_list | |
(19) declaration -> . type_specifier ID | |
(20) declaration -> . type_specifier ID LBRACKET value RBRACKET | |
(21) declaration -> . type_specifier ID LT optional_value GT | |
(22) declaration -> . OPAQUE ID LBRACKET value RBRACKET | |
(23) declaration -> . OPAQUE ID LT optional_value GT | |
(24) declaration -> . STRING ID LT optional_value GT | |
(25) declaration -> . type_specifier STAR ID | |
(26) declaration -> . VOID | |
(27) type_specifier -> . UNSIGNED INT | |
(28) type_specifier -> . UNSIGNED HYPER | |
(29) type_specifier -> . INT | |
(30) type_specifier -> . HYPER | |
(31) type_specifier -> . FLOAT | |
(32) type_specifier -> . DOUBLE | |
(33) type_specifier -> . QUADRUPLE | |
(34) type_specifier -> . BOOL | |
(35) type_specifier -> . ID | |
(36) type_specifier -> . UNSIGNED | |
(37) type_specifier -> . enum_type_spec | |
(38) type_specifier -> . struct_type_spec | |
(39) type_specifier -> . union_type_spec | |
(40) enum_type_spec -> . ENUM enum_body | |
(41) struct_type_spec -> . STRUCT struct_body | |
(42) union_type_spec -> . UNION union_body | |
RBRACE reduce using rule 54 (declaration_list -> declaration SEMI .) | |
OPAQUE shift and go to state 29 | |
STRING shift and go to state 21 | |
VOID shift and go to state 16 | |
UNSIGNED shift and go to state 19 | |
INT shift and go to state 30 | |
HYPER shift and go to state 27 | |
FLOAT shift and go to state 32 | |
DOUBLE shift and go to state 31 | |
QUADRUPLE shift and go to state 17 | |
BOOL shift and go to state 34 | |
ID shift and go to state 26 | |
ENUM shift and go to state 23 | |
STRUCT shift and go to state 28 | |
UNION shift and go to state 22 | |
type_specifier shift and go to state 18 | |
enum_type_spec shift and go to state 20 | |
union_type_spec shift and go to state 33 | |
declaration_list shift and go to state 107 | |
struct_type_spec shift and go to state 24 | |
declaration shift and go to state 71 | |
state 95 | |
(53) struct_body -> LBRACE declaration_list RBRACE . | |
ID reduce using rule 53 (struct_body -> LBRACE declaration_list RBRACE .) | |
STAR reduce using rule 53 (struct_body -> LBRACE declaration_list RBRACE .) | |
COMMA reduce using rule 53 (struct_body -> LBRACE declaration_list RBRACE .) | |
RPAREN reduce using rule 53 (struct_body -> LBRACE declaration_list RBRACE .) | |
SEMI reduce using rule 53 (struct_body -> LBRACE declaration_list RBRACE .) | |
state 96 | |
(22) declaration -> OPAQUE ID LBRACKET value . RBRACKET | |
RBRACKET shift and go to state 108 | |
state 97 | |
(23) declaration -> OPAQUE ID LT optional_value . GT | |
GT shift and go to state 109 | |
state 98 | |
(62) version_def -> VERSION ID LBRACE . procedure_def procedure_def_list RBRACE EQUALS constant SEMI | |
(65) procedure_def -> . proc_return ID LPAREN proc_firstarg type_specifier_list RPAREN EQUALS constant SEMI | |
(68) proc_return -> . type_specifier | |
(69) proc_return -> . VOID | |
(27) type_specifier -> . UNSIGNED INT | |
(28) type_specifier -> . UNSIGNED HYPER | |
(29) type_specifier -> . INT | |
(30) type_specifier -> . HYPER | |
(31) type_specifier -> . FLOAT | |
(32) type_specifier -> . DOUBLE | |
(33) type_specifier -> . QUADRUPLE | |
(34) type_specifier -> . BOOL | |
(35) type_specifier -> . ID | |
(36) type_specifier -> . UNSIGNED | |
(37) type_specifier -> . enum_type_spec | |
(38) type_specifier -> . struct_type_spec | |
(39) type_specifier -> . union_type_spec | |
(40) enum_type_spec -> . ENUM enum_body | |
(41) struct_type_spec -> . STRUCT struct_body | |
(42) union_type_spec -> . UNION union_body | |
VOID shift and go to state 110 | |
UNSIGNED shift and go to state 19 | |
INT shift and go to state 30 | |
HYPER shift and go to state 27 | |
FLOAT shift and go to state 32 | |
DOUBLE shift and go to state 31 | |
QUADRUPLE shift and go to state 17 | |
BOOL shift and go to state 34 | |
ID shift and go to state 26 | |
ENUM shift and go to state 23 | |
STRUCT shift and go to state 28 | |
UNION shift and go to state 22 | |
type_specifier shift and go to state 112 | |
enum_type_spec shift and go to state 20 | |
union_type_spec shift and go to state 33 | |
struct_type_spec shift and go to state 24 | |
procedure_def shift and go to state 113 | |
proc_return shift and go to state 111 | |
state 99 | |
(63) version_def_list -> version_def version_def_list . | |
RBRACE reduce using rule 63 (version_def_list -> version_def version_def_list .) | |
state 100 | |
(61) program_def -> PROGRAM ID LBRACE version_def version_def_list RBRACE . EQUALS constant SEMI | |
EQUALS shift and go to state 114 | |
state 101 | |
(20) declaration -> type_specifier ID LBRACKET value RBRACKET . | |
RPAREN reduce using rule 20 (declaration -> type_specifier ID LBRACKET value RBRACKET .) | |
SEMI reduce using rule 20 (declaration -> type_specifier ID LBRACKET value RBRACKET .) | |
state 102 | |
(21) declaration -> type_specifier ID LT optional_value GT . | |
RPAREN reduce using rule 21 (declaration -> type_specifier ID LT optional_value GT .) | |
SEMI reduce using rule 21 (declaration -> type_specifier ID LT optional_value GT .) | |
state 103 | |
(24) declaration -> STRING ID LT optional_value GT . | |
RPAREN reduce using rule 24 (declaration -> STRING ID LT optional_value GT .) | |
SEMI reduce using rule 24 (declaration -> STRING ID LT optional_value GT .) | |
state 104 | |
(43) union_body -> SWITCH LPAREN declaration RPAREN . LBRACE switch_body RBRACE | |
LBRACE shift and go to state 115 | |
state 105 | |
(59) enum_constant_list -> enum_constant COMMA enum_constant_list . | |
RBRACE reduce using rule 59 (enum_constant_list -> enum_constant COMMA enum_constant_list .) | |
state 106 | |
(57) enum_constant -> ID EQUALS value . | |
COMMA reduce using rule 57 (enum_constant -> ID EQUALS value .) | |
RBRACE reduce using rule 57 (enum_constant -> ID EQUALS value .) | |
state 107 | |
(55) declaration_list -> declaration SEMI declaration_list . | |
RBRACE reduce using rule 55 (declaration_list -> declaration SEMI declaration_list .) | |
state 108 | |
(22) declaration -> OPAQUE ID LBRACKET value RBRACKET . | |
RPAREN reduce using rule 22 (declaration -> OPAQUE ID LBRACKET value RBRACKET .) | |
SEMI reduce using rule 22 (declaration -> OPAQUE ID LBRACKET value RBRACKET .) | |
state 109 | |
(23) declaration -> OPAQUE ID LT optional_value GT . | |
RPAREN reduce using rule 23 (declaration -> OPAQUE ID LT optional_value GT .) | |
SEMI reduce using rule 23 (declaration -> OPAQUE ID LT optional_value GT .) | |
state 110 | |
(69) proc_return -> VOID . | |
ID reduce using rule 69 (proc_return -> VOID .) | |
state 111 | |
(65) procedure_def -> proc_return . ID LPAREN proc_firstarg type_specifier_list RPAREN EQUALS constant SEMI | |
ID shift and go to state 116 | |
state 112 | |
(68) proc_return -> type_specifier . | |
ID reduce using rule 68 (proc_return -> type_specifier .) | |
state 113 | |
(62) version_def -> VERSION ID LBRACE procedure_def . procedure_def_list RBRACE EQUALS constant SEMI | |
(66) procedure_def_list -> . procedure_def procedure_def_list | |
(67) procedure_def_list -> . empty | |
(65) procedure_def -> . proc_return ID LPAREN proc_firstarg type_specifier_list RPAREN EQUALS constant SEMI | |
(60) empty -> . | |
(68) proc_return -> . type_specifier | |
(69) proc_return -> . VOID | |
(27) type_specifier -> . UNSIGNED INT | |
(28) type_specifier -> . UNSIGNED HYPER | |
(29) type_specifier -> . INT | |
(30) type_specifier -> . HYPER | |
(31) type_specifier -> . FLOAT | |
(32) type_specifier -> . DOUBLE | |
(33) type_specifier -> . QUADRUPLE | |
(34) type_specifier -> . BOOL | |
(35) type_specifier -> . ID | |
(36) type_specifier -> . UNSIGNED | |
(37) type_specifier -> . enum_type_spec | |
(38) type_specifier -> . struct_type_spec | |
(39) type_specifier -> . union_type_spec | |
(40) enum_type_spec -> . ENUM enum_body | |
(41) struct_type_spec -> . STRUCT struct_body | |
(42) union_type_spec -> . UNION union_body | |
RBRACE reduce using rule 60 (empty -> .) | |
VOID shift and go to state 110 | |
UNSIGNED shift and go to state 19 | |
INT shift and go to state 30 | |
HYPER shift and go to state 27 | |
FLOAT shift and go to state 32 | |
DOUBLE shift and go to state 31 | |
QUADRUPLE shift and go to state 17 | |
BOOL shift and go to state 34 | |
ID shift and go to state 26 | |
ENUM shift and go to state 23 | |
STRUCT shift and go to state 28 | |
UNION shift and go to state 22 | |
type_specifier shift and go to state 112 | |
enum_type_spec shift and go to state 20 | |
union_type_spec shift and go to state 33 | |
struct_type_spec shift and go to state 24 | |
empty shift and go to state 118 | |
procedure_def shift and go to state 119 | |
procedure_def_list shift and go to state 117 | |
proc_return shift and go to state 111 | |
state 114 | |
(61) program_def -> PROGRAM ID LBRACE version_def version_def_list RBRACE EQUALS . constant SEMI | |
(8) constant -> . CONST10 | |
(9) constant -> . CONST8 | |
(10) constant -> . CONST16 | |
CONST10 shift and go to state 57 | |
CONST8 shift and go to state 60 | |
CONST16 shift and go to state 59 | |
constant shift and go to state 120 | |
state 115 | |
(43) union_body -> SWITCH LPAREN declaration RPAREN LBRACE . switch_body RBRACE | |
(44) switch_body -> . case_spec_list default_declaration | |
(46) case_spec_list -> . case_spec case_spec_list | |
(47) case_spec_list -> . case_spec | |
(45) case_spec -> . case_statement_list declaration SEMI | |
(48) case_statement_list -> . case_statement case_statement_list | |
(49) case_statement_list -> . case_statement | |
(50) case_statement -> . CASE value COLON | |
CASE shift and go to state 121 | |
case_spec shift and go to state 122 | |
case_statement shift and go to state 123 | |
case_spec_list shift and go to state 124 | |
switch_body shift and go to state 125 | |
case_statement_list shift and go to state 126 | |
state 116 | |
(65) procedure_def -> proc_return ID . LPAREN proc_firstarg type_specifier_list RPAREN EQUALS constant SEMI | |
LPAREN shift and go to state 127 | |
state 117 | |
(62) version_def -> VERSION ID LBRACE procedure_def procedure_def_list . RBRACE EQUALS constant SEMI | |
RBRACE shift and go to state 128 | |
state 118 | |
(67) procedure_def_list -> empty . | |
RBRACE reduce using rule 67 (procedure_def_list -> empty .) | |
state 119 | |
(66) procedure_def_list -> procedure_def . procedure_def_list | |
(66) procedure_def_list -> . procedure_def procedure_def_list | |
(67) procedure_def_list -> . empty | |
(65) procedure_def -> . proc_return ID LPAREN proc_firstarg type_specifier_list RPAREN EQUALS constant SEMI | |
(60) empty -> . | |
(68) proc_return -> . type_specifier | |
(69) proc_return -> . VOID | |
(27) type_specifier -> . UNSIGNED INT | |
(28) type_specifier -> . UNSIGNED HYPER | |
(29) type_specifier -> . INT | |
(30) type_specifier -> . HYPER | |
(31) type_specifier -> . FLOAT | |
(32) type_specifier -> . DOUBLE | |
(33) type_specifier -> . QUADRUPLE | |
(34) type_specifier -> . BOOL | |
(35) type_specifier -> . ID | |
(36) type_specifier -> . UNSIGNED | |
(37) type_specifier -> . enum_type_spec | |
(38) type_specifier -> . struct_type_spec | |
(39) type_specifier -> . union_type_spec | |
(40) enum_type_spec -> . ENUM enum_body | |
(41) struct_type_spec -> . STRUCT struct_body | |
(42) union_type_spec -> . UNION union_body | |
RBRACE reduce using rule 60 (empty -> .) | |
VOID shift and go to state 110 | |
UNSIGNED shift and go to state 19 | |
INT shift and go to state 30 | |
HYPER shift and go to state 27 | |
FLOAT shift and go to state 32 | |
DOUBLE shift and go to state 31 | |
QUADRUPLE shift and go to state 17 | |
BOOL shift and go to state 34 | |
ID shift and go to state 26 | |
ENUM shift and go to state 23 | |
STRUCT shift and go to state 28 | |
UNION shift and go to state 22 | |
type_specifier shift and go to state 112 | |
enum_type_spec shift and go to state 20 | |
union_type_spec shift and go to state 33 | |
struct_type_spec shift and go to state 24 | |
empty shift and go to state 118 | |
procedure_def shift and go to state 119 | |
procedure_def_list shift and go to state 129 | |
proc_return shift and go to state 111 | |
state 120 | |
(61) program_def -> PROGRAM ID LBRACE version_def version_def_list RBRACE EQUALS constant . SEMI | |
SEMI shift and go to state 130 | |
state 121 | |
(50) case_statement -> CASE . value COLON | |
(11) value -> . constant | |
(12) value -> . ID | |
(8) constant -> . CONST10 | |
(9) constant -> . CONST8 | |
(10) constant -> . CONST16 | |
ID shift and go to state 85 | |
CONST10 shift and go to state 57 | |
CONST8 shift and go to state 60 | |
CONST16 shift and go to state 59 | |
constant shift and go to state 83 | |
value shift and go to state 131 | |
state 122 | |
(46) case_spec_list -> case_spec . case_spec_list | |
(47) case_spec_list -> case_spec . | |
(46) case_spec_list -> . case_spec case_spec_list | |
(47) case_spec_list -> . case_spec | |
(45) case_spec -> . case_statement_list declaration SEMI | |
(48) case_statement_list -> . case_statement case_statement_list | |
(49) case_statement_list -> . case_statement | |
(50) case_statement -> . CASE value COLON | |
DEFAULT reduce using rule 47 (case_spec_list -> case_spec .) | |
RBRACE reduce using rule 47 (case_spec_list -> case_spec .) | |
CASE shift and go to state 121 | |
case_spec shift and go to state 122 | |
case_statement shift and go to state 123 | |
case_spec_list shift and go to state 132 | |
case_statement_list shift and go to state 126 | |
state 123 | |
(48) case_statement_list -> case_statement . case_statement_list | |
(49) case_statement_list -> case_statement . | |
(48) case_statement_list -> . case_statement case_statement_list | |
(49) case_statement_list -> . case_statement | |
(50) case_statement -> . CASE value COLON | |
OPAQUE reduce using rule 49 (case_statement_list -> case_statement .) | |
STRING reduce using rule 49 (case_statement_list -> case_statement .) | |
VOID reduce using rule 49 (case_statement_list -> case_statement .) | |
UNSIGNED reduce using rule 49 (case_statement_list -> case_statement .) | |
INT reduce using rule 49 (case_statement_list -> case_statement .) | |
HYPER reduce using rule 49 (case_statement_list -> case_statement .) | |
FLOAT reduce using rule 49 (case_statement_list -> case_statement .) | |
DOUBLE reduce using rule 49 (case_statement_list -> case_statement .) | |
QUADRUPLE reduce using rule 49 (case_statement_list -> case_statement .) | |
BOOL reduce using rule 49 (case_statement_list -> case_statement .) | |
ID reduce using rule 49 (case_statement_list -> case_statement .) | |
ENUM reduce using rule 49 (case_statement_list -> case_statement .) | |
STRUCT reduce using rule 49 (case_statement_list -> case_statement .) | |
UNION reduce using rule 49 (case_statement_list -> case_statement .) | |
CASE shift and go to state 121 | |
case_statement shift and go to state 123 | |
case_statement_list shift and go to state 133 | |
state 124 | |
(44) switch_body -> case_spec_list . default_declaration | |
(51) default_declaration -> . empty | |
(52) default_declaration -> . DEFAULT COLON declaration SEMI | |
(60) empty -> . | |
DEFAULT shift and go to state 134 | |
RBRACE reduce using rule 60 (empty -> .) | |
default_declaration shift and go to state 135 | |
empty shift and go to state 136 | |
state 125 | |
(43) union_body -> SWITCH LPAREN declaration RPAREN LBRACE switch_body . RBRACE | |
RBRACE shift and go to state 137 | |
state 126 | |
(45) case_spec -> case_statement_list . declaration SEMI | |
(19) declaration -> . type_specifier ID | |
(20) declaration -> . type_specifier ID LBRACKET value RBRACKET | |
(21) declaration -> . type_specifier ID LT optional_value GT | |
(22) declaration -> . OPAQUE ID LBRACKET value RBRACKET | |
(23) declaration -> . OPAQUE ID LT optional_value GT | |
(24) declaration -> . STRING ID LT optional_value GT | |
(25) declaration -> . type_specifier STAR ID | |
(26) declaration -> . VOID | |
(27) type_specifier -> . UNSIGNED INT | |
(28) type_specifier -> . UNSIGNED HYPER | |
(29) type_specifier -> . INT | |
(30) type_specifier -> . HYPER | |
(31) type_specifier -> . FLOAT | |
(32) type_specifier -> . DOUBLE | |
(33) type_specifier -> . QUADRUPLE | |
(34) type_specifier -> . BOOL | |
(35) type_specifier -> . ID | |
(36) type_specifier -> . UNSIGNED | |
(37) type_specifier -> . enum_type_spec | |
(38) type_specifier -> . struct_type_spec | |
(39) type_specifier -> . union_type_spec | |
(40) enum_type_spec -> . ENUM enum_body | |
(41) struct_type_spec -> . STRUCT struct_body | |
(42) union_type_spec -> . UNION union_body | |
OPAQUE shift and go to state 29 | |
STRING shift and go to state 21 | |
VOID shift and go to state 16 | |
UNSIGNED shift and go to state 19 | |
INT shift and go to state 30 | |
HYPER shift and go to state 27 | |
FLOAT shift and go to state 32 | |
DOUBLE shift and go to state 31 | |
QUADRUPLE shift and go to state 17 | |
BOOL shift and go to state 34 | |
ID shift and go to state 26 | |
ENUM shift and go to state 23 | |
STRUCT shift and go to state 28 | |
UNION shift and go to state 22 | |
type_specifier shift and go to state 18 | |
enum_type_spec shift and go to state 20 | |
union_type_spec shift and go to state 33 | |
struct_type_spec shift and go to state 24 | |
declaration shift and go to state 138 | |
state 127 | |
(65) procedure_def -> proc_return ID LPAREN . proc_firstarg type_specifier_list RPAREN EQUALS constant SEMI | |
(70) proc_firstarg -> . type_specifier | |
(71) proc_firstarg -> . VOID | |
(27) type_specifier -> . UNSIGNED INT | |
(28) type_specifier -> . UNSIGNED HYPER | |
(29) type_specifier -> . INT | |
(30) type_specifier -> . HYPER | |
(31) type_specifier -> . FLOAT | |
(32) type_specifier -> . DOUBLE | |
(33) type_specifier -> . QUADRUPLE | |
(34) type_specifier -> . BOOL | |
(35) type_specifier -> . ID | |
(36) type_specifier -> . UNSIGNED | |
(37) type_specifier -> . enum_type_spec | |
(38) type_specifier -> . struct_type_spec | |
(39) type_specifier -> . union_type_spec | |
(40) enum_type_spec -> . ENUM enum_body | |
(41) struct_type_spec -> . STRUCT struct_body | |
(42) union_type_spec -> . UNION union_body | |
VOID shift and go to state 139 | |
UNSIGNED shift and go to state 19 | |
INT shift and go to state 30 | |
HYPER shift and go to state 27 | |
FLOAT shift and go to state 32 | |
DOUBLE shift and go to state 31 | |
QUADRUPLE shift and go to state 17 | |
BOOL shift and go to state 34 | |
ID shift and go to state 26 | |
ENUM shift and go to state 23 | |
STRUCT shift and go to state 28 | |
UNION shift and go to state 22 | |
type_specifier shift and go to state 140 | |
enum_type_spec shift and go to state 20 | |
proc_firstarg shift and go to state 141 | |
union_type_spec shift and go to state 33 | |
struct_type_spec shift and go to state 24 | |
state 128 | |
(62) version_def -> VERSION ID LBRACE procedure_def procedure_def_list RBRACE . EQUALS constant SEMI | |
EQUALS shift and go to state 142 | |
state 129 | |
(66) procedure_def_list -> procedure_def procedure_def_list . | |
RBRACE reduce using rule 66 (procedure_def_list -> procedure_def procedure_def_list .) | |
state 130 | |
(61) program_def -> PROGRAM ID LBRACE version_def version_def_list RBRACE EQUALS constant SEMI . | |
CONST reduce using rule 61 (program_def -> PROGRAM ID LBRACE version_def version_def_list RBRACE EQUALS constant SEMI .) | |
TYPEDEF reduce using rule 61 (program_def -> PROGRAM ID LBRACE version_def version_def_list RBRACE EQUALS constant SEMI .) | |
ENUM reduce using rule 61 (program_def -> PROGRAM ID LBRACE version_def version_def_list RBRACE EQUALS constant SEMI .) | |
STRUCT reduce using rule 61 (program_def -> PROGRAM ID LBRACE version_def version_def_list RBRACE EQUALS constant SEMI .) | |
UNION reduce using rule 61 (program_def -> PROGRAM ID LBRACE version_def version_def_list RBRACE EQUALS constant SEMI .) | |
PROGRAM reduce using rule 61 (program_def -> PROGRAM ID LBRACE version_def version_def_list RBRACE EQUALS constant SEMI .) | |
$end reduce using rule 61 (program_def -> PROGRAM ID LBRACE version_def version_def_list RBRACE EQUALS constant SEMI .) | |
state 131 | |
(50) case_statement -> CASE value . COLON | |
COLON shift and go to state 143 | |
state 132 | |
(46) case_spec_list -> case_spec case_spec_list . | |
DEFAULT reduce using rule 46 (case_spec_list -> case_spec case_spec_list .) | |
RBRACE reduce using rule 46 (case_spec_list -> case_spec case_spec_list .) | |
state 133 | |
(48) case_statement_list -> case_statement case_statement_list . | |
OPAQUE reduce using rule 48 (case_statement_list -> case_statement case_statement_list .) | |
STRING reduce using rule 48 (case_statement_list -> case_statement case_statement_list .) | |
VOID reduce using rule 48 (case_statement_list -> case_statement case_statement_list .) | |
UNSIGNED reduce using rule 48 (case_statement_list -> case_statement case_statement_list .) | |
INT reduce using rule 48 (case_statement_list -> case_statement case_statement_list .) | |
HYPER reduce using rule 48 (case_statement_list -> case_statement case_statement_list .) | |
FLOAT reduce using rule 48 (case_statement_list -> case_statement case_statement_list .) | |
DOUBLE reduce using rule 48 (case_statement_list -> case_statement case_statement_list .) | |
QUADRUPLE reduce using rule 48 (case_statement_list -> case_statement case_statement_list .) | |
BOOL reduce using rule 48 (case_statement_list -> case_statement case_statement_list .) | |
ID reduce using rule 48 (case_statement_list -> case_statement case_statement_list .) | |
ENUM reduce using rule 48 (case_statement_list -> case_statement case_statement_list .) | |
STRUCT reduce using rule 48 (case_statement_list -> case_statement case_statement_list .) | |
UNION reduce using rule 48 (case_statement_list -> case_statement case_statement_list .) | |
state 134 | |
(52) default_declaration -> DEFAULT . COLON declaration SEMI | |
COLON shift and go to state 144 | |
state 135 | |
(44) switch_body -> case_spec_list default_declaration . | |
RBRACE reduce using rule 44 (switch_body -> case_spec_list default_declaration .) | |
state 136 | |
(51) default_declaration -> empty . | |
RBRACE reduce using rule 51 (default_declaration -> empty .) | |
state 137 | |
(43) union_body -> SWITCH LPAREN declaration RPAREN LBRACE switch_body RBRACE . | |
ID reduce using rule 43 (union_body -> SWITCH LPAREN declaration RPAREN LBRACE switch_body RBRACE .) | |
STAR reduce using rule 43 (union_body -> SWITCH LPAREN declaration RPAREN LBRACE switch_body RBRACE .) | |
COMMA reduce using rule 43 (union_body -> SWITCH LPAREN declaration RPAREN LBRACE switch_body RBRACE .) | |
RPAREN reduce using rule 43 (union_body -> SWITCH LPAREN declaration RPAREN LBRACE switch_body RBRACE .) | |
SEMI reduce using rule 43 (union_body -> SWITCH LPAREN declaration RPAREN LBRACE switch_body RBRACE .) | |
state 138 | |
(45) case_spec -> case_statement_list declaration . SEMI | |
SEMI shift and go to state 145 | |
state 139 | |
(71) proc_firstarg -> VOID . | |
COMMA reduce using rule 71 (proc_firstarg -> VOID .) | |
RPAREN reduce using rule 71 (proc_firstarg -> VOID .) | |
state 140 | |
(70) proc_firstarg -> type_specifier . | |
COMMA reduce using rule 70 (proc_firstarg -> type_specifier .) | |
RPAREN reduce using rule 70 (proc_firstarg -> type_specifier .) | |
state 141 | |
(65) procedure_def -> proc_return ID LPAREN proc_firstarg . type_specifier_list RPAREN EQUALS constant SEMI | |
(72) type_specifier_list -> . COMMA type_specifier type_specifier_list | |
(73) type_specifier_list -> . empty | |
(60) empty -> . | |
COMMA shift and go to state 147 | |
RPAREN reduce using rule 60 (empty -> .) | |
type_specifier_list shift and go to state 146 | |
empty shift and go to state 148 | |
state 142 | |
(62) version_def -> VERSION ID LBRACE procedure_def procedure_def_list RBRACE EQUALS . constant SEMI | |
(8) constant -> . CONST10 | |
(9) constant -> . CONST8 | |
(10) constant -> . CONST16 | |
CONST10 shift and go to state 57 | |
CONST8 shift and go to state 60 | |
CONST16 shift and go to state 59 | |
constant shift and go to state 149 | |
state 143 | |
(50) case_statement -> CASE value COLON . | |
CASE reduce using rule 50 (case_statement -> CASE value COLON .) | |
OPAQUE reduce using rule 50 (case_statement -> CASE value COLON .) | |
STRING reduce using rule 50 (case_statement -> CASE value COLON .) | |
VOID reduce using rule 50 (case_statement -> CASE value COLON .) | |
UNSIGNED reduce using rule 50 (case_statement -> CASE value COLON .) | |
INT reduce using rule 50 (case_statement -> CASE value COLON .) | |
HYPER reduce using rule 50 (case_statement -> CASE value COLON .) | |
FLOAT reduce using rule 50 (case_statement -> CASE value COLON .) | |
DOUBLE reduce using rule 50 (case_statement -> CASE value COLON .) | |
QUADRUPLE reduce using rule 50 (case_statement -> CASE value COLON .) | |
BOOL reduce using rule 50 (case_statement -> CASE value COLON .) | |
ID reduce using rule 50 (case_statement -> CASE value COLON .) | |
ENUM reduce using rule 50 (case_statement -> CASE value COLON .) | |
STRUCT reduce using rule 50 (case_statement -> CASE value COLON .) | |
UNION reduce using rule 50 (case_statement -> CASE value COLON .) | |
state 144 | |
(52) default_declaration -> DEFAULT COLON . declaration SEMI | |
(19) declaration -> . type_specifier ID | |
(20) declaration -> . type_specifier ID LBRACKET value RBRACKET | |
(21) declaration -> . type_specifier ID LT optional_value GT | |
(22) declaration -> . OPAQUE ID LBRACKET value RBRACKET | |
(23) declaration -> . OPAQUE ID LT optional_value GT | |
(24) declaration -> . STRING ID LT optional_value GT | |
(25) declaration -> . type_specifier STAR ID | |
(26) declaration -> . VOID | |
(27) type_specifier -> . UNSIGNED INT | |
(28) type_specifier -> . UNSIGNED HYPER | |
(29) type_specifier -> . INT | |
(30) type_specifier -> . HYPER | |
(31) type_specifier -> . FLOAT | |
(32) type_specifier -> . DOUBLE | |
(33) type_specifier -> . QUADRUPLE | |
(34) type_specifier -> . BOOL | |
(35) type_specifier -> . ID | |
(36) type_specifier -> . UNSIGNED | |
(37) type_specifier -> . enum_type_spec | |
(38) type_specifier -> . struct_type_spec | |
(39) type_specifier -> . union_type_spec | |
(40) enum_type_spec -> . ENUM enum_body | |
(41) struct_type_spec -> . STRUCT struct_body | |
(42) union_type_spec -> . UNION union_body | |
OPAQUE shift and go to state 29 | |
STRING shift and go to state 21 | |
VOID shift and go to state 16 | |
UNSIGNED shift and go to state 19 | |
INT shift and go to state 30 | |
HYPER shift and go to state 27 | |
FLOAT shift and go to state 32 | |
DOUBLE shift and go to state 31 | |
QUADRUPLE shift and go to state 17 | |
BOOL shift and go to state 34 | |
ID shift and go to state 26 | |
ENUM shift and go to state 23 | |
STRUCT shift and go to state 28 | |
UNION shift and go to state 22 | |
type_specifier shift and go to state 18 | |
enum_type_spec shift and go to state 20 | |
union_type_spec shift and go to state 33 | |
struct_type_spec shift and go to state 24 | |
declaration shift and go to state 150 | |
state 145 | |
(45) case_spec -> case_statement_list declaration SEMI . | |
CASE reduce using rule 45 (case_spec -> case_statement_list declaration SEMI .) | |
DEFAULT reduce using rule 45 (case_spec -> case_statement_list declaration SEMI .) | |
RBRACE reduce using rule 45 (case_spec -> case_statement_list declaration SEMI .) | |
state 146 | |
(65) procedure_def -> proc_return ID LPAREN proc_firstarg type_specifier_list . RPAREN EQUALS constant SEMI | |
RPAREN shift and go to state 151 | |
state 147 | |
(72) type_specifier_list -> COMMA . type_specifier type_specifier_list | |
(27) type_specifier -> . UNSIGNED INT | |
(28) type_specifier -> . UNSIGNED HYPER | |
(29) type_specifier -> . INT | |
(30) type_specifier -> . HYPER | |
(31) type_specifier -> . FLOAT | |
(32) type_specifier -> . DOUBLE | |
(33) type_specifier -> . QUADRUPLE | |
(34) type_specifier -> . BOOL | |
(35) type_specifier -> . ID | |
(36) type_specifier -> . UNSIGNED | |
(37) type_specifier -> . enum_type_spec | |
(38) type_specifier -> . struct_type_spec | |
(39) type_specifier -> . union_type_spec | |
(40) enum_type_spec -> . ENUM enum_body | |
(41) struct_type_spec -> . STRUCT struct_body | |
(42) union_type_spec -> . UNION union_body | |
UNSIGNED shift and go to state 19 | |
INT shift and go to state 30 | |
HYPER shift and go to state 27 | |
FLOAT shift and go to state 32 | |
DOUBLE shift and go to state 31 | |
QUADRUPLE shift and go to state 17 | |
BOOL shift and go to state 34 | |
ID shift and go to state 26 | |
ENUM shift and go to state 23 | |
STRUCT shift and go to state 28 | |
UNION shift and go to state 22 | |
type_specifier shift and go to state 152 | |
enum_type_spec shift and go to state 20 | |
union_type_spec shift and go to state 33 | |
struct_type_spec shift and go to state 24 | |
state 148 | |
(73) type_specifier_list -> empty . | |
RPAREN reduce using rule 73 (type_specifier_list -> empty .) | |
state 149 | |
(62) version_def -> VERSION ID LBRACE procedure_def procedure_def_list RBRACE EQUALS constant . SEMI | |
SEMI shift and go to state 153 | |
state 150 | |
(52) default_declaration -> DEFAULT COLON declaration . SEMI | |
SEMI shift and go to state 154 | |
state 151 | |
(65) procedure_def -> proc_return ID LPAREN proc_firstarg type_specifier_list RPAREN . EQUALS constant SEMI | |
EQUALS shift and go to state 155 | |
state 152 | |
(72) type_specifier_list -> COMMA type_specifier . type_specifier_list | |
(72) type_specifier_list -> . COMMA type_specifier type_specifier_list | |
(73) type_specifier_list -> . empty | |
(60) empty -> . | |
COMMA shift and go to state 147 | |
RPAREN reduce using rule 60 (empty -> .) | |
empty shift and go to state 148 | |
type_specifier_list shift and go to state 156 | |
state 153 | |
(62) version_def -> VERSION ID LBRACE procedure_def procedure_def_list RBRACE EQUALS constant SEMI . | |
VERSION reduce using rule 62 (version_def -> VERSION ID LBRACE procedure_def procedure_def_list RBRACE EQUALS constant SEMI .) | |
RBRACE reduce using rule 62 (version_def -> VERSION ID LBRACE procedure_def procedure_def_list RBRACE EQUALS constant SEMI .) | |
state 154 | |
(52) default_declaration -> DEFAULT COLON declaration SEMI . | |
RBRACE reduce using rule 52 (default_declaration -> DEFAULT COLON declaration SEMI .) | |
state 155 | |
(65) procedure_def -> proc_return ID LPAREN proc_firstarg type_specifier_list RPAREN EQUALS . constant SEMI | |
(8) constant -> . CONST10 | |
(9) constant -> . CONST8 | |
(10) constant -> . CONST16 | |
CONST10 shift and go to state 57 | |
CONST8 shift and go to state 60 | |
CONST16 shift and go to state 59 | |
constant shift and go to state 157 | |
state 156 | |
(72) type_specifier_list -> COMMA type_specifier type_specifier_list . | |
RPAREN reduce using rule 72 (type_specifier_list -> COMMA type_specifier type_specifier_list .) | |
state 157 | |
(65) procedure_def -> proc_return ID LPAREN proc_firstarg type_specifier_list RPAREN EQUALS constant . SEMI | |
SEMI shift and go to state 158 | |
state 158 | |
(65) procedure_def -> proc_return ID LPAREN proc_firstarg type_specifier_list RPAREN EQUALS constant SEMI . | |
VOID reduce using rule 65 (procedure_def -> proc_return ID LPAREN proc_firstarg type_specifier_list RPAREN EQUALS constant SEMI .) | |
UNSIGNED reduce using rule 65 (procedure_def -> proc_return ID LPAREN proc_firstarg type_specifier_list RPAREN EQUALS constant SEMI .) | |
INT reduce using rule 65 (procedure_def -> proc_return ID LPAREN proc_firstarg type_specifier_list RPAREN EQUALS constant SEMI .) | |
HYPER reduce using rule 65 (procedure_def -> proc_return ID LPAREN proc_firstarg type_specifier_list RPAREN EQUALS constant SEMI .) | |
FLOAT reduce using rule 65 (procedure_def -> proc_return ID LPAREN proc_firstarg type_specifier_list RPAREN EQUALS constant SEMI .) | |
DOUBLE reduce using rule 65 (procedure_def -> proc_return ID LPAREN proc_firstarg type_specifier_list RPAREN EQUALS constant SEMI .) | |
QUADRUPLE reduce using rule 65 (procedure_def -> proc_return ID LPAREN proc_firstarg type_specifier_list RPAREN EQUALS constant SEMI .) | |
BOOL reduce using rule 65 (procedure_def -> proc_return ID LPAREN proc_firstarg type_specifier_list RPAREN EQUALS constant SEMI .) | |
ID reduce using rule 65 (procedure_def -> proc_return ID LPAREN proc_firstarg type_specifier_list RPAREN EQUALS constant SEMI .) | |
ENUM reduce using rule 65 (procedure_def -> proc_return ID LPAREN proc_firstarg type_specifier_list RPAREN EQUALS constant SEMI .) | |
STRUCT reduce using rule 65 (procedure_def -> proc_return ID LPAREN proc_firstarg type_specifier_list RPAREN EQUALS constant SEMI .) | |
UNION reduce using rule 65 (procedure_def -> proc_return ID LPAREN proc_firstarg type_specifier_list RPAREN EQUALS constant SEMI .) | |
RBRACE reduce using rule 65 (procedure_def -> proc_return ID LPAREN proc_firstarg type_specifier_list RPAREN EQUALS constant SEMI .) | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment