diff options
author | Mike Kucera | 2009-02-02 17:22:06 +0000 |
---|---|---|
committer | Mike Kucera | 2009-02-02 17:22:06 +0000 |
commit | 62e51214acdb699ef7543af2ba8d11098ab3d906 (patch) | |
tree | c6239d6a2f898ad528e4489d13a137a2b83dc80f /lrparser | |
parent | fb5c539efc8b0f3cb35cbc8c4414244be9dce84e (diff) | |
download | org.eclipse.cdt-62e51214acdb699ef7543af2ba8d11098ab3d906.tar.gz org.eclipse.cdt-62e51214acdb699ef7543af2ba8d11098ab3d906.tar.xz org.eclipse.cdt-62e51214acdb699ef7543af2ba8d11098ab3d906.zip |
support for GNU declaration specifiers (typeof) for LR parsers
Diffstat (limited to 'lrparser')
35 files changed, 12174 insertions, 11666 deletions
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99Grammar.g b/lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99Grammar.g index b76e4234546..e7cff24a0ae 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99Grammar.g +++ b/lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99Grammar.g @@ -24,10 +24,8 @@ $Terminals integer floating charconst stringlit -- identifiers - -- Special token that represents identifiers that have been declared as typedefs (lexer feedback hack) identifier - --TypedefName -- Special tokens used in content assist @@ -149,6 +147,10 @@ $Rules -- Expressions ------------------------------------------------------------------------------------------- +identifier_token + ::= 'identifier' + | 'Completion' + literal ::= 'integer' @@ -169,9 +171,8 @@ primary_expression /. $Build consumeExpressionBracketed(); $EndBuild ./ -primary_expression_id -- Typedefname not allowed as a variable name. - ::= 'identifier' - | 'Completion' +primary_expression_id + ::= identifier_token postfix_expression @@ -197,9 +198,7 @@ comma_opt member_name - ::= 'identifier' - -- | 'TypedefName' - | 'Completion' + ::= identifier_token unary_expression @@ -523,8 +522,8 @@ enum_declaration_specifiers typdef_name_declaration_specifiers - ::= typedef_name_in_declspec - | no_type_declaration_specifiers typedef_name_in_declspec + ::= type_name_specifier + | no_type_declaration_specifiers type_name_specifier | typdef_name_declaration_specifiers no_type_declaration_specifier @@ -575,19 +574,11 @@ simple_type_specifier_token | '_Imaginary' -typedef_name_in_declspec - ::= 'Completion' - /. $Build consumeToken(); $EndBuild ./ - | 'identifier' +type_name_specifier + ::= identifier_token /. $Build consumeToken(); $EndBuild ./ - -- | 'TypedefName' -- remove identifier if this is uncommented - -identifier_token - ::= 'identifier' - | 'Completion' - struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook '{' <openscope-ast> struct_declaration_list_opt '}' diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/gnu/GNUExtensions.g b/lrparser/org.eclipse.cdt.core.lrparser/grammar/gnu/GNUExtensions.g index b7acd7c967a..7d68e207f24 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/gnu/GNUExtensions.g +++ b/lrparser/org.eclipse.cdt.core.lrparser/grammar/gnu/GNUExtensions.g @@ -42,7 +42,7 @@ $Define gnuAction = new $gnu_action_class (this, tu, astStack, $node_factory_create_expression); gnuAction.setParserOptions(options); - + gnuAction.setBaseAction(action); ./ $End @@ -146,7 +146,22 @@ unary_expression | 'typeof' '(' type_id ')' /. $Build consumeExpressionTypeId(IASTTypeIdExpression.op_typeof); $EndBuild ./ - - + + + +typeof_type_specifier + ::= 'typeof' unary_expression + + +typeof_declaration_specifiers + ::= typeof_type_specifier + | no_type_declaration_specifiers typeof_type_specifier + | typeof_declaration_specifiers no_type_declaration_specifier + + +declaration_specifiers + ::= <openscope-ast> typeof_declaration_specifiers + /. $BeginAction gnuAction.consumeDeclarationSpecifiersTypeof(); $EndAction ./ + $End diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/gpp/GPPGrammar.g b/lrparser/org.eclipse.cdt.core.lrparser/grammar/gpp/GPPGrammar.g index ad1d14a61ef..b79ab11aa1a 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/gpp/GPPGrammar.g +++ b/lrparser/org.eclipse.cdt.core.lrparser/grammar/gpp/GPPGrammar.g @@ -14,6 +14,15 @@ %options template=FixedBtParserTemplateD.g +$Terminals + + -- GCC allows these C99 keywords to be used in C++ + + _Complex _Imaginary + +$End + + -- For this to work the environment variable LPG_INCLUDE must be set up -- to point at the directory where the CPPParser.g file is located. $Import @@ -25,6 +34,10 @@ $DropRules asm_definition ::= 'asm' '(' 'stringlit' ')' ';' +-- need to replace the action associated with this rule with one that supports _Complex and _Imaginary +declaration_specifiers + ::= <openscope-ast> simple_declaration_specifiers + $End @@ -35,14 +48,14 @@ $End $Globals /. - import org.eclipse.cdt.core.dom.lrparser.action.gnu.GNUBuildASTParserAction; + import org.eclipse.cdt.core.dom.lrparser.action.gnu.GPPBuildASTParserAction; import org.eclipse.cdt.core.dom.lrparser.action.gnu.GPPSecondaryParserFactory; ./ $End $Define - $gnu_action_class /. GNUBuildASTParserAction ./ + $gnu_action_class /. GPPBuildASTParserAction ./ $parser_factory_create_expression /. GPPSecondaryParserFactory.getDefault() ./ $End @@ -85,5 +98,16 @@ declarator elaborated_specifier_hook ::= attribute_or_decl_specifier_seq - + + +simple_type_specifier + ::= '_Complex' + /. $Build consumeToken(); $EndBuild ./ + | '_Imaginary' + /. $Build consumeToken(); $EndBuild ./ + +declaration_specifiers + ::= <openscope-ast> simple_declaration_specifiers + /. $BeginAction gnuAction.consumeDeclarationSpecifiersSimple(); $EndAction ./ + $End
\ No newline at end of file diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/c99/C99BuildASTParserAction.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/c99/C99BuildASTParserAction.java index 400e84ad133..4c0a94f782c 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/c99/C99BuildASTParserAction.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/c99/C99BuildASTParserAction.java @@ -191,7 +191,7 @@ public class C99BuildASTParserAction extends BuildASTParserAction { * Object as the type of the specifier, so that it may be overridden in subclasses * and used with arbitrary objects as the specifier. */ - protected void setSpecifier(ICASTDeclSpecifier node, Object specifier) { + public void setSpecifier(ICASTDeclSpecifier node, Object specifier) { if(!(specifier instanceof IToken)) return; IToken token = (IToken)specifier; @@ -454,7 +454,6 @@ public class C99BuildASTParserAction extends BuildASTParserAction { int kind = baseKind(token); if(kind == TK_identifier || kind == TK_Completion) { IASTName name = createName(token); - //name.setBinding(binding); declSpec.setName(name); } else { 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 946ef393964..13268fed813 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 @@ -1081,7 +1081,11 @@ public class CPPBuildASTParserAction extends BuildASTParserAction { * @param token Allows subclasses to override this method and use any * object to determine how to set a specifier. */ - protected void setSpecifier(ICPPASTDeclSpecifier node, IToken token) { + public void setSpecifier(ICPPASTDeclSpecifier node, Object specifier) { + if(!(specifier instanceof IToken)) + return; + + IToken token = (IToken)specifier; int kind = baseKind(token); switch(kind){ case TK_typedef: node.setStorageClass(IASTDeclSpecifier.sc_typedef); return; @@ -1123,7 +1127,7 @@ public class CPPBuildASTParserAction extends BuildASTParserAction { ICPPASTDeclSpecifier declSpec = nodeFactory.newSimpleDeclSpecifier(); for(Object token : astStack.closeScope()) - setSpecifier(declSpec, (IToken)token); + setSpecifier(declSpec, token); setOffsetAndLength(declSpec); astStack.push(declSpec); @@ -1141,7 +1145,7 @@ public class CPPBuildASTParserAction extends BuildASTParserAction { // now apply the rest of the specifiers for(Object token : topScope) - setSpecifier(declSpec, (IToken)token); + setSpecifier(declSpec, token); setOffsetAndLength(declSpec); astStack.push(declSpec); @@ -1163,7 +1167,7 @@ public class CPPBuildASTParserAction extends BuildASTParserAction { // now apply the rest of the specifiers for(Object token : topScope) { - setSpecifier(declSpec, (IToken)token); + setSpecifier(declSpec, token); } // the only way there could be a typename token diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/gnu/GCCBuildASTParserAction.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/gnu/GCCBuildASTParserAction.java index 497068be605..9ef4ef8c1bd 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/gnu/GCCBuildASTParserAction.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/gnu/GCCBuildASTParserAction.java @@ -10,18 +10,26 @@ *******************************************************************************/ package org.eclipse.cdt.core.dom.lrparser.action.gnu; +import static org.eclipse.cdt.core.parser.util.CollectionUtils.findFirstAndRemove; + +import java.util.List; + import org.eclipse.cdt.core.dom.ast.IASTExpression; import org.eclipse.cdt.core.dom.ast.IASTName; import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit; import org.eclipse.cdt.core.dom.ast.c.ICASTFieldDesignator; +import org.eclipse.cdt.core.dom.ast.c.ICASTSimpleDeclSpecifier; import org.eclipse.cdt.core.dom.ast.c.ICNodeFactory; import org.eclipse.cdt.core.dom.ast.gnu.c.IGCCASTArrayRangeDesignator; import org.eclipse.cdt.core.dom.lrparser.IParserActionTokenProvider; import org.eclipse.cdt.core.dom.lrparser.action.ScopedStack; +import org.eclipse.cdt.core.dom.lrparser.action.c99.C99BuildASTParserAction; public class GCCBuildASTParserAction extends GNUBuildASTParserAction { private final ICNodeFactory nodeFactory; + + private C99BuildASTParserAction baseAction; public GCCBuildASTParserAction(IParserActionTokenProvider parser, IASTTranslationUnit tu, ScopedStack<Object> astStack, ICNodeFactory nodeFactory) { super(parser, tu, astStack, nodeFactory); @@ -29,6 +37,10 @@ public class GCCBuildASTParserAction extends GNUBuildASTParserAction { } + public void setBaseAction(C99BuildASTParserAction baseAction) { + this.baseAction = baseAction; + } + /** * designator_base * ::= identifier_token ':' @@ -50,4 +62,32 @@ public class GCCBuildASTParserAction extends GNUBuildASTParserAction { setOffsetAndLength(designator); astStack.push(designator); } + + /** + * typeof_type_specifier + * ::= 'typeof' unary_expression + * + * typeof_declaration_specifiers + * ::= typeof_type_specifier + * | no_type_declaration_specifiers typeof_type_specifier + * | typeof_declaration_specifiers no_type_declaration_specifier + * + * declaration_specifiers + * ::= <openscope-ast> typeof_declaration_specifiers + */ + public void consumeDeclarationSpecifiersTypeof() { + List<Object> topScope = astStack.closeScope(); + + // There's an expression somewhere on the stack, find it + IASTExpression expr = findFirstAndRemove(topScope, IASTExpression.class); + ICASTSimpleDeclSpecifier declSpec = nodeFactory.newSimpleDeclSpecifierGCC(expr); + + // now apply the rest of the specifiers + for(Object token : topScope) { + baseAction.setSpecifier(declSpec, token); + } + + setOffsetAndLength(declSpec); + astStack.push(declSpec); + } } diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/gnu/GPPBuildASTParserAction.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/gnu/GPPBuildASTParserAction.java new file mode 100644 index 00000000000..63934db414b --- /dev/null +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/gnu/GPPBuildASTParserAction.java @@ -0,0 +1,118 @@ +/******************************************************************************* + * Copyright (c) 2009 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.cdt.core.dom.lrparser.action.gnu; + +import static org.eclipse.cdt.core.parser.util.CollectionUtils.findFirstAndRemove; + +import java.util.List; + +import lpg.lpgjavaruntime.IToken; + +import org.eclipse.cdt.core.dom.ast.IASTExpression; +import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit; +import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTSimpleDeclSpecifier; +import org.eclipse.cdt.core.dom.ast.cpp.ICPPNodeFactory; +import org.eclipse.cdt.core.dom.ast.gnu.cpp.IGPPASTSimpleDeclSpecifier; +import org.eclipse.cdt.core.dom.lrparser.IParserActionTokenProvider; +import org.eclipse.cdt.core.dom.lrparser.action.ScopedStack; +import org.eclipse.cdt.core.dom.lrparser.action.cpp.CPPBuildASTParserAction; +import org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPParsersym; + +public class GPPBuildASTParserAction extends GNUBuildASTParserAction { + + private final ICPPNodeFactory nodeFactory; + + private CPPBuildASTParserAction baseAction; + + + public GPPBuildASTParserAction(IParserActionTokenProvider parser, IASTTranslationUnit tu, ScopedStack<Object> astStack, ICPPNodeFactory nodeFactory) { + super(parser, tu, astStack, nodeFactory); + this.nodeFactory = nodeFactory; + } + + public void setBaseAction(CPPBuildASTParserAction baseAction) { + this.baseAction = baseAction; + } + + /** + * typeof_type_specifier + * ::= 'typeof' unary_expression + * + * typeof_declaration_specifiers + * ::= typeof_type_specifier + * | no_type_declaration_specifiers typeof_type_specifier + * | typeof_declaration_specifiers no_type_declaration_specifier + * + * declaration_specifiers + * ::= <openscope-ast> typeof_declaration_specifiers + */ + public void consumeDeclarationSpecifiersTypeof() { + List<Object> topScope = astStack.closeScope(); + + // There's an expression somewhere on the stack, find it + IASTExpression expr = findFirstAndRemove(topScope, IASTExpression.class); + IGPPASTSimpleDeclSpecifier declSpec = nodeFactory.newSimpleDeclSpecifierGPP(); + declSpec.setTypeofExpression(expr); + + // now apply the rest of the specifiers + for(Object token : topScope) { + baseAction.setSpecifier(declSpec, token); + } + + setOffsetAndLength(declSpec); + astStack.push(declSpec); + } + + + /** + * Replacement for the method same method in CPPBuildASTParserAction + */ + public void consumeDeclarationSpecifiersSimple() { + boolean isComplex = false; + boolean isImaginary = false; + int numLong = 0; + + List<Object> tokens = astStack.closeScope(); + + for(Object o : tokens) { + if(o instanceof IToken) { + IToken token = (IToken)o; + switch(token.getKind()) { + case GPPParsersym.TK__Complex: isComplex = true; break; + case GPPParsersym.TK__Imaginary: isImaginary = true; break; + case GPPParsersym.TK_long : numLong++; break; + } + } + } + + ICPPASTSimpleDeclSpecifier declSpec; + if(isComplex || isImaginary || numLong > 1) { + IGPPASTSimpleDeclSpecifier gppDeclSpec = nodeFactory.newSimpleDeclSpecifierGPP(); + gppDeclSpec.setComplex(isComplex); + gppDeclSpec.setImaginary(isImaginary); + gppDeclSpec.setLongLong(numLong > 1); + gppDeclSpec.setLong(numLong == 1); + declSpec = gppDeclSpec; + } + else { + declSpec = nodeFactory.newSimpleDeclSpecifier(); + } + + for(Object token : tokens) { + baseAction.setSpecifier(declSpec, token); + } + + setOffsetAndLength(declSpec); + astStack.push(declSpec); + } + + +} diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/gnu/DOMToGPPTokenMap.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/gnu/DOMToGPPTokenMap.java index a0464ec6f1f..9c0e74b1c9b 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/gnu/DOMToGPPTokenMap.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/gnu/DOMToGPPTokenMap.java @@ -176,6 +176,10 @@ public class DOMToGPPTokenMap implements IDOMTokenMap { case IGCCToken.t__attribute__ : return TK___attribute__; case IGCCToken.t__declspec : return TK___declspec; + // GNU supports these but they are not in the C++ spec + case t__Complex : return TK__Complex; + case t__Imaginary : return TK__Imaginary; + default: assert false : "token not recognized by the GPP parser: " + token.getType(); //$NON-NLS-1$ return TK_Invalid; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/gnu/GPPLanguage.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/gnu/GPPLanguage.java index 4e9043f4c56..3962f7f9c2f 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/gnu/GPPLanguage.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/gnu/GPPLanguage.java @@ -16,7 +16,7 @@ import org.eclipse.cdt.core.dom.lrparser.BaseExtensibleLanguage; import org.eclipse.cdt.core.dom.lrparser.IDOMTokenMap; import org.eclipse.cdt.core.dom.lrparser.IParser; import org.eclipse.cdt.core.dom.parser.IScannerExtensionConfiguration; -import org.eclipse.cdt.core.dom.parser.c.GCCScannerExtensionConfiguration; +import org.eclipse.cdt.core.dom.parser.cpp.GPPScannerExtensionConfiguration; import org.eclipse.cdt.core.model.IContributedModelBuilder; import org.eclipse.cdt.core.model.ITranslationUnit; import org.eclipse.cdt.core.parser.ParserLanguage; @@ -51,7 +51,7 @@ public class GPPLanguage extends BaseExtensibleLanguage { @Override protected IScannerExtensionConfiguration getScannerExtensionConfiguration() { - return GCCScannerExtensionConfiguration.getInstance(); + return GPPScannerExtensionConfiguration.getInstance(); } public IContributedModelBuilder createModelBuilder(@SuppressWarnings("unused") ITranslationUnit tu) { diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParser.java index 5b63944e071..f8e132874bc 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParser.java @@ -253,81 +253,81 @@ public C99ExpressionParser(IParserActionTokenProvider parser) { // constructor } // - // Rule 10: literal ::= integer + // Rule 12: literal ::= integer // - case 10: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_integer_constant); break; + case 12: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_integer_constant); break; } // - // Rule 11: literal ::= floating + // Rule 13: literal ::= floating // - case 11: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_float_constant); break; + case 13: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_float_constant); break; } // - // Rule 12: literal ::= charconst + // Rule 14: literal ::= charconst // - case 12: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_char_constant); break; + case 14: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_char_constant); break; } // - // Rule 13: literal ::= stringlit + // Rule 15: literal ::= stringlit // - case 13: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_string_literal); break; + case 15: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_string_literal); break; } // - // Rule 15: primary_expression ::= primary_expression_id + // Rule 17: primary_expression ::= primary_expression_id // - case 15: { action. consumeExpressionID(); break; + case 17: { action. consumeExpressionID(); break; } // - // Rule 16: primary_expression ::= ( expression ) + // Rule 18: primary_expression ::= ( expression ) // - case 16: { action. consumeExpressionBracketed(); break; + case 18: { action. consumeExpressionBracketed(); break; } // - // Rule 20: postfix_expression ::= postfix_expression [ expression ] + // Rule 21: postfix_expression ::= postfix_expression [ expression ] // - case 20: { action. consumeExpressionArraySubscript(); break; + case 21: { action. consumeExpressionArraySubscript(); break; } // - // Rule 21: postfix_expression ::= postfix_expression ( expression_list_opt ) + // Rule 22: postfix_expression ::= postfix_expression ( expression_list_opt ) // - case 21: { action. consumeExpressionFunctionCall(); break; + case 22: { action. consumeExpressionFunctionCall(); break; } // - // Rule 22: postfix_expression ::= postfix_expression . member_name + // Rule 23: postfix_expression ::= postfix_expression . member_name // - case 22: { action. consumeExpressionFieldReference(false); break; + case 23: { action. consumeExpressionFieldReference(false); break; } // - // Rule 23: postfix_expression ::= postfix_expression -> member_name + // Rule 24: postfix_expression ::= postfix_expression -> member_name // - case 23: { action. consumeExpressionFieldReference(true); break; + case 24: { action. consumeExpressionFieldReference(true); break; } // - // Rule 24: postfix_expression ::= postfix_expression ++ + // Rule 25: postfix_expression ::= postfix_expression ++ // - case 24: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break; + case 25: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break; } // - // Rule 25: postfix_expression ::= postfix_expression -- + // Rule 26: postfix_expression ::= postfix_expression -- // - case 25: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break; + case 26: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break; } // - // Rule 26: postfix_expression ::= ( type_id ) { <openscope-ast> initializer_list comma_opt } + // Rule 27: postfix_expression ::= ( type_id ) { <openscope-ast> initializer_list comma_opt } // - case 26: { action. consumeExpressionTypeIdInitializer(); break; + case 27: { action. consumeExpressionTypeIdInitializer(); break; } // @@ -781,489 +781,483 @@ public C99ExpressionParser(IParserActionTokenProvider parser) { // constructor } // - // Rule 178: typedef_name_in_declspec ::= Completion + // Rule 178: type_name_specifier ::= identifier_token // case 178: { action. consumeToken(); break; } // - // Rule 179: typedef_name_in_declspec ::= identifier + // Rule 179: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt } // - case 179: { action. consumeToken(); break; + case 179: { action. consumeTypeSpecifierComposite(false); break; } // - // Rule 182: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt } + // Rule 180: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook identifier_token struct_or_union_specifier_suffix_hook { <openscope-ast> struct_declaration_list_opt } // - case 182: { action. consumeTypeSpecifierComposite(false); break; + case 180: { action. consumeTypeSpecifierComposite(true); break; } // - // Rule 183: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook identifier_token struct_or_union_specifier_suffix_hook { <openscope-ast> struct_declaration_list_opt } + // Rule 185: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token // - case 183: { action. consumeTypeSpecifierComposite(true); break; + case 185: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break; } // - // Rule 188: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token + // Rule 186: elaborated_specifier ::= union elaborated_specifier_hook identifier_token // - case 188: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break; + case 186: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break; } // - // Rule 189: elaborated_specifier ::= union elaborated_specifier_hook identifier_token + // Rule 187: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token // - case 189: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break; + case 187: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break; } // - // Rule 190: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token + // Rule 193: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ; // - case 190: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break; + case 193: { action. consumeStructDeclaration(true); break; } // - // Rule 196: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ; + // Rule 194: struct_declaration ::= specifier_qualifier_list ; // - case 196: { action. consumeStructDeclaration(true); break; + case 194: { action. consumeStructDeclaration(false); break; } // - // Rule 197: struct_declaration ::= specifier_qualifier_list ; + // Rule 195: struct_declaration ::= ERROR_TOKEN // - case 197: { action. consumeStructDeclaration(false); break; + case 195: { action. consumeDeclarationProblem(); break; } // - // Rule 198: struct_declaration ::= ERROR_TOKEN + // Rule 201: struct_declarator ::= : constant_expression // - case 198: { action. consumeDeclarationProblem(); break; + case 201: { action. consumeBitField(false); break; } // - // Rule 204: struct_declarator ::= : constant_expression + // Rule 202: struct_declarator ::= declarator : constant_expression // - case 204: { action. consumeBitField(false); break; + case 202: { action. consumeBitField(true); break; } // - // Rule 205: struct_declarator ::= declarator : constant_expression + // Rule 203: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } // - case 205: { action. consumeBitField(true); break; + case 203: { action. consumeTypeSpecifierEnumeration(false); break; } // - // Rule 206: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 204: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } // - case 206: { action. consumeTypeSpecifierEnumeration(false); break; + case 204: { action. consumeTypeSpecifierEnumeration(true); break; } // - // Rule 207: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 210: enumerator ::= identifier_token // - case 207: { action. consumeTypeSpecifierEnumeration(true); break; + case 210: { action. consumeEnumerator(false); break; } // - // Rule 213: enumerator ::= identifier_token + // Rule 211: enumerator ::= identifier_token = constant_expression // - case 213: { action. consumeEnumerator(false); break; + case 211: { action. consumeEnumerator(true); break; } // - // Rule 214: enumerator ::= identifier_token = constant_expression + // Rule 212: type_qualifier ::= type_qualifier_token // - case 214: { action. consumeEnumerator(true); break; + case 212: { action. consumeToken(); break; } // - // Rule 215: type_qualifier ::= type_qualifier_token + // Rule 216: function_specifier ::= inline // - case 215: { action. consumeToken(); break; + case 216: { action. consumeToken(); break; } // - // Rule 219: function_specifier ::= inline + // Rule 218: declarator ::= <openscope-ast> pointer_seq direct_declarator // - case 219: { action. consumeToken(); break; + case 218: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 221: declarator ::= <openscope-ast> pointer_seq direct_declarator + // Rule 223: basic_direct_declarator ::= declarator_id_name // - case 221: { action. consumeDeclaratorWithPointer(true); break; + case 223: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 226: basic_direct_declarator ::= declarator_id_name + // Rule 224: basic_direct_declarator ::= ( declarator ) // - case 226: { action. consumeDirectDeclaratorIdentifier(); break; + case 224: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 227: basic_direct_declarator ::= ( declarator ) + // Rule 225: declarator_id_name ::= identifier // - case 227: { action. consumeDirectDeclaratorBracketed(); break; + case 225: { action. consumeIdentifierName(); break; } // - // Rule 228: declarator_id_name ::= identifier + // Rule 226: array_direct_declarator ::= basic_direct_declarator array_modifier // - case 228: { action. consumeIdentifierName(); break; + case 226: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 229: array_direct_declarator ::= basic_direct_declarator array_modifier + // Rule 227: array_direct_declarator ::= array_direct_declarator array_modifier // - case 229: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 227: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 230: array_direct_declarator ::= array_direct_declarator array_modifier + // Rule 229: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list ) // - case 230: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 229: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; } // - // Rule 232: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list ) + // Rule 230: function_direct_declarator ::= basic_direct_declarator ( ) // - case 232: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; + case 230: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; } // - // Rule 233: function_direct_declarator ::= basic_direct_declarator ( ) + // Rule 232: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator // - case 233: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; + case 232: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 235: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator + // Rule 233: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list ) // - case 235: { action. consumeDeclaratorWithPointer(true); break; - } - - // - // Rule 236: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list ) - // - case 236: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; + case 233: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; } // - // Rule 238: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator + // Rule 235: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator // - case 238: { action. consumeDeclaratorWithPointer(true); break; + case 235: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 239: identifier_list ::= identifier + // Rule 236: identifier_list ::= identifier // - case 239: { action. consumeIdentifierKnR(); break; + case 236: { action. consumeIdentifierKnR(); break; } // - // Rule 240: identifier_list ::= identifier_list , identifier + // Rule 237: identifier_list ::= identifier_list , identifier // - case 240: { action. consumeIdentifierKnR(); break; + case 237: { action. consumeIdentifierKnR(); break; } // - // Rule 241: array_modifier ::= [ ] + // Rule 238: array_modifier ::= [ ] // - case 241: { action. consumeDirectDeclaratorArrayModifier(false); break; + case 238: { action. consumeDirectDeclaratorArrayModifier(false); break; } // - // Rule 242: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ] + // Rule 239: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ] // - case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break; + case 239: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break; } // - // Rule 243: array_modifier ::= [ assignment_expression ] + // Rule 240: array_modifier ::= [ assignment_expression ] // - case 243: { action. consumeDirectDeclaratorArrayModifier(true); break; + case 240: { action. consumeDirectDeclaratorArrayModifier(true); break; } // - // Rule 244: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ] + // Rule 241: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ] // - case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break; + case 241: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break; } // - // Rule 245: array_modifier ::= [ static assignment_expression ] + // Rule 242: array_modifier ::= [ static assignment_expression ] // - case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break; + case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break; } // - // Rule 246: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ] + // Rule 243: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ] // - case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; + case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; } // - // Rule 247: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ] + // Rule 244: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ] // - case 247: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; + case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; } // - // Rule 248: array_modifier ::= [ * ] + // Rule 245: array_modifier ::= [ * ] // - case 248: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break; + case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break; } // - // Rule 249: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ] + // Rule 246: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ] // - case 249: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break; + case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break; } // - // Rule 251: pointer_seq ::= pointer_hook * + // Rule 248: pointer_seq ::= pointer_hook * // - case 251: { action. consumePointer(); break; + case 248: { action. consumePointer(); break; } // - // Rule 252: pointer_seq ::= pointer_seq pointer_hook * + // Rule 249: pointer_seq ::= pointer_seq pointer_hook * // - case 252: { action. consumePointer(); break; + case 249: { action. consumePointer(); break; } // - // Rule 253: pointer_seq ::= pointer_hook * <openscope-ast> type_qualifier_list + // Rule 250: pointer_seq ::= pointer_hook * <openscope-ast> type_qualifier_list // - case 253: { action. consumePointerTypeQualifierList(); break; + case 250: { action. consumePointerTypeQualifierList(); break; } // - // Rule 254: pointer_seq ::= pointer_seq pointer_hook * <openscope-ast> type_qualifier_list + // Rule 251: pointer_seq ::= pointer_seq pointer_hook * <openscope-ast> type_qualifier_list // - case 254: { action. consumePointerTypeQualifierList(); break; + case 251: { action. consumePointerTypeQualifierList(); break; } // - // Rule 258: parameter_type_list ::= parameter_list + // Rule 255: parameter_type_list ::= parameter_list // - case 258: { action. consumeEmpty(); break; + case 255: { action. consumeEmpty(); break; } // - // Rule 259: parameter_type_list ::= parameter_list , ... + // Rule 256: parameter_type_list ::= parameter_list , ... // - case 259: { action. consumePlaceHolder(); break; + case 256: { action. consumePlaceHolder(); break; } // - // Rule 260: parameter_type_list ::= ... + // Rule 257: parameter_type_list ::= ... // - case 260: { action. consumePlaceHolder(); break; + case 257: { action. consumePlaceHolder(); break; } // - // Rule 263: parameter_declaration ::= declaration_specifiers complete_parameter_declarator + // Rule 260: parameter_declaration ::= declaration_specifiers complete_parameter_declarator // - case 263: { action. consumeParameterDeclaration(); break; + case 260: { action. consumeParameterDeclaration(); break; } // - // Rule 264: parameter_declaration ::= declaration_specifiers + // Rule 261: parameter_declaration ::= declaration_specifiers // - case 264: { action. consumeParameterDeclarationWithoutDeclarator(); break; + case 261: { action. consumeParameterDeclarationWithoutDeclarator(); break; } // - // Rule 267: type_id ::= specifier_qualifier_list + // Rule 264: type_id ::= specifier_qualifier_list // - case 267: { action. consumeTypeId(false); break; + case 264: { action. consumeTypeId(false); break; } // - // Rule 268: type_id ::= specifier_qualifier_list abstract_declarator + // Rule 265: type_id ::= specifier_qualifier_list abstract_declarator // - case 268: { action. consumeTypeId(true); break; + case 265: { action. consumeTypeId(true); break; } // - // Rule 270: abstract_declarator ::= <openscope-ast> pointer_seq + // Rule 267: abstract_declarator ::= <openscope-ast> pointer_seq // - case 270: { action. consumeDeclaratorWithPointer(false); break; + case 267: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 271: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator + // Rule 268: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator // - case 271: { action. consumeDeclaratorWithPointer(false); break; + case 268: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 275: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 272: basic_direct_abstract_declarator ::= ( abstract_declarator ) // - case 275: { action. consumeDirectDeclaratorBracketed(); break; + case 272: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 276: array_direct_abstract_declarator ::= array_modifier + // Rule 273: array_direct_abstract_declarator ::= array_modifier // - case 276: { action. consumeDirectDeclaratorArrayDeclarator(false); break; + case 273: { action. consumeDirectDeclaratorArrayDeclarator(false); break; } // - // Rule 277: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier + // Rule 274: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier // - case 277: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 274: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 278: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier + // Rule 275: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier // - case 278: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 275: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 279: function_direct_abstract_declarator ::= ( ) + // Rule 276: function_direct_abstract_declarator ::= ( ) // - case 279: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break; + case 276: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break; } // - // Rule 280: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( ) + // Rule 277: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( ) // - case 280: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; + case 277: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; } // - // Rule 281: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list ) + // Rule 278: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list ) // - case 281: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break; + case 278: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break; } // - // Rule 282: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list ) + // Rule 279: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list ) // - case 282: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; + case 279: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; } // - // Rule 283: initializer ::= assignment_expression + // Rule 280: initializer ::= assignment_expression // - case 283: { action. consumeInitializer(); break; + case 280: { action. consumeInitializer(); break; } // - // Rule 284: initializer ::= start_initializer_list { <openscope-ast> initializer_list comma_opt } end_initializer_list + // Rule 281: initializer ::= start_initializer_list { <openscope-ast> initializer_list comma_opt } end_initializer_list // - case 284: { action. consumeInitializerList(); break; + case 281: { action. consumeInitializerList(); break; } // - // Rule 285: initializer ::= { <openscope-ast> } + // Rule 282: initializer ::= { <openscope-ast> } // - case 285: { action. consumeInitializerList(); break; + case 282: { action. consumeInitializerList(); break; } // - // Rule 286: start_initializer_list ::= $Empty + // Rule 283: start_initializer_list ::= $Empty // - case 286: { action. initializerListStart(); break; + case 283: { action. initializerListStart(); break; } // - // Rule 287: end_initializer_list ::= $Empty + // Rule 284: end_initializer_list ::= $Empty // - case 287: { action. initializerListEnd(); break; + case 284: { action. initializerListEnd(); break; } // - // Rule 292: designated_initializer ::= <openscope-ast> designation = initializer + // Rule 289: designated_initializer ::= <openscope-ast> designation = initializer // - case 292: { action. consumeInitializerDesignated(); break; + case 289: { action. consumeInitializerDesignated(); break; } // - // Rule 296: designator_base ::= [ constant_expression ] + // Rule 293: designator_base ::= [ constant_expression ] // - case 296: { action. consumeDesignatorArray(); break; + case 293: { action. consumeDesignatorArray(); break; } // - // Rule 297: designator_base ::= . identifier_token + // Rule 294: designator_base ::= . identifier_token // - case 297: { action. consumeDesignatorField(); break; + case 294: { action. consumeDesignatorField(); break; } // - // Rule 298: designator ::= [ constant_expression ] + // Rule 295: designator ::= [ constant_expression ] // - case 298: { action. consumeDesignatorArray(); break; + case 295: { action. consumeDesignatorArray(); break; } // - // Rule 299: designator ::= . identifier_token + // Rule 296: designator ::= . identifier_token // - case 299: { action. consumeDesignatorField(); break; + case 296: { action. consumeDesignatorField(); break; } // - // Rule 300: translation_unit ::= external_declaration_list + // Rule 297: translation_unit ::= external_declaration_list // - case 300: { action. consumeTranslationUnit(); break; + case 297: { action. consumeTranslationUnit(); break; } // - // Rule 301: translation_unit ::= $Empty + // Rule 298: translation_unit ::= $Empty // - case 301: { action. consumeTranslationUnit(); break; + case 298: { action. consumeTranslationUnit(); break; } // - // Rule 306: external_declaration ::= ; + // Rule 303: external_declaration ::= ; // - case 306: { action. consumeDeclarationEmpty(); break; + case 303: { action. consumeDeclarationEmpty(); break; } // - // Rule 307: external_declaration ::= ERROR_TOKEN + // Rule 304: external_declaration ::= ERROR_TOKEN // - case 307: { action. consumeDeclarationProblem(); break; + case 304: { action. consumeDeclarationProblem(); break; } // - // Rule 310: function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body + // Rule 307: function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body // - case 310: { action. consumeFunctionDefinition(true); break; + case 307: { action. consumeFunctionDefinition(true); break; } // - // Rule 311: function_definition ::= <openscope-ast> function_declarator function_body + // Rule 308: function_definition ::= <openscope-ast> function_declarator function_body // - case 311: { action. consumeFunctionDefinition(false); break; + case 308: { action. consumeFunctionDefinition(false); break; } // - // Rule 312: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement + // Rule 309: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement // - case 312: { action. consumeFunctionDefinitionKnR(); break; + case 309: { action. consumeFunctionDefinitionKnR(); break; } // - // Rule 313: function_body ::= { } + // Rule 310: function_body ::= { } // - case 313: { action. consumeStatementCompoundStatement(false); break; + case 310: { action. consumeStatementCompoundStatement(false); break; } // - // Rule 314: function_body ::= { <openscope-ast> block_item_list } + // Rule 311: function_body ::= { <openscope-ast> block_item_list } // - case 314: { action. consumeStatementCompoundStatement(true); break; + case 311: { action. consumeStatementCompoundStatement(true); break; } // - // Rule 316: expression_parser_start ::= ERROR_TOKEN + // Rule 313: expression_parser_start ::= ERROR_TOKEN // - case 316: { action. consumeExpressionProblem(); break; + case 313: { action. consumeExpressionProblem(); break; } diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParserprs.java index e0c4a215cd4..5619b866554 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParserprs.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParserprs.java @@ -35,8 +35,8 @@ public class C99ExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, C9 public interface BaseCheck { public final static short baseCheck[] = {0, 0,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,3,1,1,1,4, - 4,3,3,2,2,8,1,0,1,1, + 1,1,1,1,1,1,1,3,1,1, + 4,4,3,3,2,2,8,1,0,1, 1,2,2,2,2,2,2,2,2,2, 4,1,4,1,3,3,3,1,3,3, 1,3,3,1,3,3,3,3,1,3, @@ -51,160 +51,167 @@ public class C99ExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, C9 2,1,2,2,1,2,2,1,2,2, 1,2,2,1,3,1,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,6,8,0,0,1,1,3,3,3, - 0,1,0,1,2,4,2,1,1,1, - 3,1,1,2,3,7,8,0,1,0, - 1,3,1,3,1,1,1,1,1,1, - 3,1,1,1,1,1,3,1,2,2, - 1,5,3,1,3,5,1,3,1,3, - 2,4,3,5,4,6,6,3,5,1, - 2,3,4,5,0,1,2,1,3,1, - 1,3,2,1,1,1,1,2,1,2, - 3,1,1,1,3,1,2,2,2,3, - 4,5,1,7,3,0,0,1,1,3, - 3,4,1,1,2,3,2,3,2,1, - 0,1,2,1,1,1,1,1,2,4, - 3,6,2,4,1,1,-37,0,0,0, - 0,0,0,0,0,0,-30,0,0,0, - 0,0,0,0,0,0,-82,0,0,-2, - -4,-76,-14,0,0,0,0,-124,0,0, + 1,1,1,1,1,1,1,1,6,8, + 0,0,1,1,3,3,3,0,1,0, + 1,2,4,2,1,1,1,3,1,1, + 2,3,7,8,0,1,0,1,3,1, + 3,1,1,1,1,1,1,3,1,1, + 1,1,1,3,1,2,2,1,5,3, + 1,3,5,1,3,1,3,2,4,3, + 5,4,6,6,3,5,1,2,3,4, + 5,0,1,2,1,3,1,1,3,2, + 1,1,1,1,2,1,2,3,1,1, + 1,3,1,2,2,2,3,4,5,1, + 7,3,0,0,1,1,3,3,4,1, + 1,2,3,2,3,2,1,0,1,2, + 1,1,1,1,1,2,4,3,6,2, + 4,1,1,-37,0,0,0,0,0,0, + 0,0,0,0,-2,0,0,0,0,0, + 0,0,0,0,-159,0,0,-117,0,-4, + 0,0,0,0,-123,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,-5,0,0,0,0,0,0,0,0, - 0,0,-114,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-130,0,-141,-17, - 0,-80,0,-18,-19,0,0,-47,0,0, + 0,0,0,0,0,0,0,0,-14,-76, + -165,-79,-118,0,0,0,0,0,0,-5, 0,0,0,0,0,0,0,0,0,0, - -188,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-140,0,0,0, + 0,0,0,0,-38,0,0,0,0,0, + 0,0,0,0,-119,0,0,-187,0,0, 0,0,0,0,0,0,0,0,0,0, - -161,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, - -31,-20,-202,-56,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, - -48,0,0,0,0,0,0,0,0,0, - 0,-21,0,0,0,0,0,-22,-160,0, - -38,0,0,0,0,0,0,0,-83,0, - -74,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-39,0,0, + 0,0,0,0,0,0,0,-120,0,0, + -16,0,0,0,0,-177,-17,0,-6,0, + 0,0,0,0,0,0,0,0,-74,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-184,0,0,0,0,0, - 0,0,0,0,-34,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-121, + 0,-18,0,-183,0,0,0,0,0,0, + 0,0,0,0,-201,0,0,0,0,0, 0,0,0,0,-3,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-85,-23,-52,0,0, + 0,0,0,0,0,-52,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-71,0,-111,0,0,0,0,0, + 0,-71,0,-110,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-118,0,-133,-129,0,0, + 0,0,0,0,0,0,-128,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-132,0,-144, + 0,-55,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,-27,0, + 0,0,0,0,0,0,0,0,0,-125, 0,0,0,0,0,0,0,0,0,0, - 0,0,-24,0,0,0,0,-27,0,0, - 0,0,0,0,0,0,0,-25,0,0, - 0,0,0,0,0,0,0,0,0,-26, - 0,-12,0,0,0,0,0,0,0,0, - 0,0,-39,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-57,0,0,0, - 0,0,0,0,0,0,-35,0,0,0, - 0,0,0,0,0,0,-58,0,0,0, + 0,0,-162,0,-19,0,-185,0,0,0, + 0,0,0,-7,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-57,0,0, + 0,0,0,0,0,0,0,0,-34,0, + 0,0,0,0,0,0,0,0,-58,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-59,0,0,0, - 0,0,0,0,0,0,-68,0,0,0, - 0,0,0,0,0,0,-60,0,0,0, + 0,0,0,0,0,0,0,0,0,-59, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-61,0,0,0, - 0,0,0,0,0,0,-69,0,0,0, - 0,0,0,0,0,0,-62,0,0,0, + -35,0,0,0,0,0,0,0,0,0, + -60,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-63,0,0,0, - 0,0,0,0,0,0,-70,0,0,0, - 0,0,0,0,0,0,-64,0,0,0, + 0,-61,0,0,0,0,0,0,0,0, + 0,0,-68,0,0,0,0,0,0,0, + 0,0,-62,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-65,0,0,0, - 0,0,0,0,0,0,-115,0,0,0, + 0,0,0,-63,0,0,0,0,0,0, + 0,0,0,0,-69,0,0,0,0,0, + 0,0,0,0,-64,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-65,0,0,0,0, + 0,0,0,0,0,0,-70,0,0,0, 0,0,0,0,0,0,-66,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-67,0,0,0, - 0,0,0,0,0,0,-131,0,0,0, - 0,0,0,0,0,0,-146,0,0,0, + 0,0,0,0,0,0,0,-67,0,0, + 0,0,0,0,0,0,0,0,-114,0, + 0,0,0,0,0,0,0,0,-145,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-147,0,0,0, - 0,0,0,0,0,0,-155,0,0,0, - 0,0,0,0,0,0,-164,0,0,0, + 0,0,0,0,0,0,0,0,0,-146, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-187,0,0,0,0, - 0,0,0,0,0,-77,0,0,0,0, - 0,0,0,0,-6,0,0,0,0,0, - 0,-88,-89,0,-7,0,0,0,0,0, - 0,0,-195,0,0,0,0,0,0,0, + -130,0,0,0,0,0,0,0,0,0, + -163,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-203,0,0,0,0,0,0,0,0, - 0,-90,0,0,0,0,0,0,0,0, - -8,0,0,0,0,0,0,-108,-91,0, - -9,0,0,0,0,0,0,0,-211,0, + -186,0,0,0,0,0,0,0,0,0, + 0,-20,0,0,0,0,0,0,0,0, + -12,0,0,0,0,0,0,0,-8,0, + 0,0,0,0,0,0,-194,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-123,0,0, - 0,0,0,0,0,0,0,-132,0,0, - 0,0,0,0,0,0,-33,0,-10,0, - 0,0,0,0,0,0,0,-54,-92,-126, - -116,-119,-93,0,-166,-94,-112,0,-150,0, + 0,0,0,0,0,0,-202,0,0,0, + 0,0,0,0,0,0,0,-80,0,0, + 0,0,0,0,0,0,-13,0,0,0, + 0,0,0,0,-9,0,0,0,0,0, + 0,0,-210,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-122,0,0,0,0,0,0,0, + 0,0,0,-131,0,0,0,0,0,0, + 0,0,-30,0,0,-21,-82,-22,-176,0, + -136,-113,0,0,0,0,0,0,0,0, + -112,0,-77,-149,-126,-135,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-95,-177,0,0,0,-113,0,-196, - -87,-96,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-83,0,0,0,0, + -23,0,-167,-32,-153,-87,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -73,0,0,-151,0,0,0,0,0,0, - 0,0,-55,0,0,0,0,0,0,0, - 0,0,-175,0,0,0,0,0,0,0, - -127,0,0,0,0,-13,0,0,0,0, - 0,0,0,0,0,0,-97,0,0,0, - -98,0,0,0,-192,-99,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-53, - 0,0,0,0,0,0,0,0,0,-145, - 0,0,0,-100,-101,-210,0,-137,0,0, - 0,0,0,0,0,0,-169,0,-102,-103, - 0,0,0,-49,0,0,0,0,0,0, - 0,0,0,-140,0,0,0,0,0,0, - 0,0,0,0,0,0,-11,0,0,0, - 0,0,0,0,-120,0,0,0,-149,0, - 0,0,0,0,0,0,-50,0,0,0, - 0,0,0,0,0,0,-128,0,-104,0, - -105,0,-106,-107,0,-110,-125,0,0,-51, + -24,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-53,0, + 0,0,0,0,0,0,0,0,0,-174, + 0,0,0,-116,0,-129,0,0,0,0, + 0,0,-138,-25,0,0,0,0,0,0, + 0,-158,0,0,0,0,-73,0,0,-191, + 0,-26,-88,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-49,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -141,-31,0,0,0,0,0,0,0,0, + -89,0,-90,-91,-92,0,-193,0,-50,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-51,0,0,0,0,0,0,0,0, + 0,0,-209,0,-143,0,0,-93,0,-111, + -127,0,0,0,-154,0,-200,-206,-150,-147, 0,-43,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-94,-95,-96,0,0, 0,-44,0,0,0,0,0,0,0,0, - 0,-45,0,0,0,0,0,0,0,0, - 0,-46,0,0,0,0,0,0,0,0, - 0,-205,-75,-78,-40,0,0,0,0,0, - 0,0,0,-41,0,0,0,0,0,0, - -148,-134,0,-136,0,0,-138,-212,0,-189, - 0,0,0,0,-117,0,0,0,0,0, - 0,0,-36,0,0,0,0,0,0,0, - 0,0,0,-109,0,0,-181,0,0,-173, + 0,0,-45,0,0,0,0,0,0,0, + 0,0,0,-46,0,0,0,0,0,0, + 0,0,0,0,0,0,-47,0,0,0, + 0,0,0,0,0,0,-48,0,0,0, + 0,0,0,0,0,0,-204,-75,-78,-10, + 0,0,0,0,0,0,0,0,0,-11, + 0,0,0,0,0,0,0,-152,0,-151, + 0,0,-97,0,-168,0,0,0,0,-169, + 0,0,0,0,0,0,0,-211,-36,-164, 0,0,0,0,0,0,0,0,0,0, - -15,-42,0,0,0,0,0,0,-143,0, - 0,-174,-28,0,0,0,0,0,0,-153, - 0,0,0,-121,0,-29,0,0,0,0, - 0,0,-172,0,-79,0,0,0,0,0, - -122,0,0,0,0,0,0,-178,0,0, - 0,-199,0,0,0,0,0,0,0,-81, - 0,0,0,0,0,0,0,0,0,-84, - -193,0,0,-72,0,0,0,0,0,0, - 0,0,-86,-157,-190,0,0,0,0,0, - 0,0,-135,0,0,-191,0,0,0,0, - -165,-159,0,0,0,0,-180,0,0,0, - 0,0,0,-1,-179,-156,0,0,-32,0, - -154,0,-206,0,0,0,0,-163,0,-213, - 0,0,-162,-139,0,-142,-168,0,0,0, - -152,0,0,0,0,0,0,0,-182,0, - 0,0,0,0,0,-144,0,0,0,-198, - -170,-171,0,0,0,0,0,-183,-158,0, - 0,0,-167,-185,0,0,0,0,0,-176, - -186,0,0,0,0,0,0,-194,-197,0, - 0,0,0,-200,-201,-207,0,-208,-204,0, - 0,-209,0,0,0,0,0,0,0,0, + 0,-98,0,0,-157,0,-148,0,0,0, + 0,0,0,0,0,0,0,-85,0,-179, + 0,0,0,0,0,0,0,0,-139,-99, + 0,0,0,0,0,-40,0,0,0,0, + 0,0,0,-100,-101,-102,0,-41,0,0, + 0,0,0,0,0,-42,0,0,0,0, + 0,0,0,-72,0,0,0,0,0,0, + 0,-115,-188,-15,-172,-28,-195,0,-1,0, + -166,-175,0,0,0,0,0,0,0,0, + -207,0,0,-212,0,0,0,-103,0,0, + 0,-33,0,0,0,0,0,-29,0,0, + -180,0,0,-170,0,0,0,0,0,0, + 0,0,0,0,0,-173,0,-104,0,0, + -81,0,0,0,0,0,0,0,-192,-197, + 0,-84,0,-205,0,-171,0,-105,0,0, + -86,-156,0,0,-198,-108,-106,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0 + 0,0,-184,-189,-190,-178,0,-196,0,0, + 0,-134,0,0,0,0,0,-109,0,0, + 0,0,0,-54,-199,-124,0,-133,0,0, + 0,0,-137,-142,0,-155,0,-161,0,-181, + -182,-203,-208,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,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; @@ -214,178 +221,185 @@ public class C99ExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, C9 public interface BaseAction { public final static char baseAction[] = { - 87,10,23,23,20,20,32,32,70,70, - 1,1,1,1,2,2,2,3,3,4, - 4,4,4,4,4,4,4,51,51,71, - 71,5,5,5,5,5,5,5,5,5, - 5,5,6,6,7,7,7,7,8,8, - 8,9,9,9,11,11,11,11,11,12, - 12,12,13,13,14,14,15,15,16,16, - 17,17,18,18,19,19,19,19,19,19, - 19,19,19,19,19,19,101,41,33,88, + 87,11,24,24,21,21,32,32,70,70, + 1,1,2,2,2,2,3,3,3,4, + 5,5,5,5,5,5,5,5,51,51, + 71,6,6,6,6,6,6,6,6,6, + 6,6,7,7,8,8,8,8,9,9, + 9,10,10,10,12,12,12,12,12,13, + 13,13,14,14,15,15,16,16,17,17, + 18,18,19,19,20,20,20,20,20,20, + 20,20,20,20,20,20,101,41,33,88, 88,73,73,47,102,102,102,102,102,102, 102,103,103,103,104,104,109,109,110,110, 105,105,106,106,106,112,112,107,107,107, - 107,108,108,108,108,108,111,111,24,24, - 24,24,24,27,27,27,79,79,74,74, + 107,108,108,108,108,108,111,111,25,25, + 25,25,25,27,27,27,79,79,74,74, 74,74,75,75,75,76,76,76,77,77, 77,78,78,78,113,113,114,114,115,28, 30,30,30,30,30,52,54,54,54,54, - 54,54,54,54,54,54,54,54,64,64, - 25,25,61,61,89,90,65,65,62,62, - 62,66,80,80,81,81,67,67,67,42, - 91,91,82,83,83,83,63,63,92,84, - 84,85,85,68,68,21,22,22,22,29, - 48,48,34,34,34,34,37,37,39,35, - 35,36,40,40,116,116,38,117,117,93, - 93,26,26,26,26,26,26,26,26,26, - 86,49,49,49,49,31,56,56,55,55, - 55,57,57,50,50,94,94,60,60,58, - 58,58,43,43,43,44,45,45,45,46, - 46,46,46,53,53,53,59,95,72,72, - 72,72,69,96,97,97,98,98,99,99, - 118,118,119,119,120,120,120,120,122,122, - 121,121,121,123,123,87,87,1,14,19, - 15,343,670,44,400,370,405,201,404,492, - 462,577,498,658,643,74,91,387,134,215, - 31,14,144,743,136,133,135,159,434,14, - 19,15,343,670,44,400,370,405,399,404, - 492,462,577,498,658,643,74,283,277,138, - 57,165,530,14,19,15,343,40,142,145, - 148,151,402,358,14,19,15,343,42,35, - 341,1404,1505,1530,1540,1553,1161,744,23,312, - 157,288,191,1122,6,30,248,1479,506,14, - 19,15,343,42,44,400,1162,289,257,215, - 1294,482,14,19,15,343,670,44,400,370, - 405,399,404,492,462,577,498,658,643,74, - 283,332,14,19,15,343,670,44,400,370, - 405,399,404,492,462,577,498,658,643,74, - 283,201,605,421,506,14,19,15,343,42, - 44,400,370,405,288,404,492,462,577,1341, - 1479,506,14,19,15,343,42,44,400,1227, - 289,615,200,1630,290,1603,1571,294,684,323, - 1479,506,14,19,15,343,42,44,1042,414, - 291,275,14,19,15,343,670,44,400,370, - 405,1158,404,492,462,577,498,658,643,74, - 1127,26,22,196,241,458,14,19,15,343, - 670,44,400,370,405,489,404,492,462,577, - 498,658,643,74,283,506,14,19,15,343, - 670,44,400,370,405,1544,404,492,462,577, - 498,658,643,74,91,1315,439,344,506,14, - 19,15,343,42,44,400,370,405,292,404, - 492,462,1265,104,1479,578,14,19,15,343, - 670,44,400,370,405,1211,404,492,462,577, - 498,658,643,74,1337,326,20,189,299,14, - 19,15,343,670,44,400,370,405,341,404, - 492,462,577,498,658,643,74,1421,134,215, - 1424,242,1511,237,136,133,135,159,506,14, - 19,15,343,670,44,400,370,405,713,404, - 492,462,577,498,658,643,74,92,1494,138, - 595,165,554,14,19,15,343,33,142,145, - 148,151,402,506,14,19,15,343,42,44, - 1059,1404,1505,1530,1540,1553,1161,506,14,19, - 15,343,670,44,400,370,405,489,404,492, - 462,577,498,658,643,74,85,506,14,19, - 15,343,670,44,400,370,405,16,404,492, - 462,577,498,658,643,74,84,506,14,19, - 15,343,670,44,400,370,405,489,404,492, - 462,577,498,658,643,74,83,506,14,19, - 15,343,670,44,400,370,405,1343,404,492, - 462,577,498,658,643,74,82,506,14,19, - 15,343,670,44,400,370,405,489,404,492, - 462,577,498,658,643,74,81,506,14,19, - 15,343,670,44,400,370,405,1344,404,492, - 462,577,498,658,643,74,80,506,14,19, - 15,343,670,44,400,370,405,489,404,492, - 462,577,498,658,643,74,79,506,14,19, - 15,343,670,44,400,370,405,21,404,492, - 462,577,498,658,643,74,78,506,14,19, - 15,343,670,44,400,370,405,489,404,492, - 462,577,498,658,643,74,77,506,14,19, - 15,343,670,44,400,370,405,275,404,492, - 462,577,498,658,643,74,76,506,14,19, - 15,343,670,44,400,370,405,489,404,492, - 462,577,498,658,643,74,75,506,14,19, - 15,343,670,44,400,370,405,281,404,492, - 462,577,498,658,643,74,1631,506,14,19, - 15,343,670,44,400,370,405,489,404,492, - 462,577,498,658,643,74,1632,506,14,19, - 15,343,42,44,400,370,405,282,404,492, - 462,577,498,658,643,93,506,14,19,15, - 343,42,44,400,370,405,243,404,492,462, - 577,498,658,643,93,506,14,19,15,343, - 42,39,602,632,1644,506,14,19,15,343, - 42,38,278,506,14,19,15,343,42,44, - 400,370,405,1659,404,492,462,577,498,658, - 643,93,506,14,19,15,343,42,44,400, - 370,405,194,404,492,462,577,498,658,643, - 93,506,14,19,15,343,42,37,118,199, - 214,506,14,19,15,343,42,36,348,506, - 14,19,15,343,42,44,400,370,405,204, - 404,492,462,577,498,658,643,93,506,14, - 19,15,343,42,44,400,370,405,113,404, - 492,462,577,498,658,643,73,118,1490,506, - 14,19,15,343,42,35,205,555,118,416, - 645,307,583,465,276,323,488,104,555,207, - 1260,617,220,1184,223,1611,225,226,231,1460, - 87,269,986,342,274,1098,265,189,593,279, - 243,87,1346,490,323,276,266,285,52,1280, - 583,189,241,220,1184,223,1611,225,226,231, - 1454,261,269,986,342,274,907,1503,1422,256, - 215,124,134,215,511,1619,182,867,137,133, - 135,159,263,506,14,19,15,343,42,44, - 400,370,405,151,404,492,462,577,498,1339, - 230,52,1346,139,397,165,554,14,19,15, - 343,32,143,146,149,152,402,654,212,276, - 1454,499,256,215,1347,281,13,221,1184,223, - 1611,225,226,231,618,1593,271,986,342,274, - 506,14,19,15,343,42,44,400,370,405, - 52,404,492,1279,50,622,281,397,118,220, - 1184,223,1611,225,226,231,1593,756,1554,624, - 330,256,215,1669,506,14,19,15,343,42, - 44,400,370,405,746,404,1231,917,257,215, - 220,1184,223,1611,225,226,231,506,14,19, - 15,343,42,34,1669,583,1277,200,202,358, - 14,19,15,343,42,35,463,506,14,19, - 15,343,42,44,400,370,405,104,1236,723, - 188,690,249,97,158,499,562,728,201,202, - 506,14,19,15,343,42,44,400,370,405, - 245,1264,506,14,19,15,343,42,44,400, - 370,1119,506,14,19,15,343,42,44,400, - 370,1123,506,14,19,15,343,42,44,400, - 370,1126,506,14,19,15,343,42,44,400, - 370,1153,693,613,232,506,14,19,15,343, - 42,47,1593,1121,506,14,19,15,343,42, - 46,104,646,279,331,134,215,205,710,276, - 765,141,133,135,159,514,220,1184,223,1611, - 225,226,231,160,244,1563,269,986,342,274, - 1503,257,215,1181,242,280,140,747,165,1347, - 307,867,221,1184,223,1611,225,226,231,276, - 617,118,506,14,19,15,343,42,45,590, - 276,317,514,118,1098,1347,269,986,342,274, - 124,1346,1555,317,620,199,118,271,986,342, - 274,268,233,489,87,675,317,199,1658,1203, - 261,583,707,1443,1586,907,87,1422,612,1427, - 199,1346,489,227,707,1443,134,215,1235,87, - 680,545,144,133,135,159,190,707,1443,1203, - 709,747,232,747,409,14,19,15,343,42, - 43,134,215,714,48,718,787,147,133,135, - 159,134,215,116,617,617,142,150,133,135, - 159,559,647,617,134,215,617,647,199,1098, - 153,133,135,159,382,95,766,1098,197,441, - 199,357,1666,124,555,617,1518,1619,583,555, - 338,617,1619,729,118,261,118,52,1518,199, - 1522,677,1422,261,1572,1098,1125,87,947,730, - 1422,194,89,297,1346,315,753,1518,256,215, - 746,104,104,194,1154,1585,1607,229,768,118, - 211,262,1428,118,104,211,1665,1585,1664,1577, - 118,583,195,421,246,247,1457,1638,323,104, - 1566,1541,1638,1430,365,323,323,296,323,749, - 295,340,287,1715,1715,1715,299,827,1715,1715, - 1715,1668,298,1715,236,1715,1715,1715,1715,1715, - 206,1715,1715,1715,1715,284,1715,183,207,1715, - 1600,1715,0,17,179,0,18,178,0,1, - 1943,0,1,1954,0 + 54,54,54,54,54,54,54,54,64,61, + 61,89,90,65,65,62,62,62,66,80, + 80,81,81,67,67,67,42,91,91,82, + 83,83,83,63,63,92,84,84,85,85, + 68,68,22,23,23,23,29,48,48,34, + 34,34,34,37,37,39,35,35,36,40, + 40,116,116,38,117,117,93,93,26,26, + 26,26,26,26,26,26,26,86,49,49, + 49,49,31,56,56,55,55,55,57,57, + 50,50,94,94,60,60,58,58,58,43, + 43,43,44,45,45,45,46,46,46,46, + 53,53,53,59,95,72,72,72,72,69, + 96,97,97,98,98,99,99,118,118,119, + 119,120,120,120,120,122,122,121,121,121, + 123,123,87,87,1,1273,16,20,17,369, + 1272,44,497,491,695,44,532,1146,1022,1191, + 1148,1254,1211,74,91,738,134,212,65,1166, + 172,136,133,135,159,432,19,16,20,17, + 369,1272,44,497,491,695,397,532,1146,1022, + 1191,1148,1254,1211,74,280,138,27,165,663, + 365,738,634,161,186,142,145,148,151,1078, + 524,19,16,20,17,369,40,340,1449,372, + 1631,1642,1651,1196,134,212,274,694,285,144, + 133,135,159,282,1714,501,19,16,20,17, + 369,42,44,1311,286,161,185,1529,478,19, + 16,20,17,369,1272,44,497,491,695,397, + 532,1146,1022,1191,1148,1254,1211,74,280,326, + 19,16,20,17,369,1272,44,497,491,695, + 397,532,1146,1022,1191,1148,1254,1211,74,280, + 501,19,16,20,17,369,42,44,497,491, + 695,285,532,1146,1022,1191,1628,1714,501,19, + 16,20,17,369,42,44,1313,286,352,1713, + 1640,21,287,1718,1490,291,739,154,1714,501, + 19,16,20,17,369,42,39,1270,288,275, + 19,16,20,17,369,1272,44,497,491,695, + 1161,532,1146,1022,1191,1148,1254,1211,74,1350, + 161,187,6,238,455,19,16,20,17,369, + 1272,44,497,491,695,723,532,1146,1022,1191, + 1148,1254,1211,74,280,501,19,16,20,17, + 369,1272,44,497,491,695,194,532,1146,1022, + 1191,1148,1254,1211,74,91,501,19,16,20, + 17,369,42,44,497,491,695,289,532,1146, + 1022,1544,282,1714,570,19,16,20,17,369, + 1272,44,497,491,695,1165,532,1146,1022,1191, + 1148,1254,1211,74,1351,193,21,299,19,16, + 20,17,369,1272,44,497,491,695,340,532, + 1146,1022,1191,1148,1254,1211,74,1360,189,178, + 52,239,501,19,16,20,17,369,42,44, + 497,491,695,13,532,1146,1022,1191,1148,1598, + 134,212,253,212,345,136,133,135,159,501, + 19,16,20,17,369,1272,44,497,491,695, + 596,532,1146,1022,1191,1148,1254,1211,74,92, + 138,640,165,161,294,69,1475,161,296,142, + 145,148,151,1078,501,19,16,20,17,369, + 42,38,1449,372,1631,1642,1651,1196,501,19, + 16,20,17,369,1272,44,497,491,695,727, + 532,1146,1022,1191,1148,1254,1211,74,85,501, + 19,16,20,17,369,1272,44,497,491,695, + 1564,532,1146,1022,1191,1148,1254,1211,74,84, + 501,19,16,20,17,369,1272,44,497,491, + 695,727,532,1146,1022,1191,1148,1254,1211,74, + 83,501,19,16,20,17,369,1272,44,497, + 491,695,18,532,1146,1022,1191,1148,1254,1211, + 74,82,501,19,16,20,17,369,1272,44, + 497,491,695,727,532,1146,1022,1191,1148,1254, + 1211,74,81,501,19,16,20,17,369,1272, + 44,497,491,695,1648,532,1146,1022,1191,1148, + 1254,1211,74,80,501,19,16,20,17,369, + 1272,44,497,491,695,727,532,1146,1022,1191, + 1148,1254,1211,74,79,501,19,16,20,17, + 369,1272,44,497,491,695,1657,532,1146,1022, + 1191,1148,1254,1211,74,78,501,19,16,20, + 17,369,1272,44,497,491,695,727,532,1146, + 1022,1191,1148,1254,1211,74,77,501,19,16, + 20,17,369,1272,44,497,491,695,22,532, + 1146,1022,1191,1148,1254,1211,74,76,501,19, + 16,20,17,369,1272,44,497,491,695,727, + 532,1146,1022,1191,1148,1254,1211,74,75,501, + 19,16,20,17,369,1272,44,497,491,695, + 272,532,1146,1022,1191,1148,1254,1211,74,1480, + 501,19,16,20,17,369,1272,44,497,491, + 695,727,532,1146,1022,1191,1148,1254,1211,74, + 1614,501,19,16,20,17,369,42,44,497, + 491,695,278,532,1146,1022,1191,1148,1254,1211, + 93,501,19,16,20,17,369,42,44,497, + 491,695,67,532,1146,1022,1191,1148,1254,1211, + 93,547,19,16,20,17,369,33,1683,501, + 19,16,20,17,369,42,37,501,19,16, + 20,17,369,42,44,497,491,695,1688,532, + 1146,1022,1191,1148,1254,1211,93,501,19,16, + 20,17,369,42,44,497,491,695,125,532, + 1146,1022,1191,1148,1254,1211,93,547,19,16, + 20,17,369,32,211,501,19,16,20,17, + 369,42,36,501,19,16,20,17,369,42, + 44,497,491,695,201,532,1146,1022,1191,1148, + 1254,1211,93,501,19,16,20,17,369,42, + 44,497,491,695,151,532,1146,1022,1191,1148, + 1254,1211,73,161,30,1468,144,250,219,738, + 202,13,357,19,16,20,17,369,42,35, + 273,52,1652,673,711,52,157,338,217,1359, + 220,1470,222,223,228,1575,245,266,1163,370, + 271,179,262,253,212,276,413,253,212,275, + 273,191,263,52,605,710,189,178,217,1359, + 220,1470,222,223,228,555,638,266,1163,370, + 271,319,1646,373,24,253,212,1246,134,212, + 1134,1246,939,137,133,135,159,89,260,501, + 19,16,20,17,369,42,44,497,491,695, + 198,532,1146,1545,735,259,638,617,139,1573, + 165,949,415,13,281,1692,1716,143,146,149, + 152,1078,552,1720,1262,277,273,70,254,212, + 247,1706,554,593,218,1359,220,1470,222,223, + 228,1644,897,268,1163,370,271,501,19,16, + 20,17,369,42,44,497,491,695,1698,532, + 1473,13,161,30,217,1359,220,1470,222,223, + 228,156,371,350,415,460,1656,738,1722,501, + 19,16,20,17,369,42,44,497,491,695, + 208,1502,501,19,16,20,17,369,42,44, + 497,491,695,247,1530,647,1611,1721,483,203, + 282,282,197,199,1644,727,1193,738,738,682, + 282,545,501,19,16,20,17,369,42,44, + 497,491,1314,23,240,242,279,217,1359,220, + 1470,222,223,228,241,227,686,194,324,180, + 204,1722,501,19,16,20,17,369,42,44, + 497,491,1315,501,19,16,20,17,369,42, + 44,497,491,1348,501,19,16,20,17,369, + 42,44,497,491,1386,198,199,501,19,16, + 20,17,369,42,44,497,1387,501,19,16, + 20,17,369,42,44,497,1388,484,717,232, + 501,19,16,20,17,369,42,35,1644,1572, + 501,19,16,20,17,369,42,34,70,276, + 701,134,212,575,273,684,141,133,135,159, + 282,217,1359,220,1470,222,223,228,748,241, + 736,266,1163,370,271,1646,226,254,212,1698, + 1267,140,50,165,243,13,939,357,19,16, + 20,17,369,42,35,273,1520,1240,437,1706, + 552,1720,218,1359,220,1470,222,223,228,742, + 57,246,266,1163,370,271,501,19,16,20, + 17,369,42,47,323,428,104,265,501,19, + 16,20,17,369,42,46,501,19,16,20, + 17,369,42,45,408,19,16,20,17,369, + 42,43,307,718,13,307,13,161,1720,380, + 335,13,13,638,530,314,638,314,208,292, + 555,738,418,1685,211,254,212,1134,513,196, + 1134,196,13,1698,1639,1721,1698,87,13,87, + 488,745,87,555,282,771,1489,771,1489,314, + 312,1656,258,1594,1240,258,735,981,656,1708, + 981,643,1708,196,729,87,813,1684,244,745, + 742,87,672,592,70,209,727,230,97,771, + 1489,681,48,134,212,727,242,351,147,133, + 135,159,1317,638,134,212,325,224,855,150, + 133,135,159,134,212,1698,229,196,153,133, + 135,159,273,282,110,142,95,1706,282,281, + 1358,1591,615,1488,496,638,638,638,532,268, + 1163,370,271,638,13,577,590,293,377,1134, + 196,196,295,509,751,555,754,1134,392,191, + 755,761,236,767,1789,1789,233,496,496,1789, + 1789,1789,1149,1686,258,1789,1789,87,1789,1655, + 1789,1708,258,1789,1789,1546,1789,1355,1789,1708, + 1789,1789,191,192,1789,1789,1789,1789,1789,1789, + 1789,1789,1789,1789,1789,1357,1686,1789,1789,1789, + 1789,1789,1789,1789,1789,1789,1789,1705,1789,0, + 19,178,0,1,2014,0,1,2025,0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -396,92 +410,92 @@ public class C99ExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, C9 public interface TermCheck { public final static byte termCheck[] = {0, 0,1,2,3,4,0,6,7,8,9, - 10,11,0,0,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,28,0, - 0,31,32,33,34,35,36,37,38,39, - 40,41,42,30,44,45,46,0,1,0, + 10,11,0,13,14,15,16,17,18,19, + 0,21,22,23,24,25,26,27,28,9, + 10,31,32,33,34,35,36,37,38,39, + 40,41,42,0,44,45,46,0,1,0, 3,0,5,6,7,8,0,6,7,8, - 55,56,57,58,17,9,10,55,56,57, - 58,24,25,26,27,28,47,48,31,32, + 55,56,57,58,0,1,0,3,0,0, + 23,24,25,26,27,28,12,11,31,32, 33,34,35,36,37,38,39,40,41,42, 43,44,45,46,0,1,0,3,51,5, - 6,7,8,0,55,56,57,58,5,13, - 80,17,0,1,2,0,4,0,24,25, - 26,27,28,0,12,31,32,33,34,35, + 6,7,8,0,55,56,57,58,12,0, + 1,55,56,57,58,47,48,23,24,25, + 26,27,28,80,0,31,32,33,34,35, 36,37,38,39,40,41,42,43,44,45, 46,0,1,0,3,51,5,6,7,8, - 0,1,2,50,4,12,0,0,17,0, - 4,2,12,4,49,24,25,26,27,28, - 13,12,31,32,33,34,35,36,37,38, + 0,1,2,0,4,0,0,4,49,4, + 0,1,59,3,23,24,25,26,27,28, + 20,0,31,32,33,34,35,36,37,38, 39,40,41,42,43,44,45,46,0,1, - 0,3,51,0,6,7,8,4,0,0, - 0,1,4,3,0,17,0,1,2,53, - 54,5,24,25,26,27,28,13,12,31, + 0,3,51,0,6,7,8,0,1,2, + 29,4,9,10,61,62,53,54,53,54, + 0,23,24,25,26,27,28,20,0,31, 32,33,34,35,36,37,38,39,40,41, - 42,0,44,45,46,29,0,6,7,8, - 0,0,0,2,2,4,53,54,17,9, - 10,53,54,12,12,24,25,26,27,28, - 61,62,31,32,33,34,35,36,37,38, + 42,0,44,45,46,0,0,6,7,8, + 0,0,2,2,4,4,0,1,2,0, + 1,0,3,63,23,24,25,26,27,28, + 20,20,31,32,33,34,35,36,37,38, 39,40,41,42,0,1,2,3,4,5, - 0,1,2,9,10,11,0,1,14,15, - 16,17,18,19,20,21,22,23,0,1, - 2,3,4,5,68,69,0,9,10,11, - 4,0,14,15,16,17,18,19,20,21, - 22,23,0,12,50,0,1,5,3,0, - 0,0,1,2,3,4,5,0,13,59, - 9,10,11,0,13,14,15,16,50,18, - 19,20,21,22,23,49,0,0,1,2, - 3,4,5,52,0,43,9,10,11,5, - 0,14,15,16,43,18,19,20,21,22, - 23,0,1,2,3,4,0,1,59,3, - 9,10,11,29,30,14,15,16,0,18, - 19,20,21,22,23,49,63,50,0,1, - 2,3,4,0,1,0,3,9,10,11, - 0,13,14,15,16,5,18,19,20,21, - 22,23,51,0,1,2,3,4,0,1, - 0,3,9,10,11,5,13,14,15,16, - 30,18,19,20,21,22,23,0,1,2, - 3,4,47,48,0,0,9,10,11,29, - 13,14,15,16,0,18,19,20,21,22, - 23,0,1,2,3,4,66,0,0,0, - 9,10,11,5,13,14,15,16,0,18, - 19,20,21,22,23,0,1,2,3,4, - 0,47,48,0,9,10,11,29,5,14, - 15,16,12,18,19,20,21,22,23,0, - 1,2,3,4,47,48,47,48,9,10, - 11,0,29,14,15,16,5,18,19,20, - 21,22,23,0,1,2,3,4,0,61, - 62,0,9,10,11,4,0,14,15,16, - 12,18,19,20,21,22,23,0,1,2, - 3,4,0,1,43,3,9,10,11,0, - 0,14,15,16,0,18,19,20,21,22, - 23,0,13,2,0,4,5,6,7,8, - 52,0,0,12,2,11,5,5,17,0, - 1,0,3,0,12,24,25,26,27,28, - 29,0,13,2,11,4,5,6,7,8, - 0,29,0,12,0,0,0,1,17,3, - 6,7,8,0,60,24,25,26,27,28, - 29,0,9,10,70,71,72,73,74,75, - 76,77,78,79,0,30,0,66,2,0, - 6,7,8,0,63,6,7,8,12,0, - 0,17,0,1,2,0,17,0,24,25, - 26,27,28,24,25,26,27,28,0,0, - 1,2,0,0,6,7,8,0,1,6, - 7,8,0,0,1,17,3,0,0,0, - 17,4,24,25,26,27,28,24,25,26, - 27,28,0,0,2,0,0,64,0,6, - 7,8,0,64,12,0,14,15,6,7, - 8,6,7,8,0,0,49,0,0,0, - 6,7,8,0,0,30,30,65,13,0, - 0,13,13,0,0,0,13,65,60,60, - 0,0,0,0,52,0,0,30,0,0, - 0,0,0,0,0,0,0,59,0,67, - 0,0,0,0,0,0,0,0,0,0, + 0,0,64,9,10,11,5,13,14,15, + 16,17,18,19,59,21,22,23,0,1, + 2,3,4,5,0,59,0,9,10,11, + 4,13,14,15,16,17,18,19,0,21, + 22,23,0,0,50,0,1,2,3,4, + 5,50,9,10,9,10,11,12,13,14, + 15,16,17,18,19,65,21,22,50,0, + 0,0,1,4,3,49,0,1,2,3, + 4,5,12,12,0,9,10,11,43,13, + 14,15,16,17,18,19,0,21,22,0, + 1,2,3,4,20,63,68,69,9,10, + 11,0,13,14,15,16,17,18,19,0, + 21,22,53,54,0,29,50,0,1,2, + 3,4,0,1,0,3,9,10,11,12, + 13,14,15,16,17,18,19,0,21,22, + 51,0,1,2,3,4,0,1,11,3, + 9,10,11,12,13,14,15,16,17,18, + 19,60,21,22,0,1,2,3,4,0, + 0,47,48,9,10,11,12,13,14,15, + 16,17,18,19,0,21,22,0,1,2, + 3,4,0,0,1,2,9,10,11,12, + 13,14,15,16,17,18,19,0,21,22, + 0,1,2,3,4,0,47,48,0,9, + 10,11,0,13,14,15,16,17,18,19, + 12,21,22,0,1,2,3,4,0,47, + 48,0,9,10,11,4,13,14,15,16, + 17,18,19,0,21,22,0,1,2,3, + 4,0,1,0,3,9,10,11,0,13, + 14,15,16,17,18,19,0,21,22,0, + 1,2,3,4,0,0,0,65,9,10, + 11,5,13,14,15,16,17,18,19,0, + 21,22,0,4,2,0,4,5,6,7, + 8,6,7,8,0,29,30,0,1,5, + 3,0,20,60,0,23,24,25,26,27, + 28,0,30,70,71,72,73,74,75,76, + 77,78,79,0,30,61,62,0,0,6, + 7,8,0,6,7,8,0,0,6,7, + 8,0,6,7,8,0,23,24,25,26, + 27,28,0,49,2,23,24,25,26,27, + 28,0,0,0,2,13,14,6,7,8, + 0,0,20,0,0,0,6,7,8,6, + 7,8,20,0,23,24,25,26,27,28, + 0,20,2,23,24,25,26,27,28,0, + 0,1,2,20,52,5,0,0,2,64, + 20,5,0,6,7,8,0,5,0,67, + 20,5,47,48,0,0,20,0,0,5, + 30,0,5,5,0,52,30,0,1,2, + 0,29,0,0,0,20,30,5,49,0, + 0,0,12,0,30,12,0,1,0,0, + 29,12,0,29,0,12,0,0,0,0, + 43,12,0,0,0,0,0,52,66,29, + 0,0,0,0,0,43,0,0,0,0, + 0,0,0,0,66,0,0,0,0,0, + 0,0,0,0,60,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,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; @@ -489,87 +503,88 @@ public class C99ExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, C9 public interface TermAction { public final static char termAction[] = {0, - 1715,1002,1471,1003,1109,59,1931,1932,1933,1061, - 1051,1307,61,88,1216,672,372,1877,1725,1726, - 1727,1728,1005,995,1878,1876,1934,1879,1875,54, - 1715,1882,1887,1886,1884,1885,1883,1888,1889,1881, - 1890,1891,1892,648,576,509,337,1715,1,60, - 1,1715,193,1,1,1,51,1931,1932,1933, - 1392,1382,1372,1362,1,683,501,1392,1382,1372, - 1362,1,1,1,1,1,408,481,1,1, + 1789,1799,1574,1800,1450,59,2002,2003,2004,1095, + 1039,1460,1,1087,1031,380,1801,1802,1803,1804, + 51,704,499,1951,1952,1950,2005,1953,1949,478, + 405,1956,1961,1960,1958,1959,1957,1962,1963,1955, + 1964,1965,1966,1789,1518,1186,1147,1789,1,61, + 1,1789,190,1,1,1,60,2002,2003,2004, + 1414,1403,1392,1362,1789,1799,64,1800,54,252, + 1,1,1,1,1,1,1151,1287,1,1, 1,1,1,1,1,1,1,1,1,1, - 193,1,1,1,1715,1,41,1,1913,192, - 1,1,1,1715,1392,1382,1372,1362,1718,1058, - 1702,1,264,1943,1129,1,1,1,1,1, - 1,1,1,255,511,1,1,1,1,1, - 1,1,1,1,1,1,1,192,1,1, - 1,1715,1,273,1,1913,193,1,1,1, - 270,1943,1129,1717,255,511,48,1715,1,267, - 1472,1403,511,1,1975,1,1,1,1,1, - 1058,511,1,1,1,1,1,1,1,1, - 1,1,1,1,193,1,1,1,1715,1894, - 184,1893,1913,50,1931,1932,1933,1472,49,62, - 1715,1744,1472,1745,1715,1877,1,1709,1129,1414, - 1405,1720,1878,1876,1934,1879,1875,1639,511,1882, - 1887,1886,1884,1885,1883,1888,1889,1881,1890,1891, - 1892,128,576,509,337,1719,72,1931,1932,1933, - 53,270,272,1403,1435,255,1414,1405,1877,683, - 501,1414,1405,511,511,1878,1876,1934,1879,1875, - 1350,1327,1882,1887,1886,1884,1885,1883,1888,1889, - 1881,1890,1891,1892,1,1732,1471,1733,383,1718, - 1,1943,1402,1061,1051,1307,1715,1955,1216,672, - 372,595,1725,1726,1727,1728,1005,995,1715,1732, - 1471,1733,1319,1718,1193,1118,1,1061,1051,1307, - 255,1715,1216,672,372,937,1725,1726,1727,1728, - 1005,995,1715,957,1717,1715,1895,1722,1896,1715, - 185,1,1732,1471,1733,1109,27,287,1268,1032, - 1061,1051,1307,66,2573,1216,672,372,1717,1725, - 1726,1727,1728,1005,995,1975,1,1715,1732,1471, - 1733,1109,1718,1598,1715,1721,1061,1051,1307,1720, - 1715,1216,672,372,27,1725,1726,1727,1728,1005, - 995,1715,1,1,1,1,187,2800,1088,2800, - 1,1,1,1719,1672,1,1,1,1715,1, - 1,1,1,1,1,1974,1250,1717,1715,1732, - 1471,1733,1109,186,2801,58,2801,1061,1051,1307, - 1715,1058,1216,672,372,1724,1725,1726,1727,1728, - 1005,995,2031,1,1732,1471,1733,1109,208,2805, - 1,2805,1061,1051,1307,90,2573,1216,672,372, - 1266,1725,1726,1727,1728,1005,995,1715,1732,1471, - 1733,1109,408,481,57,1715,1061,1051,1307,90, - 2573,1216,672,372,1715,1725,1726,1727,1728,1005, - 995,1,1732,1471,1733,1109,1723,56,1715,55, - 1061,1051,1307,1720,2573,1216,672,372,63,1725, - 1726,1727,1728,1005,995,1715,1732,1471,1733,1109, - 222,408,481,1,1061,1051,1307,1719,1720,1216, - 672,372,511,1725,1726,1727,1728,1005,995,1715, - 1732,1483,1733,1109,408,481,408,481,1061,1051, - 1307,286,1719,1216,672,372,1606,1725,1726,1727, - 1728,1005,995,1715,1732,1496,1733,1109,293,1350, - 1327,1715,1061,1051,1307,1120,1715,1216,672,372, - 976,1725,1726,1727,1728,1005,995,1,1732,1471, - 1733,1109,1715,1895,1606,1896,1061,1051,1307,1715, - 1715,1216,672,372,42,1725,1726,1727,1728,1005, - 995,17,1643,1703,64,1703,1703,179,179,179, - 1651,1,1,1703,1403,1284,1724,1720,179,1715, - 1895,67,1896,65,511,179,179,179,179,179, - 1703,18,1604,1706,1284,1706,1706,178,178,178, - 1715,1719,1715,1706,251,258,210,1895,178,1896, - 1,1,1,52,897,178,178,178,178,178, - 1706,1715,683,501,877,857,837,817,797,757, - 777,737,717,697,129,1591,224,1723,1482,130, - 1931,1932,1933,68,1250,1931,1932,1933,511,69, - 1715,1877,1,1943,1402,1715,1877,1715,1878,1876, - 1934,1879,1875,1878,1876,1934,1879,1875,131,255, - 1943,1402,70,132,1931,1932,1933,1,1712,1931, - 1932,1933,71,209,1160,1877,1160,1715,1715,213, - 1877,1626,1878,1876,1934,1879,1875,1878,1876,1934, - 1879,1875,31,250,1589,28,28,578,203,1931, - 1932,1933,252,578,1107,253,1739,1740,1,1, - 1,1931,1932,1933,254,1715,1975,209,191,191, - 1931,1932,1933,191,1715,441,1742,464,1650,1715, - 1715,187,186,1715,1715,1715,208,464,535,1013, - 1715,1715,1715,1715,461,1715,1715,2755,1715,1715, - 1715,1715,1715,1715,1715,1715,1715,1069,1715,327 + 190,1,1,1,1789,1,41,1,1984,189, + 1,1,1,1789,1414,1403,1392,1362,653,1, + 1786,1414,1403,1392,1362,1427,1437,1,1,1, + 1,1,1,1779,181,1,1,1,1,1, + 1,1,1,1,1,1,1,189,1,1, + 1,1789,1,62,1,1984,190,1,1,1, + 261,2014,1164,48,1,50,182,1556,2046,1556, + 1789,1799,1123,1800,1,1,1,1,1,1, + 509,88,1,1,1,1,1,1,1,1, + 1,1,1,1,190,1,1,1,1789,1799, + 66,1800,1984,53,2002,2003,2004,267,2014,1164, + 669,252,478,405,1332,1319,1548,1536,1548,1536, + 284,1951,1952,1950,2005,1953,1949,509,68,1956, + 1961,1960,1958,1959,1957,1962,1963,1955,1964,1965, + 1966,128,1518,1186,1147,200,1789,2002,2003,2004, + 264,267,1448,1448,1,252,1,2014,1447,184, + 2862,1789,2862,1229,1951,1952,1950,2005,1953,1949, + 509,509,1956,1961,1960,1958,1959,1957,1962,1963, + 1955,1964,1965,1966,1,1799,1574,1800,1152,1792, + 70,1789,576,1095,1039,1460,1792,1087,1031,380, + 1801,1802,1803,1804,1103,704,499,594,1789,1799, + 1574,1800,1507,1792,1789,1067,1,1095,1039,1460, + 252,1087,1031,380,1801,1802,1803,1804,72,704, + 499,970,67,52,1791,1,1799,1574,1800,1450, + 28,1791,478,405,1095,1039,1460,2855,1087,1031, + 380,1801,1802,1803,1804,460,704,499,1791,49, + 1789,1789,1799,1556,1800,2046,1789,1799,1574,1800, + 1450,1792,653,1253,270,1095,1039,1460,28,1087, + 1031,380,1801,1802,1803,1804,255,704,499,1789, + 1,1,1,1,509,1229,642,1704,1,1, + 1,1789,1,1,1,1,1,1,1,1789, + 1,1,1548,1536,1789,1195,1791,1789,1799,1574, + 1800,1450,183,2866,58,2866,1095,1039,1460,653, + 1087,1031,380,1801,1802,1803,1804,65,704,499, + 2102,1,1799,1574,1800,1450,205,2872,1287,2872, + 1095,1039,1460,2855,1087,1031,380,1801,1802,1803, + 1804,534,704,499,1789,1799,1574,1800,1450,57, + 1789,1427,1437,1095,1039,1460,2855,1087,1031,380, + 1801,1802,1803,1804,1789,704,499,1,1799,1574, + 1800,1450,56,1,2014,1447,1095,1039,1460,2855, + 1087,1031,380,1801,1802,1803,1804,1789,704,499, + 1789,1799,1574,1800,1450,1789,1427,1437,1789,1095, + 1039,1460,71,1087,1031,380,1801,1802,1803,1804, + 1505,704,499,1789,1799,1576,1800,1450,1789,1427, + 1437,1789,1095,1039,1460,680,1087,1031,380,1801, + 1802,1803,1804,1789,704,499,1789,1799,1608,1800, + 1450,207,1799,42,1800,1095,1039,1460,1789,1087, + 1031,380,1801,1802,1803,1804,1789,704,499,1, + 1799,1574,1800,1450,63,1789,1789,460,1095,1039, + 1460,1794,1087,1031,380,1801,1802,1803,1804,1789, + 704,499,19,1345,1780,248,1780,1780,178,178, + 178,1,1,1,1,1723,1793,206,1577,90, + 1577,1789,1780,928,1,178,178,178,178,178, + 178,1789,1780,907,886,865,844,823,781,802, + 760,739,718,129,90,1332,1319,247,1789,2002, + 2003,2004,130,2002,2003,2004,249,1789,2002,2003, + 2004,1789,1,1,1,69,1951,1952,1950,2005, + 1953,1949,31,2046,1194,1951,1952,1950,2005,1953, + 1949,131,269,1789,1244,1814,1815,2002,2003,2004, + 132,219,1602,250,1789,55,2002,2003,2004,2002, + 2003,2004,509,1789,1951,1952,1950,2005,1953,1949, + 221,509,1626,1951,1952,1950,2005,1953,1949,1, + 1,1783,1164,991,1302,1794,1,251,1448,576, + 509,1794,1789,2002,2003,2004,1789,1798,1789,1143, + 509,1794,1427,1437,1,290,509,1789,1,1794, + 1793,29,1796,1798,29,693,1793,252,2014,1447, + 1789,1343,283,1789,210,1011,1793,1301,2045,188, + 206,1789,1581,188,1793,1582,1789,2026,1789,188, + 439,184,1789,1817,1789,183,1789,1789,1789,1789, + 1795,205,1789,1789,1789,1789,1789,697,1797,2710, + 1789,1789,1789,1789,1789,1301,1789,1789,1789,1789, + 1789,1789,1789,1789,1797,1789,1789,1789,1789,1789, + 1789,1789,1789,1789,1047 }; }; public final static char termAction[] = TermAction.termAction; @@ -577,28 +592,28 @@ public class C99ExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, C9 public interface Asb { public final static char asb[] = {0, - 377,1,76,41,76,76,76,76,76,76, - 76,76,76,3,325,236,233,240,238,246, - 244,248,247,250,249,10,76,325,325,291, - 291,395,76,159,159,319,325,76,76,76, - 76,76,76,76,76,76,76,76,76,76, - 76,76,76,76,76,76,76,76,76,76, - 76,76,76,76,76,76,76,159,159,159, - 45,52,323,70,261,157,156,294,306,66, - 306,66,66,306,66,306,339,113,113,233, - 233,238,238,238,238,236,236,244,240,240, - 247,246,426,249,248,221,68,50,319,323, - 93,45,362,74,159,162,264,66,291,291, - 66,291,76,50,323,314,362,45,73,70, - 159,317,339,158,266,68,191,68,414,416, - 374,218,68,314,362,76,76,45,74,261, - 421,420,323,266,159,68,191,414,414,218, - 48,431,291,76,373,218,50,362,314,45, - 45,159,162,264,317,191,218,366,191,414, - 416,428,416,52,45,291,76,50,314,266, - 191,368,416,218,76,291,45,416,159,158, - 218,257,76,256,89,323,218,218,292,368, - 76,89,416 + 370,1,83,41,83,83,83,83,83,83, + 83,83,83,3,329,403,400,407,405,413, + 411,415,414,417,416,10,83,329,329,254, + 254,150,83,221,221,282,329,83,83,83, + 83,83,83,83,83,83,83,83,83,83, + 83,83,83,83,83,83,83,83,83,83, + 83,83,83,83,83,83,83,221,221,221, + 45,52,286,77,224,219,218,257,269,66, + 269,66,66,269,66,269,343,175,400,400, + 405,405,405,405,403,403,411,407,407,414, + 413,294,416,415,388,68,50,282,286,100, + 45,366,81,221,300,227,66,254,254,66, + 254,83,50,286,277,366,45,80,77,221, + 280,343,220,229,68,120,68,169,171,297, + 147,68,277,366,83,83,45,81,224,289, + 288,286,229,221,68,120,169,169,147,48, + 431,254,83,296,147,50,366,277,45,45, + 221,300,227,280,120,147,70,120,169,171, + 428,171,52,45,254,83,50,277,229,120, + 72,171,147,83,254,45,171,221,220,147, + 424,83,423,96,286,147,147,255,72,83, + 96,171 }; }; public final static char asb[] = Asb.asb; @@ -606,49 +621,49 @@ public class C99ExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, C9 public interface Asr { public final static byte asr[] = {0, - 80,0,66,12,2,52,67,14,15,11, + 80,0,66,20,2,52,67,13,14,11, 4,9,10,53,54,47,48,55,56,57, 58,61,62,63,64,65,68,69,43,60, 70,71,72,73,74,76,75,77,78,79, - 59,29,80,30,50,5,0,5,43,12, - 52,14,15,11,4,9,10,22,23,16, - 2,18,19,20,21,1,3,13,0,6, - 7,8,17,50,5,18,19,20,21,3, - 14,15,11,9,10,22,23,16,4,2, - 1,0,6,7,8,2,18,19,20,21, - 1,3,14,15,11,4,9,10,22,23, - 16,0,7,17,28,8,27,26,25,6, - 24,52,67,14,15,11,9,10,53,54, - 47,48,55,56,57,58,61,62,63,64, - 65,68,69,60,70,71,72,73,74,75, - 76,77,78,79,4,2,12,30,29,5, - 0,4,24,31,6,32,44,25,33,26, - 34,35,27,7,36,37,17,45,28,46, - 38,39,8,40,41,42,1,3,49,0, + 59,30,80,29,50,5,0,5,43,20, + 52,13,14,11,4,9,10,21,22,15, + 2,16,17,18,19,1,3,12,0,66, + 5,4,1,2,59,0,6,7,8,23, + 50,5,16,17,18,19,3,13,14,11, + 9,10,21,22,15,4,2,1,0,6, + 7,8,2,16,17,18,19,1,3,13, + 14,11,4,9,10,21,22,15,0,24, + 31,6,32,44,25,33,26,34,35,27, + 7,36,37,23,45,28,46,38,39,8, + 40,41,42,1,3,51,5,43,0,5, + 30,15,16,17,18,19,1,3,2,13, + 14,11,4,9,10,21,22,0,1,3, + 5,43,29,0,7,23,28,8,27,26, + 25,6,24,52,67,13,14,11,9,10, + 53,54,47,48,55,56,57,58,61,62, + 63,64,65,68,69,60,70,71,72,73, + 74,75,76,77,78,79,4,2,20,29, + 30,5,0,4,2,20,30,5,24,31, + 6,32,44,25,33,26,34,35,27,7, + 36,37,23,45,28,46,38,39,8,40, + 41,42,49,3,1,0,39,31,36,34, + 35,33,32,37,38,40,41,42,59,66, + 28,25,23,24,27,26,6,7,8,29, + 1,5,30,2,20,4,0,2,5,29, + 30,66,20,59,0,60,20,52,0,4, 24,31,6,32,44,25,33,26,34,35, - 27,7,36,37,17,45,28,46,38,39, - 8,40,41,42,1,3,51,5,43,0, - 60,70,71,72,73,74,75,76,77,78, - 79,13,4,53,54,9,10,48,47,55, - 56,57,58,61,62,11,63,64,65,50, - 29,43,80,68,69,59,66,5,30,0, - 4,2,12,29,5,24,31,6,32,44, - 25,33,26,34,35,27,7,36,37,17, - 45,28,46,38,39,8,40,41,42,49, - 3,1,0,39,31,36,34,35,33,32, - 37,38,40,41,42,59,66,28,25,17, - 24,27,26,6,7,8,30,1,5,29, - 2,12,4,0,16,18,19,20,21,2, - 14,15,11,4,9,10,22,23,3,1, - 44,45,46,39,31,36,34,35,33,32, - 37,38,40,41,42,28,25,17,24,27, - 26,6,7,8,0,66,5,4,1,2, - 59,0,60,12,52,0,16,18,19,20, - 21,1,3,2,14,15,11,4,9,10, - 22,23,51,0,5,29,16,18,19,20, - 21,1,3,2,14,15,11,4,9,10, - 22,23,0,1,3,5,43,30,0,2, - 5,30,29,66,12,59,0,5,30,43, + 27,7,36,37,23,45,28,46,38,39, + 8,40,41,42,1,3,49,0,15,16, + 17,18,19,2,13,14,11,4,9,10, + 21,22,1,3,44,45,46,39,31,36, + 34,35,33,32,37,38,40,41,42,28, + 25,23,24,27,26,6,7,8,0,15, + 16,17,18,19,1,3,2,13,14,11, + 4,9,10,21,22,51,0,60,70,71, + 72,73,74,75,76,77,78,79,12,4, + 53,54,9,10,48,47,55,56,57,58, + 61,62,11,63,64,65,50,30,43,80, + 68,69,59,66,5,29,0,5,29,43, 60,0 }; }; @@ -657,28 +672,28 @@ public class C99ExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, C9 public interface Nasb { public final static byte nasb[] = {0, - 103,9,23,9,23,23,23,23,23,23, - 23,23,23,9,86,9,9,9,9,9, - 9,9,9,9,9,9,23,86,86,10, - 10,110,87,80,80,73,1,23,23,23, - 23,23,23,23,23,23,23,23,23,23, - 23,23,23,87,23,23,23,23,23,23, - 23,23,23,23,23,23,23,80,80,80, - 29,23,61,27,72,12,12,58,59,18, - 59,32,32,59,31,59,53,9,9,9, - 9,9,9,9,9,9,9,9,9,9, - 9,9,9,9,9,9,9,49,82,9, - 34,29,51,28,80,39,79,37,37,37, - 37,37,23,21,9,49,51,29,28,14, - 80,45,2,9,41,77,49,9,49,70, - 16,49,9,49,51,23,23,29,28,44, - 12,12,61,41,80,9,93,49,37,25, - 20,9,37,23,101,25,49,51,14,29, - 29,80,39,79,64,49,25,90,106,37, - 70,9,9,22,29,37,23,21,14,97, - 93,47,70,25,23,37,29,70,80,80, - 25,91,23,9,47,61,25,25,9,47, - 23,66,113 + 99,37,18,37,18,18,18,18,18,18, + 18,18,18,37,95,37,37,37,37,37, + 37,37,37,37,37,37,18,95,95,40, + 40,53,96,71,71,79,1,18,18,18, + 18,18,18,18,18,18,18,18,18,18, + 18,18,18,96,18,18,18,18,18,18, + 18,18,18,18,18,18,18,71,71,71, + 25,18,75,23,78,11,11,61,62,38, + 62,86,86,62,85,62,56,37,37,37, + 37,37,37,37,37,37,37,37,37,37, + 37,37,37,37,37,37,49,108,37,27, + 25,42,24,71,90,70,7,7,7,7, + 7,18,16,37,49,42,25,24,73,71, + 45,30,37,92,51,49,37,49,88,13, + 49,37,49,42,18,18,25,24,44,11, + 11,75,92,71,37,104,49,7,9,15, + 37,7,18,83,9,49,42,73,25,25, + 71,90,70,64,49,9,20,116,7,88, + 37,37,17,25,7,18,16,73,112,104, + 47,88,9,18,7,25,88,71,71,9, + 21,18,37,47,75,9,9,37,47,18, + 66,102 }; }; public final static byte nasb[] = Nasb.nasb; @@ -686,18 +701,18 @@ public class C99ExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, C9 public interface Nasr { public final static char nasr[] = {0, - 4,79,78,77,76,65,75,74,0,71, - 0,26,0,21,0,97,0,89,0,69, - 10,59,4,0,32,0,10,4,23,0, - 92,66,0,4,10,0,25,0,31,49, - 10,24,0,20,45,44,37,35,10,0, - 56,0,65,61,62,63,64,52,27,0, - 31,49,0,45,44,37,35,31,0,51, - 0,20,44,45,10,0,90,0,10,20, - 0,45,44,31,0,42,10,41,0,10, - 70,0,81,10,42,0,93,10,24,0, - 99,0,10,87,0,10,42,67,0,10, - 88,0,95,0 + 79,77,76,65,75,74,1,0,32,0, + 26,0,97,0,69,11,59,5,0,11, + 70,0,11,5,24,0,5,11,0,79, + 78,77,76,65,75,74,0,89,0,71, + 0,56,0,21,45,44,37,35,11,0, + 90,0,11,88,0,65,61,62,63,64, + 52,27,0,45,44,37,35,31,0,11, + 21,0,22,0,31,49,0,21,44,45, + 11,0,99,0,92,66,0,51,0,31, + 49,11,25,0,42,11,41,0,11,87, + 0,95,0,81,11,42,0,45,44,31, + 0,93,11,25,0,11,42,67,0 }; }; public final static char nasr[] = Nasr.nasr; @@ -706,8 +721,8 @@ public class C99ExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, C9 public interface TerminalIndex { public final static char terminalIndex[] = {0, 85,2,86,9,87,48,64,76,10,11, - 8,1,3,6,7,68,69,81,82,83, - 84,12,13,44,55,60,63,72,90,42, + 8,3,6,7,68,81,82,83,84,1, + 12,13,69,44,55,60,63,72,42,90, 47,52,56,61,62,66,67,74,75,78, 79,80,91,54,70,73,16,17,30,89, 93,4,14,15,18,19,20,21,29,31, @@ -722,14 +737,14 @@ public class C99ExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, C9 public interface NonterminalIndex { public final static char nonterminalIndex[] = {0, - 0,0,0,101,105,106,107,108,109,0, - 110,111,112,113,114,115,116,117,118,97, - 129,0,96,122,121,150,128,0,0,0, + 100,0,0,0,102,106,107,108,109,110, + 0,111,112,113,114,115,116,117,118,119, + 97,129,0,96,122,150,128,0,0,0, 0,98,0,146,148,0,149,0,0,0, - 100,141,159,160,161,0,120,137,147,156, - 0,131,136,0,151,154,155,158,0,103, + 101,141,159,160,161,0,121,137,147,156, + 0,131,136,0,151,154,155,158,0,104, 132,133,134,135,138,0,140,145,162,99, - 102,104,119,123,124,125,126,127,130,0, + 103,105,120,123,124,125,126,127,130,0, 139,143,0,0,144,153,95,0,0,0, 142,0,152,157,0,163,164,0,165,0, 0,0,0,0,0,0,0,0,0,0, @@ -764,9 +779,9 @@ public class C99ExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, C9 public interface ScopeLhs { public final static char scopeLhs[] = { - 63,61,4,63,26,26,61,53,106,46, - 26,40,46,26,67,5,4,4,18,99, - 98,44,26,37,2,69,67,6,107,4, + 63,61,5,63,26,26,61,53,106,46, + 26,40,46,26,67,6,5,5,19,99, + 98,44,26,37,3,69,67,7,107,5, 67,40,38,40 }; }; @@ -775,9 +790,9 @@ public class C99ExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, C9 public interface ScopeLa { public final static byte scopeLa[] = { - 43,43,43,43,50,50,43,43,86,29, - 50,29,29,50,66,29,29,50,59,50, - 50,29,50,29,29,60,1,29,92,29, + 43,43,43,43,50,50,43,43,86,30, + 50,30,30,50,66,30,30,50,59,50, + 50,30,50,30,30,60,1,30,92,30, 66,2,2,2 }; }; @@ -797,25 +812,25 @@ public class C99ExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, C9 public interface ScopeRhs { public final static char scopeRhs[] = {0, - 140,12,0,96,0,189,103,0,31,136, - 0,144,165,103,13,152,0,98,0,0, - 148,103,2,137,0,97,0,148,103,2, - 0,151,2,0,112,17,179,103,12,0, - 112,179,103,17,12,0,112,17,12,0, - 112,179,103,12,0,112,12,0,130,0, - 2,0,152,97,0,2,97,0,148,103, + 140,20,0,96,0,189,104,0,31,136, + 0,144,165,104,12,152,0,98,0,0, + 148,104,2,137,0,97,0,148,104,2, + 0,151,2,0,113,23,179,104,20,0, + 113,179,104,23,20,0,113,23,20,0, + 113,179,104,20,0,113,20,0,130,0, + 2,0,152,97,0,2,97,0,148,104, 2,130,0,2,0,151,97,0,141,2, - 0,144,177,103,13,118,185,44,0,98, - 0,144,177,103,13,185,44,0,135,0, - 99,0,184,103,135,0,103,135,0,142, - 99,0,173,103,13,183,118,182,158,0, - 173,103,13,182,158,0,195,85,0,77, - 2,100,97,99,0,195,113,134,2,89, - 0,53,0,0,134,69,110,0,29,117, - 0,153,2,0,97,106,0,153,2,16, - 0,144,165,103,13,113,153,2,0,97, - 3,0,104,0,98,0,181,2,97,0, - 134,12,97,0,134,2,0 + 0,144,177,104,12,94,185,44,0,98, + 0,144,177,104,12,185,44,0,135,0, + 99,0,184,104,135,0,104,135,0,142, + 99,0,173,104,12,183,94,182,158,0, + 173,104,12,182,158,0,195,85,0,77, + 2,101,97,99,0,195,114,134,2,89, + 0,53,0,0,134,69,111,0,29,118, + 0,153,2,0,97,107,0,153,2,15, + 0,144,165,104,12,114,153,2,0,97, + 3,0,105,0,98,0,181,2,98,0, + 134,20,98,0,134,2,0 }; }; public final static char scopeRhs[] = ScopeRhs.scopeRhs; @@ -823,15 +838,15 @@ public class C99ExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, C9 public interface ScopeState { public final static char scopeState[] = {0, - 1571,0,1566,1585,1554,0,399,0,1428,1266, - 1402,1235,1203,1129,1098,0,617,1161,317,0, - 1611,1184,986,342,1203,1129,1098,1454,1403,1443, - 0,1216,672,372,1319,383,1544,464,1193,1250, - 578,1350,1327,1284,481,408,1392,1382,1372,1362, - 1472,1414,1405,683,501,1307,1109,1061,1051,1005, - 995,1069,1032,1013,976,957,937,917,618,1088, - 595,511,897,877,857,837,817,797,777,757, - 737,717,697,317,648,555,535,421,441,348, + 1490,0,1685,1686,1652,0,397,0,1488,1343, + 1447,1270,1240,1164,1134,0,638,1196,314,0, + 1470,1359,1163,370,1240,1164,1134,1656,1448,1489, + 0,1087,1031,380,1507,1152,1564,460,642,1229, + 576,1332,1319,1287,1437,1427,1414,1403,1392,1362, + 1556,1548,1536,478,405,1460,1450,1095,1039,704, + 499,1103,1067,1047,1011,991,970,949,617,1123, + 594,509,928,907,886,865,844,823,802,781, + 760,739,718,314,669,555,534,418,439,345, 0 }; }; @@ -840,28 +855,28 @@ public class C99ExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, C9 public interface InSymb { public final static char inSymb[] = {0, - 0,180,103,166,16,23,22,10,9,4, - 11,15,14,97,2,101,100,104,102,106, - 105,108,107,110,109,98,30,2,2,67, - 52,2,12,153,134,135,103,10,9,54, + 0,180,104,166,15,22,21,10,9,4, + 11,14,13,98,2,102,101,105,103,107, + 106,109,108,111,110,99,29,2,2,67, + 52,2,20,153,134,135,104,10,9,54, 53,4,58,57,56,55,47,48,11,62, 61,64,63,69,68,65,79,78,77,75, 76,74,73,72,71,70,60,153,153,181, - 134,113,103,12,2,138,137,167,168,158, - 169,46,45,170,44,171,172,1,3,100, - 100,102,102,102,102,101,101,105,104,104, - 107,106,134,109,108,113,113,13,142,124, - 17,112,103,4,151,103,2,182,159,159, - 185,159,59,103,124,4,103,112,179,149, - 148,117,103,150,103,118,13,118,13,165, - 103,13,152,4,103,179,17,112,4,2, - 128,130,103,30,148,183,103,13,103,144, - 30,189,52,12,190,103,13,103,149,112, - 112,141,103,2,142,13,173,135,174,103, - 177,118,178,60,140,52,12,103,149,103, - 103,103,177,144,60,30,140,165,148,186, - 173,184,59,141,2,103,144,144,30,30, - 59,142,125 + 134,114,104,20,2,138,137,167,168,158, + 169,46,45,170,44,171,172,94,101,101, + 103,103,103,103,102,102,106,105,105,108, + 107,134,110,109,114,114,12,142,124,23, + 113,104,4,151,104,2,182,159,159,185, + 159,59,104,124,4,104,113,179,149,148, + 118,104,150,104,94,12,94,12,165,104, + 12,152,4,104,179,23,113,4,2,128, + 130,104,29,148,183,104,12,104,144,29, + 189,52,20,190,104,12,104,149,113,113, + 141,104,2,142,12,173,135,174,104,177, + 94,178,60,140,52,20,104,149,104,104, + 104,177,144,60,29,140,165,148,186,173, + 184,59,141,2,104,144,144,29,29,59, + 142,125 }; }; public final static char inSymb[] = InSymb.inSymb; @@ -969,6 +984,7 @@ public class C99ExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, C9 ")", "}", ";", + "identifier_token", "expression", "postfix_expression", "member_name", @@ -990,7 +1006,6 @@ public class C99ExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, C9 "assignment_expression", "expression_list_actual", "constant_expression", - "identifier_token", "declaration_specifiers", "simple_declaration_specifiers", "struct_or_union_declaration_sp" + @@ -1007,7 +1022,7 @@ public class C99ExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, C9 "struct_or_union_specifier", "elaborated_specifier", "enum_specifier", - "typedef_name_in_declspec", + "type_name_specifier", "initializer", "declarator", "struct_or_union", @@ -1057,20 +1072,20 @@ public class C99ExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, C9 public final int getMaxNameLength() { return MAX_NAME_LENGTH; } public final static int - NUM_STATES = 213, + NUM_STATES = 212, NT_OFFSET = 93, - LA_STATE_OFFSET = 2031, + LA_STATE_OFFSET = 2102, MAX_LA = 2, - NUM_RULES = 316, + NUM_RULES = 313, NUM_NONTERMINALS = 123, NUM_SYMBOLS = 216, SEGMENT_SIZE = 8192, - START_STATE = 1584, + START_STATE = 1579, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 80, EOLT_SYMBOL = 80, - ACCEPT_ACTION = 1702, - ERROR_ACTION = 1715; + ACCEPT_ACTION = 1779, + ERROR_ACTION = 1789; public final static boolean BACKTRACK = true; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParsersym.java index a8dbdbeee18..bcbc8d155cd 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParsersym.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParsersym.java @@ -39,8 +39,8 @@ public interface C99ExpressionParsersym { TK_return = 90, TK_short = 36, TK_signed = 37, - TK_sizeof = 16, - TK_static = 17, + TK_sizeof = 15, + TK_static = 23, TK_struct = 45, TK_switch = 91, TK_typedef = 28, @@ -52,27 +52,27 @@ public interface C99ExpressionParsersym { TK__Bool = 40, TK__Complex = 41, TK__Imaginary = 42, - TK_integer = 18, - TK_floating = 19, - TK_charconst = 20, - TK_stringlit = 21, + TK_integer = 16, + TK_floating = 17, + TK_charconst = 18, + TK_stringlit = 19, TK_identifier = 1, TK_Completion = 3, TK_EndOfCompletion = 5, TK_Invalid = 93, - TK_LeftBracket = 12, + TK_LeftBracket = 20, TK_LeftParen = 2, - TK_LeftBrace = 13, + TK_LeftBrace = 12, TK_Dot = 52, TK_Arrow = 67, - TK_PlusPlus = 14, - TK_MinusMinus = 15, + TK_PlusPlus = 13, + TK_MinusMinus = 14, TK_And = 11, TK_Star = 4, TK_Plus = 9, TK_Minus = 10, - TK_Tilde = 22, - TK_Bang = 23, + TK_Tilde = 21, + TK_Bang = 22, TK_Slash = 53, TK_Percent = 54, TK_RightShift = 47, @@ -101,9 +101,9 @@ public interface C99ExpressionParsersym { TK_AndAssign = 77, TK_CaretAssign = 78, TK_OrAssign = 79, - TK_Comma = 30, + TK_Comma = 29, TK_RightBracket = 50, - TK_RightParen = 29, + TK_RightParen = 30, TK_RightBrace = 43, TK_SemiColon = 66, TK_ERROR_TOKEN = 51, @@ -122,25 +122,25 @@ public interface C99ExpressionParsersym { "Plus", "Minus", "And", - "LeftBracket", "LeftBrace", "PlusPlus", "MinusMinus", "sizeof", - "static", "integer", "floating", "charconst", "stringlit", + "LeftBracket", "Tilde", "Bang", + "static", "auto", "extern", "inline", "register", "typedef", - "RightParen", "Comma", + "RightParen", "char", "double", "float", diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParser.java index 10de8cb725e..7ef412cbbde 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParser.java @@ -253,81 +253,81 @@ public C99NoCastExpressionParser(IParserActionTokenProvider parser) { // constr } // - // Rule 10: literal ::= integer + // Rule 12: literal ::= integer // - case 10: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_integer_constant); break; + case 12: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_integer_constant); break; } // - // Rule 11: literal ::= floating + // Rule 13: literal ::= floating // - case 11: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_float_constant); break; + case 13: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_float_constant); break; } // - // Rule 12: literal ::= charconst + // Rule 14: literal ::= charconst // - case 12: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_char_constant); break; + case 14: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_char_constant); break; } // - // Rule 13: literal ::= stringlit + // Rule 15: literal ::= stringlit // - case 13: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_string_literal); break; + case 15: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_string_literal); break; } // - // Rule 15: primary_expression ::= primary_expression_id + // Rule 17: primary_expression ::= primary_expression_id // - case 15: { action. consumeExpressionID(); break; + case 17: { action. consumeExpressionID(); break; } // - // Rule 16: primary_expression ::= ( expression ) + // Rule 18: primary_expression ::= ( expression ) // - case 16: { action. consumeExpressionBracketed(); break; + case 18: { action. consumeExpressionBracketed(); break; } // - // Rule 20: postfix_expression ::= postfix_expression [ expression ] + // Rule 21: postfix_expression ::= postfix_expression [ expression ] // - case 20: { action. consumeExpressionArraySubscript(); break; + case 21: { action. consumeExpressionArraySubscript(); break; } // - // Rule 21: postfix_expression ::= postfix_expression ( expression_list_opt ) + // Rule 22: postfix_expression ::= postfix_expression ( expression_list_opt ) // - case 21: { action. consumeExpressionFunctionCall(); break; + case 22: { action. consumeExpressionFunctionCall(); break; } // - // Rule 22: postfix_expression ::= postfix_expression . member_name + // Rule 23: postfix_expression ::= postfix_expression . member_name // - case 22: { action. consumeExpressionFieldReference(false); break; + case 23: { action. consumeExpressionFieldReference(false); break; } // - // Rule 23: postfix_expression ::= postfix_expression -> member_name + // Rule 24: postfix_expression ::= postfix_expression -> member_name // - case 23: { action. consumeExpressionFieldReference(true); break; + case 24: { action. consumeExpressionFieldReference(true); break; } // - // Rule 24: postfix_expression ::= postfix_expression ++ + // Rule 25: postfix_expression ::= postfix_expression ++ // - case 24: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break; + case 25: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break; } // - // Rule 25: postfix_expression ::= postfix_expression -- + // Rule 26: postfix_expression ::= postfix_expression -- // - case 25: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break; + case 26: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break; } // - // Rule 26: postfix_expression ::= ( type_id ) { <openscope-ast> initializer_list comma_opt } + // Rule 27: postfix_expression ::= ( type_id ) { <openscope-ast> initializer_list comma_opt } // - case 26: { action. consumeExpressionTypeIdInitializer(); break; + case 27: { action. consumeExpressionTypeIdInitializer(); break; } // @@ -775,489 +775,483 @@ public C99NoCastExpressionParser(IParserActionTokenProvider parser) { // constr } // - // Rule 177: typedef_name_in_declspec ::= Completion + // Rule 177: type_name_specifier ::= identifier_token // case 177: { action. consumeToken(); break; } // - // Rule 178: typedef_name_in_declspec ::= identifier + // Rule 178: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt } // - case 178: { action. consumeToken(); break; + case 178: { action. consumeTypeSpecifierComposite(false); break; } // - // Rule 181: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt } + // Rule 179: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook identifier_token struct_or_union_specifier_suffix_hook { <openscope-ast> struct_declaration_list_opt } // - case 181: { action. consumeTypeSpecifierComposite(false); break; + case 179: { action. consumeTypeSpecifierComposite(true); break; } // - // Rule 182: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook identifier_token struct_or_union_specifier_suffix_hook { <openscope-ast> struct_declaration_list_opt } + // Rule 184: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token // - case 182: { action. consumeTypeSpecifierComposite(true); break; + case 184: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break; } // - // Rule 187: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token + // Rule 185: elaborated_specifier ::= union elaborated_specifier_hook identifier_token // - case 187: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break; + case 185: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break; } // - // Rule 188: elaborated_specifier ::= union elaborated_specifier_hook identifier_token + // Rule 186: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token // - case 188: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break; + case 186: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break; } // - // Rule 189: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token + // Rule 192: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ; // - case 189: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break; + case 192: { action. consumeStructDeclaration(true); break; } // - // Rule 195: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ; + // Rule 193: struct_declaration ::= specifier_qualifier_list ; // - case 195: { action. consumeStructDeclaration(true); break; + case 193: { action. consumeStructDeclaration(false); break; } // - // Rule 196: struct_declaration ::= specifier_qualifier_list ; + // Rule 194: struct_declaration ::= ERROR_TOKEN // - case 196: { action. consumeStructDeclaration(false); break; + case 194: { action. consumeDeclarationProblem(); break; } // - // Rule 197: struct_declaration ::= ERROR_TOKEN + // Rule 200: struct_declarator ::= : constant_expression // - case 197: { action. consumeDeclarationProblem(); break; + case 200: { action. consumeBitField(false); break; } // - // Rule 203: struct_declarator ::= : constant_expression + // Rule 201: struct_declarator ::= declarator : constant_expression // - case 203: { action. consumeBitField(false); break; + case 201: { action. consumeBitField(true); break; } // - // Rule 204: struct_declarator ::= declarator : constant_expression + // Rule 202: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } // - case 204: { action. consumeBitField(true); break; + case 202: { action. consumeTypeSpecifierEnumeration(false); break; } // - // Rule 205: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 203: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } // - case 205: { action. consumeTypeSpecifierEnumeration(false); break; + case 203: { action. consumeTypeSpecifierEnumeration(true); break; } // - // Rule 206: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 209: enumerator ::= identifier_token // - case 206: { action. consumeTypeSpecifierEnumeration(true); break; + case 209: { action. consumeEnumerator(false); break; } // - // Rule 212: enumerator ::= identifier_token + // Rule 210: enumerator ::= identifier_token = constant_expression // - case 212: { action. consumeEnumerator(false); break; + case 210: { action. consumeEnumerator(true); break; } // - // Rule 213: enumerator ::= identifier_token = constant_expression + // Rule 211: type_qualifier ::= type_qualifier_token // - case 213: { action. consumeEnumerator(true); break; + case 211: { action. consumeToken(); break; } // - // Rule 214: type_qualifier ::= type_qualifier_token + // Rule 215: function_specifier ::= inline // - case 214: { action. consumeToken(); break; + case 215: { action. consumeToken(); break; } // - // Rule 218: function_specifier ::= inline + // Rule 217: declarator ::= <openscope-ast> pointer_seq direct_declarator // - case 218: { action. consumeToken(); break; + case 217: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 220: declarator ::= <openscope-ast> pointer_seq direct_declarator + // Rule 222: basic_direct_declarator ::= declarator_id_name // - case 220: { action. consumeDeclaratorWithPointer(true); break; + case 222: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 225: basic_direct_declarator ::= declarator_id_name + // Rule 223: basic_direct_declarator ::= ( declarator ) // - case 225: { action. consumeDirectDeclaratorIdentifier(); break; + case 223: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 226: basic_direct_declarator ::= ( declarator ) + // Rule 224: declarator_id_name ::= identifier // - case 226: { action. consumeDirectDeclaratorBracketed(); break; + case 224: { action. consumeIdentifierName(); break; } // - // Rule 227: declarator_id_name ::= identifier + // Rule 225: array_direct_declarator ::= basic_direct_declarator array_modifier // - case 227: { action. consumeIdentifierName(); break; + case 225: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 228: array_direct_declarator ::= basic_direct_declarator array_modifier + // Rule 226: array_direct_declarator ::= array_direct_declarator array_modifier // - case 228: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 226: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 229: array_direct_declarator ::= array_direct_declarator array_modifier + // Rule 228: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list ) // - case 229: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 228: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; } // - // Rule 231: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list ) + // Rule 229: function_direct_declarator ::= basic_direct_declarator ( ) // - case 231: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; + case 229: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; } // - // Rule 232: function_direct_declarator ::= basic_direct_declarator ( ) + // Rule 231: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator // - case 232: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; + case 231: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 234: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator + // Rule 232: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list ) // - case 234: { action. consumeDeclaratorWithPointer(true); break; - } - - // - // Rule 235: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list ) - // - case 235: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; + case 232: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; } // - // Rule 237: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator + // Rule 234: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator // - case 237: { action. consumeDeclaratorWithPointer(true); break; + case 234: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 238: identifier_list ::= identifier + // Rule 235: identifier_list ::= identifier // - case 238: { action. consumeIdentifierKnR(); break; + case 235: { action. consumeIdentifierKnR(); break; } // - // Rule 239: identifier_list ::= identifier_list , identifier + // Rule 236: identifier_list ::= identifier_list , identifier // - case 239: { action. consumeIdentifierKnR(); break; + case 236: { action. consumeIdentifierKnR(); break; } // - // Rule 240: array_modifier ::= [ ] + // Rule 237: array_modifier ::= [ ] // - case 240: { action. consumeDirectDeclaratorArrayModifier(false); break; + case 237: { action. consumeDirectDeclaratorArrayModifier(false); break; } // - // Rule 241: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ] + // Rule 238: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ] // - case 241: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break; + case 238: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break; } // - // Rule 242: array_modifier ::= [ assignment_expression ] + // Rule 239: array_modifier ::= [ assignment_expression ] // - case 242: { action. consumeDirectDeclaratorArrayModifier(true); break; + case 239: { action. consumeDirectDeclaratorArrayModifier(true); break; } // - // Rule 243: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ] + // Rule 240: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ] // - case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break; + case 240: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break; } // - // Rule 244: array_modifier ::= [ static assignment_expression ] + // Rule 241: array_modifier ::= [ static assignment_expression ] // - case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break; + case 241: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break; } // - // Rule 245: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ] + // Rule 242: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ] // - case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; + case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; } // - // Rule 246: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ] + // Rule 243: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ] // - case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; + case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; } // - // Rule 247: array_modifier ::= [ * ] + // Rule 244: array_modifier ::= [ * ] // - case 247: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break; + case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break; } // - // Rule 248: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ] + // Rule 245: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ] // - case 248: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break; + case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break; } // - // Rule 250: pointer_seq ::= pointer_hook * + // Rule 247: pointer_seq ::= pointer_hook * // - case 250: { action. consumePointer(); break; + case 247: { action. consumePointer(); break; } // - // Rule 251: pointer_seq ::= pointer_seq pointer_hook * + // Rule 248: pointer_seq ::= pointer_seq pointer_hook * // - case 251: { action. consumePointer(); break; + case 248: { action. consumePointer(); break; } // - // Rule 252: pointer_seq ::= pointer_hook * <openscope-ast> type_qualifier_list + // Rule 249: pointer_seq ::= pointer_hook * <openscope-ast> type_qualifier_list // - case 252: { action. consumePointerTypeQualifierList(); break; + case 249: { action. consumePointerTypeQualifierList(); break; } // - // Rule 253: pointer_seq ::= pointer_seq pointer_hook * <openscope-ast> type_qualifier_list + // Rule 250: pointer_seq ::= pointer_seq pointer_hook * <openscope-ast> type_qualifier_list // - case 253: { action. consumePointerTypeQualifierList(); break; + case 250: { action. consumePointerTypeQualifierList(); break; } // - // Rule 257: parameter_type_list ::= parameter_list + // Rule 254: parameter_type_list ::= parameter_list // - case 257: { action. consumeEmpty(); break; + case 254: { action. consumeEmpty(); break; } // - // Rule 258: parameter_type_list ::= parameter_list , ... + // Rule 255: parameter_type_list ::= parameter_list , ... // - case 258: { action. consumePlaceHolder(); break; + case 255: { action. consumePlaceHolder(); break; } // - // Rule 259: parameter_type_list ::= ... + // Rule 256: parameter_type_list ::= ... // - case 259: { action. consumePlaceHolder(); break; + case 256: { action. consumePlaceHolder(); break; } // - // Rule 262: parameter_declaration ::= declaration_specifiers complete_parameter_declarator + // Rule 259: parameter_declaration ::= declaration_specifiers complete_parameter_declarator // - case 262: { action. consumeParameterDeclaration(); break; + case 259: { action. consumeParameterDeclaration(); break; } // - // Rule 263: parameter_declaration ::= declaration_specifiers + // Rule 260: parameter_declaration ::= declaration_specifiers // - case 263: { action. consumeParameterDeclarationWithoutDeclarator(); break; + case 260: { action. consumeParameterDeclarationWithoutDeclarator(); break; } // - // Rule 266: type_id ::= specifier_qualifier_list + // Rule 263: type_id ::= specifier_qualifier_list // - case 266: { action. consumeTypeId(false); break; + case 263: { action. consumeTypeId(false); break; } // - // Rule 267: type_id ::= specifier_qualifier_list abstract_declarator + // Rule 264: type_id ::= specifier_qualifier_list abstract_declarator // - case 267: { action. consumeTypeId(true); break; + case 264: { action. consumeTypeId(true); break; } // - // Rule 269: abstract_declarator ::= <openscope-ast> pointer_seq + // Rule 266: abstract_declarator ::= <openscope-ast> pointer_seq // - case 269: { action. consumeDeclaratorWithPointer(false); break; + case 266: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 270: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator + // Rule 267: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator // - case 270: { action. consumeDeclaratorWithPointer(false); break; + case 267: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 274: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 271: basic_direct_abstract_declarator ::= ( abstract_declarator ) // - case 274: { action. consumeDirectDeclaratorBracketed(); break; + case 271: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 275: array_direct_abstract_declarator ::= array_modifier + // Rule 272: array_direct_abstract_declarator ::= array_modifier // - case 275: { action. consumeDirectDeclaratorArrayDeclarator(false); break; + case 272: { action. consumeDirectDeclaratorArrayDeclarator(false); break; } // - // Rule 276: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier + // Rule 273: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier // - case 276: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 273: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 277: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier + // Rule 274: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier // - case 277: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 274: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 278: function_direct_abstract_declarator ::= ( ) + // Rule 275: function_direct_abstract_declarator ::= ( ) // - case 278: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break; + case 275: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break; } // - // Rule 279: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( ) + // Rule 276: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( ) // - case 279: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; + case 276: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; } // - // Rule 280: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list ) + // Rule 277: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list ) // - case 280: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break; + case 277: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break; } // - // Rule 281: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list ) + // Rule 278: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list ) // - case 281: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; + case 278: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; } // - // Rule 282: initializer ::= assignment_expression + // Rule 279: initializer ::= assignment_expression // - case 282: { action. consumeInitializer(); break; + case 279: { action. consumeInitializer(); break; } // - // Rule 283: initializer ::= start_initializer_list { <openscope-ast> initializer_list comma_opt } end_initializer_list + // Rule 280: initializer ::= start_initializer_list { <openscope-ast> initializer_list comma_opt } end_initializer_list // - case 283: { action. consumeInitializerList(); break; + case 280: { action. consumeInitializerList(); break; } // - // Rule 284: initializer ::= { <openscope-ast> } + // Rule 281: initializer ::= { <openscope-ast> } // - case 284: { action. consumeInitializerList(); break; + case 281: { action. consumeInitializerList(); break; } // - // Rule 285: start_initializer_list ::= $Empty + // Rule 282: start_initializer_list ::= $Empty // - case 285: { action. initializerListStart(); break; + case 282: { action. initializerListStart(); break; } // - // Rule 286: end_initializer_list ::= $Empty + // Rule 283: end_initializer_list ::= $Empty // - case 286: { action. initializerListEnd(); break; + case 283: { action. initializerListEnd(); break; } // - // Rule 291: designated_initializer ::= <openscope-ast> designation = initializer + // Rule 288: designated_initializer ::= <openscope-ast> designation = initializer // - case 291: { action. consumeInitializerDesignated(); break; + case 288: { action. consumeInitializerDesignated(); break; } // - // Rule 295: designator_base ::= [ constant_expression ] + // Rule 292: designator_base ::= [ constant_expression ] // - case 295: { action. consumeDesignatorArray(); break; + case 292: { action. consumeDesignatorArray(); break; } // - // Rule 296: designator_base ::= . identifier_token + // Rule 293: designator_base ::= . identifier_token // - case 296: { action. consumeDesignatorField(); break; + case 293: { action. consumeDesignatorField(); break; } // - // Rule 297: designator ::= [ constant_expression ] + // Rule 294: designator ::= [ constant_expression ] // - case 297: { action. consumeDesignatorArray(); break; + case 294: { action. consumeDesignatorArray(); break; } // - // Rule 298: designator ::= . identifier_token + // Rule 295: designator ::= . identifier_token // - case 298: { action. consumeDesignatorField(); break; + case 295: { action. consumeDesignatorField(); break; } // - // Rule 299: translation_unit ::= external_declaration_list + // Rule 296: translation_unit ::= external_declaration_list // - case 299: { action. consumeTranslationUnit(); break; + case 296: { action. consumeTranslationUnit(); break; } // - // Rule 300: translation_unit ::= $Empty + // Rule 297: translation_unit ::= $Empty // - case 300: { action. consumeTranslationUnit(); break; + case 297: { action. consumeTranslationUnit(); break; } // - // Rule 305: external_declaration ::= ; + // Rule 302: external_declaration ::= ; // - case 305: { action. consumeDeclarationEmpty(); break; + case 302: { action. consumeDeclarationEmpty(); break; } // - // Rule 306: external_declaration ::= ERROR_TOKEN + // Rule 303: external_declaration ::= ERROR_TOKEN // - case 306: { action. consumeDeclarationProblem(); break; + case 303: { action. consumeDeclarationProblem(); break; } // - // Rule 309: function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body + // Rule 306: function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body // - case 309: { action. consumeFunctionDefinition(true); break; + case 306: { action. consumeFunctionDefinition(true); break; } // - // Rule 310: function_definition ::= <openscope-ast> function_declarator function_body + // Rule 307: function_definition ::= <openscope-ast> function_declarator function_body // - case 310: { action. consumeFunctionDefinition(false); break; + case 307: { action. consumeFunctionDefinition(false); break; } // - // Rule 311: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement + // Rule 308: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement // - case 311: { action. consumeFunctionDefinitionKnR(); break; + case 308: { action. consumeFunctionDefinitionKnR(); break; } // - // Rule 312: function_body ::= { } + // Rule 309: function_body ::= { } // - case 312: { action. consumeStatementCompoundStatement(false); break; + case 309: { action. consumeStatementCompoundStatement(false); break; } // - // Rule 313: function_body ::= { <openscope-ast> block_item_list } + // Rule 310: function_body ::= { <openscope-ast> block_item_list } // - case 313: { action. consumeStatementCompoundStatement(true); break; + case 310: { action. consumeStatementCompoundStatement(true); break; } // - // Rule 315: no_cast_start ::= ERROR_TOKEN + // Rule 312: no_cast_start ::= ERROR_TOKEN // - case 315: { action. consumeExpressionProblem(); break; + case 312: { action. consumeExpressionProblem(); break; } diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParserprs.java index 75b026f1349..8f5cacf1022 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParserprs.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParserprs.java @@ -35,8 +35,8 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface BaseCheck { public final static short baseCheck[] = {0, 0,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,3,1,1,1,4, - 4,3,3,2,2,8,1,0,1,1, + 1,1,1,1,1,1,1,3,1,1, + 4,4,3,3,2,2,8,1,0,1, 1,2,2,2,2,2,2,2,2,2, 4,1,1,3,3,3,1,3,3,1, 3,3,1,3,3,3,3,1,3,3, @@ -51,159 +51,168 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 1,2,2,1,2,2,1,2,2,1, 2,2,1,3,1,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, - 6,8,0,0,1,1,3,3,3,0, - 1,0,1,2,4,2,1,1,1,3, - 1,1,2,3,7,8,0,1,0,1, - 3,1,3,1,1,1,1,1,1,3, - 1,1,1,1,1,3,1,2,2,1, - 5,3,1,3,5,1,3,1,3,2, - 4,3,5,4,6,6,3,5,1,2, - 3,4,5,0,1,2,1,3,1,1, - 3,2,1,1,1,1,2,1,2,3, - 1,1,1,3,1,2,2,2,3,4, - 5,1,7,3,0,0,1,1,3,3, - 4,1,1,2,3,2,3,2,1,0, - 1,2,1,1,1,1,1,2,4,3, - 6,2,4,1,1,-32,0,0,0,0, - 0,0,0,0,0,-2,0,0,0,0, - 0,0,0,0,0,0,0,-78,-79,-4, - -72,-15,0,0,0,0,-121,0,0,0, + 1,1,1,1,1,1,1,6,8,0, + 0,1,1,3,3,3,0,1,0,1, + 2,4,2,1,1,1,3,1,1,2, + 3,7,8,0,1,0,1,3,1,3, + 1,1,1,1,1,1,3,1,1,1, + 1,1,3,1,2,2,1,5,3,1, + 3,5,1,3,1,3,2,4,3,5, + 4,6,6,3,5,1,2,3,4,5, + 0,1,2,1,3,1,1,3,2,1, + 1,1,1,2,1,2,3,1,1,1, + 3,1,2,2,2,3,4,5,1,7, + 3,0,0,1,1,3,3,4,1,1, + 2,3,2,3,2,1,0,1,2,1, + 1,1,1,1,2,4,3,6,2,4, + 1,1,-32,0,0,0,0,0,0,0, + 0,0,0,-76,0,0,0,0,0,0, + 0,0,0,0,0,-78,-114,0,-2,0, + 0,0,0,-120,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, - -17,-76,-73,-209,-18,0,0,0,0,0, - -37,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-127,-81,-138,0,0, - -133,-19,0,0,0,0,0,0,0,0, - 0,0,0,-20,0,0,0,-21,0,-185, + 0,0,0,0,0,-4,0,-15,-72,-115, + 0,-126,0,0,0,0,0,-110,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-137,0,-116,0,-132, + 0,0,0,-6,0,0,0,0,0,0, + 0,0,0,-117,0,0,-184,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,-55,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-33, - 0,0,-55,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-38, - 0,0,0,0,0,0,0,0,0,-22, - 0,0,0,0,0,0,-157,-23,0,-6, - 0,0,0,0,0,0,-193,0,-70,0, + 0,0,0,0,0,0,-145,0,0,0, + 0,0,0,0,0,-16,-104,-17,0,0, + 0,0,0,0,-118,0,0,0,-79,-18, + 0,-19,-73,-147,-29,0,-70,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-181,0,0,0,0,0,0,0, - 0,0,-163,0,0,0,0,0,0,0, + 0,-180,0,0,0,0,0,0,0,0, + 0,0,-20,0,0,0,0,0,0,0, 0,0,-3,0,0,0,0,0,0,0, - 0,0,-105,0,0,0,0,0,0,0, - 0,0,0,0,0,-51,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -29,0,-108,0,0,0,0,0,0,0, + 0,0,0,-51,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-30, + 0,-107,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-24,-30,-126,0,0,0,0, + 0,0,0,-21,-125,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-130,0,-142,0,-52, - 0,0,0,0,0,0,0,0,0,-123, - 0,0,0,-25,-26,0,0,0,0,0, - -174,-68,0,0,0,0,-27,0,0,0, - 0,0,0,0,0,0,-175,0,0,0, - 0,0,0,0,0,0,0,0,-84,0, - -210,-85,0,0,-88,0,0,0,0,0, - -46,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-129,0,-141,0,-52, + 0,0,0,0,0,0,0,0,0,0, + -122,0,0,0,-67,-22,0,0,0,0, + -156,0,0,0,0,0,-27,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-23,0, + -159,0,0,0,-162,0,0,0,0,0, + -37,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,-56,0,0,0,0, - 0,0,0,0,0,-89,0,0,0,0, - 0,0,0,0,0,-57,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-58,0,0,0,0, - 0,0,0,0,0,-90,0,0,0,0, - 0,0,0,0,0,-59,0,0,0,0, + 0,0,0,0,0,0,-57,0,0,0, + 0,0,0,0,0,0,0,-24,0,0, + 0,0,0,0,0,0,0,-58,0,0, + 0,0,0,0,0,0,0,0,-25,0, + 0,0,0,0,0,0,0,0,-59,0, + 0,0,0,0,0,0,0,0,0,-26, + 0,0,0,0,0,0,0,0,0,-60, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-60,0,0,0,0, - 0,0,0,0,0,-91,0,0,0,0, - 0,0,0,0,0,-61,0,0,0,0, - 0,0,0,0,0,-92,0,0,0,0, - 0,0,0,0,0,-62,0,0,0,0, - 0,0,0,0,0,-93,0,0,0,0, - 0,0,0,0,0,-63,0,0,0,0, - 0,0,0,0,0,-94,0,0,0,0, - 0,0,0,0,0,-64,0,0,0,0, - 0,0,0,0,0,-95,0,0,0,0, - 0,0,0,0,0,-65,0,0,0,0, - 0,0,0,0,0,-162,0,0,0,0, + -68,0,0,0,0,0,0,0,0,0, + -61,0,0,0,0,0,0,0,0,0, + 0,-84,0,0,0,0,0,0,0,0, + 0,-62,0,0,0,0,0,0,0,0, + 0,0,-87,0,0,0,0,0,0,0, + 0,0,-63,0,0,0,0,0,0,0, + 0,0,0,-88,0,0,0,0,0,0, + 0,0,0,-64,0,0,0,0,0,0, + 0,0,0,0,-89,0,0,0,0,0, + 0,0,0,0,-65,0,0,0,0,0, + 0,0,0,0,0,-90,0,0,0,0, 0,0,0,0,0,-66,0,0,0,0, - 0,0,0,0,0,-96,0,0,0,0, - 0,0,0,0,0,-143,0,0,0,0, - 0,0,0,0,0,-97,0,0,0,0, - 0,0,0,0,0,-144,0,0,0,0, - 0,0,0,0,0,-98,0,0,0,0, - 0,0,0,0,0,-161,0,0,0,0, - 0,0,0,0,0,-99,0,0,0,0, - 0,0,0,0,-184,0,0,0,0,0, + 0,0,0,0,0,0,-91,0,0,0, + 0,0,0,0,0,0,-142,0,0,0, + 0,0,0,0,0,0,0,-92,0,0, + 0,0,0,0,0,0,0,-143,0,0, + 0,0,0,0,0,0,0,0,-136,0, + 0,0,0,0,0,0,0,0,-160,0, + 0,0,0,0,0,0,0,0,0,-173, + 0,0,0,0,0,0,0,0,-183,0, + 0,0,0,0,0,0,0,0,0,-174, + 0,0,0,0,0,0,0,0,-93,0, + 0,0,-177,-94,0,-7,0,0,0,0, + 0,0,0,-191,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-199,0,0,0,0,0,0, + 0,0,0,0,-133,0,0,0,0,0, + 0,0,0,0,-161,0,-182,0,0,0, + -8,0,0,0,0,0,0,0,-207,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-119,0, + 0,0,0,0,0,0,0,0,0,-95, + 0,0,0,0,0,0,0,0,-96,-192, + 0,-97,-81,-98,0,-54,0,0,0,0, + 0,0,0,0,0,0,-128,0,0,0, + 0,0,0,-33,0,-34,0,0,-48,0, + 0,0,0,0,0,0,0,0,0,-99, + 0,0,0,0,-100,-146,-101,-102,-103,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-1,-36,0,-53,-35,0,0,0,-83, + 0,0,0,0,0,0,0,-85,0,0, + 0,0,0,0,0,-106,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-7,0,0,0,0,0,0, - -100,0,-8,0,0,0,0,0,0,-101, - -192,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-200, - 0,0,0,0,0,0,0,0,0,-102, - 0,0,0,0,0,0,0,0,-9,0, - 0,0,0,0,0,-34,0,-10,0,0, - 0,0,0,0,-103,-208,0,0,0,0, + 0,0,0,0,0,0,0,0,-171,0, + 0,-46,0,0,0,0,0,0,0,0, + 0,0,-121,0,-188,-135,-138,-140,-148,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-120,0,0,0,0,0, - 0,0,0,0,-129,0,0,0,0,0, - 0,0,0,-137,0,-5,0,0,0,0, - 0,0,-11,0,0,0,0,0,0,-165, - 0,-148,-87,-110,-147,0,-67,0,0,0, + -130,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-134,-139,0,0,0, + 0,0,0,0,-5,0,0,0,0,0, + 0,0,-49,0,0,0,0,0,0,0, + 0,0,0,-152,0,-50,0,0,0,0, + 0,0,0,0,0,0,-190,0,-206,-12, + 0,0,0,0,0,0,0,0,-165,0, + -209,-158,-178,-179,-200,0,-42,0,0,0, + 0,0,0,0,0,0,0,-205,0,0, + 0,0,0,0,0,0,0,0,-13,0, + 0,0,0,0,0,0,-43,0,0,0, + 0,0,0,0,0,0,0,-44,0,0, + 0,0,0,0,0,0,0,0,-45,0, + 0,0,0,0,0,0,0,0,0,-111, + 0,0,-47,0,0,0,0,0,0,0, + 0,0,-201,-38,0,0,0,0,0,0, + 0,0,0,0,-154,0,-163,0,0,-71, + -113,-170,-86,-189,-194,0,-74,0,-108,-185, + 0,0,0,-208,-127,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-86,0,0,0,0,0,0,-166, - 0,-104,0,-186,0,-109,-83,0,0,0, + 0,0,0,0,0,0,0,0,-155,0, + 0,0,0,0,0,-172,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-107,0,0,0,0,0,0,0, - -122,-131,0,0,0,0,0,-135,0,-54, - 0,0,0,0,0,0,0,0,0,-172, - 0,0,0,0,0,0,-112,-115,0,0, - 0,-189,-134,-136,-139,-116,0,0,0,0, - 0,0,0,0,0,0,-140,-153,0,-159, + 0,-9,0,0,0,0,0,0,0,-10, + 0,0,0,0,0,0,0,-11,0,0, + 0,0,0,0,0,-31,-39,0,0,0, + 0,0,0,0,-198,0,0,-40,0,0, + 0,0,0,0,0,0,-124,-69,-149,-112, + -151,0,-41,0,0,0,0,0,0,0, + 0,-169,0,0,-131,-175,0,0,0,0, + 0,-168,0,0,0,0,0,-14,0,0, + 0,-144,0,0,-28,-195,0,0,0,0, + 0,-166,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-196,0,0, + 0,0,-75,0,0,0,0,0,0,0, + 0,0,0,-77,0,0,-176,0,-105,0, + 0,0,0,0,0,-80,-153,0,0,0, + 0,0,0,0,0,0,-82,0,0,-202, + 0,0,0,0,0,0,0,0,-167,0, + 0,0,0,0,0,0,-187,0,0,0, + 0,0,0,0,0,0,0,0,-186,0, + 0,-150,0,-109,0,-181,-123,0,-193,0, + -197,0,0,0,-203,-204,0,-164,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-39,0,0,0,0,0,0,0,-48, - 0,0,0,0,0,0,0,0,0,-179, - 0,0,-207,-47,0,0,0,0,0,0, - 0,0,0,-42,0,0,0,0,0,0, - 0,0,0,0,0,-111,0,0,0,0, - 0,0,0,-180,-149,0,0,0,0,0, - 0,0,-12,0,0,0,0,0,0,0, - -49,0,0,0,0,0,0,0,0,0, - 0,0,-50,0,0,0,0,0,0,0, - 0,0,-201,0,-43,0,0,0,0,0, - 0,0,0,0,0,0,-44,0,0,0, - 0,0,0,0,0,0,-45,0,0,0, - 0,0,0,0,0,0,-202,-71,-146,0, - 0,0,0,0,0,-114,0,0,-40,0, - 0,0,0,0,0,0,-31,-206,0,0, - 0,0,0,0,-74,-117,0,0,-128,0, - 0,0,0,0,0,0,-113,-35,0,0, - 0,0,0,0,0,0,0,0,-125,0, - 0,0,0,0,0,0,-170,0,0,0, - 0,0,-171,-141,-118,-119,0,0,-152,-14, - -28,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,-41,0,0,0, - 0,0,0,-75,0,0,0,-77,0,0, - 0,0,-178,0,0,0,0,0,0,-154, - 0,-160,-80,0,0,0,-82,0,0,0, - 0,0,0,0,0,0,0,0,-106,-124, - 0,0,0,0,0,0,0,0,-187,0, 0,0,0,0,0,0,0,0,0,0, - 0,-132,-188,0,0,-164,-69,0,-1,0, - -199,0,0,0,0,0,-190,-156,0,0, - 0,0,0,-145,-176,0,0,0,-13,0, - 0,0,0,0,0,0,-177,0,0,0, - 0,0,-150,0,-203,0,0,-36,0,0, - 0,0,-169,0,-53,0,0,0,0,-173, - 0,-151,-167,-195,0,0,-168,0,0,0, - 0,0,0,0,0,0,-191,-182,0,0, - -183,0,0,0,0,0,0,0,-196,0, - 0,0,0,0,0,0,-194,-198,-204,0, - 0,0,0,0,0,-197,-205,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0 + 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; @@ -213,15 +222,15 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface BaseAction { public final static char baseAction[] = { - 87,10,23,23,22,22,32,32,69,69, - 1,1,1,1,2,2,2,3,3,4, - 4,4,4,4,4,4,4,51,51,70, - 70,5,5,5,5,5,5,5,5,5, - 5,5,6,7,7,7,7,8,8,8, - 9,9,9,11,11,11,11,11,12,12, - 12,13,13,14,14,15,15,16,16,17, - 17,18,18,19,19,19,19,19,19,19, - 19,19,19,19,19,101,45,40,88,88, + 87,11,24,24,23,23,32,32,69,69, + 1,1,2,2,2,2,3,3,3,4, + 5,5,5,5,5,5,5,5,51,51, + 70,6,6,6,6,6,6,6,6,6, + 6,6,7,8,8,8,8,9,9,9, + 10,10,10,12,12,12,12,12,13,13, + 13,14,14,15,15,16,16,17,17,18, + 18,19,19,20,20,20,20,20,20,20, + 20,20,20,20,20,101,45,40,88,88, 73,73,46,102,102,102,102,102,102,102, 103,103,103,104,104,109,109,110,110,105, 105,106,106,106,112,112,107,107,107,107, @@ -230,161 +239,169 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 74,75,75,75,76,76,76,77,77,77, 78,78,78,113,113,114,114,115,28,30, 30,30,30,30,52,54,54,54,54,54, - 54,54,54,54,54,54,54,63,63,24, - 24,60,60,89,90,64,64,61,61,61, - 65,80,80,81,81,66,66,66,48,91, - 91,82,83,83,83,62,62,92,84,84, - 85,85,67,67,20,21,21,21,29,47, - 47,33,33,33,33,36,36,38,34,34, - 35,39,39,116,116,37,117,117,93,93, - 26,26,26,26,26,26,26,26,26,86, - 49,49,49,49,31,56,56,55,55,55, - 57,57,50,50,94,94,71,71,58,58, - 58,41,41,41,42,43,43,43,44,44, - 44,44,53,53,53,59,95,72,72,72, - 72,68,96,97,97,98,98,99,99,118, - 118,119,119,120,120,120,120,122,122,121, - 121,121,123,123,87,87,1,14,19,15, - 342,655,43,371,369,402,156,375,418,414, - 498,490,654,614,73,90,133,214,199,242, - 283,288,744,135,132,134,158,424,14,19, - 15,342,655,43,371,369,402,398,375,418, - 414,498,490,654,614,73,282,276,137,246, - 164,69,104,50,654,6,141,144,147,150, - 372,511,14,19,15,342,42,43,695,340, - 1425,1504,1508,1523,1527,1177,377,292,549,277, - 287,119,10,1236,1426,1201,1247,220,1142,222, - 1325,224,225,230,327,288,256,214,14,1124, - 482,14,19,15,342,655,43,371,369,402, - 398,375,418,414,498,490,654,614,73,282, - 335,14,19,15,342,655,43,371,369,402, - 398,375,418,414,498,490,654,614,73,282, - 71,1228,1466,511,14,19,15,342,42,43, - 371,369,402,287,375,418,414,498,1085,1247, - 511,14,19,15,342,42,43,726,288,1465, - 323,1248,1624,289,1250,906,293,576,241,1247, - 511,14,19,15,342,42,39,488,290,275, - 14,19,15,342,655,43,371,369,402,1144, - 375,418,414,498,490,654,614,73,1176,26, - 23,1290,240,453,14,19,15,342,655,43, - 371,369,402,576,375,418,414,498,490,654, - 614,73,282,511,14,19,15,342,655,43, - 371,369,402,31,375,418,414,498,490,654, - 614,73,90,347,211,284,511,14,19,15, - 342,42,43,371,369,402,291,375,418,414, - 986,403,1247,569,14,19,15,342,655,43, - 371,369,402,1540,375,418,414,498,490,654, - 614,73,1449,662,284,403,305,14,19,15, - 342,655,43,371,369,402,340,375,418,414, - 498,490,654,614,73,1584,189,16,163,241, - 511,14,19,15,342,42,43,371,369,402, - 210,375,418,1021,172,587,133,214,255,214, - 638,576,281,135,132,134,158,511,14,19, - 15,342,655,43,371,369,402,635,375,418, - 414,498,490,654,614,73,91,1232,137,598, - 164,124,624,181,1170,151,141,144,147,150, - 372,511,14,19,15,342,42,43,371,866, - 1425,1504,1508,1523,1527,1177,511,14,19,15, - 342,655,43,371,369,402,194,375,418,414, - 498,490,654,614,73,84,511,14,19,15, - 342,655,43,371,369,402,196,375,418,414, - 498,490,654,614,73,83,511,14,19,15, - 342,655,43,371,369,402,30,375,418,414, - 498,490,654,614,73,82,511,14,19,15, - 342,655,43,371,369,402,283,375,418,414, - 498,490,654,614,73,81,511,14,19,15, - 342,655,43,371,369,402,382,375,418,414, - 498,490,654,614,73,80,511,14,19,15, - 342,655,43,371,369,402,413,375,418,414, - 498,490,654,614,73,79,511,14,19,15, - 342,655,43,371,369,402,470,375,418,414, - 498,490,654,614,73,78,511,14,19,15, - 342,655,43,371,369,402,490,375,418,414, - 498,490,654,614,73,77,511,14,19,15, - 342,655,43,371,369,402,519,375,418,414, - 498,490,654,614,73,76,511,14,19,15, - 342,655,43,371,369,402,582,375,418,414, - 498,490,654,614,73,75,511,14,19,15, - 342,655,43,371,369,402,44,375,418,414, - 498,490,654,614,73,74,511,14,19,15, - 342,655,43,371,369,402,110,375,418,414, - 498,490,654,614,73,1623,511,14,19,15, - 342,655,43,371,369,402,157,375,418,414, - 498,490,654,614,73,1627,511,14,19,15, - 342,42,43,371,369,402,344,375,418,414, - 498,490,654,614,92,511,14,19,15,342, - 42,43,371,369,402,294,375,418,414,498, - 490,654,614,92,511,14,19,15,342,42, - 38,343,1638,511,14,19,15,342,42,37, - 374,511,14,19,15,342,42,43,371,369, - 402,1657,375,418,414,498,490,654,614,92, - 511,14,19,15,342,42,43,371,369,402, - 557,375,418,414,498,490,654,614,92,511, - 14,19,15,342,42,36,71,213,511,14, - 19,15,342,42,35,547,511,14,19,15, - 342,42,43,371,369,402,203,375,418,414, - 498,490,654,614,92,511,14,19,15,342, - 42,43,371,369,402,668,375,418,414,498, - 490,654,614,72,609,1603,540,14,19,15, - 342,40,204,511,14,19,15,342,42,34, - 163,275,690,153,163,756,22,403,219,1142, - 222,1325,224,225,230,1457,268,373,341,273, - 255,214,264,403,255,214,20,278,229,1172, - 436,275,462,265,465,497,153,189,219,1142, - 222,1325,224,225,230,21,268,373,341,273, - 256,214,1613,516,256,214,1174,133,214,242, - 396,678,334,1227,136,132,134,158,562,262, - 511,14,19,15,342,42,43,371,369,402, - 762,375,418,414,498,490,1060,403,108,138, - 616,164,259,31,31,31,488,142,145,148, - 151,372,1605,1520,1578,543,275,586,625,274, - 354,1201,401,220,1142,222,1325,224,225,230, - 188,270,373,341,273,219,1142,222,1325,224, - 225,230,511,14,19,15,342,42,46,1363, - 511,14,19,15,342,42,43,371,369,402, - 652,375,926,259,511,14,19,15,342,42, - 43,371,886,1605,511,14,19,15,342,42, - 43,371,369,766,199,201,365,14,19,15, - 342,42,35,1571,693,612,219,1142,222,1325, - 224,225,230,511,14,19,15,342,33,247, - 1363,511,14,19,15,342,42,43,371,369, - 402,228,946,511,14,19,15,342,42,43, - 371,369,402,645,966,511,14,19,15,342, - 42,43,371,369,806,200,201,511,14,19, - 15,342,42,43,371,369,826,511,14,19, - 15,342,42,43,371,369,846,648,253,365, - 14,19,15,342,42,35,523,1605,1437,511, - 14,19,15,342,42,45,1562,116,458,1714, - 278,1714,248,1714,275,232,488,1567,279,403, - 219,1142,222,1325,224,225,230,574,412,268, - 373,341,273,275,1613,133,214,636,553,153, - 187,280,140,132,134,158,1227,574,268,373, - 341,273,1115,523,394,311,488,636,1193,403, - 31,31,244,1549,1140,267,1714,139,88,164, - 316,316,1115,31,1714,232,1539,260,1193,1208, - 189,281,1429,1597,1202,198,198,511,14,19, - 15,342,42,44,667,1714,1220,260,688,1714, - 86,86,1429,692,1202,615,615,1714,1417,1417, - 48,1714,488,709,133,214,1163,730,133,214, - 636,143,132,134,158,146,132,134,158,768, - 163,591,1147,133,214,198,296,133,214,588, - 149,132,134,158,152,132,134,158,1714,636, - 255,214,504,142,1637,275,31,97,677,395, - 1201,494,636,636,1115,1714,420,692,545,553, - 270,373,341,273,153,95,193,1115,198,511, - 14,19,15,342,32,636,396,545,1193,260, - 661,1585,1290,97,1649,97,1202,243,31,86, - 198,677,260,403,314,31,1539,1469,553,1202, - 31,1290,671,153,609,553,936,153,1659,193, - 1563,1714,636,677,1193,226,1193,576,153,1714, - 195,488,1666,1658,1585,210,245,1115,86,403, - 246,194,1220,1143,374,86,326,153,576,576, - 1030,295,1513,1324,210,298,342,576,1714,205, - 1714,231,261,1714,1714,1667,1714,1714,1714,1714, - 297,1577,1324,1714,1714,1714,1714,1714,235,1714, - 182,206,1714,1714,1714,1714,1714,1714,1714,691, - 1714,0,17,178,0,18,177,0,1,1941, - 0,1,1952,0 + 54,54,54,54,54,54,54,63,60,60, + 89,90,64,64,61,61,61,65,80,80, + 81,81,66,66,66,48,91,91,82,83, + 83,83,62,62,92,84,84,85,85,67, + 67,21,22,22,22,29,47,47,33,33, + 33,33,36,36,38,34,34,35,39,39, + 116,116,37,117,117,93,93,26,26,26, + 26,26,26,26,26,26,86,49,49,49, + 49,31,56,56,55,55,55,57,57,50, + 50,94,94,71,71,58,58,58,41,41, + 41,42,43,43,43,44,44,44,44,53, + 53,53,59,95,72,72,72,72,68,96, + 97,97,98,98,99,99,118,118,119,119, + 120,120,120,120,122,122,121,121,121,123, + 123,87,87,1,832,16,20,17,368,790, + 43,488,486,502,236,500,614,543,689,656, + 769,748,73,90,133,211,445,250,400,502, + 135,132,134,158,415,19,16,20,17,368, + 790,43,488,486,502,396,500,614,543,689, + 656,769,748,73,279,137,541,164,671,199, + 157,185,569,141,144,147,150,324,364,19, + 16,20,17,368,42,35,366,1457,1623,1634, + 1646,1657,1210,253,211,273,679,284,157,184, + 254,370,244,1297,488,19,16,20,17,368, + 42,39,285,337,329,1296,979,464,19,16, + 20,17,368,790,43,488,486,502,396,500, + 614,543,689,656,769,748,73,279,335,19, + 16,20,17,368,790,43,488,486,502,396, + 500,614,543,689,656,769,748,73,279,488, + 19,16,20,17,368,42,43,488,486,502, + 284,500,614,543,689,1188,1297,364,19,16, + 20,17,368,42,35,285,324,13,194,1455, + 1324,286,1352,1085,290,157,186,1297,344,493, + 12,245,30,678,715,281,287,275,19,16, + 20,17,368,790,43,488,486,502,1694,500, + 614,543,689,656,769,748,73,1459,811,274, + 226,237,440,19,16,20,17,368,790,43, + 488,486,502,31,500,614,543,689,656,769, + 748,73,279,488,19,16,20,17,368,790, + 43,488,486,502,398,500,614,543,689,656, + 769,748,73,90,488,19,16,20,17,368, + 42,43,488,486,502,288,500,614,543,1144, + 281,1297,536,19,16,20,17,368,790,43, + 488,486,502,1697,500,614,543,689,656,769, + 748,73,1557,18,63,299,19,16,20,17, + 368,790,43,488,486,502,366,500,614,543, + 689,656,769,748,73,1592,189,177,52,238, + 488,19,16,20,17,368,42,43,488,486, + 502,110,500,614,1180,281,191,133,211,252, + 211,244,638,135,132,134,158,488,19,16, + 20,17,368,790,43,488,486,502,1189,500, + 614,543,689,656,769,748,73,91,137,242, + 164,157,293,27,1349,244,141,144,147,150, + 324,488,19,16,20,17,368,42,43,853, + 1457,1623,1634,1646,1657,1210,488,19,16,20, + 17,368,790,43,488,486,502,281,500,614, + 543,689,656,769,748,73,84,488,19,16, + 20,17,368,790,43,488,486,502,402,500, + 614,543,689,656,769,748,73,83,488,19, + 16,20,17,368,790,43,488,486,502,6, + 500,614,543,689,656,769,748,73,82,488, + 19,16,20,17,368,790,43,488,486,502, + 523,500,614,543,689,656,769,748,73,81, + 488,19,16,20,17,368,790,43,488,486, + 502,159,500,614,543,689,656,769,748,73, + 80,488,19,16,20,17,368,790,43,488, + 486,502,560,500,614,543,689,656,769,748, + 73,79,488,19,16,20,17,368,790,43, + 488,486,502,306,500,614,543,689,656,769, + 748,73,78,488,19,16,20,17,368,790, + 43,488,486,502,342,500,614,543,689,656, + 769,748,73,77,488,19,16,20,17,368, + 790,43,488,486,502,544,500,614,543,689, + 656,769,748,73,76,488,19,16,20,17, + 368,790,43,488,486,502,647,500,614,543, + 689,656,769,748,73,75,488,19,16,20, + 17,368,790,43,488,486,502,657,500,614, + 543,689,656,769,748,73,74,488,19,16, + 20,17,368,790,43,488,486,502,659,500, + 614,543,689,656,769,748,73,1602,488,19, + 16,20,17,368,790,43,488,486,502,698, + 500,614,543,689,656,769,748,73,1669,488, + 19,16,20,17,368,42,43,488,486,502, + 244,500,614,543,689,656,769,748,92,488, + 19,16,20,17,368,42,43,488,486,502, + 655,500,614,543,689,656,769,748,92,413, + 661,1265,178,718,675,1696,488,19,16,20, + 17,368,42,38,488,19,16,20,17,368, + 42,43,488,486,502,1699,500,614,543,689, + 656,769,748,92,488,19,16,20,17,368, + 42,43,488,486,502,13,500,614,543,689, + 656,769,748,92,1337,681,1647,157,295,193, + 210,488,19,16,20,17,368,42,37,488, + 19,16,20,17,368,42,43,488,486,502, + 200,500,614,543,689,656,769,748,92,488, + 19,16,20,17,368,42,43,488,486,502, + 144,500,614,543,689,656,769,748,72,50, + 157,1353,57,517,412,201,488,19,16,20, + 17,368,42,43,488,486,502,151,500,614, + 543,689,656,1187,157,30,157,30,1559,488, + 19,16,20,17,368,42,43,488,486,502, + 550,500,1130,272,291,547,207,154,307,676, + 216,504,219,1269,221,222,227,1572,265,503, + 369,270,388,13,261,13,421,208,495,275, + 189,177,272,553,553,262,553,553,281,216, + 504,219,1269,221,222,227,709,265,503,369, + 270,133,211,1582,24,414,23,136,132,134, + 158,22,86,86,1420,86,88,311,1453,200, + 1185,259,488,19,16,20,17,368,42,43, + 488,1029,138,710,164,361,13,13,572,697, + 142,145,148,151,324,272,1660,1489,695,1708, + 1263,693,217,504,219,1269,221,222,227,339, + 267,503,369,270,1218,225,712,716,216,504, + 219,1269,221,222,227,512,19,16,20,17, + 368,40,1355,488,19,16,20,17,368,42, + 43,488,486,502,717,1139,488,19,16,20, + 17,368,42,43,488,486,502,244,1142,361, + 488,19,16,20,17,368,33,196,198,612, + 1660,261,104,394,719,720,1545,488,19,16, + 20,17,368,42,43,488,486,895,64,202, + 253,211,216,504,219,1269,221,222,227,488, + 19,16,20,17,368,32,1355,488,19,16, + 20,17,368,42,43,488,486,916,488,19, + 16,20,17,368,42,43,488,486,937,488, + 19,16,20,17,368,42,43,488,486,958, + 281,197,198,488,19,16,20,17,368,42, + 43,488,1034,623,488,19,16,20,17,368, + 42,43,874,271,1660,13,280,13,1795,1795, + 672,543,543,61,718,698,1637,232,417,61, + 646,1560,1575,1689,638,281,216,504,219,1269, + 221,222,227,275,276,229,272,21,133,211, + 1582,253,211,239,140,132,134,158,277,604, + 1353,265,503,369,270,1263,13,217,504,219, + 1269,221,222,227,1795,1705,1706,1677,1420,139, + 1795,164,488,19,16,20,17,368,42,36, + 488,19,16,20,17,368,42,35,488,19, + 16,20,17,368,42,34,161,488,19,16, + 20,17,368,42,46,495,1795,1558,488,19, + 16,20,17,368,42,45,207,61,97,97, + 323,281,272,488,19,16,20,17,368,42, + 44,636,323,1033,1354,429,95,265,503,369, + 270,241,281,636,278,1157,636,636,13,1226, + 1226,1226,61,1795,264,13,281,1157,1795,313, + 1157,195,61,1226,1795,223,313,1639,1249,1639, + 257,1795,1795,195,192,1465,240,1281,370,228, + 195,1249,257,603,1020,257,242,1465,86,1281, + 1561,1795,1281,590,608,86,1536,604,1353,241, + 590,232,191,1536,133,211,637,48,1795,1795, + 143,132,134,158,1795,133,211,642,636,505, + 97,146,132,134,158,272,655,133,211,61, + 1263,1795,195,149,132,134,158,142,133,211, + 267,503,369,270,152,132,134,158,636,282, + 1795,1226,711,243,52,1020,61,52,1795,61, + 636,244,195,636,207,244,244,1795,52,1464, + 1795,1795,1795,190,1157,252,211,1157,252,211, + 292,1454,1354,294,1795,1020,1795,1000,1576,252, + 211,1795,1795,179,1795,1795,1795,203,1351,257, + 1795,1795,258,190,1596,1795,1281,1795,1795,1795, + 372,1795,1795,372,1795,1795,1795,1701,1576,1795, + 1795,1795,1795,1795,1460,1795,1795,1795,1795,1795, + 1795,1795,1795,1795,1795,1795,1795,1795,1795,1795, + 615,1795,1618,947,1795,0,19,177,0,1, + 2019,0,1,2030,0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -394,93 +411,89 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface TermCheck { public final static byte termCheck[] = {0, - 0,1,2,3,4,0,6,7,8,0, - 10,11,12,0,14,15,16,17,18,19, + 0,1,2,3,4,0,6,7,8,9, + 10,0,0,13,14,15,16,17,18,19, 20,21,22,23,24,25,26,27,28,0, 0,31,32,33,34,35,36,37,38,39, - 40,41,42,0,44,45,46,0,1,0, - 3,2,5,6,7,8,47,48,9,12, - 55,56,57,58,17,18,19,20,0,22, - 0,1,4,3,61,62,47,48,31,32, + 40,41,42,13,44,45,46,0,1,0, + 3,0,5,6,7,8,0,6,7,8, + 0,14,0,0,1,5,55,56,57,58, + 65,24,25,26,27,28,47,48,31,32, 33,34,35,36,37,38,39,40,41,42, 43,44,45,46,0,1,0,3,51,5, - 6,7,8,0,61,62,12,0,1,0, - 3,17,18,19,20,0,22,2,0,4, - 13,53,54,0,9,31,32,33,34,35, + 6,7,8,0,55,56,57,58,14,0, + 50,55,56,57,58,6,7,8,24,25, + 26,27,28,61,62,31,32,33,34,35, 36,37,38,39,40,41,42,43,44,45, 46,0,1,0,3,51,5,6,7,8, - 0,0,0,12,4,0,0,5,17,18, - 19,20,0,22,55,56,57,58,6,7, - 8,0,31,32,33,34,35,36,37,38, + 0,1,2,0,4,14,0,1,0,3, + 0,11,2,60,4,24,25,26,27,28, + 12,11,31,32,33,34,35,36,37,38, 39,40,41,42,43,44,45,46,0,1, - 0,3,51,0,6,7,8,4,0,1, - 12,3,50,53,54,17,18,19,20,0, - 22,55,56,57,58,6,7,8,0,31, + 0,3,51,0,6,7,8,4,0,0, + 1,2,14,4,61,62,0,1,2,11, + 11,5,24,25,26,27,28,11,65,31, 32,33,34,35,36,37,38,39,40,41, - 42,0,44,45,46,80,65,6,7,8, - 0,0,1,12,3,0,53,54,17,18, - 19,20,0,22,2,10,11,5,0,1, - 2,9,31,32,33,34,35,36,37,38, + 42,0,44,45,46,0,30,6,7,8, + 0,0,2,0,4,14,53,54,5,0, + 1,11,3,0,64,24,25,26,27,28, + 0,12,31,32,33,34,35,36,37,38, 39,40,41,42,0,1,2,3,4,5, - 0,29,0,0,10,11,12,0,14,15, - 16,0,1,13,3,21,9,23,24,25, - 26,27,28,63,0,1,2,3,4,5, - 0,1,30,3,10,11,12,59,14,15, - 16,0,0,13,50,21,0,23,24,25, - 26,27,28,0,0,1,2,3,4,5, - 14,0,0,0,10,11,5,13,14,15, - 16,68,69,0,50,21,14,23,24,25, - 26,27,28,30,0,1,2,3,4,5, - 29,30,0,0,10,11,0,43,14,15, - 16,0,6,7,8,21,64,23,24,25, - 26,27,28,0,0,1,2,3,4,6, - 7,8,0,0,10,11,63,5,14,15, - 16,0,0,60,50,21,5,23,24,25, - 26,27,28,0,1,2,3,4,47,48, - 0,29,59,10,11,0,13,14,15,16, - 29,6,7,8,21,51,23,24,25,26, - 27,28,0,1,2,3,4,0,1,47, - 48,0,10,11,0,13,14,15,16,0, - 6,7,8,21,13,23,24,25,26,27, - 28,0,1,2,3,4,0,0,1,0, - 3,10,11,0,13,14,15,16,5,10, - 11,0,21,0,23,24,25,26,27,28, - 0,1,2,3,4,0,47,48,0,4, - 10,11,0,30,14,15,16,5,10,11, - 0,21,0,23,24,25,26,27,28,0, - 1,2,3,4,0,1,0,3,0,10, - 11,29,49,14,15,16,0,9,0,66, - 21,0,23,24,25,26,27,28,0,1, - 2,3,4,0,13,0,0,4,10,11, - 5,0,14,15,16,0,0,0,1,21, - 9,23,24,25,26,27,28,0,13,2, - 52,4,5,6,7,8,9,0,0,12, - 64,0,5,2,17,18,19,20,43,22, - 9,65,49,0,0,2,29,4,5,6, - 7,8,9,52,0,12,49,13,30,5, - 17,18,19,20,0,22,60,0,1,2, - 43,0,29,0,1,2,70,71,72,73, - 74,75,76,77,78,79,0,0,1,2, - 0,4,6,7,8,0,9,0,12,0, - 1,4,3,17,18,19,20,0,22,0, - 0,0,0,6,7,8,0,0,9,12, - 66,0,0,59,17,18,19,20,0,22, - 13,60,0,0,6,7,8,0,0,49, - 12,30,30,0,0,17,18,19,20,0, - 22,13,0,0,0,6,7,8,0,0, - 0,12,0,0,0,2,17,18,19,20, - 0,22,9,13,0,0,1,2,15,16, - 5,0,1,2,9,4,0,0,0,2, - 9,4,0,0,0,0,9,0,0,0, - 0,0,0,0,29,0,0,0,0,0, - 0,0,0,0,0,52,0,0,0,0, + 0,0,1,9,10,5,43,13,14,15, + 16,17,18,19,20,21,22,23,0,1, + 2,3,4,5,63,0,0,9,10,4, + 30,13,14,15,16,17,18,19,20,21, + 22,23,0,0,50,0,4,0,0,1, + 49,3,9,10,0,1,2,3,4,5, + 12,0,0,9,10,4,12,13,50,15, + 16,17,18,19,20,21,22,23,53,54, + 0,1,2,0,1,2,3,4,5,0, + 64,49,9,10,5,0,13,43,15,16, + 17,18,19,20,21,22,23,0,1,2, + 3,4,0,0,53,54,9,10,29,30, + 13,0,15,16,17,18,19,20,21,22, + 23,0,0,50,0,1,2,3,4,59, + 0,9,10,9,10,5,12,13,0,15, + 16,17,18,19,20,21,22,23,51,0, + 1,2,3,4,0,1,0,3,9,10, + 30,12,13,60,15,16,17,18,19,20, + 21,22,23,0,1,2,3,4,0,68, + 69,0,9,10,63,12,13,49,15,16, + 17,18,19,20,21,22,23,0,1,2, + 3,4,0,1,0,3,9,10,0,5, + 13,0,15,16,17,18,19,20,21,22, + 23,0,1,2,3,4,0,1,0,3, + 9,10,0,29,13,0,15,16,17,18, + 19,20,21,22,23,0,1,2,3,4, + 0,0,0,0,9,10,0,5,13,0, + 15,16,17,18,19,20,21,22,23,0, + 66,2,13,4,5,6,7,8,0,29, + 11,0,30,14,6,7,8,6,7,8, + 0,80,60,24,25,26,27,28,0,30, + 47,48,70,71,72,73,74,75,76,77, + 78,79,0,0,1,59,3,0,6,7, + 8,0,0,6,7,8,14,6,7,8, + 0,14,0,1,2,0,24,25,26,27, + 28,24,25,26,27,28,0,0,1,2, + 0,0,6,7,8,0,0,6,7,8, + 14,6,7,8,0,14,0,0,0,5, + 24,25,26,27,28,24,25,26,27,28, + 0,0,2,2,0,0,5,0,0,2, + 0,11,11,9,10,15,16,12,11,11, + 0,11,0,47,48,5,0,0,2,0, + 1,30,3,47,48,47,48,11,0,0, + 0,0,4,4,0,0,0,0,0,0, + 66,29,52,12,0,11,29,12,12,0, + 52,0,52,43,0,0,12,67,0,0, + 0,12,0,12,0,0,29,29,0,0, + 0,0,0,0,0,0,0,0,0,49, 0,0,0,0,0,0,0,0,0,0, - 67,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,59,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,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; @@ -488,88 +501,84 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface TermAction { public final static char termAction[] = {0, - 1714,689,1470,692,1078,58,1929,1930,1931,53, - 1069,1023,1875,61,1133,1589,1333,1876,1874,1932, - 1877,1126,1873,1724,1725,1726,1727,1014,500,57, - 1,1880,1885,1884,1882,1883,1881,1886,1887,1879, - 1888,1889,1890,62,397,339,338,1714,1,271, - 1,1406,192,1,1,1,701,1294,509,1, - 1387,1377,1365,1304,1,1,1,1,47,1, - 1714,1743,1497,1744,1353,1341,701,1294,1,1, + 1795,1805,1588,1806,1520,69,2007,2008,2009,1512, + 1091,58,1,1528,1956,1379,1340,1305,1807,1808, + 1809,1810,1036,404,1957,1955,2010,1958,1954,53, + 63,1961,1966,1965,1963,1964,1962,1967,1968,1960, + 1969,1970,1971,1169,1143,499,336,1795,1,60, + 1,1795,189,1,1,1,59,2007,2008,2009, + 1795,1,61,1795,2031,1798,1409,1398,1387,1357, + 459,1,1,1,1,1,1252,1423,1,1, 1,1,1,1,1,1,1,1,1,1, - 192,1,1,1,1714,1,254,1,1911,191, - 1,1,1,183,1353,1341,1,1714,1893,60, - 1894,1,1,1,1,266,1,1398,184,1, - 1233,1409,1272,286,509,1,1,1,1,1, - 1,1,1,1,1,1,1,191,1,1, - 1,1714,1,1714,1,1911,192,1,1,1, - 49,1714,1714,1,1497,1714,59,1717,1,1, - 1,1,1714,1,1387,1377,1365,1304,1929,1930, - 1931,69,1,1,1,1,1,1,1,1, - 1,1,1,1,192,1,1,1,1714,1892, - 1714,1891,1911,48,1929,1930,1931,1497,186,2727, - 1875,2727,1716,1409,1272,1876,1874,1932,1877,250, - 1873,1387,1377,1365,1304,1,1,1,1714,1880, - 1885,1884,1882,1883,1881,1886,1887,1879,1888,1889, - 1890,127,397,339,338,1701,463,1929,1930,1931, - 65,185,2748,1875,2748,50,1409,1272,1876,1874, - 1932,1877,1,1873,1398,480,381,1719,1,1941, - 1397,509,1880,1885,1884,1882,1883,1881,1886,1887, - 1879,1888,1889,1890,1,1731,1470,1732,1316,1717, - 1714,1718,87,71,1069,1023,593,272,1133,1589, - 1333,207,2770,563,2770,1126,509,1724,1725,1726, - 1727,1014,500,640,1714,1731,1470,1732,1399,1717, - 1714,1893,667,1894,1069,1023,956,1050,1133,1589, - 1333,1714,67,1234,1716,1126,63,1724,1725,1726, - 1727,1014,500,257,1,1731,1470,1732,1078,27, - 1280,1714,64,66,1069,1023,1719,2637,1133,1589, - 1333,1210,1615,1714,1716,1126,1280,1724,1725,1726, - 1727,1014,500,1622,1714,1731,1470,1732,1078,1717, - 1718,1418,1714,1714,1069,1023,249,27,1133,1589, - 1333,56,1929,1930,1931,1126,576,1724,1725,1726, - 1727,1014,500,251,1714,1,1,1,1,1, - 1,1,1714,1714,1,1,640,1719,1,1, - 1,1,55,533,1716,1,89,1,1,1, - 1,1,1,1,1731,1470,1732,1078,701,1294, - 1714,1718,1105,1069,1023,252,2637,1133,1589,1333, - 89,1929,1930,1931,1126,2029,1724,1725,1726,1727, - 1014,500,1714,1731,1470,1732,1078,1714,1953,701, - 1294,41,1069,1023,253,2637,1133,1589,1333,54, - 1929,1930,1931,1126,563,1724,1725,1726,1727,1014, - 500,1,1731,1470,1732,1078,1714,1714,1893,52, - 1894,1069,1023,1714,2637,1133,1589,1333,1723,480, - 381,1714,1126,1,1724,1725,1726,1727,1014,500, - 1714,1731,1470,1732,1078,1714,701,1294,51,650, - 1069,1023,1,1293,1133,1589,1333,1719,480,381, - 1714,1126,1714,1724,1725,1726,1727,1014,500,1714, - 1731,1471,1732,1078,209,1893,68,1894,1714,1069, - 1023,1718,1973,1133,1589,1333,70,976,1714,1722, - 1126,1714,1724,1725,1726,1727,1014,500,1,1731, - 1470,1732,1078,1,1483,1714,1714,254,1069,1023, - 1721,292,1133,1589,1333,1714,42,1,1711,1126, - 995,1724,1725,1726,1727,1014,500,17,1566,1702, - 1522,1702,1702,178,178,178,1702,285,28,178, - 576,223,1235,1463,178,178,178,178,1720,178, - 509,463,1973,18,1714,1705,1702,1705,1705,177, - 177,177,1705,1641,1,177,1973,1620,440,1723, - 177,177,177,177,202,177,916,1,1941,1397, - 1235,212,1705,254,1941,1397,896,876,856,836, - 816,776,796,756,736,716,128,263,1941,1145, - 1,1,1929,1930,1931,1714,509,1714,1875,208, - 507,1464,507,1876,1874,1932,1877,129,1873,221, - 1714,28,208,1929,1930,1931,1714,190,509,1875, - 1722,1714,1714,1086,1876,1874,1932,1877,130,1873, - 186,1031,1714,1714,1929,1930,1931,1714,190,1972, - 1875,1741,2709,1714,1714,1876,1874,1932,1877,131, - 1873,185,1714,1714,1714,1929,1930,1931,1714,1714, - 190,1875,1714,31,1714,1438,1876,1874,1932,1877, - 1714,1873,1608,207,1714,1,1708,1145,1738,1739, - 1719,269,1941,1145,509,254,1714,269,1714,1398, - 509,254,1714,1714,1714,1714,509,1714,1714,1714, - 1714,1714,1714,1714,1718,1714,1714,1714,1714,1714, - 1714,1714,1714,1714,1714,1076,1714,1714,1714,1714, - 1714,1714,1714,1714,1714,1714,1714,1714,1714,1714, - 460 + 189,1,1,1,1795,1,251,1,1989,188, + 1,1,1,1795,1409,1398,1387,1357,1,247, + 1797,1409,1398,1387,1357,1,1,1,1,1, + 1,1,1,1326,1313,1,1,1,1,1, + 1,1,1,1,1,1,1,188,1,1, + 1,1795,1,62,1,1989,189,1,1,1, + 260,2019,1186,70,1,1,1795,1805,1795,1806, + 263,507,1450,532,1,1,1,1,1,1, + 487,507,1,1,1,1,1,1,1,1, + 1,1,1,1,189,1,1,1,1795,1805, + 67,1806,1989,47,2007,2008,2009,1563,269,266, + 2019,1186,1956,251,1326,1313,1,1789,1186,507, + 507,1800,1957,1955,2010,1958,1954,507,459,1961, + 1966,1965,1963,1964,1962,1967,1968,1960,1969,1970, + 1971,127,1143,499,336,180,1799,2007,2008,2009, + 266,65,1450,1795,251,1956,1548,1537,1802,1795, + 1805,507,1806,181,574,1957,1955,2010,1958,1954, + 283,1075,1961,1966,1965,1963,1964,1962,1967,1968, + 1960,1969,1970,1971,1,1805,1588,1806,378,1798, + 1795,1,1792,1512,1091,1800,1801,1528,592,1379, + 1340,1305,1807,1808,1809,1810,1036,404,1795,1805, + 1588,1806,477,1798,640,49,68,1512,1091,1563, + 1799,1528,968,1379,1340,1305,1807,1808,1809,1810, + 1036,404,1,50,1797,1795,251,1795,1795,1805, + 2051,1806,1434,701,1,1805,1588,1806,1520,28, + 1266,48,1795,1512,1091,1563,2798,1528,1797,1379, + 1340,1305,1807,1808,1809,1810,1036,404,1548,1537, + 1,2019,1433,1795,1805,1588,1806,1520,1798,1795, + 574,2051,1512,1091,1800,1795,1528,28,1379,1340, + 1305,1807,1808,1809,1810,1036,404,1795,1,1, + 1,1,1795,209,1548,1537,1,1,1368,1799, + 1,71,1,1,1,1,1,1,1,1, + 1,66,52,1797,1,1805,1588,1806,1520,1064, + 1,1434,701,1512,1091,89,2798,1528,1,1379, + 1340,1305,1807,1808,1809,1810,1036,404,2107,1795, + 1805,1588,1806,1520,183,2832,1795,2832,1512,1091, + 89,2798,1528,1044,1379,1340,1305,1807,1808,1809, + 1810,1036,404,1,1805,1588,1806,1520,1795,1146, + 1205,1795,1512,1091,640,2798,1528,2051,1379,1340, + 1305,1807,1808,1809,1810,1036,404,1795,1805,1588, + 1806,1520,182,2837,1795,2837,1512,1091,1795,1804, + 1528,1795,1379,1340,1305,1807,1808,1809,1810,1036, + 404,1795,1805,1595,1806,1520,204,2839,1795,2839, + 1512,1091,42,1339,1528,1795,1379,1340,1305,1807, + 1808,1809,1810,1036,404,1,1805,1588,1806,1520, + 87,1795,1,57,1512,1091,1795,1800,1528,64, + 1379,1340,1305,1807,1808,1809,1810,1036,404,19, + 1803,1786,1169,1786,1786,177,177,177,246,667, + 1786,248,1799,177,2007,2008,2009,1,1,1, + 1795,1785,926,177,177,177,177,177,1795,1786, + 1252,1423,905,884,863,842,821,779,800,758, + 737,716,128,206,1805,1119,1806,129,2007,2008, + 2009,249,1795,2007,2008,2009,1956,2007,2008,2009, + 1795,1956,1,2019,1433,1795,1957,1955,2010,1958, + 1954,1957,1955,2010,1958,1954,130,251,2019,1433, + 1795,131,2007,2008,2009,250,56,2007,2008,2009, + 1956,2007,2008,2009,1,1956,55,1795,54,1804, + 1957,1955,2010,1958,1954,1957,1955,2010,1958,1954, + 31,1,1206,1450,51,41,1800,268,1795,1451, + 289,1203,507,1434,701,1820,1821,487,507,989, + 282,1009,254,1252,1423,1267,220,29,1452,205, + 1140,1799,1140,1252,1423,1252,1423,507,1795,1795, + 1,1795,651,1268,218,1795,1795,29,205,199, + 1803,1692,1166,1445,187,507,438,1447,1496,187, + 691,187,1087,1267,1795,1795,183,1164,1795,1795, + 1795,182,1795,204,1795,1795,1823,2807,1795,1795, + 1795,1795,1795,1795,1795,1795,1795,1795,1795,2050, + 1795,1795,1795,1795,1795,1795,1795,1795,1795,1795, + 1795,1795,1795,1795,1795,1795,1795,1795,1099 }; }; public final static char termAction[] = TermAction.termAction; @@ -577,27 +586,27 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Asb { public final static char asb[] = {0, - 415,1,76,41,76,76,76,76,76,76, - 76,76,76,374,3,188,185,192,190,198, - 196,200,199,202,201,10,76,374,166,166, - 320,374,292,292,355,76,76,76,76,76, + 243,1,76,41,76,76,76,76,76,76, + 76,76,76,392,3,218,215,222,220,228, + 226,230,229,232,231,10,76,392,159,159, + 357,392,329,329,261,76,76,76,76,76, 76,76,76,76,76,76,76,76,76,76, 76,76,76,76,76,76,76,76,76,76, - 76,76,76,76,76,76,166,68,324,70, - 262,164,163,295,307,66,307,66,66,307, - 66,307,388,120,120,166,45,185,185,190, - 190,190,190,188,188,196,192,192,199,198, - 260,201,200,173,50,320,324,93,45,411, - 74,166,326,265,66,292,292,66,292,76, - 50,324,315,411,45,73,70,166,318,388, - 165,267,68,213,68,243,245,170,240,68, - 315,411,76,76,45,74,262,255,254,324, - 267,166,68,213,243,243,240,48,252,292, - 76,169,240,50,411,315,45,45,166,326, - 265,318,213,240,113,213,243,245,249,245, - 52,45,292,76,50,315,267,213,115,245, - 240,76,292,45,245,166,165,240,209,76, - 208,89,324,240,240,293,115,76,89,245 + 76,76,76,76,76,76,159,68,361,70, + 299,157,156,332,344,66,344,66,66,344, + 66,344,406,113,159,45,215,215,220,220, + 220,220,218,218,226,222,222,229,228,292, + 231,230,203,50,357,361,93,45,429,74, + 159,363,302,66,329,329,66,329,76,50, + 361,352,429,45,73,70,159,355,406,158, + 304,68,169,68,280,282,200,196,68,352, + 429,76,76,45,74,299,287,286,361,304, + 159,68,169,280,280,196,48,297,329,76, + 199,196,50,429,352,45,45,159,363,302, + 355,169,196,162,169,280,282,294,282,52, + 45,329,76,50,352,304,169,164,282,196, + 76,329,45,282,159,158,196,239,76,238, + 89,361,196,196,330,164,76,89,282 }; }; public final static char asb[] = Asb.asb; @@ -605,50 +614,50 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Asr { public final static byte asr[] = {0, - 80,0,66,9,2,52,67,15,16,14, - 4,10,11,53,54,47,48,55,56,57, + 80,0,66,11,2,52,67,15,16,13, + 4,9,10,53,54,47,48,55,56,57, 58,61,62,63,64,65,68,69,43,60, 70,71,72,73,74,76,75,77,78,79, - 59,29,80,30,50,5,0,5,43,9, - 52,15,16,14,4,10,11,27,28,21, - 2,23,24,25,26,1,3,13,0,6, - 7,8,12,50,5,23,24,25,26,3, - 15,16,14,10,11,27,28,21,4,2, - 1,0,6,7,8,2,23,24,25,26, - 1,3,15,16,14,4,10,11,27,28, - 21,0,66,5,4,1,2,59,0,7, - 12,22,8,20,19,18,6,17,52,67, - 15,16,14,10,11,53,54,47,48,55, - 56,57,58,61,62,63,64,65,68,69, - 60,70,71,72,73,74,75,76,77,78, - 79,4,2,9,30,29,5,0,60,9, + 59,30,80,29,50,5,0,5,43,11, + 52,15,16,13,4,9,10,22,23,17, + 2,18,19,20,21,1,3,12,0,6, + 7,8,14,50,5,18,19,20,21,3, + 15,16,13,9,10,22,23,17,4,2, + 1,0,6,7,8,2,18,19,20,21, + 1,3,15,16,13,4,9,10,22,23, + 17,0,7,14,28,8,27,26,25,6, + 24,52,67,15,16,13,9,10,53,54, + 47,48,55,56,57,58,61,62,63,64, + 65,68,69,60,70,71,72,73,74,75, + 76,77,78,79,4,2,11,29,30,5, + 0,66,5,4,1,2,59,0,24,31, + 6,32,44,25,33,26,34,35,27,7, + 36,37,14,45,28,46,38,39,8,40, + 41,42,1,3,51,5,43,0,60,11, 52,0,60,70,71,72,73,74,75,76, - 77,78,79,13,4,53,54,10,11,48, - 47,55,56,57,58,61,62,14,63,64, - 65,50,29,43,80,68,69,59,66,5, - 30,0,17,31,6,32,44,18,33,19, - 34,35,20,7,36,37,12,45,22,46, - 38,39,8,40,41,42,1,3,51,5, - 43,0,1,3,5,43,30,0,5,30, - 43,60,0,2,5,30,29,66,9,59, - 0,4,2,9,29,5,17,31,6,32, - 44,18,33,19,34,35,20,7,36,37, - 12,45,22,46,38,39,8,40,41,42, - 49,3,1,0,39,31,36,34,35,33, - 32,37,38,40,41,42,59,66,22,18, - 12,17,20,19,6,7,8,30,1,5, - 29,2,9,4,0,4,17,31,6,32, - 44,18,33,19,34,35,20,7,36,37, - 12,45,22,46,38,39,8,40,41,42, - 1,3,49,0,5,29,21,23,24,25, - 26,1,3,2,15,16,14,4,10,11, - 27,28,0,21,23,24,25,26,2,15, - 16,14,4,10,11,27,28,3,1,44, - 45,46,39,31,36,34,35,33,32,37, - 38,40,41,42,22,18,12,17,20,19, - 6,7,8,0,21,23,24,25,26,1, - 3,2,15,16,14,4,10,11,27,28, - 51,0 + 77,78,79,12,4,53,54,9,10,48, + 47,55,56,57,58,61,62,13,63,64, + 65,50,30,43,80,68,69,59,66,5, + 29,0,17,18,19,20,21,1,3,2, + 15,16,13,4,9,10,22,23,51,0, + 5,30,17,18,19,20,21,1,3,2, + 15,16,13,4,9,10,22,23,0,1, + 3,5,43,29,0,2,5,29,30,66, + 11,59,0,5,29,43,60,0,4,2, + 11,30,5,24,31,6,32,44,25,33, + 26,34,35,27,7,36,37,14,45,28, + 46,38,39,8,40,41,42,49,3,1, + 0,39,31,36,34,35,33,32,37,38, + 40,41,42,59,66,28,25,14,24,27, + 26,6,7,8,29,1,5,30,2,11, + 4,0,4,24,31,6,32,44,25,33, + 26,34,35,27,7,36,37,14,45,28, + 46,38,39,8,40,41,42,1,3,49, + 0,17,18,19,20,21,2,15,16,13, + 4,9,10,22,23,1,3,44,45,46, + 39,31,36,34,35,33,32,37,38,40, + 41,42,28,25,14,24,27,26,6,7, + 8,0 }; }; public final static byte asr[] = Asr.asr; @@ -656,27 +665,27 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Nasb { public final static byte nasb[] = {0, - 108,9,26,9,26,26,26,26,26,26, - 26,26,26,89,9,9,9,9,9,9, - 9,9,9,9,9,9,26,89,79,79, - 74,1,28,28,86,90,26,26,26,26, - 26,26,26,26,26,26,26,26,26,26, - 26,26,90,26,26,26,26,26,26,26, - 26,26,26,26,26,26,79,9,105,32, - 73,10,10,62,63,12,63,17,17,63, - 16,63,57,9,9,79,34,9,9,9, - 9,9,9,9,9,9,9,9,9,9, - 9,9,9,9,55,97,9,36,34,48, - 33,79,81,78,71,71,71,71,71,26, - 24,9,55,48,34,33,14,79,51,2, - 9,83,21,55,9,55,46,19,55,9, - 55,48,26,26,34,33,50,10,10,105, - 83,79,9,93,55,71,30,23,9,71, - 26,44,30,55,48,14,34,34,79,81, - 78,65,55,30,39,111,71,46,9,9, - 25,34,71,26,24,14,101,93,53,46, - 30,26,71,34,46,79,79,30,40,26, - 9,53,105,30,30,9,53,26,67,42 + 60,38,22,38,22,22,22,22,22,22, + 22,22,22,102,38,38,38,38,38,38, + 38,38,38,38,38,38,22,102,88,88, + 83,1,51,51,63,103,22,22,22,22, + 22,22,22,22,22,22,22,22,22,22, + 22,22,103,22,22,22,22,22,22,22, + 22,22,22,22,22,22,88,38,90,24, + 82,11,11,71,72,9,72,49,49,72, + 48,72,66,38,88,26,38,38,38,38, + 38,38,38,38,38,38,38,38,38,38, + 38,38,38,58,106,38,28,26,118,25, + 88,93,87,7,7,7,7,7,22,20, + 38,58,118,26,25,13,88,54,31,38, + 95,17,58,38,58,41,15,58,38,58, + 118,22,22,26,25,53,11,11,90,95, + 88,38,110,58,7,39,19,38,7,22, + 46,39,58,118,13,26,26,88,93,87, + 74,58,39,43,98,7,41,38,38,21, + 26,7,22,20,13,114,110,56,41,39, + 22,7,26,41,88,88,39,44,22,38, + 56,90,39,39,38,56,22,76,80 }; }; public final static byte nasb[] = Nasb.nasb; @@ -684,18 +693,18 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Nasr { public final static char nasr[] = {0, - 4,79,78,77,76,64,75,74,0,26, - 0,89,0,20,0,92,65,0,97,0, - 90,0,68,10,59,4,0,70,0,32, - 0,10,4,23,0,4,10,0,10,69, - 0,95,0,99,0,51,0,56,0,22, - 43,42,36,34,10,0,64,60,61,62, - 63,52,27,0,43,42,36,34,31,0, - 24,0,22,42,43,10,0,10,22,0, - 31,49,10,25,0,10,88,0,48,10, - 45,0,81,10,48,0,43,42,31,0, - 93,10,25,0,31,49,0,10,87,0, - 10,48,66,0 + 79,77,76,64,75,74,1,0,89,0, + 26,0,21,0,97,0,90,0,68,11, + 59,5,0,11,5,24,0,5,11,0, + 79,78,77,76,64,75,74,0,32,0, + 51,0,11,69,0,99,0,92,65,0, + 70,0,23,43,42,36,34,11,0,11, + 87,0,11,88,0,64,60,61,62,63, + 52,27,0,43,42,36,34,31,0,95, + 0,23,42,43,11,0,11,23,0,31, + 49,0,31,49,11,25,0,11,48,66, + 0,48,11,45,0,43,42,31,0,81, + 11,48,0,93,11,25,0,56,0 }; }; public final static char nasr[] = Nasr.nasr; @@ -703,9 +712,9 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface TerminalIndex { public final static char terminalIndex[] = {0, - 85,2,86,9,87,48,64,76,1,10, - 11,69,3,8,6,7,44,55,60,63, - 68,72,81,82,83,84,12,13,90,42, + 85,2,86,9,87,48,64,76,10,11, + 1,3,8,69,6,7,68,81,82,83, + 84,12,13,44,55,60,63,72,42,90, 47,52,56,61,62,66,67,74,75,78, 79,80,91,54,70,73,16,17,30,89, 93,4,14,15,18,19,20,21,29,31, @@ -720,14 +729,14 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface NonterminalIndex { public final static char nonterminalIndex[] = {0, - 0,0,0,101,105,106,107,108,109,0, - 110,111,112,113,114,115,116,117,118,129, - 0,97,96,121,122,150,128,0,0,0, + 100,0,0,0,102,106,107,108,109,110, + 0,111,112,113,114,115,116,117,118,119, + 129,0,97,96,122,150,128,0,0,0, 0,98,146,148,0,149,0,0,0,0, - 159,160,161,0,100,120,137,141,147,156, + 159,160,161,0,101,121,137,141,147,156, 0,131,136,0,151,154,155,158,0,132, - 133,134,135,138,0,140,145,162,99,102, - 103,104,119,123,124,125,126,127,130,0, + 133,134,135,138,0,140,145,162,99,103, + 104,105,120,123,124,125,126,127,130,0, 139,143,0,0,144,153,95,0,0,0, 142,0,152,157,0,163,164,0,165,0, 0,0,0,0,0,0,0,0,0,0, @@ -762,9 +771,9 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeLhs { public final static char scopeLhs[] = { - 62,60,4,62,26,26,60,53,106,44, - 26,39,44,26,66,5,4,4,18,99, - 98,42,26,36,2,68,66,107,4,66, + 62,60,5,62,26,26,60,53,106,44, + 26,39,44,26,66,6,5,5,19,99, + 98,42,26,36,3,68,66,107,5,66, 39,37,39 }; }; @@ -773,9 +782,9 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeLa { public final static byte scopeLa[] = { - 43,43,43,43,50,50,43,43,86,29, - 50,29,29,50,66,29,29,50,59,50, - 50,29,50,29,29,60,1,92,29,66, + 43,43,43,43,50,50,43,43,86,30, + 50,30,30,50,66,30,30,50,59,50, + 50,30,50,30,30,60,1,92,30,66, 2,2,2 }; }; @@ -795,24 +804,24 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeRhs { public final static char scopeRhs[] = {0, - 139,9,0,96,0,189,103,0,31,136, - 0,144,165,103,13,152,0,98,0,0, - 148,103,2,135,0,97,0,148,103,2, - 0,151,2,0,112,12,179,103,9,0, - 112,179,103,12,9,0,112,12,9,0, - 112,179,103,9,0,112,9,0,129,0, - 2,0,152,97,0,2,97,0,148,103, + 139,11,0,96,0,189,104,0,31,136, + 0,144,165,104,12,152,0,98,0,0, + 148,104,2,135,0,97,0,148,104,2, + 0,151,2,0,113,14,179,104,11,0, + 113,179,104,14,11,0,113,14,11,0, + 113,179,104,11,0,113,11,0,129,0, + 2,0,152,97,0,2,97,0,148,104, 2,129,0,2,0,151,97,0,140,2, - 0,144,177,103,13,117,185,44,0,98, - 0,144,177,103,13,185,44,0,141,0, - 99,0,184,103,141,0,103,141,0,142, - 99,0,173,103,13,183,117,182,157,0, - 173,103,13,182,157,0,195,85,0,77, - 2,100,97,99,0,195,115,138,2,89, - 0,53,0,0,138,69,110,0,29,117, - 0,164,2,21,0,144,165,103,13,115, - 164,2,0,164,2,0,97,3,0,104, - 0,98,0,181,2,97,0,138,9,97, + 0,144,177,104,12,94,185,44,0,98, + 0,144,177,104,12,185,44,0,141,0, + 99,0,184,104,141,0,104,141,0,142, + 99,0,173,104,12,183,94,182,157,0, + 173,104,12,182,157,0,195,85,0,77, + 2,101,97,99,0,195,116,138,2,89, + 0,53,0,0,138,69,111,0,29,118, + 0,164,2,17,0,144,165,104,12,116, + 164,2,0,164,2,0,97,3,0,105, + 0,98,0,181,2,98,0,138,11,98, 0,138,2,0 }; }; @@ -821,15 +830,15 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeState { public final static char scopeState[] = {0, - 906,0,1563,1585,1520,0,398,0,374,1293, - 1397,1232,1220,1145,1115,0,636,1177,316,0, - 1325,1142,373,341,1220,1145,1115,1539,1398,1417, - 0,1399,1316,463,1210,640,576,1353,1341,1280, - 1294,701,1387,1377,1365,1304,1497,1409,1272,480, - 381,1589,1333,1133,1078,1069,1023,1014,500,1126, - 1086,1050,1031,995,976,956,936,616,1105,593, - 509,916,896,876,856,836,816,796,776,756, - 736,716,316,667,553,533,420,440,347,0 + 1085,0,1677,1576,1647,0,396,0,1464,1339, + 1433,1265,1249,1186,1157,0,636,1210,313,0, + 1269,504,503,369,1249,1186,1157,1639,1450,1536, + 0,477,378,459,1146,640,574,1326,1313,1169, + 1423,1252,1409,1398,1387,1357,1563,1548,1537,1434, + 701,1379,1340,1528,1520,1512,1091,1036,404,1305, + 1099,1064,1044,1009,989,968,947,615,1119,592, + 507,926,905,884,863,842,821,800,779,758, + 737,716,313,667,553,532,417,438,344,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -837,27 +846,27 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface InSymb { public final static char inSymb[] = {0, - 0,180,103,166,21,28,27,11,10,4, - 14,16,15,2,97,101,100,104,102,106, - 105,108,107,110,109,98,30,2,164,138, - 141,103,67,52,2,9,11,10,54,53, - 4,58,57,56,55,47,48,14,62,61, + 0,180,104,166,17,23,22,10,9,4, + 13,16,15,2,98,102,101,105,103,107, + 106,109,108,111,110,99,29,2,164,138, + 141,104,67,52,2,11,10,9,54,53, + 4,58,57,56,55,47,48,13,62,61, 64,63,69,68,65,79,78,77,75,76, - 74,73,72,71,70,60,164,115,103,9, + 74,73,72,71,70,60,164,116,104,11, 2,136,135,167,168,157,169,46,45,170, - 44,171,172,1,3,181,138,100,100,102, - 102,102,102,101,101,105,104,104,107,106, - 138,109,108,115,13,142,124,12,112,103, - 4,151,103,2,182,158,158,185,158,59, - 103,124,4,103,112,179,149,148,118,103, - 150,103,117,13,117,13,165,103,13,152, - 4,103,179,12,112,4,2,127,129,103, - 30,148,183,103,13,103,144,30,189,52, - 9,190,103,13,103,149,112,112,140,103, - 2,142,13,173,141,174,103,177,117,178, - 60,139,52,9,103,149,103,103,103,177, - 144,60,30,139,165,148,186,173,184,59, - 140,2,103,144,144,30,30,59,142,125 + 44,171,172,94,181,138,101,101,103,103, + 103,103,102,102,106,105,105,108,107,138, + 110,109,116,12,142,124,14,113,104,4, + 151,104,2,182,158,158,185,158,59,104, + 124,4,104,113,179,149,148,118,104,150, + 104,94,12,94,12,165,104,12,152,4, + 104,179,14,113,4,2,127,129,104,29, + 148,183,104,12,104,144,29,189,52,11, + 190,104,12,104,149,113,113,140,104,2, + 142,12,173,141,174,104,177,94,178,60, + 139,52,11,104,149,104,104,104,177,144, + 60,29,139,165,148,186,173,184,59,140, + 2,104,144,144,29,29,59,142,125 }; }; public final static char inSymb[] = InSymb.inSymb; @@ -965,6 +974,7 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab ")", "}", ";", + "identifier_token", "expression", "postfix_expression", "member_name", @@ -986,7 +996,6 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab "assignment_expression", "expression_list_actual", "constant_expression", - "identifier_token", "declaration_specifiers", "simple_declaration_specifiers", "struct_or_union_declaration_sp" + @@ -1003,7 +1012,7 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab "struct_or_union_specifier", "elaborated_specifier", "enum_specifier", - "typedef_name_in_declspec", + "type_name_specifier", "initializer", "declarator", "struct_or_union", @@ -1053,20 +1062,20 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public final int getMaxNameLength() { return MAX_NAME_LENGTH; } public final static int - NUM_STATES = 210, + NUM_STATES = 209, NT_OFFSET = 93, - LA_STATE_OFFSET = 2029, + LA_STATE_OFFSET = 2107, MAX_LA = 2, - NUM_RULES = 315, + NUM_RULES = 312, NUM_NONTERMINALS = 123, NUM_SYMBOLS = 216, SEGMENT_SIZE = 8192, - START_STATE = 1569, + START_STATE = 1202, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 80, EOLT_SYMBOL = 80, - ACCEPT_ACTION = 1701, - ERROR_ACTION = 1714; + ACCEPT_ACTION = 1785, + ERROR_ACTION = 1795; public final static boolean BACKTRACK = true; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParsersym.java index 28fbc1917b1..cb4da2e8d20 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParsersym.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParsersym.java @@ -15,7 +15,7 @@ package org.eclipse.cdt.internal.core.dom.lrparser.c99; public interface C99NoCastExpressionParsersym { public final static int - TK_auto = 17, + TK_auto = 24, TK_break = 81, TK_case = 82, TK_char = 31, @@ -26,24 +26,24 @@ public interface C99NoCastExpressionParsersym { TK_double = 32, TK_else = 86, TK_enum = 44, - TK_extern = 18, + TK_extern = 25, TK_float = 33, TK_for = 87, TK_goto = 88, TK_if = 89, - TK_inline = 19, + TK_inline = 26, TK_int = 34, TK_long = 35, - TK_register = 20, + TK_register = 27, TK_restrict = 7, TK_return = 90, TK_short = 36, TK_signed = 37, - TK_sizeof = 21, - TK_static = 12, + TK_sizeof = 17, + TK_static = 14, TK_struct = 45, TK_switch = 91, - TK_typedef = 22, + TK_typedef = 28, TK_union = 46, TK_unsigned = 38, TK_void = 39, @@ -52,27 +52,27 @@ public interface C99NoCastExpressionParsersym { TK__Bool = 40, TK__Complex = 41, TK__Imaginary = 42, - TK_integer = 23, - TK_floating = 24, - TK_charconst = 25, - TK_stringlit = 26, + TK_integer = 18, + TK_floating = 19, + TK_charconst = 20, + TK_stringlit = 21, TK_identifier = 1, TK_Completion = 3, TK_EndOfCompletion = 5, TK_Invalid = 93, - TK_LeftBracket = 9, + TK_LeftBracket = 11, TK_LeftParen = 2, - TK_LeftBrace = 13, + TK_LeftBrace = 12, TK_Dot = 52, TK_Arrow = 67, TK_PlusPlus = 15, TK_MinusMinus = 16, - TK_And = 14, + TK_And = 13, TK_Star = 4, - TK_Plus = 10, - TK_Minus = 11, - TK_Tilde = 27, - TK_Bang = 28, + TK_Plus = 9, + TK_Minus = 10, + TK_Tilde = 22, + TK_Bang = 23, TK_Slash = 53, TK_Percent = 54, TK_RightShift = 47, @@ -101,9 +101,9 @@ public interface C99NoCastExpressionParsersym { TK_AndAssign = 77, TK_CaretAssign = 78, TK_OrAssign = 79, - TK_Comma = 30, + TK_Comma = 29, TK_RightBracket = 50, - TK_RightParen = 29, + TK_RightParen = 30, TK_RightBrace = 43, TK_SemiColon = 66, TK_ERROR_TOKEN = 51, @@ -119,28 +119,28 @@ public interface C99NoCastExpressionParsersym { "const", "restrict", "volatile", - "LeftBracket", "Plus", "Minus", - "static", + "LeftBracket", "LeftBrace", "And", + "static", "PlusPlus", "MinusMinus", - "auto", - "extern", - "inline", - "register", "sizeof", - "typedef", "integer", "floating", "charconst", "stringlit", "Tilde", "Bang", - "RightParen", + "auto", + "extern", + "inline", + "register", + "typedef", "Comma", + "RightParen", "char", "double", "float", diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parser.java index fbf44378196..7b0005c5651 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parser.java @@ -253,81 +253,81 @@ public C99Parser(IParserActionTokenProvider parser) { // constructor } // - // Rule 10: literal ::= integer + // Rule 12: literal ::= integer // - case 10: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_integer_constant); break; + case 12: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_integer_constant); break; } // - // Rule 11: literal ::= floating + // Rule 13: literal ::= floating // - case 11: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_float_constant); break; + case 13: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_float_constant); break; } // - // Rule 12: literal ::= charconst + // Rule 14: literal ::= charconst // - case 12: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_char_constant); break; + case 14: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_char_constant); break; } // - // Rule 13: literal ::= stringlit + // Rule 15: literal ::= stringlit // - case 13: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_string_literal); break; + case 15: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_string_literal); break; } // - // Rule 15: primary_expression ::= primary_expression_id + // Rule 17: primary_expression ::= primary_expression_id // - case 15: { action. consumeExpressionID(); break; + case 17: { action. consumeExpressionID(); break; } // - // Rule 16: primary_expression ::= ( expression ) + // Rule 18: primary_expression ::= ( expression ) // - case 16: { action. consumeExpressionBracketed(); break; + case 18: { action. consumeExpressionBracketed(); break; } // - // Rule 20: postfix_expression ::= postfix_expression [ expression ] + // Rule 21: postfix_expression ::= postfix_expression [ expression ] // - case 20: { action. consumeExpressionArraySubscript(); break; + case 21: { action. consumeExpressionArraySubscript(); break; } // - // Rule 21: postfix_expression ::= postfix_expression ( expression_list_opt ) + // Rule 22: postfix_expression ::= postfix_expression ( expression_list_opt ) // - case 21: { action. consumeExpressionFunctionCall(); break; + case 22: { action. consumeExpressionFunctionCall(); break; } // - // Rule 22: postfix_expression ::= postfix_expression . member_name + // Rule 23: postfix_expression ::= postfix_expression . member_name // - case 22: { action. consumeExpressionFieldReference(false); break; + case 23: { action. consumeExpressionFieldReference(false); break; } // - // Rule 23: postfix_expression ::= postfix_expression -> member_name + // Rule 24: postfix_expression ::= postfix_expression -> member_name // - case 23: { action. consumeExpressionFieldReference(true); break; + case 24: { action. consumeExpressionFieldReference(true); break; } // - // Rule 24: postfix_expression ::= postfix_expression ++ + // Rule 25: postfix_expression ::= postfix_expression ++ // - case 24: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break; + case 25: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break; } // - // Rule 25: postfix_expression ::= postfix_expression -- + // Rule 26: postfix_expression ::= postfix_expression -- // - case 25: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break; + case 26: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break; } // - // Rule 26: postfix_expression ::= ( type_id ) { <openscope-ast> initializer_list comma_opt } + // Rule 27: postfix_expression ::= ( type_id ) { <openscope-ast> initializer_list comma_opt } // - case 26: { action. consumeExpressionTypeIdInitializer(); break; + case 27: { action. consumeExpressionTypeIdInitializer(); break; } // @@ -781,483 +781,477 @@ public C99Parser(IParserActionTokenProvider parser) { // constructor } // - // Rule 178: typedef_name_in_declspec ::= Completion + // Rule 178: type_name_specifier ::= identifier_token // case 178: { action. consumeToken(); break; } // - // Rule 179: typedef_name_in_declspec ::= identifier + // Rule 179: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt } // - case 179: { action. consumeToken(); break; + case 179: { action. consumeTypeSpecifierComposite(false); break; } // - // Rule 182: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt } + // Rule 180: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook identifier_token struct_or_union_specifier_suffix_hook { <openscope-ast> struct_declaration_list_opt } // - case 182: { action. consumeTypeSpecifierComposite(false); break; + case 180: { action. consumeTypeSpecifierComposite(true); break; } // - // Rule 183: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook identifier_token struct_or_union_specifier_suffix_hook { <openscope-ast> struct_declaration_list_opt } + // Rule 185: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token // - case 183: { action. consumeTypeSpecifierComposite(true); break; + case 185: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break; } // - // Rule 188: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token + // Rule 186: elaborated_specifier ::= union elaborated_specifier_hook identifier_token // - case 188: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break; + case 186: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break; } // - // Rule 189: elaborated_specifier ::= union elaborated_specifier_hook identifier_token + // Rule 187: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token // - case 189: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break; + case 187: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break; } // - // Rule 190: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token + // Rule 193: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ; // - case 190: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break; + case 193: { action. consumeStructDeclaration(true); break; } // - // Rule 196: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ; + // Rule 194: struct_declaration ::= specifier_qualifier_list ; // - case 196: { action. consumeStructDeclaration(true); break; + case 194: { action. consumeStructDeclaration(false); break; } // - // Rule 197: struct_declaration ::= specifier_qualifier_list ; + // Rule 195: struct_declaration ::= ERROR_TOKEN // - case 197: { action. consumeStructDeclaration(false); break; + case 195: { action. consumeDeclarationProblem(); break; } // - // Rule 198: struct_declaration ::= ERROR_TOKEN + // Rule 201: struct_declarator ::= : constant_expression // - case 198: { action. consumeDeclarationProblem(); break; + case 201: { action. consumeBitField(false); break; } // - // Rule 204: struct_declarator ::= : constant_expression + // Rule 202: struct_declarator ::= declarator : constant_expression // - case 204: { action. consumeBitField(false); break; + case 202: { action. consumeBitField(true); break; } // - // Rule 205: struct_declarator ::= declarator : constant_expression + // Rule 203: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } // - case 205: { action. consumeBitField(true); break; + case 203: { action. consumeTypeSpecifierEnumeration(false); break; } // - // Rule 206: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 204: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } // - case 206: { action. consumeTypeSpecifierEnumeration(false); break; + case 204: { action. consumeTypeSpecifierEnumeration(true); break; } // - // Rule 207: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 210: enumerator ::= identifier_token // - case 207: { action. consumeTypeSpecifierEnumeration(true); break; + case 210: { action. consumeEnumerator(false); break; } // - // Rule 213: enumerator ::= identifier_token + // Rule 211: enumerator ::= identifier_token = constant_expression // - case 213: { action. consumeEnumerator(false); break; + case 211: { action. consumeEnumerator(true); break; } // - // Rule 214: enumerator ::= identifier_token = constant_expression + // Rule 212: type_qualifier ::= type_qualifier_token // - case 214: { action. consumeEnumerator(true); break; + case 212: { action. consumeToken(); break; } // - // Rule 215: type_qualifier ::= type_qualifier_token + // Rule 216: function_specifier ::= inline // - case 215: { action. consumeToken(); break; + case 216: { action. consumeToken(); break; } // - // Rule 219: function_specifier ::= inline + // Rule 218: declarator ::= <openscope-ast> pointer_seq direct_declarator // - case 219: { action. consumeToken(); break; + case 218: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 221: declarator ::= <openscope-ast> pointer_seq direct_declarator + // Rule 223: basic_direct_declarator ::= declarator_id_name // - case 221: { action. consumeDeclaratorWithPointer(true); break; + case 223: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 226: basic_direct_declarator ::= declarator_id_name + // Rule 224: basic_direct_declarator ::= ( declarator ) // - case 226: { action. consumeDirectDeclaratorIdentifier(); break; + case 224: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 227: basic_direct_declarator ::= ( declarator ) + // Rule 225: declarator_id_name ::= identifier // - case 227: { action. consumeDirectDeclaratorBracketed(); break; + case 225: { action. consumeIdentifierName(); break; } // - // Rule 228: declarator_id_name ::= identifier + // Rule 226: array_direct_declarator ::= basic_direct_declarator array_modifier // - case 228: { action. consumeIdentifierName(); break; + case 226: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 229: array_direct_declarator ::= basic_direct_declarator array_modifier + // Rule 227: array_direct_declarator ::= array_direct_declarator array_modifier // - case 229: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 227: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 230: array_direct_declarator ::= array_direct_declarator array_modifier + // Rule 229: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list ) // - case 230: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 229: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; } // - // Rule 232: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list ) + // Rule 230: function_direct_declarator ::= basic_direct_declarator ( ) // - case 232: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; + case 230: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; } // - // Rule 233: function_direct_declarator ::= basic_direct_declarator ( ) + // Rule 232: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator // - case 233: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; + case 232: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 235: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator + // Rule 233: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list ) // - case 235: { action. consumeDeclaratorWithPointer(true); break; - } - - // - // Rule 236: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list ) - // - case 236: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; + case 233: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; } // - // Rule 238: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator + // Rule 235: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator // - case 238: { action. consumeDeclaratorWithPointer(true); break; + case 235: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 239: identifier_list ::= identifier + // Rule 236: identifier_list ::= identifier // - case 239: { action. consumeIdentifierKnR(); break; + case 236: { action. consumeIdentifierKnR(); break; } // - // Rule 240: identifier_list ::= identifier_list , identifier + // Rule 237: identifier_list ::= identifier_list , identifier // - case 240: { action. consumeIdentifierKnR(); break; + case 237: { action. consumeIdentifierKnR(); break; } // - // Rule 241: array_modifier ::= [ ] + // Rule 238: array_modifier ::= [ ] // - case 241: { action. consumeDirectDeclaratorArrayModifier(false); break; + case 238: { action. consumeDirectDeclaratorArrayModifier(false); break; } // - // Rule 242: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ] + // Rule 239: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ] // - case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break; + case 239: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break; } // - // Rule 243: array_modifier ::= [ assignment_expression ] + // Rule 240: array_modifier ::= [ assignment_expression ] // - case 243: { action. consumeDirectDeclaratorArrayModifier(true); break; + case 240: { action. consumeDirectDeclaratorArrayModifier(true); break; } // - // Rule 244: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ] + // Rule 241: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ] // - case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break; + case 241: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break; } // - // Rule 245: array_modifier ::= [ static assignment_expression ] + // Rule 242: array_modifier ::= [ static assignment_expression ] // - case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break; + case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break; } // - // Rule 246: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ] + // Rule 243: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ] // - case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; + case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; } // - // Rule 247: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ] + // Rule 244: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ] // - case 247: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; + case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; } // - // Rule 248: array_modifier ::= [ * ] + // Rule 245: array_modifier ::= [ * ] // - case 248: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break; + case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break; } // - // Rule 249: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ] + // Rule 246: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ] // - case 249: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break; + case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break; } // - // Rule 251: pointer_seq ::= pointer_hook * + // Rule 248: pointer_seq ::= pointer_hook * // - case 251: { action. consumePointer(); break; + case 248: { action. consumePointer(); break; } // - // Rule 252: pointer_seq ::= pointer_seq pointer_hook * + // Rule 249: pointer_seq ::= pointer_seq pointer_hook * // - case 252: { action. consumePointer(); break; + case 249: { action. consumePointer(); break; } // - // Rule 253: pointer_seq ::= pointer_hook * <openscope-ast> type_qualifier_list + // Rule 250: pointer_seq ::= pointer_hook * <openscope-ast> type_qualifier_list // - case 253: { action. consumePointerTypeQualifierList(); break; + case 250: { action. consumePointerTypeQualifierList(); break; } // - // Rule 254: pointer_seq ::= pointer_seq pointer_hook * <openscope-ast> type_qualifier_list + // Rule 251: pointer_seq ::= pointer_seq pointer_hook * <openscope-ast> type_qualifier_list // - case 254: { action. consumePointerTypeQualifierList(); break; + case 251: { action. consumePointerTypeQualifierList(); break; } // - // Rule 258: parameter_type_list ::= parameter_list + // Rule 255: parameter_type_list ::= parameter_list // - case 258: { action. consumeEmpty(); break; + case 255: { action. consumeEmpty(); break; } // - // Rule 259: parameter_type_list ::= parameter_list , ... + // Rule 256: parameter_type_list ::= parameter_list , ... // - case 259: { action. consumePlaceHolder(); break; + case 256: { action. consumePlaceHolder(); break; } // - // Rule 260: parameter_type_list ::= ... + // Rule 257: parameter_type_list ::= ... // - case 260: { action. consumePlaceHolder(); break; + case 257: { action. consumePlaceHolder(); break; } // - // Rule 263: parameter_declaration ::= declaration_specifiers complete_parameter_declarator + // Rule 260: parameter_declaration ::= declaration_specifiers complete_parameter_declarator // - case 263: { action. consumeParameterDeclaration(); break; + case 260: { action. consumeParameterDeclaration(); break; } // - // Rule 264: parameter_declaration ::= declaration_specifiers + // Rule 261: parameter_declaration ::= declaration_specifiers // - case 264: { action. consumeParameterDeclarationWithoutDeclarator(); break; + case 261: { action. consumeParameterDeclarationWithoutDeclarator(); break; } // - // Rule 267: type_id ::= specifier_qualifier_list + // Rule 264: type_id ::= specifier_qualifier_list // - case 267: { action. consumeTypeId(false); break; + case 264: { action. consumeTypeId(false); break; } // - // Rule 268: type_id ::= specifier_qualifier_list abstract_declarator + // Rule 265: type_id ::= specifier_qualifier_list abstract_declarator // - case 268: { action. consumeTypeId(true); break; + case 265: { action. consumeTypeId(true); break; } // - // Rule 270: abstract_declarator ::= <openscope-ast> pointer_seq + // Rule 267: abstract_declarator ::= <openscope-ast> pointer_seq // - case 270: { action. consumeDeclaratorWithPointer(false); break; + case 267: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 271: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator + // Rule 268: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator // - case 271: { action. consumeDeclaratorWithPointer(false); break; + case 268: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 275: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 272: basic_direct_abstract_declarator ::= ( abstract_declarator ) // - case 275: { action. consumeDirectDeclaratorBracketed(); break; + case 272: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 276: array_direct_abstract_declarator ::= array_modifier + // Rule 273: array_direct_abstract_declarator ::= array_modifier // - case 276: { action. consumeDirectDeclaratorArrayDeclarator(false); break; + case 273: { action. consumeDirectDeclaratorArrayDeclarator(false); break; } // - // Rule 277: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier + // Rule 274: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier // - case 277: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 274: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 278: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier + // Rule 275: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier // - case 278: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 275: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 279: function_direct_abstract_declarator ::= ( ) + // Rule 276: function_direct_abstract_declarator ::= ( ) // - case 279: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break; + case 276: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break; } // - // Rule 280: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( ) + // Rule 277: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( ) // - case 280: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; + case 277: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; } // - // Rule 281: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list ) + // Rule 278: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list ) // - case 281: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break; + case 278: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break; } // - // Rule 282: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list ) + // Rule 279: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list ) // - case 282: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; + case 279: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; } // - // Rule 283: initializer ::= assignment_expression + // Rule 280: initializer ::= assignment_expression // - case 283: { action. consumeInitializer(); break; + case 280: { action. consumeInitializer(); break; } // - // Rule 284: initializer ::= start_initializer_list { <openscope-ast> initializer_list comma_opt } end_initializer_list + // Rule 281: initializer ::= start_initializer_list { <openscope-ast> initializer_list comma_opt } end_initializer_list // - case 284: { action. consumeInitializerList(); break; + case 281: { action. consumeInitializerList(); break; } // - // Rule 285: initializer ::= { <openscope-ast> } + // Rule 282: initializer ::= { <openscope-ast> } // - case 285: { action. consumeInitializerList(); break; + case 282: { action. consumeInitializerList(); break; } // - // Rule 286: start_initializer_list ::= $Empty + // Rule 283: start_initializer_list ::= $Empty // - case 286: { action. initializerListStart(); break; + case 283: { action. initializerListStart(); break; } // - // Rule 287: end_initializer_list ::= $Empty + // Rule 284: end_initializer_list ::= $Empty // - case 287: { action. initializerListEnd(); break; + case 284: { action. initializerListEnd(); break; } // - // Rule 292: designated_initializer ::= <openscope-ast> designation = initializer + // Rule 289: designated_initializer ::= <openscope-ast> designation = initializer // - case 292: { action. consumeInitializerDesignated(); break; + case 289: { action. consumeInitializerDesignated(); break; } // - // Rule 296: designator_base ::= [ constant_expression ] + // Rule 293: designator_base ::= [ constant_expression ] // - case 296: { action. consumeDesignatorArray(); break; + case 293: { action. consumeDesignatorArray(); break; } // - // Rule 297: designator_base ::= . identifier_token + // Rule 294: designator_base ::= . identifier_token // - case 297: { action. consumeDesignatorField(); break; + case 294: { action. consumeDesignatorField(); break; } // - // Rule 298: designator ::= [ constant_expression ] + // Rule 295: designator ::= [ constant_expression ] // - case 298: { action. consumeDesignatorArray(); break; + case 295: { action. consumeDesignatorArray(); break; } // - // Rule 299: designator ::= . identifier_token + // Rule 296: designator ::= . identifier_token // - case 299: { action. consumeDesignatorField(); break; + case 296: { action. consumeDesignatorField(); break; } // - // Rule 300: translation_unit ::= external_declaration_list + // Rule 297: translation_unit ::= external_declaration_list // - case 300: { action. consumeTranslationUnit(); break; + case 297: { action. consumeTranslationUnit(); break; } // - // Rule 301: translation_unit ::= $Empty + // Rule 298: translation_unit ::= $Empty // - case 301: { action. consumeTranslationUnit(); break; + case 298: { action. consumeTranslationUnit(); break; } // - // Rule 306: external_declaration ::= ; + // Rule 303: external_declaration ::= ; // - case 306: { action. consumeDeclarationEmpty(); break; + case 303: { action. consumeDeclarationEmpty(); break; } // - // Rule 307: external_declaration ::= ERROR_TOKEN + // Rule 304: external_declaration ::= ERROR_TOKEN // - case 307: { action. consumeDeclarationProblem(); break; + case 304: { action. consumeDeclarationProblem(); break; } // - // Rule 310: function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body + // Rule 307: function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body // - case 310: { action. consumeFunctionDefinition(true); break; + case 307: { action. consumeFunctionDefinition(true); break; } // - // Rule 311: function_definition ::= <openscope-ast> function_declarator function_body + // Rule 308: function_definition ::= <openscope-ast> function_declarator function_body // - case 311: { action. consumeFunctionDefinition(false); break; + case 308: { action. consumeFunctionDefinition(false); break; } // - // Rule 312: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement + // Rule 309: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement // - case 312: { action. consumeFunctionDefinitionKnR(); break; + case 309: { action. consumeFunctionDefinitionKnR(); break; } // - // Rule 313: function_body ::= { } + // Rule 310: function_body ::= { } // - case 313: { action. consumeStatementCompoundStatement(false); break; + case 310: { action. consumeStatementCompoundStatement(false); break; } // - // Rule 314: function_body ::= { <openscope-ast> block_item_list } + // Rule 311: function_body ::= { <openscope-ast> block_item_list } // - case 314: { action. consumeStatementCompoundStatement(true); break; + case 311: { action. consumeStatementCompoundStatement(true); break; } diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parserprs.java index ec677be0c14..74a6e8b789c 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parserprs.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parserprs.java @@ -35,8 +35,8 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym public interface BaseCheck { public final static short baseCheck[] = {0, 0,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,3,1,1,1,4, - 4,3,3,2,2,8,1,0,1,1, + 1,1,1,1,1,1,1,3,1,1, + 4,4,3,3,2,2,8,1,0,1, 1,2,2,2,2,2,2,2,2,2, 4,1,4,1,3,3,3,1,3,3, 1,3,3,1,3,3,3,3,1,3, @@ -51,211 +51,220 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym 2,1,2,2,1,2,2,1,2,2, 1,2,2,1,3,1,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,6,8,0,0,1,1,3,3,3, - 0,1,0,1,2,4,2,1,1,1, - 3,1,1,2,3,7,8,0,1,0, - 1,3,1,3,1,1,1,1,1,1, - 3,1,1,1,1,1,3,1,2,2, - 1,5,3,1,3,5,1,3,1,3, - 2,4,3,5,4,6,6,3,5,1, - 2,3,4,5,0,1,2,1,3,1, - 1,3,2,1,1,1,1,2,1,2, - 3,1,1,1,3,1,2,2,2,3, - 4,5,1,7,3,0,0,1,1,3, - 3,4,1,1,2,3,2,3,2,1, - 0,1,2,1,1,1,1,1,2,4, - 3,6,2,4,-73,-30,0,0,0,0, + 1,1,1,1,1,1,1,1,6,8, + 0,0,1,1,3,3,3,0,1,0, + 1,2,4,2,1,1,1,3,1,1, + 2,3,7,8,0,1,0,1,3,1, + 3,1,1,1,1,1,1,3,1,1, + 1,1,1,3,1,2,2,1,5,3, + 1,3,5,1,3,1,3,2,4,3, + 5,4,6,6,3,5,1,2,3,4, + 5,0,1,2,1,3,1,1,3,2, + 1,1,1,1,2,1,2,3,1,1, + 1,3,1,2,2,2,3,4,5,1, + 7,3,0,0,1,1,3,3,4,1, + 1,2,3,2,3,2,1,0,1,2, + 1,1,1,1,1,2,4,3,6,2, + 4,-73,0,-2,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-28, + 0,0,-137,0,-17,-133,0,0,-260,0, + -6,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-191,0,0,0, + 0,0,0,-23,0,0,0,0,-19,0, + -3,0,0,0,0,0,0,-121,-120,0, + 0,0,0,0,0,0,-18,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-141,0,0,0,0,0,0,0,-87, + 0,-146,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-34,0,0,0,0,0,0, + 0,0,0,0,0,0,-163,0,0,0, + 0,0,0,0,-182,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, + -30,0,0,-284,0,-271,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-37,0,-183,0, + -256,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-145,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-20,0,0,0,0, + 0,0,0,0,-176,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-53,-29,0,0,-32,0,-274,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -51,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-180,0,-9,0,0,0,0, + 0,0,0,0,0,0,0,0,-38,0, + 0,-39,-55,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -204,0,0,-35,0,0,0,-285,0,-41, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-264,0,0,-263,0, + -181,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-123,0,0,-118,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-33,0,0,-81,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-45,0,0,0,0,-108,0, + -70,0,-47,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-49,-62,0,0,-174,0,-59,0,0, + 0,0,0,0,0,0,0,0,-4,0, + 0,0,0,0,-11,0,0,0,0,0, + -50,-190,0,0,0,-63,0,0,0,0, + 0,0,0,0,0,0,0,-12,0,0, + 0,0,0,0,-65,0,0,0,0,0, + 0,0,-147,0,-82,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -66,0,0,-106,0,-148,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-149,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-142,0,0,-158, + 0,-150,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-151,0,-144,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-186,0,0,-159,0,-152,0,-187, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -153,0,-69,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-195,0,-154,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-197,0,0,0,0,-155,0,-212,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-198,0,-156, + 0,-43,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-157,0,-217,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -36,0,0,-71,0,-201,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-218,0,0,-205,0,-206,0, + -74,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-210, + 0,-219,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-6,0,0,-22,0,0,-23,0,0, - 0,-261,-9,0,0,0,0,0,0,0, + 0,0,-86,0,0,0,0,0,0,0, + -211,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-238,0, + 0,-248,0,-250,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-32,0,0,0,0,-86,-2,0,0, - 0,0,0,-3,0,0,0,-19,0,-34, - 0,-120,0,-37,0,0,0,0,0,-18, - 0,-20,0,0,0,0,0,0,0,0, - 0,0,0,-33,-142,0,0,0,0,0, - 0,0,-173,-147,0,0,0,0,0,0, + 0,0,0,0,-270,0,-283,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-172,0,-84,0,0, + 0,0,0,0,0,-277,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -36,0,0,0,0,0,0,0,-29,0, - 0,0,0,0,0,0,0,-242,0,0, + 0,0,0,-95,0,0,-288,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-50,0,0, - -272,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-43,0,0, - 0,-38,0,-275,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-207,0,-96, + -77,0,-278,-42,0,0,-97,-175,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-11,0,0,-186,-39,0,0, + -22,0,0,-165,0,0,-98,0,-24,0, + 0,0,0,0,0,0,0,0,0,-99, + -135,-68,0,0,0,-57,0,0,-177,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-14,0,0,0,0,-70, - -82,0,0,0,0,0,0,0,0,0, + -85,0,0,0,0,-107,0,0,-208,0, + -164,0,0,0,0,0,0,0,0,0, + 0,0,0,-100,0,0,0,0,0,-237, + -262,0,0,0,0,0,0,-25,0,0, + 0,0,0,0,-26,0,-7,0,0,0, + 0,0,0,0,0,0,-60,0,-125,0, + 0,0,0,0,0,0,-101,0,-27,0, + 0,0,0,-14,0,-102,0,0,-44,0, + 0,0,0,-64,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-8,-103, + 0,0,-61,0,0,0,-220,-46,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-51,0,0,0,0,0,0,0, + -188,-31,0,0,0,-185,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,-238,0,0,-68,0,0, - -55,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-267,0,0,0,0,0, + -67,0,-239,-48,0,0,0,0,0,0, + -104,0,0,0,0,0,0,0,0,-199, + 0,0,0,-72,0,0,0,0,0,0, + 0,-16,0,-21,0,0,-76,0,0,-105, + 0,0,0,0,-40,-117,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-78, + 0,0,-124,0,0,-83,0,0,0,0, + 0,0,-111,-109,0,0,0,0,0,0, + 0,0,0,0,0,0,-56,-112,0,0, + 0,0,-132,0,0,0,-52,0,0,-240, + -114,0,0,0,0,0,-170,0,-115,0, + 0,0,0,0,0,0,0,0,0,-192, + 0,0,0,0,0,-116,0,0,0,0, + 0,0,-136,0,0,0,0,0,-79,0, + 0,0,0,0,0,0,0,-126,0,0, + -122,-255,0,0,-127,-119,0,0,0,0, + -130,0,0,0,0,0,-194,0,0,-128, + 0,0,-129,0,0,0,0,0,0,0, + 0,0,0,-253,0,-276,0,0,-88,0, 0,0,0,0,0,0,0,0,0,0, - 0,-286,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-200,0,0,0,0, + 0,-242,-249,0,0,0,0,0,-131,-189, + 0,-138,0,0,0,-203,0,0,-139,0, 0,0,0,0,0,0,0,0,0,0, - 0,-35,0,0,-108,0,-81,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-24,0,0,0, - 0,-182,-41,0,0,0,0,0,0,0, - 0,0,0,0,0,-44,0,0,0,-46, - 0,-45,0,0,0,0,-172,-47,0,0, - 0,0,0,0,0,0,0,-93,0,0, - 0,0,0,0,0,0,0,0,0,-48, - 0,-12,0,0,0,0,0,0,-118,-62, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-25,0,0,-208,-146, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -183,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-63,-148,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-65,0,0,0,-177,0, - 0,0,0,0,0,0,0,0,0,-149, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-26, - -150,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-27,0,0, - 0,-151,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-61,-152,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-277, - 0,0,0,-153,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-145,-154,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-66,0,0,-213,-155,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-221,-156,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-254,-157,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-288,-158,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-202, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-134,0,0,-69, - -207,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-106,0,0, - -211,-164,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-175,0,0,0,0,0,0,0,0, - 0,0,0,-212,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -71,0,0,-74,-251,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-84,0,0,-271,-95,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-176,-96,0,0,0,0, - 0,0,0,0,0,0,-279,-278,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-97,0,0,-289,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-98,0,0,-94,-99,0, - 0,0,0,0,-42,0,-59,-166,0,-60, - -178,0,0,0,0,0,0,0,0,0, - 0,0,-209,0,0,0,0,0,0,-57, - 0,0,0,0,0,0,0,0,0,0, - -76,0,-107,0,-78,0,0,0,0,0, - 0,0,-67,0,-58,0,-17,0,0,0, - 0,0,0,0,0,-117,-5,0,-255,0, - 0,0,-119,0,0,0,0,-100,0,0, + 0,-178,0,-196,0,0,0,0,0,0, + 0,0,0,-244,0,0,0,0,-134,0, + 0,0,0,0,-209,-140,0,0,0,0, + 0,0,0,-221,0,-222,0,0,-246,0, + 0,0,0,0,0,0,0,0,0,-223, + 0,0,-224,-193,-225,0,0,-89,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-125,0,-138,0,-165,0,0,0,0, - 0,0,0,-111,0,-189,0,0,0,0, - -101,0,0,0,0,0,-191,0,0,0, - 0,0,0,0,0,0,0,-179,0,0, - 0,0,0,0,0,0,0,0,0,-205, - 0,0,0,0,-285,-265,-102,0,0,0, - 0,0,-103,-121,0,-257,0,0,-200,0, - 0,0,0,0,0,0,-21,0,-104,0, - 0,-16,0,0,-105,0,-133,0,0,0, - 0,0,0,-143,0,0,0,0,0,0, - 0,0,0,0,-49,0,0,0,-8,0, - -109,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-28,-159,0,0, - 0,0,0,0,0,-193,0,0,-256,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-112,0,-241,-114,0, - 0,0,0,0,-115,-116,-180,0,0,0, - 0,0,0,0,0,0,0,-187,-184,0, + 0,0,0,0,0,-247,0,0,-254,-272, + 0,-252,0,0,-91,0,-226,0,0,0, + 0,0,0,0,-266,0,0,-282,0,0, + 0,-279,0,0,0,0,0,0,0,0, + 0,-110,0,0,0,0,-281,0,0,-289, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-160,0,-188,0, - 0,0,0,0,-64,0,-91,-196,0,0, - 0,0,0,0,0,0,0,0,-198,0, - -122,0,-192,0,0,0,-126,0,-53,0, - 0,-31,0,0,0,0,0,0,0,0, - -127,0,-130,0,0,0,0,0,-128,0, - -129,0,0,-195,0,0,0,0,0,0, - 0,0,-131,0,-79,0,-132,-139,0,0, - 0,0,-140,-197,-243,0,0,0,0,0, - 0,0,0,0,0,-40,0,0,0,0, - 0,0,0,0,0,0,-75,0,-201,0, - -210,-181,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-204,0,0,0, - 0,-123,0,-194,0,0,0,0,0,0, - 0,0,0,0,0,0,-161,0,0,0, - -199,0,-287,0,0,-245,0,-206,0,0, - 0,0,0,0,0,-4,0,-264,0,0, - 0,0,0,0,-218,0,0,-222,0,-247, - 0,-223,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-284,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-224,-249,-248,0,-225, - -136,0,0,0,0,-174,-226,0,0,0, - 0,0,0,0,0,0,0,0,0,-283, - 0,-1,0,-219,0,0,0,0,0,0, - 0,0,0,-220,-239,-227,0,0,0,0, - 0,-290,0,0,-263,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-124, - 0,0,0,-294,0,-54,0,0,0,0, - 0,0,0,0,0,0,0,-270,0,0, - 0,-268,-250,0,0,-77,0,0,-228,-273, - -137,0,0,0,0,0,0,0,0,0, - -56,0,0,0,0,-7,0,0,0,0, - 0,0,0,0,0,0,-280,0,-229,0, - 0,0,0,-230,0,0,-190,0,-231,0, - 0,0,-167,0,-217,0,0,0,0,0, - 0,0,0,0,0,0,-240,0,-291,0, - 0,-267,0,0,0,0,0,0,-214,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-232,0,0,0,-258,0,0,0, - 0,-141,-233,-234,0,0,0,-235,-10,0, - 0,0,0,0,0,-13,-236,0,-237,0, - 0,-15,0,-252,-80,0,0,0,-72,0, - 0,0,0,0,0,-216,0,-259,-253,-260, - 0,0,-83,-135,0,0,0,0,0,0, - -269,-274,0,-276,-85,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-282,-292,-293,0,0,0,0, - 0,-87,0,0,0,0,0,0,0,-88, - 0,0,0,0,0,0,0,0,-89,0, - 0,0,0,0,0,0,-90,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-162,0,0,-92,0,0,0,0, - 0,0,0,-113,0,0,0,0,0,0, - 0,0,0,-163,0,0,0,0,-168,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-203,0,0,0,0,-169, - 0,0,0,0,0,0,0,0,-170,0, - 0,0,0,0,0,0,-144,-215,0,0, - 0,0,0,0,0,0,-244,0,0,0, - -52,0,-262,0,0,-110,0,0,-266,0, - 0,0,0,0,-281,0,0,-185,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-246,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0 + 0,0,0,-290,0,0,-273,0,-227,0, + 0,-293,0,0,-54,-286,0,0,0,0, + 0,0,0,0,0,-269,0,0,0,0, + -90,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-287,0, + 0,0,0,-228,0,-229,0,0,0,0, + -291,0,0,0,-230,-231,0,0,0,0, + 0,-232,-233,-234,-215,-179,0,0,0,0, + 0,0,0,0,0,0,0,-171,0,-235, + 0,0,0,0,0,0,0,0,0,0, + -1,0,0,-173,0,-292,0,0,0,0, + 0,0,0,-216,0,0,-236,-160,0,0, + -251,-258,0,0,0,-213,0,0,0,0, + 0,0,0,0,-92,0,0,0,0,0, + 0,0,0,-259,0,-113,0,0,0,0, + 0,0,0,0,-268,-275,0,0,0,0, + 0,0,-143,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,-168,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-169,0,-10, + 0,0,0,0,0,0,0,0,-214,0, + 0,0,0,0,0,0,0,-257,-5,0, + 0,0,0,0,0,0,-13,0,0,-75, + -15,0,0,0,0,-80,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-202,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-93, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-94,0,0,0,0,0,0,0, + -161,-162,0,0,0,0,0,0,-261,0, + 0,0,0,0,0,0,0,-58,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-243,0,0,0,0,0,0,0,0, + -265,-280,0,0,0,0,0,0,0,-166, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-184,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-245, + 0,0,0,0,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; @@ -265,15 +274,15 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym public interface BaseAction { public final static char baseAction[] = { - 106,1,39,39,23,23,41,41,17,17, - 2,2,2,2,3,3,3,4,4,5, - 5,5,5,5,5,5,5,68,68,90, - 90,6,6,6,6,6,6,6,6,6, - 6,6,7,7,8,8,8,8,9,9, - 9,10,10,10,11,11,11,11,11,12, - 12,12,13,13,14,14,15,15,16,16, - 18,18,19,19,22,22,22,22,22,22, - 22,22,22,22,22,22,29,27,20,107, + 106,2,39,39,23,23,41,41,18,18, + 1,1,3,3,3,3,4,4,4,5, + 6,6,6,6,6,6,6,6,68,68, + 90,7,7,7,7,7,7,7,7,7, + 7,7,8,8,9,9,9,9,10,10, + 10,11,11,11,12,12,12,12,12,13, + 13,13,14,14,15,15,16,16,17,17, + 19,19,20,20,22,22,22,22,22,22, + 22,22,22,22,22,22,29,27,21,107, 107,92,92,54,30,30,30,30,30,30, 30,31,31,31,28,28,93,93,69,69, 32,32,33,33,33,61,61,34,34,34, @@ -282,214 +291,223 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym 78,78,79,79,79,80,80,80,81,81, 81,82,82,82,94,94,84,84,85,49, 51,51,51,51,51,62,64,64,64,64, - 64,64,64,64,64,64,64,64,73,73, - 21,21,70,70,108,109,74,74,71,71, - 71,86,95,95,96,96,87,87,87,55, - 110,110,97,98,98,98,72,72,111,99, - 99,100,100,88,88,25,26,26,26,50, - 52,52,42,42,42,42,36,36,37,43, - 43,44,38,38,101,101,45,113,113,112, - 112,46,46,46,46,46,46,46,46,46, - 102,53,53,53,53,40,75,75,65,65, - 65,66,66,56,56,114,114,77,77,76, - 76,76,57,57,57,58,59,59,59,60, - 60,60,60,63,63,63,67,115,91,91, - 91,91,89,116,117,117,118,118,119,119, - 106,106,120,120,103,103,103,103,121,121, - 104,104,104,105,105,292,870,14,19,15, - 1156,1152,44,1176,1225,1205,1308,1229,1377,1341, - 1399,1383,827,1405,74,941,1235,91,324,227, - 134,215,1387,42,14,19,15,1156,42,44, - 1176,1225,1205,1308,1229,1377,1341,1399,1383,498, - 1405,73,663,136,133,135,159,1425,713,14, - 19,15,1156,40,1049,1287,313,138,709,165, - 988,2131,949,315,890,142,145,148,151,343, - 476,1562,749,1846,1429,1929,1936,1942,1402,134, - 215,127,87,233,750,1509,1949,1573,229,115, - 392,226,234,1387,1517,14,19,15,1156,42, - 44,1736,136,133,135,159,362,226,231,1654, - 257,215,220,404,223,225,138,311,165,257, - 215,827,316,1584,142,145,148,151,343,414, - 230,338,1846,1429,1929,1936,1942,1402,1330,1376, - 14,19,15,1156,1152,44,1176,1225,1205,1308, - 1229,1377,1341,1399,1383,332,1405,74,988,1945, - 283,1349,1376,14,19,15,1156,1152,44,1176, - 1225,1205,1308,1229,1377,1341,1399,1383,117,1405, - 74,233,936,283,1245,1376,14,19,15,1156, - 1152,44,1176,1225,1205,1308,1229,1377,1341,1399, - 1383,288,1405,74,328,1486,283,1387,828,14, - 19,15,1156,42,44,1176,1225,1205,1308,1229, - 1377,1341,1399,1939,288,420,310,289,1486,1688, - 1387,1053,14,19,15,1156,42,44,1176,1225, - 1205,1308,1229,1377,1341,1399,1383,290,1405,93, - 289,1486,1716,1179,1963,14,19,15,1156,1152, - 44,1176,1225,1205,1308,1229,1377,1341,1399,1383, - 243,1405,74,291,1387,551,14,19,15,1156, - 42,44,1176,1698,1571,988,2133,1134,941,1322, - 677,1222,241,14,19,15,1156,1152,44,1176, - 1225,1205,1308,1229,1377,1341,1399,1383,280,1405, - 74,868,1368,283,14,19,15,1156,1152,44, - 1176,1225,1205,1308,1229,1377,1341,1399,1383,104, - 1405,74,101,1559,283,1087,850,1406,2117,14, - 19,15,1156,1152,44,1176,1225,1205,1308,1229, - 1377,1341,1399,1383,157,1405,74,505,1486,934, - 134,215,1387,1059,14,19,15,1156,42,44, - 1176,1225,1205,1308,1923,292,101,1627,189,1486, - 101,1826,829,136,133,135,159,1387,1078,14, - 19,15,1156,42,44,1176,1702,138,1444,165, - 14,19,15,1156,33,142,145,148,151,343, - 1065,1595,412,1846,1429,1929,1936,1942,1402,1387, - 792,14,19,15,1156,1152,44,1176,1225,1205, - 1308,1229,1377,1341,1399,1383,505,1405,74,505, - 1203,91,14,19,15,1156,1152,44,1176,1225, - 1205,1308,1229,1377,1341,1399,1383,188,1405,74, - 1598,1387,955,14,19,15,1156,42,44,1176, - 1225,1205,1308,1229,1377,1341,1924,793,1387,242, - 14,19,15,1156,1152,44,1176,1225,1205,1308, - 1229,1377,1341,1399,1383,1126,1405,74,756,1387, - 85,14,19,15,1156,42,44,1176,1225,1829, - 1387,1573,14,19,15,1156,1152,44,1176,1225, - 1205,1308,1229,1377,1341,1399,1383,212,1405,74, - 355,1387,84,14,19,15,1156,1152,44,1176, - 1225,1205,1308,1229,1377,1341,1399,1383,505,1405, - 74,702,1387,83,14,19,15,1156,1152,44, - 1176,1225,1205,1308,1229,1377,1341,1399,1383,190, - 1405,74,505,1387,82,14,19,15,1156,1152, - 44,1176,1225,1205,1308,1229,1377,1341,1399,1383, - 505,1405,74,1303,1387,81,14,19,15,1156, - 1152,44,1176,1225,1205,1308,1229,1377,1341,1399, - 1383,297,1405,74,1053,1387,80,14,19,15, - 1156,1152,44,1176,1225,1205,1308,1229,1377,1341, - 1399,1383,1154,1405,74,1053,1387,79,14,19, - 15,1156,1152,44,1176,1225,1205,1308,1229,1377, - 1341,1399,1383,245,1405,74,1053,1387,78,14, - 19,15,1156,1152,44,1176,1225,1205,1308,1229, - 1377,1341,1399,1383,244,1405,74,1053,1387,77, - 14,19,15,1156,1152,44,1176,1225,1205,1308, - 1229,1377,1341,1399,1383,20,1405,74,505,1387, - 76,14,19,15,1156,1152,44,1176,1225,1205, - 1308,1229,1377,1341,1399,1383,246,1405,74,299, - 1387,75,14,19,15,1156,1152,44,1176,1225, - 1205,1308,1229,1377,1341,1399,1383,996,1405,74, - 995,1387,92,14,19,15,1156,42,44,1176, - 1225,1205,1308,1229,1377,1341,1399,1383,870,1405, - 93,1387,705,14,19,15,1156,1152,44,1176, - 1225,1205,1308,1229,1377,1341,1399,1383,182,1405, - 74,232,1387,997,14,19,15,1156,42,44, - 1176,1225,1205,1747,1387,214,14,19,15,1156, - 1152,44,1176,1225,1205,1308,1229,1377,1341,1399, - 1383,1006,1405,74,904,1387,1299,14,19,15, - 1156,42,44,1176,1225,1205,1308,1229,1377,1341, - 1399,1383,296,1405,93,1387,1469,14,19,15, - 1156,42,44,1176,1225,1205,1308,1229,1377,1341, - 1399,1383,23,1405,93,1387,1056,14,19,15, - 1156,42,44,1176,1225,1205,1776,1119,1387,204, - 14,19,15,1156,42,44,1176,1225,1205,1308, - 1229,1377,1341,1399,1383,1264,1405,93,1387,205, - 14,19,15,1156,42,44,1176,1225,1205,1308, - 1229,1377,1341,1399,1383,541,1405,93,1444,389, - 14,19,15,1156,32,178,315,1067,1472,739, - 1067,1387,1673,14,19,15,1156,42,44,1176, - 1225,1859,110,1520,123,86,1131,122,89,1949, - 1,315,2006,95,1283,108,94,96,97,98, - 99,101,1831,321,1867,1275,1922,110,257,215, - 86,1131,109,1067,1949,1058,739,58,95,1283, - 108,94,96,97,98,99,1067,406,374,1053, - 111,314,124,1067,106,87,295,109,475,362, - 226,231,1296,125,306,220,404,223,225,276, - 121,1686,235,315,1267,265,705,449,1260,107, - 269,1508,1529,274,101,1553,905,1887,247,110, - 1447,314,86,1131,305,1774,1949,948,655,266, - 95,1283,108,94,96,97,98,99,1387,279, - 14,19,15,1156,42,44,1176,1225,1864,109, - 1267,1273,362,226,231,160,836,1155,220,404, - 223,225,276,754,101,739,585,263,316,119, - 315,106,1678,269,1508,1529,274,476,1616,1122, - 303,304,1087,262,87,507,110,101,2095,86, - 1131,1538,1775,1949,359,1389,22,95,1283,108, - 94,96,97,98,99,627,708,134,215,417, - 105,219,276,362,226,528,109,236,1959,220, - 404,223,683,271,1508,1529,274,627,870,158, - 137,133,135,159,134,215,101,458,107,101, - 481,362,226,231,139,708,165,221,404,223, - 225,2118,143,146,149,152,343,144,133,135, - 159,154,502,392,226,235,1159,708,499,1060, - 284,384,1974,1187,294,1291,60,1387,441,14, - 19,15,1156,42,44,1176,1225,1869,669,1387, - 652,14,19,15,1156,42,44,1176,1225,1205, - 1308,1229,1377,1928,362,226,231,870,708,1201, - 221,404,223,225,276,480,739,1269,870,14, - 19,15,1156,42,35,271,1508,1529,274,870, - 16,1079,110,996,278,86,1131,521,739,101, - 655,1676,58,95,1283,1551,94,96,97,98, - 99,1265,1700,1241,110,277,248,86,1131,562, - 739,476,1562,1949,1067,95,1283,103,94,96, - 97,98,99,1463,285,1506,110,1473,1292,86, - 1131,2127,449,1372,1198,1067,308,95,1283,101, - 94,96,97,98,99,1425,58,362,226,231, - 256,215,2139,220,404,223,225,872,655,603, - 739,332,1387,158,14,19,15,1156,42,44, - 1176,1225,1205,1308,1229,1913,110,364,1562,86, - 1131,199,101,739,949,739,449,95,1283,102, - 94,96,97,98,99,154,502,581,1956,1841, - 405,870,87,1053,87,384,644,739,996,1549, - 2136,115,1964,362,226,231,1058,1397,1391,220, - 404,223,225,110,1738,870,86,1131,623,1944, - 685,739,745,126,95,1283,118,94,96,97, - 98,99,296,276,194,1605,1391,110,1958,206, - 86,1131,1057,1741,269,1508,1529,274,95,1283, - 114,94,96,97,98,99,1508,996,726,739, - 1511,931,655,268,200,202,1387,868,14,19, - 15,1156,42,44,1740,110,1972,1823,86,1131, - 767,739,349,374,870,199,95,1283,1971,94, - 96,97,98,99,870,870,933,110,183,306, - 86,1131,808,739,2005,870,1686,1960,95,1283, - 113,94,96,97,98,99,1964,21,275,110, - 101,739,86,1131,849,739,476,1562,281,305, - 95,1283,120,94,96,97,98,99,364,1562, - 87,110,870,1542,86,1131,667,1671,195,1266, - 870,667,95,1283,119,94,96,97,98,99, - 196,627,362,226,231,2004,1125,1598,220,404, - 223,225,1598,282,362,226,231,870,158,1518, - 220,404,223,225,1521,302,304,58,368,1523, - 1944,134,215,101,739,1503,1917,362,226,1495, - 1782,708,1297,221,404,223,1489,908,655,870, - 155,502,1067,87,141,133,135,159,279,1269, - 976,14,19,15,1156,42,35,449,140,2145, - 165,1273,1804,1534,211,201,202,908,655,211, - 1488,276,1506,672,1166,1324,1603,449,1481,446, - 1370,1603,269,1508,1529,274,942,1512,249,1515, - 1488,1273,1001,261,1545,943,655,256,215,1058, - 1581,1775,1785,1431,134,215,58,449,1547,996, - 1548,134,215,1506,1058,1647,126,134,215,1273, - 1386,1209,996,261,1502,101,315,147,133,135, - 159,197,1785,1431,150,133,135,159,256,215, - 153,133,135,159,2246,87,449,1253,2246,199, - 207,261,1527,2246,1067,996,1053,2246,2246,1386, - 1078,1431,1387,1375,14,19,15,1156,42,39, - 1387,117,14,19,15,1156,42,38,2246,1387, - 1667,14,19,15,1156,42,37,1387,414,14, - 19,15,1156,42,36,298,26,2246,2246,2246, - 2246,2246,1448,101,315,2246,1387,1414,14,19, - 15,1156,42,34,1387,760,14,19,15,1156, - 42,35,2246,87,101,315,2246,199,2246,1387, - 1527,14,19,15,1156,42,47,2246,2246,2246, - 2246,2246,2246,2246,87,990,655,2246,199,2246, - 1387,1527,14,19,15,1156,42,46,1667,1387, - 2246,14,19,15,1156,42,45,1506,1299,199, - 14,19,15,1156,42,43,2246,949,739,1667, - 1695,439,655,439,655,2246,1157,655,2246,949, - 739,2246,256,215,2246,949,739,87,101,739, - 1964,1764,2246,2246,115,1273,2246,1273,2246,87, - 1949,2246,2246,2246,312,87,115,2246,87,2246, - 2246,2246,115,2246,2246,1937,2246,2246,2246,2246, - 2246,2246,194,309,101,739,2246,261,1892,261, - 1737,1741,414,2246,2246,2246,1078,1431,1830,1431, - 1857,2246,2246,2246,87,2246,1889,2246,2246,2246, - 2246,1822,2246,2246,2246,2246,2246,2246,2246,1081, - 2246,0,179,228,0,2253,1,0,1,2485, - 0,7,9,0,179,17,0,178,18,0, - 1,2474,0,112,1760,0 + 64,64,64,64,64,64,64,64,73,70, + 70,108,109,74,74,71,71,71,86,95, + 95,96,96,87,87,87,55,110,110,97, + 98,98,98,72,72,111,99,99,100,100, + 88,88,25,26,26,26,50,52,52,42, + 42,42,42,36,36,37,43,43,44,38, + 38,101,101,45,113,113,112,112,46,46, + 46,46,46,46,46,46,46,102,53,53, + 53,53,40,75,75,65,65,65,66,66, + 56,56,114,114,77,77,76,76,76,57, + 57,57,58,59,59,59,60,60,60,60, + 63,63,63,67,115,91,91,91,91,89, + 116,117,117,118,118,119,119,106,106,120, + 120,103,103,103,103,121,121,104,104,104, + 105,105,292,1729,754,16,20,17,1274,1248, + 44,1300,1327,1307,1384,1340,1436,1427,1521,1460, + 622,1550,74,1261,91,331,1509,134,212,1407, + 19,324,16,20,17,1274,42,44,1300,1327, + 1307,1384,1340,1436,1427,1521,1460,1509,1550,73, + 136,133,135,159,322,1062,556,223,232,296, + 773,1051,178,335,138,583,165,179,421,1110, + 718,312,142,145,148,151,636,581,330,1482, + 1407,1459,2090,2117,2121,1542,134,212,282,87, + 87,1127,1161,1534,1671,1012,115,556,223,231, + 1407,19,1295,16,20,17,1274,42,39,136, + 133,135,159,586,223,228,1804,254,212,217, + 743,220,222,138,908,165,1607,254,212,491, + 1677,142,145,148,151,636,308,587,30,1407, + 1459,2090,2117,2121,1542,1407,19,230,16,20, + 17,1274,42,44,1300,1327,1307,1384,1340,1436, + 1427,1953,341,1350,19,696,16,20,17,1274, + 1248,44,1300,1327,1307,1384,1340,1436,1427,1521, + 1460,440,1550,74,459,280,1369,19,696,16, + 20,17,1274,1248,44,1300,1327,1307,1384,1340, + 1436,1427,1521,1460,224,1550,74,892,280,1407, + 19,1506,16,20,17,1274,42,44,1300,1327, + 1307,1384,1340,1436,1954,127,285,24,1223,19, + 1598,16,20,17,1274,1248,44,1300,1327,1307, + 1384,1340,1436,1427,1521,1460,314,1550,74,285, + 1039,773,286,1598,699,1407,19,273,16,20, + 17,1274,42,44,1300,1327,1889,239,268,963, + 970,271,421,746,769,286,1006,1227,1265,19, + 696,16,20,17,1274,1248,44,1300,1327,1307, + 1384,1340,1436,1427,1521,1460,1534,1550,74,281, + 280,1199,19,1576,16,20,17,1274,1248,44, + 1300,1327,1307,1384,1340,1436,1427,1521,1460,305, + 1550,74,226,855,1407,19,176,16,20,17, + 1274,42,44,1300,1327,1307,1384,1340,1946,357, + 238,287,501,1242,19,1598,16,20,17,1274, + 1248,44,1300,1327,1307,1384,1340,1436,1427,1521, + 1460,1261,1550,74,421,280,582,288,1388,19, + 442,16,20,17,1274,1248,44,1300,1327,1307, + 1384,1340,1436,1427,1521,1460,412,1550,74,1523, + 280,1407,19,1862,16,20,17,1274,42,44, + 1300,1327,1307,1384,1952,421,157,718,1407,19, + 1598,16,20,17,1274,1248,44,1300,1327,1307, + 1384,1340,1436,1427,1521,1460,87,1550,74,1832, + 91,289,1032,913,364,1598,1426,19,2043,16, + 20,17,1274,1248,44,1300,1327,1307,1384,1340, + 1436,1427,1521,1460,626,1550,74,1887,947,1108, + 178,1407,19,788,16,20,17,1274,42,44, + 1300,1327,1307,1384,1340,1436,1427,1521,1460,227, + 1550,93,622,708,134,212,1407,19,1045,16, + 20,17,1274,42,44,1300,1327,1307,1805,419, + 1671,1544,2036,1303,291,355,123,136,133,135, + 159,908,1113,2126,769,1665,747,126,586,223, + 228,138,773,165,218,743,220,222,505,142, + 145,148,151,636,230,790,1366,1407,1459,2090, + 2117,2121,1542,1407,19,359,16,20,17,1274, + 1248,44,1300,1327,1307,1384,1340,1436,1427,1521, + 1460,794,1550,74,440,85,1407,19,259,16, + 20,17,1274,1248,44,1300,1327,1307,1384,1340, + 1436,1427,1521,1460,240,1550,74,229,84,1407, + 19,1329,16,20,17,1274,1248,44,1300,1327, + 1307,1384,1340,1436,1427,1521,1460,1000,1550,74, + 440,83,1407,19,1398,16,20,17,1274,1248, + 44,1300,1327,1307,1384,1340,1436,1427,1521,1460, + 233,1550,74,2099,82,1407,19,359,16,20, + 17,1274,1248,44,1300,1327,1307,1384,1340,1436, + 1427,1521,1460,1176,1550,74,440,81,1407,19, + 1287,16,20,17,1274,1248,44,1300,1327,1307, + 1384,1340,1436,1427,1521,1460,242,1550,74,18, + 80,1407,19,54,16,20,17,1274,1248,44, + 1300,1327,1307,1384,1340,1436,1427,1521,1460,275, + 1550,74,440,79,1407,19,274,16,20,17, + 1274,1248,44,1300,1327,1307,1384,1340,1436,1427, + 1521,1460,440,1550,74,1764,78,1407,19,359, + 16,20,17,1274,1248,44,1300,1327,1307,1384, + 1340,1436,1427,1521,1460,1789,1550,74,440,77, + 1407,19,443,16,20,17,1274,1248,44,1300, + 1327,1307,1384,1340,1436,1427,1521,1460,241,1550, + 74,1826,76,1407,19,440,16,20,17,1274, + 1248,44,1300,1327,1307,1384,1340,1436,1427,1521, + 1460,324,1550,74,58,75,1407,19,2002,16, + 20,17,1274,1248,44,1300,1327,1307,1384,1340, + 1436,1427,1521,1460,440,1550,74,1509,92,1407, + 19,828,16,20,17,1274,42,44,1300,1327, + 1307,1384,1340,1436,1427,1521,1460,2024,1550,93, + 1407,19,440,16,20,17,1274,1248,44,1300, + 1327,1307,1384,1340,1436,1427,1521,1460,203,1550, + 74,1131,1694,1445,19,22,16,20,17,1274, + 40,1407,19,211,16,20,17,1274,1248,44, + 1300,1327,1307,1384,1340,1436,1427,1521,1460,440, + 1550,74,1509,1829,1407,19,307,16,20,17, + 1274,42,44,1300,1327,1307,1384,1340,1436,1427, + 1521,1460,272,1550,93,1407,19,1523,16,20, + 17,1274,42,44,1300,1327,1307,1384,1340,1436, + 1427,1521,1460,180,1550,93,1407,19,384,16, + 20,17,1274,42,44,1800,1407,19,201,16, + 20,17,1274,42,44,1300,1327,1307,1384,1340, + 1436,1427,1521,1460,1490,1550,93,1407,19,202, + 16,20,17,1274,42,44,1300,1327,1307,1384, + 1340,1436,1427,1521,1460,1941,1550,93,587,1732, + 1056,628,1732,1432,178,1104,312,935,1407,19, + 1896,16,20,17,1274,42,44,1300,1327,1307, + 1837,833,110,1304,1313,86,718,663,1534,587, + 186,1986,95,1511,108,94,96,97,98,99, + 630,933,833,769,1419,89,1,1104,312,1407, + 19,109,16,20,17,1274,42,44,1300,1327, + 1934,421,310,312,110,196,946,86,1730,1483, + 1534,587,30,106,95,1511,108,94,96,97, + 98,99,87,104,345,196,209,311,966,208, + 908,440,2209,109,254,212,1769,1346,587,185, + 333,1739,586,223,228,326,764,1146,217,743, + 220,222,273,277,278,107,1998,1045,262,235, + 1104,312,292,266,963,970,271,509,192,587, + 187,1152,134,212,541,122,931,110,920,421, + 86,2120,263,1534,480,1104,718,95,1511,108, + 94,96,97,98,99,141,133,135,159,944, + 288,23,110,587,1666,86,109,359,421,140, + 1301,165,95,1511,1661,94,96,97,98,99, + 260,941,331,1513,134,212,1407,19,106,16, + 20,17,1274,42,44,1300,1327,1307,1384,1340, + 1436,1427,1521,1997,276,440,21,144,133,135, + 159,1045,1530,950,890,769,1649,586,223,228, + 1429,463,583,217,743,220,222,273,1867,111, + 119,1104,312,491,419,792,1683,1366,266,963, + 970,271,1108,178,581,1405,1555,421,110,1643, + 591,86,126,583,1534,331,1045,1199,95,1511, + 108,94,96,97,98,99,1610,134,212,258, + 1119,105,1776,421,125,718,1122,109,1391,1584, + 586,223,652,421,1027,357,217,743,220,680, + 137,133,135,159,87,583,158,622,1063,107, + 1058,253,212,421,139,2153,165,402,1597,769, + 1115,1064,143,146,149,152,636,1407,19,1112, + 16,20,17,1274,42,44,1300,1784,154,649, + 421,1366,473,586,223,1619,60,773,517,218, + 743,220,1611,628,1732,1101,586,223,228,1122, + 773,412,218,743,220,222,273,674,521,1104, + 718,876,421,258,496,172,1045,268,963,970, + 271,1205,874,1584,253,212,110,1045,538,86, + 562,1104,718,581,121,1482,95,1511,103,94, + 96,97,98,99,359,2232,587,294,110,1407, + 19,86,16,20,17,1274,42,38,95,1511, + 101,94,96,97,98,99,603,1104,718,586, + 223,228,1045,1126,402,217,743,220,222,360, + 331,208,1499,243,110,158,868,86,1482,1285, + 2241,193,671,1739,95,1511,102,94,96,97, + 98,99,1407,19,905,16,20,17,1274,42, + 44,1300,1327,1936,644,1104,718,154,649,419, + 583,1736,586,223,228,1144,1122,517,217,743, + 220,222,110,1610,706,86,745,194,2001,685, + 1104,718,95,1511,118,94,96,97,98,99, + 1505,253,212,1507,1110,367,718,110,1407,19, + 86,16,20,17,1274,42,37,95,1511,114, + 94,96,97,98,99,87,726,1104,718,359, + 440,115,1509,197,199,1289,19,477,16,20, + 17,1274,42,35,110,1045,1723,86,767,1104, + 718,1369,440,279,95,1511,2035,94,96,97, + 98,99,829,2242,769,1722,110,1045,244,86, + 808,1104,718,204,245,1870,95,1511,113,94, + 96,97,98,99,440,117,1534,1509,110,1284, + 309,86,849,1104,718,581,359,1482,95,1511, + 120,94,96,97,98,99,868,1892,1482,306, + 110,1407,19,86,16,20,17,1274,42,36, + 95,1511,119,94,96,97,98,99,494,587, + 296,586,223,228,1286,293,1470,217,743,220, + 222,1509,586,223,228,1484,1066,158,217,743, + 220,222,712,795,755,331,1407,19,2001,16, + 20,17,1274,42,44,1300,1327,1945,1407,19, + 1486,16,20,17,1274,42,44,1300,1786,155, + 649,349,27,371,1407,19,359,16,20,17, + 1274,42,44,1803,1005,583,2108,1185,1339,303, + 1955,1519,1514,198,199,809,1289,19,521,16, + 20,17,1274,42,35,1407,19,276,16,20, + 17,1274,42,34,1515,295,1407,19,302,16, + 20,17,1274,42,35,1025,1516,2331,2331,2331, + 273,2331,2331,1122,273,246,2331,2331,2331,2331, + 2331,266,963,970,271,266,963,970,271,1407, + 19,2331,16,20,17,1274,42,47,253,212, + 1199,2331,1407,19,265,16,20,17,1274,42, + 46,2331,2331,2331,299,301,2331,314,1407,19, + 1003,16,20,17,1274,42,45,2331,2331,1319, + 19,2109,16,20,17,1274,42,43,950,406, + 769,371,2331,2331,2331,134,212,1062,412,2331, + 874,1468,769,2331,2331,2331,938,303,769,2331, + 2331,2331,1366,809,2331,2331,2331,2331,147,133, + 135,159,134,212,196,1150,134,212,583,2331, + 1366,2331,2331,992,2331,769,302,2331,2331,2331, + 2331,521,2331,2331,258,150,133,135,159,153, + 133,135,159,1391,1584,1769,2331,196,2331,2331, + 1464,19,258,16,20,17,1274,33,2331,2331, + 2331,874,1584,1464,19,2331,16,20,17,1274, + 32,421,421,312,312,2331,2331,191,1769,402, + 2331,769,300,301,2331,336,1341,2331,419,2331, + 718,2331,87,87,2331,196,196,2331,966,966, + 2331,2331,1110,1366,718,2331,124,2331,917,87, + 191,1110,1110,718,718,1556,2331,2331,1202,1341, + 421,2331,718,87,2331,2331,1998,1998,2331,115, + 2331,2331,87,87,421,258,718,2331,115,115, + 2331,87,2331,2331,1830,1584,2331,1467,1085,1124, + 421,2331,718,2331,2331,87,2331,2331,2331,2331, + 2331,1970,2331,1845,2331,2331,2331,2331,2331,2331, + 2331,87,1852,1884,2331,2331,2331,1505,2331,0, + 10,225,0,2338,1,0,1,2567,0,7, + 9,0,178,19,0,1,2556,0,112,1848, + 0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -503,168 +521,165 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym 10,11,12,13,14,15,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,44,45,46,47,48,49, - 50,51,52,53,54,55,56,0,58,0, + 40,41,42,43,44,45,46,47,48,49, + 50,51,52,0,54,55,56,0,58,0, 1,2,3,4,5,6,7,8,9,10, 11,12,13,14,15,16,17,18,19,20, 21,22,23,24,25,26,27,28,29,30, 31,32,33,34,35,36,37,38,39,40, - 0,42,43,44,45,46,47,48,49,50, - 51,52,53,54,55,56,0,58,0,1, + 41,42,43,44,45,46,47,48,49,50, + 51,52,59,54,55,56,59,58,0,1, 2,3,4,5,6,7,8,9,10,11, 12,13,14,15,16,17,18,19,20,21, 22,23,24,25,26,27,28,29,30,31, - 32,33,34,35,36,37,38,39,40,0, + 32,33,34,35,36,37,38,39,40,41, 42,43,44,45,46,47,48,49,50,51, - 52,53,54,55,56,0,58,0,1,2, + 52,0,54,55,56,0,58,0,1,2, 3,4,5,6,7,8,9,10,11,12, 13,14,15,16,17,18,19,20,21,22, 23,24,25,26,27,28,29,30,31,32, - 33,34,35,36,37,38,39,40,0,42, + 33,34,35,36,37,38,39,40,41,42, 43,44,45,46,47,48,49,50,51,52, - 53,54,55,56,0,1,2,3,4,5, + 59,54,55,56,0,1,2,3,4,5, 6,7,8,9,10,11,12,13,14,15, 16,17,18,19,20,21,22,23,24,25, 26,27,28,29,30,31,32,33,34,35, - 36,37,38,39,40,57,42,43,44,45, - 46,47,48,49,50,51,52,53,54,55, - 56,0,1,2,3,0,5,0,7,8, + 36,37,38,39,40,41,42,43,44,45, + 46,47,48,49,50,51,52,0,54,55, + 56,0,1,2,3,0,5,2,7,8, 9,10,11,12,13,14,15,16,17,18, - 19,20,21,0,23,24,25,26,27,28, - 0,1,2,0,1,5,3,0,1,6, - 3,0,1,42,43,44,45,46,47,48, - 49,50,51,52,53,54,55,56,0,1, - 2,3,4,5,0,1,61,3,0,0, - 6,41,4,0,1,2,0,19,20,21, - 22,23,24,25,26,27,28,29,83,84, - 85,86,87,88,89,90,91,92,0,76, + 19,20,21,0,23,2,25,26,27,28, + 29,0,1,0,3,0,1,6,3,6, + 0,6,41,42,43,44,45,46,47,48, + 49,50,51,52,0,54,55,56,0,1, + 2,3,4,5,0,1,0,3,0,0, + 1,2,4,4,5,78,0,19,20,21, + 22,23,24,25,26,27,28,29,19,20, + 21,22,23,0,25,26,27,28,29,41, 42,43,44,45,46,47,48,49,50,51, - 52,53,54,55,56,0,1,2,3,4, - 5,0,1,0,3,57,0,59,5,0, - 1,73,3,60,19,20,21,22,23,24, - 25,26,27,28,29,19,20,21,0,23, - 24,25,26,27,28,0,0,42,43,44, - 45,46,47,48,49,50,51,52,53,54, - 55,56,74,75,19,20,21,0,23,24, - 25,26,27,28,0,0,1,2,73,0, + 52,0,54,55,56,0,1,2,3,4, + 5,0,53,69,70,71,72,61,0,60, + 0,73,4,65,19,20,21,22,23,24, + 25,26,27,28,29,69,70,71,72,0, + 22,0,0,4,61,4,41,42,43,44, + 45,46,47,48,49,50,51,52,0,54, + 55,56,0,22,53,64,83,84,85,86, + 87,88,89,90,91,92,0,66,73,0, 1,2,3,4,5,6,7,8,9,10, - 11,12,13,14,15,16,17,18,0,1, - 2,22,64,5,0,1,0,3,29,30, + 11,12,13,14,15,16,17,18,57,60, + 0,22,61,24,0,1,6,3,0,30, 31,32,33,34,35,36,37,38,39,40, 0,1,2,3,4,5,6,7,8,9, - 10,11,12,13,14,15,16,17,18,41, - 0,0,22,69,70,71,72,7,8,29, + 10,11,12,13,14,15,16,17,18,77, + 0,1,22,3,24,69,70,71,72,0, 30,31,32,33,34,35,36,37,38,39, 40,0,1,2,3,4,5,6,7,8, 9,10,11,12,13,14,15,16,17,18, - 0,0,2,22,0,5,2,81,82,5, - 29,30,31,32,33,34,35,36,37,38, + 0,1,2,22,76,24,0,1,0,3, + 0,30,31,32,33,34,35,36,37,38, 39,40,0,1,2,3,4,5,6,7, 8,9,10,11,12,13,14,15,16,17, - 18,41,0,0,22,41,0,1,2,7, - 8,29,30,31,32,33,34,35,36,37, + 18,0,1,2,22,0,24,0,1,0, + 3,6,30,31,32,33,34,35,36,37, 38,39,40,0,1,2,3,4,5,6, 7,8,9,10,11,12,13,14,15,16, - 17,18,0,0,2,22,0,1,0,3, - 2,0,29,30,31,32,33,34,35,36, + 17,18,0,0,1,22,3,24,0,7, + 8,81,82,30,31,32,33,34,35,36, 37,38,39,40,0,1,2,3,4,5, 6,7,8,9,10,11,12,13,14,15, - 16,17,18,41,0,1,22,3,0,41, - 2,0,0,29,30,31,32,33,34,35, + 16,17,18,74,75,0,22,0,24,2, + 0,0,7,8,30,31,32,33,34,35, 36,37,38,39,40,0,1,2,3,4, 5,6,7,8,9,10,11,12,13,14, - 15,16,17,18,0,74,75,22,0,0, - 2,7,8,0,29,30,31,32,33,34, + 15,16,17,18,0,0,0,22,2,24, + 5,7,8,0,0,30,31,32,33,34, 35,36,37,38,39,40,0,1,2,3, 4,5,6,7,8,9,10,11,12,13, - 14,15,16,17,18,73,0,1,22,3, - 41,0,0,2,2,29,30,31,32,33, + 14,15,16,17,18,74,75,0,22,0, + 24,2,5,0,0,2,30,31,32,33, 34,35,36,37,38,39,40,0,1,2, 3,4,5,6,7,8,9,10,11,12, - 13,14,15,16,17,18,0,0,0,22, - 0,78,6,6,6,0,29,30,31,32, + 13,14,15,16,17,18,73,0,0,22, + 76,24,0,6,6,0,4,30,31,32, 33,34,35,36,37,38,39,40,0,1, 2,3,4,5,6,7,8,9,10,11, - 12,13,14,15,16,17,18,0,0,0, - 22,0,1,4,3,4,41,29,30,31, + 12,13,14,15,16,17,18,0,1,2, + 22,77,24,0,1,0,3,4,30,31, 32,33,34,35,36,37,38,39,40,0, - 19,20,21,4,23,24,25,26,27,28, - 29,66,0,0,0,1,2,0,4,6, - 0,22,5,42,43,44,45,46,47,48, - 49,50,51,52,53,54,55,56,59,58, - 0,1,0,3,4,0,69,70,71,72, - 0,0,0,1,4,41,57,0,0,19, - 20,21,4,23,24,25,26,27,28,29, - 19,20,21,59,23,24,25,26,27,28, - 22,64,42,43,44,45,46,47,48,49, - 50,51,52,53,54,55,56,0,58,0, - 1,4,3,4,0,0,61,0,58,4, - 0,69,70,71,72,0,64,59,19,20, - 21,64,23,24,25,26,27,28,29,19, - 20,21,0,23,24,25,26,27,28,0, - 0,42,43,44,45,46,47,48,49,50, - 51,52,53,54,55,56,59,58,0,1, - 2,3,0,58,60,0,4,0,0,0, - 5,4,4,4,0,60,0,19,20,21, - 4,23,24,25,26,27,28,0,0,22, - 22,22,5,19,20,21,0,1,22,3, - 42,43,44,45,46,47,48,49,50,51, - 52,53,54,55,56,19,20,21,30,23, - 24,25,26,27,28,57,57,65,0,61, - 61,0,67,68,0,0,0,2,42,43, - 44,45,46,47,48,49,50,51,52,53, - 54,55,56,19,20,21,0,23,24,25, - 26,27,28,0,0,2,0,0,0,41, - 0,0,6,9,6,0,42,43,44,45, - 46,47,48,49,50,51,52,53,0,1, - 2,3,4,5,66,7,8,9,10,11, - 12,13,14,15,16,17,18,0,77,2, - 0,23,0,1,2,3,4,5,0,7, + 58,0,19,20,21,4,23,24,25,26, + 27,28,29,0,0,30,2,0,19,20, + 21,4,0,22,41,42,43,44,45,46, + 47,48,49,50,51,52,59,54,55,56, + 0,58,0,1,0,3,4,0,1,9, + 0,1,2,0,4,0,1,2,57,0, + 5,19,20,21,5,23,24,25,26,27, + 28,29,19,20,21,53,23,60,25,26, + 27,28,29,41,42,43,44,45,46,47, + 48,49,50,51,52,0,54,55,56,0, + 58,0,1,53,3,4,62,63,53,0, + 60,64,0,4,0,0,2,2,4,0, + 19,20,21,64,23,24,25,26,27,28, + 29,19,20,21,0,23,0,25,26,27, + 28,29,41,42,43,44,45,46,47,48, + 49,50,51,52,0,54,55,56,4,58, + 0,1,2,3,0,0,57,53,53,60, + 5,0,0,0,60,0,22,4,6,19, + 20,21,0,23,9,25,26,27,28,29, + 19,20,21,57,23,22,25,26,27,28, + 29,41,42,43,44,45,46,47,48,49, + 50,51,52,79,54,55,56,0,1,0, + 3,0,0,4,0,1,2,6,0,5, + 57,0,67,68,61,0,19,20,21,4, + 23,22,25,26,27,28,29,19,20,21, + 19,20,21,0,1,0,0,22,41,42, + 43,44,45,46,47,48,49,50,51,52, + 0,54,55,56,19,20,21,53,23,60, + 25,26,27,28,29,0,64,2,0,19, + 20,21,57,0,0,0,41,42,43,44, + 45,46,47,48,49,50,51,52,0,1, + 2,3,4,5,0,7,8,9,10,11, + 12,13,14,15,16,17,18,0,0,0, + 0,23,0,1,2,3,4,5,53,7, 8,9,10,11,12,13,14,15,16,17, 18,0,1,2,3,23,5,6,7,8, 9,10,11,12,13,14,15,16,17,18, - 0,41,77,65,0,1,2,3,4,5, + 0,57,78,65,0,1,2,3,4,5, 6,7,8,9,10,11,12,13,14,15, 16,17,18,0,0,0,0,65,0,1, 2,3,4,5,0,7,8,9,10,11, - 12,13,14,15,16,17,18,79,0,0, - 0,0,0,19,20,21,6,57,0,1, - 2,3,58,5,6,7,8,9,10,11, 12,13,14,15,16,17,18,0,0,0, - 0,0,0,57,60,62,63,62,63,0, + 0,0,0,19,20,21,4,57,0,1, + 2,3,58,5,6,7,8,9,10,11, + 12,13,14,15,16,17,18,0,0,53, + 2,57,0,5,0,62,63,62,63,0, 1,2,3,65,5,6,7,8,9,10, 11,12,13,14,15,16,17,18,0,1, - 2,3,61,5,6,7,8,9,10,11, + 2,3,60,5,6,7,8,9,10,11, 12,13,14,15,16,17,18,0,1,2, - 3,0,5,6,7,8,9,10,11,12, + 3,53,5,6,7,8,9,10,11,12, 13,14,15,16,17,18,0,1,2,3, 0,5,0,7,8,9,10,11,12,13, 14,15,16,17,18,0,1,2,3,0, 5,0,7,8,9,10,11,12,13,14, - 15,16,17,18,0,1,2,3,57,5, + 15,16,17,18,0,1,2,3,0,5, 0,7,8,9,10,11,12,13,14,15, - 16,17,18,0,1,2,3,57,5,0, + 16,17,18,0,1,2,3,0,5,0, 7,8,9,10,11,12,13,14,15,16, - 17,18,0,1,2,0,4,5,0,4, - 2,0,0,1,2,4,4,5,10,11, - 0,19,20,21,22,23,24,25,26,27, - 28,19,20,21,22,23,24,25,26,27, - 28,0,0,41,2,0,4,0,0,41, - 0,0,5,41,0,5,0,0,0,0, - 0,59,0,58,19,20,21,19,20,21, - 59,59,0,0,66,19,20,21,19,20, - 21,0,9,41,0,4,0,0,80,0, - 0,0,6,6,0,6,76,6,0,0, - 6,59,61,22,0,0,0,0,0,0, - 0,60,0,0,67,68,0,67,68,62, - 63,0,62,63,62,63,0,0,0,0, - 0,0,78,0,0,0,0,0,57,0, - 0,0,0,0,60,0,0,0,0,0, - 60,0,0,0,0,0,0,0,60,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0 + 17,18,0,0,53,0,19,20,21,0, + 23,2,25,26,27,28,29,66,0,10, + 11,19,20,21,0,0,0,2,0,5, + 5,5,4,0,0,0,0,0,0,6, + 6,4,0,0,0,0,0,0,0,6, + 6,62,63,6,0,0,0,0,0,0, + 0,0,53,0,59,62,63,0,0,0, + 0,0,0,0,0,66,0,0,53,61, + 0,0,0,0,0,0,58,0,0,80, + 0,67,68,67,68,58,61,59,0,57, + 0,0,0,0,59,59,0,0,0,0, + 0,0,0,0,0,0,0,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; @@ -672,168 +687,165 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym public interface TermAction { public final static char termAction[] = {0, - 2246,4119,1,4111,1496,1,608,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,2254,1,1,1,1,1,1,2346, - 797,1237,550,1240,1060,1535,740,892,952,1285, - 815,184,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,255,2252,7, - 2231,2231,2231,2231,2231,2231,2231,2231,2231,2231, - 2231,2231,2231,2231,2231,2231,2231,2231,2231,2231, - 2231,2231,2231,2231,2231,2231,2231,2231,2231,2231, - 2231,2231,2231,2231,2231,2231,2231,2231,2231,2231, - 1,2231,2231,2231,2231,2231,2231,2231,2231,2231, - 2231,2231,2231,2231,2231,2231,185,2231,2246,4119, - 1,4111,1496,1,608,1,1,1,1,1, + 2331,4169,1,4168,1636,1,1342,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 2254,1,1,1,1,1,1,2346,797,1237, - 550,1240,1060,1535,740,892,952,1285,815,287, + 1,1,2339,1,2431,1,1,1,1,1, + 826,798,771,1417,993,1444,793,1463,871,2218, + 845,1,1,1,1,1,1,1,1,1, + 1,1,1,2331,1,1,1,2331,2337,7, + 2319,2319,2319,2319,2319,2319,2319,2319,2319,2319, + 2319,2319,2319,2319,2319,2319,2319,2319,2319,2319, + 2319,2319,2319,2319,2319,2319,2319,2319,2319,2319, + 2319,2319,2319,2319,2319,2319,2319,2319,2319,2319, + 2319,2319,2319,2319,2319,2319,2319,2319,2319,2319, + 2319,2319,1658,2319,2319,2319,1680,2319,2331,4169, + 1,4168,1636,1,1342,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,2246,2252,2246,4119,1, - 4111,2255,1,608,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,2254, - 1,1,1,1,1,1,2346,797,1237,550, - 1240,1060,1535,740,892,952,1285,815,258,1, + 2339,1,2431,1,1,1,1,1,826,798, + 771,1417,993,1444,793,1463,871,2218,845,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,2246,4119,1,4111,2255,1, - 608,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,2254,1,1,1, - 1,1,1,2346,797,1237,550,1240,1060,1535, - 740,892,952,1285,815,1347,1,1,1,1, + 1,2331,1,1,1,181,2337,2331,4169,1, + 4168,2340,1,1342,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,2339, + 1,2431,1,1,1,1,1,826,798,771, + 1417,993,1444,793,1463,871,2218,845,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,2246,1593,1975,1597,42,2064,2246,2037,2029, - 2056,1228,718,367,2256,2257,2258,2259,2020,2012, - 2462,2463,2464,66,2408,2409,2407,2465,2410,2406, - 264,2474,1336,2246,2426,1,2427,187,4110,696, - 4110,2246,2486,2413,2418,2417,2415,2416,2414,2419, - 2420,2412,2421,2422,2423,545,732,524,2246,1, - 1,1,2255,1,2246,2426,1019,2427,2246,2246, - 700,573,2251,1,2474,390,2246,1,1,1, - 2254,1,1,1,1,1,1,2553,998,977, - 956,935,914,872,893,851,830,798,62,1632, + 1716,1,1,1,2331,4169,1,4168,2340,1, + 1342,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,2339,1,2431,1, + 1,1,1,1,826,798,771,1417,993,1444, + 793,1463,871,2218,845,1,1,1,1,1, + 1,1,1,1,1,1,1,70,1,1, + 1,2331,2341,1361,2342,10,2026,2310,1911,1808, + 2015,2193,2180,1173,2343,2344,2345,2346,1699,410, + 2544,2545,2546,2331,2493,434,2494,2492,2547,2495, + 2491,2331,2341,2331,2342,2331,2341,1439,2342,1321, + 252,1468,2498,2503,2502,2500,2501,2499,2504,2505, + 2497,2506,2507,2508,59,1434,838,815,2331,1, + 1,1,2340,1,184,4166,156,4166,2331,19, + 178,2322,2334,2322,2322,455,61,1,1,1, + 2339,1,2635,1,1,1,1,1,178,178, + 178,2322,178,42,178,178,178,178,178,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,2246,1,1,1,2255, - 1,186,4112,2246,4112,1631,129,2250,730,208, - 4115,301,4115,1135,1,1,1,2254,1,1, - 1,1,1,1,2553,2462,2463,2464,1,2408, - 2409,2407,2465,2410,2406,130,2246,1,1,1, + 1,1,1,1,1,2331,1,1,1,2340, + 1,2331,2322,1956,1752,1349,565,653,1,2322, + 1,298,2340,2333,1,1,1,2339,1,2635, + 1,1,1,1,1,1956,1752,1349,565,2331, + 2339,234,182,2336,1083,222,1,1,1,1, + 1,1,1,1,1,1,1,1,284,1, + 1,1,68,222,1256,2588,1060,1037,1014,991, + 968,922,945,899,876,853,60,1696,297,2331, + 4169,1,4168,2340,1,1342,1,1,1,1, + 1,1,1,1,1,1,1,1,222,2335, + 228,2339,222,2431,183,4167,231,4167,66,826, + 798,771,1417,993,1444,793,1463,871,2218,845, + 2331,4169,1,4168,2340,1,1342,1,1,1, + 1,1,1,1,1,1,1,1,1,519, + 205,4170,2339,4170,2431,1956,1752,1349,565,2331, + 826,798,771,1417,993,1444,793,1463,871,2218, + 845,2331,4169,1,4168,2340,1,1342,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1175,1102,2462,2463,2464,2246,2408,2409, - 2407,2465,2410,2406,59,1,2474,390,300,2246, - 4119,1,4111,2255,1,608,1,1,1,1, - 1,1,1,1,1,1,1,1,270,2474, - 1336,2254,2506,255,2246,2426,72,2427,2346,797, - 1237,550,1240,1060,1535,740,892,952,1285,815, - 2246,4119,1,4111,2255,1,608,1,1,1, - 1,1,1,1,1,1,1,1,1,573, - 51,2246,2254,1497,1358,1241,819,1746,413,2346, - 797,1237,550,1240,1060,1535,740,892,952,1285, - 815,2246,4119,1,4111,2255,1,608,1,1, + 1,2556,387,2339,634,2431,2331,2341,2331,2342, + 72,826,798,771,1417,993,1444,793,1463,871, + 2218,845,2331,4169,1,4168,2340,1,1342,1, 1,1,1,1,1,1,1,1,1,1, - 267,2246,1875,2254,270,1,1875,527,2148,255, - 2346,797,1237,550,1240,1060,1535,740,892,952, - 1285,815,2246,4119,1,4111,2255,1,608,1, + 1,252,2556,387,2339,2331,2431,207,2341,62, + 2342,1547,826,798,771,1417,993,1444,793,1463, + 871,2218,845,2331,4169,1,4168,2340,1,1342, 1,1,1,1,1,1,1,1,1,1, - 1,573,53,2246,2254,573,255,2474,390,1746, - 413,2346,797,1237,550,1240,1060,1535,740,892, - 952,1285,815,2246,4119,1,4111,2255,1,608, - 1,1,1,1,1,1,1,1,1,1, - 1,1,224,2246,478,2254,210,2426,272,2427, - 605,63,2346,797,1237,550,1240,1060,1535,740, - 892,952,1285,815,2246,4119,1,4111,2255,1, - 608,1,1,1,1,1,1,1,1,1, - 1,1,1,573,2246,2275,2254,2276,179,573, - 2222,2246,2246,2346,797,1237,550,1240,1060,1535, - 740,892,952,1285,815,2246,4119,1,4111,2255, - 1,608,1,1,1,1,1,1,1,1, - 1,1,1,1,52,1175,1102,2254,2246,222, - 380,1746,413,70,2346,797,1237,550,1240,1060, - 1535,740,892,952,1285,815,2246,4119,1,4111, - 2255,1,608,1,1,1,1,1,1,1, - 1,1,1,1,1,2221,209,759,2254,759, - 573,2246,2246,382,1384,2346,797,1237,550,1240, - 1060,1535,740,892,952,1285,815,2246,4119,1, - 4111,2255,1,608,1,1,1,1,1,1, - 1,1,1,1,1,1,2246,231,2246,2254, - 2246,781,335,234,1271,2246,2346,797,1237,550, - 1240,1060,1535,740,892,952,1285,815,2246,4119, - 1,4111,2255,1,608,1,1,1,1,1, - 1,1,1,1,1,1,1,61,2246,2246, - 2254,2246,1,2251,1,193,1188,2346,797,1237, - 550,1240,1060,1535,740,892,952,1285,815,2246, - 1,1,1,2255,1,1,1,1,1,1, - 2444,910,2246,2246,1,2240,1336,1,2251,1407, - 2246,2254,255,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,2250,193, - 2246,1,60,1,192,156,1497,1358,1241,819, - 1,131,1,2228,2225,573,1806,1,1,1, - 1,1,116,1,1,1,1,1,1,2444, - 2462,2463,2464,2250,2408,2409,2407,2465,2410,2406, - 116,2506,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,192,2246, - 1,2251,1,193,2246,2246,611,2246,2252,2253, - 132,1497,1358,1241,819,2246,2506,116,1,1, - 1,2505,1,1,1,1,1,1,2444,2462, - 2463,2464,2246,2408,2409,2407,2465,2410,2406,2246, - 2246,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,2250,193,1,378, - 390,2424,2246,2252,1557,48,2249,1,237,238, - 2109,2255,225,225,251,1579,2246,2462,2463,2464, - 2255,2408,2409,2407,2465,2410,2406,2246,2246,2254, - 225,225,1275,1,1,1,2246,2425,2254,2424, - 2413,2418,2417,2415,2416,2414,2419,2420,2412,2421, - 2422,2423,545,732,524,2462,2463,2464,1604,2408, - 2409,2407,2465,2410,2406,225,225,2248,293,225, - 225,68,2100,2079,128,2246,2246,1652,2413,2418, - 2417,2415,2416,2414,2419,2420,2412,2421,2422,2423, - 545,732,524,2462,2463,2464,2246,2408,2409,2407, - 2465,2410,2406,2246,64,1800,1,2246,2246,1208, - 2246,2246,608,682,1456,69,2413,2418,2417,2415, - 2416,2414,2419,2420,2412,2421,2422,2423,1,2263, - 1975,2264,2249,1537,1018,2037,2029,2056,1228,718, - 367,2256,2257,2258,2259,2020,2012,2246,1509,2184, - 273,657,2246,2263,1975,2264,2249,1899,112,2037, - 2029,2056,1228,718,367,2256,2257,2258,2259,2020, - 2012,2246,2263,1975,2264,1114,2064,4026,2037,2029, - 2056,1228,718,367,2256,2257,2258,2259,2020,2012, - 88,573,1509,2248,1,2263,1975,2264,27,2064, - 4026,2037,2029,2056,1228,718,367,2256,2257,2258, - 2259,2020,2012,54,2246,58,28,2248,2246,2263, - 1975,2264,2249,2064,252,2037,2029,2056,1228,718, - 367,2256,2257,2258,2259,2020,2012,2243,2246,2246, - 231,213,2246,1,1,1,235,1040,2246,2263, - 1975,2264,27,2064,1459,2037,2029,2056,1228,718, - 367,2256,2257,2258,2259,2020,2012,2246,2246,2246, - 2246,2246,2246,2273,1629,594,707,594,707,1, - 2263,1975,2264,2248,2064,4026,2037,2029,2056,1228, - 718,367,2256,2257,2258,2259,2020,2012,1,2263, - 1975,2264,1061,2064,4026,2037,2029,2056,1228,718, - 367,2256,2257,2258,2259,2020,2012,2246,2263,1975, - 2264,209,2064,4026,2037,2029,2056,1228,718,367, - 2256,2257,2258,2259,2020,2012,2246,2263,1975,2264, - 28,2064,2246,2037,2029,2056,1228,718,367,2256, - 2257,2258,2259,2020,2012,1,2263,1975,2264,2246, - 2064,2246,2037,2029,2056,1228,718,367,2256,2257, - 2258,2259,2020,2012,2246,2263,2053,2264,3347,2064, - 2246,2037,2029,2056,1228,718,367,2256,2257,2258, - 2259,2020,2012,2246,2263,2074,2264,504,2064,2246, - 2037,2029,2056,1228,718,367,2256,2257,2258,2259, - 2020,2012,17,179,2234,286,2234,2234,31,1334, - 1238,1,18,178,2237,90,2237,2237,2270,2271, - 67,179,179,179,2234,179,179,179,179,179, - 179,178,178,178,2237,178,178,178,178,178, - 178,2246,1,2234,1875,2246,2251,50,253,1873, - 49,2246,2109,2237,71,2109,250,57,2246,254, - 56,2234,55,1334,2462,2463,2464,2462,2463,2464, - 90,2237,2246,65,1326,2462,2463,2464,2462,2463, - 2464,2246,682,573,203,2255,41,2246,1082,191, - 1,191,1459,1459,191,187,1632,186,1,2246, - 208,2250,632,2254,2246,2246,2246,2246,2246,2246, - 2246,342,2246,2246,2100,2079,2246,2100,2079,594, - 707,2246,594,707,594,707,2246,2246,2246,2246, - 2246,2246,781,2246,2246,2246,2246,2246,1818,2246, - 2246,2246,2246,2246,1155,2246,2246,2246,2246,2246, - 2427,2246,2246,2246,2246,2246,2246,2246,2426 + 1,1,51,206,1298,2339,1298,2431,2331,1984, + 1246,1486,2264,826,798,771,1417,993,1444,793, + 1463,871,2218,845,2331,4169,1,4168,2340,1, + 1342,1,1,1,1,1,1,1,1,1, + 1,1,1,1308,796,53,2339,2331,2431,379, + 2331,63,1984,1246,826,798,771,1417,993,1444, + 793,1463,871,2218,845,2331,4169,1,4168,2340, + 1,1342,1,1,1,1,1,1,1,1, + 1,1,1,1,52,2331,2331,2339,378,2431, + 1514,1984,1246,2331,67,826,798,771,1417,993, + 1444,793,1463,871,2218,845,2331,4169,1,4168, + 2340,1,1342,1,1,1,1,1,1,1, + 1,1,1,1,1,1308,796,2331,2339,2331, + 2431,715,1570,2331,69,1573,826,798,771,1417, + 993,1444,793,1463,871,2218,845,2331,4169,1, + 4168,2340,1,1342,1,1,1,1,1,1, + 1,1,1,1,1,1,2309,2331,1,2339, + 634,2431,1,1603,1342,2331,2313,826,798,771, + 1417,993,1444,793,1463,871,2218,845,2331,4169, + 1,4168,2340,1,1342,1,1,1,1,1, + 1,1,1,1,1,1,1,1,2556,387, + 2339,519,2431,2331,1,2331,1,190,826,798, + 771,1417,993,1444,793,1463,871,2218,845,248, + 2337,2331,1,1,1,2340,1,2526,1,1, + 1,1,1,2331,2331,1754,2280,1,1,1, + 1,2336,219,2339,1,1,1,1,1,1, + 1,1,1,1,1,1,1204,1,1,1, + 64,190,2331,1,54,1,189,1,2316,701, + 1,2325,1481,129,2336,261,2556,1481,1895,1, + 1,1,1,1,252,1,2526,1,1,1, + 1,1,2544,2545,2546,611,2493,2335,2494,2492, + 2547,2495,2491,1,1,1,1,1,1,1, + 1,1,1,1,1,2331,1,1,1,2331, + 189,2331,1,611,1,190,1617,1968,611,2331, + 2335,2588,130,2336,1,221,1994,821,2336,2331, + 1,1,1,2588,1,2526,1,1,1,1, + 1,2544,2545,2546,112,2493,255,2494,2492,2547, + 2495,2491,1,1,1,1,1,1,1,1, + 1,1,1,1,2331,1,1,1,2340,190, + 1,369,387,2342,2331,48,1775,611,611,2335, + 2088,131,2331,235,2335,65,2339,222,1630,2544, + 2545,2546,2331,2493,701,2494,2492,2547,2495,2491, + 2544,2545,2546,822,2493,222,2494,2492,2547,2495, + 2491,2498,2503,2502,2500,2501,2499,2504,2505,2497, + 2506,2507,2508,2328,1434,838,815,2331,2341,1, + 2342,228,1,116,267,2556,1481,232,249,252, + 222,2331,2072,2059,222,2331,2544,2545,2546,2340, + 2493,116,2494,2492,2547,2495,2491,1,1,1, + 2544,2545,2546,2331,2568,128,2331,2339,2498,2503, + 2502,2500,2501,2499,2504,2505,2497,2506,2507,2508, + 250,1434,838,815,2544,2545,2546,611,2493,116, + 2494,2492,2547,2495,2491,269,2587,1390,2331,2544, + 2545,2546,1906,2331,71,2331,2498,2503,2502,2500, + 2501,2499,2504,2505,2497,2506,2507,2508,1,2341, + 1361,2342,2334,1835,88,1911,1808,2015,2193,2180, + 1173,2343,2344,2345,2346,1699,410,2331,2331,2331, + 2331,746,2331,2341,1361,2342,2334,2006,611,1911, + 1808,2015,2193,2180,1173,2343,2344,2345,2346,1699, + 410,2331,2341,1361,2342,1181,2026,4160,1911,1808, + 2015,2193,2180,1173,2343,2344,2345,2346,1699,410, + 29,1106,455,2333,1,2341,1361,2342,28,2026, + 4160,1911,1808,2015,2193,2180,1173,2343,2344,2345, + 2346,1699,410,58,206,57,270,2333,2331,2341, + 1361,2342,2334,2026,247,1911,1808,2015,2193,2180, + 1173,2343,2344,2345,2346,1699,410,2331,2331,2331, + 2331,2331,1,2544,2545,2546,90,2359,2331,2341, + 1361,2342,28,2026,1662,1911,1808,2015,2193,2180, + 1173,2343,2344,2345,2346,1699,410,2331,264,611, + 1994,3306,2331,1,2331,1617,1968,1617,1968,1, + 2341,1361,2342,2333,2026,4160,1911,1808,2015,2193, + 2180,1173,2343,2344,2345,2346,1699,410,1,2341, + 1361,2342,90,2026,4160,1911,1808,2015,2193,2180, + 1173,2343,2344,2345,2346,1699,410,2331,2341,1361, + 2342,611,2026,4160,1911,1808,2015,2193,2180,1173, + 2343,2344,2345,2346,1699,410,2331,2341,1361,2342, + 2331,2026,2331,1911,1808,2015,2193,2180,1173,2343, + 2344,2345,2346,1699,410,1,2341,1361,2342,2331, + 2026,290,1911,1808,2015,2193,2180,1173,2343,2344, + 2345,2346,1699,410,2331,2341,2201,2342,2331,2026, + 2331,1911,1808,2015,2193,2180,1173,2343,2344,2345, + 2346,1699,410,2331,2341,2202,2342,132,2026,56, + 1911,1808,2015,2193,2180,1173,2343,2344,2345,2346, + 1699,410,251,55,1277,2331,2544,2545,2546,31, + 2493,1324,2494,2492,2547,2495,2491,1929,210,2356, + 2357,2544,2545,2546,50,267,49,1994,2331,2088, + 252,2088,2338,41,2331,2331,2331,283,200,1662, + 1662,1583,29,188,188,1,1,188,2331,184, + 183,1617,1968,205,2331,2331,2331,2331,2331,2331, + 2331,2331,2250,2331,339,1617,1968,2331,2331,2331, + 2331,2331,2331,2331,2331,1371,2331,2331,611,1129, + 2331,2331,2331,2331,2331,2331,2337,2331,2331,447, + 2331,2072,2059,2072,2059,1583,678,1225,2331,588, + 2331,2331,2331,2331,2342,2341 }; }; public final static char termAction[] = TermAction.termAction; @@ -841,36 +853,36 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym public interface Asb { public final static char asb[] = {0, - 404,10,279,387,404,569,437,449,567,449, - 567,567,449,567,449,281,338,389,378,435, - 389,251,567,241,241,567,241,389,338,465, - 338,1,2,214,281,569,184,531,530,338, - 77,252,569,108,569,138,338,457,389,214, - 34,216,281,389,16,389,251,321,185,185, - 241,435,435,308,435,435,185,251,8,323, - 8,387,267,569,108,138,138,457,304,216, - 57,54,304,150,267,323,323,323,323,323, - 38,323,323,323,144,161,166,164,172,168, - 175,174,177,176,178,465,460,281,464,543, - 135,569,323,77,530,249,185,323,185,265, - 323,340,323,323,252,308,8,308,389,181, - 342,342,108,135,536,108,138,140,393,140, - 304,457,464,304,54,37,34,323,323,323, - 323,323,323,323,323,323,323,323,465,465, - 398,267,267,241,241,192,323,323,323,323, - 323,323,323,323,323,323,323,323,323,323, - 323,323,323,323,323,323,462,463,211,338, - 216,135,14,321,185,465,435,465,465,251, - 308,323,108,538,140,135,323,241,457,391, - 323,323,54,38,16,338,211,465,465,465, - 54,164,164,161,161,168,168,166,166,166, - 166,174,172,176,175,8,177,214,465,468, - 460,14,185,321,308,323,308,308,135,184, - 323,183,135,54,54,14,398,468,497,569, - 323,216,465,140,189,192,185,465,250,538, - 323,14,465,135,12,534,241,323,188,465, - 192,185,308,140,244,16,54,241,323,308, - 465,135,54,308 + 493,1,371,447,493,491,180,192,489,192, + 489,489,192,489,192,373,271,449,438,524, + 449,343,489,309,309,489,309,449,271,208, + 271,8,9,282,373,491,153,566,565,271, + 62,344,491,211,491,273,271,200,449,282, + 39,284,373,449,21,449,343,254,154,154, + 309,524,524,241,524,524,154,343,15,256, + 15,447,359,491,211,273,273,200,396,284, + 93,59,396,119,359,256,256,256,256,256, + 43,256,256,256,113,130,135,133,141,137, + 144,143,146,145,147,208,203,373,207,465, + 238,491,256,62,565,341,154,256,154,357, + 256,400,256,256,344,241,15,241,449,150, + 402,211,238,458,211,273,275,453,275,396, + 200,207,396,59,42,39,256,256,256,256, + 256,256,256,256,256,256,256,208,208,526, + 359,359,309,309,161,256,256,256,256,256, + 256,256,256,256,256,256,256,256,256,256, + 256,256,256,256,256,205,206,279,271,284, + 238,19,254,154,208,524,208,208,343,241, + 256,211,460,275,238,256,309,200,451,256, + 256,59,43,21,271,279,208,208,208,59, + 133,133,130,130,137,137,135,135,135,135, + 143,141,145,144,15,146,282,208,312,203, + 19,154,254,241,256,241,241,238,153,256, + 152,238,59,59,19,526,312,532,491,256, + 284,208,275,158,161,154,208,342,460,256, + 19,208,238,17,569,309,256,157,208,161, + 154,241,275,3,21,59,309,256,241,208, + 238,59,241 }; }; public final static char asb[] = Asb.asb; @@ -878,63 +890,63 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym public interface Asr { public final static byte asr[] = {0, - 2,4,61,57,59,22,41,60,0,73, - 0,4,58,41,66,2,13,14,15,16, - 1,3,10,11,9,5,7,8,17,18, - 12,6,0,19,20,21,23,10,11,9, - 5,7,8,17,18,12,2,1,3,13, - 14,15,16,65,4,0,19,20,21,10, - 11,9,5,7,8,17,18,12,2,1, - 3,13,14,15,16,0,24,42,19,43, - 54,25,44,26,45,46,27,20,47,48, - 23,55,28,56,49,50,21,51,52,53, - 1,3,4,61,57,22,0,24,42,19, - 43,54,25,44,26,45,46,27,20,47, - 48,23,55,28,56,49,50,21,51,52, - 53,1,3,29,4,58,0,1,3,4, - 58,57,0,41,2,66,80,10,11,61, - 83,84,85,86,87,89,88,90,91,92, - 5,67,68,7,8,63,62,69,70,71, - 72,74,75,9,76,77,78,58,81,82, - 65,59,60,57,22,4,0,61,41,66, - 0,4,59,12,13,14,15,16,1,3, - 2,10,11,9,5,7,8,17,18,0, - 5,2,41,59,4,24,42,19,43,54, - 25,44,26,45,46,27,20,47,48,23, - 55,28,56,49,50,21,51,52,53,64, - 1,3,0,4,57,58,22,0,73,79, - 58,32,34,6,38,40,35,30,36,37, - 33,31,39,29,4,22,13,14,15,16, - 10,11,9,7,8,17,18,12,5,2, - 3,1,54,55,56,50,42,47,45,46, - 44,43,48,49,51,52,53,28,25,23, - 24,27,26,19,20,21,0,32,34,6, - 38,40,35,30,36,37,33,31,39,29, - 22,4,10,11,9,7,8,17,18,12, - 2,1,3,13,14,15,16,5,0,30, + 73,0,4,57,58,22,0,2,4,61, + 57,60,22,53,59,0,4,58,53,66, + 2,13,14,15,16,1,3,10,11,9, + 5,7,8,17,18,12,6,0,19,20, + 21,23,10,11,9,5,7,8,17,18, + 12,2,1,3,13,14,15,16,65,4, + 0,25,41,19,42,54,26,43,27,44, + 45,28,20,46,47,23,55,29,56,48, + 49,21,50,51,52,1,3,4,61,57, + 22,0,19,20,21,10,11,9,5,7, + 8,17,18,12,2,1,3,13,14,15, + 16,0,53,2,66,80,10,11,61,83, + 84,85,86,87,89,88,90,91,92,5, + 67,68,7,8,63,62,69,70,71,72, + 74,75,9,76,77,78,58,81,82,65, + 60,59,57,22,4,0,61,53,66,0, + 4,60,12,13,14,15,16,1,3,2, + 10,11,9,5,7,8,17,18,0,49, + 41,46,44,45,43,42,47,48,50,51, + 52,59,22,29,26,23,25,28,27,19, + 20,21,5,1,2,53,57,60,4,0, + 25,41,19,42,54,26,43,27,44,45, + 28,20,46,47,23,55,29,56,48,49, + 21,50,51,52,1,3,24,4,58,0, + 32,34,6,38,40,35,30,36,37,33, + 31,39,24,22,4,10,11,9,7,8, + 17,18,12,2,1,3,13,14,15,16, + 5,0,1,3,4,58,57,0,5,2, + 53,60,4,25,41,19,42,54,26,43, + 27,44,45,28,20,46,47,23,55,29, + 56,48,49,21,50,51,52,64,1,3, + 0,5,25,41,19,42,54,26,43,27, + 44,45,28,20,46,47,23,55,29,56, + 48,49,21,50,51,52,1,3,64,0, + 73,79,58,32,34,6,38,40,35,30, + 36,37,33,31,39,24,4,22,13,14, + 15,16,10,11,9,7,8,17,18,12, + 5,2,1,3,54,55,56,49,41,46, + 44,45,43,42,47,48,50,51,52,29, + 26,23,25,28,27,19,20,21,0,30, 0,66,80,10,11,9,7,8,67,68, 62,63,69,70,71,72,74,75,76,77, 78,81,82,61,83,84,85,86,87,88, - 89,90,91,92,57,41,59,24,19,25, - 26,27,20,23,28,21,22,4,5,2, - 1,0,4,57,58,61,0,4,59,5, - 2,41,0,73,24,42,19,43,54,25, - 44,26,45,46,27,20,47,48,23,55, - 28,56,49,50,21,51,52,53,1,3, - 5,22,4,29,2,0,50,42,47,45, - 46,44,43,48,49,51,52,53,60,22, - 28,25,23,24,27,26,19,20,21,5, - 1,2,41,57,59,4,0,5,24,42, - 19,43,54,25,44,26,45,46,27,20, - 47,48,23,55,28,56,49,50,21,51, - 52,53,1,3,64,0,9,5,7,8, - 67,68,62,63,69,70,71,72,74,75, - 76,77,78,81,82,60,83,84,85,86, - 87,88,89,90,91,92,65,59,58,6, - 4,57,22,61,0,22,4,5,1,2, - 60,0,24,42,19,43,54,25,44,26, - 45,46,27,20,47,48,23,55,28,56, - 49,50,21,51,52,53,1,3,6,0 + 89,90,91,92,57,53,60,25,19,26, + 27,28,20,23,29,21,22,4,5,2, + 1,0,4,57,58,61,0,22,4,5, + 1,2,59,0,25,41,19,42,54,26, + 43,27,44,45,28,20,46,47,23,55, + 29,56,48,49,21,50,51,52,1,3, + 6,0,73,25,41,19,42,54,26,43, + 27,44,45,28,20,46,47,23,55,29, + 56,48,49,21,50,51,52,1,3,5, + 22,4,24,2,0,4,60,5,2,53, + 0,9,5,7,8,67,68,62,63,69, + 70,71,72,74,75,76,77,78,81,82, + 59,83,84,85,86,87,88,89,90,91, + 92,65,60,58,6,4,57,22,61,0 }; }; public final static byte asr[] = Asr.asr; @@ -942,36 +954,36 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym public interface Nasb { public final static char nasb[] = {0, - 138,29,19,75,78,10,106,107,15,107, - 45,45,107,44,107,101,155,97,29,29, - 95,12,62,62,62,62,62,109,29,151, - 155,17,17,150,89,10,76,29,29,155, - 29,58,37,89,29,89,29,89,144,150, - 47,71,124,97,51,142,67,74,76,76, - 62,29,29,119,29,29,76,12,29,8, - 29,75,1,29,130,89,62,89,128,158, - 41,49,128,29,162,8,8,8,8,8, - 48,8,8,8,29,29,29,29,29,29, - 29,29,29,29,29,151,85,22,29,166, - 89,29,8,29,29,29,76,8,76,30, - 163,29,163,163,58,119,29,119,97,29, - 29,29,89,13,75,134,62,82,29,29, - 128,35,151,128,49,48,35,8,8,8, - 8,8,8,8,8,8,8,8,151,151, - 87,162,162,54,54,64,163,8,8,8, - 8,8,8,8,8,8,8,8,8,8, - 8,8,8,8,163,8,17,17,84,155, - 71,13,89,32,76,151,29,151,151,67, - 119,8,130,97,82,13,8,62,35,29, - 8,8,49,48,8,155,148,151,151,151, - 49,29,29,29,29,29,29,29,29,29, - 29,29,29,29,29,29,29,150,151,153, - 113,40,76,32,119,163,119,119,13,76, - 8,29,13,49,49,89,115,153,29,29, - 8,71,151,82,93,32,76,151,29,97, - 8,40,151,13,39,29,62,8,56,151, - 32,76,119,82,91,51,49,62,8,119, - 151,13,49,119 + 145,27,17,167,154,15,117,118,54,118, + 93,93,118,92,118,112,109,122,27,27, + 120,71,7,7,7,7,7,9,27,152, + 109,43,43,151,105,15,168,27,27,109, + 27,65,61,105,27,105,27,105,128,151, + 50,85,39,122,56,126,81,166,168,168, + 7,27,27,95,27,27,168,71,27,48, + 27,167,1,27,158,105,7,105,138,162, + 47,52,138,27,88,48,48,48,48,48, + 51,48,48,48,27,27,27,27,27,27, + 27,27,27,27,27,152,101,20,27,140, + 105,27,48,27,27,27,168,48,168,28, + 89,27,89,89,65,95,27,95,122,27, + 27,105,72,167,77,7,13,27,27,138, + 33,152,138,52,51,33,48,48,48,48, + 48,48,48,48,48,48,48,152,152,103, + 88,88,35,35,74,89,48,48,48,48, + 48,48,48,48,48,48,48,48,48,48, + 48,48,48,89,48,43,43,100,109,85, + 72,105,30,168,152,27,152,152,81,95, + 48,158,122,13,72,48,7,33,27,48, + 48,52,51,48,109,149,152,152,152,52, + 27,27,27,27,27,27,27,27,27,27, + 27,27,27,27,27,27,151,152,107,132, + 46,168,30,95,89,95,95,72,168,48, + 27,72,52,52,105,134,107,27,27,48, + 85,152,13,59,30,168,152,27,122,48, + 46,152,72,45,27,7,48,63,152,30, + 168,95,13,37,56,52,7,48,95,152, + 72,52,95 }; }; public final static char nasb[] = Nasb.nasb; @@ -979,23 +991,23 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym public interface Nasr { public final static char nasr[] = {0, - 83,82,81,80,74,79,78,5,0,105, - 0,1,41,0,108,0,46,0,36,1, - 101,83,82,81,80,74,79,78,0,24, - 47,1,61,0,25,0,109,0,89,67, - 5,1,0,111,86,0,1,5,39,0, - 5,67,0,90,0,119,0,1,24,29, - 93,21,0,1,107,0,29,21,69,41, - 1,24,0,27,1,17,0,24,1,103, - 0,68,0,23,36,43,58,59,1,0, - 115,0,117,0,45,38,43,36,1,0, - 74,70,71,72,73,62,48,0,36,38, - 40,0,36,43,59,58,40,0,21,29, - 1,30,0,24,1,121,0,75,0,96, - 1,55,0,1,55,87,0,120,24,1, - 0,38,45,36,43,40,0,58,59,1, - 23,0,1,24,40,53,0,112,1,24, - 0,55,1,27,0,1,24,47,28,0 + 83,81,80,74,79,78,1,0,36,38, + 40,0,68,0,105,0,36,2,101,83, + 82,81,80,74,79,78,0,24,47,2, + 61,0,25,0,90,0,115,0,24,2, + 121,0,46,0,89,67,2,6,0,2, + 6,39,0,108,0,6,67,0,117,0, + 109,0,119,0,2,24,1,29,93,0, + 2,41,0,2,107,0,2,55,87,0, + 29,1,69,41,2,24,0,55,2,27, + 0,111,86,0,1,29,2,30,0,23, + 36,43,58,59,2,0,2,24,40,53, + 0,74,70,71,72,73,62,48,0,45, + 38,43,36,2,0,38,45,36,43,40, + 0,36,43,59,58,40,0,75,0,2, + 24,47,28,0,120,24,2,0,58,59, + 2,23,0,24,2,103,0,96,2,55, + 0,112,2,24,0,27,2,18,0 }; }; public final static char nasr[] = Nasr.nasr; @@ -1005,10 +1017,10 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym public final static char terminalIndex[] = {0, 85,2,86,87,9,3,10,11,8,6, 7,68,81,82,83,84,12,13,48,64, - 76,92,69,44,55,60,63,72,93,77, + 76,92,69,93,44,55,60,63,72,77, 45,46,49,50,51,57,58,59,65,71, - 1,47,52,56,61,62,66,67,74,75, - 78,79,80,54,70,73,42,91,90,29, + 47,52,56,61,62,66,67,74,75,78, + 79,80,1,54,70,73,42,91,29,90, 31,16,17,30,89,4,14,15,18,19, 20,21,94,22,23,24,25,26,53,5, 27,28,32,33,34,35,36,37,38,39, @@ -1020,16 +1032,16 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym public interface NonterminalIndex { public final static char nonterminalIndex[] = {0, - 0,0,0,0,100,104,105,106,107,108, - 109,110,111,112,113,114,98,115,116,0, - 123,117,96,127,135,0,99,122,118,121, + 99,0,0,0,0,101,105,106,107,108, + 109,110,111,112,113,114,115,98,116,117, + 0,118,96,127,135,0,100,123,119,122, 0,0,0,0,0,157,0,160,95,0, 97,154,156,0,158,159,126,134,0,0, - 0,145,155,120,149,168,171,172,173,0, + 0,145,155,121,149,168,171,172,173,0, 0,137,144,0,161,167,0,0,125,138, - 139,140,141,146,166,170,102,129,130,131, - 132,133,136,142,143,0,148,153,174,101, - 103,119,124,128,0,147,151,0,0,152, + 139,140,141,146,166,170,103,129,130,131, + 132,133,136,142,143,0,148,153,174,102, + 104,120,124,128,0,147,151,0,0,152, 162,165,179,0,181,0,0,0,0,150, 0,163,164,169,0,175,176,0,177,178, 180,0 @@ -1062,10 +1074,10 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym public interface ScopeLhs { public final static char scopeLhs[] = { - 72,70,5,72,46,46,70,63,33,60, - 46,38,60,46,87,28,6,5,5,19, - 119,118,58,46,36,3,89,87,7,34, - 5,87,38,45,38 + 72,70,6,72,46,46,70,63,33,60, + 46,38,60,46,87,28,7,6,6,20, + 119,118,58,46,36,4,89,87,8,34, + 6,87,38,45,38 }; }; public final static char scopeLhs[] = ScopeLhs.scopeLhs; @@ -1073,10 +1085,10 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym public interface ScopeLa { public final static byte scopeLa[] = { - 58,58,58,58,65,65,58,58,79,59, - 65,59,59,65,22,58,59,59,65,60, - 65,65,59,65,59,59,61,1,59,30, - 59,22,2,2,2 + 58,58,58,58,65,65,58,58,79,60, + 65,60,60,65,22,58,60,60,65,59, + 65,65,60,65,60,60,61,1,60,30, + 60,22,2,2,2 }; }; public final static byte scopeLa[] = ScopeLa.scopeLa; @@ -1095,25 +1107,25 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym public interface ScopeRhs { public final static char scopeRhs[] = {0, - 147,41,0,95,0,209,94,0,31,144, - 0,161,184,94,6,160,0,97,0,0, - 158,94,2,151,0,96,0,158,94,2, - 0,169,2,0,115,23,195,94,41,0, - 115,195,94,23,41,0,115,23,41,0, - 115,195,94,41,0,115,41,0,129,0, - 2,0,163,96,0,2,96,0,158,94, + 147,53,0,95,0,209,95,0,31,144, + 0,161,184,95,6,160,0,97,0,0, + 158,95,2,151,0,96,0,158,95,2, + 0,169,2,0,115,23,195,95,53,0, + 115,195,95,23,53,0,115,23,53,0, + 115,195,95,53,0,115,53,0,129,0, + 2,0,163,96,0,2,96,0,158,95, 2,129,0,2,0,161,96,0,145,2, - 0,161,192,94,6,114,204,54,0,97, - 0,161,192,94,6,204,54,0,148,0, - 98,0,203,94,148,0,94,148,0,150, - 98,0,188,94,6,202,114,201,167,0, - 188,94,6,201,167,0,123,35,0,77, - 2,99,96,98,0,123,116,120,2,38, - 0,53,121,0,186,94,6,0,120,82, - 111,0,29,116,0,170,2,0,96,105, - 0,170,2,12,0,161,184,94,6,116, - 170,2,0,96,3,0,103,0,97,0, - 200,2,98,0,120,41,98,0,120,2, + 0,161,192,95,6,94,204,54,0,97, + 0,161,192,95,6,204,54,0,148,0, + 98,0,203,95,148,0,95,148,0,150, + 98,0,188,95,6,202,94,201,167,0, + 188,95,6,201,167,0,123,35,0,77, + 2,100,96,98,0,123,116,120,2,38, + 0,53,122,0,186,95,6,0,120,82, + 112,0,29,117,0,170,2,0,96,106, + 0,170,2,12,0,161,184,95,6,116, + 170,2,0,96,3,0,104,0,97,0, + 200,2,99,0,120,53,99,0,120,2, 0 }; }; @@ -1122,18 +1134,18 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym public interface ScopeState { public final static char scopeState[] = {0, - 1187,0,1376,0,2095,1741,1627,0,1228,718, - 367,2118,1899,527,1509,781,682,1632,1497,1358, - 1241,819,1175,1102,1746,413,707,594,2109,2100, - 2079,2064,2056,1537,2037,2029,2020,2012,1208,1188, - 1155,342,1135,1114,1081,1061,1040,1019,998,977, - 956,935,914,893,872,851,830,798,760,739, - 657,315,550,573,632,611,504,481,458,0, - 2136,1804,1782,1760,1738,1700,1676,1629,1389,1579, - 1557,1322,1535,1260,1235,0,1529,1508,404,362, - 1386,1488,1875,1336,1667,1273,0,1447,374,1818, - 1488,1647,1336,1581,1273,1841,1806,1425,1397,390, - 0,655,315,1402,374,0 + 1303,0,696,0,2153,1341,2120,0,2193,2180, + 1173,2099,2006,1486,519,455,701,634,1956,1752, + 1349,565,1308,796,1984,1246,1968,1617,2088,2072, + 2059,2026,2015,1835,1911,1808,1699,410,1277,1256, + 1225,339,1204,1181,1150,1129,1106,1083,1060,1037, + 1014,991,968,945,922,899,876,853,538,718, + 746,312,771,611,678,653,588,496,473,0, + 1862,1892,1870,1848,1826,1789,1764,1716,1530,1680, + 1658,1419,1444,1346,1304,0,970,963,743,586, + 521,1610,1994,1481,1998,1366,0,330,371,1906, + 1610,1736,1481,1683,1366,1597,1895,792,1544,387, + 0,769,312,1542,371,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -1141,36 +1153,36 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym public interface InSymb { public final static char inSymb[] = {0, - 0,199,94,117,213,194,171,172,167,173, - 56,55,174,54,175,176,94,2,1,129, - 94,6,201,179,179,204,179,146,133,145, - 94,129,136,2,206,194,187,178,131,94, - 138,94,114,6,114,6,133,5,146,2, - 41,94,94,57,61,146,186,39,31,33, + 0,199,95,117,213,194,171,172,167,173, + 56,55,174,54,175,176,95,2,1,129, + 95,6,201,179,179,204,179,146,133,145, + 95,129,136,2,206,194,187,178,131,95, + 138,95,94,6,94,6,133,5,146,2, + 53,95,95,57,61,146,186,39,31,33, 37,36,30,35,40,38,122,6,34,32, - 114,117,94,202,94,6,94,5,94,94, - 23,115,94,99,2,12,18,17,8,7, - 5,9,11,10,98,101,103,102,105,104, - 107,106,109,108,111,158,117,94,159,214, - 6,160,5,138,131,4,120,94,114,2, - 2,123,2,2,94,60,147,60,94,185, - 1,3,6,188,148,189,94,192,114,193, - 94,168,205,94,115,195,168,92,91,90, - 88,89,87,86,85,84,83,61,170,120, - 148,2,2,80,66,2,41,68,67,5, - 62,63,8,7,75,74,72,71,70,69, - 76,9,78,77,82,81,151,152,2,94, - 57,94,6,140,154,120,30,120,120,186, - 60,57,94,94,192,161,61,57,168,57, - 195,23,115,5,116,94,2,170,170,200, - 120,102,102,101,101,104,104,103,103,103, - 103,106,105,108,107,120,109,2,169,94, - 146,94,154,110,116,2,116,116,188,203, - 60,145,161,115,115,6,146,94,116,116, - 60,94,158,184,94,110,154,120,123,57, - 60,94,158,161,57,209,66,41,210,154, - 110,116,79,184,134,61,147,66,41,116, - 154,161,147,116 + 94,117,95,202,95,6,95,5,95,95, + 23,115,95,100,2,12,18,17,8,7, + 5,9,11,10,99,102,104,103,106,105, + 108,107,110,109,112,158,117,95,159,214, + 6,160,5,138,131,4,120,95,94,2, + 2,123,2,2,95,59,147,59,95,185, + 94,6,188,148,189,95,192,94,193,95, + 168,205,95,115,195,168,92,91,90,88, + 89,87,86,85,84,83,61,170,120,148, + 2,2,80,66,2,53,68,67,5,62, + 63,8,7,75,74,72,71,70,69,76, + 9,78,77,82,81,151,152,2,95,57, + 95,6,140,154,120,30,120,120,186,59, + 57,95,95,192,161,61,57,168,57,195, + 23,115,5,116,95,2,170,170,200,120, + 103,103,102,102,105,105,104,104,104,104, + 107,106,109,108,120,110,2,169,95,146, + 95,154,111,116,2,116,116,188,203,59, + 145,161,115,115,6,146,95,116,116,59, + 95,158,184,95,111,154,120,123,57,59, + 95,158,161,57,209,66,53,210,154,111, + 116,79,184,134,61,147,66,53,116,154, + 161,147,116 }; }; public final static char inSymb[] = InSymb.inSymb; @@ -1277,6 +1289,7 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym ")", "}", ";", + "identifier_token", "expression", "postfix_expression", "member_name", @@ -1301,7 +1314,6 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym "constant_expression", "statement", "compound_statement", - "identifier_token", "block_item_list", "block_item", "declaration", @@ -1322,7 +1334,7 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym "struct_or_union_specifier", "elaborated_specifier", "enum_specifier", - "typedef_name_in_declspec", + "type_name_specifier", "init_declarator", "complete_declarator", "initializer", @@ -1371,7 +1383,7 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym public final String name(int index) { return name[index]; } public final static int - ERROR_SYMBOL = 29, + ERROR_SYMBOL = 24, SCOPE_UBOUND = 34, SCOPE_SIZE = 35, MAX_NAME_LENGTH = 38; @@ -1382,20 +1394,20 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym public final int getMaxNameLength() { return MAX_NAME_LENGTH; } public final static int - NUM_STATES = 294, + NUM_STATES = 293, NT_OFFSET = 93, - LA_STATE_OFFSET = 2560, + LA_STATE_OFFSET = 2642, MAX_LA = 2147483647, - NUM_RULES = 314, + NUM_RULES = 311, NUM_NONTERMINALS = 122, NUM_SYMBOLS = 215, SEGMENT_SIZE = 8192, - START_STATE = 1762, + START_STATE = 1981, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 73, EOLT_SYMBOL = 73, - ACCEPT_ACTION = 2221, - ERROR_ACTION = 2246; + ACCEPT_ACTION = 2309, + ERROR_ACTION = 2331; public final static boolean BACKTRACK = true; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parsersym.java index a086168e2d8..4b30dcd2f16 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parsersym.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parsersym.java @@ -15,43 +15,43 @@ package org.eclipse.cdt.internal.core.dom.lrparser.c99; public interface C99Parsersym { public final static int - TK_auto = 24, + TK_auto = 25, TK_break = 31, TK_case = 32, - TK_char = 42, + TK_char = 41, TK_const = 19, TK_continue = 33, TK_default = 34, TK_do = 35, - TK_double = 43, + TK_double = 42, TK_else = 79, TK_enum = 54, - TK_extern = 25, - TK_float = 44, + TK_extern = 26, + TK_float = 43, TK_for = 36, TK_goto = 37, TK_if = 38, - TK_inline = 26, - TK_int = 45, - TK_long = 46, - TK_register = 27, + TK_inline = 27, + TK_int = 44, + TK_long = 45, + TK_register = 28, TK_restrict = 20, TK_return = 39, - TK_short = 47, - TK_signed = 48, + TK_short = 46, + TK_signed = 47, TK_sizeof = 12, TK_static = 23, TK_struct = 55, TK_switch = 40, - TK_typedef = 28, + TK_typedef = 29, TK_union = 56, - TK_unsigned = 49, - TK_void = 50, + TK_unsigned = 48, + TK_void = 49, TK_volatile = 21, TK_while = 30, - TK__Bool = 51, - TK__Complex = 52, - TK__Imaginary = 53, + TK__Bool = 50, + TK__Complex = 51, + TK__Imaginary = 52, TK_integer = 13, TK_floating = 14, TK_charconst = 15, @@ -60,7 +60,7 @@ public interface C99Parsersym { TK_Completion = 3, TK_EndOfCompletion = 4, TK_Invalid = 93, - TK_LeftBracket = 41, + TK_LeftBracket = 53, TK_LeftParen = 2, TK_LeftBrace = 6, TK_Dot = 66, @@ -88,7 +88,7 @@ public interface C99Parsersym { TK_AndAnd = 78, TK_OrOr = 81, TK_Question = 82, - TK_Colon = 60, + TK_Colon = 59, TK_DotDotDot = 64, TK_Assign = 61, TK_StarAssign = 83, @@ -103,10 +103,10 @@ public interface C99Parsersym { TK_OrAssign = 92, TK_Comma = 57, TK_RightBracket = 65, - TK_RightParen = 59, + TK_RightParen = 60, TK_RightBrace = 58, TK_SemiColon = 22, - TK_ERROR_TOKEN = 29, + TK_ERROR_TOKEN = 24, TK_EOF_TOKEN = 73; public final static String orderedTerminalSymbols[] = { @@ -134,12 +134,12 @@ public interface C99Parsersym { "volatile", "SemiColon", "static", + "ERROR_TOKEN", "auto", "extern", "inline", "register", "typedef", - "ERROR_TOKEN", "while", "break", "case", @@ -151,7 +151,6 @@ public interface C99Parsersym { "if", "return", "switch", - "LeftBracket", "char", "double", "float", @@ -164,13 +163,14 @@ public interface C99Parsersym { "_Bool", "_Complex", "_Imaginary", + "LeftBracket", "enum", "struct", "union", "Comma", "RightBrace", - "RightParen", "Colon", + "RightParen", "Assign", "RightShift", "LeftShift", diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParser.java index 35e436f3503..8aef9cfbada 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParser.java @@ -253,81 +253,81 @@ public C99SizeofExpressionParser(IParserActionTokenProvider parser) { // constr } // - // Rule 10: literal ::= integer + // Rule 12: literal ::= integer // - case 10: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_integer_constant); break; + case 12: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_integer_constant); break; } // - // Rule 11: literal ::= floating + // Rule 13: literal ::= floating // - case 11: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_float_constant); break; + case 13: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_float_constant); break; } // - // Rule 12: literal ::= charconst + // Rule 14: literal ::= charconst // - case 12: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_char_constant); break; + case 14: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_char_constant); break; } // - // Rule 13: literal ::= stringlit + // Rule 15: literal ::= stringlit // - case 13: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_string_literal); break; + case 15: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_string_literal); break; } // - // Rule 15: primary_expression ::= primary_expression_id + // Rule 17: primary_expression ::= primary_expression_id // - case 15: { action. consumeExpressionID(); break; + case 17: { action. consumeExpressionID(); break; } // - // Rule 16: primary_expression ::= ( expression ) + // Rule 18: primary_expression ::= ( expression ) // - case 16: { action. consumeExpressionBracketed(); break; + case 18: { action. consumeExpressionBracketed(); break; } // - // Rule 20: postfix_expression ::= postfix_expression [ expression ] + // Rule 21: postfix_expression ::= postfix_expression [ expression ] // - case 20: { action. consumeExpressionArraySubscript(); break; + case 21: { action. consumeExpressionArraySubscript(); break; } // - // Rule 21: postfix_expression ::= postfix_expression ( expression_list_opt ) + // Rule 22: postfix_expression ::= postfix_expression ( expression_list_opt ) // - case 21: { action. consumeExpressionFunctionCall(); break; + case 22: { action. consumeExpressionFunctionCall(); break; } // - // Rule 22: postfix_expression ::= postfix_expression . member_name + // Rule 23: postfix_expression ::= postfix_expression . member_name // - case 22: { action. consumeExpressionFieldReference(false); break; + case 23: { action. consumeExpressionFieldReference(false); break; } // - // Rule 23: postfix_expression ::= postfix_expression -> member_name + // Rule 24: postfix_expression ::= postfix_expression -> member_name // - case 23: { action. consumeExpressionFieldReference(true); break; + case 24: { action. consumeExpressionFieldReference(true); break; } // - // Rule 24: postfix_expression ::= postfix_expression ++ + // Rule 25: postfix_expression ::= postfix_expression ++ // - case 24: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break; + case 25: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break; } // - // Rule 25: postfix_expression ::= postfix_expression -- + // Rule 26: postfix_expression ::= postfix_expression -- // - case 25: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break; + case 26: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break; } // - // Rule 26: postfix_expression ::= ( type_id ) { <openscope-ast> initializer_list comma_opt } + // Rule 27: postfix_expression ::= ( type_id ) { <openscope-ast> initializer_list comma_opt } // - case 26: { action. consumeExpressionTypeIdInitializer(); break; + case 27: { action. consumeExpressionTypeIdInitializer(); break; } // @@ -385,885 +385,873 @@ public C99SizeofExpressionParser(IParserActionTokenProvider parser) { // constr } // - // Rule 41: unary_expression ::= sizeof ( type_id ) + // Rule 42: cast_expression ::= ( type_id ) cast_expression // - case 41: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_sizeof); break; + case 42: { action. consumeExpressionCast(IASTCastExpression.op_cast); break; } // - // Rule 43: cast_expression ::= ( type_id ) cast_expression + // Rule 44: multiplicative_expression ::= multiplicative_expression * cast_expression // - case 43: { action. consumeExpressionCast(IASTCastExpression.op_cast); break; + case 44: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_multiply); break; } // - // Rule 45: multiplicative_expression ::= multiplicative_expression * cast_expression + // Rule 45: multiplicative_expression ::= multiplicative_expression / cast_expression // - case 45: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_multiply); break; + case 45: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_divide); break; } // - // Rule 46: multiplicative_expression ::= multiplicative_expression / cast_expression + // Rule 46: multiplicative_expression ::= multiplicative_expression % cast_expression // - case 46: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_divide); break; + case 46: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_modulo); break; } // - // Rule 47: multiplicative_expression ::= multiplicative_expression % cast_expression + // Rule 48: additive_expression ::= additive_expression + multiplicative_expression // - case 47: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_modulo); break; + case 48: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_plus); break; } // - // Rule 49: additive_expression ::= additive_expression + multiplicative_expression + // Rule 49: additive_expression ::= additive_expression - multiplicative_expression // - case 49: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_plus); break; + case 49: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_minus); break; } // - // Rule 50: additive_expression ::= additive_expression - multiplicative_expression + // Rule 51: shift_expression ::= shift_expression << additive_expression // - case 50: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_minus); break; + case 51: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftLeft); break; } // - // Rule 52: shift_expression ::= shift_expression << additive_expression + // Rule 52: shift_expression ::= shift_expression >> additive_expression // - case 52: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftLeft); break; + case 52: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftRight); break; } // - // Rule 53: shift_expression ::= shift_expression >> additive_expression + // Rule 54: relational_expression ::= relational_expression < shift_expression // - case 53: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftRight); break; + case 54: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_lessThan); break; } // - // Rule 55: relational_expression ::= relational_expression < shift_expression + // Rule 55: relational_expression ::= relational_expression > shift_expression // - case 55: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_lessThan); break; + case 55: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_greaterThan); break; } // - // Rule 56: relational_expression ::= relational_expression > shift_expression + // Rule 56: relational_expression ::= relational_expression <= shift_expression // - case 56: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_greaterThan); break; + case 56: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_lessEqual); break; } // - // Rule 57: relational_expression ::= relational_expression <= shift_expression + // Rule 57: relational_expression ::= relational_expression >= shift_expression // - case 57: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_lessEqual); break; + case 57: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_greaterEqual); break; } // - // Rule 58: relational_expression ::= relational_expression >= shift_expression + // Rule 59: equality_expression ::= equality_expression == relational_expression // - case 58: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_greaterEqual); break; + case 59: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_equals); break; } // - // Rule 60: equality_expression ::= equality_expression == relational_expression + // Rule 60: equality_expression ::= equality_expression != relational_expression // - case 60: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_equals); break; + case 60: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_notequals); break; } // - // Rule 61: equality_expression ::= equality_expression != relational_expression + // Rule 62: AND_expression ::= AND_expression & equality_expression // - case 61: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_notequals); break; + case 62: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryAnd); break; } // - // Rule 63: AND_expression ::= AND_expression & equality_expression + // Rule 64: exclusive_OR_expression ::= exclusive_OR_expression ^ AND_expression // - case 63: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryAnd); break; + case 64: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryXor); break; } // - // Rule 65: exclusive_OR_expression ::= exclusive_OR_expression ^ AND_expression + // Rule 66: inclusive_OR_expression ::= inclusive_OR_expression | exclusive_OR_expression // - case 65: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryXor); break; + case 66: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryOr); break; } // - // Rule 67: inclusive_OR_expression ::= inclusive_OR_expression | exclusive_OR_expression + // Rule 68: logical_AND_expression ::= logical_AND_expression && inclusive_OR_expression // - case 67: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryOr); break; + case 68: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_logicalAnd); break; } // - // Rule 69: logical_AND_expression ::= logical_AND_expression && inclusive_OR_expression + // Rule 70: logical_OR_expression ::= logical_OR_expression || logical_AND_expression // - case 69: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_logicalAnd); break; + case 70: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_logicalOr); break; } // - // Rule 71: logical_OR_expression ::= logical_OR_expression || logical_AND_expression + // Rule 72: conditional_expression ::= logical_OR_expression ? expression : conditional_expression // - case 71: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_logicalOr); break; + case 72: { action. consumeExpressionConditional(); break; } // - // Rule 73: conditional_expression ::= logical_OR_expression ? expression : conditional_expression + // Rule 74: assignment_expression ::= unary_expression = assignment_expression // - case 73: { action. consumeExpressionConditional(); break; + case 74: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_assign); break; } // - // Rule 75: assignment_expression ::= unary_expression = assignment_expression + // Rule 75: assignment_expression ::= unary_expression *= assignment_expression // - case 75: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_assign); break; + case 75: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_multiplyAssign); break; } // - // Rule 76: assignment_expression ::= unary_expression *= assignment_expression + // Rule 76: assignment_expression ::= unary_expression /= assignment_expression // - case 76: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_multiplyAssign); break; + case 76: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_divideAssign); break; } // - // Rule 77: assignment_expression ::= unary_expression /= assignment_expression + // Rule 77: assignment_expression ::= unary_expression %= assignment_expression // - case 77: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_divideAssign); break; + case 77: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_moduloAssign); break; } // - // Rule 78: assignment_expression ::= unary_expression %= assignment_expression + // Rule 78: assignment_expression ::= unary_expression += assignment_expression // - case 78: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_moduloAssign); break; + case 78: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_plusAssign); break; } // - // Rule 79: assignment_expression ::= unary_expression += assignment_expression + // Rule 79: assignment_expression ::= unary_expression -= assignment_expression // - case 79: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_plusAssign); break; + case 79: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_minusAssign); break; } // - // Rule 80: assignment_expression ::= unary_expression -= assignment_expression + // Rule 80: assignment_expression ::= unary_expression <<= assignment_expression // - case 80: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_minusAssign); break; + case 80: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftLeftAssign); break; } // - // Rule 81: assignment_expression ::= unary_expression <<= assignment_expression + // Rule 81: assignment_expression ::= unary_expression >>= assignment_expression // - case 81: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftLeftAssign); break; + case 81: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftRightAssign); break; } // - // Rule 82: assignment_expression ::= unary_expression >>= assignment_expression + // Rule 82: assignment_expression ::= unary_expression &= assignment_expression // - case 82: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftRightAssign); break; + case 82: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryAndAssign); break; } // - // Rule 83: assignment_expression ::= unary_expression &= assignment_expression + // Rule 83: assignment_expression ::= unary_expression ^= assignment_expression // - case 83: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryAndAssign); break; + case 83: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryXorAssign); break; } // - // Rule 84: assignment_expression ::= unary_expression ^= assignment_expression + // Rule 84: assignment_expression ::= unary_expression |= assignment_expression // - case 84: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryXorAssign); break; + case 84: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryOrAssign); break; } // - // Rule 85: assignment_expression ::= unary_expression |= assignment_expression + // Rule 87: expression_list ::= <openscope-ast> expression_list_actual // - case 85: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryOrAssign); break; + case 87: { action. consumeExpressionList(); break; } // - // Rule 88: expression_list ::= <openscope-ast> expression_list_actual + // Rule 89: expression_list_opt ::= $Empty // - case 88: { action. consumeExpressionList(); break; + case 89: { action. consumeEmpty(); break; } // - // Rule 90: expression_list_opt ::= $Empty + // Rule 99: statement ::= ERROR_TOKEN // - case 90: { action. consumeEmpty(); break; + case 99: { action. consumeStatementProblem(); break; } // - // Rule 100: statement ::= ERROR_TOKEN + // Rule 100: labeled_statement ::= identifier_token : statement // - case 100: { action. consumeStatementProblem(); break; + case 100: { action. consumeStatementLabeled(); break; } // - // Rule 101: labeled_statement ::= identifier_token : statement + // Rule 101: labeled_statement ::= case constant_expression : statement // - case 101: { action. consumeStatementLabeled(); break; + case 101: { action. consumeStatementCase(); break; } // - // Rule 102: labeled_statement ::= case constant_expression : statement + // Rule 102: labeled_statement ::= default : statement // - case 102: { action. consumeStatementCase(); break; + case 102: { action. consumeStatementDefault(); break; } // - // Rule 103: labeled_statement ::= default : statement + // Rule 103: compound_statement ::= { } // - case 103: { action. consumeStatementDefault(); break; + case 103: { action. consumeStatementCompoundStatement(false); break; } // - // Rule 104: compound_statement ::= { } + // Rule 104: compound_statement ::= { <openscope-ast> block_item_list } // - case 104: { action. consumeStatementCompoundStatement(false); break; + case 104: { action. consumeStatementCompoundStatement(true); break; } // - // Rule 105: compound_statement ::= { <openscope-ast> block_item_list } + // Rule 108: block_item ::= declaration // - case 105: { action. consumeStatementCompoundStatement(true); break; + case 108: { action. consumeStatementDeclarationWithDisambiguation(); break; } // - // Rule 109: block_item ::= declaration + // Rule 109: expression_statement ::= ; // - case 109: { action. consumeStatementDeclarationWithDisambiguation(); break; + case 109: { action. consumeStatementNull(); break; } // - // Rule 110: expression_statement ::= ; + // Rule 110: expression_statement ::= expression_in_statement ; // - case 110: { action. consumeStatementNull(); break; + case 110: { action. consumeStatementExpression(); break; } // - // Rule 111: expression_statement ::= expression_in_statement ; + // Rule 111: selection_statement ::= if ( expression ) statement // - case 111: { action. consumeStatementExpression(); break; + case 111: { action. consumeStatementIf(false); break; } // - // Rule 112: selection_statement ::= if ( expression ) statement + // Rule 112: selection_statement ::= if ( expression ) statement else statement // - case 112: { action. consumeStatementIf(false); break; + case 112: { action. consumeStatementIf(true); break; } // - // Rule 113: selection_statement ::= if ( expression ) statement else statement + // Rule 113: selection_statement ::= switch ( expression ) statement // - case 113: { action. consumeStatementIf(true); break; + case 113: { action. consumeStatementSwitch(); break; } // - // Rule 114: selection_statement ::= switch ( expression ) statement + // Rule 115: expression_opt ::= $Empty // - case 114: { action. consumeStatementSwitch(); break; + case 115: { action. consumeEmpty(); break; } // - // Rule 116: expression_opt ::= $Empty + // Rule 116: iteration_statement ::= do statement while ( expression ) ; // - case 116: { action. consumeEmpty(); break; + case 116: { action. consumeStatementDoLoop(); break; } // - // Rule 117: iteration_statement ::= do statement while ( expression ) ; + // Rule 117: iteration_statement ::= while ( expression ) statement // - case 117: { action. consumeStatementDoLoop(); break; + case 117: { action. consumeStatementWhileLoop(); break; } // - // Rule 118: iteration_statement ::= while ( expression ) statement + // Rule 118: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement // - case 118: { action. consumeStatementWhileLoop(); break; + case 118: { action. consumeStatementForLoop(); break; } // - // Rule 119: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement + // Rule 119: iteration_statement ::= for ( declaration expression_opt ; expression_opt ) statement // case 119: { action. consumeStatementForLoop(); break; } // - // Rule 120: iteration_statement ::= for ( declaration expression_opt ; expression_opt ) statement + // Rule 120: jump_statement ::= goto identifier_token ; // - case 120: { action. consumeStatementForLoop(); break; + case 120: { action. consumeStatementGoto(); break; } // - // Rule 121: jump_statement ::= goto identifier_token ; + // Rule 121: jump_statement ::= continue ; // - case 121: { action. consumeStatementGoto(); break; + case 121: { action. consumeStatementContinue(); break; } // - // Rule 122: jump_statement ::= continue ; + // Rule 122: jump_statement ::= break ; // - case 122: { action. consumeStatementContinue(); break; + case 122: { action. consumeStatementBreak(); break; } // - // Rule 123: jump_statement ::= break ; + // Rule 123: jump_statement ::= return ; // - case 123: { action. consumeStatementBreak(); break; + case 123: { action. consumeStatementReturn(false); break; } // - // Rule 124: jump_statement ::= return ; + // Rule 124: jump_statement ::= return expression ; // - case 124: { action. consumeStatementReturn(false); break; + case 124: { action. consumeStatementReturn(true); break; } // - // Rule 125: jump_statement ::= return expression ; + // Rule 125: declaration ::= declaration_specifiers ; // - case 125: { action. consumeStatementReturn(true); break; + case 125: { action. consumeDeclarationSimple(false); break; } // - // Rule 126: declaration ::= declaration_specifiers ; + // Rule 126: declaration ::= declaration_specifiers <openscope-ast> init_declarator_list ; // - case 126: { action. consumeDeclarationSimple(false); break; + case 126: { action. consumeDeclarationSimple(true); break; } // - // Rule 127: declaration ::= declaration_specifiers <openscope-ast> init_declarator_list ; + // Rule 127: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers // - case 127: { action. consumeDeclarationSimple(true); break; + case 127: { action. consumeDeclarationSpecifiersSimple(); break; } // - // Rule 128: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers + // Rule 128: declaration_specifiers ::= <openscope-ast> struct_or_union_declaration_specifiers // - case 128: { action. consumeDeclarationSpecifiersSimple(); break; + case 128: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; } // - // Rule 129: declaration_specifiers ::= <openscope-ast> struct_or_union_declaration_specifiers + // Rule 129: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers // case 129: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; } // - // Rule 130: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers + // Rule 130: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers // case 130: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; } // - // Rule 131: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers + // Rule 131: declaration_specifiers ::= <openscope-ast> typdef_name_declaration_specifiers // - case 131: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; + case 131: { action. consumeDeclarationSpecifiersTypedefName(); break; } // - // Rule 132: declaration_specifiers ::= <openscope-ast> typdef_name_declaration_specifiers + // Rule 156: init_declarator ::= complete_declarator = initializer // - case 132: { action. consumeDeclarationSpecifiersTypedefName(); break; + case 156: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 157: init_declarator ::= complete_declarator = initializer + // Rule 158: storage_class_specifier ::= storage_class_specifier_token // - case 157: { action. consumeDeclaratorWithInitializer(true); break; + case 158: { action. consumeToken(); break; } // - // Rule 159: storage_class_specifier ::= storage_class_specifier_token + // Rule 164: simple_type_specifier ::= simple_type_specifier_token // - case 159: { action. consumeToken(); break; + case 164: { action. consumeToken(); break; } // - // Rule 165: simple_type_specifier ::= simple_type_specifier_token + // Rule 177: type_name_specifier ::= identifier_token // - case 165: { action. consumeToken(); break; + case 177: { action. consumeToken(); break; } // - // Rule 178: typedef_name_in_declspec ::= Completion + // Rule 178: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt } // - case 178: { action. consumeToken(); break; + case 178: { action. consumeTypeSpecifierComposite(false); break; } // - // Rule 179: typedef_name_in_declspec ::= identifier + // Rule 179: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook identifier_token struct_or_union_specifier_suffix_hook { <openscope-ast> struct_declaration_list_opt } // - case 179: { action. consumeToken(); break; + case 179: { action. consumeTypeSpecifierComposite(true); break; } // - // Rule 182: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt } + // Rule 184: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token // - case 182: { action. consumeTypeSpecifierComposite(false); break; + case 184: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break; } // - // Rule 183: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook identifier_token struct_or_union_specifier_suffix_hook { <openscope-ast> struct_declaration_list_opt } + // Rule 185: elaborated_specifier ::= union elaborated_specifier_hook identifier_token // - case 183: { action. consumeTypeSpecifierComposite(true); break; + case 185: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break; } // - // Rule 188: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token + // Rule 186: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token // - case 188: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break; + case 186: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break; } // - // Rule 189: elaborated_specifier ::= union elaborated_specifier_hook identifier_token + // Rule 192: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ; // - case 189: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break; + case 192: { action. consumeStructDeclaration(true); break; } // - // Rule 190: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token + // Rule 193: struct_declaration ::= specifier_qualifier_list ; // - case 190: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break; + case 193: { action. consumeStructDeclaration(false); break; } // - // Rule 196: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ; + // Rule 194: struct_declaration ::= ERROR_TOKEN // - case 196: { action. consumeStructDeclaration(true); break; + case 194: { action. consumeDeclarationProblem(); break; } // - // Rule 197: struct_declaration ::= specifier_qualifier_list ; + // Rule 200: struct_declarator ::= : constant_expression // - case 197: { action. consumeStructDeclaration(false); break; + case 200: { action. consumeBitField(false); break; } // - // Rule 198: struct_declaration ::= ERROR_TOKEN + // Rule 201: struct_declarator ::= declarator : constant_expression // - case 198: { action. consumeDeclarationProblem(); break; + case 201: { action. consumeBitField(true); break; } // - // Rule 204: struct_declarator ::= : constant_expression + // Rule 202: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } // - case 204: { action. consumeBitField(false); break; + case 202: { action. consumeTypeSpecifierEnumeration(false); break; } // - // Rule 205: struct_declarator ::= declarator : constant_expression + // Rule 203: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } // - case 205: { action. consumeBitField(true); break; + case 203: { action. consumeTypeSpecifierEnumeration(true); break; } // - // Rule 206: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 209: enumerator ::= identifier_token // - case 206: { action. consumeTypeSpecifierEnumeration(false); break; + case 209: { action. consumeEnumerator(false); break; } // - // Rule 207: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 210: enumerator ::= identifier_token = constant_expression // - case 207: { action. consumeTypeSpecifierEnumeration(true); break; + case 210: { action. consumeEnumerator(true); break; } // - // Rule 213: enumerator ::= identifier_token + // Rule 211: type_qualifier ::= type_qualifier_token // - case 213: { action. consumeEnumerator(false); break; + case 211: { action. consumeToken(); break; } // - // Rule 214: enumerator ::= identifier_token = constant_expression - // - case 214: { action. consumeEnumerator(true); break; - } - - // - // Rule 215: type_qualifier ::= type_qualifier_token + // Rule 215: function_specifier ::= inline // case 215: { action. consumeToken(); break; } // - // Rule 219: function_specifier ::= inline - // - case 219: { action. consumeToken(); break; - } - - // - // Rule 221: declarator ::= <openscope-ast> pointer_seq direct_declarator + // Rule 217: declarator ::= <openscope-ast> pointer_seq direct_declarator // - case 221: { action. consumeDeclaratorWithPointer(true); break; + case 217: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 226: basic_direct_declarator ::= declarator_id_name + // Rule 222: basic_direct_declarator ::= declarator_id_name // - case 226: { action. consumeDirectDeclaratorIdentifier(); break; + case 222: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 227: basic_direct_declarator ::= ( declarator ) + // Rule 223: basic_direct_declarator ::= ( declarator ) // - case 227: { action. consumeDirectDeclaratorBracketed(); break; + case 223: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 228: declarator_id_name ::= identifier + // Rule 224: declarator_id_name ::= identifier // - case 228: { action. consumeIdentifierName(); break; + case 224: { action. consumeIdentifierName(); break; } // - // Rule 229: array_direct_declarator ::= basic_direct_declarator array_modifier + // Rule 225: array_direct_declarator ::= basic_direct_declarator array_modifier // - case 229: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 225: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 230: array_direct_declarator ::= array_direct_declarator array_modifier + // Rule 226: array_direct_declarator ::= array_direct_declarator array_modifier // - case 230: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 226: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 232: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list ) + // Rule 228: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list ) // - case 232: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; + case 228: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; } // - // Rule 233: function_direct_declarator ::= basic_direct_declarator ( ) + // Rule 229: function_direct_declarator ::= basic_direct_declarator ( ) // - case 233: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; + case 229: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; } // - // Rule 235: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator + // Rule 231: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator // - case 235: { action. consumeDeclaratorWithPointer(true); break; + case 231: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 236: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list ) + // Rule 232: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list ) // - case 236: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; + case 232: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; } // - // Rule 238: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator + // Rule 234: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator // - case 238: { action. consumeDeclaratorWithPointer(true); break; + case 234: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 239: identifier_list ::= identifier + // Rule 235: identifier_list ::= identifier // - case 239: { action. consumeIdentifierKnR(); break; + case 235: { action. consumeIdentifierKnR(); break; } // - // Rule 240: identifier_list ::= identifier_list , identifier + // Rule 236: identifier_list ::= identifier_list , identifier // - case 240: { action. consumeIdentifierKnR(); break; + case 236: { action. consumeIdentifierKnR(); break; } // - // Rule 241: array_modifier ::= [ ] + // Rule 237: array_modifier ::= [ ] // - case 241: { action. consumeDirectDeclaratorArrayModifier(false); break; + case 237: { action. consumeDirectDeclaratorArrayModifier(false); break; } // - // Rule 242: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ] + // Rule 238: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ] // - case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break; + case 238: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break; } // - // Rule 243: array_modifier ::= [ assignment_expression ] + // Rule 239: array_modifier ::= [ assignment_expression ] // - case 243: { action. consumeDirectDeclaratorArrayModifier(true); break; + case 239: { action. consumeDirectDeclaratorArrayModifier(true); break; } // - // Rule 244: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ] + // Rule 240: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ] // - case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break; + case 240: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break; } // - // Rule 245: array_modifier ::= [ static assignment_expression ] + // Rule 241: array_modifier ::= [ static assignment_expression ] // - case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break; + case 241: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break; } // - // Rule 246: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ] + // Rule 242: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ] // - case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; + case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; } // - // Rule 247: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ] + // Rule 243: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ] // - case 247: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; + case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; } // - // Rule 248: array_modifier ::= [ * ] + // Rule 244: array_modifier ::= [ * ] // - case 248: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break; + case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break; } // - // Rule 249: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ] + // Rule 245: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ] // - case 249: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break; + case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break; } // - // Rule 251: pointer_seq ::= pointer_hook * + // Rule 247: pointer_seq ::= pointer_hook * // - case 251: { action. consumePointer(); break; + case 247: { action. consumePointer(); break; } // - // Rule 252: pointer_seq ::= pointer_seq pointer_hook * + // Rule 248: pointer_seq ::= pointer_seq pointer_hook * // - case 252: { action. consumePointer(); break; + case 248: { action. consumePointer(); break; } // - // Rule 253: pointer_seq ::= pointer_hook * <openscope-ast> type_qualifier_list + // Rule 249: pointer_seq ::= pointer_hook * <openscope-ast> type_qualifier_list // - case 253: { action. consumePointerTypeQualifierList(); break; + case 249: { action. consumePointerTypeQualifierList(); break; } // - // Rule 254: pointer_seq ::= pointer_seq pointer_hook * <openscope-ast> type_qualifier_list + // Rule 250: pointer_seq ::= pointer_seq pointer_hook * <openscope-ast> type_qualifier_list // - case 254: { action. consumePointerTypeQualifierList(); break; + case 250: { action. consumePointerTypeQualifierList(); break; } // - // Rule 258: parameter_type_list ::= parameter_list + // Rule 254: parameter_type_list ::= parameter_list // - case 258: { action. consumeEmpty(); break; + case 254: { action. consumeEmpty(); break; } // - // Rule 259: parameter_type_list ::= parameter_list , ... + // Rule 255: parameter_type_list ::= parameter_list , ... // - case 259: { action. consumePlaceHolder(); break; + case 255: { action. consumePlaceHolder(); break; } // - // Rule 260: parameter_type_list ::= ... + // Rule 256: parameter_type_list ::= ... // - case 260: { action. consumePlaceHolder(); break; + case 256: { action. consumePlaceHolder(); break; } // - // Rule 263: parameter_declaration ::= declaration_specifiers complete_parameter_declarator + // Rule 259: parameter_declaration ::= declaration_specifiers complete_parameter_declarator // - case 263: { action. consumeParameterDeclaration(); break; + case 259: { action. consumeParameterDeclaration(); break; } // - // Rule 264: parameter_declaration ::= declaration_specifiers + // Rule 260: parameter_declaration ::= declaration_specifiers // - case 264: { action. consumeParameterDeclarationWithoutDeclarator(); break; + case 260: { action. consumeParameterDeclarationWithoutDeclarator(); break; } // - // Rule 267: type_id ::= specifier_qualifier_list + // Rule 263: type_id ::= specifier_qualifier_list // - case 267: { action. consumeTypeId(false); break; + case 263: { action. consumeTypeId(false); break; } // - // Rule 268: type_id ::= specifier_qualifier_list abstract_declarator + // Rule 264: type_id ::= specifier_qualifier_list abstract_declarator // - case 268: { action. consumeTypeId(true); break; + case 264: { action. consumeTypeId(true); break; } // - // Rule 270: abstract_declarator ::= <openscope-ast> pointer_seq + // Rule 266: abstract_declarator ::= <openscope-ast> pointer_seq // - case 270: { action. consumeDeclaratorWithPointer(false); break; + case 266: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 271: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator + // Rule 267: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator // - case 271: { action. consumeDeclaratorWithPointer(false); break; + case 267: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 275: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 271: basic_direct_abstract_declarator ::= ( abstract_declarator ) // - case 275: { action. consumeDirectDeclaratorBracketed(); break; + case 271: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 276: array_direct_abstract_declarator ::= array_modifier + // Rule 272: array_direct_abstract_declarator ::= array_modifier // - case 276: { action. consumeDirectDeclaratorArrayDeclarator(false); break; + case 272: { action. consumeDirectDeclaratorArrayDeclarator(false); break; } // - // Rule 277: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier + // Rule 273: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier // - case 277: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 273: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 278: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier + // Rule 274: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier // - case 278: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 274: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 279: function_direct_abstract_declarator ::= ( ) + // Rule 275: function_direct_abstract_declarator ::= ( ) // - case 279: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break; + case 275: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break; } // - // Rule 280: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( ) + // Rule 276: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( ) // - case 280: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; + case 276: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; } // - // Rule 281: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list ) + // Rule 277: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list ) // - case 281: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break; + case 277: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break; } // - // Rule 282: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list ) + // Rule 278: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list ) // - case 282: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; + case 278: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; } // - // Rule 283: initializer ::= assignment_expression + // Rule 279: initializer ::= assignment_expression // - case 283: { action. consumeInitializer(); break; + case 279: { action. consumeInitializer(); break; } // - // Rule 284: initializer ::= start_initializer_list { <openscope-ast> initializer_list comma_opt } end_initializer_list + // Rule 280: initializer ::= start_initializer_list { <openscope-ast> initializer_list comma_opt } end_initializer_list // - case 284: { action. consumeInitializerList(); break; + case 280: { action. consumeInitializerList(); break; } // - // Rule 285: initializer ::= { <openscope-ast> } + // Rule 281: initializer ::= { <openscope-ast> } // - case 285: { action. consumeInitializerList(); break; + case 281: { action. consumeInitializerList(); break; } // - // Rule 286: start_initializer_list ::= $Empty + // Rule 282: start_initializer_list ::= $Empty // - case 286: { action. initializerListStart(); break; + case 282: { action. initializerListStart(); break; } // - // Rule 287: end_initializer_list ::= $Empty + // Rule 283: end_initializer_list ::= $Empty // - case 287: { action. initializerListEnd(); break; + case 283: { action. initializerListEnd(); break; } // - // Rule 292: designated_initializer ::= <openscope-ast> designation = initializer + // Rule 288: designated_initializer ::= <openscope-ast> designation = initializer // - case 292: { action. consumeInitializerDesignated(); break; + case 288: { action. consumeInitializerDesignated(); break; } // - // Rule 296: designator_base ::= [ constant_expression ] + // Rule 292: designator_base ::= [ constant_expression ] // - case 296: { action. consumeDesignatorArray(); break; + case 292: { action. consumeDesignatorArray(); break; } // - // Rule 297: designator_base ::= . identifier_token + // Rule 293: designator_base ::= . identifier_token // - case 297: { action. consumeDesignatorField(); break; + case 293: { action. consumeDesignatorField(); break; } // - // Rule 298: designator ::= [ constant_expression ] + // Rule 294: designator ::= [ constant_expression ] // - case 298: { action. consumeDesignatorArray(); break; + case 294: { action. consumeDesignatorArray(); break; } // - // Rule 299: designator ::= . identifier_token + // Rule 295: designator ::= . identifier_token // - case 299: { action. consumeDesignatorField(); break; + case 295: { action. consumeDesignatorField(); break; } // - // Rule 300: translation_unit ::= external_declaration_list + // Rule 296: translation_unit ::= external_declaration_list // - case 300: { action. consumeTranslationUnit(); break; + case 296: { action. consumeTranslationUnit(); break; } // - // Rule 301: translation_unit ::= $Empty + // Rule 297: translation_unit ::= $Empty // - case 301: { action. consumeTranslationUnit(); break; + case 297: { action. consumeTranslationUnit(); break; } // - // Rule 306: external_declaration ::= ; + // Rule 302: external_declaration ::= ; // - case 306: { action. consumeDeclarationEmpty(); break; + case 302: { action. consumeDeclarationEmpty(); break; } // - // Rule 307: external_declaration ::= ERROR_TOKEN + // Rule 303: external_declaration ::= ERROR_TOKEN // - case 307: { action. consumeDeclarationProblem(); break; + case 303: { action. consumeDeclarationProblem(); break; } // - // Rule 310: function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body + // Rule 306: function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body // - case 310: { action. consumeFunctionDefinition(true); break; + case 306: { action. consumeFunctionDefinition(true); break; } // - // Rule 311: function_definition ::= <openscope-ast> function_declarator function_body + // Rule 307: function_definition ::= <openscope-ast> function_declarator function_body // - case 311: { action. consumeFunctionDefinition(false); break; + case 307: { action. consumeFunctionDefinition(false); break; } // - // Rule 312: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement + // Rule 308: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement // - case 312: { action. consumeFunctionDefinitionKnR(); break; + case 308: { action. consumeFunctionDefinitionKnR(); break; } // - // Rule 313: function_body ::= { } + // Rule 309: function_body ::= { } // - case 313: { action. consumeStatementCompoundStatement(false); break; + case 309: { action. consumeStatementCompoundStatement(false); break; } // - // Rule 314: function_body ::= { <openscope-ast> block_item_list } + // Rule 310: function_body ::= { <openscope-ast> block_item_list } // - case 314: { action. consumeStatementCompoundStatement(true); break; + case 310: { action. consumeStatementCompoundStatement(true); break; } // - // Rule 316: no_sizeof_type_name_start ::= ERROR_TOKEN + // Rule 312: no_sizeof_type_id_start ::= ERROR_TOKEN // - case 316: { action. consumeExpressionProblem(); break; + case 312: { action. consumeExpressionProblem(); break; } diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParserprs.java index c1904a80c43..8270e9e5ee5 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParserprs.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParserprs.java @@ -35,176 +35,184 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface BaseCheck { public final static short baseCheck[] = {0, 0,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,3,1,1,1,4, - 4,3,3,2,2,8,1,0,1,1, + 1,1,1,1,1,1,1,3,1,1, + 4,4,3,3,2,2,8,1,0,1, 1,2,2,2,2,2,2,2,2,2, - 4,1,4,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,3,3,3,3,3,3, - 3,3,3,3,3,1,1,2,1,0, - 1,3,1,1,1,1,1,1,1,1, - 3,4,3,2,4,1,2,1,1,1, - 2,5,7,5,1,0,7,5,9,8, - 3,2,2,2,3,2,4,2,2,2, - 2,2,1,1,1,1,2,1,2,2, - 2,1,2,2,1,2,2,1,2,2, - 1,2,2,1,3,1,3,1,1,1, + 1,4,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,3,3,3,3,3,3,3, + 3,3,3,3,1,1,2,1,0,1, + 3,1,1,1,1,1,1,1,1,3, + 4,3,2,4,1,2,1,1,1,2, + 5,7,5,1,0,7,5,9,8,3, + 2,2,2,3,2,4,2,2,2,2, + 2,1,1,1,1,2,1,2,2,2, + 1,2,2,1,2,2,1,2,2,1, + 2,2,1,3,1,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,6,8,0,0,1,1,3,3,3, - 0,1,0,1,2,4,2,1,1,1, - 3,1,1,2,3,7,8,0,1,0, - 1,3,1,3,1,1,1,1,1,1, - 3,1,1,1,1,1,3,1,2,2, - 1,5,3,1,3,5,1,3,1,3, - 2,4,3,5,4,6,6,3,5,1, - 2,3,4,5,0,1,2,1,3,1, - 1,3,2,1,1,1,1,2,1,2, - 3,1,1,1,3,1,2,2,2,3, - 4,5,1,7,3,0,0,1,1,3, - 3,4,1,1,2,3,2,3,2,1, - 0,1,2,1,1,1,1,1,2,4, - 3,6,2,4,1,1,-37,0,0,0, - 0,0,0,0,0,0,-30,0,0,0, - 0,0,0,0,0,0,-82,0,0,-2, - -4,-76,-14,0,0,0,0,-124,0,0, + 1,1,1,1,1,1,1,6,8,0, + 0,1,1,3,3,3,0,1,0,1, + 2,4,2,1,1,1,3,1,1,2, + 3,7,8,0,1,0,1,3,1,3, + 1,1,1,1,1,1,3,1,1,1, + 1,1,3,1,2,2,1,5,3,1, + 3,5,1,3,1,3,2,4,3,5, + 4,6,6,3,5,1,2,3,4,5, + 0,1,2,1,3,1,1,3,2,1, + 1,1,1,2,1,2,3,1,1,1, + 3,1,2,2,2,3,4,5,1,7, + 3,0,0,1,1,3,3,4,1,1, + 2,3,2,3,2,1,0,1,2,1, + 1,1,1,1,2,4,3,6,2,4, + 1,1,-36,0,0,0,0,0,0,0, + 0,0,0,-78,0,0,0,0,0,0, + 0,0,0,0,0,-80,-114,0,-2,0, + 0,0,0,-120,0,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,-5,0,0,0,0,0,0,0,0, - 0,0,-114,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-130,0,-141,-17, - 0,-80,0,-18,-19,0,0,-47,0,0, + 0,0,0,0,0,-4,0,-115,0,-14, + -69,-126,0,0,0,0,0,-110,0,0, 0,0,0,0,0,0,0,0,0,0, - -188,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-137,0,-116,0,-132, + 0,0,0,-6,0,0,0,0,0,0, + 0,0,0,-117,0,0,-184,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -161,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, - -31,-20,-202,-56,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-55,0, 0,0,0,0,0,0,0,0,0,0, - -48,0,0,0,0,0,0,0,0,0, - 0,-21,0,0,0,0,0,-22,-160,0, - -38,0,0,0,0,0,0,0,-83,0, - -74,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-145,0,0,0, + 0,0,0,0,0,-16,-104,-17,0,0, + 0,0,0,0,-118,0,0,0,-81,-18, + 0,-19,-74,-75,-33,0,-72,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-184,0,0,0,0,0, - 0,0,0,0,-34,0,0,0,0,0, - 0,0,0,0,-3,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-85,-23,-52,0,0, + 0,-180,0,0,0,0,0,0,0,0, + 0,0,-20,0,0,0,0,0,0,0, + 0,0,-3,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-71,0,-111,0,0,0,0,0, + 0,0,0,-51,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-34, + 0,-107,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-118,0,-133,-129,0,0, + 0,0,0,-21,-125,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-129,0,-141,0,-52, 0,0,0,0,0,0,0,0,0,0, - 0,0,-24,0,0,0,0,-27,0,0, - 0,0,0,0,0,0,0,-25,0,0, - 0,0,0,0,0,0,0,0,0,-26, - 0,-12,0,0,0,0,0,0,0,0, - 0,0,-39,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-57,0,0,0, - 0,0,0,0,0,0,-35,0,0,0, - 0,0,0,0,0,0,-58,0,0,0, + -122,0,0,0,-67,-22,0,0,0,0, + -156,0,0,0,0,0,-27,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-59,0,0,0, - 0,0,0,0,0,0,-68,0,0,0, - 0,0,0,0,0,0,-60,0,0,0, + 0,0,0,0,0,0,0,0,-23,0, + -159,0,0,0,-162,0,0,0,0,0, + -37,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,0,0,0,0,0,-57,0,0,0, + 0,0,0,0,0,0,0,-24,0,0, + 0,0,0,0,0,0,0,-58,0,0, + 0,0,0,0,0,0,0,0,-25,0, + 0,0,0,0,0,0,0,0,-59,0, + 0,0,0,0,0,0,0,0,0,-26, + 0,0,0,0,0,0,0,0,0,-60, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-61,0,0,0, - 0,0,0,0,0,0,-69,0,0,0, - 0,0,0,0,0,0,-62,0,0,0, + -86,0,0,0,0,0,0,0,0,0, + -61,0,0,0,0,0,0,0,0,0, + 0,-87,0,0,0,0,0,0,0,0, + 0,-62,0,0,0,0,0,0,0,0, + 0,0,-88,0,0,0,0,0,0,0, + 0,0,-63,0,0,0,0,0,0,0, + 0,0,0,-89,0,0,0,0,0,0, + 0,0,0,-64,0,0,0,0,0,0, + 0,0,0,0,-90,0,0,0,0,0, + 0,0,0,0,-65,0,0,0,0,0, + 0,0,0,0,0,-91,0,0,0,0, + 0,0,0,0,0,-66,0,0,0,0, + 0,0,0,0,0,0,-92,0,0,0, + 0,0,0,0,0,0,-142,0,0,0, + 0,0,0,0,0,0,0,-93,0,0, + 0,0,0,0,0,0,0,-143,0,0, + 0,0,0,0,0,0,0,0,-136,0, + 0,0,0,0,0,0,0,0,-160,0, + 0,0,0,0,0,0,0,0,0,-173, + 0,0,0,0,0,0,0,0,-183,0, + 0,0,0,0,0,0,0,0,0,-174, + 0,0,0,0,0,0,0,0,-94,0, + 0,0,-177,-95,0,-7,0,0,0,0, + 0,0,0,-191,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-63,0,0,0, - 0,0,0,0,0,0,-70,0,0,0, - 0,0,0,0,0,0,-64,0,0,0, + 0,0,0,-199,0,0,0,0,0,0, + 0,0,0,0,-133,0,0,0,0,0, + 0,0,0,0,-161,0,-182,0,0,0, + -8,0,0,0,0,0,0,0,-207,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-65,0,0,0, - 0,0,0,0,0,0,-115,0,0,0, - 0,0,0,0,0,0,-66,0,0,0, + 0,0,0,0,0,0,0,0,-119,0, + 0,0,0,0,0,0,0,0,0,-96, + 0,0,0,0,0,0,0,0,-97,-192, + 0,-98,-83,-99,0,-54,0,0,0,0, + 0,0,0,0,0,0,-128,0,0,0, + 0,0,0,-29,0,-30,0,0,-48,0, + 0,0,0,0,0,0,0,0,0,-100, + 0,0,0,0,-101,-146,-102,-103,-106,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-67,0,0,0, - 0,0,0,0,0,0,-131,0,0,0, - 0,0,0,0,0,0,-146,0,0,0, + 0,-1,-32,0,-53,-31,0,0,0,-85, + 0,0,0,0,0,0,0,-68,0,0, + 0,0,0,0,0,-121,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-147,0,0,0, - 0,0,0,0,0,0,-155,0,0,0, - 0,0,0,0,0,0,-164,0,0,0, + 0,0,0,0,0,0,0,0,-171,0, + 0,-46,0,0,0,0,0,0,0,0, + 0,0,-130,0,-188,-135,-138,-140,-147,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-187,0,0,0,0, - 0,0,0,0,0,-77,0,0,0,0, - 0,0,0,0,-6,0,0,0,0,0, - 0,-88,-89,0,-7,0,0,0,0,0, - 0,0,-195,0,0,0,0,0,0,0, + -134,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-139,-152,0,0,0, + 0,0,0,0,-5,0,0,0,0,0, + 0,0,-49,0,0,0,0,0,0,0, + 0,0,0,-158,0,-50,0,0,0,0, + 0,0,0,0,0,0,-190,0,-206,-12, + 0,0,0,0,0,0,0,0,-165,0, + -209,-178,-179,-200,-205,0,-42,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-203,0,0,0,0,0,0,0,0, - 0,-90,0,0,0,0,0,0,0,0, - -8,0,0,0,0,0,0,-108,-91,0, - -9,0,0,0,0,0,0,0,-211,0, + 0,0,0,0,0,0,0,0,-13,0, + 0,0,0,0,0,0,-43,0,0,0, + 0,0,0,0,0,0,0,-44,0,0, + 0,0,0,0,0,0,0,0,-45,0, + 0,0,0,0,0,0,0,0,0,-111, + 0,0,-47,0,0,0,0,0,0,0, + 0,0,-201,-38,0,0,0,0,0,0, + 0,0,0,0,-154,0,-163,0,0,-73, + -113,-170,-108,-189,-194,0,-76,0,-124,-185, + 0,0,0,-208,-127,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-123,0,0, - 0,0,0,0,0,0,0,-132,0,0, - 0,0,0,0,0,0,-33,0,-10,0, - 0,0,0,0,0,0,0,-54,-92,-126, - -116,-119,-93,0,-166,-94,-112,0,-150,0, + 0,0,0,0,0,0,0,0,-155,0, + 0,0,0,0,0,-172,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-9,0,0,0,0,0,0,0,-10, + 0,0,0,0,0,0,0,-11,0,0, + 0,0,0,0,0,-35,-39,0,0,0, + 0,0,0,0,0,-150,0,-40,0,0, + 0,0,0,0,0,0,0,0,-71,-149, + -197,0,-41,0,0,0,0,0,0,0, + 0,-148,0,0,-144,0,0,0,0,0, + -70,0,0,0,0,0,0,0,-112,0, + 0,-169,0,0,0,0,-77,0,0,0, + 0,0,0,-166,-15,-151,-167,0,0,-181, + -28,-168,-193,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-95,-177,0,0,0,-113,0,-196, - -87,-96,0,0,0,0,0,0,0,0, + 0,0,-79,0,0,0,0,0,0,0, + 0,0,-82,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-84,-153,0,0, + 0,0,0,0,0,-105,-198,0,0,0, + 0,0,0,-176,0,0,-186,0,0,-187, + -202,0,0,0,0,0,0,0,-175,-131, + 0,0,-203,0,-109,0,0,-123,-195,0, + 0,0,-196,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-204,0,0, + -164,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -73,0,0,-151,0,0,0,0,0,0, - 0,0,-55,0,0,0,0,0,0,0, - 0,0,-175,0,0,0,0,0,0,0, - -127,0,0,0,0,-13,0,0,0,0, - 0,0,0,0,0,0,-97,0,0,0, - -98,0,0,0,-192,-99,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-53, - 0,0,0,0,0,0,0,0,0,-145, - 0,0,0,-100,-101,-210,0,-137,0,0, - 0,0,0,0,0,0,-169,0,-102,-103, - 0,0,0,-49,0,0,0,0,0,0, - 0,0,0,-140,0,0,0,0,0,0, - 0,0,0,0,0,0,-11,0,0,0, - 0,0,0,0,-120,0,0,0,-149,0, - 0,0,0,0,0,0,-50,0,0,0, - 0,0,0,0,0,0,-128,0,-104,0, - -105,0,-106,-107,0,-110,-125,0,0,-51, 0,0,0,0,0,0,0,0,0,0, - 0,-43,0,0,0,0,0,0,0,0, - 0,-44,0,0,0,0,0,0,0,0, - 0,-45,0,0,0,0,0,0,0,0, - 0,-46,0,0,0,0,0,0,0,0, - 0,-205,-75,-78,-40,0,0,0,0,0, - 0,0,0,-41,0,0,0,0,0,0, - -148,-134,0,-136,0,0,-138,-212,0,-189, - 0,0,0,0,-117,0,0,0,0,0, - 0,0,-36,0,0,0,0,0,0,0, - 0,0,0,-109,0,0,-181,0,0,-173, 0,0,0,0,0,0,0,0,0,0, - -15,-42,0,0,0,0,0,0,-143,0, - 0,-174,-28,0,0,0,0,0,0,-153, - 0,0,0,-121,0,-29,0,0,0,0, - 0,0,-172,0,-79,0,0,0,0,0, - -122,0,0,0,0,0,0,-178,0,0, - 0,-199,0,0,0,0,0,0,0,-81, - 0,0,0,0,0,0,0,0,0,-84, - -193,0,0,-72,0,0,0,0,0,0, - 0,0,-86,-157,-190,0,0,0,0,0, - 0,0,-135,0,0,-191,0,0,0,0, - -165,-159,0,0,0,0,-180,0,0,0, - 0,0,0,-1,-179,-156,0,0,-32,0, - -154,0,-206,0,0,0,0,-163,0,-213, - 0,0,-162,-139,0,-142,-168,0,0,0, - -152,0,0,0,0,0,0,0,-182,0, - 0,0,0,0,0,-144,0,0,0,-198, - -170,-171,0,0,0,0,0,-183,-158,0, - 0,0,-167,-185,0,0,0,0,0,-176, - -186,0,0,0,0,0,0,-194,-197,0, - 0,0,0,-200,-201,-207,0,-208,-204,0, - 0,-209,0,0,0,0,0,0,0,0, 0,0,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; @@ -214,178 +222,186 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface BaseAction { public final static char baseAction[] = { - 87,10,23,23,20,20,32,32,70,70, - 1,1,1,1,2,2,2,3,3,4, - 4,4,4,4,4,4,4,51,51,71, - 71,5,5,5,5,5,5,5,5,5, - 5,5,6,6,7,7,7,7,8,8, - 8,9,9,9,11,11,11,11,11,12, - 12,12,13,13,14,14,15,15,16,16, - 17,17,18,18,19,19,19,19,19,19, - 19,19,19,19,19,19,101,41,33,88, - 88,73,73,47,102,102,102,102,102,102, - 102,103,103,103,104,104,109,109,110,110, - 105,105,106,106,106,112,112,107,107,107, - 107,108,108,108,108,108,111,111,24,24, - 24,24,24,27,27,27,79,79,74,74, - 74,74,75,75,75,76,76,76,77,77, - 77,78,78,78,113,113,114,114,115,28, - 30,30,30,30,30,52,54,54,54,54, - 54,54,54,54,54,54,54,54,64,64, - 25,25,61,61,89,90,65,65,62,62, - 62,66,80,80,81,81,67,67,67,42, - 91,91,82,83,83,83,63,63,92,84, - 84,85,85,68,68,21,22,22,22,29, - 48,48,34,34,34,34,37,37,39,35, - 35,36,40,40,116,116,38,117,117,93, - 93,26,26,26,26,26,26,26,26,26, - 86,49,49,49,49,31,56,56,55,55, - 55,57,57,50,50,94,94,60,60,58, - 58,58,43,43,43,44,45,45,45,46, - 46,46,46,53,53,53,59,95,72,72, - 72,72,69,96,97,97,98,98,99,99, - 118,118,119,119,120,120,120,120,122,122, - 121,121,121,123,123,87,87,1,14,19, - 15,343,670,44,400,370,405,201,404,492, - 462,577,498,658,643,74,91,387,134,215, - 31,14,144,743,136,133,135,159,434,14, - 19,15,343,670,44,400,370,405,399,404, - 492,462,577,498,658,643,74,283,277,138, - 57,165,530,14,19,15,343,40,142,145, - 148,151,402,358,14,19,15,343,42,35, - 341,1404,1505,1530,1540,1553,1161,744,23,312, - 157,288,191,1122,6,30,248,1479,506,14, - 19,15,343,42,44,400,1162,289,257,215, - 1294,482,14,19,15,343,670,44,400,370, - 405,399,404,492,462,577,498,658,643,74, - 283,332,14,19,15,343,670,44,400,370, - 405,399,404,492,462,577,498,658,643,74, - 283,201,605,421,506,14,19,15,343,42, - 44,400,370,405,288,404,492,462,577,1341, - 1479,506,14,19,15,343,42,44,400,1227, - 289,615,200,1630,290,1603,1571,294,684,323, - 1479,506,14,19,15,343,42,44,1042,414, - 291,275,14,19,15,343,670,44,400,370, - 405,1158,404,492,462,577,498,658,643,74, - 1127,26,22,196,241,458,14,19,15,343, - 670,44,400,370,405,489,404,492,462,577, - 498,658,643,74,283,506,14,19,15,343, - 670,44,400,370,405,1544,404,492,462,577, - 498,658,643,74,91,1315,439,344,506,14, - 19,15,343,42,44,400,370,405,292,404, - 492,462,1265,104,1479,578,14,19,15,343, - 670,44,400,370,405,1211,404,492,462,577, - 498,658,643,74,1337,326,20,189,299,14, - 19,15,343,670,44,400,370,405,341,404, - 492,462,577,498,658,643,74,1421,134,215, - 1424,242,1511,237,136,133,135,159,506,14, - 19,15,343,670,44,400,370,405,713,404, - 492,462,577,498,658,643,74,92,1494,138, - 595,165,554,14,19,15,343,33,142,145, - 148,151,402,506,14,19,15,343,42,44, - 1059,1404,1505,1530,1540,1553,1161,506,14,19, - 15,343,670,44,400,370,405,489,404,492, - 462,577,498,658,643,74,85,506,14,19, - 15,343,670,44,400,370,405,16,404,492, - 462,577,498,658,643,74,84,506,14,19, - 15,343,670,44,400,370,405,489,404,492, - 462,577,498,658,643,74,83,506,14,19, - 15,343,670,44,400,370,405,1343,404,492, - 462,577,498,658,643,74,82,506,14,19, - 15,343,670,44,400,370,405,489,404,492, - 462,577,498,658,643,74,81,506,14,19, - 15,343,670,44,400,370,405,1344,404,492, - 462,577,498,658,643,74,80,506,14,19, - 15,343,670,44,400,370,405,489,404,492, - 462,577,498,658,643,74,79,506,14,19, - 15,343,670,44,400,370,405,21,404,492, - 462,577,498,658,643,74,78,506,14,19, - 15,343,670,44,400,370,405,489,404,492, - 462,577,498,658,643,74,77,506,14,19, - 15,343,670,44,400,370,405,275,404,492, - 462,577,498,658,643,74,76,506,14,19, - 15,343,670,44,400,370,405,489,404,492, - 462,577,498,658,643,74,75,506,14,19, - 15,343,670,44,400,370,405,281,404,492, - 462,577,498,658,643,74,1631,506,14,19, - 15,343,670,44,400,370,405,489,404,492, - 462,577,498,658,643,74,1632,506,14,19, - 15,343,42,44,400,370,405,282,404,492, - 462,577,498,658,643,93,506,14,19,15, - 343,42,44,400,370,405,243,404,492,462, - 577,498,658,643,93,506,14,19,15,343, - 42,39,602,632,1644,506,14,19,15,343, - 42,38,278,506,14,19,15,343,42,44, - 400,370,405,1659,404,492,462,577,498,658, - 643,93,506,14,19,15,343,42,44,400, - 370,405,194,404,492,462,577,498,658,643, - 93,506,14,19,15,343,42,37,118,199, - 214,506,14,19,15,343,42,36,348,506, - 14,19,15,343,42,44,400,370,405,204, - 404,492,462,577,498,658,643,93,506,14, - 19,15,343,42,44,400,370,405,113,404, - 492,462,577,498,658,643,73,118,1490,506, - 14,19,15,343,42,35,205,555,118,416, - 645,307,583,465,276,323,488,104,555,207, - 1260,617,220,1184,223,1611,225,226,231,1460, - 87,269,986,342,274,1098,265,189,593,279, - 243,87,1346,490,323,276,266,285,52,1280, - 583,189,241,220,1184,223,1611,225,226,231, - 1454,261,269,986,342,274,907,1503,1422,256, - 215,124,134,215,511,1619,182,867,137,133, - 135,159,263,506,14,19,15,343,42,44, - 400,370,405,151,404,492,462,577,498,1339, - 230,52,1346,139,397,165,554,14,19,15, - 343,32,143,146,149,152,402,654,212,276, - 1454,499,256,215,1347,281,13,221,1184,223, - 1611,225,226,231,618,1593,271,986,342,274, - 506,14,19,15,343,42,44,400,370,405, - 52,404,492,1279,50,622,281,397,118,220, - 1184,223,1611,225,226,231,1593,756,1554,624, - 330,256,215,1669,506,14,19,15,343,42, - 44,400,370,405,746,404,1231,917,257,215, - 220,1184,223,1611,225,226,231,506,14,19, - 15,343,42,34,1669,583,1277,200,202,358, - 14,19,15,343,42,35,463,506,14,19, - 15,343,42,44,400,370,405,104,1236,723, - 188,690,249,97,158,499,562,728,201,202, - 506,14,19,15,343,42,44,400,370,405, - 245,1264,506,14,19,15,343,42,44,400, - 370,1119,506,14,19,15,343,42,44,400, - 370,1123,506,14,19,15,343,42,44,400, - 370,1126,506,14,19,15,343,42,44,400, - 370,1153,693,613,232,506,14,19,15,343, - 42,47,1593,1121,506,14,19,15,343,42, - 46,104,646,279,331,134,215,205,710,276, - 765,141,133,135,159,514,220,1184,223,1611, - 225,226,231,160,244,1563,269,986,342,274, - 1503,257,215,1181,242,280,140,747,165,1347, - 307,867,221,1184,223,1611,225,226,231,276, - 617,118,506,14,19,15,343,42,45,590, - 276,317,514,118,1098,1347,269,986,342,274, - 124,1346,1555,317,620,199,118,271,986,342, - 274,268,233,489,87,675,317,199,1658,1203, - 261,583,707,1443,1586,907,87,1422,612,1427, - 199,1346,489,227,707,1443,134,215,1235,87, - 680,545,144,133,135,159,190,707,1443,1203, - 709,747,232,747,409,14,19,15,343,42, - 43,134,215,714,48,718,787,147,133,135, - 159,134,215,116,617,617,142,150,133,135, - 159,559,647,617,134,215,617,647,199,1098, - 153,133,135,159,382,95,766,1098,197,441, - 199,357,1666,124,555,617,1518,1619,583,555, - 338,617,1619,729,118,261,118,52,1518,199, - 1522,677,1422,261,1572,1098,1125,87,947,730, - 1422,194,89,297,1346,315,753,1518,256,215, - 746,104,104,194,1154,1585,1607,229,768,118, - 211,262,1428,118,104,211,1665,1585,1664,1577, - 118,583,195,421,246,247,1457,1638,323,104, - 1566,1541,1638,1430,365,323,323,296,323,749, - 295,340,287,1715,1715,1715,299,827,1715,1715, - 1715,1668,298,1715,236,1715,1715,1715,1715,1715, - 206,1715,1715,1715,1715,284,1715,183,207,1715, - 1600,1715,0,17,179,0,18,178,0,1, - 1943,0,1,1954,0 + 87,11,24,24,23,23,32,32,69,69, + 1,1,2,2,2,2,3,3,3,4, + 5,5,5,5,5,5,5,5,51,51, + 70,6,6,6,6,6,6,6,6,6, + 6,7,7,8,8,8,8,9,9,9, + 10,10,10,12,12,12,12,12,13,13, + 13,14,14,15,15,16,16,17,17,18, + 18,19,19,20,20,20,20,20,20,20, + 20,20,20,20,20,101,45,40,88,88, + 73,73,46,102,102,102,102,102,102,102, + 103,103,103,104,104,109,109,110,110,105, + 105,106,106,106,112,112,107,107,107,107, + 108,108,108,108,108,111,111,25,25,25, + 25,25,27,27,27,79,79,74,74,74, + 74,75,75,75,76,76,76,77,77,77, + 78,78,78,113,113,114,114,115,28,30, + 30,30,30,30,52,54,54,54,54,54, + 54,54,54,54,54,54,54,63,60,60, + 89,90,64,64,61,61,61,65,80,80, + 81,81,66,66,66,48,91,91,82,83, + 83,83,62,62,92,84,84,85,85,67, + 67,21,22,22,22,29,47,47,33,33, + 33,33,36,36,38,34,34,35,39,39, + 116,116,37,117,117,93,93,26,26,26, + 26,26,26,26,26,26,86,49,49,49, + 49,31,56,56,55,55,55,57,57,50, + 50,94,94,71,71,58,58,58,41,41, + 41,42,43,43,43,44,44,44,44,53, + 53,53,59,95,72,72,72,72,68,96, + 97,97,98,98,99,99,118,118,119,119, + 120,120,120,120,122,122,121,121,121,123, + 123,87,87,1,811,16,20,17,370,790, + 43,488,486,502,118,500,614,543,689,656, + 769,748,73,90,133,211,387,596,400,31, + 135,132,134,158,434,19,16,20,17,370, + 790,43,488,486,502,396,500,614,543,689, + 656,769,748,73,279,137,441,164,201,185, + 579,104,698,141,144,147,150,324,358,19, + 16,20,17,370,41,35,366,1457,1597,1633, + 1643,1657,1210,253,211,21,629,284,201,184, + 124,368,244,1296,506,19,16,20,17,370, + 41,39,285,337,662,1281,979,482,19,16, + 20,17,370,790,43,488,486,502,396,500, + 614,543,689,656,769,748,73,279,332,19, + 16,20,17,370,790,43,488,486,502,396, + 500,614,543,689,656,769,748,73,279,506, + 19,16,20,17,370,41,43,488,486,502, + 284,500,614,543,689,1187,1296,358,19,16, + 20,17,370,41,35,285,57,14,157,1455, + 1297,286,1324,1085,290,201,186,1296,344,414, + 6,245,30,144,327,513,287,275,19,16, + 20,17,370,790,43,488,486,502,1695,500, + 614,543,689,656,769,748,73,1453,1581,273, + 274,237,458,19,16,20,17,370,790,43, + 488,486,502,636,500,614,543,689,656,769, + 748,73,279,506,19,16,20,17,370,790, + 43,488,486,502,398,500,614,543,689,656, + 769,748,73,90,506,19,16,20,17,370, + 41,43,488,486,502,288,500,614,543,1142, + 513,1296,554,19,16,20,17,370,790,43, + 488,486,502,1698,500,614,543,689,656,769, + 748,73,1459,18,200,299,19,16,20,17, + 370,790,43,488,486,502,366,500,614,543, + 689,656,769,748,73,1575,189,177,52,238, + 506,19,16,20,17,370,41,43,488,486, + 502,695,500,614,1144,513,191,133,211,252, + 211,587,638,135,132,134,158,506,19,16, + 20,17,370,790,43,488,486,502,1188,500, + 614,543,689,656,769,748,73,91,137,344, + 164,201,293,27,1349,587,141,144,147,150, + 324,506,19,16,20,17,370,41,43,832, + 1457,1597,1633,1643,1657,1210,506,19,16,20, + 17,370,790,43,488,486,502,281,500,614, + 543,689,656,769,748,73,84,506,19,16, + 20,17,370,790,43,488,486,502,243,500, + 614,543,689,656,769,748,73,83,506,19, + 16,20,17,370,790,43,488,486,502,171, + 500,614,543,689,656,769,748,73,82,506, + 19,16,20,17,370,790,43,488,486,502, + 547,500,614,543,689,656,769,748,73,81, + 506,19,16,20,17,370,790,43,488,486, + 502,578,500,614,543,689,656,769,748,73, + 80,506,19,16,20,17,370,790,43,488, + 486,502,194,500,614,543,689,656,769,748, + 73,79,506,19,16,20,17,370,790,43, + 488,486,502,199,500,614,543,689,656,769, + 748,73,78,506,19,16,20,17,370,790, + 43,488,486,502,416,500,614,543,689,656, + 769,748,73,77,506,19,16,20,17,370, + 790,43,488,486,502,488,500,614,543,689, + 656,769,748,73,76,506,19,16,20,17, + 370,790,43,488,486,502,490,500,614,543, + 689,656,769,748,73,75,506,19,16,20, + 17,370,790,43,488,486,502,514,500,614, + 543,689,656,769,748,73,74,506,19,16, + 20,17,370,790,43,488,486,502,241,500, + 614,543,689,656,769,748,73,1604,506,19, + 16,20,17,370,790,43,488,486,502,711, + 500,614,543,689,656,769,748,73,1607,506, + 19,16,20,17,370,41,43,488,486,502, + 587,500,614,543,689,656,769,748,92,506, + 19,16,20,17,370,41,43,488,486,502, + 421,500,614,543,689,656,769,748,92,601, + 661,1265,178,721,245,1610,506,19,16,20, + 17,370,41,38,506,19,16,20,17,370, + 41,43,488,486,502,1613,500,614,543,689, + 656,769,748,92,506,19,16,20,17,370, + 41,43,488,486,502,14,500,614,543,689, + 656,769,748,92,1337,696,1658,201,295,193, + 210,506,19,16,20,17,370,41,37,506, + 19,16,20,17,370,41,43,488,486,502, + 200,500,614,543,689,656,769,748,92,506, + 19,16,20,17,370,41,43,488,486,502, + 13,500,614,543,689,656,769,748,72,50, + 201,1352,614,439,671,201,506,19,16,20, + 17,370,41,43,488,486,502,113,500,614, + 543,689,656,1185,201,30,201,30,1560,506, + 19,16,20,17,370,41,43,488,486,502, + 305,500,1034,272,291,324,207,600,97,676, + 216,1269,219,1572,221,222,227,1592,265,504, + 503,270,382,14,261,14,489,208,495,275, + 189,177,272,553,553,262,553,553,513,216, + 1269,219,1572,221,222,227,737,265,504,503, + 270,133,211,1612,24,414,23,136,132,134, + 158,22,86,86,1420,86,88,311,371,151, + 1180,259,506,19,16,20,17,370,41,43, + 488,958,138,670,164,281,14,14,707,499, + 142,145,148,151,324,272,1681,1489,695,1721, + 1226,205,217,1269,219,1572,221,222,227,339, + 267,504,503,270,1218,226,738,739,216,1269, + 219,1572,221,222,227,530,19,16,20,17, + 370,40,1354,506,19,16,20,17,370,41, + 43,488,486,502,697,1130,506,19,16,20, + 17,370,41,43,488,486,502,587,1139,281, + 530,19,16,20,17,370,33,196,198,710, + 1681,158,700,724,712,287,1667,506,19,16, + 20,17,370,41,43,488,486,874,1796,202, + 253,211,216,1269,219,1572,221,222,227,530, + 19,16,20,17,370,32,1354,506,19,16, + 20,17,370,41,43,488,486,895,506,19, + 16,20,17,370,41,43,488,486,916,506, + 19,16,20,17,370,41,43,488,486,937, + 513,197,198,506,19,16,20,17,370,41, + 43,488,1029,728,506,19,16,20,17,370, + 41,43,853,271,1681,14,280,14,1796,1796, + 326,679,679,104,721,711,1674,232,417,104, + 719,1589,1690,1677,733,513,216,1269,219,1572, + 221,222,227,275,276,229,272,239,133,211, + 1612,253,211,241,140,132,134,158,277,612, + 1352,265,504,503,270,1226,14,217,1269,219, + 1572,221,222,227,1796,1693,1718,1680,1420,139, + 1796,164,506,19,16,20,17,370,41,36, + 506,19,16,20,17,370,41,35,506,19, + 16,20,17,370,41,34,160,506,19,16, + 20,17,370,41,46,1796,357,1559,506,19, + 16,20,17,370,41,45,207,636,1796,44, + 44,587,272,506,19,16,20,17,370,41, + 44,1157,720,1033,1353,104,1796,265,504,503, + 270,409,19,16,20,17,370,41,42,567, + 1189,1189,567,179,264,1796,258,627,225,240, + 636,1796,1796,636,104,14,513,104,1666,1249, + 104,14,513,104,1157,1796,313,1157,133,211, + 1189,1796,313,1189,143,132,134,158,242,278, + 195,243,1796,632,292,223,195,294,1666,257, + 1796,1249,257,661,1465,86,1263,1465,1796,1263, + 590,86,1796,1536,133,211,590,666,48,1536, + 146,132,134,158,133,211,242,446,1796,636, + 149,132,134,158,612,1352,505,588,133,211, + 142,44,655,195,152,132,134,158,636,95, + 116,636,272,587,1796,52,1796,1226,52,513, + 636,636,1157,365,1796,195,1020,267,504,503, + 270,1796,1189,1796,195,1157,252,211,587,252, + 211,52,228,1796,190,203,232,257,1020,1796, + 1464,1796,1699,1796,1263,1796,192,1020,1000,1689, + 257,207,252,211,1796,1606,190,1263,1796,1796, + 1351,372,1796,1796,372,191,1796,1796,1454,1353, + 1561,1689,1796,1796,1796,1796,1796,1796,1796,1796, + 1703,1796,1796,1796,1796,1796,1796,1460,1796,1796, + 1796,615,1796,1796,947,1796,0,19,177,0, + 1,2020,0,1,2031,0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -399,7 +415,7 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 10,11,0,0,14,15,16,17,18,19, 20,21,22,23,24,25,26,27,28,0, 0,31,32,33,34,35,36,37,38,39, - 40,41,42,30,44,45,46,0,1,0, + 40,41,42,0,44,45,46,0,1,0, 3,0,5,6,7,8,0,6,7,8, 55,56,57,58,17,9,10,55,56,57, 58,24,25,26,27,28,47,48,31,32, @@ -412,76 +428,73 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 46,0,1,0,3,51,5,6,7,8, 0,1,2,50,4,12,0,0,17,0, 4,2,12,4,49,24,25,26,27,28, - 13,12,31,32,33,34,35,36,37,38, + 0,12,31,32,33,34,35,36,37,38, 39,40,41,42,43,44,45,46,0,1, 0,3,51,0,6,7,8,4,0,0, 0,1,4,3,0,17,0,1,2,53, 54,5,24,25,26,27,28,13,12,31, 32,33,34,35,36,37,38,39,40,41, - 42,0,44,45,46,29,0,6,7,8, - 0,0,0,2,2,4,53,54,17,9, - 10,53,54,12,12,24,25,26,27,28, + 42,0,44,45,46,65,30,6,7,8, + 0,0,0,2,0,4,53,54,17,9, + 10,53,54,12,64,24,25,26,27,28, 61,62,31,32,33,34,35,36,37,38, 39,40,41,42,0,1,2,3,4,5, 0,1,2,9,10,11,0,1,14,15, 16,17,18,19,20,21,22,23,0,1, - 2,3,4,5,68,69,0,9,10,11, - 4,0,14,15,16,17,18,19,20,21, - 22,23,0,12,50,0,1,5,3,0, - 0,0,1,2,3,4,5,0,13,59, + 2,3,4,5,0,61,62,9,10,11, + 68,69,14,15,16,17,18,19,20,21, + 22,23,0,0,50,0,0,2,2,0, + 5,0,1,2,3,4,5,12,12,59, 9,10,11,0,13,14,15,16,50,18, - 19,20,21,22,23,49,0,0,1,2, - 3,4,5,52,0,43,9,10,11,5, + 19,20,21,22,23,30,0,0,1,2, + 3,4,5,59,0,0,9,10,11,5, 0,14,15,16,43,18,19,20,21,22, - 23,0,1,2,3,4,0,1,59,3, + 23,0,1,2,3,4,0,1,65,3, 9,10,11,29,30,14,15,16,0,18, 19,20,21,22,23,49,63,50,0,1, 2,3,4,0,1,0,3,9,10,11, 0,13,14,15,16,5,18,19,20,21, 22,23,51,0,1,2,3,4,0,1, - 0,3,9,10,11,5,13,14,15,16, - 30,18,19,20,21,22,23,0,1,2, + 0,3,9,10,11,0,13,14,15,16, + 5,18,19,20,21,22,23,0,1,2, 3,4,47,48,0,0,9,10,11,29, - 13,14,15,16,0,18,19,20,21,22, + 13,14,15,16,29,18,19,20,21,22, 23,0,1,2,3,4,66,0,0,0, 9,10,11,5,13,14,15,16,0,18, 19,20,21,22,23,0,1,2,3,4, - 0,47,48,0,9,10,11,29,5,14, - 15,16,12,18,19,20,21,22,23,0, + 12,66,0,0,9,10,11,5,30,14, + 15,16,0,18,19,20,21,22,23,0, 1,2,3,4,47,48,47,48,9,10, - 11,0,29,14,15,16,5,18,19,20, - 21,22,23,0,1,2,3,4,0,61, - 62,0,9,10,11,4,0,14,15,16, - 12,18,19,20,21,22,23,0,1,2, - 3,4,0,1,43,3,9,10,11,0, - 0,14,15,16,0,18,19,20,21,22, - 23,0,13,2,0,4,5,6,7,8, - 52,0,0,12,2,11,5,5,17,0, - 1,0,3,0,12,24,25,26,27,28, - 29,0,13,2,11,4,5,6,7,8, - 0,29,0,12,0,0,0,1,17,3, - 6,7,8,0,60,24,25,26,27,28, - 29,0,9,10,70,71,72,73,74,75, - 76,77,78,79,0,30,0,66,2,0, - 6,7,8,0,63,6,7,8,12,0, - 0,17,0,1,2,0,17,0,24,25, - 26,27,28,24,25,26,27,28,0,0, - 1,2,0,0,6,7,8,0,1,6, - 7,8,0,0,1,17,3,0,0,0, - 17,4,24,25,26,27,28,24,25,26, - 27,28,0,0,2,0,0,64,0,6, - 7,8,0,64,12,0,14,15,6,7, - 8,6,7,8,0,0,49,0,0,0, - 6,7,8,0,0,30,30,65,13,0, - 0,13,13,0,0,0,13,65,60,60, - 0,0,0,0,52,0,0,30,0,0, - 0,0,0,0,0,0,0,59,0,67, + 11,0,30,14,15,16,0,18,19,20, + 21,22,23,0,1,2,3,4,0,0, + 47,48,9,10,11,0,0,14,15,16, + 4,18,19,20,21,22,23,0,0,2, + 2,4,5,6,7,8,0,0,1,12, + 12,5,14,15,17,0,1,0,3,0, + 0,24,25,26,27,28,60,30,13,9, + 10,0,1,0,3,49,70,71,72,73, + 74,75,76,77,78,79,0,0,0,43, + 52,0,6,7,8,0,49,6,7,8, + 12,0,1,17,3,67,11,0,17,0, + 24,25,26,27,28,24,25,26,27,28, + 0,0,1,64,3,0,6,7,8,0, + 0,6,7,8,13,0,63,17,0,4, + 52,11,17,5,24,25,26,27,28,24, + 25,26,27,28,0,0,0,0,29,0, + 6,7,8,6,7,8,0,12,30,0, + 0,0,6,7,8,6,7,8,0,0, + 0,2,0,0,6,7,8,0,1,2, + 0,12,0,1,2,5,0,0,0,29, + 4,0,0,0,0,0,0,52,0,29, + 13,13,29,0,13,13,60,13,0,60, 0,0,0,0,0,0,0,0,0,0, + 59,0,0,43,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,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; @@ -489,87 +502,84 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface TermAction { public final static char termAction[] = {0, - 1715,1002,1471,1003,1109,59,1931,1932,1933,1061, - 1051,1307,61,88,1216,672,372,1877,1725,1726, - 1727,1728,1005,995,1878,1876,1934,1879,1875,54, - 1715,1882,1887,1886,1884,1885,1883,1888,1889,1881, - 1890,1891,1892,648,576,509,337,1715,1,60, - 1,1715,193,1,1,1,51,1931,1932,1933, - 1392,1382,1372,1362,1,683,501,1392,1382,1372, - 1362,1,1,1,1,1,408,481,1,1, + 1796,1806,1605,1807,1520,58,2008,2009,2010,1512, + 1091,1528,60,1,1379,1340,1305,1957,1808,1809, + 1810,1811,1036,404,1958,1956,2011,1959,1955,53, + 1796,1962,1967,1966,1964,1965,1963,1968,1969,1961, + 1970,1971,1972,251,1143,499,336,1796,1,59, + 1,1796,189,1,1,1,50,2008,2009,2010, + 1409,1398,1387,1357,1,1434,701,1409,1398,1387, + 1357,1,1,1,1,1,1252,1423,1,1, 1,1,1,1,1,1,1,1,1,1, - 193,1,1,1,1715,1,41,1,1913,192, - 1,1,1,1715,1392,1382,1372,1362,1718,1058, - 1702,1,264,1943,1129,1,1,1,1,1, - 1,1,1,255,511,1,1,1,1,1, - 1,1,1,1,1,1,1,192,1,1, - 1,1715,1,273,1,1913,193,1,1,1, - 270,1943,1129,1717,255,511,48,1715,1,267, - 1472,1403,511,1,1975,1,1,1,1,1, - 1058,511,1,1,1,1,1,1,1,1, - 1,1,1,1,193,1,1,1,1715,1894, - 184,1893,1913,50,1931,1932,1933,1472,49,62, - 1715,1744,1472,1745,1715,1877,1,1709,1129,1414, - 1405,1720,1878,1876,1934,1879,1875,1639,511,1882, - 1887,1886,1884,1885,1883,1888,1889,1881,1890,1891, - 1892,128,576,509,337,1719,72,1931,1932,1933, - 53,270,272,1403,1435,255,1414,1405,1877,683, - 501,1414,1405,511,511,1878,1876,1934,1879,1875, - 1350,1327,1882,1887,1886,1884,1885,1883,1888,1889, - 1881,1890,1891,1892,1,1732,1471,1733,383,1718, - 1,1943,1402,1061,1051,1307,1715,1955,1216,672, - 372,595,1725,1726,1727,1728,1005,995,1715,1732, - 1471,1733,1319,1718,1193,1118,1,1061,1051,1307, - 255,1715,1216,672,372,937,1725,1726,1727,1728, - 1005,995,1715,957,1717,1715,1895,1722,1896,1715, - 185,1,1732,1471,1733,1109,27,287,1268,1032, - 1061,1051,1307,66,2573,1216,672,372,1717,1725, - 1726,1727,1728,1005,995,1975,1,1715,1732,1471, - 1733,1109,1718,1598,1715,1721,1061,1051,1307,1720, - 1715,1216,672,372,27,1725,1726,1727,1728,1005, - 995,1715,1,1,1,1,187,2800,1088,2800, - 1,1,1,1719,1672,1,1,1,1715,1, - 1,1,1,1,1,1974,1250,1717,1715,1732, - 1471,1733,1109,186,2801,58,2801,1061,1051,1307, - 1715,1058,1216,672,372,1724,1725,1726,1727,1728, - 1005,995,2031,1,1732,1471,1733,1109,208,2805, - 1,2805,1061,1051,1307,90,2573,1216,672,372, - 1266,1725,1726,1727,1728,1005,995,1715,1732,1471, - 1733,1109,408,481,57,1715,1061,1051,1307,90, - 2573,1216,672,372,1715,1725,1726,1727,1728,1005, - 995,1,1732,1471,1733,1109,1723,56,1715,55, - 1061,1051,1307,1720,2573,1216,672,372,63,1725, - 1726,1727,1728,1005,995,1715,1732,1471,1733,1109, - 222,408,481,1,1061,1051,1307,1719,1720,1216, - 672,372,511,1725,1726,1727,1728,1005,995,1715, - 1732,1483,1733,1109,408,481,408,481,1061,1051, - 1307,286,1719,1216,672,372,1606,1725,1726,1727, - 1728,1005,995,1715,1732,1496,1733,1109,293,1350, - 1327,1715,1061,1051,1307,1120,1715,1216,672,372, - 976,1725,1726,1727,1728,1005,995,1,1732,1471, - 1733,1109,1715,1895,1606,1896,1061,1051,1307,1715, - 1715,1216,672,372,42,1725,1726,1727,1728,1005, - 995,17,1643,1703,64,1703,1703,179,179,179, - 1651,1,1,1703,1403,1284,1724,1720,179,1715, - 1895,67,1896,65,511,179,179,179,179,179, - 1703,18,1604,1706,1284,1706,1706,178,178,178, - 1715,1719,1715,1706,251,258,210,1895,178,1896, - 1,1,1,52,897,178,178,178,178,178, - 1706,1715,683,501,877,857,837,817,797,757, - 777,737,717,697,129,1591,224,1723,1482,130, - 1931,1932,1933,68,1250,1931,1932,1933,511,69, - 1715,1877,1,1943,1402,1715,1877,1715,1878,1876, - 1934,1879,1875,1878,1876,1934,1879,1875,131,255, - 1943,1402,70,132,1931,1932,1933,1,1712,1931, - 1932,1933,71,209,1160,1877,1160,1715,1715,213, - 1877,1626,1878,1876,1934,1879,1875,1878,1876,1934, - 1879,1875,31,250,1589,28,28,578,203,1931, - 1932,1933,252,578,1107,253,1739,1740,1,1, - 1,1931,1932,1933,254,1715,1975,209,191,191, - 1931,1932,1933,191,1715,441,1742,464,1650,1715, - 1715,187,186,1715,1715,1715,208,464,535,1013, - 1715,1715,1715,1715,461,1715,1715,2755,1715,1715, - 1715,1715,1715,1715,1715,1715,1715,1069,1715,327 + 189,1,1,1,1796,1,1796,1,1990,188, + 1,1,1,1796,1409,1398,1387,1357,1799,487, + 1786,1,260,2020,1186,1,1,180,1,1, + 1,1,1,181,507,1,1,1,1,1, + 1,1,1,1,1,1,1,188,1,1, + 1,1796,1,269,1,1990,189,1,1,1, + 266,2020,1186,1798,251,507,47,283,1,263, + 1563,1450,507,1,2052,1,1,1,1,1, + 69,507,1,1,1,1,1,1,1,1, + 1,1,1,1,189,1,1,1,1796,1806, + 67,1807,1990,49,2008,2009,2010,1563,48,61, + 1796,1806,1563,1807,1796,1957,1,1790,1186,1548, + 1537,1801,1958,1956,2011,1959,1955,1445,507,1962, + 1967,1966,1964,1965,1963,1968,1969,1961,1970,1971, + 1972,127,1143,499,336,459,1800,2008,2009,2010, + 52,266,71,1450,62,251,1548,1537,1957,1434, + 701,1548,1537,507,574,1958,1956,2011,1959,1955, + 1326,1313,1962,1967,1966,1964,1965,1963,1968,1969, + 1961,1970,1971,1972,1,1806,1605,1807,378,1799, + 1,2020,1433,1512,1091,1528,1796,2032,1379,1340, + 1305,592,1808,1809,1810,1811,1036,404,1796,1806, + 1605,1807,477,1799,1796,1326,1313,1512,1091,1528, + 1146,1205,1379,1340,1305,968,1808,1809,1810,1811, + 1036,404,1796,70,1798,1,268,1450,1451,1796, + 1801,1,1806,1605,1807,1520,28,507,507,1064, + 1512,1091,1528,65,2839,1379,1340,1305,1798,1808, + 1809,1810,1811,1036,404,1800,1,1796,1806,1605, + 1807,1520,1799,1119,1796,1796,1512,1091,1528,1801, + 1796,1379,1340,1305,28,1808,1809,1810,1811,1036, + 404,1796,1,1,1,1,183,2850,459,2850, + 1,1,1,1355,1800,1,1,1,1796,1, + 1,1,1,1,1,2051,640,1798,1796,1806, + 1605,1807,1520,182,2851,57,2851,1512,1091,1528, + 1,487,1379,1340,1305,1805,1808,1809,1810,1811, + 1036,404,2108,1,1806,1605,1807,1520,204,2853, + 87,2853,1512,1091,1528,1796,2839,1379,1340,1305, + 1805,1808,1809,1810,1811,1036,404,1796,1806,1605, + 1807,1520,1252,1423,1796,1796,1512,1091,1528,667, + 2839,1379,1340,1305,1339,1808,1809,1810,1811,1036, + 404,1,1806,1605,1807,1520,1804,56,1,55, + 1512,1091,1528,89,2839,1379,1340,1305,218,1808, + 1809,1810,1811,1036,404,1796,1806,1605,1807,1520, + 507,1804,1796,54,1512,1091,1528,1801,89,1379, + 1340,1305,1796,1808,1809,1810,1811,1036,404,1796, + 1806,1611,1807,1520,1252,1423,1252,1423,1512,1091, + 1528,1796,1800,1379,1340,1305,41,1808,1809,1810, + 1811,1036,404,1,1806,1605,1807,1520,1796,1796, + 1252,1423,1512,1091,1528,1796,1,1379,1340,1305, + 251,1808,1809,1810,1811,1036,404,19,31,1787, + 1206,1787,1787,177,177,177,1796,1,1793,1787, + 1203,1803,1821,1822,177,1796,1806,1796,1807,68, + 51,177,177,177,177,177,926,1787,1075,1434, + 701,206,1806,66,1807,2052,905,884,863,842, + 821,779,800,758,737,716,128,1796,1796,1802, + 1166,129,2008,2009,2010,63,2052,2008,2009,2010, + 989,205,1140,1957,1140,1164,1169,1796,1957,1796, + 1958,1956,2011,1959,1955,1958,1956,2011,1959,1955, + 130,1796,1806,574,1807,131,2008,2009,2010,254, + 64,2008,2009,2010,1266,1796,640,1957,1,651, + 691,1169,1957,1801,1958,1956,2011,1959,1955,1958, + 1956,2011,1959,1955,247,289,1796,246,1546,209, + 1,1,1,2008,2009,2010,248,1009,1800,249, + 29,199,1,1,1,2008,2009,2010,250,220, + 29,1452,1796,205,2008,2009,2010,1,2020,1433, + 282,507,251,2020,1433,1267,1796,1796,1796,438, + 1268,187,187,1796,187,1796,1796,1087,1796,1824, + 1447,1496,2750,1796,183,182,532,204,1796,1044, + 1796,1796,1796,1796,1796,1796,1796,1796,1796,1796, + 1099,1796,1796,1267 }; }; public final static char termAction[] = TermAction.termAction; @@ -577,28 +587,27 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Asb { public final static char asb[] = {0, - 377,1,76,41,76,76,76,76,76,76, - 76,76,76,3,325,236,233,240,238,246, - 244,248,247,250,249,10,76,325,325,291, - 291,395,76,159,159,319,325,76,76,76, - 76,76,76,76,76,76,76,76,76,76, - 76,76,76,76,76,76,76,76,76,76, - 76,76,76,76,76,76,76,159,159,159, - 45,52,323,70,261,157,156,294,306,66, - 306,66,66,306,66,306,339,113,113,233, - 233,238,238,238,238,236,236,244,240,240, - 247,246,426,249,248,221,68,50,319,323, - 93,45,362,74,159,162,264,66,291,291, - 66,291,76,50,323,314,362,45,73,70, - 159,317,339,158,266,68,191,68,414,416, - 374,218,68,314,362,76,76,45,74,261, - 421,420,323,266,159,68,191,414,414,218, - 48,431,291,76,373,218,50,362,314,45, - 45,159,162,264,317,191,218,366,191,414, - 416,428,416,52,45,291,76,50,314,266, - 191,368,416,218,76,291,45,416,159,158, - 218,257,76,256,89,323,218,218,292,368, - 76,89,416 + 231,1,104,41,104,104,104,104,104,104, + 104,104,104,3,380,73,70,77,75,83, + 81,85,84,87,86,10,104,380,309,309, + 249,104,187,187,337,380,104,104,104,104, + 104,104,104,104,104,104,104,104,104,104, + 104,104,104,104,104,104,104,104,104,104, + 104,104,104,104,104,104,187,187,45,52, + 341,98,279,185,184,312,324,66,324,66, + 66,324,66,324,394,141,70,70,75,75, + 75,75,73,73,81,77,77,84,83,349, + 86,85,68,50,337,341,121,45,417,102, + 187,351,282,66,309,309,66,309,104,50, + 341,332,417,45,101,98,187,335,394,186, + 284,68,197,68,268,270,228,224,68,332, + 417,104,104,45,102,279,344,343,341,284, + 187,68,197,268,268,224,48,277,309,104, + 227,224,50,417,332,45,45,187,351,282, + 335,197,224,190,197,268,270,274,270,52, + 45,309,104,50,332,284,197,192,270,224, + 104,309,45,270,187,186,224,94,104,93, + 117,341,224,224,310,192,104,117,270 }; }; public final static char asb[] = Asb.asb; @@ -610,46 +619,44 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 4,9,10,53,54,47,48,55,56,57, 58,61,62,63,64,65,68,69,43,60, 70,71,72,73,74,76,75,77,78,79, - 59,29,80,30,50,5,0,5,43,12, + 59,30,80,29,50,5,0,5,43,12, 52,14,15,11,4,9,10,22,23,16, - 2,18,19,20,21,1,3,13,0,6, - 7,8,17,50,5,18,19,20,21,3, - 14,15,11,9,10,22,23,16,4,2, - 1,0,6,7,8,2,18,19,20,21, - 1,3,14,15,11,4,9,10,22,23, - 16,0,7,17,28,8,27,26,25,6, - 24,52,67,14,15,11,9,10,53,54, - 47,48,55,56,57,58,61,62,63,64, - 65,68,69,60,70,71,72,73,74,75, - 76,77,78,79,4,2,12,30,29,5, - 0,4,24,31,6,32,44,25,33,26, - 34,35,27,7,36,37,17,45,28,46, - 38,39,8,40,41,42,1,3,49,0, - 24,31,6,32,44,25,33,26,34,35, - 27,7,36,37,17,45,28,46,38,39, - 8,40,41,42,1,3,51,5,43,0, - 60,70,71,72,73,74,75,76,77,78, - 79,13,4,53,54,9,10,48,47,55, - 56,57,58,61,62,11,63,64,65,50, - 29,43,80,68,69,59,66,5,30,0, - 4,2,12,29,5,24,31,6,32,44, - 25,33,26,34,35,27,7,36,37,17, - 45,28,46,38,39,8,40,41,42,49, - 3,1,0,39,31,36,34,35,33,32, - 37,38,40,41,42,59,66,28,25,17, - 24,27,26,6,7,8,30,1,5,29, - 2,12,4,0,16,18,19,20,21,2, - 14,15,11,4,9,10,22,23,3,1, - 44,45,46,39,31,36,34,35,33,32, - 37,38,40,41,42,28,25,17,24,27, - 26,6,7,8,0,66,5,4,1,2, - 59,0,60,12,52,0,16,18,19,20, - 21,1,3,2,14,15,11,4,9,10, - 22,23,51,0,5,29,16,18,19,20, - 21,1,3,2,14,15,11,4,9,10, - 22,23,0,1,3,5,43,30,0,2, - 5,30,29,66,12,59,0,5,30,43, - 60,0 + 2,18,19,20,21,1,3,13,0,4, + 53,54,9,10,48,47,55,56,57,58, + 61,62,11,63,64,65,50,30,43,80, + 68,69,59,66,5,29,0,6,7,8, + 17,50,5,18,19,20,21,3,14,15, + 11,9,10,22,23,16,4,2,1,0, + 6,7,8,2,18,19,20,21,1,3, + 14,15,11,4,9,10,22,23,16,0, + 7,17,28,8,27,26,25,6,24,52, + 67,14,15,11,9,10,53,54,47,48, + 55,56,57,58,61,62,63,64,65,68, + 69,60,70,71,72,73,74,75,76,77, + 78,79,4,2,12,29,30,5,0,66, + 5,4,1,2,59,0,24,31,6,32, + 44,25,33,26,34,35,27,7,36,37, + 17,45,28,46,38,39,8,40,41,42, + 1,3,51,5,43,0,60,12,52,0, + 16,18,19,20,21,1,3,2,14,15, + 11,4,9,10,22,23,51,0,5,30, + 16,18,19,20,21,1,3,2,14,15, + 11,4,9,10,22,23,0,1,3,5, + 43,29,0,5,29,43,60,0,4,2, + 12,30,5,24,31,6,32,44,25,33, + 26,34,35,27,7,36,37,17,45,28, + 46,38,39,8,40,41,42,49,3,1, + 0,39,31,36,34,35,33,32,37,38, + 40,41,42,59,66,28,25,17,24,27, + 26,6,7,8,29,1,5,30,2,12, + 4,0,2,5,29,30,66,12,59,0, + 4,24,31,6,32,44,25,33,26,34, + 35,27,7,36,37,17,45,28,46,38, + 39,8,40,41,42,1,3,49,0,16, + 18,19,20,21,2,14,15,11,4,9, + 10,22,23,1,3,44,45,46,39,31, + 36,34,35,33,32,37,38,40,41,42, + 28,25,17,24,27,26,6,7,8,0 }; }; public final static byte asr[] = Asr.asr; @@ -657,28 +664,27 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Nasb { public final static byte nasb[] = {0, - 103,9,23,9,23,23,23,23,23,23, - 23,23,23,9,86,9,9,9,9,9, - 9,9,9,9,9,9,23,86,86,10, - 10,110,87,80,80,73,1,23,23,23, - 23,23,23,23,23,23,23,23,23,23, - 23,23,23,87,23,23,23,23,23,23, - 23,23,23,23,23,23,23,80,80,80, - 29,23,61,27,72,12,12,58,59,18, - 59,32,32,59,31,59,53,9,9,9, - 9,9,9,9,9,9,9,9,9,9, - 9,9,9,9,9,9,9,49,82,9, - 34,29,51,28,80,39,79,37,37,37, - 37,37,23,21,9,49,51,29,28,14, - 80,45,2,9,41,77,49,9,49,70, - 16,49,9,49,51,23,23,29,28,44, - 12,12,61,41,80,9,93,49,37,25, - 20,9,37,23,101,25,49,51,14,29, - 29,80,39,79,64,49,25,90,106,37, - 70,9,9,22,29,37,23,21,14,97, - 93,47,70,25,23,37,29,70,80,80, - 25,91,23,9,47,61,25,25,9,47, - 23,66,113 + 60,38,20,38,20,20,20,20,20,20, + 20,20,20,38,98,38,38,38,38,38, + 38,38,38,38,38,38,20,98,51,51, + 63,99,88,88,83,1,20,20,20,20, + 20,20,20,20,20,20,20,20,20,20, + 20,20,99,20,20,20,20,20,20,20, + 20,20,20,20,20,20,88,88,26,20, + 90,24,82,22,22,71,72,9,72,49, + 49,72,48,72,66,38,38,38,38,38, + 38,38,38,38,38,38,38,38,38,38, + 38,38,38,58,106,38,28,26,118,25, + 88,93,87,7,7,7,7,7,20,18, + 38,58,118,26,25,11,88,54,31,38, + 95,15,58,38,58,41,13,58,38,58, + 118,20,20,26,25,53,22,22,90,95, + 88,38,102,58,7,39,17,38,7,20, + 46,39,58,118,11,26,26,88,93,87, + 74,58,39,43,114,7,41,38,38,19, + 26,7,20,18,11,110,102,56,41,39, + 20,7,26,41,88,88,39,44,20,38, + 56,90,39,39,38,56,20,76,80 }; }; public final static byte nasb[] = Nasb.nasb; @@ -686,18 +692,18 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Nasr { public final static char nasr[] = {0, - 4,79,78,77,76,65,75,74,0,71, - 0,26,0,21,0,97,0,89,0,69, - 10,59,4,0,32,0,10,4,23,0, - 92,66,0,4,10,0,25,0,31,49, - 10,24,0,20,45,44,37,35,10,0, - 56,0,65,61,62,63,64,52,27,0, - 31,49,0,45,44,37,35,31,0,51, - 0,20,44,45,10,0,90,0,10,20, - 0,45,44,31,0,42,10,41,0,10, - 70,0,81,10,42,0,93,10,24,0, - 99,0,10,87,0,10,42,67,0,10, - 88,0,95,0 + 79,77,76,64,75,74,1,0,89,0, + 21,0,97,0,90,0,68,11,59,5, + 0,26,0,11,5,24,0,5,11,0, + 79,78,77,76,64,75,74,0,32,0, + 51,0,11,69,0,99,0,92,65,0, + 70,0,23,43,42,36,34,11,0,11, + 87,0,11,88,0,64,60,61,62,63, + 52,27,0,43,42,36,34,31,0,95, + 0,23,42,43,11,0,11,23,0,31, + 49,0,31,49,11,25,0,48,11,45, + 0,81,11,48,0,43,42,31,0,93, + 11,25,0,11,48,66,0,56,0 }; }; public final static char nasr[] = Nasr.nasr; @@ -707,7 +713,7 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public final static char terminalIndex[] = {0, 85,2,86,9,87,48,64,76,10,11, 8,1,3,6,7,68,69,81,82,83, - 84,12,13,44,55,60,63,72,90,42, + 84,12,13,44,55,60,63,72,42,90, 47,52,56,61,62,66,67,74,75,78, 79,80,91,54,70,73,16,17,30,89, 93,4,14,15,18,19,20,21,29,31, @@ -722,14 +728,14 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface NonterminalIndex { public final static char nonterminalIndex[] = {0, - 0,0,0,101,105,106,107,108,109,0, - 110,111,112,113,114,115,116,117,118,97, - 129,0,96,122,121,150,128,0,0,0, - 0,98,0,146,148,0,149,0,0,0, - 100,141,159,160,161,0,120,137,147,156, - 0,131,136,0,151,154,155,158,0,103, - 132,133,134,135,138,0,140,145,162,99, - 102,104,119,123,124,125,126,127,130,0, + 100,0,0,0,102,106,107,108,109,110, + 0,111,112,113,114,115,116,117,118,119, + 129,0,97,96,122,150,128,0,0,0, + 0,98,146,148,0,149,0,0,0,0, + 159,160,161,0,101,121,137,141,147,156, + 0,131,136,0,151,154,155,158,0,132, + 133,134,135,138,0,140,145,162,99,103, + 104,105,120,123,124,125,126,127,130,0, 139,143,0,0,144,153,95,0,0,0, 142,0,152,157,0,163,164,0,165,0, 0,0,0,0,0,0,0,0,0,0, @@ -742,10 +748,10 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopePrefix { public final static char scopePrefix[] = { - 82,113,162,92,35,41,121,12,136,21, - 51,69,28,47,103,158,177,181,145,1, - 1,32,56,79,185,6,107,152,127,152, - 99,59,59,59 + 82,113,158,92,35,41,121,12,136,21, + 51,69,28,47,103,173,177,145,1,1, + 32,56,79,181,6,107,152,127,152,99, + 59,59,59 }; }; public final static char scopePrefix[] = ScopePrefix.scopePrefix; @@ -754,9 +760,9 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeSuffix { public final static char scopeSuffix[] = { 90,90,90,90,4,4,90,18,142,26, - 4,26,26,4,101,26,26,4,149,4, - 4,26,4,26,26,9,110,155,130,170, - 101,66,61,74 + 4,26,26,4,101,26,4,149,4,4, + 26,4,26,26,9,110,155,130,166,101, + 66,61,74 }; }; public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix; @@ -764,10 +770,10 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeLhs { public final static char scopeLhs[] = { - 63,61,4,63,26,26,61,53,106,46, - 26,40,46,26,67,5,4,4,18,99, - 98,44,26,37,2,69,67,6,107,4, - 67,40,38,40 + 62,60,5,62,26,26,60,53,106,44, + 26,39,44,26,66,5,5,19,99,98, + 42,26,36,3,68,66,7,107,5,66, + 39,37,39 }; }; public final static char scopeLhs[] = ScopeLhs.scopeLhs; @@ -775,10 +781,10 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeLa { public final static byte scopeLa[] = { - 43,43,43,43,50,50,43,43,86,29, - 50,29,29,50,66,29,29,50,59,50, - 50,29,50,29,29,60,1,29,92,29, - 66,2,2,2 + 43,43,43,43,50,50,43,43,86,30, + 50,30,30,50,66,30,50,59,50,50, + 30,50,30,30,60,1,30,92,30,66, + 2,2,2 }; }; public final static byte scopeLa[] = ScopeLa.scopeLa; @@ -787,9 +793,9 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeStateSet { public final static byte scopeStateSet[] = { 17,17,32,17,21,21,17,87,-1,25, - 21,9,25,21,3,32,32,32,62,1, - 7,25,21,9,32,88,3,35,-1,32, - 3,9,9,9 + 21,9,25,21,3,32,32,62,1,7, + 25,21,9,32,88,3,35,-1,32,3, + 9,9,9 }; }; public final static byte scopeStateSet[] = ScopeStateSet.scopeStateSet; @@ -797,25 +803,25 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeRhs { public final static char scopeRhs[] = {0, - 140,12,0,96,0,189,103,0,31,136, - 0,144,165,103,13,152,0,98,0,0, - 148,103,2,137,0,97,0,148,103,2, - 0,151,2,0,112,17,179,103,12,0, - 112,179,103,17,12,0,112,17,12,0, - 112,179,103,12,0,112,12,0,130,0, - 2,0,152,97,0,2,97,0,148,103, - 2,130,0,2,0,151,97,0,141,2, - 0,144,177,103,13,118,185,44,0,98, - 0,144,177,103,13,185,44,0,135,0, - 99,0,184,103,135,0,103,135,0,142, - 99,0,173,103,13,183,118,182,158,0, - 173,103,13,182,158,0,195,85,0,77, - 2,100,97,99,0,195,113,134,2,89, - 0,53,0,0,134,69,110,0,29,117, - 0,153,2,0,97,106,0,153,2,16, - 0,144,165,103,13,113,153,2,0,97, - 3,0,104,0,98,0,181,2,97,0, - 134,12,97,0,134,2,0 + 139,12,0,96,0,189,104,0,31,136, + 0,144,165,104,13,152,0,98,0,0, + 148,104,2,135,0,97,0,148,104,2, + 0,151,2,0,113,17,179,104,12,0, + 113,179,104,17,12,0,113,17,12,0, + 113,179,104,12,0,113,12,0,129,0, + 2,0,152,97,0,2,97,0,148,104, + 2,129,0,2,0,151,97,0,140,2, + 0,144,177,104,13,94,185,44,0,98, + 0,144,177,104,13,185,44,0,141,0, + 99,0,184,104,141,0,104,141,0,142, + 99,0,173,104,13,183,94,182,157,0, + 173,104,13,182,157,0,195,85,0,77, + 2,101,97,99,0,195,116,138,2,89, + 0,53,0,0,138,69,111,0,29,118, + 0,164,2,0,97,107,0,144,165,104, + 13,116,164,2,0,97,3,0,105,0, + 98,0,181,2,98,0,138,12,98,0, + 138,2,0 }; }; public final static char scopeRhs[] = ScopeRhs.scopeRhs; @@ -823,15 +829,15 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeState { public final static char scopeState[] = {0, - 1571,0,1566,1585,1554,0,399,0,1428,1266, - 1402,1235,1203,1129,1098,0,617,1161,317,0, - 1611,1184,986,342,1203,1129,1098,1454,1403,1443, - 0,1216,672,372,1319,383,1544,464,1193,1250, - 578,1350,1327,1284,481,408,1392,1382,1372,1362, - 1472,1414,1405,683,501,1307,1109,1061,1051,1005, - 995,1069,1032,1013,976,957,937,917,618,1088, - 595,511,897,877,857,837,817,797,777,757, - 737,717,697,317,648,555,535,421,441,348, + 1085,0,1680,1689,1658,0,396,0,1464,1339, + 1433,1265,1249,1186,1157,0,636,1210,313,0, + 1572,1269,504,503,1249,1186,1157,1666,1450,1536, + 0,1379,1340,1305,477,378,1581,459,1146,640, + 574,1326,1313,1169,1423,1252,1409,1398,1387,1357, + 1563,1548,1537,1434,701,1528,1520,1512,1091,1036, + 404,1099,1064,1044,1009,989,968,947,615,1119, + 592,507,926,905,884,863,842,821,800,779, + 758,737,716,313,667,553,532,417,438,344, 0 }; }; @@ -840,28 +846,27 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface InSymb { public final static char inSymb[] = {0, - 0,180,103,166,16,23,22,10,9,4, - 11,15,14,97,2,101,100,104,102,106, - 105,108,107,110,109,98,30,2,2,67, - 52,2,12,153,134,135,103,10,9,54, - 53,4,58,57,56,55,47,48,11,62, - 61,64,63,69,68,65,79,78,77,75, - 76,74,73,72,71,70,60,153,153,181, - 134,113,103,12,2,138,137,167,168,158, - 169,46,45,170,44,171,172,1,3,100, - 100,102,102,102,102,101,101,105,104,104, - 107,106,134,109,108,113,113,13,142,124, - 17,112,103,4,151,103,2,182,159,159, - 185,159,59,103,124,4,103,112,179,149, - 148,117,103,150,103,118,13,118,13,165, - 103,13,152,4,103,179,17,112,4,2, - 128,130,103,30,148,183,103,13,103,144, - 30,189,52,12,190,103,13,103,149,112, - 112,141,103,2,142,13,173,135,174,103, - 177,118,178,60,140,52,12,103,149,103, - 103,103,177,144,60,30,140,165,148,186, - 173,184,59,141,2,103,144,144,30,30, - 59,142,125 + 0,180,104,166,16,23,22,10,9,4, + 11,15,14,98,2,102,101,105,103,107, + 106,109,108,111,110,99,29,2,67,52, + 2,12,164,138,141,104,10,9,54,53, + 4,58,57,56,55,47,48,11,62,61, + 64,63,69,68,65,79,78,77,75,76, + 74,73,72,71,70,60,164,181,138,116, + 104,12,2,136,135,167,168,157,169,46, + 45,170,44,171,172,94,101,101,103,103, + 103,103,102,102,106,105,105,108,107,138, + 110,109,116,13,142,124,17,113,104,4, + 151,104,2,182,158,158,185,158,59,104, + 124,4,104,113,179,149,148,118,104,150, + 104,94,13,94,13,165,104,13,152,4, + 104,179,17,113,4,2,127,129,104,29, + 148,183,104,13,104,144,29,189,52,12, + 190,104,13,104,149,113,113,140,104,2, + 142,13,173,141,174,104,177,94,178,60, + 139,52,12,104,149,104,104,104,177,144, + 60,29,139,165,148,186,173,184,59,140, + 2,104,144,144,29,29,59,142,125 }; }; public final static char inSymb[] = InSymb.inSymb; @@ -964,11 +969,12 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab "SemiColon", "ERROR_TOKEN", "EOF_TOKEN", - "no_sizeof_type_name_start", + "no_sizeof_type_id_start", "]", ")", "}", ";", + "identifier_token", "expression", "postfix_expression", "member_name", @@ -990,7 +996,6 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab "assignment_expression", "expression_list_actual", "constant_expression", - "identifier_token", "declaration_specifiers", "simple_declaration_specifiers", "struct_or_union_declaration_sp" + @@ -1007,7 +1012,7 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab "struct_or_union_specifier", "elaborated_specifier", "enum_specifier", - "typedef_name_in_declspec", + "type_name_specifier", "initializer", "declarator", "struct_or_union", @@ -1047,8 +1052,8 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public final static int ERROR_SYMBOL = 51, - SCOPE_UBOUND = 33, - SCOPE_SIZE = 34, + SCOPE_UBOUND = 32, + SCOPE_SIZE = 33, MAX_NAME_LENGTH = 38; public final int getErrorSymbol() { return ERROR_SYMBOL; } @@ -1057,20 +1062,20 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public final int getMaxNameLength() { return MAX_NAME_LENGTH; } public final static int - NUM_STATES = 213, + NUM_STATES = 209, NT_OFFSET = 93, - LA_STATE_OFFSET = 2031, + LA_STATE_OFFSET = 2108, MAX_LA = 2, - NUM_RULES = 316, + NUM_RULES = 312, NUM_NONTERMINALS = 123, NUM_SYMBOLS = 216, SEGMENT_SIZE = 8192, - START_STATE = 1584, + START_STATE = 1202, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 80, EOLT_SYMBOL = 80, - ACCEPT_ACTION = 1702, - ERROR_ACTION = 1715; + ACCEPT_ACTION = 1786, + ERROR_ACTION = 1796; public final static boolean BACKTRACK = true; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParsersym.java index 16c72ffc98e..5ea1aaa65e2 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParsersym.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParsersym.java @@ -101,9 +101,9 @@ public interface C99SizeofExpressionParsersym { TK_AndAssign = 77, TK_CaretAssign = 78, TK_OrAssign = 79, - TK_Comma = 30, + TK_Comma = 29, TK_RightBracket = 50, - TK_RightParen = 29, + TK_RightParen = 30, TK_RightBrace = 43, TK_SemiColon = 66, TK_ERROR_TOKEN = 51, @@ -139,8 +139,8 @@ public interface C99SizeofExpressionParsersym { "inline", "register", "typedef", - "RightParen", "Comma", + "RightParen", "char", "double", "float", diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParser.java index 974ec54d590..4b39af10c13 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParser.java @@ -1958,7 +1958,7 @@ public CPPSizeofExpressionParser(IParserActionTokenProvider parser) { // constr } // - // Rule 534: no_sizeof_type_name_start ::= ERROR_TOKEN + // Rule 534: no_sizeof_type_id_start ::= ERROR_TOKEN // case 534: { action. consumeExpressionProblem(); break; } diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParserprs.java index c34b4f634fe..dddabe86f92 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParserprs.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParserprs.java @@ -2515,7 +2515,7 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab "LeftBrace", "ERROR_TOKEN", "EOF_TOKEN", - "no_sizeof_type_name_start", + "no_sizeof_type_id_start", "]", ")", "}", diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCParser.java index f294420f5ca..bf972948c35 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCParser.java @@ -183,7 +183,7 @@ private void initActions(IASTTranslationUnit tu, Set<IParser.Options> options) { gnuAction = new GCCBuildASTParserAction (this, tu, astStack, CNodeFactory.getDefault() ); gnuAction.setParserOptions(options); - + gnuAction.setBaseAction(action); } @@ -263,81 +263,81 @@ private GCCBuildASTParserAction gnuAction; } // - // Rule 10: literal ::= integer + // Rule 12: literal ::= integer // - case 10: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_integer_constant); break; + case 12: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_integer_constant); break; } // - // Rule 11: literal ::= floating + // Rule 13: literal ::= floating // - case 11: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_float_constant); break; + case 13: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_float_constant); break; } // - // Rule 12: literal ::= charconst + // Rule 14: literal ::= charconst // - case 12: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_char_constant); break; + case 14: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_char_constant); break; } // - // Rule 13: literal ::= stringlit + // Rule 15: literal ::= stringlit // - case 13: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_string_literal); break; + case 15: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_string_literal); break; } // - // Rule 15: primary_expression ::= primary_expression_id + // Rule 17: primary_expression ::= primary_expression_id // - case 15: { action. consumeExpressionID(); break; + case 17: { action. consumeExpressionID(); break; } // - // Rule 16: primary_expression ::= ( expression ) + // Rule 18: primary_expression ::= ( expression ) // - case 16: { action. consumeExpressionBracketed(); break; + case 18: { action. consumeExpressionBracketed(); break; } // - // Rule 20: postfix_expression ::= postfix_expression [ expression ] + // Rule 21: postfix_expression ::= postfix_expression [ expression ] // - case 20: { action. consumeExpressionArraySubscript(); break; + case 21: { action. consumeExpressionArraySubscript(); break; } // - // Rule 21: postfix_expression ::= postfix_expression ( expression_list_opt ) + // Rule 22: postfix_expression ::= postfix_expression ( expression_list_opt ) // - case 21: { action. consumeExpressionFunctionCall(); break; + case 22: { action. consumeExpressionFunctionCall(); break; } // - // Rule 22: postfix_expression ::= postfix_expression . member_name + // Rule 23: postfix_expression ::= postfix_expression . member_name // - case 22: { action. consumeExpressionFieldReference(false); break; + case 23: { action. consumeExpressionFieldReference(false); break; } // - // Rule 23: postfix_expression ::= postfix_expression -> member_name + // Rule 24: postfix_expression ::= postfix_expression -> member_name // - case 23: { action. consumeExpressionFieldReference(true); break; + case 24: { action. consumeExpressionFieldReference(true); break; } // - // Rule 24: postfix_expression ::= postfix_expression ++ + // Rule 25: postfix_expression ::= postfix_expression ++ // - case 24: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break; + case 25: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break; } // - // Rule 25: postfix_expression ::= postfix_expression -- + // Rule 26: postfix_expression ::= postfix_expression -- // - case 25: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break; + case 26: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break; } // - // Rule 26: postfix_expression ::= ( type_id ) { <openscope-ast> initializer_list comma_opt } + // Rule 27: postfix_expression ::= ( type_id ) { <openscope-ast> initializer_list comma_opt } // - case 26: { action. consumeExpressionTypeIdInitializer(); break; + case 27: { action. consumeExpressionTypeIdInitializer(); break; } // @@ -791,537 +791,537 @@ private GCCBuildASTParserAction gnuAction; } // - // Rule 178: typedef_name_in_declspec ::= Completion + // Rule 178: type_name_specifier ::= identifier_token // case 178: { action. consumeToken(); break; } // - // Rule 179: typedef_name_in_declspec ::= identifier - // - case 179: { action. consumeToken(); break; - } - - // - // Rule 182: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt } + // Rule 179: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt } // - case 182: { action. consumeTypeSpecifierComposite(false); break; + case 179: { action. consumeTypeSpecifierComposite(false); break; } // - // Rule 183: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook identifier_token struct_or_union_specifier_suffix_hook { <openscope-ast> struct_declaration_list_opt } + // Rule 180: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook identifier_token struct_or_union_specifier_suffix_hook { <openscope-ast> struct_declaration_list_opt } // - case 183: { action. consumeTypeSpecifierComposite(true); break; + case 180: { action. consumeTypeSpecifierComposite(true); break; } // - // Rule 188: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token + // Rule 185: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token // - case 188: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break; + case 185: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break; } // - // Rule 189: elaborated_specifier ::= union elaborated_specifier_hook identifier_token + // Rule 186: elaborated_specifier ::= union elaborated_specifier_hook identifier_token // - case 189: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break; + case 186: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break; } // - // Rule 190: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token + // Rule 187: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token // - case 190: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break; + case 187: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break; } // - // Rule 196: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ; + // Rule 193: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ; // - case 196: { action. consumeStructDeclaration(true); break; + case 193: { action. consumeStructDeclaration(true); break; } // - // Rule 197: struct_declaration ::= specifier_qualifier_list ; + // Rule 194: struct_declaration ::= specifier_qualifier_list ; // - case 197: { action. consumeStructDeclaration(false); break; + case 194: { action. consumeStructDeclaration(false); break; } // - // Rule 198: struct_declaration ::= ERROR_TOKEN + // Rule 195: struct_declaration ::= ERROR_TOKEN // - case 198: { action. consumeDeclarationProblem(); break; + case 195: { action. consumeDeclarationProblem(); break; } // - // Rule 204: struct_declarator ::= : constant_expression + // Rule 201: struct_declarator ::= : constant_expression // - case 204: { action. consumeBitField(false); break; + case 201: { action. consumeBitField(false); break; } // - // Rule 205: struct_declarator ::= declarator : constant_expression + // Rule 202: struct_declarator ::= declarator : constant_expression // - case 205: { action. consumeBitField(true); break; + case 202: { action. consumeBitField(true); break; } // - // Rule 206: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 203: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } // - case 206: { action. consumeTypeSpecifierEnumeration(false); break; + case 203: { action. consumeTypeSpecifierEnumeration(false); break; } // - // Rule 207: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 204: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } // - case 207: { action. consumeTypeSpecifierEnumeration(true); break; + case 204: { action. consumeTypeSpecifierEnumeration(true); break; } // - // Rule 213: enumerator ::= identifier_token + // Rule 210: enumerator ::= identifier_token // - case 213: { action. consumeEnumerator(false); break; + case 210: { action. consumeEnumerator(false); break; } // - // Rule 214: enumerator ::= identifier_token = constant_expression + // Rule 211: enumerator ::= identifier_token = constant_expression // - case 214: { action. consumeEnumerator(true); break; + case 211: { action. consumeEnumerator(true); break; } // - // Rule 215: type_qualifier ::= type_qualifier_token + // Rule 212: type_qualifier ::= type_qualifier_token // - case 215: { action. consumeToken(); break; + case 212: { action. consumeToken(); break; } // - // Rule 219: function_specifier ::= inline + // Rule 216: function_specifier ::= inline // - case 219: { action. consumeToken(); break; + case 216: { action. consumeToken(); break; } // - // Rule 221: declarator ::= <openscope-ast> pointer_seq direct_declarator + // Rule 218: declarator ::= <openscope-ast> pointer_seq direct_declarator // - case 221: { action. consumeDeclaratorWithPointer(true); break; + case 218: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 226: basic_direct_declarator ::= declarator_id_name + // Rule 223: basic_direct_declarator ::= declarator_id_name // - case 226: { action. consumeDirectDeclaratorIdentifier(); break; + case 223: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 227: basic_direct_declarator ::= ( declarator ) + // Rule 224: basic_direct_declarator ::= ( declarator ) // - case 227: { action. consumeDirectDeclaratorBracketed(); break; + case 224: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 228: declarator_id_name ::= identifier + // Rule 225: declarator_id_name ::= identifier // - case 228: { action. consumeIdentifierName(); break; + case 225: { action. consumeIdentifierName(); break; } // - // Rule 229: array_direct_declarator ::= basic_direct_declarator array_modifier + // Rule 226: array_direct_declarator ::= basic_direct_declarator array_modifier // - case 229: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 226: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 230: array_direct_declarator ::= array_direct_declarator array_modifier + // Rule 227: array_direct_declarator ::= array_direct_declarator array_modifier // - case 230: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 227: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 232: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list ) + // Rule 229: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list ) // - case 232: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; + case 229: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; } // - // Rule 233: function_direct_declarator ::= basic_direct_declarator ( ) + // Rule 230: function_direct_declarator ::= basic_direct_declarator ( ) // - case 233: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; + case 230: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; } // - // Rule 235: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator + // Rule 232: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator // - case 235: { action. consumeDeclaratorWithPointer(true); break; + case 232: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 236: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list ) + // Rule 233: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list ) // - case 236: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; + case 233: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; } // - // Rule 238: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator + // Rule 235: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator // - case 238: { action. consumeDeclaratorWithPointer(true); break; + case 235: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 239: identifier_list ::= identifier + // Rule 236: identifier_list ::= identifier // - case 239: { action. consumeIdentifierKnR(); break; + case 236: { action. consumeIdentifierKnR(); break; } // - // Rule 240: identifier_list ::= identifier_list , identifier + // Rule 237: identifier_list ::= identifier_list , identifier // - case 240: { action. consumeIdentifierKnR(); break; + case 237: { action. consumeIdentifierKnR(); break; } // - // Rule 241: array_modifier ::= [ ] + // Rule 238: array_modifier ::= [ ] // - case 241: { action. consumeDirectDeclaratorArrayModifier(false); break; + case 238: { action. consumeDirectDeclaratorArrayModifier(false); break; } // - // Rule 242: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ] + // Rule 239: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ] // - case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break; + case 239: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break; } // - // Rule 243: array_modifier ::= [ assignment_expression ] + // Rule 240: array_modifier ::= [ assignment_expression ] // - case 243: { action. consumeDirectDeclaratorArrayModifier(true); break; + case 240: { action. consumeDirectDeclaratorArrayModifier(true); break; } // - // Rule 244: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ] + // Rule 241: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ] // - case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break; + case 241: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break; } // - // Rule 245: array_modifier ::= [ static assignment_expression ] + // Rule 242: array_modifier ::= [ static assignment_expression ] // - case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break; + case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break; } // - // Rule 246: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ] + // Rule 243: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ] // - case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; + case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; } // - // Rule 247: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ] + // Rule 244: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ] // - case 247: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; + case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; } // - // Rule 248: array_modifier ::= [ * ] + // Rule 245: array_modifier ::= [ * ] // - case 248: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break; + case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break; } // - // Rule 249: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ] + // Rule 246: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ] // - case 249: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break; + case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break; } // - // Rule 251: pointer_seq ::= pointer_hook * + // Rule 248: pointer_seq ::= pointer_hook * // - case 251: { action. consumePointer(); break; + case 248: { action. consumePointer(); break; } // - // Rule 252: pointer_seq ::= pointer_seq pointer_hook * + // Rule 249: pointer_seq ::= pointer_seq pointer_hook * // - case 252: { action. consumePointer(); break; + case 249: { action. consumePointer(); break; } // - // Rule 253: pointer_seq ::= pointer_hook * <openscope-ast> type_qualifier_list + // Rule 250: pointer_seq ::= pointer_hook * <openscope-ast> type_qualifier_list // - case 253: { action. consumePointerTypeQualifierList(); break; + case 250: { action. consumePointerTypeQualifierList(); break; } // - // Rule 254: pointer_seq ::= pointer_seq pointer_hook * <openscope-ast> type_qualifier_list + // Rule 251: pointer_seq ::= pointer_seq pointer_hook * <openscope-ast> type_qualifier_list // - case 254: { action. consumePointerTypeQualifierList(); break; + case 251: { action. consumePointerTypeQualifierList(); break; } // - // Rule 258: parameter_type_list ::= parameter_list + // Rule 255: parameter_type_list ::= parameter_list // - case 258: { action. consumeEmpty(); break; + case 255: { action. consumeEmpty(); break; } // - // Rule 259: parameter_type_list ::= parameter_list , ... + // Rule 256: parameter_type_list ::= parameter_list , ... // - case 259: { action. consumePlaceHolder(); break; + case 256: { action. consumePlaceHolder(); break; } // - // Rule 260: parameter_type_list ::= ... + // Rule 257: parameter_type_list ::= ... // - case 260: { action. consumePlaceHolder(); break; + case 257: { action. consumePlaceHolder(); break; } // - // Rule 263: parameter_declaration ::= declaration_specifiers complete_parameter_declarator + // Rule 260: parameter_declaration ::= declaration_specifiers complete_parameter_declarator // - case 263: { action. consumeParameterDeclaration(); break; + case 260: { action. consumeParameterDeclaration(); break; } // - // Rule 264: parameter_declaration ::= declaration_specifiers + // Rule 261: parameter_declaration ::= declaration_specifiers // - case 264: { action. consumeParameterDeclarationWithoutDeclarator(); break; + case 261: { action. consumeParameterDeclarationWithoutDeclarator(); break; } // - // Rule 267: type_id ::= specifier_qualifier_list + // Rule 264: type_id ::= specifier_qualifier_list // - case 267: { action. consumeTypeId(false); break; + case 264: { action. consumeTypeId(false); break; } // - // Rule 268: type_id ::= specifier_qualifier_list abstract_declarator + // Rule 265: type_id ::= specifier_qualifier_list abstract_declarator // - case 268: { action. consumeTypeId(true); break; + case 265: { action. consumeTypeId(true); break; } // - // Rule 270: abstract_declarator ::= <openscope-ast> pointer_seq + // Rule 267: abstract_declarator ::= <openscope-ast> pointer_seq // - case 270: { action. consumeDeclaratorWithPointer(false); break; + case 267: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 271: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator + // Rule 268: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator // - case 271: { action. consumeDeclaratorWithPointer(false); break; + case 268: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 275: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 272: basic_direct_abstract_declarator ::= ( abstract_declarator ) // - case 275: { action. consumeDirectDeclaratorBracketed(); break; + case 272: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 276: array_direct_abstract_declarator ::= array_modifier + // Rule 273: array_direct_abstract_declarator ::= array_modifier // - case 276: { action. consumeDirectDeclaratorArrayDeclarator(false); break; + case 273: { action. consumeDirectDeclaratorArrayDeclarator(false); break; } // - // Rule 277: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier + // Rule 274: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier // - case 277: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 274: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 278: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier + // Rule 275: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier // - case 278: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 275: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 279: function_direct_abstract_declarator ::= ( ) + // Rule 276: function_direct_abstract_declarator ::= ( ) // - case 279: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break; + case 276: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break; } // - // Rule 280: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( ) + // Rule 277: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( ) // - case 280: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; + case 277: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; } // - // Rule 281: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list ) + // Rule 278: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list ) // - case 281: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break; + case 278: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break; } // - // Rule 282: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list ) + // Rule 279: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list ) // - case 282: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; + case 279: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; } // - // Rule 283: initializer ::= assignment_expression + // Rule 280: initializer ::= assignment_expression // - case 283: { action. consumeInitializer(); break; + case 280: { action. consumeInitializer(); break; } // - // Rule 284: initializer ::= start_initializer_list { <openscope-ast> initializer_list comma_opt } end_initializer_list + // Rule 281: initializer ::= start_initializer_list { <openscope-ast> initializer_list comma_opt } end_initializer_list // - case 284: { action. consumeInitializerList(); break; + case 281: { action. consumeInitializerList(); break; } // - // Rule 285: initializer ::= { <openscope-ast> } + // Rule 282: initializer ::= { <openscope-ast> } // - case 285: { action. consumeInitializerList(); break; + case 282: { action. consumeInitializerList(); break; } // - // Rule 286: start_initializer_list ::= $Empty + // Rule 283: start_initializer_list ::= $Empty // - case 286: { action. initializerListStart(); break; + case 283: { action. initializerListStart(); break; } // - // Rule 287: end_initializer_list ::= $Empty + // Rule 284: end_initializer_list ::= $Empty // - case 287: { action. initializerListEnd(); break; + case 284: { action. initializerListEnd(); break; } // - // Rule 292: designated_initializer ::= <openscope-ast> designation = initializer + // Rule 289: designated_initializer ::= <openscope-ast> designation = initializer // - case 292: { action. consumeInitializerDesignated(); break; + case 289: { action. consumeInitializerDesignated(); break; } // - // Rule 296: designator_base ::= [ constant_expression ] + // Rule 293: designator_base ::= [ constant_expression ] // - case 296: { action. consumeDesignatorArray(); break; + case 293: { action. consumeDesignatorArray(); break; } // - // Rule 297: designator_base ::= . identifier_token + // Rule 294: designator_base ::= . identifier_token // - case 297: { action. consumeDesignatorField(); break; + case 294: { action. consumeDesignatorField(); break; } // - // Rule 298: designator ::= [ constant_expression ] + // Rule 295: designator ::= [ constant_expression ] // - case 298: { action. consumeDesignatorArray(); break; + case 295: { action. consumeDesignatorArray(); break; } // - // Rule 299: designator ::= . identifier_token + // Rule 296: designator ::= . identifier_token // - case 299: { action. consumeDesignatorField(); break; + case 296: { action. consumeDesignatorField(); break; } // - // Rule 300: translation_unit ::= external_declaration_list + // Rule 297: translation_unit ::= external_declaration_list // - case 300: { action. consumeTranslationUnit(); break; + case 297: { action. consumeTranslationUnit(); break; } // - // Rule 301: translation_unit ::= $Empty + // Rule 298: translation_unit ::= $Empty // - case 301: { action. consumeTranslationUnit(); break; + case 298: { action. consumeTranslationUnit(); break; } // - // Rule 306: external_declaration ::= ; + // Rule 303: external_declaration ::= ; // - case 306: { action. consumeDeclarationEmpty(); break; + case 303: { action. consumeDeclarationEmpty(); break; } // - // Rule 307: external_declaration ::= ERROR_TOKEN + // Rule 304: external_declaration ::= ERROR_TOKEN // - case 307: { action. consumeDeclarationProblem(); break; + case 304: { action. consumeDeclarationProblem(); break; } // - // Rule 310: function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body + // Rule 307: function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body // - case 310: { action. consumeFunctionDefinition(true); break; + case 307: { action. consumeFunctionDefinition(true); break; } // - // Rule 311: function_definition ::= <openscope-ast> function_declarator function_body + // Rule 308: function_definition ::= <openscope-ast> function_declarator function_body // - case 311: { action. consumeFunctionDefinition(false); break; + case 308: { action. consumeFunctionDefinition(false); break; } // - // Rule 312: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement + // Rule 309: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement // - case 312: { action. consumeFunctionDefinitionKnR(); break; + case 309: { action. consumeFunctionDefinitionKnR(); break; } // - // Rule 313: function_body ::= { } + // Rule 310: function_body ::= { } // - case 313: { action. consumeStatementCompoundStatement(false); break; + case 310: { action. consumeStatementCompoundStatement(false); break; } // - // Rule 314: function_body ::= { <openscope-ast> block_item_list } + // Rule 311: function_body ::= { <openscope-ast> block_item_list } // - case 314: { action. consumeStatementCompoundStatement(true); break; + case 311: { action. consumeStatementCompoundStatement(true); break; } // - // Rule 331: attribute_parameter ::= assignment_expression + // Rule 328: attribute_parameter ::= assignment_expression // - case 331: { action. consumeIgnore(); break; + case 328: { action. consumeIgnore(); break; } // - // Rule 341: extended_asm_declaration ::= asm volatile_opt ( extended_asm_param_seq ) ; + // Rule 338: extended_asm_declaration ::= asm volatile_opt ( extended_asm_param_seq ) ; // - case 341: { gnuAction.consumeDeclarationASM(); break; + case 338: { gnuAction.consumeDeclarationASM(); break; } // - // Rule 352: unary_expression ::= __alignof__ unary_expression + // Rule 349: unary_expression ::= __alignof__ unary_expression // - case 352: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_alignOf); break; + case 349: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_alignOf); break; } // - // Rule 353: unary_expression ::= __alignof__ ( type_id ) + // Rule 350: unary_expression ::= __alignof__ ( type_id ) // - case 353: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_alignof); break; + case 350: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_alignof); break; } // - // Rule 354: unary_expression ::= typeof unary_expression + // Rule 351: unary_expression ::= typeof unary_expression // - case 354: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); break; + case 351: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); break; } // - // Rule 355: unary_expression ::= typeof ( type_id ) + // Rule 352: unary_expression ::= typeof ( type_id ) // - case 355: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_typeof); break; + case 352: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_typeof); break; } // - // Rule 371: field_name_designator ::= identifier_token : + // Rule 357: declaration_specifiers ::= <openscope-ast> typeof_declaration_specifiers + // + case 357: { gnuAction.consumeDeclarationSpecifiersTypeof(); break; + } + + // + // Rule 373: field_name_designator ::= identifier_token : // - case 371: { gnuAction.consumeDesignatorField(); break; + case 373: { gnuAction.consumeDesignatorField(); break; } // - // Rule 372: array_range_designator ::= [ constant_expression ... constant_expression ] + // Rule 374: array_range_designator ::= [ constant_expression ... constant_expression ] // - case 372: { gnuAction.consumeDesignatorArray(); break; + case 374: { gnuAction.consumeDesignatorArray(); break; } // - // Rule 373: designated_initializer ::= <openscope-ast> field_name_designator initializer + // Rule 375: designated_initializer ::= <openscope-ast> field_name_designator initializer // - case 373: { action. consumeInitializerDesignated(); break; + case 375: { action. consumeInitializerDesignated(); break; } diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCParserprs.java index 8462625a5cb..2d9a594f467 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCParserprs.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCParserprs.java @@ -35,8 +35,8 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym public interface BaseCheck { public final static short baseCheck[] = {0, 0,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,3,1,1,1,4, - 4,3,3,2,2,8,1,0,1,1, + 1,1,1,1,1,1,1,3,1,1, + 4,4,3,3,2,2,8,1,0,1, 1,2,2,2,2,2,2,2,2,2, 4,1,4,1,3,3,3,1,3,3, 1,3,3,1,3,3,3,3,1,3, @@ -51,276 +51,285 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym 2,1,2,2,1,2,2,1,2,2, 1,2,2,1,3,1,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,6,8,0,0,1,1,3,3,3, - 0,1,0,1,2,4,2,1,1,1, - 3,1,1,2,3,7,8,0,1,0, - 1,3,1,3,1,1,1,1,1,1, - 3,1,1,1,1,1,3,1,2,2, - 1,5,3,1,3,5,1,3,1,3, - 2,4,3,5,4,6,6,3,5,1, - 2,3,4,5,0,1,2,1,3,1, - 1,3,2,1,1,1,1,2,1,2, - 3,1,1,1,3,1,2,2,2,3, - 4,5,1,7,3,0,0,1,1,3, - 3,4,1,1,2,3,2,3,2,1, - 0,1,2,1,1,1,1,1,2,4, - 3,6,2,4,1,1,1,1,2,6, - 3,1,3,1,4,0,1,1,1,3, - 1,0,4,3,1,2,1,3,4,4, - 6,1,0,1,3,1,3,0,1,4, - 5,2,4,2,4,1,1,2,2,3, - 2,2,3,1,1,1,1,1,1,1, - 2,5,3,-101,-45,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-2,0,0,0,-47,0,0, - -72,0,-112,0,0,0,-226,-3,0,0, - 0,0,0,0,0,0,0,0,-28,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-5,0,-7,-4,0,-118,-8,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-10,0,0,0,0, - 0,0,0,-48,0,0,0,0,0,0, - 0,0,-253,0,-114,0,0,-175,-227,-46, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-142,-125,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-115,0,0, - 0,0,0,0,0,-11,0,0,0,0, - -224,0,0,0,0,0,0,0,0,0, - 0,-183,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-225,-170,0,0,0, - 0,0,0,0,0,0,-12,0,0,0, - 0,0,0,0,0,0,0,0,0,-24, - -188,0,0,0,0,0,0,-289,0,0, - 0,0,0,0,0,0,0,0,-230,0, - -209,0,0,0,0,0,0,-25,0,0, - 0,0,0,0,-326,0,0,0,0,0, - 0,0,0,0,0,0,0,-86,0,0, - 0,0,0,0,-62,0,0,0,-335,-214, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-31,0,0,-313,0,0,0, - 0,0,0,0,0,0,0,-41,-81,0, - 0,0,0,0,0,0,0,0,0,0, - -111,-53,0,0,-54,-220,0,0,0,0, - 0,0,0,0,0,0,-96,0,-56,-329, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-66,0,0,-73,0,0,0, - 0,0,0,0,0,0,0,-49,-238,0, - -84,0,0,0,0,0,0,0,0,0, - 0,-215,0,0,0,0,0,0,0,0, - 0,0,0,0,-317,0,-58,0,0,0, - 0,-79,-186,0,0,0,0,0,0,0, - 0,0,-32,-109,-59,0,0,0,0,0, - 0,0,0,0,0,0,-172,0,0,0, + 1,1,1,1,1,1,1,1,6,8, + 0,0,1,1,3,3,3,0,1,0, + 1,2,4,2,1,1,1,3,1,1, + 2,3,7,8,0,1,0,1,3,1, + 3,1,1,1,1,1,1,3,1,1, + 1,1,1,3,1,2,2,1,5,3, + 1,3,5,1,3,1,3,2,4,3, + 5,4,6,6,3,5,1,2,3,4, + 5,0,1,2,1,3,1,1,3,2, + 1,1,1,1,2,1,2,3,1,1, + 1,3,1,2,2,2,3,4,5,1, + 7,3,0,0,1,1,3,3,4,1, + 1,2,3,2,3,2,1,0,1,2, + 1,1,1,1,1,2,4,3,6,2, + 4,1,1,1,1,2,6,3,1,3, + 1,4,0,1,1,1,3,1,0,4, + 3,1,2,1,3,4,4,6,1,0, + 1,3,1,3,0,1,4,5,2,4, + 2,4,2,1,2,2,2,1,1,2, + 2,3,2,2,3,1,1,1,1,1, + 1,1,2,5,3,-97,0,-8,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-339,0,0,0, + -2,-49,0,0,-137,-7,0,0,-238,0, + -10,0,0,0,0,0,0,0,0,-5, + -35,0,0,0,0,0,0,0,0,-251, + 0,0,0,0,0,0,0,-4,0,0, + 0,0,0,0,0,-31,0,0,0,0, + 0,0,0,0,0,0,0,0,-11,0, + 0,0,0,0,0,0,0,-12,0,0, + -42,0,0,0,0,-34,0,0,0,-36, + 0,0,0,0,0,0,0,-23,0,0, + 0,0,0,0,0,0,0,-47,0,-156, + 0,-207,-38,0,0,0,0,-77,0,0, + 0,0,0,0,0,0,0,0,0,0, + -24,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-233,0,0,0,0,0, + 0,0,0,0,0,-274,0,0,-33,0, + 0,0,0,0,0,-39,0,-237,0,-3, + 0,0,0,0,0,0,0,0,-40,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-98,0,0,0,0,0,0,0,0, + -27,0,-45,0,0,0,0,0,0,-299, + 0,0,0,0,0,0,0,0,0,0, + -30,-43,0,0,0,0,0,0,0,0, + -62,0,0,0,-68,0,0,-302,0,0, + 0,0,0,0,0,0,0,0,-87,-69, + 0,0,0,0,0,0,0,0,-71,0, + 0,0,-19,-100,0,0,-64,-65,-48,0, + 0,0,-212,0,0,0,0,0,-319,0, + -141,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,-63,0,0, + 0,0,0,-333,0,0,0,0,0,0, + 0,0,0,0,0,-99,0,-73,0,0, + 0,0,0,0,0,0,0,0,0,-140, + 0,-88,0,0,0,0,0,0,0,0, + 0,0,-113,-74,0,0,0,0,0,0, + 0,0,0,0,0,0,-53,0,0,0, + 0,0,0,0,0,0,-109,0,0,-165, + 0,0,0,0,0,0,-81,0,0,-106, + 0,0,0,0,0,0,0,0,0,0, + -123,0,0,-29,0,0,0,0,0,0, + 0,0,0,0,-196,0,0,0,0,0, + 0,0,0,0,0,0,-116,0,-108,0, + 0,0,0,0,0,0,0,0,0,-234, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-111,-78,0,-335,0,0,0,0, + 0,0,0,0,0,0,-127,-200,0,0, + 0,0,0,0,0,0,-82,0,0,0, + -346,0,0,0,0,0,0,0,0,0, + 0,0,0,-275,-84,0,0,0,0,0, + 0,0,0,0,0,-231,0,0,0,0, + 0,0,0,0,0,0,-83,0,0,-72, + 0,0,0,0,0,0,0,-110,-79,-232, + 0,0,0,0,0,0,0,0,0,0, + 0,-114,0,0,0,0,-76,0,0,0, + 0,0,-139,0,0,0,0,0,0,0, + 0,0,0,-85,-115,0,0,0,0,0, + 0,0,0,-122,0,0,0,-171,0,0, + 0,0,0,0,0,0,0,0,-134,0, + 0,-117,0,0,0,0,0,0,0,0, + 0,0,-211,0,0,0,0,0,0,0, + 0,0,0,-254,-136,0,0,0,0,0, + 0,0,0,-94,0,0,0,-166,-175,0, + 0,-118,-309,0,0,0,0,0,0,0, + 0,0,0,-102,0,0,0,0,0,0, + 0,0,0,-14,0,0,0,-26,0,0, + -120,0,0,-13,0,0,0,0,0,0, + 0,0,0,-172,0,0,0,0,-194,0, + -121,0,0,0,-124,-28,-32,0,0,0, + -95,-15,-336,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-128,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-130,-348,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -199,0,0,0,0,0,0,-125,0,0, + 0,0,0,0,0,0,0,0,-182,-119, + 0,0,0,0,0,0,0,0,-37,0, + 0,0,-257,-203,-206,0,0,0,0,0, + 0,0,0,0,0,0,-126,-154,-158,0, + 0,-129,0,0,0,0,0,0,0,0, + 0,0,0,-131,0,0,0,0,0,0, + -213,0,0,0,0,0,0,0,0,0, + 0,-183,0,-271,0,0,0,0,0,0, + 0,-142,0,0,0,-214,0,0,0,0, + 0,0,0,0,0,0,0,-198,0,0, + 0,0,0,0,0,0,0,0,0,0, + -215,0,0,0,0,0,0,0,0,0, + 0,-250,-258,0,0,0,0,0,0,0, + 0,-261,0,0,0,-216,0,0,0,0, + 0,0,0,0,0,0,-272,-303,0,-310, + 0,0,0,0,0,0,0,0,0,0, + -217,0,0,0,0,0,0,0,0,0, + 0,-316,0,-311,-320,0,0,0,0,0, + 0,-323,0,0,0,-218,0,0,0,0, + 0,0,0,0,0,0,0,-325,0,0, + 0,0,0,0,0,0,-343,0,0,0, + -219,0,0,0,0,0,0,0,0,0, + 0,0,0,-332,-340,0,0,0,0,0, + 0,0,0,0,0,-220,0,0,0,0, + 0,0,0,0,0,0,-144,-145,-146,0, + 0,0,0,0,0,0,0,0,0,0, + -221,0,0,0,0,0,0,0,0,0, + 0,-147,-148,0,0,0,0,0,0,0, + 0,-149,0,0,0,-222,0,0,0,0, + 0,0,0,0,0,0,-150,-151,-152,-153, + 0,0,0,0,0,0,-157,0,0,0, + -223,0,0,0,0,0,0,0,0,0, + 0,-162,-167,-168,-176,0,0,0,0,0, + 0,-177,0,0,0,-255,0,0,0,0, + 0,0,0,0,0,0,-178,-179,-181,-186, + 0,0,0,0,0,0,-191,0,0,0, + -273,0,0,0,0,0,0,0,0,0, + 0,-204,-205,-246,-247,0,0,0,0,0, + 0,-248,0,0,0,-277,0,-210,0,0, + 0,0,0,0,0,0,-256,-263,-276,-281, + 0,0,0,0,0,0,-282,0,0,0, + -50,0,0,0,0,0,0,0,-278,0, + 0,0,0,0,0,0,0,0,0,-283, + -284,0,-285,0,0,0,0,0,0,-286, + 0,0,0,-312,0,0,0,0,0,0, + 0,0,0,0,-287,-288,-289,-290,0,0, + 0,0,0,0,-291,0,0,0,-329,0, + -279,0,0,0,0,0,0,0,0,-292, + -293,-294,-295,0,0,0,0,0,0,-296, + 0,0,0,-51,0,-317,0,0,0,0, + 0,-337,0,0,0,0,0,0,0,0, + 0,0,-313,-350,0,-327,0,0,0,0, + 0,0,-334,0,0,0,-349,0,0,0, + 0,0,0,0,0,0,0,-338,0,0, + -318,0,0,0,0,0,0,0,0,0, + 0,-52,0,0,0,0,0,0,0,-353, 0,0,0,0,0,0,0,0,0,0, - -179,-218,0,0,0,0,0,0,0,0, - 0,0,-29,0,-100,0,0,0,-331,0, 0,0,0,0,0,0,0,0,0,0, - -177,0,0,0,0,0,0,0,0,0, - 0,0,-68,0,0,-343,-67,0,0,0, - 0,0,0,0,0,0,-61,-69,0,0, - 0,0,0,0,0,-13,0,0,0,0, + -298,0,0,0,0,-159,0,0,-321,0, + -160,0,0,0,0,-235,0,-161,0,0, + 0,0,0,0,0,0,0,0,0,-18, + 0,0,-170,-180,0,0,0,-195,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-26,0,0,0,-34,0,-36,-43,0, - -57,0,0,0,0,0,0,0,-216,-254, + -75,0,0,0,0,0,0,-21,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-112,0,0,0,0,0,-197,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-189,0,0,0,0,0, + -208,0,0,-252,-259,0,0,0,0,0, + 0,0,0,0,0,0,0,-347,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-37,0, - 0,0,0,0,-285,0,0,0,0,0, - 0,0,0,-113,0,0,0,0,0,0, - 0,0,0,0,0,0,-70,0,0,0, - 0,0,0,-83,0,0,0,-90,-155,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-91,0, - 0,0,-93,0,0,-108,0,-158,0,0, - 0,-94,-187,-38,0,0,0,0,0,0, - 0,0,0,-182,-234,0,0,0,0,0, - 0,0,0,0,0,0,-97,0,0,-89, - 0,-99,-296,-103,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-105,0,0,0,0,-98,0,0, - 0,0,0,0,0,0,0,0,0,-176, - 0,-116,0,0,0,0,0,0,0,0, - 0,-189,-129,0,0,0,0,0,0,0, - 0,0,-332,0,-50,0,0,0,0,0, - 0,-231,0,0,0,-207,-190,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -82,0,0,0,0,0,-64,0,0,0, - -110,0,0,-191,-208,0,0,0,0,0, - 0,0,0,0,0,-87,0,0,0,0, - 0,0,0,0,0,0,0,-235,-192,0, - 0,0,0,0,0,0,0,0,0,0, - -88,-95,-251,0,0,0,0,0,-250,0, - 0,0,-130,-193,0,0,0,0,0,0, - 0,0,0,0,0,0,-146,0,0,0, - 0,0,0,0,0,0,0,0,-194,0, - 0,0,0,0,0,0,0,0,0,-316, - -154,-156,0,0,0,0,0,0,-258,0, - 0,0,0,-195,0,0,0,0,0,0, - 0,0,0,0,0,0,-174,0,0,0, - 0,0,0,0,0,0,0,-297,-196,0, - 0,0,0,0,0,0,0,0,0,-236, - 0,-239,0,0,0,0,0,0,-268,0, - 0,0,-303,-197,0,0,0,0,0,0, - 0,0,0,0,0,0,-290,-298,0,0, - 0,0,0,-304,0,0,0,0,-198,0, - 0,0,0,0,0,0,0,0,0,-328, - 0,0,0,0,0,0,0,0,-305,0, - 0,0,0,-199,0,0,0,0,0,0, - 0,0,0,0,-306,0,-319,0,0,0, - 0,0,0,-344,0,0,0,-342,-246,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-338,0,0,0,0,0,0,-131,0, - 0,0,-341,-252,0,0,0,0,0,0, - 0,0,0,0,-345,0,-349,0,0,0, - 0,0,0,-132,0,0,0,-256,-133,0, - 0,0,0,0,0,0,0,0,-351,-134, - -135,0,0,0,0,0,0,-136,0,0, - 0,-137,-257,0,0,0,0,0,0,0, - 0,0,0,0,-138,-139,0,0,0,0, - 0,0,-288,0,0,0,-143,0,0,-102, - -291,0,0,0,0,0,0,-219,-147,0, - 0,0,0,0,0,0,0,0,-149,0, - 0,-353,0,-104,0,0,0,0,0,-121, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-150,0,0,-299,-151,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-323, - 0,0,0,0,0,0,0,0,0,0, - -153,-159,-164,-167,0,0,0,0,0,-168, - 0,0,0,-333,-169,0,0,0,0,0, - 0,0,0,0,-180,0,-27,-181,0,0, - 0,0,0,-241,0,0,0,-346,-255,0, - 0,0,0,0,0,0,0,0,-269,0, - -270,-271,0,0,0,0,0,-272,0,0, - 0,-350,-273,0,0,0,0,0,0,0, - 0,0,-274,0,-21,-275,0,0,0,0, - 0,-33,0,0,0,0,0,0,0,-276, - -166,0,0,0,0,0,-277,0,-278,-279, - -280,0,0,0,0,0,0,-221,-281,0, - 0,0,0,0,0,0,0,0,0,-117, - 0,0,-140,0,0,0,0,-152,0,0, - 0,0,-60,0,-282,0,0,0,0,-283, - -171,0,0,0,0,0,0,0,0,0, - -284,0,0,0,0,0,0,0,-300,0, - 0,0,-85,0,0,0,-309,-310,-311,0, - 0,0,0,0,0,0,-173,-184,0,-312, - 0,0,-321,-330,-334,0,0,0,0,0, - 0,0,0,-262,0,0,0,0,0,0, - 0,0,0,0,0,0,-160,0,0,0, - -162,0,0,0,0,0,0,-75,0,-222, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -244,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-200,0,0,0,0,0, - 0,-23,0,0,0,0,0,0,0,0, - 0,0,-178,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-249,0,0,-201,0,0,0,0,0, - -237,0,0,0,0,0,0,0,0,0, - -35,0,0,0,0,0,0,-76,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-92,0,-39,0,0,0,0, - 0,-240,0,0,0,0,0,0,0,0, - 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,-242,0,0, - -6,0,0,-243,0,0,-318,0,0,0, - 0,0,-161,0,-232,0,0,0,0,0, + 0,0,0,0,-193,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-227, 0,0,0,0,0,0,0,0,0,0, - 0,0,-9,0,0,-247,0,0,0,0, + 0,0,0,-46,-266,0,0,0,0,0, + 0,-262,-66,-264,0,0,0,0,-265,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-263,0,-42,0,0,0, + 0,0,0,0,0,0,-268,0,-300,0, + 0,0,0,0,0,0,0,0,-6,-354, + 0,-322,0,-201,0,0,-270,0,0,0, + 0,0,0,-356,0,0,0,0,0,0, + 0,0,0,0,0,-41,0,0,0,-155, + 0,0,0,-103,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-322,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-44, 0,0,0,0,0,0,0,0,0,0, - -119,0,0,0,0,0,0,0,0,0, - 0,-77,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-229,0,0,0,0,0,0,0,0, - 0,0,-301,0,0,0,0,0,0,0, - 0,-106,0,0,0,0,0,0,0,0, - -52,0,0,0,0,0,0,0,-15,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-264,0,0,0,0,0, - 0,0,-265,0,0,0,0,0,-266,0, - 0,0,0,-71,0,0,0,0,0,0, - -30,0,0,0,0,0,0,0,0,0, - 0,-145,0,0,0,0,0,0,0,-80, + 0,0,0,0,0,0,0,0,0,-242, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-163,0,0,0, - 0,0,0,0,0,0,0,0,-202,0, - -267,-286,-315,0,0,0,-165,0,0,0, - 0,0,-320,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-245,0,0,-327,0,0, - -287,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-292,0,0,0,0, + -243,0,0,0,0,0,0,0,0,0, + 0,-105,0,0,-260,-328,0,0,0,-104, + -326,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-341,0, 0,0,0,0,0,0,0,0,0,0, - -336,0,0,0,0,0,0,0,0,0, - 0,0,0,-294,0,0,0,0,0,0, - 0,-348,0,0,0,0,0,0,0,0, - 0,0,0,0,-295,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, + -239,0,0,0,0,0,0,0,0,0, + 0,-132,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-240,0,0,0, + 0,0,0,0,0,0,0,-314,0,0, + 0,0,0,0,0,0,0,-16,0,0, + 0,0,0,-67,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-245,-352, + 0,0,0,0,0,0,-101,0,0,-209, + 0,-86,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-339,0,0,0,0,0,-308,0, + 0,0,0,0,0,0,0,0,-107,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-347,0,0,0,0,-120,0, + 0,0,0,-133,0,0,0,0,0,0, + 0,0,0,0,-9,0,0,-190,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-192,0, 0,0,0,0,0,0,0,0,0,0, - 0,-352,0,0,-144,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-307,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-18,0,0,0,-20,0, + 0,0,-253,0,0,0,0,-267,0,0, + -297,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-1,0,-259,0,0,0, + 0,0,0,0,-185,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-127,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-40,0,0,0,0, + 0,0,-305,0,0,-20,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-325,0,0,0,0,-74,0, - -157,0,0,0,0,0,0,0,0,0, - 0,0,-223,0,0,0,0,0,0,0, - 0,0,0,-19,0,0,0,0,-22,0, - 0,0,-44,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-307, 0,0,0,0,0,0,0,0,0,0, - 0,0,-55,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-308,0, + 0,-269,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-233,0,0,0,-107,0, + 0,0,0,0,0,-344,0,0,0,0, + 0,0,-1,0,0,0,0,0,0,0, + 0,0,-174,0,-351,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-217,0,0,0,0,0,0,0, - 0,0,0,0,0,-261,0,0,0,-203, - 0,0,0,0,-14,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, - -210,0,0,0,-17,0,0,0,0,0, + 0,-355,0,0,-301,0,0,0,0,0, + -331,0,0,0,0,0,0,0,-25,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-65,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-122, - 0,0,0,0,0,0,0,-123,0,0, - 0,0,0,0,0,-124,0,0,0,0, - 0,0,0,-126,0,0,0,0,0,0, - 0,-204,0,-205,0,0,-248,0,0,-206, - 0,-228,0,0,0,-148,0,0,0,0, + 0,0,0,0,0,-22,-187,0,0,0, + 0,-236,0,0,0,0,0,0,0,0, + 0,0,-164,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -211,0,0,0,0,0,0,0,-212,0, + 0,0,0,0,0,0,0,-228,0,0, + 0,0,0,0,0,0,0,0,-143,0, + -345,0,0,0,0,0,0,-188,0,0, 0,0,0,0,0,0,0,0,0,0, + -229,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-314,0,0,-213,0,0, - 0,0,0,0,0,-260,0,0,0,0, - 0,0,0,-51,0,0,0,0,0,0, - -78,0,-185,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-302,0, - -128,0,0,0,0,0,0,-324,0,0, - 0,0,0,0,0,-337,0,0,0,0, - 0,0,-293,0,0,-340,0,0,0,0, + -230,0,0,0,0,0,0,0,0,0, + -280,0,0,0,0,0,0,0,0,-54, + 0,0,0,0,0,0,0,0,-55,0, + 0,0,0,0,0,0,0,-56,0,0, + 0,0,0,0,0,0,0,0,0,-96, + 0,0,-57,0,0,0,0,0,0,0, + 0,-58,0,-70,0,0,0,0,0,0, + -163,-184,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-59, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-224,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-244,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-225, + 0,0,0,0,0,0,0,0,-226,0, + 0,0,0,0,0,0,0,-249,0,0, + 0,0,0,0,0,0,-17,0,0,-60, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-61,0,0,-80,0,0,-90,0, + 0,0,0,-91,0,0,0,0,0,0, + -138,-92,0,0,-135,0,0,-93,0,0, + 0,0,0,0,0,-202,0,0,0,0, + 0,0,0,0,-304,0,0,0,0,0, + 0,0,-173,0,0,0,0,0,0,-169, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-315,0,0, + 0,-330,0,0,0,-324,0,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,-241,0,0,0,0,-306,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, @@ -336,310 +345,321 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym public interface BaseAction { public final static char baseAction[] = { - 118,1,44,44,20,20,50,50,24,24, - 2,2,2,2,3,3,3,4,4,5, - 5,5,5,5,5,5,5,75,75,98, - 98,6,6,6,6,6,6,6,6,6, - 6,6,7,7,8,8,8,8,9,9, - 9,10,10,10,15,15,15,15,15,16, - 16,16,17,17,18,18,19,19,21,21, - 22,22,23,23,26,26,26,26,26,26, - 26,26,26,26,26,26,37,30,25,119, - 119,100,100,60,38,38,38,38,38,38, - 38,39,39,39,33,33,101,101,76,76, + 120,2,44,44,21,21,50,50,25,25, + 1,1,3,3,3,3,4,4,4,5, + 6,6,6,6,6,6,6,6,75,75, + 100,7,7,7,7,7,7,7,7,7, + 7,7,8,8,9,9,9,9,10,10, + 10,15,15,15,16,16,16,16,16,17, + 17,17,18,18,19,19,20,20,22,22, + 23,23,24,24,27,27,27,27,27,27, + 27,27,27,27,27,27,37,30,26,121, + 121,102,102,60,38,38,38,38,38,38, + 38,39,39,39,33,33,103,103,76,76, 40,40,41,41,41,70,70,42,42,42, - 42,43,43,43,43,43,53,53,29,29, - 29,29,29,54,54,54,89,89,84,84, - 84,84,85,85,85,86,86,86,87,87, - 87,88,88,88,102,102,90,90,91,55, - 57,57,57,57,57,71,72,72,72,72, - 72,72,72,72,72,72,72,72,80,80, - 27,27,77,77,120,121,81,81,78,78, - 78,92,103,103,104,104,93,93,93,59, - 122,122,105,94,94,94,79,79,123,106, - 106,107,107,95,95,31,32,32,32,56, - 51,51,45,45,45,45,34,34,35,46, - 46,47,36,36,108,108,48,125,125,124, - 124,52,52,52,52,52,52,52,52,52, - 109,61,61,61,61,49,82,82,73,73, - 73,74,74,63,63,126,126,69,69,83, - 83,83,64,64,64,65,66,66,66,67, - 67,67,67,62,62,62,68,127,99,99, - 99,99,96,128,129,129,130,130,131,131, - 118,118,132,132,110,110,110,110,133,133, - 111,111,111,112,112,11,11,11,28,28, - 12,12,134,134,113,113,113,114,114,135, - 135,115,115,13,13,136,136,116,116,116, - 14,58,137,137,138,138,117,117,117,97, - 97,97,6,6,6,6,53,54,91,91, - 91,105,105,105,123,120,121,49,92,130, - 130,139,140,96,324,1458,14,19,15,1093, - 1082,44,1193,1414,1389,357,315,316,317,1430, - 1419,1438,1431,1455,350,1442,1456,74,1936,2489, - 91,1936,403,600,498,134,215,1731,944,14, - 19,15,1093,42,44,1193,1414,1389,233,231, - 1683,233,1430,1419,1438,1431,1659,229,136,133, - 135,159,1905,647,902,36,1378,2519,1779,790, - 14,19,15,1093,354,138,165,357,315,316, - 317,142,145,148,151,2605,101,126,1963,886, - 2089,2415,2419,1625,169,1768,261,134,215,313, - 608,226,234,742,1554,794,1673,1467,1162,1731, - 511,14,19,15,1093,42,44,1193,1414,1389, - 136,133,135,159,1430,1419,1438,1685,1393,1542, - 1575,14,19,15,1093,42,35,138,165,357, - 315,316,317,142,145,148,151,2605,970,243, - 1963,886,2089,2415,2419,1625,166,1728,182,134, - 215,1731,230,14,19,15,1093,42,44,1193, - 1414,1389,1019,248,439,435,1430,1419,1650,256, - 215,311,136,133,135,159,1731,750,14,19, - 15,1093,42,44,1193,1414,1389,488,212,138, - 165,1430,1651,257,215,142,145,148,151,2605, - 508,1068,1963,886,2089,2415,2419,1625,1635,765, - 14,19,15,1093,1082,44,1193,1414,1389,1566, - 581,1979,979,1430,1419,1438,1431,1455,539,1442, - 1456,74,257,215,283,1659,765,14,19,15, - 1093,1082,44,1193,1414,1389,89,1013,647,979, - 1430,1419,1438,1431,1455,1218,1442,1456,74,491, - 1731,283,14,19,15,1093,42,44,1193,1599, - 288,278,124,87,399,333,1479,1731,1231,14, - 19,15,1093,42,44,1193,1414,1389,840,396, - 323,1044,1430,1419,1438,1431,1455,288,1442,1456, - 73,970,232,1479,289,940,1731,1230,14,19, - 15,1093,42,44,1193,1414,1626,231,1761,1950, - 1518,765,14,19,15,1093,1082,44,1193,1414, - 1389,289,256,215,1393,1430,1419,1438,1431,1455, - 2181,1442,1456,74,169,2569,283,415,518,14, - 19,15,1093,1082,44,1193,1414,1389,790,1578, - 979,1085,1430,1419,1438,1431,1455,104,1442,1456, - 74,336,1731,475,14,19,15,1093,42,44, - 1193,1601,290,542,87,1568,785,662,1479,115, - 295,241,1574,794,14,19,15,1093,1082,44, - 1193,1414,1389,390,1134,900,345,1430,1419,1438, - 1431,1455,1735,1442,1456,74,291,1875,283,14, - 19,15,1093,1082,44,1193,1414,1389,986,1307, - 2653,1575,1430,1419,1438,1431,1455,245,1442,1456, - 74,1577,1731,331,14,19,15,1093,42,44, - 1193,1414,1389,450,157,647,1641,1613,347,1683, - 1479,14,19,15,1093,1082,44,1193,1414,1389, - 310,1248,498,321,1430,1419,1438,1431,1455,126, - 1442,1456,74,169,784,283,1707,989,14,19, - 15,1093,1082,44,1193,1414,1389,750,1333,211, - 199,1430,1419,1438,1431,1455,591,1442,1456,74, - 821,1578,283,1734,639,294,1183,357,315,316, - 317,373,843,2543,839,370,742,1479,742,1902, - 1080,1293,329,318,315,316,317,134,215,1731, - 1389,14,19,15,1093,42,44,1602,292,227, - 2081,1131,1966,189,1479,188,375,226,685,542, - 144,133,135,159,195,1936,2785,220,480,223, - 699,257,215,2804,1755,2813,14,19,15,1093, - 1082,44,1193,1414,1389,280,867,601,681,1430, - 1419,1438,1431,1455,361,1442,1456,74,1035,1731, - 773,14,19,15,1093,1082,44,1193,1414,1389, - 322,1044,154,682,1430,1419,1438,1431,1455,1230, - 1442,1456,74,1476,1105,91,169,1823,169,979, - 738,1470,1501,515,742,14,19,15,1093,1082, - 44,1193,1414,1389,970,1018,498,464,1430,1419, - 1438,1431,1455,87,1442,1456,74,39,1892,1239, - 742,190,872,1875,1525,14,19,15,1093,1082, - 44,1193,1414,1389,1905,256,215,242,1430,1419, - 1438,1431,1455,1381,1442,1456,74,1232,1731,331, - 14,19,15,1093,42,44,1193,1414,1389,1554, - 647,1842,1854,1430,1419,1438,1431,1455,262,1442, - 1456,93,1731,1900,14,19,15,1093,1082,44, - 1193,1414,1389,742,197,419,920,1430,1419,1438, - 1431,1455,1992,1442,1456,74,1142,1731,85,14, - 19,15,1093,1082,44,1193,1414,1389,1553,127, - 297,698,1430,1419,1438,1431,1455,1902,1442,1456, - 74,721,1024,84,1731,1142,14,19,15,1093, - 1082,44,1193,1414,1389,341,698,340,330,1430, - 1419,1438,1431,1455,277,1442,1456,74,1162,1731, - 83,14,19,15,1093,1082,44,1193,1414,1389, - 123,698,698,1162,1430,1419,1438,1431,1455,1577, - 1442,1456,74,1264,1731,82,14,19,15,1093, - 1082,44,1193,1414,1389,122,111,169,1168,1430, - 1419,1438,1431,1455,23,1442,1456,74,285,1731, - 81,14,19,15,1093,1082,44,1193,1414,1389, - 2035,698,698,206,1430,1419,1438,1431,1455,794, - 1442,1456,74,22,1731,80,14,19,15,1093, - 1082,44,1193,1414,1389,125,121,169,2717,1430, - 1419,1438,1431,1455,1293,1442,1456,74,1162,1731, - 79,14,19,15,1093,1082,44,1193,1414,1389, - 169,588,698,244,1430,1419,1438,1431,1455,794, - 1442,1456,74,1162,1731,78,14,19,15,1093, - 1082,44,1193,1414,1389,1330,1471,698,2011,1430, - 1419,1438,1431,1455,794,1442,1456,74,183,1731, - 77,14,19,15,1093,1082,44,1193,1414,1389, - 1162,1937,196,20,1430,1419,1438,1431,1455,794, - 1442,1456,74,207,1731,76,14,19,15,1093, - 1082,44,1193,1414,1389,169,615,698,246,1430, - 1419,1438,1431,1455,1391,1442,1456,74,296,1731, - 75,14,19,15,1093,1082,44,1193,1414,1389, - 1368,2846,698,247,1430,1419,1438,1431,1455,755, - 1442,1456,74,2035,1731,92,14,19,15,1093, - 42,44,1193,1414,1389,742,117,1162,296,1430, - 1419,1438,1431,1455,1350,1442,1456,93,1731,842, - 14,19,15,1093,1082,44,1193,1414,1389,794, - 917,645,299,1430,1419,1438,1431,1455,741,1442, - 1456,74,1084,1731,1314,14,19,15,1093,1082, - 44,1193,1414,1389,214,368,590,26,1430,1419, - 1438,1431,1455,358,1442,1456,74,1189,1407,1339, - 1883,1578,979,298,318,315,316,317,1731,1404, - 14,19,15,1093,42,44,1193,1414,1389,1952, - 1691,1987,794,1623,1607,284,87,375,226,231, - 1731,115,14,19,15,1093,42,39,221,480, - 223,225,878,1922,338,276,1731,802,14,19, - 15,1093,42,44,1193,1414,1389,271,599,1112, - 274,1430,1419,1438,1431,1455,372,1442,1456,93, - 1731,1357,14,19,15,1093,42,44,1193,1414, - 1389,66,1145,1249,1361,1430,1419,1438,1431,1455, - 664,1442,1456,93,1731,1259,14,19,15,1093, - 42,44,1193,1414,1389,998,204,396,2023,1430, - 1419,1438,1431,1455,1549,1442,1456,93,1731,1569, - 14,19,15,1093,42,44,1193,1414,1389,2046, - 205,2048,1980,1430,1419,1438,1431,1455,2019,1442, - 1456,93,1731,966,14,19,15,1093,42,44, - 1193,1414,1389,1015,1364,1393,1049,1430,1419,1438, - 1431,1455,1909,1442,1456,93,357,315,316,317, - 1412,843,2523,319,315,316,317,1667,1429,1691, - 1322,1384,318,315,316,317,134,215,1731,1138, - 14,19,15,1093,42,44,1193,1414,1640,2081, - 169,374,1492,1902,785,375,226,231,1902,137, - 133,135,159,196,374,773,220,480,223,225, - 1553,1902,2804,232,344,87,139,165,350,199, - 1845,1396,143,146,149,152,2605,110,86,1742, - 1042,320,835,1,374,911,95,1951,2054,2059, - 1182,108,94,96,97,98,99,1902,1963,2179, - 2060,154,682,1642,1047,1766,109,110,86,1805, - 1042,356,835,1105,1469,2319,95,339,236,3036, - 1182,108,94,96,97,98,99,169,979,106, - 3036,260,374,314,279,3036,109,3036,545,498, - 1731,356,14,19,15,1093,42,44,1193,1414, - 1647,3036,87,3036,1713,110,86,1928,1042,107, - 835,131,374,3036,95,3036,276,835,1182,108, - 94,96,97,98,99,1902,3036,3036,269,599, - 1112,274,502,2523,109,110,86,3036,1042,356, - 835,308,3036,1134,95,2796,356,2182,1182,108, - 94,96,97,98,99,3036,3036,106,3036,3036, - 3036,105,440,2523,109,1902,375,226,231,356, - 1575,1902,3036,318,315,316,317,220,480,223, - 225,1961,1791,909,3036,16,3036,107,843,2523, - 2063,351,319,315,316,317,375,226,231,318, - 315,316,317,3036,717,979,889,220,480,223, - 225,3036,1902,1709,3036,3036,2081,319,315,316, - 317,2365,375,226,231,369,2565,3036,110,86, - 3036,1042,2236,220,480,223,225,95,211,2804, - 3036,1182,1552,94,96,97,98,99,1902,1189, - 1578,653,436,3036,1902,3036,2829,1578,979,375, - 226,231,3036,169,979,1222,2221,200,2264,3036, - 220,480,223,225,2285,306,265,276,155,682, - 433,3036,87,1457,1308,279,2009,115,87,269, - 599,1112,274,1934,357,315,316,317,3036,375, - 226,231,3036,3036,305,1902,325,1967,266,356, - 220,480,223,225,134,215,909,276,319,315, - 316,317,1598,2523,3036,1717,3036,2251,3036,269, - 599,1112,274,318,315,316,317,141,133,135, - 159,1803,3036,14,19,15,1093,352,2182,3036, - 2063,263,1989,3036,140,165,375,226,231,3036, - 3036,303,304,319,315,316,317,220,480,223, - 225,3036,1731,1709,14,19,15,1093,42,44, - 1193,1414,1389,440,2523,3036,3036,1430,1419,1438, - 1431,1455,2000,1701,319,315,316,317,3036,3036, - 3036,843,2523,319,315,316,317,3036,3036,1324, - 3036,3036,319,315,316,317,2829,375,226,231, - 357,315,316,317,3036,1902,3036,201,220,480, - 223,225,3036,1902,1709,375,226,231,3036,1902, - 134,215,3036,3036,941,1718,220,480,223,225, - 3036,1218,2811,1719,3036,318,315,316,317,1730, - 3036,3036,2013,147,133,135,159,3036,3036,3036, - 941,334,1987,319,315,316,317,2838,375,226, - 231,318,315,316,317,3036,3036,766,979,221, - 480,223,225,878,3036,3036,3036,3036,1987,1193, - 2596,1902,1902,1902,375,226,1513,815,979,3036, - 3036,110,86,1902,1042,221,480,223,1489,878, - 95,21,275,281,1182,103,94,96,97,98, - 99,110,86,1382,1042,864,979,3036,1902,3036, - 95,1319,498,3036,1182,101,94,96,97,98, - 99,276,318,315,316,317,913,979,282,110, - 86,3036,1042,269,599,1112,274,335,95,1987, - 1905,1902,1182,102,94,96,97,98,99,3036, - 110,86,268,1042,962,979,3036,635,3036,95, - 668,2334,1902,1182,118,94,96,97,98,99, - 3036,3036,1463,3036,261,1011,979,3036,110,86, - 3036,1042,2362,3036,2183,1467,3036,95,3036,3036, - 3036,1182,114,94,96,97,98,99,3036,110, - 86,3036,1042,1060,979,3036,3036,3036,95,1904, - 498,3036,1182,1733,94,96,97,98,99,3036, - 318,315,316,317,1109,979,3036,110,86,1827, - 1042,14,19,15,1093,40,95,1987,1905,3036, - 1182,113,94,96,97,98,99,3036,110,86, - 3036,1042,1158,979,3036,888,498,95,668,3036, - 3036,1182,120,94,96,97,98,99,3036,3036, - 2396,3036,261,3036,3036,3036,110,86,3036,1042, - 3036,3036,2183,1467,835,95,506,3036,312,1182, - 119,94,96,97,98,99,3036,318,315,316, - 317,3036,3036,3036,3036,1467,3036,3036,309,1899, - 3036,3036,3036,356,1987,3036,357,315,316,317, - 357,315,316,317,3036,580,436,1542,3036,14, - 19,15,1093,42,35,878,134,215,276,3036, - 134,215,1851,3036,14,19,15,1093,33,306, - 271,599,1112,274,433,3036,941,3036,3036,150, - 133,135,159,153,133,135,159,318,315,316, - 317,249,3036,3036,2034,3036,3036,3036,305,770, - 498,497,374,356,1987,319,315,316,317,3036, - 608,226,235,1731,3036,14,19,15,1093,42, - 44,1193,1414,1649,791,878,87,3036,1905,1133, - 835,115,3036,1133,3036,318,315,316,317,3036, - 318,315,316,317,318,315,316,317,3036,3036, - 3036,3036,1886,1133,739,302,304,1987,3036,356, - 3036,1987,261,394,318,315,316,317,3036,3036, - 3036,1282,1673,1467,3036,1133,3036,1931,668,1183, - 498,1987,668,3036,3036,3036,318,315,316,317, - 2466,3036,3036,1731,2124,14,19,15,1093,42, - 44,1608,668,1987,3036,3036,1133,3036,199,3036, - 169,374,3036,3036,2150,589,1014,318,315,316, - 317,3036,3036,3036,668,3036,318,315,316,317, - 3036,3036,3036,3036,1987,87,1463,406,1080,199, - 1845,169,979,1632,3036,644,3036,939,318,315, - 316,317,3036,3036,3036,668,318,315,316,317, - 3036,3036,3036,1987,3036,1861,87,2396,3036,2179, - 3036,1289,194,1861,318,315,316,317,3036,1985, - 3036,3036,478,851,3036,3036,3036,3036,3036,3036, - 1731,2072,14,19,15,1093,42,38,1731,3036, - 14,19,15,1093,42,37,1731,3036,14,19, - 15,1093,42,36,1731,3036,14,19,15,1093, - 42,34,169,374,169,374,3036,1313,498,906, - 169,374,169,979,3036,783,1731,908,14,19, - 15,1093,42,35,3036,3036,3036,87,3036,87, - 3036,199,1845,199,1845,87,199,87,3036,199, - 1845,1731,1690,14,19,15,1093,42,47,1731, - 3036,14,19,15,1093,42,46,3036,3036,3036, - 3036,2179,3036,2179,1063,3036,1080,3036,3036,2179, - 3036,2105,3036,2113,3036,770,498,3036,1731,2119, - 14,19,15,1093,42,45,1611,3036,14,19, - 15,1093,42,43,1977,3036,3036,3036,3036,3036, - 194,1998,3036,970,1905,318,315,316,317,3036, - 1268,851,318,315,316,317,3036,3036,3036,2022, - 3036,1851,2032,14,19,15,1093,32,2024,2142, - 318,315,316,317,256,215,1578,979,261,318, - 315,316,317,169,979,3036,2036,2484,2218,1467, - 3036,3036,3036,3036,3036,3036,2856,319,315,316, - 317,87,3036,3036,3036,3036,115,3036,87,3036, - 3036,3036,3036,2193,3036,3036,3036,3036,3036,3036, - 3036,3036,3036,3036,3036,581,3036,3036,3036,3036, - 3036,3036,3036,3036,3036,3036,3036,3036,3036,3036, - 3036,3036,3036,3036,3036,3036,2272,3036,3036,3036, - 3036,3036,1418,3036,0,1,408,0,1,456, - 0,1,526,0,1,567,0,456,128,0, - 526,128,0,567,128,0,456,129,0,526, - 129,0,567,129,0,456,130,0,526,130, - 0,567,130,0,567,187,0,526,187,0, - 456,187,0,187,191,0,567,186,0,526, - 186,0,456,186,0,186,191,0,456,131, - 0,526,131,0,567,131,0,456,132,0, - 526,132,0,567,132,0,179,228,0,3043, - 1,0,225,237,0,1,3275,0,225,238, - 0,7,9,0,179,17,0,178,18,0, - 1,3264,0,112,2313,0 + 42,43,43,43,43,43,57,57,29,29, + 29,29,29,51,51,51,90,90,85,85, + 85,85,86,86,86,87,87,87,88,88, + 88,89,89,89,104,104,91,91,92,52, + 55,55,55,55,55,71,72,72,72,72, + 72,72,72,72,72,72,72,72,80,77, + 77,122,123,81,81,78,78,78,93,105, + 105,106,106,94,94,94,59,124,124,107, + 95,95,95,79,79,125,108,108,109,109, + 96,96,31,32,32,32,53,54,54,45, + 45,45,45,34,34,35,46,46,47,36, + 36,110,110,48,127,127,126,126,56,56, + 56,56,56,56,56,56,56,111,61,61, + 61,61,49,82,82,73,73,73,74,74, + 63,63,128,128,69,69,83,83,83,64, + 64,64,65,66,66,66,67,67,67,67, + 62,62,62,68,129,101,101,101,101,97, + 130,131,131,132,132,133,133,120,120,134, + 134,112,112,112,112,135,135,113,113,113, + 114,114,11,11,11,28,28,12,12,136, + 136,115,115,115,116,116,137,137,117,117, + 13,13,138,138,118,118,118,14,58,139, + 139,140,140,119,119,119,98,98,98,7, + 7,7,7,84,99,99,99,29,57,51, + 92,92,92,107,107,107,125,122,123,49, + 93,132,132,141,142,97,324,1464,351,16, + 20,17,621,1222,44,1387,1389,359,312,313, + 314,1388,1413,1412,1437,1422,1439,1368,1438,1440, + 74,231,1333,91,2114,1984,36,134,212,1806, + 19,101,16,20,17,621,42,44,1387,1389, + 1042,1037,1076,230,1388,1413,1620,136,133,135, + 504,159,316,312,313,314,253,212,1356,178, + 1778,315,312,313,314,126,450,138,165,359, + 312,313,314,142,145,148,151,1044,2000,166, + 354,2265,1054,1082,1750,2386,1048,318,417,134, + 212,1135,521,223,231,2519,390,2836,1463,885, + 594,186,315,312,313,314,273,502,673,136, + 133,135,308,159,268,1018,770,271,741,2000, + 1420,178,1988,594,185,521,223,232,1340,138, + 165,359,312,313,314,142,145,148,151,1044, + 885,723,354,2265,1054,1082,1750,2386,1048,330, + 292,134,212,254,212,1806,19,2519,16,20, + 17,621,42,44,1387,1389,594,1512,378,488, + 1595,136,133,135,226,159,501,867,1806,19, + 336,16,20,17,621,42,44,1387,1389,594, + 187,138,165,1388,1413,1412,1605,142,145,148, + 151,1044,594,30,354,2265,1054,1082,1750,2386, + 1048,1710,19,590,16,20,17,621,353,2519, + 1614,19,1729,16,20,17,621,1222,44,1387, + 1389,1364,1524,1771,224,1388,1413,1412,1437,1422, + 1439,1923,1438,1440,74,232,333,280,1638,19, + 1729,16,20,17,621,1222,44,1387,1389,1333, + 400,2851,209,1388,1413,1412,1437,1422,1439,1937, + 1438,1440,74,855,1857,280,968,351,625,2018, + 230,310,285,1995,315,312,313,314,1465,1806, + 19,1984,16,20,17,621,42,44,1387,1389, + 89,1966,24,127,1388,1413,1412,1437,1422,1439, + 285,1438,1440,73,254,212,1465,286,296,406, + 1034,1315,253,212,1496,19,1729,16,20,17, + 621,1222,44,1387,1389,227,594,30,886,1388, + 1413,1412,1437,1422,1439,286,1438,1440,74,1322, + 1164,280,419,19,671,16,20,17,621,1222, + 44,1387,1389,1042,755,968,569,1388,1413,1412, + 1437,1422,1439,663,1438,1440,74,1806,19,730, + 16,20,17,621,42,39,287,1431,124,87, + 2056,307,1465,1149,240,1753,238,296,556,2254, + 1553,19,993,16,20,17,621,1222,44,1387, + 1389,1364,338,1815,431,1388,1413,1412,1437,1422, + 1439,288,1438,1440,74,1854,19,280,16,20, + 17,621,1222,44,1387,1389,23,594,1212,431, + 1388,1413,1412,1437,1422,1439,274,1438,1440,74, + 1806,19,328,16,20,17,621,42,44,1387, + 1389,104,157,493,977,1596,1662,19,1465,16, + 20,17,621,1222,44,1387,1389,1042,1042,1865, + 1947,1388,1413,1412,1437,1422,1439,509,1438,1440, + 74,1686,19,280,16,20,17,621,1222,44, + 1387,1389,126,194,2002,1858,1388,1413,1412,1437, + 1422,1439,744,1438,1440,74,1806,19,280,16, + 20,17,621,42,44,1387,1389,296,375,2855, + 1896,1388,1573,341,1465,254,212,744,1184,590, + 1806,19,326,16,20,17,621,42,44,1387, + 1389,767,1431,289,910,1388,1580,645,342,1465, + 337,344,1927,1830,19,2210,16,20,17,621, + 1222,44,1387,1389,465,1431,405,123,1388,1413, + 1412,1437,1422,1439,1431,1438,1440,74,1806,19, + 1528,16,20,17,621,1222,44,1387,1389,296, + 122,2866,995,1388,1413,1412,1437,1422,1439,111, + 1438,1440,74,515,19,91,16,20,17,621, + 1222,44,1387,1389,1333,1430,2505,1165,1388,1413, + 1412,1437,1422,1439,590,1438,1440,74,1880,296, + 1611,1163,1117,1854,19,277,16,20,17,621, + 1222,44,1387,1389,1020,1462,500,239,1388,1413, + 1412,1437,1422,1439,782,1438,1440,74,1420,178, + 328,1264,319,1182,591,315,312,313,314,359, + 312,313,314,857,1164,359,312,313,314,645, + 1463,1432,421,1097,275,39,1032,1340,2714,134, + 212,590,1366,594,294,134,212,315,312,313, + 314,305,358,359,312,313,314,1549,331,137, + 133,135,18,159,2184,144,133,135,21,159, + 498,223,640,134,212,1898,594,296,1758,139, + 165,217,659,220,649,143,146,149,152,1044, + 1903,1927,355,147,133,135,335,159,1806,19, + 327,16,20,17,621,42,44,1387,1389,1431, + 717,1177,968,1388,1413,1412,1437,1422,1439,1140, + 1438,1440,93,1927,1949,1984,476,154,625,2883, + 316,312,313,314,125,110,86,169,590,590, + 658,179,1502,95,320,1182,657,964,1490,94, + 96,97,98,99,2059,332,253,212,1497,229, + 1514,1806,19,698,16,20,17,621,1222,44, + 1387,1389,1431,282,1949,508,1388,1413,1412,1437, + 1422,1439,1879,1438,1440,74,1806,19,85,16, + 20,17,621,1222,44,1387,1389,121,296,1287, + 2432,1388,1413,1412,1437,1422,1439,884,1438,1440, + 74,1806,19,84,16,20,17,621,1222,44, + 1387,1389,296,296,600,628,1388,1413,1412,1437, + 1422,1439,1431,1438,1440,74,1806,19,83,16, + 20,17,621,1222,44,1387,1389,1927,1431,1312, + 1927,1388,1413,1412,1437,1422,1439,2875,1438,1440, + 74,1806,19,82,16,20,17,621,1222,44, + 1387,1389,1927,2926,1997,2077,1388,1413,1412,1437, + 1422,1439,2077,1438,1440,74,1806,19,81,16, + 20,17,621,1222,44,1387,1389,203,1431,193, + 180,1388,1413,1412,1437,1422,1439,1431,1438,1440, + 74,1806,19,80,16,20,17,621,1222,44, + 1387,1389,204,2942,1927,1927,1388,1413,1412,1437, + 1422,1439,117,1438,1440,74,1806,19,79,16, + 20,17,621,1222,44,1387,1389,1714,1216,1185, + 1364,1388,1413,1412,1437,1422,1439,1365,1438,1440, + 74,1806,19,78,16,20,17,621,1222,44, + 1387,1389,1235,295,27,1654,1388,1413,1412,1437, + 1422,1439,838,1438,1440,74,1806,19,77,16, + 20,17,621,1222,44,1387,1389,774,863,869, + 1557,1388,1413,1412,1437,1422,1439,1345,1438,1440, + 74,1806,19,76,16,20,17,621,1222,44, + 1387,1389,2060,1462,664,2067,1388,1413,1412,1437, + 1422,1439,1956,1438,1440,74,1806,19,75,16, + 20,17,621,1222,44,1387,1389,2070,743,66, + 1559,1388,1413,1412,1437,1422,1439,975,1438,1440, + 74,1806,19,92,16,20,17,621,42,44, + 1387,1389,1149,2036,2073,2075,1388,1413,1412,1437, + 1422,1439,2076,1438,1440,93,1806,19,1164,16, + 20,17,621,1222,44,1387,1389,777,1665,1066, + 1925,1388,1413,1412,1437,1422,1439,2051,1438,1440, + 74,1734,19,1636,16,20,17,621,351,1806, + 19,211,16,20,17,621,1222,44,1387,1389, + 1738,1762,242,527,1388,1413,1412,1437,1422,1439, + 1115,1438,1440,74,1806,19,1681,16,20,17, + 621,42,44,1387,1389,1526,1990,1998,2001,1388, + 1413,1412,1437,1422,1439,916,1438,1440,93,1806, + 19,1164,16,20,17,621,42,44,1387,1389, + 1985,1166,1447,1942,1388,1413,1412,1437,1422,1439, + 1311,1438,1440,93,1758,19,1164,16,20,17, + 621,349,1806,19,201,16,20,17,621,42, + 44,1387,1389,2029,367,241,1668,1388,1413,1412, + 1437,1422,1439,1891,1438,1440,93,1806,19,202, + 16,20,17,621,42,44,1387,1389,2030,3141, + 243,1164,1388,1413,1412,1437,1422,1439,3141,1438, + 1440,93,1782,19,3141,16,20,17,621,40, + 1806,19,1838,16,20,17,621,42,44,1387, + 1389,3141,3141,3141,3141,1388,1413,1412,1437,1422, + 1439,358,1438,1440,93,244,590,1940,3141,1976, + 1678,590,315,312,313,314,1806,19,590,16, + 20,17,621,42,44,1387,1389,1515,3141,2000, + 1878,1597,1522,590,590,498,223,228,590,2808, + 1954,359,312,313,314,3141,218,659,220,222, + 885,196,1177,376,22,347,3141,273,947,317, + 3141,134,212,281,3141,268,1018,770,271,315, + 312,313,314,1,1177,376,110,86,3141,590, + 857,150,133,135,95,159,2000,3141,964,108, + 94,96,97,98,99,260,1177,376,110,86, + 336,1979,857,3141,590,590,95,612,109,358, + 964,108,94,96,97,98,99,3141,864,471, + 110,86,233,311,857,272,348,106,95,3141, + 109,358,964,108,94,96,97,98,99,1663, + 397,291,3141,3141,3141,1032,3141,1894,3141,107, + 846,372,109,358,1793,3141,315,312,313,314, + 1806,19,293,16,20,17,621,42,44,1387, + 1540,106,3141,2184,947,131,1177,376,3141,498, + 223,228,590,1238,590,315,312,313,314,590, + 217,659,220,222,315,312,313,314,1895,1903, + 110,86,2000,2383,857,2410,3141,1996,95,590, + 2429,2080,964,108,94,96,97,98,99,653, + 1164,438,590,612,906,105,500,746,322,1894, + 278,3141,109,358,1164,2212,154,625,315,312, + 313,314,3141,279,303,3141,1086,3141,420,658, + 408,107,2773,196,1032,2168,1894,316,312,313, + 314,498,223,228,295,315,312,313,314,3141, + 3141,3141,217,659,220,222,302,358,374,3141, + 1233,1653,2184,858,498,223,228,3141,498,223, + 228,316,312,313,314,217,659,220,222,217, + 659,220,222,3141,262,3141,273,3141,1903,3141, + 3141,3141,3141,3141,266,1018,770,271,192,3141, + 1806,19,2918,16,20,17,621,42,44,1387, + 1389,300,301,263,197,1388,1413,1412,1437,1422, + 1439,413,1630,2341,3141,155,625,3141,3141,3141, + 3141,1314,1577,3141,3141,1989,942,968,1894,3141, + 1287,590,276,315,312,313,314,315,312,313, + 314,316,312,313,314,498,223,228,260,590, + 2473,87,1347,3141,2168,115,217,659,220,222, + 498,223,228,3141,698,593,500,273,3141,3141, + 2475,217,659,220,222,266,1018,770,271,3141, + 1653,1806,19,3141,16,20,17,621,42,44, + 1387,1389,1582,1970,1824,1288,1388,1413,1412,1437, + 1422,1621,3141,316,312,313,314,1806,19,3141, + 16,20,17,621,42,44,1387,1389,746,3141, + 1894,2918,1388,1413,1412,1437,1622,258,540,316, + 312,313,314,198,1032,3141,1894,1178,1447,315, + 312,313,314,3141,3141,316,312,313,314,1193, + 590,500,498,223,228,3141,1159,296,3141,968, + 1984,3141,1135,217,659,220,222,3141,498,223, + 228,2502,1653,315,312,313,314,3141,1970,217, + 659,220,222,87,3141,3141,3141,1064,2072,1135, + 2000,253,212,3141,3141,3141,498,223,228,3141, + 315,312,313,314,766,3141,500,218,659,220, + 222,885,259,2922,3141,1435,3141,2000,831,1177, + 968,480,3141,498,223,1487,359,312,313,314, + 3141,3141,3141,196,218,659,220,1472,885,880, + 1177,968,663,110,86,3141,134,212,3141,3141, + 3141,95,3141,3141,3141,964,103,94,96,97, + 98,99,3141,858,110,86,141,133,135,3141, + 159,1526,95,3141,3141,3141,964,101,94,96, + 97,98,99,1331,3141,500,140,165,971,1177, + 968,1371,3141,500,315,312,313,314,191,3141, + 3141,3141,315,312,313,314,3141,3141,3141,1131, + 1944,2000,1970,110,86,296,3141,968,3141,2000, + 1970,95,3141,3141,3141,964,102,94,96,97, + 98,99,612,1062,1177,968,1888,3141,3141,3141, + 612,87,3141,3141,430,1902,258,359,312,313, + 314,3141,1721,3141,258,3141,1929,1447,110,86, + 1111,1177,968,3141,1929,1447,95,134,212,3141, + 964,118,94,96,97,98,99,3141,3141,1160, + 1177,968,997,3141,500,110,86,153,133,135, + 3141,159,3141,95,3141,3141,3141,964,114,94, + 96,97,98,99,110,86,1209,1177,968,3141, + 3141,196,95,580,3141,438,964,1656,94,96, + 97,98,99,1883,3141,1258,1177,968,3141,3141, + 3141,110,86,3141,316,312,313,314,303,95, + 3141,858,420,964,113,94,96,97,98,99, + 110,86,1307,1177,968,698,3141,500,95,3141, + 3141,2043,964,120,94,96,97,98,99,1922, + 302,358,316,312,313,314,191,110,86,3141, + 359,312,313,314,1970,95,3141,1290,1944,964, + 119,94,96,97,98,99,405,296,1894,968, + 134,212,1806,19,3141,16,20,17,621,42, + 44,1387,1389,1544,3141,2333,3141,1598,258,3141, + 356,133,135,87,159,299,301,1904,1942,1447, + 498,223,228,401,276,3141,3141,3141,3141,3141, + 3141,217,659,220,222,3141,3141,1939,1806,19, + 593,16,20,17,621,42,44,1387,1547,1520, + 19,2048,16,20,17,621,42,35,296,273, + 968,3141,316,312,313,314,3141,266,1018,770, + 271,1806,19,3141,16,20,17,621,42,44, + 1570,3141,3141,3141,87,3141,1824,3141,1909,3141, + 3141,1806,19,245,16,20,17,621,42,44, + 1571,1520,19,3141,16,20,17,621,42,35, + 1806,19,3141,16,20,17,621,42,38,1806, + 19,3141,16,20,17,621,42,37,1806,19, + 3141,16,20,17,621,42,36,3141,3141,3141, + 1401,3141,2721,1806,19,246,16,20,17,621, + 42,35,1806,19,947,16,20,17,621,42, + 34,947,1617,3141,376,315,312,313,314,3141, + 3141,3141,315,312,313,314,3141,3141,3141,3141, + 1710,19,2000,16,20,17,621,33,87,2000, + 3141,857,115,3141,1806,19,273,16,20,17, + 621,42,47,612,266,1018,770,271,3141,3141, + 612,3141,3141,947,3141,2239,3141,3141,3141,2075, + 358,3141,430,265,315,312,313,314,3141,3141, + 1806,19,1272,16,20,17,621,42,46,1806, + 19,2000,16,20,17,621,42,45,1590,19, + 3141,16,20,17,621,42,43,644,3141,3141, + 1710,19,612,16,20,17,621,32,315,312, + 313,314,3141,296,1721,376,1282,3141,3141,296, + 3141,376,3141,3141,296,1159,376,315,312,313, + 314,835,296,500,376,1095,1512,3141,296,87, + 376,3141,196,1081,2142,87,1095,1512,196,1081, + 87,3141,3141,196,1081,1989,3141,968,87,3141, + 1970,196,1081,549,87,500,3141,196,1081,3141, + 1734,19,2700,16,20,17,621,1537,2700,3141, + 3141,87,1014,2700,3141,115,3141,3141,1179,3141, + 503,2700,857,1726,258,3141,309,2700,2033,3141, + 3141,1731,2038,3141,1178,1447,1989,1738,968,315, + 312,313,314,315,312,313,314,3141,3141,3141, + 306,358,1989,3141,968,1338,2511,3141,3141,3141, + 2611,208,87,296,3141,968,115,3141,296,1194, + 968,3141,208,1164,1513,3141,3141,3141,87,3141, + 3141,3141,115,3141,1214,1513,3141,1821,3141,87, + 3141,3141,3141,1623,87,3141,3141,3141,2081,3141, + 3141,3141,3141,3141,3141,3141,2099,3141,3141,3141, + 3141,3141,3141,3141,3141,3141,3141,3141,3141,3141, + 3141,3141,2200,3141,0,1,560,0,1,411, + 0,1,459,0,1,468,0,411,128,0, + 459,128,0,468,128,0,411,129,0,459, + 129,0,468,129,0,411,130,0,459,130, + 0,468,130,0,468,184,0,459,184,0, + 411,184,0,184,188,0,468,183,0,459, + 183,0,411,183,0,183,188,0,411,131, + 0,459,131,0,468,131,0,411,132,0, + 459,132,0,468,132,0,10,225,0,411, + 357,0,459,357,0,468,357,0,3148,1, + 0,654,31,0,2207,31,0,222,234,0, + 1,3377,0,178,19,0,222,235,0,7, + 9,0,1,3366,0,353,351,0,112,2456, + 0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -672,200 +692,202 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym 5,6,7,8,9,10,11,12,13,14, 15,16,17,18,19,20,21,22,23,24, 25,26,27,28,29,30,31,32,33,34, - 0,0,37,3,39,40,41,42,43,44, + 0,0,37,65,39,40,41,42,43,44, 45,46,47,48,49,50,51,52,53,54, 55,56,57,58,59,60,61,62,63,0, 1,2,3,4,5,6,7,8,9,10, 11,12,13,14,15,16,17,18,19,20, 21,22,23,24,25,26,27,28,29,30, - 31,32,33,34,64,0,37,66,39,40, + 31,32,33,34,0,0,37,66,39,40, 41,42,43,44,45,46,47,48,49,50, 51,52,53,54,55,56,57,58,59,60, - 61,62,63,0,1,2,0,4,5,6, - 7,8,9,10,0,12,13,14,15,16, - 17,18,19,20,21,22,23,24,25,0, - 27,28,29,30,31,32,33,0,1,2, - 0,4,2,6,7,8,6,0,0,1, - 2,3,49,50,51,52,53,54,55,56, + 61,62,63,0,1,2,96,4,5,6, + 7,8,9,10,11,0,13,14,15,16, + 17,18,19,20,21,22,23,24,25,26, + 0,28,29,30,31,32,33,0,1,2, + 25,4,12,6,7,8,0,73,74,75, + 76,0,49,50,51,52,53,54,55,56, 57,58,59,60,61,62,63,0,1,0, - 3,2,35,6,5,0,9,10,0,12, - 11,14,15,35,36,0,38,2,13,4, - 5,13,7,8,0,1,2,3,0,5, - 6,3,35,9,10,38,12,13,14,15, - 16,17,18,19,20,21,22,23,0,0, - 1,2,28,4,26,96,7,8,81,0, - 1,64,3,66,67,68,38,70,71,72, + 3,2,35,0,5,8,0,10,11,0, + 13,12,15,16,0,1,2,0,1,2, + 3,12,0,1,2,3,0,1,0,1, + 2,3,35,5,0,38,8,9,10,11, + 0,13,14,15,16,17,18,19,20,21, + 22,23,35,36,14,38,28,35,36,0, + 1,64,3,66,67,68,0,70,71,72, 73,74,75,76,0,78,79,80,81,82, 83,84,85,86,87,88,89,90,91,92, - 93,94,95,0,1,36,3,0,1,6, - 0,77,9,10,0,12,0,14,15,3, - 4,0,1,2,65,0,1,0,1,4, - 0,6,7,8,0,1,2,3,35,5, - 6,38,26,9,10,35,12,13,14,15, - 16,17,18,19,20,21,22,23,0,1, - 35,0,28,2,0,35,5,64,4,66, - 67,68,11,70,71,72,73,74,75,76, - 70,78,79,80,81,82,83,84,85,86, + 93,94,95,0,1,36,3,0,24,25, + 26,8,0,10,11,77,13,0,15,16, + 0,14,2,0,1,5,14,4,0,6, + 7,8,12,0,0,1,2,3,35,5, + 12,38,8,9,10,11,0,13,14,15, + 16,17,18,19,20,21,22,23,35,0, + 0,2,28,4,5,6,7,64,0,66, + 67,68,4,70,71,72,73,74,75,76, + 12,78,79,80,81,82,83,84,85,86, 87,88,89,90,91,92,93,94,95,0, - 1,2,3,4,5,6,7,8,0,0, - 0,77,4,0,4,7,8,7,8,0, - 0,2,0,24,25,26,27,28,29,30, - 31,32,33,34,24,25,0,27,28,29, - 30,31,32,33,24,25,0,27,49,50, + 1,2,3,4,5,6,7,8,9,0, + 0,77,3,0,4,2,6,7,5,73, + 74,75,76,24,25,26,27,28,29,30, + 31,32,33,34,24,25,26,0,28,29, + 30,31,32,33,0,36,0,3,49,50, 51,52,53,54,55,56,57,58,59,60, - 61,62,63,0,0,2,0,4,5,3, - 7,8,0,1,2,3,4,5,6,7, - 8,0,1,0,1,2,3,4,69,6, - 7,8,26,84,85,96,24,25,26,27, + 61,62,63,0,0,2,2,4,5,6, + 7,27,0,1,2,3,4,5,6,7, + 8,9,38,0,1,2,3,4,24,6, + 7,8,0,1,0,96,24,25,26,27, 28,29,30,31,32,33,34,24,25,26, 27,28,29,30,31,32,33,0,35,36, - 3,49,50,51,52,53,54,55,56,57, + 0,49,50,51,52,53,54,55,56,57, 58,59,60,61,62,63,0,1,2,3, - 0,5,6,26,80,9,10,11,12,13, + 0,5,0,1,8,9,10,11,12,13, 14,15,16,17,18,19,20,21,22,23, - 0,0,26,2,24,25,5,27,96,0, - 34,2,12,37,0,39,40,41,42,43, - 44,45,46,47,48,0,1,2,3,0, - 5,6,0,24,9,10,11,12,13,14, - 15,16,17,18,19,20,21,22,23,0, - 0,26,2,0,4,5,3,7,8,34, - 11,0,37,2,39,40,41,42,43,44, - 45,46,47,48,0,1,2,3,0,5, - 6,67,68,9,10,11,12,13,14,15, - 16,17,18,19,20,21,22,23,69,0, - 26,0,0,1,2,6,4,0,34,7, - 8,37,80,39,40,41,42,43,44,45, - 46,47,48,0,1,2,3,0,5,6, - 77,0,9,10,11,12,13,14,15,16, - 17,18,19,20,21,22,23,0,0,26, - 2,4,4,5,0,7,8,34,11,0, - 37,0,39,40,41,42,43,44,45,46, - 47,48,0,1,2,3,0,5,6,78, - 79,9,10,11,12,13,14,15,16,17, - 18,19,20,21,22,23,65,38,26,0, - 0,1,2,0,4,0,34,7,8,37, - 11,39,40,41,42,43,44,45,46,47, - 48,0,1,2,3,0,5,6,25,0, + 0,1,0,27,2,0,1,2,96,4, + 34,6,7,37,0,39,40,41,42,43, + 44,45,46,47,48,0,69,2,3,4, + 5,6,7,0,9,35,0,1,2,3, + 4,0,6,7,8,4,13,6,7,24, + 25,26,38,28,29,30,31,32,33,34, + 24,25,26,27,28,29,30,31,32,33, + 65,35,36,0,49,50,51,52,53,54, + 55,56,57,58,59,60,61,62,63,64, + 0,1,2,3,0,5,2,0,8,9, + 10,11,12,13,14,15,16,17,18,19, + 20,21,22,23,0,0,2,27,4,5, + 6,7,0,0,34,0,3,37,0,39, + 40,41,42,43,44,45,46,47,48,0, + 1,2,3,0,5,0,1,8,9,10, + 11,12,13,14,15,16,17,18,19,20, + 21,22,23,69,0,0,27,2,3,4, + 5,6,7,34,9,0,37,80,39,40, + 41,42,43,44,45,46,47,48,13,24, + 25,26,69,28,29,30,31,32,33,34, + 77,0,1,2,82,4,0,6,7,81, + 4,0,6,7,49,50,51,52,53,54, + 55,56,57,58,59,60,61,62,63,64, + 0,1,2,3,0,5,0,1,8,9, + 10,11,12,13,14,15,16,17,18,19, + 20,21,22,23,0,1,0,27,2,3, + 4,5,6,7,34,9,65,37,0,39, + 40,41,42,43,44,45,46,47,48,0, + 24,25,26,4,28,29,30,31,32,33, + 34,0,1,2,0,4,0,6,7,65, + 4,0,6,7,3,49,50,51,52,53, + 54,55,56,57,58,59,60,61,62,63, + 64,0,1,2,3,0,5,2,27,8, 9,10,11,12,13,14,15,16,17,18, - 19,20,21,22,23,0,1,26,0,73, - 74,75,76,24,25,34,27,0,37,11, + 19,20,21,22,23,0,0,2,27,4, + 5,6,7,0,0,34,2,0,37,5, 39,40,41,42,43,44,45,46,47,48, - 0,1,2,3,0,5,6,0,0,9, + 0,1,2,3,0,5,0,1,8,9, 10,11,12,13,14,15,16,17,18,19, - 20,21,22,23,0,1,26,0,73,74, - 75,76,24,25,34,27,0,37,0,39, + 20,21,22,23,0,1,2,27,4,0, + 6,7,0,4,34,6,7,37,0,39, 40,41,42,43,44,45,46,47,48,0, - 1,2,3,66,5,6,0,0,9,10, + 1,2,3,0,5,0,3,8,9,10, 11,12,13,14,15,16,17,18,19,20, - 21,22,23,0,0,26,69,73,74,75, - 76,24,25,34,27,0,37,13,39,40, + 21,22,23,0,0,2,27,73,74,75, + 76,8,0,34,10,11,37,0,39,40, 41,42,43,44,45,46,47,48,0,1, - 2,3,66,5,6,67,68,9,10,11, + 2,3,0,5,66,0,8,9,10,11, 12,13,14,15,16,17,18,19,20,21, - 22,23,0,0,26,2,4,0,5,7, - 8,0,34,2,0,37,5,39,40,41, + 22,23,0,0,0,27,4,0,6,7, + 77,4,34,6,7,37,81,39,40,41, 42,43,44,45,46,47,48,0,1,2, - 3,0,5,6,3,82,9,10,11,12, + 3,69,5,0,1,8,9,10,11,12, 13,14,15,16,17,18,19,20,21,22, - 23,37,0,26,2,3,4,5,0,7, - 8,34,0,1,37,3,39,40,41,42, - 43,44,45,46,47,48,24,25,0,27, - 28,29,30,31,32,33,34,0,81,2, - 3,0,1,2,3,64,38,35,36,0, - 1,49,50,51,52,53,54,55,56,57, - 58,59,60,61,62,63,64,0,0,2, - 3,4,5,36,7,8,35,36,0,1, - 2,3,4,0,6,7,8,0,0,6, - 2,24,25,5,27,28,29,30,31,32, - 33,34,24,25,26,27,28,29,30,31, - 32,33,0,35,36,3,49,50,51,52, - 53,54,55,56,57,58,59,60,61,62, - 63,64,0,65,2,3,4,5,0,7, - 8,0,4,0,6,7,8,4,36,0, - 7,8,0,12,71,72,24,25,6,27, - 28,29,30,31,32,33,34,24,25,0, - 27,28,29,30,31,32,33,65,9,10, - 0,49,50,51,52,53,54,55,56,57, - 58,59,60,61,62,63,64,0,1,2, - 0,4,5,0,7,8,0,69,0,0, - 0,11,0,3,2,0,4,5,38,7, - 8,24,25,0,27,28,29,30,31,32, - 33,0,24,25,11,27,24,25,0,27, - 28,29,30,31,32,33,49,50,51,52, - 53,54,55,56,57,58,59,60,61,62, - 63,49,50,51,52,53,54,55,56,57, - 58,59,60,61,62,63,0,0,1,69, - 4,78,79,7,8,0,0,77,0,1, - 4,3,0,7,8,0,1,82,67,68, - 24,25,0,27,28,29,30,31,32,33, - 24,25,35,27,28,29,30,31,32,33, - 0,1,0,35,36,49,50,51,52,53, - 54,55,56,57,58,59,60,0,1,2, - 3,0,5,6,0,1,9,10,11,12, + 23,0,67,68,27,4,0,6,7,0, + 4,34,6,7,37,0,39,40,41,42, + 43,44,45,46,47,48,0,1,2,3, + 0,5,78,79,8,9,10,11,12,13, + 14,15,16,17,18,19,20,21,22,23, + 0,0,0,27,4,3,6,7,8,0, + 34,2,3,37,0,39,40,41,42,43, + 44,45,46,47,48,0,1,2,0,4, + 5,6,7,0,9,0,3,0,36,4, + 0,6,7,0,4,36,6,7,8,24, + 25,26,38,28,29,30,31,32,33,24, + 25,26,82,28,29,30,31,32,33,69, + 0,1,35,3,49,50,51,52,53,54, + 55,56,57,58,59,60,61,62,63,0, + 0,2,0,4,5,6,7,64,9,0, + 0,0,1,3,0,35,36,70,4,69, + 6,7,0,24,25,26,0,28,29,30, + 31,32,33,24,25,26,0,27,24,25, + 26,0,28,29,30,31,32,33,49,50, + 51,52,53,54,55,56,57,58,59,60, + 61,62,63,49,50,51,52,53,54,55, + 56,57,58,59,60,0,1,2,3,38, + 5,0,1,8,9,10,11,12,13,14, + 15,16,17,18,19,20,21,22,23,0, + 1,2,3,0,5,0,80,8,9,10, + 11,8,13,14,15,16,17,18,19,20, + 21,22,23,0,1,0,3,2,0,0, + 5,3,0,1,2,0,0,5,0,64, + 8,9,10,11,12,13,14,15,16,17, + 18,19,20,21,22,23,0,0,35,36, + 4,0,6,7,36,4,38,6,7,0, + 1,2,67,68,5,37,77,8,9,10, + 11,12,13,14,15,16,17,18,19,20, + 21,22,23,0,1,2,0,0,5,3, + 4,8,9,10,11,12,13,14,15,16, + 17,18,19,20,21,22,23,0,1,2, + 84,85,5,27,0,8,9,10,11,12, 13,14,15,16,17,18,19,20,21,22, - 23,0,1,2,3,0,5,6,0,1, - 9,10,0,12,13,14,15,16,17,18, - 19,20,21,22,23,0,1,0,0,2, - 2,0,5,0,1,2,0,0,5,6, - 3,64,9,10,11,12,13,14,15,16, + 23,0,1,2,0,1,5,0,0,8, + 9,10,11,12,13,14,15,16,17,18, + 19,20,21,22,23,0,1,2,0,0, + 5,0,0,8,9,10,11,12,13,14, + 15,16,17,18,19,20,21,22,23,0, + 1,2,0,0,5,0,0,8,9,10, + 11,8,13,14,15,16,17,18,19,20, + 21,22,23,0,1,2,0,0,5,0, + 0,8,9,10,11,8,13,14,15,16, 17,18,19,20,21,22,23,0,1,2, - 35,4,35,26,7,8,0,0,2,3, - 0,1,2,36,38,5,6,65,77,9, - 10,11,12,13,14,15,16,17,18,19, - 20,21,22,23,0,1,2,70,0,5, - 6,0,36,9,10,11,12,13,14,15, - 16,17,18,19,20,21,22,23,0,1, - 2,0,65,5,6,0,0,9,10,11, - 12,13,14,15,16,17,18,19,20,21, - 22,23,0,1,2,0,0,5,6,0, - 0,9,10,11,12,13,14,15,16,17, - 18,19,20,21,22,23,0,1,2,0, - 0,5,6,0,0,9,10,11,12,13, - 14,15,16,17,18,19,20,21,22,23, - 0,1,2,67,68,5,6,0,97,9, - 10,0,12,13,14,15,16,17,18,19, - 20,21,22,23,0,1,2,67,68,5, - 6,0,0,9,10,0,12,13,14,15, - 16,17,18,19,20,21,22,23,0,1, - 2,0,0,5,6,0,0,9,10,0, - 12,13,14,15,16,17,18,19,20,21, - 22,23,0,1,2,0,65,5,6,0, - 0,9,10,0,12,13,14,15,16,17, - 18,19,20,21,22,23,0,1,2,0, - 65,5,6,0,0,9,10,0,12,13, - 14,15,16,17,18,19,20,21,22,23, - 0,1,2,0,65,5,6,0,0,9, - 10,0,12,13,14,15,16,17,18,19, - 20,21,22,23,0,1,2,0,65,5, - 6,0,0,9,10,3,12,13,14,15, - 16,17,18,19,20,21,22,23,0,0, - 1,0,4,0,3,7,8,4,0,6, - 7,8,4,14,15,7,8,0,36,66, - 38,0,24,25,0,27,28,29,30,31, - 32,33,11,0,35,0,0,36,3,86, - 87,88,89,90,91,92,93,94,95,0, - 0,0,3,4,3,4,7,8,7,8, - 0,11,0,0,4,3,0,7,8,70, - 4,36,69,7,8,26,0,26,0,0, - 4,3,83,7,8,6,0,38,0,38, - 4,0,4,7,8,7,8,0,36,0, - 38,4,0,4,7,8,7,8,0,0, - 0,3,0,3,36,66,4,66,0,7, - 8,0,0,0,6,4,35,4,7,8, - 7,8,0,0,0,0,26,4,0,4, - 7,8,7,8,36,0,38,0,38,0, - 71,72,3,0,9,10,9,10,0,0, - 38,0,0,0,11,0,0,0,0,11, - 11,0,38,11,11,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,71, - 72,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,0,0,0, + 0,0,5,0,97,8,9,10,11,8, + 13,14,15,16,17,18,19,20,21,22, + 23,0,1,2,71,72,5,0,0,8, + 9,10,11,0,13,14,15,16,17,18, + 19,20,21,22,23,0,1,2,71,72, + 5,0,0,8,9,10,11,0,13,14, + 15,16,17,18,19,20,21,22,23,0, + 1,2,71,72,5,0,0,8,9,10, + 11,0,13,14,15,16,17,18,19,20, + 21,22,23,0,1,2,0,0,5,3, + 0,8,9,10,11,8,13,14,15,16, + 17,18,19,20,21,22,23,0,0,0, + 1,4,0,6,7,0,4,0,6,7, + 0,4,36,6,7,0,0,0,3,2, + 3,24,25,26,0,28,29,30,31,32, + 33,24,25,26,35,28,29,30,31,32, + 33,0,0,1,0,4,0,6,7,3, + 0,36,0,36,10,11,0,15,16,3, + 4,0,6,7,66,24,25,26,0,28, + 29,30,31,32,33,0,66,35,3,4, + 65,6,7,27,86,87,88,89,90,91, + 92,93,94,95,38,0,0,2,0,3, + 5,3,27,0,0,0,38,0,0,0, + 64,3,70,38,0,0,0,0,3,3, + 0,0,66,0,0,83,65,24,25,26, + 35,24,25,26,36,27,38,0,24,25, + 26,66,0,27,36,24,25,26,0,0, + 0,36,0,38,38,0,4,0,6,7, + 64,4,0,6,7,70,4,0,6,7, + 0,4,35,6,7,0,67,68,0,0, + 10,11,78,79,67,68,0,67,68,0, + 12,12,0,38,0,0,0,0,12,0, + 0,12,0,0,12,0,12,12,0,12, + 35,12,0,65,65,65,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,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,65,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,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; @@ -873,218 +895,221 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym public interface TermAction { public final static char termAction[] = {0, - 3036,1,5223,1551,2925,5199,1,1,1,1, - 1,697,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,3044,1,1,1, - 1,1,1,1,3136,3036,1577,999,3036,1156, - 1068,1181,1037,1884,978,1040,1012,628,1003,1, + 3141,1,5597,1489,3015,5547,1,1,1,1, + 1,1,791,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,3149,1,1, + 1,1,1,1,3241,3141,794,1022,3141,932, + 1138,955,1075,1150,982,817,1071,743,1051,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,3042,7,3021,3021,3021,3021, - 3021,3021,3021,3021,3021,3021,3021,3021,3021,3021, - 3021,3021,3021,3021,3021,3021,3021,3021,3021,3021, - 3021,3021,3021,3021,3021,3021,3021,3021,3021,3021, - 3036,833,3021,2167,3021,3021,3021,3021,3021,3021, - 3021,3021,3021,3021,3021,3021,3021,3021,3021,3021, - 3021,3021,3021,3021,3021,3021,3021,3021,3021,3021, - 3036,1,5223,1551,2925,5199,1,1,1,1, - 1,697,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,3044,1,1,1, - 1,1,1,1,3136,3036,2131,999,1,1156, - 1068,1181,1037,1884,978,1040,1012,628,1003,1, + 1,1,1,1,3147,7,3129,3129,3129,3129, + 3129,3129,3129,3129,3129,3129,3129,3129,3129,3129, + 3129,3129,3129,3129,3129,3129,3129,3129,3129,3129, + 3129,3129,3129,3129,3129,3129,3129,3129,3129,3129, + 3141,446,3129,2268,3129,3129,3129,3129,3129,3129, + 3129,3129,3129,3129,3129,3129,3129,3129,3129,3129, + 3129,3129,3129,3129,3129,3129,3129,3129,3129,3129, + 3141,1,5597,1489,3015,5547,1,1,1,1, + 1,1,791,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,3149,1,1, + 1,1,1,1,3241,3141,1077,1022,3141,932, + 1138,955,1075,1150,982,817,1071,743,1051,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,3042,3036,1,5223,3045,2925, - 5199,1,1,1,1,1,697,1,1,1, + 1,1,1,1,3147,3141,1,5597,3150,3015, + 5547,1,1,1,1,1,1,791,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,3044,1,1,1,1,1,1,1,3136, - 1,156,999,3009,1156,1068,1181,1037,1884,978, - 1040,1012,628,1003,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,3036, - 1,5223,3045,2925,5199,1,1,1,1,1, - 697,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,3044,1,1,1,1, - 1,1,1,3136,3042,287,999,772,1156,1068, - 1181,1037,1884,978,1040,1012,628,1003,1,1, + 1,1,3149,1,1,1,1,1,1,3241, + 3141,156,1022,2289,932,1138,955,1075,1150,982, + 817,1071,743,1051,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,3141, + 1,5597,3150,3015,5547,1,1,1,1,1, + 1,791,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,3149,1,1,1, + 1,1,1,3241,59,1,1022,780,932,1138, + 955,1075,1150,982,817,1071,743,1051,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,3036,1670,1560,3036,567,1565,2726, - 456,526,2696,2688,3036,2704,3049,2831,2452,2339, - 3046,3047,3048,2680,1500,438,2021,3252,3254,3036, - 3253,3198,3199,3197,3255,3200,3196,270,1945,3264, - 3036,567,1678,255,456,526,1517,68,1,1945, - 3264,264,3203,3208,3207,3205,3206,3204,3209,3210, - 3202,3211,3212,3213,2514,2635,2627,1,3054,3036, - 3054,3216,727,3054,3217,348,3054,3054,3036,3054, - 724,3054,3054,727,264,187,264,2973,767,2964, - 2973,1137,2970,2967,1,1670,3053,3039,3036,3054, - 499,3045,3054,2696,2688,3054,2704,3049,2831,2452, - 2339,3046,3047,3048,2680,1500,438,2021,3036,1, - 1812,3264,954,2934,3044,2924,2928,2931,479,3036, - 877,3054,3041,3054,3054,3054,1868,3054,3054,3054, - 3054,3054,3054,3054,3036,3054,3054,3054,3054,3054, - 3054,3054,3054,3054,3054,3054,3054,3054,3054,3054, - 3054,3054,3054,1,3053,3040,3053,3036,654,3053, - 293,3038,3053,3053,3036,3053,1,3053,3053,116, - 2925,1,1812,3264,1516,270,1744,179,3006,567, - 222,255,456,526,3036,1670,3053,3039,3053,3054, - 2437,3053,116,2696,2688,1588,2704,3049,2831,2452, - 2339,3046,3047,3048,2680,1500,438,2021,3036,398, - 727,3036,1443,3216,1,727,3217,3053,2925,3053, - 3053,3053,863,3053,3053,3053,3053,3053,3053,3053, - 1405,3053,3053,3053,3053,3053,3053,3053,3053,3053, - 3053,3053,3053,3053,3053,3053,3053,3053,3053,3036, - 1,1,3045,2925,1,1,1,1,184,72, - 129,3038,567,3036,2952,456,526,2946,2949,1, - 251,3015,3036,1,1,3044,1,1,1,1, - 1,1,1,3343,3252,3254,3036,3253,3198,3199, - 3197,3255,3200,3196,1,1,3036,1,1,1, + 1,1,1,3141,2858,3151,3014,468,3152,411, + 459,2703,2890,2688,2679,340,2712,3156,2820,2740, + 1692,3153,3154,3155,2670,757,1634,3354,3356,3355, + 3141,3303,3304,3302,3357,3305,3301,267,2061,3366, + 3480,468,611,411,459,252,284,2552,1736,830, + 535,3141,3308,3313,3312,3310,3311,3309,3314,3315, + 3307,3316,3317,3318,653,2817,2178,1,3152,3141, + 3152,3151,732,3141,3152,3152,3141,3152,3152,228, + 3152,777,3152,3152,1,2546,3366,1,2061,3366, + 261,231,1,2061,3132,3146,3141,549,1,2858, + 3151,3144,3152,3152,3141,3152,2609,1551,2688,2679, + 345,2712,3156,2820,2740,1692,3153,3154,3155,2670, + 757,1634,732,261,718,261,943,732,3145,3141, + 937,3152,3146,3152,3152,3152,3141,3152,3152,3152, + 3152,3152,3152,3152,248,3152,3152,3152,3152,3152, + 3152,3152,3152,3152,3152,3152,3152,3152,3152,3152, + 3152,3152,3152,1,3151,3145,3151,3141,1,1, + 1,3151,3141,3151,3151,3143,3151,3141,3151,3151, + 3141,919,3151,267,2563,3152,718,468,3141,411, + 459,252,907,3141,3141,2858,3151,3144,3151,3152, + 979,3151,2661,1551,2688,2679,61,2712,3156,2820, + 2740,1692,3153,3154,3155,2670,757,1634,732,184, + 3141,3063,1559,3054,3063,3060,3057,3151,1,3151, + 3151,3151,3015,3151,3151,3151,3151,3151,3151,3151, + 791,3151,3151,3151,3151,3151,3151,3151,3151,3151, + 3151,3151,3151,3151,3151,3151,3151,3151,3151,3141, + 1,1,3150,3015,1,1,1,1,1,3141, + 129,3143,3146,3141,3042,3151,3036,3039,3152,2552, + 1736,830,535,1,1,1,3149,1,1,1, + 1,1,1,3445,3354,3356,3355,3141,3303,3304, + 3302,3357,3305,3301,3141,3145,3141,3150,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,186,66,2985,1,2976,2985,3045, - 2982,2979,3036,1,1,3045,2925,1,1,1, - 1,349,974,17,3024,179,3024,179,3296,3024, - 179,179,3044,2052,2722,301,1,1,3044,1, - 1,1,1,1,1,1,3343,179,179,3024, - 179,179,179,179,179,179,179,3036,3024,3024, - 3045,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,3036,1,5223,3045, - 252,5199,1,3044,531,1,1,697,1,1, + 1,1,1,183,323,3075,3465,3066,3075,3072, + 3069,3149,3141,1,1,3150,3015,1,1,1, + 1,1,1974,19,3123,178,3123,178,3466,178, + 178,3123,10,3096,3141,298,1,1,1,3149, + 1,1,1,1,1,1,3445,178,178,178, + 3123,178,178,178,178,178,178,1,3123,3123, + 3141,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,3141,1,5597,3150, + 3141,5547,3141,402,1,1,1,1,791,1, 1,1,1,1,1,1,1,1,1,1, - 64,3036,3044,3216,1,1,3217,1,300,326, - 3136,3363,556,999,54,1156,1068,1181,1037,1884, - 978,1040,1012,628,1003,3036,1,5223,3045,1, - 5199,1,67,3364,1,1,697,1,1,1, - 1,1,1,1,1,1,1,1,1,3036, - 208,3044,5472,3036,567,5472,3039,456,526,3136, - 419,3036,999,1851,1156,1068,1181,1037,1884,978, - 1040,1012,628,1003,3036,1,5223,3045,3036,5199, - 1,640,752,1,1,697,1,1,1,1, - 1,1,1,1,1,1,1,1,3296,3036, - 3044,62,1,1812,3264,967,2934,3036,3136,2928, - 2931,999,531,1156,1068,1181,1037,1884,978,1040, - 1012,628,1003,3036,1,5223,3045,3036,5199,1, - 3038,3036,1,1,697,1,1,1,1,1, - 1,1,1,1,1,1,1,1,364,3044, - 5473,2925,567,5473,3036,456,526,3136,697,346, - 999,3036,1156,1068,1181,1037,1884,978,1040,1012, - 628,1003,3036,1,5223,3045,59,5199,1,1478, - 822,1,1,697,1,1,1,1,1,1, - 1,1,1,1,1,1,2187,741,3044,231, - 255,1812,3264,343,567,3036,3136,456,526,999, - 234,1156,1068,1181,1037,1884,978,1040,1012,628, - 1003,3036,1,5223,3045,61,5199,1,3378,3036, - 1,1,697,1,1,1,1,1,1,1, - 1,1,1,1,1,337,1494,3044,3036,2503, - 1770,1658,686,3252,3254,3136,3253,213,999,1006, - 1156,1068,1181,1037,1884,978,1040,1012,628,1003, - 3036,1,5223,3045,60,5199,1,1,253,1, - 1,697,1,1,1,1,1,1,1,1, - 1,1,1,1,3036,2491,3044,3036,2503,1770, - 1658,686,3252,3254,3136,3253,3036,999,58,1156, - 1068,1181,1037,1884,978,1040,1012,628,1003,3036, - 1,5223,3045,1394,5199,1,3036,250,1,1, - 697,1,1,1,1,1,1,1,1,1, - 1,1,1,70,3036,3044,3295,2503,1770,1658, - 686,3252,3254,3136,3253,3036,999,767,1156,1068, - 1181,1037,1884,978,1040,1012,628,1003,3036,1, - 5223,3045,866,5199,1,640,752,1,1,697, + 221,639,3141,3149,1825,1,2546,3366,297,3024, + 3241,3018,3021,1022,343,932,1138,955,1075,1150, + 982,817,1071,743,1051,3141,3398,1,190,1, + 1,1,1,64,1,732,351,353,353,3135, + 353,181,353,353,3135,468,409,411,459,1, + 1,1,843,1,1,1,1,1,1,3336, + 353,353,353,3135,353,353,353,353,353,353, + 1584,353,3135,3141,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,190, + 3141,1,5597,3150,1,5547,3120,66,1,1, + 1,1,791,1,1,1,1,1,1,1, + 1,1,1,1,205,3141,5594,3149,468,5594, + 411,459,70,3141,3241,3141,3144,1022,68,932, + 1138,955,1075,1150,982,817,1071,743,1051,3141, + 1,5597,3150,3141,5547,346,918,1,1,1, + 1,791,1,1,1,1,1,1,1,1, + 1,1,1,3398,3141,3141,3149,1,189,1, + 1,1,1,3241,1,65,1022,558,932,1138, + 955,1075,1150,982,817,1071,743,1051,409,1, + 1,1,1700,1,1,1,1,1,1,3336, + 3143,1,2546,3366,2131,3024,252,3018,3021,2157, + 468,3141,411,459,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,189, + 3141,1,5597,3150,3141,5547,334,1115,1,1, + 1,1,791,1,1,1,1,1,1,1, + 1,1,1,1,3141,2722,3141,3149,1,190, + 1,1,1,1,3241,1,1584,1022,3141,932, + 1138,955,1075,1150,982,817,1071,743,1051,1, + 1,1,1,3015,1,1,1,1,1,1, + 3336,1,2546,3366,3141,3024,367,3018,3021,2338, + 468,1,411,459,3150,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,255,210,3044,3216,567,69,3217,456, - 526,3036,3136,3065,3036,999,3066,1156,1068,1181, - 1037,1884,978,1040,1012,628,1003,3036,1,5223, - 3045,3036,5199,1,3043,407,1,1,697,1, + 190,3141,1,5597,3150,3141,5547,3378,3149,1, + 1,1,1,791,1,1,1,1,1,1, + 1,1,1,1,1,366,3141,5596,3149,468, + 5596,411,459,3141,207,3241,3151,3141,1022,3152, + 932,1138,955,1075,1150,982,817,1071,743,1051, + 3141,1,5597,3150,60,5547,3141,2365,1,1, + 1,1,791,1,1,1,1,1,1,1, + 1,1,1,1,252,2546,3366,3149,468,370, + 411,459,3141,468,3241,411,459,1022,210,932, + 1138,955,1075,1150,982,817,1071,743,1051,3141, + 1,5597,3150,3141,5547,69,3144,1,1,1, + 1,791,1,1,1,1,1,1,1,1, + 1,1,1,3141,51,1754,3149,2552,1736,830, + 535,1488,1,3241,2651,2631,1022,3141,932,1138, + 955,1075,1150,982,817,1071,743,1051,3141,1, + 5597,3150,3141,5547,1501,54,1,1,1,1, + 791,1,1,1,1,1,1,1,1,1, + 1,1,369,3141,62,3149,468,158,411,459, + 3143,468,3241,411,459,1022,2157,932,1138,955, + 1075,1150,982,817,1071,743,1051,3141,1,5597, + 3150,3397,5547,3141,2547,1,1,1,1,791, 1,1,1,1,1,1,1,1,1,1, - 1,1584,3036,3044,1,193,1,1,258,1, - 1,3136,1,1744,999,267,1156,1068,1181,1037, - 1884,978,1040,1012,628,1003,1,1,3036,1, - 1,1,1,1,1,1,3234,3036,479,808, - 3041,1,1945,3030,3041,3042,1025,727,267,3036, - 1008,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,193,3036,3036,1, - 192,1,1,3040,1,1,727,3040,18,3027, - 178,3027,178,48,3027,178,178,3036,209,2788, - 473,1,1,473,1,1,1,1,1,1, - 1,3234,178,178,3027,178,178,178,178,178, - 178,178,3036,3027,3027,3041,1,1,1,1, + 1,182,1880,2598,3149,468,361,411,459,3141, + 468,3241,411,459,1022,3141,932,1138,955,1075, + 1150,982,817,1071,743,1051,3141,1,5597,3150, + 71,5547,920,896,1,1,1,1,791,1, 1,1,1,1,1,1,1,1,1,1, - 1,192,3036,2215,1,193,1,1,1,1, - 1,65,2934,130,255,2928,2931,2961,3040,3036, - 2955,2958,3036,556,2759,2751,1,1,1141,1, - 1,1,1,1,1,1,3234,3252,3254,51, - 3253,3198,3199,3197,3255,3200,3196,669,2583,919, - 88,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,193,1,1812,580, - 3036,2934,3214,63,2928,2931,3036,3296,254,3036, - 3036,1257,3036,3039,3215,71,567,3214,1369,456, - 526,3252,3254,3036,3253,3198,3199,3197,3255,3200, - 3196,57,3252,3254,1280,3253,3252,3254,3036,3253, - 3198,3199,3197,3255,3200,3196,3203,3208,3207,3205, - 3206,3204,3209,3210,3202,3211,3212,3213,2514,2635, - 2627,3203,3208,3207,3205,3206,3204,3209,3210,3202, - 3211,3212,3213,2514,2635,2627,128,224,401,1612, - 2943,1478,822,2937,2940,3036,131,3038,1,1744, - 2994,3041,3036,2988,2991,3036,1757,407,640,752, - 3252,3254,3036,3253,3198,3199,3197,3255,3200,3196, - 3252,3254,727,3253,3198,3199,3197,3255,3200,3196, - 3036,1943,3036,727,3040,3203,3208,3207,3205,3206, - 3204,3209,3210,3202,3211,3212,3213,1,1670,3893, - 27,3036,3797,2726,324,797,2696,2688,5459,2704, - 3049,2831,2452,2339,3046,3047,3048,2680,1500,438, - 2021,3036,1670,3053,3039,3036,3054,2726,3036,2853, - 2696,2688,3036,2704,3049,2831,2452,2339,3046,3047, - 3048,2680,1500,438,2021,272,945,3036,3036,3216, - 3276,3036,3217,3036,1670,3053,28,1,3054,2726, - 116,27,2696,2688,5459,2704,3049,2831,2452,2339, - 3046,3047,3048,2680,1500,438,2021,1,1812,3264, - 727,2934,1564,116,2928,2931,3036,3036,1727,3041, - 3036,1670,3053,116,3063,3054,2726,657,3038,2696, - 2688,1355,2704,3049,2831,2452,2339,3046,3047,3048, - 2680,1500,438,2021,1,1670,3893,1103,3036,3797, - 2726,112,3040,2696,2688,5459,2704,3049,2831,2452, - 2339,3046,3047,3048,2680,1500,438,2021,1,1670, - 3893,3036,1516,3797,2726,3036,56,2696,2688,5459, - 2704,3049,2831,2452,2339,3046,3047,3048,2680,1500, - 438,2021,369,1670,3053,3036,3036,3054,2726,3036, - 55,2696,2688,5459,2704,3049,2831,2452,2339,3046, - 3047,3048,2680,1500,438,2021,3036,1670,3053,3036, - 3036,3054,2726,3036,3036,2696,2688,5459,2704,3049, - 2831,2452,2339,3046,3047,3048,2680,1500,438,2021, - 3036,1670,3053,640,752,3054,2726,3036,3033,2696, - 2688,203,2704,3049,2831,2452,2339,3046,3047,3048, - 2680,1500,438,2021,1,1670,3053,640,752,3054, - 2726,3036,3036,2696,2688,3036,2704,3049,2831,2452, - 2339,3046,3047,3048,2680,1500,438,2021,3036,2600, - 3053,3036,3036,3054,2726,3036,3036,2696,2688,1, - 2704,3049,2831,2452,2339,3046,3047,3048,2680,1500, - 438,2021,3036,2712,3053,3036,1540,3054,2726,3036, - 3036,2696,2688,1,2704,3049,2831,2452,2339,3046, - 3047,3048,2680,1500,438,2021,3036,2714,3053,3036, - 3407,3054,2726,3036,3036,2696,2688,3036,2704,3049, - 2831,2452,2339,3046,3047,3048,2680,1500,438,2021, - 3036,2720,3053,42,3217,3054,2726,3036,3036,2696, - 2688,3036,2704,3049,2831,2452,2339,3046,3047,3048, - 2680,1500,438,2021,332,1670,3053,3036,3216,3054, - 2726,3036,3036,2696,2688,3041,2704,3049,2831,2452, - 2339,3046,3047,3048,2680,1500,438,2021,132,31, - 601,3036,3003,1,3041,2997,3000,2934,365,255, - 2928,2931,567,3060,3061,456,526,3036,3040,1344, - 557,231,3252,3254,3036,3253,3198,3199,3197,3255, - 3200,3196,235,3036,2631,1,3036,3040,3041,1319, - 1294,1269,1244,1219,1169,1194,1144,1117,1092,237, - 355,238,225,3012,225,3018,3012,3012,3018,3018, - 368,1355,3036,3036,567,3041,367,456,526,1145, - 567,3040,3296,456,526,225,158,225,1,50, - 567,90,1116,456,526,2788,185,225,359,225, - 567,273,567,456,526,456,526,358,3040,366, - 1589,567,3036,567,456,526,456,526,3036,3036, - 3036,3041,360,3045,90,225,567,225,49,456, - 526,202,209,361,2788,567,727,567,456,526, - 456,526,3036,362,28,363,3044,567,3036,567, - 456,526,456,526,3040,53,1043,52,2002,286, - 2759,2751,1207,353,2583,919,2583,919,41,3036, - 4678,3036,191,368,1355,3036,3036,3036,3036,1355, - 1355,3036,700,208,364,3036,3036,3036,3036,3036, - 3036,3036,3036,3036,3036,3036,3036,3036,3036,2759, - 2751,3036,3036,3036,3036,3036,3036,3036,3036,3036, - 3036,3036,3036,3036,3036,3036,3036,3036,3036,3036, - 3036,3036,3036,1207 + 1,3141,1,3149,3024,3146,3018,3021,252,3141, + 3241,844,3146,1022,255,932,1138,955,1075,1150, + 982,817,1071,743,1051,1,2546,488,3141,3024, + 3152,3018,3021,1,591,130,3108,290,3145,3051, + 1,3045,3048,3141,3024,3145,3018,3021,252,3354, + 3356,3355,2199,3303,3304,3302,3357,3305,3301,3354, + 3356,3355,2131,3303,3304,3302,3357,3305,3301,3398, + 1,2563,1667,264,3308,3313,3312,3310,3311,3309, + 3314,3315,3307,3316,3317,3318,653,2817,2178,3141, + 3141,3151,3141,468,3152,411,459,3147,591,249, + 3141,3141,2618,3150,128,732,264,1116,3033,3398, + 3027,3030,3141,3354,3356,3355,67,3303,3304,3302, + 3357,3305,3301,1,1,1,3141,3149,3354,3356, + 3355,88,3303,3304,3302,3357,3305,3301,3308,3313, + 3312,3310,3311,3309,3314,3315,3307,3316,3317,3318, + 653,2817,2178,3308,3313,3312,3310,3311,3309,3314, + 3315,3307,3316,3317,3318,1,2858,4000,28,1476, + 3904,321,805,2703,1551,2688,2679,5493,2712,3156, + 2820,2740,1692,3153,3154,3155,2670,757,1634,3141, + 2858,3151,3144,3141,3152,58,558,2703,1551,2688, + 2679,954,2712,3156,2820,2740,1692,3153,3154,3155, + 2670,757,1634,1,2563,206,3146,546,3141,3141, + 546,3146,3141,2858,3151,3141,72,3152,3141,28, + 2703,1551,2688,2679,5493,2712,3156,2820,2740,1692, + 3153,3154,3155,2670,757,1634,360,3141,732,3145, + 468,368,411,459,3145,468,1069,411,459,3141, + 2858,3151,1880,2598,3152,1538,3143,2703,1551,2688, + 2679,1262,2712,3156,2820,2740,1692,3153,3154,3155, + 2670,757,1634,1,2858,4000,1,3141,3904,116, + 3015,2703,1551,2688,2679,5493,2712,3156,2820,2740, + 1692,3153,3154,3155,2670,757,1634,1,2858,4000, + 2040,2953,3904,116,3141,2703,1551,2688,2679,5493, + 2712,3156,2820,2740,1692,3153,3154,3155,2670,757, + 1634,371,2858,3151,3141,2958,3152,112,3141,2703, + 1551,2688,2679,5493,2712,3156,2820,2740,1692,3153, + 3154,3155,2670,757,1634,3141,2858,3151,3141,3141, + 3152,3141,3141,2703,1551,2688,2679,5493,2712,3156, + 2820,2740,1692,3153,3154,3155,2670,757,1634,3141, + 2833,3151,3141,48,3152,3141,3141,2703,1551,2688, + 2679,2799,2712,3156,2820,2740,1692,3153,3154,3155, + 2670,757,1634,3141,2839,3151,3141,50,3152,3141, + 3141,2703,1551,2688,2679,2799,2712,3156,2820,2740, + 1692,3153,3154,3155,2670,757,1634,3141,2844,3151, + 3141,49,3152,3141,3138,2703,1551,2688,2679,2799, + 2712,3156,2820,2740,1692,3153,3154,3155,2670,757, + 1634,3141,2852,3151,2790,2754,3152,3141,3141,2703, + 1551,2688,2679,3141,2712,3156,2820,2740,1692,3153, + 3154,3155,2670,757,1634,3141,2858,3151,2790,2754, + 3152,3141,3141,2703,1551,2688,2679,3141,2712,3156, + 2820,2740,1692,3153,3154,3155,2670,757,1634,1, + 2858,3151,2790,2754,3152,3141,3141,2703,1551,2688, + 2679,3141,2712,3156,2820,2740,1692,3153,3154,3155, + 2670,757,1634,329,2858,3151,1,3141,3152,90, + 3141,2703,1551,2688,2679,1005,2712,3156,2820,2740, + 1692,3153,3154,3155,2670,757,1634,131,42,269, + 1004,3084,362,3078,3081,3141,468,132,411,459, + 3141,3093,90,3087,3090,3141,3141,3141,3146,1799, + 3146,3354,3356,3355,3141,3303,3304,3302,3357,3305, + 3301,3354,3356,3355,732,3303,3304,3302,3357,3305, + 3301,357,31,3111,53,3105,3141,3099,3102,3148, + 3141,3145,3141,3145,2651,2631,234,3166,3167,222, + 3117,3141,3117,3117,1451,3354,3356,3355,29,3303, + 3304,3302,3357,3305,3301,235,871,3114,222,3126, + 819,3126,3126,222,1426,1401,1376,1351,1326,1276, + 1301,1251,1226,1201,222,3141,283,3151,3141,1019, + 3152,3146,222,3141,63,3141,3169,250,1,57, + 3147,116,716,222,247,3141,3141,56,3146,3150, + 55,251,222,3141,3141,582,669,3354,3356,3355, + 1642,3354,3356,3355,3145,116,1539,219,3354,3356, + 3355,222,3141,3149,116,3354,3356,3355,200,3141, + 1,3145,199,1023,2076,206,468,363,411,459, + 1019,468,364,411,459,1083,468,365,411,459, + 52,468,732,411,459,270,1880,2598,3141,3141, + 2651,2631,920,896,1880,2598,3141,1880,2598,228, + 1238,1262,352,5062,350,41,29,188,1263,370, + 1,232,3141,3141,1262,3141,1262,1262,3141,205, + 732,366,3141,1609,3514,3152,3141,3141,3141,3141, + 3141,3141,3141,3141,3141,3141,3141,3141,3141,3141, + 3141,3141,3141,3141,704,3141,3141,3141,3141,3141, + 3141,3141,3141,3141,3141,3141,3141,3141,3141,3141, + 3141,3141,3141,3141,3141,3141,3141,3141,3141,3141, + 3141,3141,3141,3141,3141,3151 }; }; public final static char termAction[] = TermAction.termAction; @@ -1092,42 +1117,42 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym public interface Asb { public final static char asb[] = {0, - 642,13,232,334,413,642,577,640,545,577, - 577,577,557,635,557,635,635,557,635,557, - 336,417,415,404,577,415,427,304,575,174, - 507,88,635,363,360,363,88,363,635,415, - 420,417,290,417,1,2,512,336,640,471, - 60,415,63,25,417,34,152,150,288,305, - 207,174,173,290,637,92,640,201,420,565, - 415,512,125,514,336,415,60,60,72,415, - 427,472,675,507,304,488,472,472,363,577, - 577,475,577,577,472,304,243,490,243,413, - 320,289,16,174,640,637,92,201,201,565, - 541,514,213,147,541,255,320,490,490,490, - 490,490,490,490,129,490,490,490,245,444, - 449,447,455,451,458,457,460,459,461,290, - 568,336,289,611,60,122,640,490,34,25, - 364,290,302,472,490,472,318,490,366,490, - 490,305,475,243,475,415,286,368,368,207, - 290,156,290,92,122,235,92,201,203,422, - 203,541,565,289,541,147,128,125,490,490, - 490,490,490,490,490,490,490,490,490,290, - 290,570,320,320,320,320,363,363,157,490, - 490,490,490,490,490,490,490,490,490,490, - 490,490,490,490,490,490,490,490,490,15, - 8,509,417,514,122,70,290,488,472,290, - 577,290,290,304,475,490,289,92,237,203, - 122,490,363,565,364,490,490,147,129,72, - 417,509,290,290,290,290,290,147,447,447, - 444,444,451,451,449,449,449,449,457,455, - 459,458,243,460,512,290,579,568,70,472, - 488,475,490,475,475,156,122,471,490,467, - 237,468,122,147,147,70,570,579,432,432, - 432,640,490,514,290,203,196,157,472,290, - 303,237,490,468,468,70,290,122,68,66, - 178,363,490,243,21,290,157,472,475,468, - 203,297,72,293,363,490,475,290,122,490, - 147,475,147 + 577,5,301,406,68,577,542,681,510,542, + 542,542,522,676,522,676,676,522,676,522, + 72,70,59,542,522,408,325,70,210,377, + 540,233,342,141,676,436,433,436,141,436, + 676,70,75,72,498,72,7,8,617,325, + 325,325,325,325,325,325,325,325,325,325, + 393,19,408,681,117,113,70,81,77,72, + 86,147,145,496,378,276,233,232,498,678, + 176,681,270,75,530,70,617,151,619,393, + 393,393,393,498,498,535,393,436,436,216, + 325,408,70,113,113,125,70,210,118,611, + 342,377,323,118,118,436,542,542,310,542, + 542,118,377,373,325,373,68,497,305,233, + 681,678,176,270,270,530,647,619,282,173, + 647,463,155,344,349,347,355,351,358,357, + 360,359,361,498,533,408,497,498,498,498, + 498,681,72,614,14,304,494,23,325,498, + 325,173,651,113,207,681,86,77,437,498, + 375,118,118,391,325,439,325,325,378,310, + 373,310,70,276,498,215,498,176,207,260, + 176,270,272,441,272,647,530,497,647,173, + 154,151,325,325,325,325,325,325,325,325, + 325,325,325,325,325,325,325,325,325,325, + 325,325,325,325,325,325,325,325,325,325, + 325,325,614,72,619,446,446,446,125,123, + 535,498,544,617,325,27,207,123,498,323, + 118,498,542,498,498,377,310,497,176,262, + 272,207,325,436,530,437,325,325,173,155, + 347,347,344,344,351,351,349,349,349,349, + 357,355,359,358,373,360,544,533,123,498, + 619,123,118,323,310,325,310,310,215,207, + 117,325,367,262,114,207,173,173,325,272, + 255,498,272,216,118,498,376,262,325,114, + 114,207,121,84,237,436,325,373,1,207, + 498,216,118,310,114,125,506,436,325,501, + 310,498,325,173,310,173 }; }; public final static char asb[] = Asb.asb; @@ -1135,74 +1160,75 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym public interface Asr { public final static byte asr[] = {0, - 1,65,66,26,7,8,4,3,38,36, - 35,0,96,0,35,3,38,36,1,0, - 66,35,70,0,11,3,66,38,26,7, - 8,4,0,50,61,30,51,31,52,53, - 32,27,54,55,28,62,33,63,56,57, - 25,58,59,60,2,5,24,49,29,7, - 8,4,3,38,26,66,0,3,64,35, - 70,1,17,18,19,13,14,15,12,6, - 9,10,20,21,16,23,22,2,5,11, - 0,29,49,24,50,61,30,51,31,52, - 53,32,27,54,55,28,62,33,63,56, - 57,25,58,59,60,2,5,7,8,4, - 34,3,64,0,24,27,25,28,14,15, - 12,6,9,10,20,21,16,23,22,1, - 2,5,17,18,19,13,77,3,0,38, - 1,36,3,65,0,38,16,17,18,19, - 13,5,14,15,12,6,9,10,20,21, - 22,23,1,36,3,2,0,66,1,17, - 18,19,13,14,15,12,6,9,10,20, - 21,16,23,22,11,2,5,35,70,0, - 2,5,3,64,38,0,3,38,36,2, - 24,0,24,27,14,15,12,6,9,10, - 20,21,16,23,22,2,5,17,18,19, - 13,1,25,0,26,3,6,2,1,4, - 8,7,65,0,69,7,8,4,35,1, - 70,83,14,15,12,6,9,10,71,72, - 67,68,73,74,75,76,78,79,80,81, - 82,84,85,64,66,86,87,88,89,90, - 92,91,93,94,95,77,26,65,38,36, - 3,0,77,3,69,0,3,38,64,26, - 0,96,97,64,40,42,11,46,48,43, - 37,44,45,41,39,47,34,3,26,17, - 18,19,13,14,15,12,9,10,20,21, - 16,23,22,6,1,61,62,63,57,49, - 54,52,53,51,50,55,56,58,59,60, - 33,30,28,29,32,24,27,25,31,7, - 8,4,5,2,0,37,0,70,83,14, - 15,12,9,10,71,72,67,68,73,74, - 75,76,78,79,80,81,82,84,85,66, - 86,87,88,89,90,91,92,93,94,95, - 38,35,36,29,24,30,31,32,27,28, - 33,25,26,3,1,2,7,8,4,6, - 0,3,38,64,66,0,3,65,36,13, - 0,66,86,87,88,89,90,91,92,93, - 94,95,11,6,71,72,9,10,68,67, - 73,74,75,76,78,79,12,80,81,82, - 69,77,36,64,84,85,65,7,8,4, - 38,26,3,0,40,42,11,46,48,43, - 37,44,45,41,39,47,34,26,3,14, - 15,12,6,9,10,20,21,16,23,22, - 1,2,5,17,18,19,13,0,6,1, - 35,36,3,29,49,50,61,30,51,31, - 52,53,32,54,55,28,62,33,63,56, - 57,58,59,60,2,5,7,8,4,69, - 24,27,25,0,57,49,54,52,53,51, - 50,55,56,58,59,60,65,26,33,30, - 28,29,32,31,24,27,25,38,2,6, - 7,8,4,35,36,3,1,0,6,29, - 49,24,50,61,30,51,31,52,53,32, - 27,54,55,28,62,33,63,56,57,25, - 58,59,60,2,5,69,4,8,7,0, + 66,35,70,0,96,0,1,65,66,27, + 6,7,4,3,38,36,35,0,65,69, + 77,64,70,83,15,16,35,13,10,11, + 71,72,67,68,73,74,75,76,78,79, + 80,81,82,84,85,66,86,87,88,89, + 90,91,92,93,94,95,38,36,29,24, + 30,31,32,26,28,33,25,27,3,1, + 2,6,7,4,8,0,12,6,7,4, + 3,38,27,66,0,50,61,30,51,31, + 52,53,32,26,54,55,28,62,33,63, + 56,57,25,58,59,60,2,5,9,24, + 49,29,66,6,7,4,38,27,3,0, + 3,64,35,70,1,18,19,20,14,15, + 16,13,8,10,11,21,22,17,23,9, + 2,5,12,0,38,1,36,3,65,0, + 24,26,25,28,15,16,13,8,10,11, + 21,22,17,23,9,1,2,5,18,19, + 20,14,77,3,0,29,49,24,50,61, + 30,51,31,52,53,32,26,54,55,28, + 62,33,63,56,57,25,58,59,60,2, + 5,9,6,7,4,34,3,64,0,3, + 65,36,14,0,38,17,18,19,20,14, + 5,15,16,13,8,10,11,21,22,9, + 23,1,36,3,2,0,66,1,18,19, + 20,14,15,16,13,8,10,11,21,22, + 17,23,9,12,2,5,35,70,0,27, + 3,8,2,1,65,4,7,6,0,2, + 5,3,64,38,0,3,38,36,2,24, + 0,24,26,15,16,13,8,10,11,21, + 22,17,23,9,2,5,18,19,20,14, + 1,25,0,35,3,38,36,1,0,40, + 42,12,46,48,43,37,44,45,41,39, + 47,34,27,3,1,18,19,20,2,5, + 15,16,13,8,10,11,21,22,17,23, + 9,14,0,8,71,72,10,11,68,67, + 73,74,75,76,78,79,13,80,81,82, + 69,77,36,64,84,85,3,38,27,6, + 7,4,65,0,96,97,64,40,42,12, + 46,48,43,37,44,45,41,39,47,34, + 3,27,17,18,19,20,14,15,16,13, + 10,11,21,22,23,8,1,9,61,62, + 63,57,49,54,52,53,51,50,55,56, + 58,59,60,33,30,28,29,32,24,26, + 25,31,6,7,4,5,2,0,37,0, + 3,38,64,66,0,29,24,30,31,32, + 26,28,33,25,2,35,1,69,6,7, + 4,12,13,8,10,11,71,72,67,68, + 73,74,75,76,78,79,80,81,82,84, + 85,64,66,86,87,88,89,90,92,91, + 93,94,95,77,27,65,38,36,3,0, + 3,38,64,27,0,77,3,69,0,57, + 49,54,52,53,51,50,55,56,58,59, + 60,65,27,33,30,28,29,32,31,24, + 26,25,38,2,8,6,7,4,35,36, + 3,1,0,8,29,49,24,50,61,30, + 51,31,52,53,32,26,54,55,28,62, + 33,63,56,57,25,58,59,60,2,5, + 9,69,4,7,6,0,96,29,49,24, + 50,61,30,51,31,52,53,32,26,54, + 55,28,62,33,63,56,57,25,58,59, + 60,5,1,9,6,7,27,3,34,4, + 2,8,0,8,1,35,36,3,29,49, + 50,61,30,51,31,52,53,32,54,55, + 28,62,33,63,56,57,58,59,60,2, + 5,9,6,7,4,69,24,26,25,0, 29,49,24,50,61,30,51,31,52,53, - 32,27,54,55,28,62,33,63,56,57, - 25,58,59,60,2,5,7,8,4,11, - 0,96,29,49,24,50,61,30,51,31, - 52,53,32,27,54,55,28,62,33,63, - 56,57,25,58,59,60,5,1,7,8, - 26,3,34,4,2,6,0 + 32,26,54,55,28,62,33,63,56,57, + 25,58,59,60,9,2,5,6,7,4, + 12,0 }; }; public final static byte asr[] = Asr.asr; @@ -1210,42 +1236,42 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym public interface Nasb { public final static char nasb[] = {0, - 165,31,16,21,40,136,31,32,97,31, - 31,31,98,78,98,78,78,98,78,98, - 92,157,127,31,31,73,90,18,120,152, - 31,108,150,108,150,108,108,108,150,169, - 31,150,120,157,10,10,119,145,32,41, - 78,147,31,31,157,31,120,31,31,104, - 71,43,31,120,78,145,31,145,31,145, - 76,119,55,114,122,126,150,78,62,74, - 90,41,31,90,110,39,41,41,108,31, - 31,131,31,31,41,18,31,8,31,40, - 1,120,31,120,31,150,178,145,108,145, - 48,12,52,57,48,31,100,8,8,8, - 8,8,8,8,56,8,8,8,31,31, - 31,31,31,31,31,31,31,31,31,120, - 141,24,31,160,150,145,31,8,31,31, - 31,120,31,41,8,41,173,101,31,101, - 101,104,131,31,131,126,31,31,31,71, - 120,8,120,145,19,40,67,108,65,31, - 31,48,34,120,48,57,56,34,8,8, - 8,8,8,8,8,8,8,8,8,120, - 120,143,100,100,100,100,80,80,36,101, - 8,8,8,8,8,8,8,8,8,8, - 8,8,8,8,8,8,8,101,8,10, - 10,140,157,114,19,145,120,175,41,120, - 31,120,120,110,131,8,120,178,126,65, - 19,8,108,34,31,8,8,57,56,8, - 157,117,120,120,120,120,120,57,31,31, - 31,31,31,31,31,31,31,31,31,31, - 31,31,31,31,119,120,155,84,51,41, - 175,131,101,131,131,8,19,41,8,31, - 147,78,19,57,57,145,86,155,31,31, - 31,31,8,114,120,65,59,175,41,120, - 31,126,8,78,150,51,120,19,50,31, - 62,108,8,31,46,120,175,41,131,150, - 65,82,62,57,108,8,131,120,19,8, - 57,131,57 + 160,30,42,19,16,126,30,10,82,30, + 30,30,83,90,83,90,90,83,90,83, + 157,135,30,30,83,76,55,85,68,46, + 167,92,30,8,149,8,149,8,8,8, + 149,31,30,149,167,157,35,35,166,55, + 55,55,55,55,55,55,55,55,55,55, + 174,30,144,10,17,90,146,30,30,157, + 30,167,30,30,113,70,39,30,167,90, + 144,30,144,30,144,88,166,57,123,174, + 174,174,174,167,167,142,1,44,44,49, + 62,72,134,149,90,65,86,68,17,30, + 68,119,61,17,17,8,30,30,95,30, + 30,17,46,30,55,30,16,167,30,167, + 30,149,151,144,8,144,14,178,54,59, + 14,30,58,30,30,30,30,30,30,30, + 30,30,30,167,140,22,30,167,167,167, + 167,30,157,164,35,35,30,30,55,167, + 55,59,182,149,144,30,30,30,30,167, + 30,17,17,169,62,30,62,62,113,95, + 30,95,134,70,167,55,167,144,47,16, + 130,8,100,30,30,14,37,167,14,59, + 58,37,55,55,55,55,55,55,55,55, + 55,55,55,55,55,55,55,55,55,55, + 55,55,55,55,55,55,55,55,55,55, + 62,55,139,157,123,30,30,30,55,144, + 106,167,155,166,55,30,47,144,167,171, + 17,167,30,167,167,119,95,167,151,134, + 100,47,55,8,37,30,55,55,59,58, + 30,30,30,30,30,30,30,30,30,30, + 30,30,30,30,30,30,155,104,53,167, + 123,53,17,171,95,62,95,95,55,47, + 17,55,30,146,90,47,59,59,55,100, + 110,167,100,171,17,167,30,134,55,90, + 149,47,52,30,65,8,55,30,12,47, + 167,171,17,95,149,65,59,8,55,102, + 95,167,55,59,95,59 }; }; public final static char nasb[] = Nasb.nasb; @@ -1253,25 +1279,25 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym public interface Nasr { public final static char nasr[] = {0, - 89,88,87,86,81,85,84,5,0,52, - 0,124,1,29,0,137,0,1,50,0, - 34,1,108,89,88,87,86,81,85,84, - 0,112,0,31,0,1,119,0,30,1, - 24,0,20,116,0,131,0,82,0,96, - 68,5,1,0,1,5,44,0,27,139, - 0,5,68,0,75,0,1,59,93,0, - 114,0,1,36,48,34,46,28,0,98, - 0,127,0,34,46,66,65,28,0,97, - 0,81,77,78,79,80,71,54,0,59, - 1,30,0,1,29,37,101,27,0,37, - 27,76,50,1,29,0,65,66,1,20, - 0,29,1,133,0,28,46,34,1,0, - 27,37,1,38,0,29,1,110,0,20, - 34,46,65,66,1,0,46,34,1,11, - 0,136,20,0,1,29,28,61,0,1, - 29,53,33,0,132,29,1,0,28,34, - 36,0,29,53,1,70,0,104,1,59, - 0 + 90,99,88,87,81,86,85,1,0,114, + 0,133,0,82,0,2,25,0,34,2, + 110,90,99,89,88,87,81,86,85,0, + 28,34,36,0,56,0,31,0,21,118, + 0,139,0,100,0,2,50,0,2,121, + 0,97,68,2,6,0,2,6,44,0, + 25,2,30,0,6,68,0,98,0,116, + 0,29,2,135,0,81,77,78,79,80, + 84,71,51,0,2,36,48,34,46,28, + 0,138,21,0,1,37,2,38,0,75, + 0,129,0,34,46,66,65,28,0,1, + 141,0,2,29,1,37,103,0,37,1, + 76,50,2,29,0,29,2,112,0,2, + 59,94,0,28,46,34,2,0,21,34, + 46,65,66,2,0,46,34,2,11,0, + 106,2,59,0,2,29,28,61,0,134, + 29,2,0,65,66,2,21,0,29,57, + 2,70,0,2,59,30,0,126,2,29, + 0,2,29,57,33,0 }; }; public final static char nasr[] = Nasr.nasr; @@ -1279,9 +1305,9 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym public interface TerminalIndex { public final static char terminalIndex[] = {0, - 2,85,87,99,86,9,97,98,10,11, - 3,8,84,6,7,68,81,82,83,12, - 13,93,94,48,76,92,64,69,44,55, + 2,85,87,99,86,97,98,9,93,10, + 11,3,8,84,6,7,68,81,82,83, + 12,13,94,48,76,64,92,69,44,55, 60,63,72,100,1,90,77,42,45,46, 49,50,51,57,58,59,65,71,47,52, 56,61,62,66,67,74,75,78,79,80, @@ -1296,21 +1322,21 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym public interface NonterminalIndex { public final static char nonterminalIndex[] = {0, - 0,0,0,0,107,111,112,113,114,115, - 190,0,0,0,116,117,118,119,120,103, - 121,122,123,105,0,124,130,191,134,106, - 142,0,129,165,0,168,125,128,0,0, + 106,0,0,0,0,108,112,113,114,115, + 190,0,0,0,116,117,118,119,120,121, + 103,122,123,124,105,0,125,191,134,107, + 142,0,130,165,0,168,126,129,0,0, 0,0,0,102,162,164,0,166,0,104, - 152,167,133,141,0,0,0,0,156,127, - 163,151,176,179,180,181,0,0,109,0, + 141,0,0,152,0,167,133,0,156,128, + 163,151,176,179,180,181,0,0,110,0, 144,0,169,175,0,132,145,146,147,148, - 153,174,178,136,137,138,139,140,143,149, - 150,0,155,159,161,182,195,108,110,126, - 131,135,0,154,158,0,160,170,173,187, - 0,189,0,192,0,194,0,0,0,0, - 0,157,0,171,172,177,0,183,184,0, - 185,186,188,0,0,193,0,0,196,0, - 0 + 153,174,178,196,136,137,138,139,140,143, + 149,150,0,155,159,161,182,195,197,109, + 111,127,131,135,0,154,158,0,160,170, + 173,187,0,189,0,192,0,194,0,0, + 0,0,0,157,0,171,172,177,0,183, + 184,0,185,186,188,0,0,193,0,0, + 198,0,0 }; }; public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex; @@ -1318,13 +1344,13 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym public interface ScopePrefix { public final static char scopePrefix[] = { - 141,199,284,161,92,98,227,55,254,1, - 64,108,126,41,207,27,33,37,69,104, - 178,263,280,299,303,267,15,8,8,73, - 76,81,113,136,76,188,193,196,307,49, - 182,274,8,81,217,151,245,151,217,274, - 20,88,174,233,233,233,233,233,20,116, - 88,116,116 + 145,203,286,165,96,102,231,59,256,1, + 68,112,130,45,211,31,37,41,73,108, + 182,265,282,301,305,269,15,8,8,77, + 80,85,117,140,80,192,197,200,309,53, + 186,276,8,85,221,155,247,155,221,276, + 20,27,92,178,27,27,27,27,27,20, + 120,92,120,120 }; }; public final static char scopePrefix[] = ScopePrefix.scopePrefix; @@ -1332,13 +1358,13 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym public interface ScopeSuffix { public final static char scopeSuffix[] = { - 149,149,149,149,6,6,149,61,260,6, - 31,6,31,46,212,31,31,31,31,6, - 176,149,31,31,6,271,18,6,6,31, - 79,90,6,31,139,191,191,191,31,52, - 185,277,11,84,212,168,248,154,220,292, - 25,90,176,235,237,239,241,243,22,123, - 84,118,131 + 153,153,153,153,6,6,153,65,262,6, + 35,6,35,50,216,35,35,35,35,6, + 180,153,35,35,6,273,18,6,6,35, + 83,94,6,35,143,195,195,195,35,56, + 189,279,11,88,216,172,250,158,224,294, + 25,29,94,180,237,239,241,243,245,22, + 127,88,122,135 }; }; public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix; @@ -1346,13 +1372,13 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym public interface ScopeLhs { public final static char scopeLhs[] = { - 79,77,5,79,52,52,77,62,41,140, - 67,52,36,12,77,6,6,113,67,52, - 93,33,6,5,5,23,105,131,130,65, - 83,61,52,34,51,78,78,78,3,96, - 93,7,140,61,77,79,42,79,77,5, - 105,61,93,88,87,86,85,84,105,36, - 61,48,36 + 79,77,6,79,56,56,77,62,41,142, + 67,56,36,12,77,7,7,115,67,56, + 94,33,7,6,6,24,107,133,132,65, + 83,61,56,34,54,78,78,78,4,97, + 94,8,142,61,77,79,42,79,77,6, + 107,99,61,94,89,88,87,86,85,107, + 36,61,48,36 }; }; public final static char scopeLhs[] = ScopeLhs.scopeLhs; @@ -1361,12 +1387,12 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym public interface ScopeLa { public final static byte scopeLa[] = { 64,64,64,64,77,77,64,64,97,77, - 36,77,36,36,11,36,36,36,36,77, - 26,64,36,36,77,65,7,77,77,36, - 1,6,77,36,2,2,2,2,36,66, - 2,36,69,6,11,11,37,2,2,36, - 2,6,26,5,61,62,62,57,2,1, - 6,1,1 + 36,77,36,36,12,36,36,36,36,77, + 27,64,36,36,77,65,6,77,77,36, + 1,8,77,36,2,2,2,2,36,66, + 2,36,69,8,12,12,37,2,2,36, + 2,9,8,27,2,61,62,62,57,2, + 1,8,1,1 }; }; public final static byte scopeLa[] = ScopeLa.scopeLa; @@ -1374,13 +1400,13 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym public interface ScopeStateSet { public final static char scopeStateSet[] = { - 123,123,9,123,96,96,123,70,81,3, - 100,96,107,128,123,9,9,77,100,96, - 5,80,9,9,9,41,120,1,3,100, - 102,167,96,107,112,123,123,123,9,73, - 5,14,3,167,123,123,81,123,123,9, - 120,167,5,124,124,124,124,124,120,107, - 167,109,107 + 125,125,39,125,28,28,125,102,13,3, + 32,28,109,130,125,39,39,9,32,28, + 5,12,39,39,39,73,122,1,3,32, + 34,170,28,109,114,125,125,125,39,105, + 5,46,3,170,125,125,13,125,125,39, + 122,126,170,5,126,126,126,126,126,122, + 109,170,111,109 }; }; public final static char scopeStateSet[] = ScopeStateSet.scopeStateSet; @@ -1389,36 +1415,37 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym public interface ScopeRhs { public final static char scopeRhs[] = {0, 160,69,160,35,0,102,0,160,35,0, - 30,127,102,0,194,128,0,191,0,128, - 0,159,191,0,159,0,169,1,22,0, - 103,0,169,1,23,0,235,1,214,0, - 234,1,1,7,0,103,103,0,228,101, - 0,31,151,0,175,199,101,11,168,0, - 104,0,0,173,101,1,165,0,173,101, - 1,0,183,1,0,161,101,0,179,0, - 149,161,0,9,0,174,0,149,0,9, - 0,126,28,209,101,35,0,126,209,101, - 28,35,0,126,28,35,0,126,209,101, - 35,0,126,35,0,134,0,2,0,171, - 103,0,2,103,0,173,101,1,134,0, - 2,0,169,103,0,151,1,0,162,0, - 175,206,101,11,127,223,61,0,104,0, - 223,61,0,130,3,0,0,0,104,0, - 175,206,101,11,223,61,0,3,0,0, - 0,104,0,159,0,105,0,222,101,159, - 0,101,159,0,157,105,0,192,61,0, - 130,0,192,63,0,192,62,0,203,101, - 11,221,127,220,181,0,221,127,220,181, - 0,3,0,0,104,0,220,181,0,130, - 0,3,0,0,104,0,203,101,11,220, - 181,0,189,0,148,0,147,0,146,0, - 145,0,144,0,138,43,0,77,2,106, - 103,105,0,138,120,130,1,46,0,53, - 128,0,201,101,11,0,130,85,122,0, - 29,123,0,169,1,0,103,112,0,169, - 1,16,0,175,199,101,11,120,169,1, - 0,103,3,0,110,0,104,0,219,1, - 105,0,130,35,105,0,130,1,0 + 30,128,102,0,195,128,0,191,0,128, + 0,159,191,0,159,0,190,0,196,0, + 169,1,9,0,103,0,169,1,23,0, + 237,1,216,0,236,1,1,6,0,103, + 103,0,230,102,0,31,151,0,175,201, + 102,12,168,0,104,0,0,173,102,1, + 165,0,173,102,1,0,183,1,0,161, + 102,0,179,0,149,161,0,9,0,174, + 0,149,0,9,0,127,28,211,102,35, + 0,127,211,102,28,35,0,127,28,35, + 0,127,211,102,35,0,127,35,0,134, + 0,2,0,171,103,0,2,103,0,173, + 102,1,134,0,2,0,169,103,0,154, + 1,0,162,0,175,208,102,12,101,225, + 61,0,104,0,225,61,0,106,3,0, + 0,0,104,0,175,208,102,12,225,61, + 0,3,0,0,0,104,0,159,0,105, + 0,224,102,159,0,102,159,0,157,105, + 0,193,61,0,106,0,193,63,0,193, + 62,0,205,102,12,223,101,222,181,0, + 223,101,222,181,0,3,0,0,104,0, + 222,181,0,106,0,3,0,0,104,0, + 205,102,12,222,181,0,148,0,147,0, + 146,0,145,0,144,0,138,43,0,77, + 2,107,103,105,0,138,121,130,1,46, + 0,53,129,0,203,102,12,0,130,85, + 123,0,29,124,0,169,1,0,103,113, + 0,169,1,17,0,175,201,102,12,121, + 169,1,0,103,3,0,111,0,104,0, + 221,1,106,0,130,35,106,0,130,1, + 0 }; }; public final static char scopeRhs[] = ScopeRhs.scopeRhs; @@ -1426,24 +1453,24 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym public interface ScopeState { public final static char scopeState[] = {0, - 639,0,765,0,2717,851,2569,0,2831,2452, - 2339,2021,438,2796,2437,2052,479,407,556,531, - 2503,1770,1658,686,1478,822,2583,919,752,640, - 2788,2759,2751,2726,2704,499,2696,2688,2680,1500, - 1612,1588,1564,1540,657,1516,1043,1443,1418,1394, - 1369,1344,1319,1294,1269,1244,1219,1194,1169,1144, - 1117,1092,1013,797,979,954,374,1068,727,866, - 839,772,700,615,588,0,557,877,0,2365, - 2362,2334,2313,2285,2264,2236,2215,1791,2187,2167, - 1761,1884,1713,1683,0,1112,599,480,375,2396, - 1463,1744,1945,2179,1905,0,2466,436,1463,2150, - 2124,2063,1945,1641,1905,1868,2081,902,1812,2002, - 1842,0,1625,498,374,436,0,2856,2484,2838, - 2002,2396,2829,2063,1463,1842,1641,2142,498,2072, - 374,2150,2811,2032,1868,2124,2653,2081,2804,1987, - 2466,1886,1861,1632,902,1625,2419,2514,2415,2635, - 2627,2089,2605,886,1963,436,2319,2221,2596,2565, - 2543,2523,2519,0 + 397,0,1729,0,2432,1944,2254,0,1069,937, + 0,2883,2502,2475,2456,2429,2410,2383,2338,1895, + 2289,2268,1815,1150,1793,1771,0,1018,770,659, + 498,1721,430,2061,2563,1970,2700,0,2890,2820, + 2740,1692,1634,1551,591,2661,2808,2040,2157,2131, + 409,558,2552,1736,830,535,920,896,2651,2631, + 2598,1880,2799,2790,2754,2609,2712,2703,2688,2679, + 2670,757,1700,1667,1642,1609,669,1584,1023,1559, + 1526,1501,1476,1451,1426,1401,1376,1351,1326,1301, + 1276,1251,1226,1201,993,805,968,943,1138,376, + 732,871,846,780,704,628,600,0,471,438, + 1721,2239,2212,2168,2061,1865,1970,1974,2184,1076, + 2546,2076,1947,0,1048,500,376,438,0,2611, + 2511,2922,2076,2918,2168,1721,1947,430,1865,2473, + 500,2142,2239,2072,2080,1974,376,2212,2836,2184, + 1903,2000,471,1966,1159,421,1076,1048,2519,2386, + 653,1750,2817,2178,1082,1044,1054,2265,438,2341, + 2333,2773,2721,2714,1894,1778,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -1451,42 +1478,42 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym public interface InSymb { public final static char inSymb[] = {0, - 0,218,4,101,129,232,237,208,184,7, - 8,4,185,181,186,63,62,187,61,188, - 189,101,1,2,134,101,1,11,1,1, - 1,220,128,192,128,192,223,192,128,161, - 149,128,151,101,134,146,1,225,208,202, - 151,128,191,136,101,148,238,13,197,101, - 1,236,2,13,127,11,127,11,149,6, - 161,1,35,101,101,38,128,151,66,161, - 65,120,1,38,201,47,39,41,45,44, - 37,43,48,46,137,11,42,40,127,129, - 101,234,214,1,221,128,101,11,101,6, - 101,101,28,126,101,106,1,22,23,16, - 21,20,10,9,6,12,15,14,105,108, - 110,109,116,115,118,117,121,119,122,173, - 129,101,174,233,128,11,168,6,148,136, - 6,2,3,130,101,127,1,1,138,1, - 1,101,65,160,65,101,200,2,5,38, - 120,1,2,11,203,159,204,101,206,127, - 207,101,182,224,101,126,209,182,95,94, - 93,91,92,90,89,88,87,86,66,169, - 130,159,1,1,1,1,83,70,1,35, - 72,71,6,67,68,10,9,79,78,76, - 75,74,73,80,12,82,81,85,84,165, - 166,1,101,38,101,11,2,153,170,130, - 37,130,130,201,65,38,235,101,101,206, - 175,66,38,182,38,209,28,126,6,120, - 101,1,169,169,169,169,219,130,109,109, - 108,108,115,115,110,110,110,110,117,116, - 119,118,130,121,1,183,101,161,101,170, - 124,120,1,120,120,38,203,222,65,151, - 128,194,175,126,126,11,161,101,120,120, - 120,120,65,101,173,199,101,124,170,130, - 138,38,65,194,128,101,173,175,38,228, - 239,70,35,127,229,170,124,120,97,128, - 199,150,66,160,70,35,120,170,175,69, - 160,120,160 + 0,220,4,102,129,234,239,210,185,6, + 7,4,186,181,187,63,62,188,61,189, + 102,1,2,134,199,190,9,102,1,12, + 1,1,1,222,128,193,128,193,225,193, + 128,161,149,128,154,102,134,146,1,9, + 23,17,22,21,11,10,8,13,16,15, + 1,106,227,210,204,154,128,192,136,102, + 148,240,14,198,102,1,238,2,14,101, + 12,101,12,149,8,161,1,35,102,1, + 1,1,1,169,130,159,102,83,70,1, + 35,102,38,128,154,66,161,65,121,1, + 38,203,47,39,41,45,44,37,43,48, + 46,137,12,42,40,101,129,236,216,1, + 223,128,102,12,102,8,102,102,28,127, + 102,107,8,109,115,110,117,116,119,118, + 122,120,123,173,129,102,174,169,169,169, + 169,121,102,1,166,165,202,101,9,221, + 102,130,235,128,12,168,148,136,8,2, + 3,130,101,1,1,138,1,1,102,65, + 160,65,102,38,121,1,2,12,205,159, + 206,102,208,101,209,102,182,226,102,127, + 211,182,95,94,93,91,92,90,89,88, + 87,86,66,72,71,8,67,68,11,10, + 79,78,76,75,74,73,80,13,82,81, + 85,84,1,102,38,121,121,121,121,12, + 161,183,102,1,38,107,102,12,2,157, + 170,130,37,130,130,203,65,237,102,102, + 208,175,66,38,182,38,211,28,127,8, + 110,110,109,109,116,116,115,115,115,115, + 118,117,120,119,130,122,102,161,102,173, + 102,102,170,125,121,1,121,121,38,205, + 224,65,154,128,195,175,127,127,65,201, + 102,173,201,125,170,130,138,38,65,195, + 128,175,38,230,241,70,35,101,231,175, + 170,125,121,97,128,66,160,70,35,150, + 121,170,69,160,121,160 }; }; public final static char inSymb[] = InSymb.inSymb; @@ -1600,6 +1627,7 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym ")", "}", ";", + "identifier_token", "expression", "postfix_expression", "member_name", @@ -1624,7 +1652,6 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym "constant_expression", "statement", "compound_statement", - "identifier_token", "block_item_list", "block_item", "declaration", @@ -1645,7 +1672,7 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym "struct_or_union_specifier", "elaborated_specifier", "enum_specifier", - "typedef_name_in_declspec", + "type_name_specifier", "init_declarator", "complete_declarator", "initializer", @@ -1696,6 +1723,8 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym "extended_decl_modifier_seq", "extended_decl_modifier", "extended_asm_param", + "typeof_type_specifier", + "typeof_declaration_specifiers", "field_name_designator" }; }; @@ -1704,8 +1733,8 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym public final static int ERROR_SYMBOL = 34, - SCOPE_UBOUND = 62, - SCOPE_SIZE = 63, + SCOPE_UBOUND = 63, + SCOPE_SIZE = 64, MAX_NAME_LENGTH = 38; public final int getErrorSymbol() { return ERROR_SYMBOL; } @@ -1714,20 +1743,20 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym public final int getMaxNameLength() { return MAX_NAME_LENGTH; } public final static int - NUM_STATES = 353, + NUM_STATES = 356, NT_OFFSET = 100, - LA_STATE_OFFSET = 3409, + LA_STATE_OFFSET = 3516, MAX_LA = 2147483647, - NUM_RULES = 373, - NUM_NONTERMINALS = 141, - NUM_SYMBOLS = 241, + NUM_RULES = 375, + NUM_NONTERMINALS = 143, + NUM_SYMBOLS = 243, SEGMENT_SIZE = 8192, - START_STATE = 2435, + START_STATE = 2463, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 96, EOLT_SYMBOL = 96, - ACCEPT_ACTION = 2924, - ERROR_ACTION = 3036; + ACCEPT_ACTION = 3014, + ERROR_ACTION = 3141; public final static boolean BACKTRACK = true; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCParsersym.java index 6c2f142610b..255a922d91e 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCParsersym.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCParsersym.java @@ -35,11 +35,11 @@ public interface GCCParsersym { TK_int = 52, TK_long = 53, TK_register = 32, - TK_restrict = 27, + TK_restrict = 26, TK_return = 47, TK_short = 54, TK_signed = 55, - TK_sizeof = 16, + TK_sizeof = 17, TK_static = 28, TK_struct = 62, TK_switch = 48, @@ -52,27 +52,27 @@ public interface GCCParsersym { TK__Bool = 58, TK__Complex = 59, TK__Imaginary = 60, - TK_integer = 17, - TK_floating = 18, - TK_charconst = 19, - TK_stringlit = 13, + TK_integer = 18, + TK_floating = 19, + TK_charconst = 20, + TK_stringlit = 14, TK_identifier = 2, TK_Completion = 5, TK_EndOfCompletion = 3, TK_Invalid = 98, TK_LeftBracket = 35, TK_LeftParen = 1, - TK_LeftBrace = 11, + TK_LeftBrace = 12, TK_Dot = 70, TK_Arrow = 83, - TK_PlusPlus = 14, - TK_MinusMinus = 15, - TK_And = 12, - TK_Star = 6, - TK_Plus = 9, - TK_Minus = 10, - TK_Tilde = 20, - TK_Bang = 21, + TK_PlusPlus = 15, + TK_MinusMinus = 16, + TK_And = 13, + TK_Star = 8, + TK_Plus = 10, + TK_Minus = 11, + TK_Tilde = 21, + TK_Bang = 22, TK_Slash = 71, TK_Percent = 72, TK_RightShift = 67, @@ -105,13 +105,13 @@ public interface GCCParsersym { TK_RightBracket = 77, TK_RightParen = 36, TK_RightBrace = 64, - TK_SemiColon = 26, - TK_typeof = 22, + TK_SemiColon = 27, + TK_typeof = 9, TK___alignof__ = 23, TK_MAX = 99, TK_MIN = 100, - TK___attribute__ = 7, - TK___declspec = 8, + TK___attribute__ = 6, + TK___declspec = 7, TK_asm = 4, TK_ERROR_TOKEN = 34, TK_EOF_TOKEN = 96; @@ -123,9 +123,10 @@ public interface GCCParsersym { "EndOfCompletion", "asm", "Completion", - "Star", "__attribute__", "__declspec", + "Star", + "typeof", "Plus", "Minus", "LeftBrace", @@ -139,12 +140,11 @@ public interface GCCParsersym { "charconst", "Tilde", "Bang", - "typeof", "__alignof__", "const", "volatile", - "SemiColon", "restrict", + "SemiColon", "static", "auto", "extern", diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCSizeofExpressionParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCSizeofExpressionParser.java index 8acebf6afee..10793b8ba54 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCSizeofExpressionParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCSizeofExpressionParser.java @@ -183,7 +183,7 @@ private void initActions(IASTTranslationUnit tu, Set<IParser.Options> options) { gnuAction = new GCCBuildASTParserAction (this, tu, astStack, CNodeFactory.getDefault() ); gnuAction.setParserOptions(options); - + gnuAction.setBaseAction(action); } @@ -263,81 +263,81 @@ private GCCBuildASTParserAction gnuAction; } // - // Rule 10: literal ::= integer + // Rule 12: literal ::= integer // - case 10: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_integer_constant); break; + case 12: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_integer_constant); break; } // - // Rule 11: literal ::= floating + // Rule 13: literal ::= floating // - case 11: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_float_constant); break; + case 13: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_float_constant); break; } // - // Rule 12: literal ::= charconst + // Rule 14: literal ::= charconst // - case 12: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_char_constant); break; + case 14: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_char_constant); break; } // - // Rule 13: literal ::= stringlit + // Rule 15: literal ::= stringlit // - case 13: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_string_literal); break; + case 15: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_string_literal); break; } // - // Rule 15: primary_expression ::= primary_expression_id + // Rule 17: primary_expression ::= primary_expression_id // - case 15: { action. consumeExpressionID(); break; + case 17: { action. consumeExpressionID(); break; } // - // Rule 16: primary_expression ::= ( expression ) + // Rule 18: primary_expression ::= ( expression ) // - case 16: { action. consumeExpressionBracketed(); break; + case 18: { action. consumeExpressionBracketed(); break; } // - // Rule 20: postfix_expression ::= postfix_expression [ expression ] + // Rule 21: postfix_expression ::= postfix_expression [ expression ] // - case 20: { action. consumeExpressionArraySubscript(); break; + case 21: { action. consumeExpressionArraySubscript(); break; } // - // Rule 21: postfix_expression ::= postfix_expression ( expression_list_opt ) + // Rule 22: postfix_expression ::= postfix_expression ( expression_list_opt ) // - case 21: { action. consumeExpressionFunctionCall(); break; + case 22: { action. consumeExpressionFunctionCall(); break; } // - // Rule 22: postfix_expression ::= postfix_expression . member_name + // Rule 23: postfix_expression ::= postfix_expression . member_name // - case 22: { action. consumeExpressionFieldReference(false); break; + case 23: { action. consumeExpressionFieldReference(false); break; } // - // Rule 23: postfix_expression ::= postfix_expression -> member_name + // Rule 24: postfix_expression ::= postfix_expression -> member_name // - case 23: { action. consumeExpressionFieldReference(true); break; + case 24: { action. consumeExpressionFieldReference(true); break; } // - // Rule 24: postfix_expression ::= postfix_expression ++ + // Rule 25: postfix_expression ::= postfix_expression ++ // - case 24: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break; + case 25: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break; } // - // Rule 25: postfix_expression ::= postfix_expression -- + // Rule 26: postfix_expression ::= postfix_expression -- // - case 25: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break; + case 26: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break; } // - // Rule 26: postfix_expression ::= ( type_id ) { <openscope-ast> initializer_list comma_opt } + // Rule 27: postfix_expression ::= ( type_id ) { <openscope-ast> initializer_list comma_opt } // - case 26: { action. consumeExpressionTypeIdInitializer(); break; + case 27: { action. consumeExpressionTypeIdInitializer(); break; } // @@ -785,531 +785,531 @@ private GCCBuildASTParserAction gnuAction; } // - // Rule 177: typedef_name_in_declspec ::= Completion + // Rule 177: type_name_specifier ::= identifier_token // case 177: { action. consumeToken(); break; } // - // Rule 178: typedef_name_in_declspec ::= identifier - // - case 178: { action. consumeToken(); break; - } - - // - // Rule 181: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt } + // Rule 178: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt } // - case 181: { action. consumeTypeSpecifierComposite(false); break; + case 178: { action. consumeTypeSpecifierComposite(false); break; } // - // Rule 182: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook identifier_token struct_or_union_specifier_suffix_hook { <openscope-ast> struct_declaration_list_opt } + // Rule 179: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook identifier_token struct_or_union_specifier_suffix_hook { <openscope-ast> struct_declaration_list_opt } // - case 182: { action. consumeTypeSpecifierComposite(true); break; + case 179: { action. consumeTypeSpecifierComposite(true); break; } // - // Rule 187: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token + // Rule 184: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token // - case 187: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break; + case 184: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break; } // - // Rule 188: elaborated_specifier ::= union elaborated_specifier_hook identifier_token + // Rule 185: elaborated_specifier ::= union elaborated_specifier_hook identifier_token // - case 188: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break; + case 185: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break; } // - // Rule 189: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token + // Rule 186: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token // - case 189: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break; + case 186: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break; } // - // Rule 195: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ; + // Rule 192: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ; // - case 195: { action. consumeStructDeclaration(true); break; + case 192: { action. consumeStructDeclaration(true); break; } // - // Rule 196: struct_declaration ::= specifier_qualifier_list ; + // Rule 193: struct_declaration ::= specifier_qualifier_list ; // - case 196: { action. consumeStructDeclaration(false); break; + case 193: { action. consumeStructDeclaration(false); break; } // - // Rule 197: struct_declaration ::= ERROR_TOKEN + // Rule 194: struct_declaration ::= ERROR_TOKEN // - case 197: { action. consumeDeclarationProblem(); break; + case 194: { action. consumeDeclarationProblem(); break; } // - // Rule 203: struct_declarator ::= : constant_expression + // Rule 200: struct_declarator ::= : constant_expression // - case 203: { action. consumeBitField(false); break; + case 200: { action. consumeBitField(false); break; } // - // Rule 204: struct_declarator ::= declarator : constant_expression + // Rule 201: struct_declarator ::= declarator : constant_expression // - case 204: { action. consumeBitField(true); break; + case 201: { action. consumeBitField(true); break; } // - // Rule 205: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 202: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } // - case 205: { action. consumeTypeSpecifierEnumeration(false); break; + case 202: { action. consumeTypeSpecifierEnumeration(false); break; } // - // Rule 206: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 203: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } // - case 206: { action. consumeTypeSpecifierEnumeration(true); break; + case 203: { action. consumeTypeSpecifierEnumeration(true); break; } // - // Rule 212: enumerator ::= identifier_token + // Rule 209: enumerator ::= identifier_token // - case 212: { action. consumeEnumerator(false); break; + case 209: { action. consumeEnumerator(false); break; } // - // Rule 213: enumerator ::= identifier_token = constant_expression + // Rule 210: enumerator ::= identifier_token = constant_expression // - case 213: { action. consumeEnumerator(true); break; + case 210: { action. consumeEnumerator(true); break; } // - // Rule 214: type_qualifier ::= type_qualifier_token + // Rule 211: type_qualifier ::= type_qualifier_token // - case 214: { action. consumeToken(); break; + case 211: { action. consumeToken(); break; } // - // Rule 218: function_specifier ::= inline + // Rule 215: function_specifier ::= inline // - case 218: { action. consumeToken(); break; + case 215: { action. consumeToken(); break; } // - // Rule 220: declarator ::= <openscope-ast> pointer_seq direct_declarator + // Rule 217: declarator ::= <openscope-ast> pointer_seq direct_declarator // - case 220: { action. consumeDeclaratorWithPointer(true); break; + case 217: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 225: basic_direct_declarator ::= declarator_id_name + // Rule 222: basic_direct_declarator ::= declarator_id_name // - case 225: { action. consumeDirectDeclaratorIdentifier(); break; + case 222: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 226: basic_direct_declarator ::= ( declarator ) + // Rule 223: basic_direct_declarator ::= ( declarator ) // - case 226: { action. consumeDirectDeclaratorBracketed(); break; + case 223: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 227: declarator_id_name ::= identifier + // Rule 224: declarator_id_name ::= identifier // - case 227: { action. consumeIdentifierName(); break; + case 224: { action. consumeIdentifierName(); break; } // - // Rule 228: array_direct_declarator ::= basic_direct_declarator array_modifier + // Rule 225: array_direct_declarator ::= basic_direct_declarator array_modifier // - case 228: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 225: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 229: array_direct_declarator ::= array_direct_declarator array_modifier + // Rule 226: array_direct_declarator ::= array_direct_declarator array_modifier // - case 229: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 226: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 231: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list ) + // Rule 228: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list ) // - case 231: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; + case 228: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; } // - // Rule 232: function_direct_declarator ::= basic_direct_declarator ( ) + // Rule 229: function_direct_declarator ::= basic_direct_declarator ( ) // - case 232: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; + case 229: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; } // - // Rule 234: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator + // Rule 231: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator // - case 234: { action. consumeDeclaratorWithPointer(true); break; + case 231: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 235: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list ) + // Rule 232: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list ) // - case 235: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; + case 232: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; } // - // Rule 237: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator + // Rule 234: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator // - case 237: { action. consumeDeclaratorWithPointer(true); break; + case 234: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 238: identifier_list ::= identifier + // Rule 235: identifier_list ::= identifier // - case 238: { action. consumeIdentifierKnR(); break; + case 235: { action. consumeIdentifierKnR(); break; } // - // Rule 239: identifier_list ::= identifier_list , identifier + // Rule 236: identifier_list ::= identifier_list , identifier // - case 239: { action. consumeIdentifierKnR(); break; + case 236: { action. consumeIdentifierKnR(); break; } // - // Rule 240: array_modifier ::= [ ] + // Rule 237: array_modifier ::= [ ] // - case 240: { action. consumeDirectDeclaratorArrayModifier(false); break; + case 237: { action. consumeDirectDeclaratorArrayModifier(false); break; } // - // Rule 241: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ] + // Rule 238: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ] // - case 241: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break; + case 238: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break; } // - // Rule 242: array_modifier ::= [ assignment_expression ] + // Rule 239: array_modifier ::= [ assignment_expression ] // - case 242: { action. consumeDirectDeclaratorArrayModifier(true); break; + case 239: { action. consumeDirectDeclaratorArrayModifier(true); break; } // - // Rule 243: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ] + // Rule 240: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ] // - case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break; + case 240: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break; } // - // Rule 244: array_modifier ::= [ static assignment_expression ] + // Rule 241: array_modifier ::= [ static assignment_expression ] // - case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break; + case 241: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break; } // - // Rule 245: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ] + // Rule 242: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ] // - case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; + case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; } // - // Rule 246: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ] + // Rule 243: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ] // - case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; + case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; } // - // Rule 247: array_modifier ::= [ * ] + // Rule 244: array_modifier ::= [ * ] // - case 247: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break; + case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break; } // - // Rule 248: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ] + // Rule 245: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ] // - case 248: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break; + case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break; } // - // Rule 250: pointer_seq ::= pointer_hook * + // Rule 247: pointer_seq ::= pointer_hook * // - case 250: { action. consumePointer(); break; + case 247: { action. consumePointer(); break; } // - // Rule 251: pointer_seq ::= pointer_seq pointer_hook * + // Rule 248: pointer_seq ::= pointer_seq pointer_hook * // - case 251: { action. consumePointer(); break; + case 248: { action. consumePointer(); break; } // - // Rule 252: pointer_seq ::= pointer_hook * <openscope-ast> type_qualifier_list + // Rule 249: pointer_seq ::= pointer_hook * <openscope-ast> type_qualifier_list // - case 252: { action. consumePointerTypeQualifierList(); break; + case 249: { action. consumePointerTypeQualifierList(); break; } // - // Rule 253: pointer_seq ::= pointer_seq pointer_hook * <openscope-ast> type_qualifier_list + // Rule 250: pointer_seq ::= pointer_seq pointer_hook * <openscope-ast> type_qualifier_list // - case 253: { action. consumePointerTypeQualifierList(); break; + case 250: { action. consumePointerTypeQualifierList(); break; } // - // Rule 257: parameter_type_list ::= parameter_list + // Rule 254: parameter_type_list ::= parameter_list // - case 257: { action. consumeEmpty(); break; + case 254: { action. consumeEmpty(); break; } // - // Rule 258: parameter_type_list ::= parameter_list , ... + // Rule 255: parameter_type_list ::= parameter_list , ... // - case 258: { action. consumePlaceHolder(); break; + case 255: { action. consumePlaceHolder(); break; } // - // Rule 259: parameter_type_list ::= ... + // Rule 256: parameter_type_list ::= ... // - case 259: { action. consumePlaceHolder(); break; + case 256: { action. consumePlaceHolder(); break; } // - // Rule 262: parameter_declaration ::= declaration_specifiers complete_parameter_declarator + // Rule 259: parameter_declaration ::= declaration_specifiers complete_parameter_declarator // - case 262: { action. consumeParameterDeclaration(); break; + case 259: { action. consumeParameterDeclaration(); break; } // - // Rule 263: parameter_declaration ::= declaration_specifiers + // Rule 260: parameter_declaration ::= declaration_specifiers // - case 263: { action. consumeParameterDeclarationWithoutDeclarator(); break; + case 260: { action. consumeParameterDeclarationWithoutDeclarator(); break; } // - // Rule 266: type_id ::= specifier_qualifier_list + // Rule 263: type_id ::= specifier_qualifier_list // - case 266: { action. consumeTypeId(false); break; + case 263: { action. consumeTypeId(false); break; } // - // Rule 267: type_id ::= specifier_qualifier_list abstract_declarator + // Rule 264: type_id ::= specifier_qualifier_list abstract_declarator // - case 267: { action. consumeTypeId(true); break; + case 264: { action. consumeTypeId(true); break; } // - // Rule 269: abstract_declarator ::= <openscope-ast> pointer_seq + // Rule 266: abstract_declarator ::= <openscope-ast> pointer_seq // - case 269: { action. consumeDeclaratorWithPointer(false); break; + case 266: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 270: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator + // Rule 267: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator // - case 270: { action. consumeDeclaratorWithPointer(false); break; + case 267: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 274: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 271: basic_direct_abstract_declarator ::= ( abstract_declarator ) // - case 274: { action. consumeDirectDeclaratorBracketed(); break; + case 271: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 275: array_direct_abstract_declarator ::= array_modifier + // Rule 272: array_direct_abstract_declarator ::= array_modifier // - case 275: { action. consumeDirectDeclaratorArrayDeclarator(false); break; + case 272: { action. consumeDirectDeclaratorArrayDeclarator(false); break; } // - // Rule 276: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier + // Rule 273: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier // - case 276: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 273: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 277: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier + // Rule 274: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier // - case 277: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 274: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 278: function_direct_abstract_declarator ::= ( ) + // Rule 275: function_direct_abstract_declarator ::= ( ) // - case 278: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break; + case 275: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break; } // - // Rule 279: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( ) + // Rule 276: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( ) // - case 279: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; + case 276: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; } // - // Rule 280: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list ) + // Rule 277: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list ) // - case 280: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break; + case 277: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break; } // - // Rule 281: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list ) + // Rule 278: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list ) // - case 281: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; + case 278: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; } // - // Rule 282: initializer ::= assignment_expression + // Rule 279: initializer ::= assignment_expression // - case 282: { action. consumeInitializer(); break; + case 279: { action. consumeInitializer(); break; } // - // Rule 283: initializer ::= start_initializer_list { <openscope-ast> initializer_list comma_opt } end_initializer_list + // Rule 280: initializer ::= start_initializer_list { <openscope-ast> initializer_list comma_opt } end_initializer_list // - case 283: { action. consumeInitializerList(); break; + case 280: { action. consumeInitializerList(); break; } // - // Rule 284: initializer ::= { <openscope-ast> } + // Rule 281: initializer ::= { <openscope-ast> } // - case 284: { action. consumeInitializerList(); break; + case 281: { action. consumeInitializerList(); break; } // - // Rule 285: start_initializer_list ::= $Empty + // Rule 282: start_initializer_list ::= $Empty // - case 285: { action. initializerListStart(); break; + case 282: { action. initializerListStart(); break; } // - // Rule 286: end_initializer_list ::= $Empty + // Rule 283: end_initializer_list ::= $Empty // - case 286: { action. initializerListEnd(); break; + case 283: { action. initializerListEnd(); break; } // - // Rule 291: designated_initializer ::= <openscope-ast> designation = initializer + // Rule 288: designated_initializer ::= <openscope-ast> designation = initializer // - case 291: { action. consumeInitializerDesignated(); break; + case 288: { action. consumeInitializerDesignated(); break; } // - // Rule 295: designator_base ::= [ constant_expression ] + // Rule 292: designator_base ::= [ constant_expression ] // - case 295: { action. consumeDesignatorArray(); break; + case 292: { action. consumeDesignatorArray(); break; } // - // Rule 296: designator_base ::= . identifier_token + // Rule 293: designator_base ::= . identifier_token // - case 296: { action. consumeDesignatorField(); break; + case 293: { action. consumeDesignatorField(); break; } // - // Rule 297: designator ::= [ constant_expression ] + // Rule 294: designator ::= [ constant_expression ] // - case 297: { action. consumeDesignatorArray(); break; + case 294: { action. consumeDesignatorArray(); break; } // - // Rule 298: designator ::= . identifier_token + // Rule 295: designator ::= . identifier_token // - case 298: { action. consumeDesignatorField(); break; + case 295: { action. consumeDesignatorField(); break; } // - // Rule 299: translation_unit ::= external_declaration_list + // Rule 296: translation_unit ::= external_declaration_list // - case 299: { action. consumeTranslationUnit(); break; + case 296: { action. consumeTranslationUnit(); break; } // - // Rule 300: translation_unit ::= $Empty + // Rule 297: translation_unit ::= $Empty // - case 300: { action. consumeTranslationUnit(); break; + case 297: { action. consumeTranslationUnit(); break; } // - // Rule 305: external_declaration ::= ; + // Rule 302: external_declaration ::= ; // - case 305: { action. consumeDeclarationEmpty(); break; + case 302: { action. consumeDeclarationEmpty(); break; } // - // Rule 306: external_declaration ::= ERROR_TOKEN + // Rule 303: external_declaration ::= ERROR_TOKEN // - case 306: { action. consumeDeclarationProblem(); break; + case 303: { action. consumeDeclarationProblem(); break; } // - // Rule 309: function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body + // Rule 306: function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body // - case 309: { action. consumeFunctionDefinition(true); break; + case 306: { action. consumeFunctionDefinition(true); break; } // - // Rule 310: function_definition ::= <openscope-ast> function_declarator function_body + // Rule 307: function_definition ::= <openscope-ast> function_declarator function_body // - case 310: { action. consumeFunctionDefinition(false); break; + case 307: { action. consumeFunctionDefinition(false); break; } // - // Rule 311: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement + // Rule 308: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement // - case 311: { action. consumeFunctionDefinitionKnR(); break; + case 308: { action. consumeFunctionDefinitionKnR(); break; } // - // Rule 312: function_body ::= { } + // Rule 309: function_body ::= { } // - case 312: { action. consumeStatementCompoundStatement(false); break; + case 309: { action. consumeStatementCompoundStatement(false); break; } // - // Rule 313: function_body ::= { <openscope-ast> block_item_list } + // Rule 310: function_body ::= { <openscope-ast> block_item_list } // - case 313: { action. consumeStatementCompoundStatement(true); break; + case 310: { action. consumeStatementCompoundStatement(true); break; } // - // Rule 330: attribute_parameter ::= assignment_expression + // Rule 327: attribute_parameter ::= assignment_expression // - case 330: { action. consumeIgnore(); break; + case 327: { action. consumeIgnore(); break; } // - // Rule 340: extended_asm_declaration ::= asm volatile_opt ( extended_asm_param_seq ) ; + // Rule 337: extended_asm_declaration ::= asm volatile_opt ( extended_asm_param_seq ) ; // - case 340: { gnuAction.consumeDeclarationASM(); break; + case 337: { gnuAction.consumeDeclarationASM(); break; } // - // Rule 351: unary_expression ::= __alignof__ unary_expression + // Rule 348: unary_expression ::= __alignof__ unary_expression // - case 351: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_alignOf); break; + case 348: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_alignOf); break; } // - // Rule 352: unary_expression ::= typeof unary_expression + // Rule 349: unary_expression ::= typeof unary_expression // - case 352: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); break; + case 349: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); break; } // - // Rule 368: field_name_designator ::= identifier_token : + // Rule 354: declaration_specifiers ::= <openscope-ast> typeof_declaration_specifiers + // + case 354: { gnuAction.consumeDeclarationSpecifiersTypeof(); break; + } + + // + // Rule 370: field_name_designator ::= identifier_token : // - case 368: { gnuAction.consumeDesignatorField(); break; + case 370: { gnuAction.consumeDesignatorField(); break; } // - // Rule 369: array_range_designator ::= [ constant_expression ... constant_expression ] + // Rule 371: array_range_designator ::= [ constant_expression ... constant_expression ] // - case 369: { gnuAction.consumeDesignatorArray(); break; + case 371: { gnuAction.consumeDesignatorArray(); break; } // - // Rule 370: designated_initializer ::= <openscope-ast> field_name_designator initializer + // Rule 372: designated_initializer ::= <openscope-ast> field_name_designator initializer // - case 370: { action. consumeInitializerDesignated(); break; + case 372: { action. consumeInitializerDesignated(); break; } // - // Rule 372: no_sizeof_type_name_start ::= ERROR_TOKEN + // Rule 374: no_sizeof_type_name_start ::= ERROR_TOKEN // - case 372: { action. consumeExpressionProblem(); break; + case 374: { action. consumeExpressionProblem(); break; } diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCSizeofExpressionParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCSizeofExpressionParserprs.java index 9894b404c61..aac986451de 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCSizeofExpressionParserprs.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCSizeofExpressionParserprs.java @@ -35,8 +35,8 @@ public class GCCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface BaseCheck { public final static short baseCheck[] = {0, 0,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,3,1,1,1,4, - 4,3,3,2,2,8,1,0,1,1, + 1,1,1,1,1,1,1,3,1,1, + 4,4,3,3,2,2,8,1,0,1, 1,2,2,2,2,2,2,2,2,2, 1,4,1,3,3,3,1,3,3,1, 3,3,1,3,3,3,3,1,3,3, @@ -51,213 +51,227 @@ public class GCCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 1,2,2,1,2,2,1,2,2,1, 2,2,1,3,1,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, - 6,8,0,0,1,1,3,3,3,0, - 1,0,1,2,4,2,1,1,1,3, - 1,1,2,3,7,8,0,1,0,1, - 3,1,3,1,1,1,1,1,1,3, - 1,1,1,1,1,3,1,2,2,1, - 5,3,1,3,5,1,3,1,3,2, - 4,3,5,4,6,6,3,5,1,2, - 3,4,5,0,1,2,1,3,1,1, - 3,2,1,1,1,1,2,1,2,3, - 1,1,1,3,1,2,2,2,3,4, - 5,1,7,3,0,0,1,1,3,3, - 4,1,1,2,3,2,3,2,1,0, - 1,2,1,1,1,1,1,2,4,3, - 6,2,4,1,1,1,1,2,6,3, - 1,3,1,4,0,1,1,1,3,1, - 0,4,3,1,2,1,3,4,4,6, - 1,0,1,3,1,3,0,1,4,5, - 2,2,1,1,2,2,3,2,2,3, - 1,1,1,1,1,1,1,2,5,3, - 1,1,-38,0,0,0,0,0,0,0, - 0,0,0,-244,0,0,0,0,0,0, - 0,0,0,0,0,0,-2,-110,0,0, - -4,-16,-18,-158,0,0,0,0,0,-139, - -133,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-187,0,0,0,0,0, - 0,0,-48,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-146,-142, - 0,0,-19,0,-20,0,-184,0,-44,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-21,0,0,0,0,0,-153, - -188,0,0,0,0,-212,0,-211,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-220,0,0,0,0,0,-45, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-195,-31,0,-35,-36, - 0,-32,0,0,0,-57,0,0,0,0, - 0,0,0,0,0,0,-22,0,0,0, - 0,0,0,0,0,0,-178,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-76,0,-69,-116,0, - -74,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-201, - -135,0,0,0,0,0,0,0,0,0, - 0,0,-23,0,-24,-25,-26,0,0,-180, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-122,-176, - 0,-70,0,-197,0,0,0,0,0,0, - 0,0,0,0,-27,0,0,0,0,0, - 0,0,0,-28,-120,0,0,-79,0,0, - -71,-115,0,-118,0,0,0,-207,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-77,0,0,0, - 0,-3,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -150,-152,-80,-81,0,-155,-91,0,0,0, - 0,0,0,0,0,-92,0,0,-53,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-114,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-124,-126,-164,-121,0,-128,-129, - 0,-138,0,0,0,0,0,0,0,0, - 0,0,-93,0,0,0,0,0,0,0, - 0,-130,0,0,0,-140,0,0,0,0, - -226,0,0,0,0,0,0,0,0,0, - 0,-193,0,0,0,0,0,0,0,0, - 0,-148,0,0,-29,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-168,-169,0,-94,0,-58,0, - 0,0,0,0,0,0,0,0,0,-157, - 0,0,0,0,0,0,0,0,0,-171, - 0,0,-59,0,0,0,0,0,0,0, - 0,0,0,-95,0,0,0,0,0,0, - 0,-191,-196,0,0,0,-60,0,0,0, - 0,0,0,0,0,0,0,-175,0,0, - 0,0,0,0,0,0,0,-198,0,0, - -61,0,0,0,0,0,0,0,0,0, - 0,-186,0,0,0,0,0,0,0,-214, - -224,0,0,0,-62,0,0,0,0,0, - 0,0,0,0,0,-199,0,0,0,0, - 0,0,0,0,0,-225,0,0,-63,0, - 0,0,0,0,0,0,0,0,0,-204, - 0,0,0,0,0,0,0,-228,-96,0, - -97,0,-64,0,0,0,0,0,0,0, - 0,0,0,-217,0,0,0,0,0,0, - 0,-98,-99,-100,-101,0,-65,0,0,0, - 0,0,0,0,0,0,0,-223,0,0, - 0,0,0,0,0,-102,-103,0,-104,0, - -66,0,0,0,0,0,0,0,0,0, - 0,-105,0,0,0,0,0,0,0,-106, - -107,0,0,0,-67,0,0,0,0,0, - 0,0,0,0,0,-108,0,0,0,0, - 0,0,0,-109,-112,0,-123,0,-68,0, - 0,0,0,0,0,0,0,0,0,-134, - 0,0,0,0,0,0,0,-145,-143,-147, - -151,0,-159,0,0,0,0,0,0,0, - 0,0,0,-156,0,0,0,0,0,0, - 0,-170,-172,-179,-183,0,-160,0,0,0, - 0,0,0,0,0,0,0,-205,0,0, - 0,0,0,0,0,-206,-230,-177,-238,0, - -182,0,0,0,0,0,0,0,0,0, - 0,-194,0,0,0,0,0,0,0,-51, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-165,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-210,0,0,0,0,0,0, - 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,0,0, - 0,-39,0,0,0,0,0,0,0,0, - -8,0,0,0,0,0,0,-221,0,0, + 1,1,1,1,1,1,1,6,8,0, + 0,1,1,3,3,3,0,1,0,1, + 2,4,2,1,1,1,3,1,1,2, + 3,7,8,0,1,0,1,3,1,3, + 1,1,1,1,1,1,3,1,1,1, + 1,1,3,1,2,2,1,5,3,1, + 3,5,1,3,1,3,2,4,3,5, + 4,6,6,3,5,1,2,3,4,5, + 0,1,2,1,3,1,1,3,2,1, + 1,1,1,2,1,2,3,1,1,1, + 3,1,2,2,2,3,4,5,1,7, + 3,0,0,1,1,3,3,4,1,1, + 2,3,2,3,2,1,0,1,2,1, + 1,1,1,1,2,4,3,6,2,4, + 1,1,1,1,2,6,3,1,3,1, + 4,0,1,1,1,3,1,0,4,3, + 1,2,1,3,4,4,6,1,0,1, + 3,1,3,0,1,4,5,2,2,2, + 1,2,2,2,1,1,2,2,3,2, + 2,3,1,1,1,1,1,1,1,2, + 5,3,1,1,-38,0,0,0,0,0, + 0,0,0,0,0,0,-2,0,0,0, + 0,0,0,0,0,0,0,0,0,-31, + 0,0,0,-156,-32,0,0,0,0,0, + -157,0,-4,-115,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-76,-114,0,0,0,0,0,-71,0, + 0,0,0,0,-149,-145,0,-117,-16,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-18,0, + -111,0,0,0,0,0,0,0,0,0, + 0,0,0,-19,-136,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-20,-116,0,0,0,0,0,0, + 0,0,0,0,0,-126,-142,0,0,0, + 0,-198,-125,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-21,0, + 0,0,0,0,0,-22,-57,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-214,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-161,-35,-127,0,0,0,0,-181, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-204,0,0, + 0,0,0,0,0,0,-36,0,-23,0, + -148,0,-53,0,0,0,0,0,0,0, + 0,0,0,0,-69,0,0,0,0,-129, + 0,0,0,0,0,-24,0,-54,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-191,0,-74,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-25,0,-77,-26,0,0,0,0, + 0,-223,0,0,-183,0,0,0,0,0, + 0,0,0,0,0,0,-180,0,0,0, + 0,0,-215,0,0,0,0,0,0,-200, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-130,0,0, + 0,0,0,0,-27,-139,-70,0,-131,0, + 0,0,-210,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-229,0,0,0, + -119,0,0,0,0,0,0,-3,0,0, + 0,0,0,0,0,0,0,0,0,-207, + 0,0,0,0,0,0,-138,-128,-28,0, + 0,0,-184,0,-79,0,-80,0,0,0, + -140,-164,-81,-122,0,0,0,0,0,-141, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-141, - 0,-185,0,0,-5,0,0,0,0,0, - 0,-240,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-167,-90,0,-137,0,0,0,0,0, - 0,0,0,0,-34,0,0,0,0,0, + 0,0,0,0,-187,-143,-167,0,0,-118, + 0,0,0,0,0,0,0,0,-229,0, 0,0,0,0,0,0,0,0,0,0, - -161,0,0,0,0,0,0,0,-132,0, + 0,0,0,0,0,0,-151,0,0,-171, + 0,0,0,-29,0,0,0,0,0,0, + 0,0,0,0,0,-168,0,0,0,0, + 0,0,-172,-174,0,0,0,0,-58,0, 0,0,0,0,0,0,0,0,0,0, + -194,0,0,0,0,0,0,0,0,-90, + 0,0,0,-59,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-216,-200,-218,0,0,0,0, - 0,0,0,0,0,-9,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-46, + 0,-188,-199,0,0,0,0,0,-60,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-163,-181,0,0, - 0,-6,0,0,0,0,0,0,0,-54, + -220,0,0,0,0,0,-201,0,-212,0, + 0,0,0,-61,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-189,0,0,0,-190,-239, - -208,-222,0,0,0,0,0,0,0,0, + 0,0,-217,-231,-227,0,0,0,-62,0, 0,0,0,0,0,0,0,0,0,0, + -226,0,0,0,0,0,-203,0,0,0, + 0,0,0,-63,0,0,0,0,0,0, + 0,0,0,0,0,-94,0,0,0,0, + 0,-221,-228,-95,-96,0,0,0,-64,0, 0,0,0,0,0,0,0,0,0,0, - 0,-1,0,0,0,0,0,0,0,0, - 0,0,0,-209,0,-83,0,-56,0,0, - 0,0,0,0,0,0,0,0,-233,0, + 0,0,0,0,0,0,-230,0,0,0, + 0,0,0,-65,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-227,0,0,0,0,0,0, - 0,-236,-241,0,-235,-237,0,0,-7,0, + 0,-238,-97,-98,-99,0,0,0,-66,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-100,-247,-101,-102, + 0,0,0,-67,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-78,0,0,0,0,0,0,0, + 0,-190,-103,-104,-105,0,0,0,-68,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-119,0,0, - 0,0,-33,0,0,0,0,0,0,0, - 0,-136,0,0,-192,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-82, + -192,0,0,0,0,0,-92,0,0,0, + 0,0,0,-44,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-193,0, + -153,-106,-33,0,0,-240,-107,-108,0,0, + 0,0,0,0,0,-162,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-73,0,0,0, + 0,0,0,0,-155,0,0,0,0,0, + -109,0,0,0,0,0,0,0,-110,0, + -113,0,-163,0,0,0,0,0,0,0, + 0,0,0,0,-124,0,0,0,0,0, + -134,-137,-146,-150,0,0,0,-185,0,0, + 0,0,0,0,0,0,0,0,0,-154, + 0,0,0,0,0,-159,-173,-175,-182,0, + 0,0,-213,0,0,0,0,0,0,0, + 0,0,0,0,-121,0,0,0,0,0, + -186,-208,-209,0,0,0,0,-222,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-233,-241,0,0,0, + 0,-123,-224,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-111,0,0,0,0,0,-50,0, + 0,0,0,0,0,0,0,-232,0,0, + 0,0,0,0,0,0,0,0,0,-196, + 0,0,0,0,0,0,0,-211,0,0, + 0,0,-243,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-135,0,0, + 0,0,0,0,0,0,0,0,0,-197, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-52,0,0,0,0,0, - 0,0,0,0,0,0,-84,0,0,0, - 0,0,0,0,-49,0,0,0,0,0, - 0,0,0,-87,-55,0,0,0,0,0, + 0,-158,0,0,-160,-178,-189,0,0,0, + 0,0,-202,0,0,0,0,0,0,0, + 0,0,0,-219,0,0,0,0,0,0, + 0,0,0,0,0,0,-147,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-89,0,0,0, - 0,0,0,0,0,0,0,0,0,-231, - 0,0,0,-37,0,0,0,0,0,0, - 0,0,0,0,0,-154,0,0,0,0, - 0,0,-47,0,0,0,0,0,0,0, - 0,0,-75,0,0,0,0,0,0,0, + -39,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-225,0,-239, + 0,-56,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -144,0,0,0,0,0,0,0,0,0, + -179,0,0,-8,0,0,0,0,0,0, + 0,-166,0,-9,0,0,0,0,0,0, + 0,0,-1,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-242,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-73,0, + 0,0,0,0,0,0,0,0,-236,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -5,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-244,0,0,0,0,-51,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-206,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-50,0,0,0,0, + 0,0,0,0,0,0,0,-78,0,-52, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-14,0,0, - 0,0,0,0,0,-88,0,0,-40,0, 0,0,0,0,0,0,0,0,0,0, + 0,-120,-37,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-34,0, + 0,0,0,0,0,0,0,0,-195,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-166,0,0,0,-117,0,0, - 0,0,0,0,-162,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-232, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-112,0,0,0,-237, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-10, - 0,0,0,0,0,0,-15,0,0,0, - 0,0,0,0,0,0,0,-11,0,0, - 0,0,0,0,0,-12,0,0,0,0, - 0,0,-13,0,0,0,0,0,0,-17, - -30,-41,0,0,0,0,0,0,0,0, - 0,0,-42,0,0,0,0,0,0,-43, 0,0,0,0,0,0,0,0,0,0, - 0,-72,0,0,0,0,0,0,-85,-174, - 0,0,0,0,0,0,-86,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-149,0,0,-215,0,0,0,0,0, - -234,0,0,-213,0,0,0,0,0,-242, - 0,0,0,0,0,-144,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-113,0,0,0,0,0,0,-203, - 0,-125,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-45,0,0, + 0,0,0,0,0,0,0,0,-46,0, + 0,0,0,0,0,0,0,0,0,-47, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-127,0,0, - 0,0,-131,-202,0,0,0,-173,0,0, + -82,-48,0,0,0,0,0,0,0,0, + 0,-6,0,0,0,0,0,0,0,0, + 0,0,-84,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-170, + 0,0,0,0,-87,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-89,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-91,0, + 0,0,-169,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, + 0,0,0,0,-49,0,0,0,0,0, + 0,0,0,0,-75,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -40,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-165,0,0,0, + 0,0,0,0,-10,0,0,0,0,0, + 0,0,0,0,0,0,-11,0,0,0, + 0,0,0,0,0,0,0,0,0,-12, + 0,0,0,0,0,0,0,-13,0,0, + 0,0,0,0,0,-41,0,0,0,0, + 0,0,0,-42,0,0,0,0,0,0, + 0,-43,0,0,0,0,0,0,0,-72, + 0,0,0,0,0,0,0,-88,0,0, + 0,-235,-7,0,0,0,0,0,0,0, + 0,0,-17,-55,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-14,0, + 0,0,0,0,0,-15,0,0,0,0, + 0,0,0,-30,0,0,0,0,0,0, + -83,0,0,0,0,0,0,0,0,-85, + 0,0,0,-86,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-243,0,0,0,0, - -245,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-152,0, + 0,-93,0,0,0,0,0,0,-133,0, + 0,0,0,0,0,-177,0,0,0,0, + -245,0,-216,-218,0,0,0,0,0,0, + 0,0,0,0,0,0,-132,-205,0,0, + 0,0,-176,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-246,0,0,0,0, + -248,0,0,0,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; @@ -267,239 +281,255 @@ public class GCCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface BaseAction { public final static char baseAction[] = { - 96,11,28,28,24,24,44,44,75,75, - 1,1,1,1,2,2,2,3,3,4, - 4,4,4,4,4,4,4,58,58,76, - 76,5,5,5,5,5,5,5,5,5, - 5,6,6,7,7,7,7,8,8,8, - 9,9,9,10,10,10,10,10,12,12, - 12,13,13,14,14,15,15,16,16,17, - 17,18,18,23,23,23,23,23,23,23, - 23,23,23,23,23,115,52,45,97,97, - 79,79,46,116,116,116,116,116,116,116, - 117,117,117,118,118,123,123,124,124,119, - 119,120,120,120,126,126,121,121,121,121, - 122,122,122,122,122,125,125,30,30,30, - 30,30,32,32,32,85,85,80,80,80, - 80,81,81,81,82,82,82,83,83,83, - 84,84,84,127,127,128,128,129,33,35, + 98,12,29,29,25,25,44,44,76,76, + 1,1,2,2,2,2,3,3,3,4, + 5,5,5,5,5,5,5,5,58,58, + 77,6,6,6,6,6,6,6,6,6, + 6,7,7,8,8,8,8,9,9,9, + 10,10,10,11,11,11,11,11,13,13, + 13,14,14,15,15,16,16,17,17,22, + 22,23,23,24,24,24,24,24,24,24, + 24,24,24,24,24,117,52,45,99,99, + 80,80,46,118,118,118,118,118,118,118, + 119,119,119,120,120,125,125,126,126,121, + 121,122,122,122,128,128,123,123,123,123, + 124,124,124,124,124,127,127,30,30,30, + 30,30,32,32,32,86,86,81,81,81, + 81,82,82,82,83,83,83,84,84,84, + 85,85,85,129,129,130,130,131,33,35, 35,35,35,35,59,60,60,60,60,60, - 60,60,60,60,60,60,60,68,68,29, - 29,65,65,98,99,69,69,66,66,66, - 70,86,86,87,87,71,71,71,54,100, - 100,88,72,72,72,67,67,101,89,89, - 90,90,73,73,26,27,27,27,34,47, - 47,36,36,36,36,39,39,41,37,37, - 38,42,42,130,130,40,131,131,102,102, - 31,31,31,31,31,31,31,31,31,91, - 55,55,55,55,43,62,62,61,61,61, - 63,63,56,56,103,103,77,77,64,64, - 64,48,48,48,49,50,50,50,51,51, - 51,51,53,53,53,57,104,78,78,78, - 78,74,105,106,106,107,107,108,108,132, - 132,133,133,134,134,134,134,136,136,135, - 135,135,137,137,19,19,19,25,25,20, - 20,109,109,92,92,92,93,93,110,110, - 94,94,21,21,111,111,95,95,95,22, - 138,139,139,140,140,141,141,141,142,142, - 142,5,5,125,32,129,129,129,88,88, - 88,101,98,99,43,70,107,107,112,113, - 74,96,96,1,14,19,15,402,684,43, - 463,403,484,465,36,633,567,636,635,675, - 637,73,354,314,315,316,90,151,26,133, - 214,226,287,144,69,135,132,134,158,411, - 981,672,14,19,15,402,684,43,463,403, - 484,465,1846,633,567,636,635,675,637,73, - 255,214,137,164,282,69,256,214,141,144, - 147,150,1566,792,14,19,15,402,41,43, - 463,1043,401,1633,1690,1777,1794,1817,1383,445, - 389,255,214,89,287,1001,491,86,1154,792, - 14,19,15,402,41,43,463,403,914,354, - 314,315,316,332,38,288,133,214,283,490, - 760,1106,135,132,134,158,1118,496,762,14, - 19,15,402,684,43,463,403,484,465,1846, - 633,567,636,635,675,637,73,256,214,137, - 164,282,256,214,1122,141,144,147,150,1566, - 792,14,19,15,402,41,43,463,403,1019, - 1633,1690,1777,1794,1817,1383,765,962,1188,799, - 799,287,962,1178,335,1154,792,14,19,15, - 402,41,43,463,403,484,465,18,633,567, - 636,1106,288,2052,16,294,1058,554,14,19, - 15,402,684,43,463,403,484,465,1846,633, - 567,636,635,675,637,73,67,211,799,69, - 282,495,14,19,15,402,684,43,463,403, - 484,465,599,633,567,636,635,675,637,73, - 646,385,1114,23,692,255,214,276,22,240, - 289,1444,404,610,1154,52,59,427,322,1162, - 702,14,19,15,402,684,43,463,403,484, - 465,290,633,567,636,635,675,637,73,445, - 1137,410,799,282,876,14,19,15,402,684, - 43,463,403,484,465,248,633,567,636,635, - 675,637,73,333,948,1065,21,330,37,1178, - 802,187,187,370,799,196,2106,1154,732,14, - 19,15,402,684,43,463,403,484,465,279, - 633,567,636,635,675,637,73,451,274,20, - 242,282,792,14,19,15,402,684,43,463, - 403,484,465,210,633,567,636,635,675,637, - 73,26,26,202,344,90,26,904,277,1010, - 1186,291,2060,660,334,1154,939,1352,328,792, - 14,19,15,402,41,43,463,403,484,465, - 459,633,567,1069,970,848,14,19,15,402, - 684,43,463,403,484,465,1672,633,567,636, - 635,675,637,73,164,1122,232,926,1385,1122, - 233,401,524,14,19,15,402,684,43,463, - 403,484,465,110,633,567,636,635,675,637, - 73,320,1122,2082,188,1411,799,229,187,1141, - 241,876,14,19,15,402,684,43,463,403, - 484,465,1065,633,567,636,635,675,637,73, - 280,189,799,2094,330,792,14,19,15,402, - 684,43,463,403,484,465,232,633,567,636, - 635,675,637,73,799,281,339,659,91,792, - 14,19,15,402,684,43,463,403,484,465, - 1099,633,567,636,635,675,637,73,281,923, - 528,435,84,792,14,19,15,402,684,43, - 463,403,484,465,520,633,567,636,635,675, - 637,73,799,799,337,329,83,792,14,19, - 15,402,684,43,463,403,484,465,26,633, - 567,636,635,675,637,73,226,319,799,2130, - 82,792,14,19,15,402,684,43,463,403, - 484,465,26,633,567,636,635,675,637,73, - 336,799,338,498,81,792,14,19,15,402, - 684,43,463,403,484,465,26,633,567,636, - 635,675,637,73,324,231,473,2085,80,792, - 14,19,15,402,684,43,463,403,484,465, - 790,633,567,636,635,675,637,73,796,579, - 235,618,79,792,14,19,15,402,684,43, - 463,403,484,465,790,633,567,636,635,675, - 637,73,852,589,697,670,78,792,14,19, - 15,402,684,43,463,403,484,465,760,633, - 567,636,635,675,637,73,1009,1015,1446,173, - 77,792,14,19,15,402,684,43,463,403, - 484,465,351,633,567,636,635,675,637,73, - 8,397,1605,195,76,792,14,19,15,402, - 684,43,463,403,484,465,185,633,567,636, - 635,675,637,73,330,297,1606,509,75,792, - 14,19,15,402,684,43,463,403,484,465, - 541,633,567,636,635,675,637,73,765,391, - 624,805,74,792,14,19,15,402,684,43, - 463,403,484,465,833,633,567,636,635,675, - 637,73,677,881,686,81,1515,792,14,19, - 15,402,684,43,463,403,484,465,851,633, - 567,636,635,675,637,73,905,291,739,537, - 1519,792,14,19,15,402,41,43,463,403, - 484,465,242,633,567,636,635,675,637,92, - 792,14,19,15,402,41,43,463,403,484, - 1066,317,314,315,316,2328,2328,2123,2328,2328, - 321,1162,26,275,565,2328,2328,1521,220,796, - 222,1234,224,225,230,1130,2328,875,2328,2328, - 270,717,596,273,792,14,19,15,402,41, - 43,463,403,484,465,228,633,567,636,635, - 675,637,92,792,14,19,15,402,41,43, - 463,403,484,465,2328,633,567,636,635,675, - 637,92,792,14,19,15,402,41,43,813, - 1522,792,14,19,15,402,41,39,792,14, - 19,15,402,41,43,463,403,484,465,213, - 633,567,636,635,675,637,92,792,14,19, - 15,402,41,43,463,403,484,465,2328,633, - 567,636,635,675,637,92,2328,2328,2328,2328, - 958,2328,739,2328,1602,820,14,19,15,402, - 352,1924,792,14,19,15,402,41,43,463, - 403,484,465,203,633,567,636,635,675,637, - 92,275,596,389,2328,187,219,796,222,1234, - 224,225,230,460,2328,26,284,264,268,717, - 596,273,354,314,315,316,722,2328,204,133, - 214,187,1350,244,265,136,132,134,158,792, - 14,19,15,402,41,43,463,403,484,465, - 2328,633,567,636,635,675,637,72,261,243, - 86,2328,138,164,179,739,739,691,142,145, - 148,151,1566,262,2328,1950,792,14,19,15, - 402,41,38,317,314,315,316,2328,2328,1579, - 792,14,19,15,402,41,43,463,403,1021, - 219,796,222,1234,224,225,230,1041,1122,181, - 205,1187,820,14,19,15,402,351,1675,2328, - 792,14,19,15,402,41,43,463,403,484, - 465,278,633,1082,2328,187,2091,296,275,187, - 405,418,187,219,796,222,1234,224,225,230, - 2328,1950,199,2328,922,268,717,596,273,317, - 314,315,316,245,1018,1579,2328,246,2328,295, - 297,694,613,2328,2328,2328,219,796,222,1234, - 224,225,230,722,1122,2328,1077,1187,792,14, - 19,15,402,41,43,463,403,484,465,179, - 633,567,636,635,1091,317,314,315,316,2328, - 1950,2132,2091,298,739,2328,2328,86,318,314, - 315,316,187,411,371,739,739,2328,200,820, - 14,19,15,402,40,219,796,222,1234,224, - 225,230,317,314,315,316,1187,2328,2123,2328, - 369,2328,2328,444,2328,2328,2328,2328,182,220, - 796,222,1234,224,225,230,1130,2328,397,206, - 384,2100,354,314,315,316,2328,2328,1032,133, - 214,2328,2328,620,794,140,132,134,158,460, - 2328,2328,69,2328,722,1046,2328,317,314,315, - 316,2328,2328,2123,2328,2328,460,2328,1350,2328, - 74,2328,139,164,317,314,315,316,255,214, - 2123,1115,2328,2328,2328,1350,2328,57,88,354, - 314,315,316,1733,260,2328,133,214,1115,826, - 2328,1139,143,132,134,158,317,314,315,316, - 1202,260,2123,352,410,2328,826,2328,1139,792, - 14,19,15,402,41,43,463,403,484,465, - 1115,1045,317,314,315,316,2328,2328,2123,2328, - 662,2328,1733,1143,275,792,14,19,15,402, - 41,43,463,403,484,1067,1130,158,2328,2328, - 2328,270,717,596,273,792,14,19,15,402, - 41,43,463,1044,974,26,354,314,315,316, - 2328,2328,2328,133,214,2328,722,2328,2328,146, - 132,134,158,354,314,315,316,986,2328,2328, - 133,214,2328,2328,2328,2328,149,132,134,158, - 1148,2328,2328,2328,454,2328,354,314,315,316, - 86,1950,2328,133,214,1707,1038,1090,2328,152, - 132,134,158,792,14,19,15,402,41,43, - 463,403,1042,996,2328,275,219,796,222,1234, - 224,225,230,2328,1658,1165,2328,922,2328,2328, - 2328,2328,268,717,596,273,2328,278,820,14, - 19,15,402,33,275,2328,459,2328,267,792, - 14,19,15,402,41,43,877,2328,2328,2328, - 2328,268,717,596,273,317,314,315,316,2328, - 2328,2163,2328,2328,57,2328,2328,694,585,14, - 19,15,402,41,35,585,14,19,15,402, - 41,35,2328,317,314,315,316,2328,2328,2123, - 57,1164,467,293,2328,2328,247,2328,640,367, - 2328,2328,2328,248,2328,2328,822,1115,2328,317, - 314,315,316,2328,2328,2123,2328,2328,2328,1202, - 792,14,19,15,402,41,37,820,14,19, - 15,402,32,1115,2328,2328,2328,800,792,14, - 19,15,402,41,36,1603,792,14,19,15, - 402,41,35,792,14,19,15,402,41,34, - 26,26,792,14,19,15,402,41,46,2328, - 2328,373,373,792,14,19,15,402,41,45, - 792,14,19,15,402,41,44,2328,2328,2328, - 198,198,642,14,19,15,402,41,42,95, - 224,2328,2328,2328,2328,86,86,295,2328,2328, - 2328,460,550,550,1834,1834,2328,2328,317,314, - 315,316,1104,2328,2158,334,317,314,315,316, - 198,1121,2158,2328,159,2328,460,549,598,2328, - 1130,317,314,315,316,460,350,2168,2328,2328, - 317,314,315,316,620,198,2186,460,2328,317, - 314,315,316,1084,1350,2191,2328,2328,2328,795, - 1137,193,1091,2328,2328,2328,1350,799,2328,620, - 2328,2328,318,314,315,316,1445,2164,2328,2328, - 260,318,314,315,316,971,193,1139,1098,1178, - 2328,2328,260,919,279,2328,2328,874,1111,1139, - 2328,1594,2164,2328,2328,460,2328,318,314,315, - 316,1163,318,314,315,316,1136,318,314,315, - 316,1142,2328,2328,198,2328,996,2328,2328,2328, - 2328,2328,2328,210,2328,318,314,315,316,2328, - 318,314,315,316,2328,2328,2328,2328,620,1034, - 1186,2328,2328,2328,2328,2328,2328,2328,2328,2328, - 2328,2328,2328,2328,2328,194,2328,0,688,127, - 0,743,127,0,744,127,0,688,128,0, - 743,128,0,744,128,0,688,129,0,743, - 129,0,744,129,0,688,186,0,743,186, - 0,744,186,0,186,190,0,688,185,0, - 743,185,0,744,185,0,185,190,0,688, - 130,0,743,130,0,744,130,0,688,131, - 0,743,131,0,744,131,0,17,178,0, - 18,177,0,1,688,0,1,743,0,1, - 744,0,1,2555,0,1,2566,0 + 60,60,60,60,60,60,60,68,65,65, + 100,101,69,69,66,66,66,70,87,87, + 88,88,71,71,71,54,102,102,89,72, + 72,72,67,67,103,90,90,91,91,73, + 73,27,28,28,28,34,47,47,36,36, + 36,36,39,39,41,37,37,38,42,42, + 132,132,40,133,133,104,104,31,31,31, + 31,31,31,31,31,31,92,55,55,55, + 55,43,62,62,61,61,61,63,63,56, + 56,105,105,78,78,64,64,64,48,48, + 48,49,50,50,50,51,51,51,51,53, + 53,53,57,106,79,79,79,79,74,107, + 108,108,109,109,110,110,134,134,135,135, + 136,136,136,136,138,138,137,137,137,139, + 139,18,18,18,26,26,19,19,111,111, + 93,93,93,94,94,112,112,95,95,20, + 20,113,113,96,96,96,21,140,141,141, + 142,142,143,143,143,144,144,144,6,6, + 75,97,97,97,30,127,32,131,131,131, + 89,89,89,103,100,101,43,70,109,109, + 114,115,74,98,98,1,930,16,20,17, + 449,799,43,484,469,539,503,19,619,546, + 683,646,745,356,311,312,313,686,73,90, + 187,30,133,211,721,187,30,135,132,134, + 158,402,1321,144,856,19,16,20,17,449, + 799,43,484,469,539,503,746,619,546,683, + 646,745,235,1019,137,164,686,73,811,421, + 141,144,147,150,2201,448,392,177,352,398, + 351,315,311,312,313,413,1738,1901,1923,1945, + 1967,1177,707,273,356,311,312,313,21,28, + 329,37,1989,133,211,252,211,24,135,132, + 134,158,23,485,110,678,19,16,20,17, + 449,799,43,484,469,539,503,411,619,546, + 683,646,745,412,421,137,164,686,73,279, + 517,141,144,147,150,2201,1054,1092,1299,845, + 290,351,501,803,2249,695,369,1738,1901,1923, + 1945,1967,1177,239,315,311,312,313,284,52, + 820,332,1296,1989,253,211,69,798,19,16, + 20,17,449,41,43,484,469,539,503,285, + 619,546,683,1241,404,768,19,16,20,17, + 449,799,43,484,469,539,503,411,619,546, + 683,646,745,352,690,187,185,686,73,279, + 557,19,16,20,17,449,799,43,484,469, + 539,503,411,619,546,683,646,745,819,2140, + 252,211,686,73,279,319,1297,690,284,242, + 1474,501,1296,798,19,16,20,17,449,41, + 43,484,469,539,503,690,619,546,1155,285, + 187,184,18,286,1021,663,85,1296,798,19, + 16,20,17,449,41,43,484,469,539,503, + 1249,619,1202,1111,287,498,19,16,20,17, + 449,799,43,484,469,539,503,448,619,546, + 683,646,745,174,193,620,338,686,73,504, + 253,211,187,1322,237,708,19,16,20,17, + 449,799,43,484,469,539,503,204,619,546, + 683,646,745,1122,318,1297,274,686,73,279, + 885,19,16,20,17,449,799,43,484,469, + 539,503,903,619,546,683,646,745,861,1290, + 253,211,686,73,327,7,352,690,372,187, + 186,27,1296,738,19,16,20,17,449,799, + 43,484,469,539,503,208,619,546,683,646, + 745,690,22,252,211,686,73,279,798,19, + 16,20,17,449,799,43,484,469,539,503, + 795,619,546,683,646,745,271,998,1093,992, + 686,73,90,187,293,95,288,417,517,583, + 1296,421,421,554,1089,325,315,311,312,313, + 527,19,16,20,17,449,799,43,484,469, + 539,503,1003,619,546,683,646,745,1216,317, + 241,240,686,73,812,626,690,664,1052,238, + 588,19,16,20,17,449,41,35,413,885, + 19,16,20,17,449,799,43,484,469,539, + 503,277,619,546,683,646,745,690,226,244, + 690,686,73,327,798,19,16,20,17,449, + 799,43,484,469,539,503,988,619,546,683, + 646,745,336,120,539,278,686,73,91,798, + 19,16,20,17,449,799,43,484,469,539, + 503,690,619,546,683,646,745,225,953,334, + 912,686,73,84,798,19,16,20,17,449, + 799,43,484,469,539,503,223,619,546,683, + 646,745,204,690,326,291,686,73,83,798, + 19,16,20,17,449,799,43,484,469,539, + 503,795,619,546,683,646,745,690,316,187, + 295,686,73,82,798,19,16,20,17,449, + 799,43,484,469,539,503,281,619,546,683, + 646,745,335,282,525,690,686,73,81,798, + 19,16,20,17,449,799,43,484,469,539, + 503,721,619,546,683,646,745,204,321,1102, + 228,686,73,80,798,19,16,20,17,449, + 799,43,484,469,539,503,290,619,546,683, + 646,745,204,476,297,391,686,73,79,798, + 19,16,20,17,449,799,43,484,469,539, + 503,178,619,546,683,646,745,204,232,1206, + 192,686,73,78,798,19,16,20,17,449, + 799,43,484,469,539,503,202,619,546,683, + 646,745,204,532,592,621,686,73,77,798, + 19,16,20,17,449,799,43,484,469,539, + 503,179,619,546,683,646,745,71,63,363, + 418,686,73,76,798,19,16,20,17,449, + 799,43,484,469,539,503,203,619,546,683, + 646,745,352,683,713,251,686,73,75,798, + 19,16,20,17,449,799,43,484,469,539, + 503,421,619,546,683,646,745,392,177,252, + 211,686,73,74,798,19,16,20,17,449, + 41,43,484,469,1055,356,311,312,313,421, + 242,37,261,30,133,211,204,474,711,136, + 132,134,158,2266,713,778,798,19,16,20, + 17,449,799,43,484,469,539,503,243,619, + 546,683,646,745,280,37,138,164,686,73, + 1171,387,142,145,148,151,2201,1551,88,173, + 1128,615,352,798,19,16,20,17,449,799, + 43,484,469,539,503,296,619,546,683,646, + 745,947,712,408,831,686,73,1199,798,19, + 16,20,17,449,41,43,484,469,539,503, + 807,619,546,683,646,745,811,964,816,331, + 686,92,747,798,19,16,20,17,449,41, + 43,484,469,539,503,699,619,546,683,646, + 745,516,467,839,1398,686,92,1487,798,19, + 16,20,17,449,41,43,484,469,539,503, + 276,619,546,683,646,745,786,600,2485,1518, + 686,92,448,798,19,16,20,17,449,41, + 43,484,469,539,503,2485,619,546,683,646, + 745,2485,2485,2485,210,686,92,330,798,19, + 16,20,17,449,41,43,484,469,539,503, + 699,619,546,683,646,745,2485,2485,1115,1520, + 686,92,2273,798,19,16,20,17,449,41, + 43,484,469,539,503,229,619,546,683,646, + 745,2485,2485,2485,200,686,92,292,798,19, + 16,20,17,449,41,43,484,469,539,503, + 1076,619,546,683,646,745,2485,2485,331,201, + 686,72,37,2485,2485,1100,37,37,314,311, + 312,313,2485,37,952,445,433,1152,1705,565, + 2485,272,2485,2485,98,2274,217,847,219,896, + 221,222,227,1272,2485,2485,2152,584,267,685, + 432,270,314,311,312,313,2485,2485,2485,446, + 1639,798,19,16,20,17,449,41,43,1046, + 216,847,219,896,221,222,227,1541,421,2485, + 421,1346,798,19,16,20,17,449,41,43, + 484,469,539,503,2485,619,546,683,646,1208, + 2485,649,2485,257,2485,2485,1820,294,880,371, + 1273,1032,1322,1993,798,19,16,20,17,449, + 41,39,59,196,798,19,16,20,17,449, + 41,38,272,617,1789,2485,1004,216,847,219, + 896,221,222,227,2485,778,2485,275,261,265, + 685,432,270,272,2485,2485,181,2485,216,847, + 219,896,221,222,227,262,2485,2485,2152,921, + 265,685,432,270,314,311,312,313,86,2485, + 2485,2485,1639,2485,207,373,771,2485,2485,923, + 2485,2485,216,847,219,896,221,222,227,98, + 2485,790,1323,1346,2485,2485,259,314,311,312, + 313,2152,2485,2485,2485,433,2485,315,311,312, + 313,827,19,16,20,17,449,349,1820,2485, + 2485,387,1251,2485,2485,216,847,219,896,221, + 222,227,461,2485,1816,197,1346,798,19,16, + 20,17,449,41,43,484,469,539,1153,2485, + 314,311,312,313,2485,1032,1322,2485,433,2485, + 2485,2271,2485,2485,2485,2485,2485,2485,217,847, + 219,896,221,222,227,1272,798,19,16,20, + 17,449,41,43,484,469,539,503,447,1130, + 798,19,16,20,17,449,41,43,484,469, + 539,1154,2485,2485,2485,2485,356,311,312,313, + 2485,2485,967,143,2485,133,211,2485,2485,2485, + 140,132,134,158,446,1629,2485,2485,207,37, + 314,311,312,313,2485,2485,2485,2485,433,1082, + 2485,778,1541,2485,272,971,1323,139,164,2485, + 2485,446,2485,2485,2485,1251,2485,314,311,312, + 313,265,685,432,270,433,244,1816,257,1541, + 1125,2485,2485,846,86,1273,2485,264,2485,2485, + 2485,439,1251,2485,314,311,312,313,314,311, + 312,313,433,2485,1440,257,2346,272,2485,2485, + 846,2485,1273,2485,2485,2485,2485,2485,2485,1272, + 2485,2485,2485,2485,267,685,432,270,798,19, + 16,20,17,449,41,43,484,469,1103,798, + 19,16,20,17,449,41,43,484,469,1104, + 798,19,16,20,17,449,41,43,484,469, + 1105,75,798,19,16,20,17,449,41,43, + 484,1127,827,19,16,20,17,449,348,356, + 311,312,313,159,2485,2485,2485,2485,133,211, + 2485,2485,2485,143,132,134,158,2485,2485,2485, + 889,356,311,312,313,982,2485,2485,2485,2485, + 133,211,446,2485,2485,146,132,134,158,2485, + 2485,2485,2485,356,311,312,313,996,2485,2485, + 1541,2485,133,211,2485,2485,2485,149,132,134, + 158,2485,2485,2485,2485,356,311,312,313,1031, + 2485,2485,2485,923,133,211,258,2485,2485,152, + 132,134,158,1154,2485,2485,2485,356,311,312, + 313,314,311,312,313,2152,133,211,2485,433, + 2485,353,132,134,158,798,19,16,20,17, + 449,41,43,484,1129,232,1251,2485,2485,216, + 847,219,896,221,222,227,2485,1762,1440,2485, + 921,798,19,16,20,17,449,41,43,1054, + 275,2485,2485,2485,2485,2485,272,588,19,16, + 20,17,449,41,35,798,19,16,20,17, + 449,41,37,265,685,432,270,798,19,16, + 20,17,449,41,36,2485,245,2485,2485,771, + 798,19,16,20,17,449,41,35,798,19, + 16,20,17,449,41,34,798,19,16,20, + 17,449,41,46,798,19,16,20,17,449, + 41,45,798,19,16,20,17,449,41,44, + 646,19,16,20,17,449,41,42,931,2485, + 2485,2485,923,827,19,16,20,17,449,40, + 2485,2485,2485,37,37,2485,314,311,312,313, + 314,311,312,313,2287,375,778,2485,433,827, + 19,16,20,17,449,33,827,19,16,20, + 17,449,32,195,37,1251,2485,2485,2485,2485, + 2485,958,2485,2485,2485,2485,375,1682,86,86, + 299,2485,2485,2485,355,617,1207,1763,749,314, + 311,312,313,2485,195,2485,2485,516,314,311, + 312,313,314,311,312,313,798,2485,2485,86, + 798,584,2485,2485,2485,2485,617,2485,1763,1103, + 2485,738,827,19,16,20,17,449,1271,827, + 19,16,20,17,449,350,224,314,311,312, + 313,1136,635,750,336,2293,2485,2485,446,2485, + 585,2485,2485,2485,640,446,446,1046,280,314, + 311,312,313,1114,2485,2485,195,2351,2485,2485, + 446,523,2485,1541,195,315,311,312,313,2485, + 2485,315,311,312,313,2485,2485,2485,195,2485, + 608,2485,2485,2485,2485,2485,2485,2485,608,257, + 2485,2485,2485,2485,1005,2485,1273,190,2485,2485, + 2485,2485,608,2485,2485,190,1142,2485,2485,2485, + 1298,1148,2485,1027,2288,2485,2485,2485,2485,191, + 2485,1077,2288,2485,315,311,312,313,2485,315, + 311,312,313,2485,2485,2485,2485,1053,2485,0, + 1203,31,0,1779,31,0,805,127,0,807, + 127,0,813,127,0,805,128,0,807,128, + 0,813,128,0,805,129,0,807,129,0, + 813,129,0,805,183,0,807,183,0,813, + 183,0,183,187,0,805,182,0,807,182, + 0,813,182,0,182,187,0,805,130,0, + 807,130,0,813,130,0,805,131,0,807, + 131,0,813,131,0,19,177,0,805,354, + 0,807,354,0,813,354,0,1,805,0, + 1,807,0,1,813,0,349,350,0,1, + 2709,0,1,2720,0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -509,132 +539,132 @@ public class GCCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface TermCheck { public final static byte termCheck[] = {0, - 0,1,2,3,4,5,6,0,8,9, - 10,11,12,13,14,15,16,0,18,19, - 20,21,22,23,24,0,26,27,28,12, - 30,31,32,33,34,0,0,0,2,39, + 0,1,2,3,4,5,0,7,8,9, + 10,11,12,13,14,15,16,17,0,19, + 20,21,22,23,24,25,26,0,28,0, + 30,31,32,33,34,6,0,10,11,39, 40,41,42,43,44,45,46,47,48,49, - 50,0,52,53,54,0,0,2,0,3, - 4,5,7,8,9,10,0,12,0,62, - 15,16,17,0,37,38,3,4,5,11, - 0,13,14,17,11,0,13,14,0,0, - 35,36,37,38,0,1,8,3,4,5, - 6,28,17,30,31,32,33,34,0,0, - 55,56,57,58,59,60,61,8,63,68, - 65,66,67,68,69,67,71,72,73,74, + 50,0,52,53,54,0,27,2,0,1, + 2,6,0,8,6,10,11,0,0,14, + 0,16,17,18,0,69,18,3,4,5, + 10,11,14,9,0,27,12,13,37,38, + 35,36,37,38,0,21,2,0,1,2, + 3,4,5,85,30,31,32,33,34,0, + 55,56,57,58,59,60,61,8,63,0, + 65,66,67,68,69,6,71,72,73,74, 75,76,77,78,79,80,81,82,83,0, - 55,2,62,0,56,57,7,8,9,10, - 0,12,9,10,15,16,17,0,0,1, - 3,4,5,0,1,56,57,0,11,6, - 13,14,0,0,35,36,37,38,0,1, - 2,3,4,5,0,28,0,30,31,32, - 33,34,29,7,55,56,57,58,59,60, - 61,0,63,2,65,66,67,68,69,51, + 0,2,0,0,2,6,27,8,6,10, + 11,0,68,14,35,16,17,18,0,62, + 18,3,4,5,0,56,57,9,0,27, + 12,13,0,0,35,36,37,38,35,21, + 0,1,2,3,4,5,0,1,30,31, + 32,33,34,7,55,56,57,58,59,60, + 61,29,63,0,65,66,67,68,69,6, 71,72,73,74,75,76,77,78,79,80, 81,82,83,0,1,0,3,4,5,6, - 7,0,0,1,11,85,13,14,6,67, - 62,0,1,2,3,4,5,0,17,8, - 64,28,68,30,31,32,33,34,17,36, - 35,29,39,40,41,42,43,44,45,46, - 47,48,49,50,0,52,53,54,0,1, - 0,3,4,5,6,7,0,7,2,11, - 0,13,14,70,0,1,0,3,4,5, - 6,15,16,17,8,25,28,0,30,31, - 32,33,34,0,36,35,69,39,40,41, - 42,43,44,45,46,47,48,49,50,0, - 52,53,54,0,1,0,3,4,5,6, - 7,55,7,0,11,2,13,14,70,0, - 0,0,62,2,3,4,5,71,29,8, - 25,28,12,30,31,32,33,34,17,36, - 35,0,39,40,41,42,43,44,45,46, - 47,48,49,50,0,52,53,54,0,1, - 0,3,4,5,6,11,0,13,14,11, - 51,13,14,70,0,1,2,3,4,5, - 0,1,2,3,4,5,28,0,30,31, - 32,33,34,0,7,35,0,39,40,41, - 42,43,44,45,46,47,48,49,50,0, - 52,53,54,0,0,1,3,4,5,0, - 0,7,2,0,11,2,13,14,0,1, - 7,3,4,5,6,69,62,17,51,25, - 17,28,0,30,31,32,33,34,25,7, - 0,64,39,40,41,42,43,44,45,46, - 47,48,49,50,0,1,2,25,72,73, - 6,7,8,9,10,0,12,35,0,15, - 16,0,18,19,20,21,22,23,24,0, - 26,27,28,0,1,2,18,0,1,6, - 7,8,9,10,7,12,0,1,15,16, - 0,18,19,20,21,22,23,24,8,26, - 27,28,25,0,1,2,37,38,64,6, - 7,8,9,10,0,12,2,0,15,16, - 0,18,19,20,21,22,23,24,0,26, - 27,17,29,0,0,1,2,64,0,36, - 6,7,8,9,10,0,12,9,10,15, - 16,0,18,19,20,21,22,23,24,0, - 26,27,0,1,2,37,38,0,6,0, - 8,9,10,0,12,2,7,15,16,0, - 18,19,20,21,22,23,24,0,26,27, - 0,0,1,2,25,0,51,6,64,8, - 9,10,7,12,37,38,15,16,0,18, - 19,20,21,22,23,24,8,26,27,0, - 29,0,1,2,65,66,0,6,2,8, - 9,10,70,12,0,0,15,16,0,18, - 19,20,21,22,23,24,0,26,27,0, - 29,0,1,2,0,9,10,6,0,8, - 9,10,0,12,56,57,15,16,0,18, - 19,20,21,22,23,24,0,26,27,84, - 29,0,1,2,65,66,0,6,0,8, - 9,10,0,12,0,7,15,16,63,18, - 19,20,21,22,23,24,0,26,27,0, - 29,0,1,2,0,1,0,6,0,8, - 9,10,0,12,36,11,15,16,0,18, - 19,20,21,22,23,24,0,26,27,0, - 29,0,1,2,35,0,0,6,0,8, - 9,10,7,12,0,7,15,16,0,18, - 19,20,21,22,23,24,0,26,27,0, - 1,2,0,25,35,6,0,8,9,10, - 35,12,0,29,15,16,0,18,19,20, - 21,22,23,24,0,26,27,0,1,2, - 0,0,0,6,0,8,9,10,0,12, - 0,29,15,16,0,18,19,20,21,22, - 23,24,0,26,27,0,1,2,0,84, - 0,6,0,8,9,10,0,12,37,38, - 15,16,0,18,19,20,21,22,23,24, - 0,26,27,0,0,2,3,4,5,29, - 7,8,0,63,11,29,13,14,0,1, - 17,3,4,5,6,0,0,2,25,29, - 0,28,7,30,31,32,33,34,0,35, - 2,3,4,5,0,7,8,0,0,11, - 25,13,14,0,0,17,0,0,1,2, - 0,0,1,25,7,0,28,6,30,31, - 32,33,34,0,17,0,3,4,5,0, - 0,0,25,0,11,0,13,14,3,4, - 5,11,35,13,14,0,11,2,13,14, - 0,28,7,30,31,32,33,34,0,0, - 63,0,17,28,0,30,31,32,33,34, - 25,74,75,76,77,78,79,80,81,82, - 83,0,0,0,3,4,5,0,1,8, - 0,1,2,6,0,0,0,7,3,4, - 5,0,0,8,17,0,0,17,58,59, - 60,61,7,0,0,25,58,59,60,61, - 0,7,58,59,60,61,0,0,0,3, - 4,5,51,0,0,0,3,4,5,25, - 0,36,55,3,4,5,51,0,0,0, - 3,4,5,0,0,0,3,4,5,11, - 0,13,14,3,4,5,11,0,13,14, - 0,0,1,3,4,5,0,6,11,0, - 13,14,3,4,5,0,0,1,3,4, - 5,0,6,0,3,4,5,0,1,2, - 0,1,0,0,0,0,6,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0 + 7,0,9,2,0,12,13,6,15,36, + 67,0,62,0,21,2,3,4,5,18, + 0,8,18,30,31,32,33,34,27,36, + 0,18,39,40,41,42,43,44,45,46, + 47,48,49,50,14,52,53,54,0,0, + 1,0,3,4,5,6,7,6,9,0, + 0,12,13,70,15,0,0,8,0,1, + 21,3,4,5,8,7,65,66,27,30, + 31,32,33,34,19,36,35,67,39,40, + 41,42,43,44,45,46,47,48,49,50, + 0,52,53,54,0,0,1,0,3,4, + 5,6,7,0,9,56,57,12,13,70, + 15,0,56,57,0,1,21,3,4,5, + 9,7,0,12,13,30,31,32,33,34, + 0,36,10,11,39,40,41,42,43,44, + 45,46,47,48,49,50,0,52,53,54, + 0,0,1,63,3,4,5,0,7,2, + 9,0,1,12,13,70,15,0,7,72, + 73,0,21,16,17,18,0,0,2,18, + 0,30,31,32,33,34,6,37,38,0, + 39,40,41,42,43,44,45,46,47,48, + 49,50,35,52,53,54,0,0,1,3, + 4,5,55,6,68,9,55,0,12,13, + 0,1,2,3,4,5,0,21,71,58, + 59,60,61,0,27,0,30,31,32,33, + 34,6,65,66,64,39,40,41,42,43, + 44,45,46,47,48,49,50,0,1,2, + 0,1,27,6,7,8,0,10,11,9, + 35,14,15,16,17,0,19,20,21,22, + 23,24,25,26,0,28,0,1,2,63, + 6,0,6,7,8,62,10,11,0,1, + 14,15,16,17,6,19,20,21,22,23, + 24,25,26,0,28,2,0,1,2,35, + 0,64,6,7,8,27,10,11,37,38, + 14,15,16,17,0,19,20,62,22,23, + 24,25,26,0,28,29,0,0,1,2, + 64,0,36,6,7,8,0,10,11,0, + 1,14,15,16,17,0,19,20,84,22, + 23,24,25,26,0,28,0,1,2,0, + 0,2,8,7,8,0,10,11,37,38, + 14,15,16,17,51,19,20,18,22,23, + 24,25,26,18,28,0,1,2,0,1, + 2,64,7,8,6,10,11,37,38,14, + 15,16,17,0,19,20,18,22,23,24, + 25,26,0,28,29,27,0,0,1,2, + 55,18,0,35,7,8,70,10,11,0, + 0,14,15,16,17,6,19,20,0,22, + 23,24,25,26,6,28,29,0,1,2, + 0,0,0,0,7,8,27,10,11,8, + 0,14,15,16,17,27,19,20,0,22, + 23,24,25,26,6,28,29,0,1,2, + 58,59,60,61,7,8,0,10,11,0, + 1,14,15,16,17,35,19,20,0,22, + 23,24,25,26,36,28,29,0,1,2, + 58,59,60,61,7,8,0,10,11,69, + 0,14,15,16,17,0,19,20,0,22, + 23,24,25,26,0,28,29,0,1,2, + 51,0,0,1,7,8,0,10,11,7, + 0,14,15,16,17,0,19,20,0,22, + 23,24,25,26,6,28,0,1,2,35, + 0,29,2,7,8,29,10,11,0,29, + 14,15,16,17,29,19,20,62,22,23, + 24,25,26,0,28,0,1,2,0,0, + 0,1,7,8,0,10,11,7,0,14, + 15,16,17,35,19,20,0,22,23,24, + 25,26,29,28,0,1,2,29,0,29, + 0,7,8,0,10,11,0,0,14,15, + 16,17,84,19,20,0,22,23,24,25, + 26,0,28,2,3,4,5,6,0,8, + 9,0,0,12,13,3,4,5,0,18, + 0,1,21,3,4,5,0,7,27,51, + 0,30,31,32,33,34,0,0,2,3, + 4,5,6,0,8,9,0,0,12,13, + 3,4,5,0,18,2,0,21,0,3, + 4,5,0,27,8,0,30,31,32,33, + 34,0,0,0,3,4,5,0,0,2, + 9,0,0,12,13,0,0,0,3,4, + 5,0,21,0,9,18,9,12,13,12, + 13,30,31,32,33,34,21,51,0,0, + 0,3,4,5,0,30,31,32,33,34, + 0,0,1,3,4,5,0,0,7,9, + 0,1,12,13,0,0,1,7,3,4, + 5,21,7,0,63,0,3,4,5,0, + 30,31,32,33,34,74,75,76,77,78, + 79,80,81,82,83,0,1,2,3,4, + 5,0,0,8,3,4,5,0,0,8, + 2,0,0,18,6,3,4,5,0,0, + 9,0,0,12,13,3,4,5,9,0, + 0,12,13,0,0,27,3,4,5,9, + 6,0,12,13,0,0,0,3,4,5, + 9,0,51,12,13,0,0,0,3,4, + 5,0,0,0,3,4,5,0,0,0, + 3,4,5,0,1,2,0,0,0,0, + 0,0,0,0,0,51,0,0,0,0, + 0,0,0,0,0,0,0,0,64,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 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; @@ -642,122 +672,124 @@ public class GCCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface TermAction { public final static char termAction[] = {0, - 2328,747,2020,688,743,744,756,2328,2006,1998, - 1980,2543,2013,2544,2545,1987,1888,63,2341,1609, - 2338,2339,2340,1456,1301,1,1355,1492,2489,1739, - 2490,2488,2546,2491,2487,286,2328,53,797,2494, - 2499,2498,2496,2497,2495,2500,2501,2493,2502,2503, - 2504,67,1896,2067,2059,1,254,2346,65,688, - 743,744,2346,2346,2346,2346,272,2346,2328,1419, - 2346,2346,2346,128,443,1785,2247,2250,2253,2543, - 2328,2544,2545,601,2543,292,2544,2545,47,2328, - 2346,2346,2346,2346,186,2274,2040,2265,2268,2271, - 2274,2489,1254,2490,2488,2546,2491,2487,2328,49, - 2346,2346,2346,2346,2346,2346,2346,2040,2346,759, - 2346,2346,2346,2346,2346,1500,2346,2346,2346,2346, - 2346,2346,2346,2346,2346,2346,2346,2346,2346,1, - 1564,2345,2696,50,2033,2022,2345,2345,2345,2345, - 2328,2345,1899,1292,2345,2345,2345,129,1,2325, - 2256,2259,2262,2328,2507,2033,2022,2328,2543,2508, - 2544,2545,66,2328,2345,2345,2345,2345,1,2555, - 1830,2313,2316,2319,68,2489,2328,2490,2488,2546, - 2491,2487,741,2331,2345,2345,2345,2345,2345,2345, - 2345,2328,2345,659,2345,2345,2345,2345,2345,2587, - 2345,2345,2345,2345,2345,2345,2345,2345,2345,2345, - 2345,2345,2345,2328,1,87,1,1,1,1, - 192,221,2328,2507,1,2237,1,1,2508,1500, - 1327,269,2555,1487,688,743,744,69,601,254, - 2330,1,759,1,1,1,1,1,601,192, - 855,742,1,1,1,1,1,1,1,1, - 1,1,1,1,2328,1,1,1,2328,1, - 2328,1,1,1,1,191,31,2333,1663,1, - 202,1,1,2525,185,2286,2328,2277,2280,2283, - 2286,2352,2353,1395,621,2332,1,2328,1,1, - 1,1,1,2328,191,546,556,1,1,1, - 1,1,1,1,1,1,1,1,1,2328, - 1,1,1,2328,1,2328,1,1,1,1, - 192,552,2333,2328,1,1117,1,1,2525,1, - 64,269,1362,1863,688,743,744,547,398,254, - 2332,1,1739,1,1,1,1,1,601,192, - 831,2328,1,1,1,1,1,1,1,1, - 1,1,1,1,250,1,1,1,2328,2506, - 257,688,743,744,2505,1,70,1,1,2543, - 2587,2544,2545,2525,1,2555,1830,2313,2316,2319, - 254,2555,1830,688,743,744,2489,2328,2490,2488, - 2546,2491,2487,2328,2331,1382,71,2494,2499,2498, - 2496,2497,2495,2500,2501,2493,2502,2503,2504,2328, - 1896,2067,2059,127,2328,1140,2238,2241,2244,2328, - 271,2333,685,1,2543,1863,2544,2545,207,3587, - 266,688,743,744,3587,556,1327,601,1308,2332, - 601,2489,2328,2490,2488,2546,2491,2487,266,2333, - 2328,2330,2494,2499,2498,2496,2497,2495,2500,2501, - 2493,2502,2503,2504,1,2345,2020,2332,1568,1795, - 2346,2331,1928,1998,1980,2328,2013,1189,2328,1987, - 1888,2328,2341,1609,2338,2339,2340,1456,1301,57, - 1355,1492,775,2328,2345,2020,852,2328,948,2346, - 2331,1935,1998,1980,2333,2013,2328,2567,1987,1888, - 2328,2341,1609,2338,2339,2340,1456,1301,890,1355, - 1492,1167,2332,1,2840,2020,443,1785,2330,2756, - 27,2006,1998,1980,223,2013,842,2328,1987,1888, - 2328,2341,1609,2338,2339,2340,1456,1301,56,1355, - 1492,601,3756,2328,2328,2345,2020,2330,52,27, - 2346,2331,2006,1998,1980,1,2013,1899,1292,1987, - 1888,2328,2341,1609,2338,2339,2340,1456,1301,61, - 1355,1492,2328,1,1,443,1785,55,1,1, - 1,1,1,336,1,900,89,1,1,2328, - 1,1,1,1,1,1,1,2328,1,1, - 2328,2328,2345,2020,89,1,2586,2346,2330,2006, - 1998,1980,2337,2013,443,1785,1987,1888,48,2341, - 1609,2338,2339,2340,1456,1301,2040,1355,1492,62, - 398,1,2840,2020,1765,1210,323,2756,664,2006, - 1998,1980,2700,2013,2328,2328,1987,1888,2328,2341, - 1609,2338,2339,2340,1456,1301,51,1355,1492,2328, - 3756,366,2345,2020,2328,1899,1292,2346,2328,2006, - 1998,1980,2328,2013,2033,2022,1987,1888,2328,2341, - 1609,2338,2339,2340,1456,1301,2328,1355,1492,2336, - 3756,2328,2345,2020,1765,1210,2328,2346,2328,2006, - 1998,1980,2328,2013,2328,2335,1987,1888,698,2341, - 1609,2338,2339,2340,1456,1301,2328,1355,1492,28, - 3756,1,2840,2020,325,2654,2328,2756,2328,2006, - 1998,1980,2328,2013,2334,2655,1987,1888,2328,2341, - 1609,2338,2339,2340,1456,1301,2328,1355,1492,28, - 3756,2328,2345,2020,577,2328,2328,2346,2328,2006, - 1998,1980,2337,2013,2328,2333,1987,1888,2328,2341, - 1609,2338,2339,2340,1456,1301,2328,1355,1492,2328, - 2345,2021,2328,2332,2355,2346,2328,2006,1998,1980, - 1520,2013,2328,938,1987,1888,2328,2341,1609,2338, - 2339,2340,1456,1301,2328,1355,1492,1,2345,2020, - 212,54,2328,2346,2328,2006,1998,1980,2328,2013, - 2328,962,1987,1888,2328,2341,1609,2338,2339,2340, - 1456,1301,2328,1355,1492,331,2345,2020,2328,2336, - 2328,2346,2328,2006,1998,1980,190,2013,443,1785, - 1987,1888,2328,2341,1609,2338,2339,2340,1456,1301, - 365,1355,1492,17,208,2307,178,178,178,986, - 2307,2307,2328,1273,178,207,178,178,361,3601, - 2307,688,743,744,3601,2328,2328,1138,2307,361, - 2328,178,2333,178,178,178,178,178,18,3851, - 2310,177,177,177,2328,2310,2310,41,2328,177, - 2332,177,177,2328,2328,2310,2328,1,2555,1487, - 2328,2328,2357,2310,263,2328,177,2358,177,177, - 177,177,177,130,601,2328,2289,2292,2295,2328, - 249,2328,263,2328,2543,131,2544,2545,2298,2301, - 2304,2543,263,2544,2545,1,2543,1863,2544,2545, - 58,2489,2333,2490,2488,2546,2491,2487,60,2328, - 1119,2328,601,2489,59,2490,2488,2546,2491,2487, - 2332,1095,1071,1047,1023,999,951,975,927,903, - 879,1,2328,2328,2313,2316,2319,2328,2507,254, - 1,2322,1487,2508,2328,1,2328,2333,2313,2316, - 2319,2328,2328,254,1191,285,2328,601,1853,1470, - 530,469,746,2328,1,2332,1853,1470,530,469, - 2328,2333,1853,1470,530,469,183,2328,2328,688, - 743,744,2587,364,2328,2328,688,743,744,2332, - 362,746,1488,688,743,744,2587,365,251,2328, - 688,743,744,184,2328,252,688,743,744,1, - 363,1,1,688,743,744,2543,253,2544,2545, - 201,2328,2507,688,743,744,2328,2508,2543,358, - 2544,2545,688,743,744,359,209,2507,688,743, - 744,360,2508,2328,688,743,744,1,2555,1830, - 208,524,2328,2328,2328,2328,524 + 2485,2495,2163,805,807,813,69,2496,2100,2697, + 2087,2075,2698,2699,2108,2252,2186,2179,2485,2500, + 2153,2646,2497,2498,2499,1564,1554,50,1912,1, + 2647,2645,2700,2648,2644,89,1,2051,1501,2651, + 2656,2655,2653,2654,2652,2657,2658,2650,2659,2660, + 2661,53,2148,2214,2210,1,89,2496,1,2479, + 1562,2496,283,2496,2490,2496,2496,2485,63,2496, + 52,2496,2496,2496,128,547,665,2395,2398,2401, + 2051,1501,1726,2697,67,2489,2698,2699,1902,2025, + 2496,2496,2496,2496,2485,2646,814,1,2709,2003, + 2467,2470,2473,2379,2647,2645,2700,2648,2644,47, + 2496,2496,2496,2496,2496,2496,2496,2132,2496,2485, + 2496,2496,2496,2496,2496,2490,2496,2496,2496,2496, + 2496,2496,2496,2496,2496,2496,2496,2496,2496,1, + 2485,2495,1,87,2035,2495,2489,2495,263,2495, + 2495,2485,623,2495,522,2495,2495,2495,129,1378, + 665,2404,2407,2410,2485,2124,2116,2697,2485,263, + 2698,2699,2485,65,2495,2495,2495,2495,884,2646, + 1,2709,2003,2467,2470,2473,2485,2495,2647,2645, + 2700,2648,2644,2496,2495,2495,2495,2495,2495,2495, + 2495,471,2495,2485,2495,2495,2495,2495,2495,2492, + 2495,2495,2495,2495,2495,2495,2495,2495,2495,2495, + 2495,2495,2495,2485,1,2485,1,1,1,189, + 1,1,1,2035,269,1,1,2490,1,2491, + 648,61,1378,266,1,2035,805,807,813,665, + 66,251,665,1,1,1,1,1,2489,189, + 64,665,1,1,1,1,1,1,1,1, + 1,1,1,1,1726,1,1,1,2485,2485, + 1,2485,1,1,1,188,1,2490,1,49, + 2485,1,1,2679,1,2485,48,2132,183,2422, + 1,2413,2416,2419,2132,2422,1740,1687,2489,1, + 1,1,1,1,877,188,859,648,1,1, + 1,1,1,1,1,1,1,1,1,1, + 2485,1,1,1,2485,2485,1,71,1,1, + 1,189,1,2485,1,2124,2116,1,1,2679, + 1,2485,2124,2116,182,2434,1,2425,2428,2431, + 2697,2434,51,2698,2699,1,1,1,1,1, + 2485,189,2051,1501,1,1,1,1,1,1, + 1,1,1,1,1,1,68,1,1,1, + 57,2485,2495,753,805,807,813,31,2496,2380, + 2697,2485,2495,2698,2699,2679,2259,254,2496,1522, + 2164,58,2646,2510,2511,2383,2485,62,1352,1278, + 2485,2647,2645,2700,2648,2644,2488,1902,2025,2485, + 2651,2656,2655,2653,2654,2652,2657,2658,2650,2659, + 2660,2661,1940,2148,2214,2210,127,2485,1274,2386, + 2389,2392,405,2490,623,2697,803,2485,2698,2699, + 251,2709,2003,805,807,813,209,2646,400,1890, + 1879,1868,1184,2485,2489,2485,2647,2645,2700,2648, + 2644,2490,1740,1687,2487,2651,2656,2655,2653,2654, + 2652,2657,2658,2650,2659,2660,2661,1,2495,2163, + 322,2808,2489,2488,2496,850,2485,2087,2075,2809, + 1347,2108,1661,2186,2179,2485,2500,2153,414,2497, + 2498,2499,1564,1554,2485,1912,2485,2495,2163,1328, + 2494,56,2488,2496,2067,1428,2087,2075,2485,977, + 2108,1661,2186,2179,2490,2500,2153,1253,2497,2498, + 2499,1564,1554,2485,1912,1265,1,2999,2163,1596, + 2485,2487,28,2915,2100,2489,2087,2075,1902,2025, + 2108,1661,2186,2179,2485,2500,2153,2855,2497,2498, + 2499,1564,1554,1,1912,3588,2485,2485,2495,2163, + 2487,55,28,2488,2496,2100,2485,2087,2075,2485, + 2721,2108,1661,2186,2179,2485,2500,2153,2493,2497, + 2498,2499,1564,1554,2485,1912,2485,1,1,268, + 54,1315,797,1,1,289,1,1,1902,2025, + 1,1,1,1,2741,1,1,665,1,1, + 1,1,1,1303,1,2485,2495,2163,1,2709, + 1562,2487,2496,2100,260,2087,2075,1902,2025,2108, + 1661,2186,2179,218,2500,2153,665,2497,2498,2499, + 1564,1554,2485,1912,471,260,2485,1,2999,2163, + 979,665,60,260,2915,2100,2859,2087,2075,2485, + 2485,2108,1661,2186,2179,2490,2500,2153,1,2497, + 2498,2499,1564,1554,2490,1912,3588,368,2495,2163, + 70,2485,59,2485,2496,2100,2489,2087,2075,1455, + 29,2108,1661,2186,2179,2489,2500,2153,282,2497, + 2498,2499,1564,1554,1452,1912,3588,2485,2495,2163, + 1890,1879,1868,1184,2496,2100,2485,2087,2075,1, + 2482,2108,1661,2186,2179,590,2500,2153,2485,2497, + 2498,2499,1564,1554,1452,1912,3588,1,2999,2163, + 1890,1879,1868,1184,2915,2100,2485,2087,2075,547, + 2485,2108,1661,2186,2179,199,2500,2153,2485,2497, + 2498,2499,1564,1554,29,1912,3588,2485,2495,2163, + 2741,2485,2485,2495,2496,2100,2485,2087,2075,2496, + 2485,2108,1661,2186,2179,2485,2500,2153,1,2497, + 2498,2499,1564,1554,2494,1912,2485,2495,2194,2513, + 333,1201,904,2496,2100,1456,2087,2075,205,1457, + 2108,1661,2186,2179,1463,2500,2153,1403,2497,2498, + 2499,1564,1554,187,1912,1,2495,2163,367,2485, + 2485,2495,2496,2100,2485,2087,2075,2496,2485,2108, + 1661,2186,2179,3900,2500,2153,2485,2497,2498,2499, + 1564,1554,204,1912,328,2495,2163,363,1,1235, + 2485,2496,2100,2485,2087,2075,2485,2485,2108,1661, + 2186,2179,2493,2500,2153,2485,2497,2498,2499,1564, + 1554,19,1912,2455,177,177,177,2455,2485,2455, + 177,2485,251,177,177,805,807,813,2485,2455, + 204,3713,177,805,807,813,2485,3713,2455,2740, + 2485,177,177,177,177,177,349,2485,350,350, + 350,350,2476,2485,2476,350,2485,180,350,350, + 805,807,813,320,350,720,1,350,2485,2467, + 2470,2473,2485,2476,251,2485,350,350,350,350, + 350,130,2485,2485,2437,2440,2443,220,2485,1390, + 2697,41,2485,2698,2699,131,2485,247,2446,2449, + 2452,2485,2646,2485,2697,665,1,2698,2699,1, + 1,2647,2645,2700,2648,2644,2646,2741,366,2485, + 2485,805,807,813,2485,2647,2645,2700,2648,2644, + 354,206,2495,2458,2461,2464,2485,2485,2496,2697, + 205,692,2698,2699,2485,363,3718,692,805,807, + 813,2646,3718,364,1159,2485,805,807,813,2485, + 2647,2645,2700,2648,2644,1134,1109,1084,1059,1034, + 984,1009,959,934,909,266,2709,1562,805,807, + 813,1,2485,251,2467,2470,2473,2485,2485,251, + 621,246,367,665,2490,805,807,813,2485,248, + 2697,2485,181,2698,2699,805,807,813,1,2485, + 249,1,1,365,2485,2489,805,807,813,2697, + 2488,250,2698,2699,198,2485,2485,805,807,813, + 2697,2485,2741,2698,2699,360,2485,2485,805,807, + 813,361,2485,2485,805,807,813,362,2485,2485, + 805,807,813,1,2709,2003,2485,2485,2485,2485, + 2485,2485,2485,2485,2485,1353,2485,2485,2485,2485, + 2485,2485,2485,2485,2485,2485,2485,2485,2487 }; }; public final static char termAction[] = TermAction.termAction; @@ -765,31 +797,31 @@ public class GCCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Asb { public final static char asb[] = {0, - 337,1,118,45,118,118,118,118,118,118, - 118,118,118,118,118,3,466,55,52,59, - 57,65,63,67,66,69,68,14,118,466, - 509,509,171,118,49,49,280,466,118,118, - 118,118,118,118,118,118,118,118,118,118, - 118,118,118,118,118,118,118,118,118,118, - 118,118,118,118,118,118,118,118,49,49, - 334,92,284,112,430,328,192,364,396,396, - 396,376,357,376,357,357,376,357,376,482, - 237,237,52,52,57,57,57,57,55,55, - 63,59,59,66,65,145,68,67,110,90, - 280,287,284,289,334,462,116,49,398,433, - 194,188,135,108,357,509,506,509,108,509, - 357,118,90,287,384,462,334,115,112,49, - 387,482,48,435,311,188,187,49,359,198, - 110,231,233,165,228,110,384,462,118,118, - 334,116,430,323,322,284,435,49,48,193, - 188,110,359,198,231,231,228,88,320,147, - 509,118,145,84,228,90,462,384,334,334, - 49,398,433,387,311,49,170,49,198,228, - 137,198,231,233,317,233,92,333,509,118, - 90,384,435,48,198,139,233,228,118,509, - 118,334,233,49,48,170,228,80,118,76, - 391,284,139,77,228,334,228,510,139,118, - 391,77,77,233,77 + 334,1,162,263,162,162,162,162,162,162, + 162,162,162,162,162,25,458,87,84,91, + 89,97,95,99,98,101,100,232,162,458, + 501,501,211,162,267,267,75,458,162,162, + 162,162,162,162,162,162,162,162,162,162, + 162,162,162,162,162,162,162,162,162,162, + 162,162,162,162,162,162,162,162,267,267, + 331,120,79,156,421,280,181,354,386,386, + 386,366,504,366,504,504,366,504,366,32, + 366,473,162,84,84,89,89,89,89,87, + 87,95,91,91,98,97,148,100,99,138, + 118,75,82,79,3,331,454,160,267,388, + 424,183,228,179,136,504,501,498,501,136, + 501,504,162,36,162,118,82,374,454,331, + 159,156,267,377,473,266,426,150,228,227, + 267,506,285,138,319,321,205,316,138,374, + 454,162,162,331,160,421,275,274,79,426, + 267,266,182,228,138,506,285,319,319,316, + 116,328,187,501,162,148,270,316,118,454, + 374,331,331,267,388,424,377,150,267,210, + 267,285,316,140,285,319,321,325,321,120, + 330,501,162,118,374,426,266,285,142,321, + 316,162,501,162,331,321,267,266,210,316, + 112,162,108,381,79,142,109,316,331,316, + 502,142,162,381,109,109,321,109 }; }; public final static char asb[] = Asb.asb; @@ -797,110 +829,110 @@ public class GCCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Asr { public final static byte asr[] = {0, - 85,0,51,84,3,4,5,17,2,55, - 71,15,16,12,8,9,10,56,57,37, + 85,0,9,12,13,2,22,23,24,19, + 1,7,16,17,14,8,10,11,25,26, + 20,28,15,0,1,62,51,64,36,84, + 85,55,71,16,17,32,33,12,21,34, + 13,31,9,30,14,10,11,56,57,37, 38,58,59,60,61,65,66,67,68,69, - 72,73,36,63,74,75,76,77,78,80, - 79,81,82,83,62,64,85,35,25,7, - 0,8,56,57,9,10,38,37,58,59, - 60,61,65,66,12,67,68,69,51,64, - 25,36,85,72,73,62,5,4,3,84, - 7,35,0,63,17,55,0,7,36,17, - 55,15,16,12,8,9,10,23,24,19, - 27,26,2,20,21,22,18,1,6,29, - 0,11,13,14,28,64,7,2,20,21, - 22,1,6,15,16,12,8,9,10,23, - 24,19,27,26,18,0,84,7,8,1, - 2,5,4,3,62,0,63,29,15,16, - 12,8,9,10,23,24,19,27,26,2, - 20,21,22,18,1,6,17,55,0,35, - 19,20,21,22,18,6,15,16,12,8, - 9,10,23,24,26,27,2,25,7,1, - 0,17,35,25,7,2,0,30,39,11, - 40,52,31,41,32,42,43,33,13,44, - 45,28,53,34,54,46,47,14,48,49, - 50,1,6,3,4,5,70,7,36,0, - 1,6,7,36,35,0,13,28,34,14, - 33,32,31,11,30,55,71,15,16,12, - 9,10,56,57,37,38,58,59,60,61, - 65,66,67,68,69,72,73,63,74,75, - 76,77,78,79,80,81,82,83,35,7, - 25,2,17,5,4,3,8,0,11,13, - 14,2,20,21,22,18,1,6,15,16, - 12,8,9,10,23,24,19,27,26,0, - 7,35,25,1,11,0,7,35,36,63, - 0,2,62,84,3,4,5,7,35,25, - 17,0,51,64,7,0,19,20,21,22, - 18,1,6,2,15,16,12,8,9,10, - 23,24,26,27,70,0,1,6,29,5, - 4,3,0,47,39,44,42,43,41,40, - 45,46,48,49,50,62,84,34,31,28, - 30,33,32,11,13,14,7,35,25,17, + 72,73,63,74,75,76,77,78,79,80, + 81,82,83,35,6,27,2,18,5,4, + 3,8,0,8,56,57,10,11,38,37, + 58,59,60,61,65,66,14,67,68,69, + 51,64,27,36,85,72,73,62,5,4, + 3,84,6,35,0,6,36,18,55,16, + 17,14,8,10,11,25,26,20,28,15, + 2,22,23,24,19,1,7,29,0,84, + 6,8,1,2,5,4,3,62,0,6, + 35,27,1,9,0,9,12,13,21,64, + 6,2,22,23,24,1,7,16,17,14, + 8,10,11,25,26,20,28,15,19,0, + 18,35,27,6,2,0,63,29,16,17, + 14,8,10,11,25,26,20,28,15,2, + 22,23,24,19,1,7,18,55,0,35, + 20,22,23,24,19,7,16,17,14,8, + 10,11,25,26,15,28,2,27,6,1, + 0,14,8,10,11,56,57,37,38,58, + 59,60,61,65,66,67,68,69,72,73, + 36,63,74,75,76,77,78,80,79,81, + 82,83,62,64,85,35,27,6,0,63, + 18,55,0,2,62,84,3,4,5,6, + 35,27,18,0,30,39,9,40,52,31, + 41,32,42,43,33,12,44,45,21,53, + 34,54,46,47,13,48,49,50,1,7, + 15,3,4,5,70,6,36,0,1,7, + 6,36,35,0,6,35,36,63,0,51, + 64,6,0,20,22,23,24,19,1,7, + 2,16,17,14,8,10,11,25,26,15, + 28,70,0,47,39,44,42,43,41,40, + 45,46,48,49,50,62,84,34,31,21, + 30,33,32,9,12,13,6,35,27,18, 8,3,4,5,1,2,0,8,30,39, - 11,40,52,31,41,32,42,43,33,13, - 44,45,28,53,34,54,46,47,14,48, - 49,50,1,6,51,5,4,3,0,8, - 2,17,25,7,30,39,40,52,31,41, - 32,42,43,33,44,45,28,53,34,54, - 46,47,48,49,50,1,6,3,4,5, - 51,11,13,14,0,19,20,21,22,18, - 2,15,16,12,8,9,10,23,24,26, - 27,52,53,54,47,39,44,42,43,41, - 40,45,46,48,49,50,34,31,28,30, - 33,11,13,14,32,5,4,3,6,1, - 0 + 9,40,52,31,41,32,42,43,33,12, + 44,45,21,53,34,54,46,47,13,48, + 49,50,1,7,15,51,5,4,3,0, + 8,2,18,27,6,30,39,40,52,31, + 41,32,42,43,33,44,45,21,53,34, + 54,46,47,48,49,50,1,7,15,3, + 4,5,51,9,12,13,0,20,22,23, + 24,19,2,16,17,14,8,10,11,25, + 26,28,15,52,53,54,47,39,44,42, + 43,41,40,45,46,48,49,50,34,31, + 21,30,33,9,12,13,32,5,4,3, + 7,1,0,1,7,29,5,4,3,0 }; }; public final static byte asr[] = Asr.asr; public final int asr(int index) { return asr[index]; } public interface Nasb { - public final static byte nasb[] = {0, - 78,9,26,9,26,26,26,26,26,26, - 26,26,26,26,26,9,109,9,9,9, - 9,9,9,9,9,9,9,9,26,109, - 21,21,91,110,15,15,105,1,26,26, - 26,26,26,26,26,26,26,26,26,26, - 26,26,26,26,110,26,26,26,26,26, - 26,26,26,26,26,26,26,26,15,15, - 34,26,94,32,104,28,28,63,9,9, - 9,64,56,64,56,56,64,56,64,58, - 9,9,9,9,9,9,9,9,9,9, - 9,9,9,9,9,9,9,9,9,76, - 97,9,84,45,34,30,33,15,86,42, - 15,39,9,102,84,102,84,102,102,102, - 84,26,24,9,76,30,34,33,12,15, - 72,2,9,88,48,14,9,15,56,76, - 9,76,19,101,76,9,76,30,26,26, - 34,33,71,28,28,94,88,15,15,9, - 15,9,84,113,76,102,50,23,9,25, - 102,26,9,17,50,76,30,12,34,34, - 15,86,42,52,48,15,26,15,76,50, - 36,121,102,19,9,9,25,34,102,26, - 24,12,117,15,113,66,19,50,26,102, - 26,34,19,15,15,26,50,37,26,9, - 74,94,81,56,50,34,50,9,66,26, - 54,56,84,10,84 + public final static char nasb[] = {0, + 94,33,41,33,41,41,41,41,41,41, + 41,41,41,41,41,33,119,33,33,33, + 33,33,33,33,33,33,33,33,41,119, + 10,10,67,120,23,23,115,1,41,41, + 41,41,41,41,41,41,41,41,41,41, + 41,41,41,41,120,41,41,41,41,41, + 41,41,41,41,41,41,41,41,23,23, + 50,41,97,48,114,20,20,64,33,33, + 33,65,80,65,80,80,65,80,65,33, + 65,58,41,33,33,33,33,33,33,33, + 33,33,33,33,33,33,33,33,33,33, + 92,110,33,103,17,50,34,49,23,105, + 70,23,73,33,8,103,8,103,8,8, + 8,103,41,33,41,39,33,92,34,50, + 49,36,23,88,25,33,107,46,22,33, + 23,80,92,33,92,12,14,92,33,92, + 34,41,41,50,49,87,20,20,97,107, + 23,23,33,23,33,103,123,92,8,52, + 38,33,40,8,41,33,54,52,92,34, + 36,50,50,23,105,70,76,46,23,41, + 23,92,52,43,131,8,12,33,33,40, + 50,8,41,39,36,127,23,123,82,12, + 52,41,8,41,50,12,23,23,41,52, + 44,41,33,90,97,100,80,52,50,52, + 33,82,41,78,80,103,56,103 }; }; - public final static byte nasb[] = Nasb.nasb; + public final static char nasb[] = Nasb.nasb; public final int nasb(int index) { return nasb[index]; } public interface Nasr { public final static char nasr[] = {0, - 4,85,84,83,82,69,81,80,0,104, - 0,26,0,95,24,0,108,0,58,0, - 76,0,74,11,57,4,0,31,0,62, - 0,11,4,28,0,11,75,0,111,24, - 0,24,11,0,4,11,0,93,0,44, - 0,50,49,39,37,25,0,69,65,66, - 67,68,59,32,0,25,11,39,37,0, - 24,50,49,37,39,11,0,11,96,0, - 11,39,37,19,0,25,55,11,30,0, - 11,97,0,25,55,0,50,49,25,0, - 112,29,0,24,49,50,11,0,54,11, - 52,0,87,11,54,0,102,11,30,0, - 11,54,71,0 + 86,97,84,83,69,82,81,1,0,77, + 0,58,0,1,114,0,5,12,0,31, + 0,96,25,0,86,97,85,84,83,69, + 82,81,0,62,0,27,0,74,12,57, + 5,0,12,76,0,94,0,12,5,29, + 0,44,0,110,0,106,0,69,65,66, + 67,68,75,59,32,0,12,99,0,25, + 12,0,113,25,0,50,49,39,37,26, + 0,26,12,39,37,0,25,50,49,37, + 39,12,0,12,98,0,26,55,0,12, + 39,37,18,0,26,55,12,30,0,50, + 49,26,0,25,49,50,12,0,54,12, + 52,0,88,12,54,0,104,12,30,0, + 12,54,71,0 }; }; public final static char nasr[] = Nasr.nasr; @@ -908,9 +940,9 @@ public class GCCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface TerminalIndex { public final static char terminalIndex[] = {0, - 85,2,97,98,99,86,87,9,10,11, - 48,8,64,76,6,7,1,84,68,81, - 82,83,12,13,90,93,94,69,3,44, + 85,2,97,98,99,87,86,9,48,10, + 11,64,76,8,93,6,7,1,84,68, + 69,81,82,83,12,13,90,94,3,44, 55,60,63,72,42,91,16,17,47,52, 56,61,62,66,67,74,75,78,79,80, 30,54,70,73,4,14,15,18,19,20, @@ -925,21 +957,21 @@ public class GCCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface NonterminalIndex { public final static char nonterminalIndex[] = {0, - 0,0,0,108,112,113,114,115,116,117, - 0,118,119,120,121,122,123,124,174,0, - 0,0,125,104,175,136,0,103,128,129, + 107,0,0,0,109,113,114,115,116,117, + 118,0,119,120,121,122,123,174,0,0, + 0,124,125,126,104,175,136,0,103,129, 158,135,0,0,0,154,156,0,157,0, - 0,0,0,105,0,127,144,167,168,169, - 0,107,143,148,155,164,0,0,138,0, + 0,0,0,105,0,128,144,167,168,169, + 0,108,143,148,155,164,0,0,138,0, 159,162,163,166,139,140,141,142,145,0, - 147,151,153,170,106,109,110,111,126,130, - 131,132,133,134,137,0,146,150,0,152, - 161,0,176,0,178,102,0,0,0,149, - 0,160,165,0,171,172,0,173,0,0, - 177,179,0,0,0,0,0,0,0,0, + 147,151,153,170,179,106,110,111,112,127, + 130,131,132,133,134,137,0,146,150,0, + 152,161,0,176,0,178,180,102,0,0, + 0,149,0,160,165,0,171,172,0,173, + 0,0,177,181,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0 + 0,0,0,0 }; }; public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex; @@ -947,12 +979,12 @@ public class GCCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopePrefix { public final static char scopePrefix[] = { - 133,191,268,153,84,90,219,47,246,1, - 56,100,118,33,199,27,61,96,170,283, - 287,255,15,8,8,65,68,73,105,128, - 68,180,185,188,291,41,174,262,8,73, - 209,143,237,143,209,262,20,80,166,225, - 225,225,225,225,20,108,80,108,108 + 137,195,270,157,88,94,223,51,248,1, + 60,104,122,37,203,31,65,100,174,285, + 289,257,15,8,8,69,72,77,109,132, + 72,184,189,192,293,45,178,264,8,77, + 213,147,239,147,213,264,20,27,84,170, + 27,27,27,27,27,20,112,84,112,112 }; }; public final static char scopePrefix[] = ScopePrefix.scopePrefix; @@ -960,12 +992,12 @@ public class GCCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeSuffix { public final static char scopeSuffix[] = { - 141,141,141,141,6,6,141,53,252,6, - 31,6,31,38,204,31,31,6,168,31, - 6,259,18,6,6,31,71,82,6,31, - 131,183,183,183,31,44,177,265,11,76, - 204,160,240,146,212,276,25,82,168,227, - 229,231,233,235,22,115,76,110,123 + 145,145,145,145,6,6,145,57,254,6, + 35,6,35,42,208,35,35,6,172,35, + 6,261,18,6,6,35,75,86,6,35, + 135,187,187,187,35,48,181,267,11,80, + 208,164,242,150,216,278,25,29,86,172, + 229,231,233,235,237,22,119,80,114,127 }; }; public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix; @@ -973,12 +1005,12 @@ public class GCCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeLhs { public final static char scopeLhs[] = { - 67,65,4,67,31,31,65,53,120,113, - 51,31,42,20,65,92,51,31,71,4, - 4,18,88,108,107,49,64,55,31,39, - 47,66,66,66,2,74,71,6,113,55, - 65,67,121,67,65,4,88,55,71,84, - 83,82,81,80,88,42,55,40,42 + 67,65,5,67,31,31,65,53,122,115, + 51,31,42,19,65,93,51,31,71,5, + 5,23,89,110,109,49,64,55,31,39, + 47,66,66,66,3,74,71,7,115,55, + 65,67,123,67,65,5,89,97,55,71, + 85,84,83,82,81,89,42,55,40,42 }; }; public final static char scopeLhs[] = ScopeLhs.scopeLhs; @@ -987,11 +1019,11 @@ public class GCCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeLa { public final static byte scopeLa[] = { 36,36,36,36,64,64,36,36,91,64, - 25,64,25,25,29,25,25,64,84,25, - 64,62,3,64,64,25,2,8,64,25, - 1,1,1,1,25,63,1,25,51,8, - 29,29,97,1,1,25,1,8,84,6, - 52,53,53,47,1,2,8,2,2 + 27,64,27,27,29,27,27,64,84,27, + 64,62,3,64,64,27,2,8,64,27, + 1,1,1,1,27,63,1,27,51,8, + 29,29,97,1,1,27,1,15,8,84, + 1,52,53,53,47,1,2,8,2,2 }; }; public final static byte scopeLa[] = ScopeLa.scopeLa; @@ -999,12 +1031,12 @@ public class GCCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeStateSet { public final static char scopeStateSet[] = { - 21,21,70,21,59,59,21,130,0,7, - 63,59,12,25,21,9,63,59,3,70, - 70,102,18,1,7,63,65,53,59,12, - 14,21,21,21,70,132,3,75,7,53, - 21,21,0,21,21,70,18,53,3,22, - 22,22,22,22,18,12,53,12,12 + 21,21,71,21,60,60,21,133,-0,7, + 64,60,12,25,21,9,64,60,3,71, + 71,105,18,1,7,64,66,54,60,12, + 14,21,21,21,71,135,3,78,7,54, + 21,21,-0,21,21,71,18,22,54,3, + 22,22,22,22,22,18,12,54,12,12 }; }; public final static char scopeStateSet[] = ScopeStateSet.scopeStateSet; @@ -1012,36 +1044,36 @@ public class GCCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeRhs { public final static char scopeRhs[] = {0, - 146,51,146,17,0,103,0,146,17,0, - 30,127,103,0,172,125,0,175,0,125, - 0,151,175,0,151,0,210,2,193,0, - 104,0,209,2,2,3,0,104,104,0, - 205,111,0,31,143,0,158,178,111,29, - 157,0,105,0,0,161,111,2,149,0, - 161,111,2,0,164,2,0,155,111,0, - 167,0,143,155,0,9,0,162,0,143, - 0,9,0,123,28,191,111,17,0,123, - 191,111,28,17,0,123,28,17,0,123, - 191,111,17,0,123,17,0,139,0,2, - 0,160,104,0,2,104,0,161,111,2, - 139,0,2,0,159,104,0,147,2,0, - 154,0,158,189,111,29,129,201,52,0, - 105,0,201,52,0,128,3,0,0,0, - 105,0,158,189,111,29,201,52,0,3, - 0,0,0,105,0,154,0,106,0,200, - 111,154,0,111,154,0,149,106,0,170, - 52,0,128,0,170,54,0,170,53,0, - 186,111,29,199,129,198,169,0,199,129, - 198,169,0,3,0,0,105,0,198,169, - 0,128,0,3,0,0,105,0,186,111, - 29,198,169,0,185,0,142,0,141,0, - 140,0,139,0,138,0,216,90,0,77, - 2,107,104,106,0,216,124,152,2,94, - 0,53,0,0,152,73,117,0,29,124, - 0,177,2,0,104,113,0,158,178,111, - 29,124,177,2,0,104,3,0,111,0, - 105,0,197,2,104,0,152,17,104,0, - 152,2,0 + 146,51,146,18,0,103,0,146,18,0, + 30,128,103,0,172,126,0,175,0,126, + 0,151,175,0,151,0,186,0,179,0, + 212,2,194,0,104,0,211,2,2,3, + 0,104,104,0,207,112,0,31,143,0, + 158,179,112,29,157,0,105,0,0,161, + 112,2,149,0,161,112,2,0,164,2, + 0,155,112,0,167,0,143,155,0,9, + 0,162,0,143,0,9,0,124,21,192, + 112,18,0,124,192,112,21,18,0,124, + 21,18,0,124,192,112,18,0,124,18, + 0,139,0,2,0,160,104,0,2,104, + 0,161,112,2,139,0,2,0,159,104, + 0,147,2,0,154,0,158,190,112,29, + 101,203,52,0,105,0,203,52,0,107, + 3,0,0,0,105,0,158,190,112,29, + 203,52,0,3,0,0,0,105,0,154, + 0,106,0,202,112,154,0,112,154,0, + 149,106,0,170,52,0,107,0,170,54, + 0,170,53,0,187,112,29,201,101,200, + 169,0,201,101,200,169,0,3,0,0, + 105,0,200,169,0,107,0,3,0,0, + 105,0,187,112,29,200,169,0,142,0, + 141,0,140,0,139,0,138,0,218,90, + 0,77,2,108,104,106,0,218,125,152, + 2,94,0,53,0,0,152,73,122,0, + 29,125,0,178,2,0,104,114,0,158, + 179,112,29,125,178,2,0,104,3,0, + 112,0,105,0,199,2,105,0,152,18, + 105,0,152,2,0 }; }; public final static char scopeRhs[] = ScopeRhs.scopeRhs; @@ -1049,20 +1081,20 @@ public class GCCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeState { public final static char scopeState[] = {0, - 467,0,2085,2164,2060,0,1846,0,546,1138, - 0,1603,1202,1579,1830,1487,1350,1520,1444,0, - 1383,460,373,0,2191,2186,2100,1603,1520,2091, - 1579,1444,1202,2168,2082,460,2163,2158,2132,2123, - 1733,1383,1817,1896,1794,2067,2059,1777,1566,1690, - 1633,373,1950,1675,1924,1658,1707,0,1234,796, - 717,596,1202,1733,1487,1350,1863,1834,0,1987, - 1888,1609,1492,1355,1935,1928,2052,556,1568,1500, - 759,1765,1210,1739,1785,443,1853,1470,530,469, - 2040,2033,2022,1899,1292,2013,2006,1998,1980,1456, - 1301,1362,1327,831,1308,1273,1254,664,1191,1167, - 1143,802,1419,775,601,1119,1095,1071,1047,1023, - 999,975,951,927,903,879,373,855,722,698, - 640,498,577,411,0 + 845,0,2274,2288,2266,0,411,0,522,621, + 0,1682,1440,1639,2003,1562,1541,1596,1474,0, + 1177,446,375,0,2351,2346,2271,1682,1596,1820, + 1639,1474,1440,2293,2249,446,2287,798,516,433, + 1816,1177,1989,1967,2148,1945,2214,2210,1923,2201, + 1901,1738,375,2152,1789,1993,1762,1629,0,896, + 847,685,432,1440,1816,1562,1541,2035,1763,0, + 2259,2252,2186,2179,2153,1912,1661,2067,850,2140, + 547,1522,648,623,1740,1687,1726,2025,1902,1890, + 1879,1868,1184,2132,2124,2116,2051,1501,2108,2100, + 2087,2075,1564,1554,1403,1378,859,1353,1328,1303, + 720,1278,1253,1216,820,1428,414,665,1159,1134, + 1109,1084,1059,1034,1009,984,959,934,909,375, + 884,778,753,695,565,590,485,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -1070,31 +1102,31 @@ public class GCCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface InSymb { public final static char inSymb[] = {0, - 0,196,111,179,26,27,19,24,23,10, - 9,8,12,16,15,104,2,108,107,110, - 109,113,112,115,114,117,116,105,35,2, - 71,55,2,17,177,152,154,111,10,9, - 57,56,8,61,60,59,58,37,38,12, + 0,198,112,180,15,28,20,26,25,11, + 10,8,14,17,16,105,2,109,108,111, + 110,114,113,116,115,122,117,106,35,2, + 71,55,2,18,178,152,154,112,11,10, + 57,56,8,61,60,59,58,37,38,14, 66,65,68,67,73,72,69,83,82,81, - 79,80,78,77,76,75,74,63,177,197, - 152,124,111,17,2,150,149,180,3,4, - 5,181,169,182,54,53,183,52,184,185, - 1,6,107,107,109,109,109,109,108,108, - 112,110,110,114,113,152,116,115,124,29, - 155,143,125,28,123,111,8,164,111,2, - 2,2,2,198,125,170,125,170,201,170, - 125,62,111,143,8,111,123,191,162,161, - 130,111,163,111,2,211,1,18,129,29, - 129,29,178,111,29,157,8,111,191,28, - 123,8,2,137,139,111,35,161,209,193, - 2,199,125,111,29,111,158,35,205,212, - 55,17,129,206,111,29,111,162,123,123, - 147,111,2,155,35,124,2,1,29,186, - 154,187,111,189,129,190,63,146,55,17, - 111,162,111,210,111,111,189,158,63,35, - 51,146,178,161,202,35,186,200,62,147, - 2,111,125,172,158,146,158,35,35,62, - 155,172,125,144,125 + 79,80,78,77,76,75,74,63,178,199, + 152,125,112,18,2,150,149,181,3,4, + 5,182,169,183,54,53,184,52,185,101, + 197,186,15,108,108,110,110,110,110,109, + 109,113,111,111,115,114,152,117,116,125, + 29,155,143,126,21,124,112,8,164,112, + 2,2,2,2,200,126,170,126,170,203, + 170,126,15,106,62,112,143,8,112,124, + 192,162,161,130,112,163,112,2,213,1, + 19,101,29,101,29,179,112,29,157,8, + 112,192,21,124,8,2,137,139,112,35, + 161,211,194,2,201,126,112,29,112,158, + 35,207,214,55,18,101,208,112,29,112, + 162,124,124,147,112,2,155,35,125,2, + 1,29,187,154,188,112,190,101,191,63, + 146,55,18,112,162,112,212,112,112,190, + 158,63,35,51,146,179,161,204,35,187, + 202,62,147,2,112,126,172,158,146,158, + 35,35,62,155,172,126,144,126 }; }; public final static char inSymb[] = InSymb.inSymb; @@ -1209,6 +1241,7 @@ public class GCCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab ")", "}", ";", + "identifier_token", "expression", "postfix_expression", "member_name", @@ -1230,7 +1263,6 @@ public class GCCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab "assignment_expression", "expression_list_actual", "constant_expression", - "identifier_token", "declaration_specifiers", "simple_declaration_specifiers", "struct_or_union_declaration_sp" + @@ -1247,7 +1279,7 @@ public class GCCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab "struct_or_union_specifier", "elaborated_specifier", "enum_specifier", - "typedef_name_in_declspec", + "type_name_specifier", "initializer", "declarator", "struct_or_union", @@ -1287,6 +1319,8 @@ public class GCCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab "word", "extended_decl_modifier_seq", "extended_decl_modifier", + "typeof_type_specifier", + "typeof_declaration_specifiers", "field_name_designator" }; }; @@ -1295,8 +1329,8 @@ public class GCCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public final static int ERROR_SYMBOL = 70, - SCOPE_UBOUND = 58, - SCOPE_SIZE = 59, + SCOPE_UBOUND = 59, + SCOPE_SIZE = 60, MAX_NAME_LENGTH = 38; public final int getErrorSymbol() { return ERROR_SYMBOL; } @@ -1305,20 +1339,20 @@ public class GCCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public final int getMaxNameLength() { return MAX_NAME_LENGTH; } public final static int - NUM_STATES = 245, + NUM_STATES = 248, NT_OFFSET = 100, - LA_STATE_OFFSET = 2700, + LA_STATE_OFFSET = 2859, MAX_LA = 2, - NUM_RULES = 372, - NUM_NONTERMINALS = 142, - NUM_SYMBOLS = 242, + NUM_RULES = 374, + NUM_NONTERMINALS = 144, + NUM_SYMBOLS = 244, SEGMENT_SIZE = 8192, - START_STATE = 1552, + START_STATE = 1573, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 85, EOLT_SYMBOL = 85, - ACCEPT_ACTION = 2237, - ERROR_ACTION = 2328; + ACCEPT_ACTION = 2379, + ERROR_ACTION = 2485; public final static boolean BACKTRACK = true; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCSizeofExpressionParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCSizeofExpressionParsersym.java index d3ecdcdf2e1..9613822884b 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCSizeofExpressionParsersym.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCSizeofExpressionParsersym.java @@ -19,7 +19,7 @@ public interface GCCSizeofExpressionParsersym { TK_break = 86, TK_case = 87, TK_char = 39, - TK_const = 11, + TK_const = 9, TK_continue = 88, TK_default = 89, TK_do = 90, @@ -35,44 +35,44 @@ public interface GCCSizeofExpressionParsersym { TK_int = 42, TK_long = 43, TK_register = 33, - TK_restrict = 13, + TK_restrict = 12, TK_return = 95, TK_short = 44, TK_signed = 45, - TK_sizeof = 19, - TK_static = 28, + TK_sizeof = 20, + TK_static = 21, TK_struct = 53, TK_switch = 96, TK_typedef = 34, TK_union = 54, TK_unsigned = 46, TK_void = 47, - TK_volatile = 14, + TK_volatile = 13, TK_while = 97, TK__Bool = 48, TK__Complex = 49, TK__Imaginary = 50, - TK_integer = 20, - TK_floating = 21, - TK_charconst = 22, - TK_stringlit = 18, + TK_integer = 22, + TK_floating = 23, + TK_charconst = 24, + TK_stringlit = 19, TK_identifier = 1, - TK_Completion = 6, - TK_EndOfCompletion = 7, + TK_Completion = 7, + TK_EndOfCompletion = 6, TK_Invalid = 98, - TK_LeftBracket = 17, + TK_LeftBracket = 18, TK_LeftParen = 2, TK_LeftBrace = 29, TK_Dot = 55, TK_Arrow = 71, - TK_PlusPlus = 15, - TK_MinusMinus = 16, - TK_And = 12, + TK_PlusPlus = 16, + TK_MinusMinus = 17, + TK_And = 14, TK_Star = 8, - TK_Plus = 9, - TK_Minus = 10, - TK_Tilde = 23, - TK_Bang = 24, + TK_Plus = 10, + TK_Minus = 11, + TK_Tilde = 25, + TK_Bang = 26, TK_Slash = 56, TK_Percent = 57, TK_RightShift = 37, @@ -103,11 +103,11 @@ public interface GCCSizeofExpressionParsersym { TK_OrAssign = 83, TK_Comma = 35, TK_RightBracket = 64, - TK_RightParen = 25, + TK_RightParen = 27, TK_RightBrace = 36, TK_SemiColon = 84, - TK_typeof = 26, - TK___alignof__ = 27, + TK_typeof = 15, + TK___alignof__ = 28, TK_MAX = 99, TK_MIN = 100, TK___attribute__ = 3, @@ -123,29 +123,29 @@ public interface GCCSizeofExpressionParsersym { "__attribute__", "__declspec", "asm", - "Completion", "EndOfCompletion", + "Completion", "Star", + "const", "Plus", "Minus", - "const", - "And", "restrict", "volatile", + "And", + "typeof", "PlusPlus", "MinusMinus", "LeftBracket", "stringlit", "sizeof", + "static", "integer", "floating", "charconst", "Tilde", "Bang", "RightParen", - "typeof", "__alignof__", - "static", "LeftBrace", "auto", "extern", diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPParser.java index 660b0deb114..82b32adb60b 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPParser.java @@ -30,7 +30,7 @@ import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPNodeFactory; import org.eclipse.cdt.core.dom.lrparser.action.cpp.CPPBuildASTParserAction; import org.eclipse.cdt.core.dom.lrparser.action.cpp.CPPSecondaryParserFactory; -import org.eclipse.cdt.core.dom.lrparser.action.gnu.GNUBuildASTParserAction; +import org.eclipse.cdt.core.dom.lrparser.action.gnu.GPPBuildASTParserAction; import org.eclipse.cdt.core.dom.lrparser.action.gnu.GPPSecondaryParserFactory; public class GPPParser extends PrsStream implements RuleAction , IParserActionTokenProvider, IParser @@ -182,9 +182,9 @@ private void initActions(IASTTranslationUnit tu, Set<IParser.Options> options) { - gnuAction = new GNUBuildASTParserAction (this, tu, astStack, CPPNodeFactory.getDefault() ); + gnuAction = new GPPBuildASTParserAction (this, tu, astStack, CPPNodeFactory.getDefault() ); gnuAction.setParserOptions(options); - + gnuAction.setBaseAction(action); } @@ -250,7 +250,7 @@ public GPPParser(IParserActionTokenProvider parser) { // constructor -private GNUBuildASTParserAction gnuAction; +private GPPBuildASTParserAction gnuAction; public void ruleAction(int ruleNumber) { @@ -1080,940 +1080,958 @@ private GNUBuildASTParserAction gnuAction; } // - // Rule 223: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers + // Rule 223: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers // - case 223: { action. consumeDeclarationSpecifiersSimple(); break; + case 223: { action. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 224: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers + // Rule 224: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers // case 224: { action. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 225: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers + // Rule 225: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers // case 225: { action. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 226: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers + // Rule 226: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers // - case 226: { action. consumeDeclarationSpecifiersComposite(); break; + case 226: { action. consumeDeclarationSpecifiersTypeName(); break; } // - // Rule 227: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers + // Rule 228: declaration_specifiers_opt ::= $Empty // - case 227: { action. consumeDeclarationSpecifiersTypeName(); break; + case 228: { action. consumeEmpty(); break; } // - // Rule 229: declaration_specifiers_opt ::= $Empty + // Rule 232: no_type_declaration_specifier ::= friend // - case 229: { action. consumeEmpty(); break; + case 232: { action. consumeToken(); break; } // - // Rule 233: no_type_declaration_specifier ::= friend + // Rule 233: no_type_declaration_specifier ::= typedef // case 233: { action. consumeToken(); break; } // - // Rule 234: no_type_declaration_specifier ::= typedef + // Rule 253: storage_class_specifier ::= auto // - case 234: { action. consumeToken(); break; + case 253: { action. consumeToken(); break; } // - // Rule 254: storage_class_specifier ::= auto + // Rule 254: storage_class_specifier ::= register // case 254: { action. consumeToken(); break; } // - // Rule 255: storage_class_specifier ::= register + // Rule 255: storage_class_specifier ::= static // case 255: { action. consumeToken(); break; } // - // Rule 256: storage_class_specifier ::= static + // Rule 256: storage_class_specifier ::= extern // case 256: { action. consumeToken(); break; } // - // Rule 257: storage_class_specifier ::= extern + // Rule 257: storage_class_specifier ::= mutable // case 257: { action. consumeToken(); break; } // - // Rule 258: storage_class_specifier ::= mutable + // Rule 258: function_specifier ::= inline // case 258: { action. consumeToken(); break; } // - // Rule 259: function_specifier ::= inline + // Rule 259: function_specifier ::= virtual // case 259: { action. consumeToken(); break; } // - // Rule 260: function_specifier ::= virtual + // Rule 260: function_specifier ::= explicit // case 260: { action. consumeToken(); break; } // - // Rule 261: function_specifier ::= explicit + // Rule 261: simple_type_specifier ::= char // case 261: { action. consumeToken(); break; } // - // Rule 262: simple_type_specifier ::= char + // Rule 262: simple_type_specifier ::= wchar_t // case 262: { action. consumeToken(); break; } // - // Rule 263: simple_type_specifier ::= wchar_t + // Rule 263: simple_type_specifier ::= bool // case 263: { action. consumeToken(); break; } // - // Rule 264: simple_type_specifier ::= bool + // Rule 264: simple_type_specifier ::= short // case 264: { action. consumeToken(); break; } // - // Rule 265: simple_type_specifier ::= short + // Rule 265: simple_type_specifier ::= int // case 265: { action. consumeToken(); break; } // - // Rule 266: simple_type_specifier ::= int + // Rule 266: simple_type_specifier ::= long // case 266: { action. consumeToken(); break; } // - // Rule 267: simple_type_specifier ::= long + // Rule 267: simple_type_specifier ::= signed // case 267: { action. consumeToken(); break; } // - // Rule 268: simple_type_specifier ::= signed + // Rule 268: simple_type_specifier ::= unsigned // case 268: { action. consumeToken(); break; } // - // Rule 269: simple_type_specifier ::= unsigned + // Rule 269: simple_type_specifier ::= float // case 269: { action. consumeToken(); break; } // - // Rule 270: simple_type_specifier ::= float + // Rule 270: simple_type_specifier ::= double // case 270: { action. consumeToken(); break; } // - // Rule 271: simple_type_specifier ::= double + // Rule 271: simple_type_specifier ::= void // case 271: { action. consumeToken(); break; } // - // Rule 272: simple_type_specifier ::= void + // Rule 274: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name // - case 272: { action. consumeToken(); break; + case 274: { action. consumeQualifiedId(false); break; } // - // Rule 275: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name + // Rule 275: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name // case 275: { action. consumeQualifiedId(false); break; } // - // Rule 276: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name + // Rule 276: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name // case 276: { action. consumeQualifiedId(false); break; } // - // Rule 277: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name + // Rule 277: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name // - case 277: { action. consumeQualifiedId(false); break; + case 277: { action. consumeQualifiedId(true); break; } // - // Rule 278: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name + // Rule 279: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name // - case 278: { action. consumeQualifiedId(true); break; + case 279: { action. consumeTypeSpecifierElaborated(false); break; } // - // Rule 280: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name + // Rule 280: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt template_opt template_id_name // - case 280: { action. consumeTypeSpecifierElaborated(false); break; + case 280: { action. consumeTypeSpecifierElaborated(true); break; } // - // Rule 281: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt template_opt template_id_name + // Rule 281: elaborated_type_specifier ::= enum elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name // - case 281: { action. consumeTypeSpecifierElaborated(true); break; + case 281: { action. consumeTypeSpecifierElaborated(false); break; } // - // Rule 282: elaborated_type_specifier ::= enum elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name + // Rule 283: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt } // - case 282: { action. consumeTypeSpecifierElaborated(false); break; + case 283: { action. consumeTypeSpecifierEnumeration(false); break; } // - // Rule 284: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt } + // Rule 284: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt } // - case 284: { action. consumeTypeSpecifierEnumeration(false); break; + case 284: { action. consumeTypeSpecifierEnumeration(true); break; } // - // Rule 285: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt } + // Rule 290: enumerator_definition ::= identifier_token // - case 285: { action. consumeTypeSpecifierEnumeration(true); break; + case 290: { action. consumeEnumerator(false); break; } // - // Rule 291: enumerator_definition ::= identifier_token + // Rule 291: enumerator_definition ::= identifier_token = constant_expression // - case 291: { action. consumeEnumerator(false); break; + case 291: { action. consumeEnumerator(true); break; } // - // Rule 292: enumerator_definition ::= identifier_token = constant_expression + // Rule 295: named_namespace_definition ::= namespace namespace_name { <openscope-ast> declaration_seq_opt } // - case 292: { action. consumeEnumerator(true); break; + case 295: { action. consumeNamespaceDefinition(true); break; } // - // Rule 296: named_namespace_definition ::= namespace namespace_name { <openscope-ast> declaration_seq_opt } + // Rule 296: unnamed_namespace_definition ::= namespace { <openscope-ast> declaration_seq_opt } // - case 296: { action. consumeNamespaceDefinition(true); break; + case 296: { action. consumeNamespaceDefinition(false); break; } // - // Rule 297: unnamed_namespace_definition ::= namespace { <openscope-ast> declaration_seq_opt } + // Rule 297: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ; // - case 297: { action. consumeNamespaceDefinition(false); break; + case 297: { action. consumeNamespaceAliasDefinition(); break; } // - // Rule 298: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 298: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; // - case 298: { action. consumeNamespaceAliasDefinition(); break; + case 298: { action. consumeUsingDeclaration(); break; } // - // Rule 299: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; + // Rule 299: typename_opt ::= typename // - case 299: { action. consumeUsingDeclaration(); break; + case 299: { action. consumePlaceHolder(); break; } // - // Rule 300: typename_opt ::= typename + // Rule 300: typename_opt ::= $Empty // - case 300: { action. consumePlaceHolder(); break; + case 300: { action. consumeEmpty(); break; } // - // Rule 301: typename_opt ::= $Empty + // Rule 301: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; // - case 301: { action. consumeEmpty(); break; + case 301: { action. consumeUsingDirective(); break; } // - // Rule 302: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 302: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt } // - case 302: { action. consumeUsingDirective(); break; + case 302: { action. consumeLinkageSpecification(); break; } // - // Rule 303: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt } + // Rule 303: linkage_specification ::= extern stringlit <openscope-ast> declaration // case 303: { action. consumeLinkageSpecification(); break; } // - // Rule 304: linkage_specification ::= extern stringlit <openscope-ast> declaration + // Rule 308: init_declarator_complete ::= init_declarator // - case 304: { action. consumeLinkageSpecification(); break; + case 308: { action. consumeInitDeclaratorComplete(); break; } // - // Rule 309: init_declarator_complete ::= init_declarator + // Rule 310: init_declarator ::= complete_declarator initializer // - case 309: { action. consumeInitDeclaratorComplete(); break; + case 310: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 311: init_declarator ::= complete_declarator initializer + // Rule 313: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator // - case 311: { action. consumeDeclaratorWithInitializer(true); break; + case 313: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 314: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator + // Rule 315: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator // - case 314: { action. consumeDeclaratorWithPointer(true); break; + case 315: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 316: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator + // Rule 319: basic_direct_declarator ::= declarator_id_name // - case 316: { action. consumeDeclaratorWithPointer(true); break; + case 319: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 320: basic_direct_declarator ::= declarator_id_name + // Rule 320: basic_direct_declarator ::= ( declarator ) // - case 320: { action. consumeDirectDeclaratorIdentifier(); break; + case 320: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 321: basic_direct_declarator ::= ( declarator ) + // Rule 321: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 321: { action. consumeDirectDeclaratorBracketed(); break; + case 321: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 322: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 322: array_direct_declarator ::= array_direct_declarator array_modifier // - case 322: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; + case 322: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 323: array_direct_declarator ::= array_direct_declarator array_modifier + // Rule 323: array_direct_declarator ::= basic_direct_declarator array_modifier // case 323: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 324: array_direct_declarator ::= basic_direct_declarator array_modifier + // Rule 324: array_modifier ::= [ constant_expression ] // - case 324: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 324: { action. consumeDirectDeclaratorArrayModifier(true); break; } // - // Rule 325: array_modifier ::= [ constant_expression ] + // Rule 325: array_modifier ::= [ ] // - case 325: { action. consumeDirectDeclaratorArrayModifier(true); break; + case 325: { action. consumeDirectDeclaratorArrayModifier(false); break; } // - // Rule 326: array_modifier ::= [ ] + // Rule 326: ptr_operator ::= pointer_hook * <openscope-ast> cv_qualifier_seq_opt // - case 326: { action. consumeDirectDeclaratorArrayModifier(false); break; + case 326: { action. consumePointer(); break; } // - // Rule 327: ptr_operator ::= pointer_hook * <openscope-ast> cv_qualifier_seq_opt + // Rule 327: ptr_operator ::= pointer_hook & // - case 327: { action. consumePointer(); break; + case 327: { action. consumeReferenceOperator(); break; } // - // Rule 328: ptr_operator ::= pointer_hook & + // Rule 328: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * <openscope-ast> cv_qualifier_seq_opt // - case 328: { action. consumeReferenceOperator(); break; + case 328: { action. consumePointerToMember(); break; } // - // Rule 329: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * <openscope-ast> cv_qualifier_seq_opt + // Rule 335: cv_qualifier ::= const // - case 329: { action. consumePointerToMember(); break; + case 335: { action. consumeToken(); break; } // - // Rule 336: cv_qualifier ::= const + // Rule 336: cv_qualifier ::= volatile // case 336: { action. consumeToken(); break; } // - // Rule 337: cv_qualifier ::= volatile + // Rule 338: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name // - case 337: { action. consumeToken(); break; + case 338: { action. consumeQualifiedId(false); break; } // - // Rule 339: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name + // Rule 339: type_id ::= type_specifier_seq // - case 339: { action. consumeQualifiedId(false); break; + case 339: { action. consumeTypeId(false); break; } // - // Rule 340: type_id ::= type_specifier_seq + // Rule 340: type_id ::= type_specifier_seq abstract_declarator // - case 340: { action. consumeTypeId(false); break; + case 340: { action. consumeTypeId(true); break; } // - // Rule 341: type_id ::= type_specifier_seq abstract_declarator + // Rule 343: abstract_declarator ::= <openscope-ast> ptr_operator_seq // - case 341: { action. consumeTypeId(true); break; + case 343: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 344: abstract_declarator ::= <openscope-ast> ptr_operator_seq + // Rule 344: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator // - case 344: { action. consumeDeclaratorWithPointer(false); break; + case 344: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 345: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator + // Rule 348: basic_direct_abstract_declarator ::= ( abstract_declarator ) // - case 345: { action. consumeDeclaratorWithPointer(true); break; + case 348: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 349: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 349: basic_direct_abstract_declarator ::= ( ) // - case 349: { action. consumeDirectDeclaratorBracketed(); break; + case 349: { action. consumeAbstractDeclaratorEmpty(); break; } // - // Rule 350: basic_direct_abstract_declarator ::= ( ) + // Rule 350: array_direct_abstract_declarator ::= array_modifier // - case 350: { action. consumeAbstractDeclaratorEmpty(); break; + case 350: { action. consumeDirectDeclaratorArrayDeclarator(false); break; } // - // Rule 351: array_direct_abstract_declarator ::= array_modifier + // Rule 351: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier // - case 351: { action. consumeDirectDeclaratorArrayDeclarator(false); break; + case 351: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 352: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier + // Rule 352: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier // case 352: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 353: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier + // Rule 353: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 353: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 353: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 354: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 354: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 354: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; + case 354: { action. consumeDirectDeclaratorFunctionDeclarator(false); break; } // - // Rule 355: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 355: parameter_declaration_clause ::= parameter_declaration_list_opt ... // - case 355: { action. consumeDirectDeclaratorFunctionDeclarator(false); break; + case 355: { action. consumePlaceHolder(); break; } // - // Rule 356: parameter_declaration_clause ::= parameter_declaration_list_opt ... + // Rule 356: parameter_declaration_clause ::= parameter_declaration_list_opt // - case 356: { action. consumePlaceHolder(); break; + case 356: { action. consumeEmpty(); break; } // - // Rule 357: parameter_declaration_clause ::= parameter_declaration_list_opt + // Rule 357: parameter_declaration_clause ::= parameter_declaration_list , ... // - case 357: { action. consumeEmpty(); break; + case 357: { action. consumePlaceHolder(); break; } // - // Rule 358: parameter_declaration_clause ::= parameter_declaration_list , ... + // Rule 363: abstract_declarator_opt ::= $Empty // - case 358: { action. consumePlaceHolder(); break; + case 363: { action. consumeEmpty(); break; } // - // Rule 364: abstract_declarator_opt ::= $Empty + // Rule 364: parameter_declaration ::= declaration_specifiers parameter_init_declarator // - case 364: { action. consumeEmpty(); break; + case 364: { action. consumeParameterDeclaration(); break; } // - // Rule 365: parameter_declaration ::= declaration_specifiers parameter_init_declarator + // Rule 365: parameter_declaration ::= declaration_specifiers // - case 365: { action. consumeParameterDeclaration(); break; + case 365: { action. consumeParameterDeclarationWithoutDeclarator(); break; } // - // Rule 366: parameter_declaration ::= declaration_specifiers + // Rule 367: parameter_init_declarator ::= declarator = parameter_initializer // - case 366: { action. consumeParameterDeclarationWithoutDeclarator(); break; + case 367: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 368: parameter_init_declarator ::= declarator = parameter_initializer + // Rule 369: parameter_init_declarator ::= abstract_declarator = parameter_initializer // - case 368: { action. consumeDeclaratorWithInitializer(true); break; + case 369: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 370: parameter_init_declarator ::= abstract_declarator = parameter_initializer + // Rule 370: parameter_init_declarator ::= = parameter_initializer // - case 370: { action. consumeDeclaratorWithInitializer(true); break; + case 370: { action. consumeDeclaratorWithInitializer(false); break; } // - // Rule 371: parameter_init_declarator ::= = parameter_initializer + // Rule 371: parameter_initializer ::= assignment_expression // - case 371: { action. consumeDeclaratorWithInitializer(false); break; + case 371: { action. consumeInitializer(); break; } // - // Rule 372: parameter_initializer ::= assignment_expression + // Rule 372: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body // - case 372: { action. consumeInitializer(); break; + case 372: { action. consumeFunctionDefinition(false); break; } // - // Rule 373: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body + // Rule 373: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq // - case 373: { action. consumeFunctionDefinition(false); break; + case 373: { action. consumeFunctionDefinition(true); break; } // - // Rule 374: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq + // Rule 376: initializer ::= ( expression_list ) // - case 374: { action. consumeFunctionDefinition(true); break; + case 376: { action. consumeInitializerConstructor(); break; } // - // Rule 377: initializer ::= ( expression_list ) + // Rule 377: initializer_clause ::= assignment_expression // - case 377: { action. consumeInitializerConstructor(); break; + case 377: { action. consumeInitializer(); break; } // - // Rule 378: initializer_clause ::= assignment_expression + // Rule 378: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list , } end_initializer_list // - case 378: { action. consumeInitializer(); break; + case 378: { action. consumeInitializerList(); break; } // - // Rule 379: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list , } end_initializer_list + // Rule 379: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list } end_initializer_list // case 379: { action. consumeInitializerList(); break; } // - // Rule 380: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list } end_initializer_list + // Rule 380: initializer_clause ::= { <openscope-ast> } // case 380: { action. consumeInitializerList(); break; } // - // Rule 381: initializer_clause ::= { <openscope-ast> } + // Rule 381: start_initializer_list ::= $Empty // - case 381: { action. consumeInitializerList(); break; + case 381: { action. initializerListStart(); break; } // - // Rule 382: start_initializer_list ::= $Empty + // Rule 382: end_initializer_list ::= $Empty // - case 382: { action. initializerListStart(); break; + case 382: { action. initializerListEnd(); break; } // - // Rule 383: end_initializer_list ::= $Empty + // Rule 387: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt } // - case 383: { action. initializerListEnd(); break; + case 387: { action. consumeClassSpecifier(); break; } // - // Rule 388: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt } + // Rule 388: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook <openscope-ast> base_clause_opt // - case 388: { action. consumeClassSpecifier(); break; + case 388: { action. consumeClassHead(false); break; } // - // Rule 389: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 389: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt // case 389: { action. consumeClassHead(false); break; } // - // Rule 390: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 390: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook <openscope-ast> base_clause_opt // - case 390: { action. consumeClassHead(false); break; + case 390: { action. consumeClassHead(true); break; } // - // Rule 391: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 391: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt // case 391: { action. consumeClassHead(true); break; } // - // Rule 392: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 395: identifier_name_opt ::= $Empty // - case 392: { action. consumeClassHead(true); break; - } + case 395: { action. consumeEmpty(); break; + } // - // Rule 396: identifier_name_opt ::= $Empty + // Rule 399: visibility_label ::= access_specifier_keyword : // - case 396: { action. consumeEmpty(); break; - } + case 399: { action. consumeVisibilityLabel(); break; + } // - // Rule 400: visibility_label ::= access_specifier_keyword : + // Rule 400: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ; // - case 400: { action. consumeVisibilityLabel(); break; + case 400: { action. consumeDeclarationSimple(true); break; } // - // Rule 401: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ; + // Rule 401: member_declaration ::= declaration_specifiers_opt ; // - case 401: { action. consumeDeclarationSimple(true); break; + case 401: { action. consumeDeclarationSimple(false); break; } // - // Rule 402: member_declaration ::= declaration_specifiers_opt ; + // Rule 404: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ; // - case 402: { action. consumeDeclarationSimple(false); break; + case 404: { action. consumeMemberDeclarationQualifiedId(); break; } // - // Rule 405: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ; + // Rule 410: member_declaration ::= ERROR_TOKEN // - case 405: { action. consumeMemberDeclarationQualifiedId(); break; + case 410: { action. consumeDeclarationProblem(); break; } // - // Rule 411: member_declaration ::= ERROR_TOKEN + // Rule 419: member_declarator ::= declarator constant_initializer // - case 411: { action. consumeDeclarationProblem(); break; + case 419: { action. consumeMemberDeclaratorWithInitializer(); break; } // - // Rule 420: member_declarator ::= declarator constant_initializer + // Rule 420: member_declarator ::= bit_field_declarator : constant_expression // - case 420: { action. consumeMemberDeclaratorWithInitializer(); break; + case 420: { action. consumeBitField(true); break; } // - // Rule 421: member_declarator ::= bit_field_declarator : constant_expression + // Rule 421: member_declarator ::= : constant_expression // - case 421: { action. consumeBitField(true); break; + case 421: { action. consumeBitField(false); break; } // - // Rule 422: member_declarator ::= : constant_expression + // Rule 422: bit_field_declarator ::= identifier_name // - case 422: { action. consumeBitField(false); break; + case 422: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 423: bit_field_declarator ::= identifier_name + // Rule 423: constant_initializer ::= = constant_expression // - case 423: { action. consumeDirectDeclaratorIdentifier(); break; + case 423: { action. consumeInitializer(); break; } // - // Rule 424: constant_initializer ::= = constant_expression + // Rule 429: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name // - case 424: { action. consumeInitializer(); break; + case 429: { action. consumeBaseSpecifier(false, false); break; } // - // Rule 430: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name + // Rule 430: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name // - case 430: { action. consumeBaseSpecifier(false, false); break; + case 430: { action. consumeBaseSpecifier(true, true); break; } // - // Rule 431: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name + // Rule 431: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name // case 431: { action. consumeBaseSpecifier(true, true); break; } // - // Rule 432: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name + // Rule 432: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name // - case 432: { action. consumeBaseSpecifier(true, true); break; + case 432: { action. consumeBaseSpecifier(true, false); break; } // - // Rule 433: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name + // Rule 433: access_specifier_keyword ::= private // - case 433: { action. consumeBaseSpecifier(true, false); break; + case 433: { action. consumeToken(); break; } // - // Rule 434: access_specifier_keyword ::= private + // Rule 434: access_specifier_keyword ::= protected // case 434: { action. consumeToken(); break; } // - // Rule 435: access_specifier_keyword ::= protected + // Rule 435: access_specifier_keyword ::= public // case 435: { action. consumeToken(); break; } // - // Rule 436: access_specifier_keyword ::= public + // Rule 437: access_specifier_keyword_opt ::= $Empty // - case 436: { action. consumeToken(); break; + case 437: { action. consumeEmpty(); break; } // - // Rule 438: access_specifier_keyword_opt ::= $Empty + // Rule 439: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt > // - case 438: { action. consumeEmpty(); break; + case 439: { action. consumeTemplateId(); break; } // - // Rule 440: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt > + // Rule 440: conversion_function_id ::= operator conversion_type_id // - case 440: { action. consumeTemplateId(); break; + case 440: { action. consumeConversionName(); break; } // - // Rule 441: conversion_function_id ::= operator conversion_type_id + // Rule 441: conversion_type_id ::= type_specifier_seq conversion_declarator // - case 441: { action. consumeConversionName(); break; + case 441: { action. consumeTypeId(true); break; } // - // Rule 442: conversion_type_id ::= type_specifier_seq conversion_declarator + // Rule 442: conversion_type_id ::= type_specifier_seq // - case 442: { action. consumeTypeId(true); break; + case 442: { action. consumeTypeId(false); break; } // - // Rule 443: conversion_type_id ::= type_specifier_seq + // Rule 443: conversion_declarator ::= <openscope-ast> ptr_operator_seq // - case 443: { action. consumeTypeId(false); break; + case 443: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 444: conversion_declarator ::= <openscope-ast> ptr_operator_seq + // Rule 449: mem_initializer ::= mem_initializer_name ( expression_list_opt ) // - case 444: { action. consumeDeclaratorWithPointer(false); break; + case 449: { action. consumeConstructorChainInitializer(); break; } // - // Rule 450: mem_initializer ::= mem_initializer_name ( expression_list_opt ) + // Rule 450: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name // - case 450: { action. consumeConstructorChainInitializer(); break; + case 450: { action. consumeQualifiedId(false); break; } // - // Rule 451: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name + // Rule 453: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt > // - case 451: { action. consumeQualifiedId(false); break; + case 453: { action. consumeTemplateId(); break; } // - // Rule 454: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt > + // Rule 454: operator_id_name ::= operator overloadable_operator // - case 454: { action. consumeTemplateId(); break; + case 454: { action. consumeOperatorName(); break; } // - // Rule 455: operator_id_name ::= operator overloadable_operator + // Rule 497: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration // - case 455: { action. consumeOperatorName(); break; + case 497: { action. consumeTemplateDeclaration(); break; } // - // Rule 498: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration + // Rule 498: export_opt ::= export // - case 498: { action. consumeTemplateDeclaration(); break; + case 498: { action. consumePlaceHolder(); break; } // - // Rule 499: export_opt ::= export + // Rule 499: export_opt ::= $Empty // - case 499: { action. consumePlaceHolder(); break; + case 499: { action. consumeEmpty(); break; } // - // Rule 500: export_opt ::= $Empty + // Rule 503: template_parameter ::= parameter_declaration // - case 500: { action. consumeEmpty(); break; + case 503: { action. consumeTemplateParamterDeclaration(); break; } // - // Rule 504: template_parameter ::= parameter_declaration + // Rule 504: type_parameter ::= class identifier_name_opt // - case 504: { action. consumeTemplateParamterDeclaration(); break; + case 504: { action. consumeSimpleTypeTemplateParameter(false); break; } // - // Rule 505: type_parameter ::= class identifier_name_opt + // Rule 505: type_parameter ::= class identifier_name_opt = type_id // - case 505: { action. consumeSimpleTypeTemplateParameter(false); break; + case 505: { action. consumeSimpleTypeTemplateParameter(true); break; } // - // Rule 506: type_parameter ::= class identifier_name_opt = type_id + // Rule 506: type_parameter ::= typename identifier_name_opt // - case 506: { action. consumeSimpleTypeTemplateParameter(true); break; + case 506: { action. consumeSimpleTypeTemplateParameter(false); break; } // - // Rule 507: type_parameter ::= typename identifier_name_opt + // Rule 507: type_parameter ::= typename identifier_name_opt = type_id // - case 507: { action. consumeSimpleTypeTemplateParameter(false); break; + case 507: { action. consumeSimpleTypeTemplateParameter(true); break; } // - // Rule 508: type_parameter ::= typename identifier_name_opt = type_id + // Rule 508: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt // - case 508: { action. consumeSimpleTypeTemplateParameter(true); break; + case 508: { action. consumeTemplatedTypeTemplateParameter(false); break; } // - // Rule 509: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt + // Rule 509: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression // - case 509: { action. consumeTemplatedTypeTemplateParameter(false); break; + case 509: { action. consumeTemplatedTypeTemplateParameter(true); break; } // - // Rule 510: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression + // Rule 510: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt > // - case 510: { action. consumeTemplatedTypeTemplateParameter(true); break; + case 510: { action. consumeTemplateId(); break; } // - // Rule 511: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt > + // Rule 515: template_argument ::= assignment_expression // - case 511: { action. consumeTemplateId(); break; + case 515: { action. consumeTemplateArgumentExpression(); break; } // - // Rule 516: template_argument ::= assignment_expression + // Rule 516: template_argument ::= type_id // - case 516: { action. consumeTemplateArgumentExpression(); break; + case 516: { action. consumeTemplateArgumentTypeId(); break; } // - // Rule 517: template_argument ::= type_id + // Rule 517: explicit_instantiation ::= template declaration // - case 517: { action. consumeTemplateArgumentTypeId(); break; + case 517: { action. consumeTemplateExplicitInstantiation(); break; } // - // Rule 518: explicit_instantiation ::= template declaration + // Rule 518: explicit_specialization ::= template < > declaration // - case 518: { action. consumeTemplateExplicitInstantiation(); break; + case 518: { action. consumeTemplateExplicitSpecialization(); break; } // - // Rule 519: explicit_specialization ::= template < > declaration + // Rule 519: try_block ::= try compound_statement <openscope-ast> handler_seq // - case 519: { action. consumeTemplateExplicitSpecialization(); break; + case 519: { action. consumeStatementTryBlock(); break; } // - // Rule 520: try_block ::= try compound_statement <openscope-ast> handler_seq + // Rule 522: handler ::= catch ( exception_declaration ) compound_statement // - case 520: { action. consumeStatementTryBlock(); break; + case 522: { action. consumeStatementCatchHandler(false); break; } // - // Rule 523: handler ::= catch ( exception_declaration ) compound_statement + // Rule 523: handler ::= catch ( ... ) compound_statement // - case 523: { action. consumeStatementCatchHandler(false); break; + case 523: { action. consumeStatementCatchHandler(true); break; } // - // Rule 524: handler ::= catch ( ... ) compound_statement + // Rule 524: exception_declaration ::= type_specifier_seq <openscope-ast> declarator // - case 524: { action. consumeStatementCatchHandler(true); break; + case 524: { action. consumeDeclarationSimple(true); break; } // - // Rule 525: exception_declaration ::= type_specifier_seq <openscope-ast> declarator + // Rule 525: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator // case 525: { action. consumeDeclarationSimple(true); break; } // - // Rule 526: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator + // Rule 526: exception_declaration ::= type_specifier_seq // - case 526: { action. consumeDeclarationSimple(true); break; + case 526: { action. consumeDeclarationSimple(false); break; } // - // Rule 527: exception_declaration ::= type_specifier_seq + // Rule 528: exception_specification ::= throw ( ) // - case 527: { action. consumeDeclarationSimple(false); break; + case 528: { action. consumePlaceHolder(); break; } // - // Rule 529: exception_specification ::= throw ( ) + // Rule 549: attribute_parameter ::= assignment_expression // - case 529: { action. consumePlaceHolder(); break; + case 549: { action. consumeIgnore(); break; } + + // + // Rule 559: extended_asm_declaration ::= asm volatile_opt ( extended_asm_param_seq ) ; + // + case 559: { gnuAction.consumeDeclarationASM(); break; + } // - // Rule 550: attribute_parameter ::= assignment_expression + // Rule 570: unary_expression ::= __alignof__ unary_expression // - case 550: { action. consumeIgnore(); break; + case 570: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_alignOf); break; } - + // - // Rule 560: extended_asm_declaration ::= asm volatile_opt ( extended_asm_param_seq ) ; + // Rule 571: unary_expression ::= __alignof__ ( type_id ) // - case 560: { gnuAction.consumeDeclarationASM(); break; - } + case 571: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_alignof); break; + } // - // Rule 571: unary_expression ::= __alignof__ unary_expression + // Rule 572: unary_expression ::= typeof unary_expression // - case 571: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_alignOf); break; + case 572: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); break; } // - // Rule 572: unary_expression ::= __alignof__ ( type_id ) + // Rule 573: unary_expression ::= typeof ( type_id ) // - case 572: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_alignof); break; + case 573: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_typeof); break; } + + // + // Rule 578: declaration_specifiers ::= <openscope-ast> typeof_declaration_specifiers + // + case 578: { gnuAction.consumeDeclarationSpecifiersTypeof(); break; + } // - // Rule 573: unary_expression ::= typeof unary_expression + // Rule 591: declarator ::= <openscope-ast> ptr_operator_seq attribute_or_decl_specifier_seq direct_declarator // - case 573: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); break; + case 591: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 574: unary_expression ::= typeof ( type_id ) + // Rule 593: simple_type_specifier ::= _Complex // - case 574: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_typeof); break; + case 593: { action. consumeToken(); break; } // - // Rule 587: declarator ::= <openscope-ast> ptr_operator_seq attribute_or_decl_specifier_seq direct_declarator + // Rule 594: simple_type_specifier ::= _Imaginary // - case 587: { action. consumeDeclaratorWithPointer(true); break; + case 594: { action. consumeToken(); break; } + + // + // Rule 595: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers + // + case 595: { gnuAction.consumeDeclarationSpecifiersSimple(); break; + } default: diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPParserprs.java index b94d07d5710..aa88752cd1e 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPParserprs.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPParserprs.java @@ -29,7 +29,7 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,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 isKeyword[] = IsKeyword.isKeyword; @@ -59,565 +59,572 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym 0,5,7,8,1,1,2,2,3,2, 3,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,2,1,0, - 4,4,2,2,2,2,2,1,0,1, - 1,1,1,1,1,2,1,2,2,2, - 1,1,2,2,1,2,2,1,2,2, - 1,2,2,1,1,1,1,1,1,1, + 4,4,2,2,2,2,1,0,1,1, + 1,1,1,1,2,1,2,2,2,1, + 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,3,4,4,5,2,5, - 6,5,0,6,7,0,1,3,1,0, - 1,3,1,1,1,6,5,7,6,1, - 0,6,6,4,1,3,1,0,1,1, - 2,1,1,3,1,3,1,1,1,1, - 3,9,2,2,3,2,4,2,6,0, - 1,2,2,1,0,1,1,1,3,1, - 2,1,1,2,3,1,1,1,3,2, - 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,7,6, - 3,0,0,1,3,1,1,5,6,6, - 7,7,0,0,1,0,1,1,1,2, - 4,2,2,1,5,1,1,1,1,1, - 1,1,2,1,0,1,3,1,1,2, - 3,2,1,2,2,1,0,1,3,3, - 5,5,4,1,1,1,1,0,1,5, - 2,2,1,2,2,1,0,1,3,4, - 3,1,1,5,2,1,1,3,3,1, + 1,1,1,3,4,4,5,2,5,6, + 5,0,6,7,0,1,3,1,0,1, + 3,1,1,1,6,5,7,6,1,0, + 6,6,4,1,3,1,0,1,1,2, + 1,1,3,1,3,1,1,1,1,3, + 9,2,2,3,2,4,2,6,0,1, + 2,2,1,0,1,1,1,3,1,2, + 1,1,2,3,1,1,1,3,2,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,7,6,3, + 0,0,1,3,1,1,5,6,6,7, + 7,0,0,1,0,1,1,1,2,4, + 2,2,1,5,1,1,1,1,1,1, + 1,2,1,0,1,3,1,1,2,3, + 2,1,2,2,1,0,1,3,3,5, + 5,4,1,1,1,1,0,1,5,2, + 2,1,2,2,1,0,1,3,4,3, + 1,1,5,2,1,1,3,3,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,2,2,7,1,0, - 1,3,1,1,2,4,2,4,7,9, - 5,1,3,1,0,1,1,2,4,4, - 1,2,5,5,3,3,1,4,3,1, - 0,1,3,1,1,1,1,2,6,3, - 1,3,1,4,0,1,1,1,3,1, - 0,4,3,1,2,1,3,4,4,6, - 1,0,1,3,1,3,0,1,4,5, - 2,4,2,4,1,1,2,2,3,2, - 2,3,1,1,1,1,4,1,-273,0, - 0,0,-20,0,0,0,0,0,0,0, + 1,1,1,1,2,2,7,1,0,1, + 3,1,1,2,4,2,4,7,9,5, + 1,3,1,0,1,1,2,4,4,1, + 2,5,5,3,3,1,4,3,1,0, + 1,3,1,1,1,1,2,6,3,1, + 3,1,4,0,1,1,1,3,1,0, + 4,3,1,2,1,3,4,4,6,1, + 0,1,3,1,3,0,1,4,5,2, + 4,2,4,2,1,2,2,2,1,1, + 2,2,3,2,2,3,1,1,1,1, + 4,1,1,1,2,-236,0,0,0,-2, 0,0,0,0,0,0,0,0,0,0, - -348,0,0,0,0,0,0,-45,0,0, - 0,0,0,-69,0,0,0,0,0,0, - -10,0,0,0,0,-124,0,0,0,0, + 0,0,0,0,0,0,0,-7,0,0, + 0,0,0,0,-9,0,0,0,0,-480, + 0,0,0,0,0,0,0,-58,-59,0, + 0,0,-294,0,0,0,0,0,0,0, + 0,0,0,0,0,-26,0,0,-3,-14, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-81,0,0, - -56,0,-2,0,0,0,0,0,0,0, - -143,0,0,0,0,0,-3,0,-238,0, - 0,0,0,0,0,0,0,0,-289,0, + -16,-98,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-401,0,0,0, + 0,-132,-216,0,0,0,0,0,0,0, + -45,0,0,0,0,-509,0,0,0,0, + -32,0,-17,0,0,0,0,0,0,-61, + -92,0,0,0,0,0,-150,0,-452,0, 0,0,0,0,0,0,0,0,0,0, + -142,0,0,0,0,0,0,0,0,0, + -392,0,-18,0,0,0,0,0,0,-215, + 0,0,0,0,-160,0,0,0,-195,0, + 0,0,0,0,0,0,0,-19,0,-10, + 0,0,0,-139,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-155,-7,0,0,0,0,0,-9, - -28,0,0,-368,0,0,-4,0,-14,-382, + 0,0,0,0,0,0,0,0,0,-456, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-25,0,0, + -112,0,-161,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-178,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-116,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-122,0,0,-16,0, + 0,-63,0,0,0,0,-89,0,0,0, + 0,-51,0,0,0,0,0,0,0,0, + 0,0,0,0,-36,0,-39,0,0,0, + 0,0,0,-485,0,0,0,-203,0,0, + 0,-272,0,0,0,0,-367,0,0,0, + 0,0,-457,0,0,0,0,-90,-179,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-171,0,0,0,0,0,-89,0, - -281,0,0,0,-17,0,0,0,0,0, - 0,0,0,0,0,-134,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-18, - -335,-68,0,0,0,0,0,0,0,0, - -49,0,0,0,0,0,-37,0,0,0, + 0,0,-440,-167,0,0,0,0,0,0, + 0,0,-429,0,0,0,0,0,0,0, + 0,0,-105,0,0,0,0,0,0,0, + 0,0,0,-166,0,0,-4,0,0,0, + 0,0,-340,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-501,0,0,0,-159,0,0,0,-33, - 0,0,0,0,-148,0,0,0,0,0, - -12,0,-57,0,0,0,-135,0,0,0, + 0,0,0,0,0,0,0,0,-91,0, + 0,-37,0,0,0,0,0,0,0,0, + 0,0,0,-121,0,0,-398,0,0,-40, + 0,0,0,0,0,0,0,-578,-242,-12, + 0,0,0,0,0,0,-35,0,0,0, + 0,0,0,0,0,0,0,0,0,-545, + 0,0,-459,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-42,0,-43, + 0,-164,0,0,0,0,-181,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -13,-59,0,0,0,0,0,0,0,0, - 0,-521,0,0,0,0,0,0,0,0, + -547,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -357,0,0,0,0,0,0,0,0,0, - -317,0,0,0,0,0,0,0,0,0, + 0,0,-38,0,0,0,0,-44,0,-13, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-72,-30,-131,0,0,0, + 0,0,0,0,0,0,0,0,-173,0, + 0,0,-93,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-239,0,0,-354,0,0,-27,0,0, - 0,0,0,0,-34,-423,-140,0,-213,0, - 0,-35,0,0,-99,0,0,0,0,0, - 0,0,0,0,0,0,0,-66,0,0, - -426,0,0,0,-38,0,0,0,0,0, + 0,0,-48,0,0,0,0,-529,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-275,0,0,-40,0,0, + 0,-52,0,0,0,0,-291,0,0,0, + -54,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-70,0,0,0,-520,0, + 0,0,0,-65,0,-57,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -66,0,0,-64,0,0,0,-122,0,0, + 0,0,0,0,0,0,0,0,0,-148, + 0,0,0,-47,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -36,0,0,0,0,-41,0,0,0,0, - 0,0,0,-42,0,0,0,0,0,0, - 0,0,0,0,0,0,-129,0,0,0, - -46,0,0,0,0,0,0,0,0,0, + 0,-80,0,-60,0,0,0,0,0,0, + 0,0,0,-136,0,0,0,0,0,0, + -131,0,0,0,0,0,-374,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -55,-447,0,-52,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-247,0,0,0,-63,0, + 0,0,0,-488,0,-372,0,0,0,0, + 0,0,0,0,0,0,0,0,-140,0, + 0,0,0,-462,0,0,0,-81,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-98, - 0,0,0,0,0,0,0,0,0,-120, - 0,0,0,0,0,0,0,-67,-64,0, - 0,-172,0,0,-282,0,0,0,0,0, - 0,0,0,0,0,0,0,-222,0,0, + 0,0,0,0,0,-82,0,-360,0,0, + 0,0,-170,0,0,0,0,-211,0,0, + 0,0,0,0,-183,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-463,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-43,0,0,0,0,0,0,0, - 0,0,-73,0,0,0,0,0,-61,0, - 0,0,0,0,-330,0,0,0,-570,0, + 0,0,0,0,0,0,0,0,-85,0, + 0,0,0,0,0,-120,0,0,0,0, + 0,0,0,0,0,0,0,-141,0,0, + 0,0,0,-469,0,0,0,-165,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-95,0,0, + -182,0,-579,0,0,0,0,-268,0,0, + 0,0,0,0,-83,-84,-101,-53,0,0, + -168,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -77,0,0,-571,0,0,0,0,0,0, - 0,0,0,0,0,-113,-84,0,0,0, - 0,-429,0,0,0,0,0,0,0,0, + 0,0,-479,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-58,0,0,0,0,0,0, - 0,0,0,0,0,0,-85,0,0,0, - 0,0,0,0,-86,-44,0,0,0,0, - 0,-139,0,0,0,0,0,0,0,0, - 0,0,0,-430,0,0,0,-161,0,0, + 0,-86,0,-106,-187,-229,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-121,0,-374,0,0, - 0,0,0,0,0,0,0,0,-87,0, - 0,0,0,0,-127,0,0,0,0,0, - -436,0,0,0,-224,0,0,0,0,0, + 0,0,0,0,0,0,0,-46,0,0, + -184,0,0,0,0,0,0,0,0,-241, + 0,0,0,0,0,0,-87,-96,-523,0, + 0,0,0,0,-327,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-456,0,0,0,0,-262, + 0,0,0,0,0,0,-483,0,0,-55, + 0,-100,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-107,-123,0,0,0, + 0,-328,0,0,0,-151,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-101,0,0,0,0,0,-206,0,0, + 0,0,0,-129,0,0,-62,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-50, - 0,-108,0,0,0,0,-102,0,0,0, - 0,0,-105,0,0,0,0,0,-111,0, - -418,0,0,0,-304,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-329,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-118,0, - 0,0,0,0,0,0,0,0,0,-150, - 0,0,0,0,0,-156,0,0,0,0, - 0,-305,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-78,0,-209,0,0,0,0, - -153,0,0,0,0,0,0,0,0,0, - 0,0,-158,0,0,0,0,0,-306,0, + -353,0,0,0,0,-108,0,0,0,0, + 0,0,-256,0,0,0,0,0,0,0, + 0,0,-109,0,0,-330,0,0,0,-257, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-110,0,-232, + 0,0,0,0,-524,0,0,0,0,0, + 0,0,0,0,0,0,-299,0,0,0, + 0,0,-331,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -212,0,-255,0,0,0,0,-160,0,0, - 0,0,0,-173,0,0,0,0,0,-183, - 0,0,0,0,0,-307,0,0,0,-519, + 0,0,0,0,-147,0,0,-286,0,0, + 0,0,0,0,0,0,-262,0,0,0, + 0,0,0,-359,0,0,0,0,0,-332, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-242, - 0,0,-82,0,-175,0,0,0,0,0, - 0,0,0,0,0,0,-176,0,0,0, - 0,0,-308,0,0,0,-249,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-83,0,-455,0,0,0, - 0,-137,0,0,0,0,0,-177,0,0, - 0,0,0,-269,0,0,0,0,0,-309, + 0,-196,0,-344,0,0,-190,0,0,0, + 0,0,0,-532,0,0,0,0,0,0, + -438,0,0,0,0,0,-333,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-379,0, + 0,0,0,-124,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-306,-546,0, + 0,0,0,-334,0,0,0,-293,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-502,0,0,0,0,0,0, + 0,0,0,0,0,-198,0,-439,0,0, + 0,0,0,0,0,0,0,-125,0,0, + 0,0,0,0,-486,0,0,0,0,0, + -335,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -178,0,0,0,0,0,-310,0,0,0, + 0,0,-88,0,-199,0,0,-191,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-450,0, - 0,-462,0,-179,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-422,0,-181, - 0,0,0,-311,0,0,0,-263,0,0, + 0,-528,0,0,0,0,0,-336,0,0, + 0,-307,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-102, + 0,0,-103,0,-193,0,0,0,0,0, + 0,-558,0,0,0,0,0,0,-128,-134, + -205,-201,0,0,-337,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-100,0,-507,0,0, - 0,0,-195,0,0,0,0,0,-196,0, - 0,0,0,0,-465,0,0,0,0,0, - -312,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-113,0,0,-114, + 0,0,0,0,0,0,0,0,-152,0, + 0,0,0,0,0,0,-235,-498,0,0, + 0,-349,0,0,0,-501,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-53,0,-97,0,0,-197,0,0, + 0,0,0,-237,0,0,-192,-289,-194,0, + 0,0,0,0,0,-197,0,0,0,0, + 0,0,-202,-127,-570,-204,0,0,-484,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-313,0,0, - 0,-540,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-198, - 0,-508,0,0,0,0,-199,0,0,0, - 0,0,-200,0,0,0,0,0,-457,0, - 0,0,0,0,-314,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-106,0,-180,0, - 0,-138,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-201,-202,0,0,0, - 0,-425,0,0,0,0,0,0,0,0, + -117,0,0,-119,0,-217,0,0,0,0, + 0,0,-219,0,0,0,0,0,0,-282, + 0,0,-363,0,0,-581,0,0,0,-220, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-152,0,-534,0,0,0,0, - -203,0,0,0,0,0,0,0,0,0, - 0,0,-62,0,0,0,0,0,-467,0, + 0,0,0,0,0,0,0,0,0,-283, + 0,0,0,0,-221,0,0,0,0,0, + 0,0,0,0,0,0,-213,0,0,-222, + 0,0,-390,0,0,0,-223,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-111,0,0,0, + 0,0,0,0,0,0,-224,0,0,0, + 0,0,0,-400,0,0,0,-569,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-388,0,0,0,0,-238, + 0,0,0,0,0,0,-443,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-204,-60,-580,-217,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-54, - 0,0,0,0,0,-573,0,0,0,-276, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-205,0,-557, - 0,0,-245,0,-207,0,0,0,0,0, - 0,0,0,0,0,0,-240,-208,0,0, - 0,0,-346,0,0,0,0,0,0,0, + -525,0,0,0,0,-225,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,-322,0,0,0, - 0,0,0,0,0,0,0,-151,0,0, - 0,0,0,-356,0,0,0,-569,0,0, + 0,0,0,0,0,0,0,0,0,-270, + 0,0,-104,-226,-227,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-550,0, + 0,0,-228,0,0,0,0,-230,-231,-233, + -473,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-65,0, + 0,0,-284,0,-574,0,0,0,0,0, + 0,0,0,0,-240,0,0,0,0,0, + 0,-531,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-344,0,0,0,-210,-154, - 0,0,0,0,0,0,-409,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -214,-79,-256,0,0,0,0,0,0,0, - 0,-216,0,0,0,0,0,-439,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-123, - 0,-468,-80,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-492,0, - 0,0,0,0,0,0,0,-218,-221,-227, - -440,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-90,0,-146,-229,0,0,0,0, - 0,0,0,0,0,-230,0,0,0,0, - 0,-567,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-321,0,0,0,0, - 0,0,0,0,0,0,-241,0,0,0, - 0,0,-31,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-523, - 0,0,0,-220,-233,-147,0,0,0,0, - -235,-250,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-236,-446,0,0,0, - 0,0,-117,0,0,0,0,0,0,0, - 0,0,0,0,-232,0,0,0,0,0, - 0,0,0,0,-589,0,0,0,-237,0, - 0,0,0,0,0,0,0,-149,0,0, - 0,0,0,0,-490,0,0,0,0,0, - 0,0,-292,0,0,0,-243,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-258,0,-104,-126, - 0,0,0,0,0,0,0,-384,0,0, - 0,-553,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-169, - 0,0,0,0,0,-316,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-259,0,-88, - 0,0,0,0,-280,0,0,0,0,0, - -91,0,0,0,0,-303,0,0,0,-324, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-103,0,-119, - 0,0,0,0,-157,0,0,0,0,0, - -331,0,0,-301,0,0,0,-253,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-211,0,0, - 0,0,-109,0,0,0,0,0,0,0, - -432,0,0,0,-318,0,0,0,0,0, - 0,0,0,0,-167,-244,0,0,0,0, - -332,0,-339,-340,0,0,0,0,0,-257, - -347,-94,0,-261,0,0,0,0,0,0, - 0,0,0,-349,0,-246,-550,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-536,0,0,0,-226,-590,0, - 0,0,0,0,0,-364,0,-29,0,0, - 0,-39,0,0,0,0,-128,0,0,0, - 0,0,0,0,0,-248,0,0,-365,0, - 0,0,0,0,-582,0,0,0,-366,0, - 0,0,-5,0,0,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, - 0,-406,-254,-114,-352,0,-378,0,-367,0, - 0,0,0,0,-302,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-371,0,0,0, - 0,0,0,0,0,0,0,0,0,-32, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-133,0,0,0,0,-372, - -132,-166,0,0,0,0,0,0,-271,-130, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-373,-387,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-388,-389,0,0, - 0,0,0,-168,0,0,0,0,-390,0, - 0,0,0,0,0,-391,0,-170,0,0, - 0,0,0,0,0,-298,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-223,0,-392, - -19,0,0,0,-21,0,0,0,0,-351, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-325,-393,0,0,0,0,0,0, - 0,0,-228,0,0,0,0,-558,0,0, - 0,0,0,0,-394,-395,-396,-184,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-251,0,0,0,0,-376,0,0, - -438,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -350,-353,-272,0,0,0,0,0,-397,-443, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-398,0,0,0,0,0,0, - 0,0,-458,0,0,0,0,0,0,0, - 0,0,0,-328,0,0,-466,-399,-400,-401, - 0,0,-234,0,0,0,0,0,0,0, - 0,0,0,0,0,-341,0,-284,0,0, - 0,0,-504,0,0,-299,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-342,0,0, - 0,0,0,0,0,0,0,0,-15,0, - 0,0,0,0,0,-402,0,0,0,0, - -23,0,0,0,-403,-404,0,-252,0,0, - 0,0,0,0,0,0,-319,-326,-488,0, - 0,0,-405,0,0,0,0,0,0,0, - -408,0,0,0,0,-300,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-320,0,0, - -25,0,-410,0,-442,0,0,0,-412,-327, - -329,0,-441,0,0,-559,0,0,0,0, - -413,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-338,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-419,-361,0, - -491,0,0,-414,0,0,0,-355,-483,0, - 0,0,0,0,0,0,0,0,0,-333, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-464,0,0,0, - 0,0,-427,-415,-293,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-345,0,-386,-554, - -568,-417,0,0,0,0,-343,0,0,0, - 0,0,0,0,0,0,0,-407,-444,0, - -486,0,-162,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-377,-51,0, - 0,0,-445,0,0,0,0,0,0,0, - 0,0,0,-518,-451,-452,0,-359,0,0, - 0,0,0,-453,0,-454,0,0,0,0, - 0,0,0,0,0,0,-461,0,0,0, - 0,0,0,0,0,0,0,0,-469,0, - 0,0,0,0,0,0,0,0,0,-294, - 0,0,0,-470,0,0,0,0,0,0, + 0,0,0,-137,0,0,-172,0,-246,0, + 0,0,0,0,0,-239,0,0,0,0, + 0,0,-33,0,0,0,0,0,0,0, + 0,0,0,0,0,-247,0,-77,0,-159, + 0,0,-23,0,0,-248,0,0,0,0, + -402,-594,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-472,0,-47,0,0,0,0,-477,0, - 0,-295,0,0,0,-411,0,0,0,0, + -249,0,-259,0,0,0,0,0,-261,0, + 0,0,0,0,0,-218,0,0,0,0, + -263,0,0,0,-339,0,0,0,-271,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-416,0,-362,-22,0,-420,0, - -363,0,0,-482,0,-336,-481,0,-487,0, - -369,0,0,0,-379,0,-485,0,-428,0, - 0,0,0,0,0,-499,-500,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-506,0,0,0,0,0,0,0,0, - 0,0,-24,-471,-565,0,-71,0,-380,-421, - 0,0,0,-381,0,0,0,-516,0,0, + -273,0,0,-274,0,0,0,0,-285,0, + 0,0,0,-5,0,0,0,0,0,-404, + -341,-177,0,0,0,0,0,-277,-279,0, + 0,0,0,-244,0,0,0,0,0,0, + 0,0,-245,0,0,0,0,-365,-280,-474, + -556,0,0,-133,0,-575,0,0,0,0, + -281,0,0,-287,0,0,0,0,-548,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-522,-385,-537,0,0,0, - -424,0,0,-437,0,-479,0,0,0,-541, - 0,-542,0,0,0,0,0,0,0,0, - 0,0,-547,-473,0,0,-136,0,-480,0, - 0,0,0,0,0,0,0,-555,0,0, - 0,0,0,0,0,0,-556,0,-526,0, - 0,0,0,0,-564,-449,0,0,0,-463, - -265,-561,0,-549,0,-494,0,0,0,0, - 0,-574,0,-579,0,0,0,0,0,0, - 0,0,0,-510,0,0,-260,0,0,-484, + 0,0,0,0,-251,0,0,-302,0,-210, + 0,0,0,0,0,0,0,-303,0,0, 0,0,0,0,0,0,0,0,0,0, + -250,-265,-342,0,0,0,0,0,-343,0, + 0,-520,0,0,0,0,0,0,0,-347, + -355,-588,0,0,0,0,0,0,0,0, + 0,0,0,0,-356,0,0,0,0,-535, + -212,-357,0,0,0,-252,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-503,0,0,0,0, - -266,0,0,0,0,0,0,0,0,-493, + 0,0,0,0,0,0,0,0,-326,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-546,0,0,-334,0,-511,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-595,0,0,-358,0,0, + 0,0,0,0,0,0,-324,0,0,0, + -375,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-214,0, + 0,-376,0,-21,0,-460,0,0,0,0, + -383,0,0,-465,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,-517, - -578,-515,0,0,0,0,0,0,0,-527, - 0,0,-576,0,0,0,0,0,0,0, - 0,0,0,-548,0,0,-505,0,0,0, - 0,0,0,-535,0,0,0,0,0,0, + 0,-366,0,0,0,0,0,0,0,0, + 0,-254,0,0,0,0,0,0,0,0, + 0,0,0,0,-143,0,-384,-391,0,-566, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-528,0,-545,0,-529, - -530,0,0,0,-531,-543,0,0,0,-560, - 0,0,-587,0,0,0,0,0,0,0, - 0,0,-110,-552,0,0,-231,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -175,-393,0,0,0,0,0,-255,0,-406, + -521,-573,0,0,-407,0,-461,0,-553,0, + 0,0,0,-408,0,0,0,0,0,-385, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-544,-562,0,-563,0,-270, - -577,-581,0,0,0,0,0,0,0,-1, + 0,-305,0,0,0,0,-325,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-584,0,0, - 0,0,0,-283,0,0,0,0,0,0, - 0,0,0,0,0,-572,0,0,0,0, + 0,0,0,0,0,0,0,0,-267,0, + 0,-258,0,0,0,0,0,0,0,0, + -266,0,-301,-300,0,-380,0,0,0,0, + -174,0,0,0,0,0,0,0,0,0, + 0,0,0,-56,0,0,0,0,-276,0, + -288,0,0,0,0,0,0,0,0,-409, + -410,0,0,0,0,0,-126,0,0,0, + 0,0,0,-411,-295,-297,0,0,0,0, + 0,0,0,0,0,0,-369,0,0,0, + 0,0,0,0,0,0,0,-321,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-412, + 0,-413,0,-208,-389,0,0,0,0,0, + 0,-395,0,0,0,0,0,0,0,0, + 0,0,0,0,-414,-394,-415,0,0,0, + 0,-416,-417,-298,0,0,0,0,0,0, + 0,-418,0,0,0,0,0,0,0,0, + 0,0,0,0,-471,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-48,0,0,0,-267,0,0,0, - 0,0,0,0,0,-76,0,0,0,0, - 0,0,0,0,0,0,-583,0,0,0, - 0,0,0,0,0,0,0,-585,-509,0, - 0,0,0,0,-586,0,0,0,0,-588, - 0,0,0,0,0,0,0,-268,0,0, - 0,0,0,-476,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-323,-591,0,0, - 0,0,0,-164,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-532,-533,-434,0,0,0,0, + 0,0,0,0,-419,0,0,0,0,0, + 0,0,0,-278,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-476,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-315,0, - 0,0,0,-174,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-74, + -420,-275,-290,0,0,0,0,-292,0,0, + 0,0,0,0,0,0,-421,-422,0,0, + 0,0,0,-423,-424,0,0,0,0,0, + -427,0,0,0,0,-453,0,0,0,0, + -435,0,-396,0,0,0,0,0,0,0, + -296,0,0,-397,0,-154,-354,-352,0,0, + 0,0,-364,0,0,0,0,0,-577,0, + 0,-436,0,0,0,0,-386,0,0,0, + 0,-322,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, - 0,0,0,0,0,0,0,-125,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-496,0,0,0, + -437,0,0,0,-323,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-243,0,0,-185, + 0,-442,0,0,0,0,0,-377,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-370,-371,0,-162,0,0,-444,0, + 0,0,0,0,0,0,0,-310,0,0, + 0,-387,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-27,0,0,0,0,0,0,0,-441, + 0,0,0,0,-264,0,0,0,0,0, + 0,0,0,0,0,0,0,-446,-373,-382, + -403,0,0,0,0,-447,0,-448,0,0, + 0,0,0,0,-399,-449,0,0,0,0, + 0,0,0,0,0,-426,0,-451,-477,0, 0,0,0,0,0,0,0,0,0,0, + -478,0,-489,0,0,0,0,-499,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-315,0,0,0,-500,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,-405,0,-445,-428,0,0,0, + 0,0,0,-316,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-454,-487,-502, + -503,0,0,0,0,-317,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-566,0,0,0,0,0,-297,0, + 0,0,0,0,0,0,0,-455,0,-41, + 0,0,0,0,-505,0,0,-318,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-450, + 0,-30,-163,0,-470,0,0,0,0,-515, + 0,0,-458,0,0,-482,-536,-510,0,0, + 0,0,-514,-516,-518,0,0,0,0,-362, + 0,0,0,0,-543,-549,0,0,0,-492, + -555,0,0,0,0,0,0,-563,0,-571, + 0,0,0,0,0,0,0,0,-176,-504, + -572,0,-94,0,0,-338,0,0,0,0, + 0,0,0,-582,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -95,0,0,0,0,0,0,0,0,-75, + -587,-493,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,-475,-506, + 0,0,-180,0,0,-368,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-514,0, - 0,0,0,0,0,0,0,-575,0,-141, - 0,0,-142,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-494,-526,0,0,-495,0,0,0,0, + 0,-527,0,0,0,-542,0,-512,-513,0, + 0,0,0,0,0,0,0,0,-519,-537, + 0,0,-304,0,0,-554,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-497,0,0, 0,0,0,0,0,0,0,0,0,0, + -431,0,0,0,0,-561,0,0,0,0, + 0,-533,0,0,0,-576,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-562, + 0,0,-378,0,0,-432,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-112,0,0,0,0, - 0,0,0,-144,0,-165,0,0,0,0, + 0,0,0,0,0,-565,0,0,0,0, + -433,-534,0,0,0,0,-155,0,0,0, + 0,-538,0,0,0,-589,0,-584,0,0, + 0,0,0,0,0,0,0,0,0,-564, + 0,0,-430,0,0,-540,0,0,0,0, 0,0,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,-544,0,0,0,0,0,0,-592,0, + 0,0,0,0,0,0,0,0,0,-568, + -157,0,-491,0,0,0,0,0,0,-557, 0,0,0,0,0,0,0,0,0,0, - 0,0,-435,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-115,0,0,0, - 0,0,-225,0,0,0,0,0,0,0, + -434,-559,0,0,0,0,-496,0,0,0, + 0,0,0,0,0,-1,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-560,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-580,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-234,0, + 0,0,0,0,-34,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-15,0,0,0,0,0, + 0,0,0,-590,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-287,0, + 0,0,-585,-591,-593,0,0,-351,0,0, + 0,0,-497,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-288,0,0,0,0,0,0,0, + 0,0,0,-596,0,0,0,0,-490,-567, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-26,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-530,0,0,0,0,0,0,0, + 0,-467,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-290,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-498,0, - 0,0,0,-291,0,0,0,0,0,0, + 0,0,0,0,0,-97,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-8,0, - 0,0,0,0,-538,-551,0,0,0,0, - 0,0,0,0,0,-11,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-169,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-209,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-92,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-93,0,0,0,0,0, 0,0,0,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,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-49,0,0, + 0,0,0,0,-320,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-31,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-118,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-70,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-50,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-186,0,0,0,0,0, + 0,0,0,0,0,-20,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-187,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,-188, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-189,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-190,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-191,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-192,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-193, + 0,0,-583,0,0,0,0,0,-269,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,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,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-312, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-313,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-314,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-8, + 0,0,0,0,0,0,0,0,0,0, + 0,-11,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-29, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-194,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-219,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,0,0,0,0,0, - 0,-274,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-72,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-73,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-285, 0,0,0,0,0,0,0,0,0,0, + -74,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-286,0,0,0,0,0,0,0,0, + 0,0,-75,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-337,0,0,0,0,-512,0, + 0,0,0,0,-76,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-370,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,-115,0, 0,0,0,0,0,0,0,0,0,0, + -116,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-67,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-459,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-185,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-186, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-149,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -107,0,0,0,0,0,0,-6,0,0, + 0,0,0,0,0,-308,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-163,0,-360,0,0,0,0,0,0, - 0,0,0,-460,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-309,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-348, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-431,0,0,0,0, + 0,-350,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-592,0,0,0,0,0, + 0,0,0,-381,0,0,0,0,-539,0, 0,0,0,0,0,0,0,0,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,0,-358,0,0, - 0,0,0,0,-539,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-145,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-215,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-375,0,0,0,0, - 0,0,0,0,0,-383,0,0,0,-448, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-489,0,0,0,-524, - 0,0,0,0,0,-433,0,0,0,0, + 0,0,0,0,0,0,-69,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,0,0,0,0,0,0,0, - 0,0,0,0,-182,-264,0,0,0,0, + 0,0,0,0,0,0,0,0,-130,0, + 0,0,0,0,0,-6,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -525,0,0,0,0,0,0,0,-277,0, - 0,0,0,0,0,0,0,0,-278,0, + 0,0,0,0,0,0,0,0,-206,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-279,0,0,0,0, - 0,0,-474,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-475,0, - 0,0,0,0,0,-478,0,0,0,0, + 0,-207,0,-22,0,0,0,0,0,0, + 0,0,0,0,0,-78,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-464,0,0,0,0,0,0, + 0,0,0,0,0,-24,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-28, + 0,0,0,0,0,0,0,0,-144,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-99,0,0,0,0,0,-135,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-138,0,0,0,0,0,0,0,0, + 0,0,0,-189,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-253,0,0,0, + 0,0,0,0,0,0,-260,0,0,0, + 0,0,0,0,-541,0,0,0,0,0, + -345,0,0,0,0,0,-481,0,0,0, + 0,0,-522,0,0,0,0,0,-468,0, + 0,0,0,0,0,0,0,0,0,-551, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-552,0,0, + 0,0,0,0,0,-145,0,-146,0,0, + 0,0,0,-466,0,0,0,0,0,0, + 0,0,-158,0,0,0,0,0,0,0, + -153,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,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,-200,0,0,0,0,0, + -361,0,0,0,-425,0,0,0,0,0, + -586,0,-507,0,0,0,0,0,-508,0, + -597,0,0,0,0,0,0,0,0,-511, + 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, @@ -625,7 +632,18 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 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; @@ -635,647 +653,693 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym public interface BaseAction { public final static char baseAction[] = { - 186,4,146,89,89,29,29,74,74,44, - 44,47,47,186,1,1,15,15,15,15, + 188,4,147,89,89,29,29,74,74,44, + 44,47,47,188,1,1,15,15,15,15, 15,15,15,16,16,16,14,11,11,6, 6,6,6,6,6,2,72,72,5,5, - 12,12,50,50,147,147,148,68,68,49, + 12,12,50,50,148,148,149,68,68,49, 17,17,17,17,17,17,17,17,17,17, 17,17,17,17,17,17,17,17,17,17, - 149,149,149,125,125,18,18,18,18,18, + 150,150,150,125,125,18,18,18,18,18, 18,18,18,18,18,18,18,18,19,19, - 187,187,188,188,189,152,152,153,153,150, - 150,154,151,151,20,20,21,21,23,23, + 189,189,190,190,191,153,153,154,154,151, + 151,155,152,152,20,20,21,21,23,23, 23,28,28,28,28,30,30,30,31,31, - 31,32,32,32,32,32,33,33,33,34, - 34,36,36,37,37,38,38,39,39,40, + 31,32,32,32,32,32,33,33,33,35, + 35,36,36,37,37,38,38,39,39,40, 40,46,46,45,45,45,45,45,45,45, - 45,45,45,45,45,45,43,35,155,155, - 103,103,190,190,98,217,217,75,75,75, + 45,45,45,45,45,45,43,34,156,156, + 103,103,192,192,98,219,219,75,75,75, 75,75,75,75,75,75,76,76,76,73, - 73,67,67,191,191,77,77,77,110,110, - 192,192,78,78,78,193,193,79,79,79, + 73,67,67,193,193,77,77,77,110,110, + 194,194,78,78,78,195,195,79,79,79, 79,79,80,80,90,90,90,90,90,90, 90,90,54,54,54,54,54,111,111,109, - 109,55,194,22,22,22,22,22,53,53, - 93,93,93,93,93,162,162,157,157,157, - 157,157,158,158,158,159,159,159,160,160, - 160,161,161,161,94,94,94,94,94,95, - 95,95,13,13,13,13,13,13,13,13, - 13,13,13,104,129,129,129,129,129,129, - 127,127,127,163,128,128,195,165,165,164, - 164,131,131,112,84,84,85,86,57,52, - 166,166,58,92,92,167,167,156,156,132, - 133,133,134,70,70,168,168,64,64,64, - 60,60,59,65,65,87,87,69,69,69, - 66,96,96,106,105,105,71,71,61,61, - 63,63,48,107,107,107,99,99,99,100, - 100,101,101,101,102,102,113,113,113,115, - 115,114,114,218,218,97,97,197,197,197, - 197,197,136,51,51,170,196,196,137,137, - 137,137,138,172,198,198,41,41,126,139, - 139,139,139,200,117,116,116,130,130,130, - 173,174,174,174,174,174,174,174,174,174, - 174,174,202,202,199,199,201,201,119,120, - 120,120,120,121,203,122,118,118,204,204, - 175,175,175,175,108,108,108,205,205,8, - 8,9,206,206,207,176,169,169,177,177, - 178,179,179,7,7,10,208,208,208,208, - 208,208,208,208,208,208,208,208,208,208, - 208,208,208,208,208,208,208,208,208,208, - 208,208,208,208,208,208,208,208,208,208, - 208,208,208,208,208,208,208,208,82,88, - 88,180,180,141,141,142,142,142,142,142, - 142,3,143,143,140,140,123,123,91,83, - 81,171,171,124,124,209,209,209,144,144, - 135,135,210,210,24,24,24,42,42,25, - 25,211,211,181,181,181,182,182,212,212, - 183,183,26,26,213,213,184,184,184,27, - 62,214,214,215,215,185,185,185,145,145, - 145,18,18,18,18,56,93,134,134,134, - 119,119,119,195,200,117,66,70,163,1171, - 35,2983,2960,1401,5626,27,30,31,1022,1015, - 26,28,2927,25,23,50,1903,106,76,77, - 108,3139,1909,576,534,535,536,1990,1401,1948, - 2003,1997,2057,2056,2080,2133,2091,2178,2185,143, - 273,1865,1141,293,158,144,2916,35,1045,32, - 1943,1680,27,30,31,1022,1015,26,28,1870, - 25,23,50,1903,106,76,77,108,3205,1909, - 232,2478,3747,1155,1990,2870,1948,2003,1997,2057, - 2056,2239,2133,2091,2178,2388,164,1313,1386,1891, - 35,395,235,230,231,538,534,535,536,3459, - 35,1045,32,274,1680,27,30,31,1022,1015, - 26,28,1870,25,23,50,1903,106,76,77, - 108,323,3008,2239,1375,242,245,248,251,3627, - 1424,1688,35,279,2950,326,1289,1154,593,164, - 1675,35,1045,32,2136,3437,27,30,31,1022, - 1015,59,28,618,2680,297,3269,3061,3065,3281, - 3341,4717,2446,35,1045,32,2863,1680,27,30, - 31,1022,1015,26,28,1870,25,23,50,1903, - 106,76,77,108,342,1909,1688,35,452,254, - 1990,5604,1948,2003,1997,2057,2056,388,2133,2091, - 2178,2185,143,2361,2597,2773,1757,516,144,1812, - 4254,3812,35,1045,32,704,5636,27,30,31, - 1022,1015,57,28,420,517,2446,35,1045,32, - 2863,1680,27,30,31,1022,1015,26,28,1870, - 25,23,50,1903,106,76,77,108,342,1909, - 705,2122,64,921,1990,2863,1948,2003,1997,2057, - 2056,1432,2133,2091,2178,2185,143,1494,1439,1385, - 34,516,144,3213,4254,442,537,534,535,536, - 1475,1392,2980,35,277,512,1865,35,293,517, - 339,35,1045,32,2360,1432,41,30,31,1022, - 1015,614,1674,1865,1336,2198,3594,2446,35,1045, - 32,2863,1680,27,30,31,1022,1015,26,28, - 1870,25,23,50,1903,106,76,77,108,342, - 1909,614,1778,1386,287,1990,4093,1948,2003,1997, - 2057,2056,3256,2133,2091,2178,2185,143,360,512, - 2894,729,516,144,2086,4254,538,534,535,536, - 61,1494,2597,445,2321,2332,2416,2780,2658,2198, - 517,2782,35,1045,32,2863,1680,27,30,31, - 1022,1015,26,28,1870,25,23,50,1903,106, - 76,77,108,342,1909,74,1816,604,618,1990, - 1038,1948,2003,1997,2057,2056,1527,2133,2091,2178, - 2185,143,1891,35,395,3499,516,144,1374,4254, - 5640,537,534,535,536,1663,1401,1699,1475,2431, - 512,2863,1799,3338,517,429,35,1045,32,2818, - 1527,2496,30,31,1022,1015,563,2426,1265,3213, - 2198,2848,35,1045,32,1980,1680,27,30,31, - 1022,1015,26,28,1870,25,23,50,1903,106, - 76,77,108,1019,1909,3134,1896,322,884,1990, - 564,1948,2003,1997,2057,2056,530,2133,2091,2178, - 2185,143,288,3634,513,2053,378,144,3058,2512, - 35,1045,32,182,1680,27,30,31,1022,1015, - 26,28,1870,25,23,50,1903,106,76,77, - 108,3161,1909,2517,359,2863,2073,1990,2774,1948, - 2003,1997,2057,2056,527,2133,2091,2178,2185,143, - 2535,2495,2501,342,378,144,3058,2582,35,1045, - 32,344,1680,27,30,31,1022,1015,26,28, - 1870,25,23,50,1903,106,76,77,108,658, - 1909,614,1798,3470,2407,1990,4526,1948,2003,1997, - 2057,2056,324,2133,2091,2178,2185,143,384,1455, - 428,311,378,144,3058,2716,35,1045,32,1974, - 1680,27,30,31,1022,1015,26,28,1870,25, - 23,50,1903,106,76,77,108,1426,1909,3513, - 1494,35,293,1990,446,1948,2003,1997,2057,2056, - 1265,2133,2091,2178,2185,143,385,1455,1392,794, - 550,144,1494,35,282,3822,35,1045,32,3409, - 5636,27,30,31,1022,1015,56,28,2975,35, - 1045,32,3508,1680,27,30,31,1022,1015,26, - 28,1870,25,23,50,1903,106,76,77,108, - 437,1909,221,1801,376,1455,1990,4885,1948,2003, - 1997,2057,2056,1512,2133,2091,2178,2185,143,1494, - 35,1008,387,158,144,2975,35,1045,32,1401, - 1680,27,30,31,1022,1015,26,28,1870,25, - 23,50,1903,106,76,77,108,441,1909,455, - 2782,1942,2415,1990,1401,1948,2003,1997,2057,2056, - 49,2133,2091,2178,2185,143,1401,2356,1229,2523, - 372,144,2975,35,1045,32,1019,1680,27,30, - 31,1022,1015,26,28,1870,25,23,50,1903, - 106,76,77,108,614,1909,524,3401,548,4597, - 1990,1019,1948,2003,1997,2057,2056,2581,2133,2091, - 2178,2185,143,3028,60,2346,60,372,144,1661, - 4421,523,429,35,1045,32,446,3477,40,30, - 31,1022,1015,2680,2975,35,1045,32,1697,1680, - 27,30,31,1022,1015,26,28,1870,25,23, - 50,1903,106,76,77,108,1401,1909,1721,35, - 279,371,1990,2009,1948,2003,1997,2057,2056,1388, - 2133,2091,2178,2185,143,1494,35,1008,387,372, - 144,2716,35,1045,32,1401,1680,27,30,31, - 1022,1015,26,28,1870,25,23,50,1903,106, - 76,77,108,1019,1909,1494,35,3657,370,1990, - 3140,1948,2003,1997,2057,2056,49,2133,2091,2178, - 2185,143,885,375,1229,2494,550,144,2650,35, - 1045,32,3298,1680,27,30,31,1022,1015,26, - 28,1870,25,23,50,1903,106,76,77,108, - 2055,1909,1494,35,4536,4194,1990,2081,1948,2003, - 1997,2057,2056,974,2133,2091,2178,2185,143,2360, - 368,1494,3726,142,144,2975,35,1045,32,540, - 1680,27,30,31,1022,1015,26,28,1870,25, - 23,50,1903,106,76,77,108,352,1909,1494, - 35,1385,276,1990,921,1948,2003,1997,2057,2056, - 2059,2133,2091,2178,2185,143,1494,35,1008,387, - 155,144,2975,35,1045,32,373,1680,27,30, - 31,1022,1015,26,28,1870,25,23,50,1903, - 106,76,77,108,2158,1909,1494,35,1385,278, - 1990,975,1948,2003,1997,2057,2056,49,2133,2091, - 2178,2185,143,2435,549,1229,1737,154,144,2975, - 35,1045,32,321,1680,27,30,31,1022,1015, - 26,28,1870,25,23,50,1903,106,76,77, - 108,1401,1909,1494,35,1385,281,1990,2660,1948, - 2003,1997,2057,2056,617,2133,2091,2178,2185,143, - 1545,35,1008,387,153,144,2975,35,1045,32, - 75,1680,27,30,31,1022,1015,26,28,1870, - 25,23,50,1903,106,76,77,108,1019,1909, - 1494,35,293,1268,1990,1064,1948,2003,1997,2057, - 2056,49,2133,2091,2178,2185,143,2780,375,1229, - 2160,152,144,2975,35,1045,32,2338,1680,27, - 30,31,1022,1015,26,28,1870,25,23,50, - 1903,106,76,77,108,2158,1909,1494,35,1385, - 3656,1990,1268,1948,2003,1997,2057,2056,2817,2133, - 2091,2178,2185,143,1494,35,1008,387,151,144, - 2975,35,1045,32,496,1680,27,30,31,1022, - 1015,26,28,1870,25,23,50,1903,106,76, - 77,108,497,1909,2709,35,1385,276,1990,2285, - 1948,2003,1997,2057,2056,49,2133,2091,2178,2185, - 143,2844,3226,1229,724,150,144,2975,35,1045, - 32,3297,1680,27,30,31,1022,1015,26,28, - 1870,25,23,50,1903,106,76,77,108,1699, - 1909,459,3785,2863,2846,1990,3927,1948,2003,1997, - 2057,2056,380,2133,2091,2178,2185,143,1494,3637, - 1065,3213,149,144,2975,35,1045,32,2437,1680, - 27,30,31,1022,1015,26,28,1870,25,23, - 50,1903,106,76,77,108,2476,1909,1494,3730, - 1385,74,1990,3692,1948,2003,1997,2057,2056,1140, - 2133,2091,2178,2185,143,789,35,1008,387,148, - 144,2975,35,1045,32,2558,1680,27,30,31, - 1022,1015,26,28,1870,25,23,50,1903,106, - 76,77,108,60,1909,614,359,5421,1790,1990, - 5584,1948,2003,1997,2057,2056,273,2133,2091,2178, - 2185,143,3786,2495,2501,353,147,144,2975,35, - 1045,32,3425,1680,27,30,31,1022,1015,26, - 28,1870,25,23,50,1903,106,76,77,108, - 784,1909,2709,35,1385,3732,1990,2408,1948,2003, - 1997,2057,2056,2226,2133,2091,2178,2185,143,1494, - 35,1008,387,146,144,2975,35,1045,32,3672, - 1680,27,30,31,1022,1015,26,28,1870,25, - 23,50,1903,106,76,77,108,2158,1909,614, - 72,93,1268,1990,1774,1948,2003,1997,2057,2056, - 49,2133,2091,2178,2185,143,1419,334,1229,872, - 145,144,2975,35,1045,32,559,1680,27,30, - 31,1022,1015,26,28,1870,25,23,50,1903, - 106,76,77,108,2546,1909,1494,35,1385,3775, - 1990,1312,1948,2003,1997,2057,2056,70,2133,2091, - 2178,2185,143,1494,35,1008,387,159,144,2975, - 35,1045,32,2796,1680,27,30,31,1022,1015, - 26,28,1870,25,23,50,1903,106,76,77, - 108,458,1909,1435,60,3256,1268,1990,752,1948, - 2003,1997,2057,2056,273,2133,2091,2178,2185,143, - 1891,35,1539,3983,140,144,3102,35,1045,32, - 2338,1680,27,30,31,1022,1015,26,28,1870, - 25,23,50,1903,106,76,77,108,1781,1909, - 1891,35,395,2047,1990,1328,1948,2003,1997,2057, - 2056,49,2133,2091,2178,2185,143,2239,2656,1229, - 1522,189,144,3459,35,1045,32,275,1680,27, - 30,31,1022,1015,26,28,1870,25,23,50, - 1903,106,76,77,108,325,1909,1494,35,1008, - 387,1990,1392,1948,2003,1997,2057,2056,2411,2133, - 2091,2178,2388,164,3459,35,1045,32,3425,1680, - 27,30,31,1022,1015,26,28,1870,25,23, - 50,1903,106,76,77,108,2743,1909,451,60, - 355,303,1990,1220,1948,2003,1997,2057,2056,530, - 2133,2091,2178,2388,164,429,35,1045,32,870, - 2645,3724,30,31,1022,1015,3794,3459,35,1045, - 32,422,1680,27,30,31,1022,1015,26,28, - 1870,25,23,50,1903,106,76,77,108,557, - 1909,3071,60,2361,2597,1990,816,1948,2003,1997, - 2057,2056,1662,2133,2091,2178,2388,164,3459,35, - 1045,32,292,1680,27,30,31,1022,1015,26, - 28,1870,25,23,50,1903,106,76,77,108, - 244,1909,3007,60,542,1621,1990,897,1948,2003, - 1997,2057,2056,71,2133,2091,2178,2388,164,1494, - 35,1008,387,566,538,534,535,536,1409,2158, - 2434,3459,35,1045,32,3592,1680,27,30,31, - 1022,1015,26,28,1870,25,23,50,1903,106, - 76,77,108,60,1909,1392,1387,1017,377,1990, - 430,1948,2003,1997,2057,2056,1618,2133,2091,2178, - 2388,164,3518,35,1045,32,421,1680,27,30, - 31,1022,1015,26,28,1870,25,23,50,1903, - 106,76,77,108,287,1909,1688,35,452,302, - 1990,5604,1948,2003,1997,2057,2056,2239,2133,2091, - 2178,2388,164,1466,35,1045,32,3687,4106,27, - 30,31,1022,1015,338,28,522,3408,2658,424, - 1494,35,1008,387,964,1755,1392,537,534,535, - 536,3100,1329,35,2794,32,3687,4106,27,30, - 31,1022,1015,338,28,4430,2748,2622,537,534, - 535,536,5656,1907,35,277,537,534,535,536, - 4048,433,318,1085,320,2158,2600,313,624,1321, - 299,296,331,842,3070,3842,35,1045,32,2883, - 3437,27,30,31,1022,1015,26,28,1392,510, - 2390,318,1085,320,3351,614,313,624,1321,4270, - 5660,331,611,3459,35,1045,32,1157,1680,27, - 30,31,1022,1015,26,28,1870,25,23,50, - 1903,106,76,77,108,1616,1909,1266,4270,1449, - 514,1990,560,1948,3060,305,309,985,1675,35, - 1045,32,3322,3437,27,30,31,1022,1015,58, - 28,3161,418,2781,538,534,535,536,552,1228, - 1907,35,280,449,2321,2332,3459,35,1045,32, - 1283,1680,27,30,31,1022,1015,26,28,1870, - 25,23,50,1903,106,76,77,108,3101,1909, - 1494,35,1008,387,1990,1510,1948,2003,1997,2057, - 2056,60,2133,2091,3303,4460,3459,35,1045,32, - 3165,1680,27,30,31,1022,1015,26,28,1870, - 25,23,50,1903,106,76,77,108,2047,1909, - 2451,273,1663,3467,1990,1544,1948,2003,1997,2057, - 2056,2472,2133,3285,3459,35,1045,32,2473,1680, - 27,30,31,1022,1015,26,28,1870,25,23, - 50,1903,106,76,77,108,522,1909,1494,35, - 1008,387,1990,154,1948,2003,1997,2057,2056,403, - 3210,2252,35,1045,32,2617,4106,27,30,31, - 1022,1015,338,28,339,694,2158,537,534,535, - 536,2544,2738,3108,3138,537,534,535,536,49, - 2239,2675,60,555,1976,2765,4463,46,5444,538, - 534,535,536,5154,2680,569,2158,2321,35,1045, - 32,3687,2832,27,30,31,1022,1015,338,28, - 318,1085,320,350,3427,314,624,1321,1054,3256, - 332,537,534,535,536,539,2169,2738,1293,35, - 1008,387,1293,35,1008,387,389,60,351,4603, - 426,1248,538,534,535,536,2158,42,2289,2682, - 345,1878,1480,348,284,3427,318,1085,320,2808, - 2962,313,624,3577,35,1008,387,842,2828,49, - 60,351,2389,49,4534,558,237,1229,1189,541, - 1621,1229,799,343,1878,1480,348,576,534,535, - 536,3528,2886,2473,60,2473,2103,60,793,2841, - 2660,1248,44,2289,273,3459,35,1045,32,2084, - 1680,27,30,31,1022,1015,26,28,1870,25, - 23,50,1903,106,76,77,108,3163,1909,305, - 309,985,3780,1990,232,1948,2003,1997,2057,3276, - 2571,35,1045,32,3687,2832,27,30,31,1022, - 1015,338,28,3913,354,60,235,230,231,3093, - 1523,2683,60,530,1283,88,2718,274,102,2158, - 3174,35,1045,32,3687,2832,27,30,31,1022, - 1015,338,28,3672,1585,537,534,535,536,242, - 245,248,251,3627,537,534,535,536,5282,318, - 1085,320,593,2600,313,624,89,2262,1230,102, - 1614,390,4603,392,60,426,521,426,2893,1302, - 3269,3061,3065,3281,3341,4717,2067,2390,60,318, - 1085,320,2323,1392,313,624,3459,35,1045,32, - 842,1680,27,30,31,1022,1015,26,28,1870, - 25,23,50,1903,106,76,77,108,60,1909, - 2303,1283,3083,2362,1990,1680,1948,2003,1997,3184, - 1956,35,2794,32,3687,2832,27,30,31,1022, - 1015,338,28,2239,2352,576,534,535,536,576, - 534,535,536,2551,3489,534,535,536,1494,35, - 1008,387,306,309,985,2552,2686,1849,3282,35, - 1045,32,3170,1680,27,30,31,1022,1015,26, - 28,1870,25,23,50,1903,573,76,77,318, - 1085,320,232,60,313,624,232,2895,1268,432, - 611,2082,35,2794,32,3687,2832,27,30,31, - 1022,1015,338,28,244,230,231,381,247,230, - 231,1144,2473,2158,3204,537,534,535,536,2304, - 2173,35,2794,32,3687,2832,27,30,31,1022, - 1015,338,28,3170,424,537,534,535,536,3345, - 418,2781,24,2953,3489,534,535,536,327,334, - 318,1085,320,3353,2551,313,624,2941,2614,2812, - 3085,611,3170,1981,35,1045,32,3867,2832,27, - 30,31,1022,1015,338,28,1392,5357,60,318, - 1085,320,1248,3366,313,624,3459,35,1045,32, - 611,1680,27,30,31,1022,1015,26,28,1870, - 25,23,50,1903,106,76,77,108,2158,1909, - 3491,418,2781,156,1990,1392,1948,2003,3208,3731, - 298,3469,318,1085,320,3204,2213,313,624,1392, - 391,1770,239,2771,426,2538,2741,570,60,3345, - 418,2781,3162,576,534,535,536,60,60,3499, - 351,2892,1041,2031,5640,576,534,535,536,333, - 334,3162,343,1878,1480,348,3459,35,1045,32, - 2711,1680,27,30,31,1022,1015,26,28,1870, - 25,23,50,1903,106,76,77,108,271,1909, - 232,1863,589,3218,1990,1536,1948,2003,3209,91, - 60,60,232,1300,3443,3649,1494,35,1008,387, - 228,3251,240,230,231,576,534,535,536,537, - 534,535,536,156,250,230,231,538,534,535, - 536,3606,180,2814,60,1019,3717,3639,5666,203, - 215,5428,202,212,213,214,216,431,2779,60, - 575,614,1248,1849,3268,169,5711,2517,2239,2845, - 365,168,232,183,167,170,171,172,173,174, - 3239,35,1045,32,5496,2832,27,30,31,1022, - 1015,338,28,156,253,230,231,1494,35,1008, - 387,3749,200,2551,3309,3459,35,1045,32,350, - 1680,27,30,31,1022,1015,26,28,1870,25, - 23,50,1903,106,76,77,108,2878,1909,1268, - 75,1268,3314,1990,429,1948,3084,2750,49,318, - 1085,320,285,1690,313,624,1229,2160,1,2138, - 1614,2265,589,3713,35,1045,32,2502,2832,27, - 30,31,1022,1015,338,28,544,351,3185,1449, - 228,401,2863,3168,3204,537,534,535,536,343, - 1878,1480,348,156,2886,3315,3316,3528,2158,3488, - 342,3606,180,3353,3348,1019,3368,402,553,203, - 215,5428,202,212,213,214,216,60,329,334, - 575,3233,315,1068,320,169,1852,349,51,3373, - 97,168,181,184,167,170,171,172,173,174, - 3459,35,1045,32,181,1680,27,30,31,1022, - 1015,26,28,1870,25,23,50,1903,106,76, - 77,108,3246,1909,1588,35,1008,387,1990,1996, - 1948,3105,3459,35,1045,32,1392,1680,27,30, - 31,1022,1015,26,28,1870,25,23,50,1903, - 106,76,77,108,361,1909,2158,1993,589,1392, - 1990,2158,1948,3106,60,49,1756,3213,3524,2746, - 2863,2158,379,1229,47,2158,228,2814,521,2551, - 179,537,534,535,536,69,3374,3375,3213,156, - 68,986,1210,538,534,535,536,3606,180,661, - 53,1019,1577,198,574,203,215,5428,202,212, - 213,214,216,1593,451,3366,575,1280,589,2158, - 1392,169,1445,554,2158,2612,3547,168,3407,3599, - 167,170,171,172,173,174,228,537,534,535, - 536,537,534,535,536,3002,2158,3367,572,156, - 3204,2158,2599,87,1392,922,1392,3606,180,2600, - 3225,1019,2822,504,197,203,215,5428,202,212, - 213,214,216,3250,541,52,575,1280,589,1392, - 450,169,1445,1321,3810,334,331,168,3001,178, - 167,170,171,172,173,174,228,3436,405,2551, - 201,537,534,535,536,3437,2158,502,503,156, - 2158,60,2551,4298,1392,2863,2158,3606,180,2600, - 1161,1019,3426,199,3469,203,215,5428,202,212, - 213,214,216,342,631,3850,575,1280,589,90, - 60,169,1445,1321,932,3910,331,168,6401,176, - 167,170,171,172,173,174,228,2150,4458,4254, - 6401,537,534,535,536,2855,2158,6401,3717,156, - 3204,60,6401,3987,2826,2863,1364,3606,180,2600, - 60,1019,6401,3204,3769,203,215,5428,202,212, - 213,214,216,342,721,3934,575,1280,589,2158, - 6401,169,1445,1321,3970,334,331,168,893,177, - 167,170,171,172,173,174,228,4022,334,4254, - 6401,537,534,535,536,6401,2158,6401,3864,156, - 2158,3132,60,5548,2849,2863,2797,3606,180,2600, - 60,1019,6401,1392,3782,203,215,5428,202,212, - 213,214,216,342,811,3924,575,1280,589,3984, - 529,169,1445,1321,60,6401,331,168,3685,187, - 167,170,171,172,173,174,228,6401,6401,4254, - 6401,537,534,535,536,6401,2158,222,3066,156, - 2158,2158,4066,2751,532,2158,2158,3606,180,2600, - 60,1019,6401,1392,2135,203,215,5428,202,212, - 213,214,216,1421,901,67,575,3772,589,66, - 65,169,1445,1321,64,1299,5555,168,6401,3792, - 167,170,171,172,173,174,228,537,534,535, - 536,537,534,535,536,2158,2158,193,2158,156, - 3038,2158,60,6401,1248,2765,2819,3606,180,2600, - 1727,1019,6401,6401,2863,203,215,5428,202,212, - 213,214,216,6401,1324,55,575,54,1268,6401, - 3973,169,228,1321,3038,160,332,168,1248,192, - 167,170,171,172,173,174,3219,35,1045,32, - 3867,2832,27,30,31,1022,1015,338,28,94, - 6401,205,215,5428,204,212,213,214,216,160, - 6401,6401,575,1872,35,1008,387,60,6401,6401, - 3014,2863,6401,6401,6401,6401,1293,35,1008,387, - 6401,4140,206,208,210,294,295,2158,714,342, - 217,207,209,3641,6401,318,1085,320,991,3035, - 313,624,589,2863,49,2158,525,98,6401,13, - 3005,4826,1229,47,6401,4254,101,49,60,6401, - 228,342,2863,351,2779,1229,2961,3716,589,6401, - 2859,1025,6401,156,4188,343,1878,1480,348,528, - 342,3606,180,526,2660,1019,3902,3958,6401,203, - 215,5428,202,212,213,214,216,3038,1081,156, - 575,1248,589,6401,154,169,4254,3606,180,6401, - 6401,168,6401,186,167,170,171,172,173,174, - 228,2899,6401,6401,6401,6401,663,6401,537,534, - 535,536,160,156,3038,3038,60,195,1248,1248, - 2863,3606,180,6401,6401,1019,2765,6401,6401,203, - 215,5428,202,212,213,214,216,6401,342,60, - 575,6401,6401,1248,2539,169,6401,6401,3807,160, - 160,168,6401,194,167,170,171,172,173,174, - 2413,35,1045,32,4254,4106,27,30,31,1022, - 1015,338,28,60,156,6401,6401,1248,6401,508, - 3721,6401,3286,6401,537,534,535,536,2413,35, - 1045,32,6401,4106,27,30,31,1022,1015,338, - 28,3133,2600,6401,6401,6401,6401,60,156,6401, - 6401,1248,537,534,535,536,3956,4016,4018,318, - 1085,320,6401,6401,316,624,1321,6401,4015,332, - 5154,351,6401,6401,6401,6401,6401,4449,196,6401, - 6401,6401,156,343,1878,1480,348,318,1085,320, - 3960,341,314,624,1321,6401,6401,332,3459,35, - 1045,32,6401,1680,27,30,31,1022,1015,26, - 28,1870,25,23,50,1903,106,76,77,108, - 6401,1909,6401,3038,6401,6401,1990,1248,3107,3459, - 35,1045,32,6401,1680,27,30,31,1022,1015, - 26,28,1870,25,23,50,1903,106,76,77, - 108,1911,1909,6401,6401,2863,6401,1990,160,3169, - 2229,35,1045,32,3687,2832,27,30,31,1022, - 1015,338,28,228,6401,6401,6401,6401,6401,2882, - 6401,6401,6401,589,538,534,535,536,3067,6401, - 1756,6401,1248,2002,2863,6401,6401,2863,6401,6401, - 6401,342,205,215,5428,204,212,213,214,216, - 6401,6401,3213,575,156,228,6401,6401,6401,318, - 1085,320,188,156,313,624,4117,5269,60,6401, - 987,162,1248,206,208,210,294,295,6401,714, - 6401,217,207,209,205,215,5428,204,212,213, - 214,216,6401,6401,6401,575,1872,35,1008,387, - 671,6401,4826,156,2093,6401,2071,6401,2863,6401, - 6401,3961,6401,6401,6401,206,208,210,294,295, - 6401,714,6401,217,207,209,228,504,6401,190, - 537,534,535,536,6401,6401,6401,49,6401,6401, - 6401,6401,2197,60,4826,1229,47,2863,2765,6401, - 6401,6401,6401,6401,6401,205,215,5428,204,212, - 213,214,216,6401,2630,342,575,1293,35,1008, - 387,501,503,3174,35,1045,32,3687,2832,27, - 30,31,1022,1015,338,28,206,208,210,294, - 295,4254,714,6401,217,207,209,538,534,535, - 536,6401,6401,6401,6401,6401,506,6401,49,6401, - 2516,3784,6401,2467,6401,4826,1229,47,4135,6401, - 6401,6401,6401,3288,6401,6401,6401,6401,6401,6401, - 6401,6401,318,1085,320,1232,6401,313,624,3459, - 35,1045,32,987,1680,27,30,31,1022,1015, - 26,28,1870,25,23,50,1903,106,76,77, - 108,6401,1909,3459,35,1045,32,2984,1680,27, - 30,31,1022,1015,26,28,1870,25,23,50, - 1903,106,76,77,108,6401,1909,3627,35,1008, - 387,3007,2828,6401,6401,6401,6401,6401,6401,6401, - 238,6401,6401,6401,6401,6401,6401,6401,6401,6401, - 6401,576,534,535,536,6401,6401,6401,6401,6401, - 6401,6401,6401,6401,3459,35,1045,32,273,1680, - 27,30,31,1022,1015,26,28,1870,25,23, - 50,1903,106,76,77,108,6401,3019,6401,60, - 6401,6401,6401,1248,3459,35,1045,32,232,1680, - 27,30,31,1022,1015,26,28,1870,25,23, - 50,1903,106,76,77,108,6401,3026,6401,1820, - 236,230,231,2863,156,60,60,6401,6401,1248, - 1248,274,3965,6401,6401,6401,1634,6401,6401,6401, - 2863,228,6401,6401,6401,6401,6401,6401,6401,6401, - 6401,6401,6401,243,246,249,252,3627,228,6401, - 156,156,6401,6401,6401,6401,593,6401,3471,4021, - 205,215,5428,204,212,213,214,216,2184,6401, - 6401,575,2863,6401,6401,6401,6401,205,215,5428, - 204,212,213,214,216,2275,6401,6401,575,2863, - 228,206,208,210,294,295,6401,714,6401,518, - 207,209,6401,6401,6401,6401,6401,228,206,208, - 210,294,295,6401,714,6401,218,207,209,205, - 215,5428,204,212,213,214,216,6401,6401,6401, - 575,6401,6401,6401,6401,6401,205,215,5428,204, - 212,213,214,216,6401,6401,6401,575,6401,6401, - 206,208,210,294,295,6401,714,6401,519,207, - 209,6401,6401,6401,6401,6401,6401,206,208,210, - 294,295,6401,714,6401,304,207,209,3459,35, - 1045,32,6401,1680,27,30,31,1022,1015,26, - 28,1870,25,23,50,1903,106,76,77,85, - 3459,1439,1045,2665,6401,1680,27,30,31,1022, - 1015,26,28,1870,25,23,50,1903,106,76, - 77,84,3459,35,1045,32,6401,1680,27,30, - 31,1022,1015,26,28,1870,25,23,50,1903, - 106,76,77,83,3459,35,1045,32,6401,1680, - 27,30,31,1022,1015,26,28,1870,25,23, - 50,1903,106,76,77,82,3459,35,1045,32, - 6401,1680,27,30,31,1022,1015,26,28,1870, - 25,23,50,1903,106,76,77,81,3459,35, - 1045,32,6401,1680,27,30,31,1022,1015,26, - 28,1870,25,23,50,1903,106,76,77,80, - 3459,35,1045,32,6401,1680,27,30,31,1022, - 1015,26,28,1870,25,23,50,1903,106,76, - 77,79,3459,35,1045,32,6401,1680,27,30, - 31,1022,1015,26,28,1870,25,23,50,1903, - 106,76,77,78,3191,35,1045,32,6401,2832, - 27,30,31,1022,1015,338,28,6401,6401,6401, - 6401,6401,6401,6401,6401,6401,6401,6401,538,534, - 535,536,3041,35,1045,32,6401,1680,27,30, - 31,1022,1015,26,28,1870,25,23,50,1903, - 106,76,77,104,6401,6401,6401,6401,6401,6401, - 6401,6401,6401,318,1085,320,6401,6401,587,624, - 3459,35,1045,32,6401,1680,27,30,31,1022, - 1015,26,28,1870,25,23,50,1903,106,76, - 77,110,3459,35,1045,32,6401,1680,27,30, - 31,1022,1015,26,28,1870,25,23,50,1903, - 106,76,77,109,2366,6401,6401,6401,2863,3832, - 35,1045,32,3687,2832,27,30,31,1022,1015, - 338,28,3459,35,1045,32,228,1680,27,30, - 31,1022,1015,26,28,1870,25,23,50,1903, - 106,76,77,107,6401,6401,6401,6401,6401,6401, - 6401,6401,6401,6401,6401,205,215,5428,204,212, - 213,214,216,6401,6401,6401,575,6401,318,1085, - 320,6401,6401,313,624,6401,6401,6401,6401,3743, - 6401,6401,6401,6401,6401,6401,206,208,210,294, - 295,6401,714,6401,498,207,209,3459,35,1045, - 32,6401,1680,27,30,31,1022,1015,26,28, - 1870,25,23,50,1903,106,76,77,105,3341, - 35,1045,32,6401,1680,27,30,31,1022,1015, - 26,28,1870,25,23,50,1903,571,76,77, - 3400,35,1045,32,6401,1680,27,30,31,1022, - 1015,26,28,1870,25,23,50,1903,86,76, - 77,1237,6401,6401,6401,2863,1586,6401,2163,35, - 1045,32,2473,2832,27,30,31,1022,1015,338, - 28,6401,1346,228,2343,6401,2863,1586,2863,1445, - 6401,6401,6401,6401,60,6401,6401,6401,2863,6401, - 6401,6401,6401,6401,228,6401,3213,6401,537,534, - 535,536,2705,406,3493,6401,342,6401,6401,6401, - 6401,6401,6401,6401,6401,6401,2600,315,1068,320, - 6401,6401,6401,2705,406,3493,2343,6401,6401,6401, - 2863,1445,4254,407,408,409,294,295,6401,714, - 1321,6401,6401,331,6401,60,6401,3836,3213,2863, - 537,534,535,536,407,408,409,294,295,1633, - 714,6401,6401,6401,6401,6401,6401,342,2600,6401, - 5548,359,6401,6401,6401,6401,6401,6401,1564,6401, - 1633,6401,6401,1445,6401,3798,6401,3776,2495,2501, - 1445,6401,1321,4254,6401,331,6401,6401,6401,6401, - 6401,6401,537,534,535,536,6401,6401,533,537, - 534,535,536,6401,2266,35,1008,387,6401,6401, - 2600,6401,2751,359,410,412,986,2600,6401,6401, - 6401,6401,6401,6401,1293,35,1008,387,6401,3776, - 2495,2501,6401,6401,1321,410,413,332,6401,6401, - 713,1321,6401,5442,5555,49,1702,35,1008,387, - 6401,6401,6401,1229,47,351,1872,35,1008,387, - 1293,35,1008,387,6401,49,6401,345,1878,1480, - 348,6401,1710,1229,47,6401,1293,35,1008,387, - 1293,35,1008,387,6401,6401,3068,49,6401,6401, - 2863,6401,2227,6401,6401,1229,3193,49,6401,6401, - 6401,49,6401,6401,6401,1229,3207,6401,3213,1229, - 47,6401,6401,6401,2103,60,60,49,6401,589, - 589,49,6401,6401,1915,1229,47,96,2379,1229, - 47,1293,35,1008,387,6401,6401,342,342,60, - 6401,6401,6401,589,2490,6401,6401,6401,3098,60, - 156,156,6401,589,6401,6401,6401,6401,3163,3631, - 6401,342,6401,4254,4254,6401,60,6401,6401,6401, - 589,342,49,60,156,6401,6401,589,2969,3626, - 1229,47,3163,504,156,6401,6401,4254,342,60, - 6401,6401,3163,589,6401,342,60,4254,6401,3356, - 589,156,3645,6401,6401,6401,6401,6401,156,3163, - 6401,342,3689,6401,4254,6401,188,6401,342,6401, - 6401,5269,6401,6401,156,6401,6401,501,503,3694, - 6401,156,188,6401,6401,6401,6401,5269,6401,188, - 6401,6401,6401,6401,5269,6401,6401,6401,6401,6401, - 6401,6401,6401,6401,6401,6401,6401,6401,6401,6401, - 6401,6401,6401,6401,6401,6401,3647,6401,6401,6401, - 6401,6401,6401,6401,6401,6401,6401,6401,6401,6401, - 6401,6401,6401,3869,6401,6401,6401,6401,6401,6401, - 6401,6401,6401,6401,6401,6401,6401,6401,6401,3896, - 6401,6401,6401,6401,6401,6401,3900,6401,0,1, - 229,727,0,500,4809,0,1,229,0,39, - 6416,0,39,6415,0,1,2940,0,880,1, - 0,39,1,6416,0,39,1,6415,0,1, - 1111,0,1,857,0,229,219,0,779,223, - 0,805,223,0,840,223,0,779,224,0, - 805,224,0,840,224,0,779,225,0,805, - 225,0,840,225,0,840,393,0,805,393, - 0,779,393,0,283,393,0,779,226,0, - 805,226,0,840,226,0,283,286,0,779, - 227,0,805,227,0,840,227,0,6635,241, - 0,6634,241,0,779,241,0,805,241,0, - 840,241,0,6738,241,0,6737,241,0,6662, - 241,0,6661,241,0,6660,241,0,6659,241, - 0,6658,241,0,6657,241,0,6656,241,0, - 6655,241,0,6673,241,0,6672,241,0,6671, - 241,0,6670,241,0,6669,241,0,6668,241, - 0,6667,241,0,6666,241,0,6665,241,0, - 6664,241,0,6663,241,0,39,241,6416,0, - 39,241,6415,0,6439,241,0,2134,386,0, - 6416,48,0,6415,48,0,1,840,0,1, - 805,0,1,779,0,1,330,0,38,857, - 0,38,6416,0,38,6415,0,453,2322,0, - 439,2363,0,2134,29,0,6413,1,0,840, - 584,0,805,584,0,779,584,0,588,584, - 0,588,583,0,2413,317,0,1,586,0, - 1,443,0,457,1762,0,456,2042,0,35, - 33,0,47,37,0,229,220,0,500,1668, - 0,6439,1,229,0,39,1,229,0,229, - 415,0,1,2039,0,1,6673,0,1,6672, - 0,1,6671,0,1,6670,0,1,6669,0, - 1,6668,0,1,6667,0,1,6666,0,1, - 6665,0,1,6664,0,1,6663,0,6416,37, - 0,6415,37,0,43,6437,0,43,37,0, - 6413,382,0,6412,382,0,1,679,0,1, - 1002,0,6411,404,0,6410,404,0,229,414, - 0,3570,126,0,6409,1,0,840,444,0, - 805,444,0,779,444,0,330,444,0,6407, - 1,0,6406,1,0,2897,91,0,32,34, - 0,39,857,0,6437,45,0,37,45,0, - 1,229,3343,0,6410,229,0,3349,229,0, - 6439,1,0,39,1,0,237,4020,0,387, - 32,0,386,29,0,3570,128,0,3570,127, - 0,3574,229,0,10,12,0,840,581,0, - 805,581,0,779,581,0,840,580,0,805, - 580,0,779,580,0,537,538,0,1,92, - 0,8,10,12,0,840,581,582,0,805, - 581,582,0,779,581,582,0,581,582,0, - 6416,2,37,0,6415,2,37,0,6416,36, - 0,6415,36,0,3758,382,0,840,95,0, - 805,95,0,779,95,0,330,95,0,35, - 73,0,8,12,0,278,4224,0,185,4128, - 0 + 109,55,196,22,22,22,22,53,53,93, + 93,93,93,93,162,162,163,163,163,163, + 163,158,158,158,159,159,159,160,160,160, + 161,161,161,94,94,94,94,94,95,95, + 95,13,13,13,13,13,13,13,13,13, + 13,13,104,129,129,129,129,129,129,127, + 127,127,164,128,128,197,166,166,165,165, + 131,131,112,84,84,85,86,57,52,167, + 167,58,92,92,168,168,157,157,132,133, + 133,134,71,71,169,169,64,64,64,60, + 60,59,65,65,87,87,69,69,69,66, + 96,96,106,105,105,70,70,61,61,63, + 63,48,107,107,107,99,99,99,100,100, + 101,101,101,102,102,113,113,113,115,115, + 114,114,220,220,97,97,199,199,199,199, + 199,136,51,51,171,198,198,137,137,137, + 137,138,173,200,200,41,41,126,139,139, + 139,139,202,117,116,116,130,130,130,174, + 175,175,175,175,175,175,175,175,175,175, + 175,204,204,201,201,203,203,119,120,120, + 120,120,121,205,122,118,118,206,206,176, + 176,176,176,108,108,108,207,207,8,8, + 9,208,208,209,177,170,170,178,178,179, + 180,180,7,7,10,210,210,210,210,210, + 210,210,210,210,210,210,210,210,210,210, + 210,210,210,210,210,210,210,210,210,210, + 210,210,210,210,210,210,210,210,210,210, + 210,210,210,210,210,210,210,82,88,88, + 181,181,141,141,142,142,142,142,142,142, + 3,143,143,140,140,123,123,91,83,81, + 172,172,124,124,211,211,211,144,144,135, + 135,212,212,24,24,24,42,42,25,25, + 213,213,182,182,182,183,183,214,214,184, + 184,26,26,215,215,185,185,185,27,62, + 216,216,217,217,186,186,186,145,145,145, + 18,18,18,18,146,187,187,187,22,56, + 93,134,134,134,119,119,119,197,202,117, + 66,71,164,13,13,22,1449,35,2769,2763, + 1181,5701,27,30,31,1022,895,26,28,2780, + 25,23,50,1617,106,76,77,108,1336,2223, + 580,533,534,535,2265,1176,2240,2287,2280,2406, + 1798,2317,2445,2444,2463,2468,143,272,3170,2878, + 1314,158,144,1598,35,2972,32,3733,5602,27, + 30,31,1022,895,337,28,1283,35,278,1797, + 77,872,537,533,534,535,231,536,533,534, + 535,261,2130,35,1040,32,3733,3640,27,30, + 31,1022,895,337,28,3162,2534,1574,2738,234, + 229,230,533,1574,35,281,537,533,534,535, + 273,2629,317,1173,319,5111,3539,312,721,1652, + 596,172,330,1260,751,877,536,533,534,535, + 1955,2175,241,244,247,250,2894,3060,3836,1574, + 3838,317,1173,319,1408,778,312,721,436,4316, + 156,2268,575,2971,537,533,534,535,2211,3576, + 180,3812,2505,2416,4165,4576,5494,5536,4469,3672, + 2225,2738,3176,417,2948,3298,35,1040,32,2363, + 5677,27,30,31,1022,895,57,28,1267,195, + 2878,1193,292,5570,2632,35,1040,32,2664,5506, + 27,30,31,1022,895,26,28,1572,25,23, + 50,1617,106,76,77,108,341,2223,322,2740, + 1574,3693,2265,4139,2240,2287,2280,2406,287,2317, + 2445,2444,2463,2468,143,1650,1150,1598,1174,515, + 144,1431,2616,3360,35,1040,32,1795,5677,27, + 30,31,1022,895,56,28,3155,516,2632,35, + 1040,32,2664,5506,27,30,31,1022,895,26, + 28,1572,25,23,50,1617,106,76,77,108, + 341,2223,1574,35,828,386,2265,445,2240,2287, + 2280,2406,1693,2317,2445,2444,2463,2468,143,42, + 2470,286,1284,515,144,2451,2616,1574,1788,1763, + 34,5695,196,1415,3479,35,276,511,2878,35, + 292,516,2716,49,565,61,1049,1574,35,828, + 386,1261,1369,1267,2216,3053,2748,2469,2035,2632, + 35,1040,32,2664,5506,27,30,31,1022,895, + 26,28,1572,25,23,50,1617,106,76,77, + 108,341,2223,3275,625,1598,419,2265,450,2240, + 2287,2280,2406,3600,2317,2445,2444,2463,2468,143, + 3042,511,221,2049,515,144,2042,2616,537,533, + 534,535,1356,60,1283,35,451,1321,2651,5687, + 3680,2469,516,2998,35,1040,32,2664,5506,27, + 30,31,1022,895,26,28,1572,25,23,50, + 1617,106,76,77,108,341,2223,326,333,441, + 1284,2265,2639,2240,2287,2280,2406,1988,2317,2445, + 2444,2463,2468,143,1574,35,292,1931,515,144, + 2885,2616,5707,536,533,534,535,1488,1267,3109, + 66,1398,511,2664,445,4438,516,2875,35,1040, + 32,954,496,41,30,31,1022,895,562,2654, + 3275,341,2469,3074,35,1040,32,520,5506,27, + 30,31,1022,895,26,28,1572,25,23,50, + 1617,106,76,77,108,3042,2223,1741,2774,1667, + 2918,2265,445,2240,2287,2280,2406,2049,2317,2445, + 2444,2463,2468,143,1354,523,512,3533,377,144, + 3039,2709,35,1040,32,2146,5506,27,30,31, + 1022,895,26,28,1572,25,23,50,1617,106, + 76,77,108,3811,2223,1553,1887,2664,262,2265, + 66,2240,2287,2280,2406,4544,2317,2445,2444,2463, + 2468,143,444,2603,2609,341,377,144,3039,2784, + 35,1040,32,2627,5506,27,30,31,1022,895, + 26,28,1572,25,23,50,1617,106,76,77, + 108,2443,2223,1306,520,2185,458,2265,3780,2240, + 2287,2280,2406,660,2317,2445,2444,2463,2468,143, + 383,1518,3230,427,377,144,3039,2922,35,1040, + 32,2177,5506,27,30,31,1022,895,26,28, + 1572,25,23,50,1617,106,76,77,108,3318, + 2223,539,2328,3531,1611,2265,66,2240,2287,2280, + 2406,5608,2317,2445,2444,2463,2468,143,384,1518, + 323,158,549,144,1574,35,828,386,2952,35, + 1040,32,1770,3694,2028,30,31,1022,895,445, + 3202,35,1040,32,1267,5506,27,30,31,1022, + 895,26,28,1572,25,23,50,1617,106,76, + 77,108,2819,2223,66,272,375,1518,2265,5632, + 2240,2287,2280,2406,1267,2317,2445,2444,2463,2468, + 143,1574,35,4364,3154,158,144,3202,35,1040, + 32,2214,5506,27,30,31,1022,895,26,28, + 1572,25,23,50,1617,106,76,77,108,2701, + 2223,440,3533,454,3696,2265,2716,2240,2287,2280, + 2406,2889,2317,2445,2444,2463,2468,143,274,2080, + 35,276,371,144,3202,35,1040,32,3111,5506, + 27,30,31,1022,895,26,28,1572,25,23, + 50,1617,106,76,77,108,3303,2223,1574,35, + 3332,547,2265,717,2240,2287,2280,2406,901,2317, + 2445,2444,2463,2468,143,2952,35,1040,32,371, + 144,40,30,31,1022,895,1356,537,533,534, + 535,3442,537,533,534,535,2505,3202,35,1040, + 32,1790,5506,27,30,31,1022,895,26,28, + 1572,25,23,50,1617,106,76,77,108,66, + 2223,332,333,370,5783,2265,66,2240,2287,2280, + 2406,5644,2317,2445,2444,2463,2468,143,1574,35, + 1763,275,371,144,2922,35,1040,32,1267,5506, + 27,30,31,1022,895,26,28,1572,25,23, + 50,1617,106,76,77,108,88,2223,2047,102, + 369,2049,2265,1267,2240,2287,2280,2406,1267,2317, + 2445,2444,2463,2468,143,3422,3423,2812,3234,549, + 144,3142,35,1040,32,3042,5506,27,30,31, + 1022,895,26,28,1572,25,23,50,1617,106, + 76,77,108,2662,2223,374,320,552,5713,2265, + 3042,2240,2287,2280,2406,3423,2317,2445,2444,2463, + 2621,164,2956,367,2812,2251,2846,35,1040,32, + 522,5506,27,30,31,1022,895,26,28,1572, + 25,23,50,1617,106,76,77,108,246,2223, + 457,3363,4498,495,2265,2664,2240,2287,2280,2406, + 2049,2317,2445,2444,2463,2468,143,2992,1271,66, + 325,142,144,3234,5730,3202,35,1040,32,1847, + 5506,27,30,31,1022,895,26,28,1572,25, + 23,50,1617,106,76,77,108,3363,2223,296, + 246,2664,1381,2265,5449,2240,2287,2280,2406,372, + 2317,2445,2444,2463,2468,143,2456,2916,548,3234, + 155,144,3202,35,1040,32,1784,5506,27,30, + 31,1022,895,26,28,1572,25,23,50,1617, + 106,76,77,108,2812,2223,2075,246,358,5292, + 2265,784,2240,2287,2280,2406,310,2317,2445,2444, + 2463,2468,143,553,3079,2678,2679,154,144,3202, + 35,1040,32,558,5506,27,30,31,1022,895, + 26,28,1572,25,23,50,1617,106,76,77, + 108,2693,2223,2184,358,3973,2601,2265,1415,2240, + 2287,2280,2406,2049,2317,2445,2444,2463,2468,143, + 3832,2678,2679,3542,153,144,3202,35,1040,32, + 1267,5506,27,30,31,1022,895,26,28,1572, + 25,23,50,1617,106,76,77,108,1197,2223, + 1574,35,1763,277,2265,66,2240,2287,2280,2406, + 5758,2317,2445,2444,2463,2468,143,1574,35,1763, + 280,152,144,3202,35,1040,32,3042,5506,27, + 30,31,1022,895,26,28,1572,25,23,50, + 1617,106,76,77,108,2812,2223,374,1574,35, + 292,2265,51,2240,2287,2280,2406,2049,2317,2445, + 2444,2463,2468,143,1574,35,1763,3301,151,144, + 3202,35,1040,32,24,5506,27,30,31,1022, + 895,26,28,1572,25,23,50,1617,106,76, + 77,108,3138,2223,1283,35,278,2035,2265,5845, + 2240,2287,2280,2406,2049,2317,2445,2444,2463,2468, + 143,1574,3538,1763,74,150,144,3202,35,1040, + 32,3263,5506,27,30,31,1022,895,26,28, + 1572,25,23,50,1617,106,76,77,108,1365, + 2223,301,93,2664,2957,2265,324,2240,2287,2280, + 2406,3323,2317,2445,2444,2463,2468,143,2965,254, + 3000,3234,149,144,3202,35,1040,32,1784,5506, + 27,30,31,1022,895,26,28,1572,25,23, + 50,1617,106,76,77,108,3267,2223,3031,35, + 1763,3556,2265,97,2240,2287,2280,2406,2546,2317, + 2445,2444,2463,2468,143,3031,35,1763,275,148, + 144,3202,35,1040,32,556,5506,27,30,31, + 1022,895,26,28,1572,25,23,50,1617,106, + 76,77,108,246,2223,2251,359,1102,2035,2265, + 2365,2240,2287,2280,2406,351,2317,2445,2444,2463, + 2468,143,1574,35,1763,3711,147,144,3202,35, + 1040,32,2714,5506,27,30,31,1022,895,26, + 28,1572,25,23,50,1617,106,76,77,108, + 246,2223,298,246,848,2035,2265,929,2240,2287, + 2280,2406,2049,2317,2445,2444,2463,2468,143,3003, + 3277,2064,2504,146,144,3202,35,1040,32,387, + 5506,27,30,31,1022,895,26,28,1572,25, + 23,50,1617,106,76,77,108,246,2223,559, + 246,1601,379,2265,3400,2240,2287,2280,2406,1323, + 2317,2445,2444,2463,2468,143,402,2812,72,352, + 145,144,3202,35,1040,32,3604,5506,27,30, + 31,1022,895,26,28,1572,25,23,50,1617, + 106,76,77,108,2812,2223,573,1693,2051,2422, + 2265,98,2240,2287,2280,2406,3066,2317,2445,2444, + 2463,2468,143,537,3234,254,3543,159,144,3202, + 35,1040,32,571,5506,27,30,31,1022,895, + 26,28,1572,25,23,50,1617,106,76,77, + 108,246,2223,551,246,4565,2345,2265,4610,2240, + 2287,2280,2406,73,2317,2445,2444,2463,2468,143, + 1950,35,394,2543,140,144,3331,35,1040,32, + 1821,5506,27,30,31,1022,895,26,28,1572, + 25,23,50,1617,106,76,77,108,1150,2223, + 1950,35,394,70,2265,2414,2240,2287,2280,2406, + 521,2317,2445,2444,2463,2468,143,2080,35,279, + 2929,189,144,3631,35,1040,32,2034,5506,27, + 30,31,1022,895,26,28,1572,25,23,50, + 1617,106,76,77,108,1415,2223,1574,35,828, + 386,2265,1988,2240,2287,2280,2406,1804,2317,2445, + 2444,2463,2621,164,3631,35,1040,32,3666,5506, + 27,30,31,1022,895,26,28,1572,25,23, + 50,1617,106,76,77,108,2901,2223,272,1807, + 541,2176,2265,563,2240,2287,2280,2406,378,2317, + 2445,2444,2463,2621,164,2952,35,1040,32,554, + 2812,3675,30,31,1022,895,2947,3631,35,1040, + 32,421,5506,27,30,31,1022,895,26,28, + 1572,25,23,50,1617,106,76,77,108,87, + 2223,1574,35,828,386,2265,62,2240,2287,2280, + 2406,338,2317,2445,2444,2463,2621,164,3631,35, + 1040,32,291,5506,27,30,31,1022,895,26, + 28,1572,25,23,50,1617,106,76,77,108, + 1085,2223,429,2316,1701,2407,2265,3793,2240,2287, + 2280,2406,521,2317,2445,2444,2463,2621,164,1574, + 35,828,386,1166,537,533,534,535,2327,2548, + 342,3631,35,1040,32,3645,5506,27,30,31, + 1022,895,26,28,1572,25,23,50,1617,106, + 76,77,108,2251,2223,1574,35,828,386,2265, + 432,2240,2287,2280,2406,2675,2317,2445,2444,2463, + 2621,164,3751,35,1040,32,420,5506,27,30, + 31,1022,895,26,28,1572,25,23,50,1617, + 106,76,77,108,246,2223,431,246,760,2517, + 2265,1280,2240,2287,2280,2406,2812,2317,2445,2444, + 2463,2621,164,1561,35,1040,32,3733,5602,27, + 30,31,1022,895,337,28,2540,302,246,423, + 3483,3051,1280,1382,1280,5270,2906,536,533,534, + 535,2253,2769,35,1040,32,5817,5841,27,30, + 31,1022,895,26,28,672,509,536,533,534, + 535,3232,156,3064,160,536,533,534,535,3263, + 2082,1835,317,1173,319,720,2592,312,721,1652, + 3853,2955,330,1403,1019,3631,35,1040,32,430, + 5506,27,30,31,1022,895,26,28,1572,25, + 23,50,1617,106,76,77,108,1652,2223,4316, + 331,3237,441,2265,3813,2240,2287,2280,2406,2251, + 2317,2445,2444,3285,3934,35,828,386,350,3462, + 2157,2608,246,2735,2664,5817,912,236,1170,3264, + 344,2052,1948,347,2812,304,308,1508,580,533, + 534,535,3234,2812,536,533,534,535,277,1510, + 1588,3759,596,350,349,272,1574,35,828,386, + 928,3544,1403,69,1514,342,2052,1948,347,3035, + 227,1618,68,340,537,533,534,535,536,533, + 534,535,156,295,231,2812,1652,1304,2748,330, + 246,3576,180,4139,3106,3042,1408,430,3330,203, + 215,5456,202,212,213,214,216,234,229,230, + 579,2453,993,3830,53,169,2581,358,273,1910, + 639,168,4079,183,167,170,171,172,173,174, + 3306,3367,3035,3686,2678,2679,536,533,534,535, + 241,244,247,250,2894,3425,537,533,534,535, + 72,246,3456,778,1403,3184,2737,35,1040,32, + 575,5841,27,30,31,1022,895,59,28,44, + 2470,2801,4165,4576,5494,5536,4469,3672,2629,3631, + 35,1040,32,1854,5506,27,30,31,1022,895, + 26,28,1572,25,23,50,1617,106,76,77, + 108,5570,2223,89,321,3035,102,2265,3546,2240, + 2287,2280,2406,529,2317,2445,3278,3631,35,1040, + 32,2930,5506,27,30,31,1022,895,26,28, + 1572,25,23,50,1617,106,76,77,108,246, + 2223,3470,2991,3054,2813,2265,2716,2240,2287,2280, + 2406,3522,2317,3261,1964,35,1040,32,1398,5602, + 27,30,31,1022,895,337,28,354,536,533, + 534,535,1779,35,451,71,529,5687,536,533, + 534,535,2737,35,1040,32,638,5841,27,30, + 31,1022,895,58,28,246,3475,3702,721,596, + 1404,35,1040,32,3733,3640,27,30,31,1022, + 895,337,28,317,1173,319,1356,341,313,721, + 1652,809,2248,331,536,533,534,535,2812,156, + 3140,1931,1950,35,394,3420,5707,2816,1835,2816, + 353,350,4679,2616,1590,536,533,534,535,529, + 2035,328,333,344,2052,1948,347,52,2137,317, + 1173,319,3068,2440,312,721,2670,3631,35,1040, + 32,1019,5506,27,30,31,1022,895,26,28, + 1572,25,23,50,1617,106,76,77,108,246, + 2223,349,2337,3117,297,2265,2698,2240,2287,2280, + 2406,2812,3277,2251,2225,2738,2160,1356,1246,1356, + 2664,1982,35,1040,32,3733,3640,27,30,31, + 1022,895,337,28,1950,35,2090,2704,3234,2812, + 376,2812,304,308,1508,536,533,534,535,1553, + 2170,2341,3772,333,3896,333,3074,2051,3761,350, + 448,2603,2609,4679,2933,246,629,3958,3489,3303, + 568,342,2052,1948,347,49,182,2251,1618,3491, + 317,1173,319,1261,1321,312,721,283,3631,35, + 1040,32,1019,5506,27,30,31,1022,895,26, + 28,1572,25,23,50,1617,106,76,77,108, + 2988,2223,3041,503,533,4054,2265,428,2240,2287, + 2280,3183,1709,35,2972,32,3733,3640,27,30, + 31,1022,895,337,28,3396,1177,1937,536,533, + 534,535,2043,154,629,286,3519,533,534,535, + 692,380,3819,305,308,1508,1408,501,502,400, + 536,533,534,535,3248,1787,35,2972,32,3733, + 3640,27,30,31,1022,895,337,28,2700,3505, + 2748,317,1173,319,388,3988,312,721,425,536, + 533,534,535,751,1210,35,1040,32,3913,3640, + 27,30,31,1022,895,337,28,3248,2353,35, + 2972,32,3733,3640,27,30,31,1022,895,337, + 28,3720,2498,2812,317,1173,319,5817,2812,312, + 721,3105,3519,533,534,535,751,3870,1828,540, + 2176,3789,417,2948,813,2330,536,533,534,535, + 3248,4039,538,317,1173,319,3539,557,312,721, + 1280,3576,389,629,1403,2892,425,317,1173,319, + 1882,246,312,721,629,3314,246,2812,246,751, + 2664,350,963,246,3849,417,2948,953,1652,2816, + 156,331,3602,342,2052,1948,347,2812,341,3839, + 200,2871,3631,35,1040,32,90,5506,27,30, + 31,1022,895,26,28,1572,25,23,50,1617, + 106,76,77,108,2616,2223,569,3789,417,2948, + 2265,434,2240,2287,3192,3631,35,1040,32,2539, + 5506,27,30,31,1022,895,26,28,1572,25, + 23,50,1617,106,76,77,108,246,2223,1356, + 2160,1280,905,2265,2664,2240,2287,3225,2596,35, + 1040,32,5524,3640,27,30,31,1022,895,337, + 28,391,3234,246,246,425,3483,1073,2896,997, + 1280,3317,390,364,3956,333,425,349,3631,35, + 1040,32,3984,5506,27,30,31,1022,895,26, + 28,1572,25,23,50,1617,106,76,77,108, + 160,2223,1557,35,828,386,2980,317,1173,319, + 1,543,312,721,596,2229,35,1040,32,1527, + 3640,27,30,31,1022,895,337,28,93,246, + 246,2812,227,2987,5774,350,3636,503,3660,537, + 533,534,535,49,156,2251,3661,342,2052,1948, + 347,1261,1244,3576,180,3491,3179,3042,3662,2529, + 348,203,215,5456,202,212,213,214,216,2978, + 1264,3756,579,3719,317,1173,319,169,3721,591, + 721,500,502,168,181,184,167,170,171,172, + 173,174,3631,35,1040,32,526,5506,27,30, + 31,1022,895,26,28,1572,25,23,50,1617, + 106,76,77,108,246,2223,2035,2812,1647,284, + 2265,2699,2240,3104,3631,35,1040,32,1415,5506, + 27,30,31,1022,895,26,28,1572,25,23, + 50,1617,106,76,77,108,3609,2223,2035,246, + 3722,185,2265,1198,2240,3150,3631,35,1040,32, + 179,5506,27,30,31,1022,895,26,28,1572, + 25,23,50,1617,106,76,77,108,2035,2223, + 1557,35,828,386,2265,2450,2240,3152,3631,35, + 1040,32,198,5506,27,30,31,1022,895,26, + 28,1572,25,23,50,1617,106,76,77,108, + 369,2223,1818,246,596,2035,2265,1280,2240,3175, + 246,49,197,2812,1070,238,2812,2542,3698,1261, + 831,2664,227,3815,3816,2174,580,533,534,535, + 1668,35,828,386,156,3724,3578,156,2307,341, + 2812,3726,449,3576,180,3823,1753,3042,3818,404, + 2660,203,215,5456,202,212,213,214,216,1337, + 461,3782,579,2339,596,3886,246,169,5817,67, + 1280,272,231,168,1697,3688,167,170,171,172, + 173,174,227,536,533,534,535,536,533,534, + 535,3829,2812,6866,156,239,229,230,1949,6866, + 156,1403,246,3576,180,1403,2719,3042,6866,3284, + 6866,203,215,5456,202,212,213,214,216,1699, + 553,66,579,2339,596,2629,3483,169,5817,1652, + 1280,1415,330,168,3371,178,167,170,171,172, + 173,174,227,536,533,534,535,536,533,534, + 535,6866,2812,246,156,72,2812,2989,6866,4344, + 160,2772,2812,3576,180,1403,246,3042,2035,2035, + 2950,203,215,5456,202,212,213,214,216,1822, + 645,65,579,2339,596,64,246,169,5817,1652, + 3329,3856,330,168,6866,176,167,170,171,172, + 173,174,227,536,533,534,535,536,533,534, + 535,246,201,199,156,1280,3603,6866,6866,3262, + 4112,2700,2812,3576,180,1403,246,3042,4096,3683, + 2782,203,215,5456,202,212,213,214,216,6866, + 737,6866,579,2339,596,156,246,169,5817,1652, + 1280,55,330,168,3710,177,167,170,171,172, + 173,174,227,6866,6866,6866,2035,536,533,534, + 535,246,2812,6866,156,1280,6866,246,6866,2581, + 156,2664,2812,3576,180,1403,246,3042,2035,3762, + 2855,203,215,5456,202,212,213,214,216,341, + 829,54,579,2339,596,156,2812,169,5817,1652, + 4673,3910,330,168,3822,187,167,170,171,172, + 173,174,227,6866,6866,2616,6866,536,533,534, + 535,6866,222,6866,156,3970,6866,246,6866,2904, + 2566,2664,2812,3576,180,1403,6866,3042,6866,2035, + 6866,203,215,5456,202,212,213,214,216,341, + 921,246,579,2907,596,2664,6866,169,5817,1652, + 2812,4030,4033,168,6866,3744,167,170,171,172, + 173,174,227,341,6866,2616,6866,536,533,534, + 535,246,2812,193,156,1280,6866,3483,6866,101, + 2576,1280,6866,3576,180,1403,1866,3042,6866,2616, + 2664,203,215,5456,202,212,213,214,216,6866, + 6866,1048,579,6866,2601,156,2812,169,227,1652, + 6866,160,4033,168,3826,192,167,170,171,172, + 173,174,3104,35,1040,32,3913,3640,27,30, + 31,1022,895,337,28,1513,94,205,215,5456, + 204,212,213,214,216,6866,6866,6866,579,1574, + 35,828,386,6866,6866,1811,35,1040,32,3733, + 3640,27,30,31,1022,895,337,28,206,208, + 210,293,294,6866,618,1215,217,207,209,6866, + 3892,317,1173,319,1013,6866,312,721,596,6866, + 49,6866,6866,524,6866,13,96,4852,46,580, + 533,534,535,2812,2812,4081,227,6866,246,350, + 6866,6866,2664,3483,317,1173,319,1280,156,312, + 721,342,2052,1948,347,6866,1527,3576,180,525, + 341,3042,4019,4234,527,203,215,5456,202,212, + 213,214,216,6866,1105,231,579,160,596,246, + 246,169,6866,1280,1280,6866,2616,168,6866,186, + 167,170,171,172,173,174,227,6866,243,229, + 230,3577,6866,3483,600,6866,6866,1280,156,6866, + 6866,6866,246,156,156,6866,2664,3576,180,6866, + 6866,3042,1894,4193,6866,203,215,5456,202,212, + 213,214,216,6866,341,6866,579,160,6866,6866, + 6866,169,6866,6866,6866,6866,3942,168,6866,194, + 167,170,171,172,173,174,1676,35,1040,32, + 2616,5602,27,30,31,1022,895,337,28,6866, + 6866,6866,6866,6866,6866,507,6866,6866,6866,6866, + 536,533,534,535,1676,35,1040,32,6866,5602, + 27,30,31,1022,895,337,28,6866,1403,6866, + 6866,6866,6866,6866,3419,6866,4040,6866,536,533, + 534,535,6866,6866,6866,317,1173,319,6866,6866, + 315,721,1652,6866,6866,331,3475,6866,536,533, + 534,535,6866,6866,6866,6866,6866,6866,6866,6866, + 6866,6866,6866,317,1173,319,1408,6866,313,721, + 1652,6866,6866,331,3631,35,1040,32,6866,5506, + 27,30,31,1022,895,26,28,1572,25,23, + 50,1617,106,76,77,108,6866,2223,1858,35, + 828,386,2265,6866,3177,3631,35,1040,32,6866, + 5506,27,30,31,1022,895,26,28,1572,25, + 23,50,1617,106,76,77,108,6866,2223,3999, + 35,828,386,2265,3462,3182,6866,6866,6866,49, + 6866,3311,237,6866,6866,6866,6866,1261,47,6866, + 6866,6866,6866,580,533,534,535,6866,2086,6866, + 6866,6866,2664,6866,6866,6866,1034,6866,6866,6866, + 272,6866,6866,6866,6866,6866,3631,35,1040,32, + 227,5506,27,30,31,1022,895,26,28,1572, + 25,23,50,1617,106,76,77,85,6866,231, + 6866,6866,6866,6866,1923,35,828,386,6866,205, + 215,5456,204,212,213,214,216,6866,6866,6866, + 579,6866,235,229,230,2179,6866,6866,6866,2664, + 6866,6866,6866,273,6866,6866,1341,6866,6866,6866, + 206,208,210,293,294,49,618,227,217,207, + 209,6866,6866,1261,47,242,245,248,251,2894, + 580,533,534,535,6866,6866,6866,1575,778,4852, + 2272,6866,1268,6866,2664,576,205,215,5456,204, + 212,213,214,216,6866,6866,6866,579,6866,6866, + 6866,6866,227,6866,6866,6866,6866,6866,6866,6866, + 6866,6866,6866,6866,6866,6866,231,206,208,210, + 293,294,6866,618,6866,217,207,209,6866,6866, + 6866,205,215,5456,204,212,213,214,216,246, + 229,230,579,3659,2493,6866,4852,1280,6866,1982, + 35,1040,32,3733,3640,27,30,31,1022,895, + 337,28,206,208,210,293,294,6866,618,6866, + 217,207,209,537,533,534,535,156,6866,6866, + 6866,6866,6866,6866,6866,6866,162,6866,6866,2659, + 6866,4852,6866,6866,6866,6866,6866,6866,6866,6866, + 6866,6866,6866,6866,6866,6866,6866,6866,317,1173, + 319,6866,6866,312,721,6866,3631,35,1040,32, + 2971,5506,27,30,31,1022,895,26,28,1572, + 25,23,50,1617,106,76,77,108,6866,2223, + 3631,35,1040,32,2985,5506,27,30,31,1022, + 895,26,28,1572,25,23,50,1617,106,76, + 77,108,6866,2994,3631,35,1040,32,6866,5506, + 27,30,31,1022,895,26,28,1572,25,23, + 50,1617,106,76,77,108,6866,3090,3631,35, + 1040,32,6866,5506,27,30,31,1022,895,26, + 28,1572,25,23,50,1617,106,76,77,108, + 1993,3091,6866,6866,2664,6866,6866,6866,6866,6866, + 6866,6866,1739,6866,6866,6866,2664,6866,6866,6866, + 6866,6866,227,6866,6866,4194,6866,6866,6866,6866, + 3391,35,1040,32,227,5506,27,30,31,1022, + 895,26,28,1572,25,23,50,1617,574,76, + 77,205,215,5456,204,212,213,214,216,6866, + 6866,6866,579,205,215,5456,204,212,213,214, + 216,6866,6866,6866,579,6866,6866,6866,6866,6866, + 6866,6866,206,208,210,293,294,6866,618,6866, + 517,207,209,6866,206,208,210,293,294,6866, + 618,6866,218,207,209,3631,35,1040,32,6866, + 5506,27,30,31,1022,895,26,28,1572,25, + 23,50,1617,106,76,77,83,3631,35,1040, + 32,6866,5506,27,30,31,1022,895,26,28, + 1572,25,23,50,1617,106,76,77,82,3631, + 35,1040,32,6866,5506,27,30,31,1022,895, + 26,28,1572,25,23,50,1617,106,76,77, + 81,3631,35,1040,32,6866,5506,27,30,31, + 1022,895,26,28,1572,25,23,50,1617,106, + 76,77,80,3631,35,1040,32,6866,5506,27, + 30,31,1022,895,26,28,1572,25,23,50, + 1617,106,76,77,79,3631,35,1040,32,6866, + 5506,27,30,31,1022,895,26,28,1572,25, + 23,50,1617,106,76,77,78,3631,1788,1040, + 2129,6866,5506,27,30,31,1022,895,26,28, + 1572,25,23,50,1617,106,76,77,84,2365, + 6866,6866,6866,2664,6866,6866,6866,6866,6866,6866, + 6866,2458,6866,6866,6866,2664,6866,6866,6866,6866, + 6866,227,6866,6866,6866,6866,6866,6866,6866,3451, + 35,1040,32,227,5506,27,30,31,1022,895, + 26,28,1572,25,23,50,1617,572,76,77, + 205,215,5456,204,212,213,214,216,6866,6866, + 6866,579,205,215,5456,204,212,213,214,216, + 6866,6866,6866,579,6866,6866,6866,6866,6866,6866, + 6866,206,208,210,293,294,6866,618,6866,518, + 207,209,6866,206,208,210,293,294,6866,618, + 6866,303,207,209,3270,35,1040,32,6866,5506, + 27,30,31,1022,895,26,28,1572,25,23, + 50,1617,106,76,77,104,3631,35,1040,32, + 6866,5506,27,30,31,1022,895,26,28,1572, + 25,23,50,1617,106,76,77,110,3631,35, + 1040,32,6866,5506,27,30,31,1022,895,26, + 28,1572,25,23,50,1617,106,76,77,109, + 3631,35,1040,32,6866,5506,27,30,31,1022, + 895,26,28,1572,25,23,50,1617,106,76, + 77,107,3631,35,1040,32,6866,5506,27,30, + 31,1022,895,26,28,1572,25,23,50,1617, + 106,76,77,105,2551,6866,6866,6866,2664,2622, + 35,1040,32,3733,3640,27,30,31,1022,895, + 337,28,3511,35,1040,32,227,5506,27,30, + 31,1022,895,26,28,1572,25,23,50,1617, + 570,76,77,6866,6866,6866,6866,6866,6866,6866, + 6866,6866,6866,6866,6866,205,215,5456,204,212, + 213,214,216,6866,6866,6866,579,6866,317,1173, + 319,6866,6866,312,721,6866,6866,6866,6866,6866, + 3718,6866,6866,6866,6866,6866,206,208,210,293, + 294,6866,618,6866,497,207,209,3571,35,1040, + 32,6866,5506,27,30,31,1022,895,26,28, + 1572,25,23,50,1617,86,76,77,3691,35, + 1040,32,6866,5506,27,30,31,1022,895,26, + 28,1572,25,23,50,1617,3291,76,77,1517, + 6866,6866,6866,2664,5835,6866,1255,35,1040,32, + 2553,3640,27,30,31,1022,895,337,28,6866, + 6866,227,6866,6866,6866,6866,6866,6866,6866,2409, + 35,1040,32,643,3640,27,30,31,1022,895, + 337,28,1628,6866,1584,6866,2664,5835,6866,6866, + 2092,405,5479,6866,6866,6866,2779,35,828,386, + 6866,6866,6866,6866,227,314,1098,319,580,533, + 534,535,6866,401,2157,6866,6866,6866,2664,5817, + 6866,406,407,408,293,294,1695,618,314,1098, + 319,6866,6866,2092,405,5479,3234,49,536,533, + 534,535,6866,6866,6866,1261,1676,2183,6866,6866, + 580,533,534,535,231,6866,1403,6866,6866,6866, + 2037,6866,6866,6866,406,407,408,293,294,246, + 618,6866,6866,596,6866,6866,6866,249,229,230, + 1652,6866,6866,330,580,533,534,535,6866,6866, + 2183,341,1557,35,828,386,231,6866,1923,35, + 828,386,6866,156,6866,6866,6866,6866,6866,6866, + 2904,358,1835,409,411,711,6866,2616,6866,252, + 229,230,1557,35,828,386,6866,3686,2678,2679, + 231,6866,2164,49,2143,35,828,386,711,49, + 2025,1261,3729,5492,6866,6866,6866,1261,47,6866, + 6866,6866,6866,577,229,230,409,412,6866,6866, + 2307,6866,6866,49,6866,6866,2277,1923,35,828, + 386,1261,47,6866,6866,49,6866,1557,35,828, + 386,6866,6866,1261,47,3599,6866,6866,6866,596, + 693,2984,35,828,386,6866,6866,1557,35,828, + 386,6866,1838,1557,35,828,386,341,49,246, + 6866,6866,6866,2664,6866,6866,1261,2233,49,156, + 1557,35,828,386,6866,6866,1261,47,188,6866, + 6866,341,49,5319,6866,3700,6866,6866,49,6866, + 1261,3516,6866,6866,49,917,1261,47,1557,35, + 828,386,1261,47,6866,6866,246,2616,246,1264, + 596,49,596,6866,2163,2401,6866,6866,2664,1261, + 47,2459,505,1574,35,828,386,6866,341,6866, + 341,246,6866,6866,6866,596,3234,6866,2495,49, + 156,6866,156,6866,6866,190,6866,1261,47,1835, + 6866,1835,6866,341,2616,6866,2616,1574,35,828, + 386,6866,6866,6866,49,156,2706,6866,6866,2370, + 6866,2546,1261,2761,2693,1574,35,828,386,2616, + 6866,1574,35,828,386,1574,35,828,386,6866, + 6866,3723,6866,246,2684,2664,6866,596,49,246, + 6866,246,6866,596,6866,2664,1261,2762,6866,6866, + 246,503,6866,341,596,341,49,6866,6866,6866, + 528,341,49,341,1261,1958,49,156,6866,3936, + 1261,1676,341,156,1261,904,188,6866,6866,2616, + 6866,5319,188,6866,156,6866,6866,5319,6866,2616, + 6866,6866,6866,188,531,500,502,6866,5319,6866, + 6866,6866,6866,6866,532,6866,6866,6866,6866,6866, + 6866,6866,6866,6866,6866,6866,6866,6866,6866,6866, + 6866,6866,6866,6866,6866,6866,6866,6866,6866,6866, + 6866,6866,6866,6866,6866,3695,6866,6866,6866,6866, + 6866,6866,6866,3952,6866,6866,6866,6866,6866,3976, + 6866,6866,6866,6866,6866,6866,6866,6866,6866,6866, + 4012,6866,6866,6866,6866,6866,6866,6866,6866,6866, + 6866,6866,6866,6866,6866,6866,6866,6866,6866,6866, + 6866,6866,6866,6866,6866,6866,6866,6866,6866,6866, + 6866,6866,6866,6866,6866,6866,6866,6866,6866,6866, + 6866,6866,6866,6866,6866,6866,6866,6866,6866,6866, + 6866,6866,6866,6866,6866,6866,6866,6866,6866,6866, + 6866,6866,6866,6866,6866,6866,6866,6866,6866,6866, + 6866,6866,6866,6866,6866,6866,6866,6866,6866,6866, + 6866,6866,6866,4195,6866,0,1,228,987,0, + 499,4840,0,1,228,0,39,6881,0,39, + 6880,0,1,4145,0,1057,1,0,39,1, + 6881,0,39,1,6880,0,1,1143,0,1, + 897,0,228,219,0,7099,223,0,7098,223, + 0,671,223,0,713,223,0,753,223,0, + 7202,223,0,7201,223,0,7126,223,0,7125, + 223,0,7124,223,0,7123,223,0,7122,223, + 0,7121,223,0,7120,223,0,7119,223,0, + 7099,224,0,7098,224,0,671,224,0,713, + 224,0,753,224,0,7202,224,0,7201,224, + 0,7126,224,0,7125,224,0,7124,224,0, + 7123,224,0,7122,224,0,7121,224,0,7120, + 224,0,7119,224,0,753,392,0,713,392, + 0,671,392,0,282,392,0,7099,225,0, + 7098,225,0,671,225,0,713,225,0,753, + 225,0,7202,225,0,7201,225,0,7126,225, + 0,7125,225,0,7124,225,0,7123,225,0, + 7122,225,0,7121,225,0,7120,225,0,7119, + 225,0,282,285,0,7099,226,0,7098,226, + 0,671,226,0,713,226,0,753,226,0, + 7202,226,0,7201,226,0,7126,226,0,7125, + 226,0,7124,226,0,7123,226,0,7122,226, + 0,7121,226,0,7120,226,0,7119,226,0, + 1697,385,0,6881,48,0,6880,48,0,7099, + 578,0,7098,578,0,671,578,0,713,578, + 0,753,578,0,7202,578,0,7201,578,0, + 7126,578,0,7125,578,0,7124,578,0,7123, + 578,0,7122,578,0,7121,578,0,7120,578, + 0,7119,578,0,7099,595,0,7098,595,0, + 671,595,0,713,595,0,753,595,0,7202, + 595,0,7201,595,0,7126,595,0,7125,595, + 0,7124,595,0,7123,595,0,7122,595,0, + 7121,595,0,7120,595,0,7119,595,0,7099, + 240,0,7098,240,0,671,240,0,713,240, + 0,753,240,0,7202,240,0,7201,240,0, + 7126,240,0,7125,240,0,7124,240,0,7123, + 240,0,7122,240,0,7121,240,0,7120,240, + 0,7119,240,0,39,6881,240,0,39,6880, + 240,0,6904,240,0,7460,240,0,7459,240, + 0,7137,240,0,7136,240,0,7135,240,0, + 7134,240,0,7133,240,0,7132,240,0,7131, + 240,0,7130,240,0,7129,240,0,7128,240, + 0,7127,240,0,1,753,0,1,713,0, + 1,671,0,1,329,0,38,897,0,38, + 6881,0,38,6880,0,452,2070,0,438,2073, + 0,1697,29,0,6878,1,0,753,588,0, + 713,588,0,671,588,0,592,588,0,592, + 587,0,6929,75,0,6928,75,0,765,75, + 0,833,75,0,3426,75,0,3673,75,0, + 2117,316,0,1,590,0,1,442,0,456, + 1107,0,455,1511,0,35,33,0,47,37, + 0,228,220,0,499,2186,0,6904,1,228, + 0,39,1,228,0,228,414,0,1,1459, + 0,1,7460,0,1,7459,0,1,7137,0, + 1,7136,0,1,7135,0,1,7134,0,1, + 7133,0,1,7132,0,1,7131,0,1,7130, + 0,1,7129,0,1,7128,0,1,7127,0, + 1,5129,0,6881,37,0,6880,37,0,43, + 6902,0,43,37,0,3397,91,0,32,34, + 0,39,897,0,6878,381,0,6877,381,0, + 1,2230,0,1,2260,0,6876,403,0,6875, + 403,0,228,413,0,3616,126,0,6874,1, + 0,7202,334,0,7201,334,0,753,443,0, + 713,443,0,671,443,0,6904,443,0,329, + 443,0,39,443,0,6872,1,0,6871,1, + 0,6902,45,0,37,45,0,386,32,0, + 385,29,0,236,2570,0,1,92,0,1, + 228,3429,0,6875,228,0,3488,228,0,6904, + 1,0,39,1,0,3616,128,0,3616,127, + 0,574,572,0,4239,100,0,6881,36,0, + 6880,36,0,3611,228,0,10,12,0,753, + 585,0,713,585,0,671,585,0,753,584, + 0,713,584,0,671,584,0,536,537,0, + 6881,2,37,0,6880,2,37,0,4263,103, + 0,2512,99,0,753,95,0,713,95,0, + 671,95,0,6904,95,0,329,95,0,39, + 95,0,35,73,0,8,10,12,0,753, + 585,586,0,713,585,586,0,671,585,586, + 0,585,586,0,3720,381,0,277,4067,0, + 8,12,0,185,4174,0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -1290,398 +1354,423 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym 20,21,22,23,24,25,26,27,28,29, 30,31,32,33,34,35,36,37,38,39, 40,41,42,43,44,45,46,47,48,49, - 50,51,52,53,54,55,56,57,58,0, - 60,61,62,0,64,65,66,67,5,6, - 7,71,72,0,0,75,3,77,78,79, - 80,81,82,83,84,85,86,87,88,89, - 0,1,2,3,4,5,6,7,8,9, - 10,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,28,29, - 30,31,32,33,34,35,36,37,38,39, - 40,41,42,43,44,45,46,47,48,49, - 50,51,52,53,54,55,56,57,58,76, - 60,61,62,0,64,65,66,67,5,6, - 7,71,72,0,0,75,3,77,78,79, - 80,81,82,83,84,85,86,87,88,89, - 0,1,2,3,4,5,6,7,8,9, - 10,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,28,29, - 30,31,32,33,34,35,36,37,38,39, - 40,41,42,43,44,45,46,47,48,49, - 50,51,52,53,54,55,56,57,58,0, - 60,61,62,0,64,65,66,67,5,6, - 7,71,72,0,0,75,3,77,78,79, - 80,81,82,83,84,85,86,87,88,89, - 0,1,2,3,4,5,6,7,8,9, - 10,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,28,29, - 30,31,32,33,34,35,36,37,38,39, - 40,41,42,43,44,45,46,47,48,49, - 50,51,52,53,54,55,56,57,58,0, - 60,61,62,0,64,65,66,67,0,1, - 2,71,72,0,0,75,8,9,78,79, - 80,81,82,83,84,85,86,87,88,89, - 0,1,2,3,4,5,6,7,8,9, - 10,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,28,29, - 30,31,32,33,34,35,36,37,38,39, - 40,41,42,43,44,45,46,47,48,49, - 50,51,52,53,54,55,56,57,58,76, - 60,61,62,0,64,65,66,67,0,1, - 2,71,72,100,101,75,8,9,78,79, - 80,81,82,83,84,85,86,87,88,89, - 0,1,2,3,4,5,6,7,8,9, - 10,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,28,29, - 30,31,32,33,34,35,36,37,38,39, - 40,41,42,43,44,45,46,47,48,49, - 50,51,52,53,54,55,56,57,58,0, - 60,61,62,0,64,65,66,67,5,6, - 7,71,72,100,101,75,0,0,78,79, - 80,81,82,83,84,85,86,87,88,89, - 0,1,2,3,4,5,6,7,8,9, - 10,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,28,29, - 30,31,32,33,34,35,36,37,38,39, - 40,41,42,43,44,45,46,47,48,49, - 50,51,52,53,54,55,56,57,58,73, - 60,61,62,0,64,65,66,67,5,6, - 7,71,72,0,0,75,0,4,78,79, - 80,81,82,83,84,85,86,87,88,89, - 0,1,2,3,4,5,6,7,8,9, - 10,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,28,29, - 30,31,32,33,34,35,36,37,38,39, - 40,41,42,43,44,45,46,47,48,49, - 50,51,52,53,54,55,56,57,58,73, - 60,61,62,0,64,65,66,67,5,6, - 7,71,72,0,0,75,3,3,78,79, - 80,81,82,83,84,85,86,87,88,89, - 0,1,2,3,4,5,6,7,8,9, - 10,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,28,29, - 30,31,32,33,34,35,36,37,38,39, - 40,41,42,43,44,45,46,47,48,49, - 50,51,52,53,54,55,56,57,58,0, - 60,61,62,0,64,65,66,67,0,1, - 2,71,72,0,11,75,8,4,78,79, - 80,81,82,83,84,85,86,87,88,89, - 0,1,2,3,4,5,6,7,8,9, - 10,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,28,29, - 30,31,32,33,34,35,36,37,38,39, - 40,41,42,43,44,45,46,47,48,49, - 50,51,52,53,54,55,56,57,58,0, - 60,61,62,4,64,65,66,67,0,96, - 97,71,72,0,0,75,3,3,78,79, + 50,51,52,53,54,55,56,57,58,59, + 60,0,62,63,64,0,66,67,68,4, + 70,0,0,73,74,75,0,6,78,3, 80,81,82,83,84,85,86,87,88,89, + 90,91,0,1,2,3,4,5,6,7, + 8,9,10,11,12,13,14,15,16,17, + 18,19,20,21,22,23,24,25,26,27, + 28,29,30,31,32,33,34,35,36,37, + 38,39,40,41,42,43,44,45,46,47, + 48,49,50,51,52,53,54,55,56,57, + 58,59,60,0,62,63,64,0,66,67, + 68,4,70,102,103,73,74,75,96,97, + 78,0,80,81,82,83,84,85,86,87, + 88,89,90,91,0,1,2,3,4,5, + 6,7,8,9,10,11,12,13,14,15, + 16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,30,31,32,33,34,35, + 36,37,38,39,40,41,42,43,44,45, + 46,47,48,49,50,51,52,53,54,55, + 56,57,58,59,60,0,62,63,64,78, + 66,67,68,0,70,102,103,73,74,75, + 0,0,78,3,80,81,82,83,84,85, + 86,87,88,89,90,91,0,1,2,3, + 4,5,6,7,8,9,10,11,12,13, + 14,15,16,17,18,19,20,21,22,23, + 24,25,26,27,28,29,30,31,32,33, + 34,35,36,37,38,39,40,41,42,43, + 44,45,46,47,48,49,50,51,52,53, + 54,55,56,57,58,59,60,76,62,63, + 64,0,66,67,68,4,70,0,0,73, + 74,75,4,5,78,7,8,81,82,83, + 84,85,86,87,88,89,90,91,0,1, + 2,3,4,5,6,7,8,9,10,11, + 12,13,14,15,16,17,18,19,20,21, + 22,23,24,25,26,27,28,29,30,31, + 32,33,34,35,36,37,38,39,40,41, + 42,43,44,45,46,47,48,49,50,51, + 52,53,54,55,56,57,58,59,60,0, + 62,63,64,0,66,67,68,4,70,10, + 0,73,74,75,0,5,78,7,8,81, + 82,83,84,85,86,87,88,89,90,91, 0,1,2,3,4,5,6,7,8,9, 10,11,12,13,14,15,16,17,18,19, 20,21,22,23,24,25,26,27,28,29, 30,31,32,33,34,35,36,37,38,39, 40,41,42,43,44,45,46,47,48,49, - 50,51,52,53,54,55,56,57,58,0, - 60,61,62,0,64,65,66,67,5,6, - 7,71,72,0,0,75,3,3,78,79, - 80,81,82,83,84,85,86,87,88,89, + 50,51,52,53,54,55,56,57,58,59, + 60,77,62,63,64,0,66,67,68,4, + 70,0,0,73,74,75,0,5,78,7, + 8,81,82,83,84,85,86,87,88,89, + 90,91,0,1,2,3,4,5,6,7, + 8,9,10,11,12,13,14,15,16,17, + 18,19,20,21,22,23,24,25,26,27, + 28,29,30,31,32,33,34,35,36,37, + 38,39,40,41,42,43,44,45,46,47, + 48,49,50,51,52,53,54,55,56,57, + 58,59,60,77,62,63,64,0,66,67, + 68,0,70,0,0,73,74,75,0,5, + 78,7,8,81,82,83,84,85,86,87, + 88,89,90,91,0,1,2,3,4,5, + 6,7,8,9,10,11,12,13,14,15, + 16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,30,31,32,33,34,35, + 36,37,38,39,40,41,42,43,44,45, + 46,47,48,49,50,51,52,53,54,55, + 56,57,58,59,60,77,62,63,64,0, + 66,67,68,0,70,0,0,73,74,75, + 0,5,78,7,8,81,82,83,84,85, + 86,87,88,89,90,91,0,1,2,3, + 4,5,6,7,8,9,10,11,12,13, + 14,15,16,17,18,19,20,21,22,23, + 24,25,26,27,28,29,30,31,32,33, + 34,35,36,37,38,39,40,41,42,43, + 44,45,46,47,48,49,50,51,52,53, + 54,55,56,57,58,59,60,77,62,63, + 64,0,66,67,68,0,70,0,0,73, + 74,75,0,5,78,7,8,81,82,83, + 84,85,86,87,88,89,90,91,0,1, + 2,3,4,5,6,7,8,9,10,11, + 12,13,14,15,16,17,18,19,20,21, + 22,23,24,25,26,27,28,29,30,31, + 32,33,34,35,36,37,38,39,40,41, + 42,43,44,45,46,47,48,49,50,51, + 52,53,54,55,56,57,58,59,60,77, + 62,63,64,0,66,67,68,0,70,0, + 0,73,74,75,0,5,78,7,8,81, + 82,83,84,85,86,87,88,89,90,91, 0,1,2,3,4,5,6,7,8,9, 10,11,12,13,14,15,16,17,18,19, 20,21,22,23,24,25,26,27,28,29, 30,31,32,33,34,35,36,37,38,39, 40,41,42,43,44,45,46,47,48,49, - 50,51,52,53,54,55,56,57,58,0, - 60,61,62,0,64,65,66,67,5,6, - 7,71,72,0,0,75,3,3,78,79, - 80,81,82,83,84,85,86,87,88,89, - 0,1,2,3,4,5,6,7,8,9, - 10,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,28,29, + 50,51,52,53,54,55,56,57,58,59, + 60,77,62,63,64,0,66,67,68,0, + 70,0,0,73,74,75,0,5,78,7, + 8,81,82,83,84,85,86,87,88,89, + 90,91,0,1,2,3,4,5,6,7, + 8,9,10,11,12,13,14,15,16,17, + 18,19,20,21,22,23,24,25,26,27, + 28,29,30,31,32,33,34,35,36,37, + 38,39,40,41,42,43,44,45,46,47, + 48,49,50,51,52,53,54,55,56,57, + 58,59,60,77,62,63,64,0,66,67, + 68,0,70,0,0,73,74,75,0,5, + 78,7,8,81,82,83,84,85,86,87, + 88,89,90,91,0,1,2,3,4,5, + 6,7,8,9,10,11,12,13,14,15, + 16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,30,31,32,33,34,35, + 36,37,38,39,40,41,42,43,44,45, + 46,47,48,49,50,51,52,53,54,55, + 56,57,58,59,60,0,62,63,64,0, + 66,67,68,0,70,0,0,73,74,75, + 0,5,78,7,8,81,82,83,84,85, + 86,87,88,89,90,91,0,1,2,3, + 4,5,6,7,8,9,10,11,12,0, + 1,2,3,4,0,6,0,42,9,5, + 11,7,8,0,28,29,30,31,32,33, + 34,35,36,37,38,39,40,41,65,43, + 44,45,28,29,30,31,32,33,34,35, + 36,37,38,39,0,1,2,3,4,0, + 6,65,3,9,95,69,0,71,72,73, + 0,106,76,77,78,79,80,11,69,0, + 71,72,0,1,2,76,4,0,79,93, + 94,95,96,97,98,99,100,101,102,103, + 104,105,106,107,95,0,126,111,112,113, + 114,115,116,117,118,119,120,121,122,123, + 0,125,0,1,2,3,4,5,6,7, + 8,9,10,11,12,0,0,1,2,73, + 0,5,72,7,8,5,10,7,8,29, + 28,29,30,31,32,33,34,35,36,37, + 38,39,40,41,0,43,44,45,28,29, 30,31,32,33,34,35,36,37,38,39, - 40,41,42,43,44,45,46,47,48,49, - 50,51,52,53,54,55,56,57,58,0, - 60,61,62,0,64,65,66,67,5,6, - 7,71,72,0,0,75,0,1,78,79, - 80,81,82,83,84,85,86,87,88,89, - 0,1,2,3,4,5,6,7,8,9, - 27,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,28,29, - 0,31,32,33,34,35,36,37,38,39, - 40,41,42,43,44,45,46,47,48,49, - 50,51,52,53,54,55,56,57,58,0, - 60,61,62,94,95,65,0,1,2,3, + 0,0,1,2,79,4,5,65,7,8, + 10,69,12,71,72,73,61,61,76,77, + 78,79,80,0,1,2,3,4,5,6, + 7,8,9,0,11,93,94,95,96,97, + 98,99,100,101,102,103,104,105,106,107, + 0,1,2,111,112,113,114,115,116,117, + 118,119,120,121,122,123,43,125,0,1, + 2,3,4,5,6,7,8,9,10,95, + 12,13,14,15,16,17,18,19,20,21, + 22,23,24,25,26,27,28,29,30,31, + 32,33,34,35,36,37,38,39,40,41, + 42,61,44,45,46,47,48,49,50,51, + 52,53,54,55,56,57,58,59,60,0, + 62,63,64,0,1,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,0,0,30,0,32,33, - 34,35,36,37,38,39,40,10,124,0, - 44,0,0,4,5,6,7,5,6,7, - 11,12,0,1,2,59,60,61,62,0, - 64,0,66,67,5,6,7,25,26,27, - 74,0,0,77,32,33,34,35,36,37, - 38,39,40,94,95,13,90,0,0,1, - 2,3,4,5,6,7,8,9,74,11, - 12,76,106,107,108,0,1,2,3,4, + 24,25,26,27,28,29,30,31,32,33, + 34,35,36,37,38,39,0,1,2,43, + 0,1,2,3,4,5,6,7,8,9, + 10,0,12,0,1,2,60,61,62,63, + 64,72,66,0,68,76,70,0,5,0, + 7,8,5,77,7,8,80,0,1,2, + 3,4,5,6,7,8,9,10,92,12, + 0,28,29,30,31,32,33,34,35,36, + 37,38,39,0,108,109,110,0,1,2, + 3,4,5,6,7,8,9,10,11,12, + 13,14,15,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, + 43,61,0,6,77,0,1,2,3,4, + 5,6,7,8,9,96,97,60,61,62, + 63,64,0,66,0,68,0,70,0,5, + 0,7,8,5,77,7,8,80,0,1, + 2,3,4,5,6,7,8,9,10,92, + 12,0,28,29,30,31,32,33,34,35, + 36,37,38,39,42,108,109,110,0,1, + 2,3,4,5,6,7,8,9,10,11, + 12,13,14,15,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,43,4,0,0,77,0,1,2,3, + 4,5,6,7,8,9,0,0,60,61, + 62,63,64,0,66,105,68,0,70,13, + 0,1,2,3,4,12,6,0,80,9, + 0,0,5,127,7,8,5,0,7,8, + 92,14,15,16,17,18,19,20,21,22, + 23,24,25,26,61,28,29,30,31,32, + 33,34,35,36,37,38,39,0,1,2, + 40,41,66,77,126,0,1,2,3,4, 5,6,7,8,9,10,11,12,13,14, 15,16,17,18,19,20,21,22,23,24, - 25,26,27,0,0,30,64,32,33,34, - 35,36,37,38,39,40,0,0,121,44, - 3,0,5,6,7,94,95,10,11,12, - 0,10,74,76,59,60,61,62,0,64, - 10,66,67,0,103,28,29,30,0,74, - 0,30,77,0,4,5,6,7,41,42, - 12,0,105,59,0,90,63,110,111,112, - 113,114,115,116,117,118,119,120,0,1, - 63,106,107,108,31,68,69,70,10,73, - 73,74,31,76,77,0,1,2,3,4, - 5,6,7,8,9,75,11,12,91,92, - 93,94,95,96,97,98,99,100,101,102, - 103,104,105,0,1,2,109,110,111,112, - 113,114,115,116,117,118,119,120,121,0, - 123,0,3,105,5,6,7,69,110,10, - 11,12,0,1,2,3,4,5,6,7, - 8,9,10,11,12,0,102,28,29,30, - 5,6,7,0,0,1,2,25,26,27, - 41,42,30,10,32,33,34,35,36,37, - 38,39,40,0,1,2,3,4,5,6, - 7,0,63,30,11,12,0,68,69,70, - 4,70,73,74,0,76,77,0,1,2, - 68,69,0,1,2,11,4,5,6,7, - 91,92,93,94,95,96,97,98,99,100, - 101,102,103,104,105,71,72,0,109,110, - 111,112,113,114,115,116,117,118,119,120, - 121,68,123,0,1,2,3,4,5,6, - 7,8,9,10,11,12,13,14,15,16, - 17,18,19,20,21,22,23,24,25,26, - 27,0,0,30,3,32,33,34,35,36, - 37,38,39,40,0,1,2,44,4,0, - 96,97,8,9,5,6,7,0,1,2, - 73,4,59,60,61,62,0,64,0,66, - 67,0,1,2,25,26,27,0,10,13, - 77,32,33,34,35,36,37,38,39,40, - 0,1,2,90,4,63,0,1,2,3, - 4,5,6,7,8,9,10,11,12,13, - 14,15,16,17,18,19,20,21,22,23, - 24,25,26,27,0,0,30,124,32,33, - 34,35,36,37,38,39,40,69,13,0, - 44,0,71,72,5,6,7,0,1,2, - 0,4,5,6,7,59,60,61,62,0, - 64,93,66,67,25,26,27,0,0,44, - 0,32,33,34,35,36,37,38,39,40, - 10,0,1,2,59,0,90,28,29,0, + 25,26,27,28,29,30,31,32,33,34, + 35,36,37,38,39,108,109,110,43,0, 1,2,3,4,5,6,7,8,9,10, - 11,12,13,14,15,16,17,18,19,20, - 21,22,23,24,25,26,27,93,0,30, - 124,32,33,34,35,36,37,38,39,40, - 0,63,0,44,0,1,2,5,6,7, - 59,0,1,2,10,75,28,29,59,60, - 61,62,63,64,104,66,67,25,26,27, - 0,1,2,78,32,33,34,35,36,37, - 38,39,40,106,107,108,0,1,2,90, - 0,1,2,3,4,5,6,7,8,9, - 10,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,0,75, - 30,0,32,33,34,35,36,37,38,39, - 40,0,11,12,44,0,1,2,3,4, - 5,6,7,8,9,59,11,12,0,59, - 60,61,62,0,64,0,66,67,3,0, - 0,1,2,3,4,10,0,77,8,9, - 10,0,0,1,2,0,4,5,6,7, - 90,0,1,2,3,4,5,6,7,8, - 9,10,11,12,13,14,15,16,17,18, - 19,20,21,22,23,24,25,26,27,74, - 0,30,59,32,33,34,35,36,37,38, - 39,40,63,68,69,44,0,1,68,69, - 70,59,0,73,0,3,76,3,0,1, - 59,60,61,62,10,64,0,66,67,11, - 0,25,0,93,79,5,6,7,77,0, - 0,0,1,2,3,4,5,6,7,8, - 9,90,0,1,2,3,4,5,6,7, + 11,12,0,1,2,60,61,62,63,64, + 0,66,105,68,4,70,0,28,29,30, + 31,32,33,34,35,36,37,38,39,0, + 1,2,43,0,0,1,2,92,4,5, + 30,7,8,0,1,2,3,4,5,6, + 7,8,9,10,65,12,40,41,69,0, + 71,0,1,2,3,4,5,6,7,8, + 9,126,0,1,2,3,4,5,6,7, 8,9,10,11,12,13,14,15,16,17, 18,19,20,21,22,23,24,25,26,27, - 68,0,30,69,32,33,34,35,36,37, - 38,39,40,63,104,63,44,0,1,2, - 3,4,5,6,7,8,9,68,11,12, - 70,59,60,61,62,74,64,0,66,67, - 94,95,0,1,2,3,4,10,0,77, - 8,9,0,1,2,3,4,5,6,7, - 8,9,90,0,1,2,3,4,5,6, - 7,8,9,10,11,12,13,14,15,16, - 17,18,19,20,21,22,23,24,25,26, - 27,74,0,30,93,32,33,34,35,36, - 37,38,39,40,12,0,69,44,0,1, - 2,3,4,5,6,7,8,9,0,11, - 12,73,59,60,61,62,74,64,10,66, - 67,0,1,2,3,4,5,6,7,8, - 9,0,11,12,0,0,1,2,0,5, - 6,7,11,90,0,1,2,3,4,5, - 6,7,8,9,10,11,12,13,14,15, - 16,17,18,19,20,21,22,23,24,25, - 26,27,0,0,30,0,32,33,34,35, - 36,37,38,39,40,77,91,92,44,68, - 0,1,2,3,4,5,6,7,8,9, - 10,28,29,59,60,61,62,0,64,0, - 66,67,0,1,2,0,4,5,6,7, - 30,0,10,11,12,0,0,96,97,0, - 0,1,2,4,90,0,1,2,3,4, + 28,29,30,31,32,33,34,35,36,37, + 38,39,69,0,0,43,0,0,108,109, + 110,5,0,7,8,11,0,0,0,3, + 0,1,60,61,62,63,64,65,66,11, + 68,0,70,0,28,29,30,31,32,33, + 34,35,36,37,38,39,13,43,28,0, + 1,2,40,41,92,0,1,2,3,4, 5,6,7,8,9,10,11,12,13,14, 15,16,17,18,19,20,21,22,23,24, - 25,26,27,91,92,30,59,32,33,34, - 35,36,37,38,39,40,0,0,63,44, - 0,69,0,1,2,3,4,5,6,7, - 8,9,63,68,59,60,61,62,0,64, - 0,66,67,0,0,93,0,31,0,3, - 10,31,91,92,11,0,1,2,3,4, - 0,1,2,8,9,90,11,12,13,14, - 15,16,17,18,19,20,21,22,23,24, - 63,0,0,28,29,0,31,0,1,2, - 73,4,5,6,7,10,41,42,43,0, - 45,46,47,48,49,50,51,52,53,54, - 55,56,57,58,68,98,99,77,74,59, - 65,0,1,2,3,4,71,72,73,8, - 9,10,11,12,13,14,15,16,17,18, - 19,20,21,22,23,24,59,0,0,28, - 29,3,31,0,69,0,74,76,10,74, - 0,0,41,42,43,10,45,46,47,48, - 49,50,51,52,53,54,55,56,57,58, - 0,1,2,3,4,25,65,27,8,9, - 0,0,1,2,3,4,75,0,77,8, + 25,26,27,28,29,30,31,32,33,34, + 35,36,37,38,39,79,93,94,43,0, + 1,2,3,4,5,6,7,8,9,10, + 61,12,0,1,2,60,61,62,63,64, + 0,66,0,68,0,70,0,1,2,0, + 4,5,0,7,8,80,10,11,12,0, + 0,123,13,0,0,13,0,92,0,1, + 2,3,4,5,6,7,8,9,10,11, + 12,13,14,15,16,17,18,19,20,21, + 22,23,24,25,26,27,28,29,30,31, + 32,33,34,35,36,37,38,39,42,60, + 61,43,60,61,0,1,2,71,0,1, + 2,3,4,5,6,7,8,9,60,61, + 62,63,64,69,66,72,68,0,70,76, + 0,95,0,1,2,3,4,5,80,7, + 8,11,10,0,12,96,97,0,1,2, + 92,0,1,2,3,4,5,6,7,8, 9,10,11,12,13,14,15,16,17,18, - 19,20,21,22,23,24,68,69,70,28, - 29,73,31,0,69,70,0,1,2,76, - 0,0,41,42,43,4,45,46,47,48, + 19,20,21,22,23,24,25,26,27,28, + 29,30,31,32,33,34,35,36,37,38, + 39,0,65,0,43,0,1,2,0,4, + 5,69,7,8,77,10,0,12,61,0, + 80,60,61,62,63,64,0,66,0,68, + 0,70,4,5,0,7,8,11,10,0, + 12,80,0,1,2,3,4,5,6,7, + 8,9,0,92,0,1,2,3,4,5, + 6,7,8,9,10,11,12,13,14,15, + 16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,30,31,32,33,34,35, + 36,37,38,39,42,79,0,43,0,1, + 2,3,4,0,6,0,80,9,3,11, + 76,0,1,10,60,61,62,63,64,77, + 66,10,68,107,70,106,96,97,112,113, + 114,115,116,117,118,119,120,121,122,0, + 0,43,0,1,2,0,92,0,1,2, + 3,4,5,6,7,8,9,10,11,12, + 13,14,15,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, + 43,4,5,0,7,8,0,10,0,12, + 104,98,99,61,11,65,0,60,61,62, + 63,64,0,66,69,68,77,70,0,1, + 2,3,4,5,6,7,8,9,10,0, + 12,0,0,1,2,0,43,0,6,92, + 0,1,2,3,4,5,6,7,8,9, + 10,11,12,13,14,15,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,76,43,3,0,1,2,3,4, + 0,6,11,61,9,77,11,0,1,2, + 60,61,62,63,64,76,66,72,68,72, + 70,0,1,2,3,4,0,6,0,3, + 9,0,1,2,3,4,95,6,0,11, + 9,10,92,12,13,14,15,16,17,18, + 19,20,21,22,23,24,25,26,27,0, + 69,0,71,72,69,4,71,76,61,69, + 11,40,41,42,0,44,45,46,47,48, 49,50,51,52,53,54,55,56,57,58, - 103,0,91,92,0,1,65,26,68,0, - 1,2,3,4,10,0,75,8,9,0, - 11,12,13,14,15,16,17,18,19,20, - 21,22,23,24,0,59,63,28,29,0, - 31,0,0,1,2,0,73,5,6,7, - 41,42,43,11,45,46,47,48,49,50, - 51,52,53,54,55,56,57,58,0,1, - 2,98,99,69,65,0,1,2,3,4, - 71,72,63,8,9,70,11,12,13,14, + 59,30,0,1,2,69,4,5,67,7, + 8,73,10,65,12,74,75,76,0,1, + 2,3,4,0,6,0,3,9,10,11, + 12,13,14,15,16,17,18,19,20,21, + 22,23,24,25,26,27,0,1,2,80, + 4,0,6,28,29,9,72,0,40,41, + 42,0,44,45,46,47,48,49,50,51, + 52,53,54,55,56,57,58,59,0,1, + 2,0,4,0,6,67,3,9,0,1, + 2,73,69,0,1,2,3,4,80,6, + 0,0,9,10,11,12,13,14,15,16, + 17,18,19,20,21,22,23,24,25,26, + 27,0,0,1,2,0,4,5,0,7, + 8,3,11,40,41,42,79,44,45,46, + 47,48,49,50,51,52,53,54,55,56, + 57,58,59,28,29,0,1,2,3,4, + 67,6,74,75,9,10,73,12,13,14, 15,16,17,18,19,20,21,22,23,24, - 0,59,63,28,29,0,31,0,74,0, - 5,6,7,74,73,10,41,42,43,10, + 25,26,27,61,0,1,2,0,1,2, + 6,0,71,9,0,40,41,42,11,44, 45,46,47,48,49,50,51,52,53,54, - 55,56,57,58,0,30,91,92,0,0, - 65,0,1,2,3,4,71,72,10,8, - 9,0,11,12,13,14,15,16,17,18, - 19,20,21,22,23,24,0,0,30,28, - 29,0,31,0,74,70,0,70,69,70, - 73,0,41,42,43,4,45,46,47,48, + 55,56,57,58,59,0,0,1,2,0, + 4,5,67,7,8,0,10,0,12,74, + 75,0,1,2,3,4,11,6,0,0, + 9,10,0,12,13,14,15,16,17,18, + 19,20,21,22,23,24,25,26,27,65, + 73,0,1,2,0,0,0,6,3,3, + 9,40,41,42,0,44,45,46,47,48, 49,50,51,52,53,54,55,56,57,58, - 0,0,63,0,0,0,65,0,1,2, - 3,4,71,72,10,8,9,10,11,12, + 59,76,65,0,1,2,71,0,67,0, + 0,0,77,65,3,74,75,0,1,2, + 3,4,0,6,76,3,9,10,79,12, 13,14,15,16,17,18,19,20,21,22, - 23,24,31,0,63,28,29,0,31,63, - 73,0,0,70,73,0,73,10,41,42, - 43,10,45,46,47,48,49,50,51,52, - 53,54,55,56,57,58,63,30,63,98, - 99,30,65,73,70,0,1,2,3,4, - 0,77,75,8,9,10,11,12,13,14, - 15,16,17,18,19,20,21,22,23,24, - 0,1,2,28,29,63,31,70,8,0, - 1,2,0,1,2,0,41,42,43,4, - 45,46,47,48,49,50,51,52,53,54, - 55,56,57,58,0,1,2,3,4,0, - 1,2,8,9,0,11,12,13,14,15, - 16,17,18,19,20,21,22,23,24,59, - 0,0,28,29,0,31,0,122,59,0, - 10,59,0,4,10,41,42,43,63,45, - 46,47,48,49,50,51,52,53,54,55, - 56,57,58,0,0,0,121,0,59,65, - 0,1,2,3,4,44,0,10,8,9, - 0,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,0,0,0,28,29, - 0,31,63,69,70,10,10,77,0,0, - 13,41,42,43,0,45,46,47,48,49, - 50,51,52,53,54,55,56,57,58,0, - 0,0,1,2,3,4,69,0,68,8, - 9,44,11,12,13,14,15,16,17,18, - 19,20,21,22,23,24,59,93,122,28, - 29,0,31,0,69,69,3,0,0,0, - 70,10,41,42,43,0,45,46,47,48, + 23,24,25,26,27,93,94,0,100,101, + 0,1,2,69,0,44,45,40,41,42, + 0,44,45,46,47,48,49,50,51,52, + 53,54,55,56,57,58,59,74,75,0, + 69,107,3,0,67,0,112,0,3,79, + 3,74,75,0,1,2,3,4,11,6, + 93,94,9,10,11,12,13,14,15,16, + 17,18,19,20,21,22,23,24,25,26, + 27,67,111,0,1,2,3,4,0,6, + 0,3,9,40,41,42,125,44,45,46, + 47,48,49,50,51,52,53,54,55,56, + 57,58,59,93,94,72,69,0,71,0, + 67,0,1,2,3,4,73,6,11,10, + 9,10,11,12,13,14,15,16,17,18, + 19,20,21,22,23,24,25,26,27,0, + 1,2,69,4,5,65,7,8,0,1, + 2,40,41,42,0,44,45,46,47,48, 49,50,51,52,53,54,55,56,57,58, - 0,0,0,3,0,3,65,0,8,70, - 70,11,12,0,1,2,3,4,5,6, - 7,8,9,76,0,0,102,3,28,29, - 0,1,2,3,4,5,6,7,8,9, - 69,41,42,43,0,1,2,68,4,5, - 6,7,0,76,76,11,12,0,0,1, - 2,3,4,63,0,0,8,9,68,0, - 70,71,72,73,70,74,76,70,0,1, - 2,3,4,0,0,0,8,9,10,0, - 0,91,92,3,94,0,96,97,98,99, - 100,101,102,103,104,105,0,0,0,109, - 3,111,112,113,114,115,116,117,118,119, - 120,0,1,2,3,4,68,63,76,8, - 9,74,11,12,13,14,15,16,17,18, - 19,20,21,22,23,24,68,69,0,28, - 29,3,31,0,0,0,3,3,3,74, - 65,0,41,42,43,76,45,46,47,48, + 59,0,1,2,3,4,0,6,71,72, + 9,10,0,12,13,14,15,16,17,18, + 19,20,21,22,23,24,25,26,27,0, + 61,0,3,0,1,0,0,98,99,61, + 11,40,41,42,11,44,45,46,47,48, 49,50,51,52,53,54,55,56,57,58, - 0,1,2,3,4,0,0,0,8,9, - 3,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,0,0,0,28,29, - 3,31,0,0,0,3,3,3,0,0, - 0,41,42,43,0,45,46,47,48,49, - 50,51,52,53,54,55,56,57,58,0, - 1,2,3,4,0,0,0,8,9,3, - 11,12,13,14,15,16,17,18,19,20, - 21,22,23,24,0,0,0,28,29,3, - 31,0,8,68,68,0,0,0,3,3, - 41,42,43,122,45,46,47,48,49,50, - 51,52,53,54,55,56,57,58,0,1, - 2,3,4,0,0,0,8,9,0,11, - 12,13,14,15,16,17,18,19,20,21, - 22,23,24,0,0,0,28,29,0,31, - 0,0,0,0,63,0,0,0,0,41, - 42,43,4,45,46,47,48,49,50,51, - 52,53,54,55,56,57,58,0,1,2, - 3,4,0,0,26,8,9,0,11,12, - 13,14,15,16,17,18,19,20,21,22, - 23,24,0,0,76,28,29,0,31,0, - 125,0,0,0,0,0,0,0,41,42, - 43,0,45,46,47,48,49,50,51,52, - 53,54,55,56,57,58,0,1,2,0, - 4,5,6,7,0,0,0,0,0,13, - 14,15,16,17,18,19,20,21,22,23, - 24,25,26,27,106,107,108,0,32,33, - 34,35,36,37,38,39,40,0,0,0, - 44,0,0,0,0,0,0,1,2,0, - 4,5,6,7,0,0,60,61,62,13, - 14,15,16,17,18,19,20,21,22,23, - 24,25,26,27,0,0,0,0,32,33, - 34,35,36,37,38,39,40,0,0,0, - 44,0,1,2,3,4,5,6,7,8, - 9,10,11,12,0,0,60,61,62,0, - 0,0,0,0,3,0,25,26,27,0, - 0,30,0,32,33,34,35,36,37,38, - 39,40,0,1,2,3,4,0,0,0, - 8,9,10,0,0,0,0,0,0,0, - 0,0,41,42,63,5,6,7,0,68, - 69,0,30,0,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,0,68, - 0,0,32,33,34,35,36,37,38,39, - 40,0,1,2,0,4,5,6,7,0, - 0,0,11,12,0,1,2,0,4,5, - 6,7,0,0,0,11,12,0,1,2, - 109,4,5,6,7,0,0,0,11,12, - 0,0,1,2,123,4,0,0,0,8, - 9,0,1,2,0,4,0,0,0,8, - 9,0,1,2,3,4,0,0,0,8, - 9,0,1,2,0,4,0,0,0,8, - 9,0,0,0,0,0,0,0,0,0, + 59,0,0,0,123,3,0,1,67,0, + 1,2,3,4,0,6,0,11,9,10, + 4,12,13,14,15,16,17,18,19,20, + 21,22,23,24,25,26,27,0,1,2, + 71,4,0,6,71,0,9,76,3,40, + 41,42,76,44,45,46,47,48,49,50, + 51,52,53,54,55,56,57,58,59,0, + 0,1,2,3,4,72,6,71,69,9, + 10,65,12,13,14,15,16,17,18,19, + 20,21,22,23,24,25,26,27,61,0, + 1,2,0,4,0,6,0,65,9,3, + 40,41,42,11,44,45,46,47,48,49, + 50,51,52,53,54,55,56,57,58,59, + 0,1,2,3,4,0,6,67,124,9, + 10,72,12,13,14,15,16,17,18,19, + 20,21,22,23,24,25,26,27,0,0, + 61,0,0,5,0,7,8,3,0,10, + 40,41,42,71,44,45,46,47,48,49, + 50,51,52,53,54,55,56,57,58,59, + 0,1,2,3,4,0,6,95,3,9, + 10,0,12,13,14,15,16,17,18,19, + 20,21,22,23,24,25,26,27,0,1, + 2,0,0,65,0,4,65,65,93,94, + 40,41,42,11,44,45,46,47,48,49, + 50,51,52,53,54,55,56,57,58,59, + 0,1,2,3,4,0,6,98,99,9, + 10,0,12,13,14,15,16,17,18,19, + 20,21,22,23,24,25,26,27,0,61, + 0,0,0,0,4,0,65,0,3,11, + 40,41,42,71,44,45,46,47,48,49, + 50,51,52,53,54,55,56,57,58,59, + 0,1,2,3,4,0,6,0,3,9, + 10,43,12,13,14,15,16,17,18,19, + 20,21,22,23,24,25,26,27,0,0, + 79,0,0,0,3,65,65,65,65,11, + 40,41,42,11,44,45,46,47,48,49, + 50,51,52,53,54,55,56,57,58,59, + 0,1,2,3,4,0,6,60,3,9, + 10,43,12,13,14,15,16,17,18,19, + 20,21,22,23,24,25,26,27,0,0, + 0,0,3,3,3,0,0,0,69,11, + 40,41,42,71,44,45,46,47,48,49, + 50,51,52,53,54,55,56,57,58,59, + 0,1,2,3,4,0,6,0,3,9, + 10,0,12,13,14,15,16,17,18,19, + 20,21,22,23,24,25,26,27,0,0, + 0,0,0,0,3,0,3,124,3,71, + 40,41,42,11,44,45,46,47,48,49, + 50,51,52,53,54,55,56,57,58,59, + 0,1,2,3,4,0,6,0,0,9, + 10,3,12,13,14,15,16,17,18,19, + 20,21,22,23,24,25,26,27,81,0, + 79,0,0,0,3,65,0,69,0,124, + 40,41,42,71,44,45,46,47,48,49, + 50,51,52,53,54,55,56,57,58,59, + 0,0,0,3,0,0,6,0,0,0, + 10,0,12,104,42,0,11,72,0,0, + 1,2,3,4,5,6,7,8,9,10, + 11,12,0,0,0,0,0,0,69,0, + 40,41,0,65,44,45,46,28,29,30, + 31,32,33,34,35,36,37,38,39,0, + 0,0,43,0,0,65,0,0,0,69, + 0,12,72,65,74,75,76,72,76,79, + 79,0,0,79,76,80,79,0,69,0, + 71,0,0,93,94,0,96,79,98,99, + 100,101,102,103,104,105,106,107,100,101, + 0,111,0,113,114,115,116,117,118,119, + 120,121,122,0,1,2,0,4,5,0, + 7,8,0,0,0,0,13,14,15,16, + 17,18,19,20,21,22,23,24,25,26, + 27,28,29,30,31,32,33,34,35,36, + 37,38,39,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 59,0,0,0,0,0,0,0,0,0, - 59,0,0,0,0,0,0,0,0,0, + 0,0,0,60,11,62,63,64,0,1, + 2,0,4,5,0,7,8,0,0,0, + 0,13,14,15,16,17,18,19,20,21, + 22,23,24,25,26,27,28,29,30,31, + 32,33,34,35,36,37,38,39,0,1, + 2,3,4,5,6,7,8,9,10,11, + 12,0,65,0,71,72,0,0,60,0, + 62,63,64,76,11,0,28,29,30,31, + 32,33,34,35,36,37,38,39,0,0, + 0,43,0,5,0,7,8,100,101,11, + 0,11,0,0,0,0,43,0,0,0, + 0,0,0,0,0,0,0,69,0,71, 0,0,0,0,0,0,0,0,0,0, + 0,43,0,0,0,72,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 72,71,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,0,0,0,0,0,0,0,0, + 0 }; }; public final static char termCheck[] = TermCheck.termCheck; @@ -1689,395 +1778,422 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym public interface TermAction { public final static char termAction[] = {0, - 6401,6280,5896,5896,5896,5889,5896,5896,5896,5896, - 6311,5896,5896,1,1,1,1,1,1,1, + 6866,6739,6073,6073,6073,6066,6073,6073,6073,6073, + 6073,6773,6073,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,6743,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,129,1,1,1,39,810,1,659,6904, + 7041,6866,111,6877,1,1,6866,1901,923,882, + 6873,3518,3638,2377,3608,3402,3670,3506,729,3498, + 3296,3496,10,6776,6776,6776,6776,6776,6776,6776, + 6776,6776,6776,6776,6776,6776,6776,6776,6776,6776, + 6776,6776,6776,6776,6776,6776,6776,6776,6776,6776, + 6776,6776,6776,6776,6776,6776,6776,6776,6776,6776, + 6776,6776,6776,6776,6776,6776,6776,6776,6776,6776, + 6776,6776,6776,6776,6776,6776,6776,6776,6776,6776, + 6776,6776,6776,130,6776,6776,6776,6866,6776,6776, + 6776,741,6776,3375,3342,6776,6776,6776,5226,5248, + 6776,1,6776,6776,6776,6776,6776,6776,6776,6776, + 6776,6776,6776,6776,8,6835,6835,6835,6835,6835, + 6835,6835,6835,6835,6835,6835,6835,6835,6835,6835, + 6835,6835,6835,6835,6835,6835,6835,6835,6835,6835, + 6835,6835,6835,6835,6835,6835,6835,6835,6835,6835, + 6835,6835,6835,6835,6835,6835,6835,6835,6835,6835, + 6835,6835,6835,6835,6835,6835,6835,6835,6835,6835, + 6835,6835,6835,6835,6835,1,6835,6835,6835,2023, + 6835,6835,6835,382,6835,3375,3342,6835,6835,6835, + 6866,6866,6835,1212,6835,6835,6835,6835,6835,6835, + 6835,6835,6835,6835,6835,6835,6866,6739,6073,6073, + 6073,6066,6073,6073,6073,6073,6073,6746,6073,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,6743, 1,1,1,1,1,1,1,1,1,1, - 6284,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,5099,1,1, + 1,6866,810,1,659,2671,7041,6866,393,6877, + 1,1,386,753,923,671,713,3518,3638,2377, + 3608,3402,3670,3506,729,3498,3296,3496,6866,6739, + 6073,6073,6073,6066,6073,6073,6073,6073,6073,6746, + 6073,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,312,1868,1,677,6576,840,779, - 805,1,1,310,383,6412,2837,6408,1016,3472, - 3690,2297,3629,3311,3624,3444,1541,3404,3398,3361, - 10,6314,6314,6314,6314,6314,6314,6314,6314,6314, - 6314,6314,6314,6314,6314,6314,6314,6314,6314,6314, - 6314,6314,6314,6314,6314,6314,6314,6314,6314,6314, - 6314,6314,6314,6314,6314,6314,6314,6314,6314,6314, - 6314,6314,6314,6314,6314,6314,6314,6314,6314,6314, - 6314,6314,6314,6314,6314,6314,6314,6314,6314,1137, - 6314,6314,6314,394,6314,6314,6314,6314,840,779, - 805,6314,6314,6401,6401,6314,851,6314,6314,6314, - 6314,6314,6314,6314,6314,6314,6314,6314,6314,6314, - 8,6341,6341,6341,6341,6341,6341,6341,6341,6341, - 6341,6341,6341,6341,6341,6341,6341,6341,6341,6341, - 6341,6341,6341,6341,6341,6341,6341,6341,6341,6341, - 6341,6341,6341,6341,6341,6341,6341,6341,6341,6341, - 6341,6341,6341,6341,6341,6341,6341,6341,6341,6341, - 6341,6341,6341,6341,6341,6341,6341,6341,6341,6401, - 6341,6341,6341,578,6341,6341,6341,6341,840,779, - 805,6341,6341,6401,6401,6341,1520,6341,6341,6341, - 6341,6341,6341,6341,6341,6341,6341,6341,6341,6341, - 6401,6280,5896,5896,5896,5889,5896,5896,5896,5896, - 6287,5896,5896,1,1,1,1,1,1,1, + 1,6743,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,6866, + 1,1,1,6866,810,1,659,2138,7041,3424, + 311,6877,1,1,446,753,923,671,713,3518, + 3638,2377,3608,3402,3670,3506,729,3498,3296,3496, + 6866,6739,6073,6073,6073,6066,6073,6073,6073,6073, + 6073,6746,6073,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 6284,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,6401, - 1,1,1,129,1868,1,677,6576,38,6104, - 6101,1,1,35,6401,6412,6098,1111,1016,3472, - 3690,2297,3629,3311,3624,3444,1541,3404,3398,3361, - 6401,6280,5896,5896,5896,5889,5896,5896,5896,5896, - 6287,5896,5896,1,1,1,1,1,1,1, + 1,1,1,6743,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 6284,1,1,1,1,1,1,1,1,1, + 1,984,1,1,1,6866,810,1,659,2800, + 7041,6866,393,6877,1,1,6866,753,923,671, + 713,3518,3638,2377,3608,3402,3670,3506,729,3498, + 3296,3496,6866,6739,6073,6073,6073,6066,6073,6073, + 6073,6073,6073,6746,6073,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1945, - 1,1,1,130,1868,1,677,6576,6401,6415, - 6416,1,1,3316,3236,6412,857,1111,1016,3472, - 3690,2297,3629,3311,3624,3444,1541,3404,3398,3361, - 6401,6280,5896,5896,5896,5889,5896,5896,5896,5896, - 6287,5896,5896,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 6284,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,6743,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,6401, - 1,1,1,586,1868,1,677,6576,840,779, - 805,1,1,3316,3236,6412,6401,6401,1016,3472, - 3690,2297,3629,3311,3624,3444,1541,3404,3398,3361, - 6401,6280,5896,5896,5896,5889,5896,5896,5896,5896, - 6287,5896,5896,1,1,1,1,1,1,1, + 1,1,1,7265,1,1,1,6866,810,1, + 659,6866,7041,6866,582,6877,1,1,426,753, + 923,671,713,3518,3638,2377,3608,3402,3670,3506, + 729,3498,3296,3496,6866,6739,6073,6073,6073,6066, + 6073,6073,6073,6073,6073,6746,6073,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 6284,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,4868, - 1,1,1,577,1868,1,677,6576,840,779, - 805,1,1,39,6401,6412,6401,6439,1016,3472, - 3690,2297,3629,3311,3624,3444,1541,3404,3398,3361, - 6401,6280,5896,5896,5896,5889,5896,5896,5896,5896, - 6287,5896,5896,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,6743,1,1, 1,1,1,1,1,1,1,1,1,1, - 6284,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1037,1,1,1,6866, + 810,1,659,6866,7041,6866,590,6877,1,1, + 6866,753,923,671,713,3518,3638,2377,3608,3402, + 3670,3506,729,3498,3296,3496,6866,6739,6073,6073, + 6073,6066,6073,6073,6073,6073,6073,6746,6073,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,6912, - 1,1,1,585,1868,1,677,6576,840,779, - 805,1,1,6401,6401,6412,3509,1164,1016,3472, - 3690,2297,3629,3311,3624,3444,1541,3404,3398,3361, - 6401,6280,5896,5896,5896,5889,5896,5896,5896,5896, - 6287,5896,5896,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 6284,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,6743, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,6401, - 1,1,1,115,1868,1,677,6576,6401,6415, - 6416,1,1,6401,4784,6412,1898,2700,1016,3472, - 3690,2297,3629,3311,3624,3444,1541,3404,3398,3361, - 6401,6280,5896,5896,5896,5889,5896,5896,5896,5896, - 6287,5896,5896,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,2418,1,1, + 1,6866,810,1,659,6866,7041,6866,581,6877, + 1,1,6866,753,923,671,713,3518,3638,2377, + 3608,3402,3670,3506,729,3498,3296,3496,6866,6739, + 6073,6073,6073,6066,6073,6073,6073,6073,6073,6746, + 6073,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 6284,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,6401, - 1,1,1,2755,1868,1,677,6576,6401,4754, - 689,1,1,6401,568,6412,2413,1580,1016,3472, - 3690,2297,3629,3311,3624,3444,1541,3404,3398,3361, - 6401,6280,5896,5896,5896,5889,5896,5896,5896,5896, - 6287,5896,5896,1,1,1,1,1,1,1, + 1,6743,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,2189, + 1,1,1,6866,810,1,659,6866,7041,6866, + 589,6877,1,1,6866,753,923,671,713,3518, + 3638,2377,3608,3402,3670,3506,729,3498,3296,3496, + 6866,6739,6073,6073,6073,6066,6073,6073,6073,6073, + 6073,6746,6073,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 6284,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,6401, - 1,1,1,330,1868,1,677,6576,840,779, - 805,1,1,556,543,6412,2290,1185,1016,3472, - 3690,2297,3629,3311,3624,3444,1541,3404,3398,3361, - 6401,6280,5896,5896,5896,5889,5896,5896,5896,5896, - 6287,5896,5896,1,1,1,1,1,1,1, + 1,1,1,6743,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 6284,1,1,1,1,1,1,1,1,1, + 1,3730,1,1,1,6866,810,1,659,6866, + 7041,6866,329,6877,1,1,6866,753,923,671, + 713,3518,3638,2377,3608,3402,3670,3506,729,3498, + 3296,3496,6866,6739,6073,6073,6073,6066,6073,6073, + 6073,6073,6073,6746,6073,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,6401, - 1,1,1,579,1868,1,677,6576,840,779, - 805,1,1,6401,6401,6412,5696,4020,1016,3472, - 3690,2297,3629,3311,3624,3444,1541,3404,3398,3361, - 6401,6280,5896,5896,5896,5889,5896,5896,5896,5896, - 6287,5896,5896,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 6284,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,6743,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,111, - 1,1,1,416,1868,1,677,6576,840,779, - 805,1,1,562,6401,6412,6401,3258,1016,3472, - 3690,2297,3629,3311,3624,3444,1541,3404,3398,3361, - 39,5902,5899,5695,880,840,779,805,5000,1111, - 6962,5066,5088,1428,6665,6663,6672,6671,6667,6668, - 6666,6669,6670,6673,6664,6737,6661,6738,5044,5022, - 6401,6420,6655,6662,6658,6634,6660,6659,6656,6657, - 6635,5132,5110,4978,6798,1727,1854,6422,1768,5400, - 1821,6423,6421,1715,6417,6418,6419,3108,5379,114, - 3683,6799,6800,5220,5242,1498,6401,6165,6165,229, - 6161,5896,5896,5896,229,229,6169,229,229,1, + 1,1,1,3790,1,1,1,6866,810,1, + 659,6866,7041,6866,583,6877,1,1,6866,753, + 923,671,713,3518,3638,2377,3608,3402,3670,3506, + 729,3498,3296,3496,6866,6739,6073,6073,6073,6066, + 6073,6073,6073,6073,6073,6746,6073,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,447,291,229,6401,1,1, - 1,1,1,1,1,1,1,6405,5888,39, - 1,6401,224,6439,840,779,805,5943,5937,5940, - 330,330,6401,6083,6080,6158,1,1,1,581, - 876,113,1408,6812,6317,6323,6320,6737,6661,6738, - 229,135,301,415,6655,6662,6658,6634,6660,6659, - 6656,6657,6635,5220,5242,6701,6900,139,6401,5915, - 5911,2940,5908,6086,6092,6089,857,1111,776,6095, - 6095,2244,6835,6836,6837,6401,6165,6165,229,6161, - 5896,5896,5896,229,229,6238,229,229,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,386,6401,229,891,1,1,1, - 1,1,1,1,1,1,6401,33,6404,1, - 6149,6401,6149,6149,6149,5220,5242,6149,6149,6149, - 6401,6411,2203,2015,6158,1,1,1,139,876, - 6413,1408,6812,6401,2714,6149,6149,6149,131,229, - 394,6410,414,6401,387,840,779,805,6149,6149, - 3036,567,2636,1116,133,6900,6077,4249,1968,1921, - 1874,1827,1780,1733,1686,1639,1592,1545,6401,1533, - 6149,6835,6836,6837,1273,6149,6149,6149,6407,6855, - 6149,6149,1492,6149,6149,308,5915,5911,2940,5908, - 6086,6092,6089,857,1111,6412,6095,6095,6149,6149, - 6149,6149,6149,6149,6149,6149,6149,6149,6149,6149, - 6149,6149,6149,6401,6415,6416,6149,6149,6149,6149, - 6149,6149,6149,6149,6149,6149,6149,6149,6149,6401, - 6149,307,6268,2636,6268,6268,6268,6406,4249,6268, - 6268,6268,32,387,387,6299,387,387,387,387, - 387,387,6299,6299,6299,580,2905,6268,6268,6268, - 6326,6332,6329,404,6401,6415,6416,387,387,387, - 6268,6268,6299,6232,387,387,387,387,387,387, - 387,387,387,344,39,39,2784,6439,840,779, - 805,6401,6268,6235,330,330,6401,6268,6268,6268, - 1972,2970,6268,6268,117,6268,6268,6401,9999,9945, - 6299,6299,286,5976,5976,4784,283,840,779,805, - 6268,6268,6268,6268,6268,6268,6268,6268,6268,6268, - 6268,6268,6268,6268,6268,5182,1065,6401,6268,6268, - 6268,6268,6268,6268,6268,6268,6268,6268,6268,6268, - 6268,636,6268,6401,5896,5896,229,5896,5889,5896, - 5896,229,229,5925,229,229,1,1,1,1, + 1,1,1,1,1,1,1,6743,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,6401,453,229,4187,1,1,9831,1,1, - 1,1,1,1,6401,5902,5899,1,880,225, - 4754,689,857,1111,5952,5946,5949,6401,5902,5899, - 6841,6439,5893,1,1,1,301,631,1,677, - 6612,6401,6083,6080,6737,6661,6738,6401,362,6701, - 219,6655,6662,6658,6634,6660,6659,6656,6657,6635, - 6401,5902,5899,6900,6439,6107,6401,5896,5896,229, - 5896,5889,5896,5896,229,229,229,229,229,1, + 1,1,1,1,1,137,1,1,1,356, + 810,1,659,385,7041,6866,415,6877,1,1, + 6866,753,923,671,713,3518,3638,2377,3608,3402, + 3670,3506,729,3498,3296,3496,6866,6575,6575,6575, + 6575,6575,6575,6575,6575,6575,6575,6575,6575,1, + 6092,6088,3408,6085,223,897,6866,701,1143,6117, + 365,6111,6114,6866,6575,6575,6575,6575,6575,6575, + 6575,6575,6575,6575,6575,6575,6575,6575,6300,6575, + 6575,6575,6123,6120,6129,6147,6126,6138,6108,6132, + 6135,6144,6141,6105,1,6092,6088,6082,6085,6866, + 6099,6575,1528,6096,7221,6575,6866,6575,6575,6575, + 306,2829,6575,6575,6575,6575,6575,6878,1531,6866, + 365,365,6866,6079,6076,365,6904,6866,1327,6575, + 6575,6575,6575,6575,6575,6575,6575,6575,6575,6575, + 6575,6575,6575,6575,365,35,6065,6575,6575,6575, + 6575,6575,6575,6575,6575,6575,6575,6575,6575,6575, + 561,6575,6866,6658,6658,6658,6658,6658,6658,6658, + 6658,6658,6658,6658,6658,6866,37,6578,6578,6877, + 224,753,3061,671,713,6162,329,6156,6159,7426, + 6658,6658,6658,6658,6658,6658,6658,6658,6658,6658, + 6658,6658,6658,6658,1,6658,6658,6658,6168,6165, + 6174,6192,6171,6183,6153,6177,6180,6189,6186,6150, + 6866,285,6252,6252,1466,282,753,6658,671,713, + 2672,6658,7193,6658,6658,6658,1100,6902,6658,6658, + 6658,6658,6658,1,6092,6088,4145,6085,6494,897, + 6500,6497,1143,6866,307,6658,6658,6658,6658,6658, + 6658,6658,6658,6658,6658,6658,6658,6658,6658,6658, + 37,6578,6578,6658,6658,6658,6658,6658,6658,6658, + 6658,6658,6658,6658,6658,6658,307,6658,39,6079, + 6076,5768,1057,753,5077,671,713,1143,4989,7223, + 5011,1884,7459,7460,7129,7127,7136,7135,7131,7132, + 7130,7133,7134,7137,7128,5428,7201,7202,7125,7119, + 7126,7122,7098,7124,7123,7120,7121,7099,4967,4945, + 6885,6902,5055,5033,4516,1378,1526,6887,1396,5407, + 1525,6888,6886,1302,6882,6883,6884,5332,7262,6866, + 2573,7263,7264,6866,3337,1576,6866,6591,6591,228, + 6587,6073,228,6073,6073,228,228,6595,228,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,357,1,229,219,1,1, - 9831,1,1,1,1,1,1,362,6226,226, - 1,6401,5182,1065,5973,5967,5970,583,6131,6131, - 137,588,840,779,805,5893,1,1,1,118, - 631,362,677,6612,6737,6661,6738,438,439,6229, - 1,6655,6662,6658,6634,6660,6659,6656,6657,6635, - 6116,37,6152,6152,2549,1,6900,4693,4669,6401, - 5896,5896,229,5896,5889,5896,5896,229,229,229, - 229,229,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,6757,120,229, - 220,1,1,9831,1,1,1,1,1,1, - 6401,6110,227,1,6401,6415,6416,5985,5979,5982, - 6437,48,6083,6080,6413,6412,4693,4669,5893,1, - 1,1,1124,631,2676,677,6612,6737,6661,6738, - 396,6415,6416,2269,6655,6662,6658,6634,6660,6659, - 6656,6657,6635,6835,6836,6837,6401,6211,6208,6900, - 6401,5896,5896,229,5896,5889,5896,5896,229,229, - 6155,229,229,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,6401,6412, - 229,6401,1,1,9831,1,1,1,1,1, - 1,6401,2955,6729,1,6401,5915,5911,2940,5908, - 6086,6092,6089,857,1111,6437,6137,6137,6401,5893, - 1,1,1,47,631,1,677,6612,2784,29, - 1,5915,5911,3420,5908,6259,6401,220,857,1111, - 366,6401,393,5964,5964,6401,283,5955,5961,5958, - 6900,6401,5896,5896,229,5896,5889,5896,5896,229, - 229,6155,229,229,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,2203, - 138,229,1569,1,1,9831,1,1,1,1, - 1,1,6113,636,6262,1,545,6947,636,366, - 366,283,317,366,6401,6134,1295,2698,6401,2766, - 5893,1,1,1,6407,631,112,677,6612,2577, - 394,6948,6401,366,3698,840,779,805,220,319, - 565,1,5915,5911,2940,5908,6086,6092,6089,857, - 1111,6900,6401,5896,5896,229,5896,5889,5896,5896, - 229,229,6155,229,229,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 636,1,229,6406,1,1,9831,1,1,1, - 1,1,1,2134,2676,2671,1,6401,6335,6335, - 6335,6335,6335,6335,6335,6335,6335,636,6335,6335, - 2238,5893,1,1,1,2203,631,6401,677,6612, - 5220,5242,1,5915,5911,5905,5908,6407,6401,220, - 5922,5919,1,5915,5911,2940,5908,6086,6092,6089, - 857,1111,6900,6401,5896,5896,229,5896,5889,5896, - 5896,229,229,229,229,229,1,1,1,1, + 1,1,1,1,1,1,6866,6306,6303,228, + 307,6092,6088,4145,6085,6494,897,6500,6497,1143, + 6503,6866,6503,6866,6880,6881,1,6584,1,1, + 1,3056,908,225,2091,5314,7276,585,6219,114, + 6213,6216,6779,228,6785,6782,414,6866,6092,6088, + 4145,6085,6494,897,6500,6497,1143,6503,7364,6503, + 47,6225,6222,6231,6249,6228,6240,6210,6234,6237, + 6246,6243,6207,6866,7299,7300,7301,6866,6591,6591, + 228,6587,6073,228,6073,6073,228,228,6682,228, 1,1,1,1,1,1,1,1,1,1, - 1,6335,132,229,6759,1,1,9831,1,1, - 1,1,1,1,3036,121,6406,1,6401,5915, - 5911,2940,5908,6086,6092,6089,857,1111,6401,6137, - 6137,3525,5893,1,1,1,2203,631,6409,677, - 6612,344,5902,5899,3420,880,840,779,805,857, - 1111,116,330,330,417,6401,9999,9945,6401,840, - 779,805,4784,6900,6401,5896,5896,229,5896,5889, - 5896,5896,229,229,229,229,229,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,125,119,229,6401,1,1,9831,1, - 1,1,1,1,1,6408,4368,4399,1,636, - 1,5915,5911,2940,5908,6086,6092,6089,857,1111, - 308,4693,4669,5893,1,1,1,37,631,6401, - 677,6612,1,6293,6293,6401,6290,6086,6092,6089, - 308,124,362,330,330,457,6401,4754,689,395, - 290,6415,6416,386,6900,6401,5896,5896,229,5896, - 5889,5896,5896,229,229,229,229,229,1,1, + 1,1,1,1,1,1,1,6866,6880,6881, + 228,1478,6866,1901,2283,329,6079,6076,4145,1057, + 753,897,671,713,1143,5226,5248,1,6584,1, + 1,1,566,908,226,2091,185,7276,584,6267, + 135,6261,6264,6788,228,6794,6791,413,6866,6092, + 6088,4145,6085,6494,897,6500,6497,1143,6563,7364, + 6563,6866,6273,6270,6279,6297,6276,6288,6258,6282, + 6285,6294,6291,6255,1934,7299,7300,7301,6866,6073, + 6073,228,6073,6066,228,6073,6073,228,228,6102, + 228,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,4368,4399,229,6437,1,1,9831, - 1,1,1,1,1,1,6401,126,2134,1, - 6401,362,330,5902,5899,2940,880,840,779,805, - 857,1111,2134,6143,5893,1,1,1,6401,631, - 1,677,6612,6401,6401,362,346,2037,6401,3399, - 6244,1492,4368,4399,3350,1,5915,5911,5695,5908, - 43,6217,6217,5000,1111,6900,5066,5088,6172,6199, - 6205,6178,6181,6193,6190,6196,6187,6184,6175,6202, - 3602,369,427,5044,5022,6401,6420,584,6128,6128, - 6241,588,6119,6125,6122,6407,5132,5110,4978,6401, - 1727,1854,6422,1768,5400,1821,6423,6421,1715,6417, - 6418,6419,3108,5379,636,3445,2573,6408,6801,6214, - 1498,39,5902,5899,5695,880,39,39,515,5000, - 1111,6374,5066,5088,2039,6665,6663,6672,6671,6667, - 6668,6666,6669,6670,6673,6664,588,136,1,5044, - 5022,2784,6420,367,6406,6401,1005,1342,340,885, - 335,123,5132,5110,4978,6407,1727,1854,6422,1768, - 5400,1821,6423,6421,1715,6417,6418,6419,3108,5379, - 1,5915,5911,2940,5908,6737,1498,6738,857,1111, - 456,39,5902,5899,5695,880,6223,6401,6408,5000, - 1111,6220,5066,5088,2039,6665,6663,6672,6671,6667, - 6668,6666,6669,6670,6673,6664,636,340,340,5044, - 5022,340,6420,128,6406,2183,45,6277,6277,1404, - 6401,39,5132,5110,4978,6439,1727,1854,6422,1768, - 5400,1821,6423,6421,1715,6417,6418,6419,3108,5379, - 2714,6401,4368,4399,6401,2846,1498,2565,6146,141, - 5902,5899,5695,880,6407,514,6223,5000,1111,6401, - 5066,5088,2039,6665,6663,6672,6671,6667,6668,6666, - 6669,6670,6673,6664,6401,6274,3602,5044,5022,29, - 6420,6401,37,6152,6152,122,6305,840,779,805, - 5132,5110,4978,330,1727,1854,6422,1768,5400,1821, - 6423,6421,1715,6417,6418,6419,3108,5379,36,6371, - 6368,3445,2573,6406,1498,551,5902,5899,5695,880, - 39,39,1124,5000,1111,961,5066,5088,2039,6665, - 6663,6672,6671,6667,6668,6666,6669,6670,6673,6664, - 6401,6437,2134,5044,5022,6401,6420,6401,2338,6401, - 6345,6353,6349,423,3526,6357,5132,5110,4978,6407, - 1727,1854,6422,1768,5400,1821,6423,6421,1715,6417, - 6418,6419,3108,5379,6401,6357,4368,4399,1,6401, - 1498,1,5915,5911,5695,5908,39,39,6411,5000, - 1111,6401,5066,5088,6172,6199,6205,6178,6181,6193, - 6190,6196,6187,6184,6175,6202,6401,6401,6410,5044, - 5022,127,6420,6401,2109,6357,6401,3636,6406,1451, - 5264,6401,5132,5110,4978,2248,1727,1854,6422,1768, - 5400,1821,6423,6421,1715,6417,6418,6419,3108,5379, - 6401,1,3781,6401,6401,6401,1498,39,5902,5899, - 5695,880,39,39,6409,5000,1111,6220,5066,5088, - 2039,6665,6663,6672,6671,6667,6668,6666,6669,6670, - 6673,6664,720,6401,3602,5044,5022,6401,6420,3841, - 3534,1,6401,3636,6308,6401,3715,6411,5132,5110, - 4978,191,1727,1854,6422,1768,5400,1821,6423,6421, - 1715,6417,6418,6419,3108,5379,4097,6410,4148,3445, - 2573,191,1498,3536,1089,39,5902,5899,5695,880, - 6401,6408,6223,5000,1111,6405,5066,5088,2039,6665, - 6663,6672,6671,6667,6668,6666,6669,6670,6673,6664, - 37,6152,6152,5044,5022,3384,6420,3141,6152,6401, - 10421,10421,37,6152,6152,48,5132,5110,4978,6416, - 1727,1854,6422,1768,5400,1821,6423,6421,1715,6417, - 6418,6419,3108,5379,39,5902,5899,5695,880,6401, - 6364,6360,5000,1111,6401,5066,5088,2039,6665,6663, - 6672,6671,6667,6668,6666,6669,6670,6673,6664,1992, - 8,6401,5044,5022,6401,6420,374,3559,6437,48, - 6392,1804,6401,6415,6407,5132,5110,4978,6416,1727, - 1854,6422,1768,5400,1821,6423,6421,1715,6417,6418, - 6419,3108,5379,6401,1,6401,6404,1,6437,1498, - 39,5902,5899,5695,880,2180,6401,161,5000,1111, - 6401,5066,5088,2039,6665,6663,6672,6671,6667,6668, - 6666,6669,6670,6673,6664,1,1,1,5044,5022, - 448,6420,6415,6406,5515,527,163,6392,6401,6401, - 6226,5132,5110,4978,134,1727,1854,6422,1768,5400, - 1821,6423,6421,1715,6417,6418,6419,3108,5379,361, - 289,39,5902,5899,5695,880,161,507,3138,5000, - 1111,6229,5066,5088,2039,6665,6663,6672,6671,6667, - 6668,6666,6669,6670,6673,6664,2549,3966,3559,5044, - 5022,1,6420,91,527,163,6265,505,419,347, - 2456,6407,5132,5110,4978,6401,1727,1854,6422,1768, - 5400,1821,6423,6421,1715,6417,6418,6419,3108,5379, - 1,6401,237,1755,157,6296,1498,425,6869,841, - 951,6863,6867,1,5915,5911,2940,5908,6086,6092, - 6089,857,1111,4226,1,6401,2905,5454,6861,6862, - 586,5902,5899,2940,880,840,779,805,857,1111, - 6406,6892,6893,6870,443,1,1,636,1,6140, - 6140,6140,6401,4573,2391,6140,6140,6401,1,5915, - 5911,3420,5908,6872,73,6401,857,1111,1713,6401, - 6894,1337,1377,6873,2062,3684,6871,3299,1,5915, - 5911,3420,5908,6401,6401,6401,857,1111,6259,6401, - 6401,6883,6882,5753,6895,531,6864,6865,6888,6889, - 6886,6887,6866,6868,6890,6891,6401,6401,6401,6896, - 5769,6876,6877,6878,6874,6875,6884,6885,6880,6879, - 6881,39,5902,5899,5719,880,636,6389,1945,5000, - 1111,3744,5066,5088,2039,6665,6663,6672,6671,6667, - 6668,6666,6669,6670,6673,6664,636,6262,6401,5044, - 5022,4154,6420,6401,6401,6401,5776,4283,4317,3804, - 3767,520,5132,5110,4978,2156,1727,1854,6422,1768, - 5400,1821,6423,6421,1715,6417,6418,6419,3108,5379, - 39,5902,5899,5729,880,6401,6401,6401,5000,1111, - 4498,5066,5088,2039,6665,6663,6672,6671,6667,6668, - 6666,6669,6670,6673,6664,100,99,6401,5044,5022, - 4779,6420,6401,6401,6401,4129,4224,4225,6401,6401, - 6401,5132,5110,4978,6401,1727,1854,6422,1768,5400, - 1821,6423,6421,1715,6417,6418,6419,3108,5379,39, - 5902,5899,5746,880,6401,6401,6401,5000,1111,4816, - 5066,5088,2039,6665,6663,6672,6671,6667,6668,6666, - 6669,6670,6673,6664,6401,185,103,5044,5022,4393, - 6420,2,1898,4815,2432,6401,278,6401,3901,6395, - 5132,5110,4978,3559,1727,1854,6422,1768,5400,1821, - 6423,6421,1715,6417,6418,6419,3108,5379,39,5902, - 5899,5695,880,6401,6401,6401,5000,1111,509,5066, - 5088,2039,6665,6663,6672,6671,6667,6668,6666,6669, - 6670,6673,6664,6401,6401,6401,5044,5022,6401,6420, - 6401,6401,6401,6401,37,6401,6401,6401,39,5132, - 5110,4978,6439,1727,1854,6422,1768,5400,1821,6423, - 6421,1715,6417,6418,6419,3108,5379,39,5902,5899, - 5695,880,6401,6401,1162,5000,1111,6401,5066,5088, - 2039,6665,6663,6672,6671,6667,6668,6666,6669,6670, - 6673,6664,6401,6401,2545,5044,5022,6401,6420,6401, - 6398,6401,6401,6401,6401,6401,6401,6401,5132,5110, - 4978,6401,1727,1854,6422,1768,5400,1821,6423,6421, - 1715,6417,6418,6419,3108,5379,6401,5902,5899,6401, - 6439,840,779,805,6401,6401,6401,6401,6401,721, - 6665,6663,6672,6671,6667,6668,6666,6669,6670,6673, - 6664,6737,6661,6738,6835,6836,6837,6401,6655,6662, - 6658,6634,6660,6659,6656,6657,6635,6401,6401,6401, - 6798,6401,6401,6401,6401,6401,241,6070,6066,6401, - 6074,6000,5994,5997,6401,6401,3683,6799,6800,721, - 6057,6063,6036,6039,6051,6048,6054,6045,6042,6033, - 6060,6006,6012,6003,6401,6401,6401,6401,6030,6009, - 6021,5991,6015,6018,6027,6024,5988,6401,6401,6401, - 6798,29,386,386,6302,386,386,386,386,386, - 386,6302,6302,6302,6401,6401,3683,6799,6800,6401, - 6401,75,6401,6401,4054,6401,386,386,386,6401, - 6401,6302,6401,386,386,386,386,386,386,386, - 386,386,1,5915,5911,5905,5908,6401,6401,6401, - 5922,5919,6411,6401,6401,6401,6401,6401,6401,6401, - 223,6401,6463,6464,6113,5934,5928,5931,6401,6302, - 6302,6401,6410,6401,6665,6663,6672,6671,6667,6668, - 6666,6669,6670,6673,6664,6737,6661,6738,6401,3228, - 6401,6401,6655,6662,6658,6634,6660,6659,6656,6657, - 6635,444,39,39,6401,6439,6247,6253,6250,6401, - 6401,6401,6256,6256,92,1,1,6401,1,6338, - 6338,6338,6401,6401,6401,6338,6338,95,39,39, - 801,6439,6377,6383,6380,6401,6401,6401,6386,6386, - 6401,6401,5902,5899,1235,880,6401,6401,6401,6271, - 1111,6401,5902,5899,6401,880,6401,6401,6401,6271, - 1111,1,5915,5911,2940,5908,6401,6401,6401,857, - 1111,6401,5902,5899,6401,880,6401,6401,6401,857, - 1111,6401,6401,6401,6401,6401,6401,6401,6401,6401, - 6401,6401,6401,6401,6401,6401,6401,6401,6401,6401, - 730,6401,6401,6401,6401,6401,6401,6401,6401,6401, - 2608 + 1,11244,1,1,1,1,1,1,6866,6079, + 6076,228,6904,37,6866,2283,1,6092,6088,4145, + 6085,6494,897,6500,6497,1143,300,437,1,6070, + 1,1,1,131,780,2867,659,6866,7077,7165, + 1,6092,6088,4145,6085,3128,897,595,219,1143, + 118,416,6366,6863,6360,6363,753,136,671,713, + 7364,7459,7460,7129,7127,7136,7135,7131,7132,7130, + 7133,7134,7137,7128,6902,6372,6369,6378,6396,6375, + 6387,6357,6381,6384,6393,6390,6354,6866,11002,10943, + 4746,3438,1050,2283,219,6866,6073,6073,228,6073, + 6066,228,6073,6073,228,228,228,228,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,11244,1, + 1,1,1,1,1,7299,7300,7301,228,29, + 385,385,6730,385,385,385,385,385,385,6730, + 6730,6730,48,6306,6303,1,6070,1,1,1, + 39,780,2867,659,6904,7077,120,385,385,385, + 385,385,385,385,385,385,385,385,385,395, + 6880,6881,6730,6866,587,6539,6539,7364,592,753, + 630,671,713,343,6079,6076,3408,1057,753,897, + 671,713,1143,329,6521,329,4746,3438,6730,6866, + 6730,1,6092,6088,4145,6085,6494,897,6500,6497, + 1143,220,6866,6073,6073,228,6073,6066,228,6073, + 6073,228,228,228,228,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,11244,1,1,1,1, + 1,1,1531,121,6866,228,578,6866,7299,7300, + 7301,6321,119,6315,6318,6876,309,6866,6866,2537, + 544,7411,1,6070,1,1,1,1148,780,6870, + 659,6866,7077,300,6327,6324,6333,6351,6330,6342, + 6312,6336,6339,6348,6345,6309,7165,6875,7412,6866, + 6646,6643,4746,3438,7364,6866,6073,6073,228,6073, + 6066,228,6073,6073,228,228,6581,228,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,11244,1, + 1,1,1,1,1,1169,4414,4445,228,6866, + 6092,6088,4145,6085,6494,897,6500,6497,1143,6563, + 6902,6563,6866,11002,10943,1,6070,1,1,1, + 6866,780,6866,659,6866,7077,1,6752,6752,1, + 6749,6494,1,6500,6497,220,329,361,329,113, + 6866,6869,6670,6866,318,6670,6866,7364,6866,6073, + 6073,228,6073,6066,228,6073,6073,228,228,6581, + 228,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,11244,1,1,1,1,1,1,1694,6673, + 2711,228,6673,2711,289,6880,6881,361,590,6079, + 6076,4145,1057,753,897,671,713,1143,1,6070, + 1,1,1,1531,780,3056,659,29,7077,3706, + 6866,361,343,39,39,3012,6904,753,220,671, + 713,6874,329,6866,329,5226,5248,43,6652,6652, + 7364,6866,6073,6073,228,6073,6066,228,6073,6073, + 228,228,6581,228,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,11244,1,1,1,1,1, + 1,6866,1697,6866,228,442,6566,6566,6866,6566, + 6566,1531,6566,6566,422,6566,139,6566,6649,138, + 6873,1,6070,1,1,1,1,780,39,659, + 112,7077,6904,753,6866,671,713,6688,329,6866, + 329,220,1,6092,6088,4145,6085,6494,897,6500, + 6497,1143,6866,7364,6866,6073,6073,228,6073,6066, + 228,6073,6073,228,228,228,228,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,11244,1,1, + 1,1,1,1,1934,2095,133,228,1,6092, + 6088,6082,6085,115,6099,6866,6873,6096,1221,6876, + 7376,6866,3081,4818,1,6070,1,1,1,2283, + 780,2714,659,2625,7077,2829,5226,5248,3736,2048, + 2001,1954,1907,1860,1813,1766,1719,1672,1625,6866, + 452,6875,6866,11250,11250,456,7364,6866,6073,6073, + 228,6073,6066,228,6073,6073,228,228,228,228, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 11244,1,1,1,1,1,1,443,6712,6712, + 228,6706,6697,403,6703,6700,6866,6709,6866,6709, + 3017,4794,4770,6902,6676,6515,6866,1,6070,1, + 1,1,6866,780,6569,659,3850,7077,6866,6797, + 6797,6797,6797,6797,6797,6797,6797,6797,6797,6866, + 6797,1,37,6578,6578,564,6679,513,6578,7364, + 6866,6073,6073,228,6073,6066,228,6073,6073,228, + 228,228,228,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,11244,1,1,1,1,1,1, + 6866,1,2781,228,3012,1,6092,6088,3408,6085, + 455,897,339,1978,1143,6797,6715,45,6724,6724, + 1,6070,1,1,1,2795,780,769,659,993, + 7077,1,6092,6088,4145,6085,316,897,1,6560, + 1143,1,6092,6088,5768,6085,4062,5077,438,6524, + 1143,4989,7364,5011,6598,6604,6601,6631,6637,6610, + 6613,6625,6622,6628,6619,6616,6607,6634,6640,8, + 1531,39,339,339,1531,6904,6718,339,6721,6572, + 6860,4967,4945,6885,157,5055,5033,4516,1378,1526, + 6887,1396,5407,1525,6888,6886,1302,6882,6883,6884, + 5332,1619,92,6736,6736,1531,6736,6736,1576,6736, + 6736,6877,6736,6518,6736,39,39,514,39,6079, + 6076,5768,1057,345,5077,334,3574,1143,4989,6854, + 5011,1459,7459,7460,7129,7127,7136,7135,7131,7132, + 7130,7133,7134,7137,7128,5129,6866,6079,6076,6860, + 1057,6866,897,6694,6691,1143,2142,290,4967,4945, + 6885,6866,5055,5033,4516,1378,1526,6887,1396,5407, + 1525,6888,6886,1302,6882,6883,6884,5332,6866,6079, + 6076,6866,1057,6866,897,1576,2117,1143,6866,6880, + 6881,6667,1531,39,6079,6076,5768,1057,6873,5077, + 6866,6866,1143,4989,6664,5011,1459,7459,7460,7129, + 7127,7136,7135,7131,7132,7130,7133,7134,7137,7128, + 5129,6866,392,6204,6204,334,282,6195,6866,6201, + 6198,5791,6872,4967,4945,6885,2324,5055,5033,4516, + 1378,1526,6887,1396,5407,1525,6888,6886,1302,6882, + 6883,6884,5332,7201,7202,141,6079,6076,5768,1057, + 1576,5077,5204,727,1143,4989,6667,5011,1459,7459, + 7460,7129,7127,7136,7135,7131,7132,7130,7133,7134, + 7137,7128,5129,282,38,6512,6509,6866,6880,6881, + 6506,6866,6871,1143,29,4967,4945,6885,6878,5055, + 5033,4516,1378,1526,6887,1396,5407,1525,6888,6886, + 1302,6882,6883,6884,5332,6866,95,6829,6829,6866, + 6823,6814,1576,6820,6817,6866,6826,6866,6826,39, + 39,550,6079,6076,5768,1057,6872,5077,126,368, + 1143,4989,125,5011,1459,7459,7460,7129,7127,7136, + 7135,7131,7132,7130,7133,7134,7137,7128,5129,6521, + 6877,6866,6880,6881,139,6866,567,897,2570,2169, + 1143,4967,4945,6885,346,5055,5033,4516,1378,1526, + 6887,1396,5407,1525,6888,6886,1302,6882,6883,6884, + 5332,2802,2120,6866,6306,6303,6871,124,1576,6866, + 366,75,2167,3648,6554,39,39,1,6092,6088, + 5768,6085,555,5077,6685,1976,1143,4989,1374,5011, + 6598,6604,6601,6631,6637,6610,6613,6625,6622,6628, + 6619,6616,6607,6634,6640,4414,4445,6866,3584,3552, + 36,6770,6767,1531,530,6545,6542,4967,4945,6885, + 123,5055,5033,4516,1378,1526,6887,1396,5407,1525, + 6888,6886,1302,6882,6883,6884,5332,5204,727,91, + 6557,2625,6655,447,1576,542,3736,1,1217,1437, + 3012,39,39,39,6079,6076,5768,1057,6715,5077, + 4414,4445,1143,4989,6664,5011,1459,7459,7460,7129, + 7127,7136,7135,7131,7132,7130,7133,7134,7137,7128, + 5129,3731,6548,1,6092,6088,3408,6085,1,897, + 6866,4198,1143,4967,4945,6885,6551,5055,5033,4516, + 1378,1526,6887,1396,5407,1525,6888,6886,1302,6882, + 6883,6884,5332,4414,4445,2922,1531,6866,6718,117, + 1576,39,6079,6076,5768,1057,6667,5077,6872,4818, + 1143,4989,6870,5011,1459,7459,7460,7129,7127,7136, + 7135,7131,7132,7130,7133,7134,7137,7128,5129,588, + 6536,6536,1531,592,6527,3316,6533,6530,37,6578, + 6578,4967,4945,6885,6866,5055,5033,4516,1378,1526, + 6887,1396,5407,1525,6888,6886,1302,6882,6883,6884, + 5332,39,6079,6076,5768,1057,6866,5077,6871,2168, + 1143,4989,6866,5011,1459,7459,7460,7129,7127,7136, + 7135,7131,7132,7130,7133,7134,7137,7128,5129,6866, + 592,6866,3097,6866,2089,6866,6866,4794,4770,1995, + 6872,4967,4945,6885,6872,5055,5033,4516,1378,1526, + 6887,1396,5407,1525,6888,6886,1302,6882,6883,6884, + 5332,6866,6866,360,6869,3796,6866,3268,1576,39, + 6079,6076,5768,1057,6866,5077,394,6872,1143,4989, + 385,5011,1459,7459,7460,7129,7127,7136,7135,7131, + 7132,7130,7133,7134,7137,7128,5129,6866,6079,6076, + 6871,1057,6866,6661,6871,236,1143,2858,6733,4967, + 4945,6885,7319,5055,5033,4516,1378,1526,6887,1396, + 5407,1525,6888,6886,1302,6882,6883,6884,5332,288, + 39,6079,6076,5768,1057,1929,5077,6871,1610,1143, + 4989,1697,5011,1459,7459,7460,7129,7127,7136,7135, + 7131,7132,7130,7133,7134,7137,7128,5129,2806,6866, + 6079,6076,1,1057,6866,6661,6866,3947,1143,3881, + 4967,4945,6885,361,5055,5033,4516,1378,1526,6887, + 1396,5407,1525,6888,6886,1302,6882,6883,6884,5332, + 39,6079,6076,2568,1057,122,5077,1576,3610,1143, + 4989,687,5011,1459,7459,7460,7129,7127,7136,7135, + 7131,7132,7130,7133,7134,7137,7128,5129,393,116, + 2932,6866,6866,753,6866,671,713,3916,6866,4818, + 4967,4945,6885,361,5055,5033,4516,1378,1526,6887, + 1396,5407,1525,6888,6886,1302,6882,6883,6884,5332, + 39,6079,6076,2945,1057,6866,5077,361,3941,1143, + 4989,6866,5011,1459,7459,7460,7129,7127,7136,7135, + 7131,7132,7130,7133,7134,7137,7128,5129,6866,6804, + 6800,48,1,1697,6866,6881,4007,4031,4414,4445, + 4967,4945,6885,161,5055,5033,4516,1378,1526,6887, + 1396,5407,1525,6888,6886,1302,6882,6883,6884,5332, + 39,6079,6076,5579,1057,6866,5077,4794,4770,1143, + 4989,506,5011,1459,7459,7460,7129,7127,7136,7135, + 7131,7132,7130,7133,7134,7137,7128,5129,1,6902, + 48,6866,6866,6866,6880,6866,6881,6866,4061,6876, + 4967,4945,6885,161,5055,5033,4516,1378,1526,6887, + 1396,5407,1525,6888,6886,1302,6882,6883,6884,5332, + 39,6079,6076,5766,1057,6866,5077,6866,4067,1143, + 4989,6875,5011,1459,7459,7460,7129,7127,7136,7135, + 7131,7132,7130,7133,7134,7137,7128,5129,1,100, + 4272,6866,1,373,4203,6880,1697,1148,3490,191, + 4967,4945,6885,526,5055,5033,4516,1378,1526,6887, + 1396,5407,1525,6888,6886,1302,6882,6883,6884,5332, + 39,6079,6076,5768,1057,6866,5077,2982,5853,1143, + 4989,191,5011,1459,7459,7460,7129,7127,7136,7135, + 7131,7132,7130,7133,7134,7137,7128,5129,1,6866, + 6866,6866,5859,706,5870,519,6866,6866,6764,163, + 4967,4945,6885,526,5055,5033,4516,1378,1526,6887, + 1396,5407,1525,6888,6886,1302,6882,6883,6884,5332, + 39,6079,6076,2945,1057,103,5077,6866,6808,1143, + 4989,504,5011,1459,7459,7460,7129,7127,7136,7135, + 7131,7132,7130,7133,7134,7137,7128,5129,99,134, + 73,6866,1,6866,3687,277,4240,3610,6857,163, + 4967,4945,6885,6872,5055,5033,4516,1378,1526,6887, + 1396,5407,1525,6888,6886,1302,6882,6883,6884,5332, + 39,6079,6076,5768,1057,424,5077,6866,103,1143, + 4989,6808,5011,1459,7459,7460,7129,7127,7136,7135, + 7131,7132,7130,7133,7134,7137,7128,5129,3705,100, + 5719,6866,1,6866,5851,6832,6866,6811,2,3610, + 4967,4945,6885,6871,5055,5033,4516,1378,1526,6887, + 1396,5407,1525,6888,6886,1302,6882,6883,6884,5332, + 1,418,6866,1574,6866,6866,7333,6866,128,6866, + 7327,6866,7331,3017,625,6866,6874,2981,508,32, + 386,386,6727,386,386,386,386,386,386,6727, + 6727,6727,6866,6866,6866,6866,6866,6866,6764,6866, + 7325,7326,6866,37,7356,7357,7334,386,386,386, + 386,386,386,386,386,386,386,386,386,132, + 6866,6866,6727,6866,6866,7336,6866,6866,6866,973, + 6866,3128,7358,3648,1666,1746,7337,1121,7305,7335, + 2471,6866,6866,1466,6755,6873,2236,6866,6727,6866, + 6727,6866,6866,7347,7346,6866,7359,2582,7328,7329, + 7352,7353,7350,7351,7330,7332,7354,7355,3584,3552, + 6866,7360,6866,7340,7341,7342,7338,7339,7348,7349, + 7344,7343,7345,6866,6079,6076,6866,6904,753,6866, + 671,713,6866,6866,6866,6866,656,7459,7460,7129, + 7127,7136,7135,7131,7132,7130,7133,7134,7137,7128, + 4870,7201,7202,7125,7119,7126,7122,7098,7124,7123, + 7120,7121,7099,6866,6866,6866,6866,6866,6866,6866, + 6866,6866,6866,6866,6866,6866,6866,127,6866,6866, + 6866,6866,6866,7262,6872,2573,7263,7264,240,6448, + 6444,6866,6452,6411,6866,6405,6408,6866,6866,6866, + 6866,656,6458,6455,6485,6491,6464,6467,6479,6476, + 6482,6473,6470,6461,6488,4870,6417,6414,6423,6441, + 6420,6432,6402,6426,6429,6438,6435,6399,572,574, + 574,574,574,574,574,574,574,574,6761,6761, + 6761,6866,3648,6866,6871,1484,6866,6866,7262,6866, + 2573,7263,7264,6758,6876,6866,574,574,574,574, + 574,574,574,574,574,574,574,574,6866,6866, + 6866,6761,6866,6839,6866,6847,6843,3584,3552,6851, + 6866,6872,6866,6866,6866,6866,6875,6866,6866,6866, + 6866,6866,6866,6866,6866,6866,6866,574,6866,6761, + 6866,6866,6866,6866,6866,6866,6866,6866,6866,6866, + 6866,6851,6866,6866,6866,3205,6866,6866,6866,6866, + 6866,6866,6866,6866,6866,6866,6866,6866,6866,6866, + 6866,6866,6866,6866,6866,6866,6866,6866,6866,6866, + 6851,6871,5861 }; }; public final static char termAction[] = TermAction.termAction; @@ -2085,66 +2201,66 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym public interface Asb { public final static char asb[] = {0, - 1096,62,1087,70,221,1130,483,1047,119,176, - 1095,252,638,1186,967,1186,1186,1186,978,178, - 978,924,978,935,978,962,978,252,641,121, - 1130,1035,542,726,726,181,641,726,641,1186, - 377,952,260,437,178,256,641,639,116,714, - 366,119,433,926,480,924,176,252,935,485, - 641,641,481,254,13,13,775,808,1,1, - 1038,668,774,1035,1035,641,860,367,485,485, - 723,59,367,726,726,377,726,641,302,869, - 449,438,438,437,437,437,252,641,639,652, - 308,651,656,366,365,367,433,641,10,954, - 370,481,178,674,641,485,481,641,298,13, - 178,252,808,17,1035,1041,641,600,135,1035, - 808,298,719,485,485,1038,59,59,639,869, - 449,437,381,437,641,775,775,116,775,1141, - 119,429,428,366,381,641,433,15,176,377, - 637,907,433,10,371,13,10,13,481,674, - 674,641,952,418,1186,377,377,377,377,252, - 1186,581,544,601,601,601,601,601,601,601, - 601,601,601,601,728,734,739,736,743,741, - 748,746,750,749,751,314,752,951,641,254, - 641,178,562,549,641,1186,59,766,1035,1042, - 367,600,381,178,1035,808,1045,719,952,952, - 723,367,793,778,792,951,377,64,64,381, - 381,641,642,367,656,367,323,367,302,909, - 13,13,13,13,641,674,381,644,380,1038, - 865,789,788,581,221,221,221,221,641,324, - 367,367,581,1144,220,302,581,581,581,728, - 73,73,324,600,601,601,601,601,601,601, - 601,601,601,601,601,601,601,601,601,601, - 601,601,601,600,600,600,600,600,600,600, - 600,600,600,600,600,601,581,298,797,563, - 252,641,324,649,381,135,719,718,799,600, - 790,790,863,1038,80,449,438,449,950,950, - 775,367,429,639,774,601,15,809,662,771, - 909,13,13,126,381,601,641,418,367,867, - 869,367,367,952,952,952,952,481,367,601, - 679,984,984,252,544,59,220,600,367,367, - 367,638,640,638,367,59,736,736,734,734, - 734,741,741,741,741,739,739,746,743,743, - 749,748,750,15,751,797,562,15,601,15, - 775,561,1186,1186,1186,563,1186,641,817,775, - 775,641,178,367,600,135,719,799,600,600, - 867,778,449,221,221,323,775,909,601,601, - 771,771,909,909,549,251,127,641,367,869, - 1186,1186,1186,1186,641,641,641,302,601,221, - 732,384,367,641,640,302,600,553,1186,553, - 563,15,563,581,581,579,922,581,775,775, - 815,797,380,801,951,771,771,126,641,252, - 252,641,944,367,600,600,600,600,1186,1186, - 481,639,367,732,1038,254,641,639,80,563, - 367,1035,367,579,1130,1186,367,797,379,134, - 801,905,641,641,641,944,944,367,367,367, - 367,324,324,641,732,733,732,600,384,306, - 728,254,367,367,1032,563,815,563,775,1130, - 600,563,560,379,379,1186,64,641,641,946, - 944,367,367,1019,732,324,601,59,306,178, - 178,1034,600,561,324,775,367,870,950,946, - 946,733,367,59,563,367,775,429,638,946, - 563,221 + 1077,1,1068,87,187,1114,457,1025,85,142, + 1076,221,671,1172,956,1172,1172,1172,144,956, + 762,956,695,956,956,221,674,956,632,943, + 937,54,1114,1013,518,956,956,147,674,956, + 674,1172,582,935,3,408,144,225,674,672, + 82,758,400,85,404,764,454,762,142,221, + 695,459,674,674,455,223,632,632,632,632, + 632,632,632,632,632,632,631,520,632,1172, + 582,582,582,582,221,1172,956,769,769,296, + 916,59,59,1016,779,295,1013,1013,674,855, + 401,459,459,956,343,401,956,956,582,956, + 674,48,866,420,409,409,408,408,408,221, + 674,672,686,564,685,785,400,399,401,404, + 674,766,708,575,455,144,690,674,459,455, + 674,44,612,612,612,612,401,631,1128,186, + 48,956,612,187,187,187,187,674,356,75, + 75,356,631,769,144,221,916,299,1013,1019, + 674,631,99,1013,916,44,956,459,459,1016, + 343,343,672,866,420,408,572,408,674,296, + 296,82,296,1125,85,806,805,400,572,674, + 404,1187,142,582,670,1174,404,766,576,769, + 766,769,455,690,690,674,935,795,255,260, + 257,264,262,269,267,271,270,272,346,273, + 934,674,223,674,401,612,401,401,401,683, + 343,186,631,401,401,935,935,935,935,455, + 401,671,673,671,401,343,144,593,704,674, + 1172,343,287,1013,1020,401,572,144,1013,916, + 1023,956,935,935,956,401,71,791,70,934, + 582,677,677,572,572,674,675,401,785,401, + 355,401,48,1176,769,769,769,769,674,690, + 572,716,571,1016,862,67,66,632,632,632, + 632,632,632,632,632,632,632,632,632,632, + 632,632,632,632,632,632,631,631,631,631, + 631,631,631,631,631,631,631,631,632,612, + 44,962,962,221,520,632,721,632,631,632, + 187,956,956,401,1172,1172,1172,1172,674,674, + 674,673,48,858,594,221,674,356,572,99, + 956,229,907,631,68,68,860,1016,525,420, + 409,420,933,933,296,401,806,672,295,632, + 1187,917,773,292,1176,769,769,90,572,632, + 674,795,401,864,866,257,257,255,255,255, + 262,262,262,262,260,260,267,264,264,270, + 269,271,1187,272,674,48,966,401,956,1016, + 631,631,631,631,1172,1172,223,674,672,858, + 593,1187,632,1187,296,592,1172,1172,1172,594, + 1172,674,810,296,296,674,144,401,99,956, + 907,631,631,864,791,420,187,187,355,296, + 1176,632,632,292,292,1176,1176,704,220,91, + 674,401,866,631,455,672,956,956,956,631, + 956,401,401,401,401,356,356,52,956,223, + 584,1172,584,594,1187,594,612,612,610,925, + 612,296,296,923,858,571,909,934,292,292, + 90,674,221,221,674,927,401,674,956,356, + 632,343,401,401,52,525,594,401,1013,401, + 610,1114,1172,401,858,570,98,909,905,674, + 674,674,927,927,997,956,401,343,401,401, + 1010,594,923,594,296,1114,631,594,591,570, + 570,1172,677,674,674,929,927,144,144,1012, + 631,592,356,296,401,867,933,929,929,594, + 401,296,806,671,929,594,187 }; }; public final static char asb[] = Asb.asb; @@ -2152,125 +2268,125 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym public interface Asr { public final static char asr[] = {0, - 78,3,73,93,76,70,69,30,68,6, - 7,5,10,75,74,0,71,72,3,13, - 46,50,48,45,53,15,24,14,20,18, - 19,21,22,17,16,23,54,55,56,31, - 52,47,51,8,9,4,41,42,12,11, - 28,29,43,49,58,57,1,2,121,10, - 0,124,0,73,76,70,1,2,0,3, - 27,0,9,4,59,8,1,2,0,5, - 32,14,15,44,25,16,60,33,34,17, - 35,36,18,19,37,38,20,21,39,61, - 40,13,62,22,26,23,27,24,1,2, - 4,6,7,93,0,10,74,69,31,0, - 10,74,75,78,0,26,1,2,4,106, - 107,108,0,77,71,72,65,41,42,12, - 11,28,29,8,43,49,58,57,3,4, - 9,54,55,56,31,52,47,51,15,24, - 14,20,18,19,21,22,17,16,23,13, - 46,50,48,45,53,1,2,75,10,0, - 72,71,28,29,11,96,97,102,12,103, - 8,43,76,63,73,114,115,111,112,113, - 119,118,120,92,91,116,117,100,101,98, - 99,104,105,41,42,70,94,109,68,3, - 13,60,44,61,62,15,24,14,20,18, - 19,21,22,17,16,23,32,38,39,34, - 37,36,33,25,27,5,7,6,35,40, - 26,1,2,4,0,10,75,76,0,32, - 14,15,44,25,16,60,33,90,34,17, - 35,36,18,19,37,64,38,20,21,39, - 61,40,13,62,22,66,26,23,27,24, - 3,12,4,30,67,75,10,5,11,6, - 7,9,59,1,2,8,0,10,74,70, - 69,3,0,5,73,74,93,121,77,30, - 6,7,70,14,15,45,71,16,46,47, - 17,18,19,72,9,48,20,21,49,50, - 51,65,52,53,13,22,23,24,54,55, - 56,31,2,41,42,12,11,28,29,8, - 43,4,57,58,3,1,69,10,0,4, - 10,74,75,6,7,5,63,0,30,70, - 77,10,0,94,28,29,96,97,91,92, - 63,98,99,100,101,102,103,104,105,110, - 74,93,76,111,112,113,114,115,116,117, - 118,119,120,121,77,30,95,73,5,1, - 2,12,11,4,6,7,68,3,69,10, - 70,0,106,107,108,74,77,9,10,3, - 12,11,8,30,67,64,90,66,5,32, - 14,15,44,25,16,60,33,34,17,35, - 36,18,19,37,38,20,21,39,61,40, - 13,62,22,26,23,27,24,6,7,4, - 1,2,59,0,5,32,14,15,44,25, - 45,16,46,60,33,34,47,17,35,36, - 18,19,37,38,48,20,21,49,39,50, - 61,51,65,52,40,53,13,62,22,26, - 23,27,24,54,55,56,31,3,41,42, - 12,11,28,29,43,73,4,57,58,6, - 7,9,8,1,2,72,71,0,10,75, - 70,0,90,106,107,108,59,74,124,122, - 125,77,67,78,66,64,80,82,88,86, - 79,84,85,87,89,75,81,83,30,10, - 5,32,44,25,60,33,34,35,36,37, - 38,39,61,40,62,26,27,6,7,65, - 71,72,46,50,48,45,53,15,24,14, - 20,18,19,21,22,17,16,23,54,55, - 56,31,52,47,51,3,41,42,12,11, - 28,29,43,49,58,57,13,4,9,8, - 2,1,0,10,70,77,76,0,121,30, - 70,69,10,74,0,10,70,69,1,25, - 0,74,5,68,6,7,63,10,70,30, - 76,3,0,1,2,10,77,0,5,32, - 14,15,25,16,33,34,17,35,36,18, - 19,37,9,38,20,21,39,40,22,26, - 23,27,24,1,2,68,12,11,8,4, - 30,6,7,69,10,3,0,65,25,9, - 27,8,1,2,4,78,75,123,109,41, - 42,68,3,95,94,11,96,97,28,29, - 92,91,63,98,99,100,101,12,102,103, - 104,73,93,69,76,111,112,113,114,115, - 116,117,118,119,120,74,121,77,105,110, - 6,7,5,70,30,10,0,5,12,11, - 6,7,9,8,4,1,2,3,68,73, - 76,70,10,69,93,0,122,0,25,27, - 65,78,73,74,93,69,75,3,5,10, - 70,30,6,7,76,0,14,15,45,71, - 16,46,47,17,18,19,72,9,48,20, - 21,49,50,51,65,52,53,13,22,23, - 24,54,55,56,31,1,2,3,41,42, - 28,29,8,43,4,57,58,30,10,11, - 12,0,8,9,3,68,11,12,93,5, - 32,14,15,25,16,60,33,34,17,35, - 36,18,19,37,38,20,21,39,61,40, - 13,62,22,26,23,27,24,1,2,4, - 6,7,69,10,44,0,30,10,3,9, - 8,74,12,11,4,1,2,6,7,5, - 0,79,0,59,4,5,10,74,75,6, - 7,1,2,0,4,10,75,6,7,5, - 1,2,0,25,27,65,10,93,69,76, - 70,73,0,4,10,74,75,6,7,5, - 0,13,60,44,61,62,15,24,14,20, - 18,19,21,22,17,16,23,78,74,93, - 121,77,75,123,95,109,94,41,42,28, - 29,96,97,91,92,63,73,98,99,100, - 101,102,103,104,105,110,76,111,112,113, - 114,115,116,117,118,119,120,70,32,25, - 33,34,35,36,37,38,39,40,26,27, - 30,10,69,68,8,9,3,1,2,4, - 12,6,7,5,11,0,16,60,33,17, - 35,36,18,19,37,38,20,21,39,61, - 40,62,22,26,23,27,24,25,44,15, - 14,32,10,3,12,11,30,66,90,34, - 67,63,6,7,5,59,9,1,2,8, - 4,13,64,0,77,32,14,15,44,25, - 16,60,33,17,35,36,18,19,37,38, - 20,21,39,61,40,13,62,22,26,23, - 27,24,124,67,64,34,90,66,59,5, - 10,12,30,6,7,8,9,2,4,3, - 1,11,0,71,72,41,42,12,11,28, - 29,8,43,49,58,57,4,9,54,55, - 56,31,52,47,51,15,24,14,20,18, - 19,21,22,17,16,23,13,46,50,48, - 45,53,68,1,2,3,0 + 126,0,14,15,31,16,17,60,28,18, + 62,32,92,33,19,34,35,20,21,36, + 66,37,22,23,38,63,39,13,64,24, + 68,30,25,29,26,3,12,4,43,27, + 70,73,11,5,10,7,8,9,61,1, + 2,6,0,11,77,73,78,0,5,78, + 77,43,73,7,8,3,69,76,79,72, + 11,71,95,0,9,4,61,6,1,2, + 0,11,77,71,42,0,3,29,0,30, + 1,2,4,108,109,110,0,80,74,75, + 67,44,45,12,10,40,41,6,46,51, + 59,27,3,4,9,56,57,58,42,54, + 49,53,17,26,16,22,20,21,23,24, + 19,18,25,14,15,13,48,52,50,47, + 55,1,2,73,11,0,75,74,40,41, + 10,98,99,104,12,105,6,46,79,65, + 76,116,117,113,114,115,121,120,122,94, + 93,118,119,102,103,100,101,106,107,44, + 45,72,96,111,69,3,17,26,16,22, + 20,21,23,24,19,18,25,14,15,27, + 13,62,60,63,64,31,37,38,33,36, + 35,32,28,29,5,8,7,34,39,30, + 1,2,4,0,11,73,79,0,31,32, + 33,34,35,36,9,37,38,67,78,39, + 30,1,2,69,3,125,111,44,45,6, + 4,73,28,29,97,96,10,98,99,40, + 41,94,93,65,100,101,102,103,12,104, + 105,106,76,95,71,79,113,114,115,116, + 117,118,119,120,121,122,77,123,80,107, + 112,7,8,5,72,43,11,0,74,75, + 3,13,48,52,50,47,55,17,26,16, + 22,20,21,23,24,19,18,25,14,15, + 56,57,58,42,54,49,53,6,9,4, + 44,45,12,10,40,41,46,51,59,27, + 1,2,123,11,0,5,76,77,95,123, + 80,43,7,8,72,14,15,16,17,47, + 74,18,48,49,19,20,21,75,9,50, + 22,23,51,52,53,67,54,55,13,24, + 25,26,56,57,58,42,2,44,45,12, + 10,40,41,6,46,4,27,59,3,1, + 71,11,0,108,109,110,77,80,9,11, + 3,12,10,6,43,70,66,92,68,14, + 15,5,31,16,17,60,28,18,62,32, + 33,19,34,35,20,21,36,37,22,23, + 38,63,39,13,64,24,30,25,29,26, + 27,7,8,4,1,2,61,0,14,15, + 5,31,16,17,60,28,47,18,48,62, + 32,33,49,19,34,35,20,21,36,37, + 50,22,23,51,38,52,63,53,67,54, + 39,55,13,64,24,30,25,29,26,56, + 57,58,42,3,44,45,12,10,40,41, + 46,76,4,27,59,7,8,9,6,1, + 2,75,74,0,14,15,5,31,16,17, + 60,28,18,62,32,33,19,34,35,20, + 21,36,37,22,23,38,63,39,13,64, + 24,30,25,29,26,1,2,4,27,7, + 8,95,0,11,77,72,71,3,0,43, + 72,80,11,0,4,11,77,73,7,8, + 5,65,0,92,108,109,110,61,77,126, + 124,127,80,70,78,68,66,82,84,90, + 88,81,86,87,89,91,73,83,85,43, + 11,5,31,60,28,62,32,33,34,35, + 36,37,38,63,39,64,30,29,7,8, + 67,74,75,48,52,50,47,55,17,26, + 16,22,20,21,23,24,19,18,25,14, + 15,56,57,58,42,54,49,53,3,44, + 45,12,10,40,41,46,51,59,27,13, + 4,9,6,2,1,0,76,79,72,1, + 2,0,123,43,72,71,11,77,0,1, + 2,11,80,0,4,11,73,7,8,5, + 1,2,0,11,73,72,0,4,11,77, + 73,7,8,5,0,11,72,80,79,0, + 14,15,5,31,16,17,28,18,32,33, + 19,34,35,20,21,36,9,37,22,23, + 38,39,24,30,25,29,26,1,2,69, + 12,10,6,4,43,7,8,71,11,3, + 0,61,4,1,2,7,8,5,11,77, + 73,0,77,5,69,7,8,65,11,72, + 43,79,3,0,11,72,71,1,28,0, + 95,9,6,79,76,5,1,2,12,10, + 4,7,8,69,3,71,11,72,0,14, + 15,16,17,47,74,18,48,49,19,20, + 21,75,9,50,22,23,51,52,53,67, + 54,55,13,24,25,26,56,57,58,42, + 1,2,3,44,45,40,41,6,46,4, + 27,59,43,11,10,12,0,124,0,6, + 9,3,69,10,12,95,14,15,5,31, + 16,17,28,18,62,32,33,19,34,35, + 20,21,36,37,22,23,38,63,39,13, + 64,24,30,25,29,26,1,2,4,27, + 7,8,71,11,60,0,28,29,67,78, + 76,77,95,71,73,3,5,11,72,43, + 7,8,79,0,81,0,28,29,67,11, + 95,71,79,72,76,0,27,13,62,60, + 63,64,17,26,16,22,20,21,23,24, + 19,18,25,14,15,78,77,95,123,80, + 73,125,111,44,45,97,96,40,41,98, + 99,93,94,65,76,100,101,102,103,104, + 105,106,107,112,79,113,114,115,116,117, + 118,119,120,121,122,72,31,28,32,33, + 34,35,36,37,38,39,30,29,43,11, + 71,69,6,9,3,1,2,4,12,7, + 8,5,10,0,60,28,18,62,32,19, + 34,35,20,21,36,37,22,23,38,63, + 39,64,24,30,25,29,26,17,16,31, + 27,15,14,11,3,12,10,43,68,92, + 33,70,65,7,8,5,61,9,1,2, + 6,4,13,66,0,80,14,15,31,16, + 17,60,28,18,62,32,19,34,35,20, + 21,36,37,22,23,38,63,39,13,64, + 24,30,25,29,26,27,126,70,66,33, + 92,68,61,5,11,12,43,7,8,6, + 9,2,4,3,1,10,0,74,75,44, + 45,12,10,40,41,6,46,51,59,27, + 4,9,56,57,58,42,54,49,53,17, + 26,16,22,20,21,23,24,19,18,25, + 14,15,13,48,52,50,47,55,69,1, + 2,3,0,43,11,3,9,6,12,10, + 4,1,2,7,8,5,77,0 }; }; public final static char asr[] = Asr.asr; @@ -2278,66 +2394,66 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym public interface Nasb { public final static char nasb[] = {0, - 220,12,30,34,5,200,12,254,12,17, - 254,88,88,12,251,12,12,12,252,176, - 252,120,252,120,252,245,12,10,153,190, - 113,185,142,12,12,90,263,12,153,12, - 12,12,175,190,176,12,210,210,54,215, - 207,12,190,107,88,236,17,88,236,190, - 153,11,12,12,190,77,180,120,15,15, - 275,65,12,138,230,153,12,215,190,190, - 27,25,215,12,12,12,12,11,58,190, - 190,254,254,190,220,190,88,61,142,215, - 12,12,128,125,12,215,266,108,120,120, - 12,210,176,190,210,36,122,108,130,77, - 96,44,236,20,138,236,153,156,82,114, - 120,161,190,36,36,275,25,25,142,227, - 227,220,75,220,210,180,180,54,180,12, - 54,215,12,215,75,153,180,12,60,12, - 30,199,266,120,120,190,236,190,122,190, - 264,11,12,147,12,12,12,12,12,88, - 12,285,153,84,84,84,84,259,84,84, - 84,84,84,84,12,12,12,12,12,12, - 12,12,12,12,12,84,12,12,108,12, - 11,96,74,12,210,12,25,12,231,120, - 215,84,190,176,230,236,12,164,12,12, - 281,215,12,183,12,12,12,32,32,75, - 75,61,12,215,128,215,84,215,58,113, - 190,190,134,134,108,264,75,12,12,275, - 146,15,15,285,41,41,41,41,153,217, - 215,215,1,84,79,58,285,285,285,12, - 48,48,217,196,84,84,84,84,84,84, - 84,84,84,84,84,84,84,84,84,84, - 84,84,84,84,84,84,84,84,84,84, - 84,84,84,84,196,84,36,130,190,172, - 44,11,217,12,75,190,190,164,190,84, - 12,12,182,275,227,227,254,190,12,12, - 180,215,215,142,180,84,12,13,12,120, - 230,134,134,67,75,84,264,279,215,273, - 190,215,215,12,12,12,12,57,215,84, - 12,12,12,10,153,25,41,156,215,215, - 215,141,153,141,215,25,12,12,12,12, - 12,12,12,12,12,12,12,12,12,12, - 12,12,12,12,12,159,192,12,84,12, - 180,12,12,12,12,193,12,264,178,180, - 180,264,71,215,84,82,164,164,84,84, - 273,136,227,41,41,84,180,114,84,84, - 236,120,230,12,12,88,94,210,215,227, - 12,12,12,12,108,11,153,58,84,41, - 190,101,215,153,104,58,84,111,12,12, - 193,12,193,289,289,225,12,289,180,180, - 12,190,75,190,12,120,236,168,210,88, - 88,11,190,215,196,196,196,196,12,12, - 56,108,215,166,281,12,263,108,41,193, - 215,185,215,238,190,12,215,159,99,81, - 63,12,11,210,210,164,190,215,215,215, - 215,217,217,108,190,151,12,196,281,105, - 12,12,215,215,190,193,12,193,180,114, - 196,193,111,99,12,12,32,11,11,190, - 164,215,215,12,166,217,84,25,105,71, - 71,183,84,12,242,180,215,213,12,63, - 190,151,215,25,193,215,180,215,141,63, - 193,41 + 235,13,16,82,5,276,13,256,13,47, + 256,95,95,13,251,13,13,13,167,251, + 146,251,146,251,13,11,219,251,91,250, + 243,217,139,212,177,13,13,97,265,13, + 219,13,13,13,166,217,167,13,240,240, + 60,289,111,13,217,197,95,24,47,95, + 24,217,219,12,13,13,91,91,91,91, + 91,91,91,91,91,91,226,219,261,13, + 13,13,13,13,95,13,13,217,58,207, + 146,31,31,159,109,13,173,18,219,13, + 289,217,217,133,119,289,13,13,13,13, + 12,64,217,217,256,256,217,235,217,95, + 67,177,289,13,13,201,128,13,289,268, + 198,146,146,13,240,167,217,240,50,103, + 198,35,181,181,181,181,289,91,91,33, + 64,13,181,55,55,55,55,219,148,41, + 41,148,226,58,106,78,24,114,173,24, + 219,136,89,140,146,232,217,50,50,159, + 119,119,177,28,28,235,195,235,240,207, + 207,60,207,13,60,289,13,289,195,219, + 207,13,66,13,16,275,268,146,146,217, + 24,217,103,217,266,12,13,190,13,13, + 13,13,13,13,13,13,13,13,91,13, + 13,198,13,12,289,1,289,289,289,13, + 119,55,136,289,289,13,13,13,13,63, + 289,176,219,176,289,119,106,194,13,240, + 13,119,13,19,146,289,217,167,18,24, + 13,69,13,13,153,289,13,210,13,13, + 13,131,131,195,195,67,13,289,201,289, + 91,289,64,139,217,217,203,203,198,266, + 195,13,13,159,189,31,31,91,91,91, + 91,91,91,91,91,91,91,91,91,91, + 91,91,91,91,91,91,91,91,91,91, + 91,91,91,91,91,91,91,226,91,50, + 35,13,13,11,219,91,13,91,91,91, + 55,217,121,289,13,13,13,13,198,12, + 219,229,64,217,163,78,12,148,195,217, + 217,69,217,91,13,13,209,159,28,28, + 256,217,13,13,207,289,289,177,207,91, + 13,39,13,146,18,203,203,84,195,91, + 266,151,289,157,217,13,13,13,13,13, + 13,13,13,13,13,13,13,13,13,13, + 13,13,13,13,219,64,13,289,76,153, + 226,226,226,226,13,13,13,265,198,74, + 222,13,91,13,207,13,13,13,13,223, + 13,266,205,207,207,266,71,289,89,69, + 69,91,91,157,171,28,55,55,91,207, + 140,91,91,24,146,18,13,13,95,14, + 240,289,28,91,62,198,217,101,13,226, + 153,289,289,289,289,148,148,230,13,13, + 126,13,13,223,13,223,291,291,26,13, + 291,207,207,13,217,195,217,13,146,24, + 185,240,95,95,12,217,289,198,76,148, + 91,119,289,289,230,55,223,289,212,289, + 283,217,13,289,74,124,88,169,13,12, + 240,240,69,217,13,101,289,119,289,289, + 217,223,13,223,207,140,226,223,126,124, + 13,13,131,12,12,217,69,71,71,210, + 91,13,253,207,289,287,13,169,217,223, + 289,207,289,176,169,223,55 }; }; public final static char nasb[] = Nasb.nasb; @@ -2345,36 +2461,36 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym public interface Nasr { public final static char nasr[] = {0, - 3,13,10,9,162,160,130,159,158,5, - 2,0,203,0,87,0,1,47,0,13, - 2,9,10,5,89,0,4,207,0,166, - 0,116,0,214,0,5,10,9,2,13, - 4,48,0,179,5,178,0,5,2,9, - 10,149,0,145,0,2,146,72,0,47, - 112,0,135,0,196,0,5,108,204,0, - 47,67,0,4,74,0,169,0,187,0, - 74,138,47,13,2,9,10,5,0,4, - 48,208,0,205,0,47,170,0,172,0, - 4,189,0,2,125,0,50,2,3,0, - 124,0,96,4,5,10,9,2,65,42, - 0,2,72,0,29,184,0,182,0,72, - 148,147,0,118,0,101,100,42,65,69, - 5,10,9,2,0,29,100,101,4,0, - 151,0,2,50,0,4,35,0,171,0, - 42,72,0,71,0,153,0,5,108,175, - 0,53,43,191,4,47,0,4,43,44, - 0,29,101,100,65,5,2,9,10,4, - 0,74,47,53,75,4,43,0,44,5, - 2,9,10,4,168,0,213,29,0,2, - 68,0,48,4,29,0,4,103,0,111, - 88,53,4,0,43,193,22,4,0,4, - 5,10,9,2,65,24,0,48,4,192, - 0,4,190,0,2,5,130,126,127,128, - 13,93,0,4,53,88,90,0,5,10, - 9,13,3,1,0,4,53,88,108,51, - 5,0,22,4,5,42,96,0,101,100, - 42,5,69,0,4,48,43,0,4,48, - 110,0 + 13,3,10,9,162,187,160,130,159,158, + 5,2,0,207,0,167,0,4,5,10, + 9,2,65,24,0,43,195,22,4,0, + 87,0,189,0,72,149,148,0,205,0, + 5,2,9,10,150,0,1,47,0,5, + 10,9,2,13,4,48,0,170,0,145, + 0,2,147,72,0,47,112,0,70,0, + 47,67,0,172,0,154,0,180,5,179, + 0,216,0,5,108,206,0,74,138,47, + 13,2,9,10,5,0,4,48,210,0, + 152,0,2,72,0,47,171,0,198,0, + 215,29,0,13,2,9,10,5,89,0, + 4,191,0,173,0,124,0,29,185,0, + 116,0,4,209,0,4,34,0,96,4, + 5,10,9,2,65,42,0,4,103,0, + 101,100,42,5,69,0,22,4,5,42, + 96,0,53,43,193,4,47,0,135,0, + 101,100,42,65,69,5,10,9,2,0, + 4,48,43,0,5,108,176,0,29,100, + 101,4,0,4,74,0,50,2,3,0, + 183,0,118,0,4,43,44,0,29,101, + 100,65,5,2,9,10,4,0,2,50, + 0,74,47,53,75,4,43,0,2,125, + 0,42,72,0,111,88,53,4,0,2, + 68,0,2,5,130,126,127,128,146,13, + 93,0,4,192,0,4,53,88,90,0, + 5,10,9,13,3,1,0,4,53,88, + 108,51,5,0,44,5,2,9,10,4, + 169,0,48,4,194,0,48,4,29,0, + 4,48,110,0 }; }; public final static char nasr[] = Nasr.nasr; @@ -2382,19 +2498,19 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym public interface TerminalIndex { public final static char terminalIndex[] = {0, - 113,114,2,31,46,126,127,13,79,115, - 10,9,100,48,52,60,68,74,75,86, - 87,102,105,107,54,104,106,11,12,120, - 112,47,64,66,70,73,76,83,89,98, - 7,8,14,53,55,61,67,84,88,90, - 94,97,99,109,110,111,122,123,93,63, - 91,101,19,77,95,103,128,1,118,44, - 58,78,20,30,121,33,119,96,108,49, - 50,56,57,59,69,71,72,85,92,65, - 17,18,32,6,4,15,16,21,22,23, - 24,25,26,27,28,80,81,82,5,29, - 34,35,36,37,38,39,40,41,42,43, - 117,51,3,129,62,116,124,125 + 115,116,2,31,48,13,128,129,81,10, + 117,9,102,46,47,50,54,62,70,76, + 77,88,89,104,107,109,124,56,108,106, + 49,66,68,72,75,78,85,91,100,11, + 12,114,122,7,8,14,57,63,69,86, + 90,92,96,99,101,111,112,113,125,55, + 95,65,93,103,19,79,97,105,1,130, + 120,44,123,60,80,20,30,98,33,121, + 110,51,52,58,59,61,71,73,74,87, + 94,67,17,18,32,6,4,15,16,21, + 22,23,24,25,26,27,28,82,83,84, + 5,29,34,35,36,37,38,39,40,41, + 42,43,119,53,3,131,64,118,126,127 }; }; public final static char terminalIndex[] = TerminalIndex.terminalIndex; @@ -2402,28 +2518,28 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym public interface NonterminalIndex { public final static char nonterminalIndex[] = {0, - 135,140,141,0,0,139,0,0,234,240, - 138,0,148,137,0,0,147,153,0,0, - 154,185,163,249,0,0,0,164,131,165, - 166,167,168,169,156,170,171,172,173,0, - 146,250,136,133,174,0,134,157,143,142, - 182,0,0,0,0,0,0,0,0,209, - 0,0,150,206,210,0,177,0,160,180, - 192,0,0,132,176,0,0,0,0,0, - 0,0,0,0,0,0,211,0,130,183, - 0,0,191,0,0,207,217,162,213,214, - 215,0,0,151,0,0,212,225,0,179, - 184,201,0,0,216,0,0,0,229,0, - 231,0,245,246,152,194,195,196,197,198, - 200,203,0,204,0,219,222,0,224,0, - 243,0,244,0,254,0,144,145,149,0, - 0,159,161,0,175,0,186,187,188,189, - 190,193,0,0,199,0,202,208,0,220, - 221,0,0,226,233,0,237,238,239,242, - 0,251,0,253,0,0,0,155,158,0, - 178,0,181,0,0,205,218,223,0,0, - 227,228,230,232,0,235,236,241,247,248, - 0,0,252,0,0,0,0,0 + 137,142,143,0,0,141,0,0,236,242, + 140,0,150,139,0,0,149,155,0,0, + 156,187,165,251,0,0,0,166,133,167, + 168,169,170,158,171,172,173,174,175,0, + 148,252,138,135,176,0,136,159,145,144, + 184,0,0,0,0,0,0,0,0,211, + 0,0,152,208,212,0,179,0,162,193, + 182,0,0,134,178,0,0,0,0,0, + 0,0,0,0,0,0,213,0,132,185, + 0,0,192,0,0,209,219,164,215,216, + 217,0,0,153,0,0,214,227,0,181, + 186,203,0,0,218,0,0,0,231,0, + 233,0,247,248,154,196,197,198,199,200, + 202,205,0,206,0,221,224,0,226,0, + 245,0,246,0,256,257,0,146,147,151, + 0,0,161,163,0,177,0,188,189,190, + 191,194,195,0,0,201,0,204,210,0, + 222,223,0,0,228,235,0,239,240,241, + 244,0,253,0,255,0,258,0,0,157, + 160,0,180,0,183,0,0,207,220,225, + 0,0,229,230,232,234,0,237,238,243, + 249,250,0,0,254,0,0,0,0,0 }; }; public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex; @@ -2431,20 +2547,21 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym public interface ScopePrefix { public final static char scopePrefix[] = { - 226,674,693,374,625,641,652,663,457,332, - 346,368,390,408,94,357,477,515,234,682, - 568,72,103,123,132,137,142,197,262,363, - 401,416,421,47,211,338,352,596,79,211, - 467,421,701,79,284,313,1,33,39,43, - 55,66,113,128,158,426,446,450,533,561, - 590,617,621,711,715,719,149,59,149,495, - 511,524,545,609,296,168,168,524,632,648, - 659,670,274,579,13,25,108,108,223,289, - 7,108,308,329,7,7,108,454,558,565, - 223,108,734,7,162,430,499,539,552,108, - 177,381,430,177,177,381,486,244,18,18, - 156,304,436,436,436,436,537,723,730,18, - 18,723,730,117,304,505,204,156,156,318 + 230,676,695,378,627,643,654,665,459,336, + 350,372,394,412,98,361,479,517,238,684, + 570,76,107,127,136,141,146,201,266,367, + 405,420,425,51,215,342,356,598,83,215, + 469,425,703,83,288,317,1,37,43,47, + 59,70,117,132,162,430,448,452,535,563, + 592,619,623,713,717,721,153,63,153,497, + 513,526,547,611,300,172,172,526,634,650, + 661,672,278,581,13,25,112,112,227,293, + 7,112,312,333,7,7,112,456,560,567, + 227,112,736,7,166,434,501,541,554,112, + 181,385,434,181,181,385,488,248,18,18, + 33,160,308,33,33,33,33,539,725,732, + 18,18,725,732,121,308,507,208,160,160, + 322 }; }; public final static char scopePrefix[] = ScopePrefix.scopePrefix; @@ -2452,20 +2569,21 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym public interface ScopeSuffix { public final static char scopeSuffix[] = { - 70,37,37,202,37,37,37,37,464,202, - 147,202,202,414,100,343,483,521,240,119, - 574,77,77,77,111,111,147,202,267,202, - 406,406,414,52,216,343,153,601,90,219, - 472,688,706,84,278,278,5,37,37,37, - 37,70,37,111,147,406,147,147,202,311, - 37,37,37,37,37,311,732,63,153,464, - 464,464,549,601,300,172,186,528,636,636, - 636,636,278,583,16,16,111,111,37,37, - 292,294,311,37,5,5,294,147,37,311, - 37,594,37,10,165,433,502,542,555,613, - 172,396,604,180,191,384,489,247,23,31, - 147,306,438,440,442,444,147,725,725,20, - 28,727,727,119,300,507,206,269,254,320 + 74,41,41,206,41,41,41,41,466,206, + 151,206,206,418,104,347,485,523,244,123, + 576,81,81,81,115,115,151,206,271,206, + 410,410,418,56,220,347,157,603,94,223, + 474,690,708,88,282,282,5,41,41,41, + 41,74,41,115,151,410,151,151,206,315, + 41,41,41,41,41,315,734,67,157,466, + 466,466,551,603,304,176,190,530,638,638, + 638,638,282,585,16,16,115,115,41,41, + 296,298,315,41,5,5,298,151,41,315, + 41,596,41,10,169,437,504,544,557,615, + 176,400,606,184,195,388,491,251,23,31, + 35,151,310,440,442,444,446,151,727,727, + 20,28,729,729,123,304,509,210,273,258, + 324 }; }; public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix; @@ -2475,18 +2593,19 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym public final static char scopeLhs[] = { 51,17,17,128,17,17,17,17,78,92, 52,85,128,127,82,57,78,77,51,17, - 19,3,7,8,175,175,174,126,51,86, - 127,127,129,25,137,58,52,149,142,137, - 78,17,17,142,102,59,70,18,18,181, - 144,81,178,175,174,129,194,55,67,153, - 18,17,17,17,17,17,12,124,174,78, - 77,77,40,149,69,139,139,77,17,17, - 17,17,102,19,119,134,179,175,196,100, - 107,61,87,60,168,70,129,79,154,153, - 187,149,16,70,174,129,110,76,21,149, - 139,128,149,139,139,128,78,51,119,134, - 174,69,161,160,159,158,73,147,50,119, - 134,147,50,178,69,110,126,51,51,59 + 19,3,7,8,176,176,175,126,51,86, + 127,127,129,25,137,58,52,150,142,137, + 78,17,17,142,102,59,71,18,18,182, + 144,81,179,176,175,129,196,55,67,154, + 18,17,17,17,17,17,12,124,175,78, + 77,77,40,150,69,139,139,77,17,17, + 17,17,102,19,119,134,180,176,198,100, + 107,61,87,60,169,71,129,79,155,154, + 189,150,16,71,175,129,110,76,21,150, + 139,128,150,139,139,128,78,51,119,134, + 187,175,69,161,160,159,158,73,148,50, + 119,134,148,50,179,69,110,126,51,51, + 59 }; }; public final static char scopeLhs[] = ScopeLhs.scopeLhs; @@ -2494,20 +2613,21 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym public interface ScopeLa { public final static char scopeLa[] = { - 122,69,69,77,69,69,69,69,69,77, - 30,77,77,1,73,1,69,125,75,3, - 69,73,73,73,1,1,30,77,75,77, - 1,1,1,69,77,1,1,4,73,70, - 30,1,1,73,69,69,1,69,69,69, - 69,122,69,1,30,1,30,30,77,121, - 69,69,69,69,69,121,1,69,1,69, - 69,69,74,4,11,1,1,69,73,73, - 73,73,69,3,6,6,1,1,69,69, - 3,1,121,69,1,1,1,30,69,121, - 69,8,69,6,1,59,76,74,69,1, - 1,75,59,1,1,1,79,78,1,1, - 30,12,1,60,44,44,30,4,4,1, - 1,4,4,3,11,1,75,1,1,3 + 124,71,71,80,71,71,71,71,71,80, + 43,80,80,1,76,1,71,127,73,3, + 71,76,76,76,1,1,43,80,73,80, + 1,1,1,71,80,1,1,4,76,72, + 43,1,1,76,71,71,1,71,71,71, + 71,124,71,1,43,1,43,43,80,123, + 71,71,71,71,71,123,1,71,1,71, + 71,71,77,4,10,1,1,71,76,76, + 76,76,71,3,7,7,1,1,71,71, + 3,1,123,71,1,1,1,43,71,123, + 71,6,71,7,1,61,79,77,71,1, + 1,73,61,1,1,1,81,78,1,1, + 27,43,12,1,62,60,60,43,4,4, + 1,1,4,4,3,10,1,73,1,1, + 3 }; }; public final static char scopeLa[] = ScopeLa.scopeLa; @@ -2515,20 +2635,21 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym public interface ScopeStateSet { public final static char scopeStateSet[] = { - 342,214,214,285,214,214,214,214,353,367, - 342,365,285,285,365,344,353,353,342,214, - 214,141,185,185,21,21,69,285,342,365, - 285,285,285,289,281,344,342,37,42,281, - 353,214,214,42,81,117,123,214,214,72, - 4,353,46,21,69,285,35,344,49,8, - 214,214,214,214,214,214,189,16,69,353, - 353,353,248,37,326,285,285,353,214,214, - 214,214,81,214,133,89,46,21,75,81, - 83,117,77,117,138,123,285,353,1,8, - 40,37,214,123,69,285,11,353,217,37, - 285,285,37,285,285,285,353,342,133,89, - 69,326,286,286,286,286,24,66,93,133, - 89,66,93,46,326,11,285,342,342,117 + 345,214,214,287,214,214,214,214,356,370, + 345,368,287,287,368,347,356,356,345,214, + 214,141,185,185,21,21,69,287,345,368, + 287,287,287,291,283,347,345,61,37,283, + 356,214,214,37,81,117,123,214,214,72, + 1,356,41,21,69,287,35,347,44,18, + 214,214,214,214,214,214,189,13,69,356, + 356,356,250,61,329,287,287,356,214,214, + 214,214,81,214,133,89,41,21,75,81, + 83,117,77,117,138,123,287,356,10,18, + 64,61,214,123,69,287,5,356,219,61, + 287,287,61,287,287,287,356,345,133,89, + 288,69,329,288,288,288,288,24,66,93, + 133,89,66,93,41,329,5,287,345,345, + 117 }; }; public final static char scopeStateSet[] = ScopeStateSet.scopeStateSet; @@ -2536,80 +2657,80 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym public interface ScopeRhs { public final static char scopeRhs[] = {0, - 170,224,132,0,206,0,224,132,0,250, - 206,0,247,170,0,250,0,170,0,229, - 250,0,229,0,198,170,0,180,250,0, - 180,0,191,3,57,0,131,0,191,3, - 58,0,340,3,310,0,339,3,3,6, - 0,131,131,0,338,3,65,0,337,3, - 122,0,131,177,0,132,195,78,0,221, - 0,268,132,63,130,0,20,0,308,132, - 63,59,0,20,53,0,33,137,0,20, - 53,0,0,308,132,63,59,216,0,20, - 183,0,268,132,63,138,0,196,133,0, - 146,0,231,3,307,0,307,0,2,0, - 131,0,268,132,63,137,0,196,133,236, - 0,196,133,26,236,0,196,133,333,26, - 0,134,200,178,133,0,133,0,200,178, - 133,0,139,133,0,181,0,329,132,181, - 0,132,181,0,227,133,0,178,328,258, - 0,141,0,0,0,0,328,258,0,142, - 141,0,0,0,0,140,0,0,0,0, - 142,140,0,0,0,0,327,132,175,267, - 0,132,0,267,0,134,0,0,132,0, - 326,132,175,266,0,132,0,0,44,132, - 0,0,163,3,0,132,298,297,132,78, - 296,181,0,297,132,78,296,181,0,220, - 0,221,0,296,181,0,96,0,0,220, - 0,221,0,208,96,0,0,220,0,221, - 0,297,132,296,181,0,220,0,208,0, - 0,220,0,241,132,3,0,131,0,0, - 0,0,0,241,132,3,228,0,235,3, - 0,213,0,151,0,194,178,133,0,10, - 0,0,0,194,0,9,0,226,68,0, - 130,0,241,132,3,188,0,188,0,2, - 0,0,131,0,0,0,0,0,198,3, - 0,237,132,175,31,34,0,196,133,64, - 66,0,201,133,0,134,196,133,294,66, - 0,196,133,294,66,0,196,133,76,129, - 64,0,237,132,175,64,0,237,132,175, - 240,64,0,292,132,175,129,323,60,0, - 323,60,0,135,134,0,0,132,0,292, - 132,175,323,60,0,134,0,0,132,0, - 196,133,291,60,0,140,0,200,196,133, - 291,258,0,141,0,196,133,291,258,0, - 200,178,133,13,0,178,133,13,0,178, - 133,0,93,141,0,290,0,197,0,196, - 0,195,0,194,0,284,132,150,0,284, - 132,181,0,171,88,0,318,172,320,321, - 3,85,0,131,176,0,320,321,3,85, - 0,133,0,131,176,0,171,3,79,203, - 84,0,131,133,0,203,84,0,108,2, - 136,131,133,0,238,3,79,0,198,176, - 0,33,174,0,176,0,180,33,174,0, - 238,3,89,0,203,157,238,3,87,0, - 62,176,0,238,3,87,0,131,176,62, - 176,0,319,132,175,0,171,0,226,81, - 0,30,176,0,171,110,167,0,30,174, - 0,191,3,0,131,154,0,231,3,0, - 226,68,281,0,171,68,0,191,3,315, - 72,133,0,131,0,0,0,0,315,72, - 133,0,2,150,131,0,0,0,0,191, - 3,49,0,152,0,131,59,178,133,0, - 31,152,0,93,141,31,152,0,232,196, - 133,0,151,31,152,0,191,3,53,0, - 171,3,53,0,171,3,73,191,63,45, - 0,191,63,45,0,20,2,136,131,0, - 171,3,73,191,63,48,0,191,63,48, - 0,171,3,73,191,63,50,0,191,63, - 50,0,171,3,73,191,63,46,0,191, - 63,46,0,231,3,131,200,178,133,13, - 0,131,200,178,133,13,0,141,2,0, - 131,0,231,3,130,274,178,133,13,0, - 274,178,133,13,0,140,2,0,131,0, - 231,3,141,0,231,3,145,0,171,68, - 145,0,276,0,31,0,31,144,0,177, - 0,139,0,171,3,0 + 172,226,134,0,208,0,226,134,0,252, + 208,0,249,172,0,252,0,172,0,231, + 252,0,231,0,201,172,0,182,252,0, + 182,0,292,0,257,0,193,3,27,0, + 133,0,193,3,59,0,344,3,313,0, + 343,3,3,7,0,133,133,0,342,3, + 67,0,341,3,124,0,133,179,0,134, + 197,78,0,223,0,270,134,65,132,0, + 20,0,311,134,65,61,0,20,55,0, + 33,139,0,20,55,0,0,311,134,65, + 61,218,0,20,185,0,270,134,65,140, + 0,198,135,0,148,0,233,3,310,0, + 310,0,2,0,133,0,270,134,65,139, + 0,198,135,238,0,198,135,30,238,0, + 198,135,337,30,0,136,202,180,135,0, + 135,0,202,180,135,0,141,135,0,183, + 0,333,134,183,0,134,183,0,229,135, + 0,180,332,260,0,143,0,0,0,0, + 332,260,0,144,143,0,0,0,0,142, + 0,0,0,0,144,142,0,0,0,0, + 331,134,177,269,0,134,0,269,0,136, + 0,0,134,0,330,134,177,268,0,134, + 0,0,44,134,0,0,164,3,0,134, + 301,300,134,78,299,183,0,300,134,78, + 299,183,0,222,0,223,0,299,183,0, + 98,0,0,222,0,223,0,210,98,0, + 0,222,0,223,0,300,134,299,183,0, + 222,0,210,0,0,222,0,243,134,3, + 0,133,0,0,0,0,0,243,134,3, + 230,0,237,3,0,215,0,153,0,196, + 180,135,0,10,0,0,0,196,0,9, + 0,228,69,0,132,0,243,134,3,190, + 0,190,0,2,0,0,133,0,0,0, + 0,0,201,3,0,239,134,177,42,33, + 0,198,135,66,68,0,203,135,0,136, + 198,135,297,68,0,198,135,297,68,0, + 198,135,79,131,66,0,239,134,177,66, + 0,239,134,177,242,66,0,295,134,177, + 131,327,62,0,327,62,0,137,136,0, + 0,134,0,295,134,177,327,62,0,136, + 0,0,134,0,198,135,294,62,0,142, + 0,202,198,135,294,260,0,143,0,198, + 135,294,260,0,202,180,135,13,0,180, + 135,13,0,180,135,0,95,143,0,199, + 0,198,0,197,0,196,0,287,134,152, + 0,287,134,183,0,173,90,0,322,174, + 324,325,3,87,0,133,178,0,324,325, + 3,87,0,135,0,133,178,0,173,3, + 81,205,86,0,133,135,0,205,86,0, + 110,2,138,133,135,0,240,3,81,0, + 201,178,0,33,176,0,178,0,182,33, + 176,0,240,3,91,0,205,159,240,3, + 89,0,64,178,0,240,3,89,0,133, + 178,64,178,0,323,134,177,0,173,0, + 228,83,0,30,178,0,173,112,169,0, + 30,176,0,193,3,0,133,156,0,233, + 3,0,228,69,284,0,173,69,0,193, + 3,319,75,135,0,133,0,0,0,0, + 319,75,135,0,2,152,133,0,0,0, + 0,193,3,51,0,154,0,133,61,180, + 135,0,31,154,0,95,143,31,154,0, + 234,198,135,0,153,31,154,0,193,3, + 55,0,173,3,55,0,173,3,76,193, + 65,47,0,193,65,47,0,20,2,138, + 133,0,173,3,76,193,65,50,0,193, + 65,50,0,173,3,76,193,65,52,0, + 193,65,52,0,173,3,76,193,65,48, + 0,193,65,48,0,233,3,133,202,180, + 135,13,0,133,202,180,135,13,0,143, + 2,0,133,0,233,3,132,277,180,135, + 13,0,277,180,135,13,0,142,2,0, + 133,0,233,3,143,0,233,3,147,0, + 173,69,147,0,279,0,31,0,31,146, + 0,179,0,141,0,173,3,0 }; }; public final static char scopeRhs[] = ScopeRhs.scopeRhs; @@ -2617,44 +2738,44 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym public interface ScopeState { public final static char scopeState[] = {0, - 2855,2814,0,2819,2135,932,0,3685,3233,0, - 4449,5776,5769,5753,0,2612,3524,2362,2892,0, - 3299,1005,0,4188,4128,3984,3924,3864,3804,3744, - 3684,3624,3488,3338,4154,0,1235,801,0,1065, - 0,5666,3636,4460,0,2456,776,0,4188,4128, - 1324,1299,3984,3924,3864,3804,3744,3684,1016,3624, - 3488,3338,1661,1426,0,2755,2700,0,5442,5421, - 0,2183,2698,0,985,0,1878,1480,1085,624, - 2751,5548,4066,3420,2784,3213,4254,0,2797,2970, - 2473,0,5711,5660,5656,3437,2009,5640,5636,5626, - 1774,5604,1680,1586,5584,1445,4597,4526,4106,1289, - 2150,4093,3594,2832,2828,0,2751,5154,3493,4298, - 4270,5428,4066,2797,5269,3420,3213,4603,2970,4430, - 2940,2473,3170,3141,3070,2502,0,3493,5428,0, - 3356,3098,2086,5711,5660,2490,1992,1898,1804,2379, - 5656,1915,3437,2009,1757,5640,5636,5626,2227,1774, - 1663,5604,2738,1616,1680,1586,5584,1445,1569,4597, - 4526,1522,2660,4106,2103,1289,2150,4093,3594,2832, - 857,2828,4717,2863,2285,1392,1025,880,2545,4066, - 2797,5269,3170,3141,2751,2608,730,3070,3420,1235, - 801,2502,3213,4603,5154,3493,2970,4298,4430,4270, - 2940,2473,5428,5400,5379,3108,5357,5282,2636,2676, - 2905,2714,3316,3236,3036,4399,4368,3602,3570,3445, - 2573,4784,4754,689,4693,4669,5242,5220,5182,5132, - 5110,5088,5066,5044,5022,5000,4978,2156,2432,2109, - 2391,2338,1451,1404,1342,2062,2297,2244,2203,1295, - 961,2015,1968,1921,1874,1827,1780,1733,1686,1639, - 1592,1545,589,1185,1248,1498,897,816,636,752, - 1089,1041,1137,0,4717,589,2863,0,2797,3639, - 3491,3170,3345,3353,3141,3070,3161,589,2818,4603, - 2494,5154,2765,4536,4194,2961,987,2970,2600,2360, - 3983,2743,4430,842,922,661,4717,3341,3683,3281, - 3627,3065,3061,3269,2863,5555,3927,2751,5496,5444, - 5548,3867,3807,2502,3987,3747,4298,4270,3687,2473, - 0,5442,5421,5264,4534,4463,4421,4885,4868,4826, - 4809,4030,4188,4128,3984,3924,3864,3804,3744,3684, - 3624,3488,3338,0,5442,5421,5264,4534,4463,4421, - 4885,4868,4826,4809,4030,0 + 2855,2782,2719,0,5695,5870,5859,5853,0,2701, + 1354,0,2328,1070,2146,953,0,1198,963,0, + 2981,1037,0,4234,4174,4030,3970,3910,3850,3790, + 3730,3670,3470,2698,706,0,5774,3056,3400,0, + 2922,984,0,4234,4174,1513,1048,4030,3970,3910, + 3850,3790,3730,923,3670,3470,2698,1770,1488,0, + 833,765,0,727,0,2671,741,0,5492,5449, + 0,2168,3097,0,1508,0,2052,1948,1173,721, + 2904,2581,4112,3408,3012,3234,2616,0,2950,3061, + 2553,0,5758,5730,5713,5707,5845,5841,5701,5687, + 5677,5835,5644,5817,5783,5632,5608,5602,5506,872, + 3074,4544,4438,3640,3462,0,2904,3475,5479,4344, + 4316,5456,4112,2950,5319,3408,3234,4679,3061,672, + 4145,2553,3248,3205,3162,643,0,5479,5456,0, + 2706,2495,5758,5730,2459,2042,2401,5713,1995,5707, + 1978,1901,5845,917,3700,5841,1854,5701,1807,5687, + 5677,4139,1790,5835,5644,5817,5783,1478,5632,5608, + 1321,2307,5602,5506,1264,872,3074,4544,4438,3640, + 897,4469,3462,2664,2365,1415,1268,1057,2582,4112, + 2950,5319,3248,3205,2904,3162,3408,643,3234,4679, + 3475,2932,2806,5479,3061,4344,833,765,672,4316, + 4145,2553,5456,5428,5407,5332,5129,4870,5292,5270, + 2625,2829,3017,2867,3375,3342,3128,4445,4414,3648, + 3616,3584,3552,4818,4794,4770,4746,3438,5248,5226, + 5204,5077,5055,5033,5011,4989,4967,4945,4516,2236, + 2512,2189,2471,2418,1484,1437,1374,2377,2324,2283, + 1327,2142,993,2095,2048,2001,1954,1907,1860,1813, + 1766,1719,1672,1625,1217,596,1576,929,848,1531, + 1280,784,1121,1073,1169,0,4469,596,2664,0, + 2950,2772,3849,3248,3789,2700,3205,3162,3176,2440, + 4679,2762,3475,596,1408,4364,3154,3729,2971,3061, + 1403,954,2704,692,672,1019,720,638,4469,3672, + 5570,5536,2573,5494,2894,4576,4165,2664,4033,2904, + 5524,3973,2670,2581,3913,3853,643,3262,3793,4344, + 4316,3733,2553,0,5492,5449,5314,4610,4565,4498, + 5111,5099,4852,4840,4076,4234,4174,4030,3970,3910, + 3850,3790,3730,3670,3470,2698,0,5492,5449,5314, + 4610,4565,4498,5111,5099,4852,4840,4076,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -2662,66 +2783,66 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym public interface InSymb { public final static char inSymb[] = {0, - 0,314,66,5,132,181,216,59,34,64, - 239,64,294,342,285,6,7,5,286,267, - 287,258,288,60,289,290,130,13,133,296, - 132,3,4,138,137,9,8,130,133,188, - 59,63,31,175,240,129,133,133,3,3, - 3,3,175,328,291,170,323,291,170,63, - 133,196,178,177,78,132,284,198,193,188, - 132,262,295,224,170,133,194,198,63,63, - 176,68,3,71,72,130,129,196,178,3, - 63,73,132,175,132,175,76,196,196,343, - 31,273,3,341,1,31,132,178,244,131, - 130,133,129,175,133,132,178,59,4,132, - 297,74,170,68,224,170,133,3,76,70, - 198,178,11,132,132,132,68,68,200,132, - 132,132,237,132,133,240,134,74,157,3, - 70,339,310,3,327,133,179,236,64,59, - 66,181,330,131,130,245,170,245,196,175, - 132,196,268,176,53,45,48,50,46,13, - 141,3,133,57,58,49,43,8,29,28, - 11,12,42,41,145,151,158,156,160,159, - 162,161,165,164,166,65,167,271,200,276, - 200,297,175,306,133,307,226,167,170,178, - 163,132,175,266,170,170,194,132,268,268, - 224,241,242,150,243,308,59,13,44,237, - 237,196,11,1,70,157,3,1,178,132, - 245,245,132,132,200,132,292,129,293,132, - 3,229,228,3,63,63,63,63,133,3, - 191,171,132,71,72,178,3,3,3,131, - 109,123,3,68,94,95,29,28,97,96, - 11,99,98,73,63,91,92,12,101,100, - 103,102,104,120,119,118,117,116,115,114, - 113,112,111,76,110,105,70,4,298,132, - 70,196,3,283,132,175,11,199,157,76, - 235,198,3,132,70,70,73,63,244,244, - 240,1,340,200,329,74,249,198,130,247, - 170,132,132,74,292,76,70,224,235,132, - 3,191,171,191,191,191,191,178,231,157, - 141,131,130,13,133,68,315,3,191,191, - 191,59,133,59,231,171,156,156,151,151, - 151,159,159,159,159,158,158,161,160,160, - 164,162,165,171,166,132,319,83,81,1, - 171,10,89,87,85,84,79,86,88,82, - 80,64,78,231,70,132,132,132,76,76, - 132,224,132,76,76,70,134,70,74,76, - 170,247,170,152,332,236,26,133,241,132, - 73,73,73,73,200,274,133,178,217,3, - 316,176,163,133,196,178,74,299,122,10, - 74,226,74,3,3,3,203,3,129,171, - 129,195,326,233,308,247,170,70,133,26, - 333,196,157,241,3,3,3,3,131,130, - 178,59,191,132,132,232,8,59,3,74, - 238,176,238,321,150,79,238,132,202,70, - 132,73,196,133,133,132,157,171,171,171, - 171,3,3,200,157,278,281,68,197,4, - 129,131,93,337,176,157,198,157,320,132, - 3,157,299,202,10,65,44,196,196,233, - 132,231,231,131,132,3,68,171,4,157, - 157,132,76,203,172,284,171,3,244,132, - 233,278,231,226,125,318,157,338,76,132, - 157,70 + 0,318,68,5,134,183,218,61,33,66, + 241,66,297,346,288,7,8,5,269,289, + 260,290,62,291,132,13,135,317,27,293, + 292,299,134,3,4,140,139,9,6,132, + 135,190,61,65,42,177,242,131,135,135, + 3,3,3,3,177,332,294,172,327,294, + 172,65,135,198,180,179,27,59,51,46, + 41,40,10,12,45,44,3,135,6,55, + 47,50,52,48,13,143,147,78,134,287, + 201,195,190,134,264,298,226,172,135,196, + 201,65,65,178,69,3,74,75,132,131, + 198,180,3,65,76,134,177,134,177,79, + 198,198,347,42,275,3,345,1,42,134, + 180,246,133,132,135,131,177,135,134,180, + 61,4,3,3,3,3,173,134,74,75, + 180,133,3,65,65,65,65,135,3,111, + 125,3,69,134,300,77,172,69,226,172, + 135,3,79,72,201,180,10,134,134,134, + 69,69,202,134,134,134,239,134,135,242, + 136,77,159,3,72,343,313,3,331,135, + 181,238,66,61,68,183,334,133,132,247, + 172,247,198,177,134,198,270,178,153,160, + 158,162,161,165,163,167,166,168,67,169, + 273,202,279,202,193,134,193,193,193,286, + 69,319,3,193,173,193,193,193,193,180, + 233,61,135,61,233,173,300,177,309,135, + 310,228,169,172,180,164,177,268,172,172, + 196,134,270,270,226,243,244,152,245,311, + 61,13,60,239,239,198,10,1,72,159, + 3,1,180,134,247,247,134,134,202,134, + 295,131,296,134,3,231,230,96,97,41, + 40,99,98,10,101,100,76,65,93,94, + 12,103,102,105,104,106,122,121,120,119, + 118,117,116,115,114,113,79,112,107,72, + 4,133,132,13,135,27,143,159,72,219, + 3,320,178,164,76,76,76,76,202,277, + 135,198,180,301,134,72,198,3,134,177, + 10,200,159,79,237,201,3,134,72,72, + 76,65,246,246,242,1,344,202,333,77, + 251,201,132,249,172,134,134,77,295,79, + 72,226,237,134,3,158,158,153,153,153, + 161,161,161,161,160,160,163,162,162,166, + 165,167,173,168,135,180,148,193,134,134, + 3,3,3,3,133,132,234,6,61,134, + 323,85,83,1,173,11,91,89,87,86, + 81,88,90,84,82,66,78,233,134,134, + 134,79,79,134,226,134,79,79,72,136, + 72,77,79,172,249,172,154,336,238,30, + 135,243,134,77,180,61,159,281,284,69, + 199,173,173,173,173,3,3,4,131,133, + 302,124,11,77,228,77,3,3,3,205, + 3,131,173,131,197,330,235,311,249,172, + 72,135,30,337,198,159,243,202,134,3, + 69,173,233,233,4,3,77,240,178,240, + 325,152,81,240,134,204,72,134,76,198, + 135,135,134,159,133,281,233,228,95,341, + 178,159,201,159,324,134,3,159,302,204, + 11,67,60,198,198,235,134,159,159,134, + 79,205,174,287,173,3,246,134,235,127, + 322,159,342,79,134,159,72 }; }; public final static char inSymb[] = InSymb.inSymb; @@ -2775,6 +2896,8 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym "|=", ",", "$empty", + "_Complex", + "_Imaginary", "asm", "auto", "bool", @@ -2917,7 +3040,6 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym "declaration", "declaration_seq", "declaration_specifiers", - "simple_declaration_specifiers", "class_declaration_specifiers", "elaborated_declaration_specifi" + "ers", @@ -2927,6 +3049,7 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym "no_type_declaration_specifier", "cv_qualifier", "no_type_declaration_specifiers", + "simple_declaration_specifiers", "class_specifier", "elaborated_type_specifier", "enum_specifier", @@ -2990,16 +3113,18 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym "word", "extended_decl_modifier_seq", "extended_decl_modifier", - "extended_asm_param" + "extended_asm_param", + "typeof_type_specifier", + "typeof_declaration_specifiers" }; }; public final static String name[] = Name.name; public final String name(int index) { return name[index]; } public final static int - ERROR_SYMBOL = 67, - SCOPE_UBOUND = 139, - SCOPE_SIZE = 140, + ERROR_SYMBOL = 70, + SCOPE_UBOUND = 140, + SCOPE_SIZE = 141, MAX_NAME_LENGTH = 37; public final int getErrorSymbol() { return ERROR_SYMBOL; } @@ -3008,20 +3133,20 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym public final int getMaxNameLength() { return MAX_NAME_LENGTH; } public final static int - NUM_STATES = 592, - NT_OFFSET = 128, - LA_STATE_OFFSET = 6989, + NUM_STATES = 597, + NT_OFFSET = 130, + LA_STATE_OFFSET = 7461, MAX_LA = 2147483647, - NUM_RULES = 588, - NUM_NONTERMINALS = 218, - NUM_SYMBOLS = 346, + NUM_RULES = 595, + NUM_NONTERMINALS = 220, + NUM_SYMBOLS = 350, SEGMENT_SIZE = 8192, - START_STATE = 4030, + START_STATE = 4076, IDENTIFIER_SYMBOL = 0, - EOFT_SYMBOL = 124, - EOLT_SYMBOL = 124, - ACCEPT_ACTION = 5888, - ERROR_ACTION = 6401; + EOFT_SYMBOL = 126, + EOLT_SYMBOL = 126, + ACCEPT_ACTION = 6065, + ERROR_ACTION = 6866; public final static boolean BACKTRACK = true; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPParsersym.java index e0d5f2a06d9..a5dd38b3705 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPParsersym.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPParsersym.java @@ -15,134 +15,136 @@ package org.eclipse.cdt.internal.core.dom.lrparser.gpp; public interface GPPParsersym { public final static int + TK__Complex = 14, + TK__Imaginary = 15, TK_asm = 5, - TK_auto = 32, - TK_bool = 14, - TK_break = 80, - TK_case = 81, - TK_catch = 122, - TK_char = 15, - TK_class = 44, - TK_const = 25, - TK_const_cast = 45, - TK_continue = 82, - TK_default = 83, - TK_delete = 71, - TK_do = 84, - TK_double = 16, - TK_dynamic_cast = 46, - TK_else = 125, - TK_enum = 60, - TK_explicit = 33, - TK_export = 90, - TK_extern = 34, - TK_false = 47, - TK_float = 17, - TK_for = 85, - TK_friend = 35, - TK_goto = 86, - TK_if = 87, - TK_inline = 36, - TK_int = 18, - TK_long = 19, - TK_mutable = 37, - TK_namespace = 64, - TK_new = 72, + TK_auto = 31, + TK_bool = 16, + TK_break = 82, + TK_case = 83, + TK_catch = 124, + TK_char = 17, + TK_class = 60, + TK_const = 28, + TK_const_cast = 47, + TK_continue = 84, + TK_default = 85, + TK_delete = 74, + TK_do = 86, + TK_double = 18, + TK_dynamic_cast = 48, + TK_else = 127, + TK_enum = 62, + TK_explicit = 32, + TK_export = 92, + TK_extern = 33, + TK_false = 49, + TK_float = 19, + TK_for = 87, + TK_friend = 34, + TK_goto = 88, + TK_if = 89, + TK_inline = 35, + TK_int = 20, + TK_long = 21, + TK_mutable = 36, + TK_namespace = 66, + TK_new = 75, TK_operator = 9, - TK_private = 106, - TK_protected = 107, - TK_public = 108, - TK_register = 38, - TK_reinterpret_cast = 48, - TK_return = 88, - TK_short = 20, - TK_signed = 21, - TK_sizeof = 49, - TK_static = 39, - TK_static_cast = 50, - TK_struct = 61, - TK_switch = 89, - TK_template = 59, - TK_this = 51, - TK_throw = 65, + TK_private = 108, + TK_protected = 109, + TK_public = 110, + TK_register = 37, + TK_reinterpret_cast = 50, + TK_return = 90, + TK_short = 22, + TK_signed = 23, + TK_sizeof = 51, + TK_static = 38, + TK_static_cast = 52, + TK_struct = 63, + TK_switch = 91, + TK_template = 61, + TK_this = 53, + TK_throw = 67, TK_try = 78, - TK_true = 52, - TK_typedef = 40, - TK_typeid = 53, + TK_true = 54, + TK_typedef = 39, + TK_typeid = 55, TK_typename = 13, - TK_union = 62, - TK_unsigned = 22, - TK_using = 66, - TK_virtual = 26, - TK_void = 23, - TK_volatile = 27, - TK_wchar_t = 24, - TK_while = 79, - TK_integer = 54, - TK_floating = 55, - TK_charconst = 56, - TK_stringlit = 31, + TK_union = 64, + TK_unsigned = 24, + TK_using = 68, + TK_virtual = 30, + TK_void = 25, + TK_volatile = 29, + TK_wchar_t = 26, + TK_while = 81, + TK_integer = 56, + TK_floating = 57, + TK_charconst = 58, + TK_stringlit = 42, TK_identifier = 1, TK_Completion = 2, - TK_EndOfCompletion = 10, - TK_Invalid = 126, - TK_LeftBracket = 68, + TK_EndOfCompletion = 11, + TK_Invalid = 128, + TK_LeftBracket = 69, TK_LeftParen = 3, - TK_Dot = 123, - TK_DotStar = 95, - TK_Arrow = 109, - TK_ArrowStar = 94, - TK_PlusPlus = 41, - TK_MinusMinus = 42, + TK_Dot = 125, + TK_DotStar = 97, + TK_Arrow = 111, + TK_ArrowStar = 96, + TK_PlusPlus = 44, + TK_MinusMinus = 45, TK_And = 12, - TK_Star = 11, - TK_Plus = 28, - TK_Minus = 29, - TK_Tilde = 8, - TK_Bang = 43, - TK_Slash = 96, - TK_Percent = 97, - TK_RightShift = 91, - TK_LeftShift = 92, - TK_LT = 63, - TK_GT = 73, - TK_LE = 98, - TK_GE = 99, - TK_EQ = 100, - TK_NE = 101, - TK_Caret = 102, - TK_Or = 103, - TK_AndAnd = 104, - TK_OrOr = 105, - TK_Question = 110, - TK_Colon = 74, + TK_Star = 10, + TK_Plus = 40, + TK_Minus = 41, + TK_Tilde = 6, + TK_Bang = 46, + TK_Slash = 98, + TK_Percent = 99, + TK_RightShift = 93, + TK_LeftShift = 94, + TK_LT = 65, + TK_GT = 76, + TK_LE = 100, + TK_GE = 101, + TK_EQ = 102, + TK_NE = 103, + TK_Caret = 104, + TK_Or = 105, + TK_AndAnd = 106, + TK_OrOr = 107, + TK_Question = 112, + TK_Colon = 77, TK_ColonColon = 4, - TK_DotDotDot = 93, - TK_Assign = 76, - TK_StarAssign = 111, - TK_SlashAssign = 112, - TK_PercentAssign = 113, - TK_PlusAssign = 114, - TK_MinusAssign = 115, - TK_RightShiftAssign = 116, - TK_LeftShiftAssign = 117, - TK_AndAssign = 118, - TK_CaretAssign = 119, - TK_OrAssign = 120, - TK_Comma = 70, - TK_RightBracket = 121, - TK_RightParen = 69, - TK_RightBrace = 77, - TK_SemiColon = 30, - TK_LeftBrace = 75, - TK_typeof = 57, - TK___alignof__ = 58, - TK_MAX = 127, - TK_MIN = 128, - TK___attribute__ = 6, - TK___declspec = 7, - TK_ERROR_TOKEN = 67, - TK_EOF_TOKEN = 124; + TK_DotDotDot = 95, + TK_Assign = 79, + TK_StarAssign = 113, + TK_SlashAssign = 114, + TK_PercentAssign = 115, + TK_PlusAssign = 116, + TK_MinusAssign = 117, + TK_RightShiftAssign = 118, + TK_LeftShiftAssign = 119, + TK_AndAssign = 120, + TK_CaretAssign = 121, + TK_OrAssign = 122, + TK_Comma = 72, + TK_RightBracket = 123, + TK_RightParen = 71, + TK_RightBrace = 80, + TK_SemiColon = 43, + TK_LeftBrace = 73, + TK_typeof = 27, + TK___alignof__ = 59, + TK_MAX = 129, + TK_MIN = 130, + TK___attribute__ = 7, + TK___declspec = 8, + TK_ERROR_TOKEN = 70, + TK_EOF_TOKEN = 126; public final static String orderedTerminalSymbols[] = { "", @@ -151,14 +153,16 @@ public interface GPPParsersym { "LeftParen", "ColonColon", "asm", + "Tilde", "__attribute__", "__declspec", - "Tilde", "operator", - "EndOfCompletion", "Star", + "EndOfCompletion", "And", "typename", + "_Complex", + "_Imaginary", "bool", "char", "double", @@ -170,13 +174,10 @@ public interface GPPParsersym { "unsigned", "void", "wchar_t", + "typeof", "const", - "virtual", "volatile", - "Plus", - "Minus", - "SemiColon", - "stringlit", + "virtual", "auto", "explicit", "extern", @@ -186,10 +187,13 @@ public interface GPPParsersym { "register", "static", "typedef", + "Plus", + "Minus", + "stringlit", + "SemiColon", "PlusPlus", "MinusMinus", "Bang", - "class", "const_cast", "dynamic_cast", "false", @@ -202,8 +206,8 @@ public interface GPPParsersym { "integer", "floating", "charconst", - "typeof", "__alignof__", + "class", "template", "enum", "struct", @@ -212,18 +216,18 @@ public interface GPPParsersym { "namespace", "throw", "using", - "ERROR_TOKEN", "LeftBracket", + "ERROR_TOKEN", "RightParen", "Comma", + "LeftBrace", "delete", "new", "GT", "Colon", - "LeftBrace", + "try", "Assign", "RightBrace", - "try", "while", "break", "case", diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPSizeofExpressionParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPSizeofExpressionParser.java index 3eb8b63c745..2743d9f22bd 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPSizeofExpressionParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPSizeofExpressionParser.java @@ -30,7 +30,7 @@ import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPNodeFactory; import org.eclipse.cdt.core.dom.lrparser.action.cpp.CPPBuildASTParserAction; import org.eclipse.cdt.core.dom.lrparser.action.cpp.CPPSecondaryParserFactory; -import org.eclipse.cdt.core.dom.lrparser.action.gnu.GNUBuildASTParserAction; +import org.eclipse.cdt.core.dom.lrparser.action.gnu.GPPBuildASTParserAction; import org.eclipse.cdt.core.dom.lrparser.action.gnu.GPPSecondaryParserFactory; public class GPPSizeofExpressionParser extends PrsStream implements RuleAction , IParserActionTokenProvider, IParser @@ -182,9 +182,9 @@ private void initActions(IASTTranslationUnit tu, Set<IParser.Options> options) { - gnuAction = new GNUBuildASTParserAction (this, tu, astStack, CPPNodeFactory.getDefault() ); + gnuAction = new GPPBuildASTParserAction (this, tu, astStack, CPPNodeFactory.getDefault() ); gnuAction.setParserOptions(options); - + gnuAction.setBaseAction(action); } @@ -250,7 +250,7 @@ public GPPSizeofExpressionParser(IParserActionTokenProvider parser) { // constr -private GNUBuildASTParserAction gnuAction; +private GPPBuildASTParserAction gnuAction; public void ruleAction(int ruleNumber) { @@ -1068,933 +1068,951 @@ private GNUBuildASTParserAction gnuAction; } // - // Rule 221: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers + // Rule 221: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers // - case 221: { action. consumeDeclarationSpecifiersSimple(); break; + case 221: { action. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 222: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers + // Rule 222: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers // case 222: { action. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 223: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers + // Rule 223: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers // case 223: { action. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 224: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers + // Rule 224: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers // - case 224: { action. consumeDeclarationSpecifiersComposite(); break; + case 224: { action. consumeDeclarationSpecifiersTypeName(); break; } // - // Rule 225: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers + // Rule 226: declaration_specifiers_opt ::= $Empty // - case 225: { action. consumeDeclarationSpecifiersTypeName(); break; + case 226: { action. consumeEmpty(); break; } // - // Rule 227: declaration_specifiers_opt ::= $Empty + // Rule 230: no_type_declaration_specifier ::= friend // - case 227: { action. consumeEmpty(); break; + case 230: { action. consumeToken(); break; } // - // Rule 231: no_type_declaration_specifier ::= friend + // Rule 231: no_type_declaration_specifier ::= typedef // case 231: { action. consumeToken(); break; } // - // Rule 232: no_type_declaration_specifier ::= typedef + // Rule 251: storage_class_specifier ::= auto // - case 232: { action. consumeToken(); break; + case 251: { action. consumeToken(); break; } // - // Rule 252: storage_class_specifier ::= auto + // Rule 252: storage_class_specifier ::= register // case 252: { action. consumeToken(); break; } // - // Rule 253: storage_class_specifier ::= register + // Rule 253: storage_class_specifier ::= static // case 253: { action. consumeToken(); break; } // - // Rule 254: storage_class_specifier ::= static + // Rule 254: storage_class_specifier ::= extern // case 254: { action. consumeToken(); break; } // - // Rule 255: storage_class_specifier ::= extern + // Rule 255: storage_class_specifier ::= mutable // case 255: { action. consumeToken(); break; } // - // Rule 256: storage_class_specifier ::= mutable + // Rule 256: function_specifier ::= inline // case 256: { action. consumeToken(); break; } // - // Rule 257: function_specifier ::= inline + // Rule 257: function_specifier ::= virtual // case 257: { action. consumeToken(); break; } // - // Rule 258: function_specifier ::= virtual + // Rule 258: function_specifier ::= explicit // case 258: { action. consumeToken(); break; } // - // Rule 259: function_specifier ::= explicit + // Rule 259: simple_type_specifier ::= char // case 259: { action. consumeToken(); break; } // - // Rule 260: simple_type_specifier ::= char + // Rule 260: simple_type_specifier ::= wchar_t // case 260: { action. consumeToken(); break; } // - // Rule 261: simple_type_specifier ::= wchar_t + // Rule 261: simple_type_specifier ::= bool // case 261: { action. consumeToken(); break; } // - // Rule 262: simple_type_specifier ::= bool + // Rule 262: simple_type_specifier ::= short // case 262: { action. consumeToken(); break; } // - // Rule 263: simple_type_specifier ::= short + // Rule 263: simple_type_specifier ::= int // case 263: { action. consumeToken(); break; } // - // Rule 264: simple_type_specifier ::= int + // Rule 264: simple_type_specifier ::= long // case 264: { action. consumeToken(); break; } // - // Rule 265: simple_type_specifier ::= long + // Rule 265: simple_type_specifier ::= signed // case 265: { action. consumeToken(); break; } // - // Rule 266: simple_type_specifier ::= signed + // Rule 266: simple_type_specifier ::= unsigned // case 266: { action. consumeToken(); break; } // - // Rule 267: simple_type_specifier ::= unsigned + // Rule 267: simple_type_specifier ::= float // case 267: { action. consumeToken(); break; } // - // Rule 268: simple_type_specifier ::= float + // Rule 268: simple_type_specifier ::= double // case 268: { action. consumeToken(); break; } // - // Rule 269: simple_type_specifier ::= double + // Rule 269: simple_type_specifier ::= void // case 269: { action. consumeToken(); break; } // - // Rule 270: simple_type_specifier ::= void + // Rule 272: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name // - case 270: { action. consumeToken(); break; + case 272: { action. consumeQualifiedId(false); break; } // - // Rule 273: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name + // Rule 273: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name // case 273: { action. consumeQualifiedId(false); break; } // - // Rule 274: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name + // Rule 274: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name // case 274: { action. consumeQualifiedId(false); break; } // - // Rule 275: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name + // Rule 275: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name // - case 275: { action. consumeQualifiedId(false); break; + case 275: { action. consumeQualifiedId(true); break; } // - // Rule 276: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name + // Rule 277: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name // - case 276: { action. consumeQualifiedId(true); break; + case 277: { action. consumeTypeSpecifierElaborated(false); break; } // - // Rule 278: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name + // Rule 278: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt template_opt template_id_name // - case 278: { action. consumeTypeSpecifierElaborated(false); break; + case 278: { action. consumeTypeSpecifierElaborated(true); break; } // - // Rule 279: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt template_opt template_id_name + // Rule 279: elaborated_type_specifier ::= enum elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name // - case 279: { action. consumeTypeSpecifierElaborated(true); break; + case 279: { action. consumeTypeSpecifierElaborated(false); break; } // - // Rule 280: elaborated_type_specifier ::= enum elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name + // Rule 281: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt } // - case 280: { action. consumeTypeSpecifierElaborated(false); break; + case 281: { action. consumeTypeSpecifierEnumeration(false); break; } // - // Rule 282: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt } + // Rule 282: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt } // - case 282: { action. consumeTypeSpecifierEnumeration(false); break; + case 282: { action. consumeTypeSpecifierEnumeration(true); break; } // - // Rule 283: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt } + // Rule 288: enumerator_definition ::= identifier_token // - case 283: { action. consumeTypeSpecifierEnumeration(true); break; + case 288: { action. consumeEnumerator(false); break; } // - // Rule 289: enumerator_definition ::= identifier_token + // Rule 289: enumerator_definition ::= identifier_token = constant_expression // - case 289: { action. consumeEnumerator(false); break; + case 289: { action. consumeEnumerator(true); break; } // - // Rule 290: enumerator_definition ::= identifier_token = constant_expression + // Rule 293: named_namespace_definition ::= namespace namespace_name { <openscope-ast> declaration_seq_opt } // - case 290: { action. consumeEnumerator(true); break; + case 293: { action. consumeNamespaceDefinition(true); break; } // - // Rule 294: named_namespace_definition ::= namespace namespace_name { <openscope-ast> declaration_seq_opt } + // Rule 294: unnamed_namespace_definition ::= namespace { <openscope-ast> declaration_seq_opt } // - case 294: { action. consumeNamespaceDefinition(true); break; + case 294: { action. consumeNamespaceDefinition(false); break; } // - // Rule 295: unnamed_namespace_definition ::= namespace { <openscope-ast> declaration_seq_opt } + // Rule 295: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ; // - case 295: { action. consumeNamespaceDefinition(false); break; + case 295: { action. consumeNamespaceAliasDefinition(); break; } // - // Rule 296: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 296: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; // - case 296: { action. consumeNamespaceAliasDefinition(); break; + case 296: { action. consumeUsingDeclaration(); break; } // - // Rule 297: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; + // Rule 297: typename_opt ::= typename // - case 297: { action. consumeUsingDeclaration(); break; + case 297: { action. consumePlaceHolder(); break; } // - // Rule 298: typename_opt ::= typename + // Rule 298: typename_opt ::= $Empty // - case 298: { action. consumePlaceHolder(); break; + case 298: { action. consumeEmpty(); break; } // - // Rule 299: typename_opt ::= $Empty + // Rule 299: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; // - case 299: { action. consumeEmpty(); break; + case 299: { action. consumeUsingDirective(); break; } // - // Rule 300: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 300: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt } // - case 300: { action. consumeUsingDirective(); break; + case 300: { action. consumeLinkageSpecification(); break; } // - // Rule 301: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt } + // Rule 301: linkage_specification ::= extern stringlit <openscope-ast> declaration // case 301: { action. consumeLinkageSpecification(); break; } // - // Rule 302: linkage_specification ::= extern stringlit <openscope-ast> declaration + // Rule 306: init_declarator_complete ::= init_declarator // - case 302: { action. consumeLinkageSpecification(); break; + case 306: { action. consumeInitDeclaratorComplete(); break; } // - // Rule 307: init_declarator_complete ::= init_declarator + // Rule 308: init_declarator ::= complete_declarator initializer // - case 307: { action. consumeInitDeclaratorComplete(); break; + case 308: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 309: init_declarator ::= complete_declarator initializer + // Rule 311: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator // - case 309: { action. consumeDeclaratorWithInitializer(true); break; + case 311: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 312: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator + // Rule 313: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator // - case 312: { action. consumeDeclaratorWithPointer(true); break; + case 313: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 314: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator + // Rule 317: basic_direct_declarator ::= declarator_id_name // - case 314: { action. consumeDeclaratorWithPointer(true); break; + case 317: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 318: basic_direct_declarator ::= declarator_id_name + // Rule 318: basic_direct_declarator ::= ( declarator ) // - case 318: { action. consumeDirectDeclaratorIdentifier(); break; + case 318: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 319: basic_direct_declarator ::= ( declarator ) + // Rule 319: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 319: { action. consumeDirectDeclaratorBracketed(); break; + case 319: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 320: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 320: array_direct_declarator ::= array_direct_declarator array_modifier // - case 320: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; + case 320: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 321: array_direct_declarator ::= array_direct_declarator array_modifier + // Rule 321: array_direct_declarator ::= basic_direct_declarator array_modifier // case 321: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 322: array_direct_declarator ::= basic_direct_declarator array_modifier + // Rule 322: array_modifier ::= [ constant_expression ] // - case 322: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 322: { action. consumeDirectDeclaratorArrayModifier(true); break; } // - // Rule 323: array_modifier ::= [ constant_expression ] + // Rule 323: array_modifier ::= [ ] // - case 323: { action. consumeDirectDeclaratorArrayModifier(true); break; + case 323: { action. consumeDirectDeclaratorArrayModifier(false); break; } // - // Rule 324: array_modifier ::= [ ] + // Rule 324: ptr_operator ::= pointer_hook * <openscope-ast> cv_qualifier_seq_opt // - case 324: { action. consumeDirectDeclaratorArrayModifier(false); break; + case 324: { action. consumePointer(); break; } // - // Rule 325: ptr_operator ::= pointer_hook * <openscope-ast> cv_qualifier_seq_opt + // Rule 325: ptr_operator ::= pointer_hook & // - case 325: { action. consumePointer(); break; + case 325: { action. consumeReferenceOperator(); break; } // - // Rule 326: ptr_operator ::= pointer_hook & + // Rule 326: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * <openscope-ast> cv_qualifier_seq_opt // - case 326: { action. consumeReferenceOperator(); break; + case 326: { action. consumePointerToMember(); break; } // - // Rule 327: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * <openscope-ast> cv_qualifier_seq_opt + // Rule 333: cv_qualifier ::= const // - case 327: { action. consumePointerToMember(); break; + case 333: { action. consumeToken(); break; } // - // Rule 334: cv_qualifier ::= const + // Rule 334: cv_qualifier ::= volatile // case 334: { action. consumeToken(); break; } // - // Rule 335: cv_qualifier ::= volatile + // Rule 336: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name // - case 335: { action. consumeToken(); break; + case 336: { action. consumeQualifiedId(false); break; } // - // Rule 337: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name + // Rule 337: type_id ::= type_specifier_seq // - case 337: { action. consumeQualifiedId(false); break; + case 337: { action. consumeTypeId(false); break; } // - // Rule 338: type_id ::= type_specifier_seq + // Rule 338: type_id ::= type_specifier_seq abstract_declarator // - case 338: { action. consumeTypeId(false); break; + case 338: { action. consumeTypeId(true); break; } // - // Rule 339: type_id ::= type_specifier_seq abstract_declarator + // Rule 341: abstract_declarator ::= <openscope-ast> ptr_operator_seq // - case 339: { action. consumeTypeId(true); break; + case 341: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 342: abstract_declarator ::= <openscope-ast> ptr_operator_seq + // Rule 342: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator // - case 342: { action. consumeDeclaratorWithPointer(false); break; + case 342: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 343: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator + // Rule 346: basic_direct_abstract_declarator ::= ( abstract_declarator ) // - case 343: { action. consumeDeclaratorWithPointer(true); break; + case 346: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 347: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 347: basic_direct_abstract_declarator ::= ( ) // - case 347: { action. consumeDirectDeclaratorBracketed(); break; + case 347: { action. consumeAbstractDeclaratorEmpty(); break; } // - // Rule 348: basic_direct_abstract_declarator ::= ( ) + // Rule 348: array_direct_abstract_declarator ::= array_modifier // - case 348: { action. consumeAbstractDeclaratorEmpty(); break; + case 348: { action. consumeDirectDeclaratorArrayDeclarator(false); break; } // - // Rule 349: array_direct_abstract_declarator ::= array_modifier + // Rule 349: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier // - case 349: { action. consumeDirectDeclaratorArrayDeclarator(false); break; + case 349: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 350: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier + // Rule 350: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier // case 350: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 351: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier + // Rule 351: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 351: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 351: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 352: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 352: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 352: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; + case 352: { action. consumeDirectDeclaratorFunctionDeclarator(false); break; } // - // Rule 353: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 353: parameter_declaration_clause ::= parameter_declaration_list_opt ... // - case 353: { action. consumeDirectDeclaratorFunctionDeclarator(false); break; + case 353: { action. consumePlaceHolder(); break; } // - // Rule 354: parameter_declaration_clause ::= parameter_declaration_list_opt ... + // Rule 354: parameter_declaration_clause ::= parameter_declaration_list_opt // - case 354: { action. consumePlaceHolder(); break; + case 354: { action. consumeEmpty(); break; } // - // Rule 355: parameter_declaration_clause ::= parameter_declaration_list_opt + // Rule 355: parameter_declaration_clause ::= parameter_declaration_list , ... // - case 355: { action. consumeEmpty(); break; + case 355: { action. consumePlaceHolder(); break; } // - // Rule 356: parameter_declaration_clause ::= parameter_declaration_list , ... + // Rule 361: abstract_declarator_opt ::= $Empty // - case 356: { action. consumePlaceHolder(); break; + case 361: { action. consumeEmpty(); break; } // - // Rule 362: abstract_declarator_opt ::= $Empty + // Rule 362: parameter_declaration ::= declaration_specifiers parameter_init_declarator // - case 362: { action. consumeEmpty(); break; + case 362: { action. consumeParameterDeclaration(); break; } // - // Rule 363: parameter_declaration ::= declaration_specifiers parameter_init_declarator + // Rule 363: parameter_declaration ::= declaration_specifiers // - case 363: { action. consumeParameterDeclaration(); break; + case 363: { action. consumeParameterDeclarationWithoutDeclarator(); break; } // - // Rule 364: parameter_declaration ::= declaration_specifiers + // Rule 365: parameter_init_declarator ::= declarator = parameter_initializer // - case 364: { action. consumeParameterDeclarationWithoutDeclarator(); break; + case 365: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 366: parameter_init_declarator ::= declarator = parameter_initializer + // Rule 367: parameter_init_declarator ::= abstract_declarator = parameter_initializer // - case 366: { action. consumeDeclaratorWithInitializer(true); break; + case 367: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 368: parameter_init_declarator ::= abstract_declarator = parameter_initializer + // Rule 368: parameter_init_declarator ::= = parameter_initializer // - case 368: { action. consumeDeclaratorWithInitializer(true); break; + case 368: { action. consumeDeclaratorWithInitializer(false); break; } // - // Rule 369: parameter_init_declarator ::= = parameter_initializer + // Rule 369: parameter_initializer ::= assignment_expression // - case 369: { action. consumeDeclaratorWithInitializer(false); break; + case 369: { action. consumeInitializer(); break; } // - // Rule 370: parameter_initializer ::= assignment_expression + // Rule 370: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body // - case 370: { action. consumeInitializer(); break; + case 370: { action. consumeFunctionDefinition(false); break; } // - // Rule 371: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body + // Rule 371: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq // - case 371: { action. consumeFunctionDefinition(false); break; + case 371: { action. consumeFunctionDefinition(true); break; } // - // Rule 372: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq + // Rule 374: initializer ::= ( expression_list ) // - case 372: { action. consumeFunctionDefinition(true); break; + case 374: { action. consumeInitializerConstructor(); break; } // - // Rule 375: initializer ::= ( expression_list ) + // Rule 375: initializer_clause ::= assignment_expression // - case 375: { action. consumeInitializerConstructor(); break; + case 375: { action. consumeInitializer(); break; } // - // Rule 376: initializer_clause ::= assignment_expression + // Rule 376: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list , } end_initializer_list // - case 376: { action. consumeInitializer(); break; + case 376: { action. consumeInitializerList(); break; } // - // Rule 377: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list , } end_initializer_list + // Rule 377: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list } end_initializer_list // case 377: { action. consumeInitializerList(); break; } // - // Rule 378: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list } end_initializer_list + // Rule 378: initializer_clause ::= { <openscope-ast> } // case 378: { action. consumeInitializerList(); break; } // - // Rule 379: initializer_clause ::= { <openscope-ast> } + // Rule 379: start_initializer_list ::= $Empty // - case 379: { action. consumeInitializerList(); break; + case 379: { action. initializerListStart(); break; } // - // Rule 380: start_initializer_list ::= $Empty + // Rule 380: end_initializer_list ::= $Empty // - case 380: { action. initializerListStart(); break; + case 380: { action. initializerListEnd(); break; } // - // Rule 381: end_initializer_list ::= $Empty + // Rule 385: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt } // - case 381: { action. initializerListEnd(); break; + case 385: { action. consumeClassSpecifier(); break; } // - // Rule 386: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt } + // Rule 386: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook <openscope-ast> base_clause_opt // - case 386: { action. consumeClassSpecifier(); break; + case 386: { action. consumeClassHead(false); break; } // - // Rule 387: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 387: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt // case 387: { action. consumeClassHead(false); break; } // - // Rule 388: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 388: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook <openscope-ast> base_clause_opt // - case 388: { action. consumeClassHead(false); break; + case 388: { action. consumeClassHead(true); break; } // - // Rule 389: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 389: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt // case 389: { action. consumeClassHead(true); break; } // - // Rule 390: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 393: identifier_name_opt ::= $Empty // - case 390: { action. consumeClassHead(true); break; - } + case 393: { action. consumeEmpty(); break; + } // - // Rule 394: identifier_name_opt ::= $Empty + // Rule 397: visibility_label ::= access_specifier_keyword : // - case 394: { action. consumeEmpty(); break; - } + case 397: { action. consumeVisibilityLabel(); break; + } // - // Rule 398: visibility_label ::= access_specifier_keyword : + // Rule 398: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ; // - case 398: { action. consumeVisibilityLabel(); break; + case 398: { action. consumeDeclarationSimple(true); break; } // - // Rule 399: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ; + // Rule 399: member_declaration ::= declaration_specifiers_opt ; // - case 399: { action. consumeDeclarationSimple(true); break; + case 399: { action. consumeDeclarationSimple(false); break; } // - // Rule 400: member_declaration ::= declaration_specifiers_opt ; + // Rule 402: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ; // - case 400: { action. consumeDeclarationSimple(false); break; + case 402: { action. consumeMemberDeclarationQualifiedId(); break; } // - // Rule 403: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ; + // Rule 408: member_declaration ::= ERROR_TOKEN // - case 403: { action. consumeMemberDeclarationQualifiedId(); break; + case 408: { action. consumeDeclarationProblem(); break; } // - // Rule 409: member_declaration ::= ERROR_TOKEN + // Rule 417: member_declarator ::= declarator constant_initializer // - case 409: { action. consumeDeclarationProblem(); break; + case 417: { action. consumeMemberDeclaratorWithInitializer(); break; } // - // Rule 418: member_declarator ::= declarator constant_initializer + // Rule 418: member_declarator ::= bit_field_declarator : constant_expression // - case 418: { action. consumeMemberDeclaratorWithInitializer(); break; + case 418: { action. consumeBitField(true); break; } // - // Rule 419: member_declarator ::= bit_field_declarator : constant_expression + // Rule 419: member_declarator ::= : constant_expression // - case 419: { action. consumeBitField(true); break; + case 419: { action. consumeBitField(false); break; } // - // Rule 420: member_declarator ::= : constant_expression + // Rule 420: bit_field_declarator ::= identifier_name // - case 420: { action. consumeBitField(false); break; + case 420: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 421: bit_field_declarator ::= identifier_name + // Rule 421: constant_initializer ::= = constant_expression // - case 421: { action. consumeDirectDeclaratorIdentifier(); break; + case 421: { action. consumeInitializer(); break; } // - // Rule 422: constant_initializer ::= = constant_expression + // Rule 427: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name // - case 422: { action. consumeInitializer(); break; + case 427: { action. consumeBaseSpecifier(false, false); break; } // - // Rule 428: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name + // Rule 428: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name // - case 428: { action. consumeBaseSpecifier(false, false); break; + case 428: { action. consumeBaseSpecifier(true, true); break; } // - // Rule 429: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name + // Rule 429: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name // case 429: { action. consumeBaseSpecifier(true, true); break; } // - // Rule 430: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name + // Rule 430: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name // - case 430: { action. consumeBaseSpecifier(true, true); break; + case 430: { action. consumeBaseSpecifier(true, false); break; } // - // Rule 431: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name + // Rule 431: access_specifier_keyword ::= private // - case 431: { action. consumeBaseSpecifier(true, false); break; + case 431: { action. consumeToken(); break; } // - // Rule 432: access_specifier_keyword ::= private + // Rule 432: access_specifier_keyword ::= protected // case 432: { action. consumeToken(); break; } // - // Rule 433: access_specifier_keyword ::= protected + // Rule 433: access_specifier_keyword ::= public // case 433: { action. consumeToken(); break; } // - // Rule 434: access_specifier_keyword ::= public + // Rule 435: access_specifier_keyword_opt ::= $Empty // - case 434: { action. consumeToken(); break; + case 435: { action. consumeEmpty(); break; } // - // Rule 436: access_specifier_keyword_opt ::= $Empty + // Rule 437: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt > // - case 436: { action. consumeEmpty(); break; + case 437: { action. consumeTemplateId(); break; } // - // Rule 438: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt > + // Rule 438: conversion_function_id ::= operator conversion_type_id // - case 438: { action. consumeTemplateId(); break; + case 438: { action. consumeConversionName(); break; } // - // Rule 439: conversion_function_id ::= operator conversion_type_id + // Rule 439: conversion_type_id ::= type_specifier_seq conversion_declarator // - case 439: { action. consumeConversionName(); break; + case 439: { action. consumeTypeId(true); break; } // - // Rule 440: conversion_type_id ::= type_specifier_seq conversion_declarator + // Rule 440: conversion_type_id ::= type_specifier_seq // - case 440: { action. consumeTypeId(true); break; + case 440: { action. consumeTypeId(false); break; } // - // Rule 441: conversion_type_id ::= type_specifier_seq + // Rule 441: conversion_declarator ::= <openscope-ast> ptr_operator_seq // - case 441: { action. consumeTypeId(false); break; + case 441: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 442: conversion_declarator ::= <openscope-ast> ptr_operator_seq + // Rule 447: mem_initializer ::= mem_initializer_name ( expression_list_opt ) // - case 442: { action. consumeDeclaratorWithPointer(false); break; + case 447: { action. consumeConstructorChainInitializer(); break; } // - // Rule 448: mem_initializer ::= mem_initializer_name ( expression_list_opt ) + // Rule 448: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name // - case 448: { action. consumeConstructorChainInitializer(); break; + case 448: { action. consumeQualifiedId(false); break; } // - // Rule 449: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name + // Rule 451: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt > // - case 449: { action. consumeQualifiedId(false); break; + case 451: { action. consumeTemplateId(); break; } // - // Rule 452: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt > + // Rule 452: operator_id_name ::= operator overloadable_operator // - case 452: { action. consumeTemplateId(); break; + case 452: { action. consumeOperatorName(); break; } // - // Rule 453: operator_id_name ::= operator overloadable_operator + // Rule 495: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration // - case 453: { action. consumeOperatorName(); break; + case 495: { action. consumeTemplateDeclaration(); break; } // - // Rule 496: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration + // Rule 496: export_opt ::= export // - case 496: { action. consumeTemplateDeclaration(); break; + case 496: { action. consumePlaceHolder(); break; } // - // Rule 497: export_opt ::= export + // Rule 497: export_opt ::= $Empty // - case 497: { action. consumePlaceHolder(); break; + case 497: { action. consumeEmpty(); break; } // - // Rule 498: export_opt ::= $Empty + // Rule 501: template_parameter ::= parameter_declaration // - case 498: { action. consumeEmpty(); break; + case 501: { action. consumeTemplateParamterDeclaration(); break; } // - // Rule 502: template_parameter ::= parameter_declaration + // Rule 502: type_parameter ::= class identifier_name_opt // - case 502: { action. consumeTemplateParamterDeclaration(); break; + case 502: { action. consumeSimpleTypeTemplateParameter(false); break; } // - // Rule 503: type_parameter ::= class identifier_name_opt + // Rule 503: type_parameter ::= class identifier_name_opt = type_id // - case 503: { action. consumeSimpleTypeTemplateParameter(false); break; + case 503: { action. consumeSimpleTypeTemplateParameter(true); break; } // - // Rule 504: type_parameter ::= class identifier_name_opt = type_id + // Rule 504: type_parameter ::= typename identifier_name_opt // - case 504: { action. consumeSimpleTypeTemplateParameter(true); break; + case 504: { action. consumeSimpleTypeTemplateParameter(false); break; } // - // Rule 505: type_parameter ::= typename identifier_name_opt + // Rule 505: type_parameter ::= typename identifier_name_opt = type_id // - case 505: { action. consumeSimpleTypeTemplateParameter(false); break; + case 505: { action. consumeSimpleTypeTemplateParameter(true); break; } // - // Rule 506: type_parameter ::= typename identifier_name_opt = type_id + // Rule 506: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt // - case 506: { action. consumeSimpleTypeTemplateParameter(true); break; + case 506: { action. consumeTemplatedTypeTemplateParameter(false); break; } // - // Rule 507: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt + // Rule 507: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression // - case 507: { action. consumeTemplatedTypeTemplateParameter(false); break; + case 507: { action. consumeTemplatedTypeTemplateParameter(true); break; } // - // Rule 508: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression + // Rule 508: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt > // - case 508: { action. consumeTemplatedTypeTemplateParameter(true); break; + case 508: { action. consumeTemplateId(); break; } // - // Rule 509: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt > + // Rule 513: template_argument ::= assignment_expression // - case 509: { action. consumeTemplateId(); break; + case 513: { action. consumeTemplateArgumentExpression(); break; } // - // Rule 514: template_argument ::= assignment_expression + // Rule 514: template_argument ::= type_id // - case 514: { action. consumeTemplateArgumentExpression(); break; + case 514: { action. consumeTemplateArgumentTypeId(); break; } // - // Rule 515: template_argument ::= type_id + // Rule 515: explicit_instantiation ::= template declaration // - case 515: { action. consumeTemplateArgumentTypeId(); break; + case 515: { action. consumeTemplateExplicitInstantiation(); break; } // - // Rule 516: explicit_instantiation ::= template declaration + // Rule 516: explicit_specialization ::= template < > declaration // - case 516: { action. consumeTemplateExplicitInstantiation(); break; + case 516: { action. consumeTemplateExplicitSpecialization(); break; } // - // Rule 517: explicit_specialization ::= template < > declaration + // Rule 517: try_block ::= try compound_statement <openscope-ast> handler_seq // - case 517: { action. consumeTemplateExplicitSpecialization(); break; + case 517: { action. consumeStatementTryBlock(); break; } // - // Rule 518: try_block ::= try compound_statement <openscope-ast> handler_seq + // Rule 520: handler ::= catch ( exception_declaration ) compound_statement // - case 518: { action. consumeStatementTryBlock(); break; + case 520: { action. consumeStatementCatchHandler(false); break; } // - // Rule 521: handler ::= catch ( exception_declaration ) compound_statement + // Rule 521: handler ::= catch ( ... ) compound_statement // - case 521: { action. consumeStatementCatchHandler(false); break; + case 521: { action. consumeStatementCatchHandler(true); break; } // - // Rule 522: handler ::= catch ( ... ) compound_statement + // Rule 522: exception_declaration ::= type_specifier_seq <openscope-ast> declarator // - case 522: { action. consumeStatementCatchHandler(true); break; + case 522: { action. consumeDeclarationSimple(true); break; } // - // Rule 523: exception_declaration ::= type_specifier_seq <openscope-ast> declarator + // Rule 523: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator // case 523: { action. consumeDeclarationSimple(true); break; } // - // Rule 524: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator + // Rule 524: exception_declaration ::= type_specifier_seq // - case 524: { action. consumeDeclarationSimple(true); break; + case 524: { action. consumeDeclarationSimple(false); break; } // - // Rule 525: exception_declaration ::= type_specifier_seq + // Rule 526: exception_specification ::= throw ( ) // - case 525: { action. consumeDeclarationSimple(false); break; + case 526: { action. consumePlaceHolder(); break; } // - // Rule 527: exception_specification ::= throw ( ) + // Rule 547: attribute_parameter ::= assignment_expression // - case 527: { action. consumePlaceHolder(); break; + case 547: { action. consumeIgnore(); break; } + + // + // Rule 557: extended_asm_declaration ::= asm volatile_opt ( extended_asm_param_seq ) ; + // + case 557: { gnuAction.consumeDeclarationASM(); break; + } // - // Rule 548: attribute_parameter ::= assignment_expression + // Rule 568: unary_expression ::= __alignof__ unary_expression // - case 548: { action. consumeIgnore(); break; + case 568: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_alignOf); break; + } + + // + // Rule 569: unary_expression ::= typeof unary_expression + // + case 569: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); break; } // - // Rule 558: extended_asm_declaration ::= asm volatile_opt ( extended_asm_param_seq ) ; + // Rule 574: declaration_specifiers ::= <openscope-ast> typeof_declaration_specifiers // - case 558: { gnuAction.consumeDeclarationASM(); break; + case 574: { gnuAction.consumeDeclarationSpecifiersTypeof(); break; } // - // Rule 569: unary_expression ::= __alignof__ unary_expression + // Rule 587: declarator ::= <openscope-ast> ptr_operator_seq attribute_or_decl_specifier_seq direct_declarator // - case 569: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_alignOf); break; + case 587: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 570: unary_expression ::= typeof unary_expression + // Rule 589: simple_type_specifier ::= _Complex // - case 570: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); break; + case 589: { action. consumeToken(); break; } // - // Rule 583: declarator ::= <openscope-ast> ptr_operator_seq attribute_or_decl_specifier_seq direct_declarator + // Rule 590: simple_type_specifier ::= _Imaginary // - case 583: { action. consumeDeclaratorWithPointer(true); break; + case 590: { action. consumeToken(); break; } + + // + // Rule 591: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers + // + case 591: { gnuAction.consumeDeclarationSpecifiersSimple(); break; + } // - // Rule 586: no_sizeof_type_id_start ::= ERROR_TOKEN + // Rule 593: no_sizeof_type_id_start ::= ERROR_TOKEN // - case 586: { action. consumeExpressionProblem(); break; + case 593: { action. consumeExpressionProblem(); break; } diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPSizeofExpressionParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPSizeofExpressionParserprs.java index 42b4908f6a0..c3f1bd9cc45 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPSizeofExpressionParserprs.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPSizeofExpressionParserprs.java @@ -29,7 +29,7 @@ public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0 }; }; public final static byte isKeyword[] = IsKeyword.isKeyword; @@ -59,570 +59,570 @@ public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 7,8,1,1,2,2,3,2,3,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,2,1,0,4,4, - 2,2,2,2,2,1,0,1,1,1, - 1,1,1,2,1,2,2,2,1,1, - 2,2,1,2,2,1,2,2,1,2, - 2,1,1,1,1,1,1,1,1,1, + 2,2,2,2,1,0,1,1,1,1, + 1,1,2,1,2,2,2,1,1,2, + 2,1,2,2,1,2,2,1,2,2, 1,1,1,1,1,1,1,1,1,1, - 1,1,3,4,4,5,2,5,6,5, - 0,6,7,0,1,3,1,0,1,3, - 1,1,1,6,5,7,6,1,0,6, - 6,4,1,3,1,0,1,1,2,1, - 1,3,1,3,1,1,1,1,3,9, - 2,2,3,2,4,2,6,0,1,2, - 2,1,0,1,1,1,3,1,2,1, - 1,2,3,1,1,1,3,2,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,7,6,3,0, - 0,1,3,1,1,5,6,6,7,7, - 0,0,1,0,1,1,1,2,4,2, - 2,1,5,1,1,1,1,1,1,1, - 2,1,0,1,3,1,1,2,3,2, - 1,2,2,1,0,1,3,3,5,5, - 4,1,1,1,1,0,1,5,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,3,4,4,5,2,5,6,5,0, + 6,7,0,1,3,1,0,1,3,1, + 1,1,6,5,7,6,1,0,6,6, + 4,1,3,1,0,1,1,2,1,1, + 3,1,3,1,1,1,1,3,9,2, + 2,3,2,4,2,6,0,1,2,2, + 1,0,1,1,1,3,1,2,1,1, + 2,3,1,1,1,3,2,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,7,6,3,0,0, + 1,3,1,1,5,6,6,7,7,0, + 0,1,0,1,1,1,2,4,2,2, + 1,5,1,1,1,1,1,1,1,2, + 1,0,1,3,1,1,2,3,2,1, + 2,2,1,0,1,3,3,5,5,4, + 1,1,1,1,0,1,5,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,2,2,7,1,0,1,3, - 1,1,2,4,2,4,7,9,5,1, - 3,1,0,1,1,2,4,4,1,2, - 5,5,3,3,1,4,3,1,0,1, - 3,1,1,1,1,2,6,3,1,3, - 1,4,0,1,1,1,3,1,0,4, - 3,1,2,1,3,4,4,6,1,0, - 1,3,1,3,0,1,4,5,2,2, - 1,1,2,2,3,2,2,3,1,1, - 1,1,4,1,1,1,-64,0,0,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,-124,0,0,-10,0,0, - 0,0,0,0,0,0,0,0,-428,0, - 0,0,0,-139,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-521,-187, - 0,0,0,0,-242,0,0,0,0,-417, - 0,0,0,0,-1,-481,0,0,0,0, - 0,0,0,0,0,0,-81,0,0,0, + 1,1,1,1,1,1,1,1,1,1, + 1,1,2,2,7,1,0,1,3,1, + 1,2,4,2,4,7,9,5,1,3, + 1,0,1,1,2,4,4,1,2,5, + 5,3,3,1,4,3,1,0,1,3, + 1,1,1,1,2,6,3,1,3,1, + 4,0,1,1,1,3,1,0,4,3, + 1,2,1,3,4,4,6,1,0,1, + 3,1,3,0,1,4,5,2,2,2, + 1,2,2,2,1,1,2,2,3,2, + 2,3,1,1,1,1,4,1,1,1, + 2,1,1,-64,0,0,0,-2,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-191, - 0,0,0,0,0,0,0,-2,0,-131, - 0,0,0,-394,0,0,-4,-73,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-116, + 0,-55,0,0,-10,0,0,0,0,0, + 0,0,0,0,0,-190,-135,-66,0,0, + -234,-256,0,0,-351,0,0,0,-4,0, + 0,0,0,0,0,0,0,-276,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-16,0,0,0,-237,-313,0,0,0, + 0,0,0,0,0,0,0,-5,-14,-485, + 0,0,0,-56,-280,0,0,0,0,0, + 0,-224,0,0,0,0,0,0,0,0, + 0,-153,0,0,-477,0,0,-61,0,0, + 0,0,0,0,0,0,0,-154,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-55,-252,0,0,0,0,0,0, + -67,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-116,0,0, 0,0,0,0,0,0,0,0,0,0, - -60,0,0,0,0,0,-245,0,0,0, - -74,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-18,0,0,0,0,-117, 0,0,0,0,0,0,0,0,0,0, + 0,-432,0,0,0,0,0,0,0,0, + 0,0,0,-214,0,0,0,0,-199,0, + 0,-198,0,0,0,0,0,0,-73,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-182,0,0,0,0,0,0,0, - -133,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-152,-399,0,0, - 0,0,-580,0,0,0,0,0,0,0, - 0,0,0,0,0,-567,0,-272,0,0, - -215,-114,0,0,0,0,-135,0,0,0, + 0,0,0,0,0,0,0,0,-358,-117, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -141,-5,0,0,0,0,0,-196,0,0, - 0,0,-66,0,0,0,0,0,0,0, - 0,0,0,-146,0,0,0,-6,0,0, - 0,0,0,0,-51,-403,0,0,0,0, - 0,0,0,0,0,0,-229,0,0,0, + 0,0,-446,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-181, - 0,0,0,0,0,0,0,-7,0,0, + -60,0,0,0,0,0,-6,-114,0,0, + -74,0,0,0,-7,0,0,0,0,0, + 0,0,0,0,-521,0,0,0,0,0, + 0,-137,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -56,0,0,0,0,-8,0,0,-153,0, - 0,0,-9,0,0,0,0,0,0,0, - 0,-237,0,0,0,0,0,0,-301,0, - -142,0,0,-554,0,0,0,0,0,0, + 0,0,0,0,-184,0,0,0,0,0, + 0,0,-201,0,0,0,0,0,0,0, + 0,0,-373,-129,0,0,0,0,0,0, + 0,0,0,-136,-584,0,0,0,0,0, + 0,0,0,0,0,0,0,-123,0,0, + -8,0,0,-233,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-149,-197,0, - 0,0,0,0,-415,0,0,0,0,0, - 0,0,0,0,-290,0,0,0,0,0, - 0,-579,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-241,0,0,0, + 0,0,0,0,-151,0,0,0,0,-62, + 0,0,0,0,0,-147,0,0,0,0, + 0,-51,0,0,0,0,-156,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-332,0,-11,0,0,0, - 0,0,0,0,0,0,0,-12,0,0, - 0,0,0,0,0,0,0,0,0,-474, - 0,0,0,-67,0,0,0,0,0,0, + 0,0,0,0,0,-558,0,0,0,-143, 0,0,0,0,0,0,0,0,0,0, - 0,0,-463,0,0,0,0,0,0,0, - -195,0,0,0,0,0,0,0,0,0, - 0,0,0,-279,0,0,0,-318,0,0, - 0,-13,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-250,0, + 0,0,0,-309,0,0,-329,0,0,0, + 0,0,0,0,0,0,-257,0,0,0, + 0,0,0,0,0,-583,0,0,0,-160, 0,0,0,0,0,0,0,0,0,0, - -246,0,0,0,0,0,0,0,-198,0, + 0,0,0,0,0,0,0,0,-381,-185, + 0,0,0,0,0,0,-208,0,0,0, + 0,0,0,0,0,0,-263,0,0,0, + 0,0,0,-108,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-52,0,0,0,0,-15,-155,0,0, + 0,0,0,0,0,0,-294,0,0,0, + 0,-454,0,0,-582,0,0,0,0,-109, + 0,0,0,0,-478,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -30,-3,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-407,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-497,0,0,0,0,0, - 0,0,-333,0,0,0,0,-134,0,0, - 0,0,-253,0,0,0,0,0,-293,0, - 0,0,-450,0,0,0,0,0,0,0, + -259,0,0,0,0,0,0,-9,0,0, + 0,0,0,0,-194,-236,-204,0,0,0, + -11,-322,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-276,0,0,-377,0,-31,0,0,0, - 0,0,0,0,-32,0,0,0,0,0, - 0,0,-369,0,0,-340,0,0,0,0, + 0,0,0,0,-115,0,-398,-418,0,-159, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-150, - 0,-33,0,0,0,0,0,0,0,0, - 0,-61,0,0,0,0,-16,0,0,0, - 0,0,0,0,0,0,0,-473,0,0, - -575,0,0,-50,0,0,0,0,-341,0, + 0,0,-361,0,0,0,0,0,0,0, + 0,0,0,-12,0,0,-3,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-200, + 0,0,0,0,0,0,0,-428,0,0, + 0,0,0,0,0,0,0,-399,0,0, + 0,0,0,-297,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-202,-13,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,-259, - 0,0,0,0,0,-388,0,0,0,-34, + 0,0,0,0,-344,0,0,0,-357,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-429,0, - 0,0,0,-322,0,0,-305,0,0,0, - 0,-35,0,0,0,0,-380,0,0,0, - 0,0,-41,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-556,0,0,0,0, - 0,0,0,-325,0,0,0,0,0,0, - 0,0,0,-148,0,0,-62,0,0,-43, - 0,0,0,-511,0,0,0,0,0,0, + -15,0,-193,0,0,0,0,0,0,0, + -30,0,0,0,0,-404,0,0,0,0, + 0,0,0,0,0,0,-31,0,0,0, + -424,0,0,0,0,0,-345,0,0,0, + -225,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-260,0,0,0,0,0,0,0, - -316,0,0,0,0,-36,0,0,0,0, - 0,-309,0,-109,0,0,-96,0,0,0, + -460,-340,0,0,0,0,0,0,0,0, + 0,0,-144,0,0,0,0,0,-32,-50, + -33,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,-291, + 0,0,0,0,0,0,0,0,0,-506, 0,0,0,0,0,0,0,0,0,0, + -246,0,0,0,0,-264,0,0,0,0, + 0,-41,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-97,0,0,0,-570,0,0, + 0,0,0,0,0,-436,0,0,0,0, + 0,0,-354,0,0,0,0,0,0,0, + 0,0,0,-210,-588,0,0,0,-43,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-303,0,0,0, - 0,-157,0,0,-385,0,0,0,0,-205, - 0,0,0,0,-334,0,0,0,0,0, - -98,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-53,0,-414,0,0,0, - 0,0,0,0,0,0,-353,0,0,0, - 0,-387,-485,-364,-115,0,0,-99,0,0, - 0,-571,0,0,0,0,0,0,0,0, + 0,0,0,-283,0,0,-326,0,0,-34, + 0,0,0,0,-391,0,0,0,0,-295, + 0,0,0,0,0,-96,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-211,0,0,0,0,0,0, - 0,0,0,-37,0,0,0,0,-156,-553, - -401,-38,0,0,-100,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-307,0, + 0,0,0,0,0,0,-320,0,0,0, + 0,-444,0,0,0,0,0,-368,0,-220, + 0,0,-97,0,0,0,-382,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-420,0, - -221,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-190,-39,0,0, - 0,-101,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-338,0,0,0,0, + 0,0,0,0,0,0,0,0,-515,0, + 0,0,0,0,-489,-300,0,0,0,-98, + 0,0,0,-35,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-40,0,0,-42, - 0,0,-424,0,0,0,0,0,0,0, - 0,0,-57,-207,-336,-216,0,0,-102,0, + 0,0,-433,0,0,-36,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -384,0,-37,-557,0,0,-99,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-560, + 0,0,-38,0,-39,0,0,0,0,0, + 0,0,-445,0,0,0,0,0,-501,0, + -239,0,0,-100,0,0,0,-574,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-440,0,0,0,0,0, - -235,0,-247,0,0,-103,0,0,0,-378, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-458, + 0,0,0,0,0,-405,0,-251,0,0, + -101,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-575,0,0,0,0,0, + 0,0,0,0,0,0,-40,0,0,0, + 0,-258,-265,0,-400,0,0,-102,0,0, + 0,-394,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-58,0,0,0,0,-254,-261,-296,-68, - 0,0,-104,0,0,0,-69,0,0,0, + -42,0,0,0,0,0,0,0,-57,0, + 0,0,0,-58,0,0,0,0,-266,-267, + 0,-525,0,0,-103,0,0,0,-68,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-71,-432,0,0,0, - 0,0,0,0,0,0,0,0,-72,0, - 0,0,0,-262,-263,-297,-110,0,0,-105, - 0,0,0,-111,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-571,-53,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-112,-59,0,0,0,0,0,0, - 0,0,0,0,0,-113,0,0,0,0, - -264,-269,-390,-425,0,0,-106,0,0,0, + -69,0,0,0,0,-268,-273,-301,-275,0, + 0,-104,0,0,0,-71,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-120, - -193,0,0,0,0,0,0,0,0,0, - 0,0,-578,0,0,0,0,-289,0,-121, - -233,0,0,-222,0,0,0,-122,0,0, + 0,0,0,0,-72,0,0,0,0,0, + 0,0,0,0,0,0,0,-110,0,0, + 0,0,-293,0,-429,-306,0,0,-105,0, + 0,0,-512,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-136,-514, - 0,0,0,0,-143,0,0,0,0,-354, - 0,0,0,0,-144,-271,-145,-302,0,0, - -573,0,0,0,-158,0,0,0,0,0, + 0,0,-389,0,-324,0,0,0,0,0, + 0,0,0,0,-111,0,0,0,0,-316, + -317,-505,0,0,0,-106,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-395,0,0,0,0,0,0, - 0,-441,0,0,0,0,0,0,0,0, - 0,-335,0,-501,0,0,0,-352,0,0, - 0,-159,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-52, 0,0,0,0,0,0,0,0,0,0, - 0,-209,-160,-274,0,0,0,0,0,0, - 0,0,0,-445,0,0,0,0,-367,0, - 0,0,-508,0,0,0,0,0,0,0, + 0,-112,0,0,0,0,-113,-542,-120,-321, + 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,0,0,0,0,-232, - 0,0,0,0,0,0,0,0,0,-151, + 0,0,0,0,0,-468,0,0,0,0, + 0,0,0,0,0,0,0,0,-121,0, + 0,0,0,-226,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -161,-379,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-289, + 0,0,0,0,-122,0,0,0,0,-278, + 0,0,0,0,0,-138,-59,0,0,0, + 0,0,0,0,0,0,-577,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-214,0,-366,0,0, - 0,0,0,0,0,0,0,-312,0,0, - 0,0,-405,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-162,0,0, - 0,0,0,-163,0,0,0,0,0,0, - 0,0,0,-357,0,0,0,0,-164,0, - 0,0,0,0,-165,-406,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-201,0, - 0,0,0,-268,0,0,-166,0,0,0, - 0,-313,0,0,0,0,-488,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-167,0,0,-517,0,0, - 0,0,-199,0,0,0,0,-421,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-168,-255,0,0,0,0,0,0,-320, - 0,0,0,0,-287,0,0,-344,-400,0, - 0,0,-317,-119,0,0,0,0,0,0, - -231,-375,0,-63,0,-396,0,0,0,0, - -438,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-169,0,-538,0,-108,0, - 0,0,-170,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-537,0,-171,0,0,0,0,0, - 0,0,0,0,0,0,0,-132,0,0, - 0,-172,-327,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-173,-454,0,0,0,0,0, - 0,-174,0,0,0,0,-285,-243,0,-257, - 0,0,-175,0,0,0,0,0,0,-456, - -402,0,0,0,0,0,0,0,0,0, - 0,0,0,-176,0,0,0,0,-319,-389, - 0,-177,0,-95,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-178,0,0,0, - 0,0,0,0,-430,0,0,0,0,-284, - 0,0,0,0,-286,0,0,0,0,0, - 0,0,-93,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-448,0,0,-123,0, - -179,0,0,-125,0,0,0,0,-347,0, - 0,0,-180,0,0,0,0,0,0,0, - 0,0,0,0,0,-183,0,0,0,0, - -568,0,0,0,0,-127,0,0,0,-75, - 0,0,-409,0,-350,-288,-184,-292,-185,0, - 0,0,-431,0,-220,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-564,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-189,0,0,0,0,0, - 0,0,0,0,0,-192,0,0,0,0, - 0,-54,0,0,0,-345,0,-251,0,0, - -202,0,-304,-314,0,-129,0,0,0,0, - 0,0,0,0,0,0,0,0,-203,-321, - 0,0,0,0,-206,0,0,0,0,0, - 0,0,0,-217,-94,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-227,0,-584, - -228,0,0,0,0,-326,0,0,0,0, - -442,0,0,0,0,-234,0,0,-330,-44, - -373,-240,0,0,0,0,0,-248,-331,0, - 0,0,0,-342,0,0,-250,0,0,0, - 0,-258,0,0,0,0,0,-267,0,0, - 0,0,-348,0,-270,0,0,0,0,0, - 0,0,0,0,0,-275,-22,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-90,0,0,0,-277,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-278,-359,-356, - -294,0,0,0,0,-490,0,0,-374,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-140,-499,-295,-306,0,-147,0,0,0, - 0,0,0,0,0,-404,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-500, - 0,0,0,-194,0,0,0,-437,0,0, - 0,0,0,0,0,0,-361,0,-310,-382, - 0,0,0,0,0,0,-515,0,0,-315, - 0,0,0,0,-363,-518,0,0,0,0, - 0,0,0,0,0,-311,-45,0,0,0, - 0,0,0,0,-323,0,-411,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-475,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-381,0,-453, - 0,0,0,0,0,-519,0,0,0,0, - 0,0,0,-324,-329,0,0,0,-472,0, - 0,-337,-338,-419,-444,0,0,0,0,-447, - 0,0,0,0,0,0,-70,0,0,0, - 0,0,0,0,0,0,0,0,0,-91, + 0,0,0,0,0,0,0,0,0,-522, + 0,0,0,0,-145,0,0,-146,0,0, + 0,0,-150,0,0,0,0,-339,0,-161, + -162,0,0,-356,0,0,0,-163,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-370,-196,-164,-165, + 0,0,0,0,-166,0,0,0,0,-323, + 0,0,0,0,-371,0,0,0,-167,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-349,0,0, - 0,0,-92,0,0,0,-368,0,0,0, + 0,0,0,0,0,0,0,-413,-212,0, + 0,0,0,0,0,-168,0,0,0,0, + -169,0,0,0,0,-170,-171,-172,-173,0, + 0,0,0,0,-249,0,0,-383,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-343,0,0,0,0, - -370,0,0,-391,0,0,0,0,-249,0, 0,0,0,0,0,0,0,0,0,0, - 0,-299,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-386,0,-418,-280,0, + -470,0,0,0,0,-174,0,0,0,0, + 0,0,0,-349,0,0,0,0,-409,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-175, + 0,0,0,0,-176,0,0,0,0,-393, + -177,-178,-467,0,0,-261,-348,0,-291,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,-508,0,0,0,0,-179, + 0,0,0,0,0,0,0,-336,0,0, + 0,0,-492,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-360,0,0,0, + 0,0,0,-180,0,0,0,0,-181,0, + 0,0,0,-425,0,0,0,0,0,0, + 0,0,0,0,0,0,-75,0,-272,0, + 0,-130,0,0,0,-182,0,0,0,0, + -331,0,0,0,0,0,0,0,0,0, + 0,0,0,-63,-183,0,-186,0,-18,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-218,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-235,-219,0,-285,0, + 0,-337,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -379,0,-158,0,0,0,0,0,0,0, + 0,0,0,0,0,-54,0,0,0,0, + 0,-390,-187,0,0,0,0,-434,0,0, + 0,0,-188,-192,-195,0,0,0,0,0, + 0,0,0,0,0,0,-422,0,0,0, + 0,-490,0,-255,-305,0,0,0,0,-205, + 0,0,0,0,0,0,0,-133,-473,-206, + 0,0,0,-148,0,0,0,0,-209,0, + 0,0,0,-215,0,-247,0,0,-221,0, + 0,0,0,0,0,0,0,0,0,0, + -518,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-231,0,0,0,0, + 0,0,0,-441,0,0,0,0,0,0, + 0,0,0,0,-442,-319,0,-232,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-238,-288,0,0,0, + 0,0,-452,-244,0,0,0,0,-380,-509, + 0,0,0,0,0,0,0,0,0,-95, + 0,0,0,-252,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-457,0,0,0,-572,0,0, + 0,0,0,0,0,-254,0,-93,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,-127,0,0,0,0,-494,0, + 0,0,0,-568,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -197,0,0,0,-476,-271,0,0,0,0, + 0,0,-274,-279,0,0,0,-419,0,-517, + -290,0,-281,-282,0,0,-343,0,0,0, + 0,-298,-503,-222,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -94,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-458,0,-532,-412,0,-413,-154,0,0, - 0,-461,0,0,0,0,0,-422,0,-477, - -423,0,0,-426,0,0,0,0,0,-427, - -376,0,-265,-462,0,0,0,0,-533,-542, - 0,0,0,0,0,-563,0,-46,0,0, - 0,0,-433,0,0,0,0,0,0,0, - 0,0,-507,-339,-435,0,0,-443,0,0, - 0,0,0,0,0,0,0,0,0,-451, - 0,0,0,-498,0,0,0,0,0,-503, - 0,0,0,0,0,0,-459,0,-407,0, - -486,-76,-460,-478,0,0,0,-230,0,0, - 0,0,0,0,0,-479,0,-506,-487,0, - 0,0,0,0,0,-510,0,0,0,0, - 0,0,0,0,0,0,0,0,-535,-355, - 0,-489,0,0,0,0,0,0,0,0, - 0,0,0,0,-491,0,0,0,0,0, - 0,0,0,0,-492,-493,0,-539,0,0, + 0,0,0,-299,0,0,-310,0,0,0, + 0,0,0,0,0,-49,0,0,0,-314, + -315,-90,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-84,0,0,0,-494,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-464,0,0,0,0, - 0,0,0,-496,-466,0,0,0,-516,-520, - -85,0,0,0,0,0,0,0,0,0, + 0,0,-327,0,0,0,0,-347,0,0, + 0,0,0,0,0,-292,-481,0,-296,0, + 0,-328,0,-359,-333,-406,-341,-342,-119,-353, + 0,0,-378,0,0,0,0,0,0,0, + 0,0,0,0,0,-142,-372,0,0,0, + 0,0,0,0,0,0,0,0,0,-408, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-509,0,0,0,0,-541,0, - 0,-86,0,0,0,0,0,0,0,0, + 0,0,0,-374,0,-308,0,-386,-507,0, + -395,0,0,0,0,0,0,0,0,-269, + -270,0,0,0,0,0,0,0,-416,-417, + -426,0,-388,0,0,0,-318,-427,-325,0, + 0,0,0,0,0,0,-421,-355,0,0, + 0,0,0,0,-430,0,0,0,0,0, + 0,-415,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-431,0, + 0,0,0,0,0,0,0,0,-479,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-522,-546,-548,0,0, - 0,0,-87,0,0,0,-552,0,0,0, + 0,0,-437,0,0,-44,0,0,0,0, + -504,0,0,0,0,0,0,0,0,0, + 0,-449,0,0,0,0,0,-330,-439,-334, + 0,0,0,0,-447,-335,-346,0,0,0, + 0,0,0,0,0,-191,0,0,0,0, + 0,0,0,0,-455,-91,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-555,-495,0,0,0, - 0,0,0,-19,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-523,0,-504,0,0, - 0,-550,0,-559,-525,0,-576,0,-530,0, - 0,-128,-524,0,-534,-540,0,0,0,0, - -557,-558,-543,0,0,0,0,0,0,-14, - -577,-551,0,0,0,0,0,0,0,0, + 0,0,0,-463,0,0,0,0,-352,-464, + 0,-469,0,0,0,0,-92,0,0,0, + -482,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-483, + 0,0,0,0,-491,0,0,0,0,-253, 0,0,0,0,0,0,0,0,0,0, - -561,0,0,0,-384,0,0,0,-526,0, - -569,0,0,0,0,0,-582,-574,-585,0, + 0,0,-303,0,0,0,0,0,0,0, + 0,0,0,0,0,-579,0,-493,-510,0, + -519,-203,0,0,0,0,-157,0,0,0, + -474,-363,-365,0,-541,0,0,-495,-245,0, + 0,0,-367,0,0,0,0,-496,-435,0, + -497,0,0,0,0,-498,0,0,0,0, + 0,-500,0,0,-466,0,0,0,0,0, + 0,0,-520,0,0,0,-502,-385,-548,0, + 0,0,0,-524,0,-526,0,0,0,0, + 0,0,0,0,-423,0,0,-527,0,0, 0,0,0,0,0,0,0,0,0,0, - -49,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-583,-469, - 0,0,0,0,-545,0,0,0,0,0, + -529,0,0,-534,0,0,0,0,-538,0, + 0,0,0,0,0,0,0,-544,0,-547, + 0,-213,0,0,0,0,0,0,-555,0, + 0,0,0,0,0,0,-84,0,0,0, + -565,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -448,-573,0,0,0,0,0,-451,0,0, + 0,0,-578,-589,-85,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-462,0, + 0,0,0,0,0,-86,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-223,0, + 0,0,0,-465,0,0,-511,0,-499,0, + 0,0,0,-87,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -560,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-47,0,-107, + 0,0,0,0,0,0,0,-523,0,0, + 0,-513,0,0,0,0,0,0,-536,0, + -537,0,0,-125,-528,0,0,0,0,0, + 0,0,0,-545,0,0,0,0,0,0, + 0,-514,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-539,0,0,0,0,0,0,-411, + -530,0,0,0,0,0,0,0,-550,0, + 0,0,0,0,0,0,0,-45,-552,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-562,0,0,0, + 0,0,0,0,0,0,0,0,-543,0, + -546,0,0,0,0,0,-549,0,0,0, + 0,0,0,0,-556,-559,0,0,0,0, + 0,0,0,-561,0,-1,0,0,-554,0, + -567,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-562,0,0,0,-580,0, + 0,-563,-564,0,0,0,0,0,0,0, + 0,0,-581,0,0,0,0,0,0,0, + -586,0,0,0,-587,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-188,0, + 0,0,0,0,0,0,0,-242,-566,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-566,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-223,0,0,-544,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -266,0,0,0,0,0,0,-513,0,0, + 0,0,0,0,-570,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-152,0,0,0,0,-277,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-572,0,0,0,0,0, - 0,0,0,0,0,0,0,-351,-581,0, - 0,0,0,-88,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-576,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-585,0,0,0,0,-88,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-586,0,-224,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,-590,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-70,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-505,0, - 0,0,0,0,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,0,0,0,0,0,0,0,0,0, - 0,0,0,-365,0,0,0,0,0,0, - 0,0,0,0,0,0,-225,0,0,0, - 0,-241,0,0,0,0,0,0,0,0, - -408,0,0,0,0,0,0,0,0,0, - 0,0,0,-226,0,0,0,0,-200,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-89, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-79, + 0,0,0,0,0,0,0,0,0,-369, 0,0,0,0,0,0,0,0,0,0, + 0,0,-76,0,0,0,0,-248,0,0, + 0,0,0,0,0,0,-412,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-80,0,0,0,0,0,0,0, + 0,0,-553,-531,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-358,-126,0,0, - 0,0,-529,0,0,0,0,0,-398,-256, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-307,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-470,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,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,0,-80,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-134,0,0,0,0,0,0,0,-403, + 0,0,0,0,0,0,-362,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-452,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-471,-436,0,0, - 0,0,0,0,0,0,0,0,-449,0, + 0,-302,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-22,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-366,0,0,0,0, + -260,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-402,0, + 0,0,0,0,0,0,0,0,-107,-124, + -227,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-393,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-512, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-218,0,0,0, + 0,0,0,0,-456,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-20,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-475,0,0,0,0,0, + 0,0,0,0,0,0,-243,0,0,-375, + 0,0,0,0,0,0,0,-377,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-82,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-83,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,0, + -516,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-465, - 0,0,0,0,0,0,0,0,-23,0, 0,0,0,0,0,0,0,0,0,0, + -81,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-24,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-82,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-25,0,0,0,0,0,0,0,0, + -83,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-23,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-26,0,0,0, + 0,0,0,0,0,-24,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-27,0, + 0,0,0,0,0,0,0,-25,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-26, 0,0,0,0,0,0,0,0,0,0, - -28,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-29,0,0,0,0,0,0,0, + 0,-27,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-65,0,0,0,0,0, + 0,0,0,-28,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-77,0,0,0, + 0,0,0,0,0,-29,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-78,0, + 0,0,0,0,0,0,0,-65,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-77, 0,0,0,0,0,0,0,0,0,0, - -137,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-212,0,0,0,0,0,0,0, + 0,-78,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-360,-208,0,0,0,0, - 0,0,0,-383,0,0,0,-476,0,0, + 0,0,0,-139,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-216,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-392,0,0,-565, + 0,0,0,0,0,0,0,-364,-533,-228, + 0,0,0,0,0,0,-387,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-414,0,0,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, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-229,0, + 0,0,0,-230,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,-311,0,0,0,0,-569,0,0, + 0,0,0,0,-450,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-397,0,0,0,0,0,0,0,0, - 0,0,0,-446,0,0,0,0,0,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,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-420,0,0, + 0,0,0,0,0,0,-438,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-457,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-21,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-19, 0,0,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,0,0,0, + -20,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-21,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-547,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-236,0,0,0,0, - 0,0,0,0,-281,0,0,0,0,0, - 0,0,0,0,0,0,0,-244,0,0, - 0,0,0,0,0,0,0,-298,0,0, + 0,0,-132,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-149,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-362, + 0,0,0,0,-332,0,0,0,0,0, + 0,0,0,0,0,0,0,-551,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-240,0,0,0,0,0,0, + -284,0,0,0,0,0,0,0,0,0, 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,-204, - 0,0,0,0,0,0,-118,0,0,0, - 0,0,0,0,-238,0,0,0,0,0, - -239,0,0,0,0,0,0,0,-138,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-440,0,0, + 0,0,0,0,0,0,0,-397,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-118,0,0,0,0,0,0,0, + 0,-211,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-350,0, + 0,0,0,0,0,0,-17,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-300,0,0,0, + -207,0,0,0,0,0,0,0,-140,0, + 0,0,0,0,0,0,0,-532,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-308,0, - 0,0,0,0,0,-372,0,0,0,0, - 0,-186,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-371,0, - 0,0,0,0,-416,0,0,0,-434,0, + 0,0,0,0,0,-304,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-439,0,0,0,-455,0,0,0,0, - -467,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-312,0,0, + 0,0,0,-376,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-126,0,0, + 0,0,0,0,-128,0,0,0,0,0, + 0,-131,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -468,0,0,0,0,0,0,0,0,-549, - 0,0,0,0,0,0,0,0,-17,0, + 0,0,0,0,0,0,0,0,0,-189, + 0,0,0,-486,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-443,0,0, + 0,0,0,0,0,0,0,-459,0,0, 0,0,0,0,0,0,0,0,0,0, - -480,0,0,0,0,-482,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-210,0,0,0,0, - 0,0,0,0,0,-282,0,0,0,-283, - 0,0,-219,0,0,0,0,0,0,0, - 0,-273,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-527,0, - 0,0,0,0,0,-528,0,0,-531,0, - -48,0,0,0,0,0,0,0,0,-213, + -471,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-483,0,0,0,0,0,0,0,-484, + -472,0,0,0,0,0,0,0,0,-484, + 0,0,0,-286,0,0,0,0,-535,-287, + 0,0,0,-46,0,0,0,0,0,0, + 0,-47,0,0,0,0,0,0,0,0, + -453,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -480,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-536,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-48,-217,0, + -487,0,0,0,0,-488,-540,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,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; @@ -632,643 +632,672 @@ public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface BaseAction { public final static char baseAction[] = { - 186,4,146,89,89,31,31,74,74,43, - 43,47,47,217,1,1,15,15,15,15, + 188,4,147,89,89,31,31,74,74,43, + 43,47,47,219,1,1,15,15,15,15, 15,15,15,16,16,16,14,11,11,6, 6,6,6,6,6,2,72,72,5,5, - 12,12,49,49,147,147,148,67,67,48, + 12,12,49,49,148,148,149,67,67,48, 17,17,17,17,17,17,17,17,17,17, - 17,17,17,17,17,17,17,17,17,149, - 149,149,124,124,18,18,18,18,18,18, - 18,18,18,18,18,18,19,19,187,187, - 188,188,189,152,152,153,153,150,150,154, - 151,151,20,20,21,21,22,22,22,27, + 17,17,17,17,17,17,17,17,17,150, + 150,150,124,124,18,18,18,18,18,18, + 18,18,18,18,18,18,19,19,189,189, + 190,190,191,153,153,154,154,151,151,155, + 152,152,20,20,21,21,22,22,22,27, 27,27,27,29,29,29,30,30,30,32, 32,32,32,32,33,33,33,34,34,35, 35,37,37,38,38,39,39,40,40,46, 46,45,45,45,45,45,45,45,45,45, - 45,45,45,45,44,36,155,155,103,103, - 190,190,98,218,218,75,75,75,75,75, + 45,45,45,45,44,36,156,156,103,103, + 192,192,98,220,220,75,75,75,75,75, 75,75,75,75,76,76,76,73,73,66, - 66,191,191,77,77,77,109,109,192,192, - 78,78,78,193,193,79,79,79,79,79, - 80,80,90,90,90,90,90,90,90,90, + 66,193,193,77,77,77,109,109,194,194, + 78,78,78,195,195,79,79,79,79,79, + 80,80,93,93,93,93,93,93,93,93, 57,57,57,57,57,125,125,123,123,58, - 194,28,28,28,28,28,53,53,93,93, - 93,93,93,162,162,157,157,157,157,157, - 158,158,158,159,159,159,160,160,160,161, - 161,161,94,94,94,94,94,95,95,95, + 196,28,28,28,28,53,53,90,90,90, + 90,90,162,162,163,163,163,163,163,158, + 158,158,159,159,159,160,160,160,161,161, + 161,91,91,91,91,91,92,92,92,13, 13,13,13,13,13,13,13,13,13,13, - 13,104,129,129,129,129,129,129,127,127, - 127,163,128,128,195,165,165,164,164,131, - 131,110,85,85,86,87,60,52,166,166, - 61,92,92,167,167,156,156,132,133,133, - 134,70,70,168,168,63,63,63,55,55, - 54,64,64,82,82,68,68,68,65,96, - 96,106,105,105,71,71,56,56,69,69, - 50,107,107,107,99,99,99,100,100,101, - 101,101,102,102,111,111,111,113,113,112, - 112,219,219,97,97,197,197,197,197,197, - 136,51,51,170,196,196,137,137,137,137, - 138,172,198,198,41,41,126,139,139,139, - 139,200,115,114,114,130,130,130,173,174, - 174,174,174,174,174,174,174,174,174,174, - 202,202,199,199,201,201,117,118,118,118, - 118,119,203,120,116,116,204,204,175,175, - 175,175,108,108,108,205,205,8,8,9, - 206,206,207,176,169,169,177,177,178,179, - 179,7,7,10,208,208,208,208,208,208, - 208,208,208,208,208,208,208,208,208,208, - 208,208,208,208,208,208,208,208,208,208, - 208,208,208,208,208,208,208,208,208,208, - 208,208,208,208,208,208,83,88,88,180, - 180,141,141,142,142,142,142,142,142,3, - 143,143,140,140,121,121,91,84,81,171, - 171,122,122,209,209,209,144,144,135,135, - 210,210,23,23,23,42,42,24,24,211, - 211,181,181,181,182,182,212,212,183,183, - 25,25,213,213,184,184,184,26,62,214, - 214,215,215,185,185,185,145,145,145,18, - 18,59,93,134,134,134,117,117,117,195, - 200,115,65,70,163,186,186,1171,35,2157, - 2155,2464,3067,27,30,31,1192,1237,26,28, - 2145,25,23,50,1251,104,75,76,106,1327, - 572,532,533,534,1372,2464,1335,1492,1284,1460, - 1774,1586,1828,3771,1782,1857,1860,141,271,1323, - 35,393,156,142,2942,35,1128,32,1997,815, - 27,30,31,1192,1237,26,28,1117,25,23, - 50,1251,104,75,76,106,1327,3489,230,3537, - 1454,1372,2091,1335,1492,2464,1460,1774,1586,1828, - 3184,1782,1857,2885,162,2395,523,35,291,1252, - 233,228,229,536,532,533,534,3411,35,1128, - 32,272,815,27,30,31,1192,1237,26,28, - 1117,25,23,50,1251,104,75,76,106,2233, - 1935,154,2786,240,243,246,249,4348,1293,585, - 73,35,277,324,3334,4249,615,618,2969,35, - 1128,32,1680,3358,27,30,31,1192,1237,57, - 28,551,727,3447,2514,2739,2744,2776,2866,4672, - 2467,35,1128,32,2852,815,27,30,31,1192, - 1237,26,28,1117,25,23,50,1251,104,75, - 76,106,1327,1140,3152,35,275,1372,340,1335, - 1492,520,1460,1774,1586,1828,3196,1782,1857,1860, - 141,523,1996,2139,34,514,142,3040,35,275, - 2524,3085,35,1128,32,353,3358,27,30,31, - 1192,1237,56,28,528,1724,35,1977,385,515, - 2467,35,1128,32,2852,815,27,30,31,1192, - 1237,26,28,1117,25,23,50,1251,104,75, - 76,106,1327,523,35,2921,1667,1372,340,1335, - 1492,1140,1460,1774,1586,1828,49,1782,1857,1860, - 141,718,495,1970,1144,514,142,2846,1708,1620, - 2524,510,2852,2422,35,1128,32,61,5693,27, - 30,31,1192,1237,26,28,3587,508,1934,515, - 2766,1604,2776,2787,552,4360,3309,2467,35,1128, - 32,2852,815,27,30,31,1192,1237,26,28, - 1117,25,23,50,1251,104,75,76,106,1327, - 843,2602,884,2111,1372,340,1335,1492,2710,1460, - 1774,1586,1828,1498,1782,1857,1860,141,3368,4577, - 457,510,514,142,73,35,277,2524,1202,5676, - 60,536,532,533,534,60,73,35,450,750, - 2789,5569,386,2787,990,502,515,2676,35,1128, - 32,2852,815,27,30,31,1192,1237,26,28, - 1117,25,23,50,1251,104,75,76,106,1327, - 523,35,2139,2918,1372,340,1335,1492,1311,1460, - 1774,1586,1828,350,1782,1857,1860,141,520,499, - 501,3323,514,142,42,2894,1675,2524,510,2383, - 35,1128,32,1833,5693,27,30,31,1192,1237, - 59,28,523,35,5690,5686,515,2879,843,2072, - 2787,1337,494,2852,2874,35,1128,32,3374,815, - 27,30,31,1192,1237,26,28,1117,25,23, - 50,1251,104,75,76,106,1327,3309,2913,2638, - 665,1372,2852,1335,1492,2673,1460,1774,1586,1828, - 91,1782,1857,1860,141,523,35,280,511,376, - 142,3476,2541,35,1128,32,340,815,27,30, - 31,1192,1237,26,28,1117,25,23,50,1251, - 104,75,76,106,1327,2579,2628,885,891,1372, - 1068,1335,1492,351,1460,1774,1586,1828,1844,1782, - 1857,1860,141,443,3403,3415,358,376,142,3476, - 2806,35,1128,32,1981,815,27,30,31,1192, - 1237,26,28,1117,25,23,50,1251,104,75, - 76,106,1327,163,35,450,2920,1372,5569,1335, - 1492,1284,1460,1774,1586,1828,4222,1782,1857,1860, - 141,382,1554,435,2608,376,142,3476,2741,35, - 1128,32,1886,815,27,30,31,1192,1237,26, - 28,1117,25,23,50,1251,104,75,76,106, - 1327,523,35,2139,274,1372,2290,1335,1492,1284, - 1460,1774,1586,1828,5318,1782,1857,1860,141,383, - 1554,387,60,548,142,424,820,2015,2383,35, - 1128,32,2771,5693,27,30,31,1192,1237,58, - 28,2277,3000,35,1128,32,2326,815,27,30, - 31,1192,1237,26,28,1117,25,23,50,1251, - 104,75,76,106,1327,523,3354,374,1554,1372, - 2192,1335,1492,2579,1460,1774,1586,1828,1140,1782, - 1857,1860,141,1537,35,2139,274,156,142,3000, - 35,1128,32,795,815,27,30,31,1192,1237, - 26,28,1117,25,23,50,1251,104,75,76, - 106,1327,2638,35,291,2098,1372,159,1335,1492, - 5565,1460,1774,1586,1828,1266,1782,1857,1860,141, - 447,3403,3415,3282,370,142,3000,35,1128,32, - 1534,815,27,30,31,1192,1237,26,28,1117, - 25,23,50,1251,104,75,76,106,1327,2880, - 60,546,1607,1372,1252,1335,1492,456,1460,1774, - 1586,1828,3323,1782,1857,1860,141,1281,35,1128, - 32,370,142,41,30,31,1192,1237,60,388, - 3040,3438,1252,424,1572,1252,1876,727,1252,3000, - 35,1128,32,4961,815,27,30,31,1192,1237, - 26,28,1117,25,23,50,1251,104,75,76, - 106,1327,1484,1717,3594,369,1372,154,1335,1492, - 158,1460,1774,1586,1828,160,1782,1857,1860,141, - 523,3109,2139,73,370,142,2741,35,1128,32, - 1398,815,27,30,31,1192,1237,26,28,1117, - 25,23,50,1251,104,75,76,106,1327,1323, - 35,393,368,1372,2464,1335,1492,3237,1460,1774, - 1586,1828,343,1782,1857,1860,141,523,3212,309, - 426,548,142,2611,35,1128,32,1735,815,27, - 30,31,1192,1237,26,28,1117,25,23,50, - 1251,104,75,76,106,1327,1323,35,393,3357, - 1372,3039,1335,1492,1284,1460,1774,1586,1828,5360, - 1782,1857,1860,141,1140,366,418,3323,140,142, - 3000,35,1128,32,2464,815,27,30,31,1192, - 1237,26,28,1117,25,23,50,1251,104,75, - 76,106,1327,1537,35,2139,3136,1372,24,1335, - 1492,2505,1460,1774,1586,1828,1490,1782,1857,1860, - 141,3757,61,3453,3323,157,142,3000,35,1128, - 32,3518,815,27,30,31,1192,1237,26,28, - 1117,25,23,50,1251,104,75,76,106,1327, - 523,35,2139,276,1372,68,1335,1492,286,1460, - 1774,1586,1828,4983,1782,1857,1860,141,86,547, - 3751,100,153,142,3000,35,1128,32,2464,815, - 27,30,31,1192,1237,26,28,1117,25,23, - 50,1251,104,75,76,106,1327,523,35,2139, - 3268,1372,1140,1335,1492,3237,1460,1774,1586,1828, - 1140,1782,1857,1860,141,523,35,2139,279,152, - 142,3000,35,1128,32,1997,815,27,30,31, - 1192,1237,26,28,1117,25,23,50,1251,104, - 75,76,106,1327,522,1482,69,1153,1372,5407, - 1335,1492,5592,1460,1774,1586,1828,1140,1782,1857, - 1860,141,1140,2813,3479,3323,151,142,3000,35, - 1128,32,2464,815,27,30,31,1192,1237,26, - 28,1117,25,23,50,1251,104,75,76,106, - 1327,51,540,2975,3037,1372,53,1335,1492,323, - 1460,1774,1586,1828,1519,1782,1857,1860,141,3323, - 2813,3479,1710,150,142,3000,35,1128,32,1997, - 815,27,30,31,1192,1237,26,28,1117,25, - 23,50,1251,104,75,76,106,1327,521,2599, - 52,1447,1372,5124,1335,1492,95,1460,1774,1586, - 1828,96,1782,1857,1860,141,87,1914,1268,100, - 149,142,3000,35,1128,32,2290,815,27,30, - 31,1192,1237,26,28,1117,25,23,50,1251, - 104,75,76,106,1327,519,3220,151,538,1372, - 1738,1335,1492,1284,1460,1774,1586,1828,5596,1782, - 1857,1860,141,2027,3323,1934,3323,148,142,3000, - 35,1128,32,2290,815,27,30,31,1192,1237, - 26,28,1117,25,23,50,1251,104,75,76, - 106,1327,519,2641,659,347,1372,88,1335,1492, - 444,1460,1774,1586,1828,1284,1782,1857,1860,141, - 5601,3323,440,3323,147,142,3000,35,1128,32, - 1934,815,27,30,31,1192,1237,26,28,1117, - 25,23,50,1251,104,75,76,106,1327,282, - 2793,886,557,1372,2788,1335,1492,444,1460,1774, - 1586,1828,2536,1782,1857,1860,141,3323,3323,3267, - 1624,146,142,3000,35,1128,32,2106,815,27, - 30,31,1192,1237,26,28,1117,25,23,50, - 1251,104,75,76,106,1327,1431,3147,2863,67, - 1372,3384,1335,1492,283,1460,1774,1586,1828,1553, - 1782,1857,1860,141,3323,3323,2501,257,145,142, - 3000,35,1128,32,707,815,27,30,31,1192, - 1237,26,28,1117,25,23,50,1251,104,75, - 76,106,1327,708,60,66,65,1372,897,1335, - 1492,321,1460,1774,1586,1828,797,1782,1857,1860, - 141,3323,2600,1934,1934,144,142,3000,35,1128, - 32,180,815,27,30,31,1192,1237,26,28, - 1117,25,23,50,1251,104,75,76,106,1327, - 1614,60,64,2513,1372,5296,1335,1492,322,1460, - 1774,1586,1828,70,1782,1857,1860,141,1659,3212, - 2390,1935,143,142,3000,35,1128,32,2683,815, - 27,30,31,1192,1237,26,28,1117,25,23, - 50,1251,104,75,76,106,1327,295,294,2739, - 2770,1372,550,1335,1492,2912,1460,1774,1586,1828, - 61,1782,1857,1860,141,3677,2833,3634,3323,138, - 142,3116,35,1128,32,1815,815,27,30,31, - 1192,1237,26,28,1117,25,23,50,1251,104, - 75,76,106,1327,2638,3371,291,555,1372,2973, - 1335,1492,1284,1460,1774,1586,1828,5621,1782,1857, - 1860,141,1659,3212,523,3705,187,142,3411,35, - 1128,32,2707,815,27,30,31,1192,1237,26, - 28,1117,25,23,50,1251,104,75,76,106, - 1327,2880,60,250,2348,1372,2858,1335,1492,285, - 1460,1774,1586,1828,3184,1782,1857,2885,162,3411, - 35,1128,32,1934,815,27,30,31,1192,1237, - 26,28,1117,25,23,50,1251,104,75,76, - 106,1327,1875,3213,70,378,1372,401,1335,1492, - 2505,1460,1774,1586,1828,3466,1782,1857,2885,162, - 2494,35,1128,32,1484,553,40,30,31,1192, - 1237,433,3411,35,1128,32,1732,815,27,30, - 31,1192,1237,26,28,1117,25,23,50,1251, - 104,75,76,106,1327,562,60,301,1269,1372, - 2493,1335,1492,285,1460,1774,1586,1828,3323,1782, - 1857,2885,162,3411,35,1128,32,420,815,27, - 30,31,1192,1237,26,28,1117,25,23,50, - 1251,104,75,76,106,1327,1930,3213,699,55, - 1372,399,1335,1492,883,1460,1774,1586,1828,352, - 1782,1857,2885,162,2494,35,1128,32,528,973, - 2660,30,31,1192,1237,1063,3411,35,1128,32, - 290,815,27,30,31,1192,1237,26,28,1117, - 25,23,50,1251,104,75,76,106,1327,523, - 35,1977,385,1372,2842,1335,1492,1378,1460,1774, - 1586,1828,3323,1782,1857,2885,162,3469,35,1128, - 32,419,815,27,30,31,1192,1237,26,28, - 1117,25,23,50,1251,104,75,76,106,1327, - 271,539,2975,54,1372,1903,1335,1492,3570,1460, - 1774,1586,1828,2123,1782,1857,2885,162,1388,35, - 1128,32,5516,5559,27,30,31,1192,1237,336, - 28,2062,1907,2880,422,3120,536,532,533,534, - 1981,535,532,533,534,3201,35,278,3221,2494, - 35,1128,32,3323,3720,2695,30,31,1192,1237, - 4452,60,2579,273,2772,2424,2388,237,5429,325, - 332,2098,316,2016,318,3695,5565,572,532,533, - 534,311,1969,2835,537,2372,329,1934,4479,3411, - 35,1128,32,2508,815,27,30,31,1192,1237, - 26,28,1117,25,23,50,1251,104,75,76, - 106,1327,2384,3184,4204,3156,1372,1685,1335,1492, - 2290,1460,1774,1586,1828,230,1782,2654,613,35, - 1977,385,2210,1327,35,3301,32,5516,5559,27, - 30,31,1192,1237,336,28,349,238,228,229, - 303,307,1303,564,1711,1284,535,532,533,534, - 5651,379,1812,341,1041,921,346,2429,60,49, - 3192,339,2108,617,2736,3049,1970,2861,390,1717, - 1708,2464,424,1487,2852,3430,3065,316,2016,318, - 536,532,533,534,2074,2419,311,1969,2835,3323, - 2572,329,2933,1343,3411,35,1128,32,3309,815, - 27,30,31,1192,1237,26,28,1117,25,23, - 50,1251,104,75,76,106,1327,3007,1997,4204, - 556,1372,1534,1335,1492,2572,1460,1774,1586,1828, - 60,2622,4577,403,1115,60,427,373,320,1283, - 2941,416,3277,3411,35,1128,32,528,815,27, - 30,31,1192,1237,26,28,1117,25,23,50, - 1251,104,75,76,106,1327,2572,502,297,1280, - 1372,3031,1335,1492,1439,1460,1774,1586,2592,1509, - 35,1128,32,3065,5559,27,30,31,1192,1237, - 336,28,572,532,533,534,977,572,532,533, - 534,1485,535,532,533,534,1561,44,2894,219, - 1572,500,501,3225,1252,2880,60,1158,60,978, - 2202,5014,3414,2464,2328,1304,35,1977,385,572, - 532,533,534,316,2016,318,536,532,533,534, - 230,371,312,1969,2835,230,158,330,2180,35, - 1128,32,5516,5328,27,30,31,1192,1237,336, - 28,349,242,228,229,1418,271,245,228,229, - 1997,535,532,533,534,2103,1908,230,343,1041, - 921,346,3527,35,1977,385,3323,2588,2278,373, - 4560,2163,2852,60,60,235,1722,2785,3490,248, - 228,229,316,2016,318,572,532,533,534,1068, - 60,311,1969,1779,4347,2284,3309,319,4479,572, - 532,533,534,271,1730,3411,35,1128,32,2962, - 815,27,30,31,1192,1237,26,28,1117,25, - 23,50,1251,104,75,76,106,1327,3092,71, - 70,3097,1372,230,1335,1492,2705,1460,1774,2614, - 1734,523,35,1977,385,1675,3178,230,3065,60, - 60,2903,1916,2522,1252,233,228,229,1799,60, - 303,307,1303,3381,60,357,272,2437,3110,251, - 228,229,1742,3362,535,532,533,534,1612,2158, - 2948,2957,428,60,3697,3236,154,3745,240,243, - 246,249,4348,2783,1594,3430,2433,3411,35,1128, - 32,615,815,27,30,31,1192,1237,26,28, - 1117,25,23,50,1251,104,75,76,84,2514, - 2739,2744,2776,2866,4672,3411,35,1128,32,2879, - 815,27,30,31,1192,1237,26,28,1117,25, - 23,50,1251,104,75,76,106,1327,2249,60, - 3233,3122,1372,4359,1335,1492,2572,1460,2545,1994, - 35,3301,32,5516,5328,27,30,31,1192,1237, - 336,28,2937,2572,3150,3269,5006,1731,35,1977, - 385,542,3355,532,533,534,1816,35,3301,32, - 5516,5328,27,30,31,1192,1237,336,28,177, - 2572,3147,377,348,1323,35,2942,5421,2570,535, - 532,533,534,316,2016,318,196,60,49,3098, - 2278,868,311,1969,2852,1970,1764,2572,3147,1343, - 2842,536,532,533,534,60,523,35,291,1781, - 316,2016,318,195,2419,49,2250,60,3309,311, - 1969,2852,1970,1032,349,1377,1343,2267,35,3301, - 32,5516,5328,27,30,31,1192,1237,336,28, - 558,341,1041,921,346,340,4100,416,3277,1874, - 3355,532,533,534,2361,35,1128,32,5516,5328, - 27,30,31,1192,1237,336,28,2524,60,3147, - 2770,3120,670,4468,416,3277,2572,535,532,533, - 534,316,2016,318,3123,3238,2017,357,5415,3382, - 311,1969,3151,3228,60,60,4560,1343,2244,4394, - 60,3338,2948,2957,4467,331,332,60,316,2016, - 318,1252,536,532,533,534,3390,311,1969,300, - 3411,35,1128,32,4479,815,27,30,31,1192, - 1237,26,28,1117,25,23,50,1251,104,75, - 76,106,1327,154,4100,416,3277,1372,3281,1335, - 1492,1547,2553,3411,35,1128,32,3497,815,27, - 30,31,1192,1237,26,28,1117,25,23,50, - 1251,104,75,76,106,1327,523,35,1977,385, - 1372,2039,1335,1492,2402,2575,304,307,1303,1837, - 35,1128,32,5487,5328,27,30,31,1192,1237, - 336,28,1939,35,1128,32,5394,5328,27,30, - 31,1192,1237,336,28,3466,3323,271,3323,3187, - 35,1128,32,2593,5328,27,30,31,1192,1237, - 336,28,60,348,2572,2085,5656,3381,703,35, - 1977,385,60,316,2016,318,1733,99,3418,3215, - 3697,3476,311,1969,348,561,316,2016,318,3064, - 3204,2579,400,1572,271,311,1969,1252,587,2572, - 2572,349,2856,313,3205,318,2572,199,60,49, - 337,3117,2852,3439,349,3370,1970,1811,341,1041, - 921,346,226,60,2842,3535,3041,2573,3536,158, - 154,341,1041,921,346,2795,340,178,3046,1874, - 3500,1997,197,296,2901,201,213,4533,1252,1401, - 3323,200,210,211,212,214,571,3508,2524,2300, - 167,1,60,3510,3557,587,1252,166,1747,181, - 165,168,169,170,171,172,3509,2024,3322,3574, - 154,448,535,532,533,534,60,198,3389,226, - 2547,535,532,533,534,3120,2338,154,154,60, - 2842,660,3576,1780,178,3046,1672,389,1997,526, - 660,424,201,213,4533,91,363,2926,200,210, - 211,212,214,571,2968,3575,3577,167,60,3188, - 332,2290,1044,2968,166,179,182,165,168,169, - 170,171,172,3411,35,1128,32,3579,815,27, - 30,31,1192,1237,26,28,1117,25,23,50, - 1251,104,75,76,106,1327,523,35,1977,385, - 1372,3120,1335,2374,3599,523,35,1977,385,2737, - 438,3411,35,1128,32,3451,815,27,30,31, - 1192,1237,26,28,1117,25,23,50,1251,104, - 75,76,106,1327,3323,327,332,449,1372,3323, - 1335,2389,3411,35,1128,32,431,815,27,30, - 31,1192,1237,26,28,1117,25,23,50,1251, - 104,75,76,106,1327,375,3621,3323,3323,1372, - 567,1335,2395,3411,35,1128,32,3323,815,27, - 30,31,1192,1237,26,28,1117,25,23,50, - 1251,104,75,76,106,1327,3323,361,3841,3887, - 1372,587,1335,2427,3295,35,1128,32,3933,815, - 27,30,31,1192,1237,26,28,1117,25,23, - 50,1251,570,75,76,226,181,568,523,35, - 1977,385,60,154,3380,3583,2818,2572,4015,1296, - 178,3046,2019,451,1997,3616,240,587,201,213, - 4533,3323,3323,2477,200,210,211,212,214,571, - 3174,3323,3655,167,2852,535,532,533,534,430, - 166,226,3699,165,168,169,170,171,172,154, - 220,3617,1648,1742,2473,2842,178,3046,340,541, - 1997,3622,3789,587,201,213,4533,3323,3603,3496, - 200,210,211,212,214,571,6367,6367,6367,167, - 1715,523,35,1977,385,6367,166,226,176,165, - 168,169,170,171,172,154,6367,6367,4092,2572, - 3326,6367,178,3046,2852,631,1997,6367,6367,587, - 201,213,4533,6367,6367,6367,200,210,211,212, - 214,571,49,6367,6367,167,3120,6367,340,1970, - 892,527,166,226,174,165,168,169,170,171, - 172,154,191,6367,6367,6367,6367,6367,178,3046, - 2524,721,1997,6367,6367,587,201,213,4533,6367, - 3214,332,200,210,211,212,214,571,60,530, - 60,167,2852,6367,1252,1219,6367,6367,166,226, - 175,165,168,169,170,171,172,154,6367,6367, - 6367,6367,6367,6367,178,3046,340,811,1997,6367, - 6367,587,201,213,4533,6367,154,1069,200,210, - 211,212,214,571,2633,6367,6367,167,2524,523, - 35,1977,385,6367,166,226,185,165,168,169, - 170,171,172,154,6367,6367,439,2043,453,6367, - 178,3046,6367,901,1997,6367,6367,587,201,213, - 4533,6367,6367,6367,200,210,211,212,214,571, - 49,6367,60,167,6367,2578,1252,1970,3458,2852, - 166,226,3758,165,168,169,170,171,172,154, - 6367,1572,6367,6367,6367,1252,178,3046,3498,6367, - 1997,6367,6367,340,201,213,4533,6367,154,6367, - 200,210,211,212,214,571,1968,6367,6367,167, - 3468,536,532,533,534,3694,166,158,190,165, - 168,169,170,171,172,1424,35,1128,32,5487, - 5328,27,30,31,1192,1237,336,28,1572,991, - 6367,6367,1252,587,3411,35,1128,32,6367,815, - 27,30,31,1192,1237,26,28,1117,25,23, - 50,1251,104,75,76,106,1327,226,6367,6367, - 6367,1372,6367,2465,158,154,6367,6367,6367,316, - 2016,318,178,3046,2432,6367,1997,6367,311,1969, - 201,213,4533,6367,6367,523,200,210,211,212, - 214,571,1081,6367,60,167,587,349,1252,6367, - 3252,6367,166,6367,184,165,168,169,170,171, - 172,6367,6367,6367,341,1041,921,346,6367,6367, - 226,6367,524,535,532,533,534,6367,154,6367, - 154,3336,6367,6367,6367,178,3046,6367,2014,1997, - 6367,6367,3098,201,213,4533,6367,6367,6367,200, - 210,211,212,214,571,6367,6367,6367,167,523, - 35,1977,385,6367,3712,166,6367,192,165,168, - 169,170,171,172,3411,35,1128,32,6367,815, - 27,30,31,1192,1237,26,28,1117,25,23, - 50,1251,104,75,76,106,1327,6367,6367,6367, - 429,1372,6367,2492,2029,35,1128,32,6367,5559, - 27,30,31,1192,1237,336,28,60,6367,6367, - 6367,1252,703,35,1977,385,6367,535,532,533, - 534,2029,35,1128,32,6367,5559,27,30,31, - 1192,1237,336,28,60,6367,660,6367,1252,523, - 35,1977,385,154,535,532,533,534,316,2016, - 318,2015,6367,49,6367,6367,6367,314,1969,2835, - 1970,47,330,5014,6367,6367,6367,6367,6367,6367, - 154,6367,6367,6367,6367,316,2016,318,2061,2505, - 49,6367,6367,6367,312,1969,2835,1970,797,330, - 3411,35,1128,32,6367,815,27,30,31,1192, - 1237,26,28,1117,25,23,50,1251,104,75, - 76,106,1327,3411,35,1128,32,2165,815,27, - 30,31,1192,1237,26,28,1117,25,23,50, - 1251,104,75,76,106,1327,6367,1678,2645,6367, - 2212,2852,6367,2901,6367,6367,6367,587,6367,1951, - 1409,6367,6367,2852,6367,3909,6367,6367,6367,6367, - 6367,535,532,533,534,226,6367,6367,60,6367, - 6367,3692,1252,535,532,533,534,226,6367,154, - 928,6367,6367,6367,2842,6367,178,3046,203,213, - 4533,6367,660,6367,202,210,211,212,214,571, - 203,213,4533,6367,154,6367,202,210,211,212, - 214,571,1727,6367,6367,2835,193,6367,5509,6367, - 204,206,208,292,293,3038,6367,215,205,207, - 6367,6367,204,206,208,292,293,3038,6367,215, - 205,207,1631,35,1128,32,5516,5328,27,30, - 31,1192,1237,336,28,3120,6367,2042,3256,6367, - 2063,2852,5112,6367,6367,536,532,533,534,3324, - 6367,6367,2064,6367,5112,6367,6367,6367,6367,6367, - 6367,535,532,533,534,226,6367,6367,6367,3413, - 332,6367,535,532,533,534,316,2016,318,6367, - 2783,1171,92,6367,6367,311,1969,6367,203,213, - 4533,3209,5018,6367,202,210,211,212,214,571, - 6367,6367,6367,2525,35,1128,32,2478,5328,27, - 30,31,1192,1237,336,28,5630,194,3094,6367, - 204,206,208,292,293,3038,6367,215,205,207, - 2361,35,1128,32,5516,5328,27,30,31,1192, - 1237,336,28,6367,6367,6367,6367,523,35,1977, - 385,6367,6367,536,532,533,534,313,3205,318, - 2253,6367,5112,3295,35,1128,32,6367,815,27, - 30,31,1192,1237,26,28,1117,25,23,50, - 1251,569,75,76,316,2016,318,6367,49,6367, - 6367,6367,6367,311,1969,46,3411,35,1128,32, - 5018,815,27,30,31,1192,1237,26,28,1117, - 25,23,50,1251,104,75,76,106,2301,3411, - 35,1128,32,6367,815,27,30,31,1192,1237, - 26,28,1117,25,23,50,1251,104,75,76, - 106,2368,3591,35,1977,385,6367,2588,6367,6367, - 6367,6367,6367,6367,6367,236,6367,6367,6367,6367, - 6367,6367,6367,6367,6367,572,532,533,534,6367, - 1572,2926,6367,6367,1252,6367,6367,6367,6367,3411, - 1996,1128,2009,271,815,27,30,31,1192,1237, - 26,28,1117,25,23,50,1251,104,75,76, - 83,6367,6367,6367,6367,6367,158,6367,6367,3411, - 35,1128,32,230,815,27,30,31,1192,1237, - 26,28,1117,25,23,50,1251,104,75,76, - 82,6367,6367,6367,6367,234,228,229,6367,6367, - 6367,6367,3411,35,1128,32,272,815,27,30, - 31,1192,1237,26,28,1117,25,23,50,1251, - 104,75,76,81,6367,6367,6367,6367,241,244, - 247,250,4348,3440,6367,6367,6367,3411,35,1128, - 32,615,815,27,30,31,1192,1237,26,28, - 1117,25,23,50,1251,104,75,76,80,3411, - 35,1128,32,6367,815,27,30,31,1192,1237, - 26,28,1117,25,23,50,1251,104,75,76, - 79,3411,35,1128,32,6367,815,27,30,31, - 1192,1237,26,28,1117,25,23,50,1251,104, - 75,76,78,3411,35,1128,32,6367,815,27, - 30,31,1192,1237,26,28,1117,25,23,50, - 1251,104,75,76,77,3058,35,1128,32,6367, - 815,27,30,31,1192,1237,26,28,1117,25, - 23,50,1251,104,75,76,102,3411,35,1128, - 32,6367,815,27,30,31,1192,1237,26,28, - 1117,25,23,50,1251,104,75,76,108,3411, - 35,1128,32,6367,815,27,30,31,1192,1237, - 26,28,1117,25,23,50,1251,104,75,76, - 107,3411,35,1128,32,6367,815,27,30,31, - 1192,1237,26,28,1117,25,23,50,1251,104, - 75,76,105,3411,35,1128,32,6367,815,27, - 30,31,1192,1237,26,28,1117,25,23,50, - 1251,104,75,76,103,2133,2110,6367,6367,2852, - 2852,3909,6367,6367,2212,35,1128,32,3440,5328, - 27,30,31,1192,1237,336,28,6367,6367,535, - 532,533,534,226,3309,6367,6367,536,532,533, - 534,535,532,533,534,6367,6367,1769,660,6367, - 60,2852,6367,6367,1252,6367,203,213,4533,6367, - 3978,6367,202,210,211,212,214,571,316,2016, - 318,2835,6367,6367,329,226,6367,583,1969,6367, - 6367,6367,6367,6367,6367,6367,154,6367,204,206, - 208,292,293,3038,3721,517,205,207,203,213, - 4533,6367,5400,357,202,210,211,212,214,571, - 6367,6367,1860,6367,6367,6367,2852,1923,2948,2957, - 6367,6367,6367,6367,2224,6367,6367,6367,2852,6367, - 204,206,208,292,293,3038,6367,516,205,207, - 226,6367,6367,6367,6367,6367,6367,6367,6367,6367, - 6367,6367,226,6367,6367,6367,6367,6367,6367,6367, - 6367,6367,6367,203,213,4533,6367,6367,6367,202, - 210,211,212,214,571,203,213,4533,6367,6367, - 6367,202,210,211,212,214,571,6367,6367,2315, - 6367,6367,6367,2852,6367,204,206,208,292,293, - 3038,6367,216,205,207,6367,6367,204,206,208, - 292,293,3038,6367,302,205,207,226,3353,35, - 1128,32,6367,815,27,30,31,1192,1237,26, - 28,1117,25,23,50,1251,85,75,76,6367, - 203,213,4533,6367,6367,6367,202,210,211,212, - 214,571,2454,35,1128,32,5516,5328,27,30, - 31,1192,1237,336,28,6367,6367,6367,6367,6367, - 6367,6367,204,206,208,292,293,3038,6367,496, - 205,207,2864,35,1128,32,5516,5328,27,30, - 31,1192,1237,336,28,6367,1236,6367,6367,6367, - 2852,5702,6367,6367,6367,1345,316,2016,318,2852, - 5702,6367,6367,6367,6367,311,1969,6367,613,35, - 1977,385,2856,6367,226,6367,6367,6367,613,35, - 1977,385,6367,226,6367,6367,316,2016,318,6367, - 6367,6367,6367,6367,6367,311,1969,2234,404,3339, - 6367,6367,3741,6367,6367,6367,2234,404,3339,49, - 703,35,1977,385,6367,6367,1970,47,6367,49, - 6367,6367,6367,6367,6367,6367,1970,2508,6367,405, - 406,407,292,293,3038,1085,6367,6367,405,406, - 407,292,293,3038,2110,3296,6367,6367,2852,3909, - 2292,49,6367,6367,2986,3909,6367,1409,1970,47, - 6367,6367,3909,2986,6367,2202,6367,535,532,533, - 534,1587,3309,535,532,533,534,2509,6367,1409, - 535,532,533,534,3909,6367,660,6367,535,532, - 533,534,660,6367,535,532,533,534,6367,660, - 6367,6367,535,532,533,534,6367,2627,6367,2835, - 6367,6367,329,2627,6367,2835,6367,6367,330,408, - 410,660,2835,6367,6367,329,6367,6367,408,411, - 6367,6367,349,6367,6367,6367,6367,1409,6367,6367, - 2749,357,3909,6367,2835,888,6367,329,5305,343, - 1041,921,346,5522,6367,1923,2948,2957,6367,3208, - 535,532,533,534,3909,6367,1409,6367,6367,6367, - 6367,3909,1569,6367,6367,5400,6367,3909,6367,660, - 2700,6367,535,532,533,534,2705,6367,6367,535, - 532,533,534,6367,6367,535,532,533,534,6367, - 6367,660,2835,6367,6367,329,6367,6367,660,613, - 35,1977,385,6367,660,613,35,1977,385,613, - 35,1977,385,6367,2835,6367,6367,5509,6367,6367, - 6367,2835,6367,2749,329,6367,6367,2835,6367,6367, - 330,6367,613,35,1977,385,2546,35,1977,385, - 49,613,35,1977,385,6367,49,1970,3449,6367, - 49,6367,4231,1970,47,6367,6367,1970,47,6367, - 6367,613,35,1977,385,6367,3296,6367,6367,6367, - 3145,6367,2931,49,587,6367,3556,49,6367,60, - 1970,47,49,587,1970,47,6367,6367,6367,1970, - 47,2734,35,1977,385,6367,2118,6367,340,3565, - 2852,94,49,676,6367,6367,154,340,3688,1970, - 47,6367,6367,6367,186,154,523,35,1977,385, - 5282,6367,6367,1547,3309,6367,2202,6367,4159,2524, - 2976,6367,49,523,35,1977,385,6367,6367,1970, - 47,6367,523,35,1977,385,6367,6367,1382,535, - 532,533,534,535,532,533,534,49,3126,60, - 6367,6367,6367,587,1970,774,60,6367,2627,60, - 587,60,2627,587,49,2852,6367,6367,6367,188, - 60,1970,1144,49,2852,6367,6367,340,6367,6367, - 1970,2500,60,502,340,154,2852,340,6367,340, - 60,6367,154,186,2852,154,6367,6367,340,5282, - 186,6367,6367,186,6367,6367,5282,6367,6367,5282, - 340,2524,6367,60,6367,6367,6367,2852,340,6367, - 2524,6367,6367,6367,6367,6367,6367,499,501,6367, - 2056,2939,2524,6367,6367,2949,6367,6367,6367,1967, - 2524,340,6367,6367,6367,6367,6367,6367,6367,6367, - 6367,506,3396,6367,6367,6367,6367,6367,3627,504, - 6367,6367,6367,2524,6367,3628,3570,6367,3637,6367, - 6367,6367,6367,6367,6367,6367,6367,6367,6367,6367, - 6367,6367,531,6367,0,39,6382,0,39,6381, - 0,955,29,0,437,1232,0,451,2044,0, - 38,791,0,38,6382,0,38,6381,0,3602, - 124,0,1,441,0,455,851,0,454,1288, - 0,1370,89,0,955,384,0,35,33,0, - 32,34,0,39,791,0,1,618,0,1, - 6637,0,1,6636,0,1,6635,0,1,6634, - 0,1,6633,0,1,6632,0,1,6631,0, - 1,6630,0,1,6629,0,1,6628,0,1, - 6627,0,39,1,6382,0,39,1,6381,0, - 1387,1,0,2090,221,0,2110,221,0,2118, - 221,0,2090,222,0,2110,222,0,2118,222, - 0,2090,223,0,2110,223,0,2118,223,0, - 2118,391,0,2110,391,0,2090,391,0,281, - 391,0,2090,224,0,2110,224,0,2118,224, - 0,281,284,0,2090,225,0,2110,225,0, - 2118,225,0,6599,239,0,6598,239,0,2090, - 239,0,2110,239,0,2118,239,0,6702,239, - 0,6701,239,0,6626,239,0,6625,239,0, - 6624,239,0,6623,239,0,6622,239,0,6621, - 239,0,6620,239,0,6619,239,0,6637,239, - 0,6636,239,0,6635,239,0,6634,239,0, - 6633,239,0,6632,239,0,6631,239,0,6630, - 239,0,6629,239,0,6628,239,0,6627,239, - 0,39,6382,239,0,39,6381,239,0,6405, - 239,0,6382,48,0,6381,48,0,6373,1, - 0,6372,1,0,1404,235,0,32,385,0, - 29,384,0,43,6403,0,43,37,0,3602, - 126,0,3602,125,0,2118,442,0,2110,442, - 0,2090,442,0,328,442,0,2118,580,0, - 2110,580,0,2090,580,0,584,580,0,584, - 579,0,1,2118,0,1,2110,0,1,2090, - 0,6405,1,0,39,1,0,47,37,0, - 1,90,0,498,3019,0,6405,1,227,0, - 1,227,0,39,1,227,0,227,413,0, - 6382,37,0,6381,37,0,6382,2,37,0, - 6381,2,37,0,6382,36,0,6381,36,0, - 6403,45,0,37,45,0,6377,402,0,6376, - 402,0,1,5252,0,1,3720,0,1,791, - 0,227,412,0,2954,315,0,2118,93,0, - 2110,93,0,2090,93,0,328,93,0,35, - 72,0,1,328,0,3383,276,0,498,5047, - 0,1,227,724,0,227,218,0,1,582, - 0,227,217,0,1,629,0,1,1479,0, - 2118,577,0,2110,577,0,2090,577,0,2118, - 576,0,2110,576,0,2090,576,0,535,536, - 0,6379,1,0,6375,1,0,2118,577,578, - 0,2110,577,578,0,2090,577,578,0,577, - 578,0,1,227,3492,0,6376,227,0,3505, - 227,0,6379,380,0,6378,380,0,3686,227, - 0,10,12,0,8,10,12,0,183,4029, - 0,3759,380,0,8,12,0 + 104,129,129,129,129,129,129,127,127,127, + 164,128,128,197,166,166,165,165,131,131, + 110,85,85,86,87,60,52,167,167,61, + 95,95,168,168,157,157,132,133,133,134, + 71,71,169,169,63,63,63,55,55,54, + 64,64,82,82,68,68,68,65,96,96, + 106,105,105,69,69,56,56,70,70,50, + 107,107,107,99,99,99,100,100,101,101, + 101,102,102,111,111,111,113,113,112,112, + 221,221,97,97,199,199,199,199,199,136, + 51,51,171,198,198,137,137,137,137,138, + 173,200,200,41,41,126,139,139,139,139, + 202,115,114,114,130,130,130,174,175,175, + 175,175,175,175,175,175,175,175,175,204, + 204,201,201,203,203,117,118,118,118,118, + 119,205,120,116,116,206,206,176,176,176, + 176,108,108,108,207,207,8,8,9,208, + 208,209,177,170,170,178,178,179,180,180, + 7,7,10,210,210,210,210,210,210,210, + 210,210,210,210,210,210,210,210,210,210, + 210,210,210,210,210,210,210,210,210,210, + 210,210,210,210,210,210,210,210,210,210, + 210,210,210,210,210,83,88,88,181,181, + 141,141,142,142,142,142,142,142,3,143, + 143,140,140,121,121,94,84,81,172,172, + 122,122,211,211,211,144,144,135,135,212, + 212,23,23,23,42,42,24,24,213,213, + 182,182,182,183,183,214,214,184,184,25, + 25,215,215,185,185,185,26,62,216,216, + 217,217,186,186,186,145,145,145,18,18, + 146,187,187,187,28,59,90,134,134,134, + 117,117,117,197,202,115,65,71,164,13, + 13,28,188,188,1451,35,2288,2285,1448,2744, + 27,30,31,1369,1421,26,28,2293,25,23, + 50,1431,104,75,76,106,1447,576,531,532, + 533,1501,1877,1499,1744,445,1630,1783,1766,1815, + 3026,1813,1917,1951,141,270,1978,1877,161,156, + 142,2069,3067,35,274,2369,35,1294,32,172, + 4510,27,30,31,1369,1421,335,28,1982,535, + 531,532,533,229,534,531,532,533,534,531, + 532,533,2160,35,1294,32,2992,1819,41,30, + 31,1369,1421,636,232,227,228,4947,69,3519, + 2536,35,290,2686,3491,2533,35,290,271,315, + 2018,317,3310,35,2011,384,2946,549,311,1736, + 2704,494,62,329,1669,62,1297,339,3491,1297, + 239,242,245,248,3664,493,456,348,3427,35, + 1294,32,385,968,40,30,31,1369,1421,1999, + 571,1179,3169,270,342,1493,1050,345,1690,4894, + 649,3652,3089,4410,5578,5585,4292,2738,2547,35, + 1294,32,2686,2619,27,30,31,1369,1421,26, + 28,1241,25,23,50,1431,104,75,76,106, + 1447,5592,2757,35,392,1501,339,1499,1744,1120, + 1630,1783,1766,1815,2199,1813,1917,1951,141,1916, + 3648,69,445,513,142,1627,2892,3409,2614,3186, + 35,1294,32,728,3397,27,30,31,1369,1421, + 57,28,535,531,532,533,71,3912,514,1819, + 2547,35,1294,32,2686,2619,27,30,31,1369, + 1421,26,28,1241,25,23,50,1431,104,75, + 76,106,1447,2536,35,2011,384,1501,339,1499, + 1744,552,1630,1783,1766,1815,728,1813,1917,1951, + 141,2536,2026,2246,34,513,142,2196,1432,509, + 2614,3248,35,1294,32,2282,3397,27,30,31, + 1369,1421,56,28,427,3858,3314,438,2617,452, + 514,2693,2547,35,1294,32,2686,2619,27,30, + 31,1369,1421,26,28,1241,25,23,50,1431, + 104,75,76,106,1447,2536,35,2246,2786,1501, + 339,1499,1744,445,1630,1783,1766,1815,4168,1813, + 1917,1951,141,2582,1592,35,276,513,142,3392, + 925,509,2614,70,1877,3367,35,1294,32,61, + 3609,27,30,31,1369,1421,26,28,1798,507, + 2703,2622,514,2693,2761,35,1294,32,2686,2619, + 27,30,31,1369,1421,26,28,1241,25,23, + 50,1431,104,75,76,106,1447,2536,35,5710, + 5704,1501,339,1499,1744,1877,1630,1783,1766,1815, + 3491,1813,1917,1951,141,2328,1592,35,276,513, + 142,3502,62,509,2614,1120,758,3121,35,1294, + 32,60,3609,27,30,31,1369,1421,59,28, + 563,24,2740,455,514,2693,2963,35,1294,32, + 2180,2619,27,30,31,1369,1421,26,28,1241, + 25,23,50,1431,104,75,76,106,1447,2536, + 35,2246,273,1501,1181,1499,1744,445,1630,1783, + 1766,1815,4376,1813,1917,1951,141,2822,35,2246, + 273,375,142,3682,4916,510,2624,35,1294,32, + 1877,2619,27,30,31,1369,1421,26,28,1241, + 25,23,50,1431,104,75,76,106,1447,2246, + 2536,35,2808,1501,5118,1499,1744,1877,1630,1783, + 1766,1815,349,1813,1917,1951,141,2536,3030,2246, + 73,375,142,3682,3339,35,1294,32,417,2619, + 27,30,31,1369,1421,26,28,1241,25,23, + 50,1431,104,75,76,106,1447,2536,35,279, + 1595,1501,75,1499,1744,170,1630,1783,1766,1815, + 3491,1813,2520,381,1729,2895,35,1294,32,51, + 2619,27,30,31,1369,1421,26,28,1241,25, + 23,50,1431,104,75,76,106,1447,1592,35, + 449,68,1501,5127,1499,1744,322,1630,1783,1766, + 1815,2296,1813,1917,1951,141,86,1268,2826,100, + 375,142,3682,382,1729,2992,1558,2536,35,2011, + 384,77,2828,35,1294,32,2878,2619,27,30, + 31,1369,1421,26,28,1241,25,23,50,1431, + 104,75,76,106,1447,3491,550,1691,2251,1501, + 3491,1499,1744,5638,1630,1783,1766,1815,270,1813, + 1917,1951,141,3427,35,1294,32,547,142,2480, + 30,31,1369,1421,2870,425,53,3091,35,1294, + 32,52,2619,27,30,31,1369,1421,26,28, + 1241,25,23,50,1431,104,75,76,106,1447, + 2533,1541,373,1729,1501,3160,1499,1744,445,1630, + 1783,1766,1815,5648,1813,1917,1951,141,2533,3168, + 290,272,156,142,3091,35,1294,32,377,2619, + 27,30,31,1369,1421,26,28,1241,25,23, + 50,1431,104,75,76,106,1447,2756,1383,3062, + 308,1501,1074,1499,1744,3017,1630,1783,1766,1815, + 2012,1813,1917,1951,141,3169,442,3233,3259,369, + 142,535,531,532,533,3091,35,1294,32,1877, + 2619,27,30,31,1369,1421,26,28,1241,25, + 23,50,1431,104,75,76,106,1447,538,2953, + 551,3127,1501,2959,1499,1744,545,1630,1783,1766, + 1815,2541,1813,1917,1951,141,3427,35,1294,32, + 369,142,2698,30,31,1369,1421,1173,1627,2017, + 676,3579,2974,649,537,5055,2557,3091,35,1294, + 32,3253,2619,27,30,31,1369,1421,26,28, + 1241,25,23,50,1431,104,75,76,106,1447, + 368,3524,1982,3161,1501,2686,1499,1744,95,1630, + 1783,1766,1815,1393,1813,1917,1951,141,3548,1266, + 3026,1686,369,142,1297,2828,35,1294,32,3360, + 2619,27,30,31,1369,1421,26,28,1241,25, + 23,50,1431,104,75,76,106,1447,42,2759, + 1798,367,1501,728,1499,1744,158,1630,1783,1766, + 1815,1798,1813,1917,1951,141,2822,35,2246,3031, + 547,142,2694,35,1294,32,281,2619,27,30, + 31,1369,1421,26,28,1241,25,23,50,1431, + 104,75,76,106,1447,350,2087,1576,501,1501, + 3435,1499,1744,3520,1630,1783,1766,1815,3076,1813, + 1917,1951,141,365,3491,170,3703,140,142,3091, + 35,1294,32,1265,2619,27,30,31,1369,1421, + 26,28,1241,25,23,50,1431,104,75,76, + 106,1447,499,500,1786,346,1501,1798,1499,1744, + 2090,1630,1783,1766,1815,1877,1813,1917,1951,141, + 2536,35,2246,275,157,142,3091,35,1294,32, + 180,2619,27,30,31,1369,1421,26,28,1241, + 25,23,50,1431,104,75,76,106,1447,2536, + 35,2246,3090,1501,3402,1499,1744,1558,1630,1783, + 1766,1815,445,1813,1917,1951,141,5671,2382,546, + 3491,153,142,3091,35,1294,32,1982,2619,27, + 30,31,1369,1421,26,28,1241,25,23,50, + 1431,104,75,76,106,1447,2536,35,2246,278, + 1501,88,1499,1744,96,1630,1783,1766,1815,1798, + 1813,1917,1951,141,2093,2612,2960,3017,152,142, + 3091,35,1294,32,1576,2619,27,30,31,1369, + 1421,26,28,1241,25,23,50,1431,104,75, + 76,106,1447,2757,35,392,155,1501,376,1499, + 1744,282,1630,1783,1766,1815,3749,1813,1917,1951, + 141,2536,3087,2478,2612,151,142,3091,35,1294, + 32,1077,2619,27,30,31,1369,1421,26,28, + 1241,25,23,50,1431,104,75,76,106,1447, + 2757,35,392,338,1501,247,1499,1744,320,1630, + 1783,1766,1815,445,1813,1917,1951,141,5691,2536, + 3659,3491,150,142,3091,35,1294,32,1798,2619, + 27,30,31,1369,1421,26,28,1241,25,23, + 50,1431,104,75,76,106,1447,518,3086,539, + 2953,1501,556,1499,1744,443,1630,1783,1766,1815, + 445,1813,1917,1951,141,5700,2382,3320,3491,149, + 142,3091,35,1294,32,1576,2619,27,30,31, + 1369,1421,26,28,1241,25,23,50,1431,104, + 75,76,106,1447,521,1798,518,1972,1501,3079, + 1499,1744,285,1630,1783,1766,1815,63,1813,1917, + 1951,141,3491,3491,3542,3586,148,142,3091,35, + 1294,32,1982,2619,27,30,31,1369,1421,26, + 28,1241,25,23,50,1431,104,75,76,106, + 1447,1988,1576,3136,67,1501,1998,1499,1744,1806, + 1630,1783,1766,1815,1899,1813,1917,1951,141,3491, + 3491,520,3197,147,142,3091,35,1294,32,537, + 2619,27,30,31,1369,1421,26,28,1241,25, + 23,50,1431,104,75,76,106,1447,3225,1212, + 66,65,1501,5413,1499,1744,294,1630,1783,1766, + 1815,3156,1813,1917,1951,141,3491,3027,2863,3307, + 146,142,3091,35,1294,32,1197,2619,27,30, + 31,1369,1421,26,28,1241,25,23,50,1431, + 104,75,76,106,1447,1324,3419,64,2160,1501, + 554,1499,1744,443,1630,1783,1766,1815,354,1813, + 1917,1951,141,2955,3087,1982,3491,145,142,3091, + 35,1294,32,1982,2619,27,30,31,1369,1421, + 26,28,1241,25,23,50,1431,104,75,76, + 106,1447,1077,2078,519,1179,1501,3319,1499,1744, + 321,1630,1783,1766,1815,446,1813,1917,1951,141, + 3491,3491,2536,3489,144,142,3091,35,1294,32, + 519,2619,27,30,31,1369,1421,26,28,1241, + 25,23,50,1431,104,75,76,106,1447,293, + 62,55,54,1501,830,1499,1744,300,1630,1783, + 1766,1815,538,1813,1917,1951,141,630,1982,253, + 3491,143,142,3031,35,1294,32,1283,2619,27, + 30,31,1369,1421,26,28,1241,25,23,50, + 1431,104,75,76,106,1447,2536,35,2011,384, + 1501,536,1499,1744,284,1630,1783,1766,1815,259, + 1813,1917,2749,162,3091,35,1294,32,439,2619, + 27,30,31,1369,1421,26,28,1241,25,23, + 50,1431,104,75,76,106,1447,448,1482,3088, + 2686,1501,378,1499,1744,261,1630,1783,1766,1815, + 2825,1813,1917,1951,141,87,3251,62,100,138, + 142,902,323,535,531,532,533,3219,35,1294, + 32,1127,2619,27,30,31,1369,1421,26,28, + 1241,25,23,50,1431,104,75,76,106,1447, + 2536,35,290,400,1501,3800,1499,1744,3538,1630, + 1783,1766,1815,437,1813,1917,1951,141,2955,3087, + 2085,2792,187,142,3339,35,1294,32,1416,2619, + 27,30,31,1369,1421,26,28,1241,25,23, + 50,1431,104,75,76,106,1447,3855,62,2383, + 2659,1501,5324,1499,1744,1687,1630,1783,1766,1815, + 3491,1813,1917,2749,162,3339,35,1294,32,2077, + 2619,27,30,31,1369,1421,26,28,1241,25, + 23,50,1431,104,75,76,106,1447,3488,62, + 398,555,1501,2724,1499,1744,2245,1630,1783,1766, + 1815,2607,1813,1917,2749,162,2687,2821,2512,3528, + 3751,535,531,532,533,2387,35,274,3339,35, + 1294,32,1635,2619,27,30,31,1369,1421,26, + 28,1241,25,23,50,1431,104,75,76,106, + 1447,2536,35,2011,384,1501,3813,1499,1744,284, + 1630,1783,1766,1815,3491,1813,1917,2749,162,3339, + 35,1294,32,419,2619,27,30,31,1369,1421, + 26,28,1241,25,23,50,1431,104,75,76, + 106,1447,430,1697,3088,318,1501,1640,1499,1744, + 431,1630,1783,1766,1815,615,1813,1917,2749,162, + 2892,798,722,1703,35,449,3163,3372,5127,3344, + 35,277,3339,35,1294,32,289,2619,27,30, + 31,1369,1421,26,28,1241,25,23,50,1431, + 104,75,76,106,1447,2536,35,2011,384,1501, + 523,1499,1744,402,1630,1783,1766,1815,1611,1813, + 1917,2749,162,3459,35,1294,32,418,2619,27, + 30,31,1369,1421,26,28,1241,25,23,50, + 1431,104,75,76,106,1447,429,3523,2974,728, + 1501,1716,1499,1744,621,1630,1783,1766,1815,713, + 1813,1917,2749,162,1561,35,1294,32,5564,4510, + 27,30,31,1369,1421,335,28,3026,541,1182, + 421,1297,2552,35,2011,384,721,534,531,532, + 533,2283,35,3134,32,5564,4510,27,30,31, + 1369,1421,335,28,2923,805,4465,814,5479,2277, + 35,2011,384,158,534,531,532,533,315,2018, + 317,3481,62,49,44,2759,1221,310,1736,2704, + 1979,2730,328,3093,386,5731,62,1969,423,1629, + 2589,4381,1611,2686,3917,315,2018,317,2806,1237, + 49,446,3233,3259,310,1736,2704,1979,741,328, + 4150,1611,943,3121,35,1294,32,225,3609,27, + 30,31,1369,1421,58,28,3642,35,2011,384, + 1270,2592,3491,633,324,331,348,4150,2892,234, + 2240,403,5331,906,345,3489,302,306,1172,576, + 531,532,533,340,1493,1050,345,3491,4518,415, + 3107,338,1,99,3487,995,594,270,2686,2686, + 1624,2833,404,405,406,291,292,2964,3760,3864, + 998,296,3285,2686,2434,35,2011,384,3541,2091, + 225,236,3360,3360,3815,229,62,2954,154,813, + 2063,576,531,532,533,178,2919,339,387,1576, + 526,3720,423,201,213,5388,232,227,228,200, + 210,211,212,214,575,49,897,389,167,2614, + 271,423,1979,794,2611,166,179,182,165,168, + 169,170,171,172,2327,2246,1182,229,905,529, + 5118,1237,239,242,245,248,3664,535,531,532, + 533,356,357,407,410,968,989,62,237,227, + 228,2528,571,2892,2729,2066,2854,2886,91,1611, + 2536,35,2011,384,3089,4410,5578,5585,4292,2738, + 3339,35,1294,32,353,2619,27,30,31,1369, + 1421,26,28,1241,25,23,50,1431,104,75, + 76,106,1447,5592,3720,2806,219,1501,3863,1499, + 1744,428,1630,1783,1766,1815,909,2481,3339,35, + 1294,32,997,2619,27,30,31,1369,1421,26, + 28,1241,25,23,50,1431,104,75,76,106, + 1447,330,331,1268,1256,1501,3350,1499,1744,2892, + 1630,1783,1766,2470,1279,35,1294,32,5564,4322, + 27,30,31,1369,1421,335,28,534,531,532, + 533,2757,35,2834,4507,3692,1081,534,531,532, + 533,3389,1175,1084,1089,388,1368,561,2689,423, + 3748,62,177,3315,1722,2652,4561,2996,535,531, + 532,533,1176,2892,2536,35,2011,384,315,2018, + 317,426,49,535,531,532,533,310,1736,1979, + 997,3339,35,1294,32,5731,2619,27,30,31, + 1369,1421,26,28,1241,25,23,50,1431,104, + 75,76,106,1447,1185,49,196,3005,1501,3350, + 1499,1744,46,1630,1783,2475,2536,35,2011,384, + 3370,1571,3339,35,1294,32,2806,2619,27,30, + 31,1369,1421,26,28,1241,25,23,50,1431, + 104,75,76,106,1447,3848,302,306,1172,1501, + 560,1499,1744,1802,1630,2388,434,49,2536,35, + 2011,384,3448,331,1979,878,62,3856,933,62, + 2298,3799,3404,2967,1182,1391,1798,2432,1093,1215, + 1577,3077,3285,2438,35,3134,32,5564,4322,27, + 30,31,1369,1421,335,28,2927,2431,3391,270, + 5422,1320,576,531,532,533,3159,531,532,533, + 1710,35,3134,32,5564,4322,27,30,31,1369, + 1421,335,28,1576,1305,3192,62,347,3487,3491, + 1583,3719,2686,534,531,532,533,315,2018,317, + 3026,3026,372,2806,1297,1297,310,1736,229,3682, + 1892,2768,3192,2996,943,1823,3360,62,3526,62, + 447,3084,336,4307,315,2018,317,1994,3026,241, + 227,228,1297,310,1736,2178,158,158,348,326, + 331,943,2463,35,3134,32,5564,4322,27,30, + 31,1369,1421,335,28,340,1493,1050,345,3490, + 4962,415,3107,1594,158,3159,531,532,533,1788, + 35,1294,32,5564,4322,27,30,31,1369,1421, + 335,28,2806,3155,3192,356,62,5378,415,3107, + 1297,2892,534,531,532,533,315,2018,317,2717, + 2854,2886,1994,2110,2111,310,1736,370,1337,2925, + 62,4561,1688,943,2671,3286,62,62,3465,331, + 2839,3138,154,315,2018,317,2536,35,2011,384, + 1180,2692,310,1736,195,3695,3339,35,1294,32, + 5731,2619,27,30,31,1369,1421,26,28,1241, + 25,23,50,1431,104,75,76,106,1447,4962, + 415,3107,352,1501,3761,1499,1744,49,2389,62, + 3814,527,3026,3163,1979,641,1297,3339,35,1294, + 32,3406,2619,27,30,31,1369,1421,26,28, + 1241,25,23,50,1431,104,75,76,106,1447, + 3696,303,306,1172,1501,3764,1499,1744,158,2426, + 2185,35,1294,32,5526,4322,27,30,31,1369, + 1421,335,28,2722,35,1294,32,5449,4322,27, + 30,31,1369,1421,335,28,3878,351,3861,3860, + 1297,2892,2536,35,2011,384,527,2629,35,2011, + 384,2996,62,62,347,1994,4399,4300,93,2629, + 35,2011,384,62,315,2018,317,1876,3438,1798, + 525,3553,154,310,1736,3139,3554,315,2018,317, + 160,3014,3607,49,557,277,310,1736,49,594, + 1979,2395,348,2262,2434,1979,1461,2958,62,2271, + 49,1297,3177,2686,3627,348,3608,1979,47,340, + 1493,1050,345,225,702,62,1576,2972,185,3252, + 2806,154,340,1493,1050,345,2489,339,178,2919, + 1594,3862,1576,154,1924,372,201,213,5388,3876, + 198,3661,200,210,211,212,214,575,1735,3802, + 1278,167,2536,35,2011,384,3617,331,166,3749, + 181,165,168,169,170,171,172,3339,35,1294, + 32,3880,2619,27,30,31,1369,1421,26,28, + 1241,25,23,50,1431,104,75,76,106,1447, + 319,62,3881,49,1501,3401,1499,2335,62,527, + 1979,642,4495,2462,3551,3339,35,1294,32,362, + 2619,27,30,31,1369,1421,26,28,1241,25, + 23,50,1431,104,75,76,106,1447,3821,62, + 6660,6660,1501,5624,1499,2349,3339,35,1294,32, + 3614,2619,27,30,31,1369,1421,26,28,1241, + 25,23,50,1431,104,75,76,106,1447,2536, + 35,2011,384,1501,62,1499,2376,62,1735,369, + 6660,3405,6660,594,3339,35,1294,32,2722,2619, + 27,30,31,1369,1421,26,28,1241,25,23, + 50,1431,104,75,76,106,1447,225,2892,6660, + 49,1501,3491,1499,2381,154,6660,1979,741,2892, + 3795,2892,178,2919,1824,461,1576,6660,6660,594, + 201,213,5388,6660,3491,6660,200,210,211,212, + 214,575,62,374,6660,167,2158,534,531,532, + 533,299,166,225,3484,165,168,169,170,171, + 172,154,199,62,197,566,799,1784,178,2919, + 3059,553,1576,6660,6660,594,201,213,5388,3491, + 6660,6660,200,210,211,212,214,575,62,3491, + 6660,167,2686,534,531,532,533,6660,166,225, + 176,165,168,169,170,171,172,154,6660,62, + 3803,2892,636,1046,178,2919,339,645,1576,6660, + 3849,594,201,213,5388,3491,3491,6660,200,210, + 211,212,214,575,3491,2946,2473,167,2614,62, + 1297,2892,728,2924,166,225,174,165,168,169, + 170,171,172,154,295,3491,3895,567,2058,2892, + 178,2919,3869,737,1576,1838,3977,594,201,213, + 5388,6660,154,3491,200,210,211,212,214,575, + 592,3491,6660,167,3386,2892,1905,6660,802,6660, + 166,225,175,165,168,169,170,171,172,154, + 6660,6660,220,6660,3825,6660,178,2919,2379,829, + 1576,6660,4038,594,201,213,5388,6660,6660,6660, + 200,210,211,212,214,575,2941,6660,191,167, + 6660,534,531,532,533,6660,166,225,185,165, + 168,169,170,171,172,154,6660,6660,6660,6660, + 2230,6660,178,2919,6660,921,1576,6660,6660,594, + 201,213,5388,6660,6660,6660,200,210,211,212, + 214,575,529,6660,6660,167,2686,2536,35,2011, + 384,6660,166,225,3553,165,168,169,170,171, + 172,154,6660,6660,6660,6660,6660,6660,178,2919, + 339,6660,1576,6660,6660,6660,201,213,5388,6660, + 6660,6660,200,210,211,212,214,575,49,6660, + 6660,167,2647,2827,598,1979,2095,6660,166,6660, + 190,165,168,169,170,171,172,2856,35,1294, + 32,5526,4322,27,30,31,1369,1421,335,28, + 6660,6660,1013,6660,6660,6660,594,3339,35,1294, + 32,6660,2619,27,30,31,1369,1421,26,28, + 1241,25,23,50,1431,104,75,76,106,1447, + 225,6660,6660,6660,1501,6660,2386,6660,154,6660, + 6660,315,2018,317,6660,178,2919,6660,1105,1576, + 310,1736,594,201,213,5388,6660,6660,522,200, + 210,211,212,214,575,6660,6660,62,167,348, + 6660,1297,6660,6660,6660,166,225,184,165,168, + 169,170,171,172,154,6660,340,1493,1050,345, + 6660,178,2919,6660,523,1576,6660,6660,6660,201, + 213,5388,6660,154,6660,200,210,211,212,214, + 575,1010,2632,6660,167,6660,6660,6660,6660,6660, + 6660,166,6660,192,165,168,169,170,171,172, + 3339,35,1294,32,6660,2619,27,30,31,1369, + 1421,26,28,1241,25,23,50,1431,104,75, + 76,106,1447,6660,6660,6660,6660,1501,6660,2387, + 1405,35,1294,32,6660,4510,27,30,31,1369, + 1421,335,28,62,6660,6660,6660,1297,2552,35, + 2011,384,6660,534,531,532,533,1405,35,1294, + 32,6660,4510,27,30,31,1369,1421,335,28, + 6660,6660,636,3867,62,6660,6660,594,594,154, + 534,531,532,533,315,2018,317,1100,6660,49, + 6660,6660,6660,313,1736,2704,1979,47,329,4947, + 6660,339,339,6660,6660,6660,6660,6660,6660,154, + 154,315,2018,317,6660,1167,6660,186,186,6660, + 311,1736,2704,5308,5308,329,3339,35,1294,32, + 6660,2619,27,30,31,1369,1421,26,28,1241, + 25,23,50,1431,104,75,76,106,1447,3339, + 35,1294,32,2300,2619,27,30,31,1369,1421, + 26,28,1241,25,23,50,1431,104,75,76, + 106,1447,3708,35,2011,384,2301,2592,6660,6660, + 3524,6660,188,3719,2686,235,6660,1740,6660,6660, + 6660,2686,6660,6660,6660,576,531,532,533,6660, + 6660,6660,2552,35,2011,384,6660,6660,3360,6660, + 6660,6660,6660,270,6660,225,3339,35,1294,32, + 6660,2619,27,30,31,1369,1421,26,28,1241, + 25,23,50,1431,104,75,76,84,203,213, + 5388,229,6660,49,202,210,211,212,214,575, + 1979,2487,6660,6660,6660,6660,2629,35,2011,384, + 6660,2059,233,227,228,6660,3276,3781,6660,3068, + 204,206,208,291,292,2964,271,501,6660,2019, + 215,205,207,2686,534,531,532,533,6660,62, + 1342,62,6660,1297,6660,1297,6660,49,240,243, + 246,249,3664,636,1979,47,6660,225,6660,6660, + 1932,968,5016,576,531,532,533,6660,572,6660, + 6660,498,500,1436,6660,154,2704,154,6660,5558, + 203,213,5388,2482,6660,1923,202,210,211,212, + 214,575,6660,6660,6660,1672,35,1294,32,5564, + 4322,27,30,31,1369,1421,335,28,6660,229, + 6660,3185,204,206,208,291,292,2964,535,531, + 532,533,215,205,207,2112,6660,6660,6660,2686, + 244,227,228,6660,6660,6660,6660,1884,6660,6660, + 2552,35,2011,384,6660,6660,6660,6660,2789,315, + 2018,317,2065,225,5016,6660,6660,6660,310,1736, + 534,531,532,533,92,6660,5751,6660,6660,6660, + 6660,534,531,532,533,6660,203,213,5388,2230, + 6660,49,202,210,211,212,214,575,1979,3710, + 2368,1788,35,1294,32,5564,4322,27,30,31, + 1369,1421,335,28,6660,6660,6660,3068,204,206, + 208,291,292,2964,535,531,532,533,215,205, + 207,3339,35,1294,32,6660,2619,27,30,31, + 1369,1421,26,28,1241,25,23,50,1431,104, + 75,76,106,2308,6660,315,2018,317,2073,6660, + 5016,6660,2961,6660,310,1736,6660,6660,3339,35, + 1294,32,5751,2619,27,30,31,1369,1421,26, + 28,1241,25,23,50,1431,104,75,76,106, + 2329,3339,35,1294,32,6660,2619,27,30,31, + 1369,1421,26,28,1241,25,23,50,1431,104, + 75,76,106,2330,3339,2026,1294,2045,6660,2619, + 27,30,31,1369,1421,26,28,1241,25,23, + 50,1431,104,75,76,83,3339,35,1294,32, + 6660,2619,27,30,31,1369,1421,26,28,1241, + 25,23,50,1431,104,75,76,82,3339,35, + 1294,32,6660,2619,27,30,31,1369,1421,26, + 28,1241,25,23,50,1431,104,75,76,81, + 3339,35,1294,32,6660,2619,27,30,31,1369, + 1421,26,28,1241,25,23,50,1431,104,75, + 76,80,3339,35,1294,32,6660,2619,27,30, + 31,1369,1421,26,28,1241,25,23,50,1431, + 104,75,76,79,3339,35,1294,32,6660,2619, + 27,30,31,1369,1421,26,28,1241,25,23, + 50,1431,104,75,76,78,3339,35,1294,32, + 6660,2619,27,30,31,1369,1421,26,28,1241, + 25,23,50,1431,104,75,76,77,3158,35, + 1294,32,6660,2619,27,30,31,1369,1421,26, + 28,1241,25,23,50,1431,104,75,76,102, + 3339,35,1294,32,6660,2619,27,30,31,1369, + 1421,26,28,1241,25,23,50,1431,104,75, + 76,108,3339,35,1294,32,6660,2619,27,30, + 31,1369,1421,26,28,1241,25,23,50,1431, + 104,75,76,107,3339,35,1294,32,6660,2619, + 27,30,31,1369,1421,26,28,1241,25,23, + 50,1431,104,75,76,105,3339,35,1294,32, + 6660,2619,27,30,31,1369,1421,26,28,1241, + 25,23,50,1431,104,75,76,103,2205,2958, + 62,6660,2686,594,1297,6660,6660,1599,35,1294, + 32,6660,4322,27,30,31,1369,1421,335,28, + 6660,6660,3529,6660,6660,6660,225,3779,6660,6660, + 535,531,532,533,6660,154,154,1833,6660,6660, + 6660,2686,178,2919,1969,534,531,532,533,203, + 213,5388,6660,6660,6660,202,210,211,212,214, + 575,315,2018,317,2794,225,6660,6660,6660,62, + 587,1736,193,1297,62,6660,1926,6660,1297,6660, + 2686,204,206,208,291,292,2964,6660,203,213, + 5388,516,205,207,202,210,211,212,214,575, + 6660,6660,6660,62,225,154,6660,1297,62,6660, + 154,6660,1297,1970,6660,2298,6660,6660,2016,2686, + 204,206,208,291,292,2964,6660,203,213,5388, + 515,205,207,202,210,211,212,214,575,154, + 6660,6660,6660,225,154,6660,6660,1399,6660,6660, + 6660,6660,3813,6660,2391,6660,6660,6660,2686,204, + 206,208,291,292,2964,6660,203,213,5388,216, + 205,207,202,210,211,212,214,575,2552,35, + 2011,384,225,6660,6660,6660,6660,2552,35,2011, + 384,6660,6660,6660,4193,194,6660,6660,204,206, + 208,291,292,2964,6660,203,213,5388,301,205, + 207,202,210,211,212,214,575,6660,6660,49, + 6660,6660,6660,6660,6660,6660,1979,47,49,6660, + 6660,6660,6660,6660,6660,1979,47,204,206,208, + 291,292,2964,6660,6660,853,6660,495,205,207, + 3279,35,1294,32,2186,2619,27,30,31,1369, + 1421,26,28,1241,25,23,50,1431,569,75, + 76,3279,35,1294,32,6660,2619,27,30,31, + 1369,1421,26,28,1241,25,23,50,1431,568, + 75,76,3279,35,1294,32,6660,2619,27,30, + 31,1369,1421,26,28,1241,25,23,50,1431, + 85,75,76,3279,35,1294,32,6660,2619,27, + 30,31,1369,1421,26,28,1241,25,23,50, + 1431,570,75,76,3399,35,1294,32,6660,2619, + 27,30,31,1369,1421,26,28,1241,25,23, + 50,1431,2754,75,76,2501,35,1294,32,5564, + 4322,27,30,31,1369,1421,335,28,2654,35, + 1294,32,5564,4322,27,30,31,1369,1421,335, + 28,6660,6660,6660,1518,6660,6660,6660,2686,3917, + 6660,2155,35,1294,32,2601,4322,27,30,31, + 1369,1421,335,28,6660,6660,6660,6660,6660,315, + 2018,317,225,6660,6660,6660,6660,6660,310,1736, + 6660,6660,315,2018,317,6660,2434,6660,6660,6660, + 6660,310,1736,6660,399,2240,403,5331,3596,3521, + 6660,6660,6660,6660,6660,312,3085,317,2575,35, + 1294,32,2574,4322,27,30,31,1369,1421,335, + 28,534,531,532,533,6660,6660,404,405,406, + 291,292,2964,2059,6660,6660,6660,6660,3276,6660, + 2368,6660,1997,6660,6660,6660,2686,3276,6660,6660, + 6660,6660,2954,6660,6660,6660,534,531,532,533, + 6660,6660,312,3085,317,534,531,532,533,1997, + 3360,6660,6660,2686,3276,636,6660,62,6660,6660, + 6660,594,6660,6660,636,6660,6660,6660,6660,6660, + 6660,1811,534,531,532,533,3276,3360,2704,2059, + 6660,328,6660,6660,3276,339,6660,2704,62,6660, + 328,636,594,154,534,531,532,533,407,409, + 3258,1010,534,531,532,533,6660,2614,6660,5620, + 6660,6660,6660,636,2704,6660,339,328,5471,356, + 6660,636,6660,6660,154,658,2059,718,2649,6660, + 6660,3276,186,1878,2854,2886,2704,6660,5308,329, + 6660,6660,6660,6660,2704,645,356,328,6660,534, + 531,532,533,348,6660,6660,6660,3258,2341,6660, + 1878,2854,2886,3276,2059,6660,6660,6660,636,3276, + 342,1493,1050,345,6660,5471,6660,6660,1584,6660, + 6660,534,531,532,533,1695,6660,534,531,532, + 533,2704,1876,6660,328,6660,6660,3729,6660,6660, + 636,576,531,532,533,6660,636,6660,576,531, + 532,533,6660,6660,6660,576,531,532,533,6660, + 1339,6660,645,2704,3859,3276,5558,6660,2686,2704, + 6660,6660,328,6660,6660,6660,6660,6660,2552,35, + 2011,384,6660,534,531,532,533,229,3151,35, + 2011,384,3360,6660,229,6660,6660,6660,6660,6660, + 4177,229,636,6660,6660,6660,6660,6660,247,227, + 228,2552,35,2011,384,250,227,228,6660,49, + 6660,6660,573,227,228,2704,1979,47,329,49, + 6660,2552,35,2011,384,6660,1979,47,6660,6660, + 3191,35,2011,384,2379,2421,6660,6660,6660,62, + 2010,94,49,594,62,690,6660,6660,2686,1979, + 47,501,62,6660,6660,6660,2686,534,531,532, + 533,3645,49,534,531,532,533,339,2515,1979, + 47,49,339,6660,6660,154,2230,6660,1979,47, + 339,3711,2230,186,534,531,532,533,2840,5308, + 6660,6660,6660,6660,2614,498,500,2280,6660,6660, + 6660,6660,2614,2945,534,531,532,533,62,62, + 6660,62,2686,2686,2105,2686,62,62,6660,6660, + 2686,2686,2152,2960,6660,6660,6660,6660,6660,6660, + 6660,6660,6660,6660,6660,3454,339,339,6660,339, + 6660,6660,6660,6660,339,339,6660,6660,3765,3260, + 6660,6660,6660,6660,6660,3266,6660,6660,2614,2614, + 6660,2614,6660,6660,6660,6660,2614,2614,6660,6660, + 6660,6660,6660,6660,6660,6660,6660,6660,2157,1922, + 6660,505,6660,6660,6660,6660,503,530,6660,0, + 39,6675,0,39,6674,0,1022,29,0,436, + 2140,0,450,2247,0,38,871,0,38,6675, + 0,38,6674,0,6723,74,0,6722,74,0, + 809,74,0,881,74,0,2587,74,0,4163, + 74,0,3586,124,0,1,440,0,454,637, + 0,453,954,0,712,89,0,1022,383,0, + 35,33,0,32,34,0,39,871,0,1, + 625,0,1,7250,0,1,7249,0,1,6929, + 0,1,6928,0,1,6927,0,1,6926,0, + 1,6925,0,1,6924,0,1,6923,0,1, + 6922,0,1,6921,0,1,6920,0,1,6919, + 0,39,1,6675,0,39,1,6674,0,672, + 1,0,1,5190,0,6891,221,0,6890,221, + 0,2159,221,0,2199,221,0,2235,221,0, + 6994,221,0,6993,221,0,6918,221,0,6917, + 221,0,6916,221,0,6915,221,0,6914,221, + 0,6913,221,0,6912,221,0,6911,221,0, + 6891,222,0,6890,222,0,2159,222,0,2199, + 222,0,2235,222,0,6994,222,0,6993,222, + 0,6918,222,0,6917,222,0,6916,222,0, + 6915,222,0,6914,222,0,6913,222,0,6912, + 222,0,6911,222,0,2235,390,0,2199,390, + 0,2159,390,0,280,390,0,6891,223,0, + 6890,223,0,2159,223,0,2199,223,0,2235, + 223,0,6994,223,0,6993,223,0,6918,223, + 0,6917,223,0,6916,223,0,6915,223,0, + 6914,223,0,6913,223,0,6912,223,0,6911, + 223,0,280,283,0,6891,224,0,6890,224, + 0,2159,224,0,2199,224,0,2235,224,0, + 6994,224,0,6993,224,0,6918,224,0,6917, + 224,0,6916,224,0,6915,224,0,6914,224, + 0,6913,224,0,6912,224,0,6911,224,0, + 6675,48,0,6674,48,0,6891,574,0,6890, + 574,0,2159,574,0,2199,574,0,2235,574, + 0,6994,574,0,6993,574,0,6918,574,0, + 6917,574,0,6916,574,0,6915,574,0,6914, + 574,0,6913,574,0,6912,574,0,6911,574, + 0,6891,591,0,6890,591,0,2159,591,0, + 2199,591,0,2235,591,0,6994,591,0,6993, + 591,0,6918,591,0,6917,591,0,6916,591, + 0,6915,591,0,6914,591,0,6913,591,0, + 6912,591,0,6911,591,0,6891,238,0,6890, + 238,0,2159,238,0,2199,238,0,2235,238, + 0,6994,238,0,6993,238,0,6918,238,0, + 6917,238,0,6916,238,0,6915,238,0,6914, + 238,0,6913,238,0,6912,238,0,6911,238, + 0,39,6675,238,0,39,6674,238,0,6698, + 238,0,7250,238,0,7249,238,0,6929,238, + 0,6928,238,0,6927,238,0,6926,238,0, + 6925,238,0,6924,238,0,6923,238,0,6922, + 238,0,6921,238,0,6920,238,0,6919,238, + 0,6666,1,0,6665,1,0,32,384,0, + 29,383,0,1500,234,0,43,6696,0,43, + 37,0,3586,126,0,3586,125,0,2235,441, + 0,2199,441,0,2159,441,0,6698,441,0, + 327,441,0,39,441,0,2235,584,0,2199, + 584,0,2159,584,0,588,584,0,588,583, + 0,1,2235,0,1,2199,0,1,2159,0, + 6698,1,0,39,1,0,47,37,0,569, + 570,0,1,90,0,497,2963,0,6698,1, + 226,0,1,226,0,39,1,226,0,226, + 412,0,6675,37,0,6674,37,0,6675,2, + 37,0,6674,2,37,0,6675,36,0,6674, + 36,0,5043,98,0,6696,45,0,37,45, + 0,6994,332,0,6993,332,0,6670,401,0, + 6669,401,0,1,5295,0,1,689,0,1, + 871,0,226,411,0,3267,314,0,3178,101, + 0,2304,97,0,2235,93,0,2199,93,0, + 2159,93,0,6698,93,0,327,93,0,39, + 93,0,35,72,0,1,327,0,3150,275, + 0,497,4977,0,1,226,1267,0,226,218, + 0,1,586,0,226,217,0,1,782,0, + 1,1763,0,2235,581,0,2199,581,0,2159, + 581,0,2235,580,0,2199,580,0,2159,580, + 0,534,535,0,6672,1,0,6668,1,0, + 2235,581,582,0,2199,581,582,0,2159,581, + 582,0,581,582,0,1,226,3388,0,6669, + 226,0,3408,226,0,6672,379,0,6671,379, + 0,3468,226,0,10,12,0,8,10,12, + 0,183,3992,0,3554,379,0,8,12,0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -1283,386 +1312,403 @@ public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 20,21,22,23,24,25,26,27,28,29, 30,31,32,33,34,35,36,37,38,39, 40,41,42,43,44,45,46,47,48,49, - 50,51,52,53,54,55,56,57,58,0, - 0,61,62,63,64,65,66,67,8,0, - 70,71,0,1,2,75,4,77,78,79, - 80,81,82,83,84,85,86,87,88,89, - 0,1,2,3,4,5,6,7,8,9, - 10,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,28,29, - 30,31,32,33,34,35,36,37,38,39, - 40,41,42,43,44,45,46,47,48,49, - 50,51,52,53,54,55,56,57,58,0, - 0,61,62,63,64,65,66,67,0,0, - 70,71,0,1,2,75,4,77,78,79, - 80,81,82,83,84,85,86,87,88,89, - 0,1,2,3,4,5,6,7,8,9, - 10,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,28,29, - 30,31,32,33,34,35,36,37,38,39, - 40,41,42,43,44,45,46,47,48,49, - 50,51,52,53,54,55,56,57,58,0, - 1,61,62,63,64,65,66,67,0,0, - 70,71,94,95,104,75,0,77,78,79, - 80,81,82,83,84,85,86,87,88,89, - 0,1,2,3,4,5,6,7,8,9, - 10,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,28,29, - 30,31,32,33,34,35,36,37,38,39, - 40,41,42,43,44,45,46,47,48,49, - 50,51,52,53,54,55,56,57,58,73, - 0,61,62,63,64,65,66,67,0,0, - 70,71,0,94,95,75,0,0,78,79, - 80,81,82,83,84,85,86,87,88,89, - 0,1,2,3,4,5,6,7,8,9, - 10,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,28,29, - 30,31,32,33,34,35,36,37,38,39, - 40,41,42,43,44,45,46,47,48,49, - 50,51,52,53,54,55,56,57,58,72, - 73,61,62,63,64,65,66,67,0,0, - 70,71,0,91,92,75,0,0,78,79, - 80,81,82,83,84,85,86,87,88,89, - 0,1,2,3,4,5,6,7,8,9, - 10,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,28,29, - 30,31,32,33,34,35,36,37,38,39, - 40,41,42,43,44,45,46,47,48,49, - 50,51,52,53,54,55,56,57,58,72, - 73,61,62,63,64,65,66,67,0,0, - 70,71,0,1,2,75,94,95,78,79, - 80,81,82,83,84,85,86,87,88,89, - 0,1,2,3,4,5,6,7,8,9, - 10,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,28,29, - 30,31,32,33,34,35,36,37,38,39, - 40,41,42,43,44,45,46,47,48,49, - 50,51,52,53,54,55,56,57,58,0, - 0,61,62,63,64,65,66,67,0,0, - 70,71,0,1,2,75,0,0,78,79, - 80,81,82,83,84,85,86,87,88,89, - 0,1,2,3,4,5,6,7,8,9, - 10,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,28,29, - 30,31,32,33,34,35,36,37,38,39, - 40,41,42,43,44,45,46,47,48,49, - 50,51,52,53,54,55,56,57,58,72, - 74,61,62,63,64,65,66,67,0,0, - 70,71,0,1,2,75,0,0,78,79, - 80,81,82,83,84,85,86,87,88,89, - 0,1,2,3,4,5,6,7,8,9, - 10,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,28,29, - 30,31,32,33,34,35,36,37,38,39, - 40,41,42,43,44,45,46,47,48,49, - 50,51,52,53,54,55,56,57,58,73, - 73,61,62,63,64,65,66,67,0,0, - 70,71,94,95,0,75,0,3,78,79, - 80,81,82,83,84,85,86,87,88,89, - 0,1,2,3,4,5,6,7,8,9, - 10,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,28,29, - 30,31,32,33,34,35,36,37,38,39, - 40,41,42,43,44,45,46,47,48,49, - 50,51,52,53,54,55,56,57,58,73, - 76,61,62,63,64,65,66,67,0,0, - 70,71,0,0,0,75,3,3,78,79, + 50,51,52,53,54,55,56,57,58,59, + 60,0,0,63,64,65,66,67,0,69, + 70,3,72,73,0,75,0,3,78,3, 80,81,82,83,84,85,86,87,88,89, + 90,91,0,1,2,3,4,5,6,7, + 8,9,10,11,12,13,14,15,16,17, + 18,19,20,21,22,23,24,25,26,27, + 28,29,30,31,32,33,34,35,36,37, + 38,39,40,41,42,43,44,45,46,47, + 48,49,50,51,52,53,54,55,56,57, + 58,59,60,79,0,63,64,65,66,67, + 0,69,70,3,72,73,12,75,106,0, + 78,0,80,81,82,83,84,85,86,87, + 88,89,90,91,0,1,2,3,4,5, + 6,7,8,9,10,11,12,13,14,15, + 16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,30,31,32,33,34,35, + 36,37,38,39,40,41,42,43,44,45, + 46,47,48,49,50,51,52,53,54,55, + 56,57,58,59,60,74,0,63,64,65, + 66,67,0,69,70,3,72,73,0,75, + 0,3,78,3,80,81,82,83,84,85, + 86,87,88,89,90,91,0,1,2,3, + 4,5,6,7,8,9,10,11,12,13, + 14,15,16,17,18,19,20,21,22,23, + 24,25,26,27,28,29,30,31,32,33, + 34,35,36,37,38,39,40,41,42,43, + 44,45,46,47,48,49,50,51,52,53, + 54,55,56,57,58,59,60,0,0,63, + 64,65,66,67,0,69,70,0,72,73, + 104,75,0,0,78,11,12,81,82,83, + 84,85,86,87,88,89,90,91,0,1, + 2,3,4,5,6,7,8,9,10,11, + 12,13,14,15,16,17,18,19,20,21, + 22,23,24,25,26,27,28,29,30,31, + 32,33,34,35,36,37,38,39,40,41, + 42,43,44,45,46,47,48,49,50,51, + 52,53,54,55,56,57,58,59,60,76, + 0,63,64,65,66,67,0,69,70,3, + 72,73,105,75,0,0,78,95,4,81, + 82,83,84,85,86,87,88,89,90,91, 0,1,2,3,4,5,6,7,8,9, 10,11,12,13,14,15,16,17,18,19, 20,21,22,23,24,25,26,27,28,29, 30,31,32,33,34,35,36,37,38,39, 40,41,42,43,44,45,46,47,48,49, - 50,51,52,53,54,55,56,57,58,0, - 0,61,62,63,64,65,66,67,0,0, - 70,71,0,91,92,75,0,0,78,79, - 80,81,82,83,84,85,86,87,88,89, + 50,51,52,53,54,55,56,57,58,59, + 60,76,0,63,64,65,66,67,0,69, + 70,3,72,73,104,75,0,0,78,0, + 4,81,82,83,84,85,86,87,88,89, + 90,91,0,1,2,3,4,5,6,7, + 8,9,10,11,12,13,14,15,16,17, + 18,19,20,21,22,23,24,25,26,27, + 28,29,30,31,32,33,34,35,36,37, + 38,39,40,41,42,43,44,45,46,47, + 48,49,50,51,52,53,54,55,56,57, + 58,59,60,76,0,63,64,65,66,67, + 0,69,70,3,72,73,12,75,106,0, + 78,0,0,81,82,83,84,85,86,87, + 88,89,90,91,0,1,2,3,4,5, + 6,7,8,9,10,11,12,13,14,15, + 16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,30,31,32,33,34,35, + 36,37,38,39,40,41,42,43,44,45, + 46,47,48,49,50,51,52,53,54,55, + 56,57,58,59,60,76,74,63,64,65, + 66,67,0,69,70,3,72,73,0,75, + 0,0,78,3,0,81,82,83,84,85, + 86,87,88,89,90,91,0,1,2,3, + 4,5,6,7,8,9,10,11,12,13, + 14,15,16,17,18,19,20,21,22,23, + 24,25,26,27,28,29,30,31,32,33, + 34,35,36,37,38,39,40,41,42,43, + 44,45,46,47,48,49,50,51,52,53, + 54,55,56,57,58,59,60,0,77,63, + 64,65,66,67,0,69,70,3,72,73, + 0,75,0,0,78,0,4,81,82,83, + 84,85,86,87,88,89,90,91,0,1, + 2,3,4,5,6,7,8,9,10,11, + 12,13,14,15,16,17,18,19,20,21, + 22,23,24,25,26,27,28,29,30,31, + 32,33,34,35,36,37,38,39,40,41, + 42,43,44,45,46,47,48,49,50,51, + 52,53,54,55,56,57,58,59,60,76, + 0,63,64,65,66,67,0,69,70,3, + 72,73,105,75,0,0,78,3,0,81, + 82,83,84,85,86,87,88,89,90,91, 0,1,2,3,4,5,6,7,8,9, 10,11,12,13,14,15,16,17,18,19, 20,21,22,23,24,25,26,27,28,29, 30,31,32,33,34,35,36,37,38,39, 40,41,42,43,44,45,46,47,48,49, - 50,51,52,53,54,55,56,57,58,73, - 73,61,62,63,64,65,66,67,0,0, - 70,71,0,91,92,75,0,0,78,79, - 80,81,82,83,84,85,86,87,88,89, + 50,51,52,53,54,55,56,57,58,59, + 60,76,74,63,64,65,66,67,0,69, + 70,3,72,73,0,75,0,0,78,0, + 4,81,82,83,84,85,86,87,88,89, + 90,91,0,1,2,3,4,5,6,7, + 8,9,10,11,12,13,14,15,16,17, + 18,19,20,21,22,23,24,25,26,27, + 28,29,30,31,32,33,34,35,36,37, + 38,39,40,41,42,43,44,45,46,47, + 48,49,50,51,52,53,54,55,56,57, + 58,59,60,76,0,63,64,65,66,67, + 0,69,70,0,72,73,3,75,0,95, + 78,11,0,81,82,83,84,85,86,87, + 88,89,90,91,0,1,2,3,4,5, + 6,7,8,9,10,11,12,13,14,15, + 16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,30,31,32,33,34,35, + 36,37,38,39,40,41,42,43,44,45, + 46,47,48,49,50,51,52,53,54,55, + 56,57,58,59,60,77,74,63,64,65, + 66,67,0,69,70,0,72,73,0,75, + 0,0,78,3,0,81,82,83,84,85, + 86,87,88,89,90,91,0,1,2,3, + 4,5,6,7,8,9,10,11,12,28, + 29,0,1,2,0,4,5,6,7,5, + 6,7,11,12,28,29,30,31,32,33, + 34,35,36,37,38,39,40,41,42,61, + 44,45,28,29,30,31,32,33,34,35, + 36,37,38,39,79,0,1,2,62,4, + 5,6,7,79,68,0,0,71,96,97, + 74,75,76,77,78,79,80,0,0,1, + 2,3,4,5,6,7,8,9,10,93, + 94,95,96,97,98,99,100,101,102,103, + 104,105,106,107,0,40,41,111,112,113, + 114,115,116,117,118,119,120,121,122,123, + 42,125,126,0,1,2,3,4,5,6, + 7,8,9,10,11,12,0,60,0,1, + 2,0,4,5,6,7,5,6,7,11, + 12,28,29,30,31,32,33,34,35,36, + 37,38,39,40,41,42,62,44,45,28, + 29,30,31,32,33,34,35,36,37,38, + 39,77,0,1,2,62,4,5,6,7, + 0,68,0,3,71,3,0,74,75,76, + 77,78,79,80,0,1,2,3,4,5, + 6,7,8,9,78,0,93,94,95,96, + 97,98,99,100,101,102,103,104,105,106, + 107,0,1,2,111,112,113,114,115,116, + 117,118,119,120,121,122,123,0,125,126, 0,1,2,3,4,5,6,7,8,9, - 10,11,12,13,14,15,16,17,18,19, + 68,11,12,13,14,15,16,17,18,19, 20,21,22,23,24,25,26,27,28,29, 30,31,32,33,34,35,36,37,38,39, - 40,41,42,43,44,45,46,47,48,49, - 50,51,52,53,54,55,56,57,58,0, - 73,61,62,63,64,65,66,67,0,10, - 70,71,0,91,92,75,4,0,78,79, - 80,81,82,83,84,85,86,87,88,89, - 0,1,2,3,4,5,6,7,8,9, - 28,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,28,29, - 30,0,32,33,34,35,36,37,38,39, - 40,41,42,43,44,45,46,47,48,49, - 50,51,52,53,54,55,56,57,58,72, - 0,61,62,63,64,0,1,2,3,4, - 5,6,7,8,9,10,11,12,13,14, - 15,16,17,18,19,20,21,22,23,24, - 121,60,27,28,29,0,31,0,0,34, - 35,36,37,38,39,40,41,42,10,0, - 0,1,2,0,5,6,7,4,8,9, - 25,26,0,58,59,0,61,62,63,31, - 65,66,67,0,1,2,27,28,29,74, - 0,8,77,34,35,36,37,38,39,40, - 41,42,0,1,2,90,0,1,2,3, - 4,5,6,7,8,9,0,11,12,3, - 72,106,107,108,0,1,2,3,4,5, - 6,7,8,9,10,11,12,13,14,15, - 16,17,18,19,20,21,22,23,24,102, - 60,27,28,29,79,31,0,0,34,35, - 36,37,38,39,40,41,42,0,1,2, - 3,4,5,6,7,8,9,0,11,12, - 74,0,58,59,68,61,62,63,0,65, - 66,67,4,5,6,7,124,0,74,11, - 12,77,0,0,1,2,3,4,11,12, - 0,8,9,3,90,5,6,7,0,0, - 10,11,12,5,6,7,0,1,2,73, - 106,107,108,0,8,25,26,60,5,6, - 7,31,32,33,0,27,28,29,91,92, - 73,0,34,35,36,37,38,39,40,41, - 42,0,1,2,0,4,5,6,7,0, - 60,68,11,12,10,98,99,0,68,69, - 3,12,72,73,74,59,76,77,0,1, - 2,3,4,5,6,7,8,9,0,11, - 12,91,92,93,94,95,96,97,98,99, - 100,101,102,103,104,105,0,1,2,109, - 110,111,112,113,114,115,116,117,118,119, - 120,121,0,123,124,3,72,5,6,7, - 0,77,10,11,12,5,6,7,0,1, - 2,0,4,5,6,7,68,25,26,11, - 12,10,0,31,32,33,0,27,28,29, - 4,5,6,7,34,35,36,37,38,39, - 40,41,42,0,1,2,0,4,5,6, - 7,0,60,0,11,12,3,11,100,101, - 68,69,11,0,72,73,74,4,76,77, - 0,1,2,3,4,5,6,7,8,9, - 69,11,12,91,92,93,94,95,96,97, - 98,99,100,101,102,103,104,105,0,1, - 2,109,110,111,112,113,114,115,116,117, - 118,119,120,121,0,123,124,0,1,2, + 40,41,61,43,44,45,46,47,48,49, + 50,51,52,53,54,55,56,57,58,59, + 60,96,97,63,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,96,97,27,28,29,0,31,0, - 0,34,35,36,37,38,39,40,41,42, - 13,0,12,0,1,2,5,6,7,0, - 0,1,2,4,60,58,59,0,61,62, - 63,0,65,66,67,4,0,0,27,28, - 29,5,6,7,77,34,35,36,37,38, - 39,40,41,42,0,58,59,90,0,1, + 23,24,25,26,27,28,29,30,31,32, + 33,34,35,36,37,38,39,0,1,42, + 0,1,2,3,4,5,6,7,8,9, + 0,11,12,126,4,0,0,60,61,3, + 63,64,65,0,67,28,69,70,5,6, + 7,0,1,2,77,4,0,80,0,1, + 2,3,4,5,6,7,8,9,0,92, + 0,28,29,30,31,32,33,34,35,36, + 37,38,39,0,0,108,109,110,0,1, 2,3,4,5,6,7,8,9,10,11, 12,13,14,15,16,17,18,19,20,21, - 22,23,24,70,71,27,28,29,0,31, - 70,71,34,35,36,37,38,39,40,41, - 42,0,103,76,0,0,1,2,3,4, - 5,6,7,8,9,11,58,59,60,61, - 62,63,0,65,66,67,0,1,2,3, - 4,0,105,0,8,9,10,110,111,112, - 113,114,115,116,117,118,119,120,90,0, + 22,23,24,25,26,27,28,29,30,31, + 32,33,34,35,36,37,38,39,93,94, + 42,0,1,2,3,4,5,6,7,8, + 9,0,11,12,61,0,0,77,60,61, + 0,63,64,65,0,67,11,69,70,5, + 6,7,0,1,2,77,4,0,80,0, + 1,2,3,4,5,6,7,8,9,29, + 92,0,28,29,30,31,32,33,34,35, + 36,37,38,39,0,1,108,109,110,0, 1,2,3,4,5,6,7,8,9,10, 11,12,13,14,15,16,17,18,19,20, - 21,22,23,24,0,0,27,28,29,74, - 31,93,60,34,35,36,37,38,39,40, - 41,42,0,60,68,69,0,0,72,73, - 96,97,76,0,103,0,3,58,59,4, - 61,62,63,10,65,66,67,25,26,93, - 0,25,26,0,0,1,77,30,0,1, - 2,3,4,10,10,60,8,9,10,90, - 0,1,2,3,4,5,6,7,8,9, - 10,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,60,0,27,28,29, - 0,31,69,0,34,35,36,37,38,39, - 40,41,42,0,1,2,3,4,5,6, - 7,8,9,69,11,12,68,69,58,59, - 77,61,62,63,0,65,66,67,0,1, - 2,0,4,5,6,7,0,77,0,1, - 2,3,4,5,6,7,8,9,0,59, - 90,0,1,2,3,4,5,6,7,8, - 9,10,11,12,13,14,15,16,17,18, - 19,20,21,22,23,24,0,74,27,28, - 29,0,31,0,60,34,35,36,37,38, - 39,40,41,42,0,1,2,3,4,5, - 6,7,8,9,68,11,12,0,60,58, - 59,4,61,62,63,0,65,66,67,0, - 1,2,74,4,5,6,7,0,77,10, - 11,12,0,1,2,28,4,5,6,7, - 13,90,0,1,2,3,4,5,6,7, + 21,22,23,24,25,26,27,28,29,30, + 31,32,33,34,35,36,37,38,39,93, + 94,42,61,98,99,0,77,0,1,2, + 3,4,5,6,7,8,9,0,13,60, + 61,0,63,64,65,0,67,10,69,70, + 0,1,2,3,4,5,6,7,0,80, + 0,11,12,0,1,2,8,4,5,6, + 7,92,0,1,2,3,4,5,6,7, 8,9,10,11,12,13,14,15,16,17, - 18,19,20,21,22,23,24,0,74,27, - 28,29,0,31,93,60,34,35,36,37, - 38,39,40,41,42,58,59,104,69,0, - 1,2,3,4,5,6,7,8,9,10, - 58,59,0,61,62,63,0,65,66,67, - 4,0,93,106,107,108,5,6,7,0, - 31,0,1,2,3,4,5,6,7,8, - 9,59,90,0,1,2,3,4,5,6, - 7,8,9,10,11,12,13,14,15,16, - 17,18,19,20,21,22,23,24,0,0, - 27,28,29,4,31,0,60,34,35,36, - 37,38,39,40,41,42,0,1,2,3, - 4,5,6,7,8,9,0,0,0,3, - 0,58,59,0,61,62,63,10,65,66, - 67,0,1,2,3,4,5,6,7,0, - 1,2,11,12,5,6,7,59,32,33, - 11,102,0,90,0,1,2,3,4,5, + 18,19,20,21,22,23,24,25,26,27, + 28,29,30,31,32,33,34,35,36,37, + 38,39,75,68,42,0,0,76,68,0, + 5,6,7,0,61,0,10,4,5,6, + 7,0,60,61,62,63,64,65,0,67, + 0,69,70,28,29,30,31,32,33,34, + 35,36,37,38,39,0,1,2,0,4, + 5,6,7,0,92,0,1,2,3,4, + 5,6,7,8,9,10,11,12,13,14, + 15,16,17,18,19,20,21,22,23,24, + 25,26,27,28,29,30,31,32,33,34, + 35,36,37,38,39,74,68,42,0,1, + 2,0,4,5,6,7,61,0,0,11, + 12,0,5,6,7,60,61,0,63,64, + 65,10,67,0,69,70,0,1,2,123, + 4,5,6,7,81,80,10,11,12,0, + 0,0,1,2,5,6,7,92,0,1, + 2,3,4,5,6,7,8,9,10,11, + 12,13,14,15,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,66, + 42,80,4,5,6,7,79,71,0,11, + 12,62,61,5,6,7,0,0,60,61, + 3,63,64,65,0,67,0,69,70,0, + 0,95,0,0,107,11,10,0,80,112, + 113,114,115,116,117,118,119,120,121,122, + 92,0,1,2,3,4,5,6,7,8, + 9,10,11,12,13,14,15,16,17,18, + 19,20,21,22,23,24,25,26,27,28, + 29,30,31,32,33,34,35,36,37,38, + 39,62,0,42,0,1,2,3,4,0, + 1,2,8,9,10,76,80,8,9,93, + 94,60,61,0,63,64,65,0,67,0, + 69,70,98,99,0,1,2,3,4,100, + 101,80,8,9,10,0,42,107,0,1, + 2,0,112,92,0,1,2,3,4,5, 6,7,8,9,10,11,12,13,14,15, - 16,17,18,19,20,21,22,23,24,0, - 74,27,28,29,68,31,69,0,34,35, - 36,37,38,39,40,41,42,10,59,68, - 0,1,2,3,4,5,6,7,8,9, - 93,0,58,59,0,61,62,63,31,65, - 66,67,0,1,2,109,4,0,105,0, - 8,9,3,110,0,1,2,3,4,123, - 13,0,8,9,90,11,12,13,14,15, 16,17,18,19,20,21,22,23,24,25, - 26,0,1,2,30,4,32,33,0,8, - 9,30,0,5,6,7,0,43,44,45, - 46,47,48,49,50,51,52,53,54,55, - 56,57,65,0,1,2,3,4,64,0, - 66,8,9,0,70,71,0,1,2,3, - 4,100,101,10,8,9,0,11,12,13, + 26,27,28,29,30,31,32,33,34,35, + 36,37,38,39,0,0,42,68,0,4, + 0,74,68,76,4,71,0,62,74,61, + 76,0,1,79,60,61,0,63,64,65, + 0,67,11,69,70,30,0,1,2,95, + 30,0,0,1,2,3,4,5,6,7, + 8,9,0,11,12,0,92,0,1,2, + 3,4,5,6,7,8,9,10,11,12, + 13,14,15,16,17,18,19,20,21,22, + 23,24,25,26,27,28,29,30,31,32, + 33,34,35,36,37,38,39,93,94,42, + 0,1,2,62,4,5,6,7,72,73, + 0,11,12,108,109,110,0,60,61,77, + 63,64,65,68,67,95,69,70,0,1, + 2,3,4,5,6,7,8,9,0,11, + 12,0,0,5,6,7,0,1,2,92, + 0,1,2,3,4,5,6,7,8,9, + 10,11,12,13,14,15,16,17,18,19, + 20,21,22,23,24,25,26,27,28,29, + 30,31,32,33,34,35,36,37,38,39, + 0,0,42,0,1,2,68,0,1,2, + 3,4,5,6,7,8,9,61,11,12, + 60,61,0,63,64,65,0,67,77,69, + 70,0,0,1,2,3,4,5,6,7, + 8,9,0,1,2,3,4,0,96,97, + 8,9,92,11,12,13,14,15,16,17, + 18,19,20,21,22,23,24,25,26,27, + 0,1,2,3,4,72,73,77,8,9, + 79,0,40,41,77,43,44,45,46,47, + 48,49,50,51,52,53,54,55,56,57, + 58,59,0,1,2,0,1,2,66,77, + 0,69,10,3,72,73,0,1,2,3, + 4,0,1,2,8,9,0,11,12,13, 14,15,16,17,18,19,20,21,22,23, - 24,25,26,0,1,2,30,0,32,33, - 0,8,9,3,0,1,74,0,72,43, + 24,25,26,27,0,1,2,3,4,102, + 103,0,8,9,44,45,40,41,127,43, 44,45,46,47,48,49,50,51,52,53, - 54,55,56,57,0,1,2,3,4,0, - 64,27,8,9,58,0,70,71,75,73, - 0,1,2,3,4,0,1,2,8,9, - 10,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,60,68,0, - 30,0,32,33,5,6,7,0,0,10, - 73,10,0,43,44,45,46,47,48,49, - 50,51,52,53,54,55,56,57,0,0, - 31,0,31,68,64,98,99,0,10,10, - 0,1,2,3,4,75,0,77,8,9, - 13,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,0,1,2, - 30,72,32,33,0,1,2,10,4,5, - 6,7,74,43,44,45,46,47,48,49, - 50,51,52,53,54,55,56,57,69,68, - 93,72,0,75,64,0,1,2,3,4, - 70,71,0,8,9,3,11,12,13,14, - 15,16,17,18,19,20,21,22,23,24, - 25,26,0,59,0,30,0,32,33,0, - 1,2,75,4,5,6,7,11,43,44, - 45,46,47,48,49,50,51,52,53,54, - 55,56,57,0,1,2,0,1,0,64, - 0,1,2,3,4,70,71,11,8,9, - 0,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,0,59,0, - 30,0,32,33,3,0,1,2,106,107, - 108,10,78,43,44,45,46,47,48,49, - 50,51,52,53,54,55,56,57,60,30, - 0,0,96,97,64,0,1,2,3,4, - 70,71,0,8,9,10,11,12,13,14, - 15,16,17,18,19,20,21,22,23,24, - 25,26,0,1,59,30,0,32,33,68, - 69,0,10,72,73,0,1,2,43,44, - 45,46,47,48,49,50,51,52,53,54, - 55,56,57,0,1,2,3,4,27,64, - 29,8,9,0,1,2,3,4,0,0, - 75,8,9,10,11,12,13,14,15,16, + 54,55,56,57,58,59,0,75,68,0, + 0,0,66,102,103,5,6,7,72,73, + 10,0,76,0,1,2,3,4,0,1, + 2,8,9,10,11,12,13,14,15,16, 17,18,19,20,21,22,23,24,25,26, - 0,69,0,30,59,32,33,5,6,7, - 10,0,0,0,3,3,43,44,45,46, + 27,111,42,0,1,2,3,4,0,0, + 79,8,9,40,41,125,43,44,45,46, 47,48,49,50,51,52,53,54,55,56, - 57,31,0,0,122,3,0,64,60,3, - 0,0,1,2,3,4,10,68,75,8, - 9,10,11,12,13,14,15,16,17,18, - 19,20,21,22,23,24,25,26,0,1, - 2,30,4,32,33,0,8,9,0,0, - 5,6,7,0,43,44,45,46,47,48, - 49,50,51,52,53,54,55,56,57,0, - 1,2,3,4,68,69,0,8,9,3, - 11,12,13,14,15,16,17,18,19,20, - 21,22,23,24,25,26,0,59,0,30, - 0,32,33,3,0,60,0,1,2,0, - 1,2,43,44,45,46,47,48,49,50, - 51,52,53,54,55,56,57,0,1,2, - 3,4,121,64,0,8,9,3,11,12, + 57,58,59,62,74,0,0,0,0,66, + 5,6,7,0,1,2,3,4,75,93, + 94,8,9,80,11,12,13,14,15,16, + 17,18,19,20,21,22,23,24,25,26, + 27,0,1,2,3,4,40,41,0,8, + 9,10,4,40,41,124,43,44,45,46, + 47,48,49,50,51,52,53,54,55,56, + 57,58,59,0,96,97,0,1,2,66, + 0,1,2,3,4,72,73,0,8,9, + 3,11,12,13,14,15,16,17,18,19, + 20,21,22,23,24,25,26,27,0,68, + 62,0,71,5,6,7,108,109,110,0, + 40,41,11,43,44,45,46,47,48,49, + 50,51,52,53,54,55,56,57,58,59, + 0,0,1,2,0,0,66,0,1,2, + 3,4,72,73,10,8,9,0,11,12, 13,14,15,16,17,18,19,20,21,22, - 23,24,25,26,0,1,2,30,4,32, - 33,0,8,9,3,59,0,0,59,3, + 23,24,25,26,27,0,1,2,3,4, + 40,41,0,8,9,3,42,40,41,0, 43,44,45,46,47,48,49,50,51,52, - 53,54,55,56,57,0,1,2,3,4, - 0,0,0,8,9,68,11,12,13,14, - 15,16,17,18,19,20,21,22,23,24, - 25,26,0,59,0,30,0,32,33,0, - 0,0,1,2,10,0,10,60,43,44, - 45,46,47,48,49,50,51,52,53,54, - 55,56,57,0,0,31,3,0,4,64, - 3,8,60,0,11,12,0,1,2,3, - 4,0,1,2,8,9,10,76,25,26, - 0,1,2,0,0,32,33,0,1,2, - 59,4,5,6,7,60,43,31,11,12, - 0,1,2,77,0,76,76,0,73,5, - 6,7,0,60,60,0,0,0,3,3, - 3,68,10,70,71,72,73,64,0,76, - 59,0,0,98,99,0,5,6,7,59, - 5,6,7,60,91,92,0,94,0,96, - 97,98,99,100,101,102,103,104,105,59, - 0,0,109,3,111,112,113,114,115,116, - 117,118,119,120,0,1,2,3,4,72, - 0,69,8,9,72,11,12,13,14,15, + 53,54,55,56,57,58,59,62,0,98, + 99,0,0,66,0,1,2,3,4,72, + 73,10,8,9,10,11,12,13,14,15, 16,17,18,19,20,21,22,23,24,25, - 26,0,0,0,30,0,32,33,5,6, - 7,10,10,0,68,10,68,43,44,45, + 26,27,0,68,0,3,0,3,0,3, + 68,62,10,42,40,41,10,43,44,45, 46,47,48,49,50,51,52,53,54,55, - 56,57,0,1,2,3,4,76,0,0, - 8,9,29,11,12,13,14,15,16,17, - 18,19,20,21,22,23,24,25,26,0, - 0,0,30,0,32,33,5,6,7,10, - 69,69,0,72,69,43,44,45,46,47, + 56,57,58,59,0,1,2,0,0,0, + 66,3,0,1,2,3,4,10,10,75, + 8,9,10,11,12,13,14,15,16,17, + 18,19,20,21,22,23,24,25,26,27, + 68,0,1,71,68,0,74,71,76,42, + 0,10,40,41,0,43,44,45,46,47, 48,49,50,51,52,53,54,55,56,57, - 0,1,2,3,4,0,0,0,8,9, - 3,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,0,0,0, - 30,0,32,33,5,6,7,10,69,0, - 0,0,72,43,44,45,46,47,48,49, - 50,51,52,53,54,55,56,57,0,1, - 2,3,4,0,0,0,8,9,0,11, + 58,59,0,28,29,0,0,68,66,71, + 0,1,2,3,4,10,10,75,8,9, + 10,11,12,13,14,15,16,17,18,19, + 20,21,22,23,24,25,26,27,0,1, + 2,0,71,5,6,7,0,1,2,11, + 40,41,68,43,44,45,46,47,48,49, + 50,51,52,53,54,55,56,57,58,59, + 0,1,2,3,4,0,71,71,8,9, + 74,11,12,13,14,15,16,17,18,19, + 20,21,22,23,24,25,26,27,0,61, + 0,1,2,62,4,0,0,61,8,9, + 40,41,0,43,44,45,46,47,48,49, + 50,51,52,53,54,55,56,57,58,59, + 0,1,2,123,0,0,66,0,1,2, + 3,4,0,1,2,8,9,0,11,12, + 13,14,15,16,17,18,19,20,21,22, + 23,24,25,26,27,0,1,2,62,4, + 0,1,2,8,9,0,0,40,41,4, + 43,44,45,46,47,48,49,50,51,52, + 53,54,55,56,57,58,59,62,0,1, + 2,3,4,61,0,68,8,9,74,11, 12,13,14,15,16,17,18,19,20,21, - 22,23,24,25,26,0,0,0,30,0, - 32,33,5,6,7,10,69,0,0,0, - 72,43,44,45,46,47,48,49,50,51, - 52,53,54,55,56,57,0,1,2,0, - 4,5,6,7,0,0,0,3,3,13, - 14,15,16,17,18,19,20,21,22,23, - 24,76,74,27,28,29,0,0,0,3, - 34,35,36,37,38,39,40,41,42,0, - 74,72,77,0,0,0,0,3,0,3, - 72,3,0,76,58,76,0,61,62,63, - 0,1,2,0,4,5,6,7,0,30, - 0,3,0,13,14,15,16,17,18,19, - 20,21,22,23,24,0,0,27,28,29, - 0,0,0,3,34,35,36,37,38,39, - 40,41,42,0,1,2,3,4,5,6, - 7,8,9,10,11,12,0,74,58,74, - 0,61,62,63,0,0,74,3,122,0, - 27,28,29,0,31,0,0,34,35,36, - 37,38,39,40,41,42,0,1,2,3, - 4,5,6,7,8,9,10,11,12,30, - 0,76,76,60,0,0,0,76,0,0, - 0,68,69,27,28,29,10,31,122,0, - 34,35,36,37,38,39,40,41,42,0, - 0,0,0,60,5,6,7,125,0,0, - 0,0,0,14,15,16,17,18,19,20, - 21,22,23,24,68,69,27,28,29,0, - 0,0,0,34,35,36,37,38,39,40, - 41,42,0,0,0,69,0,0,0,0, - 74,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, + 22,23,24,25,26,27,61,0,1,2, + 0,4,0,1,2,8,9,62,40,41, + 8,43,44,45,46,47,48,49,50,51, + 52,53,54,55,56,57,58,59,0,1, + 2,3,4,0,66,0,8,9,3,11, + 12,13,14,15,16,17,18,19,20,21, + 22,23,24,25,26,27,0,1,61,0, + 1,2,62,61,0,0,10,8,40,41, + 124,43,44,45,46,47,48,49,50,51, + 52,53,54,55,56,57,58,59,0,1, + 2,3,4,0,1,2,8,9,124,11, + 12,13,14,15,16,17,18,19,20,21, + 22,23,24,25,26,27,0,1,2,0, + 4,0,1,2,8,9,62,71,40,41, + 0,43,44,45,46,47,48,49,50,51, + 52,53,54,55,56,57,58,59,0,1, + 2,3,4,0,61,0,8,9,3,11, + 12,13,14,15,16,17,18,19,20,21, + 22,23,24,25,26,27,0,1,2,0, + 0,62,61,4,8,9,0,0,40,41, + 3,43,44,45,46,47,48,49,50,51, + 52,53,54,55,56,57,58,59,0,1, + 2,3,4,0,0,62,8,9,0,11, + 12,13,14,15,16,17,18,19,20,21, + 22,23,24,25,26,27,0,0,0,0, + 0,62,5,6,7,0,10,0,40,41, + 10,43,44,45,46,47,48,49,50,51, + 52,53,54,55,56,57,58,59,0,0, + 0,3,0,0,0,0,8,0,0,11, + 12,43,10,5,6,7,13,0,1,2, + 3,4,5,6,7,8,9,10,11,12, + 0,62,0,0,0,3,3,71,40,41, + 10,71,44,45,46,28,29,30,31,32, + 33,34,35,36,37,38,39,0,0,42, + 62,95,62,60,61,0,68,68,10,62, + 72,73,74,71,76,0,74,79,13,62, + 5,6,7,76,79,68,0,0,71,3, + 3,93,94,0,96,0,98,99,100,101, + 102,103,104,105,106,107,0,100,101,111, + 80,113,114,115,116,117,118,119,120,121, + 122,0,1,2,0,4,5,6,7,5, + 6,7,67,75,13,14,15,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,0,11,12,0,0,5,6,7,0, + 74,60,76,0,63,64,65,0,1,2, + 0,4,5,6,7,5,6,7,0,0, + 13,14,15,16,17,18,19,20,21,22, + 23,24,25,26,27,28,29,30,31,32, + 33,34,35,36,37,38,39,0,0,0, + 0,3,5,6,7,0,0,0,77,0, + 0,43,43,0,5,6,7,60,74,74, + 63,64,65,14,15,16,17,18,19,20, + 21,22,23,24,25,26,0,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,0,0,0,1,2,3,4,5, + 6,7,8,9,10,11,12,28,29,30, + 31,32,33,34,35,36,37,38,39,79, + 77,42,28,29,30,31,32,33,34,35, + 36,37,38,39,0,0,42,0,0,0, + 0,0,0,0,10,10,0,68,0,10, + 71,13,10,10,62,0,10,0,10,0, + 0,0,68,0,0,71,0,10,76,0, + 0,0,79,0,0,0,42,0,0,0, + 43,0,0,0,0,0,0,0,42,0, + 0,0,100,101,0,0,0,0,60,61, + 0,0,0,0,43,0,71,0,74,0, + 71,0,77,74,71,0,74,77,77,71, + 0,0,80,0,0,0,0,0,71,0, + 0,0,0,0,79,0,0,0,79,79, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,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 char termCheck[] = TermCheck.termCheck; @@ -1670,384 +1716,402 @@ public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface TermAction { public final static char termAction[] = {0, - 6367,6332,6190,6190,6190,6271,6190,6190,6190,6190, - 6348,6190,6190,1,1,1,1,1,1,1, + 6660,6625,6462,6462,6462,6564,6462,6462,6462,6462, + 6641,6462,6462,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,6629,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,135,1,1,1,1,2112,6660,6833, + 1925,3236,1,1,307,6671,6660,715,1530,1500, + 6667,3432,3241,2533,2973,3355,3619,3426,1829,3421, + 3447,3418,10,6644,6644,6644,6644,6644,6644,6644, + 6644,6644,6644,6644,6644,6644,6644,6644,6644,6644, + 6644,6644,6644,6644,6644,6644,6644,6644,6644,6644, + 6644,6644,6644,6644,6644,6644,6644,6644,6644,6644, + 6644,6644,6644,6644,6644,6644,6644,6644,6644,6644, + 6644,6644,6644,6644,6644,6644,6644,6644,6644,6644, + 6644,6644,6644,1185,129,6644,6644,6644,6644,6644, + 89,6644,6644,5914,6644,6644,3032,6644,2850,380, + 6644,155,6644,6644,6644,6644,6644,6644,6644,6644, + 6644,6644,6644,6644,8,6647,6647,6647,6647,6647, + 6647,6647,6647,6647,6647,6647,6647,6647,6647,6647, + 6647,6647,6647,6647,6647,6647,6647,6647,6647,6647, + 6647,6647,6647,6647,6647,6647,6647,6647,6647,6647, + 6647,6647,6647,6647,6647,6647,6647,6647,6647,6647, + 6647,6647,6647,6647,6647,6647,6647,6647,6647,6647, + 6647,6647,6647,6647,6647,1599,131,6647,6647,6647, + 6647,6647,6660,6647,6647,1423,6647,6647,6660,6647, + 6660,1235,6647,2705,6647,6647,6647,6647,6647,6647, + 6647,6647,6647,6647,6647,6647,6660,6625,6462,6462, + 6462,6564,6462,6462,6462,6462,6632,6462,6462,1, 1,1,1,1,1,1,1,1,1,1, - 1,6336,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,6629,1, 1,1,1,1,1,1,1,1,1,1, - 6367,1,1,1,1,2204,6540,2526,1450,381, - 1,1,6367,5858,5855,6378,6405,6374,591,3564, - 3090,2437,3063,3469,3657,3537,1275,3516,3434,3515, - 10,6351,6351,6351,6351,6351,6351,6351,6351,6351, - 6351,6351,6351,6351,6351,6351,6351,6351,6351,6351, - 6351,6351,6351,6351,6351,6351,6351,6351,6351,6351, - 6351,6351,6351,6351,6351,6351,6351,6351,6351,6351, - 6351,6351,6351,6351,6351,6351,6351,6351,6351,6351, - 6351,6351,6351,6351,6351,6351,6351,6351,6351,6367, - 135,6351,6351,6351,6351,6351,6351,6351,109,6367, - 6351,6351,6367,5858,5855,6351,6405,6351,6351,6351, - 6351,6351,6351,6351,6351,6351,6351,6351,6351,6351, - 8,6354,6354,6354,6354,6354,6354,6354,6354,6354, - 6354,6354,6354,6354,6354,6354,6354,6354,6354,6354, - 6354,6354,6354,6354,6354,6354,6354,6354,6354,6354, - 6354,6354,6354,6354,6354,6354,6354,6354,6354,6354, - 6354,6354,6354,6354,6354,6354,6354,6354,6354,6354, - 6354,6354,6354,6354,6354,6354,6354,6354,6354,6367, - 3656,6354,6354,6354,6354,6354,6354,6354,6367,112, - 6354,6354,4917,4939,2664,6354,6367,6354,6354,6354, - 6354,6354,6354,6354,6354,6354,6354,6354,6354,6354, - 6367,6332,6190,6190,6190,6271,6190,6190,6190,6190, - 6339,6190,6190,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,133,6660,1, + 1,1,1,2112,6660,6833,1925,6660,1,1, + 2991,6671,354,6660,1530,2646,6985,3432,3241,2533, + 2973,3355,3619,3426,1829,3421,3447,3418,6660,6625, + 6462,6462,6462,6564,6462,6462,6462,6462,6632,6462, + 6462,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,6336,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,2662, - 6367,1,1,1,1,2204,6540,2526,6367,6367, - 1,1,119,4917,4939,6378,6367,6367,591,3564, - 3090,2437,3063,3469,3657,3537,1275,3516,3434,3515, - 6367,6332,6190,6190,6190,6271,6190,6190,6190,6190, - 6339,6190,6190,1,1,1,1,1,1,1, + 6629,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,2564, + 132,1,1,1,1,2112,234,6833,1925,6383, + 1,1,2888,6671,39,6660,1530,7013,6698,3432, + 3241,2533,2973,3355,3619,3426,1829,3421,3447,3418, + 6660,6625,6462,6462,6462,6564,6462,6462,6462,6462, + 6632,6462,6462,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,6336,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,2640, - 5189,1,1,1,1,2204,6540,2526,6367,6367, - 1,1,111,4034,4174,6378,6367,6367,591,3564, - 3090,2437,3063,3469,3657,3537,1275,3516,3434,3515, - 6367,6332,6190,6190,6190,6271,6190,6190,6190,6190, - 6339,6190,6190,1,1,1,1,1,1,1, + 1,1,6629,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,6336,1,1,1,1,1,1,1,1, + 1,2569,136,1,1,1,1,2112,1,6833, + 1925,5779,1,1,2991,6671,6660,6660,1530,6660, + 1380,3432,3241,2533,2973,3355,3619,3426,1829,3421, + 3447,3418,6660,6625,6462,6462,6462,6564,6462,6462, + 6462,6462,6632,6462,6462,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,2640, - 3713,1,1,1,1,2204,6540,2526,6367,6367, - 1,1,6367,6381,6382,6378,4917,4939,591,3564, - 3090,2437,3063,3469,3657,3537,1275,3516,3434,3515, - 6367,6332,6190,6190,6190,6271,6190,6190,6190,6190, - 6339,6190,6190,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,6336,1,1,1,1,1,1,1,1, + 1,1,1,1,6629,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,6367, - 6367,1,1,1,1,2204,6540,2526,6367,6367, - 1,1,6367,6105,6102,6378,6367,155,591,3564, - 3090,2437,3063,3469,3657,3537,1275,3516,3434,3515, - 6367,6332,6190,6190,6190,6271,6190,6190,6190,6190, - 6339,6190,6190,1,1,1,1,1,1,1, + 1,1,1,2596,130,1,1,1,1,2112, + 6660,6833,1925,4411,1,1,3032,6671,2850,6660, + 1530,6660,511,3432,3241,2533,2973,3355,3619,3426, + 1829,3421,3447,3418,6660,6625,6462,6462,6462,6564, + 6462,6462,6462,6462,6632,6462,6462,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,6336,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1550, - 2114,1,1,1,1,2204,6540,2526,110,6367, - 1,1,48,6105,6102,6378,6367,6367,591,3564, - 3090,2437,3063,3469,3657,3537,1275,3516,3434,3515, - 6367,6332,6190,6190,6190,6271,6190,6190,6190,6190, - 6339,6190,6190,1,1,1,1,1,1,1, + 1,1,1,1,1,1,6629,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,6336,1,1,1,1,1,1,1,1, + 1,1,1,1,1,2615,974,1,1,1, + 1,2112,6660,6833,1925,4940,1,1,6660,6671, + 6660,6660,1530,5009,6660,3432,3241,2533,2973,3355, + 3619,3426,1829,3421,3447,3418,6660,6625,6462,6462, + 6462,6564,6462,6462,6462,6462,6632,6462,6462,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,2687, - 2741,1,1,1,1,2204,6540,2526,6367,6367, - 1,1,4917,4939,308,6378,6367,1398,591,3564, - 3090,2437,3063,3469,3657,3537,1275,3516,3434,3515, - 6367,6332,6190,6190,6190,6271,6190,6190,6190,6190, - 6339,6190,6190,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,6336,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,6629,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,2753, - 1140,1,1,1,1,2204,6540,2526,6367,6367, - 1,1,123,6367,6367,6378,2940,1404,591,3564, - 3090,2437,3063,3469,3657,3537,1275,3516,3434,3515, - 6367,6332,6190,6190,6190,6271,6190,6190,6190,6190, - 6339,6190,6190,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,134,2204,1, + 1,1,1,2112,6660,6833,1925,5014,1,1, + 6660,6671,6660,6660,1530,6660,2486,3432,3241,2533, + 2973,3355,3619,3426,1829,3421,3447,3418,6660,6625, + 6462,6462,6462,6564,6462,6462,6462,6462,6632,6462, + 6462,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,6336,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,6367, - 6367,1,1,1,1,2204,6540,2526,6367,6367, - 1,1,122,4034,4174,6378,6367,6367,591,3564, - 3090,2437,3063,3469,3657,3537,1275,3516,3434,3515, - 6367,6332,6190,6190,6190,6271,6190,6190,6190,6190, - 6339,6190,6190,1,1,1,1,1,1,1, + 6629,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,7168, + 6660,1,1,1,1,2112,6660,6833,1925,3150, + 1,1,2888,6671,6660,6660,1530,3151,358,3432, + 3241,2533,2973,3355,3619,3426,1829,3421,3447,3418, + 6660,6625,6462,6462,6462,6564,6462,6462,6462,6462, + 6632,6462,6462,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,6336,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,6876, - 6805,1,1,1,1,2204,6540,2526,6367,6367, - 1,1,121,4034,4174,6378,6367,6367,591,3564, - 3090,2437,3063,3469,3657,3537,1275,3516,3434,3515, - 6367,3492,1,1,1,724,1,1,1,1, - 3505,1,1,1,1,1,1,1,1,1, + 1,1,6629,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,6376,1,1,1,1,1,1,1,1, + 1,7097,2725,1,1,1,1,2112,553,6833, + 1925,2019,1,1,1,6671,6660,6660,1530,6660, + 677,3432,3241,2533,2973,3355,3619,3426,1829,3421, + 3447,3418,6660,6625,6462,6462,6462,6564,6462,6462, + 6462,6462,6632,6462,6462,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,6367, - 6819,1,1,1,1,2204,6540,2526,6367,6371, - 1,1,39,4034,4174,6378,6405,512,591,3564, - 3090,2437,3063,3469,3657,3537,1275,3516,3434,3515, - 39,5858,5855,5639,1387,2118,2090,2110,4709,3720, - 1915,4807,4829,944,6629,6627,6636,6635,6631,6632, - 6630,6633,6634,6637,6628,4772,4739,6701,6625,6702, - 6386,6367,4873,4851,6619,6626,6622,6598,6624,6623, - 6620,6621,6599,2987,948,1023,6388,998,5218,1016, - 6389,6387,922,6383,6384,6385,3664,4593,6762,967, - 6367,3702,6763,6764,1503,6367,6193,6193,227,6186, - 6190,6190,6190,227,227,6197,227,227,1,1, 1,1,1,1,1,1,1,1,1,1, - 6370,3137,1,1,1,116,227,131,6367,1, - 1,1,1,1,1,1,1,1,6377,222, - 38,5876,5873,39,5968,5962,5965,6405,5870,3720, - 4323,4300,6367,1,6183,6367,1,1,1,6376, - 1322,6776,1184,6367,6381,6382,6701,6625,6702,227, - 6367,1450,413,6619,6626,6622,6598,6624,6623,6620, - 6621,6599,394,6381,6382,6864,6367,5946,5942,5252, - 5950,6162,6168,6165,791,3720,344,6262,6262,2232, - 3076,6799,6800,6801,6367,6193,6193,227,6186,6190, - 6190,6190,227,227,6241,227,227,1,1,1, - 1,1,1,1,1,1,1,1,1,2895, - 3398,1,1,1,3722,227,6367,120,1,1, - 1,1,1,1,1,1,1,306,5946,5942, - 5252,5950,6162,6168,6165,791,3720,124,6262,6262, - 2249,6367,1,6183,634,1,1,1,39,1322, - 6776,1184,6405,2118,2090,2110,5854,6367,227,328, - 328,412,6367,1,5946,5942,3322,5950,2521,6693, - 33,791,3720,5897,6864,5897,5897,5897,223,6367, - 5897,5897,5897,5977,5971,5974,37,6177,6177,5005, - 6799,6800,6801,582,6177,5897,5897,3633,2118,2090, - 2110,5897,5897,5897,6367,6701,6625,6702,4034,4174, - 5879,6367,6619,6626,6622,6598,6624,6623,6620,6621, - 6599,441,1,1,6367,1,5882,5882,5882,129, - 5897,634,5882,5882,6375,3571,3533,89,5897,5897, - 5891,3015,5897,5897,5897,1573,5897,5897,342,5858, - 5855,3322,1387,2118,2090,2110,791,3720,127,328, - 328,5897,5897,5897,5897,5897,5897,5897,5897,5897, - 5897,5897,5897,5897,5897,5897,36,6217,6214,5897, - 5897,5897,5897,5897,5897,5897,5897,5897,5897,5897, - 5897,5897,6367,5897,5897,5900,1092,5900,5900,5900, - 224,6374,5900,5900,5900,5998,5992,5995,442,39, - 39,1,6405,6135,6141,6138,634,5900,5900,6144, - 6144,159,6367,5900,5900,5900,392,6701,6625,6702, - 385,2118,2090,2110,6619,6626,6622,6598,6624,6623, - 6620,6621,6599,90,1,1,113,1,6180,6180, - 6180,6367,5900,6367,6180,6180,1827,4649,3273,3240, - 5900,5900,2864,6367,5900,5900,5900,867,5900,5900, - 6367,5946,5942,5252,5950,6162,6168,6165,791,3720, - 159,6278,6278,5900,5900,5900,5900,5900,5900,5900, - 5900,5900,5900,5900,5900,5900,5900,5900,288,6381, - 6382,5900,5900,5900,5900,5900,5900,5900,5900,5900, - 5900,5900,5900,5900,6367,5900,5900,6367,6190,6190, - 227,6190,6271,6190,6190,227,227,6275,227,227, + 1,1,1,1,6629,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,4626,687,1,1,1,1,227,133, - 130,1,1,10613,1,1,1,1,1,1, - 6284,225,3015,6367,6381,6382,6010,6004,6007,6367, - 6367,6105,6102,2630,3858,1,6268,137,1,1, - 1,6367,2184,6576,2526,1592,328,6367,6701,6625, - 6702,2118,2090,2110,218,6619,6626,6622,6598,6624, - 6623,6620,6621,6599,6367,6287,3380,6864,6367,6190, - 6190,227,6190,6271,6190,6190,227,227,227,227, - 227,1,1,1,1,1,1,1,1,1, - 1,1,1,4895,933,1,1,1,355,227, - 4895,933,1,1,10613,1,1,1,1,1, - 1,134,2713,2067,115,1,5946,5942,5252,5950, - 6162,6168,6165,791,3720,4649,1,6268,3145,1, - 1,1,6367,2184,6576,2526,1,5946,5942,3322, - 5950,6367,2549,29,791,3720,364,3860,2020,1973, - 1926,1879,1832,1785,1738,1691,1644,1597,6864,6367, - 6190,6190,227,6190,6271,6190,6190,227,227,6281, - 227,227,1,1,1,1,1,1,1,1, - 1,1,1,1,6367,437,1,1,1,2249, - 227,6721,5731,1,1,10613,1,1,1,1, - 1,1,118,5861,634,364,117,6367,364,364, - 4626,687,1299,6367,2713,393,2280,1,6268,384, - 1,1,1,6373,2184,6576,2526,4323,4300,364, - 6367,4323,4300,6367,6367,2936,217,1921,1,5946, - 5942,3322,5950,6375,6373,5864,791,3720,6108,6864, - 6367,6190,6190,227,6190,6271,6190,6190,227,227, - 6275,227,227,1,1,1,1,1,1,1, - 1,1,1,1,1,955,6367,1,1,1, - 37,227,6372,6367,1,1,10613,1,1,1, - 1,1,1,6367,5946,5942,5252,5950,6162,6168, - 6165,791,3720,6372,6278,6278,634,6111,1,6268, - 6374,1,1,1,451,2184,6576,2526,284,6001, - 6001,6367,281,2118,2090,2110,455,218,328,5858, - 5855,5252,1387,2118,2090,2110,791,3720,29,6403, - 6864,6367,6190,6190,227,6190,6271,6190,6190,227, - 227,6275,227,227,1,1,1,1,1,1, - 1,1,1,1,1,1,6367,2249,1,1, - 1,1,227,136,5867,1,1,10613,1,1, - 1,1,1,1,6367,6308,6308,6308,6308,6308, - 6308,6308,6308,6308,5885,6308,6308,39,955,1, - 6268,6405,1,1,1,384,2184,6576,2526,1, - 6174,6174,421,6171,6162,6168,6165,1,218,360, - 328,328,579,6159,6159,1075,584,2118,2090,2110, - 6284,6864,6367,6190,6190,227,6190,6271,6190,6190, - 227,227,227,227,227,1,1,1,1,1, - 1,1,1,1,1,1,1,6367,6308,1, - 1,1,47,227,6723,5894,1,1,10613,1, - 1,1,1,1,1,6287,3380,2664,360,1, - 5946,5942,5252,5950,6162,6168,6165,791,3720,306, - 1,6268,6367,1,1,1,48,2184,6576,2526, - 6382,392,360,6799,6800,6801,2118,2090,2110,132, - 306,582,5858,5855,5252,1387,2118,2090,2110,791, - 3720,1211,6864,6367,6190,6190,227,6190,6271,6190, - 6190,227,227,227,227,227,1,1,1,1, - 1,1,1,1,1,1,1,1,6367,6367, - 1,1,1,2150,227,6367,6382,1,1,10613, - 1,1,1,1,1,1,1,5946,5942,5252, - 5950,6162,6168,6165,791,3720,74,1,6367,2780, - 6367,1,6268,137,1,1,1,360,2184,6576, - 2526,342,39,39,3062,6405,2118,2090,2110,37, - 6177,6177,328,328,2118,2090,2110,3204,6429,6430, - 328,2895,6367,6864,6367,6190,6190,227,6190,6271, - 6190,6190,227,227,227,227,227,1,1,1, - 1,1,1,1,1,1,1,1,1,6367, - 2249,1,1,1,3452,227,360,402,1,1, - 10613,1,1,1,1,1,1,6226,6403,634, - 1,5946,5942,5252,5950,6162,6168,6165,791,3720, - 360,128,1,6268,6367,1,1,1,6229,2184, - 6576,2526,6367,5858,5855,728,1387,299,2549,6367, - 791,3720,710,3860,6367,1,1,1,1,801, - 6665,6367,1,1,6864,1,1,1,1,1, + 1,1,1,7111,6660,1,1,1,1,2112, + 6660,6833,1925,540,1,1,1242,6671,6660,7015, + 1530,3167,286,3432,3241,2533,2973,3355,3619,3426, + 1829,3421,3447,3418,6660,3388,1,1,1,1267, + 1,1,1,1,3408,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,6367,5858,5855,1,1387,1,1,581,791, - 3720,1809,6367,2118,2090,2110,359,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1863,1,5946,5942,5252,5950,1,6367, - 6953,791,3720,6367,1,1,1,5946,5942,5639, - 5950,3273,3240,6379,4709,3720,6367,4807,4829,5906, - 5933,5939,5912,5915,5927,5924,5930,5921,5918,5909, - 5936,4772,4739,6367,6381,6382,6386,6367,4873,4851, - 315,791,3720,6244,543,6911,6765,126,1039,2987, - 948,1023,6388,998,5218,1016,6389,6387,922,6383, - 6384,6385,3664,4593,1,5946,5942,6232,5950,6367, - 1503,6912,6238,6235,1526,454,39,39,6378,513, - 39,5858,5855,5639,1387,6367,10128,9150,4709,3720, - 6361,4807,4829,618,6629,6627,6636,6635,6631,6632, - 6630,6633,6634,6637,6628,4772,4739,3633,634,6367, - 6386,6367,4873,4851,6317,6325,6321,1,425,6329, - 6129,6377,6367,2987,948,1023,6388,998,5218,1016, - 6389,6387,922,6383,6384,6385,3664,4593,1,6367, - 6329,345,6376,5888,1503,3571,3533,299,6311,6373, - 139,5858,5855,5639,1387,6345,6367,6374,4709,3720, - 6665,4807,4829,618,6629,6627,6636,6635,6631,6632, - 6630,6633,6634,6637,6628,4772,4739,6367,6381,6382, - 6386,6329,4873,4851,391,5989,5989,6379,281,5980, - 5986,5983,1325,2987,948,1023,6388,998,5218,1016, - 6389,6387,922,6383,6384,6385,3664,4593,6372,634, - 3711,1581,436,6378,1503,1,5946,5942,5639,5950, - 39,39,6367,4709,3720,2846,4807,4829,5906,5933, - 5939,5912,5915,5927,5924,5930,5921,5918,5909,5936, - 4772,4739,6367,281,1,6386,114,4873,4851,580, - 6156,6156,6378,584,6147,6153,6150,4649,2987,948, - 1023,6388,998,5218,1016,6389,6387,922,6383,6384, - 6385,3664,4593,6367,10128,9150,6367,3599,6367,1503, - 549,5858,5855,5639,1387,39,39,3706,4709,3720, - 6367,4807,4829,618,6629,6627,6636,6635,6631,6632, - 6630,6633,6634,6637,6628,4772,4739,6367,584,565, - 6386,1,4873,4851,3062,6367,10617,10617,6799,6800, - 6801,338,3125,2987,948,1023,6388,998,5218,1016, - 6389,6387,922,6383,6384,6385,3664,4593,955,3454, - 6367,6367,4626,687,1503,39,5858,5855,5639,1387, - 39,39,6367,4709,3720,6342,4807,4829,618,6629, - 6627,6636,6635,6631,6632,6630,6633,6634,6637,6628, - 4772,4739,6367,2659,6403,6386,6367,4873,4851,634, - 338,333,6373,338,338,43,6126,6126,2987,948, - 1023,6388,998,5218,1016,6389,6387,922,6383,6384, - 6385,3664,4593,1,5946,5942,5252,5950,6701,1503, - 6702,791,3720,39,5858,5855,5639,1387,6367,98, - 6345,4709,3720,6342,4807,4829,618,6629,6627,6636, - 6635,6631,6632,6630,6633,6634,6637,6628,4772,4739, - 1,6372,414,6386,6123,4873,4851,2118,2090,2110, - 6377,235,1,6367,6114,5740,2987,948,1023,6388, - 998,5218,1016,6389,6387,922,6383,6384,6385,3664, - 4593,6376,6367,6367,3626,3952,1,1503,3145,3062, - 6367,39,5858,5855,5639,1387,6108,4378,6345,4709, - 3720,6371,4807,4829,618,6629,6627,6636,6635,6631, - 6632,6630,6633,6634,6637,6628,4772,4739,6367,5858, - 5855,6386,1387,4873,4851,392,5903,3720,6367,6367, - 2118,2090,2110,6367,2987,948,1023,6388,998,5218, - 1016,6389,6387,922,6383,6384,6385,3664,4593,39, - 5858,5855,5639,1387,634,6111,6367,4709,3720,4094, - 4807,4829,618,6629,6627,6636,6635,6631,6632,6630, - 6633,6634,6637,6628,4772,4739,6367,1019,6367,6386, - 6367,4873,4851,4217,6367,955,37,6177,6177,6367, - 6203,6200,2987,948,1023,6388,998,5218,1016,6389, - 6387,922,6383,6384,6385,3664,4593,39,5858,5855, - 5639,1387,6370,1503,6367,4709,3720,4244,4807,4829, - 618,6629,6627,6636,6635,6631,6632,6630,6633,6634, - 6637,6628,4772,4739,6367,5858,5855,6386,1387,4873, - 4851,6367,5903,3720,3383,1293,6367,72,6403,3971, - 2987,948,1023,6388,998,5218,1016,6389,6387,922, - 6383,6384,6385,3664,4593,39,5858,5855,5639,1387, - 6367,367,6367,4709,3720,1544,4807,4829,618,6629, - 6627,6636,6635,6631,6632,6630,6633,6634,6637,6628, - 4772,4739,6367,1238,1,6386,1,4873,4851,365, - 289,6367,6210,6206,189,125,6314,6259,2987,948, - 1023,6388,998,5218,1016,6389,6387,922,6383,6384, - 6385,3664,4593,1,48,189,1011,554,6381,1503, - 2156,6833,3107,529,6827,6831,1,5946,5942,6232, - 5950,45,6223,6223,6238,6235,6377,1346,6825,6826, - 6367,6203,6200,6367,6367,6856,6857,93,39,39, - 6403,6405,6247,6253,6250,3633,6834,6376,6256,6256, - 37,6177,6177,6374,577,1409,2302,287,6132,6290, - 6296,6293,6367,6836,6381,541,101,6367,1188,4028, - 2954,773,6373,1873,1962,6858,6837,3418,6367,6835, - 6220,576,6367,3571,3533,415,6299,6305,6302,6403, - 2118,2090,2110,3352,6847,6846,317,6859,97,6828, - 6829,6852,6853,6850,6851,6830,6832,6854,6855,6403, - 276,417,6860,6265,6840,6841,6842,6838,6839,6848, - 6849,6844,6843,6845,39,5858,5855,3227,1387,1497, - 6367,6372,4709,3720,1456,4807,4829,618,6629,6627, - 6636,6635,6631,6632,6630,6633,6634,6637,6628,4772, - 4739,6367,6367,310,6386,1,4873,4851,2118,2090, - 2110,6373,6373,560,634,6373,2208,2987,948,1023, - 6388,998,5218,1016,6389,6387,922,6383,6384,6385, - 3664,4593,39,5858,5855,3227,1387,2396,6367,6367, - 4709,3720,6926,4807,4829,618,6629,6627,6636,6635, - 6631,6632,6630,6633,6634,6637,6628,4772,4739,1, - 423,574,6386,6367,4873,4851,2118,2090,2110,525, - 6372,6372,6367,5783,6372,2987,948,1023,6388,998, - 5218,1016,6389,6387,922,6383,6384,6385,3664,4593, - 39,5858,5855,5639,1387,6367,6367,6367,4709,3720, - 3190,4807,4829,618,6629,6627,6636,6635,6631,6632, - 6630,6633,6634,6637,6628,4772,4739,1,446,573, - 6386,6367,4873,4851,2118,2090,2110,161,525,6367, - 6367,6367,2531,2987,948,1023,6388,998,5218,1016, - 6389,6387,922,6383,6384,6385,3664,4593,39,5858, - 5855,5639,1387,6367,6367,35,4709,3720,445,4807, - 4829,618,6629,6627,6636,6635,6631,6632,6630,6633, - 6634,6637,6628,4772,4739,8,6367,575,6386,305, - 4873,4851,2118,2090,2110,6364,161,505,563,503, - 1163,2987,948,1023,6388,998,5218,1016,6389,6387, - 922,6383,6384,6385,3664,4593,6367,5858,5855,6367, - 6405,2118,2090,2110,6367,6367,372,4700,3790,720, - 6629,6627,6636,6635,6631,6632,6630,6633,6634,6637, - 6628,2615,956,6701,6625,6702,566,6367,6367,3569, - 6619,6626,6622,6598,6624,6623,6620,6621,6599,6367, - 2343,3174,6364,6367,6367,6367,6367,5719,6367,5726, - 2468,4353,6367,5752,6762,5760,518,3702,6763,6764, - 239,6095,6091,6367,6099,6025,6019,6022,6367,3454, - 6367,5729,183,720,6082,6088,6061,6064,6076,6073, - 6079,6070,6067,6058,6085,6367,6367,6031,6037,6028, - 6367,507,6367,3955,6055,6034,6046,6016,6040,6043, - 6052,6049,6013,29,384,384,6120,384,384,384, - 384,384,384,6120,6120,6120,6367,3703,6762,3749, - 6367,3702,6763,6764,6367,6367,3795,5050,3626,1, - 384,384,384,2,6120,6367,6367,384,384,384, - 384,384,384,384,384,384,32,385,385,6117, - 385,385,385,385,385,385,6117,6117,6117,3304, - 6367,2615,2161,5861,6367,6367,6367,873,6367,6367, - 6367,6120,6120,385,385,385,6373,6117,3626,6367, - 385,385,385,385,385,385,385,385,385,221, - 6367,6367,6367,37,5959,5953,5956,6358,6367,6367, - 6367,6367,6367,6629,6627,6636,6635,6631,6632,6630, - 6633,6634,6637,6628,6117,6117,6701,6625,6702,6367, - 6367,6367,6367,6619,6626,6622,6598,6624,6623,6620, - 6621,6599,6367,6367,6367,6372,6367,6367,6367,6367, - 2140 + 1,1,1,1,1,1,6669,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,7057,1781,1,1,1, + 1,2112,109,6833,1925,366,1,1,37,6671, + 101,332,1530,6528,364,3432,3241,2533,2973,3355, + 3619,3426,1829,3421,3447,3418,6660,5920,5920,5920, + 5920,5920,5920,5920,5920,5920,5920,5920,5920,6504, + 6501,440,5905,5905,221,5905,5905,5905,5905,5997, + 5991,5994,5905,5905,5920,5920,5920,5920,5920,5920, + 5920,5920,5920,5920,5920,5920,5920,5920,5920,6696, + 5920,5920,6003,6000,6009,6027,6006,6018,5988,6012, + 6015,6024,6021,5985,1395,283,6132,6132,5920,280, + 2235,2159,2199,1457,5920,116,6660,5920,4850,4872, + 5920,5920,5920,5920,5920,5920,5920,6660,1,5975, + 5971,5295,5979,6431,6437,6434,871,689,305,5920, + 5920,5920,5920,5920,5920,5920,5920,5920,5920,5920, + 5920,5920,5920,5920,29,4269,4246,5920,5920,5920, + 5920,5920,5920,5920,5920,5920,5920,5920,5920,5920, + 305,5920,5920,6660,5923,5923,5923,5923,5923,5923, + 5923,5923,5923,5923,5923,5923,1,1810,441,6413, + 6413,222,6407,6398,6404,6401,6042,6036,6039,6410, + 6410,5923,5923,5923,5923,5923,5923,5923,5923,5923, + 5923,5923,5923,5923,5923,5923,1022,5923,5923,6048, + 6045,6054,6072,6051,6063,6033,6057,6060,6069,6066, + 6030,420,583,6428,6428,5923,588,2235,2159,2199, + 6660,5923,343,3267,5923,2369,6660,5923,5923,5923, + 5923,5923,5923,5923,327,5863,5860,5295,672,2235, + 2159,2199,871,689,3413,112,5923,5923,5923,5923, + 5923,5923,5923,5923,5923,5923,5923,5923,5923,5923, + 5923,6660,10774,10774,5923,5923,5923,5923,5923,5923, + 5923,5923,5923,5923,5923,5923,5923,6660,5923,5923, + 39,5863,5860,5457,672,2235,2159,2199,4674,689, + 2163,4740,4762,1016,7249,7250,6921,6919,6928,6927, + 6923,6924,6922,6925,6926,6929,6920,5274,6993,6994, + 6917,6911,6918,6914,6890,6916,6915,6912,6913,6891, + 4718,4696,6696,6679,4806,4784,4336,877,1228,6681, + 885,5232,971,6682,6680,688,6676,6677,6678,5211, + 7054,4850,4872,2914,7055,7056,1552,6660,6465,6465, + 226,6458,6462,6462,6462,226,226,6469,226,226, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,542,7203,226, + 305,5975,5971,5295,5979,6431,6437,6434,871,689, + 6660,6555,6555,5859,829,119,275,1,6455,6558, + 1,1,1,223,695,7204,7068,1624,6099,6093, + 6096,6660,5863,5860,226,6698,6660,412,586,5863, + 5860,5295,672,2235,2159,2199,871,689,6660,7156, + 424,6105,6102,6111,6129,6108,6120,6090,6114,6117, + 6126,6123,6087,47,6660,7091,7092,7093,6660,6465, + 6465,226,6458,6462,6462,6462,226,226,6522,226, + 226,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,3997,4120, + 226,6660,5975,5971,5295,5979,6431,6437,6434,871, + 689,6660,6571,6571,1069,113,123,1119,1,6455, + 559,1,1,1,224,695,4651,7068,1624,6147, + 6141,6144,6660,5863,5860,226,6698,6660,411,1, + 5975,5971,5295,5979,6431,6437,6434,871,689,7218, + 7156,6660,6153,6150,6159,6177,6156,6168,6138,6162, + 6165,6174,6171,6135,6660,3766,7091,7092,7093,6660, + 6462,6462,226,6462,6564,6462,6462,226,226,6568, + 226,226,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,11135,1,1,1,1,1,1,3997, + 4120,226,3082,4628,4591,298,2345,1,5975,5971, + 5295,5979,6431,6437,6434,871,689,6660,6957,1, + 6561,6660,1,1,1,454,1338,6672,6869,1925, + 341,39,39,3106,6698,2235,2159,2199,6660,218, + 6660,327,327,390,6084,6084,1137,280,6075,6081, + 6078,7156,6660,6462,6462,226,6462,6564,6462,6462, + 226,226,226,226,226,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,11135,1,1,1,1, + 1,1,6671,5908,226,574,6660,4938,2163,6660, + 6198,6192,6195,391,280,6660,6664,384,2235,2159, + 2199,422,1,6561,3063,1,1,1,453,1338, + 6660,6869,1925,6204,6201,6210,6228,6207,6219,6189, + 6213,6216,6225,6222,6186,584,6425,6425,6660,588, + 6416,6422,6419,6660,7156,6660,6462,6462,226,6462, + 6564,6462,6462,226,226,6574,226,226,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,11135,1, + 1,1,1,1,1,2805,5911,226,90,6452, + 6452,6660,6452,6452,6452,6452,588,586,6660,6452, + 6452,6660,2235,2159,2199,1,6561,137,1,1, + 1,6668,1338,528,6869,1925,1,6443,6443,6663, + 6440,6431,6437,6434,3509,217,359,327,327,391, + 6660,43,6389,6389,2235,2159,2199,7156,6660,6462, + 6462,226,6462,6564,6462,6462,226,226,6568,226, + 226,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,11135,1,1,1,1,1,1,39,3265, + 226,6667,6698,2235,2159,2199,2116,359,327,327, + 327,1022,6386,2235,2159,2199,122,101,1,6561, + 6528,1,1,1,115,1338,1,6869,1925,124, + 137,359,6660,6660,1144,4651,6607,6660,218,4409, + 2069,2022,1975,1928,1881,1834,1787,1740,1693,1646, + 7156,6660,6462,6462,226,6462,6564,6462,6462,226, + 226,6568,226,226,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,11135,1,1,1,1,1, + 1,3624,6660,226,1,5975,5971,6513,5979,38, + 5881,5878,6519,6516,6670,5902,6667,5875,689,3997, + 4120,1,6561,6660,1,1,1,6660,1338,344, + 6869,1925,4628,4591,1,5975,5971,3373,5979,3555, + 3517,218,871,689,363,6660,6669,1144,37,6446, + 6446,6660,4409,7156,6660,6462,6462,226,6462,6564, + 6462,6462,226,226,226,226,226,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,11135,1,1, + 1,1,1,1,121,39,226,2163,6660,6698, + 39,1481,2163,5094,6698,363,6660,3728,363,1087, + 363,6660,3674,1344,1,6561,6660,1,1,1, + 1,1338,3498,6869,1925,2958,6660,6674,6675,363, + 1682,6660,6660,5975,5971,5295,5979,6431,6437,6434, + 871,689,6660,6555,6555,98,7156,6660,6462,6462, + 226,6462,6564,6462,6462,226,226,226,226,226, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 11135,1,1,1,1,1,1,3997,4120,226, + 93,6549,6549,5714,6543,6534,6540,6537,4828,638, + 6660,6546,6546,7091,7092,7093,6660,1,6561,2345, + 1,1,1,6492,1338,3774,6869,1925,341,5863, + 5860,3373,672,2235,2159,2199,871,689,391,327, + 327,444,111,2235,2159,2199,6660,6475,6472,7156, + 6660,6462,6462,226,6462,6564,6462,6462,226,226, + 226,226,226,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,11135,1,1,1,1,1,1, + 6660,288,226,6660,6183,6180,2163,6660,5975,5971, + 5295,5979,6431,6437,6434,871,689,6696,6571,6571, + 1,6561,6660,1,1,1,6660,1338,1208,6869, + 1925,183,1,5975,5971,5295,5979,6431,6437,6434, + 871,689,6660,1,1,1,1,127,4850,4872, + 1,1,7156,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,5975,5971,5295,5979,4828,638,2439,871,689, + 2398,128,1,1,2345,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,6660,6674,6675,6660,6674,6675,1,2345, + 74,7253,6672,5896,1,1,1,5975,5971,5457, + 5979,6660,6183,6180,4674,689,6660,4740,4762,5929, + 5935,5932,5962,5968,5941,5944,5956,5953,5959,5950, + 5947,5938,5965,5982,1,5975,5971,6513,5979,3327, + 3286,416,6519,6516,5887,5884,4718,4696,6651,6679, + 4806,4784,4336,877,1228,6681,885,5232,971,6682, + 6680,688,6676,6677,6678,5211,120,6671,5899,6660, + 6660,6660,1552,3327,3286,6610,6618,6614,39,39, + 6622,6660,512,39,5863,5860,5457,672,48,6183, + 6180,4674,689,6654,4740,4762,625,7249,7250,6921, + 6919,6928,6927,6923,6924,6922,6925,6926,6929,6920, + 5190,5890,6622,1,5975,5971,5295,5979,110,6660, + 2492,871,689,4718,4696,5893,6679,4806,4784,4336, + 877,1228,6681,885,5232,971,6682,6680,688,6676, + 6677,6678,5211,5722,6622,585,118,6660,435,1552, + 2235,2159,2199,139,5863,5860,5457,672,6638,3997, + 4120,4674,689,6667,4740,4762,625,7249,7250,6921, + 6919,6928,6927,6923,6924,6922,6925,6926,6929,6920, + 5190,1,5975,5971,3373,5979,4269,4246,392,871, + 689,6371,383,4718,4696,3456,6679,4806,4784,4336, + 877,1228,6681,885,5232,971,6682,6680,688,6676, + 6677,6678,5211,6660,4850,4872,393,6674,6675,1552, + 1,5975,5971,5457,5979,39,39,6660,4674,689, + 2874,4740,4762,5929,5935,5932,5962,5968,5941,5944, + 5956,5953,5959,5950,5947,5938,5965,5982,413,2163, + 1022,114,6374,2235,2159,2199,7091,7092,7093,6660, + 4718,4696,4651,6679,4806,4784,4336,877,1228,6681, + 885,5232,971,6682,6680,688,6676,6677,6678,5211, + 117,36,6489,6486,401,6660,1552,548,5863,5860, + 5457,672,39,39,6507,4674,689,6660,4740,4762, + 625,7249,7250,6921,6919,6928,6927,6923,6924,6922, + 6925,6926,6929,6920,5190,1,5975,5971,3373,5979, + 4269,4246,314,871,689,6525,6510,4718,4696,29, + 6679,4806,4784,4336,877,1228,6681,885,5232,971, + 6682,6680,688,6676,6677,6678,5211,5778,6660,4628, + 4591,6660,6660,1552,39,5863,5860,5457,672,39, + 39,6670,4674,689,6635,4740,4762,625,7249,7250, + 6921,6919,6928,6927,6923,6924,6922,6925,6926,6929, + 6920,5190,1,2163,6660,3106,1,3322,6660,3106, + 2163,5866,337,6669,4718,4696,6371,6679,4806,4784, + 4336,877,1228,6681,885,5232,971,6682,6680,688, + 6676,6677,6678,5211,287,6674,6675,1,6660,316, + 1552,1236,39,5863,5860,5457,672,6670,6666,6638, + 4674,689,6635,4740,4762,625,7249,7250,6921,6919, + 6928,6927,6923,6924,6922,6925,6926,6929,6920,5190, + 2163,6660,2826,337,2163,332,337,6374,337,6669, + 6660,6666,4718,4696,97,6679,4806,4784,4336,877, + 1228,6681,885,5232,971,6682,6680,688,6676,6677, + 6678,5211,6660,6993,6994,1,6660,2163,1552,6665, + 39,5863,5860,5457,672,159,6666,6638,4674,689, + 6664,4740,4762,625,7249,7250,6921,6919,6928,6927, + 6923,6924,6922,6925,6926,6929,6920,5190,37,6446, + 6446,436,6665,2235,2159,2199,6660,6482,6478,327, + 4718,4696,6531,6679,4806,4784,4336,877,1228,6681, + 885,5232,971,6682,6680,688,6676,6677,6678,5211, + 39,5863,5860,5457,672,6660,159,6665,4674,689, + 1677,4740,4762,625,7249,7250,6921,6919,6928,6927, + 6923,6924,6922,6925,6926,6929,6920,5190,6660,6696, + 6660,5863,5860,5869,672,6660,450,6696,871,689, + 4718,4696,6660,6679,4806,4784,4336,877,1228,6681, + 885,5232,971,6682,6680,688,6676,6677,6678,5211, + 6660,10683,10449,6663,445,383,1552,39,5863,5860, + 5457,672,45,6498,6498,4674,689,6660,4740,4762, + 625,7249,7250,6921,6919,6928,6927,6923,6924,6922, + 6925,6926,6929,6920,5190,6660,5863,5860,5872,672, + 6660,10683,10449,5926,689,48,371,4718,4696,6675, + 6679,4806,4784,4336,877,1228,6681,885,5232,971, + 6682,6680,688,6676,6677,6678,5211,5917,39,5863, + 5860,5457,672,6495,517,1005,4674,689,2483,4740, + 4762,625,7249,7250,6921,6919,6928,6927,6923,6924, + 6922,6925,6926,6929,6920,5190,1027,6660,5863,5860, + 6660,672,37,6446,6446,5926,689,6675,4718,4696, + 6446,6679,4806,4784,4336,877,1228,6681,885,5232, + 971,6682,6680,688,6676,6677,6678,5211,39,5863, + 5860,4057,672,6660,1552,6660,4674,689,2739,4740, + 4762,625,7249,7250,6921,6919,6928,6927,6923,6924, + 6922,6925,6926,6929,6920,5190,6660,2340,2673,6660, + 6674,6675,1022,1546,6660,6660,6666,1137,4718,4696, + 3456,6679,4806,4784,4336,877,1228,6681,885,5232, + 971,6682,6680,688,6676,6677,6678,5211,39,5863, + 5860,5457,672,6660,6475,6472,4674,689,3456,4740, + 4762,625,7249,7250,6921,6919,6928,6927,6923,6924, + 6922,6925,6926,6929,6920,5190,6660,5863,5860,72, + 672,37,6446,6446,871,689,3063,6665,4718,4696, + 6660,6679,4806,4784,4336,877,1228,6681,885,5232, + 971,6682,6680,688,6676,6677,6678,5211,39,5863, + 5860,4057,672,6660,6696,565,4674,689,3443,4740, + 4762,625,7249,7250,6921,6919,6928,6927,6923,6924, + 6922,6925,6926,6929,6920,5190,6660,6674,6675,48, + 6660,6552,6696,6674,871,689,6660,6660,4718,4696, + 4194,6679,4806,4784,4336,877,1228,6681,885,5232, + 971,6682,6680,688,6676,6677,6678,5211,39,5863, + 5860,5457,672,6660,6660,3403,4674,689,6660,4740, + 4762,625,7249,7250,6921,6919,6928,6927,6923,6924, + 6922,6925,6926,6929,6920,5190,1,581,6660,6660, + 6660,6674,6583,6589,6586,6660,359,6660,4718,4696, + 6666,6679,4806,4784,4336,877,1228,6681,885,5232, + 971,6682,6680,688,6676,6677,6678,5211,1,98, + 2,694,6660,1,6660,35,7125,126,580,7119, + 7123,1831,6666,6592,6598,6595,6577,29,383,383, + 6380,383,383,383,383,383,383,6380,6380,6380, + 8,3579,6660,6660,6660,5488,4939,359,7117,7118, + 6657,6665,7148,7149,7126,383,383,383,383,383, + 383,383,383,383,383,383,383,6660,1,6380, + 7128,359,37,6580,3209,298,622,6492,6604,3624, + 1959,1964,7150,6665,7129,414,1505,7127,6957,5866, + 2235,2159,2199,6392,1870,6380,6660,6660,6380,5709, + 3449,7139,7138,6660,7151,6660,7120,7121,7144,7145, + 7142,7143,7122,7124,7146,7147,6660,3555,3517,7152, + 6657,7132,7133,7134,7130,7131,7140,7141,7136,7135, + 7137,6660,5863,5860,309,6698,2235,2159,2199,2235, + 2159,2199,1328,6671,944,7249,7250,6921,6919,6928, + 6927,6923,6924,6922,6925,6926,6929,6920,5253,6993, + 6994,6917,6911,6918,6914,6890,6916,6915,6912,6913, + 6891,6660,6601,6601,6601,6601,6601,6601,6601,6601, + 6601,578,6601,6601,304,562,2235,2159,2199,6660, + 1481,7054,3500,6660,2914,7055,7056,238,6325,6321, + 577,6329,6288,6282,6285,2235,2159,2199,6660,564, + 944,6335,6332,6362,6368,6341,6344,6356,6353,6359, + 6350,6347,6338,6365,5253,6294,6291,6300,6318,6297, + 6309,6279,6303,6306,6315,6312,6276,579,6660,6660, + 6660,5048,2235,2159,2199,6660,6660,6660,6601,591, + 504,1451,3331,6660,6243,6237,6240,7054,3219,895, + 2914,7055,7056,7249,7250,6921,6919,6928,6927,6923, + 6924,6922,6925,6926,6929,6920,6660,6249,6246,6255, + 6273,6252,6264,6234,6258,6261,6270,6267,6231,32, + 384,384,6377,384,384,384,384,384,384,6377, + 6377,6377,125,502,569,570,570,570,570,570, + 570,570,570,570,6449,6449,6449,384,384,384, + 384,384,384,384,384,384,384,384,384,5781, + 3665,6377,570,570,570,570,570,570,570,570, + 570,570,570,570,6660,6660,6449,6660,1,6660, + 6660,6660,6660,1,6670,6666,1,6377,1,6666, + 6377,6577,6668,6666,3624,6660,189,1,524,6660, + 506,1,570,6660,6660,6449,6660,161,6395,6660, + 6660,6660,5786,6660,6660,6660,6669,6660,6660,6660, + 3331,6660,6660,6660,6660,6660,6660,6660,189,6660, + 6660,6660,3555,3517,6660,6660,6660,6660,6580,3209, + 6660,6660,6660,6660,3141,6660,6665,6660,3120,6660, + 6665,6660,2771,5787,6665,6660,1096,3711,3757,524, + 6660,6660,6667,6660,6660,6660,6660,6660,161,6660, + 6660,6660,6660,6660,1870,6660,6660,6660,2257,955 }; }; public final static char termAction[] = TermAction.termAction; @@ -2055,65 +2119,65 @@ public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Asb { public final static char asb[] = {0, - 142,187,98,192,1138,670,670,670,670,995, - 1138,680,680,924,680,314,79,316,99,99, - 99,99,99,99,99,99,99,99,99,682, - 688,693,690,697,695,702,700,704,703,705, - 412,706,98,98,964,964,964,964,139,423, - 257,257,677,964,49,466,680,680,257,139, - 466,466,242,79,1096,963,1182,997,1026,98, - 680,682,200,200,423,98,99,99,99,99, - 99,99,99,99,99,99,99,99,99,99, - 99,99,99,99,99,98,98,98,98,98, - 98,98,98,98,98,98,98,99,466,656, - 656,656,656,581,466,257,257,1087,1015,1138, - 1138,1138,1026,401,1026,999,1026,915,1026,1010, - 995,139,49,49,257,670,99,1087,7,794, - 784,783,590,1033,1033,995,316,49,963,98, - 137,1178,136,138,136,466,49,690,690,688, - 688,688,695,695,695,695,693,693,700,697, - 697,703,702,704,531,705,1138,1138,1138,1138, - 139,139,656,655,656,677,1090,139,904,625, - 465,185,533,1001,580,999,399,995,915,139, - 139,581,656,242,49,721,466,796,798,139, - 1182,99,964,686,207,466,997,139,139,138, - 1182,98,98,98,98,98,1138,1138,79,1091, - 673,629,465,464,466,533,139,526,1188,663, - 581,401,643,139,581,139,466,788,773,787, - 798,581,137,466,686,1087,1178,997,139,137, - 466,466,466,466,423,423,1094,673,253,252, - 465,587,139,533,531,399,670,583,135,836, - 533,526,664,529,526,529,581,643,643,139, - 139,648,98,785,785,517,517,139,792,1087, - 321,466,139,686,687,686,98,207,1186,682, - 997,466,466,673,672,629,466,422,466,1182, - 537,401,656,670,136,658,838,1084,1138,529, - 529,529,529,139,643,587,738,586,648,98, - 98,798,139,1182,466,796,773,648,1068,686, - 423,99,49,1186,673,253,137,537,537,538, - 549,137,529,529,1084,729,99,531,753,761, - 139,1087,726,838,529,529,404,587,99,139, - 650,798,1084,648,687,466,49,422,730,587, - 185,1140,503,189,399,635,537,537,549,137, - 529,401,995,838,99,99,1178,1084,726,726, - 838,838,851,994,405,139,650,466,650,469, - 503,1138,857,995,587,655,670,1,1,730, - 401,60,851,139,1138,726,726,404,139,995, - 995,139,1138,743,650,538,537,730,752,767, - 729,1084,733,995,139,549,538,549,654,654, - 855,61,995,139,423,139,139,139,799,743, - 537,752,98,358,1084,752,196,907,195,139, - 139,549,964,964,855,60,531,99,531,730, - 59,1138,1138,1138,61,1138,139,861,730,730, - 139,401,466,139,139,253,745,587,466,587, - 401,1084,752,733,730,514,185,139,730,655, - 52,1138,52,61,531,61,79,79,77,913, - 79,730,730,759,855,964,745,587,358,140, - 466,730,834,321,61,466,1084,466,77,503, - 1138,466,855,358,466,1,466,466,1081,61, - 759,61,730,503,98,61,58,586,654,401, - 401,1083,98,59,423,730,466,585,357,136, - 61,466,730,585,585,61 + 939,1,419,3,1127,730,730,730,730,85, + 1127,1005,1005,11,1005,161,400,163,420,420, + 420,420,420,420,420,420,420,420,420,1005, + 678,683,680,687,685,692,690,694,693,695, + 290,696,419,419,51,51,51,51,462,301, + 102,102,1005,51,509,346,1005,1005,102,462, + 346,346,796,400,1083,50,1174,87,1005,419, + 1005,1005,95,95,301,419,420,420,420,420, + 420,420,420,420,420,420,420,420,420,420, + 420,420,420,420,420,419,419,419,419,419, + 419,419,419,419,419,419,419,420,346,754, + 754,754,754,604,346,102,102,1066,1005,1127, + 1127,1127,214,1005,928,1005,737,1005,85,462, + 1005,420,992,986,509,509,102,730,420,1066, + 465,813,357,356,1012,1012,85,163,420,512, + 509,50,419,460,1170,459,461,459,346,509, + 680,680,678,678,678,685,685,685,685,683, + 683,690,687,687,693,692,694,1193,695,1127, + 1127,1127,1127,462,462,754,753,754,1005,1069, + 462,903,549,345,984,553,930,603,928,212, + 85,737,462,462,604,754,796,509,711,346, + 815,817,462,1174,1016,420,51,1005,1005,346, + 87,462,462,461,1174,419,419,419,419,419, + 1127,1127,400,1070,1005,230,345,344,346,553, + 462,932,1075,723,604,214,647,462,604,462, + 346,361,792,360,817,604,460,346,1005,1066, + 1170,87,462,460,346,346,346,346,301,301, + 1073,1005,807,806,345,227,462,553,1193,212, + 730,606,458,1180,553,932,724,935,932,935, + 604,647,647,462,462,746,419,358,358,349, + 349,462,811,1066,608,346,462,1005,1005,1005, + 419,1005,1178,1005,87,346,346,1005,652,230, + 346,300,346,1174,557,214,754,730,459,781, + 1182,1063,1127,935,935,935,935,462,647,227, + 756,226,746,419,419,817,462,1174,346,815, + 792,746,1047,1005,301,420,509,1178,1005,807, + 460,557,557,558,569,460,935,935,1063,719, + 420,1193,918,761,462,1066,716,1182,935,935, + 217,227,420,462,748,817,1063,746,1005,346, + 509,300,720,227,984,1129,276,236,212,365, + 557,557,569,460,935,214,85,1182,420,420, + 1170,1063,716,716,1182,1182,773,84,218,462, + 748,346,748,239,276,1127,777,85,227,753, + 730,89,89,720,214,381,773,462,1127,716, + 716,217,462,85,85,462,1127,908,748,558, + 557,720,917,767,719,1063,732,85,462,569, + 558,569,752,752,926,382,85,462,301,462, + 462,462,818,908,557,917,419,169,1063,917, + 7,786,6,462,462,569,51,51,926,381, + 1193,420,1193,720,380,1127,1127,1127,382,1127, + 462,858,720,720,462,214,346,462,462,807, + 910,227,346,227,214,1063,917,732,720,287, + 984,462,720,753,373,1127,373,382,1193,382, + 400,400,398,906,400,720,720,924,926,51, + 910,227,169,463,346,720,856,608,382,346, + 1063,346,398,276,1127,346,926,169,346,89, + 346,346,1060,382,924,382,720,276,419,382, + 379,226,752,214,214,1062,419,380,301,720, + 346,225,168,459,382,346,720,225,225,382 }; }; public final static char asb[] = Asb.asb; @@ -2121,126 +2185,126 @@ public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Asr { public final static char asr[] = {0, - 73,76,72,1,2,0,70,71,3,13, - 45,49,47,44,52,15,24,14,20,18, - 19,21,22,17,16,23,53,54,55,30, - 51,46,50,8,9,4,32,33,12,11, - 25,26,43,48,57,56,1,2,121,10, - 0,90,106,107,108,59,74,122,125,77, - 66,78,67,65,80,82,88,86,79,84, - 85,87,89,75,81,83,31,10,5,34, - 58,27,61,35,36,37,38,39,40,41, - 62,42,63,28,29,6,7,64,70,71, - 45,49,47,44,52,15,24,14,20,18, - 19,21,22,17,16,23,53,54,55,30, - 51,46,50,3,32,33,12,11,25,26, - 43,48,57,56,13,4,9,8,2,1, - 0,14,15,44,70,16,45,46,17,18, - 19,71,9,47,20,21,48,49,50,64, - 51,52,13,22,23,24,53,54,55,1, - 2,3,32,33,12,11,25,26,8,43, - 4,56,57,66,30,0,124,0,3,29, - 0,121,31,124,72,69,10,74,0,9, - 4,59,8,1,2,0,94,25,26,96, - 97,91,92,60,98,99,100,101,102,103, - 104,105,110,74,93,76,111,112,113,114, - 115,116,117,118,119,120,121,77,31,95, - 124,73,5,1,2,12,11,4,6,7, - 68,3,69,10,72,0,5,34,14,15, - 58,27,44,16,45,61,35,36,46,17, - 37,38,18,19,39,40,47,20,21,48, - 41,49,62,50,64,51,42,52,13,63, - 22,28,23,29,24,53,54,55,30,3, - 32,33,12,11,25,26,43,73,4,56, - 57,6,7,9,8,1,2,71,70,0, - 5,34,14,15,58,27,16,61,35,36, - 17,37,38,18,19,39,40,20,21,41, - 62,42,13,63,22,28,23,29,24,1, - 2,4,6,7,93,0,77,70,71,64, - 32,33,12,11,25,26,8,43,48,57, - 56,3,4,9,53,54,55,30,51,46, - 50,15,24,14,20,18,19,21,22,17, - 16,23,13,45,49,47,44,52,1,2, - 75,10,0,28,1,2,4,106,107,108, - 0,5,73,74,93,121,77,31,6,7, - 124,72,14,15,44,70,16,45,46,17, - 18,19,71,9,47,20,21,48,49,50, - 64,51,52,13,22,23,24,53,54,55, - 30,2,32,33,12,11,25,26,8,43, - 4,56,57,3,1,69,10,0,34,14, - 15,58,27,16,61,35,90,36,17,37, - 38,18,19,39,65,40,20,21,41,62, - 59,42,13,63,22,67,28,23,29,24, - 66,75,5,10,12,31,6,7,8,9, - 2,4,3,1,11,0,78,3,73,93, - 76,72,69,31,68,6,7,5,10,75, - 74,0,106,107,108,74,77,9,10,3, - 12,11,8,31,67,65,90,66,5,34, - 14,15,58,27,16,61,35,36,17,37, - 38,18,19,39,40,20,21,41,62,42, - 13,63,22,28,23,29,24,6,7,4, - 1,2,59,0,31,72,77,10,0,5, - 34,14,15,27,16,35,36,17,37,38, - 18,19,39,9,40,20,21,41,42,22, - 28,23,29,24,1,2,68,12,11,8, - 4,31,6,7,69,10,3,0,10,72, - 69,1,27,0,9,1,2,8,4,13, - 65,0,1,2,10,77,0,27,29,64, - 10,93,69,76,72,73,0,10,74,75, - 78,0,4,10,74,75,6,7,5,60, - 0,64,27,9,29,8,1,2,4,78, - 75,123,109,32,33,68,3,95,94,11, - 96,97,25,26,92,91,60,98,99,100, - 101,12,102,103,104,73,93,69,124,76, - 111,112,113,114,115,116,117,118,119,120, - 74,121,77,105,110,6,7,5,72,31, - 10,0,10,74,69,30,0,10,72,77, - 76,0,27,29,64,78,73,74,93,69, - 75,3,5,10,72,31,6,7,76,0, - 74,5,68,6,7,60,10,72,31,76, - 3,0,5,12,11,6,7,9,8,4, - 1,2,3,68,73,76,72,10,69,93, - 0,8,9,3,68,11,12,93,5,34, - 14,15,27,16,61,35,36,17,37,38, - 18,19,39,40,20,21,41,62,42,13, - 63,22,28,23,29,24,1,2,4,6, - 7,69,10,58,0,31,10,3,9,8, - 74,12,11,4,1,2,6,7,5,0, - 10,75,72,0,122,0,10,75,76,0, - 14,15,44,70,16,45,46,17,18,19, - 71,9,47,20,21,48,49,50,64,51, - 52,13,22,23,24,53,54,55,30,1, - 2,3,32,33,25,26,8,43,4,56, - 57,31,10,11,12,0,10,74,72,69, - 3,0,79,0,4,10,75,6,7,5, - 1,2,0,71,70,25,26,11,96,97, - 102,12,103,8,43,76,60,73,114,115, - 111,112,113,119,118,120,92,91,116,117, - 100,101,98,99,104,105,32,33,72,94, - 109,68,3,5,34,14,15,58,27,16, - 61,35,36,17,37,38,18,19,39,40, - 20,21,41,62,42,13,63,22,23,29, - 24,6,7,28,1,2,4,0,59,4, - 5,10,74,75,6,7,1,2,0,13, - 61,58,62,63,15,24,14,20,18,19, - 21,22,17,16,23,78,74,93,121,77, - 75,124,123,95,109,94,32,33,25,26, - 96,97,91,92,60,73,98,99,100,101, - 102,103,104,105,110,76,111,112,113,114, - 115,116,117,118,119,120,72,34,27,35, - 36,37,38,39,40,41,42,28,29,31, - 10,69,68,8,9,3,1,2,4,12, - 6,7,5,11,0,70,71,32,33,12, - 11,25,26,8,43,48,57,56,4,9, - 53,54,55,30,51,46,50,15,24,14, - 20,18,19,21,22,17,16,23,13,45, - 49,47,44,52,68,1,2,3,0,16, - 61,35,17,37,38,18,19,39,40,20, - 21,41,62,42,13,63,22,28,23,29, - 24,27,58,15,14,34,10,3,12,31, - 67,65,90,36,66,60,4,5,11,6, - 7,9,1,2,59,8,0,4,10,74, - 75,6,7,5,0 + 126,0,123,42,126,74,71,10,77,0, + 73,72,40,41,11,98,99,104,12,105, + 8,46,79,62,76,116,117,113,114,115, + 121,120,122,94,93,118,119,102,103,100, + 101,106,107,44,45,74,96,111,68,3, + 14,15,5,31,16,17,60,28,18,63, + 32,33,19,34,35,20,21,36,37,22, + 23,38,64,39,13,65,24,25,29,26, + 27,6,7,30,1,2,4,0,76,79, + 74,1,2,0,9,4,61,8,1,2, + 0,14,15,5,31,16,17,60,28,47, + 18,48,63,32,33,49,19,34,35,20, + 21,36,37,50,22,23,51,38,52,64, + 53,66,54,39,55,13,65,24,30,25, + 29,26,56,57,58,43,3,44,45,12, + 11,40,41,46,76,4,27,59,6,7, + 9,8,1,2,73,72,0,80,72,73, + 66,44,45,12,11,40,41,8,46,51, + 59,27,3,4,9,56,57,58,43,54, + 49,53,17,26,16,22,20,21,23,24, + 19,18,25,14,15,13,48,52,50,47, + 55,1,2,75,10,0,30,1,2,4, + 108,109,110,0,42,74,80,10,0,10, + 74,71,1,28,0,3,29,0,14,15, + 31,16,17,60,28,18,63,32,92,33, + 19,34,35,20,21,36,67,37,22,23, + 38,64,61,39,13,65,24,70,30,25, + 29,26,27,69,75,5,10,12,42,6, + 7,8,9,2,4,3,1,11,0,5, + 76,77,95,123,80,42,6,7,126,74, + 14,15,16,17,47,72,18,48,49,19, + 20,21,73,9,50,22,23,51,52,53, + 66,54,55,13,24,25,26,56,57,58, + 43,2,44,45,12,11,40,41,8,46, + 4,27,59,3,1,71,10,0,5,78, + 77,42,75,6,7,3,68,76,79,74, + 10,71,95,0,9,1,2,8,4,13, + 67,0,92,108,109,110,61,77,124,127, + 80,69,78,70,67,82,84,90,88,81, + 86,87,89,91,75,83,85,42,10,5, + 31,60,28,63,32,33,34,35,36,37, + 38,64,39,65,30,29,6,7,66,72, + 73,48,52,50,47,55,17,26,16,22, + 20,21,23,24,19,18,25,14,15,56, + 57,58,43,54,49,53,3,44,45,12, + 11,40,41,46,51,59,27,13,4,9, + 8,2,1,0,72,73,3,13,48,52, + 50,47,55,17,26,16,22,20,21,23, + 24,19,18,25,14,15,56,57,58,43, + 54,49,53,8,9,4,44,45,12,11, + 40,41,46,51,59,27,1,2,123,10, + 0,14,15,5,31,16,17,28,18,32, + 33,19,34,35,20,21,36,9,37,22, + 23,38,39,24,30,25,29,26,1,2, + 68,12,11,8,4,42,6,7,71,10, + 3,0,108,109,110,77,80,9,10,3, + 12,11,8,42,70,67,92,69,14,15, + 5,31,16,17,60,28,18,63,32,33, + 19,34,35,20,21,36,37,22,23,38, + 64,39,13,65,24,30,25,29,26,27, + 6,7,4,1,2,61,0,14,15,5, + 31,16,17,60,28,18,63,32,33,19, + 34,35,20,21,36,37,22,23,38,64, + 39,13,65,24,30,25,29,26,1,2, + 4,27,6,7,95,0,1,2,10,80, + 0,31,32,33,34,35,36,9,37,38, + 66,78,39,30,1,2,68,3,125,111, + 44,45,8,4,75,28,29,97,96,11, + 98,99,40,41,94,93,62,100,101,102, + 103,12,104,105,106,76,95,71,126,79, + 113,114,115,116,117,118,119,120,121,122, + 77,123,80,107,112,6,7,5,74,42, + 10,0,4,10,77,75,6,7,5,62, + 0,10,77,71,43,0,4,10,75,6, + 7,5,1,2,0,28,29,66,10,95, + 71,79,74,76,0,10,74,80,79,0, + 77,5,68,6,7,62,10,74,42,79, + 3,0,10,75,74,0,10,75,79,0, + 10,77,75,78,0,10,77,74,71,3, + 0,95,9,8,79,76,5,1,2,12, + 11,4,6,7,68,3,71,10,74,0, + 8,9,3,68,11,12,95,14,15,5, + 31,16,17,28,18,63,32,33,19,34, + 35,20,21,36,37,22,23,38,64,39, + 13,65,24,30,25,29,26,1,2,4, + 27,6,7,71,10,60,0,14,15,16, + 17,47,72,18,48,49,19,20,21,73, + 9,50,22,23,51,52,53,66,54,55, + 13,24,25,26,56,57,58,43,1,2, + 3,44,45,40,41,8,46,4,27,59, + 42,10,11,12,0,81,0,28,29,66, + 78,76,77,95,71,75,3,5,10,74, + 42,6,7,79,0,124,0,61,4,1, + 2,6,7,5,10,77,75,0,14,15, + 16,17,47,72,18,48,49,19,20,21, + 73,9,50,22,23,51,52,53,66,54, + 55,13,24,25,26,56,57,58,1,2, + 3,44,45,12,11,40,41,8,46,4, + 27,59,69,43,0,27,13,63,60,64, + 65,17,26,16,22,20,21,23,24,19, + 18,25,14,15,78,77,95,123,80,75, + 126,125,111,44,45,97,96,40,41,98, + 99,93,94,62,76,100,101,102,103,104, + 105,106,107,112,79,113,114,115,116,117, + 118,119,120,121,122,74,31,28,32,33, + 34,35,36,37,38,39,30,29,42,10, + 71,68,8,9,3,1,2,4,12,6, + 7,5,11,0,4,10,77,75,6,7, + 5,0,72,73,44,45,12,11,40,41, + 8,46,51,59,27,4,9,56,57,58, + 43,54,49,53,17,26,16,22,20,21, + 23,24,19,18,25,14,15,13,48,52, + 50,47,55,68,1,2,3,0,60,28, + 18,63,32,19,34,35,20,21,36,37, + 22,23,38,64,39,13,65,24,30,25, + 29,26,17,16,31,27,15,14,10,3, + 12,42,70,67,92,33,69,62,4,5, + 11,6,7,9,1,2,61,8,0,42, + 10,3,9,8,12,11,4,1,2,6, + 7,5,77,0 }; }; public final static char asr[] = Asr.asr; @@ -2248,65 +2312,65 @@ public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Nasb { public final static char nasb[] = {0, - 29,12,84,12,12,12,12,12,12,88, - 12,12,12,223,12,159,288,55,84,84, - 84,84,253,84,84,84,84,84,84,12, - 12,12,12,12,12,12,12,12,12,12, - 84,12,84,206,48,48,48,48,55,111, - 193,193,116,5,23,229,12,12,193,257, - 229,229,175,1,84,70,53,12,12,206, - 12,12,37,37,111,206,84,84,84,84, - 84,84,84,84,84,84,84,84,84,84, - 84,84,84,84,84,84,84,84,84,84, - 84,84,84,84,84,84,206,84,229,12, - 12,12,12,65,229,43,43,267,250,12, - 12,12,251,221,251,148,251,148,251,244, - 10,55,23,23,43,12,84,267,18,174, - 68,68,12,12,12,10,55,23,48,105, - 159,58,158,55,158,229,23,12,12,12, - 12,12,12,12,12,12,12,12,12,12, - 12,12,12,12,12,12,12,12,12,12, - 180,11,12,12,12,280,172,55,12,229, - 32,12,193,179,88,172,76,88,172,55, - 11,12,12,278,23,12,229,265,193,55, - 53,84,48,193,62,229,12,11,55,163, - 53,84,206,206,206,206,12,12,43,148, - 193,131,128,12,229,271,180,148,148,12, - 231,221,193,231,52,180,229,12,186,12, - 241,51,180,229,135,280,58,12,257,180, - 229,229,229,229,111,111,12,133,229,12, - 229,124,55,211,12,96,12,12,92,195, - 271,148,148,193,172,193,52,193,258,11, - 180,193,84,12,12,68,68,55,185,267, - 241,229,180,193,114,12,206,280,164,12, - 12,229,229,193,133,131,229,84,229,53, - 193,221,12,12,88,193,141,188,12,193, - 193,90,90,180,258,124,12,12,133,84, - 84,193,11,53,229,265,153,193,12,135, - 111,84,23,164,133,229,159,234,193,260, - 193,231,193,121,155,211,84,12,103,12, - 55,267,148,166,90,90,99,124,84,258, - 193,241,167,133,114,229,23,84,211,124, - 12,260,196,35,76,92,260,234,241,159, - 121,150,72,142,84,84,213,155,172,148, - 166,12,12,88,79,231,27,229,193,220, - 141,12,12,88,124,12,12,16,16,211, - 150,123,12,231,12,148,172,137,231,88, - 88,11,12,193,27,260,193,211,148,94, - 12,166,183,88,231,241,260,193,12,12, - 193,203,72,11,111,11,231,231,227,133, - 234,172,105,82,142,148,229,12,12,231, - 97,241,48,48,119,216,12,84,12,211, - 12,12,12,12,217,12,258,209,211,211, - 258,13,229,11,11,229,193,124,229,193, - 221,166,172,183,211,12,183,97,211,12, - 25,12,12,217,12,217,292,292,239,12, - 292,211,211,12,193,48,27,124,193,12, - 229,211,12,48,217,229,188,229,284,193, - 12,229,119,82,229,16,229,229,193,217, - 12,217,211,142,206,217,25,124,12,13, - 13,186,84,12,108,211,229,126,81,158, - 217,229,211,126,12,217 + 224,13,74,13,13,13,13,13,13,78, + 13,13,13,33,13,26,288,148,74,74, + 74,74,250,74,74,74,74,74,74,13, + 13,13,13,13,13,13,13,13,13,13, + 74,13,74,214,51,51,51,51,148,108, + 203,203,125,5,133,163,13,13,203,254, + 163,163,189,1,74,14,18,13,13,214, + 13,13,56,56,108,214,74,74,74,74, + 74,74,74,74,74,74,74,74,74,74, + 74,74,74,74,74,74,74,74,74,74, + 74,74,74,74,74,74,214,74,163,13, + 13,13,13,62,163,46,46,284,243,13, + 13,13,159,243,146,243,146,243,11,148, + 243,74,242,235,133,133,46,13,74,284, + 128,188,67,67,13,13,11,148,74,13, + 133,51,43,26,104,25,148,25,163,133, + 13,13,13,13,13,13,13,13,13,13, + 13,13,13,13,13,13,13,13,13,13, + 13,13,13,172,12,13,13,13,294,186, + 148,13,163,94,13,203,171,78,186,101, + 78,186,148,12,13,13,292,133,13,163, + 282,203,148,18,13,74,51,203,151,163, + 13,12,148,40,18,74,214,214,214,214, + 13,13,46,146,203,97,30,13,163,267, + 172,146,146,13,208,159,203,208,17,172, + 163,13,196,13,264,16,172,163,92,294, + 104,13,254,172,163,163,163,163,108,108, + 13,137,163,13,163,115,148,219,13,37, + 13,13,117,274,267,146,146,203,186,203, + 17,203,255,12,172,203,74,13,13,67, + 67,148,195,284,264,163,172,203,69,13, + 214,294,41,13,13,163,163,203,137,97, + 163,74,163,18,203,159,13,13,78,203, + 139,198,13,203,203,135,135,172,255,115, + 13,13,137,74,74,203,12,18,163,282, + 20,203,13,92,108,74,133,41,137,163, + 26,245,203,257,203,208,203,119,22,219, + 74,13,65,13,148,284,146,180,135,135, + 80,115,74,255,203,264,181,137,69,163, + 133,74,219,115,13,257,275,99,101,117, + 257,245,264,26,119,177,88,140,74,74, + 221,22,186,146,180,13,13,78,175,208, + 193,163,203,158,139,13,13,78,115,13, + 13,54,54,219,177,114,13,208,13,146, + 186,165,208,78,78,12,13,203,193,257, + 203,219,146,84,13,180,169,78,208,264, + 257,203,13,13,203,211,88,12,108,12, + 208,208,161,137,245,186,43,72,140,146, + 163,13,13,208,38,264,51,51,121,154, + 13,74,13,219,13,13,13,13,155,13, + 255,217,219,219,255,111,163,12,12,163, + 203,115,163,203,159,180,186,169,219,13, + 169,38,219,13,123,13,13,155,13,155, + 231,231,262,13,231,219,219,13,203,51, + 193,115,203,13,163,219,13,51,155,163, + 198,163,227,203,13,163,121,72,163,54, + 163,163,203,155,13,155,219,140,214,155, + 123,115,13,111,111,196,74,13,205,219, + 163,86,71,25,155,163,219,86,13,155 }; }; public final static char nasb[] = Nasb.nasb; @@ -2314,36 +2378,36 @@ public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Nasr { public final static char nasr[] = {0, - 3,13,10,9,162,160,130,159,158,5, - 2,0,47,66,0,114,0,13,2,9, - 10,5,89,0,122,0,135,0,4,186, - 0,213,31,0,214,0,5,2,9,10, - 149,0,5,10,9,2,13,4,50,0, - 146,2,72,0,2,49,0,72,148,147, - 0,4,189,0,146,72,0,82,0,187, - 0,179,5,178,0,47,1,0,205,0, - 74,138,47,10,9,2,13,5,0,116, - 0,166,0,196,0,47,110,0,5,108, - 204,0,203,0,4,36,0,4,190,0, - 4,103,0,151,0,4,207,0,171,0, - 169,0,4,74,0,172,0,31,184,0, - 182,0,71,0,153,0,5,108,175,0, - 96,2,64,5,9,10,4,42,0,47, - 170,0,101,100,42,64,68,5,10,9, - 2,0,2,124,0,4,5,10,9,2, - 64,23,0,31,100,101,4,0,49,2, - 3,0,145,0,31,101,100,64,5,2, - 9,10,4,0,43,5,2,9,10,4, - 168,0,53,47,191,4,44,0,4,44, - 43,0,42,72,0,74,44,53,75,4, - 47,0,4,50,208,0,50,4,31,0, - 2,67,0,125,4,53,88,0,44,193, - 28,4,0,2,5,130,126,127,128,13, - 93,0,5,10,9,13,3,1,0,4, - 53,88,90,0,28,4,5,42,96,0, - 4,53,88,108,51,5,0,101,100,42, - 5,68,0,50,4,192,0,4,50,44, - 0,4,50,109,0 + 13,3,10,9,162,187,160,130,159,158, + 5,2,0,189,0,147,2,72,0,101, + 100,42,64,68,5,10,9,2,0,31, + 185,0,4,50,210,0,47,110,0,2, + 124,0,4,36,0,5,10,9,2,13, + 4,50,0,114,0,5,2,9,10,150, + 0,147,72,0,205,0,82,0,152,0, + 74,138,47,10,9,2,13,5,0,5, + 108,206,0,198,0,173,0,180,5,179, + 0,154,0,215,31,0,183,0,216,0, + 47,1,0,72,149,148,0,4,103,0, + 47,66,0,4,74,0,167,0,170,0, + 172,0,122,0,4,209,0,13,2,9, + 10,5,89,0,116,0,69,0,96,2, + 64,5,9,10,4,42,0,2,49,0, + 4,191,0,74,44,53,75,4,47,0, + 50,4,31,0,5,108,176,0,145,0, + 49,2,3,0,207,0,47,171,0,4, + 5,10,9,2,64,23,0,31,100,101, + 4,0,135,0,31,101,100,64,5,2, + 9,10,4,0,4,192,0,2,67,0, + 53,47,193,4,44,0,4,44,43,0, + 42,72,0,4,188,0,50,4,194,0, + 4,50,109,0,2,5,130,126,127,128, + 146,13,90,0,125,4,53,88,0,5, + 10,9,13,3,1,0,4,53,88,93, + 0,44,195,28,4,0,4,53,88,108, + 51,5,0,43,5,2,9,10,4,169, + 0,28,4,5,42,96,0,4,50,44, + 0,101,100,42,5,68,0 }; }; public final static char nasr[] = Nasr.nasr; @@ -2351,19 +2415,19 @@ public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface TerminalIndex { public final static char terminalIndex[] = {0, - 113,114,2,31,46,126,127,13,79,115, - 10,9,100,48,52,60,68,74,75,86, - 87,102,105,107,11,12,54,104,106,112, - 120,7,8,47,64,66,70,73,76,83, - 89,98,14,55,61,67,84,88,90,94, - 97,99,109,110,111,122,123,53,93,19, - 63,91,101,95,77,128,103,1,118,58, - 78,44,20,30,121,33,119,96,108,49, - 50,56,57,59,69,71,72,85,92,65, - 17,18,32,6,4,15,16,21,22,23, - 24,25,26,27,28,80,81,82,5,29, - 34,35,36,37,38,39,40,41,42,43, - 117,51,3,129,62,116,124,125 + 115,116,2,31,48,128,129,13,81,117, + 10,9,102,46,47,50,54,62,70,76, + 77,88,89,104,107,109,124,56,108,106, + 49,66,68,72,75,78,85,91,100,11, + 12,122,114,7,8,14,57,63,69,86, + 90,92,96,99,101,111,112,113,125,55, + 95,19,65,93,103,97,79,1,130,105, + 120,60,80,44,123,20,30,98,33,121, + 110,51,52,58,59,61,71,73,74,87, + 94,67,17,18,32,6,4,15,16,21, + 22,23,24,25,26,27,28,82,83,84, + 5,29,34,35,36,37,38,39,40,41, + 42,43,119,53,3,131,64,118,126,127 }; }; public final static char terminalIndex[] = TerminalIndex.terminalIndex; @@ -2371,28 +2435,29 @@ public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface NonterminalIndex { public final static char nonterminalIndex[] = {0, - 136,141,142,0,0,140,0,0,235,241, - 139,0,149,138,0,0,148,154,0,0, - 155,164,250,0,0,0,165,186,166,167, - 132,168,169,170,171,157,172,173,174,0, - 147,251,134,137,175,0,135,144,143,158, - 183,0,0,0,210,0,0,0,0,0, - 0,0,207,211,0,178,0,161,151,181, - 193,0,0,133,177,0,0,0,0,0, - 0,212,0,0,0,0,0,0,131,184, - 0,0,192,0,0,208,218,163,214,215, - 216,0,0,152,0,0,213,226,180,202, - 0,0,217,0,0,0,230,0,232,0, - 246,247,0,153,185,195,196,197,198,199, - 201,204,0,205,0,220,223,0,225,0, - 244,0,245,0,255,0,145,146,150,0, - 0,160,162,0,176,0,187,188,189,190, - 191,194,0,0,200,0,203,209,0,221, - 222,0,0,227,234,0,238,239,240,243, - 0,252,0,254,0,130,0,156,159,0, - 179,0,182,0,0,206,219,224,0,0, - 228,229,231,233,0,236,237,242,248,249, - 0,0,253,0,0,0,0,0,0 + 138,143,144,0,0,142,0,0,237,243, + 141,0,151,140,0,0,150,156,0,0, + 157,166,252,0,0,0,167,188,168,169, + 134,170,171,172,173,159,174,175,176,0, + 149,253,136,139,177,0,137,146,145,160, + 185,0,0,0,212,0,0,0,0,0, + 0,0,209,213,0,180,0,163,194,153, + 183,0,0,135,179,0,0,0,0,0, + 0,214,0,0,0,0,0,0,133,193, + 0,0,186,0,0,210,220,165,216,217, + 218,0,0,154,0,0,215,228,182,204, + 0,0,219,0,0,0,232,0,234,0, + 248,249,0,155,187,197,198,199,200,201, + 203,206,0,207,0,222,225,0,227,0, + 246,0,247,0,257,258,0,147,148,152, + 0,0,162,164,0,178,0,189,190,191, + 192,195,196,0,0,202,0,205,211,0, + 223,224,0,0,229,236,0,240,241,242, + 245,0,254,0,256,0,259,132,0,158, + 161,0,181,0,184,0,0,208,221,226, + 0,0,230,231,233,235,0,238,239,244, + 250,251,0,0,255,0,0,0,0,0, + 0 }; }; public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex; @@ -2400,20 +2465,20 @@ public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopePrefix { public final static char scopePrefix[] = { - 218,658,677,366,609,625,636,647,449,324, - 338,360,382,400,86,349,469,507,226,666, - 560,64,95,115,124,129,134,189,254,355, - 393,408,413,39,203,330,344,584,71,203, - 459,413,685,71,276,305,1,33,47,58, - 105,120,150,418,438,442,525,553,605,695, - 699,703,141,51,141,487,503,516,537,597, - 288,160,160,516,616,632,643,654,266,571, - 13,25,100,100,215,281,7,100,300,321, - 7,7,100,446,550,557,215,100,718,7, - 154,422,491,531,544,100,169,373,422,169, - 169,373,478,236,18,18,148,296,428,428, - 428,428,529,707,714,18,18,707,714,109, - 296,497,196,148,148,310 + 222,660,679,370,611,627,638,649,451,328, + 342,364,386,404,90,353,471,509,230,668, + 562,68,99,119,128,133,138,193,258,359, + 397,412,417,43,207,334,348,586,75,207, + 461,417,687,75,280,309,1,37,51,62, + 109,124,154,422,440,444,527,555,607,697, + 701,705,145,55,145,489,505,518,539,599, + 292,164,164,518,618,634,645,656,270,573, + 13,25,104,104,219,285,7,104,304,325, + 7,7,104,448,552,559,219,104,720,7, + 158,426,493,533,546,104,173,377,426,173, + 173,377,480,240,18,18,33,152,300,33, + 33,33,33,531,709,716,18,18,709,716, + 113,300,499,200,152,152,314 }; }; public final static char scopePrefix[] = ScopePrefix.scopePrefix; @@ -2421,20 +2486,20 @@ public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeSuffix { public final static char scopeSuffix[] = { - 62,37,37,194,37,37,37,37,456,194, - 139,194,194,406,92,335,475,513,232,111, - 566,69,69,69,103,103,139,194,259,194, - 398,398,406,44,208,335,145,589,82,211, - 464,672,690,76,270,270,5,37,37,62, - 37,103,139,398,139,139,194,303,37,37, - 37,303,716,55,145,456,456,456,541,589, - 292,164,178,520,620,620,620,620,270,575, - 16,16,103,103,37,37,284,286,303,37, - 5,5,286,139,37,303,37,582,37,10, - 157,425,494,534,547,601,164,388,592,172, - 183,376,481,239,23,31,139,298,430,432, - 434,436,139,709,709,20,28,711,711,111, - 292,499,198,261,246,312 + 66,41,41,198,41,41,41,41,458,198, + 143,198,198,410,96,339,477,515,236,115, + 568,73,73,73,107,107,143,198,263,198, + 402,402,410,48,212,339,149,591,86,215, + 466,674,692,80,274,274,5,41,41,66, + 41,107,143,402,143,143,198,307,41,41, + 41,307,718,59,149,458,458,458,543,591, + 296,168,182,522,622,622,622,622,274,577, + 16,16,107,107,41,41,288,290,307,41, + 5,5,290,143,41,307,41,584,41,10, + 161,429,496,536,549,603,168,392,594,176, + 187,380,483,243,23,31,35,143,302,432, + 434,436,438,143,711,711,20,28,713,713, + 115,296,501,202,265,250,316 }; }; public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix; @@ -2442,20 +2507,20 @@ public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeLhs { public final static char scopeLhs[] = { - 51,17,17,128,17,17,17,17,78,92, + 51,17,17,128,17,17,17,17,78,95, 52,86,128,127,83,60,78,77,51,17, - 19,3,7,8,175,175,174,126,51,87, - 127,127,129,24,137,61,52,149,142,137, - 78,17,17,142,102,54,70,181,144,81, - 178,175,174,129,194,58,66,153,17,17, - 17,17,12,122,174,78,77,77,40,149, + 19,3,7,8,176,176,175,126,51,87, + 127,127,129,24,137,61,52,150,142,137, + 78,17,17,142,102,54,71,182,144,81, + 179,176,175,129,196,58,66,154,17,17, + 17,17,12,122,175,78,77,77,40,150, 68,139,139,77,17,17,17,17,102,19, - 117,134,179,175,196,100,107,56,82,55, - 168,70,129,79,154,153,187,149,16,70, - 174,129,109,76,21,149,139,128,149,139, - 139,128,78,51,117,134,174,68,161,160, - 159,158,73,147,49,117,134,147,49,178, - 68,109,126,51,51,54 + 117,134,180,176,198,100,107,56,82,55, + 169,71,129,79,155,154,189,150,16,71, + 175,129,109,76,21,150,139,128,150,139, + 139,128,78,51,117,134,187,175,68,161, + 160,159,158,73,148,49,117,134,148,49, + 179,68,109,126,51,51,54 }; }; public final static char scopeLhs[] = ScopeLhs.scopeLhs; @@ -2463,20 +2528,20 @@ public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeLa { public final static char scopeLa[] = { - 122,69,69,77,69,69,69,69,69,77, - 31,77,77,1,73,1,69,125,75,3, - 69,73,73,73,1,1,31,77,75,77, - 1,1,1,69,77,1,1,4,73,72, - 31,1,1,73,69,69,1,69,69,122, - 69,1,31,1,31,31,77,121,69,69, - 69,121,1,69,1,69,69,69,74,4, - 11,1,1,69,73,73,73,73,69,3, - 6,6,1,1,69,69,3,1,121,69, - 1,1,1,31,69,121,69,8,69,6, - 1,59,76,74,69,1,1,75,59,1, - 1,1,79,78,1,1,31,12,1,61, - 58,58,31,4,4,1,1,4,4,3, - 11,1,75,1,1,3 + 124,71,71,80,71,71,71,71,71,80, + 42,80,80,1,76,1,71,127,75,3, + 71,76,76,76,1,1,42,80,75,80, + 1,1,1,71,80,1,1,4,76,74, + 42,1,1,76,71,71,1,71,71,124, + 71,1,42,1,42,42,80,123,71,71, + 71,123,1,71,1,71,71,71,77,4, + 11,1,1,71,76,76,76,76,71,3, + 6,6,1,1,71,71,3,1,123,71, + 1,1,1,42,71,123,71,8,71,6, + 1,61,79,77,71,1,1,75,61,1, + 1,1,81,78,1,1,27,42,12,1, + 63,60,60,42,4,4,1,1,4,4, + 3,11,1,75,1,1,3 }; }; public final static char scopeLa[] = ScopeLa.scopeLa; @@ -2484,20 +2549,20 @@ public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeStateSet { public final static char scopeStateSet[] = { - 105,304,304,150,304,304,304,304,115,96, - 105,94,150,150,94,107,115,115,105,304, - 304,231,275,275,58,58,91,150,105,94, - 150,150,150,154,371,107,105,133,54,371, - 115,304,304,54,142,70,76,127,30,115, - 34,58,91,150,22,107,37,67,304,304, - 304,304,279,6,91,115,115,115,338,133, - 191,150,150,115,304,304,304,304,142,304, + 105,305,305,150,305,305,305,305,115,96, + 105,94,150,150,94,107,115,115,105,305, + 305,232,276,276,58,58,91,150,105,94, + 150,150,150,154,374,107,105,133,54,374, + 115,305,305,54,142,70,76,127,30,115, + 34,58,91,150,22,107,37,67,305,305, + 305,305,280,6,91,115,115,115,341,133, + 192,150,150,115,305,305,305,305,142,305, 86,26,34,58,24,142,144,70,138,70, - 64,76,150,115,61,67,136,133,304,76, - 91,150,1,115,307,133,150,150,133,150, - 150,150,115,105,86,26,91,191,151,151, - 151,151,11,130,207,86,26,130,207,34, - 191,1,150,105,105,70 + 64,76,150,115,61,67,136,133,305,76, + 91,150,1,115,310,133,150,150,133,150, + 150,150,115,105,86,26,151,91,192,151, + 151,151,151,11,130,208,86,26,130,208, + 34,192,1,150,105,105,70 }; }; public final static char scopeStateSet[] = ScopeStateSet.scopeStateSet; @@ -2505,78 +2570,79 @@ public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeRhs { public final static char scopeRhs[] = {0, - 170,224,132,0,207,0,224,132,0,251, - 207,0,245,170,0,251,0,170,0,230, - 251,0,230,0,198,170,0,181,251,0, - 181,0,340,3,310,0,132,0,339,3, - 3,6,0,132,132,0,338,3,64,0, - 337,3,122,0,132,178,0,132,194,78, - 0,222,0,268,132,60,130,0,20,0, - 308,132,60,59,0,20,53,0,33,138, - 0,20,53,0,0,308,132,60,59,216, - 0,20,184,0,268,132,60,138,0,195, - 133,0,147,0,231,3,307,0,307,0, - 2,0,132,0,268,132,60,137,0,195, - 133,236,0,195,133,28,236,0,195,133, - 333,28,0,134,200,177,133,0,134,0, - 200,177,133,0,140,134,0,181,0,329, - 132,181,0,132,181,0,228,134,0,177, - 328,258,0,142,0,0,0,0,328,258, - 0,143,142,0,0,0,0,141,0,0, - 0,0,143,141,0,0,0,0,327,132, - 175,267,0,133,0,267,0,135,0,0, - 133,0,326,132,175,266,0,133,0,0, - 44,133,0,0,164,3,0,132,298,297, - 132,78,296,181,0,297,132,78,296,181, - 0,221,0,222,0,296,181,0,96,0, - 0,221,0,222,0,209,96,0,0,221, - 0,222,0,297,132,296,181,0,221,0, - 209,0,0,221,0,239,132,3,0,132, - 0,0,0,0,0,239,132,3,228,0, - 235,3,0,214,0,152,0,193,177,133, - 0,10,0,0,0,193,0,9,0,226, - 68,0,131,0,239,132,3,183,0,183, - 0,2,0,0,132,0,0,0,0,0, - 198,3,0,251,132,175,30,36,0,195, - 133,65,67,0,202,134,0,134,195,133, - 294,67,0,195,133,294,67,0,195,133, - 76,129,65,0,251,132,175,65,0,251, - 132,175,238,65,0,292,132,175,129,323, - 61,0,323,61,0,136,135,0,0,133, - 0,292,132,175,323,61,0,135,0,0, - 133,0,195,133,291,61,0,141,0,200, - 195,133,291,258,0,142,0,195,133,291, - 258,0,200,177,133,13,0,177,133,13, - 0,177,133,0,93,142,0,290,0,198, - 0,197,0,196,0,195,0,284,132,156, - 0,284,132,181,0,172,88,0,318,171, - 320,321,3,85,0,132,177,0,320,321, - 3,85,0,134,0,132,177,0,172,3, - 79,203,84,0,132,134,0,203,84,0, - 108,2,137,132,134,0,237,3,79,0, - 198,178,0,33,175,0,178,0,181,33, - 175,0,237,3,89,0,203,159,237,3, - 87,0,62,177,0,237,3,87,0,132, - 177,62,177,0,319,132,175,0,172,0, - 226,81,0,30,177,0,172,110,167,0, - 30,175,0,197,3,0,132,155,0,231, - 3,0,226,68,281,0,172,68,0,197, - 3,315,71,133,0,132,0,0,0,0, - 315,71,133,0,2,151,132,0,0,0, - 0,153,0,131,59,177,133,0,31,153, - 0,93,142,31,153,0,232,195,133,0, - 152,31,153,0,172,3,52,0,172,3, - 73,197,60,44,0,197,60,44,0,20, - 2,137,132,0,172,3,73,197,60,47, - 0,197,60,47,0,172,3,73,197,60, - 49,0,197,60,49,0,172,3,73,197, - 60,45,0,197,60,45,0,231,3,131, - 200,177,133,13,0,131,200,177,133,13, - 0,142,2,0,132,0,231,3,130,274, - 177,133,13,0,274,177,133,13,0,141, - 2,0,132,0,231,3,141,0,231,3, - 145,0,172,68,145,0,276,0,31,0, - 31,145,0,176,0,140,0,172,3,0 + 172,226,134,0,209,0,226,134,0,253, + 209,0,247,172,0,253,0,172,0,232, + 253,0,232,0,201,172,0,183,253,0, + 183,0,292,0,258,0,344,3,313,0, + 134,0,343,3,3,6,0,134,134,0, + 342,3,66,0,341,3,124,0,134,180, + 0,134,196,78,0,224,0,270,134,62, + 132,0,20,0,311,134,62,61,0,20, + 55,0,33,140,0,20,55,0,0,311, + 134,62,61,218,0,20,186,0,270,134, + 62,140,0,197,135,0,149,0,233,3, + 310,0,310,0,2,0,134,0,270,134, + 62,139,0,197,135,238,0,197,135,30, + 238,0,197,135,337,30,0,136,202,179, + 135,0,136,0,202,179,135,0,142,136, + 0,183,0,333,134,183,0,134,183,0, + 230,136,0,179,332,260,0,144,0,0, + 0,0,332,260,0,145,144,0,0,0, + 0,143,0,0,0,0,145,143,0,0, + 0,0,331,134,177,269,0,135,0,269, + 0,137,0,0,135,0,330,134,177,268, + 0,135,0,0,44,135,0,0,166,3, + 0,134,301,300,134,78,299,183,0,300, + 134,78,299,183,0,223,0,224,0,299, + 183,0,98,0,0,223,0,224,0,211, + 98,0,0,223,0,224,0,300,134,299, + 183,0,223,0,211,0,0,223,0,241, + 134,3,0,134,0,0,0,0,0,241, + 134,3,230,0,237,3,0,216,0,154, + 0,195,179,135,0,10,0,0,0,195, + 0,9,0,228,68,0,133,0,241,134, + 3,185,0,185,0,2,0,0,134,0, + 0,0,0,0,201,3,0,253,134,177, + 43,33,0,197,135,67,70,0,204,136, + 0,136,197,135,297,70,0,197,135,297, + 70,0,197,135,79,131,67,0,253,134, + 177,67,0,253,134,177,240,67,0,295, + 134,177,131,327,63,0,327,63,0,138, + 137,0,0,135,0,295,134,177,327,63, + 0,137,0,0,135,0,197,135,294,63, + 0,143,0,202,197,135,294,260,0,144, + 0,197,135,294,260,0,202,179,135,13, + 0,179,135,13,0,179,135,0,95,144, + 0,200,0,199,0,198,0,197,0,287, + 134,158,0,287,134,183,0,174,90,0, + 322,173,324,325,3,87,0,134,179,0, + 324,325,3,87,0,136,0,134,179,0, + 174,3,81,205,86,0,134,136,0,205, + 86,0,110,2,139,134,136,0,239,3, + 81,0,201,180,0,33,177,0,180,0, + 183,33,177,0,239,3,91,0,205,161, + 239,3,89,0,64,179,0,239,3,89, + 0,134,179,64,179,0,323,134,177,0, + 174,0,228,83,0,30,179,0,174,112, + 169,0,30,177,0,200,3,0,134,157, + 0,233,3,0,228,68,284,0,174,68, + 0,200,3,319,73,135,0,134,0,0, + 0,0,319,73,135,0,2,153,134,0, + 0,0,0,155,0,133,61,179,135,0, + 31,155,0,95,144,31,155,0,234,197, + 135,0,154,31,155,0,174,3,55,0, + 174,3,76,200,62,47,0,200,62,47, + 0,20,2,139,134,0,174,3,76,200, + 62,50,0,200,62,50,0,174,3,76, + 200,62,52,0,200,62,52,0,174,3, + 76,200,62,48,0,200,62,48,0,233, + 3,133,202,179,135,13,0,133,202,179, + 135,13,0,144,2,0,134,0,233,3, + 132,277,179,135,13,0,277,179,135,13, + 0,143,2,0,134,0,233,3,143,0, + 233,3,147,0,174,68,147,0,279,0, + 31,0,31,147,0,178,0,142,0,174, + 3,0 }; }; public final static char scopeRhs[] = ScopeRhs.scopeRhs; @@ -2584,44 +2650,44 @@ public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeState { public final static char scopeState[] = {0, - 5630,5729,5726,5719,0,886,1780,659,1733,0, - 4092,4029,3933,3887,3841,3795,3749,3703,3657,3451, - 3384,4353,0,1303,0,2818,3174,2478,0,2573, - 2244,670,0,1163,956,0,4092,4029,1742,1648, - 3933,3887,3841,3795,3749,3703,591,3657,3451,3384, - 2793,2641,0,5656,2640,868,0,2531,1325,0, - 1675,1487,0,4533,3339,0,2785,2493,0,4231, - 4533,5014,4204,2749,3339,4015,2818,5282,4560,3174, - 4452,2478,5252,3322,3309,3147,3076,3049,2593,0, - 5305,5296,0,5305,5296,4467,5189,5124,4359,5112, - 5047,5005,4347,0,5305,5296,4467,5189,5124,4359, - 5112,5047,5005,4347,4092,4029,3933,3887,3841,3795, - 3749,3703,3657,3451,3384,0,1581,2280,0,2630, - 867,0,801,728,0,933,0,2016,1969,1041, - 921,2749,5400,4015,3322,3309,3062,2524,0,4672, - 587,2852,0,2818,3978,4560,5018,3174,3209,4452, - 4479,3098,4468,3147,4100,2783,3449,3076,5014,3049, - 2941,2627,5690,5686,5421,5415,3458,2473,928,660, - 4672,2866,3702,2776,4348,2744,2739,2514,587,2852, - 2478,4231,5516,4204,2749,5394,2593,5509,5487,4360, - 5006,5400,5522,5429,5407,0,5651,5621,5601,5596, - 5592,5569,5565,5559,5360,5328,5702,5318,4222,5693, - 5676,4249,3094,3909,3358,3067,2588,3771,815,0, - 4159,3688,5651,5621,5601,3565,3556,5596,2931,5592, - 5569,5565,5559,5360,3296,1685,1667,5328,1620,5702, - 1573,1450,1293,1211,5318,4222,1032,2795,5693,4577, - 5676,2419,4249,3094,3909,990,3358,3067,2588,4672, - 791,2852,3771,815,2509,2384,2290,1387,873,4015, - 2818,5282,4560,3174,4452,2478,3147,4231,3076,4533, - 5014,3049,4204,2749,5252,2593,3322,3339,3309,1238, - 1019,801,728,5218,4593,3664,4983,4961,2549,2664, - 2895,2713,3273,3240,3015,4174,4034,3633,3602,3571, - 3533,4649,4626,687,4323,4300,4939,4917,4895,4873, - 4851,4829,4807,4772,4739,4709,2987,2161,2437,2396, - 2343,1456,2302,2249,2208,1409,1346,1188,1299,967, - 2114,634,897,820,750,2067,2020,1973,1926,1879, - 1832,1785,1738,1691,1644,1597,587,1550,1503,1252, - 1092,1044,1140,0 + 4193,5709,5488,4194,0,1998,1784,1972,1735,0, + 4038,3992,3895,3849,3803,3757,3711,3665,3619,2722, + 3435,4939,0,1172,0,2924,3219,2574,0,3405, + 3252,3177,0,2483,1208,0,4038,3992,1905,1838, + 3895,3849,3803,3757,3711,3665,1530,3619,2722,3435, + 3419,3086,0,5624,1481,4300,0,2805,1119,0, + 2093,1074,0,5388,5331,0,1583,1221,0,4177, + 5388,4947,4150,645,5331,3977,2924,5308,4561,3219, + 4465,2574,5295,3373,3360,3192,3120,3093,2601,0, + 2649,5324,0,2649,5324,4495,5094,5055,4399,5016, + 4977,4938,4307,0,2649,5324,4495,5094,5055,4399, + 5016,4977,4938,4307,4038,3992,3895,3849,3803,3757, + 3711,3665,3619,2722,3435,0,1677,1236,0,2486, + 1380,0,881,809,0,638,0,2018,1736,1493, + 1050,645,5471,3977,3373,3360,3106,2614,0,4292, + 594,2686,0,2924,2960,4561,5751,3219,2945,4465, + 5731,2794,5378,3192,4962,2368,3710,3120,4947,3093, + 4518,2230,5710,5704,4507,3848,641,1368,799,636, + 4292,2738,5592,5585,2914,5578,3664,4410,3089,594, + 2686,2574,4177,5564,4150,645,5449,2601,5558,5526, + 4381,5422,5471,5620,5479,5413,0,5700,5691,5671, + 5648,5638,5127,5118,4510,4376,4322,3917,4168,3409, + 3609,3502,3392,2941,3276,3397,2744,2592,3026,2619, + 0,2840,2515,5700,5691,5671,2421,2186,5648,853, + 5638,5127,5118,4510,4376,3068,1716,1669,4322,1640, + 3917,1546,1137,1087,1069,4168,3409,997,702,3609, + 2974,3502,1237,3392,2941,3276,925,3397,2744,4292, + 2592,871,2686,3026,2619,1436,1283,728,672,955, + 3977,2924,5308,4561,3219,4465,2574,3192,4177,3120, + 5388,4947,3093,4150,645,5295,2601,3373,5331,3360, + 2673,1027,881,809,5274,5253,5232,5211,5190,4916, + 4894,1144,2850,2991,2888,3327,3286,3032,4120,3997, + 3624,3586,3555,3517,4651,4628,4591,4269,4246,4872, + 4850,4828,4806,4784,4762,4740,4718,4696,4674,4336, + 2257,2533,2492,2439,1505,2398,2345,2304,1457,1395, + 1242,1344,974,2204,2163,902,830,758,2116,2069, + 2022,1975,1928,1881,1834,1787,1740,1693,1646,594, + 1599,1552,1297,1096,1046,1185,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -2629,65 +2695,65 @@ public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface InSymb { public final static char inSymb[] = {0, - 0,314,132,283,52,44,47,49,45,13, - 141,130,137,9,138,4,3,133,56,57, - 48,43,8,26,25,11,12,33,32,145, - 150,157,155,160,158,162,161,165,163,166, - 64,167,72,3,60,60,60,60,133,3, - 60,60,178,132,68,3,70,71,60,8, - 197,172,178,132,70,71,177,176,130,3, - 129,131,109,123,3,68,94,95,26,25, - 97,96,11,99,98,73,60,91,92,12, - 101,100,103,102,104,120,119,118,117,116, - 115,114,113,112,111,76,110,105,172,197, - 197,197,197,177,231,132,132,132,285,6, - 7,5,286,267,287,258,288,61,289,290, - 13,133,68,68,132,130,159,132,68,3, - 229,228,141,131,130,13,133,68,315,3, - 200,4,59,133,59,231,172,155,155,150, - 150,150,158,158,158,158,157,157,161,160, - 160,163,162,165,172,166,73,73,73,73, - 200,274,268,271,268,224,170,133,193,3, - 3,3,175,328,291,170,323,291,170,133, - 195,177,268,224,226,167,235,132,3,133, - 177,217,3,316,178,164,276,200,133,195, - 177,74,3,3,3,3,131,130,72,177, - 11,3,341,1,30,132,177,242,131,130, - 133,129,175,133,177,59,239,240,156,241, - 132,177,59,197,132,132,4,232,8,59, - 172,172,172,172,3,3,193,132,339,310, - 3,327,133,179,236,65,59,216,67,181, - 330,131,130,243,170,243,195,175,132,195, - 200,159,76,235,198,192,183,133,3,132, - 72,239,200,159,278,281,68,196,4,129, - 131,231,231,11,199,72,159,3,1,177, - 175,238,60,59,294,296,132,3,183,243, - 243,132,132,200,132,292,129,293,132,76, - 76,3,195,177,198,132,224,159,131,132, - 3,68,172,4,132,340,200,132,175,73, - 60,133,78,132,224,329,74,247,198,130, - 133,132,245,170,132,132,74,292,76,72, - 233,132,170,132,278,231,226,72,134,251, - 36,59,181,5,65,67,253,132,132,195, - 132,297,74,72,74,76,177,224,170,245, - 170,151,332,236,28,133,132,239,233,30, - 132,342,129,65,251,308,59,13,58,134, - 297,175,306,133,307,245,170,72,133,28, - 333,195,64,159,132,132,175,284,198,262, - 295,170,3,76,133,72,73,60,242,242, - 298,132,72,195,3,195,133,133,3,132, - 132,170,3,76,72,198,343,30,273,133, - 195,132,76,76,132,319,83,81,1,172, - 10,89,87,85,84,79,86,88,82,80, - 65,78,231,195,195,338,233,251,164,175, - 266,170,170,74,159,3,72,195,238,308, - 299,122,10,74,226,74,3,3,3,203, - 3,129,172,129,194,72,132,132,175,11, - 1,238,73,3,74,237,178,237,321,156, - 79,237,132,132,1,58,93,337,178,159, - 198,159,320,132,3,159,299,326,242,159, - 159,132,76,203,171,284,172,202,72,76, - 125,318,159,202,10,159 + 0,318,134,286,55,47,50,52,48,13, + 143,132,139,9,140,4,3,135,27,59, + 51,46,8,41,40,11,12,45,44,147, + 152,159,157,162,160,164,163,167,165,168, + 66,169,74,3,62,62,62,62,135,3, + 62,62,180,134,68,3,72,73,62,8, + 200,174,180,134,72,73,179,178,132,3, + 131,133,111,125,3,68,96,97,41,40, + 99,98,11,101,100,76,62,93,94,12, + 103,102,105,104,106,122,121,120,119,118, + 117,116,115,114,113,79,112,107,174,200, + 200,200,200,179,233,134,134,134,288,6, + 7,5,269,289,260,290,63,291,13,135, + 317,27,293,292,68,68,134,132,161,134, + 68,3,231,230,133,132,13,135,27,143, + 68,319,3,202,4,61,135,61,233,174, + 157,157,152,152,152,160,160,160,160,159, + 159,163,162,162,165,164,167,174,168,76, + 76,76,76,202,277,270,273,270,226,172, + 135,195,3,3,3,177,332,294,172,327, + 294,172,135,197,179,270,226,228,169,237, + 134,3,135,179,148,219,3,320,180,166, + 279,202,135,197,179,77,3,3,3,3, + 133,132,74,179,11,3,345,1,43,134, + 179,244,133,132,135,131,177,135,179,61, + 241,242,158,243,134,179,61,200,134,134, + 4,234,8,61,174,174,174,174,3,3, + 195,134,343,313,3,331,135,181,238,67, + 61,218,70,183,334,133,132,245,172,245, + 197,177,134,197,202,161,79,237,201,194, + 185,135,3,134,74,241,202,161,281,284, + 68,198,4,131,133,233,233,11,199,74, + 161,3,1,179,177,240,62,61,297,299, + 134,3,185,245,245,134,134,202,134,295, + 131,296,134,79,79,3,197,179,201,134, + 226,161,133,134,3,68,174,4,134,344, + 202,134,177,76,62,135,78,134,226,333, + 77,249,201,132,135,134,247,172,134,134, + 77,295,79,74,235,134,172,134,281,233, + 228,74,136,253,33,61,183,5,67,70, + 255,134,134,197,134,300,77,74,77,79, + 179,226,172,247,172,153,336,238,30,135, + 134,241,235,43,134,346,131,67,253,311, + 61,13,60,136,300,177,309,135,310,247, + 172,74,135,30,337,197,66,161,134,134, + 177,287,201,264,298,172,3,79,135,74, + 76,62,244,244,301,134,74,197,3,197, + 135,135,3,134,134,172,3,79,74,201, + 347,43,275,135,197,134,79,79,134,323, + 85,83,1,174,10,91,89,87,86,81, + 88,90,84,82,67,78,233,197,197,342, + 235,253,166,177,268,172,172,77,161,3, + 74,197,240,311,302,124,10,77,228,77, + 3,3,3,205,3,131,174,131,196,74, + 134,134,177,11,1,240,76,3,77,239, + 180,239,325,158,81,239,134,134,1,60, + 95,341,180,161,201,161,324,134,3,161, + 302,330,244,161,161,134,79,205,173,287, + 174,204,74,79,127,322,161,204,10,161 }; }; public final static char inSymb[] = InSymb.inSymb; @@ -2741,6 +2807,8 @@ public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab "|=", ",", "$empty", + "_Complex", + "_Imaginary", "asm", "auto", "bool", @@ -2884,7 +2952,6 @@ public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab "declaration", "declaration_seq", "declaration_specifiers", - "simple_declaration_specifiers", "class_declaration_specifiers", "elaborated_declaration_specifi" + "ers", @@ -2894,6 +2961,7 @@ public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab "no_type_declaration_specifier", "cv_qualifier", "no_type_declaration_specifiers", + "simple_declaration_specifiers", "class_specifier", "elaborated_type_specifier", "enum_specifier", @@ -2957,16 +3025,18 @@ public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab "word", "extended_decl_modifier_seq", "extended_decl_modifier", - "extended_asm_param" + "extended_asm_param", + "typeof_type_specifier", + "typeof_declaration_specifiers" }; }; public final static String name[] = Name.name; public final String name(int index) { return name[index]; } public final static int - ERROR_SYMBOL = 66, - SCOPE_UBOUND = 135, - SCOPE_SIZE = 136, + ERROR_SYMBOL = 69, + SCOPE_UBOUND = 136, + SCOPE_SIZE = 137, MAX_NAME_LENGTH = 37; public final int getErrorSymbol() { return ERROR_SYMBOL; } @@ -2975,20 +3045,20 @@ public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public final int getMaxNameLength() { return MAX_NAME_LENGTH; } public final static int - NUM_STATES = 586, - NT_OFFSET = 128, - LA_STATE_OFFSET = 6953, + NUM_STATES = 590, + NT_OFFSET = 130, + LA_STATE_OFFSET = 7253, MAX_LA = 2147483647, - NUM_RULES = 586, - NUM_NONTERMINALS = 219, - NUM_SYMBOLS = 347, + NUM_RULES = 593, + NUM_NONTERMINALS = 221, + NUM_SYMBOLS = 351, SEGMENT_SIZE = 8192, - START_STATE = 675, + START_STATE = 3776, IDENTIFIER_SYMBOL = 0, - EOFT_SYMBOL = 124, - EOLT_SYMBOL = 124, - ACCEPT_ACTION = 5854, - ERROR_ACTION = 6367; + EOFT_SYMBOL = 126, + EOLT_SYMBOL = 126, + ACCEPT_ACTION = 5859, + ERROR_ACTION = 6660; public final static boolean BACKTRACK = true; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPSizeofExpressionParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPSizeofExpressionParsersym.java index 0245c2f0a22..f20f2f932e6 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPSizeofExpressionParsersym.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPSizeofExpressionParsersym.java @@ -15,134 +15,136 @@ package org.eclipse.cdt.internal.core.dom.lrparser.gpp; public interface GPPSizeofExpressionParsersym { public final static int + TK__Complex = 14, + TK__Imaginary = 15, TK_asm = 5, - TK_auto = 34, - TK_bool = 14, - TK_break = 80, - TK_case = 81, - TK_catch = 122, - TK_char = 15, - TK_class = 58, - TK_const = 27, - TK_const_cast = 44, - TK_continue = 82, - TK_default = 83, - TK_delete = 70, - TK_do = 84, - TK_double = 16, - TK_dynamic_cast = 45, - TK_else = 125, - TK_enum = 61, - TK_explicit = 35, - TK_export = 90, - TK_extern = 36, - TK_false = 46, - TK_float = 17, - TK_for = 85, - TK_friend = 37, - TK_goto = 86, - TK_if = 87, - TK_inline = 38, - TK_int = 18, - TK_long = 19, - TK_mutable = 39, - TK_namespace = 65, - TK_new = 71, + TK_auto = 31, + TK_bool = 16, + TK_break = 82, + TK_case = 83, + TK_catch = 124, + TK_char = 17, + TK_class = 60, + TK_const = 28, + TK_const_cast = 47, + TK_continue = 84, + TK_default = 85, + TK_delete = 72, + TK_do = 86, + TK_double = 18, + TK_dynamic_cast = 48, + TK_else = 127, + TK_enum = 63, + TK_explicit = 32, + TK_export = 92, + TK_extern = 33, + TK_false = 49, + TK_float = 19, + TK_for = 87, + TK_friend = 34, + TK_goto = 88, + TK_if = 89, + TK_inline = 35, + TK_int = 20, + TK_long = 21, + TK_mutable = 36, + TK_namespace = 67, + TK_new = 73, TK_operator = 9, - TK_private = 106, - TK_protected = 107, - TK_public = 108, - TK_register = 40, - TK_reinterpret_cast = 47, - TK_return = 88, - TK_short = 20, - TK_signed = 21, - TK_sizeof = 48, - TK_static = 41, - TK_static_cast = 49, - TK_struct = 62, - TK_switch = 89, - TK_template = 59, - TK_this = 50, - TK_throw = 64, + TK_private = 108, + TK_protected = 109, + TK_public = 110, + TK_register = 37, + TK_reinterpret_cast = 50, + TK_return = 90, + TK_short = 22, + TK_signed = 23, + TK_sizeof = 51, + TK_static = 38, + TK_static_cast = 52, + TK_struct = 64, + TK_switch = 91, + TK_template = 61, + TK_this = 53, + TK_throw = 66, TK_try = 78, - TK_true = 51, - TK_typedef = 42, - TK_typeid = 52, + TK_true = 54, + TK_typedef = 39, + TK_typeid = 55, TK_typename = 13, - TK_union = 63, - TK_unsigned = 22, - TK_using = 67, - TK_virtual = 28, - TK_void = 23, + TK_union = 65, + TK_unsigned = 24, + TK_using = 70, + TK_virtual = 30, + TK_void = 25, TK_volatile = 29, - TK_wchar_t = 24, - TK_while = 79, - TK_integer = 53, - TK_floating = 54, - TK_charconst = 55, - TK_stringlit = 30, + TK_wchar_t = 26, + TK_while = 81, + TK_integer = 56, + TK_floating = 57, + TK_charconst = 58, + TK_stringlit = 43, TK_identifier = 1, TK_Completion = 2, TK_EndOfCompletion = 10, - TK_Invalid = 126, + TK_Invalid = 128, TK_LeftBracket = 68, TK_LeftParen = 3, - TK_Dot = 123, - TK_DotStar = 95, - TK_Arrow = 109, - TK_ArrowStar = 94, - TK_PlusPlus = 32, - TK_MinusMinus = 33, + TK_Dot = 125, + TK_DotStar = 97, + TK_Arrow = 111, + TK_ArrowStar = 96, + TK_PlusPlus = 44, + TK_MinusMinus = 45, TK_And = 12, TK_Star = 11, - TK_Plus = 25, - TK_Minus = 26, + TK_Plus = 40, + TK_Minus = 41, TK_Tilde = 8, - TK_Bang = 43, - TK_Slash = 96, - TK_Percent = 97, - TK_RightShift = 91, - TK_LeftShift = 92, - TK_LT = 60, - TK_GT = 73, - TK_LE = 98, - TK_GE = 99, - TK_EQ = 100, - TK_NE = 101, - TK_Caret = 102, - TK_Or = 103, - TK_AndAnd = 104, - TK_OrOr = 105, - TK_Question = 110, - TK_Colon = 74, + TK_Bang = 46, + TK_Slash = 98, + TK_Percent = 99, + TK_RightShift = 93, + TK_LeftShift = 94, + TK_LT = 62, + TK_GT = 76, + TK_LE = 100, + TK_GE = 101, + TK_EQ = 102, + TK_NE = 103, + TK_Caret = 104, + TK_Or = 105, + TK_AndAnd = 106, + TK_OrOr = 107, + TK_Question = 112, + TK_Colon = 77, TK_ColonColon = 4, - TK_DotDotDot = 93, - TK_Assign = 76, - TK_StarAssign = 111, - TK_SlashAssign = 112, - TK_PercentAssign = 113, - TK_PlusAssign = 114, - TK_MinusAssign = 115, - TK_RightShiftAssign = 116, - TK_LeftShiftAssign = 117, - TK_AndAssign = 118, - TK_CaretAssign = 119, - TK_OrAssign = 120, - TK_Comma = 72, - TK_RightBracket = 121, - TK_RightParen = 69, - TK_RightBrace = 77, - TK_SemiColon = 31, + TK_DotDotDot = 95, + TK_Assign = 79, + TK_StarAssign = 113, + TK_SlashAssign = 114, + TK_PercentAssign = 115, + TK_PlusAssign = 116, + TK_MinusAssign = 117, + TK_RightShiftAssign = 118, + TK_LeftShiftAssign = 119, + TK_AndAssign = 120, + TK_CaretAssign = 121, + TK_OrAssign = 122, + TK_Comma = 74, + TK_RightBracket = 123, + TK_RightParen = 71, + TK_RightBrace = 80, + TK_SemiColon = 42, TK_LeftBrace = 75, - TK_typeof = 56, - TK___alignof__ = 57, - TK_MAX = 127, - TK_MIN = 128, + TK_typeof = 27, + TK___alignof__ = 59, + TK_MAX = 129, + TK_MIN = 130, TK___attribute__ = 6, TK___declspec = 7, - TK_ERROR_TOKEN = 66, - TK_EOF_TOKEN = 124; + TK_ERROR_TOKEN = 69, + TK_EOF_TOKEN = 126; public final static String orderedTerminalSymbols[] = { "", @@ -159,6 +161,8 @@ public interface GPPSizeofExpressionParsersym { "Star", "And", "typename", + "_Complex", + "_Imaginary", "bool", "char", "double", @@ -170,15 +174,10 @@ public interface GPPSizeofExpressionParsersym { "unsigned", "void", "wchar_t", - "Plus", - "Minus", + "typeof", "const", - "virtual", "volatile", - "stringlit", - "SemiColon", - "PlusPlus", - "MinusMinus", + "virtual", "auto", "explicit", "extern", @@ -188,6 +187,12 @@ public interface GPPSizeofExpressionParsersym { "register", "static", "typedef", + "Plus", + "Minus", + "SemiColon", + "stringlit", + "PlusPlus", + "MinusMinus", "Bang", "const_cast", "dynamic_cast", @@ -201,7 +206,6 @@ public interface GPPSizeofExpressionParsersym { "integer", "floating", "charconst", - "typeof", "__alignof__", "class", "template", @@ -211,19 +215,19 @@ public interface GPPSizeofExpressionParsersym { "union", "throw", "namespace", + "LeftBracket", "ERROR_TOKEN", "using", - "LeftBracket", "RightParen", "delete", "new", "Comma", + "LeftBrace", "GT", "Colon", - "LeftBrace", + "try", "Assign", "RightBrace", - "try", "while", "break", "case", |