From 0b0508f728d17cac46929947d644068ec8c1baae Mon Sep 17 00:00:00 2001 From: Mike Kucera Date: Fri, 25 Jan 2008 22:48:16 +0000 Subject: [PATCH] actions for templates, conversion functions and exceptions --- .../action/cpp/CPPASTNodeFactory.java | 12 + .../action/cpp/CPPBuildASTParserAction.java | 64 +- .../action/cpp/ICPPASTNodeFactory.java | 9 +- .../core/dom/lrparser/cpp/CPPParser.g | 56 +- .../core/dom/lrparser/cpp/CPPParser.java | 1311 +++--- .../core/dom/lrparser/cpp/CPPParserprs.java | 3689 +++++++++-------- .../core/dom/lrparser/cpp/CPPParsersym.java | 12 +- 7 files changed, 2725 insertions(+), 2428 deletions(-) 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 01ed33e21d4..2117e077e99 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 @@ -84,9 +84,11 @@ import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTQualifiedName; import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTReferenceOperator; import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTSimpleDeclSpecifier; import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTSimpleTypeConstructorExpression; +import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTSimpleTypeTemplateParameter; import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateDeclaration; import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateId; import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateSpecialization; +import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplatedTypeTemplateParameter; import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTryBlockStatement; import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTypenameExpression; import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTUsingDeclaration; @@ -157,10 +159,12 @@ import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTReturnStatement; import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTSimpleDeclSpecifier; import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTSimpleDeclaration; import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTSimpleTypeConstructorExpression; +import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTSimpleTypeTemplateParameter; import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTSwitchStatement; import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTTemplateDeclaration; import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTTemplateId; import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTTemplateSpecialization; +import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTTemplatedTypeTemplateParameter; import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTTranslationUnit; import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTTryBlockStatement; import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTTypeId; @@ -521,4 +525,12 @@ public class CPPASTNodeFactory implements ICPPASTNodeFactory { return new CPPASTFieldDeclarator(name, bitFieldSize); } + public ICPPASTSimpleTypeTemplateParameter newSimpleTypeTemplateParameter(int type, IASTName name, IASTTypeId typeId) { + return new CPPASTSimpleTypeTemplateParameter(type, name, typeId); + } + + public ICPPASTTemplatedTypeTemplateParameter newTemplatedTypeTemplateParameter(IASTName name, IASTExpression idExpression) { + return new CPPASTTemplatedTypeTemplateParameter(name, idExpression); + } + } 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 768af265484..d71a83472d1 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 @@ -68,10 +68,12 @@ import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTQualifiedName; import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTReferenceOperator; import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTSimpleDeclSpecifier; import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTSimpleTypeConstructorExpression; +import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTSimpleTypeTemplateParameter; import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateDeclaration; import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateId; import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateParameter; import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateSpecialization; +import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplatedTypeTemplateParameter; import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTryBlockStatement; import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTypenameExpression; import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTUnaryExpression; @@ -582,7 +584,7 @@ public class CPPBuildASTParserAction extends BuildASTParserAction { if(TRACE_ACTIONS) DebugUtil.printMethodTrace(); IASTStatement body = (IASTStatement) astStack.pop(); - IASTDeclaration decl = (hasEllipsis) ? (IASTDeclaration) astStack.pop() : null; + IASTDeclaration decl = hasEllipsis ? null : (IASTDeclaration) astStack.pop(); ICPPASTCatchHandler catchHandler = nodeFactory.newCatchHandler(decl, body); catchHandler.setIsCatchAll(hasEllipsis); @@ -882,7 +884,7 @@ public class CPPBuildASTParserAction extends BuildASTParserAction { /** * template_declaration - * ::= export_opt 'template' '<' template_parameter_list '>' declaration + * ::= export_opt 'template' '<' template_parameter_list '>' declaration */ public void consumeTemplateDeclaration() { if(TRACE_ACTIONS) DebugUtil.printMethodTrace(); @@ -1428,8 +1430,66 @@ public class CPPBuildASTParserAction extends BuildASTParserAction { } declarator.setInitializer(initializer); + + if(TRACE_AST_STACK) System.out.println(astStack); } + + /** + * type_parameter + * ::= 'class' identifier_name_opt -- simple type template parameter + * | 'class' identifier_name_opt '=' type_id + * | 'typename' identifier_name_opt + * | 'typename' identifier_name_opt '=' type_id + */ + public void consumeSimpleTypeTemplateParameter(boolean hasTypeId) { + if(TRACE_ACTIONS) DebugUtil.printMethodTrace(); + + IASTTypeId typeId = hasTypeId ? (IASTTypeId)astStack.pop() : null; + + IASTName name = (IASTName)astStack.pop(); + int type = getTemplateParameterType(parser.getLeftIToken()); + + ICPPASTSimpleTypeTemplateParameter templateParameter = nodeFactory.newSimpleTypeTemplateParameter(type, name, typeId); + + setOffsetAndLength(templateParameter); + astStack.push(templateParameter); + + if(TRACE_AST_STACK) System.out.println(astStack); + } + + private static int getTemplateParameterType(IToken token) { + switch(token.getKind()) { + default: assert false; + case TK_class: return ICPPASTSimpleTypeTemplateParameter.st_class; + case TK_typename: return ICPPASTSimpleTypeTemplateParameter.st_typename; + } + } + + /** + * type_parameter + * ::= 'template' '<' template_parameter_list '>' 'class' identifier_name_opt + * | 'template' '<' template_parameter_list '>' 'class' identifier_name_opt '=' id_expression + * @param hasIdExpr + */ + public void consumeTemplatedTypeTemplateParameter(boolean hasIdExpr) { + if(TRACE_ACTIONS) DebugUtil.printMethodTrace(); + + IASTExpression idExpression = hasIdExpr ? (IASTExpression)astStack.pop() : null; + IASTName name = (IASTName) astStack.pop(); + + ICPPASTTemplatedTypeTemplateParameter templateParameter = nodeFactory.newTemplatedTypeTemplateParameter(name, idExpression); + + for(Object param : astStack.closeScope()) + templateParameter.addTemplateParamter((ICPPASTTemplateParameter)param); + + setOffsetAndLength(templateParameter); + astStack.push(templateParameter); + + if(TRACE_AST_STACK) System.out.println(astStack); + } + + } diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/ICPPASTNodeFactory.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/ICPPASTNodeFactory.java index d743ed229fc..3c8d8293d21 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/ICPPASTNodeFactory.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/ICPPASTNodeFactory.java @@ -40,9 +40,11 @@ import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTQualifiedName; import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTReferenceOperator; import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTSimpleDeclSpecifier; import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTSimpleTypeConstructorExpression; +import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTSimpleTypeTemplateParameter; import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateDeclaration; import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateId; import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateSpecialization; +import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplatedTypeTemplateParameter; import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTryBlockStatement; import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTypenameExpression; import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTUsingDeclaration; @@ -122,8 +124,11 @@ public interface ICPPASTNodeFactory extends IASTNodeFactory { public ICPPASTFunctionDeclarator newCPPFunctionDeclarator(IASTName name); - public ICPPASTConstructorChainInitializer newConstructorChainInitializer( - IASTName name, IASTExpression expr); + public ICPPASTConstructorChainInitializer newConstructorChainInitializer(IASTName name, IASTExpression expr); public ICPPASTFunctionTryBlockDeclarator newFunctionTryBlockDeclarator(IASTName name); + + public ICPPASTSimpleTypeTemplateParameter newSimpleTypeTemplateParameter(int type, IASTName name, IASTTypeId typeId); + + public ICPPASTTemplatedTypeTemplateParameter newTemplatedTypeTemplateParameter(IASTName name, IASTExpression idExpression); } 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 248a4dadb1c..67ac3f16ca2 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 @@ -358,7 +358,11 @@ primary_expression ::= literal | '(' expression ')' /. $Build consumeExpressionBracketed(); $EndBuild ./ - | qualified_or_unqualified_name + | id_expression + + +id_expression + ::= qualified_or_unqualified_name /. $Build consumeExpressionName(); $EndBuild ./ @@ -1251,9 +1255,9 @@ ptr_operator_seq | ptr_operator_seq ptr_operator -ptr_operator_seq_opt - ::= ptr_operator_seq - | $empty +--ptr_operator_seq_opt +-- ::= ptr_operator_seq +-- | $empty cv_qualifier_seq @@ -1564,16 +1568,20 @@ conversion_function_id_name conversion_type_id - ::= type_specifier_seq conversion_declarator_opt + ::= type_specifier_seq conversion_declarator + /. $Build consumeTypeId(true); $EndBuild ./ + | type_specifier_seq + /. $Build consumeTypeId(false); $EndBuild ./ conversion_declarator - ::= ptr_operator conversion_declarator_opt - + ::= ptr_operator_seq + /. $Build consumeDeclaratorWithPointer(false); $EndBuild ./ + -conversion_declarator_opt - ::= conversion_declarator - | $empty +--conversion_declarator_opt +-- ::= conversion_declarator +-- | $empty ctor_initializer_list @@ -1622,7 +1630,7 @@ overloadable_operator template_declaration - ::= export_opt 'template' '<' template_parameter_list '>' declaration + ::= export_opt 'template' '<' template_parameter_list '>' declaration /. $Build consumeTemplateDeclaration(); $EndBuild ./ @@ -1644,12 +1652,18 @@ template_parameter type_parameter - ::= 'class' identifier_opt - | 'class' identifier_opt '=' type_id - | 'typename' identifier_opt - | 'typename' identifier_opt '=' type_id - | 'template' '<' template_parameter_list '>' 'class' identifier_opt - | 'template' '<' template_parameter_list '>' 'class' identifier_opt '=' qualified_or_unqualified_name + ::= 'class' identifier_name_opt + /. $Build consumeSimpleTypeTemplateParameter(false); $EndBuild ./ + | 'class' identifier_name_opt '=' type_id + /. $Build consumeSimpleTypeTemplateParameter(true); $EndBuild ./ + | 'typename' identifier_name_opt + /. $Build consumeSimpleTypeTemplateParameter(false); $EndBuild ./ + | 'typename' identifier_name_opt '=' type_id + /. $Build consumeSimpleTypeTemplateParameter(true); $EndBuild ./ + | 'template' '<' template_parameter_list '>' 'class' identifier_name_opt + /. $Build consumeTemplatedTypeTemplateParameter(false); $EndBuild ./ + | 'template' '<' template_parameter_list '>' 'class' identifier_name_opt '=' id_expression + /. $Build consumeTemplatedTypeTemplateParameter(true); $EndBuild ./ -- pushes name node on stack @@ -1707,10 +1721,14 @@ handler /. $Build consumeStatementCatchHandler(true); $EndBuild ./ +-- open a scope just so that we can reuse consumeDeclarationSimple() exception_declaration - ::= type_specifier_seq declarator - | type_specifier_seq abstract_declarator + ::= type_specifier_seq declarator + /. $Build consumeDeclarationSimple(true); $EndBuild ./ + | type_specifier_seq abstract_declarator + /. $Build consumeDeclarationSimple(true); $EndBuild ./ | type_specifier_seq + /. $Build consumeDeclarationSimple(false); $EndBuild ./ -- puts type ids on the stack 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 270f26ebef5..ee0e5948adc 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 @@ -222,8 +222,7 @@ public int getKind(int i) { RULE_ACTIONS[18] = new Action18(); RULE_ACTIONS[19] = new Action19(); RULE_ACTIONS[21] = new Action21(); - RULE_ACTIONS[22] = new Action22(); - RULE_ACTIONS[29] = new Action29(); + RULE_ACTIONS[23] = new Action23(); RULE_ACTIONS[30] = new Action30(); RULE_ACTIONS[31] = new Action31(); RULE_ACTIONS[32] = new Action32(); @@ -238,8 +237,8 @@ public int getKind(int i) { RULE_ACTIONS[41] = new Action41(); RULE_ACTIONS[42] = new Action42(); RULE_ACTIONS[43] = new Action43(); - RULE_ACTIONS[45] = new Action45(); - RULE_ACTIONS[49] = new Action49(); + RULE_ACTIONS[44] = new Action44(); + RULE_ACTIONS[46] = new Action46(); RULE_ACTIONS[50] = new Action50(); RULE_ACTIONS[51] = new Action51(); RULE_ACTIONS[52] = new Action52(); @@ -261,7 +260,7 @@ public int getKind(int i) { RULE_ACTIONS[68] = new Action68(); RULE_ACTIONS[69] = new Action69(); RULE_ACTIONS[70] = new Action70(); - RULE_ACTIONS[74] = new Action74(); + RULE_ACTIONS[71] = new Action71(); RULE_ACTIONS[75] = new Action75(); RULE_ACTIONS[76] = new Action76(); RULE_ACTIONS[77] = new Action77(); @@ -273,38 +272,38 @@ public int getKind(int i) { RULE_ACTIONS[83] = new Action83(); RULE_ACTIONS[84] = new Action84(); RULE_ACTIONS[85] = new Action85(); - RULE_ACTIONS[88] = new Action88(); + RULE_ACTIONS[86] = new Action86(); RULE_ACTIONS[89] = new Action89(); RULE_ACTIONS[90] = new Action90(); RULE_ACTIONS[91] = new Action91(); - RULE_ACTIONS[100] = new Action100(); + RULE_ACTIONS[92] = new Action92(); RULE_ACTIONS[101] = new Action101(); RULE_ACTIONS[102] = new Action102(); - RULE_ACTIONS[104] = new Action104(); - RULE_ACTIONS[106] = new Action106(); + RULE_ACTIONS[103] = new Action103(); + RULE_ACTIONS[105] = new Action105(); RULE_ACTIONS[107] = new Action107(); - RULE_ACTIONS[109] = new Action109(); + RULE_ACTIONS[108] = new Action108(); RULE_ACTIONS[110] = new Action110(); RULE_ACTIONS[111] = new Action111(); - RULE_ACTIONS[113] = new Action113(); + RULE_ACTIONS[112] = new Action112(); RULE_ACTIONS[114] = new Action114(); - RULE_ACTIONS[116] = new Action116(); + RULE_ACTIONS[115] = new Action115(); RULE_ACTIONS[117] = new Action117(); - RULE_ACTIONS[119] = new Action119(); + RULE_ACTIONS[118] = new Action118(); RULE_ACTIONS[120] = new Action120(); RULE_ACTIONS[121] = new Action121(); RULE_ACTIONS[122] = new Action122(); - RULE_ACTIONS[124] = new Action124(); + RULE_ACTIONS[123] = new Action123(); RULE_ACTIONS[125] = new Action125(); - RULE_ACTIONS[127] = new Action127(); - RULE_ACTIONS[129] = new Action129(); - RULE_ACTIONS[131] = new Action131(); - RULE_ACTIONS[133] = new Action133(); - RULE_ACTIONS[135] = new Action135(); - RULE_ACTIONS[137] = new Action137(); + RULE_ACTIONS[126] = new Action126(); + RULE_ACTIONS[128] = new Action128(); + RULE_ACTIONS[130] = new Action130(); + RULE_ACTIONS[132] = new Action132(); + RULE_ACTIONS[134] = new Action134(); + RULE_ACTIONS[136] = new Action136(); RULE_ACTIONS[138] = new Action138(); RULE_ACTIONS[139] = new Action139(); - RULE_ACTIONS[142] = new Action142(); + RULE_ACTIONS[140] = new Action140(); RULE_ACTIONS[143] = new Action143(); RULE_ACTIONS[144] = new Action144(); RULE_ACTIONS[145] = new Action145(); @@ -315,12 +314,12 @@ public int getKind(int i) { RULE_ACTIONS[150] = new Action150(); RULE_ACTIONS[151] = new Action151(); RULE_ACTIONS[152] = new Action152(); - RULE_ACTIONS[154] = new Action154(); + RULE_ACTIONS[153] = new Action153(); RULE_ACTIONS[155] = new Action155(); - RULE_ACTIONS[159] = new Action159(); - RULE_ACTIONS[161] = new Action161(); - RULE_ACTIONS[164] = new Action164(); - RULE_ACTIONS[173] = new Action173(); + RULE_ACTIONS[156] = new Action156(); + RULE_ACTIONS[160] = new Action160(); + RULE_ACTIONS[162] = new Action162(); + RULE_ACTIONS[165] = new Action165(); RULE_ACTIONS[174] = new Action174(); RULE_ACTIONS[175] = new Action175(); RULE_ACTIONS[176] = new Action176(); @@ -328,10 +327,10 @@ public int getKind(int i) { RULE_ACTIONS[178] = new Action178(); RULE_ACTIONS[179] = new Action179(); RULE_ACTIONS[180] = new Action180(); - RULE_ACTIONS[183] = new Action183(); + RULE_ACTIONS[181] = new Action181(); RULE_ACTIONS[184] = new Action184(); RULE_ACTIONS[185] = new Action185(); - RULE_ACTIONS[187] = new Action187(); + RULE_ACTIONS[186] = new Action186(); RULE_ACTIONS[188] = new Action188(); RULE_ACTIONS[189] = new Action189(); RULE_ACTIONS[190] = new Action190(); @@ -342,31 +341,31 @@ public int getKind(int i) { RULE_ACTIONS[195] = new Action195(); RULE_ACTIONS[196] = new Action196(); RULE_ACTIONS[197] = new Action197(); - RULE_ACTIONS[214] = new Action214(); + RULE_ACTIONS[198] = new Action198(); RULE_ACTIONS[215] = new Action215(); RULE_ACTIONS[216] = new Action216(); RULE_ACTIONS[217] = new Action217(); RULE_ACTIONS[218] = new Action218(); RULE_ACTIONS[219] = new Action219(); - RULE_ACTIONS[221] = new Action221(); - RULE_ACTIONS[225] = new Action225(); + RULE_ACTIONS[220] = new Action220(); + RULE_ACTIONS[222] = new Action222(); RULE_ACTIONS[226] = new Action226(); - RULE_ACTIONS[254] = new Action254(); - RULE_ACTIONS[270] = new Action270(); + RULE_ACTIONS[227] = new Action227(); + RULE_ACTIONS[255] = new Action255(); RULE_ACTIONS[271] = new Action271(); RULE_ACTIONS[272] = new Action272(); RULE_ACTIONS[273] = new Action273(); RULE_ACTIONS[274] = new Action274(); RULE_ACTIONS[275] = new Action275(); RULE_ACTIONS[276] = new Action276(); - RULE_ACTIONS[278] = new Action278(); + RULE_ACTIONS[277] = new Action277(); RULE_ACTIONS[279] = new Action279(); - RULE_ACTIONS[284] = new Action284(); + RULE_ACTIONS[280] = new Action280(); RULE_ACTIONS[285] = new Action285(); - RULE_ACTIONS[294] = new Action294(); + RULE_ACTIONS[286] = new Action286(); RULE_ACTIONS[295] = new Action295(); RULE_ACTIONS[296] = new Action296(); - RULE_ACTIONS[298] = new Action298(); + RULE_ACTIONS[297] = new Action297(); RULE_ACTIONS[299] = new Action299(); RULE_ACTIONS[300] = new Action300(); RULE_ACTIONS[301] = new Action301(); @@ -374,9 +373,9 @@ public int getKind(int i) { RULE_ACTIONS[303] = new Action303(); RULE_ACTIONS[304] = new Action304(); RULE_ACTIONS[305] = new Action305(); - RULE_ACTIONS[311] = new Action311(); - RULE_ACTIONS[313] = new Action313(); - RULE_ACTIONS[317] = new Action317(); + RULE_ACTIONS[306] = new Action306(); + RULE_ACTIONS[312] = new Action312(); + RULE_ACTIONS[314] = new Action314(); RULE_ACTIONS[318] = new Action318(); RULE_ACTIONS[319] = new Action319(); RULE_ACTIONS[320] = new Action320(); @@ -386,13 +385,15 @@ public int getKind(int i) { RULE_ACTIONS[324] = new Action324(); RULE_ACTIONS[325] = new Action325(); RULE_ACTIONS[326] = new Action326(); + RULE_ACTIONS[327] = new Action327(); + RULE_ACTIONS[333] = new Action333(); RULE_ACTIONS[334] = new Action334(); - RULE_ACTIONS[335] = new Action335(); + RULE_ACTIONS[336] = new Action336(); RULE_ACTIONS[337] = new Action337(); RULE_ACTIONS[338] = new Action338(); - RULE_ACTIONS[339] = new Action339(); + RULE_ACTIONS[341] = new Action341(); RULE_ACTIONS[342] = new Action342(); - RULE_ACTIONS[343] = new Action343(); + RULE_ACTIONS[346] = new Action346(); RULE_ACTIONS[347] = new Action347(); RULE_ACTIONS[348] = new Action348(); RULE_ACTIONS[349] = new Action349(); @@ -401,37 +402,42 @@ public int getKind(int i) { RULE_ACTIONS[352] = new Action352(); RULE_ACTIONS[353] = new Action353(); RULE_ACTIONS[354] = new Action354(); - RULE_ACTIONS[355] = new Action355(); + RULE_ACTIONS[360] = new Action360(); RULE_ACTIONS[361] = new Action361(); RULE_ACTIONS[362] = new Action362(); - RULE_ACTIONS[363] = new Action363(); - RULE_ACTIONS[365] = new Action365(); + RULE_ACTIONS[364] = new Action364(); + RULE_ACTIONS[366] = new Action366(); 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[373] = new Action373(); RULE_ACTIONS[374] = new Action374(); RULE_ACTIONS[375] = new Action375(); RULE_ACTIONS[376] = new Action376(); RULE_ACTIONS[377] = new Action377(); - RULE_ACTIONS[378] = new Action378(); + RULE_ACTIONS[382] = new Action382(); RULE_ACTIONS[383] = new Action383(); RULE_ACTIONS[384] = new Action384(); RULE_ACTIONS[385] = new Action385(); RULE_ACTIONS[386] = new Action386(); - RULE_ACTIONS[387] = new Action387(); - RULE_ACTIONS[391] = new Action391(); + RULE_ACTIONS[390] = new Action390(); + RULE_ACTIONS[394] = new Action394(); RULE_ACTIONS[395] = new Action395(); RULE_ACTIONS[396] = new Action396(); - RULE_ACTIONS[397] = new Action397(); - RULE_ACTIONS[400] = new Action400(); + RULE_ACTIONS[399] = new Action399(); + RULE_ACTIONS[410] = new Action410(); RULE_ACTIONS[411] = new Action411(); - RULE_ACTIONS[419] = new Action419(); + RULE_ACTIONS[412] = new Action412(); + RULE_ACTIONS[413] = new Action413(); RULE_ACTIONS[420] = new Action420(); RULE_ACTIONS[421] = new Action421(); RULE_ACTIONS[422] = new Action422(); - RULE_ACTIONS[428] = new Action428(); + RULE_ACTIONS[423] = new Action423(); + RULE_ACTIONS[429] = new Action429(); + RULE_ACTIONS[430] = new Action430(); + RULE_ACTIONS[431] = new Action431(); + RULE_ACTIONS[432] = new Action432(); RULE_ACTIONS[438] = new Action438(); RULE_ACTIONS[439] = new Action439(); RULE_ACTIONS[442] = new Action442(); @@ -439,12 +445,21 @@ public int getKind(int i) { RULE_ACTIONS[486] = new Action486(); RULE_ACTIONS[487] = new Action487(); RULE_ACTIONS[488] = new Action488(); + RULE_ACTIONS[493] = new Action493(); + RULE_ACTIONS[494] = new Action494(); + RULE_ACTIONS[495] = new Action495(); + RULE_ACTIONS[496] = new Action496(); + RULE_ACTIONS[497] = new Action497(); + RULE_ACTIONS[498] = new Action498(); RULE_ACTIONS[499] = new Action499(); RULE_ACTIONS[508] = new Action508(); RULE_ACTIONS[509] = new Action509(); RULE_ACTIONS[510] = new Action510(); RULE_ACTIONS[513] = new Action513(); RULE_ACTIONS[514] = new Action514(); + RULE_ACTIONS[515] = new Action515(); + RULE_ACTIONS[516] = new Action516(); + RULE_ACTIONS[517] = new Action517(); // @@ -598,9 +613,9 @@ public int getKind(int i) { } // - // Rule 22: primary_expression ::= qualified_or_unqualified_name + // Rule 23: id_expression ::= qualified_or_unqualified_name // - static final class Action22 extends DeclaredAction< CPPParserAction , Object > { + static final class Action23 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionName(); @@ -608,9 +623,9 @@ public int getKind(int i) { } // - // Rule 29: unqualified_id_name ::= ~ class_name + // Rule 30: unqualified_id_name ::= ~ class_name // - static final class Action29 extends DeclaredAction< CPPParserAction , Object > { + static final class Action30 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeDestructorName(); @@ -618,9 +633,9 @@ public int getKind(int i) { } // - // Rule 30: identifier_name ::= identifier + // Rule 31: identifier_name ::= identifier // - static final class Action30 extends DeclaredAction< CPPParserAction , Object > { + static final class Action31 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeIdentifierName(); @@ -628,29 +643,29 @@ public int getKind(int i) { } // - // Rule 31: template_opt ::= template - // - static final class Action31 extends DeclaredAction< CPPParserAction , Object > { - - public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. - consumePlaceHolder(); - } - } - - // - // Rule 32: template_opt ::= $Empty + // Rule 32: template_opt ::= template // static final class Action32 extends DeclaredAction< CPPParserAction , Object > { + public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. + consumePlaceHolder(); + } + } + + // + // Rule 33: template_opt ::= $Empty + // + static final class Action33 extends DeclaredAction< CPPParserAction , Object > { + public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeEmpty(); } } // - // Rule 33: dcolon_opt ::= :: + // Rule 34: dcolon_opt ::= :: // - static final class Action33 extends DeclaredAction< CPPParserAction , Object > { + static final class Action34 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumePlaceHolder(); @@ -658,9 +673,9 @@ public int getKind(int i) { } // - // Rule 34: dcolon_opt ::= $Empty + // Rule 35: dcolon_opt ::= $Empty // - static final class Action34 extends DeclaredAction< CPPParserAction , Object > { + static final class Action35 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeEmpty(); @@ -668,9 +683,9 @@ public int getKind(int i) { } // - // Rule 35: qualified_id_name ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name + // Rule 36: qualified_id_name ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name // - static final class Action35 extends DeclaredAction< CPPParserAction , Object > { + static final class Action36 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeQualifiedId(true); @@ -678,17 +693,7 @@ public int getKind(int i) { } // - // Rule 36: qualified_id_name ::= :: identifier_name - // - static final class Action36 extends DeclaredAction< CPPParserAction , Object > { - - public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. - consumeGlobalQualifiedId(); - } - } - - // - // Rule 37: qualified_id_name ::= :: operator_function_id_name + // Rule 37: qualified_id_name ::= :: identifier_name // static final class Action37 extends DeclaredAction< CPPParserAction , Object > { @@ -698,7 +703,7 @@ public int getKind(int i) { } // - // Rule 38: qualified_id_name ::= :: template_id_name + // Rule 38: qualified_id_name ::= :: operator_function_id_name // static final class Action38 extends DeclaredAction< CPPParserAction , Object > { @@ -708,29 +713,39 @@ public int getKind(int i) { } // - // Rule 39: nested_name_specifier ::= class_or_namespace_name :: nested_name_specifier_with_template + // Rule 39: qualified_id_name ::= :: template_id_name // static final class Action39 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. - consumeNestedNameSpecifier(true); + consumeGlobalQualifiedId(); } } // - // Rule 40: nested_name_specifier ::= class_or_namespace_name :: + // Rule 40: nested_name_specifier ::= class_or_namespace_name :: nested_name_specifier_with_template // static final class Action40 extends DeclaredAction< CPPParserAction , Object > { + public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. + consumeNestedNameSpecifier(true); + } + } + + // + // Rule 41: nested_name_specifier ::= class_or_namespace_name :: + // + static final class Action41 extends DeclaredAction< CPPParserAction , Object > { + public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeNestedNameSpecifier(false); } } // - // Rule 41: nested_name_specifier_with_template ::= class_or_namespace_name_with_template :: nested_name_specifier_with_template + // Rule 42: nested_name_specifier_with_template ::= class_or_namespace_name_with_template :: nested_name_specifier_with_template // - static final class Action41 extends DeclaredAction< CPPParserAction , Object > { + static final class Action42 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeNestedNameSpecifier(true); @@ -738,9 +753,9 @@ public int getKind(int i) { } // - // Rule 42: nested_name_specifier_with_template ::= class_or_namespace_name_with_template :: + // Rule 43: nested_name_specifier_with_template ::= class_or_namespace_name_with_template :: // - static final class Action42 extends DeclaredAction< CPPParserAction , Object > { + static final class Action43 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeNestedNameSpecifier(false); @@ -748,9 +763,9 @@ public int getKind(int i) { } // - // Rule 43: class_or_namespace_name_with_template ::= template_opt class_or_namespace_name + // Rule 44: class_or_namespace_name_with_template ::= template_opt class_or_namespace_name // - static final class Action43 extends DeclaredAction< CPPParserAction , Object > { + static final class Action44 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeNameWithTemplateKeyword(); @@ -758,9 +773,9 @@ public int getKind(int i) { } // - // Rule 45: nested_name_specifier_opt ::= $Empty + // Rule 46: nested_name_specifier_opt ::= $Empty // - static final class Action45 extends DeclaredAction< CPPParserAction , Object > { + static final class Action46 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeNestedNameSpecifierEmpty(); @@ -768,9 +783,9 @@ public int getKind(int i) { } // - // Rule 49: postfix_expression ::= postfix_expression [ expression ] + // Rule 50: postfix_expression ::= postfix_expression [ expression ] // - static final class Action49 extends DeclaredAction< CPPParserAction , Object > { + static final class Action50 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionArraySubscript(); @@ -778,9 +793,9 @@ public int getKind(int i) { } // - // Rule 50: postfix_expression ::= postfix_expression ( expression_list_opt ) + // Rule 51: postfix_expression ::= postfix_expression ( expression_list_opt ) // - static final class Action50 extends DeclaredAction< CPPParserAction , Object > { + static final class Action51 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionFunctionCall(); @@ -788,9 +803,9 @@ public int getKind(int i) { } // - // Rule 51: postfix_expression ::= simple_type_specifier ( expression_list_opt ) + // Rule 52: postfix_expression ::= simple_type_specifier ( expression_list_opt ) // - static final class Action51 extends DeclaredAction< CPPParserAction , Object > { + static final class Action52 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionSimpleTypeConstructor(); @@ -798,17 +813,7 @@ public int getKind(int i) { } // - // Rule 52: postfix_expression ::= typename dcolon_opt nested_name_specifier identifier_name ( expression_list_opt ) - // - static final class Action52 extends DeclaredAction< CPPParserAction , Object > { - - public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. - consumeExpressionTypeName(); - } - } - - // - // Rule 53: postfix_expression ::= typename dcolon_opt nested_name_specifier template_opt template_id_name ( expression_list_opt ) + // Rule 53: postfix_expression ::= typename dcolon_opt nested_name_specifier identifier_name ( expression_list_opt ) // static final class Action53 extends DeclaredAction< CPPParserAction , Object > { @@ -818,19 +823,29 @@ public int getKind(int i) { } // - // Rule 54: postfix_expression ::= postfix_expression . qualified_or_unqualified_name + // Rule 54: postfix_expression ::= typename dcolon_opt nested_name_specifier template_opt template_id_name ( expression_list_opt ) // static final class Action54 extends DeclaredAction< CPPParserAction , Object > { + public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. + consumeExpressionTypeName(); + } + } + + // + // Rule 55: postfix_expression ::= postfix_expression . qualified_or_unqualified_name + // + static final class Action55 extends DeclaredAction< CPPParserAction , Object > { + public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionFieldReference(false, false); } } // - // Rule 55: postfix_expression ::= postfix_expression -> qualified_or_unqualified_name + // Rule 56: postfix_expression ::= postfix_expression -> qualified_or_unqualified_name // - static final class Action55 extends DeclaredAction< CPPParserAction , Object > { + static final class Action56 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionFieldReference(true, false); @@ -838,9 +853,9 @@ public int getKind(int i) { } // - // Rule 56: postfix_expression ::= postfix_expression . template qualified_or_unqualified_name + // Rule 57: postfix_expression ::= postfix_expression . template qualified_or_unqualified_name // - static final class Action56 extends DeclaredAction< CPPParserAction , Object > { + static final class Action57 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionFieldReference(false, true); @@ -848,9 +863,9 @@ public int getKind(int i) { } // - // Rule 57: postfix_expression ::= postfix_expression -> template qualified_or_unqualified_name + // Rule 58: postfix_expression ::= postfix_expression -> template qualified_or_unqualified_name // - static final class Action57 extends DeclaredAction< CPPParserAction , Object > { + static final class Action58 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionFieldReference(true, true); @@ -858,9 +873,9 @@ public int getKind(int i) { } // - // Rule 58: postfix_expression ::= postfix_expression . pseudo_destructor_name + // Rule 59: postfix_expression ::= postfix_expression . pseudo_destructor_name // - static final class Action58 extends DeclaredAction< CPPParserAction , Object > { + static final class Action59 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionFieldReference(false, false); @@ -868,9 +883,9 @@ public int getKind(int i) { } // - // Rule 59: postfix_expression ::= postfix_expression -> pseudo_destructor_name + // Rule 60: postfix_expression ::= postfix_expression -> pseudo_destructor_name // - static final class Action59 extends DeclaredAction< CPPParserAction , Object > { + static final class Action60 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionFieldReference(true, false); @@ -878,9 +893,9 @@ public int getKind(int i) { } // - // Rule 60: postfix_expression ::= postfix_expression ++ + // Rule 61: postfix_expression ::= postfix_expression ++ // - static final class Action60 extends DeclaredAction< CPPParserAction , Object > { + static final class Action61 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); @@ -888,9 +903,9 @@ public int getKind(int i) { } // - // Rule 61: postfix_expression ::= postfix_expression -- + // Rule 62: postfix_expression ::= postfix_expression -- // - static final class Action61 extends DeclaredAction< CPPParserAction , Object > { + static final class Action62 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); @@ -898,9 +913,9 @@ public int getKind(int i) { } // - // Rule 62: postfix_expression ::= dynamic_cast < type_id > ( expression ) + // Rule 63: postfix_expression ::= dynamic_cast < type_id > ( expression ) // - static final class Action62 extends DeclaredAction< CPPParserAction , Object > { + static final class Action63 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionCast(ICPPASTCastExpression.op_dynamic_cast); @@ -908,9 +923,9 @@ public int getKind(int i) { } // - // Rule 63: postfix_expression ::= static_cast < type_id > ( expression ) + // Rule 64: postfix_expression ::= static_cast < type_id > ( expression ) // - static final class Action63 extends DeclaredAction< CPPParserAction , Object > { + static final class Action64 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionCast(ICPPASTCastExpression.op_static_cast); @@ -918,9 +933,9 @@ public int getKind(int i) { } // - // Rule 64: postfix_expression ::= reinterpret_cast < type_id > ( expression ) + // Rule 65: postfix_expression ::= reinterpret_cast < type_id > ( expression ) // - static final class Action64 extends DeclaredAction< CPPParserAction , Object > { + static final class Action65 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionCast(ICPPASTCastExpression.op_reinterpret_cast); @@ -928,9 +943,9 @@ public int getKind(int i) { } // - // Rule 65: postfix_expression ::= const_cast < type_id > ( expression ) + // Rule 66: postfix_expression ::= const_cast < type_id > ( expression ) // - static final class Action65 extends DeclaredAction< CPPParserAction , Object > { + static final class Action66 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionCast(ICPPASTCastExpression.op_const_cast); @@ -938,9 +953,9 @@ public int getKind(int i) { } // - // Rule 66: postfix_expression ::= typeid ( expression ) + // Rule 67: postfix_expression ::= typeid ( expression ) // - static final class Action66 extends DeclaredAction< CPPParserAction , Object > { + static final class Action67 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionUnaryOperator(ICPPASTUnaryExpression.op_typeid); @@ -948,9 +963,9 @@ public int getKind(int i) { } // - // Rule 67: postfix_expression ::= typeid ( type_id ) + // Rule 68: postfix_expression ::= typeid ( type_id ) // - static final class Action67 extends DeclaredAction< CPPParserAction , Object > { + static final class Action68 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionTypeId(ICPPASTTypeIdExpression.op_typeid); @@ -958,17 +973,7 @@ public int getKind(int i) { } // - // Rule 68: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt type_name :: ~ type_name - // - static final class Action68 extends DeclaredAction< CPPParserAction , Object > { - - public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. - consumePsudoDestructorName(true); - } - } - - // - // Rule 69: pseudo_destructor_name ::= dcolon_opt nested_name_specifier template template_id_name :: ~ type_name + // Rule 69: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt type_name :: ~ type_name // static final class Action69 extends DeclaredAction< CPPParserAction , Object > { @@ -978,19 +983,29 @@ public int getKind(int i) { } // - // Rule 70: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt ~ type_name + // Rule 70: pseudo_destructor_name ::= dcolon_opt nested_name_specifier template template_id_name :: ~ type_name // static final class Action70 extends DeclaredAction< CPPParserAction , Object > { + public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. + consumePsudoDestructorName(true); + } + } + + // + // Rule 71: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt ~ type_name + // + static final class Action71 extends DeclaredAction< CPPParserAction , Object > { + public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumePsudoDestructorName(false); } } // - // Rule 74: unary_expression ::= ++ cast_expression + // Rule 75: unary_expression ::= ++ cast_expression // - static final class Action74 extends DeclaredAction< CPPParserAction , Object > { + static final class Action75 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixIncr); @@ -998,9 +1013,9 @@ public int getKind(int i) { } // - // Rule 75: unary_expression ::= -- cast_expression + // Rule 76: unary_expression ::= -- cast_expression // - static final class Action75 extends DeclaredAction< CPPParserAction , Object > { + static final class Action76 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixDecr); @@ -1008,9 +1023,9 @@ public int getKind(int i) { } // - // Rule 76: unary_expression ::= & cast_expression + // Rule 77: unary_expression ::= & cast_expression // - static final class Action76 extends DeclaredAction< CPPParserAction , Object > { + static final class Action77 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionUnaryOperator(IASTUnaryExpression.op_amper); @@ -1018,9 +1033,9 @@ public int getKind(int i) { } // - // Rule 77: unary_expression ::= * cast_expression + // Rule 78: unary_expression ::= * cast_expression // - static final class Action77 extends DeclaredAction< CPPParserAction , Object > { + static final class Action78 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionUnaryOperator(IASTUnaryExpression.op_star); @@ -1028,9 +1043,9 @@ public int getKind(int i) { } // - // Rule 78: unary_expression ::= + cast_expression + // Rule 79: unary_expression ::= + cast_expression // - static final class Action78 extends DeclaredAction< CPPParserAction , Object > { + static final class Action79 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionUnaryOperator(IASTUnaryExpression.op_plus); @@ -1038,9 +1053,9 @@ public int getKind(int i) { } // - // Rule 79: unary_expression ::= - cast_expression + // Rule 80: unary_expression ::= - cast_expression // - static final class Action79 extends DeclaredAction< CPPParserAction , Object > { + static final class Action80 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionUnaryOperator(IASTUnaryExpression.op_minus); @@ -1048,9 +1063,9 @@ public int getKind(int i) { } // - // Rule 80: unary_expression ::= ~ cast_expression + // Rule 81: unary_expression ::= ~ cast_expression // - static final class Action80 extends DeclaredAction< CPPParserAction , Object > { + static final class Action81 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionUnaryOperator(IASTUnaryExpression.op_tilde); @@ -1058,9 +1073,9 @@ public int getKind(int i) { } // - // Rule 81: unary_expression ::= ! cast_expression + // Rule 82: unary_expression ::= ! cast_expression // - static final class Action81 extends DeclaredAction< CPPParserAction , Object > { + static final class Action82 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionUnaryOperator(IASTUnaryExpression.op_not); @@ -1068,9 +1083,9 @@ public int getKind(int i) { } // - // Rule 82: unary_expression ::= sizeof unary_expression + // Rule 83: unary_expression ::= sizeof unary_expression // - static final class Action82 extends DeclaredAction< CPPParserAction , Object > { + static final class Action83 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof); @@ -1078,9 +1093,9 @@ public int getKind(int i) { } // - // Rule 83: unary_expression ::= sizeof ( type_id ) + // Rule 84: unary_expression ::= sizeof ( type_id ) // - static final class Action83 extends DeclaredAction< CPPParserAction , Object > { + static final class Action84 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionTypeId(ICPPASTTypeIdExpression.op_sizeof); @@ -1088,9 +1103,9 @@ public int getKind(int i) { } // - // Rule 84: new_expression ::= dcolon_opt new new_placement_opt new_type_id new_array_expressions_opt new_initializer_opt + // Rule 85: new_expression ::= dcolon_opt new new_placement_opt new_type_id new_array_expressions_opt new_initializer_opt // - static final class Action84 extends DeclaredAction< CPPParserAction , Object > { + static final class Action85 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionNew(false); @@ -1098,9 +1113,9 @@ public int getKind(int i) { } // - // Rule 85: new_expression ::= dcolon_opt new new_placement_opt ( type_id ) new_initializer_opt + // Rule 86: new_expression ::= dcolon_opt new new_placement_opt ( type_id ) new_initializer_opt // - static final class Action85 extends DeclaredAction< CPPParserAction , Object > { + static final class Action86 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionNew(true); @@ -1108,9 +1123,9 @@ public int getKind(int i) { } // - // Rule 88: new_placement_opt ::= $Empty + // Rule 89: new_placement_opt ::= $Empty // - static final class Action88 extends DeclaredAction< CPPParserAction , Object > { + static final class Action89 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeEmpty(); @@ -1118,9 +1133,9 @@ public int getKind(int i) { } // - // Rule 89: new_type_id ::= type_specifier_seq + // Rule 90: new_type_id ::= type_specifier_seq // - static final class Action89 extends DeclaredAction< CPPParserAction , Object > { + static final class Action90 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeTypeId(false); @@ -1128,9 +1143,9 @@ public int getKind(int i) { } // - // Rule 90: new_type_id ::= type_specifier_seq new_declarator + // Rule 91: new_type_id ::= type_specifier_seq new_declarator // - static final class Action90 extends DeclaredAction< CPPParserAction , Object > { + static final class Action91 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeTypeId(true); @@ -1138,9 +1153,9 @@ public int getKind(int i) { } // - // Rule 91: new_declarator ::= new_pointer_operators + // Rule 92: new_declarator ::= new_pointer_operators // - static final class Action91 extends DeclaredAction< CPPParserAction , Object > { + static final class Action92 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeNewDeclarator(); @@ -1148,9 +1163,9 @@ public int getKind(int i) { } // - // Rule 100: new_initializer_opt ::= $Empty + // Rule 101: new_initializer_opt ::= $Empty // - static final class Action100 extends DeclaredAction< CPPParserAction , Object > { + static final class Action101 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeEmpty(); @@ -1158,9 +1173,9 @@ public int getKind(int i) { } // - // Rule 101: delete_expression ::= dcolon_opt delete cast_expression + // Rule 102: delete_expression ::= dcolon_opt delete cast_expression // - static final class Action101 extends DeclaredAction< CPPParserAction , Object > { + static final class Action102 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionDelete(false); @@ -1168,9 +1183,9 @@ public int getKind(int i) { } // - // Rule 102: delete_expression ::= dcolon_opt delete [ ] cast_expression + // Rule 103: delete_expression ::= dcolon_opt delete [ ] cast_expression // - static final class Action102 extends DeclaredAction< CPPParserAction , Object > { + static final class Action103 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionDelete(true); @@ -1178,9 +1193,9 @@ public int getKind(int i) { } // - // Rule 104: cast_expression ::= ( type_id ) cast_expression + // Rule 105: cast_expression ::= ( type_id ) cast_expression // - static final class Action104 extends DeclaredAction< CPPParserAction , Object > { + static final class Action105 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionCast(ICPPASTCastExpression.op_cast); @@ -1188,9 +1203,9 @@ public int getKind(int i) { } // - // Rule 106: pm_expression ::= pm_expression .* cast_expression + // Rule 107: pm_expression ::= pm_expression .* cast_expression // - static final class Action106 extends DeclaredAction< CPPParserAction , Object > { + static final class Action107 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmdot); @@ -1198,9 +1213,9 @@ public int getKind(int i) { } // - // Rule 107: pm_expression ::= pm_expression ->* cast_expression + // Rule 108: pm_expression ::= pm_expression ->* cast_expression // - static final class Action107 extends DeclaredAction< CPPParserAction , Object > { + static final class Action108 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmarrow); @@ -1208,9 +1223,9 @@ public int getKind(int i) { } // - // Rule 109: multiplicative_expression ::= multiplicative_expression * pm_expression + // Rule 110: multiplicative_expression ::= multiplicative_expression * pm_expression // - static final class Action109 extends DeclaredAction< CPPParserAction , Object > { + static final class Action110 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiply); @@ -1218,9 +1233,9 @@ public int getKind(int i) { } // - // Rule 110: multiplicative_expression ::= multiplicative_expression / pm_expression + // Rule 111: multiplicative_expression ::= multiplicative_expression / pm_expression // - static final class Action110 extends DeclaredAction< CPPParserAction , Object > { + static final class Action111 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divide); @@ -1228,9 +1243,9 @@ public int getKind(int i) { } // - // Rule 111: multiplicative_expression ::= multiplicative_expression % pm_expression + // Rule 112: multiplicative_expression ::= multiplicative_expression % pm_expression // - static final class Action111 extends DeclaredAction< CPPParserAction , Object > { + static final class Action112 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_modulo); @@ -1238,9 +1253,9 @@ public int getKind(int i) { } // - // Rule 113: additive_expression ::= additive_expression + multiplicative_expression + // Rule 114: additive_expression ::= additive_expression + multiplicative_expression // - static final class Action113 extends DeclaredAction< CPPParserAction , Object > { + static final class Action114 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plus); @@ -1248,9 +1263,9 @@ public int getKind(int i) { } // - // Rule 114: additive_expression ::= additive_expression - multiplicative_expression + // Rule 115: additive_expression ::= additive_expression - multiplicative_expression // - static final class Action114 extends DeclaredAction< CPPParserAction , Object > { + static final class Action115 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minus); @@ -1258,9 +1273,9 @@ public int getKind(int i) { } // - // Rule 116: shift_expression ::= shift_expression << additive_expression + // Rule 117: shift_expression ::= shift_expression << additive_expression // - static final class Action116 extends DeclaredAction< CPPParserAction , Object > { + static final class Action117 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeft); @@ -1268,9 +1283,9 @@ public int getKind(int i) { } // - // Rule 117: shift_expression ::= shift_expression >> additive_expression + // Rule 118: shift_expression ::= shift_expression >> additive_expression // - static final class Action117 extends DeclaredAction< CPPParserAction , Object > { + static final class Action118 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRight); @@ -1278,9 +1293,9 @@ public int getKind(int i) { } // - // Rule 119: relational_expression ::= relational_expression < shift_expression + // Rule 120: relational_expression ::= relational_expression < shift_expression // - static final class Action119 extends DeclaredAction< CPPParserAction , Object > { + static final class Action120 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessThan); @@ -1288,9 +1303,9 @@ public int getKind(int i) { } // - // Rule 120: relational_expression ::= relational_expression > shift_expression + // Rule 121: relational_expression ::= relational_expression > shift_expression // - static final class Action120 extends DeclaredAction< CPPParserAction , Object > { + static final class Action121 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterThan); @@ -1298,9 +1313,9 @@ public int getKind(int i) { } // - // Rule 121: relational_expression ::= relational_expression <= shift_expression + // Rule 122: relational_expression ::= relational_expression <= shift_expression // - static final class Action121 extends DeclaredAction< CPPParserAction , Object > { + static final class Action122 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessEqual); @@ -1308,9 +1323,9 @@ public int getKind(int i) { } // - // Rule 122: relational_expression ::= relational_expression >= shift_expression + // Rule 123: relational_expression ::= relational_expression >= shift_expression // - static final class Action122 extends DeclaredAction< CPPParserAction , Object > { + static final class Action123 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterEqual); @@ -1318,9 +1333,9 @@ public int getKind(int i) { } // - // Rule 124: equality_expression ::= equality_expression == relational_expression + // Rule 125: equality_expression ::= equality_expression == relational_expression // - static final class Action124 extends DeclaredAction< CPPParserAction , Object > { + static final class Action125 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_equals); @@ -1328,9 +1343,9 @@ public int getKind(int i) { } // - // Rule 125: equality_expression ::= equality_expression != relational_expression + // Rule 126: equality_expression ::= equality_expression != relational_expression // - static final class Action125 extends DeclaredAction< CPPParserAction , Object > { + static final class Action126 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_notequals); @@ -1338,9 +1353,9 @@ public int getKind(int i) { } // - // Rule 127: and_expression ::= and_expression & equality_expression + // Rule 128: and_expression ::= and_expression & equality_expression // - static final class Action127 extends DeclaredAction< CPPParserAction , Object > { + static final class Action128 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAnd); @@ -1348,9 +1363,9 @@ public int getKind(int i) { } // - // Rule 129: exclusive_or_expression ::= exclusive_or_expression ^ and_expression + // Rule 130: exclusive_or_expression ::= exclusive_or_expression ^ and_expression // - static final class Action129 extends DeclaredAction< CPPParserAction , Object > { + static final class Action130 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXor); @@ -1358,9 +1373,9 @@ public int getKind(int i) { } // - // Rule 131: inclusive_or_expression ::= inclusive_or_expression | exclusive_or_expression + // Rule 132: inclusive_or_expression ::= inclusive_or_expression | exclusive_or_expression // - static final class Action131 extends DeclaredAction< CPPParserAction , Object > { + static final class Action132 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOr); @@ -1368,9 +1383,9 @@ public int getKind(int i) { } // - // Rule 133: logical_and_expression ::= logical_and_expression && inclusive_or_expression + // Rule 134: logical_and_expression ::= logical_and_expression && inclusive_or_expression // - static final class Action133 extends DeclaredAction< CPPParserAction , Object > { + static final class Action134 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalAnd); @@ -1378,9 +1393,9 @@ public int getKind(int i) { } // - // Rule 135: logical_or_expression ::= logical_or_expression || logical_and_expression + // Rule 136: logical_or_expression ::= logical_or_expression || logical_and_expression // - static final class Action135 extends DeclaredAction< CPPParserAction , Object > { + static final class Action136 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalOr); @@ -1388,9 +1403,9 @@ public int getKind(int i) { } // - // Rule 137: conditional_expression ::= logical_or_expression ? expression : assignment_expression + // Rule 138: conditional_expression ::= logical_or_expression ? expression : assignment_expression // - static final class Action137 extends DeclaredAction< CPPParserAction , Object > { + static final class Action138 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionConditional(); @@ -1398,9 +1413,9 @@ public int getKind(int i) { } // - // Rule 138: throw_expression ::= throw + // Rule 139: throw_expression ::= throw // - static final class Action138 extends DeclaredAction< CPPParserAction , Object > { + static final class Action139 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionThrow(false); @@ -1408,9 +1423,9 @@ public int getKind(int i) { } // - // Rule 139: throw_expression ::= throw assignment_expression + // Rule 140: throw_expression ::= throw assignment_expression // - static final class Action139 extends DeclaredAction< CPPParserAction , Object > { + static final class Action140 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionThrow(true); @@ -1418,9 +1433,9 @@ public int getKind(int i) { } // - // Rule 142: assignment_expression ::= logical_or_expression = assignment_expression + // Rule 143: assignment_expression ::= logical_or_expression = assignment_expression // - static final class Action142 extends DeclaredAction< CPPParserAction , Object > { + static final class Action143 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_assign); @@ -1428,9 +1443,9 @@ public int getKind(int i) { } // - // Rule 143: assignment_expression ::= logical_or_expression *= assignment_expression + // Rule 144: assignment_expression ::= logical_or_expression *= assignment_expression // - static final class Action143 extends DeclaredAction< CPPParserAction , Object > { + static final class Action144 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiplyAssign); @@ -1438,9 +1453,9 @@ public int getKind(int i) { } // - // Rule 144: assignment_expression ::= logical_or_expression /= assignment_expression + // Rule 145: assignment_expression ::= logical_or_expression /= assignment_expression // - static final class Action144 extends DeclaredAction< CPPParserAction , Object > { + static final class Action145 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divideAssign); @@ -1448,9 +1463,9 @@ public int getKind(int i) { } // - // Rule 145: assignment_expression ::= logical_or_expression %= assignment_expression + // Rule 146: assignment_expression ::= logical_or_expression %= assignment_expression // - static final class Action145 extends DeclaredAction< CPPParserAction , Object > { + static final class Action146 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_moduloAssign); @@ -1458,9 +1473,9 @@ public int getKind(int i) { } // - // Rule 146: assignment_expression ::= logical_or_expression += assignment_expression + // Rule 147: assignment_expression ::= logical_or_expression += assignment_expression // - static final class Action146 extends DeclaredAction< CPPParserAction , Object > { + static final class Action147 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plusAssign); @@ -1468,9 +1483,9 @@ public int getKind(int i) { } // - // Rule 147: assignment_expression ::= logical_or_expression -= assignment_expression + // Rule 148: assignment_expression ::= logical_or_expression -= assignment_expression // - static final class Action147 extends DeclaredAction< CPPParserAction , Object > { + static final class Action148 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minusAssign); @@ -1478,9 +1493,9 @@ public int getKind(int i) { } // - // Rule 148: assignment_expression ::= logical_or_expression >>= assignment_expression + // Rule 149: assignment_expression ::= logical_or_expression >>= assignment_expression // - static final class Action148 extends DeclaredAction< CPPParserAction , Object > { + static final class Action149 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRightAssign); @@ -1488,9 +1503,9 @@ public int getKind(int i) { } // - // Rule 149: assignment_expression ::= logical_or_expression <<= assignment_expression + // Rule 150: assignment_expression ::= logical_or_expression <<= assignment_expression // - static final class Action149 extends DeclaredAction< CPPParserAction , Object > { + static final class Action150 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeftAssign); @@ -1498,9 +1513,9 @@ public int getKind(int i) { } // - // Rule 150: assignment_expression ::= logical_or_expression &= assignment_expression + // Rule 151: assignment_expression ::= logical_or_expression &= assignment_expression // - static final class Action150 extends DeclaredAction< CPPParserAction , Object > { + static final class Action151 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAndAssign); @@ -1508,9 +1523,9 @@ public int getKind(int i) { } // - // Rule 151: assignment_expression ::= logical_or_expression ^= assignment_expression + // Rule 152: assignment_expression ::= logical_or_expression ^= assignment_expression // - static final class Action151 extends DeclaredAction< CPPParserAction , Object > { + static final class Action152 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXorAssign); @@ -1518,9 +1533,9 @@ public int getKind(int i) { } // - // Rule 152: assignment_expression ::= logical_or_expression |= assignment_expression + // Rule 153: assignment_expression ::= logical_or_expression |= assignment_expression // - static final class Action152 extends DeclaredAction< CPPParserAction , Object > { + static final class Action153 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOrAssign); @@ -1528,9 +1543,9 @@ public int getKind(int i) { } // - // Rule 154: expression ::= ERROR_TOKEN + // Rule 155: expression ::= ERROR_TOKEN // - static final class Action154 extends DeclaredAction< CPPParserAction , Object > { + static final class Action155 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionProblem(); @@ -1538,9 +1553,9 @@ public int getKind(int i) { } // - // Rule 155: expression_list ::= expression_list_actual + // Rule 156: expression_list ::= expression_list_actual // - static final class Action155 extends DeclaredAction< CPPParserAction , Object > { + static final class Action156 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeExpressionList(); @@ -1548,9 +1563,9 @@ public int getKind(int i) { } // - // Rule 159: expression_list_opt ::= $Empty + // Rule 160: expression_list_opt ::= $Empty // - static final class Action159 extends DeclaredAction< CPPParserAction , Object > { + static final class Action160 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeEmpty(); @@ -1558,9 +1573,9 @@ public int getKind(int i) { } // - // Rule 161: expression_opt ::= $Empty + // Rule 162: expression_opt ::= $Empty // - static final class Action161 extends DeclaredAction< CPPParserAction , Object > { + static final class Action162 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeEmpty(); @@ -1568,9 +1583,9 @@ public int getKind(int i) { } // - // Rule 164: constant_expression_opt ::= $Empty + // Rule 165: constant_expression_opt ::= $Empty // - static final class Action164 extends DeclaredAction< CPPParserAction , Object > { + static final class Action165 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeEmpty(); @@ -1578,9 +1593,9 @@ public int getKind(int i) { } // - // Rule 173: statement ::= ERROR_TOKEN + // Rule 174: statement ::= ERROR_TOKEN // - static final class Action173 extends DeclaredAction< CPPParserAction , Object > { + static final class Action174 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeStatementProblem(); @@ -1588,9 +1603,9 @@ public int getKind(int i) { } // - // Rule 174: labeled_statement ::= identifier : statement + // Rule 175: labeled_statement ::= identifier : statement // - static final class Action174 extends DeclaredAction< CPPParserAction , Object > { + static final class Action175 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeStatementLabeled(); @@ -1598,9 +1613,9 @@ public int getKind(int i) { } // - // Rule 175: labeled_statement ::= case constant_expression : + // Rule 176: labeled_statement ::= case constant_expression : // - static final class Action175 extends DeclaredAction< CPPParserAction , Object > { + static final class Action176 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeStatementCase(); @@ -1608,9 +1623,9 @@ public int getKind(int i) { } // - // Rule 176: labeled_statement ::= default : + // Rule 177: labeled_statement ::= default : // - static final class Action176 extends DeclaredAction< CPPParserAction , Object > { + static final class Action177 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeStatementDefault(); @@ -1618,9 +1633,9 @@ public int getKind(int i) { } // - // Rule 177: expression_statement ::= expression ; + // Rule 178: expression_statement ::= expression ; // - static final class Action177 extends DeclaredAction< CPPParserAction , Object > { + static final class Action178 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeStatementExpression(); @@ -1628,9 +1643,9 @@ public int getKind(int i) { } // - // Rule 178: expression_statement ::= ; + // Rule 179: expression_statement ::= ; // - static final class Action178 extends DeclaredAction< CPPParserAction , Object > { + static final class Action179 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeStatementNull(); @@ -1638,9 +1653,9 @@ public int getKind(int i) { } // - // Rule 179: compound_statement ::= { statement_seq } + // Rule 180: compound_statement ::= { statement_seq } // - static final class Action179 extends DeclaredAction< CPPParserAction , Object > { + static final class Action180 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeStatementCompoundStatement(true); @@ -1648,9 +1663,9 @@ public int getKind(int i) { } // - // Rule 180: compound_statement ::= { } + // Rule 181: compound_statement ::= { } // - static final class Action180 extends DeclaredAction< CPPParserAction , Object > { + static final class Action181 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeStatementCompoundStatement(false); @@ -1658,9 +1673,9 @@ public int getKind(int i) { } // - // Rule 183: selection_statement ::= if ( condition ) statement + // Rule 184: selection_statement ::= if ( condition ) statement // - static final class Action183 extends DeclaredAction< CPPParserAction , Object > { + static final class Action184 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeStatementIf(false); @@ -1668,9 +1683,9 @@ public int getKind(int i) { } // - // Rule 184: selection_statement ::= if ( condition ) statement else statement + // Rule 185: selection_statement ::= if ( condition ) statement else statement // - static final class Action184 extends DeclaredAction< CPPParserAction , Object > { + static final class Action185 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeStatementIf(true); @@ -1678,9 +1693,9 @@ public int getKind(int i) { } // - // Rule 185: selection_statement ::= switch ( condition ) statement + // Rule 186: selection_statement ::= switch ( condition ) statement // - static final class Action185 extends DeclaredAction< CPPParserAction , Object > { + static final class Action186 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeStatementSwitch(); @@ -1688,9 +1703,9 @@ public int getKind(int i) { } // - // Rule 187: condition ::= type_specifier_seq declarator = assignment_expression + // Rule 188: condition ::= type_specifier_seq declarator = assignment_expression // - static final class Action187 extends DeclaredAction< CPPParserAction , Object > { + static final class Action188 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeConditionDeclaration(); @@ -1698,9 +1713,9 @@ public int getKind(int i) { } // - // Rule 188: iteration_statement ::= while ( condition ) statement + // Rule 189: iteration_statement ::= while ( condition ) statement // - static final class Action188 extends DeclaredAction< CPPParserAction , Object > { + static final class Action189 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeStatementWhileLoop(); @@ -1708,9 +1723,9 @@ public int getKind(int i) { } // - // Rule 189: iteration_statement ::= do statement while ( expression ) ; + // Rule 190: iteration_statement ::= do statement while ( expression ) ; // - static final class Action189 extends DeclaredAction< CPPParserAction , Object > { + static final class Action190 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeStatementDoLoop(); @@ -1718,17 +1733,7 @@ public int getKind(int i) { } // - // Rule 190: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement - // - static final class Action190 extends DeclaredAction< CPPParserAction , Object > { - - public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. - consumeStatementForLoop(); - } - } - - // - // Rule 191: iteration_statement ::= for ( simple_declaration expression_opt ; expression_opt ) statement + // Rule 191: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement // static final class Action191 extends DeclaredAction< CPPParserAction , Object > { @@ -1738,19 +1743,29 @@ public int getKind(int i) { } // - // Rule 192: jump_statement ::= break ; + // Rule 192: iteration_statement ::= for ( simple_declaration expression_opt ; expression_opt ) statement // static final class Action192 extends DeclaredAction< CPPParserAction , Object > { + public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. + consumeStatementForLoop(); + } + } + + // + // Rule 193: jump_statement ::= break ; + // + static final class Action193 extends DeclaredAction< CPPParserAction , Object > { + public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeStatementBreak(); } } // - // Rule 193: jump_statement ::= continue ; + // Rule 194: jump_statement ::= continue ; // - static final class Action193 extends DeclaredAction< CPPParserAction , Object > { + static final class Action194 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeStatementContinue(); @@ -1758,9 +1773,9 @@ public int getKind(int i) { } // - // Rule 194: jump_statement ::= return expression ; + // Rule 195: jump_statement ::= return expression ; // - static final class Action194 extends DeclaredAction< CPPParserAction , Object > { + static final class Action195 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeStatementReturn(true); @@ -1768,9 +1783,9 @@ public int getKind(int i) { } // - // Rule 195: jump_statement ::= return ; + // Rule 196: jump_statement ::= return ; // - static final class Action195 extends DeclaredAction< CPPParserAction , Object > { + static final class Action196 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeStatementReturn(false); @@ -1778,9 +1793,9 @@ public int getKind(int i) { } // - // Rule 196: jump_statement ::= goto identifier ; + // Rule 197: jump_statement ::= goto identifier ; // - static final class Action196 extends DeclaredAction< CPPParserAction , Object > { + static final class Action197 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeStatementGoto(); @@ -1788,9 +1803,9 @@ public int getKind(int i) { } // - // Rule 197: declaration_statement ::= block_declaration + // Rule 198: declaration_statement ::= block_declaration // - static final class Action197 extends DeclaredAction< CPPParserAction , Object > { + static final class Action198 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeStatementDeclaration(); @@ -1798,9 +1813,9 @@ public int getKind(int i) { } // - // Rule 214: simple_declaration ::= declaration_specifiers_opt init_declarator_list_opt ; + // Rule 215: simple_declaration ::= declaration_specifiers_opt init_declarator_list_opt ; // - static final class Action214 extends DeclaredAction< CPPParserAction , Object > { + static final class Action215 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeDeclarationSimple(true); @@ -1808,9 +1823,9 @@ public int getKind(int i) { } // - // Rule 215: declaration_specifiers ::= simple_declaration_specifiers + // Rule 216: declaration_specifiers ::= simple_declaration_specifiers // - static final class Action215 extends DeclaredAction< CPPParserAction , Object > { + static final class Action216 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeDeclarationSpecifiersSimple(); @@ -1818,17 +1833,7 @@ public int getKind(int i) { } // - // Rule 216: declaration_specifiers ::= class_declaration_specifiers - // - static final class Action216 extends DeclaredAction< CPPParserAction , Object > { - - public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. - consumeDeclarationSpecifiersComposite(); - } - } - - // - // Rule 217: declaration_specifiers ::= elaborated_declaration_specifiers + // Rule 217: declaration_specifiers ::= class_declaration_specifiers // static final class Action217 extends DeclaredAction< CPPParserAction , Object > { @@ -1838,7 +1843,7 @@ public int getKind(int i) { } // - // Rule 218: declaration_specifiers ::= enum_declaration_specifiers + // Rule 218: declaration_specifiers ::= elaborated_declaration_specifiers // static final class Action218 extends DeclaredAction< CPPParserAction , Object > { @@ -1848,19 +1853,29 @@ public int getKind(int i) { } // - // Rule 219: declaration_specifiers ::= type_name_declaration_specifiers + // Rule 219: declaration_specifiers ::= enum_declaration_specifiers // static final class Action219 extends DeclaredAction< CPPParserAction , Object > { + public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. + consumeDeclarationSpecifiersComposite(); + } + } + + // + // Rule 220: declaration_specifiers ::= type_name_declaration_specifiers + // + static final class Action220 extends DeclaredAction< CPPParserAction , Object > { + public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeDeclarationSpecifiersTypeName(); } } // - // Rule 221: declaration_specifiers_opt ::= $Empty + // Rule 222: declaration_specifiers_opt ::= $Empty // - static final class Action221 extends DeclaredAction< CPPParserAction , Object > { + static final class Action222 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeEmpty(); @@ -1868,17 +1883,7 @@ public int getKind(int i) { } // - // Rule 225: no_type_declaration_specifier ::= friend - // - static final class Action225 extends DeclaredAction< CPPParserAction , Object > { - - public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. - consumeDeclSpecToken(); - } - } - - // - // Rule 226: no_type_declaration_specifier ::= typedef + // Rule 226: no_type_declaration_specifier ::= friend // static final class Action226 extends DeclaredAction< CPPParserAction , Object > { @@ -1888,9 +1893,9 @@ public int getKind(int i) { } // - // Rule 254: simple_type_specifier ::= simple_type_specifier_token + // Rule 227: no_type_declaration_specifier ::= typedef // - static final class Action254 extends DeclaredAction< CPPParserAction , Object > { + static final class Action227 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeDeclSpecToken(); @@ -1898,17 +1903,17 @@ public int getKind(int i) { } // - // Rule 270: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name + // Rule 255: simple_type_specifier ::= simple_type_specifier_token // - static final class Action270 extends DeclaredAction< CPPParserAction , Object > { + static final class Action255 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. - consumeQualifiedId(false); + consumeDeclSpecToken(); } } // - // Rule 271: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name + // Rule 271: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name // static final class Action271 extends DeclaredAction< CPPParserAction , Object > { @@ -1918,7 +1923,7 @@ public int getKind(int i) { } // - // Rule 272: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name + // Rule 272: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name // static final class Action272 extends DeclaredAction< CPPParserAction , Object > { @@ -1928,19 +1933,29 @@ public int getKind(int i) { } // - // Rule 273: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name + // Rule 273: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name // static final class Action273 extends DeclaredAction< CPPParserAction , Object > { + public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. + consumeQualifiedId(false); + } + } + + // + // Rule 274: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name + // + static final class Action274 extends DeclaredAction< CPPParserAction , Object > { + public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeQualifiedId(true); } } // - // Rule 274: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt identifier_name + // Rule 275: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt identifier_name // - static final class Action274 extends DeclaredAction< CPPParserAction , Object > { + static final class Action275 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeTypeSpecifierElaborated(false); @@ -1948,9 +1963,9 @@ public int getKind(int i) { } // - // Rule 275: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt template_opt template_id_name + // Rule 276: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt template_opt template_id_name // - static final class Action275 extends DeclaredAction< CPPParserAction , Object > { + static final class Action276 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeTypeSpecifierElaborated(true); @@ -1958,9 +1973,9 @@ public int getKind(int i) { } // - // Rule 276: elaborated_type_specifier ::= enum dcolon_opt nested_name_specifier_opt identifier_name + // Rule 277: elaborated_type_specifier ::= enum dcolon_opt nested_name_specifier_opt identifier_name // - static final class Action276 extends DeclaredAction< CPPParserAction , Object > { + static final class Action277 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeTypeSpecifierElaborated(false); @@ -1968,9 +1983,9 @@ public int getKind(int i) { } // - // Rule 278: enum_specifier ::= enum { enumerator_list_opt } + // Rule 279: enum_specifier ::= enum { enumerator_list_opt } // - static final class Action278 extends DeclaredAction< CPPParserAction , Object > { + static final class Action279 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeTypeSpecifierEnumeration(false); @@ -1978,9 +1993,9 @@ public int getKind(int i) { } // - // Rule 279: enum_specifier ::= enum identifier { enumerator_list_opt } + // Rule 280: enum_specifier ::= enum identifier { enumerator_list_opt } // - static final class Action279 extends DeclaredAction< CPPParserAction , Object > { + static final class Action280 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeTypeSpecifierEnumeration(true); @@ -1988,9 +2003,9 @@ public int getKind(int i) { } // - // Rule 284: enumerator_definition ::= enumerator + // Rule 285: enumerator_definition ::= enumerator // - static final class Action284 extends DeclaredAction< CPPParserAction , Object > { + static final class Action285 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeEnumerator(false); @@ -1998,9 +2013,9 @@ public int getKind(int i) { } // - // Rule 285: enumerator_definition ::= enumerator = constant_expression + // Rule 286: enumerator_definition ::= enumerator = constant_expression // - static final class Action285 extends DeclaredAction< CPPParserAction , Object > { + static final class Action286 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeEnumerator(true); @@ -2008,17 +2023,7 @@ public int getKind(int i) { } // - // Rule 294: original_namespace_definition ::= namespace identifier_name { declaration_seq_opt } - // - static final class Action294 extends DeclaredAction< CPPParserAction , Object > { - - public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. - consumeNamespaceDefinition(true); - } - } - - // - // Rule 295: extension_namespace_definition ::= namespace original_namespace_name { declaration_seq_opt } + // Rule 295: original_namespace_definition ::= namespace identifier_name { declaration_seq_opt } // static final class Action295 extends DeclaredAction< CPPParserAction , Object > { @@ -2028,19 +2033,29 @@ public int getKind(int i) { } // - // Rule 296: unnamed_namespace_definition ::= namespace { declaration_seq_opt } + // Rule 296: extension_namespace_definition ::= namespace original_namespace_name { declaration_seq_opt } // static final class Action296 extends DeclaredAction< CPPParserAction , Object > { + public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. + consumeNamespaceDefinition(true); + } + } + + // + // Rule 297: unnamed_namespace_definition ::= namespace { declaration_seq_opt } + // + static final class Action297 extends DeclaredAction< CPPParserAction , Object > { + public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeNamespaceDefinition(false); } } // - // Rule 298: namespace_alias_definition ::= namespace identifier = dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 299: namespace_alias_definition ::= namespace identifier = dcolon_opt nested_name_specifier_opt namespace_name ; // - static final class Action298 extends DeclaredAction< CPPParserAction , Object > { + static final class Action299 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeNamespaceAliasDefinition(); @@ -2048,9 +2063,9 @@ public int getKind(int i) { } // - // Rule 299: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; + // Rule 300: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; // - static final class Action299 extends DeclaredAction< CPPParserAction , Object > { + static final class Action300 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeUsingDeclaration(); @@ -2058,9 +2073,9 @@ public int getKind(int i) { } // - // Rule 300: typename_opt ::= typename + // Rule 301: typename_opt ::= typename // - static final class Action300 extends DeclaredAction< CPPParserAction , Object > { + static final class Action301 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumePlaceHolder(); @@ -2068,9 +2083,9 @@ public int getKind(int i) { } // - // Rule 301: typename_opt ::= $Empty + // Rule 302: typename_opt ::= $Empty // - static final class Action301 extends DeclaredAction< CPPParserAction , Object > { + static final class Action302 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeEmpty(); @@ -2078,9 +2093,9 @@ public int getKind(int i) { } // - // Rule 302: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 303: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; // - static final class Action302 extends DeclaredAction< CPPParserAction , Object > { + static final class Action303 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeUsingDirective(); @@ -2088,9 +2103,9 @@ public int getKind(int i) { } // - // Rule 303: asm_definition ::= asm ( stringlit ) ; + // Rule 304: asm_definition ::= asm ( stringlit ) ; // - static final class Action303 extends DeclaredAction< CPPParserAction , Object > { + static final class Action304 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeDeclarationASM(); @@ -2098,17 +2113,7 @@ public int getKind(int i) { } // - // Rule 304: linkage_specification ::= extern stringlit { declaration_seq_opt } - // - static final class Action304 extends DeclaredAction< CPPParserAction , Object > { - - public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. - consumeLinkageSpecification(); - } - } - - // - // Rule 305: linkage_specification ::= extern stringlit declaration + // Rule 305: linkage_specification ::= extern stringlit { declaration_seq_opt } // static final class Action305 extends DeclaredAction< CPPParserAction , Object > { @@ -2118,9 +2123,19 @@ public int getKind(int i) { } // - // Rule 311: init_declarator ::= declarator initializer + // Rule 306: linkage_specification ::= extern stringlit declaration // - static final class Action311 extends DeclaredAction< CPPParserAction , Object > { + static final class Action306 extends DeclaredAction< CPPParserAction , Object > { + + public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. + consumeLinkageSpecification(); + } + } + + // + // Rule 312: init_declarator ::= declarator initializer + // + static final class Action312 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeDeclaratorWithInitializer(true); @@ -2128,9 +2143,9 @@ public int getKind(int i) { } // - // Rule 313: declarator ::= ptr_operator_seq direct_declarator + // Rule 314: declarator ::= ptr_operator_seq direct_declarator // - static final class Action313 extends DeclaredAction< CPPParserAction , Object > { + static final class Action314 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeDeclaratorWithPointer(true); @@ -2138,9 +2153,9 @@ public int getKind(int i) { } // - // Rule 317: basic_direct_declarator ::= declarator_id_name + // Rule 318: basic_direct_declarator ::= declarator_id_name // - static final class Action317 extends DeclaredAction< CPPParserAction , Object > { + static final class Action318 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeDirectDeclaratorIdentifier(); @@ -2148,9 +2163,9 @@ public int getKind(int i) { } // - // Rule 318: basic_direct_declarator ::= ( declarator ) + // Rule 319: basic_direct_declarator ::= ( declarator ) // - static final class Action318 extends DeclaredAction< CPPParserAction , Object > { + static final class Action319 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeDirectDeclaratorBracketed(); @@ -2158,9 +2173,9 @@ public int getKind(int i) { } // - // Rule 319: function_direct_declarator ::= basic_direct_declarator ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt + // Rule 320: function_direct_declarator ::= basic_direct_declarator ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt // - static final class Action319 extends DeclaredAction< CPPParserAction , Object > { + static final class Action320 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeDirectDeclaratorFunctionDeclarator(true); @@ -2168,17 +2183,7 @@ public int getKind(int i) { } // - // Rule 320: array_direct_declarator ::= array_direct_declarator array_modifier - // - static final class Action320 extends DeclaredAction< CPPParserAction , Object > { - - public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. - consumeDirectDeclaratorArrayDeclarator(true); - } - } - - // - // Rule 321: array_direct_declarator ::= basic_direct_declarator array_modifier + // Rule 321: array_direct_declarator ::= array_direct_declarator array_modifier // static final class Action321 extends DeclaredAction< CPPParserAction , Object > { @@ -2188,19 +2193,29 @@ public int getKind(int i) { } // - // Rule 322: array_modifier ::= [ constant_expression ] + // Rule 322: array_direct_declarator ::= basic_direct_declarator array_modifier // static final class Action322 extends DeclaredAction< CPPParserAction , Object > { + public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. + consumeDirectDeclaratorArrayDeclarator(true); + } + } + + // + // Rule 323: array_modifier ::= [ constant_expression ] + // + static final class Action323 extends DeclaredAction< CPPParserAction , Object > { + public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeDirectDeclaratorArrayModifier(true); } } // - // Rule 323: array_modifier ::= [ ] + // Rule 324: array_modifier ::= [ ] // - static final class Action323 extends DeclaredAction< CPPParserAction , Object > { + static final class Action324 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeDirectDeclaratorArrayModifier(false); @@ -2208,9 +2223,9 @@ public int getKind(int i) { } // - // Rule 324: ptr_operator ::= * cv_qualifier_seq_opt + // Rule 325: ptr_operator ::= * cv_qualifier_seq_opt // - static final class Action324 extends DeclaredAction< CPPParserAction , Object > { + static final class Action325 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumePointer(); @@ -2218,9 +2233,9 @@ public int getKind(int i) { } // - // Rule 325: ptr_operator ::= & + // Rule 326: ptr_operator ::= & // - static final class Action325 extends DeclaredAction< CPPParserAction , Object > { + static final class Action326 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeReferenceOperator(); @@ -2228,9 +2243,9 @@ public int getKind(int i) { } // - // Rule 326: ptr_operator ::= dcolon_opt nested_name_specifier * cv_qualifier_seq_opt + // Rule 327: ptr_operator ::= dcolon_opt nested_name_specifier * cv_qualifier_seq_opt // - static final class Action326 extends DeclaredAction< CPPParserAction , Object > { + static final class Action327 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumePointerToMember(); @@ -2238,7 +2253,17 @@ public int getKind(int i) { } // - // Rule 334: cv_qualifier ::= const + // Rule 333: cv_qualifier ::= const + // + static final class Action333 extends DeclaredAction< CPPParserAction , Object > { + + public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. + consumeDeclSpecToken(); + } + } + + // + // Rule 334: cv_qualifier ::= volatile // static final class Action334 extends DeclaredAction< CPPParserAction , Object > { @@ -2248,19 +2273,9 @@ public int getKind(int i) { } // - // Rule 335: cv_qualifier ::= volatile + // Rule 336: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name // - static final class Action335 extends DeclaredAction< CPPParserAction , Object > { - - public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. - consumeDeclSpecToken(); - } - } - - // - // Rule 337: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name - // - static final class Action337 extends DeclaredAction< CPPParserAction , Object > { + static final class Action336 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeQualifiedId(false); @@ -2268,9 +2283,9 @@ public int getKind(int i) { } // - // Rule 338: type_id ::= type_specifier_seq + // Rule 337: type_id ::= type_specifier_seq // - static final class Action338 extends DeclaredAction< CPPParserAction , Object > { + static final class Action337 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeTypeId(false); @@ -2278,9 +2293,9 @@ public int getKind(int i) { } // - // Rule 339: type_id ::= type_specifier_seq abstract_declarator + // Rule 338: type_id ::= type_specifier_seq abstract_declarator // - static final class Action339 extends DeclaredAction< CPPParserAction , Object > { + static final class Action338 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeTypeId(true); @@ -2288,9 +2303,9 @@ public int getKind(int i) { } // - // Rule 342: abstract_declarator ::= ptr_operator_seq + // Rule 341: abstract_declarator ::= ptr_operator_seq // - static final class Action342 extends DeclaredAction< CPPParserAction , Object > { + static final class Action341 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeDeclaratorWithPointer(false); @@ -2298,9 +2313,9 @@ public int getKind(int i) { } // - // Rule 343: abstract_declarator ::= ptr_operator_seq direct_abstract_declarator + // Rule 342: abstract_declarator ::= ptr_operator_seq direct_abstract_declarator // - static final class Action343 extends DeclaredAction< CPPParserAction , Object > { + static final class Action342 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeDeclaratorWithPointer(true); @@ -2308,9 +2323,9 @@ public int getKind(int i) { } // - // Rule 347: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 346: basic_direct_abstract_declarator ::= ( abstract_declarator ) // - static final class Action347 extends DeclaredAction< CPPParserAction , Object > { + static final class Action346 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeDirectDeclaratorBracketed(); @@ -2318,9 +2333,9 @@ public int getKind(int i) { } // - // Rule 348: array_direct_abstract_declarator ::= array_modifier + // Rule 347: array_direct_abstract_declarator ::= array_modifier // - static final class Action348 extends DeclaredAction< CPPParserAction , Object > { + static final class Action347 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeDirectDeclaratorArrayDeclarator(false); @@ -2328,7 +2343,17 @@ public int getKind(int i) { } // - // Rule 349: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier + // Rule 348: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier + // + static final class Action348 extends DeclaredAction< CPPParserAction , Object > { + + public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. + consumeDirectDeclaratorArrayDeclarator(true); + } + } + + // + // Rule 349: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier // static final class Action349 extends DeclaredAction< CPPParserAction , Object > { @@ -2338,29 +2363,19 @@ public int getKind(int i) { } // - // Rule 350: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier + // Rule 350: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt // static final class Action350 extends DeclaredAction< CPPParserAction , Object > { - public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. - consumeDirectDeclaratorArrayDeclarator(true); - } - } - - // - // Rule 351: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt - // - static final class Action351 extends DeclaredAction< CPPParserAction , Object > { - public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeDirectDeclaratorFunctionDeclarator(true); } } // - // Rule 352: function_direct_abstract_declarator ::= ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt + // Rule 351: function_direct_abstract_declarator ::= ( parameter_declaration_clause ) cv_qualifier_seq_opt exception_specification_opt // - static final class Action352 extends DeclaredAction< CPPParserAction , Object > { + static final class Action351 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeDirectDeclaratorFunctionDeclarator(false); @@ -2368,39 +2383,39 @@ public int getKind(int i) { } // - // Rule 353: parameter_declaration_clause ::= parameter_declaration_list_opt ... + // Rule 352: parameter_declaration_clause ::= parameter_declaration_list_opt ... + // + static final class Action352 extends DeclaredAction< CPPParserAction , Object > { + + public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. + consumePlaceHolder(); + } + } + + // + // Rule 353: parameter_declaration_clause ::= parameter_declaration_list_opt // static final class Action353 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. - consumePlaceHolder(); + consumeEmpty(); } } // - // Rule 354: parameter_declaration_clause ::= parameter_declaration_list_opt + // Rule 354: parameter_declaration_clause ::= parameter_declaration_list , ... // static final class Action354 extends DeclaredAction< CPPParserAction , Object > { - public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. - consumeEmpty(); - } - } - - // - // Rule 355: parameter_declaration_clause ::= parameter_declaration_list , ... - // - static final class Action355 extends DeclaredAction< CPPParserAction , Object > { - public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumePlaceHolder(); } } // - // Rule 361: abstract_declarator_opt ::= $Empty + // Rule 360: abstract_declarator_opt ::= $Empty // - static final class Action361 extends DeclaredAction< CPPParserAction , Object > { + static final class Action360 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeEmpty(); @@ -2408,9 +2423,9 @@ public int getKind(int i) { } // - // Rule 362: parameter_declaration ::= declaration_specifiers parameter_init_declarator + // Rule 361: parameter_declaration ::= declaration_specifiers parameter_init_declarator // - static final class Action362 extends DeclaredAction< CPPParserAction , Object > { + static final class Action361 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeParameterDeclaration(); @@ -2418,9 +2433,9 @@ public int getKind(int i) { } // - // Rule 363: parameter_declaration ::= declaration_specifiers + // Rule 362: parameter_declaration ::= declaration_specifiers // - static final class Action363 extends DeclaredAction< CPPParserAction , Object > { + static final class Action362 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeParameterDeclarationWithoutDeclarator(); @@ -2428,9 +2443,9 @@ public int getKind(int i) { } // - // Rule 365: parameter_init_declarator ::= declarator = parameter_initializer + // Rule 364: parameter_init_declarator ::= declarator = parameter_initializer // - static final class Action365 extends DeclaredAction< CPPParserAction , Object > { + static final class Action364 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeDeclaratorWithInitializer(true); @@ -2438,29 +2453,29 @@ public int getKind(int i) { } // - // Rule 367: parameter_init_declarator ::= abstract_declarator = parameter_initializer + // Rule 366: parameter_init_declarator ::= abstract_declarator = parameter_initializer + // + static final class Action366 extends DeclaredAction< CPPParserAction , Object > { + + public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. + consumeDeclaratorWithInitializer(true); + } + } + + // + // Rule 367: parameter_init_declarator ::= = parameter_initializer // static final class Action367 extends DeclaredAction< CPPParserAction , Object > { - public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. - consumeDeclaratorWithInitializer(true); - } - } - - // - // Rule 368: parameter_init_declarator ::= = parameter_initializer - // - static final class Action368 extends DeclaredAction< CPPParserAction , Object > { - public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeDeclaratorWithInitializer(false); } } // - // Rule 369: parameter_initializer ::= assignment_expression + // Rule 368: parameter_initializer ::= assignment_expression // - static final class Action369 extends DeclaredAction< CPPParserAction , Object > { + static final class Action368 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeInitializer(); @@ -2468,9 +2483,9 @@ public int getKind(int i) { } // - // Rule 370: function_definition ::= declaration_specifiers_opt function_direct_declarator ctor_initializer_list_opt function_body + // Rule 369: function_definition ::= declaration_specifiers_opt function_direct_declarator ctor_initializer_list_opt function_body // - static final class Action370 extends DeclaredAction< CPPParserAction , Object > { + static final class Action369 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeFunctionDefinition(false); @@ -2478,9 +2493,9 @@ public int getKind(int i) { } // - // Rule 371: function_definition ::= declaration_specifiers_opt function_direct_declarator try ctor_initializer_list_opt function_body handler_seq + // Rule 370: 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 > { + static final class Action370 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeFunctionDefinition(true); @@ -2488,9 +2503,9 @@ public int getKind(int i) { } // - // Rule 374: initializer ::= ( expression_list ) + // Rule 373: initializer ::= ( expression_list ) // - static final class Action374 extends DeclaredAction< CPPParserAction , Object > { + static final class Action373 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeInitializerConstructor(); @@ -2498,9 +2513,9 @@ public int getKind(int i) { } // - // Rule 375: initializer_clause ::= assignment_expression + // Rule 374: initializer_clause ::= assignment_expression // - static final class Action375 extends DeclaredAction< CPPParserAction , Object > { + static final class Action374 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeInitializer(); @@ -2508,7 +2523,17 @@ public int getKind(int i) { } // - // Rule 376: initializer_clause ::= { initializer_list , } + // Rule 375: initializer_clause ::= { initializer_list , } + // + static final class Action375 extends DeclaredAction< CPPParserAction , Object > { + + public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. + consumeInitializerList(); + } + } + + // + // Rule 376: initializer_clause ::= { initializer_list } // static final class Action376 extends DeclaredAction< CPPParserAction , Object > { @@ -2518,7 +2543,7 @@ public int getKind(int i) { } // - // Rule 377: initializer_clause ::= { initializer_list } + // Rule 377: initializer_clause ::= { } // static final class Action377 extends DeclaredAction< CPPParserAction , Object > { @@ -2528,19 +2553,9 @@ public int getKind(int i) { } // - // Rule 378: initializer_clause ::= { } + // Rule 382: class_specifier ::= class_head { member_declaration_list_opt } // - static final class Action378 extends DeclaredAction< CPPParserAction , Object > { - - public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. - consumeInitializerList(); - } - } - - // - // Rule 383: class_specifier ::= class_head { member_declaration_list_opt } - // - static final class Action383 extends DeclaredAction< CPPParserAction , Object > { + static final class Action382 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeClassSpecifier(); @@ -2548,7 +2563,17 @@ public int getKind(int i) { } // - // Rule 384: class_head ::= class_keyword identifier_name_opt base_clause_opt + // Rule 383: class_head ::= class_keyword identifier_name_opt base_clause_opt + // + static final class Action383 extends DeclaredAction< CPPParserAction , Object > { + + public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. + consumeClassHead(false); + } + } + + // + // Rule 384: class_head ::= class_keyword template_id_name base_clause_opt // static final class Action384 extends DeclaredAction< CPPParserAction , Object > { @@ -2558,17 +2583,17 @@ public int getKind(int i) { } // - // Rule 385: class_head ::= class_keyword template_id_name base_clause_opt + // Rule 385: class_head ::= class_keyword nested_name_specifier identifier_name base_clause_opt // static final class Action385 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. - consumeClassHead(false); + consumeClassHead(true); } } // - // Rule 386: class_head ::= class_keyword nested_name_specifier identifier_name base_clause_opt + // Rule 386: class_head ::= class_keyword nested_name_specifier template_id_name base_clause_opt // static final class Action386 extends DeclaredAction< CPPParserAction , Object > { @@ -2578,19 +2603,9 @@ public int getKind(int i) { } // - // Rule 387: class_head ::= class_keyword nested_name_specifier template_id_name base_clause_opt + // Rule 390: identifier_name_opt ::= $Empty // - static final class Action387 extends DeclaredAction< CPPParserAction , Object > { - - public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. - consumeClassHead(true); - } - } - - // - // Rule 391: identifier_name_opt ::= $Empty - // - static final class Action391 extends DeclaredAction< CPPParserAction , Object > { + static final class Action390 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeEmpty(); @@ -2598,9 +2613,9 @@ public int getKind(int i) { } // - // Rule 395: visibility_label ::= access_specifier_keyword : + // Rule 394: visibility_label ::= access_specifier_keyword : // - static final class Action395 extends DeclaredAction< CPPParserAction , Object > { + static final class Action394 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeVisibilityLabel(); @@ -2608,9 +2623,9 @@ public int getKind(int i) { } // - // Rule 396: member_declaration ::= declaration_specifiers_opt member_declarator_list ; + // Rule 395: member_declaration ::= declaration_specifiers_opt member_declarator_list ; // - static final class Action396 extends DeclaredAction< CPPParserAction , Object > { + static final class Action395 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeDeclarationSimple(true); @@ -2618,9 +2633,9 @@ public int getKind(int i) { } // - // Rule 397: member_declaration ::= declaration_specifiers_opt ; + // Rule 396: member_declaration ::= declaration_specifiers_opt ; // - static final class Action397 extends DeclaredAction< CPPParserAction , Object > { + static final class Action396 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeDeclarationSimple(false); @@ -2628,9 +2643,9 @@ public int getKind(int i) { } // - // Rule 400: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ; + // Rule 399: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ; // - static final class Action400 extends DeclaredAction< CPPParserAction , Object > { + static final class Action399 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeMemberDeclarationQualifiedId(); @@ -2638,9 +2653,9 @@ public int getKind(int i) { } // - // Rule 411: member_declarator ::= declarator constant_initializer + // Rule 410: member_declarator ::= declarator constant_initializer // - static final class Action411 extends DeclaredAction< CPPParserAction , Object > { + static final class Action410 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeMemberDeclaratorWithInitializer(); @@ -2648,9 +2663,39 @@ public int getKind(int i) { } // - // Rule 419: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name + // Rule 411: member_declarator ::= bit_field_declarator : constant_expression // - static final class Action419 extends DeclaredAction< CPPParserAction , Object > { + static final class Action411 extends DeclaredAction< CPPParserAction , Object > { + + public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. + consumeBitField(true); + } + } + + // + // Rule 412: member_declarator ::= : constant_expression + // + static final class Action412 extends DeclaredAction< CPPParserAction , Object > { + + public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. + consumeBitField(false); + } + } + + // + // Rule 413: bit_field_declarator ::= identifier_name + // + static final class Action413 extends DeclaredAction< CPPParserAction , Object > { + + public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. + consumeDirectDeclaratorIdentifier(); + } + } + + // + // Rule 420: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name + // + static final class Action420 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeBaseSpecifier(false); @@ -2658,9 +2703,9 @@ public int getKind(int i) { } // - // Rule 420: base_specifier ::= virtual_opt access_specifier_keyword virtual_opt dcolon_opt nested_name_specifier_opt class_name + // Rule 421: base_specifier ::= virtual_opt access_specifier_keyword virtual_opt dcolon_opt nested_name_specifier_opt class_name // - static final class Action420 extends DeclaredAction< CPPParserAction , Object > { + static final class Action421 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeBaseSpecifier(true); @@ -2668,9 +2713,9 @@ public int getKind(int i) { } // - // Rule 421: virtual_opt ::= virtual + // Rule 422: virtual_opt ::= virtual // - static final class Action421 extends DeclaredAction< CPPParserAction , Object > { + static final class Action422 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumePlaceHolder(); @@ -2678,9 +2723,9 @@ public int getKind(int i) { } // - // Rule 422: virtual_opt ::= $Empty + // Rule 423: virtual_opt ::= $Empty // - static final class Action422 extends DeclaredAction< CPPParserAction , Object > { + static final class Action423 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeEmpty(); @@ -2688,15 +2733,45 @@ public int getKind(int i) { } // - // Rule 428: conversion_function_id_name ::= operator conversion_type_id + // Rule 429: conversion_function_id_name ::= operator conversion_type_id // - static final class Action428 extends DeclaredAction< CPPParserAction , Object > { + static final class Action429 extends DeclaredAction< CPPParserAction , Object > { public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. consumeConversionName(); } } + // + // Rule 430: conversion_type_id ::= type_specifier_seq conversion_declarator + // + static final class Action430 extends DeclaredAction< CPPParserAction , Object > { + + public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. + consumeTypeId(true); + } + } + + // + // Rule 431: conversion_type_id ::= type_specifier_seq + // + static final class Action431 extends DeclaredAction< CPPParserAction , Object > { + + public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. + consumeTypeId(false); + } + } + + // + // Rule 432: conversion_declarator ::= ptr_operator_seq + // + static final class Action432 extends DeclaredAction< CPPParserAction , Object > { + + public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. + consumeDeclaratorWithPointer(false); + } + } + // // Rule 438: mem_initializer ::= mem_initializer_name ( expression_list_opt ) // @@ -2738,7 +2813,7 @@ public int getKind(int i) { } // - // Rule 486: template_declaration ::= export_opt template < template_parameter_list > declaration + // Rule 486: template_declaration ::= export_opt template < template_parameter_list > declaration // static final class Action486 extends DeclaredAction< CPPParserAction , Object > { @@ -2767,6 +2842,66 @@ public int getKind(int i) { } } + // + // Rule 493: type_parameter ::= class identifier_name_opt + // + static final class Action493 extends DeclaredAction< CPPParserAction , Object > { + + public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. + consumeSimpleTypeTemplateParameter(false); + } + } + + // + // Rule 494: type_parameter ::= class identifier_name_opt = type_id + // + static final class Action494 extends DeclaredAction< CPPParserAction , Object > { + + public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. + consumeSimpleTypeTemplateParameter(true); + } + } + + // + // Rule 495: type_parameter ::= typename identifier_name_opt + // + static final class Action495 extends DeclaredAction< CPPParserAction , Object > { + + public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. + consumeSimpleTypeTemplateParameter(false); + } + } + + // + // Rule 496: type_parameter ::= typename identifier_name_opt = type_id + // + static final class Action496 extends DeclaredAction< CPPParserAction , Object > { + + public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. + consumeSimpleTypeTemplateParameter(true); + } + } + + // + // Rule 497: type_parameter ::= template < template_parameter_list > class identifier_name_opt + // + static final class Action497 extends DeclaredAction< CPPParserAction , Object > { + + public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. + consumeTemplatedTypeTemplateParameter(false); + } + } + + // + // Rule 498: type_parameter ::= template < template_parameter_list > class identifier_name_opt = id_expression + // + static final class Action498 extends DeclaredAction< CPPParserAction , Object > { + + public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. + consumeTemplatedTypeTemplateParameter(true); + } + } + // // Rule 499: template_id_name ::= template_identifier < template_argument_list_opt > // @@ -2826,6 +2961,36 @@ public int getKind(int i) { consumeStatementCatchHandler(true); } } + + // + // Rule 515: exception_declaration ::= type_specifier_seq declarator + // + static final class Action515 extends DeclaredAction< CPPParserAction , Object > { + + public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. + consumeDeclarationSimple(true); + } + } + + // + // Rule 516: exception_declaration ::= type_specifier_seq abstract_declarator + // + static final class Action516 extends DeclaredAction< CPPParserAction , Object > { + + public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. + consumeDeclarationSimple(true); + } + } + + // + // Rule 517: exception_declaration ::= type_specifier_seq + // + static final class Action517 extends DeclaredAction< CPPParserAction , Object > { + + public void doFinal(ITrialUndoActionProvider< Object > provider, CPPParserAction action) { action.builder. + consumeDeclarationSimple(false); + } + } } 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 37a0e5d8db5..c261ac53dfa 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 @@ -39,483 +39,500 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public final static short baseCheck[] = {0, 0,0,0,0,0,1,1,1,1,1, 0,1,1,1,1,1,1,1,1,1, - 3,1,1,1,1,1,1,1,2,1, - 1,0,1,0,4,2,2,2,3,2, - 3,2,2,1,0,1,1,1,4,4, - 4,8,8,3,3,4,4,3,3,2, - 2,7,7,7,7,4,4,6,7,4, - 1,1,1,2,2,2,2,2,2,2, - 2,2,4,7,7,3,1,0,1,2, - 2,1,2,3,4,1,0,3,1,0, - 3,5,1,4,1,3,3,1,3,3, - 3,1,3,3,1,3,3,1,3,3, - 3,3,1,3,3,1,3,1,3,1, - 3,1,3,1,3,1,5,1,2,1, - 1,3,3,3,3,3,3,3,3,3, - 3,3,1,1,2,1,3,1,0,1, - 0,1,1,0,1,1,1,1,1,1, - 1,1,1,3,3,2,2,1,4,2, - 1,2,5,7,5,1,4,5,7,9, - 8,2,2,3,2,3,1,1,1,1, + 3,1,1,1,1,1,1,1,1,2, + 1,1,0,1,0,4,2,2,2,3, + 2,3,2,2,1,0,1,1,1,4, + 4,4,8,8,3,3,4,4,3,3, + 2,2,7,7,7,7,4,4,6,7, + 4,1,1,1,2,2,2,2,2,2, + 2,2,2,4,7,7,3,1,0,1, + 2,2,1,2,3,4,1,0,3,1, + 0,3,5,1,4,1,3,3,1,3, + 3,3,1,3,3,1,3,3,1,3, + 3,3,3,1,3,3,1,3,1,3, + 1,3,1,3,1,3,1,5,1,2, + 1,1,3,3,3,3,3,3,3,3, + 3,3,3,1,1,2,1,3,1,0, + 1,0,1,1,0,1,1,1,1,1, + 1,1,1,1,3,3,2,2,1,4, + 2,1,2,5,7,5,1,4,5,7, + 9,8,2,2,3,2,3,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 2,1,0,4,2,2,2,2,2,1, - 0,1,1,1,1,1,1,2,1,2, - 2,2,1,2,2,1,2,2,1,2, - 2,1,2,2,1,1,1,1,1,1, + 1,2,1,0,4,2,2,2,2,2, + 1,0,1,1,1,1,1,1,2,1, + 2,2,2,1,2,2,1,2,2,1, + 2,2,1,2,2,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,3, - 4,4,5,4,5,4,1,5,6,1, - 3,1,0,1,3,1,1,1,1,1, - 1,1,1,6,6,5,1,7,6,1, - 0,6,5,6,4,1,3,1,0,1, - 2,1,3,1,1,1,1,3,9,2, - 2,3,2,3,1,5,1,2,1,0, - 2,1,0,1,1,1,3,1,2,1, - 1,2,3,1,1,1,3,1,2,2, - 9,8,2,1,3,1,3,1,0,1, - 0,2,1,1,3,1,3,2,1,5, - 8,1,2,3,1,5,4,3,1,3, - 1,1,5,4,4,5,5,1,0,1, - 0,1,1,1,2,4,2,2,1,5, - 1,1,1,1,2,1,0,1,3,1, - 2,3,2,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,1,1,1,1,1,1,1,1,1, + 3,4,4,5,4,5,4,1,5,6, + 1,3,1,0,1,3,1,1,1,1, + 1,1,1,1,6,6,5,1,7,6, + 1,0,6,5,6,4,1,3,1,0, + 1,2,1,3,1,1,1,1,3,9, + 2,2,3,2,3,1,5,1,2,2, + 1,0,1,1,1,3,1,2,1,1, + 2,3,1,1,1,3,1,2,2,9, + 8,2,1,3,1,3,1,0,1,0, + 2,1,1,3,1,3,2,1,5,8, + 1,2,3,1,5,4,3,1,3,1, + 1,5,4,4,5,5,1,0,1,0, + 1,1,1,2,4,2,2,1,5,1, + 1,1,1,2,1,0,1,3,1,2, + 3,2,1,2,2,1,0,1,3,3, + 6,1,0,1,1,1,1,0,2,2, + 1,2,2,1,0,1,3,4,3,1, 1,5,2,1,1,3,3,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,2,2,6,1,0,1,3, - 1,1,2,4,2,4,6,8,5,1, + 1,1,1,2,2,7,1,0,1,3, + 1,1,2,4,2,4,7,9,5,1, 1,3,1,0,1,1,1,2,4,4, - 1,2,5,5,2,2,1,4,3,1, - 0,1,3,-247,0,0,0,-2,0,0, + 1,2,5,5,3,3,1,4,3,1, + 0,1,3,-240,0,0,0,-2,0,0, 0,0,0,0,0,0,0,0,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,-69,0,0,0,0, + 0,-93,0,0,0,0,-186,0,0,0, + 0,0,-3,0,0,-109,0,0,0,-5, + -10,0,0,0,0,-8,-282,0,0,0, 0,0,0,0,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,-13,0, + 0,0,0,0,-14,0,0,0,0,-12, + 0,0,0,0,0,0,0,0,0,-154, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,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,-72,0,0,0, + 0,0,-17,-6,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,-103,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,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,-52,0,0, - 0,0,0,0,0,-14,0,-112,0,0, - 0,0,0,0,0,-260,0,0,0,-97, + -19,0,0,-135,0,0,0,0,0,0, + -21,0,0,0,0,0,0,-128,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, - -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,-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,-32,0,0,0, + 0,0,0,0,0,0,-9,0,0,0, + -24,0,0,0,-132,0,0,0,0,-262, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,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,-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,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,-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, - -28,0,0,-100,0,0,0,0,0,0, + 0,-36,0,0,0,0,0,-295,0,-290, 0,0,0,0,0,0,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,-35,0,0,0,-451,0,-43,-139,0, + 0,0,-43,0,0,0,0,0,-15,0, + 0,-120,0,0,0,-446,-59,0,-44,0, + 0,0,-113,0,0,-230,0,0,0,-52, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-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,-50,0, + 0,0,0,-27,-22,0,0,-87,-264,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,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,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,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,-401,0, 0,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,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,-148,0,0,-451, 0,0,0,0,0,0,0,0,0,0, - 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, + -98,0,0,0,-28,0,0,0,0,0, + 0,0,0,-35,-114,0,0,0,0,-96, 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,-53,0,0,0,0,0,0,0,0, + 0,0,-55,0,0,0,0,0,-474,0, + 0,0,0,0,0,-39,0,0,0,0, + -51,0,-18,0,0,0,-38,0,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,-40,0,0,0,0,0,0,0, + 0,0,0,0,-217,0,0,0,-68,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,-194,0,0,0,0,-41,0,0, + 0,0,-54,-42,0,0,-304,0,0,0, + -60,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-56,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-118,0,0,0,-376,0, + 0,0,-242,-505,0,0,0,0,-121,-305, 0,0,0,0,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,-342,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,-97,0,0,0,-327,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-207,0,0,0, - 0,0,0,0,-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,-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, - -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,-62,0,0,0,0,0,-63, + 0,0,0,0,-61,0,0,0,0,-172, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-313,-262, + 0,0,0,0,0,0,0,0,0,0, + -178,0,-424,0,0,0,0,0,0,0, + 0,-200,-46,0,0,0,0,0,-95,0, + -220,-66,0,-299,-270,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,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,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,-221,-67,0,0,-271,0,0,0, + -92,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-243,0, + 0,0,0,0,-76,0,0,-192,0,0, + 0,0,0,0,0,0,0,0,-272,0, + 0,0,-283,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -338,0,0,0,0,0,0,0,0,-70, 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,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,-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,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,-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,-83,0,-77,0,0,0,0,-407,0, + 0,0,-274,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-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, + -82,0,0,0,0,-130,0,0,0,0, + -388,0,0,0,-275,0,0,0,-292,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,-381,0,0,0, + 0,0,-131,0,0,0,0,-137,0,0, + 0,0,-139,-143,0,0,-276,0,0,0, + -144,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-409,0, + 0,0,0,0,0,0,0,-140,0,-145, + 0,0,0,0,-146,-147,0,0,-277,0, + 0,0,-417,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-179, + 0,-149,0,0,0,0,-161,-162,0,0, + -278,0,0,0,0,0,0,0,0,0, 0,0,0,0,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,-433,-462,-435,0,0,0,0,0, - 0,-373,0,0,0,-455,0,0,0,0, + 0,-209,0,-163,0,0,0,0,-466,-164, + 0,0,-279,0,0,0,-165,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-445,0,0, - 0,0,0,0,-483,-459,-471,0,0,0, - 0,0,0,0,0,-456,-457,0,0,0, + 0,0,0,0,-166,0,0,0,0,0, + 0,0,0,-211,0,-167,0,0,0,0, + -168,0,0,0,-280,0,0,0,-169,0, 0,0,0,0,0,0,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,-170,0,0,0, + 0,0,0,0,0,-238,0,-171,0,0, + 0,0,-173,-175,0,0,-330,0,0,0, + -177,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,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,-239,0,-180, + 0,0,0,0,-181,-182,0,0,-418,0, + 0,0,-184,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,-185,0,0,-300, + 0,-187,0,0,0,0,-105,-514,0,0, + -489,0,0,0,-188,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-193,0,0,0,0,0,0,0, + 0,-307,0,-203,0,0,0,0,-383,-204, + 0,0,-298,0,0,0,-486,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 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, + -210,0,0,-215,0,-106,0,0,0,0, + -313,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-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,-216,0, + 0,-115,0,-174,0,0,0,0,-247,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, + -136,0,-218,-329,0,-379,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,-219,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-422,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -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,-229,0,-245,0,0,0, + 0,-248,0,0,0,-246,0,0,0,0, + 0,0,0,-48,-294,0,0,0,-423,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-493,0,0,0,-503, + -312,0,0,0,0,0,0,0,0,-314, + 0,-332,0,0,0,0,-498,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-16,0,0,0,0,0,0,0,0, - 0,0,0,-394,0,-440,0,0,0,0, + 0,0,0,0,0,0,0,0,-316,0, + 0,0,0,0,0,0,0,-317,0,-318, + 0,0,0,0,-503,0,0,0,-320,0, + 0,0,0,0,0,0,-122,-205,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,-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,-321,0,0,0,0,0,0, + 0,0,-326,0,-406,0,0,0,-487,-267, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-300,0, + 0,0,0,0,0,0,0,-127,0,0, + -344,0,-268,0,0,0,-197,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -328,0,0,-7,0,0,0,-413,0,0, + 0,0,0,-133,0,0,0,-348,0,0, + 0,-334,0,0,0,0,0,0,0,-335, + -265,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,-336,0,0,0,0,0,0,-29, + 0,-266,0,0,0,-198,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-337,0,0,0,0,0,-228, + 0,0,0,0,0,0,0,0,0,-134, 0,0,0,0,0,0,0,0,0,0, + 0,-49,-453,0,-208,0,0,0,-119,0, + -341,0,0,0,0,0,0,-189,0,0, + 0,0,-195,0,0,0,0,0,0,0, + 0,0,0,0,-353,-354,0,0,0,0, + 0,0,0,0,0,-355,0,0,0,0, + 0,0,0,-315,-356,-227,0,0,0,0, + 0,0,0,-475,0,-357,0,0,0,0, + 0,0,-57,-58,0,-104,0,0,-64,0, 0,0,0,0,0,0,0,0,0,0, + 0,-333,0,-258,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-167,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-168,0,0, + -259,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-169,0, + 0,0,0,0,0,0,0,-260,0,0, + 0,-310,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,0,0,0,0, - 0,-170,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-358,0,0,0, + 0,-1,0,-323,0,0,-350,0,0,0, + -339,0,0,0,0,0,0,0,-324,-152, 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,0,0,0,0,0,-248, + -84,-199,0,0,0,0,0,0,-359,0, + -360,-447,0,0,0,0,0,0,-443,0, + 0,0,0,-129,-377,0,-361,0,-26,0, + 0,0,0,0,0,0,0,0,-71,-352, + 0,0,0,-90,0,-73,0,0,0,0, + -347,0,0,0,0,-362,-94,0,-346,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-363,0,-384, 0,0,0,0,0,0,0,0,0,0, - -258,0,0,0,0,0,0,0,0,0, + -444,0,0,0,0,0,0,0,-80,0, + 0,0,0,0,-232,-190,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-259,0,0,0,0,0,0,0,0, + -124,0,0,0,0,-499,0,0,-91,0, + 0,0,0,-364,-482,0,0,0,-365,-366, + 0,0,0,0,-75,0,-367,0,0,0, + 0,0,0,0,0,-30,0,0,0,0, + 0,0,-368,-125,0,0,0,0,0,-369, + 0,0,0,0,0,-65,0,0,0,0, + 0,-370,-371,-511,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-78, + 0,-85,0,0,0,0,0,0,-233,0, + -378,0,0,0,0,0,0,0,0,0, + 0,-86,0,0,0,0,0,0,-380,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-341,0,0,0,0,0,0,0, + -222,0,0,0,0,0,0,0,0,0, + 0,0,-183,-385,-389,-390,0,-374,0,0, + 0,-436,0,0,0,-223,0,0,0,0, + 0,0,0,-263,0,0,0,-31,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,-202, + -395,0,0,0,-488,0,0,0,0,0, + 0,0,0,0,0,0,-399,0,0,0, + -450,-351,0,0,0,-473,-402,0,0,-100, + 0,0,0,0,0,-403,0,-404,0,0, + 0,0,-405,-23,0,0,0,-425,0,-206, + 0,0,0,0,0,0,0,0,0,-237, + 0,-434,-441,0,0,0,0,0,0,-225, + 0,0,0,0,0,-226,0,0,-387,-397, + 0,0,0,0,-442,0,0,0,0,-111, + 0,0,0,0,0,-112,-116,0,-449,0, + 0,0,0,0,0,0,-142,0,0,-398, + 0,0,0,0,0,0,0,0,0,-288, + 0,0,0,0,0,0,-153,0,0,0, + -460,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-421,0,0,0,0,0, + 0,0,0,0,0,0,0,-253,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,-476, + 0,0,-254,0,0,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,-311,0,0,-478,0,-287, + -479,-480,0,0,-207,-81,0,0,0,-481, + -214,-224,0,-322,0,0,0,0,-420,-297, + -483,0,0,-99,0,0,0,0,0,0, + -249,-490,0,0,0,0,0,-496,0,-4, + 0,0,0,0,-501,0,0,0,0,-284, + 0,0,0,0,0,-414,-286,0,0,0, + 0,0,0,0,0,0,0,-234,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-411,0,-114,0,0, + 0,0,-11,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -331,-394,-306,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-45,0,0,0, + 0,-345,0,0,0,0,0,-325,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,-150,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,0,-400,-412,0,0,0,0,-419, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-123,0,0,0,0,-427,0, + -428,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-433,0,0, + -235,-231,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-213,0,-462,0, + 0,0,0,0,0,0,0,0,-426,0, + 0,-20,0,0,0,0,0,0,0,0, + -492,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-454,0,0,0,0,-458, 0,0,0,0,0,0,0,0,0,0, - 0,-37,0,0,0,0,0,-102,0,0, + 0,0,0,-108,-485,0,0,0,0,0, + 0,0,-429,0,0,0,0,0,0,0, + 0,0,0,-255,0,0,0,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,-74,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-256,0,0, + 0,-33,0,0,0,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,-257,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-431,0,-309,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,-464,0,0,0,0,0,0,0,0, + -435,-34,0,0,0,0,0,0,-37,0, + 0,0,-445,0,0,-301,0,0,-504,0, + -212,-319,0,0,0,0,0,0,0,0, + 0,-509,0,0,0,0,0,0,0,0, + -250,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-285,0,0,0, + 0,-117,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-456, + 0,-457,0,0,0,0,0,-391,0,0, + 0,0,0,0,0,0,0,-416,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,-382,0,0,0,0,0,0,0, + 0,0,0,0,0,-289,0,0,0,0, + -291,0,0,-459,-196,0,0,0,0,0, + 0,0,-467,-448,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-500,0,0, + 0,0,0,0,0,0,0,-468,0,0, + 0,0,0,-469,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-461, + 0,-372,0,0,0,-201,0,0,-470,-512, 0,0,0,0,0,0,0,0,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,-151,0, 0,0,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, + 0,0,0,0,-432,-465,0,0,0,0, + 0,0,0,0,-494,0,-373,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-191,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -102,0,0,0,0,0,0,0,0,0, + 0,0,0,-495,-507,0,0,0,0,0, + -463,-506,0,0,0,0,0,0,-281,0, + -510,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0 + -236,0,0,0,0,-513,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-437,-491,-515,0,0, + 0,0,0,0,-471,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-408,0,0,0, + -455,-516,0,0,0,0,0,0,-244,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-438,0, + 0,-439,0,-518,0,0,0,0,0,0, + -508,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -386,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -16,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-155,0,0,0,0,0,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,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-156,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-157,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -158,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-159,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-160, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-241,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-251,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-252,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-293,0,0, + 0,0,0,0,0,0,0,0,0,-340, + 0,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,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,-484,0, + 0,-302,-303,0,-110,0,0,0,0,0, + 0,-101,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-25, + 0,0,0,0,0,0,0,0,0,0, + 0,-440,0,0,0,0,0,0,0,-464, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -477,0,-502,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -74,0,0,0,0,0,0,0,0,0, + -430,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,0,0,0,0,0,0,0,0, + 0,0,0,0,-88,0,0,0,0,0, + 0,0,0,0,-89,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-392,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-126,0,0,0,0,-497, + 0,0,0,0,-138,0,0,0,0,0, + 0,0,0,0,-176,0,0,0,-411,0, + 0,0,0,0,0,0,0,0,-517,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-296,0,0,0,0,0, + 0,0,0,0,-343,0,0,0,0,0, + 0,0,0,0,-349,0,0,0,-308,0, + -393,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-452,0,0,0,0,-375, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-396,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-415,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,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; @@ -525,507 +542,524 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface BaseAction { public final static char baseAction[] = { - 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,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, - 137,17,17,17,17,17,17,17,17,17, - 17,17,17,17,18,18,173,170,170,171, - 171,174,139,139,175,175,172,172,140,138, - 138,19,19,20,20,22,22,22,23,23, - 23,23,24,24,24,25,25,25,26,26, - 26,26,26,28,28,28,30,30,32,32, - 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,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, - 67,67,67,67,67,50,50,50,50,50, - 104,104,109,109,47,21,21,21,21,21, - 43,43,92,92,92,92,92,147,147,142, - 142,142,142,143,143,143,144,144,144,145, - 145,145,146,146,146,93,93,93,93,93, - 94,94,94,90,12,13,13,13,13,13, - 13,13,13,13,13,13,88,88,88,120, - 120,120,120,120,118,118,118,91,119,119, - 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,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, - 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,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, + 169,4,192,193,194,135,88,33,65,39, + 169,169,15,15,15,15,15,15,15,15, + 16,16,16,14,10,10,8,8,8,8, + 8,1,66,66,5,5,11,11,11,11, + 49,49,136,136,137,58,58,47,47,17, + 17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,138, + 138,138,18,18,18,18,18,18,18,18, + 18,18,18,18,18,19,19,173,170,170, + 171,171,174,140,140,175,175,172,172,141, + 139,139,20,20,21,21,23,23,23,24, + 24,24,24,25,25,25,26,26,26,27, + 27,27,27,27,29,29,29,30,30,32, + 32,34,34,35,35,36,36,37,37,41, + 41,40,40,40,40,40,40,40,40,40, + 40,40,40,40,38,38,28,142,142,102, + 102,107,107,97,195,195,80,80,80,80, + 80,80,80,80,80,81,81,81,82,82, + 56,56,176,176,83,83,83,117,117,84, + 84,84,84,85,85,85,85,85,86,68, + 68,68,68,68,68,68,51,51,51,51, + 51,106,106,109,109,48,22,22,22,22, + 22,44,44,93,93,93,93,93,148,148, + 143,143,143,143,144,144,144,145,145,145, + 146,146,146,147,147,147,94,94,94,94, + 94,95,95,95,91,12,13,13,13,13, + 13,13,13,13,13,13,13,89,89,89, + 121,121,121,121,121,119,119,119,92,120, + 120,150,150,149,149,123,123,124,43,43, + 42,72,72,73,73,75,76,74,45,53, + 46,151,151,54,52,71,71,178,178,177, + 177,152,152,90,90,77,77,77,61,61, + 62,78,78,79,79,67,67,67,103,103, + 105,104,104,57,57,63,63,55,55,50, + 108,108,108,98,98,98,99,100,100,100, + 101,101,110,110,110,112,112,111,111,196, + 196,96,96,180,180,180,180,180,126,59, + 59,154,179,179,127,127,127,127,181,181, + 31,31,118,128,128,128,128,197,197,113, + 113,122,122,122,156,157,157,157,157,157, + 157,157,157,184,184,182,182,183,183,158, + 158,158,158,159,185,115,114,114,186,186, + 160,160,130,130,129,129,129,198,198,9, + 187,187,188,161,153,153,162,162,163,164, 164,6,6,7,166,166,166,166,166,166, 166,166,166,166,166,166,166,166,166,166, 166,166,166,166,166,166,166,166,166,166, 166,166,166,166,166,166,166,166,166,166, - 166,166,166,166,166,166,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 + 166,166,166,166,166,166,60,64,64,167, + 167,131,131,132,132,132,132,132,132,2, + 3,168,168,165,165,133,133,133,69,70, + 87,155,155,116,116,189,189,189,134,134, + 125,125,190,190,1445,2096,2087,701,901,4755, + 27,711,24,28,23,25,2421,255,22,20, + 49,1667,104,73,74,106,2731,1668,1710,1704, + 1735,1717,2998,1751,1746,267,1777,935,1759,1788, + 1793,141,3184,2508,157,142,584,26,29,701, + 1508,1899,27,711,36,28,148,3158,26,29, + 701,225,3809,27,711,24,28,23,25,1662, + 255,22,20,49,1667,104,73,74,106,236, + 1668,1710,1704,1735,1717,756,1751,1746,371,1777, + 1570,1759,2833,270,3277,269,268,228,223,224, + 3158,2096,2087,701,329,3809,27,711,24,28, + 23,25,1662,255,22,20,49,1667,104,73, + 74,81,234,237,240,243,2806,1236,3046,3040, + 701,30,985,1101,154,26,29,701,4101,2994, + 27,711,24,28,335,25,2085,2679,904,2360, + 2928,3502,3562,1985,26,29,701,2304,3809,27, + 711,24,28,1843,25,1662,255,22,20,49, + 1667,104,73,74,106,339,1668,1710,1704,1735, + 1717,1422,1751,1746,2998,1777,369,1759,1788,1793, + 141,2620,443,505,142,653,849,318,584,26, + 29,701,859,2903,27,711,1744,28,506,1985, + 26,29,701,2304,3809,27,711,24,28,1843, + 25,1662,255,22,20,49,1667,104,73,74, + 106,339,1668,1710,1704,1735,1717,2518,1751,1746, + 371,1777,4593,1759,1788,1793,141,1981,1138,505, + 142,68,37,39,701,2646,389,38,711,2903, + 3158,26,29,701,506,3809,27,711,24,28, + 23,25,1662,255,22,20,49,1667,104,73, + 74,106,1369,1668,1710,2706,501,2749,918,1093, + 2536,26,29,701,2304,3809,27,711,24,28, + 1843,25,1662,255,22,20,49,1667,104,73, + 74,106,339,1668,1710,1704,1735,1717,1836,1751, + 1746,1867,1777,1369,1759,1788,1793,141,4615,676, + 505,142,2524,899,272,701,3423,920,3172,1369, + 2903,2486,501,1908,4625,506,2464,26,29,701, + 62,3809,27,711,24,28,23,25,1662,255, + 22,20,49,1667,104,73,74,106,1954,1668, + 1710,1704,1735,1717,1872,1751,1746,1867,1777,1487, + 1759,1788,1793,141,836,2639,374,142,1369,3158, + 26,29,701,4675,3809,27,711,24,28,23, + 25,1662,255,22,20,49,1667,104,73,74, + 106,377,1668,1710,1704,1735,1717,1919,2784,2579, + 26,29,701,502,3809,27,711,24,28,23, + 25,1662,255,22,20,49,1667,104,73,74, + 106,225,1668,1710,1704,1735,1717,1369,1751,1746, + 3387,1777,3941,1759,1788,1793,141,383,416,374, + 142,893,26,29,701,2645,4695,27,711,24, + 28,335,25,378,861,2188,275,236,223,224, + 2843,26,29,701,375,3809,27,711,24,28, + 23,25,1662,255,22,20,49,1667,104,73, + 74,106,880,1668,1710,1704,1735,1717,2474,1751, + 1746,3130,1777,2504,1759,1788,1793,141,3184,3384, + 374,142,1143,316,318,430,45,3261,329,312, + 2651,1743,552,1236,380,381,701,2510,314,1022, + 434,1322,2942,26,29,701,379,3809,27,711, + 24,28,23,25,1662,255,22,20,49,1667, + 104,73,74,106,30,1668,1710,1704,1735,1717, + 215,1751,1746,2653,1777,320,1759,1788,1793,141, + 328,321,157,142,520,2942,26,29,701,2096, + 3809,27,711,24,28,23,25,1662,255,22, + 20,49,1667,104,73,74,106,372,1668,1710, + 1704,1735,1717,1650,1751,1746,981,1777,2732,1759, + 1788,1793,141,672,874,368,142,2942,26,29, + 701,1518,3809,27,711,24,28,23,25,1662, + 255,22,20,49,1667,104,73,74,106,1038, + 1668,1710,1704,1735,1717,566,1751,1746,86,1777, + 100,1759,1788,1793,141,2516,277,368,142,584, + 26,29,701,2520,3387,27,711,3179,28,1743, + 2942,26,29,701,2085,3809,27,711,24,28, + 23,25,1662,255,22,20,49,1667,104,73, + 74,106,322,1668,1710,1704,1735,1717,1369,1751, + 1746,367,1777,4007,1759,1788,1793,141,304,485, + 368,142,2903,26,29,701,2998,3809,27,711, + 24,28,23,25,1662,255,22,20,49,1667, + 104,73,74,106,2825,1668,1710,1704,1735,1717, + 3000,1751,1746,366,1777,1667,1759,1788,1794,163, + 2421,26,29,701,859,3809,27,711,24,28, + 23,25,1662,255,22,20,49,1667,104,73, + 74,106,3334,1668,1710,1704,1735,1717,484,1751, + 1746,1039,1777,1369,1759,1788,1793,141,4815,351, + 140,142,2524,45,276,701,364,2694,520,45, + 324,1588,1436,1062,2648,2942,26,29,701,1994, + 3809,27,711,24,28,23,25,1662,255,22, + 20,49,1667,104,73,74,106,1618,1668,1710, + 1704,1735,1717,3282,1751,1746,88,1777,3617,1759, + 1788,1793,141,3009,2734,153,142,2942,26,29, + 701,1487,3809,27,711,24,28,23,25,1662, + 255,22,20,49,1667,104,73,74,106,2641, + 1668,1710,1704,1735,1717,1666,1751,1746,3238,1777, + 349,1759,1788,1793,141,325,331,152,142,2942, + 26,29,701,2752,3809,27,711,24,28,23, + 25,1662,255,22,20,49,1667,104,73,74, + 106,2280,1668,1710,1704,1735,1717,397,1751,1746, + 1667,1777,348,1759,1788,1793,141,282,1914,151, + 142,2942,26,29,701,566,3809,27,711,24, + 28,23,25,1662,255,22,20,49,1667,104, + 73,74,106,319,1668,1710,1704,1735,1717,566, + 1751,1746,1667,1777,2755,1759,1788,1793,141,2516, + 3035,150,142,2942,26,29,701,2235,3809,27, + 711,24,28,23,25,1662,255,22,20,49, + 1667,104,73,74,106,1199,1668,1710,1704,1735, + 1717,2637,1751,1746,704,1777,838,1759,1788,1793, + 141,2900,434,149,142,2942,26,29,701,2641, + 3809,27,711,24,28,23,25,1662,255,22, + 20,49,1667,104,73,74,106,3388,1668,1710, + 1704,1735,1717,3001,1751,1746,1499,1777,1490,1759, + 1788,1793,141,1503,1630,148,142,2942,26,29, + 701,3002,3809,27,711,24,28,23,25,1662, + 255,22,20,49,1667,104,73,74,106,2326, + 1668,1710,1704,1735,1717,1189,1751,1746,1667,1777, + 3003,1759,1788,1793,141,3004,3006,147,142,2942, + 26,29,701,3274,3809,27,711,24,28,23, + 25,1662,255,22,20,49,1667,104,73,74, + 106,373,1668,1710,1704,1735,1717,512,1751,1746, + 1667,1777,1646,1759,1788,1793,141,2640,320,146, + 142,2942,26,29,701,566,3809,27,711,24, + 28,23,25,1662,255,22,20,49,1667,104, + 73,74,106,3217,1668,1710,1704,1735,1717,566, + 1751,1746,1743,1777,578,1759,1788,1793,141,3352, + 670,145,142,2942,26,29,701,3298,3809,27, + 711,24,28,23,25,1662,255,22,20,49, + 1667,104,73,74,106,671,1668,1710,1704,1735, + 1717,303,1751,1746,1743,1777,2031,1759,1788,1793, + 141,666,410,144,142,2942,26,29,701,2531, + 3809,27,711,24,28,23,25,1662,255,22, + 20,49,1667,104,73,74,106,234,1668,1710, + 1704,1735,1717,300,1751,1746,1667,1777,2664,1759, + 1788,1793,141,1437,1556,143,142,2942,26,29, + 701,1878,3809,27,711,24,28,23,25,1662, + 255,22,20,49,1667,104,73,74,106,4380, + 1668,1710,1704,1735,1717,512,1751,1746,1667,1777, + 580,1759,1788,1793,141,2990,322,158,142,2942, + 26,29,701,1037,3809,27,711,24,28,23, + 25,1662,255,22,20,49,1667,104,73,74, + 106,21,1668,1710,1704,1735,1717,2992,1751,1746, + 1743,1777,1154,1759,1788,1793,141,1518,3387,138, + 142,3079,26,29,701,1832,3809,27,711,24, + 28,23,25,1662,255,22,20,49,1667,104, + 73,74,106,2815,1668,1710,1704,1735,1717,299, + 1751,1746,1667,1777,492,1759,1788,1793,141,3337, + 3005,188,142,3158,26,29,701,2998,3809,27, + 711,24,28,23,25,1662,255,22,20,49, + 1667,104,73,74,106,346,1668,1710,1704,1735, + 1717,3260,1751,1746,1889,1777,1518,1759,1788,1794, + 163,3158,26,29,701,447,3809,27,711,24, + 28,23,25,1662,255,22,20,49,1667,104, + 73,74,106,514,1668,1710,1704,1735,1717,3007, + 1751,1746,1908,1777,1518,1759,1788,1794,163,875, + 26,29,701,350,4765,27,711,24,28,56, + 25,2812,520,3008,1667,3020,3158,26,29,701, + 286,3809,27,711,24,28,23,25,1662,255, + 22,20,49,1667,104,73,74,106,3270,1668, + 1710,1704,1735,1717,446,1751,1746,438,1777,1313, + 1759,1788,1794,163,3158,26,29,701,2906,3809, + 27,711,24,28,23,25,1662,255,22,20, + 49,1667,104,73,74,106,181,1668,1710,1704, + 1735,1717,323,1751,1746,3296,1777,1512,1759,1788, + 1794,163,2780,26,29,701,1584,4765,27,711, + 24,28,55,25,45,3331,384,416,2779,3158, + 26,29,701,412,3809,27,711,24,28,23, + 25,1662,255,22,20,49,1667,104,73,74, + 106,3299,1668,1710,1704,1735,1717,60,1751,1746, + 3322,1777,1667,1759,1788,1794,163,3197,26,29, + 701,411,3809,27,711,24,28,23,25,1662, + 255,22,20,49,1667,104,73,74,106,2655, + 1668,1710,1704,1735,1717,68,1751,1746,2665,1777, + 2774,1759,1788,1794,163,498,26,29,701,2777, + 4847,27,711,24,28,23,25,2632,2524,498, + 274,701,3158,26,29,701,414,3809,27,711, + 24,28,23,25,1662,255,22,20,49,1667, + 104,73,74,106,2789,1668,1710,1704,1735,1717, + 59,1751,1746,2889,1777,2524,2820,3013,701,2998, + 3158,26,29,701,2834,3809,27,711,24,28, + 23,25,1662,255,22,20,49,1667,104,73, + 74,106,297,1668,1710,1704,1735,1717,2528,1751, + 1746,1518,2797,3158,26,29,701,1908,3809,27, + 711,24,28,23,25,1662,255,22,20,49, + 1667,104,73,74,106,513,1668,1710,1704,1735, + 1717,3382,1751,2813,3236,380,381,701,1658,3569, + 288,1702,2662,289,2646,389,230,255,412,26, + 29,701,1288,4847,27,711,24,28,58,25, + 1980,3158,26,29,701,267,3809,27,711,24, + 28,23,25,1662,255,22,20,49,1667,104, + 73,74,106,3271,1668,1710,1704,1735,2789,4402, + 1587,225,3158,26,29,701,1908,3809,27,711, + 24,28,23,25,1662,255,22,20,49,1667, + 104,73,74,106,3362,1668,1710,1704,1735,2790, + 2811,386,416,270,1062,269,268,228,223,224, + 1891,26,29,701,2916,2994,27,711,24,28, + 335,25,45,2646,389,2528,1381,225,159,2188, + 273,2896,234,237,240,243,2806,1989,1880,380, + 381,701,985,2766,26,29,701,4368,2994,27, + 711,24,28,335,25,2803,2805,2679,904,2360, + 2928,3502,3562,239,223,224,406,288,1870,47, + 289,1143,316,318,1743,1957,1236,380,381,701, + 288,48,396,289,3384,44,2418,313,1022,347, + 385,416,91,45,45,2198,2504,3891,673,45, + 2038,3184,2014,729,653,849,318,439,340,1331, + 1373,345,1667,178,3158,26,29,701,2013,3809, + 27,711,24,28,23,25,1662,255,22,20, + 49,1667,104,73,74,106,3181,1668,1710,1704, + 2607,3158,26,29,701,67,3809,27,711,24, + 28,23,25,1662,255,22,20,49,1667,104, + 73,74,106,328,1668,1710,1704,2659,3158,26, + 29,701,2660,3809,27,711,24,28,23,25, + 1662,255,22,20,49,1667,104,73,74,106, + 361,1668,1710,1704,2661,3158,26,29,701,557, + 3809,27,711,24,28,23,25,1662,255,22, + 20,49,1667,104,73,74,106,1153,1668,1710, + 1704,2677,3370,85,1743,100,2304,412,26,29, + 701,1667,4847,27,711,24,28,57,25,1743, + 3119,26,29,701,221,3809,27,711,24,28, + 23,25,1662,255,22,20,49,1667,83,73, + 74,3415,2633,194,52,2304,654,4745,209,1220, + 206,1287,2504,199,207,208,210,3184,193,2372, + 273,200,201,221,2632,2462,570,1354,511,1513, + 211,202,203,204,205,291,292,293,294,45, + 1518,232,255,4455,3447,654,45,209,2304,206, + 863,1667,199,207,208,210,937,70,440,45, + 200,201,4685,1062,395,570,221,1541,3243,211, + 202,203,204,205,291,292,293,294,1507,3158, + 1236,380,381,701,84,2976,225,3216,654,305, + 209,3244,206,272,701,199,207,208,210,1880, + 380,381,701,200,201,45,2632,3354,570,2304, + 2197,420,211,202,203,204,205,291,292,293, + 294,3524,233,223,224,2304,1518,339,50,2656, + 47,528,808,2304,2419,1236,380,381,701,3593, + 3625,288,48,221,289,1522,1332,2887,2419,1992, + 3354,2400,92,2674,1499,2903,1550,1405,2795,701, + 2322,4561,418,2982,3569,654,421,209,2304,206, + 2793,382,199,207,208,210,1370,380,381,701, + 200,201,3354,3336,1518,570,221,47,2105,211, + 202,203,204,205,291,292,293,294,288,48, + 45,289,45,1332,3622,647,2771,267,654,45, + 209,3368,206,2304,95,199,207,208,210,433, + 1578,1583,45,200,201,492,2814,3354,570,3385, + 3000,339,211,202,203,204,205,291,292,293, + 294,842,26,29,701,4769,2994,27,711,24, + 28,335,25,2995,1235,2983,3391,3070,1965,2903, + 489,491,2660,3184,2330,336,2504,269,268,2696, + 3354,3184,96,3165,3158,26,29,701,2622,3809, + 27,711,24,28,23,25,1662,255,22,20, + 49,1667,104,73,74,106,1536,1668,1710,2728, + 2632,589,1143,316,318,2033,26,29,701,2916, + 2994,27,711,24,28,335,25,3400,313,1022, + 347,3244,1667,3162,701,329,2524,2986,3198,701, + 45,1450,347,328,1311,225,2991,347,3010,340, + 1331,1373,345,3011,1304,380,381,701,3014,1912, + 2632,340,1331,1373,345,51,342,1331,1373,345, + 2811,338,3072,3240,1062,279,1143,316,318,3546, + 87,242,223,224,524,47,1168,440,511,1667, + 1743,4685,313,1022,347,3241,288,48,159,289, + 45,1332,221,1109,2277,515,45,45,154,3273, + 2366,3786,2826,340,1331,1373,345,45,2464,179, + 1743,866,3359,516,3288,296,209,1709,206,197, + 2504,198,207,208,210,3184,168,3158,26,29, + 701,3401,3809,27,711,24,28,23,25,1662, + 255,22,20,49,1667,104,73,74,82,195, + 182,166,167,169,170,171,172,173,3158,26, + 29,701,2621,3809,27,711,24,28,23,25, + 1662,255,22,20,49,1667,104,73,74,106, + 3471,1668,2445,3158,26,29,701,328,3809,27, + 711,24,28,23,25,1662,255,22,20,49, + 1667,104,73,74,106,1,1668,2446,2041,524, + 2795,2654,3431,3184,2304,2632,1370,380,381,701, + 3463,45,45,2908,1699,3576,2562,221,1062,1743, + 2632,3433,2400,154,1880,380,381,701,437,1578, + 1583,2811,2662,2464,179,1062,3155,267,3466,3288, + 2744,209,154,206,2304,3472,198,207,208,210, + 45,168,3060,196,3782,47,1667,45,399,159, + 180,3857,221,5175,5175,3158,288,48,45,289, + 295,1332,2304,1801,5175,183,166,167,169,170, + 171,172,173,3402,654,280,209,2304,206,87, + 339,199,207,208,210,271,356,269,268,200, + 201,1102,976,45,570,221,524,4071,508,202, + 203,204,205,291,292,293,294,3601,2903,5175, + 5175,2304,2897,2353,221,5175,2304,654,45,209, + 154,206,4101,2972,199,207,208,210,94,221, + 161,5175,200,201,339,1043,3288,570,5175,524, + 3845,212,202,203,204,205,291,292,293,294, + 3614,654,5175,209,2304,206,376,339,199,207, + 208,210,2308,154,45,45,200,201,2912,856, + 45,570,221,1828,970,306,202,203,204,205, + 291,292,293,294,3492,2903,5175,5175,2304,45, + 1786,2901,5175,4011,654,2304,209,5175,206,3378, + 5175,199,207,208,210,5175,221,5175,1743,200, + 201,45,1110,339,570,2304,524,5175,509,202, + 203,204,205,291,292,293,294,3646,654,1743, + 209,2304,206,339,339,199,207,208,210,1667, + 154,3440,2619,200,201,5175,2304,3911,570,221, + 2502,1743,212,202,203,204,205,291,292,293, + 294,2903,2903,5175,339,45,2384,2142,3977,4449, + 3412,654,3435,209,2955,206,5175,5175,199,207, + 208,210,5175,3335,2142,45,200,201,5175,1194, + 4051,570,857,1667,5175,486,202,203,204,205, + 291,292,293,294,3158,26,29,701,5175,3809, + 27,711,24,28,23,25,1662,255,22,20, + 49,1667,104,73,74,106,3714,2456,3158,26, + 29,701,2643,3809,27,711,24,28,23,25, + 1662,255,22,20,49,1667,104,73,74,106, + 2428,2465,3158,26,29,701,5175,3809,27,711, + 24,28,23,25,1662,255,22,20,49,1667, + 104,73,74,106,1667,2476,1900,26,29,701, + 3642,4695,27,711,24,28,335,25,5175,225, + 5175,1667,3294,380,381,701,5175,3569,5175,1304, + 380,381,701,1667,231,255,3353,3780,443,45, + 2304,2656,173,1878,5175,2304,524,5175,5175,5175, + 40,1885,1743,267,3846,245,223,224,2400,429, + 47,2053,5175,2400,221,1062,1039,1143,316,318, + 154,288,48,329,289,5175,1332,1039,1531,225, + 2464,179,2049,314,1022,347,3288,3166,209,154, + 206,190,5175,198,207,208,210,5175,168,2690, + 1667,5175,1667,5175,342,1331,1373,345,259,5175, + 5175,270,524,269,268,229,223,224,2028,380, + 381,701,2951,166,167,169,170,171,172,173, + 221,5175,492,1927,3617,2239,154,492,5175,5175, + 235,238,241,244,2806,5175,2464,179,5175,267, + 985,5175,3288,2633,209,5175,206,5175,4745,198, + 207,208,210,5175,168,5175,1969,489,491,5175, + 4820,2234,490,491,345,3323,5175,5175,524,2304, + 3875,330,331,1667,1370,380,381,701,175,166, + 167,169,170,171,172,173,221,221,1370,380, + 381,701,154,2904,5175,281,1914,3049,1667,269, + 268,5175,2464,179,1667,267,66,5175,3288,2433, + 209,400,206,5175,5175,198,207,208,210,267, + 168,2950,1920,5175,1408,401,5175,2428,5175,570, + 431,65,1039,5175,524,347,2049,64,5175,1667, + 1370,380,381,701,186,166,167,169,170,171, + 172,173,221,5175,340,1331,1373,345,154,3279, + 380,381,701,71,1912,269,268,5175,2464,179, + 5175,267,63,808,3288,5175,209,69,206,269, + 268,198,207,208,210,5175,168,1667,5175,3617, + 47,5175,5175,5175,1903,1745,517,42,1885,1062, + 524,288,48,419,289,1667,1332,1039,1399,5175, + 3192,166,167,169,170,171,172,173,221,5175, + 3592,402,404,154,154,1880,380,381,701,70, + 5175,269,268,161,2464,179,327,331,54,5175, + 3288,1504,209,5175,206,2304,5175,198,207,208, + 210,5175,168,5175,1667,1667,47,5175,5175,281, + 1914,1791,603,2400,3617,1062,524,288,48,2099, + 289,1667,1332,1062,1549,5175,189,166,167,169, + 170,171,172,173,221,3180,1920,53,3978,154, + 154,1880,380,381,701,5175,871,154,5175,161, + 2464,179,3399,5175,99,5175,3288,2832,209,5175, + 206,3340,331,198,207,208,210,5175,168,5175, + 5175,5175,47,5175,5175,5175,2145,1837,689,518, + 1062,1062,524,288,48,2811,289,355,1332,1062, + 1441,5175,185,166,167,169,170,171,172,173, + 221,1660,1830,1835,154,154,154,1880,380,381, + 701,1039,1667,159,3723,161,2464,179,3421,1177, + 5175,5175,3288,524,209,5175,206,5175,5175,198, + 207,208,210,5175,168,5175,5175,5175,47,2191, + 5175,339,2237,1062,775,4044,1062,154,524,288, + 48,1911,289,5175,1332,1062,2669,1828,192,166, + 167,169,170,171,172,173,221,154,3617,2903, + 154,1504,154,5175,2701,2304,5175,3748,5175,154, + 3754,5175,2464,179,3905,5175,5175,3855,3288,161, + 209,5175,206,2400,5175,198,207,208,210,5175, + 168,2758,26,29,701,1033,2994,27,711,24, + 28,335,25,5175,5175,3455,331,5175,5175,5175, + 5175,5175,5175,5175,191,166,167,169,170,171, + 172,173,3158,26,29,701,5175,3809,27,711, + 24,28,23,25,1662,255,22,20,49,1667, + 104,73,74,80,5175,5175,2811,5175,4012,5175, + 1062,5175,1143,316,318,5175,5175,355,5175,5175, + 5175,5175,5175,5175,5175,5175,5175,5175,313,1022, + 5175,3409,1830,1835,159,5175,5175,3158,26,29, + 701,870,3809,27,711,24,28,23,25,1662, + 255,22,20,49,1667,104,73,74,79,3158, + 26,29,701,5175,3809,27,711,24,28,23, + 25,1662,255,22,20,49,1667,104,73,74, + 78,3158,26,29,701,5175,3809,27,711,24, + 28,23,25,1662,255,22,20,49,1667,104, + 73,74,77,307,3158,26,29,701,3904,3809, + 27,711,24,28,23,25,1662,255,22,20, + 49,1667,104,73,74,76,5175,5175,1051,1169, + 3158,26,29,701,5175,3809,27,711,24,28, + 23,25,1662,255,22,20,49,1667,104,73, + 74,75,3017,26,29,701,5175,3809,27,711, + 24,28,23,25,1662,255,22,20,49,1667, + 104,73,74,102,3158,26,29,701,5175,3809, + 27,711,24,28,23,25,1662,255,22,20, + 49,1667,104,73,74,108,3158,26,29,701, + 5175,3809,27,711,24,28,23,25,1662,255, + 22,20,49,1667,104,73,74,107,1884,2861, + 29,701,1033,2994,27,711,24,28,335,25, + 3158,26,29,701,5175,3809,27,711,24,28, + 23,25,1662,255,22,20,49,1667,104,73, + 74,105,3158,26,29,701,5175,3809,27,711, + 24,28,23,25,1662,255,22,20,49,1667, + 104,73,74,103,5175,5175,5175,5175,5175,1143, + 316,318,1973,2861,29,701,1033,2994,27,711, + 24,28,335,25,5175,313,1022,5175,5175,1039, + 5175,5175,45,45,5175,3262,2304,2304,1567,2304, + 3875,5175,240,26,29,701,1033,2994,27,711, + 24,28,335,25,339,339,5175,221,5175,5175, + 240,26,29,701,1033,2994,27,711,24,28, + 335,25,2283,1143,316,318,1062,5175,5175,2433, + 2329,400,2903,2903,1062,5175,3617,496,494,313, + 1022,5175,5175,5175,1408,401,5175,5175,5175,570, + 154,5175,1567,1143,316,318,407,2879,154,5175, + 3789,2375,5175,3427,5175,1062,5175,2304,3837,313, + 1022,1143,316,318,5175,5175,5175,5175,5175,5175, + 5175,2675,870,3579,331,339,5175,313,1022,154, + 5175,1488,380,381,701,5175,519,5175,5175,2776, + 1450,326,26,29,701,1033,2994,27,711,24, + 28,335,25,2903,1903,5175,5175,5175,522,5175, + 408,2879,47,1304,380,381,701,5175,5175,5175, + 5175,5175,5175,288,48,5175,289,5175,1332,5175, + 45,402,403,5175,308,1962,380,381,701,995, + 5175,5175,5175,5175,47,1488,380,381,701,5175, + 5175,5175,1143,316,318,288,48,2756,289,3715, + 1332,5175,45,1244,5175,5175,47,524,313,1022, + 5175,1185,5175,5175,5175,5175,47,288,48,5175, + 289,3081,1332,5175,45,339,5175,288,48,5175, + 289,154,1332,2268,45,2526,380,381,701,5175, + 2811,187,5175,718,1062,1304,380,381,701,5175, + 5175,5175,5175,4571,5175,1304,380,381,701,45, + 5175,5175,5175,2304,5175,5175,47,5175,159,45, + 5175,5175,5175,2304,5175,5175,47,288,48,5175, + 289,339,1332,3946,45,5175,47,288,48,5175, + 289,339,1332,2415,45,5175,5175,288,48,5175, + 289,5175,1332,2466,1423,1304,380,381,701,2903, + 5175,5175,5175,2826,3573,3356,380,381,701,2903, + 3463,5175,5175,5175,523,1488,380,381,701,1571, + 5175,1311,5175,2304,3184,524,47,5175,5175,5175, + 5175,5175,3921,5175,5175,5175,47,288,48,5175, + 289,2400,1332,339,45,5175,47,288,48,154, + 289,5175,1332,2730,1609,5175,5175,288,48,187, + 289,5175,1332,3166,1633,1304,380,381,701,5175, + 1571,4571,5175,3658,2304,3184,5175,5175,5175,5175, + 5175,5175,5175,1378,5175,5175,328,524,5175,5175, + 5175,5175,2400,5175,5175,5175,47,1880,380,381, + 701,5175,5175,5175,5175,339,5175,288,48,5175, + 289,154,1332,5175,45,355,5175,5175,5175,5175, + 5175,187,3546,2785,5175,5175,5175,5175,47,3029, + 1830,1835,5175,4571,5175,5175,5175,328,3544,288, + 48,5175,289,5175,1332,5175,1399,5175,5175,5175, + 5175,5175,5175,5175,5175,5175,5175,5175,5175,5175, + 5175,5175,5175,5175,5175,5175,355,5175,5175,5175, + 5175,5175,5175,2908,5175,5175,5175,5175,5175,5175, + 3029,1830,1835,5175,5175,5175,5175,5175,5175,5175, + 5175,5175,5175,5175,5175,5175,5175,5175,5175,5175, + 3561,5175,0,488,3200,0,1,222,0,1, + 1053,0,1,3412,0,1,905,35,0,1, + 771,0,1,4480,0,994,35,0,441,2489, + 0,31,500,0,1374,46,0,905,34,0, + 1374,35,0,31,278,254,0,31,500,278, + 254,0,31,290,0,2483,315,0,1,431, + 0,445,1877,0,444,1956,0,31,290,298, + 0,45,33,0,1,775,0,1,2314,0, + 5206,35,0,905,35,0,1,967,0,1, + 5441,0,1,5440,0,1,5439,0,1,5438, + 0,1,5437,0,1,5436,0,1,5435,0, + 1,5434,0,1,5433,0,1,5432,0,1, + 5431,0,41,5207,0,41,33,0,1,5209, + 222,0,1,35,222,0,5206,33,0,2558, + 124,0,23,507,0,5501,432,0,2980,432, + 0,5184,398,0,290,298,0,1,222,2140, + 0,5184,222,0,2709,89,0,381,29,0, + 380,26,0,35,1053,0,5207,43,0,33, + 43,0,1,5209,0,1,35,0,155,174, + 0,230,3010,0,2558,126,0,2558,125,0, + 222,162,0,1,90,0,5206,5,33,0, + 5675,32,0,5501,93,0,2980,93,0,184, + 3912,0,274,3985,0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -1041,214 +1075,210 @@ 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,0,63,64,65,66,0,0,1, - 3,71,4,5,74,75,76,77,78,79, + 60,0,62,2,64,65,66,0,1,0, + 1,71,3,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,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, + 69,45,46,47,48,49,50,51,52,53, + 54,55,56,57,58,59,60,0,62,2, + 64,65,66,0,1,2,3,4,0,6, 74,75,76,77,78,79,80,81,82,83, 84,85,0,1,2,3,4,5,6,7, 8,9,10,11,12,13,14,15,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, + 38,39,40,41,42,43,0,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,5,0,74,75,76,77, + 58,59,60,0,62,0,64,65,66,0, + 1,2,3,4,0,6,74,75,76,77, 78,79,80,81,82,83,84,85,0,1, 2,3,4,5,6,7,8,9,10,11, 12,13,14,15,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,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, + 42,43,67,45,46,47,48,49,50,51, + 52,53,54,55,56,57,58,59,60,0, + 62,0,64,65,66,0,1,2,3,4, + 97,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,0,45, + 36,37,38,39,40,41,42,43,67,45, 46,47,48,49,50,51,52,53,54,55, - 56,57,58,59,60,0,0,63,64,65, - 66,0,1,0,3,4,5,0,74,75, + 56,57,58,59,60,0,62,88,64,65, + 66,0,1,94,3,4,0,6,74,75, 76,77,78,79,80,81,82,83,84,85, 0,1,2,3,4,5,6,7,8,9, 10,11,12,13,14,15,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, + 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,5,97,74,75,76,77,78,79, + 60,0,62,88,64,65,66,0,1,94, + 3,4,0,6,74,75,76,77,78,79, 80,81,82,83,84,85,0,1,2,3, 4,5,6,7,8,9,10,11,12,13, 14,15,16,17,18,19,20,21,22,23, 24,25,26,27,28,29,30,31,32,33, 34,35,36,37,38,39,40,41,42,43, - 61,45,46,47,48,49,50,51,52,53, - 54,55,56,57,58,59,60,0,0,63, - 64,65,66,0,0,8,9,0,1,6, + 69,45,46,47,48,49,50,51,52,53, + 54,55,56,57,58,59,60,0,62,0, + 64,65,66,0,1,8,9,4,0,6, 74,75,76,77,78,79,80,81,82,83, 84,85,0,1,2,3,4,5,6,7, 8,9,10,11,12,13,14,15,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,59,45,46,47, + 38,39,40,41,42,43,0,45,46,47, 48,49,50,51,52,53,54,55,56,57, - 58,59,60,0,0,63,64,65,66,0, - 86,87,89,90,0,6,74,75,76,77, + 58,59,60,75,62,0,64,65,66,0, + 0,0,93,2,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,48,49,50,51, - 52,53,54,55,56,57,58,59,60,86, - 87,63,64,65,66,0,1,0,89,90, - 5,0,74,75,76,77,78,79,80,81, + 42,43,61,45,46,47,48,49,50,51, + 52,53,54,55,56,57,58,59,60,74, + 62,0,64,65,66,0,86,87,89,90, + 95,96,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, + 36,37,38,39,40,41,42,43,63,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,5,0,74,75, + 56,57,58,59,60,0,62,0,64,65, + 66,0,1,2,3,4,0,6,74,75, 76,77,78,79,80,81,82,83,84,85, 0,1,2,3,4,5,6,7,8,9, - 0,11,12,0,0,1,41,3,4,5, - 119,46,47,48,49,50,51,52,53,54, + 0,11,12,0,0,1,41,3,4,0, + 6,46,47,48,49,50,51,52,53,54, 55,56,0,1,2,3,4,5,6,7, - 0,41,61,43,0,1,46,47,48,49, + 0,41,61,43,67,68,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, + 1,61,3,63,5,0,7,67,68,69, + 70,71,59,73,0,1,0,3,68,5, + 61,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, 5,6,7,8,9,10,11,12,13,14, 15,16,17,18,19,20,21,22,23,24, 25,26,27,28,29,30,31,32,33,34, - 35,36,37,38,39,40,41,42,43,0, + 35,36,37,38,39,40,41,42,43,119, 45,46,47,48,49,50,51,52,53,54, - 55,56,57,0,1,2,3,4,5,64, + 55,56,57,116,117,118,0,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,40,41,42,0,67,45,46,47, + 38,39,40,41,42,47,48,45,46,47, 48,49,50,51,52,53,54,55,56,57, - 0,0,1,70,3,0,64,65,66,0, + 0,0,2,67,68,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,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, + 41,42,0,0,45,46,47,48,49,50, + 51,52,53,54,55,56,57,0,1,68, + 3,0,71,64,65,66,0,1,2,3, 4,5,6,7,8,9,10,11,12,13, 14,15,16,17,18,19,20,21,22,23, 24,25,26,27,28,29,30,31,32,33, 34,35,36,37,38,39,40,41,42,0, - 1,45,46,47,48,49,50,51,52,53, - 54,55,56,57,0,0,2,70,0,0, + 67,45,46,47,48,49,50,51,52,53, + 54,55,56,57,0,0,1,0,86,87, 64,65,66,0,1,2,3,4,5,6, 7,8,9,10,11,12,13,14,15,16, 17,18,19,20,21,22,23,24,25,26, 27,28,29,30,31,32,33,34,35,36, - 37,38,39,40,41,42,47,48,45,46, + 37,38,39,40,41,42,0,0,45,46, 47,48,49,50,51,52,53,54,55,56, - 57,0,0,69,2,67,68,64,65,66, + 57,67,68,0,1,86,87,64,65,66, 0,1,2,3,4,5,6,7,8,9, 10,11,12,13,14,15,16,17,18,19, 20,21,22,23,24,25,26,27,28,29, 30,31,32,33,34,35,36,37,38,39, - 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, + 40,41,42,0,67,45,46,47,48,49, + 50,51,52,53,54,55,56,57,0,0, + 1,3,86,87,64,65,66,0,1,2, 3,4,5,6,7,8,9,10,11,12, 13,14,15,16,17,18,19,20,21,22, 23,24,25,26,27,28,29,30,31,32, 33,34,35,36,37,38,39,40,41,42, 0,0,45,46,47,48,49,50,51,52, - 53,54,55,56,57,0,1,0,3,2, - 0,64,65,66,0,1,2,3,4,5, + 53,54,55,56,57,0,0,0,3,86, + 87,64,65,66,0,1,2,3,4,5, 6,7,8,9,10,11,12,13,14,15, 16,17,18,19,20,21,22,23,24,25, 26,27,28,29,30,31,32,33,34,35, - 36,37,38,39,44,41,116,117,118,0, + 36,37,38,39,63,41,0,0,1,0, 46,47,48,49,50,51,52,53,54,55, - 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,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, + 56,57,0,0,2,69,0,0,64,65, + 66,0,0,2,8,9,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,0, + 1,44,3,41,43,0,70,68,46,47, + 48,49,50,51,52,53,54,55,56,0, + 0,1,61,3,63,5,73,7,67,68, + 69,70,71,0,73,2,0,0,5,2, + 7,8,9,44,11,12,93,86,87,88, + 89,90,91,92,93,94,95,96,97,98, + 99,100,101,102,103,104,105,106,107,108, + 109,110,111,112,113,114,43,41,59,0, + 113,2,46,47,48,49,50,51,52,53, + 54,55,56,73,61,0,63,2,61,0, + 67,68,69,70,71,100,73,0,1,10, + 3,0,5,93,7,0,0,112,3,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,43, + 32,33,34,35,36,37,38,39,40,73, 42,43,0,45,0,1,2,3,4,5, 6,7,8,9,10,11,12,13,14,15, 16,17,18,19,20,21,22,23,24,25, 26,27,28,29,30,31,32,33,34,35, - 36,37,38,39,40,0,42,43,3,45, + 36,37,38,39,40,43,42,43,0,45, 0,1,2,3,4,5,6,7,8,9, 10,11,12,13,14,15,16,17,18,19, 20,21,22,23,24,25,26,27,28,29, 30,31,32,33,34,35,36,37,38,39, - 40,0,42,0,1,45,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, + 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,46,42,0, - 1,45,0,1,2,3,4,5,6,7, + 34,35,36,37,38,39,40,0,42,0, + 1,45,5,0,1,2,3,4,0,6, + 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,70,0,45,0,69,60,69, + 61,0,1,0,0,1,2,3,0,5, + 2,7,0,1,2,3,4,70,6,0, + 0,1,0,73,0,1,2,3,4,5, + 6,7,8,9,10,11,12,13,14,15, + 16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,30,31,32,33,34,35, + 36,37,38,39,40,61,42,0,1,61, + 0,4,0,1,2,3,4,7,6,59, + 0,1,70,3,88,5,67,7,0,1, + 94,67,0,1,2,3,4,5,6,7, 8,9,10,11,12,13,14,15,16,17, 18,19,20,21,22,23,24,25,26,27, 28,29,30,31,32,33,34,35,36,37, - 38,39,40,44,42,0,1,45,0,1, + 38,39,40,61,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, @@ -1275,78 +1305,61 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym 2,3,4,5,6,7,8,9,10,11, 12,13,14,15,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, + 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,1,2, - 3,4,5,6,7,8,9,10,11,12, - 13,14,15,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,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, + 36,37,38,39,40,44,42,0,0,45, 0,1,2,3,4,5,6,7,8,9, 10,11,12,13,14,15,16,17,18,19, 20,21,22,23,24,25,26,27,28,29, - 30,31,32,33,34,35,36,37,38,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, + 30,31,32,33,34,35,36,37,38,39, + 40,0,42,0,1,2,3,4,5,6, + 7,8,9,10,11,12,13,14,15,16, + 17,18,19,20,21,22,23,24,25,26, + 27,28,29,30,31,32,33,34,35,36, + 37,38,39,0,43,88,3,0,5,0, + 7,94,0,95,96,0,1,0,1,0, + 3,2,59,0,1,0,1,0,1,68, + 0,24,0,24,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,40,59,42,0,1, + 2,3,4,5,6,7,8,9,10,11, + 12,13,14,15,16,17,18,19,20,21, + 22,23,24,25,26,27,28,29,30,31, + 32,33,34,35,36,37,38,39,0,0, + 2,0,4,5,0,7,8,9,98,11, + 12,0,0,1,0,3,0,59,0,0, + 0,2,0,25,0,0,1,0,1,71, + 11,12,0,0,0,0,2,4,40,0, + 42,0,41,0,0,10,2,46,47,48, + 49,50,51,52,53,54,55,56,46,61, + 44,63,63,41,44,67,68,69,46,47, + 48,49,50,51,52,53,54,55,56,44, + 61,63,71,59,86,87,88,89,90,91, + 92,59,57,95,96,97,98,99,100,101, + 102,103,104,105,106,107,108,109,110,111, + 0,0,2,0,4,5,3,7,8,9, + 101,11,12,0,1,2,3,4,5,6, + 7,0,1,114,0,25,5,0,1,2, + 3,4,99,6,0,0,1,2,3,4, + 40,6,42,0,115,2,0,0,2,0, + 1,120,3,4,41,6,43,44,0,1, + 59,61,0,63,0,44,63,67,68,69, + 43,58,0,60,0,62,63,5,43,5, + 0,0,0,59,0,72,86,87,88,89, + 90,91,92,44,0,95,96,97,98,99, + 100,101,102,103,104,105,106,107,108,109, + 110,111,0,1,2,3,4,5,6,7, 8,9,10,11,12,13,14,15,16,17, 18,19,20,21,22,23,24,25,26,27, 28,29,30,31,32,33,34,35,36,37, - 38,39,0,1,2,3,4,5,6,7, + 38,39,71,73,70,61,0,93,0,1, + 98,89,90,89,90,0,0,2,2,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, @@ -1354,64 +1367,85 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym 9,10,11,12,13,14,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,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, + 39,0,0,97,2,0,0,2,7,0, + 0,0,2,93,0,0,2,0,3,0, + 0,0,0,0,0,0,0,0,0,0, + 0,2,2,0,115,113,0,1,2,3, + 4,5,6,7,8,9,10,11,12,13, + 14,15,16,17,18,19,20,21,22,23, + 24,25,26,27,28,29,30,31,32,33, + 34,35,36,37,38,61,59,68,63,68, + 61,67,68,63,63,63,63,73,63,61, + 57,0,68,2,0,69,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,9,10,11, + 12,13,14,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,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, - 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, + 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,2,2,0,1,10,0,0,13,14, + 15,16,17,18,19,20,21,22,23,0, + 0,0,1,2,3,4,5,6,7,0, + 0,24,0,0,1,3,41,4,0,1, + 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,44,40,58, + 42,0,0,1,2,3,4,5,6,7, + 0,70,71,72,41,0,0,67,69,46, + 47,48,49,50,51,52,53,54,55,56, + 57,0,0,0,0,0,1,64,65,66, + 63,0,10,68,67,43,44,0,70,0, + 1,2,3,4,5,6,7,116,117,118, + 58,0,46,0,0,2,0,0,91,92, + 0,70,70,71,72,40,44,42,68,0, + 0,0,1,2,3,4,5,6,7,57, + 41,0,43,44,0,1,2,3,4,5, + 6,7,0,70,43,39,0,58,67,60, + 0,62,0,3,99,0,0,70,116,117, + 118,72,41,0,43,44,0,1,2,3, + 4,5,6,7,70,41,69,43,44,58, + 70,60,0,62,2,0,115,2,69,69, + 0,0,58,72,60,4,62,0,0,0, + 0,0,0,61,73,71,72,41,119,43, + 44,0,1,2,3,4,5,6,7,73, + 0,69,59,0,58,0,60,0,62,0, + 0,0,0,0,0,0,0,71,72,0, + 119,0,0,0,1,2,3,4,5,6, + 7,61,41,0,43,44,0,0,0,0, + 63,0,0,0,0,0,0,0,0,58, + 0,60,0,62,0,0,0,0,0,0, + 0,0,71,72,41,0,43,44,0,1, + 2,3,4,5,6,7,0,0,0,0, + 0,58,0,60,0,62,0,0,0,0, + 0,0,0,0,71,72,0,0,0,0, + 0,1,2,3,4,5,6,7,0,41, + 0,43,44,0,1,2,3,4,5,6, + 7,0,0,0,0,0,58,0,60,0, + 62,0,0,0,0,0,0,0,0,71, + 72,41,0,43,44,0,1,2,3,4, + 5,6,7,0,41,63,43,44,58,67, + 60,0,62,0,0,0,0,0,0,0, + 0,58,72,60,0,62,0,0,0,0, + 0,0,0,91,92,72,41,63,43,44, + 0,67,0,0,0,0,0,0,0,0, + 0,0,0,58,0,60,0,62,0,0, + 0,0,0,0,0,91,92,72,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0 }; }; public final static byte termCheck[] = TermCheck.termCheck; @@ -1419,378 +1453,378 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface TermAction { public final static char termAction[] = {0, - 5008,4942,4788,4788,4788,4788,4788,4788,1,1, + 5175,5107,4956,4956,4956,4956,4956,4956,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,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,5111,1,2301,1,1,1,1, + 1,1,1,1,1,1,1,1,571,2011, + 2233,311,576,1329,1,1,1,34,4987,5175, + 5030,5183,5209,546,1246,2189,2629,1961,2614,2131, + 3582,2180,2224,2178,3174,2169,5175,5107,4956,4956, + 4956,4956,4956,4956,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,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,5111, + 1000,2301,1,1,1,1,1,1,1,1, + 1,1,1,1,571,2011,2233,5175,576,1057, + 1,1,1,1,4965,4972,4969,4959,5175,4962, + 1246,2189,2629,1961,2614,2131,3582,2180,2224,2178, + 3174,2169,5175,5107,4956,4956,4956,4956,4956,4956, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,4946,2529,2470,1,1, + 1,1,1,1,1,5111,5175,2301,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, + 571,2011,2233,131,576,5175,1,1,1,1, + 4965,4480,4969,1053,5175,3412,1246,2189,2629,1961, + 2614,2131,3582,2180,2224,2178,3174,2169,5175,5107, + 4956,4956,4956,4956,4956,4956,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,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,5111,3320,2301,1,1,1,1,1,1, + 1,1,1,1,1,1,571,2011,2233,109, + 576,5175,1,1,1,1,4965,4480,4969,1053, + 2273,3412,1246,2189,2629,1961,2614,2131,3582,2180, + 2224,2178,3174,2169,5175,5107,4956,4956,4956,4956, + 4956,4956,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,4946,5008,2470, + 1,1,1,1,1,1,1,5111,5674,2301, 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,571,2011,2233,112,576,4324,1,1, + 1,5175,5033,4346,771,1053,5175,3412,1246,2189, + 2629,1961,2614,2131,3582,2180,2224,2178,3174,2169, + 5175,5107,4956,4956,4956,4956,4956,4956,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,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,5111,5175,2301,1,1,1,1, + 1,1,1,1,1,1,1,1,571,2011, + 2233,285,576,4324,1,1,1,5175,5033,4346, + 771,1053,5175,3412,1246,2189,2629,1961,2614,2131, + 3582,2180,2224,2178,3174,2169,5175,5107,4956,4956, + 4956,4956,4956,4956,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,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,5111, + 1923,2301,1,1,1,1,1,1,1,1, + 1,1,1,1,571,2011,2233,116,576,353, + 1,1,1,5175,905,3133,3108,1053,5175,3412, + 1246,2189,2629,1961,2614,2131,3582,2180,2224,2178, + 3174,2169,5175,5107,4956,4956,4956,4956,4956,4956, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,4946,699,2470,1,1, + 1,1,1,1,1,5111,5175,2301,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, + 571,2011,2233,3012,576,127,1,1,1,113, + 119,315,5527,5005,3522,1,1246,2189,2629,1961, + 2614,2131,3582,2180,2224,2178,3174,2169,5175,5107, + 4956,4956,4956,4956,4956,4956,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,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,5111,1242,2301,1,1,1,1,1,1, + 1,1,1,1,1,1,571,2011,2233,2412, + 576,5175,1,1,1,5175,780,2924,3498,3474, + 2362,2331,1246,2189,2629,1961,2614,2131,3582,2180, + 2224,2178,3174,2169,5175,2140,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,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,5184,2104,2301, 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,571,2011,2233,217,576,5175,1,1, + 1,1,4965,2891,4969,1053,5175,3412,1246,2189, + 2629,1961,2614,2131,3582,2180,2224,2178,3174,2169, + 5175,4993,4993,4993,4993,4993,4993,4993,4993,4993, + 5175,4993,4993,5175,5175,5033,5424,771,5123,317, + 3412,5427,5508,5509,5421,5428,5401,5426,5425,5422, + 5423,5402,5175,5033,4480,771,1053,2980,3412,5501, + 5175,4993,1242,4993,3397,3581,4993,4993,4993,4993, + 4993,4993,4993,4993,4993,4993,4993,5175,2318,431, + 1,4993,1,4997,5008,5175,5008,4993,4993,4993, + 4993,4993,5002,4993,432,35,118,5209,4709,5098, + 1242,5095,908,5182,3133,3108,4993,4993,4993,4993, + 4993,4993,4993,4993,4993,4993,4993,4993,4993,4993, + 4993,4993,4993,4993,4993,4993,4993,4993,4993,4993, + 4993,4993,4993,4993,4993,5175,4956,4956,4956,4956, + 4956,4956,4956,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,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,5150,4952, + 5330,1,1,1,1,1,1,1,1,1, + 1,1,1,5599,5600,5601,23,309,332,1, + 1,1,5175,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,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,3225,5162,1,1, + 1,1,1,1,1,5508,5509,5330,1,1, 1,1,1,1,1,1,1,1,1,1, - 5008,5008,4865,389,5041,5008,1,1,1,5008, + 5175,5175,2483,5092,5092,4462,1,1,1,5175, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,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,123,5175,5330,1,1,1,1,1, + 1,1,1,1,1,1,1,5175,5030,939, + 5209,5175,5183,1,1,1,5175,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,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,122, + 5617,5330,1,1,1,1,1,1,1,1, + 1,1,1,1,5175,5175,905,5175,780,2924, + 1,1,1,5175,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,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,121,5175,5330,1, 1,1,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,2998,3581,5175,4984,780,2924,1,1,1, + 5175,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,45,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,120,2977,5330,1,1,1,1, + 1,1,1,1,1,1,1,1,35,5175, + 994,5209,780,2924,1,1,1,5175,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,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,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, + 5175,5175,5330,1,1,1,1,1,1,1, + 1,1,1,1,1,5175,137,5175,3454,780, + 2924,1,1,1,35,4975,3305,771,620,4209, + 3412,4231,4187,4132,1228,4280,4254,5433,5431,5440, + 5439,5435,5436,5434,5437,5438,5441,5432,5191,3077, + 1591,1626,5193,1620,2630,1625,5194,5192,1584,5187, + 5189,5190,5188,1280,2484,5424,435,46,4984,436, + 5427,5508,5509,5421,5428,5401,5426,5425,5422,5423, + 5402,5566,5175,1,2390,1755,117,5175,757,5567, + 5568,381,216,5117,3133,3108,5117,5175,5117,5117, + 5117,1,5117,5117,381,5433,5431,5440,5439,5435, + 5436,5434,5437,5438,5441,5432,577,5175,1713,1671, + 1629,1587,1545,1503,1461,1419,1377,1335,3919,390, + 4990,605,5209,5424,5117,137,2707,3026,5427,5508, + 5509,5421,5428,5401,5426,5425,5422,5423,5402,1, + 1,5135,5117,5132,5117,2980,358,5501,5117,5117, + 5117,5117,5117,380,5117,5120,218,343,5120,3263, + 5120,5120,5120,35,5120,5120,358,5117,5117,5117, + 5117,5117,5117,5117,5117,5117,5117,5117,5117,5117, + 5117,5117,5117,5117,5117,5117,5117,5117,5117,5117, + 5117,5117,5117,5117,5117,5117,5120,5424,1323,5175, + 5181,3382,5427,5508,5509,5421,5428,5401,5426,5425, + 5422,5423,5402,358,5120,5175,5120,3010,1242,302, + 5120,5120,5120,5120,5120,577,5120,90,1,5476, + 1,5175,5153,358,5153,389,5175,3919,380,5120, + 5120,5120,5120,5120,5120,5120,5120,5120,5120,5120, + 5120,5120,5120,5120,5120,5120,5120,5120,5120,5120, + 5120,5120,5120,5120,5120,5120,5120,5120,5175,1, 1,1,1,1,1,1,1,1,1,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,1,5017,5008,5162,5008,1, + 1,1,1,1,1,1,1,1,1,5182, + 1,5184,5175,5330,5175,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,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,5184,1,162,5175,5330, + 5175,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,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,382,5162, - 5008,1,1,1,1,1,1,1,1,1, + 1,5175,1,162,3711,5330,5175,1,1,1, 1,1,1,1,1,1,1,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,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,5175,1,5175, + 1374,5330,3210,1,4965,4480,4969,1053,495,3412, + 362,4965,2891,4969,1053,1,3412,1,302,341, + 5033,2891,771,1053,2980,3412,5501,417,5476,162, + 5175,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,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,1242,1,2016,5175,5330,111,4452,843,1105, + 1242,5175,8694,5175,341,35,3706,5209,1,2980, + 3706,5501,1,4965,4480,4969,1053,2652,3412,5175, + 5175,1144,5175,162,1,4965,3305,4969,620,4209, + 3412,4231,4187,4132,5036,4280,4254,5063,5069,5042, + 5045,5057,5054,5060,5051,5048,5039,5066,5191,3077, + 1591,1626,5193,1620,2630,1625,5194,5192,1584,5187, + 5189,5190,5188,1280,35,1242,35,5175,994,1242, + 129,3724,1,4965,2891,4969,1053,909,3412,1046, + 93,35,2016,5209,4324,5166,2986,5163,284,5462, + 4346,504,5175,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,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,1242,1,33,5021,5330,5175,1, 1,1,1,1,1,1,1,1,1,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,5207, + 1,41,5075,5330,5175,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,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,5072,1,5175,5086,5330, + 5175,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,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,5207,1,43,5129,5330,5175,1,1,1, 1,1,1,1,1,1,1,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 + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,5126,1,5175, + 9176,5330,5175,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,5207,1,33,5021,5330,5175,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,2741, + 1,5175,5156,5330,5175,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,5207,1,110,128,5330, + 139,5033,3305,771,620,4209,3412,4231,4187,4132, + 967,4280,4254,5433,5431,5440,5439,5435,5436,5434, + 5437,5438,5441,5432,5191,3077,1591,1626,5193,1620, + 2630,1625,5194,5192,1584,5187,5189,5190,5188,1280, + 35,5175,35,35,5033,3305,771,620,4209,3412, + 4231,4187,4132,967,4280,4254,5433,5431,5440,5439, + 5435,5436,5434,5437,5438,5441,5432,5191,3077,1591, + 1626,5193,1620,2630,1625,5194,5192,1584,5187,5189, + 5190,5188,1280,35,5184,4324,5209,5175,2980,5175, + 5501,4346,5175,2362,2331,5175,5206,5175,9142,89, + 5209,5114,3057,5175,5675,5175,8694,5175,1951,4432, + 133,610,5175,1492,5183,1,4965,3305,4969,620, + 4209,3412,4231,4187,4132,5036,4280,4254,5063,5069, + 5042,5045,5057,5054,5060,5051,5048,5039,5066,5191, + 3077,1591,1626,5193,1620,2630,1625,5194,5192,1584, + 5187,5189,5190,5188,1280,35,2850,35,35,5033, + 3305,771,620,4209,3412,4231,4187,4132,967,4280, + 4254,5433,5431,5440,5439,5435,5436,5434,5437,5438, + 5441,5432,5191,3077,1591,1626,5193,1620,2630,1625, + 5194,5192,1584,5187,5189,5190,5188,1280,1,441, + 1275,219,5631,5625,5175,5629,5623,5624,2240,5654, + 5655,5175,423,35,5175,5209,45,3057,31,72, + 33,3191,220,5632,5175,390,5206,5175,5462,5183, + 5236,5237,5175,5175,5175,1,4643,3738,1264,5175, + 1270,184,5424,135,5175,5024,4771,5427,5508,5509, + 5421,5428,5401,5426,5425,5422,5423,5402,5597,1151, + 852,5634,4978,5424,5207,5635,5656,5633,5427,5508, + 5509,5421,5428,5401,5426,5425,5422,5423,5402,1573, + 3601,4981,5183,2689,5645,5644,5657,5626,5627,5650, + 5651,2852,5027,5648,5649,5628,5630,5652,5653,5658, + 5638,5639,5640,5636,5637,5646,5647,5642,5641,5643, + 5175,5175,1275,31,5631,5625,5017,5629,5623,5624, + 1999,5654,5655,1,4956,222,4956,222,222,222, + 222,33,5021,2092,5175,5632,3210,1,4965,4480, + 4969,1053,2202,3412,5175,1,4965,4972,4969,4959, + 1264,4962,1270,5175,2905,3262,5175,5175,4833,5175, + 5033,5169,771,5123,8946,3412,222,4953,5175,3030, + 2872,1151,134,5634,1,5207,500,5635,5656,5633, + 310,571,115,767,114,576,599,3522,5184,3522, + 1,1,5175,3047,5175,5662,5645,5644,5657,5626, + 5627,5650,5651,2617,445,5648,5649,5628,5630,5652, + 5653,5658,5638,5639,5640,5636,5637,5646,5647,5642, + 5641,5643,35,5033,3305,771,620,4209,3412,4231, + 4187,4132,967,4280,4254,5433,5431,5440,5439,5435, + 5436,5434,5437,5438,5441,5432,5191,3077,1591,1626, + 5193,1620,2630,1625,5194,5192,1584,5187,5189,5190, + 5188,1280,5183,160,5569,5011,132,5529,5175,2967, + 2240,3498,3474,3498,3474,230,1,5141,4699,370, + 1,3057,35,5033,3305,771,620,4209,3412,4231, + 4187,4132,967,4280,4254,5433,5431,5440,5439,5435, + 5436,5434,5437,5438,5441,5432,5191,3077,1591,1626, + 5193,1620,2630,1625,5194,5192,1584,5187,5189,5190, + 5188,35,5033,3305,771,620,4209,3412,4231,4187, + 4132,967,4280,4254,5433,5431,5440,5439,5435,5436, + 5434,5437,5438,5441,5432,5191,3077,1591,1626,5193, + 1620,2630,1625,5194,5192,1584,5187,5189,5190,5188, + 1280,130,5175,2273,3361,5175,5175,3976,909,357, + 5175,503,4039,3640,1,46,3706,5175,1374,444, + 5175,5175,5175,5175,283,5175,493,365,344,5175, + 5175,4042,4492,5175,2905,5181,35,5033,3305,771, + 620,4209,3412,4231,4187,4132,967,4280,4254,5433, + 5431,5440,5439,5435,5436,5434,5437,5438,5441,5432, + 5191,3077,1591,1626,5193,1620,2630,1625,5194,5192, + 1584,5187,5189,5190,5188,1242,2011,3160,1374,810, + 5014,337,337,3171,2755,2859,3228,337,3381,1242, + 2413,5175,1334,4500,5175,4453,1147,2271,35,5033, + 3305,771,620,4209,3412,4231,4187,4132,967,4280, + 4254,5433,5431,5440,5439,5435,5436,5434,5437,5438, + 5441,5432,5191,3077,1591,1626,5193,1620,2630,1625, + 5194,5192,1584,5187,5189,5190,5188,1280,35,5033, + 4019,771,620,4209,3412,4231,4187,4132,967,4280, + 4254,5433,5431,5440,5439,5435,5436,5434,5437,5438, + 5441,5432,5191,3077,1591,1626,5193,1620,2630,1625, + 5194,5192,1584,5187,5189,5190,5188,35,5033,3305, + 771,620,4209,3412,4231,4187,4132,967,4280,4254, + 5433,5431,5440,5439,5435,5436,5434,5437,5438,5441, + 5432,5191,3077,1591,1626,5193,1620,2630,1625,5194, + 5192,1584,5187,5189,5190,5188,35,5033,3305,771, + 620,4209,3412,4231,4187,4132,967,4280,4254,5433, + 5431,5440,5439,5435,5436,5434,5437,5438,5441,5432, + 5191,3077,1591,1626,5193,1620,2630,1625,5194,5192, + 1584,5187,5189,5190,5188,5175,4975,398,5209,5175, + 5175,3985,4156,32,5160,802,5175,1,5433,5431, + 5440,5439,5435,5436,5434,5437,5438,5441,5432,5175, + 5175,1,5082,222,5078,222,222,222,222,363, + 5175,563,5175,33,5021,3161,5424,5021,5175,1374, + 5101,5427,5508,5509,5421,5428,5401,5426,5425,5422, + 5423,5402,5566,5175,4975,156,5209,124,5175,757, + 5567,5568,5104,802,222,488,5433,5431,5440,5439, + 5435,5436,5434,5437,5438,5441,5432,2971,4302,1133, + 1193,5175,1,5082,222,5078,222,222,222,222, + 415,222,406,5662,5424,136,423,2988,1200,5427, + 5508,5509,5421,5428,5401,5426,5425,5422,5423,5402, + 5566,510,1,5175,5175,5175,4984,757,5567,5568, + 2585,5175,5024,1797,5089,222,488,26,5352,1, + 4956,222,4956,222,222,222,222,5599,5600,5601, + 1133,174,5597,101,5175,4680,521,409,2531,2504, + 5175,3648,222,405,5662,4302,1573,1193,3693,5175, + 5175,1,4956,222,4956,222,222,222,222,5027, + 8946,1,222,4953,1,4956,222,4956,222,222, + 222,222,98,1839,5138,3170,1,571,2993,767, + 5175,576,497,3205,2202,5175,5175,413,5599,5600, + 5601,5662,8946,35,222,4953,1,4956,222,4956, + 222,222,222,222,2054,8946,2109,222,4953,571, + 5351,767,5175,576,4533,274,2905,5172,908,1881, + 97,5175,571,5662,767,3790,576,5,5175,5175, + 5175,5175,5175,4531,517,214,5662,8946,11,222, + 4953,1,4956,222,4956,222,222,222,222,5182, + 5175,2185,1494,5175,571,5175,767,5175,576,5175, + 5175,5175,5175,5175,5175,5175,5175,214,5662,5175, + 10,5175,5175,1,4956,222,4956,222,222,222, + 222,2147,8946,5175,222,4953,5175,5175,5175,5175, + 33,5175,5175,5175,5175,5175,5175,5175,5175,571, + 5175,767,5175,576,5175,5175,5175,5175,5175,5175, + 5175,5175,213,5662,8946,5175,222,4953,1,4956, + 222,4956,222,222,222,222,5175,5175,5175,5175, + 5175,571,5175,767,5175,576,5175,5175,5175,5175, + 5175,5175,126,5175,214,5662,5175,5175,5175,5175, + 1,4956,222,4956,222,222,222,222,5175,8946, + 5175,222,4953,1,4956,222,4956,222,222,222, + 222,5175,5175,5175,125,5175,571,5175,767,5175, + 576,5175,5175,5175,5175,5175,5175,5175,5175,214, + 5662,8946,5175,222,4953,1,4956,222,4956,222, + 222,222,222,5175,8946,2585,222,4953,571,5144, + 767,5175,576,5175,5175,5175,5175,5175,5175,5175, + 5175,571,5662,767,5175,576,5175,5175,5175,5175, + 5175,5175,5175,2531,2504,5662,8946,2585,222,4953, + 5175,5147,5175,5175,5175,5175,5175,5175,5175,5175, + 5175,5175,5175,571,5175,767,5175,576,5175,5175, + 5175,5175,5175,5175,5175,2531,2504,5662 }; }; public final static char termAction[] = TermAction.termAction; @@ -1798,58 +1832,58 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface Asb { public final static char asb[] = {0, - 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 + 511,1,3,813,256,804,480,1089,732,102, + 511,5,948,207,53,804,1089,509,207,879, + 588,958,509,1043,332,561,572,733,572,634, + 572,731,572,480,572,337,509,3,66,733, + 733,109,337,199,67,66,67,226,637,637, + 64,61,57,57,335,63,656,452,586,152, + 392,588,588,452,509,338,204,43,909,392, + 213,509,637,255,636,636,733,640,509,509, + 509,255,392,66,66,66,337,509,200,66, + 226,637,733,337,298,692,112,332,509,582, + 332,656,452,335,152,152,452,850,200,213, + 637,637,637,255,637,640,640,509,255,509, + 64,632,66,66,66,509,509,200,632,947, + 207,48,48,394,733,263,258,509,1089,392, + 298,691,1089,207,207,207,207,337,1089,281, + 1045,299,299,299,299,299,299,299,299,299, + 588,594,599,596,603,601,608,606,610,609, + 611,154,612,152,626,509,811,582,392,867, + 866,948,384,965,947,586,948,338,509,632, + 509,213,450,198,442,213,637,637,554,509, + 640,632,340,631,509,632,632,509,64,64, + 64,226,67,226,946,946,298,864,864,400, + 401,650,335,767,264,337,509,161,344,691, + 281,480,480,480,480,509,161,392,392,282, + 1049,479,43,281,572,572,42,42,161,1006, + 299,299,299,299,299,299,299,299,299,299, + 299,299,299,299,299,299,299,299,299,298, + 298,298,298,298,298,298,298,298,298,298, + 1006,299,850,582,950,856,735,335,652,282, + 850,43,443,258,557,509,632,299,509,64, + 226,480,480,298,298,656,392,654,394,767, + 263,450,299,450,64,1089,1089,1089,264,1089, + 509,769,64,64,804,509,733,262,392,298, + 631,392,392,948,948,948,948,255,392,299, + 408,337,1045,152,479,298,392,199,201,199, + 392,152,596,596,594,594,594,601,601,601, + 601,599,599,606,603,603,609,608,610,450, + 611,582,856,384,654,200,63,643,299,450, + 62,554,507,509,947,656,392,209,1089,450, + 264,281,281,280,689,281,64,64,1003,767, + 691,1089,1089,1089,1089,509,509,509,43,299, + 480,592,350,392,509,201,43,298,858,64, + 443,299,299,337,552,392,870,735,392,332, + 392,769,64,1089,392,767,1006,1006,1006,1006, + 1089,1089,255,200,392,592,335,509,338,200, + 858,509,48,870,870,392,392,432,264,1003, + 264,64,769,1006,264,261,392,392,392,392, + 161,161,509,593,593,592,1006,350,202,338, + 1089,509,946,870,863,733,733,1082,298,262, + 1005,64,392,392,392,419,161,299,152,509, + 202,657,199,863,863,264,392,1005,64,392, + 152,509,391,863,264,392,480,264 }; }; public final static char asb[] = Asb.asb; @@ -1857,116 +1891,115 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface Asr { public final static byte asr[] = {0, - 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, + 119,0,24,0,62,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,5,43, + 59,3,6,4,44,1,0,67,69,68, + 1,0,59,70,74,0,67,93,73,61, + 2,69,68,43,0,71,14,57,47,15, + 64,50,16,51,52,17,18,53,54,19, + 20,55,65,56,66,21,46,22,48,23, + 13,49,2,7,5,43,58,62,72,41, + 44,6,1,4,3,10,60,0,69,59, + 0,40,42,2,10,27,31,29,26,34, + 14,23,13,19,17,18,20,21,16,15, + 22,35,38,36,37,24,33,28,32,4, + 6,3,11,12,7,5,8,9,25,30, + 1,113,0,67,70,93,68,113,71,43, + 73,13,14,26,40,15,27,28,16,17, + 18,42,29,19,20,30,31,32,39,33, + 34,21,22,23,35,36,37,24,2,11, + 12,7,5,8,9,25,38,10,3,6, + 1,4,0,59,70,3,63,0,62,60, + 119,115,72,6,116,117,118,58,2,7, + 5,4,70,71,43,49,13,14,57,47, 15,64,50,41,16,51,52,17,18,53, 54,19,20,55,65,56,10,66,21,46, - 22,48,23,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, + 22,48,23,3,1,44,0,59,68,0, + 115,120,71,74,58,60,62,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,6,4,5,7,1,3,0,68, + 71,69,0,70,113,73,43,68,0,94, + 88,8,9,89,90,86,87,63,91,92, 95,96,97,98,99,100,112,70,93,69, 102,103,104,105,106,107,108,109,110,111, - 113,71,43,67,1,7,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,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, + 113,71,43,67,1,7,5,3,2,61, + 68,73,0,7,5,6,4,3,1,2, + 67,93,69,68,73,61,0,13,14,15, + 16,17,18,19,20,21,22,23,49,47, + 50,41,51,52,53,54,55,56,46,48, + 43,73,6,1,61,2,7,5,4,3, + 0,43,7,5,4,6,2,1,3,70, + 0,26,40,27,28,42,6,29,30,31, + 32,39,33,34,35,36,37,24,11,12, + 7,5,8,9,4,25,67,38,2,10, + 64,57,65,66,14,23,13,19,17,18, + 20,21,16,15,22,49,54,55,41,53, + 52,50,47,48,51,56,3,46,1,0, + 13,14,47,15,64,50,16,51,52,17, + 18,53,54,19,20,55,65,56,10,66, + 21,46,22,48,23,49,119,6,2,7, + 5,4,43,58,60,62,72,41,1,3, + 44,57,0,1,46,3,116,117,118,0, 14,23,13,19,17,18,20,21,16,15, - 22,10,27,31,29,26,34,61,1,2, - 0 + 22,49,54,55,41,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,63,91,92,95,96,7,97,98, + 99,67,93,73,69,102,103,104,105,106, + 107,108,109,110,111,70,113,43,100,112, + 68,71,0,44,1,3,59,70,0,1, + 71,0,70,61,2,69,68,43,0,4, + 6,2,61,5,7,93,49,13,14,57, + 47,15,64,50,41,16,51,52,17,18, + 53,54,19,20,55,65,56,10,66,21, + 46,22,48,23,1,3,73,0,75,0, + 71,40,42,39,11,12,7,5,8,9, + 4,25,30,2,6,35,38,36,37,24, + 33,28,32,14,23,13,19,17,18,20, + 21,16,15,22,10,27,31,29,26,34, + 3,1,59,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,115,0,13,14, + 26,40,15,27,28,16,17,18,42,29, + 19,20,30,31,32,39,33,34,10,21, + 22,23,35,36,37,24,11,12,8,9, + 25,38,45,7,43,2,3,1,6,4, + 5,0,14,57,47,15,64,50,16,51, + 52,17,18,53,54,19,20,55,65,56, + 10,66,21,46,22,48,23,13,49,2, + 7,43,58,60,62,72,41,63,3,6, + 5,4,1,44,0,47,48,74,2,59, + 70,43,39,67,69,68,73,93,0,47, + 39,48,67,93,69,68,73,0,49,13, + 14,57,47,15,64,50,41,16,51,52, + 17,18,53,54,19,20,55,65,56,10, + 66,21,46,22,48,23,1,3,42,40, + 8,9,5,89,90,97,7,98,4,25, + 63,105,106,102,103,104,110,109,111,87, + 86,107,108,95,96,91,92,99,100,11, + 12,88,101,2,61,69,68,67,0,6, + 39,74,1,4,3,47,48,59,70,93, + 113,73,71,43,61,2,114,94,101,88, + 11,12,7,5,8,9,89,90,86,87, + 63,91,92,95,96,97,98,99,100,112, + 102,103,104,105,106,107,108,109,110,111, + 67,68,69,0,73,13,14,26,15,27, + 28,16,17,18,29,19,20,30,31,32, + 39,33,34,10,21,22,23,35,36,37, + 24,2,11,12,7,5,8,9,25,3, + 38,45,4,6,1,42,40,0,40,42, + 11,12,8,9,25,30,35,38,36,37, + 24,33,28,32,14,23,13,19,17,18, + 20,21,16,15,22,10,27,31,29,26, + 34,7,5,61,4,6,1,3,2,0 }; }; public final static byte asr[] = Asr.asr; @@ -1974,58 +2007,58 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface Nasb { public final static char nasb[] = {0, - 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,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,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, + 128,12,12,182,12,120,95,12,24,15, + 182,117,12,12,117,113,12,63,12,196, + 12,12,163,27,113,219,220,12,220,145, + 220,103,220,212,12,103,163,12,117,12, + 12,12,103,103,182,117,182,117,117,49, + 180,47,56,56,58,12,117,117,36,72, + 244,12,12,117,151,12,12,139,198,244, + 117,147,117,246,117,12,12,117,246,163, + 151,12,244,128,117,117,103,246,246,128, + 256,49,13,141,78,8,68,206,163,117, + 113,256,17,58,72,72,17,200,10,235, + 117,117,39,53,39,117,222,233,53,148, + 180,45,182,128,128,246,93,10,45,12, + 12,32,32,111,13,90,12,246,12,244, + 8,117,12,12,12,12,12,103,12,192, + 163,8,8,6,8,8,8,8,8,8, 12,12,12,12,12,12,12,12,12,12, - 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 + 12,8,12,72,12,163,12,76,244,12, + 12,12,154,12,12,209,12,12,247,45, + 163,180,12,15,119,235,39,39,133,148, + 222,45,12,12,148,45,45,93,180,12, + 180,256,182,117,12,12,8,12,12,56, + 56,111,58,117,167,141,63,108,12,41, + 192,21,21,21,21,163,108,244,244,1, + 8,66,139,192,12,12,85,85,108,175, + 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, + 175,8,139,117,76,117,256,58,154,17, + 200,139,228,12,240,246,45,8,222,180, + 256,21,21,8,8,117,244,254,204,126, + 172,12,8,12,180,12,12,12,173,12, + 12,178,180,180,117,12,74,12,244,8, + 45,244,244,12,12,12,12,138,244,8, + 12,103,163,72,21,78,244,9,163,9, + 244,72,12,12,12,12,12,12,12,12, + 12,12,12,12,12,12,12,12,12,12, + 12,76,76,158,254,10,180,12,8,12, + 83,224,226,63,12,256,244,81,12,12, + 173,250,250,187,12,250,180,180,12,117, + 41,12,12,12,12,148,233,163,139,8, + 21,117,105,244,163,151,139,8,117,180, + 228,8,8,103,12,244,117,21,244,113, + 244,189,180,12,244,126,175,175,175,175, + 12,12,137,148,244,34,209,151,12,148, + 51,246,32,117,76,244,244,117,173,12, + 173,180,189,175,173,81,244,244,244,244, + 108,108,148,61,61,12,175,209,12,12, + 12,63,12,76,117,74,74,111,8,12, + 189,180,244,244,244,12,108,8,72,151, + 12,242,9,117,51,173,244,189,180,244, + 72,151,244,51,173,244,21,173 }; }; public final static char nasb[] = Nasb.nasb; @@ -2033,32 +2066,32 @@ 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,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 + 148,146,122,145,144,1,2,12,5,7, + 3,0,154,0,151,0,5,7,3,12, + 4,50,0,1,42,0,3,7,1,2, + 0,113,0,175,0,4,188,0,114,0, + 12,3,7,5,65,0,179,0,153,0, + 125,0,1,66,0,79,0,5,103,0, + 139,0,3,31,0,170,0,12,3,7, + 5,88,0,56,0,57,0,4,28,0, + 116,0,185,0,5,3,7,138,0,4, + 65,0,43,0,3,148,147,146,122,145, + 144,143,5,0,4,174,0,4,102,0, + 100,99,5,7,3,78,4,0,39,5, + 7,3,4,62,0,155,0,106,4,44, + 64,0,5,130,186,0,1,135,66,0, + 164,5,163,0,5,49,1,3,2,0, + 3,89,0,99,100,4,0,100,99,5, + 67,0,49,3,47,0,4,44,38,176, + 0,65,44,80,4,38,0,4,38,39, + 0,4,44,64,68,0,44,48,4,107, + 0,4,50,38,0,4,50,166,0,66, + 137,136,0,100,99,7,3,78,5,67, + 0,3,5,122,118,119,120,121,12,93, + 0,124,0,5,160,130,0,78,5,3, + 7,4,1,0,4,44,64,59,5,129, + 0,50,4,33,0,58,3,47,0,4, + 50,117,0,5,103,4,22,0 }; }; public final static char nasr[] = Nasr.nasr; @@ -2066,13 +2099,13 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface TerminalIndex { public final static char terminalIndex[] = {0, - 115,2,32,14,81,11,10,12,13,102, + 115,2,32,14,11,81,10,12,13,102, 8,9,50,54,62,70,76,77,88,89, 104,107,109,114,15,57,63,69,86,90, 92,96,99,101,111,112,113,46,97,60, 68,80,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, + 1,48,20,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, 22,23,33,5,24,25,26,27,28,29, @@ -2086,25 +2119,25 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface NonterminalIndex { public final static char nonterminalIndex[] = {0, - 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,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,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,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,227,239,240, + 135,137,238,0,0,136,234,134,0,133, + 0,145,0,132,0,0,144,149,0,0, + 150,180,159,160,161,162,163,152,164,165, + 138,166,127,167,168,169,0,131,129,170, + 0,197,143,0,0,0,140,177,139,153, + 0,0,0,0,147,173,187,0,179,0, + 203,204,0,0,128,0,156,178,0,0, + 0,0,0,0,0,0,201,205,206,172, + 0,0,0,0,0,0,0,126,148,176, + 0,0,186,0,0,212,158,208,209,210, + 0,0,202,0,0,130,0,207,0,0, + 0,211,0,0,0,241,175,189,190,191, + 192,193,195,196,0,214,217,219,220,0, + 237,0,240,0,0,141,142,146,0,155, + 0,171,181,182,183,184,185,188,0,194, + 0,199,0,215,216,0,221,224,226,228, + 0,231,232,233,0,235,236,239,0,0, + 151,0,0,154,157,174,0,198,200,213, + 218,0,222,223,225,227,229,230,242,243, 0,0,0,0,0,0,0,0 }; }; @@ -2113,18 +2146,18 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface ScopePrefix { public final static char scopePrefix[] = { - 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 + 138,580,599,359,531,547,558,569,339,71, + 244,258,280,286,292,42,269,384,422,474, + 146,588,367,20,51,77,114,174,275,298, + 309,320,250,264,27,499,349,320,607,27, + 196,223,1,14,61,93,128,303,316,325, + 332,440,467,492,523,527,617,621,625,84, + 7,84,128,402,418,431,451,514,431,483, + 538,554,565,576,186,373,56,56,135,201, + 204,56,218,239,204,56,336,446,464,471, + 135,640,97,211,406,458,56,103,103,211, + 56,393,211,156,91,444,629,636,629,636, + 65,412,121,91,91,228 }; }; public final static char scopePrefix[] = ScopePrefix.scopePrefix; @@ -2132,18 +2165,18 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface ScopeSuffix { public final static char scopeSuffix[] = { - 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 + 18,5,5,346,5,5,5,5,346,59, + 119,82,119,119,119,48,255,390,428,480, + 152,67,354,25,25,82,119,179,119,119, + 314,314,255,88,38,504,354,594,612,32, + 190,190,5,18,5,82,119,307,307,307, + 82,119,221,5,5,5,5,5,221,638, + 11,88,132,346,346,346,455,504,435,487, + 542,542,542,542,190,377,59,59,5,5, + 207,209,221,5,242,209,82,449,5,221, + 5,5,100,329,409,461,496,106,110,214, + 518,396,508,159,82,82,631,631,633,633, + 67,414,123,181,166,230 }; }; public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix; @@ -2151,18 +2184,18 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface ScopeLhs { public final static char scopeLhs[] = { - 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,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 + 59,17,17,84,17,17,17,17,84,160, + 71,46,76,75,120,60,53,84,83,19, + 59,17,84,2,6,157,118,59,74,120, + 119,121,54,46,132,138,84,17,17,132, + 101,62,134,87,163,157,127,119,119,121, + 48,56,175,18,17,17,17,17,17,11, + 116,157,127,84,83,83,37,138,83,19, + 17,17,17,17,101,84,164,160,179,99, + 108,63,79,61,90,121,85,81,141,175, + 173,16,157,121,117,21,138,128,128,67, + 138,84,138,59,157,82,136,49,136,49, + 163,117,118,59,59,62 }; }; public final static char scopeLhs[] = ScopeLhs.scopeLhs; @@ -2171,15 +2204,15 @@ 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,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, + 71,43,71,71,71,67,1,73,120,73, + 59,2,43,67,67,43,71,59,71,71, + 1,1,1,1,67,3,43,1,1,67, + 73,73,73,115,73,43,71,1,1,1, + 43,71,113,73,73,73,73,73,113,1, + 73,1,68,73,73,73,70,3,73,2, 67,67,67,67,73,43,1,1,73,73, 2,1,113,73,1,1,43,70,73,113, - 73,73,1,44,69,73,4,1,1,6, + 73,73,1,44,69,73,4,1,1,5, 1,75,44,74,43,43,3,3,3,3, 2,1,59,1,1,2 }; @@ -2189,18 +2222,18 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface ScopeStateSet { public final static char scopeStateSet[] = { - 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 + 297,184,184,262,184,184,184,184,262,24, + 285,273,285,285,102,297,275,262,262,184, + 297,184,262,120,162,308,102,297,285,102, + 102,102,275,273,49,19,262,184,184,49, + 70,106,4,262,30,308,246,102,102,102, + 250,33,8,184,184,184,184,184,184,166, + 14,308,246,262,262,262,216,19,262,184, + 184,184,184,184,70,262,30,24,78,70, + 72,106,66,106,110,102,262,262,1,8, + 22,184,308,102,10,185,19,102,102,53, + 19,262,19,297,308,262,27,80,27,80, + 30,10,102,297,297,106 }; }; public final static char scopeStateSet[] = ScopeStateSet.scopeStateSet; @@ -2209,69 +2242,70 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface ScopeRhs { public final static char scopeRhs[] = {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,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,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 + 127,173,0,128,180,74,0,216,0,289, + 128,63,127,0,21,0,291,128,63,44, + 0,21,55,0,34,132,0,21,55,0, + 0,291,128,63,44,188,0,21,178,0, + 289,128,63,131,0,182,129,0,138,0, + 226,2,288,0,288,0,2,0,127,0, + 182,129,254,253,254,0,132,190,173,129, + 0,129,0,190,173,129,0,134,129,0, + 168,0,307,128,168,0,128,168,0,222, + 129,0,173,246,0,137,0,0,0,135, + 0,0,0,306,128,59,252,0,128,0, + 252,0,3,0,0,128,0,305,128,59, + 0,45,128,0,152,2,0,128,278,277, + 128,74,186,168,0,277,128,74,186,168, + 0,215,0,216,0,186,168,0,98,0, + 0,215,0,216,0,204,98,0,0,215, + 0,216,0,277,128,186,168,0,215,0, + 204,0,0,215,0,234,128,2,0,127, + 0,0,0,0,0,234,128,2,223,0, + 232,2,0,227,128,0,208,0,148,0, + 173,129,0,11,0,0,0,221,61,0, + 126,0,234,128,2,185,0,185,0,2, + 0,0,127,0,0,0,0,0,214,2, + 0,201,0,233,128,59,24,41,0,182, + 129,60,58,0,143,129,0,132,182,129, + 275,58,0,182,129,275,58,0,182,129, + 69,1,60,0,233,128,59,60,0,233, + 128,59,166,60,0,233,128,59,125,60, + 0,273,128,59,1,64,0,273,128,59, + 64,0,182,129,64,0,135,0,190,182, + 129,246,0,137,0,182,129,246,0,190, + 173,129,10,0,173,129,10,0,95,137, + 0,301,128,168,0,162,84,0,231,163, + 231,172,2,81,0,127,172,0,231,172, + 2,81,0,129,0,127,172,0,231,163, + 231,163,231,2,81,0,231,163,231,2, + 81,0,231,2,81,0,129,0,129,0, + 127,172,0,162,2,75,204,80,0,127, + 129,0,204,80,0,110,2,131,127,129, + 0,241,2,75,0,214,174,0,34,170, + 0,174,0,176,34,170,0,241,2,85, + 0,204,157,241,2,83,0,64,172,0, + 241,2,83,0,127,172,64,172,0,300, + 128,59,0,162,0,221,77,0,31,0, + 162,112,160,0,31,170,0,179,2,0, + 127,150,0,226,2,0,221,61,299,0, + 162,61,0,179,2,294,42,129,0,127, + 0,0,294,42,129,0,2,147,127,0, + 0,179,2,30,0,14,148,0,126,44, + 173,129,0,32,14,148,0,95,137,32, + 14,148,0,213,182,129,0,148,32,14, + 148,0,179,2,34,0,162,2,34,0, + 162,2,67,179,63,26,0,179,63,26, + 0,21,2,131,127,0,162,2,67,179, + 63,29,0,179,63,29,0,162,2,67, + 179,63,31,0,179,63,31,0,162,2, + 67,179,63,27,0,179,63,27,0,226, + 2,126,190,173,129,10,0,126,190,173, + 129,10,0,137,2,0,127,0,226,2, + 125,259,173,129,10,0,259,173,129,10, + 0,135,2,0,127,0,226,2,136,0, + 226,2,141,0,162,61,141,0,261,0, + 32,0,32,141,0,171,0,134,0,162, + 2,0 }; }; public final static char scopeRhs[] = ScopeRhs.scopeRhs; @@ -2279,37 +2313,37 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface ScopeState { public final static char scopeState[] = {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 + 2474,1039,0,1878,1194,970,0,856,0,4833, + 4771,4643,0,1709,2912,1541,2562,0,2092,1999, + 0,1193,0,3693,2652,0,3711,3454,0,3026, + 2707,0,4044,3978,3912,2239,1927,3846,3780,3714, + 3648,1246,3582,3155,3020,704,552,0,3576,3581, + 2779,0,3158,2662,4820,2908,3546,4769,3070,2916, + 557,2486,981,1033,0,1373,1331,1143,1022,2908, + 3546,2955,3706,2891,2903,2400,0,870,0,4815, + 4847,4007,4765,4755,4745,3941,3875,4695,3809,4685, + 4675,3184,4625,4615,2749,4593,4561,3569,2806,2994, + 0,524,3562,2304,0,3546,2433,981,654,2955, + 4571,4432,4368,2891,2400,4462,4480,4101,0,3790, + 3738,2785,2976,4815,2971,3724,2741,3658,4847,4007, + 2235,2730,4765,4755,4745,3941,2466,2198,1322,3875, + 2428,4695,3809,4685,4675,852,3184,4625,4615,3166, + 2749,4593,4561,647,2826,3569,3562,2806,2994,1053, + 2304,1189,718,566,771,2185,2955,4571,4432,2617, + 2318,3546,4368,2092,1999,2891,2433,2400,4462,981, + 4480,4101,654,2630,4402,4380,577,2202,2273,2240, + 2362,2331,909,2924,780,2585,2558,2531,2504,3522, + 3498,3474,3133,3108,4346,4324,4302,4280,4254,4231, + 4209,4187,4132,620,3077,2147,1881,2109,2054,1839, + 2016,1797,1961,1200,1147,1923,810,1755,1713,1671, + 1629,1587,1545,1503,1461,1419,1377,1335,524,1105, + 1280,1062,729,673,1242,939,866,1000,0,3262, + 3397,2814,2771,3354,2694,2651,3320,3277,3243,3200, + 2612,4044,3978,3912,3846,3780,3714,3648,3582,3155, + 3020,0,3715,4455,4044,3978,3912,3846,3780,3714, + 3648,3582,3155,3020,3397,2814,2771,3354,2694,2651, + 3320,3277,3243,3200,2612,0,3397,2814,2771,3354, + 2694,2651,3320,3277,3243,3200,2612,3715,4455,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -2317,58 +2351,58 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface InSymb { public final static char inSymb[] = {0, - 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,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,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,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,40,42,172, - 2,126,125,101,114,2,61,88,94,9, - 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, - 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 + 0,293,41,44,188,168,128,62,60,58, + 230,24,63,44,186,128,185,4,127,6, + 131,1,129,3,2,267,268,252,269,246, + 270,64,271,272,1,10,129,2,59,166, + 125,1,60,275,128,59,67,63,74,128, + 301,214,202,185,128,302,2,63,174,61, + 2,40,42,63,182,171,1,173,6,214, + 59,173,237,129,126,125,1,59,129,129, + 182,173,24,128,59,59,69,129,129,128, + 128,128,277,70,2,69,61,227,129,5, + 68,128,128,128,61,61,128,3,190,128, + 126,125,128,182,128,59,128,182,173,44, + 157,233,230,128,128,129,182,182,233,291, + 44,10,57,146,277,59,287,129,288,152, + 128,59,34,26,29,31,27,10,136,2, + 129,30,25,4,9,8,5,7,12,11, + 141,147,149,148,151,150,154,153,158,156, + 159,39,160,221,160,129,173,128,234,235, + 236,289,174,134,292,227,289,261,190,306, + 129,183,253,58,168,308,128,128,70,190, + 128,273,248,274,190,233,233,182,167,1, + 132,68,67,63,237,237,69,232,214,223, + 224,2,128,278,128,68,182,2,266,128, + 2,63,63,63,63,129,2,179,162,128, + 40,42,173,2,126,125,101,114,2,61, + 88,94,9,8,90,89,5,92,91,67, + 63,86,87,7,96,95,98,97,99,111, + 110,109,108,107,106,105,104,103,102,69, + 112,100,173,5,181,157,68,128,2,68, + 3,173,128,310,254,129,273,69,68,167, + 128,69,69,69,69,2,232,128,227,128, + 300,79,77,1,162,85,83,81,80,75, + 82,84,78,76,168,60,74,45,226,68, + 305,179,162,179,179,179,179,173,226,157, + 136,10,129,61,294,2,179,44,129,44, + 226,162,148,148,147,147,147,150,150,150, + 150,149,149,153,151,151,156,154,158,162, + 159,128,128,227,128,190,307,125,70,283, + 214,68,253,182,291,128,234,279,115,221, + 70,2,2,2,204,2,1,162,1,180, + 68,67,67,67,67,190,259,129,173,212, + 2,295,174,152,129,182,173,70,228,132, + 68,70,69,254,67,234,157,2,241,174, + 241,172,231,75,241,128,2,2,2,2, + 126,125,173,44,179,128,128,4,213,44, + 128,129,57,157,128,93,313,174,157,214, + 157,231,163,2,157,279,162,162,162,162, + 2,2,190,157,296,299,61,191,3,126, + 39,182,237,128,228,157,157,128,69,204, + 163,231,162,226,226,126,2,61,162,4, + 3,2,69,228,128,120,231,163,157,226, + 221,4,314,128,157,231,68,157 }; }; public final static char inSymb[] = InSymb.inSymb; @@ -2508,6 +2542,7 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym ";", "declaration_seq", "expression", + "id_expression", "qualified_or_unqualified_name", "unqualified_id_name", "identifier_name", @@ -2607,9 +2642,11 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym "member_declaration_list", "member_declarator", "constant_initializer", + "bit_field_declarator", "base_specifier_list", "base_specifier", "conversion_type_id", + "conversion_declarator", "mem_initializer_list", "mem_initializer", "mem_initializer_name", @@ -2640,20 +2677,20 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public final int getMaxNameLength() { return MAX_NAME_LENGTH; } public final static int - NUM_STATES = 513, + NUM_STATES = 518, NT_OFFSET = 124, - LA_STATE_OFFSET = 5531, + LA_STATE_OFFSET = 5698, MAX_LA = 2147483647, NUM_RULES = 523, NUM_NONTERMINALS = 198, NUM_SYMBOLS = 322, SEGMENT_SIZE = 8192, - START_STATE = 2428, + START_STATE = 2612, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 119, EOLT_SYMBOL = 119, - ACCEPT_ACTION = 4784, - ERROR_ACTION = 5008; + ACCEPT_ACTION = 4952, + ERROR_ACTION = 5175; 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 28d9fd3474b..b8a99338a38 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParsersym.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParsersym.java @@ -15,7 +15,7 @@ package org.eclipse.cdt.internal.core.dom.lrparser.cpp; public interface CPPParsersym { public final static int - TK_asm = 63, + TK_asm = 62, TK_auto = 49, TK_bool = 13, TK_break = 76, @@ -48,7 +48,7 @@ public interface CPPParsersym { TK_mutable = 53, TK_namespace = 60, TK_new = 42, - TK_operator = 5, + TK_operator = 6, TK_private = 116, TK_protected = 117, TK_public = 118, @@ -97,7 +97,7 @@ public interface CPPParsersym { TK_PlusPlus = 11, TK_MinusMinus = 12, TK_And = 7, - TK_Star = 6, + TK_Star = 5, TK_Plus = 8, TK_Minus = 9, TK_Tilde = 4, @@ -106,7 +106,7 @@ public interface CPPParsersym { TK_Percent = 90, TK_RightShift = 86, TK_LeftShift = 87, - TK_LT = 62, + TK_LT = 63, TK_GT = 67, TK_LE = 91, TK_GE = 92, @@ -146,8 +146,8 @@ public interface CPPParsersym { "LeftParen", "ColonColon", "Tilde", - "operator", "Star", + "operator", "And", "Plus", "Minus", @@ -203,8 +203,8 @@ public interface CPPParsersym { "LeftBrace", "namespace", "LeftBracket", - "LT", "asm", + "LT", "enum", "struct", "union",