#include "errmsg.h" char *error_message[][3] = { { "specification @1", "", "\n" }, { "id declarations declaration phylumdeclaration includedeclaration rwdeclaration outmostpatterns outmostpattern unparsedeclaration uviewdeclaration rviewdeclaration storageclassdeclaration ac_function_definition ac_declaration_specifiers ac_storage_class_specifier ac_type_specifier ac_type_qualifier", "T_ID T_INCLUDESTART T_STATIC T_DEFAULT T_PERCENTRVIEW T_PERCENTUVIEW T_PERCENTSTORAGECLASS T_AUTO T_REGISTER T_EXTERN T_TYPEDEF T_CONST T_VOLATILE '*'", "\n\tspecification -> @1 . declarations" }, { "", "", "\n\tid -> T_ID ." }, { "includefiles_option includefiles", "T_ID", "\n\tincludedeclaration -> T_INCLUDESTART . includefiles_option @26 includes T_INCLUDEEND" }, { "", "", "\n\tac_storage_class_specifier -> T_STATIC ." }, { "", "", "\n\toutmostpattern -> T_DEFAULT ." }, { "id defrviewnames", "T_ID", "\n\trviewdeclaration -> T_PERCENTRVIEW . defrviewnames ';'" }, { "id defuviewnames", "T_ID", "\n\tuviewdeclaration -> T_PERCENTUVIEW . defuviewnames ';'" }, { "id defstorageclasses", "T_ID", "\n\tstorageclassdeclaration -> T_PERCENTSTORAGECLASS . defstorageclasses ';'" }, { "", "", "\n\tac_storage_class_specifier -> T_AUTO ." }, { "", "", "\n\tac_storage_class_specifier -> T_REGISTER ." }, { "", "", "\n\tac_storage_class_specifier -> T_EXTERN ." }, { "", "", "\n\tac_storage_class_specifier -> T_TYPEDEF ." }, { "", "", "\n\tac_type_qualifier -> T_CONST ." }, { "", "", "\n\tac_type_qualifier -> T_VOLATILE ." }, { "", "", "\n\toutmostpattern -> '*' ." }, { "storageoption", "'{' '(' '='", "\n\tphylumdeclaration -> id . storageoption ':' @2 productionblock Ccode_option ';'\n\toutmostpattern -> id .\n\toutmostpattern -> id . '(' patternsoption ')'\n\toutmostpattern -> id . '=' outmostpattern\n\tac_type_specifier -> id ." }, { "id declaration phylumdeclaration includedeclaration rwdeclaration outmostpatterns outmostpattern unparsedeclaration uviewdeclaration rviewdeclaration storageclassdeclaration ac_function_definition ac_declaration_specifiers ac_storage_class_specifier ac_type_specifier ac_type_qualifier", "T_ID T_INCLUDESTART T_STATIC T_DEFAULT T_PERCENTRVIEW T_PERCENTUVIEW T_PERCENTSTORAGECLASS T_AUTO T_REGISTER T_EXTERN T_TYPEDEF T_CONST T_VOLATILE '*'", "\n\tspecification -> @1 declarations .\n\tdeclarations -> declarations . declaration" }, { "", "", "\n\tdeclarations -> declaration ." }, { "", "", "\n\tdeclaration -> phylumdeclaration ." }, { "", "", "\n\tdeclaration -> includedeclaration ." }, { "", "", "\n\tdeclaration -> rwdeclaration ." }, { "", "T_ARROW ','", "\n\trwdeclaration -> outmostpatterns . T_ARROW @27 rwclauses_or_term ';'\n\toutmostpatterns -> outmostpatterns . ',' outmostpattern\n\tunparsedeclaration -> outmostpatterns . T_ARROW @31 unparseclauses ';'" }, { "", "", "\n\toutmostpatterns -> outmostpattern ." }, { "", "", "\n\tdeclaration -> unparsedeclaration ." }, { "", "", "\n\tdeclaration -> uviewdeclaration ." }, { "", "", "\n\tdeclaration -> rviewdeclaration ." }, { "", "", "\n\tdeclaration -> storageclassdeclaration ." }, { "", "", "\n\tdeclaration -> ac_function_definition ." }, { "id ac_fn_declarator ac_direct_fn_declarator ac_pointer ac_identifier", "T_ID '$' '*'", "\n\tac_function_definition -> ac_declaration_specifiers . ac_fn_declarator ac_declaration_list_option ac_compound_statement" }, { "id ac_type_specifier ac_type_qualifier", "T_ID T_CONST T_VOLATILE", "\n\tac_declaration_specifiers -> ac_storage_class_specifier . ac_type_specifier\n\tac_declaration_specifiers -> ac_storage_class_specifier . ac_type_qualifier ac_type_specifier" }, { "", "", "\n\tac_declaration_specifiers -> ac_type_specifier ." }, { "id ac_type_specifier", "T_ID", "\n\tac_declaration_specifiers -> ac_type_qualifier . ac_type_specifier" }, { "", "", "\n\tincludefiles -> T_ID ." }, { "@26", "", "\n\tincludedeclaration -> T_INCLUDESTART includefiles_option . @26 includes T_INCLUDEEND" }, { "", "T_ID", "\n\tincludefiles_option -> includefiles .\n\tincludefiles -> includefiles . T_ID" }, { "", "", "\n\tdefrviewnames -> id ." }, { "id", "T_ID ';' ','", "\n\trviewdeclaration -> T_PERCENTRVIEW defrviewnames . ';'\n\tdefrviewnames -> defrviewnames . id\n\tdefrviewnames -> defrviewnames . ',' id" }, { "", "", "\n\tdefuviewnames -> id ." }, { "id", "T_ID ';' ','", "\n\tuviewdeclaration -> T_PERCENTUVIEW defuviewnames . ';'\n\tdefuviewnames -> defuviewnames . id\n\tdefuviewnames -> defuviewnames . ',' id" }, { "", "", "\n\tdefstorageclasses -> id ." }, { "id", "T_ID ';' ','", "\n\tstorageclassdeclaration -> T_PERCENTSTORAGECLASS defstorageclasses . ';'\n\tdefstorageclasses -> defstorageclasses . id\n\tdefstorageclasses -> defstorageclasses . ',' id" }, { "id", "T_ID '!'", "\n\tstorageoption -> '{' . id '}'\n\tstorageoption -> '{' . '!' id '}'" }, { "id int pattern patternsoption patterns", "T_ID T_INT T_DEFAULT '\"' '*'", "\n\toutmostpattern -> id '(' . patternsoption ')'" }, { "id outmostpattern", "T_ID T_DEFAULT '*'", "\n\toutmostpattern -> id '=' . outmostpattern" }, { "", "':'", "\n\tphylumdeclaration -> id storageoption . ':' @2 productionblock Ccode_option ';'" }, { "", "", "\n\tdeclarations -> declarations declaration ." }, { "@27 @31", "", "\n\trwdeclaration -> outmostpatterns T_ARROW . @27 rwclauses_or_term ';'\n\tunparsedeclaration -> outmostpatterns T_ARROW . @31 unparseclauses ';'" }, { "id outmostpattern", "T_ID T_DEFAULT '*'", "\n\toutmostpatterns -> outmostpatterns ',' . outmostpattern" }, { "id", "T_ID", "\n\tac_identifier -> '$' . id" }, { "ac_type_qualifier ac_pointer ac_type_qualifier_list", "T_CONST T_VOLATILE '*'", "\n\tac_pointer -> '*' .\n\tac_pointer -> '*' . ac_type_qualifier_list\n\tac_pointer -> '*' . ac_pointer\n\tac_pointer -> '*' . ac_type_qualifier_list ac_pointer" }, { "", "", "\n\tac_identifier -> id ." }, { "id ac_declaration ac_declaration_list_option ac_declaration_list ac_declaration_specifiers ac_storage_class_specifier ac_type_specifier ac_type_qualifier", "T_ID T_STATIC T_AUTO T_REGISTER T_EXTERN T_TYPEDEF T_CONST T_VOLATILE", "\n\tac_function_definition -> ac_declaration_specifiers ac_fn_declarator . ac_declaration_list_option ac_compound_statement" }, { "", "", "\n\tac_fn_declarator -> ac_direct_fn_declarator ." }, { "id ac_direct_fn_declarator ac_identifier", "T_ID '$'", "\n\tac_fn_declarator -> ac_pointer . ac_direct_fn_declarator" }, { "", "'('", "\n\tac_direct_fn_declarator -> ac_identifier . '(' ac_parameter_type_list ')'\n\tac_direct_fn_declarator -> ac_identifier . '(' ')'\n\tac_direct_fn_declarator -> ac_identifier . '(' ac_identifier_list ')'" }, { "", "", "\n\tac_type_specifier -> id ." }, { "", "", "\n\tac_declaration_specifiers -> ac_storage_class_specifier ac_type_specifier ." }, { "id ac_type_specifier", "T_ID", "\n\tac_declaration_specifiers -> ac_storage_class_specifier ac_type_qualifier . ac_type_specifier" }, { "", "", "\n\tac_declaration_specifiers -> ac_type_qualifier ac_type_specifier ." }, { "includes", "", "\n\tincludedeclaration -> T_INCLUDESTART includefiles_option @26 . includes T_INCLUDEEND" }, { "", "", "\n\tincludefiles -> includefiles T_ID ." }, { "", "", "\n\trviewdeclaration -> T_PERCENTRVIEW defrviewnames ';' ." }, { "id", "T_ID", "\n\tdefrviewnames -> defrviewnames ',' . id" }, { "", "", "\n\tdefrviewnames -> defrviewnames id ." }, { "", "", "\n\tuviewdeclaration -> T_PERCENTUVIEW defuviewnames ';' ." }, { "id", "T_ID", "\n\tdefuviewnames -> defuviewnames ',' . id" }, { "", "", "\n\tdefuviewnames -> defuviewnames id ." }, { "", "", "\n\tstorageclassdeclaration -> T_PERCENTSTORAGECLASS defstorageclasses ';' ." }, { "id", "T_ID", "\n\tdefstorageclasses -> defstorageclasses ',' . id" }, { "", "", "\n\tdefstorageclasses -> defstorageclasses id ." }, { "id", "T_ID", "\n\tstorageoption -> '{' '!' . id '}'" }, { "", "'}'", "\n\tstorageoption -> '{' id . '}'" }, { "", "", "\n\tint -> T_INT ." }, { "", "", "\n\tpattern -> T_DEFAULT ." }, { "@29", "", "\n\tpattern -> '\"' . @29 CexpressionDQ '\"'" }, { "", "", "\n\tpattern -> '*' ." }, { "", "'(' '='", "\n\tpattern -> id .\n\tpattern -> id . '(' patternsoption ')'\n\tpattern -> id . '=' pattern" }, { "", "", "\n\tpattern -> int ." }, { "", "", "\n\tpatterns -> pattern ." }, { "", "')'", "\n\toutmostpattern -> id '(' patternsoption . ')'" }, { "", "','", "\n\tpatternsoption -> patterns .\n\tpatterns -> patterns . ',' pattern" }, { "", "'(' '='", "\n\toutmostpattern -> id .\n\toutmostpattern -> id . '(' patternsoption ')'\n\toutmostpattern -> id . '=' outmostpattern" }, { "", "", "\n\toutmostpattern -> id '=' outmostpattern ." }, { "@2", "", "\n\tphylumdeclaration -> id storageoption ':' . @2 productionblock Ccode_option ';'" }, { "id int rwclauses_or_term rwclauses rwclause term", "T_ID T_INT '\"' '<'", "\n\trwdeclaration -> outmostpatterns T_ARROW @27 . rwclauses_or_term ';'" }, { "unparseclauses unparseclause", "'['", "\n\tunparsedeclaration -> outmostpatterns T_ARROW @31 . unparseclauses ';'" }, { "", "", "\n\toutmostpatterns -> outmostpatterns ',' outmostpattern ." }, { "", "", "\n\tac_identifier -> '$' id ." }, { "", "", "\n\tac_type_qualifier_list -> ac_type_qualifier ." }, { "", "", "\n\tac_pointer -> '*' ac_pointer ." }, { "ac_type_qualifier ac_pointer", "T_CONST T_VOLATILE '*'", "\n\tac_pointer -> '*' ac_type_qualifier_list .\n\tac_pointer -> '*' ac_type_qualifier_list . ac_pointer\n\tac_type_qualifier_list -> ac_type_qualifier_list . ac_type_qualifier" }, { "", "", "\n\tac_declaration_list -> ac_declaration ." }, { "MainCbody ac_compound_statement", "'{'", "\n\tac_function_definition -> ac_declaration_specifiers ac_fn_declarator ac_declaration_list_option . ac_compound_statement" }, { "id ac_declaration ac_declaration_specifiers ac_storage_class_specifier ac_type_specifier ac_type_qualifier", "T_ID T_STATIC T_AUTO T_REGISTER T_EXTERN T_TYPEDEF T_CONST T_VOLATILE", "\n\tac_declaration_list_option -> ac_declaration_list .\n\tac_declaration_list -> ac_declaration_list . ac_declaration" }, { "id ac_init_declarator_list_option ac_init_declarator_list ac_init_declarator ac_declarator ac_direct_declarator ac_pointer ac_identifier", "T_ID '(' '$' '*'", "\n\tac_declaration -> ac_declaration_specifiers . ac_init_declarator_list_option ';'" }, { "", "", "\n\tac_fn_declarator -> ac_pointer ac_direct_fn_declarator ." }, { "id ac_declaration_specifiers ac_storage_class_specifier ac_type_specifier ac_type_qualifier ac_parameter_type_list ac_parameter_list ac_parameter_declaration ac_identifier_list ac_identifier", "T_ID T_STATIC T_AUTO T_REGISTER T_EXTERN T_TYPEDEF T_CONST T_VOLATILE ')' '$'", "\n\tac_direct_fn_declarator -> ac_identifier '(' . ac_parameter_type_list ')'\n\tac_direct_fn_declarator -> ac_identifier '(' . ')'\n\tac_direct_fn_declarator -> ac_identifier '(' . ac_identifier_list ')'" }, { "", "", "\n\tac_declaration_specifiers -> ac_storage_class_specifier ac_type_qualifier ac_type_specifier ." }, { "include", "T_INCLUDE T_INCLUDEEND '\n'", "\n\tincludedeclaration -> T_INCLUDESTART includefiles_option @26 includes . T_INCLUDEEND\n\tincludes -> includes . include" }, { "", "", "\n\tdefrviewnames -> defrviewnames ',' id ." }, { "", "", "\n\tdefuviewnames -> defuviewnames ',' id ." }, { "", "", "\n\tdefstorageclasses -> defstorageclasses ',' id ." }, { "", "'}'", "\n\tstorageoption -> '{' '!' id . '}'" }, { "", "", "\n\tstorageoption -> '{' id '}' ." }, { "CexpressionDQ", "", "\n\tpattern -> '\"' @29 . CexpressionDQ '\"'" }, { "id int pattern patternsoption patterns", "T_ID T_INT T_DEFAULT '\"' '*'", "\n\tpattern -> id '(' . patternsoption ')'" }, { "id int pattern", "T_ID T_INT T_DEFAULT '\"' '*'", "\n\tpattern -> id '=' . pattern" }, { "", "", "\n\toutmostpattern -> id '(' patternsoption ')' ." }, { "id int pattern", "T_ID T_INT T_DEFAULT '\"' '*'", "\n\tpatterns -> patterns ',' . pattern" }, { "id productionblock alternatives alternative", "T_ID T_LIST", "\n\tphylumdeclaration -> id storageoption ':' @2 . productionblock Ccode_option ';'" }, { "@30", "", "\n\tterm -> '\"' . @30 CexpressionDQ '\"'" }, { "useviewnames", "", "\n\trwclause -> '<' . useviewnames ':' term '>'" }, { "", "'('", "\n\tterm -> id .\n\tterm -> id . '(' termsoption ')'" }, { "", "", "\n\tterm -> int ." }, { "", "';'", "\n\trwdeclaration -> outmostpatterns T_ARROW @27 rwclauses_or_term . ';'" }, { "rwclause", "'<'", "\n\trwclauses_or_term -> rwclauses .\n\trwclauses -> rwclauses . rwclause" }, { "", "", "\n\trwclauses -> rwclause ." }, { "", "", "\n\trwclauses_or_term -> term ." }, { "useviewnames", "", "\n\tunparseclause -> '[' . useviewnames ':' unparseitems ']'" }, { "unparseclause", "';' '['", "\n\tunparsedeclaration -> outmostpatterns T_ARROW @31 unparseclauses . ';'\n\tunparseclauses -> unparseclauses . unparseclause" }, { "", "", "\n\tunparseclauses -> unparseclause ." }, { "", "", "\n\tac_type_qualifier_list -> ac_type_qualifier_list ac_type_qualifier ." }, { "", "", "\n\tac_pointer -> '*' ac_type_qualifier_list ac_pointer ." }, { "@9", "", "\n\tMainCbody -> '{' . @9 MainCBodycontinuation @10 '}'" }, { "", "", "\n\tac_compound_statement -> MainCbody ." }, { "", "", "\n\tac_function_definition -> ac_declaration_specifiers ac_fn_declarator ac_declaration_list_option ac_compound_statement ." }, { "", "", "\n\tac_declaration_list -> ac_declaration_list ac_declaration ." }, { "ac_pointer_declarator ac_pointer", "'*'", "\n\tac_direct_declarator -> '(' . ac_pointer_declarator ')'" }, { "", "';'", "\n\tac_declaration -> ac_declaration_specifiers ac_init_declarator_list_option . ';'" }, { "", "','", "\n\tac_init_declarator_list_option -> ac_init_declarator_list .\n\tac_init_declarator_list -> ac_init_declarator_list . ',' ac_init_declarator" }, { "", "", "\n\tac_init_declarator_list -> ac_init_declarator ." }, { "", "", "\n\tac_init_declarator -> ac_declarator ." }, { "", "'(' '['", "\n\tac_declarator -> ac_direct_declarator .\n\tac_direct_declarator -> ac_direct_declarator . '[' ac_constant_expression_option ']'\n\tac_direct_declarator -> ac_direct_declarator . '(' ac_parameter_type_list ')'\n\tac_direct_declarator -> ac_direct_declarator . '(' ')'\n\tac_direct_declarator -> ac_direct_declarator . '(' ac_identifier_list ')'" }, { "id ac_direct_declarator ac_identifier", "T_ID '(' '$'", "\n\tac_declarator -> ac_pointer . ac_direct_declarator" }, { "", "", "\n\tac_direct_declarator -> ac_identifier ." }, { "", "", "\n\tac_direct_fn_declarator -> ac_identifier '(' ')' ." }, { "", "", "\n\tac_type_specifier -> id .\n\tac_identifier -> id ." }, { "id ac_declarator ac_direct_declarator ac_pointer ac_abstract_declarator ac_direct_abstract_declarator ac_identifier", "T_ID '(' '[' '$' '*'", "\n\tac_parameter_declaration -> ac_declaration_specifiers . ac_declarator\n\tac_parameter_declaration -> ac_declaration_specifiers . ac_abstract_declarator" }, { "", "')'", "\n\tac_direct_fn_declarator -> ac_identifier '(' ac_parameter_type_list . ')'" }, { "", "','", "\n\tac_parameter_type_list -> ac_parameter_list .\n\tac_parameter_type_list -> ac_parameter_list . ',' T_DOTDOTDOT\n\tac_parameter_list -> ac_parameter_list . ',' ac_parameter_declaration" }, { "", "", "\n\tac_parameter_list -> ac_parameter_declaration ." }, { "", "')' ','", "\n\tac_direct_fn_declarator -> ac_identifier '(' ac_identifier_list . ')'\n\tac_identifier_list -> ac_identifier_list . ',' ac_identifier" }, { "", "", "\n\tac_identifier_list -> ac_identifier ." }, { "", "", "\n\tinclude -> T_INCLUDE ." }, { "", "", "\n\tincludedeclaration -> T_INCLUDESTART includefiles_option @26 includes T_INCLUDEEND ." }, { "", "", "\n\tinclude -> '\n' ." }, { "", "", "\n\tincludes -> includes include ." }, { "", "", "\n\tstorageoption -> '{' '!' id '}' ." }, { "CexpressionDQ_elem", "T_CEXPRESSION '\n' '\"'", "\n\tCexpressionDQ -> CexpressionDQ . CexpressionDQ_elem\n\tpattern -> '\"' @29 CexpressionDQ . '\"'" }, { "", "')'", "\n\tpattern -> id '(' patternsoption . ')'" }, { "", "", "\n\tpattern -> id '=' pattern ." }, { "", "", "\n\tpatterns -> patterns ',' pattern ." }, { "id", "T_ID", "\n\tproductionblock -> T_LIST . id" }, { "", "'('", "\n\talternative -> id . '(' @3 arguments @4 ')'" }, { "Ccode_option", "'{'", "\n\tphylumdeclaration -> id storageoption ':' @2 productionblock . Ccode_option ';'" }, { "", "'|'", "\n\tproductionblock -> alternatives .\n\talternatives -> alternatives . '|' alternative" }, { "", "", "\n\talternatives -> alternative ." }, { "CexpressionDQ", "", "\n\tterm -> '\"' @30 . CexpressionDQ '\"'" }, { "id", "T_ID ':'", "\n\trwclause -> '<' useviewnames . ':' term '>'\n\tuseviewnames -> useviewnames . id" }, { "id int term termsoption terms", "T_ID T_INT '\"'", "\n\tterm -> id '(' . termsoption ')'" }, { "", "", "\n\trwdeclaration -> outmostpatterns T_ARROW @27 rwclauses_or_term ';' ." }, { "", "", "\n\trwclauses -> rwclauses rwclause ." }, { "id", "T_ID ':'", "\n\tunparseclause -> '[' useviewnames . ':' unparseitems ']'\n\tuseviewnames -> useviewnames . id" }, { "", "", "\n\tunparsedeclaration -> outmostpatterns T_ARROW @31 unparseclauses ';' ." }, { "", "", "\n\tunparseclauses -> unparseclauses unparseclause ." }, { "MainCBodycontinuation Ctext patternchains patternchain patternchainitem_lineinfo @28 withcases withcase", "", "\n\tMainCbody -> '{' @9 . MainCBodycontinuation @10 '}'" }, { "", "')'", "\n\tac_direct_declarator -> '(' ac_pointer_declarator . ')'" }, { "id ac_direct_declarator ac_identifier", "T_ID '(' '$'", "\n\tac_pointer_declarator -> ac_pointer . ac_direct_declarator" }, { "", "", "\n\tac_declaration -> ac_declaration_specifiers ac_init_declarator_list_option ';' ." }, { "id ac_init_declarator ac_declarator ac_direct_declarator ac_pointer ac_identifier", "T_ID '(' '$' '*'", "\n\tac_init_declarator_list -> ac_init_declarator_list ',' . ac_init_declarator" }, { "id ac_declaration_specifiers ac_storage_class_specifier ac_type_specifier ac_type_qualifier ac_parameter_type_list ac_parameter_list ac_parameter_declaration ac_identifier_list ac_identifier", "T_ID T_STATIC T_AUTO T_REGISTER T_EXTERN T_TYPEDEF T_CONST T_VOLATILE ')' '$'", "\n\tac_direct_declarator -> ac_direct_declarator '(' . ac_parameter_type_list ')'\n\tac_direct_declarator -> ac_direct_declarator '(' . ')'\n\tac_direct_declarator -> ac_direct_declarator '(' . ac_identifier_list ')'" }, { "ac_constant_expression_option ac_constant_expression @34", "", "\n\tac_direct_declarator -> ac_direct_declarator '[' . ac_constant_expression_option ']'" }, { "", "'(' '['", "\n\tac_declarator -> ac_pointer ac_direct_declarator .\n\tac_direct_declarator -> ac_direct_declarator . '[' ac_constant_expression_option ']'\n\tac_direct_declarator -> ac_direct_declarator . '(' ac_parameter_type_list ')'\n\tac_direct_declarator -> ac_direct_declarator . '(' ')'\n\tac_direct_declarator -> ac_direct_declarator . '(' ac_identifier_list ')'" }, { "id ac_declaration_specifiers ac_storage_class_specifier ac_type_specifier ac_type_qualifier ac_pointer_declarator ac_pointer ac_parameter_type_list ac_parameter_list ac_parameter_declaration ac_abstract_declarator ac_direct_abstract_declarator", "T_ID T_STATIC T_AUTO T_REGISTER T_EXTERN T_TYPEDEF T_CONST T_VOLATILE '(' ')' '[' '*'", "\n\tac_direct_declarator -> '(' . ac_pointer_declarator ')'\n\tac_direct_abstract_declarator -> '(' . ac_abstract_declarator ')'\n\tac_direct_abstract_declarator -> '(' . ')'\n\tac_direct_abstract_declarator -> '(' . ac_parameter_type_list ')'" }, { "ac_constant_expression_option ac_constant_expression @34", "", "\n\tac_direct_abstract_declarator -> '[' . ac_constant_expression_option ']'" }, { "", "", "\n\tac_parameter_declaration -> ac_declaration_specifiers ac_declarator ." }, { "id ac_direct_declarator ac_direct_abstract_declarator ac_identifier", "T_ID '(' '[' '$'", "\n\tac_declarator -> ac_pointer . ac_direct_declarator\n\tac_abstract_declarator -> ac_pointer .\n\tac_abstract_declarator -> ac_pointer . ac_direct_abstract_declarator" }, { "", "", "\n\tac_parameter_declaration -> ac_declaration_specifiers ac_abstract_declarator ." }, { "", "'(' '['", "\n\tac_abstract_declarator -> ac_direct_abstract_declarator .\n\tac_direct_abstract_declarator -> ac_direct_abstract_declarator . '[' ac_constant_expression_option ']'\n\tac_direct_abstract_declarator -> ac_direct_abstract_declarator . '(' ')'\n\tac_direct_abstract_declarator -> ac_direct_abstract_declarator . '(' ac_parameter_type_list ')'" }, { "", "", "\n\tac_direct_fn_declarator -> ac_identifier '(' ac_parameter_type_list ')' ." }, { "id ac_declaration_specifiers ac_storage_class_specifier ac_type_specifier ac_type_qualifier ac_parameter_declaration", "T_ID T_STATIC T_AUTO T_REGISTER T_EXTERN T_TYPEDEF T_CONST T_VOLATILE T_DOTDOTDOT", "\n\tac_parameter_type_list -> ac_parameter_list ',' . T_DOTDOTDOT\n\tac_parameter_list -> ac_parameter_list ',' . ac_parameter_declaration" }, { "", "", "\n\tac_direct_fn_declarator -> ac_identifier '(' ac_identifier_list ')' ." }, { "id ac_identifier", "T_ID '$'", "\n\tac_identifier_list -> ac_identifier_list ',' . ac_identifier" }, { "", "", "\n\tCexpressionDQ_elem -> T_CEXPRESSION ." }, { "", "", "\n\tCexpressionDQ_elem -> '\n' ." }, { "", "", "\n\tpattern -> '\"' @29 CexpressionDQ '\"' ." }, { "", "", "\n\tCexpressionDQ -> CexpressionDQ CexpressionDQ_elem ." }, { "", "", "\n\tpattern -> id '(' patternsoption ')' ." }, { "", "", "\n\tproductionblock -> T_LIST id ." }, { "@3", "", "\n\talternative -> id '(' . @3 arguments @4 ')'" }, { "attributes_option", "", "\n\tCcode_option -> '{' . attributes_option init_option '}'" }, { "", "';'", "\n\tphylumdeclaration -> id storageoption ':' @2 productionblock Ccode_option . ';'" }, { "id alternative", "T_ID", "\n\talternatives -> alternatives '|' . alternative" }, { "CexpressionDQ_elem", "T_CEXPRESSION '\n' '\"'", "\n\tCexpressionDQ -> CexpressionDQ . CexpressionDQ_elem\n\tterm -> '\"' @30 CexpressionDQ . '\"'" }, { "id int term", "T_ID T_INT '\"'", "\n\trwclause -> '<' useviewnames ':' . term '>'" }, { "", "", "\n\tuseviewnames -> useviewnames id ." }, { "", "", "\n\tterms -> term ." }, { "", "')'", "\n\tterm -> id '(' termsoption . ')'" }, { "", "','", "\n\ttermsoption -> terms .\n\tterms -> terms . ',' term" }, { "unparseitems", "", "\n\tunparseclause -> '[' useviewnames ':' . unparseitems ']'" }, { "@10", "", "\n\tMainCbody -> '{' @9 MainCBodycontinuation . @10 '}'" }, { "@15", "", "\n\tMainCBodycontinuation -> Ctext .\n\tCtext -> Ctext . @15 Ctext_elem" }, { "", "':' ','", "\n\tpatternchains -> patternchains . ',' patternchain\n\twithcase -> patternchains . ':' Cbody" }, { "", "'&'", "\n\tpatternchains -> patternchain .\n\tpatternchain -> patternchain . '&' patternchainitem_lineinfo" }, { "", "", "\n\tpatternchain -> patternchainitem_lineinfo ." }, { "id patternchainitem outmostpattern", "T_ID T_DEFAULT '(' '$' '*'", "\n\tpatternchainitem_lineinfo -> @28 . patternchainitem" }, { "patternchains patternchain patternchainitem_lineinfo @28 withcase", "", "\n\tMainCBodycontinuation -> withcases .\n\twithcases -> withcases . withcase" }, { "", "", "\n\twithcases -> withcase ." }, { "", "", "\n\tac_direct_declarator -> '(' ac_pointer_declarator ')' ." }, { "", "'(' '['", "\n\tac_pointer_declarator -> ac_pointer ac_direct_declarator .\n\tac_direct_declarator -> ac_direct_declarator . '[' ac_constant_expression_option ']'\n\tac_direct_declarator -> ac_direct_declarator . '(' ac_parameter_type_list ')'\n\tac_direct_declarator -> ac_direct_declarator . '(' ')'\n\tac_direct_declarator -> ac_direct_declarator . '(' ac_identifier_list ')'" }, { "", "", "\n\tac_init_declarator_list -> ac_init_declarator_list ',' ac_init_declarator ." }, { "", "", "\n\tac_direct_declarator -> ac_direct_declarator '(' ')' ." }, { "", "')'", "\n\tac_direct_declarator -> ac_direct_declarator '(' ac_parameter_type_list . ')'" }, { "", "')' ','", "\n\tac_direct_declarator -> ac_direct_declarator '(' ac_identifier_list . ')'\n\tac_identifier_list -> ac_identifier_list . ',' ac_identifier" }, { "", "']'", "\n\tac_direct_declarator -> ac_direct_declarator '[' ac_constant_expression_option . ']'" }, { "", "", "\n\tac_constant_expression_option -> ac_constant_expression ." }, { "Cexpression", "", "\n\tac_constant_expression -> @34 . Cexpression" }, { "id ac_declaration_specifiers ac_storage_class_specifier ac_type_specifier ac_type_qualifier ac_pointer ac_parameter_type_list ac_parameter_list ac_parameter_declaration ac_abstract_declarator ac_direct_abstract_declarator", "T_ID T_STATIC T_AUTO T_REGISTER T_EXTERN T_TYPEDEF T_CONST T_VOLATILE '(' ')' '[' '*'", "\n\tac_direct_abstract_declarator -> '(' . ac_abstract_declarator ')'\n\tac_direct_abstract_declarator -> '(' . ')'\n\tac_direct_abstract_declarator -> '(' . ac_parameter_type_list ')'" }, { "", "", "\n\tac_direct_abstract_declarator -> '(' ')' ." }, { "id ac_direct_declarator ac_direct_abstract_declarator ac_identifier", "T_ID '(' '[' '$'", "\n\tac_pointer_declarator -> ac_pointer . ac_direct_declarator\n\tac_abstract_declarator -> ac_pointer .\n\tac_abstract_declarator -> ac_pointer . ac_direct_abstract_declarator" }, { "", "')'", "\n\tac_direct_abstract_declarator -> '(' ac_parameter_type_list . ')'" }, { "", "')'", "\n\tac_direct_abstract_declarator -> '(' ac_abstract_declarator . ')'" }, { "", "']'", "\n\tac_direct_abstract_declarator -> '[' ac_constant_expression_option . ']'" }, { "", "'(' '['", "\n\tac_abstract_declarator -> ac_pointer ac_direct_abstract_declarator .\n\tac_direct_abstract_declarator -> ac_direct_abstract_declarator . '[' ac_constant_expression_option ']'\n\tac_direct_abstract_declarator -> ac_direct_abstract_declarator . '(' ')'\n\tac_direct_abstract_declarator -> ac_direct_abstract_declarator . '(' ac_parameter_type_list ')'" }, { "id ac_declaration_specifiers ac_storage_class_specifier ac_type_specifier ac_type_qualifier ac_parameter_type_list ac_parameter_list ac_parameter_declaration", "T_ID T_STATIC T_AUTO T_REGISTER T_EXTERN T_TYPEDEF T_CONST T_VOLATILE ')'", "\n\tac_direct_abstract_declarator -> ac_direct_abstract_declarator '(' . ')'\n\tac_direct_abstract_declarator -> ac_direct_abstract_declarator '(' . ac_parameter_type_list ')'" }, { "ac_constant_expression_option ac_constant_expression @34", "", "\n\tac_direct_abstract_declarator -> ac_direct_abstract_declarator '[' . ac_constant_expression_option ']'" }, { "", "", "\n\tac_parameter_type_list -> ac_parameter_list ',' T_DOTDOTDOT ." }, { "", "", "\n\tac_parameter_list -> ac_parameter_list ',' ac_parameter_declaration ." }, { "", "", "\n\tac_identifier_list -> ac_identifier_list ',' ac_identifier ." }, { "arguments", "", "\n\talternative -> id '(' @3 . arguments @4 ')'" }, { "id attribute Cbody init_option", "T_ID '{'", "\n\tCcode_option -> '{' attributes_option . init_option '}'\n\tattributes_option -> attributes_option . attribute" }, { "", "", "\n\tphylumdeclaration -> id storageoption ':' @2 productionblock Ccode_option ';' ." }, { "", "", "\n\talternatives -> alternatives '|' alternative ." }, { "", "", "\n\tterm -> '\"' @30 CexpressionDQ '\"' ." }, { "", "'>'", "\n\trwclause -> '<' useviewnames ':' term . '>'" }, { "", "", "\n\tterm -> id '(' termsoption ')' ." }, { "id int term", "T_ID T_INT '\"'", "\n\tterms -> terms ',' . term" }, { "dollarvar id Cbody unparseitem unpsubterm", "T_ID T_DOLLARVAR T_UNPBLOCKSTART '{' '(' '\"' ']'", "\n\tunparseclause -> '[' useviewnames ':' unparseitems . ']'\n\tunparseitems -> unparseitems . unparseitem" }, { "", "'}'", "\n\tMainCbody -> '{' @9 MainCBodycontinuation @10 . '}'" }, { "dollarvar Cbody Ctext_elem", "T_CNEWLINES T_CLINE T_DOLLARVAR T_WITH T_FOREACH '{' '\n' '\"' '''", "\n\tCtext -> Ctext @15 . Ctext_elem" }, { "Cbody", "'{'", "\n\twithcase -> patternchains ':' . Cbody" }, { "patternchain patternchainitem_lineinfo @28", "", "\n\tpatternchains -> patternchains ',' . patternchain" }, { "patternchainitem_lineinfo @28", "", "\n\tpatternchain -> patternchain '&' . patternchainitem_lineinfo" }, { "patternchains patternchain patternchainitem_lineinfo @28", "", "\n\tpatternchainitem -> '(' . patternchains ')'" }, { "id", "T_ID", "\n\tpatternchainitem -> '$' . id" }, { "", "", "\n\tpatternchainitem_lineinfo -> @28 patternchainitem ." }, { "", "", "\n\tpatternchainitem -> outmostpattern ." }, { "", "", "\n\twithcases -> withcases withcase ." }, { "", "", "\n\tac_direct_declarator -> ac_direct_declarator '(' ac_parameter_type_list ')' ." }, { "", "", "\n\tac_direct_declarator -> ac_direct_declarator '(' ac_identifier_list ')' ." }, { "", "", "\n\tac_direct_declarator -> ac_direct_declarator '[' ac_constant_expression_option ']' ." }, { "dollarvar Cexpression_elem", "T_CNEWLINES T_CEXPRESSION T_DOLLARVAR '(' '\n' '\"' ''' '['", "\n\tCexpression -> Cexpression . Cexpression_elem\n\tac_constant_expression -> @34 Cexpression ." }, { "ac_direct_abstract_declarator", "'(' '['", "\n\tac_abstract_declarator -> ac_pointer .\n\tac_abstract_declarator -> ac_pointer . ac_direct_abstract_declarator" }, { "", "", "\n\tac_direct_abstract_declarator -> '(' ac_parameter_type_list ')' ." }, { "", "", "\n\tac_direct_abstract_declarator -> '(' ac_abstract_declarator ')' ." }, { "", "", "\n\tac_direct_abstract_declarator -> '[' ac_constant_expression_option ']' ." }, { "", "", "\n\tac_direct_abstract_declarator -> ac_direct_abstract_declarator '(' ')' ." }, { "", "')'", "\n\tac_direct_abstract_declarator -> ac_direct_abstract_declarator '(' ac_parameter_type_list . ')'" }, { "", "']'", "\n\tac_direct_abstract_declarator -> ac_direct_abstract_declarator '[' ac_constant_expression_option . ']'" }, { "id @4", "T_ID", "\n\talternative -> id '(' @3 arguments . @4 ')'\n\targuments -> arguments . id" }, { "@13", "", "\n\tCbody -> '{' . @13 Ctext @14 '}'" }, { "id", "T_ID", "\n\tattribute -> id . id attribute_init_option ';'" }, { "", "", "\n\tattributes_option -> attributes_option attribute ." }, { "", "", "\n\tinit_option -> Cbody ." }, { "", "'}'", "\n\tCcode_option -> '{' attributes_option init_option . '}'" }, { "", "", "\n\trwclause -> '<' useviewnames ':' term '>' ." }, { "", "", "\n\tterms -> terms ',' term ." }, { "", "", "\n\tdollarvar -> T_DOLLARVAR ." }, { "unparseitems", "", "\n\tunparseitem -> T_UNPBLOCKSTART . unparseitems T_UNPBLOCKEND" }, { "id", "T_ID", "\n\tunpsubterm -> '(' . id ')' id" }, { "@32", "", "\n\tunparseitem -> '\"' . @32 CexpressionDQ '\"' @33 viewnameoption" }, { "", "", "\n\tunparseclause -> '[' useviewnames ':' unparseitems ']' ." }, { "unpattributes unpattribute", "T_ARROW", "\n\tunpsubterm -> dollarvar .\n\tunpsubterm -> dollarvar . unpattributes" }, { "unpattributes unpattribute", "T_ARROW", "\n\tunpsubterm -> id .\n\tunpsubterm -> id . unpattributes" }, { "", "", "\n\tunparseitem -> Cbody ." }, { "", "", "\n\tunparseitems -> unparseitems unparseitem ." }, { "viewnameoption", "':'", "\n\tunparseitem -> unpsubterm . viewnameoption" }, { "", "", "\n\tMainCbody -> '{' @9 MainCBodycontinuation @10 '}' ." }, { "", "", "\n\tCtext_elem -> T_CNEWLINES ." }, { "", "", "\n\tCtext_elem -> T_CLINE ." }, { "@19", "", "\n\tCtext_elem -> T_WITH . @19 '(' @20 withCexpressions @21 ')' '{' withcases '}'" }, { "@18", "", "\n\tCtext_elem -> T_FOREACH . @18 foreach_continuation" }, { "", "", "\n\tCtext_elem -> '\n' ." }, { "@16", "", "\n\tCtext_elem -> '\"' . @16 CexpressionDQ '\"'" }, { "@17", "", "\n\tCtext_elem -> ''' . @17 CexpressionSQ '''" }, { "", "", "\n\tCtext_elem -> dollarvar ." }, { "", "", "\n\tCtext_elem -> Cbody ." }, { "", "", "\n\tCtext -> Ctext @15 Ctext_elem ." }, { "", "", "\n\twithcase -> patternchains ':' Cbody ." }, { "", "'&'", "\n\tpatternchains -> patternchains ',' patternchain .\n\tpatternchain -> patternchain . '&' patternchainitem_lineinfo" }, { "", "", "\n\tpatternchain -> patternchain '&' patternchainitem_lineinfo ." }, { "", "')' ','", "\n\tpatternchains -> patternchains . ',' patternchain\n\tpatternchainitem -> '(' patternchains . ')'" }, { "", "", "\n\tpatternchainitem -> '$' id ." }, { "", "", "\n\tCexpression_elem -> T_CNEWLINES ." }, { "", "", "\n\tCexpression_elem -> T_CEXPRESSION ." }, { "Cexpression_inner", "", "\n\tCexpression_elem -> '(' . Cexpression_inner ')'" }, { "", "", "\n\tCexpression_elem -> '\n' ." }, { "CexpressionDQ", "", "\n\tCexpression_elem -> '\"' . CexpressionDQ '\"'" }, { "CexpressionSQ", "", "\n\tCexpression_elem -> ''' . CexpressionSQ '''" }, { "Cexpression_inner", "", "\n\tCexpression_elem -> '[' . Cexpression_inner ']'" }, { "", "", "\n\tCexpression_elem -> dollarvar ." }, { "", "", "\n\tCexpression -> Cexpression Cexpression_elem ." }, { "", "", "\n\tac_direct_abstract_declarator -> ac_direct_abstract_declarator '(' ac_parameter_type_list ')' ." }, { "", "", "\n\tac_direct_abstract_declarator -> ac_direct_abstract_declarator '[' ac_constant_expression_option ']' ." }, { "", "", "\n\targuments -> arguments id ." }, { "", "')'", "\n\talternative -> id '(' @3 arguments @4 . ')'" }, { "Ctext", "", "\n\tCbody -> '{' @13 . Ctext @14 '}'" }, { "attribute_init_option", "'='", "\n\tattribute -> id id . attribute_init_option ';'" }, { "", "", "\n\tCcode_option -> '{' attributes_option init_option '}' ." }, { "dollarvar id Cbody unparseitem unpsubterm", "T_ID T_DOLLARVAR T_UNPBLOCKSTART T_UNPBLOCKEND '{' '(' '\"'", "\n\tunparseitems -> unparseitems . unparseitem\n\tunparseitem -> T_UNPBLOCKSTART unparseitems . T_UNPBLOCKEND" }, { "", "')'", "\n\tunpsubterm -> '(' id . ')' id" }, { "CexpressionDQ", "", "\n\tunparseitem -> '\"' @32 . CexpressionDQ '\"' @33 viewnameoption" }, { "id", "T_ID", "\n\tunpattribute -> T_ARROW . id" }, { "unpattribute", "T_ARROW", "\n\tunpsubterm -> dollarvar unpattributes .\n\tunpattributes -> unpattributes . unpattribute" }, { "", "", "\n\tunpattributes -> unpattribute ." }, { "unpattribute", "T_ARROW", "\n\tunpsubterm -> id unpattributes .\n\tunpattributes -> unpattributes . unpattribute" }, { "id", "T_ID", "\n\tviewnameoption -> ':' . id" }, { "", "", "\n\tunparseitem -> unpsubterm viewnameoption ." }, { "", "'('", "\n\tCtext_elem -> T_WITH @19 . '(' @20 withCexpressions @21 ')' '{' withcases '}'" }, { "foreach_continuation", "'('", "\n\tCtext_elem -> T_FOREACH @18 . foreach_continuation" }, { "CexpressionDQ", "", "\n\tCtext_elem -> '\"' @16 . CexpressionDQ '\"'" }, { "CexpressionSQ", "", "\n\tCtext_elem -> ''' @17 . CexpressionSQ '''" }, { "", "", "\n\tpatternchainitem -> '(' patternchains ')' ." }, { "dollarvar Cexpression_elem Cexpression_elem_inner", "T_CNEWLINES T_CEXPRESSION T_DOLLARVAR '(' ')' '\n' '\"' ''' '[' ','", "\n\tCexpression_elem -> '(' Cexpression_inner . ')'\n\tCexpression_inner -> Cexpression_inner . Cexpression_elem_inner" }, { "CexpressionDQ_elem", "T_CEXPRESSION '\n' '\"'", "\n\tCexpression_elem -> '\"' CexpressionDQ . '\"'\n\tCexpressionDQ -> CexpressionDQ . CexpressionDQ_elem" }, { "CexpressionSQ_elem", "T_CEXPRESSION '\n' '''", "\n\tCexpression_elem -> ''' CexpressionSQ . '''\n\tCexpressionSQ -> CexpressionSQ . CexpressionSQ_elem" }, { "dollarvar Cexpression_elem Cexpression_elem_inner", "T_CNEWLINES T_CEXPRESSION T_DOLLARVAR '(' '\n' '\"' ''' '[' ']' ','", "\n\tCexpression_elem -> '[' Cexpression_inner . ']'\n\tCexpression_inner -> Cexpression_inner . Cexpression_elem_inner" }, { "", "", "\n\talternative -> id '(' @3 arguments @4 ')' ." }, { "@14 @15", "", "\n\tCbody -> '{' @13 Ctext . @14 '}'\n\tCtext -> Ctext . @15 Ctext_elem" }, { "@5", "", "\n\tattribute_init_option -> '=' . @5 Cexpression" }, { "", "';'", "\n\tattribute -> id id attribute_init_option . ';'" }, { "", "", "\n\tunparseitem -> T_UNPBLOCKSTART unparseitems T_UNPBLOCKEND ." }, { "id", "T_ID", "\n\tunpsubterm -> '(' id ')' . id" }, { "CexpressionDQ_elem", "T_CEXPRESSION '\n' '\"'", "\n\tCexpressionDQ -> CexpressionDQ . CexpressionDQ_elem\n\tunparseitem -> '\"' @32 CexpressionDQ . '\"' @33 viewnameoption" }, { "", "", "\n\tunpattribute -> T_ARROW id ." }, { "", "", "\n\tunpattributes -> unpattributes unpattribute ." }, { "", "", "\n\tviewnameoption -> ':' id ." }, { "@20", "", "\n\tCtext_elem -> T_WITH @19 '(' . @20 withCexpressions @21 ')' '{' withcases '}'" }, { "patternchain patternchainitem_lineinfo @28", "", "\n\tforeach_continuation -> '(' . patternchain ';' @22 idCexpressions ')' MainCbodyinC @23 foreach_end_continuation" }, { "", "", "\n\tCtext_elem -> T_FOREACH @18 foreach_continuation ." }, { "CexpressionDQ_elem", "T_CEXPRESSION '\n' '\"'", "\n\tCexpressionDQ -> CexpressionDQ . CexpressionDQ_elem\n\tCtext_elem -> '\"' @16 CexpressionDQ . '\"'" }, { "CexpressionSQ_elem", "T_CEXPRESSION '\n' '''", "\n\tCexpressionSQ -> CexpressionSQ . CexpressionSQ_elem\n\tCtext_elem -> ''' @17 CexpressionSQ . '''" }, { "", "", "\n\tCexpression_elem -> '(' Cexpression_inner ')' ." }, { "", "", "\n\tCexpression_elem_inner -> ',' ." }, { "", "", "\n\tCexpression_elem_inner -> Cexpression_elem ." }, { "", "", "\n\tCexpression_inner -> Cexpression_inner Cexpression_elem_inner ." }, { "", "", "\n\tCexpression_elem -> '\"' CexpressionDQ '\"' ." }, { "", "", "\n\tCexpressionSQ_elem -> T_CEXPRESSION ." }, { "", "", "\n\tCexpressionSQ_elem -> '\n' ." }, { "", "", "\n\tCexpression_elem -> ''' CexpressionSQ ''' ." }, { "", "", "\n\tCexpressionSQ -> CexpressionSQ CexpressionSQ_elem ." }, { "", "", "\n\tCexpression_elem -> '[' Cexpression_inner ']' ." }, { "", "'}'", "\n\tCbody -> '{' @13 Ctext @14 . '}'" }, { "Cexpression", "", "\n\tattribute_init_option -> '=' @5 . Cexpression" }, { "", "", "\n\tattribute -> id id attribute_init_option ';' ." }, { "", "", "\n\tunpsubterm -> '(' id ')' id ." }, { "@33", "", "\n\tunparseitem -> '\"' @32 CexpressionDQ '\"' . @33 viewnameoption" }, { "Cexpression withCexpression withCexpressions", "", "\n\tCtext_elem -> T_WITH @19 '(' @20 . withCexpressions @21 ')' '{' withcases '}'" }, { "", "';' '&'", "\n\tforeach_continuation -> '(' patternchain . ';' @22 idCexpressions ')' MainCbodyinC @23 foreach_end_continuation\n\tpatternchain -> patternchain . '&' patternchainitem_lineinfo" }, { "", "", "\n\tCtext_elem -> '\"' @16 CexpressionDQ '\"' ." }, { "", "", "\n\tCtext_elem -> ''' @17 CexpressionSQ ''' ." }, { "", "", "\n\tCbody -> '{' @13 Ctext @14 '}' ." }, { "dollarvar Cexpression_elem", "T_CNEWLINES T_CEXPRESSION T_DOLLARVAR '(' '\n' '\"' ''' '['", "\n\tattribute_init_option -> '=' @5 Cexpression .\n\tCexpression -> Cexpression . Cexpression_elem" }, { "viewnameoption", "':'", "\n\tunparseitem -> '\"' @32 CexpressionDQ '\"' @33 . viewnameoption" }, { "dollarvar Cexpression_elem", "T_CNEWLINES T_CEXPRESSION T_DOLLARVAR '(' '\n' '\"' ''' '['", "\n\tCexpression -> Cexpression . Cexpression_elem\n\twithCexpression -> Cexpression ." }, { "", "", "\n\twithCexpressions -> withCexpression ." }, { "@21", "','", "\n\twithCexpressions -> withCexpressions . ',' @8 withCexpression\n\tCtext_elem -> T_WITH @19 '(' @20 withCexpressions . @21 ')' '{' withcases '}'" }, { "@22", "", "\n\tforeach_continuation -> '(' patternchain ';' . @22 idCexpressions ')' MainCbodyinC @23 foreach_end_continuation" }, { "", "", "\n\tunparseitem -> '\"' @32 CexpressionDQ '\"' @33 viewnameoption ." }, { "@8", "", "\n\twithCexpressions -> withCexpressions ',' . @8 withCexpression" }, { "", "')'", "\n\tCtext_elem -> T_WITH @19 '(' @20 withCexpressions @21 . ')' '{' withcases '}'" }, { "id idCexpressions idCexpression", "T_ID", "\n\tforeach_continuation -> '(' patternchain ';' @22 . idCexpressions ')' MainCbodyinC @23 foreach_end_continuation" }, { "Cexpression withCexpression", "", "\n\twithCexpressions -> withCexpressions ',' @8 . withCexpression" }, { "", "'{'", "\n\tCtext_elem -> T_WITH @19 '(' @20 withCexpressions @21 ')' . '{' withcases '}'" }, { "@6", "", "\n\tidCexpression -> id . @6 Cexpression @7" }, { "", "')' ','", "\n\tidCexpressions -> idCexpressions . ',' idCexpression\n\tforeach_continuation -> '(' patternchain ';' @22 idCexpressions . ')' MainCbodyinC @23 foreach_end_continuation" }, { "", "", "\n\tidCexpressions -> idCexpression ." }, { "", "", "\n\twithCexpressions -> withCexpressions ',' @8 withCexpression ." }, { "patternchains patternchain patternchainitem_lineinfo @28 withcases withcase", "", "\n\tCtext_elem -> T_WITH @19 '(' @20 withCexpressions @21 ')' '{' . withcases '}'" }, { "Cexpression", "", "\n\tidCexpression -> id @6 . Cexpression @7" }, { "MainCbodyinC", "'{'", "\n\tforeach_continuation -> '(' patternchain ';' @22 idCexpressions ')' . MainCbodyinC @23 foreach_end_continuation" }, { "id idCexpression", "T_ID", "\n\tidCexpressions -> idCexpressions ',' . idCexpression" }, { "patternchains patternchain patternchainitem_lineinfo @28 withcase", "'}'", "\n\tCtext_elem -> T_WITH @19 '(' @20 withCexpressions @21 ')' '{' withcases . '}'\n\twithcases -> withcases . withcase" }, { "dollarvar Cexpression_elem @7", "T_CNEWLINES T_CEXPRESSION T_DOLLARVAR '(' '\n' '\"' ''' '['", "\n\tCexpression -> Cexpression . Cexpression_elem\n\tidCexpression -> id @6 Cexpression . @7" }, { "@11", "", "\n\tMainCbodyinC -> '{' . @11 MainCBodycontinuation @12 '}'" }, { "@23", "", "\n\tforeach_continuation -> '(' patternchain ';' @22 idCexpressions ')' MainCbodyinC . @23 foreach_end_continuation" }, { "", "", "\n\tidCexpressions -> idCexpressions ',' idCexpression ." }, { "", "", "\n\tCtext_elem -> T_WITH @19 '(' @20 withCexpressions @21 ')' '{' withcases '}' ." }, { "", "", "\n\tidCexpression -> id @6 Cexpression @7 ." }, { "MainCBodycontinuation Ctext patternchains patternchain patternchainitem_lineinfo @28 withcases withcase", "", "\n\tMainCbodyinC -> '{' @11 . MainCBodycontinuation @12 '}'" }, { "foreach_end_continuation", "T_FOREACH_AFTER", "\n\tforeach_continuation -> '(' patternchain ';' @22 idCexpressions ')' MainCbodyinC @23 . foreach_end_continuation" }, { "@12", "", "\n\tMainCbodyinC -> '{' @11 MainCBodycontinuation . @12 '}'" }, { "@24", "", "\n\tforeach_end_continuation -> T_FOREACH_AFTER . @24 '(' patternchain @25 ')' MainCbodyinC" }, { "", "", "\n\tforeach_continuation -> '(' patternchain ';' @22 idCexpressions ')' MainCbodyinC @23 foreach_end_continuation ." }, { "", "'}'", "\n\tMainCbodyinC -> '{' @11 MainCBodycontinuation @12 . '}'" }, { "", "'('", "\n\tforeach_end_continuation -> T_FOREACH_AFTER @24 . '(' patternchain @25 ')' MainCbodyinC" }, { "", "", "\n\tMainCbodyinC -> '{' @11 MainCBodycontinuation @12 '}' ." }, { "patternchain patternchainitem_lineinfo @28", "", "\n\tforeach_end_continuation -> T_FOREACH_AFTER @24 '(' . patternchain @25 ')' MainCbodyinC" }, { "@25", "'&'", "\n\tforeach_end_continuation -> T_FOREACH_AFTER @24 '(' patternchain . @25 ')' MainCbodyinC\n\tpatternchain -> patternchain . '&' patternchainitem_lineinfo" }, { "", "')'", "\n\tforeach_end_continuation -> T_FOREACH_AFTER @24 '(' patternchain @25 . ')' MainCbodyinC" }, { "MainCbodyinC", "'{'", "\n\tforeach_end_continuation -> T_FOREACH_AFTER @24 '(' patternchain @25 ')' . MainCbodyinC" }, { "", "", "\n\tforeach_end_continuation -> T_FOREACH_AFTER @24 '(' patternchain @25 ')' MainCbodyinC ." }, { "$", "", "" }, { "$", "", "" }, {0,0,0}};