openmedialibrary_platform/Linux/lib/python2.7/site-packages/pycparser/yacctab.py

287 lines
119 KiB
Python
Raw Normal View History

2013-10-11 17:28:32 +00:00
# yacctab.py
# This file is automatically generated. Do not edit.
_tabversion = '3.2'
_lr_method = 'LALR'
_lr_signature = '"\xce\xf2\x9e\xca\x17\xf7\xe0\x81\x1f\r\xc4\x0b+;\x87'
_lr_action_items = {'VOID':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,24,25,27,29,31,32,33,35,36,37,38,39,40,42,43,44,45,46,48,49,54,55,56,57,59,60,61,63,64,65,76,78,82,87,89,90,91,92,93,94,95,96,119,162,164,166,167,168,169,170,171,172,173,198,207,208,211,213,238,239,245,249,255,269,270,273,275,282,284,285,286,288,291,295,296,300,301,319,343,344,358,359,361,362,367,369,371,389,390,393,398,407,415,416,418,426,427,429,430,],[6,6,-61,-72,-71,-58,-54,-55,-33,-29,-59,6,-34,-53,-68,-63,-52,6,-56,-174,-109,-66,-69,-32,-73,-112,-64,-31,-60,-35,-62,-65,6,-67,6,-70,-74,6,-57,-84,-255,-83,6,-111,-110,-30,6,-100,-99,6,6,-45,-46,6,-113,6,6,6,6,-90,6,6,6,6,-36,6,-47,6,6,-85,-91,-256,6,-114,6,6,-115,-117,-116,6,-101,-37,-39,-42,-38,-40,6,-152,-151,-43,-153,-41,-87,-86,-92,-93,6,-103,-102,-171,-170,6,-168,-154,-167,-155,-166,-169,-158,-156,-157,-162,-161,-159,-163,-160,-165,-164,]),'LBRACKET':([1,2,3,5,6,9,10,13,14,17,18,19,21,23,24,25,27,28,29,30,32,33,35,37,39,40,42,43,44,45,46,49,50,51,52,54,55,56,58,60,64,65,67,68,69,70,74,78,81,83,84,86,90,94,96,97,100,101,102,103,104,105,108,109,116,118,121,122,124,125,127,128,136,145,146,150,154,163,164,171,173,174,175,176,177,197,200,201,203,207,213,217,238,239,249,252,253,257,263,264,265,293,295,296,305,306,307,308,311,315,319,320,343,344,347,350,352,354,355,356,377,378,384,386,411,412,419,],[-257,-61,-72,-71,-58,-54,-55,-59,-257,-53,-68,-63,-52,-56,-174,62,-66,-257,-69,72,-73,-112,-64,-60,-62,-65,-257,-67,-257,-70,-74,-57,-50,-9,-10,-84,-255,-83,-49,62,-100,-99,-26,-118,-120,-25,72,72,161,-48,-51,72,-113,-257,-257,72,-239,-249,-253,-250,-247,-237,-238,205,-246,-224,-243,-251,-244,-236,-248,-245,72,-121,-119,161,259,72,72,-85,-256,-21,-82,-22,-81,-254,-252,-233,-232,-114,-115,72,-117,-116,-101,-146,-148,-136,259,-150,-144,-243,-87,-86,-231,-230,-229,-228,-227,-240,72,72,-103,-102,-139,259,-137,-145,-147,-149,-225,-226,259,-138,259,-234,-235,]),'WCHAR_CONST':([55,62,72,77,82,98,106,107,112,113,115,117,119,120,123,131,149,151,154,156,161,167,173,178,185,186,187,188,189,190,191,192,193,194,195,196,198,205,206,208,211,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,250,256,259,260,261,267,269,270,273,274,275,281,282,284,285,286,288,290,291,302,316,317,350,353,358,359,361,362,363,364,367,368,369,371,372,373,379,380,384,385,387,389,390,392,393,395,398,404,406,407,408,409,410,411,414,415,416,418,420,423,425,426,427,428,429,430,],[-255,103,103,103,-45,-223,103,-221,103,-220,103,-219,103,103,-218,-222,-219,103,-257,-219,103,103,-256,103,-180,-183,-181,-177,-178,-182,-184,103,-186,-187,-179,-185,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,-12,103,103,-11,-219,-39,-42,-38,103,-40,103,103,-152,-151,-43,-153,103,-41,103,103,103,-257,-135,-171,-170,103,-168,103,103,-154,103,-167,-155,103,103,103,103,-257,103,103,-166,-169,103,-158,103,-156,103,103,-157,103,103,103,-257,103,-162,-161,-159,103,103,103,-163,-160,103,-165,-164,]),'FLOAT_CONST':([55,62,72,77,82,98,106,107,112,113,115,117,119,120,123,131,149,151,154,156,161,167,173,178,185,186,187,188,189,190,191,192,193,194,195,196,198,205,206,208,211,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,250,256,259,260,261,267,269,270,273,274,275,281,282,284,285,286,288,290,291,302,316,317,350,353,358,359,361,362,363,364,367,368,369,371,372,373,379,380,384,385,387,389,390,392,393,395,398,404,406,407,408,409,410,411,414,415,416,418,420,423,425,426,427,428,429,430,],[-255,104,104,104,-45,-223,104,-221,104,-220,104,-219,104,104,-218,-222,-219,104,-257,-219,104,104,-256,104,-180,-183,-181,-177,-178,-182,-184,104,-186,-187,-179,-185,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,-12,104,104,-11,-219,-39,-42,-38,104,-40,104,104,-152,-151,-43,-153,104,-41,104,104,104,-257,-135,-171,-170,104,-168,104,104,-154,104,-167,-155,104,104,104,104,-257,104,104,-166,-169,104,-158,104,-156,104,104,-157,104,104,104,-257,104,-162,-161,-159,104,104,104,-163,-160,104,-165,-164,]),'MINUS':([55,62,72,77,82,98,99,100,101,
_lr_action = { }
for _k, _v in _lr_action_items.items():
for _x,_y in zip(_v[0],_v[1]):
if not _x in _lr_action: _lr_action[_x] = { }
_lr_action[_x][_k] = _y
del _lr_action_items
_lr_goto_items = {'storage_class_specifier':([0,1,14,22,42,44,48,63,76,78,89,162,164,167,245,282,319,361,],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,]),'identifier_list_opt':([63,],[132,]),'parameter_declaration':([63,78,162,164,245,319,],[135,135,135,135,342,135,]),'selection_statement':([167,282,290,363,372,395,406,408,410,423,425,428,],[291,291,291,291,291,291,291,291,291,291,291,291,]),'constant':([62,72,77,106,112,115,119,120,151,161,167,178,192,198,205,206,208,211,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,250,259,260,274,281,282,290,302,316,317,361,363,364,368,372,373,379,380,385,387,392,395,404,406,408,409,410,414,420,423,425,428,],[105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,]),'unary_expression':([62,72,77,106,112,115,119,120,151,161,167,178,192,198,205,206,208,211,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,250,259,260,274,281,282,290,302,316,317,361,363,364,368,372,373,379,380,385,387,392,395,404,406,408,409,410,414,420,423,425,428,],[99,99,99,199,209,212,99,218,99,99,99,209,99,99,99,99,99,99,209,209,209,209,209,209,209,209,209,209,209,209,209,209,209,209,99,209,209,209,209,99,99,209,99,99,209,99,209,99,99,99,99,99,99,99,209,209,99,99,99,99,99,99,99,99,99,99,99,99,99,]),'conditional_expression':([62,72,77,119,151,161,167,178,192,198,205,206,208,211,235,250,259,260,274,281,282,290,302,316,361,363,364,368,372,373,379,385,387,392,395,404,406,408,409,410,414,420,423,425,428,],[130,130,130,130,130,130,130,298,130,130,130,130,130,130,130,298,298,130,130,298,130,130,298,130,130,130,130,130,130,130,130,402,130,130,130,130,130,130,130,130,130,130,130,130,130,]),'brace_close':([93,143,169,170,246,247,262,292,350,401,411,],[171,249,295,296,343,344,351,371,388,412,419,]),'struct_or_union_specifier':([0,1,14,22,42,44,48,57,63,76,78,89,91,92,93,94,96,119,162,164,167,169,170,198,208,211,245,282,319,361,],[5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,]),'unified_wstring_literal':([62,72,77,106,112,115,119,120,151,161,167,178,192,198,205,206,208,211,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,250,259,260,274,281,282,290,302,316,317,361,363,364,368,372,373,379,380,385,387,392,395,404,406,408,409,410,414,420,423,425,428,],[100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,]),'abstract_declarator_opt':([136,217,],[240,318,]),'iteration_statement':([167,282,290,363,372,395,406,408,410,423,425,428,],[270,270,270,270,270,270,270,270,270,270,270,270,]),'init_declarator_list':([30,86,],[71,71,]),'translation_unit_or_empty':([0,],[8,]),'struct_declaration_list':([57,91,92,],[93,169,170,]),'block_item_list_opt':([167,],[292,]),'enumerator':([66,140,141,248,],[142,142,142,345,]),'pp_directive':([0,22,],[11,11,]),'abstract_declarator':([30,78,86,97,136,164,217,319,],[79,160,79,182,241,160,241,160,]),'declaration_specifiers_opt':([1,14,42,44,],[50,58,83,84,]),'external_declaration':([0,22,],[12,61,]),'type_specifier':([0,1,14,22,42,44,48,57,63,76,78,89,91,92,93,94,96,119,162,164,167,169,170,198,208,211,245,282,319,361,],[14,14,14,14,14,14,14,94,14,14,14,14,94,94,94,94,94,94,14,14,14,94,94,94,94,94,14,14,14,14,]),'designation':([154,350,384,411,],[256,256,256,256,]),'compound_statement':([88,152,167,282,290,363,372,395,406,408,410,423,425,428,],[166,255,275,275,275,275,275,275,275,275,275,275,275,275,]),'pointer':([0,4,22,30,68,78,86,97,136,147,164,217,299,319,],[16,16,16,74,146,74,163,163,74,16,163,320,16,320,]),'type_name':([119,198,208,211,],[215,304,313,314,]),'unified_string_literal':([62,72,77,106,112,115,119,120,151,161,167,178,192,198,205,206,208,211,219,220,221,222,223,224,22
_lr_goto = { }
for _k, _v in _lr_goto_items.items():
for _x,_y in zip(_v[0],_v[1]):
if not _x in _lr_goto: _lr_goto[_x] = { }
_lr_goto[_x][_k] = _y
del _lr_goto_items
_lr_productions = [
("S' -> translation_unit_or_empty","S'",1,None,None,None),
('abstract_declarator_opt -> empty','abstract_declarator_opt',1,'p_abstract_declarator_opt','../pycparser/plyparser.py',41),
('abstract_declarator_opt -> abstract_declarator','abstract_declarator_opt',1,'p_abstract_declarator_opt','../pycparser/plyparser.py',42),
('assignment_expression_opt -> empty','assignment_expression_opt',1,'p_assignment_expression_opt','../pycparser/plyparser.py',41),
('assignment_expression_opt -> assignment_expression','assignment_expression_opt',1,'p_assignment_expression_opt','../pycparser/plyparser.py',42),
('block_item_list_opt -> empty','block_item_list_opt',1,'p_block_item_list_opt','../pycparser/plyparser.py',41),
('block_item_list_opt -> block_item_list','block_item_list_opt',1,'p_block_item_list_opt','../pycparser/plyparser.py',42),
('declaration_list_opt -> empty','declaration_list_opt',1,'p_declaration_list_opt','../pycparser/plyparser.py',41),
('declaration_list_opt -> declaration_list','declaration_list_opt',1,'p_declaration_list_opt','../pycparser/plyparser.py',42),
('declaration_specifiers_opt -> empty','declaration_specifiers_opt',1,'p_declaration_specifiers_opt','../pycparser/plyparser.py',41),
('declaration_specifiers_opt -> declaration_specifiers','declaration_specifiers_opt',1,'p_declaration_specifiers_opt','../pycparser/plyparser.py',42),
('designation_opt -> empty','designation_opt',1,'p_designation_opt','../pycparser/plyparser.py',41),
('designation_opt -> designation','designation_opt',1,'p_designation_opt','../pycparser/plyparser.py',42),
('expression_opt -> empty','expression_opt',1,'p_expression_opt','../pycparser/plyparser.py',41),
('expression_opt -> expression','expression_opt',1,'p_expression_opt','../pycparser/plyparser.py',42),
('identifier_list_opt -> empty','identifier_list_opt',1,'p_identifier_list_opt','../pycparser/plyparser.py',41),
('identifier_list_opt -> identifier_list','identifier_list_opt',1,'p_identifier_list_opt','../pycparser/plyparser.py',42),
('init_declarator_list_opt -> empty','init_declarator_list_opt',1,'p_init_declarator_list_opt','../pycparser/plyparser.py',41),
('init_declarator_list_opt -> init_declarator_list','init_declarator_list_opt',1,'p_init_declarator_list_opt','../pycparser/plyparser.py',42),
('parameter_type_list_opt -> empty','parameter_type_list_opt',1,'p_parameter_type_list_opt','../pycparser/plyparser.py',41),
('parameter_type_list_opt -> parameter_type_list','parameter_type_list_opt',1,'p_parameter_type_list_opt','../pycparser/plyparser.py',42),
('specifier_qualifier_list_opt -> empty','specifier_qualifier_list_opt',1,'p_specifier_qualifier_list_opt','../pycparser/plyparser.py',41),
('specifier_qualifier_list_opt -> specifier_qualifier_list','specifier_qualifier_list_opt',1,'p_specifier_qualifier_list_opt','../pycparser/plyparser.py',42),
('struct_declarator_list_opt -> empty','struct_declarator_list_opt',1,'p_struct_declarator_list_opt','../pycparser/plyparser.py',41),
('struct_declarator_list_opt -> struct_declarator_list','struct_declarator_list_opt',1,'p_struct_declarator_list_opt','../pycparser/plyparser.py',42),
('type_qualifier_list_opt -> empty','type_qualifier_list_opt',1,'p_type_qualifier_list_opt','../pycparser/plyparser.py',41),
('type_qualifier_list_opt -> type_qualifier_list','type_qualifier_list_opt',1,'p_type_qualifier_list_opt','../pycparser/plyparser.py',42),
('translation_unit_or_empty -> translation_unit','translation_unit_or_empty',1,'p_translation_unit_or_empty','../pycparser/c_parser.py',496),
('translation_unit_or_empty -> empty','translation_unit_or_empty',1,'p_translation_unit_or_empty','../pycparser/c_parser.py',497),
('translation_unit -> external_declaration','translation_unit',1,'p_translation_unit_1','../pycparser/c_parser.py',505),
('translation_unit -> translation_unit external_declaration','translation_unit',2,'p_translation_unit_2','../pycparser/c_parser.py',512),
('external_declaration -> function_definition','external_declaration',1,'p_external_declaration_1','../pycparser/c_parser.py',524),
('external_declaration -> declaration','external_declaration',1,'p_external_declaration_2','../pycparser/c_parser.py',529),
('external_declaration -> pp_directive','external_declaration',1,'p_external_declaration_3','../pycparser/c_parser.py',534),
('external_declaration -> SEMI','external_declaration',1,'p_external_declaration_4','../pycparser/c_parser.py',539),
('pp_directive -> PPHASH','pp_directive',1,'p_pp_directive','../pycparser/c_parser.py',544),
('function_definition -> declarator declaration_list_opt compound_statement','function_definition',3,'p_function_definition_1','../pycparser/c_parser.py',553),
('function_definition -> declaration_specifiers declarator declaration_list_opt compound_statement','function_definition',4,'p_function_definition_2','../pycparser/c_parser.py',570),
('statement -> labeled_statement','statement',1,'p_statement','../pycparser/c_parser.py',581),
('statement -> expression_statement','statement',1,'p_statement','../pycparser/c_parser.py',582),
('statement -> compound_statement','statement',1,'p_statement','../pycparser/c_parser.py',583),
('statement -> selection_statement','statement',1,'p_statement','../pycparser/c_parser.py',584),
('statement -> iteration_statement','statement',1,'p_statement','../pycparser/c_parser.py',585),
('statement -> jump_statement','statement',1,'p_statement','../pycparser/c_parser.py',586),
('decl_body -> declaration_specifiers init_declarator_list_opt','decl_body',2,'p_decl_body','../pycparser/c_parser.py',600),
('declaration -> decl_body SEMI','declaration',2,'p_declaration','../pycparser/c_parser.py',659),
('declaration_list -> declaration','declaration_list',1,'p_declaration_list','../pycparser/c_parser.py',668),
('declaration_list -> declaration_list declaration','declaration_list',2,'p_declaration_list','../pycparser/c_parser.py',669),
('declaration_specifiers -> type_qualifier declaration_specifiers_opt','declaration_specifiers',2,'p_declaration_specifiers_1','../pycparser/c_parser.py',674),
('declaration_specifiers -> type_specifier declaration_specifiers_opt','declaration_specifiers',2,'p_declaration_specifiers_2','../pycparser/c_parser.py',679),
('declaration_specifiers -> storage_class_specifier declaration_specifiers_opt','declaration_specifiers',2,'p_declaration_specifiers_3','../pycparser/c_parser.py',684),
('declaration_specifiers -> function_specifier declaration_specifiers_opt','declaration_specifiers',2,'p_declaration_specifiers_4','../pycparser/c_parser.py',689),
('storage_class_specifier -> AUTO','storage_class_specifier',1,'p_storage_class_specifier','../pycparser/c_parser.py',694),
('storage_class_specifier -> REGISTER','storage_class_specifier',1,'p_storage_class_specifier','../pycparser/c_parser.py',695),
('storage_class_specifier -> STATIC','storage_class_specifier',1,'p_storage_class_specifier','../pycparser/c_parser.py',696),
('storage_class_specifier -> EXTERN','storage_class_specifier',1,'p_storage_class_specifier','../pycparser/c_parser.py',697),
('storage_class_specifier -> TYPEDEF','storage_class_specifier',1,'p_storage_class_specifier','../pycparser/c_parser.py',698),
('function_specifier -> INLINE','function_specifier',1,'p_function_specifier','../pycparser/c_parser.py',703),
('type_specifier -> VOID','type_specifier',1,'p_type_specifier_1','../pycparser/c_parser.py',708),
('type_specifier -> _BOOL','type_specifier',1,'p_type_specifier_1','../pycparser/c_parser.py',709),
('type_specifier -> CHAR','type_specifier',1,'p_type_specifier_1','../pycparser/c_parser.py',710),
('type_specifier -> SHORT','type_specifier',1,'p_type_specifier_1','../pycparser/c_parser.py',711),
('type_specifier -> INT','type_specifier',1,'p_type_specifier_1','../pycparser/c_parser.py',712),
('type_specifier -> LONG','type_specifier',1,'p_type_specifier_1','../pycparser/c_parser.py',713),
('type_specifier -> FLOAT','type_specifier',1,'p_type_specifier_1','../pycparser/c_parser.py',714),
('type_specifier -> DOUBLE','type_specifier',1,'p_type_specifier_1','../pycparser/c_parser.py',715),
('type_specifier -> _COMPLEX','type_specifier',1,'p_type_specifier_1','../pycparser/c_parser.py',716),
('type_specifier -> SIGNED','type_specifier',1,'p_type_specifier_1','../pycparser/c_parser.py',717),
('type_specifier -> UNSIGNED','type_specifier',1,'p_type_specifier_1','../pycparser/c_parser.py',718),
('type_specifier -> typedef_name','type_specifier',1,'p_type_specifier_2','../pycparser/c_parser.py',723),
('type_specifier -> enum_specifier','type_specifier',1,'p_type_specifier_2','../pycparser/c_parser.py',724),
('type_specifier -> struct_or_union_specifier','type_specifier',1,'p_type_specifier_2','../pycparser/c_parser.py',725),
('type_qualifier -> CONST','type_qualifier',1,'p_type_qualifier','../pycparser/c_parser.py',730),
('type_qualifier -> RESTRICT','type_qualifier',1,'p_type_qualifier','../pycparser/c_parser.py',731),
('type_qualifier -> VOLATILE','type_qualifier',1,'p_type_qualifier','../pycparser/c_parser.py',732),
('init_declarator_list -> init_declarator','init_declarator_list',1,'p_init_declarator_list_1','../pycparser/c_parser.py',737),
('init_declarator_list -> init_declarator_list COMMA init_declarator','init_declarator_list',3,'p_init_declarator_list_1','../pycparser/c_parser.py',738),
('init_declarator_list -> EQUALS initializer','init_declarator_list',2,'p_init_declarator_list_2','../pycparser/c_parser.py',748),
('init_declarator_list -> abstract_declarator','init_declarator_list',1,'p_init_declarator_list_3','../pycparser/c_parser.py',756),
('init_declarator -> declarator','init_declarator',1,'p_init_declarator','../pycparser/c_parser.py',764),
('init_declarator -> declarator EQUALS initializer','init_declarator',3,'p_init_declarator','../pycparser/c_parser.py',765),
('specifier_qualifier_list -> type_qualifier specifier_qualifier_list_opt','specifier_qualifier_list',2,'p_specifier_qualifier_list_1','../pycparser/c_parser.py',770),
('specifier_qualifier_list -> type_specifier specifier_qualifier_list_opt','specifier_qualifier_list',2,'p_specifier_qualifier_list_2','../pycparser/c_parser.py',775),
('struct_or_union_specifier -> struct_or_union ID','struct_or_union_specifier',2,'p_struct_or_union_specifier_1','../pycparser/c_parser.py',783),
('struct_or_union_specifier -> struct_or_union TYPEID','struct_or_union_specifier',2,'p_struct_or_union_specifier_1','../pycparser/c_parser.py',784),
('struct_or_union_specifier -> struct_or_union brace_open struct_declaration_list brace_close','struct_or_union_specifier',4,'p_struct_or_union_specifier_2','../pycparser/c_parser.py',793),
('struct_or_union_specifier -> struct_or_union ID brace_open struct_declaration_list brace_close','struct_or_union_specifier',5,'p_struct_or_union_specifier_3','../pycparser/c_parser.py',802),
('struct_or_union_specifier -> struct_or_union TYPEID brace_open struct_declaration_list brace_close','struct_or_union_specifier',5,'p_struct_or_union_specifier_3','../pycparser/c_parser.py',803),
('struct_or_union -> STRUCT','struct_or_union',1,'p_struct_or_union','../pycparser/c_parser.py',812),
('struct_or_union -> UNION','struct_or_union',1,'p_struct_or_union','../pycparser/c_parser.py',813),
('struct_declaration_list -> struct_declaration','struct_declaration_list',1,'p_struct_declaration_list','../pycparser/c_parser.py',820),
('struct_declaration_list -> struct_declaration_list struct_declaration','struct_declaration_list',2,'p_struct_declaration_list','../pycparser/c_parser.py',821),
('struct_declaration -> specifier_qualifier_list struct_declarator_list_opt SEMI','struct_declaration',3,'p_struct_declaration_1','../pycparser/c_parser.py',826),
('struct_declaration -> specifier_qualifier_list abstract_declarator SEMI','struct_declaration',3,'p_struct_declaration_2','../pycparser/c_parser.py',864),
('struct_declarator_list -> struct_declarator','struct_declarator_list',1,'p_struct_declarator_list','../pycparser/c_parser.py',878),
('struct_declarator_list -> struct_declarator_list COMMA struct_declarator','struct_declarator_list',3,'p_struct_declarator_list','../pycparser/c_parser.py',879),
('struct_declarator -> declarator','struct_declarator',1,'p_struct_declarator_1','../pycparser/c_parser.py',887),
('struct_declarator -> declarator COLON constant_expression','struct_declarator',3,'p_struct_declarator_2','../pycparser/c_parser.py',892),
('struct_declarator -> COLON constant_expression','struct_declarator',2,'p_struct_declarator_2','../pycparser/c_parser.py',893),
('enum_specifier -> ENUM ID','enum_specifier',2,'p_enum_specifier_1','../pycparser/c_parser.py',901),
('enum_specifier -> ENUM TYPEID','enum_specifier',2,'p_enum_specifier_1','../pycparser/c_parser.py',902),
('enum_specifier -> ENUM brace_open enumerator_list brace_close','enum_specifier',4,'p_enum_specifier_2','../pycparser/c_parser.py',907),
('enum_specifier -> ENUM ID brace_open enumerator_list brace_close','enum_specifier',5,'p_enum_specifier_3','../pycparser/c_parser.py',912),
('enum_specifier -> ENUM TYPEID brace_open enumerator_list brace_close','enum_specifier',5,'p_enum_specifier_3','../pycparser/c_parser.py',913),
('enumerator_list -> enumerator','enumerator_list',1,'p_enumerator_list','../pycparser/c_parser.py',918),
('enumerator_list -> enumerator_list COMMA','enumerator_list',2,'p_enumerator_list','../pycparser/c_parser.py',919),
('enumerator_list -> enumerator_list COMMA enumerator','enumerator_list',3,'p_enumerator_list','../pycparser/c_parser.py',920),
('enumerator -> ID','enumerator',1,'p_enumerator','../pycparser/c_parser.py',931),
('enumerator -> ID EQUALS constant_expression','enumerator',3,'p_enumerator','../pycparser/c_parser.py',932),
('declarator -> direct_declarator','declarator',1,'p_declarator_1','../pycparser/c_parser.py',947),
('declarator -> pointer direct_declarator','declarator',2,'p_declarator_2','../pycparser/c_parser.py',952),
('declarator -> pointer TYPEID','declarator',2,'p_declarator_3','../pycparser/c_parser.py',961),
('direct_declarator -> ID','direct_declarator',1,'p_direct_declarator_1','../pycparser/c_parser.py',972),
('direct_declarator -> LPAREN declarator RPAREN','direct_declarator',3,'p_direct_declarator_2','../pycparser/c_parser.py',981),
('direct_declarator -> direct_declarator LBRACKET assignment_expression_opt RBRACKET','direct_declarator',4,'p_direct_declarator_3','../pycparser/c_parser.py',986),
('direct_declarator -> direct_declarator LBRACKET TIMES RBRACKET','direct_declarator',4,'p_direct_declarator_4','../pycparser/c_parser.py',998),
('direct_declarator -> direct_declarator LPAREN parameter_type_list RPAREN','direct_declarator',4,'p_direct_declarator_5','../pycparser/c_parser.py',1008),
('direct_declarator -> direct_declarator LPAREN identifier_list_opt RPAREN','direct_declarator',4,'p_direct_declarator_5','../pycparser/c_parser.py',1009),
('pointer -> TIMES type_qualifier_list_opt','pointer',2,'p_pointer','../pycparser/c_parser.py',1036),
('pointer -> TIMES type_qualifier_list_opt pointer','pointer',3,'p_pointer','../pycparser/c_parser.py',1037),
('type_qualifier_list -> type_qualifier','type_qualifier_list',1,'p_type_qualifier_list','../pycparser/c_parser.py',1047),
('type_qualifier_list -> type_qualifier_list type_qualifier','type_qualifier_list',2,'p_type_qualifier_list','../pycparser/c_parser.py',1048),
('parameter_type_list -> parameter_list','parameter_type_list',1,'p_parameter_type_list','../pycparser/c_parser.py',1053),
('parameter_type_list -> parameter_list COMMA ELLIPSIS','parameter_type_list',3,'p_parameter_type_list','../pycparser/c_parser.py',1054),
('parameter_list -> parameter_declaration','parameter_list',1,'p_parameter_list','../pycparser/c_parser.py',1062),
('parameter_list -> parameter_list COMMA parameter_declaration','parameter_list',3,'p_parameter_list','../pycparser/c_parser.py',1063),
('parameter_declaration -> declaration_specifiers declarator','parameter_declaration',2,'p_parameter_declaration_1','../pycparser/c_parser.py',1072),
('parameter_declaration -> declaration_specifiers abstract_declarator_opt','parameter_declaration',2,'p_parameter_declaration_2','../pycparser/c_parser.py',1083),
('identifier_list -> identifier','identifier_list',1,'p_identifier_list','../pycparser/c_parser.py',1113),
('identifier_list -> identifier_list COMMA identifier','identifier_list',3,'p_identifier_list','../pycparser/c_parser.py',1114),
('initializer -> assignment_expression','initializer',1,'p_initializer_1','../pycparser/c_parser.py',1123),
('initializer -> brace_open initializer_list brace_close','initializer',3,'p_initializer_2','../pycparser/c_parser.py',1128),
('initializer -> brace_open initializer_list COMMA brace_close','initializer',4,'p_initializer_2','../pycparser/c_parser.py',1129),
('initializer_list -> designation_opt initializer','initializer_list',2,'p_initializer_list','../pycparser/c_parser.py',1134),
('initializer_list -> initializer_list COMMA designation_opt initializer','initializer_list',4,'p_initializer_list','../pycparser/c_parser.py',1135),
('designation -> designator_list EQUALS','designation',2,'p_designation','../pycparser/c_parser.py',1146),
('designator_list -> designator','designator_list',1,'p_designator_list','../pycparser/c_parser.py',1154),
('designator_list -> designator_list designator','designator_list',2,'p_designator_list','../pycparser/c_parser.py',1155),
('designator -> LBRACKET constant_expression RBRACKET','designator',3,'p_designator','../pycparser/c_parser.py',1160),
('designator -> PERIOD identifier','designator',2,'p_designator','../pycparser/c_parser.py',1161),
('type_name -> specifier_qualifier_list abstract_declarator_opt','type_name',2,'p_type_name','../pycparser/c_parser.py',1166),
('abstract_declarator -> pointer','abstract_declarator',1,'p_abstract_declarator_1','../pycparser/c_parser.py',1182),
('abstract_declarator -> pointer direct_abstract_declarator','abstract_declarator',2,'p_abstract_declarator_2','../pycparser/c_parser.py',1190),
('abstract_declarator -> direct_abstract_declarator','abstract_declarator',1,'p_abstract_declarator_3','../pycparser/c_parser.py',1195),
('direct_abstract_declarator -> LPAREN abstract_declarator RPAREN','direct_abstract_declarator',3,'p_direct_abstract_declarator_1','../pycparser/c_parser.py',1205),
('direct_abstract_declarator -> direct_abstract_declarator LBRACKET assignment_expression_opt RBRACKET','direct_abstract_declarator',4,'p_direct_abstract_declarator_2','../pycparser/c_parser.py',1209),
('direct_abstract_declarator -> LBRACKET assignment_expression_opt RBRACKET','direct_abstract_declarator',3,'p_direct_abstract_declarator_3','../pycparser/c_parser.py',1219),
('direct_abstract_declarator -> direct_abstract_declarator LBRACKET TIMES RBRACKET','direct_abstract_declarator',4,'p_direct_abstract_declarator_4','../pycparser/c_parser.py',1227),
('direct_abstract_declarator -> LBRACKET TIMES RBRACKET','direct_abstract_declarator',3,'p_direct_abstract_declarator_5','../pycparser/c_parser.py',1237),
('direct_abstract_declarator -> direct_abstract_declarator LPAREN parameter_type_list_opt RPAREN','direct_abstract_declarator',4,'p_direct_abstract_declarator_6','../pycparser/c_parser.py',1245),
('direct_abstract_declarator -> LPAREN parameter_type_list_opt RPAREN','direct_abstract_declarator',3,'p_direct_abstract_declarator_7','../pycparser/c_parser.py',1255),
('block_item -> declaration','block_item',1,'p_block_item','../pycparser/c_parser.py',1266),
('block_item -> statement','block_item',1,'p_block_item','../pycparser/c_parser.py',1267),
('block_item_list -> block_item','block_item_list',1,'p_block_item_list','../pycparser/c_parser.py',1274),
('block_item_list -> block_item_list block_item','block_item_list',2,'p_block_item_list','../pycparser/c_parser.py',1275),
('compound_statement -> brace_open block_item_list_opt brace_close','compound_statement',3,'p_compound_statement_1','../pycparser/c_parser.py',1281),
('labeled_statement -> ID COLON statement','labeled_statement',3,'p_labeled_statement_1','../pycparser/c_parser.py',1287),
('labeled_statement -> CASE constant_expression COLON statement','labeled_statement',4,'p_labeled_statement_2','../pycparser/c_parser.py',1291),
('labeled_statement -> DEFAULT COLON statement','labeled_statement',3,'p_labeled_statement_3','../pycparser/c_parser.py',1295),
('selection_statement -> IF LPAREN expression RPAREN statement','selection_statement',5,'p_selection_statement_1','../pycparser/c_parser.py',1299),
('selection_statement -> IF LPAREN expression RPAREN statement ELSE statement','selection_statement',7,'p_selection_statement_2','../pycparser/c_parser.py',1303),
('selection_statement -> SWITCH LPAREN expression RPAREN statement','selection_statement',5,'p_selection_statement_3','../pycparser/c_parser.py',1307),
('iteration_statement -> WHILE LPAREN expression RPAREN statement','iteration_statement',5,'p_iteration_statement_1','../pycparser/c_parser.py',1312),
('iteration_statement -> DO statement WHILE LPAREN expression RPAREN SEMI','iteration_statement',7,'p_iteration_statement_2','../pycparser/c_parser.py',1316),
('iteration_statement -> FOR LPAREN expression_opt SEMI expression_opt SEMI expression_opt RPAREN statement','iteration_statement',9,'p_iteration_statement_3','../pycparser/c_parser.py',1320),
('iteration_statement -> FOR LPAREN declaration expression_opt SEMI expression_opt RPAREN statement','iteration_statement',8,'p_iteration_statement_4','../pycparser/c_parser.py',1324),
('jump_statement -> GOTO ID SEMI','jump_statement',3,'p_jump_statement_1','../pycparser/c_parser.py',1328),
('jump_statement -> BREAK SEMI','jump_statement',2,'p_jump_statement_2','../pycparser/c_parser.py',1332),
('jump_statement -> CONTINUE SEMI','jump_statement',2,'p_jump_statement_3','../pycparser/c_parser.py',1336),
('jump_statement -> RETURN expression SEMI','jump_statement',3,'p_jump_statement_4','../pycparser/c_parser.py',1340),
('jump_statement -> RETURN SEMI','jump_statement',2,'p_jump_statement_4','../pycparser/c_parser.py',1341),
('expression_statement -> expression_opt SEMI','expression_statement',2,'p_expression_statement','../pycparser/c_parser.py',1346),
('expression -> assignment_expression','expression',1,'p_expression','../pycparser/c_parser.py',1353),
('expression -> expression COMMA assignment_expression','expression',3,'p_expression','../pycparser/c_parser.py',1354),
('typedef_name -> TYPEID','typedef_name',1,'p_typedef_name','../pycparser/c_parser.py',1366),
('assignment_expression -> conditional_expression','assignment_expression',1,'p_assignment_expression','../pycparser/c_parser.py',1370),
('assignment_expression -> unary_expression assignment_operator assignment_expression','assignment_expression',3,'p_assignment_expression','../pycparser/c_parser.py',1371),
('assignment_operator -> EQUALS','assignment_operator',1,'p_assignment_operator','../pycparser/c_parser.py',1384),
('assignment_operator -> XOREQUAL','assignment_operator',1,'p_assignment_operator','../pycparser/c_parser.py',1385),
('assignment_operator -> TIMESEQUAL','assignment_operator',1,'p_assignment_operator','../pycparser/c_parser.py',1386),
('assignment_operator -> DIVEQUAL','assignment_operator',1,'p_assignment_operator','../pycparser/c_parser.py',1387),
('assignment_operator -> MODEQUAL','assignment_operator',1,'p_assignment_operator','../pycparser/c_parser.py',1388),
('assignment_operator -> PLUSEQUAL','assignment_operator',1,'p_assignment_operator','../pycparser/c_parser.py',1389),
('assignment_operator -> MINUSEQUAL','assignment_operator',1,'p_assignment_operator','../pycparser/c_parser.py',1390),
('assignment_operator -> LSHIFTEQUAL','assignment_operator',1,'p_assignment_operator','../pycparser/c_parser.py',1391),
('assignment_operator -> RSHIFTEQUAL','assignment_operator',1,'p_assignment_operator','../pycparser/c_parser.py',1392),
('assignment_operator -> ANDEQUAL','assignment_operator',1,'p_assignment_operator','../pycparser/c_parser.py',1393),
('assignment_operator -> OREQUAL','assignment_operator',1,'p_assignment_operator','../pycparser/c_parser.py',1394),
('constant_expression -> conditional_expression','constant_expression',1,'p_constant_expression','../pycparser/c_parser.py',1399),
('conditional_expression -> binary_expression','conditional_expression',1,'p_conditional_expression','../pycparser/c_parser.py',1403),
('conditional_expression -> binary_expression CONDOP expression COLON conditional_expression','conditional_expression',5,'p_conditional_expression','../pycparser/c_parser.py',1404),
('binary_expression -> cast_expression','binary_expression',1,'p_binary_expression','../pycparser/c_parser.py',1412),
('binary_expression -> binary_expression TIMES binary_expression','binary_expression',3,'p_binary_expression','../pycparser/c_parser.py',1413),
('binary_expression -> binary_expression DIVIDE binary_expression','binary_expression',3,'p_binary_expression','../pycparser/c_parser.py',1414),
('binary_expression -> binary_expression MOD binary_expression','binary_expression',3,'p_binary_expression','../pycparser/c_parser.py',1415),
('binary_expression -> binary_expression PLUS binary_expression','binary_expression',3,'p_binary_expression','../pycparser/c_parser.py',1416),
('binary_expression -> binary_expression MINUS binary_expression','binary_expression',3,'p_binary_expression','../pycparser/c_parser.py',1417),
('binary_expression -> binary_expression RSHIFT binary_expression','binary_expression',3,'p_binary_expression','../pycparser/c_parser.py',1418),
('binary_expression -> binary_expression LSHIFT binary_expression','binary_expression',3,'p_binary_expression','../pycparser/c_parser.py',1419),
('binary_expression -> binary_expression LT binary_expression','binary_expression',3,'p_binary_expression','../pycparser/c_parser.py',1420),
('binary_expression -> binary_expression LE binary_expression','binary_expression',3,'p_binary_expression','../pycparser/c_parser.py',1421),
('binary_expression -> binary_expression GE binary_expression','binary_expression',3,'p_binary_expression','../pycparser/c_parser.py',1422),
('binary_expression -> binary_expression GT binary_expression','binary_expression',3,'p_binary_expression','../pycparser/c_parser.py',1423),
('binary_expression -> binary_expression EQ binary_expression','binary_expression',3,'p_binary_expression','../pycparser/c_parser.py',1424),
('binary_expression -> binary_expression NE binary_expression','binary_expression',3,'p_binary_expression','../pycparser/c_parser.py',1425),
('binary_expression -> binary_expression AND binary_expression','binary_expression',3,'p_binary_expression','../pycparser/c_parser.py',1426),
('binary_expression -> binary_expression OR binary_expression','binary_expression',3,'p_binary_expression','../pycparser/c_parser.py',1427),
('binary_expression -> binary_expression XOR binary_expression','binary_expression',3,'p_binary_expression','../pycparser/c_parser.py',1428),
('binary_expression -> binary_expression LAND binary_expression','binary_expression',3,'p_binary_expression','../pycparser/c_parser.py',1429),
('binary_expression -> binary_expression LOR binary_expression','binary_expression',3,'p_binary_expression','../pycparser/c_parser.py',1430),
('cast_expression -> unary_expression','cast_expression',1,'p_cast_expression_1','../pycparser/c_parser.py',1438),
('cast_expression -> LPAREN type_name RPAREN cast_expression','cast_expression',4,'p_cast_expression_2','../pycparser/c_parser.py',1442),
('unary_expression -> postfix_expression','unary_expression',1,'p_unary_expression_1','../pycparser/c_parser.py',1446),
('unary_expression -> PLUSPLUS unary_expression','unary_expression',2,'p_unary_expression_2','../pycparser/c_parser.py',1450),
('unary_expression -> MINUSMINUS unary_expression','unary_expression',2,'p_unary_expression_2','../pycparser/c_parser.py',1451),
('unary_expression -> unary_operator cast_expression','unary_expression',2,'p_unary_expression_2','../pycparser/c_parser.py',1452),
('unary_expression -> SIZEOF unary_expression','unary_expression',2,'p_unary_expression_3','../pycparser/c_parser.py',1457),
('unary_expression -> SIZEOF LPAREN type_name RPAREN','unary_expression',4,'p_unary_expression_3','../pycparser/c_parser.py',1458),
('unary_operator -> AND','unary_operator',1,'p_unary_operator','../pycparser/c_parser.py',1466),
('unary_operator -> TIMES','unary_operator',1,'p_unary_operator','../pycparser/c_parser.py',1467),
('unary_operator -> PLUS','unary_operator',1,'p_unary_operator','../pycparser/c_parser.py',1468),
('unary_operator -> MINUS','unary_operator',1,'p_unary_operator','../pycparser/c_parser.py',1469),
('unary_operator -> NOT','unary_operator',1,'p_unary_operator','../pycparser/c_parser.py',1470),
('unary_operator -> LNOT','unary_operator',1,'p_unary_operator','../pycparser/c_parser.py',1471),
('postfix_expression -> primary_expression','postfix_expression',1,'p_postfix_expression_1','../pycparser/c_parser.py',1476),
('postfix_expression -> postfix_expression LBRACKET expression RBRACKET','postfix_expression',4,'p_postfix_expression_2','../pycparser/c_parser.py',1480),
('postfix_expression -> postfix_expression LPAREN argument_expression_list RPAREN','postfix_expression',4,'p_postfix_expression_3','../pycparser/c_parser.py',1484),
('postfix_expression -> postfix_expression LPAREN RPAREN','postfix_expression',3,'p_postfix_expression_3','../pycparser/c_parser.py',1485),
('postfix_expression -> postfix_expression PERIOD ID','postfix_expression',3,'p_postfix_expression_4','../pycparser/c_parser.py',1490),
('postfix_expression -> postfix_expression PERIOD TYPEID','postfix_expression',3,'p_postfix_expression_4','../pycparser/c_parser.py',1491),
('postfix_expression -> postfix_expression ARROW ID','postfix_expression',3,'p_postfix_expression_4','../pycparser/c_parser.py',1492),
('postfix_expression -> postfix_expression ARROW TYPEID','postfix_expression',3,'p_postfix_expression_4','../pycparser/c_parser.py',1493),
('postfix_expression -> postfix_expression PLUSPLUS','postfix_expression',2,'p_postfix_expression_5','../pycparser/c_parser.py',1499),
('postfix_expression -> postfix_expression MINUSMINUS','postfix_expression',2,'p_postfix_expression_5','../pycparser/c_parser.py',1500),
('postfix_expression -> LPAREN type_name RPAREN brace_open initializer_list brace_close','postfix_expression',6,'p_postfix_expression_6','../pycparser/c_parser.py',1505),
('postfix_expression -> LPAREN type_name RPAREN brace_open initializer_list COMMA brace_close','postfix_expression',7,'p_postfix_expression_6','../pycparser/c_parser.py',1506),
('primary_expression -> identifier','primary_expression',1,'p_primary_expression_1','../pycparser/c_parser.py',1511),
('primary_expression -> constant','primary_expression',1,'p_primary_expression_2','../pycparser/c_parser.py',1515),
('primary_expression -> unified_string_literal','primary_expression',1,'p_primary_expression_3','../pycparser/c_parser.py',1519),
('primary_expression -> unified_wstring_literal','primary_expression',1,'p_primary_expression_3','../pycparser/c_parser.py',1520),
('primary_expression -> LPAREN expression RPAREN','primary_expression',3,'p_primary_expression_4','../pycparser/c_parser.py',1525),
('argument_expression_list -> assignment_expression','argument_expression_list',1,'p_argument_expression_list','../pycparser/c_parser.py',1529),
('argument_expression_list -> argument_expression_list COMMA assignment_expression','argument_expression_list',3,'p_argument_expression_list','../pycparser/c_parser.py',1530),
('identifier -> ID','identifier',1,'p_identifier','../pycparser/c_parser.py',1539),
('constant -> INT_CONST_DEC','constant',1,'p_constant_1','../pycparser/c_parser.py',1543),
('constant -> INT_CONST_OCT','constant',1,'p_constant_1','../pycparser/c_parser.py',1544),
('constant -> INT_CONST_HEX','constant',1,'p_constant_1','../pycparser/c_parser.py',1545),
('constant -> FLOAT_CONST','constant',1,'p_constant_2','../pycparser/c_parser.py',1551),
('constant -> HEX_FLOAT_CONST','constant',1,'p_constant_2','../pycparser/c_parser.py',1552),
('constant -> CHAR_CONST','constant',1,'p_constant_3','../pycparser/c_parser.py',1558),
('constant -> WCHAR_CONST','constant',1,'p_constant_3','../pycparser/c_parser.py',1559),
('unified_string_literal -> STRING_LITERAL','unified_string_literal',1,'p_unified_string_literal','../pycparser/c_parser.py',1570),
('unified_string_literal -> unified_string_literal STRING_LITERAL','unified_string_literal',2,'p_unified_string_literal','../pycparser/c_parser.py',1571),
('unified_wstring_literal -> WSTRING_LITERAL','unified_wstring_literal',1,'p_unified_wstring_literal','../pycparser/c_parser.py',1581),
('unified_wstring_literal -> unified_wstring_literal WSTRING_LITERAL','unified_wstring_literal',2,'p_unified_wstring_literal','../pycparser/c_parser.py',1582),
('brace_open -> LBRACE','brace_open',1,'p_brace_open','../pycparser/c_parser.py',1592),
('brace_close -> RBRACE','brace_close',1,'p_brace_close','../pycparser/c_parser.py',1597),
('empty -> <empty>','empty',0,'p_empty','../pycparser/c_parser.py',1602),
]