diff options
author | Mike Kucera | 2008-02-19 21:46:54 +0000 |
---|---|---|
committer | Mike Kucera | 2008-02-19 21:46:54 +0000 |
commit | 6c826b38420a8b645fa4aabecb80ac56f149c0ca (patch) | |
tree | fbdbbbd84e253d53d2eddda615a6e97cdc1d8544 /lrparser | |
parent | c3dba4bb6b862760420314e9e867a59bad8ab305 (diff) | |
download | org.eclipse.cdt-6c826b38420a8b645fa4aabecb80ac56f149c0ca.tar.gz org.eclipse.cdt-6c826b38420a8b645fa4aabecb80ac56f149c0ca.tar.xz org.eclipse.cdt-6c826b38420a8b645fa4aabecb80ac56f149c0ca.zip |
better error detection
Diffstat (limited to 'lrparser')
26 files changed, 10571 insertions, 10225 deletions
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. </fail> + <property name="c99_location" value="../src/org/eclipse/cdt/internal/core/dom/lrparser/c99"/> + <property name="cpp_location" value="../src/org/eclipse/cdt/internal/core/dom/lrparser/cpp"/> + + + <target name="clean_l_files"> + <delete> + <fileset dir="${c99_location}" includes="**/*.l"/> + <fileset dir="${cpp_location}" includes="**/*.l"/> + </delete> + </target> + <target name="both" depends="cpp, c99"> <description>Generates the C99 and C++ parsers</description> @@ -33,19 +44,19 @@ <target name="c99"> <description>Generate the C99 parser</description> <!-- Generate main parser --> - <antcall target="generate-c99"> + <antcall target="generate_c99"> <param name="grammar_name" value="C99Parser"/> </antcall> <!-- Generate parser for disambiguating declarations vs expression statements --> - <antcall target="generate-c99"> + <antcall target="generate_c99"> <param name="grammar_name" value="C99ExpressionStatementParser"/> </antcall> <!-- Generate parser for disambiguating cast expressions vs binary expressions--> - <antcall target="generate-c99"> + <antcall target="generate_c99"> <param name="grammar_name" value="C99NoCastExpressionParser"/> </antcall> <!-- Generate parser for disambiguating sizeof expressions --> - <antcall target="generate-c99"> + <antcall target="generate_c99"> <param name="grammar_name" value="C99SizeofExpressionParser"/> </antcall> </target> @@ -53,33 +64,33 @@ <target name="cpp"> <description>Generate the C++ parser</description> - <antcall target="generate-cpp"> + <antcall target="generate_cpp"> <param name="grammar_name" value="CPPParser"/> </antcall> <!-- Generate parser for disambiguating declarations vs expression statements --> - <antcall target="generate-cpp"> + <antcall target="generate_cpp"> <param name="grammar_name" value="CPPExpressionStatementParser"/> </antcall> <!-- Generate parser for disambiguating cast expressions vs binary expressions--> - <antcall target="generate-cpp"> + <antcall target="generate_cpp"> <param name="grammar_name" value="CPPNoCastExpressionParser"/> </antcall> </target> - <target name="generate-c99"> + <target name="generate_c99"> <antcall target="generate"> <param name="grammar_dir" value="c99"/> - <param name="output_dir" value="org/eclipse/cdt/internal/core/dom/lrparser/c99"/> + <param name="output_dir" value="${c99_location}"/> <param name="grammar_name" value="${grammar_name}"/> </antcall> </target> - <target name="generate-cpp"> + <target name="generate_cpp"> <antcall target="generate"> <param name="grammar_dir" value="cpp"/> - <param name="output_dir" value="org/eclipse/cdt/internal/core/dom/lrparser/cpp"/> + <param name="output_dir" value="${cpp_location}"/> <param name="grammar_name" value="${grammar_name}"/> </antcall> </target> @@ -97,7 +108,7 @@ <env key="LPG_TEMPLATE" path="${lpg_template}"/> </exec> - <move overwrite="true" toDir="../src/${output_dir}"> + <move overwrite="true" toDir="${output_dir}"> <fileset dir="."> <include name="${grammar_name}*.*"/> </fileset> 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<IToken> 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 { <openscope-ast> 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 { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 203: enum_specifier ::= enum { <openscope-ast> 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 { <openscope-ast> 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 ::= <openscope-ast> 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 ::= <openscope-ast> 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 ( <openscope-ast> 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 ( <openscope-ast> parameter_type_list ) // - case 228: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; + case 228: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; } // - // Rule 230: function_declarator ::= <openscope-ast> 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 ( <openscope-ast> identifier_list ) + // Rule 231: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator // - case 231: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; + case 231: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 233: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator + // Rule 232: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list ) // - case 233: { action. consumeDeclaratorWithPointer(true); break; + case 232: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; } // - // Rule 234: identifier_list ::= identifier + // Rule 234: knr_function_declarator ::= <openscope-ast> 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 ::= [ <openscope-ast> 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 ::= [ <openscope-ast> array_modifier_type_qualifiers ] // - case 238: { action. consumeDirectDeclaratorArrayModifier(true); break; + case 238: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break; } // - // Rule 239: array_modifier ::= [ <openscope-ast> 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 ::= [ <openscope-ast> 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 <openscope-ast> 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 ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ] + // Rule 242: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ] // case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; } // - // Rule 243: array_modifier ::= [ * ] + // Rule 243: array_modifier ::= [ <openscope-ast> 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 ::= [ <openscope-ast> 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 ::= [ <openscope-ast> 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 ::= * <openscope-ast> 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 * <openscope-ast> type_qualifier_list + // Rule 249: pointer_seq ::= * <openscope-ast> type_qualifier_list // case 249: { action. consumePointerTypeQualifierList(); break; } // - // Rule 252: parameter_type_list ::= parameter_list + // Rule 250: pointer_seq ::= pointer_seq * <openscope-ast> 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 ::= <openscope-ast> 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 ::= <openscope-ast> pointer_seq direct_abstract_declarator + // Rule 265: abstract_declarator ::= <openscope-ast> pointer_seq // case 265: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 269: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 266: abstract_declarator ::= <openscope-ast> 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 ::= ( <openscope-ast> parameter_type_list ) + // Rule 276: function_direct_abstract_declarator ::= ( <openscope-ast> 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 ( <openscope-ast> parameter_type_list ) + // Rule 277: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> 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 ::= { <openscope-ast> initializer_list comma_opt } + // Rule 279: initializer ::= { <openscope-ast> initializer_list comma_opt } // - case 278: { action. consumeInitializerList(); break; + case 279: { action. consumeInitializerList(); break; } // - // Rule 283: designated_initializer ::= <openscope-ast> designation = initializer + // Rule 284: designated_initializer ::= <openscope-ast> 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 + // Rule 292: translation_unit ::= external_declaration_list // - case 291: { action. consumeTranslationUnit(); break; + case 292: { action. consumeTranslationUnit(); break; } // - // Rule 292: translation_unit ::= $Empty + // Rule 293: translation_unit ::= $Empty // - case 292: { action. consumeTranslationUnit(); break; + 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 <openscope-ast> function_declarator function_body + // Rule 302: function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body // - case 301: { action. consumeFunctionDefinition(true); break; + case 302: { action. consumeFunctionDefinition(true); break; } // - // Rule 302: function_definition ::= <openscope-ast> function_declarator function_body + // Rule 303: function_definition ::= <openscope-ast> function_declarator function_body // - case 302: { action. consumeFunctionDefinition(false); break; + case 303: { action. consumeFunctionDefinition(false); break; } // - // Rule 303: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement + // Rule 304: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> 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 ::= { <openscope-ast> block_item_list } + // Rule 306: function_body ::= { <openscope-ast> 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,-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,-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,-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,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, + -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,-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,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,0,0,0,0,0,0,0, - 0,0,0,55,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 { <openscope-ast> 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 { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 202: enum_specifier ::= enum { <openscope-ast> 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 { <openscope-ast> 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 ::= <openscope-ast> 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 ::= <openscope-ast> 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 ( <openscope-ast> 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 ( <openscope-ast> parameter_type_list ) // - case 227: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; + case 227: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; } // - // Rule 229: function_declarator ::= <openscope-ast> 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 ( <openscope-ast> identifier_list ) + // Rule 230: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator // - case 230: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; + case 230: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 232: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator + // Rule 231: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list ) // - case 232: { action. consumeDeclaratorWithPointer(true); break; + case 231: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; } // - // Rule 233: identifier_list ::= identifier + // Rule 233: knr_function_declarator ::= <openscope-ast> 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 ::= [ <openscope-ast> 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 ::= [ <openscope-ast> array_modifier_type_qualifiers ] // - case 237: { action. consumeDirectDeclaratorArrayModifier(true); break; + case 237: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break; } // - // Rule 238: array_modifier ::= [ <openscope-ast> 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 ::= [ <openscope-ast> 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 <openscope-ast> 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 ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ] + // Rule 241: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ] // case 241: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; } // - // Rule 242: array_modifier ::= [ * ] + // Rule 242: array_modifier ::= [ <openscope-ast> 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 ::= [ <openscope-ast> 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 ::= [ <openscope-ast> 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 ::= * <openscope-ast> 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 * <openscope-ast> type_qualifier_list + // Rule 248: pointer_seq ::= * <openscope-ast> type_qualifier_list // case 248: { action. consumePointerTypeQualifierList(); break; } // - // Rule 251: parameter_type_list ::= parameter_list + // Rule 249: pointer_seq ::= pointer_seq * <openscope-ast> 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 ::= <openscope-ast> 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 ::= <openscope-ast> pointer_seq direct_abstract_declarator + // Rule 264: abstract_declarator ::= <openscope-ast> pointer_seq // case 264: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 268: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 265: abstract_declarator ::= <openscope-ast> 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 ::= ( <openscope-ast> parameter_type_list ) + // Rule 275: function_direct_abstract_declarator ::= ( <openscope-ast> 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 ( <openscope-ast> parameter_type_list ) + // Rule 276: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> 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 ::= { <openscope-ast> initializer_list comma_opt } + // Rule 278: initializer ::= { <openscope-ast> initializer_list comma_opt } // - case 277: { action. consumeInitializerList(); break; + case 278: { action. consumeInitializerList(); break; } // - // Rule 282: designated_initializer ::= <openscope-ast> designation = initializer + // Rule 283: designated_initializer ::= <openscope-ast> 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 + // Rule 291: translation_unit ::= external_declaration_list // - case 290: { action. consumeTranslationUnit(); break; + case 291: { action. consumeTranslationUnit(); break; } // - // Rule 291: translation_unit ::= $Empty + // Rule 292: translation_unit ::= $Empty // - case 291: { action. consumeTranslationUnit(); break; + 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 <openscope-ast> function_declarator function_body + // Rule 301: function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body // - case 300: { action. consumeFunctionDefinition(true); break; + case 301: { action. consumeFunctionDefinition(true); break; } // - // Rule 301: function_definition ::= <openscope-ast> function_declarator function_body + // Rule 302: function_definition ::= <openscope-ast> function_declarator function_body // - case 301: { action. consumeFunctionDefinition(false); break; + case 302: { action. consumeFunctionDefinition(false); break; } // - // Rule 302: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement + // Rule 303: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> 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 ::= { <openscope-ast> block_item_list } + // Rule 305: function_body ::= { <openscope-ast> 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, + 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,-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, + -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,0,0,0,-33, - -34,-29,-30,-3,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,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, 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,-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, - 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, + 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, - 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,-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,-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, + -27,0,0,0,0,0,0,0,0,-68, 0,0,0,0,0,0,0,0,0,0, - -145,0,0,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, - -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,-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,-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,-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,-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,-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,0,-204, - 0,0,-54,0,0,0,0,0,0,0, - 0,-160,0,0,0,0,0,0,0,-55, + 0,-168,0,0,0,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, + -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,-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,-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,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,-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, - -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,-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,-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,-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 + 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,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,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 { <openscope-ast> 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 { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 203: enum_specifier ::= enum { <openscope-ast> 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 { <openscope-ast> 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 ::= <openscope-ast> 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 ::= <openscope-ast> 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 ( <openscope-ast> 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 ( <openscope-ast> parameter_type_list ) // - case 228: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; + case 228: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; } // - // Rule 230: function_declarator ::= <openscope-ast> 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 ( <openscope-ast> identifier_list ) + // Rule 231: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator // - case 231: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; + case 231: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 233: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator + // Rule 232: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list ) // - case 233: { action. consumeDeclaratorWithPointer(true); break; + case 232: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; } // - // Rule 234: identifier_list ::= identifier + // Rule 234: knr_function_declarator ::= <openscope-ast> 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 ::= [ <openscope-ast> 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 ::= [ <openscope-ast> array_modifier_type_qualifiers ] // - case 238: { action. consumeDirectDeclaratorArrayModifier(true); break; + case 238: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break; } // - // Rule 239: array_modifier ::= [ <openscope-ast> 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 ::= [ <openscope-ast> 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 <openscope-ast> 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 ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ] + // Rule 242: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ] // case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; } // - // Rule 243: array_modifier ::= [ * ] + // Rule 243: array_modifier ::= [ <openscope-ast> 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 ::= [ <openscope-ast> 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 ::= [ <openscope-ast> 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 ::= * <openscope-ast> 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 * <openscope-ast> type_qualifier_list + // Rule 249: pointer_seq ::= * <openscope-ast> type_qualifier_list // case 249: { action. consumePointerTypeQualifierList(); break; } // - // Rule 252: parameter_type_list ::= parameter_list + // Rule 250: pointer_seq ::= pointer_seq * <openscope-ast> 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 ::= <openscope-ast> 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 ::= <openscope-ast> pointer_seq direct_abstract_declarator + // Rule 265: abstract_declarator ::= <openscope-ast> pointer_seq // case 265: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 269: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 266: abstract_declarator ::= <openscope-ast> 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 ::= ( <openscope-ast> parameter_type_list ) + // Rule 276: function_direct_abstract_declarator ::= ( <openscope-ast> 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 ( <openscope-ast> parameter_type_list ) + // Rule 277: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> 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 ::= { <openscope-ast> initializer_list comma_opt } + // Rule 279: initializer ::= { <openscope-ast> initializer_list comma_opt } // - case 278: { action. consumeInitializerList(); break; + case 279: { action. consumeInitializerList(); break; } // - // Rule 283: designated_initializer ::= <openscope-ast> designation = initializer + // Rule 284: designated_initializer ::= <openscope-ast> 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 + // Rule 292: translation_unit ::= external_declaration_list // - case 291: { action. consumeTranslationUnit(); break; + case 292: { action. consumeTranslationUnit(); break; } // - // Rule 292: translation_unit ::= $Empty + // Rule 293: translation_unit ::= $Empty // - case 292: { action. consumeTranslationUnit(); break; + 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 <openscope-ast> function_declarator function_body + // Rule 302: function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body // - case 301: { action. consumeFunctionDefinition(true); break; + case 302: { action. consumeFunctionDefinition(true); break; } // - // Rule 302: function_definition ::= <openscope-ast> function_declarator function_body + // Rule 303: function_definition ::= <openscope-ast> function_declarator function_body // - case 302: { action. consumeFunctionDefinition(false); break; + case 303: { action. consumeFunctionDefinition(false); break; } // - // Rule 303: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement + // Rule 304: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> 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 ::= { <openscope-ast> block_item_list } + // Rule 306: function_body ::= { <openscope-ast> 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, - 0,-271,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, - -32,-57,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, - -24,0,0,-262,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,0,-27,0,0,0,0,-187,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,0,-38,-74,0,-39,0,-188, + 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,0,-53,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,-25,0,0,-36,-177, - 0,0,0,0,0,0,0,0,0,-90, + 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,0,0,0,0,0,0,0,-41,-125, + 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,-64,-150, + 0,-143,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-31,-181, + -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, - -273,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, - -72,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, - -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,-71,-155,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,-73,-156,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,-84,-157,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,-85,-158,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,-93,-159,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,-104,-160,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,-105,-161,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,-106,-162,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,-107,-204,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,-108,-206,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,-210,-109,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,-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,-108,-206,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,-210,-109,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,-110,-185,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-211,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,0,0,0,0,0,0,-40,-250,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,0,0,-265,-61,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,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,-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, - -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, + -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, - -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, + -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, - -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, + -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,-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,-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, - -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,-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,-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,-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,-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,-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,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,-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,-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, + 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,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, + 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,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,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, + 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, - 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, + 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, - 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, + 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,0,0,2, - 58,61,5,6,58,0,0,73,0,1, - 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, + 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,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, + 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,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, - 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, + 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,1,1,2199,1,1,1,1,1,2291, + 1,1,1,1,1,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, + 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,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, + 2191,3797,1,2200,3771,1,405,72,253,977, 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,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,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,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, - 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,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,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,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, - 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, + 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, - 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 + 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 { <openscope-ast> 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 { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 202: enum_specifier ::= enum { <openscope-ast> 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 { <openscope-ast> 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 ::= <openscope-ast> 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 ::= <openscope-ast> 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 ( <openscope-ast> 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 ( <openscope-ast> parameter_type_list ) // - case 227: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; + case 227: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; } // - // Rule 229: function_declarator ::= <openscope-ast> 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 ( <openscope-ast> identifier_list ) + // Rule 230: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator // - case 230: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; + case 230: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 232: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator + // Rule 231: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list ) // - case 232: { action. consumeDeclaratorWithPointer(true); break; + case 231: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; } // - // Rule 233: identifier_list ::= identifier + // Rule 233: knr_function_declarator ::= <openscope-ast> 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 ::= [ <openscope-ast> 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 ::= [ <openscope-ast> array_modifier_type_qualifiers ] // - case 237: { action. consumeDirectDeclaratorArrayModifier(true); break; + case 237: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break; } // - // Rule 238: array_modifier ::= [ <openscope-ast> 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 ::= [ <openscope-ast> 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 <openscope-ast> 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 ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ] + // Rule 241: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ] // case 241: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; } // - // Rule 242: array_modifier ::= [ * ] + // Rule 242: array_modifier ::= [ <openscope-ast> 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 ::= [ <openscope-ast> 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 ::= [ <openscope-ast> 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 ::= * <openscope-ast> 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 * <openscope-ast> type_qualifier_list + // Rule 248: pointer_seq ::= * <openscope-ast> type_qualifier_list // case 248: { action. consumePointerTypeQualifierList(); break; } // - // Rule 251: parameter_type_list ::= parameter_list + // Rule 249: pointer_seq ::= pointer_seq * <openscope-ast> 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 ::= <openscope-ast> 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 ::= <openscope-ast> pointer_seq direct_abstract_declarator + // Rule 264: abstract_declarator ::= <openscope-ast> pointer_seq // case 264: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 268: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 265: abstract_declarator ::= <openscope-ast> 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 ::= ( <openscope-ast> parameter_type_list ) + // Rule 275: function_direct_abstract_declarator ::= ( <openscope-ast> 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 ( <openscope-ast> parameter_type_list ) + // Rule 276: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> 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 ::= { <openscope-ast> initializer_list comma_opt } + // Rule 278: initializer ::= { <openscope-ast> initializer_list comma_opt } // - case 277: { action. consumeInitializerList(); break; + case 278: { action. consumeInitializerList(); break; } // - // Rule 282: designated_initializer ::= <openscope-ast> designation = initializer + // Rule 283: designated_initializer ::= <openscope-ast> 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 + // Rule 291: translation_unit ::= external_declaration_list // - case 290: { action. consumeTranslationUnit(); break; + case 291: { action. consumeTranslationUnit(); break; } // - // Rule 291: translation_unit ::= $Empty + // Rule 292: translation_unit ::= $Empty // - case 291: { action. consumeTranslationUnit(); break; + 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 <openscope-ast> function_declarator function_body + // Rule 301: function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body // - case 300: { action. consumeFunctionDefinition(true); break; + case 301: { action. consumeFunctionDefinition(true); break; } // - // Rule 301: function_definition ::= <openscope-ast> function_declarator function_body + // Rule 302: function_definition ::= <openscope-ast> function_declarator function_body // - case 301: { action. consumeFunctionDefinition(false); break; + case 302: { action. consumeFunctionDefinition(false); break; } // - // Rule 302: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement + // Rule 303: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> 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 ::= { <openscope-ast> block_item_list } + // Rule 305: function_body ::= { <openscope-ast> 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, + 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,-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, + -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,0,0,0,-29, - -30,-33,-34,-3,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,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, 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, + 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,-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,-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,-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,-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,-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, + -27,0,0,0,0,0,0,0,0,-85, 0,0,0,0,0,0,0,0,0,0, - -145,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, - -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,-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,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,-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,-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,-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, - 0,0,-54,0,0,0,0,0,0,0, - 0,-160,0,0,0,0,0,0,0,-55, + -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,-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,-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,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,-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,-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,-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, - -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,-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,-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,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,-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,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,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 }; }; 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 + // Rule 36: template_opt ::= template // - case 32: { action.builder. + case 36: { action.builder. consumePlaceHolder(); break; } // - // Rule 33: template_opt ::= $Empty + // Rule 37: template_opt ::= $Empty // - case 33: { action.builder. + case 37: { action.builder. consumeEmpty(); break; } // - // Rule 34: dcolon_opt ::= :: + // Rule 38: dcolon_opt ::= :: // - case 34: { action.builder. + case 38: { action.builder. consumePlaceHolder(); break; } // - // Rule 35: dcolon_opt ::= $Empty + // Rule 39: dcolon_opt ::= $Empty // - case 35: { action.builder. + case 39: { action.builder. consumeEmpty(); break; } // - // Rule 36: qualified_id_name ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name + // Rule 40: qualified_id_name ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name // - case 36: { action.builder. + case 40: { action.builder. consumeQualifiedId(true); break; } // - // Rule 37: qualified_id_name ::= :: identifier_name + // Rule 41: qualified_id_name ::= :: identifier_name // - case 37: { action.builder. + case 41: { action.builder. consumeGlobalQualifiedId(); break; } // - // Rule 38: qualified_id_name ::= :: operator_function_id_name + // Rule 42: qualified_id_name ::= :: operator_function_id_name // - case 38: { action.builder. + case 42: { action.builder. consumeGlobalQualifiedId(); break; } // - // Rule 39: qualified_id_name ::= :: template_id_name + // Rule 43: qualified_id_name ::= :: template_id_name // - case 39: { action.builder. + case 43: { action.builder. consumeGlobalQualifiedId(); break; } // - // Rule 40: nested_name_specifier ::= class_or_namespace_name :: nested_name_specifier_with_template + // Rule 44: nested_name_specifier ::= class_or_namespace_name :: nested_name_specifier_with_template // - case 40: { action.builder. + case 44: { action.builder. consumeNestedNameSpecifier(true); break; } // - // Rule 41: nested_name_specifier ::= class_or_namespace_name :: + // Rule 45: nested_name_specifier ::= class_or_namespace_name :: // - case 41: { action.builder. + case 45: { action.builder. consumeNestedNameSpecifier(false); break; } // - // Rule 42: nested_name_specifier_with_template ::= class_or_namespace_name_with_template :: nested_name_specifier_with_template + // Rule 46: nested_name_specifier_with_template ::= class_or_namespace_name_with_template :: nested_name_specifier_with_template // - case 42: { action.builder. + case 46: { action.builder. consumeNestedNameSpecifier(true); break; } // - // Rule 43: nested_name_specifier_with_template ::= class_or_namespace_name_with_template :: + // Rule 47: nested_name_specifier_with_template ::= class_or_namespace_name_with_template :: // - case 43: { action.builder. + case 47: { action.builder. consumeNestedNameSpecifier(false); break; } // - // Rule 44: class_or_namespace_name_with_template ::= template_opt class_or_namespace_name + // Rule 48: class_or_namespace_name_with_template ::= template_opt class_or_namespace_name // - case 44: { action.builder. + 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 <empty> identifier_name ( expression_list_opt ) + // Rule 57: postfix_expression ::= typename dcolon_opt nested_name_specifier <empty> identifier_name ( expression_list_opt ) // - case 53: { action.builder. + case 57: { action.builder. consumeExpressionTypeName(); break; } // - // Rule 54: postfix_expression ::= typename dcolon_opt nested_name_specifier template_opt template_id_name ( expression_list_opt ) + // Rule 58: postfix_expression ::= typename dcolon_opt nested_name_specifier template_opt template_id_name ( expression_list_opt ) // - case 54: { action.builder. + case 58: { action.builder. consumeExpressionTypeName(); break; } // - // Rule 55: postfix_expression ::= postfix_expression . qualified_or_unqualified_name + // Rule 59: postfix_expression ::= postfix_expression . qualified_or_unqualified_name // - case 55: { action.builder. + case 59: { action.builder. consumeExpressionFieldReference(false, false); break; } // - // Rule 56: postfix_expression ::= postfix_expression -> qualified_or_unqualified_name + // Rule 60: postfix_expression ::= postfix_expression -> qualified_or_unqualified_name // - case 56: { action.builder. + case 60: { action.builder. consumeExpressionFieldReference(true, false); break; } // - // Rule 57: postfix_expression ::= postfix_expression . template qualified_or_unqualified_name + // Rule 61: postfix_expression ::= postfix_expression . template qualified_or_unqualified_name // - case 57: { action.builder. + case 61: { action.builder. consumeExpressionFieldReference(false, true); break; } // - // Rule 58: postfix_expression ::= postfix_expression -> template qualified_or_unqualified_name + // Rule 62: postfix_expression ::= postfix_expression -> template qualified_or_unqualified_name // - case 58: { action.builder. + case 62: { action.builder. consumeExpressionFieldReference(true, true); break; } // - // Rule 59: postfix_expression ::= postfix_expression . pseudo_destructor_name + // Rule 63: postfix_expression ::= postfix_expression . pseudo_destructor_name // - case 59: { action.builder. + case 63: { action.builder. consumeExpressionFieldReference(false, false); break; } // - // Rule 60: postfix_expression ::= postfix_expression -> pseudo_destructor_name + // Rule 64: postfix_expression ::= postfix_expression -> pseudo_destructor_name // - case 60: { action.builder. + case 64: { action.builder. consumeExpressionFieldReference(true, false); break; } // - // Rule 61: postfix_expression ::= postfix_expression ++ + // Rule 65: postfix_expression ::= postfix_expression ++ // - case 61: { action.builder. + 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 <openscope-ast> new_array_expressions_opt new_initializer_opt + // Rule 89: new_expression ::= dcolon_opt new new_placement_opt new_type_id <openscope-ast> 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 ::= <openscope-ast> new_pointer_operators + // Rule 96: new_declarator ::= <openscope-ast> 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 ::= <openscope-ast> expression_list_actual + // Rule 160: expression_list ::= <openscope-ast> 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 ::= { <openscope-ast> statement_seq } + // Rule 184: compound_statement ::= { <openscope-ast> 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 <openscope-ast> init_declarator_list_opt ; + // Rule 219: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ; // - case 215: { action.builder. + case 219: { action.builder. consumeDeclarationSimple(true); break; } // - // Rule 216: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers + // Rule 220: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers // - case 216: { action.builder. + case 220: { action.builder. consumeDeclarationSpecifiersSimple(); break; } // - // Rule 217: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers + // Rule 221: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers // - case 217: { action.builder. + case 221: { action.builder. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 218: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers + // Rule 222: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers // - case 218: { action.builder. + case 222: { action.builder. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 219: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers + // Rule 223: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers // - case 219: { action.builder. + case 223: { action.builder. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 220: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers + // Rule 224: declaration_specifiers ::= <openscope-ast> 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 { <openscope-ast> enumerator_list_opt } + // Rule 283: enum_specifier ::= enum { <openscope-ast> enumerator_list_opt } // - case 279: { action.builder. + case 283: { action.builder. consumeTypeSpecifierEnumeration(false); break; } // - // Rule 280: enum_specifier ::= enum identifier { <openscope-ast> enumerator_list_opt } + // Rule 284: enum_specifier ::= enum identifier { <openscope-ast> 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 { <openscope-ast> declaration_seq_opt } + // Rule 299: original_namespace_definition ::= namespace identifier_name { <openscope-ast> declaration_seq_opt } // - case 295: { action.builder. + case 299: { action.builder. consumeNamespaceDefinition(true); break; } // - // Rule 296: extension_namespace_definition ::= namespace original_namespace_name { <openscope-ast> declaration_seq_opt } + // Rule 300: extension_namespace_definition ::= namespace original_namespace_name { <openscope-ast> declaration_seq_opt } // - case 296: { action.builder. + case 300: { action.builder. consumeNamespaceDefinition(true); break; } // - // Rule 297: unnamed_namespace_definition ::= namespace { <openscope-ast> declaration_seq_opt } + // Rule 301: unnamed_namespace_definition ::= namespace { <openscope-ast> 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 { <openscope-ast> declaration_seq_opt } + // Rule 309: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt } // - case 305: { action.builder. + case 309: { action.builder. consumeLinkageSpecification(); break; } // - // Rule 306: linkage_specification ::= extern stringlit <openscope-ast> declaration + // Rule 310: linkage_specification ::= extern stringlit <openscope-ast> 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 ::= <openscope-ast> ptr_operator_seq direct_declarator + // Rule 318: declarator ::= <openscope-ast> 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 ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 324: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> 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 ::= * <openscope-ast> cv_qualifier_seq_opt + // Rule 329: ptr_operator ::= * <openscope-ast> 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 * <openscope-ast> cv_qualifier_seq_opt + // Rule 331: ptr_operator ::= dcolon_opt nested_name_specifier * <openscope-ast> 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 ::= <openscope-ast> ptr_operator_seq + // Rule 345: abstract_declarator ::= <openscope-ast> ptr_operator_seq // - case 341: { action.builder. + case 345: { action.builder. consumeDeclaratorWithPointer(false); break; } // - // Rule 342: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator + // Rule 346: abstract_declarator ::= <openscope-ast> 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 ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 354: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 350: { action.builder. + case 354: { action.builder. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 351: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 355: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> 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 <openscope-ast> ctor_initializer_list_opt function_body + // Rule 373: function_definition ::= declaration_specifiers_opt function_direct_declarator <openscope-ast> 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 <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq + // Rule 374: function_definition ::= declaration_specifiers_opt function_direct_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> 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 ::= { <openscope-ast> initializer_list , } + // Rule 379: initializer_clause ::= { <openscope-ast> initializer_list , } // - case 375: { action.builder. + case 379: { action.builder. consumeInitializerList(); break; } // - // Rule 376: initializer_clause ::= { <openscope-ast> initializer_list } + // Rule 380: initializer_clause ::= { <openscope-ast> initializer_list } // - case 376: { action.builder. + case 380: { action.builder. consumeInitializerList(); break; } // - // Rule 377: initializer_clause ::= { <openscope-ast> } + // Rule 381: initializer_clause ::= { <openscope-ast> } // - case 377: { action.builder. + case 381: { action.builder. consumeInitializerList(); break; } // - // Rule 382: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt } + // Rule 386: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt } // - case 382: { action.builder. + case 386: { action.builder. consumeClassSpecifier(); break; } // - // Rule 383: class_head ::= class_keyword identifier_name_opt <openscope-ast> base_clause_opt + // Rule 387: class_head ::= class_keyword identifier_name_opt <openscope-ast> base_clause_opt // - case 383: { action.builder. + case 387: { action.builder. consumeClassHead(false); break; } // - // Rule 384: class_head ::= class_keyword template_id_name <openscope-ast> base_clause_opt + // Rule 388: class_head ::= class_keyword template_id_name <openscope-ast> 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 <openscope-ast> base_clause_opt + // Rule 389: class_head ::= class_keyword nested_name_specifier identifier_name <openscope-ast> 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 <openscope-ast> base_clause_opt + // Rule 390: class_head ::= class_keyword nested_name_specifier template_id_name <openscope-ast> base_clause_opt // - case 386: { action.builder. + case 390: { action.builder. consumeClassHead(true); break; } // - // Rule 390: identifier_name_opt ::= $Empty + // Rule 394: identifier_name_opt ::= $Empty // - case 390: { action.builder. + 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 <openscope-ast> member_declarator_list ; + // Rule 399: member_declaration ::= declaration_specifiers_opt <openscope-ast> 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 ::= <openscope-ast> ptr_operator_seq + // Rule 437: conversion_declarator ::= <openscope-ast> 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 < <openscope-ast> template_argument_list_opt > + // Rule 447: operator_function_id_name ::= operator_id_name < <openscope-ast> 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 < <openscope-ast> template_parameter_list > declaration + // Rule 491: template_declaration ::= export_opt template < <openscope-ast> 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 < <openscope-ast> template_parameter_list > class identifier_name_opt + // Rule 502: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt // - case 497: { action.builder. + case 502: { action.builder. consumeTemplatedTypeTemplateParameter(false); break; } // - // Rule 498: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression + // Rule 503: type_parameter ::= template < <openscope-ast> 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 < <openscope-ast> template_argument_list_opt > + // Rule 504: template_id_name ::= template_identifier < <openscope-ast> 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 <openscope-ast> handler_seq + // Rule 515: try_block ::= try compound_statement <openscope-ast> 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 <openscope-ast> declarator + // Rule 520: exception_declaration ::= type_specifier_seq <openscope-ast> declarator // - case 515: { action.builder. + case 520: { action.builder. consumeDeclarationSimple(true); break; } // - // Rule 516: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator + // Rule 521: exception_declaration ::= type_specifier_seq <openscope-ast> 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, + 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, + 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,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,1,1,1,1,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, - 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,0,0,0,0,0,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,2,1, + -63,0,0,0,-2,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,-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,-23,0,0,0,-55,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,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,-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,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,-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,-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,-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,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,-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, - -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,-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,-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,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,-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,0,0,0,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,-30,0,0,0,0,-183,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,-278,0,0,0,0,0, 0,0,0,0,0,0,0,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,-31,0,0,0,0,-118,0,0, - 0,0,0,0,0,0,-313,0,0,0, + 0,0,0,0,-131,0,0,0,0,-491, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-247, + -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, - 0,0,0,0,0,-246,0,0,-152,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,-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,-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,-33,0,0,-471,0,0,0,-281,0, + 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,-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,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,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,-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,-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,-36,0,-141,0,0,0,0, - 0,-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,-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,-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,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,-235,0,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,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, + -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,-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,-349,0,-347,0,0,0,0, - -68,-69,0,0,-102,0,0,0,-71,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,-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,-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, - 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, + -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,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,-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,-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, - 0,0,0,0,0,0,-18,0,0,0, - -167,0,0,0,-360,-116,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,-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, + -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,-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,-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,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,-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, - -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,-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,-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, + 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,-182,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,-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,-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,0,0,0,0,0,0,0,0,0, - 0,-107,0,0,-211,0,-95,0,0,0, + 0,-216,0,0,0,0,-201,0,0,-212, + 0,0,0,0,0,0,-18,0,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,-197,0,0,0,0,0, - 0,-93,0,0,0,-198,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,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,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,-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,-91,0,0,0,-279, 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, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-91,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,0,0,0,0,0,0,0, - 0,0,-92,0,0,0,-274,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,-362,0,0,0,0, - -85,0,0,0,-275,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,-269,0,0,0,-86,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,-87,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,-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,0,0,0,0,0,0,-86,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,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,-322,0,0,0,-87,0,0,0,-327, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-254,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, - -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,-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, - 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, + -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,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,-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,0,0,0,-80,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,-450,0,0,0,-15,0,0, 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, + -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,0,-82,0,0,0,-312,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,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,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,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,-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, + 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,-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,-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, - -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,0,0,0,0,0,0,0,0,-82, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-426,0,-126,-219,0,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,0,0,0,-142,0,0,0,-83,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-463, 0,0,0,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,-484,0,-467,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,-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,-490,0,0,0,0,0, - 0,-508,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,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, + -447,0,0,0,0,0,0,0,-507,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-517,0,0,0, + 0,-233,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,-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,0,0,-420,0,-48,-219,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-520,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,0,0,-205,0,0,0,0,0,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, + 0,-376,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,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,-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,-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,0,-22,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,0,0,0,0,0,0,-24,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,-25,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,0,0,0,0,0,-26,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,-27, 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,-28,0,0,0,0,0,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,-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, - -64,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,-77,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,0,0,0,-78,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,-127,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,-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,-302,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,-151,0,0,0,0,0, + -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,-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,-21,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,-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,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,-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,-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, + 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,-208,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,-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,-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,0,0, - 0,-438,0,0,-19,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,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,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,0,0,0,-506,-514, - -489,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,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,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, + 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,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,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, + 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,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,45,43,44,0,1,2,3, - 4,5,6,7,8,9,10,11,12,13, + 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, - 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, + 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,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, + 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,0,1,2, + 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, - 0,44,0,1,2,3,4,5,6,7, + 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,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, + 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,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, + 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,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, + 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,0,1,2,3,4,5,6,7,8, + 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, - 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, + 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,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, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,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,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 }; }; 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, - 1,1,1,1,1,1,1,1,1,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,1,1,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,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, + 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,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,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,5125,3282,5140, 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,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,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,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,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,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,5125,3282,136,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,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, - 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,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,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,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,1, - 1,1,1,1,1,1,1,5149,3282,5140, 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, + 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,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,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,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,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,1,5111,5276, 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, + 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,1,1, - 1,1,1,1,1,1,5140,5295,5140,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,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,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,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,1,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,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,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,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,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,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,863,162,5295,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,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,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,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,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,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,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,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,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,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,1,41,5028,5295,5140,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,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, + 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,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,2267,5117,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,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,1 |