From c98379b752d12fd1d97f106322300b478a9cc042 Mon Sep 17 00:00:00 2001 From: Mike Kucera Date: Thu, 24 Jan 2008 21:39:11 +0000 Subject: [PATCH] added actions for class member declarators --- .../lrparser/action/BuildASTParserAction.java | 26 + .../dom/lrparser/action/IASTNodeFactory.java | 4 + .../action/c99/C99BuildASTParserAction.java | 27 - .../action/c99/IC99ASTNodeFactory.java | 2 - .../action/cpp/CPPASTNodeFactory.java | 6 + .../action/cpp/CPPBuildASTParserAction.java | 45 + .../core/dom/lrparser/c99/C99Parser.g | 4 +- .../core/dom/lrparser/c99/C99Parser.java | 4 +- .../core/dom/lrparser/cpp/CPPParser.g | 53 +- .../core/dom/lrparser/cpp/CPPParser.java | 179 +- .../core/dom/lrparser/cpp/CPPParserprs.java | 3673 ++++++++--------- .../core/dom/lrparser/cpp/CPPParsersym.java | 26 +- 12 files changed, 2074 insertions(+), 1975 deletions(-) diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/BuildASTParserAction.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/BuildASTParserAction.java index d6e7d15b6b9..e0efebdcff4 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/BuildASTParserAction.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/BuildASTParserAction.java @@ -35,6 +35,7 @@ import org.eclipse.cdt.core.dom.ast.IASTEnumerationSpecifier; import org.eclipse.cdt.core.dom.ast.IASTExpression; import org.eclipse.cdt.core.dom.ast.IASTExpressionList; import org.eclipse.cdt.core.dom.ast.IASTExpressionStatement; +import org.eclipse.cdt.core.dom.ast.IASTFieldDeclarator; import org.eclipse.cdt.core.dom.ast.IASTForStatement; import org.eclipse.cdt.core.dom.ast.IASTFunctionCallExpression; import org.eclipse.cdt.core.dom.ast.IASTFunctionDeclarator; @@ -1130,6 +1131,31 @@ public abstract class BuildASTParserAction { + /** + * struct_declarator + * ::= ':' constant_expression + * | declarator ':' constant_expression + */ + public void consumeBitField(boolean hasDeclarator) { + if(TRACE_ACTIONS) DebugUtil.printMethodTrace(); + + IASTExpression expr = (IASTExpression)astStack.pop(); + + IASTName name; + if(hasDeclarator) // it should have been parsed into a regular declarator + name = ((IASTDeclarator) astStack.pop()).getName(); + else + name = nodeFactory.newName(); + + IASTFieldDeclarator fieldDecl = nodeFactory.newFieldDeclarator(name, expr); + setOffsetAndLength(fieldDecl); + astStack.push(fieldDecl); + + if(TRACE_AST_STACK) System.out.println(astStack); + } + + + /** * statement ::= ERROR_TOKEN diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/IASTNodeFactory.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/IASTNodeFactory.java index 9042d745d14..276749f52f2 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/IASTNodeFactory.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/IASTNodeFactory.java @@ -32,6 +32,7 @@ import org.eclipse.cdt.core.dom.ast.IASTEnumerationSpecifier; import org.eclipse.cdt.core.dom.ast.IASTExpression; import org.eclipse.cdt.core.dom.ast.IASTExpressionList; import org.eclipse.cdt.core.dom.ast.IASTExpressionStatement; +import org.eclipse.cdt.core.dom.ast.IASTFieldDeclarator; import org.eclipse.cdt.core.dom.ast.IASTForStatement; import org.eclipse.cdt.core.dom.ast.IASTFunctionCallExpression; import org.eclipse.cdt.core.dom.ast.IASTFunctionDeclarator; @@ -168,4 +169,7 @@ public interface IASTNodeFactory { public IASTArrayDeclarator newArrayDeclarator(IASTName name); public IASTParameterDeclaration newParameterDeclaration(IASTDeclSpecifier declSpec, IASTDeclarator declarator); + + public IASTFieldDeclarator newFieldDeclarator(IASTName name, IASTExpression bitFieldSize); + } 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 d09bdcf7a3a..d7786b9037f 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 @@ -38,8 +38,6 @@ import java.util.List; import lpg.lpgjavaruntime.IToken; -import org.eclipse.cdt.core.dom.ast.IASTArrayDeclarator; -import org.eclipse.cdt.core.dom.ast.IASTArrayModifier; import org.eclipse.cdt.core.dom.ast.IASTCompoundStatement; import org.eclipse.cdt.core.dom.ast.IASTDeclSpecifier; import org.eclipse.cdt.core.dom.ast.IASTDeclaration; @@ -48,7 +46,6 @@ import org.eclipse.cdt.core.dom.ast.IASTDeclarator; import org.eclipse.cdt.core.dom.ast.IASTElaboratedTypeSpecifier; import org.eclipse.cdt.core.dom.ast.IASTExpression; import org.eclipse.cdt.core.dom.ast.IASTExpressionStatement; -import org.eclipse.cdt.core.dom.ast.IASTFieldDeclarator; import org.eclipse.cdt.core.dom.ast.IASTFieldReference; import org.eclipse.cdt.core.dom.ast.IASTFunctionDeclarator; import org.eclipse.cdt.core.dom.ast.IASTFunctionDefinition; @@ -577,30 +574,6 @@ public class C99BuildASTParserAction extends BuildASTParserAction { } - /** - * struct_declarator - * ::= ':' constant_expression - * | declarator ':' constant_expression - */ - public void consumeStructBitField(boolean hasDeclarator) { - if(TRACE_ACTIONS) DebugUtil.printMethodTrace(); - - IASTExpression expr = (IASTExpression)astStack.pop(); - - IASTName name; - if(hasDeclarator) // it should have been parsed into a regular declarator - name = ((IASTDeclarator) astStack.pop()).getName(); - else - name = nodeFactory.newName(); - - IASTFieldDeclarator fieldDecl = nodeFactory.newFieldDeclarator(name, expr); - setOffsetAndLength(fieldDecl); - astStack.push(fieldDecl); - - if(TRACE_AST_STACK) System.out.println(astStack); - } - - /** * struct_or_union_specifier * ::= 'struct' '{' struct_declaration_list_opt '}' diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/c99/IC99ASTNodeFactory.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/c99/IC99ASTNodeFactory.java index 83a46368a2e..c777b86f170 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/c99/IC99ASTNodeFactory.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/c99/IC99ASTNodeFactory.java @@ -60,8 +60,6 @@ public interface IC99ASTNodeFactory extends IASTNodeFactory { public ICASTTypedefNameSpecifier newCTypedefNameSpecifier(); - public IASTFieldDeclarator newFieldDeclarator(IASTName name, IASTExpression bitFieldSize); - public ICASTCompositeTypeSpecifier newCCompositeTypeSpecifier(int key, IASTName name); diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPASTNodeFactory.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPASTNodeFactory.java index 7b680805aee..01ed33e21d4 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPASTNodeFactory.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPASTNodeFactory.java @@ -32,6 +32,7 @@ import org.eclipse.cdt.core.dom.ast.IASTEnumerationSpecifier; import org.eclipse.cdt.core.dom.ast.IASTExpression; import org.eclipse.cdt.core.dom.ast.IASTExpressionList; import org.eclipse.cdt.core.dom.ast.IASTExpressionStatement; +import org.eclipse.cdt.core.dom.ast.IASTFieldDeclarator; import org.eclipse.cdt.core.dom.ast.IASTFieldReference; import org.eclipse.cdt.core.dom.ast.IASTForStatement; import org.eclipse.cdt.core.dom.ast.IASTFunctionCallExpression; @@ -121,6 +122,7 @@ import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTEnumerator; import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTExplicitTemplateInstantiation; import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTExpressionList; import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTExpressionStatement; +import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTFieldDeclarator; import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTFieldReference; import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTForStatement; import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTFunctionCallExpression; @@ -515,4 +517,8 @@ public class CPPASTNodeFactory implements ICPPASTNodeFactory { return new CPPASTFunctionTryBlockDeclarator(name); } + public IASTFieldDeclarator newFieldDeclarator(IASTName name, IASTExpression bitFieldSize) { + return new CPPASTFieldDeclarator(name, bitFieldSize); + } + } diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPBuildASTParserAction.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPBuildASTParserAction.java index cf9c60d2edd..768af265484 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPBuildASTParserAction.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPBuildASTParserAction.java @@ -34,6 +34,7 @@ import org.eclipse.cdt.core.dom.ast.IASTFunctionDefinition; import org.eclipse.cdt.core.dom.ast.IASTIfStatement; import org.eclipse.cdt.core.dom.ast.IASTInitializer; import org.eclipse.cdt.core.dom.ast.IASTInitializerExpression; +import org.eclipse.cdt.core.dom.ast.IASTLiteralExpression; import org.eclipse.cdt.core.dom.ast.IASTName; import org.eclipse.cdt.core.dom.ast.IASTParameterDeclaration; import org.eclipse.cdt.core.dom.ast.IASTPointer; @@ -1385,6 +1386,50 @@ public class CPPBuildASTParserAction extends BuildASTParserAction { if(TRACE_AST_STACK) System.out.println(astStack); } + + + /** + * member_declaration + * ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ';' + */ + public void consumeMemberDeclarationQualifiedId() { + if(TRACE_ACTIONS) DebugUtil.printMethodTrace(); + + IASTName qualifiedId = subRuleQualifiedName(true); + IASTDeclarator declarator = nodeFactory.newDeclarator(qualifiedId); + setOffsetAndLength(declarator); + IASTSimpleDeclaration declaration = nodeFactory.newSimpleDeclaration(null); // no decl spec + setOffsetAndLength(declaration); + declaration.addDeclarator(declarator); + astStack.push(declaration); + + if(TRACE_AST_STACK) System.out.println(astStack); + } + + + /** + * member_declarator + * ::= declarator constant_initializer + */ + + public void consumeMemberDeclaratorWithInitializer() { + if(TRACE_ACTIONS) DebugUtil.printMethodTrace(); + + IASTInitializerExpression initializer = (IASTInitializerExpression) astStack.pop(); + IASTDeclarator declarator = (IASTDeclarator) astStack.peek(); + setOffsetAndLength(declarator); + + if(declarator instanceof ICPPASTFunctionDeclarator) { + IASTExpression expr = initializer.getExpression(); + if(expr instanceof IASTLiteralExpression && "0".equals(expr.toString())) { //$NON-NLS-1$ + ((ICPPASTFunctionDeclarator)declarator).setPureVirtual(true); + return; + } + } + + declarator.setInitializer(initializer); + } + } diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parser.g b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parser.g index 6f07f6b89f0..9b6f53fd904 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parser.g +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parser.g @@ -830,9 +830,9 @@ complete_struct_declarator struct_declarator ::= declarator | ':' constant_expression - /. $Build consumeStructBitField(false); $EndBuild ./ + /. $Build consumeBitField(false); $EndBuild ./ | declarator ':' constant_expression - /. $Build consumeStructBitField(true); $EndBuild ./ + /. $Build consumeBitField(true); $EndBuild ./ enum_specifier 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 f1a88177e3e..21fd9657b16 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 @@ -1601,7 +1601,7 @@ public int getKind(int i) { static final class Action204 extends DeclaredAction< C99ParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, C99ParserAction action) { action.builder. - consumeStructBitField(false); /* action.builder.getASTStack().print();*/ + consumeBitField(false); /* action.builder.getASTStack().print();*/ } } @@ -1611,7 +1611,7 @@ public int getKind(int i) { static final class Action205 extends DeclaredAction< C99ParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, C99ParserAction action) { action.builder. - consumeStructBitField(true); /* action.builder.getASTStack().print();*/ + consumeBitField(true); /* action.builder.getASTStack().print();*/ } } diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParser.g b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParser.g index b1e5509bbf6..248a4dadb1c 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParser.g +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParser.g @@ -53,7 +53,7 @@ $Terminals integer floating charconst stringlit - zero -- this is a special token used to disambiguate the the grammar rule for pure virtual functions + -- zero -- this is a special token used to disambiguate the the grammar rule for pure virtual functions -- TODO is this really necessary? because it adds overhead in getKind() -- identifiers @@ -230,9 +230,14 @@ $Headers public int getKind(int i) { int kind = super.getKind(i); - if(kind == CPPParsersym.TK_integer && "0".equals(getTokenText(i))) { //$NON-NLS-1$ - kind = CPPParsersym.TK_zero; - } + + // There used to be a special token kind for zero used to parser pure virtual function declarations. + // But it turned out to be easier to just parse them as an init_declarator and programaticaly check + // for pure virtual, see consumeMemberDeclaratorWithInitializer(). + + //if(kind == CPPParsersym.TK_integer && "0".equals(getTokenText(i))) { //$NON-NLS-1$ + // kind = CPPParsersym.TK_zero; + //} // lexer feedback hack! //else if(kind == C99Parsersym.TK_identifier && action.resolver.isTypedef(getTokenText(i))) { @@ -865,7 +870,7 @@ declaration_statement declaration ::= block_declaration - | function_definition + | function_definition -- done | template_declaration -- done | explicit_instantiation -- done | explicit_specialization -- done @@ -874,7 +879,7 @@ declaration block_declaration - ::= simple_declaration + ::= simple_declaration -- done | asm_definition -- done | namespace_alias_definition -- done | using_declaration -- done @@ -1377,9 +1382,9 @@ parameter_initializer function_definition ::= declaration_specifiers_opt function_direct_declarator ctor_initializer_list_opt function_body - + /. $Build consumeFunctionDefinition(false); $EndBuild ./ | declaration_specifiers_opt function_direct_declarator 'try' ctor_initializer_list_opt function_body handler_seq - + /. $Build consumeFunctionDefinition(true); $EndBuild ./ function_body @@ -1459,14 +1464,19 @@ visibility_label member_declaration - ::= declaration_specifiers_opt member_declarator_list ';' + ::= declaration_specifiers_opt member_declarator_list ';' + /. $Build consumeDeclarationSimple(true); $EndBuild ./ | declaration_specifiers_opt ';' - | function_definition ';' - | function_definition + /. $Build consumeDeclarationSimple(false); $EndBuild ./ + | function_definition ';' -- done + | function_definition -- done | dcolon_opt nested_name_specifier template_opt unqualified_id_name ';' - | using_declaration + /. $Build consumeMemberDeclarationQualifiedId(); $EndBuild ./ + | using_declaration -- done | template_declaration - | visibility_label + | visibility_label -- done + + member_declaration_list @@ -1486,13 +1496,22 @@ member_declarator_list member_declarator ::= declarator - | declarator pure_specifier + -- | declarator pure_specifier -- parse this as a constant initializer | declarator constant_initializer - | identifier_opt ':' constant_expression + /. $Build consumeMemberDeclaratorWithInitializer(); $EndBuild ./ + | bit_field_declarator ':' constant_expression + /. $Build consumeBitField(true); $EndBuild ./ + | ':' constant_expression + /. $Build consumeBitField(false); $EndBuild ./ -pure_specifier - ::= '=' '0' +bit_field_declarator + ::= identifier_name + /. $Build consumeDirectDeclaratorIdentifier(); $EndBuild ./ + + +--pure_specifier -- this leads to ambiguities +-- ::= '=' '0' constant_initializer diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParser.java index a827d191062..270f26ebef5 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParser.java @@ -175,9 +175,14 @@ public IASTCompletionNode parse(IASTTranslationUnit tu) { public int getKind(int i) { int kind = super.getKind(i); - if(kind == CPPParsersym.TK_integer && "0".equals(getTokenText(i))) { //$NON-NLS-1$ - kind = CPPParsersym.TK_zero; - } + + // There used to be a special token kind for zero used to parser pure virtual function declarations. + // But it turned out to be easier to just parse them as an init_declarator and programaticaly check + // for pure virtual, see consumeMemberDeclaratorWithInitializer(). + + //if(kind == CPPParsersym.TK_integer && "0".equals(getTokenText(i))) { //$NON-NLS-1$ + // kind = CPPParsersym.TK_zero; + //} // lexer feedback hack! //else if(kind == C99Parsersym.TK_identifier && action.resolver.isTypedef(getTokenText(i))) { @@ -200,7 +205,7 @@ public int getKind(int i) { // Initialize ruleAction array. // static { - RULE_ACTIONS = new Action[525 + 1]; + RULE_ACTIONS = new Action[523 + 1]; RULE_ACTIONS[0] = null; RULE_ACTIONS[1] = new Action1(); @@ -404,6 +409,8 @@ public int getKind(int i) { RULE_ACTIONS[367] = new Action367(); RULE_ACTIONS[368] = new Action368(); RULE_ACTIONS[369] = new Action369(); + RULE_ACTIONS[370] = new Action370(); + RULE_ACTIONS[371] = new Action371(); RULE_ACTIONS[374] = new Action374(); RULE_ACTIONS[375] = new Action375(); RULE_ACTIONS[376] = new Action376(); @@ -416,24 +423,28 @@ public int getKind(int i) { RULE_ACTIONS[387] = new Action387(); RULE_ACTIONS[391] = new Action391(); RULE_ACTIONS[395] = new Action395(); + RULE_ACTIONS[396] = new Action396(); + RULE_ACTIONS[397] = new Action397(); + RULE_ACTIONS[400] = new Action400(); + RULE_ACTIONS[411] = new Action411(); + RULE_ACTIONS[419] = new Action419(); + RULE_ACTIONS[420] = new Action420(); RULE_ACTIONS[421] = new Action421(); RULE_ACTIONS[422] = new Action422(); - RULE_ACTIONS[423] = new Action423(); - RULE_ACTIONS[424] = new Action424(); - RULE_ACTIONS[430] = new Action430(); - RULE_ACTIONS[440] = new Action440(); - RULE_ACTIONS[441] = new Action441(); - RULE_ACTIONS[444] = new Action444(); - RULE_ACTIONS[445] = new Action445(); + RULE_ACTIONS[428] = new Action428(); + RULE_ACTIONS[438] = new Action438(); + RULE_ACTIONS[439] = new Action439(); + RULE_ACTIONS[442] = new Action442(); + RULE_ACTIONS[443] = new Action443(); + RULE_ACTIONS[486] = new Action486(); + RULE_ACTIONS[487] = new Action487(); RULE_ACTIONS[488] = new Action488(); - RULE_ACTIONS[489] = new Action489(); - RULE_ACTIONS[490] = new Action490(); - RULE_ACTIONS[501] = new Action501(); + RULE_ACTIONS[499] = new Action499(); + RULE_ACTIONS[508] = new Action508(); + RULE_ACTIONS[509] = new Action509(); RULE_ACTIONS[510] = new Action510(); - RULE_ACTIONS[511] = new Action511(); - RULE_ACTIONS[512] = new Action512(); - RULE_ACTIONS[515] = new Action515(); - RULE_ACTIONS[516] = new Action516(); + RULE_ACTIONS[513] = new Action513(); + RULE_ACTIONS[514] = new Action514(); // @@ -2456,6 +2467,26 @@ public int getKind(int i) { } } + // + // Rule 370: function_definition ::= declaration_specifiers_opt function_direct_declarator ctor_initializer_list_opt function_body + // + static final class Action370 extends DeclaredAction< CPPParserAction , Object > { + + public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. + consumeFunctionDefinition(false); + } + } + + // + // Rule 371: function_definition ::= declaration_specifiers_opt function_direct_declarator try ctor_initializer_list_opt function_body handler_seq + // + static final class Action371 extends DeclaredAction< CPPParserAction , Object > { + + public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. + consumeFunctionDefinition(true); + } + } + // // Rule 374: initializer ::= ( expression_list ) // @@ -2577,9 +2608,49 @@ public int getKind(int i) { } // - // Rule 421: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name + // Rule 396: member_declaration ::= declaration_specifiers_opt member_declarator_list ; // - static final class Action421 extends DeclaredAction< CPPParserAction , Object > { + static final class Action396 extends DeclaredAction< CPPParserAction , Object > { + + public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. + consumeDeclarationSimple(true); + } + } + + // + // Rule 397: member_declaration ::= declaration_specifiers_opt ; + // + static final class Action397 extends DeclaredAction< CPPParserAction , Object > { + + public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. + consumeDeclarationSimple(false); + } + } + + // + // Rule 400: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ; + // + static final class Action400 extends DeclaredAction< CPPParserAction , Object > { + + public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. + consumeMemberDeclarationQualifiedId(); + } + } + + // + // Rule 411: member_declarator ::= declarator constant_initializer + // + static final class Action411 extends DeclaredAction< CPPParserAction , Object > { + + public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. + consumeMemberDeclaratorWithInitializer(); + } + } + + // + // Rule 419: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name + // + static final class Action419 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeBaseSpecifier(false); @@ -2587,9 +2658,9 @@ public int getKind(int i) { } // - // Rule 422: base_specifier ::= virtual_opt access_specifier_keyword virtual_opt dcolon_opt nested_name_specifier_opt class_name + // Rule 420: base_specifier ::= virtual_opt access_specifier_keyword virtual_opt dcolon_opt nested_name_specifier_opt class_name // - static final class Action422 extends DeclaredAction< CPPParserAction , Object > { + static final class Action420 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeBaseSpecifier(true); @@ -2597,9 +2668,9 @@ public int getKind(int i) { } // - // Rule 423: virtual_opt ::= virtual + // Rule 421: virtual_opt ::= virtual // - static final class Action423 extends DeclaredAction< CPPParserAction , Object > { + static final class Action421 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumePlaceHolder(); @@ -2607,9 +2678,9 @@ public int getKind(int i) { } // - // Rule 424: virtual_opt ::= $Empty + // Rule 422: virtual_opt ::= $Empty // - static final class Action424 extends DeclaredAction< CPPParserAction , Object > { + static final class Action422 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeEmpty(); @@ -2617,9 +2688,9 @@ public int getKind(int i) { } // - // Rule 430: conversion_function_id_name ::= operator conversion_type_id + // Rule 428: conversion_function_id_name ::= operator conversion_type_id // - static final class Action430 extends DeclaredAction< CPPParserAction , Object > { + static final class Action428 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeConversionName(); @@ -2627,9 +2698,9 @@ public int getKind(int i) { } // - // Rule 440: mem_initializer ::= mem_initializer_name ( expression_list_opt ) + // Rule 438: mem_initializer ::= mem_initializer_name ( expression_list_opt ) // - static final class Action440 extends DeclaredAction< CPPParserAction , Object > { + static final class Action438 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeConstructorChainInitializer(); @@ -2637,9 +2708,9 @@ public int getKind(int i) { } // - // Rule 441: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name + // Rule 439: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name // - static final class Action441 extends DeclaredAction< CPPParserAction , Object > { + static final class Action439 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeQualifiedId(false); @@ -2647,9 +2718,9 @@ public int getKind(int i) { } // - // Rule 444: operator_function_id_name ::= operator_id_name < template_argument_list_opt > + // Rule 442: operator_function_id_name ::= operator_id_name < template_argument_list_opt > // - static final class Action444 extends DeclaredAction< CPPParserAction , Object > { + static final class Action442 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeTemplateId(); @@ -2657,9 +2728,9 @@ public int getKind(int i) { } // - // Rule 445: operator_id_name ::= operator overloadable_operator + // Rule 443: operator_id_name ::= operator overloadable_operator // - static final class Action445 extends DeclaredAction< CPPParserAction , Object > { + static final class Action443 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeOperatorName(); @@ -2667,9 +2738,9 @@ public int getKind(int i) { } // - // Rule 488: template_declaration ::= export_opt template < template_parameter_list > declaration + // Rule 486: template_declaration ::= export_opt template < template_parameter_list > declaration // - static final class Action488 extends DeclaredAction< CPPParserAction , Object > { + static final class Action486 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeTemplateDeclaration(); @@ -2677,9 +2748,9 @@ public int getKind(int i) { } // - // Rule 489: export_opt ::= export + // Rule 487: export_opt ::= export // - static final class Action489 extends DeclaredAction< CPPParserAction , Object > { + static final class Action487 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumePlaceHolder(); @@ -2687,9 +2758,9 @@ public int getKind(int i) { } // - // Rule 490: export_opt ::= $Empty + // Rule 488: export_opt ::= $Empty // - static final class Action490 extends DeclaredAction< CPPParserAction , Object > { + static final class Action488 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeEmpty(); @@ -2697,9 +2768,9 @@ public int getKind(int i) { } // - // Rule 501: template_id_name ::= template_identifier < template_argument_list_opt > + // Rule 499: template_id_name ::= template_identifier < template_argument_list_opt > // - static final class Action501 extends DeclaredAction< CPPParserAction , Object > { + static final class Action499 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeTemplateId(); @@ -2707,9 +2778,9 @@ public int getKind(int i) { } // - // Rule 510: explicit_instantiation ::= template declaration + // Rule 508: explicit_instantiation ::= template declaration // - static final class Action510 extends DeclaredAction< CPPParserAction , Object > { + static final class Action508 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeTemplateExplicitInstantiation(); @@ -2717,9 +2788,9 @@ public int getKind(int i) { } // - // Rule 511: explicit_specialization ::= template < > declaration + // Rule 509: explicit_specialization ::= template < > declaration // - static final class Action511 extends DeclaredAction< CPPParserAction , Object > { + static final class Action509 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeTemplateExplicitSpecialization(); @@ -2727,9 +2798,9 @@ public int getKind(int i) { } // - // Rule 512: try_block ::= try compound_statement handler_seq + // Rule 510: try_block ::= try compound_statement handler_seq // - static final class Action512 extends DeclaredAction< CPPParserAction , Object > { + static final class Action510 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeStatementTryBlock(); @@ -2737,9 +2808,9 @@ public int getKind(int i) { } // - // Rule 515: handler ::= catch ( exception_declaration ) compound_statement + // Rule 513: handler ::= catch ( exception_declaration ) compound_statement // - static final class Action515 extends DeclaredAction< CPPParserAction , Object > { + static final class Action513 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeStatementCatchHandler(false); @@ -2747,9 +2818,9 @@ public int getKind(int i) { } // - // Rule 516: handler ::= catch ( ... ) compound_statement + // Rule 514: handler ::= catch ( ... ) compound_statement // - static final class Action516 extends DeclaredAction< CPPParserAction , Object > { + static final class Action514 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeStatementCatchHandler(true); diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParserprs.java index f43c6e5c64e..37a0e5d8db5 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParserprs.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParserprs.java @@ -76,452 +76,446 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym 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,3,2,2,1,5, + 0,1,1,1,2,4,2,2,1,5, 1,1,1,1,2,1,0,1,3,1, - 2,2,3,2,2,2,1,0,1,3, - 3,6,1,0,1,1,1,1,0,2, - 2,2,1,0,2,1,0,1,3,4, - 3,1,1,5,2,1,1,3,3,1, + 2,3,2,2,1,0,1,3,3,6, + 1,0,1,1,1,1,0,2,2,2, + 1,0,2,1,0,1,3,4,3,1, + 1,5,2,1,1,3,3,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,2,2,6,1,0, - 1,3,1,1,2,4,2,4,6,8, - 5,1,1,3,1,0,1,1,1,2, - 4,4,1,2,5,5,2,2,1,4, - 3,1,0,1,3,-247,0,0,0,-2, + 1,1,1,2,2,6,1,0,1,3, + 1,1,2,4,2,4,6,8,5,1, + 1,3,1,0,1,1,1,2,4,4, + 1,2,5,5,2,2,1,4,3,1, + 0,1,3,-247,0,0,0,-2,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-3,0,0,0, - 0,0,-10,0,0,0,-5,0,0,0, - 0,0,-118,0,0,0,-113,0,0,0, - -8,-32,0,0,0,0,0,-289,0,0, + 0,0,0,0,-53,0,0,0,0,0, + -12,0,0,0,0,0,0,0,0,0, + -122,0,0,0,-113,0,0,0,-3,-10, + 0,0,0,0,-339,-289,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-13,0, - 0,0,0,0,-12,0,-131,0,0,0, - 0,0,-14,0,-17,0,0,0,0,0, - -165,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-69,0,0,0,0,0,0,0,0, - 0,-93,0,-6,0,0,0,0,0,0, - 0,0,0,0,0,-97,0,0,0,0, - 0,0,0,-107,0,0,0,0,0,0, + 0,0,0,0,0,0,-328,0,0,0, + 0,0,-15,0,-131,0,0,0,0,0, + -5,0,-8,0,0,0,0,0,-165,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -15,0,0,0,0,0,0,0,0,0, - -315,-59,0,0,-9,0,0,0,0,0, - 0,-50,0,-72,0,0,0,0,-111,0, + 0,0,0,0,0,0,0,0,0,-306, + 0,0,-6,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-107,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-39,0, + -117,0,0,0,0,0,0,0,0,-69, + 0,0,0,0,0,-132,0,0,0,0, + 0,0,0,0,0,0,-111,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-304,0,0, - 0,0,0,0,0,-122,0,0,0,-24, - 0,0,0,-53,0,0,0,0,-101,0, + 0,0,0,-46,0,-13,0,0,0,0, + 0,0,0,-407,0,0,0,-24,0,0, + 0,0,0,0,0,0,-101,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-19, - 0,0,0,0,0,0,0,0,0,-21, - 0,0,0,0,0,-99,-4,-22,0,0, - 0,-353,0,0,0,0,0,0,0,0, - 0,0,0,-18,0,0,0,0,0,-98, - 0,0,0,-124,0,0,0,-254,0,0, + 0,0,0,0,0,0,0,-52,0,0, + 0,0,0,0,0,-14,0,-112,0,0, + 0,0,0,0,0,-260,0,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,-55,0,0,0,0,0,-210,0, + -72,0,0,0,-51,-254,0,0,0,-249, + 0,0,0,0,0,0,0,-17,0,-349, 0,0,0,0,0,0,0,0,0,0, - 0,0,-215,0,0,0,0,-297,0,0, + 0,-32,0,-119,0,0,0,0,-255,0, + 0,0,0,0,0,0,0,0,0,0, + -19,0,-9,0,0,-297,0,0,0,0, 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,-28,0,0,0, - 0,0,0,0,-39,0,0,0,0,-234, - 0,0,0,0,0,-310,0,-237,0,0, + 0,0,-49,0,-21,0,0,0,0,0, + 0,0,-22,0,0,0,-36,-18,0,0, + 0,0,0,0,0,-237,0,0,0,0, 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,0,-60,0,0,0, - 0,0,0,0,0,0,0,0,-355,0, - 0,0,-306,0,0,0,0,0,0,0, - -35,0,0,0,-164,0,0,0,0,0, + 0,0,0,0,-54,0,0,0,0,0, + 0,0,0,-383,0,0,0,0,-276,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,-404,0,0,0,0, + 0,0,0,0,0,0,0,-109,0,0, + 0,0,0,-401,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-38,0,0,0, - 0,0,-46,0,-146,0,0,0,0,0, - 0,0,-49,0,0,0,0,0,0,-255, + 0,0,0,0,-311,0,0,0,0,0, + -147,0,0,0,0,0,0,0,0,0, + -294,-428,0,0,0,0,-204,-351,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-51,-100,0,0,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, - 0,-41,0,-42,0,0,0,0,0,0, - 0,0,0,-204,-139,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-109,0,0,0,0, - 0,0,0,0,0,-61,0,0,0,0, - 0,-110,-54,0,0,-152,0,0,0,-56, + -28,0,0,-100,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-57,0,-343,0,0,0,0,0, - 0,0,-185,-94,0,0,0,0,0,-62, - -36,-225,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-58,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-226,0,0,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, - 0,-63,0,0,0,0,0,0,0,0, - -68,0,0,-454,0,0,0,-386,0,0, - 0,0,0,0,0,-437,0,-183,0,0, + -57,-35,0,0,0,-451,0,-43,-139,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-416,0,0,0,0,0, - 0,0,0,0,-70,-66,0,0,-277,0, + 0,0,0,0,0,0,0,-38,0,0, + 0,0,0,0,0,-257,-40,0,0,0, + -44,-152,0,0,0,0,0,0,0,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,0,0,-83, - 0,0,0,0,0,-151,-76,0,0,-278, - 0,0,0,-77,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-391,0, - 0,0,0,0,0,0,0,-82,0,0, - -279,0,0,0,-467,0,0,0,0,0, + -41,0,0,0,0,0,0,0,-61,0, + 0,0,-225,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-91,0,0,0,0,0,-71,0,0, - 0,0,0,0,0,0,0,-410,0,0, - 0,-280,0,0,0,-92,0,0,0,0, + 0,0,0,-42,0,0,0,0,0,0, + 0,-56,0,-189,0,0,0,0,0,0, + 0,0,0,0,-226,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-137,0,0,0,0,0,-73,0, - -138,0,0,0,0,0,0,0,0,-140, - 0,0,-281,0,0,0,-141,0,0,0, + 0,0,0,0,0,-62,0,0,0,0, + 0,-58,0,-381,0,0,0,0,0,0, + 0,-125,-302,0,0,-453,0,0,0,0, + 0,0,0,0,0,0,0,-436,-183,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-75, - 0,-148,0,0,0,0,0,0,0,0, - -150,0,0,-282,0,0,0,-154,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-155,0,0,0,0,0, - -78,0,-156,0,0,0,0,0,0,0, - -157,-158,0,0,-283,0,0,0,-160,0, + 0,0,0,0,0,-64,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-87, + -277,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-172,0,0,0,0, - 0,-85,0,-173,0,0,0,0,0,0, - 0,-174,-175,0,0,-284,0,0,0,-176, + 0,-68,0,0,0,0,0,-413,0,0, + 0,0,0,0,0,0,0,-70,-250,0, + 0,-278,0,0,0,-388,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-290,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-466,-299, + 0,0,-279,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-71, + 0,0,0,0,0,0,0,0,0,0, + -409,0,0,-280,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -73,0,-63,0,0,0,0,0,0,0, + 0,-417,0,0,-281,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,-75,0,0,0,0,0,0,0,0, + 0,0,-67,0,0,-282,0,0,0,-76, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-78,0,-77,0,0,0,0,0, + 0,0,-83,-82,0,0,-283,0,0,0, + -91,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-92,0,0, + 0,0,0,0,0,-137,0,-151,0,0, + 0,0,0,-138,-140,0,0,-284,0,0, + 0,-141,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-85,0,-148,0,0,0, + 0,0,0,0,-150,-154,0,0,-285,0, + 0,0,-155,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-156, + 0,0,0,0,0,-86,0,-157,0,0, + 0,0,0,0,0,-158,-160,0,0,-286, + 0,0,0,-172,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -173,0,0,0,0,0,-104,0,-174,0, + 0,0,0,0,0,0,-175,-176,0,0, + -287,0,0,0,-177,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-178,0,0,0,0,0,-115,0,-179, + 0,0,0,0,0,0,0,-180,-181,0, + 0,-331,0,0,0,-182,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-184,0,0,0,0,0,-116,0, + -186,0,0,0,0,0,0,0,-188,-191, + 0,0,-418,0,0,0,-126,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-192,0,0,0,0,0,-120, + 0,-193,0,0,0,0,0,0,0,-195, + -93,0,0,-487,0,0,0,-133,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-142,0,0,0,0,0, + 0,0,-143,0,-190,0,0,0,0,0, + -196,-94,0,0,-305,0,0,0,-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,-197,0,-212,0,0,0,0, + 0,-314,0,0,0,-198,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-422,0, + 0,0,-203,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-213,0,0, + 0,0,0,0,0,-423,0,0,0,-216, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-207,0,0,0, + 0,0,0,0,-214,0,-474,0,0,0, + 0,0,-496,0,0,0,-217,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-177,0,0,0, - 0,0,-86,0,-178,0,0,0,0,0, - 0,0,-179,-180,0,0,-285,0,0,0, - -181,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-182,0,0, - 0,0,0,-104,0,-184,0,0,0,0, - 0,0,0,-186,-188,0,0,-286,0,0, - 0,-191,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-192,0, - 0,0,0,0,-115,0,-193,0,0,0, - 0,0,0,0,-195,-196,0,0,-287,0, - 0,0,-197,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-198, - 0,0,0,0,0,-116,0,-203,0,0, - 0,0,0,0,0,-213,-214,0,0,-335, 0,0,0,-220,0,0,0,0,0,0, + 0,-222,0,0,0,0,0,0,0,-274, + 0,0,0,-236,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -222,0,0,0,0,0,-120,0,-236,0, - 0,0,0,0,0,0,-190,-252,0,0, - -421,0,0,0,-253,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-302,0,0,0,0,0,0,0,-303, - 0,-142,0,0,0,0,0,-305,-312,0, - 0,-488,0,0,0,-317,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-126,0,0,0,0,0,-143,0, - -319,0,-228,0,0,0,0,0,-123,0, - 0,0,-309,0,0,0,-250,0,0,0, + -252,0,0,0,0,0,0,0,-253,0, + 0,0,-7,0,0,0,-301,0,-443,0, + -377,0,0,0,0,0,0,0,0,0, + -98,0,-308,-233,0,0,-446,-50,0,0, + 0,0,-124,0,0,0,-159,-275,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-321,0,-322,0,0,0,0,0,-318, + 0,0,0,0,0,0,0,0,-313,-262, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -323,0,0,0,0,0,-383,0,0,0, - -290,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-325,0,0, - 0,0,0,0,0,-249,0,-326,0,0, - 0,0,0,-384,0,0,0,-299,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-331,0,0,0,0,0, - 0,0,0,0,-333,0,0,0,0,0, - -497,0,0,0,-339,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-340,0,0,0,0,0,0,0,0, - 0,-412,0,0,0,0,0,-276,0,0, - 0,-341,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-342,0, - 0,0,0,0,0,0,-96,0,-133,0, - 0,-43,-274,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-153, - 0,0,0,0,0,-7,0,0,0,-409, - 0,0,0,-132,0,0,0,0,0,0, - 0,0,0,-475,-117,0,-119,-27,0,0, - -275,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-346,0,0,0,0,0,-358,0,-388, - 0,0,-271,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,-445, - 0,0,0,0,-359,0,0,0,0,0, + 0,0,0,0,0,0,0,-164,0,0, + 0,-315,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-317,0, + 0,0,0,0,-318,-65,0,0,0,0, -95,0,0,0,0,0,0,0,0,0, - 0,0,-30,0,0,0,-360,0,0,0, - 0,0,0,0,0,0,0,0,-199,0, - 0,0,0,-387,0,0,0,0,0,0, - 0,0,-80,0,0,0,-332,0,0,0, - 0,0,0,0,0,-327,0,0,0,0, - 0,0,0,0,0,0,0,0,-189,0, - 0,0,0,-200,0,-361,0,0,0,0, - 0,-106,0,0,0,0,0,-194,0,0, - 0,0,0,0,-362,-29,0,0,0,0, - -208,0,0,-272,0,0,0,0,0,0, + 0,0,0,-110,0,0,0,0,0,0, + -271,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-319,0,0,0,0,0,-185,0,0, + -202,-96,0,0,0,0,0,0,0,-228, + 0,0,0,-106,-345,-432,-235,0,0,0, + 0,0,-81,0,0,0,0,0,0,-210, + -321,0,0,0,0,0,0,-194,0,0, + 0,0,0,0,-118,0,0,0,0,0, + 0,0,0,-272,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-146,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,-1,-48,-108, - -125,0,0,-363,0,0,-381,0,0,0, - 0,0,0,0,0,0,0,-44,0,0, - 0,-245,0,0,0,0,0,0,0,0, - -212,0,0,0,0,0,-112,-84,0,-364, - 0,0,0,-451,0,0,0,0,0,0, - 0,-365,0,0,0,0,0,0,0,-351, - -447,-246,0,0,0,0,0,0,0,0, - 0,0,0,-114,-349,-202,-366,0,0,-134, - 0,-20,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-294, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-87,-367,0,-90,0,0, - 0,0,-233,0,-368,-369,-121,0,0,0, - 0,0,0,0,-65,0,0,0,0,-370, - -371,0,-102,0,0,0,0,0,0,0, - 0,0,0,0,-23,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-216,0,0,0,0,-474,-420, - 0,0,-314,0,0,0,0,0,0,0, - 0,0,0,-128,0,0,0,0,0,-313, - 0,0,0,0,-219,0,0,0,0,0, - 0,0,-159,0,0,-218,-486,0,0,0, - 0,0,0,-372,0,0,0,-296,0,0, - -373,0,0,-223,0,0,0,0,0,-452, - 0,0,0,0,0,0,0,0,0,0, - -221,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-129, - 0,0,-206,0,0,0,0,0,-81,0, - 0,0,0,-211,0,0,0,0,0,-374, - 0,-485,-375,0,0,-145,-502,0,-217,-376, - 0,-292,0,-298,-334,0,-308,0,-295,0, - 0,0,0,0,0,0,0,0,-392,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-393,0,0,0,0,0,0, - 0,0,0,0,0,-144,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -227,-398,-402,0,0,0,0,0,0,0, - -487,0,0,0,-265,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-337,0,0,0,0, - 0,0,-347,0,0,0,0,0,-231,0, - 0,0,0,-405,0,0,-483,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -209,0,0,-291,0,0,-293,0,0,0, - 0,0,0,0,0,0,-406,-338,-266,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-407, - 0,0,0,0,-267,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-408,0,0,0,0, - -268,0,0,0,-300,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-424,0,0,0,0,-459,0,0,0, - 0,0,0,0,0,0,0,0,-269,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-270,0,0,0,-426,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-336,0,0,0,0,-232, - 0,0,0,0,-301,-31,-330,-435,0,-311, - 0,-235,0,0,0,0,-37,0,0,0, - 0,-320,-442,-443,-425,0,0,-429,0,0, - -328,0,0,0,0,0,0,0,0,-444, - 0,-344,0,0,0,0,0,0,0,0, - 0,0,0,-476,0,0,-357,0,0,0, - 0,0,0,-257,0,-316,-390,0,0,0, - 0,-33,0,0,-450,-461,0,-477,0,0, - 0,0,0,0,0,0,0,-244,-480,-481, - 0,0,0,-103,0,0,0,0,0,0, - 0,0,0,0,-419,0,0,0,0,-11, - 0,0,0,0,0,0,0,0,0,-136, - 0,-350,0,0,-352,0,0,0,-403,-482, - 0,-498,0,0,0,0,-489,0,-495,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-45,0,0,0,0,-356,0, - 0,0,0,0,0,0,-385,0,0,0, - 0,0,-329,0,0,0,0,0,0,0, - 0,0,0,0,0,-500,-47,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-389,-400,0,0,0,0,0,0,-377, - 0,0,0,0,0,-433,-378,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -127,0,0,0,0,-26,0,0,0,0, - 0,-401,0,-417,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-135,-415,0,-256,0,0,-428, - 0,-423,0,0,0,0,-430,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,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,0,0,0,-353,0,0,-153,-161,-304, + 0,0,0,0,0,0,-209,-55,0,0, + 0,0,0,0,0,0,0,-99,-59,0, + -322,0,-48,0,0,0,0,-84,-327,-329, + 0,0,0,0,0,0,-343,0,0,0, + 0,0,0,0,0,0,0,0,0,-244, + 0,-219,0,0,0,0,0,0,0,0, + 0,0,0,0,-30,0,0,0,-335,0, + 0,-90,0,0,0,0,0,0,0,0, + 0,0,-221,-223,0,0,0,0,-385,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-336,0,0,0,0,0,-27, + 0,-227,0,0,0,0,0,0,0,-218, + 0,0,0,0,0,-23,0,0,0,0, + 0,0,0,-337,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-128,-338,0, + -245,0,0,0,0,-224,0,-246,-20,0, 0,0,0,0,0,0,0,0,0,0, + -231,0,-342,0,0,0,0,0,0,0, + 0,0,0,-354,-80,0,0,0,0,0, + 0,-129,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-307,0, + 0,-355,0,0,0,0,0,0,0,0, + 0,0,0,-356,-357,0,0,-134,0,-291, + 0,0,0,0,0,-292,0,-215,0,0, + 0,0,0,0,0,-358,0,0,0,0, + 0,0,-359,-296,0,-208,0,0,0,0, + 0,0,0,0,0,0,0,-144,0,0, 0,0,0,0,0,0,0,0,0,-205, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-508,-230,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -432,0,0,-260,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-162,0,0, - 0,0,-422,0,0,0,0,-288,-427,-438, - -456,0,0,0,0,0,0,0,0,0, - 0,-439,0,-484,0,0,0,0,0,0, + 0,0,-310,-485,-330,0,-265,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-261,0,0,0,0,0, + 0,0,0,0,0,0,-256,0,0,0, + 0,0,-234,0,0,0,-333,0,0,0, + 0,0,-424,0,0,0,0,0,0,0, + 0,0,0,0,-360,-293,0,0,0,0, + 0,0,-316,0,0,0,0,0,0,0, + -266,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-448,0,0,-395,-324, - 0,0,0,0,-449,0,0,0,-455,-436, - -446,-396,0,-224,0,0,0,0,-394,0, - 0,-434,0,0,0,0,0,0,-499,0, + 0,-121,0,0,0,0,-267,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-361,0,0, + 0,0,-268,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-324,0,0,0,0,-458,0, + 0,0,0,0,0,0,0,0,0,0, + -269,0,0,0,-486,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-263,0,0,0,-362, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-363,0,0,0, + 0,-232,-364,0,0,0,-288,-365,-366,0, + 0,-484,-145,-382,0,0,0,0,0,-136, + -347,-309,0,0,0,0,-447,0,0,0, + 0,0,-367,0,0,0,0,0,0,0, + 0,-368,0,0,0,0,0,0,0,-369, + -370,0,0,0,0,-371,0,-264,0,0, + 0,-372,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-270,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-312, + 0,0,0,0,0,-379,0,-298,0,-416, + 0,0,0,-332,-380,-325,-199,0,0,0, + 0,0,0,0,-389,0,0,-103,0,0, + 0,-326,0,-29,0,0,0,0,0,0, + 0,-390,0,-4,0,0,0,0,-395,0, + 0,0,0,0,0,0,0,0,0,-399, + 0,0,0,0,0,-108,-402,0,0,0, + 0,0,0,0,-403,0,0,0,0,0, + 0,0,0,0,0,0,0,-11,0,0, + 0,0,-334,0,0,0,0,0,-340,0, + 0,0,0,-387,-123,0,0,0,0,-404, + 0,0,0,0,0,0,0,0,0,-406, + -45,0,0,0,0,0,0,0,-378,0, + 0,0,0,-444,0,0,0,0,0,0, + 0,0,0,0,-348,0,0,-463,-400,-489, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-47,0,0,0,0,0, + 0,0,0,0,0,0,0,-295,0,0, + -405,-352,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-450,-127,0,0, + -497,0,-473,-31,0,0,-412,0,-397,0, + 0,0,0,-425,0,0,0,0,0,-398, + -475,-434,0,0,0,0,-437,0,-441,-442, + 0,0,0,0,0,0,0,0,0,0, + 0,-135,0,0,0,0,0,0,0,0, + 0,-386,0,0,0,0,0,0,-414,0, + 0,-449,0,0,0,0,0,0,0,0, + 0,0,0,-448,0,0,0,-498,0,0, + 0,-460,0,0,0,-501,0,0,0,0, + -429,0,0,0,0,0,0,0,-476,0, + 0,-479,0,-419,0,-211,0,0,0,0, + 0,0,0,0,0,0,0,-230,0,0, + 0,0,0,0,0,0,0,0,0,-261, + 0,0,0,-480,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -426,0,0,-320,0,-438,-33,0,0,0, + 0,0,-481,0,0,0,-431,0,0,-420, + -508,0,0,0,0,-488,-494,0,0,0, + 0,-229,0,0,-323,0,0,-499,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-463,0,0,0,0,0,0, + -507,0,0,0,0,0,0,-26,0,-391, + -206,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-457,0,0,0,0, - 0,0,0,0,0,0,-460,-491,-479,-458, + 0,0,-433,-462,-435,0,0,0,0,0, + 0,-373,0,0,0,-455,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-462,0,0,-440,0, - 0,0,0,0,0,-468,0,-464,0,0, - 0,0,0,0,0,0,0,0,-469,0, - -470,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-472, + 0,0,0,0,0,0,0,-445,0,0, + 0,0,0,0,-483,-459,-471,0,0,0, + 0,0,0,0,0,-456,-457,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-471,-506,-492,0,0,0,0,0, - 0,0,0,-466,-493,-494,0,0,-509,0, - 0,0,0,-504,0,0,0,0,0,0, - 0,0,-503,0,0,0,0,0,0,0, - 0,0,-507,-510,-490,0,0,0,0,0, - 0,0,0,0,0,-512,0,0,0,0, + 0,0,0,0,-478,-162,0,0,0,0, + -472,0,0,0,0,-238,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-473,0,0,0, + 0,0,0,0,0,0,0,0,0,-490, + 0,-461,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-495,0,0,0,0,0,0, + 0,-201,0,0,0,0,0,0,0,0, + 0,-251,0,-467,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-468,0, + 0,0,0,-384,0,0,0,-465,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -511,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-514, + 0,-505,0,-469,0,0,-375,-243,0,0, + 0,0,0,0,0,0,0,-392,-374,-500, 0,0,0,0,0,0,0,0,0,0, - 0,-505,-496,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-439,-502,0,0,0,0,0,0, + 0,0,-470,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-376,0,0,0,0,0,-491,0,0, + 0,0,0,0,0,-239,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -492,-427,0,0,0,0,0,0,0,-510, + 0,-504,0,0,-240,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -482,0,0,0,0,0,0,0,0,-393, + -454,-241,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-513,0,0,0,0, + -396,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-493,0,0,0,-503, + 0,0,0,0,0,0,0,0,0,0, + 0,-16,0,0,0,0,0,0,0,0, + 0,0,0,-394,0,-440,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-506,0,0,-34,0,0,0, + 0,0,0,-408,0,0,0,0,0,0, + 0,-509,0,0,0,-511,0,0,0,0, + 0,0,0,0,0,0,0,-242,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-300,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-166,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-167,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-201,0,0,0,0,0,0, - 0,0,0,0,0,0,-16,0,0,0, - 0,0,0,0,0,0,0,0,-34,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,-169,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-262,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-441,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -465,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-166,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-263,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-264,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-167,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-168, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -169,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,-170,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-171,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-171,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-248,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-258,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-259,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-345,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-382,0,0, - 0,0,0,0,0,0,0,0,0,-413, + 0,0,0,0,0,0,0,0,0,-248, 0,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, - 0,0,0,-74,0,0,0,0,-501,-239, - 0,0,0,0,0,-161,-478,0,0,0, + -258,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-259,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-341,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-410,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-421,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-105,0,0,0,0,0,0,0, + 0,0,0,0,-163,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-415, + 0,0,0,0,0,0,0,-25,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-411,0,-114,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-430,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-37,0,0,0,0,0,-102,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-346,0,0, + 0,0,0,-74,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-512, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-163,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-25,0,0,0,0, - 0,0,0,0,0,0,0,-79,0,0, - 0,0,0,0,0,-431,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-240, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-79,0,0,0,0, 0,0,0,0,0,-88,0,0,0,0, 0,0,0,-89,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-130,0,0, - 0,0,0,0,0,-149,0,0,0,0, + 0,-464,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -477,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-130,0,0,0,0,0,0, + 0,-149,0,0,0,0,0,0,0,0, + 0,-187,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-303,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-187,0,0,0,0, - 0,0,0,-307,0,0,0,0,0,0, - 0,0,0,-348,0,0,0,-229,0,0, - 0,0,0,0,0,0,0,-354,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-453,0,0,0,0,-379,0,0, - 0,0,0,0,0,0,-243,0,0,0, - 0,-380,0,0,0,0,0,0,0,0, - 0,0,-411,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-418,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-397,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-238,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-251,0,-399,0,0, - 0,0,0,0,-241,-242,-414,0,0,0, - 0,0,0,0,0,0,0,-513,0,0, + -344,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-350,0,0,0,0,0, + 0,0,0,0,-452,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,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; @@ -531,10 +525,10 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface BaseAction { public final static char baseAction[] = { - 169,4,193,194,195,134,87,31,61,38, + 169,4,192,193,194,134,87,31,64,38, 169,169,14,14,14,14,14,14,14,14, 15,15,15,10,10,8,8,8,8,8, - 1,62,62,5,5,11,11,11,11,48, + 1,65,65,5,5,11,11,11,11,48, 48,135,135,136,57,57,46,46,16,16, 16,16,16,16,16,16,16,16,16,16, 16,16,16,16,16,16,16,16,137,137, @@ -547,7 +541,7 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym 33,33,34,34,35,35,36,36,40,40, 39,39,39,39,39,39,39,39,39,39, 39,39,39,37,37,27,141,141,100,100, - 105,105,101,196,196,79,79,79,79,79, + 105,105,101,195,195,79,79,79,79,79, 79,79,79,79,80,80,80,81,81,55, 55,176,176,82,82,82,116,116,83,83, 83,83,84,84,84,84,84,85,67,67, @@ -562,483 +556,476 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym 149,149,148,148,122,122,123,42,42,41, 71,71,72,72,74,75,73,44,52,45, 150,150,53,51,70,70,178,178,177,177, - 151,151,89,89,76,76,76,64,64,65, - 77,77,78,78,63,63,63,106,106,197, - 197,103,102,102,56,56,66,66,54,54, + 151,151,89,89,76,76,76,60,60,61, + 77,77,78,78,66,66,66,106,106,196, + 196,103,102,102,56,56,62,62,54,54, 49,107,107,107,96,96,96,97,98,98, 98,99,99,110,110,110,112,112,111,111, - 198,198,95,95,180,180,180,180,180,125, + 197,197,95,95,180,180,180,180,180,125, 58,58,153,179,179,126,126,126,126,181, 181,29,29,117,127,127,127,127,108,108, 183,183,121,121,121,155,156,156,156,156, 156,156,156,156,185,185,182,182,184,184, - 157,157,157,157,186,187,114,113,113,188, - 188,158,158,129,129,128,128,128,199,199, - 9,189,160,159,159,161,152,152,162,162, - 163,164,164,6,6,7,166,166,166,166, + 157,157,157,186,114,113,113,187,187,158, + 158,129,129,128,128,128,198,198,9,188, + 160,159,159,161,152,152,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,59,60, - 60,167,167,130,130,131,131,131,131,131, - 131,2,3,168,168,165,165,132,132,132, - 68,69,86,154,154,115,115,190,190,190, - 133,133,124,124,191,191,1445,1845,1838,800, - 761,4564,26,810,23,27,22,24,2222,254, - 20,48,1616,103,72,73,105,45,1624,1633, - 1632,1657,1640,2560,1673,266,1665,1173,1681,1674, - 1698,1706,140,3055,274,156,141,584,25,28, - 800,938,845,26,810,35,27,4408,3201,25, - 28,800,224,3418,26,810,23,27,22,24, - 1599,254,20,48,1616,103,72,73,105,1020, - 1624,1633,1632,1657,1640,74,1673,2739,1665,3174, - 1681,1674,2730,843,269,942,268,267,227,222, - 223,3201,1845,1838,800,879,3418,26,810,23, - 27,22,24,1599,254,20,48,1616,103,72, - 73,80,2776,233,236,239,242,2283,287,2635, - 29,288,2573,927,154,25,28,800,3867,2585, - 26,810,23,27,336,24,2667,1829,3256,2198, - 2366,3026,3092,3879,2028,25,28,800,2176,3418, - 26,810,23,27,1755,24,1599,254,20,48, - 1616,103,72,73,105,340,1624,1633,1632,1657, - 1640,1710,1673,2448,1665,722,1681,1674,1698,1706, - 140,2820,936,507,141,1515,1112,3114,615,701, - 317,372,1368,2358,492,1786,1745,800,508,2028, - 25,28,800,2176,3418,26,810,23,27,1755, - 24,1599,254,20,48,1616,103,72,73,105, - 340,1624,1633,1632,1657,1640,1104,1673,3041,1665, - 1493,1681,1674,1698,1706,140,2577,276,507,141, - 62,36,38,800,500,2430,37,810,2358,2946, - 25,28,800,508,3418,26,810,23,27,22, - 24,1599,254,20,48,1616,103,72,73,105, - 871,1624,1633,1632,1657,1640,503,1673,445,1665, - 1373,1681,1674,1698,1714,162,159,2789,1440,370, - 1166,2176,412,25,28,800,513,4664,26,810, - 23,27,57,24,492,381,382,800,220,1747, - 70,442,1756,1386,2711,4496,271,800,1662,25, - 28,800,320,4578,26,810,23,27,55,24, - 654,503,208,29,205,1419,323,198,206,207, - 209,431,433,2001,666,199,200,557,3114,2711, - 1203,275,800,436,510,201,202,203,204,290, - 291,292,293,2711,1763,273,800,1756,2580,25, - 28,800,2176,3418,26,810,23,27,1755,24, - 1599,254,20,48,1616,103,72,73,105,340, - 1624,1633,1632,1657,1640,1284,1673,762,1665,3020, - 1681,1674,1698,1706,140,159,327,507,141,2468, - 492,381,382,800,411,412,2827,2358,2508,25, - 28,800,508,3418,26,810,23,27,22,24, - 1599,254,20,48,1616,103,72,73,105,441, - 1624,1633,1632,1657,1640,1100,1673,1238,1665,2573, - 1681,1674,1698,1706,140,59,180,375,141,412, - 25,28,800,919,4664,26,810,23,27,56, - 24,861,435,1542,1551,3201,25,28,800,378, - 3418,26,810,23,27,22,24,1599,254,20, - 48,1616,103,72,73,81,2624,25,28,800, - 504,3418,26,810,23,27,22,24,1599,254, - 20,48,1616,103,72,73,105,1661,1624,1633, - 1632,1657,1640,159,1673,2667,1665,2548,1681,1674, - 1698,1706,140,159,487,375,141,2137,281,1796, - 2700,25,28,800,379,4578,26,810,23,27, - 54,24,2670,2888,25,28,800,376,3418,26, - 810,23,27,22,24,1599,254,20,48,1616, - 103,72,73,105,1941,1624,1633,1632,1657,1640, - 372,1673,2083,1665,1518,1681,1674,1698,1706,140, - 214,1298,375,141,2813,2985,25,28,800,3015, - 3418,26,810,23,27,22,24,1599,254,20, - 48,1616,103,72,73,105,1238,1624,1633,1632, - 1657,1640,380,1673,311,1665,1234,1681,1674,1698, - 1706,140,1238,672,369,141,2985,25,28,800, - 149,3418,26,810,23,27,22,24,1599,254, - 20,48,1616,103,72,73,105,486,1624,1633, - 1632,1657,1640,159,1673,3342,1665,2352,1681,1674, - 1698,1706,140,1238,2573,156,141,58,2839,373, - 1490,414,2985,25,28,800,2313,3418,26,810, - 23,27,22,24,1599,254,20,48,1616,103, - 72,73,105,449,1624,1633,1632,1657,1640,159, - 1673,321,1665,674,1681,1674,1698,1706,140,448, - 368,369,141,2985,25,28,800,2180,3418,26, - 810,23,27,22,24,1599,254,20,48,1616, - 103,72,73,105,2448,1624,1633,1632,1657,1640, - 159,1673,2025,1665,729,1681,1674,1698,1706,140, - 322,2092,369,141,498,25,28,800,2186,4664, - 26,810,23,27,500,24,2820,1829,2464,25, - 28,800,1501,3418,26,810,23,27,22,24, - 1599,254,20,48,1616,103,72,73,105,1468, - 1624,1633,1632,1657,1640,1702,1673,367,1665,3496, - 1681,1674,1698,1706,140,1234,673,139,141,2985, - 25,28,800,567,3418,26,810,23,27,22, - 24,1599,254,20,48,1616,103,72,73,105, - 844,1624,1633,1632,1657,1640,318,1673,365,1665, - 1234,1681,1674,1698,1706,140,1234,2084,152,141, - 2985,25,28,800,2665,3418,26,810,23,27, - 22,24,1599,254,20,48,1616,103,72,73, - 105,2431,1624,1633,1632,1657,1640,374,1673,2937, - 1665,513,1681,1674,1698,1706,140,3045,1374,151, - 141,2985,25,28,800,3325,3418,26,810,23, - 27,22,24,1599,254,20,48,1616,103,72, - 73,105,1038,1624,1633,1632,1657,1640,159,1673, - 1435,1665,2504,1681,1674,1698,1706,140,2577,3044, - 150,141,2985,25,28,800,2504,3418,26,810, - 23,27,22,24,1599,254,20,48,1616,103, - 72,73,105,1439,1624,1633,1632,1657,1640,159, - 1673,2680,1665,2195,1681,1674,1698,1706,140,90, - 2859,149,141,2985,25,28,800,2870,3418,26, - 810,23,27,22,24,1599,254,20,48,1616, - 103,72,73,105,514,1624,1633,1632,1657,1640, - 1687,1673,321,1665,2197,1681,1674,1698,1706,140, - 514,1691,148,141,2985,25,28,800,1830,3418, - 26,810,23,27,22,24,1599,254,20,48, - 1616,103,72,73,105,2715,1624,1633,1632,1657, - 1640,159,1673,2717,1665,2557,1681,1674,1698,1706, - 140,3038,3040,147,141,2985,25,28,800,1876, - 3418,26,810,23,27,22,24,1599,254,20, - 48,1616,103,72,73,105,2697,1624,1633,1632, - 1657,1640,159,1673,945,1665,2624,1681,1674,1698, - 1706,140,578,670,146,141,2985,25,28,800, - 2743,3418,26,810,23,27,22,24,1599,254, - 20,48,1616,103,72,73,105,148,1624,1633, - 1632,1657,1640,159,1673,918,1665,2700,1681,1674, - 1698,1706,140,1576,2723,145,141,2985,25,28, - 800,2085,3418,26,810,23,27,22,24,1599, - 254,20,48,1616,103,72,73,105,2742,1624, - 1633,1632,1657,1640,159,1673,1437,1665,2339,1681, - 1674,1698,1706,140,1557,1659,144,141,2985,25, - 28,800,2091,3418,26,810,23,27,22,24, - 1599,254,20,48,1616,103,72,73,105,579, - 1624,1633,1632,1657,1640,159,1673,1221,1665,2237, - 1681,1674,1698,1706,140,1103,2782,143,141,2985, - 25,28,800,1305,3418,26,810,23,27,22, - 24,1599,254,20,48,1616,103,72,73,105, - 2674,1624,1633,1632,1657,1640,159,1673,3033,1665, - 2371,1681,1674,1698,1706,140,3035,3037,142,141, - 2985,25,28,800,3322,3418,26,810,23,27, - 22,24,1599,254,20,48,1616,103,72,73, - 105,1172,1624,1633,1632,1657,1640,159,1673,3039, - 1665,2714,1681,1674,1698,1706,140,1234,1512,157, - 141,2985,25,28,800,1627,3418,26,810,23, - 27,22,24,1599,254,20,48,1616,103,72, - 73,105,1952,1624,1633,1632,1657,1640,2867,1673, - 3036,1665,2561,1681,1674,1698,1706,140,3043,245, - 137,141,3122,25,28,800,3042,3418,26,810, - 23,27,22,24,1599,254,20,48,1616,103, - 72,73,105,1083,1624,1633,1632,1657,1640,2747, - 1673,3044,1665,1234,1681,1674,1698,1706,140,3055, - 272,187,141,3201,25,28,800,2094,3418,26, - 810,23,27,22,24,1599,254,20,48,1616, - 103,72,73,105,347,1624,1633,1632,1657,1640, - 350,1673,2228,1665,2274,1681,1674,1698,1714,162, - 3201,25,28,800,296,3418,26,810,23,27, - 22,24,1599,254,20,48,1616,103,72,73, - 105,893,1624,1633,1632,1657,1640,349,1673,567, - 1665,2320,1681,1674,1698,1714,162,3201,25,28, - 800,2691,3418,26,810,23,27,22,24,1599, - 254,20,48,1616,103,72,73,105,2366,1624, - 1633,1632,1657,1640,285,1673,1920,1665,2853,1681, - 1674,1698,1714,162,3240,25,28,800,2094,3418, - 26,810,23,27,22,24,1599,254,20,48, - 1616,103,72,73,105,2933,1624,1633,1632,1657, - 1640,2764,1673,567,1665,3323,1681,1674,1698,1714, - 162,3279,25,28,800,3046,3418,26,810,23, - 27,22,24,1599,254,20,48,1616,103,72, - 73,105,3048,1624,1633,1632,1657,1640,413,1673, - 2437,1665,3357,1681,1674,1698,1714,162,3201,25, - 28,800,3049,3418,26,810,23,27,22,24, - 1599,254,20,48,1616,103,72,73,105,3050, - 1624,1633,1632,1657,1640,415,1673,1368,1665,1083, - 1681,2720,414,3201,25,28,800,4466,3418,26, - 810,23,27,22,24,1599,254,20,48,1616, - 103,72,73,105,567,1624,1633,1632,1657,1640, - 159,1673,3374,1665,948,2654,3318,381,382,800, - 2711,3037,3043,800,584,25,28,800,229,254, - 26,810,2681,27,3353,2018,3142,2018,836,87, - 304,3201,25,28,800,266,3418,26,810,23, - 27,22,24,1599,254,20,48,1616,103,72, - 73,105,2412,1624,1633,1632,1657,1640,837,1673, - 2573,2661,224,3201,25,28,800,2018,3418,26, - 810,23,27,22,24,1599,254,20,48,1616, - 103,72,73,105,224,1624,1633,1632,1657,1640, - 3053,2556,271,800,269,2000,268,267,227,222, - 223,1933,25,28,800,2726,2585,26,810,23, - 27,336,24,1553,1387,1540,800,2460,4304,1055, - 235,222,223,233,236,239,242,2283,436,2551, - 381,382,800,927,492,381,382,800,384,417, - 385,417,46,2551,381,382,800,2667,3256,2198, - 2366,3026,3092,3879,287,47,1742,288,46,1346, - 1166,724,85,421,99,1163,315,317,2998,1441, - 287,47,46,288,1083,43,2462,312,774,348, - 387,417,1485,153,287,47,2176,288,2736,1346, - 1517,1919,2739,3262,195,2728,1595,341,1872,1909, - 346,2018,3149,2271,3201,25,28,800,1510,3418, - 26,810,23,27,22,24,1599,254,20,48, - 1616,103,72,73,105,2732,1624,1633,1632,1657, - 2570,3201,25,28,800,383,3418,26,810,23, - 27,22,24,1599,254,20,48,1616,103,72, - 73,105,224,1624,1633,1632,1657,2571,3452,2683, - 936,2670,2176,2176,320,3114,348,584,25,28, - 800,324,332,26,810,3292,27,356,414,220, - 2271,362,1234,4474,341,1872,1909,346,238,222, - 223,1083,1837,1722,1739,339,1499,2825,3497,303, - 664,654,2176,208,3053,205,3110,800,198,206, - 207,209,671,4237,386,417,199,200,557,220, - 159,3047,1234,2430,1166,210,201,202,203,204, - 290,291,292,293,3345,1238,2694,1150,2176,3854, - 2683,654,2664,208,2176,205,2176,3264,198,206, - 207,209,278,21,494,220,199,200,557,2299, - 2737,2271,3130,340,2176,210,201,202,203,204, - 290,291,292,293,398,414,2549,3360,3542,401, - 4488,2271,2176,1303,442,2559,2836,2575,4496,491, - 493,712,2506,402,557,1570,381,382,800,220, - 3422,3488,3251,893,25,28,800,1903,4546,26, - 810,23,27,336,24,1370,381,382,800,432, - 433,654,4270,208,266,205,1452,530,198,206, - 207,209,39,1780,1083,494,199,200,557,2711, - 2814,3159,800,1234,46,210,201,202,203,204, - 290,291,292,293,3632,357,287,47,2176,288, - 1485,1346,1788,1291,2176,2670,328,1163,315,317, - 492,493,2565,414,3087,220,2739,2667,4627,313, - 774,2271,3251,337,2839,268,267,2139,2746,403, - 404,1924,4632,3074,159,295,3098,654,2176,208, - 1538,205,567,302,198,206,207,209,445,280, - 1796,2670,199,200,557,340,2344,287,3030,2703, - 288,210,201,202,203,204,290,291,292,293, - 3677,430,516,3405,2176,2461,1797,2176,3854,1570, - 381,382,800,2358,2575,439,1542,1551,498,299, - 2832,220,1538,3344,220,356,2001,1538,3251,1083, - 3361,3114,1441,2604,3057,1234,348,1083,266,2001, - 3222,1722,1739,654,3114,208,3360,205,401,2562, - 198,206,207,209,341,1872,1909,346,199,200, - 557,2506,402,557,3381,1913,440,210,201,202, - 203,204,290,291,292,293,2009,25,28,800, - 4568,2585,26,810,23,27,336,24,2732,327, - 294,159,3034,3051,319,2630,2299,270,279,268, - 267,2667,327,522,3251,3201,25,28,800,2729, - 3418,26,810,23,27,22,24,1599,254,20, - 48,1616,103,72,73,105,1234,1624,1633,1632, - 2434,1788,3375,414,331,332,280,1796,4643,159, - 1163,315,317,711,2855,4618,352,492,381,382, - 800,351,312,774,348,522,515,67,403,405, - 522,1504,2737,1797,159,1345,4554,159,3230,41, - 1780,3237,341,1872,1909,346,422,2938,1234,3201, - 25,28,800,1913,3418,26,810,23,27,22, - 24,1599,254,20,48,1616,103,72,73,105, - 2941,1624,1633,1632,2470,3201,25,28,800,66, - 3418,26,810,23,27,22,24,1599,254,20, - 48,1616,103,72,73,105,2942,1624,1633,1632, - 2482,3201,25,28,800,1633,3418,26,810,23, - 27,22,24,1599,254,20,48,1616,103,72, - 73,105,3439,1624,1633,1632,2507,2684,25,28, - 800,2726,2585,26,810,23,27,336,24,3201, - 25,28,800,396,3418,26,810,23,27,22, - 24,1599,254,20,48,1616,103,72,73,105, - 993,1624,1633,2546,3201,25,28,800,3375,3418, - 26,810,23,27,22,24,1599,254,20,48, - 1616,103,72,73,105,1640,1624,1633,2555,419, - 87,1163,315,317,526,1950,1628,159,3026,722, - 2670,3867,2856,312,774,348,1166,1370,381,382, - 800,220,2670,3027,3030,414,517,153,3025,1878, - 4613,2670,2176,341,1872,1909,346,3042,178,158, - 3402,272,1234,3027,518,208,46,205,298,340, - 197,206,207,209,3353,167,377,1238,287,47, - 177,288,224,1346,2096,1428,1,159,1166,193, - 526,3290,2026,51,2709,3324,3379,2957,3359,181, - 165,166,168,169,170,171,172,220,2856,2698, - 3326,153,1166,153,2551,381,382,800,241,222, - 223,3077,2609,3042,178,920,381,382,800,3027, - 3466,208,2735,205,2176,158,197,206,207,209, - 2802,167,2553,46,2176,1234,2176,179,224,159, - 3354,220,1238,1306,266,287,47,3330,288,3434, - 1346,2271,1715,340,49,182,165,166,168,169, - 170,171,172,654,3722,208,83,205,2176,1234, - 198,206,207,209,244,222,223,1504,199,200, - 557,1335,4554,2670,1468,220,3086,211,201,202, - 203,204,290,291,292,293,3474,3751,3062,5073, - 50,2176,84,3095,99,268,267,654,5073,208, - 5073,205,1234,2670,198,206,207,209,220,5073, - 1441,192,199,200,557,494,1788,1441,3590,94, - 1166,305,201,202,203,204,290,291,292,293, - 654,3587,208,3429,205,2176,1513,198,206,207, - 209,196,2670,153,1234,199,200,557,231,254, - 491,493,220,160,511,201,202,203,204,290, - 291,292,293,5073,3773,159,2732,2856,2176,2491, - 1441,1166,2670,2732,654,86,208,1234,205,5073, - 194,198,206,207,209,220,5073,1821,5073,199, - 200,557,224,3285,158,5073,993,5073,211,201, - 202,203,204,290,291,292,293,654,3587,208, - 400,205,326,332,198,206,207,209,5073,3423, - 332,3554,199,200,557,420,2732,5073,232,222, - 223,488,201,202,203,204,290,291,292,293, - 1590,25,28,800,873,2585,26,810,23,27, - 336,24,5073,5073,1238,1942,25,28,800,5073, - 4546,26,810,23,27,336,24,3179,5073,5073, - 5073,1234,3431,332,3201,25,28,800,397,3418, - 26,810,23,27,22,24,1599,254,20,48, - 1616,103,72,73,105,5073,1624,2228,2678,381, - 382,800,3606,159,1163,3025,317,2670,2142,159, - 2188,159,1166,3509,1166,2722,312,774,328,1163, - 315,317,2234,5073,159,5073,1166,46,2727,758, - 5073,313,774,348,5073,153,5073,153,5073,287, - 47,95,288,5073,1346,2723,1927,3616,1870,153, - 5073,343,1872,1909,346,3201,25,28,800,3629, - 3418,26,810,23,27,22,24,1599,254,20, - 48,1616,103,72,73,105,2001,1624,2265,1244, - 173,3114,5073,526,526,1570,381,382,800,1441, - 1234,1234,1311,5073,159,5073,526,408,2176,259, - 340,220,2670,526,5073,5073,153,153,5073,1570, - 381,382,800,340,266,340,186,3042,178,153, - 220,3674,2194,3027,2935,208,153,205,4416,186, - 197,206,207,209,2670,167,3042,178,266,3589, - 3618,4416,3027,2358,208,2732,205,5073,496,197, - 206,207,209,5073,167,5073,1234,5073,5073,2792, - 165,166,168,169,170,171,172,345,2670,2016, - 1234,526,3705,70,3114,268,267,5073,174,165, - 166,168,169,170,171,172,431,2647,220,2280, - 526,3444,332,1166,153,3297,1234,68,1834,268, - 267,2801,1166,5073,3042,178,3792,220,3391,1234, - 3027,1234,208,153,205,91,153,197,206,207, - 209,5073,167,3042,178,153,3631,65,5073,3027, - 2856,208,3589,205,1166,160,197,206,207,209, - 64,167,63,1234,2670,1234,185,165,166,168, - 169,170,171,172,517,1234,1234,158,526,1570, - 381,382,800,5073,1234,3157,165,166,168,169, - 170,171,172,603,62,220,3664,526,5073,5073, - 5073,153,189,1234,1631,1880,53,52,266,1166, - 5073,3042,178,5073,220,3761,1234,3027,5073,208, - 153,205,5073,3588,197,206,207,209,93,167, - 3042,178,153,5073,98,520,3027,2856,208,5073, - 205,1166,160,197,206,207,209,3780,167,5073, - 3675,5073,5073,188,165,166,168,169,170,171, - 172,689,5073,5073,158,526,5073,69,5073,268, - 267,5073,184,165,166,168,169,170,171,172, - 775,5073,220,5073,526,5073,5073,5073,153,5073, - 5073,5073,1954,2856,5073,5073,1166,1166,3042,178, - 5073,220,5073,5073,3027,5073,208,153,205,5073, - 3684,197,206,207,209,5073,167,3042,178,153, - 158,5073,5073,3027,5073,208,5073,205,5073,160, - 197,206,207,209,5073,167,5073,3676,5073,5073, - 191,165,166,168,169,170,171,172,5073,5073, - 5073,5073,5073,5073,2551,381,382,800,5073,190, - 165,166,168,169,170,171,172,1652,25,28, - 800,873,2585,26,810,23,27,336,24,3377, - 381,382,800,46,3037,5073,5073,5073,5073,5073, - 5073,230,254,3703,5073,287,47,3716,288,5073, - 1346,5073,2038,5073,3201,25,28,800,266,3418, - 26,810,23,27,22,24,1599,254,20,48, - 1616,103,72,73,105,2326,2287,5073,5073,1166, - 5073,1163,315,317,5073,224,5073,5073,5073,5073, - 5073,2372,5073,312,774,1166,5073,5073,5073,5073, - 5073,5073,153,5073,5073,5073,975,5073,5073,5073, - 5073,5073,3663,5073,5073,5073,5073,269,153,268, - 267,228,222,223,3201,25,28,800,3665,3418, - 26,810,23,27,22,24,1599,254,20,48, - 1616,103,72,73,79,5073,234,237,240,243, - 2283,5073,5073,5073,5073,5073,927,5073,5073,5073, - 5073,5073,5073,5073,3201,25,28,800,306,3418, - 26,810,23,27,22,24,1599,254,20,48, - 1616,103,72,73,105,5073,2346,5073,5073,5073, - 5073,5073,5073,5073,1082,1170,3201,25,28,800, - 5073,3418,26,810,23,27,22,24,1599,254, - 20,48,1616,103,72,73,105,5073,2365,3201, - 25,28,800,5073,3418,26,810,23,27,22, - 24,1599,254,20,48,1616,103,72,73,78, - 3201,25,28,800,5073,3418,26,810,23,27, - 22,24,1599,254,20,48,1616,103,72,73, - 77,3201,25,28,800,5073,3418,26,810,23, - 27,22,24,1599,254,20,48,1616,103,72, - 73,76,3201,25,28,800,5073,3418,26,810, - 23,27,22,24,1599,254,20,48,1616,103, - 72,73,75,3201,25,28,800,5073,3418,26, - 810,23,27,22,24,1599,254,20,48,1616, - 103,72,73,74,3060,25,28,800,5073,3418, - 26,810,23,27,22,24,1599,254,20,48, - 1616,103,72,73,101,3201,25,28,800,5073, - 3418,26,810,23,27,22,24,1599,254,20, - 48,1616,103,72,73,107,3201,25,28,800, - 5073,3418,26,810,23,27,22,24,1599,254, - 20,48,1616,103,72,73,106,3201,25,28, - 800,5073,3418,26,810,23,27,22,24,1599, - 254,20,48,1616,103,72,73,104,1926,25, - 28,800,873,2585,26,810,23,27,336,24, - 3201,25,28,800,5073,3418,26,810,23,27, - 22,24,1599,254,20,48,1616,103,72,73, - 102,240,25,28,800,873,2585,26,810,23, - 27,336,24,5073,1588,381,382,800,5073,3413, - 159,5073,5073,2176,2176,5073,1043,2418,5073,5073, - 526,1166,1163,315,317,5073,5073,5073,5073,5073, - 340,340,5073,46,312,774,5073,340,5073,5073, - 521,5073,5073,153,153,287,47,758,288,5073, - 1346,5073,44,2492,3152,1163,315,317,2358,2358, - 5073,563,5073,524,2075,2358,1870,312,774,5073, - 2452,5073,5073,5073,5073,5073,3162,25,28,800, - 975,3418,26,810,23,27,22,24,1599,254, - 20,48,1616,82,72,73,240,25,28,800, - 873,2585,26,810,23,27,336,24,1370,381, - 382,800,5073,5073,5073,409,326,25,28,800, - 873,2585,26,810,23,27,336,24,5073,5073, - 159,5073,5073,5073,2176,5073,5073,46,5073,5073, - 5073,5073,307,5073,5073,5073,5073,5073,5073,287, - 47,340,288,5073,1346,5073,44,5073,5073,5073, - 1163,315,317,5073,5073,766,2571,381,382,800, - 5073,5073,312,774,1588,381,382,800,5073,2358, - 1163,315,317,5073,2092,1345,5073,5073,2729,381, - 382,800,312,774,5073,46,1370,381,382,800, - 3704,5073,5073,46,5073,3096,5073,287,47,5073, - 288,5073,1346,5073,44,287,47,46,288,5073, - 1346,5073,44,607,5073,46,5073,5073,5073,287, - 47,2184,288,5073,1346,5073,44,287,47,5073, - 288,5073,1346,5073,44,2646,1370,381,382,800, - 5073,5073,5073,940,1370,381,382,800,5073,5073, - 5073,5073,5073,5073,2799,381,382,800,2713,5073, - 5073,5073,2176,3114,5073,46,5073,5073,1588,381, - 382,800,5073,46,5073,5073,5073,287,47,2271, - 288,5073,1346,46,2001,287,47,5073,288,5073, - 1346,5073,44,2565,5073,287,47,46,288,5073, - 1346,2304,2102,1370,381,382,800,5073,874,287, - 47,2709,288,3114,1346,5073,2610,2551,381,382, - 800,327,2713,5073,5073,3125,2176,3114,5073,5073, - 5073,5073,46,2551,381,382,800,5073,5073,5073, - 5073,5073,5073,2271,287,47,46,288,5073,1346, - 5073,44,5073,356,2551,381,382,800,287,47, - 2847,288,46,1346,3375,1195,5073,5073,2613,1722, - 1739,328,976,5073,287,47,526,288,5073,1346, - 5073,3060,5073,46,5073,327,348,1110,5073,5073, - 5073,526,5073,220,5073,287,47,5073,288,153, - 1346,5073,1927,5073,343,1872,1909,346,340,160, - 5073,5073,5073,5073,153,3027,1177,356,1378,3236, - 526,5073,526,5073,2878,159,159,159,4618,2176, - 2176,2176,2613,1722,1739,5073,2358,340,159,340, - 5073,2826,2176,153,5073,153,340,340,340,5073, - 5073,5073,5073,2492,5073,186,5073,5073,5073,340, - 5073,5073,5073,5073,5073,2358,5073,4416,5073,5073, - 3145,5073,5073,5073,2358,2358,2358,3522,5073,2112, - 2129,3511,5073,5073,5073,5073,5073,2358,5073,5073, - 5073,5073,525,5073,5073,5073,5073,5073,5073,5073, - 5073,5073,5073,5073,5073,5073,5073,5073,5073,5073, - 5073,5073,5073,5073,5073,5073,5073,5073,5073,5073, - 5073,5073,5073,5073,5073,5073,5073,5073,5073,5073, - 5073,5073,5073,5073,3510,5073,0,490,817,0, - 1,221,0,1,834,0,1,2512,0,1, - 818,34,0,1,770,0,1,4396,0,1001, - 34,0,443,1280,0,30,502,0,1370,45, - 0,818,33,0,1370,34,0,30,277,253, - 0,30,502,277,253,0,30,289,0,1, - 652,0,1,1204,0,1193,314,0,5398,434, - 0,1704,434,0,447,1146,0,446,1162,0, - 30,289,297,0,44,32,0,5103,34,0, - 818,34,0,1,2643,0,1,5338,0,1, - 5337,0,1,5336,0,1,5335,0,1,5334, - 0,1,5333,0,1,5332,0,1,5331,0, - 1,5330,0,1,5329,0,1,5328,0,40, - 5104,0,40,32,0,1,5106,221,0,1, - 34,221,0,5103,32,0,2905,123,0,22, - 509,0,5082,399,0,1,1862,34,0,289, - 297,0,1,5106,0,1,34,0,1,221, - 1911,0,5082,221,0,2490,88,0,382,28, - 0,381,25,0,34,834,0,5104,42,0, - 32,42,0,154,173,0,229,3108,0,2905, - 125,0,2905,124,0,221,161,0,1,89, - 0,13,414,0,5103,5,32,0,5575,31, - 0,5398,92,0,1704,92,0,183,3693,0, - 273,3650,0 + 166,166,166,166,166,166,59,63,63,167, + 167,130,130,131,131,131,131,131,131,2, + 3,168,168,165,165,132,132,132,68,69, + 86,154,154,115,115,189,189,189,133,133, + 124,124,190,190,1445,2139,2131,891,762,4701, + 26,925,23,27,22,24,2613,254,20,48, + 1724,103,72,73,105,414,1741,1757,1749,1765, + 1758,1565,1790,266,1782,3181,1799,1798,1806,1823, + 140,2502,276,156,141,69,25,28,891,2499, + 1893,26,925,35,27,2274,3152,25,28,891, + 224,3576,26,925,23,27,22,24,1717,254, + 20,48,1724,103,72,73,105,2993,1741,1757, + 1749,1765,1758,1551,1790,2511,1782,2168,1799,1798, + 3012,1441,269,1303,268,267,227,222,223,3152, + 2139,2131,891,320,3576,26,925,23,27,22, + 24,1717,254,20,48,1724,103,72,73,80, + 3180,233,236,239,242,2505,287,2492,29,288, + 2520,1081,3209,154,25,28,891,3932,2566,26, + 925,23,27,336,24,2114,3478,2550,3094,3264, + 3417,3967,1979,25,28,891,2143,3576,26,925, + 23,27,1880,24,1717,254,20,48,1724,103, + 72,73,105,340,1741,1757,1749,1765,1758,45, + 1790,2807,1782,2468,1799,1798,1806,1823,140,764, + 2725,505,141,858,603,317,69,25,28,891, + 1171,2358,26,925,2523,27,506,1979,25,28, + 891,2143,3576,26,925,23,27,1880,24,1717, + 254,20,48,1724,103,72,73,105,340,1741, + 1757,1749,1765,1758,45,1790,1020,1782,2512,1799, + 1798,1806,1823,140,2502,3290,505,141,756,36, + 38,891,281,2028,37,925,2358,2897,25,28, + 891,506,3576,26,925,23,27,22,24,1717, + 254,20,48,1724,103,72,73,105,1235,1741, + 1757,1749,1765,1758,501,1790,2614,1782,2136,1799, + 1798,1806,1831,162,384,415,3152,25,28,891, + 2993,3576,26,925,23,27,22,24,1717,254, + 20,48,1724,103,72,73,105,1872,1741,2624, + 1921,905,1829,1788,891,1737,875,25,28,891, + 2641,4715,26,925,23,27,55,24,1372,501, + 412,25,28,891,323,4390,26,925,23,27, + 57,24,1532,3077,2807,372,443,4566,2318,3269, + 25,28,891,214,4715,26,925,23,27,54, + 24,2635,1954,588,1201,1921,2530,25,28,891, + 2143,3576,26,925,23,27,1880,24,1717,254, + 20,48,1724,103,72,73,105,340,1741,1757, + 1749,1765,1758,45,1790,2696,1782,2322,1799,1798, + 1806,1823,140,2698,1167,505,141,68,905,381, + 382,891,2625,39,1966,2358,2458,25,28,891, + 506,3576,26,925,23,27,22,24,1717,254, + 20,48,1724,103,72,73,105,29,1741,1757, + 1749,1765,1758,370,1790,1503,1782,311,1799,1798, + 1806,1823,140,59,3330,375,141,385,415,3152, + 25,28,891,1421,3576,26,925,23,27,22, + 24,1717,254,20,48,1724,103,72,73,105, + 378,1741,1757,1749,1765,1758,58,1790,1421,1782, + 4508,1799,3001,87,2573,25,28,891,502,3576, + 26,925,23,27,22,24,1717,254,20,48, + 1724,103,72,73,105,2670,1741,1757,1749,1765, + 1758,2982,1790,321,1782,2952,1799,1798,1806,1823, + 140,2791,3238,375,141,2143,2143,2034,412,25, + 28,891,379,4390,26,925,23,27,56,24, + 485,1969,2271,340,2837,25,28,891,376,3576, + 26,925,23,27,22,24,1717,254,20,48, + 1724,103,72,73,105,447,1741,1757,1749,1765, + 1758,2889,1790,2783,1782,180,1799,1798,1806,1823, + 140,45,861,375,141,2334,901,3074,68,2936, + 25,28,891,4576,3576,26,925,23,27,22, + 24,1717,254,20,48,1724,103,72,73,105, + 380,1741,1757,1749,1765,1758,357,1790,2616,1782, + 511,1799,1798,1806,1823,140,2047,1970,369,141, + 1172,68,2936,25,28,891,4584,3576,26,925, + 23,27,22,24,1717,254,20,48,1724,103, + 72,73,105,153,1741,1757,1749,1765,1758,1396, + 1790,1974,1782,2435,1799,1798,1806,1823,140,1571, + 373,156,141,2936,25,28,891,1171,3576,26, + 925,23,27,22,24,1717,254,20,48,1724, + 103,72,73,105,874,1741,1757,1749,1765,1758, + 484,1790,63,1782,1240,1799,1798,1806,1823,140, + 319,3557,369,141,368,2936,25,28,891,520, + 3576,26,925,23,27,22,24,1717,254,20, + 48,1724,103,72,73,105,500,1741,1757,1749, + 1765,1758,45,1790,3357,1782,672,1799,1798,1806, + 1823,140,1737,1371,369,141,498,25,28,891, + 2676,4390,26,925,23,27,498,24,2670,2415, + 25,28,891,2114,3576,26,925,23,27,22, + 24,1717,254,20,48,1724,103,72,73,105, + 303,1741,1757,1749,1765,1758,45,1790,367,1782, + 727,1799,1798,1806,1823,140,324,332,139,141, + 68,2936,25,28,891,4634,3576,26,925,23, + 27,22,24,1717,254,20,48,1724,103,72, + 73,105,2090,1741,1757,1749,1765,1758,1652,1790, + 365,1782,2977,1799,1798,1806,1823,140,1571,2761, + 152,141,2936,25,28,891,2892,3576,26,925, + 23,27,22,24,1717,254,20,48,1724,103, + 72,73,105,1582,1741,1757,1749,1765,1758,318, + 1790,984,1782,511,1799,1798,1806,1823,140,3385, + 2761,151,141,2936,25,28,891,565,3576,26, + 925,23,27,22,24,1717,254,20,48,1724, + 103,72,73,105,565,1741,1757,1749,1765,1758, + 45,1790,1429,1782,4418,1799,1798,1806,1823,140, + 411,2320,150,141,2936,25,28,891,565,3576, + 26,925,23,27,22,24,1717,254,20,48, + 1724,103,72,73,105,2151,1741,1757,1749,1765, + 1758,45,1790,758,1782,701,1799,1798,1806,1823, + 140,512,3346,149,141,2936,25,28,891,1516, + 3576,26,925,23,27,22,24,1717,254,20, + 48,1724,103,72,73,105,565,1741,1757,1749, + 1765,1758,1826,1790,512,1782,874,1799,1798,1806, + 1823,140,90,1973,148,141,2936,25,28,891, + 2024,3576,26,925,23,27,22,24,1717,254, + 20,48,1724,103,72,73,105,565,1741,1757, + 1749,1765,1758,45,1790,2747,1782,2832,1799,1798, + 1806,1823,140,1571,2618,147,141,2936,25,28, + 891,1086,3576,26,925,23,27,22,24,1717, + 254,20,48,1724,103,72,73,105,2818,1741, + 1757,1749,1765,1758,1292,1790,1956,1782,1571,1799, + 1798,1806,1823,140,2695,2985,146,141,2936,25, + 28,891,2986,3576,26,925,23,27,22,24, + 1717,254,20,48,1724,103,72,73,105,374, + 1741,1757,1749,1765,1758,45,1790,235,1782,2588, + 1799,1798,1806,1823,140,1438,2513,145,141,2936, + 25,28,891,2997,3576,26,925,23,27,22, + 24,1717,254,20,48,1724,103,72,73,105, + 2998,1741,1757,1749,1765,1758,45,1790,2999,1782, + 2632,1799,1798,1806,1823,140,3000,2514,144,141, + 2936,25,28,891,2645,3576,26,925,23,27, + 22,24,1717,254,20,48,1724,103,72,73, + 105,1566,1741,1757,1749,1765,1758,45,1790,578, + 1782,1244,1799,1798,1806,1823,140,584,3404,143, + 141,2936,25,28,891,62,3576,26,925,23, + 27,22,24,1717,254,20,48,1724,103,72, + 73,105,2639,1741,1757,1749,1765,1758,45,1790, + 1783,1782,2057,1799,1798,1806,1823,140,1552,407, + 142,141,2936,25,28,891,2524,3576,26,925, + 23,27,22,24,1717,254,20,48,1724,103, + 72,73,105,2666,1741,1757,1749,1765,1758,45, + 1790,2410,1782,2696,1799,1798,1806,1823,140,2519, + 2789,157,141,2936,25,28,891,2819,3576,26, + 925,23,27,22,24,1717,254,20,48,1724, + 103,72,73,105,665,1741,1757,1749,1765,1758, + 45,1790,3001,1782,3366,1799,1798,1806,1823,140, + 1239,2037,137,141,3073,25,28,891,2819,3576, + 26,925,23,27,22,24,1717,254,20,48, + 1724,103,72,73,105,1975,1741,1757,1749,1765, + 1758,296,1790,2995,1782,1571,1799,1798,1806,1823, + 140,2996,2037,187,141,3152,25,28,891,2819, + 3576,26,925,23,27,22,24,1717,254,20, + 48,1724,103,72,73,105,2796,1741,1757,1749, + 1765,1758,304,1790,3002,1782,2819,1799,1798,1806, + 1831,162,3152,25,28,891,2648,3576,26,925, + 23,27,22,24,1717,254,20,48,1724,103, + 72,73,105,350,1741,1757,1749,1765,1758,1626, + 1790,349,1782,383,1799,1798,1806,1831,162,3152, + 25,28,891,3242,3576,26,925,23,27,22, + 24,1717,254,20,48,1724,103,72,73,105, + 278,1741,1757,1749,1765,1758,285,1790,3264,1782, + 1634,1799,1798,1806,1831,162,3152,25,28,891, + 2819,3576,26,925,23,27,22,24,1717,254, + 20,48,1724,103,72,73,105,2807,1741,1757, + 1749,1765,1758,3102,1790,3003,1782,3417,1799,1798, + 1806,1831,162,3191,25,28,891,2819,3576,26, + 925,23,27,22,24,1717,254,20,48,1724, + 103,72,73,105,3254,1741,1757,1749,1765,1758, + 412,1790,1302,1782,295,1799,1798,1806,1831,162, + 3152,25,28,891,3290,3576,26,925,23,27, + 22,24,1717,254,20,48,1724,103,72,73, + 105,1506,1741,1757,1749,1765,1758,413,1790,1578, + 1782,294,2992,3230,381,382,891,3315,4482,2527, + 272,69,25,28,891,229,254,26,925,3430, + 27,1102,440,160,1436,440,4642,3005,2658,4642, + 387,415,266,2504,3471,271,891,68,3152,25, + 28,891,3708,3576,26,925,23,27,22,24, + 1717,254,20,48,1724,103,72,73,105,224, + 1741,1757,1749,1765,1758,85,1790,99,3000,3255, + 3152,25,28,891,3263,3576,26,925,23,27, + 22,24,1717,254,20,48,1724,103,72,73, + 105,269,2664,268,267,227,222,223,3152,25, + 28,891,3292,3576,26,925,23,27,22,24, + 1717,254,20,48,1724,103,72,73,81,2652, + 233,236,239,242,2505,2659,1220,381,382,891, + 1081,1885,25,28,891,2963,2566,26,925,23, + 27,336,24,764,1421,3478,2550,3094,3264,3417, + 3967,3152,25,28,891,266,3576,26,925,23, + 27,22,24,1717,254,20,48,1724,103,72, + 73,105,2797,1741,1757,1749,1765,1758,1421,2958, + 820,3232,2658,433,1667,1675,437,1667,1675,434, + 1571,975,315,317,1550,1421,1739,2808,2143,3281, + 1172,1172,3359,1220,381,382,891,312,545,348, + 2504,2883,275,891,337,2271,268,267,2990,398, + 1642,347,3238,153,158,2182,274,341,1905,1913, + 346,446,266,160,3152,25,28,891,1635,3576, + 26,925,23,27,22,24,1717,254,20,48, + 1724,103,72,73,105,2993,1741,1757,1749,1765, + 2959,3152,25,28,891,322,3576,26,925,23, + 27,22,24,1717,254,20,48,1724,103,72, + 73,105,4314,1741,1757,1749,1765,2983,3364,356, + 2350,270,2143,268,267,1421,348,2735,45,1043, + 2819,3504,946,524,1915,1840,1864,2042,918,220, + 372,362,4666,3088,341,1905,1913,346,45,935, + 340,2663,1172,2650,3088,339,153,2143,3409,2672, + 3348,653,2143,208,2395,205,2598,68,198,206, + 207,209,3974,434,2271,1628,199,200,2358,220, + 2808,611,1737,2591,1172,210,201,202,203,204, + 290,291,292,293,279,2633,1560,1542,891,3265, + 4514,653,3441,208,327,205,2143,158,198,206, + 207,209,49,1737,45,3126,199,200,2143,2037, + 302,611,3148,220,46,210,201,202,203,204, + 290,291,292,293,3351,340,287,47,2611,288, + 836,1519,45,841,4488,653,2972,208,492,205, + 2511,299,198,206,207,209,926,381,382,891, + 199,200,3258,2358,3356,611,1293,1847,496,210, + 201,202,203,204,290,291,292,293,3518,3363, + 3159,1571,2143,489,491,46,45,528,1571,2613, + 2143,287,2649,2143,288,417,224,287,47,220, + 288,45,1519,2886,1372,1045,3258,340,429,431, + 340,1888,4293,2266,670,1661,381,382,891,21, + 1601,653,3536,208,2147,205,2143,3274,198,206, + 207,209,235,222,223,2358,199,200,2459,1737, + 494,611,1951,220,46,210,201,202,203,204, + 290,291,292,293,1569,2412,287,47,2650,288, + 45,1519,2143,3165,3512,653,1240,208,2504,205, + 273,891,198,206,207,209,2413,298,1501,2271, + 199,200,3258,234,2665,611,2807,2040,3772,210, + 201,202,203,204,290,291,292,293,842,25, + 28,891,3442,2566,26,925,23,27,336,24, + 2752,25,28,891,4029,2566,26,925,23,27, + 336,24,2676,1571,2993,1571,3258,3152,25,28, + 891,2077,3576,26,925,23,27,22,24,1717, + 254,20,48,1724,103,72,73,105,397,1741, + 1757,1749,2693,492,3164,443,438,2808,975,315, + 317,1172,348,905,381,382,891,1571,331,332, + 858,603,317,68,312,545,348,428,4725,514, + 341,1905,1913,346,158,406,45,1388,490,491, + 3719,2330,439,1737,341,1905,1913,346,67,386, + 415,3152,25,28,891,2330,3576,26,925,23, + 27,22,24,1717,254,20,48,1724,103,72, + 73,105,2366,1741,1757,1749,2795,3152,25,28, + 891,177,3576,26,925,23,27,22,24,1717, + 254,20,48,1724,103,72,73,105,585,1741, + 1757,1749,2858,3152,25,28,891,3242,3576,26, + 925,23,27,22,24,1717,254,20,48,1724, + 103,72,73,105,1737,1741,1757,1749,2930,1959, + 25,28,891,2963,2566,26,925,23,27,336, + 24,3152,25,28,891,2993,3576,26,925,23, + 27,22,24,1717,254,20,48,1724,103,72, + 73,105,193,1741,1757,2947,3152,25,28,891, + 664,3576,26,925,23,27,22,24,1717,254, + 20,48,1724,103,72,73,105,937,2665,975, + 315,317,87,2022,280,2028,524,2093,2783,3464, + 513,1172,901,918,2042,312,545,348,3088,4666, + 3349,45,1550,220,2143,1172,2143,918,515,153, + 1956,2065,3088,3533,153,341,1905,1913,346,2803, + 178,2271,2891,2271,3006,3092,516,208,3319,205, + 2642,2893,197,206,207,209,3316,167,3152,25, + 28,891,2895,3576,26,925,23,27,22,24, + 1717,254,20,48,1724,103,72,73,105,327, + 2686,181,165,166,168,169,170,171,172,3152, + 25,28,891,3575,3576,26,925,23,27,22, + 24,1717,254,20,48,1724,103,72,73,105, + 1,1741,1757,2953,524,492,2456,356,2228,3378, + 1948,381,382,891,1570,3355,1737,1661,381,382, + 891,220,3312,1840,1864,2979,352,153,1661,381, + 382,891,45,1293,1490,520,3932,2803,178,266, + 489,491,3379,3092,2738,208,46,205,2143,3380, + 197,206,207,209,192,167,91,46,287,47, + 3382,288,418,43,179,220,935,2987,3060,287, + 47,3088,288,3077,1519,3004,1839,2102,377,182, + 165,166,168,169,170,171,172,653,3396,208, + 224,205,2143,1571,198,206,207,209,3322,1571, + 268,267,199,200,45,2182,272,611,3802,220, + 3065,508,201,202,203,204,290,291,292,293, + 2504,3568,3289,891,66,2143,238,222,223,1504, + 51,653,3126,208,3008,205,271,891,198,206, + 207,209,220,41,1966,1571,199,200,1785,45, + 1831,611,1172,1308,1172,211,201,202,203,204, + 290,291,292,293,653,3613,208,396,205,2143, + 2678,198,206,207,209,153,83,153,918,199, + 200,3234,1571,3088,611,160,220,160,305,201, + 202,203,204,290,291,292,293,3008,3486,3394, + 891,1421,2143,2504,1581,3437,891,45,653,1737, + 208,2167,205,50,3392,198,206,207,209,220, + 1737,3417,3235,199,200,430,431,2139,611,3239, + 3266,1172,509,201,202,203,204,290,291,292, + 293,653,3643,208,327,205,2143,196,198,206, + 207,209,1571,3610,153,3920,199,200,194,1571, + 224,611,3378,220,3654,211,201,202,203,204, + 290,291,292,293,1220,381,382,891,1220,381, + 382,891,3394,3411,3707,653,901,208,94,205, + 86,1571,198,206,207,209,241,222,223,3377, + 199,200,2780,266,45,611,2366,266,1126,486, + 201,202,203,204,290,291,292,293,1894,25, + 28,891,3546,4652,26,925,23,27,336,24, + 3152,25,28,891,3428,3576,26,925,23,27, + 22,24,1717,254,20,48,1724,103,72,73, + 105,45,1741,2652,173,3851,2185,2637,524,84, + 1172,99,70,3458,268,267,68,1571,268,267, + 1737,1220,381,382,891,220,3432,3473,975,315, + 317,153,2977,153,328,1693,2143,3088,3470,1172, + 5008,2803,178,3669,313,545,348,3092,3612,208, + 266,205,5008,2271,197,206,207,209,400,167, + 351,1421,153,224,343,1905,1913,346,1507,520, + 259,3317,3280,195,524,2143,3642,5008,280,2028, + 231,254,5008,3109,165,166,168,169,170,171, + 172,220,220,1737,1737,1571,5008,153,327,244, + 222,223,1240,5008,2440,2065,45,2803,178,69, + 2962,268,267,3092,2720,208,401,205,5008,5008, + 197,206,207,209,224,167,3678,356,1571,2321, + 402,3208,3210,5008,611,45,345,2808,3378,3346, + 524,1172,2733,1840,1864,5008,1571,1571,95,174, + 165,166,168,169,170,171,172,220,2676,2067, + 232,222,223,153,158,1874,2748,381,382,891, + 3088,2808,5008,2803,178,1172,1110,2734,2905,3092, + 524,208,5008,205,5008,5008,197,206,207,209, + 5008,167,5008,5008,5008,46,5008,340,158,2003, + 1737,5008,431,153,326,332,524,287,47,5008, + 288,5008,1519,3153,1389,185,165,166,168,169, + 170,171,172,220,2808,2358,403,405,1172,153, + 2777,3575,1661,381,382,891,5008,3801,3812,2803, + 178,5008,1177,5008,1571,3092,524,208,5008,205, + 5008,158,197,206,207,209,5008,167,5008,1571, + 5008,46,5008,340,905,381,382,891,517,153, + 5008,3916,524,287,47,65,288,5008,1519,2598, + 1430,3436,165,166,168,169,170,171,172,220, + 64,2358,1737,419,1571,153,3205,1965,1661,381, + 382,891,3088,5008,93,2803,178,5008,1244,1240, + 3384,3092,524,208,2143,205,5008,5008,197,206, + 207,209,5008,167,3964,63,5008,46,5008,340, + 189,340,5008,2231,603,153,5008,1172,524,287, + 47,519,288,1571,1519,186,575,188,165,166, + 168,169,170,171,172,220,5008,4445,5008,2358, + 153,153,2977,328,522,2676,2143,3088,1571,5008, + 3704,2803,178,5008,62,348,45,3092,5008,208, + 2143,205,5008,2271,197,206,207,209,5008,167, + 5008,1571,1240,343,1905,1913,346,340,5008,3702, + 689,5008,1905,5008,524,45,1172,5008,5008,2143, + 5008,3364,332,184,165,166,168,169,170,171, + 172,220,53,5008,3351,2358,340,153,327,153, + 2509,905,381,382,891,5008,5008,2803,178,160, + 1311,1240,45,3092,524,208,2143,205,2676,5008, + 197,206,207,209,2358,167,5008,356,5008,2544, + 420,340,5008,340,5008,5008,775,153,3707,5008, + 524,1378,2733,1840,1864,524,5008,186,5008,191, + 165,166,168,169,170,171,172,220,5008,4445, + 5008,2358,340,153,3516,332,2574,2676,153,5008, + 3982,5008,5008,2803,178,5008,1571,3986,186,3092, + 1571,208,5008,205,5008,5008,197,206,207,209, + 4445,167,2626,25,28,891,2448,2566,26,925, + 23,27,336,24,976,5008,2277,52,524,5008, + 1172,3810,5008,3545,332,190,165,166,168,169, + 170,171,172,5008,1571,220,3427,3288,381,382, + 891,153,4482,153,1661,381,382,891,5008,230, + 254,160,871,3753,5008,5008,1571,3092,5008,5008, + 5008,2336,975,315,317,98,266,3505,45,5008, + 5008,5008,2143,46,5008,5008,5008,5008,312,545, + 5008,5008,5008,518,5008,287,47,3876,288,340, + 1519,798,2149,224,5008,5008,5008,5008,5008,1034, + 25,28,891,2448,2566,26,925,23,27,336, + 24,5008,5008,5008,5008,5008,5008,2358,5008,3503, + 5008,5008,2589,5008,5008,269,5008,268,267,228, + 222,223,3152,25,28,891,5008,3576,26,925, + 23,27,22,24,1717,254,20,48,1724,103, + 72,73,79,306,234,237,240,243,2505,975, + 315,317,5008,5008,1081,5008,5008,5008,5008,5008, + 5008,5008,5008,5008,5008,312,545,5008,5008,845, + 1242,5008,5008,5008,3152,25,28,891,1284,3576, + 26,925,23,27,22,24,1717,254,20,48, + 1724,103,72,73,78,5008,5008,3075,3152,25, + 28,891,5008,3576,26,925,23,27,22,24, + 1717,254,20,48,1724,103,72,73,77,3152, + 25,28,891,5008,3576,26,925,23,27,22, + 24,1717,254,20,48,1724,103,72,73,76, + 5008,5008,3152,25,28,891,408,3576,26,925, + 23,27,22,24,1717,254,20,48,1724,103, + 72,73,75,5008,5008,5008,5008,5008,5008,3152, + 25,28,891,3189,3576,26,925,23,27,22, + 24,1717,254,20,48,1724,103,72,73,74, + 3011,25,28,891,5008,3576,26,925,23,27, + 22,24,1717,254,20,48,1724,103,72,73, + 101,3152,25,28,891,5008,3576,26,925,23, + 27,22,24,1717,254,20,48,1724,103,72, + 73,107,3152,25,28,891,5008,3576,26,925, + 23,27,22,24,1717,254,20,48,1724,103, + 72,73,106,3152,25,28,891,5008,3576,26, + 925,23,27,22,24,1717,254,20,48,1724, + 103,72,73,104,3152,25,28,891,5008,3576, + 26,925,23,27,22,24,1717,254,20,48, + 1724,103,72,73,102,1168,25,28,891,2448, + 2566,26,925,23,27,336,24,5008,5008,5008, + 5008,5008,5008,240,25,28,891,2448,2566,26, + 925,23,27,336,24,3113,25,28,891,5008, + 3576,26,925,23,27,22,24,1717,254,20, + 48,1724,82,72,73,5008,5008,5008,5008,5008, + 1661,381,382,891,5008,975,315,317,240,25, + 28,891,2448,2566,26,925,23,27,336,24, + 5008,312,545,975,315,317,45,5008,3256,46, + 2143,5008,2143,3642,1284,5008,5008,5008,5008,312, + 545,287,47,5008,288,5008,1519,340,1389,220, + 5008,5008,798,3075,5008,326,25,28,891,2448, + 2566,26,925,23,27,336,24,5008,975,315, + 317,2720,5008,401,5008,2358,5008,5008,5008,5008, + 3538,5008,5008,5008,312,545,2321,402,5008,5008, + 5008,611,926,381,382,891,5008,1388,893,25, + 28,891,409,4652,26,925,23,27,336,24, + 5008,5008,5008,5008,307,975,315,317,2887,5008, + 5008,46,2143,5008,1354,381,382,891,5008,5008, + 5008,312,545,287,47,5008,288,5008,1519,340, + 1594,5008,5008,5008,3342,5008,5008,5008,5008,2343, + 45,5008,5008,46,2143,5008,2003,5008,975,315, + 317,5008,5008,5008,328,287,47,1378,288,5008, + 1519,340,44,5008,313,545,926,381,382,891, + 5008,2365,5008,403,404,5008,1882,381,382,891, + 5008,5008,5008,5008,1354,381,382,891,5008,2358, + 5008,5008,2323,5008,523,46,1172,5008,5008,5008, + 1929,5008,5008,3481,5008,46,5008,287,47,5008, + 288,2369,1519,46,44,1172,5008,287,47,153, + 288,5008,1519,561,44,287,47,5008,288,3778, + 1519,5008,44,605,2508,381,382,891,153,5008, + 5008,716,926,381,382,891,5008,5008,3261,5008, + 5008,5008,926,381,382,891,5008,5008,5008,5008, + 5008,5008,5008,46,5008,5008,926,381,382,891, + 5008,46,5008,5008,5008,287,47,5008,288,3267, + 1519,46,44,287,47,5008,288,5008,1519,5008, + 44,2560,5008,287,47,46,288,5008,1519,2773, + 1413,2762,381,382,891,5008,5008,287,47,2266, + 288,5008,1519,5008,44,1354,381,382,891,5008, + 5008,5008,5008,3674,5008,926,381,382,891,5008, + 46,5008,5008,5008,5008,5008,5008,5008,5008,5008, + 5008,5008,287,47,46,288,5008,1519,5008,1471, + 5008,5008,5008,5008,46,5008,287,47,2343,288, + 5008,1519,5008,1512,5008,5008,287,47,5008,288, + 5008,1519,3070,44,5008,5008,5008,5008,5008,5008, + 5008,5008,3841,5008,0,488,3104,0,1,221, + 0,1,938,0,1,2599,0,1,933,34, + 0,1,768,0,1,4398,0,1122,34,0, + 441,1336,0,30,500,0,1553,45,0,933, + 33,0,1553,34,0,30,277,253,0,30, + 500,277,253,0,30,289,0,1,1881,0, + 1,1922,0,1121,314,0,5333,432,0,1747, + 432,0,445,1018,0,444,2284,0,30,289, + 297,0,44,32,0,5038,34,0,933,34, + 0,1,2177,0,1,5273,0,1,5272,0, + 1,5271,0,1,5270,0,1,5269,0,1, + 5268,0,1,5267,0,1,5266,0,1,5265, + 0,1,5264,0,1,5263,0,40,5039,0, + 40,32,0,1,5041,221,0,1,34,221, + 0,5038,32,0,2837,123,0,22,507,0, + 5017,399,0,289,297,0,1,5041,0,1, + 34,0,1,221,2242,0,5017,221,0,2971, + 88,0,382,28,0,381,25,0,34,938, + 0,5039,42,0,32,42,0,1,3066,34, + 0,154,173,0,229,2490,0,2837,125,0, + 2837,124,0,221,161,0,1,89,0,5038, + 5,32,0,5508,31,0,5333,92,0,1747, + 92,0,183,3744,0,273,3547,0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -1054,51 +1041,51 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym 30,31,32,33,34,35,36,37,38,39, 40,41,42,43,0,45,46,47,48,49, 50,51,52,53,54,55,56,57,58,59, - 60,0,1,63,64,65,66,6,24,0, - 1,71,3,0,74,75,76,77,78,79, + 60,0,0,63,64,65,66,0,0,1, + 3,71,4,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, - 57,45,46,47,48,49,50,51,52,53, - 54,55,56,57,58,59,60,0,0,63, - 64,65,66,0,1,2,3,4,0,6, + 68,45,46,47,48,49,50,51,52,53, + 54,55,56,57,58,59,60,86,87,63, + 64,65,66,0,1,2,3,4,5,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,68,45,46,47, + 38,39,40,41,42,43,57,45,46,47, 48,49,50,51,52,53,54,55,56,57, - 58,59,60,86,87,63,64,65,66,0, - 1,2,3,4,0,6,74,75,76,77, + 58,59,60,0,0,63,64,65,66,0, + 1,2,3,4,5,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,58,45,46,47,48,49,50,51, - 52,53,54,55,56,57,58,59,60,0, - 0,63,64,65,66,0,1,2,3,4, - 0,6,74,75,76,77,78,79,80,81, + 42,43,68,45,46,47,48,49,50,51, + 52,53,54,55,56,57,58,59,60,86, + 87,63,64,65,66,0,1,2,3,4, + 5,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,68,45, + 36,37,38,39,40,41,42,43,0,45, 46,47,48,49,50,51,52,53,54,55, - 56,57,58,59,60,86,87,63,64,65, - 66,0,1,0,3,4,3,6,74,75, + 56,57,58,59,60,0,0,63,64,65, + 66,0,1,0,3,4,5,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,0,45,46,47,48,49, + 40,41,42,43,61,45,46,47,48,49, 50,51,52,53,54,55,56,57,58,59, - 60,0,1,63,64,65,66,0,1,0, - 3,4,0,6,74,75,76,77,78,79, + 60,86,87,63,64,65,66,0,1,0, + 3,4,5,97,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, @@ -1106,43 +1093,43 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym 34,35,36,37,38,39,40,41,42,43, 61,45,46,47,48,49,50,51,52,53, 54,55,56,57,58,59,60,0,0,63, - 64,65,66,0,1,8,9,4,0,6, + 64,65,66,0,0,8,9,0,1,6, 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,68,45,46,47, + 38,39,40,41,42,43,59,45,46,47, 48,49,50,51,52,53,54,55,56,57, 58,59,60,0,0,63,64,65,66,0, - 0,0,0,2,5,3,74,75,76,77, + 86,87,89,90,0,6,74,75,76,77, 78,79,80,81,82,83,84,85,0,1, 2,3,4,5,6,7,8,9,10,11, 12,13,14,15,16,17,18,19,20,21, 22,23,24,25,26,27,28,29,30,31, 32,33,34,35,36,37,38,39,40,41, - 42,43,61,45,46,47,48,49,50,51, + 42,43,68,45,46,47,48,49,50,51, 52,53,54,55,56,57,58,59,60,86, - 87,63,64,65,66,0,86,87,89,90, - 0,0,74,75,76,77,78,79,80,81, + 87,63,64,65,66,0,1,0,89,90, + 5,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,57,45, + 36,37,38,39,40,41,42,43,61,45, 46,47,48,49,50,51,52,53,54,55, 56,57,58,59,60,0,0,63,64,65, - 66,5,0,0,0,1,3,3,74,75, + 66,0,1,2,3,4,5,0,74,75, 76,77,78,79,80,81,82,83,84,85, 0,1,2,3,4,5,6,7,8,9, - 0,11,12,0,1,2,3,42,5,119, - 7,46,47,48,49,50,51,52,53,54, + 0,11,12,0,0,1,41,3,4,5, + 119,46,47,48,49,50,51,52,53,54, 55,56,0,1,2,3,4,5,6,7, - 40,57,42,0,62,62,46,47,48,49, - 50,51,52,53,54,55,56,0,0,0, - 1,61,62,4,7,89,90,67,68,69, - 70,71,62,73,61,0,1,0,3,2, - 5,0,7,2,0,0,86,87,88,89, + 0,41,61,43,0,1,46,47,48,49, + 50,51,52,53,54,55,56,0,44,0, + 3,61,62,6,7,0,1,67,68,69, + 70,71,59,73,0,1,0,3,68,39, + 6,7,69,73,8,9,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, @@ -1151,220 +1138,219 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym 25,26,27,28,29,30,31,32,33,34, 35,36,37,38,39,40,41,42,43,0, 45,46,47,48,49,50,51,52,53,54, - 55,56,88,58,116,117,118,0,94,64, + 55,56,57,0,1,2,3,4,5,64, 65,66,0,1,2,3,4,5,6,7, 8,9,10,11,12,13,14,15,16,17, 18,19,20,21,22,23,24,25,26,27, 28,29,30,31,32,33,34,35,36,37, - 38,39,0,41,42,43,67,45,46,47, - 48,49,50,51,52,53,54,55,56,0, - 58,2,0,0,67,68,64,65,66,0, + 38,39,40,41,42,0,67,45,46,47, + 48,49,50,51,52,53,54,55,56,57, + 0,0,1,70,3,0,64,65,66,0, 1,2,3,4,5,6,7,8,9,10, 11,12,13,14,15,16,17,18,19,20, 21,22,23,24,25,26,27,28,29,30, - 31,32,33,34,35,36,37,38,39,0, - 41,42,43,71,45,46,47,48,49,50, - 51,52,53,54,55,56,0,58,69,67, - 68,0,0,64,65,66,0,1,2,3, + 31,32,33,34,35,36,37,38,39,40, + 41,42,67,68,45,46,47,48,49,50, + 51,52,53,54,55,56,57,0,1,2, + 3,4,5,64,65,66,0,1,2,3, 4,5,6,7,8,9,10,11,12,13, 14,15,16,17,18,19,20,21,22,23, 24,25,26,27,28,29,30,31,32,33, - 34,35,36,37,38,39,44,41,42,43, - 0,45,46,47,48,49,50,51,52,53, - 54,55,56,0,58,86,87,0,67,68, + 34,35,36,37,38,39,40,41,42,0, + 1,45,46,47,48,49,50,51,52,53, + 54,55,56,57,0,0,2,70,0,0, 64,65,66,0,1,2,3,4,5,6, 7,8,9,10,11,12,13,14,15,16, 17,18,19,20,21,22,23,24,25,26, 27,28,29,30,31,32,33,34,35,36, - 37,38,39,0,41,42,43,67,45,46, + 37,38,39,40,41,42,47,48,45,46, 47,48,49,50,51,52,53,54,55,56, - 0,58,0,1,0,3,73,64,65,66, + 57,0,0,69,2,67,68,64,65,66, 0,1,2,3,4,5,6,7,8,9, 10,11,12,13,14,15,16,17,18,19, 20,21,22,23,24,25,26,27,28,29, 30,31,32,33,34,35,36,37,38,39, - 113,41,42,43,71,45,46,47,48,49, - 50,51,52,53,54,55,56,0,58,0, - 1,67,0,0,64,65,66,0,1,2, + 40,41,42,0,1,45,46,47,48,49, + 50,51,52,53,54,55,56,57,67,68, + 0,0,0,2,64,65,66,0,1,2, 3,4,5,6,7,8,9,10,11,12, 13,14,15,16,17,18,19,20,21,22, 23,24,25,26,27,28,29,30,31,32, - 33,34,35,36,37,38,39,44,41,42, - 43,0,45,46,47,48,49,50,51,52, - 53,54,55,56,62,58,0,70,0,0, + 33,34,35,36,37,38,39,40,41,42, + 0,0,45,46,47,48,49,50,51,52, + 53,54,55,56,57,0,1,0,3,2, 0,64,65,66,0,1,2,3,4,5, 6,7,8,9,10,11,12,13,14,15, 16,17,18,19,20,21,22,23,24,25, 26,27,28,29,30,31,32,33,34,35, - 36,37,38,39,0,0,42,47,48,0, + 36,37,38,39,44,41,116,117,118,0, 46,47,48,49,50,51,52,53,54,55, - 56,62,58,0,1,69,3,69,64,65, - 66,0,0,2,0,1,5,0,7,8, - 9,0,11,12,3,13,14,15,16,17, - 18,19,20,21,22,23,100,0,102,103, - 104,105,106,107,108,109,110,111,112,46, - 61,40,0,1,42,3,0,73,46,47, - 48,49,50,51,52,53,54,55,56,0, - 1,57,61,62,57,0,39,93,67,68, - 69,70,71,62,73,0,69,0,1,0, - 1,2,3,4,0,6,44,86,87,88, - 89,90,91,92,93,94,95,96,97,98, - 99,100,101,102,103,104,105,106,107,108, - 109,110,111,112,113,114,0,0,2,40, - 0,5,0,7,8,9,42,11,12,0, - 46,47,48,49,50,51,52,53,54,55, - 56,0,1,2,3,4,100,6,0,70, - 0,0,1,5,3,4,40,6,112,42, - 95,96,40,46,47,48,49,50,51,52, - 53,54,55,56,24,0,0,61,62,3, - 0,40,2,67,68,69,70,71,68,73, - 68,0,1,73,3,44,5,68,7,0, - 71,0,86,87,88,89,90,91,92,93, - 94,95,96,97,98,99,100,101,102,103, - 104,105,106,107,108,109,110,111,112,113, - 114,0,1,2,3,4,5,6,7,8, - 9,10,11,12,13,14,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,74,43,0,45,0,1,2, - 3,4,5,6,7,8,9,10,11,12, - 13,14,15,16,17,18,19,20,21,22, - 23,24,25,26,27,28,29,30,31,32, - 33,34,35,36,37,38,39,40,41,0, - 43,2,45,0,1,2,3,4,5,6, - 7,8,9,10,11,12,13,14,15,16, - 17,18,19,20,21,22,23,24,25,26, - 27,28,29,30,31,32,33,34,35,36, - 37,38,39,40,41,0,43,2,45,0, - 1,2,3,4,5,6,7,8,9,10, - 11,12,13,14,15,16,17,18,19,20, - 21,22,23,24,25,26,27,28,29,30, - 31,32,33,34,35,36,37,38,39,0, - 41,2,43,0,45,0,1,2,3,4, - 7,6,0,1,2,3,4,5,6,7, - 0,0,1,2,3,4,5,6,7,0, - 0,0,73,0,1,2,3,4,5,6, - 7,8,9,10,11,12,13,14,15,16, - 17,18,19,20,21,22,23,24,25,26, - 27,28,29,30,31,32,33,34,35,36, - 37,38,39,61,41,70,43,57,45,0, - 0,69,61,3,5,5,57,7,0,1, - 2,3,4,62,6,0,1,0,3,70, - 5,70,7,74,0,0,73,0,1,2, - 3,4,5,6,7,8,9,10,11,12, - 13,14,15,16,17,18,19,20,21,22, - 23,24,25,26,27,28,29,30,31,32, - 33,34,35,36,37,38,39,42,41,61, - 43,46,47,48,49,50,51,52,53,54, - 55,56,0,0,0,61,3,70,89,90, - 0,0,1,0,67,0,1,2,3,4, - 5,6,7,8,9,10,11,12,13,14, - 15,16,17,18,19,20,21,22,23,24, - 25,26,27,28,29,30,31,32,33,34, - 35,36,37,38,39,44,41,44,43,57, - 45,0,1,2,3,4,5,6,7,8, - 9,10,11,12,13,14,15,16,17,18, - 19,20,21,22,23,24,25,26,27,28, - 29,30,31,32,33,34,35,36,37,38, - 39,97,41,93,43,0,45,0,1,2, - 3,4,5,6,7,8,9,10,11,12, - 13,14,15,16,17,18,19,20,21,22, - 23,24,25,26,27,28,29,30,31,32, - 33,34,35,36,37,38,39,0,41,2, - 43,46,45,0,1,2,3,4,5,6, - 7,8,9,10,11,12,13,14,15,16, - 17,18,19,20,21,22,23,24,25,26, - 27,28,29,30,31,32,33,34,35,36, - 37,38,39,0,41,2,43,0,45,0, - 1,2,3,4,5,6,7,8,9,10, - 11,12,13,14,15,16,17,18,19,20, - 21,22,23,24,25,26,27,28,29,30, - 31,32,33,34,35,36,37,38,39,0, - 41,2,43,0,45,0,1,2,3,4, - 5,6,7,8,9,10,11,12,13,14, - 15,16,17,18,19,20,21,22,23,24, - 25,26,27,28,29,30,31,32,33,34, - 35,36,37,38,39,0,41,2,43,0, - 45,0,1,2,3,4,5,6,7,8, - 9,10,11,12,13,14,15,16,17,18, - 19,20,21,22,23,24,25,26,27,28, - 29,30,31,32,33,34,35,36,37,38, - 39,0,41,2,43,0,45,0,1,2, - 3,4,5,6,7,8,9,10,11,12, - 13,14,15,16,17,18,19,20,21,22, - 23,24,25,26,27,28,29,30,31,32, - 33,34,35,36,37,38,39,0,41,0, - 43,0,45,0,1,2,3,4,5,6, - 7,8,9,10,11,12,13,14,15,16, - 17,18,19,20,21,22,23,24,25,26, - 27,28,29,30,31,32,33,34,35,36, - 37,38,39,0,41,0,43,0,1,2, - 3,4,5,6,7,8,9,10,11,12, - 13,14,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,0,88, - 0,1,0,94,2,94,8,9,0,0, - 0,0,2,2,57,62,8,9,0,10, - 0,1,0,1,0,1,0,1,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,60, - 41,61,43,0,1,2,3,4,5,6, - 7,8,9,10,11,12,13,14,15,16, - 17,18,19,20,21,22,23,24,25,26, - 27,28,29,30,31,32,33,34,35,36, - 37,38,39,0,0,2,0,4,5,0, - 7,8,9,0,11,12,3,0,1,0, - 57,0,0,0,1,2,3,4,25,6, - 0,1,10,0,71,5,0,0,2,0, - 1,4,3,4,41,6,43,11,12,40, - 0,1,0,1,0,3,0,5,41,7, - 43,57,0,57,61,62,44,0,0,1, - 67,68,69,40,44,0,0,2,0,1, - 58,0,0,44,61,0,0,2,69,86, - 87,88,89,90,91,92,73,61,95,96, - 97,98,99,100,101,102,103,104,105,106, - 107,108,109,110,111,0,62,2,62,4, - 5,0,7,8,9,73,11,12,0,1, - 2,3,4,5,6,7,61,101,0,1, - 25,0,67,68,62,93,61,61,73,67, - 114,10,0,0,1,88,41,4,43,0, - 98,94,10,0,0,1,0,1,40,93, - 42,0,44,91,92,0,61,62,0,41, - 99,43,67,68,69,44,0,59,60,68, - 62,63,0,1,0,0,2,44,0,58, - 72,86,87,88,89,90,91,92,44,0, + 56,57,0,0,2,0,0,2,64,65, + 66,6,7,8,9,0,11,12,3,13, + 14,15,16,17,18,19,20,21,22,23, + 41,0,1,113,3,46,47,48,49,50, + 51,52,53,54,55,56,43,41,43,0, + 0,0,46,47,48,49,50,51,52,53, + 54,55,56,61,0,0,61,62,0,0, + 0,68,67,68,69,70,71,0,73,2, + 0,0,1,6,7,8,9,6,11,12, + 59,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,0,1,2, - 3,4,5,6,7,8,9,10,11,12, - 13,14,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,69,73,98, - 95,96,0,1,115,97,0,0,69,2, - 0,0,2,2,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,0,1,2,3,4,5, + 105,106,107,108,109,110,111,112,113,114, + 43,41,73,59,74,44,46,47,48,49, + 50,51,52,53,54,55,56,68,61,62, + 71,0,93,73,67,68,69,70,71,98, + 73,0,1,88,3,0,88,6,7,94, + 0,1,94,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,0,42,43,0,45,0,1, + 2,3,4,5,6,7,8,9,10,11, + 12,13,14,15,16,17,18,19,20,21, + 22,23,24,25,26,27,28,29,30,31, + 32,33,34,35,36,37,38,39,40,43, + 42,43,0,45,0,1,2,3,4,5, 6,7,8,9,10,11,12,13,14,15, 16,17,18,19,20,21,22,23,24,25, 26,27,28,29,30,31,32,33,34,35, - 36,37,38,39,0,0,0,2,2,0, - 0,2,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,115,0,1,0,1,0,1,113,0, + 36,37,38,39,40,0,42,43,3,45, + 0,1,2,3,4,5,6,7,8,9, + 10,11,12,13,14,15,16,17,18,19, + 20,21,22,23,24,25,26,27,28,29, + 30,31,32,33,34,35,36,37,38,39, + 40,0,42,0,1,45,3,95,96,6, + 7,0,1,0,0,1,2,3,4,5, + 6,7,0,0,1,2,3,4,5,6, + 7,0,10,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,61,42,0,1,45, + 0,4,60,69,61,0,6,0,0,1, + 2,3,4,5,0,1,2,3,0,0, + 6,7,0,0,0,3,2,73,0,1, + 2,3,4,5,6,7,8,9,10,11, + 12,13,14,15,16,17,18,19,20,21, + 22,23,24,25,26,27,28,29,30,31, + 32,33,34,35,36,37,38,39,40,61, + 42,0,0,0,69,61,3,59,59,8, + 9,73,59,0,62,61,0,1,0,89, + 90,0,1,10,3,67,0,1,2,3, + 4,5,6,7,8,9,10,11,12,13, + 14,15,16,17,18,19,20,21,22,23, + 24,25,26,27,28,29,30,31,32,33, + 34,35,36,37,38,39,40,46,42,0, + 1,45,0,1,2,3,4,5,6,7, + 8,9,10,11,12,13,14,15,16,17, + 18,19,20,21,22,23,24,25,26,27, + 28,29,30,31,32,33,34,35,36,37, + 38,39,40,44,42,0,1,45,0,1, + 2,3,4,5,6,7,8,9,10,11, + 12,13,14,15,16,17,18,19,20,21, + 22,23,24,25,26,27,28,29,30,31, + 32,33,34,35,36,37,38,39,40,44, + 42,0,1,45,0,1,2,3,4,5, + 6,7,8,9,10,11,12,13,14,15, + 16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,30,31,32,33,34,35, + 36,37,38,39,40,44,42,0,1,45, + 0,1,2,3,4,5,6,7,8,9, + 10,11,12,13,14,15,16,17,18,19, + 20,21,22,23,24,25,26,27,28,29, + 30,31,32,33,34,35,36,37,38,39, + 40,44,42,0,1,45,0,1,2,3, + 4,5,6,7,8,9,10,11,12,13, + 14,15,16,17,18,19,20,21,22,23, + 24,25,26,27,28,29,30,31,32,33, + 34,35,36,37,38,39,40,44,42,0, + 1,45,0,1,2,3,4,5,6,7, + 8,9,10,11,12,13,14,15,16,17, + 18,19,20,21,22,23,24,25,26,27, + 28,29,30,31,32,33,34,35,36,37, + 38,39,40,44,42,0,1,45,0,1, + 2,3,4,5,6,7,8,9,10,11, + 12,13,14,15,16,17,18,19,20,21, + 22,23,24,25,26,27,28,29,30,31, + 32,33,34,35,36,37,38,39,40,0, + 42,0,0,45,0,1,2,3,4,5, + 6,7,8,9,10,11,12,13,14,15, + 16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,30,31,32,33,34,35, + 36,37,38,39,40,0,42,0,1,2, + 3,4,5,6,7,8,9,10,11,12, + 13,14,15,16,17,18,19,20,21,22, + 23,24,25,26,27,28,29,30,31,32, + 33,34,35,36,37,38,39,0,0,88, + 88,0,1,0,1,94,94,0,1,100, + 0,1,0,0,2,2,59,62,0,0, + 1,112,24,0,6,70,0,1,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,44,62, - 44,62,70,69,68,70,68,61,75,69, - 68,70,67,70,67,67,67,93,0,69, - 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, - 39,0,1,2,3,4,5,6,7,8, + 31,32,33,34,35,36,37,38,39,40, + 44,42,0,1,2,3,4,5,6,7, + 8,9,10,11,12,13,14,15,16,17, + 18,19,20,21,22,23,24,25,26,27, + 28,29,30,31,32,33,34,35,36,37, + 38,39,0,0,2,0,4,0,6,7, + 8,9,99,11,12,0,1,2,3,4, + 5,59,0,1,0,3,0,25,0,24, + 0,0,2,71,0,7,2,0,7,0, + 3,0,40,2,42,11,12,0,0,10, + 2,44,0,1,0,0,2,0,43,0, + 3,0,1,61,62,62,44,41,0,67, + 68,69,46,47,48,49,50,51,52,53, + 54,55,56,44,0,0,62,0,86,87, + 88,89,90,91,92,61,57,95,96,97, + 98,99,100,101,102,103,104,105,106,107, + 108,109,110,111,0,61,2,70,4,62, + 6,7,8,9,69,11,12,0,1,2, + 3,4,5,6,7,101,0,0,1,25, + 0,0,1,2,3,4,5,62,114,62, + 0,0,1,69,40,100,42,102,103,104, + 105,106,107,108,109,110,111,112,41,0, + 43,44,0,4,115,61,62,40,0,42, + 0,67,68,69,43,58,0,60,2,62, + 63,40,0,42,44,59,0,0,0,72, + 86,87,88,89,90,91,92,0,0,95, + 96,97,98,99,100,101,102,103,104,105, + 106,107,108,109,110,111,0,1,2,3, + 4,5,6,7,8,9,10,11,12,13, + 14,15,16,17,18,19,20,21,22,23, + 24,25,26,27,28,29,30,31,32,33, + 34,35,36,37,38,39,70,95,96,62, + 73,93,0,93,2,0,0,2,2,71, + 0,0,0,0,0,59,0,1,2,3, + 4,5,6,7,8,9,10,11,12,13, + 14,15,16,17,18,19,20,21,22,23, + 24,25,26,27,28,29,30,31,32,33, + 34,35,36,37,38,0,1,2,3,4, + 5,6,7,8,9,10,11,12,13,14, + 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,1,0,3, + 2,0,6,7,0,0,0,97,2,0, + 98,2,0,99,0,0,0,0,0,0, + 0,0,0,0,0,2,115,0,1,113, + 0,1,2,3,4,5,6,7,8,9, + 10,11,12,13,14,15,16,17,18,19, + 20,21,22,23,24,25,26,27,28,29, + 30,31,32,33,34,35,36,37,38,73, + 61,59,71,69,69,61,67,68,62,62, + 62,62,73,68,0,61,2,67,67,93, + 68,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,39,0,1,2,3,4,5,6,7, + 8,9,10,11,12,13,14,15,16,17, + 18,19,20,21,22,23,24,25,26,27, + 28,29,30,31,32,33,34,35,36,37, + 38,0,1,2,3,4,5,6,7,8, 9,10,11,12,13,14,15,16,17,18, 19,20,21,22,23,24,25,26,27,28, 29,30,31,32,33,34,35,36,37,38, @@ -1372,66 +1358,54 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym 10,11,12,13,14,15,16,17,18,19, 20,21,22,23,24,25,26,27,28,29, 30,31,32,33,34,35,36,37,38,0, - 1,2,3,4,5,6,7,8,9,10, - 11,12,13,14,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,0,3,10,3,0, + 1,0,3,0,0,2,2,0,0,10, + 2,0,13,14,15,16,17,18,19,20, + 21,22,23,0,0,0,1,2,3,4, + 5,6,7,0,0,0,0,2,0,1, + 41,3,4,5,43,46,47,48,49,50, + 51,52,53,54,55,56,57,0,1,0, + 3,0,0,64,65,66,43,10,43,44, 13,14,15,16,17,18,19,20,21,22, - 23,0,1,0,0,1,2,3,4,5, - 6,7,0,0,2,2,0,1,0,42, - 0,40,40,46,47,48,49,50,51,52, - 53,54,55,56,0,58,0,1,0,3, - 0,64,65,66,40,44,10,0,44,13, - 14,15,16,17,18,19,20,21,22,23, - 44,0,1,59,0,1,2,3,4,5, - 6,7,0,70,70,71,72,0,42,61, - 0,0,46,47,48,49,50,51,52,53, - 54,55,56,0,58,2,0,0,0,115, - 64,65,66,69,40,44,0,69,44,120, - 70,0,1,2,3,4,5,6,7,99, - 116,117,118,59,0,0,1,2,3,4, - 5,6,7,0,70,71,72,4,40,62, - 0,0,0,62,0,73,0,0,67,0, - 0,40,0,42,57,44,0,1,2,3, - 4,5,6,7,24,40,68,42,0,44, - 59,60,91,92,63,0,0,0,0,0, - 116,117,118,72,59,60,0,0,63,0, - 0,0,0,0,0,0,40,72,42,0, - 44,0,1,2,3,4,5,6,7,62, - 0,0,0,0,67,59,60,0,0,63, - 0,0,0,0,0,0,0,71,72,0, - 119,0,0,0,0,0,0,0,91,92, - 0,40,0,42,119,44,0,1,2,3, - 4,5,6,7,0,0,0,0,0,0, - 59,60,0,0,63,0,0,0,0,0, - 0,0,71,72,0,0,0,0,0,0, - 0,0,0,0,0,0,40,0,42,0, - 44,0,1,2,3,4,5,6,7,0, - 0,0,0,0,0,59,60,0,0,63, - 0,0,0,0,0,0,0,71,72,0, - 0,0,0,0,0,0,0,0,0,0, - 0,40,0,42,0,44,0,1,2,3, - 4,5,6,7,0,0,0,0,0,0, - 59,60,0,0,63,0,0,0,0,0, - 0,0,71,72,0,0,0,0,0,0, - 0,0,0,0,0,0,40,0,42,0, - 44,0,1,2,3,4,5,6,7,0, - 0,0,0,0,0,59,60,0,0,63, - 0,0,0,0,0,0,0,71,72,0, - 0,1,2,3,4,5,6,7,0,0, - 0,40,0,42,0,44,0,0,0,0, + 23,70,44,58,0,0,0,1,2,3, + 4,5,6,7,70,70,71,72,41,0, + 93,67,69,46,47,48,49,50,51,52, + 53,54,55,56,57,0,1,0,0,4, + 0,64,65,66,0,0,0,68,10,43, + 44,70,0,0,1,2,3,4,5,6, + 7,116,117,118,58,46,0,0,0,0, + 3,0,68,0,0,70,70,71,72,44, + 43,0,44,0,0,0,1,2,3,4, + 5,6,7,0,41,57,43,44,0,1, + 2,3,4,5,6,7,0,67,2,0, + 0,58,67,60,70,69,63,0,0,67, + 3,0,116,117,118,72,41,61,43,44, + 0,1,2,3,4,5,6,7,70,41, + 69,43,44,58,75,60,73,0,63,2, + 69,0,69,0,0,62,58,72,60,0, + 67,63,0,4,2,0,0,0,59,71, + 72,41,119,43,44,0,1,2,3,4, + 5,6,7,0,91,92,0,0,58,115, + 60,24,0,63,0,0,0,0,0,0, + 0,71,72,0,119,0,0,0,1,2, + 3,4,5,6,7,62,41,0,43,44, + 67,0,0,0,0,0,1,2,3,4, + 5,6,7,58,0,60,0,0,63,0, + 0,120,0,0,91,92,71,72,41,62, + 43,44,0,0,0,0,0,0,1,2, + 3,4,5,6,7,58,41,60,43,44, + 63,0,0,0,0,0,0,0,71,72, + 0,0,0,58,62,60,0,0,63,67, + 0,0,0,0,0,0,71,72,41,0, + 43,44,0,1,2,3,4,5,6,7, + 0,0,0,91,92,58,0,60,0,0, + 63,0,0,0,0,0,0,0,0,72, 0,0,0,1,2,3,4,5,6,7, - 59,60,0,0,63,0,0,0,0,0, - 40,0,42,72,44,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,59, - 60,0,40,63,42,0,44,0,0,0, - 0,0,72,0,0,0,0,0,0,0, - 0,59,60,0,0,63,0,0,0,0, + 0,0,0,41,0,43,44,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 58,0,60,0,0,63,0,0,0,0, + 0,0,0,41,72,43,44,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 58,0,60,0,0,63,0,0,0,0, 0,0,0,0,72,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, @@ -1445,391 +1419,378 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface TermAction { public final static char termAction[] = {0, - 5073,5008,4850,4850,4850,4850,4850,4850,1,1, + 5008,4942,4788,4788,4788,4788,4788,4788,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 5012,1,1,1,5073,2065,1,1,1,1, - 1,1,1,1,1,1,1,925,1,553, - 2055,33,4881,571,1,1,1,642,605,5073, - 4927,5081,5106,1,2317,2018,3193,1960,3051,1886, - 3500,1991,2028,1954,2326,1952,5073,5008,4850,4850, - 4850,4850,4850,4850,1,1,1,1,1,1, + 1,1,1,4946,1,2470,1,1,1,1, + 1,1,1,1,1,1,1,1,570,1051, + 2469,118,308,613,1,1,1,34,5008,933, + 5041,5016,938,2599,597,2351,3076,1962,2884,2209, + 3414,2312,2461,2265,3445,2259,5008,4942,4788,4788, + 4788,4788,4788,4788,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,5012,1,1,1, - 1053,2065,1,1,1,1,1,1,1,1, - 1,1,1,925,1,553,2055,118,308,571, - 1,1,1,1,4859,4866,4863,4853,1,4856, - 2317,2018,3193,1960,3051,1886,3500,1991,2028,1954, - 2326,1952,5073,5008,4850,4850,4850,4850,4850,4850, + 1,1,1,1,1,1,1,1,1,4946, + 4353,2470,1,1,1,1,1,1,1,1, + 1,1,1,1,570,1051,2469,2901,3039,613, + 1,1,1,1,4797,4804,4801,4791,4794,5008, + 597,2351,3076,1962,2884,2209,3414,2312,2461,2265, + 3445,2259,5008,4942,4788,4788,4788,4788,4788,4788, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,5012,1,1,1,4291,2065,1,1, - 1,1,1,1,1,1,1,1,1,925, - 1,553,2055,2969,2994,571,1,1,1,1, - 4859,4396,4863,834,5073,2512,2317,2018,3193,1960, - 3051,1886,3500,1991,2028,1954,2326,1952,5073,5008, - 4850,4850,4850,4850,4850,4850,1,1,1,1, + 1,1,1,1,1,4946,2529,2470,1,1, 1,1,1,1,1,1,1,1,1,1, + 570,1051,2469,122,436,613,1,1,1,1, + 4797,4398,4801,938,2599,5008,597,2351,3076,1962, + 2884,2209,3414,2312,2461,2265,3445,2259,5008,4942, + 4788,4788,4788,4788,4788,4788,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,5012,1, - 1,1,2230,2065,1,1,1,1,1,1, - 1,1,1,1,1,925,1,553,2055,122, - 438,571,1,1,1,1,4859,4396,4863,834, - 5073,2512,2317,2018,3193,1960,3051,1886,3500,1991, - 2028,1954,2326,1952,5073,5008,4850,4850,4850,4850, - 4850,4850,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,5012,1,1,1,2553,2065, + 1,4946,2164,2470,1,1,1,1,1,1, + 1,1,1,1,1,1,570,1051,2469,2901, + 3039,613,1,1,1,1,4797,4398,4801,938, + 2599,5008,597,2351,3076,1962,2884,2209,3414,2312, + 2461,2265,3445,2259,5008,4942,4788,4788,4788,4788, + 4788,4788,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,925,1,553,2055,2969,2994,571,1,1, - 1,5073,4930,34,770,834,5106,2512,2317,2018, - 3193,1960,3051,1886,3500,1991,2028,1954,2326,1952, - 5073,5008,4850,4850,4850,4850,4850,4850,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,4946,5008,2470, 1,1,1,1,1,1,1,1,1,1, + 1,1,570,1051,2469,121,130,613,1,1, + 1,5008,4868,316,768,938,2599,5008,597,2351, + 3076,1962,2884,2209,3414,2312,2461,2265,3445,2259, + 5008,4942,4788,4788,4788,4788,4788,4788,1,1, 1,1,1,1,1,1,1,1,1,1, - 5012,1,1,1,5073,2065,1,1,1,1, - 1,1,1,1,1,1,1,925,1,553, - 2055,5073,818,571,1,1,1,5073,4930,316, - 770,834,5073,2512,2317,2018,3193,1960,3051,1886, - 3500,1991,2028,1954,2326,1952,5073,5008,4850,4850, - 4850,4850,4850,4850,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,5012,1,1,1, - 779,2065,1,1,1,1,1,1,1,1, - 1,1,1,925,1,553,2055,115,358,571, - 1,1,1,5073,818,3475,3394,834,5073,2512, - 2317,2018,3193,1960,3051,1886,3500,1991,2028,1954, - 2326,1952,5073,5008,4850,4850,4850,4850,4850,4850, + 1,1,1,4946,777,2470,1,1,1,1, + 1,1,1,1,1,1,1,1,570,1051, + 2469,2901,3039,613,1,1,1,5008,4868,445, + 768,938,2599,2178,597,2351,3076,1962,2884,2209, + 3414,2312,2461,2265,3445,2259,5008,4942,4788,4788, + 4788,4788,4788,4788,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,4946, + 4852,2470,1,1,1,1,1,1,1,1, + 1,1,1,1,570,1051,2469,115,5008,613, + 1,1,1,112,120,3390,816,5008,1234,3008, + 597,2351,3076,1962,2884,2209,3414,2312,2461,2265, + 3445,2259,5008,4942,4788,4788,4788,4788,4788,4788, 1,1,1,1,1,1,1,1,1,1, - 1,1,5012,1,1,1,2530,2065,1,1, - 1,1,1,1,1,1,1,1,1,925, - 1,553,2055,121,5073,571,1,1,1,112, - 120,314,5073,4905,4046,2467,2317,2018,3193,1960, - 3051,1886,3500,1991,2028,1954,2326,1952,5073,5008, - 4850,4850,4850,4850,4850,4850,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,5012,1, - 1,1,779,2065,1,1,1,1,1,1, - 1,1,1,1,1,925,1,553,2055,2969, - 2994,571,1,1,1,5073,2969,2994,4014,3904, - 5073,5073,2317,2018,3193,1960,3051,1886,3500,1991, - 2028,1954,2326,1952,5073,1911,1,1,1,1, + 1,1,1,1,1,4946,699,2470,1,1, 1,1,1,1,1,1,1,1,1,1, + 570,1051,2469,119,358,613,1,1,1,114, + 2901,3039,2926,2210,5008,3008,597,2351,3076,1962, + 2884,2209,3414,2312,2461,2265,3445,2259,5008,4942, + 4788,4788,4788,4788,4788,4788,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,5082,1,1,1,1458,2065, 1,1,1,1,1,1,1,1,1,1, - 1,925,1,553,2055,216,114,571,1,1, - 1,4046,5073,30,5073,9036,4920,5106,2317,2018, - 3193,1960,3051,1886,3500,1991,2028,1954,2326,1952, - 5073,4887,4887,4887,4887,4887,4887,4887,4887,4887, - 5073,4887,4887,342,34,2658,5106,5321,1704,4846, - 5398,5324,5407,5408,5318,5325,5298,5323,5322,5319, - 5320,5299,5073,4930,4396,770,834,1704,2512,5398, - 4887,1581,4887,5073,2429,502,4887,4887,4887,4887, - 4887,4887,4887,4887,4887,4887,4887,128,5073,5073, - 1001,4887,4891,3505,2233,4014,3904,4887,4887,4887, - 4887,4887,1239,4887,779,434,34,5073,5106,1047, - 4911,5073,4908,1193,108,5073,4887,4887,4887,4887, - 4887,4887,4887,4887,4887,4887,4887,4887,4887,4887, - 4887,4887,4887,4887,4887,4887,4887,4887,4887,4887, - 4887,4887,4887,4887,4887,5073,4850,4850,4850,4850, - 4850,4850,4850,1,1,1,1,1,1,1, + 1,4946,1061,2470,1,1,1,1,1,1, + 1,1,1,1,1,1,570,1051,2469,2901, + 3039,613,1,1,1,33,4819,444,2926,2210, + 710,5008,597,2351,3076,1962,2884,2209,3414,2312, + 2461,2265,3445,2259,5008,2242,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5045,1,1,1,5073, - 5227,1,1,1,1,1,1,1,1,1, - 1,1,4195,1,5498,5499,5500,5073,4216,1, - 1,1,5073,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,5017,4855,2470, 1,1,1,1,1,1,1,1,1,1, + 1,1,570,1051,2469,216,5008,613,1,1, + 1,1,4797,2708,4801,938,2599,5008,597,2351, + 3076,1962,2884,2209,3414,2312,2461,2265,3445,2259, + 5008,4825,4825,4825,4825,4825,4825,4825,4825,4825, + 5008,4825,4825,5008,5008,4868,5256,768,4958,2599, + 4784,5259,5342,5343,5253,5260,5233,5258,5257,5254, + 5255,5234,5008,4868,4398,768,938,2599,1747,5333, + 521,4825,777,4825,5008,933,4825,4825,4825,4825, + 4825,4825,4825,4825,4825,4825,4825,34,860,5008, + 5041,4825,4829,1747,5333,5008,4816,4825,4825,4825, + 4825,4825,4834,4825,432,34,117,5041,4540,3423, + 4849,4846,1350,5015,3390,816,4825,4825,4825,4825, + 4825,4825,4825,4825,4825,4825,4825,4825,4825,4825, + 4825,4825,4825,4825,4825,4825,4825,4825,4825,4825, + 4825,4825,4825,4825,4825,5008,4788,4788,4788,4788, + 4788,4788,4788,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,5073,1,1,1,3207,5227,1,1, - 1,1,1,1,1,1,1,1,1,310, - 1,816,22,5073,3284,2510,1,1,1,5073, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,4983,5008, + 5162,1,1,1,1,1,1,1,1,1, + 1,1,1,1,4967,4398,4801,938,2599,1, + 1,1,5008,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,119, - 1,1,1,5081,5227,1,1,1,1,1, - 1,1,1,1,1,1,5073,1,1083,4989, - 4989,5073,5073,1,1,1,5073,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,5008,3225,5162,1,1, 1,1,1,1,1,1,1,1,1,1, + 5008,5008,4865,389,5041,5008,1,1,1,5008, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,613,1,1,1, - 5073,5227,1,1,1,1,1,1,1,1, - 1,1,1,5073,1,2969,2994,5073,1879,2510, - 1,1,1,5073,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5574,5227,1, + 1,1,3302,2668,5162,1,1,1,1,1, + 1,1,1,1,1,1,1,1,4967,4398, + 4801,938,2599,1,1,1,5008,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 5073,1,5073,4927,5073,5106,5080,1,1,1, - 5073,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5008, + 1122,5162,1,1,1,1,1,1,1,1, + 1,1,1,1,310,5008,2458,389,22,333, + 1,1,1,5008,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 5079,1,1,1,5081,5227,1,1,1,1, - 1,1,1,1,1,1,1,437,1,5073, - 4878,5517,443,44,1,1,1,5073,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,5342,5343,5162,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,844,1,1, - 1,5073,5227,1,1,1,1,1,1,1, - 1,1,1,1,4872,1,136,840,497,30, - 333,1,1,1,34,4869,4316,770,621,4090, - 2512,4111,4069,3974,2833,4153,4132,5330,5328,5337, - 5336,5332,5333,5331,5334,5335,5338,5329,5089,1005, - 1575,1592,5091,1583,4376,1591,5092,5090,1558,5085, - 5087,5088,5086,1308,1,5073,5321,5407,5408,447, - 5324,5407,5408,5318,5325,5298,5323,5322,5319,5320, - 5299,4875,5465,424,34,1759,5106,2664,572,5466, - 5467,382,215,5018,5073,1114,5018,5073,5018,5018, - 5018,45,5018,5018,1370,5330,5328,5337,5336,5332, - 5333,5331,5334,5335,5338,5329,578,523,1718,1677, - 1636,1595,1554,1513,1472,1431,1390,1349,3428,5496, - 4914,5018,391,4884,5321,5106,136,359,5324,5407, - 5408,5318,5325,5298,5323,5322,5319,5320,5299,5073, - 1001,935,5018,5018,4896,126,3150,359,5018,5018, - 5018,5018,5018,1370,5018,5073,2545,45,4878,1, - 4995,4396,4863,834,217,2512,34,5018,5018,5018, - 5018,5018,5018,5018,5018,5018,5018,5018,5018,5018, - 5018,5018,5018,5018,5018,5018,5018,5018,5018,5018, - 5018,5018,5018,5018,5018,5018,381,218,5021,5082, - 5073,5021,5073,5021,5021,5021,5321,5021,5021,5073, - 5324,5407,5408,5318,5325,5298,5323,5322,5319,5320, - 5299,1,4859,4396,4863,834,578,2512,5073,389, - 5073,5073,4930,2864,770,5024,5021,2512,3428,5321, - 2401,2374,5082,5324,5407,5408,5318,5325,5298,5323, - 5322,5319,5320,5299,1380,5073,1,5021,5021,382, - 5073,309,3032,5021,5021,5021,5021,5021,4748,5021, - 4258,89,1,5080,1,822,5048,1026,5048,1, - 5081,5073,5021,5021,5021,5021,5021,5021,5021,5021, - 5021,5021,5021,5021,5021,5021,5021,5021,5021,5021, - 5021,5021,5021,5021,5021,5021,5021,5021,5021,5021, - 5021,5073,1,1,1,1,1,1,1,1, + 1,5008,5008,1084,1158,4927,4927,1,1,1, + 5008,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,5082,1,1063,1,5073,5227,5073,1,1, + 1,1,1,45,4816,5162,1,1,1,1, + 1,1,1,1,1,1,1,1,2163,2668, + 5008,5008,5008,1121,1,1,1,5008,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,161,1,5073, - 1,4697,5227,5073,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 5008,5008,5162,1,1,1,1,1,1,1, + 1,1,1,1,1,5008,4865,5008,5041,2337, + 5008,1,1,1,34,4807,2439,768,619,2599, + 4138,4159,4114,4062,2477,4209,4182,5265,5263,5272, + 5271,5267,5268,5266,5269,5270,5273,5264,5024,2238, + 1683,1716,5026,1700,4365,1708,5027,5025,1676,5020, + 5022,5023,5021,1309,806,5256,5431,5432,5433,217, + 5259,5342,5343,5253,5260,5233,5258,5257,5254,5255, + 5234,5400,314,5008,4843,382,215,4952,872,5401, + 5402,4952,4952,4952,4952,5008,4952,4952,808,5265, + 5263,5272,5271,5267,5268,5266,5269,5270,5273,5264, + 5256,5008,8951,5014,5041,5259,5342,5343,5253,5260, + 5233,5258,5257,5254,5255,5234,5017,5256,4952,1, + 1,132,5259,5342,5343,5253,5260,5233,5258,5257, + 5254,5255,5234,777,1,108,4952,4952,111,5008, + 5008,4335,4952,4952,4952,4952,4952,381,4952,4955, + 218,32,4862,4955,4955,4955,4955,2670,4955,4955, + 1583,4952,4952,4952,4952,4952,4952,4952,4952,4952, + 4952,4952,4952,4952,4952,4952,4952,4952,4952,4952, + 4952,4952,4952,4952,4952,4952,4952,4952,4952,4952, + 4955,5256,359,754,923,5039,5259,5342,5343,5253, + 5260,5233,5258,5257,5254,5255,5234,1024,4955,4955, + 5016,5008,359,5015,4955,4955,4955,4955,4955,2110, + 4955,89,1,4251,1,5008,4251,4986,4986,4272, + 5008,1553,4272,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,5008,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,161,1,5073,1,3108,5227,5073, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,5008,1,5017,5008,5162,5008,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,88, - 1,5015,1,129,5227,1,4995,4396,4863,834, - 2233,2512,363,4859,2776,4863,834,1,2512,1, - 5073,342,4930,2776,770,834,1704,2512,5398,315, - 5073,30,161,5073,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5017, + 1,161,126,5162,5008,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,779,1,389,1,1622,5227,113, - 34,1125,779,5106,4046,1704,1,5398,1,4859, - 2776,4863,834,502,2512,92,34,418,5106,1, - 5064,388,5061,1063,446,219,161,1,4859,4316, - 4863,621,4090,2512,4111,4069,3974,4933,4153,4132, - 4960,4966,4939,4942,4954,4951,4957,4948,4945,4936, - 4963,5089,1005,1575,1592,5091,1583,4376,1591,5092, - 5090,1558,5085,5087,5088,5086,1308,5321,34,779, - 34,5324,5407,5408,5318,5325,5298,5323,5322,5319, - 5320,5299,5073,390,130,4917,381,2861,4014,3904, - 354,32,4924,32,506,5073,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,161,382,5162, + 5008,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5104,1,5104,1,1663, - 5227,5073,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,5008,1,92,34,5162,5041,2401,2374,4999, + 4996,5008,8199,5008,363,4797,2708,4801,938,2599, + 1,1,301,342,4868,2708,768,938,2599,1747, + 5333,5008,5308,161,5008,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,2201,1,5426,1,424,5227,5073,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,777,1,5008,1122,5162, + 113,3334,1128,1129,777,495,3008,5008,1,4797, + 2708,4801,938,2599,342,34,2694,5041,5008,5008, + 1747,5333,30,5008,344,4858,2552,161,1,4797, + 2439,4801,619,2599,4138,4159,4114,4062,4871,4209, + 4182,4898,4904,4877,4880,4892,4889,4895,4886,4883, + 4874,4901,5024,2238,1683,1716,5026,1700,4365,1708, + 5027,5025,1676,5020,5022,5023,5021,1309,34,777, + 34,116,5008,390,2524,777,381,1460,1665,3390, + 816,517,1706,301,500,777,389,5396,5008,2926, + 2210,422,34,5308,5041,504,5008,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5073,1,3499, - 1,5496,5227,5073,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5073,1,3512,1,5073,5227,5073, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5073, - 1,4682,1,5073,5227,5073,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5073,1,4728,1,5073, - 5227,5073,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,229,1,5036,1,5073,5227,5073,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5073,1,111, - 1,110,5227,138,4930,4316,770,621,4090,2512, - 4111,4069,3974,2643,4153,4132,5330,5328,5337,5336, - 5332,5333,5331,5334,5335,5338,5329,5089,1005,1575, - 1592,5091,1583,4376,1591,5092,5090,1558,5085,5087, - 5088,5086,1308,5073,34,5073,34,34,4930,4316, - 770,621,4090,2512,4111,4069,3974,2643,4153,4132, - 5330,5328,5337,5336,5332,5333,5331,5334,5335,5338, - 5329,5089,1005,1575,1592,5091,1583,4376,1591,5092, - 5090,1558,5085,5087,5088,5086,1308,4195,117,4195, - 5073,1370,1,4216,4737,4216,3475,3394,116,301, - 344,5073,2791,3048,2170,3140,3475,3394,5073,5373, - 5073,7120,389,5461,283,5359,5073,5103,5081,1, - 4859,4316,4863,621,4090,2512,4111,4069,3974,4933, - 4153,4132,4960,4966,4939,4942,4954,4951,4957,4948, - 4945,4936,4963,5089,1005,1575,1592,5091,1583,4376, - 1591,5092,5090,1558,5085,5087,5088,5086,1308,2142, - 34,779,34,34,4930,4316,770,621,4090,2512, - 4111,4069,3974,2643,4153,4132,5330,5328,5337,5336, - 5332,5333,5331,5334,5335,5338,5329,5089,1005,1575, - 1592,5091,1583,4376,1591,5092,5090,1558,5085,5087, - 5088,5086,1308,1,5073,1156,5073,5531,5525,5073, - 5529,5523,5524,5073,5554,5555,2734,5073,1370,495, - 2170,5073,1,1,4859,2776,4863,834,5532,2512, - 32,4924,4899,399,5081,2864,71,5073,3287,5073, - 4930,3529,770,5024,1210,2512,1282,5133,5134,5082, - 5073,5575,1,5005,5073,5002,5073,1704,4174,5398, - 2026,1827,132,925,977,5534,1476,109,5073,7120, - 5535,5556,5533,4992,5104,1,1,2658,5073,1804, - 4902,134,123,989,779,1,345,2658,3514,5545, - 5544,5557,5526,5527,5550,5551,519,3084,5548,5549, - 5528,5530,5552,5553,5558,5538,5539,5540,5536,5537, - 5546,5547,5542,5541,5543,5073,4310,1156,4430,5531, - 5525,505,5529,5523,5524,359,5554,5555,1,4850, - 221,4850,221,221,221,221,779,848,5073,4878, - 5532,1,338,338,2931,359,779,779,338,4986, - 1070,4899,301,32,4924,4195,1210,4924,1282,5073, - 2143,4216,5373,5073,40,4972,5073,5359,221,5428, - 9079,133,4847,2879,2805,127,977,5534,131,4174, - 2108,2026,5535,5556,5533,1476,5073,553,715,898, - 599,571,5073,3223,5073,1,3430,2474,366,4902, - 5562,5545,5544,5557,5526,5527,5550,5551,4969,364, - 5548,5549,5528,5530,5552,5553,5558,5538,5539,5540, - 5536,5537,5546,5547,5542,5541,5543,34,4930,4316, - 770,621,4090,2512,4111,4069,3974,2643,4153,4132, - 5330,5328,5337,5336,5332,5333,5331,5334,5335,5338, - 5329,5089,1005,1575,1592,5091,1583,4376,1591,5092, - 5090,1558,5085,5087,5088,5086,1308,1212,159,2143, - 2401,2374,5073,2793,2749,2201,371,5073,1253,3442, - 5073,5073,3609,3925,2170,34,4930,4316,770,621, - 4090,2512,4111,4069,3974,2643,4153,4132,5330,5328, - 5337,5336,5332,5333,5331,5334,5335,5338,5329,5089, - 1005,1575,1592,5091,1583,4376,1591,5092,5090,1558, - 5085,5087,5088,5086,34,4930,4316,770,621,4090, - 2512,4111,4069,3974,2643,4153,4132,5330,5328,5337, - 5336,5332,5333,5331,5334,5335,5338,5329,5089,1005, - 1575,1592,5091,1583,4376,1591,5092,5090,1558,5085, - 5087,5088,5086,1308,1,5073,5073,3941,3650,5073, - 5073,3737,5073,5073,284,5073,282,5073,155,5073, - 410,5073,416,5073,5073,5073,97,5073,5073,5073, - 5073,2749,31,5058,5073,4983,42,5030,5079,34, - 4930,4316,770,621,4090,2512,4111,4069,3974,2643, - 4153,4132,5330,5328,5337,5336,5332,5333,5331,5334, - 5335,5338,5329,5089,1005,1575,1592,5091,1583,4376, - 1591,5092,5090,1558,5085,5087,5088,5086,5104,4735, - 5027,4736,5468,1923,946,1997,1800,4317,3028,2034, - 3187,5249,2844,3519,2877,2900,2926,3576,5073,2545, - 2505,34,4930,4316,770,621,4090,2512,4111,4069, - 3974,2643,4153,4132,5330,5328,5337,5336,5332,5333, - 5331,5334,5335,5338,5329,5089,1005,1575,1592,5091, - 1583,4376,1591,5092,5090,1558,5085,5087,5088,5086, - 1308,34,4930,4726,770,621,4090,2512,4111,4069, - 3974,2643,4153,4132,5330,5328,5337,5336,5332,5333, - 5331,5334,5335,5338,5329,5089,1005,1575,1592,5091, - 1583,4376,1591,5092,5090,1558,5085,5087,5088,5086, - 34,4930,4316,770,621,4090,2512,4111,4069,3974, - 2643,4153,4132,5330,5328,5337,5336,5332,5333,5331, - 5334,5335,5338,5329,5089,1005,1575,1592,5091,1583, - 4376,1591,5092,5090,1558,5085,5087,5088,5086,34, - 4930,4316,770,621,4090,2512,4111,4069,3974,2643, - 4153,4132,5330,5328,5337,5336,5332,5333,5331,5334, - 5335,5338,5329,5089,1005,1575,1592,5091,1583,4376, - 1591,5092,5090,1558,5085,5087,5088,2952,34,4930, - 4316,770,621,4090,2512,4111,4069,3974,2643,4153, - 4132,5330,5328,5337,5336,5332,5333,5331,5334,5335, - 5338,5329,5089,1005,1575,1592,5091,1583,4376,1591, - 5092,5090,1558,5085,5087,5088,5086,5073,4869,5073, - 5106,5073,173,5073,512,5073,3109,1211,3206,183, - 5330,5328,5337,5336,5332,5333,5331,5334,5335,5338, - 5329,5073,9016,5073,1,4979,221,4975,221,221, - 221,221,100,5073,3793,4309,32,4924,96,5321, - 135,4999,5033,5324,5407,5408,5318,5325,5298,5323, - 5322,5319,5320,5299,499,5465,5073,4869,5073,5106, - 5073,572,5466,5467,221,5104,1211,5073,490,5330, - 5328,5337,5336,5332,5333,5331,5334,5335,5338,5329, - 2260,5073,5054,1124,1,4979,221,4975,221,221, - 221,221,1,1841,221,407,5562,5,5321,2071, - 5073,125,5324,5407,5408,5318,5325,5298,5323,5322, - 5319,5320,5299,273,5465,5070,5073,34,13,2749, - 572,5466,5467,1294,221,5104,5073,1882,490,5067, - 5248,1,4850,221,4850,221,221,221,221,2108, - 5498,5499,5500,1124,5073,1,4850,221,4850,221, - 221,221,221,5073,221,406,5562,3679,5051,32, - 1,5073,5073,2931,5073,5080,5073,124,5039,5073, - 5073,221,5073,9079,1394,4847,1,4850,221,4850, - 221,221,221,221,547,221,5051,9079,5073,4847, - 553,715,2879,2805,571,5073,5073,5073,5073,5073, - 5498,5499,5500,5562,553,715,5073,5073,571,5073, - 5073,5073,5073,5073,5073,5073,221,5562,9079,5073, - 4847,1,4850,221,4850,221,221,221,221,2931, - 5073,5073,5073,5073,5042,553,715,5073,5073,571, - 5073,5073,5073,5073,5073,5073,5073,213,5562,5073, - 11,5073,5073,5073,5073,5073,5073,5073,2879,2805, - 5073,221,5073,9079,10,4847,1,4850,221,4850, - 221,221,221,221,5073,5073,5073,5073,5073,5073, - 553,715,5073,5073,571,5073,5073,5073,5073,5073, - 5073,5073,213,5562,5073,5073,5073,5073,5073,5073, - 5073,5073,5073,5073,5073,5073,221,5073,9079,5073, - 4847,1,4850,221,4850,221,221,221,221,5073, - 5073,5073,5073,5073,5073,553,715,5073,5073,571, - 5073,5073,5073,5073,5073,5073,5073,212,5562,5073, - 5073,5073,5073,5073,5073,5073,5073,5073,5073,5073, - 5073,221,5073,9079,5073,4847,1,4850,221,4850, - 221,221,221,221,5073,5073,5073,5073,5073,5073, - 553,715,5073,5073,571,5073,5073,5073,5073,5073, - 5073,5073,213,5562,5073,5073,5073,5073,5073,5073, - 5073,5073,5073,5073,5073,5073,221,5073,9079,5073, - 4847,1,4850,221,4850,221,221,221,221,5073, - 5073,5073,5073,5073,5073,553,715,5073,5073,571, - 5073,5073,5073,5073,5073,5073,5073,213,5562,5073, - 1,4850,221,4850,221,221,221,221,5073,5073, - 5073,221,5073,9079,5073,4847,5073,5073,5073,5073, - 5073,5073,1,4850,221,4850,221,221,221,221, - 553,715,5073,5073,571,5073,5073,5073,5073,5073, - 221,5073,9079,5562,4847,5073,5073,5073,5073,5073, - 5073,5073,5073,5073,5073,5073,5073,5073,5073,553, - 715,5073,221,571,9079,5073,4847,5073,5073,5073, - 5073,5073,5562,5073,5073,5073,5073,5073,5073,5073, - 5073,553,715,5073,5073,571,5073,5073,5073,5073, - 5073,5073,5073,5073,5562 + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,5429,1,32, + 4862,5162,5008,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,5039,1,40,4910,5162,5008,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,4907, + 1,5008,4921,5162,5008,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,5039,1,42,4964,5162, + 5008,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,4961,1,5008,9029,5162,5008,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,5039,1,32, + 4862,5162,5008,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,3194,1,283,5294,5162,5008,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,136, + 1,110,109,5162,138,4868,2439,768,619,2599, + 4138,4159,4114,4062,2177,4209,4182,5265,5263,5272, + 5271,5267,5268,5266,5269,5270,5273,5264,5024,2238, + 1683,1716,5026,1700,4365,1708,5027,5025,1676,5020, + 5022,5023,5021,1309,34,30,34,34,4868,2439, + 768,619,2599,4138,4159,4114,4062,2177,4209,4182, + 5265,5263,5272,5271,5267,5268,5266,5269,5270,5273, + 5264,5024,2238,1683,1716,5026,1700,4365,1708,5027, + 5025,1676,5020,5022,5023,5021,1309,5008,5008,4251, + 4251,5008,5038,5008,5508,4272,4272,5008,8199,576, + 5008,2094,5008,5008,3586,2490,2438,500,5008,5008, + 5294,2957,551,134,2670,388,5008,4989,5016,1, + 4797,2439,4801,619,2599,4138,4159,4114,4062,4871, + 4209,4182,4898,4904,4877,4880,4892,4889,4895,4886, + 4883,4874,4901,5024,2238,1683,1716,5026,1700,4365, + 1708,5027,5025,1676,5020,5022,5023,5021,1309,34, + 5039,34,34,4868,2439,768,619,2599,4138,4159, + 4114,4062,2177,4209,4182,5265,5263,5272,5271,5267, + 5268,5266,5269,5270,5273,5264,5024,2238,1683,1716, + 5026,1700,4365,1708,5027,5025,1676,5020,5022,5023, + 5021,1309,1,5008,1209,5008,5464,44,5458,5462, + 5456,5457,989,5487,5488,1,4797,4398,4801,938, + 2599,2438,391,4822,5008,5041,219,5465,128,1593, + 88,129,4949,5016,71,2291,2767,5008,2291,1, + 3068,5008,1276,3718,1503,5068,5069,435,5008,4837, + 3850,2173,5008,3269,1,136,2694,45,309,5008, + 1553,5008,3120,993,5467,2463,34,5256,5008,5468, + 5489,5466,5259,5342,5343,5253,5260,5233,5258,5257, + 5254,5255,5234,1618,493,441,1282,30,5478,5477, + 5490,5459,5460,5483,5484,1166,4840,5481,5482,5461, + 5463,5485,5486,5491,5471,5472,5473,5469,5470,5479, + 5480,5475,5474,5476,5008,777,1209,2161,5464,1553, + 5458,5462,5456,5457,1761,5487,5488,1,4788,221, + 4788,221,221,221,221,846,5008,5008,1553,5465, + 5008,1,4797,4804,4801,4791,4794,4810,879,4813, + 32,5008,4816,2596,1276,576,1503,1720,1679,1638, + 1597,1556,1515,1474,1433,1392,1351,2957,9009,5008, + 221,4785,127,3338,3085,993,5467,4230,354,850, + 1,5468,5489,5466,5017,570,5008,893,3944,756, + 613,4230,5008,850,5039,1870,416,1,5008,5495, + 5478,5477,5490,5459,5460,5483,5484,5008,5008,5481, + 5482,5461,5463,5485,5486,5491,5471,5472,5473,5469, + 5470,5479,5480,5475,5474,5476,34,4868,2439,768, + 619,2599,4138,4159,4114,4062,2177,4209,4182,5265, + 5263,5272,5271,5267,5268,5266,5269,5270,5273,5264, + 5024,2238,1683,1716,5026,1700,4365,1708,5027,5025, + 1676,5020,5022,5023,5021,1309,2447,2401,2374,2970, + 159,5361,5008,5363,3881,229,1,4974,4416,5016, + 131,371,133,5008,135,2438,34,4868,2439,768, + 619,2599,4138,4159,4114,4062,2177,4209,4182,5265, + 5263,5272,5271,5267,5268,5266,5269,5270,5273,5264, + 5024,2238,1683,1716,5026,1700,4365,1708,5027,5025, + 1676,5020,5022,5023,5021,34,4868,2439,768,619, + 2599,4138,4159,4114,4062,2177,4209,4182,5265,5263, + 5272,5271,5267,5268,5266,5269,5270,5273,5264,5024, + 2238,1683,1716,5026,1700,4365,1708,5027,5025,1676, + 5020,5022,5023,5021,1309,5008,1,4939,5008,4936, + 1062,1,1747,5333,366,364,5008,2178,3287,1, + 2110,2694,5008,989,345,503,5008,5008,5008,5008, + 5008,5008,282,5008,97,3416,3085,31,4993,5014, + 34,4868,2439,768,619,2599,4138,4159,4114,4062, + 2177,4209,4182,5265,5263,5272,5271,5267,5268,5266, + 5269,5270,5273,5264,5024,2238,1683,1716,5026,1700, + 4365,1708,5027,5025,1676,5020,5022,5023,5021,359, + 777,1051,5016,1213,1255,777,338,338,3786,3815, + 3852,3998,338,896,5008,4611,3743,5507,5450,359, + 650,2335,34,4868,2439,768,619,2599,4138,4159, + 4114,4062,2177,4209,4182,5265,5263,5272,5271,5267, + 5268,5266,5269,5270,5273,5264,5024,2238,1683,1716, + 5026,1700,4365,1708,5027,5025,1676,5020,5022,5023, + 5021,1309,34,4868,3652,768,619,2599,4138,4159, + 4114,4062,2177,4209,4182,5265,5263,5272,5271,5267, + 5268,5266,5269,5270,5273,5264,5024,2238,1683,1716, + 5026,1700,4365,1708,5027,5025,1676,5020,5022,5023, + 5021,34,4868,2439,768,619,2599,4138,4159,4114, + 4062,2177,4209,4182,5265,5263,5272,5271,5267,5268, + 5266,5269,5270,5273,5264,5024,2238,1683,1716,5026, + 1700,4365,1708,5027,5025,1676,5020,5022,5023,5021, + 34,4868,2439,768,619,2599,4138,4159,4114,4062, + 2177,4209,4182,5265,5263,5272,5271,5267,5268,5266, + 5269,5270,5273,5264,5024,2238,1683,1716,5026,1700, + 4365,1708,5027,5025,1676,5020,5022,5023,5021,5008, + 4807,399,5041,5008,5008,3946,4592,1,5008,937, + 3547,5008,5265,5263,5272,5271,5267,5268,5266,5269, + 5270,5273,5264,5008,5008,1,4917,221,4913,221, + 221,221,221,284,5008,5008,5008,3581,5008,4868, + 5256,768,4958,2599,4930,5259,5342,5343,5253,5260, + 5233,5258,5257,5254,5255,5234,5400,5008,4807,155, + 5041,5008,5008,872,5401,5402,4933,937,221,488, + 5265,5263,5272,5271,5267,5268,5266,5269,5270,5273, + 5264,5403,1068,1067,414,5008,1,4917,221,4913, + 221,221,221,221,5184,221,407,5495,5256,422, + 3556,3127,1925,5259,5342,5343,5253,5260,5233,5258, + 5257,5254,5255,5234,5400,32,4862,173,1,4862, + 5008,872,5401,5402,5008,5008,410,1802,4837,221, + 488,3480,5008,1,4788,221,4788,221,221,221, + 221,5431,5432,5433,1067,5429,96,5008,5008,5008, + 3362,5008,2964,1,510,1843,221,406,5495,3257, + 4971,497,1618,5008,5008,1,4788,221,4788,221, + 221,221,221,123,9009,4840,221,4785,1,4788, + 221,4788,221,221,221,221,100,3135,3634,34, + 5008,570,3170,893,1999,2036,613,5008,5008,3241, + 3448,183,5431,5432,5433,5495,9009,2073,221,4785, + 1,4788,221,4788,221,221,221,221,5183,9009, + 1350,221,4785,570,3282,893,5015,5008,613,3720, + 1296,5008,1884,125,5008,2863,570,5495,893,5008, + 4924,613,273,3431,5005,5008,5008,1,1585,213, + 5495,9009,11,221,4785,1,4788,221,4788,221, + 221,221,221,5008,2811,2737,5008,5,570,3085, + 893,569,5008,613,5008,5008,5008,5008,5008,5008, + 5008,213,5495,5008,10,5008,5008,1,4788,221, + 4788,221,221,221,221,2863,9009,5008,221,4785, + 4977,5008,124,5008,5008,1,4788,221,4788,221, + 221,221,221,570,5008,893,5008,5008,613,5008, + 5008,5002,5008,5008,2811,2737,212,5495,9009,32, + 221,4785,5008,5008,5008,5008,5008,1,4788,221, + 4788,221,221,221,221,570,9009,893,221,4785, + 613,5008,5008,5008,5008,5008,5008,5008,213,5495, + 5008,5008,5008,570,2863,893,5008,5008,613,4980, + 5008,5008,5008,5008,5008,5008,213,5495,9009,5008, + 221,4785,1,4788,221,4788,221,221,221,221, + 5008,5008,5008,2811,2737,570,5008,893,5008,5008, + 613,5008,5008,5008,5008,5008,5008,5008,5008,5495, + 5008,5008,1,4788,221,4788,221,221,221,221, + 5008,5008,5008,9009,5008,221,4785,5008,5008,5008, + 5008,5008,5008,5008,5008,5008,5008,5008,5008,5008, + 570,5008,893,5008,5008,613,5008,5008,5008,5008, + 5008,5008,5008,9009,5495,221,4785,5008,5008,5008, + 5008,5008,5008,5008,5008,5008,5008,5008,5008,5008, + 570,5008,893,5008,5008,613,5008,5008,5008,5008, + 5008,5008,5008,5008,5495 }; }; public final static char termAction[] = TermAction.termAction; @@ -1837,58 +1798,58 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface Asb { public final static char asb[] = {0, - 645,1,3,104,398,636,221,1123,544,183, - 645,5,757,501,943,636,1123,250,501,688, - 983,799,250,1077,471,956,967,545,967,595, - 967,543,967,221,967,476,250,3,147,545, - 545,190,476,297,148,147,148,368,944,944, - 938,57,53,53,474,937,852,193,981,102, - 344,983,983,193,250,477,346,43,718,344, - 355,250,944,397,597,597,545,482,250,250, - 250,397,344,147,147,147,476,250,298,147, - 756,501,48,48,581,944,545,476,437,504, - 62,471,250,977,471,852,193,981,102,102, - 193,141,298,355,944,944,944,397,944,482, - 482,250,397,250,938,1027,147,147,147,250, - 250,298,1027,368,148,368,755,755,437,904, - 904,587,588,846,474,545,402,479,250,1123, - 344,437,503,1123,501,501,501,501,476,1123, - 420,1079,438,438,438,438,438,438,438,438, - 438,983,989,994,991,998,996,1003,1001,1005, - 1004,1006,252,1007,102,1021,250,643,977,344, - 907,906,757,336,806,756,757,477,250,1027, - 250,355,1037,296,1029,355,944,944,889,250, - 482,1027,485,1026,250,1027,1027,250,938,938, - 938,756,221,221,437,437,852,344,850,581, - 887,403,476,250,259,489,503,420,221,221, - 221,221,250,259,344,344,421,1083,220,43, - 420,967,967,42,42,259,1040,438,438,438, - 438,438,438,438,438,438,438,438,438,438, - 438,438,438,438,438,438,437,437,437,437, - 437,437,437,437,437,437,437,1040,438,141, - 977,791,896,759,474,848,421,141,43,937, - 940,495,1037,58,479,892,250,1027,438,250, - 938,686,852,344,887,402,1037,438,1037,938, - 1123,1123,1123,403,1123,250,601,938,938,636, - 250,545,401,344,437,1026,344,344,757,757, - 757,757,397,344,438,547,476,1079,102,220, - 437,344,297,299,297,344,102,991,991,989, - 989,989,996,996,996,996,994,994,1001,998, - 998,1004,1003,1005,1037,1006,977,896,336,850, - 298,1030,438,438,889,248,250,48,344,947, - 351,1123,1037,403,420,420,419,885,420,938, - 938,844,887,503,1123,1123,1123,1123,250,250, - 250,43,438,221,987,302,344,250,299,43, - 437,898,938,910,476,755,947,947,759,344, - 471,344,601,938,1123,344,887,1040,1040,1040, - 1040,1123,1123,397,298,344,987,474,250,477, - 298,898,250,297,947,903,344,344,571,403, - 844,403,938,601,1040,403,400,344,344,344, - 344,259,259,250,988,988,987,1040,302,300, - 477,1123,250,903,903,545,545,437,401,1039, - 938,344,344,344,558,259,438,102,250,300, - 853,903,403,344,1039,938,344,102,250,343, - 403,344,221,403 + 502,1,55,835,381,968,209,1090,586,97, + 502,12,671,833,57,968,1090,238,833,602, + 1004,717,238,927,454,977,988,587,988,596, + 988,585,988,209,988,459,238,55,61,587, + 587,178,459,285,62,61,62,351,599,599, + 10,7,3,3,457,9,770,181,1002,144, + 332,1004,1004,181,238,460,462,50,632,332, + 338,238,599,380,598,598,587,467,238,238, + 238,380,332,61,61,61,459,238,286,61, + 670,833,473,473,488,599,587,459,420,546, + 104,454,238,998,454,770,181,1002,144,144, + 181,872,286,338,599,599,599,380,599,467, + 467,238,380,238,10,1048,61,61,61,238, + 238,286,1048,351,62,351,669,669,420,821, + 821,494,495,764,457,587,385,470,238,1090, + 332,420,545,1090,833,833,833,833,459,1090, + 403,929,421,421,421,421,421,421,421,421, + 421,1004,1010,1015,1012,1019,1017,1024,1022,1026, + 1025,1027,240,1028,144,1042,238,975,998,332, + 824,823,671,324,724,670,671,460,238,1048, + 238,338,811,284,803,338,599,599,589,238, + 467,1048,478,1047,238,1048,1048,238,10,10, + 10,670,209,209,420,420,770,332,768,488, + 673,386,459,238,247,482,545,403,209,209, + 209,209,238,247,332,332,404,1050,208,50, + 403,988,988,49,49,247,890,421,421,421, + 421,421,421,421,421,421,421,421,421,421, + 421,421,421,421,421,421,420,420,420,420, + 420,420,420,420,420,420,420,890,421,872, + 998,709,813,146,457,766,404,872,50,804, + 470,592,238,1048,421,238,10,543,770,332, + 673,385,811,421,811,10,1090,1090,1090,386, + 1090,238,933,10,10,968,238,587,384,332, + 420,1047,332,332,671,671,671,671,380,332, + 421,675,459,929,144,208,420,332,285,287, + 285,332,144,1012,1012,1010,1010,1010,1017,1017, + 1017,1017,1015,1015,1022,1019,1019,1025,1024,1026, + 811,1027,998,813,324,768,286,9,827,811, + 8,589,236,238,473,332,880,334,1090,811, + 386,403,403,402,878,403,10,10,762,673, + 545,1090,1090,1090,1090,238,238,238,50,421, + 209,1008,290,332,238,287,50,420,815,10, + 804,421,421,459,669,880,880,146,332,454, + 332,933,10,1090,332,673,890,890,890,890, + 1090,1090,380,286,332,1008,457,238,460,286, + 815,238,285,880,820,332,332,699,386,762, + 386,10,933,890,386,383,332,332,332,332, + 247,247,238,1009,1009,1008,890,290,288,460, + 1090,238,820,820,587,587,420,384,889,10, + 332,332,332,686,247,421,144,238,288,771, + 820,386,332,889,10,332,144,238,331,386, + 332,209,386 }; }; public final static char asb[] = Asb.asb; @@ -1896,119 +1857,116 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface Asr { public final static byte asr[] = {0, - 119,0,24,0,63,49,13,14,58,47, - 15,64,50,72,42,16,51,52,17,18, - 53,60,54,19,20,55,65,56,10,66, - 21,59,46,22,48,23,2,7,5,40, - 57,3,6,4,44,1,0,67,69,68, - 1,0,67,93,73,61,2,68,40,69, - 0,41,43,2,10,27,31,29,26,34, - 14,23,13,19,17,18,20,21,16,15, - 22,35,38,36,37,24,33,28,32,3, - 6,4,11,12,7,5,8,9,25,30, - 1,113,0,14,58,47,15,64,50,16, - 51,52,17,18,53,54,19,20,55,65, - 56,10,66,21,46,22,48,23,13,49, - 2,7,40,59,60,63,72,42,62,3, - 6,5,4,1,44,0,71,14,58,47, - 15,64,50,16,51,52,17,18,53,54, - 19,20,55,65,56,66,21,46,22,48, - 23,13,49,2,7,5,40,59,63,72, - 42,44,6,1,4,3,10,60,0,69, - 57,0,26,41,27,28,43,6,29,30, - 31,32,39,33,34,35,36,37,24,38, - 11,12,7,5,8,9,4,25,67,2, - 10,64,58,65,66,14,23,13,19,17, - 18,20,21,16,15,22,49,54,55,42, - 53,52,50,47,48,51,56,3,46,1, - 0,67,70,93,68,113,71,40,73,13, - 14,26,41,15,27,28,16,17,18,43, - 29,19,20,30,31,32,39,33,34,21, - 22,23,35,36,37,24,38,2,11,12, - 7,5,8,9,25,10,3,6,1,4, - 0,94,88,8,9,89,90,86,87,62, - 91,92,95,96,97,98,99,100,112,70, - 93,69,102,103,104,105,106,107,108,109, - 110,111,113,71,40,67,1,7,5,3, - 2,61,68,73,0,62,57,70,3,0, - 63,60,119,115,72,6,116,117,118,59, - 2,7,5,4,70,71,40,49,13,14, - 47,15,64,50,42,16,51,52,17,18, - 53,54,19,20,55,65,56,66,21,46, - 22,48,23,3,58,10,1,44,0,115, - 120,71,74,59,60,63,76,78,84,82, - 75,80,81,83,85,57,77,79,40,45, - 64,58,65,66,49,54,55,42,53,52, - 46,50,47,48,51,56,39,41,43,10, - 27,31,29,26,34,14,23,13,19,17, - 18,20,21,16,15,22,35,38,36,37, - 24,33,28,32,11,12,8,9,25,30, - 2,6,4,5,7,1,3,0,57,68, - 0,1,71,0,68,71,69,0,70,113, - 73,40,68,0,70,61,2,69,68,40, - 62,0,71,41,43,39,11,12,7,5, - 8,9,4,25,30,2,6,35,38,36, - 37,24,33,28,32,14,23,13,19,17, - 18,20,21,16,15,22,10,27,31,29, - 26,34,3,1,57,0,13,14,15,16, - 17,18,19,20,21,22,23,49,47,50, - 42,51,52,53,54,55,56,46,48,40, - 73,7,5,2,61,4,6,1,3,0, - 7,5,6,4,3,1,2,67,93,69, - 68,73,61,0,44,1,3,57,70,0, - 13,14,26,41,15,27,28,16,17,18, - 43,29,19,20,30,31,32,39,33,34, - 10,21,22,23,35,36,37,24,38,11, - 12,8,9,25,45,7,40,2,3,1, - 6,4,5,0,13,14,47,15,64,50, - 16,51,52,17,18,53,54,19,20,55, - 65,56,10,66,21,46,22,48,23,49, - 119,6,2,7,5,4,40,59,60,63, - 72,42,1,3,44,58,0,49,13,14, - 58,47,15,64,50,42,16,51,52,17, - 18,53,54,19,20,55,65,56,10,66, - 21,46,22,48,23,1,3,43,41,8, - 9,5,89,90,97,7,98,4,25,62, - 105,106,102,103,104,110,109,111,87,86, - 107,108,95,96,91,92,99,100,11,12, - 88,101,2,61,69,68,67,0,49,13, - 14,58,47,15,64,50,42,16,51,52, - 17,18,53,54,19,20,55,65,56,10, - 66,21,46,22,48,23,1,3,93,0, - 6,39,74,1,4,3,47,48,57,70, - 93,113,73,71,40,61,2,114,94,101, - 88,11,12,7,5,8,9,89,90,86, - 87,62,91,92,95,96,97,98,99,100, - 112,102,103,104,105,106,107,108,109,110, - 111,67,68,69,0,4,6,2,61,5, - 7,93,49,13,14,58,47,15,64,50, - 42,16,51,52,17,18,53,54,19,20, - 55,65,56,10,66,21,46,22,48,23, - 1,3,73,0,75,0,115,0,1,46, - 3,116,117,118,0,47,48,74,2,57, - 70,40,39,67,69,68,73,93,0,61, - 2,114,94,101,88,11,12,7,5,8, - 9,89,90,86,87,62,67,91,92,95, - 96,97,98,99,100,112,68,40,0,69, - 68,40,74,57,70,0,47,39,48,67, - 93,69,68,73,0,14,23,13,19,17, - 18,20,21,16,15,22,49,54,55,42, - 53,52,46,50,51,56,47,6,48,4, - 1,3,114,101,11,12,61,2,94,88, - 5,89,90,8,9,87,86,62,91,92, - 95,96,7,97,98,99,67,93,73,69, + 119,0,67,93,73,61,2,69,68,43, + 0,63,49,13,14,57,47,15,64,50, + 72,41,16,51,52,17,18,53,60,54, + 19,20,55,65,56,10,66,21,58,46, + 22,48,23,2,7,6,43,59,3,5, + 4,44,1,0,24,0,59,70,74,0, + 71,14,57,47,15,64,50,16,51,52, + 17,18,53,54,19,20,55,65,56,66, + 21,46,22,48,23,13,49,2,7,6, + 43,58,63,72,41,44,5,1,4,3, + 10,60,0,40,42,2,10,27,31,29, + 26,34,14,23,13,19,17,18,20,21, + 16,15,22,35,38,36,37,24,33,28, + 32,3,5,4,11,12,7,6,8,9, + 25,30,1,113,0,49,13,14,57,47, + 15,64,50,41,16,51,52,17,18,53, + 54,19,20,55,65,56,10,66,21,46, + 22,48,23,1,3,93,0,69,59,0, + 26,40,27,28,42,5,29,30,31,32, + 39,33,34,35,36,37,24,11,12,7, + 6,8,9,4,25,67,38,2,10,64, + 57,65,66,14,23,13,19,17,18,20, + 21,16,15,22,49,54,55,41,53,52, + 50,47,48,51,56,3,46,1,0,67, + 70,93,68,113,71,43,73,13,14,26, + 40,15,27,28,16,17,18,42,29,19, + 20,30,31,32,39,33,34,21,22,23, + 35,36,37,24,2,11,12,7,6,8, + 9,25,38,10,3,5,1,4,0,94, + 88,8,9,89,90,86,87,62,91,92, + 95,96,97,98,99,100,112,70,93,69, 102,103,104,105,106,107,108,109,110,111, - 70,113,40,100,112,68,71,0,40,7, - 5,2,6,4,3,1,70,0,73,13, + 113,71,43,67,1,7,6,3,2,61, + 68,73,0,63,60,119,115,72,5,116, + 117,118,58,2,7,6,4,70,71,43, + 49,13,14,47,15,64,50,41,16,51, + 52,17,18,53,54,19,20,55,65,56, + 66,21,46,22,48,23,3,57,10,1, + 44,0,115,120,71,74,58,60,63,76, + 78,84,82,75,80,81,83,85,59,77, + 79,43,45,64,57,65,66,49,54,55, + 41,53,52,46,50,47,48,51,56,39, + 40,42,10,27,31,29,26,34,14,23, + 13,19,17,18,20,21,16,15,22,35, + 38,36,37,24,33,28,32,11,12,8, + 9,25,30,2,5,4,6,7,1,3, + 0,62,59,70,3,0,1,71,0,59, + 68,0,67,69,68,1,0,68,71,69, + 0,70,113,73,43,68,0,7,6,5, + 4,3,1,2,67,93,69,68,73,61, + 0,13,14,47,15,64,50,16,51,52, + 17,18,53,54,19,20,55,65,56,10, + 66,21,46,22,48,23,49,119,5,2, + 7,6,4,43,58,60,63,72,41,1, + 3,44,57,0,71,40,42,39,11,12, + 7,6,8,9,4,25,30,2,5,35, + 38,36,37,24,33,28,32,14,23,13, + 19,17,18,20,21,16,15,22,10,27, + 31,29,26,34,3,1,59,0,1,46, + 3,116,117,118,0,44,1,3,59,70, + 0,49,13,14,57,47,15,64,50,41, + 16,51,52,17,18,53,54,19,20,55, + 65,56,10,66,21,46,22,48,23,1, + 3,42,40,8,9,6,89,90,97,7, + 98,4,25,62,105,106,102,103,104,110, + 109,111,87,86,107,108,95,96,91,92, + 99,100,11,12,88,101,2,61,69,68, + 67,0,115,0,13,14,15,16,17,18, + 19,20,21,22,23,49,47,50,41,51, + 52,53,54,55,56,46,48,43,73,7, + 6,2,61,4,5,1,3,0,5,39, + 74,1,4,3,47,48,59,70,93,113, + 73,71,43,61,2,114,94,101,88,11, + 12,7,6,8,9,89,90,86,87,62, + 91,92,95,96,97,98,99,100,112,102, + 103,104,105,106,107,108,109,110,111,67, + 68,69,0,4,5,2,61,6,7,93, + 49,13,14,57,47,15,64,50,41,16, + 51,52,17,18,53,54,19,20,55,65, + 56,10,66,21,46,22,48,23,1,3, + 73,0,43,7,6,4,5,2,1,3, + 70,0,47,48,74,2,59,70,43,39, + 67,69,68,73,93,0,70,61,2,69, + 68,43,62,0,14,57,47,15,64,50, + 16,51,52,17,18,53,54,19,20,55, + 65,56,10,66,21,46,22,48,23,13, + 49,2,7,43,58,60,63,72,41,62, + 3,5,6,4,1,44,0,75,0,47, + 39,48,67,93,69,68,73,0,73,13, 14,26,15,27,28,16,17,18,29,19, 20,30,31,32,39,33,34,10,21,22, - 23,35,36,37,24,38,2,11,12,7, - 5,8,9,25,3,45,4,6,1,43, - 41,0,41,43,11,12,7,5,8,9, - 4,25,30,6,3,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, - 61,1,2,0 + 23,35,36,37,24,2,11,12,7,6, + 8,9,25,3,38,45,4,5,1,42, + 40,0,13,14,26,40,15,27,28,16, + 17,18,42,29,19,20,30,31,32,39, + 33,34,10,21,22,23,35,36,37,24, + 11,12,8,9,25,38,45,7,43,2, + 3,1,5,4,6,0,14,23,13,19, + 17,18,20,21,16,15,22,49,54,55, + 41,53,52,46,50,51,56,47,5,48, + 4,1,3,114,101,11,12,61,2,94, + 88,6,89,90,8,9,87,86,62,91, + 92,95,96,7,97,98,99,67,93,73, + 69,102,103,104,105,106,107,108,109,110, + 111,70,113,43,100,112,68,71,0,40, + 42,11,12,7,6,8,9,4,25,30, + 5,3,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,61,1,2, + 0 }; }; public final static byte asr[] = Asr.asr; @@ -2016,58 +1974,58 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface Nasb { public final static char nasb[] = {0, - 134,12,12,63,12,22,98,12,39,13, - 63,203,12,12,203,199,12,68,12,155, - 12,12,164,47,199,224,225,12,225,120, - 225,106,225,217,12,106,164,12,203,12, - 12,12,106,106,63,203,63,139,203,42, - 130,89,52,52,241,12,203,203,210,58, - 233,12,12,203,161,12,12,184,157,233, - 203,122,203,227,203,12,12,203,227,164, - 161,12,233,134,203,203,106,227,227,134, - 12,12,20,20,112,42,28,71,60,8, - 54,207,164,203,199,139,30,210,58,58, - 30,142,10,148,203,203,110,15,110,203, - 159,50,15,123,130,87,63,134,134,227, - 18,10,87,139,63,139,12,12,8,12, - 12,52,52,112,241,28,80,12,227,12, - 233,8,203,12,12,12,12,12,106,12, - 235,164,8,8,6,8,8,8,8,8, + 129,12,12,186,12,163,86,12,56,15, + 186,117,12,12,117,113,12,59,12,158, + 12,12,154,30,113,233,234,12,234,148, + 234,94,234,226,12,94,154,12,117,12, + 12,12,94,94,186,117,186,145,117,106, + 206,41,13,13,201,12,117,117,196,39, + 219,12,12,117,108,12,12,98,160,219, + 117,150,117,250,117,12,12,117,250,154, + 108,12,219,129,117,117,94,250,250,129, + 12,12,241,241,111,106,47,100,142,8, + 35,193,154,117,113,145,21,196,39,39, + 21,43,10,243,117,117,28,126,28,117, + 169,33,126,151,206,66,186,129,129,250, + 19,10,66,145,186,145,12,12,8,12, + 12,13,13,111,201,47,70,12,250,12, + 219,8,117,12,12,12,12,12,94,12, + 134,154,8,8,6,8,8,8,8,8, 8,12,12,12,12,12,12,12,12,12, - 12,12,8,12,58,12,164,12,132,233, - 12,12,12,116,12,12,12,12,228,87, - 164,130,12,13,196,148,110,110,170,123, - 159,87,12,12,123,87,87,18,130,12, - 130,12,34,34,8,8,203,233,239,205, - 203,174,71,68,179,12,83,235,34,34, - 34,34,164,179,233,233,1,8,96,184, - 235,12,12,75,75,179,189,8,8,8, + 12,12,8,12,39,12,154,12,75,219, + 12,12,12,122,12,12,12,12,251,66, + 154,206,12,15,162,243,28,28,138,151, + 169,66,12,12,151,66,66,19,206,12, + 206,12,25,25,8,8,117,219,199,191, + 117,171,100,59,119,12,62,134,25,25, + 25,25,154,119,219,219,1,8,54,98, + 134,12,12,49,49,119,183,8,8,8, 8,8,8,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,8,8,8, - 8,8,8,8,8,8,8,189,8,184, - 203,132,203,139,241,116,30,142,184,130, - 203,12,12,44,12,153,227,87,8,159, - 130,12,139,233,37,186,12,8,12,130, - 12,12,12,187,12,12,128,130,130,203, - 12,126,12,233,8,87,233,233,12,12, - 12,12,183,233,8,12,106,164,58,34, - 60,233,9,164,9,233,58,12,12,12, + 8,8,8,8,8,8,8,183,8,98, + 117,75,117,145,201,122,21,43,98,236, + 12,248,250,66,8,169,206,12,145,219, + 68,180,12,8,12,206,12,12,12,181, + 12,12,204,206,206,117,12,17,12,219, + 8,66,219,219,12,12,12,12,97,219, + 8,12,94,154,39,25,142,219,9,154, + 9,219,39,12,12,12,12,12,12,12, 12,12,12,12,12,12,12,12,12,12, - 12,12,12,12,12,12,132,132,244,239, - 10,198,8,8,192,194,68,20,233,203, - 94,12,12,187,213,213,249,12,213,130, - 130,12,203,83,12,12,12,12,123,50, - 164,184,8,34,203,91,233,164,161,184, - 8,203,130,12,106,12,203,132,34,233, - 199,233,251,130,12,233,37,189,189,189, - 189,12,12,182,123,233,146,210,161,12, - 123,168,227,9,132,203,233,233,112,187, - 12,187,130,251,189,187,94,233,233,233, - 233,179,179,123,108,108,12,189,210,12, - 12,12,68,203,168,126,126,8,12,251, - 130,233,233,233,12,179,8,58,161,12, - 231,168,187,233,251,130,233,58,161,233, - 187,233,34,187 + 12,12,75,75,208,199,10,206,12,12, + 77,176,178,59,241,219,117,82,12,12, + 181,213,213,221,12,213,206,206,12,117, + 62,12,12,12,12,151,33,154,98,8, + 25,117,79,219,154,108,98,8,117,206, + 236,8,8,94,12,117,75,25,219,113, + 219,223,206,12,219,68,183,183,183,183, + 12,12,96,151,219,104,196,108,12,151, + 73,250,9,75,117,219,219,111,181,12, + 181,206,223,183,181,82,219,219,219,219, + 119,119,151,84,84,12,183,196,12,12, + 12,59,117,73,17,17,8,12,223,206, + 219,219,219,12,119,8,39,108,12,217, + 73,181,219,223,206,219,39,108,219,181, + 219,25,181 }; }; public final static char nasb[] = Nasb.nasb; @@ -2076,31 +2034,31 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface Nasr { public final static char nasr[] = {0, 147,145,121,144,143,1,2,12,5,7, - 3,0,150,0,1,62,0,42,0,108, - 0,5,7,3,4,65,0,153,0,5, - 3,7,12,4,49,0,154,0,1,41, - 0,152,0,186,187,0,3,7,2,1, - 0,78,0,12,5,7,3,87,0,4, - 27,0,4,43,60,67,0,3,29,0, - 164,5,163,0,5,3,7,137,0,4, - 61,0,12,5,7,3,61,0,179,0, - 4,174,0,115,0,170,0,3,147,146, - 145,121,144,143,142,5,0,138,0,113, - 0,5,7,3,77,97,98,4,0,5, - 48,1,3,2,0,55,0,4,37,38, - 0,56,0,104,4,43,60,0,4,21, - 0,62,136,135,0,175,0,4,43,60, - 58,5,128,0,4,49,166,0,123,0, - 3,88,0,48,3,46,0,124,0,5, - 129,188,0,4,43,37,176,0,4,100, - 0,1,134,62,0,61,43,79,4,37, - 0,5,158,129,0,65,38,108,5,7, - 3,77,4,0,98,97,7,3,77,63, - 5,0,4,49,116,0,3,5,121,117, - 118,119,120,12,92,0,57,3,46,0, - 49,4,31,0,4,49,37,0,21,4, - 5,106,0,98,97,5,63,0,43,47, - 4,105,0 + 3,0,78,0,150,0,55,0,42,0, + 5,3,7,12,4,49,0,113,0,3, + 7,2,1,0,12,5,7,3,87,0, + 179,0,65,136,135,0,153,0,5,3, + 7,137,0,170,0,1,41,0,3,29, + 0,12,5,7,3,64,0,154,0,4, + 64,0,124,0,56,0,186,0,4,174, + 0,115,0,138,0,3,147,146,145,121, + 144,143,142,5,0,1,134,65,0,164, + 5,163,0,175,0,152,0,3,88,0, + 98,97,5,7,3,77,4,0,4,100, + 0,97,98,4,0,1,65,0,104,4, + 43,63,0,4,49,37,0,5,129,187, + 0,4,27,0,4,21,0,5,48,1, + 3,2,0,48,3,46,0,4,49,166, + 0,38,5,7,3,4,61,0,123,0, + 4,43,37,176,0,5,158,129,0,64, + 43,79,4,37,0,4,43,63,67,0, + 98,97,7,3,77,66,5,0,21,4, + 5,106,0,4,37,38,0,98,97,5, + 66,0,4,49,116,0,49,4,31,0, + 43,47,4,105,0,3,5,121,117,118, + 119,120,12,92,0,77,5,3,7,4, + 108,0,4,43,63,58,5,128,0,57, + 3,46,0 }; }; public final static char nasr[] = Nasr.nasr; @@ -2108,12 +2066,12 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface TerminalIndex { public final static char terminalIndex[] = {0, - 115,2,32,14,11,81,10,12,13,102, + 115,2,32,14,81,11,10,12,13,102, 8,9,50,54,62,70,76,77,88,89, 104,107,109,114,15,57,63,69,86,90, - 92,96,99,101,111,112,113,46,97,123, - 60,68,80,95,124,106,56,108,49,66, - 72,75,78,85,91,100,3,55,105,79, + 92,96,99,101,111,112,113,46,97,60, + 68,80,123,95,124,106,56,108,49,66, + 72,75,78,85,91,100,55,105,3,79, 1,20,48,65,93,103,21,45,34,31, 122,67,121,98,110,51,52,58,59,61, 71,73,74,87,94,18,19,7,16,17, @@ -2128,26 +2086,26 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface NonterminalIndex { public final static char nonterminalIndex[] = {0, - 134,136,236,0,0,135,232,133,0,132, + 134,136,235,0,0,135,231,133,0,132, 0,144,0,0,0,143,148,0,0,149, 179,158,159,160,161,162,151,163,137,164, 127,165,166,167,168,0,131,129,169,0, 196,142,0,0,0,139,176,138,152,0, - 0,0,0,146,172,186,0,178,0,0, - 128,0,155,202,203,0,177,0,0,0, + 0,0,0,146,172,186,0,178,0,202, + 203,0,0,128,0,155,177,0,0,0, 0,0,0,0,0,200,204,205,171,0, 0,0,0,0,0,0,126,147,175,0, 0,185,0,0,211,207,208,209,0,0, 157,0,0,130,0,201,206,0,0,0, - 0,210,0,0,239,174,188,189,190,191, - 192,194,195,0,213,216,218,219,0,235, - 0,238,0,0,140,141,145,0,154,0, + 0,210,0,0,238,174,188,189,190,191, + 192,194,195,0,213,216,218,219,0,234, + 0,237,0,0,140,141,145,0,154,0, 170,180,181,182,183,184,187,0,193,0, - 198,0,214,215,0,220,223,227,0,0, - 0,229,230,231,0,233,234,237,0,0, + 198,0,214,215,0,220,223,226,0,0, + 0,228,229,230,0,232,233,236,0,0, 150,0,0,153,156,173,0,197,199,212, - 217,0,0,221,222,224,225,226,228,240, - 241,0,0,0,0,0,0,0,0 + 217,0,0,221,222,224,225,227,239,240, + 0,0,0,0,0,0,0,0 }; }; public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex; @@ -2155,18 +2113,18 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface ScopePrefix { public final static char scopePrefix[] = { - 132,574,593,353,525,541,552,563,333,69, - 238,252,274,280,286,263,378,416,468,140, - 582,361,20,49,75,108,168,269,292,303, - 314,41,244,258,493,343,314,601,190,217, - 1,14,59,122,297,310,319,326,434,461, - 486,517,521,611,615,619,82,7,82,122, - 396,412,425,445,27,508,425,477,532,548, - 559,570,27,180,367,54,54,91,129,195, - 198,54,212,233,198,54,330,440,458,465, - 129,634,205,400,452,54,97,97,205,54, - 387,205,150,89,438,623,630,89,623,630, - 63,406,115,89,89,222 + 136,578,597,357,529,545,556,567,337,69, + 242,256,278,284,290,267,382,420,472,144, + 586,365,20,49,75,112,172,273,296,307, + 318,41,248,262,497,347,318,605,194,221, + 1,14,59,91,126,301,314,323,330,438, + 465,490,521,525,615,619,623,82,7,82, + 126,400,416,429,449,27,512,429,481,536, + 552,563,574,27,184,371,54,54,133,199, + 202,54,216,237,202,54,334,444,462,469, + 133,638,95,209,404,456,54,101,101,209, + 54,391,209,154,89,442,627,634,627,634, + 63,410,119,89,89,226 }; }; public final static char scopePrefix[] = ScopePrefix.scopePrefix; @@ -2174,18 +2132,18 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface ScopeSuffix { public final static char scopeSuffix[] = { - 18,5,5,340,5,5,5,5,340,57, - 113,80,113,113,113,249,384,422,474,146, - 65,348,25,25,80,113,173,113,113,308, - 308,46,249,86,498,348,588,606,184,184, - 5,18,5,113,301,301,301,80,113,215, - 5,5,5,5,5,215,632,11,86,126, - 340,340,340,449,37,498,429,481,536,536, - 536,536,31,184,371,57,57,80,5,5, - 201,203,215,5,236,203,80,443,5,215, - 5,5,323,403,455,490,100,104,208,512, - 390,502,153,80,80,625,625,94,627,627, - 65,408,117,175,160,224 + 18,5,5,344,5,5,5,5,344,57, + 117,80,117,117,117,253,388,426,478,150, + 65,352,25,25,80,117,177,117,117,312, + 312,46,253,86,502,352,592,610,188,188, + 5,18,5,80,117,305,305,305,80,117, + 219,5,5,5,5,5,219,636,11,86, + 130,344,344,344,453,37,502,433,485,540, + 540,540,540,31,188,375,57,57,5,5, + 205,207,219,5,240,207,80,447,5,219, + 5,5,98,327,407,459,494,104,108,212, + 516,394,506,157,80,80,629,629,631,631, + 65,412,121,179,164,228 }; }; public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix; @@ -2196,15 +2154,15 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym 58,16,16,83,16,16,16,16,83,158, 70,45,75,74,119,52,83,82,18,58, 16,83,2,6,156,117,58,73,119,118, - 120,59,53,45,137,83,16,16,99,65, - 133,86,163,126,118,118,120,47,55,175, - 17,16,16,16,16,16,11,115,156,126, - 83,82,82,36,131,137,82,18,16,16, - 16,16,131,99,83,164,158,156,179,97, - 107,66,78,64,89,120,84,80,140,175, - 173,15,120,116,20,137,127,127,63,137, - 83,137,58,156,81,135,48,156,135,48, - 163,116,117,58,58,65 + 120,59,53,45,137,83,16,16,99,61, + 133,86,163,156,126,118,118,120,47,55, + 175,17,16,16,16,16,16,11,115,156, + 126,83,82,82,36,131,137,82,18,16, + 16,16,16,131,99,83,164,158,179,97, + 107,62,78,60,89,120,84,80,140,175, + 173,15,156,120,116,20,137,127,127,66, + 137,83,137,58,156,81,135,48,135,48, + 163,116,117,58,58,61 }; }; public final static char scopeLhs[] = ScopeLhs.scopeLhs; @@ -2213,17 +2171,17 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface ScopeLa { public final static byte scopeLa[] = { 115,73,73,73,73,73,73,73,73,1, - 71,40,71,71,71,1,73,120,73,57, - 2,40,67,67,40,71,57,71,71,1, - 1,67,1,1,3,40,1,1,73,73, - 73,115,73,71,1,1,1,40,71,113, - 73,73,73,73,73,113,1,73,1,68, - 73,73,73,70,67,3,73,2,67,67, - 67,67,67,73,40,1,1,40,73,73, - 2,1,113,73,1,1,40,70,73,113, - 73,73,44,69,73,4,1,1,5,1, - 75,44,74,40,40,3,3,1,3,3, - 2,1,57,1,1,2 + 71,43,71,71,71,1,73,120,73,59, + 2,43,67,67,43,71,59,71,71,1, + 1,67,1,1,3,43,1,1,73,73, + 73,115,73,43,71,1,1,1,43,71, + 113,73,73,73,73,73,113,1,73,1, + 68,73,73,73,70,67,3,73,2,67, + 67,67,67,67,73,43,1,1,73,73, + 2,1,113,73,1,1,43,70,73,113, + 73,73,1,44,69,73,4,1,1,6, + 1,75,44,74,43,43,3,3,3,3, + 2,1,59,1,1,2 }; }; public final static byte scopeLa[] = ScopeLa.scopeLa; @@ -2231,18 +2189,18 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface ScopeStateSet { public final static char scopeStateSet[] = { - 294,182,182,259,182,182,182,182,259,24, - 282,270,282,282,102,272,259,259,182,294, - 182,259,119,161,305,102,294,282,102,102, - 102,294,272,270,19,259,182,182,66,106, - 4,259,30,243,102,102,102,247,33,8, - 182,182,182,182,182,182,165,14,305,243, - 259,259,259,214,76,19,259,182,182,182, - 182,182,76,66,259,30,24,305,74,66, - 68,106,62,106,109,102,259,259,1,8, - 22,182,102,10,183,19,102,102,49,19, - 259,19,294,305,259,27,80,305,27,80, - 30,10,102,294,294,106 + 296,184,184,261,184,184,184,184,261,24, + 284,272,284,284,102,274,261,261,184,296, + 184,261,120,162,307,102,296,284,102,102, + 102,296,274,272,19,261,184,184,66,106, + 4,261,30,307,245,102,102,102,249,33, + 8,184,184,184,184,184,184,166,14,307, + 245,261,261,261,216,76,19,261,184,184, + 184,184,184,76,66,261,30,24,74,66, + 68,106,62,106,110,102,261,261,1,8, + 22,184,307,102,10,185,19,102,102,49, + 19,261,19,296,307,261,27,80,27,80, + 30,10,102,296,296,106 }; }; public final static char scopeStateSet[] = ScopeStateSet.scopeStateSet; @@ -2250,70 +2208,70 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface ScopeRhs { public final static char scopeRhs[] = {0, - 315,2,39,0,127,0,314,2,115,0, + 314,2,39,0,127,0,313,2,115,0, 127,172,0,128,179,74,0,215,0,289, 128,62,127,0,21,0,291,62,44,0, 21,55,0,34,132,0,21,55,0,0, - 291,62,44,184,0,21,177,0,289,128, + 291,62,44,187,0,21,177,0,289,128, 62,131,0,181,129,0,137,0,224,2, 288,0,288,0,2,0,127,0,181,129, - 253,252,253,0,132,186,172,129,0,129, - 0,186,172,129,0,133,129,0,167,0, - 308,167,0,221,129,0,172,245,0,136, - 0,0,0,134,0,0,0,306,128,57, - 251,0,128,0,251,0,3,0,0,128, - 0,305,128,57,0,45,128,0,151,2, - 0,128,277,276,128,74,189,167,0,276, - 128,74,189,167,0,214,0,215,0,189, - 167,0,98,0,0,214,0,215,0,203, - 98,0,0,214,0,215,0,276,128,189, - 167,0,214,0,203,0,0,214,0,234, - 128,2,0,127,0,0,0,0,0,234, - 128,2,221,0,231,2,0,230,128,0, - 207,0,147,0,172,129,0,11,0,0, - 0,225,61,0,126,0,234,128,2,188, - 0,188,0,2,0,0,127,0,0,0, - 0,0,213,2,0,200,0,233,128,57, - 24,42,0,181,129,60,59,0,142,129, - 0,132,181,129,274,59,0,181,129,274, - 59,0,181,129,69,1,60,0,233,128, - 57,60,0,233,128,57,165,60,0,233, - 128,57,125,60,0,272,128,57,1,64, - 0,272,128,57,64,0,181,129,64,0, - 134,0,186,181,129,245,0,136,0,181, - 129,245,0,186,172,129,10,0,172,129, - 10,0,95,136,0,301,128,167,0,161, - 84,0,229,162,229,171,2,81,0,127, - 171,0,229,171,2,81,0,129,0,127, - 171,0,229,162,229,162,229,2,81,0, - 229,162,229,2,81,0,229,2,81,0, - 129,0,129,0,127,171,0,161,2,75, - 203,80,0,127,129,0,203,80,0,110, - 2,131,127,129,0,240,2,75,0,213, - 173,0,34,169,0,173,0,175,34,169, - 0,240,2,85,0,203,155,240,2,83, - 0,64,171,0,240,2,83,0,127,171, - 64,171,0,300,128,57,0,161,0,225, - 77,0,31,0,161,112,159,0,31,169, - 0,178,2,0,127,149,0,224,2,0, - 225,61,299,0,161,61,0,178,2,294, - 43,129,0,127,0,0,294,43,129,0, - 2,146,127,0,0,178,2,30,0,14, - 147,0,126,44,172,129,0,32,14,147, - 0,95,136,32,14,147,0,212,181,129, - 0,147,32,14,147,0,178,2,34,0, - 161,2,34,0,161,2,67,178,62,26, - 0,178,62,26,0,21,2,131,127,0, - 161,2,67,178,62,29,0,178,62,29, - 0,161,2,67,178,62,31,0,178,62, - 31,0,161,2,67,178,62,27,0,178, - 62,27,0,224,2,126,186,172,129,10, - 0,126,186,172,129,10,0,136,2,0, - 127,0,224,2,125,258,172,129,10,0, - 258,172,129,10,0,134,2,0,127,0, - 224,2,136,0,224,2,140,0,161,61, - 140,0,260,0,32,0,32,140,0,170, - 0,133,0,161,2,0 + 253,252,253,0,132,189,172,129,0,129, + 0,189,172,129,0,133,129,0,167,0, + 308,128,167,0,128,167,0,221,129,0, + 172,245,0,136,0,0,0,134,0,0, + 0,306,128,59,251,0,128,0,251,0, + 3,0,0,128,0,305,128,59,0,45, + 128,0,151,2,0,128,277,276,128,74, + 185,167,0,276,128,74,185,167,0,214, + 0,215,0,185,167,0,98,0,0,214, + 0,215,0,203,98,0,0,214,0,215, + 0,276,128,185,167,0,214,0,203,0, + 0,214,0,234,128,2,0,127,0,0, + 0,0,0,234,128,2,221,0,231,2, + 0,230,128,0,207,0,147,0,172,129, + 0,11,0,0,0,225,61,0,126,0, + 234,128,2,184,0,184,0,2,0,0, + 127,0,0,0,0,0,213,2,0,200, + 0,233,128,59,24,41,0,181,129,60, + 58,0,142,129,0,132,181,129,274,58, + 0,181,129,274,58,0,181,129,69,1, + 60,0,233,128,59,60,0,233,128,59, + 165,60,0,233,128,59,125,60,0,272, + 128,59,1,64,0,272,128,59,64,0, + 181,129,64,0,134,0,189,181,129,245, + 0,136,0,181,129,245,0,189,172,129, + 10,0,172,129,10,0,95,136,0,301, + 128,167,0,161,84,0,229,162,229,171, + 2,81,0,127,171,0,229,171,2,81, + 0,129,0,127,171,0,229,162,229,162, + 229,2,81,0,229,162,229,2,81,0, + 229,2,81,0,129,0,129,0,127,171, + 0,161,2,75,203,80,0,127,129,0, + 203,80,0,110,2,131,127,129,0,240, + 2,75,0,213,173,0,34,169,0,173, + 0,175,34,169,0,240,2,85,0,203, + 155,240,2,83,0,64,171,0,240,2, + 83,0,127,171,64,171,0,300,128,59, + 0,161,0,225,77,0,31,0,161,112, + 159,0,31,169,0,178,2,0,127,149, + 0,224,2,0,225,61,299,0,161,61, + 0,178,2,294,42,129,0,127,0,0, + 294,42,129,0,2,146,127,0,0,178, + 2,30,0,14,147,0,126,44,172,129, + 0,32,14,147,0,95,136,32,14,147, + 0,212,181,129,0,147,32,14,147,0, + 178,2,34,0,161,2,34,0,161,2, + 67,178,62,26,0,178,62,26,0,21, + 2,131,127,0,161,2,67,178,62,29, + 0,178,62,29,0,161,2,67,178,62, + 31,0,178,62,31,0,161,2,67,178, + 62,27,0,178,62,27,0,224,2,126, + 189,172,129,10,0,126,189,172,129,10, + 0,136,2,0,127,0,224,2,125,258, + 172,129,10,0,258,172,129,10,0,134, + 2,0,127,0,224,2,136,0,224,2, + 140,0,161,61,140,0,260,0,32,0, + 32,140,0,170,0,133,0,161,2,0 }; }; public final static char scopeRhs[] = ScopeRhs.scopeRhs; @@ -2321,37 +2279,37 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface ScopeState { public final static char scopeState[] = {0, - 3074,2194,0,2727,2722,2670,0,2491,0,4728, - 3512,3499,0,1435,1306,1419,711,0,1070,848, - 0,2026,0,3187,2861,0,2734,2467,0,2553, - 840,0,3780,3761,3693,2801,2647,3674,3606,3587, - 3519,2317,3500,3086,3020,1055,666,0,3589,3496, - 4632,4618,2739,3375,4568,2726,2430,2573,712,873, - 0,1909,1872,1163,774,4618,3375,2957,2658,2358, - 2776,2271,0,975,0,3140,2510,2429,0,4613, - 4664,4643,4578,4564,4554,4627,3854,4546,3418,4496, - 4488,3114,4474,4466,2313,4408,4304,3037,2283,2585, - 0,526,3879,2176,0,3375,2573,654,2957,4416, - 4258,3360,2776,4291,2271,4396,3867,0,3679,3529, - 2847,2609,4613,2474,3505,2260,3125,4664,4643,2180, - 2304,4578,4564,4554,4627,940,893,879,3854,2299, - 4546,3418,4496,4488,844,3114,4474,4466,2709,2313, - 4408,4304,724,2565,3037,3879,2283,2585,834,2176, - 2437,2184,567,770,2957,1294,4416,4258,989,822, - 1070,848,3375,3360,2776,4291,2573,2271,4396,3867, - 654,4376,4270,4237,578,2108,2201,2143,2401,2374, - 2233,2994,2969,2931,2905,2879,2805,4046,4014,3904, - 3475,3394,4216,4195,4174,4153,4132,4111,4090,4069, - 3974,621,1005,2071,1882,1841,2034,1997,1800,1960, - 1923,898,1759,1718,1677,1636,1595,1554,1513,1472, - 1431,1390,1349,526,1253,1212,1308,1166,1125,729, - 674,779,1026,948,1083,0,4682,3284,2700,2624, - 3251,2548,2468,3207,3174,3130,817,2428,3780,3761, - 3693,3674,3606,3587,3519,3500,3086,3020,0,2703, - 2504,3780,3761,3693,3674,3606,3587,3519,3500,3086, - 3020,3284,2700,2624,3251,2548,2468,3207,3174,3130, - 817,2428,0,3284,2700,2624,3251,2548,2468,3207, - 3174,3130,817,2428,2703,2504,0 + 3281,2067,0,3346,2962,1126,0,2167,0,3881, + 3850,3718,0,1429,1308,1396,1045,0,879,846, + 0,850,0,2964,2447,0,3068,808,0,2164, + 2161,0,3876,3810,3744,2905,2734,3678,3612,3546, + 3480,597,3414,3060,2952,2395,820,0,3575,2977, + 3772,3707,3238,3378,3442,2963,3126,4488,2459,2448, + 0,1913,1905,975,545,3707,3378,2889,2694,2358, + 2708,2271,0,798,0,2970,2668,2463,0,4725, + 4390,3974,4715,4701,4666,3708,3642,4652,3576,4642, + 4634,3088,4584,4576,2625,4566,4514,4482,2505,2566, + 0,524,3967,2143,0,3378,2720,4488,653,2889, + 4445,4335,4029,2708,4353,2271,4398,3932,0,3431, + 3338,3841,3263,4725,3257,3334,3194,3070,4390,3974, + 3180,3674,4715,4701,4666,3708,2773,2678,2350,3642, + 3077,4652,3576,4642,4634,2173,3088,4584,4576,2343, + 2625,4566,4514,841,2266,4482,3967,2505,2566,938, + 2143,2151,716,565,768,2889,1296,4445,4335,1068, + 860,4029,879,846,3378,2720,2708,4353,4488,2271, + 4398,3932,653,4365,4314,4293,576,989,2178,2110, + 2401,2374,2291,3039,2901,2863,2837,2811,2737,3008, + 2926,2210,3390,816,4272,4251,4230,4209,4182,4159, + 4138,4114,4062,619,2238,2073,1884,2036,1999,1843, + 1802,1962,1925,896,1761,1720,1679,1638,1597,1556, + 1515,1474,1433,1392,1351,524,1255,1213,1309,1172, + 1129,727,672,777,1024,946,1084,0,3944,3302, + 2632,2588,3258,2512,2468,3225,3181,3148,3104,2428, + 3876,3810,3744,3678,3612,3546,3480,3414,3060,2952, + 0,3481,4418,3876,3810,3744,3678,3612,3546,3480, + 3414,3060,2952,3302,2632,2588,3258,2512,2468,3225, + 3181,3148,3104,2428,0,3302,2632,2588,3258,2512, + 2468,3225,3181,3148,3104,2428,3481,4418,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -2359,58 +2317,58 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface InSymb { public final static char inSymb[] = {0, - 0,293,42,44,184,167,128,63,60,59, - 228,24,62,44,189,128,188,4,127,6, + 0,293,41,44,187,167,128,63,60,58, + 228,24,62,44,185,128,184,4,127,5, 131,1,129,3,2,266,267,251,268,245, - 269,64,270,271,1,10,129,2,57,165, - 125,1,60,274,128,57,67,62,74,128, - 301,213,201,188,128,302,2,62,173,61, - 2,41,43,62,181,170,1,172,6,213, - 57,172,307,129,126,125,1,57,129,129, - 181,172,24,128,57,57,69,129,129,128, - 291,44,10,58,145,128,276,70,2,69, - 61,230,129,5,68,128,128,187,61,61, - 128,3,186,128,126,125,128,181,128,57, + 269,64,270,271,1,10,129,2,59,165, + 125,1,60,274,128,59,67,62,74,128, + 301,213,201,184,128,302,2,62,173,61, + 2,40,42,62,181,170,1,172,5,213, + 59,172,307,129,126,125,1,59,129,129, + 181,172,24,128,59,59,69,129,129,128, + 291,44,10,57,145,128,276,70,2,69, + 61,230,129,6,68,128,128,190,61,61, + 128,3,189,128,126,125,128,181,128,59, 128,181,172,44,155,233,228,128,128,129, 181,181,233,68,67,62,232,232,69,231, - 213,221,222,2,128,276,57,287,129,288, - 151,128,57,34,26,29,31,27,10,136, - 2,129,30,25,4,9,8,5,7,12, + 213,221,222,2,128,276,59,287,129,288, + 151,128,59,34,26,29,31,27,10,136, + 2,129,30,25,4,9,8,6,7,12, 11,140,146,148,147,150,149,154,152,157, 156,158,39,159,225,159,129,172,128,234, - 235,236,289,173,134,292,289,260,186,306, - 129,182,252,59,167,309,128,128,70,186, - 128,272,247,273,186,233,233,181,166,1, + 235,236,289,173,134,292,289,260,189,306, + 129,182,252,58,167,309,128,128,70,189, + 128,272,247,273,189,233,233,181,166,1, 132,291,69,69,69,69,2,231,128,230, 277,128,68,181,2,265,128,2,62,62, - 62,62,129,2,178,161,128,41,43,172, + 62,62,129,2,178,161,128,40,42,172, 2,126,125,101,114,2,61,88,94,9, - 8,90,89,5,92,91,67,62,86,87, + 8,90,89,6,92,91,67,62,86,87, 7,96,95,98,97,99,111,110,109,108, 107,106,105,104,103,102,69,112,100,172, - 5,180,155,68,128,2,68,3,172,308, - 189,1,232,213,312,253,129,272,69,68, - 166,67,128,234,128,300,79,77,1,161, - 85,83,81,80,75,82,84,78,76,167, - 60,74,45,224,68,305,178,161,178,178, - 178,178,172,224,155,136,10,129,61,294, - 2,178,44,129,44,224,161,147,147,146, - 146,146,149,149,149,149,148,148,152,150, - 150,156,154,157,161,158,128,128,230,128, - 186,68,70,69,68,252,181,58,234,155, - 278,115,225,70,2,2,2,203,2,1, - 161,1,179,68,67,67,67,67,186,258, - 129,172,211,2,295,173,151,129,181,172, - 70,226,132,38,253,232,155,128,2,240, - 173,240,171,229,75,240,128,2,2,2, - 2,126,125,172,44,178,128,128,4,212, - 44,128,129,69,128,226,93,314,173,155, - 213,155,229,162,2,155,278,161,161,161, - 161,2,2,186,155,296,299,61,187,3, - 126,39,181,226,128,155,155,69,203,162, - 229,161,224,224,126,2,61,161,4,3, - 2,128,120,229,162,155,224,225,4,315, - 155,229,68,155 + 6,180,155,68,128,2,68,3,172,128, + 311,253,129,272,69,68,166,67,128,234, + 128,300,79,77,1,161,85,83,81,80, + 75,82,84,78,76,167,60,74,45,224, + 68,305,178,161,178,178,178,178,172,224, + 155,136,10,129,61,294,2,178,44,129, + 44,224,161,147,147,146,146,146,149,149, + 149,149,148,148,152,150,150,156,154,157, + 161,158,128,128,230,128,189,308,1,232, + 213,68,252,181,57,234,155,278,115,225, + 70,2,2,2,203,2,1,161,1,179, + 68,67,67,67,67,189,258,129,172,211, + 2,295,173,151,129,181,172,70,226,132, + 68,70,69,253,232,155,128,2,240,173, + 240,171,229,75,240,128,2,2,2,2, + 126,125,172,44,178,128,128,4,212,44, + 128,129,69,128,226,93,313,173,155,213, + 155,229,162,2,155,278,161,161,161,161, + 2,2,189,155,296,299,61,190,3,126, + 39,181,226,128,155,155,69,203,162,229, + 161,224,224,126,2,61,161,4,3,2, + 128,120,229,162,155,224,225,4,314,155, + 229,68,155 }; }; public final static char inSymb[] = InSymb.inSymb; @@ -2648,7 +2606,6 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym "member_declarator_list", "member_declaration_list", "member_declarator", - "pure_specifier", "constant_initializer", "base_specifier_list", "base_specifier", @@ -2683,20 +2640,20 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public final int getMaxNameLength() { return MAX_NAME_LENGTH; } public final static int - NUM_STATES = 514, + NUM_STATES = 513, NT_OFFSET = 124, - LA_STATE_OFFSET = 5598, + LA_STATE_OFFSET = 5531, MAX_LA = 2147483647, - NUM_RULES = 525, - NUM_NONTERMINALS = 199, - NUM_SYMBOLS = 323, + NUM_RULES = 523, + NUM_NONTERMINALS = 198, + NUM_SYMBOLS = 322, SEGMENT_SIZE = 8192, START_STATE = 2428, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 119, EOLT_SYMBOL = 119, - ACCEPT_ACTION = 4846, - ERROR_ACTION = 5073; + ACCEPT_ACTION = 4784, + ERROR_ACTION = 5008; public final static boolean BACKTRACK = true; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParsersym.java index 454be071f11..28d9fd3474b 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParsersym.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParsersym.java @@ -22,12 +22,12 @@ public interface CPPParsersym { TK_case = 77, TK_catch = 115, TK_char = 14, - TK_class = 58, + TK_class = 57, TK_const = 47, TK_const_cast = 26, TK_continue = 78, TK_default = 79, - TK_delete = 41, + TK_delete = 40, TK_do = 80, TK_double = 15, TK_dynamic_cast = 27, @@ -35,7 +35,7 @@ public interface CPPParsersym { TK_enum = 64, TK_explicit = 50, TK_export = 72, - TK_extern = 42, + TK_extern = 41, TK_false = 28, TK_float = 16, TK_for = 81, @@ -47,8 +47,8 @@ public interface CPPParsersym { TK_long = 18, TK_mutable = 53, TK_namespace = 60, - TK_new = 43, - TK_operator = 6, + TK_new = 42, + TK_operator = 5, TK_private = 116, TK_protected = 117, TK_public = 118, @@ -72,7 +72,7 @@ public interface CPPParsersym { TK_typename = 10, TK_union = 66, TK_unsigned = 21, - TK_using = 59, + TK_using = 58, TK_virtual = 46, TK_void = 22, TK_volatile = 48, @@ -82,7 +82,6 @@ public interface CPPParsersym { TK_floating = 36, TK_charconst = 37, TK_stringlit = 24, - TK_zero = 38, TK_identifier = 1, TK_TypedefName = 121, TK_Completion = 122, @@ -90,7 +89,7 @@ public interface CPPParsersym { TK_Invalid = 124, TK_LeftBracket = 61, TK_LeftParen = 2, - TK_LeftBrace = 57, + TK_LeftBrace = 59, TK_Dot = 114, TK_DotStar = 94, TK_Arrow = 101, @@ -98,7 +97,7 @@ public interface CPPParsersym { TK_PlusPlus = 11, TK_MinusMinus = 12, TK_And = 7, - TK_Star = 5, + TK_Star = 6, TK_Plus = 8, TK_Minus = 9, TK_Tilde = 4, @@ -133,10 +132,11 @@ public interface CPPParsersym { TK_CaretAssign = 110, TK_OrAssign = 111, TK_Comma = 68, + TK_zero = 38, TK_RightBracket = 113, TK_RightParen = 73, TK_RightBrace = 71, - TK_SemiColon = 40, + TK_SemiColon = 43, TK_ERROR_TOKEN = 45, TK_EOF_TOKEN = 119; @@ -146,8 +146,8 @@ public interface CPPParsersym { "LeftParen", "ColonColon", "Tilde", - "Star", "operator", + "Star", "And", "Plus", "Minus", @@ -181,10 +181,10 @@ public interface CPPParsersym { "charconst", "zero", "throw", - "SemiColon", "delete", "extern", "new", + "SemiColon", "template", "ERROR_TOKEN", "virtual", @@ -198,9 +198,9 @@ public interface CPPParsersym { "register", "static", "typedef", - "LeftBrace", "class", "using", + "LeftBrace", "namespace", "LeftBracket", "LT",