#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}};
