diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/c99/ParseHelper.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/c99/ParseHelper.java index bdf2420fd5b..3c2acd8173d 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/c99/ParseHelper.java +++ b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/c99/ParseHelper.java @@ -46,15 +46,15 @@ public class ParseHelper { @Override public int visit( IASTName name ){ - System.out.println("Visit Name: '" + name.toString() + "'"); + //System.out.println("Visit Name: '" + name.toString() + "'"); IBinding binding = name.resolveBinding(); if (binding instanceof IProblemBinding) { numProblemBindings++; - System.out.println("Problem Binding: " + name); + //System.out.println("Problem Binding: " + name); } if (binding == null) { numNullBindings++; - System.out.println("Null Binding: " + name); + //System.out.println("Null Binding: " + name); } return PROCESS_CONTINUE; } diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/build.xml b/lrparser/org.eclipse.cdt.core.lrparser/grammar/build.xml index 21fc2186baf..5a05cd1f945 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/build.xml +++ b/lrparser/org.eclipse.cdt.core.lrparser/grammar/build.xml @@ -23,6 +23,17 @@ This property must be set to the full path to the LPG templates folder. + + + + + + + + + + + Generates the C99 and C++ parsers @@ -33,19 +44,19 @@ Generate the C99 parser - + - + - + - + @@ -53,33 +64,33 @@ Generate the C++ parser - + - + - + - + - + - + - + @@ -97,7 +108,7 @@ - + diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99Grammar.g b/lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99Grammar.g index 16430d49a6d..2391edd0b7d 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99Grammar.g +++ b/lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99Grammar.g @@ -639,6 +639,8 @@ struct_declaration /. $Build consumeStructDeclaration(true); $EndBuild ./ | specifier_qualifier_list ';' /. $Build consumeStructDeclaration(false); $EndBuild ./ + | ERROR_TOKEN + /. $Build consumeDeclarationProblem(); $EndBuild ./ -- just reuse declaration_specifiers, makes grammar a bit more lenient but thats OK diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPGrammar.g b/lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPGrammar.g index 6ebcb26fa0b..4c45a0cd662 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPGrammar.g +++ b/lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPGrammar.g @@ -350,15 +350,27 @@ $Rules -- Basic Concepts ------------------------------------------------------------------------------------------ --- TODO declaration errors need to be caught --- TODO in C99 as well, nested declarations should be able to have errors +-- The extra external declaration rules are there just so that ERROR_TOKEN can be +-- caught at the top level. translation_unit - ::= declaration_seq + ::= external_declaration_list /. $Build consumeTranslationUnit(); $EndBuild ./ | $empty /. $Build consumeTranslationUnit(); $EndBuild ./ + +external_declaration_list + ::= external_declaration + | external_declaration_list external_declaration + + +external_declaration + ::= declaration + | ERROR_TOKEN + /. $Build consumeDeclarationProblem(); $EndBuild ./ + + --expression_as_translation_unit -- ::= expression -- /. $Build consumeExpressionAsTranslationUnit(); $EndBuild ./ @@ -1505,15 +1517,15 @@ member_declaration /. $Build consumeDeclarationSimple(true); $EndBuild ./ | declaration_specifiers_opt ';' /. $Build consumeDeclarationSimple(false); $EndBuild ./ - | function_definition ';' -- done - | function_definition -- done + | function_definition ';' + | function_definition | dcolon_opt nested_name_specifier template_opt unqualified_id_name ';' /. $Build consumeMemberDeclarationQualifiedId(); $EndBuild ./ - | using_declaration -- done + | using_declaration | template_declaration - | visibility_label -- done - - + | visibility_label + | ERROR_TOKEN + /. $Build consumeDeclarationProblem(); $EndBuild ./ member_declaration_list diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/c99/C99BuildASTParserAction.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/c99/C99BuildASTParserAction.java index b9e4835e9fc..957d2a1d83a 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/c99/C99BuildASTParserAction.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/c99/C99BuildASTParserAction.java @@ -557,9 +557,6 @@ public class C99BuildASTParserAction extends BuildASTParserAction { if(asC99Kind(parser.getLeftIToken()) == C99Parsersym.TK_EndOfCompletion) return; - List tokens = parser.getRuleTokens(); - - System.out.println("what: " + parser.getLeftIToken().getKind()); IASTDeclSpecifier declSpecifier = nodeFactory.newCSimpleDeclSpecifier(); IASTSimpleDeclaration declaration = nodeFactory.newSimpleDeclaration(declSpecifier); setOffsetAndLength(declSpecifier); diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionStatementParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionStatementParser.java index 04b1018709a..1875cd1d6ef 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionStatementParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionStatementParser.java @@ -835,411 +835,417 @@ public C99ExpressionStatementParser(String[] mapFrom) { // constructor } // - // Rule 200: struct_declarator ::= : constant_expression + // Rule 195: struct_declaration ::= ERROR_TOKEN // - case 200: { action. consumeBitField(false); break; + case 195: { action. consumeDeclarationProblem(); break; } // - // Rule 201: struct_declarator ::= declarator : constant_expression + // Rule 201: struct_declarator ::= : constant_expression // - case 201: { action. consumeBitField(true); break; + case 201: { action. consumeBitField(false); break; } // - // Rule 202: enum_specifier ::= enum { enumerator_list_opt comma_opt } + // Rule 202: struct_declarator ::= declarator : constant_expression // - case 202: { action. consumeTypeSpecifierEnumeration(false); break; + case 202: { action. consumeBitField(true); break; } // - // Rule 203: enum_specifier ::= enum identifier_or_typedefname { enumerator_list_opt comma_opt } + // Rule 203: enum_specifier ::= enum { enumerator_list_opt comma_opt } // - case 203: { action. consumeTypeSpecifierEnumeration(true); break; + case 203: { action. consumeTypeSpecifierEnumeration(false); break; } // - // Rule 208: enumerator ::= identifier_or_typedefname + // Rule 204: enum_specifier ::= enum identifier_or_typedefname { enumerator_list_opt comma_opt } // - case 208: { action. consumeEnumerator(false); break; + case 204: { action. consumeTypeSpecifierEnumeration(true); break; } // - // Rule 209: enumerator ::= identifier_or_typedefname = constant_expression + // Rule 209: enumerator ::= identifier_or_typedefname // - case 209: { action. consumeEnumerator(true); break; + case 209: { action. consumeEnumerator(false); break; } // - // Rule 210: type_qualifier ::= type_qualifier_token + // Rule 210: enumerator ::= identifier_or_typedefname = constant_expression // - case 210: { action. consumeDeclSpecToken(); break; + case 210: { action. consumeEnumerator(true); break; } // - // Rule 214: function_specifier ::= inline + // Rule 211: type_qualifier ::= type_qualifier_token // - case 214: { action. consumeDeclSpecToken(); break; + case 211: { action. consumeDeclSpecToken(); break; } // - // Rule 216: declarator ::= pointer_seq direct_declarator + // Rule 215: function_specifier ::= inline // - case 216: { action. consumeDeclaratorWithPointer(true); break; + case 215: { action. consumeDeclSpecToken(); break; } // - // Rule 221: basic_direct_declarator ::= declarator_id_name + // Rule 217: declarator ::= pointer_seq direct_declarator // - case 221: { action. consumeDirectDeclaratorIdentifier(); break; + case 217: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 222: basic_direct_declarator ::= ( declarator ) + // Rule 222: basic_direct_declarator ::= declarator_id_name // - case 222: { action. consumeDirectDeclaratorBracketed(); break; + case 222: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 223: declarator_id_name ::= identifier + // Rule 223: basic_direct_declarator ::= ( declarator ) // - case 223: { action. consumeIdentifierName(); break; + case 223: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 224: array_direct_declarator ::= basic_direct_declarator array_modifier + // Rule 224: declarator_id_name ::= identifier // - case 224: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 224: { action. consumeIdentifierName(); break; } // - // Rule 225: array_direct_declarator ::= array_direct_declarator array_modifier + // Rule 225: array_direct_declarator ::= basic_direct_declarator array_modifier // case 225: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 227: function_direct_declarator ::= basic_direct_declarator ( parameter_type_list ) + // Rule 226: array_direct_declarator ::= array_direct_declarator array_modifier // - case 227: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; + case 226: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 228: function_direct_declarator ::= basic_direct_declarator ( ) + // Rule 228: function_direct_declarator ::= basic_direct_declarator ( parameter_type_list ) // - case 228: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; + case 228: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; } // - // Rule 230: function_declarator ::= pointer_seq function_direct_declarator + // Rule 229: function_direct_declarator ::= basic_direct_declarator ( ) // - case 230: { action. consumeDeclaratorWithPointer(true); break; + case 229: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; } // - // Rule 231: knr_direct_declarator ::= basic_direct_declarator ( identifier_list ) + // Rule 231: function_declarator ::= pointer_seq function_direct_declarator // - case 231: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; + case 231: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 233: knr_function_declarator ::= pointer_seq knr_direct_declarator + // Rule 232: knr_direct_declarator ::= basic_direct_declarator ( identifier_list ) // - case 233: { action. consumeDeclaratorWithPointer(true); break; + case 232: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; } // - // Rule 234: identifier_list ::= identifier + // Rule 234: knr_function_declarator ::= pointer_seq knr_direct_declarator // - case 234: { action. consumeIdentifierKnR(); break; + case 234: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 235: identifier_list ::= identifier_list , identifier + // Rule 235: identifier_list ::= identifier // case 235: { action. consumeIdentifierKnR(); break; } // - // Rule 236: array_modifier ::= [ ] + // Rule 236: identifier_list ::= identifier_list , identifier // - case 236: { action. consumeDirectDeclaratorArrayModifier(false); break; + case 236: { action. consumeIdentifierKnR(); break; } // - // Rule 237: array_modifier ::= [ array_modifier_type_qualifiers ] + // Rule 237: array_modifier ::= [ ] // - case 237: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break; + case 237: { action. consumeDirectDeclaratorArrayModifier(false); break; } // - // Rule 238: array_modifier ::= [ assignment_expression ] + // Rule 238: array_modifier ::= [ array_modifier_type_qualifiers ] // - case 238: { action. consumeDirectDeclaratorArrayModifier(true); break; + case 238: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break; } // - // Rule 239: array_modifier ::= [ array_modifier_type_qualifiers assignment_expression ] + // Rule 239: array_modifier ::= [ assignment_expression ] // - case 239: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break; + case 239: { action. consumeDirectDeclaratorArrayModifier(true); break; } // - // Rule 240: array_modifier ::= [ static assignment_expression ] + // Rule 240: array_modifier ::= [ array_modifier_type_qualifiers assignment_expression ] // - case 240: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break; + case 240: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break; } // - // Rule 241: array_modifier ::= [ static array_modifier_type_qualifiers assignment_expression ] + // Rule 241: array_modifier ::= [ static assignment_expression ] // - case 241: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; + case 241: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break; } // - // Rule 242: array_modifier ::= [ array_modifier_type_qualifiers static assignment_expression ] + // Rule 242: array_modifier ::= [ static array_modifier_type_qualifiers assignment_expression ] // case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; } // - // Rule 243: array_modifier ::= [ * ] + // Rule 243: array_modifier ::= [ array_modifier_type_qualifiers static assignment_expression ] // - case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break; + case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; } // - // Rule 244: array_modifier ::= [ array_modifier_type_qualifiers * ] + // Rule 244: array_modifier ::= [ * ] // - case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break; + case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break; } // - // Rule 246: pointer_seq ::= * + // Rule 245: array_modifier ::= [ array_modifier_type_qualifiers * ] // - case 246: { action. consumePointer(); break; + case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break; } // - // Rule 247: pointer_seq ::= pointer_seq * + // Rule 247: pointer_seq ::= * // case 247: { action. consumePointer(); break; } // - // Rule 248: pointer_seq ::= * type_qualifier_list + // Rule 248: pointer_seq ::= pointer_seq * // - case 248: { action. consumePointerTypeQualifierList(); break; + case 248: { action. consumePointer(); break; } // - // Rule 249: pointer_seq ::= pointer_seq * type_qualifier_list + // Rule 249: pointer_seq ::= * type_qualifier_list // case 249: { action. consumePointerTypeQualifierList(); break; } // - // Rule 252: parameter_type_list ::= parameter_list + // Rule 250: pointer_seq ::= pointer_seq * type_qualifier_list // - case 252: { action. consumeEmpty(); break; + case 250: { action. consumePointerTypeQualifierList(); break; } // - // Rule 253: parameter_type_list ::= parameter_list , ... + // Rule 253: parameter_type_list ::= parameter_list // - case 253: { action. consumePlaceHolder(); break; + case 253: { action. consumeEmpty(); break; } // - // Rule 254: parameter_type_list ::= ... + // Rule 254: parameter_type_list ::= parameter_list , ... // case 254: { action. consumePlaceHolder(); break; } // - // Rule 257: parameter_declaration ::= declaration_specifiers complete_parameter_declarator + // Rule 255: parameter_type_list ::= ... // - case 257: { action. consumeParameterDeclaration(); break; + case 255: { action. consumePlaceHolder(); break; } // - // Rule 258: parameter_declaration ::= declaration_specifiers + // Rule 258: parameter_declaration ::= declaration_specifiers complete_parameter_declarator // - case 258: { action. consumeParameterDeclarationWithoutDeclarator(); break; + case 258: { action. consumeParameterDeclaration(); break; } // - // Rule 261: type_name ::= specifier_qualifier_list + // Rule 259: parameter_declaration ::= declaration_specifiers // - case 261: { action. consumeTypeId(false); break; + case 259: { action. consumeParameterDeclarationWithoutDeclarator(); break; } // - // Rule 262: type_name ::= specifier_qualifier_list abstract_declarator + // Rule 262: type_name ::= specifier_qualifier_list // - case 262: { action. consumeTypeId(true); break; + case 262: { action. consumeTypeId(false); break; } // - // Rule 264: abstract_declarator ::= pointer_seq + // Rule 263: type_name ::= specifier_qualifier_list abstract_declarator // - case 264: { action. consumeDeclaratorWithPointer(false); break; + case 263: { action. consumeTypeId(true); break; } // - // Rule 265: abstract_declarator ::= pointer_seq direct_abstract_declarator + // Rule 265: abstract_declarator ::= pointer_seq // case 265: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 269: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 266: abstract_declarator ::= pointer_seq direct_abstract_declarator // - case 269: { action. consumeDirectDeclaratorBracketed(); break; + case 266: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 270: array_direct_abstract_declarator ::= array_modifier + // Rule 270: basic_direct_abstract_declarator ::= ( abstract_declarator ) // - case 270: { action. consumeDirectDeclaratorArrayDeclarator(false); break; + case 270: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 271: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier + // Rule 271: array_direct_abstract_declarator ::= array_modifier // - case 271: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 271: { action. consumeDirectDeclaratorArrayDeclarator(false); break; } // - // Rule 272: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier + // Rule 272: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier // case 272: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 273: function_direct_abstract_declarator ::= ( ) + // Rule 273: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier // - case 273: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break; + case 273: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + } + + // + // Rule 274: function_direct_abstract_declarator ::= ( ) + // + case 274: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break; } // - // Rule 274: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( ) + // Rule 275: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( ) // - case 274: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; + case 275: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; } // - // Rule 275: function_direct_abstract_declarator ::= ( parameter_type_list ) + // Rule 276: function_direct_abstract_declarator ::= ( parameter_type_list ) // - case 275: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break; + case 276: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break; } // - // Rule 276: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( parameter_type_list ) + // Rule 277: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( parameter_type_list ) // - case 276: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; + case 277: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; } // - // Rule 277: initializer ::= assignment_expression + // Rule 278: initializer ::= assignment_expression // - case 277: { action. consumeInitializer(); break; + case 278: { action. consumeInitializer(); break; } // - // Rule 278: initializer ::= { initializer_list comma_opt } + // Rule 279: initializer ::= { initializer_list comma_opt } // - case 278: { action. consumeInitializerList(); break; + case 279: { action. consumeInitializerList(); break; } // - // Rule 283: designated_initializer ::= designation = initializer + // Rule 284: designated_initializer ::= designation = initializer // - case 283: { action. consumeInitializerDesignated(); break; + case 284: { action. consumeInitializerDesignated(); break; } // - // Rule 287: designator_base ::= [ constant_expression ] + // Rule 288: designator_base ::= [ constant_expression ] // - case 287: { action. consumeDesignatorArray(); break; + case 288: { action. consumeDesignatorArray(); break; } // - // Rule 288: designator_base ::= . identifier_or_typedefname + // Rule 289: designator_base ::= . identifier_or_typedefname // - case 288: { action. consumeDesignatorField(); break; + case 289: { action. consumeDesignatorField(); break; } // - // Rule 289: designator ::= [ constant_expression ] + // Rule 290: designator ::= [ constant_expression ] // - case 289: { action. consumeDesignatorArray(); break; + case 290: { action. consumeDesignatorArray(); break; } // - // Rule 290: designator ::= . identifier_or_typedefname + // Rule 291: designator ::= . identifier_or_typedefname // - case 290: { action. consumeDesignatorField(); break; + case 291: { action. consumeDesignatorField(); break; } // - // Rule 291: translation_unit ::= external_declaration_list - // - case 291: { action. consumeTranslationUnit(); break; - } - - // - // Rule 292: translation_unit ::= $Empty + // Rule 292: translation_unit ::= external_declaration_list // case 292: { action. consumeTranslationUnit(); break; + } + + // + // Rule 293: translation_unit ::= $Empty + // + case 293: { action. consumeTranslationUnit(); break; } // - // Rule 297: external_declaration ::= ; + // Rule 298: external_declaration ::= ; // - case 297: { action. consumeDeclarationEmpty(); break; + case 298: { action. consumeDeclarationEmpty(); break; } // - // Rule 298: external_declaration ::= ERROR_TOKEN + // Rule 299: external_declaration ::= ERROR_TOKEN // - case 298: { action. consumeDeclarationProblem(); break; + case 299: { action. consumeDeclarationProblem(); break; } // - // Rule 301: function_definition ::= declaration_specifiers function_declarator function_body + // Rule 302: function_definition ::= declaration_specifiers function_declarator function_body // - case 301: { action. consumeFunctionDefinition(true); break; + case 302: { action. consumeFunctionDefinition(true); break; } // - // Rule 302: function_definition ::= function_declarator function_body + // Rule 303: function_definition ::= function_declarator function_body // - case 302: { action. consumeFunctionDefinition(false); break; + case 303: { action. consumeFunctionDefinition(false); break; } // - // Rule 303: function_definition ::= declaration_specifiers knr_function_declarator declaration_list compound_statement + // Rule 304: function_definition ::= declaration_specifiers knr_function_declarator declaration_list compound_statement // - case 303: { action. consumeFunctionDefinitionKnR(); break; + case 304: { action. consumeFunctionDefinitionKnR(); break; } // - // Rule 304: function_body ::= { } + // Rule 305: function_body ::= { } // - case 304: { action. consumeStatementCompoundStatement(false); break; + case 305: { action. consumeStatementCompoundStatement(false); break; } // - // Rule 305: function_body ::= { block_item_list } + // Rule 306: function_body ::= { block_item_list } // - case 305: { action. consumeStatementCompoundStatement(true); break; + case 306: { action. consumeStatementCompoundStatement(true); break; } // - // Rule 307: expression_parser_start ::= ERROR_TOKEN + // Rule 308: expression_parser_start ::= ERROR_TOKEN // - case 307: { action. consumeExpressionProblem(); break; + case 308: { action. consumeExpressionProblem(); break; } diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionStatementParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionStatementParserprs.java index 9daa5d2a4ad..871a8943444 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionStatementParserprs.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionStatementParserprs.java @@ -53,157 +53,157 @@ public class C99ExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,5,5,6,6,2,2,2,1,0, - 1,2,4,2,1,1,3,1,1,2, - 3,6,7,1,0,1,3,1,3,1, - 1,1,1,1,1,3,1,1,1,1, - 1,3,1,2,2,1,5,3,1,3, - 5,1,3,1,3,2,4,3,5,4, - 6,6,3,5,1,1,2,3,4,1, - 2,1,3,1,1,3,2,1,1,1, - 1,2,1,2,3,1,1,1,3,1, - 2,2,2,3,4,5,1,5,1,1, - 3,3,4,1,1,2,3,2,3,2, - 1,0,1,2,1,1,1,1,1,2, - 4,3,6,2,4,2,1,-38,0,0, - 0,0,0,0,0,-3,0,0,0,0, - 0,0,0,0,0,0,0,-2,0,0, - -5,-15,-31,-82,-17,0,0,0,0,-125, + 1,2,4,2,1,1,1,3,1,1, + 2,3,6,7,1,0,1,3,1,3, + 1,1,1,1,1,1,3,1,1,1, + 1,1,3,1,2,2,1,5,3,1, + 3,5,1,3,1,3,2,4,3,5, + 4,6,6,3,5,1,1,2,3,4, + 1,2,1,3,1,1,3,2,1,1, + 1,1,2,1,2,3,1,1,1,3, + 1,2,2,2,3,4,5,1,5,1, + 1,3,3,4,1,1,2,3,2,3, + 2,1,0,1,2,1,1,1,1,1, + 2,4,3,6,2,4,2,1,-38,0, + 0,0,0,0,0,0,-3,0,0,0, + 0,0,0,0,0,0,0,0,-2,0, + 0,-5,-15,-31,-82,-17,0,0,0,0, + -125,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-39,0,0,0,0,0,0, + 0,0,0,0,0,-18,-19,0,-20,0, + 0,0,0,0,0,0,-7,0,0,0, + 0,0,0,0,-54,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-32, + 0,-174,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-39,0,0,0,0,0,0,0, - 0,0,0,0,-18,-19,0,-20,0,0, - 0,0,0,0,0,-7,0,0,0,0, - 0,0,0,-54,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-32,0, - -174,0,0,0,0,0,0,0,0,0, + 0,-169,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -169,0,0,0,0,0,0,0,0,0, + 0,-181,-21,-22,-23,-187,-4,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -181,-21,-22,-23,-187,-4,0,0,0,0, + 0,0,0,0,0,0,0,-35,0,0, + -144,0,0,-24,0,0,0,0,0,0, + 0,0,-25,0,0,0,0,0,-77,0, + -75,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-35,0,0,-144, - 0,0,-24,0,0,0,0,0,0,0, - 0,-25,0,0,0,0,0,-77,0,-75, + -143,-26,0,0,0,-173,-27,0,-111,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-143, - -26,0,0,0,-173,-27,0,-111,0,0, + 0,0,0,0,0,0,0,0,-130,0, + 0,0,0,0,0,0,-195,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-130,0,0, - 0,0,0,0,0,-195,0,0,0,0, + 0,0,0,-189,0,0,0,0,0,0, + 0,-36,0,0,0,0,0,0,0,0, + 0,0,0,-28,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-189,0,0,0,0,0,0,0, - -36,0,0,0,0,0,0,0,0,0, - 0,0,-28,0,0,0,0,0,0,0, + 0,0,0,-88,-89,-90,0,0,-58,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-88,-89,-90,0,0,-58,0,0, + 0,0,0,0,0,0,0,0,-59,0, + 0,0,0,0,0,0,-69,0,0,0, + 0,0,0,0,0,0,0,0,-60,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-59,0,0, - 0,0,0,0,0,-69,0,0,0,0, - 0,0,0,0,0,0,0,-60,0,0, + 0,0,0,0,0,0,0,0,-61,0, + 0,0,0,0,0,0,-70,0,0,0, + 0,0,0,0,0,0,0,0,-62,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-61,0,0, - 0,0,0,0,0,-70,0,0,0,0, - 0,0,0,0,0,0,0,-62,0,0, + 0,0,0,0,0,0,0,0,-63,0, + 0,0,0,0,0,0,-71,0,0,0, + 0,0,0,0,0,0,0,0,-64,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-63,0,0, - 0,0,0,0,0,-71,0,0,0,0, - 0,0,0,0,0,0,0,-64,0,0, + 0,0,0,0,0,0,0,0,-65,0, + 0,0,0,0,0,0,-115,0,0,0, + 0,0,0,0,0,0,0,0,-66,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-65,0,0, - 0,0,0,0,0,-115,0,0,0,0, - 0,0,0,0,0,0,0,-66,0,0, + 0,0,0,0,0,0,0,0,-67,0, + 0,0,0,0,0,0,-91,0,0,0, + 0,0,0,0,0,0,0,0,-68,0, + 0,0,0,0,0,0,-134,0,0,0, + 0,0,0,0,0,0,0,0,-40,0, + 0,0,0,0,0,0,-74,0,0,-92, + -93,-94,-83,-95,0,0,0,0,-148,0, + 0,0,0,0,0,0,-85,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-67,0,0, - 0,0,0,0,0,-91,0,0,0,0, - 0,0,0,0,0,0,0,-68,0,0, - 0,0,0,0,0,-134,0,0,0,0, - 0,0,0,0,0,0,0,-40,0,0, - 0,0,0,0,0,-74,0,0,-92,-93, - -94,-83,-95,0,0,0,0,-148,0,0, - 0,0,0,0,0,-85,0,0,0,0, + 0,-8,0,0,0,0,0,0,-72,0, + 0,0,0,0,-96,0,-97,-98,0,0, + 0,0,0,0,-149,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -8,0,0,0,0,0,0,-72,0,0, - 0,0,0,-96,0,-97,-98,0,0,0, - 0,0,0,-149,0,0,0,0,0,0, + 0,0,0,0,-172,0,0,0,0,0, + 0,0,-99,0,0,0,0,0,0,0, + 0,0,0,-186,0,0,0,0,0,0, + 0,-100,0,0,0,0,0,0,0,0, + 0,0,-192,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-172,0,0,0,0,0,0, - 0,-99,0,0,0,0,0,0,0,0, - 0,0,-186,0,0,0,0,0,0,0, - -100,0,0,0,0,0,0,0,0,0, - 0,-192,0,0,0,0,0,0,0,0, + 0,-196,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -196,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-206, + -206,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-124, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-124,0, + 0,0,0,0,0,0,0,0,-101,-133, + -6,0,0,0,0,0,0,0,-57,0, + 0,0,0,0,0,0,-102,0,0,0, + 0,0,0,0,0,-114,0,0,0,0, + 0,0,-152,0,0,0,0,0,0,0, + 0,0,0,0,0,-117,0,-108,-78,0, + -110,-171,0,0,-33,0,-112,0,0,0, + -80,-103,0,-131,-104,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-101,-133,-6, - 0,0,0,0,0,0,0,-57,0,0, - 0,0,0,0,0,-102,0,0,0,0, - 0,0,0,0,-114,0,0,0,0,0, - 0,-152,0,0,0,0,0,0,0,0, - 0,0,0,0,-117,0,-108,-78,0,-110, - -171,0,0,-33,0,-112,0,0,0,-80, - -103,0,-131,-104,0,0,0,0,0,0, + 0,0,0,-105,0,0,0,0,0,0, + 0,0,0,-56,0,0,0,0,0,0, + 0,-129,0,0,0,0,0,0,0,0, + -53,0,0,0,0,0,0,0,-87,0, + 0,0,0,0,0,0,-183,-9,0,0, + 0,0,0,0,0,-119,-121,-122,0,0, + 0,-191,-153,0,0,0,0,0,0,0, + -48,0,0,0,0,0,0,0,-164,0, + 0,0,0,0,0,0,0,0,0,-106, + 0,-107,0,0,-151,0,0,0,0,0, + 0,0,0,0,0,-50,0,0,0,0, + 0,0,0,-205,0,0,0,0,0,-126, + -180,0,-137,-127,0,0,-132,0,0,0, + 0,0,-51,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-105,0,0,0,0,0,0,0, - 0,0,-56,0,0,0,0,0,0,0, - -129,0,0,0,0,0,0,0,0,-53, - 0,0,0,0,0,0,0,-87,0,0, - 0,0,0,0,0,-183,-9,0,0,0, - 0,0,0,0,-119,-121,-122,0,0,0, - -191,-153,0,0,0,0,0,0,0,-48, - 0,0,0,0,0,0,0,-164,0,0, - 0,0,0,0,0,0,0,0,-106,0, - -107,0,0,-151,0,0,0,0,0,0, - 0,0,0,0,-50,0,0,0,0,0, - 0,0,-205,0,0,0,0,0,-126,-180, - 0,-137,-127,0,0,-132,0,0,0,0, - 0,-51,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-13,0,0,0,0,0,0, - -52,0,0,0,0,0,0,0,-118,0, - 0,0,-44,0,0,0,0,0,0,0, - 0,0,0,-10,0,0,0,0,0,0, - 0,0,-45,0,0,0,0,0,0,0, - -154,0,0,-46,0,0,0,0,0,0, - 0,-120,0,0,-47,0,0,0,0,0, - 0,0,-198,0,0,0,-123,-155,-150,-135, - 0,-49,0,0,0,0,0,0,0,-37, - 0,-159,-139,-76,-79,-142,-145,0,-165,-81, - 0,0,0,0,0,-207,0,0,0,0, + 0,0,0,0,-13,0,0,0,0,0, + 0,-52,0,0,0,0,0,0,0,-118, + 0,0,0,-44,0,0,0,0,0,0, + 0,0,0,0,-10,0,0,0,0,0, + 0,0,0,-45,0,0,0,0,0,0, + 0,-154,0,0,-46,0,0,0,0,0, + 0,0,-120,0,0,-47,0,0,0,0, + 0,0,0,-198,0,0,0,-123,-155,-150, + -135,0,-49,0,0,0,0,0,0,0, + -37,0,-159,-139,-76,-79,-142,-145,0,-165, + -81,0,0,0,0,0,-207,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-188,0,0, - -166,-157,-146,0,-11,0,0,0,0,0, - 0,-12,0,0,0,0,0,0,-16,-178, - -29,0,-30,0,0,-147,0,-170,0,-197, - 0,-41,0,0,0,0,0,0,-176,0, - -208,0,0,0,0,0,0,0,0,-160, + 0,0,0,0,0,0,0,0,-188,0, + 0,-166,-157,-146,0,-11,0,0,0,0, + 0,0,-12,0,0,0,0,0,0,-16, + -178,-29,0,-30,0,0,-147,0,-170,0, + -197,0,-41,0,0,0,0,0,0,-176, + 0,-208,0,0,0,0,0,0,0,0, + -160,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-42,0,0,0,0, + 0,0,-43,0,0,0,0,0,0,-84, + -193,0,0,0,-86,0,-73,0,0,0, + 0,0,0,-199,-116,-163,-1,-168,-113,-182, + 0,0,0,-177,0,0,0,0,0,0, + 0,0,0,0,0,0,-138,0,-140,0, + 0,0,-158,0,0,0,0,0,0,0, + 0,0,-179,-184,0,0,-128,0,-194,0, + 0,0,0,0,0,0,0,-175,0,-141, + 0,0,-162,0,0,0,0,0,0,0, + 0,0,-190,-201,0,-203,0,-109,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-42,0,0,0,0,0, - 0,-43,0,0,0,0,0,0,-84,-193, - 0,0,0,-86,0,-73,0,0,0,0, - 0,0,-199,-116,-163,-1,-168,-113,-182,0, - 0,0,-177,0,0,0,0,0,0,0, - 0,0,0,0,0,-138,0,-140,0,0, - 0,-158,0,0,0,0,0,0,0,0, - 0,-179,-184,0,0,-128,0,-194,0,0, - 0,0,0,0,0,0,-175,0,-141,0, - 0,-162,0,0,0,0,0,0,0,0, - 0,-190,-201,0,-203,0,-109,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-136, - 0,0,-167,0,0,0,0,0,0,0, - -14,0,0,0,0,0,0,0,0,0, - 0,0,0,-161,-34,0,-55,0,-156,0, - -204,0,0,0,0,-185,0,-200,0,0, - -202,0,0,0,0,0,0,0,0,0, + -136,0,0,-167,0,0,0,0,0,0, + 0,-14,0,0,0,0,0,0,0,0, + 0,0,0,0,-161,-34,0,-55,0,-156, + 0,-204,0,0,0,0,-185,0,-200,0, + 0,-202,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0 + 0,0,0,0,0,0 }; }; public final static short baseCheck[] = BaseCheck.baseCheck; @@ -232,158 +232,158 @@ public class C99ExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse 31,31,31,31,31,52,54,54,54,54, 54,54,54,54,54,54,54,54,66,66, 27,27,63,63,63,63,64,64,64,55, - 55,56,56,48,48,32,85,85,78,79, - 79,79,65,65,80,80,81,81,67,67, - 21,22,22,22,30,47,47,34,34,34, - 34,37,37,39,35,35,36,40,40,108, - 108,38,109,109,86,86,25,25,25,25, - 25,25,25,25,25,82,49,49,49,49, - 58,58,57,57,57,59,59,50,50,87, - 87,62,62,60,60,60,42,42,42,43, - 44,44,44,45,45,45,45,53,53,70, - 70,70,70,68,88,89,89,90,90,91, - 91,110,110,111,111,112,112,112,112,114, - 114,113,113,113,115,115,83,83,1,14, - 19,15,332,526,44,375,539,335,378,376, - 453,452,483,454,521,492,74,91,480,134, - 210,6,433,570,30,465,136,133,135,159, - 295,14,19,15,332,526,44,375,480,335, - 378,376,453,452,483,454,521,492,74,277, - 138,1289,165,341,14,19,15,332,42,44, - 615,142,145,148,151,53,32,306,249,331, - 1365,1100,1370,1499,1504,1158,341,14,19,15, - 332,42,39,279,341,14,19,15,332,42, - 44,375,23,335,378,376,453,1056,280,570, - 520,295,14,19,15,332,526,44,375,480, - 335,378,376,453,452,483,454,521,492,74, - 277,203,14,19,15,332,526,44,375,480, - 335,378,376,453,452,483,454,521,492,74, - 277,552,23,104,137,649,341,14,19,15, - 332,526,44,375,279,335,378,376,453,452, - 483,454,521,492,74,91,270,323,22,280, - 619,1500,1369,163,281,216,1182,218,1321,220, - 221,226,259,265,1088,498,268,1506,177,282, - 155,14,19,15,332,526,44,375,1518,335, - 378,376,453,452,483,454,521,492,74,1096, - 645,235,207,271,236,647,49,331,407,14, - 19,15,332,526,44,375,1556,335,378,376, - 453,452,483,454,521,492,74,1141,179,14, - 19,15,332,526,44,375,443,335,378,376, - 453,452,483,454,521,492,74,1349,1448,525, - 285,1517,237,318,14,19,15,332,526,44, - 375,323,335,378,376,453,452,483,454,521, - 492,74,277,341,14,19,15,332,526,44, - 375,16,335,378,376,453,452,483,454,521, - 492,74,92,429,459,187,286,193,341,14, - 19,15,332,526,44,375,283,335,378,376, - 453,452,483,454,521,492,74,85,341,14, - 19,15,332,526,44,375,323,335,378,376, - 453,452,483,454,521,492,74,84,341,14, - 19,15,332,526,44,375,1209,335,378,376, - 453,452,483,454,521,492,74,83,341,14, - 19,15,332,526,44,375,323,335,378,376, - 453,452,483,454,521,492,74,82,341,14, - 19,15,332,526,44,375,1211,335,378,376, - 453,452,483,454,521,492,74,81,341,14, - 19,15,332,526,44,375,323,335,378,376, - 453,452,483,454,521,492,74,80,341,14, - 19,15,332,526,44,375,21,335,378,376, - 453,452,483,454,521,492,74,79,341,14, - 19,15,332,526,44,375,323,335,378,376, - 453,452,483,454,521,492,74,78,341,14, - 19,15,332,526,44,375,269,335,378,376, - 453,452,483,454,521,492,74,77,341,14, - 19,15,332,526,44,375,255,335,378,376, - 453,452,483,454,521,492,74,76,341,14, - 19,15,332,526,44,375,54,335,378,376, - 453,452,483,454,521,492,74,75,341,14, - 19,15,332,42,44,806,211,134,210,591, - 601,606,441,608,136,133,135,159,341,14, - 19,15,332,526,44,375,558,335,378,376, - 453,452,483,454,521,492,74,1459,138,1332, - 165,341,14,19,15,332,42,38,597,142, - 145,148,151,1347,506,1587,607,416,1365,1100, - 1370,1499,1504,1158,341,14,19,15,332,526, - 44,375,20,335,378,376,453,452,483,454, - 521,492,74,1523,341,14,19,15,332,42, - 44,375,57,335,378,376,453,452,483,454, - 521,492,93,341,14,19,15,332,42,44, - 375,87,335,378,376,453,452,483,454,521, - 492,93,341,14,19,15,332,42,44,375, - 1582,335,378,376,453,452,483,454,521,492, - 93,341,14,19,15,332,42,44,375,209, - 335,378,376,453,452,483,454,521,492,93, - 341,14,19,15,332,42,44,375,1583,335, - 378,376,453,452,483,454,521,492,93,341, - 14,19,15,332,42,44,375,200,335,378, - 376,453,452,483,454,521,492,73,283,65, - 363,14,19,15,332,40,201,1348,341,14, - 19,15,332,42,44,375,496,335,378,376, - 453,452,483,1123,270,227,14,19,15,332, - 42,35,536,215,1182,218,1321,220,221,226, - 1552,263,1088,498,268,615,259,12,449,243, - 568,649,273,1610,277,340,597,270,1243,260, - 466,33,456,584,303,274,215,1182,218,1321, - 220,221,226,272,263,1088,498,268,288,1440, - 238,134,210,372,251,210,257,89,144,133, - 135,159,766,341,14,19,15,332,42,44, - 375,597,335,378,376,453,452,483,454,1104, - 341,14,19,15,332,42,44,375,54,335, - 378,376,453,452,1038,240,73,341,14,19, - 15,332,42,37,1513,12,12,12,726,134, - 210,649,654,1536,1538,1569,137,133,135,159, - 341,14,19,15,332,42,44,375,656,894, - 215,1182,218,1321,220,221,226,225,290,142, - 139,371,165,1450,227,14,19,15,332,42, - 35,143,146,149,152,341,14,19,15,332, - 42,44,375,73,335,378,376,897,244,579, - 615,1513,12,573,196,198,323,1423,1558,1646, - 1542,556,341,14,19,15,332,42,44,375, - 228,335,378,932,250,210,275,215,1182,218, - 1321,220,221,226,385,14,19,15,332,33, - 1450,341,14,19,15,332,42,44,375,373, - 335,378,951,341,14,19,15,332,42,44, - 375,1446,335,849,341,14,19,15,332,42, - 36,197,198,341,14,19,15,332,42,44, - 375,624,335,850,341,14,19,15,332,42, - 44,375,374,335,851,341,14,19,15,332, - 42,44,375,349,335,853,224,390,211,597, - 106,1513,341,14,19,15,332,42,44,375, - 546,896,629,12,540,107,12,12,846,610, - 495,1572,1514,239,1613,411,69,215,1182,218, - 1321,220,221,226,273,270,134,210,183,270, - 1440,134,210,141,133,135,159,451,147,133, - 135,159,263,1088,498,268,263,1088,498,268, - 216,1182,218,1321,220,221,226,140,656,165, - 262,657,323,573,766,341,14,19,15,332, - 42,35,341,14,19,15,332,42,34,12, - 323,12,276,12,250,210,590,308,625,308, - 659,308,341,14,19,15,332,42,47,597, - 222,50,195,1709,195,1709,195,251,210,1648, - 636,1360,87,1360,87,1360,87,1709,1166,1709, - 581,1567,581,241,581,341,14,19,15,332, - 42,46,341,14,19,15,332,42,45,501, - 645,477,1709,646,507,686,272,14,19,15, - 332,42,43,211,609,629,250,629,573,629, - 134,210,826,597,456,134,210,150,133,135, - 159,194,153,133,135,159,611,1039,611,250, - 210,182,611,26,826,185,826,242,1709,87, - 826,1651,609,629,1709,1709,573,316,417,195, - 826,195,1376,1587,255,195,826,595,1470,617, - 1470,1246,611,1350,1470,1039,1103,250,210,184, - 826,1039,597,597,191,323,191,564,251,210, - 191,1362,1634,1515,1634,195,1369,1519,1634,328, - 548,451,255,1709,1470,227,287,289,255,1246, - 627,1350,270,617,1103,1585,1709,1350,826,1709, - 191,385,14,19,15,332,32,1553,1634,265, - 1088,498,268,1039,643,12,206,12,858,628, - 1369,556,826,456,1641,456,629,826,629,1198, - 1421,629,1709,1709,1709,1709,1709,195,1709,1709, - 255,231,1039,1709,1709,1709,1470,1422,87,1350, - 87,1709,202,1709,203,1709,888,278,1101,1709, - 206,1709,192,1709,1709,1709,1709,1709,1709,256, - 1709,1709,1709,1418,1421,1709,0,17,179,0, - 18,178,0,1,1932,0,1,1943,0 + 55,56,56,48,48,48,32,85,85,78, + 79,79,79,65,65,80,80,81,81,67, + 67,21,22,22,22,30,47,47,34,34, + 34,34,37,37,39,35,35,36,40,40, + 108,108,38,109,109,86,86,25,25,25, + 25,25,25,25,25,25,82,49,49,49, + 49,58,58,57,57,57,59,59,50,50, + 87,87,62,62,60,60,60,42,42,42, + 43,44,44,44,45,45,45,45,53,53, + 70,70,70,70,68,88,89,89,90,90, + 91,91,110,110,111,111,112,112,112,112, + 114,114,113,113,113,115,115,83,83,1, + 14,19,15,333,527,44,376,139,336,379, + 377,454,453,484,455,522,493,74,91,155, + 134,211,42,831,415,118,192,136,133,135, + 159,554,14,19,15,333,527,44,376,481, + 336,379,377,454,453,484,455,522,493,74, + 278,138,1290,165,612,14,19,15,333,42, + 44,616,142,145,148,151,209,13,307,56, + 332,1366,1101,1371,1500,1505,1159,612,14,19, + 15,333,42,39,280,612,14,19,15,333, + 42,44,376,23,336,379,377,454,1057,281, + 415,521,554,14,19,15,333,527,44,376, + 481,336,379,377,454,453,484,455,522,493, + 74,278,434,14,19,15,333,527,44,376, + 481,336,379,377,454,453,484,455,522,493, + 74,278,429,107,187,183,626,612,14,19, + 15,333,527,44,376,280,336,379,377,454, + 453,484,455,522,493,74,91,271,472,22, + 281,673,1501,1370,537,282,217,1183,219,1322, + 221,222,227,374,266,1089,499,269,1507,279, + 283,368,14,19,15,333,527,44,376,1519, + 336,379,377,454,453,484,455,522,493,74, + 1097,479,135,208,272,237,754,702,332,696, + 14,19,15,333,527,44,376,1557,336,379, + 377,454,453,484,455,522,493,74,1142,401, + 14,19,15,333,527,44,376,708,336,379, + 377,454,453,484,455,522,493,74,1350,1449, + 526,286,1518,238,583,14,19,15,333,527, + 44,376,472,336,379,377,454,453,484,455, + 522,493,74,278,612,14,19,15,333,527, + 44,376,16,336,379,377,454,453,484,455, + 522,493,74,92,724,743,212,287,193,612, + 14,19,15,333,527,44,376,284,336,379, + 377,454,453,484,455,522,493,74,85,612, + 14,19,15,333,527,44,376,472,336,379, + 377,454,453,484,455,522,493,74,84,612, + 14,19,15,333,527,44,376,1210,336,379, + 377,454,453,484,455,522,493,74,83,612, + 14,19,15,333,527,44,376,472,336,379, + 377,454,453,484,455,522,493,74,82,612, + 14,19,15,333,527,44,376,1212,336,379, + 377,454,453,484,455,522,493,74,81,612, + 14,19,15,333,527,44,376,472,336,379, + 377,454,453,484,455,522,493,74,80,612, + 14,19,15,333,527,44,376,21,336,379, + 377,454,453,484,455,522,493,74,79,612, + 14,19,15,333,527,44,376,472,336,379, + 377,454,453,484,455,522,493,74,78,612, + 14,19,15,333,527,44,376,270,336,379, + 377,454,453,484,455,522,493,74,77,612, + 14,19,15,333,527,44,376,257,336,379, + 377,454,453,484,455,522,493,74,76,612, + 14,19,15,333,527,44,376,286,336,379, + 377,454,453,484,455,522,493,74,75,612, + 14,19,15,333,42,44,807,260,134,211, + 210,492,512,166,569,136,133,135,159,612, + 14,19,15,333,527,44,376,214,336,379, + 377,454,453,484,455,522,493,74,1460,138, + 1333,165,612,14,19,15,333,42,38,117, + 142,145,148,151,1348,375,1588,440,508,1366, + 1101,1371,1500,1505,1159,612,14,19,15,333, + 527,44,376,20,336,379,377,454,453,484, + 455,522,493,74,1524,612,14,19,15,333, + 42,44,376,58,336,379,377,454,453,484, + 455,522,493,93,612,14,19,15,333,42, + 44,376,106,336,379,377,454,453,484,455, + 522,493,93,612,14,19,15,333,42,44, + 376,1583,336,379,377,454,453,484,455,522, + 493,93,612,14,19,15,333,42,44,376, + 210,336,379,377,454,453,484,455,522,493, + 93,612,14,19,15,333,42,44,376,1584, + 336,379,377,454,453,484,455,522,493,93, + 612,14,19,15,333,42,44,376,201,336, + 379,377,454,453,484,455,522,493,73,592, + 396,640,14,19,15,333,40,202,1349,612, + 14,19,15,333,42,44,376,218,336,379, + 377,454,453,484,1124,271,463,14,19,15, + 333,42,35,840,216,1183,219,1322,221,222, + 227,1553,264,1089,499,269,705,260,6,469, + 244,59,626,274,1611,470,341,117,271,1244, + 261,782,562,457,331,380,275,216,1183,219, + 1322,221,222,227,273,264,1089,499,269,289, + 1441,239,134,211,413,252,211,258,89,144, + 133,135,159,767,612,14,19,15,333,42, + 44,376,117,336,379,377,454,453,484,455, + 1105,612,14,19,15,333,42,44,376,286, + 336,379,377,454,453,1039,241,152,612,14, + 19,15,333,42,37,1514,6,6,6,727, + 134,211,626,646,1537,1539,1570,137,133,135, + 159,612,14,19,15,333,42,44,376,630, + 895,216,1183,219,1322,221,222,227,226,291, + 29,139,531,165,1451,463,14,19,15,333, + 42,35,143,146,149,152,612,14,19,15, + 333,42,44,376,152,336,379,377,898,245, + 299,705,1514,6,290,197,199,472,1424,1559, + 1647,1543,557,612,14,19,15,333,42,44, + 376,229,336,379,933,251,211,276,216,1183, + 219,1322,221,222,227,668,14,19,15,333, + 33,1451,612,14,19,15,333,42,44,376, + 563,336,379,952,612,14,19,15,333,42, + 44,376,1447,336,850,612,14,19,15,333, + 42,36,198,199,612,14,19,15,333,42, + 44,376,588,336,851,612,14,19,15,333, + 42,44,376,620,336,852,612,14,19,15, + 333,42,44,376,72,336,854,225,624,260, + 117,449,1514,612,14,19,15,333,42,44, + 376,491,897,309,6,844,327,6,6,847, + 568,795,1573,1515,240,1614,412,350,216,1183, + 219,1322,221,222,227,274,271,134,211,183, + 271,1441,134,211,141,133,135,159,452,147, + 133,135,159,264,1089,499,269,264,1089,499, + 269,217,1183,219,1322,221,222,227,140,630, + 165,263,682,472,290,767,612,14,19,15, + 333,42,35,612,14,19,15,333,42,34, + 6,472,6,277,6,251,211,340,309,674, + 309,676,309,612,14,19,15,333,42,47, + 117,223,683,196,1710,196,1710,196,252,211, + 1649,505,1361,87,1361,87,1361,87,1710,1167, + 1710,582,1568,582,242,582,612,14,19,15, + 333,42,46,612,14,19,15,333,42,45, + 808,479,478,1710,647,821,687,525,14,19, + 15,333,42,43,260,595,309,496,309,290, + 309,134,211,827,117,457,134,211,150,133, + 135,159,194,153,133,135,159,46,1040,94, + 251,211,182,142,26,827,185,827,243,1710, + 87,827,1652,595,309,1710,1710,290,317,597, + 196,827,196,1377,1588,256,196,827,376,1471, + 501,1471,1247,238,1351,1471,1040,1104,251,211, + 184,827,1040,117,117,191,472,191,530,252, + 211,191,1363,1635,1516,1635,196,1370,1520,1635, + 329,549,452,256,1710,1471,228,288,290,256, + 1247,48,1351,271,501,1104,1586,1710,1351,827, + 1710,191,668,14,19,15,333,32,1554,1635, + 266,1089,499,269,1040,190,6,207,6,859, + 539,1370,308,827,457,1642,457,309,827,309, + 1199,1422,309,1710,1710,1710,1710,1710,196,1710, + 1710,256,232,1040,1710,1710,1710,1471,1423,87, + 1351,87,1710,203,1710,204,1710,889,279,1102, + 1710,207,1710,192,1710,1710,1710,1710,1710,1710, + 257,1710,1710,1710,1419,1422,1710,0,17,179, + 0,18,178,0,1,1934,0,1,1945,0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -394,81 +394,99 @@ public class C99ExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse public interface TermCheck { public final static byte termCheck[] = {0, 0,1,2,3,4,0,6,7,8,9, - 10,0,12,13,14,15,16,17,18,19, - 20,21,0,23,24,25,26,27,28,0, - 1,0,0,4,12,30,36,37,38,39, - 40,41,42,43,44,45,46,47,0,0, - 1,22,0,0,1,3,0,4,58,59, - 60,8,9,10,0,1,2,3,0,1, - 2,3,0,1,2,11,23,24,25,26, - 27,28,51,52,53,54,0,55,0,36, - 37,38,39,40,41,42,43,44,45,46, - 47,49,50,0,56,0,0,51,52,53, - 54,58,59,60,8,9,10,69,70,71, - 72,73,74,75,76,77,78,55,0,23, - 24,25,26,27,28,30,0,51,52,53, - 54,0,36,37,38,39,40,41,42,43, - 44,45,46,47,0,1,2,3,4,5, - 6,7,0,22,61,62,12,13,14,15, - 16,17,18,19,20,21,0,23,0,1, - 2,3,4,5,6,7,0,11,34,3, - 12,13,14,15,16,17,18,19,20,21, - 64,23,0,1,2,3,4,5,6,7, - 0,0,34,3,12,13,14,15,16,17, - 18,19,20,21,22,63,0,1,2,3, - 4,5,6,7,0,49,50,35,12,13, - 14,15,16,17,18,19,20,21,0,0, - 1,2,3,4,0,6,7,3,0,0, - 34,12,13,14,15,16,17,18,19,20, - 21,0,1,2,3,4,0,6,7,31, - 32,5,0,12,13,14,15,16,17,18, - 19,20,21,22,0,1,2,3,4,65, - 6,7,0,49,50,29,12,13,14,15, - 16,17,18,19,20,21,22,0,1,2, - 3,4,0,6,7,67,68,5,79,12, - 13,14,15,16,17,18,19,20,21,22, - 0,1,2,3,4,63,6,7,0,1, - 2,29,12,13,14,15,16,17,18,19, - 20,21,0,1,2,3,4,65,6,7, - 0,0,0,0,12,13,14,15,16,17, - 18,19,20,21,0,1,2,3,4,0, - 6,7,22,0,22,22,12,13,14,15, - 16,17,18,19,20,21,0,1,2,3, - 4,22,6,7,0,0,0,1,12,13, - 14,15,16,17,18,19,20,21,0,0, - 2,3,0,5,2,64,8,9,10,11, - 0,1,0,11,4,13,14,5,0,33, - 2,23,24,25,26,27,28,29,0,11, - 2,3,22,5,0,0,8,9,10,11, - 6,7,30,8,9,10,61,62,0,0, - 48,23,24,25,26,27,28,29,23,24, - 25,26,27,28,0,0,0,0,66,57, - 0,0,8,9,10,0,0,12,8,9, - 10,6,7,0,8,9,10,23,24,25, - 26,27,28,23,24,25,26,27,28,23, - 24,25,26,27,28,0,1,2,0,0, - 5,2,0,5,5,0,11,2,3,0, - 11,0,1,2,3,0,11,0,1,80, - 5,4,11,0,29,2,3,0,29,0, - 1,0,0,4,11,8,9,10,0,22, - 8,9,10,0,29,30,8,9,10,0, - 0,8,9,10,0,57,0,8,9,10, - 0,5,8,9,10,0,0,0,0,0, - 0,3,6,7,0,5,0,1,0,5, - 4,31,32,0,0,2,0,0,0,11, - 34,31,32,5,11,0,31,32,31,32, - 5,33,0,29,0,35,0,5,0,1, - 0,1,4,0,4,0,0,11,0,33, - 33,0,0,35,11,56,48,0,0,0, - 0,0,0,0,30,0,0,35,0,0, - 56,0,0,0,0,30,30,0,0,0, - 0,0,57,0,48,0,0,0,0,0, + 10,11,0,13,14,15,16,17,18,19, + 20,21,22,23,24,25,26,27,0,29, + 30,31,32,33,34,35,36,37,38,39, + 40,0,42,43,44,0,1,0,3,0, + 5,6,7,8,9,0,28,0,0,14, + 15,16,17,18,6,7,8,55,56,57, + 58,0,1,2,29,30,31,32,33,34, + 35,36,37,38,39,40,45,42,43,44, + 0,46,47,0,1,0,3,50,5,6, + 7,8,9,48,49,0,0,14,15,16, + 17,18,55,56,57,58,0,0,1,13, + 3,5,29,30,31,32,33,34,35,36, + 37,38,39,40,0,42,43,44,0,46, + 47,0,1,5,3,28,5,6,7,8, + 9,0,1,2,0,14,15,16,17,18, + 55,56,57,58,0,0,1,51,3,0, + 29,30,31,32,33,34,35,36,37,38, + 39,40,0,42,43,44,0,46,47,0, + 1,0,3,28,5,6,7,8,9,61, + 66,10,11,14,15,16,17,18,0,0, + 59,0,4,0,1,4,3,0,29,30, + 31,32,33,34,35,36,37,38,39,40, + 13,42,43,44,80,46,47,0,1,0, + 3,28,5,6,7,8,9,65,62,63, + 0,14,15,16,17,18,0,48,49,0, + 4,53,54,4,53,54,29,30,31,32, + 33,34,35,36,37,38,39,40,0,42, + 43,44,0,46,47,0,1,0,3,0, + 12,6,7,8,9,6,7,8,0,14, + 15,16,17,18,6,7,8,0,0,53, + 54,0,5,5,29,30,31,32,33,34, + 35,36,37,38,39,40,0,42,43,44, + 0,0,6,7,8,9,6,7,8,0, + 14,15,16,17,18,6,7,8,41,0, + 1,2,45,4,46,29,30,31,32,33, + 34,35,36,37,38,39,40,0,1,2, + 3,4,5,0,0,0,9,10,11,0, + 13,6,7,8,10,11,19,20,21,22, + 23,24,25,26,27,0,1,2,0,4, + 0,1,2,3,4,5,0,12,0,9, + 10,11,0,13,0,1,0,3,51,19, + 20,21,22,23,24,25,26,27,0,1, + 2,0,4,0,1,2,3,4,5,0, + 12,68,69,10,11,66,13,0,0,10, + 11,51,19,20,21,22,23,24,25,26, + 27,28,0,1,2,3,4,5,0,0, + 2,0,10,11,5,13,5,65,0,46, + 12,19,20,21,22,23,24,25,26,27, + 0,0,2,45,4,0,1,2,3,4, + 0,1,12,3,0,10,11,0,13,5, + 41,0,41,51,19,20,21,22,23,24, + 25,26,27,45,0,1,2,3,4,0, + 0,2,0,4,10,11,0,13,0,48, + 49,12,47,19,20,21,22,23,24,25, + 26,27,28,0,1,2,3,4,28,48, + 49,0,0,10,11,61,13,0,0,62, + 63,0,19,20,21,22,23,24,25,26, + 27,28,0,1,2,3,4,0,50,2, + 28,0,10,11,0,13,0,1,4,12, + 64,19,20,21,22,23,24,25,26,27, + 28,0,1,2,3,4,48,49,0,0, + 59,10,11,0,13,0,1,60,3,0, + 19,20,21,22,23,24,25,26,27,0, + 1,2,3,4,50,0,50,28,0,10, + 11,28,13,0,1,64,3,12,19,20, + 21,22,23,24,25,26,27,0,1,2, + 3,4,0,0,45,0,0,10,11,0, + 13,0,0,1,12,0,19,20,21,22, + 23,24,25,26,27,0,1,2,3,4, + 0,0,0,0,0,10,11,0,13,5, + 0,0,5,0,19,20,21,22,23,24, + 25,26,27,0,52,2,45,4,5,6, + 7,8,9,60,59,12,0,14,15,16, + 17,18,0,0,2,41,4,5,6,7, + 8,9,45,0,12,0,14,15,16,17, + 18,60,0,0,41,12,0,0,61,0, + 0,70,71,72,73,74,75,76,77,78, + 79,0,0,41,0,0,0,6,7,8, + 9,0,0,0,0,14,15,16,17,18, + 6,7,8,9,0,52,0,0,14,15, + 16,17,18,6,7,8,9,0,0,0, + 0,14,15,16,17,18,6,7,8,9, + 0,0,2,0,14,15,16,17,18,0, + 1,2,12,0,5,2,0,0,5,19, + 20,12,0,0,0,12,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,55,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 41,0,52,0,41,0,0,0,0,0, + 0,0,0,0,0,0,0,67,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0 + 0,0,0,0,0,0,0 }; }; public final static byte termCheck[] = TermCheck.termCheck; @@ -476,78 +494,96 @@ public class C99ExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse public interface TermAction { public final static char termAction[] = {0, - 1709,613,1439,1425,614,88,1304,1167,1920,1921, - 1922,1,1432,1621,1274,1040,1719,1720,1721,1722, - 881,386,64,1871,1872,1870,1923,1873,1869,1709, - 1889,59,1709,1890,1225,593,1876,1881,1880,1878, - 1879,1877,1882,1883,1875,1884,1885,1886,42,1709, - 1944,1175,48,1709,1888,1492,61,1887,866,852, - 334,1920,1921,1922,258,1932,1072,1,1709,1932, - 1343,1239,1,1932,1343,500,1871,1872,1870,1923, - 1873,1869,1335,1324,1313,1293,60,1019,1709,1876, - 1881,1880,1878,1879,1877,1882,1883,1875,1884,1885, - 1886,1485,1452,62,818,252,128,1335,1324,1313, - 1293,866,852,334,1920,1921,1922,798,778,758, - 738,718,678,698,658,638,618,981,1709,1871, - 1872,1870,1923,1873,1869,1639,68,1335,1324,1313, - 1293,41,1876,1881,1880,1878,1879,1877,1882,1883, - 1875,1884,1885,1886,1,1726,1439,1065,1727,1712, - 1304,1167,66,1087,1281,1252,1432,1621,1274,1040, - 1719,1720,1721,1722,881,386,267,528,1709,1726, - 1439,1214,1727,1712,1304,1167,50,500,1711,1492, - 1432,1621,1274,1040,1719,1720,1721,1722,881,386, - 1150,904,1,1726,1439,1425,1727,27,1304,1167, - 1709,1709,1711,1090,1432,1621,1274,1040,1719,1720, - 1721,1722,881,386,1367,394,1709,1726,1439,1425, - 1727,1712,1304,1167,70,1485,1452,27,1432,1621, - 1274,1040,1719,1720,1721,1722,881,386,54,1709, - 1,1,1,1,49,1,1,1492,72,1709, - 1711,1,1,1,1,1,1,1,1,1, - 1,1709,1726,1439,1425,1727,1,1304,1167,1190, - 1352,90,67,1432,1621,1274,1040,1719,1720,1721, - 1722,881,386,1087,1,1726,1439,1425,1727,1048, - 1304,1167,71,1485,1452,90,1432,1621,1274,1040, - 1719,1720,1721,1722,881,386,1367,1709,1726,1439, - 1425,1727,1709,1304,1167,1133,1637,1714,2016,1432, - 1621,1274,1040,1719,1720,1721,1722,881,386,1367, - 1709,1726,1439,1425,1727,394,1304,1167,1,1932, - 1343,1713,1432,1621,1274,1040,1719,1720,1721,1722, - 881,386,1709,1726,1441,1425,1727,1048,1304,1167, - 1709,69,187,186,1432,1621,1274,1040,1719,1720, - 1721,1722,881,386,1709,1726,1443,1425,1727,188, - 1304,1167,1087,1709,1242,1363,1432,1621,1274,1040, - 1719,1720,1721,1722,881,386,1,1726,1439,1425, - 1727,1366,1304,1167,1709,63,1,1706,1432,1621, - 1274,1040,1719,1720,1721,1722,881,386,17,1709, - 1697,1697,31,1697,1094,1150,179,179,179,1697, - 1709,1889,1709,1635,1890,1733,1734,1718,266,1963, - 1085,179,179,179,179,179,179,1697,18,500, - 1700,1700,1176,1700,51,129,178,178,178,1700, - 838,363,1233,1920,1921,1922,1281,1252,1709,1709, - 409,178,178,178,178,178,178,1700,1871,1872, - 1870,1923,1873,1869,130,65,1709,1709,333,1717, - 131,1709,1920,1921,1922,53,132,1225,1920,1921, - 1922,838,363,1709,1920,1921,1922,1871,1872,1870, - 1923,1873,1869,1871,1872,1870,1923,1873,1869,1871, - 1872,1870,1923,1873,1869,1,1703,1072,1709,1, - 1714,1364,1709,1718,1714,261,500,1364,1,1709, - 500,264,1932,1072,1239,1709,500,1709,1889,1696, - 1714,1890,500,264,1713,1364,1239,246,1713,1709, - 1738,1709,1709,1739,500,1,1,1,247,1177, - 1920,1921,1922,245,1713,1461,1,1,1,248, - 58,1920,1921,1922,249,1717,1709,1920,1921,1922, - 57,1712,1920,1921,1922,56,52,55,1,208, - 1,1090,838,363,1,190,205,1889,1709,1714, - 1890,1190,1352,219,1709,1240,1,1,1709,924, - 1711,1190,1352,1716,500,1,1190,1352,1190,1352, - 1718,1963,1,1713,28,190,284,189,1709,1889, - 204,455,1890,217,455,28,204,962,199,1963, - 1962,1709,1709,1715,500,943,1091,1709,1709,1709, - 1709,1709,1709,1709,431,1709,1709,189,1709,1709, - 573,1709,1709,1709,1709,1736,2667,1709,1709,1709, - 1709,1709,1717,1709,1181,1709,1709,1709,1709,1709, - 1709,1709,1709,1709,1709,1709,1709,1709,1709,1709, - 1709,1709,1709,1000 + 1710,614,1440,615,1426,1,1922,1923,1924,1872, + 1305,1168,59,1433,1873,1871,1925,1874,1870,1622, + 1275,1041,1720,1721,1722,1723,882,387,41,1877, + 1882,1881,1879,1880,1878,1883,1884,1876,1885,1886, + 1887,88,867,853,335,1710,1,1,1,1710, + 190,1,1,1,1,54,1088,61,247,1, + 1,1,1,1,1,1,1,1336,1325,1314, + 1294,1,1934,1344,1,1,1,1,1,1, + 1,1,1,1,1,1,594,1,1,1, + 1710,190,1905,1710,1,1710,1,1965,190,1, + 1,1,1,1191,1353,60,64,1,1,1, + 1,1,1336,1325,1314,1294,1710,1710,1890,1226, + 1891,1713,1,1,1,1,1,1,1,1, + 1,1,1,1,70,1,1,1,1710,190, + 1905,1710,1,1719,1,1176,190,1,1,1, + 1,1,1934,1344,1710,1,1,1,1,1, + 1336,1325,1314,1294,1710,1710,1890,1712,1891,1710, + 1,1,1,1,1,1,1,1,1,1, + 1,1,68,1,1,1,62,190,1905,1710, + 1,51,1,1177,189,1,1,1,1,1718, + 1049,839,364,1,1,1,1,1,48,58, + 982,50,1493,1710,1890,1493,1891,65,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1226,1,1,1,1697,189,1905,1710,1,1710, + 1,1178,190,1,1,1,1,1151,1282,1253, + 1710,1,1,1,1,1,49,1191,1353,1710, + 1493,1486,1453,1091,1486,1453,1,1,1,1, + 1,1,1,1,1,1,1,1,268,1, + 1,1,1710,190,1905,1710,1889,1710,1888,1710, + 501,1922,1923,1924,1872,1922,1923,1924,248,1873, + 1871,1925,1874,1870,1,1,1,1710,1710,1486, + 1453,1710,1715,1717,1877,1882,1881,1879,1880,1878, + 1883,1884,1876,1885,1886,1887,128,867,853,335, + 246,1710,1922,1923,1924,1872,1922,1923,1924,249, + 1873,1871,1925,1874,1870,1922,1923,1924,1714,1710, + 1934,1344,1462,1240,1716,1877,1882,1881,1879,1880, + 1878,1883,1884,1876,1885,1886,1887,1,1727,1440, + 1728,1066,1713,72,53,250,529,1305,1168,71, + 1433,1922,1923,1924,839,364,1622,1275,1041,1720, + 1721,1722,1723,882,387,259,1934,1073,1710,1, + 1710,1727,1440,1728,1215,1713,1710,501,1710,905, + 1305,1168,69,1433,1710,1739,1710,1740,1712,1622, + 1275,1041,1720,1721,1722,1723,882,387,265,1934, + 1073,1710,1240,1,1727,1440,1728,1426,27,52, + 501,1134,1638,1305,1168,1049,1433,1710,253,839, + 364,1712,1622,1275,1041,1720,1721,1722,1723,882, + 387,1368,1710,1727,1440,1728,1426,1713,267,1, + 1086,1710,1305,1168,90,1433,1715,1151,28,27, + 501,1622,1275,1041,1720,1721,1722,1723,882,387, + 262,57,1365,1640,1,1710,1,1,1,1, + 206,1890,501,1891,1,1,1,63,1,1719, + 90,56,1714,1712,1,1,1,1,1,1, + 1,1,1,432,1710,1727,1440,1728,1426,265, + 1710,1365,1710,1240,1305,1168,66,1433,1,1191, + 1353,501,2018,1622,1275,1041,1720,1721,1722,1723, + 882,387,1088,1,1727,1440,1728,1426,1088,1191, + 1353,1710,187,1305,1168,1718,1433,209,55,1282, + 1253,1710,1622,1275,1041,1720,1721,1722,1723,882, + 387,1368,1710,1727,1440,1728,1426,220,1964,1241, + 1243,67,1305,1168,1,1433,1,1707,1091,501, + 395,1622,1275,1041,1720,1721,1722,1723,882,387, + 1368,1710,1727,1440,1728,1426,1191,1353,1710,186, + 1020,1305,1168,188,1433,1710,1890,944,1891,28, + 1622,1275,1041,1720,1721,1722,1723,882,387,1710, + 1727,1442,1728,1426,1965,218,1965,1364,1710,1305, + 1168,1367,1433,205,456,395,456,501,1622,1275, + 1041,1720,1721,1722,1723,882,387,1710,1727,1444, + 1728,1426,1710,1710,1737,200,1710,1305,1168,1710, + 1433,205,1710,1946,925,1710,1622,1275,1041,1720, + 1721,1722,1723,882,387,1,1727,1440,1728,1426, + 1710,42,1710,1710,1,1305,1168,1710,1433,1715, + 1710,1710,1719,1710,1622,1275,1041,1720,1721,1722, + 1723,882,387,17,1092,1698,2672,1698,1698,179, + 179,179,179,574,1001,1698,1710,179,179,179, + 179,179,18,1710,1701,1714,1701,1701,178,178, + 178,178,1234,285,1701,1710,178,178,178,178, + 178,819,1710,1710,1698,963,1710,1710,1718,1710, + 1710,799,779,759,739,719,679,699,659,639, + 619,129,1710,1701,1710,1710,1710,1922,1923,1924, + 1872,1710,1710,1710,130,1873,1871,1925,1874,1870, + 1922,1923,1924,1872,1710,1182,1710,131,1873,1871, + 1925,1874,1870,1922,1923,1924,1872,1710,1710,1710, + 132,1873,1871,1925,1874,1870,1922,1923,1924,1872, + 31,1710,1095,1710,1873,1871,1925,1874,1870,1, + 1704,1073,1636,1,1715,1365,1710,1710,1715,1734, + 1735,501,1710,1710,1710,501,1710,1710,1710,1710, + 1710,1710,1710,1710,1710,1710,1710,1710,1710,1710, + 1710,1710,1710,1710,1710,1710,1710,1710,1710,1710, + 1714,1710,410,1710,1714,1710,1710,1710,1710,1710, + 1710,1710,1710,1710,1710,1710,1710,334 }; }; public final static char termAction[] = TermAction.termAction; @@ -555,27 +591,27 @@ public class C99ExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse public interface Asb { public final static char asb[] = {0, - 424,1,44,75,40,75,75,75,75,75, - 75,75,75,75,3,345,23,20,27,25, - 33,31,35,34,37,36,9,75,345,345, - 311,311,168,75,162,162,339,345,75,75, + 425,1,44,75,40,75,75,75,75,75, + 75,75,75,75,3,346,23,20,27,25, + 33,31,35,34,37,36,9,75,346,346, + 312,312,168,75,162,162,340,346,75,75, 75,75,75,75,75,75,75,75,75,75, 75,75,75,75,75,75,75,75,75,75, 75,75,75,75,75,75,75,75,162,162, - 162,165,51,343,69,281,160,159,314,326, - 326,65,65,326,65,326,359,116,116,20, + 162,165,51,344,69,282,160,159,315,327, + 327,65,65,327,65,327,360,116,116,20, 20,25,25,25,25,23,23,31,27,27, - 34,33,279,36,35,222,67,49,339,334, - 96,165,382,73,162,395,284,261,187,261, - 187,216,261,75,49,334,382,382,165,72, - 69,162,337,359,161,286,187,187,187,187, - 216,216,257,93,49,382,334,75,75,165, - 73,281,274,273,343,286,162,187,258,388, - 187,187,258,257,256,257,216,258,47,386, - 311,75,92,49,334,165,165,162,395,284, - 337,258,390,258,258,75,311,257,51,165, - 311,75,257,286,43,75,42,88,343,258, - 165,258,162,161,390,75,88,312 + 34,33,280,36,35,223,67,49,340,335, + 96,165,383,73,162,396,285,262,187,262, + 187,217,262,75,49,335,383,383,165,72, + 69,162,338,360,161,287,187,187,187,187, + 217,217,258,93,49,383,335,75,75,165, + 73,282,275,274,344,287,162,187,259,389, + 187,187,259,258,257,258,217,259,47,387, + 312,75,92,49,335,165,165,162,396,285, + 338,259,391,259,259,75,312,258,51,165, + 312,75,258,287,43,75,42,88,344,259, + 165,259,162,161,391,75,88,313 }; }; public final static char asb[] = Asb.asb; @@ -583,51 +619,51 @@ public class C99ExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse public interface Asr { public final static byte asr[] = {0, - 80,0,11,2,48,66,13,14,56,69, - 70,71,72,73,75,74,76,77,78,3, - 49,50,6,7,32,31,51,52,53,54, - 61,62,12,63,64,65,35,67,68,34, - 29,55,30,57,5,0,5,35,11,48, - 13,14,12,3,6,7,20,21,15,2, - 16,17,18,19,1,4,22,0,8,9, - 10,23,34,5,16,17,18,19,4,13, - 14,12,6,7,20,21,15,3,2,1, - 0,56,11,48,0,8,9,10,2,16, - 17,18,19,1,4,13,14,12,3,6, - 7,20,21,15,0,9,23,28,10,27, - 26,25,8,24,48,66,13,14,12,6, - 7,49,50,31,32,51,52,53,54,61, - 62,63,64,65,67,68,56,69,70,71, - 72,73,74,75,76,77,78,3,2,11, - 30,29,5,0,34,5,0,5,29,15, - 16,17,18,19,1,4,2,13,14,12, - 3,6,7,20,21,0,24,36,8,37, - 58,25,38,26,39,40,27,9,41,42, - 23,59,28,60,43,44,10,45,46,47, - 1,4,5,35,0,1,4,5,30,35, - 0,12,3,6,7,49,50,31,32,51, - 52,53,54,61,62,63,64,65,67,68, - 55,69,70,71,72,73,74,75,76,77, - 78,34,29,57,22,56,30,35,5,0, - 24,8,25,26,27,9,23,28,10,1, - 3,22,2,5,30,29,57,11,55,0, - 3,2,11,29,5,24,36,8,37,58, - 25,38,26,39,40,27,9,41,42,23, - 59,28,60,43,44,10,45,46,47,33, - 4,1,0,44,36,41,39,40,38,37, - 42,43,45,46,47,55,57,28,25,23, - 24,27,26,8,9,10,30,1,5,29, - 2,11,3,0,15,16,17,18,19,2, - 13,14,12,3,6,7,20,21,4,1, - 58,59,60,44,36,41,39,40,38,37, - 42,43,45,46,47,28,25,23,24,27, - 26,8,9,10,0,56,0,57,5,3, - 1,2,55,0,24,36,8,37,58,25, - 38,26,39,40,27,9,41,42,23,59, - 28,60,43,44,10,45,46,47,1,4, - 33,3,0,15,16,17,18,19,1,4, - 2,13,14,12,3,6,7,20,21,79, - 0 + 80,0,12,2,52,67,19,20,60,70, + 71,72,73,74,76,75,77,78,79,4, + 53,54,10,11,49,48,55,56,57,58, + 62,63,13,64,65,66,46,68,69,51, + 41,59,45,61,5,0,5,46,12,52, + 19,20,13,4,10,11,26,27,21,2, + 22,23,24,25,1,3,28,0,6,7, + 8,9,51,5,22,23,24,25,3,19, + 20,13,10,11,26,27,21,4,2,1, + 0,60,12,52,0,6,7,8,2,22, + 23,24,25,1,3,19,20,13,4,10, + 11,26,27,21,0,7,9,18,8,17, + 16,15,6,14,52,67,19,20,13,10, + 11,53,54,48,49,55,56,57,58,62, + 63,64,65,66,68,69,60,70,71,72, + 73,74,75,76,77,78,79,4,2,12, + 45,41,5,0,51,5,0,5,41,21, + 22,23,24,25,1,3,2,19,20,13, + 4,10,11,26,27,0,14,29,6,30, + 42,15,31,16,32,33,17,7,34,35, + 9,43,18,44,36,37,8,38,39,40, + 1,3,5,46,47,0,1,3,5,45, + 46,0,13,4,10,11,53,54,48,49, + 55,56,57,58,62,63,64,65,66,68, + 69,59,70,71,72,73,74,75,76,77, + 78,79,51,41,61,28,60,45,46,5, + 0,14,6,15,16,17,7,9,18,8, + 1,4,28,2,5,45,41,61,12,59, + 0,4,2,12,41,5,14,29,6,30, + 42,15,31,16,32,33,17,7,34,35, + 9,43,18,44,36,37,8,38,39,40, + 50,3,1,0,37,29,34,32,33,31, + 30,35,36,38,39,40,59,61,18,15, + 9,14,17,16,6,7,8,45,1,5, + 41,2,12,4,0,21,22,23,24,25, + 2,19,20,13,4,10,11,26,27,3, + 1,42,43,44,37,29,34,32,33,31, + 30,35,36,38,39,40,18,15,9,14, + 17,16,6,7,8,0,60,0,61,5, + 4,1,2,59,0,14,29,6,30,42, + 15,31,16,32,33,17,7,34,35,9, + 43,18,44,36,37,8,38,39,40,1, + 3,50,4,0,21,22,23,24,25,1, + 3,2,19,20,13,4,10,11,26,27, + 47,0 }; }; public final static byte asr[] = Asr.asr; @@ -679,14 +715,14 @@ public class C99ExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse public interface TerminalIndex { public final static char terminalIndex[] = {0, - 85,2,9,86,87,10,11,48,64,76, - 1,8,6,7,68,81,82,83,84,12, - 13,3,69,44,55,60,63,72,90,42, - 16,17,30,89,91,47,52,56,61,62, - 66,67,74,75,78,79,80,4,14,15, - 18,19,20,21,29,31,92,54,70,73, - 22,23,24,25,26,5,27,28,32,33, - 34,35,36,37,38,39,40,41,93,94, + 85,2,86,9,87,48,64,76,69,10, + 11,1,8,44,55,60,63,72,6,7, + 68,81,82,83,84,12,13,3,47,52, + 56,61,62,66,67,74,75,78,79,80, + 90,54,70,73,42,91,93,16,17,30, + 89,4,14,15,18,19,20,21,29,31, + 92,22,23,24,25,26,5,27,28,32, + 33,34,35,36,37,38,39,40,41,94, 45,46,49,50,51,53,57,58,59,65, 71,77,88 }; @@ -748,10 +784,10 @@ public class C99ExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse public interface ScopeLa { public final static byte scopeLa[] = { - 35,35,34,34,35,35,35,86,35,29, - 34,29,35,35,29,34,57,29,29,34, - 55,34,34,29,34,29,29,56,1,29, - 92,29,57,2,2,2 + 46,46,51,51,46,46,46,86,46,41, + 51,41,46,46,41,51,61,41,41,51, + 59,51,51,41,51,41,41,60,1,41, + 92,41,61,2,2,2 }; }; public final static byte scopeLa[] = ScopeLa.scopeLa; @@ -770,25 +806,25 @@ public class C99ExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse public interface ScopeRhs { public final static char scopeRhs[] = {0, - 139,11,0,96,0,181,101,0,31,136, - 0,144,163,101,22,0,98,0,150,101, + 139,12,0,96,0,181,101,0,31,136, + 0,144,163,101,28,0,98,0,150,101, 2,136,0,97,0,150,101,2,0,153, - 2,0,112,23,175,101,11,0,112,175, - 101,23,11,0,112,23,11,0,112,175, - 101,11,0,112,11,0,130,0,2,0, + 2,0,112,9,175,101,12,0,112,175, + 101,9,12,0,112,9,12,0,112,175, + 101,12,0,112,12,0,130,0,2,0, 151,97,0,2,97,0,150,101,2,130, 0,2,0,150,97,0,140,2,0,144, - 173,101,22,120,58,0,144,173,101,22, - 58,0,125,0,99,0,178,101,125,0, - 101,125,0,141,99,0,148,101,22,120, - 60,0,148,101,22,120,59,0,148,101, - 22,60,0,148,101,22,59,0,187,85, + 173,101,28,120,42,0,144,173,101,28, + 42,0,125,0,99,0,178,101,125,0, + 101,125,0,141,99,0,148,101,28,120, + 44,0,148,101,28,120,43,0,148,101, + 28,44,0,148,101,28,43,0,187,85, 0,77,2,100,97,99,0,187,113,134, - 2,89,0,53,0,0,134,68,110,0, + 2,89,0,53,0,0,134,69,110,0, 29,117,0,155,2,0,97,106,0,155, - 2,15,0,144,163,101,22,113,155,2, + 2,21,0,144,163,101,28,113,155,2, 0,97,3,0,104,0,98,0,177,2, - 97,0,134,11,97,0,134,2,0 + 97,0,134,12,97,0,134,2,0 }; }; public final static char scopeRhs[] = ScopeRhs.scopeRhs; @@ -796,16 +832,16 @@ public class C99ExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse public interface ScopeState { public final static char scopeState[] = {0, - 525,0,480,0,1572,1634,1542,1538,1536,0, - 1376,1233,1343,1166,451,1072,1039,0,826,1158, - 308,0,1321,1182,1088,498,451,1072,1039,1587, - 1364,1360,0,1621,1274,1040,1214,1065,1506,1048, - 1133,394,1150,1281,1252,1225,1352,1190,1335,1324, - 1313,1293,1492,1485,1452,838,363,1432,1425,1304, - 1167,881,386,1000,981,962,943,924,904,858, - 548,1019,528,500,818,798,778,758,738,718, - 698,678,658,638,618,308,593,456,573,411, - 431,340,0 + 526,0,481,0,1573,1635,1543,1539,1537,0, + 1377,1234,1344,1167,452,1073,1040,0,827,1159, + 309,0,1322,1183,1089,499,452,1073,1040,1588, + 1365,1361,0,1622,1275,1041,1215,1066,1507,1049, + 1134,395,1151,1282,1253,1226,1353,1191,1336,1325, + 1314,1294,1493,1486,1453,839,364,1433,1426,1305, + 1168,882,387,1001,982,963,944,925,905,859, + 549,1020,529,501,819,799,779,759,739,719, + 699,679,659,639,619,309,594,457,574,412, + 432,341,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -813,27 +849,27 @@ public class C99ExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse public interface InSymb { public final static char inSymb[] = {0, - 0,176,134,101,164,15,21,20,7,6, - 3,12,14,13,97,2,102,100,104,103, - 106,105,108,107,110,109,98,30,2,2, - 66,48,2,11,155,134,125,101,7,6, - 50,49,3,54,53,52,51,31,32,12, - 62,61,64,63,68,67,65,78,77,76, - 74,75,73,72,71,70,69,56,155,155, - 177,134,113,101,11,2,137,136,165,166, - 167,60,59,168,58,169,170,1,4,100, + 0,176,134,101,164,21,27,26,11,10, + 4,13,20,19,97,2,102,100,104,103, + 106,105,108,107,110,109,98,45,2,2, + 67,52,2,12,155,134,125,101,11,10, + 54,53,4,58,57,56,55,48,49,13, + 63,62,65,64,69,68,66,79,78,77, + 75,76,74,73,72,71,70,60,155,155, + 177,134,113,101,12,2,137,136,165,166, + 167,44,43,168,42,169,170,1,3,100, 100,103,103,103,103,102,102,105,104,104, - 107,106,134,109,108,113,113,22,142,3, - 23,112,101,3,153,101,2,120,22,120, - 22,22,120,55,101,3,101,101,112,175, - 151,150,116,101,152,101,22,101,22,101, - 101,22,163,101,22,101,151,175,23,112, - 3,2,128,130,101,30,150,101,148,125, - 149,101,148,173,120,174,101,144,30,181, - 48,11,182,101,151,112,112,140,101,2, - 142,148,101,148,144,56,30,173,56,139, - 48,11,163,101,178,55,140,2,101,144, - 139,144,150,179,30,55,142,30 + 107,106,134,109,108,113,113,28,142,4, + 9,112,101,4,153,101,2,120,28,120, + 28,28,120,59,101,4,101,101,112,175, + 151,150,116,101,152,101,28,101,28,101, + 101,28,163,101,28,101,151,175,9,112, + 4,2,128,130,101,45,150,101,148,125, + 149,101,148,173,120,174,101,144,45,181, + 52,12,182,101,151,112,112,140,101,2, + 142,148,101,148,144,60,45,173,60,139, + 52,12,163,101,178,59,140,2,101,144, + 139,144,150,179,45,59,142,45 }; }; public final static char inSymb[] = InSymb.inSymb; @@ -1017,7 +1053,7 @@ public class C99ExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse public final String name(int index) { return name[index]; } public final static int - ERROR_SYMBOL = 79, + ERROR_SYMBOL = 47, SCOPE_UBOUND = 35, SCOPE_SIZE = 36, MAX_NAME_LENGTH = 38; @@ -1030,18 +1066,18 @@ public class C99ExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse public final static int NUM_STATES = 208, NT_OFFSET = 93, - LA_STATE_OFFSET = 2016, + LA_STATE_OFFSET = 2018, MAX_LA = 2, - NUM_RULES = 307, + NUM_RULES = 308, NUM_NONTERMINALS = 115, NUM_SYMBOLS = 208, SEGMENT_SIZE = 8192, - START_STATE = 1516, + START_STATE = 1517, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 80, EOLT_SYMBOL = 80, - ACCEPT_ACTION = 1696, - ERROR_ACTION = 1709; + ACCEPT_ACTION = 1697, + ERROR_ACTION = 1710; public final static boolean BACKTRACK = true; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionStatementParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionStatementParsersym.java index 8edc95759b1..51d60650cb2 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionStatementParsersym.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionStatementParsersym.java @@ -15,114 +15,120 @@ package org.eclipse.cdt.internal.core.dom.lrparser.c99; public interface C99ExpressionStatementParsersym { public final static int - TK_auto = 24, + TK_auto = 14, TK_break = 81, TK_case = 82, - TK_char = 36, - TK_const = 8, + TK_char = 29, + TK_const = 6, TK_continue = 83, TK_default = 84, TK_do = 85, - TK_double = 37, + TK_double = 30, TK_else = 86, - TK_enum = 58, - TK_extern = 25, - TK_float = 38, + TK_enum = 42, + TK_extern = 15, + TK_float = 31, TK_for = 87, TK_goto = 88, TK_if = 89, - TK_inline = 26, - TK_int = 39, - TK_long = 40, - TK_register = 27, - TK_restrict = 9, + TK_inline = 16, + TK_int = 32, + TK_long = 33, + TK_register = 17, + TK_restrict = 7, TK_return = 90, - TK_short = 41, - TK_signed = 42, - TK_sizeof = 15, - TK_static = 23, - TK_struct = 59, + TK_short = 34, + TK_signed = 35, + TK_sizeof = 21, + TK_static = 9, + TK_struct = 43, TK_switch = 91, - TK_typedef = 28, - TK_union = 60, - TK_unsigned = 43, - TK_void = 44, - TK_volatile = 10, + TK_typedef = 18, + TK_union = 44, + TK_unsigned = 36, + TK_void = 37, + TK_volatile = 8, TK_while = 92, - TK__Bool = 45, - TK__Complex = 46, - TK__Imaginary = 47, - TK_integer = 16, - TK_floating = 17, - TK_charconst = 18, - TK_stringlit = 19, + TK__Bool = 38, + TK__Complex = 39, + TK__Imaginary = 40, + TK_integer = 22, + TK_floating = 23, + TK_charconst = 24, + TK_stringlit = 25, TK_identifier = 1, - TK_Completion = 4, + TK_Completion = 3, TK_EndOfCompletion = 5, TK_Invalid = 93, - TK_LeftBracket = 11, + TK_LeftBracket = 12, TK_LeftParen = 2, - TK_LeftBrace = 22, - TK_Dot = 48, - TK_Arrow = 66, - TK_PlusPlus = 13, - TK_MinusMinus = 14, - TK_And = 12, - TK_Star = 3, - TK_Plus = 6, - TK_Minus = 7, - TK_Tilde = 20, - TK_Bang = 21, - TK_Slash = 49, - TK_Percent = 50, - TK_RightShift = 31, - TK_LeftShift = 32, - TK_LT = 51, - TK_GT = 52, - TK_LE = 53, - TK_GE = 54, - TK_EQ = 61, - TK_NE = 62, - TK_Caret = 63, - TK_Or = 64, - TK_AndAnd = 65, - TK_OrOr = 67, - TK_Question = 68, - TK_Colon = 55, - TK_DotDotDot = 33, - TK_Assign = 56, - TK_StarAssign = 69, - TK_SlashAssign = 70, - TK_PercentAssign = 71, - TK_PlusAssign = 72, - TK_MinusAssign = 73, - TK_RightShiftAssign = 74, - TK_LeftShiftAssign = 75, - TK_AndAssign = 76, - TK_CaretAssign = 77, - TK_OrAssign = 78, - TK_Comma = 30, - TK_RightBracket = 34, - TK_RightParen = 29, - TK_RightBrace = 35, - TK_SemiColon = 57, - TK_ERROR_TOKEN = 79, + TK_LeftBrace = 28, + TK_Dot = 52, + TK_Arrow = 67, + TK_PlusPlus = 19, + TK_MinusMinus = 20, + TK_And = 13, + TK_Star = 4, + TK_Plus = 10, + TK_Minus = 11, + TK_Tilde = 26, + TK_Bang = 27, + TK_Slash = 53, + TK_Percent = 54, + TK_RightShift = 48, + TK_LeftShift = 49, + TK_LT = 55, + TK_GT = 56, + TK_LE = 57, + TK_GE = 58, + TK_EQ = 62, + TK_NE = 63, + TK_Caret = 64, + TK_Or = 65, + TK_AndAnd = 66, + TK_OrOr = 68, + TK_Question = 69, + TK_Colon = 59, + TK_DotDotDot = 50, + TK_Assign = 60, + TK_StarAssign = 70, + TK_SlashAssign = 71, + TK_PercentAssign = 72, + TK_PlusAssign = 73, + TK_MinusAssign = 74, + TK_RightShiftAssign = 75, + TK_LeftShiftAssign = 76, + TK_AndAssign = 77, + TK_CaretAssign = 78, + TK_OrAssign = 79, + TK_Comma = 45, + TK_RightBracket = 51, + TK_RightParen = 41, + TK_RightBrace = 46, + TK_SemiColon = 61, + TK_ERROR_TOKEN = 47, TK_EOF_TOKEN = 80; public final static String orderedTerminalSymbols[] = { "", "identifier", "LeftParen", - "Star", "Completion", + "Star", "EndOfCompletion", - "Plus", - "Minus", "const", "restrict", "volatile", + "static", + "Plus", + "Minus", "LeftBracket", "And", + "auto", + "extern", + "inline", + "register", + "typedef", "PlusPlus", "MinusMinus", "sizeof", @@ -133,19 +139,6 @@ public interface C99ExpressionStatementParsersym { "Tilde", "Bang", "LeftBrace", - "static", - "auto", - "extern", - "inline", - "register", - "typedef", - "RightParen", - "Comma", - "RightShift", - "LeftShift", - "DotDotDot", - "RightBracket", - "RightBrace", "char", "double", "float", @@ -158,6 +151,17 @@ public interface C99ExpressionStatementParsersym { "_Bool", "_Complex", "_Imaginary", + "RightParen", + "enum", + "struct", + "union", + "Comma", + "RightBrace", + "ERROR_TOKEN", + "RightShift", + "LeftShift", + "DotDotDot", + "RightBracket", "Dot", "Slash", "Percent", @@ -168,9 +172,6 @@ public interface C99ExpressionStatementParsersym { "Colon", "Assign", "SemiColon", - "enum", - "struct", - "union", "EQ", "NE", "Caret", @@ -189,7 +190,6 @@ public interface C99ExpressionStatementParsersym { "AndAssign", "CaretAssign", "OrAssign", - "ERROR_TOKEN", "EOF_TOKEN", "break", "case", diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParser.java index a7b73eff9d2..7de63328cd8 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParser.java @@ -829,411 +829,417 @@ public C99NoCastExpressionParser(String[] mapFrom) { // constructor } // - // Rule 199: struct_declarator ::= : constant_expression + // Rule 194: struct_declaration ::= ERROR_TOKEN // - case 199: { action. consumeBitField(false); break; + case 194: { action. consumeDeclarationProblem(); break; } // - // Rule 200: struct_declarator ::= declarator : constant_expression + // Rule 200: struct_declarator ::= : constant_expression // - case 200: { action. consumeBitField(true); break; + case 200: { action. consumeBitField(false); break; } // - // Rule 201: enum_specifier ::= enum { enumerator_list_opt comma_opt } + // Rule 201: struct_declarator ::= declarator : constant_expression // - case 201: { action. consumeTypeSpecifierEnumeration(false); break; + case 201: { action. consumeBitField(true); break; } // - // Rule 202: enum_specifier ::= enum identifier_or_typedefname { enumerator_list_opt comma_opt } + // Rule 202: enum_specifier ::= enum { enumerator_list_opt comma_opt } // - case 202: { action. consumeTypeSpecifierEnumeration(true); break; + case 202: { action. consumeTypeSpecifierEnumeration(false); break; } // - // Rule 207: enumerator ::= identifier_or_typedefname + // Rule 203: enum_specifier ::= enum identifier_or_typedefname { enumerator_list_opt comma_opt } // - case 207: { action. consumeEnumerator(false); break; + case 203: { action. consumeTypeSpecifierEnumeration(true); break; } // - // Rule 208: enumerator ::= identifier_or_typedefname = constant_expression + // Rule 208: enumerator ::= identifier_or_typedefname // - case 208: { action. consumeEnumerator(true); break; + case 208: { action. consumeEnumerator(false); break; } // - // Rule 209: type_qualifier ::= type_qualifier_token + // Rule 209: enumerator ::= identifier_or_typedefname = constant_expression // - case 209: { action. consumeDeclSpecToken(); break; + case 209: { action. consumeEnumerator(true); break; } // - // Rule 213: function_specifier ::= inline + // Rule 210: type_qualifier ::= type_qualifier_token // - case 213: { action. consumeDeclSpecToken(); break; + case 210: { action. consumeDeclSpecToken(); break; } // - // Rule 215: declarator ::= pointer_seq direct_declarator + // Rule 214: function_specifier ::= inline // - case 215: { action. consumeDeclaratorWithPointer(true); break; + case 214: { action. consumeDeclSpecToken(); break; } // - // Rule 220: basic_direct_declarator ::= declarator_id_name + // Rule 216: declarator ::= pointer_seq direct_declarator // - case 220: { action. consumeDirectDeclaratorIdentifier(); break; + case 216: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 221: basic_direct_declarator ::= ( declarator ) + // Rule 221: basic_direct_declarator ::= declarator_id_name // - case 221: { action. consumeDirectDeclaratorBracketed(); break; + case 221: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 222: declarator_id_name ::= identifier + // Rule 222: basic_direct_declarator ::= ( declarator ) // - case 222: { action. consumeIdentifierName(); break; + case 222: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 223: array_direct_declarator ::= basic_direct_declarator array_modifier + // Rule 223: declarator_id_name ::= identifier // - case 223: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 223: { action. consumeIdentifierName(); break; } // - // Rule 224: array_direct_declarator ::= array_direct_declarator array_modifier + // Rule 224: array_direct_declarator ::= basic_direct_declarator array_modifier // case 224: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 226: function_direct_declarator ::= basic_direct_declarator ( parameter_type_list ) + // Rule 225: array_direct_declarator ::= array_direct_declarator array_modifier // - case 226: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; + case 225: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 227: function_direct_declarator ::= basic_direct_declarator ( ) + // Rule 227: function_direct_declarator ::= basic_direct_declarator ( parameter_type_list ) // - case 227: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; + case 227: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; } // - // Rule 229: function_declarator ::= pointer_seq function_direct_declarator + // Rule 228: function_direct_declarator ::= basic_direct_declarator ( ) // - case 229: { action. consumeDeclaratorWithPointer(true); break; + case 228: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; } // - // Rule 230: knr_direct_declarator ::= basic_direct_declarator ( identifier_list ) + // Rule 230: function_declarator ::= pointer_seq function_direct_declarator // - case 230: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; + case 230: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 232: knr_function_declarator ::= pointer_seq knr_direct_declarator + // Rule 231: knr_direct_declarator ::= basic_direct_declarator ( identifier_list ) // - case 232: { action. consumeDeclaratorWithPointer(true); break; + case 231: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; } // - // Rule 233: identifier_list ::= identifier + // Rule 233: knr_function_declarator ::= pointer_seq knr_direct_declarator // - case 233: { action. consumeIdentifierKnR(); break; + case 233: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 234: identifier_list ::= identifier_list , identifier + // Rule 234: identifier_list ::= identifier // case 234: { action. consumeIdentifierKnR(); break; } // - // Rule 235: array_modifier ::= [ ] + // Rule 235: identifier_list ::= identifier_list , identifier // - case 235: { action. consumeDirectDeclaratorArrayModifier(false); break; + case 235: { action. consumeIdentifierKnR(); break; } // - // Rule 236: array_modifier ::= [ array_modifier_type_qualifiers ] + // Rule 236: array_modifier ::= [ ] // - case 236: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break; + case 236: { action. consumeDirectDeclaratorArrayModifier(false); break; } // - // Rule 237: array_modifier ::= [ assignment_expression ] + // Rule 237: array_modifier ::= [ array_modifier_type_qualifiers ] // - case 237: { action. consumeDirectDeclaratorArrayModifier(true); break; + case 237: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break; } // - // Rule 238: array_modifier ::= [ array_modifier_type_qualifiers assignment_expression ] + // Rule 238: array_modifier ::= [ assignment_expression ] // - case 238: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break; + case 238: { action. consumeDirectDeclaratorArrayModifier(true); break; } // - // Rule 239: array_modifier ::= [ static assignment_expression ] + // Rule 239: array_modifier ::= [ array_modifier_type_qualifiers assignment_expression ] // - case 239: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break; + case 239: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break; } // - // Rule 240: array_modifier ::= [ static array_modifier_type_qualifiers assignment_expression ] + // Rule 240: array_modifier ::= [ static assignment_expression ] // - case 240: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; + case 240: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break; } // - // Rule 241: array_modifier ::= [ array_modifier_type_qualifiers static assignment_expression ] + // Rule 241: array_modifier ::= [ static array_modifier_type_qualifiers assignment_expression ] // case 241: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; } // - // Rule 242: array_modifier ::= [ * ] + // Rule 242: array_modifier ::= [ array_modifier_type_qualifiers static assignment_expression ] // - case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break; + case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; } // - // Rule 243: array_modifier ::= [ array_modifier_type_qualifiers * ] + // Rule 243: array_modifier ::= [ * ] // - case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break; + case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break; } // - // Rule 245: pointer_seq ::= * + // Rule 244: array_modifier ::= [ array_modifier_type_qualifiers * ] // - case 245: { action. consumePointer(); break; + case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break; } // - // Rule 246: pointer_seq ::= pointer_seq * + // Rule 246: pointer_seq ::= * // case 246: { action. consumePointer(); break; } // - // Rule 247: pointer_seq ::= * type_qualifier_list + // Rule 247: pointer_seq ::= pointer_seq * // - case 247: { action. consumePointerTypeQualifierList(); break; + case 247: { action. consumePointer(); break; } // - // Rule 248: pointer_seq ::= pointer_seq * type_qualifier_list + // Rule 248: pointer_seq ::= * type_qualifier_list // case 248: { action. consumePointerTypeQualifierList(); break; } // - // Rule 251: parameter_type_list ::= parameter_list + // Rule 249: pointer_seq ::= pointer_seq * type_qualifier_list // - case 251: { action. consumeEmpty(); break; + case 249: { action. consumePointerTypeQualifierList(); break; } // - // Rule 252: parameter_type_list ::= parameter_list , ... + // Rule 252: parameter_type_list ::= parameter_list // - case 252: { action. consumePlaceHolder(); break; + case 252: { action. consumeEmpty(); break; } // - // Rule 253: parameter_type_list ::= ... + // Rule 253: parameter_type_list ::= parameter_list , ... // case 253: { action. consumePlaceHolder(); break; } // - // Rule 256: parameter_declaration ::= declaration_specifiers complete_parameter_declarator + // Rule 254: parameter_type_list ::= ... // - case 256: { action. consumeParameterDeclaration(); break; + case 254: { action. consumePlaceHolder(); break; } // - // Rule 257: parameter_declaration ::= declaration_specifiers + // Rule 257: parameter_declaration ::= declaration_specifiers complete_parameter_declarator // - case 257: { action. consumeParameterDeclarationWithoutDeclarator(); break; + case 257: { action. consumeParameterDeclaration(); break; } // - // Rule 260: type_name ::= specifier_qualifier_list + // Rule 258: parameter_declaration ::= declaration_specifiers // - case 260: { action. consumeTypeId(false); break; + case 258: { action. consumeParameterDeclarationWithoutDeclarator(); break; } // - // Rule 261: type_name ::= specifier_qualifier_list abstract_declarator + // Rule 261: type_name ::= specifier_qualifier_list // - case 261: { action. consumeTypeId(true); break; + case 261: { action. consumeTypeId(false); break; } // - // Rule 263: abstract_declarator ::= pointer_seq + // Rule 262: type_name ::= specifier_qualifier_list abstract_declarator // - case 263: { action. consumeDeclaratorWithPointer(false); break; + case 262: { action. consumeTypeId(true); break; } // - // Rule 264: abstract_declarator ::= pointer_seq direct_abstract_declarator + // Rule 264: abstract_declarator ::= pointer_seq // case 264: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 268: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 265: abstract_declarator ::= pointer_seq direct_abstract_declarator // - case 268: { action. consumeDirectDeclaratorBracketed(); break; + case 265: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 269: array_direct_abstract_declarator ::= array_modifier + // Rule 269: basic_direct_abstract_declarator ::= ( abstract_declarator ) // - case 269: { action. consumeDirectDeclaratorArrayDeclarator(false); break; + case 269: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 270: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier + // Rule 270: array_direct_abstract_declarator ::= array_modifier // - case 270: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 270: { action. consumeDirectDeclaratorArrayDeclarator(false); break; } // - // Rule 271: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier + // Rule 271: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier // case 271: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 272: function_direct_abstract_declarator ::= ( ) + // Rule 272: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier // - case 272: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break; + case 272: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + } + + // + // Rule 273: function_direct_abstract_declarator ::= ( ) + // + case 273: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break; } // - // Rule 273: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( ) + // Rule 274: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( ) // - case 273: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; + case 274: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; } // - // Rule 274: function_direct_abstract_declarator ::= ( parameter_type_list ) + // Rule 275: function_direct_abstract_declarator ::= ( parameter_type_list ) // - case 274: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break; + case 275: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break; } // - // Rule 275: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( parameter_type_list ) + // Rule 276: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( parameter_type_list ) // - case 275: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; + case 276: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; } // - // Rule 276: initializer ::= assignment_expression + // Rule 277: initializer ::= assignment_expression // - case 276: { action. consumeInitializer(); break; + case 277: { action. consumeInitializer(); break; } // - // Rule 277: initializer ::= { initializer_list comma_opt } + // Rule 278: initializer ::= { initializer_list comma_opt } // - case 277: { action. consumeInitializerList(); break; + case 278: { action. consumeInitializerList(); break; } // - // Rule 282: designated_initializer ::= designation = initializer + // Rule 283: designated_initializer ::= designation = initializer // - case 282: { action. consumeInitializerDesignated(); break; + case 283: { action. consumeInitializerDesignated(); break; } // - // Rule 286: designator_base ::= [ constant_expression ] + // Rule 287: designator_base ::= [ constant_expression ] // - case 286: { action. consumeDesignatorArray(); break; + case 287: { action. consumeDesignatorArray(); break; } // - // Rule 287: designator_base ::= . identifier_or_typedefname + // Rule 288: designator_base ::= . identifier_or_typedefname // - case 287: { action. consumeDesignatorField(); break; + case 288: { action. consumeDesignatorField(); break; } // - // Rule 288: designator ::= [ constant_expression ] + // Rule 289: designator ::= [ constant_expression ] // - case 288: { action. consumeDesignatorArray(); break; + case 289: { action. consumeDesignatorArray(); break; } // - // Rule 289: designator ::= . identifier_or_typedefname + // Rule 290: designator ::= . identifier_or_typedefname // - case 289: { action. consumeDesignatorField(); break; + case 290: { action. consumeDesignatorField(); break; } // - // Rule 290: translation_unit ::= external_declaration_list - // - case 290: { action. consumeTranslationUnit(); break; - } - - // - // Rule 291: translation_unit ::= $Empty + // Rule 291: translation_unit ::= external_declaration_list // case 291: { action. consumeTranslationUnit(); break; + } + + // + // Rule 292: translation_unit ::= $Empty + // + case 292: { action. consumeTranslationUnit(); break; } // - // Rule 296: external_declaration ::= ; + // Rule 297: external_declaration ::= ; // - case 296: { action. consumeDeclarationEmpty(); break; + case 297: { action. consumeDeclarationEmpty(); break; } // - // Rule 297: external_declaration ::= ERROR_TOKEN + // Rule 298: external_declaration ::= ERROR_TOKEN // - case 297: { action. consumeDeclarationProblem(); break; + case 298: { action. consumeDeclarationProblem(); break; } // - // Rule 300: function_definition ::= declaration_specifiers function_declarator function_body + // Rule 301: function_definition ::= declaration_specifiers function_declarator function_body // - case 300: { action. consumeFunctionDefinition(true); break; + case 301: { action. consumeFunctionDefinition(true); break; } // - // Rule 301: function_definition ::= function_declarator function_body + // Rule 302: function_definition ::= function_declarator function_body // - case 301: { action. consumeFunctionDefinition(false); break; + case 302: { action. consumeFunctionDefinition(false); break; } // - // Rule 302: function_definition ::= declaration_specifiers knr_function_declarator declaration_list compound_statement + // Rule 303: function_definition ::= declaration_specifiers knr_function_declarator declaration_list compound_statement // - case 302: { action. consumeFunctionDefinitionKnR(); break; + case 303: { action. consumeFunctionDefinitionKnR(); break; } // - // Rule 303: function_body ::= { } + // Rule 304: function_body ::= { } // - case 303: { action. consumeStatementCompoundStatement(false); break; + case 304: { action. consumeStatementCompoundStatement(false); break; } // - // Rule 304: function_body ::= { block_item_list } + // Rule 305: function_body ::= { block_item_list } // - case 304: { action. consumeStatementCompoundStatement(true); break; + case 305: { action. consumeStatementCompoundStatement(true); break; } // - // Rule 306: no_cast_start ::= ERROR_TOKEN + // Rule 307: no_cast_start ::= ERROR_TOKEN // - case 306: { action. consumeExpressionProblem(); break; + case 307: { action. consumeExpressionProblem(); break; } diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParserprs.java index d8b087d5425..e9c233ad498 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParserprs.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParserprs.java @@ -53,155 +53,156 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 5,5,6,6,2,2,2,1,0,1, - 2,4,2,1,1,3,1,1,2,3, - 6,7,1,0,1,3,1,3,1,1, - 1,1,1,1,3,1,1,1,1,1, - 3,1,2,2,1,5,3,1,3,5, - 1,3,1,3,2,4,3,5,4,6, - 6,3,5,1,1,2,3,4,1,2, - 1,3,1,1,3,2,1,1,1,1, - 2,1,2,3,1,1,1,3,1,2, - 2,2,3,4,5,1,5,1,1,3, - 3,4,1,1,2,3,2,3,2,1, - 0,1,2,1,1,1,1,1,2,4, - 3,6,2,4,1,1,-32,0,0,0, - 0,0,0,0,0,-2,0,0,0,0, - 0,0,0,0,0,0,0,0,-5,0, - 0,0,0,0,0,0,0,0,-121,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-177, - 0,-12,0,0,0,0,0,0,0,0, - 0,-13,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-127,-4,-15,-140,-169, - -104,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-16,0,-170, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-165, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-33, - -34,-29,-30,-3,0,0,0,0,0,0, + 2,4,2,1,1,1,3,1,1,2, + 3,6,7,1,0,1,3,1,3,1, + 1,1,1,1,1,3,1,1,1,1, + 1,3,1,2,2,1,5,3,1,3, + 5,1,3,1,3,2,4,3,5,4, + 6,6,3,5,1,1,2,3,4,1, + 2,1,3,1,1,3,2,1,1,1, + 1,2,1,2,3,1,1,1,3,1, + 2,2,2,3,4,5,1,5,1,1, + 3,3,4,1,1,2,3,2,3,2, + 1,0,1,2,1,1,1,1,1,2, + 4,3,6,2,4,1,1,-32,0,0, + 0,0,0,0,0,0,-2,0,0,0, + 0,0,0,0,0,0,0,0,0,-5, + 0,0,0,0,0,0,0,0,0,-121, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-17,0,-49,0,0,0,0,0,0, - 0,0,-18,0,0,0,-70,0,0,0, + -177,0,-12,0,0,0,0,0,0,0, + 0,0,-13,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-127,-4,-15,-140, + -169,-104,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-16,0, + -170,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-69,0,0,0, - -19,-20,-21,-22,0,-107,0,0,0,0, + -165,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-126,0,0,0,0, - 0,0,0,0,-23,0,0,0,0,0, - 0,0,0,0,0,0,-24,-25,0,-185, - 0,0,0,0,0,0,0,0,-26,0, - 0,0,0,0,0,0,0,0,0,-27, - 0,0,0,0,0,0,0,0,-68,0, - 0,0,0,0,0,0,0,0,0,-83, - -84,-139,-87,-56,0,0,0,0,0,0, + -33,-34,-29,-30,-3,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-57,0,0,0,0,0,0, - 0,0,-88,0,0,0,0,0,0,0, - 0,0,0,-58,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-59,0,0,0,0,0,0, - 0,0,-89,0,0,0,0,0,0,0, - 0,0,0,-60,0,0,0,0,0,0, - 0,0,-90,0,0,0,0,0,0,0, - 0,0,0,-61,0,0,0,0,0,0, - 0,0,-91,0,0,0,0,0,0,0, - 0,0,0,-62,0,0,0,0,0,0, - 0,0,-92,0,0,0,0,0,0,0, - 0,0,0,-63,0,0,0,0,0,0, - 0,0,-93,0,0,0,0,0,0,0, - 0,0,0,-64,0,0,0,0,0,0, - 0,0,-191,0,0,0,0,0,0,0, - 0,0,0,-65,0,0,0,0,0,0, - 0,0,-94,0,0,0,0,0,0,0, - 0,0,0,-66,0,0,0,0,0,0, - 0,0,-130,0,0,0,0,0,0,0, - 0,0,0,-46,0,0,0,0,0,0, - 0,0,0,0,-95,-96,-97,-98,-77,0, - 0,0,0,0,-144,0,0,0,0,0, - 0,0,0,-99,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-100,-101,-102, - -151,-103,-78,0,0,0,0,-6,0,0, + 0,0,-17,0,-49,0,0,0,0,0, + 0,0,0,-18,0,0,0,-70,0,0, 0,0,0,0,0,0,0,0,0,0, - -145,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-69,0,0, + 0,-19,-20,-21,-22,0,-107,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -168,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-182, - 0,0,0,0,0,0,0,0,-114,0, - 0,0,0,0,0,0,0,0,-37,0, - 0,0,0,0,0,0,0,-47,0,0, - 0,0,0,0,0,0,-188,0,0,0, + 0,0,0,0,0,0,-126,0,0,0, + 0,0,0,0,0,-23,0,0,0,0, + 0,0,0,0,0,0,0,-24,-25,0, + -185,0,0,0,0,0,0,0,0,-26, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-192,0,0,0,0, - 0,0,0,0,-80,0,0,0,0,0, - 0,0,0,0,-38,0,0,0,0,0, - 0,0,0,-7,0,0,0,0,0,0, - -116,0,-202,0,0,0,0,0,0,0, + -27,0,0,0,0,0,0,0,0,-68, 0,0,0,0,0,0,0,0,0,0, - 0,-120,0,0,0,0,0,0,0,0, - -119,0,0,0,0,0,0,0,0,0, - -129,-8,0,0,0,0,0,0,0,0, - -51,0,0,0,0,0,0,0,0,-155, - 0,0,0,0,0,0,-131,-72,-123,-161, - -142,-148,-73,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-203,0,0,0, - 0,0,0,0,-113,-67,0,0,-162,-166, - 0,-193,-106,0,0,0,0,0,0,0, + -83,-84,-139,-87,-56,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-204, - 0,0,-54,0,0,0,0,0,0,0, - 0,-160,0,0,0,0,0,0,0,-55, + 0,0,0,0,-57,0,0,0,0,0, + 0,0,0,-88,0,0,0,0,0,0, + 0,0,0,0,-58,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-52,0,0,0,0, - 0,0,0,0,-82,0,0,0,0,-74, - -179,-9,0,0,0,0,0,0,-115,0, - 0,-143,0,0,0,0,-167,0,-85,0, - 0,-171,0,0,0,0,-86,0,0,0, + 0,0,0,0,-59,0,0,0,0,0, + 0,0,0,-89,0,0,0,0,0,0, + 0,0,0,0,-60,0,0,0,0,0, + 0,0,0,-90,0,0,0,0,0,0, + 0,0,0,0,-61,0,0,0,0,0, + 0,0,0,-91,0,0,0,0,0,0, + 0,0,0,0,-62,0,0,0,0,0, + 0,0,0,-92,0,0,0,0,0,0, + 0,0,0,0,-63,0,0,0,0,0, + 0,0,0,-93,0,0,0,0,0,0, + 0,0,0,0,-64,0,0,0,0,0, + 0,0,0,-191,0,0,0,0,0,0, + 0,0,0,0,-65,0,0,0,0,0, + 0,0,0,-94,0,0,0,0,0,0, + 0,0,0,0,-66,0,0,0,0,0, + 0,0,0,-130,0,0,0,0,0,0, + 0,0,0,0,-46,0,0,0,0,0, + 0,0,0,0,0,-95,-96,-97,-98,-77, + 0,0,0,0,0,-144,0,0,0,0, + 0,0,0,0,-99,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-100,-101, + -102,-151,-103,-78,0,0,0,0,-6,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-184,0,0,0,0,0, - 0,0,-75,0,-111,0,0,0,0,-48, - 0,0,0,0,0,0,0,0,-201,0, - 0,0,0,0,-159,-152,0,0,0,0, - 0,0,0,0,0,0,-50,0,0,0, + 0,-145,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-10,0, - 0,0,0,0,0,0,-42,0,0,0, - 0,0,0,0,0,0,0,-43,0,0, - 0,0,0,0,0,0,-117,0,-11,0, - 0,0,0,0,0,0,0,0,-44,0, - 0,0,0,0,0,0,0,-108,0,-45, - 0,0,0,0,0,0,0,0,-194,0, - -71,-187,-156,-109,-118,-31,-124,0,0,0, - 0,0,0,0,0,-110,0,0,0,0, + 0,-168,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -182,0,0,0,0,0,0,0,0,-114, + 0,0,0,0,0,0,0,0,0,-37, + 0,0,0,0,0,0,0,0,-47,0, + 0,0,0,0,0,0,0,-188,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-192,0,0,0, + 0,0,0,0,0,-80,0,0,0,0, + 0,0,0,0,0,-38,0,0,0,0, + 0,0,0,0,-7,0,0,0,0,0, + 0,-116,0,-202,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-120,0,0,0,0,0,0,0, + 0,-119,0,0,0,0,0,0,0,0, + 0,-129,-8,0,0,0,0,0,0,0, + 0,-51,0,0,0,0,0,0,0,0, + -155,0,0,0,0,0,0,-131,-72,-123, + -161,-142,-148,-73,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-203,0,0, + 0,0,0,0,0,-113,-67,0,0,-162, + -166,0,-193,-106,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -204,0,0,-54,0,0,0,0,0,0, + 0,0,-160,0,0,0,0,0,0,0, + -55,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-52,0,0,0, + 0,0,0,0,0,-82,0,0,0,0, + -74,-179,-9,0,0,0,0,0,0,-115, + 0,0,-143,0,0,0,0,-167,0,-85, + 0,0,-171,0,0,0,0,-86,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-184,0,0,0,0, + 0,0,0,-75,0,-111,0,0,0,0, + -48,0,0,0,0,0,0,0,0,-201, + 0,0,0,0,0,-159,-152,0,0,0, + 0,0,0,0,0,0,0,-50,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-10, + 0,0,0,0,0,0,0,-42,0,0, + 0,0,0,0,0,0,0,0,-43,0, + 0,0,0,0,0,0,0,-117,0,-11, + 0,0,0,0,0,0,0,0,0,-44, + 0,0,0,0,0,0,0,0,-108,0, + -45,0,0,0,0,0,0,0,0,-194, + 0,-71,-187,-156,-109,-118,-31,-124,0,0, + 0,0,0,0,0,0,-110,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -147,0,0,0,0,0,0,-14,-28,-35, - 0,0,-122,-76,0,0,0,0,0,0, - 0,0,0,0,-39,0,0,0,0,0, - 0,0,0,0,0,0,-189,0,0,0, - 0,0,0,0,0,-183,-125,0,0,0, - -79,-128,0,0,-40,0,0,0,0,0, - 0,-41,0,0,0,0,0,0,-81,0, - 0,0,0,0,-133,-36,0,0,0,0, - 0,0,-112,0,0,-153,-135,0,0,0, - 0,0,-134,0,-136,0,0,0,0,0, - -176,0,-138,0,-154,-174,0,0,-137,0, - 0,0,-105,0,-158,0,0,0,0,-149, - 0,-190,0,0,0,-164,0,0,0,0, - 0,0,0,0,-175,0,0,0,0,0, + 0,-147,0,0,0,0,0,0,-14,-28, + -35,0,0,-122,-76,0,0,0,0,0, + 0,0,0,0,0,-39,0,0,0,0, + 0,0,0,0,0,0,0,-189,0,0, + 0,0,0,0,0,0,-183,-125,0,0, + 0,-79,-128,0,0,-40,0,0,0,0, + 0,0,-41,0,0,0,0,0,0,-81, + 0,0,0,0,0,-133,-36,0,0,0, + 0,0,0,-112,0,0,-153,-135,0,0, + 0,0,0,-134,0,-136,0,0,0,0, + 0,-176,0,-138,0,-154,-174,0,0,-137, + 0,0,0,-105,0,-158,0,0,0,0, + -149,0,-190,0,0,0,-164,0,0,0, + 0,0,0,0,0,-175,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-1,0,0, - 0,-150,0,-132,-178,-53,0,-163,-157,0, - 0,0,0,0,0,-146,-141,0,0,-195, - 0,-172,-180,0,0,0,0,0,0,0, - 0,0,0,0,0,-173,-186,0,0,-181, - 0,-196,0,-197,0,0,0,0,0,-198, - 0,-199,-200,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-1,0, + 0,0,-150,0,-132,-178,-53,0,-163,-157, + 0,0,0,0,0,0,-146,-141,0,0, + -195,0,-172,-180,0,0,0,0,0,0, + 0,0,0,0,0,0,-173,-186,0,0, + -181,0,-196,0,-197,0,0,0,0,0, + -198,0,-199,-200,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0, + 0 }; }; public final static short baseCheck[] = BaseCheck.baseCheck; @@ -230,157 +231,157 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 31,31,31,31,52,54,54,54,54,54, 54,54,54,54,54,54,54,64,64,27, 27,61,61,61,61,62,62,62,55,55, - 56,56,48,48,32,85,85,78,79,79, - 79,63,63,80,80,81,81,65,65,20, - 21,21,21,30,47,47,33,33,33,33, - 36,36,38,34,34,35,39,39,108,108, - 37,109,109,86,86,25,25,25,25,25, - 25,25,25,25,82,49,49,49,49,58, - 58,57,57,57,59,59,50,50,87,87, - 69,69,60,60,60,41,41,41,42,43, - 43,43,44,44,44,44,53,53,70,70, - 70,70,66,88,89,89,90,90,91,91, - 110,110,111,111,112,112,112,112,114,114, - 113,113,113,115,115,83,83,1,14,19, - 15,388,579,43,482,408,219,521,493,523, - 522,555,524,568,567,73,90,133,209,342, - 14,19,15,388,40,135,132,134,158,270, - 14,19,15,388,579,43,482,408,389,521, - 493,523,522,555,524,568,567,73,276,137, - 432,164,318,14,19,15,388,33,141,144, - 147,150,318,14,19,15,388,32,387,1210, - 1263,1444,1481,1499,1205,269,549,371,496,580, - 597,6,278,215,1550,217,1592,219,220,225, - 339,264,1103,1098,267,279,250,209,191,612, - 270,14,19,15,388,579,43,482,408,389, - 521,493,523,522,555,524,568,567,73,276, - 195,14,19,15,388,579,43,482,408,389, - 521,493,523,522,555,524,568,567,73,276, - 98,98,334,334,318,14,19,15,388,579, - 43,482,408,278,521,493,523,522,555,524, - 568,567,73,90,599,16,279,1130,390,284, - 1467,285,51,280,318,14,19,15,388,42, - 43,482,408,10,521,846,281,145,14,19, - 15,388,579,43,482,408,1384,521,493,523, - 522,555,524,568,567,73,1368,166,23,22, - 235,36,22,476,115,387,366,14,19,15, - 388,579,43,482,408,1387,521,493,523,522, - 555,524,568,567,73,1477,170,14,19,15, - 388,579,43,482,408,286,521,493,523,522, - 555,524,568,567,73,1606,1543,211,262,236, - 294,14,19,15,388,579,43,482,408,382, - 521,493,523,522,555,524,568,567,73,276, - 318,14,19,15,388,579,43,482,408,373, - 521,493,523,522,555,524,568,567,73,91, - 390,420,609,127,318,14,19,15,388,579, - 43,482,408,282,521,493,523,522,555,524, - 568,567,73,84,318,14,19,15,388,579, - 43,482,408,251,521,493,523,522,555,524, - 568,567,73,83,318,14,19,15,388,579, - 43,482,408,1556,521,493,523,522,555,524, - 568,567,73,82,318,14,19,15,388,579, - 43,482,408,245,521,493,523,522,555,524, - 568,567,73,81,318,14,19,15,388,579, - 43,482,408,408,521,493,523,522,555,524, - 568,567,73,80,318,14,19,15,388,579, - 43,482,408,550,521,493,523,522,555,524, - 568,567,73,79,318,14,19,15,388,579, - 43,482,408,554,521,493,523,522,555,524, - 568,567,73,78,318,14,19,15,388,579, - 43,482,408,564,521,493,523,522,555,524, - 568,567,73,77,318,14,19,15,388,579, - 43,482,408,237,521,493,523,522,555,524, - 568,567,73,76,318,14,19,15,388,579, - 43,482,408,573,521,493,523,522,555,524, - 568,567,73,75,318,14,19,15,388,579, - 43,482,408,49,521,493,523,522,555,524, - 568,567,73,74,318,14,19,15,388,42, - 43,482,763,133,209,518,30,66,350,31, - 192,135,132,134,158,318,14,19,15,388, - 579,43,482,408,598,521,493,523,522,555, - 524,568,567,73,1612,137,949,164,220,310, - 387,166,400,110,141,144,147,150,318,14, - 19,15,388,42,39,1210,1263,1444,1481,1499, - 1205,318,14,19,15,388,579,43,482,408, - 1031,521,493,523,522,555,524,568,567,73, - 1626,318,14,19,15,388,42,43,482,408, - 360,521,493,523,522,555,524,568,567,92, - 318,14,19,15,388,42,43,482,408,442, - 521,493,523,522,555,524,568,567,92,318, - 14,19,15,388,42,43,613,1627,318,14, - 19,15,388,42,43,482,803,318,14,19, - 15,388,42,43,482,408,208,521,493,523, - 522,555,524,568,567,92,318,14,19,15, - 388,42,43,482,408,409,521,493,523,522, - 555,524,568,567,92,318,14,19,15,388, - 42,43,643,1634,318,14,19,15,388,42, - 38,591,1061,318,14,19,15,388,42,43, - 482,408,199,521,493,523,522,555,524,568, - 567,92,318,14,19,15,388,42,43,482, - 408,608,521,493,523,522,555,524,568,567, - 72,69,318,14,19,15,388,42,37,200, - 881,318,14,19,15,388,42,43,482,408, - 590,521,493,523,522,848,269,607,194,540, - 504,540,402,349,214,1550,217,1592,219,220, - 225,1565,262,1103,1098,267,182,151,258,249, - 209,249,209,270,272,587,334,269,271,617, - 576,259,615,535,1594,214,1550,217,1592,219, - 220,225,1099,262,1103,1098,267,273,882,1536, - 215,1550,217,1592,219,220,225,1222,256,1232, - 252,1694,1265,318,14,19,15,388,42,43, - 482,408,614,521,493,523,522,555,524,879, - 318,14,19,15,388,42,43,482,408,1694, - 521,493,523,522,555,880,318,14,19,15, - 388,42,43,482,408,49,521,493,523,864, - 97,513,318,14,19,15,388,42,36,6, - 1610,1694,559,1630,1694,133,209,323,1523,334, - 133,209,563,136,132,134,158,478,140,132, - 134,158,250,209,214,1550,217,1592,219,220, - 225,21,250,209,287,614,1694,138,1132,164, - 20,1694,139,461,164,334,142,145,148,151, - 318,14,19,15,388,42,43,482,408,513, - 521,493,845,133,209,590,613,268,1610,195, - 197,143,132,134,158,823,783,318,14,19, - 15,388,42,43,482,408,1632,521,847,1694, - 1071,181,214,1550,217,1592,219,220,225,318, - 14,19,15,388,42,35,1132,318,14,19, - 15,388,42,43,482,408,255,683,318,14, - 19,15,388,42,43,482,408,6,703,318, - 14,19,15,388,42,34,1525,196,197,318, - 14,19,15,388,42,43,482,408,478,723, - 318,14,19,15,388,42,43,482,408,227, - 743,529,323,599,540,6,462,540,1610,1694, - 1513,237,1211,1694,1539,517,221,14,19,15, - 388,42,35,272,249,209,269,249,209,289, - 1694,269,214,1550,217,1592,219,220,225,242, - 1694,1694,262,1103,1098,267,1536,262,1103,1098, - 267,221,14,19,15,388,42,35,6,6, - 470,1265,386,545,466,386,261,307,307,454, - 193,1694,1101,1694,243,318,14,19,15,388, - 42,46,194,194,133,209,546,609,1694,855, - 1386,1386,146,132,134,158,323,478,86,86, - 88,495,334,453,453,318,14,19,15,388, - 42,45,318,14,19,15,388,42,44,500, - 239,133,209,1100,274,6,6,452,1126,149, - 132,134,158,372,1535,454,334,6,1640,133, - 209,1694,823,588,1229,588,1545,152,132,134, - 158,587,823,6,823,588,334,1071,275,128, - 1552,206,1598,530,823,588,86,194,1694,194, - 611,1237,79,227,823,1383,590,1383,221,194, - 1694,823,1543,254,1694,372,1100,1383,269,194, - 1482,190,1097,190,823,224,1071,1383,1090,1599, - 1285,1599,26,190,264,1103,1098,267,246,1071, - 1595,1599,594,190,391,590,6,454,128,600, - 1613,1599,254,823,205,454,478,6,823,1642, - 166,1097,478,590,360,254,410,223,1071,1172, - 1129,184,1482,194,1097,1100,478,478,86,238, - 590,1383,590,305,478,240,86,1694,1643,183, - 590,878,334,572,254,1694,1694,191,1694,241, - 286,1516,1694,1097,1694,1694,201,288,202,1117, - 1694,1694,1694,205,226,230,277,1694,1694,1694, - 1694,316,1694,1694,1694,1694,1694,1694,1255,1129, - 1694,0,17,178,0,18,177,0,1,1916, - 0,1,1927,0 + 56,56,48,48,48,32,85,85,78,79, + 79,79,63,63,80,80,81,81,65,65, + 20,21,21,21,30,47,47,33,33,33, + 33,36,36,38,34,34,35,39,39,108, + 108,37,109,109,86,86,25,25,25,25, + 25,25,25,25,25,82,49,49,49,49, + 58,58,57,57,57,59,59,50,50,87, + 87,69,69,60,60,60,41,41,41,42, + 43,43,43,44,44,44,44,53,53,70, + 70,70,70,66,88,89,89,90,90,91, + 91,110,110,111,111,112,112,112,112,114, + 114,113,113,113,115,115,83,83,1,14, + 19,15,389,580,43,483,409,11,522,494, + 524,523,556,525,569,568,73,90,133,210, + 626,14,19,15,389,40,135,132,134,158, + 539,14,19,15,389,580,43,483,409,390, + 522,494,524,523,556,525,569,568,73,277, + 137,573,164,597,14,19,15,389,33,141, + 144,147,150,597,14,19,15,389,32,388, + 1211,1264,1445,1482,1500,1206,270,210,42,740, + 719,745,6,279,216,1551,218,1593,220,221, + 226,340,265,1104,1099,268,280,251,210,242, + 613,539,14,19,15,389,580,43,483,409, + 390,522,494,524,523,556,525,569,568,73, + 277,440,14,19,15,389,580,43,483,409, + 390,522,494,524,523,556,525,569,568,73, + 277,516,516,397,397,597,14,19,15,389, + 580,43,483,409,279,522,494,524,523,556, + 525,569,568,73,90,600,16,280,1131,391, + 285,1468,286,347,281,597,14,19,15,389, + 42,43,483,409,248,522,847,282,368,14, + 19,15,389,580,43,483,409,1385,522,494, + 524,523,556,525,569,568,73,1369,135,23, + 22,236,283,261,439,291,388,655,14,19, + 15,389,580,43,483,409,1388,522,494,524, + 523,556,525,569,568,73,1478,404,14,19, + 15,389,580,43,483,409,450,522,494,524, + 523,556,525,569,568,73,1607,1544,446,314, + 237,568,14,19,15,389,580,43,483,409, + 660,522,494,524,523,556,525,569,568,73, + 277,597,14,19,15,389,580,43,483,409, + 550,522,494,524,523,556,525,569,568,73, + 91,684,700,758,394,597,14,19,15,389, + 580,43,483,409,283,522,494,524,523,556, + 525,569,568,73,84,597,14,19,15,389, + 580,43,483,409,430,522,494,524,523,556, + 525,569,568,73,83,597,14,19,15,389, + 580,43,483,409,1557,522,494,524,523,556, + 525,569,568,73,82,597,14,19,15,389, + 580,43,483,409,433,522,494,524,523,556, + 525,569,568,73,81,597,14,19,15,389, + 580,43,483,409,533,522,494,524,523,556, + 525,569,568,73,80,597,14,19,15,389, + 580,43,483,409,724,522,494,524,523,556, + 525,569,568,73,79,597,14,19,15,389, + 580,43,483,409,727,522,494,524,523,556, + 525,569,568,73,78,597,14,19,15,389, + 580,43,483,409,453,522,494,524,523,556, + 525,569,568,73,77,597,14,19,15,389, + 580,43,483,409,717,522,494,524,523,556, + 525,569,568,73,76,597,14,19,15,389, + 580,43,483,409,623,522,494,524,523,556, + 525,569,568,73,75,597,14,19,15,389, + 580,43,483,409,286,522,494,524,523,556, + 525,569,568,73,74,597,14,19,15,389, + 42,43,483,764,133,210,518,254,288,605, + 349,192,135,132,134,158,597,14,19,15, + 389,580,43,483,409,634,522,494,524,523, + 556,525,569,568,73,1613,137,950,164,231, + 636,685,135,552,411,141,144,147,150,597, + 14,19,15,389,42,39,1211,1264,1445,1482, + 1500,1206,597,14,19,15,389,580,43,483, + 409,1032,522,494,524,523,556,525,569,568, + 73,1627,597,14,19,15,389,42,43,483, + 409,361,522,494,524,523,556,525,569,568, + 92,597,14,19,15,389,42,43,483,409, + 661,522,494,524,523,556,525,569,568,92, + 597,14,19,15,389,42,43,614,1628,597, + 14,19,15,389,42,43,483,804,597,14, + 19,15,389,42,43,483,409,209,522,494, + 524,523,556,525,569,568,92,597,14,19, + 15,389,42,43,483,409,451,522,494,524, + 523,556,525,569,568,92,597,14,19,15, + 389,42,43,644,1635,597,14,19,15,389, + 42,38,752,1062,597,14,19,15,389,42, + 43,483,409,200,522,494,524,523,556,525, + 569,568,92,597,14,19,15,389,42,43, + 483,409,753,522,494,524,523,556,525,569, + 568,72,502,597,14,19,15,389,42,37, + 201,882,597,14,19,15,389,42,43,483, + 409,308,522,494,524,523,849,270,756,751, + 114,765,114,255,536,215,1551,218,1593,220, + 221,226,1566,263,1104,1099,268,182,262,259, + 250,210,250,210,271,273,743,397,270,272, + 766,769,260,747,66,1595,215,1551,218,1593, + 220,221,226,1100,263,1104,1099,268,274,883, + 1537,216,1551,218,1593,220,221,226,1223,257, + 1233,520,1695,1266,597,14,19,15,389,42, + 43,483,409,763,522,494,524,523,556,525, + 880,597,14,19,15,389,42,43,483,409, + 1695,522,494,524,523,556,881,597,14,19, + 15,389,42,43,483,409,286,522,494,524, + 865,327,478,597,14,19,15,389,42,36, + 6,1611,1695,374,1631,1695,133,210,548,1524, + 397,133,210,410,136,132,134,158,302,140, + 132,134,158,251,210,215,1551,218,1593,220, + 221,226,21,251,210,288,763,1695,138,1133, + 164,20,1695,139,56,164,397,142,145,148, + 151,597,14,19,15,389,42,43,483,409, + 478,522,494,846,133,210,308,96,269,1611, + 196,198,143,132,134,158,824,784,597,14, + 19,15,389,42,43,483,409,1633,522,848, + 1695,1072,181,215,1551,218,1593,220,221,226, + 597,14,19,15,389,42,35,1133,597,14, + 19,15,389,42,43,483,409,256,684,597, + 14,19,15,389,42,43,483,409,6,704, + 597,14,19,15,389,42,34,1526,197,198, + 597,14,19,15,389,42,43,483,409,302, + 724,597,14,19,15,389,42,43,483,409, + 609,744,716,548,603,114,6,602,114,1611, + 1695,1514,238,1212,1695,1540,518,471,14,19, + 15,389,42,35,273,250,210,270,250,210, + 290,1695,270,215,1551,218,1593,220,221,226, + 243,1695,1695,263,1104,1099,268,1537,263,1104, + 1099,268,471,14,19,15,389,42,35,6, + 6,662,1266,387,162,104,387,262,308,308, + 455,193,1695,1102,1695,244,597,14,19,15, + 389,42,46,195,195,133,210,547,758,1695, + 856,1387,1387,146,132,134,158,548,302,86, + 86,88,152,397,454,454,597,14,19,15, + 389,42,45,597,14,19,15,389,42,44, + 200,240,133,210,1101,275,6,6,453,1127, + 149,132,134,158,399,1536,455,397,6,1641, + 133,210,1695,824,46,1230,94,1546,152,132, + 134,158,743,824,6,824,142,397,1072,276, + 544,1553,207,1599,631,824,238,86,195,1695, + 195,767,1238,435,228,824,1384,308,1384,222, + 195,1695,824,1544,255,1695,399,1101,1384,270, + 195,1483,190,1098,190,824,225,1072,1384,1091, + 1600,1286,1600,26,190,265,1104,1099,268,507, + 1072,1596,1600,744,190,48,308,6,455,544, + 190,1614,1600,255,824,206,455,302,6,824, + 1643,135,1098,302,308,361,255,411,224,1072, + 1173,1130,184,1483,195,1098,1101,302,302,86, + 239,308,1384,308,306,302,241,86,1695,1644, + 183,308,879,397,723,255,1695,1695,191,1695, + 242,287,1517,1695,1098,1695,1695,202,289,203, + 1118,1695,1695,1695,206,227,231,278,1695,1695, + 1695,1695,317,1695,1695,1695,1695,1695,1695,1256, + 1130,1695,0,17,178,0,18,177,0,1, + 1918,0,1,1929,0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -390,77 +391,93 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface TermCheck { public final static byte termCheck[] = {0, - 0,1,2,3,4,0,6,7,8,0, - 10,11,12,13,14,15,16,17,18,19, - 20,0,22,23,24,25,26,27,28,0, - 0,1,0,12,4,0,36,37,38,39, - 40,41,42,43,44,45,46,47,0,1, - 0,21,4,3,6,7,8,57,58,59, - 51,52,53,54,16,0,31,32,0,1, - 2,3,24,25,26,27,28,9,0,1, - 51,52,53,54,36,37,38,39,40,41, - 42,43,44,45,46,47,0,0,1,49, - 50,4,6,7,8,57,58,59,0,0, - 1,33,16,4,0,0,51,52,53,54, - 24,25,26,27,28,0,0,0,1,3, - 21,4,36,37,38,39,40,41,42,43, - 44,45,46,47,0,1,2,3,4,5, - 0,1,2,3,10,11,12,13,14,15, - 16,17,18,19,20,0,22,23,3,0, - 1,2,3,4,5,49,50,63,34,10, - 11,12,13,14,15,16,17,18,19,20, - 0,22,23,0,0,1,2,3,4,5, - 10,11,9,34,10,11,12,13,14,15, - 0,17,18,19,20,21,22,23,0,0, - 0,1,2,3,4,5,0,1,2,35, - 10,11,12,13,14,15,0,17,18,19, - 20,5,22,23,0,0,1,2,3,4, - 0,0,1,3,34,10,11,12,13,14, - 15,0,17,18,19,20,30,22,23,0, - 1,2,3,4,55,31,32,67,68,10, - 11,12,13,14,15,0,17,18,19,20, - 21,22,23,0,1,2,3,4,80,49, - 50,65,0,10,11,12,13,14,15,0, - 17,18,19,20,21,22,23,0,1,2, - 3,4,0,1,79,64,4,10,11,12, - 13,14,15,0,17,18,19,20,5,22, - 23,0,1,2,3,4,0,62,0,0, - 2,10,11,12,13,14,15,9,17,18, - 19,20,29,22,23,0,1,2,3,4, - 0,0,0,64,3,10,11,12,13,14, - 15,0,17,18,19,20,0,22,23,0, - 0,2,3,21,5,6,7,8,9,0, - 30,0,1,2,33,16,5,0,0,1, - 9,62,4,24,25,26,27,28,29,0, - 21,2,3,33,5,6,7,8,9,21, - 29,0,1,2,3,16,0,56,31,32, - 9,0,0,24,25,26,27,28,29,63, - 69,70,71,72,73,74,75,76,77,78, - 0,0,21,2,3,0,6,7,8,0, - 9,6,7,8,5,0,16,0,0,0, - 1,16,5,4,24,25,26,27,28,24, - 25,26,27,28,0,0,0,2,29,0, - 6,7,8,0,9,6,7,8,13,14, - 16,34,0,1,2,16,0,0,24,25, - 26,27,28,24,25,26,27,28,0,0, - 2,2,3,5,0,60,61,9,9,0, - 6,7,8,48,0,6,7,8,0,0, - 6,7,8,0,6,7,8,29,0,56, - 0,66,0,0,6,7,8,55,6,7, - 8,0,0,10,11,0,5,60,61,0, - 31,32,10,11,31,32,0,0,9,0, - 0,5,5,0,5,2,0,0,0,0, - 29,30,9,5,5,9,0,0,0,12, - 0,21,0,0,0,29,0,0,0,9, - 0,0,35,0,35,0,0,48,21,0, - 0,56,0,0,35,0,30,0,30,0, - 0,0,0,30,48,33,30,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,65,0,0,0,0,0,55, + 0,1,2,3,4,0,6,7,8,9, + 0,11,12,13,14,15,16,17,18,19, + 20,21,22,23,24,25,0,27,28,29, + 30,31,32,33,34,35,36,37,38,39, + 40,0,42,43,44,0,1,0,3,0, + 5,6,7,8,9,0,11,12,13,14, + 15,6,7,8,9,0,11,12,13,14, + 15,6,7,8,29,30,31,32,33,34, + 35,36,37,38,39,40,45,42,43,44, + 80,46,47,0,1,0,3,50,5,6, + 7,8,9,0,11,12,13,14,15,6, + 7,8,9,0,11,12,13,14,15,6, + 7,8,29,30,31,32,33,34,35,36, + 37,38,39,40,0,42,43,44,4,46, + 47,0,1,0,3,50,5,6,7,8, + 9,0,11,12,13,14,15,6,7,8, + 9,0,11,12,13,14,15,6,7,8, + 29,30,31,32,33,34,35,36,37,38, + 39,40,0,42,43,44,0,46,47,0, + 1,0,3,0,5,6,7,8,9,0, + 11,12,13,14,15,6,7,8,9,0, + 11,12,13,14,15,6,7,8,29,30, + 31,32,33,34,35,36,37,38,39,40, + 0,42,43,44,0,46,47,0,1,0, + 3,0,5,6,7,8,9,0,11,12, + 13,14,15,0,0,1,2,16,17,5, + 0,0,1,2,10,4,29,30,31,32, + 33,34,35,36,37,38,39,40,18,42, + 43,44,0,46,47,0,1,0,3,59, + 0,6,7,8,9,41,11,12,13,14, + 15,0,55,56,57,58,5,0,55,56, + 57,58,5,0,29,30,31,32,33,34, + 35,36,37,38,39,40,0,42,43,44, + 48,49,6,7,8,9,0,11,12,13, + 14,15,55,56,57,58,0,0,0,1, + 4,3,51,46,64,29,30,31,32,33, + 34,35,36,37,38,39,40,0,1,2, + 3,4,5,0,26,0,9,0,65,6, + 7,8,0,16,17,18,19,20,21,22, + 23,24,25,0,27,28,0,4,0,53, + 54,5,4,0,1,2,3,4,5,0, + 0,1,9,3,0,6,7,8,51,16, + 17,18,19,20,21,22,23,24,25,0, + 27,28,0,4,0,1,26,41,0,0, + 1,2,3,4,5,0,53,54,50,0, + 0,1,0,3,51,16,17,18,19,20, + 21,22,23,24,25,26,27,28,16,17, + 0,1,2,3,4,5,26,0,1,2, + 48,49,53,54,50,46,16,17,18,19, + 20,21,22,23,24,25,0,27,28,61, + 62,0,1,2,0,4,0,1,2,3, + 4,10,63,68,69,0,1,0,3,0, + 1,51,16,17,18,19,20,21,22,23, + 24,25,0,27,28,0,59,2,0,1, + 2,3,4,0,1,10,3,0,1,0, + 3,0,0,47,16,17,18,19,20,21, + 22,23,24,25,26,27,28,0,1,2, + 3,4,0,1,2,26,4,26,61,62, + 48,49,10,16,17,18,19,20,21,22, + 23,24,25,26,27,28,0,1,2,3, + 4,0,0,2,0,4,0,5,0,1, + 2,10,16,17,18,19,20,21,22,23, + 24,25,0,27,28,0,1,2,3,4, + 0,0,2,0,4,0,0,0,16,17, + 10,16,17,18,19,20,21,22,23,24, + 25,18,27,28,0,1,2,3,4,0, + 0,0,0,1,0,3,5,63,66,0, + 16,17,18,19,20,21,22,23,24,25, + 0,27,28,0,0,2,26,4,5,6, + 7,8,9,10,11,12,13,14,15,0, + 65,2,41,4,5,6,7,8,9,10, + 11,12,13,14,15,0,0,2,0,60, + 5,5,0,0,41,10,0,5,10,70, + 71,72,73,74,75,76,77,78,79,0, + 41,2,0,0,0,2,0,5,64,10, + 0,0,0,10,10,0,41,0,19,20, + 10,45,0,41,0,0,0,45,0,0, + 52,48,49,0,48,49,10,26,26,0, + 0,0,66,41,0,0,0,0,0,0, + 0,52,0,0,0,0,52,0,0,0, + 45,0,45,0,0,59,67,45,0,0, + 45,0,0,0,0,0,0,0,0,0, + 0,0,0,0,60,0,0,0,60,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0 + 0,0 }; }; public final static byte termCheck[] = TermCheck.termCheck; @@ -468,73 +485,89 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface TermAction { public final static char termAction[] = {0, - 1694,610,1438,1319,611,1,1904,1905,1906,58, - 1212,1072,1349,372,362,329,1855,1704,1705,1706, - 1707,63,1024,888,1856,1854,1907,1857,1853,60, - 1694,1873,1694,1270,1874,53,1860,1865,1864,1862, - 1863,1861,1866,1867,1859,1868,1869,1870,1694,1872, - 47,1219,1871,1492,1904,1905,1906,1005,883,849, - 1370,1359,1338,1327,1855,59,834,968,257,1916, - 1102,1,1856,1854,1907,1857,1853,497,1,1691, - 1370,1359,1338,1327,1860,1865,1864,1862,1863,1861, - 1866,1867,1859,1868,1869,1870,127,1694,1723,1485, - 1455,1724,1904,1905,1906,1005,883,849,1694,1694, - 1873,1947,1855,1874,67,1694,1370,1359,1338,1327, - 1856,1854,1907,1857,1853,1694,49,204,1873,1492, - 1347,1874,1860,1865,1864,1862,1863,1861,1866,1867, - 1859,1868,1869,1870,1,1711,1438,1396,1712,1697, - 1694,1916,1379,1443,1212,1072,1349,372,362,329, - 526,1704,1705,1706,1707,1694,1024,888,1133,1694, - 1711,1438,1431,1712,1697,1485,1455,1081,1696,1212, - 1072,1349,372,362,329,901,1704,1705,1706,1707, - 50,1024,888,266,1,1711,1438,1319,1712,27, - 1015,959,497,1696,1212,1072,1349,372,362,329, - 71,1704,1705,1706,1707,1607,1024,888,1694,1694, - 1694,1711,1438,1319,1712,1697,1,1916,1379,27, - 1212,1072,1349,372,362,329,1694,1704,1705,1706, - 1707,1703,1024,888,57,1694,1,1,1,1, - 48,1694,1928,1492,1696,1,1,1,1,1, - 1,69,1,1,1,1,1279,1,1,1, - 1711,1438,1319,1712,1052,834,968,1163,1596,1212, - 1072,1349,372,362,329,65,1704,1705,1706,1707, - 1607,1024,888,1694,1711,1438,1319,1712,1681,1485, - 1455,1702,1694,1212,1072,1349,372,362,329,70, - 1704,1705,1706,1707,1607,1024,888,1694,1711,1438, - 1319,1712,1694,1873,2000,1180,1874,1212,1072,1349, - 372,362,329,1694,1704,1705,1706,1707,1699,1024, - 888,1694,1711,1439,1319,1712,1694,1196,265,66, - 1125,1212,1072,1349,372,362,329,497,1704,1705, - 1706,1707,1698,1024,888,1,1711,1438,1319,1712, - 87,1,1694,1180,1133,1212,1072,1349,372,362, - 329,42,1704,1705,1706,1707,68,1024,888,17, - 1,1682,1682,391,1682,178,178,178,1682,41, - 590,1,1688,1102,1947,178,1699,56,1694,1873, - 497,1196,1874,178,178,178,178,178,1682,18, - 391,1685,1685,1947,1685,177,177,177,1685,1385, - 1698,263,1916,1102,1443,177,1694,814,834,968, - 497,186,1694,177,177,177,177,177,1685,1081, - 794,774,754,734,714,674,694,654,634,614, - 128,260,1505,1381,1,129,1904,1905,1906,1, - 497,1904,1905,1906,89,61,1855,1694,1694,203, - 1476,1855,1697,1476,1856,1854,1907,1857,1853,1856, - 1854,1907,1857,1853,130,31,1694,1440,89,131, - 1904,1905,1906,207,1506,1904,1905,1906,1718,1719, - 1855,1696,1,1916,1379,1855,1694,62,1856,1854, - 1907,1857,1853,1856,1854,1907,1857,1853,1,263, - 1381,1381,1443,1699,245,1297,484,497,497,1694, - 1,1,1,451,246,1904,1905,1906,244,55, - 1,1,1,54,1904,1905,1906,1698,247,940, - 1694,450,248,52,1904,1905,1906,996,1904,1905, - 1906,1694,51,1015,959,1694,1699,1297,484,1694, - 834,968,1015,959,834,968,1,1,921,1694, - 185,1699,189,218,1701,1531,283,64,1,1, - 1698,1160,497,1703,188,977,251,187,28,1270, - 216,1517,1,28,198,1698,203,1694,1694,497, - 1694,1694,189,1694,1700,1694,1694,1227,1533,1694, - 1694,570,1694,1694,188,1694,1286,1694,430,1694, - 1694,1694,1694,1721,1382,1946,2480,1694,1694,1694, - 1694,1694,1694,1694,1694,1694,1694,1694,1694,1694, - 1694,1694,1694,1702,1694,1694,1694,1694,1694,1033 + 1695,611,1439,612,1320,1,1906,1907,1908,1856, + 1695,1857,1855,1909,1858,1854,1213,1073,1350,373, + 363,330,1705,1706,1707,1708,1695,1025,889,1861, + 1866,1865,1863,1864,1862,1867,1868,1860,1869,1870, + 1871,87,1006,884,850,1695,1,1,1,1695, + 189,1,1,1,1,128,1,1,1,1, + 1,1906,1907,1908,1856,246,1857,1855,1909,1858, + 1854,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,591,1,1,1, + 1682,189,1889,1695,1,1,1,1949,189,1, + 1,1,1,129,1,1,1,1,1,1906, + 1907,1908,1856,1695,1857,1855,1909,1858,1854,1906, + 1907,1908,1,1,1,1,1,1,1,1, + 1,1,1,1,1695,1,1,1,1134,189, + 1889,1695,1,1695,1,1948,189,1,1,1, + 1,130,1,1,1,1,1,1906,1907,1908, + 1856,247,1857,1855,1909,1858,1854,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1695,1,1,1,1695,189,1889,1695, + 1,1695,1,1695,188,1,1,1,1,131, + 1,1,1,1,1,1906,1907,1908,1856,245, + 1857,1855,1909,1858,1854,1906,1907,1908,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1695,1,1,1,1695,188,1889,1695,1,1695, + 1,50,189,1,1,1,1,58,1,1, + 1,1,1,60,1,1689,1103,1016,960,1700, + 63,1695,1918,1380,498,1444,1,1,1,1, + 1,1,1,1,1,1,1,1,1271,1, + 1,1,53,189,1889,1695,1873,59,1872,1053, + 67,1906,1907,1908,1856,1699,1857,1855,1909,1858, + 1854,1695,1371,1360,1339,1328,1698,1695,1371,1360, + 1339,1328,1702,69,1861,1866,1865,1863,1864,1862, + 1867,1868,1860,1869,1870,1871,127,1006,884,850, + 835,969,1906,1907,1908,1856,1695,1857,1855,1909, + 1858,1854,1371,1360,1339,1328,47,1695,1695,1874, + 1493,1875,1697,1701,1082,1861,1866,1865,1863,1864, + 1862,1867,1868,1860,1869,1870,1871,1,1712,1439, + 1713,1397,1698,248,1220,1695,527,1695,1181,1906, + 1907,1908,1695,1213,1073,1350,373,363,330,1705, + 1706,1707,1708,49,1025,889,1695,1493,1,1486, + 1456,1700,1134,1695,1712,1439,1713,1432,1698,249, + 1695,1874,902,1875,1695,1906,1907,1908,1697,1213, + 1073,1350,373,363,330,1705,1706,1707,1708,48, + 1025,889,57,1493,1,1692,1348,1699,61,1, + 1712,1439,1713,1320,27,71,1486,1456,1949,65, + 1695,1874,52,1875,1697,1213,1073,1350,373,363, + 330,1705,1706,1707,1708,1608,1025,889,1016,960, + 1695,1712,1439,1713,1320,1698,1386,1,1918,1380, + 835,969,1486,1456,1949,27,1213,1073,1350,373, + 363,330,1705,1706,1707,1708,1695,1025,889,1298, + 485,258,1918,1103,1695,1,1695,1,1,1, + 1,498,1197,1164,1597,1695,1724,62,1725,1695, + 1930,1697,1,1,1,1,1,1,1,1, + 1,1,56,1,1,266,997,1126,1,1712, + 1439,1713,1320,205,1874,498,1875,1695,1874,1695, + 1875,41,1695,2002,1213,1073,1350,373,363,330, + 1705,1706,1707,1708,1608,1025,889,1695,1712,1439, + 1713,1320,264,1918,1103,392,1444,392,1298,485, + 835,969,498,1213,1073,1350,373,363,330,1705, + 1706,1707,1708,1608,1025,889,1695,1712,1439,1713, + 1320,261,1,1382,66,1,1695,1704,1,1918, + 1380,498,1213,1073,1350,373,363,330,1705,1706, + 1707,1708,51,1025,889,1695,1712,1440,1713,1320, + 264,1695,1382,64,1444,70,1695,1695,1016,960, + 498,1213,1073,1350,373,363,330,1705,1706,1707, + 1708,1271,1025,889,1,1712,1439,1713,1320,42, + 186,1,204,1477,1695,1477,89,1197,1703,1695, + 1213,1073,1350,373,363,330,1705,1706,1707,1708, + 1695,1025,889,17,68,1683,1506,1683,1683,178, + 178,178,178,1683,178,178,178,178,178,18, + 1181,1686,89,1686,1686,177,177,177,177,1686, + 177,177,177,177,177,1,1695,1382,1695,815, + 1700,1704,1695,55,1683,498,54,1700,922,795, + 775,755,735,715,675,695,655,635,615,31, + 1686,1441,1,219,284,1532,199,1700,1082,1507, + 267,185,187,498,978,252,1699,28,1719,1720, + 498,1280,28,1699,208,204,217,1161,1695,1695, + 1228,835,969,1695,835,969,498,1518,1534,1695, + 1695,1695,1703,1699,1695,1695,1695,1695,1695,1695, + 1695,452,1695,1695,1695,1695,1383,1695,1695,1695, + 1287,1695,431,1695,1695,1034,451,1722,1695,1695, + 2665,1695,1695,1695,1695,1695,1695,1695,1695,1695, + 1695,1695,1695,1695,941,1695,1695,1695,571 }; }; public final static char termAction[] = TermAction.termAction; @@ -542,27 +575,27 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Asb { public final static char asb[] = {0, - 426,1,80,41,80,80,80,80,80,80, - 80,80,80,337,3,181,178,185,183,191, - 189,193,192,195,194,10,80,337,163,163, - 256,337,321,321,378,80,80,80,80,80, + 427,1,80,41,80,80,80,80,80,80, + 80,80,80,338,3,181,178,185,183,191, + 189,193,192,195,194,10,80,338,163,163, + 256,338,322,322,379,80,80,80,80,80, 80,80,80,80,80,80,80,80,80,80, 80,80,80,80,80,80,80,80,80,80, 80,80,80,80,80,80,163,72,260,74, - 291,161,160,231,243,243,70,70,243,70, - 243,351,117,117,163,45,178,178,183,183, + 292,161,160,231,243,243,70,70,243,70, + 243,352,117,117,163,45,178,178,183,183, 183,183,181,181,189,185,185,192,191,224, - 194,193,166,54,256,251,97,45,374,78, - 163,397,294,206,262,206,262,331,206,80, - 54,251,374,374,45,77,74,163,254,351, - 162,296,262,262,262,262,331,331,333,49, - 54,374,251,80,80,45,78,291,219,218, - 260,296,163,262,288,324,262,262,288,333, - 226,333,331,288,52,229,321,80,48,54, - 251,45,45,163,397,294,254,288,326,288, - 288,80,321,333,56,45,321,80,333,296, - 202,80,201,93,260,288,45,288,163,162, - 326,80,93,322 + 194,193,166,54,256,251,97,45,375,78, + 163,398,295,206,262,206,262,332,206,80, + 54,251,375,375,45,77,74,163,254,352, + 162,297,262,262,262,262,332,332,334,49, + 54,375,251,80,80,45,78,292,219,218, + 260,297,163,262,289,325,262,262,289,334, + 226,334,332,289,52,229,322,80,48,54, + 251,45,45,163,398,295,254,289,327,289, + 289,80,322,334,56,45,322,80,334,297, + 202,80,201,93,260,289,45,289,163,162, + 327,80,93,323 }; }; public final static char asb[] = Asb.asb; @@ -570,51 +603,51 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Asr { public final static byte asr[] = {0, - 80,0,65,9,2,48,66,13,14,12, - 3,10,11,49,50,31,32,51,52,53, - 54,60,61,62,63,64,67,68,35,56, - 69,70,71,72,73,75,74,76,77,78, - 55,29,80,30,34,5,0,56,9,48, - 0,5,35,9,48,13,14,12,3,10, - 11,22,23,15,2,17,18,19,20,1, - 4,21,0,6,7,8,16,34,5,17, - 18,19,20,4,13,14,12,10,11,22, - 23,15,3,2,1,0,6,7,8,2, - 17,18,19,20,1,4,13,14,12,3, - 10,11,22,23,15,0,7,16,28,8, - 27,26,25,6,24,48,66,13,14,12, - 10,11,49,50,31,32,51,52,53,54, - 60,61,62,63,64,67,68,56,69,70, - 71,72,73,74,75,76,77,78,3,2, - 9,30,29,5,0,56,69,70,71,72, - 73,74,75,76,77,78,21,3,49,50, - 10,11,32,31,51,52,53,54,60,61, - 12,62,63,64,34,29,35,80,67,68, - 55,65,5,30,0,24,6,25,26,27, - 7,16,28,8,1,3,21,2,5,30, - 29,65,9,55,0,5,30,35,56,0, - 44,36,41,39,40,38,37,42,43,45, - 46,47,55,65,28,25,16,24,27,26, - 6,7,8,30,1,5,29,2,9,3, - 0,24,36,6,37,57,25,38,26,39, - 40,27,7,41,42,16,58,28,59,43, - 44,8,45,46,47,1,4,35,5,0, - 3,2,9,29,5,24,36,6,37,57, - 25,38,26,39,40,27,7,41,42,16, - 58,28,59,43,44,8,45,46,47,33, - 4,1,0,65,5,3,1,2,55,0, - 1,4,5,35,30,0,15,17,18,19, - 20,2,13,14,12,3,10,11,22,23, - 4,1,57,58,59,44,36,41,39,40, - 38,37,42,43,45,46,47,28,25,16, - 24,27,26,6,7,8,0,5,29,15, - 17,18,19,20,1,4,2,13,14,12, - 3,10,11,22,23,0,24,36,6,37, - 57,25,38,26,39,40,27,7,41,42, - 16,58,28,59,43,44,8,45,46,47, - 1,4,33,3,0,15,17,18,19,20, - 1,4,2,13,14,12,3,10,11,22, - 23,79,0 + 80,0,66,10,2,52,67,19,20,18, + 4,16,17,53,54,48,49,55,56,57, + 58,61,62,63,64,65,68,69,46,60, + 70,71,72,73,74,76,75,77,78,79, + 59,41,80,45,51,5,0,60,10,52, + 0,5,46,10,52,19,20,18,4,16, + 17,27,28,21,2,22,23,24,25,1, + 3,26,0,6,7,8,9,51,5,22, + 23,24,25,3,19,20,18,16,17,27, + 28,21,4,2,1,0,6,7,8,2, + 22,23,24,25,1,3,19,20,18,4, + 16,17,27,28,21,0,7,9,15,8, + 14,13,12,6,11,52,67,19,20,18, + 16,17,53,54,48,49,55,56,57,58, + 61,62,63,64,65,68,69,60,70,71, + 72,73,74,75,76,77,78,79,4,2, + 10,45,41,5,0,60,70,71,72,73, + 74,75,76,77,78,79,26,4,53,54, + 16,17,49,48,55,56,57,58,61,62, + 18,63,64,65,51,41,46,80,68,69, + 59,66,5,45,0,11,6,12,13,14, + 7,9,15,8,1,4,26,2,5,45, + 41,66,10,59,0,5,45,46,60,0, + 37,29,34,32,33,31,30,35,36,38, + 39,40,59,66,15,12,9,11,14,13, + 6,7,8,45,1,5,41,2,10,4, + 0,11,29,6,30,42,12,31,13,32, + 33,14,7,34,35,9,43,15,44,36, + 37,8,38,39,40,1,3,47,46,5, + 0,4,2,10,41,5,11,29,6,30, + 42,12,31,13,32,33,14,7,34,35, + 9,43,15,44,36,37,8,38,39,40, + 50,3,1,0,66,5,4,1,2,59, + 0,1,3,5,46,45,0,21,22,23, + 24,25,2,19,20,18,4,16,17,27, + 28,3,1,42,43,44,37,29,34,32, + 33,31,30,35,36,38,39,40,15,12, + 9,11,14,13,6,7,8,0,5,41, + 21,22,23,24,25,1,3,2,19,20, + 18,4,16,17,27,28,0,11,29,6, + 30,42,12,31,13,32,33,14,7,34, + 35,9,43,15,44,36,37,8,38,39, + 40,1,3,50,4,0,21,22,23,24, + 25,1,3,2,19,20,18,4,16,17, + 27,28,47,0 }; }; public final static byte asr[] = Asr.asr; @@ -666,14 +699,14 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface TerminalIndex { public final static char terminalIndex[] = {0, - 85,2,9,86,87,48,64,76,1,10, - 11,8,6,7,68,69,81,82,83,84, - 3,12,13,44,55,60,63,72,90,42, - 16,17,30,89,91,47,52,56,61,62, - 66,67,74,75,78,79,80,4,14,15, - 18,19,20,21,29,31,54,70,73,22, - 23,24,25,26,92,5,27,28,32,33, - 34,35,36,37,38,39,40,41,93,94, + 85,2,86,9,87,48,64,76,69,1, + 44,55,60,63,72,10,11,8,6,7, + 68,81,82,83,84,3,12,13,47,52, + 56,61,62,66,67,74,75,78,79,80, + 90,54,70,73,42,91,93,16,17,30, + 89,4,14,15,18,19,20,21,29,31, + 22,23,24,25,26,92,5,27,28,32, + 33,34,35,36,37,38,39,40,41,94, 45,46,49,50,51,53,57,58,59,65, 71,77,88 }; @@ -735,10 +768,10 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeLa { public final static byte scopeLa[] = { - 35,35,34,34,35,35,35,86,35,29, - 34,29,35,35,29,34,65,29,29,34, - 55,34,34,29,34,29,29,56,1,92, - 29,65,2,2,2 + 46,46,51,51,46,46,46,86,46,41, + 51,41,46,46,41,51,66,41,41,51, + 59,51,51,41,51,41,41,60,1,92, + 41,66,2,2,2 }; }; public final static byte scopeLa[] = ScopeLa.scopeLa; @@ -757,25 +790,25 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeRhs { public final static char scopeRhs[] = {0, - 139,9,0,96,0,181,102,0,31,136, - 0,144,163,102,21,0,98,0,150,102, + 139,10,0,96,0,181,102,0,31,136, + 0,144,163,102,26,0,98,0,150,102, 2,135,0,97,0,150,102,2,0,153, - 2,0,112,16,175,102,9,0,112,175, - 102,16,9,0,112,16,9,0,112,175, - 102,9,0,112,9,0,129,0,2,0, + 2,0,112,9,175,102,10,0,112,175, + 102,9,10,0,112,9,10,0,112,175, + 102,10,0,112,10,0,129,0,2,0, 151,97,0,2,97,0,150,102,2,129, 0,2,0,150,97,0,140,2,0,144, - 173,102,21,120,57,0,144,173,102,21, - 57,0,125,0,99,0,178,102,125,0, - 102,125,0,141,99,0,148,102,21,120, - 59,0,148,102,21,120,58,0,148,102, - 21,59,0,148,102,21,58,0,187,85, + 173,102,26,120,42,0,144,173,102,26, + 42,0,125,0,99,0,178,102,125,0, + 102,125,0,141,99,0,148,102,26,120, + 44,0,148,102,26,120,43,0,148,102, + 26,44,0,148,102,26,43,0,187,85, 0,77,2,100,97,99,0,187,115,138, - 2,89,0,53,0,0,138,68,110,0, - 29,117,0,162,2,15,0,144,163,102, - 21,115,162,2,0,162,2,0,97,3, + 2,89,0,53,0,0,138,69,110,0, + 29,117,0,162,2,21,0,144,163,102, + 26,115,162,2,0,162,2,0,97,3, 0,104,0,98,0,177,2,97,0,138, - 9,97,0,138,2,0 + 10,97,0,138,2,0 }; }; public final static char scopeRhs[] = ScopeRhs.scopeRhs; @@ -783,16 +816,16 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeState { public final static char scopeState[] = {0, - 390,0,389,0,1545,1599,1535,1525,1523,0, - 1117,1279,1379,1211,360,1102,1071,0,823,1205, - 307,0,1592,1550,1103,1098,360,1102,1071,1543, - 1381,1386,0,1431,1396,1180,1163,1196,1081,1297, - 484,1270,968,834,1370,1359,1338,1327,1492,1485, - 1455,1015,959,372,362,1349,1319,1212,1072,1024, - 888,329,1033,996,977,940,921,901,855,546, - 1052,526,497,814,794,774,754,734,714,694, - 674,654,634,614,307,590,454,570,410,430, - 339,0 + 391,0,390,0,1546,1600,1536,1526,1524,0, + 1118,1280,1380,1212,361,1103,1072,0,824,1206, + 308,0,1593,1551,1104,1099,361,1103,1072,1544, + 1382,1387,0,1432,1397,1181,1164,1197,1082,1298, + 485,1271,969,835,1371,1360,1339,1328,1493,1486, + 1456,1016,960,373,363,1350,1320,1213,1073,1025, + 889,330,1034,997,978,941,922,902,856,547, + 1053,527,498,815,795,775,755,735,715,695, + 675,655,635,615,308,591,455,571,411,431, + 340,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -800,27 +833,27 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface InSymb { public final static char inSymb[] = {0, - 0,176,102,164,15,23,22,11,10,3, - 12,14,13,2,97,101,100,104,103,106, - 105,108,107,110,109,98,30,2,162,138, - 125,102,66,48,2,9,11,10,50,49, - 3,54,53,52,51,31,32,12,61,60, - 63,62,68,67,64,78,77,76,74,75, - 73,72,71,70,69,56,162,115,102,9, - 2,136,135,165,166,167,59,58,168,57, - 169,170,1,4,177,138,100,100,103,103, + 0,176,102,164,21,28,27,17,16,4, + 18,20,19,2,97,101,100,104,103,106, + 105,108,107,110,109,98,45,2,162,138, + 125,102,67,52,2,10,17,16,54,53, + 4,58,57,56,55,48,49,18,62,61, + 64,63,69,68,65,79,78,77,75,76, + 74,73,72,71,70,60,162,115,102,10, + 2,136,135,165,166,167,44,43,168,42, + 169,170,1,3,177,138,100,100,103,103, 103,103,101,101,105,104,104,107,106,138, - 109,108,115,21,142,3,16,112,102,3, - 153,102,2,120,21,120,21,21,120,55, - 102,3,102,102,112,175,151,150,117,102, - 152,102,21,102,21,102,102,21,163,102, - 21,102,151,175,16,112,3,2,127,129, - 102,30,150,102,148,125,149,102,148,173, - 120,174,102,144,30,181,48,9,182,102, + 109,108,115,26,142,4,9,112,102,4, + 153,102,2,120,26,120,26,26,120,59, + 102,4,102,102,112,175,151,150,117,102, + 152,102,26,102,26,102,102,26,163,102, + 26,102,151,175,9,112,4,2,127,129, + 102,45,150,102,148,125,149,102,148,173, + 120,174,102,144,45,181,52,10,182,102, 151,112,112,140,102,2,142,148,102,148, - 144,56,30,173,56,139,48,9,163,102, - 178,55,140,2,102,144,139,144,150,179, - 30,55,142,30 + 144,60,45,173,60,139,52,10,163,102, + 178,59,140,2,102,144,139,144,150,179, + 45,59,142,45 }; }; public final static char inSymb[] = InSymb.inSymb; @@ -1004,7 +1037,7 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public final String name(int index) { return name[index]; } public final static int - ERROR_SYMBOL = 79, + ERROR_SYMBOL = 47, SCOPE_UBOUND = 34, SCOPE_SIZE = 35, MAX_NAME_LENGTH = 38; @@ -1017,18 +1050,18 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public final static int NUM_STATES = 204, NT_OFFSET = 93, - LA_STATE_OFFSET = 2000, + LA_STATE_OFFSET = 2002, MAX_LA = 2, - NUM_RULES = 306, + NUM_RULES = 307, NUM_NONTERMINALS = 115, NUM_SYMBOLS = 208, SEGMENT_SIZE = 8192, - START_STATE = 1588, + START_STATE = 1589, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 80, EOLT_SYMBOL = 80, - ACCEPT_ACTION = 1681, - ERROR_ACTION = 1694; + ACCEPT_ACTION = 1682, + ERROR_ACTION = 1695; public final static boolean BACKTRACK = true; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParsersym.java index 777d2a8bc82..8a71a575cc3 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParsersym.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParsersym.java @@ -15,118 +15,123 @@ package org.eclipse.cdt.internal.core.dom.lrparser.c99; public interface C99NoCastExpressionParsersym { public final static int - TK_auto = 24, + TK_auto = 11, TK_break = 81, TK_case = 82, - TK_char = 36, + TK_char = 29, TK_const = 6, TK_continue = 83, TK_default = 84, TK_do = 85, - TK_double = 37, + TK_double = 30, TK_else = 86, - TK_enum = 57, - TK_extern = 25, - TK_float = 38, + TK_enum = 42, + TK_extern = 12, + TK_float = 31, TK_for = 87, TK_goto = 88, TK_if = 89, - TK_inline = 26, - TK_int = 39, - TK_long = 40, - TK_register = 27, + TK_inline = 13, + TK_int = 32, + TK_long = 33, + TK_register = 14, TK_restrict = 7, TK_return = 90, - TK_short = 41, - TK_signed = 42, - TK_sizeof = 15, - TK_static = 16, - TK_struct = 58, + TK_short = 34, + TK_signed = 35, + TK_sizeof = 21, + TK_static = 9, + TK_struct = 43, TK_switch = 91, - TK_typedef = 28, - TK_union = 59, - TK_unsigned = 43, - TK_void = 44, + TK_typedef = 15, + TK_union = 44, + TK_unsigned = 36, + TK_void = 37, TK_volatile = 8, TK_while = 92, - TK__Bool = 45, - TK__Complex = 46, - TK__Imaginary = 47, - TK_integer = 17, - TK_floating = 18, - TK_charconst = 19, - TK_stringlit = 20, + TK__Bool = 38, + TK__Complex = 39, + TK__Imaginary = 40, + TK_integer = 22, + TK_floating = 23, + TK_charconst = 24, + TK_stringlit = 25, TK_identifier = 1, - TK_Completion = 4, + TK_Completion = 3, TK_EndOfCompletion = 5, TK_Invalid = 93, - TK_LeftBracket = 9, + TK_LeftBracket = 10, TK_LeftParen = 2, - TK_LeftBrace = 21, - TK_Dot = 48, - TK_Arrow = 66, - TK_PlusPlus = 13, - TK_MinusMinus = 14, - TK_And = 12, - TK_Star = 3, - TK_Plus = 10, - TK_Minus = 11, - TK_Tilde = 22, - TK_Bang = 23, - TK_Slash = 49, - TK_Percent = 50, - TK_RightShift = 31, - TK_LeftShift = 32, - TK_LT = 51, - TK_GT = 52, - TK_LE = 53, - TK_GE = 54, - TK_EQ = 60, - TK_NE = 61, - TK_Caret = 62, - TK_Or = 63, - TK_AndAnd = 64, - TK_OrOr = 67, - TK_Question = 68, - TK_Colon = 55, - TK_DotDotDot = 33, - TK_Assign = 56, - TK_StarAssign = 69, - TK_SlashAssign = 70, - TK_PercentAssign = 71, - TK_PlusAssign = 72, - TK_MinusAssign = 73, - TK_RightShiftAssign = 74, - TK_LeftShiftAssign = 75, - TK_AndAssign = 76, - TK_CaretAssign = 77, - TK_OrAssign = 78, - TK_Comma = 30, - TK_RightBracket = 34, - TK_RightParen = 29, - TK_RightBrace = 35, - TK_SemiColon = 65, - TK_ERROR_TOKEN = 79, + TK_LeftBrace = 26, + TK_Dot = 52, + TK_Arrow = 67, + TK_PlusPlus = 19, + TK_MinusMinus = 20, + TK_And = 18, + TK_Star = 4, + TK_Plus = 16, + TK_Minus = 17, + TK_Tilde = 27, + TK_Bang = 28, + TK_Slash = 53, + TK_Percent = 54, + TK_RightShift = 48, + TK_LeftShift = 49, + TK_LT = 55, + TK_GT = 56, + TK_LE = 57, + TK_GE = 58, + TK_EQ = 61, + TK_NE = 62, + TK_Caret = 63, + TK_Or = 64, + TK_AndAnd = 65, + TK_OrOr = 68, + TK_Question = 69, + TK_Colon = 59, + TK_DotDotDot = 50, + TK_Assign = 60, + TK_StarAssign = 70, + TK_SlashAssign = 71, + TK_PercentAssign = 72, + TK_PlusAssign = 73, + TK_MinusAssign = 74, + TK_RightShiftAssign = 75, + TK_LeftShiftAssign = 76, + TK_AndAssign = 77, + TK_CaretAssign = 78, + TK_OrAssign = 79, + TK_Comma = 45, + TK_RightBracket = 51, + TK_RightParen = 41, + TK_RightBrace = 46, + TK_SemiColon = 66, + TK_ERROR_TOKEN = 47, TK_EOF_TOKEN = 80; public final static String orderedTerminalSymbols[] = { "", "identifier", "LeftParen", - "Star", "Completion", + "Star", "EndOfCompletion", "const", "restrict", "volatile", + "static", "LeftBracket", + "auto", + "extern", + "inline", + "register", + "typedef", "Plus", "Minus", "And", "PlusPlus", "MinusMinus", "sizeof", - "static", "integer", "floating", "charconst", @@ -134,18 +139,6 @@ public interface C99NoCastExpressionParsersym { "LeftBrace", "Tilde", "Bang", - "auto", - "extern", - "inline", - "register", - "typedef", - "RightParen", - "Comma", - "RightShift", - "LeftShift", - "DotDotDot", - "RightBracket", - "RightBrace", "char", "double", "float", @@ -158,6 +151,17 @@ public interface C99NoCastExpressionParsersym { "_Bool", "_Complex", "_Imaginary", + "RightParen", + "enum", + "struct", + "union", + "Comma", + "RightBrace", + "ERROR_TOKEN", + "RightShift", + "LeftShift", + "DotDotDot", + "RightBracket", "Dot", "Slash", "Percent", @@ -167,9 +171,6 @@ public interface C99NoCastExpressionParsersym { "GE", "Colon", "Assign", - "enum", - "struct", - "union", "EQ", "NE", "Caret", @@ -189,7 +190,6 @@ public interface C99NoCastExpressionParsersym { "AndAssign", "CaretAssign", "OrAssign", - "ERROR_TOKEN", "EOF_TOKEN", "break", "case", diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parser.java index c1f5c6363ba..2b56eedd292 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parser.java @@ -835,405 +835,411 @@ public C99Parser(String[] mapFrom) { // constructor } // - // Rule 200: struct_declarator ::= : constant_expression + // Rule 195: struct_declaration ::= ERROR_TOKEN // - case 200: { action. consumeBitField(false); break; + case 195: { action. consumeDeclarationProblem(); break; } // - // Rule 201: struct_declarator ::= declarator : constant_expression + // Rule 201: struct_declarator ::= : constant_expression // - case 201: { action. consumeBitField(true); break; + case 201: { action. consumeBitField(false); break; } // - // Rule 202: enum_specifier ::= enum { enumerator_list_opt comma_opt } + // Rule 202: struct_declarator ::= declarator : constant_expression // - case 202: { action. consumeTypeSpecifierEnumeration(false); break; + case 202: { action. consumeBitField(true); break; } // - // Rule 203: enum_specifier ::= enum identifier_or_typedefname { enumerator_list_opt comma_opt } + // Rule 203: enum_specifier ::= enum { enumerator_list_opt comma_opt } // - case 203: { action. consumeTypeSpecifierEnumeration(true); break; + case 203: { action. consumeTypeSpecifierEnumeration(false); break; } // - // Rule 208: enumerator ::= identifier_or_typedefname + // Rule 204: enum_specifier ::= enum identifier_or_typedefname { enumerator_list_opt comma_opt } // - case 208: { action. consumeEnumerator(false); break; + case 204: { action. consumeTypeSpecifierEnumeration(true); break; } // - // Rule 209: enumerator ::= identifier_or_typedefname = constant_expression + // Rule 209: enumerator ::= identifier_or_typedefname // - case 209: { action. consumeEnumerator(true); break; + case 209: { action. consumeEnumerator(false); break; } // - // Rule 210: type_qualifier ::= type_qualifier_token + // Rule 210: enumerator ::= identifier_or_typedefname = constant_expression // - case 210: { action. consumeDeclSpecToken(); break; + case 210: { action. consumeEnumerator(true); break; } // - // Rule 214: function_specifier ::= inline + // Rule 211: type_qualifier ::= type_qualifier_token // - case 214: { action. consumeDeclSpecToken(); break; + case 211: { action. consumeDeclSpecToken(); break; } // - // Rule 216: declarator ::= pointer_seq direct_declarator + // Rule 215: function_specifier ::= inline // - case 216: { action. consumeDeclaratorWithPointer(true); break; + case 215: { action. consumeDeclSpecToken(); break; } // - // Rule 221: basic_direct_declarator ::= declarator_id_name + // Rule 217: declarator ::= pointer_seq direct_declarator // - case 221: { action. consumeDirectDeclaratorIdentifier(); break; + case 217: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 222: basic_direct_declarator ::= ( declarator ) + // Rule 222: basic_direct_declarator ::= declarator_id_name // - case 222: { action. consumeDirectDeclaratorBracketed(); break; + case 222: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 223: declarator_id_name ::= identifier + // Rule 223: basic_direct_declarator ::= ( declarator ) // - case 223: { action. consumeIdentifierName(); break; + case 223: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 224: array_direct_declarator ::= basic_direct_declarator array_modifier + // Rule 224: declarator_id_name ::= identifier // - case 224: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 224: { action. consumeIdentifierName(); break; } // - // Rule 225: array_direct_declarator ::= array_direct_declarator array_modifier + // Rule 225: array_direct_declarator ::= basic_direct_declarator array_modifier // case 225: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 227: function_direct_declarator ::= basic_direct_declarator ( parameter_type_list ) + // Rule 226: array_direct_declarator ::= array_direct_declarator array_modifier // - case 227: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; + case 226: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 228: function_direct_declarator ::= basic_direct_declarator ( ) + // Rule 228: function_direct_declarator ::= basic_direct_declarator ( parameter_type_list ) // - case 228: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; + case 228: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; } // - // Rule 230: function_declarator ::= pointer_seq function_direct_declarator + // Rule 229: function_direct_declarator ::= basic_direct_declarator ( ) // - case 230: { action. consumeDeclaratorWithPointer(true); break; + case 229: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; } // - // Rule 231: knr_direct_declarator ::= basic_direct_declarator ( identifier_list ) + // Rule 231: function_declarator ::= pointer_seq function_direct_declarator // - case 231: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; + case 231: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 233: knr_function_declarator ::= pointer_seq knr_direct_declarator + // Rule 232: knr_direct_declarator ::= basic_direct_declarator ( identifier_list ) // - case 233: { action. consumeDeclaratorWithPointer(true); break; + case 232: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; } // - // Rule 234: identifier_list ::= identifier + // Rule 234: knr_function_declarator ::= pointer_seq knr_direct_declarator // - case 234: { action. consumeIdentifierKnR(); break; + case 234: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 235: identifier_list ::= identifier_list , identifier + // Rule 235: identifier_list ::= identifier // case 235: { action. consumeIdentifierKnR(); break; } // - // Rule 236: array_modifier ::= [ ] + // Rule 236: identifier_list ::= identifier_list , identifier // - case 236: { action. consumeDirectDeclaratorArrayModifier(false); break; + case 236: { action. consumeIdentifierKnR(); break; } // - // Rule 237: array_modifier ::= [ array_modifier_type_qualifiers ] + // Rule 237: array_modifier ::= [ ] // - case 237: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break; + case 237: { action. consumeDirectDeclaratorArrayModifier(false); break; } // - // Rule 238: array_modifier ::= [ assignment_expression ] + // Rule 238: array_modifier ::= [ array_modifier_type_qualifiers ] // - case 238: { action. consumeDirectDeclaratorArrayModifier(true); break; + case 238: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break; } // - // Rule 239: array_modifier ::= [ array_modifier_type_qualifiers assignment_expression ] + // Rule 239: array_modifier ::= [ assignment_expression ] // - case 239: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break; + case 239: { action. consumeDirectDeclaratorArrayModifier(true); break; } // - // Rule 240: array_modifier ::= [ static assignment_expression ] + // Rule 240: array_modifier ::= [ array_modifier_type_qualifiers assignment_expression ] // - case 240: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break; + case 240: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break; } // - // Rule 241: array_modifier ::= [ static array_modifier_type_qualifiers assignment_expression ] + // Rule 241: array_modifier ::= [ static assignment_expression ] // - case 241: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; + case 241: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break; } // - // Rule 242: array_modifier ::= [ array_modifier_type_qualifiers static assignment_expression ] + // Rule 242: array_modifier ::= [ static array_modifier_type_qualifiers assignment_expression ] // case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; } // - // Rule 243: array_modifier ::= [ * ] + // Rule 243: array_modifier ::= [ array_modifier_type_qualifiers static assignment_expression ] // - case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break; + case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; } // - // Rule 244: array_modifier ::= [ array_modifier_type_qualifiers * ] + // Rule 244: array_modifier ::= [ * ] // - case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break; + case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break; } // - // Rule 246: pointer_seq ::= * + // Rule 245: array_modifier ::= [ array_modifier_type_qualifiers * ] // - case 246: { action. consumePointer(); break; + case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break; } // - // Rule 247: pointer_seq ::= pointer_seq * + // Rule 247: pointer_seq ::= * // case 247: { action. consumePointer(); break; } // - // Rule 248: pointer_seq ::= * type_qualifier_list + // Rule 248: pointer_seq ::= pointer_seq * // - case 248: { action. consumePointerTypeQualifierList(); break; + case 248: { action. consumePointer(); break; } // - // Rule 249: pointer_seq ::= pointer_seq * type_qualifier_list + // Rule 249: pointer_seq ::= * type_qualifier_list // case 249: { action. consumePointerTypeQualifierList(); break; } // - // Rule 252: parameter_type_list ::= parameter_list + // Rule 250: pointer_seq ::= pointer_seq * type_qualifier_list // - case 252: { action. consumeEmpty(); break; + case 250: { action. consumePointerTypeQualifierList(); break; } // - // Rule 253: parameter_type_list ::= parameter_list , ... + // Rule 253: parameter_type_list ::= parameter_list // - case 253: { action. consumePlaceHolder(); break; + case 253: { action. consumeEmpty(); break; } // - // Rule 254: parameter_type_list ::= ... + // Rule 254: parameter_type_list ::= parameter_list , ... // case 254: { action. consumePlaceHolder(); break; } // - // Rule 257: parameter_declaration ::= declaration_specifiers complete_parameter_declarator + // Rule 255: parameter_type_list ::= ... // - case 257: { action. consumeParameterDeclaration(); break; + case 255: { action. consumePlaceHolder(); break; } // - // Rule 258: parameter_declaration ::= declaration_specifiers + // Rule 258: parameter_declaration ::= declaration_specifiers complete_parameter_declarator // - case 258: { action. consumeParameterDeclarationWithoutDeclarator(); break; + case 258: { action. consumeParameterDeclaration(); break; } // - // Rule 261: type_name ::= specifier_qualifier_list + // Rule 259: parameter_declaration ::= declaration_specifiers // - case 261: { action. consumeTypeId(false); break; + case 259: { action. consumeParameterDeclarationWithoutDeclarator(); break; } // - // Rule 262: type_name ::= specifier_qualifier_list abstract_declarator + // Rule 262: type_name ::= specifier_qualifier_list // - case 262: { action. consumeTypeId(true); break; + case 262: { action. consumeTypeId(false); break; } // - // Rule 264: abstract_declarator ::= pointer_seq + // Rule 263: type_name ::= specifier_qualifier_list abstract_declarator // - case 264: { action. consumeDeclaratorWithPointer(false); break; + case 263: { action. consumeTypeId(true); break; } // - // Rule 265: abstract_declarator ::= pointer_seq direct_abstract_declarator + // Rule 265: abstract_declarator ::= pointer_seq // case 265: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 269: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 266: abstract_declarator ::= pointer_seq direct_abstract_declarator // - case 269: { action. consumeDirectDeclaratorBracketed(); break; + case 266: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 270: array_direct_abstract_declarator ::= array_modifier + // Rule 270: basic_direct_abstract_declarator ::= ( abstract_declarator ) // - case 270: { action. consumeDirectDeclaratorArrayDeclarator(false); break; + case 270: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 271: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier + // Rule 271: array_direct_abstract_declarator ::= array_modifier // - case 271: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 271: { action. consumeDirectDeclaratorArrayDeclarator(false); break; } // - // Rule 272: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier + // Rule 272: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier // case 272: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 273: function_direct_abstract_declarator ::= ( ) + // Rule 273: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier // - case 273: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break; + case 273: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + } + + // + // Rule 274: function_direct_abstract_declarator ::= ( ) + // + case 274: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break; } // - // Rule 274: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( ) + // Rule 275: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( ) // - case 274: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; + case 275: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; } // - // Rule 275: function_direct_abstract_declarator ::= ( parameter_type_list ) + // Rule 276: function_direct_abstract_declarator ::= ( parameter_type_list ) // - case 275: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break; + case 276: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break; } // - // Rule 276: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( parameter_type_list ) + // Rule 277: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( parameter_type_list ) // - case 276: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; + case 277: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; } // - // Rule 277: initializer ::= assignment_expression + // Rule 278: initializer ::= assignment_expression // - case 277: { action. consumeInitializer(); break; + case 278: { action. consumeInitializer(); break; } // - // Rule 278: initializer ::= { initializer_list comma_opt } + // Rule 279: initializer ::= { initializer_list comma_opt } // - case 278: { action. consumeInitializerList(); break; + case 279: { action. consumeInitializerList(); break; } // - // Rule 283: designated_initializer ::= designation = initializer + // Rule 284: designated_initializer ::= designation = initializer // - case 283: { action. consumeInitializerDesignated(); break; + case 284: { action. consumeInitializerDesignated(); break; } // - // Rule 287: designator_base ::= [ constant_expression ] + // Rule 288: designator_base ::= [ constant_expression ] // - case 287: { action. consumeDesignatorArray(); break; + case 288: { action. consumeDesignatorArray(); break; } // - // Rule 288: designator_base ::= . identifier_or_typedefname + // Rule 289: designator_base ::= . identifier_or_typedefname // - case 288: { action. consumeDesignatorField(); break; + case 289: { action. consumeDesignatorField(); break; } // - // Rule 289: designator ::= [ constant_expression ] + // Rule 290: designator ::= [ constant_expression ] // - case 289: { action. consumeDesignatorArray(); break; + case 290: { action. consumeDesignatorArray(); break; } // - // Rule 290: designator ::= . identifier_or_typedefname + // Rule 291: designator ::= . identifier_or_typedefname // - case 290: { action. consumeDesignatorField(); break; + case 291: { action. consumeDesignatorField(); break; } // - // Rule 291: translation_unit ::= external_declaration_list - // - case 291: { action. consumeTranslationUnit(); break; - } - - // - // Rule 292: translation_unit ::= $Empty + // Rule 292: translation_unit ::= external_declaration_list // case 292: { action. consumeTranslationUnit(); break; + } + + // + // Rule 293: translation_unit ::= $Empty + // + case 293: { action. consumeTranslationUnit(); break; } // - // Rule 297: external_declaration ::= ; + // Rule 298: external_declaration ::= ; // - case 297: { action. consumeDeclarationEmpty(); break; + case 298: { action. consumeDeclarationEmpty(); break; } // - // Rule 298: external_declaration ::= ERROR_TOKEN + // Rule 299: external_declaration ::= ERROR_TOKEN // - case 298: { action. consumeDeclarationProblem(); break; + case 299: { action. consumeDeclarationProblem(); break; } // - // Rule 301: function_definition ::= declaration_specifiers function_declarator function_body + // Rule 302: function_definition ::= declaration_specifiers function_declarator function_body // - case 301: { action. consumeFunctionDefinition(true); break; + case 302: { action. consumeFunctionDefinition(true); break; } // - // Rule 302: function_definition ::= function_declarator function_body + // Rule 303: function_definition ::= function_declarator function_body // - case 302: { action. consumeFunctionDefinition(false); break; + case 303: { action. consumeFunctionDefinition(false); break; } // - // Rule 303: function_definition ::= declaration_specifiers knr_function_declarator declaration_list compound_statement + // Rule 304: function_definition ::= declaration_specifiers knr_function_declarator declaration_list compound_statement // - case 303: { action. consumeFunctionDefinitionKnR(); break; + case 304: { action. consumeFunctionDefinitionKnR(); break; } // - // Rule 304: function_body ::= { } + // Rule 305: function_body ::= { } // - case 304: { action. consumeStatementCompoundStatement(false); break; + case 305: { action. consumeStatementCompoundStatement(false); break; } // - // Rule 305: function_body ::= { block_item_list } + // Rule 306: function_body ::= { block_item_list } // - case 305: { action. consumeStatementCompoundStatement(true); break; + case 306: { action. consumeStatementCompoundStatement(true); break; } diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parserprs.java index 217930d3169..a371a9f1103 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parserprs.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parserprs.java @@ -53,204 +53,204 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,5,5,6,6,2,2,2,1,0, - 1,2,4,2,1,1,3,1,1,2, - 3,6,7,1,0,1,3,1,3,1, - 1,1,1,1,1,3,1,1,1,1, - 1,3,1,2,2,1,5,3,1,3, - 5,1,3,1,3,2,4,3,5,4, - 6,6,3,5,1,1,2,3,4,1, - 2,1,3,1,1,3,2,1,1,1, - 1,2,1,2,3,1,1,1,3,1, - 2,2,2,3,4,5,1,5,1,1, - 3,3,4,1,1,2,3,2,3,2, - 1,0,1,2,1,1,1,1,1,2, - 4,3,6,2,4,-75,-240,0,0,0, + 1,2,4,2,1,1,1,3,1,1, + 2,3,6,7,1,0,1,3,1,3, + 1,1,1,1,1,1,3,1,1,1, + 1,1,3,1,2,2,1,5,3,1, + 3,5,1,3,1,3,2,4,3,5, + 4,6,6,3,5,1,1,2,3,4, + 1,2,1,3,1,1,3,2,1,1, + 1,1,2,1,2,3,1,1,1,3, + 1,2,2,2,3,4,5,1,5,1, + 1,3,3,4,1,1,2,3,2,3, + 2,1,0,1,2,1,1,1,1,1, + 2,4,3,6,2,4,-75,-240,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-2,-16,0,-4,0,-6, - 0,0,-8,-30,-50,0,0,0,-23,0, - -77,-170,0,-47,-79,-18,0,0,0,0, + 0,0,0,0,0,-2,-16,0,-4,0, + -6,0,0,-8,-30,-50,0,0,0,-23, + 0,-77,-170,0,-47,-79,-18,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-3,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-5, - 0,0,0,0,0,0,0,0,-21,0, - 0,0,0,-70,0,0,-19,0,0,0, - -115,0,-82,0,0,0,0,-28,0,0, - 0,0,0,0,0,0,0,0,-22,0, - 0,0,0,0,0,0,0,-37,0,0, + 0,0,-3,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-186,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-196, + -5,0,0,0,0,0,0,0,0,-21, + 0,0,0,0,-70,0,0,-19,0,0, + 0,-115,0,-82,0,0,0,0,-28,0, + 0,0,0,0,0,0,0,0,0,-22, + 0,0,0,0,0,0,0,0,-37,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-186,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -196,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-271,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-32,-57,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-24,0,0,-262,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-27,0,0,0,0,-187,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-38,-74,0,-39,0, + -188,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-53,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-25,0,0,-36, + -177,0,0,0,0,0,0,0,0,0, + -90,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-41, + -125,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-64, + -150,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-31, + -181,0,0,0,0,0,0,0,0,0, + 0,-273,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-72,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-143,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -26,0,-179,0,0,0,0,0,0,0, + 0,0,0,0,-65,0,-152,-67,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-153,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-68,-154,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-71,-155,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-73,-156,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-84,-157,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-85,-158,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-93,-159,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-104,-160,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-105,-161,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-106,-162,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-107,-204,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-108,-206,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-210,-109,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-110,-185,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-211, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-40,-250, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-265,-61, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-180,0,0, + 0,0,0,0,0,0,0,0,0,-29, + 0,0,-276,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-258,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -42,0,-182,-10,0,0,0,0,0,0, + 0,0,0,-78,0,-111,0,-87,-112,0, + 0,-113,0,-114,0,-59,0,0,0,-62, + -44,0,0,-11,0,0,0,0,0,0, + 0,-88,0,0,0,0,0,0,0,0, + -35,0,0,0,-116,0,-83,0,0,0, + 0,0,0,0,0,0,0,0,0,-117, + -183,0,0,0,0,0,0,0,0,0, + 0,-33,0,0,0,0,-43,0,-60,0, + -13,0,0,0,0,0,0,0,0,0, + -132,0,-69,0,0,0,-15,0,0,-86, + 0,0,0,0,0,0,-45,0,-121,0, + 0,0,0,0,0,-122,0,-123,0,-145, + 0,0,0,0,0,0,0,0,0,0, + 0,-193,0,-55,0,-96,0,0,0,0, + 0,0,0,0,0,0,0,-195,0,-48, + 0,0,-49,0,0,0,-144,0,0,0, + 0,0,0,-129,-242,0,0,0,0,0, + -34,0,0,0,0,0,0,-203,0,0, + 0,0,0,-92,-124,0,0,0,0,0, + 0,-119,0,0,0,0,0,0,-147,0, + -241,0,0,0,-194,0,-133,0,0,0, + 0,0,0,0,0,0,0,0,-20,0, + -126,0,-190,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -52,0,0,-54,0,0,0,0,0,0, + -266,-66,0,-135,0,-80,0,0,0,0, + 0,0,0,0,-136,0,-137,0,-139,0, + 0,0,0,0,0,0,-138,0,-200,0, + -141,0,0,0,0,0,0,0,0,0, + 0,0,-134,0,0,0,0,0,0,-239, + 0,0,0,0,0,-140,0,0,0,0, + 0,0,0,0,-207,0,0,-146,-209,0, + 0,0,-168,-91,0,-151,0,0,0,0, + 0,0,0,-63,0,0,0,0,0,-245, + 0,-51,0,0,-221,0,0,0,0,0, + 0,0,0,-142,0,0,0,0,0,0, + -169,0,-198,0,0,0,-163,0,-247,0, + 0,0,0,0,0,0,0,0,0,0, + -191,0,0,0,0,0,0,0,0,0, + -222,-164,0,-248,0,-192,0,-9,0,0, + -223,-199,0,0,0,0,0,0,0,0, + 0,-215,0,0,0,-280,0,0,-224,-237, + 0,0,0,0,0,0,-149,0,0,0, + 0,0,0,0,0,0,-212,-283,0,0, + 0,-12,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-286, + 0,0,-225,-201,0,0,0,0,0,-202, + -220,0,0,0,0,0,0,0,0,0, + -56,0,-205,0,-249,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -226,0,0,-17,0,-208,-253,0,-251,0, + 0,0,-281,0,0,0,-197,0,-243,-217, + -252,0,0,0,0,0,0,0,0,-1, + 0,0,0,0,0,0,0,0,0,-58, + 0,-7,0,0,0,0,0,0,0,-218, + -219,0,0,-184,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-227,0,0,-228,0,0,0,0,0, + 0,0,0,0,-229,-230,-231,-232,0,0, + 0,0,-175,-238,0,0,0,0,0,0, + 0,0,0,-176,0,0,0,0,0,0, + 0,0,0,-216,0,-100,0,0,0,0, + 0,0,0,-165,0,-268,-233,-234,0,0, + -235,0,-260,-236,-261,-256,0,-257,-263,-270, + 0,0,0,0,0,-274,-178,0,0,0, + 0,0,0,0,0,0,-89,0,0,-213, + -14,0,0,0,0,0,0,0,0,0, + 0,0,0,-46,0,-76,0,0,0,0, + 0,0,0,-269,0,0,0,0,-282,0, + -285,0,-81,0,-264,0,-254,0,-97,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-118,0,0,0,-94,0,0,-272, + 0,0,0,0,0,0,-98,0,0,0, + 0,0,0,0,0,-275,0,0,0,0, + 0,0,0,0,0,-279,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-99,0,0, + 0,0,0,0,0,-101,0,0,0,0, + 0,0,0,-120,-277,0,0,0,0,0, + 0,-127,0,0,-166,0,0,-167,0,-172, + 0,0,0,0,0,0,0,0,-284,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-173,0,0,0,0,0,0, + 0,0,0,0,0,0,-174,0,0,0, + 0,0,0,0,-255,0,0,-259,0,0, + -214,0,0,0,0,0,0,0,-95,0, + 0,0,0,0,0,-148,0,-244,0,0, + 0,0,0,-102,0,0,0,0,0,0, + -103,0,0,0,0,0,0,0,-267,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-278,0,-128,0,0,0, + 0,0,0,0,0,0,-130,0,-131,0, + 0,0,-171,0,0,0,0,0,0,0, + 0,0,0,0,-189,0,0,0,0,0, + 0,0,0,0,0,0,-246,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-271,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -32,-57,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -24,0,0,-262,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-27,0,0,0,0,-187,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-38,-74,0,-39,0,-188, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-53,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-25,0,0,-36,-177, - 0,0,0,0,0,0,0,0,0,-90, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-41,-125, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-64,-150, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-31,-181, - 0,0,0,0,0,0,0,0,0,0, - -273,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -72,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -143,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-26, - 0,-179,0,0,0,0,0,0,0,0, - 0,0,0,-65,0,-152,-67,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-153,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-68,-154,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-71,-155,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-73,-156,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-84,-157,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-85,-158,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-93,-159,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-104,-160,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-105,-161,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-106,-162,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-107,-204,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-108,-206,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-210,-109,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-110,-185,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-211,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-40,-250,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-265,-61,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-180,0,0,0, - 0,0,0,0,0,0,0,0,-29,0, - 0,-276,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -258,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-42, - 0,-182,-10,0,0,0,0,0,0,0, - 0,0,-78,0,-111,0,-87,-112,0,0, - -113,0,-114,0,-59,0,0,0,-62,-44, - 0,0,-11,0,0,0,0,0,0,0, - -88,0,0,0,0,0,0,0,0,-35, - 0,0,0,-116,0,-83,0,0,0,0, - 0,0,0,0,0,0,0,0,-117,-183, - 0,0,0,0,0,0,0,0,0,0, - -33,0,0,0,0,-43,0,-60,0,-13, - 0,0,0,0,0,0,0,0,0,-132, - 0,-69,0,0,0,-15,0,0,-86,0, - 0,0,0,0,0,-45,0,-121,0,0, - 0,0,0,0,-122,0,-123,0,-145,0, - 0,0,0,0,0,0,0,0,0,0, - -193,0,-55,0,-96,0,0,0,0,0, - 0,0,0,0,0,0,-195,0,-48,0, - 0,-49,0,0,0,-144,0,0,0,0, - 0,0,-129,-242,0,0,0,0,0,-34, - 0,0,0,0,0,0,-203,0,0,0, - 0,0,-92,-124,0,0,0,0,0,0, - -119,0,0,0,0,0,0,-147,0,-241, - 0,0,0,-194,0,-133,0,0,0,0, - 0,0,0,0,0,0,0,-20,0,-126, - 0,-190,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-52, - 0,0,-54,0,0,0,0,0,0,-266, - -66,0,-135,0,-80,0,0,0,0,0, - 0,0,0,-136,0,-137,0,-139,0,0, - 0,0,0,0,0,-138,0,-200,0,-141, - 0,0,0,0,0,0,0,0,0,0, - 0,-134,0,0,0,0,0,0,-239,0, - 0,0,0,0,-140,0,0,0,0,0, - 0,0,0,-207,0,0,-146,-209,0,0, - 0,-168,-91,0,-151,0,0,0,0,0, - 0,0,-63,0,0,0,0,0,-245,0, - -51,0,0,-221,0,0,0,0,0,0, - 0,0,-142,0,0,0,0,0,0,-169, - 0,-198,0,0,0,-163,0,-247,0,0, - 0,0,0,0,0,0,0,0,0,-191, - 0,0,0,0,0,0,0,0,0,-222, - -164,0,-248,0,-192,0,-9,0,0,-223, - -199,0,0,0,0,0,0,0,0,0, - -215,0,0,0,-280,0,0,-224,-237,0, - 0,0,0,0,0,-149,0,0,0,0, - 0,0,0,0,0,-212,-283,0,0,0, - -12,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-286,0, - 0,-225,-201,0,0,0,0,0,-202,-220, - 0,0,0,0,0,0,0,0,0,-56, - 0,-205,0,-249,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-226, - 0,0,-17,0,-208,-253,0,-251,0,0, - 0,-281,0,0,0,-197,0,-243,-217,-252, - 0,0,0,0,0,0,0,0,-1,0, - 0,0,0,0,0,0,0,0,-58,0, - -7,0,0,0,0,0,0,0,-218,-219, - 0,0,-184,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -227,0,0,-228,0,0,0,0,0,0, - 0,0,0,-229,-230,-231,-232,0,0,0, - 0,-175,-238,0,0,0,0,0,0,0, - 0,0,-176,0,0,0,0,0,0,0, - 0,0,-216,0,-100,0,0,0,0,0, - 0,0,-165,0,-268,-233,-234,0,0,-235, - 0,-260,-236,-261,-256,0,-257,-263,-270,0, - 0,0,0,0,-274,-178,0,0,0,0, - 0,0,0,0,0,-89,0,0,-213,-14, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-46,0,-76,0,0,0,0,0, - 0,0,-269,0,0,0,0,-282,0,-285, - 0,-81,0,-264,0,-254,0,-97,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-118,0,0,0,-94,0,0,-272,0, - 0,0,0,0,0,-98,0,0,0,0, - 0,0,0,0,-275,0,0,0,0,0, - 0,0,0,0,-279,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-99,0,0,0, - 0,0,0,0,-101,0,0,0,0,0, - 0,0,-120,-277,0,0,0,0,0,0, - -127,0,0,-166,0,0,-167,0,-172,0, - 0,0,0,0,0,0,0,-284,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-173,0,0,0,0,0,0,0, - 0,0,0,0,0,-174,0,0,0,0, - 0,0,0,-255,0,0,-259,0,0,-214, - 0,0,0,0,0,0,0,-95,0,0, - 0,0,0,0,-148,0,-244,0,0,0, - 0,0,-102,0,0,0,0,0,0,-103, - 0,0,0,0,0,0,0,-267,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-278,0,-128,0,0,0,0, - 0,0,0,0,0,-130,0,-131,0,0, - 0,-171,0,0,0,0,0,0,0,0, - 0,0,0,-189,0,0,0,0,0,0, - 0,0,0,0,0,-246,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0 + 0,0,0,0,0 }; }; public final static short baseCheck[] = BaseCheck.baseCheck; @@ -279,206 +279,207 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym 50,50,50,50,50,61,63,63,63,63, 63,63,63,63,63,63,63,63,72,72, 24,24,69,69,69,69,70,70,70,73, - 73,74,74,64,64,52,104,104,93,94, - 94,94,71,71,95,95,96,96,86,86, - 25,26,26,26,49,51,51,41,41,41, - 41,29,29,30,42,42,43,31,31,97, - 97,44,106,106,105,105,45,45,45,45, - 45,45,45,45,45,98,53,53,53,53, - 75,75,65,65,65,66,66,55,55,107, - 107,77,77,76,76,76,56,56,56,57, - 58,58,58,59,59,59,59,62,62,89, - 89,89,89,87,108,109,109,110,110,111, - 111,102,102,112,112,99,99,99,99,113, - 113,100,100,100,101,101,298,480,14,19, - 15,935,915,44,955,995,975,1036,1015,1195, - 1054,1201,1198,1203,74,767,472,91,1293,1408, - 330,134,210,1072,363,1227,511,221,226,152, - 1210,1298,1304,650,632,859,120,126,216,1261, - 218,220,270,136,133,135,159,222,134,210, - 250,210,89,265,1570,1585,268,138,875,165, - 134,210,802,326,183,142,145,148,151,418, - 144,133,135,159,1731,333,1587,1631,1850,1286, - 412,372,136,133,135,159,1454,134,210,835, - 1180,407,221,229,835,1280,138,338,165,297, - 1221,363,328,1298,142,145,148,151,327,136, - 133,135,159,1731,333,1587,1631,1850,1286,717, - 206,302,304,138,227,165,296,104,1124,1236, - 895,142,145,148,151,1740,182,407,221,230, - 1731,333,1587,1631,1850,1286,1121,127,14,19, - 15,935,42,44,955,995,975,1036,1777,330, - 1073,1354,14,19,15,935,915,44,955,995, - 975,1036,1015,1195,1054,1201,1198,1203,74,294, - 295,277,1073,1354,14,19,15,935,915,44, - 955,995,975,1036,1015,1195,1054,1201,1198,1203, - 74,477,994,277,14,19,15,935,915,44, - 955,995,975,1036,1015,1195,1054,1201,1198,1203, - 74,719,279,277,1016,1354,14,19,15,935, - 915,44,955,995,975,1036,1015,1195,1054,1201, - 1198,1203,74,758,279,277,224,280,1121,1390, - 14,19,15,935,42,44,955,995,975,1036, - 1015,1195,1054,1816,157,30,1293,1443,759,280, - 1121,1702,14,19,15,935,42,44,955,995, - 975,1036,1015,1195,1817,126,281,950,1373,14, - 19,15,935,915,44,955,995,975,1036,1015, - 1195,1054,1201,1198,1203,74,152,1863,1513,330, - 1121,282,14,19,15,935,42,44,1590,236, - 1140,2055,14,19,15,935,915,44,955,995, - 975,1036,1015,1195,1054,1201,1198,1203,74,869, - 1121,1616,14,19,15,935,915,44,955,995, - 975,1036,1015,1195,1054,1201,1198,1203,74,429, - 974,91,14,19,15,935,915,44,955,995, - 975,1036,1015,1195,1054,1201,1198,1203,74,472, - 1121,1626,14,19,15,935,42,44,955,995, - 1761,994,237,14,19,15,935,915,44,955, - 995,975,1036,1015,1195,1054,1201,1198,1203,74, - 301,1121,277,14,19,15,935,42,44,955, - 995,975,1036,1015,1195,1054,1201,1198,1203,93, - 1454,1121,1531,14,19,15,935,42,44,955, - 995,975,1036,1015,1195,1054,1201,1198,1203,93, - 152,344,1121,283,14,19,15,935,42,44, - 955,995,975,1652,514,1396,1121,556,14,19, - 15,935,915,44,955,995,975,1036,1015,1195, - 1054,1201,1198,1203,74,209,1121,85,14,19, - 15,935,915,44,955,995,975,1036,1015,1195, - 1054,1201,1198,1203,74,593,1121,84,14,19, - 15,935,915,44,955,995,975,1036,1015,1195, - 1054,1201,1198,1203,74,384,1121,83,14,19, - 15,935,915,44,955,995,975,1036,1015,1195, - 1054,1201,1198,1203,74,809,1121,82,14,19, - 15,935,915,44,955,995,975,1036,1015,1195, - 1054,1201,1198,1203,74,806,1121,81,14,19, - 15,935,915,44,955,995,975,1036,1015,1195, - 1054,1201,1198,1203,74,1013,1121,80,14,19, - 15,935,915,44,955,995,975,1036,1015,1195, - 1054,1201,1198,1203,74,361,1121,79,14,19, - 15,935,915,44,955,995,975,1036,1015,1195, - 1054,1201,1198,1203,74,1243,1121,78,14,19, - 15,935,915,44,955,995,975,1036,1015,1195, - 1054,1201,1198,1203,74,866,1121,77,14,19, - 15,935,915,44,955,995,975,1036,1015,1195, - 1054,1201,1198,1203,74,119,1121,76,14,19, - 15,935,915,44,955,995,975,1036,1015,1195, - 1054,1201,1198,1203,74,365,1121,75,14,19, - 15,935,915,44,955,995,975,1036,1015,1195, - 1054,1201,1198,1203,74,1231,1121,92,14,19, - 15,935,42,44,955,995,975,1036,1015,1195, - 1054,1201,1198,1203,93,1121,441,14,19,15, - 935,915,44,955,995,975,1036,1015,1195,1054, - 1201,1198,1203,74,724,1121,1698,14,19,15, - 935,42,44,955,995,975,1036,1015,1776,1121, - 200,14,19,15,935,915,44,955,995,975, - 1036,1015,1195,1054,1201,1198,1203,74,472,1121, - 1710,14,19,15,935,42,44,955,995,975, - 1036,1015,1195,1054,1201,1198,1203,93,1121,1294, - 14,19,15,935,42,44,955,995,975,1036, - 1015,1195,1054,1201,1198,1203,93,1121,123,14, - 19,15,935,42,44,955,995,975,1690,877, - 335,1729,1121,201,14,19,15,935,42,44, - 955,995,975,1036,1015,1195,1054,1201,1198,1203, - 93,1121,1835,14,19,15,935,42,44,955, - 995,975,1036,1015,1195,1054,1201,1198,1203,73, - 184,306,1121,418,14,19,15,935,42,44, - 955,995,1764,1293,1495,971,1878,1227,891,110, - 86,893,576,426,855,1,306,429,95,1294, - 875,345,194,469,1282,108,94,96,97,98, - 99,1230,250,210,110,86,109,576,122,855, - 152,1323,195,95,333,1394,213,531,305,1282, - 108,94,96,97,98,99,251,210,106,1014, - 1121,109,14,19,15,935,42,44,955,995, - 1774,1314,1193,511,221,226,152,1865,1293,650, - 590,1205,1507,107,191,215,1261,218,220,270, - 241,306,1294,341,1445,259,859,124,87,632, - 263,1570,1585,268,553,1374,152,1882,871,110, - 86,111,576,1543,855,1059,225,62,95,213, - 260,134,210,875,1282,108,94,96,97,98, - 99,831,1489,152,345,1121,109,14,19,15, - 935,42,39,137,133,135,159,1319,345,152, - 1289,257,1046,1197,273,576,633,139,106,165, - 511,221,226,301,927,143,146,149,152,1234, - 1258,1433,215,1261,218,220,270,123,306,299, - 875,1367,334,1227,1294,206,1695,263,1570,1585, - 268,152,470,228,1309,895,110,86,805,576, - 1329,855,256,125,472,95,1317,1783,250,210, - 105,1282,108,94,96,97,98,99,58,1088, - 1294,231,1121,109,14,19,15,935,42,44, - 955,995,975,1036,1015,1195,1054,1201,1823,121, - 1258,1846,207,1037,345,107,1902,511,221,578, - 1289,486,650,58,689,1299,345,307,1515,215, - 1261,218,649,228,1146,1234,367,1824,1298,158, - 110,86,1828,1440,285,855,1197,195,639,95, - 1298,670,511,221,226,1282,1353,94,96,97, - 98,99,528,650,215,1261,218,220,255,1311, - 345,185,154,575,158,841,689,1193,411,1249, - 438,110,86,184,1321,619,855,1256,678,192, - 95,1234,674,1300,1230,1259,1282,101,94,96, - 97,98,99,633,511,221,226,154,575,570, - 650,327,251,210,591,438,215,1261,218,220, - 251,210,307,1298,255,238,1504,1410,110,86, - 674,286,1294,855,1822,1249,363,95,612,650, - 511,221,226,1282,118,94,96,97,98,99, - 1035,2057,216,1261,218,220,202,110,86,2040, - 675,363,855,654,650,1324,95,1184,196,198, - 1282,363,1282,114,94,96,97,98,99,1672, - 23,472,110,86,16,696,650,855,1284,1258, - 2037,95,134,210,1529,272,1300,1282,1829,94, - 96,97,98,99,110,86,1300,738,650,855, - 271,1213,274,95,147,133,135,159,22,1282, - 113,94,96,97,98,99,110,86,240,780, - 650,855,479,363,1886,95,134,210,239,363, - 1300,1282,120,94,96,97,98,99,110,86, - 58,689,1271,855,841,689,1558,95,150,133, - 135,159,1583,1282,119,94,96,97,98,99, - 483,193,20,58,689,1298,152,492,1300,511, - 221,226,1329,511,221,226,873,650,1294,363, - 1300,215,1261,218,220,215,1261,218,220,355, - 372,158,511,221,226,1504,87,2078,203,327, - 241,896,1825,115,215,1261,218,220,297,363, - 363,328,242,1121,334,14,19,15,935,42, - 44,955,995,1775,155,575,134,210,511,221, - 1305,1283,1827,21,1285,296,1708,197,198,1880, - 216,1261,218,1298,1308,1310,1060,1260,141,133, - 135,159,1121,363,14,19,15,935,42,44, - 955,1534,140,1121,165,14,19,15,935,42, - 44,955,1580,836,2034,1040,269,14,19,15, - 935,42,35,1228,1601,1294,1245,1287,293,295, - 1325,325,363,1326,1298,1327,273,1330,1331,641, - 2190,390,2190,2190,2094,1300,1121,243,14,19, - 15,935,42,44,1608,275,1273,345,270,1040, - 1242,14,19,15,935,42,35,278,270,263, - 1570,1585,268,875,345,875,345,287,1234,263, - 1570,1585,268,363,2190,134,210,2190,1300,1783, - 1298,244,875,345,633,195,1291,195,1121,262, - 14,19,15,935,42,38,1935,153,133,135, - 159,255,760,345,195,2190,152,306,288,363, - 289,411,1249,26,2190,1193,1121,1193,14,19, - 15,935,42,37,576,633,87,191,195,191, - 303,270,276,1581,1193,1294,413,1445,1458,1445, - 2190,2190,265,1570,1585,268,191,2190,300,290, - 2190,1388,2190,2190,117,1470,1445,1121,1813,14, - 19,15,935,42,36,1121,2190,14,19,15, - 935,42,34,1121,363,14,19,15,935,42, - 35,873,306,1556,152,306,2190,152,306,1121, - 2190,14,19,15,935,42,47,1627,363,2190, - 2190,87,2190,576,87,2190,195,87,115,195, - 2190,1581,2190,1121,1581,14,19,15,935,42, - 46,1649,2190,2190,2190,2190,1121,1706,14,19, - 15,935,42,45,1311,345,1813,1037,345,1813, - 1102,1552,14,19,15,935,42,43,1159,2190, - 14,19,15,935,40,1227,1234,873,650,1234, - 2190,1709,2190,1178,1739,14,19,15,935,33, - 1178,2190,14,19,15,935,32,87,873,650, - 250,210,2190,2190,115,2190,2190,1886,2190,255, - 2190,2190,255,2190,873,650,152,650,87,1822, - 1249,2190,1909,1249,2190,115,152,650,152,650, - 2190,2190,152,650,87,2190,87,1815,2190,2190, - 2190,115,2190,1591,152,650,87,2190,87,2190, - 1515,2190,87,1653,2190,1659,152,650,1974,1660, - 2190,2190,2190,2190,87,2190,2190,2190,2190,2190, - 2190,1820,2190,1035,1998,2190,87,2190,2190,2190, - 2190,2190,2190,1873,2190,0,179,223,0,2197, - 1,0,1,2424,0,7,9,0,179,17, - 0,178,18,0,1,2413,0,112,1605,0 + 73,74,74,64,64,64,52,104,104,93, + 94,94,94,71,71,95,95,96,96,86, + 86,25,26,26,26,49,51,51,41,41, + 41,41,29,29,30,42,42,43,31,31, + 97,97,44,106,106,105,105,45,45,45, + 45,45,45,45,45,45,98,53,53,53, + 53,75,75,65,65,65,66,66,55,55, + 107,107,77,77,76,76,76,56,56,56, + 57,58,58,58,59,59,59,59,62,62, + 89,89,89,89,87,108,109,109,110,110, + 111,111,102,102,112,112,99,99,99,99, + 113,113,100,100,100,101,101,289,693,14, + 19,15,936,916,44,956,996,976,1037,1016, + 1196,1055,1202,1199,1204,74,380,510,91,700, + 1409,340,134,211,1528,573,636,512,222,227, + 277,1211,858,957,651,685,1135,578,126,217, + 1262,219,221,271,136,133,135,159,223,134, + 211,251,211,89,266,1571,1586,269,138,876, + 165,134,211,1090,327,183,142,145,148,151, + 419,144,133,135,159,1732,334,1588,1632,1851, + 1287,386,373,136,133,135,159,1455,134,211, + 398,1181,408,222,230,398,1281,138,609,165, + 298,1222,573,329,858,142,145,148,151,456, + 136,133,135,159,1732,334,1588,1632,1851,1287, + 970,207,303,305,138,228,165,297,104,473, + 1237,896,142,145,148,151,1741,182,408,222, + 231,1732,334,1588,1632,1851,1287,1401,127,14, + 19,15,936,42,44,956,996,976,1037,1778, + 331,1357,1355,14,19,15,936,916,44,956, + 996,976,1037,1016,1196,1055,1202,1199,1204,74, + 295,296,278,1357,1355,14,19,15,936,916, + 44,956,996,976,1037,1016,1196,1055,1202,1199, + 1204,74,812,1326,278,14,19,15,936,916, + 44,956,996,976,1037,1016,1196,1055,1202,1199, + 1204,74,1005,280,278,1278,1355,14,19,15, + 936,916,44,956,996,976,1037,1016,1196,1055, + 1202,1199,1204,74,1013,280,278,225,281,1401, + 1391,14,19,15,936,42,44,956,996,976, + 1037,1016,1196,1055,1817,157,569,700,1444,1014, + 281,1401,1703,14,19,15,936,42,44,956, + 996,976,1037,1016,1196,1818,126,282,1222,1374, + 14,19,15,936,916,44,956,996,976,1037, + 1016,1196,1055,1202,1199,1204,74,277,1864,1514, + 340,1401,283,14,19,15,936,42,44,1591, + 237,1423,2056,14,19,15,936,916,44,956, + 996,976,1037,1016,1196,1055,1202,1199,1204,74, + 472,1401,1617,14,19,15,936,916,44,956, + 996,976,1037,1016,1196,1055,1202,1199,1204,74, + 666,1245,91,14,19,15,936,916,44,956, + 996,976,1037,1016,1196,1055,1202,1199,1204,74, + 510,1401,1627,14,19,15,936,42,44,956, + 996,1762,1326,238,14,19,15,936,916,44, + 956,996,976,1037,1016,1196,1055,1202,1199,1204, + 74,302,1401,278,14,19,15,936,42,44, + 956,996,976,1037,1016,1196,1055,1202,1199,1204, + 93,1455,1401,1532,14,19,15,936,42,44, + 956,996,976,1037,1016,1196,1055,1202,1199,1204, + 93,277,345,1401,284,14,19,15,936,42, + 44,956,996,976,1653,837,1397,1401,931,14, + 19,15,936,916,44,956,996,976,1037,1016, + 1196,1055,1202,1199,1204,74,210,1401,85,14, + 19,15,936,916,44,956,996,976,1037,1016, + 1196,1055,1202,1199,1204,74,1015,1401,84,14, + 19,15,936,916,44,956,996,976,1037,1016, + 1196,1055,1202,1199,1204,74,637,1401,83,14, + 19,15,936,916,44,956,996,976,1037,1016, + 1196,1055,1202,1199,1204,74,1006,1401,82,14, + 19,15,936,916,44,956,996,976,1037,1016, + 1196,1055,1202,1199,1204,74,1050,1401,81,14, + 19,15,936,916,44,956,996,976,1037,1016, + 1196,1055,1202,1199,1204,74,162,1401,80,14, + 19,15,936,916,44,956,996,976,1037,1016, + 1196,1055,1202,1199,1204,74,379,1401,79,14, + 19,15,936,916,44,956,996,976,1037,1016, + 1196,1055,1202,1199,1204,74,1590,1401,78,14, + 19,15,936,916,44,956,996,976,1037,1016, + 1196,1055,1202,1199,1204,74,521,1401,77,14, + 19,15,936,916,44,956,996,976,1037,1016, + 1196,1055,1202,1199,1204,74,292,1401,76,14, + 19,15,936,916,44,956,996,976,1037,1016, + 1196,1055,1202,1199,1204,74,860,1401,75,14, + 19,15,936,916,44,956,996,976,1037,1016, + 1196,1055,1202,1199,1204,74,724,1401,92,14, + 19,15,936,42,44,956,996,976,1037,1016, + 1196,1055,1202,1199,1204,93,1401,312,14,19, + 15,936,916,44,956,996,976,1037,1016,1196, + 1055,1202,1199,1204,74,1062,1401,1699,14,19, + 15,936,42,44,956,996,976,1037,1016,1777, + 1401,201,14,19,15,936,916,44,956,996, + 976,1037,1016,1196,1055,1202,1199,1204,74,510, + 1401,1711,14,19,15,936,42,44,956,996, + 976,1037,1016,1196,1055,1202,1199,1204,93,1401, + 852,14,19,15,936,42,44,956,996,976, + 1037,1016,1196,1055,1202,1199,1204,93,1401,123, + 14,19,15,936,42,44,956,996,976,1691, + 344,336,1730,1401,202,14,19,15,936,42, + 44,956,996,976,1037,1016,1196,1055,1202,1199, + 1204,93,1401,1836,14,19,15,936,42,44, + 956,996,976,1037,1016,1196,1055,1202,1199,1204, + 73,175,307,1401,396,14,19,15,936,42, + 44,956,996,1765,700,1496,1051,1879,636,647, + 110,86,1018,577,438,856,1,307,430,95, + 852,865,346,194,512,1283,108,94,96,97, + 98,99,683,251,211,110,86,109,577,122, + 856,277,1324,196,95,522,1395,46,532,306, + 1283,108,94,96,97,98,99,252,211,106, + 439,1401,109,14,19,15,936,42,44,956, + 996,1775,701,1194,512,222,227,277,1866,700, + 651,571,1206,1508,107,191,216,1262,219,221, + 271,232,307,852,342,1446,260,1135,124,87, + 685,264,1571,1586,269,554,1375,277,1883,529, + 110,86,111,577,1544,856,1140,226,59,95, + 46,261,134,211,876,1283,108,94,96,97, + 98,99,347,1490,277,346,1401,109,14,19, + 15,936,42,39,137,133,135,159,1190,346, + 277,1290,258,626,1198,274,577,803,139,106, + 165,512,222,227,1058,1137,143,146,149,152, + 1235,805,1434,216,1262,219,221,271,117,307, + 300,876,1368,335,636,852,207,1696,264,1571, + 1586,269,277,471,229,1310,896,110,86,696, + 577,1195,856,257,125,510,95,1141,1784,251, + 211,105,1283,108,94,96,97,98,99,403, + 1089,852,232,1401,109,14,19,15,936,42, + 44,956,996,976,1037,1016,1196,1055,1202,1824, + 121,805,1847,208,1145,346,107,1903,512,222, + 579,1185,431,651,403,690,1000,346,308,1516, + 216,1262,219,650,229,1010,1235,1489,1825,858, + 158,110,86,1829,1441,286,856,1499,196,1021, + 95,858,671,512,222,227,1283,1354,94,96, + 97,98,99,488,651,216,1262,219,221,256, + 1100,346,185,154,576,158,627,690,1194,412, + 1250,439,110,86,184,1192,620,856,741,553, + 192,95,1235,920,1093,1231,744,1283,101,94, + 96,97,98,99,803,512,222,227,154,576, + 545,651,456,252,211,916,439,216,1262,219, + 221,252,211,308,858,256,239,1505,1411,110, + 86,920,287,852,856,1823,1250,573,95,602, + 651,512,222,227,1283,118,94,96,97,98, + 99,923,2058,217,1262,219,221,203,110,86, + 2041,961,573,856,659,651,928,95,1538,197, + 199,742,573,1283,114,94,96,97,98,99, + 1673,23,510,110,86,16,716,651,856,795, + 805,2038,95,134,211,1530,273,1093,1283,1830, + 94,96,97,98,99,110,86,1093,773,651, + 856,272,1561,275,95,147,133,135,159,22, + 1283,113,94,96,97,98,99,110,86,241, + 830,651,856,514,573,1887,95,134,211,240, + 573,1093,1283,120,94,96,97,98,99,110, + 86,403,690,757,856,627,690,1559,95,150, + 133,135,159,1584,1283,119,94,96,97,98, + 99,570,193,20,403,690,858,277,493,1093, + 512,222,227,1195,512,222,227,681,651,852, + 573,1093,216,1262,219,221,216,1262,219,221, + 334,373,158,512,222,227,1505,87,2079,204, + 456,242,1180,1826,115,216,1262,219,221,298, + 573,573,329,243,1401,335,14,19,15,936, + 42,44,956,996,1776,155,576,134,211,512, + 222,1306,867,1828,21,912,297,1709,198,199, + 1881,217,1262,219,1299,1002,1047,1181,743,141, + 133,135,159,1401,573,14,19,15,936,42, + 44,956,1535,140,1401,165,14,19,15,936, + 42,44,956,1581,579,2035,1301,270,14,19, + 15,936,42,35,756,1602,852,1106,1108,294, + 296,1269,326,573,1113,858,1147,274,1148,1272, + 702,2191,391,2191,2191,2095,1093,1401,244,14, + 19,15,936,42,44,1609,276,1055,346,271, + 1301,1571,14,19,15,936,42,35,279,271, + 264,1571,1586,269,910,346,955,346,288,1235, + 264,1571,1586,269,573,2191,134,211,2191,1093, + 1784,858,245,1045,346,803,196,811,196,1401, + 263,14,19,15,936,42,38,1936,153,133, + 135,159,256,1101,346,196,2191,277,307,289, + 573,290,412,1250,26,2191,1194,1401,1194,14, + 19,15,936,42,37,577,803,87,191,196, + 191,304,271,277,1582,1194,852,414,1446,1459, + 1446,2191,2191,266,1571,1586,269,191,2191,301, + 291,2191,1389,2191,2191,117,1471,1446,1401,1814, + 14,19,15,936,42,36,1401,2191,14,19, + 15,936,42,34,1401,573,14,19,15,936, + 42,35,681,307,1557,277,307,2191,277,307, + 1401,2191,14,19,15,936,42,47,1628,573, + 2191,2191,87,2191,577,87,2191,196,87,115, + 196,2191,1582,2191,1401,1582,14,19,15,936, + 42,46,1650,2191,2191,2191,2191,1401,1707,14, + 19,15,936,42,45,1100,346,1814,1145,346, + 1814,1379,1553,14,19,15,936,42,43,1445, + 2191,14,19,15,936,40,636,1235,681,651, + 1235,2191,1710,2191,1467,1740,14,19,15,936, + 33,1467,2191,14,19,15,936,32,87,681, + 651,251,211,2191,2191,115,2191,2191,1887,2191, + 256,2191,2191,256,2191,681,651,277,651,87, + 1823,1250,2191,1910,1250,2191,115,277,651,277, + 651,2191,2191,277,651,87,2191,87,1816,2191, + 2191,2191,115,2191,1592,277,651,87,2191,87, + 2191,1516,2191,87,1654,2191,1660,277,651,1975, + 1661,2191,2191,2191,2191,87,2191,2191,2191,2191, + 2191,2191,1821,2191,1036,1999,2191,87,2191,2191, + 2191,2191,2191,2191,1874,2191,0,179,224,0, + 2198,1,0,1,2426,0,7,9,0,179, + 17,0,178,18,0,1,2415,0,112,1606, + 0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -490,148 +491,173 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym public final static byte termCheck[] = {0, 0,1,2,3,4,5,6,7,8,9, 10,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,28,0, + 20,21,22,23,24,25,26,27,28,29, 30,31,32,33,34,35,36,37,38,39, - 40,41,42,43,44,45,46,47,48,49, - 50,51,52,53,54,55,56,0,1,2, - 60,0,1,2,3,4,5,6,7,8, - 9,10,11,12,13,14,15,16,17,18, - 19,20,21,22,23,24,25,26,27,28, - 61,30,31,32,33,34,35,36,37,38, - 39,40,41,42,43,44,45,46,47,48, - 49,50,51,52,53,54,55,56,0,0, - 1,60,0,1,2,3,4,5,6,7, - 8,9,10,11,12,13,14,15,16,17, - 18,19,20,21,22,23,24,25,26,27, - 28,0,30,31,32,33,34,35,36,37, - 38,39,40,41,42,43,44,45,46,47, - 48,49,50,51,52,53,54,55,56,0, - 62,63,60,0,1,2,3,4,5,6, - 7,8,9,10,11,12,13,14,15,16, - 17,18,19,20,21,22,23,24,25,26, - 27,28,0,30,31,32,33,34,35,36, - 37,38,39,40,41,42,43,44,45,46, - 47,48,49,50,51,52,53,54,55,56, - 0,1,2,3,4,5,6,7,8,9, - 10,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,28,57, - 30,31,32,33,34,35,36,37,38,39, - 40,41,42,43,44,45,46,47,48,49, - 50,51,52,53,54,55,56,0,1,2, - 0,4,5,0,7,8,9,10,11,12, - 13,14,15,16,17,18,0,20,21,22, - 23,24,25,26,27,28,0,1,2,0, - 4,31,0,1,2,6,4,0,1,42, - 43,44,45,46,47,48,49,50,51,52, - 53,54,55,56,0,1,2,3,4,5, - 0,29,0,0,0,3,0,1,2,3, - 4,7,8,19,20,21,22,23,24,25, - 26,27,28,0,30,19,20,21,22,23, - 24,25,26,27,28,29,42,43,44,45, + 40,41,42,43,44,0,46,47,48,49, + 50,51,52,53,54,55,56,57,0,1, + 2,3,4,5,6,7,8,9,10,11, + 12,13,14,15,16,17,18,19,20,21, + 22,23,24,25,26,27,28,29,30,31, + 32,33,34,35,36,37,38,39,40,41, + 42,43,44,58,46,47,48,49,50,51, + 52,53,54,55,56,57,0,1,2,3, + 4,5,6,7,8,9,10,11,12,13, + 14,15,16,17,18,19,20,21,22,23, + 24,25,26,27,28,29,30,31,32,33, + 34,35,36,37,38,39,40,41,42,43, + 44,0,46,47,48,49,50,51,52,53, + 54,55,56,57,0,1,2,3,4,5, + 6,7,8,9,10,11,12,13,14,15, + 16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,30,31,32,33,34,35, + 36,37,38,39,40,41,42,43,44,58, 46,47,48,49,50,51,52,53,54,55, - 56,0,1,2,3,4,5,0,0,2, - 58,61,5,6,58,0,0,73,0,1, + 56,0,1,2,3,4,5,6,7,8, + 9,10,11,12,13,14,15,16,17,18, 19,20,21,22,23,24,25,26,27,28, - 0,30,59,83,84,85,86,87,88,89, - 90,91,92,42,43,44,45,46,47,48, - 49,50,51,52,53,54,55,56,0,0, - 2,0,0,5,6,4,0,1,0,0, - 1,2,0,4,73,0,1,2,3,4, - 5,6,7,8,9,10,11,12,13,14, - 15,16,17,18,19,29,81,82,29,69, - 70,71,72,0,1,30,31,32,33,34, - 35,36,37,38,39,40,41,0,1,2, - 3,4,5,6,7,8,9,10,11,12, - 13,14,15,16,17,18,19,69,70,71, - 72,69,70,71,72,0,1,30,31,32, - 33,34,35,36,37,38,39,40,41,0, - 1,2,3,4,5,6,7,8,9,10, - 11,12,13,14,15,16,17,18,19,0, - 0,2,0,1,5,6,0,7,8,30, - 31,32,33,34,35,36,37,38,39,40, - 41,0,1,2,3,4,5,6,7,8, - 9,10,11,12,13,14,15,16,17,18, - 19,0,0,2,2,0,5,5,0,1, - 0,30,31,32,33,34,35,36,37,38, - 39,40,41,0,1,2,3,4,5,6, - 7,8,9,10,11,12,13,14,15,16, - 17,18,19,0,0,2,0,0,5,2, - 0,7,8,30,31,32,33,34,35,36, - 37,38,39,40,41,0,1,2,3,4, - 5,6,7,8,9,10,11,12,13,14, - 15,16,17,18,19,0,0,2,0,79, - 5,0,6,0,6,30,31,32,33,34, - 35,36,37,38,39,40,41,0,1,2, - 3,4,5,6,7,8,9,10,11,12, - 13,14,15,16,17,18,19,0,0,0, - 0,0,0,6,6,6,0,30,31,32, - 33,34,35,36,37,38,39,40,41,0, - 1,2,3,4,5,6,7,8,9,10, - 11,12,13,14,15,16,17,18,19,76, - 0,0,1,2,0,0,5,3,0,30, - 31,32,33,34,35,36,37,38,39,40, - 41,20,21,22,23,24,25,26,27,28, - 0,1,2,3,0,0,1,3,3,73, - 0,1,2,42,43,44,45,46,47,48, - 49,50,51,52,53,54,55,56,0,29, - 2,57,58,5,29,0,61,59,0,4, - 0,3,0,3,0,3,0,3,20,21, - 22,23,24,25,26,27,28,19,58,19, - 0,19,0,58,60,0,20,21,22,59, - 42,43,44,45,46,47,48,49,50,51, - 52,53,54,55,56,20,21,22,23,24, - 25,26,27,28,0,57,0,57,0,61, - 58,61,67,68,60,0,0,42,43,44, - 45,46,47,48,49,50,51,52,53,0, - 1,2,3,4,5,29,7,8,9,10, - 11,12,13,14,15,16,17,18,78,77, - 0,0,23,0,1,2,3,4,5,9, - 7,8,9,10,11,12,13,14,15,16, - 17,18,66,0,1,2,23,4,5,6, - 7,8,9,10,11,12,13,14,15,16, - 17,18,0,0,65,0,1,2,3,4, - 5,6,7,8,9,10,11,12,13,14, - 15,16,17,18,0,1,0,0,65,0, - 1,2,3,4,5,0,7,8,9,10, - 11,12,13,14,15,16,17,18,0,0, - 0,0,0,29,6,20,21,22,9,57, - 57,0,0,1,2,60,4,5,6,7, - 8,9,10,11,12,13,14,15,16,17, - 18,20,21,22,23,24,25,26,27,28, - 64,0,1,2,65,4,5,6,7,8, - 9,10,11,12,13,14,15,16,17,18, - 0,1,2,0,4,5,3,7,8,9, - 10,11,12,13,14,15,16,17,18,0, - 1,2,19,4,5,0,7,8,9,10, - 11,12,13,14,15,16,17,18,0,1, + 29,30,31,32,33,34,35,36,37,38, + 39,40,41,42,43,44,0,46,47,48, + 49,50,51,52,53,54,55,56,0,1, 2,0,4,5,0,7,8,9,10,11, - 12,13,14,15,16,17,18,0,1,2, - 57,4,5,0,7,8,9,10,11,12, - 13,14,15,16,17,18,0,1,2,3, - 4,0,57,20,21,22,23,24,25,26, - 27,28,0,0,0,19,20,21,22,23, - 24,25,26,27,28,29,0,0,1,0, - 0,4,20,21,22,23,24,25,26,27, - 28,0,0,1,0,0,20,21,22,20, - 21,22,10,11,58,0,29,0,0,0, - 3,20,21,22,23,24,25,26,27,28, - 0,29,0,3,2,20,21,22,20,21, - 22,0,0,0,0,4,0,4,0,19, - 0,1,0,0,4,3,3,0,0,0, - 3,3,3,0,74,75,3,0,66,0, - 0,19,19,0,4,58,0,29,0,29, - 0,77,80,0,0,0,0,57,0,0, - 0,0,6,74,75,6,64,0,0,0, - 0,0,29,0,62,63,62,63,67,68, - 67,68,29,0,66,0,0,60,60,0, - 0,58,76,0,65,0,0,0,0,62, - 63,62,63,0,64,59,0,0,0,59, - 0,0,64,59,0,57,0,0,0,0, - 59,61,0,0,0,0,59,0,0,0, - 0,0,0,78,0,0,0,0,0,0, + 12,13,14,15,16,17,18,19,20,21, + 22,0,24,25,26,27,28,0,30,31, + 32,33,34,35,36,37,38,39,40,41, + 42,43,44,0,1,2,3,4,5,0, + 7,8,9,0,0,6,0,1,2,3, + 7,8,9,62,63,22,23,24,25,26, + 27,28,29,30,31,32,33,34,35,36, + 37,38,39,40,41,42,43,44,0,0, + 69,70,71,72,0,0,1,2,3,4, + 5,45,7,8,9,0,1,0,0,4, + 3,6,0,1,2,59,73,22,23,24, + 25,26,27,28,29,30,31,32,33,34, + 35,36,37,38,39,40,41,42,43,44, + 0,1,2,3,4,5,6,0,0,61, + 10,11,12,13,14,15,16,17,18,19, + 20,21,73,23,57,0,1,2,73,29, + 5,83,84,85,86,87,88,89,90,91, + 92,0,0,0,3,3,46,47,48,49, + 50,51,52,53,54,55,56,0,1,2, + 3,4,5,6,23,23,58,10,11,12, + 13,14,15,16,17,18,19,20,21,0, + 23,0,1,0,5,4,29,6,81,82, + 0,0,1,2,0,5,5,0,0,58, + 58,3,61,46,47,48,49,50,51,52, + 53,54,55,56,0,1,2,3,4,5, + 6,23,0,1,10,11,12,13,14,15, + 16,17,18,19,20,21,45,23,0,0, + 0,1,0,29,4,3,6,0,0,2, + 2,3,69,70,71,72,58,67,68,61, + 46,47,48,49,50,51,52,53,54,55, + 56,0,1,2,3,4,5,6,0,0, + 2,10,11,12,13,14,15,16,17,18, + 19,20,21,45,23,0,0,1,2,61, + 29,59,7,8,9,0,0,59,69,70, + 71,72,7,8,9,0,0,46,47,48, + 49,50,51,52,53,54,55,56,0,1, + 2,3,4,5,6,0,0,2,10,11, + 12,13,14,15,16,17,18,19,20,21, + 0,23,0,3,0,1,60,29,4,7, + 8,9,0,1,2,0,60,5,3,0, + 0,0,3,23,46,47,48,49,50,51, + 52,53,54,55,56,0,1,2,3,4, + 5,6,23,0,78,10,11,12,13,14, + 15,16,17,18,19,20,21,45,23,59, + 0,0,0,0,29,45,5,7,8,9, + 7,8,9,58,59,0,0,2,0,3, + 5,46,47,48,49,50,51,52,53,54, + 55,56,0,1,2,3,4,5,6,23, + 79,0,10,11,12,13,14,15,16,17, + 18,19,20,21,0,23,0,74,75,5, + 45,29,0,1,0,0,4,3,67,68, + 0,0,2,2,58,5,74,75,46,47, + 48,49,50,51,52,53,54,55,56,0, + 1,2,3,4,5,6,0,0,2,10, + 11,12,13,14,15,16,17,18,19,20, + 21,0,23,0,3,45,45,0,29,0, + 3,67,68,59,0,1,0,3,4,10, + 11,7,8,9,23,46,47,48,49,50, + 51,52,53,54,55,56,22,0,24,25, + 26,27,28,29,30,31,32,33,34,35, + 36,37,38,39,40,41,42,43,44,0, + 1,0,3,4,57,0,7,8,9,0, + 1,57,0,4,2,10,11,0,62,63, + 0,22,2,24,25,26,27,28,29,30, + 31,32,33,34,35,36,37,38,39,40, + 41,42,43,44,0,1,0,3,4,3, + 0,7,8,9,0,1,57,45,4,0, + 10,11,45,62,63,6,22,0,24,25, + 26,27,28,29,30,31,32,33,34,35, + 36,37,38,39,40,41,42,43,44,0, + 1,0,3,4,0,0,7,8,9,0, + 6,57,0,0,0,59,2,0,6,6, + 0,22,2,24,25,26,27,28,29,30, + 31,32,33,34,35,36,37,38,39,40, + 41,42,43,44,0,1,0,3,4,0, + 0,7,8,9,0,1,57,0,0,0, + 0,0,12,62,63,60,22,58,24,25, + 26,27,28,29,30,31,32,33,34,35, + 36,37,38,39,40,41,42,43,44,0, + 1,2,0,4,77,3,7,8,9,0, + 0,57,0,46,5,0,6,0,62,63, + 61,22,0,24,25,26,27,28,64,30, + 31,32,33,34,35,36,37,38,39,40, + 41,42,43,44,0,1,0,76,4,0, + 0,7,8,9,0,6,0,0,0,0, + 0,0,6,6,0,0,22,65,24,25, + 26,27,28,64,30,31,32,33,34,35, + 36,37,38,39,40,41,42,43,44,0, + 0,45,77,76,0,0,7,8,9,0, + 78,0,12,0,0,0,0,0,0,0, + 60,22,66,24,25,26,27,28,64,30, + 31,32,33,34,35,36,37,38,39,40, + 41,0,1,2,3,4,5,0,0,45, + 0,10,11,12,13,14,15,16,17,18, + 19,20,21,22,0,1,2,3,4,5, + 66,60,58,64,10,11,12,13,14,15, + 16,17,18,19,20,21,22,0,0,0, + 0,0,0,0,0,0,0,0,1,2, + 3,4,5,6,0,0,65,10,11,12, + 13,14,15,16,17,18,19,20,21,0, + 0,1,2,3,4,5,0,0,0,65, + 10,11,12,13,14,15,16,17,18,19, + 20,21,0,0,0,0,1,2,60,4, + 5,6,61,60,57,10,11,12,13,14, + 15,16,17,18,19,20,21,0,0,0, + 0,0,0,0,0,0,0,1,2,60, + 4,5,6,0,0,65,10,11,12,13, + 14,15,16,17,18,19,20,21,0,1, + 2,0,4,5,6,0,0,0,10,11, + 12,13,14,15,16,17,18,19,20,21, + 0,1,2,0,4,5,0,0,0,0, + 10,11,12,13,14,15,16,17,18,19, + 20,21,0,1,2,0,4,5,0,0, + 0,0,10,11,12,13,14,15,16,17, + 18,19,20,21,0,1,2,0,4,5, + 0,0,0,0,10,11,12,13,14,15, + 16,17,18,19,20,21,0,1,2,0, + 4,5,0,0,0,0,10,11,12,13, + 14,15,16,17,18,19,20,21,0,1, + 2,3,0,5,0,7,8,9,0,1, + 2,3,0,5,0,7,8,9,0,0, + 22,23,24,25,26,27,28,0,0,0, + 22,23,24,25,26,27,28,0,0,0, + 0,0,0,45,7,8,9,0,0,0, + 0,0,0,45,7,8,9,59,0,22, + 0,24,25,26,27,28,0,59,0,22, + 0,24,25,26,27,28,0,7,8,9, + 0,0,0,0,0,0,0,7,8,9, + 0,0,22,0,24,25,26,27,28,0, + 0,2,22,0,24,25,26,27,28,0, + 0,0,13,14,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0 + 0,0,0,0,45,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,66,0,0,0,0, + 0,0,0,0,0,0,0,0,0,80, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0 }; }; public final static byte termCheck[] = TermCheck.termCheck; @@ -639,147 +665,173 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym public interface TermAction { public final static char termAction[] = {0, - 2190,1,3833,1307,1,3827,404,1,1,1, - 1,1,1,1,1,1,1,1,1,2198, - 1,1,1,1,1,1,1,1,1,156, - 2290,774,1109,721,1209,835,1441,669,1523,815, - 1268,777,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1693,2413, - 2196,7,2175,2175,2175,2175,2175,2175,2175,2175, - 2175,2175,2175,2175,2175,2175,2175,2175,2175,2175, - 2175,2175,2175,2175,2175,2175,2175,2175,2175,2175, - 512,2175,2175,2175,2175,2175,2175,2175,2175,2175, - 2175,2175,2175,2175,2175,2175,2175,2175,2175,2175, - 2175,2175,2175,2175,2175,2175,2175,2175,54,179, - 2166,2175,2190,1,3833,1307,1,3827,404,1, + 2191,3797,1,1308,3771,1,405,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,2198,1,1,1,1,1,1,1,1, - 1,1,2290,774,1109,721,1209,835,1441,669, - 1523,815,1268,777,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,2190, - 1782,1793,2196,2190,1,3833,2199,1,3827,404, + 1,1,1,2199,1,1,1,1,1,2291, 1,1,1,1,1,1,1,1,1,1, - 1,1,2198,1,1,1,1,1,1,1, - 1,1,28,2290,774,1109,721,1209,835,1441, - 669,1523,815,1268,777,1,1,1,1,1, + 1,1,1,1,1,28,775,1110,722,1210, + 836,1442,670,1524,816,1269,778,2197,7,2176, + 2176,2176,2176,2176,2176,2176,2176,2176,2176,2176, + 2176,2176,2176,2176,2176,2176,2176,2176,2176,2176, + 2176,2176,2176,2176,2176,2176,2176,2176,2176,2176, + 2176,2176,2176,2176,2176,2176,2176,2176,2176,2176, + 2176,2176,2176,2218,2176,2176,2176,2176,2176,2176, + 2176,2176,2176,2176,2176,2176,2191,3797,1,1308, + 3771,1,405,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,2199, + 1,1,1,1,1,2291,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 2190,1,3833,2199,1,3827,404,1,1,1, - 1,1,1,1,1,1,1,1,1,2198, - 1,1,1,1,1,1,1,1,1,2217, - 2290,774,1109,721,1209,835,1441,669,1523,815, - 1268,777,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,2190,1906,1456, - 2190,1973,1466,2190,1957,1916,1965,2070,2063,2048, - 2200,2201,2202,2203,1888,1325,2190,2401,2402,2403, - 2352,2353,2351,2404,2354,2350,2190,1693,2413,2190, - 1342,1468,258,1321,2413,399,1,2190,1360,2357, - 2362,2361,2359,2360,2358,2363,2364,2356,2365,2366, - 2367,1270,1213,1183,2190,1,1,2199,1,1, - 42,597,2190,2190,51,2195,17,2178,179,2178, - 2178,1836,620,2198,1,1,1,1,1,1, - 1,1,1,2190,2488,2178,179,179,179,179, - 179,179,179,179,179,2178,1,1,1,1, + 1,205,775,1110,722,1210,836,1442,670,1524, + 816,1269,778,2197,2191,3797,1,2200,3771,1, + 405,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,2199,1,1, + 1,1,1,2291,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,3462, + 775,1110,722,1210,836,1442,670,1524,816,1269, + 778,2191,3797,1,2200,3771,1,405,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,2190,1,1,2199,1,1,2190,2190,2370, - 2194,976,2371,339,2178,72,2190,292,2190,1981, - 2198,1,1,1,1,1,1,1,1,1, - 59,2488,2293,956,936,916,896,876,836,856, - 816,796,776,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,2190,2190, - 2370,2190,2190,2371,616,1139,219,1430,61,264, - 1321,2413,60,1342,291,2190,1,3833,2199,1, - 3827,404,1,1,1,1,1,1,1,1, - 1,1,1,1,2198,597,1412,2124,597,1743, - 1250,1182,690,2190,2096,2290,774,1109,721,1209, - 835,1441,669,1523,815,1268,777,2190,1,3833, - 2199,1,3827,404,1,1,1,1,1,1, - 1,1,1,1,1,1,2198,1743,1250,1182, - 690,1743,1250,1182,690,2190,2106,2290,774,1109, - 721,1209,835,1441,669,1523,815,1268,777,2190, - 1,3833,2199,1,3827,404,1,1,1,1, - 1,1,1,1,1,1,1,1,2198,2190, - 53,2370,2190,2108,2371,760,2190,1836,620,2290, - 774,1109,721,1209,835,1441,669,1523,815,1268, - 777,2190,1,3833,2199,1,3827,404,1,1, + 1,1,1,1,2199,1,1,1,1,1, + 2291,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,775,1110,722, + 1210,836,1442,670,1524,816,1269,778,2191,1457, + 1907,54,1467,1974,2191,2403,2404,2405,1958,1917, + 1966,2071,2064,2049,2201,2202,2203,2204,1889,1326, + 2353,59,2354,2352,2406,2355,2351,2191,2358,2363, + 2362,2360,2361,2359,2364,2365,2357,2366,2367,2368, + 1271,1214,1184,2191,1,1,2200,1,1,2191, + 1,1,1,247,2191,400,1,2185,1322,2196, + 1,1,1,1783,1794,1,2199,1,1,1, + 1,1,2490,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,42,2191, + 1744,1251,1183,691,2191,2191,1,1,2200,1, + 1,598,1,1,1,2191,2371,1,2191,2372, + 2170,340,1,2415,1694,2195,293,1,2199,1, + 1,1,1,1,2490,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 2198,205,2190,2370,2370,2190,2371,2371,2190,2136, - 112,2290,774,1109,721,1209,835,1441,669,1523, - 815,1268,777,2190,1,3833,2199,1,3827,404, + 2191,3797,1,2200,3771,1,405,72,253,977, 1,1,1,1,1,1,1,1,1,1, - 1,1,2198,2190,52,2219,2190,2190,2220,2425, - 2190,1836,620,2290,774,1109,721,1209,835,1441, - 669,1523,815,1268,777,2190,1,3833,2199,1, - 3827,404,1,1,1,1,1,1,1,1, - 1,1,1,1,2198,204,187,1346,186,2187, - 1346,2190,1266,66,1296,2290,774,1109,721,1209, - 835,1441,669,1523,815,1268,777,2190,1,3833, - 2199,1,3827,404,1,1,1,1,1,1, - 1,1,1,1,1,1,2198,188,226,1, - 2190,2190,2190,1339,229,404,2190,2290,774,1109, - 721,1209,835,1441,669,1523,815,1268,777,2190, - 1,3833,2199,1,3827,404,1,1,1,1, - 1,1,1,1,1,1,1,1,2198,1055, - 2190,1,1693,346,2190,208,2368,2195,2190,2290, - 774,1109,721,1209,835,1441,669,1523,815,1268, - 777,2401,2402,2403,2352,2353,2351,2404,2354,2350, - 1,1321,2184,2195,1,1,1803,2169,2195,2165, - 1,1693,2413,2357,2362,2361,2359,2360,2358,2363, - 2364,2356,2365,2366,2367,1270,1213,1183,2190,597, - 2369,1508,2194,2368,597,48,741,1482,232,2026, - 233,220,1,220,1,116,246,190,2401,2402, - 2403,2352,2353,2351,2404,2354,2350,220,2194,220, - 70,116,68,2194,2196,128,1,1,1,1016, - 2357,2362,2361,2359,2360,2358,2363,2364,2356,2365, - 2366,2367,1270,1213,1183,2401,2402,2403,2352,2353, - 2351,2404,2354,2350,2190,220,2190,220,2190,220, - 116,220,2013,1989,190,2190,2190,2357,2362,2361, - 2359,2360,2358,2363,2364,2356,2365,2366,2367,1, - 1906,2207,2193,1805,2208,1108,1957,1916,1965,2070, - 2063,2048,2200,2201,2202,2203,1888,1325,558,580, - 64,2190,630,2190,1906,2207,2193,1849,2208,456, - 1957,1916,1965,2070,2063,2048,2200,2201,2202,2203, - 1888,1325,1884,2190,1906,2207,1069,1973,2208,1381, - 1957,1916,1965,2070,2063,2048,2200,2201,2202,2203, - 1888,1325,204,252,2192,1,1906,2207,27,1973, - 2208,1381,1957,1916,1965,2070,2063,2048,2200,2201, - 2202,2203,1888,1325,266,1609,1,2190,2192,2190, - 1906,2207,2193,1973,2208,247,1957,1916,1965,2070, - 2063,2048,2200,2201,2202,2203,1888,1325,226,65, - 2190,2190,2190,597,230,1,1,1,456,3211, - 1337,129,1,1906,2207,27,1973,2208,1381,1957, - 1916,1965,2070,2063,2048,2200,2201,2202,2203,1888, - 1325,2401,2402,2403,2352,2353,2351,2404,2354,2350, - 2444,2190,1906,2207,2192,1973,2208,1696,1957,1916, - 1965,2070,2063,2048,2200,2201,2202,2203,1888,1325, - 2190,1906,2207,2190,1973,2208,2199,1957,1916,1965, - 2070,2063,2048,2200,2201,2202,2203,1888,1325,1, - 1906,2207,2198,1973,2208,88,1957,1916,1965,2070, - 2063,2048,2200,2201,2202,2203,1888,1325,2190,1984, - 2207,2190,1973,2208,2190,1957,1916,1965,2070,2063, - 2048,2200,2201,2202,2203,1888,1325,2190,1987,2207, - 1670,1973,2208,130,1957,1916,1965,2070,2063,2048, - 2200,2201,2202,2203,1888,1325,18,2181,178,2181, - 2181,2190,996,2401,2402,2403,2352,2353,2351,2404, - 2354,2350,131,2190,2190,2181,178,178,178,178, - 178,178,178,178,178,2181,2190,261,1803,248, - 62,1,2401,2402,2403,2352,2353,2351,2404,2354, - 2350,132,31,342,69,2190,2401,2402,2403,2401, - 2402,2403,2214,2215,2181,249,597,1,245,63, - 2195,2401,2402,2403,2352,2353,2351,2404,2354,2350, - 2190,2112,1,2199,2172,2401,2402,2403,2401,2402, - 2403,50,58,49,57,2026,67,2026,284,2198, - 264,1803,1,2190,1342,2199,2199,2190,1,2190, - 2197,189,2193,1,1127,762,90,56,1550,55, - 1,2198,2198,217,1139,2194,2190,1142,1,597, - 199,580,1512,267,2190,71,41,1674,28,2190, - 2190,1,1696,1127,762,1696,2444,1,2190,2190, - 2190,2190,597,2190,1782,1793,1782,1793,2013,1989, - 2013,1989,597,2190,1925,2190,2190,2196,189,2190, - 2190,90,1055,2190,2192,2190,2190,2190,2190,1782, - 1793,1782,1793,2190,2444,2292,2190,2190,2190,1089, - 2190,2190,2443,1161,2190,534,2190,2190,2190,2190, - 2371,701,2190,2190,2190,2190,2370,2190,2190,2190, - 2190,2190,2190,558 + 1,1,2166,2199,2197,2191,2415,1694,292,2291, + 1343,957,937,917,897,877,837,857,817,797, + 777,233,2191,2191,221,2200,775,1110,722,1210, + 836,1442,670,1524,816,1269,778,2191,3797,1, + 2200,3771,1,405,221,2199,1338,1,1,1, + 1,1,1,1,1,1,1,1,1,2191, + 2199,2191,2371,61,1140,2372,2291,617,1413,2125, + 48,259,2415,1322,2191,2027,1,2191,234,221, + 1671,221,221,775,1110,722,1210,836,1442,670, + 1524,816,1269,778,2191,3797,1,2200,3771,1, + 405,221,2191,2427,1,1,1,1,1,1, + 1,1,1,1,1,1,598,2199,156,60, + 2191,2371,2191,2291,2372,2196,761,179,1,2167, + 1804,2196,1744,1251,1183,691,221,2014,1990,221, + 775,1110,722,1210,836,1442,670,1524,816,1269, + 778,2191,3797,1,2200,3771,1,405,2191,2191, + 1361,1,1,1,1,1,1,1,1,1, + 1,1,1,598,2199,248,1,2415,1694,513, + 2291,2195,1,1,1,2191,2191,2195,1744,1251, + 1183,691,2403,2404,2405,2191,70,775,1110,722, + 1210,836,1442,670,1524,816,1269,778,2191,3797, + 1,2200,3771,1,405,2191,2191,1982,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,2199,249,116,206,2371,1017,2291,2372,2403, + 2404,2405,265,2415,1322,2191,2294,1343,2196,1, + 218,112,2200,116,775,1110,722,1210,836,1442, + 670,1524,816,1269,778,2191,3797,1,2200,3771, + 1,405,2199,62,559,1,1,1,1,1, + 1,1,1,1,1,1,1,598,2199,116, + 250,50,63,246,2291,598,2027,2403,2404,2405, + 2403,2404,2405,1509,2195,262,2191,1804,2191,2200, + 1,775,1110,722,1210,836,1442,670,1524,816, + 1269,778,2191,3797,1,2200,3771,1,405,2199, + 2188,2191,1,1,1,1,1,1,1,1, + 1,1,1,1,49,2199,2191,1128,763,2027, + 598,2291,2191,2371,1,2191,2372,2196,2014,1990, + 265,220,1804,1431,1675,1343,1128,763,775,1110, + 722,1210,836,1442,670,1524,816,1269,778,2191, + 3797,1,2200,3771,1,405,2191,2191,2097,1, + 1,1,1,1,1,1,1,1,1,1, + 1,2191,2199,2191,2200,598,598,2191,2291,51, + 2198,2014,1990,2195,2191,1,58,190,1,1837, + 621,1,1,1,2199,775,1110,722,1210,836, + 1442,670,1524,816,1269,778,1,2191,1,1, + 1,1,1,2386,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,2191, + 1,57,190,1,2197,53,1,1,1,2191, + 2220,190,267,2221,1610,1837,621,268,1783,1794, + 2191,1,2107,1,1,1,1,1,2386,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,2191,1,1,190,1,90, + 52,1,1,1,205,1347,190,598,1347,187, + 1837,621,598,1783,1794,1267,1,2191,1,1, + 1,1,1,2386,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,2191, + 1,56,189,1,186,2191,1,1,1,88, + 1297,190,188,227,2191,90,2109,68,1340,230, + 2191,1,2137,1,1,1,1,1,2386,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,2191,1,55,190,1,209, + 64,1,1,1,1,2173,189,2191,2191,2191, + 2191,66,457,1783,1794,1483,1,997,1,1, + 1,1,1,2386,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 347,1694,2191,2369,581,2194,2403,2404,2405,1, + 1,190,2191,1469,1140,69,405,67,1783,1794, + 742,2353,71,2354,2352,2406,2355,2351,2446,2358, + 2363,2362,2360,2361,2359,2364,2365,2357,2366,2367, + 2368,1271,1214,1184,2191,2370,2191,1056,2369,227, + 2191,2403,2404,2405,1,231,41,2191,2191,2191, + 2191,2191,1697,1697,2191,2191,2353,2193,2354,2352, + 2406,2355,2351,2446,2358,2363,2362,2360,2361,2359, + 2364,2365,2357,2366,2367,2368,1271,1214,1184,128, + 65,1109,581,1056,285,2191,2403,2404,2405,1, + 559,200,457,2191,28,2191,2191,2191,2191,2191, + 2293,2353,1885,2354,2352,2406,2355,2351,2446,2358, + 2363,2362,2360,2361,2359,2364,2365,2357,2366,2367, + 2368,1,2208,1907,2194,2209,1806,2191,2191,1143, + 2191,1958,1917,1966,2071,2064,2049,2201,2202,2203, + 2204,1889,1326,631,2191,2208,1907,2194,2209,1850, + 1926,1090,535,2445,1958,1917,1966,2071,2064,2049, + 2201,2202,2203,2204,1889,1326,1070,2191,2191,2191, + 2191,2191,2191,1,2191,2191,2191,1,2208,1907, + 27,2209,1974,1382,2191,2191,2193,1958,1917,1966, + 2071,2064,2049,2201,2202,2203,2204,1889,1326,1, + 2191,2208,1907,2194,2209,1974,2191,2191,2191,2193, + 1958,1917,1966,2071,2064,2049,2201,2202,2203,2204, + 1889,1326,2191,2191,2191,2191,2208,1907,1162,2209, + 1974,1382,702,2372,27,1958,1917,1966,2071,2064, + 2049,2201,2202,2203,2204,1889,1326,2191,2191,2191, + 2191,2191,2191,2191,2191,2191,1,2208,1907,2371, + 2209,1974,1382,2191,2191,2193,1958,1917,1966,2071, + 2064,2049,2201,2202,2203,2204,1889,1326,2191,2208, + 1907,2191,2209,1974,1697,2191,2191,2191,1958,1917, + 1966,2071,2064,2049,2201,2202,2203,2204,1889,1326, + 2191,2208,1907,2191,2209,1974,2191,2191,2191,2191, + 1958,1917,1966,2071,2064,2049,2201,2202,2203,2204, + 1889,1326,1,2208,1907,2191,2209,1974,2191,2191, + 2191,2191,1958,1917,1966,2071,2064,2049,2201,2202, + 2203,2204,1889,1326,2191,2208,1985,2191,2209,1974, + 2191,2191,2191,2191,1958,1917,1966,2071,2064,2049, + 2201,2202,2203,2204,1889,1326,2191,2208,1988,2191, + 2209,1974,2191,2191,2191,2191,1958,1917,1966,2071, + 2064,2049,2201,2202,2203,2204,1889,1326,17,179, + 2179,2179,2191,2179,2191,179,179,179,18,178, + 2182,2182,2191,2182,2191,178,178,178,2191,2191, + 179,2179,179,179,179,179,179,2191,2191,2191, + 178,2182,178,178,178,178,178,129,2191,2191, + 2191,2191,2191,2179,2403,2404,2405,130,2191,2191, + 2191,2191,2191,2182,2403,2404,2405,2179,2191,2353, + 2191,2354,2352,2406,2355,2351,2191,2182,2191,2353, + 131,2354,2352,2406,2355,2351,2191,2403,2404,2405, + 132,2191,2191,2191,2191,2191,2191,2403,2404,2405, + 2191,2191,2353,2191,2354,2352,2406,2355,2351,31, + 2191,343,2353,2191,2354,2352,2406,2355,2351,2191, + 2191,2191,2215,2216,2191,2191,2191,2191,2191,2191, + 2191,2191,2191,2191,2191,2191,2191,2191,2191,2191, + 2191,2191,2191,2191,2191,2191,2191,2191,2191,2191, + 2191,2191,2191,2191,2113,2191,2191,2191,2191,2191, + 2191,2191,2191,2191,2191,2191,2191,2191,2191,2191, + 2191,2191,2191,2191,2191,1551,2191,2191,2191,2191, + 2191,2191,2191,2191,2191,2191,2191,2191,2191,1513 }; }; public final static char termAction[] = TermAction.termAction; @@ -787,35 +839,35 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym public interface Asb { public final static char asb[] = {0, - 441,1,261,406,441,576,474,486,486,574, - 574,486,574,486,263,359,408,397,472,408, - 233,51,3,51,3,176,51,408,494,502, - 359,71,72,293,263,576,227,545,544,359, - 145,234,3,3,3,3,176,176,494,286, - 408,293,102,295,263,408,84,408,233,342, - 228,228,320,472,472,329,472,472,228,233, - 69,344,69,406,249,3,29,64,263,3, - 3,29,178,182,178,176,286,494,295,125, - 122,286,193,249,344,344,344,344,344,106, - 344,344,344,187,204,209,207,215,211,218, - 217,220,219,221,502,497,501,550,82,344, - 145,544,231,228,344,228,247,344,323,344, - 344,234,69,329,408,224,361,361,29,66, - 29,29,344,320,178,494,501,286,122,105, - 102,344,344,344,344,344,344,344,344,344, - 344,344,502,502,505,249,249,320,320,32, - 344,344,344,344,344,344,344,344,344,344, - 344,344,344,344,344,344,344,344,344,344, - 499,500,290,359,295,82,342,228,502,472, - 502,502,233,344,227,344,226,29,410,344, - 344,122,106,84,359,290,502,502,502,122, - 207,207,204,204,211,211,209,209,209,209, - 217,215,219,218,69,220,293,502,412,497, - 178,326,228,342,329,344,329,329,66,344, - 122,122,82,505,412,511,576,344,295,502, - 29,80,548,320,344,325,32,228,502,232, - 82,502,84,122,320,344,502,32,228,329, - 178,122,329,502,29,329 + 442,1,262,407,442,577,475,487,487,575, + 575,487,575,487,264,360,409,398,473,409, + 234,52,3,52,3,177,52,409,495,503, + 360,72,73,294,264,577,228,546,545,360, + 146,235,3,3,3,3,177,177,495,287, + 409,294,103,296,264,409,85,409,234,343, + 229,229,321,473,473,330,473,473,229,234, + 70,345,70,407,250,3,30,65,264,3, + 3,30,179,183,179,177,287,495,296,126, + 123,287,194,250,345,345,345,345,345,107, + 345,345,345,188,205,210,208,216,212,219, + 218,221,220,222,503,498,502,551,83,345, + 146,545,232,229,345,229,248,345,324,345, + 345,235,70,330,409,225,362,362,30,67, + 30,30,345,321,179,495,502,287,123,106, + 103,345,345,345,345,345,345,345,345,345, + 345,345,503,503,506,250,250,321,321,33, + 345,345,345,345,345,345,345,345,345,345, + 345,345,345,345,345,345,345,345,345,345, + 500,501,291,360,296,83,343,229,503,473, + 503,503,234,345,228,345,227,30,411,345, + 345,123,107,85,360,291,503,503,503,123, + 208,208,205,205,212,212,210,210,210,210, + 218,216,220,219,70,221,294,503,413,498, + 179,327,229,343,330,345,330,330,67,345, + 123,123,83,506,413,512,577,345,296,503, + 30,81,549,321,345,326,33,229,503,233, + 83,503,85,123,321,345,503,33,229,330, + 179,123,330,503,30,330 }; }; public final static char asb[] = Asb.asb; @@ -823,64 +875,64 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym public interface Asr { public final static byte asr[] = {0, - 73,0,24,42,20,43,54,25,44,26, - 45,46,27,21,47,48,23,55,28,56, - 49,50,22,51,52,53,2,5,60,3, - 0,3,58,12,13,14,15,16,2,5, - 1,10,11,9,4,7,8,17,18,0, - 24,20,25,26,27,21,23,28,22,29, - 57,58,6,19,3,4,2,1,59,0, - 1,3,59,61,57,58,19,29,0,3, - 60,29,66,1,13,14,15,16,2,5, - 10,11,9,4,7,8,17,18,12,6, - 0,20,21,22,23,10,11,9,4,7, - 8,17,18,12,1,2,5,13,14,15, - 16,65,3,0,20,21,22,10,11,9, - 4,7,8,17,18,12,1,2,5,13, - 14,15,16,0,24,42,20,43,54,25, - 44,26,45,46,27,21,47,48,23,55, - 28,56,49,50,22,51,52,53,2,5, - 3,61,57,19,0,2,5,3,60,57, - 0,3,57,60,61,0,29,1,66,80, - 10,11,61,83,84,85,86,87,89,88, - 90,91,92,4,67,68,7,8,63,62, - 69,70,71,72,74,75,9,76,77,78, - 60,81,82,65,58,59,57,19,3,0, - 73,79,60,33,35,6,39,41,36,31, - 37,38,34,32,40,30,3,19,13,14, - 15,16,10,11,9,7,8,17,18,12, - 4,1,5,2,54,55,56,50,42,47, - 45,46,44,43,48,49,51,52,53,28, - 25,23,24,27,26,20,21,22,0,4, - 1,29,58,3,24,42,20,43,54,25, - 44,26,45,46,27,21,47,48,23,55, - 28,56,49,50,22,51,52,53,64,2, - 5,0,31,0,61,29,66,0,33,35, - 6,39,41,36,31,37,38,34,32,40, - 30,19,3,10,11,9,7,8,17,18, - 12,1,2,5,13,14,15,16,4,0, - 66,80,10,11,9,7,8,67,68,62, - 63,69,70,71,72,74,75,76,77,78, - 81,82,61,83,84,85,86,87,88,89, - 90,91,92,57,29,58,24,20,25,26, - 27,21,23,28,22,19,3,4,1,2, - 0,24,42,20,43,54,25,44,26,45, - 46,27,21,47,48,23,55,28,56,49, - 50,22,51,52,53,2,5,64,4,0, - 73,24,42,20,43,54,25,44,26,45, - 46,27,21,47,48,23,55,28,56,49, - 50,22,51,52,53,2,5,4,19,3, - 30,1,0,50,42,47,45,46,44,43, - 48,49,51,52,53,59,19,28,25,23, - 24,27,26,20,21,22,4,2,1,29, - 57,58,3,0,3,58,4,1,29,0, - 9,4,7,8,67,68,62,63,69,70, - 71,72,74,75,76,77,78,81,82,59, - 83,84,85,86,87,88,89,90,91,92, - 65,58,60,6,3,57,19,61,0,24, - 42,20,43,54,25,44,26,45,46,27, - 21,47,48,23,55,28,56,49,50,22, - 51,52,53,2,5,6,0 + 73,0,24,30,7,31,42,25,32,26, + 33,34,27,8,35,36,22,43,28,44, + 37,38,9,39,40,41,1,4,29,57, + 3,0,3,59,15,16,17,18,19,1, + 4,2,13,14,12,5,10,11,20,21, + 0,24,7,25,26,27,8,22,28,9, + 45,58,59,6,23,3,5,1,2,60, + 0,2,3,60,61,58,59,23,45,0, + 3,57,45,66,2,16,17,18,19,1, + 4,13,14,12,5,10,11,20,21,15, + 6,0,7,8,9,22,13,14,12,5, + 10,11,20,21,15,2,1,4,16,17, + 18,19,65,3,0,7,8,9,13,14, + 12,5,10,11,20,21,15,2,1,4, + 16,17,18,19,0,24,30,7,31,42, + 25,32,26,33,34,27,8,35,36,22, + 43,28,44,37,38,9,39,40,41,1, + 4,3,61,58,23,0,1,4,3,57, + 58,0,3,58,57,61,0,45,2,66, + 80,13,14,61,83,84,85,86,87,89, + 88,90,91,92,5,67,68,10,11,63, + 62,69,70,71,72,74,75,12,76,77, + 78,57,81,82,65,59,60,58,23,3, + 0,73,79,57,48,50,6,54,56,51, + 46,52,53,49,47,55,29,3,23,16, + 17,18,19,13,14,12,10,11,20,21, + 15,5,2,4,1,42,43,44,38,30, + 35,33,34,32,31,36,37,39,40,41, + 28,25,22,24,27,26,7,8,9,0, + 5,2,45,59,3,24,30,7,31,42, + 25,32,26,33,34,27,8,35,36,22, + 43,28,44,37,38,9,39,40,41,64, + 1,4,0,46,0,61,45,66,0,48, + 50,6,54,56,51,46,52,53,49,47, + 55,29,23,3,13,14,12,10,11,20, + 21,15,2,1,4,16,17,18,19,5, + 0,66,80,13,14,12,10,11,67,68, + 62,63,69,70,71,72,74,75,76,77, + 78,81,82,61,83,84,85,86,87,88, + 89,90,91,92,58,45,59,24,7,25, + 26,27,8,22,28,9,23,3,5,2, + 1,0,24,30,7,31,42,25,32,26, + 33,34,27,8,35,36,22,43,28,44, + 37,38,9,39,40,41,1,4,64,5, + 0,73,24,30,7,31,42,25,32,26, + 33,34,27,8,35,36,22,43,28,44, + 37,38,9,39,40,41,1,4,5,23, + 3,29,2,0,38,30,35,33,34,32, + 31,36,37,39,40,41,60,23,28,25, + 22,24,27,26,7,8,9,5,1,2, + 45,58,59,3,0,3,59,5,2,45, + 0,12,5,10,11,67,68,62,63,69, + 70,71,72,74,75,76,77,78,81,82, + 60,83,84,85,86,87,88,89,90,91, + 92,65,59,57,6,3,58,23,61,0, + 24,30,7,31,42,25,32,26,33,34, + 27,8,35,36,22,43,28,44,37,38, + 9,39,40,41,1,4,6,0 }; }; public final static byte asr[] = Asr.asr; @@ -946,12 +998,12 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym public interface TerminalIndex { public final static char terminalIndex[] = {0, - 2,85,87,9,86,3,10,11,8,6, - 7,68,81,82,83,84,12,13,92,48, - 64,76,69,44,55,60,63,72,1,93, - 77,45,46,49,50,51,57,58,59,65, - 71,47,52,56,61,62,66,67,74,75, - 78,79,80,54,70,73,42,90,29,91, + 85,2,87,86,9,3,48,64,76,10, + 11,8,6,7,68,81,82,83,84,12, + 13,69,92,44,55,60,63,72,93,47, + 52,56,61,62,66,67,74,75,78,79, + 80,54,70,73,1,77,45,46,49,50, + 51,57,58,59,65,71,91,42,90,29, 31,16,17,30,89,4,14,15,18,19, 20,21,94,22,23,24,25,26,53,5, 27,28,32,33,34,35,36,37,38,39, @@ -1015,10 +1067,10 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym public interface ScopeLa { public final static byte scopeLa[] = { - 60,60,65,65,60,60,60,79,60,58, - 65,58,60,60,58,65,19,60,58,58, - 65,59,65,65,58,65,58,58,61,2, - 58,31,58,19,1,1,1 + 57,57,65,65,57,57,57,79,57,59, + 65,59,57,57,59,65,23,57,59,59, + 65,60,65,65,59,65,59,59,61,1, + 59,46,59,23,2,2,2 }; }; public final static byte scopeLa[] = ScopeLa.scopeLa; @@ -1037,26 +1089,26 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym public interface ScopeRhs { public final static char scopeRhs[] = {0, - 147,29,0,95,0,201,94,0,31,144, + 147,45,0,95,0,201,94,0,31,144, 0,160,182,94,6,0,97,0,158,94, - 1,150,0,96,0,158,94,1,0,169, - 1,0,114,23,191,94,29,0,114,191, - 94,23,29,0,114,23,29,0,114,191, - 94,29,0,114,29,0,122,0,2,0, - 162,96,0,2,96,0,158,94,1,122, - 0,2,0,160,96,0,144,1,0,160, - 188,94,6,117,54,0,160,188,94,6, - 54,0,145,0,98,0,197,94,145,0, + 2,150,0,96,0,158,94,2,0,169, + 2,0,114,22,191,94,45,0,114,191, + 94,22,45,0,114,22,45,0,114,191, + 94,45,0,114,45,0,122,0,2,0, + 162,96,0,2,96,0,158,94,2,122, + 0,2,0,160,96,0,144,2,0,160, + 188,94,6,117,42,0,160,188,94,6, + 42,0,145,0,98,0,197,94,145,0, 94,145,0,149,98,0,166,94,6,117, - 56,0,166,94,6,117,55,0,166,94, - 6,56,0,166,94,6,55,0,128,36, + 44,0,166,94,6,117,43,0,166,94, + 6,44,0,166,94,6,43,0,128,51, 0,77,2,99,96,98,0,128,116,120, - 1,39,0,53,121,0,184,94,6,0, - 120,82,110,0,29,116,0,170,1,0, - 96,105,0,170,1,12,0,160,182,94, - 6,116,170,1,0,96,3,0,103,0, - 97,0,196,1,98,0,120,29,98,0, - 120,1,0 + 2,54,0,53,121,0,184,94,6,0, + 120,82,110,0,29,116,0,170,2,0, + 96,105,0,170,2,15,0,160,182,94, + 6,116,170,2,0,96,3,0,103,0, + 97,0,196,2,98,0,120,45,98,0, + 120,2,0 }; }; public final static char scopeRhs[] = ScopeRhs.scopeRhs; @@ -1064,18 +1116,18 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym public interface ScopeState { public final static char scopeState[] = {0, - 1440,0,1354,0,2070,2063,2048,2040,1849,1412, - 580,558,456,1055,1743,1250,1182,690,1127,762, - 1836,620,1793,1782,2026,2013,1989,1973,1965,1805, - 1957,1916,1888,1325,1142,1108,1161,1089,1069,1035, - 1016,996,976,956,936,916,896,876,856,836, - 816,796,776,670,741,650,630,306,721,597, - 701,512,492,534,470,0,1882,1445,1865,1863, - 1210,0,1902,1649,1627,1605,1583,1558,1529,1367, - 1482,1280,1441,1205,1180,0,1585,1570,1261,511, - 1886,307,1803,1321,1813,1234,0,418,372,1674, - 307,1321,1495,1443,1234,1729,1670,1531,1408,1693, - 0,345,306,1286,372,0 + 1441,0,1355,0,2071,2064,2049,2041,1850,1413, + 581,559,457,1056,1744,1251,1183,691,1128,763, + 1837,621,1794,1783,2027,2014,1990,1974,1966,1806, + 1958,1917,1889,1326,1143,1109,1162,1090,1070,1036, + 1017,997,977,957,937,917,897,877,857,837, + 817,797,777,671,742,651,631,307,722,598, + 702,513,493,535,471,0,1883,1446,1866,1864, + 1211,0,1903,1650,1628,1606,1584,1559,1530,1368, + 1483,1281,1442,1206,1181,0,1586,1571,1262,512, + 1887,308,1804,1322,1814,1235,0,419,373,1675, + 308,1322,1496,1444,1235,1730,1671,1532,1409,1694, + 0,346,307,1287,373,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -1083,34 +1135,34 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym public interface InSymb { public final static char inSymb[] = {0, - 0,195,94,115,205,190,171,172,173,56, - 55,174,54,175,176,94,1,2,122,94, - 6,117,6,117,6,6,117,146,4,144, - 94,122,135,1,199,190,185,178,124,94, - 137,94,6,94,6,94,94,6,4,94, - 146,1,29,94,94,57,61,146,184,40, - 32,34,38,37,31,36,41,39,127,6, - 35,33,117,115,94,94,166,145,94,167, - 94,166,188,117,189,94,94,168,94,23, - 114,94,99,1,12,18,17,8,7,4, - 9,11,10,98,101,103,102,105,104,107, - 106,109,108,110,158,115,159,206,6,4, - 137,124,3,120,94,117,1,1,128,1, - 1,94,147,59,94,183,2,5,166,94, - 166,160,61,57,188,168,198,94,114,191, + 0,195,94,115,205,190,171,172,173,44, + 43,174,42,175,176,94,2,1,122,94, + 6,117,6,117,6,6,117,146,5,144, + 94,122,135,2,199,190,185,178,124,94, + 137,94,6,94,6,94,94,6,5,94, + 146,2,45,94,94,58,61,146,184,55, + 47,49,53,52,46,51,56,54,127,6, + 50,48,117,115,94,94,166,145,94,167, + 94,166,188,117,189,94,94,168,94,22, + 114,94,99,2,15,21,20,11,10,5, + 12,14,13,98,101,103,102,105,104,107, + 106,109,108,110,158,115,159,206,6,5, + 137,124,3,120,94,117,2,2,128,2, + 2,94,147,60,94,183,1,4,166,94, + 166,160,61,58,188,168,198,94,114,191, 168,92,91,90,88,89,87,86,85,84, - 83,61,170,120,145,1,1,80,66,1, - 29,68,67,4,62,63,8,7,75,74, - 72,71,70,69,76,9,78,77,82,81, - 150,151,1,94,57,94,139,153,120,31, - 120,120,184,57,197,59,144,160,57,191, - 23,114,4,116,94,1,170,170,196,120, + 83,61,170,120,145,2,2,80,66,2, + 45,68,67,5,62,63,11,10,75,74, + 72,71,70,69,76,12,78,77,82,81, + 150,151,2,94,58,94,139,153,120,46, + 120,120,184,58,197,60,144,160,58,191, + 22,114,5,116,94,2,170,170,196,120, 102,102,101,101,104,104,103,103,103,103, - 106,105,108,107,120,109,1,169,94,146, - 182,94,153,112,116,1,116,116,57,59, - 114,114,6,146,94,116,116,59,94,158, - 160,57,201,66,29,202,112,153,120,128, - 94,158,61,147,66,29,153,112,116,79, + 106,105,108,107,120,109,2,169,94,146, + 182,94,153,112,116,2,116,116,58,60, + 114,114,6,146,94,116,116,60,94,158, + 160,58,201,66,45,202,112,153,120,128, + 94,158,61,147,66,45,153,112,116,79, 182,147,116,153,160,116 }; }; @@ -1311,7 +1363,7 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym public final String name(int index) { return name[index]; } public final static int - ERROR_SYMBOL = 30, + ERROR_SYMBOL = 29, SCOPE_UBOUND = 36, SCOPE_SIZE = 37, MAX_NAME_LENGTH = 38; @@ -1324,18 +1376,18 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym public final static int NUM_STATES = 286, NT_OFFSET = 93, - LA_STATE_OFFSET = 2495, + LA_STATE_OFFSET = 2497, MAX_LA = 2147483647, - NUM_RULES = 305, + NUM_RULES = 306, NUM_NONTERMINALS = 114, NUM_SYMBOLS = 207, SEGMENT_SIZE = 8192, - START_STATE = 1719, + START_STATE = 1720, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 73, EOLT_SYMBOL = 73, - ACCEPT_ACTION = 2165, - ERROR_ACTION = 2190; + ACCEPT_ACTION = 2166, + ERROR_ACTION = 2191; public final static boolean BACKTRACK = true; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parsersym.java index 76e4707d4fb..0628df87b5f 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parsersym.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parsersym.java @@ -16,63 +16,63 @@ package org.eclipse.cdt.internal.core.dom.lrparser.c99; public interface C99Parsersym { public final static int TK_auto = 24, - TK_break = 32, - TK_case = 33, - TK_char = 42, - TK_const = 20, - TK_continue = 34, - TK_default = 35, - TK_do = 36, - TK_double = 43, + TK_break = 47, + TK_case = 48, + TK_char = 30, + TK_const = 7, + TK_continue = 49, + TK_default = 50, + TK_do = 51, + TK_double = 31, TK_else = 79, - TK_enum = 54, + TK_enum = 42, TK_extern = 25, - TK_float = 44, - TK_for = 37, - TK_goto = 38, - TK_if = 39, + TK_float = 32, + TK_for = 52, + TK_goto = 53, + TK_if = 54, TK_inline = 26, - TK_int = 45, - TK_long = 46, + TK_int = 33, + TK_long = 34, TK_register = 27, - TK_restrict = 21, - TK_return = 40, - TK_short = 47, - TK_signed = 48, - TK_sizeof = 12, - TK_static = 23, - TK_struct = 55, - TK_switch = 41, + TK_restrict = 8, + TK_return = 55, + TK_short = 35, + TK_signed = 36, + TK_sizeof = 15, + TK_static = 22, + TK_struct = 43, + TK_switch = 56, TK_typedef = 28, - TK_union = 56, - TK_unsigned = 49, - TK_void = 50, - TK_volatile = 22, - TK_while = 31, - TK__Bool = 51, - TK__Complex = 52, - TK__Imaginary = 53, - TK_integer = 13, - TK_floating = 14, - TK_charconst = 15, - TK_stringlit = 16, - TK_identifier = 2, - TK_Completion = 5, + TK_union = 44, + TK_unsigned = 37, + TK_void = 38, + TK_volatile = 9, + TK_while = 46, + TK__Bool = 39, + TK__Complex = 40, + TK__Imaginary = 41, + TK_integer = 16, + TK_floating = 17, + TK_charconst = 18, + TK_stringlit = 19, + TK_identifier = 1, + TK_Completion = 4, TK_EndOfCompletion = 3, TK_Invalid = 93, - TK_LeftBracket = 29, - TK_LeftParen = 1, + TK_LeftBracket = 45, + TK_LeftParen = 2, TK_LeftBrace = 6, TK_Dot = 66, TK_Arrow = 80, - TK_PlusPlus = 10, - TK_MinusMinus = 11, - TK_And = 9, - TK_Star = 4, - TK_Plus = 7, - TK_Minus = 8, - TK_Tilde = 17, - TK_Bang = 18, + TK_PlusPlus = 13, + TK_MinusMinus = 14, + TK_And = 12, + TK_Star = 5, + TK_Plus = 10, + TK_Minus = 11, + TK_Tilde = 20, + TK_Bang = 21, TK_Slash = 67, TK_Percent = 68, TK_RightShift = 62, @@ -88,7 +88,7 @@ public interface C99Parsersym { TK_AndAnd = 78, TK_OrOr = 81, TK_Question = 82, - TK_Colon = 59, + TK_Colon = 60, TK_DotDotDot = 64, TK_Assign = 61, TK_StarAssign = 83, @@ -101,22 +101,25 @@ public interface C99Parsersym { TK_AndAssign = 90, TK_CaretAssign = 91, TK_OrAssign = 92, - TK_Comma = 57, + TK_Comma = 58, TK_RightBracket = 65, - TK_RightParen = 58, - TK_RightBrace = 60, - TK_SemiColon = 19, - TK_ERROR_TOKEN = 30, + TK_RightParen = 59, + TK_RightBrace = 57, + TK_SemiColon = 23, + TK_ERROR_TOKEN = 29, TK_EOF_TOKEN = 73; public final static String orderedTerminalSymbols[] = { "", - "LeftParen", "identifier", + "LeftParen", "EndOfCompletion", - "Star", "Completion", + "Star", "LeftBrace", + "const", + "restrict", + "volatile", "Plus", "Minus", "And", @@ -129,29 +132,14 @@ public interface C99Parsersym { "stringlit", "Tilde", "Bang", - "SemiColon", - "const", - "restrict", - "volatile", "static", + "SemiColon", "auto", "extern", "inline", "register", "typedef", - "LeftBracket", "ERROR_TOKEN", - "while", - "break", - "case", - "continue", - "default", - "do", - "for", - "goto", - "if", - "return", - "switch", "char", "double", "float", @@ -167,10 +155,22 @@ public interface C99Parsersym { "enum", "struct", "union", + "LeftBracket", + "while", + "break", + "case", + "continue", + "default", + "do", + "for", + "goto", + "if", + "return", + "switch", + "RightBrace", "Comma", "RightParen", "Colon", - "RightBrace", "Assign", "RightShift", "LeftShift", diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParser.java index 5723868677c..4441a63d246 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParser.java @@ -829,411 +829,417 @@ public C99SizeofExpressionParser(String[] mapFrom) { // constructor } // - // Rule 199: struct_declarator ::= : constant_expression + // Rule 194: struct_declaration ::= ERROR_TOKEN // - case 199: { action. consumeBitField(false); break; + case 194: { action. consumeDeclarationProblem(); break; } // - // Rule 200: struct_declarator ::= declarator : constant_expression + // Rule 200: struct_declarator ::= : constant_expression // - case 200: { action. consumeBitField(true); break; + case 200: { action. consumeBitField(false); break; } // - // Rule 201: enum_specifier ::= enum { enumerator_list_opt comma_opt } + // Rule 201: struct_declarator ::= declarator : constant_expression // - case 201: { action. consumeTypeSpecifierEnumeration(false); break; + case 201: { action. consumeBitField(true); break; } // - // Rule 202: enum_specifier ::= enum identifier_or_typedefname { enumerator_list_opt comma_opt } + // Rule 202: enum_specifier ::= enum { enumerator_list_opt comma_opt } // - case 202: { action. consumeTypeSpecifierEnumeration(true); break; + case 202: { action. consumeTypeSpecifierEnumeration(false); break; } // - // Rule 207: enumerator ::= identifier_or_typedefname + // Rule 203: enum_specifier ::= enum identifier_or_typedefname { enumerator_list_opt comma_opt } // - case 207: { action. consumeEnumerator(false); break; + case 203: { action. consumeTypeSpecifierEnumeration(true); break; } // - // Rule 208: enumerator ::= identifier_or_typedefname = constant_expression + // Rule 208: enumerator ::= identifier_or_typedefname // - case 208: { action. consumeEnumerator(true); break; + case 208: { action. consumeEnumerator(false); break; } // - // Rule 209: type_qualifier ::= type_qualifier_token + // Rule 209: enumerator ::= identifier_or_typedefname = constant_expression // - case 209: { action. consumeDeclSpecToken(); break; + case 209: { action. consumeEnumerator(true); break; } // - // Rule 213: function_specifier ::= inline + // Rule 210: type_qualifier ::= type_qualifier_token // - case 213: { action. consumeDeclSpecToken(); break; + case 210: { action. consumeDeclSpecToken(); break; } // - // Rule 215: declarator ::= pointer_seq direct_declarator + // Rule 214: function_specifier ::= inline // - case 215: { action. consumeDeclaratorWithPointer(true); break; + case 214: { action. consumeDeclSpecToken(); break; } // - // Rule 220: basic_direct_declarator ::= declarator_id_name + // Rule 216: declarator ::= pointer_seq direct_declarator // - case 220: { action. consumeDirectDeclaratorIdentifier(); break; + case 216: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 221: basic_direct_declarator ::= ( declarator ) + // Rule 221: basic_direct_declarator ::= declarator_id_name // - case 221: { action. consumeDirectDeclaratorBracketed(); break; + case 221: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 222: declarator_id_name ::= identifier + // Rule 222: basic_direct_declarator ::= ( declarator ) // - case 222: { action. consumeIdentifierName(); break; + case 222: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 223: array_direct_declarator ::= basic_direct_declarator array_modifier + // Rule 223: declarator_id_name ::= identifier // - case 223: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 223: { action. consumeIdentifierName(); break; } // - // Rule 224: array_direct_declarator ::= array_direct_declarator array_modifier + // Rule 224: array_direct_declarator ::= basic_direct_declarator array_modifier // case 224: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 226: function_direct_declarator ::= basic_direct_declarator ( parameter_type_list ) + // Rule 225: array_direct_declarator ::= array_direct_declarator array_modifier // - case 226: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; + case 225: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 227: function_direct_declarator ::= basic_direct_declarator ( ) + // Rule 227: function_direct_declarator ::= basic_direct_declarator ( parameter_type_list ) // - case 227: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; + case 227: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; } // - // Rule 229: function_declarator ::= pointer_seq function_direct_declarator + // Rule 228: function_direct_declarator ::= basic_direct_declarator ( ) // - case 229: { action. consumeDeclaratorWithPointer(true); break; + case 228: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; } // - // Rule 230: knr_direct_declarator ::= basic_direct_declarator ( identifier_list ) + // Rule 230: function_declarator ::= pointer_seq function_direct_declarator // - case 230: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; + case 230: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 232: knr_function_declarator ::= pointer_seq knr_direct_declarator + // Rule 231: knr_direct_declarator ::= basic_direct_declarator ( identifier_list ) // - case 232: { action. consumeDeclaratorWithPointer(true); break; + case 231: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; } // - // Rule 233: identifier_list ::= identifier + // Rule 233: knr_function_declarator ::= pointer_seq knr_direct_declarator // - case 233: { action. consumeIdentifierKnR(); break; + case 233: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 234: identifier_list ::= identifier_list , identifier + // Rule 234: identifier_list ::= identifier // case 234: { action. consumeIdentifierKnR(); break; } // - // Rule 235: array_modifier ::= [ ] + // Rule 235: identifier_list ::= identifier_list , identifier // - case 235: { action. consumeDirectDeclaratorArrayModifier(false); break; + case 235: { action. consumeIdentifierKnR(); break; } // - // Rule 236: array_modifier ::= [ array_modifier_type_qualifiers ] + // Rule 236: array_modifier ::= [ ] // - case 236: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break; + case 236: { action. consumeDirectDeclaratorArrayModifier(false); break; } // - // Rule 237: array_modifier ::= [ assignment_expression ] + // Rule 237: array_modifier ::= [ array_modifier_type_qualifiers ] // - case 237: { action. consumeDirectDeclaratorArrayModifier(true); break; + case 237: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break; } // - // Rule 238: array_modifier ::= [ array_modifier_type_qualifiers assignment_expression ] + // Rule 238: array_modifier ::= [ assignment_expression ] // - case 238: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break; + case 238: { action. consumeDirectDeclaratorArrayModifier(true); break; } // - // Rule 239: array_modifier ::= [ static assignment_expression ] + // Rule 239: array_modifier ::= [ array_modifier_type_qualifiers assignment_expression ] // - case 239: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break; + case 239: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break; } // - // Rule 240: array_modifier ::= [ static array_modifier_type_qualifiers assignment_expression ] + // Rule 240: array_modifier ::= [ static assignment_expression ] // - case 240: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; + case 240: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break; } // - // Rule 241: array_modifier ::= [ array_modifier_type_qualifiers static assignment_expression ] + // Rule 241: array_modifier ::= [ static array_modifier_type_qualifiers assignment_expression ] // case 241: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; } // - // Rule 242: array_modifier ::= [ * ] + // Rule 242: array_modifier ::= [ array_modifier_type_qualifiers static assignment_expression ] // - case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break; + case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; } // - // Rule 243: array_modifier ::= [ array_modifier_type_qualifiers * ] + // Rule 243: array_modifier ::= [ * ] // - case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break; + case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break; } // - // Rule 245: pointer_seq ::= * + // Rule 244: array_modifier ::= [ array_modifier_type_qualifiers * ] // - case 245: { action. consumePointer(); break; + case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break; } // - // Rule 246: pointer_seq ::= pointer_seq * + // Rule 246: pointer_seq ::= * // case 246: { action. consumePointer(); break; } // - // Rule 247: pointer_seq ::= * type_qualifier_list + // Rule 247: pointer_seq ::= pointer_seq * // - case 247: { action. consumePointerTypeQualifierList(); break; + case 247: { action. consumePointer(); break; } // - // Rule 248: pointer_seq ::= pointer_seq * type_qualifier_list + // Rule 248: pointer_seq ::= * type_qualifier_list // case 248: { action. consumePointerTypeQualifierList(); break; } // - // Rule 251: parameter_type_list ::= parameter_list + // Rule 249: pointer_seq ::= pointer_seq * type_qualifier_list // - case 251: { action. consumeEmpty(); break; + case 249: { action. consumePointerTypeQualifierList(); break; } // - // Rule 252: parameter_type_list ::= parameter_list , ... + // Rule 252: parameter_type_list ::= parameter_list // - case 252: { action. consumePlaceHolder(); break; + case 252: { action. consumeEmpty(); break; } // - // Rule 253: parameter_type_list ::= ... + // Rule 253: parameter_type_list ::= parameter_list , ... // case 253: { action. consumePlaceHolder(); break; } // - // Rule 256: parameter_declaration ::= declaration_specifiers complete_parameter_declarator + // Rule 254: parameter_type_list ::= ... // - case 256: { action. consumeParameterDeclaration(); break; + case 254: { action. consumePlaceHolder(); break; } // - // Rule 257: parameter_declaration ::= declaration_specifiers + // Rule 257: parameter_declaration ::= declaration_specifiers complete_parameter_declarator // - case 257: { action. consumeParameterDeclarationWithoutDeclarator(); break; + case 257: { action. consumeParameterDeclaration(); break; } // - // Rule 260: type_name ::= specifier_qualifier_list + // Rule 258: parameter_declaration ::= declaration_specifiers // - case 260: { action. consumeTypeId(false); break; + case 258: { action. consumeParameterDeclarationWithoutDeclarator(); break; } // - // Rule 261: type_name ::= specifier_qualifier_list abstract_declarator + // Rule 261: type_name ::= specifier_qualifier_list // - case 261: { action. consumeTypeId(true); break; + case 261: { action. consumeTypeId(false); break; } // - // Rule 263: abstract_declarator ::= pointer_seq + // Rule 262: type_name ::= specifier_qualifier_list abstract_declarator // - case 263: { action. consumeDeclaratorWithPointer(false); break; + case 262: { action. consumeTypeId(true); break; } // - // Rule 264: abstract_declarator ::= pointer_seq direct_abstract_declarator + // Rule 264: abstract_declarator ::= pointer_seq // case 264: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 268: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 265: abstract_declarator ::= pointer_seq direct_abstract_declarator // - case 268: { action. consumeDirectDeclaratorBracketed(); break; + case 265: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 269: array_direct_abstract_declarator ::= array_modifier + // Rule 269: basic_direct_abstract_declarator ::= ( abstract_declarator ) // - case 269: { action. consumeDirectDeclaratorArrayDeclarator(false); break; + case 269: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 270: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier + // Rule 270: array_direct_abstract_declarator ::= array_modifier // - case 270: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 270: { action. consumeDirectDeclaratorArrayDeclarator(false); break; } // - // Rule 271: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier + // Rule 271: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier // case 271: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 272: function_direct_abstract_declarator ::= ( ) + // Rule 272: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier // - case 272: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break; + case 272: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + } + + // + // Rule 273: function_direct_abstract_declarator ::= ( ) + // + case 273: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break; } // - // Rule 273: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( ) + // Rule 274: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( ) // - case 273: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; + case 274: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; } // - // Rule 274: function_direct_abstract_declarator ::= ( parameter_type_list ) + // Rule 275: function_direct_abstract_declarator ::= ( parameter_type_list ) // - case 274: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break; + case 275: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break; } // - // Rule 275: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( parameter_type_list ) + // Rule 276: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( parameter_type_list ) // - case 275: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; + case 276: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; } // - // Rule 276: initializer ::= assignment_expression + // Rule 277: initializer ::= assignment_expression // - case 276: { action. consumeInitializer(); break; + case 277: { action. consumeInitializer(); break; } // - // Rule 277: initializer ::= { initializer_list comma_opt } + // Rule 278: initializer ::= { initializer_list comma_opt } // - case 277: { action. consumeInitializerList(); break; + case 278: { action. consumeInitializerList(); break; } // - // Rule 282: designated_initializer ::= designation = initializer + // Rule 283: designated_initializer ::= designation = initializer // - case 282: { action. consumeInitializerDesignated(); break; + case 283: { action. consumeInitializerDesignated(); break; } // - // Rule 286: designator_base ::= [ constant_expression ] + // Rule 287: designator_base ::= [ constant_expression ] // - case 286: { action. consumeDesignatorArray(); break; + case 287: { action. consumeDesignatorArray(); break; } // - // Rule 287: designator_base ::= . identifier_or_typedefname + // Rule 288: designator_base ::= . identifier_or_typedefname // - case 287: { action. consumeDesignatorField(); break; + case 288: { action. consumeDesignatorField(); break; } // - // Rule 288: designator ::= [ constant_expression ] + // Rule 289: designator ::= [ constant_expression ] // - case 288: { action. consumeDesignatorArray(); break; + case 289: { action. consumeDesignatorArray(); break; } // - // Rule 289: designator ::= . identifier_or_typedefname + // Rule 290: designator ::= . identifier_or_typedefname // - case 289: { action. consumeDesignatorField(); break; + case 290: { action. consumeDesignatorField(); break; } // - // Rule 290: translation_unit ::= external_declaration_list - // - case 290: { action. consumeTranslationUnit(); break; - } - - // - // Rule 291: translation_unit ::= $Empty + // Rule 291: translation_unit ::= external_declaration_list // case 291: { action. consumeTranslationUnit(); break; + } + + // + // Rule 292: translation_unit ::= $Empty + // + case 292: { action. consumeTranslationUnit(); break; } // - // Rule 296: external_declaration ::= ; + // Rule 297: external_declaration ::= ; // - case 296: { action. consumeDeclarationEmpty(); break; + case 297: { action. consumeDeclarationEmpty(); break; } // - // Rule 297: external_declaration ::= ERROR_TOKEN + // Rule 298: external_declaration ::= ERROR_TOKEN // - case 297: { action. consumeDeclarationProblem(); break; + case 298: { action. consumeDeclarationProblem(); break; } // - // Rule 300: function_definition ::= declaration_specifiers function_declarator function_body + // Rule 301: function_definition ::= declaration_specifiers function_declarator function_body // - case 300: { action. consumeFunctionDefinition(true); break; + case 301: { action. consumeFunctionDefinition(true); break; } // - // Rule 301: function_definition ::= function_declarator function_body + // Rule 302: function_definition ::= function_declarator function_body // - case 301: { action. consumeFunctionDefinition(false); break; + case 302: { action. consumeFunctionDefinition(false); break; } // - // Rule 302: function_definition ::= declaration_specifiers knr_function_declarator declaration_list compound_statement + // Rule 303: function_definition ::= declaration_specifiers knr_function_declarator declaration_list compound_statement // - case 302: { action. consumeFunctionDefinitionKnR(); break; + case 303: { action. consumeFunctionDefinitionKnR(); break; } // - // Rule 303: function_body ::= { } + // Rule 304: function_body ::= { } // - case 303: { action. consumeStatementCompoundStatement(false); break; + case 304: { action. consumeStatementCompoundStatement(false); break; } // - // Rule 304: function_body ::= { block_item_list } + // Rule 305: function_body ::= { block_item_list } // - case 304: { action. consumeStatementCompoundStatement(true); break; + case 305: { action. consumeStatementCompoundStatement(true); break; } // - // Rule 306: no_sizeof_type_name_start ::= ERROR_TOKEN + // Rule 307: no_sizeof_type_name_start ::= ERROR_TOKEN // - case 306: { action. consumeExpressionProblem(); break; + case 307: { action. consumeExpressionProblem(); break; } diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParserprs.java index 93cdeb5af3d..eda74da1cd7 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParserprs.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParserprs.java @@ -53,156 +53,156 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 5,5,6,6,2,2,2,1,0,1, - 2,4,2,1,1,3,1,1,2,3, - 6,7,1,0,1,3,1,3,1,1, - 1,1,1,1,3,1,1,1,1,1, - 3,1,2,2,1,5,3,1,3,5, - 1,3,1,3,2,4,3,5,4,6, - 6,3,5,1,1,2,3,4,1,2, - 1,3,1,1,3,2,1,1,1,1, - 2,1,2,3,1,1,1,3,1,2, - 2,2,3,4,5,1,5,1,1,3, - 3,4,1,1,2,3,2,3,2,1, - 0,1,2,1,1,1,1,1,2,4, - 3,6,2,4,1,1,-36,0,0,0, - 0,0,0,0,0,-2,0,0,0,0, - 0,0,0,0,0,0,0,0,-5,0, - 0,0,0,0,0,0,0,0,-121,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-177, - 0,-12,0,0,0,0,0,0,0,0, - 0,-13,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-127,-4,-14,-140,-169, - -104,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-16,0,-170, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-165, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-29, - -30,-33,-34,-3,0,0,0,0,0,0, + 2,4,2,1,1,1,3,1,1,2, + 3,6,7,1,0,1,3,1,3,1, + 1,1,1,1,1,3,1,1,1,1, + 1,3,1,2,2,1,5,3,1,3, + 5,1,3,1,3,2,4,3,5,4, + 6,6,3,5,1,1,2,3,4,1, + 2,1,3,1,1,3,2,1,1,1, + 1,2,1,2,3,1,1,1,3,1, + 2,2,2,3,4,5,1,5,1,1, + 3,3,4,1,1,2,3,2,3,2, + 1,0,1,2,1,1,1,1,1,2, + 4,3,6,2,4,1,1,-36,0,0, + 0,0,0,0,0,0,-2,0,0,0, + 0,0,0,0,0,0,0,0,0,-5, + 0,0,0,0,0,0,0,0,0,-121, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-17,0,-49,0,0,0,0,0,0, - 0,0,-18,0,0,0,-72,0,0,0, + -177,0,-12,0,0,0,0,0,0,0, + 0,0,-13,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-127,-4,-14,-140, + -169,-104,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-16,0, + -170,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-71,0,0,0, - -19,-20,-21,-22,0,-107,0,0,0,0, + -165,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-126,0,0,0,0, - 0,0,0,0,-23,0,0,0,0,0, - 0,0,0,0,0,0,-24,-25,0,-185, - 0,0,0,0,0,0,0,0,-26,0, - 0,0,0,0,0,0,0,0,0,-27, - 0,0,0,0,0,0,0,0,-85,0, - 0,0,0,0,0,0,0,0,0,-86, - -87,-139,-88,-56,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-57,0,0,0,0,0,0, - 0,0,-89,0,0,0,0,0,0,0, - 0,0,0,-58,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-59,0,0,0,0,0,0, - 0,0,-90,0,0,0,0,0,0,0, - 0,0,0,-60,0,0,0,0,0,0, - 0,0,-91,0,0,0,0,0,0,0, - 0,0,0,-61,0,0,0,0,0,0, - 0,0,-92,0,0,0,0,0,0,0, - 0,0,0,-62,0,0,0,0,0,0, - 0,0,-93,0,0,0,0,0,0,0, - 0,0,0,-63,0,0,0,0,0,0, - 0,0,-94,0,0,0,0,0,0,0, - 0,0,0,-64,0,0,0,0,0,0, - 0,0,-191,0,0,0,0,0,0,0, - 0,0,0,-65,0,0,0,0,0,0, - 0,0,-95,0,0,0,0,0,0,0, - 0,0,0,-66,0,0,0,0,0,0, - 0,0,-130,0,0,0,0,0,0,0, - 0,0,0,-46,0,0,0,0,0,0, - 0,0,0,0,-96,-97,-98,-99,-79,0, - 0,0,0,0,-144,0,0,0,0,0, - 0,0,0,-100,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-101,-102,-103, - -151,-114,-80,0,0,0,0,-6,0,0, - 0,0,0,0,0,0,0,0,0,0, - -145,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -168,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-182, - 0,0,0,0,0,0,0,0,-116,0, - 0,0,0,0,0,0,0,0,-37,0, - 0,0,0,0,0,0,0,-47,0,0, - 0,0,0,0,0,0,-188,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-192,0,0,0,0, - 0,0,0,0,-82,0,0,0,0,0, - 0,0,0,0,-38,0,0,0,0,0, - 0,0,0,-7,0,0,0,0,0,0, - -119,0,-202,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-120,0,0,0,0,0,0,0,0, - -131,0,0,0,0,0,0,0,0,0, - -129,-8,0,0,0,0,0,0,0,0, - -51,0,0,0,0,0,0,0,0,-155, - 0,0,0,0,0,0,-161,-162,-123,-69, - -142,-148,-74,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-203,0,0,0, - 0,0,0,0,-113,-67,0,0,-166,-193, - 0,-204,-106,0,0,0,0,0,0,0, + -29,-30,-33,-34,-3,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-54,0,0,0,0,0,0,0, - 0,-160,0,0,0,0,0,0,0,-55, + 0,0,-17,0,-49,0,0,0,0,0, + 0,0,0,-18,0,0,0,-72,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-52,0,0,0,0, - 0,0,0,0,-84,0,0,0,0,-76, - -179,-9,0,0,0,0,0,0,-115,0, - 0,-143,0,0,0,0,-167,0,-68,0, - 0,-171,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-71,0,0, + 0,-19,-20,-21,-22,0,-107,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-184,0,0,0,0,-75, - 0,0,-77,0,-111,0,0,0,0,-48, - 0,0,0,0,0,0,0,0,-201,0, - 0,0,0,0,0,-152,0,0,0,0, - 0,0,0,0,0,0,-50,0,0,0, + 0,0,0,0,0,0,-126,0,0,0, + 0,0,0,0,0,-23,0,0,0,0, + 0,0,0,0,0,0,0,-24,-25,0, + -185,0,0,0,0,0,0,0,0,-26, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-10,0, - 0,0,0,0,0,0,-42,0,0,0, - 0,0,0,0,0,0,0,-43,0,0, - 0,0,0,0,0,0,-117,0,-11,0, - 0,0,0,0,0,0,0,0,-44,0, - 0,0,0,0,0,0,0,-108,0,-45, - 0,0,0,0,0,0,0,0,-194,0, - -73,-187,-156,-109,-118,-35,-124,0,0,0, - 0,0,0,0,0,-110,0,0,0,0, + -27,0,0,0,0,0,0,0,0,-85, + 0,0,0,0,0,0,0,0,0,0, + -86,-87,-139,-88,-56,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-57,0,0,0,0,0, + 0,0,0,-89,0,0,0,0,0,0, + 0,0,0,0,-58,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-59,0,0,0,0,0, + 0,0,0,-90,0,0,0,0,0,0, + 0,0,0,0,-60,0,0,0,0,0, + 0,0,0,-91,0,0,0,0,0,0, + 0,0,0,0,-61,0,0,0,0,0, + 0,0,0,-92,0,0,0,0,0,0, + 0,0,0,0,-62,0,0,0,0,0, + 0,0,0,-93,0,0,0,0,0,0, + 0,0,0,0,-63,0,0,0,0,0, + 0,0,0,-94,0,0,0,0,0,0, + 0,0,0,0,-64,0,0,0,0,0, + 0,0,0,-191,0,0,0,0,0,0, + 0,0,0,0,-65,0,0,0,0,0, + 0,0,0,-95,0,0,0,0,0,0, + 0,0,0,0,-66,0,0,0,0,0, + 0,0,0,-130,0,0,0,0,0,0, + 0,0,0,0,-46,0,0,0,0,0, + 0,0,0,0,0,-96,-97,-98,-99,-79, + 0,0,0,0,0,-144,0,0,0,0, + 0,0,0,0,-100,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-101,-102, + -103,-151,-114,-80,0,0,0,0,-6,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-145,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-168,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -182,0,0,0,0,0,0,0,0,-116, + 0,0,0,0,0,0,0,0,0,-37, + 0,0,0,0,0,0,0,0,-47,0, + 0,0,0,0,0,0,0,-188,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-192,0,0,0, + 0,0,0,0,0,-82,0,0,0,0, + 0,0,0,0,0,-38,0,0,0,0, + 0,0,0,0,-7,0,0,0,0,0, + 0,-119,0,-202,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-120,0,0,0,0,0,0,0, + 0,-131,0,0,0,0,0,0,0,0, + 0,-129,-8,0,0,0,0,0,0,0, + 0,-51,0,0,0,0,0,0,0,0, + -155,0,0,0,0,0,0,-161,-162,-123, + -69,-142,-148,-74,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-203,0,0, + 0,0,0,0,0,-113,-67,0,0,-166, + -193,0,-204,-106,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-54,0,0,0,0,0,0, + 0,0,-160,0,0,0,0,0,0,0, + -55,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-52,0,0,0, + 0,0,0,0,0,-84,0,0,0,0, + -76,-179,-9,0,0,0,0,0,0,-115, + 0,0,-143,0,0,0,0,-167,0,-68, + 0,0,-171,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-184,0,0,0,0, + -75,0,0,-77,0,-111,0,0,0,0, + -48,0,0,0,0,0,0,0,0,-201, + 0,0,0,0,0,0,-152,0,0,0, + 0,0,0,0,0,0,0,-50,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-10, + 0,0,0,0,0,0,0,-42,0,0, + 0,0,0,0,0,0,0,0,-43,0, + 0,0,0,0,0,0,0,-117,0,-11, + 0,0,0,0,0,0,0,0,0,-44, + 0,0,0,0,0,0,0,0,-108,0, + -45,0,0,0,0,0,0,0,0,-194, + 0,-73,-187,-156,-109,-118,-35,-124,0,0, + 0,0,0,0,0,0,-110,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -147,0,0,0,0,0,0,-15,-28,-31, - 0,0,-122,-78,0,0,0,0,0,0, - 0,0,-125,0,-39,0,0,0,0,0, - 0,0,0,0,0,0,0,-133,0,0, + 0,-147,0,0,0,0,0,0,-15,-28, + -31,0,0,-122,-78,0,0,0,0,0, + 0,0,0,-125,0,-39,0,0,0,0, + 0,0,0,0,0,0,0,0,-133,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-40,0,0,0,0,0, - 0,-41,0,0,0,0,0,0,-70,0, - 0,0,0,0,0,-81,0,0,-112,-83, - 0,-135,0,-195,0,-138,0,0,-134,-176, - 0,-128,-136,0,0,0,0,0,0,0, + 0,0,0,0,0,-40,0,0,0,0, + 0,0,-41,0,0,0,0,0,0,-70, + 0,0,0,0,0,0,-81,0,0,-112, + -83,0,-135,0,-195,0,-138,0,0,-134, + -176,0,-128,-136,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-154,0,0,-158,0,0, - 0,0,-141,0,0,-149,0,0,0,-137, - -175,0,0,-190,-105,0,0,0,0,0, - 0,0,0,0,0,-146,0,0,0,0, - 0,-1,0,0,0,-32,0,0,-132,0, - 0,-150,0,-153,0,0,-163,0,0,0, - 0,-189,0,0,-183,0,0,0,0,0, - 0,-172,0,0,-174,0,0,0,-157,0, - 0,0,0,0,0,0,0,0,-53,-159, - 0,0,-164,-173,0,-199,0,0,0,0, - 0,-178,0,-200,-180,0,-181,0,-186,0, - 0,-197,0,-196,-198,0,0,0,0,0, + 0,0,0,0,0,-154,0,0,-158,0, + 0,0,0,-141,0,0,-149,0,0,0, + -137,-175,0,0,-190,-105,0,0,0,0, + 0,0,0,0,0,0,-146,0,0,0, + 0,0,-1,0,0,0,-32,0,0,-132, + 0,0,-150,0,-153,0,0,-163,0,0, + 0,0,-189,0,0,-183,0,0,0,0, + 0,0,-172,0,0,-174,0,0,0,-157, + 0,0,0,0,0,0,0,0,0,-53, + -159,0,0,-164,-173,0,-199,0,0,0, + 0,0,-178,0,-200,-180,0,-181,0,-186, + 0,0,-197,0,-196,-198,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0 + 0,0,0 }; }; public final static short baseCheck[] = BaseCheck.baseCheck; @@ -231,157 +231,157 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 31,31,31,31,52,54,54,54,54,54, 54,54,54,54,54,54,54,64,64,27, 27,61,61,61,61,62,62,62,55,55, - 56,56,48,48,32,85,85,78,79,79, - 79,63,63,80,80,81,81,65,65,20, - 21,21,21,30,47,47,33,33,33,33, - 36,36,38,34,34,35,39,39,108,108, - 37,109,109,86,86,25,25,25,25,25, - 25,25,25,25,82,49,49,49,49,58, - 58,57,57,57,59,59,50,50,87,87, - 69,69,60,60,60,41,41,41,42,43, - 43,43,44,44,44,44,53,53,70,70, - 70,70,66,88,89,89,90,90,91,91, - 110,110,111,111,112,112,112,112,114,114, - 113,113,113,115,115,83,83,1,14,19, - 15,388,579,43,482,408,194,521,493,523, - 522,555,524,568,567,73,90,133,209,362, - 14,19,15,388,40,135,132,134,158,292, - 14,19,15,388,579,43,482,408,389,521, - 493,523,522,555,524,568,567,73,276,137, - 480,164,362,14,19,15,388,33,141,144, - 147,150,362,14,19,15,388,32,387,1210, - 1263,1444,1506,1510,1205,269,556,407,52,290, - 490,24,278,215,1556,217,1592,219,220,225, - 339,264,1260,1103,267,279,250,209,69,612, - 292,14,19,15,388,579,43,482,408,389, - 521,493,523,522,555,524,568,567,73,276, - 195,14,19,15,388,579,43,482,408,389, - 521,493,523,522,555,524,568,567,73,276, - 98,98,578,578,340,14,19,15,388,579, - 43,482,408,278,521,493,523,522,555,524, - 568,567,73,90,1499,16,279,1129,390,284, - 1602,285,251,280,340,14,19,15,388,41, - 43,482,408,30,521,845,281,145,14,19, - 15,388,579,43,482,408,1384,521,493,523, - 522,555,524,568,567,73,1368,389,23,22, - 235,36,622,51,347,387,384,14,19,15, - 388,579,43,482,408,1387,521,493,523,522, - 555,524,568,567,73,1453,170,14,19,15, - 388,579,43,482,408,10,521,493,523,522, - 555,524,568,567,73,1576,1565,101,6,236, - 316,14,19,15,388,579,43,482,408,390, - 521,493,523,522,555,524,568,567,73,276, - 340,14,19,15,388,579,43,482,408,406, - 521,493,523,522,555,524,568,567,73,91, - 416,273,640,321,340,14,19,15,388,579, - 43,482,408,282,521,493,523,522,555,524, - 568,567,73,84,340,14,19,15,388,579, - 43,482,408,566,521,493,523,522,555,524, - 568,567,73,83,340,14,19,15,388,579, - 43,482,408,1633,521,493,523,522,555,524, - 568,567,73,82,340,14,19,15,388,579, - 43,482,408,570,521,493,523,522,555,524, - 568,567,73,81,340,14,19,15,388,579, - 43,482,408,581,521,493,523,522,555,524, - 568,567,73,80,340,14,19,15,388,579, - 43,482,408,584,521,493,523,522,555,524, - 568,567,73,79,340,14,19,15,388,579, - 43,482,408,217,521,493,523,522,555,524, - 568,567,73,78,340,14,19,15,388,579, - 43,482,408,582,521,493,523,522,555,524, - 568,567,73,77,340,14,19,15,388,579, - 43,482,408,574,521,493,523,522,555,524, - 568,567,73,76,340,14,19,15,388,579, - 43,482,408,117,521,493,523,522,555,524, - 568,567,73,75,340,14,19,15,388,579, - 43,482,408,49,521,493,523,522,555,524, - 568,567,73,74,340,14,19,15,388,41, - 43,482,743,133,209,62,78,587,624,345, - 192,135,132,134,158,340,14,19,15,388, - 579,43,482,408,314,521,493,523,522,555, - 524,568,567,73,1612,137,882,164,420,393, - 500,389,609,521,141,144,147,150,340,14, - 19,15,388,41,39,1210,1263,1444,1506,1510, - 1205,340,14,19,15,388,579,43,482,408, - 949,521,493,523,522,555,524,568,567,73, - 1634,340,14,19,15,388,41,43,482,408, - 360,521,493,523,522,555,524,568,567,92, - 340,14,19,15,388,41,43,482,408,635, - 521,493,523,522,555,524,568,567,92,340, - 14,19,15,388,41,43,611,1649,340,14, - 19,15,388,41,43,482,763,340,14,19, - 15,388,41,43,482,408,208,521,493,523, - 522,555,524,568,567,92,340,14,19,15, - 388,41,43,482,408,545,521,493,523,522, - 555,524,568,567,92,340,14,19,15,388, - 41,43,613,1652,340,14,19,15,388,41, - 38,637,1031,340,14,19,15,388,41,43, - 482,408,199,521,493,523,522,555,524,568, - 567,92,340,14,19,15,388,41,43,482, - 408,638,521,493,523,522,555,524,568,567, - 72,448,340,14,19,15,388,41,37,200, - 881,340,14,19,15,388,41,43,482,408, - 606,521,493,523,522,847,269,588,646,547, - 580,547,511,193,214,1556,217,1592,219,220, - 225,1561,262,1260,1103,267,182,31,258,249, - 209,249,209,20,272,591,578,269,270,594, - 645,259,63,120,1589,214,1556,217,1592,219, - 220,225,1099,262,1260,1103,267,273,880,1615, - 215,1556,217,1592,219,220,225,1222,256,1232, - 1696,1696,1265,340,14,19,15,388,41,43, - 482,408,643,521,493,523,522,555,524,878, - 340,14,19,15,388,41,43,482,408,1696, - 521,493,523,522,555,879,340,14,19,15, - 388,41,43,482,408,49,521,493,523,848, - 97,243,340,14,19,15,388,41,36,24, - 1514,1696,565,1647,1696,133,209,627,1519,578, - 133,209,569,136,132,134,158,1696,140,132, - 134,158,250,209,214,1556,217,1592,219,220, - 225,21,250,209,287,643,1696,138,1130,164, - 427,1696,139,447,164,578,142,145,148,151, - 340,14,19,15,388,41,43,482,408,243, - 521,493,803,133,209,271,642,268,1514,195, - 197,143,132,134,158,823,783,340,14,19, - 15,388,41,43,482,408,1654,521,846,1696, - 1071,1696,214,1556,217,1592,219,220,225,340, - 14,19,15,388,41,35,1130,340,14,19, - 15,388,41,43,482,408,255,643,340,14, - 19,15,388,41,43,482,408,24,683,340, - 14,19,15,388,41,34,1523,196,197,340, - 14,19,15,388,41,43,482,408,580,703, - 340,14,19,15,388,41,43,482,408,151, - 723,532,627,618,547,24,533,547,1514,1696, - 1509,237,1211,1696,1560,517,221,14,19,15, - 388,41,35,272,249,209,269,249,209,289, - 1696,269,214,1556,217,1592,219,220,225,242, - 1696,1696,262,1260,1103,267,1615,262,1260,1103, - 267,221,14,19,15,388,41,35,24,24, - 514,1265,386,552,470,386,261,307,307,454, - 193,1696,1101,580,243,340,14,19,15,388, - 41,46,194,194,133,209,546,1696,24,855, - 1386,1386,146,132,134,158,239,1545,86,86, - 88,1696,1696,453,453,340,14,19,15,388, - 41,45,340,14,19,15,388,41,44,268, - 14,19,15,388,41,42,479,452,1126,586, - 502,1696,24,1696,389,1696,24,1696,823,590, - 591,1548,578,590,1229,1597,133,209,823,1564, - 133,209,823,1071,149,132,134,158,152,132, - 134,158,227,194,274,590,1696,194,590,1696, - 1696,1383,1696,24,823,1383,417,823,1565,254, - 599,586,410,1117,219,548,1522,190,1061,194, - 823,190,194,823,1090,1619,580,1383,1630,1619, - 1383,224,246,1696,1696,1071,24,1097,1071,458, - 269,454,608,190,578,454,190,599,823,238, - 1642,1619,640,1645,1619,627,264,1260,1103,267, - 360,254,580,1071,254,578,275,223,1522,621, - 1061,1636,86,1061,1097,205,86,305,823,24, - 606,1100,1097,606,580,240,578,221,454,254, - 1172,1098,606,194,488,606,1594,606,1061,580, - 1644,1383,580,1655,606,606,181,241,226,26, - 1696,1696,205,1696,1696,316,230,191,184,86, - 206,183,286,201,864,288,1696,1255,1098,1696, - 202,277,1696,0,17,178,0,18,177,0, - 1,1918,0,1,1929,0 + 56,56,48,48,48,32,85,85,78,79, + 79,79,63,63,80,80,81,81,65,65, + 20,21,21,21,30,47,47,33,33,33, + 33,36,36,38,34,34,35,39,39,108, + 108,37,109,109,86,86,25,25,25,25, + 25,25,25,25,25,82,49,49,49,49, + 58,58,57,57,57,59,59,50,50,87, + 87,69,69,60,60,60,41,41,41,42, + 43,43,43,44,44,44,44,53,53,70, + 70,70,70,66,88,89,89,90,90,91, + 91,110,110,111,111,112,112,112,112,114, + 114,113,113,113,115,115,83,83,1,14, + 19,15,389,580,43,483,409,42,522,494, + 524,523,556,525,569,568,73,90,133,210, + 644,14,19,15,389,40,135,132,134,158, + 558,14,19,15,389,580,43,483,409,390, + 522,494,524,523,556,525,569,568,73,277, + 137,345,164,644,14,19,15,389,33,141, + 144,147,150,644,14,19,15,389,32,388, + 1211,1264,1445,1507,1511,1206,270,331,118,803, + 649,678,29,279,216,1557,218,1593,220,221, + 226,340,265,1261,1104,268,280,251,210,433, + 613,558,14,19,15,389,580,43,483,409, + 390,522,494,524,523,556,525,569,568,73, + 277,436,14,19,15,389,580,43,483,409, + 390,522,494,524,523,556,525,569,568,73, + 277,471,471,504,504,616,14,19,15,389, + 580,43,483,409,279,522,494,524,523,556, + 525,569,568,73,90,1500,16,280,1130,391, + 285,1603,286,67,281,616,14,19,15,389, + 41,43,483,409,57,522,846,282,368,14, + 19,15,389,580,43,483,409,1385,522,494, + 524,523,556,525,569,568,73,1369,135,23, + 22,236,350,261,11,6,388,672,14,19, + 15,389,580,43,483,409,1388,522,494,524, + 523,556,525,569,568,73,1454,402,14,19, + 15,389,580,43,483,409,91,522,494,524, + 523,556,525,569,568,73,1577,1566,332,87, + 237,587,14,19,15,389,580,43,483,409, + 677,522,494,524,523,556,525,569,568,73, + 277,616,14,19,15,389,580,43,483,409, + 700,522,494,524,523,556,525,569,568,73, + 91,718,164,746,381,616,14,19,15,389, + 580,43,483,409,283,522,494,524,523,556, + 525,569,568,73,84,616,14,19,15,389, + 580,43,483,409,382,522,494,524,523,556, + 525,569,568,73,83,616,14,19,15,389, + 580,43,483,409,1634,522,494,524,523,556, + 525,569,568,73,82,616,14,19,15,389, + 580,43,483,409,446,522,494,524,523,556, + 525,569,568,73,81,616,14,19,15,389, + 580,43,483,409,515,522,494,524,523,556, + 525,569,568,73,80,616,14,19,15,389, + 580,43,483,409,544,522,494,524,523,556, + 525,569,568,73,79,616,14,19,15,389, + 580,43,483,409,496,522,494,524,523,556, + 525,569,568,73,78,616,14,19,15,389, + 580,43,483,409,527,522,494,524,523,556, + 525,569,568,73,77,616,14,19,15,389, + 580,43,483,409,811,522,494,524,523,556, + 525,569,568,73,76,616,14,19,15,389, + 580,43,483,409,452,522,494,524,523,556, + 525,569,568,73,75,616,14,19,15,389, + 580,43,483,409,286,522,494,524,523,556, + 525,569,568,73,74,616,14,19,15,389, + 41,43,483,744,133,210,153,202,288,265, + 116,192,135,132,134,158,616,14,19,15, + 389,580,43,483,409,622,522,494,524,523, + 556,525,569,568,73,1613,137,883,164,596, + 625,603,135,626,166,141,144,147,150,616, + 14,19,15,389,41,39,1211,1264,1445,1507, + 1511,1206,616,14,19,15,389,580,43,483, + 409,950,522,494,524,523,556,525,569,568, + 73,1635,616,14,19,15,389,41,43,483, + 409,361,522,494,524,523,556,525,569,568, + 92,616,14,19,15,389,41,43,483,409, + 651,522,494,524,523,556,525,569,568,92, + 616,14,19,15,389,41,43,612,1650,616, + 14,19,15,389,41,43,483,764,616,14, + 19,15,389,41,43,483,409,209,522,494, + 524,523,556,525,569,568,92,616,14,19, + 15,389,41,43,483,409,212,522,494,524, + 523,556,525,569,568,92,616,14,19,15, + 389,41,43,614,1653,616,14,19,15,389, + 41,38,658,1032,616,14,19,15,389,41, + 43,483,409,200,522,494,524,523,556,525, + 569,568,92,616,14,19,15,389,41,43, + 483,409,497,522,494,524,523,556,525,569, + 568,72,304,616,14,19,15,389,41,37, + 201,882,616,14,19,15,389,41,43,483, + 409,812,522,494,524,523,848,270,231,780, + 256,652,256,64,432,215,1557,218,1593,220, + 221,226,1562,263,1261,1104,268,182,309,259, + 250,210,250,210,20,273,680,504,270,271, + 475,653,260,353,242,1590,215,1557,218,1593, + 220,221,226,1100,263,1261,1104,268,274,881, + 1616,216,1557,218,1593,220,221,226,1223,257, + 1233,1697,1697,1266,616,14,19,15,389,41, + 43,483,409,779,522,494,524,523,556,525, + 879,616,14,19,15,389,41,43,483,409, + 1697,522,494,524,523,556,880,616,14,19, + 15,389,41,43,483,409,286,522,494,524, + 849,327,478,616,14,19,15,389,41,36, + 29,1515,1697,409,1648,1697,133,210,594,1520, + 504,133,210,443,136,132,134,158,1697,140, + 132,134,158,251,210,215,1557,218,1593,220, + 221,226,21,251,210,288,779,1697,138,1131, + 164,48,1697,139,757,164,504,142,145,148, + 151,616,14,19,15,389,41,43,483,409, + 478,522,494,804,133,210,272,711,269,1515, + 196,198,143,132,134,158,824,784,616,14, + 19,15,389,41,43,483,409,1655,522,847, + 1697,1072,1697,215,1557,218,1593,220,221,226, + 616,14,19,15,389,41,35,1131,616,14, + 19,15,389,41,43,483,409,256,644,616, + 14,19,15,389,41,43,483,409,29,684, + 616,14,19,15,389,41,34,1524,197,198, + 616,14,19,15,389,41,43,483,409,652, + 704,616,14,19,15,389,41,43,483,409, + 600,724,160,594,567,256,29,374,256,1515, + 1697,1510,238,1212,1697,1561,518,465,14,19, + 15,389,41,35,273,250,210,270,250,210, + 290,1697,270,215,1557,218,1593,220,221,226, + 243,1697,1697,263,1261,1104,268,1616,263,1261, + 1104,268,465,14,19,15,389,41,35,29, + 29,493,1266,387,290,769,387,262,308,308, + 455,193,1697,1102,652,244,616,14,19,15, + 389,41,46,195,195,133,210,547,1697,29, + 856,1387,1387,146,132,134,158,240,1546,86, + 86,88,1697,1697,454,454,616,14,19,15, + 389,41,45,616,14,19,15,389,41,44, + 529,14,19,15,389,41,42,781,453,1127, + 571,793,1697,29,1697,135,1697,29,1697,824, + 46,680,1549,504,94,1230,1598,133,210,824, + 1565,133,210,824,1072,149,132,134,158,152, + 132,134,158,228,195,275,142,1697,195,238, + 1697,1697,1384,1697,29,824,1384,650,824,1566, + 255,565,571,411,1118,573,408,1523,190,1062, + 195,824,190,195,824,1091,1620,652,1384,1631, + 1620,1384,225,499,1697,1697,1072,29,1098,1072, + 216,270,455,96,190,504,455,190,565,824, + 239,1643,1620,746,1646,1620,594,265,1261,1104, + 268,361,255,652,1072,255,504,276,224,1523, + 190,1062,1637,86,1062,1098,206,86,306,824, + 29,812,1101,1098,812,652,241,504,222,455, + 255,1173,1099,812,195,307,812,1595,812,1062, + 652,1645,1384,652,1656,812,812,181,242,227, + 26,1697,1697,206,1697,1697,317,231,191,184, + 86,207,183,287,202,865,289,1697,1256,1099, + 1697,203,278,1697,0,17,178,0,18,177, + 0,1,1920,0,1,1931,0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -391,80 +391,97 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface TermCheck { public final static byte termCheck[] = {0, - 0,1,2,3,4,0,6,7,8,0, - 10,11,12,13,14,15,16,17,18,19, - 20,21,22,0,24,25,26,27,28,0, - 0,1,2,3,0,0,36,37,38,39, - 40,41,42,43,44,45,46,47,0,1, - 0,0,4,2,6,7,8,57,58,59, - 9,0,0,1,13,14,31,32,0,64, - 22,62,24,25,26,27,28,0,10,11, - 51,52,53,54,36,37,38,39,40,41, - 42,43,44,45,46,47,0,0,1,48, - 0,4,6,7,8,57,58,59,0,0, - 60,61,51,52,53,54,0,66,22,0, - 24,25,26,27,28,6,7,8,51,52, - 53,54,36,37,38,39,40,41,42,43, - 44,45,46,47,0,1,2,3,4,5, - 0,1,2,0,10,11,12,13,14,15, - 16,17,18,19,20,21,22,67,68,0, - 1,2,3,4,5,0,60,61,34,10, - 11,12,13,14,15,16,17,18,19,20, - 21,22,0,0,0,1,2,3,4,5, - 0,9,0,34,10,11,12,13,14,15, - 16,17,18,19,20,21,0,23,0,1, - 0,1,2,3,4,5,10,11,0,35, - 10,11,12,13,14,15,16,17,18,19, - 20,21,0,1,2,0,1,2,3,4, - 0,33,0,3,34,10,11,12,13,14, - 15,16,17,18,19,20,21,0,1,2, - 3,4,0,80,0,3,0,10,11,12, - 13,14,15,16,17,18,19,20,21,0, - 23,0,1,2,3,4,0,55,9,49, - 50,10,11,12,13,14,15,16,17,18, - 19,20,21,0,23,0,1,2,3,4, - 0,49,50,3,79,10,11,12,13,14, - 15,16,17,18,19,20,21,48,23,0, - 1,2,3,4,0,1,0,0,4,10, - 11,12,13,14,15,16,17,18,19,20, - 21,0,1,2,3,4,0,23,55,49, - 50,10,11,12,13,14,15,16,17,18, - 19,20,21,0,1,2,3,4,0,0, - 0,3,0,10,11,12,13,14,15,16, - 17,18,19,20,21,0,0,2,3,63, - 5,6,7,8,9,0,0,2,3,0, - 5,6,7,8,9,9,0,22,2,24, - 25,26,27,28,29,9,30,22,0,24, - 25,26,27,28,29,56,0,0,1,2, - 3,0,6,7,8,63,9,0,69,70, - 71,72,73,74,75,76,77,78,22,0, - 24,25,26,27,28,6,7,8,0,0, - 1,2,3,64,6,7,8,0,9,0, - 33,22,5,24,25,26,27,28,9,0, - 22,0,24,25,26,27,28,6,7,8, - 0,1,2,0,0,5,29,30,5,9, - 0,1,23,22,4,24,25,26,27,28, - 0,0,0,2,2,3,5,48,0,29, - 9,9,29,23,0,1,0,0,4,2, - 3,0,6,7,8,0,9,6,7,8, - 29,6,7,8,0,0,0,23,0,0, - 6,7,8,0,6,7,8,0,5,0, - 0,0,5,0,5,0,0,0,3,0, - 0,10,11,0,5,5,31,32,0,1, - 31,32,4,30,0,0,29,0,0,2, - 5,31,32,34,31,32,9,0,33,29, - 0,0,5,0,35,5,0,1,0,1, - 4,23,4,12,0,12,0,0,65,0, - 35,0,0,56,0,0,0,0,62,56, - 0,0,0,0,0,35,0,23,0,23, - 0,0,0,0,0,0,0,30,0,30, - 0,0,30,0,33,30,0,0,0,0, - 0,0,65,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,55, + 0,1,2,3,4,0,6,7,8,9, + 0,11,12,13,14,15,16,17,18,19, + 20,21,22,23,24,25,26,27,0,29, + 30,31,32,33,34,35,36,37,38,39, + 40,0,42,43,44,0,1,0,3,2, + 5,6,7,8,9,0,0,10,13,14, + 15,16,17,0,1,2,0,0,5,64, + 4,61,62,10,29,30,31,32,33,34, + 35,36,37,38,39,40,0,42,43,44, + 0,46,47,0,1,0,3,2,5,6, + 7,8,9,0,41,10,13,14,15,16, + 17,55,56,57,58,0,1,0,3,53, + 54,80,29,30,31,32,33,34,35,36, + 37,38,39,40,0,42,43,44,4,46, + 47,0,1,28,3,0,5,6,7,8, + 9,65,0,63,13,14,15,16,17,0, + 0,2,45,0,5,0,1,4,3,10, + 29,30,31,32,33,34,35,36,37,38, + 39,40,0,42,43,44,0,46,47,0, + 1,0,3,28,5,6,7,8,9,0, + 41,0,13,14,15,16,17,55,56,57, + 58,0,1,0,3,0,53,54,29,30, + 31,32,33,34,35,36,37,38,39,40, + 0,42,43,44,0,46,47,0,1,28, + 3,0,5,6,7,8,9,6,7,8, + 13,14,15,16,17,0,55,56,57,58, + 0,6,7,8,0,50,29,30,31,32, + 33,34,35,36,37,38,39,40,18,42, + 43,44,18,46,47,0,1,0,3,0, + 60,6,7,8,9,6,7,8,13,14, + 15,16,17,0,1,2,0,4,0,1, + 2,5,4,10,29,30,31,32,33,34, + 35,36,37,38,39,40,0,42,43,44, + 0,0,6,7,8,9,6,7,8,13, + 14,15,16,17,0,1,2,41,4,0, + 63,45,0,1,10,29,30,31,32,33, + 34,35,36,37,38,39,40,0,1,2, + 3,4,5,0,0,2,9,4,11,12, + 0,0,0,10,4,18,19,20,21,22, + 23,24,25,26,27,0,0,48,49,68, + 69,0,1,2,3,4,5,0,0,2, + 9,4,11,12,6,7,8,10,51,18, + 19,20,21,22,23,24,25,26,27,48, + 49,0,0,53,54,0,1,2,3,4, + 5,10,0,11,12,0,11,12,6,7, + 8,0,51,18,19,20,21,22,23,24, + 25,26,27,28,0,1,2,3,4,5, + 0,1,0,3,0,11,12,0,1,2, + 0,46,18,19,20,21,22,23,24,25, + 26,27,0,48,49,0,0,5,0,1, + 2,3,4,0,0,0,11,12,5,11, + 12,0,61,62,0,51,18,19,20,21, + 22,23,24,25,26,27,0,0,0,1, + 2,3,4,41,60,0,59,11,12,11, + 12,45,0,0,41,47,18,19,20,21, + 22,23,24,25,26,27,28,0,1,2, + 3,4,48,49,0,1,0,3,11,12, + 0,5,0,1,4,18,19,20,21,22, + 23,24,25,26,27,28,0,1,2,3, + 4,48,49,0,1,0,3,11,12,0, + 1,2,0,0,18,19,20,21,22,23, + 24,25,26,27,28,0,1,2,3,4, + 50,0,50,0,0,0,11,12,0,1, + 28,3,66,18,19,20,21,22,23,24, + 25,26,27,0,1,2,3,4,0,0, + 0,0,0,28,11,12,5,0,10,10, + 65,18,19,20,21,22,23,24,25,26, + 27,0,1,2,3,4,0,0,28,0, + 59,0,11,12,5,28,0,10,64,18, + 19,20,21,22,23,24,25,26,27,0, + 52,2,51,4,5,6,7,8,9,10, + 0,59,13,14,15,16,17,0,0,2, + 41,4,5,6,7,8,9,10,0,52, + 13,14,15,16,17,0,60,0,0,0, + 41,0,0,0,0,0,70,71,72,73, + 74,75,76,77,78,79,0,0,41,0, + 50,0,6,7,8,9,0,0,0,13, + 14,15,16,17,6,7,8,9,0,0, + 0,13,14,15,16,17,6,7,8,9, + 45,0,0,13,14,15,16,17,6,7, + 8,9,0,0,2,13,14,15,16,17, + 0,0,10,0,0,5,5,0,0,0, + 0,19,20,45,45,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,52,45,0,46,0,0, + 0,0,0,0,0,0,0,0,0,67, + 0,0,0,0,0,0,66,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0 }; }; public final static byte termCheck[] = TermCheck.termCheck; @@ -472,76 +489,94 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface TermAction { public final static char termAction[] = {0, - 1696,599,1438,1319,610,69,1906,1907,1908,65, - 1212,1072,1349,372,362,329,1706,1707,1708,1709, - 1024,888,1857,1,1858,1856,1909,1859,1855,58, - 1696,1918,1379,1443,1696,53,1862,1867,1866,1864, - 1865,1863,1868,1869,1861,1870,1871,1872,1696,1874, - 61,31,1873,1440,1906,1907,1908,1005,883,849, - 1586,60,1696,1930,1720,1721,834,968,50,1180, - 1857,1196,1858,1856,1909,1859,1855,59,1015,959, - 1370,1359,1338,1327,1862,1867,1866,1864,1865,1863, - 1868,1869,1861,1870,1871,1872,127,1696,1725,451, - 71,1726,1906,1907,1908,1005,883,849,1696,1696, - 1297,484,1370,1359,1338,1327,62,450,1857,245, - 1858,1856,1909,1859,1855,1,1,1,1370,1359, - 1338,1327,1862,1867,1866,1864,1865,1863,1868,1869, - 1861,1870,1871,1872,1,1713,1438,1396,1714,1699, - 1,1918,1379,1696,1212,1072,1349,372,362,329, - 1706,1707,1708,1709,1024,888,526,1163,1629,1696, - 1713,1438,1431,1714,1699,1696,1297,484,1698,1212, - 1072,1349,372,362,329,1706,1707,1708,1709,1024, - 888,901,266,1696,1,1713,1438,1319,1714,27, - 1696,497,1696,1698,1212,1072,1349,372,362,329, - 1706,1707,1708,1709,1024,888,52,1553,1,1693, - 1696,1713,1438,1319,1714,1699,1015,959,1696,27, - 1212,1072,1349,372,362,329,1706,1707,1708,1709, - 1024,888,1,1918,1379,1696,1,1,1,1, - 47,1949,1696,1492,1698,1,1,1,1,1, - 1,1,1,1,1,1,1,1696,1713,1438, - 1319,1714,49,1683,1696,1492,1696,1212,1072,1349, - 372,362,329,1706,1707,1708,1709,1024,888,1696, - 391,1,1713,1438,1319,1714,1696,996,921,1485, - 1455,1212,1072,1349,372,362,329,1706,1707,1708, - 1709,1024,888,1696,1553,1696,1713,1438,1319,1714, - 48,1485,1455,1492,2002,1212,1072,1349,372,362, - 329,1706,1707,1708,1709,1024,888,1227,1553,1696, - 1713,1438,1319,1714,1696,1875,67,1696,1876,1212, - 1072,1349,372,362,329,1706,1707,1708,1709,1024, - 888,1696,1713,1439,1319,1714,1696,1219,1052,1485, - 1455,1212,1072,1349,372,362,329,1706,1707,1708, - 1709,1024,888,1,1713,1438,1319,1714,1696,41, - 1696,1133,68,1212,1072,1349,372,362,329,1706, - 1707,1708,1709,1024,888,17,87,1684,1684,1081, - 1684,178,178,178,1684,18,216,1687,1687,70, - 1687,177,177,177,1687,497,265,178,1125,178, - 178,178,178,178,1684,497,590,177,1696,177, - 177,177,177,177,1687,814,128,257,1918,1102, - 1,1696,1906,1907,1908,1081,497,1,794,774, - 754,734,714,674,694,654,634,614,1857,129, - 1858,1856,1909,1859,1855,1906,1907,1908,130,263, - 1918,1102,1443,1180,1906,1907,1908,1696,497,283, - 1949,1857,1701,1858,1856,1909,1859,1855,977,1696, - 1857,131,1858,1856,1909,1859,1855,1906,1907,1908, - 1,1690,1102,1,1696,1701,1700,1132,89,497, - 1696,1875,391,1857,1876,1858,1856,1909,1859,1855, - 1696,1,260,1381,1381,1,1701,1382,1696,1700, - 497,497,89,1347,1696,1875,1696,263,1876,1381, - 1443,246,1906,1907,1908,244,497,1,1,1, - 1700,1906,1907,1908,247,57,1696,1385,248,56, - 1906,1907,1908,1696,1906,1907,1908,1696,1705,1696, - 55,51,1701,54,1699,1,66,207,1133,1, - 1,1015,959,1696,189,1701,834,968,204,1875, - 834,968,1876,1279,1696,1696,1700,218,186,1520, - 1703,834,968,1698,834,968,497,1,1949,1700, - 1,63,1705,64,189,188,1696,1875,203,1605, - 1876,1468,1605,1270,185,1270,187,251,1704,28, - 1702,1,28,940,198,203,1696,1696,1196,570, - 1696,1696,1696,1696,1696,188,1696,1512,1696,1516, - 1696,1696,1696,1696,1696,1696,1696,1286,1696,430, - 1696,1696,1723,1696,1948,2631,1696,1696,1696,1696, - 1696,1696,1704,1696,1696,1696,1696,1696,1696,1696, - 1696,1696,1696,1696,1696,1696,1696,1696,1696,1033 + 1697,600,1439,611,1320,67,1908,1909,1910,1858, + 61,1213,1073,1859,1857,1911,1860,1856,1350,373, + 363,330,1707,1708,1709,1710,1025,889,1,1863, + 1868,1867,1865,1866,1864,1869,1870,1862,1871,1872, + 1873,1697,1006,884,850,1697,1,266,1,1126, + 189,1,1,1,1,1697,58,498,1,1, + 1,1,1,1,1691,1103,47,1697,1702,1082, + 1493,1298,485,498,1,1,1,1,1,1, + 1,1,1,1,1,1,69,1,1,1, + 65,189,1891,1697,1,219,1,1521,189,1, + 1,1,1,1697,1701,498,1,1,1,1, + 1,1371,1360,1339,1328,1697,1876,87,1877,1486, + 1456,1684,1,1,1,1,1,1,1,1, + 1,1,1,1,1697,1,1,1,1134,189, + 1891,1697,1,1220,1,1697,189,1,1,1, + 1,1181,60,1197,1,1,1,1,1,1, + 1697,1382,591,49,1702,1697,1876,1493,1877,498, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1697,1,1,1,1697,189,1891,1697, + 1,1697,1,1348,188,1,1,1,1,1697, + 1701,59,1,1,1,1,1,1371,1360,1339, + 1328,1697,1876,1697,1877,1,1486,1456,1,1, + 1,1,1,1,1,1,1,1,1,1, + 208,1,1,1,1697,188,1891,1697,1,1386, + 1,246,189,1,1,1,1,1,1,1, + 1,1,1,1,1,1697,1371,1360,1339,1328, + 63,1908,1909,1910,64,1951,1,1,1,1, + 1,1,1,1,1,1,1,1,1271,1, + 1,1,1271,189,1891,1697,1875,66,1874,247, + 941,1908,1909,1910,1858,1,1,1,1859,1857, + 1911,1860,1856,258,1920,1103,1697,1,1697,1920, + 1380,1702,1444,498,1863,1868,1867,1865,1866,1864, + 1869,1870,1862,1871,1872,1873,127,1006,884,850, + 245,71,1908,1909,1910,1858,1908,1909,1910,1859, + 1857,1911,1860,1856,264,1920,1103,1701,1444,53, + 1197,1133,1697,1932,498,1863,1868,1867,1865,1866, + 1864,1869,1870,1862,1871,1872,1873,1,1714,1439, + 1715,1397,1700,261,1697,1382,527,1,1213,1073, + 48,57,1697,498,1493,1350,373,363,330,1707, + 1708,1709,1710,1025,889,1697,1697,835,969,1164, + 1630,1697,1714,1439,1715,1432,1700,264,248,1382, + 902,1444,1213,1073,1908,1909,1910,498,1699,1350, + 373,363,330,1707,1708,1709,1710,1025,889,835, + 969,267,50,1486,1456,1,1714,1439,1715,1320, + 27,498,249,1016,960,56,1213,1073,1908,1909, + 1910,62,1699,1350,373,363,330,1707,1708,1709, + 1710,1025,889,1554,1697,1714,1439,1715,1320,1700, + 1697,1726,1697,1727,1697,1213,1073,1,1920,1380, + 1697,27,1350,373,363,330,1707,1708,1709,1710, + 1025,889,1,835,969,52,252,89,1697,1, + 1,1,1,1697,1697,1697,1016,960,1702,1, + 1,1697,1298,485,55,1699,1,1,1,1, + 1,1,1,1,1,1,51,1697,1697,1714, + 1439,1715,1320,89,571,1697,997,1016,960,1213, + 1073,1287,1697,54,1701,2004,1350,373,363,330, + 1707,1708,1709,1710,1025,889,392,1,1714,1439, + 1715,1320,835,969,205,1876,1,1877,1213,1073, + 1,1706,1,1694,1134,1350,373,363,330,1707, + 1708,1709,1710,1025,889,1554,1697,1714,1439,1715, + 1320,835,969,1697,1876,70,1877,1213,1073,1, + 1920,1380,1697,1697,1350,373,363,330,1707,1708, + 1709,1710,1025,889,1554,1697,1714,1439,1715,1320, + 1951,1697,1951,1697,68,186,1213,1073,204,1606, + 392,1606,1705,1350,373,363,330,1707,1708,1709, + 1710,1025,889,1697,1714,1440,1715,1320,1697,217, + 185,1697,199,1469,1213,1073,1700,187,922,498, + 1181,1350,373,363,330,1707,1708,1709,1710,1025, + 889,1,1714,1439,1715,1320,41,284,1513,1, + 1053,1697,1213,1073,1702,1517,1697,978,1082,1350, + 373,363,330,1707,1708,1709,1710,1025,889,17, + 1228,1685,1699,1685,1685,178,178,178,178,1685, + 1,1034,178,178,178,178,178,18,1697,1688, + 1701,1688,1688,177,177,177,177,1688,1697,1383, + 177,177,177,177,177,1697,815,1697,1697,1697, + 1685,1697,1697,1697,1697,28,795,775,755,735, + 715,675,695,655,635,615,128,1697,1688,1697, + 1950,1697,1908,1909,1910,1858,1697,1697,129,1859, + 1857,1911,1860,1856,1908,1909,1910,1858,28,204, + 130,1859,1857,1911,1860,1856,1908,1909,1910,1858, + 431,1697,131,1859,1857,1911,1860,1856,1908,1909, + 1910,1858,31,1697,1441,1859,1857,1911,1860,1856, + 1697,1697,1587,1697,1697,1706,1704,1697,1697,1697, + 1697,1721,1722,1724,2633,1697,1697,1697,1697,1697, + 1697,1697,1697,1697,1697,1697,1697,1697,1697,1697, + 1697,1697,1697,1697,1697,1697,1697,1697,1697,1697, + 1697,1697,1697,1697,452,1280,1697,1703,1697,1697, + 1697,1697,1697,1697,1697,1697,1697,1697,1697,451, + 1697,1697,1697,1697,1697,1697,1705 }; }; public final static char termAction[] = TermAction.termAction; @@ -549,27 +584,27 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Asb { public final static char asb[] = {0, - 414,1,108,41,108,108,108,108,108,108, - 108,108,108,3,325,77,74,81,79,87, - 85,89,88,91,90,10,108,325,309,309, - 366,108,191,191,244,325,108,108,108,108, + 415,1,108,41,108,108,108,108,108,108, + 108,108,108,3,326,77,74,81,79,87, + 85,89,88,91,90,10,108,326,310,310, + 367,108,191,191,244,326,108,108,108,108, 108,108,108,108,108,108,108,108,108,108, 108,108,108,108,108,108,108,108,108,108, 108,108,108,108,108,108,191,191,45,56, - 248,102,279,189,188,219,231,231,70,70, - 231,70,231,339,145,145,74,74,79,79, + 248,102,280,189,188,219,231,231,70,70, + 231,70,231,340,145,145,74,74,79,79, 79,79,77,77,85,81,81,88,87,212, - 90,89,72,54,244,239,125,45,362,106, - 191,385,282,194,250,194,250,319,194,108, - 54,239,362,362,45,105,102,191,242,339, - 190,284,250,250,250,250,319,319,321,49, - 54,362,239,108,108,45,106,279,207,206, - 248,284,191,250,276,312,250,250,276,321, - 214,321,319,276,52,217,309,108,48,54, - 239,45,45,191,385,282,242,276,314,276, - 276,108,309,321,56,45,309,108,321,284, - 98,108,97,121,248,276,45,276,191,190, - 314,108,121,310 + 90,89,72,54,244,239,125,45,363,106, + 191,386,283,194,250,194,250,320,194,108, + 54,239,363,363,45,105,102,191,242,340, + 190,285,250,250,250,250,320,320,322,49, + 54,363,239,108,108,45,106,280,207,206, + 248,285,191,250,277,313,250,250,277,322, + 214,322,320,277,52,217,310,108,48,54, + 239,45,45,191,386,283,242,277,315,277, + 277,108,310,322,56,45,310,108,322,285, + 98,108,97,121,248,277,45,277,191,190, + 315,108,121,311 }; }; public final static char asb[] = Asb.asb; @@ -577,50 +612,50 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Asr { public final static byte asr[] = {0, - 80,0,65,9,2,48,66,13,14,12, - 3,10,11,49,50,31,32,51,52,53, - 54,60,61,62,63,64,67,68,35,56, - 69,70,71,72,73,75,74,76,77,78, - 55,29,80,30,34,5,0,56,9,48, - 0,5,35,9,48,13,14,12,3,10, - 11,20,21,15,2,16,17,18,19,1, - 4,23,0,3,49,50,10,11,32,31, - 51,52,53,54,60,61,12,62,63,64, - 34,29,35,80,67,68,55,65,5,30, - 0,6,7,8,22,34,5,16,17,18, - 19,4,13,14,12,10,11,20,21,15, - 3,2,1,0,6,7,8,2,16,17, - 18,19,1,4,13,14,12,3,10,11, - 20,21,15,0,7,22,28,8,27,26, - 25,6,24,48,66,13,14,12,10,11, - 49,50,31,32,51,52,53,54,60,61, - 62,63,64,67,68,56,69,70,71,72, - 73,74,75,76,77,78,3,2,9,30, - 29,5,0,24,6,25,26,27,7,22, - 28,8,1,3,23,2,5,30,29,65, - 9,55,0,5,30,35,56,0,44,36, - 41,39,40,38,37,42,43,45,46,47, - 55,65,28,25,22,24,27,26,6,7, - 8,30,1,5,29,2,9,3,0,24, - 36,6,37,57,25,38,26,39,40,27, - 7,41,42,22,58,28,59,43,44,8, - 45,46,47,1,4,35,5,0,3,2, - 9,29,5,24,36,6,37,57,25,38, - 26,39,40,27,7,41,42,22,58,28, - 59,43,44,8,45,46,47,33,4,1, - 0,65,5,3,1,2,55,0,1,4, - 5,35,30,0,15,16,17,18,19,2, - 13,14,12,3,10,11,20,21,4,1, - 57,58,59,44,36,41,39,40,38,37, - 42,43,45,46,47,28,25,22,24,27, - 26,6,7,8,0,5,29,15,16,17, - 18,19,1,4,2,13,14,12,3,10, - 11,20,21,0,24,36,6,37,57,25, - 38,26,39,40,27,7,41,42,22,58, - 28,59,43,44,8,45,46,47,1,4, - 33,3,0,15,16,17,18,19,1,4, - 2,13,14,12,3,10,11,20,21,79, - 0 + 80,0,66,10,2,52,67,19,20,18, + 4,11,12,53,54,48,49,55,56,57, + 58,61,62,63,64,65,68,69,46,60, + 70,71,72,73,74,76,75,77,78,79, + 59,41,80,45,51,5,0,60,10,52, + 0,5,46,10,52,19,20,18,4,11, + 12,26,27,21,2,22,23,24,25,1, + 3,28,0,4,53,54,11,12,49,48, + 55,56,57,58,61,62,18,63,64,65, + 51,41,46,80,68,69,59,66,5,45, + 0,6,7,8,9,51,5,22,23,24, + 25,3,19,20,18,11,12,26,27,21, + 4,2,1,0,6,7,8,2,22,23, + 24,25,1,3,19,20,18,4,11,12, + 26,27,21,0,7,9,17,8,16,15, + 14,6,13,52,67,19,20,18,11,12, + 53,54,48,49,55,56,57,58,61,62, + 63,64,65,68,69,60,70,71,72,73, + 74,75,76,77,78,79,4,2,10,45, + 41,5,0,13,6,14,15,16,7,9, + 17,8,1,4,28,2,5,45,41,66, + 10,59,0,5,45,46,60,0,37,29, + 34,32,33,31,30,35,36,38,39,40, + 59,66,17,14,9,13,16,15,6,7, + 8,45,1,5,41,2,10,4,0,13, + 29,6,30,42,14,31,15,32,33,16, + 7,34,35,9,43,17,44,36,37,8, + 38,39,40,1,3,47,46,5,0,4, + 2,10,41,5,13,29,6,30,42,14, + 31,15,32,33,16,7,34,35,9,43, + 17,44,36,37,8,38,39,40,50,3, + 1,0,66,5,4,1,2,59,0,1, + 3,5,46,45,0,21,22,23,24,25, + 2,19,20,18,4,11,12,26,27,3, + 1,42,43,44,37,29,34,32,33,31, + 30,35,36,38,39,40,17,14,9,13, + 16,15,6,7,8,0,5,41,21,22, + 23,24,25,1,3,2,19,20,18,4, + 11,12,26,27,0,13,29,6,30,42, + 14,31,15,32,33,16,7,34,35,9, + 43,17,44,36,37,8,38,39,40,1, + 3,50,4,0,21,22,23,24,25,1, + 3,2,19,20,18,4,11,12,26,27, + 47,0 }; }; public final static byte asr[] = Asr.asr; @@ -672,14 +707,14 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface TerminalIndex { public final static char terminalIndex[] = {0, - 85,2,9,86,87,48,64,76,1,10, - 11,8,6,7,68,81,82,83,84,12, - 13,69,3,44,55,60,63,72,90,42, - 16,17,30,89,91,47,52,56,61,62, - 66,67,74,75,78,79,80,4,14,15, - 18,19,20,21,29,31,54,70,73,22, - 23,24,25,26,92,5,27,28,32,33, - 34,35,36,37,38,39,40,41,93,94, + 85,2,86,9,87,48,64,76,69,1, + 10,11,44,55,60,63,72,8,6,7, + 68,81,82,83,84,12,13,3,47,52, + 56,61,62,66,67,74,75,78,79,80, + 90,54,70,73,42,91,93,16,17,30, + 89,4,14,15,18,19,20,21,29,31, + 22,23,24,25,26,92,5,27,28,32, + 33,34,35,36,37,38,39,40,41,94, 45,46,49,50,51,53,57,58,59,65, 71,77,88 }; @@ -741,10 +776,10 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeLa { public final static byte scopeLa[] = { - 35,35,34,34,35,35,35,86,35,29, - 34,29,35,35,29,34,65,29,34,55, - 34,34,29,34,29,29,56,1,29,92, - 29,65,2,2,2 + 46,46,51,51,46,46,46,86,46,41, + 51,41,46,46,41,51,66,41,51,59, + 51,51,41,51,41,41,60,1,41,92, + 41,66,2,2,2 }; }; public final static byte scopeLa[] = ScopeLa.scopeLa; @@ -763,24 +798,24 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeRhs { public final static char scopeRhs[] = {0, - 139,9,0,96,0,181,102,0,31,136, - 0,144,163,102,23,0,98,0,150,102, + 139,10,0,96,0,181,102,0,31,136, + 0,144,163,102,28,0,98,0,150,102, 2,135,0,97,0,150,102,2,0,153, - 2,0,112,22,175,102,9,0,112,175, - 102,22,9,0,112,22,9,0,112,175, - 102,9,0,112,9,0,129,0,2,0, + 2,0,112,9,175,102,10,0,112,175, + 102,9,10,0,112,9,10,0,112,175, + 102,10,0,112,10,0,129,0,2,0, 151,97,0,2,97,0,150,102,2,129, 0,2,0,150,97,0,140,2,0,144, - 173,102,23,120,57,0,144,173,102,23, - 57,0,125,0,99,0,178,102,125,0, - 102,125,0,141,99,0,148,102,23,120, - 59,0,148,102,23,120,58,0,148,102, - 23,59,0,148,102,23,58,0,187,85, + 173,102,28,120,42,0,144,173,102,28, + 42,0,125,0,99,0,178,102,125,0, + 102,125,0,141,99,0,148,102,28,120, + 44,0,148,102,28,120,43,0,148,102, + 28,44,0,148,102,28,43,0,187,85, 0,77,2,100,97,99,0,187,115,138, - 2,89,0,53,0,0,138,68,110,0, + 2,89,0,53,0,0,138,69,110,0, 29,117,0,162,2,0,97,106,0,144, - 163,102,23,115,162,2,0,97,3,0, - 104,0,98,0,177,2,97,0,138,9, + 163,102,28,115,162,2,0,97,3,0, + 104,0,98,0,177,2,97,0,138,10, 97,0,138,2,0 }; }; @@ -789,16 +824,16 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeState { public final static char scopeState[] = {0, - 390,0,389,0,1548,1619,1545,1523,1519,0, - 1117,1279,1379,1211,360,1102,1071,0,823,1205, - 307,0,1592,1556,1260,1103,360,1102,1071,1565, - 1381,1386,0,372,362,329,1431,1396,1499,1180, - 1163,1196,1081,1297,484,1270,968,834,1370,1359, - 1338,1327,1492,1485,1455,1015,959,1349,1319,1212, - 1072,1024,888,1033,996,977,940,921,901,855, - 546,1052,526,497,814,794,774,754,734,714, - 694,674,654,634,614,307,590,454,570,410, - 430,339,0 + 391,0,390,0,1549,1620,1546,1524,1520,0, + 1118,1280,1380,1212,361,1103,1072,0,824,1206, + 308,0,1593,1557,1261,1104,361,1103,1072,1566, + 1382,1387,0,373,363,330,1432,1397,1500,1181, + 1164,1197,1082,1298,485,1271,969,835,1371,1360, + 1339,1328,1493,1486,1456,1016,960,1350,1320,1213, + 1073,1025,889,1034,997,978,941,922,902,856, + 547,1053,527,498,815,795,775,755,735,715, + 695,675,655,635,615,308,591,455,571,411, + 431,340,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -806,27 +841,27 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface InSymb { public final static char inSymb[] = {0, - 0,176,102,164,15,21,20,11,10,3, - 12,14,13,97,2,101,100,104,103,106, - 105,108,107,110,109,98,30,2,66,48, - 2,9,162,138,125,102,11,10,50,49, - 3,54,53,52,51,31,32,12,61,60, - 63,62,68,67,64,78,77,76,74,75, - 73,72,71,70,69,56,162,177,138,115, - 102,9,2,136,135,165,166,167,59,58, - 168,57,169,170,1,4,100,100,103,103, + 0,176,102,164,21,27,26,12,11,4, + 18,20,19,97,2,101,100,104,103,106, + 105,108,107,110,109,98,45,2,67,52, + 2,10,162,138,125,102,12,11,54,53, + 4,58,57,56,55,48,49,18,62,61, + 64,63,69,68,65,79,78,77,75,76, + 74,73,72,71,70,60,162,177,138,115, + 102,10,2,136,135,165,166,167,44,43, + 168,42,169,170,1,3,100,100,103,103, 103,103,101,101,105,104,104,107,106,138, - 109,108,115,23,142,3,22,112,102,3, - 153,102,2,120,23,120,23,23,120,55, - 102,3,102,102,112,175,151,150,117,102, - 152,102,23,102,23,102,102,23,163,102, - 23,102,151,175,22,112,3,2,127,129, - 102,30,150,102,148,125,149,102,148,173, - 120,174,102,144,30,181,48,9,182,102, + 109,108,115,28,142,4,9,112,102,4, + 153,102,2,120,28,120,28,28,120,59, + 102,4,102,102,112,175,151,150,117,102, + 152,102,28,102,28,102,102,28,163,102, + 28,102,151,175,9,112,4,2,127,129, + 102,45,150,102,148,125,149,102,148,173, + 120,174,102,144,45,181,52,10,182,102, 151,112,112,140,102,2,142,148,102,148, - 144,56,30,173,56,139,48,9,163,102, - 178,55,140,2,102,144,139,144,150,179, - 30,55,142,30 + 144,60,45,173,60,139,52,10,163,102, + 178,59,140,2,102,144,139,144,150,179, + 45,59,142,45 }; }; public final static char inSymb[] = InSymb.inSymb; @@ -1010,7 +1045,7 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public final String name(int index) { return name[index]; } public final static int - ERROR_SYMBOL = 79, + ERROR_SYMBOL = 47, SCOPE_UBOUND = 34, SCOPE_SIZE = 35, MAX_NAME_LENGTH = 38; @@ -1023,18 +1058,18 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public final static int NUM_STATES = 204, NT_OFFSET = 93, - LA_STATE_OFFSET = 2002, + LA_STATE_OFFSET = 2004, MAX_LA = 2, - NUM_RULES = 306, + NUM_RULES = 307, NUM_NONTERMINALS = 115, NUM_SYMBOLS = 208, SEGMENT_SIZE = 8192, - START_STATE = 1582, + START_STATE = 1583, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 80, EOLT_SYMBOL = 80, - ACCEPT_ACTION = 1683, - ERROR_ACTION = 1696; + ACCEPT_ACTION = 1684, + ERROR_ACTION = 1697; public final static boolean BACKTRACK = true; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParsersym.java index 887a39f5ed3..5ddcbebbd7c 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParsersym.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParsersym.java @@ -15,113 +15,119 @@ package org.eclipse.cdt.internal.core.dom.lrparser.c99; public interface C99SizeofExpressionParsersym { public final static int - TK_auto = 24, + TK_auto = 13, TK_break = 81, TK_case = 82, - TK_char = 36, + TK_char = 29, TK_const = 6, TK_continue = 83, TK_default = 84, TK_do = 85, - TK_double = 37, + TK_double = 30, TK_else = 86, - TK_enum = 57, - TK_extern = 25, - TK_float = 38, + TK_enum = 42, + TK_extern = 14, + TK_float = 31, TK_for = 87, TK_goto = 88, TK_if = 89, - TK_inline = 26, - TK_int = 39, - TK_long = 40, - TK_register = 27, + TK_inline = 15, + TK_int = 32, + TK_long = 33, + TK_register = 16, TK_restrict = 7, TK_return = 90, - TK_short = 41, - TK_signed = 42, - TK_sizeof = 15, - TK_static = 22, - TK_struct = 58, + TK_short = 34, + TK_signed = 35, + TK_sizeof = 21, + TK_static = 9, + TK_struct = 43, TK_switch = 91, - TK_typedef = 28, - TK_union = 59, - TK_unsigned = 43, - TK_void = 44, + TK_typedef = 17, + TK_union = 44, + TK_unsigned = 36, + TK_void = 37, TK_volatile = 8, TK_while = 92, - TK__Bool = 45, - TK__Complex = 46, - TK__Imaginary = 47, - TK_integer = 16, - TK_floating = 17, - TK_charconst = 18, - TK_stringlit = 19, + TK__Bool = 38, + TK__Complex = 39, + TK__Imaginary = 40, + TK_integer = 22, + TK_floating = 23, + TK_charconst = 24, + TK_stringlit = 25, TK_identifier = 1, - TK_Completion = 4, + TK_Completion = 3, TK_EndOfCompletion = 5, TK_Invalid = 93, - TK_LeftBracket = 9, + TK_LeftBracket = 10, TK_LeftParen = 2, - TK_LeftBrace = 23, - TK_Dot = 48, - TK_Arrow = 66, - TK_PlusPlus = 13, - TK_MinusMinus = 14, - TK_And = 12, - TK_Star = 3, - TK_Plus = 10, - TK_Minus = 11, - TK_Tilde = 20, - TK_Bang = 21, - TK_Slash = 49, - TK_Percent = 50, - TK_RightShift = 31, - TK_LeftShift = 32, - TK_LT = 51, - TK_GT = 52, - TK_LE = 53, - TK_GE = 54, - TK_EQ = 60, - TK_NE = 61, - TK_Caret = 62, - TK_Or = 63, - TK_AndAnd = 64, - TK_OrOr = 67, - TK_Question = 68, - TK_Colon = 55, - TK_DotDotDot = 33, - TK_Assign = 56, - TK_StarAssign = 69, - TK_SlashAssign = 70, - TK_PercentAssign = 71, - TK_PlusAssign = 72, - TK_MinusAssign = 73, - TK_RightShiftAssign = 74, - TK_LeftShiftAssign = 75, - TK_AndAssign = 76, - TK_CaretAssign = 77, - TK_OrAssign = 78, - TK_Comma = 30, - TK_RightBracket = 34, - TK_RightParen = 29, - TK_RightBrace = 35, - TK_SemiColon = 65, - TK_ERROR_TOKEN = 79, + TK_LeftBrace = 28, + TK_Dot = 52, + TK_Arrow = 67, + TK_PlusPlus = 19, + TK_MinusMinus = 20, + TK_And = 18, + TK_Star = 4, + TK_Plus = 11, + TK_Minus = 12, + TK_Tilde = 26, + TK_Bang = 27, + TK_Slash = 53, + TK_Percent = 54, + TK_RightShift = 48, + TK_LeftShift = 49, + TK_LT = 55, + TK_GT = 56, + TK_LE = 57, + TK_GE = 58, + TK_EQ = 61, + TK_NE = 62, + TK_Caret = 63, + TK_Or = 64, + TK_AndAnd = 65, + TK_OrOr = 68, + TK_Question = 69, + TK_Colon = 59, + TK_DotDotDot = 50, + TK_Assign = 60, + TK_StarAssign = 70, + TK_SlashAssign = 71, + TK_PercentAssign = 72, + TK_PlusAssign = 73, + TK_MinusAssign = 74, + TK_RightShiftAssign = 75, + TK_LeftShiftAssign = 76, + TK_AndAssign = 77, + TK_CaretAssign = 78, + TK_OrAssign = 79, + TK_Comma = 45, + TK_RightBracket = 51, + TK_RightParen = 41, + TK_RightBrace = 46, + TK_SemiColon = 66, + TK_ERROR_TOKEN = 47, TK_EOF_TOKEN = 80; public final static String orderedTerminalSymbols[] = { "", "identifier", "LeftParen", - "Star", "Completion", + "Star", "EndOfCompletion", "const", "restrict", "volatile", + "static", "LeftBracket", "Plus", "Minus", + "auto", + "extern", + "inline", + "register", + "typedef", "And", "PlusPlus", "MinusMinus", @@ -132,20 +138,7 @@ public interface C99SizeofExpressionParsersym { "stringlit", "Tilde", "Bang", - "static", "LeftBrace", - "auto", - "extern", - "inline", - "register", - "typedef", - "RightParen", - "Comma", - "RightShift", - "LeftShift", - "DotDotDot", - "RightBracket", - "RightBrace", "char", "double", "float", @@ -158,6 +151,17 @@ public interface C99SizeofExpressionParsersym { "_Bool", "_Complex", "_Imaginary", + "RightParen", + "enum", + "struct", + "union", + "Comma", + "RightBrace", + "ERROR_TOKEN", + "RightShift", + "LeftShift", + "DotDotDot", + "RightBracket", "Dot", "Slash", "Percent", @@ -167,9 +171,6 @@ public interface C99SizeofExpressionParsersym { "GE", "Colon", "Assign", - "enum", - "struct", - "union", "EQ", "NE", "Caret", @@ -189,7 +190,6 @@ public interface C99SizeofExpressionParsersym { "AndAssign", "CaretAssign", "OrAssign", - "ERROR_TOKEN", "EOF_TOKEN", "break", "case", diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionStatementParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionStatementParser.java index b4b58f398e3..b72c2562fe5 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionStatementParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionStatementParser.java @@ -286,7 +286,7 @@ public CPPExpressionStatementParser(String[] mapFrom) { // constructor } // - // Rule 10: translation_unit ::= declaration_seq + // Rule 10: translation_unit ::= external_declaration_list // case 10: { action.builder. consumeTranslationUnit(); break; @@ -300,1738 +300,1752 @@ public CPPExpressionStatementParser(String[] mapFrom) { // constructor } // - // Rule 12: literal ::= integer + // Rule 15: external_declaration ::= ERROR_TOKEN // - case 12: { action.builder. + case 15: { action.builder. + consumeDeclarationProblem(); break; + } + + // + // Rule 16: literal ::= integer + // + case 16: { action.builder. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_integer_constant); break; } // - // Rule 13: literal ::= 0 + // Rule 17: literal ::= 0 // - case 13: { action.builder. + case 17: { action.builder. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_integer_constant); break; } // - // Rule 14: literal ::= floating + // Rule 18: literal ::= floating // - case 14: { action.builder. + case 18: { action.builder. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_float_constant); break; } // - // Rule 15: literal ::= charconst + // Rule 19: literal ::= charconst // - case 15: { action.builder. + case 19: { action.builder. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_char_constant); break; } // - // Rule 16: literal ::= stringlit + // Rule 20: literal ::= stringlit // - case 16: { action.builder. + case 20: { action.builder. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_string_literal); break; } // - // Rule 17: literal ::= true + // Rule 21: literal ::= true // - case 17: { action.builder. + case 21: { action.builder. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_true); break; } // - // Rule 18: literal ::= false + // Rule 22: literal ::= false // - case 18: { action.builder. + case 22: { action.builder. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_false); break; } // - // Rule 19: literal ::= this + // Rule 23: literal ::= this // - case 19: { action.builder. + case 23: { action.builder. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_this); break; } // - // Rule 21: primary_expression ::= ( expression ) + // Rule 25: primary_expression ::= ( expression ) // - case 21: { action.builder. + case 25: { action.builder. consumeExpressionBracketed(); break; } // - // Rule 23: id_expression ::= qualified_or_unqualified_name + // Rule 27: id_expression ::= qualified_or_unqualified_name // - case 23: { action.builder. + case 27: { action.builder. consumeExpressionName(); break; } // - // Rule 30: unqualified_id_name ::= ~ class_name + // Rule 34: unqualified_id_name ::= ~ class_name // - case 30: { action.builder. + case 34: { action.builder. consumeDestructorName(); break; } // - // Rule 31: identifier_name ::= identifier + // Rule 35: identifier_name ::= identifier // - case 31: { action.builder. + case 35: { action.builder. consumeIdentifierName(); break; } // - // Rule 32: template_opt ::= template - // - case 32: { action.builder. - consumePlaceHolder(); break; - } - - // - // Rule 33: template_opt ::= $Empty - // - case 33: { action.builder. - consumeEmpty(); break; - } - - // - // Rule 34: dcolon_opt ::= :: - // - case 34: { action.builder. - consumePlaceHolder(); break; - } - - // - // Rule 35: dcolon_opt ::= $Empty - // - case 35: { action.builder. - consumeEmpty(); break; - } - - // - // Rule 36: qualified_id_name ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name + // Rule 36: template_opt ::= template // case 36: { action.builder. + consumePlaceHolder(); break; + } + + // + // Rule 37: template_opt ::= $Empty + // + case 37: { action.builder. + consumeEmpty(); break; + } + + // + // Rule 38: dcolon_opt ::= :: + // + case 38: { action.builder. + consumePlaceHolder(); break; + } + + // + // Rule 39: dcolon_opt ::= $Empty + // + case 39: { action.builder. + consumeEmpty(); break; + } + + // + // Rule 40: qualified_id_name ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name + // + case 40: { action.builder. consumeQualifiedId(true); break; } // - // Rule 37: qualified_id_name ::= :: identifier_name - // - case 37: { action.builder. - consumeGlobalQualifiedId(); break; - } - - // - // Rule 38: qualified_id_name ::= :: operator_function_id_name - // - case 38: { action.builder. - consumeGlobalQualifiedId(); break; - } - - // - // Rule 39: qualified_id_name ::= :: template_id_name - // - case 39: { action.builder. - consumeGlobalQualifiedId(); break; - } - - // - // Rule 40: nested_name_specifier ::= class_or_namespace_name :: nested_name_specifier_with_template - // - case 40: { action.builder. - consumeNestedNameSpecifier(true); break; - } - - // - // Rule 41: nested_name_specifier ::= class_or_namespace_name :: + // Rule 41: qualified_id_name ::= :: identifier_name // case 41: { action.builder. - consumeNestedNameSpecifier(false); break; + consumeGlobalQualifiedId(); break; } // - // Rule 42: nested_name_specifier_with_template ::= class_or_namespace_name_with_template :: nested_name_specifier_with_template + // Rule 42: qualified_id_name ::= :: operator_function_id_name // case 42: { action.builder. + consumeGlobalQualifiedId(); break; + } + + // + // Rule 43: qualified_id_name ::= :: template_id_name + // + case 43: { action.builder. + consumeGlobalQualifiedId(); break; + } + + // + // Rule 44: nested_name_specifier ::= class_or_namespace_name :: nested_name_specifier_with_template + // + case 44: { action.builder. consumeNestedNameSpecifier(true); break; } // - // Rule 43: nested_name_specifier_with_template ::= class_or_namespace_name_with_template :: + // Rule 45: nested_name_specifier ::= class_or_namespace_name :: // - case 43: { action.builder. + case 45: { action.builder. consumeNestedNameSpecifier(false); break; } // - // Rule 44: class_or_namespace_name_with_template ::= template_opt class_or_namespace_name + // Rule 46: nested_name_specifier_with_template ::= class_or_namespace_name_with_template :: nested_name_specifier_with_template // - case 44: { action.builder. + case 46: { action.builder. + consumeNestedNameSpecifier(true); break; + } + + // + // Rule 47: nested_name_specifier_with_template ::= class_or_namespace_name_with_template :: + // + case 47: { action.builder. + consumeNestedNameSpecifier(false); break; + } + + // + // Rule 48: class_or_namespace_name_with_template ::= template_opt class_or_namespace_name + // + case 48: { action.builder. consumeNameWithTemplateKeyword(); break; } // - // Rule 46: nested_name_specifier_opt ::= $Empty + // Rule 50: nested_name_specifier_opt ::= $Empty // - case 46: { action.builder. + case 50: { action.builder. consumeNestedNameSpecifierEmpty(); break; } // - // Rule 50: postfix_expression ::= postfix_expression [ expression ] + // Rule 54: postfix_expression ::= postfix_expression [ expression ] // - case 50: { action.builder. + case 54: { action.builder. consumeExpressionArraySubscript(); break; } // - // Rule 51: postfix_expression ::= postfix_expression ( expression_list_opt ) + // Rule 55: postfix_expression ::= postfix_expression ( expression_list_opt ) // - case 51: { action.builder. + case 55: { action.builder. consumeExpressionFunctionCall(); break; } // - // Rule 52: postfix_expression ::= simple_type_specifier ( expression_list_opt ) + // Rule 56: postfix_expression ::= simple_type_specifier ( expression_list_opt ) // - case 52: { action.builder. + case 56: { action.builder. consumeExpressionSimpleTypeConstructor(); break; } // - // Rule 53: postfix_expression ::= typename dcolon_opt nested_name_specifier identifier_name ( expression_list_opt ) - // - case 53: { action.builder. - consumeExpressionTypeName(); break; - } - - // - // Rule 54: postfix_expression ::= typename dcolon_opt nested_name_specifier template_opt template_id_name ( expression_list_opt ) - // - case 54: { action.builder. - consumeExpressionTypeName(); break; - } - - // - // Rule 55: postfix_expression ::= postfix_expression . qualified_or_unqualified_name - // - case 55: { action.builder. - consumeExpressionFieldReference(false, false); break; - } - - // - // Rule 56: postfix_expression ::= postfix_expression -> qualified_or_unqualified_name - // - case 56: { action.builder. - consumeExpressionFieldReference(true, false); break; - } - - // - // Rule 57: postfix_expression ::= postfix_expression . template qualified_or_unqualified_name + // Rule 57: postfix_expression ::= typename dcolon_opt nested_name_specifier identifier_name ( expression_list_opt ) // case 57: { action.builder. - consumeExpressionFieldReference(false, true); break; + consumeExpressionTypeName(); break; } // - // Rule 58: postfix_expression ::= postfix_expression -> template qualified_or_unqualified_name + // Rule 58: postfix_expression ::= typename dcolon_opt nested_name_specifier template_opt template_id_name ( expression_list_opt ) // case 58: { action.builder. - consumeExpressionFieldReference(true, true); break; + consumeExpressionTypeName(); break; } // - // Rule 59: postfix_expression ::= postfix_expression . pseudo_destructor_name + // Rule 59: postfix_expression ::= postfix_expression . qualified_or_unqualified_name // case 59: { action.builder. consumeExpressionFieldReference(false, false); break; } // - // Rule 60: postfix_expression ::= postfix_expression -> pseudo_destructor_name + // Rule 60: postfix_expression ::= postfix_expression -> qualified_or_unqualified_name // case 60: { action.builder. consumeExpressionFieldReference(true, false); break; } // - // Rule 61: postfix_expression ::= postfix_expression ++ + // Rule 61: postfix_expression ::= postfix_expression . template qualified_or_unqualified_name // case 61: { action.builder. + consumeExpressionFieldReference(false, true); break; + } + + // + // Rule 62: postfix_expression ::= postfix_expression -> template qualified_or_unqualified_name + // + case 62: { action.builder. + consumeExpressionFieldReference(true, true); break; + } + + // + // Rule 63: postfix_expression ::= postfix_expression . pseudo_destructor_name + // + case 63: { action.builder. + consumeExpressionFieldReference(false, false); break; + } + + // + // Rule 64: postfix_expression ::= postfix_expression -> pseudo_destructor_name + // + case 64: { action.builder. + consumeExpressionFieldReference(true, false); break; + } + + // + // Rule 65: postfix_expression ::= postfix_expression ++ + // + case 65: { action.builder. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break; } // - // Rule 62: postfix_expression ::= postfix_expression -- + // Rule 66: postfix_expression ::= postfix_expression -- // - case 62: { action.builder. + case 66: { action.builder. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break; } // - // Rule 63: postfix_expression ::= dynamic_cast < type_id > ( expression ) + // Rule 67: postfix_expression ::= dynamic_cast < type_id > ( expression ) // - case 63: { action.builder. + case 67: { action.builder. consumeExpressionCast(ICPPASTCastExpression.op_dynamic_cast); break; } // - // Rule 64: postfix_expression ::= static_cast < type_id > ( expression ) + // Rule 68: postfix_expression ::= static_cast < type_id > ( expression ) // - case 64: { action.builder. + case 68: { action.builder. consumeExpressionCast(ICPPASTCastExpression.op_static_cast); break; } // - // Rule 65: postfix_expression ::= reinterpret_cast < type_id > ( expression ) + // Rule 69: postfix_expression ::= reinterpret_cast < type_id > ( expression ) // - case 65: { action.builder. + case 69: { action.builder. consumeExpressionCast(ICPPASTCastExpression.op_reinterpret_cast); break; } // - // Rule 66: postfix_expression ::= const_cast < type_id > ( expression ) + // Rule 70: postfix_expression ::= const_cast < type_id > ( expression ) // - case 66: { action.builder. + case 70: { action.builder. consumeExpressionCast(ICPPASTCastExpression.op_const_cast); break; } // - // Rule 67: postfix_expression ::= typeid ( expression ) + // Rule 71: postfix_expression ::= typeid ( expression ) // - case 67: { action.builder. + case 71: { action.builder. consumeExpressionUnaryOperator(ICPPASTUnaryExpression.op_typeid); break; } // - // Rule 68: postfix_expression ::= typeid ( type_id ) + // Rule 72: postfix_expression ::= typeid ( type_id ) // - case 68: { action.builder. + case 72: { action.builder. consumeExpressionTypeId(ICPPASTTypeIdExpression.op_typeid); break; } // - // Rule 69: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt type_name :: ~ type_name + // Rule 73: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt type_name :: ~ type_name // - case 69: { action.builder. + case 73: { action.builder. consumePsudoDestructorName(true); break; } // - // Rule 70: pseudo_destructor_name ::= dcolon_opt nested_name_specifier template template_id_name :: ~ type_name + // Rule 74: pseudo_destructor_name ::= dcolon_opt nested_name_specifier template template_id_name :: ~ type_name // - case 70: { action.builder. + case 74: { action.builder. consumePsudoDestructorName(true); break; } // - // Rule 71: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt ~ type_name + // Rule 75: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt ~ type_name // - case 71: { action.builder. + case 75: { action.builder. consumePsudoDestructorName(false); break; } // - // Rule 75: unary_expression ::= ++ cast_expression + // Rule 79: unary_expression ::= ++ cast_expression // - case 75: { action.builder. + case 79: { action.builder. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixIncr); break; } // - // Rule 76: unary_expression ::= -- cast_expression + // Rule 80: unary_expression ::= -- cast_expression // - case 76: { action.builder. + case 80: { action.builder. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixDecr); break; } // - // Rule 77: unary_expression ::= & cast_expression + // Rule 81: unary_expression ::= & cast_expression // - case 77: { action.builder. + case 81: { action.builder. consumeExpressionUnaryOperator(IASTUnaryExpression.op_amper); break; } // - // Rule 78: unary_expression ::= * cast_expression + // Rule 82: unary_expression ::= * cast_expression // - case 78: { action.builder. + case 82: { action.builder. consumeExpressionUnaryOperator(IASTUnaryExpression.op_star); break; } // - // Rule 79: unary_expression ::= + cast_expression + // Rule 83: unary_expression ::= + cast_expression // - case 79: { action.builder. + case 83: { action.builder. consumeExpressionUnaryOperator(IASTUnaryExpression.op_plus); break; } // - // Rule 80: unary_expression ::= - cast_expression + // Rule 84: unary_expression ::= - cast_expression // - case 80: { action.builder. + case 84: { action.builder. consumeExpressionUnaryOperator(IASTUnaryExpression.op_minus); break; } // - // Rule 81: unary_expression ::= ~ cast_expression + // Rule 85: unary_expression ::= ~ cast_expression // - case 81: { action.builder. + case 85: { action.builder. consumeExpressionUnaryOperator(IASTUnaryExpression.op_tilde); break; } // - // Rule 82: unary_expression ::= ! cast_expression + // Rule 86: unary_expression ::= ! cast_expression // - case 82: { action.builder. + case 86: { action.builder. consumeExpressionUnaryOperator(IASTUnaryExpression.op_not); break; } // - // Rule 83: unary_expression ::= sizeof unary_expression + // Rule 87: unary_expression ::= sizeof unary_expression // - case 83: { action.builder. + case 87: { action.builder. consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof); break; } // - // Rule 84: unary_expression ::= sizeof ( type_id ) + // Rule 88: unary_expression ::= sizeof ( type_id ) // - case 84: { action.builder. + case 88: { action.builder. consumeExpressionTypeId(ICPPASTTypeIdExpression.op_sizeof); break; } // - // Rule 85: new_expression ::= dcolon_opt new new_placement_opt new_type_id new_array_expressions_opt new_initializer_opt + // Rule 89: new_expression ::= dcolon_opt new new_placement_opt new_type_id new_array_expressions_opt new_initializer_opt // - case 85: { action.builder. + case 89: { action.builder. consumeExpressionNew(true); break; } // - // Rule 86: new_expression ::= dcolon_opt new new_placement_opt ( type_id ) new_initializer_opt + // Rule 90: new_expression ::= dcolon_opt new new_placement_opt ( type_id ) new_initializer_opt // - case 86: { action.builder. + case 90: { action.builder. consumeExpressionNew(false); break; } // - // Rule 89: new_placement_opt ::= $Empty + // Rule 93: new_placement_opt ::= $Empty // - case 89: { action.builder. + case 93: { action.builder. consumeEmpty(); break; } // - // Rule 90: new_type_id ::= type_specifier_seq + // Rule 94: new_type_id ::= type_specifier_seq // - case 90: { action.builder. + case 94: { action.builder. consumeTypeId(false); break; } // - // Rule 91: new_type_id ::= type_specifier_seq new_declarator + // Rule 95: new_type_id ::= type_specifier_seq new_declarator // - case 91: { action.builder. + case 95: { action.builder. consumeTypeId(true); break; } // - // Rule 92: new_declarator ::= new_pointer_operators + // Rule 96: new_declarator ::= new_pointer_operators // - case 92: { action.builder. + case 96: { action.builder. consumeNewDeclarator(); break; } // - // Rule 101: new_initializer_opt ::= $Empty + // Rule 105: new_initializer_opt ::= $Empty // - case 101: { action.builder. + case 105: { action.builder. consumeEmpty(); break; } // - // Rule 102: delete_expression ::= dcolon_opt delete cast_expression + // Rule 106: delete_expression ::= dcolon_opt delete cast_expression // - case 102: { action.builder. + case 106: { action.builder. consumeExpressionDelete(false); break; } // - // Rule 103: delete_expression ::= dcolon_opt delete [ ] cast_expression + // Rule 107: delete_expression ::= dcolon_opt delete [ ] cast_expression // - case 103: { action.builder. + case 107: { action.builder. consumeExpressionDelete(true); break; } // - // Rule 105: cast_expression ::= ( type_id ) cast_expression + // Rule 109: cast_expression ::= ( type_id ) cast_expression // - case 105: { action.builder. + case 109: { action.builder. consumeExpressionCast(ICPPASTCastExpression.op_cast); break; } // - // Rule 107: pm_expression ::= pm_expression .* cast_expression + // Rule 111: pm_expression ::= pm_expression .* cast_expression // - case 107: { action.builder. + case 111: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmdot); break; } // - // Rule 108: pm_expression ::= pm_expression ->* cast_expression + // Rule 112: pm_expression ::= pm_expression ->* cast_expression // - case 108: { action.builder. + case 112: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmarrow); break; } // - // Rule 110: multiplicative_expression ::= multiplicative_expression * pm_expression + // Rule 114: multiplicative_expression ::= multiplicative_expression * pm_expression // - case 110: { action.builder. + case 114: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiply); break; } // - // Rule 111: multiplicative_expression ::= multiplicative_expression / pm_expression + // Rule 115: multiplicative_expression ::= multiplicative_expression / pm_expression // - case 111: { action.builder. + case 115: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divide); break; } // - // Rule 112: multiplicative_expression ::= multiplicative_expression % pm_expression + // Rule 116: multiplicative_expression ::= multiplicative_expression % pm_expression // - case 112: { action.builder. + case 116: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_modulo); break; } // - // Rule 114: additive_expression ::= additive_expression + multiplicative_expression + // Rule 118: additive_expression ::= additive_expression + multiplicative_expression // - case 114: { action.builder. + case 118: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plus); break; } // - // Rule 115: additive_expression ::= additive_expression - multiplicative_expression + // Rule 119: additive_expression ::= additive_expression - multiplicative_expression // - case 115: { action.builder. + case 119: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minus); break; } // - // Rule 117: shift_expression ::= shift_expression << additive_expression + // Rule 121: shift_expression ::= shift_expression << additive_expression // - case 117: { action.builder. + case 121: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeft); break; } // - // Rule 118: shift_expression ::= shift_expression >> additive_expression + // Rule 122: shift_expression ::= shift_expression >> additive_expression // - case 118: { action.builder. + case 122: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRight); break; } // - // Rule 120: relational_expression ::= relational_expression < shift_expression + // Rule 124: relational_expression ::= relational_expression < shift_expression // - case 120: { action.builder. + case 124: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessThan); break; } // - // Rule 121: relational_expression ::= relational_expression > shift_expression + // Rule 125: relational_expression ::= relational_expression > shift_expression // - case 121: { action.builder. + case 125: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterThan); break; } // - // Rule 122: relational_expression ::= relational_expression <= shift_expression + // Rule 126: relational_expression ::= relational_expression <= shift_expression // - case 122: { action.builder. + case 126: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessEqual); break; } // - // Rule 123: relational_expression ::= relational_expression >= shift_expression + // Rule 127: relational_expression ::= relational_expression >= shift_expression // - case 123: { action.builder. + case 127: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterEqual); break; } // - // Rule 125: equality_expression ::= equality_expression == relational_expression + // Rule 129: equality_expression ::= equality_expression == relational_expression // - case 125: { action.builder. + case 129: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_equals); break; } // - // Rule 126: equality_expression ::= equality_expression != relational_expression + // Rule 130: equality_expression ::= equality_expression != relational_expression // - case 126: { action.builder. + case 130: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_notequals); break; } // - // Rule 128: and_expression ::= and_expression & equality_expression + // Rule 132: and_expression ::= and_expression & equality_expression // - case 128: { action.builder. + case 132: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAnd); break; } // - // Rule 130: exclusive_or_expression ::= exclusive_or_expression ^ and_expression + // Rule 134: exclusive_or_expression ::= exclusive_or_expression ^ and_expression // - case 130: { action.builder. + case 134: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXor); break; } // - // Rule 132: inclusive_or_expression ::= inclusive_or_expression | exclusive_or_expression + // Rule 136: inclusive_or_expression ::= inclusive_or_expression | exclusive_or_expression // - case 132: { action.builder. + case 136: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOr); break; } // - // Rule 134: logical_and_expression ::= logical_and_expression && inclusive_or_expression + // Rule 138: logical_and_expression ::= logical_and_expression && inclusive_or_expression // - case 134: { action.builder. + case 138: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalAnd); break; } // - // Rule 136: logical_or_expression ::= logical_or_expression || logical_and_expression + // Rule 140: logical_or_expression ::= logical_or_expression || logical_and_expression // - case 136: { action.builder. + case 140: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalOr); break; } // - // Rule 138: conditional_expression ::= logical_or_expression ? expression : assignment_expression + // Rule 142: conditional_expression ::= logical_or_expression ? expression : assignment_expression // - case 138: { action.builder. + case 142: { action.builder. consumeExpressionConditional(); break; } // - // Rule 139: throw_expression ::= throw + // Rule 143: throw_expression ::= throw // - case 139: { action.builder. + case 143: { action.builder. consumeExpressionThrow(false); break; } // - // Rule 140: throw_expression ::= throw assignment_expression + // Rule 144: throw_expression ::= throw assignment_expression // - case 140: { action.builder. + case 144: { action.builder. consumeExpressionThrow(true); break; } // - // Rule 143: assignment_expression ::= logical_or_expression = assignment_expression + // Rule 147: assignment_expression ::= logical_or_expression = assignment_expression // - case 143: { action.builder. + case 147: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_assign); break; } // - // Rule 144: assignment_expression ::= logical_or_expression *= assignment_expression + // Rule 148: assignment_expression ::= logical_or_expression *= assignment_expression // - case 144: { action.builder. + case 148: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiplyAssign); break; } // - // Rule 145: assignment_expression ::= logical_or_expression /= assignment_expression + // Rule 149: assignment_expression ::= logical_or_expression /= assignment_expression // - case 145: { action.builder. + case 149: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divideAssign); break; } // - // Rule 146: assignment_expression ::= logical_or_expression %= assignment_expression + // Rule 150: assignment_expression ::= logical_or_expression %= assignment_expression // - case 146: { action.builder. + case 150: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_moduloAssign); break; } // - // Rule 147: assignment_expression ::= logical_or_expression += assignment_expression + // Rule 151: assignment_expression ::= logical_or_expression += assignment_expression // - case 147: { action.builder. + case 151: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plusAssign); break; } // - // Rule 148: assignment_expression ::= logical_or_expression -= assignment_expression + // Rule 152: assignment_expression ::= logical_or_expression -= assignment_expression // - case 148: { action.builder. + case 152: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minusAssign); break; } // - // Rule 149: assignment_expression ::= logical_or_expression >>= assignment_expression + // Rule 153: assignment_expression ::= logical_or_expression >>= assignment_expression // - case 149: { action.builder. + case 153: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRightAssign); break; } // - // Rule 150: assignment_expression ::= logical_or_expression <<= assignment_expression + // Rule 154: assignment_expression ::= logical_or_expression <<= assignment_expression // - case 150: { action.builder. + case 154: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeftAssign); break; } // - // Rule 151: assignment_expression ::= logical_or_expression &= assignment_expression + // Rule 155: assignment_expression ::= logical_or_expression &= assignment_expression // - case 151: { action.builder. + case 155: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAndAssign); break; } // - // Rule 152: assignment_expression ::= logical_or_expression ^= assignment_expression + // Rule 156: assignment_expression ::= logical_or_expression ^= assignment_expression // - case 152: { action.builder. + case 156: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXorAssign); break; } // - // Rule 153: assignment_expression ::= logical_or_expression |= assignment_expression + // Rule 157: assignment_expression ::= logical_or_expression |= assignment_expression // - case 153: { action.builder. + case 157: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOrAssign); break; } // - // Rule 155: expression ::= ERROR_TOKEN + // Rule 159: expression ::= ERROR_TOKEN // - case 155: { action.builder. + case 159: { action.builder. consumeExpressionProblem(); break; } // - // Rule 156: expression_list ::= expression_list_actual + // Rule 160: expression_list ::= expression_list_actual // - case 156: { action.builder. + case 160: { action.builder. consumeExpressionList(); break; } // - // Rule 160: expression_list_opt ::= $Empty + // Rule 164: expression_list_opt ::= $Empty // - case 160: { action.builder. + case 164: { action.builder. consumeEmpty(); break; } // - // Rule 162: expression_opt ::= $Empty + // Rule 166: expression_opt ::= $Empty // - case 162: { action.builder. + case 166: { action.builder. consumeEmpty(); break; } // - // Rule 165: constant_expression_opt ::= $Empty + // Rule 169: constant_expression_opt ::= $Empty // - case 165: { action.builder. + case 169: { action.builder. consumeEmpty(); break; } // - // Rule 174: statement ::= ERROR_TOKEN + // Rule 178: statement ::= ERROR_TOKEN // - case 174: { action.builder. + case 178: { action.builder. consumeStatementProblem(); break; } // - // Rule 175: labeled_statement ::= identifier : statement + // Rule 179: labeled_statement ::= identifier : statement // - case 175: { action.builder. + case 179: { action.builder. consumeStatementLabeled(); break; } // - // Rule 176: labeled_statement ::= case constant_expression : + // Rule 180: labeled_statement ::= case constant_expression : // - case 176: { action.builder. + case 180: { action.builder. consumeStatementCase(); break; } // - // Rule 177: labeled_statement ::= default : + // Rule 181: labeled_statement ::= default : // - case 177: { action.builder. + case 181: { action.builder. consumeStatementDefault(); break; } // - // Rule 178: expression_statement ::= expression ; + // Rule 182: expression_statement ::= expression ; // - case 178: { action.builder. + case 182: { action.builder. consumeStatementExpression(); break; } // - // Rule 179: expression_statement ::= ; + // Rule 183: expression_statement ::= ; // - case 179: { action.builder. + case 183: { action.builder. consumeStatementNull(); break; } // - // Rule 180: compound_statement ::= { statement_seq } + // Rule 184: compound_statement ::= { statement_seq } // - case 180: { action.builder. + case 184: { action.builder. consumeStatementCompoundStatement(true); break; } // - // Rule 181: compound_statement ::= { } + // Rule 185: compound_statement ::= { } // - case 181: { action.builder. + case 185: { action.builder. consumeStatementCompoundStatement(false); break; } // - // Rule 184: selection_statement ::= if ( condition ) statement + // Rule 188: selection_statement ::= if ( condition ) statement // - case 184: { action.builder. + case 188: { action.builder. consumeStatementIf(false); break; } // - // Rule 185: selection_statement ::= if ( condition ) statement else statement + // Rule 189: selection_statement ::= if ( condition ) statement else statement // - case 185: { action.builder. + case 189: { action.builder. consumeStatementIf(true); break; } // - // Rule 186: selection_statement ::= switch ( condition ) statement + // Rule 190: selection_statement ::= switch ( condition ) statement // - case 186: { action.builder. + case 190: { action.builder. consumeStatementSwitch(); break; } // - // Rule 188: condition ::= type_specifier_seq declarator = assignment_expression + // Rule 192: condition ::= type_specifier_seq declarator = assignment_expression // - case 188: { action.builder. + case 192: { action.builder. consumeConditionDeclaration(); break; } // - // Rule 189: iteration_statement ::= while ( condition ) statement + // Rule 193: iteration_statement ::= while ( condition ) statement // - case 189: { action.builder. + case 193: { action.builder. consumeStatementWhileLoop(); break; } // - // Rule 190: iteration_statement ::= do statement while ( expression ) ; + // Rule 194: iteration_statement ::= do statement while ( expression ) ; // - case 190: { action.builder. + case 194: { action.builder. consumeStatementDoLoop(); break; } // - // Rule 191: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement + // Rule 195: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement // - case 191: { action.builder. + case 195: { action.builder. consumeStatementForLoop(); break; } // - // Rule 192: iteration_statement ::= for ( simple_declaration expression_opt ; expression_opt ) statement + // Rule 196: iteration_statement ::= for ( simple_declaration expression_opt ; expression_opt ) statement // - case 192: { action.builder. + case 196: { action.builder. consumeStatementForLoop(); break; } // - // Rule 193: jump_statement ::= break ; + // Rule 197: jump_statement ::= break ; // - case 193: { action.builder. + case 197: { action.builder. consumeStatementBreak(); break; } // - // Rule 194: jump_statement ::= continue ; + // Rule 198: jump_statement ::= continue ; // - case 194: { action.builder. + case 198: { action.builder. consumeStatementContinue(); break; } // - // Rule 195: jump_statement ::= return expression ; + // Rule 199: jump_statement ::= return expression ; // - case 195: { action.builder. + case 199: { action.builder. consumeStatementReturn(true); break; } // - // Rule 196: jump_statement ::= return ; + // Rule 200: jump_statement ::= return ; // - case 196: { action.builder. + case 200: { action.builder. consumeStatementReturn(false); break; } // - // Rule 197: jump_statement ::= goto identifier ; + // Rule 201: jump_statement ::= goto identifier ; // - case 197: { action.builder. + case 201: { action.builder. consumeStatementGoto(); break; } // - // Rule 198: declaration_statement ::= block_declaration + // Rule 202: declaration_statement ::= block_declaration // - case 198: { action.builder. + case 202: { action.builder. consumeStatementDeclaration(); break; } // - // Rule 215: simple_declaration ::= declaration_specifiers_opt init_declarator_list_opt ; + // Rule 219: simple_declaration ::= declaration_specifiers_opt init_declarator_list_opt ; // - case 215: { action.builder. + case 219: { action.builder. consumeDeclarationSimple(true); break; } // - // Rule 216: declaration_specifiers ::= simple_declaration_specifiers + // Rule 220: declaration_specifiers ::= simple_declaration_specifiers // - case 216: { action.builder. + case 220: { action.builder. consumeDeclarationSpecifiersSimple(); break; } // - // Rule 217: declaration_specifiers ::= class_declaration_specifiers + // Rule 221: declaration_specifiers ::= class_declaration_specifiers // - case 217: { action.builder. + case 221: { action.builder. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 218: declaration_specifiers ::= elaborated_declaration_specifiers + // Rule 222: declaration_specifiers ::= elaborated_declaration_specifiers // - case 218: { action.builder. + case 222: { action.builder. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 219: declaration_specifiers ::= enum_declaration_specifiers + // Rule 223: declaration_specifiers ::= enum_declaration_specifiers // - case 219: { action.builder. + case 223: { action.builder. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 220: declaration_specifiers ::= type_name_declaration_specifiers + // Rule 224: declaration_specifiers ::= type_name_declaration_specifiers // - case 220: { action.builder. + case 224: { action.builder. consumeDeclarationSpecifiersTypeName(); break; } // - // Rule 222: declaration_specifiers_opt ::= $Empty + // Rule 226: declaration_specifiers_opt ::= $Empty // - case 222: { action.builder. + case 226: { action.builder. consumeEmpty(); break; } // - // Rule 226: no_type_declaration_specifier ::= friend + // Rule 230: no_type_declaration_specifier ::= friend // - case 226: { action.builder. + case 230: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 227: no_type_declaration_specifier ::= typedef + // Rule 231: no_type_declaration_specifier ::= typedef // - case 227: { action.builder. + case 231: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 255: simple_type_specifier ::= simple_type_specifier_token + // Rule 259: simple_type_specifier ::= simple_type_specifier_token // - case 255: { action.builder. + case 259: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 271: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name + // Rule 275: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name // - case 271: { action.builder. + case 275: { action.builder. consumeQualifiedId(false); break; } // - // Rule 272: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name + // Rule 276: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name // - case 272: { action.builder. + case 276: { action.builder. consumeQualifiedId(false); break; } // - // Rule 273: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name + // Rule 277: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name // - case 273: { action.builder. + case 277: { action.builder. consumeQualifiedId(false); break; } // - // Rule 274: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name + // Rule 278: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name // - case 274: { action.builder. + case 278: { action.builder. consumeQualifiedId(true); break; } // - // Rule 275: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt identifier_name + // Rule 279: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt identifier_name // - case 275: { action.builder. + case 279: { action.builder. consumeTypeSpecifierElaborated(false); break; } // - // Rule 276: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt template_opt template_id_name + // Rule 280: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt template_opt template_id_name // - case 276: { action.builder. + case 280: { action.builder. consumeTypeSpecifierElaborated(true); break; } // - // Rule 277: elaborated_type_specifier ::= enum dcolon_opt nested_name_specifier_opt identifier_name + // Rule 281: elaborated_type_specifier ::= enum dcolon_opt nested_name_specifier_opt identifier_name // - case 277: { action.builder. + case 281: { action.builder. consumeTypeSpecifierElaborated(false); break; } // - // Rule 279: enum_specifier ::= enum { enumerator_list_opt } + // Rule 283: enum_specifier ::= enum { enumerator_list_opt } // - case 279: { action.builder. + case 283: { action.builder. consumeTypeSpecifierEnumeration(false); break; } // - // Rule 280: enum_specifier ::= enum identifier { enumerator_list_opt } + // Rule 284: enum_specifier ::= enum identifier { enumerator_list_opt } // - case 280: { action.builder. + case 284: { action.builder. consumeTypeSpecifierEnumeration(true); break; } // - // Rule 285: enumerator_definition ::= enumerator + // Rule 289: enumerator_definition ::= enumerator // - case 285: { action.builder. + case 289: { action.builder. consumeEnumerator(false); break; } // - // Rule 286: enumerator_definition ::= enumerator = constant_expression + // Rule 290: enumerator_definition ::= enumerator = constant_expression // - case 286: { action.builder. + case 290: { action.builder. consumeEnumerator(true); break; } // - // Rule 295: original_namespace_definition ::= namespace identifier_name { declaration_seq_opt } + // Rule 299: original_namespace_definition ::= namespace identifier_name { declaration_seq_opt } // - case 295: { action.builder. + case 299: { action.builder. consumeNamespaceDefinition(true); break; } // - // Rule 296: extension_namespace_definition ::= namespace original_namespace_name { declaration_seq_opt } + // Rule 300: extension_namespace_definition ::= namespace original_namespace_name { declaration_seq_opt } // - case 296: { action.builder. + case 300: { action.builder. consumeNamespaceDefinition(true); break; } // - // Rule 297: unnamed_namespace_definition ::= namespace { declaration_seq_opt } + // Rule 301: unnamed_namespace_definition ::= namespace { declaration_seq_opt } // - case 297: { action.builder. + case 301: { action.builder. consumeNamespaceDefinition(false); break; } // - // Rule 299: namespace_alias_definition ::= namespace identifier = dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 303: namespace_alias_definition ::= namespace identifier = dcolon_opt nested_name_specifier_opt namespace_name ; // - case 299: { action.builder. + case 303: { action.builder. consumeNamespaceAliasDefinition(); break; } // - // Rule 300: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; + // Rule 304: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; // - case 300: { action.builder. + case 304: { action.builder. consumeUsingDeclaration(); break; } // - // Rule 301: typename_opt ::= typename + // Rule 305: typename_opt ::= typename // - case 301: { action.builder. + case 305: { action.builder. consumePlaceHolder(); break; } // - // Rule 302: typename_opt ::= $Empty + // Rule 306: typename_opt ::= $Empty // - case 302: { action.builder. + case 306: { action.builder. consumeEmpty(); break; } // - // Rule 303: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 307: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; // - case 303: { action.builder. + case 307: { action.builder. consumeUsingDirective(); break; } // - // Rule 304: asm_definition ::= asm ( stringlit ) ; + // Rule 308: asm_definition ::= asm ( stringlit ) ; // - case 304: { action.builder. + case 308: { action.builder. consumeDeclarationASM(); break; } // - // Rule 305: linkage_specification ::= extern stringlit { declaration_seq_opt } + // Rule 309: linkage_specification ::= extern stringlit { declaration_seq_opt } // - case 305: { action.builder. + case 309: { action.builder. consumeLinkageSpecification(); break; } // - // Rule 306: linkage_specification ::= extern stringlit declaration + // Rule 310: linkage_specification ::= extern stringlit declaration // - case 306: { action.builder. + case 310: { action.builder. consumeLinkageSpecification(); break; } // - // Rule 312: init_declarator ::= declarator initializer + // Rule 316: init_declarator ::= declarator initializer // - case 312: { action.builder. + case 316: { action.builder. consumeDeclaratorWithInitializer(true); break; } // - // Rule 314: declarator ::= ptr_operator_seq direct_declarator + // Rule 318: declarator ::= ptr_operator_seq direct_declarator // - case 314: { action.builder. + case 318: { action.builder. consumeDeclaratorWithPointer(true); break; } // - // Rule 318: basic_direct_declarator ::= declarator_id_name + // Rule 322: basic_direct_declarator ::= declarator_id_name // - case 318: { action.builder. + case 322: { action.builder. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 319: basic_direct_declarator ::= ( declarator ) + // Rule 323: basic_direct_declarator ::= ( declarator ) // - case 319: { action.builder. + case 323: { action.builder. consumeDirectDeclaratorBracketed(); break; } // - // Rule 320: function_direct_declarator ::= basic_direct_declarator ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt + // Rule 324: function_direct_declarator ::= basic_direct_declarator ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt // - case 320: { action.builder. + case 324: { action.builder. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 321: array_direct_declarator ::= array_direct_declarator array_modifier + // Rule 325: array_direct_declarator ::= array_direct_declarator array_modifier // - case 321: { action.builder. + case 325: { action.builder. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 322: array_direct_declarator ::= basic_direct_declarator array_modifier + // Rule 326: array_direct_declarator ::= basic_direct_declarator array_modifier // - case 322: { action.builder. + case 326: { action.builder. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 323: array_modifier ::= [ constant_expression ] + // Rule 327: array_modifier ::= [ constant_expression ] // - case 323: { action.builder. + case 327: { action.builder. consumeDirectDeclaratorArrayModifier(true); break; } // - // Rule 324: array_modifier ::= [ ] + // Rule 328: array_modifier ::= [ ] // - case 324: { action.builder. + case 328: { action.builder. consumeDirectDeclaratorArrayModifier(false); break; } // - // Rule 325: ptr_operator ::= * cv_qualifier_seq_opt + // Rule 329: ptr_operator ::= * cv_qualifier_seq_opt // - case 325: { action.builder. + case 329: { action.builder. consumePointer(); break; } // - // Rule 326: ptr_operator ::= & + // Rule 330: ptr_operator ::= & // - case 326: { action.builder. + case 330: { action.builder. consumeReferenceOperator(); break; } // - // Rule 327: ptr_operator ::= dcolon_opt nested_name_specifier * cv_qualifier_seq_opt + // Rule 331: ptr_operator ::= dcolon_opt nested_name_specifier * cv_qualifier_seq_opt // - case 327: { action.builder. + case 331: { action.builder. consumePointerToMember(); break; } // - // Rule 333: cv_qualifier ::= const + // Rule 337: cv_qualifier ::= const // - case 333: { action.builder. + case 337: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 334: cv_qualifier ::= volatile + // Rule 338: cv_qualifier ::= volatile // - case 334: { action.builder. + case 338: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 336: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name + // Rule 340: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name // - case 336: { action.builder. + case 340: { action.builder. consumeQualifiedId(false); break; } // - // Rule 337: type_id ::= type_specifier_seq + // Rule 341: type_id ::= type_specifier_seq // - case 337: { action.builder. + case 341: { action.builder. consumeTypeId(false); break; } // - // Rule 338: type_id ::= type_specifier_seq abstract_declarator + // Rule 342: type_id ::= type_specifier_seq abstract_declarator // - case 338: { action.builder. + case 342: { action.builder. consumeTypeId(true); break; } // - // Rule 341: abstract_declarator ::= ptr_operator_seq + // Rule 345: abstract_declarator ::= ptr_operator_seq // - case 341: { action.builder. + case 345: { action.builder. consumeDeclaratorWithPointer(false); break; } // - // Rule 342: abstract_declarator ::= ptr_operator_seq direct_abstract_declarator + // Rule 346: abstract_declarator ::= ptr_operator_seq direct_abstract_declarator // - case 342: { action.builder. + case 346: { action.builder. consumeDeclaratorWithPointer(true); break; } // - // Rule 346: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 350: basic_direct_abstract_declarator ::= ( abstract_declarator ) // - case 346: { action.builder. + case 350: { action.builder. consumeDirectDeclaratorBracketed(); break; } // - // Rule 347: array_direct_abstract_declarator ::= array_modifier + // Rule 351: array_direct_abstract_declarator ::= array_modifier // - case 347: { action.builder. + case 351: { action.builder. consumeDirectDeclaratorArrayDeclarator(false); break; } // - // Rule 348: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier + // Rule 352: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier // - case 348: { action.builder. + case 352: { action.builder. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 349: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier + // Rule 353: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier // - case 349: { action.builder. + case 353: { action.builder. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 350: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt + // Rule 354: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt // - case 350: { action.builder. + case 354: { action.builder. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 351: function_direct_abstract_declarator ::= ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt + // Rule 355: function_direct_abstract_declarator ::= ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt // - case 351: { action.builder. + case 355: { action.builder. consumeDirectDeclaratorFunctionDeclarator(false); break; } // - // Rule 352: parameter_declaration_clause ::= parameter_declaration_list_opt ... + // Rule 356: parameter_declaration_clause ::= parameter_declaration_list_opt ... // - case 352: { action.builder. + case 356: { action.builder. consumePlaceHolder(); break; } // - // Rule 353: parameter_declaration_clause ::= parameter_declaration_list_opt + // Rule 357: parameter_declaration_clause ::= parameter_declaration_list_opt // - case 353: { action.builder. + case 357: { action.builder. consumeEmpty(); break; } // - // Rule 354: parameter_declaration_clause ::= parameter_declaration_list , ... + // Rule 358: parameter_declaration_clause ::= parameter_declaration_list , ... // - case 354: { action.builder. + case 358: { action.builder. consumePlaceHolder(); break; } // - // Rule 360: abstract_declarator_opt ::= $Empty + // Rule 364: abstract_declarator_opt ::= $Empty // - case 360: { action.builder. + case 364: { action.builder. consumeEmpty(); break; } // - // Rule 361: parameter_declaration ::= declaration_specifiers parameter_init_declarator + // Rule 365: parameter_declaration ::= declaration_specifiers parameter_init_declarator // - case 361: { action.builder. + case 365: { action.builder. consumeParameterDeclaration(); break; } // - // Rule 362: parameter_declaration ::= declaration_specifiers + // Rule 366: parameter_declaration ::= declaration_specifiers // - case 362: { action.builder. + case 366: { action.builder. consumeParameterDeclarationWithoutDeclarator(); break; } // - // Rule 364: parameter_init_declarator ::= declarator = parameter_initializer + // Rule 368: parameter_init_declarator ::= declarator = parameter_initializer // - case 364: { action.builder. + case 368: { action.builder. consumeDeclaratorWithInitializer(true); break; } // - // Rule 366: parameter_init_declarator ::= abstract_declarator = parameter_initializer + // Rule 370: parameter_init_declarator ::= abstract_declarator = parameter_initializer // - case 366: { action.builder. + case 370: { action.builder. consumeDeclaratorWithInitializer(true); break; } // - // Rule 367: parameter_init_declarator ::= = parameter_initializer + // Rule 371: parameter_init_declarator ::= = parameter_initializer // - case 367: { action.builder. + case 371: { action.builder. consumeDeclaratorWithInitializer(false); break; } // - // Rule 368: parameter_initializer ::= assignment_expression + // Rule 372: parameter_initializer ::= assignment_expression // - case 368: { action.builder. + case 372: { action.builder. consumeInitializer(); break; } // - // Rule 369: function_definition ::= declaration_specifiers_opt function_direct_declarator ctor_initializer_list_opt function_body + // Rule 373: function_definition ::= declaration_specifiers_opt function_direct_declarator ctor_initializer_list_opt function_body // - case 369: { action.builder. + case 373: { action.builder. consumeFunctionDefinition(false); break; } // - // Rule 370: function_definition ::= declaration_specifiers_opt function_direct_declarator try ctor_initializer_list_opt function_body handler_seq + // Rule 374: function_definition ::= declaration_specifiers_opt function_direct_declarator try ctor_initializer_list_opt function_body handler_seq // - case 370: { action.builder. + case 374: { action.builder. consumeFunctionDefinition(true); break; } // - // Rule 373: initializer ::= ( expression_list ) + // Rule 377: initializer ::= ( expression_list ) // - case 373: { action.builder. + case 377: { action.builder. consumeInitializerConstructor(); break; } // - // Rule 374: initializer_clause ::= assignment_expression + // Rule 378: initializer_clause ::= assignment_expression // - case 374: { action.builder. + case 378: { action.builder. consumeInitializer(); break; } // - // Rule 375: initializer_clause ::= { initializer_list , } + // Rule 379: initializer_clause ::= { initializer_list , } // - case 375: { action.builder. + case 379: { action.builder. consumeInitializerList(); break; } // - // Rule 376: initializer_clause ::= { initializer_list } + // Rule 380: initializer_clause ::= { initializer_list } // - case 376: { action.builder. + case 380: { action.builder. consumeInitializerList(); break; } // - // Rule 377: initializer_clause ::= { } + // Rule 381: initializer_clause ::= { } // - case 377: { action.builder. + case 381: { action.builder. consumeInitializerList(); break; } // - // Rule 382: class_specifier ::= class_head { member_declaration_list_opt } + // Rule 386: class_specifier ::= class_head { member_declaration_list_opt } // - case 382: { action.builder. + case 386: { action.builder. consumeClassSpecifier(); break; } // - // Rule 383: class_head ::= class_keyword identifier_name_opt base_clause_opt + // Rule 387: class_head ::= class_keyword identifier_name_opt base_clause_opt // - case 383: { action.builder. + case 387: { action.builder. consumeClassHead(false); break; } // - // Rule 384: class_head ::= class_keyword template_id_name base_clause_opt + // Rule 388: class_head ::= class_keyword template_id_name base_clause_opt // - case 384: { action.builder. + case 388: { action.builder. consumeClassHead(false); break; } // - // Rule 385: class_head ::= class_keyword nested_name_specifier identifier_name base_clause_opt + // Rule 389: class_head ::= class_keyword nested_name_specifier identifier_name base_clause_opt // - case 385: { action.builder. + case 389: { action.builder. consumeClassHead(true); break; } // - // Rule 386: class_head ::= class_keyword nested_name_specifier template_id_name base_clause_opt - // - case 386: { action.builder. - consumeClassHead(true); break; - } - - // - // Rule 390: identifier_name_opt ::= $Empty + // Rule 390: class_head ::= class_keyword nested_name_specifier template_id_name base_clause_opt // case 390: { action.builder. + consumeClassHead(true); break; + } + + // + // Rule 394: identifier_name_opt ::= $Empty + // + case 394: { action.builder. consumeEmpty(); break; } // - // Rule 394: visibility_label ::= access_specifier_keyword : + // Rule 398: visibility_label ::= access_specifier_keyword : // - case 394: { action.builder. + case 398: { action.builder. consumeVisibilityLabel(); break; } // - // Rule 395: member_declaration ::= declaration_specifiers_opt member_declarator_list ; + // Rule 399: member_declaration ::= declaration_specifiers_opt member_declarator_list ; // - case 395: { action.builder. + case 399: { action.builder. consumeDeclarationSimple(true); break; } // - // Rule 396: member_declaration ::= declaration_specifiers_opt ; + // Rule 400: member_declaration ::= declaration_specifiers_opt ; // - case 396: { action.builder. + case 400: { action.builder. consumeDeclarationSimple(false); break; } // - // Rule 399: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ; + // Rule 403: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ; // - case 399: { action.builder. + case 403: { action.builder. consumeMemberDeclarationQualifiedId(); break; } // - // Rule 410: member_declarator ::= declarator constant_initializer + // Rule 407: member_declaration ::= ERROR_TOKEN // - case 410: { action.builder. + case 407: { action.builder. + consumeDeclarationProblem(); break; + } + + // + // Rule 415: member_declarator ::= declarator constant_initializer + // + case 415: { action.builder. consumeMemberDeclaratorWithInitializer(); break; } // - // Rule 411: member_declarator ::= bit_field_declarator : constant_expression + // Rule 416: member_declarator ::= bit_field_declarator : constant_expression // - case 411: { action.builder. + case 416: { action.builder. consumeBitField(true); break; } // - // Rule 412: member_declarator ::= : constant_expression + // Rule 417: member_declarator ::= : constant_expression // - case 412: { action.builder. + case 417: { action.builder. consumeBitField(false); break; } // - // Rule 413: bit_field_declarator ::= identifier_name + // Rule 418: bit_field_declarator ::= identifier_name // - case 413: { action.builder. + case 418: { action.builder. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 420: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name + // Rule 425: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name // - case 420: { action.builder. + case 425: { action.builder. consumeBaseSpecifier(false); break; } // - // Rule 421: base_specifier ::= virtual_opt access_specifier_keyword virtual_opt dcolon_opt nested_name_specifier_opt class_name + // Rule 426: base_specifier ::= virtual_opt access_specifier_keyword virtual_opt dcolon_opt nested_name_specifier_opt class_name // - case 421: { action.builder. + case 426: { action.builder. consumeBaseSpecifier(true); break; } // - // Rule 422: virtual_opt ::= virtual + // Rule 427: virtual_opt ::= virtual // - case 422: { action.builder. + case 427: { action.builder. consumePlaceHolder(); break; } // - // Rule 423: virtual_opt ::= $Empty + // Rule 428: virtual_opt ::= $Empty // - case 423: { action.builder. + case 428: { action.builder. consumeEmpty(); break; } // - // Rule 429: conversion_function_id_name ::= operator conversion_type_id + // Rule 434: conversion_function_id_name ::= operator conversion_type_id // - case 429: { action.builder. + case 434: { action.builder. consumeConversionName(); break; } // - // Rule 430: conversion_type_id ::= type_specifier_seq conversion_declarator + // Rule 435: conversion_type_id ::= type_specifier_seq conversion_declarator // - case 430: { action.builder. + case 435: { action.builder. consumeTypeId(true); break; } // - // Rule 431: conversion_type_id ::= type_specifier_seq + // Rule 436: conversion_type_id ::= type_specifier_seq // - case 431: { action.builder. + case 436: { action.builder. consumeTypeId(false); break; } // - // Rule 432: conversion_declarator ::= ptr_operator_seq + // Rule 437: conversion_declarator ::= ptr_operator_seq // - case 432: { action.builder. + case 437: { action.builder. consumeDeclaratorWithPointer(false); break; } // - // Rule 438: mem_initializer ::= mem_initializer_name ( expression_list_opt ) + // Rule 443: mem_initializer ::= mem_initializer_name ( expression_list_opt ) // - case 438: { action.builder. + case 443: { action.builder. consumeConstructorChainInitializer(); break; } // - // Rule 439: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name + // Rule 444: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name // - case 439: { action.builder. + case 444: { action.builder. consumeQualifiedId(false); break; } // - // Rule 442: operator_function_id_name ::= operator_id_name < template_argument_list_opt > + // Rule 447: operator_function_id_name ::= operator_id_name < template_argument_list_opt > // - case 442: { action.builder. + case 447: { action.builder. consumeTemplateId(); break; } // - // Rule 443: operator_id_name ::= operator overloadable_operator + // Rule 448: operator_id_name ::= operator overloadable_operator // - case 443: { action.builder. + case 448: { action.builder. consumeOperatorName(); break; } // - // Rule 486: template_declaration ::= export_opt template < template_parameter_list > declaration + // Rule 491: template_declaration ::= export_opt template < template_parameter_list > declaration // - case 486: { action.builder. + case 491: { action.builder. consumeTemplateDeclaration(); break; } // - // Rule 487: export_opt ::= export + // Rule 492: export_opt ::= export // - case 487: { action.builder. + case 492: { action.builder. consumePlaceHolder(); break; } // - // Rule 488: export_opt ::= $Empty + // Rule 493: export_opt ::= $Empty // - case 488: { action.builder. + case 493: { action.builder. consumeEmpty(); break; } // - // Rule 493: type_parameter ::= class identifier_name_opt + // Rule 498: type_parameter ::= class identifier_name_opt // - case 493: { action.builder. + case 498: { action.builder. consumeSimpleTypeTemplateParameter(false); break; } // - // Rule 494: type_parameter ::= class identifier_name_opt = type_id + // Rule 499: type_parameter ::= class identifier_name_opt = type_id // - case 494: { action.builder. + case 499: { action.builder. consumeSimpleTypeTemplateParameter(true); break; } // - // Rule 495: type_parameter ::= typename identifier_name_opt + // Rule 500: type_parameter ::= typename identifier_name_opt // - case 495: { action.builder. + case 500: { action.builder. consumeSimpleTypeTemplateParameter(false); break; } // - // Rule 496: type_parameter ::= typename identifier_name_opt = type_id + // Rule 501: type_parameter ::= typename identifier_name_opt = type_id // - case 496: { action.builder. + case 501: { action.builder. consumeSimpleTypeTemplateParameter(true); break; } // - // Rule 497: type_parameter ::= template < template_parameter_list > class identifier_name_opt + // Rule 502: type_parameter ::= template < template_parameter_list > class identifier_name_opt // - case 497: { action.builder. + case 502: { action.builder. consumeTemplatedTypeTemplateParameter(false); break; } // - // Rule 498: type_parameter ::= template < template_parameter_list > class identifier_name_opt = id_expression + // Rule 503: type_parameter ::= template < template_parameter_list > class identifier_name_opt = id_expression // - case 498: { action.builder. + case 503: { action.builder. consumeTemplatedTypeTemplateParameter(true); break; } // - // Rule 499: template_id_name ::= template_identifier < template_argument_list_opt > + // Rule 504: template_id_name ::= template_identifier < template_argument_list_opt > // - case 499: { action.builder. + case 504: { action.builder. consumeTemplateId(); break; } // - // Rule 508: explicit_instantiation ::= template declaration + // Rule 513: explicit_instantiation ::= template declaration // - case 508: { action.builder. + case 513: { action.builder. consumeTemplateExplicitInstantiation(); break; } // - // Rule 509: explicit_specialization ::= template < > declaration + // Rule 514: explicit_specialization ::= template < > declaration // - case 509: { action.builder. + case 514: { action.builder. consumeTemplateExplicitSpecialization(); break; } // - // Rule 510: try_block ::= try compound_statement handler_seq + // Rule 515: try_block ::= try compound_statement handler_seq // - case 510: { action.builder. + case 515: { action.builder. consumeStatementTryBlock(); break; } // - // Rule 513: handler ::= catch ( exception_declaration ) compound_statement + // Rule 518: handler ::= catch ( exception_declaration ) compound_statement // - case 513: { action.builder. + case 518: { action.builder. consumeStatementCatchHandler(false); break; } // - // Rule 514: handler ::= catch ( ... ) compound_statement + // Rule 519: handler ::= catch ( ... ) compound_statement // - case 514: { action.builder. + case 519: { action.builder. consumeStatementCatchHandler(true); break; } // - // Rule 515: exception_declaration ::= type_specifier_seq declarator + // Rule 520: exception_declaration ::= type_specifier_seq declarator // - case 515: { action.builder. + case 520: { action.builder. consumeDeclarationSimple(true); break; } // - // Rule 516: exception_declaration ::= type_specifier_seq abstract_declarator + // Rule 521: exception_declaration ::= type_specifier_seq abstract_declarator // - case 516: { action.builder. + case 521: { action.builder. consumeDeclarationSimple(true); break; } // - // Rule 517: exception_declaration ::= type_specifier_seq + // Rule 522: exception_declaration ::= type_specifier_seq // - case 517: { action.builder. + case 522: { action.builder. consumeDeclarationSimple(false); break; } // - // Rule 525: expression_parser_start ::= ERROR_TOKEN + // Rule 530: expression_parser_start ::= ERROR_TOKEN // - case 525: { action.builder. + case 530: { action.builder. consumeExpressionProblem(); break; } diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionStatementParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionStatementParserprs.java index ba9f707c689..8f8d8fb4cb6 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionStatementParserprs.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionStatementParserprs.java @@ -38,487 +38,485 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse public interface BaseCheck { public final static short baseCheck[] = {0, 0,0,0,0,0,1,1,1,1,1, - 0,1,1,1,1,1,1,1,1,1, - 3,1,1,1,1,1,1,1,1,2, - 1,1,0,1,0,4,2,2,2,3, - 2,3,2,2,1,0,1,1,1,4, - 4,4,8,8,3,3,4,4,3,3, - 2,2,7,7,7,7,4,4,6,7, - 4,1,1,1,2,2,2,2,2,2, - 2,2,2,4,7,7,3,1,0,1, - 2,2,1,2,3,4,1,0,3,1, - 0,3,5,1,4,1,3,3,1,3, - 3,3,1,3,3,1,3,3,1,3, - 3,3,3,1,3,3,1,3,1,3, - 1,3,1,3,1,3,1,5,1,2, - 1,1,3,3,3,3,3,3,3,3, - 3,3,3,1,1,2,1,3,1,0, - 1,0,1,1,0,1,1,1,1,1, - 1,1,1,1,3,3,2,2,1,4, - 2,1,2,5,7,5,1,4,5,7, - 9,8,2,2,3,2,3,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,2,1,0,4,2,2,2,2,2, - 1,0,1,1,1,1,1,1,2,1, - 2,2,2,1,2,2,1,2,2,1, - 2,2,1,2,2,1,1,1,1,1, + 0,1,2,1,1,1,1,1,1,1, + 1,1,1,1,3,1,1,1,1,1, + 1,1,1,2,1,1,0,1,0,4, + 2,2,2,3,2,3,2,2,1,0, + 1,1,1,4,4,4,8,8,3,3, + 4,4,3,3,2,2,7,7,7,7, + 4,4,6,7,4,1,1,1,2,2, + 2,2,2,2,2,2,2,4,7,7, + 3,1,0,1,2,2,1,2,3,4, + 1,0,3,1,0,3,5,1,4,1, + 3,3,1,3,3,3,1,3,3,1, + 3,3,1,3,3,3,3,1,3,3, + 1,3,1,3,1,3,1,3,1,3, + 1,5,1,2,1,1,3,3,3,3, + 3,3,3,3,3,3,3,1,1,2, + 1,3,1,0,1,0,1,1,0,1, + 1,1,1,1,1,1,1,1,3,3, + 2,2,1,4,2,1,2,5,7,5, + 1,4,5,7,9,8,2,2,3,2, + 3,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,2,1,0,4,2, + 2,2,2,2,1,0,1,1,1,1, + 1,1,2,1,2,2,2,1,2,2, + 1,2,2,1,2,2,1,2,2,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 3,4,4,5,4,5,4,1,5,6, - 1,3,1,0,1,3,1,1,1,1, - 1,1,1,1,6,6,5,1,7,6, - 1,0,6,5,6,4,1,3,1,0, - 1,2,1,3,1,1,1,1,3,9, - 2,2,3,2,3,1,5,1,2,2, - 1,0,1,1,1,3,1,2,1,1, - 2,3,1,1,1,3,1,2,2,9, - 8,2,1,3,1,3,1,0,1,0, - 2,1,1,3,1,3,2,1,5,8, - 1,2,3,1,5,4,3,1,3,1, - 1,5,4,4,5,5,1,0,1,0, - 1,1,1,2,4,2,2,1,5,1, - 1,1,1,2,1,0,1,3,1,2, - 3,2,1,2,2,1,0,1,3,3, - 6,1,0,1,1,1,1,0,2,2, - 1,2,2,1,0,1,3,4,3,1, - 1,5,2,1,1,3,3,1,1,1, + 1,1,1,1,3,4,4,5,4,5, + 4,1,5,6,1,3,1,0,1,3, + 1,1,1,1,1,1,1,1,6,6, + 5,1,7,6,1,0,6,5,6,4, + 1,3,1,0,1,2,1,3,1,1, + 1,1,3,9,2,2,3,2,3,1, + 5,1,2,2,1,0,1,1,1,3, + 1,2,1,1,2,3,1,1,1,3, + 1,2,2,9,8,2,1,3,1,3, + 1,0,1,0,2,1,1,3,1,3, + 2,1,5,8,1,2,3,1,5,4, + 3,1,3,1,1,5,4,4,5,5, + 1,0,1,0,1,1,1,2,4,2, + 2,1,5,1,1,1,1,1,2,1, + 0,1,3,1,2,3,2,1,2,2, + 1,0,1,3,3,6,1,0,1,1, + 1,1,0,2,2,1,2,2,1,0, + 1,3,4,3,1,1,5,2,1,1, + 3,3,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,2,2,7,1,0,1,3, - 1,1,2,4,2,4,7,9,5,1, - 1,3,1,0,1,1,1,2,4,4, - 1,2,5,5,3,3,1,4,3,1, - 0,1,3,2,1,-63,0,0,0,-2, + 1,1,1,1,1,1,1,1,2,2, + 7,1,0,1,3,1,1,2,4,2, + 4,7,9,5,1,1,3,1,0,1, + 1,1,2,4,4,1,2,5,5,3, + 3,1,4,3,1,0,1,3,2,1, + -63,0,0,0,-2,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-12,0, - 0,0,0,0,0,0,0,0,-125,0, - 0,0,0,0,-5,0,0,-146,0,0, - 0,-6,-54,0,0,0,0,-7,-84,0, + 0,0,0,-5,0,0,0,0,-357,0, + 0,0,0,-12,0,0,0,0,0,-6, + 0,0,-146,0,0,0,-7,-3,0,0, + 0,0,-8,-93,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-9,0,0,0, + 0,0,0,0,0,0,0,0,0,-187, + 0,0,0,0,0,0,-23,0,0,0, + -55,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-178,-66,0,0,0,0,-149, + 0,0,0,0,0,0,0,0,0,0, + 0,-10,0,0,0,0,0,0,0,-117, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-8,0,0,0,0,-479,0,-328,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-23,0,0,0,-55,0,0,0,0, + 0,0,0,0,0,0,0,-265,0,0, + -59,0,0,0,0,0,0,0,-11,0, + 0,-247,-328,0,0,0,0,0,0,0, + 0,0,-395,0,0,-133,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-149,0,0,0,0,0, - 0,0,0,0,0,0,-3,0,0,0, - 0,0,0,0,-117,0,0,0,0,0, + 0,0,0,-125,0,0,-307,0,0,0, + 0,0,0,-51,0,0,0,0,-196,0, + 0,0,-60,0,-54,0,-88,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-129,0,0,0,0,0,0,0, - 0,0,-51,-9,0,0,0,-351,0,0, - 0,-307,0,0,0,0,0,-395,0,0, - -133,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-59,0, - 0,-10,0,-11,0,0,0,0,-58,0, - 0,0,0,-196,0,0,0,-178,0,0, - 0,-88,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-66,-65, - -13,-224,0,0,0,0,0,0,0,0, + 0,0,0,-432,-65,0,-224,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-138,0,0,0,0,-289, - 0,0,0,0,-187,0,0,0,-131,0, - 0,0,-237,0,0,0,0,-509,0,0, + 0,0,0,0,0,0,0,0,0,-138, + 0,0,0,0,-289,-129,0,0,0,0, + 0,0,-293,0,0,0,0,0,0,-179, + 0,0,-509,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -265,0,0,0,0,0,0,0,0,0, - -147,0,0,0,0,-243,0,0,0,-511, - 0,0,0,0,0,0,0,0,0,0, - 0,-260,-338,0,0,-353,0,0,0,0, - 0,0,0,0,0,0,0,0,-226,-14, - -519,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-147,0,0,0,0, + -243,0,0,0,-511,0,0,0,0,0, + 0,0,0,0,0,0,0,-338,0,0, + -353,0,0,0,0,0,0,0,0,0, + 0,0,-13,-226,-14,-519,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-356,0,-16,0,0,0,0,-290,0, - 0,0,0,0,0,0,0,-52,0,0, - 0,0,0,0,0,0,-60,-17,-4,0, + 0,0,0,0,0,0,-356,0,-16,0, + 0,0,0,-290,0,0,0,0,-17,0, + 0,0,-52,0,0,0,0,0,0,0, + 0,-61,0,-4,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-30,0,0,0, + 0,-183,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-31,0,0,-278, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-30,0,0,0,0,-183,0,0,0, + 0,0,0,0,0,0,0,-336,0,0, + 0,0,-118,0,0,0,0,0,0,0, + 0,-313,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-278,0,0,0,0,0, + 0,0,0,0,-131,0,0,0,0,-491, + 0,0,0,0,0,0,0,0,0,0, + -246,0,0,-152,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-314,0,0, + 0,-139,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -32,0,0,0,0,0,0,0,-33,0, + 0,0,0,0,0,0,-34,0,0,-471, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-31,0,0,0,0,-118,0,0, - 0,0,0,0,0,0,-313,0,0,0, + 0,0,-396,0,0,0,0,0,0,0, + 0,0,-417,0,0,0,0,-366,0,0, + 0,-41,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-247, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-246,0,0,-152,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-314,0,0,0,-139,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-32,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-33,0,0,-471,0,0,0,-281,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-396,0,0, - 0,0,0,0,0,0,0,-417,0,0, - 0,0,-366,0,0,0,-41,0,0,0, - -34,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-273,0,0,0,0,-61, - 0,0,0,0,-367,0,0,0,0,-43, + 0,0,0,0,-141,0,0,0,0,0, + 0,0,0,0,-109,0,0,0,0,-367, + 0,0,0,0,-43,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-35,0,0, + 0,0,-110,-132,0,0,0,-96,0,0, + 0,-281,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-35,0,0,0,0,-109,-132,0, - 0,0,-96,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-36,0, + -143,0,0,0,0,-154,-37,0,0,-97, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-36,0,-141,0,0,0,0, - 0,-37,0,0,-97,0,0,0,0,0, + 0,0,0,0,0,0,0,-200,0,0, + 0,0,0,0,0,0,0,-235,0,0, + 0,-98,0,0,0,-282,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-38,0,0,0,0,0, + 0,0,-262,0,0,0,0,0,0,-325, + -39,0,0,-99,0,0,0,-40,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-143,0,0,-38,0,0,0,0, - 0,0,-154,-39,0,0,-98,0,0,0, - -282,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-40, - 0,0,0,0,-200,0,0,-262,0,-432, - 0,0,0,0,-179,0,0,0,-99,0, - 0,0,-42,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-301,0,0,0, + 0,0,-42,0,0,-100,0,0,0,-56, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-57,0, + 0,0,0,-347,0,0,-331,0,0,0, + 0,0,0,-67,-68,0,0,-101,0,0, + 0,-69,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -71,0,0,0,0,0,0,0,-349,0, + -359,0,0,0,0,0,-72,0,0,-102, + 0,0,0,-111,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-235,0,0,0, - -100,0,0,0,-56,0,0,0,0,0, + -368,0,-430,0,0,0,0,0,-112,0, + 0,-103,0,0,0,-113,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-301,0, - 0,-331,0,0,0,0,0,0,-325,-57, - 0,0,-101,0,0,0,-67,0,0,0, + 0,0,0,0,-114,0,0,0,0,0, + 0,0,-405,0,-456,0,0,0,0,0, + -121,0,0,-104,0,0,0,-128,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-140,0,0,0, + 0,0,0,0,-413,0,-451,0,0,0, + 0,-155,-156,0,0,-105,0,0,0,-157, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-158,0, + 0,0,0,0,0,0,-414,0,-159,0, + 0,0,0,-160,-161,0,0,-106,0,0, + 0,-340,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -115,0,0,0,0,0,0,0,-162,0, + -163,0,0,0,0,-164,-165,0,0,-136, + 0,0,0,-166,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-135,0,0,0,0,0,0,0, + -167,0,-168,0,0,0,0,-116,-441,-217, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-349,0,-347,0,0,0,0, - -68,-69,0,0,-102,0,0,0,-71,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-72,0,0, - 0,0,0,0,0,-111,0,0,0,0, - 0,0,-112,-113,0,0,-103,0,0,0, - -114,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-121, - 0,0,0,0,0,0,0,-368,0,-359, - 0,0,0,0,0,-128,0,0,-104,0, - 0,0,-336,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-140,0,0,0,0,0,0,0,-405, - 0,-430,0,0,0,0,0,-155,0,0, - -105,0,0,0,-156,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-157,0,0,0,0,0,0, - 0,-413,0,-456,0,0,0,0,0,-158, - 0,0,-106,0,0,0,-340,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-115,0,0,0,0, - 0,0,0,-159,0,-160,0,0,0,0, - -161,-162,0,0,-136,0,0,0,-163,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-135,0,0, - 0,0,0,0,0,-164,0,-165,0,0, - 0,0,-110,-414,-217,0,0,0,0,0, + 0,0,-169,0,0,0,0,-206,0,0, + 0,0,-170,0,0,0,0,0,0,0, + 0,-351,0,0,0,0,0,0,0,0, + 0,0,-504,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-206,0,0,0,0,-166,0,0, + -501,0,0,-171,0,0,0,0,0,0, + 0,-172,0,0,-310,0,0,0,-173,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-174,0,0, + 0,0,-148,0,0,-175,0,-153,0,0, + 0,0,-324,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-230,0,-176,0,0,0,0, + -73,0,0,0,-177,0,0,0,0,0, + 0,0,-1,-180,-181,-202,0,-334,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-211,0,0,0,0, + 0,0,0,0,0,-354,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-182,0,0,-232,0,-191,0, + 0,0,0,-74,0,0,0,-192,0,0, + 0,0,0,0,0,-76,-197,0,0,0, + -355,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-198,0,0,0,0,0,0,-403,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-216,0,0,0,0,-201,0,0,-212, 0,0,0,0,0,0,-18,0,0,0, - -167,0,0,0,-360,-116,0,-504,0,0, + -58,-222,0,0,0,-150,0,0,0,-223, + 0,0,-225,-108,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-501,0,0,0,0, - 0,0,0,0,0,0,-168,0,0,-310, - 0,0,0,-169,0,0,0,0,0,0, + 0,0,0,0,0,0,-107,0,0,-238, + 0,-95,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-170,0,0,0,0,-148,0,0, - -171,0,-153,0,0,0,0,-324,0,0, + 0,0,0,0,0,0,0,0,0,-239, + 0,0,0,0,0,0,-94,0,0,0, + -241,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-299, + 0,0,0,0,-250,0,0,-53,0,0, + 0,-263,0,-237,-210,0,0,-264,0,0, + 0,-244,-274,0,0,-311,-341,0,0,0, + -231,0,-268,-275,-90,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-230,0, - -172,0,0,0,0,-73,0,0,0,0, - 0,0,0,0,0,0,0,-1,0,-173, - -202,0,-334,0,0,0,0,0,0,0, + 0,0,0,0,0,-91,0,0,0,-279, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -174,0,0,0,0,0,0,0,0,0, - -354,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-479,0,-280,-291, + 0,0,0,-22,0,0,0,-294,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-232,0,0,0,0,-175,0, - 0,-176,0,-177,0,0,0,0,-74,0, - 0,0,-180,0,0,0,0,0,0,0, - -76,-181,0,0,0,-355,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -295,-251,-50,0,0,0,0,-185,0,0, + 0,0,-300,-304,-236,0,0,0,0,0, + 0,0,0,0,0,0,-92,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-182,0,0,0, - 0,0,0,-403,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-317, + 0,0,0,0,-84,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-216,0,0,0, - 0,-191,0,0,-377,0,0,0,0,0, - 0,-244,-185,0,0,-186,0,0,0,0, - -150,0,0,0,-251,-192,0,0,-108,0, 0,0,0,0,0,0,0,0,0,0, + 0,-85,0,0,0,-306,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-86,0, 0,0,0,0,0,0,0,0,0,0, - 0,-107,0,0,-211,0,-95,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-322,0,0,0,-87,0,0,0,-327, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-197,0,0,0,0,0, - 0,-93,0,0,0,-198,0,0,0,0, + 0,0,0,0,0,0,0,0,-333,0, + 0,0,-240,0,0,0,0,0,0,0, + 0,0,0,0,-89,0,0,0,-269,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-238,0,0,0,0,0, - 0,0,-201,0,-94,0,0,0,0,0, + 0,0,0,0,0,0,0,-234,0,0, + -245,-215,0,0,0,-284,0,0,0,0, + 0,0,0,0,0,0,0,-335,-364,-365, + -378,0,0,0,0,-386,0,0,0,0, + 0,0,0,0,-371,-373,-123,0,0,0, + -375,0,-381,0,0,-454,-358,0,-382,0, + -120,0,-385,0,-248,-391,0,0,-496,0, 0,0,0,0,0,0,0,0,0,0, + -502,-62,0,0,0,0,-394,-260,0,0, + 0,0,0,0,-402,-362,-218,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-212,0,0,-53,0,0,0,-199, - 0,-285,-222,-223,0,-268,0,0,0,-225, - -305,0,0,0,0,0,0,0,0,0, - 0,0,-90,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-259,-469, + 0,0,0,0,0,0,0,0,-267,-404, + 0,0,0,0,0,0,0,-442,0,0, + 0,0,0,-199,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-502,0,0,0,0, - -239,0,0,-145,-480,0,-401,0,-218,-245, - 0,-241,0,0,-271,0,0,0,0,0, - 0,0,-231,0,-299,0,-210,0,0,0, - 0,0,0,0,0,-317,0,-250,0,0, - 0,0,0,-252,0,0,0,0,0,0, - 0,0,0,-253,0,0,0,0,0,0, - 0,-263,0,0,0,0,0,0,0,0, - 0,-264,-276,0,0,0,0,0,0,0, + -369,0,0,0,0,0,-406,-407,0,0, + 0,0,0,0,0,0,0,0,-408,0, + 0,0,0,-476,0,0,-186,0,0,0, + 0,-45,-203,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-91,0,0,0,0,0, + 0,0,0,-450,0,0,0,-15,0,0, 0,0,0,0,0,0,0,0,0,0, + -410,-411,0,0,0,0,0,0,-252,0, + 0,0,0,0,0,-416,0,-478,0,0, + -270,0,0,0,-339,0,0,0,-418,0, + -46,-253,-272,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-130,0,0,0, + -423,-425,-427,0,0,0,-242,-400,0,-428, 0,0,0,0,0,0,0,0,0,0, - 0,0,-92,0,0,0,-274,0,0,0, + 0,0,0,0,0,-429,-47,0,0,0, + 0,-431,0,0,0,0,-433,0,0,0, + 0,0,-188,0,-145,-434,0,0,0,0, + 0,0,0,0,0,-439,0,0,0,0, + -503,0,0,0,0,0,0,0,0,0, + 0,0,0,-360,0,0,0,-79,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-362,0,0,0,0, - -85,0,0,0,-275,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-269,0,0,0,-86,0,0, - 0,-311,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-249,0,0, + 0,-443,-316,0,0,0,0,0,0,0, + 0,0,-137,0,0,-452,0,0,0,0, + 0,0,0,-271,0,0,0,-276,0,0, + 0,-459,0,0,-472,0,0,0,0,0, + 0,0,0,0,0,0,0,-377,0,0, + 0,0,0,-80,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-87,0,0,0,0,0, + 0,0,0,0,0,0,-384,0,0,-465, + 0,0,-285,0,0,0,-466,0,0,0, + 0,-485,-499,0,0,0,-370,0,-254,0, + 0,0,0,-500,0,-473,-388,0,0,0, + 0,0,0,0,0,0,0,-401,0,0, + -190,0,0,-505,0,0,0,0,0,0, + 0,0,0,-20,0,0,0,0,-193,-460, + 0,-255,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-288,0,0, + 0,-204,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-279,0,0, - 0,-240,0,0,0,0,0,0,0,0, - 0,0,0,-89,0,0,0,-441,0,0, + 0,0,-468,0,-487,0,0,0,0,0, + 0,0,0,0,0,0,-81,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-15,0,0,-288, - 0,0,0,-280,-284,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-82, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-291,-236,0,-309,-120,0,0, - 0,-442,-496,0,0,0,-123,0,0,0, - -294,0,0,-454,0,-474,-242,0,-295,-259, - 0,-215,0,0,0,-341,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-254,0,0, + 0,0,0,0,-142,0,0,0,-83,0, 0,0,0,0,0,0,0,0,0,0, - -255,-450,0,0,0,0,0,0,-300,-492, - -304,-306,0,0,0,0,0,0,0,0, - 0,0,-62,0,-469,-370,0,-322,0,0, - 0,0,0,0,-446,0,0,0,0,0, - 0,0,0,0,0,0,-188,0,0,0, - 0,0,0,-270,-130,0,0,0,0,0, - -293,0,0,0,0,0,0,0,0,-119, - 0,0,0,0,0,0,0,0,0,-190, - -45,0,0,0,0,0,-287,0,-476,0, - 0,0,0,0,0,-495,0,0,0,0, - -193,0,-327,0,0,-465,0,0,0,0, - 0,0,0,0,0,0,0,-333,-296,0, - 0,0,0,0,0,-298,0,-350,0,0, - -451,0,0,0,0,0,-297,0,0,0, - 0,0,0,-357,0,-20,0,0,0,-335, - 0,0,-478,0,0,-339,0,0,0,0, - 0,-267,0,0,0,0,0,-364,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-412,0,0,0,0,-365,0,0,0, - 0,-343,0,-473,-491,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-371,0, - 0,-204,-470,0,0,0,0,0,0,0, - 0,-209,0,0,-228,0,0,0,0,0, - 0,0,0,-318,0,0,0,0,0,0, - 0,0,0,0,0,-503,0,0,0,0, - 0,0,0,0,0,0,0,-373,0,0, - 0,0,-79,0,0,0,0,0,0,0, + 0,-320,0,0,0,0,0,0,0,0, + 0,0,0,-498,-480,0,0,0,0,0, + -209,0,0,-470,0,-379,-343,0,0,0, + 0,-287,0,-266,0,0,0,0,0,0, + 0,0,0,0,0,0,-228,-298,0,0, + 0,0,0,-296,-326,0,0,0,0,-436, + 0,0,0,0,0,0,-273,0,0,0, + 0,0,0,-297,0,0,0,0,0,0, + -392,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-229,-234, - 0,-50,0,-375,0,0,-233,0,-381,-382, - 0,0,0,0,0,0,0,-258,-487,0, - 0,0,0,0,0,0,-277,0,0,0, - 0,-391,-21,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-80,0, + 0,0,-309,0,0,0,0,0,0,-75, + -256,-464,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-409, + -318,0,0,0,-122,0,0,0,0,0, + 0,0,0,0,0,-49,0,0,0,0, + 0,-346,0,0,0,0,0,0,-446,0, + 0,0,0,0,0,-229,0,0,0,0, + -435,0,0,-124,0,0,0,-126,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-213,0,0,0,0,-361, 0,0,0,0,0,0,0,0,0,0, - 0,-384,0,-346,-394,0,-266,0,0,0, - 0,0,0,0,0,0,0,0,-213,0, - 0,0,-497,0,0,-386,0,0,0,0, - -303,-315,-358,0,0,0,0,0,-361,0, - 0,-402,0,0,-321,0,-404,0,0,0, - 0,0,0,0,0,0,0,0,-406,-407, - 0,0,0,0,-408,0,0,0,0,0, - -410,0,0,0,0,0,0,0,0,0, - -81,0,0,0,0,0,0,0,0,0, + -447,0,0,0,0,0,0,0,-507,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-82,0,0,0,-312,0,0, + 0,-233,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-83,0,0,0, - -411,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-320, - 0,0,0,-416,0,0,0,0,0,0, - 0,-329,-385,0,0,0,-337,0,-419,-137, - 0,-418,-400,0,-379,-75,-397,0,0,0, - 0,-420,-393,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-389,0, - -516,0,0,0,-249,0,0,0,0,0, - 0,0,0,0,0,-342,0,0,0,0, - 0,0,-498,0,0,0,0,0,0,-392, - -363,0,-332,0,0,0,-122,0,0,0, - 0,0,0,0,0,-369,0,0,0,0, - 0,-378,0,0,-468,0,0,0,0,0, + 0,-348,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-449,0,0,0,0, + 0,0,0,-258,-389,0,0,0,0,-419, + 0,0,0,0,-474,-19,0,-277,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-423,0,-425,0,0,0,0,0,0, - 0,0,0,0,0,-248,-144,-427,0,-453, - 0,0,0,0,0,0,0,-428,-376,0, - -409,0,0,-507,0,-429,-380,0,0,0, - 0,0,0,0,0,0,-431,-433,0,0, + 0,0,0,-420,0,-48,-219,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-286,-383,0,0,0,0,0,0, - -415,-435,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-434,-49,0, - 0,0,-439,-443,0,-316,0,0,0,0, + -475,-303,0,0,0,0,-453,0,0,0, + 0,0,0,0,0,0,0,-412,0,0, + 0,0,-312,0,0,0,0,0,0,0, + 0,0,-492,0,0,0,0,0,-315,0, + 0,-461,0,-220,-286,0,0,0,0,0, + 0,0,0,0,0,0,0,-321,-329,-484, + -257,0,0,0,0,0,0,0,-323,-337, + 0,0,0,0,0,-184,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-447,0,0,-510,0,-452,0,0,0, - 0,0,0,0,0,0,0,0,-515,0, - 0,0,0,0,0,0,-46,-421,-459,0, + 0,0,0,-495,0,-342,0,0,0,0, + -486,0,0,-363,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -203,0,0,0,0,0,-466,0,0,0, - 0,0,0,0,0,0,-449,0,-485,-499, - 0,-124,-345,0,-272,0,0,0,-500,-505, - -461,0,0,0,0,-390,-47,0,-422,0, + 0,-376,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-426,0,-126,-219,0,0, + 0,-490,-332,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-195,0,0, + 0,-144,0,-380,0,0,0,0,-497,0, 0,0,0,0,0,0,0,0,0,0, - 0,-475,0,-444,0,0,-256,0,0,0, - 0,0,0,0,0,0,0,-142,0,0, - 0,0,0,-448,0,0,0,0,0,0, + 0,-383,-512,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-510,0, + 0,0,0,-415,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-463, + 0,0,-387,-517,0,-421,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-205, + 0,0,0,-422,-426,0,0,0,0,0, + 0,0,-515,0,0,0,0,0,0,0, + 0,0,0,-444,-520,0,-516,0,0,0, + 0,0,0,0,0,0,0,0,-463,0, + 0,0,0,0,0,-448,0,0,-467,0, + -481,0,0,-482,0,0,0,0,0,0, + 0,0,0,0,-455,-457,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-483,0,-494,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-484,0,-467,0,0,0,0,0, + 0,0,0,-24,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-388,0,0,0, - 0,-455,-457,0,0,0,0,0,0,-481, - 0,0,-483,-486,0,-494,0,0,0,0, - -482,0,0,0,0,0,0,0,0,-184, - 0,0,0,-460,0,-493,0,0,0,0, + 0,0,0,0,0,-25,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-490,0,0,0,0,0, - 0,-508,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-26,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-513,0,0,0,0,0,0, - 0,0,0,0,0,-512,0,0,0,0, - 0,0,-518,0,0,0,0,0,0,0, - 0,-195,0,0,0,-257,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-27, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-517,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-28,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-29,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-520,0,0, + 0,0,0,0,0,-64,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-205,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-77,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-78, + 0,0,0,-493,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-127,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-508,-513,-518, + 0,0,0,0,0,0,0,0,-134,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-207,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-22,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-24,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-302,0,0, 0,0,0,0,0,0,0,0,0,0, - -25,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-26,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-27,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-28,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-29,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -64,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-77,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-78,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-127,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-134,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-207, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-464,-488,0,0,0,0,0,0,0, - 0,0,-302,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-424,0,0,0,0, - 0,0,0,0,0,0,0,-352,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-48,0,0,0,0,0, - 0,-472,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-220,0,0,-227,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-323,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,-151,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -462,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-326,0, - 0,0,0,0,0,0,0,0,-189,0, - 0,0,0,0,-194,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-348,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-283,0,0, - 0,0,0,-308,0,0,0,0,0,0, - 0,0,0,0,-208,0,0,0,0,0, - 0,0,0,-330,0,0,0,0,0,-344, + -424,0,0,0,0,0,0,0,0,0, + 0,0,-393,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-372,0,0, - 0,0,0,-374,0,0,0,0,0,0, - 0,0,0,0,0,-221,0,0,0,0, - -458,0,0,0,0,0,0,0,0,-477, - 0,0,0,-319,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-398,0,0,0,0,0, - 0,0,0,0,0,0,-292,0,0,0, - 0,0,0,0,0,0,0,0,0,-214, - 0,0,0,0,0,0,0,0,-261,0, - 0,0,0,0,0,0,0,0,0,-387, + 0,0,0,0,0,0,0,0,-21,0, 0,0,0,0,0,0,0,0,0,0, - 0,-438,0,0,-19,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-352, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-305,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-462,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-119,0,0,0,0,0,0,0,0, + 0,-227,0,0,0,0,0,0,0,0, + 0,-189,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-194,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-44,0,0, - -70,0,0,0,0,0,-436,0,0,-437, - 0,0,0,0,0,0,0,-399,-440,0, - 0,0,0,0,0,0,-445,0,0,0, + 0,-345,0,0,-44,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -283,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-308,0,0, + 0,0,0,-330,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-506,-514, - -489,0,0,0,0,0,0,0,0,0, + 0,0,0,-208,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-344,0,0,0,0,0,0,0,-221, + 0,0,0,0,0,0,0,0,-372,0, + 0,0,0,0,-374,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -458,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-477,0,0,0,0,0,0,-350, + 0,0,0,0,-488,-292,-319,0,0,0, + 0,0,0,0,0,0,0,0,-214,0, + 0,0,0,0,-261,0,0,0,0,0, + -390,0,0,0,0,0,0,0,0,0, + 0,-397,0,0,-506,0,0,0,0,0, + 0,0,-70,-438,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-437,-398,0,0,0,0,0, + 0,0,0,0,0,-440,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-399,0,0,0,0, + -445,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-514,0,0,0, + 0,-489,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, @@ -528,7 +526,7 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0 + 0,0,0,0 }; }; public final static short baseCheck[] = BaseCheck.baseCheck; @@ -539,519 +537,517 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse public interface BaseAction { public final static char baseAction[] = { 169,4,192,193,194,135,79,33,62,39, - 195,195,15,15,15,15,15,15,15,15, - 16,16,16,14,10,10,8,8,8,8, - 8,1,63,63,5,5,11,11,11,11, - 47,47,136,136,137,58,58,45,45,17, + 195,195,196,196,197,197,15,15,15,15, + 15,15,15,15,16,16,16,14,10,10, + 8,8,8,8,8,1,63,63,5,5, + 11,11,11,11,47,47,136,136,137,58, + 58,45,45,17,17,17,17,17,17,17, 17,17,17,17,17,17,17,17,17,17, - 17,17,17,17,17,17,17,17,17,138, - 138,138,18,18,18,18,18,18,18,18, - 18,18,18,18,18,19,19,173,170,170, - 171,171,174,140,140,175,175,172,172,141, - 139,139,20,20,21,21,22,22,22,24, - 24,24,24,25,25,25,26,26,26,27, - 27,27,27,27,29,29,29,30,30,32, - 32,34,34,35,35,36,36,37,37,41, - 41,40,40,40,40,40,40,40,40,40, - 40,40,40,40,38,38,28,142,142,102, - 102,106,106,97,196,196,71,71,71,71, - 71,71,71,71,71,72,72,72,73,73, - 56,56,176,176,74,74,74,117,117,75, - 75,75,75,76,76,76,76,76,77,82, - 82,82,82,82,82,82,51,51,51,51, - 51,108,108,109,109,50,23,23,23,23, - 23,46,46,93,93,93,93,93,148,148, - 143,143,143,143,144,144,144,145,145,145, - 146,146,146,147,147,147,94,94,94,94, - 94,95,95,95,87,12,13,13,13,13, - 13,13,13,13,13,13,13,80,80,80, - 121,121,121,121,121,119,119,119,88,120, - 120,150,150,149,149,123,123,124,43,43, - 42,86,86,89,89,91,92,90,44,53, - 49,151,151,54,52,85,85,178,178,177, - 177,152,152,81,81,67,67,67,59,59, - 60,68,68,69,69,64,64,64,103,103, - 105,104,104,57,57,61,61,55,55,48, - 107,107,107,98,98,98,99,100,100,100, - 101,101,110,110,110,112,112,111,111,197, - 197,96,96,180,180,180,180,180,126,65, - 65,154,179,179,127,127,127,127,181,181, - 31,31,118,128,128,128,128,198,198,113, - 113,122,122,122,156,157,157,157,157,157, - 157,157,157,184,184,182,182,183,183,158, - 158,158,158,159,185,115,114,114,186,186, - 160,160,130,130,129,129,129,199,199,9, - 187,187,188,161,153,153,162,162,163,164, - 164,6,6,7,166,166,166,166,166,166, + 17,17,17,138,138,138,18,18,18,18, + 18,18,18,18,18,18,18,18,18,19, + 19,173,170,170,171,171,174,140,140,175, + 175,172,172,141,139,139,20,20,21,21, + 22,22,22,24,24,24,24,25,25,25, + 26,26,26,27,27,27,27,27,29,29, + 29,30,30,32,32,34,34,35,35,36, + 36,37,37,41,41,40,40,40,40,40, + 40,40,40,40,40,40,40,40,38,38, + 28,142,142,102,102,106,106,97,198,198, + 71,71,71,71,71,71,71,71,71,72, + 72,72,73,73,56,56,176,176,74,74, + 74,117,117,75,75,75,75,76,76,76, + 76,76,77,80,80,80,80,80,80,80, + 51,51,51,51,51,108,108,109,109,50, + 23,23,23,23,23,46,46,93,93,93, + 93,93,148,148,143,143,143,143,144,144, + 144,145,145,145,146,146,146,147,147,147, + 94,94,94,94,94,95,95,95,87,12, + 13,13,13,13,13,13,13,13,13,13, + 13,81,81,81,121,121,121,121,121,119, + 119,119,88,120,120,150,150,149,149,123, + 123,124,43,43,42,86,86,89,89,91, + 92,90,44,53,49,151,151,54,52,85, + 85,178,178,177,177,152,152,82,82,67, + 67,67,59,59,60,68,68,69,69,64, + 64,64,103,103,105,104,104,57,57,61, + 61,55,55,48,107,107,107,98,98,98, + 99,100,100,100,101,101,110,110,110,112, + 112,111,111,199,199,96,96,180,180,180, + 180,180,126,65,65,154,179,179,127,127, + 127,127,181,181,31,31,118,128,128,128, + 128,200,200,113,113,122,122,122,156,157, + 157,157,157,157,157,157,157,157,184,184, + 182,182,183,183,158,158,158,158,159,185, + 115,114,114,186,186,160,160,130,130,129, + 129,129,201,201,9,187,187,188,161,153, + 153,162,162,163,164,164,6,6,7,166, 166,166,166,166,166,166,166,166,166,166, 166,166,166,166,166,166,166,166,166,166, 166,166,166,166,166,166,166,166,166,166, - 166,166,166,166,166,166,66,70,70,167, - 167,131,131,132,132,132,132,132,132,2, - 3,168,168,165,165,133,133,133,83,84, - 78,155,155,116,116,189,189,189,134,134, - 125,125,190,190,169,169,1438,1588,1569,940, - 755,3618,27,974,24,28,23,25,1672,255, - 22,20,49,1022,104,73,74,106,1073,145, - 1182,1166,1303,1231,3469,1352,1344,267,1394,2769, - 1386,1420,1443,141,4465,1298,157,142,1628,26, - 29,940,1235,2580,27,974,36,28,153,3172, - 26,29,940,225,2886,27,974,24,28,23, - 25,811,255,22,20,49,1022,104,73,74, - 106,1073,243,1182,1166,1766,270,3108,290,1628, - 26,29,940,269,268,27,974,1554,28,228, - 223,224,3172,1588,1569,940,331,2886,27,974, - 24,28,23,25,811,255,22,20,49,1022, - 104,73,74,81,234,237,240,243,2687,288, - 3333,289,485,30,1630,920,26,29,940,484, - 4680,27,974,24,28,58,25,1479,572,2810, - 2678,3347,3552,3587,4177,2103,26,29,940,2326, - 2886,27,974,24,28,2092,25,811,255,22, - 20,49,1022,104,73,74,106,1073,339,1182, - 1166,1303,1231,145,1352,1344,524,1394,3812,1386, - 1420,1443,141,46,1369,505,142,675,1628,26, - 29,940,760,2763,27,974,1638,28,1497,3416, - 506,2103,26,29,940,2326,2886,27,974,24, - 28,2092,25,811,255,22,20,49,1022,104, - 73,74,106,1073,339,1182,1166,1303,1231,2748, - 1352,1344,1521,1394,1558,1386,1420,1443,141,46, - 3398,505,142,731,2437,380,381,940,2164,2763, - 2333,940,3172,26,29,940,506,2886,27,974, - 24,28,23,25,811,255,22,20,49,1022, - 104,73,74,106,1073,267,1182,1806,501,1517, - 1349,586,2482,26,29,940,2326,2886,27,974, - 24,28,2092,25,811,255,22,20,49,1022, - 104,73,74,106,1073,339,1182,1166,1303,1231, - 2083,1352,1344,2127,1394,1819,1386,1420,1443,141, - 2820,1737,505,142,271,1563,3029,2965,940,2580, - 2763,269,268,2164,501,272,940,506,2524,26, - 29,940,568,2886,27,974,24,28,23,25, - 811,255,22,20,49,1022,104,73,74,106, - 1073,2572,1182,1166,1303,1231,2266,1352,1344,2127, - 1394,2055,1386,1420,1443,141,3398,273,374,142, - 1960,26,29,940,348,4680,27,974,24,28, - 23,25,2832,3421,498,443,890,26,29,940, - 377,4550,27,974,24,28,335,25,447,1435, - 1575,2596,26,29,940,502,2886,27,974,24, - 28,23,25,811,255,22,20,49,1022,104, - 73,74,106,1073,3129,1182,1166,1303,1231,2650, - 1352,1344,3421,1394,1950,1386,1420,1443,141,2820, - 3397,374,142,88,382,1401,316,318,2145,86, - 329,100,1078,314,1189,378,2700,331,2706,2920, - 26,29,940,375,2886,27,974,24,28,23, - 25,811,255,22,20,49,1022,104,73,74, - 106,1073,3435,1182,1166,1303,1231,2574,1352,1344, - 4204,1394,3730,1386,1420,1443,141,40,2323,157, - 142,1435,1509,325,331,2920,26,29,940,3311, - 2886,27,974,24,28,23,25,811,255,22, - 20,49,1022,104,73,74,106,1073,379,1182, - 1166,1303,1231,2578,1352,1344,2884,1394,239,1386, - 1420,1443,141,3730,434,368,142,2920,26,29, - 940,329,2886,27,974,24,28,23,25,811, - 255,22,20,49,1022,104,73,74,106,1073, - 239,1182,1166,1303,1231,3730,1352,1344,85,1394, - 100,1386,1420,1443,141,3356,2652,368,142,920, - 26,29,940,434,4680,27,974,24,28,57, - 25,572,328,2920,26,29,940,2696,2886,27, - 974,24,28,23,25,811,255,22,20,49, - 1022,104,73,74,106,1073,62,1182,1166,1303, - 1231,367,1352,1344,2801,1394,430,1386,1420,1443, - 141,1027,69,368,142,2860,26,29,940,3255, - 2886,27,974,24,28,23,25,811,255,22, - 20,49,1022,104,73,74,106,1073,3333,1182, - 1166,1303,1231,366,1352,1344,349,1394,3438,1386, - 1420,1443,141,2912,389,374,142,2440,26,29, - 940,3285,2886,27,974,24,28,23,25,811, - 255,22,20,49,1022,104,73,74,106,1073, - 92,1182,1166,1303,1231,2832,1352,1344,321,1394, - 331,1386,1420,1443,141,2912,389,140,142,364, - 2920,26,29,940,3604,2886,27,974,24,28, - 23,25,811,255,22,20,49,1022,104,73, - 74,106,1073,21,1182,1166,1303,1231,979,1352, - 1344,2674,1394,413,1386,1420,1443,141,331,2580, - 158,142,372,2920,26,29,940,279,2886,27, - 974,24,28,23,25,811,255,22,20,49, - 1022,104,73,74,106,1073,3039,1182,1166,1303, - 1231,68,1352,1344,234,1394,145,1386,1420,1443, - 141,3894,406,153,142,2920,26,29,940,1509, - 2886,27,974,24,28,23,25,811,255,22, - 20,49,1022,104,73,74,106,1073,3040,1182, - 1166,1303,1231,2580,1352,1344,578,1394,446,1386, - 1420,1443,141,2580,59,152,142,2920,26,29, - 940,3252,2886,27,974,24,28,23,25,811, - 255,22,20,49,1022,104,73,74,106,1073, - 132,1182,1166,1303,1231,2580,1352,1344,3368,1394, - 3014,1386,1420,1443,141,2166,2334,151,142,2920, - 26,29,940,1545,2886,27,974,24,28,23, - 25,811,255,22,20,49,1022,104,73,74, - 106,1073,4230,1182,1166,1303,1231,397,1352,1344, - 322,1394,50,1386,1420,1443,141,2166,277,150, - 142,2920,26,29,940,418,2886,27,974,24, - 28,23,25,811,255,22,20,49,1022,104, - 73,74,106,1073,323,1182,1166,1303,1231,145, - 1352,1344,1505,1394,4544,1386,1420,1443,141,2580, - 504,149,142,2920,26,29,940,489,2886,27, - 974,24,28,23,25,811,255,22,20,49, - 1022,104,73,74,106,1073,512,1182,1166,1303, - 1231,395,1352,1344,1479,1394,2580,1386,1420,1443, - 141,157,661,148,142,2920,26,29,940,1499, - 2886,27,974,24,28,23,25,811,255,22, - 20,49,1022,104,73,74,106,1073,1572,1182, - 1166,1303,1231,399,1352,1344,1021,1394,95,1386, - 1420,1443,141,1233,1300,147,142,2920,26,29, - 940,1365,2886,27,974,24,28,23,25,811, - 255,22,20,49,1022,104,73,74,106,1073, - 841,1182,1166,1303,1231,96,1352,1344,1479,1394, - 145,1386,1420,1443,141,4604,861,146,142,2920, - 26,29,940,3477,2886,27,974,24,28,23, - 25,811,255,22,20,49,1022,104,73,74, - 106,1073,1550,1182,1166,1303,1231,300,1352,1344, - 1479,1394,145,1386,1420,1443,141,4621,325,145, - 142,2920,26,29,940,327,2886,27,974,24, - 28,23,25,811,255,22,20,49,1022,104, - 73,74,106,1073,2670,1182,1166,1303,1231,178, - 1352,1344,1479,1394,145,1386,1420,1443,141,4630, - 2730,144,142,2920,26,29,940,3379,2886,27, - 974,24,28,23,25,811,255,22,20,49, - 1022,104,73,74,106,1073,898,1182,1166,1303, - 1231,194,1352,1344,2812,1394,503,1386,1420,1443, - 141,585,587,143,142,3019,26,29,940,675, - 2886,27,974,24,28,23,25,811,255,22, - 20,49,1022,104,73,74,106,1073,239,1182, - 1166,1303,1231,3730,1352,1344,320,1394,750,1386, - 1420,2293,163,331,1479,2920,26,29,940,778, - 2886,27,974,24,28,23,25,811,255,22, - 20,49,1022,104,73,74,106,1073,410,1182, - 1166,1303,1231,2257,1352,1344,67,1394,939,1386, - 1420,1443,141,193,324,138,142,2162,37,39, - 940,3422,328,38,974,3256,331,1640,3058,26, - 29,940,1425,2886,27,974,24,28,23,25, - 811,255,22,20,49,1022,104,73,74,106, - 1073,1435,1182,1166,1303,1231,3438,1352,1344,52, - 1394,2330,1386,1420,1443,141,568,3468,188,142, - 3172,26,29,940,2566,2886,27,974,24,28, - 23,25,811,255,22,20,49,1022,104,73, - 74,106,1073,918,1182,1166,1303,1231,331,1352, - 1344,1864,1394,331,1386,1420,2293,163,3172,26, - 29,940,514,2886,27,974,24,28,23,25, - 811,255,22,20,49,1022,104,73,74,106, - 1073,84,1182,1166,1303,1231,51,1352,1344,2576, - 1394,1576,1386,1420,2293,163,2650,26,29,940, - 351,4395,27,974,24,28,56,25,1968,520, - 648,331,999,3172,26,29,940,286,2886,27, - 974,24,28,23,25,811,255,22,20,49, - 1022,104,73,74,106,1073,154,1182,1166,1303, - 1231,1947,1352,1344,346,1394,667,1386,1420,2293, - 163,3172,26,29,940,1556,2886,27,974,24, - 28,23,25,811,255,22,20,49,1022,104, - 73,74,106,1073,2576,1182,1166,1303,1231,2147, - 1352,1344,2151,1394,2158,1386,1420,2293,163,2762, - 26,29,940,1415,4395,27,974,24,28,55, - 25,2013,1037,383,416,999,3172,26,29,940, - 412,2886,27,974,24,28,23,25,811,255, - 22,20,49,1022,104,73,74,106,1073,154, - 1182,1166,1303,1231,60,1352,1344,2774,1394,1393, - 1386,1420,2293,163,3211,26,29,940,411,2886, - 27,974,24,28,23,25,811,255,22,20, - 49,1022,104,73,74,106,1073,2786,1182,1166, - 1303,1231,1364,1352,1344,3256,1394,530,1386,1420, - 2293,163,2708,46,272,940,46,939,384,416, - 4359,1563,380,381,940,2708,1892,2699,940,3172, - 26,29,940,414,2886,27,974,24,28,23, - 25,811,255,22,20,49,1022,104,73,74, - 106,1073,30,1182,1166,1303,1231,59,1352,1344, - 568,1394,2058,1386,2000,331,999,3172,26,29, - 940,3468,2886,27,974,24,28,23,25,811, - 255,22,20,49,1022,104,73,74,106,1073, - 154,1182,1166,1303,1231,1729,1352,1344,87,1394, - 1981,1941,3172,26,29,940,2841,2886,27,974, - 24,28,23,25,811,255,22,20,49,1022, - 104,73,74,106,1073,331,1182,1166,1303,1231, - 350,1352,1344,2589,1914,3172,26,29,940,520, - 2886,27,974,24,28,23,25,811,255,22, - 20,49,1022,104,73,74,106,1073,3057,1182, - 1166,1303,1231,1540,1352,1933,3250,380,381,940, - 2154,2795,239,2592,2690,3730,2576,3730,230,255, - 1873,934,26,29,940,3343,4518,27,974,24, - 28,335,25,3172,26,29,940,267,2886,27, - 974,24,28,23,25,811,255,22,20,49, - 1022,104,73,74,106,1073,3438,1182,1166,1303, - 1231,2699,1848,225,46,2912,389,1,999,2170, - 331,526,2833,999,329,2164,328,276,940,347, - 1401,316,318,2347,275,1517,270,2657,313,1189, - 221,1110,2225,269,268,154,3516,154,2808,228, - 223,224,2974,850,331,1680,179,2424,342,1147, - 845,345,513,3451,331,3260,209,206,198,207, - 208,210,3282,168,234,237,240,243,2687,180, - 386,416,3394,2164,1630,274,940,66,183,166, - 167,169,170,171,172,173,2395,65,609,2810, - 2678,3347,3552,3587,4177,3172,26,29,940,568, - 2886,27,974,24,28,23,25,811,255,22, - 20,49,1022,104,73,74,106,1073,3559,1182, - 1166,1303,1861,3172,26,29,940,3320,2886,27, - 974,24,28,23,25,811,255,22,20,49, - 1022,104,73,74,106,1073,3348,1182,1166,1303, - 1907,3172,26,29,940,3403,2886,27,974,24, - 28,23,25,811,255,22,20,49,1022,104, - 73,74,106,1073,2576,1182,1166,1771,3172,26, - 29,940,2793,2886,27,974,24,28,23,25, - 811,255,22,20,49,1022,104,73,74,106, - 1073,91,1182,1166,1772,3172,26,29,940,568, - 2886,27,974,24,28,23,25,811,255,22, - 20,49,1022,104,73,74,106,1073,3371,1182, - 1166,1779,1879,26,29,940,2332,4518,27,974, - 24,28,335,25,3172,26,29,940,1479,2886, - 27,974,24,28,23,25,811,255,22,20, - 49,1022,104,73,74,106,1073,2636,1182,1808, - 2164,2326,2768,940,3449,1887,26,29,940,4634, - 4518,27,974,24,28,335,25,197,385,416, - 339,1401,316,318,3258,2347,273,2832,833,313, - 1189,347,1479,3108,290,282,2507,3287,2162,2820, - 940,2821,4459,2654,3413,988,2832,1544,2326,2810, - 1435,2326,843,380,381,940,1563,380,381,940, - 340,1147,845,345,1401,316,318,221,47,2608, - 2612,195,313,1189,347,288,3495,289,331,288, - 48,289,1527,267,855,225,2974,420,2453,280, - 3293,331,1479,209,206,199,207,208,210,3375, - 2832,2827,3407,340,1147,845,345,2700,297,200, - 201,64,2001,1559,2452,3427,3450,1798,2909,2326, - 3112,236,223,224,63,3256,211,202,203,204, - 205,215,2418,291,292,293,294,46,221,269, - 268,1979,361,355,3366,1432,1562,381,940,4524, - 2787,2668,3602,2696,330,331,3730,2827,2381,2392, - 2665,3293,305,443,209,206,199,207,208,210, - 1036,46,232,255,2064,2326,47,331,181,3505, - 200,201,347,2326,429,2452,2832,288,48,289, - 1527,46,2255,2910,339,3030,1479,211,202,203, - 204,205,221,774,291,292,293,294,3397,331, - 3155,340,1147,845,345,2801,1435,225,1509,2763, - 338,1232,2326,3602,2750,3293,1596,331,209,206, - 199,207,208,210,3438,4263,901,1562,381,940, - 3404,2612,54,3537,200,201,3366,2326,296,2452, - 320,4524,3335,233,223,224,2326,4689,1085,520, - 53,211,202,203,204,205,221,47,291,292, - 293,294,1687,2700,722,221,999,3503,288,48, - 289,1527,1544,809,1479,3259,2326,3602,2836,3293, - 371,94,209,206,199,207,208,210,3117,3495, - 154,400,46,46,418,2612,2697,999,200,201, - 2682,196,46,2452,492,46,1126,1428,401,2336, - 327,331,2452,304,331,211,202,203,204,205, - 2752,3736,291,292,293,294,2584,26,29,940, - 2332,4518,27,974,24,28,335,25,2915,489, - 491,3602,3133,3172,26,29,940,319,2886,27, - 974,24,28,23,25,811,255,22,20,49, - 1022,104,73,74,106,1073,722,1688,355,46, - 2564,2442,245,2554,2916,2908,999,46,369,3533, - 3569,3555,3149,2381,2392,1401,316,318,46,1479, - 312,512,2866,313,1189,347,419,46,402,404, - 159,3218,3098,3133,26,29,940,515,2886,27, - 974,24,28,23,25,811,255,22,20,49, - 1022,83,73,74,340,1147,845,345,4809,3172, - 26,29,940,516,2886,27,974,24,28,23, - 25,811,255,22,20,49,1022,104,73,74, - 106,1073,87,1695,331,2999,526,1512,26,29, - 940,4273,4518,27,974,24,28,335,25,1101, - 1562,381,940,2832,1866,221,1563,380,381,940, - 154,2830,46,845,440,923,2932,99,4598,331, - 1680,179,3492,281,2507,46,396,3496,3451,3553, - 47,209,206,198,207,208,210,439,168,3000, - 3003,288,48,289,44,3004,2751,3141,318,1255, - 2535,3007,3409,182,166,167,169,170,171,172, - 173,3172,26,29,940,295,2886,27,974,24, - 28,23,25,811,255,22,20,49,1022,104, - 73,74,106,1714,3172,26,29,940,1435,2886, - 27,974,24,28,23,25,811,255,22,20, - 49,1022,104,73,74,106,1730,3172,26,29, - 940,3010,2886,27,974,24,28,23,25,811, - 255,22,20,49,1022,104,73,74,106,1764, - 1952,26,29,940,3012,4550,27,974,24,28, - 335,25,46,1166,440,2700,2868,46,4598,331, - 2591,972,3482,2902,3531,3551,245,3400,2387,2326, - 999,2326,2751,1620,26,29,940,4306,4518,27, - 974,24,28,335,25,433,2949,2998,221,3409, - 2612,1100,438,2326,159,2437,380,381,940,1401, - 316,318,3326,331,329,518,46,314,1189,347, - 1865,3293,339,1479,209,206,199,207,208,210, - 3381,46,519,239,2326,2165,267,1478,3730,347, - 200,201,2751,3141,318,2452,3438,2763,342,1147, - 845,345,1509,221,522,2902,2326,486,202,203, - 204,205,303,376,291,292,293,294,340,1147, - 845,345,3535,492,3099,2612,3293,2001,1943,209, - 206,199,207,208,210,71,3478,1865,3581,511, - 331,2326,269,268,225,200,201,328,3570,46, - 2452,173,371,3566,1479,526,3592,46,489,491, - 339,3287,508,202,203,204,205,1217,3100,291, - 292,293,294,2934,221,437,2949,2998,1430,154, - 239,223,224,2815,46,2407,926,2326,3283,1680, - 179,46,259,4810,3427,4306,526,3451,492,3129, - 209,206,198,207,208,210,2612,168,3528,1101, - 1562,381,940,3520,3573,221,2437,380,381,940, - 154,511,3473,166,167,169,170,171,172,173, - 1680,179,3583,490,491,1479,2326,3499,3451,3292, - 47,209,206,198,207,208,210,267,168,1479, - 3444,288,48,289,1527,221,1756,46,46,871, - 2935,2326,2775,175,166,167,169,170,171,172, - 173,1546,42,2323,299,2326,3730,3103,3293,356, - 339,209,206,199,207,208,210,3629,190,3575, - 3577,2326,2729,1435,2612,2564,336,200,201,3591, - 3485,331,2452,269,268,2763,1435,46,2962,3515, - 221,2326,1603,3492,306,202,203,204,205,5140, - 5140,291,292,293,294,46,5140,2749,2215,2694, - 339,5140,999,3293,3673,328,209,206,199,207, - 208,210,3459,5140,46,5140,2326,245,3365,225, - 2700,999,200,201,5140,2763,154,2452,905,1562, - 381,940,1604,2700,46,221,2434,355,2765,509, - 202,203,204,205,2330,159,291,292,293,294, - 5140,2285,2381,2392,225,242,223,224,3293,47, - 331,209,206,199,207,208,210,3341,331,5140, - 288,48,289,1527,5140,1843,5140,200,201,5140, - 3518,331,2452,345,5140,331,774,526,281,2507, - 245,223,224,3714,212,202,203,204,205,5140, - 5140,291,292,293,294,5140,221,1563,380,381, - 940,154,46,46,2677,2535,2829,2893,3755,2859, - 331,1680,179,3527,431,5140,46,2986,526,3451, - 868,331,209,206,198,207,208,210,421,168, - 1101,1562,381,940,3008,5140,331,221,2326,5140, - 5140,5140,154,1896,186,166,167,169,170,171, - 172,173,1680,179,2376,517,5140,339,5140,526, - 3451,47,331,209,206,198,207,208,210,373, - 168,5140,288,48,289,1527,5140,2340,221,5140, - 5140,5140,3713,154,331,3560,166,167,169,170, - 171,172,173,1680,179,3509,603,5140,5140,5140, - 526,3451,5140,331,209,206,198,207,208,210, - 5140,168,1101,1562,381,940,245,3837,5140,221, - 999,5140,5140,5140,154,5140,189,166,167,169, - 170,171,172,173,1680,179,3878,689,5140,5140, - 5140,526,3451,47,159,209,206,198,207,208, - 210,5140,168,5140,288,48,289,1527,5140,2675, - 221,5140,5140,5140,5140,154,5140,185,166,167, - 169,170,171,172,173,1680,179,5140,775,5140, - 5140,5140,526,3451,5140,5140,209,206,198,207, - 208,210,5140,168,1101,1562,381,940,5140,5140, - 5140,221,5140,5140,5140,5140,154,5140,192,166, - 167,169,170,171,172,173,1680,179,2877,5140, - 5140,5140,5140,3721,3451,47,5140,209,206,198, - 207,208,210,5140,168,5140,288,48,289,1527, - 5140,906,5140,5140,5140,5140,5140,5140,5140,191, - 166,167,169,170,171,172,173,3172,26,29, - 940,5140,2886,27,974,24,28,23,25,811, - 255,22,20,49,1022,104,73,74,82,3172, - 26,29,940,5140,2886,27,974,24,28,23, - 25,811,255,22,20,49,1022,104,73,74, - 80,3172,26,29,940,5140,2886,27,974,24, - 28,23,25,811,255,22,20,49,1022,104, - 73,74,79,3172,26,29,940,5140,2886,27, - 974,24,28,23,25,811,255,22,20,49, - 1022,104,73,74,78,3172,26,29,940,5140, - 2886,27,974,24,28,23,25,811,255,22, - 20,49,1022,104,73,74,77,3172,26,29, - 940,5140,2886,27,974,24,28,23,25,811, - 255,22,20,49,1022,104,73,74,76,3172, - 26,29,940,5140,2886,27,974,24,28,23, - 25,811,255,22,20,49,1022,104,73,74, - 75,2960,26,29,940,5140,2886,27,974,24, - 28,23,25,811,255,22,20,49,1022,104, - 73,74,102,3172,26,29,940,5140,2886,27, - 974,24,28,23,25,811,255,22,20,49, - 1022,104,73,74,108,3172,26,29,940,5140, - 2886,27,974,24,28,23,25,811,255,22, - 20,49,1022,104,73,74,107,3308,380,381, - 940,5140,2795,5140,5140,5140,5140,5140,5140,231, - 255,5140,5140,5140,5140,5140,5140,5140,5140,5140, - 5140,5140,5140,5140,3172,26,29,940,267,2886, - 27,974,24,28,23,25,811,255,22,20, - 49,1022,104,73,74,105,5140,5140,5140,5140, - 3172,26,29,940,225,2886,27,974,24,28, - 23,25,811,255,22,20,49,1022,104,73, - 74,103,5140,5140,5140,5140,5140,270,5140,5140, - 5140,5140,1732,1777,269,268,999,999,5140,5140, - 229,223,224,1868,2858,29,940,3343,4518,27, - 974,24,28,335,25,5140,5140,5140,5140,5140, - 154,154,5140,5140,5140,235,238,241,244,2687, - 161,161,5140,5140,5140,1630,1535,26,29,940, - 3343,4518,27,974,24,28,335,25,2567,2858, - 29,940,3343,4518,27,974,24,28,335,25, - 5140,5140,1401,316,318,46,5140,5140,5140,2326, - 313,1189,1940,26,29,940,3343,4518,27,974, - 24,28,335,25,1653,5140,2260,5140,339,3274, - 999,5140,5140,2326,4689,1401,316,318,3049,3414, - 5140,5140,245,313,1189,5140,999,1401,316,318, - 5140,5140,221,2763,154,313,1189,2871,5140,5140, - 1611,5140,5140,5140,2728,1875,1562,381,940,1653, - 159,1401,316,318,5140,3117,5140,5140,400,313, - 1189,934,26,29,940,3343,4518,27,974,24, - 28,335,25,2871,1428,401,47,5140,5140,2452, - 5140,407,2890,5140,5140,5140,5140,288,48,289, - 1527,5140,2157,5140,5140,5140,5140,5140,5140,2437, - 380,381,940,2702,5140,5140,1512,5140,307,1875, - 1562,381,940,5140,5140,1432,1562,381,940,5140, - 1401,316,318,5140,3114,5140,408,2890,313,1189, - 267,5140,5140,2742,3497,5140,5140,5140,2442,5140, - 47,5140,3549,5140,308,5140,47,2437,380,381, - 940,288,48,289,1527,5140,45,288,48,289, - 1527,5140,45,5140,5140,402,403,2403,1432,1562, - 381,940,5140,1477,1432,1562,381,940,267,69, - 5140,5140,5140,5140,5140,46,269,268,5140,2326, - 5140,922,5140,2902,1875,1562,381,940,5140,47, - 1432,1562,381,940,5140,47,5140,5140,339,5140, - 288,48,289,1527,5140,2416,288,48,289,1527, - 5140,45,5140,5140,5140,47,3476,70,5140,5140, - 5140,47,2706,2763,269,268,288,48,289,1527, - 2390,45,288,48,289,1527,5140,2526,1432,1562, - 381,940,718,5140,1432,1562,381,940,3476,5140, - 5140,5140,5140,5140,5140,5140,2305,5140,5140,5140, - 999,3015,1562,381,940,5140,5140,5140,5140,47, - 3106,1562,381,940,1546,47,5140,5140,2326,3730, - 288,48,289,1527,154,45,288,48,289,1527, - 5140,45,47,5140,2741,46,3136,2612,5140,2326, - 5140,47,3697,288,48,289,1527,2350,45,5140, - 5140,999,288,48,289,1527,5140,45,339,607, - 1101,1562,381,940,5140,5140,5140,5140,2683,1101, - 1562,381,940,5140,5140,154,5140,5140,328,5140, - 245,5140,5140,2763,999,1519,5140,5140,5140,5140, - 496,47,976,5140,5140,1042,526,5140,5140,526, - 47,5140,288,48,289,1527,5140,809,159,5140, - 355,288,48,289,1527,221,2405,3260,339,5140, - 154,5140,5140,154,2285,2381,2392,5140,1108,5140, - 161,1174,526,1260,5140,526,5140,1240,3451,5140, - 1306,526,4262,2763,526,5140,5140,5140,46,1372, - 997,339,2326,526,339,5140,154,46,5140,154, - 339,2326,5140,339,5140,154,1813,5140,154,1260, - 5140,339,339,5140,5140,187,2763,154,187,2763, - 339,5140,3279,1308,5140,4411,1938,187,4411,1822, - 1895,2395,5140,999,999,999,2763,4411,2846,5140, - 5140,5140,5140,494,5140,2763,5140,5140,5140,5140, - 5140,5140,523,5140,5140,5140,5140,154,154,154, - 5140,5140,5140,5140,5140,5140,5140,161,161,3762, - 5140,5140,5140,5140,5140,5140,5140,5140,5140,5140, - 5140,5140,5140,5140,5140,5140,5140,5140,5140,5140, - 5140,5140,5140,5140,3561,5140,5140,3650,5140,5140, - 5140,5140,5140,5140,5140,5140,3675,5140,5140,5140, - 5140,5140,5140,5140,5140,5140,5140,5140,5140,5140, - 5140,5140,5140,5140,5140,5140,5140,5140,5140,5140, - 5140,5140,5140,5140,5140,3784,3803,5140,0,998, - 35,0,441,769,0,31,500,0,998,34, - 0,2558,124,0,1,431,0,1646,35,0, - 445,859,0,444,1309,0,2384,89,0,31, - 298,0,380,290,0,29,381,0,26,380, - 0,2181,35,0,1,549,0,1,5406,0, - 1,5405,0,1,5404,0,1,5403,0,1, - 5402,0,1,5401,0,1,5400,0,1,5399, - 0,1,5398,0,1,5397,0,1,5396,0, - 1,998,35,0,1,1857,0,1561,35,0, - 31,278,254,0,31,500,278,254,0,1561, - 46,0,3032,230,0,41,5172,0,41,33, - 0,2558,126,0,2558,125,0,23,507,0, - 5466,432,0,2173,432,0,1,5174,0,1, - 35,0,45,33,0,1,90,0,1,5174, - 222,0,1,35,222,0,5171,33,0,5171, - 5,33,0,5640,32,0,5172,43,0,33, - 43,0,5149,398,0,1,2181,0,1,2647, - 0,1,2341,0,3142,315,0,5466,93,0, - 2173,93,0,3607,274,0,1,1223,0,1, - 1265,0,5171,35,0,488,3340,0,1,222, - 0,1,222,3157,0,5149,222,0,155,174, - 0,290,3703,0,222,162,0,184,3796,0 + 166,166,166,166,166,166,166,166,166,166, + 166,66,70,70,167,167,131,131,132,132, + 132,132,132,132,2,3,168,168,165,165, + 133,133,133,83,84,78,155,155,116,116, + 189,189,189,134,134,125,125,190,190,169, + 169,1403,1567,1551,945,750,3245,31,979,28, + 32,27,29,1677,259,26,24,53,1027,108, + 77,78,110,1047,761,1179,1171,1308,1187,3514, + 1357,1349,271,1441,234,1425,1448,1483,145,3426, + 160,161,146,2788,30,33,945,65,875,31, + 979,40,32,1458,3297,30,33,945,229,3134, + 31,979,28,32,27,29,943,259,26,24, + 53,1027,108,77,78,110,1047,1599,1179,1171, + 1308,1187,274,1357,1349,375,1843,529,273,272, + 2124,3446,3317,945,232,227,228,3297,1567,1551, + 945,1980,3134,31,979,28,32,27,29,943, + 259,26,24,53,1027,108,77,78,85,238, + 241,244,247,2657,2463,1664,2182,945,34,1651, + 920,30,33,945,489,4669,31,979,28,32, + 62,29,2262,570,4412,2671,3415,3454,3458,4142, + 2264,30,33,945,2298,3134,31,979,28,32, + 2005,29,943,259,26,24,53,1027,108,77, + 78,110,1047,343,1179,1171,1308,1187,2924,1357, + 1349,2867,1441,373,1425,1448,1483,145,573,2774, + 510,146,148,2788,30,33,945,3676,2692,31, + 979,1559,32,2960,2916,511,2264,30,33,945, + 2298,3134,31,979,28,32,2005,29,943,259, + 26,24,53,1027,108,77,78,110,1047,343, + 1179,1171,1308,1187,843,1357,1349,2799,1441,4453, + 1425,1448,1483,145,56,2893,510,146,680,2553, + 384,385,945,1980,2692,1611,863,3297,30,33, + 945,511,3134,31,979,28,32,27,29,943, + 259,26,24,53,1027,108,77,78,110,1047, + 271,1179,1776,506,3127,674,4169,2601,30,33, + 945,2298,3134,31,979,28,32,2005,29,943, + 259,26,24,53,1027,108,77,78,110,1047, + 343,1179,1171,1308,1187,2004,1357,1349,2074,1441, + 1080,1425,1448,1483,145,2925,234,510,146,1477, + 275,3758,96,2768,490,2692,273,272,3676,506, + 2508,2190,511,2643,30,33,945,448,3134,31, + 979,28,32,27,29,943,259,26,24,53, + 1027,108,77,78,110,1047,1742,1179,1171,1308, + 1187,2132,1357,1349,2074,1441,1739,1425,1448,1483, + 145,3415,277,378,146,2894,30,33,945,352, + 4669,31,979,28,32,27,29,863,3534,503, + 517,893,30,33,945,381,4572,31,979,28, + 32,339,29,71,1717,2870,2715,30,33,945, + 507,3134,31,979,28,32,27,29,943,259, + 26,24,53,1027,108,77,78,110,1047,3475, + 1179,1171,1308,1187,3158,1357,1349,3534,1441,2873, + 1425,1448,1483,145,2925,3762,378,146,92,2885, + 1406,320,322,936,90,333,104,1083,318,1322, + 382,2729,1980,98,3042,30,33,945,379,3134, + 31,979,28,32,27,29,943,259,26,24, + 53,1027,108,77,78,110,1047,2779,1179,1171, + 1308,1187,1713,1357,1349,25,1441,3676,1425,1448, + 1483,145,44,2170,161,146,870,323,329,335, + 3042,30,33,945,3867,3134,31,979,28,32, + 27,29,943,259,26,24,53,1027,108,77, + 78,110,1047,383,1179,1171,1308,1187,3529,1357, + 1349,559,1441,148,1425,1448,1483,145,3676,439, + 372,146,3042,30,33,945,333,3134,31,979, + 28,32,27,29,943,259,26,24,53,1027, + 108,77,78,110,1047,1611,1179,1171,1308,1187, + 3139,1357,1349,89,1441,104,1425,1448,1483,145, + 2771,1153,372,146,920,30,33,945,439,4669, + 31,979,28,32,61,29,570,332,3042,30, + 33,945,1470,3134,31,979,28,32,27,29, + 943,259,26,24,53,1027,108,77,78,110, + 1047,406,1179,1171,1308,1187,371,1357,1349,69, + 1441,435,1425,1448,1483,145,1032,1662,372,146, + 2979,30,33,945,452,3134,31,979,28,32, + 27,29,943,259,26,24,53,1027,108,77, + 78,110,1047,3404,1179,1171,1308,1187,370,1357, + 1349,353,1441,3514,1425,1448,1483,145,3029,393, + 378,146,1803,30,33,945,517,3134,31,979, + 28,32,27,29,943,259,26,24,53,1027, + 108,77,78,110,1047,234,1179,1171,1308,1187, + 3840,1357,1349,415,1441,1980,1425,1448,1483,145, + 3029,393,144,146,368,3042,30,33,945,3864, + 3134,31,979,28,32,27,29,943,259,26, + 24,53,1027,108,77,78,110,1047,72,1179, + 1171,1308,1187,984,1357,1349,2390,1441,70,1425, + 1448,1483,145,1980,1611,162,146,376,3042,30, + 33,945,1202,3134,31,979,28,32,27,29, + 943,259,26,24,53,1027,108,77,78,110, + 1047,2663,1179,1171,1308,1187,71,1357,1349,325, + 1441,1611,1425,1448,1483,145,1611,492,157,146, + 3042,30,33,945,1477,3134,31,979,28,32, + 27,29,943,259,26,24,53,1027,108,77, + 78,110,1047,2669,1179,1171,1308,1187,1611,1357, + 1349,325,1441,451,1425,1448,1483,145,2508,281, + 156,146,3042,30,33,945,1541,3134,31,979, + 28,32,27,29,943,259,26,24,53,1027, + 108,77,78,110,1047,320,1179,1171,1308,1187, + 4195,1357,1349,3387,1441,54,1425,1448,1483,145, + 1611,658,155,146,3042,30,33,945,845,3134, + 31,979,28,32,27,29,943,259,26,24, + 53,1027,108,77,78,110,1047,327,1179,1171, + 1308,1187,401,1357,1349,326,1441,234,1425,1448, + 1483,145,4524,1510,154,146,3042,30,33,945, + 830,3134,31,979,28,32,27,29,943,259, + 26,24,53,1027,108,77,78,110,1047,1031, + 1179,1171,1308,1187,1611,1357,1349,2875,1441,99, + 1425,1448,1483,145,664,1597,153,146,3042,30, + 33,945,916,3134,31,979,28,32,27,29, + 943,259,26,24,53,1027,108,77,78,110, + 1047,1464,1179,1171,1308,1187,399,1357,1349,875, + 1441,234,1425,1448,1483,145,4595,1537,152,146, + 3042,30,33,945,3381,3134,31,979,28,32, + 27,29,943,259,26,24,53,1027,108,77, + 78,110,1047,100,1179,1171,1308,1187,403,1357, + 1349,875,1441,234,1425,1448,1483,145,4621,3382, + 151,146,3042,30,33,945,3407,3134,31,979, + 28,32,27,29,943,259,26,24,53,1027, + 108,77,78,110,1047,3409,1179,1171,1308,1187, + 304,1357,1349,875,1441,234,1425,1448,1483,145, + 4643,839,150,146,3042,30,33,945,861,3134, + 31,979,28,32,27,29,943,259,26,24, + 53,1027,108,77,78,110,1047,1690,1179,1171, + 1308,1187,182,1357,1349,875,1441,2033,1425,1448, + 1483,145,239,241,149,146,3042,30,33,945, + 409,3134,31,979,28,32,27,29,943,259, + 26,24,53,1027,108,77,78,110,1047,495, + 1179,1171,1308,1187,198,1357,1349,875,1441,581, + 1425,1448,1483,145,327,499,148,146,3042,30, + 33,945,1676,3134,31,979,28,32,27,29, + 943,259,26,24,53,1027,108,77,78,110, + 1047,847,1179,1171,1308,1187,197,1357,1349,671, + 1441,673,1425,1448,1483,145,1468,2099,147,146, + 3144,30,33,945,1397,3134,31,979,28,32, + 27,29,943,259,26,24,53,1027,108,77, + 78,110,1047,148,1179,1171,1308,1187,3676,1357, + 1349,2818,1441,2822,1425,1448,2167,167,1980,875, + 3042,30,33,945,654,3134,31,979,28,32, + 27,29,943,259,26,24,53,1027,108,77, + 78,110,1047,2119,1179,1171,1308,1187,2826,1357, + 1349,56,1441,2310,1425,1448,1483,145,201,328, + 142,146,2788,30,33,945,316,332,31,979, + 1601,32,1561,3183,30,33,945,1388,3134,31, + 979,28,32,27,29,943,259,26,24,53, + 1027,108,77,78,110,1047,870,1179,1171,1308, + 1187,3514,1357,1349,2321,1441,2754,1425,1448,1483, + 145,573,502,192,146,3297,30,33,945,2683, + 3134,31,979,28,32,27,29,943,259,26, + 24,53,1027,108,77,78,110,1047,2306,1179, + 1171,1308,1187,1980,1357,1349,2307,1441,1980,1425, + 1448,2167,167,3297,30,33,945,519,3134,31, + 979,28,32,27,29,943,259,26,24,53, + 1027,108,77,78,110,1047,88,1179,1171,1308, + 1187,55,1357,1349,2045,1441,2684,1425,1448,2167, + 167,2117,30,33,945,2700,4265,31,979,28, + 32,60,29,2129,3410,2261,1980,1004,3297,30, + 33,945,290,3134,31,979,28,32,27,29, + 943,259,26,24,53,1027,108,77,78,110, + 1047,158,1179,1171,1308,1187,1980,1357,1349,350, + 1441,578,1425,1448,2167,167,3297,30,33,945, + 1514,3134,31,979,28,32,27,29,943,259, + 26,24,53,1027,108,77,78,110,1047,91, + 1179,1171,1308,1187,2693,1357,1349,2045,1441,2896, + 1425,1448,2167,167,2319,30,33,945,1385,4265, + 31,979,28,32,59,29,2174,2050,387,421, + 1004,3297,30,33,945,417,3134,31,979,28, + 32,27,29,943,259,26,24,53,1027,108, + 77,78,110,1047,158,1179,1171,1308,1187,64, + 1357,1349,3411,1441,1356,1425,1448,2167,167,3336, + 30,33,945,416,3134,31,979,28,32,27, + 29,943,259,26,24,53,1027,108,77,78, + 110,1047,2813,1179,1171,1308,1187,2685,1357,1349, + 2919,1441,535,1425,1448,2167,167,2025,41,43, + 945,56,2711,42,979,736,2124,384,385,945, + 2776,388,421,2815,3297,30,33,945,419,3134, + 31,979,28,32,27,29,943,259,26,24, + 53,1027,108,77,78,110,1047,34,1179,1171, + 1308,1187,63,1357,1349,573,1441,2219,1425,1919, + 1980,1004,3297,30,33,945,2936,3134,31,979, + 28,32,27,29,943,259,26,24,53,1027, + 108,77,78,110,1047,158,1179,1171,1308,1187, + 841,1357,1349,3568,1441,1912,1904,3297,30,33, + 945,2951,3134,31,979,28,32,27,29,943, + 259,26,24,53,1027,108,77,78,110,1047, + 1664,1179,1171,1308,1187,2920,1357,1853,3375,384, + 385,945,3491,2887,2463,1790,276,945,3480,722, + 234,259,2911,3499,276,945,2945,2124,384,385, + 945,3385,279,2045,3498,3297,30,33,945,271, + 3134,31,979,28,32,27,29,943,259,26, + 24,53,1027,108,77,78,110,1047,425,1179, + 1171,1308,1187,723,1784,229,3297,30,33,945, + 3501,3134,31,979,28,32,27,29,943,259, + 26,24,53,1027,108,77,78,110,1047,274, + 1179,1171,1308,1811,3024,273,272,3225,294,3512, + 1275,232,227,228,3297,30,33,945,2324,3134, + 31,979,28,32,27,29,943,259,26,24, + 53,1027,108,77,78,86,238,241,244,247, + 2657,2944,2911,672,2421,945,1651,1004,56,292, + 3284,293,944,3377,3024,3385,277,390,421,286, + 2313,4412,2671,3415,3454,3458,4142,3297,30,33, + 945,163,3134,31,979,28,32,27,29,943, + 259,26,24,53,1027,108,77,78,110,1047, + 3445,1179,1171,1308,1813,3297,30,33,945,95, + 3134,31,979,28,32,27,29,943,259,26, + 24,53,1027,108,77,78,110,1047,3028,1179, + 1171,1734,3297,30,33,945,3522,3134,31,979, + 28,32,27,29,943,259,26,24,53,1027, + 108,77,78,110,1047,1818,1179,1171,1735,3297, + 30,33,945,573,3134,31,979,28,32,27, + 29,943,259,26,24,53,1027,108,77,78, + 110,1047,3025,1179,1171,1769,3297,30,33,945, + 3028,3134,31,979,28,32,27,29,943,259, + 26,24,53,1027,108,77,78,110,1047,3530, + 1179,1171,1771,2037,30,33,945,3083,4501,31, + 979,28,32,339,29,3297,30,33,945,2045, + 3134,31,979,28,32,27,29,943,259,26, + 24,53,1027,108,77,78,110,1047,2598,1179, + 1777,1980,500,384,385,945,2110,30,33,945, + 4657,4501,31,979,28,32,339,29,3532,2704, + 3516,2883,1406,320,322,2298,2124,384,385,945, + 317,1322,351,271,855,3544,3031,1526,2079,3121, + 945,3034,4432,3545,2583,2389,3504,242,445,3549, + 2298,836,4589,1443,445,3442,3223,444,4589,3225, + 294,344,1152,850,349,1406,320,322,51,225, + 2360,3514,874,317,1322,351,1803,3035,1524,292, + 52,293,1524,2295,620,3564,3413,2331,3411,273, + 272,1004,4283,389,421,213,210,203,211,212, + 214,292,3799,293,344,1152,850,349,229,1717, + 3536,204,205,2006,2298,158,2308,497,3475,1729, + 3565,285,2313,2298,4675,2849,215,518,875,206, + 207,208,209,225,2046,295,296,297,298,3676, + 386,351,225,365,240,227,228,3337,2324,573, + 2933,3514,495,496,3601,3565,4283,3038,3122,213, + 210,203,211,212,214,3304,2729,199,404,3123, + 344,1152,850,349,3582,204,205,56,2298,342, + 2308,4422,56,2029,1433,405,2298,2298,3676,2308, + 215,46,2170,206,207,208,209,225,333,295, + 296,297,298,351,875,343,2583,375,2755,438, + 2655,2656,2298,334,335,442,2655,2656,3601,3633, + 4283,3126,3129,213,210,203,211,212,214,1980, + 2692,343,346,1152,850,349,3131,1574,3626,204, + 205,2903,2298,219,2308,2903,4518,332,2302,3517, + 4518,56,1980,2598,215,2298,993,206,207,208, + 209,225,70,295,296,297,298,2103,1532,385, + 945,3531,3224,3558,343,406,409,1511,3121,359, + 3572,2298,3601,3694,4283,69,2754,213,210,203, + 211,212,214,2230,2260,2271,3574,56,51,2692, + 2583,2298,3406,204,205,3782,1609,3133,2308,292, + 52,293,1524,56,2097,56,3573,1984,215,1004, + 343,206,207,208,209,779,3438,295,296,297, + 298,2312,30,33,945,3083,4501,31,979,28, + 32,339,29,2036,2887,2692,3601,3769,3297,30, + 33,945,1616,3134,31,979,28,32,27,29, + 943,259,26,24,53,1027,108,77,78,110, + 1047,767,1692,359,448,767,285,2313,2553,384, + 385,945,3611,2553,384,385,945,3302,2260,2271, + 1406,320,322,877,516,434,3616,2803,317,1322, + 351,423,3383,2324,2463,424,280,945,2463,271, + 278,945,3562,520,271,2706,30,33,945,3743, + 4501,31,979,28,32,339,29,2506,2887,344, + 1152,850,349,814,3297,30,33,945,521,3134, + 31,979,28,32,27,29,943,259,26,24, + 53,1027,108,77,78,110,1047,87,1693,75, + 875,531,351,148,340,273,272,3138,3676,355, + 273,272,3648,3520,1406,320,322,2950,525,1980, + 225,3077,317,1322,3650,158,875,2124,384,385, + 945,344,1152,850,349,1643,183,1687,1,4655, + 2006,1491,531,3804,3399,2077,213,210,202,211, + 212,214,68,172,2889,1532,385,945,426,56, + 3134,225,1980,2618,2298,308,158,332,186,170, + 171,173,174,175,176,177,1643,183,2463,185, + 2552,945,56,343,3804,51,2897,213,210,202, + 211,212,214,354,172,67,292,52,293,1524, + 184,655,525,3121,5117,875,3272,312,3926,187, + 170,171,173,174,175,176,177,3297,30,33, + 945,5117,3134,31,979,28,32,27,29,943, + 259,26,24,53,1027,108,77,78,110,1700, + 3297,30,33,945,4695,3134,31,979,28,32, + 27,29,943,259,26,24,53,1027,108,77, + 78,110,1719,5117,5117,2901,1532,385,945,3297, + 30,33,945,3118,3134,31,979,28,32,27, + 29,943,259,26,24,53,1027,108,77,78, + 110,1729,1677,30,33,945,51,4572,31,979, + 28,32,339,29,875,3029,393,292,52,293, + 1524,56,1848,5117,56,1131,3658,1511,1004,516, + 2298,2298,1980,779,1495,30,33,945,4238,4501, + 31,979,28,32,339,29,5117,56,1717,225, + 2583,2323,4124,307,1980,2553,384,385,945,3894, + 1220,1406,320,322,531,3658,333,1524,1120,318, + 1322,351,4283,400,1980,213,210,203,211,212, + 214,3460,5117,343,5117,2298,271,58,158,5117, + 5117,204,205,2434,3602,322,2308,5117,191,5117, + 346,1152,850,349,225,2729,491,57,4399,206, + 207,208,209,1524,5117,295,296,297,298,5117, + 672,672,1893,359,1004,1004,1004,4283,3104,283, + 213,210,203,211,212,214,73,3480,2260,2271, + 173,1980,273,272,531,1540,204,205,163,163, + 158,2308,331,335,5117,5117,1766,1532,385,945, + 165,513,1980,225,206,207,208,209,158,2887, + 295,296,297,298,323,284,56,3642,1643,183, + 2599,259,5117,5117,2756,531,3804,51,2783,213, + 210,202,211,212,214,103,172,5117,292,52, + 293,1524,229,1761,225,1766,1532,385,945,158, + 1980,2946,170,171,173,174,175,176,177,1643, + 183,3672,1948,3324,5117,2298,5117,3804,3185,875, + 213,210,202,211,212,214,51,172,243,227, + 228,229,56,3722,225,229,2873,292,52,293, + 48,5117,179,170,171,173,174,175,176,177, + 5117,5117,2553,384,385,945,5117,4283,4787,5117, + 213,210,203,211,212,214,3704,246,227,228, + 2298,249,227,228,56,2849,204,205,3318,2298, + 1980,2308,5117,271,324,1524,1037,5117,56,225, + 531,310,3623,525,206,207,208,209,343,5117, + 295,296,297,298,1693,5117,56,2376,524,343, + 2298,1004,4283,443,158,213,210,203,211,212, + 214,3550,1727,2692,1002,2298,928,1980,5117,343, + 527,204,205,74,2692,158,2308,523,1848,273, + 272,783,1004,1717,225,2872,514,301,5117,206, + 207,208,209,1524,2692,295,296,297,298,56, + 3106,1635,1980,3297,2421,1935,158,4283,1004,2298, + 213,210,203,211,212,214,2748,200,56,56, + 345,672,4482,4650,531,1004,204,205,2583,672, + 56,2308,158,1004,977,3660,1766,1532,385,945, + 2729,216,3099,225,206,207,208,209,158,163, + 295,296,297,298,1524,309,56,163,1643,183, + 2964,431,5117,5117,56,531,3804,51,3048,213, + 210,202,211,212,214,5117,172,5117,292,52, + 293,1524,56,2193,225,5117,4681,3696,335,158, + 5117,190,170,171,173,174,175,176,177,1643, + 183,360,517,148,5117,3584,531,3804,3676,5117, + 213,210,202,211,212,214,300,172,1766,1532, + 385,945,1796,3344,56,225,2298,5117,4692,1524, + 158,3432,3124,170,171,173,174,175,176,177, + 1643,183,56,603,5117,343,2898,531,3804,51, + 5117,213,210,202,211,212,214,5117,172,875, + 292,52,293,1524,56,2435,225,332,4271,5117, + 2305,158,5117,193,170,171,173,174,175,176, + 177,1643,183,672,689,5117,56,1004,531,3804, + 3439,299,213,210,202,211,212,214,303,172, + 1766,1532,385,945,3548,56,931,225,3491,2666, + 5117,163,158,875,189,170,171,173,174,175, + 176,177,1643,183,56,775,5117,2952,3183,531, + 3804,51,5117,213,210,202,211,212,214,1980, + 172,5117,292,52,293,1524,56,911,225,1980, + 2730,1980,194,158,1980,196,170,171,173,174, + 175,176,177,1643,183,56,56,5117,5117,2794, + 2858,3804,3701,5117,213,210,202,211,212,214, + 5117,172,3742,5117,1901,3560,3594,2691,56,380, + 2951,5117,873,3291,5117,5117,195,170,171,173, + 174,175,176,177,3297,30,33,945,5117,3134, + 31,979,28,32,27,29,943,259,26,24, + 53,1027,108,77,78,84,3297,30,33,945, + 5117,3134,31,979,28,32,27,29,943,259, + 26,24,53,1027,108,77,78,83,3297,30, + 33,945,5117,3134,31,979,28,32,27,29, + 943,259,26,24,53,1027,108,77,78,82, + 3297,30,33,945,5117,3134,31,979,28,32, + 27,29,943,259,26,24,53,1027,108,77, + 78,81,3297,30,33,945,5117,3134,31,979, + 28,32,27,29,943,259,26,24,53,1027, + 108,77,78,80,3297,30,33,945,5117,3134, + 31,979,28,32,27,29,943,259,26,24, + 53,1027,108,77,78,79,3082,30,33,945, + 5117,3134,31,979,28,32,27,29,943,259, + 26,24,53,1027,108,77,78,106,3297,30, + 33,945,5117,3134,31,979,28,32,27,29, + 943,259,26,24,53,1027,108,77,78,112, + 3297,30,33,945,1980,3134,31,979,28,32, + 27,29,943,259,26,24,53,1027,108,77, + 78,111,3436,384,385,945,5117,2887,5117,5117, + 5117,5117,5117,5117,235,259,5117,377,1980,1980, + 1980,5117,5117,5117,5117,5117,5117,5117,5117,3297, + 30,33,945,271,3134,31,979,28,32,27, + 29,943,259,26,24,53,1027,108,77,78, + 109,3853,3824,3865,5117,3297,30,33,945,229, + 3134,31,979,28,32,27,29,943,259,26, + 24,53,1027,108,77,78,107,5117,5117,5117, + 5117,5117,5117,274,5117,5117,5117,5117,5117,273, + 272,5117,5117,5117,5117,233,227,228,1685,2579, + 33,945,3743,4501,31,979,28,32,339,29, + 5117,5117,5117,5117,5117,5117,5117,5117,5117,5117, + 239,242,245,248,2657,2126,1532,385,945,5117, + 1651,1502,30,33,945,3743,4501,31,979,28, + 32,339,29,2695,30,33,945,4271,4501,31, + 979,28,32,339,29,5117,51,1406,320,322, + 5117,5117,5117,5117,5117,317,1322,292,52,293, + 1524,5117,2162,5117,5117,5117,5117,5117,5117,5117, + 1078,5117,5117,2622,5117,5117,5117,5117,5117,5117, + 1406,320,322,5117,5117,5117,5117,5117,317,1322, + 5117,5117,2434,3602,322,5117,5117,5117,5117,3258, + 30,33,945,1687,3134,31,979,28,32,27, + 29,943,259,26,24,53,1027,87,77,78, + 2688,2579,33,945,3743,4501,31,979,28,32, + 339,29,5117,1756,30,33,945,3743,4501,31, + 979,28,32,339,29,5117,412,2638,5117,1756, + 30,33,945,3743,4501,31,979,28,32,339, + 29,5117,1467,5117,5117,5117,5117,5117,5117,5117, + 5117,1517,1652,311,236,259,2298,4675,5117,1406, + 320,322,2126,1532,385,945,5117,317,1322,5117, + 5117,5117,1406,320,322,225,5117,5117,2824,3016, + 317,1322,1078,2103,1532,385,945,5117,1406,320, + 322,5117,5117,51,5117,3411,317,1322,3304,229, + 5117,404,5117,5117,292,52,293,1524,5117,49, + 5117,3092,1717,5117,51,1098,5117,1433,405,531, + 2321,5117,2308,5117,5117,292,52,293,1524,5117, + 49,2103,1532,385,945,237,227,228,343,5117, + 5117,1398,5117,158,5117,5117,5117,5117,2103,1532, + 385,945,5117,1313,2126,1532,385,945,413,2638, + 5117,5117,51,2692,5117,5117,5117,5117,5117,2729, + 1265,5117,5117,292,52,293,1524,5117,2470,51, + 5117,2302,5117,5117,56,51,5117,5117,2298,3003, + 292,52,293,1524,5117,49,292,52,293,1524, + 5117,49,2103,1532,385,945,2317,343,406,408, + 2466,5117,1862,5117,1004,5117,3704,335,5117,2103, + 1532,385,945,5117,5117,2103,1532,385,945,5117, + 5117,5117,2692,51,2698,5117,2739,5117,158,2621, + 5117,5117,5117,5117,292,52,293,1524,3142,2706, + 51,3136,1532,385,945,5117,51,5117,5117,5117, + 3003,292,52,293,1524,5117,49,292,52,293, + 1524,5117,49,3141,1532,385,945,2646,5117,5117, + 2883,5117,51,3107,2298,1938,2511,2029,5117,1004, + 1004,2298,3676,292,52,293,1524,5117,49,1766, + 1532,385,945,2583,51,1766,1532,385,945,2387, + 2583,1717,5117,158,158,292,52,293,1524,5117, + 49,5117,3471,165,1440,1983,2298,5117,5117,1004, + 51,2679,5117,1159,976,5117,51,531,531,5117, + 5117,292,52,293,1524,2583,655,292,52,293, + 1524,332,2290,158,1281,56,343,225,531,2298, + 5117,158,158,165,5117,5117,1342,5117,2729,5117, + 531,1002,165,5117,5117,5117,497,343,343,5117, + 3804,2692,158,359,3392,5117,5117,5117,1943,343, + 3272,3499,191,5117,158,5117,56,2230,2260,2271, + 2298,56,4399,2692,191,2298,5117,5117,5117,5117, + 501,494,496,5117,4399,3826,335,2056,497,343, + 5117,1004,2556,5117,343,5117,1004,5117,5117,5117, + 5117,4159,5117,5117,5117,5117,5117,5117,5117,5117, + 3080,5117,5117,5117,2692,158,5117,2639,5117,2692, + 158,499,5117,494,496,165,528,5117,5117,5117, + 4158,5117,5117,5117,5117,5117,5117,5117,5117,5117, + 5117,3879,5117,5117,5117,5117,5117,5117,5117,5117, + 5117,5117,5117,3889,5117,5117,5117,5117,5117,2922, + 5117,5117,5117,5117,5117,5117,5117,5117,5117,5117, + 5117,5117,5117,5117,5117,5117,5117,5117,5117,5117, + 5117,5117,5117,5117,5117,5117,5117,5117,5117,5117, + 5117,5117,5117,4160,5117,0,989,39,0,446, + 2181,0,35,505,0,989,38,0,2529,128, + 0,1,436,0,1658,39,0,450,1115,0, + 449,1314,0,2935,93,0,35,302,0,384, + 294,0,33,385,0,30,384,0,2186,39, + 0,1,564,0,1,5387,0,1,5386,0, + 1,5385,0,1,5384,0,1,5383,0,1, + 5382,0,1,5381,0,1,5380,0,1,5379, + 0,1,5378,0,1,5377,0,1,989,39, + 0,1,2177,0,1525,39,0,35,282,258, + 0,35,505,282,258,0,1525,50,0,2423, + 234,0,45,5153,0,45,37,0,2529,130, + 0,2529,129,0,27,512,0,5447,437,0, + 2428,437,0,1,5155,0,1,39,0,49, + 37,0,1,94,0,1,5155,226,0,1, + 39,226,0,5152,37,0,5152,5,37,0, + 5622,36,0,5153,47,0,37,47,0,5126, + 402,0,1,2186,0,1,2828,0,1,4383, + 0,3639,319,0,5447,97,0,2428,97,0, + 3391,278,0,1,1228,0,1,1270,0,5152, + 39,0,493,3351,0,1,226,0,1,226, + 2740,0,5126,226,0,159,178,0,294,3906, + 0,226,166,0,188,3783,0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -1065,97 +1061,97 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse 10,11,12,13,14,15,16,17,18,19, 20,21,22,23,24,25,26,27,28,29, 30,31,32,33,34,35,36,37,38,39, - 40,41,42,43,44,0,46,47,48,49, - 50,51,52,53,54,55,56,57,0,59, - 60,0,62,63,64,65,0,67,0,8, - 9,71,0,5,74,75,76,77,78,79, + 40,41,42,43,44,45,46,47,48,49, + 50,51,52,53,54,0,56,57,58,59, + 60,0,62,63,0,65,2,67,0,0, + 0,71,2,5,74,75,76,77,78,79, 80,81,82,83,84,85,0,1,2,3, 4,5,6,7,8,9,10,11,12,13, 14,15,16,17,18,19,20,21,22,23, 24,25,26,27,28,29,30,31,32,33, 34,35,36,37,38,39,40,41,42,43, - 44,0,46,47,48,49,50,51,52,53, - 54,55,56,57,0,59,60,3,62,63, - 64,65,0,67,2,97,0,89,90,3, + 44,45,46,47,48,49,50,51,52,53, + 54,0,56,57,58,59,60,0,62,63, + 3,65,5,67,7,86,87,89,90,0, 74,75,76,77,78,79,80,81,82,83, 84,85,0,1,2,3,4,5,6,7, 8,9,10,11,12,13,14,15,16,17, 18,19,20,21,22,23,24,25,26,27, 28,29,30,31,32,33,34,35,36,37, - 38,39,40,41,42,43,44,61,46,47, - 48,49,50,51,52,53,54,55,56,57, - 99,59,60,0,62,63,64,65,0,67, - 7,3,0,5,0,7,74,75,76,77, + 38,39,40,41,42,43,44,45,46,47, + 48,49,50,51,52,53,54,68,56,57, + 58,59,60,0,62,63,3,65,0,67, + 0,0,1,5,3,5,74,75,76,77, 78,79,80,81,82,83,84,85,0,1, 2,3,4,5,6,7,8,9,10,11, 12,13,14,15,16,17,18,19,20,21, 22,23,24,25,26,27,28,29,30,31, 32,33,34,35,36,37,38,39,40,41, - 42,43,44,61,46,47,48,49,50,51, - 52,53,54,55,56,57,72,59,60,0, - 62,63,64,65,0,67,0,8,9,5, - 0,5,74,75,76,77,78,79,80,81, + 42,43,44,45,46,47,48,49,50,51, + 52,53,54,0,56,57,58,59,60,0, + 62,63,0,65,0,67,0,89,90,89, + 90,7,74,75,76,77,78,79,80,81, 82,83,84,85,0,1,2,3,4,5, 6,7,8,9,10,11,12,13,14,15, 16,17,18,19,20,21,22,23,24,25, 26,27,28,29,30,31,32,33,34,35, - 36,37,38,39,40,41,42,43,44,0, - 46,47,48,49,50,51,52,53,54,55, - 56,57,72,59,60,0,62,63,64,65, - 0,67,0,89,90,89,90,0,74,75, + 36,37,38,39,40,41,42,43,44,45, + 46,47,48,49,50,51,52,53,54,0, + 56,57,58,59,60,0,62,63,0,65, + 88,67,86,87,9,10,94,98,74,75, 76,77,78,79,80,81,82,83,84,85, 0,1,2,3,4,5,6,7,8,9, 10,11,12,13,14,15,16,17,18,19, 20,21,22,23,24,25,26,27,28,29, 30,31,32,33,34,35,36,37,38,39, - 40,41,42,43,44,58,46,47,48,49, - 50,51,52,53,54,55,56,57,0,59, - 60,3,62,63,64,65,0,67,86,87, - 95,96,0,0,74,75,76,77,78,79, + 40,41,42,43,44,45,46,47,48,49, + 50,51,52,53,54,0,56,57,58,59, + 60,0,62,63,0,65,88,67,0,0, + 1,0,94,4,74,75,76,77,78,79, 80,81,82,83,84,85,0,1,2,3, 4,5,6,7,8,9,10,11,12,13, 14,15,16,17,18,19,20,21,22,23, 24,25,26,27,28,29,30,31,32,33, 34,35,36,37,38,39,40,41,42,43, - 44,58,46,47,48,49,50,51,52,53, - 54,55,56,57,0,59,60,0,62,63, - 64,65,0,67,0,0,0,2,86,87, + 44,45,46,47,48,49,50,51,52,53, + 54,70,56,57,58,59,60,0,62,63, + 0,65,88,67,86,87,95,96,94,0, 74,75,76,77,78,79,80,81,82,83, 84,85,0,1,2,3,4,5,6,7, 8,9,10,11,12,13,14,15,16,17, 18,19,20,21,22,23,24,25,26,27, 28,29,30,31,32,33,34,35,36,37, - 38,39,40,41,42,43,44,0,46,47, - 48,49,50,51,52,53,54,55,56,57, - 0,59,60,3,62,63,64,65,0,67, - 86,87,86,87,0,98,74,75,76,77, + 38,39,40,41,42,43,44,45,46,47, + 48,49,50,51,52,53,54,0,56,57, + 58,59,60,0,62,63,3,65,88,67, + 0,0,0,0,94,2,74,75,76,77, 78,79,80,81,82,83,84,85,0,1, 2,3,4,5,6,7,8,9,10,11, 12,13,14,15,16,17,18,19,20,21, 22,23,24,25,26,27,28,29,30,31, 32,33,34,35,36,37,38,39,40,41, - 42,43,44,0,46,47,48,49,50,51, - 52,53,54,55,56,57,99,59,60,0, - 62,63,64,65,0,67,0,8,9,0, - 86,87,74,75,76,77,78,79,80,81, + 42,43,44,45,46,47,48,49,50,51, + 52,53,54,72,56,57,58,59,60,0, + 62,63,0,65,97,67,86,87,86,87, + 0,0,74,75,76,77,78,79,80,81, 82,83,84,85,0,1,2,3,4,5, 6,7,8,9,10,11,12,13,14,15, 16,17,18,19,20,21,22,23,24,25, 26,27,28,29,30,31,32,33,34,35, - 36,37,38,39,40,41,42,43,44,0, - 46,47,48,49,50,51,52,53,54,55, - 56,57,0,59,60,0,62,63,64,65, - 0,67,0,1,0,1,4,3,74,75, + 36,37,38,39,40,41,42,43,44,45, + 46,47,48,49,50,51,52,53,54,0, + 56,57,58,59,60,0,62,63,0,65, + 0,67,0,1,0,3,0,1,74,75, 76,77,78,79,80,81,82,83,84,85, - 0,1,2,3,4,5,6,7,8,9, - 0,11,12,119,42,116,117,118,46,47, - 48,49,50,51,52,53,54,55,56,0, - 1,2,3,4,5,6,7,0,1,59, - 0,1,42,43,0,1,46,47,48,49, - 50,51,52,53,54,55,56,0,58,0, - 1,61,3,4,7,6,66,57,68,69, - 70,71,72,0,1,2,3,4,0,6, - 40,41,45,0,40,41,86,87,88,89, + 0,1,2,3,4,5,6,7,119,9, + 10,11,12,0,0,2,0,42,2,119, + 45,46,47,48,49,50,51,52,53,54, + 61,56,0,1,2,3,4,5,6,7, + 62,55,42,43,62,45,46,47,48,49, + 50,51,52,53,54,0,56,43,3,0, + 1,61,3,4,64,6,66,0,68,69, + 70,71,72,93,61,0,1,61,3,66, + 5,68,7,99,0,72,86,87,88,89, 90,91,92,93,94,95,96,97,98,99, 100,101,102,103,104,105,106,107,108,109, 110,111,112,113,114,0,1,2,3,4, @@ -1163,280 +1159,287 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse 15,16,17,18,19,20,21,22,23,24, 25,26,27,28,29,30,31,32,33,34, 35,36,37,38,39,40,41,42,43,44, - 0,46,47,48,49,50,51,52,53,54, - 55,56,57,95,96,0,0,62,3,64, - 65,0,1,2,3,4,5,6,7,8, - 9,10,11,12,13,14,15,16,17,18, - 19,20,21,22,23,24,25,26,27,28, - 29,30,31,32,33,34,35,36,37,38, - 39,40,41,42,0,44,66,46,47,48, - 49,50,51,52,53,54,55,56,57,0, - 0,1,66,62,68,64,65,0,1,2, + 45,46,47,48,49,50,51,52,53,54, + 0,56,57,58,59,60,0,1,2,3, + 4,5,6,7,8,9,10,11,12,13, + 14,15,16,17,18,19,20,21,22,23, + 24,25,26,27,28,29,30,31,32,33, + 34,35,36,37,38,39,40,41,42,0, + 44,45,46,47,48,49,50,51,52,53, + 54,61,56,57,58,59,60,0,1,2, 3,4,5,6,7,8,9,10,11,12, 13,14,15,16,17,18,19,20,21,22, 23,24,25,26,27,28,29,30,31,32, 33,34,35,36,37,38,39,40,41,42, - 66,44,68,46,47,48,49,50,51,52, - 53,54,55,56,57,0,1,68,3,62, - 71,64,65,0,1,2,3,4,5,6, - 7,8,9,10,11,12,13,14,15,16, - 17,18,19,20,21,22,23,24,25,26, - 27,28,29,30,31,32,33,34,35,36, - 37,38,39,40,41,42,0,44,0,46, - 47,48,49,50,51,52,53,54,55,56, - 57,0,0,2,0,62,0,64,65,0, - 1,2,3,4,5,6,7,8,9,10, - 11,12,13,14,15,16,17,18,19,20, - 21,22,23,24,25,26,27,28,29,30, - 31,32,33,34,35,36,37,38,39,40, - 41,42,66,44,68,46,47,48,49,50, - 51,52,53,54,55,56,57,0,66,0, - 69,62,68,64,65,0,1,2,3,4, - 5,6,7,8,9,10,11,12,13,14, - 15,16,17,18,19,20,21,22,23,24, - 25,26,27,28,29,30,31,32,33,34, - 35,36,37,38,39,40,41,42,0,44, - 2,46,47,48,49,50,51,52,53,54, - 55,56,57,0,0,66,3,62,0,64, - 65,0,1,2,3,4,5,6,7,8, - 9,10,11,12,13,14,15,16,17,18, - 19,20,21,22,23,24,25,26,27,28, - 29,30,31,32,33,34,35,36,37,38, - 39,40,41,42,0,44,119,46,47,48, - 49,50,51,52,53,54,55,56,57,61, - 66,0,1,62,0,64,65,0,1,2, - 3,4,5,6,7,8,9,10,11,12, - 13,14,15,16,17,18,19,20,21,22, - 23,24,25,26,27,28,29,30,31,32, - 33,34,35,36,37,38,39,0,0,42, - 66,47,48,46,47,48,49,50,51,52, - 53,54,55,56,57,0,0,1,0,62, - 2,64,65,5,0,7,8,9,0,11, - 12,0,1,2,3,4,0,6,10,42, - 0,43,0,46,47,48,49,50,51,52, - 53,54,55,56,0,1,2,3,4,0, - 6,43,3,0,0,0,1,43,3,0, - 5,2,7,45,43,59,58,0,0,61, - 2,45,0,1,66,57,68,69,70,71, - 72,0,68,2,0,0,5,43,7,8, - 9,61,11,12,86,87,88,89,90,91, - 92,93,94,95,96,97,98,99,100,101, - 102,103,104,105,106,107,108,109,110,111, - 112,113,114,69,43,72,58,72,61,0, - 1,2,3,4,66,6,68,0,1,58, - 72,4,61,6,0,61,93,66,93,68, - 69,70,71,72,100,70,102,103,104,105, - 106,107,108,109,110,111,112,86,87,88, - 89,90,91,92,93,94,95,96,97,98, - 99,100,101,102,103,104,105,106,107,108, - 109,110,111,112,113,114,0,1,2,3, - 4,5,6,7,8,9,10,11,12,13, - 14,15,16,17,18,19,20,21,22,23, - 24,25,26,27,28,29,30,31,32,33, - 34,35,36,37,38,39,40,41,0,43, - 44,0,1,2,3,4,5,6,7,8, - 9,10,11,12,13,14,15,16,17,18, - 19,20,21,22,23,24,25,26,27,28, - 29,30,31,32,33,34,35,36,37,38, - 39,40,41,45,43,44,0,1,2,3, - 4,5,6,7,8,9,10,11,12,13, - 14,15,16,17,18,19,20,21,22,23, - 24,25,26,27,28,29,30,31,32,33, - 34,35,36,37,38,39,40,41,0,43, - 44,0,1,2,3,4,5,6,7,8, - 9,10,11,12,13,14,15,16,17,18, - 19,20,21,22,23,24,25,26,27,28, - 29,30,31,32,33,34,35,36,37,38, - 39,40,41,0,0,44,2,0,1,2, - 3,4,0,6,0,1,58,5,0,1, - 2,3,4,5,6,7,0,1,2,3, - 4,0,6,72,0,1,2,3,4,5, - 6,7,8,9,10,11,12,13,14,15, - 16,17,18,19,20,21,22,23,24,25, - 26,27,28,29,30,31,32,33,34,35, - 36,37,38,39,40,41,58,70,44,0, - 1,2,3,4,58,6,0,69,2,0, - 59,0,1,2,3,4,5,6,7,0, - 1,98,3,4,0,6,72,0,1,2, - 3,4,5,6,7,8,9,10,11,12, - 13,14,15,16,17,18,19,20,21,22, - 23,24,25,26,27,28,29,30,31,32, - 33,34,35,36,37,38,39,40,41,58, - 61,44,0,1,2,3,4,5,6,7, - 8,9,10,11,12,13,14,15,16,17, - 18,19,20,21,22,23,24,25,26,27, - 28,29,30,31,32,33,34,35,36,37, - 38,39,40,41,0,1,44,0,1,2, - 3,4,5,6,7,8,9,10,11,12, - 13,14,15,16,17,18,19,20,21,22, - 23,24,25,26,27,28,29,30,31,32, - 33,34,35,36,37,38,39,40,41,45, - 0,44,0,1,2,3,4,5,6,7, - 8,9,10,11,12,13,14,15,16,17, - 18,19,20,21,22,23,24,25,26,27, - 28,29,30,31,32,33,34,35,36,37, - 38,39,40,41,0,1,0,3,2,5, - 0,7,2,0,1,2,3,0,5,2, - 7,0,1,0,1,0,1,6,66,0, - 1,2,3,4,5,6,7,8,9,10, - 11,12,13,14,15,16,17,18,19,20, - 21,22,23,24,25,26,27,28,29,30, - 31,32,33,34,35,36,37,38,39,40, - 41,58,0,44,0,1,2,3,4,5, - 6,7,8,9,10,11,12,13,14,15, - 16,17,18,19,20,21,22,23,24,25, - 26,27,28,29,30,31,32,33,34,35, - 36,37,38,39,40,41,0,1,44,0, - 1,2,3,4,5,6,7,8,9,10, - 11,12,13,14,15,16,17,18,19,20, - 21,22,23,24,25,26,27,28,29,30, - 31,32,33,34,35,36,37,38,39,40, - 41,45,0,44,0,1,2,3,4,5, - 6,7,8,9,10,11,12,13,14,15, - 16,17,18,19,20,21,22,23,24,25, - 26,27,28,29,30,31,32,33,34,35, - 36,37,38,39,40,41,0,1,44,0, - 1,2,3,4,5,6,7,8,9,10, - 11,12,13,14,15,16,17,18,19,20, - 21,22,23,24,25,26,27,28,29,30, - 31,32,33,34,35,36,37,38,39,40, - 41,45,0,44,0,1,2,3,4,5, - 6,7,8,9,10,11,12,13,14,15, - 16,17,18,19,20,21,22,23,24,25, - 26,27,28,29,30,31,32,33,34,35, - 36,37,38,39,40,41,0,1,44,0, - 1,2,3,4,5,6,7,8,9,10, - 11,12,13,14,15,16,17,18,19,20, - 21,22,23,24,25,26,27,28,29,30, - 31,32,33,34,35,36,37,38,39,40, - 41,0,1,2,3,4,5,6,7,8, - 9,10,11,12,13,14,15,16,17,18, - 19,20,21,22,23,24,25,26,27,28, - 29,30,31,32,33,34,35,36,37,38, - 39,40,41,0,1,2,3,4,5,6, - 7,8,9,10,11,12,13,14,15,16, - 17,18,19,20,21,22,23,24,25,26, - 27,28,29,30,31,32,33,34,35,36, - 37,38,39,0,1,0,0,1,2,3, - 4,0,6,0,1,0,3,0,5,0, - 7,10,59,0,1,2,3,4,0,6, - 0,0,2,2,71,0,1,2,3,4, - 5,6,7,8,9,10,11,12,13,14, - 15,16,17,18,19,20,21,22,23,24, - 25,26,27,28,29,30,31,32,33,34, - 35,36,37,38,39,0,70,2,0,4, - 5,58,7,8,9,70,11,12,58,0, - 1,0,3,4,59,6,0,1,0,3, - 25,5,97,7,0,88,71,0,1,0, - 3,94,5,0,7,40,41,13,14,15, - 16,17,18,19,20,21,22,23,100,0, - 0,2,113,58,45,0,61,2,0,0, - 112,66,3,68,69,0,42,0,1,58, - 46,47,48,49,50,51,52,53,54,55, - 56,86,87,88,89,90,91,92,0,0, - 95,96,97,98,99,100,101,102,103,104, - 105,106,107,108,109,110,111,0,0,2, - 0,4,5,58,7,8,9,88,11,12, - 61,0,1,94,3,4,61,6,0,1, - 42,3,25,0,46,47,48,49,50,51, - 52,53,54,55,56,0,1,40,41,4, - 42,93,0,1,46,47,48,49,50,51, - 52,53,54,55,56,58,45,0,61,0, - 3,0,3,66,0,68,69,88,68,0, - 0,2,72,94,4,0,0,59,2,0, - 45,0,0,86,87,88,89,90,91,92, - 0,68,95,96,97,98,99,100,101,102, - 103,104,105,106,107,108,109,110,111,0, - 1,2,3,4,5,6,7,8,9,10, - 11,12,13,14,15,16,17,18,19,20, - 21,22,23,24,25,26,27,28,29,30, - 31,32,33,34,35,36,37,38,39,88, - 68,0,71,74,0,94,66,93,0,0, - 2,0,1,4,0,0,2,2,59,0, - 1,2,3,4,5,6,7,8,9,10, - 11,12,13,14,15,16,17,18,19,20, - 21,22,23,24,25,26,27,28,29,30, - 31,32,33,34,35,36,37,38,39,0, - 1,2,3,4,5,6,7,8,9,10, - 11,12,13,14,15,16,17,18,19,20, - 21,22,23,24,25,26,27,28,29,30, - 31,32,33,34,35,36,37,38,0,0, - 2,2,0,0,2,2,0,0,2,0, - 1,0,1,0,0,1,115,58,0,1, + 61,44,45,46,47,48,49,50,51,52, + 53,54,0,56,57,58,59,60,0,1, 2,3,4,5,6,7,8,9,10,11, 12,13,14,15,16,17,18,19,20,21, 22,23,24,25,26,27,28,29,30,31, - 32,33,34,35,36,37,38,0,1,2, - 3,4,5,6,7,8,9,10,11,12, - 13,14,15,16,17,18,19,20,21,22, - 23,24,25,26,27,28,29,30,31,32, - 33,34,35,36,37,38,39,0,0,0, - 93,2,0,0,2,0,1,0,1,0, - 0,0,0,0,0,0,0,0,0,0, - 0,24,24,0,0,0,0,24,115,0, - 0,113,0,1,2,3,4,5,6,7, - 8,9,10,11,12,13,14,15,16,17, - 18,19,20,21,22,23,24,25,26,27, - 28,29,30,31,32,33,34,35,36,37, - 38,0,1,2,3,4,5,6,7,8, - 9,10,11,12,13,14,15,16,17,18, - 19,20,21,22,23,24,25,26,27,28, - 29,30,31,32,33,34,35,36,37,38, + 32,33,34,35,36,37,38,39,40,41, + 42,0,44,45,46,47,48,49,50,51, + 52,53,54,61,56,57,58,59,60,0, + 1,2,3,4,5,6,7,8,9,10, + 11,12,13,14,15,16,17,18,19,20, + 21,22,23,24,25,26,27,28,29,30, + 31,32,33,34,35,36,37,38,39,40, + 41,42,61,44,45,46,47,48,49,50, + 51,52,53,54,0,56,57,58,59,60, 0,1,2,3,4,5,6,7,8,9, 10,11,12,13,14,15,16,17,18,19, 20,21,22,23,24,25,26,27,28,29, - 30,31,32,33,34,35,36,37,38,0, - 1,0,3,2,0,0,0,0,0,10, - 0,0,13,14,15,16,17,18,19,20, - 21,22,23,0,1,2,3,4,5,6, - 7,0,0,0,0,0,0,1,0,3, - 0,42,0,0,39,46,47,48,49,50, - 51,52,53,54,55,56,57,0,1,58, - 3,62,58,64,65,58,43,10,45,0, + 30,31,32,33,34,35,36,37,38,39, + 40,41,42,0,44,45,46,47,48,49, + 50,51,52,53,54,61,56,57,58,59, + 60,0,1,2,3,4,5,6,7,8, + 9,10,11,12,13,14,15,16,17,18, + 19,20,21,22,23,24,25,26,27,28, + 29,30,31,32,33,34,35,36,37,38, + 39,40,41,42,0,44,45,46,47,48, + 49,50,51,52,53,54,0,56,57,58, + 59,60,0,1,2,3,4,5,6,7, + 8,9,10,11,12,13,14,15,16,17, + 18,19,20,21,22,23,24,25,26,27, + 28,29,30,31,32,33,34,35,36,37, + 38,39,0,1,42,3,62,45,46,47, + 48,49,50,51,52,53,54,0,56,57, + 58,59,60,0,0,2,0,0,5,0, + 7,2,9,10,11,12,9,10,0,13, + 14,15,16,17,18,19,20,21,22,23, + 0,95,96,3,0,1,2,3,4,0, + 6,0,1,2,3,4,43,6,42,0, + 0,45,46,47,48,49,50,51,52,53, + 54,64,56,0,61,0,1,64,3,66, + 61,68,69,70,71,72,0,43,2,0, + 0,5,2,7,43,9,10,11,12,86, + 87,88,89,90,91,92,93,94,95,96, + 97,98,99,100,101,102,103,104,105,106, + 107,108,109,110,111,112,113,114,69,43, + 55,42,72,0,45,46,47,48,49,50, + 51,52,53,54,71,56,0,61,0,3, + 64,61,66,93,68,69,70,71,72,100, + 0,102,103,104,105,106,107,108,109,110, + 111,112,86,87,88,89,90,91,92,93, + 94,95,96,97,98,99,100,101,102,103, + 104,105,106,107,108,109,110,111,112,113, + 114,0,1,2,3,4,5,6,7,8, + 64,0,64,0,13,14,15,16,17,18, + 19,20,21,22,23,0,0,1,2,3, + 4,5,6,7,0,1,2,3,4,0, + 6,2,0,42,43,44,45,46,47,48, + 49,50,51,52,53,54,55,56,57,58, + 59,60,0,1,63,3,0,5,55,7, + 45,70,71,113,73,64,0,66,0,1, + 2,3,4,5,6,7,8,61,0,1, + 0,13,14,15,16,17,18,19,20,21, + 22,23,91,92,70,0,1,2,3,4, + 68,6,46,47,72,0,1,116,117,118, + 42,43,44,45,46,47,48,49,50,51, + 52,53,54,55,56,57,58,59,60,0, + 1,63,3,55,5,0,7,2,70,71, + 74,73,0,1,2,3,4,5,6,7, + 8,9,10,11,12,13,14,15,16,17, + 18,19,20,21,22,23,24,25,26,27, + 28,29,30,31,32,33,34,35,36,37, + 38,39,40,41,116,117,118,0,1,2, + 3,4,5,6,7,8,9,10,11,12, 13,14,15,16,17,18,19,20,21,22, - 23,45,0,60,0,1,2,3,4,5, - 6,7,10,70,71,61,73,0,1,42, - 66,70,5,46,47,48,49,50,51,52, - 53,54,55,56,57,0,1,0,3,62, - 0,64,65,115,0,91,92,43,0,45, - 0,1,2,3,4,5,6,7,69,116, - 117,118,45,0,60,63,0,0,1,0, - 0,0,0,0,70,71,0,73,0,10, - 43,46,0,1,2,3,4,5,6,7, - 0,0,42,43,46,45,0,1,2,3, - 4,5,6,7,0,61,2,0,45,69, - 60,61,45,63,45,11,12,67,0,0, - 116,117,118,73,42,43,57,45,0,1, - 2,3,4,5,6,7,70,0,42,43, - 68,45,60,70,68,63,0,0,1,67, - 72,0,61,71,0,73,60,66,0,63, - 70,0,58,67,0,0,59,71,0,73, - 42,43,0,45,0,1,2,3,4,5, - 6,7,91,92,0,0,1,69,60,0, - 71,63,45,0,43,67,0,0,61,71, - 0,73,0,66,0,101,0,1,2,3, - 4,5,6,7,0,69,42,43,114,45, - 0,1,2,3,4,5,6,7,91,92, - 45,70,68,61,60,70,68,63,0,0, - 0,67,0,59,0,71,0,73,42,43, - 0,45,0,1,2,3,4,5,6,7, - 0,0,42,43,75,45,60,70,72,63, - 66,69,0,67,120,61,0,71,0,73, - 60,0,0,63,0,0,0,67,0,43, - 0,0,0,73,42,43,0,45,0,1, - 2,3,4,5,6,7,0,69,69,59, - 0,69,60,69,0,63,0,0,0,67, - 59,0,0,0,0,73,0,0,0,69, - 0,59,0,0,0,0,0,0,0,0, - 42,43,0,45,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,60,0, - 0,63,0,0,0,67,0,0,0,0, - 0,73,0,0,0,0,0,0,0,0, + 23,24,25,26,27,28,29,30,31,32, + 33,34,35,36,37,38,39,40,41,0, + 43,44,0,1,2,3,4,5,6,7, + 8,9,10,11,12,13,14,15,16,17, + 18,19,20,21,22,23,24,25,26,27, + 28,29,30,31,32,33,34,35,36,37, + 38,39,40,41,0,43,44,0,1,2, + 3,4,5,6,7,8,9,10,11,12, + 13,14,15,16,17,18,19,20,21,22, + 23,24,25,26,27,28,29,30,31,32, + 33,34,35,36,37,38,39,40,41,0, + 43,44,0,1,2,3,4,5,6,7, + 8,9,10,11,12,13,14,15,16,17, + 18,19,20,21,22,23,24,25,26,27, + 28,29,30,31,32,33,34,35,36,37, + 38,39,40,41,0,1,44,93,0,1, + 6,3,0,5,2,7,0,1,2,3, + 4,5,6,7,0,0,1,2,3,0, + 5,72,7,0,72,0,1,2,3,4, + 5,6,7,8,9,10,11,12,13,14, + 15,16,17,18,19,20,21,22,23,24, + 25,26,27,28,29,30,31,32,33,34, + 35,36,37,38,39,40,41,61,0,44, + 72,69,0,1,55,69,61,9,10,0, + 1,2,3,4,70,6,0,1,0,3, + 4,93,6,0,1,0,1,72,0,1, + 2,3,4,5,6,7,8,9,10,11, + 12,13,14,15,16,17,18,19,20,21, + 22,23,24,25,26,27,28,29,30,31, + 32,33,34,35,36,37,38,39,40,41, + 61,55,44,0,1,2,3,4,5,6, + 7,8,9,10,11,12,13,14,15,16, + 17,18,19,20,21,22,23,24,25,26, + 27,28,29,30,31,32,33,34,35,36, + 37,38,39,40,41,97,0,44,0,1, + 2,3,4,5,6,7,8,9,10,11, + 12,13,14,15,16,17,18,19,20,21, + 22,23,24,25,26,27,28,29,30,31, + 32,33,34,35,36,37,38,39,40,41, + 0,0,44,0,1,2,3,4,5,6, + 7,8,9,10,11,12,13,14,15,16, + 17,18,19,20,21,22,23,24,25,26, + 27,28,29,30,31,32,33,34,35,36, + 37,38,39,40,41,0,0,2,2,0, + 0,0,1,2,3,4,7,6,0,1, + 0,3,4,0,6,64,66,4,68,66, + 0,1,2,3,4,5,6,7,8,9, + 10,11,12,13,14,15,16,17,18,19, + 20,21,22,23,24,25,26,27,28,29, + 30,31,32,33,34,35,36,37,38,39, + 40,41,61,55,44,0,1,2,3,4, + 5,6,7,8,9,10,11,12,13,14, + 15,16,17,18,19,20,21,22,23,24, + 25,26,27,28,29,30,31,32,33,34, + 35,36,37,38,39,40,41,0,98,44, + 0,1,2,3,4,5,6,7,8,9, + 10,11,12,13,14,15,16,17,18,19, + 20,21,22,23,24,25,26,27,28,29, + 30,31,32,33,34,35,36,37,38,39, + 40,41,0,1,44,0,1,2,3,4, + 5,6,7,8,9,10,11,12,13,14, + 15,16,17,18,19,20,21,22,23,24, + 25,26,27,28,29,30,31,32,33,34, + 35,36,37,38,39,40,41,0,1,44, + 0,1,2,3,4,5,6,7,8,9, + 10,11,12,13,14,15,16,17,18,19, + 20,21,22,23,24,25,26,27,28,29, + 30,31,32,33,34,35,36,37,38,39, + 40,41,0,1,44,0,1,2,3,4, + 5,6,7,8,9,10,11,12,13,14, + 15,16,17,18,19,20,21,22,23,24, + 25,26,27,28,29,30,31,32,33,34, + 35,36,37,38,39,40,41,0,1,44, + 0,1,2,3,4,5,6,7,8,9, + 10,11,12,13,14,15,16,17,18,19, + 20,21,22,23,24,25,26,27,28,29, + 30,31,32,33,34,35,36,37,38,39, + 40,41,0,1,2,3,4,5,6,7, + 8,9,10,11,12,13,14,15,16,17, + 18,19,20,21,22,23,24,25,26,27, + 28,29,30,31,32,33,34,35,36,37, + 38,39,0,0,0,2,0,0,1,2, + 3,4,0,6,0,1,2,3,4,0, + 6,2,0,0,62,0,1,2,3,4, + 0,6,2,71,0,1,2,3,4,5, + 6,7,8,9,10,11,12,13,14,15, + 16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,30,31,32,33,34,35, + 36,37,38,39,0,0,2,70,4,5, + 68,7,0,9,10,11,12,0,1,66, + 3,68,5,0,7,0,62,2,0,25, + 2,99,0,0,100,71,3,0,1,11, + 12,4,0,6,40,41,112,42,0,0, + 45,46,47,48,49,50,51,52,53,54, + 0,56,0,1,0,61,4,0,64,5, + 66,0,68,69,42,0,1,45,46,47, + 48,49,50,51,52,53,54,64,56,61, + 86,87,88,89,90,91,92,64,0,95, + 96,97,98,99,100,101,102,103,104,105, + 106,107,108,109,110,111,0,55,2,0, + 4,5,0,7,0,9,10,11,12,101, + 55,64,0,66,0,64,0,66,0,1, + 8,25,114,0,1,0,3,4,3,6, + 0,1,0,1,0,3,40,41,91,92, + 0,1,91,92,116,117,118,43,0,0, + 72,3,3,0,0,39,2,61,40,41, + 64,8,66,64,68,69,64,55,0,57, + 40,41,68,0,0,1,3,45,64,0, + 0,0,86,87,88,89,90,91,92,0, + 1,95,96,97,98,99,100,101,102,103, + 104,105,106,107,108,109,110,111,0,1, + 2,3,4,5,6,7,8,9,10,11, + 12,13,14,15,16,17,18,19,20,21, + 22,23,24,25,26,27,28,29,30,31, + 32,33,34,35,36,37,38,39,68,68, + 71,62,71,0,0,2,2,0,0,1, + 0,4,2,0,0,2,2,0,0,2, + 62,0,1,2,3,4,5,6,7,8, + 9,10,11,12,13,14,15,16,17,18, + 19,20,21,22,23,24,25,26,27,28, + 29,30,31,32,33,34,35,36,37,38, + 39,0,1,2,3,4,5,6,7,8, + 9,10,11,12,13,14,15,16,17,18, + 19,20,21,22,23,24,25,26,27,28, + 29,30,31,32,33,34,35,36,37,38, + 0,0,0,2,2,0,0,2,0,1, + 0,1,0,0,2,0,1,0,0,2, + 0,1,61,0,1,2,3,4,5,6, + 7,8,9,10,11,12,13,14,15,16, + 17,18,19,20,21,22,23,24,25,26, + 27,28,29,30,31,32,33,34,35,36, + 37,38,0,1,2,3,4,5,6,7, + 8,9,10,11,12,13,14,15,16,17, + 18,19,20,21,22,23,24,25,26,27, + 28,29,30,31,32,33,34,35,36,37, + 38,39,0,0,0,1,93,0,0,0, + 0,0,0,0,0,115,0,0,0,0, + 0,115,0,0,0,0,24,24,0,0, + 0,24,0,115,0,0,113,0,1,2, + 3,4,5,6,7,8,9,10,11,12, + 13,14,15,16,17,18,19,20,21,22, + 23,24,25,26,27,28,29,30,31,32, + 33,34,35,36,37,38,0,1,2,3, + 4,5,6,7,8,9,10,11,12,13, + 14,15,16,17,18,19,20,21,22,23, + 24,25,26,27,28,29,30,31,32,33, + 34,35,36,37,38,0,1,2,3,4, + 5,6,7,8,9,10,11,12,13,14, + 15,16,17,18,19,20,21,22,23,24, + 25,26,27,28,29,30,31,32,33,34, + 35,36,37,38,0,1,0,3,0,0, + 0,0,8,0,0,1,0,13,14,15, + 16,17,18,19,20,21,22,23,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,8,0,1,0,1,42,5,0,45, + 46,47,48,49,50,51,52,53,54,43, + 56,57,58,59,60,0,1,0,3,55, + 64,0,1,8,0,1,66,66,13,14, + 15,16,17,18,19,20,21,22,23,0, + 1,2,3,4,5,6,7,55,65,55, + 0,66,66,68,66,66,66,42,8,0, + 45,46,47,48,49,50,51,52,53,54, + 0,56,57,58,59,60,55,0,0,55, + 0,42,43,0,1,2,3,4,5,6, + 7,0,75,0,55,0,0,0,120,0, + 0,0,63,64,65,55,67,57,0,0, + 0,0,73,0,55,0,1,2,3,4, + 5,6,7,0,0,42,43,0,0,0, + 1,2,3,4,5,6,7,0,55,43, + 70,0,43,0,0,68,63,69,65,69, + 67,0,0,0,71,62,73,42,43,64, + 69,0,1,2,3,4,5,6,7,68, + 55,42,43,0,0,0,66,69,63,70, + 65,70,67,70,55,0,71,0,73,62, + 0,68,63,69,65,0,67,69,57,62, + 71,0,73,42,43,0,1,2,3,4, + 5,6,7,70,70,62,55,0,0,0, + 69,0,70,0,63,0,65,0,67,0, + 0,0,71,0,73,0,62,0,1,2, + 3,4,5,6,7,72,0,42,43,64, + 0,0,1,2,3,4,5,6,7,69, + 55,0,0,68,0,0,0,0,63,0, + 65,0,67,0,0,0,71,0,73,42, + 43,0,0,0,1,2,3,4,5,6, + 7,0,55,42,43,0,69,0,69,0, + 63,0,65,0,67,0,55,0,0,0, + 73,0,0,0,63,0,65,0,67,0, + 0,0,0,0,73,42,43,0,0,0, + 0,0,0,0,0,0,0,0,55,0, + 0,0,0,0,0,0,63,0,65,0, + 67,0,0,0,0,0,73,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0 + 0,0,0,0,0,0,0 }; }; public final static byte termCheck[] = TermCheck.termCheck; @@ -1444,377 +1447,384 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse public interface TermAction { public final static char termAction[] = {0, - 5140,5121,5118,5118,5118,5118,5118,5118,1,1, + 5117,5098,5095,5095,5095,5095,5095,5095,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5125,3282,1,1,1,1,1, - 1,1,1,1,1,1,1,1,131,2766, - 1208,116,1,3264,1,1,5140,3115,113,3089, - 3003,5148,5140,3237,1218,3181,1814,2134,1722,3152, - 3411,3175,3241,3170,2922,3169,5140,5121,5118,5118, - 5118,5118,5118,5118,1,1,1,1,1,1, + 1,1,1,5102,2869,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,5117,3097,1213,5117,2856,4485,2697,117,123, + 5117,5125,2423,3249,1223,2841,1727,2139,1685,2705, + 3410,2789,2842,2778,3618,2777,5117,5098,5095,5095, + 5095,5095,5095,5095,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5125, - 3282,135,1,1,1,1,1,1,1,1, - 1,1,1,1,35,2766,1208,5174,1,3264, - 1,1,5140,3115,4748,2295,31,3214,3191,4949, - 1218,3181,1814,2134,1722,3152,3411,3175,3241,3170, - 2922,3169,5140,5121,5118,5118,5118,5118,5118,5118, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5102, + 2869,1,1,1,1,1,1,1,1,1, + 1,5117,1,1,1,1,1,39,3097,1213, + 5155,2856,2428,2697,5447,787,2595,3220,3197,160, + 1223,2841,1727,2139,1685,2705,3410,2789,2842,2778, + 3618,2777,5117,5098,5095,5095,5095,5095,5095,5095, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5125,3282,500,1,1, 1,1,1,1,1,1,1,1,1,1, - 2227,2766,1208,129,1,3264,1,1,35,3115, - 2353,5174,5140,2173,1,5466,1218,3181,1814,2134, - 1722,3152,3411,3175,3241,3170,2922,3169,5140,5121, - 5118,5118,5118,5118,5118,5118,1,1,1,1, + 1,1,1,1,1,5102,2869,1,1,1, + 1,1,1,1,1,1,1,1275,1,1, + 1,1,1,39,3097,1213,5155,2856,119,2697, + 118,5117,5089,3249,5155,3249,1223,2841,1727,2139, + 1685,2705,3410,2789,2842,2778,3618,2777,5117,5098, + 5095,5095,5095,5095,5095,5095,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,5125,3282,2821,1,1,1,1,1,1, - 1,1,1,1,1,1,160,2766,1208,118, - 1,3264,1,1,115,3115,114,3089,3003,3237, - 5140,3237,1218,3181,1814,2134,1722,3152,3411,3175, - 3241,3170,2922,3169,5140,5121,5118,5118,5118,5118, - 5118,5118,1,1,1,1,1,1,1,1, + 1,5102,2869,1,1,1,1,1,1,1, + 1,1,1,5117,1,1,1,1,1,137, + 3097,1213,113,2856,133,2697,127,3220,3197,3220, + 3197,2325,1223,2841,1727,2139,1685,2705,3410,2789, + 2842,2778,3618,2777,5117,5098,5095,5095,5095,5095, + 5095,5095,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5125,3282,5140, + 1,1,1,1,1,1,1,5102,2869,1, + 1,1,1,1,1,1,1,1,1,5117, + 1,1,1,1,1,120,3097,1213,116,2856, + 4098,2697,787,2595,3054,2968,4120,584,1223,2841, + 1727,2139,1685,2705,3410,2789,2842,2778,3618,2777, + 5117,5098,5095,5095,5095,5095,5095,5095,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,5147,2766,1208,127,1,3264,1,1, - 5140,3115,119,3214,3191,3214,3191,445,1218,3181, - 1814,2134,1722,3152,3411,3175,3241,3170,2922,3169, - 5140,5121,5118,5118,5118,5118,5118,5118,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,5102,2869,1,1,1,1,1, + 1,1,1,1,1,5117,1,1,1,1, + 1,131,3097,1213,115,2856,4098,2697,126,5117, + 1658,5117,4120,2998,1223,2841,1727,2139,1685,2705, + 3410,2789,2842,2778,3618,2777,5117,5098,5095,5095, + 5095,5095,5095,5095,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5125,3282,4940,1,1,1,1, - 1,1,1,1,1,1,1,1,5140,2766, - 1208,901,1,3264,1,1,5140,3115,782,2624, - 2503,2475,123,444,1218,3181,1814,2134,1722,3152, - 3411,3175,3241,3170,2922,3169,5140,5121,5118,5118, - 5118,5118,5118,5118,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5102, + 2869,1,1,1,1,1,1,1,1,1, + 1,1820,1,1,1,1,1,5117,3097,1213, + 114,2856,4098,2697,787,2595,2447,2356,4120,5117, + 1223,2841,1727,2139,1685,2705,3410,2789,2842,2778, + 3618,2777,5117,5098,5095,5095,5095,5095,5095,5095, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5125, - 3282,4943,1,1,1,1,1,1,1,1, - 1,1,1,1,5140,2766,1208,133,1,3264, - 1,1,5140,3115,122,5140,121,3032,782,2624, - 1218,3181,1814,2134,1722,3152,3411,3175,3241,3170, - 2922,3169,5140,5121,5118,5118,5118,5118,5118,5118, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,5102,2869,1,1,1, + 1,1,1,1,1,1,1,135,1,1, + 1,1,1,5117,3097,1213,906,2856,4098,2697, + 125,1,124,93,4120,4923,1223,2841,1727,2139, + 1685,2705,3410,2789,2842,2778,3618,2777,5117,5098, + 5095,5095,5095,5095,5095,5095,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5125,3282,136,1,1, 1,1,1,1,1,1,1,1,1,1, - 5140,2766,1208,4952,1,3264,1,1,5140,3115, - 782,2624,782,2624,120,2262,1218,3181,1814,2134, - 1722,3152,3411,3175,3241,3170,2922,3169,5140,5121, - 5118,5118,5118,5118,5118,5118,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,5102,2869,1,1,1,1,1,1,1, + 1,1,1,164,1,1,1,1,1,5117, + 3097,1213,5117,2856,2267,2697,787,2595,787,2595, + 159,5117,1223,2841,1727,2139,1685,2705,3410,2789, + 2842,2778,3618,2777,5117,2740,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,5125,3282,5140,1,1,1,1,1,1, - 1,1,1,1,1,1,2227,2766,1208,117, - 1,3264,1,1,5140,3115,5140,3089,3003,5140, - 782,2624,1218,3181,1814,2134,1722,3152,3411,3175, - 3241,3170,2922,3169,5140,3157,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,5126,2869,1, + 1,1,1,1,1,1,1,1,1,450, + 1,1,1,1,1,221,3097,1213,5117,2856, + 357,2697,5117,9242,139,5155,5117,9253,1223,2841, + 1727,2139,1685,2705,3410,2789,2842,2778,3618,2777, + 5117,4987,4987,4987,4987,4987,4987,4987,4895,4987, + 4987,4987,4987,1,5117,3013,1,5370,3013,530, + 5373,5454,5455,5367,5374,5347,5372,5371,5368,5369, + 4917,5348,5117,4896,4383,2177,2186,2428,2828,5447, + 2797,5153,4987,4987,3139,4987,4987,4987,4987,4987, + 4987,4987,4987,4987,4987,5117,4987,5126,4929,5117, + 4896,4987,2177,2186,4991,2828,4987,5117,4987,4987, + 4987,4987,4987,5473,1780,436,1,1780,1,341, + 4911,341,4911,2232,5117,341,4987,4987,4987,4987, + 4987,4987,4987,4987,4987,4987,4987,4987,4987,4987, + 4987,4987,4987,4987,4987,4987,4987,4987,4987,4987, + 4987,4987,4987,4987,4987,5117,5095,5095,5095,5095, + 5095,5095,5095,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5149,3282,5140, + 1,1,1,1,1,1,1,1,5111,5276, 1,1,1,1,1,1,1,1,1,1, - 1,1,217,2766,1208,5140,1,3264,1,1, - 5140,3115,5140,1646,5140,5112,3315,5174,1218,3181, - 1814,2134,1722,3152,3411,3175,3241,3170,2922,3169, - 5140,5010,5010,5010,5010,5010,5010,5010,5010,5010, - 5140,5010,5010,4918,5389,5564,5565,5566,5392,5473, - 5474,5386,5393,5366,5391,5390,5387,5388,5367,5140, - 4919,2341,1857,2181,2173,2647,5466,5140,9210,2176, - 5140,1561,5010,5010,5140,5019,5010,5010,5010,5010, - 5010,5010,5010,5010,5010,5010,5010,130,5010,5140, - 4919,5014,1857,2181,2353,2647,5010,2385,5010,5010, - 5010,5010,5010,1,5000,2341,5004,2181,128,2647, - 4111,810,5172,5140,4111,810,5010,5010,5010,5010, - 5010,5010,5010,5010,5010,5010,5010,5010,5010,5010, - 5010,5010,5010,5010,5010,5010,5010,5010,5010,5010, - 5010,5010,5010,5010,5010,5140,5118,5118,5118,5118, - 5118,5118,5118,1,1,1,1,1,1,1, + 449,1,1,1,1,1,5117,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,5134,5295, - 5140,1,1,1,1,1,1,1,1,1, - 1,1,1,2503,2475,1,23,1,381,1, - 1,5140,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,348, + 5276,1,1,1,1,1,1,1,1,1, + 1,4920,1,1,1,1,1,5117,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,5140,5295,2031,1,1,1, - 1,1,1,1,1,1,1,1,1,5140, - 5140,1561,5037,1,5037,1,1,5140,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1780,5276,1,1,1,1,1,1,1,1, + 1,1,102,1,1,1,1,1,5117,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 3285,5295,3362,1,1,1,1,1,1,1, - 1,1,1,1,1,5140,5112,941,5174,1, - 5148,1,1,5140,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,321,5276,1,1,1,1,1,1,1, + 1,1,1,4656,1,1,1,1,1,5117, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,5140,5295,5140,1, 1,1,1,1,1,1,1,1,1,1, - 1,311,5140,2953,156,1,5140,1,1,5140, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1780,5276,1,1,1,1,1,1, + 1,1,1,1,101,1,1,1,1,1, + 5117,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,3519,5295,3362,1,1,1,1,1, - 1,1,1,1,1,1,1,155,2069,5140, - 1185,1,1270,1,1,5140,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,5117,5276,1,1,1,1,1, + 1,1,1,1,1,1953,1,1,1,1, + 1,5117,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,89,5295, - 4946,1,1,1,1,1,1,1,1,1, - 1,1,1,389,5140,2072,4952,1,5140,1, - 1,5140,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,5117,5276,1,1,1,1, + 1,1,1,1,1,1,132,1,1,1, + 1,1,39,4914,3566,2177,627,3988,2828,4010, + 1255,3966,3944,4054,4032,5379,5377,5386,5385,5381, + 5382,5380,5383,5384,5387,5378,5137,2394,583,719, + 5139,607,4349,672,5140,5138,577,5133,5135,5136, + 5134,1232,5117,5089,5370,5155,3512,5373,5454,5455, + 5367,5374,5347,5372,5371,5368,5369,5117,5348,5512, + 764,5513,5514,385,5117,4932,220,122,4932,347, + 4932,3162,4932,4932,4932,4932,3054,2968,5117,5379, + 5377,5386,5385,5381,5382,5380,5383,5384,5387,5378, + 1,2447,2356,385,1,4977,5068,4981,5062,5117, + 5065,1,4977,4383,4981,2186,4932,2828,5370,141, + 1,5373,5454,5455,5367,5374,5347,5372,5371,5368, + 5369,2802,5348,5117,4932,394,4984,4932,5155,4932, + 1780,4932,4932,4932,4932,4932,384,5126,4935,222, + 319,4935,5071,4935,314,4935,4935,4935,4935,4932, + 4932,4932,4932,4932,4932,4932,4932,4932,4932,4932, + 4932,4932,4932,4932,4932,4932,4932,4932,4932,4932, + 4932,4932,4932,4932,4932,4932,4932,4932,1738,4935, + 39,5370,362,5117,5373,5454,5455,5367,5374,5347, + 5372,5371,5368,5369,5125,5348,35,4935,5117,4926, + 4935,1780,4935,362,4935,4935,4935,4935,4935,2194, + 5117,1696,1654,1612,1570,1528,1486,1444,1402,1360, + 1318,2227,4935,4935,4935,4935,4935,4935,4935,4935, + 4935,4935,4935,4935,4935,4935,4935,4935,4935,4935, + 4935,4935,4935,4935,4935,4935,4935,4935,4935,4935, + 4935,5117,5039,226,5035,226,226,226,226,1, + 505,128,2871,37,1,1,1,1,1,1, + 1,1,1,1,1,428,345,4896,2626,2177, + 2186,2428,2828,5447,1,4977,4383,4981,2186,234, + 2828,4999,5117,1,226,5524,1,1,1,1, + 1,1,1,1,1,1,493,1,1,1, + 1,1,437,39,708,5155,336,5020,5153,5017, + 5544,226,411,5123,5609,2556,1,4908,5117,5039, + 226,5035,226,226,226,226,1,1780,45,5005, + 5117,1,1,1,1,1,1,1,1,1, + 1,1,2502,2475,2008,1,4977,4383,4981,2186, + 4771,2828,5454,5455,5124,5117,1525,5546,5547,5548, + 1,226,5524,1,1,1,1,1,1,1, + 1,1,1,493,1,1,1,1,1,94, + 1,708,1,5002,5032,1,5032,4554,226,410, + 3670,5609,143,4896,3566,2177,627,3988,2828,4010, + 564,3966,3944,4054,4032,5379,5377,5386,5385,5381, + 5382,5380,5383,5384,5387,5378,5137,2394,583,719, + 5139,607,4349,672,5140,5138,577,5133,5135,5136, + 5134,1232,39,39,5546,5547,5548,5117,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,5140,5295,525,1,1,1, - 1,1,1,1,1,1,1,1,1,3517, - 2074,5140,5019,1,332,1,1,35,4937,4715, - 1857,622,4023,2647,4045,4001,3979,1346,4089,4067, - 5398,5396,5405,5404,5400,5401,5399,5402,5403,5406, - 5397,5156,3957,602,764,5158,714,3063,762,5159, - 5157,578,5152,5154,5155,5153,1227,218,5140,5389, - 5639,5473,5474,5392,5473,5474,5386,5393,5366,5391, - 5390,5387,5388,5367,5531,5140,5140,3408,381,559, - 4955,5532,5533,4955,5140,4955,4955,4955,1,4955, - 4955,1,5000,5091,5004,5085,33,5088,5106,5389, - 5140,5149,5140,5392,5473,5474,5386,5393,5366,5391, - 5390,5387,5388,5367,1,5000,2341,5004,2181,5140, - 2647,4955,3396,1,137,1,5049,5149,5046,230, - 2173,5022,5466,2927,5149,3585,4955,5140,1,4955, - 3280,5172,5140,998,4955,5109,4955,4955,4955,4955, - 4955,380,4318,4958,5140,5140,4958,310,4958,4958, - 4958,3567,4958,4958,4955,4955,4955,4955,4955,4955, - 4955,4955,4955,4955,4955,4955,4955,4955,4955,4955, - 4955,4955,4955,4955,4955,4955,4955,4955,4955,4955, - 4955,4955,4955,1733,4958,358,1775,358,4335,1, - 5000,5091,5004,5085,337,5088,337,5140,998,4958, - 337,2181,4958,2647,5140,713,358,4958,358,4958, - 4958,4958,4958,4958,2189,1815,1691,1649,1607,1565, - 1523,1481,1439,1397,1355,1313,2222,4958,4958,4958, - 4958,4958,4958,4958,4958,4958,4958,4958,4958,4958, - 4958,4958,4958,4958,4958,4958,4958,4958,4958,4958, - 4958,4958,4958,4958,4958,4958,5140,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5117, + 5126,5276,5117,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,45,5149, - 5295,5140,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,166,5276,5117,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,863,162,5295,5140,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5117, + 166,5276,5117,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,344,162, - 5295,5140,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,38,4905,5276,5475,1,5026, + 711,5023,315,2428,3294,5447,366,4977,2626,4981, + 2186,1,2828,1,422,345,39,3013,5155,49, + 2428,5124,5447,5117,166,5117,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,134,1,5295,4535,1,5000,2341, - 5004,2181,5140,2647,46,5019,1775,3048,362,5000, - 2655,5004,2181,1,2647,1,1,5000,2655,5004, - 2181,5140,2647,162,5140,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1780,121,5276, + 362,1190,5117,4996,2304,1050,1780,3054,2968,1, + 4977,2626,4981,2186,2861,2828,5117,4896,136,2177, + 4938,362,2828,5117,989,50,4996,166,5117,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1775,2003,5295,1, - 5000,2341,5004,2181,1775,2647,5140,1045,2389,441, - 3037,341,4919,2655,1857,2181,2173,2647,5466,5140, - 4919,2262,1857,2181,5140,2647,162,5140,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1780,660,554,5117,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1775, - 4922,565,5140,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,2267,5117,5276,5117,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,41,5028,5295,5140,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5025, - 5140,5295,1,5000,4715,5004,622,4023,2647,4045, - 4001,3979,4964,4089,4067,4991,4997,4970,4973,4985, - 4982,4988,4979,4976,4967,4994,5156,3957,602,764, - 5158,714,3063,762,5159,5157,578,5152,5154,5155, - 5153,1227,35,35,431,1,5140,1,3588,4934, - 5140,4934,4356,341,35,3280,5174,5140,2173,4616, - 5466,34,4928,5140,5640,5140,5171,759,504,5140, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1775,5140,5295,5140,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,33,5052,5295,5140, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,2172,5140,5295,5140,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,5140,5066,5295,5140, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,5172,5140,5295,5140,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,5140,1646,5295,139, - 4919,4715,1857,622,4023,2647,4045,4001,3979,549, - 4089,4067,5398,5396,5405,5404,5400,5401,5399,5402, - 5403,5406,5397,5156,3957,602,764,5158,714,3063, - 762,5159,5157,578,5152,5154,5155,5153,1227,35, - 35,1,5000,4715,5004,622,4023,2647,4045,4001, - 3979,4964,4089,4067,4991,4997,4970,4973,4985,4982, - 4988,4979,4976,4967,4994,5156,3957,602,764,5158, - 714,3063,762,5159,5157,578,5152,5154,5155,5153, - 1227,35,35,35,4919,4715,1857,622,4023,2647, - 4045,4001,3979,549,4089,4067,5398,5396,5405,5404, - 5400,5401,5399,5402,5403,5406,5397,5156,3957,602, - 764,5158,714,3063,762,5159,5157,578,5152,5154, - 5155,5153,1227,284,5427,132,1,5000,2341,5004, - 2181,302,2647,432,35,417,5174,109,5043,5140, - 5040,5441,3716,1,5000,2655,5004,2181,137,2647, - 1,5140,3280,3607,5148,35,4919,4715,1857,622, - 4023,2647,4045,4001,3979,549,4089,4067,5398,5396, - 5405,5404,5400,5401,5399,5402,5403,5406,5397,5156, - 3957,602,764,5158,714,3063,762,5159,5157,578, - 5152,5154,5155,5153,1227,1,2003,626,5140,5596, - 5590,1775,5594,5588,5589,2794,5619,5620,1775,5140, - 4919,98,1857,4961,3716,2647,90,1,5140,1, - 5597,5055,2295,5055,216,4133,5148,93,35,112, - 5174,4155,5100,5140,5097,1485,1520,5398,5396,5405, - 5404,5400,5401,5399,5402,5403,5406,5397,2189,5140, - 5140,3816,5146,573,655,343,5599,2952,353,46, - 2222,5600,1561,5621,5598,31,5389,32,5073,4667, - 5392,5473,5474,5386,5393,5366,5391,5390,5387,5388, - 5367,5610,5609,5622,5591,5592,5615,5616,219,111, - 5613,5614,5593,5595,5617,5618,5623,5603,5604,5605, - 5601,5602,5611,5612,5607,5606,5608,5140,220,626, - 5140,5596,5590,1775,5594,5588,5589,4133,5619,5620, - 1561,5140,4919,4155,1857,4961,4925,2647,5140,9268, - 5389,5174,5597,503,5392,5473,5474,5386,5393,5366, - 5391,5390,5387,5388,5367,33,5052,1485,1520,5052, - 5389,5492,5140,5427,5392,5473,5474,5386,5393,5366, - 5391,5390,5387,5388,5367,573,1129,5140,5599,5140, - 2691,110,2843,5600,1,5621,5598,4133,4777,101, - 5140,4372,5147,4155,4449,5140,5140,2841,3142,1, - 2185,5140,357,5610,5609,5622,5591,5592,5615,5616, - 5140,812,5613,5614,5593,5595,5617,5618,5623,5603, - 5604,5605,5601,5602,5611,5612,5607,5606,5608,35, - 4919,4715,1857,622,4023,2647,4045,4001,3979,549, - 4089,4067,5398,5396,5405,5404,5400,5401,5399,5402, - 5403,5406,5397,5156,3957,602,764,5158,714,3063, - 762,5159,5157,578,5152,5154,5155,5153,1227,4133, - 3443,5140,5148,3277,5140,4155,5582,5494,274,5140, - 5103,390,5171,4497,5140,5140,4700,3309,3716,35, - 4919,4715,1857,622,4023,2647,4045,4001,3979,549, - 4089,4067,5398,5396,5405,5404,5400,5401,5399,5402, - 5403,5406,5397,5156,3957,602,764,5158,714,3063, - 762,5159,5157,578,5152,5154,5155,5153,1227,35, - 4919,4715,1857,622,4023,2647,4045,4001,3979,549, - 4089,4067,5398,5396,5405,5404,5400,5401,5399,5402, - 5403,5406,5397,5156,3957,602,764,5158,714,3063, - 762,5159,5157,578,5152,5154,5155,5153,5140,5140, - 3384,4757,5140,5140,4760,4712,5140,1,4769,5140, - 2628,5140,3474,370,5140,8365,3428,1383,35,4919, - 4715,1857,622,4023,2647,4045,4001,3979,549,4089, - 4067,5398,5396,5405,5404,5400,5401,5399,5402,5403, - 5406,5397,5156,3957,602,764,5158,714,3063,762, - 5159,5157,578,5152,5154,5155,5153,35,4919,4715, - 1857,622,4023,2647,4045,4001,3979,549,4089,4067, - 5398,5396,5405,5404,5400,5401,5399,5402,5403,5406, - 5397,5156,3957,602,764,5158,714,3063,762,5159, - 5157,578,5152,5154,5155,5153,1227,5140,5140,5140, - 3710,3734,5140,1,4811,5140,8365,5140,3550,5140, - 5140,5140,5140,5140,5140,5140,5140,5140,5140,5140, - 5140,3569,3400,5140,5140,5140,5140,3062,3428,5140, - 5140,5146,35,4919,4751,1857,622,4023,2647,4045, - 4001,3979,549,4089,4067,5398,5396,5405,5404,5400, - 5401,5399,5402,5403,5406,5397,5156,3957,602,764, - 5158,714,3063,762,5159,5157,578,5152,5154,5155, - 5153,35,4919,4715,1857,622,4023,2647,4045,4001, - 3979,549,4089,4067,5398,5396,5405,5404,5400,5401, - 5399,5402,5403,5406,5397,5156,3957,602,764,5158, - 714,3063,762,5159,5157,578,5152,5154,5155,5153, - 35,4919,4715,1857,622,4023,2647,4045,4001,3979, - 549,4089,4067,5398,5396,5405,5404,5400,5401,5399, - 5402,5403,5406,5397,5156,3957,602,764,5158,714, - 3063,762,5159,5157,578,5152,5154,5155,5153,5140, - 4937,315,5174,5094,317,521,5140,97,510,703, - 5140,5140,5398,5396,5405,5404,5400,5401,5399,5402, - 5403,5406,5397,1,5062,222,5058,222,222,222, - 222,5140,5140,5140,124,5140,390,5007,5140,5174, - 5140,5389,5140,5140,3034,5392,5473,5474,5386,5393, - 5366,5391,5390,5387,5388,5367,5531,5140,4937,1775, - 5174,559,1775,5532,5533,1948,222,703,488,285, - 5398,5396,5405,5404,5400,5401,5399,5402,5403,5406, - 5397,35,302,891,1,5062,222,5058,222,222, - 222,222,5441,222,406,2585,5627,33,5052,5389, - 4931,5534,3048,5392,5473,5474,5386,5393,5366,5391, - 5390,5387,5388,5367,5531,423,35,398,5174,559, - 365,5532,5533,3428,5140,2531,579,222,423,488, - 1,5118,222,5118,222,222,222,222,1910,5564, - 5565,5566,5172,5140,891,1682,26,5140,5069,1, - 5140,5140,283,5140,222,405,415,5627,1,5106, - 5082,5562,1,5118,222,5118,222,222,222,222, - 435,126,8769,222,5562,5115,1,5118,222,5118, - 222,222,222,222,72,3272,3286,5140,2749,1087, - 1208,3382,5172,728,2927,5201,5202,3115,363,1, - 5564,5565,5566,5627,8769,222,5109,5115,1,5118, - 222,5118,222,222,222,222,413,125,8769,222, - 2562,5115,1208,2041,2896,728,409,43,5079,3115, - 5147,174,2585,214,184,5627,1208,5031,5140,728, - 3143,5140,2091,3115,436,5140,2766,214,309,5627, - 8769,222,5140,5115,1,5118,222,5118,222,222, - 222,222,2531,579,1,33,5052,1143,1208,5140, - 5148,728,5076,5140,5128,3115,1,5140,2585,213, - 5140,5627,495,5034,5140,1986,1,5118,222,5118, - 222,222,222,222,5,2096,8769,222,2079,5115, - 1,5118,222,5118,222,222,222,222,2531,579, - 5172,5317,3273,3417,1208,3452,4342,728,493,31, - 5140,3115,5140,3624,5140,214,5140,5627,8769,222, - 5140,5115,1,5118,222,5118,222,222,222,222, - 497,5140,8769,222,3537,5115,1208,5316,517,728, - 3547,4655,35,3115,5137,33,5140,214,5140,5627, - 1208,5140,5140,728,5140,5140,5140,3115,5140,4949, - 5140,5140,5140,5627,8769,222,5140,5115,1,5118, - 222,5118,222,222,222,222,5140,4768,1724,3702, - 5140,1724,1208,1868,5140,728,5140,5140,5140,3115, - 5131,5140,5140,5140,5140,5627,5140,5140,5140,910, - 5140,2186,5140,5140,5140,5140,5140,5140,5140,5140, - 8769,222,5140,5115,5140,5140,5140,5140,5140,5140, - 5140,5140,5140,5140,5140,5140,5140,5140,1208,5140, - 5140,728,5140,5140,5140,3115,5140,5140,5140,5140, - 5140,5627 + 27,5117,5276,1,4977,3566,4981,627,3988,2828, + 4010,4941,3966,3944,4054,4032,4968,4974,4947,4950, + 4962,4959,4965,4956,4953,4944,4971,5137,2394,583, + 719,5139,607,4349,672,5140,5138,577,5133,5135, + 5136,5134,1232,39,39,5117,5117,2707,3587,134, + 5117,1,4977,2626,4981,2186,2325,2828,5117,4896, + 138,2177,4938,5117,2828,2917,5014,3325,5014,509, + 5117,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1780,1134,5276,5117,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,5117,584,5276, + 5117,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,5117,5622,5276,5117,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,5117,5152,5276, + 5117,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,5117,1658,5276,5117,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,288,5408,5276, + 1,4977,3566,4981,627,3988,2828,4010,4941,3966, + 3944,4054,4032,4968,4974,4947,4950,4962,4959,4965, + 4956,4953,4944,4971,5137,2394,583,719,5139,607, + 4349,672,5140,5138,577,5133,5135,5136,5134,1232, + 39,39,39,4896,3566,2177,627,3988,2828,4010, + 564,3966,3944,4054,4032,5379,5377,5386,5385,5381, + 5382,5380,5383,5384,5387,5378,5137,2394,583,719, + 5139,607,4349,672,5140,5138,577,5133,5135,5136, + 5134,1232,140,5117,141,3644,5117,1,4977,4383, + 4981,2186,508,2828,1,4977,5068,4981,5062,5117, + 5065,4580,5117,5117,3928,1,4977,4383,4981,2186, + 5117,2828,3391,5125,39,4896,3566,2177,627,3988, + 2828,4010,564,3966,3944,4054,4032,5379,5377,5386, + 5385,5381,5382,5380,5383,5384,5387,5378,5137,2394, + 583,719,5139,607,4349,672,5140,5138,577,5133, + 5135,5136,5134,1232,1,223,631,2008,5578,5572, + 817,5576,5117,5570,5571,5601,5602,97,39,3296, + 5155,2641,5077,5117,5074,5117,3928,3661,76,5579, + 3390,2232,224,50,2194,5125,1525,5117,989,5182, + 5183,2186,5117,2828,1490,1509,2227,5370,5117,5117, + 5373,5454,5455,5367,5374,5347,5372,5371,5368,5369, + 5117,5348,37,5029,5117,785,5029,130,5581,3554, + 5582,129,5603,5580,5370,37,5029,5373,5454,5455, + 5367,5374,5347,5372,5371,5368,5369,3586,5348,2096, + 5592,5591,5604,5573,5574,5597,5598,1525,1,5595, + 5596,5575,5577,5599,5600,5605,5585,5586,5587,5583, + 5584,5593,5594,5589,5588,5590,5117,2422,631,5117, + 5578,5572,446,5576,5117,5570,5571,5601,5602,1991, + 2312,2556,1,5008,35,2556,526,5011,5117,1525, + 5083,5579,2084,5117,4896,393,2177,2186,4929,2828, + 5117,4996,428,39,5117,5155,1490,1509,2502,2475, + 36,5050,2502,2475,5546,5547,5548,5126,5117,5117, + 5124,2675,2398,306,105,2661,3669,785,4076,815, + 5581,5422,5582,774,5603,5580,4899,2640,5117,5086, + 4076,815,4370,5117,5117,5408,2560,5544,4902,1, + 361,5117,5592,5591,5604,5573,5574,5597,5598,5117, + 2900,5595,5596,5575,5577,5599,5600,5605,5585,5586, + 5587,5583,5584,5593,5594,5589,5588,5590,39,4896, + 3566,2177,627,3988,2828,4010,564,3966,3944,4054, + 4032,5379,5377,5386,5385,5381,5382,5380,5383,5384, + 5387,5378,5137,2394,583,719,5139,607,4349,672, + 5140,5138,577,5133,5135,5136,5134,1232,3645,946, + 5125,3845,5125,5117,278,3639,5080,5117,394,5152, + 5117,3532,3823,5117,5117,3555,2892,5117,5117,3330, + 3928,39,4896,3566,2177,627,3988,2828,4010,564, + 3966,3944,4054,4032,5379,5377,5386,5385,5381,5382, + 5380,5383,5384,5387,5378,5137,2394,583,719,5139, + 607,4349,672,5140,5138,577,5133,5135,5136,5134, + 1232,39,4896,3566,2177,627,3988,2828,4010,564, + 3966,3944,4054,4032,5379,5377,5386,5385,5381,5382, + 5380,5383,5384,5387,5378,5137,2394,583,719,5139, + 607,4349,672,5140,5138,577,5133,5135,5136,5134, + 5117,5117,5117,4724,4704,5117,374,4736,5117,1819, + 5117,3002,5117,1,3140,5117,8431,5117,515,4792, + 5117,8431,1351,39,4896,3566,2177,627,3988,2828, + 4010,564,3966,3944,4054,4032,5379,5377,5386,5385, + 5381,5382,5380,5383,5384,5387,5378,5137,2394,583, + 719,5139,607,4349,672,5140,5138,577,5133,5135, + 5136,5134,39,4896,3566,2177,627,3988,2828,4010, + 564,3966,3944,4054,4032,5379,5377,5386,5385,5381, + 5382,5380,5383,5384,5387,5378,5137,2394,583,719, + 5139,607,4349,672,5140,5138,577,5133,5135,5136, + 5134,1232,5117,5117,5117,3093,3891,1,5117,5117, + 5117,5117,5117,5117,5117,2927,5117,5117,5117,5117, + 5117,2927,5117,5117,5117,5117,3844,3607,5117,5117, + 5117,2676,5117,2927,5117,5117,5123,39,4896,4703, + 2177,627,3988,2828,4010,564,3966,3944,4054,4032, + 5379,5377,5386,5385,5381,5382,5380,5383,5384,5387, + 5378,5137,2394,583,719,5139,607,4349,672,5140, + 5138,577,5133,5135,5136,5134,39,4896,3566,2177, + 627,3988,2828,4010,564,3966,3944,4054,4032,5379, + 5377,5386,5385,5381,5382,5380,5383,5384,5387,5378, + 5137,2394,583,719,5139,607,4349,672,5140,5138, + 577,5133,5135,5136,5134,39,4896,3566,2177,627, + 3988,2828,4010,564,3966,3944,4054,4032,5379,5377, + 5386,5385,5381,5382,5380,5383,5384,5387,5378,5137, + 2394,583,719,5139,607,4349,672,5140,5138,577, + 5133,5135,5136,5134,5117,4914,5117,5155,5117,5117, + 5117,5117,856,5117,5117,5043,402,5379,5377,5386, + 5385,5381,5382,5380,5383,5384,5387,5378,188,5117, + 5117,5117,5117,306,5117,5117,5117,5117,5117,5117, + 5117,5422,37,5029,5117,5046,5370,3554,5117,5373, + 5454,5455,5367,5374,5347,5372,5371,5368,5369,5059, + 5348,5512,764,5513,5514,5117,4914,5117,5155,5153, + 3659,47,5056,856,37,5029,1938,1946,5379,5377, + 5386,5385,5381,5382,5380,5383,5384,5387,5378,1, + 5095,226,5095,226,226,226,226,5153,1603,5153, + 1,3032,1986,2641,1995,5621,5564,5370,5083,5117, + 5373,5454,5455,5367,5374,5347,5372,5371,5368,5369, + 5117,5348,5512,764,5513,5514,5053,287,289,5153, + 369,8875,226,1,5095,226,5095,226,226,226, + 226,367,3087,5117,5092,5117,178,5117,5114,5117, + 5117,420,1213,2891,733,2640,2697,5086,414,30, + 5117,5117,5609,440,2433,1,5095,226,5095,226, + 226,226,226,441,500,8875,226,1,498,1, + 5095,226,5095,226,226,226,226,5117,5092,5105, + 5515,5117,4926,5117,5117,2316,1213,1915,733,1092, + 2697,35,5117,5117,218,3097,5609,8875,226,3764, + 1148,1,5095,226,5095,226,226,226,226,2865, + 5092,8875,226,1,39,5117,3546,2101,1213,418, + 733,2046,2697,2667,5092,5,218,5117,5609,3886, + 5117,2673,1213,4725,733,313,2697,4766,3285,3905, + 217,5117,5609,8875,226,1,5095,226,5095,226, + 226,226,226,5298,3451,5108,5092,5117,5117,5117, + 1645,5117,5297,5117,1213,5117,733,5117,2697,502, + 5117,5117,218,5117,5609,5117,2088,1,5095,226, + 5095,226,226,226,226,522,5117,8875,226,37, + 5117,1,5095,226,5095,226,226,226,226,1645, + 5092,5117,5117,3035,5117,5117,5117,5117,1213,5117, + 733,5117,2697,5117,5117,5117,218,5117,5609,8875, + 226,5117,5117,1,5095,226,5095,226,226,226, + 226,5117,5092,8875,226,5117,1873,5117,915,5117, + 1213,5117,733,5117,2697,5117,5092,5117,5117,5117, + 5609,5117,5117,5117,1213,5117,733,5117,2697,5117, + 5117,5117,5117,5117,5609,8875,226,5117,5117,5117, + 5117,5117,5117,5117,5117,5117,5117,5117,5092,5117, + 5117,5117,5117,5117,5117,5117,1213,5117,733,5117, + 2697,5117,5117,5117,5117,5117,5609 }; }; public final static char termAction[] = TermAction.termAction; @@ -1822,58 +1832,58 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse public interface Asb { public final static char asb[] = {0, - 1007,6,580,673,5,8,634,188,188,188, - 188,70,634,188,328,536,452,1044,656,1046, - 674,674,674,674,674,674,674,674,674,536, - 542,547,544,551,549,556,554,558,557,559, - 87,560,673,656,42,42,42,42,135,94, - 14,534,42,12,308,536,536,14,358,308, - 308,300,657,964,41,872,71,185,71,656, - 520,520,775,775,94,1007,674,674,674,674, - 674,674,674,674,674,674,674,674,674,674, - 674,674,674,674,674,673,673,673,673,673, - 673,673,673,673,673,673,1007,674,308,308, - 397,397,397,397,182,308,14,959,509,520, - 442,520,438,520,1,520,42,520,70,135, - 12,12,14,674,959,224,401,321,320,190, - 70,1046,12,41,673,711,871,308,710,135, - 712,710,308,12,544,544,542,542,542,549, - 549,549,549,547,547,554,551,551,557,556, - 558,732,559,634,634,634,634,135,135,397, - 459,396,534,135,530,140,135,441,182,440, - 440,442,582,135,135,135,182,397,300,12, - 574,308,403,405,135,872,674,42,540,266, - 308,71,135,135,712,872,673,1007,1007,1007, - 1007,634,634,657,962,530,140,441,441,441, - 182,441,582,582,135,182,135,308,795,314, - 794,405,182,711,308,540,959,871,135,71, - 711,308,308,308,308,94,94,530,444,312, - 135,140,732,183,131,724,140,441,441,502, - 135,582,312,310,311,135,715,673,792,792, - 73,73,135,399,959,798,308,135,541,541, - 540,1007,266,713,71,308,308,530,872,188, - 710,725,734,634,707,499,505,135,312,674, - 135,715,673,673,405,135,872,308,403,314, - 715,201,94,674,12,135,713,711,153,711, - 579,959,585,674,732,78,441,441,502,69, - 135,791,405,135,715,308,12,135,580,153, - 711,725,707,674,674,441,442,70,70,791, - 308,871,791,396,188,82,82,580,442,638, - 499,135,634,135,634,784,791,153,878,153, - 395,395,830,639,70,135,94,135,406,784, - 264,738,627,634,2,913,153,42,42,830, - 638,732,674,732,580,634,634,634,639,634, - 135,592,580,580,627,135,442,637,308,307, - 786,834,397,627,264,877,442,781,442,70, - 396,137,634,732,639,656,656,655,832,656, - 580,580,497,830,42,786,878,877,878,580, - 77,579,308,877,877,70,877,135,436,798, - 308,707,308,592,580,634,308,830,877,673, - 921,707,580,312,877,877,135,877,135,82, - 308,308,214,639,497,639,580,592,1007,639, - 636,312,308,920,312,135,312,580,580,395, - 442,442,997,673,637,1006,580,308,920,580, - 710,639,308,1006,580,311,639,308,920,639 + 1008,2,1005,159,1,4,712,268,268,268, + 268,70,712,268,518,961,471,1045,142,1047, + 160,160,160,160,160,160,160,160,160,961, + 967,972,969,976,974,981,979,983,982,984, + 206,985,159,142,42,42,42,42,254,213, + 14,959,42,8,388,961,961,14,548,388, + 388,380,143,892,41,800,71,265,71,142, + 945,945,651,651,213,1008,160,160,160,160, + 160,160,160,160,160,160,160,160,160,160, + 160,160,160,160,160,159,159,159,159,159, + 159,159,159,159,159,159,1008,160,388,388, + 587,587,587,587,119,388,14,887,934,945, + 461,945,457,945,10,945,42,945,70,254, + 8,8,14,160,887,304,420,411,410,270, + 70,1047,8,41,159,197,799,388,196,254, + 198,196,388,8,969,969,967,967,967,974, + 974,974,974,972,972,979,976,976,982,981, + 983,612,984,712,712,712,712,254,254,587, + 478,586,959,254,955,76,254,460,119,459, + 459,461,601,254,254,254,119,587,380,8, + 999,388,422,424,254,800,160,42,965,346, + 388,71,254,254,198,800,159,1008,1008,1008, + 1008,712,712,143,890,955,76,460,460,460, + 119,460,601,601,254,119,254,388,757,404, + 756,424,119,197,388,965,887,799,254,71, + 197,388,388,388,388,213,213,955,463,392, + 254,76,612,120,250,604,76,460,460,589, + 254,601,392,390,391,254,657,159,754,754, + 256,256,254,418,887,714,388,254,966,966, + 965,1008,346,199,71,388,388,955,800,268, + 196,605,666,712,193,394,592,254,392,160, + 254,657,159,159,424,254,800,388,422,404, + 657,281,213,160,8,254,199,197,90,197, + 1004,887,397,160,612,261,460,460,589,69, + 254,753,424,254,657,388,8,254,1005,90, + 197,605,193,160,160,460,461,70,70,753, + 388,799,753,586,268,201,201,1005,461,124, + 394,254,712,254,712,746,753,90,806,90, + 585,585,760,125,70,254,213,254,425,746, + 344,614,705,712,11,841,90,42,42,760, + 124,612,160,612,1005,712,712,712,125,712, + 254,670,1005,1005,705,254,461,123,388,387, + 748,762,587,705,344,805,461,596,461,70, + 586,73,712,612,125,142,142,141,599,142, + 1005,1005,516,760,42,748,806,805,806,1005, + 260,1004,388,805,805,70,805,254,455,714, + 388,193,388,670,1005,712,388,760,805,159, + 849,193,1005,392,805,805,254,805,254,201, + 388,388,294,125,516,125,1005,670,1008,125, + 122,392,388,848,392,254,392,1005,1005,585, + 461,461,925,159,123,1007,1005,388,848,1005, + 196,125,388,1007,1005,391,125,388,848,125 }; }; public final static char asb[] = Asb.asb; @@ -1881,111 +1891,111 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse public interface Asr { public final static byte asr[] = {0, - 3,1,59,0,43,119,0,70,72,43, - 68,113,0,26,40,27,28,41,6,29, + 43,119,0,70,72,43,68,113,0,3, + 1,62,0,26,40,27,28,41,6,29, 30,31,32,39,33,34,35,36,37,24, - 11,12,7,5,8,9,4,25,66,38, - 2,49,13,14,57,47,15,62,50,42, - 16,51,52,17,18,53,54,19,20,55, - 64,56,10,65,21,22,48,23,46,1, - 3,0,66,93,72,58,2,68,43,69, - 0,66,69,68,1,0,66,70,93,68, - 113,71,43,72,13,14,26,40,15,27, - 28,16,17,18,41,29,19,20,30,31, - 32,39,33,34,21,22,23,35,36,37, - 24,2,11,12,7,5,8,9,25,38, - 6,4,3,10,1,0,67,63,115,73, - 6,116,117,118,60,2,7,5,4,70, - 71,43,49,13,14,57,47,15,62,50, - 42,16,51,52,17,18,53,54,19,20, - 55,64,56,10,65,21,46,22,48,23, - 3,1,45,0,59,70,3,61,0,13, + 11,12,7,5,9,10,4,25,66,38, + 2,48,13,14,57,46,15,58,49,42, + 16,50,51,17,18,52,53,19,20,54, + 59,56,8,60,21,22,47,23,45,1, + 3,0,67,65,115,73,6,116,117,118, + 63,2,7,5,4,70,71,43,44,48, + 13,14,57,46,15,58,49,42,16,50, + 51,17,18,52,53,19,20,54,59,56, + 8,60,21,45,22,47,23,3,1,55, + 0,115,120,71,74,63,65,67,76,78, + 84,82,75,80,81,83,85,62,77,79, + 43,44,58,57,59,60,48,53,54,42, + 52,51,45,49,46,47,50,56,39,40, + 41,8,27,31,29,26,34,14,23,13, + 19,17,18,20,21,16,15,22,35,38, + 36,37,24,33,28,32,11,12,9,10, + 25,30,7,5,2,3,6,1,4,0, + 66,69,68,1,0,66,70,93,68,113, + 71,43,72,13,14,26,40,15,27,28, + 16,17,18,41,29,19,20,30,31,32, + 39,33,34,21,22,23,35,36,37,24, + 2,11,12,7,5,9,10,25,38,6, + 4,3,8,1,0,66,93,72,61,2, + 68,43,69,0,62,70,3,64,0,13, 14,15,16,17,18,19,20,21,22,23, - 49,47,50,42,51,52,53,54,55,56, - 46,48,43,72,6,1,58,2,7,5, - 4,3,0,40,41,113,2,10,27,31, + 48,46,49,42,50,51,52,53,54,56, + 45,47,43,72,6,1,61,2,7,5, + 4,3,0,40,41,113,2,8,27,31, 29,26,34,14,23,13,19,17,18,20, 21,16,15,22,35,38,36,37,33,28, - 32,4,6,3,11,12,7,5,8,9, - 25,30,1,24,0,94,88,8,9,89, - 90,86,87,61,91,92,95,96,97,98, + 32,4,6,3,11,12,7,5,9,10, + 25,30,1,24,0,94,88,9,10,89, + 90,86,87,64,91,92,95,96,97,98, 99,100,112,70,93,69,102,103,104,105, 106,107,108,109,110,111,113,71,43,66, - 1,7,5,3,2,58,68,72,0,69, - 68,71,0,7,5,6,4,3,1,2, - 66,93,69,68,72,58,0,49,13,14, - 57,47,15,62,50,42,16,51,52,17, - 18,53,54,19,20,55,64,56,10,65, - 21,46,22,48,23,1,3,41,40,8, - 9,5,89,90,97,7,98,4,25,61, + 1,7,5,3,2,61,68,72,0,69, + 68,71,0,62,68,0,70,61,2,69, + 68,43,0,7,5,6,4,3,1,2, + 66,93,69,68,72,61,0,4,6,2, + 61,5,7,93,48,13,14,46,15,58, + 49,42,16,50,51,17,18,52,53,19, + 20,54,59,56,8,60,21,45,22,47, + 23,1,3,72,57,0,55,1,3,70, + 62,0,6,39,74,1,4,3,46,47, + 62,70,93,113,72,71,43,61,2,114, + 94,101,88,11,12,7,5,9,10,89, + 90,86,87,64,91,92,95,96,97,98, + 99,100,112,102,103,104,105,106,107,108, + 109,110,111,66,68,69,0,48,13,14, + 57,46,15,58,49,42,16,50,51,17, + 18,52,53,19,20,54,59,56,8,60, + 21,45,22,47,23,1,3,41,40,9, + 10,5,89,90,97,7,98,4,25,64, 105,106,102,103,104,110,109,111,87,86, 107,108,95,96,91,92,99,100,11,12, - 88,101,2,58,69,68,66,0,4,6, - 2,58,5,7,93,49,13,14,47,15, - 62,50,42,16,51,52,17,18,53,54, - 19,20,55,64,56,10,65,21,46,22, - 48,23,1,3,72,57,0,45,1,3, - 70,59,0,6,39,74,1,4,3,47, - 48,59,70,93,113,72,71,43,58,2, - 114,94,101,88,11,12,7,5,8,9, - 89,90,86,87,61,91,92,95,96,97, - 98,99,100,112,102,103,104,105,106,107, - 108,109,110,111,66,68,69,0,59,68, - 0,1,46,3,116,117,118,0,14,23, - 13,19,17,18,20,21,16,15,22,46, - 56,55,54,53,52,51,42,50,49,47, - 6,48,4,1,3,114,101,11,12,58, - 2,94,88,5,89,90,8,9,87,86, - 61,91,92,95,96,7,97,98,99,66, - 93,72,69,102,103,104,105,106,107,108, - 109,110,111,70,113,71,100,112,68,43, - 0,1,71,0,70,58,2,69,68,43, - 0,13,14,26,40,15,27,28,16,17, - 18,41,29,19,20,30,31,32,39,33, - 34,10,21,22,23,35,36,37,24,11, - 12,8,9,25,38,44,7,5,43,4, - 1,6,3,2,0,115,120,71,74,60, - 63,67,76,78,84,82,75,80,81,83, - 85,59,77,79,43,44,62,57,64,65, - 49,54,55,42,53,52,46,50,47,48, - 51,56,39,40,41,10,27,31,29,26, - 34,14,23,13,19,17,18,20,21,16, - 15,22,35,38,36,37,24,33,28,32, - 11,12,8,9,25,30,7,5,2,3, - 6,1,4,0,47,39,48,66,93,69, - 68,72,0,43,7,5,4,6,2,1, - 3,70,0,59,70,74,0,14,57,47, - 15,62,50,16,51,52,17,18,53,54, - 19,20,55,64,56,10,65,21,46,22, - 48,23,13,49,2,7,5,43,60,63, - 67,73,42,61,6,3,45,4,1,0, - 59,69,0,47,48,74,2,59,70,43, - 39,66,69,68,72,93,0,49,13,14, - 57,47,15,62,50,42,16,51,52,17, - 18,53,54,19,20,55,64,56,10,65, - 21,46,22,48,23,1,3,93,0,115, - 0,75,0,67,49,13,14,57,47,15, - 62,50,73,42,16,51,52,17,18,53, - 63,54,19,20,55,64,56,10,65,21, - 60,46,22,48,23,2,7,3,43,59, - 5,6,1,4,45,0,71,14,57,47, - 15,62,50,16,51,52,17,18,53,54, - 19,20,55,64,56,65,21,46,22,48, - 23,13,49,2,7,5,43,60,67,73, - 42,45,6,1,4,3,10,63,0,71, - 40,41,39,11,12,8,9,4,25,30, - 2,6,35,38,36,37,24,33,28,32, - 14,23,13,19,17,18,20,21,16,15, - 22,10,27,31,29,26,34,59,1,7, - 3,5,0,40,41,11,12,8,9,25, - 30,35,38,36,37,24,33,28,32,14, - 23,13,19,17,18,20,21,16,15,22, - 10,27,31,29,26,34,7,5,2,58, - 4,6,1,3,0,72,13,14,26,15, - 27,28,16,17,18,29,19,20,30,31, - 32,39,33,34,10,21,22,23,35,36, - 37,24,2,11,12,7,5,8,9,25, - 3,38,44,4,6,1,41,40,0 + 88,101,2,61,69,68,66,0,1,45, + 3,116,117,118,0,62,69,0,75,0, + 1,71,0,43,7,5,4,6,2,1, + 3,70,0,14,57,46,15,58,49,16, + 50,51,17,18,52,53,19,20,54,59, + 56,8,60,21,45,22,47,23,13,48, + 2,7,5,43,63,65,67,73,42,64, + 6,3,55,4,1,0,46,39,47,66, + 93,69,68,72,0,62,70,74,0,13, + 14,26,40,15,27,28,16,17,18,41, + 29,19,20,30,31,32,39,33,34,8, + 21,22,23,35,36,37,24,11,12,9, + 10,25,38,44,7,5,43,4,1,6, + 3,2,0,48,13,14,57,46,15,58, + 49,42,16,50,51,17,18,52,53,19, + 20,54,59,56,8,60,21,45,22,47, + 23,1,3,93,0,46,47,74,2,62, + 70,43,39,66,69,68,72,93,0,115, + 0,67,48,13,14,57,46,15,58,49, + 73,42,16,50,51,17,18,52,65,53, + 19,20,54,59,56,8,60,21,63,45, + 22,47,23,2,7,3,43,62,5,6, + 1,4,55,0,71,14,57,46,15,58, + 49,16,50,51,17,18,52,53,19,20, + 54,59,56,60,21,45,22,47,23,13, + 48,2,7,5,43,63,67,73,42,55, + 6,1,4,3,8,65,0,71,40,41, + 39,11,12,9,10,4,25,30,2,6, + 35,38,36,37,24,33,28,32,14,23, + 13,19,17,18,20,21,16,15,22,8, + 27,31,29,26,34,62,1,7,3,5, + 0,40,41,11,12,9,10,25,30,35, + 38,36,37,24,33,28,32,14,23,13, + 19,17,18,20,21,16,15,22,8,27, + 31,29,26,34,7,5,2,61,4,6, + 1,3,0,14,23,13,19,17,18,20, + 21,16,15,22,45,56,54,53,52,51, + 50,42,49,48,46,6,47,4,1,3, + 114,101,11,12,61,2,94,88,5,89, + 90,9,10,87,86,64,91,92,95,96, + 7,97,98,99,66,93,72,69,102,103, + 104,105,106,107,108,109,110,111,70,113, + 71,100,112,68,43,0,72,13,14,26, + 15,27,28,16,17,18,29,19,20,30, + 31,32,39,33,34,8,21,22,23,35, + 36,37,24,2,11,12,7,5,9,10, + 25,3,38,44,4,6,1,41,40,0 }; }; public final static byte asr[] = Asr.asr; @@ -1993,58 +2003,58 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse public interface Nasb { public final static char nasb[] = {0, - 88,12,166,17,12,12,12,12,12,12, - 12,103,12,12,130,12,12,8,246,136, - 17,17,6,17,17,17,17,17,17,12, + 88,12,219,20,12,12,12,12,12,12, + 12,103,12,12,152,12,12,8,213,125, + 20,20,6,20,20,20,20,20,20,12, 12,12,12,12,12,12,12,12,12,12, - 17,12,17,246,251,251,251,251,136,170, - 128,54,95,77,206,12,12,128,132,206, - 206,145,1,17,28,48,12,12,12,246, - 12,12,83,83,170,116,17,17,17,17, - 17,17,17,17,17,17,17,17,17,17, - 17,17,17,17,17,17,17,17,17,17, - 17,17,17,17,17,17,116,17,206,206, - 12,12,12,12,70,206,15,57,220,221, - 12,221,134,221,103,221,213,12,103,136, - 77,77,15,17,57,73,145,30,30,12, - 103,136,77,251,110,194,42,206,193,92, - 136,193,206,77,12,12,12,12,12,12, + 20,12,20,213,206,206,206,206,125,110, + 119,56,95,79,211,12,12,119,154,211, + 211,138,1,20,32,50,12,12,12,213, + 12,12,83,83,110,182,20,20,20,20, + 20,20,20,20,20,20,20,20,20,20, + 20,20,20,20,20,20,20,20,20,20, + 20,20,20,20,20,20,182,20,211,211, + 12,12,12,12,72,211,18,61,228,229, + 12,229,123,229,103,229,221,12,103,125, + 79,79,18,20,61,75,138,34,34,12, + 103,125,79,206,166,190,44,211,189,92, + 125,189,211,79,12,12,12,12,12,12, 12,12,12,12,12,12,12,12,12,12, - 12,12,12,12,12,12,12,25,11,12, - 12,12,107,136,128,128,9,128,237,128, - 12,12,128,237,136,22,12,12,105,77, - 12,206,208,128,136,48,17,251,128,119, - 206,12,10,136,22,48,17,116,116,116, - 116,12,12,15,12,52,230,128,128,81, - 47,81,128,168,11,47,25,206,12,122, - 12,210,46,25,206,60,107,42,22,12, - 25,206,206,206,206,170,170,128,52,38, - 136,166,12,12,40,178,230,81,81,152, - 25,168,38,12,12,25,128,17,12,12, - 30,30,136,122,57,210,206,25,32,32, - 12,116,107,12,12,206,206,52,48,12, - 103,223,128,12,124,12,235,237,38,17, - 168,52,17,17,128,22,48,206,208,189, - 128,12,170,17,77,22,12,194,128,237, - 166,57,12,17,12,68,128,50,160,162, - 92,128,210,136,52,206,77,22,166,210, - 194,223,191,17,17,50,158,185,103,79, - 206,48,128,12,12,64,64,166,158,149, - 12,237,12,237,12,128,79,210,199,128, - 12,12,128,173,185,92,170,92,204,52, - 12,199,179,12,11,40,210,251,251,197, - 113,12,17,12,166,12,12,12,114,12, - 12,164,166,166,128,12,62,12,206,206, - 128,128,12,124,12,128,12,12,12,103, - 12,66,12,12,114,250,250,241,12,250, - 166,166,12,128,251,79,199,128,199,166, - 156,12,206,140,128,103,128,237,12,251, - 206,124,206,243,166,12,206,197,140,110, - 17,124,166,38,199,140,237,140,13,64, - 206,206,128,114,12,114,166,243,116,114, - 66,38,206,128,38,13,38,166,12,12, - 62,62,122,17,12,243,166,206,34,166, - 193,114,206,243,166,38,114,206,34,114 + 12,12,12,12,12,12,12,15,11,12, + 12,12,144,125,119,119,9,119,245,119, + 12,12,119,245,125,27,12,12,142,79, + 12,211,147,119,125,50,20,206,119,105, + 211,12,10,125,27,50,20,182,182,182, + 182,12,12,18,12,54,238,119,119,81, + 49,81,119,121,11,49,15,211,12,113, + 12,149,48,15,211,64,144,44,27,12, + 15,211,211,211,211,110,110,119,54,42, + 125,219,12,12,25,198,238,81,81,156, + 15,121,42,12,12,15,119,20,12,12, + 34,34,125,113,61,149,211,15,36,36, + 12,182,144,12,12,211,211,54,50,12, + 103,231,119,12,115,12,243,245,42,20, + 121,54,20,20,119,27,50,211,147,185, + 119,12,110,20,79,27,12,190,119,245, + 219,61,12,20,12,59,119,52,160,162, + 92,119,149,125,54,211,79,27,219,149, + 190,231,187,20,20,52,13,134,103,169, + 211,50,119,12,12,68,68,219,13,176, + 12,245,12,245,12,119,169,149,193,119, + 12,12,119,171,134,92,110,92,209,54, + 12,193,199,12,11,25,149,206,206,164, + 179,12,20,12,219,12,12,12,180,12, + 12,217,219,219,119,12,66,12,211,211, + 119,119,12,115,12,119,12,12,12,103, + 12,30,12,12,180,205,205,249,12,205, + 219,219,12,119,206,169,193,119,193,219, + 70,12,211,129,119,103,119,245,12,206, + 211,115,211,251,219,12,211,164,129,166, + 20,115,219,42,193,129,245,129,108,68, + 211,211,119,180,12,180,219,251,182,180, + 30,42,211,119,42,108,42,219,12,12, + 66,66,113,20,12,251,219,211,38,219, + 189,180,211,251,219,42,180,211,38,180 }; }; public final static char nasb[] = Nasb.nasb; @@ -2053,31 +2063,31 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse public interface Nasr { public final static char nasr[] = {0, 148,146,122,145,144,5,12,7,2,3, - 1,0,43,0,48,4,5,7,3,12, - 0,3,80,0,3,2,0,170,0,69, - 0,139,0,12,3,7,5,62,0,151, - 0,63,137,136,0,135,1,63,0,153, - 0,57,0,4,188,0,5,103,0,175, - 0,56,0,113,0,116,0,185,0,135, - 63,0,12,3,7,5,79,0,125,0, + 1,0,154,0,3,2,0,48,4,5, + 7,3,12,0,151,0,3,81,0,116, + 0,170,0,69,0,139,0,12,3,7, + 5,62,0,63,137,136,0,135,1,63, + 0,153,0,57,0,4,188,0,185,0, + 5,103,0,175,0,56,0,113,0,179, + 0,135,63,0,12,3,7,5,79,0, 114,0,5,3,7,138,0,4,38,169, 0,3,31,0,3,148,147,146,122,145, - 144,143,5,0,100,99,5,64,0,4, - 28,0,62,46,71,4,38,0,4,174, - 0,100,99,68,5,3,7,4,0,4, - 48,166,0,2,5,1,3,47,0,108, - 4,46,70,0,99,100,4,0,4,62, - 0,5,130,186,0,179,0,154,0,5, - 160,130,0,4,38,39,0,124,0,4, - 102,0,4,46,38,176,0,39,5,7, - 3,4,60,0,164,5,163,0,100,99, - 68,64,5,7,3,0,155,0,4,46, - 70,82,0,48,4,33,0,5,103,23, - 4,0,3,5,122,118,119,120,121,12, - 93,0,1,68,5,3,7,4,0,4, - 46,70,65,5,129,0,1,3,58,0, - 46,50,4,106,0,4,48,38,0,117, - 4,48,0 + 144,143,5,0,4,174,0,43,0,4, + 102,0,100,99,68,5,3,7,4,0, + 124,0,2,5,1,3,47,0,108,4, + 46,70,0,164,5,163,0,99,100,4, + 0,100,99,5,64,0,5,103,23,4, + 0,4,48,166,0,5,130,186,0,5, + 160,130,0,155,0,4,28,0,125,0, + 4,46,38,176,0,4,62,0,62,46, + 71,4,38,0,100,99,68,64,5,7, + 3,0,4,46,70,80,0,39,5,7, + 3,4,60,0,117,4,48,0,48,4, + 33,0,4,48,38,0,4,38,39,0, + 3,5,122,118,119,120,121,12,93,0, + 1,68,5,3,7,4,0,4,46,70, + 65,5,129,0,1,3,58,0,46,50, + 4,106,0 }; }; public final static char nasr[] = Nasr.nasr; @@ -2085,13 +2095,13 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse public interface TerminalIndex { public final static char terminalIndex[] = {0, - 115,2,32,14,11,81,10,12,13,102, + 115,2,32,14,11,81,10,102,12,13, 8,9,50,54,62,70,76,77,88,89, 104,107,109,114,15,57,63,69,86,90, 92,96,99,101,111,112,113,46,97,60, - 80,68,122,123,95,106,56,108,49,66, - 72,75,78,85,91,100,55,1,3,105, - 20,65,79,93,103,21,48,45,34,31, + 80,68,122,123,106,56,108,49,66,72, + 75,78,85,91,95,100,55,65,93,103, + 1,3,105,20,79,21,48,45,34,31, 121,120,67,98,110,51,52,58,59,61, 71,73,74,87,94,18,19,7,16,17, 22,23,33,5,24,25,26,27,28,29, @@ -2111,11 +2121,11 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse 138,166,127,167,168,169,0,131,129,170, 0,197,143,0,140,0,139,153,0,177, 0,0,0,0,147,173,187,0,203,204, - 0,128,0,156,179,0,201,205,206,0, - 172,0,0,0,0,0,0,0,126,148, - 176,178,0,0,0,0,0,0,0,0, + 0,128,0,156,178,0,201,205,206,0, + 172,0,0,0,0,0,0,0,126,130, + 148,176,0,0,0,0,0,0,0,0, 0,0,186,0,0,212,158,208,209,210, - 0,0,202,0,0,0,207,130,0,0, + 0,0,202,0,0,0,207,179,0,0, 0,211,0,0,0,241,175,189,190,191, 192,193,195,196,0,214,217,219,220,0, 237,0,240,0,0,141,142,146,0,155, @@ -2124,7 +2134,8 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse 0,231,232,233,0,235,236,239,125,0, 151,0,0,154,157,174,0,198,200,213, 218,0,222,223,225,227,229,230,242,243, - 0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0, + 0 }; }; public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex; @@ -2178,7 +2189,7 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse 50,56,175,18,17,17,17,17,17,11, 116,157,127,75,74,74,37,138,74,19, 17,17,17,17,101,75,164,160,179,99, - 107,61,69,59,81,121,76,72,141,175, + 107,61,69,59,82,121,76,72,141,175, 173,16,157,121,117,21,138,128,128,64, 138,75,138,65,157,73,136,47,136,47, 163,117,118,65,65,60 @@ -2191,16 +2202,16 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse public final static byte scopeLa[] = { 115,72,72,72,72,72,72,72,72,1, 71,43,71,71,71,66,1,72,120,72, - 59,2,43,66,66,43,71,59,71,71, + 62,2,43,66,66,43,71,62,71,71, 1,1,1,1,66,3,43,1,1,66, 72,72,72,115,72,43,71,1,1,1, 43,71,113,72,72,72,72,72,113,1, 72,1,68,72,72,72,70,3,72,2, 66,66,66,66,72,43,1,1,72,72, 2,1,113,72,1,1,43,70,72,113, - 72,72,1,45,69,72,4,1,1,5, - 1,75,45,74,43,43,3,3,3,3, - 2,1,59,1,1,2 + 72,72,1,55,69,72,4,1,1,5, + 1,75,55,74,43,43,3,3,3,3, + 2,1,62,1,1,2 }; }; public final static byte scopeLa[] = ScopeLa.scopeLa; @@ -2229,17 +2240,17 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse public final static char scopeRhs[] = {0, 313,2,39,0,127,0,312,2,115,0, 127,173,0,127,179,74,0,216,0,288, - 127,61,126,0,21,0,290,127,61,45, + 127,64,126,0,21,0,290,127,64,55, 0,21,55,0,34,132,0,21,55,0, - 0,290,127,61,45,193,0,21,178,0, - 288,127,61,130,0,181,128,0,138,0, + 0,290,127,64,55,193,0,21,130,0, + 288,127,64,130,0,181,128,0,138,0, 225,2,287,0,287,0,2,0,127,0, 181,128,253,252,253,0,131,186,170,128, 0,129,0,186,170,128,0,134,129,0, 169,0,306,127,169,0,127,169,0,222, 129,0,170,245,0,137,0,0,0,135, - 0,0,0,305,127,59,251,0,128,0, - 251,0,3,0,0,128,0,304,127,59, + 0,0,0,305,127,62,251,0,128,0, + 251,0,3,0,0,128,0,304,127,62, 0,45,128,0,151,2,0,127,277,276, 127,74,183,169,0,276,127,74,183,169, 0,215,0,216,0,183,169,0,98,0, @@ -2248,18 +2259,18 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse 204,0,0,215,0,233,127,2,0,127, 0,0,0,0,0,233,127,2,222,0, 230,2,0,226,127,0,208,0,148,0, - 170,128,0,11,0,0,0,220,58,0, + 170,128,0,11,0,0,0,220,61,0, 126,0,233,127,2,182,0,182,0,2, - 0,0,127,0,0,0,0,0,204,2, - 0,201,0,232,127,59,24,42,0,181, - 128,63,60,0,143,129,0,131,181,128, - 274,60,0,181,128,274,60,0,181,128, - 69,1,63,0,232,127,59,63,0,232, - 127,59,165,63,0,232,127,59,124,63, - 0,272,127,59,1,62,0,272,127,59, - 62,0,181,128,62,0,135,0,186,181, + 0,0,127,0,0,0,0,0,205,2, + 0,201,0,232,127,62,24,42,0,181, + 128,65,63,0,143,129,0,131,181,128, + 274,63,0,181,128,274,63,0,181,128, + 69,1,65,0,232,127,62,65,0,232, + 127,62,165,65,0,232,127,62,124,65, + 0,272,127,62,1,58,0,272,127,62, + 58,0,181,128,58,0,135,0,186,181, 128,245,0,137,0,181,128,245,0,186, - 170,128,10,0,170,128,10,0,95,137, + 170,128,8,0,170,128,8,0,95,137, 0,300,127,169,0,161,84,0,229,162, 229,173,2,81,0,127,172,0,229,173, 2,81,0,129,0,127,172,0,229,162, @@ -2267,29 +2278,29 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse 81,0,229,2,81,0,129,0,129,0, 127,172,0,161,2,75,194,80,0,127, 129,0,194,80,0,110,2,131,127,129, - 0,240,2,75,0,204,171,0,34,170, + 0,240,2,75,0,205,171,0,34,170, 0,171,0,176,34,170,0,240,2,85, 0,194,156,240,2,83,0,64,172,0, 240,2,83,0,127,172,64,172,0,299, - 127,59,0,161,0,220,77,0,31,0, + 127,62,0,161,0,220,77,0,31,0, 161,112,159,0,31,170,0,178,2,0, - 127,150,0,225,2,0,220,58,298,0, - 161,58,0,178,2,293,41,128,0,127, + 127,150,0,225,2,0,220,61,298,0, + 161,61,0,178,2,293,41,128,0,127, 0,0,293,41,128,0,2,147,127,0, - 0,178,2,30,0,14,148,0,125,45, + 0,178,2,30,0,14,148,0,125,55, 170,128,0,32,14,148,0,95,137,32, - 14,148,0,203,181,128,0,148,32,14, + 14,148,0,204,181,128,0,148,32,14, 148,0,178,2,34,0,161,2,34,0, - 161,2,66,178,61,26,0,178,61,26, + 161,2,66,178,64,26,0,178,64,26, 0,21,2,131,127,0,161,2,66,178, - 61,29,0,178,61,29,0,161,2,66, - 178,61,31,0,178,61,31,0,161,2, - 66,178,61,27,0,178,61,27,0,225, - 2,125,186,170,128,10,0,125,186,170, - 128,10,0,137,2,0,127,0,225,2, - 124,258,170,128,10,0,258,170,128,10, + 64,29,0,178,64,29,0,161,2,66, + 178,64,31,0,178,64,31,0,161,2, + 66,178,64,27,0,178,64,27,0,225, + 2,125,186,170,128,8,0,125,186,170, + 128,8,0,137,2,0,127,0,225,2, + 124,258,170,128,8,0,258,170,128,8, 0,135,2,0,127,0,225,2,135,0, - 225,2,140,0,161,58,140,0,260,0, + 225,2,140,0,161,61,140,0,260,0, 32,0,32,141,0,168,0,134,0,161, 2,0 }; @@ -2299,37 +2310,37 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse public interface ScopeState { public final static char scopeState[] = {0, - 2871,0,4769,4760,4757,0,2935,3365,1430,3283, - 0,3878,3837,3796,3755,3714,3673,4712,3452,3411, - 2387,3112,2893,2829,3602,2765,2694,3547,3492,3340, - 3285,0,2775,2165,1865,0,3273,3143,0,3878, - 3837,3796,2376,1896,3755,3714,3673,3452,1218,3411, - 2387,3112,3356,2884,0,3287,3362,2868,0,979, - 850,0,2896,2794,0,1126,0,3293,926,3260, - 3117,2986,4342,4411,4306,4318,2341,4273,2655,2612, - 0,2893,2829,3602,2765,2694,3547,3492,3340,3285, - 2902,4359,0,2902,4359,2893,2829,3602,2765,2694, - 3547,3492,3340,3285,3878,3837,3796,3755,3714,3673, - 3452,3411,2387,3112,0,3396,901,0,926,3343, - 3260,4634,2801,2332,1110,3531,2330,1027,1798,1078, - 0,2079,1986,0,810,0,1401,1189,1147,845, - 3260,2330,2986,2655,2612,3280,2763,0,4177,526, - 2326,0,4630,4621,4604,4598,4550,4544,4524,4518, - 4689,4680,3894,3812,4465,4459,3730,4395,3618,2795, - 2687,3469,2886,0,4630,4621,3697,3136,4604,4598, - 4497,4550,2706,4544,4449,3476,4524,2650,4518,2453, - 2395,4689,2185,3315,2172,863,2702,4680,3129,3894, - 774,3812,4465,4459,855,3730,778,4395,2181,3618, - 2795,4177,2687,2326,3469,2886,718,609,568,1857, - 910,2986,4342,4411,4306,3293,926,4318,3260,2341, - 4273,2655,3117,2612,1129,655,2079,1986,3063,4230, - 4204,2189,2227,2295,2262,2503,2475,2353,2624,782, - 2585,2558,2531,579,3237,3214,3191,3089,3003,4155, - 4133,4111,4089,4067,4045,4023,4001,3979,622,3957, - 1868,2134,2096,2041,2003,1948,1143,1087,1910,1045, - 812,1815,1775,731,675,1733,1691,1649,1607,1565, - 1523,1481,1439,1397,1355,1313,526,1270,1227,999, - 941,868,1185,0 + 1687,0,4736,4724,3330,0,1120,3183,814,2898, + 0,3865,3824,3783,3742,3701,3660,4704,3451,3410, + 3118,3077,2858,2794,3601,2730,2666,3546,3491,3351, + 3296,0,3439,3048,2964,0,2673,2667,0,3865, + 3824,3783,2691,1901,3742,3701,3660,3451,1223,3410, + 3118,3077,2771,559,0,4692,2641,4650,0,984, + 855,0,2865,2861,0,1131,0,4283,931,3272, + 3304,2951,3035,4399,4271,4370,4383,4238,2626,2583, + 0,2858,2794,3601,2730,2666,3546,3491,3351,3296, + 2739,4422,0,2739,4422,2858,2794,3601,2730,2666, + 3546,3491,3351,3296,3865,3824,3783,3742,3701,3660, + 3451,3410,3118,3077,0,2675,906,0,931,3743, + 3272,4657,863,3083,722,2803,2754,1032,1803,1083, + 0,2084,1991,0,815,0,1406,1322,1152,850, + 3272,2754,2951,2626,2583,3013,2692,0,4142,531, + 2298,0,4643,4621,4595,4589,4572,4524,4518,4501, + 4675,4669,3840,3758,4453,4432,3676,4265,3245,2887, + 2657,3426,3134,0,4643,4621,3107,2646,4595,4589, + 3532,4572,2317,4524,3325,3003,4518,3158,4501,3028, + 3024,4675,2422,2998,2312,2304,2622,4669,3475,3840, + 779,3758,4453,4432,620,3676,654,4265,2186,3245, + 2887,4142,2657,2298,3426,3134,1862,723,573,2177, + 915,2951,3035,4399,4271,4283,931,4370,3272,4383, + 4238,2626,3304,2583,1134,660,2084,1991,4349,4195, + 4169,2194,2232,2267,584,2447,2356,2325,2595,787, + 2556,2529,2502,2475,3249,3220,3197,3054,2968,4120, + 4098,4076,4054,4032,4010,3988,3966,3944,627,2394, + 1873,2139,2101,2046,2008,1953,1148,1092,1915,1050, + 817,1820,1780,736,680,1738,1696,1654,1612,1570, + 1528,1486,1444,1402,1360,1318,531,1275,1232,1004, + 946,873,1190,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -2338,55 +2349,55 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse public interface InSymb { public final static char inSymb[] = {0, 0,292,161,127,44,265,34,26,29,31, - 27,10,135,126,6,130,1,3,2,128, - 30,25,4,9,8,5,7,12,11,140, + 27,8,135,126,6,130,1,3,2,128, + 30,25,4,10,9,5,7,12,11,140, 145,148,147,150,149,153,152,157,155,158, - 39,159,68,2,61,61,61,61,128,2, - 61,171,127,58,2,40,41,61,6,178, + 39,159,68,2,64,64,64,64,128,2, + 64,171,127,61,2,40,41,64,6,178, 161,171,127,40,41,170,168,1,124,2, - 125,124,101,114,2,58,88,94,9,8, - 90,89,5,92,91,66,61,86,87,7, + 125,124,101,114,2,61,88,94,10,9, + 90,89,5,92,91,66,64,86,87,7, 96,95,98,97,99,111,110,109,108,107, 106,105,104,103,102,69,112,100,178,161, 178,178,178,178,170,225,127,127,266,267, - 251,268,245,269,62,270,271,1,10,128, - 58,58,127,156,127,58,2,223,222,135, - 10,128,58,293,2,186,3,178,45,4, - 128,45,225,161,147,147,145,145,145,149, + 251,268,245,269,58,270,271,1,8,128, + 61,61,127,156,127,61,2,223,222,135, + 8,128,61,293,2,186,3,178,55,4, + 128,55,225,161,147,147,145,145,145,149, 149,149,149,148,148,152,150,150,155,153, 157,161,158,66,66,66,66,186,258,288, - 133,291,226,128,5,59,170,236,128,125, - 124,1,59,128,128,181,170,288,226,220, + 133,291,226,128,5,62,170,236,128,125, + 124,1,62,128,128,181,170,288,226,220, 159,230,127,2,128,170,202,2,294,171, 151,260,186,128,181,170,70,2,2,2, 2,125,124,68,170,127,127,125,124,127, - 181,127,59,127,181,170,45,233,234,146, - 235,127,170,45,178,127,127,3,4,203, - 45,161,161,161,161,2,2,5,180,305, - 128,188,252,193,60,169,307,127,127,70, - 186,127,272,247,273,186,156,69,230,204, + 181,127,62,127,181,170,55,233,234,146, + 235,127,170,55,178,127,127,3,4,204, + 55,161,161,161,161,2,2,5,180,305, + 128,188,252,193,63,169,307,127,127,70, + 186,127,272,247,273,186,156,69,230,205, 191,182,128,2,127,68,233,186,156,295, - 298,58,187,3,125,225,225,127,170,45, + 298,61,187,3,125,225,225,127,170,55, 274,127,183,182,2,309,253,128,272,69, - 68,127,69,69,2,181,170,204,127,226, - 156,125,2,58,161,4,3,186,61,128, - 306,127,124,70,282,204,74,127,68,252, + 68,127,69,69,2,181,170,205,127,226, + 156,125,2,61,161,4,3,186,64,128, + 306,127,124,70,282,205,74,127,68,252, 181,227,127,128,127,225,220,4,131,127, 181,68,226,70,69,127,276,70,253,127, - 233,170,227,290,45,10,57,131,276,59, - 286,128,287,128,39,156,127,68,66,61, + 233,170,227,290,55,8,57,131,276,62, + 286,128,287,128,39,156,127,68,66,64, 236,236,277,127,68,181,2,181,2,127, - 42,45,169,67,63,60,127,69,69,127, + 42,55,169,67,65,63,127,69,69,127, 299,79,77,1,161,85,83,81,80,75, - 82,84,78,76,169,63,74,44,225,313, - 227,24,61,127,2,59,165,1,124,63, + 82,84,78,76,169,65,74,44,225,313, + 227,24,64,127,2,62,165,1,124,65, 290,278,115,220,70,2,2,2,194,2, - 1,161,1,179,68,127,127,59,66,300, - 204,301,24,127,59,69,59,128,66,2, + 1,161,1,179,68,127,127,62,66,300, + 205,301,24,127,62,69,62,128,66,2, 240,171,240,173,229,75,240,127,127,2, 69,68,156,232,231,127,128,127,181,57, - 93,312,171,156,204,156,229,162,2,156, - 278,232,151,59,232,181,232,166,1,236, + 93,312,171,156,205,156,229,162,2,156, + 278,232,151,62,232,181,232,166,1,236, 156,156,127,69,194,162,229,161,127,166, 69,120,229,162,156,304,156,229,68,156 }; @@ -2526,7 +2537,7 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse ")", "}", ";", - "declaration_seq", + "declaration", "expression", "id_expression", "qualified_or_unqualified_name", @@ -2576,8 +2587,8 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse "condition", "declarator", "simple_declaration", - "declaration", "function_definition", + "declaration_seq", "declaration_specifiers", "simple_declaration_specifiers", "class_declaration_specifiers", @@ -2665,18 +2676,18 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse public final static int NUM_STATES = 520, NT_OFFSET = 123, - LA_STATE_OFFSET = 5665, + LA_STATE_OFFSET = 5647, MAX_LA = 2147483647, - NUM_RULES = 525, - NUM_NONTERMINALS = 199, - NUM_SYMBOLS = 322, + NUM_RULES = 530, + NUM_NONTERMINALS = 201, + NUM_SYMBOLS = 324, SEGMENT_SIZE = 8192, - START_STATE = 1998, + START_STATE = 2003, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 119, EOLT_SYMBOL = 119, - ACCEPT_ACTION = 4918, - ERROR_ACTION = 5140; + ACCEPT_ACTION = 4895, + ERROR_ACTION = 5117; public final static boolean BACKTRACK = true; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionStatementParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionStatementParsersym.java index 542887d5b90..c13480f1643 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionStatementParsersym.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionStatementParsersym.java @@ -16,14 +16,14 @@ package org.eclipse.cdt.internal.core.dom.lrparser.cpp; public interface CPPExpressionStatementParsersym { public final static int TK_asm = 67, - TK_auto = 49, + TK_auto = 48, TK_bool = 13, TK_break = 76, TK_case = 77, TK_catch = 115, TK_char = 14, TK_class = 57, - TK_const = 47, + TK_const = 46, TK_const_cast = 26, TK_continue = 78, TK_default = 79, @@ -32,50 +32,50 @@ public interface CPPExpressionStatementParsersym { TK_double = 15, TK_dynamic_cast = 27, TK_else = 120, - TK_enum = 62, - TK_explicit = 50, + TK_enum = 58, + TK_explicit = 49, TK_export = 73, TK_extern = 42, TK_false = 28, TK_float = 16, TK_for = 81, - TK_friend = 51, + TK_friend = 50, TK_goto = 82, TK_if = 83, - TK_inline = 52, + TK_inline = 51, TK_int = 17, TK_long = 18, - TK_mutable = 53, - TK_namespace = 63, + TK_mutable = 52, + TK_namespace = 65, TK_new = 41, TK_operator = 6, TK_private = 116, TK_protected = 117, TK_public = 118, - TK_register = 54, + TK_register = 53, TK_reinterpret_cast = 29, TK_return = 84, TK_short = 19, TK_signed = 20, TK_sizeof = 30, - TK_static = 55, + TK_static = 54, TK_static_cast = 31, - TK_struct = 64, + TK_struct = 59, TK_switch = 85, - TK_template = 45, + TK_template = 55, TK_this = 32, TK_throw = 39, TK_try = 74, TK_true = 33, TK_typedef = 56, TK_typeid = 34, - TK_typename = 10, - TK_union = 65, + TK_typename = 8, + TK_union = 60, TK_unsigned = 21, - TK_using = 60, - TK_virtual = 46, + TK_using = 63, + TK_virtual = 45, TK_void = 22, - TK_volatile = 48, + TK_volatile = 47, TK_wchar_t = 23, TK_while = 75, TK_integer = 35, @@ -86,9 +86,9 @@ public interface CPPExpressionStatementParsersym { TK_Completion = 121, TK_EndOfCompletion = 122, TK_Invalid = 123, - TK_LeftBracket = 58, + TK_LeftBracket = 61, TK_LeftParen = 2, - TK_LeftBrace = 59, + TK_LeftBrace = 62, TK_Dot = 114, TK_DotStar = 94, TK_Arrow = 101, @@ -97,15 +97,15 @@ public interface CPPExpressionStatementParsersym { TK_MinusMinus = 12, TK_And = 7, TK_Star = 5, - TK_Plus = 8, - TK_Minus = 9, + TK_Plus = 9, + TK_Minus = 10, TK_Tilde = 4, TK_Bang = 25, TK_Slash = 89, TK_Percent = 90, TK_RightShift = 86, TK_LeftShift = 87, - TK_LT = 61, + TK_LT = 64, TK_GT = 66, TK_LE = 91, TK_GE = 92, @@ -148,9 +148,9 @@ public interface CPPExpressionStatementParsersym { "Star", "operator", "And", + "typename", "Plus", "Minus", - "typename", "PlusPlus", "MinusMinus", "bool", @@ -185,7 +185,6 @@ public interface CPPExpressionStatementParsersym { "extern", "SemiColon", "ERROR_TOKEN", - "template", "virtual", "const", "volatile", @@ -196,16 +195,17 @@ public interface CPPExpressionStatementParsersym { "mutable", "register", "static", + "template", "typedef", "class", + "enum", + "struct", + "union", "LeftBracket", "LeftBrace", "using", "LT", - "enum", "namespace", - "struct", - "union", "GT", "asm", "Comma", diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParser.java index b2993846c01..c412203cd07 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParser.java @@ -286,7 +286,7 @@ public CPPNoCastExpressionParser(String[] mapFrom) { // constructor } // - // Rule 10: translation_unit ::= declaration_seq + // Rule 10: translation_unit ::= external_declaration_list // case 10: { action.builder. consumeTranslationUnit(); break; @@ -300,1731 +300,1745 @@ public CPPNoCastExpressionParser(String[] mapFrom) { // constructor } // - // Rule 12: literal ::= integer + // Rule 15: external_declaration ::= ERROR_TOKEN // - case 12: { action.builder. + case 15: { action.builder. + consumeDeclarationProblem(); break; + } + + // + // Rule 16: literal ::= integer + // + case 16: { action.builder. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_integer_constant); break; } // - // Rule 13: literal ::= 0 + // Rule 17: literal ::= 0 // - case 13: { action.builder. + case 17: { action.builder. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_integer_constant); break; } // - // Rule 14: literal ::= floating + // Rule 18: literal ::= floating // - case 14: { action.builder. + case 18: { action.builder. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_float_constant); break; } // - // Rule 15: literal ::= charconst + // Rule 19: literal ::= charconst // - case 15: { action.builder. + case 19: { action.builder. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_char_constant); break; } // - // Rule 16: literal ::= stringlit + // Rule 20: literal ::= stringlit // - case 16: { action.builder. + case 20: { action.builder. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_string_literal); break; } // - // Rule 17: literal ::= true + // Rule 21: literal ::= true // - case 17: { action.builder. + case 21: { action.builder. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_true); break; } // - // Rule 18: literal ::= false + // Rule 22: literal ::= false // - case 18: { action.builder. + case 22: { action.builder. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_false); break; } // - // Rule 19: literal ::= this + // Rule 23: literal ::= this // - case 19: { action.builder. + case 23: { action.builder. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_this); break; } // - // Rule 21: primary_expression ::= ( expression ) + // Rule 25: primary_expression ::= ( expression ) // - case 21: { action.builder. + case 25: { action.builder. consumeExpressionBracketed(); break; } // - // Rule 23: id_expression ::= qualified_or_unqualified_name + // Rule 27: id_expression ::= qualified_or_unqualified_name // - case 23: { action.builder. + case 27: { action.builder. consumeExpressionName(); break; } // - // Rule 30: unqualified_id_name ::= ~ class_name + // Rule 34: unqualified_id_name ::= ~ class_name // - case 30: { action.builder. + case 34: { action.builder. consumeDestructorName(); break; } // - // Rule 31: identifier_name ::= identifier + // Rule 35: identifier_name ::= identifier // - case 31: { action.builder. + case 35: { action.builder. consumeIdentifierName(); break; } // - // Rule 32: template_opt ::= template - // - case 32: { action.builder. - consumePlaceHolder(); break; - } - - // - // Rule 33: template_opt ::= $Empty - // - case 33: { action.builder. - consumeEmpty(); break; - } - - // - // Rule 34: dcolon_opt ::= :: - // - case 34: { action.builder. - consumePlaceHolder(); break; - } - - // - // Rule 35: dcolon_opt ::= $Empty - // - case 35: { action.builder. - consumeEmpty(); break; - } - - // - // Rule 36: qualified_id_name ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name + // Rule 36: template_opt ::= template // case 36: { action.builder. + consumePlaceHolder(); break; + } + + // + // Rule 37: template_opt ::= $Empty + // + case 37: { action.builder. + consumeEmpty(); break; + } + + // + // Rule 38: dcolon_opt ::= :: + // + case 38: { action.builder. + consumePlaceHolder(); break; + } + + // + // Rule 39: dcolon_opt ::= $Empty + // + case 39: { action.builder. + consumeEmpty(); break; + } + + // + // Rule 40: qualified_id_name ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name + // + case 40: { action.builder. consumeQualifiedId(true); break; } // - // Rule 37: qualified_id_name ::= :: identifier_name - // - case 37: { action.builder. - consumeGlobalQualifiedId(); break; - } - - // - // Rule 38: qualified_id_name ::= :: operator_function_id_name - // - case 38: { action.builder. - consumeGlobalQualifiedId(); break; - } - - // - // Rule 39: qualified_id_name ::= :: template_id_name - // - case 39: { action.builder. - consumeGlobalQualifiedId(); break; - } - - // - // Rule 40: nested_name_specifier ::= class_or_namespace_name :: nested_name_specifier_with_template - // - case 40: { action.builder. - consumeNestedNameSpecifier(true); break; - } - - // - // Rule 41: nested_name_specifier ::= class_or_namespace_name :: + // Rule 41: qualified_id_name ::= :: identifier_name // case 41: { action.builder. - consumeNestedNameSpecifier(false); break; + consumeGlobalQualifiedId(); break; } // - // Rule 42: nested_name_specifier_with_template ::= class_or_namespace_name_with_template :: nested_name_specifier_with_template + // Rule 42: qualified_id_name ::= :: operator_function_id_name // case 42: { action.builder. + consumeGlobalQualifiedId(); break; + } + + // + // Rule 43: qualified_id_name ::= :: template_id_name + // + case 43: { action.builder. + consumeGlobalQualifiedId(); break; + } + + // + // Rule 44: nested_name_specifier ::= class_or_namespace_name :: nested_name_specifier_with_template + // + case 44: { action.builder. consumeNestedNameSpecifier(true); break; } // - // Rule 43: nested_name_specifier_with_template ::= class_or_namespace_name_with_template :: + // Rule 45: nested_name_specifier ::= class_or_namespace_name :: // - case 43: { action.builder. + case 45: { action.builder. consumeNestedNameSpecifier(false); break; } // - // Rule 44: class_or_namespace_name_with_template ::= template_opt class_or_namespace_name + // Rule 46: nested_name_specifier_with_template ::= class_or_namespace_name_with_template :: nested_name_specifier_with_template // - case 44: { action.builder. + case 46: { action.builder. + consumeNestedNameSpecifier(true); break; + } + + // + // Rule 47: nested_name_specifier_with_template ::= class_or_namespace_name_with_template :: + // + case 47: { action.builder. + consumeNestedNameSpecifier(false); break; + } + + // + // Rule 48: class_or_namespace_name_with_template ::= template_opt class_or_namespace_name + // + case 48: { action.builder. consumeNameWithTemplateKeyword(); break; } // - // Rule 46: nested_name_specifier_opt ::= $Empty + // Rule 50: nested_name_specifier_opt ::= $Empty // - case 46: { action.builder. + case 50: { action.builder. consumeNestedNameSpecifierEmpty(); break; } // - // Rule 50: postfix_expression ::= postfix_expression [ expression ] + // Rule 54: postfix_expression ::= postfix_expression [ expression ] // - case 50: { action.builder. + case 54: { action.builder. consumeExpressionArraySubscript(); break; } // - // Rule 51: postfix_expression ::= postfix_expression ( expression_list_opt ) + // Rule 55: postfix_expression ::= postfix_expression ( expression_list_opt ) // - case 51: { action.builder. + case 55: { action.builder. consumeExpressionFunctionCall(); break; } // - // Rule 52: postfix_expression ::= simple_type_specifier ( expression_list_opt ) + // Rule 56: postfix_expression ::= simple_type_specifier ( expression_list_opt ) // - case 52: { action.builder. + case 56: { action.builder. consumeExpressionSimpleTypeConstructor(); break; } // - // Rule 53: postfix_expression ::= typename dcolon_opt nested_name_specifier identifier_name ( expression_list_opt ) - // - case 53: { action.builder. - consumeExpressionTypeName(); break; - } - - // - // Rule 54: postfix_expression ::= typename dcolon_opt nested_name_specifier template_opt template_id_name ( expression_list_opt ) - // - case 54: { action.builder. - consumeExpressionTypeName(); break; - } - - // - // Rule 55: postfix_expression ::= postfix_expression . qualified_or_unqualified_name - // - case 55: { action.builder. - consumeExpressionFieldReference(false, false); break; - } - - // - // Rule 56: postfix_expression ::= postfix_expression -> qualified_or_unqualified_name - // - case 56: { action.builder. - consumeExpressionFieldReference(true, false); break; - } - - // - // Rule 57: postfix_expression ::= postfix_expression . template qualified_or_unqualified_name + // Rule 57: postfix_expression ::= typename dcolon_opt nested_name_specifier identifier_name ( expression_list_opt ) // case 57: { action.builder. - consumeExpressionFieldReference(false, true); break; + consumeExpressionTypeName(); break; } // - // Rule 58: postfix_expression ::= postfix_expression -> template qualified_or_unqualified_name + // Rule 58: postfix_expression ::= typename dcolon_opt nested_name_specifier template_opt template_id_name ( expression_list_opt ) // case 58: { action.builder. - consumeExpressionFieldReference(true, true); break; + consumeExpressionTypeName(); break; } // - // Rule 59: postfix_expression ::= postfix_expression . pseudo_destructor_name + // Rule 59: postfix_expression ::= postfix_expression . qualified_or_unqualified_name // case 59: { action.builder. consumeExpressionFieldReference(false, false); break; } // - // Rule 60: postfix_expression ::= postfix_expression -> pseudo_destructor_name + // Rule 60: postfix_expression ::= postfix_expression -> qualified_or_unqualified_name // case 60: { action.builder. consumeExpressionFieldReference(true, false); break; } // - // Rule 61: postfix_expression ::= postfix_expression ++ + // Rule 61: postfix_expression ::= postfix_expression . template qualified_or_unqualified_name // case 61: { action.builder. + consumeExpressionFieldReference(false, true); break; + } + + // + // Rule 62: postfix_expression ::= postfix_expression -> template qualified_or_unqualified_name + // + case 62: { action.builder. + consumeExpressionFieldReference(true, true); break; + } + + // + // Rule 63: postfix_expression ::= postfix_expression . pseudo_destructor_name + // + case 63: { action.builder. + consumeExpressionFieldReference(false, false); break; + } + + // + // Rule 64: postfix_expression ::= postfix_expression -> pseudo_destructor_name + // + case 64: { action.builder. + consumeExpressionFieldReference(true, false); break; + } + + // + // Rule 65: postfix_expression ::= postfix_expression ++ + // + case 65: { action.builder. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break; } // - // Rule 62: postfix_expression ::= postfix_expression -- + // Rule 66: postfix_expression ::= postfix_expression -- // - case 62: { action.builder. + case 66: { action.builder. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break; } // - // Rule 63: postfix_expression ::= dynamic_cast < type_id > ( expression ) + // Rule 67: postfix_expression ::= dynamic_cast < type_id > ( expression ) // - case 63: { action.builder. + case 67: { action.builder. consumeExpressionCast(ICPPASTCastExpression.op_dynamic_cast); break; } // - // Rule 64: postfix_expression ::= static_cast < type_id > ( expression ) + // Rule 68: postfix_expression ::= static_cast < type_id > ( expression ) // - case 64: { action.builder. + case 68: { action.builder. consumeExpressionCast(ICPPASTCastExpression.op_static_cast); break; } // - // Rule 65: postfix_expression ::= reinterpret_cast < type_id > ( expression ) + // Rule 69: postfix_expression ::= reinterpret_cast < type_id > ( expression ) // - case 65: { action.builder. + case 69: { action.builder. consumeExpressionCast(ICPPASTCastExpression.op_reinterpret_cast); break; } // - // Rule 66: postfix_expression ::= const_cast < type_id > ( expression ) + // Rule 70: postfix_expression ::= const_cast < type_id > ( expression ) // - case 66: { action.builder. + case 70: { action.builder. consumeExpressionCast(ICPPASTCastExpression.op_const_cast); break; } // - // Rule 67: postfix_expression ::= typeid ( expression ) + // Rule 71: postfix_expression ::= typeid ( expression ) // - case 67: { action.builder. + case 71: { action.builder. consumeExpressionUnaryOperator(ICPPASTUnaryExpression.op_typeid); break; } // - // Rule 68: postfix_expression ::= typeid ( type_id ) + // Rule 72: postfix_expression ::= typeid ( type_id ) // - case 68: { action.builder. + case 72: { action.builder. consumeExpressionTypeId(ICPPASTTypeIdExpression.op_typeid); break; } // - // Rule 69: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt type_name :: ~ type_name + // Rule 73: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt type_name :: ~ type_name // - case 69: { action.builder. + case 73: { action.builder. consumePsudoDestructorName(true); break; } // - // Rule 70: pseudo_destructor_name ::= dcolon_opt nested_name_specifier template template_id_name :: ~ type_name + // Rule 74: pseudo_destructor_name ::= dcolon_opt nested_name_specifier template template_id_name :: ~ type_name // - case 70: { action.builder. + case 74: { action.builder. consumePsudoDestructorName(true); break; } // - // Rule 71: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt ~ type_name + // Rule 75: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt ~ type_name // - case 71: { action.builder. + case 75: { action.builder. consumePsudoDestructorName(false); break; } // - // Rule 75: unary_expression ::= ++ cast_expression + // Rule 79: unary_expression ::= ++ cast_expression // - case 75: { action.builder. + case 79: { action.builder. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixIncr); break; } // - // Rule 76: unary_expression ::= -- cast_expression + // Rule 80: unary_expression ::= -- cast_expression // - case 76: { action.builder. + case 80: { action.builder. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixDecr); break; } // - // Rule 77: unary_expression ::= & cast_expression + // Rule 81: unary_expression ::= & cast_expression // - case 77: { action.builder. + case 81: { action.builder. consumeExpressionUnaryOperator(IASTUnaryExpression.op_amper); break; } // - // Rule 78: unary_expression ::= * cast_expression + // Rule 82: unary_expression ::= * cast_expression // - case 78: { action.builder. + case 82: { action.builder. consumeExpressionUnaryOperator(IASTUnaryExpression.op_star); break; } // - // Rule 79: unary_expression ::= + cast_expression + // Rule 83: unary_expression ::= + cast_expression // - case 79: { action.builder. + case 83: { action.builder. consumeExpressionUnaryOperator(IASTUnaryExpression.op_plus); break; } // - // Rule 80: unary_expression ::= - cast_expression + // Rule 84: unary_expression ::= - cast_expression // - case 80: { action.builder. + case 84: { action.builder. consumeExpressionUnaryOperator(IASTUnaryExpression.op_minus); break; } // - // Rule 81: unary_expression ::= ~ cast_expression + // Rule 85: unary_expression ::= ~ cast_expression // - case 81: { action.builder. + case 85: { action.builder. consumeExpressionUnaryOperator(IASTUnaryExpression.op_tilde); break; } // - // Rule 82: unary_expression ::= ! cast_expression + // Rule 86: unary_expression ::= ! cast_expression // - case 82: { action.builder. + case 86: { action.builder. consumeExpressionUnaryOperator(IASTUnaryExpression.op_not); break; } // - // Rule 83: unary_expression ::= sizeof unary_expression + // Rule 87: unary_expression ::= sizeof unary_expression // - case 83: { action.builder. + case 87: { action.builder. consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof); break; } // - // Rule 84: unary_expression ::= sizeof ( type_id ) + // Rule 88: unary_expression ::= sizeof ( type_id ) // - case 84: { action.builder. + case 88: { action.builder. consumeExpressionTypeId(ICPPASTTypeIdExpression.op_sizeof); break; } // - // Rule 85: new_expression ::= dcolon_opt new new_placement_opt new_type_id new_array_expressions_opt new_initializer_opt + // Rule 89: new_expression ::= dcolon_opt new new_placement_opt new_type_id new_array_expressions_opt new_initializer_opt // - case 85: { action.builder. + case 89: { action.builder. consumeExpressionNew(true); break; } // - // Rule 86: new_expression ::= dcolon_opt new new_placement_opt ( type_id ) new_initializer_opt + // Rule 90: new_expression ::= dcolon_opt new new_placement_opt ( type_id ) new_initializer_opt // - case 86: { action.builder. + case 90: { action.builder. consumeExpressionNew(false); break; } // - // Rule 89: new_placement_opt ::= $Empty + // Rule 93: new_placement_opt ::= $Empty // - case 89: { action.builder. + case 93: { action.builder. consumeEmpty(); break; } // - // Rule 90: new_type_id ::= type_specifier_seq + // Rule 94: new_type_id ::= type_specifier_seq // - case 90: { action.builder. + case 94: { action.builder. consumeTypeId(false); break; } // - // Rule 91: new_type_id ::= type_specifier_seq new_declarator + // Rule 95: new_type_id ::= type_specifier_seq new_declarator // - case 91: { action.builder. + case 95: { action.builder. consumeTypeId(true); break; } // - // Rule 92: new_declarator ::= new_pointer_operators + // Rule 96: new_declarator ::= new_pointer_operators // - case 92: { action.builder. + case 96: { action.builder. consumeNewDeclarator(); break; } // - // Rule 101: new_initializer_opt ::= $Empty + // Rule 105: new_initializer_opt ::= $Empty // - case 101: { action.builder. + case 105: { action.builder. consumeEmpty(); break; } // - // Rule 102: delete_expression ::= dcolon_opt delete cast_expression + // Rule 106: delete_expression ::= dcolon_opt delete cast_expression // - case 102: { action.builder. + case 106: { action.builder. consumeExpressionDelete(false); break; } // - // Rule 103: delete_expression ::= dcolon_opt delete [ ] cast_expression + // Rule 107: delete_expression ::= dcolon_opt delete [ ] cast_expression // - case 103: { action.builder. + case 107: { action.builder. consumeExpressionDelete(true); break; } // - // Rule 106: pm_expression ::= pm_expression .* cast_expression + // Rule 110: pm_expression ::= pm_expression .* cast_expression // - case 106: { action.builder. + case 110: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmdot); break; } // - // Rule 107: pm_expression ::= pm_expression ->* cast_expression + // Rule 111: pm_expression ::= pm_expression ->* cast_expression // - case 107: { action.builder. + case 111: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmarrow); break; } // - // Rule 109: multiplicative_expression ::= multiplicative_expression * pm_expression + // Rule 113: multiplicative_expression ::= multiplicative_expression * pm_expression // - case 109: { action.builder. + case 113: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiply); break; } // - // Rule 110: multiplicative_expression ::= multiplicative_expression / pm_expression + // Rule 114: multiplicative_expression ::= multiplicative_expression / pm_expression // - case 110: { action.builder. + case 114: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divide); break; } // - // Rule 111: multiplicative_expression ::= multiplicative_expression % pm_expression + // Rule 115: multiplicative_expression ::= multiplicative_expression % pm_expression // - case 111: { action.builder. + case 115: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_modulo); break; } // - // Rule 113: additive_expression ::= additive_expression + multiplicative_expression + // Rule 117: additive_expression ::= additive_expression + multiplicative_expression // - case 113: { action.builder. + case 117: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plus); break; } // - // Rule 114: additive_expression ::= additive_expression - multiplicative_expression + // Rule 118: additive_expression ::= additive_expression - multiplicative_expression // - case 114: { action.builder. + case 118: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minus); break; } // - // Rule 116: shift_expression ::= shift_expression << additive_expression + // Rule 120: shift_expression ::= shift_expression << additive_expression // - case 116: { action.builder. + case 120: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeft); break; } // - // Rule 117: shift_expression ::= shift_expression >> additive_expression + // Rule 121: shift_expression ::= shift_expression >> additive_expression // - case 117: { action.builder. + case 121: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRight); break; } // - // Rule 119: relational_expression ::= relational_expression < shift_expression + // Rule 123: relational_expression ::= relational_expression < shift_expression // - case 119: { action.builder. + case 123: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessThan); break; } // - // Rule 120: relational_expression ::= relational_expression > shift_expression + // Rule 124: relational_expression ::= relational_expression > shift_expression // - case 120: { action.builder. + case 124: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterThan); break; } // - // Rule 121: relational_expression ::= relational_expression <= shift_expression + // Rule 125: relational_expression ::= relational_expression <= shift_expression // - case 121: { action.builder. + case 125: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessEqual); break; } // - // Rule 122: relational_expression ::= relational_expression >= shift_expression + // Rule 126: relational_expression ::= relational_expression >= shift_expression // - case 122: { action.builder. + case 126: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterEqual); break; } // - // Rule 124: equality_expression ::= equality_expression == relational_expression + // Rule 128: equality_expression ::= equality_expression == relational_expression // - case 124: { action.builder. + case 128: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_equals); break; } // - // Rule 125: equality_expression ::= equality_expression != relational_expression + // Rule 129: equality_expression ::= equality_expression != relational_expression // - case 125: { action.builder. + case 129: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_notequals); break; } // - // Rule 127: and_expression ::= and_expression & equality_expression + // Rule 131: and_expression ::= and_expression & equality_expression // - case 127: { action.builder. + case 131: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAnd); break; } // - // Rule 129: exclusive_or_expression ::= exclusive_or_expression ^ and_expression + // Rule 133: exclusive_or_expression ::= exclusive_or_expression ^ and_expression // - case 129: { action.builder. + case 133: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXor); break; } // - // Rule 131: inclusive_or_expression ::= inclusive_or_expression | exclusive_or_expression + // Rule 135: inclusive_or_expression ::= inclusive_or_expression | exclusive_or_expression // - case 131: { action.builder. + case 135: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOr); break; } // - // Rule 133: logical_and_expression ::= logical_and_expression && inclusive_or_expression + // Rule 137: logical_and_expression ::= logical_and_expression && inclusive_or_expression // - case 133: { action.builder. + case 137: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalAnd); break; } // - // Rule 135: logical_or_expression ::= logical_or_expression || logical_and_expression + // Rule 139: logical_or_expression ::= logical_or_expression || logical_and_expression // - case 135: { action.builder. + case 139: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalOr); break; } // - // Rule 137: conditional_expression ::= logical_or_expression ? expression : assignment_expression + // Rule 141: conditional_expression ::= logical_or_expression ? expression : assignment_expression // - case 137: { action.builder. + case 141: { action.builder. consumeExpressionConditional(); break; } // - // Rule 138: throw_expression ::= throw + // Rule 142: throw_expression ::= throw // - case 138: { action.builder. + case 142: { action.builder. consumeExpressionThrow(false); break; } // - // Rule 139: throw_expression ::= throw assignment_expression + // Rule 143: throw_expression ::= throw assignment_expression // - case 139: { action.builder. + case 143: { action.builder. consumeExpressionThrow(true); break; } // - // Rule 142: assignment_expression ::= logical_or_expression = assignment_expression + // Rule 146: assignment_expression ::= logical_or_expression = assignment_expression // - case 142: { action.builder. + case 146: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_assign); break; } // - // Rule 143: assignment_expression ::= logical_or_expression *= assignment_expression + // Rule 147: assignment_expression ::= logical_or_expression *= assignment_expression // - case 143: { action.builder. + case 147: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiplyAssign); break; } // - // Rule 144: assignment_expression ::= logical_or_expression /= assignment_expression + // Rule 148: assignment_expression ::= logical_or_expression /= assignment_expression // - case 144: { action.builder. + case 148: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divideAssign); break; } // - // Rule 145: assignment_expression ::= logical_or_expression %= assignment_expression + // Rule 149: assignment_expression ::= logical_or_expression %= assignment_expression // - case 145: { action.builder. + case 149: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_moduloAssign); break; } // - // Rule 146: assignment_expression ::= logical_or_expression += assignment_expression + // Rule 150: assignment_expression ::= logical_or_expression += assignment_expression // - case 146: { action.builder. + case 150: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plusAssign); break; } // - // Rule 147: assignment_expression ::= logical_or_expression -= assignment_expression + // Rule 151: assignment_expression ::= logical_or_expression -= assignment_expression // - case 147: { action.builder. + case 151: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minusAssign); break; } // - // Rule 148: assignment_expression ::= logical_or_expression >>= assignment_expression + // Rule 152: assignment_expression ::= logical_or_expression >>= assignment_expression // - case 148: { action.builder. + case 152: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRightAssign); break; } // - // Rule 149: assignment_expression ::= logical_or_expression <<= assignment_expression + // Rule 153: assignment_expression ::= logical_or_expression <<= assignment_expression // - case 149: { action.builder. + case 153: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeftAssign); break; } // - // Rule 150: assignment_expression ::= logical_or_expression &= assignment_expression + // Rule 154: assignment_expression ::= logical_or_expression &= assignment_expression // - case 150: { action.builder. + case 154: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAndAssign); break; } // - // Rule 151: assignment_expression ::= logical_or_expression ^= assignment_expression + // Rule 155: assignment_expression ::= logical_or_expression ^= assignment_expression // - case 151: { action.builder. + case 155: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXorAssign); break; } // - // Rule 152: assignment_expression ::= logical_or_expression |= assignment_expression + // Rule 156: assignment_expression ::= logical_or_expression |= assignment_expression // - case 152: { action.builder. + case 156: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOrAssign); break; } // - // Rule 154: expression ::= ERROR_TOKEN + // Rule 158: expression ::= ERROR_TOKEN // - case 154: { action.builder. + case 158: { action.builder. consumeExpressionProblem(); break; } // - // Rule 155: expression_list ::= expression_list_actual + // Rule 159: expression_list ::= expression_list_actual // - case 155: { action.builder. + case 159: { action.builder. consumeExpressionList(); break; } // - // Rule 159: expression_list_opt ::= $Empty + // Rule 163: expression_list_opt ::= $Empty // - case 159: { action.builder. + case 163: { action.builder. consumeEmpty(); break; } // - // Rule 161: expression_opt ::= $Empty + // Rule 165: expression_opt ::= $Empty // - case 161: { action.builder. + case 165: { action.builder. consumeEmpty(); break; } // - // Rule 164: constant_expression_opt ::= $Empty + // Rule 168: constant_expression_opt ::= $Empty // - case 164: { action.builder. + case 168: { action.builder. consumeEmpty(); break; } // - // Rule 173: statement ::= ERROR_TOKEN + // Rule 177: statement ::= ERROR_TOKEN // - case 173: { action.builder. + case 177: { action.builder. consumeStatementProblem(); break; } // - // Rule 174: labeled_statement ::= identifier : statement + // Rule 178: labeled_statement ::= identifier : statement // - case 174: { action.builder. + case 178: { action.builder. consumeStatementLabeled(); break; } // - // Rule 175: labeled_statement ::= case constant_expression : + // Rule 179: labeled_statement ::= case constant_expression : // - case 175: { action.builder. + case 179: { action.builder. consumeStatementCase(); break; } // - // Rule 176: labeled_statement ::= default : + // Rule 180: labeled_statement ::= default : // - case 176: { action.builder. + case 180: { action.builder. consumeStatementDefault(); break; } // - // Rule 177: expression_statement ::= expression ; + // Rule 181: expression_statement ::= expression ; // - case 177: { action.builder. + case 181: { action.builder. consumeStatementExpression(); break; } // - // Rule 178: expression_statement ::= ; + // Rule 182: expression_statement ::= ; // - case 178: { action.builder. + case 182: { action.builder. consumeStatementNull(); break; } // - // Rule 179: compound_statement ::= { statement_seq } + // Rule 183: compound_statement ::= { statement_seq } // - case 179: { action.builder. + case 183: { action.builder. consumeStatementCompoundStatement(true); break; } // - // Rule 180: compound_statement ::= { } + // Rule 184: compound_statement ::= { } // - case 180: { action.builder. + case 184: { action.builder. consumeStatementCompoundStatement(false); break; } // - // Rule 183: selection_statement ::= if ( condition ) statement + // Rule 187: selection_statement ::= if ( condition ) statement // - case 183: { action.builder. + case 187: { action.builder. consumeStatementIf(false); break; } // - // Rule 184: selection_statement ::= if ( condition ) statement else statement + // Rule 188: selection_statement ::= if ( condition ) statement else statement // - case 184: { action.builder. + case 188: { action.builder. consumeStatementIf(true); break; } // - // Rule 185: selection_statement ::= switch ( condition ) statement + // Rule 189: selection_statement ::= switch ( condition ) statement // - case 185: { action.builder. + case 189: { action.builder. consumeStatementSwitch(); break; } // - // Rule 187: condition ::= type_specifier_seq declarator = assignment_expression + // Rule 191: condition ::= type_specifier_seq declarator = assignment_expression // - case 187: { action.builder. + case 191: { action.builder. consumeConditionDeclaration(); break; } // - // Rule 188: iteration_statement ::= while ( condition ) statement + // Rule 192: iteration_statement ::= while ( condition ) statement // - case 188: { action.builder. + case 192: { action.builder. consumeStatementWhileLoop(); break; } // - // Rule 189: iteration_statement ::= do statement while ( expression ) ; + // Rule 193: iteration_statement ::= do statement while ( expression ) ; // - case 189: { action.builder. + case 193: { action.builder. consumeStatementDoLoop(); break; } // - // Rule 190: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement + // Rule 194: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement // - case 190: { action.builder. + case 194: { action.builder. consumeStatementForLoop(); break; } // - // Rule 191: iteration_statement ::= for ( simple_declaration expression_opt ; expression_opt ) statement + // Rule 195: iteration_statement ::= for ( simple_declaration expression_opt ; expression_opt ) statement // - case 191: { action.builder. + case 195: { action.builder. consumeStatementForLoop(); break; } // - // Rule 192: jump_statement ::= break ; + // Rule 196: jump_statement ::= break ; // - case 192: { action.builder. + case 196: { action.builder. consumeStatementBreak(); break; } // - // Rule 193: jump_statement ::= continue ; + // Rule 197: jump_statement ::= continue ; // - case 193: { action.builder. + case 197: { action.builder. consumeStatementContinue(); break; } // - // Rule 194: jump_statement ::= return expression ; + // Rule 198: jump_statement ::= return expression ; // - case 194: { action.builder. + case 198: { action.builder. consumeStatementReturn(true); break; } // - // Rule 195: jump_statement ::= return ; + // Rule 199: jump_statement ::= return ; // - case 195: { action.builder. + case 199: { action.builder. consumeStatementReturn(false); break; } // - // Rule 196: jump_statement ::= goto identifier ; + // Rule 200: jump_statement ::= goto identifier ; // - case 196: { action.builder. + case 200: { action.builder. consumeStatementGoto(); break; } // - // Rule 197: declaration_statement ::= block_declaration + // Rule 201: declaration_statement ::= block_declaration // - case 197: { action.builder. + case 201: { action.builder. consumeStatementDeclaration(); break; } // - // Rule 214: simple_declaration ::= declaration_specifiers_opt init_declarator_list_opt ; + // Rule 218: simple_declaration ::= declaration_specifiers_opt init_declarator_list_opt ; // - case 214: { action.builder. + case 218: { action.builder. consumeDeclarationSimple(true); break; } // - // Rule 215: declaration_specifiers ::= simple_declaration_specifiers + // Rule 219: declaration_specifiers ::= simple_declaration_specifiers // - case 215: { action.builder. + case 219: { action.builder. consumeDeclarationSpecifiersSimple(); break; } // - // Rule 216: declaration_specifiers ::= class_declaration_specifiers + // Rule 220: declaration_specifiers ::= class_declaration_specifiers // - case 216: { action.builder. + case 220: { action.builder. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 217: declaration_specifiers ::= elaborated_declaration_specifiers + // Rule 221: declaration_specifiers ::= elaborated_declaration_specifiers // - case 217: { action.builder. + case 221: { action.builder. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 218: declaration_specifiers ::= enum_declaration_specifiers + // Rule 222: declaration_specifiers ::= enum_declaration_specifiers // - case 218: { action.builder. + case 222: { action.builder. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 219: declaration_specifiers ::= type_name_declaration_specifiers + // Rule 223: declaration_specifiers ::= type_name_declaration_specifiers // - case 219: { action.builder. + case 223: { action.builder. consumeDeclarationSpecifiersTypeName(); break; } // - // Rule 221: declaration_specifiers_opt ::= $Empty + // Rule 225: declaration_specifiers_opt ::= $Empty // - case 221: { action.builder. + case 225: { action.builder. consumeEmpty(); break; } // - // Rule 225: no_type_declaration_specifier ::= friend + // Rule 229: no_type_declaration_specifier ::= friend // - case 225: { action.builder. + case 229: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 226: no_type_declaration_specifier ::= typedef + // Rule 230: no_type_declaration_specifier ::= typedef // - case 226: { action.builder. + case 230: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 254: simple_type_specifier ::= simple_type_specifier_token + // Rule 258: simple_type_specifier ::= simple_type_specifier_token // - case 254: { action.builder. + case 258: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 270: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name + // Rule 274: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name // - case 270: { action.builder. + case 274: { action.builder. consumeQualifiedId(false); break; } // - // Rule 271: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name + // Rule 275: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name // - case 271: { action.builder. + case 275: { action.builder. consumeQualifiedId(false); break; } // - // Rule 272: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name + // Rule 276: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name // - case 272: { action.builder. + case 276: { action.builder. consumeQualifiedId(false); break; } // - // Rule 273: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name + // Rule 277: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name // - case 273: { action.builder. + case 277: { action.builder. consumeQualifiedId(true); break; } // - // Rule 274: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt identifier_name + // Rule 278: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt identifier_name // - case 274: { action.builder. + case 278: { action.builder. consumeTypeSpecifierElaborated(false); break; } // - // Rule 275: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt template_opt template_id_name + // Rule 279: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt template_opt template_id_name // - case 275: { action.builder. + case 279: { action.builder. consumeTypeSpecifierElaborated(true); break; } // - // Rule 276: elaborated_type_specifier ::= enum dcolon_opt nested_name_specifier_opt identifier_name + // Rule 280: elaborated_type_specifier ::= enum dcolon_opt nested_name_specifier_opt identifier_name // - case 276: { action.builder. + case 280: { action.builder. consumeTypeSpecifierElaborated(false); break; } // - // Rule 278: enum_specifier ::= enum { enumerator_list_opt } + // Rule 282: enum_specifier ::= enum { enumerator_list_opt } // - case 278: { action.builder. + case 282: { action.builder. consumeTypeSpecifierEnumeration(false); break; } // - // Rule 279: enum_specifier ::= enum identifier { enumerator_list_opt } + // Rule 283: enum_specifier ::= enum identifier { enumerator_list_opt } // - case 279: { action.builder. + case 283: { action.builder. consumeTypeSpecifierEnumeration(true); break; } // - // Rule 284: enumerator_definition ::= enumerator + // Rule 288: enumerator_definition ::= enumerator // - case 284: { action.builder. + case 288: { action.builder. consumeEnumerator(false); break; } // - // Rule 285: enumerator_definition ::= enumerator = constant_expression + // Rule 289: enumerator_definition ::= enumerator = constant_expression // - case 285: { action.builder. + case 289: { action.builder. consumeEnumerator(true); break; } // - // Rule 294: original_namespace_definition ::= namespace identifier_name { declaration_seq_opt } + // Rule 298: original_namespace_definition ::= namespace identifier_name { declaration_seq_opt } // - case 294: { action.builder. + case 298: { action.builder. consumeNamespaceDefinition(true); break; } // - // Rule 295: extension_namespace_definition ::= namespace original_namespace_name { declaration_seq_opt } + // Rule 299: extension_namespace_definition ::= namespace original_namespace_name { declaration_seq_opt } // - case 295: { action.builder. + case 299: { action.builder. consumeNamespaceDefinition(true); break; } // - // Rule 296: unnamed_namespace_definition ::= namespace { declaration_seq_opt } + // Rule 300: unnamed_namespace_definition ::= namespace { declaration_seq_opt } // - case 296: { action.builder. + case 300: { action.builder. consumeNamespaceDefinition(false); break; } // - // Rule 298: namespace_alias_definition ::= namespace identifier = dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 302: namespace_alias_definition ::= namespace identifier = dcolon_opt nested_name_specifier_opt namespace_name ; // - case 298: { action.builder. + case 302: { action.builder. consumeNamespaceAliasDefinition(); break; } // - // Rule 299: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; + // Rule 303: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; // - case 299: { action.builder. + case 303: { action.builder. consumeUsingDeclaration(); break; } // - // Rule 300: typename_opt ::= typename + // Rule 304: typename_opt ::= typename // - case 300: { action.builder. + case 304: { action.builder. consumePlaceHolder(); break; } // - // Rule 301: typename_opt ::= $Empty + // Rule 305: typename_opt ::= $Empty // - case 301: { action.builder. + case 305: { action.builder. consumeEmpty(); break; } // - // Rule 302: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 306: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; // - case 302: { action.builder. + case 306: { action.builder. consumeUsingDirective(); break; } // - // Rule 303: asm_definition ::= asm ( stringlit ) ; + // Rule 307: asm_definition ::= asm ( stringlit ) ; // - case 303: { action.builder. + case 307: { action.builder. consumeDeclarationASM(); break; } // - // Rule 304: linkage_specification ::= extern stringlit { declaration_seq_opt } + // Rule 308: linkage_specification ::= extern stringlit { declaration_seq_opt } // - case 304: { action.builder. + case 308: { action.builder. consumeLinkageSpecification(); break; } // - // Rule 305: linkage_specification ::= extern stringlit declaration + // Rule 309: linkage_specification ::= extern stringlit declaration // - case 305: { action.builder. + case 309: { action.builder. consumeLinkageSpecification(); break; } // - // Rule 311: init_declarator ::= declarator initializer + // Rule 315: init_declarator ::= declarator initializer // - case 311: { action.builder. + case 315: { action.builder. consumeDeclaratorWithInitializer(true); break; } // - // Rule 313: declarator ::= ptr_operator_seq direct_declarator + // Rule 317: declarator ::= ptr_operator_seq direct_declarator // - case 313: { action.builder. + case 317: { action.builder. consumeDeclaratorWithPointer(true); break; } // - // Rule 317: basic_direct_declarator ::= declarator_id_name + // Rule 321: basic_direct_declarator ::= declarator_id_name // - case 317: { action.builder. + case 321: { action.builder. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 318: basic_direct_declarator ::= ( declarator ) + // Rule 322: basic_direct_declarator ::= ( declarator ) // - case 318: { action.builder. + case 322: { action.builder. consumeDirectDeclaratorBracketed(); break; } // - // Rule 319: function_direct_declarator ::= basic_direct_declarator ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt + // Rule 323: function_direct_declarator ::= basic_direct_declarator ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt // - case 319: { action.builder. + case 323: { action.builder. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 320: array_direct_declarator ::= array_direct_declarator array_modifier + // Rule 324: array_direct_declarator ::= array_direct_declarator array_modifier // - case 320: { action.builder. + case 324: { action.builder. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 321: array_direct_declarator ::= basic_direct_declarator array_modifier + // Rule 325: array_direct_declarator ::= basic_direct_declarator array_modifier // - case 321: { action.builder. + case 325: { action.builder. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 322: array_modifier ::= [ constant_expression ] + // Rule 326: array_modifier ::= [ constant_expression ] // - case 322: { action.builder. + case 326: { action.builder. consumeDirectDeclaratorArrayModifier(true); break; } // - // Rule 323: array_modifier ::= [ ] + // Rule 327: array_modifier ::= [ ] // - case 323: { action.builder. + case 327: { action.builder. consumeDirectDeclaratorArrayModifier(false); break; } // - // Rule 324: ptr_operator ::= * cv_qualifier_seq_opt + // Rule 328: ptr_operator ::= * cv_qualifier_seq_opt // - case 324: { action.builder. + case 328: { action.builder. consumePointer(); break; } // - // Rule 325: ptr_operator ::= & + // Rule 329: ptr_operator ::= & // - case 325: { action.builder. + case 329: { action.builder. consumeReferenceOperator(); break; } // - // Rule 326: ptr_operator ::= dcolon_opt nested_name_specifier * cv_qualifier_seq_opt + // Rule 330: ptr_operator ::= dcolon_opt nested_name_specifier * cv_qualifier_seq_opt // - case 326: { action.builder. + case 330: { action.builder. consumePointerToMember(); break; } // - // Rule 332: cv_qualifier ::= const + // Rule 336: cv_qualifier ::= const // - case 332: { action.builder. + case 336: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 333: cv_qualifier ::= volatile + // Rule 337: cv_qualifier ::= volatile // - case 333: { action.builder. + case 337: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 335: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name + // Rule 339: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name // - case 335: { action.builder. + case 339: { action.builder. consumeQualifiedId(false); break; } // - // Rule 336: type_id ::= type_specifier_seq + // Rule 340: type_id ::= type_specifier_seq // - case 336: { action.builder. + case 340: { action.builder. consumeTypeId(false); break; } // - // Rule 337: type_id ::= type_specifier_seq abstract_declarator + // Rule 341: type_id ::= type_specifier_seq abstract_declarator // - case 337: { action.builder. + case 341: { action.builder. consumeTypeId(true); break; } // - // Rule 340: abstract_declarator ::= ptr_operator_seq + // Rule 344: abstract_declarator ::= ptr_operator_seq // - case 340: { action.builder. + case 344: { action.builder. consumeDeclaratorWithPointer(false); break; } // - // Rule 341: abstract_declarator ::= ptr_operator_seq direct_abstract_declarator + // Rule 345: abstract_declarator ::= ptr_operator_seq direct_abstract_declarator // - case 341: { action.builder. + case 345: { action.builder. consumeDeclaratorWithPointer(true); break; } // - // Rule 345: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 349: basic_direct_abstract_declarator ::= ( abstract_declarator ) // - case 345: { action.builder. + case 349: { action.builder. consumeDirectDeclaratorBracketed(); break; } // - // Rule 346: array_direct_abstract_declarator ::= array_modifier + // Rule 350: array_direct_abstract_declarator ::= array_modifier // - case 346: { action.builder. + case 350: { action.builder. consumeDirectDeclaratorArrayDeclarator(false); break; } // - // Rule 347: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier + // Rule 351: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier // - case 347: { action.builder. + case 351: { action.builder. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 348: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier + // Rule 352: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier // - case 348: { action.builder. + case 352: { action.builder. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 349: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt + // Rule 353: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt // - case 349: { action.builder. + case 353: { action.builder. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 350: function_direct_abstract_declarator ::= ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt + // Rule 354: function_direct_abstract_declarator ::= ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt // - case 350: { action.builder. + case 354: { action.builder. consumeDirectDeclaratorFunctionDeclarator(false); break; } // - // Rule 351: parameter_declaration_clause ::= parameter_declaration_list_opt ... + // Rule 355: parameter_declaration_clause ::= parameter_declaration_list_opt ... // - case 351: { action.builder. + case 355: { action.builder. consumePlaceHolder(); break; } // - // Rule 352: parameter_declaration_clause ::= parameter_declaration_list_opt + // Rule 356: parameter_declaration_clause ::= parameter_declaration_list_opt // - case 352: { action.builder. + case 356: { action.builder. consumeEmpty(); break; } // - // Rule 353: parameter_declaration_clause ::= parameter_declaration_list , ... + // Rule 357: parameter_declaration_clause ::= parameter_declaration_list , ... // - case 353: { action.builder. + case 357: { action.builder. consumePlaceHolder(); break; } // - // Rule 359: abstract_declarator_opt ::= $Empty + // Rule 363: abstract_declarator_opt ::= $Empty // - case 359: { action.builder. + case 363: { action.builder. consumeEmpty(); break; } // - // Rule 360: parameter_declaration ::= declaration_specifiers parameter_init_declarator + // Rule 364: parameter_declaration ::= declaration_specifiers parameter_init_declarator // - case 360: { action.builder. + case 364: { action.builder. consumeParameterDeclaration(); break; } // - // Rule 361: parameter_declaration ::= declaration_specifiers + // Rule 365: parameter_declaration ::= declaration_specifiers // - case 361: { action.builder. + case 365: { action.builder. consumeParameterDeclarationWithoutDeclarator(); break; } // - // Rule 363: parameter_init_declarator ::= declarator = parameter_initializer + // Rule 367: parameter_init_declarator ::= declarator = parameter_initializer // - case 363: { action.builder. + case 367: { action.builder. consumeDeclaratorWithInitializer(true); break; } // - // Rule 365: parameter_init_declarator ::= abstract_declarator = parameter_initializer + // Rule 369: parameter_init_declarator ::= abstract_declarator = parameter_initializer // - case 365: { action.builder. + case 369: { action.builder. consumeDeclaratorWithInitializer(true); break; } // - // Rule 366: parameter_init_declarator ::= = parameter_initializer + // Rule 370: parameter_init_declarator ::= = parameter_initializer // - case 366: { action.builder. + case 370: { action.builder. consumeDeclaratorWithInitializer(false); break; } // - // Rule 367: parameter_initializer ::= assignment_expression + // Rule 371: parameter_initializer ::= assignment_expression // - case 367: { action.builder. + case 371: { action.builder. consumeInitializer(); break; } // - // Rule 368: function_definition ::= declaration_specifiers_opt function_direct_declarator ctor_initializer_list_opt function_body + // Rule 372: function_definition ::= declaration_specifiers_opt function_direct_declarator ctor_initializer_list_opt function_body // - case 368: { action.builder. + case 372: { action.builder. consumeFunctionDefinition(false); break; } // - // Rule 369: function_definition ::= declaration_specifiers_opt function_direct_declarator try ctor_initializer_list_opt function_body handler_seq + // Rule 373: function_definition ::= declaration_specifiers_opt function_direct_declarator try ctor_initializer_list_opt function_body handler_seq // - case 369: { action.builder. + case 373: { action.builder. consumeFunctionDefinition(true); break; } // - // Rule 372: initializer ::= ( expression_list ) + // Rule 376: initializer ::= ( expression_list ) // - case 372: { action.builder. + case 376: { action.builder. consumeInitializerConstructor(); break; } // - // Rule 373: initializer_clause ::= assignment_expression + // Rule 377: initializer_clause ::= assignment_expression // - case 373: { action.builder. + case 377: { action.builder. consumeInitializer(); break; } // - // Rule 374: initializer_clause ::= { initializer_list , } + // Rule 378: initializer_clause ::= { initializer_list , } // - case 374: { action.builder. + case 378: { action.builder. consumeInitializerList(); break; } // - // Rule 375: initializer_clause ::= { initializer_list } + // Rule 379: initializer_clause ::= { initializer_list } // - case 375: { action.builder. + case 379: { action.builder. consumeInitializerList(); break; } // - // Rule 376: initializer_clause ::= { } + // Rule 380: initializer_clause ::= { } // - case 376: { action.builder. + case 380: { action.builder. consumeInitializerList(); break; } // - // Rule 381: class_specifier ::= class_head { member_declaration_list_opt } + // Rule 385: class_specifier ::= class_head { member_declaration_list_opt } // - case 381: { action.builder. + case 385: { action.builder. consumeClassSpecifier(); break; } // - // Rule 382: class_head ::= class_keyword identifier_name_opt base_clause_opt + // Rule 386: class_head ::= class_keyword identifier_name_opt base_clause_opt // - case 382: { action.builder. + case 386: { action.builder. consumeClassHead(false); break; } // - // Rule 383: class_head ::= class_keyword template_id_name base_clause_opt + // Rule 387: class_head ::= class_keyword template_id_name base_clause_opt // - case 383: { action.builder. + case 387: { action.builder. consumeClassHead(false); break; } // - // Rule 384: class_head ::= class_keyword nested_name_specifier identifier_name base_clause_opt + // Rule 388: class_head ::= class_keyword nested_name_specifier identifier_name base_clause_opt // - case 384: { action.builder. + case 388: { action.builder. consumeClassHead(true); break; } // - // Rule 385: class_head ::= class_keyword nested_name_specifier template_id_name base_clause_opt - // - case 385: { action.builder. - consumeClassHead(true); break; - } - - // - // Rule 389: identifier_name_opt ::= $Empty + // Rule 389: class_head ::= class_keyword nested_name_specifier template_id_name base_clause_opt // case 389: { action.builder. + consumeClassHead(true); break; + } + + // + // Rule 393: identifier_name_opt ::= $Empty + // + case 393: { action.builder. consumeEmpty(); break; } // - // Rule 393: visibility_label ::= access_specifier_keyword : + // Rule 397: visibility_label ::= access_specifier_keyword : // - case 393: { action.builder. + case 397: { action.builder. consumeVisibilityLabel(); break; } // - // Rule 394: member_declaration ::= declaration_specifiers_opt member_declarator_list ; + // Rule 398: member_declaration ::= declaration_specifiers_opt member_declarator_list ; // - case 394: { action.builder. + case 398: { action.builder. consumeDeclarationSimple(true); break; } // - // Rule 395: member_declaration ::= declaration_specifiers_opt ; + // Rule 399: member_declaration ::= declaration_specifiers_opt ; // - case 395: { action.builder. + case 399: { action.builder. consumeDeclarationSimple(false); break; } // - // Rule 398: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ; + // Rule 402: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ; // - case 398: { action.builder. + case 402: { action.builder. consumeMemberDeclarationQualifiedId(); break; } // - // Rule 409: member_declarator ::= declarator constant_initializer + // Rule 406: member_declaration ::= ERROR_TOKEN // - case 409: { action.builder. + case 406: { action.builder. + consumeDeclarationProblem(); break; + } + + // + // Rule 414: member_declarator ::= declarator constant_initializer + // + case 414: { action.builder. consumeMemberDeclaratorWithInitializer(); break; } // - // Rule 410: member_declarator ::= bit_field_declarator : constant_expression + // Rule 415: member_declarator ::= bit_field_declarator : constant_expression // - case 410: { action.builder. + case 415: { action.builder. consumeBitField(true); break; } // - // Rule 411: member_declarator ::= : constant_expression + // Rule 416: member_declarator ::= : constant_expression // - case 411: { action.builder. + case 416: { action.builder. consumeBitField(false); break; } // - // Rule 412: bit_field_declarator ::= identifier_name + // Rule 417: bit_field_declarator ::= identifier_name // - case 412: { action.builder. + case 417: { action.builder. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 419: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name + // Rule 424: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name // - case 419: { action.builder. + case 424: { action.builder. consumeBaseSpecifier(false); break; } // - // Rule 420: base_specifier ::= virtual_opt access_specifier_keyword virtual_opt dcolon_opt nested_name_specifier_opt class_name + // Rule 425: base_specifier ::= virtual_opt access_specifier_keyword virtual_opt dcolon_opt nested_name_specifier_opt class_name // - case 420: { action.builder. + case 425: { action.builder. consumeBaseSpecifier(true); break; } // - // Rule 421: virtual_opt ::= virtual + // Rule 426: virtual_opt ::= virtual // - case 421: { action.builder. + case 426: { action.builder. consumePlaceHolder(); break; } // - // Rule 422: virtual_opt ::= $Empty + // Rule 427: virtual_opt ::= $Empty // - case 422: { action.builder. + case 427: { action.builder. consumeEmpty(); break; } // - // Rule 428: conversion_function_id_name ::= operator conversion_type_id + // Rule 433: conversion_function_id_name ::= operator conversion_type_id // - case 428: { action.builder. + case 433: { action.builder. consumeConversionName(); break; } // - // Rule 429: conversion_type_id ::= type_specifier_seq conversion_declarator + // Rule 434: conversion_type_id ::= type_specifier_seq conversion_declarator // - case 429: { action.builder. + case 434: { action.builder. consumeTypeId(true); break; } // - // Rule 430: conversion_type_id ::= type_specifier_seq + // Rule 435: conversion_type_id ::= type_specifier_seq // - case 430: { action.builder. + case 435: { action.builder. consumeTypeId(false); break; } // - // Rule 431: conversion_declarator ::= ptr_operator_seq + // Rule 436: conversion_declarator ::= ptr_operator_seq // - case 431: { action.builder. + case 436: { action.builder. consumeDeclaratorWithPointer(false); break; } // - // Rule 437: mem_initializer ::= mem_initializer_name ( expression_list_opt ) + // Rule 442: mem_initializer ::= mem_initializer_name ( expression_list_opt ) // - case 437: { action.builder. + case 442: { action.builder. consumeConstructorChainInitializer(); break; } // - // Rule 438: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name + // Rule 443: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name // - case 438: { action.builder. + case 443: { action.builder. consumeQualifiedId(false); break; } // - // Rule 441: operator_function_id_name ::= operator_id_name < template_argument_list_opt > + // Rule 446: operator_function_id_name ::= operator_id_name < template_argument_list_opt > // - case 441: { action.builder. + case 446: { action.builder. consumeTemplateId(); break; } // - // Rule 442: operator_id_name ::= operator overloadable_operator + // Rule 447: operator_id_name ::= operator overloadable_operator // - case 442: { action.builder. + case 447: { action.builder. consumeOperatorName(); break; } // - // Rule 485: template_declaration ::= export_opt template < template_parameter_list > declaration + // Rule 490: template_declaration ::= export_opt template < template_parameter_list > declaration // - case 485: { action.builder. + case 490: { action.builder. consumeTemplateDeclaration(); break; } // - // Rule 486: export_opt ::= export + // Rule 491: export_opt ::= export // - case 486: { action.builder. + case 491: { action.builder. consumePlaceHolder(); break; } // - // Rule 487: export_opt ::= $Empty + // Rule 492: export_opt ::= $Empty // - case 487: { action.builder. + case 492: { action.builder. consumeEmpty(); break; } // - // Rule 492: type_parameter ::= class identifier_name_opt + // Rule 497: type_parameter ::= class identifier_name_opt // - case 492: { action.builder. + case 497: { action.builder. consumeSimpleTypeTemplateParameter(false); break; } // - // Rule 493: type_parameter ::= class identifier_name_opt = type_id + // Rule 498: type_parameter ::= class identifier_name_opt = type_id // - case 493: { action.builder. + case 498: { action.builder. consumeSimpleTypeTemplateParameter(true); break; } // - // Rule 494: type_parameter ::= typename identifier_name_opt + // Rule 499: type_parameter ::= typename identifier_name_opt // - case 494: { action.builder. + case 499: { action.builder. consumeSimpleTypeTemplateParameter(false); break; } // - // Rule 495: type_parameter ::= typename identifier_name_opt = type_id + // Rule 500: type_parameter ::= typename identifier_name_opt = type_id // - case 495: { action.builder. + case 500: { action.builder. consumeSimpleTypeTemplateParameter(true); break; } // - // Rule 496: type_parameter ::= template < template_parameter_list > class identifier_name_opt + // Rule 501: type_parameter ::= template < template_parameter_list > class identifier_name_opt // - case 496: { action.builder. + case 501: { action.builder. consumeTemplatedTypeTemplateParameter(false); break; } // - // Rule 497: type_parameter ::= template < template_parameter_list > class identifier_name_opt = id_expression + // Rule 502: type_parameter ::= template < template_parameter_list > class identifier_name_opt = id_expression // - case 497: { action.builder. + case 502: { action.builder. consumeTemplatedTypeTemplateParameter(true); break; } // - // Rule 498: template_id_name ::= template_identifier < template_argument_list_opt > + // Rule 503: template_id_name ::= template_identifier < template_argument_list_opt > // - case 498: { action.builder. + case 503: { action.builder. consumeTemplateId(); break; } // - // Rule 507: explicit_instantiation ::= template declaration + // Rule 512: explicit_instantiation ::= template declaration // - case 507: { action.builder. + case 512: { action.builder. consumeTemplateExplicitInstantiation(); break; } // - // Rule 508: explicit_specialization ::= template < > declaration + // Rule 513: explicit_specialization ::= template < > declaration // - case 508: { action.builder. + case 513: { action.builder. consumeTemplateExplicitSpecialization(); break; } // - // Rule 509: try_block ::= try compound_statement handler_seq + // Rule 514: try_block ::= try compound_statement handler_seq // - case 509: { action.builder. + case 514: { action.builder. consumeStatementTryBlock(); break; } // - // Rule 512: handler ::= catch ( exception_declaration ) compound_statement + // Rule 517: handler ::= catch ( exception_declaration ) compound_statement // - case 512: { action.builder. + case 517: { action.builder. consumeStatementCatchHandler(false); break; } // - // Rule 513: handler ::= catch ( ... ) compound_statement + // Rule 518: handler ::= catch ( ... ) compound_statement // - case 513: { action.builder. + case 518: { action.builder. consumeStatementCatchHandler(true); break; } // - // Rule 514: exception_declaration ::= type_specifier_seq declarator + // Rule 519: exception_declaration ::= type_specifier_seq declarator // - case 514: { action.builder. + case 519: { action.builder. consumeDeclarationSimple(true); break; } // - // Rule 515: exception_declaration ::= type_specifier_seq abstract_declarator + // Rule 520: exception_declaration ::= type_specifier_seq abstract_declarator // - case 515: { action.builder. + case 520: { action.builder. consumeDeclarationSimple(true); break; } // - // Rule 516: exception_declaration ::= type_specifier_seq + // Rule 521: exception_declaration ::= type_specifier_seq // - case 516: { action.builder. + case 521: { action.builder. consumeDeclarationSimple(false); break; } // - // Rule 524: no_cast_start ::= ERROR_TOKEN + // Rule 529: no_cast_start ::= ERROR_TOKEN // - case 524: { action.builder. + case 529: { action.builder. consumeExpressionProblem(); break; } diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParserprs.java index 0fb8a086156..d174cf2410c 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParserprs.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParserprs.java @@ -38,478 +38,485 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface BaseCheck { public final static short baseCheck[] = {0, 0,0,0,0,0,1,1,1,1,1, - 0,1,1,1,1,1,1,1,1,1, - 3,1,1,1,1,1,1,1,1,2, - 1,1,0,1,0,4,2,2,2,3, - 2,3,2,2,1,0,1,1,1,4, - 4,4,8,8,3,3,4,4,3,3, - 2,2,7,7,7,7,4,4,6,7, - 4,1,1,1,2,2,2,2,2,2, - 2,2,2,4,7,7,3,1,0,1, - 2,2,1,2,3,4,1,0,3,1, - 0,3,5,1,1,3,3,1,3,3, - 3,1,3,3,1,3,3,1,3,3, - 3,3,1,3,3,1,3,1,3,1, - 3,1,3,1,3,1,5,1,2,1, - 1,3,3,3,3,3,3,3,3,3, - 3,3,1,1,2,1,3,1,0,1, - 0,1,1,0,1,1,1,1,1,1, - 1,1,1,3,3,2,2,1,4,2, - 1,2,5,7,5,1,4,5,7,9, - 8,2,2,3,2,3,1,1,1,1, + 0,1,2,1,1,1,1,1,1,1, + 1,1,1,1,3,1,1,1,1,1, + 1,1,1,2,1,1,0,1,0,4, + 2,2,2,3,2,3,2,2,1,0, + 1,1,1,4,4,4,8,8,3,3, + 4,4,3,3,2,2,7,7,7,7, + 4,4,6,7,4,1,1,1,2,2, + 2,2,2,2,2,2,2,4,7,7, + 3,1,0,1,2,2,1,2,3,4, + 1,0,3,1,0,3,5,1,1,3, + 3,1,3,3,3,1,3,3,1,3, + 3,1,3,3,3,3,1,3,3,1, + 3,1,3,1,3,1,3,1,3,1, + 5,1,2,1,1,3,3,3,3,3, + 3,3,3,3,3,3,1,1,2,1, + 3,1,0,1,0,1,1,0,1,1, + 1,1,1,1,1,1,1,3,3,2, + 2,1,4,2,1,2,5,7,5,1, + 4,5,7,9,8,2,2,3,2,3, 1,1,1,1,1,1,1,1,1,1, - 2,1,0,4,2,2,2,2,2,1, - 0,1,1,1,1,1,1,2,1,2, - 2,2,1,2,2,1,2,2,1,2, - 2,1,2,2,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,3, - 4,4,5,4,5,4,1,5,6,1, - 3,1,0,1,3,1,1,1,1,1, - 1,1,1,6,6,5,1,7,6,1, - 0,6,5,6,4,1,3,1,0,1, - 2,1,3,1,1,1,1,3,9,2, - 2,3,2,3,1,5,1,2,2,1, - 0,1,1,1,3,1,2,1,1,2, - 3,1,1,1,3,1,2,2,9,8, - 2,1,3,1,3,1,0,1,0,2, - 1,1,3,1,3,2,1,5,8,1, - 2,3,1,5,4,3,1,3,1,1, - 5,4,4,5,5,1,0,1,0,1, - 1,1,2,4,2,2,1,5,1,1, - 1,1,2,1,0,1,3,1,2,3, - 2,1,2,2,1,0,1,3,3,6, - 1,0,1,1,1,1,0,2,2,1, - 2,2,1,0,1,3,4,3,1,1, - 5,2,1,1,3,3,1,1,1,1, + 1,1,1,1,2,1,0,4,2,2, + 2,2,2,1,0,1,1,1,1,1, + 1,2,1,2,2,2,1,2,2,1, + 2,2,1,2,2,1,2,2,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,3,4,4,5,4,5,4, + 1,5,6,1,3,1,0,1,3,1, + 1,1,1,1,1,1,1,6,6,5, + 1,7,6,1,0,6,5,6,4,1, + 3,1,0,1,2,1,3,1,1,1, + 1,3,9,2,2,3,2,3,1,5, + 1,2,2,1,0,1,1,1,3,1, + 2,1,1,2,3,1,1,1,3,1, + 2,2,9,8,2,1,3,1,3,1, + 0,1,0,2,1,1,3,1,3,2, + 1,5,8,1,2,3,1,5,4,3, + 1,3,1,1,5,4,4,5,5,1, + 0,1,0,1,1,1,2,4,2,2, + 1,5,1,1,1,1,1,2,1,0, + 1,3,1,2,3,2,1,2,2,1, + 0,1,3,3,6,1,0,1,1,1, + 1,0,2,2,1,2,2,1,0,1, + 3,4,3,1,1,5,2,1,1,3, + 3,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,2,2,7,1,0,1,3,1, - 1,2,4,2,4,7,9,5,1,1, - 3,1,0,1,1,1,2,4,4,1, - 2,5,5,3,3,1,4,3,1,0, - 1,3,1,1,-108,0,0,0,-304,0, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,2,2,7, + 1,0,1,3,1,1,2,4,2,4, + 7,9,5,1,1,3,1,0,1,1, + 1,2,4,4,1,2,5,5,3,3, + 1,4,3,1,0,1,3,1,1,-108, + 0,0,0,-304,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-11,0,0, - 0,0,0,0,0,0,0,0,-50,0, - 0,0,0,-2,0,0,-135,0,0,0, - -262,-53,0,0,0,0,-393,-80,0,0, + 0,0,-11,0,0,0,0,0,0,0, + 0,0,0,-50,0,0,0,0,-2,0, + 0,-135,0,0,0,-4,-123,0,0,0, + 0,0,-91,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-5,0,0,0,0, + 0,0,0,-61,0,0,0,0,-184,0, + 0,0,0,0,0,-22,0,0,0,-6, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -4,0,0,0,0,-476,0,-325,0,0, + 0,0,-175,-53,0,0,0,0,-138,0, 0,0,0,0,0,0,0,0,0,0, - -22,0,0,0,-5,0,0,0,0,0, + -62,0,0,0,0,0,0,0,-115,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-138,0,0,0,0,0,0, - 0,0,0,0,0,-62,0,0,0,0, - 0,0,0,-115,0,0,0,0,0,0, + 0,0,0,0,0,0,-7,0,0,-223, + 0,0,-367,0,0,0,0,-8,0,0, + -9,-237,-325,0,0,0,0,0,0,0, + 0,0,0,0,0,-131,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-6,0,0,-223,0,0,-367,0,0, - 0,0,-57,0,0,-7,0,-348,0,0, - 0,0,0,0,0,0,0,0,0,0, - -131,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-58,0, - 0,0,0,0,-199,0,0,0,0,0, - 0,0,-176,0,-193,0,0,0,-175,0, - 0,0,-77,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-227,0,0, - -221,0,0,0,0,0,0,0,0,0, + 0,0,0,-58,0,0,0,0,0,-199, + 0,0,0,0,0,0,0,-176,0,-193, + 0,0,0,0,0,0,0,-77,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-123,0,0,0,-51,0, - 0,0,0,-236,0,-184,0,0,0,0, - -336,0,0,0,-308,0,0,-506,0,0, - 0,-54,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -8,0,0,0,0,0,0,0,0,0, - 0,-127,0,0,0,0,0,0,0,-69, - 0,0,0,-337,0,0,0,0,0,0, - 0,0,0,-61,0,-350,0,0,0,0, - 0,0,0,0,0,0,0,-9,0,-516, + 0,0,-227,0,0,-221,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-166,0,0,0,0,-10,0,0, - -12,0,0,-257,0,0,0,-363,0,0, - 0,-228,0,-13,0,0,0,0,0,0, - 0,-182,0,0,0,0,-256,-3,0,0, + 0,0,0,0,0,0,0,0,0,-129, + 0,0,0,-51,-180,0,0,0,-236,0, + 0,0,-363,0,0,-336,0,0,0,-308, + 0,0,-506,0,0,0,-54,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-10,0,0,0,0, + 0,0,0,0,0,0,-127,0,0,0, + 0,0,0,0,-69,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -350,0,0,0,0,0,0,0,0,0, + 0,0,-12,0,-516,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-166,0,0, + 0,0,-13,0,0,0,0,0,-257,0, + 0,0,-364,0,0,0,-228,0,-15,0, + 0,0,0,0,0,0,-57,0,0,0, + 0,-256,-3,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-17, - 0,0,0,0,0,0,0,0,0,-70, - 0,0,0,0,0,0,0,0,0,0, - 0,-429,-282,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-15,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-129,-315,0,0,0,-59, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-169,0, - 0,0,0,0,0,0,-16,0,0,0, - 0,0,0,0,-134,0,0,-130,0,-316, - 0,0,0,-29,0,0,0,0,0,0, + 0,0,0,0,-17,0,0,0,-16,0, + 0,0,0,0,-70,0,0,0,0,0, + 0,0,0,0,0,0,-429,-282,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -132,0,0,0,0,0,0,0,0,0, - 0,-143,-468,0,0,0,-105,0,0,0, + -29,0,0,0,0,0,0,0,-337,0, + 0,-30,0,0,0,0,0,0,0,-130, + -315,0,0,0,-59,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-116,0,0,0,0, - 0,0,0,-414,0,0,0,0,0,0, - 0,0,0,0,-335,-208,-40,0,0,0, - -106,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-259,0,0,-30,0,0, - 0,0,0,0,0,0,0,0,0,0, - -42,0,0,0,-353,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-31,0, - 0,-114,0,0,0,0,0,0,0,0, - 0,0,-92,0,0,0,-32,0,0,0, + 0,0,0,-169,0,0,0,0,0,0, + 0,-31,0,0,0,0,0,0,0,-134, + 0,0,-132,0,-316,0,0,0,-32,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -311,0,0,-328,0,0,-33,0,0,0, - -392,0,0,0,-93,0,0,0,-34,0, + 0,0,0,0,0,-143,0,0,0,0, + 0,0,0,0,0,0,-208,-468,0,0, + 0,-105,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -116,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-335, + -311,-40,0,0,0,-106,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-259, + 0,0,-33,0,0,0,0,0,0,0, + 0,0,0,-262,0,-42,0,0,0,-353, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-298,0, - 0,0,0,0,0,0,-94,0,0,0, - -137,0,0,0,0,0,0,0,0,0, + 0,0,0,-34,0,0,-114,0,0,0, + 0,0,0,0,0,0,0,-92,0,0, + 0,-35,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-35,0,0,0,0,0, - -36,0,0,0,0,0,0,0,-95,0, - 0,0,-142,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-37,0,0,0,0,-340,0,0,-200, - 0,0,-38,0,0,0,0,-210,0,0, - -96,0,0,0,-167,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-39,0, - 0,0,0,0,-183,0,0,0,0,-41, - 0,0,-97,0,0,0,-55,0,0,0, + 0,0,0,0,0,-448,0,0,-328,0, + 0,-36,0,0,0,-392,0,0,0,-93, + 0,0,0,-37,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -56,0,0,0,0,0,-185,0,0,0, - 0,-235,0,0,-98,0,0,0,-63,0, + 0,0,0,-298,0,0,0,0,0,0, + 0,-94,0,0,0,-137,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-356,0,0, - 0,0,0,0,0,0,0,0,-187,0, - 0,0,0,-242,0,0,-99,0,0,0, - -64,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-427, + 0,0,0,0,0,0,0,0,0,-38, + 0,0,0,0,0,-39,0,0,0,0, + 0,0,0,-95,0,0,0,-142,0,0, 0,0,0,0,0,0,0,0,0,0, - -190,0,0,0,0,-249,0,0,-100,0, - 0,0,-65,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-41,0,0,0, + 0,-340,0,0,-200,0,0,-55,0,0, + 0,0,-210,0,0,-96,0,0,0,-167, 0,0,0,0,0,0,0,0,0,0, - 0,-333,0,0,0,0,-67,0,0,0, - 0,0,-198,0,0,0,0,-250,0,0, - -101,0,0,0,-68,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-453,0,0,0,0,0,0, - 0,0,0,0,-212,0,0,0,0,-251, - 0,0,-102,0,0,0,-109,0,0,0, + 0,0,0,-56,0,0,0,0,0,-182, + 0,0,0,0,0,0,0,-97,0,0, + 0,-63,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-64,0,0,0,0, + 0,-183,0,0,0,0,-235,0,0,-98, + 0,0,0,-65,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-356,0,0,0,0,0,0,0, + 0,0,0,-185,0,0,0,0,-242,0, + 0,-99,0,0,0,-67,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-427,0,0,0,0,0, + 0,0,0,0,0,-187,0,0,0,0, + -249,0,0,-100,0,0,0,-68,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-453,0,0,0, + 0,0,0,0,0,0,0,-190,0,0, + 0,0,-250,0,0,-101,0,0,0,-393, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-109,0, + 0,0,0,-110,0,0,0,0,0,-198, + 0,0,0,0,-251,0,0,-102,0,0, + 0,-111,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -113,0,0,0,0,-112,0,0,0,0, + 0,-212,0,0,0,0,-252,0,0,-164, + 0,0,0,-119,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-278,0,0,0,0,0,0,0, + 0,0,0,-225,0,0,0,0,-333,-206, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-163,0,0,0,0,0,0,0, + 0,0,0,-226,0,0,0,0,0,0, + 0,-348,0,0,0,-126,0,0,0,0, + 0,-144,-501,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -145,0,0,-291,0,0,0,0,0,0, + -232,0,0,0,-307,0,0,0,-146,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-147,0, + 0,0,-310,0,0,0,-148,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,-205,0,0,0,0, - -110,0,0,0,0,0,-225,0,0,0, - 0,-252,0,0,-164,0,0,0,-111,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-354,0,0, - 0,0,-113,0,0,0,0,0,-226,0, - 0,0,0,-112,-206,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-163,0,0, - 0,0,0,0,0,-119,0,0,-126,0, - 0,0,0,0,0,0,0,-364,0,-139, - 0,0,0,-285,-357,0,-144,-501,0,0, + -354,0,0,-229,0,0,-149,0,0,0, + -508,0,0,0,-150,0,0,0,0,0, + 0,0,-346,0,0,-233,0,-331,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-448,0,0,-145,0, - 0,0,0,0,0,-232,0,0,0,-307, - 0,0,0,-146,0,0,0,0,0,0, + -151,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-351,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-147,0,0,0,-310,0,0, + 0,0,0,-366,0,0,-414,0,0,-152, + 0,0,0,-141,0,0,0,-153,0,0, + 0,0,0,0,0,-467,-357,0,0,0, + -352,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-366,0,0,-229,0, - 0,-148,0,0,0,-508,0,0,0,0, - 0,0,0,0,0,0,0,-346,0,0, - -233,0,-331,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-400,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-149,0,0,0,0, - 0,0,0,-150,0,0,0,0,0,0, - -351,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-498,0, - 0,-499,0,0,0,0,0,0,-141,0, - 0,0,-151,0,0,0,0,0,0,0, - -467,-152,0,0,0,-352,0,0,0,0, + 0,-214,0,0,0,0,-136,0,0,-154, + 0,0,-155,0,0,0,-234,-230,0,0, + -241,0,0,0,-156,-139,0,0,0,-248, + -265,0,0,-104,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-400,0,0,0,0,0,0, + 0,-89,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-286,0,0,0, - 0,-153,0,0,-154,0,0,-155,0,0, - 0,-234,-230,0,0,-241,0,0,0,-156, - -338,0,0,0,-477,0,-247,0,-104,0, + 0,0,0,0,-289,0,0,0,0,0, + 0,0,-365,0,-90,0,0,0,-157,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-296,0,0, + 0,0,-158,0,0,-52,0,0,0,-159, + 0,0,0,0,0,0,-255,0,0,-268, + 0,0,0,-160,-338,0,0,0,0,-266, + -488,-397,-86,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-265,0,0,-180, - 0,0,-157,0,0,0,-91,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-374,0,0,-158,0,0, - -89,0,0,0,-159,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-266,0, - 0,-274,0,-90,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-160,0,0,0, - 0,0,0,0,-52,0,0,0,-207,0, - 0,0,-248,0,0,0,0,0,-214,-302, - 0,0,0,0,0,0,0,0,0,0, - 0,-86,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-161,0,0,0,0,0, - 0,0,-255,-365,-162,-398,0,-18,0,0, - -281,0,0,-268,0,0,0,0,0,0, - 0,0,0,0,0,-300,0,0,0,0, - -168,0,0,0,-296,0,-171,0,0,0, - 0,-291,0,0,0,0,0,0,0,0, - 0,0,0,0,-270,0,0,0,0,0, - 0,-172,0,0,0,0,0,0,-273,-317, - 0,0,0,0,-173,0,0,0,0,0, - 0,0,0,0,-174,-177,-402,0,0,0, 0,0,0,-87,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-88,0,0,0,0,0,0,0,0, + 0,-161,0,0,-476,0,-402,-162,0,0, + 0,-21,0,0,0,-168,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-319,0,0,0,0,-81, - 0,0,0,-275,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-171,-273, + -49,0,0,0,0,0,0,0,0,-292, + -172,0,0,0,0,-173,0,0,0,0, + 0,0,0,0,-88,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-178,0,0,0,-82,0,0,0, - -179,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-188, + 0,0,0,0,0,0,0,-319,0,0, + 0,0,-80,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-270,0,0,0,-81, + 0,0,0,-274,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-82,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-174, 0,0,0,-83,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-189,0,0,0, + 0,0,0,0,0,0,-177,0,0,0, -244,0,0,0,0,0,0,0,0,0, - 0,0,-84,0,0,0,-194,0,0,0, + 0,0,-84,0,0,0,-178,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,-306,0,0,-20,0, - 0,0,-293,0,0,0,0,0,0,0, + 0,0,-179,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-292,0,0,0,0,0,0, - -136,-383,0,0,0,-323,0,-355,0,0, - -195,0,0,-288,0,0,0,0,0,0, - 0,0,0,0,0,-201,-410,0,0,0, - 0,0,0,-85,0,0,0,0,0,0, + 0,0,0,-465,0,-477,0,0,0,0, + -288,0,0,0,0,0,0,0,0,0, + 0,0,0,-421,0,0,0,0,0,0, + 0,0,0,0,0,-410,-411,0,0,0, + 0,0,-188,-85,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-209,0,0,-121, - 0,0,0,0,0,0,-219,-220,-204,0, - 0,0,0,0,0,-451,-411,-222,-488,0, - 0,0,0,-438,-264,-240,-243,-118,0,0, - 0,-326,-245,-260,0,0,-435,-294,0,0, - 0,0,0,0,0,-334,0,0,-261,0, - 0,0,0,0,0,0,-359,-120,-320,0, + 0,0,0,0,0,0,-285,0,0,0, + 0,0,-231,-189,0,0,-451,0,0,0, + 0,-293,0,0,0,-383,0,0,0,-359, + 0,0,0,-295,-202,0,0,0,-44,0, + -133,-286,0,-281,0,0,-275,0,0,0, + 0,0,-374,-194,-471,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-471,0,-271,0,0,-443,-466, - 0,0,0,0,0,0,0,-342,0,0, - 0,0,0,-489,0,0,0,0,0,0, - 0,0,0,-272,0,0,0,0,-276,0, - 0,0,0,-279,0,-202,0,0,0,0, - 0,0,0,0,0,0,-280,0,-283,0, - 0,0,0,0,0,0,-385,0,0,0, - -439,-284,0,-473,0,0,0,0,-339,0, - 0,0,0,0,-297,0,-358,0,0,0, + 0,-195,-201,-209,-219,0,0,0,0,0, + -466,0,0,-207,0,-220,0,0,0,0, + 0,-222,0,-300,0,-294,0,0,0,0, + 0,0,0,0,-329,0,0,0,0,0, + 0,-19,0,0,0,0,0,-240,-204,0, + 0,0,-243,-71,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-317, + 0,0,0,0,-473,0,0,0,0,0, + 0,0,0,0,0,0,0,-320,0,-339, 0,0,0,0,0,0,0,0,0,0, - 0,0,-301,-128,0,0,0,-303,-313,0, - 0,0,0,-239,0,0,0,0,0,0, - 0,0,-324,0,0,0,0,0,-44,-330, - -237,-447,0,0,0,0,-360,-475,0,0, - 0,0,0,0,0,0,0,0,0,-45, - 0,0,-416,0,-332,0,0,0,0,0, - 0,0,0,0,0,0,-140,0,0,0, - 0,-397,0,-361,-107,-373,-433,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-246,0,0,-362,0,0,0,0, - 0,0,0,0,0,0,-368,0,0,0, - 0,0,-377,0,0,0,0,-417,-370,0, - 0,0,0,0,0,0,0,0,0,0, - -500,0,0,0,0,0,0,0,0,0, - 0,0,-450,0,-372,0,0,-75,0,0, + 0,0,0,-121,0,0,0,0,0,-493, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-378,-49,-380, - -461,0,0,0,0,-379,-388,0,0,0, - 0,0,-412,0,-391,-289,0,0,0,0, - 0,-418,0,0,0,0,0,-399,0,-457, - -401,0,-403,0,-322,0,0,0,0,0, - 0,0,0,0,0,0,0,-492,0,0, - 0,0,0,-76,0,0,0,0,0,0, + -245,-260,-489,-261,0,0,0,0,-475,0, + 0,0,0,-271,0,0,0,0,0,-272, + 0,0,0,0,0,0,-276,0,0,0, + 0,0,-443,0,0,0,0,-128,0,0, + 0,-385,0,0,0,-107,-323,-433,-279,0, + 0,0,0,0,0,-358,0,-280,0,0, + 0,0,0,-326,0,-334,-283,0,0,0, + 0,-284,0,0,0,0,-438,-297,0,0, + 0,0,0,-342,0,0,0,0,0,0, + -301,0,0,0,0,0,0,0,0,0, + 0,-500,0,0,0,0,0,0,0,0, + 0,0,0,-416,0,0,0,0,-75,0, + 0,0,-303,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-381,0,0,0, - 0,-263,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-404,-494,0,0, - 0,0,0,0,0,-465,0,-419,-71,0, - -405,0,0,-165,0,0,-407,0,0,-423, - 0,-290,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-408,-278,-413, - 0,0,0,0,0,-415,-513,0,0,0, - 0,0,0,0,0,-78,0,0,0,0, + 0,-417,0,0,0,0,0,0,-239,0, + 0,0,0,-312,0,0,0,0,-439,-447, + 0,0,0,-165,0,-313,0,0,0,0, + 0,-355,0,-360,-373,0,0,0,0,0, + -247,0,-324,0,0,-322,0,0,0,-330, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-79,0, + 0,0,0,-332,-76,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-381,0,0, + -462,0,0,-118,0,0,0,-382,0,-498, + 0,0,0,0,0,0,0,-377,-470,0, + 0,0,0,0,0,0,-380,-361,-484,-362, + 0,0,0,0,0,0,0,-412,-398,0, + 0,0,0,0,-492,0,-450,0,0,0, + 0,0,0,0,0,0,0,0,-14,-418, + 0,0,0,0,0,-368,0,0,0,0, + 0,0,0,0,0,0,0,0,-290,-419, + 0,0,0,0,0,0,0,-458,0,0, + 0,0,0,0,-370,-423,0,0,0,0, + 0,0,-238,0,0,0,0,0,-372,0, + 0,0,0,0,0,0,0,-78,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-238,0,-376,-493,0,-420,0,0,-422, - 0,0,0,0,0,-441,-458,0,0,0, - 0,0,-21,0,0,0,0,0,0,0, + -79,0,0,0,-378,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-424,-460,0,0,0,0, - 0,0,0,0,0,0,0,0,-389,-425, - 0,-445,0,-231,0,0,-382,0,0,0, - -117,0,-426,0,-170,0,0,0,0,0, - -343,0,0,0,0,0,0,0,0,0, - -428,-430,0,0,0,0,-452,-43,-1,-431, - 0,0,0,0,0,0,0,-436,0,0, - 0,0,0,-440,-449,-462,0,0,0,0, - 0,0,-456,0,0,0,0,0,0,-406, - -253,-295,0,0,0,0,0,0,0,-463, - 0,0,0,0,0,-482,0,0,0,0, - 0,-496,0,0,0,-347,-454,0,0,0, - 0,-464,-133,0,0,0,0,0,0,-254, - -432,-497,-502,0,0,0,0,0,0,0, + 0,0,0,-376,-441,0,-379,0,0,0, + 0,0,-388,0,0,-318,0,0,0,-391, + -120,-495,-23,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-445,-494,0,-399,0,0, + -269,0,-504,0,0,0,0,0,-389,-117, + 0,-452,0,-454,0,0,-460,0,0,0, + -480,0,0,0,0,-499,-45,0,0,0, + 0,0,-401,0,-464,0,0,0,0,0, + -403,0,0,0,0,0,0,-478,-507,0, + 0,-1,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-406,0,-404, + -512,0,-122,0,0,0,-479,-405,0,0, + 0,0,0,-48,0,0,0,0,0,0, + 0,0,0,0,0,0,-407,0,0,0, + 0,-490,0,0,0,0,0,-513,-432,0, + 0,-124,0,0,0,0,-408,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-413,-491,-415,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-444,0, + 0,-420,0,-422,0,-314,0,-424,0,0, + 0,0,0,0,-425,0,0,0,0,0, + -426,0,-457,-428,-46,-430,0,-431,0,0, + 0,0,0,0,0,0,0,-43,-211,-436, + -505,0,0,0,0,0,0,0,0,0, + 0,0,0,-446,0,0,0,0,-510,-345, + 0,0,0,0,0,0,-515,-440,0,-449, + 0,0,-456,0,0,0,0,-463,0,-482, + 0,0,0,0,0,-496,0,0,0,0, + 0,-497,0,0,-341,0,0,0,-502,0, + 0,0,0,0,0,0,0,0,-472,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -387,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-47,0,0, + 0,0,0,-197,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-481,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-181,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-483,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -444,0,0,0,0,-478,0,0,0,-479, - 0,0,0,0,0,0,0,-470,0,0, - 0,-484,0,0,-386,0,0,0,0,0, - -495,0,0,0,0,0,0,0,0,0, - -211,0,0,0,0,0,0,0,0,-504, - 0,0,0,0,0,-446,0,0,0,0, - 0,0,-314,0,-14,0,0,-480,0,0, - 0,0,-507,0,0,-46,0,0,0,0, - 0,-490,0,0,0,0,0,0,0,0, - 0,0,0,-375,-269,-321,-512,0,0,0, + 0,0,0,0,0,0,0,0,0,-487, 0,0,0,0,0,0,0,0,0,0, - -472,0,0,0,0,0,0,-122,0,0, - 0,0,0,0,0,0,-186,0,0,0, - -47,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-505, - 0,0,0,0,-510,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-491,0, - 0,-481,0,0,0,0,0,-515,0,0, + 0,0,0,0,0,-192,0,0,0,-267, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -509,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-483,-329,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-19,0, + 0,-253,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-514,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-203,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-487,0,0,0,0,0,0, + 0,0,-517,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-345,-509,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -48,0,0,0,0,-309,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-514,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-517,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-181,0,0,0,0,0,0,0, + 0,0,0,-409,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-23,0,0,0,0, + 0,-24,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-24,0,0, + 0,0,0,-25,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-25, + 0,0,0,0,0,-26,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-27,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-28, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-26,0,0,0,0,0,0,0,0, + 0,-60,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-27,0,0,0,0,0,0, + 0,0,0,-73,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-28,0,0,0,0, + 0,0,0,0,0,-74,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-60,0,0, + 0,0,0,0,0,0,0,-125,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-73, + 0,0,-299,0,0,0,0,0,0,0, + 0,0,0,0,-196,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-18,-254, + 0,0,0,0,0,-461,0,0,-395,0, + 0,0,0,0,-396,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-74,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-349,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-125,0,0,0,0,0,0, - -387,0,0,0,0,0,0,0,-299,0, 0,0,0,0,0,0,0,0,0,0, - -196,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-469,0,0,0, + 0,0,0,0,0,0,0,0,-302,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-409,0,0,0,0,0, - 0,0,0,0,-197,0,0,0,0,-124, + 0,0,0,-66,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-213,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -421,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-191,0,0, - 0,0,-349,0,0,0,0,0,0,0, - 0,0,0,0,-469,0,0,0,0,0, + 0,-459,0,0,0,0,0,0,0,0, + 0,0,0,-263,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-72,0,0, + 0,0,0,0,0,-390,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-224, + 0,0,0,0,0,0,-264,0,0,0, + 0,0,0,0,0,-140,0,0,0,0, + -309,-386,0,0,0,0,0,0,-103,0, + 0,0,0,0,0,0,0,-170,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-485,-384, - -72,0,0,0,0,0,-312,0,0,0, + 0,0,0,-434,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-186,0,0, + 0,0,0,0,0,0,-191,0,0,0, + 0,0,0,0,0,0,-287,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-267,0,0,0,0,0, - -192,0,0,0,0,0,-459,0,0,0, - 0,0,0,0,0,0,0,0,-390,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-103,0,-224,0,0,0, - 0,0,0,0,0,0,0,0,0,-287, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-395,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,-305,0,0, - 0,0,0,0,0,0,0,0,-215,0, - 0,0,0,0,-327,0,0,0,-318,0, - 0,0,-216,0,0,-217,0,0,0,0, - 0,-344,0,0,0,0,0,0,0,0, - 0,0,0,-218,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-369,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-371,0,0,0,0,0,0, - 0,-503,0,0,0,0,0,0,0,0, - -455,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-327,0,0,0,0, + 0,0,0,0,-344,0,0,0,0,0, + 0,0,0,0,0,-384,0,0,0,0, + 0,-369,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-474,0,0,0,-394,0,0,0, - 0,0,0,0,0,0,0,0,0,-203, - 0,0,0,-341,0,0,0,0,0,0, - 0,0,0,0,-213,0,0,0,0,0, - -258,0,0,0,0,0,0,0,0,0, - 0,0,-66,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-434,-437, - -396,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-371,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-455,0,0,0,0,0,0,0,0, + -474,0,0,0,0,0,0,0,-258,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-321,0,-347,-485,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-435,-246,0,-394, + 0,0,-343,0,0,-437,0,-375,-442,0, + -503,0,0,-511,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-215,0,0,0,0,0,0,0, + -216,0,0,0,0,0,0,0,0,-217, + 0,0,-218,0,0,0,0,0,0,0, + 0,0,0,-277,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-511,0,0,0,0,0, - -442,0,0,0,0,-277,0,0,0,0, 0,0,-486,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, @@ -518,8 +525,7 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0 + 0,0,0,0,0,0,0,0 }; }; public final static short baseCheck[] = BaseCheck.baseCheck; @@ -530,510 +536,517 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface BaseAction { public final static char baseAction[] = { 169,4,192,193,194,135,79,34,62,39, - 195,195,15,15,15,15,15,15,15,15, - 16,16,16,14,10,10,8,8,8,8, - 8,1,63,63,5,5,11,11,11,11, - 47,47,136,136,137,58,58,45,45,17, + 195,195,196,196,197,197,15,15,15,15, + 15,15,15,15,16,16,16,14,10,10, + 8,8,8,8,8,1,63,63,5,5, + 11,11,11,11,47,47,136,136,137,58, + 58,45,45,17,17,17,17,17,17,17, 17,17,17,17,17,17,17,17,17,17, - 17,17,17,17,17,17,17,17,17,138, - 138,138,18,18,18,18,18,18,18,18, - 18,18,18,18,18,19,19,173,170,170, - 171,171,174,140,140,175,175,172,172,141, - 139,139,20,20,21,22,22,22,24,24, - 24,24,25,25,25,26,26,26,27,27, - 27,27,27,29,29,29,30,30,32,32, - 33,33,35,35,36,36,37,37,41,41, - 40,40,40,40,40,40,40,40,40,40, - 40,40,40,38,38,28,142,142,102,102, - 106,106,97,196,196,71,71,71,71,71, - 71,71,71,71,72,72,72,73,73,55, - 55,176,176,74,74,74,117,117,75,75, - 75,75,76,76,76,76,76,77,82,82, - 82,82,82,82,82,51,51,51,51,51, - 108,108,109,109,50,23,23,23,23,23, - 46,46,93,93,93,93,93,148,148,143, - 143,143,143,144,144,144,145,145,145,146, - 146,146,147,147,147,94,94,94,94,94, - 95,95,95,87,12,13,13,13,13,13, - 13,13,13,13,13,13,80,80,80,121, - 121,121,121,121,119,119,119,88,120,120, - 150,150,149,149,123,123,124,43,43,42, - 86,86,89,89,91,92,90,44,53,48, - 151,151,54,52,85,85,178,178,177,177, - 152,152,81,81,67,67,67,59,59,60, - 68,68,69,69,64,64,64,103,103,105, - 104,104,57,57,61,61,56,56,49,107, - 107,107,98,98,98,99,100,100,100,101, - 101,110,110,110,112,112,111,111,197,197, - 96,96,180,180,180,180,180,126,65,65, - 154,179,179,127,127,127,127,181,181,31, - 31,118,128,128,128,128,198,198,113,113, - 122,122,122,156,157,157,157,157,157,157, - 157,157,184,184,182,182,183,183,158,158, - 158,158,159,185,115,114,114,186,186,160, - 160,130,130,129,129,129,199,199,9,187, - 187,188,161,153,153,162,162,163,164,164, - 6,6,7,166,166,166,166,166,166,166, + 17,17,17,138,138,138,18,18,18,18, + 18,18,18,18,18,18,18,18,18,19, + 19,173,170,170,171,171,174,140,140,175, + 175,172,172,141,139,139,20,20,21,22, + 22,22,24,24,24,24,25,25,25,26, + 26,26,27,27,27,27,27,29,29,29, + 30,30,32,32,33,33,35,35,36,36, + 37,37,41,41,40,40,40,40,40,40, + 40,40,40,40,40,40,40,38,38,28, + 142,142,102,102,106,106,97,198,198,71, + 71,71,71,71,71,71,71,71,72,72, + 72,73,73,55,55,176,176,74,74,74, + 117,117,75,75,75,75,76,76,76,76, + 76,77,80,80,80,80,80,80,80,51, + 51,51,51,51,108,108,109,109,50,23, + 23,23,23,23,46,46,93,93,93,93, + 93,148,148,143,143,143,143,144,144,144, + 145,145,145,146,146,146,147,147,147,94, + 94,94,94,94,95,95,95,87,12,13, + 13,13,13,13,13,13,13,13,13,13, + 81,81,81,121,121,121,121,121,119,119, + 119,88,120,120,150,150,149,149,123,123, + 124,43,43,42,86,86,89,89,91,92, + 90,44,53,48,151,151,54,52,85,85, + 178,178,177,177,152,152,82,82,67,67, + 67,59,59,60,68,68,69,69,64,64, + 64,103,103,105,104,104,57,57,61,61, + 56,56,49,107,107,107,98,98,98,99, + 100,100,100,101,101,110,110,110,112,112, + 111,111,199,199,96,96,180,180,180,180, + 180,126,65,65,154,179,179,127,127,127, + 127,181,181,31,31,118,128,128,128,128, + 200,200,113,113,122,122,122,156,157,157, + 157,157,157,157,157,157,157,184,184,182, + 182,183,183,158,158,158,158,159,185,115, + 114,114,186,186,160,160,130,130,129,129, + 129,201,201,9,187,187,188,161,153,153, + 162,162,163,164,164,6,6,7,166,166, 166,166,166,166,166,166,166,166,166,166, 166,166,166,166,166,166,166,166,166,166, 166,166,166,166,166,166,166,166,166,166, - 166,166,166,166,166,66,70,70,167,167, - 131,131,132,132,132,132,132,132,2,3, - 168,168,165,165,133,133,133,83,84,78, - 155,155,116,116,189,189,189,134,134,125, - 125,190,190,169,169,1385,1705,1687,984,2624, - 3375,27,1086,24,28,23,25,2421,254,22, - 20,49,1154,104,73,74,105,1268,145,1327, - 1309,1369,1357,3831,1441,1435,266,1483,1472,46, - 1519,1530,140,674,304,156,141,1375,26,29, - 984,1642,1380,27,1086,36,28,838,3212,26, - 29,984,224,3749,27,1086,24,28,23,25, - 971,254,22,20,49,1154,104,73,74,105, - 1268,476,1327,1309,2036,269,3050,289,1375,26, - 29,984,268,267,27,1086,2008,28,227,222, - 223,3212,1705,1687,984,64,3749,27,1086,24, - 28,23,25,971,254,22,20,49,1154,104, - 73,74,81,233,236,239,242,2750,287,3541, - 288,484,30,1856,1103,26,29,984,914,4640, - 27,1086,24,28,58,25,1579,625,3371,2778, - 2808,3628,4240,4174,2146,26,29,984,2335,3749, - 27,1086,24,28,2563,25,971,254,22,20, - 49,1154,104,73,74,105,1268,338,1327,1309, - 1369,1357,926,1441,1435,1602,1483,1472,3433,1519, - 1530,140,3177,46,504,141,157,731,1375,26, - 29,984,1399,2995,27,1086,2394,28,1399,567, - 505,2146,26,29,984,2335,3749,27,1086,24, - 28,2563,25,971,254,22,20,49,1154,104, - 73,74,105,1268,338,1327,1309,1369,1357,2788, - 1441,1435,997,1483,1472,1582,1519,1530,140,2951, - 180,504,141,2201,2758,2203,379,380,984,1962, - 2995,2757,984,3212,26,29,984,505,3749,27, - 1086,24,28,23,25,971,254,22,20,49, - 1154,104,73,74,105,1924,266,500,2871,324, - 330,2522,26,29,984,2335,3749,27,1086,24, - 28,2563,25,971,254,22,20,49,1154,104, - 73,74,105,1268,338,1327,1309,1369,1357,2476, - 1441,1435,2571,1483,1472,2627,1519,1530,140,920, - 4298,504,141,1216,3295,270,1871,1819,1777,984, - 2995,2823,268,267,500,2610,4488,505,2564,26, - 29,984,1572,3749,27,1086,24,28,23,25, - 971,254,22,20,49,1154,104,73,74,105, - 1268,673,1327,1309,1369,1357,2701,1441,1435,2571, - 1483,1472,145,1519,1530,140,483,4391,373,141, - 2690,26,29,984,3406,2987,27,1086,24,28, - 56,25,382,415,1651,442,890,26,29,984, - 376,4522,27,1086,24,28,334,25,1457,91, - 2636,26,29,984,501,3749,27,1086,24,28, - 23,25,971,254,22,20,49,1154,104,73, - 74,105,1268,2740,1327,1309,1369,1357,1459,1441, - 1435,1427,1483,1472,2872,1519,1530,140,2858,388, - 373,141,2297,274,1466,2167,315,317,281,2826, - 328,529,46,313,1874,377,705,1602,2960,26, - 29,984,374,3749,27,1086,24,28,23,25, - 971,254,22,20,49,1154,104,73,74,105, - 1268,418,1327,1309,1369,1357,2544,1441,1435,2859, - 1483,1472,347,1519,1530,140,381,429,156,141, - 1443,37,39,984,1598,2404,38,1086,60,3247, - 2802,26,29,984,997,2987,27,1086,24,28, - 55,25,3039,2960,26,29,984,378,3749,27, - 1086,24,28,23,25,971,254,22,20,49, - 1154,104,73,74,105,1268,1948,1327,1309,1369, - 1357,3098,1441,1435,3463,1483,1472,88,1519,1530, - 140,329,330,367,141,1380,2960,26,29,984, - 1572,3749,27,1086,24,28,23,25,971,254, - 22,20,49,1154,104,73,74,105,1268,145, - 1327,1309,1369,1357,4655,1441,1435,2192,1483,1472, - 625,1519,1530,140,21,46,367,141,1380,998, - 2960,26,29,984,2700,3749,27,1086,24,28, - 23,25,971,254,22,20,49,1154,104,73, - 74,105,1268,1480,1327,1309,1369,1357,511,1441, - 1435,1380,1483,1472,446,1519,1530,140,59,366, - 367,141,1380,2900,26,29,984,1572,3749,27, - 1086,24,28,23,25,971,254,22,20,49, - 1154,104,73,74,105,1268,1626,1327,1309,1369, - 1357,3913,1441,1435,3539,1483,1472,445,1519,1530, - 140,68,365,373,141,3443,1380,2480,26,29, - 984,1572,3749,27,1086,24,28,23,25,971, - 254,22,20,49,1154,104,73,74,105,1268, - 4201,1327,1309,1369,1357,1586,1441,1435,62,1483, - 1472,50,1519,1530,140,67,363,139,141,3316, - 327,2960,26,29,984,3443,3749,27,1086,24, - 28,23,25,971,254,22,20,49,1154,104, - 73,74,105,1268,396,1327,1309,1369,1357,234, - 1441,1435,1572,1483,1472,322,1519,1530,140,2230, - 371,157,141,2960,26,29,984,69,3749,27, - 1086,24,28,23,25,971,254,22,20,49, - 1154,104,73,74,105,1268,52,1327,1309,1369, - 1357,1380,1441,1435,1575,1483,1472,2770,1519,1530, - 140,2620,3373,152,141,2960,26,29,984,327, - 3749,27,1086,24,28,23,25,971,254,22, - 20,49,1154,104,73,74,105,1268,1808,1327, - 1309,1369,1357,394,1441,1435,433,1483,1472,145, - 1519,1530,140,3345,4505,151,141,2960,26,29, - 984,1572,3749,27,1086,24,28,23,25,971, - 254,22,20,49,1154,104,73,74,105,1268, - 95,1327,1309,1369,1357,1456,1441,1435,1986,1483, - 1472,320,1519,1530,140,84,433,150,141,2960, - 26,29,984,1572,3749,27,1086,24,28,23, - 25,971,254,22,20,49,1154,104,73,74, - 105,1268,1536,1327,1309,1369,1357,1380,1441,1435, - 1572,1483,1472,231,1519,1530,140,51,1572,149, - 141,2960,26,29,984,2812,3749,27,1086,24, - 28,23,25,971,254,22,20,49,1154,104, - 73,74,105,1268,87,1327,1309,1369,1357,403, - 1441,1435,345,1483,1472,46,1519,1530,140,4427, - 1378,148,141,2960,26,29,984,2634,3749,27, - 1086,24,28,23,25,971,254,22,20,49, - 1154,104,73,74,105,1268,96,1327,1309,1369, - 1357,2699,1441,1435,348,1483,1472,46,1519,1530, - 140,808,1572,147,141,2960,26,29,984,661, - 3749,27,1086,24,28,23,25,971,254,22, - 20,49,1154,104,73,74,105,1268,145,1327, - 1309,1369,1357,4574,1441,1435,2302,1483,1472,1223, - 1519,1530,140,1989,1572,146,141,2960,26,29, - 984,329,3749,27,1086,24,28,23,25,971, - 254,22,20,49,1154,104,73,74,105,1268, - 145,1327,1309,1369,1357,4591,1441,1435,2401,1483, - 1472,46,1519,1530,140,3364,1572,145,141,2960, - 26,29,984,747,3749,27,1086,24,28,23, - 25,971,254,22,20,49,1154,104,73,74, - 105,1268,3441,1327,1309,1369,1357,1453,1441,1435, - 66,1483,1472,46,1519,1530,140,854,1572,144, - 141,2960,26,29,984,1569,3749,27,1086,24, - 28,23,25,971,254,22,20,49,1154,104, - 73,74,105,1268,145,1327,1309,1369,1357,4623, - 1441,1435,65,1483,1472,46,1519,1530,140,3013, - 1572,143,141,2960,26,29,984,499,3749,27, - 1086,24,28,23,25,971,254,22,20,49, - 1154,104,73,74,105,1268,2714,1327,1309,1369, - 1357,585,1441,1435,64,1483,1472,46,1519,1530, - 140,2227,1572,142,141,3059,26,29,984,2697, - 3749,27,1086,24,28,23,25,971,254,22, - 20,49,1154,104,73,74,105,1268,3539,1327, - 1309,1369,1357,898,1441,1435,63,1483,1472,46, - 1519,2747,162,2299,2698,2960,26,29,984,567, - 3749,27,1086,24,28,23,25,971,254,22, - 20,49,1154,104,73,74,105,1268,1626,1327, - 1309,1369,1357,3913,1441,1435,1890,1483,1472,861, - 1519,1530,140,370,323,137,141,409,2858,388, - 1871,379,380,984,3445,3409,779,155,3098,26, - 29,984,1236,3749,27,1086,24,28,23,25, - 971,254,22,20,49,1154,104,73,74,105, - 1268,30,1327,1309,1369,1357,2613,1441,1435,241, - 1483,1472,327,1519,1530,140,2201,276,187,141, - 3212,26,29,984,406,3749,27,1086,24,28, - 23,25,971,254,22,20,49,1154,104,73, - 74,105,1268,320,1327,1309,1369,1357,773,1441, - 1435,2339,1483,1472,492,1519,2747,162,3212,26, - 29,984,368,3749,27,1086,24,28,23,25, - 971,254,22,20,49,1154,104,73,74,105, - 1268,3106,1327,1309,1369,1357,3539,1441,1435,2871, - 1483,1472,578,1519,2747,162,1239,26,29,984, - 350,4640,27,1086,24,28,23,25,3407,519, - 497,2297,272,3212,26,29,984,285,3749,27, - 1086,24,28,23,25,971,254,22,20,49, - 1154,104,73,74,105,1268,417,1327,1309,1369, - 1357,370,1441,1435,501,1483,1472,398,1519,2747, - 162,3212,26,29,984,1477,3749,27,1086,24, - 28,23,25,971,254,22,20,49,1154,104, - 73,74,105,1268,2459,1327,1309,1369,1357,3539, - 1441,1435,3539,1483,1472,311,1519,2747,162,1103, - 26,29,984,589,4640,27,1086,24,28,57, - 25,46,671,383,415,998,3212,26,29,984, - 411,3749,27,1086,24,28,23,25,971,254, - 22,20,49,1154,104,73,74,105,1268,3592, - 1327,1309,1369,1357,513,1441,1435,512,1483,1472, - 3100,1519,2747,162,3251,26,29,984,410,3749, - 27,1086,24,28,23,25,971,254,22,20, - 49,1154,104,73,74,105,1268,3292,1327,1309, - 1369,1357,752,1441,1435,836,1483,1472,1773,1519, - 2747,162,1962,46,271,984,2607,3605,2877,984, - 3329,1871,379,380,984,2858,388,2810,272,3212, - 26,29,984,413,3749,27,1086,24,28,23, - 25,971,254,22,20,49,1154,104,73,74, - 105,1268,419,1327,1309,1369,1357,2871,1441,1435, - 1491,1483,1472,3547,2395,3913,321,3212,26,29, - 984,3400,3749,27,1086,24,28,23,25,971, - 254,22,20,49,1154,104,73,74,105,1268, - 2684,1327,1309,1369,1357,3409,1441,1435,847,1483, - 2327,3212,26,29,984,1600,3749,27,1086,24, - 28,23,25,971,254,22,20,49,1154,104, - 73,74,105,1268,328,1327,1309,1369,1357,2871, - 1441,1435,2614,2268,3212,26,29,984,3472,3749, - 27,1086,24,28,23,25,971,254,22,20, - 49,1154,104,73,74,105,1268,1866,1327,1309, - 1369,1357,773,1441,2275,3290,379,380,984,1950, - 2924,385,415,2607,3913,271,984,229,254,2143, - 934,26,29,984,3734,4440,27,1086,24,28, - 334,25,3212,26,29,984,266,3749,27,1086, - 24,28,23,25,971,254,22,20,49,1154, - 104,73,74,105,1268,2746,1327,1309,1369,1357, - 349,2178,224,46,3407,575,1,3432,2011,519, - 525,46,998,328,1962,3573,275,984,346,2167, - 315,317,567,384,415,269,2747,312,1874,220, - 1235,1945,268,267,153,1579,153,1954,227,222, - 223,2809,1572,299,2477,178,1110,341,1495,963, - 344,86,3113,100,208,2872,205,197,206,207, - 209,167,1958,233,236,239,242,2750,179,1962, - 46,273,984,1856,3381,1959,2696,182,165,166, - 168,169,170,171,172,2189,2818,3407,3371,2778, - 2808,3628,4240,4174,3212,26,29,984,608,3749, - 27,1086,24,28,23,25,971,254,22,20, - 49,1154,104,73,74,105,1268,278,1327,1309, - 1369,2190,3212,26,29,984,177,3749,27,1086, - 24,28,23,25,971,254,22,20,49,1154, - 104,73,74,105,1268,3315,1327,1309,1369,2233, - 3212,26,29,984,2614,3749,27,1086,24,28, - 23,25,971,254,22,20,49,1154,104,73, - 74,105,1268,1362,1327,1309,2044,3212,26,29, - 984,1022,3749,27,1086,24,28,23,25,971, - 254,22,20,49,1154,104,73,74,105,1268, - 1291,1327,1309,2093,3212,26,29,984,567,3749, - 27,1086,24,28,23,25,971,254,22,20, - 49,1154,104,73,74,105,1268,2710,1327,1309, - 2102,1877,26,29,984,3116,4440,27,1086,24, - 28,334,25,3212,26,29,984,2433,3749,27, - 1086,24,28,23,25,971,254,22,20,49, - 1154,104,73,74,105,1268,2872,1327,2172,3173, - 26,29,984,1572,3749,27,1086,24,28,23, - 25,971,254,22,20,49,1154,83,73,74, - 2167,315,317,85,1962,100,2943,984,312,1874, - 346,2053,1871,379,380,984,46,54,70,439, - 3814,2882,2892,4557,1885,26,29,984,3606,4440, - 27,1086,24,28,334,25,2190,3407,279,339, - 1495,963,344,438,3212,26,29,984,2879,3749, - 27,1086,24,28,23,25,971,254,22,20, - 49,1154,104,73,74,105,1268,1426,1327,2175, - 2703,2590,1609,984,2866,3637,193,2205,2206,874, - 379,380,984,2167,315,317,3382,3407,317,3052, - 2335,312,1874,346,3407,2749,2606,2612,833,2335, - 4661,47,46,1040,3352,2809,3456,977,1572,220, - 266,525,287,48,288,1579,46,856,220,3373, - 1285,360,339,1495,963,344,192,3327,2677,1572, - 220,1488,4409,196,208,153,205,198,206,207, - 209,3182,53,399,2872,160,2804,40,2716,3409, - 3456,199,200,3113,2335,224,2799,3101,46,2776, - 1265,400,1875,318,2872,2799,268,267,210,201, - 202,203,204,220,1176,290,291,292,293,3296, - 432,3027,3039,1567,2618,224,1635,1663,380,984, - 567,235,222,223,3621,2824,4409,2626,208,3324, - 205,198,206,207,209,511,296,1871,379,380, - 984,3407,3428,3416,3472,199,200,47,2335,1572, - 2799,238,222,223,2784,3439,304,1572,287,48, - 288,44,210,201,202,203,204,220,420,290, - 291,292,293,2617,1862,1663,380,984,3437,2709, - 194,401,403,99,2203,379,380,984,3621,2844, - 4409,2996,208,2719,205,198,206,207,209,46, - 3426,1626,3407,2335,319,47,3913,46,3480,199, - 200,2265,2335,519,2799,266,287,48,288,1579, - 46,2637,338,1572,2335,3432,210,201,202,203, - 204,220,775,290,291,292,293,1874,1663,380, - 984,214,2834,338,1873,3578,46,1181,2995,1848, - 4181,525,3621,3148,4409,1747,208,437,205,198, - 206,207,209,846,71,3239,3450,2335,47,2995, - 338,268,267,199,200,153,1771,3440,2799,287, - 48,288,1579,46,1766,186,2621,4627,1870,2736, - 210,201,202,203,204,2759,4397,290,291,292, - 293,2194,26,29,984,3116,4440,27,1086,24, - 28,334,25,1572,346,2825,3621,3198,3212,26, - 29,984,517,3749,27,1086,24,28,23,25, - 971,254,22,20,49,1154,104,73,74,105, - 1268,92,1877,339,1495,963,344,3528,3549,1537, - 46,1730,337,998,2992,998,3554,2830,510,354, - 2167,315,317,46,3317,2848,1626,4271,312,1874, - 346,3913,46,2432,2777,2783,2829,158,3451,153, - 2948,3512,514,2863,2335,1590,26,29,984,160, - 4522,27,1086,24,28,334,25,1062,2872,339, - 1495,963,344,338,3212,26,29,984,515,3749, - 27,1086,24,28,23,25,971,254,22,20, - 49,1154,104,73,74,105,1268,87,1909,3578, - 327,525,1612,26,29,984,4189,4440,27,1086, - 24,28,334,25,2167,315,317,2940,2872,328, - 220,1312,313,1874,346,153,2834,3532,3541,1537, - 295,2947,3511,998,2631,2477,178,2951,3551,3135, - 46,395,2853,3113,2766,208,2335,205,197,206, - 207,209,167,341,1495,963,344,158,2954,1603, - 2956,2923,2416,317,3913,2621,3412,1087,181,165, - 166,168,169,170,171,172,3212,26,29,984, - 294,3749,27,1086,24,28,23,25,971,254, - 22,20,49,1154,104,73,74,105,1954,3212, - 26,29,984,346,3749,27,1086,24,28,23, - 25,971,254,22,20,49,1154,104,73,74, - 105,1992,2387,3239,3488,3050,289,3556,2335,375, - 3138,1453,339,1495,963,344,46,1572,355,3520, - 3206,1488,510,3212,26,29,984,220,3749,27, - 1086,24,28,23,25,971,254,22,20,49, - 1154,104,73,74,82,3557,1572,287,3583,288, - 4409,3692,208,2396,205,198,206,207,209,3374, - 3559,2769,46,2335,2604,2866,2830,1445,439,199, - 200,1454,4557,3558,2799,905,1663,380,984,94, - 3733,846,220,231,254,2335,485,201,202,203, - 204,1876,3040,290,291,292,293,46,1045,1966, - 3579,2894,525,998,2621,4409,47,208,3335,205, - 198,206,207,209,3560,3546,3407,287,48,288, - 1579,338,2349,3583,199,200,153,153,224,2799, - 173,1537,1602,775,525,998,1241,523,42,2716, - 3045,507,201,202,203,204,3596,2995,290,291, - 292,293,3603,220,1197,4349,2807,46,153,158, - 2335,2958,1572,1865,232,222,223,2335,2477,178, - 1537,259,3597,1359,998,525,3113,354,208,2621, - 205,197,206,207,209,167,338,280,2826,997, - 5048,2907,2777,2783,220,5048,3774,5048,158,153, - 5048,3408,165,166,168,169,170,171,172,2477, - 178,3562,765,2445,2854,2335,1572,3113,5048,208, - 1572,205,197,206,207,209,167,5048,3407,436, - 3027,3039,3407,2663,220,3555,326,330,5048,2335, - 5048,3407,174,165,166,168,169,170,171,172, - 2079,1512,491,5048,2082,2335,3913,4409,338,208, - 3407,205,198,206,207,209,3570,303,564,518, - 2335,4582,2788,1602,2621,2676,199,200,3595,2335, - 302,2799,3051,3407,2995,5048,46,488,490,220, - 2335,521,1572,305,201,202,203,204,338,4715, - 290,291,292,293,2807,2604,1512,3407,2335,338, - 2335,3913,4409,5048,208,327,205,198,206,207, - 209,3464,298,2994,849,2335,372,2621,2789,2621, - 997,199,200,5048,1693,2995,2799,1874,1663,380, - 984,46,1789,5048,220,2335,189,354,508,201, - 202,203,204,5048,2339,290,291,292,293,5048, - 1572,1614,2777,2783,338,1572,5048,4409,47,208, - 327,205,198,206,207,209,5048,2838,330,287, - 48,288,1579,5048,45,224,199,200,5048,46, - 2995,2799,345,868,3607,982,525,1824,1572,3856, - 491,5048,354,211,201,202,203,204,5048,3135, - 290,291,292,293,5048,220,1614,2777,2783,5048, - 153,241,222,223,5048,3038,5048,5048,280,2826, - 2477,178,3897,431,1626,489,490,525,3113,3913, - 208,442,205,197,206,207,209,167,5048,901, - 1663,380,984,5048,2656,2854,220,5048,5048,5048, - 5048,153,428,185,165,166,168,169,170,171, - 172,2477,178,5048,517,5048,5048,5048,525,3113, - 47,208,5048,205,197,206,207,209,167,5048, - 5048,287,48,288,1579,5048,666,220,327,5048, - 5048,5048,153,5048,3473,165,166,168,169,170, - 171,172,2477,178,1602,603,5048,5048,5048,525, - 3113,5048,208,5048,205,197,206,207,209,167, - 5048,1635,1663,380,984,5048,1537,926,220,5048, - 998,5048,5048,153,5048,188,165,166,168,169, - 170,171,172,2477,178,5048,689,5048,5048,5048, - 525,3113,47,208,158,205,197,206,207,209, - 167,997,5048,287,48,288,1579,5048,1813,220, - 5048,5048,5048,5048,153,5048,184,165,166,168, - 169,170,171,172,2477,178,5048,775,5048,5048, - 5048,525,3113,5048,208,5048,205,197,206,207, - 209,167,5048,1635,1663,380,984,5048,2957,330, - 220,5048,5048,5048,5048,153,5048,191,165,166, - 168,169,170,171,172,2477,178,5048,2899,5048, - 5048,5048,5048,3113,47,208,5048,205,197,206, - 207,209,167,5048,5048,287,48,288,1579,5048, - 2768,5048,5048,5048,5048,5048,5048,5048,190,165, - 166,168,169,170,171,172,3212,26,29,984, - 5048,3749,27,1086,24,28,23,25,971,254, - 22,20,49,1154,104,73,74,80,3212,26, - 29,984,5048,3749,27,1086,24,28,23,25, - 971,254,22,20,49,1154,104,73,74,79, - 3212,26,29,984,5048,3749,27,1086,24,28, - 23,25,971,254,22,20,49,1154,104,73, - 74,78,3212,26,29,984,5048,3749,27,1086, - 24,28,23,25,971,254,22,20,49,1154, - 104,73,74,77,3212,26,29,984,5048,3749, - 27,1086,24,28,23,25,971,254,22,20, - 49,1154,104,73,74,76,3212,26,29,984, - 5048,3749,27,1086,24,28,23,25,971,254, - 22,20,49,1154,104,73,74,75,3000,26, - 29,984,5048,3749,27,1086,24,28,23,25, - 971,254,22,20,49,1154,104,73,74,102, - 3212,26,29,984,5048,3749,27,1086,24,28, - 23,25,971,254,22,20,49,1154,104,73, - 74,107,3212,26,29,984,5048,3749,27,1086, - 24,28,23,25,971,254,22,20,49,1154, - 104,73,74,106,3348,379,380,984,5048,2924, - 5048,1602,5048,5048,5048,5048,230,254,5048,1035, - 2950,29,984,3734,4440,27,1086,24,28,334, - 25,3212,26,29,984,266,3749,27,1086,24, - 28,23,25,971,254,22,20,49,1154,104, - 73,74,103,5048,5048,1685,5048,5048,5048,998, - 5048,224,5048,5048,5048,46,5048,5048,997,2335, - 3538,5048,5048,5048,5048,5048,5048,5048,2167,315, - 317,5048,5048,153,269,5048,312,1874,338,5048, - 5048,268,267,2891,195,5048,5048,228,222,223, - 1682,3317,26,29,984,3734,4440,27,1086,24, - 28,334,25,5048,2995,3122,330,5048,5048,5048, - 5048,1572,234,237,240,243,2750,224,1862,1663, - 380,984,1856,1171,2950,29,984,3734,4440,27, - 1086,24,28,334,25,1619,26,29,984,3734, - 4440,27,1086,24,28,334,25,5048,5048,47, - 2167,315,317,244,222,223,5048,5048,312,1874, - 287,48,288,1579,5048,45,5048,406,2975,1775, - 1537,2056,1906,998,998,998,1916,2203,379,380, - 984,5048,2167,315,317,5048,5048,5048,5048,5048, - 312,1874,1354,5048,2167,315,317,153,158,153, - 5048,5048,312,1874,1682,2823,5048,160,266,1192, - 4488,1635,1663,380,984,5048,1906,934,26,29, - 984,3734,4440,27,1086,24,28,334,25,1307, - 26,29,984,4271,4440,27,1086,24,28,334, - 25,5048,47,306,5048,2101,5048,1528,5048,998, - 5048,2335,4661,287,48,288,1579,69,2011,5048, - 1862,1663,380,984,268,267,5048,5048,2952,3415, - 220,5048,2973,153,5048,3560,2167,315,317,5048, - 5048,407,2975,2385,312,1874,5048,307,2923,2416, - 317,47,46,3182,5048,399,2335,5048,3446,5048, - 5048,5048,287,48,288,1579,5048,2535,1862,1663, - 380,984,1265,400,5048,338,5048,2799,4509,2210, - 5048,5048,5048,998,5048,1874,1663,380,984,2203, - 379,380,984,2255,5048,529,2300,998,5048,47, - 998,2995,1862,1663,380,984,5048,153,495,5048, - 287,48,288,1579,2345,45,47,1656,998,5048, - 266,153,5048,5048,153,417,2191,287,48,288, - 1579,1698,45,47,1740,5048,2784,1862,1663,380, - 984,5048,153,718,287,48,288,1579,5048,2807, - 5048,2928,1782,5048,1862,1663,380,984,5048,5048, - 4509,5048,1820,401,402,5048,998,5048,47,335, - 5048,3043,1663,380,984,5048,268,267,5048,287, - 48,288,1579,5048,45,47,5048,5048,5048,974, - 153,2775,5048,5048,5048,2692,287,48,288,1579, - 160,45,47,3048,1663,380,984,3599,5048,5048, - 5048,2335,2887,287,48,288,1579,5048,45,5048, - 1635,1663,380,984,2203,379,380,984,5048,606, - 2621,5048,5048,5048,47,1635,1663,380,984,5048, - 5048,1635,1663,380,984,287,48,288,1579,5048, - 45,47,5048,1113,5048,266,5048,525,5048,5048, - 5048,3305,287,48,288,1579,47,666,3665,1249, - 1317,46,47,525,525,2335,338,287,48,288, - 1579,153,2197,287,48,288,1579,5048,2425,5048, - 5048,1110,338,338,338,1893,5048,153,153,998, - 5048,46,2995,491,70,2335,2390,186,186,1411, - 998,268,267,2435,5048,5048,5048,998,4397,4397, - 2995,5048,5048,153,338,5048,5048,493,5048,5048, - 5048,5048,5048,160,153,5048,5048,5048,488,490, - 5048,153,5048,5048,1351,5048,5048,5048,5048,5048, - 2995,3660,5048,5048,5048,5048,5048,522,5048,5048, - 5048,5048,5048,5048,5048,5048,5048,5048,5048,5048, - 5048,5048,5048,5048,3391,5048,5048,5048,5048,5048, - 5048,5048,5048,5048,5048,5048,3346,3462,5048,5048, - 5048,5048,5048,5048,5048,5048,5048,5048,5048,5048, - 5048,3698,5048,0,1137,35,0,154,524,0, - 440,713,0,31,499,0,1137,34,0,2567, - 123,0,1,430,0,1859,35,0,444,1105, - 0,443,1148,0,1145,89,0,31,297,0, - 379,289,0,29,380,0,26,379,0,1870, - 35,0,1,548,0,1,5313,0,1,5312, - 0,1,5311,0,1,5310,0,1,5309,0, - 1,5308,0,1,5307,0,1,5306,0,1, - 5305,0,1,5304,0,1,5303,0,1,1137, - 35,0,1,1040,0,1621,35,0,31,277, - 253,0,31,499,277,253,0,1621,46,0, - 41,5080,0,41,33,0,2567,125,0,2567, - 124,0,3099,229,0,23,506,0,5373,431, - 0,992,431,0,1,90,0,45,33,0, - 1,5082,0,1,35,0,1,5082,221,0, - 1,35,221,0,5079,33,0,5080,43,0, - 33,43,0,5547,32,0,5079,5,33,0, - 5057,397,0,1,1870,0,1,3575,0,1, - 2350,0,5373,93,0,992,93,0,2460,314, - 0,3431,273,0,1,978,0,1,1868,0, - 5079,35,0,487,3359,0,1,221,0,1, - 221,3131,0,5057,221,0,154,173,0,289, - 3457,0,221,161,0,183,3815,0 + 166,166,166,166,166,166,166,166,166,166, + 66,70,70,167,167,131,131,132,132,132, + 132,132,132,2,3,168,168,165,165,133, + 133,133,83,84,78,155,155,116,116,189, + 189,189,134,134,125,125,190,190,169,169, + 1355,1668,1626,973,2693,4448,31,989,28,32, + 27,29,2406,258,26,24,53,1091,108,77, + 78,109,1102,1544,1159,1142,1314,1273,3434,1362, + 1332,270,1440,1374,48,1446,1477,144,679,762, + 160,145,1675,30,33,973,1036,1572,31,989, + 40,32,4507,3293,30,33,973,228,2822,31, + 989,28,32,27,29,943,258,26,24,53, + 1091,108,77,78,109,1102,877,1159,1142,1314, + 1273,273,1362,1332,674,1440,2324,272,271,1749, + 1864,1824,973,231,226,227,3293,1668,1626,973, + 71,2822,31,989,28,32,27,29,943,258, + 26,24,53,1091,108,77,78,85,237,240, + 243,246,2884,2218,1422,2785,973,34,1794,1716, + 30,33,973,1099,3848,31,989,28,32,62, + 29,1618,606,3360,3144,3321,3423,3462,4128,2266, + 30,33,973,2306,2822,31,989,28,32,2607, + 29,943,258,26,24,53,1091,108,77,78, + 109,1102,342,1159,1142,1314,1273,586,1362,1332, + 1426,1440,1374,1402,1446,1477,144,3138,758,509, + 145,1035,239,1675,30,33,973,3684,2956,31, + 989,2013,32,489,572,510,2266,30,33,973, + 2306,2822,31,989,28,32,2607,29,943,258, + 26,24,53,1091,108,77,78,109,1102,342, + 1159,1142,1314,1273,2869,1362,1332,1002,1440,1374, + 2308,1446,1477,144,722,184,509,145,2330,2796, + 2420,383,384,973,2751,2956,1813,92,3293,30, + 33,973,510,2822,31,989,28,32,27,29, + 943,258,26,24,53,1091,108,77,78,109, + 1929,270,505,2877,328,334,2603,30,33,973, + 2306,2822,31,989,28,32,2607,29,943,258, + 26,24,53,1091,108,77,78,109,1102,342, + 1159,1142,1314,1273,2587,1362,1332,2633,1440,1374, + 1422,1446,1477,144,1545,2077,509,145,1221,2833, + 3684,274,96,2600,392,2956,3474,272,271,505, + 2555,4568,510,2645,30,33,973,1497,2822,31, + 989,28,32,27,29,943,258,26,24,53, + 1091,108,77,78,109,1102,1098,1159,1142,1314, + 1273,2782,1362,1332,2633,1440,1374,1544,1446,1477, + 144,488,3766,377,145,2771,30,33,973,332, + 4426,31,989,28,32,60,29,386,420,451, + 447,890,30,33,973,380,4585,31,989,28, + 32,338,29,151,95,2717,30,33,973,506, + 2822,31,989,28,32,27,29,943,258,26, + 24,53,1091,108,77,78,109,1102,2010,1159, + 1142,1314,1273,1161,1362,1332,3285,1440,1374,590, + 1446,1477,144,2600,392,377,145,3382,278,1224, + 2752,319,321,285,2924,332,534,48,317,2717, + 381,736,1426,3041,30,33,973,378,2822,31, + 989,28,32,27,29,943,258,26,24,53, + 1091,108,77,78,109,1102,423,1159,1142,1314, + 1273,2757,1362,1332,2937,1440,1374,351,1446,1477, + 144,385,434,160,145,899,41,43,973,1287, + 2320,42,989,64,3458,2883,30,33,973,1002, + 4426,31,989,28,32,59,29,3122,3041,30, + 33,973,382,2822,31,989,28,32,27,29, + 943,258,26,24,53,1091,108,77,78,109, + 1102,3514,1159,1142,1314,1273,3307,1362,1332,1847, + 1440,1374,409,1446,1477,144,333,334,371,145, + 1422,3041,30,33,973,1497,2822,31,989,28, + 32,27,29,943,258,26,24,53,1091,108, + 77,78,109,1102,1544,1159,1142,1314,1273,4303, + 1362,1332,1674,1440,1374,606,1446,1477,144,25, + 48,371,145,1422,1003,3041,30,33,973,69, + 2822,31,989,28,32,27,29,943,258,26, + 24,53,1091,108,77,78,109,1102,1485,1159, + 1142,1314,1273,516,1362,1332,1422,1440,1374,450, + 1446,1477,144,63,370,371,145,1422,2981,30, + 33,973,1497,2822,31,989,28,32,27,29, + 943,258,26,24,53,1091,108,77,78,109, + 1102,239,1159,1142,1314,1273,3684,1362,1332,1603, + 1440,1374,4155,1446,1477,144,72,369,377,145, + 3518,1422,1759,30,33,973,1497,2822,31,989, + 28,32,27,29,943,258,26,24,53,1091, + 108,77,78,109,1102,54,1159,1142,1314,1273, + 3481,1362,1332,1553,1440,1374,326,1446,1477,144, + 71,367,143,145,237,331,3041,30,33,973, + 3518,2822,31,989,28,32,27,29,943,258, + 26,24,53,1091,108,77,78,109,1102,400, + 1159,1142,1314,1273,70,1362,1332,1497,1440,1374, + 99,1446,1477,144,855,375,161,145,3041,30, + 33,973,411,2822,31,989,28,32,27,29, + 943,258,26,24,53,1091,108,77,78,109, + 1102,56,1159,1142,1314,1273,65,1362,1332,2829, + 1440,1374,848,1446,1477,144,2701,3521,156,145, + 3041,30,33,973,145,2822,31,989,28,32, + 27,29,943,258,26,24,53,1091,108,77, + 78,109,1102,1991,1159,1142,1314,1273,398,1362, + 1332,438,1440,1374,1544,1446,1477,144,3508,4576, + 155,145,3041,30,33,973,1497,2822,31,989, + 28,32,27,29,943,258,26,24,53,1091, + 108,77,78,109,1102,1404,1159,1142,1314,1273, + 220,1362,1332,2084,1440,1374,403,1446,1477,144, + 88,438,154,145,3041,30,33,973,1497,2822, + 31,989,28,32,27,29,943,258,26,24, + 53,1091,108,77,78,109,1102,2813,1159,1142, + 1314,1273,1422,1362,1332,1497,1440,1374,1413,1446, + 1477,144,55,1497,153,145,3041,30,33,973, + 1419,2822,31,989,28,32,27,29,943,258, + 26,24,53,1091,108,77,78,109,1102,91, + 1159,1142,1314,1273,1558,1362,1332,349,1440,1374, + 48,1446,1477,144,710,315,152,145,3041,30, + 33,973,2697,2822,31,989,28,32,27,29, + 943,258,26,24,53,1091,108,77,78,109, + 1102,100,1159,1142,1314,1273,328,1362,1332,352, + 1440,1374,48,1446,1477,144,4410,1497,151,145, + 3041,30,33,973,2703,2822,31,989,28,32, + 27,29,943,258,26,24,53,1091,108,77, + 78,109,1102,1544,1159,1142,1314,1273,4635,1362, + 1332,2514,1440,1374,48,1446,1477,144,813,1497, + 150,145,3041,30,33,973,1418,2822,31,989, + 28,32,27,29,943,258,26,24,53,1091, + 108,77,78,109,1102,1544,1159,1142,1314,1273, + 4652,1362,1332,2754,1440,1374,2789,1446,1477,144, + 1994,1497,149,145,3041,30,33,973,1491,2822, + 31,989,28,32,27,29,943,258,26,24, + 53,1091,108,77,78,109,1102,1544,1159,1142, + 1314,1273,4661,1362,1332,70,1440,1374,48,1446, + 1477,144,2723,1497,148,145,3041,30,33,973, + 3470,2822,31,989,28,32,27,29,943,258, + 26,24,53,1091,108,77,78,109,1102,2713, + 1159,1142,1314,1273,2785,1362,1332,69,1440,1374, + 48,1446,1477,144,859,1497,147,145,3041,30, + 33,973,2870,2822,31,989,28,32,27,29, + 943,258,26,24,53,1091,108,77,78,109, + 1102,1696,1159,1142,1314,1273,2963,1362,1332,68, + 1440,1374,48,1446,1477,144,4718,1497,146,145, + 3140,30,33,973,839,2822,31,989,28,32, + 27,29,943,258,26,24,53,1091,108,77, + 78,109,1102,2316,1159,1142,1314,1273,3684,1362, + 1332,67,1440,1374,48,1446,2784,166,2201,3531, + 3041,30,33,973,653,2822,31,989,28,32, + 27,29,943,258,26,24,53,1091,108,77, + 78,109,1102,239,1159,1142,1314,1273,3684,1362, + 1332,1404,1440,1374,48,1446,1477,144,2330,327, + 141,145,1675,30,33,973,861,1813,31,989, + 2273,32,325,3179,30,33,973,1197,2822,31, + 989,28,32,27,29,943,258,26,24,53, + 1091,108,77,78,109,1102,778,1159,1142,1314, + 1273,327,1362,1332,1497,1440,1374,331,1446,1477, + 144,2330,280,191,145,3293,30,33,973,495, + 2822,31,989,28,32,27,29,943,258,26, + 24,53,1091,108,77,78,109,1102,2957,1159, + 1142,1314,1273,98,1362,1332,2794,1440,1374,581, + 1446,2784,166,3293,30,33,973,667,2822,31, + 989,28,32,27,29,943,258,26,24,53, + 1091,108,77,78,109,1102,2907,1159,1142,1314, + 1273,1024,1362,1332,2877,1440,1374,413,1446,2784, + 166,2061,30,33,973,501,3848,31,989,28, + 32,27,29,3515,414,502,3382,276,3293,30, + 33,973,289,2822,31,989,28,32,27,29, + 943,258,26,24,53,1091,108,77,78,109, + 1102,585,1159,1142,1314,1273,374,1362,1332,572, + 1440,1374,402,1446,2784,166,3293,30,33,973, + 1482,2822,31,989,28,32,27,29,943,258, + 26,24,53,1091,108,77,78,109,1102,2430, + 1159,1142,1314,1273,1024,1362,1332,1024,1440,1374, + 673,1446,2784,166,1716,30,33,973,1744,3848, + 31,989,28,32,61,29,48,3517,387,420, + 1003,3293,30,33,973,416,2822,31,989,28, + 32,27,29,943,258,26,24,53,1091,108, + 77,78,109,1102,3452,1159,1142,1314,1273,374, + 1362,1332,3305,1440,1374,372,1446,2784,166,3332, + 30,33,973,415,2822,31,989,28,32,27, + 29,943,258,26,24,53,1091,108,77,78, + 109,1102,2328,1159,1142,1314,1273,2263,1362,1332, + 1985,1440,1374,1399,1446,2784,166,2218,48,275, + 973,2510,3351,2968,973,2699,1749,383,384,973, + 2510,2877,275,973,3293,30,33,973,418,2822, + 31,989,28,32,27,29,943,258,26,24, + 53,1091,108,77,78,109,1102,34,1159,1142, + 1314,1273,354,1362,1332,572,1440,1374,3167,2398, + 2745,524,3293,30,33,973,3528,2822,31,989, + 28,32,27,29,943,258,26,24,53,1091, + 108,77,78,109,1102,239,1159,1142,1314,1273, + 3684,1362,1332,3515,2303,3293,30,33,973,3380, + 2822,31,989,28,32,27,29,943,258,26, + 24,53,1091,108,77,78,109,1102,1618,1159, + 1142,1314,1273,478,1362,2310,3371,383,384,973, + 1424,2948,303,44,2783,389,420,48,233,258, + 2218,2744,279,973,231,1749,383,384,973,331, + 2877,3125,3120,3293,30,33,973,270,2822,31, + 989,28,32,27,29,943,258,26,24,53, + 1091,108,77,78,109,1102,424,1159,1142,1314, + 1273,723,2183,228,3293,30,33,973,3096,2822, + 31,989,28,32,27,29,943,258,26,24, + 53,1091,108,77,78,109,1102,273,1159,1142, + 1314,2195,1990,272,271,3135,293,3515,2075,231, + 226,227,3293,30,33,973,2081,2822,31,989, + 28,32,27,29,943,258,26,24,53,1091, + 108,77,78,86,237,240,243,246,2884,2312, + 2218,874,277,973,1794,1003,181,291,3322,292, + 2218,2685,3093,973,388,420,2705,516,515,3360, + 3144,3321,3423,3462,4128,3293,30,33,973,162, + 2822,31,989,28,32,27,29,943,258,26, + 24,53,1091,108,77,78,109,1102,3529,1159, + 1142,1314,2279,3293,30,33,973,1067,2822,31, + 989,28,32,27,29,943,258,26,24,53, + 1091,108,77,78,109,1102,590,1159,1142,1997, + 3293,30,33,973,2929,2822,31,989,28,32, + 27,29,943,258,26,24,53,1091,108,77, + 78,109,1102,1317,1159,1142,2005,3293,30,33, + 973,572,2822,31,989,28,32,27,29,943, + 258,26,24,53,1091,108,77,78,109,1102, + 2708,1159,1142,2041,3293,30,33,973,282,2822, + 31,989,28,32,27,29,943,258,26,24, + 53,1091,108,77,78,109,1102,3375,1159,1142, + 2090,1997,30,33,973,2265,4517,31,989,28, + 32,338,29,3293,30,33,973,2822,2822,31, + 989,28,32,27,29,943,258,26,24,53, + 1091,108,77,78,109,1102,590,1159,2098,3254, + 30,33,973,2715,2822,31,989,28,32,27, + 29,943,258,26,24,53,1091,87,77,78, + 2752,319,321,90,3120,104,2600,392,316,2717, + 350,2005,30,33,973,4684,4517,31,989,28, + 32,338,29,2982,1709,30,33,973,2815,4517, + 31,989,28,32,338,29,3515,3515,283,343, + 1500,968,348,2793,3293,30,33,973,2977,2822, + 31,989,28,32,27,29,943,258,26,24, + 53,1091,108,77,78,109,1102,3410,1159,2180, + 2752,319,321,2465,869,197,196,3497,316,2717, + 350,2306,1497,2752,319,321,1749,383,384,973, + 3527,316,2717,2868,1426,1457,1584,384,973,48, + 224,1721,2318,2306,48,2306,1356,2929,3506,343, + 1500,968,348,3517,3415,590,58,443,1493,3592, + 515,364,342,4386,342,212,51,209,202,210, + 211,213,3407,2814,1442,2709,324,291,52,292, + 48,3506,203,204,1478,2306,2912,2914,2956,3684, + 770,1002,155,572,1276,1729,1497,214,1240,2331, + 205,206,207,208,224,239,294,295,296,297, + 3684,325,901,1584,384,973,310,300,2816,843, + 383,384,973,2928,874,3609,2765,4386,1003,212, + 57,209,202,210,211,213,284,2924,330,334, + 48,3070,3570,51,4723,3589,203,204,332,2306, + 270,2914,162,350,291,52,292,1542,1497,671, + 1497,214,2506,2930,205,206,207,208,224,331, + 294,295,296,297,1452,2693,1656,973,353,4498, + 3135,293,345,1500,968,348,89,524,104,3609, + 2913,4386,322,212,103,209,202,210,211,213, + 2828,3377,2952,590,3418,51,272,271,931,3663, + 203,204,1740,2306,1682,2914,291,52,292,1542, + 3466,619,291,3399,292,214,1458,3378,205,206, + 207,208,224,3517,294,295,296,297,1647,1584, + 384,973,1749,383,384,973,2712,48,1166,753, + 1853,3560,530,3609,3185,4386,1497,212,2824,209, + 202,210,211,213,48,308,48,3395,4686,51, + 1290,342,3467,425,203,204,157,3515,1492,2914, + 291,52,292,1542,48,2764,190,1614,2107,214, + 3085,2944,205,206,207,208,780,4352,294,295, + 296,297,2070,30,33,973,2265,4517,31,989, + 28,32,338,29,1497,350,200,3609,3346,3293, + 30,33,973,3493,2822,31,989,28,32,27, + 29,943,258,26,24,53,1091,108,77,78, + 109,1102,1646,1882,343,1500,968,348,442,2420, + 383,384,973,341,2420,383,384,973,323,3515, + 3515,2752,319,321,1396,3228,841,524,3539,316, + 2717,350,2324,444,48,48,522,4602,2763,3631, + 270,3520,276,2948,519,270,1636,30,33,973, + 2953,4585,31,989,28,32,338,29,198,218, + 343,1500,968,348,3505,3293,30,33,973,520, + 2822,31,989,28,32,27,29,943,258,26, + 24,53,1091,108,77,78,109,1102,87,1911, + 75,3515,530,350,833,73,272,271,2695,444, + 1024,272,271,4602,2440,2752,319,321,48,3515, + 332,224,4720,317,2717,350,157,48,2875,3515, + 3376,2332,343,1500,968,348,2397,182,48,1, + 4687,1493,2674,530,3178,590,212,1497,209,201, + 210,211,213,171,345,1500,968,348,307,2757, + 48,228,224,2306,2943,518,3533,157,4731,185, + 169,170,172,173,174,175,176,2397,182,2934, + 1087,3159,342,2306,3499,3178,778,212,1497,209, + 201,210,211,213,171,2949,48,239,226,227, + 2727,183,2591,3411,437,3206,3235,299,854,3024, + 186,169,170,172,173,174,175,176,3293,30, + 33,973,3668,2822,31,989,28,32,27,29, + 943,258,26,24,53,1091,108,77,78,109, + 1959,3293,30,33,973,3537,2822,31,989,28, + 32,27,29,943,258,26,24,53,1091,108, + 77,78,109,1967,3672,48,2745,3538,2306,2654, + 441,3206,3235,1671,3179,359,2420,383,384,973, + 3031,1395,3515,3293,30,33,973,224,2822,31, + 989,28,32,27,29,943,258,26,24,53, + 1091,108,77,78,84,48,590,270,3542,2791, + 4386,2465,212,3515,209,202,210,211,213,3396, + 2786,306,48,2306,48,447,2855,1497,2919,203, + 204,3554,235,258,2914,3012,1024,48,228,46, + 2783,2306,224,3546,490,1497,433,205,206,207, + 208,3032,4734,294,295,296,297,339,1497,3515, + 342,3709,2086,272,271,4386,1003,212,298,209, + 202,210,211,213,242,226,227,228,173,3750, + 3035,3515,530,1414,203,204,2956,1497,3036,2914, + 157,517,3150,1734,1457,1584,384,973,302,512, + 528,224,205,206,207,208,157,3121,294,295, + 296,297,1497,236,226,227,2397,182,1988,259, + 193,3376,2850,530,3178,51,212,2794,209,201, + 210,211,213,171,284,2924,291,52,292,1542, + 228,1771,224,2939,48,3522,376,157,873,3540, + 169,170,172,173,174,175,176,2397,182,3746, + 2626,2930,3543,2306,3219,3178,1426,212,1213,209, + 201,210,211,213,171,3545,245,226,227,228, + 379,1937,224,3039,2962,48,3124,2306,3547,2306, + 178,169,170,172,173,174,175,176,1040,1986, + 489,1497,530,2306,3684,4386,342,212,342,209, + 202,210,211,213,3755,248,226,227,2306,1497, + 1426,342,2591,1002,203,204,157,1497,3550,2914, + 3552,569,3371,3373,2956,3421,1246,224,3129,309, + 3555,1752,205,206,207,208,3523,2956,294,295, + 296,297,3559,3832,1202,2420,383,384,973,3130, + 4386,3873,212,331,209,202,210,211,213,3580, + 2994,334,5114,2306,5114,5114,5114,1002,5114,203, + 204,5114,5114,5114,2914,5114,270,5114,5114,5114, + 5114,1426,224,5114,513,358,5114,205,206,207, + 208,5114,2794,294,295,296,297,5114,48,1619, + 2833,2911,2306,5114,48,4386,5114,212,2306,209, + 202,210,211,213,3084,334,5114,5114,345,5114, + 5114,342,530,5114,203,204,74,342,5114,2914, + 5114,5114,272,271,1457,1584,384,973,1002,215, + 5114,224,205,206,207,208,157,2956,294,295, + 296,297,5114,2956,1776,5114,2397,182,5114,431, + 1577,5114,3427,530,3178,51,212,5114,209,201, + 210,211,213,171,5114,5114,291,52,292,1542, + 5114,2802,224,5114,5114,3200,334,157,5114,189, + 169,170,172,173,174,175,176,2397,182,5114, + 517,5114,5114,5114,530,3178,5114,212,5114,209, + 201,210,211,213,171,5114,1457,1584,384,973, + 3474,5114,5114,224,5114,4568,5114,5114,157,5114, + 3599,169,170,172,173,174,175,176,2397,182, + 5114,603,5114,5114,5114,530,3178,51,212,5114, + 209,201,210,211,213,171,5114,5114,291,52, + 292,1542,874,2016,224,5114,1003,5114,5114,157, + 5114,192,169,170,172,173,174,175,176,2397, + 182,5114,689,5114,5114,5114,530,3178,5114,212, + 162,209,201,210,211,213,171,5114,1457,1584, + 384,973,5114,5114,5114,224,5114,5114,5114,5114, + 157,5114,188,169,170,172,173,174,175,176, + 2397,182,5114,775,5114,5114,5114,530,3178,51, + 212,5114,209,201,210,211,213,171,5114,5114, + 291,52,292,1542,1805,671,224,5114,1003,5114, + 534,157,5114,195,169,170,172,173,174,175, + 176,2397,182,5114,2732,5114,5114,5114,5114,3178, + 5114,212,157,209,201,210,211,213,171,5114, + 422,5114,3069,199,5114,5114,5114,5114,5114,5114, + 5114,5114,5114,5114,194,169,170,172,173,174, + 175,176,3293,30,33,973,3033,2822,31,989, + 28,32,27,29,943,258,26,24,53,1091, + 108,77,78,83,3293,30,33,973,5114,2822, + 31,989,28,32,27,29,943,258,26,24, + 53,1091,108,77,78,82,3293,30,33,973, + 5114,2822,31,989,28,32,27,29,943,258, + 26,24,53,1091,108,77,78,81,3293,30, + 33,973,5114,2822,31,989,28,32,27,29, + 943,258,26,24,53,1091,108,77,78,80, + 3293,30,33,973,5114,2822,31,989,28,32, + 27,29,943,258,26,24,53,1091,108,77, + 78,79,3081,30,33,973,5114,2822,31,989, + 28,32,27,29,943,258,26,24,53,1091, + 108,77,78,106,3293,30,33,973,5114,2822, + 31,989,28,32,27,29,943,258,26,24, + 53,1091,108,77,78,111,3293,30,33,973, + 5114,2822,31,989,28,32,27,29,943,258, + 26,24,53,1091,108,77,78,110,3434,383, + 384,973,5114,2948,5114,5114,5114,5114,5114,5114, + 234,258,5114,1564,3100,33,973,2815,4517,31, + 989,28,32,338,29,3293,30,33,973,270, + 2822,31,989,28,32,27,29,943,258,26, + 24,53,1091,108,77,78,107,5114,5114,2131, + 874,5114,5114,1003,1003,228,1850,5114,5114,48, + 1003,5114,5114,2306,5114,48,5114,5114,5114,2306, + 5114,5114,2752,319,321,5114,5114,157,162,273, + 316,2717,342,5114,157,272,271,1115,342,5114, + 5114,232,226,227,164,1829,2688,3100,33,973, + 2815,4517,31,989,28,32,338,29,2956,5114, + 5114,5114,5114,5114,2956,500,238,241,244,247, + 2884,498,5114,5114,5114,5114,1794,1537,30,33, + 973,2815,4517,31,989,28,32,338,29,920, + 30,33,973,2815,4517,31,989,28,32,338, + 29,5114,2806,5114,1103,2752,319,321,530,5114, + 5114,5114,3169,316,2717,5114,5114,5114,5114,5114, + 5114,411,3114,1457,1584,384,973,342,1829,5114, + 5114,5114,157,5114,5114,5114,2752,319,321,5114, + 5114,5114,1115,5114,316,2717,1359,5114,2752,319, + 321,5114,5114,2956,51,5114,316,2717,5114,1356, + 1416,5114,5114,5114,5114,291,52,292,1542,5114, + 3091,2868,920,30,33,973,2815,4517,31,989, + 28,32,338,29,1432,30,33,973,4143,4517, + 31,989,28,32,338,29,5114,5114,2176,5114, + 5114,5114,1003,5114,412,3114,934,30,33,973, + 2674,4517,31,989,28,32,338,29,5114,5114, + 5114,5114,5114,399,5114,5114,157,5114,5114,311, + 1607,2752,319,321,2306,4669,1186,1685,5114,316, + 2717,2306,4669,3001,2804,321,1982,1584,384,973, + 5114,874,3541,224,3580,1003,2306,5114,5114,2221, + 224,5114,5114,1003,5114,3001,2804,321,1632,1584, + 384,973,5114,5114,5114,342,4364,51,403,162, + 5114,5114,5114,4364,5114,403,523,157,291,52, + 292,1542,5114,1986,1229,1270,404,2392,530,51, + 2914,2956,1270,404,2829,5114,5114,2914,526,5114, + 291,52,292,1542,5114,2172,5114,342,1982,1584, + 384,973,157,5114,5114,5114,780,1647,1584,384, + 973,5114,190,5114,5114,5114,5114,1647,1584,384, + 973,5114,5114,4352,5114,5114,5114,5114,5114,51, + 5114,5114,5114,2870,5114,5114,5114,5114,51,2912, + 291,52,292,1542,5114,49,2912,5114,51,291, + 52,292,1542,5114,49,5114,987,5114,5114,291, + 52,292,1542,5114,2478,1921,405,407,1647,1584, + 384,973,5114,405,408,3316,1982,1584,384,973, + 5114,5114,5114,5114,5114,1647,1584,384,973,5114, + 5114,3367,979,5114,4417,5114,874,5114,5114,51, + 1003,5114,1647,1584,384,973,5114,51,5114,5114, + 291,52,292,1542,5114,49,51,5114,291,52, + 292,1542,3052,49,162,5114,2325,291,52,292, + 1542,5114,2740,51,1872,1647,1584,384,973,5114, + 5114,5114,5114,3316,291,52,292,1542,5114,49, + 5114,5114,3127,1584,384,973,5114,5114,5114,5114, + 2736,3133,1584,384,973,5114,51,5114,5114,1457, + 1584,384,973,5114,5114,5114,5114,291,52,292, + 1542,5114,49,51,1986,5114,2773,1895,2306,3684, + 2306,1003,51,2952,291,52,292,1542,3024,49, + 51,5114,5114,291,52,292,1542,2591,49,2591, + 2395,291,52,292,1542,157,2298,977,846,2890, + 2885,530,2306,846,2306,164,1292,2306,2773,48, + 530,1940,2306,2306,2013,1003,5114,5114,1003,5114, + 224,2591,5114,2591,5114,157,2591,5114,331,342, + 5114,2591,342,2333,157,164,5114,1003,5114,157, + 5114,2378,157,3178,190,1003,5114,4186,5114,164, + 2423,5114,164,2468,1003,4352,5114,1003,2956,5114, + 358,157,496,5114,2513,527,5114,3096,1003,157, + 5114,1661,5114,3353,1619,2833,2911,5114,157,1703, + 5114,157,5114,2558,5114,5114,5114,1003,1745,5114, + 5114,1787,157,5114,358,5114,496,493,495,358, + 5114,5114,1241,3141,496,5114,5114,5114,1914,2833, + 2911,157,5114,2966,2833,2911,5114,3559,5114,5114, + 3567,3541,5114,3385,5114,5114,5114,5114,5114,5114, + 5114,493,495,3168,5114,5114,5114,5114,5114,494, + 495,5114,5114,5114,5114,5114,5114,5114,5114,5114, + 5114,5114,5114,5114,5114,5114,5114,5114,5114,5114, + 5114,5114,5114,5114,5114,5114,5114,3524,5114,0, + 1049,39,0,158,529,0,445,997,0,35, + 504,0,1049,38,0,2537,127,0,1,435, + 0,1876,39,0,449,850,0,448,1110,0, + 1150,93,0,35,301,0,383,293,0,33, + 384,0,30,383,0,2196,39,0,1,553, + 0,1,5383,0,1,5382,0,1,5381,0, + 1,5380,0,1,5379,0,1,5378,0,1, + 5377,0,1,5376,0,1,5375,0,1,5374, + 0,1,5373,0,1,1049,39,0,1,1045, + 0,1566,39,0,35,281,257,0,35,504, + 281,257,0,1566,50,0,45,5150,0,45, + 37,0,2537,129,0,2537,128,0,2431,233, + 0,27,511,0,5443,436,0,1530,436,0, + 1,94,0,49,37,0,1,5152,0,1, + 39,0,1,5152,225,0,1,39,225,0, + 5149,37,0,5150,47,0,37,47,0,5618, + 36,0,5149,5,37,0,5123,401,0,1, + 2196,0,1,3199,0,1,4269,0,5443,97, + 0,1530,97,0,2850,318,0,3812,277,0, + 1,863,0,1,983,0,5149,39,0,492, + 3359,0,1,225,0,1,225,3383,0,5123, + 225,0,158,177,0,293,3364,0,225,165, + 0,187,3791,0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -1047,97 +1060,97 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 10,11,12,13,14,15,16,17,18,19, 20,21,22,23,24,25,26,27,28,29, 30,31,32,33,34,35,36,37,38,39, - 40,41,42,43,44,0,46,47,48,49, + 40,41,42,43,44,45,46,0,48,49, 50,51,52,53,54,55,56,57,0,59, - 60,0,62,0,64,65,66,67,0,0, - 1,71,3,5,74,75,76,77,78,79, + 60,61,62,63,0,65,2,67,0,0, + 0,71,2,5,74,75,76,77,78,79, 80,81,82,83,84,85,0,1,2,3, 4,5,6,7,8,9,10,11,12,13, 14,15,16,17,18,19,20,21,22,23, 24,25,26,27,28,29,30,31,32,33, 34,35,36,37,38,39,40,41,42,43, - 44,68,46,47,48,49,50,51,52,53, - 54,55,56,57,0,59,60,3,62,88, - 64,65,66,67,0,94,0,89,90,5, + 44,45,46,69,48,49,50,51,52,53, + 54,55,56,57,0,59,60,61,62,63, + 0,65,2,67,0,86,87,89,90,5, 74,75,76,77,78,79,80,81,82,83, 84,85,0,1,2,3,4,5,6,7, 8,9,10,11,12,13,14,15,16,17, 18,19,20,21,22,23,24,25,26,27, 28,29,30,31,32,33,34,35,36,37, - 38,39,40,41,42,43,44,61,46,47, + 38,39,40,41,42,43,44,45,46,0, 48,49,50,51,52,53,54,55,56,57, - 0,59,60,0,62,0,64,65,66,67, - 0,8,9,89,90,5,74,75,76,77, + 0,59,60,61,62,63,0,65,0,67, + 0,3,98,5,8,7,74,75,76,77, 78,79,80,81,82,83,84,85,0,1, 2,3,4,5,6,7,8,9,10,11, 12,13,14,15,16,17,18,19,20,21, 22,23,24,25,26,27,28,29,30,31, 32,33,34,35,36,37,38,39,40,41, - 42,43,44,0,46,47,48,49,50,51, - 52,53,54,55,56,57,0,59,60,0, - 62,5,64,65,66,67,0,97,0,89, - 90,3,74,75,76,77,78,79,80,81, + 42,43,44,45,46,0,48,49,50,51, + 52,53,54,55,56,57,97,59,60,61, + 62,63,0,65,0,67,0,0,98,5, + 3,5,74,75,76,77,78,79,80,81, 82,83,84,85,0,1,2,3,4,5, 6,7,8,9,10,11,12,13,14,15, 16,17,18,19,20,21,22,23,24,25, 26,27,28,29,30,31,32,33,34,35, - 36,37,38,39,40,41,42,43,44,61, - 46,47,48,49,50,51,52,53,54,55, - 56,57,0,59,60,0,62,0,64,65, - 66,67,86,87,95,96,0,114,74,75, + 36,37,38,39,40,41,42,43,44,45, + 46,64,48,49,50,51,52,53,54,55, + 56,57,0,59,60,61,62,63,0,65, + 0,67,0,89,90,89,90,7,74,75, 76,77,78,79,80,81,82,83,84,85, 0,1,2,3,4,5,6,7,8,9, 10,11,12,13,14,15,16,17,18,19, 20,21,22,23,24,25,26,27,28,29, 30,31,32,33,34,35,36,37,38,39, - 40,41,42,43,44,0,46,47,48,49, + 40,41,42,43,44,45,46,0,48,49, 50,51,52,53,54,55,56,57,0,59, - 60,0,62,88,64,65,66,67,0,94, - 0,99,86,87,74,75,76,77,78,79, + 60,61,62,63,0,65,88,67,86,87, + 0,99,94,0,74,75,76,77,78,79, 80,81,82,83,84,85,0,1,2,3, 4,5,6,7,8,9,10,11,12,13, 14,15,16,17,18,19,20,21,22,23, 24,25,26,27,28,29,30,31,32,33, 34,35,36,37,38,39,40,41,42,43, - 44,63,46,47,48,49,50,51,52,53, - 54,55,56,57,0,59,60,0,62,88, - 64,65,66,67,0,94,86,87,0,114, + 44,45,46,75,48,49,50,51,52,53, + 54,55,56,57,97,59,60,61,62,63, + 0,65,88,67,0,0,86,87,94,0, 74,75,76,77,78,79,80,81,82,83, 84,85,0,1,2,3,4,5,6,7, 8,9,10,11,12,13,14,15,16,17, 18,19,20,21,22,23,24,25,26,27, 28,29,30,31,32,33,34,35,36,37, - 38,39,40,41,42,43,44,63,46,47, + 38,39,40,41,42,43,44,45,46,64, 48,49,50,51,52,53,54,55,56,57, - 0,59,60,3,62,88,64,65,66,67, - 0,94,0,99,86,87,74,75,76,77, + 71,59,60,61,62,63,0,65,88,67, + 86,87,0,0,94,2,74,75,76,77, 78,79,80,81,82,83,84,85,0,1, 2,3,4,5,6,7,8,9,10,11, 12,13,14,15,16,17,18,19,20,21, 22,23,24,25,26,27,28,29,30,31, 32,33,34,35,36,37,38,39,40,41, - 42,43,44,61,46,47,48,49,50,51, - 52,53,54,55,56,57,0,59,60,3, - 62,0,64,65,66,67,86,87,0,8, - 9,3,74,75,76,77,78,79,80,81, + 42,43,44,45,46,0,48,49,50,51, + 52,53,54,55,56,57,0,59,60,61, + 62,63,0,65,88,67,4,0,86,87, + 94,0,74,75,76,77,78,79,80,81, 82,83,84,85,0,1,2,3,4,5, 6,7,8,9,10,11,12,13,14,15, 16,17,18,19,20,21,22,23,24,25, 26,27,28,29,30,31,32,33,34,35, - 36,37,38,39,40,41,42,43,44,61, - 46,47,48,49,50,51,52,53,54,55, - 56,57,0,59,60,0,62,0,64,65, - 66,67,0,8,9,0,0,10,74,75, + 36,37,38,39,40,41,42,43,44,45, + 46,64,48,49,50,51,52,53,54,55, + 56,57,0,59,60,61,62,63,0,65, + 0,67,0,1,4,0,4,0,74,75, 76,77,78,79,80,81,82,83,84,85, - 0,1,2,3,4,5,6,7,8,9, - 0,11,12,0,1,43,0,4,46,47, + 0,1,2,3,4,5,6,7,0,9, + 10,11,12,0,42,114,0,45,46,0, 48,49,50,51,52,53,54,55,56,0, - 1,2,3,4,5,6,7,0,1,62, - 0,1,42,43,0,1,46,47,48,49, + 1,2,3,4,5,6,7,59,0,1, + 0,1,42,43,6,45,46,0,48,49, 50,51,52,53,54,55,56,72,58,0, - 1,61,3,63,5,0,7,2,68,69, + 1,2,3,4,64,6,66,59,68,69, 70,71,72,0,1,2,3,4,93,6, - 40,41,45,97,40,41,86,87,88,89, + 40,41,95,96,68,72,86,87,88,89, 90,91,92,93,94,95,96,97,98,99, 100,101,102,103,104,105,106,107,108,109, 110,111,112,113,114,115,0,1,2,3, @@ -1145,105 +1158,126 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 14,15,16,17,18,19,20,21,22,23, 24,25,26,27,28,29,30,31,32,33, 34,35,36,37,38,39,40,41,42,43, - 44,0,46,47,48,49,50,51,52,53, - 54,55,56,57,0,1,2,3,4,0, - 6,65,66,67,0,1,2,3,4,5, - 6,7,8,9,10,11,12,13,14,15, - 16,17,18,19,20,21,22,23,24,25, - 26,27,28,29,30,31,32,33,34,35, - 36,37,38,39,40,41,0,43,44,68, - 46,47,48,49,50,51,52,53,54,55, - 56,57,0,1,70,3,4,68,6,65, - 66,67,0,1,2,3,4,5,6,7, + 44,45,46,0,48,49,50,51,52,53, + 54,55,56,57,0,0,60,61,62,0, + 1,2,3,4,5,6,7,8,9,10, + 11,12,13,14,15,16,17,18,19,20, + 21,22,23,24,25,26,27,28,29,30, + 31,32,33,34,35,36,37,38,39,40, + 41,42,59,44,45,46,0,48,49,50, + 51,52,53,54,55,56,57,0,64,60, + 61,62,0,1,2,3,4,5,6,7, 8,9,10,11,12,13,14,15,16,17, 18,19,20,21,22,23,24,25,26,27, 28,29,30,31,32,33,34,35,36,37, - 38,39,40,41,68,43,44,71,46,47, + 38,39,40,41,42,59,44,45,46,114, 48,49,50,51,52,53,54,55,56,57, - 0,1,2,3,4,0,6,65,66,67, - 0,1,2,3,4,5,6,7,8,9, - 10,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,28,29, - 30,31,32,33,34,35,36,37,38,39, - 40,41,0,43,44,3,46,47,48,49, - 50,51,52,53,54,55,56,57,0,1, - 70,3,4,68,6,65,66,67,0,1, + 0,64,60,61,62,0,1,2,3,4, + 5,6,7,8,9,10,11,12,13,14, + 15,16,17,18,19,20,21,22,23,24, + 25,26,27,28,29,30,31,32,33,34, + 35,36,37,38,39,40,41,42,0,44, + 45,46,0,48,49,50,51,52,53,54, + 55,56,57,0,64,60,61,62,0,1, 2,3,4,5,6,7,8,9,10,11, 12,13,14,15,16,17,18,19,20,21, 22,23,24,25,26,27,28,29,30,31, 32,33,34,35,36,37,38,39,40,41, - 0,43,44,3,46,47,48,49,50,51, - 52,53,54,55,56,57,0,1,2,3, - 4,0,6,65,66,67,0,1,2,3, - 4,5,6,7,8,9,10,11,12,13, - 14,15,16,17,18,19,20,21,22,23, - 24,25,26,27,28,29,30,31,32,33, - 34,35,36,37,38,39,40,41,0,43, - 44,0,46,47,48,49,50,51,52,53, - 54,55,56,57,0,1,0,0,4,0, - 6,65,66,67,0,1,2,3,4,5, + 42,59,44,45,46,0,48,49,50,51, + 52,53,54,55,56,57,0,64,60,61, + 62,0,1,2,3,4,5,6,7,8, + 9,10,11,12,13,14,15,16,17,18, + 19,20,21,22,23,24,25,26,27,28, + 29,30,31,32,33,34,35,36,37,38, + 39,40,41,42,0,44,45,46,0,48, + 49,50,51,52,53,54,55,56,57,74, + 64,60,61,62,0,1,2,3,4,5, 6,7,8,9,10,11,12,13,14,15, 16,17,18,19,20,21,22,23,24,25, 26,27,28,29,30,31,32,33,34,35, - 36,37,38,39,63,0,0,43,2,68, - 46,47,48,49,50,51,52,53,54,55, - 56,57,0,1,0,1,69,3,6,65, - 66,67,0,0,2,0,0,5,0,7, - 8,9,7,11,12,0,13,14,15,16, - 17,18,19,20,21,22,23,100,120,102, + 36,37,38,39,0,0,42,2,0,45, + 46,0,48,49,50,51,52,53,54,55, + 56,57,0,0,60,61,62,0,0,2, + 2,0,5,0,7,0,9,10,11,12, + 7,0,1,2,3,4,42,6,0,45, + 46,0,48,49,50,51,52,53,54,55, + 56,0,1,58,3,42,0,1,45,46, + 43,48,49,50,51,52,53,54,55,56, + 58,46,71,48,43,58,58,0,1,2, + 3,64,5,66,7,68,69,70,71,72, + 0,0,2,95,96,5,0,7,47,9, + 10,11,12,86,87,88,89,90,91,92, + 93,94,95,96,97,98,99,100,101,102, 103,104,105,106,107,108,109,110,111,112, - 0,1,113,3,42,5,43,7,0,46, - 47,48,49,50,51,52,53,54,55,56, - 58,0,1,61,3,63,5,61,7,61, - 68,69,70,71,72,100,61,0,1,2, - 3,4,5,6,7,0,0,112,86,87, - 88,89,90,91,92,93,94,95,96,97, - 98,99,100,101,102,103,104,105,106,107, - 108,109,110,111,112,113,114,115,0,42, - 2,0,45,5,0,7,8,9,0,11, - 12,0,1,72,3,0,5,60,7,0, - 1,2,3,4,5,6,7,70,71,0, - 73,0,0,1,93,3,7,5,72,7, - 42,0,1,2,3,4,42,6,0,1, - 2,3,4,45,6,0,58,42,3,61, - 5,63,7,98,0,1,68,69,70,71, - 72,0,68,72,117,118,119,58,47,48, - 0,10,2,42,86,87,88,89,90,91, - 92,93,94,95,96,97,98,99,100,101, - 102,103,104,105,106,107,108,109,110,111, - 112,113,114,115,0,1,2,3,4,5, + 113,114,115,43,113,58,0,1,2,3, + 4,100,6,0,0,1,3,3,58,5, + 0,7,0,112,64,64,66,0,68,69, + 70,71,72,0,1,2,3,4,72,6, + 0,0,1,3,3,0,86,87,88,89, + 90,91,92,93,94,95,96,97,98,99, + 100,101,102,103,104,105,106,107,108,109, + 110,111,112,113,114,115,0,1,2,3, + 4,5,6,7,8,58,64,0,66,13, + 14,15,16,17,18,19,20,21,22,23, + 59,0,1,70,64,0,1,2,3,4, + 5,6,7,91,92,0,0,1,42,43, + 44,45,46,47,48,49,50,51,52,53, + 54,55,56,57,47,0,60,61,62,63, + 0,40,41,0,0,1,70,71,4,73, + 6,0,9,10,0,1,2,3,4,5, + 6,7,8,58,24,0,1,13,14,15, + 16,17,18,19,20,21,22,23,0,1, + 2,3,4,68,6,0,1,72,3,4, + 0,6,2,117,118,119,42,43,44,45, + 46,47,48,49,50,51,52,53,54,55, + 56,57,47,0,60,61,62,63,0,1, + 69,43,9,10,70,71,0,73,0,1, + 2,3,4,5,6,7,8,9,10,11, + 12,13,14,15,16,17,18,19,20,21, + 22,23,24,25,26,27,28,29,30,31, + 32,33,34,35,36,37,38,39,40,41, + 0,117,118,119,0,1,2,3,4,5, 6,7,8,9,10,11,12,13,14,15, 16,17,18,19,20,21,22,23,24,25, 26,27,28,29,30,31,32,33,34,35, - 36,37,38,39,40,41,42,0,44,0, + 36,37,38,39,40,41,0,43,44,0, 1,2,3,4,5,6,7,8,9,10, 11,12,13,14,15,16,17,18,19,20, 21,22,23,24,25,26,27,28,29,30, 31,32,33,34,35,36,37,38,39,40, - 41,42,0,44,0,1,2,3,4,5, + 41,45,43,44,0,1,2,3,4,5, 6,7,8,9,10,11,12,13,14,15, 16,17,18,19,20,21,22,23,24,25, 26,27,28,29,30,31,32,33,34,35, - 36,37,38,39,40,41,42,0,44,0, + 36,37,38,39,40,41,0,43,44,0, 1,2,3,4,5,6,7,8,9,10, 11,12,13,14,15,16,17,18,19,20, 21,22,23,24,25,26,27,28,29,30, 31,32,33,34,35,36,37,38,39,40, - 41,0,1,44,0,0,2,95,96,0, - 0,1,0,0,1,0,0,1,2,3, + 41,0,1,44,0,0,1,0,3,0, + 5,0,7,9,10,59,0,1,2,3, 4,5,6,7,0,1,2,3,4,0, 6,72,0,1,2,3,4,5,6,7, 8,9,10,11,12,13,14,15,16,17, 18,19,20,21,22,23,24,25,26,27, 28,29,30,31,32,33,34,35,36,37, - 38,39,40,41,58,63,44,68,63,0, - 68,72,58,68,0,69,2,0,59,0, - 1,2,3,0,5,2,7,0,0,2, - 2,0,1,98,72,0,1,2,3,4, + 38,39,40,41,58,68,44,72,71,70, + 0,1,58,3,4,69,6,58,0,0, + 1,2,3,4,0,6,0,1,93,3, + 0,5,2,7,72,0,1,2,3,4, 5,6,7,8,9,10,11,12,13,14, 15,16,17,18,19,20,21,22,23,24, 25,26,27,28,29,30,31,32,33,34, - 35,36,37,38,39,40,41,58,61,44, + 35,36,37,38,39,40,41,58,0,44, + 0,1,2,3,4,5,6,7,8,9, + 10,11,12,13,14,15,16,17,18,19, + 20,21,22,23,24,25,26,27,28,29, + 30,31,32,33,34,35,36,37,38,39, + 40,41,0,99,44,0,1,2,3,4, + 5,6,7,8,9,10,11,12,13,14, + 15,16,17,18,19,20,21,22,23,24, + 25,26,27,28,29,30,31,32,33,34, + 35,36,37,38,39,40,41,0,1,44, 0,1,2,3,4,5,6,7,8,9, 10,11,12,13,14,15,16,17,18,19, 20,21,22,23,24,25,26,27,28,29, @@ -1252,115 +1286,106 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 5,6,7,8,9,10,11,12,13,14, 15,16,17,18,19,20,21,22,23,24, 25,26,27,28,29,30,31,32,33,34, - 35,36,37,38,39,40,41,45,0,44, - 0,1,2,3,4,5,6,7,8,9, - 10,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,28,29, - 30,31,32,33,34,35,36,37,38,39, - 40,41,0,1,44,0,1,2,3,4, - 5,6,7,8,9,10,11,12,13,14, - 15,16,17,18,19,20,21,22,23,24, - 25,26,27,28,29,30,31,32,33,34, - 35,36,37,38,39,40,41,45,0,0, - 2,0,3,0,1,2,3,4,0,6, - 0,1,0,1,0,0,2,2,63,0, - 1,2,3,4,5,6,7,8,9,10, - 11,12,13,14,15,16,17,18,19,20, - 21,22,23,24,25,26,27,28,29,30, - 31,32,33,34,35,36,37,38,39,40, - 41,58,61,44,0,1,2,3,4,5, - 6,7,8,9,10,11,12,13,14,15, - 16,17,18,19,20,21,22,23,24,25, - 26,27,28,29,30,31,32,33,34,35, - 36,37,38,39,40,41,0,1,44,0, - 1,2,3,4,5,6,7,8,9,10, - 11,12,13,14,15,16,17,18,19,20, - 21,22,23,24,25,26,27,28,29,30, - 31,32,33,34,35,36,37,38,39,40, - 41,45,0,44,0,1,2,3,4,5, - 6,7,8,9,10,11,12,13,14,15, - 16,17,18,19,20,21,22,23,24,25, - 26,27,28,29,30,31,32,33,34,35, - 36,37,38,39,40,41,0,1,44,0, - 1,2,3,4,5,6,7,8,9,10, - 11,12,13,14,15,16,17,18,19,20, - 21,22,23,24,25,26,27,28,29,30, - 31,32,33,34,35,36,37,38,39,40, - 41,45,0,44,0,1,2,3,4,5, - 6,7,8,9,10,11,12,13,14,15, - 16,17,18,19,20,21,22,23,24,25, - 26,27,28,29,30,31,32,33,34,35, - 36,37,38,39,40,41,0,45,44,0, - 1,2,3,4,5,6,7,8,9,10, - 11,12,13,14,15,16,17,18,19,20, - 21,22,23,24,25,26,27,28,29,30, - 31,32,33,34,35,36,37,38,39,40, - 41,0,1,2,3,4,5,6,7,8, - 9,10,11,12,13,14,15,16,17,18, - 19,20,21,22,23,24,25,26,27,28, - 29,30,31,32,33,34,35,36,37,38, - 39,40,41,0,1,2,3,4,5,6, - 7,8,9,10,11,12,13,14,15,16, - 17,18,19,20,21,22,23,24,25,26, - 27,28,29,30,31,32,33,34,35,36, - 37,38,39,0,1,0,0,1,3,0, - 1,0,0,0,2,2,0,0,2,0, - 1,4,59,0,0,0,0,1,3,3, - 0,0,2,0,71,0,1,2,3,4, - 5,6,7,8,9,10,11,12,13,14, - 15,16,17,18,19,20,21,22,23,24, - 25,26,27,28,29,30,31,32,33,34, - 35,36,37,38,39,0,0,2,59,4, - 5,69,7,8,9,59,11,12,58,0, - 1,58,3,4,59,6,0,0,0,0, - 25,2,0,1,93,3,71,0,0,0, - 11,12,4,0,1,40,41,4,0,43, - 2,0,46,47,48,49,50,51,52,53, - 54,55,56,58,45,0,61,2,63,0, - 117,118,119,68,69,0,0,45,0,1, - 2,3,4,5,6,7,58,58,45,63, - 63,86,87,88,89,90,91,92,59,0, - 95,96,97,98,99,100,101,102,103,104, - 105,106,107,108,109,110,111,0,0,2, - 42,4,5,45,7,8,9,58,11,12, - 101,0,1,0,3,4,0,6,60,0, - 1,0,25,2,115,70,10,0,70,71, - 74,73,0,1,0,3,2,40,41,0, - 61,43,63,0,46,47,48,49,50,51, - 52,53,54,55,56,58,45,0,61,2, - 63,45,0,24,45,68,69,0,1,0, - 91,92,0,57,2,117,118,119,46,58, - 0,0,69,86,87,88,89,90,91,92, - 63,0,95,96,97,98,99,100,101,102, - 103,104,105,106,107,108,109,110,111,0, - 1,2,3,4,5,6,7,8,9,10, - 11,12,13,14,15,16,17,18,19,20, - 21,22,23,24,25,26,27,28,29,30, - 31,32,33,34,35,36,37,38,39,0, - 70,2,71,0,63,93,0,0,2,116, - 0,0,2,0,1,0,1,0,59,0, - 1,2,3,4,5,6,7,8,9,10, - 11,12,13,14,15,16,17,18,19,20, - 21,22,23,24,25,26,27,28,29,30, - 31,32,33,34,35,36,37,38,39,0, - 1,2,3,4,5,6,7,8,9,10, - 11,12,13,14,15,16,17,18,19,20, - 21,22,23,24,25,26,27,28,29,30, - 31,32,33,34,35,36,37,38,0,0, - 93,2,0,1,0,0,2,0,1,0, - 1,0,0,0,0,0,0,58,0,1, - 2,3,4,5,6,7,8,9,10,11, - 12,13,14,15,16,17,18,19,20,21, - 22,23,24,25,26,27,28,29,30,31, - 32,33,34,35,36,37,38,0,1,2, + 35,36,37,38,39,40,41,0,1,47, + 3,0,5,2,7,0,1,0,3,2, + 5,0,7,0,1,0,3,0,1,0, + 1,66,0,1,2,3,4,5,6,7, + 8,9,10,11,12,13,14,15,16,17, + 18,19,20,21,22,23,24,25,26,27, + 28,29,30,31,32,33,34,35,36,37, + 38,39,40,41,47,58,44,0,1,2, 3,4,5,6,7,8,9,10,11,12, 13,14,15,16,17,18,19,20,21,22, 23,24,25,26,27,28,29,30,31,32, - 33,34,35,36,37,38,39,0,0,0, + 33,34,35,36,37,38,39,40,41,0, + 1,44,0,1,2,3,4,5,6,7, + 8,9,10,11,12,13,14,15,16,17, + 18,19,20,21,22,23,24,25,26,27, + 28,29,30,31,32,33,34,35,36,37, + 38,39,40,41,0,1,44,0,1,2, + 3,4,5,6,7,8,9,10,11,12, + 13,14,15,16,17,18,19,20,21,22, + 23,24,25,26,27,28,29,30,31,32, + 33,34,35,36,37,38,39,40,41,0, + 1,44,0,1,2,3,4,5,6,7, + 8,9,10,11,12,13,14,15,16,17, + 18,19,20,21,22,23,24,25,26,27, + 28,29,30,31,32,33,34,35,36,37, + 38,39,40,41,0,1,44,0,1,2, + 3,4,5,6,7,8,9,10,11,12, + 13,14,15,16,17,18,19,20,21,22, + 23,24,25,26,27,28,29,30,31,32, + 33,34,35,36,37,38,39,40,41,0, + 1,44,0,1,2,3,4,5,6,7, + 8,9,10,11,12,13,14,15,16,17, + 18,19,20,21,22,23,24,25,26,27, + 28,29,30,31,32,33,34,35,36,37, + 38,39,40,41,0,1,2,3,4,5, + 6,7,8,9,10,11,12,13,14,15, + 16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,30,31,32,33,34,35, + 36,37,38,39,0,0,2,0,1,2, + 3,4,0,6,0,1,0,3,0,3, + 0,1,0,59,0,3,2,0,0,2, + 2,0,0,2,0,71,0,1,2,3, + 4,5,6,7,8,9,10,11,12,13, + 14,15,16,17,18,19,20,21,22,23, + 24,25,26,27,28,29,30,31,32,33, + 34,35,36,37,38,39,0,70,2,59, + 4,5,64,7,66,9,10,11,12,58, + 0,1,0,3,4,59,6,66,66,68, + 8,25,68,72,0,0,0,71,0,91, + 92,3,0,0,1,3,40,41,13,14, + 15,16,17,18,19,20,21,22,23,117, + 118,119,0,0,58,0,3,47,3,47, + 64,0,66,0,68,69,3,42,0,57, + 45,46,0,48,49,50,51,52,53,54, + 55,56,86,87,88,89,90,91,92,0, + 66,95,96,97,98,99,100,101,102,103, + 104,105,106,107,108,109,110,111,0,0, + 2,43,4,5,0,7,0,9,10,11, + 12,69,0,1,0,3,4,66,6,68, + 58,42,8,25,45,46,68,48,49,50, + 51,52,53,54,55,56,0,1,40,41, + 4,0,100,2,102,103,104,105,106,107, + 108,109,110,111,112,0,58,0,0,47, + 2,47,64,0,66,66,68,69,0,1, + 66,57,68,0,0,2,70,0,0,2, + 2,0,0,47,86,87,88,89,90,91, + 92,0,0,95,96,97,98,99,100,101, + 102,103,104,105,106,107,108,109,110,111, + 0,1,2,3,4,5,6,7,8,9, + 10,11,12,13,14,15,16,17,18,19, + 20,21,22,23,24,25,26,27,28,29, + 30,31,32,33,34,35,36,37,38,39, + 93,70,70,0,0,2,93,66,66,68, + 0,0,2,2,0,0,2,2,0,59, + 0,1,2,3,4,5,6,7,8,9, + 10,11,12,13,14,15,16,17,18,19, + 20,21,22,23,24,25,26,27,28,29, + 30,31,32,33,34,35,36,37,38,39, + 0,1,2,3,4,5,6,7,8,9, + 10,11,12,13,14,15,16,17,18,19, + 20,21,22,23,24,25,26,27,28,29, + 30,31,32,33,34,35,36,37,38,0, + 0,0,2,0,0,2,0,1,0,0, + 2,93,0,1,0,1,0,0,58,0, + 1,2,3,4,5,6,7,8,9,10, + 11,12,13,14,15,16,17,18,19,20, + 21,22,23,24,25,26,27,28,29,30, + 31,32,33,34,35,36,37,38,0,1, + 2,3,4,5,6,7,8,9,10,11, + 12,13,14,15,16,17,18,19,20,21, + 22,23,24,25,26,27,28,29,30,31, + 32,33,34,35,36,37,38,39,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,116,0,0,0,0,0, - 0,24,24,0,0,0,0,116,0,0, - 0,113,0,1,2,3,4,5,6,7, + 0,0,0,0,0,116,0,116,0,0, + 116,0,24,24,0,0,0,0,0,120, + 0,0,113,0,1,2,3,4,5,6, + 7,8,9,10,11,12,13,14,15,16, + 17,18,19,20,21,22,23,24,25,26, + 27,28,29,30,31,32,33,34,35,36, + 37,38,0,1,2,3,4,5,6,7, 8,9,10,11,12,13,14,15,16,17, 18,19,20,21,22,23,24,25,26,27, 28,29,30,31,32,33,34,35,36,37, @@ -1368,54 +1393,57 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 9,10,11,12,13,14,15,16,17,18, 19,20,21,22,23,24,25,26,27,28, 29,30,31,32,33,34,35,36,37,38, - 0,1,2,3,4,5,6,7,8,9, - 10,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,28,29, - 30,31,32,33,34,35,36,37,38,0, - 1,0,3,2,0,0,0,0,0,10, - 0,0,13,14,15,16,17,18,19,20, - 21,22,23,0,0,1,0,1,2,3, - 4,0,6,0,0,0,0,1,0,0, - 0,5,43,0,0,46,47,48,49,50, - 51,52,53,54,55,56,57,0,1,58, - 3,0,58,58,65,66,67,10,42,45, - 13,14,15,16,17,18,19,20,21,22, - 23,45,0,0,1,2,3,4,5,6, - 7,0,1,2,3,4,5,6,7,61, - 43,63,69,46,47,48,49,50,51,52, - 53,54,55,56,57,0,0,0,0,75, - 0,0,65,66,67,42,43,45,45,91, - 92,70,0,42,43,0,45,0,0,0, - 0,0,0,60,61,62,0,64,0,0, - 0,60,0,62,0,64,73,39,42,0, - 0,46,71,42,73,0,1,2,3,4, - 5,6,7,0,1,2,3,4,5,6, - 7,0,1,2,3,4,5,6,7,0, - 1,2,3,4,5,6,7,0,1,2, - 3,4,5,6,7,70,69,42,43,61, - 45,70,58,71,68,42,43,68,45,69, - 61,0,70,42,43,60,45,62,0,64, - 70,42,43,60,45,62,71,64,73,42, - 43,60,45,62,71,64,73,0,0,60, - 0,62,71,64,73,0,0,60,0,62, - 71,64,73,0,0,0,0,0,0,0, - 73,0,1,2,3,4,5,6,7,0, - 1,2,3,4,5,6,7,0,0,2, - 43,70,0,46,47,48,49,50,51,52, - 53,54,55,56,0,0,0,59,0,59, - 0,0,0,42,43,0,45,61,10,63, - 0,42,43,68,45,59,59,69,63,0, - 0,60,69,62,0,64,72,69,69,60, - 0,62,0,64,73,58,0,91,92,57, - 63,0,73,45,42,68,0,0,70,72, - 0,0,0,0,0,57,0,0,0,0, - 59,61,0,0,69,69,72,0,0,0, + 0,1,0,3,0,0,0,0,8,0, + 0,0,1,13,14,15,16,17,18,19, + 20,21,22,23,0,0,1,2,3,4, + 5,6,7,0,0,0,0,0,0,0, + 0,1,42,0,0,45,46,0,48,49, + 50,51,52,53,54,55,56,57,47,57, + 60,61,62,0,1,58,3,42,43,64, + 66,8,47,64,68,66,13,14,15,16, + 17,18,19,20,21,22,23,47,63,64, + 65,47,67,69,47,0,0,58,73,0, + 91,92,66,0,1,42,3,8,45,46, + 0,48,49,50,51,52,53,54,55,56, + 57,0,0,60,61,62,0,1,2,3, + 4,5,6,7,0,0,1,2,3,4, + 5,6,7,0,0,2,0,0,45,0, + 1,0,0,43,11,12,0,1,0,1, + 0,5,0,68,65,69,0,0,42,43, + 0,0,0,47,0,0,0,42,43,0, + 59,0,47,0,0,39,0,43,0,63, + 68,65,0,67,43,43,47,71,63,73, + 65,58,67,47,70,47,71,0,73,0, + 1,2,3,4,5,6,7,70,0,1, + 2,3,4,5,6,7,0,0,0,69, + 68,0,0,0,0,69,69,0,66,0, + 0,70,72,69,101,70,70,0,69,68, + 64,42,43,69,0,72,47,69,115,0, + 42,43,0,0,0,47,0,0,0,0, + 0,0,63,0,65,0,67,0,0,0, + 71,63,73,65,0,67,0,0,0,71, + 0,73,0,1,2,3,4,5,6,7, + 0,0,1,2,3,4,5,6,7,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,42,43,0,0,0,47, + 0,0,0,42,43,0,0,0,47,0, + 0,0,0,0,0,63,0,65,0,67, + 0,0,0,71,63,73,65,0,67,0, + 0,0,0,0,73,0,1,2,3,4, + 5,6,7,0,0,1,2,3,4,5, + 6,7,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,42,43,0, + 0,0,47,0,0,0,42,43,0,0, + 0,47,0,0,0,0,0,0,63,0, + 65,0,67,0,0,0,0,63,73,65, + 0,67,0,0,0,0,0,73,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 }; }; public final static byte termCheck[] = TermCheck.termCheck; @@ -1423,373 +1451,389 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface TermAction { public final static char termAction[] = {0, - 5048,5029,5026,5026,5026,5026,5026,5026,1,1, + 5114,5095,5092,5092,5092,5092,5092,5092,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,5033,1,3246,1,1,1,1,1, - 1,1,1,1,1,1,1,1,5048,708, - 577,108,3240,155,3115,1,1,1,112,5048, - 5020,5056,5082,3279,1224,3217,2767,2144,2717,3128, - 3430,3211,3238,3197,4225,3133,5048,5029,5026,5026, - 5026,5026,5026,5026,1,1,1,1,1,1, + 1,1,1,5099,3485,1,1,1,1,1, + 1,1,1,1,1,1,1,1,5114,713, + 1,1,1,1710,314,3483,2106,3320,116,122, + 5114,5122,3538,3281,2087,3447,2687,2149,2686,3348, + 3418,3428,3467,3420,3894,3391,5114,5095,5092,5092, + 5092,5092,5092,5092,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,5033,1, - 3246,1281,1,1,1,1,1,1,1,1, - 1,1,1,1,35,708,577,5082,3240,4130, - 3115,1,1,1,114,4152,5048,3256,783,3279, - 1224,3217,2767,2144,2717,3128,3430,3211,3238,3197, - 4225,3133,5048,5029,5026,5026,5026,5026,5026,5026, + 1,1,1,1,1,1,1,1,1,5099, + 3485,1,1,1198,1,1,1,1,1,1, + 1,1,1,1,136,713,1,1,1,1710, + 5114,3483,2431,3320,5114,2603,2694,3258,788,2317, + 2087,3447,2687,2149,2686,3348,3418,3428,3467,3420, + 3894,3391,5114,5095,5092,5092,5092,5092,5092,5092, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,5033,1,3246,2949,1,1, + 1,1,1,1,1,5099,3485,1,1,134, 1,1,1,1,1,1,1,1,1,1, - 130,708,577,115,3240,5048,3115,1,1,1, - 113,3154,3068,3256,783,3279,1224,3217,2767,2144, - 2717,3128,3430,3211,3238,3197,4225,3133,5048,5029, - 5026,5026,5026,5026,5026,5026,1,1,1,1, + 137,713,1,1,1,1710,305,3483,39,3320, + 5114,5152,2242,1530,5418,5443,2087,3447,2687,2149, + 2686,3348,3418,3428,3467,3420,3894,3391,5114,5095, + 5092,5092,5092,5092,5092,5092,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 5033,1,3246,5048,1,1,1,1,1,1, - 1,1,1,1,1,1,5048,708,577,126, - 3240,2393,3115,1,1,1,118,2304,31,3256, - 783,4857,1224,3217,2767,2144,2717,3128,3430,3211, - 3238,3197,4225,3133,5048,5029,5026,5026,5026,5026, - 5026,5026,1,1,1,1,1,1,1,1, + 1,5099,3485,1,1,5114,1,1,1,1, + 1,1,1,1,1,1,2275,713,1,1, + 1,1710,5114,3483,118,3320,117,35,2242,3281, + 4923,3281,2087,3447,2687,2149,2686,3348,3418,3428, + 3467,3420,3894,3391,5114,5095,5092,5092,5092,5092, + 5092,5092,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,5033,1,3246,499, + 1,1,1,1,1,1,1,5099,3485,1, + 1,504,1,1,1,1,1,1,1,1, + 1,1,138,713,1,1,1,1710,112,3483, + 132,3320,126,3258,788,3258,788,2333,2087,3447, + 2687,2149,2686,3348,3418,3428,3467,3420,3894,3391, + 5114,5095,5092,5092,5092,5092,5092,5092,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,134,708,577,111,3240,5048,3115,1, - 1,1,2633,2724,2512,2484,122,4823,1224,3217, - 2767,2144,2717,3128,3430,3211,3238,3197,4225,3133, - 5048,5029,5026,5026,5026,5026,5026,5026,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,5099,3485,1,1,135,1,1, + 1,1,1,1,1,1,1,1,5114,713, + 1,1,1,1710,115,3483,4084,3320,2603,2694, + 125,583,4106,5114,2087,3447,2687,2149,2686,3348, + 3418,3428,3467,3420,3894,3391,5114,5095,5092,5092, + 5092,5092,5092,5092,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,5033,1,3246,5048,1,1,1,1, - 1,1,1,1,1,1,1,1,5048,708, - 577,110,3240,4130,3115,1,1,1,5048,4152, - 121,2237,2633,2724,1224,3217,2767,2144,2717,3128, - 3430,3211,3238,3197,4225,3133,5048,5029,5026,5026, - 5026,5026,5026,5026,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5099, + 3485,1,1,3578,1,1,1,1,1,1, + 1,1,1,1,2275,713,1,1,1,1710, + 114,3483,4084,3320,124,5114,2603,2694,4106,5114, + 2087,3447,2687,2149,2686,3348,3418,3428,3467,3420, + 3894,3391,5114,5095,5092,5092,5092,5092,5092,5092, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,5033,1, - 3246,2427,1,1,1,1,1,1,1,1, - 1,1,1,1,135,708,577,109,3240,4130, - 3115,1,1,1,5048,4152,2633,2724,120,4827, - 1224,3217,2767,2144,2717,3128,3430,3211,3238,3197, - 4225,3133,5048,5029,5026,5026,5026,5026,5026,5026, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,5099,3485,1,1,2749, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,5033,1,3246,2452,1,1, + 5122,713,1,1,1,1710,113,3483,4084,3320, + 2603,2694,123,93,4106,4920,2087,3447,2687,2149, + 2686,3348,3418,3428,3467,3420,3894,3391,5114,5095, + 5092,5092,5092,5092,5092,5092,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 5048,708,577,2691,3240,4130,3115,1,1,1, - 119,4152,5048,2237,2633,2724,1224,3217,2767,2144, - 2717,3128,3430,3211,3238,3197,4225,3133,5048,5029, - 5026,5026,5026,5026,5026,5026,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,5099,3485,1,1,5114,1,1,1,1, + 1,1,1,1,1,1,5114,713,1,1, + 1,1710,5114,3483,4084,3320,3064,5114,2603,2694, + 4106,5114,2087,3447,2687,2149,2686,3348,3418,3428, + 3467,3420,3894,3391,5114,3383,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 5033,1,3246,2970,1,1,1,1,1,1, - 1,1,1,1,1,1,5048,708,577,4860, - 3240,117,3115,1,1,1,2633,2724,46,3154, - 3068,1621,1224,3217,2767,2144,2717,3128,3430,3211, - 3238,3197,4225,3133,5048,3131,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,5123,3485,1, + 1,3377,1,1,1,1,1,1,1,1, + 1,1,220,713,1,1,1,1710,5114,3483, + 5114,3320,5114,1876,3595,1,3059,130,2087,3447, + 2687,2149,2686,3348,3418,3428,3467,3420,3894,3391, + 5114,4984,4984,4984,4984,4984,4984,4984,5114,4984, + 4984,4984,4984,1,5366,4889,159,5369,5450,5114, + 5451,5363,5370,5343,5368,5367,5364,5365,5344,5114, + 4890,4269,1045,2196,1530,3199,5443,1572,38,4902, + 5114,1566,4984,4984,764,4984,4984,5114,4984,4984, + 4984,4984,4984,4984,4984,4984,4984,361,4984,1, + 4974,4269,4978,2196,4988,3199,4984,2188,4984,4984, + 4984,4984,4984,1,4974,5065,4978,5059,361,5062, + 4062,614,2455,2364,1286,163,4984,4984,4984,4984, + 4984,4984,4984,4984,4984,4984,4984,4984,4984,4984, + 4984,4984,4984,4984,4984,4984,4984,4984,4984,4984, + 4984,4984,4984,4984,4984,4984,5114,5092,5092,5092, + 5092,5092,5092,5092,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,5057,1,3246,1621, 1,1,1,1,1,1,1,1,1,1, - 1,1,216,708,577,116,3240,301,3115,1, - 1,1,5048,3154,3068,1,131,5348,1224,3217, - 2767,2144,2717,3128,3430,3211,3238,3197,4225,3133, - 5048,4918,4918,4918,4918,4918,4918,4918,4918,4918, - 5048,4918,4918,5048,1859,5296,5048,2934,5299,5380, - 5381,5293,5300,5273,5298,5297,5294,5295,5274,5048, - 4824,2350,1040,1870,992,3575,5373,5048,9173,1640, - 5048,1621,4918,4918,5048,4927,4918,4918,4918,4918, - 4918,4918,4918,4918,4918,4918,4918,357,4918,430, - 1,4922,1,4918,4842,5048,4842,3398,4918,4918, - 4918,4918,4918,1,4908,2350,4912,1870,357,3575, - 4108,924,5080,2304,4108,924,4918,4918,4918,4918, - 4918,4918,4918,4918,4918,4918,4918,4918,4918,4918, - 4918,4918,4918,4918,4918,4918,4918,4918,4918,4918, - 4918,4918,4918,4918,4918,4918,5048,5026,5026,5026, - 5026,5026,5026,5026,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5108, + 5272,1,1,5114,1,1,1,1,1,1, + 1,1,1,1,5114,5114,1,1,1,5114, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,5042,1, - 5202,502,1,1,1,1,1,1,1,1, - 1,1,1,1,1,4908,2350,4912,1870,356, - 3575,1,1,1,5048,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,713,5272,1,1,1,1,1,1, + 1,1,1,1,1,1,1,5114,3525,1, + 1,1,5114,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,5048,1,5202,811, 1,1,1,1,1,1,1,1,1,1, - 1,1,5048,4824,2013,1040,1870,3222,3575,1, - 1,1,5048,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,3345,5272,1,1,4893, 1,1,1,1,1,1,1,1,1,1, + 5114,3648,1,1,1,5114,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,940,1,5202,5056,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,4908,2350,4912,1870,282,3575,1,1,1, - 5048,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,5114,5272, + 1,1,5114,1,1,1,1,1,1,1, + 1,1,1,445,564,1,1,1,5114,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,5202,380,1,1,1,1, - 1,1,1,1,1,1,1,1,5048,4824, - 2013,1040,1870,865,3575,1,1,1,5048,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,3362,5272,1,1,1,1,1,1,1, + 1,1,1,1,1,1,35,4896,1,1, + 1,5114,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 388,1,5202,4860,1,1,1,1,1,1, - 1,1,1,1,1,1,1,4908,4999,4912, - 4993,5048,4996,1,1,1,5048,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,5114,5272,1,1,5114,1, + 1,1,1,1,1,1,1,1,1,2976, + 4899,1,1,1,39,4911,4179,1045,626,3974, + 3199,3996,1134,3952,3323,4040,4018,5375,5373,5382, + 5381,5377,5378,5376,5379,5380,5383,5374,5134,2402, + 707,896,5136,718,2629,721,5137,5135,630,5130, + 5132,5133,5131,1242,221,1,5366,3074,131,5369, + 5450,1,5451,5363,5370,5343,5368,5367,5364,5365, + 5344,5508,449,222,577,5509,5510,384,346,4929, + 1782,5114,4929,133,4929,335,4929,4929,4929,4929, + 2333,1,4974,5065,4978,5059,5366,5062,5114,5369, + 5450,140,5451,5363,5370,5343,5368,5367,5364,5365, + 5344,393,4981,1790,5152,5366,5114,1566,5369,5450, + 4929,5451,5363,5370,5343,5368,5367,5364,5365,5344, + 4914,5450,5122,5451,5123,4929,1790,344,39,3074, + 5152,4929,1530,4929,5443,4929,4929,4929,4929,4929, + 383,5114,4932,2455,2364,4932,5114,4932,39,4932, + 4932,4932,4932,4929,4929,4929,4929,4929,4929,4929, + 4929,4929,4929,4929,4929,4929,4929,4929,4929,4929, + 4929,4929,4929,4929,4929,4929,4929,4929,4929,4929, + 4929,4929,4929,4932,5120,1790,1,4974,4269,4978, + 2196,2204,3199,39,435,1,5152,1,4932,4908, + 5114,4908,127,4439,4932,2974,4932,448,4932,4932, + 4932,4932,4932,1,4974,4269,4978,2196,5121,3199, + 50,5114,9135,1566,5152,5114,4932,4932,4932,4932, + 4932,4932,4932,4932,4932,4932,4932,4932,4932,4932, + 4932,4932,4932,4932,4932,4932,4932,4932,4932,4932, + 4932,4932,4932,4932,4932,4932,5114,5036,225,5032, + 225,225,225,225,1,4917,2564,37,4905,1, 1,1,1,1,1,1,1,1,1,1, + 1698,5114,4993,2018,1566,344,4890,2661,1045,2196, + 1530,3199,5443,2510,2483,5114,5114,4993,1,225, + 5520,1,1,492,1,1,1,1,1,1, + 1,1,1,1,5150,5114,1,1,1,1284, + 5114,4062,614,119,5114,1049,225,410,2196,5605, + 3199,288,3115,3029,5114,5036,225,5032,225,225, + 225,225,1,1790,3220,5114,9200,1,1,1, + 1,1,1,1,1,1,1,1,1,4974, + 4269,4978,2196,4729,3199,5114,4890,5121,1045,2196, + 1,3199,3654,5542,5543,5544,1,225,5520,1, + 1,492,1,1,1,1,1,1,1,1, + 1,1,5150,121,1,1,1,1284,5114,1049, + 1925,313,3115,3029,225,409,5114,5605,142,4890, + 4179,1045,626,3974,3199,3996,553,3952,3323,4040, + 4018,5375,5373,5382,5381,5377,5378,5376,5379,5380, + 5383,5374,5134,2402,707,896,5136,718,2629,721, + 5137,5135,630,5130,5132,5133,5131,1242,39,39, + 5114,5542,5543,5544,5114,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,183,1, - 5202,23,1,1,1,1,1,1,1,1, - 1,1,1,1,5048,1137,5048,136,1870,5048, - 3575,1,1,1,35,4845,2398,1040,621,4020, - 3575,4042,3998,3976,1129,4086,4064,5305,5303,5312, - 5311,5307,5308,5306,5309,5310,5313,5304,5064,3323, - 716,968,5066,891,2659,938,5067,5065,702,5060, - 5062,5063,5061,1237,4945,136,5048,5296,3099,4945, - 5299,5380,5381,5293,5300,5273,5298,5297,5294,5295, - 5274,5438,34,4836,5048,5020,1743,5082,759,845, - 5439,5440,380,215,4863,128,5048,4863,5048,4863, - 4863,4863,2362,4863,4863,5048,5305,5303,5312,5311, - 5307,5308,5306,5309,5310,5313,5304,2199,5045,1701, - 1659,1617,1575,1533,1491,1449,1407,1365,1323,4425, - 431,35,5054,5082,4863,4951,5296,4948,5048,5299, - 5380,5381,5293,5300,5273,5298,5297,5294,5295,5274, - 4863,1,4963,4863,4960,4863,992,3586,5373,3641, - 4863,4863,4863,4863,4863,2199,559,1,4970,221, - 4966,221,221,221,221,132,1,4425,4863,4863, - 4863,4863,4863,4863,4863,4863,4863,4863,4863,4863, - 4863,4863,4863,4863,4863,4863,4863,4863,4863,4863, - 4863,4863,4863,4863,4863,4863,4863,4863,379,221, - 4866,5048,487,4866,5048,4866,4866,4866,33,4866, - 4866,90,1,357,1,397,4954,571,4954,340, - 4824,2704,1040,1870,992,3575,5373,221,405,129, - 5534,331,93,35,357,5082,2362,5005,159,5002, - 4866,1,4908,4999,4912,4993,5057,4996,1,4908, - 2350,4912,1870,5080,3575,35,4866,4990,5082,4866, - 992,4866,5373,2271,5048,1621,4866,4866,4866,4866, - 4866,301,4303,5055,5471,5472,5473,1785,5380,5381, - 89,5348,4854,5057,4866,4866,4866,4866,4866,4866, - 4866,4866,4866,4866,4866,4866,4866,4866,4866,4866, - 4866,4866,4866,4866,4866,4866,4866,4866,4866,4866, - 4866,4866,4866,4866,5048,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,427,5123,5272,5114, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,5057,5048,5202,5048, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,5540,165,5272,5114,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,161,127,5202,5048,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,5114,165,5272,5114, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,161,5048,5202,5048, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,50,4993,5272,120,1,5029,5114,5026,5114, + 1530,5114,5443,3115,3029,5105,365,4974,2661,4978, + 2196,1,3199,1,1,4974,2661,4978,2196,347, + 3199,165,5114,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,5048,4927,5202,1,133,4235,2512,2484,5048, - 5048,1137,5048,46,4927,5048,361,4908,2704,4912, - 1870,1,3575,1,1,4908,2704,4912,1870,5048, - 3575,161,5048,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1790,945,5272,361,5122,1830, + 5114,4890,1790,1045,2196,1068,3199,1790,5114,1, + 4974,2661,4978,2196,139,3199,436,39,361,5152, + 233,5017,5008,5014,165,5114,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1785,3304,5202,4721,3423,5048, - 3604,5055,1785,3604,229,1063,4942,440,1525,340, - 35,3214,5082,5048,992,4499,5373,5048,5048,4513, - 4516,5048,5547,2271,161,5048,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1790,5114,576, + 5114,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1785,4830,601, - 5048,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,5114,583,5272,5114,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,41,4933,5202,5048,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,5114,5618,5272, + 5114,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,4930,5048,5202, - 5048,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,33,4957,5202,1,4908,2398,4912,621, - 4020,3575,4042,3998,3976,4872,4086,4064,4899,4905, - 4878,4881,4893,4890,4896,4887,4884,4875,4902,5064, - 3323,716,968,5066,891,2659,938,5067,5065,702, - 5060,5062,5063,5061,1237,35,35,2343,5048,5048, - 4534,31,3302,1,4908,2704,4912,1870,5048,3575, - 5048,5079,5048,1859,5048,5048,3431,3470,503,5048, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1785,4833,5202,5048,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,5048,4974,5202,5048, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,5080,5048,5202,5048,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,43,4980,5202,5048, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,4977,45,5202,5048,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,5048,2182,5202,138, - 4824,2398,1040,621,4020,3575,4042,3998,3976,548, - 4086,4064,5305,5303,5312,5311,5307,5308,5306,5309, - 5310,5313,5304,5064,3323,716,968,5066,891,2659, - 938,5067,5065,702,5060,5062,5063,5061,1237,35, - 35,1,4908,2398,4912,621,4020,3575,4042,3998, - 3976,4872,4086,4064,4899,4905,4878,4881,4893,4890, - 4896,4887,4884,4875,4902,5064,3323,716,968,5066, - 891,2659,938,5067,5065,702,5060,5062,5063,5061, - 1237,35,35,35,4824,2398,1040,621,4020,3575, - 4042,3998,3976,548,4086,4064,5305,5303,5312,5311, - 5307,5308,5306,5309,5310,5313,5304,5064,3323,716, - 968,5066,891,2659,938,5067,5065,702,5060,5062, - 5063,5061,1237,283,5334,5048,32,4983,2864,5048, - 5334,352,310,101,2101,3836,5048,5048,2460,5048, - 3360,4357,3689,5048,5048,5048,5048,9174,2929,5082, - 1,5048,3214,444,5056,35,4824,2398,1040,621, - 4020,3575,4042,3998,3976,548,4086,4064,5305,5303, - 5312,5311,5307,5308,5306,5309,5310,5313,5304,5064, - 3323,716,968,5066,891,2659,938,5067,5065,702, - 5060,5062,5063,5061,1237,1,217,872,3220,5503, - 5497,1193,5501,5495,5496,1651,5526,5527,1785,5048, - 4824,4848,1040,4869,3689,3575,5048,5048,443,72, - 5504,3209,389,4915,5399,5082,5056,5048,5048,5048, - 5109,5110,4644,33,4957,1537,1561,4957,273,5296, - 5011,5048,5299,5380,5381,5293,5300,5273,5298,5297, - 5294,5295,5274,572,654,5048,5506,4350,5507,343, - 5471,5472,5473,5528,5505,5048,1,35,1,4970, - 221,4966,221,221,221,221,4851,4351,2186,2465, - 2475,5517,5516,5529,5498,5499,5522,5523,2183,123, - 5520,5521,5500,5502,5524,5525,5530,5510,5511,5512, - 5508,5509,5518,5519,5514,5513,5515,5048,218,872, - 221,5503,5497,487,5501,5495,5496,1785,5526,5527, - 910,5048,4824,284,1040,4869,1,3575,571,5048, - 4986,342,5504,1735,1050,1825,5014,5048,221,404, - 2796,5534,422,35,5048,5082,3535,1537,1561,5048, - 2594,5296,4839,5048,5299,5380,5381,5293,5300,5273, - 5298,5297,5294,5295,5274,572,2089,5048,5506,3310, - 5507,3016,1,3208,5080,5528,5505,389,5079,5048, - 2540,578,5048,5017,2997,5471,5472,5473,5469,1785, - 416,5048,1920,5517,5516,5529,5498,5499,5522,5523, - 5546,5048,5520,5521,5500,5502,5524,5525,5530,5510, - 5511,5512,5508,5509,5518,5519,5514,5513,5515,35, - 4824,2398,1040,621,4020,3575,4042,3998,3976,548, - 4086,4064,5305,5303,5312,5311,5307,5308,5306,5309, - 5310,5313,5304,5064,3323,716,968,5066,891,2659, - 938,5067,5065,702,5060,5062,5063,5061,1237,5048, - 4385,4689,5056,5048,5489,5401,5048,1,2787,3392, - 5048,5048,4690,5048,2774,5048,3414,5048,3689,35, - 4824,2398,1040,621,4020,3575,4042,3998,3976,548, - 4086,4064,5305,5303,5312,5311,5307,5308,5306,5309, - 5310,5313,5304,5064,3323,716,968,5066,891,2659, - 938,5067,5065,702,5060,5062,5063,5061,1237,35, - 4824,2398,1040,621,4020,3575,4042,3998,3976,548, - 4086,4064,5305,5303,5312,5311,5307,5308,5306,5309, - 5310,5313,5304,5064,3323,716,968,5066,891,2659, - 938,5067,5065,702,5060,5062,5063,5061,369,5048, - 3516,3130,5048,6331,5048,5048,4733,5048,6331,5048, - 3452,509,5048,5048,5048,5048,5048,1181,35,4824, - 2398,1040,621,4020,3575,4042,3998,3976,548,4086, - 4064,5305,5303,5312,5311,5307,5308,5306,5309,5310, - 5313,5304,5064,3323,716,968,5066,891,2659,938, - 5067,5065,702,5060,5062,5063,5061,35,4824,2398, - 1040,621,4020,3575,4042,3998,3976,548,4086,4064, - 5305,5303,5312,5311,5307,5308,5306,5309,5310,5313, - 5304,5064,3323,716,968,5066,891,2659,938,5067, - 5065,702,5060,5062,5063,5061,1237,5048,1,5048, - 5048,5048,5048,5048,5048,5048,5048,5048,5048,5048, - 5048,5048,5048,5048,3392,5048,5048,5048,5048,5048, - 5048,3063,3107,5048,5048,5048,5048,3392,5048,5048, - 5048,5054,35,4824,4673,1040,621,4020,3575,4042, - 3998,3976,548,4086,4064,5305,5303,5312,5311,5307, - 5308,5306,5309,5310,5313,5304,5064,3323,716,968, - 5066,891,2659,938,5067,5065,702,5060,5062,5063, - 5061,35,4824,2398,1040,621,4020,3575,4042,3998, - 3976,548,4086,4064,5305,5303,5312,5311,5307,5308, - 5306,5309,5310,5313,5304,5064,3323,716,968,5066, - 891,2659,938,5067,5065,702,5060,5062,5063,5061, - 35,4824,2398,1040,621,4020,3575,4042,3998,3976, - 548,4086,4064,5305,5303,5312,5311,5307,5308,5306, - 5309,5310,5313,5304,5064,3323,716,968,5066,891, - 2659,938,5067,5065,702,5060,5062,5063,5061,5048, - 4845,314,5082,5008,98,97,5048,5048,5048,902, - 5048,5048,5305,5303,5312,5311,5307,5308,5306,5309, - 5310,5313,5304,5048,33,4957,1,4908,2350,4912, - 1870,5048,3575,364,5048,5048,33,4957,125,5048, - 5048,2393,5296,5048,5048,5299,5380,5381,5293,5300, - 5273,5298,5297,5294,5295,5274,5438,5048,4845,1785, - 5082,5048,4726,1958,845,5439,5440,902,309,5080, - 5305,5303,5312,5311,5307,5308,5306,5309,5310,5313, - 5304,5080,5048,1,5026,221,5026,221,221,221, - 221,1,5026,221,5026,221,221,221,221,2594, - 5296,4936,1106,5299,5380,5381,5293,5300,5273,5298, - 5297,5294,5295,5274,5438,422,5048,5048,520,3440, - 5048,173,845,5439,5440,221,8711,2905,5023,2540, - 578,5441,5048,221,8711,26,5023,362,5048,5048, - 5048,5048,1,577,3307,1361,414,3115,5048,435, - 408,577,434,1361,316,3115,5534,3065,5057,5048, - 5048,5469,213,5036,5534,1,5026,221,5026,221, - 221,221,221,1,5026,221,5026,221,221,221, - 221,1,5026,221,5026,221,221,221,221,1, - 5026,221,5026,221,221,221,221,1,5026,221, - 5026,221,221,221,221,412,1150,221,8711,2782, - 5023,2051,1785,5056,861,221,8711,3367,5023,2106, - 3033,5048,2698,221,8711,577,5023,1361,5048,3115, - 5224,221,8711,577,5023,1361,213,3115,5534,221, - 8711,577,5023,1361,212,3115,5534,219,5048,577, - 1,1361,213,3115,5534,308,124,577,494,1361, - 213,3115,5534,492,1,5048,5048,5048,31,5048, - 5534,1,5026,221,5026,221,221,221,221,1, - 5026,221,5026,221,221,221,221,1,5048,3214, - 5296,3471,5048,5299,5380,5381,5293,5300,5273,5298, - 5297,5294,5295,5274,1,5048,496,708,1,3362, - 5,35,5048,221,8711,5048,5023,2594,5014,4939, - 5048,221,8711,4315,5023,3397,5039,4472,3566,5048, - 5048,577,4691,1361,5048,3115,5055,1724,1724,577, - 5048,1361,5048,3115,5534,1785,5048,2540,578,2195, - 336,5048,5534,3016,4857,336,5048,5048,5223,336, - 5048,5048,5048,5048,5048,5017,5048,5048,5048,5048, - 2617,33,5048,5048,1878,1996,516 + 1,1,45,4999,5272,1,4974,4179,4978,626, + 3974,3199,3996,4938,3952,3323,4040,4018,4965,4971, + 4944,4947,4959,4956,4962,4953,4950,4941,4968,5134, + 2402,707,896,5136,718,2629,721,5137,5135,630, + 5130,5132,5133,5131,1242,39,39,94,1,4996, + 1,5114,5020,4753,5020,97,39,318,5152,5074, + 5071,5114,5068,5114,5086,5114,5152,37,5023,5114, + 5149,508,5114,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,2200,1790,5272,5114,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5114, + 1876,5272,5114,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,287,5404,5272,5114,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,36, + 5049,5272,5114,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,5114,5404,5272,5114,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,393, + 5149,5272,1,4974,4179,4978,626,3974,3199,3996, + 4938,3952,3323,4040,4018,4965,4971,4944,4947,4959, + 4956,4962,4953,4950,4941,4968,5134,2402,707,896, + 5136,718,2629,721,5137,5135,630,5130,5132,5133, + 5131,1242,39,39,39,4890,4179,1045,626,3974, + 3199,3996,553,3952,3323,4040,4018,5375,5373,5382, + 5381,5377,5378,5376,5379,5380,5383,5374,5134,2402, + 707,896,5136,718,2629,721,5137,5135,630,5130, + 5132,5133,5131,1242,5114,5114,4761,1,4974,4269, + 4978,2196,5114,3199,5114,5086,5114,5152,129,2177, + 5114,3515,5114,3484,5114,4926,4770,5114,5114,4773, + 3812,1,5114,3074,507,5122,39,4890,4179,1045, + 626,3974,3199,3996,553,3952,3323,4040,4018,5375, + 5373,5382,5381,5377,5378,5376,5379,5380,5383,5374, + 5134,2402,707,896,5136,718,2629,721,5137,5135, + 630,5130,5132,5133,5131,1242,1,2018,877,3236, + 5574,5568,2564,5572,5002,5566,5567,5597,5598,1790, + 5114,4890,1,1045,4935,3484,3199,340,2429,340, + 5080,5575,816,340,5114,219,5114,5122,1,2510, + 2483,384,392,5114,2987,4926,1488,1524,5375,5373, + 5382,5381,5377,5378,5376,5379,5380,5383,5374,5542, + 5543,5544,140,5114,654,5114,3243,659,2959,3170, + 5577,27,5578,5114,5599,5576,3076,5366,5114,5083, + 5369,5450,102,5451,5363,5370,5343,5368,5367,5364, + 5365,5344,5588,5587,5600,5569,5570,5593,5594,223, + 2441,5591,5592,5571,5573,5595,5596,5601,5581,5582, + 5583,5579,5580,5589,5590,5585,5584,5586,5114,5114, + 877,5123,5574,5568,5114,5572,421,5566,5567,5597, + 5598,1748,5114,4890,1,1045,4935,5011,3199,5011, + 4784,5366,5080,5575,5369,5450,4226,5451,5363,5370, + 5343,5368,5367,5364,5365,5344,37,5023,1488,1524, + 5023,5114,2204,4180,1706,1664,1622,1580,1538,1496, + 1454,1412,1370,1328,4439,5114,654,356,105,2094, + 4431,3170,5577,1,5578,2446,5599,5576,5114,3568, + 3304,5083,4728,5114,5114,2850,3770,277,5114,5077, + 4596,5114,30,2191,5588,5587,5600,5569,5570,5593, + 5594,5114,5114,5591,5592,5571,5573,5595,5596,5601, + 5581,5582,5583,5579,5580,5589,5590,5585,5584,5586, + 39,4890,4179,1045,626,3974,3199,3996,553,3952, + 3323,4040,4018,5375,5373,5382,5381,5377,5378,5376, + 5379,5380,5383,5374,5134,2402,707,896,5136,718, + 2629,721,5137,5135,630,5130,5132,5133,5131,1242, + 5469,5511,417,5114,5114,4432,5471,3573,2560,4728, + 5114,5114,3504,2958,5114,5114,4474,4717,1,3484, + 39,4890,4179,1045,626,3974,3199,3996,553,3952, + 3323,4040,4018,5375,5373,5382,5381,5377,5378,5376, + 5379,5380,5383,5374,5134,2402,707,896,5136,718, + 2629,721,5137,5135,630,5130,5132,5133,5131,1242, + 39,4890,4179,1045,626,3974,3199,3996,553,3952, + 3323,4040,4018,5375,5373,5382,5381,5377,5378,5376, + 5379,5380,5383,5374,5134,2402,707,896,5136,718, + 2629,721,5137,5135,630,5130,5132,5133,5131,5114, + 5114,373,4726,5114,514,3523,5114,7214,5114,187, + 4803,3398,5114,7214,5114,3586,5114,5114,1153,39, + 4890,4179,1045,626,3974,3199,3996,553,3952,3323, + 4040,4018,5375,5373,5382,5381,5377,5378,5376,5379, + 5380,5383,5374,5134,2402,707,896,5136,718,2629, + 721,5137,5135,630,5130,5132,5133,5131,39,4890, + 4179,1045,626,3974,3199,3996,553,3952,3323,4040, + 4018,5375,5373,5382,5381,5377,5378,5376,5379,5380, + 5383,5374,5134,2402,707,896,5136,718,2629,721, + 5137,5135,630,5130,5132,5133,5131,1242,5114,1, + 5114,5114,5114,5114,5114,5114,5114,5114,5114,5114, + 5114,5114,5114,5114,5114,3526,5114,3526,5114,5114, + 3526,5114,3187,3313,5114,5114,5114,5114,5114,5111, + 5114,5114,5120,39,4890,4284,1045,626,3974,3199, + 3996,553,3952,3323,4040,4018,5375,5373,5382,5381, + 5377,5378,5376,5379,5380,5383,5374,5134,2402,707, + 896,5136,718,2629,721,5137,5135,630,5130,5132, + 5133,5131,39,4890,4179,1045,626,3974,3199,3996, + 553,3952,3323,4040,4018,5375,5373,5382,5381,5377, + 5378,5376,5379,5380,5383,5374,5134,2402,707,896, + 5136,718,2629,721,5137,5135,630,5130,5132,5133, + 5131,39,4890,4179,1045,626,3974,3199,3996,553, + 3952,3323,4040,4018,5375,5373,5382,5381,5377,5378, + 5376,5379,5380,5383,5374,5134,2402,707,896,5136, + 718,2629,721,5137,5135,630,5130,5132,5133,5131, + 5114,4911,5114,5152,5114,5114,360,101,907,128, + 5114,5114,5040,5375,5373,5382,5381,5377,5378,5376, + 5379,5380,5383,5374,368,1,5092,225,5092,225, + 225,225,225,5114,5114,5114,5114,5114,5114,320, + 47,5046,5366,5114,49,5369,5450,5114,5451,5363, + 5370,5343,5368,5367,5364,5365,5344,5508,5150,2656, + 577,5509,5510,5114,4911,1963,5152,8863,225,3158, + 5617,907,5089,2564,3219,5005,5375,5373,5382,5381, + 5377,5378,5376,5379,5380,5383,5374,5043,1710,3502, + 1366,2187,3320,1111,2988,286,366,1790,5605,305, + 2510,2483,5560,427,39,5366,5152,5418,5369,5450, + 401,5451,5363,5370,5343,5368,5367,5364,5365,5344, + 5508,39,419,577,5509,5510,1,5092,225,5092, + 225,225,225,225,5114,1,5092,225,5092,225, + 225,225,225,76,5114,2834,525,439,5540,5114, + 5052,177,5114,5056,5179,5180,37,5023,37,5023, + 413,2317,440,870,1645,1155,499,497,8863,225, + 1,5114,5114,5089,35,5114,5114,8863,225,5114, + 2724,312,5089,1,5114,3249,5,5123,501,1710, + 866,1366,5114,3320,5102,4923,5150,217,1710,5605, + 1366,4378,3320,5150,2056,5150,217,5114,5605,1, + 5092,225,5092,225,225,225,225,3082,1,5092, + 225,5092,225,225,225,225,5114,5114,5114,2111, + 3148,5114,5114,5114,5114,4189,4195,5114,3554,5114, + 5114,5294,5121,1687,915,3459,5293,5114,1687,4257, + 37,8863,225,1883,5114,521,5089,2001,1055,5114, + 8863,225,5114,5114,5114,5089,5114,5114,5114,5114, + 5114,5114,1710,5114,1366,5114,3320,5114,5114,5114, + 216,1710,5605,1366,5114,3320,5114,5114,5114,217, + 5114,5605,1,5092,225,5092,225,225,225,225, + 5114,1,5092,225,5092,225,225,225,225,5114, + 5114,5114,5114,5114,5114,5114,5114,5114,5114,5114, + 5114,5114,5114,5114,5114,5114,5114,5114,5114,5114, + 5114,5114,5114,5114,8863,225,5114,5114,5114,5089, + 5114,5114,5114,8863,225,5114,5114,5114,5089,5114, + 5114,5114,5114,5114,5114,1710,5114,1366,5114,3320, + 5114,5114,5114,217,1710,5605,1366,5114,3320,5114, + 5114,5114,5114,5114,5605,1,5092,225,5092,225, + 225,225,225,5114,1,5092,225,5092,225,225, + 225,225,5114,5114,5114,5114,5114,5114,5114,5114, + 5114,5114,5114,5114,5114,5114,5114,5114,5114,5114, + 5114,5114,5114,5114,5114,5114,5114,8863,225,5114, + 5114,5114,5089,5114,5114,5114,8863,225,5114,5114, + 5114,5089,5114,5114,5114,5114,5114,5114,1710,5114, + 1366,5114,3320,5114,5114,5114,5114,1710,5605,1366, + 5114,3320,5114,5114,5114,5114,5114,5605 }; }; public final static char termAction[] = TermAction.termAction; @@ -1797,58 +1841,58 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Asb { public final static char asb[] = {0, - 1007,60,476,60,62,997,277,277,277,277, - 57,997,277,798,749,127,1044,1007,1046,477, - 477,477,477,477,477,477,477,477,749,755, - 760,757,764,762,769,767,771,770,772,223, - 773,476,459,29,29,29,29,272,231,1, - 747,29,67,378,749,749,1,828,378,913, - 28,596,58,274,58,459,733,733,713,713, - 231,1007,477,477,477,477,477,477,477,477, - 477,477,477,477,477,477,477,477,477,477, - 477,476,476,476,476,476,476,476,476,476, - 476,476,1007,477,378,378,104,460,867,867, - 867,867,220,378,1,109,722,733,911,733, - 433,733,909,733,29,733,57,272,67,67, - 1,67,28,476,514,595,378,513,272,515, - 513,378,67,757,757,755,755,755,762,762, - 762,762,760,760,767,764,764,770,769,771, - 556,772,109,282,396,387,386,346,57,1046, - 997,997,997,997,272,272,867,135,866,747, - 272,743,178,272,436,220,435,435,911,279, - 272,272,272,220,867,477,29,753,69,378, - 58,272,272,515,596,476,104,67,788,378, - 398,400,272,596,1007,1007,1007,1007,997,997, - 460,112,743,178,436,436,436,220,436,279, - 279,272,220,272,378,753,109,595,272,58, - 514,378,391,380,542,400,220,514,378,378, - 378,378,231,231,743,119,520,272,178,556, - 221,268,548,178,436,436,999,272,279,520, - 518,519,272,754,754,753,1007,69,516,58, - 333,476,540,540,324,324,272,394,109,644, - 378,272,378,378,743,596,277,513,549,342, - 997,510,522,1002,272,520,477,272,231,477, - 67,272,516,333,476,476,400,272,596,378, - 398,380,333,357,514,191,514,793,109,525, - 477,556,329,436,436,999,56,272,378,67, - 272,539,400,272,333,794,191,514,549,510, - 477,477,436,911,57,57,539,378,595,539, - 866,277,114,114,794,911,441,522,272,997, - 272,997,532,539,191,602,191,865,865,546, - 442,57,272,231,272,401,532,322,676,990, - 997,910,637,191,29,29,546,441,556,477, - 556,794,997,997,997,442,997,272,955,794, - 794,990,272,911,440,378,543,534,558,867, - 990,322,601,911,719,911,57,866,175,997, - 556,442,459,459,458,796,459,794,794,173, - 546,29,534,602,601,602,794,328,793,378, - 601,601,57,601,272,431,644,378,510,378, - 955,794,997,378,546,601,476,870,510,794, - 520,601,601,272,601,272,114,378,378,370, - 442,173,442,794,955,1007,442,439,520,378, - 869,520,272,520,794,794,865,911,911,946, - 476,440,1006,794,378,869,794,513,442,378, - 1006,794,519,442,378,869,442 + 1008,60,362,60,62,953,278,278,278,278, + 57,953,278,549,808,127,1045,1008,1047,363, + 363,363,363,363,363,363,363,363,808,814, + 819,816,823,821,828,826,830,829,831,224, + 832,362,345,29,29,29,29,273,232,1, + 806,29,67,436,808,808,1,579,436,955, + 28,690,58,275,58,345,792,792,775,775, + 232,1008,363,363,363,363,363,363,363,363, + 363,363,363,363,363,363,363,363,363,363, + 363,362,362,362,362,362,362,362,362,362, + 362,362,1008,363,436,436,104,346,618,618, + 618,618,221,436,1,109,781,792,897,792, + 513,792,895,792,29,792,57,273,67,67, + 1,67,28,362,400,689,436,399,273,401, + 399,436,67,816,816,814,814,814,821,821, + 821,821,819,819,826,823,823,829,828,830, + 1005,831,109,283,454,445,444,404,57,1047, + 953,953,953,953,273,273,618,135,617,806, + 273,802,178,273,516,221,515,515,897,280, + 273,273,273,221,618,363,29,812,69,436, + 58,273,273,401,690,362,104,67,847,436, + 456,458,273,690,1008,1008,1008,1008,953,953, + 346,112,802,178,516,516,516,221,516,280, + 280,273,221,273,436,812,109,689,273,58, + 400,436,449,438,536,458,221,400,436,436, + 436,436,232,232,802,119,521,273,178,1005, + 222,269,997,178,516,516,904,273,280,521, + 519,520,273,813,813,812,1008,69,402,58, + 500,362,534,534,491,491,273,452,109,620, + 436,273,436,436,802,690,278,399,998,509, + 953,396,523,907,273,521,363,273,232,363, + 67,273,402,500,362,362,458,273,690,436, + 456,438,500,415,400,192,400,852,109,540, + 363,1005,496,516,516,904,56,273,436,67, + 273,533,458,273,500,853,192,400,998,396, + 363,363,516,897,57,57,533,436,689,533, + 617,278,114,114,853,897,327,523,273,953, + 273,953,526,533,192,696,192,616,616,547, + 328,57,273,232,273,459,526,323,738,946, + 953,896,731,192,29,29,547,327,1005,363, + 1005,853,953,953,953,328,953,273,911,853, + 853,946,273,897,326,436,537,528,652,618, + 946,323,695,897,899,897,57,617,175,953, + 1005,328,345,345,344,902,345,853,853,173, + 547,29,528,696,695,696,853,495,852,436, + 695,695,57,695,273,489,620,436,396,436, + 911,853,953,436,547,695,362,856,396,853, + 521,695,695,273,695,273,114,436,436,428, + 328,173,328,853,911,1008,328,325,521,436, + 855,521,273,521,853,853,616,897,897,988, + 362,326,1007,853,436,855,853,399,328,436, + 1007,853,520,328,436,855,328 }; }; public final static char asb[] = Asb.asb; @@ -1858,109 +1902,109 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public final static byte asr[] = {0, 26,40,27,28,41,6,29,30,31,32, 39,33,34,35,36,37,24,11,12,7, - 5,8,9,4,25,63,38,2,49,13, - 14,57,47,15,65,50,43,16,51,52, - 17,18,53,54,19,20,55,66,56,10, - 67,21,22,48,23,46,1,3,0,114, - 0,70,72,42,114,68,113,0,94,88, - 8,9,89,90,86,87,61,91,92,95, + 5,9,10,4,25,66,38,2,49,13, + 14,57,46,15,60,50,42,16,51,52, + 17,18,53,54,19,20,55,61,56,8, + 62,21,22,48,23,45,1,3,0,114, + 0,70,72,43,114,68,113,0,94,88, + 9,10,89,90,86,87,64,91,92,95, 96,97,98,99,100,112,70,93,69,102, 103,104,105,106,107,108,109,110,111,113, - 71,42,114,63,68,72,2,58,1,7, - 3,5,0,63,69,68,1,0,6,39, - 74,1,4,3,47,48,59,70,93,113, - 72,71,42,114,58,2,115,94,101,88, - 11,12,7,5,8,9,89,90,86,87, - 61,91,92,95,96,97,98,99,100,112, + 71,43,114,66,68,72,2,58,1,7, + 3,5,0,66,69,68,1,0,6,39, + 74,1,4,3,46,48,59,70,93,113, + 72,71,43,114,58,2,115,94,101,88, + 11,12,7,5,9,10,89,90,86,87, + 64,91,92,95,96,97,98,99,100,112, 102,103,104,105,106,107,108,109,110,111, - 63,68,69,0,64,62,116,73,6,117, - 118,119,60,2,7,5,4,70,71,42, - 49,13,14,57,47,15,65,50,43,16, - 51,52,17,18,53,54,19,20,55,66, - 56,10,67,21,46,22,48,23,3,1, - 45,0,63,70,93,68,113,71,42,114, - 72,13,14,26,40,15,27,28,16,17, - 18,41,29,19,20,30,31,32,39,33, - 34,21,22,23,35,36,37,24,2,11, - 12,7,5,8,9,25,38,6,4,3, - 10,1,0,59,70,3,61,0,1,71, - 0,40,41,113,10,27,31,29,26,34, + 66,68,69,0,67,65,116,73,6,117, + 118,119,63,2,7,5,4,70,71,43, + 44,49,13,14,57,46,15,60,50,42, + 16,51,52,17,18,53,54,19,20,55, + 61,56,8,62,21,45,22,48,23,3, + 1,47,0,66,70,93,68,113,71,43, + 114,72,13,14,26,40,15,27,28,16, + 17,18,41,29,19,20,30,31,32,39, + 33,34,21,22,23,35,36,37,24,2, + 11,12,7,5,9,10,25,38,6,4, + 3,8,1,0,59,70,3,64,0,1, + 71,0,40,41,113,8,27,31,29,26, + 34,14,23,13,19,17,18,20,21,16, + 15,22,35,38,36,37,33,28,32,4, + 6,3,2,11,12,7,5,9,10,25, + 30,1,24,0,116,120,71,74,63,65, + 67,76,78,84,82,75,80,81,83,85, + 59,77,79,43,44,60,57,61,62,49, + 54,55,42,53,52,45,50,46,48,51, + 56,39,40,41,8,27,31,29,26,34, 14,23,13,19,17,18,20,21,16,15, - 22,35,38,36,37,33,28,32,4,6, - 3,2,11,12,7,5,8,9,25,30, - 1,24,0,63,93,72,58,2,68,42, - 69,0,47,39,48,63,93,69,68,72, - 0,59,70,74,0,13,14,15,16,17, - 18,19,20,21,22,23,49,47,50,43, - 51,52,53,54,55,56,46,48,42,6, - 1,58,2,7,5,4,3,72,0,7, - 5,6,4,3,1,2,63,69,68,58, - 72,93,0,4,6,2,58,5,7,93, - 49,13,14,47,15,65,50,43,16,51, - 52,17,18,53,54,19,20,55,66,56, - 10,67,21,46,22,48,23,1,3,72, - 57,0,45,1,3,59,70,0,116,120, - 71,74,60,62,64,76,78,84,82,75, - 80,81,83,85,59,77,79,42,44,65, - 57,66,67,49,54,55,43,53,52,46, - 50,47,48,51,56,39,40,41,10,27, - 31,29,26,34,14,23,13,19,17,18, - 20,21,16,15,22,35,38,36,37,24, - 33,28,32,11,12,8,9,25,30,7, - 5,2,3,6,1,4,0,69,68,71, - 0,59,68,0,70,58,2,69,68,42, - 0,47,48,74,2,59,70,42,39,63, - 69,93,72,68,0,116,0,42,7,5, - 4,6,2,1,3,70,0,64,49,13, - 14,57,47,15,65,50,73,43,16,51, - 52,17,18,53,62,54,19,20,55,66, - 56,10,67,21,60,46,22,48,23,2, - 7,3,42,59,5,6,1,4,45,0, - 71,14,57,47,15,65,50,16,51,52, - 17,18,53,54,19,20,55,66,56,67, - 21,46,22,48,23,13,49,2,7,5, - 42,60,64,73,43,45,6,1,4,3, - 10,62,0,49,13,14,57,47,15,65, - 50,43,16,51,52,17,18,53,54,19, - 20,55,66,56,10,67,21,46,22,48, - 23,1,3,93,0,14,57,47,15,65, + 22,35,38,36,37,24,33,28,32,11, + 12,9,10,25,30,7,5,2,3,6, + 1,4,0,13,14,15,16,17,18,19, + 20,21,22,23,49,46,50,42,51,52, + 53,54,55,56,45,48,43,6,1,58, + 2,7,5,4,3,72,0,7,5,6, + 4,3,1,2,66,69,68,58,72,93, + 0,4,6,2,58,5,7,93,49,13, + 14,46,15,60,50,42,16,51,52,17, + 18,53,54,19,20,55,61,56,8,62, + 21,45,22,48,23,1,3,72,57,0, + 66,93,72,58,2,68,43,69,0,46, + 39,48,66,93,69,68,72,0,59,70, + 74,0,47,1,3,59,70,0,69,68, + 71,0,59,68,0,46,48,74,2,59, + 70,43,39,66,69,93,72,68,0,70, + 58,2,69,68,43,0,116,0,49,13, + 14,57,46,15,60,50,42,16,51,52, + 17,18,53,54,19,20,55,61,56,8, + 62,21,45,22,48,23,1,3,41,40, + 9,10,5,89,90,97,7,98,4,25, + 64,105,106,102,103,104,110,109,111,87, + 86,107,108,95,96,91,92,99,100,11, + 12,88,101,2,58,69,68,66,0,49, + 13,14,57,46,15,60,50,42,16,51, + 52,17,18,53,54,19,20,55,61,56, + 8,62,21,45,22,48,23,1,3,93, + 0,67,49,13,14,57,46,15,60,50, + 73,42,16,51,52,17,18,53,65,54, + 19,20,55,61,56,8,62,21,63,45, + 22,48,23,2,7,3,43,59,5,6, + 1,4,47,0,71,14,57,46,15,60, 50,16,51,52,17,18,53,54,19,20, - 55,66,56,10,67,21,46,22,48,23, - 13,49,2,7,5,42,60,62,64,73, - 43,61,6,3,45,4,1,0,59,69, - 0,14,23,13,19,17,18,20,21,16, - 15,22,46,56,55,54,53,52,51,43, - 50,49,47,6,48,4,1,3,115,101, - 11,12,58,2,94,88,5,89,90,8, - 9,87,86,61,91,92,95,96,7,97, - 98,99,63,93,72,114,69,102,103,104, - 105,106,107,108,109,110,111,70,113,71, - 100,112,68,42,0,75,0,49,13,14, - 57,47,15,65,50,43,16,51,52,17, - 18,53,54,19,20,55,66,56,10,67, - 21,46,22,48,23,1,3,41,40,8, - 9,5,89,90,97,7,98,4,25,61, - 105,106,102,103,104,110,109,111,87,86, - 107,108,95,96,91,92,99,100,11,12, - 88,101,2,58,69,68,63,0,71,40, - 41,39,11,12,7,5,8,9,4,25, - 30,2,6,35,38,36,37,24,33,28, - 32,14,23,13,19,17,18,20,21,16, - 15,22,10,27,31,29,26,34,3,1, - 59,0,40,41,11,12,8,9,25,30, - 35,38,36,37,24,33,28,32,14,23, - 13,19,17,18,20,21,16,15,22,10, - 27,31,29,26,34,7,5,2,58,4, - 6,1,3,0,13,14,26,40,15,27, - 28,16,17,18,41,29,19,20,30,31, - 32,39,33,34,10,21,22,23,35,36, - 37,24,11,12,8,9,25,38,44,7, - 5,42,4,1,6,3,2,0,1,46, - 3,117,118,119,0,72,13,14,26,15, - 27,28,16,17,18,29,19,20,30,31, - 32,39,33,34,10,21,22,23,35,36, - 37,24,2,11,12,7,5,8,9,25, - 3,38,44,4,6,1,41,40,0 + 55,61,56,62,21,45,22,48,23,13, + 49,2,7,5,43,63,67,73,42,47, + 6,1,4,3,8,65,0,14,57,46, + 15,60,50,16,51,52,17,18,53,54, + 19,20,55,61,56,8,62,21,45,22, + 48,23,13,49,2,7,5,43,63,65, + 67,73,42,64,6,3,47,4,1,0, + 14,23,13,19,17,18,20,21,16,15, + 22,45,56,55,54,53,52,51,42,50, + 49,46,6,48,4,1,3,115,101,11, + 12,58,2,94,88,5,89,90,9,10, + 87,86,64,91,92,95,96,7,97,98, + 99,66,93,72,114,69,102,103,104,105, + 106,107,108,109,110,111,70,113,71,100, + 112,68,43,0,71,40,41,39,11,12, + 7,5,9,10,4,25,30,2,6,35, + 38,36,37,24,33,28,32,14,23,13, + 19,17,18,20,21,16,15,22,8,27, + 31,29,26,34,3,1,59,0,59,69, + 0,75,0,1,45,3,117,118,119,0, + 13,14,26,40,15,27,28,16,17,18, + 41,29,19,20,30,31,32,39,33,34, + 8,21,22,23,35,36,37,24,11,12, + 9,10,25,38,44,7,5,43,4,1, + 6,3,2,0,40,41,11,12,9,10, + 25,30,35,38,36,37,24,33,28,32, + 14,23,13,19,17,18,20,21,16,15, + 22,8,27,31,29,26,34,7,5,2, + 58,4,6,1,3,0,43,7,5,4, + 6,2,1,3,70,0,72,13,14,26, + 15,27,28,16,17,18,29,19,20,30, + 31,32,39,33,34,8,21,22,23,35, + 36,37,24,2,11,12,7,5,9,10, + 25,3,38,44,4,6,1,41,40,0 }; }; public final static byte asr[] = Asr.asr; @@ -1968,58 +2012,58 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Nasb { public final static char nasb[] = {0, - 201,12,19,12,12,12,12,12,12,12, - 112,12,12,213,12,12,8,122,143,19, - 19,6,19,19,19,19,19,19,12,12, - 12,12,12,12,12,12,12,12,12,19, - 12,19,197,164,164,164,164,143,167,131, - 40,104,84,206,12,12,131,215,206,19, - 60,100,12,12,12,197,12,12,55,55, - 167,122,19,19,19,19,19,19,19,19, - 19,19,19,19,19,19,19,19,19,19, - 19,19,19,19,19,19,19,19,19,19, - 19,19,122,19,206,206,159,1,12,12, - 12,12,88,206,17,71,228,229,12,229, - 141,229,112,229,221,12,112,143,84,84, - 17,84,164,68,175,133,206,174,91,143, - 174,206,84,12,12,12,12,12,12,12, + 189,12,20,12,12,12,12,12,12,12, + 108,12,12,180,12,12,8,177,141,20, + 20,6,20,20,20,20,20,20,12,12, + 12,12,12,12,12,12,12,12,12,20, + 12,20,192,150,150,150,150,141,114,125, + 38,100,83,242,12,12,125,182,242,20, + 13,159,12,12,12,192,12,12,55,55, + 114,177,20,20,20,20,20,20,20,20, + 20,20,20,20,20,20,20,20,20,20, + 20,20,20,20,20,20,20,20,20,20, + 20,20,177,20,242,242,145,1,12,12, + 12,12,76,242,18,67,216,217,12,217, + 139,217,108,217,209,12,108,141,83,83, + 18,83,150,64,166,93,242,165,97,141, + 165,242,83,12,12,12,12,12,12,12, 12,12,12,12,12,12,12,12,12,12, - 12,12,71,80,159,62,62,12,112,143, - 12,12,12,12,35,11,12,12,12,116, - 143,131,131,9,131,217,131,12,12,131, - 217,143,32,12,12,19,164,131,29,206, - 12,10,143,32,100,19,114,84,12,206, - 208,131,143,100,122,122,122,122,12,12, - 17,12,24,246,131,131,38,99,38,131, - 195,11,99,35,206,43,116,133,32,12, - 35,206,12,125,12,210,98,35,206,206, - 206,206,167,167,131,24,53,143,240,12, - 12,13,183,246,38,38,242,35,195,53, - 12,12,35,102,102,12,122,116,12,12, - 131,19,12,12,62,62,143,125,71,210, - 206,35,206,206,24,100,12,112,231,131, - 12,127,12,251,217,53,19,195,167,19, - 84,32,12,24,19,19,131,32,100,206, - 208,170,131,12,175,131,217,240,71,12, - 19,12,78,131,76,45,47,91,206,84, - 32,131,210,143,24,240,210,175,231,172, - 19,19,76,86,137,112,94,206,100,131, - 12,12,64,64,240,86,26,12,217,12, - 217,12,131,94,210,190,131,12,12,131, - 178,137,91,167,91,204,24,12,190,184, - 12,11,13,210,164,164,157,119,12,19, - 12,240,12,12,12,120,12,12,238,240, - 240,131,12,74,12,206,206,131,131,12, - 127,12,131,12,12,12,112,12,66,12, - 12,120,163,163,152,12,163,240,240,12, - 131,164,94,190,131,190,240,96,12,206, - 147,131,112,131,217,12,164,206,127,206, - 154,240,12,206,157,147,68,19,127,240, - 53,190,147,217,147,15,64,206,206,131, - 120,12,120,240,154,122,120,66,53,206, - 131,53,15,53,240,12,12,74,74,125, - 19,12,154,240,206,49,240,174,120,206, - 154,240,53,120,206,49,120 + 12,12,67,79,145,60,60,12,108,141, + 12,12,12,12,15,11,12,12,12,136, + 141,125,125,9,125,244,125,12,12,125, + 244,141,33,12,12,20,150,125,30,242, + 12,10,141,33,159,20,134,83,12,242, + 196,125,141,159,177,177,177,177,12,12, + 18,12,25,233,125,125,36,158,36,125, + 127,11,158,15,242,41,136,93,33,12, + 15,242,12,119,12,198,157,15,242,242, + 242,242,114,114,125,25,53,141,207,12, + 12,72,226,233,36,36,201,15,127,53, + 12,12,15,117,117,12,177,136,12,12, + 125,20,12,12,60,60,141,119,67,198, + 242,15,242,242,25,159,12,108,219,125, + 12,121,12,238,244,53,20,127,114,20, + 83,33,12,25,20,20,125,33,159,242, + 196,161,125,12,166,125,244,207,67,12, + 20,12,85,125,70,45,47,97,242,83, + 33,125,198,141,25,207,198,166,219,163, + 20,20,70,87,153,108,91,242,159,125, + 12,12,43,43,207,87,27,12,244,12, + 244,12,125,91,198,184,125,12,12,125, + 169,153,97,114,97,240,25,12,184,227, + 12,11,72,198,150,150,110,174,12,20, + 12,207,12,12,12,175,12,12,205,207, + 207,125,12,89,12,242,242,125,125,12, + 121,12,125,12,12,12,108,12,62,12, + 12,175,149,149,248,12,149,207,207,12, + 125,150,91,184,125,184,207,74,12,242, + 129,125,108,125,244,12,150,242,121,242, + 250,207,12,242,110,129,64,20,121,207, + 53,184,129,244,129,112,43,242,242,125, + 175,12,175,207,250,177,175,62,53,242, + 125,53,112,53,207,12,12,89,89,119, + 20,12,250,207,242,49,207,165,175,242, + 250,207,53,175,242,49,175 }; }; public final static char nasb[] = Nasb.nasb; @@ -2028,31 +2072,31 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Nasr { public final static char nasr[] = {0, 148,146,122,145,144,5,12,7,2,3, - 1,0,151,0,43,0,49,4,5,7, - 3,12,0,57,0,4,62,0,4,174, - 0,3,80,0,3,2,0,114,0,4, - 188,0,175,0,5,160,130,0,12,3, - 7,5,62,0,5,3,7,138,0,170, - 0,69,0,113,0,116,0,4,28,0, - 5,103,0,55,0,153,0,185,0,12, - 3,7,5,79,0,154,0,135,63,0, - 3,31,0,125,0,179,0,135,1,63, - 0,139,0,3,148,147,146,122,145,144, - 143,5,0,100,99,5,64,0,62,46, - 71,4,38,0,100,99,68,5,3,7, - 4,0,63,137,136,0,164,5,163,0, - 2,5,1,3,47,0,108,4,46,70, - 0,46,50,4,106,0,155,0,99,100, - 4,0,117,4,49,0,4,102,0,100, - 99,68,64,5,7,3,0,4,46,38, - 176,0,39,5,7,3,4,60,0,4, - 46,70,82,0,124,0,4,49,38,0, - 4,169,0,49,4,34,0,5,103,23, - 4,0,4,49,166,0,1,3,58,0, - 3,5,122,118,119,120,121,12,93,0, - 1,68,5,3,7,4,0,4,38,39, - 0,5,130,186,0,4,46,70,65,5, - 129,0 + 1,0,170,0,3,2,0,49,4,5, + 7,3,12,0,57,0,4,62,0,4, + 174,0,3,81,0,114,0,4,188,0, + 175,0,113,0,5,160,130,0,12,3, + 7,5,62,0,5,3,7,138,0,69, + 0,116,0,4,28,0,5,103,0,153, + 0,151,0,179,0,135,63,0,12,3, + 7,5,79,0,185,0,154,0,55,0, + 125,0,63,137,136,0,3,31,0,3, + 148,147,146,122,145,144,143,5,0,155, + 0,43,0,4,102,0,139,0,100,99, + 68,5,3,7,4,0,124,0,108,4, + 46,70,0,100,99,5,64,0,2,5, + 1,3,47,0,99,100,4,0,117,4, + 49,0,164,5,163,0,135,1,63,0, + 100,99,68,64,5,7,3,0,4,46, + 38,176,0,62,46,71,4,38,0,4, + 49,166,0,4,46,70,80,0,4,169, + 0,4,49,38,0,5,103,23,4,0, + 5,130,186,0,4,38,39,0,3,5, + 122,118,119,120,121,12,93,0,1,68, + 5,3,7,4,0,39,5,7,3,4, + 60,0,4,46,70,65,5,129,0,49, + 4,34,0,1,3,58,0,46,50,4, + 106,0 }; }; public final static char nasr[] = Nasr.nasr; @@ -2060,13 +2104,13 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface TerminalIndex { public final static char terminalIndex[] = {0, - 115,2,32,14,11,81,10,12,13,102, + 115,2,32,14,11,81,10,102,12,13, 8,9,50,54,62,70,76,77,88,89, 104,107,109,114,15,57,63,69,86,90, 92,96,99,101,111,112,113,46,97,60, - 80,122,68,123,95,106,56,108,49,66, - 72,75,78,85,91,100,55,1,3,105, - 20,79,21,48,65,93,103,45,34,31, + 80,68,122,123,106,56,95,108,49,66, + 72,75,78,85,91,100,55,1,3,65, + 93,103,105,20,79,21,48,45,34,31, 121,120,67,98,110,51,52,58,59,61, 71,73,74,87,94,18,19,7,16,17, 22,23,33,5,24,25,26,27,28,29, @@ -2086,11 +2130,11 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 138,166,167,127,168,169,0,131,129,170, 0,197,143,0,140,0,139,0,153,177, 0,0,0,0,173,147,187,0,203,204, - 0,128,0,156,179,0,201,205,206,0, - 172,0,0,0,0,0,0,0,126,148, - 176,178,0,0,0,0,0,0,0,0, + 0,128,0,156,178,0,201,205,206,0, + 172,0,0,0,0,0,0,0,126,130, + 148,176,0,0,0,0,0,0,0,0, 0,0,186,0,0,212,158,208,209,210, - 0,0,202,0,0,0,207,130,0,0, + 0,0,202,0,0,0,207,179,0,0, 0,211,0,0,0,241,175,189,190,191, 192,193,195,196,0,214,217,219,220,0, 237,0,240,0,0,141,142,146,0,155, @@ -2099,7 +2143,8 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 0,231,232,233,0,235,236,239,125,0, 151,0,0,154,157,174,0,198,200,213, 218,0,222,223,225,227,229,230,242,243, - 0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0, + 0 }; }; public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex; @@ -2153,7 +2198,7 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 50,55,175,18,17,17,17,17,17,11, 116,157,127,75,74,74,37,138,74,19, 17,17,17,17,101,75,164,160,179,99, - 107,61,69,59,81,121,76,72,141,175, + 107,61,69,59,82,121,76,72,141,175, 173,16,157,121,117,138,128,128,64,138, 75,138,65,157,73,136,47,136,47,163, 117,118,65,65,60 @@ -2165,16 +2210,16 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeLa { public final static byte scopeLa[] = { 116,72,72,72,72,72,72,72,72,1, - 71,42,71,71,71,63,1,72,120,72, - 59,2,42,63,63,42,71,59,71,71, - 1,1,1,1,63,3,42,1,1,63, - 72,72,72,116,72,42,71,1,1,1, - 42,71,113,72,72,72,72,72,113,1, + 71,43,71,71,71,66,1,72,120,72, + 59,2,43,66,66,43,71,59,71,71, + 1,1,1,1,66,3,43,1,1,66, + 72,72,72,116,72,43,71,1,1,1, + 43,71,113,72,72,72,72,72,113,1, 72,1,68,72,72,72,70,3,72,2, - 63,63,63,63,72,42,1,1,72,72, - 2,1,113,72,1,1,42,70,72,113, - 72,72,1,45,69,4,1,1,5,1, - 75,45,74,42,42,3,3,3,3,2, + 66,66,66,66,72,43,1,1,72,72, + 2,1,113,72,1,1,43,70,72,113, + 72,72,1,47,69,4,1,1,5,1, + 75,47,74,43,43,3,3,3,3,2, 1,59,1,1,2 }; }; @@ -2204,10 +2249,10 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public final static char scopeRhs[] = {0, 313,2,39,0,127,0,312,2,116,0, 127,173,0,127,178,74,0,216,0,288, - 127,61,126,0,21,0,290,127,61,45, + 127,64,126,0,21,0,290,127,64,47, 0,21,55,0,34,132,0,21,55,0, - 0,290,127,61,45,193,0,21,178,0, - 288,127,61,130,0,181,128,0,138,0, + 0,290,127,64,47,193,0,21,130,0, + 288,127,64,130,0,181,128,0,138,0, 225,2,287,0,287,0,2,0,127,0, 181,128,253,252,253,0,131,186,170,128, 0,129,0,186,170,128,0,134,129,0, @@ -2225,16 +2270,16 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 230,2,0,226,127,0,208,0,148,0, 170,128,0,11,0,0,0,220,58,0, 126,0,233,127,2,182,0,182,0,2, - 0,0,127,0,0,0,0,0,204,2, - 0,201,0,232,127,59,24,43,0,181, - 128,62,60,0,143,129,0,131,181,128, - 274,60,0,181,128,274,60,0,181,128, - 69,1,62,0,232,127,59,62,0,232, - 127,59,165,62,0,232,127,59,124,62, - 0,272,127,59,1,65,0,272,127,59, - 65,0,181,128,65,0,135,0,186,181, + 0,0,127,0,0,0,0,0,205,2, + 0,201,0,232,127,59,24,42,0,181, + 128,65,63,0,143,129,0,131,181,128, + 274,63,0,181,128,274,63,0,181,128, + 69,1,65,0,232,127,59,65,0,232, + 127,59,165,65,0,232,127,59,124,65, + 0,272,127,59,1,60,0,272,127,59, + 60,0,181,128,60,0,135,0,186,181, 128,245,0,137,0,181,128,245,0,186, - 170,128,10,0,170,128,10,0,95,137, + 170,128,8,0,170,128,8,0,95,137, 0,300,127,169,0,161,84,0,229,162, 229,173,2,81,0,127,172,0,229,173, 2,81,0,129,0,127,172,0,229,162, @@ -2242,7 +2287,7 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 81,0,229,2,81,0,129,0,129,0, 127,172,0,161,2,75,194,80,0,127, 129,0,194,80,0,110,2,131,127,129, - 0,240,2,75,0,204,172,0,34,170, + 0,240,2,75,0,205,172,0,34,170, 0,172,0,176,34,170,0,240,2,85, 0,194,157,240,2,83,0,64,172,0, 240,2,83,0,127,172,64,172,0,299, @@ -2251,18 +2296,18 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 220,58,298,0,161,58,0,179,2,293, 41,128,0,127,0,0,293,41,128,0, 2,147,127,0,0,179,2,30,0,14, - 148,0,125,45,170,128,0,32,14,148, - 0,95,137,32,14,148,0,203,181,128, + 148,0,125,47,170,128,0,32,14,148, + 0,95,137,32,14,148,0,204,181,128, 0,148,32,14,148,0,179,2,34,0, - 161,2,34,0,161,2,63,179,61,26, - 0,179,61,26,0,21,2,131,127,0, - 161,2,63,179,61,29,0,179,61,29, - 0,161,2,63,179,61,31,0,179,61, - 31,0,161,2,63,179,61,27,0,179, - 61,27,0,225,2,125,186,170,128,10, - 0,125,186,170,128,10,0,137,2,0, - 127,0,225,2,124,258,170,128,10,0, - 258,170,128,10,0,135,2,0,127,0, + 161,2,34,0,161,2,66,179,64,26, + 0,179,64,26,0,21,2,131,127,0, + 161,2,66,179,64,29,0,179,64,29, + 0,161,2,66,179,64,31,0,179,64, + 31,0,161,2,66,179,64,27,0,179, + 64,27,0,225,2,125,186,170,128,8, + 0,125,186,170,128,8,0,137,2,0, + 127,0,225,2,124,258,170,128,8,0, + 258,170,128,8,0,135,2,0,127,0, 225,2,135,0,225,2,140,0,161,58, 140,0,260,0,32,0,32,141,0,168, 0,134,0,161,2,0 @@ -2273,37 +2318,37 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeState { public final static char scopeState[] = {0, - 1906,0,4690,4689,2997,0,2769,3206,1062,2992, - 0,3897,3856,3815,3774,3733,3692,2787,3471,3430, - 2396,3177,2958,2894,3621,2830,2766,3566,3511,3359, - 3304,0,2829,2265,1875,0,3367,2698,0,3897, - 3856,3815,2082,2079,3774,3733,3692,3471,1224,3430, - 2396,3177,1986,1808,0,4627,3604,3456,0,2544, - 2302,0,861,4385,0,4409,926,3135,3182,3051, - 4315,4397,4271,4303,2350,4189,2704,2621,0,854, - 0,2958,2894,3621,2830,2766,3566,3511,3359,3304, - 2775,4427,0,2775,4427,2958,2894,3621,2830,2766, - 3566,3511,3359,3304,3897,3856,3815,3774,3733,3692, - 3471,3430,2396,3177,0,3302,2691,0,926,3734, - 3135,3606,3116,3239,2951,3551,2339,2230,1848,1216, - 0,2167,1874,1495,963,3135,2339,3051,2704,2621, - 3214,2995,0,1050,910,0,924,0,4174,525, - 2335,0,4623,4591,4574,4557,4522,4505,4488,4440, - 4661,4655,4640,4391,4298,3637,3913,3375,2987,2924, - 2750,3831,3749,0,4623,4591,2887,2692,4574,4557, - 4522,4644,2191,4505,4509,4357,4488,2684,4440,2459, - 2404,4661,2343,2186,2934,2182,4655,2759,4640,2866, - 775,4391,4298,3637,856,3913,779,3375,2987,1870, - 2924,4174,2750,2335,3831,3749,718,608,567,1040, - 1996,3051,4315,4397,4271,4409,926,4303,3135,2350, - 4189,2704,3182,2621,2089,654,1050,910,4201,2199, - 2237,2304,2271,2512,2484,2362,2724,2633,2594,2567, - 2540,578,3279,3256,783,3154,3068,4152,4130,4108, - 4086,4064,4042,4020,3998,3976,621,3323,2659,1878, - 2144,2106,2051,2013,1150,1106,1958,1920,1063,811, - 1825,1785,731,674,525,1743,1701,1659,1617,1575, - 1533,1491,1449,1407,1365,1323,1281,1237,998,940, - 868,1193,0 + 1356,0,4726,4474,2958,0,2331,2654,1067,2332, + 0,3873,3832,3791,3750,3709,3668,4717,3459,3418, + 3179,3138,2919,2855,3609,2791,2727,3554,3499,3359, + 3304,0,2943,2763,2107,0,3148,3082,0,3873, + 3832,3791,3376,3150,3750,3709,3668,3459,2087,3418, + 3179,3138,2084,1991,0,4720,4728,4686,0,2757, + 2514,0,866,3770,0,4386,931,3096,4364,3012, + 4257,4352,2674,4226,4269,4143,2661,2591,0,859, + 0,2919,2855,3609,2791,2727,3554,3499,3359,3304, + 4417,4410,0,4417,4410,2919,2855,3609,2791,2727, + 3554,3499,3359,3304,3873,3832,3791,3750,3709,3668, + 3459,3418,3179,3138,0,3243,2177,0,931,2815, + 3096,4684,2265,1813,722,3539,2794,855,1853,1221, + 0,2752,2717,1500,968,3096,2794,3012,2661,2591, + 3074,2956,0,1055,915,0,614,0,4128,530, + 2306,0,4661,4652,4635,4602,4585,4576,4568,4517, + 4669,4303,3848,3766,4507,4498,3684,4448,4426,2948, + 2884,3434,2822,0,4661,4652,2952,2736,4635,4602, + 4585,3595,2325,4576,3316,3064,4568,2440,4517,2430, + 2320,4669,2200,2191,3059,2187,4303,2829,3848,2745, + 780,3766,4507,4498,619,3684,653,4448,4426,2196, + 2948,4128,2884,2306,3434,2822,1872,723,572,1045, + 2001,3012,4257,4352,2674,4386,931,4226,3096,4269, + 4143,2661,4364,2591,2094,659,1055,915,4155,2204, + 583,2275,2242,2455,2364,2333,2694,2603,2564,2537, + 2510,2483,3281,3258,788,3115,3029,4106,4084,4062, + 4040,4018,3996,3974,3952,3323,626,2402,2629,1883, + 2149,2111,2056,2018,1155,1111,1963,1925,1068,816, + 1830,1790,736,679,530,1748,1706,1664,1622,1580, + 1538,1496,1454,1412,1370,1328,1286,1242,1003,945, + 873,1198,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -2312,54 +2357,54 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface InSymb { public final static char inSymb[] = {0, 0,292,127,44,265,34,26,29,31,27, - 10,135,126,6,130,1,3,2,128,30, - 25,4,9,8,5,7,12,11,140,145, + 8,135,126,6,130,1,3,2,128,30, + 25,4,10,9,5,7,12,11,140,145, 148,147,150,149,153,152,156,155,158,39, - 159,68,2,61,61,61,61,128,2,61, - 172,127,58,2,40,41,61,6,161,40, + 159,68,2,64,64,64,64,128,2,64, + 172,127,58,2,40,41,64,6,161,40, 41,170,168,1,124,2,125,124,101,115, - 2,58,88,94,9,8,90,89,5,92, - 91,63,61,86,87,7,96,95,98,97, + 2,58,88,94,10,9,90,89,5,92, + 91,66,64,86,87,7,96,95,98,97, 99,111,110,109,108,107,106,105,104,103, 102,69,112,100,179,161,172,127,179,179, 179,179,170,225,127,127,266,267,251,268, - 245,269,65,270,271,1,10,128,58,58, - 127,58,293,2,186,3,179,45,4,128, - 45,225,161,147,147,145,145,145,149,149, + 245,269,60,270,271,1,8,128,58,58, + 127,58,293,2,186,3,179,47,4,128, + 47,225,161,147,147,145,145,145,149,149, 149,149,148,148,152,150,150,155,153,156, - 161,158,127,58,2,223,222,135,10,128, - 63,63,63,63,186,258,288,133,291,226, + 161,158,127,58,2,223,222,135,8,128, + 66,66,66,66,186,258,288,133,291,226, 128,5,59,170,236,128,125,124,1,59, 128,128,181,170,288,202,2,294,172,151, 260,186,128,181,170,70,226,220,159,230, 127,2,128,170,2,2,2,2,125,124, 68,170,127,127,125,124,127,181,127,59, - 127,181,170,45,179,127,127,3,4,203, - 45,233,234,146,235,127,170,45,161,161, + 127,181,170,47,179,127,127,3,4,204, + 47,233,234,146,235,127,170,47,161,161, 161,161,2,2,5,180,305,128,188,252, - 193,60,169,307,127,127,70,186,127,272, + 193,63,169,307,127,127,70,186,127,272, 247,273,186,157,295,298,58,187,3,125, - 157,69,230,204,191,182,128,2,127,68, - 233,186,225,225,127,170,45,274,127,183, + 157,69,230,205,191,182,128,2,127,68, + 233,186,225,225,127,170,47,274,127,183, 182,2,309,253,128,272,69,68,2,58, - 161,4,3,127,69,69,2,181,170,204, - 127,226,157,125,186,61,128,306,127,124, - 70,282,204,74,127,68,252,181,225,220, + 161,4,3,127,69,69,2,181,170,205, + 127,226,157,125,186,64,128,306,127,124, + 70,282,205,74,127,68,252,181,225,220, 4,227,127,128,127,131,127,181,68,226, 70,69,127,276,70,253,127,233,170,227, - 290,45,10,57,131,276,59,286,128,287, - 128,39,157,127,68,63,61,236,236,277, - 127,68,181,2,181,2,127,43,45,169, - 64,62,60,127,69,69,127,299,79,77, + 290,47,8,57,131,276,59,286,128,287, + 128,39,157,127,68,66,64,236,236,277, + 127,68,181,2,181,2,127,42,47,169, + 67,65,63,127,69,69,127,299,79,77, 1,161,85,83,81,80,75,82,84,78, - 76,169,62,74,44,225,313,227,24,61, - 127,2,59,165,1,124,62,290,278,116, + 76,169,65,74,44,225,313,227,24,64, + 127,2,59,165,1,124,65,290,278,116, 220,70,2,2,2,194,2,1,161,1, - 178,68,127,127,59,63,300,204,301,24, - 127,59,69,59,128,63,2,240,172,240, + 178,68,127,127,59,66,300,205,301,24, + 127,59,69,59,128,66,2,240,172,240, 173,229,75,240,127,127,2,69,68,157, 232,231,127,128,127,181,57,93,312,172, - 157,204,157,229,162,2,157,278,232,151, + 157,205,157,229,162,2,157,278,232,151, 59,232,181,232,166,1,236,157,157,127, 69,194,162,229,161,127,166,69,120,229, 162,157,304,157,229,68,157 @@ -2500,7 +2545,7 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab ")", "}", ";", - "declaration_seq", + "declaration", "expression", "id_expression", "qualified_or_unqualified_name", @@ -2550,8 +2595,8 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab "condition", "declarator", "simple_declaration", - "declaration", "function_definition", + "declaration_seq", "declaration_specifiers", "simple_declaration_specifiers", "class_declaration_specifiers", @@ -2639,18 +2684,18 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public final static int NUM_STATES = 517, NT_OFFSET = 123, - LA_STATE_OFFSET = 5572, + LA_STATE_OFFSET = 5643, MAX_LA = 2147483647, - NUM_RULES = 524, - NUM_NONTERMINALS = 199, - NUM_SYMBOLS = 322, + NUM_RULES = 529, + NUM_NONTERMINALS = 201, + NUM_SYMBOLS = 324, SEGMENT_SIZE = 8192, - START_STATE = 3399, + START_STATE = 3402, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 114, EOLT_SYMBOL = 114, - ACCEPT_ACTION = 4823, - ERROR_ACTION = 5048; + ACCEPT_ACTION = 4889, + ERROR_ACTION = 5114; public final static boolean BACKTRACK = true; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParsersym.java index 7dbd7aec12b..56f7a57b725 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParsersym.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParsersym.java @@ -15,7 +15,7 @@ package org.eclipse.cdt.internal.core.dom.lrparser.cpp; public interface CPPNoCastExpressionParsersym { public final static int - TK_asm = 64, + TK_asm = 67, TK_auto = 49, TK_bool = 13, TK_break = 76, @@ -23,7 +23,7 @@ public interface CPPNoCastExpressionParsersym { TK_catch = 116, TK_char = 14, TK_class = 57, - TK_const = 47, + TK_const = 46, TK_const_cast = 26, TK_continue = 78, TK_default = 79, @@ -32,10 +32,10 @@ public interface CPPNoCastExpressionParsersym { TK_double = 15, TK_dynamic_cast = 27, TK_else = 120, - TK_enum = 65, + TK_enum = 60, TK_explicit = 50, TK_export = 73, - TK_extern = 43, + TK_extern = 42, TK_false = 28, TK_float = 16, TK_for = 81, @@ -46,7 +46,7 @@ public interface CPPNoCastExpressionParsersym { TK_int = 17, TK_long = 18, TK_mutable = 53, - TK_namespace = 62, + TK_namespace = 65, TK_new = 41, TK_operator = 6, TK_private = 117, @@ -60,20 +60,20 @@ public interface CPPNoCastExpressionParsersym { TK_sizeof = 30, TK_static = 55, TK_static_cast = 31, - TK_struct = 66, + TK_struct = 61, TK_switch = 85, - TK_template = 45, + TK_template = 47, TK_this = 32, TK_throw = 39, TK_try = 74, TK_true = 33, TK_typedef = 56, TK_typeid = 34, - TK_typename = 10, - TK_union = 67, + TK_typename = 8, + TK_union = 62, TK_unsigned = 21, - TK_using = 60, - TK_virtual = 46, + TK_using = 63, + TK_virtual = 45, TK_void = 22, TK_volatile = 48, TK_wchar_t = 23, @@ -97,16 +97,16 @@ public interface CPPNoCastExpressionParsersym { TK_MinusMinus = 12, TK_And = 7, TK_Star = 5, - TK_Plus = 8, - TK_Minus = 9, + TK_Plus = 9, + TK_Minus = 10, TK_Tilde = 4, TK_Bang = 25, TK_Slash = 89, TK_Percent = 90, TK_RightShift = 86, TK_LeftShift = 87, - TK_LT = 61, - TK_GT = 63, + TK_LT = 64, + TK_GT = 66, TK_LE = 91, TK_GE = 92, TK_EQ = 95, @@ -135,7 +135,7 @@ public interface CPPNoCastExpressionParsersym { TK_RightBracket = 113, TK_RightParen = 72, TK_RightBrace = 71, - TK_SemiColon = 42, + TK_SemiColon = 43, TK_ERROR_TOKEN = 44, TK_EOF_TOKEN = 114; @@ -148,9 +148,9 @@ public interface CPPNoCastExpressionParsersym { "Star", "operator", "And", + "typename", "Plus", "Minus", - "typename", "PlusPlus", "MinusMinus", "bool", @@ -182,12 +182,12 @@ public interface CPPNoCastExpressionParsersym { "throw", "delete", "new", - "SemiColon", "extern", + "SemiColon", "ERROR_TOKEN", - "template", "virtual", "const", + "template", "volatile", "auto", "explicit", @@ -200,14 +200,14 @@ public interface CPPNoCastExpressionParsersym { "class", "LeftBracket", "LeftBrace", + "enum", + "struct", + "union", "using", "LT", "namespace", "GT", "asm", - "enum", - "struct", - "union", "Comma", "Assign", "Colon", diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParser.java index 10af39e40d2..d5ff0b93390 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParser.java @@ -286,7 +286,7 @@ public CPPParser(String[] mapFrom) { // constructor } // - // Rule 10: translation_unit ::= declaration_seq + // Rule 10: translation_unit ::= external_declaration_list // case 10: { action.builder. consumeTranslationUnit(); break; @@ -300,1731 +300,1745 @@ public CPPParser(String[] mapFrom) { // constructor } // - // Rule 12: literal ::= integer + // Rule 15: external_declaration ::= ERROR_TOKEN // - case 12: { action.builder. + case 15: { action.builder. + consumeDeclarationProblem(); break; + } + + // + // Rule 16: literal ::= integer + // + case 16: { action.builder. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_integer_constant); break; } // - // Rule 13: literal ::= 0 + // Rule 17: literal ::= 0 // - case 13: { action.builder. + case 17: { action.builder. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_integer_constant); break; } // - // Rule 14: literal ::= floating + // Rule 18: literal ::= floating // - case 14: { action.builder. + case 18: { action.builder. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_float_constant); break; } // - // Rule 15: literal ::= charconst + // Rule 19: literal ::= charconst // - case 15: { action.builder. + case 19: { action.builder. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_char_constant); break; } // - // Rule 16: literal ::= stringlit + // Rule 20: literal ::= stringlit // - case 16: { action.builder. + case 20: { action.builder. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_string_literal); break; } // - // Rule 17: literal ::= true + // Rule 21: literal ::= true // - case 17: { action.builder. + case 21: { action.builder. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_true); break; } // - // Rule 18: literal ::= false + // Rule 22: literal ::= false // - case 18: { action.builder. + case 22: { action.builder. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_false); break; } // - // Rule 19: literal ::= this + // Rule 23: literal ::= this // - case 19: { action.builder. + case 23: { action.builder. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_this); break; } // - // Rule 21: primary_expression ::= ( expression ) + // Rule 25: primary_expression ::= ( expression ) // - case 21: { action.builder. + case 25: { action.builder. consumeExpressionBracketed(); break; } // - // Rule 23: id_expression ::= qualified_or_unqualified_name + // Rule 27: id_expression ::= qualified_or_unqualified_name // - case 23: { action.builder. + case 27: { action.builder. consumeExpressionName(); break; } // - // Rule 30: unqualified_id_name ::= ~ class_name + // Rule 34: unqualified_id_name ::= ~ class_name // - case 30: { action.builder. + case 34: { action.builder. consumeDestructorName(); break; } // - // Rule 31: identifier_name ::= identifier + // Rule 35: identifier_name ::= identifier // - case 31: { action.builder. + case 35: { action.builder. consumeIdentifierName(); break; } // - // Rule 32: template_opt ::= template - // - case 32: { action.builder. - consumePlaceHolder(); break; - } - - // - // Rule 33: template_opt ::= $Empty - // - case 33: { action.builder. - consumeEmpty(); break; - } - - // - // Rule 34: dcolon_opt ::= :: - // - case 34: { action.builder. - consumePlaceHolder(); break; - } - - // - // Rule 35: dcolon_opt ::= $Empty - // - case 35: { action.builder. - consumeEmpty(); break; - } - - // - // Rule 36: qualified_id_name ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name + // Rule 36: template_opt ::= template // case 36: { action.builder. + consumePlaceHolder(); break; + } + + // + // Rule 37: template_opt ::= $Empty + // + case 37: { action.builder. + consumeEmpty(); break; + } + + // + // Rule 38: dcolon_opt ::= :: + // + case 38: { action.builder. + consumePlaceHolder(); break; + } + + // + // Rule 39: dcolon_opt ::= $Empty + // + case 39: { action.builder. + consumeEmpty(); break; + } + + // + // Rule 40: qualified_id_name ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name + // + case 40: { action.builder. consumeQualifiedId(true); break; } // - // Rule 37: qualified_id_name ::= :: identifier_name - // - case 37: { action.builder. - consumeGlobalQualifiedId(); break; - } - - // - // Rule 38: qualified_id_name ::= :: operator_function_id_name - // - case 38: { action.builder. - consumeGlobalQualifiedId(); break; - } - - // - // Rule 39: qualified_id_name ::= :: template_id_name - // - case 39: { action.builder. - consumeGlobalQualifiedId(); break; - } - - // - // Rule 40: nested_name_specifier ::= class_or_namespace_name :: nested_name_specifier_with_template - // - case 40: { action.builder. - consumeNestedNameSpecifier(true); break; - } - - // - // Rule 41: nested_name_specifier ::= class_or_namespace_name :: + // Rule 41: qualified_id_name ::= :: identifier_name // case 41: { action.builder. - consumeNestedNameSpecifier(false); break; + consumeGlobalQualifiedId(); break; } // - // Rule 42: nested_name_specifier_with_template ::= class_or_namespace_name_with_template :: nested_name_specifier_with_template + // Rule 42: qualified_id_name ::= :: operator_function_id_name // case 42: { action.builder. + consumeGlobalQualifiedId(); break; + } + + // + // Rule 43: qualified_id_name ::= :: template_id_name + // + case 43: { action.builder. + consumeGlobalQualifiedId(); break; + } + + // + // Rule 44: nested_name_specifier ::= class_or_namespace_name :: nested_name_specifier_with_template + // + case 44: { action.builder. consumeNestedNameSpecifier(true); break; } // - // Rule 43: nested_name_specifier_with_template ::= class_or_namespace_name_with_template :: + // Rule 45: nested_name_specifier ::= class_or_namespace_name :: // - case 43: { action.builder. + case 45: { action.builder. consumeNestedNameSpecifier(false); break; } // - // Rule 44: class_or_namespace_name_with_template ::= template_opt class_or_namespace_name + // Rule 46: nested_name_specifier_with_template ::= class_or_namespace_name_with_template :: nested_name_specifier_with_template // - case 44: { action.builder. + case 46: { action.builder. + consumeNestedNameSpecifier(true); break; + } + + // + // Rule 47: nested_name_specifier_with_template ::= class_or_namespace_name_with_template :: + // + case 47: { action.builder. + consumeNestedNameSpecifier(false); break; + } + + // + // Rule 48: class_or_namespace_name_with_template ::= template_opt class_or_namespace_name + // + case 48: { action.builder. consumeNameWithTemplateKeyword(); break; } // - // Rule 46: nested_name_specifier_opt ::= $Empty + // Rule 50: nested_name_specifier_opt ::= $Empty // - case 46: { action.builder. + case 50: { action.builder. consumeNestedNameSpecifierEmpty(); break; } // - // Rule 50: postfix_expression ::= postfix_expression [ expression ] + // Rule 54: postfix_expression ::= postfix_expression [ expression ] // - case 50: { action.builder. + case 54: { action.builder. consumeExpressionArraySubscript(); break; } // - // Rule 51: postfix_expression ::= postfix_expression ( expression_list_opt ) + // Rule 55: postfix_expression ::= postfix_expression ( expression_list_opt ) // - case 51: { action.builder. + case 55: { action.builder. consumeExpressionFunctionCall(); break; } // - // Rule 52: postfix_expression ::= simple_type_specifier ( expression_list_opt ) + // Rule 56: postfix_expression ::= simple_type_specifier ( expression_list_opt ) // - case 52: { action.builder. + case 56: { action.builder. consumeExpressionSimpleTypeConstructor(); break; } // - // Rule 53: postfix_expression ::= typename dcolon_opt nested_name_specifier identifier_name ( expression_list_opt ) - // - case 53: { action.builder. - consumeExpressionTypeName(); break; - } - - // - // Rule 54: postfix_expression ::= typename dcolon_opt nested_name_specifier template_opt template_id_name ( expression_list_opt ) - // - case 54: { action.builder. - consumeExpressionTypeName(); break; - } - - // - // Rule 55: postfix_expression ::= postfix_expression . qualified_or_unqualified_name - // - case 55: { action.builder. - consumeExpressionFieldReference(false, false); break; - } - - // - // Rule 56: postfix_expression ::= postfix_expression -> qualified_or_unqualified_name - // - case 56: { action.builder. - consumeExpressionFieldReference(true, false); break; - } - - // - // Rule 57: postfix_expression ::= postfix_expression . template qualified_or_unqualified_name + // Rule 57: postfix_expression ::= typename dcolon_opt nested_name_specifier identifier_name ( expression_list_opt ) // case 57: { action.builder. - consumeExpressionFieldReference(false, true); break; + consumeExpressionTypeName(); break; } // - // Rule 58: postfix_expression ::= postfix_expression -> template qualified_or_unqualified_name + // Rule 58: postfix_expression ::= typename dcolon_opt nested_name_specifier template_opt template_id_name ( expression_list_opt ) // case 58: { action.builder. - consumeExpressionFieldReference(true, true); break; + consumeExpressionTypeName(); break; } // - // Rule 59: postfix_expression ::= postfix_expression . pseudo_destructor_name + // Rule 59: postfix_expression ::= postfix_expression . qualified_or_unqualified_name // case 59: { action.builder. consumeExpressionFieldReference(false, false); break; } // - // Rule 60: postfix_expression ::= postfix_expression -> pseudo_destructor_name + // Rule 60: postfix_expression ::= postfix_expression -> qualified_or_unqualified_name // case 60: { action.builder. consumeExpressionFieldReference(true, false); break; } // - // Rule 61: postfix_expression ::= postfix_expression ++ + // Rule 61: postfix_expression ::= postfix_expression . template qualified_or_unqualified_name // case 61: { action.builder. + consumeExpressionFieldReference(false, true); break; + } + + // + // Rule 62: postfix_expression ::= postfix_expression -> template qualified_or_unqualified_name + // + case 62: { action.builder. + consumeExpressionFieldReference(true, true); break; + } + + // + // Rule 63: postfix_expression ::= postfix_expression . pseudo_destructor_name + // + case 63: { action.builder. + consumeExpressionFieldReference(false, false); break; + } + + // + // Rule 64: postfix_expression ::= postfix_expression -> pseudo_destructor_name + // + case 64: { action.builder. + consumeExpressionFieldReference(true, false); break; + } + + // + // Rule 65: postfix_expression ::= postfix_expression ++ + // + case 65: { action.builder. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break; } // - // Rule 62: postfix_expression ::= postfix_expression -- + // Rule 66: postfix_expression ::= postfix_expression -- // - case 62: { action.builder. + case 66: { action.builder. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break; } // - // Rule 63: postfix_expression ::= dynamic_cast < type_id > ( expression ) + // Rule 67: postfix_expression ::= dynamic_cast < type_id > ( expression ) // - case 63: { action.builder. + case 67: { action.builder. consumeExpressionCast(ICPPASTCastExpression.op_dynamic_cast); break; } // - // Rule 64: postfix_expression ::= static_cast < type_id > ( expression ) + // Rule 68: postfix_expression ::= static_cast < type_id > ( expression ) // - case 64: { action.builder. + case 68: { action.builder. consumeExpressionCast(ICPPASTCastExpression.op_static_cast); break; } // - // Rule 65: postfix_expression ::= reinterpret_cast < type_id > ( expression ) + // Rule 69: postfix_expression ::= reinterpret_cast < type_id > ( expression ) // - case 65: { action.builder. + case 69: { action.builder. consumeExpressionCast(ICPPASTCastExpression.op_reinterpret_cast); break; } // - // Rule 66: postfix_expression ::= const_cast < type_id > ( expression ) + // Rule 70: postfix_expression ::= const_cast < type_id > ( expression ) // - case 66: { action.builder. + case 70: { action.builder. consumeExpressionCast(ICPPASTCastExpression.op_const_cast); break; } // - // Rule 67: postfix_expression ::= typeid ( expression ) + // Rule 71: postfix_expression ::= typeid ( expression ) // - case 67: { action.builder. + case 71: { action.builder. consumeExpressionUnaryOperator(ICPPASTUnaryExpression.op_typeid); break; } // - // Rule 68: postfix_expression ::= typeid ( type_id ) + // Rule 72: postfix_expression ::= typeid ( type_id ) // - case 68: { action.builder. + case 72: { action.builder. consumeExpressionTypeId(ICPPASTTypeIdExpression.op_typeid); break; } // - // Rule 69: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt type_name :: ~ type_name + // Rule 73: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt type_name :: ~ type_name // - case 69: { action.builder. + case 73: { action.builder. consumePsudoDestructorName(true); break; } // - // Rule 70: pseudo_destructor_name ::= dcolon_opt nested_name_specifier template template_id_name :: ~ type_name + // Rule 74: pseudo_destructor_name ::= dcolon_opt nested_name_specifier template template_id_name :: ~ type_name // - case 70: { action.builder. + case 74: { action.builder. consumePsudoDestructorName(true); break; } // - // Rule 71: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt ~ type_name + // Rule 75: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt ~ type_name // - case 71: { action.builder. + case 75: { action.builder. consumePsudoDestructorName(false); break; } // - // Rule 75: unary_expression ::= ++ cast_expression + // Rule 79: unary_expression ::= ++ cast_expression // - case 75: { action.builder. + case 79: { action.builder. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixIncr); break; } // - // Rule 76: unary_expression ::= -- cast_expression + // Rule 80: unary_expression ::= -- cast_expression // - case 76: { action.builder. + case 80: { action.builder. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixDecr); break; } // - // Rule 77: unary_expression ::= & cast_expression + // Rule 81: unary_expression ::= & cast_expression // - case 77: { action.builder. + case 81: { action.builder. consumeExpressionUnaryOperator(IASTUnaryExpression.op_amper); break; } // - // Rule 78: unary_expression ::= * cast_expression + // Rule 82: unary_expression ::= * cast_expression // - case 78: { action.builder. + case 82: { action.builder. consumeExpressionUnaryOperator(IASTUnaryExpression.op_star); break; } // - // Rule 79: unary_expression ::= + cast_expression + // Rule 83: unary_expression ::= + cast_expression // - case 79: { action.builder. + case 83: { action.builder. consumeExpressionUnaryOperator(IASTUnaryExpression.op_plus); break; } // - // Rule 80: unary_expression ::= - cast_expression + // Rule 84: unary_expression ::= - cast_expression // - case 80: { action.builder. + case 84: { action.builder. consumeExpressionUnaryOperator(IASTUnaryExpression.op_minus); break; } // - // Rule 81: unary_expression ::= ~ cast_expression + // Rule 85: unary_expression ::= ~ cast_expression // - case 81: { action.builder. + case 85: { action.builder. consumeExpressionUnaryOperator(IASTUnaryExpression.op_tilde); break; } // - // Rule 82: unary_expression ::= ! cast_expression + // Rule 86: unary_expression ::= ! cast_expression // - case 82: { action.builder. + case 86: { action.builder. consumeExpressionUnaryOperator(IASTUnaryExpression.op_not); break; } // - // Rule 83: unary_expression ::= sizeof unary_expression + // Rule 87: unary_expression ::= sizeof unary_expression // - case 83: { action.builder. + case 87: { action.builder. consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof); break; } // - // Rule 84: unary_expression ::= sizeof ( type_id ) + // Rule 88: unary_expression ::= sizeof ( type_id ) // - case 84: { action.builder. + case 88: { action.builder. consumeExpressionTypeId(ICPPASTTypeIdExpression.op_sizeof); break; } // - // Rule 85: new_expression ::= dcolon_opt new new_placement_opt new_type_id new_array_expressions_opt new_initializer_opt + // Rule 89: new_expression ::= dcolon_opt new new_placement_opt new_type_id new_array_expressions_opt new_initializer_opt // - case 85: { action.builder. + case 89: { action.builder. consumeExpressionNew(true); break; } // - // Rule 86: new_expression ::= dcolon_opt new new_placement_opt ( type_id ) new_initializer_opt + // Rule 90: new_expression ::= dcolon_opt new new_placement_opt ( type_id ) new_initializer_opt // - case 86: { action.builder. + case 90: { action.builder. consumeExpressionNew(false); break; } // - // Rule 89: new_placement_opt ::= $Empty + // Rule 93: new_placement_opt ::= $Empty // - case 89: { action.builder. + case 93: { action.builder. consumeEmpty(); break; } // - // Rule 90: new_type_id ::= type_specifier_seq + // Rule 94: new_type_id ::= type_specifier_seq // - case 90: { action.builder. + case 94: { action.builder. consumeTypeId(false); break; } // - // Rule 91: new_type_id ::= type_specifier_seq new_declarator + // Rule 95: new_type_id ::= type_specifier_seq new_declarator // - case 91: { action.builder. + case 95: { action.builder. consumeTypeId(true); break; } // - // Rule 92: new_declarator ::= new_pointer_operators + // Rule 96: new_declarator ::= new_pointer_operators // - case 92: { action.builder. + case 96: { action.builder. consumeNewDeclarator(); break; } // - // Rule 101: new_initializer_opt ::= $Empty + // Rule 105: new_initializer_opt ::= $Empty // - case 101: { action.builder. + case 105: { action.builder. consumeEmpty(); break; } // - // Rule 102: delete_expression ::= dcolon_opt delete cast_expression + // Rule 106: delete_expression ::= dcolon_opt delete cast_expression // - case 102: { action.builder. + case 106: { action.builder. consumeExpressionDelete(false); break; } // - // Rule 103: delete_expression ::= dcolon_opt delete [ ] cast_expression + // Rule 107: delete_expression ::= dcolon_opt delete [ ] cast_expression // - case 103: { action.builder. + case 107: { action.builder. consumeExpressionDelete(true); break; } // - // Rule 105: cast_expression ::= ( type_id ) cast_expression + // Rule 109: cast_expression ::= ( type_id ) cast_expression // - case 105: { action.builder. + case 109: { action.builder. consumeExpressionCast(ICPPASTCastExpression.op_cast); break; } // - // Rule 107: pm_expression ::= pm_expression .* cast_expression + // Rule 111: pm_expression ::= pm_expression .* cast_expression // - case 107: { action.builder. + case 111: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmdot); break; } // - // Rule 108: pm_expression ::= pm_expression ->* cast_expression + // Rule 112: pm_expression ::= pm_expression ->* cast_expression // - case 108: { action.builder. + case 112: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmarrow); break; } // - // Rule 110: multiplicative_expression ::= multiplicative_expression * pm_expression + // Rule 114: multiplicative_expression ::= multiplicative_expression * pm_expression // - case 110: { action.builder. + case 114: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiply); break; } // - // Rule 111: multiplicative_expression ::= multiplicative_expression / pm_expression + // Rule 115: multiplicative_expression ::= multiplicative_expression / pm_expression // - case 111: { action.builder. + case 115: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divide); break; } // - // Rule 112: multiplicative_expression ::= multiplicative_expression % pm_expression + // Rule 116: multiplicative_expression ::= multiplicative_expression % pm_expression // - case 112: { action.builder. + case 116: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_modulo); break; } // - // Rule 114: additive_expression ::= additive_expression + multiplicative_expression + // Rule 118: additive_expression ::= additive_expression + multiplicative_expression // - case 114: { action.builder. + case 118: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plus); break; } // - // Rule 115: additive_expression ::= additive_expression - multiplicative_expression + // Rule 119: additive_expression ::= additive_expression - multiplicative_expression // - case 115: { action.builder. + case 119: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minus); break; } // - // Rule 117: shift_expression ::= shift_expression << additive_expression + // Rule 121: shift_expression ::= shift_expression << additive_expression // - case 117: { action.builder. + case 121: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeft); break; } // - // Rule 118: shift_expression ::= shift_expression >> additive_expression + // Rule 122: shift_expression ::= shift_expression >> additive_expression // - case 118: { action.builder. + case 122: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRight); break; } // - // Rule 120: relational_expression ::= relational_expression < shift_expression + // Rule 124: relational_expression ::= relational_expression < shift_expression // - case 120: { action.builder. + case 124: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessThan); break; } // - // Rule 121: relational_expression ::= relational_expression > shift_expression + // Rule 125: relational_expression ::= relational_expression > shift_expression // - case 121: { action.builder. + case 125: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterThan); break; } // - // Rule 122: relational_expression ::= relational_expression <= shift_expression + // Rule 126: relational_expression ::= relational_expression <= shift_expression // - case 122: { action.builder. + case 126: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessEqual); break; } // - // Rule 123: relational_expression ::= relational_expression >= shift_expression + // Rule 127: relational_expression ::= relational_expression >= shift_expression // - case 123: { action.builder. + case 127: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterEqual); break; } // - // Rule 125: equality_expression ::= equality_expression == relational_expression + // Rule 129: equality_expression ::= equality_expression == relational_expression // - case 125: { action.builder. + case 129: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_equals); break; } // - // Rule 126: equality_expression ::= equality_expression != relational_expression + // Rule 130: equality_expression ::= equality_expression != relational_expression // - case 126: { action.builder. + case 130: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_notequals); break; } // - // Rule 128: and_expression ::= and_expression & equality_expression + // Rule 132: and_expression ::= and_expression & equality_expression // - case 128: { action.builder. + case 132: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAnd); break; } // - // Rule 130: exclusive_or_expression ::= exclusive_or_expression ^ and_expression + // Rule 134: exclusive_or_expression ::= exclusive_or_expression ^ and_expression // - case 130: { action.builder. + case 134: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXor); break; } // - // Rule 132: inclusive_or_expression ::= inclusive_or_expression | exclusive_or_expression + // Rule 136: inclusive_or_expression ::= inclusive_or_expression | exclusive_or_expression // - case 132: { action.builder. + case 136: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOr); break; } // - // Rule 134: logical_and_expression ::= logical_and_expression && inclusive_or_expression + // Rule 138: logical_and_expression ::= logical_and_expression && inclusive_or_expression // - case 134: { action.builder. + case 138: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalAnd); break; } // - // Rule 136: logical_or_expression ::= logical_or_expression || logical_and_expression + // Rule 140: logical_or_expression ::= logical_or_expression || logical_and_expression // - case 136: { action.builder. + case 140: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalOr); break; } // - // Rule 138: conditional_expression ::= logical_or_expression ? expression : assignment_expression + // Rule 142: conditional_expression ::= logical_or_expression ? expression : assignment_expression // - case 138: { action.builder. + case 142: { action.builder. consumeExpressionConditional(); break; } // - // Rule 139: throw_expression ::= throw + // Rule 143: throw_expression ::= throw // - case 139: { action.builder. + case 143: { action.builder. consumeExpressionThrow(false); break; } // - // Rule 140: throw_expression ::= throw assignment_expression + // Rule 144: throw_expression ::= throw assignment_expression // - case 140: { action.builder. + case 144: { action.builder. consumeExpressionThrow(true); break; } // - // Rule 143: assignment_expression ::= logical_or_expression = assignment_expression + // Rule 147: assignment_expression ::= logical_or_expression = assignment_expression // - case 143: { action.builder. + case 147: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_assign); break; } // - // Rule 144: assignment_expression ::= logical_or_expression *= assignment_expression + // Rule 148: assignment_expression ::= logical_or_expression *= assignment_expression // - case 144: { action.builder. + case 148: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiplyAssign); break; } // - // Rule 145: assignment_expression ::= logical_or_expression /= assignment_expression + // Rule 149: assignment_expression ::= logical_or_expression /= assignment_expression // - case 145: { action.builder. + case 149: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divideAssign); break; } // - // Rule 146: assignment_expression ::= logical_or_expression %= assignment_expression + // Rule 150: assignment_expression ::= logical_or_expression %= assignment_expression // - case 146: { action.builder. + case 150: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_moduloAssign); break; } // - // Rule 147: assignment_expression ::= logical_or_expression += assignment_expression + // Rule 151: assignment_expression ::= logical_or_expression += assignment_expression // - case 147: { action.builder. + case 151: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plusAssign); break; } // - // Rule 148: assignment_expression ::= logical_or_expression -= assignment_expression + // Rule 152: assignment_expression ::= logical_or_expression -= assignment_expression // - case 148: { action.builder. + case 152: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minusAssign); break; } // - // Rule 149: assignment_expression ::= logical_or_expression >>= assignment_expression + // Rule 153: assignment_expression ::= logical_or_expression >>= assignment_expression // - case 149: { action.builder. + case 153: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRightAssign); break; } // - // Rule 150: assignment_expression ::= logical_or_expression <<= assignment_expression + // Rule 154: assignment_expression ::= logical_or_expression <<= assignment_expression // - case 150: { action.builder. + case 154: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeftAssign); break; } // - // Rule 151: assignment_expression ::= logical_or_expression &= assignment_expression + // Rule 155: assignment_expression ::= logical_or_expression &= assignment_expression // - case 151: { action.builder. + case 155: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAndAssign); break; } // - // Rule 152: assignment_expression ::= logical_or_expression ^= assignment_expression + // Rule 156: assignment_expression ::= logical_or_expression ^= assignment_expression // - case 152: { action.builder. + case 156: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXorAssign); break; } // - // Rule 153: assignment_expression ::= logical_or_expression |= assignment_expression + // Rule 157: assignment_expression ::= logical_or_expression |= assignment_expression // - case 153: { action.builder. + case 157: { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOrAssign); break; } // - // Rule 155: expression ::= ERROR_TOKEN + // Rule 159: expression ::= ERROR_TOKEN // - case 155: { action.builder. + case 159: { action.builder. consumeExpressionProblem(); break; } // - // Rule 156: expression_list ::= expression_list_actual + // Rule 160: expression_list ::= expression_list_actual // - case 156: { action.builder. + case 160: { action.builder. consumeExpressionList(); break; } // - // Rule 160: expression_list_opt ::= $Empty + // Rule 164: expression_list_opt ::= $Empty // - case 160: { action.builder. + case 164: { action.builder. consumeEmpty(); break; } // - // Rule 162: expression_opt ::= $Empty + // Rule 166: expression_opt ::= $Empty // - case 162: { action.builder. + case 166: { action.builder. consumeEmpty(); break; } // - // Rule 165: constant_expression_opt ::= $Empty + // Rule 169: constant_expression_opt ::= $Empty // - case 165: { action.builder. + case 169: { action.builder. consumeEmpty(); break; } // - // Rule 174: statement ::= ERROR_TOKEN + // Rule 178: statement ::= ERROR_TOKEN // - case 174: { action.builder. + case 178: { action.builder. consumeStatementProblem(); break; } // - // Rule 175: labeled_statement ::= identifier : statement + // Rule 179: labeled_statement ::= identifier : statement // - case 175: { action.builder. + case 179: { action.builder. consumeStatementLabeled(); break; } // - // Rule 176: labeled_statement ::= case constant_expression : + // Rule 180: labeled_statement ::= case constant_expression : // - case 176: { action.builder. + case 180: { action.builder. consumeStatementCase(); break; } // - // Rule 177: labeled_statement ::= default : + // Rule 181: labeled_statement ::= default : // - case 177: { action.builder. + case 181: { action.builder. consumeStatementDefault(); break; } // - // Rule 178: expression_statement ::= expression ; + // Rule 182: expression_statement ::= expression ; // - case 178: { action.builder. + case 182: { action.builder. consumeStatementExpression(); break; } // - // Rule 179: expression_statement ::= ; + // Rule 183: expression_statement ::= ; // - case 179: { action.builder. + case 183: { action.builder. consumeStatementNull(); break; } // - // Rule 180: compound_statement ::= { statement_seq } + // Rule 184: compound_statement ::= { statement_seq } // - case 180: { action.builder. + case 184: { action.builder. consumeStatementCompoundStatement(true); break; } // - // Rule 181: compound_statement ::= { } + // Rule 185: compound_statement ::= { } // - case 181: { action.builder. + case 185: { action.builder. consumeStatementCompoundStatement(false); break; } // - // Rule 184: selection_statement ::= if ( condition ) statement + // Rule 188: selection_statement ::= if ( condition ) statement // - case 184: { action.builder. + case 188: { action.builder. consumeStatementIf(false); break; } // - // Rule 185: selection_statement ::= if ( condition ) statement else statement + // Rule 189: selection_statement ::= if ( condition ) statement else statement // - case 185: { action.builder. + case 189: { action.builder. consumeStatementIf(true); break; } // - // Rule 186: selection_statement ::= switch ( condition ) statement + // Rule 190: selection_statement ::= switch ( condition ) statement // - case 186: { action.builder. + case 190: { action.builder. consumeStatementSwitch(); break; } // - // Rule 188: condition ::= type_specifier_seq declarator = assignment_expression + // Rule 192: condition ::= type_specifier_seq declarator = assignment_expression // - case 188: { action.builder. + case 192: { action.builder. consumeConditionDeclaration(); break; } // - // Rule 189: iteration_statement ::= while ( condition ) statement + // Rule 193: iteration_statement ::= while ( condition ) statement // - case 189: { action.builder. + case 193: { action.builder. consumeStatementWhileLoop(); break; } // - // Rule 190: iteration_statement ::= do statement while ( expression ) ; + // Rule 194: iteration_statement ::= do statement while ( expression ) ; // - case 190: { action.builder. + case 194: { action.builder. consumeStatementDoLoop(); break; } // - // Rule 191: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement + // Rule 195: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement // - case 191: { action.builder. + case 195: { action.builder. consumeStatementForLoop(); break; } // - // Rule 192: iteration_statement ::= for ( simple_declaration expression_opt ; expression_opt ) statement + // Rule 196: iteration_statement ::= for ( simple_declaration expression_opt ; expression_opt ) statement // - case 192: { action.builder. + case 196: { action.builder. consumeStatementForLoop(); break; } // - // Rule 193: jump_statement ::= break ; + // Rule 197: jump_statement ::= break ; // - case 193: { action.builder. + case 197: { action.builder. consumeStatementBreak(); break; } // - // Rule 194: jump_statement ::= continue ; + // Rule 198: jump_statement ::= continue ; // - case 194: { action.builder. + case 198: { action.builder. consumeStatementContinue(); break; } // - // Rule 195: jump_statement ::= return expression ; + // Rule 199: jump_statement ::= return expression ; // - case 195: { action.builder. + case 199: { action.builder. consumeStatementReturn(true); break; } // - // Rule 196: jump_statement ::= return ; + // Rule 200: jump_statement ::= return ; // - case 196: { action.builder. + case 200: { action.builder. consumeStatementReturn(false); break; } // - // Rule 197: jump_statement ::= goto identifier ; + // Rule 201: jump_statement ::= goto identifier ; // - case 197: { action.builder. + case 201: { action.builder. consumeStatementGoto(); break; } // - // Rule 198: declaration_statement ::= block_declaration + // Rule 202: declaration_statement ::= block_declaration // - case 198: { action.builder. + case 202: { action.builder. consumeStatementDeclaration(); break; } // - // Rule 215: simple_declaration ::= declaration_specifiers_opt init_declarator_list_opt ; + // Rule 219: simple_declaration ::= declaration_specifiers_opt init_declarator_list_opt ; // - case 215: { action.builder. + case 219: { action.builder. consumeDeclarationSimple(true); break; } // - // Rule 216: declaration_specifiers ::= simple_declaration_specifiers + // Rule 220: declaration_specifiers ::= simple_declaration_specifiers // - case 216: { action.builder. + case 220: { action.builder. consumeDeclarationSpecifiersSimple(); break; } // - // Rule 217: declaration_specifiers ::= class_declaration_specifiers + // Rule 221: declaration_specifiers ::= class_declaration_specifiers // - case 217: { action.builder. + case 221: { action.builder. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 218: declaration_specifiers ::= elaborated_declaration_specifiers + // Rule 222: declaration_specifiers ::= elaborated_declaration_specifiers // - case 218: { action.builder. + case 222: { action.builder. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 219: declaration_specifiers ::= enum_declaration_specifiers + // Rule 223: declaration_specifiers ::= enum_declaration_specifiers // - case 219: { action.builder. + case 223: { action.builder. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 220: declaration_specifiers ::= type_name_declaration_specifiers + // Rule 224: declaration_specifiers ::= type_name_declaration_specifiers // - case 220: { action.builder. + case 224: { action.builder. consumeDeclarationSpecifiersTypeName(); break; } // - // Rule 222: declaration_specifiers_opt ::= $Empty + // Rule 226: declaration_specifiers_opt ::= $Empty // - case 222: { action.builder. + case 226: { action.builder. consumeEmpty(); break; } // - // Rule 226: no_type_declaration_specifier ::= friend + // Rule 230: no_type_declaration_specifier ::= friend // - case 226: { action.builder. + case 230: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 227: no_type_declaration_specifier ::= typedef + // Rule 231: no_type_declaration_specifier ::= typedef // - case 227: { action.builder. + case 231: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 255: simple_type_specifier ::= simple_type_specifier_token + // Rule 259: simple_type_specifier ::= simple_type_specifier_token // - case 255: { action.builder. + case 259: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 271: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name + // Rule 275: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name // - case 271: { action.builder. + case 275: { action.builder. consumeQualifiedId(false); break; } // - // Rule 272: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name + // Rule 276: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name // - case 272: { action.builder. + case 276: { action.builder. consumeQualifiedId(false); break; } // - // Rule 273: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name + // Rule 277: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name // - case 273: { action.builder. + case 277: { action.builder. consumeQualifiedId(false); break; } // - // Rule 274: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name + // Rule 278: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name // - case 274: { action.builder. + case 278: { action.builder. consumeQualifiedId(true); break; } // - // Rule 275: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt identifier_name + // Rule 279: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt identifier_name // - case 275: { action.builder. + case 279: { action.builder. consumeTypeSpecifierElaborated(false); break; } // - // Rule 276: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt template_opt template_id_name + // Rule 280: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt template_opt template_id_name // - case 276: { action.builder. + case 280: { action.builder. consumeTypeSpecifierElaborated(true); break; } // - // Rule 277: elaborated_type_specifier ::= enum dcolon_opt nested_name_specifier_opt identifier_name + // Rule 281: elaborated_type_specifier ::= enum dcolon_opt nested_name_specifier_opt identifier_name // - case 277: { action.builder. + case 281: { action.builder. consumeTypeSpecifierElaborated(false); break; } // - // Rule 279: enum_specifier ::= enum { enumerator_list_opt } + // Rule 283: enum_specifier ::= enum { enumerator_list_opt } // - case 279: { action.builder. + case 283: { action.builder. consumeTypeSpecifierEnumeration(false); break; } // - // Rule 280: enum_specifier ::= enum identifier { enumerator_list_opt } + // Rule 284: enum_specifier ::= enum identifier { enumerator_list_opt } // - case 280: { action.builder. + case 284: { action.builder. consumeTypeSpecifierEnumeration(true); break; } // - // Rule 285: enumerator_definition ::= enumerator + // Rule 289: enumerator_definition ::= enumerator // - case 285: { action.builder. + case 289: { action.builder. consumeEnumerator(false); break; } // - // Rule 286: enumerator_definition ::= enumerator = constant_expression + // Rule 290: enumerator_definition ::= enumerator = constant_expression // - case 286: { action.builder. + case 290: { action.builder. consumeEnumerator(true); break; } // - // Rule 295: original_namespace_definition ::= namespace identifier_name { declaration_seq_opt } + // Rule 299: original_namespace_definition ::= namespace identifier_name { declaration_seq_opt } // - case 295: { action.builder. + case 299: { action.builder. consumeNamespaceDefinition(true); break; } // - // Rule 296: extension_namespace_definition ::= namespace original_namespace_name { declaration_seq_opt } + // Rule 300: extension_namespace_definition ::= namespace original_namespace_name { declaration_seq_opt } // - case 296: { action.builder. + case 300: { action.builder. consumeNamespaceDefinition(true); break; } // - // Rule 297: unnamed_namespace_definition ::= namespace { declaration_seq_opt } + // Rule 301: unnamed_namespace_definition ::= namespace { declaration_seq_opt } // - case 297: { action.builder. + case 301: { action.builder. consumeNamespaceDefinition(false); break; } // - // Rule 299: namespace_alias_definition ::= namespace identifier = dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 303: namespace_alias_definition ::= namespace identifier = dcolon_opt nested_name_specifier_opt namespace_name ; // - case 299: { action.builder. + case 303: { action.builder. consumeNamespaceAliasDefinition(); break; } // - // Rule 300: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; + // Rule 304: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; // - case 300: { action.builder. + case 304: { action.builder. consumeUsingDeclaration(); break; } // - // Rule 301: typename_opt ::= typename + // Rule 305: typename_opt ::= typename // - case 301: { action.builder. + case 305: { action.builder. consumePlaceHolder(); break; } // - // Rule 302: typename_opt ::= $Empty + // Rule 306: typename_opt ::= $Empty // - case 302: { action.builder. + case 306: { action.builder. consumeEmpty(); break; } // - // Rule 303: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 307: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; // - case 303: { action.builder. + case 307: { action.builder. consumeUsingDirective(); break; } // - // Rule 304: asm_definition ::= asm ( stringlit ) ; + // Rule 308: asm_definition ::= asm ( stringlit ) ; // - case 304: { action.builder. + case 308: { action.builder. consumeDeclarationASM(); break; } // - // Rule 305: linkage_specification ::= extern stringlit { declaration_seq_opt } + // Rule 309: linkage_specification ::= extern stringlit { declaration_seq_opt } // - case 305: { action.builder. + case 309: { action.builder. consumeLinkageSpecification(); break; } // - // Rule 306: linkage_specification ::= extern stringlit declaration + // Rule 310: linkage_specification ::= extern stringlit declaration // - case 306: { action.builder. + case 310: { action.builder. consumeLinkageSpecification(); break; } // - // Rule 312: init_declarator ::= declarator initializer + // Rule 316: init_declarator ::= declarator initializer // - case 312: { action.builder. + case 316: { action.builder. consumeDeclaratorWithInitializer(true); break; } // - // Rule 314: declarator ::= ptr_operator_seq direct_declarator + // Rule 318: declarator ::= ptr_operator_seq direct_declarator // - case 314: { action.builder. + case 318: { action.builder. consumeDeclaratorWithPointer(true); break; } // - // Rule 318: basic_direct_declarator ::= declarator_id_name + // Rule 322: basic_direct_declarator ::= declarator_id_name // - case 318: { action.builder. + case 322: { action.builder. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 319: basic_direct_declarator ::= ( declarator ) + // Rule 323: basic_direct_declarator ::= ( declarator ) // - case 319: { action.builder. + case 323: { action.builder. consumeDirectDeclaratorBracketed(); break; } // - // Rule 320: function_direct_declarator ::= basic_direct_declarator ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt + // Rule 324: function_direct_declarator ::= basic_direct_declarator ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt // - case 320: { action.builder. + case 324: { action.builder. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 321: array_direct_declarator ::= array_direct_declarator array_modifier + // Rule 325: array_direct_declarator ::= array_direct_declarator array_modifier // - case 321: { action.builder. + case 325: { action.builder. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 322: array_direct_declarator ::= basic_direct_declarator array_modifier + // Rule 326: array_direct_declarator ::= basic_direct_declarator array_modifier // - case 322: { action.builder. + case 326: { action.builder. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 323: array_modifier ::= [ constant_expression ] + // Rule 327: array_modifier ::= [ constant_expression ] // - case 323: { action.builder. + case 327: { action.builder. consumeDirectDeclaratorArrayModifier(true); break; } // - // Rule 324: array_modifier ::= [ ] + // Rule 328: array_modifier ::= [ ] // - case 324: { action.builder. + case 328: { action.builder. consumeDirectDeclaratorArrayModifier(false); break; } // - // Rule 325: ptr_operator ::= * cv_qualifier_seq_opt + // Rule 329: ptr_operator ::= * cv_qualifier_seq_opt // - case 325: { action.builder. + case 329: { action.builder. consumePointer(); break; } // - // Rule 326: ptr_operator ::= & + // Rule 330: ptr_operator ::= & // - case 326: { action.builder. + case 330: { action.builder. consumeReferenceOperator(); break; } // - // Rule 327: ptr_operator ::= dcolon_opt nested_name_specifier * cv_qualifier_seq_opt + // Rule 331: ptr_operator ::= dcolon_opt nested_name_specifier * cv_qualifier_seq_opt // - case 327: { action.builder. + case 331: { action.builder. consumePointerToMember(); break; } // - // Rule 333: cv_qualifier ::= const + // Rule 337: cv_qualifier ::= const // - case 333: { action.builder. + case 337: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 334: cv_qualifier ::= volatile + // Rule 338: cv_qualifier ::= volatile // - case 334: { action.builder. + case 338: { action.builder. consumeDeclSpecToken(); break; } // - // Rule 336: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name + // Rule 340: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name // - case 336: { action.builder. + case 340: { action.builder. consumeQualifiedId(false); break; } // - // Rule 337: type_id ::= type_specifier_seq + // Rule 341: type_id ::= type_specifier_seq // - case 337: { action.builder. + case 341: { action.builder. consumeTypeId(false); break; } // - // Rule 338: type_id ::= type_specifier_seq abstract_declarator + // Rule 342: type_id ::= type_specifier_seq abstract_declarator // - case 338: { action.builder. + case 342: { action.builder. consumeTypeId(true); break; } // - // Rule 341: abstract_declarator ::= ptr_operator_seq + // Rule 345: abstract_declarator ::= ptr_operator_seq // - case 341: { action.builder. + case 345: { action.builder. consumeDeclaratorWithPointer(false); break; } // - // Rule 342: abstract_declarator ::= ptr_operator_seq direct_abstract_declarator + // Rule 346: abstract_declarator ::= ptr_operator_seq direct_abstract_declarator // - case 342: { action.builder. + case 346: { action.builder. consumeDeclaratorWithPointer(true); break; } // - // Rule 346: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 350: basic_direct_abstract_declarator ::= ( abstract_declarator ) // - case 346: { action.builder. + case 350: { action.builder. consumeDirectDeclaratorBracketed(); break; } // - // Rule 347: array_direct_abstract_declarator ::= array_modifier + // Rule 351: array_direct_abstract_declarator ::= array_modifier // - case 347: { action.builder. + case 351: { action.builder. consumeDirectDeclaratorArrayDeclarator(false); break; } // - // Rule 348: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier + // Rule 352: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier // - case 348: { action.builder. + case 352: { action.builder. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 349: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier + // Rule 353: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier // - case 349: { action.builder. + case 353: { action.builder. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 350: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt + // Rule 354: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt // - case 350: { action.builder. + case 354: { action.builder. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 351: function_direct_abstract_declarator ::= ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt + // Rule 355: function_direct_abstract_declarator ::= ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt // - case 351: { action.builder. + case 355: { action.builder. consumeDirectDeclaratorFunctionDeclarator(false); break; } // - // Rule 352: parameter_declaration_clause ::= parameter_declaration_list_opt ... + // Rule 356: parameter_declaration_clause ::= parameter_declaration_list_opt ... // - case 352: { action.builder. + case 356: { action.builder. consumePlaceHolder(); break; } // - // Rule 353: parameter_declaration_clause ::= parameter_declaration_list_opt + // Rule 357: parameter_declaration_clause ::= parameter_declaration_list_opt // - case 353: { action.builder. + case 357: { action.builder. consumeEmpty(); break; } // - // Rule 354: parameter_declaration_clause ::= parameter_declaration_list , ... + // Rule 358: parameter_declaration_clause ::= parameter_declaration_list , ... // - case 354: { action.builder. + case 358: { action.builder. consumePlaceHolder(); break; } // - // Rule 360: abstract_declarator_opt ::= $Empty + // Rule 364: abstract_declarator_opt ::= $Empty // - case 360: { action.builder. + case 364: { action.builder. consumeEmpty(); break; } // - // Rule 361: parameter_declaration ::= declaration_specifiers parameter_init_declarator + // Rule 365: parameter_declaration ::= declaration_specifiers parameter_init_declarator // - case 361: { action.builder. + case 365: { action.builder. consumeParameterDeclaration(); break; } // - // Rule 362: parameter_declaration ::= declaration_specifiers + // Rule 366: parameter_declaration ::= declaration_specifiers // - case 362: { action.builder. + case 366: { action.builder. consumeParameterDeclarationWithoutDeclarator(); break; } // - // Rule 364: parameter_init_declarator ::= declarator = parameter_initializer + // Rule 368: parameter_init_declarator ::= declarator = parameter_initializer // - case 364: { action.builder. + case 368: { action.builder. consumeDeclaratorWithInitializer(true); break; } // - // Rule 366: parameter_init_declarator ::= abstract_declarator = parameter_initializer + // Rule 370: parameter_init_declarator ::= abstract_declarator = parameter_initializer // - case 366: { action.builder. + case 370: { action.builder. consumeDeclaratorWithInitializer(true); break; } // - // Rule 367: parameter_init_declarator ::= = parameter_initializer + // Rule 371: parameter_init_declarator ::= = parameter_initializer // - case 367: { action.builder. + case 371: { action.builder. consumeDeclaratorWithInitializer(false); break; } // - // Rule 368: parameter_initializer ::= assignment_expression + // Rule 372: parameter_initializer ::= assignment_expression // - case 368: { action.builder. + case 372: { action.builder. consumeInitializer(); break; } // - // Rule 369: function_definition ::= declaration_specifiers_opt function_direct_declarator ctor_initializer_list_opt function_body + // Rule 373: function_definition ::= declaration_specifiers_opt function_direct_declarator ctor_initializer_list_opt function_body // - case 369: { action.builder. + case 373: { action.builder. consumeFunctionDefinition(false); break; } // - // Rule 370: function_definition ::= declaration_specifiers_opt function_direct_declarator try ctor_initializer_list_opt function_body handler_seq + // Rule 374: function_definition ::= declaration_specifiers_opt function_direct_declarator try ctor_initializer_list_opt function_body handler_seq // - case 370: { action.builder. + case 374: { action.builder. consumeFunctionDefinition(true); break; } // - // Rule 373: initializer ::= ( expression_list ) + // Rule 377: initializer ::= ( expression_list ) // - case 373: { action.builder. + case 377: { action.builder. consumeInitializerConstructor(); break; } // - // Rule 374: initializer_clause ::= assignment_expression + // Rule 378: initializer_clause ::= assignment_expression // - case 374: { action.builder. + case 378: { action.builder. consumeInitializer(); break; } // - // Rule 375: initializer_clause ::= { initializer_list , } + // Rule 379: initializer_clause ::= { initializer_list , } // - case 375: { action.builder. + case 379: { action.builder. consumeInitializerList(); break; } // - // Rule 376: initializer_clause ::= { initializer_list } + // Rule 380: initializer_clause ::= { initializer_list } // - case 376: { action.builder. + case 380: { action.builder. consumeInitializerList(); break; } // - // Rule 377: initializer_clause ::= { } + // Rule 381: initializer_clause ::= { } // - case 377: { action.builder. + case 381: { action.builder. consumeInitializerList(); break; } // - // Rule 382: class_specifier ::= class_head { member_declaration_list_opt } + // Rule 386: class_specifier ::= class_head { member_declaration_list_opt } // - case 382: { action.builder. + case 386: { action.builder. consumeClassSpecifier(); break; } // - // Rule 383: class_head ::= class_keyword identifier_name_opt base_clause_opt + // Rule 387: class_head ::= class_keyword identifier_name_opt base_clause_opt // - case 383: { action.builder. + case 387: { action.builder. consumeClassHead(false); break; } // - // Rule 384: class_head ::= class_keyword template_id_name base_clause_opt + // Rule 388: class_head ::= class_keyword template_id_name base_clause_opt // - case 384: { action.builder. + case 388: { action.builder. consumeClassHead(false); break; } // - // Rule 385: class_head ::= class_keyword nested_name_specifier identifier_name base_clause_opt + // Rule 389: class_head ::= class_keyword nested_name_specifier identifier_name base_clause_opt // - case 385: { action.builder. + case 389: { action.builder. consumeClassHead(true); break; } // - // Rule 386: class_head ::= class_keyword nested_name_specifier template_id_name base_clause_opt - // - case 386: { action.builder. - consumeClassHead(true); break; - } - - // - // Rule 390: identifier_name_opt ::= $Empty + // Rule 390: class_head ::= class_keyword nested_name_specifier template_id_name base_clause_opt // case 390: { action.builder. + consumeClassHead(true); break; + } + + // + // Rule 394: identifier_name_opt ::= $Empty + // + case 394: { action.builder. consumeEmpty(); break; } // - // Rule 394: visibility_label ::= access_specifier_keyword : + // Rule 398: visibility_label ::= access_specifier_keyword : // - case 394: { action.builder. + case 398: { action.builder. consumeVisibilityLabel(); break; } // - // Rule 395: member_declaration ::= declaration_specifiers_opt member_declarator_list ; + // Rule 399: member_declaration ::= declaration_specifiers_opt member_declarator_list ; // - case 395: { action.builder. + case 399: { action.builder. consumeDeclarationSimple(true); break; } // - // Rule 396: member_declaration ::= declaration_specifiers_opt ; + // Rule 400: member_declaration ::= declaration_specifiers_opt ; // - case 396: { action.builder. + case 400: { action.builder. consumeDeclarationSimple(false); break; } // - // Rule 399: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ; + // Rule 403: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ; // - case 399: { action.builder. + case 403: { action.builder. consumeMemberDeclarationQualifiedId(); break; } // - // Rule 410: member_declarator ::= declarator constant_initializer + // Rule 407: member_declaration ::= ERROR_TOKEN // - case 410: { action.builder. + case 407: { action.builder. + consumeDeclarationProblem(); break; + } + + // + // Rule 415: member_declarator ::= declarator constant_initializer + // + case 415: { action.builder. consumeMemberDeclaratorWithInitializer(); break; } // - // Rule 411: member_declarator ::= bit_field_declarator : constant_expression + // Rule 416: member_declarator ::= bit_field_declarator : constant_expression // - case 411: { action.builder. + case 416: { action.builder. consumeBitField(true); break; } // - // Rule 412: member_declarator ::= : constant_expression + // Rule 417: member_declarator ::= : constant_expression // - case 412: { action.builder. + case 417: { action.builder. consumeBitField(false); break; } // - // Rule 413: bit_field_declarator ::= identifier_name + // Rule 418: bit_field_declarator ::= identifier_name // - case 413: { action.builder. + case 418: { action.builder. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 420: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name + // Rule 425: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name // - case 420: { action.builder. + case 425: { action.builder. consumeBaseSpecifier(false); break; } // - // Rule 421: base_specifier ::= virtual_opt access_specifier_keyword virtual_opt dcolon_opt nested_name_specifier_opt class_name + // Rule 426: base_specifier ::= virtual_opt access_specifier_keyword virtual_opt dcolon_opt nested_name_specifier_opt class_name // - case 421: { action.builder. + case 426: { action.builder. consumeBaseSpecifier(true); break; } // - // Rule 422: virtual_opt ::= virtual + // Rule 427: virtual_opt ::= virtual // - case 422: { action.builder. + case 427: { action.builder. consumePlaceHolder(); break; } // - // Rule 423: virtual_opt ::= $Empty + // Rule 428: virtual_opt ::= $Empty // - case 423: { action.builder. + case 428: { action.builder. consumeEmpty(); break; } // - // Rule 429: conversion_function_id_name ::= operator conversion_type_id + // Rule 434: conversion_function_id_name ::= operator conversion_type_id // - case 429: { action.builder. + case 434: { action.builder. consumeConversionName(); break; } // - // Rule 430: conversion_type_id ::= type_specifier_seq conversion_declarator + // Rule 435: conversion_type_id ::= type_specifier_seq conversion_declarator // - case 430: { action.builder. + case 435: { action.builder. consumeTypeId(true); break; } // - // Rule 431: conversion_type_id ::= type_specifier_seq + // Rule 436: conversion_type_id ::= type_specifier_seq // - case 431: { action.builder. + case 436: { action.builder. consumeTypeId(false); break; } // - // Rule 432: conversion_declarator ::= ptr_operator_seq + // Rule 437: conversion_declarator ::= ptr_operator_seq // - case 432: { action.builder. + case 437: { action.builder. consumeDeclaratorWithPointer(false); break; } // - // Rule 438: mem_initializer ::= mem_initializer_name ( expression_list_opt ) + // Rule 443: mem_initializer ::= mem_initializer_name ( expression_list_opt ) // - case 438: { action.builder. + case 443: { action.builder. consumeConstructorChainInitializer(); break; } // - // Rule 439: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name + // Rule 444: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name // - case 439: { action.builder. + case 444: { action.builder. consumeQualifiedId(false); break; } // - // Rule 442: operator_function_id_name ::= operator_id_name < template_argument_list_opt > + // Rule 447: operator_function_id_name ::= operator_id_name < template_argument_list_opt > // - case 442: { action.builder. + case 447: { action.builder. consumeTemplateId(); break; } // - // Rule 443: operator_id_name ::= operator overloadable_operator + // Rule 448: operator_id_name ::= operator overloadable_operator // - case 443: { action.builder. + case 448: { action.builder. consumeOperatorName(); break; } // - // Rule 486: template_declaration ::= export_opt template < template_parameter_list > declaration + // Rule 491: template_declaration ::= export_opt template < template_parameter_list > declaration // - case 486: { action.builder. + case 491: { action.builder. consumeTemplateDeclaration(); break; } // - // Rule 487: export_opt ::= export + // Rule 492: export_opt ::= export // - case 487: { action.builder. + case 492: { action.builder. consumePlaceHolder(); break; } // - // Rule 488: export_opt ::= $Empty + // Rule 493: export_opt ::= $Empty // - case 488: { action.builder. + case 493: { action.builder. consumeEmpty(); break; } // - // Rule 493: type_parameter ::= class identifier_name_opt + // Rule 498: type_parameter ::= class identifier_name_opt // - case 493: { action.builder. + case 498: { action.builder. consumeSimpleTypeTemplateParameter(false); break; } // - // Rule 494: type_parameter ::= class identifier_name_opt = type_id + // Rule 499: type_parameter ::= class identifier_name_opt = type_id // - case 494: { action.builder. + case 499: { action.builder. consumeSimpleTypeTemplateParameter(true); break; } // - // Rule 495: type_parameter ::= typename identifier_name_opt + // Rule 500: type_parameter ::= typename identifier_name_opt // - case 495: { action.builder. + case 500: { action.builder. consumeSimpleTypeTemplateParameter(false); break; } // - // Rule 496: type_parameter ::= typename identifier_name_opt = type_id + // Rule 501: type_parameter ::= typename identifier_name_opt = type_id // - case 496: { action.builder. + case 501: { action.builder. consumeSimpleTypeTemplateParameter(true); break; } // - // Rule 497: type_parameter ::= template < template_parameter_list > class identifier_name_opt + // Rule 502: type_parameter ::= template < template_parameter_list > class identifier_name_opt // - case 497: { action.builder. + case 502: { action.builder. consumeTemplatedTypeTemplateParameter(false); break; } // - // Rule 498: type_parameter ::= template < template_parameter_list > class identifier_name_opt = id_expression + // Rule 503: type_parameter ::= template < template_parameter_list > class identifier_name_opt = id_expression // - case 498: { action.builder. + case 503: { action.builder. consumeTemplatedTypeTemplateParameter(true); break; } // - // Rule 499: template_id_name ::= template_identifier < template_argument_list_opt > + // Rule 504: template_id_name ::= template_identifier < template_argument_list_opt > // - case 499: { action.builder. + case 504: { action.builder. consumeTemplateId(); break; } // - // Rule 508: explicit_instantiation ::= template declaration + // Rule 513: explicit_instantiation ::= template declaration // - case 508: { action.builder. + case 513: { action.builder. consumeTemplateExplicitInstantiation(); break; } // - // Rule 509: explicit_specialization ::= template < > declaration + // Rule 514: explicit_specialization ::= template < > declaration // - case 509: { action.builder. + case 514: { action.builder. consumeTemplateExplicitSpecialization(); break; } // - // Rule 510: try_block ::= try compound_statement handler_seq + // Rule 515: try_block ::= try compound_statement handler_seq // - case 510: { action.builder. + case 515: { action.builder. consumeStatementTryBlock(); break; } // - // Rule 513: handler ::= catch ( exception_declaration ) compound_statement + // Rule 518: handler ::= catch ( exception_declaration ) compound_statement // - case 513: { action.builder. + case 518: { action.builder. consumeStatementCatchHandler(false); break; } // - // Rule 514: handler ::= catch ( ... ) compound_statement + // Rule 519: handler ::= catch ( ... ) compound_statement // - case 514: { action.builder. + case 519: { action.builder. consumeStatementCatchHandler(true); break; } // - // Rule 515: exception_declaration ::= type_specifier_seq declarator + // Rule 520: exception_declaration ::= type_specifier_seq declarator // - case 515: { action.builder. + case 520: { action.builder. consumeDeclarationSimple(true); break; } // - // Rule 516: exception_declaration ::= type_specifier_seq abstract_declarator + // Rule 521: exception_declaration ::= type_specifier_seq abstract_declarator // - case 516: { action.builder. + case 521: { action.builder. consumeDeclarationSimple(true); break; } // - // Rule 517: exception_declaration ::= type_specifier_seq + // Rule 522: exception_declaration ::= type_specifier_seq // - case 517: { action.builder. + case 522: { action.builder. consumeDeclarationSimple(false); break; } diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParserprs.java index 50eecd8fd12..13dd87c30c7 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParserprs.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParserprs.java @@ -38,490 +38,499 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface BaseCheck { public final static short baseCheck[] = {0, 0,0,0,0,0,1,1,1,1,1, - 0,1,1,1,1,1,1,1,1,1, - 3,1,1,1,1,1,1,1,1,2, - 1,1,0,1,0,4,2,2,2,3, - 2,3,2,2,1,0,1,1,1,4, - 4,4,8,8,3,3,4,4,3,3, - 2,2,7,7,7,7,4,4,6,7, - 4,1,1,1,2,2,2,2,2,2, - 2,2,2,4,7,7,3,1,0,1, - 2,2,1,2,3,4,1,0,3,1, - 0,3,5,1,4,1,3,3,1,3, - 3,3,1,3,3,1,3,3,1,3, - 3,3,3,1,3,3,1,3,1,3, - 1,3,1,3,1,3,1,5,1,2, - 1,1,3,3,3,3,3,3,3,3, - 3,3,3,1,1,2,1,3,1,0, - 1,0,1,1,0,1,1,1,1,1, - 1,1,1,1,3,3,2,2,1,4, - 2,1,2,5,7,5,1,4,5,7, - 9,8,2,2,3,2,3,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,2,1,0,4,2,2,2,2,2, - 1,0,1,1,1,1,1,1,2,1, - 2,2,2,1,2,2,1,2,2,1, - 2,2,1,2,2,1,1,1,1,1, + 0,1,2,1,1,1,1,1,1,1, + 1,1,1,1,3,1,1,1,1,1, + 1,1,1,2,1,1,0,1,0,4, + 2,2,2,3,2,3,2,2,1,0, + 1,1,1,4,4,4,8,8,3,3, + 4,4,3,3,2,2,7,7,7,7, + 4,4,6,7,4,1,1,1,2,2, + 2,2,2,2,2,2,2,4,7,7, + 3,1,0,1,2,2,1,2,3,4, + 1,0,3,1,0,3,5,1,4,1, + 3,3,1,3,3,3,1,3,3,1, + 3,3,1,3,3,3,3,1,3,3, + 1,3,1,3,1,3,1,3,1,3, + 1,5,1,2,1,1,3,3,3,3, + 3,3,3,3,3,3,3,1,1,2, + 1,3,1,0,1,0,1,1,0,1, + 1,1,1,1,1,1,1,1,3,3, + 2,2,1,4,2,1,2,5,7,5, + 1,4,5,7,9,8,2,2,3,2, + 3,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,2,1,0,4,2, + 2,2,2,2,1,0,1,1,1,1, + 1,1,2,1,2,2,2,1,2,2, + 1,2,2,1,2,2,1,2,2,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 3,4,4,5,4,5,4,1,5,6, - 1,3,1,0,1,3,1,1,1,1, - 1,1,1,1,6,6,5,1,7,6, - 1,0,6,5,6,4,1,3,1,0, - 1,2,1,3,1,1,1,1,3,9, - 2,2,3,2,3,1,5,1,2,2, - 1,0,1,1,1,3,1,2,1,1, - 2,3,1,1,1,3,1,2,2,9, - 8,2,1,3,1,3,1,0,1,0, - 2,1,1,3,1,3,2,1,5,8, - 1,2,3,1,5,4,3,1,3,1, - 1,5,4,4,5,5,1,0,1,0, - 1,1,1,2,4,2,2,1,5,1, - 1,1,1,2,1,0,1,3,1,2, - 3,2,1,2,2,1,0,1,3,3, - 6,1,0,1,1,1,1,0,2,2, - 1,2,2,1,0,1,3,4,3,1, - 1,5,2,1,1,3,3,1,1,1, + 1,1,1,1,3,4,4,5,4,5, + 4,1,5,6,1,3,1,0,1,3, + 1,1,1,1,1,1,1,1,6,6, + 5,1,7,6,1,0,6,5,6,4, + 1,3,1,0,1,2,1,3,1,1, + 1,1,3,9,2,2,3,2,3,1, + 5,1,2,2,1,0,1,1,1,3, + 1,2,1,1,2,3,1,1,1,3, + 1,2,2,9,8,2,1,3,1,3, + 1,0,1,0,2,1,1,3,1,3, + 2,1,5,8,1,2,3,1,5,4, + 3,1,3,1,1,5,4,4,5,5, + 1,0,1,0,1,1,1,2,4,2, + 2,1,5,1,1,1,1,1,2,1, + 0,1,3,1,2,3,2,1,2,2, + 1,0,1,3,3,6,1,0,1,1, + 1,1,0,2,2,1,2,2,1,0, + 1,3,4,3,1,1,5,2,1,1, + 3,3,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,2,2,7,1,0,1,3, - 1,1,2,4,2,4,7,9,5,1, - 1,3,1,0,1,1,1,2,4,4, - 1,2,5,5,3,3,1,4,3,1, - 0,1,3,-241,0,0,0,-2,0,0, + 1,1,1,1,1,1,1,1,2,2, + 7,1,0,1,3,1,1,2,4,2, + 4,7,9,5,1,1,3,1,0,1, + 1,1,2,4,4,1,2,5,5,3, + 3,1,4,3,1,0,1,3,-235,0, + 0,0,-2,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-70,0,0,0,0, - 0,-94,0,0,0,0,-187,0,0,0, - 0,0,-3,0,0,-110,0,0,0,-5, - -10,0,0,0,0,-8,-283,0,0,0, + -81,0,0,0,0,0,-108,0,0,0, + 0,-203,0,0,0,0,0,-4,0,0, + -92,0,0,0,-7,-3,0,0,0,0, + -216,-277,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-13,0, - 0,0,0,0,-14,0,0,0,0,-12, - 0,0,0,0,0,0,0,0,0,-155, + 0,0,0,-9,0,0,0,0,0,-12, + 0,0,0,0,0,0,0,0,-14,0, + 0,0,0,0,-164,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-73,0,0,0, - 0,0,-17,-6,0,0,0,0,0,0, + 0,-36,0,0,0,0,0,0,0,-6, 0,0,0,0,0,0,0,0,0,0, - 0,0,-104,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-104,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -19,0,0,-136,0,0,0,0,0,0, - -21,0,0,0,0,0,0,-129,0,0, - 0,0,0,0,0,0,0,0,-108,0, + 0,0,0,0,0,0,-65,0,0,0, + 0,0,0,0,0,0,-17,0,0,0, + 0,0,0,-122,0,0,0,0,0,0, + 0,0,0,0,-121,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-32,0,0,0, - 0,0,0,0,0,0,-9,0,0,0, - -24,0,0,0,-133,0,0,0,0,-263, + 0,0,-13,0,0,-24,0,0,0,0, + 0,0,-10,0,0,0,-31,0,0,0, + -49,0,0,0,0,-257,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-36,0,0,0,0,0,-296,0,-291, + 0,0,-103,0,0,-68,-278,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-372, + 0,0,0,0,-187,-73,0,0,0,0, + 0,-106,-25,0,0,-21,0,0,0,-97, + 0,0,-285,0,0,0,-30,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-43,0,0,0,0,0,-15,0, - 0,-121,0,0,0,-447,-59,0,-44,0, - 0,0,-114,0,0,-231,0,0,0,-52, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-50,0, - 0,0,0,-27,-22,0,0,-87,-265,0, + -16,-33,0,0,-74,-259,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-402,0, + 0,0,0,-100,0,-423,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-149,0,0,-452, + 0,0,0,-26,0,0,-452,0,0,0, + 0,0,0,0,0,0,0,-113,0,0, + 0,-34,0,0,0,0,0,0,0,0, + -98,0,0,0,0,0,-111,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -99,0,0,0,-28,0,0,0,0,0, - 0,0,0,-35,-115,0,0,0,0,-97, + 0,0,0,0,0,0,0,0,-355,0, + 0,0,0,0,-410,0,0,-107,0,-70, 0,0,0,0,0,0,0,0,0,0, + 0,-308,-398,0,0,0,0,0,0,-282, + 0,0,0,-28,0,0,0,0,-192,0, 0,0,0,0,0,0,0,0,0,0, - 0,-53,0,0,0,0,0,0,0,0, - 0,0,-55,0,0,0,0,0,-475,0, - 0,0,0,0,0,-39,0,0,0,0, - -51,0,-18,0,0,0,-38,0,0,0, - 0,-142,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-38,0,0,-140, + 0,0,0,0,0,0,0,-67,0,0, + 0,-290,0,0,0,-39,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-40,0,0,0,0,0,0,0, - 0,0,0,0,-218,0,0,0,-69,0, + 0,0,0,0,0,0,0,0,0,-141, + 0,0,0,0,0,0,0,0,0,-42, + 0,0,0,-379,0,0,0,-43,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-47,0,0,0,0, + 0,0,0,0,0,0,-75,0,0,0, + 0,0,-186,0,0,-242,0,0,0,0, + 0,0,0,0,0,0,0,-143,0,0, + 0,0,0,0,0,-380,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-195,0,0,0,0,-41,0,0, - 0,0,-54,-42,0,0,-305,0,0,0, - -60,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-56,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-119,0,0,0,-377,0, - 0,0,-243,-506,0,0,0,0,-122,-306, + 0,0,0,-44,0,0,-438,0,0,0, + 0,0,0,0,0,0,0,-112,0,0, + 0,-52,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-54,0,0,0,0, + -237,0,0,0,0,-182,0,0,0,-69, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-343,0,0, + 0,0,0,0,0,0,0,-224,0,0, + 0,0,0,-80,0,0,-198,0,-89,0, + 0,0,0,0,0,0,0,-185,-404,0, + 0,0,0,-207,0,0,-137,0,-105,0, + -265,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-98,0,0,0,-328,0,0,0,0, + 0,0,-321,0,0,0,0,0,0,0, + 0,-55,0,0,0,0,0,0,-56,0, + 0,0,-266,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-62,0,0,0,0,0,-63, - 0,0,0,0,-61,0,0,0,0,-173, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-225,0,0,0,0, + 0,0,0,0,-267,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -179,0,-425,0,0,0,0,0,0,0, - 0,-201,-46,0,0,0,0,0,-96,0, - -221,-66,0,-300,-271,0,0,0,0,0, + 0,0,0,0,0,0,0,-157,0,0, + 0,0,0,-62,0,0,-268,0,0,0, + -213,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-63, + 0,0,0,0,0,-71,0,0,-269,0, + 0,0,-76,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -238,0,0,0,0,0,0,0,0,-66, + 0,-325,0,0,0,0,0,-77,0,0, + -270,0,0,0,-286,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-222,-67,0,0,-272,0,0,0, - -93,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-244,0, - 0,0,0,0,-68,0,0,-193,0,0, - 0,0,0,0,0,0,0,0,-273,0, - 0,0,-284,0,0,0,0,0,0,0, + 0,0,-400,0,0,0,0,0,0,0, + 0,-82,0,-390,0,0,0,0,0,-131, + 0,0,-271,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -339,0,0,0,0,0,0,0,0,-71, 0,0,0,0,0,0,0,0,0,0, - -274,0,0,0,0,0,0,0,0,0, + 0,0,0,-93,0,-136,0,0,0,0, + -144,-148,0,0,-272,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-408,0,0,0, + 0,0,0,0,0,-130,0,-149,0,0, + 0,0,-150,-152,0,0,-273,0,0,0, + -153,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-154,0, + 0,0,0,0,0,0,0,-132,0,-155, + 0,0,0,0,-481,-156,0,0,-274,0, 0,0,0,0,0,0,0,0,0,0, - 0,-84,0,-77,0,0,0,0,-408,0, - 0,0,-275,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -158,0,0,0,0,0,0,0,0,-135, + 0,-159,0,0,0,0,-171,-172,0,0, + -275,0,0,0,-173,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -78,0,0,0,0,-83,0,0,0,0, - -389,0,0,0,-276,0,0,0,-293,0, + 0,0,-174,0,0,0,0,0,0,0, + 0,-191,0,-175,0,0,0,0,-176,-177, + 0,0,-375,0,0,0,-178,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-382,0,0,0, - 0,0,-131,0,0,0,0,-132,0,0, - 0,0,-138,-140,0,0,-277,0,0,0, - -144,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-410,0, - 0,0,0,0,0,0,0,-141,0,-145, - 0,0,0,0,-146,-147,0,0,-278,0, - 0,0,-418,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-180, - 0,-148,0,0,0,0,-150,-162,0,0, - -279,0,0,0,0,0,0,0,0,0, + 0,0,0,-199,0,-179,0,0,0,0, + -180,-181,0,0,-409,0,0,0,-183,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-210,0,-163,0,0,0,0,-467,-164, - 0,0,-280,0,0,0,-165,0,0,0, + 0,0,-184,0,0,-233,0,-188,0,0, + 0,0,-119,-190,0,0,-497,0,0,0, + -309,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-166,0,0,0,0,0, - 0,0,0,-212,0,-167,0,0,0,0, - -168,0,0,0,-281,0,0,0,-169,0, + 0,0,0,0,-307,0,0,-120,0,-195, + 0,0,0,0,-197,-200,0,0,-220,0, + 0,0,-125,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-170,0,0,0, - 0,0,0,0,0,-239,0,-171,0,0, - 0,0,-172,-174,0,0,-331,0,0,0, - -176,0,0,0,0,0,0,0,0,0, + -464,0,0,0,0,0,-202,0,0,-204, + 0,-194,0,0,0,0,-305,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-240,0,-178, - 0,0,0,0,-181,-182,0,0,-419,0, - 0,0,-183,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-205,0, + 0,0,0,0,-206,0,0,0,0,-215, + 0,0,0,0,-240,0,-243,0,0,0, + -241,0,0,0,0,0,0,0,-284,-234, + 0,-358,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-185,0,0,-301, - 0,-186,0,0,0,0,-106,-515,0,0, - -490,0,0,0,-188,0,0,0,0,0, + 0,0,0,-465,0,0,0,0,0,0, + 0,0,0,0,-312,0,0,0,0,-388, 0,0,0,0,0,0,0,0,0,0, - 0,0,-189,0,0,0,0,0,0,0, - 0,-308,0,-194,0,0,0,0,-384,-204, - 0,0,-299,0,0,0,-487,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-221,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-514,0,0, + 0,0,0,0,0,0,0,0,0,-133, + -397,0,0,0,-389,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -205,0,0,-211,0,-107,0,0,0,0, - -314,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-291,0,0,0, + 0,0,-504,0,0,0,0,-315,0,0, + 0,0,-490,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-216,0, - 0,-116,0,-175,0,0,0,0,-248,0, 0,0,0,0,0,0,0,0,0,0, - -137,0,-217,-330,0,-380,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-219,0,0, + -331,0,0,0,-327,0,0,0,0,0, + 0,0,-208,0,0,0,-292,-264,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-423,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-299, + 0,0,0,0,0,-147,0,0,-300,0, + -436,0,0,0,-304,-262,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-220,0,-230,0,0,0, - 0,-249,0,0,0,-246,0,0,0,0, - 0,0,0,-48,-247,0,0,0,-424,0, + 0,0,0,-306,0,0,0,0,-263,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -295,0,0,0,0,0,0,0,0,-313, - 0,-333,0,0,0,0,-499,0,0,0, + 0,0,0,0,0,0,-209,0,0,-5, + 0,0,0,-117,0,0,-442,0,0,0, + -317,0,0,-333,0,0,0,-515,0,0, + 0,0,0,0,0,0,-260,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-315,0, - 0,0,0,0,0,0,0,-317,0,-345, - 0,0,0,0,-504,0,0,0,-318,0, - 0,0,0,0,0,0,-134,0,0,-198, - -319,-270,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-301,0, + 0,0,0,0,-318,-319,0,-261,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-321,0,0,0,0,0,0, - 0,0,-322,0,-206,0,0,0,-327,-268, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-334,0,0,0,0,0,0,0,0, - -353,0,-269,0,0,0,-199,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -123,0,0,-7,0,0,0,-49,0,0, - -329,0,-335,0,0,0,0,-349,0,0, - 0,-336,0,0,0,0,0,0,0,-337, - -266,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-338,0,0,0,0,0,0,-29, - 0,-267,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-342,0,0,0,0,0,-229, - 0,0,0,0,0,0,0,0,0,-135, - 0,0,0,0,0,0,0,0,0,0, - 0,-340,-454,0,-128,0,0,0,-120,0, - -354,0,0,0,0,0,-355,-190,0,0, - 0,0,-196,0,0,0,0,0,0,0, - 0,0,0,0,0,-356,0,0,0,0, - 0,0,0,0,0,-357,0,0,0,0, - 0,0,0,-316,-358,-228,0,0,0,0, - 0,0,0,-476,0,-359,0,0,0,-407, - -360,0,0,-57,0,-105,-361,0,-58,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-348,0,-259,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -260,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-261,0,0, - 0,-311,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-262,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-362,0,0,0, - 0,-1,0,-324,0,0,-351,0,0,0, - -488,0,0,0,0,0,0,0,-363,-153, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -85,-200,0,-325,0,0,0,0,-445,0, - 0,0,0,0,0,0,-444,0,-364,-64, - 0,0,0,0,-378,0,0,0,-26,0, - 0,0,0,0,0,0,0,0,-208,0, - 0,0,0,-91,0,-72,0,0,0,0, - -500,0,0,0,0,-365,-95,0,-347,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-352,-366,-224, - 0,0,0,0,0,0,0,0,-130,0, - -451,0,0,0,0,0,0,0,-81,0, - 0,0,0,0,-233,-191,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -125,0,0,0,0,-512,0,-367,-92,0, - 0,0,0,-368,-385,0,0,0,0,-369, - 0,0,0,0,-74,0,0,0,0,0, - 0,0,0,0,0,-30,0,0,0,0, - 0,0,-370,-127,0,0,0,0,0,-371, - 0,0,0,0,0,-65,0,0,0,0, - 0,-372,0,-379,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-76, - 0,-79,0,0,0,0,0,0,-234,0, - -381,0,0,0,0,0,0,0,0,0, - 0,-414,0,0,0,0,0,0,-386,0, - 0,0,0,0,0,0,0,0,0,0, - -223,0,0,0,0,0,0,0,0,0, - 0,0,-184,-390,-391,-396,0,-375,0,0, - 0,-437,0,0,0,-289,0,0,0,0, - 0,-400,0,-264,0,0,0,-31,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-203, - -403,0,0,0,-489,0,0,0,0,0, - 0,0,0,0,0,0,-388,0,0,0, - -474,-86,0,0,0,0,-404,-405,-207,-88, - 0,0,0,0,0,-406,0,-426,0,0, - 0,0,-435,-23,0,0,0,-442,0,0, - 0,0,0,0,-443,0,0,0,0,-238, - 0,-450,-461,0,0,0,0,0,0,-226, - 0,0,0,0,0,-227,0,0,-415,-477, - 0,0,0,0,-383,0,0,0,0,0, - 0,0,0,0,0,0,-101,0,-480,-481, - 0,0,0,0,0,0,-112,0,0,-482, - 0,0,0,0,-113,0,0,0,0,-448, - 0,0,0,0,0,0,-154,0,0,0, - -484,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-209,0, - 0,0,0,0,0,0,0,-254,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-491, - 0,0,-255,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-312,0,0,-497,0,-483, - 0,0,0,0,0,-82,0,0,0,-502, - -117,-143,0,-323,0,0,0,0,0,-298, - 0,0,0,-100,0,0,0,0,0,0, - 0,-427,0,0,0,0,0,0,0,-4, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-215,0,-430,-225,0,-285,0, - 0,0,0,0,0,0,0,-235,0,-287, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-11,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-395,-288,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-45,0,-332,0, - 0,-346,0,0,0,0,0,-307,0,0, - 0,0,0,0,0,0,0,0,0,0, - -398,0,0,0,-151,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-47, - 0,-326,0,0,0,0,0,0,0,0, - 0,0,0,0,-401,0,0,-399,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-124,0,0,0,0,0,0, - -429,0,-413,0,0,0,0,0,0,-421, - 0,0,0,0,0,0,0,0,0,0, - -236,-232,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-214,0,-434,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-20,0,0,0,0,-420,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-428,0,0,0,0,-455, - 0,-459,0,0,0,0,0,0,0,0, - 0,0,0,-109,-486,0,0,0,0,-505, - 0,0,-432,0,0,0,0,0,0,0, - 0,0,0,-256,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-257,0,0, - 0,-33,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-258,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-310,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -436,-34,0,0,0,-463,0,0,-37,0, - 0,0,-250,0,0,-302,0,0,0,0, - -213,-320,-479,0,0,0,0,0,0,0, - 0,-493,0,0,0,0,0,0,0,0, - 0,-510,0,0,0,-446,0,0,0,0, - 0,0,0,0,0,0,-286,0,0,0, - 0,-118,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-457, - 0,0,0,0,0,0,0,-392,0,0, - 0,0,0,0,0,0,0,-417,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-290,0,0,0,0, - -292,0,0,-460,-197,0,0,0,0,0, - 0,0,0,-449,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-501,0,0, - 0,0,0,0,0,0,0,-458,0,0, - 0,0,0,-468,0,-469,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-462, - 0,-373,0,0,0,-202,0,0,0,-513, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-152,0, - 0,0,0,0,0,0,0,0,0,-470, - 0,-471,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-320, + 0,0,0,0,0,-40,-324,0,0,0, + 0,0,0,0,0,-61,0,0,0,0, + -313,-336,-303,-123,0,0,-1,0,-210,-463, 0,0,0,0,0,0,-494,0,0,0, - 0,0,0,0,-433,-466,0,0,0,0, - 0,0,0,0,0,0,-374,0,0,0, + 0,0,0,-212,-337,0,0,0,0,-201, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-192,0,0,0,0,0, - 0,0,0,0,0,0,0,-495,0,0, - -103,0,0,0,0,0,0,0,0,0, - 0,0,0,-496,-508,0,0,0,0,0, - -464,-507,0,0,0,0,0,0,-251,0, + 0,0,0,0,0,0,0,0,0,-41, + 0,0,0,0,0,-91,0,0,0,0, + 0,-316,-483,0,-48,0,0,0,0,-288, + 0,-338,0,0,0,0,0,0,0,0, + 0,0,0,-339,0,-110,0,0,0,0, + 0,0,0,-340,0,-219,0,0,0,0, + 0,-341,-342,0,-109,0,0,0,0,0, + 0,0,0,0,-302,0,0,0,-343,0, + 0,0,0,0,-211,0,0,0,0,0, + 0,-360,-322,-50,0,0,0,0,-253,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -237,0,0,0,0,-511,0,0,0,0, + 0,0,0,0,0,0,0,0,-344,0, + 0,0,-377,0,0,0,0,0,-254,0, + 0,0,-335,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -345,0,0,0,0,-99,-378,-255,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-282,-492,-516,0,0, - 0,0,0,0,-472,0,0,0,0,0, + 0,0,0,0,-256,0,0,0,-346,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-409,0,0,0, - -456,-514,0,0,0,0,0,0,-245,-517, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-438,0, - 0,-439,0,-519,0,0,0,0,0,0, - -509,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -387,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-218,0,0,0, + 0,-87,-53,0,-347,0,0,0,0,0, + 0,0,-348,-281,0,-349,0,0,0,-248, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -16,0,0,0,0,0,0,0,0,0, + 0,-376,0,0,-124,0,-451,0,0,0, + 0,0,0,0,0,0,-310,0,0,0, + 0,0,0,-329,-57,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-491,-350, + -59,-64,0,0,0,0,-351,0,0,-72, + 0,0,0,0,-352,0,0,0,0,-60, + 0,0,0,0,0,-353,0,-416,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-127,-455,-78,-83,0,-15,0,0,0, + 0,-354,-367,0,0,0,0,-507,0,0, + -357,0,0,0,0,0,0,-359,0,-330, + -86,0,0,0,0,0,-19,0,0,0, + 0,0,0,-361,-129,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-88,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -295,0,0,0,0,0,-362,-90,0,-363, + 0,0,0,0,-365,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-495,0,0,0,0,0,0,0,0, + 0,-258,0,0,0,-102,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-232,0,0,0,0,-366,0, + -146,-371,0,0,-293,0,0,0,0,0, + 0,0,0,0,0,0,-95,0,-96,-18, + 0,0,0,-435,0,-373,0,-20,-393,-496, + 0,0,0,0,0,0,0,0,0,0, + 0,-250,0,0,0,-334,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-394,0,0,0,0,-101,-115, + -193,-279,0,0,0,0,0,-395,0,-396, + -411,0,0,0,0,-454,0,0,0,0, + 0,0,0,-11,0,0,-139,0,0,0, + 0,0,0,0,0,0,0,0,0,-368, + -369,0,0,0,0,0,0,-22,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-287,-412,-417,-151,0,0,0,0,0, + 0,0,0,-421,0,0,0,0,0,0, + 0,0,0,0,-425,0,0,0,0,-433, + 0,0,0,0,0,0,0,0,0,0, + -249,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-280,0,0,-374,0,-434,-138,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-289,-386,-391,-419,0, + 0,-114,0,0,0,0,-441,-449,0,0, + 0,0,0,0,0,0,0,0,0,-453, + 0,0,-466,0,0,0,0,-298,0,-405, + 0,0,0,0,0,0,-469,0,-356,0, + 0,0,0,0,0,-314,0,-245,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-370,0,-428,-470,0,0,-134,0,0, + 0,-475,-482,-118,-439,0,0,0,0,0, + -437,-488,0,-8,0,0,0,0,-493,0, + 0,0,0,-403,0,-328,0,0,0,0, + -276,-498,-222,0,0,0,-503,0,0,0, + 0,-160,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-84,0,0,0, + 0,0,-444,0,0,0,0,0,0,0, + 0,0,0,0,-420,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -85,0,0,0,0,0,0,-227,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-228,-226,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-126,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-448,0,-422,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -424,-244,0,0,0,0,-427,0,-456,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-294,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -251,0,0,0,-485,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-446,0,-252,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-297,0,0,0, + 0,0,0,-450,-457,0,-223,-142,-458,0, + 0,0,0,0,-162,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-364,0,0,0,0, + 0,0,0,-459,0,-460,0,0,0,0, + 0,-471,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-477,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-382,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-79,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-239,0,0,0,0,-413,-283, + -472,-473,0,0,-461,0,-32,0,0,0, + 0,0,-484,-94,-486,0,0,0,0,0, + 0,0,-487,0,0,0,0,0,0,0, + -462,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-156,0,0,0,0,0,0,0,0, + 0,0,0,0,-474,0,-500,0,0,0, + 0,-414,0,0,-512,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-407,0, + 0,0,0,0,-161,0,0,0,-501,0, + -429,0,0,0,0,0,0,-383,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-473,0,0,0,0, + 0,0,-468,0,0,0,0,0,0,0, + -476,0,0,-506,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-440,0,0,0,0,-231, + 0,0,0,-489,0,0,0,0,0,0, + 0,0,-510,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-505,0,-480,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-157,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-158,0, + -492,0,0,0,0,-399,0,0,0,0, + 0,-513,0,-447,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -159,0,0,0,0,0,0,0,0,0, + 0,0,-509,0,0,0,0,0,0,-430, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-160,0,0,0,0,0,0, + 0,0,0,0,0,0,-508,0,0,0, + 0,-406,0,0,0,0,0,0,0,-296, + 0,0,-517,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-161, + 0,0,0,0,0,-431,-311,0,-516,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-242,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-252,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-253,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-294,0,0, - 0,0,0,0,0,0,0,0,0,-341, + 0,-229,0,0,0,0,0,-145,0,0, + 0,-392,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-411,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-422,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-485,0, - 0,-303,-304,0,-111,0,0,0,0,0, - 0,-102,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-25, - 0,0,0,0,0,0,0,0,0,0, - 0,-440,0,0,0,0,0,0,0,-441, + 0,0,0,0,-519,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -465,0,-503,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -75,0,0,0,0,0,0,0,0,0, - -431,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-478,0,0,0,0,0, - 0,0,-80,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-89,0,0,0,0,0, - 0,0,0,0,-90,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-393,0,0,0,0,0,0,0, + 0,-23,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-126,0,0,0,0,-498, - 0,0,0,0,-139,0,0,0,0,0, - 0,0,0,0,-177,0,0,0,-412,0, + 0,0,0,0,0,0,-29,0,0,0, + 0,0,0,0,0,0,0,0,-432,0, + 0,0,0,0,-163,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-478,-499,-467, + -479,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -165,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-166,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-167,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-168,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-169, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-170,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-214,0,0,0,0,0,0, + 0,0,0,0,0,-236,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-246,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-247, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-323,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-401,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-443,0,0,0,0, + 0,0,0,0,-387,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-116, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-37,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-445,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-415,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-511,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-27,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-35,0, + 0,0,0,0,0,0,0,0,-45,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-230,0,0,0,0,0,0,0, + 0,-46,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-51,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-58,0,0,0,0,0, + 0,0,-128,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-189,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-196,0,0,0,0,0,0, + 0,-217,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-326,0, + 0,0,0,0,0,0,-332,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-426,0,0,0,0,0,-502,0, + 0,0,0,0,0,0,-384,0,0,0, + 0,0,0,0,-381,0,0,0,0,0, + 0,-418,-385,0,0,0,0,0,0,-402, 0,0,0,0,0,0,0,0,-518,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-297,0,0,0,0,0, - 0,0,0,0,-344,0,0,0,0,0, - 0,0,0,0,-350,0,0,0,-309,0, - -394,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-453,0,0,0,0,-376, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-397,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-416,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, @@ -532,7 +541,9 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0 + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0 }; }; public final static short baseCheck[] = BaseCheck.baseCheck; @@ -542,524 +553,535 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface BaseAction { public final static char baseAction[] = { - 169,4,192,193,194,135,88,33,65,39, - 169,169,15,15,15,15,15,15,15,15, - 16,16,16,14,10,10,8,8,8,8, - 8,1,66,66,5,5,11,11,11,11, - 49,49,136,136,137,58,58,47,47,17, + 170,4,194,195,196,135,88,33,65,39, + 170,170,171,171,136,136,15,15,15,15, + 15,15,15,15,16,16,16,14,10,10, + 8,8,8,8,8,1,66,66,5,5, + 11,11,11,11,49,49,137,137,138,58, + 58,47,47,17,17,17,17,17,17,17, 17,17,17,17,17,17,17,17,17,17, - 17,17,17,17,17,17,17,17,17,138, - 138,138,18,18,18,18,18,18,18,18, - 18,18,18,18,18,19,19,173,170,170, - 171,171,174,140,140,175,175,172,172,141, - 139,139,20,20,21,21,23,23,23,24, - 24,24,24,25,25,25,26,26,26,27, - 27,27,27,27,29,29,29,30,30,32, - 32,34,34,35,35,36,36,37,37,41, - 41,40,40,40,40,40,40,40,40,40, - 40,40,40,40,38,38,28,142,142,102, - 102,107,107,97,195,195,80,80,80,80, - 80,80,80,80,80,81,81,81,82,82, - 56,56,176,176,83,83,83,117,117,84, - 84,84,84,85,85,85,85,85,86,68, - 68,68,68,68,68,68,51,51,51,51, - 51,106,106,109,109,48,22,22,22,22, - 22,44,44,93,93,93,93,93,148,148, - 143,143,143,143,144,144,144,145,145,145, - 146,146,146,147,147,147,94,94,94,94, - 94,95,95,95,91,12,13,13,13,13, - 13,13,13,13,13,13,13,89,89,89, - 121,121,121,121,121,119,119,119,92,120, - 120,150,150,149,149,123,123,124,43,43, - 42,72,72,73,73,75,76,74,45,53, - 46,151,151,54,52,71,71,178,178,177, - 177,152,152,90,90,77,77,77,61,61, - 62,78,78,79,79,67,67,67,103,103, - 105,104,104,57,57,63,63,55,55,50, - 108,108,108,98,98,98,99,100,100,100, - 101,101,110,110,110,112,112,111,111,196, - 196,96,96,180,180,180,180,180,126,59, - 59,154,179,179,127,127,127,127,181,181, - 31,31,118,128,128,128,128,197,197,113, - 113,122,122,122,156,157,157,157,157,157, - 157,157,157,184,184,182,182,183,183,158, - 158,158,158,159,185,115,114,114,186,186, - 160,160,130,130,129,129,129,198,198,9, - 187,187,188,161,153,153,162,162,163,164, - 164,6,6,7,166,166,166,166,166,166, - 166,166,166,166,166,166,166,166,166,166, - 166,166,166,166,166,166,166,166,166,166, - 166,166,166,166,166,166,166,166,166,166, - 166,166,166,166,166,166,60,64,64,167, - 167,131,131,132,132,132,132,132,132,2, - 3,168,168,165,165,133,133,133,69,70, - 87,155,155,116,116,189,189,189,134,134, - 125,125,190,190,1445,2105,2096,701,1169,4755, - 27,711,24,28,23,25,2384,255,22,20, - 49,1668,104,73,74,106,2731,1704,1717,1710, - 1746,1735,2744,1759,1751,267,1788,1658,1777,1793, - 1794,141,3184,819,157,142,584,26,29,701, - 1508,1515,27,711,36,28,842,3159,26,29, - 701,225,3809,27,711,24,28,23,25,1667, - 255,22,20,49,1668,104,73,74,106,150, - 1704,1717,1710,1746,1735,1488,1759,1751,371,1788, - 414,1777,2832,270,3277,269,268,228,223,224, - 3159,2105,2096,701,329,3809,27,711,24,28, - 23,25,1667,255,22,20,49,1668,104,73, - 74,81,234,237,240,243,2806,1303,3065,3057, - 701,30,985,939,154,26,29,701,4101,2994, - 27,711,24,28,335,25,2087,2679,904,2360, - 2928,3502,3562,1985,26,29,701,2304,3809,27, - 711,24,28,1867,25,1667,255,22,20,49, - 1668,104,73,74,106,339,1704,1717,1710,1746, - 1735,1490,1759,1751,2744,1788,369,1777,1793,1794, - 141,1597,443,505,142,653,849,318,584,26, - 29,701,859,2903,27,711,1744,28,506,1985, - 26,29,701,2304,3809,27,711,24,28,1867, - 25,1667,255,22,20,49,1668,104,73,74, - 106,339,1704,1717,1710,1746,1735,70,1759,1751, - 371,1788,4593,1777,1793,1794,141,586,1144,505, - 142,68,37,39,701,2531,389,38,711,2903, - 3159,26,29,701,506,3809,27,711,24,28, - 23,25,1667,255,22,20,49,1668,104,73, - 74,106,61,1704,1717,2629,501,2749,919,1093, - 2536,26,29,701,2304,3809,27,711,24,28, - 1867,25,1667,255,22,20,49,1668,104,73, - 74,106,339,1704,1717,1710,1746,1735,1843,1759, - 1751,1872,1788,61,1777,1793,1794,141,4615,159, - 505,142,2031,899,272,701,3337,935,3217,61, - 2903,2486,501,1487,4625,506,2464,26,29,701, - 1101,3809,27,711,24,28,23,25,1667,255, - 22,20,49,1668,104,73,74,106,1989,1704, - 1717,1710,1746,1735,1885,1759,1751,1872,1788,319, - 1777,1793,1794,141,835,2684,374,142,61,3159, - 26,29,701,4675,3809,27,711,24,28,23, - 25,1667,255,22,20,49,1668,104,73,74, - 106,377,1704,1717,1710,1746,1735,1919,2706,2579, - 26,29,701,502,3809,27,711,24,28,23, - 25,1667,255,22,20,49,1668,104,73,74, - 106,225,1704,1717,1710,1746,1735,61,1759,1751, - 3422,1788,3941,1777,1793,1794,141,383,416,374, - 142,892,26,29,701,500,4695,27,711,24, - 28,335,25,378,861,2188,275,236,223,224, - 2843,26,29,701,375,3809,27,711,24,28, - 23,25,1667,255,22,20,49,1668,104,73, - 74,106,673,1704,1717,1710,1746,1735,2474,1759, - 1751,3030,1788,920,1777,1793,1794,141,3184,3272, - 374,142,1143,316,318,430,45,3279,329,312, - 2651,879,552,1303,380,381,701,1958,314,1022, - 434,1322,2944,26,29,701,379,3809,27,711, - 24,28,23,25,1667,255,22,20,49,1668, - 104,73,74,106,30,1704,1717,1710,1746,1735, - 215,1759,1751,2691,1788,320,1777,1793,1794,141, - 328,321,157,142,520,2944,26,29,701,2096, - 3809,27,711,24,28,23,25,1667,255,22, - 20,49,1668,104,73,74,106,372,1704,1717, - 1710,1746,1735,2524,1759,1751,981,1788,1959,1777, - 1793,1794,141,1516,2693,368,142,2944,26,29, - 701,1630,3809,27,711,24,28,23,25,1667, - 255,22,20,49,1668,104,73,74,106,1171, - 1704,1717,1710,1746,1735,566,1759,1751,86,1788, - 100,1777,1793,1794,141,2029,277,368,142,584, - 26,29,701,2658,3422,27,711,3370,28,879, - 2944,26,29,701,2087,3809,27,711,24,28, - 23,25,1667,255,22,20,49,1668,104,73, - 74,106,322,1704,1717,1710,1746,1735,61,1759, - 1751,367,1788,4007,1777,1793,1794,141,304,485, - 368,142,2905,26,29,701,2744,3809,27,711, - 24,28,23,25,1667,255,22,20,49,1668, - 104,73,74,106,1979,1704,1717,1710,1746,1735, - 2620,1759,1751,366,1788,1577,1777,1793,1801,163, - 2421,26,29,701,859,3809,27,711,24,28, - 23,25,1667,255,22,20,49,1668,104,73, - 74,106,3335,1704,1717,1710,1746,1735,484,1759, - 1751,1106,1788,61,1777,1793,1794,141,4815,351, - 140,142,2031,45,276,701,364,2694,520,45, - 324,1571,405,1062,2662,2944,26,29,701,1994, - 3809,27,711,24,28,23,25,1667,255,22, - 20,49,1668,104,73,74,106,1618,1704,1717, - 1710,1746,1735,3282,1759,1751,88,1788,3617,1777, - 1793,1794,141,3007,2622,153,142,2944,26,29, - 701,319,3809,27,711,24,28,23,25,1667, - 255,22,20,49,1668,104,73,74,106,3275, - 1704,1717,1710,1746,1735,491,1759,1751,1789,1788, - 349,1777,1793,1794,141,325,331,152,142,2944, - 26,29,701,3453,3809,27,711,24,28,23, - 25,1667,255,22,20,49,1668,104,73,74, - 106,2280,1704,1717,1710,1746,1735,397,1759,1751, - 1577,1788,348,1777,1793,1794,141,282,1920,151, - 142,2944,26,29,701,566,3809,27,711,24, - 28,23,25,1667,255,22,20,49,1668,104, - 73,74,106,319,1704,1717,1710,1746,1735,566, - 1759,1751,1577,1788,663,1777,1793,1794,141,2029, - 3005,150,142,2944,26,29,701,2480,3809,27, - 711,24,28,23,25,1667,255,22,20,49, - 1668,104,73,74,106,1199,1704,1717,1710,1746, - 1735,2732,1759,1751,704,1788,2629,1777,1793,1794, - 141,2894,434,149,142,2944,26,29,701,3275, - 3809,27,711,24,28,23,25,1667,255,22, - 20,49,1668,104,73,74,106,3355,1704,1717, - 1710,1746,1735,838,1759,1751,1499,1788,2746,1777, - 1793,1794,141,2815,1664,148,142,2944,26,29, - 701,1889,3809,27,711,24,28,23,25,1667, - 255,22,20,49,1668,104,73,74,106,2326, - 1704,1717,1710,1746,1735,1189,1759,1751,1577,1788, - 2751,1777,1793,1794,141,2824,2825,147,142,2944, - 26,29,701,2645,3809,27,711,24,28,23, - 25,1667,255,22,20,49,1668,104,73,74, - 106,373,1704,1717,1710,1746,1735,512,1759,1751, - 1577,1788,2996,1777,1793,1794,141,1981,3387,146, - 142,2944,26,29,701,566,3809,27,711,24, - 28,23,25,1667,255,22,20,49,1668,104, - 73,74,106,3230,1704,1717,1710,1746,1735,566, - 1759,1751,879,1788,1883,1777,1793,1794,141,2902, - 749,145,142,2944,26,29,701,670,3809,27, - 711,24,28,23,25,1667,255,22,20,49, - 1668,104,73,74,106,2678,1704,1717,1710,1746, - 1735,303,1759,1751,879,1788,1086,1777,1793,1794, - 141,926,410,144,142,2944,26,29,701,752, - 3809,27,711,24,28,23,25,1667,255,22, - 20,49,1668,104,73,74,106,147,1704,1717, - 1710,1746,1735,300,1759,1751,1577,1788,2419,1777, - 1793,1794,141,2677,1437,143,142,2944,26,29, - 701,1556,3809,27,711,24,28,23,25,1667, - 255,22,20,49,1668,104,73,74,106,4380, - 1704,1717,1710,1746,1735,512,1759,1751,1577,1788, - 2643,1777,1793,1794,141,2699,2816,158,142,2944, - 26,29,701,236,3809,27,711,24,28,23, - 25,1667,255,22,20,49,1668,104,73,74, - 106,21,1704,1717,1710,1746,1735,1168,1759,1751, - 879,1788,2992,1777,1793,1794,141,1630,3422,138, - 142,3080,26,29,701,1020,3809,27,711,24, - 28,23,25,1667,255,22,20,49,1668,104, - 73,74,106,1629,1704,1717,1710,1746,1735,299, - 1759,1751,1577,1788,2991,1777,1793,1794,141,3377, - 2993,188,142,3159,26,29,701,2744,3809,27, - 711,24,28,23,25,1667,255,22,20,49, - 1668,104,73,74,106,346,1704,1717,1710,1746, - 1735,2995,1759,1751,3261,1788,1630,1777,1793,1801, - 163,3159,26,29,701,447,3809,27,711,24, - 28,23,25,1667,255,22,20,49,1668,104, - 73,74,106,514,1704,1717,1710,1746,1735,2999, - 1759,1751,1487,1788,1630,1777,1793,1801,163,874, - 26,29,701,350,4765,27,711,24,28,56, - 25,2701,520,3001,1577,3020,3159,26,29,701, - 286,3809,27,711,24,28,23,25,1667,255, - 22,20,49,1668,104,73,74,106,3003,1704, - 1717,1710,1746,1735,446,1759,1751,438,1788,1313, - 1777,1793,1801,163,3159,26,29,701,2905,3809, - 27,711,24,28,23,25,1667,255,22,20, - 49,1668,104,73,74,106,181,1704,1717,1710, - 1746,1735,323,1759,1751,3004,1788,3006,1777,1793, - 1801,163,3276,26,29,701,1512,4765,27,711, - 24,28,55,25,45,1584,384,416,2779,3159, - 26,29,701,412,3809,27,711,24,28,23, - 25,1667,255,22,20,49,1668,104,73,74, - 106,3008,1704,1717,1710,1746,1735,60,1759,1751, - 2994,1788,1577,1777,1793,1801,163,3198,26,29, - 701,411,3809,27,711,24,28,23,25,1667, - 255,22,20,49,1668,104,73,74,106,3262, - 1704,1717,1710,1746,1735,68,1759,1751,2668,1788, - 1630,1777,1793,1801,163,498,26,29,701,2672, - 4847,27,711,24,28,23,25,2531,389,498, - 1487,2777,3159,26,29,701,414,3809,27,711, - 24,28,23,25,1667,255,22,20,49,1668, - 104,73,74,106,2802,1704,1717,1710,1746,1735, - 59,1759,1751,2697,1788,2031,2813,274,701,2806, - 3159,26,29,701,2776,3809,27,711,24,28, - 23,25,1667,255,22,20,49,1668,104,73, - 74,106,1577,1704,1717,1710,1746,1735,4402,1759, - 1751,1630,2784,3159,26,29,701,1487,3809,27, - 711,24,28,23,25,1667,255,22,20,49, - 1668,104,73,74,106,67,1704,1717,1710,1746, - 1735,1669,1759,2790,3237,380,381,701,45,3569, - 2013,3297,1381,1436,386,416,230,255,412,26, - 29,701,3010,4847,27,711,24,28,58,25, - 3011,3159,26,29,701,267,3809,27,711,24, - 28,23,25,1667,255,22,20,49,1668,104, - 73,74,106,3271,1704,1717,1710,1746,2729,50, - 1587,225,3159,26,29,701,297,3809,27,711, - 24,28,23,25,1667,255,22,20,49,1668, - 104,73,74,106,2808,1704,1717,1710,1746,2778, - 3002,385,416,270,1062,269,268,228,223,224, - 1892,26,29,701,2730,2994,27,711,24,28, - 335,25,1577,2531,389,2528,290,225,159,2188, - 273,756,234,237,240,243,2806,2796,1880,1405, - 381,701,985,3414,26,29,701,4368,2994,27, - 711,24,28,335,25,52,1955,2679,904,2360, - 2928,3502,3562,239,223,224,1957,288,1702,47, - 289,1143,316,318,879,2418,1303,380,381,701, - 288,48,396,289,3272,44,1220,313,1022,347, - 2031,1287,2998,701,45,2235,920,1354,3891,45, - 2085,3184,2014,673,653,849,318,439,340,1331, - 1373,345,1577,178,3159,26,29,701,2038,3809, - 27,711,24,28,23,25,1667,255,22,20, - 49,1668,104,73,74,106,3081,1704,1717,1710, - 2476,3159,26,29,701,84,3809,27,711,24, - 28,23,25,1667,255,22,20,49,1668,104, - 73,74,106,328,1704,1717,1710,2481,3159,26, - 29,701,2696,3809,27,711,24,28,23,25, - 1667,255,22,20,49,1668,104,73,74,106, - 361,1704,1717,1710,2487,3159,26,29,701,557, - 3809,27,711,24,28,23,25,1667,255,22, - 20,49,1668,104,73,74,106,1878,1704,1717, - 1710,2607,3324,85,879,100,2304,412,26,29, - 701,2744,4847,27,711,24,28,57,25,937, - 3120,26,29,701,221,3809,27,711,24,28, - 23,25,1667,255,22,20,49,1668,83,73, - 74,3433,1504,194,879,2304,654,4745,209,2812, - 206,272,701,199,207,208,210,2372,273,2518, - 45,200,201,221,729,2462,570,513,511,1513, - 211,202,203,204,205,291,292,293,294,2528, - 290,232,255,193,3465,654,45,209,2304,206, - 4455,1630,199,207,208,210,943,671,440,45, - 200,201,4685,1062,395,570,221,1541,3243,211, - 202,203,204,205,291,292,293,294,1577,3299, - 920,288,1870,2971,289,3184,225,3029,654,1669, - 209,2812,206,3050,701,199,207,208,210,1880, - 1405,381,701,200,201,45,1669,3354,570,2304, - 2301,51,211,202,203,204,205,291,292,293, - 294,3542,233,223,224,2304,1630,339,3358,2656, - 47,528,808,2304,2795,1303,380,381,701,95, - 2893,288,48,221,289,45,1332,328,2419,863, - 3354,2400,1499,2739,305,2903,900,1494,2850,701, - 2313,4561,418,2803,3587,654,420,209,2304,206, - 3322,382,199,207,208,210,1421,380,381,701, - 200,201,2898,3546,3339,570,221,47,2131,211, - 202,203,204,205,291,292,293,294,288,48, - 577,289,45,1332,1992,647,3622,267,654,45, - 209,3356,206,2304,96,199,207,208,210,433, - 1583,1584,2041,200,201,492,3070,3354,570,1302, - 2979,339,211,202,203,204,205,291,292,293, - 294,1966,26,29,701,4769,2994,27,711,24, - 28,335,25,2998,2895,3378,3248,2916,1973,2903, - 489,491,2696,3184,2322,336,920,269,268,2795, - 3354,3184,3411,3099,3159,26,29,701,2712,3809, - 27,711,24,28,23,25,1667,255,22,20, - 49,1668,104,73,74,106,1573,1704,1717,2669, - 1669,2984,1143,316,318,2034,26,29,701,2730, - 2994,27,711,24,28,335,25,1577,313,1022, - 347,2031,45,3158,701,329,2771,2985,2988,1669, - 45,1450,347,328,2814,225,3012,347,3243,340, - 1331,1373,345,3013,1371,1405,381,701,3239,1912, - 3435,340,1331,1373,345,3242,342,1331,1373,345, - 3002,338,2047,3429,1062,279,1143,316,318,2908, - 87,242,223,224,524,47,1237,440,511,1577, - 3419,4685,313,1022,347,1504,288,48,159,289, - 4745,1332,221,1109,296,515,91,45,154,2774, - 3246,1311,2826,340,1331,1373,345,45,2464,179, - 3462,2200,87,516,3322,45,209,1709,206,2277, - 920,198,207,208,210,3184,168,3159,26,29, - 701,3452,3809,27,711,24,28,23,25,1667, - 255,22,20,49,1668,104,73,74,82,1669, - 182,166,167,169,170,171,172,173,3159,26, - 29,701,2412,3809,27,711,24,28,23,25, - 1667,255,22,20,49,1668,104,73,74,106, - 3363,1704,2421,3159,26,29,701,3583,3809,27, - 711,24,28,23,25,1667,255,22,20,49, - 1668,104,73,74,106,1,1704,2427,3482,524, - 1303,380,381,701,295,808,1421,380,381,701, - 2899,45,45,5174,1699,3786,866,221,1062,5174, - 1669,5174,5174,154,1880,1405,381,701,437,1583, - 1584,421,1577,2464,179,419,3155,267,5174,3322, - 3369,209,154,206,2304,5174,198,207,208,210, - 92,168,3338,196,45,47,1577,45,3576,45, - 180,2562,221,3782,5174,3440,288,48,45,289, - 45,1332,2304,1830,3857,183,166,167,169,170, - 171,172,173,3401,654,280,209,2304,206,3714, - 339,199,207,208,210,271,5174,269,268,200, - 201,5174,976,2797,570,221,524,2304,508,202, - 203,204,205,291,292,293,294,3619,2903,1034, - 5174,2304,2889,2330,221,2400,2304,654,45,209, - 154,206,4071,5174,199,207,208,210,5174,221, - 161,879,200,201,339,1043,3322,570,5174,524, - 3845,212,202,203,204,205,291,292,293,294, - 3664,654,45,209,2304,206,4101,339,199,207, - 208,210,2872,154,5174,45,200,201,879,2912, - 197,570,221,1828,376,306,202,203,204,205, - 291,292,293,294,3510,2903,5174,5174,2304,356, - 1786,2896,5174,45,654,2304,209,856,206,3399, - 879,199,207,208,210,5174,221,195,5174,200, - 201,45,1110,339,570,2304,524,5174,509,202, - 203,204,205,291,292,293,294,3694,654,879, - 209,2304,206,339,339,199,207,208,210,399, - 154,3442,2619,200,201,5174,2304,45,570,221, - 2262,970,212,202,203,204,205,291,292,293, - 294,2903,2903,5174,339,45,2353,2142,3911,4011, - 45,654,3357,209,4449,206,2955,5174,199,207, - 208,210,5174,3363,2142,45,200,201,5174,1194, - 45,570,857,1577,1878,486,202,203,204,205, - 291,292,293,294,3159,26,29,701,5174,3809, - 27,711,24,28,23,25,1667,255,22,20, - 49,1668,104,73,74,106,3780,2446,3159,26, - 29,701,2734,3809,27,711,24,28,23,25, - 1667,255,22,20,49,1668,104,73,74,106, - 2428,2456,3159,26,29,701,5174,3809,27,711, - 24,28,23,25,1667,255,22,20,49,1668, - 104,73,74,106,5174,2465,1900,26,29,701, - 3748,4695,27,711,24,28,335,25,5174,225, - 5174,1577,3295,380,381,701,879,3569,5174,1371, - 1405,381,701,3002,231,255,3446,1062,443,5174, - 2304,2656,173,2514,5174,2304,524,5174,3184,5174, - 40,1903,879,267,3846,245,223,224,2400,429, - 47,159,879,2400,221,3977,1577,1143,316,318, - 154,288,48,329,289,5174,1332,1106,1536,225, - 2464,179,1962,314,1022,347,3322,3166,209,5174, - 206,4051,5174,198,207,208,210,5174,168,1039, - 1577,190,5174,5174,342,1331,1373,345,259,5174, - 3583,270,524,269,268,229,223,224,1645,380, - 381,701,2906,166,167,169,170,171,172,173, - 221,5174,492,1927,3617,2728,154,492,5174,5174, - 235,238,241,244,2806,5174,2464,179,5174,267, - 985,5174,3322,5174,209,5174,206,5174,5174,198, - 207,208,210,5174,168,5174,1588,489,491,5174, - 4820,2234,490,491,345,3263,5174,5174,524,2304, - 3875,330,331,94,1421,380,381,701,175,166, - 167,169,170,171,172,173,221,221,1421,380, - 381,701,154,2879,5174,281,1920,3012,1577,269, - 268,5174,2464,179,1577,267,1577,5174,3322,2433, - 209,400,206,5174,5174,198,207,208,210,267, - 168,2950,1951,5174,1408,401,5174,2428,5174,570, - 431,2621,1106,5174,524,347,1962,66,5174,65, - 1421,380,381,701,186,166,167,169,170,171, - 172,173,221,5174,340,1331,1373,345,154,2641, - 1405,381,701,71,1912,269,268,5174,2464,179, - 1577,267,1577,5174,3322,5174,209,69,206,269, - 268,198,207,208,210,5174,168,1577,5174,3617, - 47,5174,5174,5174,1914,1745,517,42,1903,1062, - 524,288,48,64,289,63,1332,1106,1399,5174, - 3130,166,167,169,170,171,172,173,221,5174, - 3602,402,404,154,154,1880,1405,381,701,70, - 5174,269,268,161,2464,179,327,331,1577,5174, - 3322,1485,209,5174,206,2304,5174,198,207,208, - 210,5174,168,5174,1577,1577,47,5174,5174,281, - 1920,1791,603,2400,3617,1062,524,288,48,2053, - 289,54,1332,1062,1549,5174,189,166,167,169, - 170,171,172,173,221,3180,1951,53,3978,154, - 154,1880,1405,381,701,5174,1577,154,5174,161, - 2464,179,3566,5174,5174,5174,3322,2271,209,5174, - 206,3417,331,198,207,208,210,5174,168,5174, - 5174,5174,47,5174,5174,5174,2099,1837,689,99, - 1062,1062,524,288,48,3002,289,355,1332,1062, - 1441,5174,185,166,167,169,170,171,172,173, - 221,1660,1835,1836,154,154,154,1880,1405,381, - 701,1106,1594,159,2820,161,2464,179,3592,1177, - 1577,5174,3322,524,209,5174,206,5174,5174,198, - 207,208,210,5174,168,5174,5174,5174,47,2145, - 5174,339,2191,1062,775,518,1062,154,524,288, - 48,1911,289,4044,1332,1062,2667,1828,192,166, - 167,169,170,171,172,173,221,154,3617,2903, - 154,1485,154,5174,2502,2304,5174,3754,5174,154, - 3756,5174,2464,179,3905,5174,5174,3888,3322,161, - 209,5174,206,2400,5174,198,207,208,210,5174, - 168,2651,26,29,701,1033,2994,27,711,24, - 28,335,25,5174,5174,3455,331,5174,5174,5174, - 5174,5174,5174,5174,191,166,167,169,170,171, - 172,173,3159,26,29,701,5174,3809,27,711, - 24,28,23,25,1667,255,22,20,49,1668, - 104,73,74,80,5174,5174,3002,5174,4020,5174, - 1062,5174,1143,316,318,5174,5174,355,5174,5174, - 5174,5174,5174,5174,5174,5174,5174,5174,313,1022, - 5174,3192,1835,1836,159,5174,5174,3159,26,29, - 701,870,3809,27,711,24,28,23,25,1667, - 255,22,20,49,1668,104,73,74,79,3159, - 26,29,701,5174,3809,27,711,24,28,23, - 25,1667,255,22,20,49,1668,104,73,74, - 78,3159,26,29,701,5174,3809,27,711,24, - 28,23,25,1667,255,22,20,49,1668,104, - 73,74,77,307,3159,26,29,701,3904,3809, - 27,711,24,28,23,25,1667,255,22,20, - 49,1668,104,73,74,76,5174,5174,1051,1169, - 3159,26,29,701,5174,3809,27,711,24,28, - 23,25,1667,255,22,20,49,1668,104,73, - 74,75,3019,26,29,701,5174,3809,27,711, - 24,28,23,25,1667,255,22,20,49,1668, - 104,73,74,102,3159,26,29,701,5174,3809, - 27,711,24,28,23,25,1667,255,22,20, - 49,1668,104,73,74,108,3159,26,29,701, - 5174,3809,27,711,24,28,23,25,1667,255, - 22,20,49,1668,104,73,74,107,1884,2834, - 29,701,1033,2994,27,711,24,28,335,25, - 3159,26,29,701,5174,3809,27,711,24,28, - 23,25,1667,255,22,20,49,1668,104,73, - 74,105,3159,26,29,701,5174,3809,27,711, - 24,28,23,25,1667,255,22,20,49,1668, - 104,73,74,103,5174,5174,5174,5174,5174,1143, - 316,318,2507,2834,29,701,1033,2994,27,711, - 24,28,335,25,5174,313,1022,5174,5174,1106, - 5174,5174,45,45,5174,2632,2304,2304,1567,2304, - 3875,5174,240,26,29,701,1033,2994,27,711, - 24,28,335,25,339,339,5174,221,5174,5174, - 240,26,29,701,1033,2994,27,711,24,28, - 335,25,2237,1143,316,318,1062,5174,5174,2433, - 2283,400,2903,2903,1062,5174,3617,496,494,313, - 1022,5174,5174,5174,1408,401,5174,5174,5174,570, - 154,5174,1567,1143,316,318,407,2861,154,5174, - 3820,2329,5174,3455,5174,1062,5174,2304,3822,313, - 1022,1143,316,318,5174,5174,5174,5174,5174,5174, - 5174,2675,870,3460,331,339,5174,313,1022,154, - 5174,1438,1405,381,701,5174,519,5174,5174,3837, - 1450,326,26,29,701,1033,2994,27,711,24, - 28,335,25,2903,1914,2375,5174,5174,522,1062, - 408,2861,47,1371,1405,381,701,5174,5174,5174, - 5174,5174,5174,288,48,5174,289,5174,1332,5174, - 45,402,403,154,308,1908,1405,381,701,995, - 5174,5174,5174,2701,47,1438,1405,381,701,5174, - 5174,5174,1143,316,318,288,48,2756,289,3715, - 1332,5174,45,1244,5174,5174,47,524,313,1022, - 5174,1185,5174,5174,5174,5174,47,288,48,5174, - 289,3013,1332,5174,45,339,5174,288,48,5174, - 289,154,1332,2415,45,2522,1405,381,701,5174, - 3002,187,5174,718,1062,1371,1405,381,701,5174, - 5174,5174,5174,4571,5174,1371,1405,381,701,45, - 5174,5174,5174,2304,5174,5174,47,5174,159,45, - 5174,5174,5174,2304,5174,5174,47,288,48,5174, - 289,339,1332,4012,45,5174,47,288,48,5174, - 289,339,1332,2689,45,5174,5174,288,48,5174, - 289,5174,1332,2466,1423,1371,1405,381,701,2903, - 5174,5174,5174,2826,3606,3353,1405,381,701,2903, - 3216,5174,5174,5174,523,1438,1405,381,701,2664, - 5174,1311,5174,2304,3184,524,47,5174,5174,5174, - 5174,5174,3946,5174,5174,5174,47,288,48,5174, - 289,2400,1332,339,45,5174,47,288,48,154, - 289,5174,1332,2785,1609,5174,5174,288,48,187, - 289,5174,1332,3166,1633,1371,1405,381,701,5174, - 2664,4571,5174,3658,2304,3184,5174,5174,5174,5174, - 5174,5174,5174,1378,5174,5174,328,524,5174,5174, - 5174,5174,2400,5174,5174,5174,47,1880,1405,381, - 701,5174,5174,5174,5174,339,5174,288,48,5174, - 289,154,1332,5174,45,355,5174,5174,5174,5174, - 5174,187,3546,3160,5174,5174,5174,5174,47,2967, - 1835,1836,5174,4571,5174,5174,5174,328,3463,288, - 48,5174,289,5174,1332,5174,1399,5174,5174,5174, - 5174,5174,5174,5174,5174,5174,5174,5174,5174,5174, - 5174,5174,5174,5174,5174,5174,355,5174,5174,5174, - 5174,5174,5174,2908,5174,5174,5174,5174,5174,5174, - 2967,1835,1836,5174,5174,5174,5174,5174,5174,5174, - 5174,5174,5174,5174,5174,5174,5174,5174,5174,5174, - 3561,5174,0,488,3200,0,1,222,0,1, - 1053,0,1,3412,0,1,905,35,0,1, - 771,0,1,4480,0,994,35,0,441,2670, - 0,31,500,0,1374,46,0,905,34,0, - 1374,35,0,31,278,254,0,31,500,278, - 254,0,290,2980,0,2484,315,0,1,431, - 0,445,1877,0,444,1956,0,31,298,0, - 380,290,0,45,33,0,1,775,0,1, - 2197,0,5205,35,0,905,35,0,1,967, - 0,1,5440,0,1,5439,0,1,5438,0, - 1,5437,0,1,5436,0,1,5435,0,1, - 5434,0,1,5433,0,1,5432,0,1,5431, - 0,1,5430,0,41,5206,0,41,33,0, - 1,5208,222,0,1,35,222,0,5205,33, - 0,2558,124,0,23,507,0,5500,432,0, - 3047,432,0,5183,398,0,1,222,2169,0, - 5183,222,0,2709,89,0,381,29,0,380, - 26,0,35,1053,0,5206,43,0,33,43, - 0,1,5208,0,1,35,0,155,174,0, - 230,3010,0,2558,126,0,2558,125,0,222, - 162,0,1,90,0,5205,5,33,0,5674, - 32,0,5500,93,0,3047,93,0,184,3912, - 0,274,3985,0 + 17,17,17,139,139,139,18,18,18,18, + 18,18,18,18,18,18,18,18,18,19, + 19,175,172,172,173,173,176,141,141,177, + 177,174,174,142,140,140,20,20,21,21, + 23,23,23,24,24,24,24,25,25,25, + 26,26,26,27,27,27,27,27,29,29, + 29,30,30,32,32,34,34,35,35,36, + 36,37,37,41,41,40,40,40,40,40, + 40,40,40,40,40,40,40,40,38,38, + 28,143,143,102,102,106,106,97,197,197, + 80,80,80,80,80,80,80,80,80,81, + 81,81,82,82,56,56,178,178,83,83, + 83,117,117,84,84,84,84,85,85,85, + 85,85,86,68,68,68,68,68,68,68, + 51,51,51,51,51,108,108,109,109,48, + 22,22,22,22,22,44,44,93,93,93, + 93,93,149,149,144,144,144,144,145,145, + 145,146,146,146,147,147,147,148,148,148, + 94,94,94,94,94,95,95,95,91,12, + 13,13,13,13,13,13,13,13,13,13, + 13,89,89,89,121,121,121,121,121,119, + 119,119,92,120,120,151,151,150,150,123, + 123,124,43,43,42,72,72,73,73,75, + 76,74,45,53,46,152,152,54,52,71, + 71,180,180,179,179,153,153,90,90,77, + 77,77,61,61,62,78,78,79,79,67, + 67,67,103,103,105,104,104,57,57,63, + 63,55,55,50,107,107,107,98,98,98, + 99,100,100,100,101,101,110,110,110,112, + 112,111,111,198,198,96,96,182,182,182, + 182,182,126,59,59,155,181,181,127,127, + 127,127,183,183,31,31,118,128,128,128, + 128,199,199,113,113,122,122,122,157,158, + 158,158,158,158,158,158,158,158,186,186, + 184,184,185,185,159,159,159,159,160,187, + 115,114,114,188,188,161,161,130,130,129, + 129,129,200,200,9,189,189,190,162,154, + 154,163,163,164,165,165,6,6,7,167, + 167,167,167,167,167,167,167,167,167,167, + 167,167,167,167,167,167,167,167,167,167, + 167,167,167,167,167,167,167,167,167,167, + 167,167,167,167,167,167,167,167,167,167, + 167,60,64,64,168,168,131,131,132,132, + 132,132,132,132,2,3,169,169,166,166, + 133,133,133,69,70,87,156,156,116,116, + 191,191,191,134,134,125,125,192,192,1403, + 2021,2015,766,1532,4829,31,912,28,32,27, + 29,2407,259,26,24,53,1767,108,77,78, + 110,2962,1768,1793,1775,1809,1804,2958,1817,1810, + 271,1851,497,1846,1852,1859,145,3172,244,161, + 146,936,30,33,766,2131,2195,31,912,1718, + 32,1529,3396,30,33,766,229,3725,31,912, + 28,32,27,29,1751,259,26,24,53,1767, + 108,77,78,110,896,1768,1793,1775,1809,1804, + 585,1817,1810,375,1851,4669,1846,2812,274,898, + 273,272,232,227,228,3396,2021,2015,766,333, + 3725,31,912,28,32,27,29,1751,259,26, + 24,53,1767,108,77,78,85,238,241,244, + 247,2837,938,41,43,766,34,717,42,912, + 67,30,33,766,4117,4659,31,912,28,32, + 339,29,2029,2807,911,2970,2978,3068,4082,2284, + 30,33,766,2320,3725,31,912,28,32,1762, + 29,1751,259,26,24,53,1767,108,77,78, + 110,343,1768,1793,1775,1809,1804,2201,1817,1810, + 1901,1851,373,1846,1852,1859,145,869,448,510, + 146,877,1064,322,936,30,33,766,763,3085, + 31,912,40,32,511,2284,30,33,766,2320, + 3725,31,912,28,32,1762,29,1751,259,26, + 24,53,1767,108,77,78,110,343,1768,1793, + 1775,1809,1804,585,1817,1810,1584,1851,4692,1846, + 1852,1859,145,1473,1244,510,146,1754,384,385, + 766,1754,2969,2967,766,3085,3396,30,33,766, + 511,3725,31,912,28,32,27,29,1751,259, + 26,24,53,1767,108,77,78,110,34,1768, + 1793,2621,506,2853,281,1150,2858,2755,30,33, + 766,2320,3725,31,912,28,32,1762,29,1751, + 259,26,24,53,1767,108,77,78,110,343, + 1768,1793,1775,1809,1804,1683,1817,1810,1883,1851, + 2958,1846,1852,1859,145,2961,411,510,146,3143, + 3244,557,2855,861,276,766,1617,3085,506,439, + 2922,4745,511,2798,30,33,766,330,3725,31, + 912,28,32,27,29,1751,259,26,24,53, + 1767,108,77,78,110,325,1768,1793,1775,1809, + 1804,1970,1817,1810,1883,1851,3394,1846,1852,1859, + 145,841,2198,378,146,918,3396,30,33,766, + 185,3725,31,912,28,32,27,29,1751,259, + 26,24,53,1767,108,77,78,110,381,1768, + 1793,1775,1809,1804,2922,2685,2870,30,33,766, + 507,3725,31,912,28,32,27,29,1751,259, + 26,24,53,1767,108,77,78,110,229,1768, + 1793,1775,1809,1804,585,1817,1810,3478,1851,2780, + 1846,1852,1859,145,387,421,378,146,153,30, + 33,766,2258,4804,31,912,28,32,339,29, + 382,1683,279,490,240,227,228,3074,30,33, + 766,379,3725,31,912,28,32,27,29,1751, + 259,26,24,53,1767,108,77,78,110,3119, + 1768,1793,1775,1809,1804,3135,1817,1810,2201,1851, + 916,1846,1852,1859,145,3172,435,378,146,1300, + 320,322,1444,2853,3148,333,2722,4812,388,421, + 1754,384,385,766,1505,318,816,1208,707,3178, + 30,33,766,383,3725,31,912,28,32,27, + 29,1751,259,26,24,53,1767,108,77,78, + 110,444,1768,1793,1775,1809,1804,2270,1817,1810, + 2922,1851,324,1846,1852,1859,145,332,1610,161, + 146,525,3178,30,33,766,2281,3725,31,912, + 28,32,27,29,1751,259,26,24,53,1767, + 108,77,78,110,376,1768,1793,1775,1809,1804, + 2922,1817,1810,988,1851,516,1846,1852,1859,145, + 2279,517,372,146,3178,30,33,766,417,3725, + 31,912,28,32,27,29,1751,259,26,24, + 53,1767,108,77,78,110,499,1768,1793,1775, + 1809,1804,581,1817,1810,1035,1851,499,1846,1852, + 1859,145,1193,2958,372,146,1764,30,33,766, + 439,4837,31,912,28,32,60,29,2855,1634, + 280,766,2029,424,390,421,3178,30,33,766, + 489,3725,31,912,28,32,27,29,1751,259, + 26,24,53,1767,108,77,78,110,371,1768, + 1793,1775,1809,1804,2795,1817,1810,3476,1851,375, + 1846,1852,1859,145,389,421,372,146,3139,30, + 33,766,1635,3725,31,912,28,32,27,29, + 1751,259,26,24,53,1767,108,77,78,110, + 370,1768,1793,1775,1809,1804,1750,1817,1810,316, + 1851,2942,1846,1852,1930,167,2712,30,33,766, + 880,3725,31,912,28,32,27,29,1751,259, + 26,24,53,1767,108,77,78,110,2981,1768, + 1793,1775,1809,1804,1530,1817,1810,1506,1851,585, + 1846,1852,1859,145,4753,64,144,146,2855,669, + 278,766,368,3245,2866,393,328,56,3022,1683, + 277,3178,30,33,766,1972,3725,31,912,28, + 32,27,29,1751,259,26,24,53,1767,108, + 77,78,110,2273,1768,1793,1775,1809,1804,326, + 1817,1810,1922,1851,2490,1846,1852,1859,145,2852, + 724,157,146,3178,30,33,766,352,3725,31, + 912,28,32,27,29,1751,259,26,24,53, + 1767,108,77,78,110,1338,1768,1793,1775,1809, + 1804,2054,1817,1810,3193,1851,2197,1846,1852,1859, + 145,329,335,156,146,3178,30,33,766,2121, + 3725,31,912,28,32,27,29,1751,259,26, + 24,53,1767,108,77,78,110,2240,1768,1793, + 1775,1809,1804,3266,1817,1810,92,1851,585,1846, + 1852,1859,145,3790,2337,155,146,3178,30,33, + 766,2990,3725,31,912,28,32,27,29,1751, + 259,26,24,53,1767,108,77,78,110,763, + 1768,1793,1775,1809,1804,353,1817,1810,1053,1851, + 1956,1846,1852,1859,145,95,74,154,146,3178, + 30,33,766,2861,3725,31,912,28,32,27, + 29,1751,259,26,24,53,1767,108,77,78, + 110,2990,1768,1793,1775,1809,1804,2535,1817,1810, + 1954,1851,585,1846,1852,1859,145,3856,2926,153, + 146,3178,30,33,766,1989,3725,31,912,28, + 32,27,29,1751,259,26,24,53,1767,108, + 77,78,110,2277,1768,1793,1775,1809,1804,219, + 1817,1810,499,1851,585,1846,1852,1859,145,4863, + 1996,152,146,3178,30,33,766,724,3725,31, + 912,28,32,27,29,1751,259,26,24,53, + 1767,108,77,78,110,323,1768,1793,1775,1809, + 1804,724,1817,1810,1954,1851,2953,1846,1852,1859, + 145,2339,2957,151,146,3178,30,33,766,724, + 3725,31,912,28,32,27,29,1751,259,26, + 24,53,1767,108,77,78,110,1636,1768,1793, + 1775,1809,1804,308,1817,1810,1954,1851,590,1846, + 1852,1859,145,2960,413,150,146,3178,30,33, + 766,2968,3725,31,912,28,32,27,29,1751, + 259,26,24,53,1767,108,77,78,110,2970, + 1768,1793,1775,1809,1804,307,1817,1810,1954,1851, + 2974,1846,1852,1859,145,3484,2975,149,146,3178, + 30,33,766,724,3725,31,912,28,32,27, + 29,1751,259,26,24,53,1767,108,77,78, + 110,501,1768,1793,1775,1809,1804,304,1817,1810, + 2940,1851,1885,1846,1852,1859,145,2923,1528,148, + 146,3178,30,33,766,1878,3725,31,912,28, + 32,27,29,1751,259,26,24,53,1767,108, + 77,78,110,2176,1768,1793,1775,1809,1804,401, + 1817,1810,499,1851,1566,1846,1852,1859,145,1577, + 752,147,146,3178,30,33,766,830,3725,31, + 912,28,32,27,29,1751,259,26,24,53, + 1767,108,77,78,110,377,1768,1793,1775,1809, + 1804,517,1817,1810,499,1851,1527,1846,1852,1859, + 145,2851,2844,162,146,3178,30,33,766,1565, + 3725,31,912,28,32,27,29,1751,259,26, + 24,53,1767,108,77,78,110,3166,1768,1793, + 1775,1809,1804,2965,1817,1810,499,1851,2988,1846, + 1852,1859,145,918,2200,142,146,3317,30,33, + 766,1891,3725,31,912,28,32,27,29,1751, + 259,26,24,53,1767,108,77,78,110,4472, + 1768,1793,1775,1809,1804,3233,1817,1810,918,1851, + 1666,1846,1852,1859,145,666,1993,192,146,3396, + 30,33,766,673,3725,31,912,28,32,27, + 29,1751,259,26,24,53,1767,108,77,78, + 110,3479,1768,1793,1775,1809,1804,3046,1817,1810, + 2980,1851,918,1846,1852,1930,167,3396,30,33, + 766,452,3725,31,912,28,32,27,29,1751, + 259,26,24,53,1767,108,77,78,110,1890, + 1768,1793,1775,1809,1804,3055,1817,1810,301,1851, + 3224,1846,1852,1930,167,1619,451,1912,30,33, + 766,1734,4837,31,912,28,32,59,29,3225, + 499,1594,3396,30,33,766,290,3725,31,912, + 28,32,27,29,1751,259,26,24,53,1767, + 108,77,78,110,3479,1768,1793,1775,1809,1804, + 327,1817,1810,25,1851,499,1846,1852,1930,167, + 3396,30,33,766,417,3725,31,912,28,32, + 27,29,1751,259,26,24,53,1767,108,77, + 78,110,2949,1768,1793,1775,1809,1804,350,1817, + 1810,90,1851,104,1846,1852,1930,167,899,30, + 33,766,415,3922,31,912,28,32,27,29, + 673,2855,503,3110,766,3396,30,33,766,3083, + 3725,31,912,28,32,27,29,1751,259,26, + 24,53,1767,108,77,78,110,3226,1768,1793, + 1775,1809,1804,3478,1817,1810,63,1851,499,1846, + 1852,1930,167,3435,30,33,766,416,3725,31, + 912,28,32,27,29,1751,259,26,24,53, + 1767,108,77,78,110,386,1768,1793,1775,1809, + 1804,72,1817,1810,89,1851,104,1846,1852,1930, + 167,583,30,33,766,918,3922,31,912,28, + 32,62,29,2866,393,286,1642,3227,3396,30, + 33,766,419,3725,31,912,28,32,27,29, + 1751,259,26,24,53,1767,108,77,78,110, + 3228,1768,1793,1775,1809,1804,673,1817,1810,3229, + 1851,3042,2775,276,766,3230,3396,30,33,766, + 2818,3725,31,912,28,32,27,29,1751,259, + 26,24,53,1767,108,77,78,110,355,1768, + 1793,1775,1809,1804,3231,1817,1810,525,2760,3396, + 30,33,766,4494,3725,31,912,28,32,27, + 29,1751,259,26,24,53,1767,108,77,78, + 110,283,1768,1793,1775,1809,1804,673,1817,2767, + 3474,384,385,766,2838,4633,2249,3042,2320,3235, + 766,3232,234,259,583,30,33,766,3478,3922, + 31,912,28,32,61,29,2450,3396,30,33, + 766,271,3725,31,912,28,32,27,29,1751, + 259,26,24,53,1767,108,77,78,110,1954, + 1768,1793,1775,1809,2693,3236,3237,229,3396,30, + 33,766,309,3725,31,912,28,32,27,29, + 1751,259,26,24,53,1767,108,77,78,110, + 3238,1768,1793,1775,1809,2696,1742,2991,303,274, + 3331,273,272,232,227,228,1948,384,385,766, + 359,2182,2179,1458,1623,2320,3172,1849,2320,673, + 2855,2320,3252,766,1844,1936,1967,2958,238,241, + 244,247,2837,2450,673,2256,2450,271,717,225, + 872,30,33,766,3436,4659,31,912,28,32, + 339,29,399,354,2807,911,2970,2978,3068,4082, + 150,660,525,213,2682,210,2330,294,203,211, + 212,214,499,2866,393,150,204,205,332,3644, + 1506,575,2188,519,300,14,206,207,208,209, + 295,296,297,298,2250,275,150,273,272,299, + 1069,1300,320,322,2752,71,673,359,292,1676, + 497,293,1876,2263,3957,1538,445,317,816,351, + 4778,3168,1936,1967,1802,936,30,33,766,2841, + 2217,31,912,3167,32,2330,294,2490,344,1426, + 1318,349,1954,499,150,494,496,2147,870,3396, + 30,33,766,12,3725,31,912,28,32,27, + 29,1751,259,26,24,53,1767,108,77,78, + 110,284,1768,1793,1775,2522,56,292,2369,2850, + 293,182,1999,1506,334,335,3277,533,3044,3396, + 30,33,766,918,3725,31,912,28,32,27, + 29,1751,259,26,24,53,1767,108,77,78, + 110,1951,1768,1793,1775,2523,2204,1506,3396,30, + 33,766,365,3725,31,912,28,32,27,29, + 1751,259,26,24,53,1767,108,77,78,110, + 2490,1768,1793,1775,2539,3396,30,33,766,1955, + 3725,31,912,28,32,27,29,1751,259,26, + 24,53,1767,108,77,78,110,2207,1768,1793, + 1775,2589,3502,1773,2490,2843,2320,944,438,1888, + 1894,54,3988,2863,1771,445,3562,331,335,4778, + 3396,30,33,766,225,3725,31,912,28,32, + 27,29,1751,259,26,24,53,1767,108,77, + 78,110,1924,1768,2422,3612,660,3119,213,2320, + 210,3411,335,203,211,212,214,1754,384,385, + 766,204,205,3988,150,150,575,225,1069,2926, + 215,206,207,208,209,295,296,297,298,918, + 3035,150,150,44,1641,679,1038,1533,425,660, + 150,213,3200,210,2324,2849,203,211,212,214, + 1817,1510,385,766,204,205,3239,380,976,575, + 3374,1943,529,215,206,207,208,209,295,296, + 297,298,3693,1506,150,150,2320,3590,735,2424, + 225,51,2857,1999,46,1641,158,1069,918,236, + 259,3240,292,52,225,293,165,1262,3241,1349, + 499,150,3232,3374,2317,2725,3864,1487,1382,2683, + 766,158,4728,516,3116,3701,660,99,213,2320, + 210,3315,200,203,211,212,214,442,1888,1894, + 2490,204,205,88,229,150,575,225,51,2802, + 215,206,207,208,209,295,296,297,298,292, + 52,2347,293,1725,1262,2320,781,3120,150,660, + 3123,213,2845,210,3392,3124,203,211,212,214, + 237,227,228,2450,204,205,100,3643,335,575, + 3374,2429,2958,215,206,207,208,209,295,296, + 297,298,3396,30,33,766,2847,3725,31,912, + 28,32,27,29,1751,259,26,24,53,1767, + 108,77,78,110,1080,1768,1793,2659,1069,2994, + 2554,2847,3038,3374,2444,1808,30,33,766,4885, + 4659,31,912,28,32,339,29,150,518,150, + 1446,1100,163,1140,2340,277,3251,360,1735,3127, + 2190,30,33,766,3436,4659,31,912,28,32, + 339,29,3396,30,33,766,499,3725,31,912, + 28,32,27,29,1751,259,26,24,53,1767, + 108,77,78,110,3128,2492,1300,320,322,150, + 150,150,150,2951,1327,873,1029,229,3131,55, + 3134,3218,317,816,351,229,1754,384,385,766, + 2430,1300,320,322,1926,1592,2553,1543,2320,285, + 1642,2320,3238,344,1426,1318,349,317,816,351, + 1954,1954,2065,243,227,228,225,426,3669,225, + 520,246,227,228,285,1642,2246,1678,344,1426, + 1318,349,150,3242,3483,1576,2593,521,660,3273, + 213,3149,210,404,3244,203,211,212,214,198, + 197,2516,1678,204,205,2267,1760,405,575,1053, + 3219,575,14,206,207,208,209,295,296,297, + 298,3396,30,33,766,229,3725,31,912,28, + 32,27,29,1751,259,26,24,53,1767,108, + 77,78,110,87,1768,2445,499,529,3243,1605, + 30,33,766,4364,4659,31,912,28,32,339, + 29,249,227,228,351,225,150,1954,499,1954, + 2627,158,1817,1510,385,766,1636,2482,3246,443, + 13,2552,183,344,1426,1318,349,3232,400,213, + 3249,210,342,3496,202,211,212,214,150,172, + 499,3417,3738,51,406,409,403,757,201,1, + 877,1064,322,529,292,52,150,293,2352,1262, + 3992,1935,1069,186,170,171,173,174,175,176, + 177,225,150,91,499,2572,4117,158,1817,1510, + 385,766,3497,3498,916,916,158,2552,183,3172, + 3172,499,3499,3232,1697,213,2603,210,2320,2959, + 202,211,212,214,150,172,3115,3419,1247,51, + 2320,2397,3480,916,184,1069,225,3510,3172,5285, + 292,52,1037,293,1961,1262,529,1481,343,187, + 170,171,173,174,175,176,177,3774,660,158, + 213,2320,210,499,343,203,211,212,214,2786, + 158,332,3753,204,205,1954,1339,5285,575,225, + 2030,3209,513,206,207,208,209,295,296,297, + 298,3782,3085,5285,5285,2320,3695,1886,150,5285, + 332,660,2320,213,5285,210,5285,562,203,211, + 212,214,5285,225,199,5285,204,205,150,1098, + 343,575,2320,529,5285,514,206,207,208,209, + 295,296,297,298,3620,660,3957,213,2320,210, + 343,343,203,211,212,214,96,158,3085,5285, + 204,205,1954,2331,150,575,225,2482,2727,310, + 206,207,208,209,295,296,297,298,3085,3085, + 5285,150,1080,2375,2158,977,1069,150,660,150, + 213,2803,210,3455,5285,203,211,212,214,5285, + 5285,4158,5285,204,205,5285,916,5285,575,3264, + 163,3172,216,206,207,208,209,295,296,297, + 298,3396,30,33,766,1506,3725,31,912,28, + 32,27,29,1751,259,26,24,53,1767,108, + 77,78,110,499,2504,3396,30,33,766,5285, + 3725,31,912,28,32,27,29,1751,259,26, + 24,53,1767,108,77,78,110,3790,2514,5285, + 5285,2320,5285,332,499,499,3761,1796,1444,499, + 5285,2421,2490,4812,2996,3357,30,33,766,225, + 3725,31,912,28,32,27,29,1751,259,26, + 24,53,1767,87,77,78,173,3827,70,3593, + 529,660,69,213,499,210,499,5285,203,211, + 212,214,499,5285,5285,5285,204,205,225,3825, + 335,575,5285,5285,158,491,206,207,208,209, + 295,296,297,298,2552,183,1954,68,5285,67, + 3232,5285,213,5285,210,2437,351,202,211,212, + 214,5285,172,1567,30,33,766,5285,4804,31, + 912,28,32,339,29,344,1426,1318,349,1948, + 384,385,766,5285,2065,4159,3084,170,171,173, + 174,175,176,177,1159,5285,5285,5285,529,259, + 1080,499,1141,529,1069,1080,2980,2910,581,1069, + 271,2320,5285,150,1464,499,343,2153,2320,3238, + 5285,225,158,499,1300,320,322,158,163,343, + 333,1080,2030,163,2912,1069,225,2552,183,423, + 318,816,351,3232,3085,213,5285,210,58,2830, + 202,211,212,214,5285,172,57,856,3149,163, + 404,346,1426,1318,349,345,2010,1954,340,529, + 273,272,1220,1760,405,1954,529,5285,575,179, + 170,171,173,174,175,176,177,225,5285,1919, + 384,385,766,158,343,1652,1510,385,766,499, + 158,2442,3146,2552,183,1069,4619,3645,2272,3232, + 191,213,2320,210,194,5285,202,211,212,214, + 271,172,4589,755,5285,5285,51,5285,3172,158, + 2450,431,3705,3653,499,529,5285,292,52,3505, + 293,5285,1262,1636,1541,190,170,171,173,174, + 175,176,177,225,5285,1948,384,385,766,158, + 1817,1510,385,766,1080,5285,5285,103,1069,2552, + 183,406,408,499,448,3232,5285,213,3177,210, + 273,272,202,211,212,214,271,172,5285,3303, + 3753,51,163,5285,5285,150,434,517,2120,2338, + 3047,529,292,52,497,293,3959,1262,5285,1373, + 5285,3272,170,171,173,174,175,176,177,225, + 5285,1948,384,385,766,158,1817,1510,385,766, + 5285,5285,2845,5285,2046,2552,183,5285,1069,494, + 496,3232,5285,213,75,210,273,272,202,211, + 212,214,271,172,5285,5285,5285,51,5285,5285, + 5285,5285,158,603,98,523,3764,529,292,52, + 2487,293,165,1262,1069,2974,3105,193,170,171, + 173,174,175,176,177,225,5285,1948,384,385, + 766,158,1817,1510,385,766,5285,5285,158,5285, + 1623,2552,183,499,2320,5285,5285,3232,3509,213, + 73,210,273,272,202,211,212,214,271,172, + 5285,5285,2450,51,5285,5285,2532,1872,5285,689, + 1069,5285,3172,529,292,52,4025,293,5285,1262, + 3576,1541,5285,189,170,171,173,174,175,176, + 177,225,150,5285,158,5285,2320,158,1817,1510, + 385,766,2838,5285,3544,5285,2320,2552,183,5285, + 5285,5285,5285,3232,343,213,74,210,273,272, + 202,211,212,214,2450,172,5285,5285,5285,51, + 5285,5285,5285,5285,333,775,497,5285,5285,529, + 292,52,3085,293,5285,48,351,2376,5285,196, + 170,171,173,174,175,176,177,225,5285,5285, + 5285,5285,5285,158,5285,346,1426,1318,349,5285, + 5285,495,496,2552,183,5285,5285,5285,5285,3232, + 5285,213,5285,210,5285,5285,202,211,212,214, + 5285,172,3535,384,385,766,5285,4633,359,5285, + 5285,5285,5285,5285,235,259,5285,5285,5285,5285, + 5285,5285,3234,1936,1967,195,170,171,173,174, + 175,176,177,271,5285,5285,5285,842,30,33, + 766,1040,4659,31,912,28,32,339,29,2577, + 5285,5285,5285,1069,5285,3396,30,33,766,229, + 3725,31,912,28,32,27,29,1751,259,26, + 24,53,1767,108,77,78,86,158,2091,2136, + 2622,2667,1069,1069,1069,1069,5285,3546,5285,5285, + 5285,274,5285,273,272,233,227,228,1300,320, + 322,5285,5285,5285,5285,5285,158,158,158,158, + 5285,5285,5285,5285,317,816,165,165,2759,3729, + 239,242,245,248,2837,5285,5285,1108,5285,5285, + 717,3396,30,33,766,5285,3725,31,912,28, + 32,27,29,1751,259,26,24,53,1767,108, + 77,78,84,3396,30,33,766,5285,3725,31, + 912,28,32,27,29,1751,259,26,24,53, + 1767,108,77,78,83,5285,5285,5285,5285,5285, + 5285,5285,5285,5285,3697,3803,3396,30,33,766, + 311,3725,31,912,28,32,27,29,1751,259, + 26,24,53,1767,108,77,78,82,5285,5285, + 5285,5285,5285,5285,5285,5285,1550,1516,3396,30, + 33,766,5285,3725,31,912,28,32,27,29, + 1751,259,26,24,53,1767,108,77,78,81, + 3396,30,33,766,5285,3725,31,912,28,32, + 27,29,1751,259,26,24,53,1767,108,77, + 78,80,3396,30,33,766,5285,3725,31,912, + 28,32,27,29,1751,259,26,24,53,1767, + 108,77,78,79,1745,2255,33,766,1040,4659, + 31,912,28,32,339,29,3253,30,33,766, + 5285,3725,31,912,28,32,27,29,1751,259, + 26,24,53,1767,108,77,78,106,3396,30, + 33,766,5285,3725,31,912,28,32,27,29, + 1751,259,26,24,53,1767,108,77,78,112, + 5285,5285,5285,5285,5285,1300,320,322,5285,5285, + 5285,5285,5285,5285,5285,5285,5285,5285,5285,5285, + 5285,317,816,5285,5285,5285,5285,5285,5285,5285, + 3396,30,33,766,1925,3725,31,912,28,32, + 27,29,1751,259,26,24,53,1767,108,77, + 78,111,3396,30,33,766,5285,3725,31,912, + 28,32,27,29,1751,259,26,24,53,1767, + 108,77,78,109,3396,30,33,766,5285,3725, + 31,912,28,32,27,29,1751,259,26,24, + 53,1767,108,77,78,107,2437,5285,5285,5285, + 2320,5285,5285,412,2284,1880,2255,33,766,1040, + 4659,31,912,28,32,339,29,5285,343,5285, + 5285,5285,5285,5285,5285,5285,5285,5285,5285,2423, + 239,30,33,766,1040,4659,31,912,28,32, + 339,29,5285,5285,5285,5285,3632,5285,239,30, + 33,766,1040,4659,31,912,28,32,339,29, + 5285,5285,5285,5285,5285,5285,1300,320,322,325, + 30,33,766,1040,4659,31,912,28,32,339, + 29,5285,317,816,1281,5285,5285,5285,529,5285, + 5285,1300,320,322,5285,1925,5285,5285,5285,2210, + 5285,5285,5285,1069,5285,5285,343,317,816,1300, + 320,322,158,945,1510,385,766,5285,5285,5285, + 1108,5285,191,5285,5285,317,816,158,5285,5285, + 1300,320,322,5285,4589,5285,5285,165,1592,945, + 1510,385,766,5285,51,5285,317,816,5285,1760, + 1510,385,766,5285,5285,292,52,5285,293,3242, + 1262,5285,1474,150,413,2284,5285,2320,5285,5285, + 51,2416,1793,1510,385,766,5285,5285,5285,5285, + 51,292,52,312,293,343,1262,3631,1324,5285, + 5285,292,52,5285,293,5285,1262,3609,49,5285, + 5285,3473,5285,51,5285,3933,5285,2476,1793,1510, + 385,766,5285,3085,292,52,5285,293,2400,1262, + 5285,49,5285,5285,5285,945,1510,385,766,5285, + 571,5285,5285,2864,1510,385,766,5285,5285,51, + 5285,5285,5285,5285,5285,5285,5285,5285,5285,5285, + 292,52,5285,293,5285,1262,51,49,945,1510, + 385,766,5285,5285,51,5285,1001,292,52,5285, + 293,5285,1262,5285,49,292,52,5285,293,5285, + 1262,5285,49,813,945,1510,385,766,5285,51, + 5285,2545,945,1510,385,766,5285,5285,5285,5285, + 292,52,5285,293,5285,1262,5285,49,5285,1654, + 1510,385,766,5285,5285,51,1060,1793,1510,385, + 766,5285,5285,51,5285,5285,292,52,5285,293, + 5285,1262,5285,1565,292,52,5285,293,5285,1262, + 51,49,3609,945,1510,385,766,5285,51,1202, + 2737,292,52,2320,293,5285,1262,150,1583,292, + 52,2320,293,5285,1262,2182,1667,2416,5285,2320, + 3172,343,1342,150,51,3719,529,2320,5285,343, + 150,5285,524,5285,2320,292,52,2450,293,150, + 1262,5285,49,2320,343,343,5285,5285,5285,3085, + 158,3036,343,5285,527,5285,5285,3085,5285,5285, + 191,343,501,5285,5285,5285,5285,5285,5285,5285, + 5285,5285,4589,3085,5285,5285,5285,5285,499,5285, + 3085,5285,332,5285,5285,3251,5285,5285,5285,3085, + 5285,5285,5285,5285,528,5285,5285,5285,5285,5285, + 5285,5285,5285,5285,5285,5285,5285,5285,5285,5285, + 5285,359,5285,5285,5285,5285,5285,5285,3593,5285, + 5285,5285,5285,5285,5285,3168,1936,1967,5285,5285, + 5285,5285,5285,5285,5285,5285,5285,5285,5285,3504, + 5285,5285,5285,5285,5285,5285,5285,5285,5285,5285, + 5285,5285,5285,5285,5285,5285,5285,5285,5285,5285, + 5285,5285,5285,5285,5285,5285,5285,5285,5285,5285, + 5285,5285,5285,5285,5285,5285,5285,5285,5285,5285, + 5285,5285,5285,5285,5285,5285,5285,5285,5285,5285, + 5285,3862,5285,0,493,3254,0,1,226,0, + 863,39,0,1,777,0,1,3637,0,1, + 992,39,0,1,652,0,1,4568,0,1286, + 39,0,35,282,258,0,35,505,282,258, + 0,1286,50,0,446,2804,0,35,505,0, + 992,38,0,294,2888,0,35,302,0,384, + 294,0,2770,319,0,1,436,0,450,1893, + 0,449,1928,0,49,37,0,1,5323,226, + 0,1,39,226,0,5320,37,0,45,5321, + 0,45,37,0,1,1468,0,1,5555,0, + 1,5554,0,1,5553,0,1,5552,0,1, + 5551,0,1,5550,0,1,5549,0,1,5548, + 0,1,5547,0,1,5546,0,1,5545,0, + 5320,39,0,992,39,0,1,1344,0,1, + 2213,0,5294,402,0,27,512,0,2628,128, + 0,5615,437,0,3020,437,0,5321,47,0, + 37,47,0,2744,93,0,385,33,0,384, + 30,0,39,777,0,1,226,2828,0,5294, + 226,0,1,5323,0,1,39,0,234,2944, + 0,2628,130,0,2628,129,0,159,178,0, + 1,94,0,226,166,0,5320,5,37,0, + 5790,36,0,5615,97,0,3020,97,0,278, + 3635,0,188,3893,0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -1073,318 +1095,316 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym 10,11,12,13,14,15,16,17,18,19, 20,21,22,23,24,25,26,27,28,29, 30,31,32,33,34,35,36,37,38,39, - 40,41,42,43,0,45,46,47,48,49, - 50,51,52,53,54,55,56,57,58,59, - 0,61,62,3,64,65,66,0,1,0, - 1,71,3,6,74,75,76,77,78,79, + 40,41,42,43,44,45,46,47,48,49, + 50,51,52,53,54,0,56,57,58,59, + 60,61,62,8,64,65,0,1,2,3, + 4,71,6,0,74,75,76,77,78,79, 80,81,82,83,84,85,0,1,2,3, 4,5,6,7,8,9,10,11,12,13, 14,15,16,17,18,19,20,21,22,23, 24,25,26,27,28,29,30,31,32,33, 34,35,36,37,38,39,40,41,42,43, - 61,45,46,47,48,49,50,51,52,53, - 54,55,56,57,58,59,0,61,62,0, - 64,65,66,0,1,2,3,4,0,6, + 44,45,46,47,48,49,50,51,52,53, + 54,68,56,57,58,59,60,61,62,0, + 64,65,0,1,2,3,4,5,6,7, 74,75,76,77,78,79,80,81,82,83, 84,85,0,1,2,3,4,5,6,7, 8,9,10,11,12,13,14,15,16,17, 18,19,20,21,22,23,24,25,26,27, 28,29,30,31,32,33,34,35,36,37, - 38,39,40,41,42,43,67,45,46,47, - 48,49,50,51,52,53,54,55,56,57, - 58,59,74,61,62,0,64,65,66,0, - 1,2,3,4,98,6,74,75,76,77, + 38,39,40,41,42,43,44,45,46,47, + 48,49,50,51,52,53,54,0,56,57, + 58,59,60,61,62,0,64,65,0,1, + 2,3,4,0,6,2,74,75,76,77, 78,79,80,81,82,83,84,85,0,1, 2,3,4,5,6,7,8,9,10,11, 12,13,14,15,16,17,18,19,20,21, 22,23,24,25,26,27,28,29,30,31, 32,33,34,35,36,37,38,39,40,41, - 42,43,67,45,46,47,48,49,50,51, - 52,53,54,55,56,57,58,59,0,61, - 62,0,64,65,66,0,1,2,3,4, - 0,6,74,75,76,77,78,79,80,81, + 42,43,44,45,46,47,48,49,50,51, + 52,53,54,0,56,57,58,59,60,61, + 62,0,64,65,0,1,2,3,4,0, + 6,2,74,75,76,77,78,79,80,81, 82,83,84,85,0,1,2,3,4,5, 6,7,8,9,10,11,12,13,14,15, 16,17,18,19,20,21,22,23,24,25, 26,27,28,29,30,31,32,33,34,35, - 36,37,38,39,40,41,42,43,70,45, - 46,47,48,49,50,51,52,53,54,55, - 56,57,58,59,0,61,62,3,64,65, - 66,0,1,0,3,4,0,6,74,75, + 36,37,38,39,40,41,42,43,44,45, + 46,47,48,49,50,51,52,53,54,0, + 56,57,58,59,60,61,62,0,64,65, + 0,1,0,3,2,5,0,7,74,75, 76,77,78,79,80,81,82,83,84,85, 0,1,2,3,4,5,6,7,8,9, 10,11,12,13,14,15,16,17,18,19, 20,21,22,23,24,25,26,27,28,29, 30,31,32,33,34,35,36,37,38,39, - 40,41,42,43,61,45,46,47,48,49, - 50,51,52,53,54,55,56,57,58,59, - 0,61,62,3,64,65,66,0,1,0, - 3,4,0,6,74,75,76,77,78,79, + 40,41,42,43,44,45,46,47,48,49, + 50,51,52,53,54,69,56,57,58,59, + 60,61,62,0,64,65,0,1,0,3, + 0,5,2,7,74,75,76,77,78,79, 80,81,82,83,84,85,0,1,2,3, 4,5,6,7,8,9,10,11,12,13, 14,15,16,17,18,19,20,21,22,23, 24,25,26,27,28,29,30,31,32,33, 34,35,36,37,38,39,40,41,42,43, - 61,45,46,47,48,49,50,51,52,53, - 54,55,56,57,58,59,0,61,62,3, - 64,65,66,0,1,0,1,4,0,6, + 44,45,46,47,48,49,50,51,52,53, + 54,73,56,57,58,59,60,61,62,0, + 64,65,0,1,0,3,4,3,6,0, 74,75,76,77,78,79,80,81,82,83, 84,85,0,1,2,3,4,5,6,7, 8,9,10,11,12,13,14,15,16,17, 18,19,20,21,22,23,24,25,26,27, 28,29,30,31,32,33,34,35,36,37, - 38,39,40,41,42,43,61,45,46,47, - 48,49,50,51,52,53,54,55,56,57, - 58,59,0,61,62,3,64,65,66,0, - 0,1,0,3,5,0,74,75,76,77, + 38,39,40,41,42,43,44,45,46,47, + 48,49,50,51,52,53,54,68,56,57, + 58,59,60,61,62,0,64,65,0,1, + 5,3,0,5,0,7,74,75,76,77, 78,79,80,81,82,83,84,85,0,1, 2,3,4,5,6,7,8,9,10,11, 12,13,14,15,16,17,18,19,20,21, 22,23,24,25,26,27,28,29,30,31, 32,33,34,35,36,37,38,39,40,41, - 42,43,60,45,46,47,48,49,50,51, - 52,53,54,55,56,57,58,59,0,61, - 62,0,64,65,66,0,8,9,89,90, - 5,0,74,75,76,77,78,79,80,81, + 42,43,44,45,46,47,48,49,50,51, + 52,53,54,71,56,57,58,59,60,61, + 62,0,64,65,0,1,0,3,7,5, + 4,7,74,75,76,77,78,79,80,81, 82,83,84,85,0,1,2,3,4,5, 6,7,8,9,10,11,12,13,14,15, 16,17,18,19,20,21,22,23,24,25, 26,27,28,29,30,31,32,33,34,35, - 36,37,38,39,40,41,42,43,0,45, - 46,47,48,49,50,51,52,53,54,55, - 56,57,58,59,0,61,62,0,64,65, - 66,0,24,2,89,90,95,96,74,75, + 36,37,38,39,40,41,42,43,44,45, + 46,47,48,49,50,51,52,53,54,0, + 56,57,58,59,60,61,62,0,64,65, + 0,0,1,2,3,4,0,6,74,75, 76,77,78,79,80,81,82,83,84,85, - 0,1,2,3,4,5,6,7,8,9, - 0,11,12,0,1,41,3,4,0,6, - 46,47,48,49,50,51,52,53,54,55, - 56,0,1,2,3,4,5,6,7,0, - 1,41,3,43,67,68,46,47,48,49, - 50,51,52,53,54,55,56,44,0,0, - 60,43,3,63,5,0,7,67,68,69, - 70,71,7,73,0,1,0,3,0,5, - 2,7,0,44,8,9,86,87,88,89, + 0,1,2,3,4,5,6,7,0,9, + 10,0,1,2,3,4,5,6,7,0, + 40,2,22,23,43,45,46,47,48,49, + 50,51,52,53,54,0,56,0,0,1, + 40,3,4,43,6,45,46,47,48,49, + 50,51,52,53,54,0,56,0,3,24, + 5,24,7,63,95,96,66,67,68,69, + 70,71,64,73,63,0,1,0,1,4, + 69,6,63,6,0,1,86,87,88,89, 90,91,92,93,94,95,96,97,98,99, 100,101,102,103,104,105,106,107,108,109, 110,111,112,113,114,0,1,2,3,4, 5,6,7,8,9,10,11,12,13,14, 15,16,17,18,19,20,21,22,23,24, 25,26,27,28,29,30,31,32,33,34, - 35,36,37,38,39,40,41,42,43,0, + 35,36,37,38,39,40,41,42,43,44, 45,46,47,48,49,50,51,52,53,54, - 55,56,57,0,116,117,118,95,96,64, - 65,66,0,1,2,3,4,5,6,7, - 8,9,10,11,12,13,14,15,16,17, - 18,19,20,21,22,23,24,25,26,27, - 28,29,30,31,32,33,34,35,36,37, - 38,39,40,41,42,0,67,45,46,47, - 48,49,50,51,52,53,54,55,56,57, - 0,68,2,0,71,0,64,65,66,0, - 1,2,3,4,5,6,7,8,9,10, - 11,12,13,14,15,16,17,18,19,20, - 21,22,23,24,25,26,27,28,29,30, - 31,32,33,34,35,36,37,38,39,40, - 41,42,47,48,45,46,47,48,49,50, - 51,52,53,54,55,56,57,0,0,69, - 0,86,87,64,65,66,0,1,2,3, + 113,56,57,58,59,60,0,1,2,3, 4,5,6,7,8,9,10,11,12,13, 14,15,16,17,18,19,20,21,22,23, 24,25,26,27,28,29,30,31,32,33, 34,35,36,37,38,39,40,41,42,0, - 0,45,46,47,48,49,50,51,52,53, - 54,55,56,57,67,68,0,1,68,3, - 64,65,66,0,1,2,3,4,5,6, - 7,8,9,10,11,12,13,14,15,16, - 17,18,19,20,21,22,23,24,25,26, - 27,28,29,30,31,32,33,34,35,36, - 37,38,39,40,41,42,0,119,45,46, - 47,48,49,50,51,52,53,54,55,56, - 57,0,0,1,0,86,87,64,65,66, - 0,1,2,3,4,5,6,7,8,9, - 10,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,28,29, - 30,31,32,33,34,35,36,37,38,39, - 40,41,42,0,0,45,46,47,48,49, - 50,51,52,53,54,55,56,57,67,68, - 0,1,86,87,64,65,66,0,1,2, + 44,45,46,47,48,49,50,51,52,53, + 54,0,56,57,58,59,60,0,1,2, 3,4,5,6,7,8,9,10,11,12, 13,14,15,16,17,18,19,20,21,22, 23,24,25,26,27,28,29,30,31,32, 33,34,35,36,37,38,39,40,41,42, - 0,1,45,46,47,48,49,50,51,52, - 53,54,55,56,57,0,0,0,1,86, - 87,64,65,66,0,1,2,3,4,5, - 6,7,8,9,10,11,12,13,14,15, - 16,17,18,19,20,21,22,23,24,25, - 26,27,28,29,30,31,32,33,34,35, - 36,37,38,39,0,41,0,0,0,0, - 46,47,48,49,50,51,52,53,54,55, - 56,57,67,0,1,69,3,0,64,65, - 66,0,0,2,0,0,5,2,7,8, - 9,0,11,12,10,13,14,15,16,17, - 18,19,20,21,22,23,100,0,102,103, - 104,105,106,107,108,109,110,111,112,46, - 63,44,63,41,43,0,70,73,46,47, - 48,49,50,51,52,53,54,55,56,0, - 0,60,2,59,63,60,0,93,67,68, - 69,70,71,0,73,2,0,0,5,2, - 7,8,9,0,11,12,0,86,87,88, - 89,90,91,92,93,94,95,96,97,98, - 99,100,101,102,103,104,105,106,107,108, - 109,110,111,112,113,114,43,41,0,0, - 60,3,46,47,48,49,50,51,52,53, - 54,55,56,60,0,1,63,60,4,73, - 67,68,69,70,71,100,73,0,1,63, - 3,68,5,0,7,2,73,112,0,86, + 0,44,45,46,47,48,49,50,51,52, + 53,54,73,56,57,58,59,60,0,1, + 2,3,4,5,6,7,8,9,10,11, + 12,13,14,15,16,17,18,19,20,21, + 22,23,24,25,26,27,28,29,30,31, + 32,33,34,35,36,37,38,39,40,41, + 42,0,44,45,46,47,48,49,50,51, + 52,53,54,73,56,57,58,59,60,0, + 1,2,3,4,5,6,7,8,9,10, + 11,12,13,14,15,16,17,18,19,20, + 21,22,23,24,25,26,27,28,29,30, + 31,32,33,34,35,36,37,38,39,40, + 41,42,0,44,45,46,47,48,49,50, + 51,52,53,54,73,56,57,58,59,60, + 0,1,2,3,4,5,6,7,8,9, + 10,11,12,13,14,15,16,17,18,19, + 20,21,22,23,24,25,26,27,28,29, + 30,31,32,33,34,35,36,37,38,39, + 40,41,42,0,44,45,46,47,48,49, + 50,51,52,53,54,0,56,57,58,59, + 60,0,1,2,3,4,5,6,7,8, + 9,10,11,12,13,14,15,16,17,18, + 19,20,21,22,23,24,25,26,27,28, + 29,30,31,32,33,34,35,36,37,38, + 39,40,41,42,0,44,45,46,47,48, + 49,50,51,52,53,54,0,56,57,58, + 59,60,0,1,2,3,4,5,6,7, + 8,9,10,11,12,13,14,15,16,17, + 18,19,20,21,22,23,24,25,26,27, + 28,29,30,31,32,33,34,35,36,37, + 38,39,40,0,1,0,3,45,46,47, + 48,49,50,51,52,53,54,0,56,57, + 58,59,60,0,1,2,3,4,5,6, + 7,8,0,1,11,12,13,14,15,16, + 17,18,19,20,21,40,0,1,45,3, + 45,46,47,48,49,50,51,52,53,54, + 43,56,0,40,0,0,43,44,45,46, + 47,48,49,50,51,52,53,54,55,56, + 57,58,59,60,61,68,0,0,0,0, + 1,0,0,70,71,72,64,0,1,7, + 3,55,0,1,2,3,4,5,6,7, + 8,46,47,11,12,13,14,15,16,17, + 18,19,20,21,0,0,0,1,2,3, + 4,5,6,7,0,0,0,2,74,116, + 117,118,40,0,55,43,44,45,46,47, + 48,49,50,51,52,53,54,55,56,57, + 58,59,60,61,0,1,2,3,4,0, + 6,2,70,71,72,88,0,1,0,3, + 2,94,0,5,98,7,0,9,10,63, + 8,66,67,69,0,0,1,3,63,4, + 22,23,67,68,116,117,118,43,73,66, + 119,0,1,0,1,0,91,92,116,117, + 118,43,86,87,100,0,102,103,104,105, + 106,107,108,109,110,111,112,55,69,57, + 64,63,0,1,66,67,68,69,70,71, + 55,73,41,42,41,42,0,1,2,3, + 4,5,6,7,86,87,88,89,90,91, + 92,93,94,95,96,97,98,99,100,101, + 102,103,104,105,106,107,108,109,110,111, + 112,113,114,0,0,2,40,55,5,43, + 7,0,9,10,0,1,2,3,4,0, + 6,55,3,0,1,22,23,61,62,0, + 1,65,66,0,1,100,3,4,72,6, + 0,1,0,3,40,3,43,112,0,45, + 46,47,48,49,50,51,52,53,54,0, + 56,0,0,1,3,0,63,2,0,66, + 67,68,69,70,71,64,73,0,1,2, + 3,4,0,6,70,66,0,1,55,86, 87,88,89,90,91,92,93,94,95,96, 97,98,99,100,101,102,103,104,105,106, 107,108,109,110,111,112,113,114,0,1, + 2,3,4,5,6,7,8,66,63,11, + 12,13,14,15,16,17,18,19,20,21, + 63,0,1,2,3,0,5,0,7,0, + 1,2,3,4,0,6,9,10,40,0, + 0,43,44,45,46,47,48,49,50,51, + 52,53,54,55,56,57,58,59,60,61, + 62,0,1,65,3,4,0,6,0,1, + 72,0,4,0,3,0,1,2,3,4, + 5,6,7,8,63,45,11,12,13,14, + 15,16,17,18,19,20,21,0,1,70, + 0,67,68,0,0,0,67,68,3,9, + 10,86,87,9,10,40,55,119,43,44, + 45,46,47,48,49,50,51,52,53,54, + 55,56,57,58,59,60,61,62,0,1, + 65,68,0,5,71,0,43,72,0,1, 2,3,4,5,6,7,8,9,10,11, 12,13,14,15,16,17,18,19,20,21, 22,23,24,25,26,27,28,29,30,31, - 32,33,34,35,36,37,38,39,40,71, - 42,43,113,45,0,1,2,3,4,5, - 6,7,8,9,10,11,12,13,14,15, - 16,17,18,19,20,21,22,23,24,25, - 26,27,28,29,30,31,32,33,34,35, - 36,37,38,39,40,0,42,43,0,45, - 0,1,2,3,4,5,6,7,8,9, - 10,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,28,29, - 30,31,32,33,34,35,36,37,38,39, - 40,43,42,43,0,45,0,1,2,3, - 4,5,6,7,8,9,10,11,12,13, - 14,15,16,17,18,19,20,21,22,23, - 24,25,26,27,28,29,30,31,32,33, - 34,35,36,37,38,39,40,0,42,0, - 1,45,0,0,1,2,3,4,0,6, - 2,0,1,2,3,4,5,6,7,0, - 1,2,3,4,5,6,7,0,1,73, - 0,1,2,3,4,5,6,7,8,9, - 10,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,28,29, - 30,31,32,33,34,35,36,37,38,39, - 40,60,42,70,0,45,0,0,0,60, - 69,0,1,86,87,0,1,2,3,4, - 88,6,0,1,2,3,94,5,0,7, - 0,24,2,73,0,1,2,3,4,5, - 6,7,8,9,10,11,12,13,14,15, - 16,17,18,19,20,21,22,23,24,25, - 26,27,28,29,30,31,32,33,34,35, - 36,37,38,39,40,60,42,69,0,1, - 0,1,60,0,1,2,3,4,60,6, - 0,1,88,3,88,5,0,7,94,3, - 94,67,0,1,2,3,4,5,6,7, - 8,9,10,11,12,13,14,15,16,17, - 18,19,20,21,22,23,24,25,26,27, - 28,29,30,31,32,33,34,35,36,37, - 38,39,40,60,42,0,1,45,0,1, - 2,3,4,5,6,7,8,9,10,11, - 12,13,14,15,16,17,18,19,20,21, - 22,23,24,25,26,27,28,29,30,31, - 32,33,34,35,36,37,38,39,40,44, - 42,0,1,45,0,1,2,3,4,5, - 6,7,8,9,10,11,12,13,14,15, - 16,17,18,19,20,21,22,23,24,25, - 26,27,28,29,30,31,32,33,34,35, - 36,37,38,39,40,44,42,0,1,45, - 0,1,2,3,4,5,6,7,8,9, - 10,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,28,29, - 30,31,32,33,34,35,36,37,38,39, - 40,44,42,0,1,45,0,1,2,3, - 4,5,6,7,8,9,10,11,12,13, - 14,15,16,17,18,19,20,21,22,23, - 24,25,26,27,28,29,30,31,32,33, - 34,35,36,37,38,39,40,44,42,0, - 1,45,0,1,2,3,4,5,6,7, - 8,9,10,11,12,13,14,15,16,17, - 18,19,20,21,22,23,24,25,26,27, - 28,29,30,31,32,33,34,35,36,37, - 38,39,40,44,42,0,1,45,0,1, - 2,3,4,5,6,7,8,9,10,11, - 12,13,14,15,16,17,18,19,20,21, - 22,23,24,25,26,27,28,29,30,31, - 32,33,34,35,36,37,38,39,40,44, - 42,0,1,45,0,1,2,3,4,5, - 6,7,8,9,10,11,12,13,14,15, - 16,17,18,19,20,21,22,23,24,25, - 26,27,28,29,30,31,32,33,34,35, - 36,37,38,39,40,44,42,0,0,45, - 0,1,2,3,4,5,6,7,8,9, - 10,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,28,29, - 30,31,32,33,34,35,36,37,38,39, - 40,0,42,0,1,2,3,4,5,6, - 7,8,9,10,11,12,13,14,15,16, - 17,18,19,20,21,22,23,24,25,26, - 27,28,29,30,31,32,33,34,35,36, - 37,38,39,0,43,88,0,1,2,3, - 4,94,6,0,1,97,3,0,5,0, - 7,0,1,0,61,8,9,0,1,68, - 0,1,0,10,71,0,1,2,3,4, + 32,33,34,35,36,37,38,39,43,41, + 42,43,44,55,119,0,1,2,3,4, 5,6,7,8,9,10,11,12,13,14, 15,16,17,18,19,20,21,22,23,24, 25,26,27,28,29,30,31,32,33,34, - 35,36,37,38,39,40,70,42,0,1, - 2,3,4,5,6,7,8,9,10,11, - 12,13,14,15,16,17,18,19,20,21, - 22,23,24,25,26,27,28,29,30,31, - 32,33,34,35,36,37,38,39,0,0, - 2,0,4,5,3,7,8,9,0,11, - 12,0,1,2,3,4,5,6,7,61, - 0,1,0,25,0,1,0,5,4,71, - 0,1,2,3,4,0,6,0,40,2, - 42,0,1,0,1,10,3,0,5,2, - 7,0,44,2,43,44,0,0,60,60, - 40,63,42,0,63,67,68,69,44,58, - 0,0,0,43,3,0,0,1,0,44, - 0,70,71,72,86,87,88,89,90,91, - 92,0,57,95,96,97,98,99,100,101, - 102,103,104,105,106,107,108,109,110,111, - 0,0,2,0,4,5,73,7,8,9, - 63,11,12,0,67,0,63,116,117,118, - 0,61,41,61,63,25,93,46,47,48, - 49,50,51,52,53,54,55,56,91,92, - 40,71,42,0,41,99,0,4,2,46, - 47,48,49,50,51,52,53,54,55,56, - 60,93,61,63,0,0,0,67,68,69, - 5,0,0,2,61,0,1,0,63,2, - 115,0,1,63,0,0,86,87,88,89, - 90,91,92,0,0,95,96,97,98,99, - 100,101,102,103,104,105,106,107,108,109, - 110,111,0,1,2,3,4,5,6,7, - 8,9,10,11,12,13,14,15,16,17, - 18,19,20,21,22,23,24,25,26,27, - 28,29,30,31,32,33,34,35,36,37, - 38,39,68,68,89,90,63,63,0,93, - 2,97,0,0,0,0,2,0,0,7, - 98,0,4,61,0,1,2,3,4,5, - 6,7,8,9,10,11,12,13,14,15, - 16,17,18,19,20,21,22,23,24,25, - 26,27,28,29,30,31,32,33,34,35, - 36,37,38,0,1,2,3,4,5,6, - 7,8,9,10,11,12,13,14,15,16, - 17,18,19,20,21,22,23,24,25,26, - 27,28,29,30,31,32,33,34,35,36, - 37,38,39,0,0,2,2,0,93,2, - 0,0,0,0,0,0,99,0,0,2, - 0,0,0,0,0,0,0,0,115,0, - 0,0,0,2,2,0,115,113,0,1, - 2,3,4,5,6,7,8,9,10,11, - 12,13,14,15,16,17,18,19,20,21, - 22,23,24,25,26,27,28,29,30,31, - 32,33,34,35,36,37,38,60,63,68, - 70,69,68,70,67,68,60,69,0,69, - 73,69,69,68,73,68,67,67,60,0, + 35,36,37,38,39,93,41,42,43,44, + 0,1,2,3,4,5,6,7,8,9, + 10,11,12,13,14,15,16,17,18,19, + 20,21,22,23,24,25,26,27,28,29, + 30,31,32,33,34,35,36,37,38,39, + 0,41,42,43,44,0,1,2,3,4, + 5,6,7,8,9,10,11,12,13,14, + 15,16,17,18,19,20,21,22,23,24, + 25,26,27,28,29,30,31,32,33,34, + 35,36,37,38,39,0,41,42,0,44, + 5,0,1,5,3,55,5,0,7,0, + 1,2,3,4,0,6,0,0,2,0, + 0,2,8,0,1,0,0,1,73,0, 1,2,3,4,5,6,7,8,9,10, 11,12,13,14,15,16,17,18,19,20, 21,22,23,24,25,26,27,28,29,30, 31,32,33,34,35,36,37,38,39,0, + 41,42,63,44,73,0,62,0,55,63, + 5,55,0,66,89,90,0,89,90,0, + 70,0,0,1,93,88,0,1,0,8, + 0,94,73,0,1,2,3,4,5,6, + 7,8,9,10,11,12,13,14,15,16, + 17,18,19,20,21,22,23,24,25,26, + 27,28,29,30,31,32,33,34,35,36, + 37,38,39,66,41,42,55,55,57,0, + 1,55,0,67,68,66,0,88,0,0, + 1,3,64,94,89,90,0,67,86,87, + 67,0,1,2,3,4,5,6,7,8, + 9,10,11,12,13,14,15,16,17,18, + 19,20,21,22,23,24,25,26,27,28, + 29,30,31,32,33,34,35,36,37,38, + 39,55,41,42,55,44,0,1,2,3, + 4,5,6,7,8,9,10,11,12,13, + 14,15,16,17,18,19,20,21,22,23, + 24,25,26,27,28,29,30,31,32,33, + 34,35,36,37,38,39,0,41,42,93, + 44,0,1,2,3,4,5,6,7,8, + 9,10,11,12,13,14,15,16,17,18, + 19,20,21,22,23,24,25,26,27,28, + 29,30,31,32,33,34,35,36,37,38, + 39,0,41,42,3,44,0,1,2,3, + 4,5,6,7,8,9,10,11,12,13, + 14,15,16,17,18,19,20,21,22,23, + 24,25,26,27,28,29,30,31,32,33, + 34,35,36,37,38,39,0,41,42,93, + 44,0,1,2,3,4,5,6,7,8, + 9,10,11,12,13,14,15,16,17,18, + 19,20,21,22,23,24,25,26,27,28, + 29,30,31,32,33,34,35,36,37,38, + 39,0,41,42,3,44,0,1,2,3, + 4,5,6,7,8,9,10,11,12,13, + 14,15,16,17,18,19,20,21,22,23, + 24,25,26,27,28,29,30,31,32,33, + 34,35,36,37,38,39,0,41,42,0, + 44,0,1,2,3,4,5,6,7,8, + 9,10,11,12,13,14,15,16,17,18, + 19,20,21,22,23,24,25,26,27,28, + 29,30,31,32,33,34,35,36,37,38, + 39,0,41,42,0,44,0,1,2,3, + 4,5,6,7,8,9,10,11,12,13, + 14,15,16,17,18,19,20,21,22,23, + 24,25,26,27,28,29,30,31,32,33, + 34,35,36,37,38,39,0,41,42,0, + 44,0,1,2,3,4,5,6,7,8, + 9,10,11,12,13,14,15,16,17,18, + 19,20,21,22,23,24,25,26,27,28, + 29,30,31,32,33,34,35,36,37,38, + 39,0,41,42,0,1,2,3,4,5, + 6,7,8,9,10,11,12,13,14,15, + 16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,30,31,32,33,34,35, + 36,37,38,39,0,41,42,0,1,2, + 3,4,5,6,7,8,9,10,11,12, + 13,14,15,16,17,18,19,20,21,22, + 23,24,25,26,27,28,29,30,31,32, + 33,34,35,36,37,38,39,0,0,88, + 0,0,0,0,0,94,0,1,0,0, + 0,0,0,1,0,1,0,0,64,0, + 0,64,0,0,1,0,1,0,71,0, 1,2,3,4,5,6,7,8,9,10, 11,12,13,14,15,16,17,18,19,20, 21,22,23,24,25,26,27,28,29,30, - 31,32,33,34,35,36,37,38,0,1, + 31,32,33,34,35,36,37,38,39,0, + 73,2,68,4,5,64,7,73,9,10, + 63,0,0,63,2,0,86,87,66,67, + 93,22,23,64,25,86,87,95,96,0, + 71,0,99,2,22,23,98,97,0,1, + 41,42,0,91,92,99,0,0,0,0, + 0,0,4,2,0,4,5,0,7,0, + 9,10,63,0,0,66,67,68,69,0, + 0,0,43,22,23,63,25,0,63,0, + 0,70,2,0,1,86,87,88,89,90, + 91,92,41,42,95,96,97,98,99,100, + 101,102,103,104,105,106,107,108,109,110, + 111,64,70,101,63,69,67,66,67,68, + 69,71,68,66,0,66,114,0,1,66, + 66,0,1,63,55,0,67,86,87,88, + 89,90,91,92,0,68,95,96,97,98, + 99,100,101,102,103,104,105,106,107,108, + 109,110,111,0,1,2,3,4,5,6, + 7,8,9,10,11,12,13,14,15,16, + 17,18,19,20,21,22,23,24,25,26, + 27,28,29,30,31,32,33,34,35,36, + 37,38,39,68,0,0,2,2,0,0, + 66,2,0,0,2,2,0,0,2,2, + 0,97,2,0,0,2,0,64,0,1, 2,3,4,5,6,7,8,9,10,11, 12,13,14,15,16,17,18,19,20,21, 22,23,24,25,26,27,28,29,30,31, @@ -1392,65 +1412,77 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym 3,4,5,6,7,8,9,10,11,12, 13,14,15,16,17,18,19,20,21,22, 23,24,25,26,27,28,29,30,31,32, - 33,34,35,36,37,38,0,1,0,3, - 2,0,0,2,0,0,10,0,3,13, + 33,34,35,36,37,38,39,0,0,2, + 2,0,0,0,0,0,0,0,0,0, + 0,0,0,115,0,0,0,0,0,0, + 0,0,0,0,2,0,24,2,0,115, + 0,113,0,1,2,3,4,5,6,7, + 8,9,10,11,12,13,14,15,16,17, + 18,19,20,21,22,23,24,25,26,27, + 28,29,30,31,32,33,34,35,36,37, + 38,68,68,43,69,69,69,69,67,70, + 70,69,67,67,67,57,0,0,70,70, + 70,70,69,0,0,63,0,1,2,3, + 4,5,6,7,8,9,10,11,12,13, 14,15,16,17,18,19,20,21,22,23, - 0,0,0,1,2,3,4,5,6,7, - 0,0,0,2,0,0,1,41,3,4, - 0,6,46,47,48,49,50,51,52,53, - 54,55,56,57,0,1,0,3,0,57, - 64,65,66,43,10,43,44,13,14,15, - 16,17,18,19,20,21,22,23,44,44, - 58,0,75,0,1,2,3,4,5,6, - 7,70,70,71,72,41,0,67,0,43, - 46,47,48,49,50,51,52,53,54,55, - 56,57,0,1,0,0,0,0,64,65, - 66,63,0,0,41,67,43,44,0,1, - 2,3,4,5,6,7,0,0,116,117, - 118,58,59,0,0,62,0,24,2,91, - 92,70,40,0,42,72,60,11,12,0, - 0,1,2,3,4,5,6,7,70,41, - 0,43,44,0,1,2,3,4,0,6, - 63,0,46,69,67,70,58,59,0,73, - 62,63,0,1,2,3,4,5,6,7, - 72,41,119,43,44,0,60,70,91,92, - 0,0,0,1,0,10,43,5,58,59, - 39,0,62,2,0,1,2,3,4,5, - 6,7,72,41,0,43,44,0,60,69, - 0,0,120,2,0,0,0,101,0,44, - 58,59,0,0,62,0,44,69,0,0, - 114,0,57,71,72,41,0,43,44,0, - 1,2,3,4,5,6,7,0,0,119, - 69,0,58,59,0,0,62,73,0,0, - 0,0,0,0,0,71,72,63,61,0, - 0,0,1,2,3,4,5,6,7,0, - 41,0,43,44,0,0,0,0,0,0, - 0,0,0,0,0,0,0,58,59,0, - 0,62,0,0,0,0,0,0,0,0, - 71,72,41,0,43,44,0,1,2,3, - 4,5,6,7,0,0,0,0,0,58, - 59,0,0,62,0,0,0,0,0,0, - 0,0,71,72,0,0,0,0,0,1, - 2,3,4,5,6,7,0,41,0,43, - 44,0,0,0,0,0,0,0,0,0, - 0,0,0,0,58,59,0,0,62,0, - 0,0,0,0,0,0,0,71,72,41, - 0,43,44,0,1,2,3,4,5,6, - 7,0,0,0,0,0,58,59,0,0, - 62,0,0,0,0,0,0,0,0,0, - 72,0,0,0,1,2,3,4,5,6, - 7,0,0,0,41,0,43,44,0,0, + 24,25,26,27,28,29,30,31,32,33, + 34,35,36,37,38,39,0,1,2,3, + 4,5,6,7,8,9,10,11,12,13, + 14,15,16,17,18,19,20,21,22,23, + 24,25,26,27,28,29,30,31,32,33, + 34,35,36,37,38,0,1,2,3,4, + 5,6,7,8,9,10,11,12,13,14, + 15,16,17,18,19,20,21,22,23,24, + 25,26,27,28,29,30,31,32,33,34, + 35,36,37,38,0,1,2,3,4,5, + 6,7,8,9,10,11,12,13,14,15, + 16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,30,31,32,33,34,35, + 36,37,38,0,1,0,3,0,0,0, + 2,8,0,0,11,12,13,14,15,16, + 17,18,19,20,21,0,0,0,0,2, + 2,0,1,2,3,4,5,6,7,0, + 0,0,0,40,0,0,39,0,45,46, + 47,48,49,50,51,52,53,54,0,56, + 57,58,59,60,0,1,0,3,63,0, + 0,40,8,0,43,11,12,13,14,15, + 16,17,18,19,20,21,55,75,63,0, + 0,0,61,62,0,69,65,0,0,0, + 0,0,71,72,40,64,66,0,69,45, + 46,47,48,49,50,51,52,53,54,0, + 56,57,58,59,60,0,0,0,115,120, + 11,12,13,14,15,16,17,18,19,20, + 21,0,1,2,3,4,5,6,7,0, + 1,2,3,4,5,6,7,66,67,40, + 0,0,0,0,45,46,47,48,49,50, + 51,52,53,54,0,56,0,0,0,0, + 0,40,91,92,43,0,0,0,0,40, + 0,0,43,0,0,0,55,0,0,0, + 0,0,61,62,55,0,65,0,0,0, + 61,62,71,72,65,0,0,0,0,0, + 71,72,0,1,2,3,4,5,6,7, + 0,1,2,3,4,5,6,7,40,0, + 0,0,0,45,46,47,48,49,50,51, + 52,53,54,0,56,0,0,0,0,0, + 0,0,40,0,0,43,0,0,0,0, + 40,0,0,43,0,0,0,55,0,0, + 0,0,0,61,62,55,0,65,0,0, + 0,61,62,71,72,65,0,0,0,0, + 0,71,72,0,1,2,3,4,5,6, + 7,0,1,2,3,4,5,6,7,0, + 1,2,3,4,5,6,7,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,58,59,0,0,62,0,0,0,0, - 0,0,0,0,41,72,43,44,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,58,59,0,0,62,0,0,0,0, - 0,0,0,0,0,72,0,0,0,0, + 0,0,0,40,0,0,43,0,0,0, + 0,40,0,0,43,0,0,0,55,40, + 0,0,43,0,61,62,55,0,65,0, + 0,0,61,62,55,72,65,0,0,0, + 61,62,0,72,65,0,0,0,0,0, + 0,72,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0 + 0,0,0 }; }; public final static byte termCheck[] = TermCheck.termCheck; @@ -1458,383 +1490,393 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface TermAction { public final static char termAction[] = {0, - 5174,5106,4956,4956,4956,4956,4956,4956,1,1, + 5285,5235,5067,5067,5067,5067,5067,5067,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5110,1,2311,1,1,1,1, - 1,1,1,1,1,1,1,1,571,2239, - 35,2011,576,5208,1,1,1,34,4987,5174, - 9175,5182,5208,546,1246,2224,2654,1961,2614,2140, - 3582,2201,2233,2189,3174,2178,5174,5106,4956,4956, - 4956,4956,4956,4956,1,1,1,1,1,1, + 1,1,1,5239,2976,1,1,1,1,1, + 1,1,1,1,1,306,1,1,1,1, + 1,576,2952,5590,855,568,1,5079,5086,5083, + 5073,5293,5076,313,850,2895,3061,2032,3060,2821, + 3536,2890,2949,2887,2813,2844,5285,5235,5067,5067, + 5067,5067,5067,5067,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5110, - 2852,2311,1,1,1,1,1,1,1,1, - 1,1,1,1,571,2239,133,2011,576,5174, - 1,1,1,1,4965,4972,4969,4959,1,4962, - 1246,2224,2654,1961,2614,2140,3582,2201,2233,2189, - 3174,2178,5174,5106,4956,4956,4956,4956,4956,4956, + 1,1,1,1,1,1,1,1,1,5239, + 2976,1,1,1,1,1,1,1,1,1, + 1,4550,1,1,1,1,1,576,2952,1, + 855,568,5285,5193,4568,652,777,3020,3637,5615, + 850,2895,3061,2032,3060,2821,3536,2890,2949,2887, + 2813,2844,5285,5235,5067,5067,5067,5067,5067,5067, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5110,3320,2311,1,1, + 1,1,1,1,1,5239,2976,1,1,1, + 1,1,1,1,1,1,1,5285,1,1, + 1,1,1,576,2952,5285,855,568,1,5079, + 4568,5083,777,5285,3637,619,850,2895,3061,2032, + 3060,2821,3536,2890,2949,2887,2813,2844,5285,5235, + 5067,5067,5067,5067,5067,5067,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 571,2239,2308,2011,576,5174,1,1,1,1, - 4965,4480,4969,1053,2240,3412,1246,2224,2654,1961, - 2614,2140,3582,2201,2233,2189,3174,2178,5174,5106, - 4956,4956,4956,4956,4956,4956,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,5239,2976,1,1,1,1,1,1,1, + 1,1,1,5285,1,1,1,1,1,576, + 2952,5285,855,568,1,5079,4568,5083,777,5285, + 3637,2770,850,2895,3061,2032,3060,2821,3536,2890, + 2949,2887,2813,2844,5285,5235,5067,5067,5067,5067, + 5067,5067,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,5110,5673,2311,1,1,1,1,1,1, - 1,1,1,1,1,1,571,2239,435,2011, - 576,5174,1,1,1,1,4965,4480,4969,1053, - 5174,3412,1246,2224,2654,1961,2614,2140,3582,2201, - 2233,2189,3174,2178,5174,5106,4956,4956,4956,4956, - 4956,4956,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,5239,2976,1, + 1,1,1,1,1,1,1,1,1,5285, + 1,1,1,1,1,576,2952,5285,855,568, + 436,1,5285,1,3359,5125,35,5125,850,2895, + 3061,2032,3060,2821,3536,2890,2949,2887,2813,2844, + 5285,5235,5067,5067,5067,5067,5067,5067,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5110,2707,2311, 1,1,1,1,1,1,1,1,1,1, - 1,1,571,2239,5174,2011,576,3454,1,1, - 1,5174,5035,1,771,1053,5174,3412,1246,2224, - 2654,1961,2614,2140,3582,2201,2233,2189,3174,2178, - 5174,5106,4956,4956,4956,4956,4956,4956,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,5239,2976,1,1,1,1,1, + 1,1,1,1,1,1329,1,1,1,1, + 1,576,2952,5285,855,568,437,39,5285,5323, + 5285,5214,2944,5211,850,2895,3061,2032,3060,2821, + 3536,2890,2949,2887,2813,2844,5285,5235,5067,5067, + 5067,5067,5067,5067,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5110,1323,2311,1,1,1,1, - 1,1,1,1,1,1,1,1,571,2239, - 5174,2011,576,5020,1,1,1,5174,5035,5174, - 771,1053,5174,3412,1246,2224,2654,1961,2614,2140, - 3582,2201,2233,2189,3174,2178,5174,5106,4956,4956, - 4956,4956,4956,4956,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5239, + 2976,1,1,1,1,1,1,1,1,1, + 1,5292,1,1,1,1,1,576,2952,5285, + 855,568,5285,5193,39,652,777,5323,3637,287, + 850,2895,3061,2032,3060,2821,3536,2890,2949,2887, + 2813,2844,5285,5235,5067,5067,5067,5067,5067,5067, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5110, - 2696,2311,1,1,1,1,1,1,1,1, - 1,1,1,1,571,2239,1,2011,576,381, - 1,1,1,5174,905,5174,1138,1053,5174,3412, - 1246,2224,2654,1961,2614,2140,3582,2201,2233,2189, - 3174,2178,5174,5106,4956,4956,4956,4956,4956,4956, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,5239,2976,1,1,1, + 1,1,1,1,1,1,1,2092,1,1, + 1,1,1,576,2952,5285,855,568,94,1, + 3082,1,5285,5260,5285,5260,850,2895,3061,2032, + 3060,2821,3536,2890,2949,2887,2813,2844,5285,5235, + 5067,5067,5067,5067,5067,5067,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5110,1046,2311,1,1, 1,1,1,1,1,1,1,1,1,1, - 571,2239,389,2011,576,5020,1,1,1,113, - 5174,5032,317,5208,3522,5174,1246,2224,2654,1961, - 2614,2140,3582,2201,2233,2189,3174,2178,5174,5106, - 4956,4956,4956,4956,4956,4956,1,1,1,1, + 1,5239,2976,1,1,1,1,1,1,1, + 1,1,1,5293,1,1,1,1,1,576, + 2952,133,855,568,97,39,5285,5323,916,5276, + 3851,5273,850,2895,3061,2032,3060,2821,3536,2890, + 2949,2887,2813,2844,5285,2828,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,5110,1242,2311,1,1,1,1,1,1, - 1,1,1,1,1,1,571,2239,116,2011, - 576,127,1,1,1,115,3133,3108,3498,3474, - 3522,5174,1246,2224,2654,1961,2614,2140,3582,2201, - 2233,2189,3174,2178,5174,2169,1,1,1,1, + 1,1,1,1,1,1,1,5294,2976,1, + 1,1,1,1,1,1,1,1,1,131, + 1,1,1,1,1,576,2952,5285,855,568, + 221,1,5079,4568,5083,777,5285,3637,850,2895, + 3061,2032,3060,2821,3536,2890,2949,2887,2813,2844, + 5285,5092,5092,5092,5092,5092,5092,5092,5285,5092, + 5092,366,5079,2955,5083,777,1,3637,1,319, + 5538,5122,5092,5092,314,5541,5622,5623,5535,5542, + 5515,5540,5539,5536,5537,5285,5516,5285,5285,5193, + 5092,652,777,5092,3637,5092,5092,5092,5092,5092, + 5092,5092,5092,5092,5092,39,5092,5285,5323,2406, + 3020,1176,5615,5092,2378,2347,5096,5092,5092,5092, + 5092,5092,2485,5092,1258,5285,992,38,5110,777, + 1112,3637,1258,551,5285,5101,5092,5092,5092,5092, + 5092,5092,5092,5092,5092,5092,5092,5092,5092,5092, + 5092,5092,5092,5092,5092,5092,5092,5092,5092,5092, + 5092,5092,5092,5092,5092,5285,5067,5067,5067,5067, + 5067,5067,5067,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,5263,5444, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5183,5174,2311, + 5291,1,1,1,1,1,5285,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,571,2239,217,2011,576,5174,1,1, - 1,5174,610,1057,3498,3474,2362,2331,1246,2224, - 2654,1961,2614,2140,3582,2201,2233,2189,3174,2178, - 5174,4993,4993,4993,4993,4993,4993,4993,4993,4993, - 5174,4993,4993,5174,5035,5423,771,5122,5174,3412, - 5426,5507,5508,5420,5427,5400,5425,5424,5421,5422, - 5401,5174,5035,4480,771,1053,3047,3412,5500,390, - 4990,4993,5208,4993,3397,3581,4993,4993,4993,4993, - 4993,4993,4993,4993,4993,4993,4993,2318,5174,35, - 4993,5183,5208,4997,3047,129,5500,4993,4993,4993, - 4993,4993,909,4993,431,1,118,1,5174,5008, - 2484,5008,128,35,3133,3108,4993,4993,4993,4993, - 4993,4993,4993,4993,4993,4993,4993,4993,4993,4993, - 4993,4993,4993,4993,4993,4993,4993,4993,4993,4993, - 4993,4993,4993,4993,4993,5174,4956,4956,4956,4956, - 4956,4956,4956,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,5149,5174, - 5329,1,1,1,1,1,1,1,1,1, - 1,1,1,5174,5598,5599,5600,2362,2331,1, - 1,1,5174,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 5444,1,1,1,1,1,1,1,1,1, + 1,5285,1,1,1,1,1,5285,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,119,5616,5329,1,1, 1,1,1,1,1,1,1,1,1,1, - 311,939,1329,5174,5182,332,1,1,1,5174, 1,1,1,1,1,1,1,1,1,1, + 1,5444,1,1,1,1,1,1,1,1, + 1,1,164,1,1,1,1,1,5285,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,5507,5508,5329,1,1,1,1,1, - 1,1,1,1,1,1,1,23,5174,1000, - 309,780,2924,1,1,1,5174,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,5444,1,1,1,1,1,1,1, + 1,1,1,522,1,1,1,1,1,5285, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,123, - 5174,5329,1,1,1,1,1,1,1,1, - 1,1,1,1,5094,5094,5174,5032,4462,5208, - 1,1,1,5174,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,5285,5444,1,1,1,1,1,1, + 1,1,1,1,5292,1,1,1,1,1, + 5285,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,122,4952,5329,1, 1,1,1,1,1,1,1,1,1,1, - 1,5174,5174,905,5174,780,2924,1,1,1, - 5174,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,5285,5444,1,1,1,1,1, + 1,1,1,1,1,5285,1,1,1,1, + 1,5285,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,121,5174,5329,1,1,1,1, - 1,1,1,1,1,1,1,1,2988,3581, - 5174,4984,780,2924,1,1,1,5174,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,5285,5444,1,1,1,1, + 1,1,1,1,1,1,5285,1,1,1, + 1,1,39,5070,3282,652,625,4266,3637,4298, + 1552,4233,4211,5547,5545,5554,5553,5549,5550,5548, + 5551,5552,5555,5546,4342,4320,5305,4135,1691,1726, + 5307,1709,3515,1720,5308,5306,1684,5301,5303,5304, + 5302,1296,5538,428,39,222,5323,5541,5622,5623, + 5535,5542,5515,5540,5539,5536,5537,5285,5516,5680, + 866,5681,5682,5285,5141,226,5137,226,226,226, + 226,1,5285,1158,1,1,1,1,1,1, + 1,1,1,1,1,5538,394,5089,5712,5323, + 5541,5622,5623,5535,5542,5515,5540,5539,5536,5537, + 5294,5516,5285,1,1,336,226,5692,1,1, + 1,1,1,1,1,1,1,1,493,1, + 1,1,1,1,1347,4525,137,113,5285,37, + 5134,5285,134,226,411,5777,2470,5285,5190,916, + 5323,39,5285,5141,226,5137,226,226,226,226, + 1,5622,5623,1,1,1,1,1,1,1, + 1,1,1,1,141,128,345,5193,2955,652, + 777,3020,3637,5615,5285,1,123,3507,2762,5714, + 5715,5716,1,5285,5321,226,5692,1,1,1, + 1,1,1,1,1,1,1,493,1,1, + 1,1,1,1347,1,5079,5086,5083,5073,315, + 5076,2506,226,410,5777,4398,5285,9325,385,5323, + 5226,4450,1,5226,2256,5226,5285,5226,5226,1258, + 5196,2655,5208,1771,5285,37,5134,2626,1258,5134, + 5226,5226,341,341,5714,5715,5716,5294,341,2761, + 5063,5285,1286,5285,5101,5285,2599,2559,5714,5715, + 5716,5226,786,2922,582,141,1729,1687,1645,1603, + 1561,1519,1477,1435,1393,1351,3271,2005,1007,5199, + 2745,5226,5285,5145,5226,5226,5226,5226,5226,5226, + 2327,5226,4376,1291,4376,1291,1,5067,226,5067, + 226,226,226,226,5226,5226,5226,5226,5226,5226, + 5226,5226,5226,5226,5226,5226,5226,5226,5226,5226, + 5226,5226,5226,5226,5226,5226,5226,5226,5226,5226, + 5226,5226,5226,384,223,5229,9036,5321,5229,226, + 5229,1,5229,5229,1,5079,4568,5083,777,35, + 3637,5064,5116,5285,992,5229,5229,576,773,5285, + 7605,568,1116,5285,5193,582,652,5232,5777,3637, + 5285,5190,1,5323,5538,385,5229,3271,5285,5541, + 5622,5623,5535,5542,5515,5540,5539,5536,5537,5285, + 5516,50,50,5101,1286,1,5229,3507,5285,5229, + 5229,5229,5229,5229,5229,2831,5229,1,5079,2955, + 5083,777,5285,3637,1977,505,5285,1286,2201,5229, + 5229,5229,5229,5229,5229,5229,5229,5229,5229,5229, + 5229,5229,5229,5229,5229,5229,5229,5229,5229,5229, + 5229,5229,5229,5229,5229,5229,5229,5229,5285,5067, + 226,5067,226,226,226,226,1,1286,1258,1, 1,1,1,1,1,1,1,1,1,1, + 1258,345,39,3507,5323,127,3020,120,5615,1, + 5079,4568,5083,777,27,3637,3121,2700,9036,5285, + 428,226,5300,1,1,1,1,1,1,1, + 1,1,1,5064,1,1,1,1,1,576, + 773,5285,5193,568,652,5232,5285,3637,5285,863, + 5777,393,3785,5285,5119,5285,5067,226,5067,226, + 226,226,226,1,1258,5712,1,1,1,1, + 1,1,1,1,1,1,1,5285,863,1977, + 122,5205,5205,5285,121,5285,3497,3930,5119,3121, + 2700,786,2922,3121,2700,9036,2334,11,226,5300, 1,1,1,1,1,1,1,1,1,1, + 5064,1,1,1,1,1,576,773,37,5134, + 568,946,357,3082,5293,5285,5294,5777,5285,1, 1,1,1,1,1,1,1,1,1,1, - 5174,994,5329,1,1,1,1,1,1,1, - 1,1,1,1,1,5174,137,46,4984,780, - 2924,1,1,1,35,4975,3305,771,620,4209, - 3412,4231,4187,4132,1228,4280,4254,5432,5430,5439, - 5438,5434,5435,5433,5436,5437,5440,5431,5190,3077, - 1620,1662,5192,1625,2630,1626,5193,5191,1591,5186, - 5188,5189,5187,1280,1,5423,417,5174,5174,5174, - 5426,5507,5508,5420,5427,5400,5425,5424,5421,5422, - 5401,5565,2951,423,35,1755,5208,5174,757,5566, - 5567,381,216,5116,302,315,5116,5005,5116,5116, - 5116,5174,5116,5116,5475,5432,5430,5439,5438,5434, - 5435,5433,5436,5437,5440,5431,577,5174,1713,1671, - 1629,1587,1545,1503,1461,1419,1377,1335,3976,5596, - 2104,605,2489,5423,5116,137,2652,358,5426,5507, - 5508,5420,5427,5400,5425,5424,5421,5422,5401,5174, - 343,5116,3288,843,5116,1242,5174,358,5116,5116, - 5116,5116,5116,380,5116,5119,218,1,5119,3706, - 5119,5119,5119,5174,5119,5119,441,5116,5116,5116, - 5116,5116,5116,5116,5116,5116,5116,5116,5116,5116, - 5116,5116,5116,5116,5116,5116,5116,5116,5116,5116, - 5116,5116,5116,5116,5116,5116,5119,5423,5174,5174, - 1242,3711,5426,5507,5508,5420,5427,5400,5425,5424, - 5421,5422,5401,5119,5174,994,5119,1242,3724,5181, - 5119,5119,5119,5119,5119,577,5119,432,35,4978, - 5208,4709,5100,5174,5097,2390,5181,3976,5174,5119, - 5119,5119,5119,5119,5119,5119,5119,5119,5119,5119, - 5119,5119,5119,5119,5119,5119,5119,5119,5119,5119, - 5119,5119,5119,5119,5119,5119,5119,5119,5174,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,5116,1, + 1,5294,5444,5321,10,5285,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5182, - 1,5183,5180,5329,5174,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,5641,1,1,166,5444, + 5285,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5174,1,162,398,5329, - 5174,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 5285,1,1,166,5444,5285,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,5103,1,162,5174,5329,5174,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,117,1,1,119,5444, + 3475,1,5245,3475,5242,1097,3020,116,5615,1, + 5079,2955,5083,777,306,3637,347,446,3216,5285, + 440,3630,5590,45,5151,5285,47,5220,166,5285, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,120,1,5174, - 1374,5329,109,1,4965,4480,4969,1053,5174,3412, - 3382,362,4965,2891,4969,1053,1,3412,1,341, - 5035,2891,771,1053,3047,3412,5500,5174,8389,162, - 5174,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1242,1,2016,112,5329,111,5174,31,1242, - 1105,284,5461,780,2924,1,4965,2891,4969,1053, - 4324,3412,341,35,3706,5208,4346,3047,445,5500, - 5174,1492,3010,162,1,4965,3305,4969,620,4209, - 3412,4231,4187,4132,5038,4280,4254,5065,5071,5044, - 5047,5059,5056,5062,5053,5050,5041,5068,5190,3077, - 1620,1662,5192,1625,2630,1626,5193,5191,1591,5186, - 5188,5189,5187,1280,35,1242,35,908,5174,5205, - 5174,5674,1242,1,4965,2891,4969,1053,5011,3412, - 90,1,4324,1,4324,5152,5174,5152,4346,3049, - 4346,504,5174,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1242,1,33,5023,5329,5174,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5206, - 1,41,5077,5329,5174,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5074,1,5174,5088,5329, - 5174,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,5206,1,43,5128,5329,5174,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5125,1,5174, - 9172,5329,5174,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5206,1,33,5023,5329,5174,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,2659, - 1,5174,5155,5329,5174,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5206,1,110,131,5329, - 139,5035,3305,771,620,4209,3412,4231,4187,4132, - 967,4280,4254,5432,5430,5439,5438,5434,5435,5433, - 5436,5437,5440,5431,5190,3077,1620,1662,5192,1625, - 2630,1626,5193,5191,1591,5186,5188,5189,5187,1280, - 35,5174,35,35,5035,3305,771,620,4209,3412, - 4231,4187,4132,967,4280,4254,5432,5430,5439,5438, - 5434,5435,5433,5436,5437,5440,5431,5190,3077,1620, - 1662,5192,1625,2630,1626,5193,5191,1591,5186,5188, - 5189,5187,1280,5174,5183,4324,1,4965,4480,4969, - 1053,4346,3412,93,35,2273,5208,117,5165,5174, - 5162,5174,8389,302,3172,3133,3108,5174,1954,4432, - 390,5205,5174,5475,5182,1,4965,3305,4969,620, - 4209,3412,4231,4187,4132,5038,4280,4254,5065,5071, - 5044,5047,5059,5056,5062,5053,5050,5041,5068,5190, - 3077,1620,1662,5192,1625,2630,1626,5193,5191,1591, - 5186,5188,5189,5187,1280,35,2016,35,35,5035, - 3305,771,620,4209,3412,4231,4187,4132,967,4280, - 4254,5432,5430,5439,5438,5434,5435,5433,5436,5437, - 5440,5431,5190,3077,1620,1662,5192,1625,2630,1626, - 5193,5191,1591,5186,5188,5189,5187,1280,1,444, - 1275,31,5630,5624,5017,5628,5622,5623,45,5653, - 5654,1,5084,222,5080,222,222,222,222,3172, - 5174,1374,5174,5631,33,5023,5174,3219,5023,5182, - 1,4965,4480,4969,1053,1,3412,89,1264,5113, - 1270,5174,5461,1,5134,5026,5131,5174,3047,4643, - 5500,5174,852,4771,222,488,135,124,1151,5014, - 4302,5633,1193,31,500,5634,5655,5632,2741,1133, - 5174,46,5174,310,1374,5174,5174,3301,353,1578, - 1,222,406,5661,5644,5643,5656,5625,5626,5649, - 5650,219,5029,5647,5648,5627,5629,5651,5652,5657, - 5637,5638,5639,5635,5636,5645,5646,5641,5640,5642, - 5174,5174,1275,220,5630,5624,358,5628,5622,5623, - 2585,5653,5654,5174,5091,5174,4981,5598,5599,5600, - 5174,2972,5423,5002,1374,5631,358,5426,5507,5508, - 5420,5427,5400,5425,5424,5421,5422,5401,2531,2504, - 1264,5182,1270,5174,5423,2202,5174,3738,3262,5426, - 5507,5508,5420,5427,5400,5425,5424,5421,5422,5401, - 1151,5526,3171,5633,132,114,1,5634,5655,5632, - 3522,5174,134,4833,2011,5174,2922,230,3214,5140, - 2904,32,5159,2755,436,357,5644,5643,5656,5625, - 5626,5649,5650,5174,5174,5647,5648,5627,5629,5651, - 5652,5657,5637,5638,5639,5635,5636,5645,5646,5641, - 5640,5642,35,5035,3305,771,620,4209,3412,4231, - 4187,4132,967,4280,4254,5432,5430,5439,5438,5434, - 5435,5433,5436,5437,5440,5431,5190,3077,1620,1662, - 5192,1625,2630,1626,5193,5191,1591,5186,5188,5189, - 5187,1280,3026,3263,3498,3474,2859,3228,1,5528, - 4699,2273,130,370,5174,1,3361,136,5174,909, - 2240,510,3790,3172,35,5035,3305,771,620,4209, - 3412,4231,4187,4132,967,4280,4254,5432,5430,5439, - 5438,5434,5435,5433,5436,5437,5440,5431,5190,3077, - 1620,1662,5192,1625,2630,1626,5193,5191,1591,5186, - 5188,5189,5187,35,5035,3305,771,620,4209,3412, - 4231,4187,4132,967,4280,4254,5432,5430,5439,5438, - 5434,5435,5433,5436,5437,5440,5431,5190,3077,1620, - 1662,5192,1625,2630,1626,5193,5191,1591,5186,5188, - 5189,5187,1280,5174,5174,4039,4042,5174,3640,4492, - 5174,503,285,5174,283,5174,2202,1,495,3706, - 493,1,365,363,5174,156,344,415,2904,5174, - 5174,5174,5174,4500,4531,5174,2904,5180,35,5035, - 3305,771,620,4209,3412,4231,4187,4132,967,4280, - 4254,5432,5430,5439,5438,5434,5435,5433,5436,5437, - 5440,5431,5190,3077,1620,1662,5192,1625,2630,1626, - 5193,5191,1591,5186,5188,5189,5187,1242,3381,810, - 5568,1923,1334,5351,337,337,1242,4452,5174,4453, - 337,1147,1200,1797,160,3035,2977,2978,2180,35, - 5035,3305,771,620,4209,3412,4231,4187,4132,967, - 4280,4254,5432,5430,5439,5438,5434,5435,5433,5436, - 5437,5440,5431,5190,3077,1620,1662,5192,1625,2630, - 1626,5193,5191,1591,5186,5188,5189,5187,1280,35, - 5035,4019,771,620,4209,3412,4231,4187,4132,967, - 4280,4254,5432,5430,5439,5438,5434,5435,5433,5436, - 5437,5440,5431,5190,3077,1620,1662,5192,1625,2630, - 1626,5193,5191,1591,5186,5188,5189,5187,35,5035, - 3305,771,620,4209,3412,4231,4187,4132,967,4280, - 4254,5432,5430,5439,5438,5434,5435,5433,5436,5437, - 5440,5431,5190,3077,1620,1662,5192,1625,2630,1626, - 5193,5191,1591,5186,5188,5189,5187,35,5035,3305, - 771,620,4209,3412,4231,4187,4132,967,4280,4254, - 5432,5430,5439,5438,5434,5435,5433,5436,5437,5440, - 5431,5190,3077,1620,1662,5192,1625,2630,1626,5193, - 5191,1591,5186,5188,5189,5187,5174,4975,5174,5208, - 3985,5174,5174,4156,5174,5174,802,5174,3170,5432, - 5430,5439,5438,5434,5435,5433,5436,5437,5440,5431, - 5174,5174,1,5084,222,5080,222,222,222,222, - 5174,101,5174,4680,33,5174,5035,5423,771,5122, - 5174,3412,5426,5507,5508,5420,5427,5400,5425,5424, - 5421,5422,5401,5565,5174,4975,174,5208,126,2413, - 757,5566,5567,5017,802,222,488,5432,5430,5439, - 5438,5434,5435,5433,5436,5437,5440,5431,5206,2617, - 1133,5174,2993,1,4956,222,4956,222,222,222, - 222,3648,222,405,5661,5423,98,2986,26,5137, - 5426,5507,5508,5420,5427,5400,5425,5424,5421,5422, - 5401,5565,5174,4984,409,5174,1,125,757,5566, - 5567,2585,184,1,9061,5143,222,4953,1,4956, - 222,4956,222,222,222,222,423,5174,5598,5599, - 5600,571,767,5174,5174,576,72,563,3573,2531, - 2504,1839,4302,5174,1193,5661,4585,5235,5236,5174, - 1,4956,222,4956,222,222,222,222,413,9061, - 5174,222,4953,1,4965,4972,4969,4959,97,4962, - 2585,521,5596,2109,5146,2054,571,767,5174,517, - 576,599,1,4956,222,4956,222,222,222,222, - 5661,9061,11,222,4953,1,3919,5350,2531,2504, - 5174,497,33,5023,1,5026,5183,3219,571,767, - 3060,5174,576,4533,1,4956,222,4956,222,222, - 222,222,5661,9061,5,222,4953,35,2147,908, - 5174,274,5168,5171,5174,5174,5174,1999,5174,1578, - 571,767,5174,5174,576,5174,5206,1881,5174,5174, - 2092,5174,5029,214,5661,9061,5174,222,4953,1, - 4956,222,4956,222,222,222,222,5174,5174,10, - 2185,5174,571,767,5174,5174,576,5181,5174,5174, - 5174,5174,5174,5174,5174,214,5661,33,1531,5174, - 5174,1,4956,222,4956,222,222,222,222,5174, - 9061,5174,222,4953,5174,5174,5174,5174,5174,5174, - 5174,5174,5174,5174,5174,5174,5174,571,767,5174, - 5174,576,5174,5174,5174,5174,5174,5174,5174,5174, - 213,5661,9061,5174,222,4953,1,4956,222,4956, - 222,222,222,222,5174,5174,5174,5174,5174,571, - 767,5174,5174,576,5174,5174,5174,5174,5174,5174, - 5174,5174,214,5661,5174,5174,5174,5174,1,4956, - 222,4956,222,222,222,222,5174,9061,5174,222, - 4953,5174,5174,5174,5174,5174,5174,5174,5174,5174, - 5174,5174,5174,5174,571,767,5174,5174,576,5174, - 5174,5174,5174,5174,5174,5174,5174,214,5661,9061, - 5174,222,4953,1,4956,222,4956,222,222,222, - 222,5174,5174,5174,5174,5174,571,767,5174,5174, - 576,5174,5174,5174,5174,5174,5174,5174,5174,5174, - 5661,5174,5174,1,4956,222,4956,222,222,222, - 222,5174,5174,5174,9061,5174,222,4953,5174,5174, - 5174,5174,5174,5174,5174,5174,5174,5174,5174,5174, - 5174,571,767,5174,5174,576,5174,5174,5174,5174, - 5174,5174,5174,5174,9061,5661,222,4953,5174,5174, - 5174,5174,5174,5174,5174,5174,5174,5174,5174,5174, - 5174,571,767,5174,5174,576,5174,5174,5174,5174, - 5174,5174,5174,5174,5174,5661 + 1,1,1,1,1,1,1,1,1,115, + 1,1,1258,5444,362,118,610,35,5148,1258, + 3475,5217,126,5104,3451,2992,5285,3451,2992,5285, + 2525,1,5285,9324,362,4398,37,5134,5285,5196, + 5285,4450,166,1,5079,3282,5083,625,4266,3637, + 4298,5154,4233,4211,5181,5187,5160,5163,5175,5172, + 5178,5169,5166,5157,5184,4342,4320,5305,4135,1691, + 1726,5307,1709,3515,1720,5308,5306,1684,5301,5303, + 5304,5302,1296,5107,39,39,2005,5321,5199,5285, + 1600,2251,5285,3190,3930,2805,49,4398,5285,5285, + 5266,2677,2865,4450,3451,2992,1,3297,786,2922, + 509,5285,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,862,1,1,5321,5444,5285,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5643, + 5444,5285,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,5285,1,1,3207,5444,5285,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,5285,1,1,3552, + 5444,5285,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,5285,1,1,3259,5444,5285,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,5285,1,1,5285, + 5444,5285,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,5285,1,1,5285,5444,5285,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,5285,1,1,5285, + 5444,143,5193,3282,652,625,4266,3637,4298,1468, + 4233,4211,5547,5545,5554,5553,5549,5550,5548,5551, + 5552,5555,5546,4342,4320,5305,4135,1691,1726,5307, + 1709,3515,1720,5308,5306,1684,5301,5303,5304,5302, + 1296,114,39,39,1,5079,3282,5083,625,4266, + 3637,4298,5154,4233,4211,5181,5187,5160,5163,5175, + 5172,5178,5169,5166,5157,5184,4342,4320,5305,4135, + 1691,1726,5307,1709,3515,1720,5308,5306,1684,5301, + 5303,5304,5302,1296,5285,39,39,39,5193,3282, + 652,625,4266,3637,4298,1468,4233,4211,5547,5545, + 5554,5553,5549,5550,5548,5551,5552,5555,5546,4342, + 4320,5305,4135,1691,1726,5307,1709,3515,1720,5308, + 5306,1684,5301,5303,5304,5302,1296,1,5285,4398, + 125,5285,132,139,5285,4450,288,5576,138,124, + 135,5285,5285,5320,5285,5790,140,321,5113,5285, + 450,3021,130,5285,7605,394,5320,5285,5293,39, + 5193,3282,652,625,4266,3637,4298,1468,4233,4211, + 5547,5545,5554,5553,5549,5550,5548,5551,5552,5555, + 5546,4342,4320,5305,4135,1691,1726,5307,1709,3515, + 1720,5308,5306,1684,5301,5303,5304,5302,1296,1, + 362,1187,4909,5746,5740,3019,5744,5292,5738,5739, + 1258,422,76,5128,3412,449,786,2922,2655,5251, + 362,5769,5770,3021,5747,786,2922,2378,2347,402, + 5293,93,2218,5223,5350,5351,2256,2289,5285,5576, + 1523,1558,5285,2599,2559,2218,289,5285,5285,5285, + 1,5285,3917,1187,508,5746,5740,5285,5744,5285, + 5738,5739,915,5285,5285,5749,5750,5771,5748,5285, + 348,5285,5202,5769,5770,3218,5747,441,5131,37, + 234,3508,5248,5285,3169,5760,5759,5772,5741,5742, + 5765,5766,1523,1558,5763,5764,5743,5745,5767,5768, + 5773,5753,5754,5755,5751,5752,5761,5762,5757,5756, + 5758,855,5683,1196,915,1939,5789,5749,5750,5771, + 5748,5293,817,3338,136,3358,2017,5285,3094,3982, + 4683,36,5270,1258,5321,361,5732,5760,5759,5772, + 5741,5742,5765,5766,5285,2694,5763,5764,5743,5745, + 5767,5768,5773,5753,5754,5755,5751,5752,5761,5762, + 5757,5756,5758,39,5193,3282,652,625,4266,3637, + 4298,1468,4233,4211,5547,5545,5554,5553,5549,5550, + 5548,5551,5552,5555,5546,4342,4320,5305,4135,1691, + 1726,5307,1709,3515,1720,5308,5306,1684,5301,5303, + 5304,5302,1296,2881,1,5285,4900,3702,5285,5285, + 3198,4604,5285,5285,2788,4892,5285,5285,3731,3900, + 5285,2289,3956,5285,374,4129,5285,3021,39,5193, + 3282,652,625,4266,3637,4298,1468,4233,4211,5547, + 5545,5554,5553,5549,5550,5548,5551,5552,5555,5546, + 4342,4320,5305,4135,1691,1726,5307,1709,3515,1720, + 5308,5306,1684,5301,5303,5304,5302,39,5193,3282, + 652,625,4266,3637,4298,1468,4233,4211,5547,5545, + 5554,5553,5549,5550,5548,5551,5552,5555,5546,4342, + 4320,5305,4135,1691,1726,5307,1709,3515,1720,5308, + 5306,1684,5301,5303,5304,5302,1296,5285,5285,4516, + 3635,5285,1,420,160,369,367,500,498,30, + 5285,5285,414,3031,5285,5285,5285,5285,5285,5285, + 5285,5285,5285,5285,3661,5285,604,4161,5285,3031, + 178,5291,39,5193,3282,652,625,4266,3637,4298, + 1468,4233,4211,5547,5545,5554,5553,5549,5550,5548, + 5551,5552,5555,5546,4342,4320,5305,4135,1691,1726, + 5307,1709,3515,1720,5308,5306,1684,5301,5303,5304, + 5302,1052,1813,5257,1154,1216,4877,4893,2979,418, + 2070,2125,3014,3028,3030,2483,5285,5285,1855,5466, + 3629,5465,1329,5285,5285,2205,39,5193,3282,652, + 625,4266,3637,4298,1468,4233,4211,5547,5545,5554, + 5553,5549,5550,5548,5551,5552,5555,5546,4342,4320, + 5305,4135,1691,1726,5307,1709,3515,1720,5308,5306, + 1684,5301,5303,5304,5302,1296,39,5193,3624,652, + 625,4266,3637,4298,1468,4233,4211,5547,5545,5554, + 5553,5549,5550,5548,5551,5552,5555,5546,4342,4320, + 5305,4135,1691,1726,5307,1709,3515,1720,5308,5306, + 1684,5301,5303,5304,5302,39,5193,3282,652,625, + 4266,3637,4298,1468,4233,4211,5547,5545,5554,5553, + 5549,5550,5548,5551,5552,5555,5546,4342,4320,5305, + 4135,1691,1726,5307,1709,3515,1720,5308,5306,1684, + 5301,5303,5304,5302,39,5193,3282,652,625,4266, + 3637,4298,1468,4233,4211,5547,5545,5554,5553,5549, + 5550,5548,5551,5552,5555,5546,4342,4320,5305,4135, + 1691,1726,5307,1709,3515,1720,5308,5306,1684,5301, + 5303,5304,5302,5285,5070,102,5323,526,105,188, + 3794,974,5285,515,5547,5545,5554,5553,5549,5550, + 5548,5551,5552,5555,5546,101,5285,5285,278,4869, + 5279,1,5067,226,5067,226,226,226,226,502, + 5,39,5285,5538,5285,5285,3243,5285,5541,5622, + 5623,5535,5542,5515,5540,5539,5536,5537,5285,5516, + 5680,866,5681,5682,5285,5070,5285,5323,4160,5285, + 5285,9036,974,5285,226,5547,5545,5554,5553,5549, + 5550,5548,5551,5552,5555,5546,5064,3178,2163,5285, + 5285,129,576,773,5285,1897,568,5285,5285,5285, + 5285,5285,218,5777,5538,1389,37,5285,2108,5541, + 5622,5623,5535,5542,5515,5540,5539,5536,5537,220, + 5516,5680,866,5681,5682,5285,5285,5285,3031,5282, + 5547,5545,5554,5553,5549,5550,5548,5551,5552,5555, + 5546,1,5067,226,5067,226,226,226,226,1, + 5067,226,5067,226,226,226,226,2655,5254,5538, + 5285,5285,5285,5285,5541,5622,5623,5535,5542,5515, + 5540,5539,5536,5537,5285,5516,5285,5285,5285,5285, + 5285,9036,2599,2559,226,5285,5285,5285,5285,9036, + 5285,5285,226,5285,5285,5285,5064,5285,224,5285, + 5285,5285,576,773,5064,5285,568,5285,5285,5285, + 576,773,218,5777,568,5285,5285,5285,5285,5285, + 217,5777,1,5067,226,5067,226,226,226,226, + 1,5067,226,5067,226,226,226,226,5538,5285, + 5285,5285,5285,5541,5622,5623,5535,5542,5515,5540, + 5539,5536,5537,5285,5516,5285,5285,5285,5285,5285, + 5285,5285,9036,5285,5285,226,5285,5285,5285,5285, + 9036,5285,5285,226,5285,5285,5285,5064,5285,5285, + 5285,5285,5285,576,773,5064,5285,568,5285,5285, + 5285,576,773,218,5777,568,5285,5285,5285,5285, + 5285,218,5777,1,5067,226,5067,226,226,226, + 226,1,5067,226,5067,226,226,226,226,1, + 5067,226,5067,226,226,226,226,5285,5285,5285, + 5285,5285,5285,5285,5285,5285,5285,5285,5285,5285, + 5285,5285,5285,9036,5285,5285,226,5285,5285,5285, + 5285,9036,5285,5285,226,5285,5285,5285,5064,9036, + 5285,5285,226,5285,576,773,5064,5285,568,5285, + 5285,5285,576,773,5064,5777,568,5285,5285,5285, + 576,773,5285,5777,568,5285,5285,5285,5285,5285, + 5285,5777 }; }; public final static char termAction[] = TermAction.termAction; @@ -1842,58 +1884,58 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface Asb { public final static char asb[] = {0, - 467,1,3,779,256,770,436,1089,732,102, - 467,5,939,207,53,770,1089,465,207,870, - 544,958,465,1043,332,517,528,733,528,590, - 528,731,528,436,528,337,465,3,66,733, - 109,733,337,199,67,66,67,226,593,593, - 64,61,57,57,335,63,656,408,542,152, - 648,544,544,408,465,338,204,338,43,900, - 648,213,465,593,255,592,592,733,603,465, - 465,465,255,648,66,66,337,66,465,200, - 66,226,593,733,337,298,692,112,332,465, - 538,332,656,408,335,152,152,408,816,200, - 213,593,593,593,255,593,603,603,465,255, - 465,64,588,66,66,465,66,465,200,588, - 938,207,48,48,384,733,263,258,465,1089, - 648,298,691,1089,207,207,207,207,337,1089, - 281,1045,299,299,299,299,299,299,299,299, - 299,544,550,555,552,559,557,564,562,566, - 565,567,154,568,152,582,465,777,538,648, - 835,834,939,640,965,938,542,939,338,465, - 588,465,213,406,198,398,213,593,593,510, - 465,603,588,340,587,465,588,465,588,64, - 64,64,226,67,226,937,937,298,832,832, - 390,391,650,335,822,264,337,465,161,344, - 691,281,436,436,436,436,465,161,648,648, - 282,1049,435,43,281,528,528,42,42,161, - 1006,299,299,299,299,299,299,299,299,299, - 299,299,299,299,299,299,299,299,299,299, - 298,298,298,298,298,298,298,298,298,298, - 298,1006,299,816,538,950,824,838,335,652, - 282,816,43,399,258,513,465,588,299,465, - 64,226,436,436,298,298,656,648,654,384, - 822,263,406,299,406,64,1089,1089,1089,264, - 1089,465,735,64,64,770,465,733,262,648, - 298,587,648,648,939,939,939,939,255,648, - 299,350,337,1045,152,435,298,648,199,201, - 199,648,152,552,552,550,550,550,557,557, - 557,557,555,555,562,559,559,565,564,566, - 406,567,538,824,640,654,200,63,596,299, - 406,62,510,463,465,938,656,648,209,1089, - 406,264,281,281,280,689,281,64,64,1003, - 822,691,1089,1089,1089,1089,465,465,465,43, - 299,436,548,606,648,465,201,43,298,826, - 64,399,299,299,337,508,648,941,838,648, - 332,648,735,64,1089,648,822,1006,1006,1006, - 1006,1089,1089,255,200,648,548,335,465,338, - 200,826,465,48,941,941,648,648,374,264, - 1003,264,64,735,1006,264,261,648,648,648, - 648,161,161,465,549,549,548,1006,606,202, - 338,1089,465,937,941,831,733,733,1082,298, - 262,1005,64,648,648,648,361,161,299,152, - 465,202,657,199,831,831,264,648,1005,64, - 648,152,465,647,831,264,648,436,264 + 393,1,430,1091,580,719,62,877,3,846, + 393,297,163,3,611,622,847,622,728,622, + 845,622,580,116,622,297,609,64,719,1091, + 609,936,638,502,609,1045,292,116,1005,316, + 451,847,68,847,609,164,210,18,609,731, + 61,298,730,113,730,847,549,609,552,609, + 609,61,298,731,731,12,9,5,5,295, + 11,772,636,111,210,638,638,552,609,489, + 966,210,32,395,395,451,451,451,297,451, + 609,164,12,18,731,731,731,61,353,731, + 549,549,609,552,61,609,731,847,297,258, + 806,71,292,609,632,292,772,295,111,111, + 552,164,32,451,682,451,451,609,451,12, + 12,12,682,609,18,861,162,853,18,731, + 731,929,609,298,609,549,682,217,681,1005, + 202,1091,116,116,116,116,297,1091,509,241, + 1047,259,259,259,259,259,259,259,259,259, + 638,644,649,646,653,651,658,656,660,659, + 661,118,662,1004,609,847,223,300,609,1091, + 210,258,805,111,676,609,726,632,210,874, + 437,873,636,1005,1004,116,212,212,682,682, + 609,682,489,854,300,932,609,353,682,259, + 609,295,768,444,443,241,580,580,580,580, + 609,125,210,210,242,1051,579,489,241,622, + 622,488,488,125,1008,259,259,259,259,259, + 259,259,259,259,259,259,259,259,259,259, + 259,259,259,259,258,258,258,258,258,258, + 258,258,258,258,258,1008,259,242,849,224, + 297,609,125,303,805,353,632,494,863,258, + 871,871,766,295,734,32,395,32,1003,1003, + 12,164,11,309,259,861,10,929,607,609, + 202,210,770,772,210,210,1005,1005,1005,1005, + 61,210,259,359,297,1047,111,579,258,210, + 163,165,163,210,111,646,646,644,644,644, + 651,651,651,651,649,649,656,653,653,659, + 658,660,861,661,849,223,861,259,861,12, + 1091,1091,1091,224,1091,609,684,12,12,719, + 609,847,222,210,258,681,632,863,258,258, + 770,437,32,580,580,12,854,259,259,297, + 210,772,1091,1091,1091,1091,609,609,609,489, + 259,580,642,168,210,609,165,489,258,14, + 1091,861,224,241,241,240,851,241,12,12, + 547,849,805,865,1004,609,920,210,1008,1008, + 1008,1008,1091,1091,61,164,210,642,295,609, + 298,164,734,210,292,210,684,12,1091,210, + 849,865,918,609,920,920,210,210,210,210, + 125,125,609,643,643,642,1008,168,166,298, + 210,210,383,224,547,224,12,684,1008,224, + 221,1091,212,870,920,210,210,370,125,259, + 111,609,166,847,847,1084,258,222,1007,12, + 210,773,1003,870,870,210,111,609,224,210, + 1007,12,209,163,870,224,210,580,224 }; }; public final static char asb[] = Asb.asb; @@ -1901,115 +1943,116 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface Asr { public final static byte asr[] = {0, - 119,0,24,0,62,49,13,14,57,47, - 15,64,50,72,41,16,51,52,17,18, - 53,59,54,19,20,55,65,56,10,66, - 21,58,46,22,48,23,2,7,5,43, - 61,3,6,4,44,1,0,67,69,68, - 1,0,61,70,74,0,67,93,73,60, - 2,69,68,43,0,71,14,57,47,15, - 64,50,16,51,52,17,18,53,54,19, - 20,55,65,56,66,21,46,22,48,23, - 13,49,2,7,5,43,58,62,72,41, - 44,6,1,4,3,10,59,0,61,69, - 0,40,42,2,10,27,31,29,26,34, - 14,23,13,19,17,18,20,21,16,15, - 22,35,38,36,37,24,33,28,32,4, - 6,3,11,12,7,5,8,9,25,30, - 1,113,0,67,70,93,68,113,71,43, - 73,13,14,26,40,15,27,28,16,17, - 18,42,29,19,20,30,31,32,39,33, - 34,21,22,23,35,36,37,24,2,11, - 12,7,5,8,9,25,38,10,3,6, - 1,4,0,61,70,3,63,0,62,59, - 119,115,72,6,116,117,118,58,2,7, - 5,4,70,71,43,49,13,14,57,47, - 15,64,50,41,16,51,52,17,18,53, - 54,19,20,55,65,56,10,66,21,46, - 22,48,23,3,1,44,0,61,68,0, - 115,120,71,74,58,59,62,76,78,84, - 82,75,80,81,83,85,61,77,79,43, - 45,64,57,65,66,49,54,55,41,53, - 52,46,50,47,48,51,56,39,40,42, - 10,27,31,29,26,34,14,23,13,19, - 17,18,20,21,16,15,22,35,38,36, - 37,24,33,28,32,11,12,8,9,25, - 30,2,6,4,5,7,1,3,0,68, - 71,69,0,70,113,73,43,68,0,13, - 14,15,16,17,18,19,20,21,22,23, - 49,47,50,41,51,52,53,54,55,56, - 46,48,43,73,6,1,60,2,7,5, - 4,3,0,7,5,6,4,3,1,2, - 67,93,69,68,73,60,0,43,7,5, - 4,6,2,1,3,70,0,26,40,27, - 28,42,6,29,30,31,32,39,33,34, - 35,36,37,24,11,12,7,5,8,9, - 4,25,67,38,2,10,64,57,65,66, - 14,23,13,19,17,18,20,21,16,15, - 22,49,54,55,41,53,52,50,47,48, - 51,56,3,46,1,0,13,14,47,15, - 64,50,16,51,52,17,18,53,54,19, - 20,55,65,56,10,66,21,46,22,48, - 23,49,119,6,2,7,5,4,43,58, - 59,62,72,41,1,3,44,57,0,1, - 46,3,116,117,118,0,14,23,13,19, - 17,18,20,21,16,15,22,49,54,55, - 41,53,52,46,50,51,56,47,6,48, - 4,1,3,114,101,11,12,60,2,94, - 88,5,89,90,8,9,87,86,63,91, - 92,95,96,7,97,98,99,67,93,73, - 69,102,103,104,105,106,107,108,109,110, - 111,70,113,43,100,112,68,71,0,44, - 1,3,61,70,0,70,60,2,69,68, - 43,0,1,71,0,94,88,8,9,89, - 90,86,87,63,91,92,95,96,97,98, - 99,100,112,70,93,69,102,103,104,105, - 106,107,108,109,110,111,113,71,43,67, - 1,7,5,3,2,60,68,73,0,4, - 6,2,60,5,7,93,49,13,14,57, - 47,15,64,50,41,16,51,52,17,18, - 53,54,19,20,55,65,56,10,66,21, - 46,22,48,23,1,3,73,0,75,0, - 71,40,42,39,11,12,7,5,8,9, - 4,25,30,2,6,35,38,36,37,24, - 33,28,32,14,23,13,19,17,18,20, - 21,16,15,22,10,27,31,29,26,34, - 3,1,61,0,13,14,26,40,15,27, - 28,16,17,18,42,29,19,20,30,31, - 32,39,33,34,10,21,22,23,35,36, - 37,24,11,12,8,9,25,38,45,7, - 43,2,3,1,6,4,5,0,14,57, - 47,15,64,50,16,51,52,17,18,53, - 54,19,20,55,65,56,10,66,21,46, - 22,48,23,13,49,2,7,43,58,59, - 62,72,41,63,3,6,5,4,1,44, - 0,115,0,47,48,74,2,61,70,43, - 39,67,69,68,73,93,0,49,13,14, - 57,47,15,64,50,41,16,51,52,17, - 18,53,54,19,20,55,65,56,10,66, - 21,46,22,48,23,1,3,93,0,49, - 13,14,57,47,15,64,50,41,16,51, - 52,17,18,53,54,19,20,55,65,56, - 10,66,21,46,22,48,23,1,3,42, - 40,8,9,5,89,90,97,7,98,4, - 25,63,105,106,102,103,104,110,109,111, - 87,86,107,108,95,96,91,92,99,100, - 11,12,88,101,2,60,69,68,67,0, - 47,39,48,67,93,69,68,73,0,6, - 39,74,1,4,3,47,48,61,70,93, - 113,73,71,43,60,2,114,94,101,88, - 11,12,7,5,8,9,89,90,86,87, - 63,91,92,95,96,97,98,99,100,112, - 102,103,104,105,106,107,108,109,110,111, - 67,68,69,0,73,13,14,26,15,27, - 28,16,17,18,29,19,20,30,31,32, - 39,33,34,10,21,22,23,35,36,37, - 24,2,11,12,7,5,8,9,25,3, - 38,45,4,6,1,42,40,0,40,42, - 11,12,8,9,25,30,35,38,36,37, - 24,33,28,32,14,23,13,19,17,18, - 20,21,16,15,22,10,27,31,29,26, - 34,7,5,60,4,6,1,3,2,0 + 119,0,24,0,67,93,73,63,2,69, + 68,43,0,65,62,119,115,72,6,116, + 117,118,61,2,7,5,4,70,71,43, + 44,48,11,12,57,46,13,58,49,40, + 14,50,51,15,16,52,53,17,18,54, + 59,56,8,60,19,45,20,47,21,3, + 1,55,0,64,70,74,0,64,69,0, + 41,42,2,8,27,31,29,26,34,12, + 21,11,17,15,16,18,19,14,13,20, + 35,38,36,37,24,33,28,32,4,6, + 3,22,23,7,5,9,10,25,30,1, + 113,0,64,70,3,66,0,67,70,93, + 68,113,71,43,73,11,12,26,41,13, + 27,28,14,15,16,42,29,17,18,30, + 31,32,39,33,34,19,20,21,35,36, + 37,24,2,22,23,7,5,9,10,25, + 38,8,3,6,1,4,0,94,88,9, + 10,89,90,86,87,66,91,92,95,96, + 97,98,99,100,112,70,93,69,102,103, + 104,105,106,107,108,109,110,111,113,71, + 43,67,1,7,5,3,2,63,68,73, + 0,67,69,68,1,0,68,71,69,0, + 115,120,71,74,61,62,65,76,78,84, + 82,75,80,81,83,85,64,77,79,43, + 44,58,57,59,60,48,53,54,40,52, + 51,45,49,46,47,50,56,39,41,42, + 8,27,31,29,26,34,12,21,11,17, + 15,16,18,19,14,13,20,35,38,36, + 37,24,33,28,32,22,23,9,10,25, + 30,2,6,4,5,7,1,3,0,64, + 68,0,70,113,73,43,68,0,70,63, + 2,69,68,43,0,65,48,11,12,57, + 46,13,58,49,72,40,14,50,51,15, + 16,52,62,53,17,18,54,59,56,8, + 60,19,61,45,20,47,21,2,7,3, + 43,64,6,5,4,1,55,0,11,12, + 13,14,15,16,17,18,19,20,21,48, + 46,49,40,50,51,52,53,54,56,45, + 47,43,73,6,1,63,2,7,5,4, + 3,0,119,44,12,57,46,13,58,49, + 14,50,51,15,16,52,53,17,18,54, + 59,56,60,19,45,20,47,21,11,48, + 2,7,5,43,61,65,72,40,55,6, + 1,4,3,8,62,0,7,5,6,4, + 3,1,2,67,93,69,68,73,63,0, + 65,48,11,12,57,46,13,58,49,72, + 40,14,50,51,15,16,52,62,53,17, + 18,54,59,56,8,60,19,61,45,20, + 47,21,2,7,5,71,43,3,6,4, + 55,1,0,6,39,74,1,4,3,46, + 47,64,70,93,113,73,71,43,63,2, + 114,94,101,88,22,23,7,5,9,10, + 89,90,86,87,66,91,92,95,96,97, + 98,99,100,112,102,103,104,105,106,107, + 108,109,110,111,67,68,69,0,1,71, + 0,26,41,27,28,42,6,29,30,31, + 32,39,33,34,35,36,37,24,22,23, + 7,5,9,10,4,25,67,38,2,8, + 58,57,59,60,12,21,11,17,15,16, + 18,19,14,13,20,48,53,54,40,52, + 51,49,46,47,50,56,3,45,1,0, + 12,21,11,17,15,16,18,19,14,13, + 20,48,53,54,40,52,51,45,49,50, + 56,46,6,47,4,1,3,114,101,22, + 23,63,2,94,88,5,89,90,9,10, + 87,86,66,91,92,95,96,7,97,98, + 99,67,93,73,69,102,103,104,105,106, + 107,108,109,110,111,70,113,43,100,112, + 68,71,0,11,12,26,41,13,27,28, + 14,15,16,42,29,17,18,30,31,32, + 39,33,34,8,19,20,21,35,36,37, + 24,22,23,9,10,25,38,44,7,43, + 2,3,1,6,4,5,0,55,1,3, + 64,70,0,48,11,12,57,46,13,58, + 49,40,14,50,51,15,16,52,53,17, + 18,54,59,56,8,60,19,45,20,47, + 21,1,3,93,0,4,6,2,63,5, + 7,93,48,11,12,57,46,13,58,49, + 40,14,50,51,15,16,52,53,17,18, + 54,59,56,8,60,19,45,20,47,21, + 1,3,73,0,71,41,42,39,22,23, + 7,5,9,10,4,25,30,2,6,35, + 38,36,37,24,33,28,32,12,21,11, + 17,15,16,18,19,14,13,20,8,27, + 31,29,26,34,3,1,64,0,115,0, + 75,0,43,7,5,4,6,2,1,3, + 70,0,46,47,74,2,64,70,43,39, + 67,69,68,73,93,0,12,46,13,58, + 49,14,50,51,15,16,52,53,17,18, + 54,59,56,8,60,19,45,20,47,21, + 11,48,6,2,7,5,4,43,61,62, + 65,72,40,66,1,3,55,57,0,46, + 39,47,67,93,69,68,73,0,1,45, + 3,116,117,118,0,48,11,12,57,46, + 13,58,49,40,14,50,51,15,16,52, + 53,17,18,54,59,56,8,60,19,45, + 20,47,21,1,3,42,41,9,10,5, + 89,90,97,7,98,4,25,66,105,106, + 102,103,104,110,109,111,87,86,107,108, + 95,96,91,92,99,100,22,23,88,101, + 2,63,69,68,67,0,73,11,12,26, + 13,27,28,14,15,16,29,17,18,30, + 31,32,39,33,34,8,19,20,21,35, + 36,37,24,2,22,23,7,5,9,10, + 25,3,38,44,4,6,1,42,41,0, + 41,42,22,23,9,10,25,30,35,38, + 36,37,24,33,28,32,12,21,11,17, + 15,16,18,19,14,13,20,8,27,31, + 29,26,34,7,5,63,4,6,1,3, + 2,0 }; }; public final static byte asr[] = Asr.asr; @@ -2017,58 +2060,58 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface Nasb { public final static char nasb[] = {0, - 122,12,12,183,12,114,90,12,230,15, - 183,109,12,12,109,105,12,60,12,197, - 12,12,160,24,105,220,221,12,221,139, - 221,98,221,213,12,98,160,12,109,12, - 12,12,98,98,183,109,183,109,109,46, - 181,44,53,53,55,12,109,109,33,69, - 241,12,12,109,145,12,12,12,133,199, - 241,109,141,109,243,109,12,12,109,243, - 160,145,12,241,122,109,98,109,243,243, - 122,253,46,13,135,75,8,65,207,160, - 109,105,253,17,55,69,69,17,201,10, - 232,109,109,36,50,36,109,223,230,50, - 142,181,42,183,122,243,122,111,10,42, - 12,12,29,29,103,13,87,12,243,12, - 241,8,109,12,12,12,12,12,98,12, - 193,160,8,8,6,8,8,8,8,8, - 8,12,12,12,12,12,12,12,12,12, - 12,12,8,12,69,12,160,12,73,241, - 12,12,12,151,12,12,210,12,12,229, - 42,160,181,12,15,113,232,36,36,127, - 142,223,42,12,12,142,42,111,42,181, - 12,181,253,183,109,12,12,8,12,12, - 53,53,103,55,109,164,135,60,100,12, - 38,193,21,21,21,21,160,100,241,241, - 1,8,63,133,193,12,12,82,82,100, - 176,8,8,8,8,8,8,8,8,8, - 8,8,8,8,8,8,8,8,8,8, - 8,8,8,8,8,8,8,8,8,8, - 8,176,8,133,109,73,109,253,55,151, - 17,201,133,225,12,237,243,42,8,223, - 181,253,21,21,8,8,109,241,251,205, - 120,173,12,8,12,181,12,12,12,174, - 12,12,179,181,181,109,12,71,12,241, - 8,42,241,241,12,12,12,12,132,241, - 8,12,98,160,69,21,75,241,9,160, - 9,241,69,12,12,12,12,12,12,12, + 114,12,15,12,96,184,12,196,12,252, + 169,104,104,12,244,245,12,245,154,245, + 104,245,237,12,12,104,254,125,121,12, + 31,217,12,12,254,17,121,12,12,125, + 125,12,12,12,258,258,264,125,156,125, + 258,12,125,12,12,12,125,258,125,254, + 106,12,12,125,29,152,68,34,34,61, + 12,125,41,81,264,12,12,125,106,167, + 219,264,125,196,196,125,140,125,104,125, + 127,10,152,221,125,125,44,54,136,44, + 125,160,252,22,54,157,29,13,132,129, + 8,77,211,254,125,121,111,61,81,81, + 22,10,111,140,50,196,140,258,140,152, + 12,152,50,254,152,12,15,183,221,44, + 44,205,157,12,251,160,50,12,12,12, + 174,12,12,12,12,12,104,12,12,201, + 254,8,8,6,8,8,8,8,8,8, 12,12,12,12,12,12,12,12,12,12, - 12,12,73,73,155,251,10,181,12,8, - 12,80,169,171,60,12,253,241,78,12, - 12,174,247,247,188,12,247,181,181,12, - 109,38,12,12,12,12,142,230,160,133, - 8,21,109,148,241,160,145,133,8,109, - 181,225,8,8,98,12,241,109,21,241, - 105,241,190,181,12,241,120,176,176,176, - 176,12,12,131,142,241,31,210,145,12, - 142,48,243,29,109,73,241,241,109,174, - 12,174,181,190,176,174,78,241,241,241, - 241,100,100,142,58,58,12,176,210,12, - 12,12,60,12,73,109,71,71,103,8, - 12,190,181,241,241,241,12,100,8,69, - 145,12,239,9,109,48,174,241,190,181, - 241,69,145,241,48,174,241,21,174 + 12,8,12,12,157,13,38,12,258,12, + 264,8,125,81,12,254,12,85,264,12, + 119,12,214,12,12,12,90,90,50,50, + 127,50,167,247,12,226,258,136,50,8, + 160,61,174,34,34,201,26,26,26,26, + 254,162,264,264,1,8,83,167,201,12, + 12,70,70,162,193,8,8,8,8,8, + 8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,8,193,8,22,125,178, + 132,31,162,12,46,167,125,85,125,8, + 12,12,119,61,111,111,196,125,12,12, + 152,10,152,12,8,12,92,64,66,31, + 232,264,109,125,264,264,12,12,12,12, + 166,264,8,12,104,254,81,26,129,264, + 9,254,9,264,81,12,12,12,12,12, + 12,12,12,12,12,12,12,12,12,12, + 12,12,12,12,57,190,12,8,12,152, + 12,12,12,191,12,12,150,152,152,125, + 12,36,12,264,8,50,85,85,8,8, + 109,209,111,26,26,152,247,8,8,104, + 264,111,12,12,12,12,157,252,254,167, + 8,26,125,87,264,254,106,167,8,59, + 12,12,191,228,228,145,12,228,152,152, + 12,125,46,125,12,258,125,264,193,193, + 193,193,12,12,165,157,264,75,214,106, + 12,157,26,264,121,264,147,152,12,264, + 57,52,12,31,85,125,264,264,264,264, + 162,162,157,94,94,12,193,214,12,12, + 264,264,125,191,12,191,152,147,193,191, + 59,12,90,125,85,264,264,12,162,8, + 81,106,12,36,36,119,8,12,147,152, + 264,262,12,52,125,264,81,106,191,264, + 147,152,264,9,52,191,264,26,191 }; }; public final static char nasb[] = Nasb.nasb; @@ -2076,32 +2119,33 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface Nasr { public final static char nasr[] = {0, - 148,146,122,145,144,1,2,12,5,7, - 3,0,154,0,151,0,5,7,3,12, - 4,50,0,3,7,1,2,0,113,0, - 175,0,4,188,0,114,0,12,3,7, - 5,65,0,179,0,153,0,125,0,1, - 66,0,79,0,5,103,0,139,0,3, - 31,0,170,0,12,3,7,5,88,0, - 56,0,57,0,4,28,0,116,0,185, - 0,5,3,7,138,0,4,65,0,3, - 148,147,146,122,145,144,143,5,0,4, - 102,0,100,99,5,7,3,78,4,0, - 43,0,39,5,7,3,4,62,0,155, - 0,106,4,44,64,0,5,130,186,0, - 1,135,66,0,164,5,163,0,5,49, - 1,3,2,0,3,89,0,4,174,0, - 99,100,4,0,100,99,5,67,0,49, - 1,3,0,4,44,38,176,0,5,160, - 130,0,65,44,80,4,38,0,4,38, - 39,0,4,44,64,68,0,44,48,4, - 107,0,4,50,38,0,4,50,166,0, - 66,137,136,0,100,99,7,3,78,5, - 67,0,3,5,122,118,119,120,121,12, - 93,0,124,0,78,5,7,4,3,1, - 0,4,44,64,59,5,129,0,50,4, - 33,0,1,3,58,0,4,50,117,0, - 5,103,4,22,0 + 149,147,122,146,145,1,2,12,5,7, + 3,0,155,0,152,0,3,7,1,2, + 0,5,7,3,12,4,50,0,154,0, + 3,31,0,79,0,56,0,4,65,0, + 4,190,0,114,0,12,3,7,5,65, + 0,125,0,1,66,0,156,0,116,0, + 5,103,0,5,161,130,0,181,0,5, + 3,7,139,0,177,0,12,3,7,5, + 88,0,172,0,57,0,4,176,0,113, + 0,187,0,140,0,3,149,148,147,122, + 146,145,144,5,0,3,89,0,5,103, + 22,4,0,171,64,44,4,0,100,99, + 5,7,3,78,4,0,43,0,4,28, + 0,165,5,164,0,66,138,137,0,108, + 4,44,64,0,44,48,4,106,0,4, + 38,39,0,5,49,1,3,2,0,124, + 0,4,102,0,1,135,66,0,64,44, + 4,136,0,99,100,4,0,4,44,38, + 178,0,39,5,7,3,4,62,0,65, + 44,80,4,38,0,4,44,64,68,0, + 4,50,38,0,5,130,188,0,100,99, + 7,3,78,5,67,0,4,50,167,0, + 4,44,64,59,5,129,0,4,50,117, + 0,100,99,5,67,0,3,5,122,118, + 119,120,121,12,93,0,78,5,7,4, + 3,1,0,1,3,49,0,1,3,58, + 0,50,4,33,0 }; }; public final static char nasr[] = Nasr.nasr; @@ -2109,13 +2153,13 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface TerminalIndex { public final static char terminalIndex[] = {0, - 115,2,32,14,11,81,10,12,13,102, - 8,9,50,54,62,70,76,77,88,89, - 104,107,109,114,15,57,63,69,86,90, - 92,96,99,101,111,112,113,46,97,60, - 68,80,122,95,123,106,56,108,49,66, - 72,75,78,85,91,100,55,105,79,1, - 3,48,20,65,93,103,21,45,34,31, + 115,2,32,14,11,81,10,102,12,13, + 50,54,62,70,76,77,88,89,104,107, + 109,8,9,114,15,57,63,69,86,90, + 92,96,99,101,111,112,113,46,97,68, + 60,80,122,123,106,56,108,49,66,72, + 75,78,85,91,95,100,55,65,93,103, + 105,79,1,3,48,20,21,45,34,31, 121,67,120,98,110,51,52,58,59,61, 71,73,74,87,94,18,19,7,16,17, 22,23,33,5,24,25,26,27,28,29, @@ -2129,26 +2173,26 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface NonterminalIndex { public final static char nonterminalIndex[] = {0, - 134,136,237,0,0,135,233,133,0,132, - 0,144,0,131,0,0,143,148,0,0, - 149,179,158,159,160,161,162,151,163,164, - 137,165,126,166,167,168,0,130,128,169, - 0,196,142,0,0,0,139,176,138,152, - 0,0,0,0,146,172,186,0,178,0, - 202,203,0,0,127,0,155,177,0,0, - 0,0,0,0,0,0,200,204,205,171, - 0,0,0,0,0,0,0,125,147,175, - 0,0,185,0,0,211,157,207,208,209, - 0,0,201,0,0,129,0,206,0,0, - 0,210,0,0,0,240,174,188,189,190, - 191,192,194,195,0,213,216,218,219,0, - 236,0,239,0,0,140,141,145,0,154, - 0,170,180,181,182,183,184,187,0,193, - 0,198,0,214,215,0,220,223,225,227, - 0,230,231,232,0,234,235,238,0,0, - 150,0,0,153,156,173,0,197,199,212, - 217,0,221,222,224,226,228,229,241,242, - 0,0,0,0,0,0,0,0 + 136,138,239,0,0,137,235,135,0,134, + 0,146,0,133,0,0,145,150,0,0, + 151,181,160,161,162,163,164,153,165,166, + 139,167,126,168,169,170,0,132,128,171, + 0,198,144,0,0,0,141,178,140,154, + 0,0,0,0,148,174,188,0,179,0, + 204,205,0,0,127,0,157,131,0,0, + 0,0,0,0,0,0,202,206,207,173, + 0,0,0,0,0,0,0,125,149,177, + 0,0,187,0,0,213,159,209,210,211, + 0,0,203,0,0,0,208,180,0,0, + 0,212,0,0,0,242,176,190,191,192, + 193,194,196,197,0,215,218,220,221,0, + 238,0,241,0,0,130,142,143,147,0, + 156,0,172,182,183,184,185,186,189,0, + 195,0,200,0,216,217,0,222,225,227, + 229,0,232,233,234,0,236,237,240,0, + 129,0,152,0,0,155,158,175,0,199, + 201,214,219,0,223,224,226,228,230,231, + 243,244,0,0,0,0,0,0,0,0 }; }; public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex; @@ -2194,18 +2238,18 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface ScopeLhs { public final static char scopeLhs[] = { - 59,17,17,84,17,17,17,17,84,160, + 59,17,17,84,17,17,17,17,84,161, 71,46,76,75,120,60,53,84,83,19, - 59,17,84,2,6,157,118,59,74,120, - 119,121,54,46,132,138,84,17,17,132, - 101,62,134,87,163,157,127,119,119,121, - 48,56,175,18,17,17,17,17,17,11, - 116,157,127,84,83,83,37,138,83,19, - 17,17,17,17,101,84,164,160,179,99, - 108,63,79,61,90,121,85,81,141,175, - 173,16,157,121,117,21,138,128,128,67, - 138,84,138,59,157,82,136,49,136,49, - 163,117,118,59,59,62 + 59,17,84,2,6,158,118,59,74,120, + 119,121,54,46,132,139,84,17,17,132, + 101,62,134,87,164,158,127,119,119,121, + 48,56,177,18,17,17,17,17,17,11, + 116,158,127,84,83,83,37,139,83,19, + 17,17,17,17,101,84,165,161,181,99, + 107,63,79,61,90,121,85,81,142,177, + 175,16,158,121,117,21,139,128,128,67, + 139,84,139,59,158,82,137,49,137,49, + 164,117,118,59,59,62 }; }; public final static char scopeLhs[] = ScopeLhs.scopeLhs; @@ -2215,16 +2259,16 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public final static byte scopeLa[] = { 115,73,73,73,73,73,73,73,73,1, 71,43,71,71,71,67,1,73,120,73, - 61,2,43,67,67,43,71,61,71,71, + 64,2,43,67,67,43,71,64,71,71, 1,1,1,1,67,3,43,1,1,67, 73,73,73,115,73,43,71,1,1,1, 43,71,113,73,73,73,73,73,113,1, 73,1,68,73,73,73,70,3,73,2, 67,67,67,67,73,43,1,1,73,73, 2,1,113,73,1,1,43,70,73,113, - 73,73,1,44,69,73,4,1,1,5, - 1,75,44,74,43,43,3,3,3,3, - 2,1,61,1,1,2 + 73,73,1,55,69,73,4,1,1,5, + 1,75,55,74,43,43,3,3,3,3, + 2,1,64,1,1,2 }; }; public final static byte scopeLa[] = ScopeLa.scopeLa; @@ -2232,18 +2276,18 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface ScopeStateSet { public final static char scopeStateSet[] = { - 297,184,184,262,184,184,184,184,262,24, - 285,273,285,285,102,297,275,262,262,184, - 297,184,262,120,162,308,102,297,285,102, - 102,102,275,273,49,19,262,184,184,49, - 70,106,4,262,30,308,246,102,102,102, - 250,33,8,184,184,184,184,184,184,166, - 14,308,246,262,262,262,216,19,262,184, - 184,184,184,184,70,262,30,24,78,70, - 72,106,66,106,110,102,262,262,1,8, - 22,184,308,102,10,185,19,102,102,53, - 19,262,19,297,308,262,27,80,27,80, - 30,10,102,297,297,106 + 250,180,180,276,180,180,180,180,276,24, + 299,287,299,299,246,250,289,276,276,180, + 250,180,276,116,158,261,246,250,299,246, + 246,246,289,287,27,19,276,180,180,27, + 70,102,4,276,31,261,242,246,246,246, + 264,34,8,180,180,180,180,180,180,162, + 14,261,242,276,276,276,212,19,276,180, + 180,180,180,180,70,276,31,24,78,70, + 72,102,66,102,106,246,276,276,1,8, + 22,180,261,246,10,181,19,246,246,53, + 19,276,19,250,261,276,50,80,50,80, + 31,10,246,250,250,102 }; }; public final static char scopeStateSet[] = ScopeStateSet.scopeStateSet; @@ -2251,70 +2295,70 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface ScopeRhs { public final static char scopeRhs[] = {0, - 313,2,39,0,126,0,312,2,115,0, - 126,172,0,127,179,74,0,215,0,288, - 127,63,126,0,21,0,290,127,63,44, - 0,21,55,0,34,131,0,21,55,0, - 0,290,127,63,44,187,0,21,177,0, - 288,127,63,130,0,181,128,0,137,0, - 225,2,287,0,287,0,2,0,126,0, + 315,2,39,0,126,0,314,2,115,0, + 126,174,0,127,179,74,0,217,0,289, + 127,66,126,0,21,0,291,127,66,55, + 0,21,55,0,34,133,0,21,55,0, + 0,291,127,66,55,187,0,21,131,0, + 289,127,66,130,0,181,128,0,139,0, + 225,2,288,0,288,0,2,0,126,0, 181,128,253,252,253,0,131,189,172,128, - 0,128,0,189,172,128,0,133,128,0, - 167,0,306,127,167,0,127,167,0,221, - 128,0,172,245,0,136,0,0,0,134, - 0,0,0,305,127,61,251,0,127,0, - 251,0,3,0,0,127,0,304,127,61, - 0,45,127,0,151,2,0,127,277,276, - 127,74,185,167,0,276,127,74,185,167, - 0,214,0,215,0,185,167,0,98,0, - 0,214,0,215,0,203,98,0,0,214, - 0,215,0,276,127,185,167,0,214,0, - 203,0,0,214,0,233,127,2,0,126, + 0,128,0,189,172,128,0,135,128,0, + 167,0,308,127,167,0,127,167,0,223, + 128,0,172,245,0,138,0,0,0,136, + 0,0,0,307,127,64,251,0,127,0, + 251,0,3,0,0,127,0,306,127,64, + 0,45,127,0,151,2,0,127,278,277, + 127,74,185,167,0,277,127,74,185,167, + 0,216,0,217,0,185,167,0,98,0, + 0,216,0,217,0,205,98,0,0,216, + 0,217,0,277,127,185,167,0,216,0, + 205,0,0,216,0,233,127,2,0,126, 0,0,0,0,0,233,127,2,222,0, - 231,2,0,226,127,0,207,0,147,0, - 172,128,0,11,0,0,0,220,60,0, + 230,2,0,226,127,0,209,0,149,0, + 172,128,0,11,0,0,0,220,63,0, 125,0,233,127,2,184,0,184,0,2, 0,0,126,0,0,0,0,0,213,2, - 0,200,0,232,127,61,24,41,0,181, - 128,59,58,0,142,128,0,131,181,128, - 274,58,0,181,128,274,58,0,181,128, - 69,1,59,0,232,127,61,59,0,232, - 127,61,165,59,0,232,127,61,124,59, - 0,272,127,61,1,64,0,272,127,61, - 64,0,181,128,64,0,134,0,189,181, - 128,245,0,136,0,181,128,245,0,189, - 172,128,10,0,172,128,10,0,95,136, - 0,300,127,167,0,161,84,0,230,162, - 230,171,2,81,0,126,171,0,230,171, - 2,81,0,128,0,126,171,0,230,162, - 230,162,230,2,81,0,230,162,230,2, - 81,0,230,2,81,0,128,0,128,0, - 126,171,0,161,2,75,203,80,0,126, - 128,0,203,80,0,110,2,130,126,128, - 0,240,2,75,0,213,173,0,34,169, - 0,173,0,175,34,169,0,240,2,85, - 0,203,156,240,2,83,0,64,171,0, - 240,2,83,0,126,171,64,171,0,299, - 127,61,0,161,0,220,77,0,31,0, - 161,112,159,0,31,169,0,178,2,0, - 126,149,0,225,2,0,220,60,298,0, - 161,60,0,178,2,293,42,128,0,126, - 0,0,293,42,128,0,2,146,126,0, - 0,178,2,30,0,14,147,0,125,44, - 172,128,0,32,14,147,0,95,136,32, - 14,147,0,212,181,128,0,147,32,14, - 147,0,178,2,34,0,161,2,34,0, - 161,2,67,178,63,26,0,178,63,26, - 0,21,2,130,126,0,161,2,67,178, - 63,29,0,178,63,29,0,161,2,67, - 178,63,31,0,178,63,31,0,161,2, - 67,178,63,27,0,178,63,27,0,225, - 2,125,189,172,128,10,0,125,189,172, - 128,10,0,136,2,0,126,0,225,2, - 124,258,172,128,10,0,258,172,128,10, - 0,134,2,0,126,0,225,2,135,0, - 225,2,140,0,161,60,140,0,260,0, - 32,0,32,140,0,170,0,133,0,161, + 0,202,0,232,127,64,24,40,0,181, + 128,62,61,0,144,128,0,131,181,128, + 275,61,0,181,128,275,61,0,181,128, + 69,1,62,0,232,127,64,62,0,232, + 127,64,165,62,0,232,127,64,124,62, + 0,273,127,64,1,58,0,273,127,64, + 58,0,181,128,58,0,136,0,189,181, + 128,245,0,138,0,181,128,245,0,189, + 172,128,8,0,172,128,8,0,95,138, + 0,302,127,167,0,161,84,0,229,162, + 229,171,2,81,0,126,173,0,229,171, + 2,81,0,128,0,126,173,0,229,162, + 229,162,229,2,81,0,229,162,229,2, + 81,0,229,2,81,0,128,0,128,0, + 126,173,0,161,2,75,203,80,0,126, + 128,0,203,80,0,110,2,132,126,128, + 0,240,2,75,0,213,173,0,34,171, + 0,173,0,177,34,171,0,240,2,85, + 0,203,156,240,2,83,0,64,173,0, + 240,2,83,0,126,173,64,173,0,301, + 127,64,0,161,0,220,77,0,31,0, + 161,112,159,0,31,171,0,178,2,0, + 126,151,0,225,2,0,220,63,300,0, + 161,63,0,178,2,295,42,128,0,126, + 0,0,295,42,128,0,2,148,126,0, + 0,178,2,30,0,14,149,0,125,55, + 172,128,0,32,14,149,0,95,138,32, + 14,149,0,212,181,128,0,149,32,14, + 149,0,178,2,34,0,161,2,34,0, + 161,2,67,178,66,26,0,178,66,26, + 0,21,2,132,126,0,161,2,67,178, + 66,29,0,178,66,29,0,161,2,67, + 178,66,31,0,178,66,31,0,161,2, + 67,178,66,27,0,178,66,27,0,225, + 2,125,189,172,128,8,0,125,189,172, + 128,8,0,138,2,0,126,0,225,2, + 124,258,172,128,8,0,258,172,128,8, + 0,136,2,0,126,0,225,2,135,0, + 225,2,140,0,161,63,140,0,261,0, + 32,0,32,142,0,170,0,135,0,161, 2,0 }; }; @@ -2323,37 +2367,37 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface ScopeState { public final static char scopeState[] = {0, - 2474,1039,0,1878,1194,970,0,856,0,4833, - 4771,4643,0,1709,2912,1541,2562,0,2092,1999, - 0,1193,0,3035,2652,0,3711,3454,0,3026, - 2707,0,4044,3978,3912,2621,1927,3846,3780,3714, - 3648,1246,3582,3155,3020,704,552,0,3576,3581, - 2779,0,3583,3070,4820,2908,3546,4769,2916,2730, - 557,2486,981,1033,0,1373,1331,1143,1022,2908, - 3546,2955,3706,2891,2903,2400,0,870,0,4815, - 4847,4007,4765,4755,4745,3941,3875,4695,3809,4685, - 4675,3184,4625,4615,2749,4593,4561,3569,2806,2994, - 0,524,3562,2304,0,3546,2433,981,654,2955, - 4571,4432,4368,2891,2400,4462,4480,4101,0,3790, - 3738,3160,2971,4815,2741,3724,2659,3658,4847,4007, - 2480,2785,4765,4755,4745,3941,2466,2235,1322,3875, - 2428,4695,3809,4685,4675,852,3184,4625,4615,3166, - 2749,4593,4561,647,2826,3569,3562,2806,2994,1053, - 2304,1189,718,566,771,2185,2955,4571,4432,2617, - 2318,3546,4368,2092,1999,2891,2433,2400,4462,981, - 4480,4101,654,2630,4402,4380,577,2202,2273,2240, - 2362,2331,909,2924,780,2585,2558,2531,2504,3522, - 3498,3474,3133,3108,4346,4324,4302,4280,4254,4231, - 4209,4187,4132,620,3077,2147,1881,2109,2054,1839, - 2016,1797,1961,1200,1147,1923,810,1755,1713,1671, - 1629,1587,1545,1503,1461,1419,1377,1335,524,1105, - 1280,1062,729,673,1242,939,866,1000,0,3262, - 3397,2814,2771,3354,2694,2651,3320,3277,3243,3200, - 2612,4044,3978,3912,3846,3780,3714,3648,3582,3155, - 3020,0,3715,4455,4044,3978,3912,3846,3780,3714, - 3648,3582,3155,3020,3397,2814,2771,3354,2694,2651, - 3320,3277,3243,3200,2612,0,3397,2814,2771,3354, - 2694,2651,3320,3277,3243,3200,2612,3715,4455,0 + 2054,1961,0,2338,2153,977,0,1247,0,4892, + 4604,3702,0,1725,2727,1035,1029,0,2017,1196, + 0,1291,0,1052,3508,0,3738,3930,2424,0, + 2694,2525,0,4025,3959,3893,2912,2437,3827,3761, + 3695,3629,850,3536,3209,3143,1193,557,0,2677, + 2626,0,3753,3245,3593,4885,2421,3957,3436,3273, + 562,3244,988,1040,0,1426,1318,1300,816,3593, + 3957,2980,2955,3507,2450,3085,0,1108,0,4863, + 3922,3856,4837,4829,3790,4812,4804,4778,3725,3238, + 4753,3172,2780,4745,4728,4692,4669,4659,4633,2837, + 0,3593,3149,988,660,2980,4589,4525,2955,4364, + 2450,4550,4568,4117,0,3917,3851,2430,3036,2327, + 3785,2251,4863,3719,3922,3856,2121,4837,4829,2737, + 1060,3790,4812,4804,4778,1338,3725,3988,1208,3238, + 4753,3172,862,3609,2416,2780,4745,4728,781,4692, + 4669,4659,777,4633,4082,2837,2320,2535,724,571, + 652,2108,2980,4589,4525,3593,2334,2201,2955,2017, + 1196,4364,2450,3149,4550,988,4568,4117,660,3515, + 4494,4472,582,2218,2289,2256,2378,2347,916,2922, + 786,2655,2628,2599,2559,3475,3451,2992,3121,2700, + 4450,4398,4376,4342,4320,4298,4266,4233,4211,625, + 4135,1897,2163,1855,2125,2070,1216,1154,1813,2032, + 1977,1112,817,1771,1729,1687,1645,1603,1561,1519, + 1477,1435,1393,1351,529,1939,1069,1296,735,1258, + 679,946,873,1007,0,529,4082,2320,0,3497, + 2845,2802,3374,2725,2682,3331,3297,3044,3254,2427, + 3047,3644,0,2788,3497,2845,2802,3374,2725,2682, + 3331,3297,3044,3254,2427,4025,3959,3893,3827,3761, + 3695,3629,3536,3209,3143,0,3047,3644,4025,3959, + 3893,3827,3761,3695,3629,3536,3209,3143,3497,2845, + 2802,3374,2725,2682,3331,3297,3044,3254,2427,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -2361,58 +2405,58 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface InSymb { public final static char inSymb[] = {0, - 0,292,41,44,187,167,127,62,59,58, - 229,24,63,44,185,127,184,4,126,6, - 130,1,128,3,2,266,267,251,268,245, - 269,64,270,271,1,10,128,2,61,165, - 1,124,59,274,127,61,67,63,74,127, - 300,213,201,184,127,301,2,63,173,60, - 2,40,42,63,181,170,1,124,172,6, - 213,61,172,236,128,125,124,1,61,128, - 128,181,172,24,127,61,69,61,128,128, - 127,127,127,276,70,2,69,60,226,128, - 5,68,127,127,127,60,60,127,3,189, - 127,125,124,127,181,127,61,127,181,172, - 44,156,232,229,127,128,127,181,181,232, - 290,44,10,57,145,276,61,286,128,287, - 151,127,61,34,26,29,31,27,10,135, - 2,128,30,25,4,9,8,5,7,12, - 11,140,146,148,147,150,149,153,152,157, - 155,158,39,159,220,159,128,172,127,233, - 234,235,288,173,133,291,226,288,260,189, - 305,128,182,252,58,167,307,127,127,70, - 189,127,272,247,273,189,232,181,232,166, - 1,131,68,67,63,236,236,69,231,213, - 222,223,2,127,277,127,68,181,2,265, - 127,2,63,63,63,63,128,2,178,161, - 127,40,42,172,2,125,124,101,114,2, - 60,88,94,9,8,90,89,5,92,91, - 67,63,86,87,7,96,95,98,97,99, - 111,110,109,108,107,106,105,104,103,102, - 69,112,100,172,5,180,156,68,127,2, - 68,3,172,127,309,253,128,272,69,68, - 166,127,69,69,69,69,2,231,127,226, - 127,299,79,77,1,161,85,83,81,80, - 75,82,84,78,76,167,59,74,45,225, - 68,304,178,161,178,178,178,178,172,225, - 156,135,10,128,60,293,2,178,44,128, - 44,225,161,147,147,146,146,146,149,149, - 149,149,148,148,152,150,150,155,153,157, - 161,158,127,127,226,127,189,306,124,70, - 282,213,68,252,181,290,127,233,278,115, - 220,70,2,2,2,203,2,1,161,1, - 179,68,67,67,67,67,189,258,128,172, - 211,2,294,173,151,128,181,172,70,227, - 131,68,70,69,253,67,233,156,2,240, - 173,240,171,230,75,240,127,2,2,2, - 2,125,124,172,44,178,127,127,4,212, - 44,127,128,57,156,127,93,312,173,156, - 213,156,230,162,2,156,278,161,161,161, - 161,2,2,189,156,295,298,60,190,3, - 125,39,181,236,127,227,156,156,127,69, - 203,162,230,161,225,225,125,2,60,161, - 4,3,2,69,227,127,120,230,162,156, - 225,220,4,313,127,156,230,68,156 + 0,293,61,65,127,167,187,55,40,62, + 294,62,275,2,267,268,251,269,245,270, + 58,271,272,126,1,8,128,185,127,184, + 4,6,130,1,128,3,2,55,66,24, + 64,165,1,124,128,128,24,64,172,236, + 128,170,125,1,124,1,64,128,66,128, + 181,172,124,74,127,302,213,201,184,127, + 303,2,173,63,2,41,42,66,181,172, + 6,213,66,67,127,64,127,64,69,64, + 181,181,156,127,125,124,127,181,3,127, + 64,127,181,127,172,55,127,277,70,2, + 69,63,226,128,5,68,127,127,63,63, + 127,189,127,127,232,231,127,128,127,166, + 1,131,307,128,182,252,61,167,309,127, + 127,70,189,261,189,127,273,247,274,289, + 173,34,26,29,31,27,8,135,133,2, + 128,30,25,4,10,9,5,7,23,22, + 140,146,148,147,150,149,153,152,157,155, + 158,39,159,292,189,277,64,287,128,288, + 151,127,64,220,159,128,172,127,233,234, + 145,235,226,289,291,55,8,57,232,232, + 181,232,172,127,311,253,128,3,273,69, + 68,127,2,223,222,2,66,66,66,66, + 128,2,178,161,127,41,42,172,2,125, + 124,101,114,2,63,88,94,10,9,90, + 89,5,92,91,67,66,86,87,7,96, + 95,98,97,99,111,110,109,108,107,106, + 105,104,103,102,69,112,100,68,278,127, + 68,181,2,266,127,172,5,180,156,69, + 230,213,2,127,68,68,67,66,236,236, + 166,189,308,124,70,283,213,68,252,181, + 226,230,127,2,178,161,178,178,178,178, + 172,225,156,135,8,128,63,295,2,178, + 55,128,55,225,161,147,147,146,146,146, + 149,149,149,149,148,148,152,150,150,155, + 153,157,161,158,127,301,79,77,1,161, + 85,83,81,80,75,82,84,78,76,167, + 62,74,44,225,68,306,127,127,69,69, + 127,226,127,69,69,131,68,70,69,253, + 233,127,67,67,67,67,189,258,128,172, + 211,2,296,173,151,128,181,172,70,279, + 115,220,70,2,2,2,203,2,1,161, + 1,179,68,227,291,128,156,233,2,2, + 2,2,125,124,172,55,178,127,127,4, + 212,55,2,240,173,240,171,229,75,240, + 127,127,67,181,127,156,161,161,161,161, + 2,2,189,156,297,300,63,190,3,125, + 93,314,173,156,213,156,229,162,2,156, + 279,39,57,227,127,225,225,125,2,63, + 161,4,3,156,156,127,69,203,162,229, + 161,2,236,127,227,225,220,4,120,229, + 162,156,315,69,127,156,229,68,156 }; }; public final static char inSymb[] = InSymb.inSymb; @@ -2549,7 +2593,9 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym ")", "}", ";", - "declaration_seq", + "external_declaration_list", + "external_declaration", + "declaration", "expression", "id_expression", "qualified_or_unqualified_name", @@ -2599,8 +2645,8 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym "condition", "declarator", "simple_declaration", - "declaration", "function_definition", + "declaration_seq", "declaration_specifiers", "simple_declaration_specifiers", "class_declaration_specifiers", @@ -2675,7 +2721,7 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public final String name(int index) { return name[index]; } public final static int - ERROR_SYMBOL = 45, + ERROR_SYMBOL = 44, SCOPE_UBOUND = 115, SCOPE_SIZE = 116, MAX_NAME_LENGTH = 37; @@ -2688,18 +2734,18 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public final static int NUM_STATES = 519, NT_OFFSET = 123, - LA_STATE_OFFSET = 5697, + LA_STATE_OFFSET = 5813, MAX_LA = 2147483647, - NUM_RULES = 523, - NUM_NONTERMINALS = 198, - NUM_SYMBOLS = 321, + NUM_RULES = 528, + NUM_NONTERMINALS = 200, + NUM_SYMBOLS = 323, SEGMENT_SIZE = 8192, - START_STATE = 2612, + START_STATE = 2427, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 119, EOLT_SYMBOL = 119, - ACCEPT_ACTION = 4952, - ERROR_ACTION = 5174; + ACCEPT_ACTION = 5063, + ERROR_ACTION = 5285; public final static boolean BACKTRACK = true; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParsersym.java index ebdb70a0060..f17922ac362 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParsersym.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParsersym.java @@ -15,68 +15,68 @@ package org.eclipse.cdt.internal.core.dom.lrparser.cpp; public interface CPPParsersym { public final static int - TK_asm = 62, - TK_auto = 49, - TK_bool = 13, + TK_asm = 65, + TK_auto = 48, + TK_bool = 11, TK_break = 76, TK_case = 77, TK_catch = 115, - TK_char = 14, + TK_char = 12, TK_class = 57, - TK_const = 47, + TK_const = 46, TK_const_cast = 26, TK_continue = 78, TK_default = 79, - TK_delete = 40, + TK_delete = 41, TK_do = 80, - TK_double = 15, + TK_double = 13, TK_dynamic_cast = 27, TK_else = 120, - TK_enum = 64, - TK_explicit = 50, + TK_enum = 58, + TK_explicit = 49, TK_export = 72, - TK_extern = 41, + TK_extern = 40, TK_false = 28, - TK_float = 16, + TK_float = 14, TK_for = 81, - TK_friend = 51, + TK_friend = 50, TK_goto = 82, TK_if = 83, - TK_inline = 52, - TK_int = 17, - TK_long = 18, - TK_mutable = 53, - TK_namespace = 59, + TK_inline = 51, + TK_int = 15, + TK_long = 16, + TK_mutable = 52, + TK_namespace = 62, TK_new = 42, TK_operator = 6, TK_private = 116, TK_protected = 117, TK_public = 118, - TK_register = 54, + TK_register = 53, TK_reinterpret_cast = 29, TK_return = 84, - TK_short = 19, - TK_signed = 20, + TK_short = 17, + TK_signed = 18, TK_sizeof = 30, - TK_static = 55, + TK_static = 54, TK_static_cast = 31, - TK_struct = 65, + TK_struct = 59, TK_switch = 85, - TK_template = 44, + TK_template = 55, TK_this = 32, TK_throw = 39, TK_try = 74, TK_true = 33, TK_typedef = 56, TK_typeid = 34, - TK_typename = 10, - TK_union = 66, - TK_unsigned = 21, - TK_using = 58, - TK_virtual = 46, - TK_void = 22, - TK_volatile = 48, - TK_wchar_t = 23, + TK_typename = 8, + TK_union = 60, + TK_unsigned = 19, + TK_using = 61, + TK_virtual = 45, + TK_void = 20, + TK_volatile = 47, + TK_wchar_t = 21, TK_while = 75, TK_integer = 35, TK_floating = 36, @@ -86,26 +86,26 @@ public interface CPPParsersym { TK_Completion = 121, TK_EndOfCompletion = 122, TK_Invalid = 123, - TK_LeftBracket = 60, + TK_LeftBracket = 63, TK_LeftParen = 2, - TK_LeftBrace = 61, + TK_LeftBrace = 64, TK_Dot = 114, TK_DotStar = 94, TK_Arrow = 101, TK_ArrowStar = 88, - TK_PlusPlus = 11, - TK_MinusMinus = 12, + TK_PlusPlus = 22, + TK_MinusMinus = 23, TK_And = 7, TK_Star = 5, - TK_Plus = 8, - TK_Minus = 9, + TK_Plus = 9, + TK_Minus = 10, TK_Tilde = 4, TK_Bang = 25, TK_Slash = 89, TK_Percent = 90, TK_RightShift = 86, TK_LeftShift = 87, - TK_LT = 63, + TK_LT = 66, TK_GT = 67, TK_LE = 91, TK_GE = 92, @@ -136,7 +136,7 @@ public interface CPPParsersym { TK_RightParen = 73, TK_RightBrace = 71, TK_SemiColon = 43, - TK_ERROR_TOKEN = 45, + TK_ERROR_TOKEN = 44, TK_EOF_TOKEN = 119; public final static String orderedTerminalSymbols[] = { @@ -148,11 +148,9 @@ public interface CPPParsersym { "Star", "operator", "And", + "typename", "Plus", "Minus", - "typename", - "PlusPlus", - "MinusMinus", "bool", "char", "double", @@ -164,6 +162,8 @@ public interface CPPParsersym { "unsigned", "void", "wchar_t", + "PlusPlus", + "MinusMinus", "stringlit", "Bang", "const_cast", @@ -180,11 +180,10 @@ public interface CPPParsersym { "charconst", "zero", "throw", - "delete", "extern", + "delete", "new", "SemiColon", - "template", "ERROR_TOKEN", "virtual", "const", @@ -196,17 +195,18 @@ public interface CPPParsersym { "mutable", "register", "static", + "template", "typedef", "class", + "enum", + "struct", + "union", "using", "namespace", "LeftBracket", "LeftBrace", "asm", "LT", - "enum", - "struct", - "union", "GT", "Comma", "Assign",