diff options
author | Vivian Kong | 2010-05-03 19:25:20 +0000 |
---|---|---|
committer | Vivian Kong | 2010-05-03 19:25:20 +0000 |
commit | dbc043b92d2b270c13a9ed6f8043aeb983fbab47 (patch) | |
tree | a680708d47b07d526c3788bc48a81aa4619e901f | |
parent | ea7279e2d7bbed9205cc26c71cb20b2679d1d823 (diff) | |
download | org.eclipse.cdt-dbc043b92d2b270c13a9ed6f8043aeb983fbab47.tar.gz org.eclipse.cdt-dbc043b92d2b270c13a9ed6f8043aeb983fbab47.tar.xz org.eclipse.cdt-dbc043b92d2b270c13a9ed6f8043aeb983fbab47.zip |
Bug 310724 - [LR Parser] Some c/c++ syntax cause content assist hanging, such as try-catch and do-while
89 files changed, 28288 insertions, 27659 deletions
diff --git a/core/org.eclipse.cdt.ui/META-INF/MANIFEST.MF b/core/org.eclipse.cdt.ui/META-INF/MANIFEST.MF index 0d59d8f1849..b762ffaa5e7 100644 --- a/core/org.eclipse.cdt.ui/META-INF/MANIFEST.MF +++ b/core/org.eclipse.cdt.ui/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.cdt.ui; singleton:=true -Bundle-Version: 5.0.2.qualifier +Bundle-Version: 5.0.3.qualifier Bundle-Activator: org.eclipse.cdt.ui.CUIPlugin Bundle-Vendor: %providerName Bundle-Localization: plugin diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/CEditor.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/CEditor.java index bc15fb401d3..28a340b0573 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/CEditor.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/CEditor.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2005, 2008 IBM Corporation and others. + * Copyright (c) 2005, 2010 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 @@ -3379,4 +3379,8 @@ public class CEditor extends TextEditor implements ISelectionChangedListener, IC // workaround for http://bugs.eclipse.org/75555 return super.isPrefQuickDiffAlwaysOn() && !isEnableScalablilityMode(); } + + public boolean shouldProcessLocalParsingCompletions() { + return true; + } } diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/CContentAssistInvocationContext.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/CContentAssistInvocationContext.java index d7970fb7046..99e770a2bb1 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/CContentAssistInvocationContext.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/CContentAssistInvocationContext.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2005, 2008 IBM Corporation and others. + * Copyright (c) 2005, 2010 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 @@ -116,6 +116,13 @@ public class CContentAssistInvocationContext extends ContentAssistInvocationCont //for scalability if (fEditor != null && fEditor instanceof CEditor) { CEditor editor = (CEditor)fEditor; + + // check to make sure we should attempt local parsing completions... for remote projects + // we should not do this + if(!editor.shouldProcessLocalParsingCompletions()) { + return null; + } + if (editor.isEnableScalablilityMode()) { if (editor.isParserBasedContentAssistDisabled()) { return null; diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/META-INF/MANIFEST.MF b/lrparser/org.eclipse.cdt.core.lrparser.tests/META-INF/MANIFEST.MF index 92f6f2f6669..bc60c31762f 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser.tests/META-INF/MANIFEST.MF +++ b/lrparser/org.eclipse.cdt.core.lrparser.tests/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name.0 Bundle-SymbolicName: org.eclipse.cdt.core.lrparser.tests -Bundle-Version: 5.0.2.qualifier +Bundle-Version: 5.0.3.qualifier Require-Bundle: org.eclipse.core.runtime, org.junit, org.eclipse.cdt.core.tests, diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/AbstractLRHangingTest.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/AbstractLRHangingTest.java new file mode 100644 index 00000000000..b3acd654260 --- /dev/null +++ b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/AbstractLRHangingTest.java @@ -0,0 +1,128 @@ +/******************************************************************************* + * Copyright (c) 2010 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.lrparser.tests; + + +import org.eclipse.cdt.core.dom.ast.IASTCompletionNode; +import org.eclipse.cdt.core.dom.lrparser.gnu.GCCLanguage; +import org.eclipse.cdt.core.dom.lrparser.gnu.GPPLanguage; +import org.eclipse.cdt.core.model.ILanguage; + +import junit.framework.TestCase; + + +public class AbstractLRHangingTest extends TestCase{ + + + + + public AbstractLRHangingTest() { + } + + public AbstractLRHangingTest(String name) { + super(name); + } + + + + + protected ILanguage getCLanguage() { + return GCCLanguage.getDefault(); + } + + protected ILanguage getCPPLanguage() { + return GPPLanguage.getDefault(); + } + + protected void runThreadByLimitedTime(long limitTime, Thread testThread)throws Exception{ + testThread.start(); + testThread.join(limitTime); + + if (testThread.isAlive()) { + testThread.interrupt(); + fail("timeout by " + limitTime / 1000 + " seconds"); //$NON-NLS-2$ + } else { + // Finished + } + } + + // 1mins + public static long THREAD_TIMEOUT_LIMIT = 1 * 60 * 1000; + public static String CONTENT_ASIST_CURSOR =" /*<ctrl-space>*/ "; + + private String errMsg=""; + + public void resetErrMsg(){ + errMsg=""; + } + + public void setErrMsg(String errMsg){ + this.errMsg=errMsg; + } + + + protected void runTestCase(final String code, final ILanguage language)throws Exception{ + + + Thread testThread = new Thread() { + + + public void run() { + + String errMsg=""; + resetErrMsg(); + String msg=null; + int offset = code.indexOf(CONTENT_ASIST_CURSOR); + int index=0; + while(offset >=0){ + + IASTCompletionNode node = null; + try { + node = ParseHelper.getCompletionNode(code, language, offset); + } catch (Exception e) { + if(errMsg.length()==0){ + errMsg = "caught an exception when the code is parsed for cursor number " + index; + }else{ + errMsg = errMsg + "\n" + "caught an exception when the code is parsed for cursor number " + index; + } + + } + if(node == null){ + if(errMsg.length()==0){ + errMsg = "return completion node is null when the code is parsed for cursor number " + index; + }else{ + errMsg = errMsg + "\n" + "return completion node is null when the code is parsed for cursor number " + index; + } + + } + offset = code.indexOf(CONTENT_ASIST_CURSOR, offset + 1); + index++; + } + setErrMsg(errMsg); + + } + + }; + + runThreadByLimitedTime(THREAD_TIMEOUT_LIMIT, testThread); + if(errMsg.length()>0){ + fail(errMsg); + } + + } + + + + + + + +} diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCompletionHangingTest.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCompletionHangingTest.java new file mode 100644 index 00000000000..9f6a0961ff7 --- /dev/null +++ b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCompletionHangingTest.java @@ -0,0 +1,163 @@ +/******************************************************************************* + * Copyright (c) 2010 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.lrparser.tests; + + + + + +import junit.framework.TestSuite; + +public class LRCompletionHangingTest extends AbstractLRHangingTest { + + + + public static TestSuite suite() { + return new TestSuite(LRCompletionHangingTest.class); + } + + + + + + //test c + public void testCompletionDoWhileForC() throws Exception { + + String code = + "int main(int argc, char **argv) {" + + "do{" + + CONTENT_ASIST_CURSOR + + "} while (i < 3);" + + "}"; + + runTestCase(code, getCLanguage()); + + } + + + + //test cpp + public void testCompletionDoWhileForCPP() throws Exception { + + String code = + "int main(int argc, char **argv) {" + + "do{" + + CONTENT_ASIST_CURSOR + + "} while (i < 3);" + + "}"; + runTestCase(code, getCPPLanguage()); + } + + public void testCompletionTryCatch() throws Exception { + + String code = + "int main(int argc, char **argv) {" + + "try {" + + CONTENT_ASIST_CURSOR + + "}" + + + "catch(x){}" + + "}"; + runTestCase(code, getCPPLanguage()); + + } + + + + + public void testCompletionTemplateFunctionForCPP() throws Exception { + + String code = + "template " + CONTENT_ASIST_CURSOR +"<class myType>" + + "myType GetA (myType a) {" + + "return a;" + + "}" + + + "int main(int argc, char **argv) {" + + "int x=0;" + + "int y = GetA " + CONTENT_ASIST_CURSOR + " <int> (x);" + + "}"; + runTestCase(code, getCPPLanguage()); + } + + + public void testCompletionIfForCPP() throws Exception { + String code = + "int main(int argc, char **argv) {" + + "int x=0;" + + "if" + CONTENT_ASIST_CURSOR +"(x>0){}" + + "}"; + runTestCase(code, getCPPLanguage()); + + } + + public void testCompletionTemplateClassForCPP() throws Exception { + + String code = + "template" + CONTENT_ASIST_CURSOR +" <class T> " + + "class Test {" + + "T val;" + + "public:Test(T arg){"+ + "val = arg;" + + "}" + + "~" + CONTENT_ASIST_CURSOR +"Test();"+ + "};" + + "Test::" + CONTENT_ASIST_CURSOR +"~" + CONTENT_ASIST_CURSOR +"Test(){}" + + "int main(int argc, char **argv) {" + + CONTENT_ASIST_CURSOR + + "Test<" + CONTENT_ASIST_CURSOR + "int> t(1);" + + "Test<" + CONTENT_ASIST_CURSOR +"double>" + CONTENT_ASIST_CURSOR + "* dt = new dt(1.0);" + + "S* s = dynamic_cast<S*" + CONTENT_ASIST_CURSOR +">(dt);" + + "S* s = dynamic_cast" + CONTENT_ASIST_CURSOR +"<S*>(dt);" + + "}"; + runTestCase(code, getCPPLanguage()); + } + + + + + public void testCompletionSimpleIfForCPP() throws Exception { + String code = + "#" + CONTENT_ASIST_CURSOR + "include " + CONTENT_ASIST_CURSOR + "<iostream>" + + "using " + CONTENT_ASIST_CURSOR + "namespace std;" + + "if" + CONTENT_ASIST_CURSOR + "(i>0)){}" + + "int " + CONTENT_ASIST_CURSOR + "*" + CONTENT_ASIST_CURSOR + " i " + CONTENT_ASIST_CURSOR + "=" + CONTENT_ASIST_CURSOR + " &" + CONTENT_ASIST_CURSOR + "j;" + + "*" + CONTENT_ASIST_CURSOR + "j=0;" + + "*" + CONTENT_ASIST_CURSOR + "j++;"+ + "*i" + CONTENT_ASIST_CURSOR + "++ = " + CONTENT_ASIST_CURSOR + "*j++;"; + runTestCase(code, getCPPLanguage()); + + } + + public void testCompletionStructForCPP() throws Exception { + String code = + "struct " + CONTENT_ASIST_CURSOR + "p " + CONTENT_ASIST_CURSOR + "{" + + CONTENT_ASIST_CURSOR+ + "int w;" + + "float p;" + + "} " + CONTENT_ASIST_CURSOR + "a," + CONTENT_ASIST_CURSOR + "b,c;"; + + runTestCase(code, getCPPLanguage()); + + } + + public void testCompletionGnuCPP() throws Exception { + String code = + "if a>b ? " + CONTENT_ASIST_CURSOR + "g" + CONTENT_ASIST_CURSOR + ":l;" + + "case 1..." + CONTENT_ASIST_CURSOR + "3 : ok; "; + runTestCase(code, getCPPLanguage()); + } + + + + +} diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCompletionParseTest.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCompletionParseTest.java index 373d3c2a213..deff2283107 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCompletionParseTest.java +++ b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCompletionParseTest.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. + * Copyright (c) 2006, 2010 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 diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRParserTestSuite.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRParserTestSuite.java index 7c380a91c41..743e16d2bdb 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRParserTestSuite.java +++ b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRParserTestSuite.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. + * Copyright (c) 2006, 2010 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 @@ -46,6 +46,7 @@ public class LRParserTestSuite extends TestSuite { addTest(LRTests.suite()); // has some tests that do fail addTest(LRUtilOldTests.suite()); addTest(LRUtilTests.suite()); + addTest(LRCompletionHangingTest.suite()); //addTest(LRCPPImplicitNameTests.suite()); //addTest(LRInactiveCodeTests.suite()); diff --git a/lrparser/org.eclipse.cdt.core.lrparser/META-INF/MANIFEST.MF b/lrparser/org.eclipse.cdt.core.lrparser/META-INF/MANIFEST.MF index c2361a8db7a..b6402986baa 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/META-INF/MANIFEST.MF +++ b/lrparser/org.eclipse.cdt.core.lrparser/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name.1 Bundle-SymbolicName: org.eclipse.cdt.core.lrparser;singleton:=true -Bundle-Version: 5.0.2.qualifier +Bundle-Version: 5.0.3.qualifier Bundle-ClassPath: . Require-Bundle: org.eclipse.cdt.core, net.sourceforge.lpg.lpgjavaruntime;bundle-version="1.1.0";visibility:=reexport, 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 0fd203cd02c..4c3d6a384b0 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99Grammar.g +++ b/lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99Grammar.g @@ -1,5 +1,5 @@ ----------------------------------------------------------------------------------- --- Copyright (c) 2006, 2009 IBM Corporation and others. +-- Copyright (c) 2006, 2010 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 @@ -440,7 +440,9 @@ expression_opt iteration_statement ::= 'do' statement 'while' '(' expression ')' ';' - /. $Build consumeStatementDoLoop(); $EndBuild ./ + /. $Build consumeStatementDoLoop(true); $EndBuild ./ + | 'do' statement + /. $Build consumeStatementDoLoop(false); $EndBuild ./ | 'while' '(' expression ')' statement /. $Build consumeStatementWhileLoop(); $EndBuild ./ | 'for' '(' expression_opt ';' expression_opt ';' expression_opt ')' statement diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPGrammar.g b/lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPGrammar.g index 23898a1d404..04c52a3a678 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPGrammar.g +++ b/lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPGrammar.g @@ -1,5 +1,5 @@ ---------------------------------------------------------------------------------- --- Copyright (c) 2006, 2009 IBM Corporation and others. +-- Copyright (c) 2006, 2010 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 @@ -695,7 +695,9 @@ iteration_statement ::= 'while' '(' condition ')' statement /. $Build consumeStatementWhileLoop(); $EndBuild ./ | 'do' statement 'while' '(' expression ')' ';' - /. $Build consumeStatementDoLoop(); $EndBuild ./ + /. $Build consumeStatementDoLoop(true); $EndBuild ./ + | 'do' statement + /. $Build consumeStatementDoLoop(false); $EndBuild ./ | 'for' '(' for_init_statement condition_opt ';' expression_opt ')' statement /. $Build consumeStatementForLoop(); $EndBuild ./ @@ -1615,7 +1617,9 @@ explicit_specialization try_block ::= 'try' compound_statement <openscope-ast> handler_seq - /. $Build consumeStatementTryBlock(); $EndBuild ./ + /. $Build consumeStatementTryBlock(true); $EndBuild ./ + | 'try' compound_statement + /. $Build consumeStatementTryBlock(false); $EndBuild ./ diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/parserBuild.properties b/lrparser/org.eclipse.cdt.core.lrparser/grammar/parserBuild.properties new file mode 100644 index 00000000000..f73da9ed496 --- /dev/null +++ b/lrparser/org.eclipse.cdt.core.lrparser/grammar/parserBuild.properties @@ -0,0 +1,14 @@ + +############################################################################### +# Copyright (c) 2010 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 +############################################################################### + +lpg_exe=D:/lpg/lpgdistribution/lpgexe/lpg.exe +lpg_template=D:/newWorkspace/rdp76_dev_3/org.eclipse.cdt.core.lrparser/grammar/template diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/template/LRParserTemplate.g b/lrparser/org.eclipse.cdt.core.lrparser/grammar/template/LRParserTemplate.g index 9c7070f74bc..877b5f4c730 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/template/LRParserTemplate.g +++ b/lrparser/org.eclipse.cdt.core.lrparser/grammar/template/LRParserTemplate.g @@ -1,5 +1,5 @@ ---------------------------------------------------------------------------------- --- Copyright (c) 2006, 2009 IBM Corporation and others. +-- Copyright (c) 2006, 2010 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 @@ -296,7 +296,7 @@ $End $Notice -- Copied into all files generated by LPG /./******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. + * Copyright (c) 2006, 2010 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 diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/template/LRSecondaryParserTemplate.g b/lrparser/org.eclipse.cdt.core.lrparser/grammar/template/LRSecondaryParserTemplate.g index 50c66497a53..a56bcdbf492 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/template/LRSecondaryParserTemplate.g +++ b/lrparser/org.eclipse.cdt.core.lrparser/grammar/template/LRSecondaryParserTemplate.g @@ -1,5 +1,5 @@ ---------------------------------------------------------------------------------- --- Copyright (c) 2006, 2009 IBM Corporation and others. +-- Copyright (c) 2006, 2010 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 diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/BuildASTParserAction.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/BuildASTParserAction.java index 7d8464afd4a..fd471d0e3c7 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/BuildASTParserAction.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/BuildASTParserAction.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. + * Copyright (c) 2006, 2010 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 @@ -601,9 +601,10 @@ public abstract class BuildASTParserAction extends AbstractParserAction { /** * iteration_statement_matched * ::= 'do' statement 'while' '(' expression ')' ';' + * | 'do' statement */ - public void consumeStatementDoLoop() { - IASTExpression condition = (IASTExpression) astStack.pop(); + public void consumeStatementDoLoop(boolean hasWhileBlock) { + IASTExpression condition = hasWhileBlock? (IASTExpression) astStack.pop() : null; IASTStatement body = (IASTStatement) astStack.pop(); IASTDoStatement stat = nodeFactory.newDoStatement(body, condition); setOffsetAndLength(stat); 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 9905b68b798..f7ce649e4de 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 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. + * Copyright (c) 2006, 2010 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 @@ -688,8 +688,8 @@ public class CPPBuildASTParserAction extends BuildASTParserAction { * try_block * ::= 'try' compound_statement <openscope-ast> handler_seq */ - public void consumeStatementTryBlock() { - List<Object> handlerSeq = astStack.closeScope(); + public void consumeStatementTryBlock(boolean hasCatchBlock) { + List<Object> handlerSeq = hasCatchBlock ? astStack.closeScope() : Collections.emptyList(); IASTStatement body = (IASTStatement) astStack.pop(); ICPPASTTryBlockStatement tryStatement = nodeFactory.newTryBlockStatement(body); diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/lpgextensions/FixedBacktrackingParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/lpgextensions/FixedBacktrackingParser.java index e002668fdba..cf771e17eb7 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/lpgextensions/FixedBacktrackingParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/lpgextensions/FixedBacktrackingParser.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2008 IBM Corporation and others. + * Copyright (c) 2006, 2010 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 @@ -135,6 +135,7 @@ public class FixedBacktrackingParser extends Stacks // public Object parse(int max_error_count) throws BadParseException { + max_error_count = 1000; action.reset(); tokStream.reset(); // Position at first token. reallocateStateStack(); 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 6315d2bac8e..e3b05397792 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 @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 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 @@ -684,595 +684,601 @@ public C99ExpressionParser(ITokenStream stream, Map<String,String> properties) { // // Rule 118: iteration_statement ::= do statement while ( expression ) ; // - case 118: { action. consumeStatementDoLoop(); break; + case 118: { action. consumeStatementDoLoop(true); break; } // - // Rule 119: iteration_statement ::= while ( expression ) statement + // Rule 119: iteration_statement ::= do statement // - case 119: { action. consumeStatementWhileLoop(); break; + case 119: { action. consumeStatementDoLoop(false); break; } // - // Rule 120: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement + // Rule 120: iteration_statement ::= while ( expression ) statement // - case 120: { action. consumeStatementForLoop(); break; + case 120: { action. consumeStatementWhileLoop(); break; } // - // Rule 121: iteration_statement ::= for ( declaration expression_opt ; expression_opt ) statement + // Rule 121: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement // case 121: { action. consumeStatementForLoop(); break; } // - // Rule 122: jump_statement ::= goto identifier_token ; + // Rule 122: iteration_statement ::= for ( declaration expression_opt ; expression_opt ) statement // - case 122: { action. consumeStatementGoto(); break; + case 122: { action. consumeStatementForLoop(); break; } // - // Rule 123: jump_statement ::= continue ; + // Rule 123: jump_statement ::= goto identifier_token ; // - case 123: { action. consumeStatementContinue(); break; + case 123: { action. consumeStatementGoto(); break; } // - // Rule 124: jump_statement ::= break ; + // Rule 124: jump_statement ::= continue ; // - case 124: { action. consumeStatementBreak(); break; + case 124: { action. consumeStatementContinue(); break; } // - // Rule 125: jump_statement ::= return ; + // Rule 125: jump_statement ::= break ; // - case 125: { action. consumeStatementReturn(false); break; + case 125: { action. consumeStatementBreak(); break; } // - // Rule 126: jump_statement ::= return expression ; + // Rule 126: jump_statement ::= return ; // - case 126: { action. consumeStatementReturn(true); break; + case 126: { action. consumeStatementReturn(false); break; } // - // Rule 127: declaration ::= declaration_specifiers ; + // Rule 127: jump_statement ::= return expression ; // - case 127: { action. consumeDeclarationSimple(false); break; + case 127: { action. consumeStatementReturn(true); break; } // - // Rule 128: declaration ::= declaration_specifiers <openscope-ast> init_declarator_list ; + // Rule 128: declaration ::= declaration_specifiers ; // - case 128: { action. consumeDeclarationSimple(true); break; + case 128: { action. consumeDeclarationSimple(false); break; } // - // Rule 129: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers + // Rule 129: declaration ::= declaration_specifiers <openscope-ast> init_declarator_list ; // - case 129: { action. consumeDeclarationSpecifiersSimple(); break; + case 129: { action. consumeDeclarationSimple(true); break; } // - // Rule 130: declaration_specifiers ::= <openscope-ast> struct_or_union_declaration_specifiers + // Rule 130: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers // - case 130: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; + case 130: { action. consumeDeclarationSpecifiersSimple(); break; } // - // Rule 131: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers + // Rule 131: declaration_specifiers ::= <openscope-ast> struct_or_union_declaration_specifiers // case 131: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; } // - // Rule 132: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers + // Rule 132: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers // case 132: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; } // - // Rule 133: declaration_specifiers ::= <openscope-ast> typdef_name_declaration_specifiers + // Rule 133: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers // - case 133: { action. consumeDeclarationSpecifiersTypedefName(); break; + case 133: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; } // - // Rule 158: init_declarator ::= complete_declarator = initializer + // Rule 134: declaration_specifiers ::= <openscope-ast> typdef_name_declaration_specifiers // - case 158: { action. consumeDeclaratorWithInitializer(true); break; + case 134: { action. consumeDeclarationSpecifiersTypedefName(); break; } // - // Rule 160: storage_class_specifier ::= storage_class_specifier_token + // Rule 159: init_declarator ::= complete_declarator = initializer // - case 160: { action. consumeToken(); break; + case 159: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 166: simple_type_specifier ::= simple_type_specifier_token + // Rule 161: storage_class_specifier ::= storage_class_specifier_token // - case 166: { action. consumeToken(); break; + case 161: { action. consumeToken(); break; } // - // Rule 179: type_name_specifier ::= identifier_token + // Rule 167: simple_type_specifier ::= simple_type_specifier_token // - case 179: { action. consumeToken(); break; + case 167: { action. consumeToken(); break; } // - // Rule 180: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt } + // Rule 180: type_name_specifier ::= identifier_token // - case 180: { action. consumeTypeSpecifierComposite(false); break; + case 180: { action. consumeToken(); break; } // - // Rule 181: 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 181: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt } // - case 181: { action. consumeTypeSpecifierComposite(true); break; + case 181: { action. consumeTypeSpecifierComposite(false); break; } // - // Rule 186: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token + // 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 } // - case 186: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break; + case 182: { action. consumeTypeSpecifierComposite(true); break; } // - // Rule 187: elaborated_specifier ::= union elaborated_specifier_hook identifier_token + // Rule 187: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token // - case 187: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break; + case 187: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break; } // - // Rule 188: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token + // Rule 188: elaborated_specifier ::= union elaborated_specifier_hook identifier_token // - case 188: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break; + case 188: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break; } // - // Rule 194: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ; + // Rule 189: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token // - case 194: { action. consumeStructDeclaration(true); break; + case 189: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break; } // - // Rule 195: struct_declaration ::= specifier_qualifier_list ; + // Rule 195: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ; // - case 195: { action. consumeStructDeclaration(false); break; + case 195: { action. consumeStructDeclaration(true); break; } // - // Rule 196: struct_declaration ::= ERROR_TOKEN + // Rule 196: struct_declaration ::= specifier_qualifier_list ; // - case 196: { action. consumeDeclarationProblem(); break; + case 196: { action. consumeStructDeclaration(false); break; } // - // Rule 202: struct_declarator ::= : constant_expression + // Rule 197: struct_declaration ::= ERROR_TOKEN // - case 202: { action. consumeBitField(false); break; + case 197: { action. consumeDeclarationProblem(); break; } // - // Rule 203: struct_declarator ::= declarator : constant_expression + // Rule 203: struct_declarator ::= : constant_expression // - case 203: { action. consumeBitField(true); break; + case 203: { action. consumeBitField(false); break; } // - // Rule 204: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 204: struct_declarator ::= declarator : constant_expression // - case 204: { action. consumeTypeSpecifierEnumeration(false); break; + case 204: { action. consumeBitField(true); break; } // - // Rule 205: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 205: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } // - case 205: { action. consumeTypeSpecifierEnumeration(true); break; + case 205: { action. consumeTypeSpecifierEnumeration(false); break; } // - // Rule 211: enumerator ::= identifier_token + // Rule 206: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } // - case 211: { action. consumeEnumerator(false); break; + case 206: { action. consumeTypeSpecifierEnumeration(true); break; } // - // Rule 212: enumerator ::= identifier_token = constant_expression + // Rule 212: enumerator ::= identifier_token // - case 212: { action. consumeEnumerator(true); break; + case 212: { action. consumeEnumerator(false); break; } // - // Rule 213: type_qualifier ::= type_qualifier_token + // Rule 213: enumerator ::= identifier_token = constant_expression // - case 213: { action. consumeToken(); break; + case 213: { action. consumeEnumerator(true); break; } // - // Rule 217: function_specifier ::= inline + // Rule 214: type_qualifier ::= type_qualifier_token // - case 217: { action. consumeToken(); break; + case 214: { action. consumeToken(); break; } // - // Rule 219: declarator ::= <openscope-ast> pointer_seq direct_declarator + // Rule 218: function_specifier ::= inline // - case 219: { action. consumeDeclaratorWithPointer(true); break; + case 218: { action. consumeToken(); break; } // - // Rule 224: basic_direct_declarator ::= declarator_id_name + // Rule 220: declarator ::= <openscope-ast> pointer_seq direct_declarator // - case 224: { action. consumeDirectDeclaratorIdentifier(); break; + case 220: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 225: basic_direct_declarator ::= ( declarator ) + // Rule 225: basic_direct_declarator ::= declarator_id_name // - case 225: { action. consumeDirectDeclaratorBracketed(); break; + case 225: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 226: declarator_id_name ::= identifier + // Rule 226: basic_direct_declarator ::= ( declarator ) // - case 226: { action. consumeIdentifierName(); break; + case 226: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 227: array_direct_declarator ::= basic_direct_declarator array_modifier + // Rule 227: declarator_id_name ::= identifier // - case 227: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 227: { action. consumeIdentifierName(); break; } // - // Rule 228: array_direct_declarator ::= array_direct_declarator array_modifier + // Rule 228: array_direct_declarator ::= basic_direct_declarator array_modifier // case 228: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 230: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list ) + // Rule 229: array_direct_declarator ::= array_direct_declarator array_modifier // - case 230: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; + case 229: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 231: function_direct_declarator ::= basic_direct_declarator ( ) + // Rule 231: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list ) // - case 231: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; + case 231: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; } // - // Rule 233: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator + // Rule 232: function_direct_declarator ::= basic_direct_declarator ( ) // - case 233: { action. consumeDeclaratorWithPointer(true); break; + case 232: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; } // - // Rule 234: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list ) + // Rule 234: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator // - case 234: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; + case 234: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 236: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator + // Rule 235: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list ) // - case 236: { action. consumeDeclaratorWithPointer(true); break; + case 235: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; } // - // Rule 237: identifier_list ::= identifier + // Rule 237: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator // - case 237: { action. consumeIdentifierKnR(); break; + case 237: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 238: identifier_list ::= identifier_list , identifier + // Rule 238: identifier_list ::= identifier // case 238: { action. consumeIdentifierKnR(); break; } // - // Rule 239: array_modifier ::= [ ] + // Rule 239: identifier_list ::= identifier_list , identifier // - case 239: { action. consumeDirectDeclaratorArrayModifier(false); break; + case 239: { action. consumeIdentifierKnR(); break; } // - // Rule 240: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ] + // Rule 240: array_modifier ::= [ ] // - case 240: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break; + case 240: { action. consumeDirectDeclaratorArrayModifier(false); break; } // - // Rule 241: array_modifier ::= [ assignment_expression ] + // Rule 241: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ] // - case 241: { action. consumeDirectDeclaratorArrayModifier(true); break; + case 241: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break; } // - // Rule 242: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ] + // Rule 242: array_modifier ::= [ assignment_expression ] // - case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break; + case 242: { action. consumeDirectDeclaratorArrayModifier(true); break; } // - // Rule 243: array_modifier ::= [ static assignment_expression ] + // Rule 243: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ] // - case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break; + case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break; } // - // Rule 244: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ] + // Rule 244: array_modifier ::= [ static assignment_expression ] // - case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; + case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break; } // - // Rule 245: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ] + // Rule 245: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ] // case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; } // - // Rule 246: array_modifier ::= [ * ] + // Rule 246: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ] // - case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break; + case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; } // - // Rule 247: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ] + // Rule 247: array_modifier ::= [ * ] // - case 247: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break; + case 247: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break; } // - // Rule 249: pointer_seq ::= pointer_hook * pointer_hook + // Rule 248: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ] // - case 249: { action. consumePointer(); break; + case 248: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break; } // - // Rule 250: pointer_seq ::= pointer_seq pointer_hook * pointer_hook + // Rule 250: pointer_seq ::= pointer_hook * pointer_hook // case 250: { action. consumePointer(); break; } // - // Rule 251: pointer_seq ::= pointer_hook * pointer_hook <openscope-ast> type_qualifier_list + // Rule 251: pointer_seq ::= pointer_seq pointer_hook * pointer_hook // - case 251: { action. consumePointerTypeQualifierList(); break; + case 251: { action. consumePointer(); break; } // - // Rule 252: pointer_seq ::= pointer_seq pointer_hook * pointer_hook <openscope-ast> type_qualifier_list + // Rule 252: pointer_seq ::= pointer_hook * pointer_hook <openscope-ast> type_qualifier_list // case 252: { action. consumePointerTypeQualifierList(); break; } // - // Rule 256: parameter_type_list ::= parameter_list + // Rule 253: pointer_seq ::= pointer_seq pointer_hook * pointer_hook <openscope-ast> type_qualifier_list // - case 256: { action. consumeEmpty(); break; + case 253: { action. consumePointerTypeQualifierList(); break; } // - // Rule 257: parameter_type_list ::= parameter_list , ... + // Rule 257: parameter_type_list ::= parameter_list // - case 257: { action. consumePlaceHolder(); break; + case 257: { action. consumeEmpty(); break; } // - // Rule 258: parameter_type_list ::= ... + // Rule 258: parameter_type_list ::= parameter_list , ... // case 258: { action. consumePlaceHolder(); break; } // - // Rule 261: parameter_declaration ::= declaration_specifiers complete_parameter_declarator + // Rule 259: parameter_type_list ::= ... // - case 261: { action. consumeParameterDeclaration(); break; + case 259: { action. consumePlaceHolder(); break; } // - // Rule 262: parameter_declaration ::= declaration_specifiers + // Rule 262: parameter_declaration ::= declaration_specifiers complete_parameter_declarator // - case 262: { action. consumeParameterDeclarationWithoutDeclarator(); break; + case 262: { action. consumeParameterDeclaration(); break; } // - // Rule 265: type_id ::= specifier_qualifier_list + // Rule 263: parameter_declaration ::= declaration_specifiers // - case 265: { action. consumeTypeId(false); break; + case 263: { action. consumeParameterDeclarationWithoutDeclarator(); break; } // - // Rule 266: type_id ::= specifier_qualifier_list abstract_declarator + // Rule 266: type_id ::= specifier_qualifier_list // - case 266: { action. consumeTypeId(true); break; + case 266: { action. consumeTypeId(false); break; } // - // Rule 268: abstract_declarator ::= <openscope-ast> pointer_seq + // Rule 267: type_id ::= specifier_qualifier_list abstract_declarator // - case 268: { action. consumeDeclaratorWithPointer(false); break; + case 267: { action. consumeTypeId(true); break; } // - // Rule 269: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator + // Rule 269: abstract_declarator ::= <openscope-ast> pointer_seq // - case 269: { action. consumeDeclaratorWithPointer(true); break; + case 269: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 273: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 270: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator // - case 273: { action. consumeDirectDeclaratorBracketed(); break; + case 270: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 274: array_direct_abstract_declarator ::= array_modifier + // Rule 274: basic_direct_abstract_declarator ::= ( abstract_declarator ) // - case 274: { action. consumeDirectDeclaratorArrayDeclarator(false); break; + case 274: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 275: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier + // Rule 275: array_direct_abstract_declarator ::= array_modifier // - case 275: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 275: { action. consumeDirectDeclaratorArrayDeclarator(false); break; } // - // Rule 276: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier + // Rule 276: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier // case 276: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 277: function_direct_abstract_declarator ::= ( ) + // Rule 277: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier // - case 277: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break; + case 277: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + } + + // + // Rule 278: function_direct_abstract_declarator ::= ( ) + // + case 278: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break; } // - // Rule 278: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( ) + // Rule 279: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( ) // - case 278: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; + case 279: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; } // - // Rule 279: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list ) + // Rule 280: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list ) // - case 279: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break; + case 280: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break; } // - // Rule 280: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list ) + // Rule 281: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list ) // - case 280: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; + case 281: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; } // - // Rule 281: initializer ::= assignment_expression + // Rule 282: initializer ::= assignment_expression // - case 281: { action. consumeInitializer(); break; + case 282: { action. consumeInitializer(); break; } // - // Rule 283: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq comma_opt } end_initializer_list + // Rule 284: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq comma_opt } end_initializer_list // - case 283: { action. consumeInitializerList(); break; + case 284: { action. consumeInitializerList(); break; } // - // Rule 284: initializer_list ::= { <openscope-ast> } + // Rule 285: initializer_list ::= { <openscope-ast> } // - case 284: { action. consumeInitializerList(); break; + case 285: { action. consumeInitializerList(); break; } // - // Rule 285: start_initializer_list ::= $Empty + // Rule 286: start_initializer_list ::= $Empty // - case 285: { action. initializerListStart(); break; + case 286: { action. initializerListStart(); break; } // - // Rule 286: end_initializer_list ::= $Empty + // Rule 287: end_initializer_list ::= $Empty // - case 286: { action. initializerListEnd(); break; + case 287: { action. initializerListEnd(); break; } // - // Rule 291: designated_initializer ::= <openscope-ast> designation = initializer + // Rule 292: designated_initializer ::= <openscope-ast> designation = initializer // - case 291: { action. consumeInitializerDesignated(); break; + case 292: { action. consumeInitializerDesignated(); break; } // - // Rule 295: designator_base ::= [ constant_expression ] + // Rule 296: designator_base ::= [ constant_expression ] // - case 295: { action. consumeDesignatorArray(); break; + case 296: { action. consumeDesignatorArray(); break; } // - // Rule 296: designator_base ::= . identifier_token + // Rule 297: designator_base ::= . identifier_token // - case 296: { action. consumeDesignatorField(); break; + case 297: { action. consumeDesignatorField(); break; } // - // Rule 297: designator ::= [ constant_expression ] + // Rule 298: designator ::= [ constant_expression ] // - case 297: { action. consumeDesignatorArray(); break; + case 298: { action. consumeDesignatorArray(); break; } // - // Rule 298: designator ::= . identifier_token + // Rule 299: designator ::= . identifier_token // - case 298: { action. consumeDesignatorField(); break; + case 299: { action. consumeDesignatorField(); break; } // - // Rule 299: translation_unit ::= external_declaration_list + // Rule 300: translation_unit ::= external_declaration_list // - case 299: { action. consumeTranslationUnit(); break; + case 300: { action. consumeTranslationUnit(); break; } // - // Rule 300: translation_unit ::= $Empty + // Rule 301: translation_unit ::= $Empty // - case 300: { action. consumeTranslationUnit(); break; + case 301: { action. consumeTranslationUnit(); break; } // - // Rule 305: external_declaration ::= ; + // Rule 306: external_declaration ::= ; // - case 305: { action. consumeDeclarationEmpty(); break; + case 306: { action. consumeDeclarationEmpty(); break; } // - // Rule 306: external_declaration ::= ERROR_TOKEN + // Rule 307: external_declaration ::= ERROR_TOKEN // - case 306: { action. consumeDeclarationProblem(); break; + case 307: { action. consumeDeclarationProblem(); break; } // - // Rule 310: function_definition ::= <openscope-ast> function_declarator function_body + // Rule 311: function_definition ::= <openscope-ast> function_declarator function_body // - case 310: { action. consumeFunctionDefinition(false); break; + case 311: { action. consumeFunctionDefinition(false); break; } // - // Rule 311: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement + // Rule 312: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement // - case 311: { action. consumeFunctionDefinitionKnR(); break; + case 312: { action. consumeFunctionDefinitionKnR(); break; } // - // Rule 312: normal_function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body + // Rule 313: normal_function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body // - case 312: { action. consumeFunctionDefinition(true); break; + case 313: { action. consumeFunctionDefinition(true); break; } // - // Rule 313: function_body ::= { } + // Rule 314: function_body ::= { } // - case 313: { action. consumeStatementCompoundStatement(false); break; + case 314: { action. consumeStatementCompoundStatement(false); break; } // - // Rule 314: function_body ::= { <openscope-ast> block_item_list } + // Rule 315: function_body ::= { <openscope-ast> block_item_list } // - case 314: { action. consumeStatementCompoundStatement(true); break; + case 315: { action. consumeStatementCompoundStatement(true); break; } // - // Rule 316: expression_parser_start ::= ERROR_TOKEN + // Rule 317: expression_parser_start ::= ERROR_TOKEN // - case 316: { action. consumeEmpty(); break; + case 317: { action. consumeEmpty(); 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 f2469d12fa0..b03d8c092b5 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 @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 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 @@ -45,171 +45,171 @@ public class C99ExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, C9 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,2,5,7,5,1,0,7,2,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,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,3,4, - 5,6,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,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,1,3, - 6,4,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,-137,0,0, - -4,-159,-118,0,0,0,0,0,-74,0, + 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,3, + 4,5,6,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,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,1, + 3,6,4,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,-137,0, + 0,-4,-159,-118,0,0,0,0,0,-74, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-14,0,-30,0,-31,0,0,0,0, - 0,-16,0,-80,-119,0,-120,0,0,0, - 0,0,0,0,0,-141,0,0,0,0, + 0,0,-14,0,-30,0,-31,0,0,0, + 0,0,-16,0,-80,-119,0,-120,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,-3,0,0,0, + 0,0,0,0,0,0,0,-3,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-105,-124,0,0,-191,0,-17,-131,-130, + 0,0,-105,-124,0,0,-191,0,-17,-131, + -130,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-5,0,0,0,0, + 0,0,0,0,0,-121,0,-122,0,0, + 0,0,-177,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-5,0,0,0,0,0, - 0,0,0,0,-121,0,-122,0,0,0, - 0,-177,0,0,0,0,0,0,0,0, + 0,0,0,-111,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-111,0,0,0,0,0,0,0, + 0,0,0,0,0,-179,0,-194,0,-18, + 0,-19,0,-20,-21,-22,-192,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-179,0,-194,0,-18,0, - -19,0,-20,-21,-22,-192,0,0,0,0, + 0,0,0,0,0,0,0,-134,0,-38, + 0,0,0,0,0,0,0,0,0,-39, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-134,0,-38,0, - 0,0,0,0,0,0,0,0,-39,0, + 0,-23,-109,-24,0,0,0,0,0,-71, + -55,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -23,-109,-24,0,0,0,0,0,-71,-55, + 0,0,-25,0,-107,-26,-88,-89,0,0, + 0,0,-90,0,-91,0,0,0,0,0, + 0,0,0,0,0,0,-27,0,0,0, + 0,0,0,0,0,0,0,-34,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,0,-58,0, + 0,0,0,0,0,0,0,0,0,-35, + 0,0,0,0,0,0,0,0,0,-59, 0,0,0,0,0,0,0,0,0,0, - 0,-25,0,-107,-26,-88,-89,0,0,0, - 0,-90,0,-91,0,0,0,0,0,0, - 0,0,0,0,0,-27,0,0,0,0, - 0,0,0,0,0,0,-34,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,0,-58,0,0, - 0,0,0,0,0,0,0,0,-35,0, - 0,0,0,0,0,0,0,0,-59,0, + -60,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-60, + 0,0,-62,0,0,0,0,0,0,0, + 0,0,0,-69,0,0,0,0,0,0, + 0,0,0,-63,0,0,0,0,0,0, 0,0,0,0,0,0,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,0,0,0,-64,0,0,0,0,0, + 0,0,0,0,0,-70,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,-62,0,0,0,0,0,0,0,0, - 0,0,-69,0,0,0,0,0,0,0, - 0,0,-63,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-66,0,0,0, + 0,0,0,0,0,0,0,-115,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,-64,0,0,0,0,0,0, - 0,0,0,0,-70,0,0,0,0,0, - 0,0,0,0,-65,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-123,0, + 0,0,0,0,0,0,0,0,0,-132, + 0,0,0,0,0,0,0,0,0,-144, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-66,0,0,0,0, - 0,0,0,0,0,0,-115,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,-123,0,0, - 0,0,0,0,0,0,0,0,-132,0, - 0,0,0,0,0,0,0,0,-144,0, + -145,0,0,0,0,0,0,0,0,0, + 0,-153,0,0,0,0,0,0,0,0, + 0,-180,0,0,0,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,-189,0,0,0,0,0,0,0,0, + 0,0,-92,0,0,0,0,0,0,0, + 0,-6,0,0,0,0,0,0,0,-93, + 0,-7,0,0,0,0,0,0,0,-195, 0,0,0,0,0,0,0,0,0,0, - -153,0,0,0,0,0,0,0,0,0, - -180,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-201, 0,0,0,0,0,0,0,0,0,0, - -189,0,0,0,0,0,0,0,0,0, - 0,-92,0,0,0,0,0,0,0,0, - -6,0,0,0,0,0,0,0,-93,0, - -7,0,0,0,0,0,0,0,-195,0, + -94,0,0,0,0,0,0,0,0,-8, + 0,0,0,0,0,0,0,-200,0,-9, + 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,-201,0, - 0,0,0,0,0,0,0,0,0,-94, - 0,0,0,0,0,0,0,0,-8,0, - 0,0,0,0,0,0,-200,0,-9,0, - 0,0,0,0,0,0,-209,0,0,0, + 0,0,0,0,0,0,0,-133,-47,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,-133,-47,0,0, - 0,0,0,0,0,0,0,0,-49,0, - 0,0,0,0,0,0,0,0,0,-76, - 0,0,0,-95,-73,0,-148,-78,-125,0, - 0,0,0,0,0,0,0,0,-96,0, - 0,0,0,0,-112,0,0,0,-77,0, - 0,0,0,-149,0,0,0,0,0,0, - 0,0,0,0,0,0,-117,-166,0,-97, + -76,0,0,0,-95,-73,0,-148,-78,-125, + 0,0,0,0,0,0,0,0,0,-96, + 0,0,0,0,0,-112,0,0,0,-77, + 0,0,0,0,-149,0,0,0,0,0, + 0,0,0,0,0,0,0,-117,-166,0, + -97,0,0,0,0,0,0,0,0,0, + 0,0,0,-157,0,0,-158,-98,0,0, + -82,0,-56,0,0,0,0,0,0,0, + 0,0,0,-106,0,0,0,0,0,-52, 0,0,0,0,0,0,0,0,0,0, - 0,0,-157,0,0,-158,-98,0,0,-82, - 0,-56,0,0,0,0,0,0,0,0, - 0,0,-106,0,0,0,0,0,-52,0, - 0,0,0,0,0,0,0,0,0,-183, - 0,0,0,0,-87,0,-53,0,0,0, - 0,0,0,0,0,0,0,-167,0,0, - 0,0,0,-129,0,0,0,0,-1,-138, - 0,0,0,0,0,0,0,-99,-186,0, - 0,-181,-100,0,0,0,0,0,-170,0, + -183,0,0,0,0,-87,0,-53,0,0, + 0,0,0,0,0,0,0,0,-167,0, + 0,0,0,0,-129,0,0,0,0,-1, + -138,0,0,0,0,0,0,0,-99,-186, + 0,0,-181,-100,0,0,0,0,0,-170, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-48,0, - 0,0,0,0,0,0,0,0,0,-50, + 0,0,0,0,0,0,0,0,0,-48, 0,0,0,0,0,0,0,0,0,0, - -196,0,-51,0,0,0,0,0,0,0, - 0,0,0,-208,0,0,-127,-140,0,0, - 0,-146,0,0,0,-101,-102,-103,0,0, - -43,0,0,0,0,0,0,0,0,0, - 0,0,-104,0,-108,0,0,0,0,0, - 0,0,0,-10,0,0,0,0,0,0, - 0,-110,-83,0,-44,0,0,0,0,0, - 0,0,0,0,0,-45,0,0,0,0, - 0,0,0,0,0,0,-72,0,0,0, - 0,0,0,0,0,0,-46,0,0,0, - 0,0,0,0,0,0,0,-203,-171,-75, - -11,0,0,0,0,0,0,0,0,0, - 0,-12,0,0,0,0,0,0,0,0, - 0,-126,-135,0,0,0,-143,-156,-160,-142, + -50,0,0,0,0,0,0,0,0,0, + 0,-196,0,-51,0,0,0,0,0,0, + 0,0,0,0,-208,0,0,-127,-140,0, + 0,0,-146,0,0,0,-101,-102,-103,0, + 0,-43,0,0,0,0,0,0,0,0, + 0,0,0,-104,0,-108,0,0,0,0, + 0,0,0,0,-10,0,0,0,0,0, + 0,0,-110,-83,0,-44,0,0,0,0, + 0,0,0,0,0,0,-45,0,0,0, + 0,0,0,0,0,0,0,-72,0,0, + 0,0,0,0,0,0,0,-46,0,0, + 0,0,0,0,0,0,0,0,-203,-171, + -75,-11,0,0,0,0,0,0,0,0, + 0,0,-12,0,0,0,0,0,0,0, + 0,0,-126,-135,0,0,0,-143,-156,-160, + -142,0,0,0,0,0,0,0,0,0, + 0,-210,0,-150,0,0,0,0,0,-114, + 0,0,0,0,0,0,0,0,0,-147, 0,0,0,0,0,0,0,0,0,0, - -210,0,-150,0,0,0,0,0,-114,0, - 0,0,0,0,0,0,0,0,-147,0, - 0,0,0,0,0,0,0,0,0,-36, - -113,-139,0,0,0,0,0,0,0,0, - 0,-169,0,-40,0,0,0,0,0,0, - 0,-151,0,0,-154,0,-41,0,0,0, - 0,0,0,0,-42,0,0,0,0,0, - 0,0,-116,0,0,0,0,-162,0,-165, - -168,0,-164,0,-32,-173,0,0,-187,-174, - 0,0,-190,0,-15,0,-163,0,-176,0, - -175,0,0,0,0,0,0,-13,0,0, - 0,0,0,0,-28,0,0,-29,-178,0, - 0,-128,-155,0,0,0,0,0,0,0, - 0,0,-202,0,0,0,0,0,0,0, - -79,-207,0,0,0,0,0,0,0,0, - -172,0,-81,0,-85,0,-84,0,0,0, - 0,0,0,0,0,0,-86,-188,0,0, + -36,-113,-139,0,0,0,0,0,0,0, + 0,0,-169,0,-40,0,0,0,0,0, + 0,0,-151,0,0,-154,0,-41,0,0, + 0,0,0,0,0,-42,0,0,0,0, + 0,0,0,-116,0,0,0,0,-162,0, + -165,-168,0,-164,0,-32,-173,0,0,-187, + -174,0,0,-190,0,-15,0,-163,0,-176, + 0,-175,0,0,0,0,0,0,-13,0, + 0,0,0,0,0,-28,0,0,-29,-178, + 0,0,-128,-155,0,0,0,0,0,0, + 0,0,0,-202,0,0,0,0,0,0, + 0,-79,-207,0,0,0,0,0,0,0, + 0,-172,0,-81,0,-85,0,-84,0,0, + 0,0,0,0,0,0,0,-86,-188,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-197,-184,-185,0,0,0,0,-136,-33, - -54,0,0,0,0,-152,0,0,-204,0, - 0,0,0,0,-199,-161,0,0,0,0, - -182,0,-205,0,-193,0,0,-206,0,0, - 0,0,0,0,0,0,0,0,0,-198, + 0,0,-197,-184,-185,0,0,0,0,-136, + -33,-54,0,0,0,0,-152,0,0,-204, + 0,0,0,0,0,-199,-161,0,0,0, + 0,-182,0,-205,0,-193,0,0,-206,0, 0,0,0,0,0,0,0,0,0,0, + -198,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 }; }; public final static short baseCheck[] = BaseCheck.baseCheck; @@ -231,171 +231,171 @@ public class C99ExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, C9 88,88,72,72,49,104,104,104,104,104, 104,104,105,105,105,106,106,111,111,112, 112,107,107,108,108,108,114,114,109,109, - 109,109,110,110,110,110,110,113,113,25, - 25,25,25,25,28,28,28,78,78,73, - 73,73,73,74,74,74,75,75,75,76, - 76,76,77,77,77,115,115,116,116,117, - 29,31,31,31,31,31,53,54,54,54, - 54,54,54,54,54,54,54,54,54,64, - 61,61,89,90,66,66,62,62,62,67, - 79,79,80,80,68,68,68,43,91,91, - 81,82,82,82,63,63,92,83,83,84, - 84,69,69,22,23,23,23,30,50,50, - 33,33,33,33,36,36,38,34,34,35, - 39,39,118,118,37,119,119,93,93,26, - 26,26,26,26,26,26,26,26,85,51, - 51,51,51,27,56,56,55,55,55,57, - 57,52,52,94,94,59,59,58,58,58, - 44,44,44,45,46,46,46,47,47,47, - 47,65,65,42,42,48,96,95,95,95, - 95,86,97,98,98,99,99,100,100,120, - 120,121,121,122,122,122,122,124,124,123, - 123,123,125,126,126,87,87,1,626,17, - 21,18,372,625,45,448,382,541,31,539, - 544,543,591,545,622,593,75,92,124,135, - 213,670,629,596,338,137,134,136,160,275, - 20,17,21,18,372,625,45,448,382,541, - 1501,539,544,543,591,545,622,593,75,1145, - 139,166,579,239,201,31,201,31,143,146, - 149,152,57,384,118,201,187,201,186,341, - 1128,1611,1623,1627,1637,1225,434,20,17,21, - 18,372,625,45,448,382,541,342,539,544, - 543,591,545,622,593,75,281,482,20,17, - 21,18,372,625,45,448,382,541,1525,539, - 544,543,591,545,622,593,75,92,282,1589, - 1262,293,97,518,1365,25,158,24,157,695, - 299,20,17,21,18,372,625,45,448,382, - 541,287,539,544,543,591,545,622,593,75, - 1342,255,213,343,240,506,20,17,21,18, - 372,41,288,284,28,662,1502,201,188,341, - 1365,1186,332,20,17,21,18,372,625,45, - 448,382,541,342,539,544,543,591,545,622, - 593,75,281,554,20,17,21,18,372,625, - 45,448,382,541,1592,539,544,543,591,545, - 622,593,75,1244,282,201,296,201,298,6, - 1365,30,283,589,200,191,458,20,17,21, - 18,372,625,45,448,382,541,289,539,544, - 543,591,545,622,593,75,281,189,179,482, - 20,17,21,18,372,43,45,627,290,482, - 20,17,21,18,372,43,45,632,282,135, - 213,344,242,243,1365,137,134,136,160,104, - 482,20,17,21,18,372,43,45,448,382, - 541,291,539,544,543,591,545,1348,274,1452, - 139,166,171,22,14,547,578,194,143,146, - 149,152,199,384,416,443,269,1149,1120,272, - 1128,1611,1623,1627,1637,1225,482,20,17,21, - 18,372,625,45,448,382,541,489,539,544, - 543,591,545,622,593,75,93,482,20,17, - 21,18,372,625,45,448,382,541,1407,539, - 544,543,591,545,622,593,75,86,482,20, - 17,21,18,372,625,45,448,382,541,489, - 539,544,543,591,545,622,593,75,85,482, - 20,17,21,18,372,625,45,448,382,541, - 19,539,544,543,591,545,622,593,75,84, - 482,20,17,21,18,372,625,45,448,382, - 541,489,539,544,543,591,545,622,593,75, - 83,482,20,17,21,18,372,625,45,448, - 382,541,442,539,544,543,591,545,622,593, - 75,82,482,20,17,21,18,372,625,45, - 448,382,541,489,539,544,543,591,545,622, - 593,75,81,482,20,17,21,18,372,625, - 45,448,382,541,1203,539,544,543,591,545, - 622,593,75,80,482,20,17,21,18,372, - 625,45,448,382,541,489,539,544,543,591, - 545,622,593,75,79,482,20,17,21,18, - 372,625,45,448,382,541,23,539,544,543, - 591,545,622,593,75,78,482,20,17,21, - 18,372,625,45,448,382,541,489,539,544, - 543,591,545,622,593,75,77,482,20,17, - 21,18,372,625,45,448,382,541,273,539, - 544,543,591,545,622,593,75,76,482,20, - 17,21,18,372,625,45,448,382,541,489, - 539,544,543,591,545,622,593,75,74,482, - 20,17,21,18,372,625,45,448,382,541, - 279,539,544,543,591,545,622,593,75,1548, - 482,20,17,21,18,372,625,45,448,382, - 541,489,539,544,543,591,545,622,593,75, - 1567,482,20,17,21,18,372,43,45,448, - 382,541,280,539,544,543,591,545,622,593, - 94,482,20,17,21,18,372,43,45,448, - 382,541,466,539,544,543,591,545,622,593, - 94,482,20,17,21,18,372,43,40,488, - 1695,482,20,17,21,18,372,43,39,482, - 20,17,21,18,372,43,45,448,382,541, - 212,539,544,543,591,545,622,593,94,482, - 20,17,21,18,372,43,45,448,382,541, - 490,539,544,543,591,545,622,593,94,482, - 20,17,21,18,372,43,38,446,1698,482, - 20,17,21,18,372,43,37,482,20,17, - 21,18,372,43,45,448,382,541,202,539, - 544,543,591,545,622,593,94,113,482,20, - 17,21,18,372,43,45,448,1124,1522,482, - 20,17,21,18,372,43,45,448,382,541, - 144,539,1170,274,241,44,203,207,232,14, - 218,1154,221,1473,223,224,229,194,1550,601, - 396,267,1149,1120,272,104,275,263,277,327, - 135,213,1382,274,499,264,142,134,136,160, - 218,1154,221,1473,223,224,229,679,679,241, - 245,267,1149,1120,272,276,592,1553,1669,1663, - 228,141,166,559,1560,867,712,13,278,231, - 387,261,482,20,17,21,18,372,43,45, - 448,382,541,205,539,544,543,591,1363,482, - 20,17,21,18,372,43,45,448,382,541, - 710,539,544,543,1263,189,179,482,20,17, - 21,18,372,43,45,448,382,541,151,539, - 544,1346,255,213,104,28,1569,135,213,382, - 14,1365,209,138,134,136,160,385,50,281, - 417,1593,630,637,274,1452,1556,1571,243,421, - 1679,219,1154,221,1473,223,224,229,140,166, - 1259,88,269,1149,1120,272,144,147,150,153, - 315,384,218,1154,221,1473,223,224,229,482, - 20,17,21,18,372,43,45,448,1139,1603, - 482,20,17,21,18,372,43,45,448,382, - 541,719,1187,482,20,17,21,18,372,43, - 45,448,382,541,281,1258,328,44,14,195, - 198,200,104,255,213,1679,697,305,324,1183, - 1067,482,20,17,21,18,372,43,45,448, - 382,634,294,671,1457,615,242,218,1154,221, - 1473,223,224,229,482,20,17,21,18,372, - 43,36,676,414,1603,482,20,17,21,18, - 372,43,45,448,382,992,482,20,17,21, - 18,372,43,45,448,382,1009,409,20,17, - 21,18,372,43,44,199,200,482,20,17, - 21,18,372,43,45,448,382,1050,612,95, - 326,482,20,17,21,18,372,43,35,1679, - 567,1543,530,20,17,21,18,372,34,28, - 387,277,733,711,197,1365,274,698,14,707, - 44,218,1154,221,1473,223,224,229,1686,1621, - 1691,728,1269,720,267,1149,1120,272,1553,358, - 20,17,21,18,372,43,36,1459,867,358, - 20,17,21,18,372,43,36,193,1452,227, - 160,52,664,246,219,1154,221,1473,223,224, - 229,1125,518,247,482,20,17,21,18,372, - 43,48,44,254,213,721,274,482,20,17, - 21,18,372,43,47,482,20,17,21,18, - 372,43,46,567,267,1149,1120,272,104,1382, - 567,14,180,489,567,465,723,449,266,723, - 696,567,1664,201,1560,14,417,104,1097,518, - 1382,724,244,1238,225,1097,317,1382,530,20, - 17,21,18,372,33,14,450,90,14,738, - 197,245,52,48,592,259,317,88,909,317, - 1453,1238,259,742,567,909,699,1453,1500,446, - 197,627,287,197,254,213,1638,88,197,1693, - 88,559,1560,632,657,439,699,661,1500,699, - 1768,1500,210,135,213,1768,1269,666,518,145, - 134,136,160,825,741,135,213,783,449,135, - 213,148,134,136,160,151,134,136,160,135, - 213,192,489,587,142,154,134,136,160,116, - 14,14,1512,1429,567,567,357,919,204,44, - 567,417,417,230,1768,518,52,567,1097,197, - 209,52,487,518,1097,104,1768,1768,104,1768, - 1768,1097,88,88,1559,1571,1382,1269,254,213, - 365,599,1347,254,213,259,1768,485,1662,295, - 1453,259,297,1768,951,181,1453,1768,260,1768, - 1471,234,192,205,1768,1768,1768,1768,1768,1768, - 1768,1768,1220,1685,1429,1768,1768,1321,1768,1768, - 1768,1768,1768,1768,1768,1768,1710,1768,0,20, - 179,0,1,1994,0,1,2005,0 + 109,109,109,110,110,110,110,110,113,113, + 25,25,25,25,25,28,28,28,78,78, + 73,73,73,73,74,74,74,75,75,75, + 76,76,76,77,77,77,115,115,116,116, + 117,29,31,31,31,31,31,53,54,54, + 54,54,54,54,54,54,54,54,54,54, + 64,61,61,89,90,66,66,62,62,62, + 67,79,79,80,80,68,68,68,43,91, + 91,81,82,82,82,63,63,92,83,83, + 84,84,69,69,22,23,23,23,30,50, + 50,33,33,33,33,36,36,38,34,34, + 35,39,39,118,118,37,119,119,93,93, + 26,26,26,26,26,26,26,26,26,85, + 51,51,51,51,27,56,56,55,55,55, + 57,57,52,52,94,94,59,59,58,58, + 58,44,44,44,45,46,46,46,47,47, + 47,47,65,65,42,42,48,96,95,95, + 95,95,86,97,98,98,99,99,100,100, + 120,120,121,121,122,122,122,122,124,124, + 123,123,123,125,126,126,87,87,1,627, + 17,21,18,373,626,45,449,383,542,31, + 540,545,544,592,546,623,594,75,92,124, + 136,214,670,629,596,339,138,135,137,161, + 275,20,17,21,18,373,626,45,449,383, + 542,1502,540,545,544,592,546,623,594,75, + 1146,140,167,579,240,201,31,201,31,144, + 147,150,153,57,385,118,201,188,201,187, + 342,1129,1612,1624,1628,1638,1226,434,20,17, + 21,18,373,626,45,449,383,542,343,540, + 545,544,592,546,623,594,75,282,482,20, + 17,21,18,373,626,45,449,383,542,1526, + 540,545,544,592,546,623,594,75,92,283, + 1590,1263,294,97,518,1366,25,158,24,157, + 695,299,20,17,21,18,373,626,45,449, + 383,542,288,540,545,544,592,546,623,594, + 75,1343,256,214,344,241,506,20,17,21, + 18,373,41,289,285,28,662,1503,201,189, + 342,1366,1187,332,20,17,21,18,373,626, + 45,449,383,542,343,540,545,544,592,546, + 623,594,75,282,554,20,17,21,18,373, + 626,45,449,383,542,1593,540,545,544,592, + 546,623,594,75,1245,283,201,297,201,299, + 6,1366,30,284,589,200,191,458,20,17, + 21,18,373,626,45,449,383,542,290,540, + 545,544,592,546,623,594,75,282,189,180, + 482,20,17,21,18,373,43,45,628,291, + 482,20,17,21,18,373,43,45,633,283, + 136,214,344,242,243,1366,138,135,137,161, + 104,482,20,17,21,18,373,43,45,449, + 383,542,292,540,545,544,592,546,1349,275, + 1453,140,167,171,22,14,547,578,194,144, + 147,150,153,199,385,416,444,270,1150,1121, + 273,1129,1612,1624,1628,1638,1226,482,20,17, + 21,18,373,626,45,449,383,542,489,540, + 545,544,592,546,623,594,75,93,482,20, + 17,21,18,373,626,45,449,383,542,1408, + 540,545,544,592,546,623,594,75,86,482, + 20,17,21,18,373,626,45,449,383,542, + 489,540,545,544,592,546,623,594,75,85, + 482,20,17,21,18,373,626,45,449,383, + 542,19,540,545,544,592,546,623,594,75, + 84,482,20,17,21,18,373,626,45,449, + 383,542,489,540,545,544,592,546,623,594, + 75,83,482,20,17,21,18,373,626,45, + 449,383,542,443,540,545,544,592,546,623, + 594,75,82,482,20,17,21,18,373,626, + 45,449,383,542,489,540,545,544,592,546, + 623,594,75,81,482,20,17,21,18,373, + 626,45,449,383,542,1204,540,545,544,592, + 546,623,594,75,80,482,20,17,21,18, + 373,626,45,449,383,542,489,540,545,544, + 592,546,623,594,75,79,482,20,17,21, + 18,373,626,45,449,383,542,23,540,545, + 544,592,546,623,594,75,78,482,20,17, + 21,18,373,626,45,449,383,542,489,540, + 545,544,592,546,623,594,75,77,482,20, + 17,21,18,373,626,45,449,383,542,274, + 540,545,544,592,546,623,594,75,76,482, + 20,17,21,18,373,626,45,449,383,542, + 489,540,545,544,592,546,623,594,75,74, + 482,20,17,21,18,373,626,45,449,383, + 542,280,540,545,544,592,546,623,594,75, + 1549,482,20,17,21,18,373,626,45,449, + 383,542,489,540,545,544,592,546,623,594, + 75,1568,482,20,17,21,18,373,43,45, + 449,383,542,281,540,545,544,592,546,623, + 594,94,482,20,17,21,18,373,43,45, + 449,383,542,466,540,545,544,592,546,623, + 594,94,482,20,17,21,18,373,43,40, + 488,1696,482,20,17,21,18,373,43,39, + 482,20,17,21,18,373,43,45,449,383, + 542,213,540,545,544,592,546,623,594,94, + 482,20,17,21,18,373,43,45,449,383, + 542,490,540,545,544,592,546,623,594,94, + 482,20,17,21,18,373,43,38,446,1699, + 482,20,17,21,18,373,43,37,482,20, + 17,21,18,373,43,45,449,383,542,203, + 540,545,544,592,546,623,594,94,113,482, + 20,17,21,18,373,43,45,449,1125,1523, + 482,20,17,21,18,373,43,45,449,383, + 542,144,540,1171,275,241,44,204,207,232, + 14,219,1155,222,1474,224,225,230,195,1551, + 601,397,268,1150,1121,273,104,276,264,278, + 327,136,214,1383,275,499,265,143,135,137, + 161,219,1155,222,1474,224,225,230,679,679, + 242,245,268,1150,1121,273,277,593,1554,1670, + 1664,229,142,167,559,1561,868,712,13,279, + 232,387,262,482,20,17,21,18,373,43, + 45,449,383,542,205,540,545,544,592,1364, + 482,20,17,21,18,373,43,45,449,383, + 542,710,540,545,544,1264,189,180,482,20, + 17,21,18,373,43,45,449,383,542,151, + 540,545,1347,256,214,104,28,1570,136,214, + 382,14,1366,210,139,135,137,161,386,50, + 281,418,1594,630,637,275,1453,1557,1572,244, + 421,1680,220,1155,222,1474,224,225,230,141, + 167,1260,88,270,1150,1121,273,145,148,151, + 154,316,385,219,1155,222,1474,224,225,230, + 482,20,17,21,18,373,43,45,449,1140, + 1604,482,20,17,21,18,373,43,45,449, + 383,542,719,1188,482,20,17,21,18,373, + 43,45,449,383,542,281,1259,329,44,14, + 196,199,201,104,256,214,1680,697,305,324, + 1184,1068,482,20,17,21,18,373,43,45, + 449,383,635,295,671,1458,615,243,219,1155, + 222,1474,224,225,230,482,20,17,21,18, + 373,43,36,676,414,1604,482,20,17,21, + 18,373,43,45,449,383,993,482,20,17, + 21,18,373,43,45,449,383,1010,409,20, + 17,21,18,373,43,44,200,201,482,20, + 17,21,18,373,43,45,449,383,1051,612, + 95,326,482,20,17,21,18,373,43,35, + 1680,568,1544,530,20,17,21,18,373,34, + 28,388,278,733,711,198,1366,275,698,14, + 707,44,219,1155,222,1474,224,225,230,1687, + 1622,1692,728,1270,720,268,1150,1121,273,1554, + 358,20,17,21,18,373,43,36,1460,868, + 358,20,17,21,18,373,43,36,194,1453, + 228,160,52,664,247,220,1155,222,1474,224, + 225,230,1126,518,248,482,20,17,21,18, + 373,43,48,44,255,214,721,275,482,20, + 17,21,18,373,43,47,482,20,17,21, + 18,373,43,46,567,268,1150,1121,273,104, + 1383,567,14,181,489,568,465,723,450,267, + 723,696,568,1665,201,1561,14,418,104,1098, + 518,1383,724,245,1239,226,1098,318,1383,530, + 20,17,21,18,373,33,14,451,90,14, + 738,198,246,52,48,593,260,318,88,910, + 318,1454,1239,260,742,568,910,700,1454,1501, + 447,198,627,287,198,255,214,1639,88,198, + 1694,88,559,1561,632,658,439,700,661,1501, + 700,1769,1501,211,136,214,1769,1270,666,518, + 146,135,137,161,826,742,136,214,784,450, + 136,214,149,135,137,161,152,135,137,161, + 136,214,193,489,587,142,155,135,137,161, + 116,14,14,1513,1430,568,568,357,920,205, + 44,568,418,418,231,1769,518,52,568,1098, + 198,210,52,488,518,1098,104,1769,1769,104, + 1769,1769,1098,88,88,1560,1572,1383,1270,255, + 214,365,600,1348,255,214,260,1769,486,1663, + 296,1454,260,298,1769,952,182,1454,1769,261, + 1769,1472,235,193,206,1769,1769,1769,1769,1769, + 1769,1769,1769,1221,1686,1430,1769,1769,1322,1769, + 1769,1769,1769,1769,1769,1769,1769,1711,1769,0, + 20,180,0,1,1996,0,1,2007,0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -496,87 +496,87 @@ public class C99ExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, C9 public interface TermAction { public final static char termAction[] = {0, - 1768,1779,1565,1780,1374,60,1982,1983,1984,1069, - 1059,1431,62,1,1578,1442,475,1931,1781,1782, - 1783,1784,1011,1001,1932,1930,1985,1933,1929,55, - 1768,1936,1941,1940,1938,1939,1937,1942,1943,1935, - 1944,1945,1946,253,1625,1383,1190,1768,1,61, - 1,1768,191,1,1,1,52,1982,1983,1984, - 1417,1396,1385,1351,1,579,569,1417,1396,1385, - 1351,1,1,1,1,1,1098,1299,1,1, + 1769,1780,1566,1781,1375,60,1984,1985,1986,1070, + 1060,1432,62,1,1579,1443,476,1933,1782,1783, + 1784,1785,1012,1002,1934,1932,1987,1935,1931,55, + 1769,1938,1943,1942,1940,1941,1939,1944,1945,1937, + 1946,1947,1948,254,1626,1384,1191,1769,1,61, + 1,1769,192,1,1,1,52,1984,1985,1986, + 1418,1397,1386,1352,1,580,570,1418,1397,1386, + 1352,1,1,1,1,1,1099,1300,1,1, 1,1,1,1,1,1,1,1,1,1, - 191,1,1,1,1768,1,42,1,1964,190, - 1,1,1,1768,1417,1396,1385,1351,1772,2815, - 1758,1,262,1994,1127,1,1,182,1,1, - 1,1,1,183,349,1,1,1,1,1, - 1,1,1,1,1,1,1,190,1,1, - 1,1768,1,271,1,1964,191,1,1,1, - 268,1994,1127,1771,253,349,49,286,1,265, - 1535,1430,349,1,2026,1,1,1,1,1, - 71,349,1,1,1,1,1,1,1,1, - 1,1,1,1,191,1,1,1,1768,1779, - 69,1780,1964,51,1982,1983,1984,1535,50,63, - 1768,1779,1535,1780,1768,1931,1,1762,1127,1527, - 1514,1774,1932,1930,1985,1933,1929,2815,349,1936, - 1941,1940,1938,1939,1937,1942,1943,1935,1944,1945, - 1946,129,1625,1383,1190,1192,1773,1982,1983,1984, - 54,268,73,1430,64,253,1527,1514,1931,579, - 569,1527,1514,349,1209,1932,1930,1985,1933,1929, - 1323,1310,1936,1941,1940,1938,1939,1937,1942,1943, - 1935,1944,1945,1946,1,1779,1565,1780,1479,1772, - 1,1994,1428,1069,1059,1431,1768,2006,1578,1442, - 475,513,1781,1782,1783,1784,1011,1001,1768,1779, - 1565,1780,1489,1772,1768,1323,1310,1069,1059,1431, - 600,1671,1578,1442,475,940,1781,1782,1783,1784, - 1011,1001,1768,72,1771,1,270,1430,1167,1768, - 1774,1,1779,1565,1780,1374,29,349,349,1039, - 1069,1059,1431,67,2815,1578,1442,475,1771,1781, - 1782,1783,1784,1011,1001,1773,1,1768,1779,1565, - 1780,1374,1772,898,1768,1768,1069,1059,1431,1774, - 1768,1578,1442,475,29,1781,1782,1783,1784,1011, - 1001,1768,1,1,1,1,185,2828,1192,2828, - 1,1,1,1612,1773,1,1,1,1768,1, - 1,1,1,1,1,2025,1227,1771,1768,1779, - 1565,1780,1374,184,2829,59,2829,1069,1059,1431, - 1,2815,1578,1442,475,1778,1781,1782,1783,1784, - 1011,1001,2084,1,1779,1565,1780,1374,206,2830, - 1768,2830,1069,1059,1431,1768,2815,1578,1442,475, - 1778,1781,1782,1783,1784,1011,1001,1768,1779,1565, - 1780,1374,1098,1299,1,58,1069,1059,1431,91, - 2815,1578,1442,475,1334,1781,1782,1783,1784,1011, - 1001,1768,1779,1565,1780,1374,1777,57,1768,56, - 1069,1059,1431,1774,91,1578,1442,475,220,1781, - 1782,1783,1784,1011,1001,1768,1779,1585,1780,1374, - 349,1777,1098,1299,1069,1059,1431,1768,1773,1578, - 1442,475,1776,1781,1782,1783,1784,1011,1001,1768, - 1779,1588,1780,1374,1098,1299,1098,1299,1069,1059, - 1431,1768,1768,1578,1442,475,43,1781,1782,1783, - 1784,1011,1001,1,1779,1565,1780,1374,208,1779, - 1775,1780,1069,1059,1431,1768,1,1578,1442,475, - 253,1781,1782,1783,1784,1011,1001,20,32,1759, - 1555,1759,1759,179,179,179,1,1765,65,1759, - 1670,1768,1794,1795,179,1768,1779,1768,1780,1109, - 53,179,179,179,179,179,877,1759,1250,579, - 569,1,1994,1428,1768,2026,856,835,814,793, - 772,730,751,709,688,667,130,1129,1768,292, - 376,131,1982,1983,1984,2026,68,1982,1983,1984, - 961,1019,1768,1931,1768,374,207,1563,1931,1563, - 1932,1930,1985,1933,1929,1932,1930,1985,1933,1929, - 132,1768,1779,1768,1780,133,1982,1983,1984,89, - 70,1982,1983,1984,1338,1768,1458,1931,1,1337, - 535,537,1931,1774,1932,1930,1985,1933,1929,1932, - 1930,1985,1933,1929,248,211,66,249,646,1227, - 1982,1983,1984,1,1,1,250,1109,1773,251, - 256,30,1,1,1,1982,1983,1984,252,222, - 1768,1168,30,207,1982,1983,1984,253,1994,1428, - 285,349,1768,1551,1209,624,1460,1768,1768,1676, - 492,201,1768,189,189,189,1768,1768,1768,1768, - 1768,1797,2731,1768,1768,981,185,184,206,1768, - 1768,1768,1768,1768,1768,1768,1768,1768,1768,1768, - 1768,1768,1768,624,1768,1768,1768,1768,1768,1768, - 1768,1768,1768,1768,1768,1768,1768,1768,1768,1768, - 1768,1768,1768,1768,1768,1768,1768,546,1768,1768, - 1077 + 192,1,1,1,1769,1,42,1,1966,191, + 1,1,1,1769,1418,1397,1386,1352,1773,2817, + 1759,1,263,1996,1128,1,1,183,1,1, + 1,1,1,184,350,1,1,1,1,1, + 1,1,1,1,1,1,1,191,1,1, + 1,1769,1,272,1,1966,192,1,1,1, + 269,1996,1128,1772,254,350,49,287,1,266, + 1536,1431,350,1,2028,1,1,1,1,1, + 71,350,1,1,1,1,1,1,1,1, + 1,1,1,1,192,1,1,1,1769,1780, + 69,1781,1966,51,1984,1985,1986,1536,50,63, + 1769,1780,1536,1781,1769,1933,1,1763,1128,1528, + 1515,1775,1934,1932,1987,1935,1931,2817,350,1938, + 1943,1942,1940,1941,1939,1944,1945,1937,1946,1947, + 1948,130,1626,1384,1191,1193,1774,1984,1985,1986, + 54,269,73,1431,64,254,1528,1515,1933,580, + 570,1528,1515,350,1210,1934,1932,1987,1935,1931, + 1324,1311,1938,1943,1942,1940,1941,1939,1944,1945, + 1937,1946,1947,1948,1,1780,1566,1781,1480,1773, + 1,1996,1429,1070,1060,1432,1769,2008,1579,1443, + 476,514,1782,1783,1784,1785,1012,1002,1769,1780, + 1566,1781,1490,1773,1769,1324,1311,1070,1060,1432, + 601,1672,1579,1443,476,941,1782,1783,1784,1785, + 1012,1002,1769,72,1772,1,271,1431,1168,1769, + 1775,1,1780,1566,1781,1375,29,350,350,1040, + 1070,1060,1432,67,2817,1579,1443,476,1772,1782, + 1783,1784,1785,1012,1002,1774,1,1769,1780,1566, + 1781,1375,1773,899,1769,1769,1070,1060,1432,1775, + 1769,1579,1443,476,29,1782,1783,1784,1785,1012, + 1002,1769,1,1,1,1,186,2830,1193,2830, + 1,1,1,1613,1774,1,1,1,1769,1, + 1,1,1,1,1,2027,1228,1772,1769,1780, + 1566,1781,1375,185,2831,59,2831,1070,1060,1432, + 1,2817,1579,1443,476,1779,1782,1783,1784,1785, + 1012,1002,2086,1,1780,1566,1781,1375,207,2832, + 1769,2832,1070,1060,1432,1769,2817,1579,1443,476, + 1779,1782,1783,1784,1785,1012,1002,1769,1780,1566, + 1781,1375,1099,1300,1,58,1070,1060,1432,91, + 2817,1579,1443,476,1335,1782,1783,1784,1785,1012, + 1002,1769,1780,1566,1781,1375,1778,57,1769,56, + 1070,1060,1432,1775,91,1579,1443,476,221,1782, + 1783,1784,1785,1012,1002,1769,1780,1586,1781,1375, + 350,1778,1099,1300,1070,1060,1432,1769,1774,1579, + 1443,476,1777,1782,1783,1784,1785,1012,1002,1769, + 1780,1589,1781,1375,1099,1300,1099,1300,1070,1060, + 1432,1769,1769,1579,1443,476,43,1782,1783,1784, + 1785,1012,1002,1,1780,1566,1781,1375,209,1780, + 1776,1781,1070,1060,1432,1769,1,1579,1443,476, + 254,1782,1783,1784,1785,1012,1002,20,32,1760, + 1556,1760,1760,180,180,180,1,1766,65,1760, + 1671,1769,1795,1796,180,1769,1780,1769,1781,1110, + 53,180,180,180,180,180,878,1760,1251,580, + 570,1,1996,1429,1769,2028,857,836,815,794, + 773,731,752,710,689,668,131,1130,1769,293, + 377,132,1984,1985,1986,2028,68,1984,1985,1986, + 962,1020,1769,1933,1769,375,208,1564,1933,1564, + 1934,1932,1987,1935,1931,1934,1932,1987,1935,1931, + 133,1769,1780,1769,1781,134,1984,1985,1986,89, + 70,1984,1985,1986,1339,1769,1459,1933,1,1338, + 536,538,1933,1775,1934,1932,1987,1935,1931,1934, + 1932,1987,1935,1931,249,212,66,250,647,1228, + 1984,1985,1986,1,1,1,251,1110,1774,252, + 257,30,1,1,1,1984,1985,1986,253,223, + 1769,1169,30,208,1984,1985,1986,254,1996,1429, + 286,350,1769,1552,1210,625,1461,1769,1769,1677, + 493,202,1769,190,190,190,1769,1769,1769,1769, + 1769,1798,2733,1769,1769,982,186,185,207,1769, + 1769,1769,1769,1769,1769,1769,1769,1769,1769,1769, + 1769,1769,1769,625,1769,1769,1769,1769,1769,1769, + 1769,1769,1769,1769,1769,1769,1769,1769,1769,1769, + 1769,1769,1769,1769,1769,1769,1769,547,1769,1769, + 1078 }; }; public final static char termAction[] = TermAction.termAction; @@ -828,16 +828,16 @@ public class C99ExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, C9 public interface ScopeState { public final static char scopeState[] = {0, - 1262,0,342,0,1664,1429,1593,0,1471,1334, - 1428,1259,1238,1127,1097,0,546,492,396,1203, - 442,1407,0,567,1225,317,0,1473,1154,1149, - 1120,1238,1127,1097,592,1430,1500,0,1578,1442, - 475,1489,1479,1407,1192,600,1227,1209,1323,1310, - 1109,1299,1098,1417,1396,1385,1351,1535,1527,1514, - 579,569,1431,1374,1069,1059,1011,1001,1077,1039, - 1019,546,981,961,940,919,450,898,513,349, - 877,856,835,814,793,772,751,730,709,688, - 667,317,646,417,492,396,0 + 1263,0,343,0,1665,1430,1594,0,1472,1335, + 1429,1260,1239,1128,1098,0,547,493,397,1204, + 443,1408,0,568,1226,318,0,1474,1155,1150, + 1121,1239,1128,1098,593,1431,1501,0,1579,1443, + 476,1490,1480,1408,1193,601,1228,1210,1324,1311, + 1110,1300,1099,1418,1397,1386,1352,1536,1528,1515, + 580,570,1432,1375,1070,1060,1012,1002,1078,1040, + 1020,547,982,962,941,920,451,899,514,350, + 878,857,836,815,794,773,752,731,710,689, + 668,318,647,418,493,397,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -1063,18 +1063,18 @@ public class C99ExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, C9 public final static int NUM_STATES = 210, NT_OFFSET = 93, - LA_STATE_OFFSET = 2084, + LA_STATE_OFFSET = 2086, MAX_LA = 2, - NUM_RULES = 316, + NUM_RULES = 317, NUM_NONTERMINALS = 126, NUM_SYMBOLS = 219, SEGMENT_SIZE = 8192, - START_STATE = 1249, + START_STATE = 1250, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 80, EOLT_SYMBOL = 80, - ACCEPT_ACTION = 1758, - ERROR_ACTION = 1768; + ACCEPT_ACTION = 1759, + ERROR_ACTION = 1769; 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 85df21b6c45..9616a285ad6 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 @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 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 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 09c1a4d0d7e..fb5a1fd0d76 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 @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 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 @@ -678,595 +678,601 @@ public C99NoCastExpressionParser(ITokenStream stream, Map<String,String> propert // // Rule 117: iteration_statement ::= do statement while ( expression ) ; // - case 117: { action. consumeStatementDoLoop(); break; + case 117: { action. consumeStatementDoLoop(true); break; } // - // Rule 118: iteration_statement ::= while ( expression ) statement + // Rule 118: iteration_statement ::= do statement // - case 118: { action. consumeStatementWhileLoop(); break; + case 118: { action. consumeStatementDoLoop(false); break; } // - // Rule 119: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement + // Rule 119: iteration_statement ::= while ( expression ) statement // - case 119: { action. consumeStatementForLoop(); break; + case 119: { action. consumeStatementWhileLoop(); break; } // - // Rule 120: iteration_statement ::= for ( declaration expression_opt ; expression_opt ) statement + // Rule 120: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement // case 120: { action. consumeStatementForLoop(); break; } // - // Rule 121: jump_statement ::= goto identifier_token ; + // Rule 121: iteration_statement ::= for ( declaration expression_opt ; expression_opt ) statement // - case 121: { action. consumeStatementGoto(); break; + case 121: { action. consumeStatementForLoop(); break; } // - // Rule 122: jump_statement ::= continue ; + // Rule 122: jump_statement ::= goto identifier_token ; // - case 122: { action. consumeStatementContinue(); break; + case 122: { action. consumeStatementGoto(); break; } // - // Rule 123: jump_statement ::= break ; + // Rule 123: jump_statement ::= continue ; // - case 123: { action. consumeStatementBreak(); break; + case 123: { action. consumeStatementContinue(); break; } // - // Rule 124: jump_statement ::= return ; + // Rule 124: jump_statement ::= break ; // - case 124: { action. consumeStatementReturn(false); break; + case 124: { action. consumeStatementBreak(); break; } // - // Rule 125: jump_statement ::= return expression ; + // Rule 125: jump_statement ::= return ; // - case 125: { action. consumeStatementReturn(true); break; + case 125: { action. consumeStatementReturn(false); break; } // - // Rule 126: declaration ::= declaration_specifiers ; + // Rule 126: jump_statement ::= return expression ; // - case 126: { action. consumeDeclarationSimple(false); break; + case 126: { action. consumeStatementReturn(true); break; } // - // Rule 127: declaration ::= declaration_specifiers <openscope-ast> init_declarator_list ; + // Rule 127: declaration ::= declaration_specifiers ; // - case 127: { action. consumeDeclarationSimple(true); break; + case 127: { action. consumeDeclarationSimple(false); break; } // - // Rule 128: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers + // Rule 128: declaration ::= declaration_specifiers <openscope-ast> init_declarator_list ; // - case 128: { action. consumeDeclarationSpecifiersSimple(); break; + case 128: { action. consumeDeclarationSimple(true); break; } // - // Rule 129: declaration_specifiers ::= <openscope-ast> struct_or_union_declaration_specifiers + // Rule 129: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers // - case 129: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; + case 129: { action. consumeDeclarationSpecifiersSimple(); break; } // - // Rule 130: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers + // Rule 130: declaration_specifiers ::= <openscope-ast> struct_or_union_declaration_specifiers // case 130: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; } // - // Rule 131: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers + // Rule 131: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers // case 131: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; } // - // Rule 132: declaration_specifiers ::= <openscope-ast> typdef_name_declaration_specifiers + // Rule 132: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers // - case 132: { action. consumeDeclarationSpecifiersTypedefName(); break; + case 132: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; } // - // Rule 157: init_declarator ::= complete_declarator = initializer + // Rule 133: declaration_specifiers ::= <openscope-ast> typdef_name_declaration_specifiers // - case 157: { action. consumeDeclaratorWithInitializer(true); break; + case 133: { action. consumeDeclarationSpecifiersTypedefName(); break; } // - // Rule 159: storage_class_specifier ::= storage_class_specifier_token + // Rule 158: init_declarator ::= complete_declarator = initializer // - case 159: { action. consumeToken(); break; + case 158: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 165: simple_type_specifier ::= simple_type_specifier_token + // Rule 160: storage_class_specifier ::= storage_class_specifier_token // - case 165: { action. consumeToken(); break; + case 160: { action. consumeToken(); break; } // - // Rule 178: type_name_specifier ::= identifier_token + // Rule 166: simple_type_specifier ::= simple_type_specifier_token // - case 178: { action. consumeToken(); break; + case 166: { action. consumeToken(); break; } // - // Rule 179: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt } + // Rule 179: type_name_specifier ::= identifier_token // - case 179: { action. consumeTypeSpecifierComposite(false); break; + case 179: { action. consumeToken(); break; } // - // 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 } + // Rule 180: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt } // - case 180: { action. consumeTypeSpecifierComposite(true); break; + case 180: { action. consumeTypeSpecifierComposite(false); break; } // - // Rule 185: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token + // Rule 181: 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 185: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break; + case 181: { action. consumeTypeSpecifierComposite(true); break; } // - // Rule 186: elaborated_specifier ::= union elaborated_specifier_hook identifier_token + // Rule 186: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token // - case 186: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break; + case 186: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break; } // - // Rule 187: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token + // Rule 187: elaborated_specifier ::= union elaborated_specifier_hook identifier_token // - case 187: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break; + case 187: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break; } // - // Rule 193: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ; + // Rule 188: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token // - case 193: { action. consumeStructDeclaration(true); break; + case 188: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break; } // - // Rule 194: struct_declaration ::= specifier_qualifier_list ; + // Rule 194: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ; // - case 194: { action. consumeStructDeclaration(false); break; + case 194: { action. consumeStructDeclaration(true); break; } // - // Rule 195: struct_declaration ::= ERROR_TOKEN + // Rule 195: struct_declaration ::= specifier_qualifier_list ; // - case 195: { action. consumeDeclarationProblem(); break; + case 195: { action. consumeStructDeclaration(false); break; } // - // Rule 201: struct_declarator ::= : constant_expression + // Rule 196: struct_declaration ::= ERROR_TOKEN // - case 201: { action. consumeBitField(false); break; + case 196: { action. consumeDeclarationProblem(); break; } // - // Rule 202: struct_declarator ::= declarator : constant_expression + // Rule 202: struct_declarator ::= : constant_expression // - case 202: { action. consumeBitField(true); break; + case 202: { action. consumeBitField(false); break; } // - // Rule 203: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 203: struct_declarator ::= declarator : constant_expression // - case 203: { action. consumeTypeSpecifierEnumeration(false); break; + case 203: { action. consumeBitField(true); break; } // - // Rule 204: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 204: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } // - case 204: { action. consumeTypeSpecifierEnumeration(true); break; + case 204: { action. consumeTypeSpecifierEnumeration(false); break; } // - // Rule 210: enumerator ::= identifier_token + // Rule 205: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } // - case 210: { action. consumeEnumerator(false); break; + case 205: { action. consumeTypeSpecifierEnumeration(true); break; } // - // Rule 211: enumerator ::= identifier_token = constant_expression + // Rule 211: enumerator ::= identifier_token // - case 211: { action. consumeEnumerator(true); break; + case 211: { action. consumeEnumerator(false); break; } // - // Rule 212: type_qualifier ::= type_qualifier_token + // Rule 212: enumerator ::= identifier_token = constant_expression // - case 212: { action. consumeToken(); break; + case 212: { action. consumeEnumerator(true); break; } // - // Rule 216: function_specifier ::= inline + // Rule 213: type_qualifier ::= type_qualifier_token // - case 216: { action. consumeToken(); break; + case 213: { action. consumeToken(); break; } // - // Rule 218: declarator ::= <openscope-ast> pointer_seq direct_declarator + // Rule 217: function_specifier ::= inline // - case 218: { action. consumeDeclaratorWithPointer(true); break; + case 217: { action. consumeToken(); break; } // - // Rule 223: basic_direct_declarator ::= declarator_id_name + // Rule 219: declarator ::= <openscope-ast> pointer_seq direct_declarator // - case 223: { action. consumeDirectDeclaratorIdentifier(); break; + case 219: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 224: basic_direct_declarator ::= ( declarator ) + // Rule 224: basic_direct_declarator ::= declarator_id_name // - case 224: { action. consumeDirectDeclaratorBracketed(); break; + case 224: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 225: declarator_id_name ::= identifier + // Rule 225: basic_direct_declarator ::= ( declarator ) // - case 225: { action. consumeIdentifierName(); break; + case 225: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 226: array_direct_declarator ::= basic_direct_declarator array_modifier + // Rule 226: declarator_id_name ::= identifier // - case 226: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 226: { action. consumeIdentifierName(); break; } // - // Rule 227: array_direct_declarator ::= array_direct_declarator array_modifier + // Rule 227: array_direct_declarator ::= basic_direct_declarator array_modifier // case 227: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 229: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list ) + // Rule 228: array_direct_declarator ::= array_direct_declarator array_modifier // - case 229: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; + case 228: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 230: function_direct_declarator ::= basic_direct_declarator ( ) + // Rule 230: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list ) // - case 230: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; + case 230: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; } // - // Rule 232: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator + // Rule 231: function_direct_declarator ::= basic_direct_declarator ( ) // - case 232: { action. consumeDeclaratorWithPointer(true); break; + case 231: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; } // - // Rule 233: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list ) + // Rule 233: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator // - case 233: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; + case 233: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 235: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator + // Rule 234: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list ) // - case 235: { action. consumeDeclaratorWithPointer(true); break; + case 234: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; } // - // Rule 236: identifier_list ::= identifier + // Rule 236: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator // - case 236: { action. consumeIdentifierKnR(); break; + case 236: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 237: identifier_list ::= identifier_list , identifier + // Rule 237: identifier_list ::= identifier // case 237: { action. consumeIdentifierKnR(); break; } // - // Rule 238: array_modifier ::= [ ] + // Rule 238: identifier_list ::= identifier_list , identifier // - case 238: { action. consumeDirectDeclaratorArrayModifier(false); break; + case 238: { action. consumeIdentifierKnR(); break; } // - // Rule 239: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ] + // Rule 239: array_modifier ::= [ ] // - case 239: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break; + case 239: { action. consumeDirectDeclaratorArrayModifier(false); break; } // - // Rule 240: array_modifier ::= [ assignment_expression ] + // Rule 240: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ] // - case 240: { action. consumeDirectDeclaratorArrayModifier(true); break; + case 240: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break; } // - // Rule 241: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ] + // Rule 241: array_modifier ::= [ assignment_expression ] // - case 241: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break; + case 241: { action. consumeDirectDeclaratorArrayModifier(true); break; } // - // Rule 242: array_modifier ::= [ static assignment_expression ] + // Rule 242: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ] // - case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break; + case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break; } // - // Rule 243: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ] + // Rule 243: array_modifier ::= [ static assignment_expression ] // - case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; + case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break; } // - // Rule 244: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ] + // Rule 244: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ] // case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; } // - // Rule 245: array_modifier ::= [ * ] + // Rule 245: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ] // - case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break; + case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; } // - // Rule 246: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ] + // Rule 246: array_modifier ::= [ * ] // - case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break; + case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break; } // - // Rule 248: pointer_seq ::= pointer_hook * pointer_hook + // Rule 247: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ] // - case 248: { action. consumePointer(); break; + case 247: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break; } // - // Rule 249: pointer_seq ::= pointer_seq pointer_hook * pointer_hook + // Rule 249: pointer_seq ::= pointer_hook * pointer_hook // case 249: { action. consumePointer(); break; } // - // Rule 250: pointer_seq ::= pointer_hook * pointer_hook <openscope-ast> type_qualifier_list + // Rule 250: pointer_seq ::= pointer_seq pointer_hook * pointer_hook // - case 250: { action. consumePointerTypeQualifierList(); break; + case 250: { action. consumePointer(); break; } // - // Rule 251: pointer_seq ::= pointer_seq pointer_hook * pointer_hook <openscope-ast> type_qualifier_list + // Rule 251: pointer_seq ::= pointer_hook * pointer_hook <openscope-ast> type_qualifier_list // case 251: { action. consumePointerTypeQualifierList(); break; } // - // Rule 255: parameter_type_list ::= parameter_list + // Rule 252: pointer_seq ::= pointer_seq pointer_hook * pointer_hook <openscope-ast> type_qualifier_list // - case 255: { action. consumeEmpty(); break; + case 252: { action. consumePointerTypeQualifierList(); break; } // - // Rule 256: parameter_type_list ::= parameter_list , ... + // Rule 256: parameter_type_list ::= parameter_list // - case 256: { action. consumePlaceHolder(); break; + case 256: { action. consumeEmpty(); break; } // - // Rule 257: parameter_type_list ::= ... + // Rule 257: parameter_type_list ::= parameter_list , ... // case 257: { action. consumePlaceHolder(); break; } // - // Rule 260: parameter_declaration ::= declaration_specifiers complete_parameter_declarator + // Rule 258: parameter_type_list ::= ... // - case 260: { action. consumeParameterDeclaration(); break; + case 258: { action. consumePlaceHolder(); break; } // - // Rule 261: parameter_declaration ::= declaration_specifiers + // Rule 261: parameter_declaration ::= declaration_specifiers complete_parameter_declarator // - case 261: { action. consumeParameterDeclarationWithoutDeclarator(); break; + case 261: { action. consumeParameterDeclaration(); break; } // - // Rule 264: type_id ::= specifier_qualifier_list + // Rule 262: parameter_declaration ::= declaration_specifiers // - case 264: { action. consumeTypeId(false); break; + case 262: { action. consumeParameterDeclarationWithoutDeclarator(); break; } // - // Rule 265: type_id ::= specifier_qualifier_list abstract_declarator + // Rule 265: type_id ::= specifier_qualifier_list // - case 265: { action. consumeTypeId(true); break; + case 265: { action. consumeTypeId(false); break; } // - // Rule 267: abstract_declarator ::= <openscope-ast> pointer_seq + // Rule 266: type_id ::= specifier_qualifier_list abstract_declarator // - case 267: { action. consumeDeclaratorWithPointer(false); break; + case 266: { action. consumeTypeId(true); break; } // - // Rule 268: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator + // Rule 268: abstract_declarator ::= <openscope-ast> pointer_seq // - case 268: { action. consumeDeclaratorWithPointer(true); break; + case 268: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 272: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 269: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator // - case 272: { action. consumeDirectDeclaratorBracketed(); break; + case 269: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 273: array_direct_abstract_declarator ::= array_modifier + // Rule 273: basic_direct_abstract_declarator ::= ( abstract_declarator ) // - case 273: { action. consumeDirectDeclaratorArrayDeclarator(false); break; + case 273: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 274: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier + // Rule 274: array_direct_abstract_declarator ::= array_modifier // - case 274: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 274: { action. consumeDirectDeclaratorArrayDeclarator(false); break; } // - // Rule 275: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier + // Rule 275: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier // case 275: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 276: function_direct_abstract_declarator ::= ( ) + // Rule 276: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier // - case 276: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break; + case 276: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + } + + // + // Rule 277: function_direct_abstract_declarator ::= ( ) + // + case 277: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break; } // - // Rule 277: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( ) + // Rule 278: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( ) // - case 277: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; + case 278: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; } // - // Rule 278: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list ) + // Rule 279: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list ) // - case 278: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break; + case 279: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break; } // - // Rule 279: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list ) + // Rule 280: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list ) // - case 279: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; + case 280: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; } // - // Rule 280: initializer ::= assignment_expression + // Rule 281: initializer ::= assignment_expression // - case 280: { action. consumeInitializer(); break; + case 281: { action. consumeInitializer(); break; } // - // Rule 282: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq comma_opt } end_initializer_list + // Rule 283: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq comma_opt } end_initializer_list // - case 282: { action. consumeInitializerList(); break; + case 283: { action. consumeInitializerList(); break; } // - // Rule 283: initializer_list ::= { <openscope-ast> } + // Rule 284: initializer_list ::= { <openscope-ast> } // - case 283: { action. consumeInitializerList(); break; + case 284: { action. consumeInitializerList(); break; } // - // Rule 284: start_initializer_list ::= $Empty + // Rule 285: start_initializer_list ::= $Empty // - case 284: { action. initializerListStart(); break; + case 285: { action. initializerListStart(); break; } // - // Rule 285: end_initializer_list ::= $Empty + // Rule 286: end_initializer_list ::= $Empty // - case 285: { action. initializerListEnd(); break; + case 286: { action. initializerListEnd(); break; } // - // Rule 290: designated_initializer ::= <openscope-ast> designation = initializer + // Rule 291: designated_initializer ::= <openscope-ast> designation = initializer // - case 290: { action. consumeInitializerDesignated(); break; + case 291: { action. consumeInitializerDesignated(); break; } // - // Rule 294: designator_base ::= [ constant_expression ] + // Rule 295: designator_base ::= [ constant_expression ] // - case 294: { action. consumeDesignatorArray(); break; + case 295: { action. consumeDesignatorArray(); break; } // - // Rule 295: designator_base ::= . identifier_token + // Rule 296: designator_base ::= . identifier_token // - case 295: { action. consumeDesignatorField(); break; + case 296: { action. consumeDesignatorField(); break; } // - // Rule 296: designator ::= [ constant_expression ] + // Rule 297: designator ::= [ constant_expression ] // - case 296: { action. consumeDesignatorArray(); break; + case 297: { action. consumeDesignatorArray(); break; } // - // Rule 297: designator ::= . identifier_token + // Rule 298: designator ::= . identifier_token // - case 297: { action. consumeDesignatorField(); break; + case 298: { action. consumeDesignatorField(); break; } // - // Rule 298: translation_unit ::= external_declaration_list + // Rule 299: translation_unit ::= external_declaration_list // - case 298: { action. consumeTranslationUnit(); break; + case 299: { action. consumeTranslationUnit(); break; } // - // Rule 299: translation_unit ::= $Empty + // Rule 300: translation_unit ::= $Empty // - case 299: { action. consumeTranslationUnit(); break; + case 300: { action. consumeTranslationUnit(); break; } // - // Rule 304: external_declaration ::= ; + // Rule 305: external_declaration ::= ; // - case 304: { action. consumeDeclarationEmpty(); break; + case 305: { action. consumeDeclarationEmpty(); break; } // - // Rule 305: external_declaration ::= ERROR_TOKEN + // Rule 306: external_declaration ::= ERROR_TOKEN // - case 305: { action. consumeDeclarationProblem(); break; + case 306: { action. consumeDeclarationProblem(); break; } // - // Rule 309: function_definition ::= <openscope-ast> function_declarator function_body + // Rule 310: function_definition ::= <openscope-ast> function_declarator function_body // - case 309: { action. consumeFunctionDefinition(false); break; + case 310: { action. consumeFunctionDefinition(false); break; } // - // Rule 310: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement + // Rule 311: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement // - case 310: { action. consumeFunctionDefinitionKnR(); break; + case 311: { action. consumeFunctionDefinitionKnR(); break; } // - // Rule 311: normal_function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body + // Rule 312: normal_function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body // - case 311: { action. consumeFunctionDefinition(true); break; + case 312: { action. consumeFunctionDefinition(true); break; } // - // Rule 312: function_body ::= { } + // Rule 313: function_body ::= { } // - case 312: { action. consumeStatementCompoundStatement(false); break; + case 313: { action. consumeStatementCompoundStatement(false); break; } // - // Rule 313: function_body ::= { <openscope-ast> block_item_list } + // Rule 314: function_body ::= { <openscope-ast> block_item_list } // - case 313: { action. consumeStatementCompoundStatement(true); break; + case 314: { action. consumeStatementCompoundStatement(true); break; } // - // Rule 315: no_cast_start ::= ERROR_TOKEN + // Rule 316: no_cast_start ::= ERROR_TOKEN // - case 315: { action. consumeEmpty(); break; + case 316: { action. consumeEmpty(); 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 0d4b891be68..c140f0dbe97 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 @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 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 @@ -45,170 +45,170 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 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, + 2,5,7,5,1,0,7,2,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,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,3,4,5, - 6,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, - 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,1,3,6, - 4,2,4,1,1,-32,0,0,0,0, - 0,0,0,0,0,0,-2,0,0,0, - 0,0,0,0,0,0,0,0,-4,-156, - -115,0,-15,0,0,0,0,-70,0,0, + 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,3,4, + 5,6,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,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,1,3, + 6,4,2,4,1,1,-32,0,0,0, + 0,0,0,0,0,0,0,-2,0,0, + 0,0,0,0,0,0,0,0,0,-4, + -156,-115,0,-15,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, - -167,0,-33,0,-104,0,0,0,0,-78, - 0,0,-116,0,-16,0,-17,0,0,0, - 0,0,0,0,-138,0,0,0,0,0, + 0,-167,0,-33,0,-104,0,0,0,0, + -78,0,0,-116,0,-16,0,-17,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,0,-174,0,0,0,0, + 0,0,0,0,0,0,-174,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-178,0,-128,-76,0,0,-48,0,0, + 0,0,-178,0,-128,-76,0,0,-48,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-34,0,0,0,-18,0,-42,0, + 0,0,0,-34,0,0,0,-18,0,-42, 0,0,0,0,0,0,0,0,0,0, - 0,-6,0,0,0,0,0,0,0,0, - -189,0,0,0,0,0,0,0,0,0, + 0,0,-6,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,-3,0,0,0,0,0,0,0,0, - 0,0,-19,0,0,0,0,0,0,0, - 0,0,0,0,-117,0,0,-118,0,-119, - 0,0,0,-43,0,0,0,0,0,0, - 0,0,0,0,0,-108,0,0,0,0, + 0,0,-3,0,0,0,0,0,0,0, + 0,0,0,-19,0,0,0,0,0,0, + 0,0,0,0,0,-117,0,0,-118,0, + -119,0,0,0,-43,0,0,0,0,0, + 0,0,0,0,0,0,-108,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,-127,0,0,0,0,0, - 0,0,0,0,0,-79,0,0,0,0, - 0,0,0,0,0,-131,0,-158,0,-55, + 0,0,0,0,0,0,0,-5,0,0, + 0,0,0,0,0,-127,0,0,0,0, + 0,0,0,0,0,0,-79,0,0,0, + 0,0,0,0,0,0,-131,0,-158,0, + -55,0,0,0,0,0,0,0,0,0, + 0,-122,0,0,0,0,0,0,0,0, + 0,-20,0,-21,0,0,0,0,-27,0, + 0,0,0,0,0,0,0,0,0,-22, 0,0,0,0,0,0,0,0,0,0, - -122,0,0,0,0,0,0,0,0,0, - -20,0,-21,0,0,0,0,-27,0,0, - 0,0,0,0,0,0,0,0,-22,0, + 0,-23,0,-188,0,-24,0,0,0,0, + -72,0,-12,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, - -23,0,-188,0,-24,0,0,0,0,-72, - 0,-12,0,0,0,0,0,0,0,0, - 0,0,0,0,-56,0,0,0,0,0, + 0,0,0,0,0,0,-57,0,0,0, + 0,0,0,0,0,0,0,-25,0,0, + 0,0,0,0,0,0,0,-58,0,0, + 0,0,0,0,0,0,0,0,-26,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,-57,0,0,0,0, - 0,0,0,0,0,0,-25,0,0,0, - 0,0,0,0,0,0,-58,0,0,0, - 0,0,0,0,0,0,0,-26,0,0, - 0,0,0,0,0,0,0,-59,0,0, + 0,0,0,0,0,0,0,0,0,-60, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-60,0, - 0,0,0,0,0,0,0,0,0,-84, - 0,0,0,0,0,0,0,0,0,-61, + -84,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,-120,0,0,0, + 0,0,0,0,0,0,0,-93,0,0, + 0,0,0,0,0,0,0,-141,0,0, + 0,0,0,0,0,0,0,0,-94,0, + 0,0,0,0,0,0,0,0,-142,0, + 0,0,0,0,0,0,0,0,0,-95, + 0,0,0,0,0,0,0,0,0,-177, 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,-120,0,0,0,0, - 0,0,0,0,0,0,-93,0,0,0, - 0,0,0,0,0,0,-141,0,0,0, - 0,0,0,0,0,0,0,-94,0,0, - 0,0,0,0,0,0,0,-142,0,0, - 0,0,0,0,0,0,0,0,-95,0, - 0,0,0,0,0,0,0,0,-177,0, - 0,0,0,0,0,0,0,0,0,-134, - 0,0,0,0,0,0,0,0,-186,0, - 0,0,0,0,0,0,0,0,0,-96, - 0,0,0,0,0,0,0,0,-13,0, - 0,0,0,0,0,0,-7,0,0,0, - 0,0,0,0,-192,0,0,0,0,0, + -134,0,0,0,0,0,0,0,0,-186, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-198,0,0,0,0,0, - 0,0,0,0,0,-135,0,0,0,0, - 0,0,0,0,-155,-170,0,-176,0,0, - -97,0,-8,0,0,0,0,0,0,0, - -206,0,0,0,0,0,0,0,0,0, + -96,0,0,0,0,0,0,0,0,-13, + 0,0,0,0,0,0,0,-7,0,0, + 0,0,0,0,0,-192,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -54,0,0,0,0,0,0,0,0,0, - 0,-130,0,0,0,0,0,0,-98,-180, - -191,0,0,0,0,-73,-99,0,-37,0, - 0,0,0,0,0,0,0,0,-100,-145, - 0,0,-110,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-200,-193,-124,0, - -187,0,0,0,0,0,-101,0,-102,0, - -146,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-35,0,-105,0,0,0, - 0,0,0,0,0,0,0,0,0,-184, - -107,-83,0,-29,0,0,-51,0,0,0, - 0,0,0,0,0,0,0,-121,0,0, - 0,0,0,0,0,-69,0,0,0,0, - 0,0,0,-52,0,0,0,0,0,0, - 0,0,0,0,-164,0,0,0,-137,-154, - 0,-30,0,-123,0,0,0,-183,0,0, - -67,0,0,0,0,-132,0,-136,0,-81, - 0,0,0,-140,0,0,0,0,0,0, + 0,0,0,0,0,-198,0,0,0,0, + 0,0,0,0,0,0,-135,0,0,0, + 0,0,0,0,0,-155,-170,0,-176,0, + 0,-97,0,-8,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,0,0,0,0,-38,0,0,0, - 0,0,0,0,0,0,-49,0,0,0, - 0,0,0,0,0,0,0,0,0,-50, + 0,-54,0,0,0,0,0,0,0,0, + 0,0,-130,0,0,0,0,0,0,-98, + -180,-191,0,0,0,0,-73,-99,0,-37, + 0,0,0,0,0,0,0,0,0,-100, + -145,0,0,-110,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-200,-193,-124, + 0,-187,0,0,0,0,0,-101,0,-102, + 0,-146,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-35,0,-105,0,0, 0,0,0,0,0,0,0,0,0,0, - -205,0,0,0,-153,0,-157,-85,0,0, - -151,0,-171,-172,-175,0,-199,0,0,-44, + -184,-107,-83,0,-29,0,0,-51,0,0, + 0,0,0,0,0,0,0,0,-121,0, + 0,0,0,0,0,0,-69,0,0,0, + 0,0,0,0,-52,0,0,0,0,0, + 0,0,0,0,0,-164,0,0,0,-137, + -154,0,-30,0,-123,0,0,0,-183,0, + 0,-67,0,0,0,0,-132,0,-136,0, + -81,0,0,0,-140,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-9, - 0,0,0,0,0,0,0,-166,0,-45, + 0,0,0,0,0,0,0,-38,0,0, + 0,0,0,0,0,0,0,-49,0,0, 0,0,0,0,0,0,0,0,0,0, - -46,0,0,0,0,0,0,0,0,0, - -47,0,0,0,0,0,0,0,0,0, - -71,0,0,-74,-86,-109,0,-112,-139,-165, - -204,0,-111,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-207,0,0, + -50,0,0,0,0,0,0,0,0,0, + 0,-205,0,0,0,-153,0,-157,-85,0, + 0,-151,0,-171,-172,-175,0,-199,0,0, + -44,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -147,0,0,0,0,-144,0,0,0,0, + -9,0,0,0,0,0,0,0,-166,0, + -45,0,0,0,0,0,0,0,0,0, + 0,-46,0,0,0,0,0,0,0,0, + 0,-47,0,0,0,0,0,0,0,0, + 0,-71,0,0,-74,-86,-109,0,-112,-139, + -165,-204,0,-111,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-207,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-173,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,0,-113,0,-40,0, - 0,0,0,0,0,0,0,0,-68,-126, - -143,-162,0,-41,0,0,0,0,0,0, - 0,0,0,0,-14,-129,-159,0,0,0, - 0,-28,-36,0,0,0,0,-179,0,-160, - -148,-190,0,0,0,-185,0,0,0,0, - 0,0,0,0,0,-196,0,-75,0,0, + 0,-147,0,0,0,0,-144,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -77,0,0,0,-197,-80,0,0,0,0, - 0,-106,-169,0,0,0,0,0,0,-82, + 0,0,0,0,0,0,0,0,-173,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,0,-113,0,-40, + 0,0,0,0,0,0,0,0,0,-68, + -126,-143,-162,0,-41,0,0,0,0,0, + 0,0,0,0,0,-14,-129,-159,0,0, + 0,0,-28,-36,0,0,0,0,-179,0, + -160,-148,-190,0,0,0,-185,0,0,0, + 0,0,0,0,0,0,-196,0,-75,0, 0,0,0,0,0,0,0,0,0,0, + 0,-77,0,0,0,-197,-80,0,0,0, + 0,0,-106,-169,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,-125,0,0,-152,-181,0,0,0, - 0,-182,0,0,0,0,0,0,-133,0, - 0,-168,0,0,0,-203,-1,-114,-163,0, - 0,0,0,0,-53,0,0,0,0,0, - 0,-150,-149,0,-202,0,0,0,-103,0, - 0,0,0,0,0,0,0,0,0,-201, + 0,0,0,-125,0,0,-152,-181,0,0, + 0,0,-182,0,0,0,0,0,0,-133, + 0,0,-168,0,0,0,-203,-1,-114,-163, + 0,0,0,0,0,-53,0,0,0,0, + 0,0,-150,-149,0,-202,0,0,0,-103, 0,0,0,0,0,0,0,0,0,0, + -201,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -161,-194,-195,0,0,0,0,0,0,0, + 0,-161,-194,-195,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0 + 0,0,0,0,0,0 }; }; public final static short baseCheck[] = BaseCheck.baseCheck; @@ -230,170 +230,170 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 88,72,72,47,104,104,104,104,104,104, 104,105,105,105,106,106,111,111,112,112, 107,107,108,108,108,114,114,109,109,109, - 109,110,110,110,110,110,113,113,25,25, - 25,25,25,28,28,28,78,78,73,73, - 73,73,74,74,74,75,75,75,76,76, - 76,77,77,77,115,115,116,116,117,29, - 31,31,31,31,31,53,54,54,54,54, - 54,54,54,54,54,54,54,54,63,60, - 60,89,90,65,65,61,61,61,66,79, - 79,80,80,67,67,67,49,91,91,81, - 82,82,82,62,62,92,83,83,84,84, - 68,68,21,22,22,22,30,48,48,32, - 32,32,32,35,35,37,33,33,34,38, - 38,118,118,36,119,119,93,93,26,26, - 26,26,26,26,26,26,26,85,50,50, - 50,50,27,56,56,55,55,55,57,57, - 51,51,94,94,71,71,58,58,58,41, - 41,41,42,43,43,43,44,44,44,44, - 64,64,46,46,52,96,95,95,95,95, - 86,97,98,98,99,99,100,100,120,120, - 121,121,122,122,122,122,124,124,123,123, - 123,125,126,126,87,87,1,780,17,21, - 18,343,738,44,387,385,523,293,467,633, - 631,661,649,717,665,74,91,134,212,431, - 236,108,990,687,136,133,135,159,275,20, - 17,21,18,343,738,44,387,385,523,1153, - 467,633,631,661,649,717,665,74,1426,138, - 165,519,238,71,31,31,142,145,148,151, - 199,445,1268,71,186,246,1228,69,339,1424, - 1578,1591,1596,1610,1212,424,20,17,21,18, - 343,738,44,387,385,523,340,467,633,631, - 661,649,717,665,74,280,335,20,17,21, - 18,343,738,44,387,385,523,340,467,633, - 631,661,649,717,665,74,280,1355,442,292, - 194,281,583,25,210,104,383,1197,482,20, - 17,21,18,343,43,44,387,385,523,286, - 467,969,281,71,31,254,212,6,1197,482, - 20,17,21,18,343,43,44,387,385,843, - 288,287,482,20,17,21,18,343,43,40, - 1075,453,20,17,21,18,343,738,44,387, - 385,523,289,467,633,631,661,649,717,665, - 74,280,482,20,17,21,18,343,738,44, - 387,385,523,10,467,633,631,661,649,717, - 665,74,91,24,341,71,185,281,281,1278, - 71,187,293,1197,482,20,17,21,18,343, - 43,44,387,385,864,290,540,20,17,21, - 18,343,738,44,387,385,523,1633,467,633, - 631,661,649,717,665,74,1530,511,20,17, - 21,18,343,41,339,305,20,17,21,18, - 343,738,44,387,385,523,429,467,633,631, - 661,649,717,665,74,1531,189,178,163,239, - 482,20,17,21,18,343,43,44,387,385, - 523,31,467,633,631,661,1179,134,212,253, - 212,327,395,14,136,133,135,159,482,20, - 17,21,18,343,738,44,387,385,523,516, - 467,633,631,661,649,717,665,74,92,138, - 165,156,535,124,1130,243,142,145,148,151, - 295,445,482,20,17,21,18,343,34,1424, - 1578,1591,1596,1610,1212,482,20,17,21,18, - 343,738,44,387,385,523,274,467,633,631, - 661,649,717,665,74,85,482,20,17,21, - 18,343,738,44,387,385,523,172,467,633, - 631,661,649,717,665,74,84,482,20,17, - 21,18,343,738,44,387,385,523,530,467, - 633,631,661,649,717,665,74,83,482,20, - 17,21,18,343,738,44,387,385,523,282, - 467,633,631,661,649,717,665,74,82,482, - 20,17,21,18,343,738,44,387,385,523, - 569,467,633,631,661,649,717,665,74,81, - 482,20,17,21,18,343,738,44,387,385, - 523,151,467,633,631,661,649,717,665,74, - 80,482,20,17,21,18,343,738,44,387, - 385,523,194,467,633,631,661,649,717,665, - 74,79,482,20,17,21,18,343,738,44, - 387,385,523,30,467,633,631,661,649,717, - 665,74,78,482,20,17,21,18,343,738, - 44,387,385,523,441,467,633,631,661,649, - 717,665,74,77,482,20,17,21,18,343, - 738,44,387,385,523,470,467,633,631,661, - 649,717,665,74,76,482,20,17,21,18, - 343,738,44,387,385,523,500,467,633,631, - 661,649,717,665,74,75,482,20,17,21, - 18,343,738,44,387,385,523,313,467,633, - 631,661,649,717,665,74,73,482,20,17, - 21,18,343,738,44,387,385,523,343,467, - 633,631,661,649,717,665,74,1547,482,20, - 17,21,18,343,738,44,387,385,523,44, - 467,633,631,661,649,717,665,74,1560,482, - 20,17,21,18,343,43,44,387,385,523, - 119,467,633,631,661,649,717,665,93,482, - 20,17,21,18,343,43,44,387,385,523, - 110,467,633,631,661,649,717,665,93,482, - 20,17,21,18,343,33,1562,482,20,17, - 21,18,343,43,39,482,20,17,21,18, - 343,43,44,387,385,523,211,467,633,631, - 661,649,717,665,93,482,20,17,21,18, - 343,43,44,387,385,523,31,467,633,631, - 661,649,717,665,93,657,683,1636,71,295, - 1351,157,1656,482,20,17,21,18,343,43, - 38,482,20,17,21,18,343,43,44,387, - 385,523,201,467,633,631,661,649,717,665, - 93,482,20,17,21,18,343,43,44,387, - 385,523,611,467,633,631,661,649,1177,344, - 436,71,297,1561,1488,1566,50,619,202,482, - 20,17,21,18,343,43,44,801,273,562, - 699,254,212,163,217,1181,220,1461,222,223, - 228,1532,275,266,1136,670,271,557,465,97, - 262,71,1353,276,253,212,273,487,1690,520, - 263,656,217,1181,220,1461,222,223,228,254, - 212,266,1136,670,271,352,1284,641,1711,217, - 1181,220,1461,222,223,228,512,227,1428,444, - 683,549,189,178,292,1711,260,482,20,17, - 21,18,343,43,44,387,385,523,490,467, - 633,631,1129,134,212,89,97,1529,585,209, - 137,133,135,159,482,20,17,21,18,343, - 43,44,387,385,523,705,467,633,1137,31, - 501,1353,292,1211,640,139,165,283,259,1675, - 1260,292,143,146,149,152,626,445,662,1690, - 458,273,1264,1348,377,19,1602,218,1181,220, - 1461,222,223,228,1679,608,268,1136,670,271, - 217,1181,220,1461,222,223,228,482,20,17, - 21,18,343,43,44,822,1357,482,20,17, - 21,18,343,43,44,387,385,523,208,1010, - 482,20,17,21,18,343,43,44,387,385, - 523,259,1081,1076,1354,31,540,394,292,197, - 199,684,1690,582,688,661,1603,623,1558,1595, - 482,20,17,21,18,343,43,44,387,385, - 885,23,538,217,1181,220,1461,222,223,228, - 482,20,17,21,18,343,43,37,490,1357, - 482,20,17,21,18,343,43,44,387,385, - 906,482,20,17,21,18,343,43,44,387, - 927,482,20,17,21,18,343,43,44,387, - 948,253,198,199,232,153,153,179,292,97, - 31,241,1517,365,20,17,21,18,343,43, - 36,1642,1756,1756,276,134,212,273,595,22, - 240,272,141,133,135,159,1347,245,1756,1756, - 1756,570,266,1136,670,271,365,20,17,21, - 18,343,43,36,1756,1264,1756,140,165,1428, - 218,1181,220,1461,222,223,228,226,490,1756, - 246,482,20,17,21,18,343,43,36,482, - 20,17,21,18,343,43,35,116,482,20, - 17,21,18,343,43,47,1756,413,1236,482, - 20,17,21,18,343,43,46,663,606,374, - 153,153,413,273,482,20,17,21,18,343, - 43,45,1122,606,1211,31,292,153,266,1136, - 670,271,31,31,242,241,316,1122,163,1211, - 153,97,153,316,512,265,490,1602,258,278, - 196,243,1546,1756,1276,28,490,196,610,253, - 212,1197,1255,258,244,87,294,1546,1211,1276, - 1262,631,87,87,1507,494,652,1262,1425,134, - 212,1507,711,501,1353,203,144,133,135,159, - 673,1255,134,212,1168,180,1214,134,212,147, - 133,135,159,1271,150,133,135,159,273,1264, - 1756,134,212,163,1756,1756,48,545,153,133, - 135,159,142,268,1136,670,271,606,606,614, - 1756,1756,95,606,253,212,153,395,403,403, - 606,196,1122,606,193,31,1756,196,512,1649, - 1637,208,292,645,1122,490,512,196,1756,634, - 296,277,230,1756,606,371,1210,1354,258,444, - 97,371,1712,1756,1276,279,1756,87,1122,1756, - 258,371,314,191,1672,87,1276,1756,1756,191, - 1149,292,292,342,204,1388,1652,1211,937,192, - 1756,1576,1652,1756,259,28,1756,1756,1756,1756, - 1713,1197,1756,1756,224,229,233,1756,1756,1756, - 1448,1756,1756,1756,327,1756,0,20,178,0, - 1,1981,0,1,1992,0 + 109,109,110,110,110,110,110,113,113,25, + 25,25,25,25,28,28,28,78,78,73, + 73,73,73,74,74,74,75,75,75,76, + 76,76,77,77,77,115,115,116,116,117, + 29,31,31,31,31,31,53,54,54,54, + 54,54,54,54,54,54,54,54,54,63, + 60,60,89,90,65,65,61,61,61,66, + 79,79,80,80,67,67,67,49,91,91, + 81,82,82,82,62,62,92,83,83,84, + 84,68,68,21,22,22,22,30,48,48, + 32,32,32,32,35,35,37,33,33,34, + 38,38,118,118,36,119,119,93,93,26, + 26,26,26,26,26,26,26,26,85,50, + 50,50,50,27,56,56,55,55,55,57, + 57,51,51,94,94,71,71,58,58,58, + 41,41,41,42,43,43,43,44,44,44, + 44,64,64,46,46,52,96,95,95,95, + 95,86,97,98,98,99,99,100,100,120, + 120,121,121,122,122,122,122,124,124,123, + 123,123,125,126,126,87,87,1,781,17, + 21,18,344,739,44,388,386,524,293,468, + 634,632,662,650,718,666,74,91,135,213, + 431,236,108,991,687,137,134,136,160,275, + 20,17,21,18,344,739,44,388,386,524, + 1154,468,634,632,662,650,718,666,74,1427, + 139,166,519,239,71,31,31,143,146,149, + 152,199,446,1269,71,187,246,1229,69,340, + 1425,1579,1592,1597,1611,1213,424,20,17,21, + 18,344,739,44,388,386,524,341,468,634, + 632,662,650,718,666,74,281,335,20,17, + 21,18,344,739,44,388,386,524,341,468, + 634,632,662,650,718,666,74,281,1356,443, + 293,195,282,583,25,210,104,384,1198,482, + 20,17,21,18,344,43,44,388,386,524, + 287,468,970,282,71,31,255,213,6,1198, + 482,20,17,21,18,344,43,44,388,386, + 844,289,288,482,20,17,21,18,344,43, + 40,1076,453,20,17,21,18,344,739,44, + 388,386,524,290,468,634,632,662,650,718, + 666,74,281,482,20,17,21,18,344,739, + 44,388,386,524,10,468,634,632,662,650, + 718,666,74,91,24,342,71,186,282,281, + 1279,71,188,294,1198,482,20,17,21,18, + 344,43,44,388,386,865,291,540,20,17, + 21,18,344,739,44,388,386,524,1634,468, + 634,632,662,650,718,666,74,1531,511,20, + 17,21,18,344,41,340,305,20,17,21, + 18,344,739,44,388,386,524,429,468,634, + 632,662,650,718,666,74,1532,189,179,163, + 240,482,20,17,21,18,344,43,44,388, + 386,524,31,468,634,632,662,1180,135,213, + 254,213,327,396,14,137,134,136,160,482, + 20,17,21,18,344,739,44,388,386,524, + 516,468,634,632,662,650,718,666,74,92, + 139,166,156,536,124,1131,243,143,146,149, + 152,295,446,482,20,17,21,18,344,34, + 1425,1579,1592,1597,1611,1213,482,20,17,21, + 18,344,739,44,388,386,524,275,468,634, + 632,662,650,718,666,74,85,482,20,17, + 21,18,344,739,44,388,386,524,172,468, + 634,632,662,650,718,666,74,84,482,20, + 17,21,18,344,739,44,388,386,524,530, + 468,634,632,662,650,718,666,74,83,482, + 20,17,21,18,344,739,44,388,386,524, + 283,468,634,632,662,650,718,666,74,82, + 482,20,17,21,18,344,739,44,388,386, + 524,569,468,634,632,662,650,718,666,74, + 81,482,20,17,21,18,344,739,44,388, + 386,524,151,468,634,632,662,650,718,666, + 74,80,482,20,17,21,18,344,739,44, + 388,386,524,194,468,634,632,662,650,718, + 666,74,79,482,20,17,21,18,344,739, + 44,388,386,524,30,468,634,632,662,650, + 718,666,74,78,482,20,17,21,18,344, + 739,44,388,386,524,441,468,634,632,662, + 650,718,666,74,77,482,20,17,21,18, + 344,739,44,388,386,524,470,468,634,632, + 662,650,718,666,74,76,482,20,17,21, + 18,344,739,44,388,386,524,500,468,634, + 632,662,650,718,666,74,75,482,20,17, + 21,18,344,739,44,388,386,524,313,468, + 634,632,662,650,718,666,74,73,482,20, + 17,21,18,344,739,44,388,386,524,343, + 468,634,632,662,650,718,666,74,1548,482, + 20,17,21,18,344,739,44,388,386,524, + 44,468,634,632,662,650,718,666,74,1561, + 482,20,17,21,18,344,43,44,388,386, + 524,119,468,634,632,662,650,718,666,93, + 482,20,17,21,18,344,43,44,388,386, + 524,110,468,634,632,662,650,718,666,93, + 482,20,17,21,18,344,33,1563,482,20, + 17,21,18,344,43,39,482,20,17,21, + 18,344,43,44,388,386,524,212,468,634, + 632,662,650,718,666,93,482,20,17,21, + 18,344,43,44,388,386,524,31,468,634, + 632,662,650,718,666,93,657,683,1637,71, + 296,1352,157,1657,482,20,17,21,18,344, + 43,38,482,20,17,21,18,344,43,44, + 388,386,524,202,468,634,632,662,650,718, + 666,93,482,20,17,21,18,344,43,44, + 388,386,524,611,468,634,632,662,650,1178, + 344,436,71,298,1562,1489,1567,50,619,203, + 482,20,17,21,18,344,43,44,802,274, + 562,699,255,213,163,218,1182,221,1462,223, + 224,229,1533,276,267,1137,671,272,557,465, + 97,263,71,1354,277,254,213,274,487,1691, + 520,264,656,218,1182,221,1462,223,224,229, + 255,213,267,1137,671,272,352,1285,641,1712, + 218,1182,221,1462,223,224,229,513,228,1429, + 445,683,549,189,179,292,1712,261,482,20, + 17,21,18,344,43,44,388,386,524,490, + 468,634,632,1130,135,213,89,97,1530,586, + 210,138,134,136,160,482,20,17,21,18, + 344,43,44,388,386,524,705,468,634,1138, + 31,501,1354,292,1212,640,140,166,284,259, + 1676,1261,292,144,147,150,153,626,446,662, + 1691,458,274,1265,1349,377,19,1603,219,1182, + 221,1462,223,224,229,1680,609,269,1137,671, + 272,218,1182,221,1462,223,224,229,482,20, + 17,21,18,344,43,44,823,1358,482,20, + 17,21,18,344,43,44,388,386,524,209, + 1011,482,20,17,21,18,344,43,44,388, + 386,524,259,1082,1077,1355,31,541,394,292, + 198,200,684,1691,582,688,661,1604,623,1559, + 1596,482,20,17,21,18,344,43,44,388, + 386,886,23,539,218,1182,221,1462,223,224, + 229,482,20,17,21,18,344,43,37,490, + 1358,482,20,17,21,18,344,43,44,388, + 386,907,482,20,17,21,18,344,43,44, + 388,928,482,20,17,21,18,344,43,44, + 388,949,253,199,200,232,153,153,180,292, + 97,31,241,1518,365,20,17,21,18,344, + 43,36,1643,1757,1757,277,135,213,274,595, + 22,241,273,142,134,136,160,1348,246,1757, + 1757,1757,570,267,1137,671,272,365,20,17, + 21,18,344,43,36,1757,1265,1757,141,166, + 1429,219,1182,221,1462,223,224,229,227,490, + 1757,247,482,20,17,21,18,344,43,36, + 482,20,17,21,18,344,43,35,116,482, + 20,17,21,18,344,43,47,1757,413,1237, + 482,20,17,21,18,344,43,46,664,607, + 374,153,153,413,274,482,20,17,21,18, + 344,43,45,1123,607,1212,31,292,153,267, + 1137,671,272,31,31,243,242,317,1123,163, + 1212,153,97,153,317,513,266,490,1603,259, + 279,197,244,1547,1757,1277,28,490,197,610, + 254,213,1198,1256,259,245,87,295,1547,1212, + 1277,1263,631,87,87,1508,494,652,1263,1426, + 135,213,1508,711,501,1354,204,145,134,136, + 160,673,1256,135,213,1169,181,1215,135,213, + 148,134,136,160,1272,151,134,136,160,274, + 1265,1757,135,213,163,1757,1757,48,545,154, + 134,136,160,142,269,1137,671,272,607,607, + 614,1757,1757,95,607,254,213,153,395,403, + 403,607,197,1123,607,194,31,1757,197,513, + 1650,1638,209,292,645,1123,490,513,197,1757, + 634,297,278,231,1757,607,372,1211,1355,259, + 445,97,372,1713,1757,1277,280,1757,87,1123, + 1757,259,372,315,192,1673,87,1277,1757,1757, + 192,1150,292,292,342,205,1389,1653,1212,938, + 193,1757,1577,1653,1757,260,28,1757,1757,1757, + 1757,1714,1198,1757,1757,225,230,234,1757,1757, + 1757,1449,1757,1757,1757,328,1757,0,20,179, + 0,1,1983,0,1,1994,0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -492,82 +492,82 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface TermAction { public final static char termAction[] = {0, - 1756,1767,1545,1768,1491,59,1969,1970,1971,54, - 1380,1083,1918,62,1499,1019,672,1919,1917,1972, - 1920,577,1916,1769,1770,1771,1772,1027,482,58, - 1,1923,1928,1927,1925,1926,1924,1929,1930,1922, - 1931,1932,1933,63,1280,596,380,1756,1,269, - 1,1658,190,1,1,1,1401,1411,348,1, - 1390,1360,544,469,1,1,1,1,48,1, - 1756,1767,1534,1768,1330,1317,1401,1411,1,1, + 1757,1768,1546,1769,1492,59,1971,1972,1973,54, + 1381,1084,1920,62,1500,1020,673,1921,1919,1974, + 1922,578,1918,1770,1771,1772,1773,1028,483,58, + 1,1925,1930,1929,1927,1928,1926,1931,1932,1924, + 1933,1934,1935,63,1281,597,381,1757,1,270, + 1,1659,191,1,1,1,1402,1412,349,1, + 1391,1361,545,470,1,1,1,1,48,1, + 1757,1768,1535,1769,1331,1318,1402,1412,1,1, 1,1,1,1,1,1,1,1,1,1, - 190,1,1,1,1756,1,252,1,1951,189, - 1,1,1,181,1330,1317,1,1756,1767,61, - 1768,1,1,1,1,264,1,1421,182,1, - 1066,1519,1508,285,348,1,1,1,1,1, - 1,1,1,1,1,1,1,189,1,1, - 1,1756,1,1756,1,1951,190,1,1,1, - 50,1756,1756,1,1534,66,60,1760,1,1, - 1,1,1756,1,1390,1360,544,469,1969,1970, - 1971,70,1,1,1,1,1,1,1,1, - 1,1,1,1,190,1,1,1,1756,1767, - 1756,1768,1951,49,1969,1970,1971,1534,184,2781, - 1918,2781,1759,1519,1508,1919,1917,1972,1920,247, - 1916,1390,1360,544,469,1969,1970,1971,1244,1923, - 1928,1927,1925,1926,1924,1929,1930,1922,1931,1932, - 1933,128,1280,596,380,1756,610,1969,1970,1971, - 1756,1993,72,1918,979,51,1519,1508,1919,1917, - 1972,1920,1,1916,1421,1307,1139,1762,1,1981, - 1167,348,1923,1928,1927,1925,1926,1924,1929,1930, - 1922,1931,1932,1933,1,1767,1545,1768,1433,1760, - 1756,1767,1761,1768,1380,1083,556,1078,1499,1019, - 672,1756,1756,1259,270,577,1762,1769,1770,1771, - 1772,1027,482,348,1756,1767,1545,1768,1466,1760, - 1111,1665,53,1756,1380,1083,958,1055,1499,1019, - 672,1761,1307,1139,1759,577,64,1769,1770,1771, - 1772,1027,482,1756,1,1767,1545,1768,1491,29, - 448,1756,52,67,1380,1083,1762,2664,1499,1019, - 672,1,1307,1139,1759,577,90,1769,1770,1771, - 1772,1027,482,1756,1756,1767,1545,1768,1491,1760, - 1431,1761,1746,1756,1380,1083,248,29,1499,1019, - 672,90,1,1,1,577,2664,1769,1770,1771, - 1772,1027,482,249,1756,1,1,1,1,1, - 1,1,1,1756,1,1,1244,1762,1,1, - 1,1756,1,1756,1759,1,252,1,1,1, - 1,1,1,1,1767,1545,1768,1491,183,2789, - 88,2789,1761,1380,1083,250,2664,1499,1019,672, - 57,1969,1970,1971,577,2071,1769,1770,1771,1772, - 1027,482,1756,1767,1545,1768,1491,205,2790,638, - 2790,2013,1380,1083,251,2664,1499,1019,672,56, - 1969,1970,1971,577,1756,1769,1770,1771,1772,1027, - 482,1756,1767,1545,1768,1491,71,1401,1411,1756, - 1756,1380,1083,1756,1764,1499,1019,672,1766,55, - 207,1767,577,1768,1769,1770,1771,1772,1027,482, - 1756,1767,1552,1768,1491,68,1401,1411,1,69, - 1380,1083,1341,1766,1499,1019,672,206,1171,43, - 1171,577,1763,1769,1770,1771,1772,1027,482,1, - 1767,1545,1768,1491,1,1753,1401,1411,1756,1380, - 1083,610,1169,1499,1019,672,1,1981,1167,1765, - 577,1756,1769,1770,1771,1772,1027,482,20,221, - 1747,1659,1747,1747,178,178,178,1747,348,1217, - 178,210,291,1217,1765,178,178,178,178,895, - 178,1035,284,2013,252,1981,1167,375,1747,874, - 853,832,811,790,748,769,727,706,685,129, - 261,1981,1150,1,1,1969,1970,1971,65,348, - 916,1918,200,1756,1756,255,1919,1917,1972,1920, - 130,1916,448,42,1131,375,1969,1970,1971,1756, - 1756,999,1918,1429,1,1756,2664,1919,1917,1972, - 1920,131,1916,621,1673,219,30,1969,1970,1971, - 1756,1756,2013,1918,348,1756,1756,1756,1919,1917, - 1972,1920,132,1916,1345,1756,1756,1756,1969,1970, - 1971,1091,30,1756,1918,416,32,206,1195,1919, - 1917,1972,1920,2012,1916,1553,1430,1756,1,1750, - 1150,1782,1783,1762,267,1981,1150,348,252,188, - 267,1785,1421,348,252,1756,2599,188,188,348, - 491,1756,184,1756,1756,1756,1756,1756,1761,1756, - 183,205,1756,1756,1756,1756,1756,1756,463,1756, - 1756,1756,1756,1756,1756,1756,1756,1756,1756,1756, - 1756,1756,1756,373 + 191,1,1,1,1757,1,253,1,1953,190, + 1,1,1,182,1331,1318,1,1757,1768,61, + 1769,1,1,1,1,265,1,1422,183,1, + 1067,1520,1509,286,349,1,1,1,1,1, + 1,1,1,1,1,1,1,190,1,1, + 1,1757,1,1757,1,1953,191,1,1,1, + 50,1757,1757,1,1535,66,60,1761,1,1, + 1,1,1757,1,1391,1361,545,470,1971,1972, + 1973,70,1,1,1,1,1,1,1,1, + 1,1,1,1,191,1,1,1,1757,1768, + 1757,1769,1953,49,1971,1972,1973,1535,185,2783, + 1920,2783,1760,1520,1509,1921,1919,1974,1922,248, + 1918,1391,1361,545,470,1971,1972,1973,1245,1925, + 1930,1929,1927,1928,1926,1931,1932,1924,1933,1934, + 1935,129,1281,597,381,1757,611,1971,1972,1973, + 1757,1995,72,1920,980,51,1520,1509,1921,1919, + 1974,1922,1,1918,1422,1308,1140,1763,1,1983, + 1168,349,1925,1930,1929,1927,1928,1926,1931,1932, + 1924,1933,1934,1935,1,1768,1546,1769,1434,1761, + 1757,1768,1762,1769,1381,1084,557,1079,1500,1020, + 673,1757,1757,1260,271,578,1763,1770,1771,1772, + 1773,1028,483,349,1757,1768,1546,1769,1467,1761, + 1112,1666,53,1757,1381,1084,959,1056,1500,1020, + 673,1762,1308,1140,1760,578,64,1770,1771,1772, + 1773,1028,483,1757,1,1768,1546,1769,1492,29, + 449,1757,52,67,1381,1084,1763,2666,1500,1020, + 673,1,1308,1140,1760,578,90,1770,1771,1772, + 1773,1028,483,1757,1757,1768,1546,1769,1492,1761, + 1432,1762,1747,1757,1381,1084,249,29,1500,1020, + 673,90,1,1,1,578,2666,1770,1771,1772, + 1773,1028,483,250,1757,1,1,1,1,1, + 1,1,1,1757,1,1,1245,1763,1,1, + 1,1757,1,1757,1760,1,253,1,1,1, + 1,1,1,1,1768,1546,1769,1492,184,2791, + 88,2791,1762,1381,1084,251,2666,1500,1020,673, + 57,1971,1972,1973,578,2073,1770,1771,1772,1773, + 1028,483,1757,1768,1546,1769,1492,206,2792,639, + 2792,2015,1381,1084,252,2666,1500,1020,673,56, + 1971,1972,1973,578,1757,1770,1771,1772,1773,1028, + 483,1757,1768,1546,1769,1492,71,1402,1412,1757, + 1757,1381,1084,1757,1765,1500,1020,673,1767,55, + 208,1768,578,1769,1770,1771,1772,1773,1028,483, + 1757,1768,1553,1769,1492,68,1402,1412,1,69, + 1381,1084,1342,1767,1500,1020,673,207,1172,43, + 1172,578,1764,1770,1771,1772,1773,1028,483,1, + 1768,1546,1769,1492,1,1754,1402,1412,1757,1381, + 1084,611,1170,1500,1020,673,1,1983,1168,1766, + 578,1757,1770,1771,1772,1773,1028,483,20,222, + 1748,1660,1748,1748,179,179,179,1748,349,1218, + 179,211,292,1218,1766,179,179,179,179,896, + 179,1036,285,2015,253,1983,1168,376,1748,875, + 854,833,812,791,749,770,728,707,686,130, + 262,1983,1151,1,1,1971,1972,1973,65,349, + 917,1920,201,1757,1757,256,1921,1919,1974,1922, + 131,1918,449,42,1132,376,1971,1972,1973,1757, + 1757,1000,1920,1430,1,1757,2666,1921,1919,1974, + 1922,132,1918,622,1674,220,30,1971,1972,1973, + 1757,1757,2015,1920,349,1757,1757,1757,1921,1919, + 1974,1922,133,1918,1346,1757,1757,1757,1971,1972, + 1973,1092,30,1757,1920,417,32,207,1196,1921, + 1919,1974,1922,2014,1918,1554,1431,1757,1,1751, + 1151,1783,1784,1763,268,1983,1151,349,253,189, + 268,1786,1422,349,253,1757,2601,189,189,349, + 492,1757,185,1757,1757,1757,1757,1757,1762,1757, + 184,206,1757,1757,1757,1757,1757,1757,464,1757, + 1757,1757,1757,1757,1757,1757,1757,1757,1757,1757, + 1757,1757,1757,374 }; }; public final static char termAction[] = TermAction.termAction; @@ -819,16 +819,16 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeState { public final static char scopeState[] = {0, - 442,0,340,0,1642,1652,1636,0,1448,1341, - 1167,1268,1255,1150,1122,0,491,416,395,1679, - 1529,0,606,1212,316,0,1461,1181,1136,670, - 1255,1150,1122,1602,1421,1507,0,1466,1433,610, - 1111,1244,1217,1330,1317,448,1411,1401,1390,1360, - 544,469,1534,1519,1508,1307,1139,1019,672,1499, - 1491,1380,1083,1027,482,577,1091,1055,1035,491, - 999,979,958,937,585,916,556,348,895,874, - 853,832,811,790,769,748,727,706,685,316, - 638,512,416,395,0 + 443,0,341,0,1643,1653,1637,0,1449,1342, + 1168,1269,1256,1151,1123,0,492,417,396,1680, + 1530,0,607,1213,317,0,1462,1182,1137,671, + 1256,1151,1123,1603,1422,1508,0,1467,1434,611, + 1112,1245,1218,1331,1318,449,1412,1402,1391,1361, + 545,470,1535,1520,1509,1308,1140,1020,673,1500, + 1492,1381,1084,1028,483,578,1092,1056,1036,492, + 1000,980,959,938,586,917,557,349,896,875, + 854,833,812,791,770,749,728,707,686,317, + 639,513,417,396,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -1054,18 +1054,18 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public final static int NUM_STATES = 207, NT_OFFSET = 93, - LA_STATE_OFFSET = 2071, + LA_STATE_OFFSET = 2073, MAX_LA = 2, - NUM_RULES = 315, + NUM_RULES = 316, NUM_NONTERMINALS = 126, NUM_SYMBOLS = 219, SEGMENT_SIZE = 8192, - START_STATE = 1657, + START_STATE = 1658, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 80, EOLT_SYMBOL = 80, - ACCEPT_ACTION = 1746, - ERROR_ACTION = 1756; + ACCEPT_ACTION = 1747, + ERROR_ACTION = 1757; 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 b2a092453af..4170739e85f 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 @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 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 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 13df9c5d0ef..486fbc4d59e 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 @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 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 @@ -661,589 +661,595 @@ public String getName() { // // Rule 118: iteration_statement ::= do statement while ( expression ) ; // - case 118: { action. consumeStatementDoLoop(); break; + case 118: { action. consumeStatementDoLoop(true); break; } // - // Rule 119: iteration_statement ::= while ( expression ) statement + // Rule 119: iteration_statement ::= do statement // - case 119: { action. consumeStatementWhileLoop(); break; + case 119: { action. consumeStatementDoLoop(false); break; } // - // Rule 120: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement + // Rule 120: iteration_statement ::= while ( expression ) statement // - case 120: { action. consumeStatementForLoop(); break; + case 120: { action. consumeStatementWhileLoop(); break; } // - // Rule 121: iteration_statement ::= for ( declaration expression_opt ; expression_opt ) statement + // Rule 121: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement // case 121: { action. consumeStatementForLoop(); break; } // - // Rule 122: jump_statement ::= goto identifier_token ; + // Rule 122: iteration_statement ::= for ( declaration expression_opt ; expression_opt ) statement // - case 122: { action. consumeStatementGoto(); break; + case 122: { action. consumeStatementForLoop(); break; } // - // Rule 123: jump_statement ::= continue ; + // Rule 123: jump_statement ::= goto identifier_token ; // - case 123: { action. consumeStatementContinue(); break; + case 123: { action. consumeStatementGoto(); break; } // - // Rule 124: jump_statement ::= break ; + // Rule 124: jump_statement ::= continue ; // - case 124: { action. consumeStatementBreak(); break; + case 124: { action. consumeStatementContinue(); break; } // - // Rule 125: jump_statement ::= return ; + // Rule 125: jump_statement ::= break ; // - case 125: { action. consumeStatementReturn(false); break; + case 125: { action. consumeStatementBreak(); break; } // - // Rule 126: jump_statement ::= return expression ; + // Rule 126: jump_statement ::= return ; // - case 126: { action. consumeStatementReturn(true); break; + case 126: { action. consumeStatementReturn(false); break; } // - // Rule 127: declaration ::= declaration_specifiers ; + // Rule 127: jump_statement ::= return expression ; // - case 127: { action. consumeDeclarationSimple(false); break; + case 127: { action. consumeStatementReturn(true); break; } // - // Rule 128: declaration ::= declaration_specifiers <openscope-ast> init_declarator_list ; + // Rule 128: declaration ::= declaration_specifiers ; // - case 128: { action. consumeDeclarationSimple(true); break; + case 128: { action. consumeDeclarationSimple(false); break; } // - // Rule 129: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers + // Rule 129: declaration ::= declaration_specifiers <openscope-ast> init_declarator_list ; // - case 129: { action. consumeDeclarationSpecifiersSimple(); break; + case 129: { action. consumeDeclarationSimple(true); break; } // - // Rule 130: declaration_specifiers ::= <openscope-ast> struct_or_union_declaration_specifiers + // Rule 130: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers // - case 130: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; + case 130: { action. consumeDeclarationSpecifiersSimple(); break; } // - // Rule 131: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers + // Rule 131: declaration_specifiers ::= <openscope-ast> struct_or_union_declaration_specifiers // case 131: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; } // - // Rule 132: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers + // Rule 132: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers // case 132: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; } // - // Rule 133: declaration_specifiers ::= <openscope-ast> typdef_name_declaration_specifiers + // Rule 133: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers // - case 133: { action. consumeDeclarationSpecifiersTypedefName(); break; + case 133: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; } // - // Rule 158: init_declarator ::= complete_declarator = initializer + // Rule 134: declaration_specifiers ::= <openscope-ast> typdef_name_declaration_specifiers // - case 158: { action. consumeDeclaratorWithInitializer(true); break; + case 134: { action. consumeDeclarationSpecifiersTypedefName(); break; } // - // Rule 160: storage_class_specifier ::= storage_class_specifier_token + // Rule 159: init_declarator ::= complete_declarator = initializer // - case 160: { action. consumeToken(); break; + case 159: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 166: simple_type_specifier ::= simple_type_specifier_token + // Rule 161: storage_class_specifier ::= storage_class_specifier_token // - case 166: { action. consumeToken(); break; + case 161: { action. consumeToken(); break; } // - // Rule 179: type_name_specifier ::= identifier_token + // Rule 167: simple_type_specifier ::= simple_type_specifier_token // - case 179: { action. consumeToken(); break; + case 167: { action. consumeToken(); break; } // - // Rule 180: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt } + // Rule 180: type_name_specifier ::= identifier_token // - case 180: { action. consumeTypeSpecifierComposite(false); break; + case 180: { action. consumeToken(); break; } // - // Rule 181: 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 181: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt } // - case 181: { action. consumeTypeSpecifierComposite(true); break; + case 181: { action. consumeTypeSpecifierComposite(false); break; } // - // Rule 186: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token + // 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 } // - case 186: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break; + case 182: { action. consumeTypeSpecifierComposite(true); break; } // - // Rule 187: elaborated_specifier ::= union elaborated_specifier_hook identifier_token + // Rule 187: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token // - case 187: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break; + case 187: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break; } // - // Rule 188: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token + // Rule 188: elaborated_specifier ::= union elaborated_specifier_hook identifier_token // - case 188: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break; + case 188: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break; } // - // Rule 194: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ; + // Rule 189: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token // - case 194: { action. consumeStructDeclaration(true); break; + case 189: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break; } // - // Rule 195: struct_declaration ::= specifier_qualifier_list ; + // Rule 195: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ; // - case 195: { action. consumeStructDeclaration(false); break; + case 195: { action. consumeStructDeclaration(true); break; } // - // Rule 196: struct_declaration ::= ERROR_TOKEN + // Rule 196: struct_declaration ::= specifier_qualifier_list ; // - case 196: { action. consumeDeclarationProblem(); break; + case 196: { action. consumeStructDeclaration(false); break; } // - // Rule 202: struct_declarator ::= : constant_expression + // Rule 197: struct_declaration ::= ERROR_TOKEN // - case 202: { action. consumeBitField(false); break; + case 197: { action. consumeDeclarationProblem(); break; } // - // Rule 203: struct_declarator ::= declarator : constant_expression + // Rule 203: struct_declarator ::= : constant_expression // - case 203: { action. consumeBitField(true); break; + case 203: { action. consumeBitField(false); break; } // - // Rule 204: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 204: struct_declarator ::= declarator : constant_expression // - case 204: { action. consumeTypeSpecifierEnumeration(false); break; + case 204: { action. consumeBitField(true); break; } // - // Rule 205: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 205: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } // - case 205: { action. consumeTypeSpecifierEnumeration(true); break; + case 205: { action. consumeTypeSpecifierEnumeration(false); break; } // - // Rule 211: enumerator ::= identifier_token + // Rule 206: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } // - case 211: { action. consumeEnumerator(false); break; + case 206: { action. consumeTypeSpecifierEnumeration(true); break; } // - // Rule 212: enumerator ::= identifier_token = constant_expression + // Rule 212: enumerator ::= identifier_token // - case 212: { action. consumeEnumerator(true); break; + case 212: { action. consumeEnumerator(false); break; } // - // Rule 213: type_qualifier ::= type_qualifier_token + // Rule 213: enumerator ::= identifier_token = constant_expression // - case 213: { action. consumeToken(); break; + case 213: { action. consumeEnumerator(true); break; } // - // Rule 217: function_specifier ::= inline + // Rule 214: type_qualifier ::= type_qualifier_token // - case 217: { action. consumeToken(); break; + case 214: { action. consumeToken(); break; } // - // Rule 219: declarator ::= <openscope-ast> pointer_seq direct_declarator + // Rule 218: function_specifier ::= inline // - case 219: { action. consumeDeclaratorWithPointer(true); break; + case 218: { action. consumeToken(); break; } // - // Rule 224: basic_direct_declarator ::= declarator_id_name + // Rule 220: declarator ::= <openscope-ast> pointer_seq direct_declarator // - case 224: { action. consumeDirectDeclaratorIdentifier(); break; + case 220: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 225: basic_direct_declarator ::= ( declarator ) + // Rule 225: basic_direct_declarator ::= declarator_id_name // - case 225: { action. consumeDirectDeclaratorBracketed(); break; + case 225: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 226: declarator_id_name ::= identifier + // Rule 226: basic_direct_declarator ::= ( declarator ) // - case 226: { action. consumeIdentifierName(); break; + case 226: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 227: array_direct_declarator ::= basic_direct_declarator array_modifier + // Rule 227: declarator_id_name ::= identifier // - case 227: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 227: { action. consumeIdentifierName(); break; } // - // Rule 228: array_direct_declarator ::= array_direct_declarator array_modifier + // Rule 228: array_direct_declarator ::= basic_direct_declarator array_modifier // case 228: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 230: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list ) + // Rule 229: array_direct_declarator ::= array_direct_declarator array_modifier // - case 230: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; + case 229: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 231: function_direct_declarator ::= basic_direct_declarator ( ) + // Rule 231: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list ) // - case 231: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; + case 231: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; } // - // Rule 233: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator + // Rule 232: function_direct_declarator ::= basic_direct_declarator ( ) // - case 233: { action. consumeDeclaratorWithPointer(true); break; + case 232: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; } // - // Rule 234: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list ) + // Rule 234: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator // - case 234: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; + case 234: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 236: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator + // Rule 235: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list ) // - case 236: { action. consumeDeclaratorWithPointer(true); break; + case 235: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; } // - // Rule 237: identifier_list ::= identifier + // Rule 237: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator // - case 237: { action. consumeIdentifierKnR(); break; + case 237: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 238: identifier_list ::= identifier_list , identifier + // Rule 238: identifier_list ::= identifier // case 238: { action. consumeIdentifierKnR(); break; } // - // Rule 239: array_modifier ::= [ ] + // Rule 239: identifier_list ::= identifier_list , identifier // - case 239: { action. consumeDirectDeclaratorArrayModifier(false); break; + case 239: { action. consumeIdentifierKnR(); break; } // - // Rule 240: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ] + // Rule 240: array_modifier ::= [ ] // - case 240: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break; + case 240: { action. consumeDirectDeclaratorArrayModifier(false); break; } // - // Rule 241: array_modifier ::= [ assignment_expression ] + // Rule 241: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ] // - case 241: { action. consumeDirectDeclaratorArrayModifier(true); break; + case 241: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break; } // - // Rule 242: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ] + // Rule 242: array_modifier ::= [ assignment_expression ] // - case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break; + case 242: { action. consumeDirectDeclaratorArrayModifier(true); break; } // - // Rule 243: array_modifier ::= [ static assignment_expression ] + // Rule 243: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ] // - case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break; + case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break; } // - // Rule 244: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ] + // Rule 244: array_modifier ::= [ static assignment_expression ] // - case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; + case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break; } // - // Rule 245: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ] + // Rule 245: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ] // case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; } // - // Rule 246: array_modifier ::= [ * ] + // Rule 246: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ] // - case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break; + case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; } // - // Rule 247: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ] + // Rule 247: array_modifier ::= [ * ] // - case 247: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break; + case 247: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break; } // - // Rule 249: pointer_seq ::= pointer_hook * pointer_hook + // Rule 248: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ] // - case 249: { action. consumePointer(); break; + case 248: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break; } // - // Rule 250: pointer_seq ::= pointer_seq pointer_hook * pointer_hook + // Rule 250: pointer_seq ::= pointer_hook * pointer_hook // case 250: { action. consumePointer(); break; } // - // Rule 251: pointer_seq ::= pointer_hook * pointer_hook <openscope-ast> type_qualifier_list + // Rule 251: pointer_seq ::= pointer_seq pointer_hook * pointer_hook // - case 251: { action. consumePointerTypeQualifierList(); break; + case 251: { action. consumePointer(); break; } // - // Rule 252: pointer_seq ::= pointer_seq pointer_hook * pointer_hook <openscope-ast> type_qualifier_list + // Rule 252: pointer_seq ::= pointer_hook * pointer_hook <openscope-ast> type_qualifier_list // case 252: { action. consumePointerTypeQualifierList(); break; } // - // Rule 256: parameter_type_list ::= parameter_list + // Rule 253: pointer_seq ::= pointer_seq pointer_hook * pointer_hook <openscope-ast> type_qualifier_list // - case 256: { action. consumeEmpty(); break; + case 253: { action. consumePointerTypeQualifierList(); break; } // - // Rule 257: parameter_type_list ::= parameter_list , ... + // Rule 257: parameter_type_list ::= parameter_list // - case 257: { action. consumePlaceHolder(); break; + case 257: { action. consumeEmpty(); break; } // - // Rule 258: parameter_type_list ::= ... + // Rule 258: parameter_type_list ::= parameter_list , ... // case 258: { action. consumePlaceHolder(); break; } // - // Rule 261: parameter_declaration ::= declaration_specifiers complete_parameter_declarator + // Rule 259: parameter_type_list ::= ... // - case 261: { action. consumeParameterDeclaration(); break; + case 259: { action. consumePlaceHolder(); break; } // - // Rule 262: parameter_declaration ::= declaration_specifiers + // Rule 262: parameter_declaration ::= declaration_specifiers complete_parameter_declarator // - case 262: { action. consumeParameterDeclarationWithoutDeclarator(); break; + case 262: { action. consumeParameterDeclaration(); break; } // - // Rule 265: type_id ::= specifier_qualifier_list + // Rule 263: parameter_declaration ::= declaration_specifiers // - case 265: { action. consumeTypeId(false); break; + case 263: { action. consumeParameterDeclarationWithoutDeclarator(); break; } // - // Rule 266: type_id ::= specifier_qualifier_list abstract_declarator + // Rule 266: type_id ::= specifier_qualifier_list // - case 266: { action. consumeTypeId(true); break; + case 266: { action. consumeTypeId(false); break; } // - // Rule 268: abstract_declarator ::= <openscope-ast> pointer_seq + // Rule 267: type_id ::= specifier_qualifier_list abstract_declarator // - case 268: { action. consumeDeclaratorWithPointer(false); break; + case 267: { action. consumeTypeId(true); break; } // - // Rule 269: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator + // Rule 269: abstract_declarator ::= <openscope-ast> pointer_seq // - case 269: { action. consumeDeclaratorWithPointer(true); break; + case 269: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 273: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 270: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator // - case 273: { action. consumeDirectDeclaratorBracketed(); break; + case 270: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 274: array_direct_abstract_declarator ::= array_modifier + // Rule 274: basic_direct_abstract_declarator ::= ( abstract_declarator ) // - case 274: { action. consumeDirectDeclaratorArrayDeclarator(false); break; + case 274: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 275: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier + // Rule 275: array_direct_abstract_declarator ::= array_modifier // - case 275: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 275: { action. consumeDirectDeclaratorArrayDeclarator(false); break; } // - // Rule 276: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier + // Rule 276: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier // case 276: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 277: function_direct_abstract_declarator ::= ( ) + // Rule 277: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier // - case 277: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break; + case 277: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + } + + // + // Rule 278: function_direct_abstract_declarator ::= ( ) + // + case 278: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break; } // - // Rule 278: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( ) + // Rule 279: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( ) // - case 278: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; + case 279: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; } // - // Rule 279: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list ) + // Rule 280: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list ) // - case 279: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break; + case 280: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break; } // - // Rule 280: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list ) + // Rule 281: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list ) // - case 280: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; + case 281: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; } // - // Rule 281: initializer ::= assignment_expression + // Rule 282: initializer ::= assignment_expression // - case 281: { action. consumeInitializer(); break; + case 282: { action. consumeInitializer(); break; } // - // Rule 283: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq comma_opt } end_initializer_list + // Rule 284: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq comma_opt } end_initializer_list // - case 283: { action. consumeInitializerList(); break; + case 284: { action. consumeInitializerList(); break; } // - // Rule 284: initializer_list ::= { <openscope-ast> } + // Rule 285: initializer_list ::= { <openscope-ast> } // - case 284: { action. consumeInitializerList(); break; + case 285: { action. consumeInitializerList(); break; } // - // Rule 285: start_initializer_list ::= $Empty + // Rule 286: start_initializer_list ::= $Empty // - case 285: { action. initializerListStart(); break; + case 286: { action. initializerListStart(); break; } // - // Rule 286: end_initializer_list ::= $Empty + // Rule 287: end_initializer_list ::= $Empty // - case 286: { action. initializerListEnd(); break; + case 287: { action. initializerListEnd(); break; } // - // Rule 291: designated_initializer ::= <openscope-ast> designation = initializer + // Rule 292: designated_initializer ::= <openscope-ast> designation = initializer // - case 291: { action. consumeInitializerDesignated(); break; + case 292: { action. consumeInitializerDesignated(); break; } // - // Rule 295: designator_base ::= [ constant_expression ] + // Rule 296: designator_base ::= [ constant_expression ] // - case 295: { action. consumeDesignatorArray(); break; + case 296: { action. consumeDesignatorArray(); break; } // - // Rule 296: designator_base ::= . identifier_token + // Rule 297: designator_base ::= . identifier_token // - case 296: { action. consumeDesignatorField(); break; + case 297: { action. consumeDesignatorField(); break; } // - // Rule 297: designator ::= [ constant_expression ] + // Rule 298: designator ::= [ constant_expression ] // - case 297: { action. consumeDesignatorArray(); break; + case 298: { action. consumeDesignatorArray(); break; } // - // Rule 298: designator ::= . identifier_token + // Rule 299: designator ::= . identifier_token // - case 298: { action. consumeDesignatorField(); break; + case 299: { action. consumeDesignatorField(); break; } // - // Rule 299: translation_unit ::= external_declaration_list + // Rule 300: translation_unit ::= external_declaration_list // - case 299: { action. consumeTranslationUnit(); break; + case 300: { action. consumeTranslationUnit(); break; } // - // Rule 300: translation_unit ::= $Empty + // Rule 301: translation_unit ::= $Empty // - case 300: { action. consumeTranslationUnit(); break; + case 301: { action. consumeTranslationUnit(); break; } // - // Rule 305: external_declaration ::= ; + // Rule 306: external_declaration ::= ; // - case 305: { action. consumeDeclarationEmpty(); break; + case 306: { action. consumeDeclarationEmpty(); break; } // - // Rule 306: external_declaration ::= ERROR_TOKEN + // Rule 307: external_declaration ::= ERROR_TOKEN // - case 306: { action. consumeDeclarationProblem(); break; + case 307: { action. consumeDeclarationProblem(); break; } // - // Rule 310: function_definition ::= <openscope-ast> function_declarator function_body + // Rule 311: function_definition ::= <openscope-ast> function_declarator function_body // - case 310: { action. consumeFunctionDefinition(false); break; + case 311: { action. consumeFunctionDefinition(false); break; } // - // Rule 311: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement + // Rule 312: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement // - case 311: { action. consumeFunctionDefinitionKnR(); break; + case 312: { action. consumeFunctionDefinitionKnR(); break; } // - // Rule 312: normal_function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body + // Rule 313: normal_function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body // - case 312: { action. consumeFunctionDefinition(true); break; + case 313: { action. consumeFunctionDefinition(true); break; } // - // Rule 313: function_body ::= { } + // Rule 314: function_body ::= { } // - case 313: { action. consumeStatementCompoundStatement(false); break; + case 314: { action. consumeStatementCompoundStatement(false); break; } // - // Rule 314: function_body ::= { <openscope-ast> block_item_list } + // Rule 315: function_body ::= { <openscope-ast> block_item_list } // - case 314: { action. consumeStatementCompoundStatement(true); break; + case 315: { 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 2ef87e8e850..a5fff97b04f 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 @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 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 @@ -45,227 +45,227 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym 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,2,5,7,5,1,0,7,2,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,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,3,4, - 5,6,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,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,1,3, - 6,4,2,4,-106,0,-161,0,0,0, + 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,3, + 4,5,6,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,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,1, + 3,6,4,2,4,-106,0,-161,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-37,0,0,0,-18,0,-61,-10,0, - 0,-159,0,-12,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-41,0, - 0,0,0,0,0,0,-9,0,0,0, - 0,0,-236,0,-4,0,0,0,0,0, - -23,0,0,0,0,0,0,-2,0,0, - -242,0,0,0,0,0,0,0,0,0, - 0,-32,0,-65,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-3,-139, + 0,0,-37,0,0,0,-18,0,-61,-10, + 0,0,-159,0,-12,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-41, + 0,0,0,0,0,0,0,-9,0,0, + 0,0,0,-236,0,-4,0,0,0,0, + 0,-23,0,0,0,0,0,0,-2,0, + 0,-242,0,0,0,0,0,0,0,0, + 0,0,-32,0,-65,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-3, + -139,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-13,0, + 0,0,-33,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-13,0,0, - 0,-33,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-154, + -154,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-221,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-221,0,0,0,0, + 0,0,0,-39,0,0,0,-120,0,-267, 0,0,0,0,0,0,0,0,0,0, - 0,0,-39,0,0,0,-120,0,-267,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-20, - 0,0,0,-21,0,-7,-27,0,0,-271, - 0,-156,0,-28,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-251, - -31,0,0,0,-46,0,-22,0,0,0, + -20,0,0,0,-21,0,-7,-27,0,0, + -271,0,-156,0,-28,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-24,0,0,-148,0, - -30,0,0,0,0,0,0,0,0,0, - 0,0,0,-34,0,0,-137,0,-66,0, - 0,0,0,0,0,0,0,0,-25,0, - -280,0,-279,0,0,0,0,0,0,0, + -251,-31,0,0,0,-46,0,-22,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,0,0,-24,0,0,-148, + 0,-30,0,0,0,0,0,0,0,0, + 0,0,0,0,-34,0,0,-137,0,-66, + 0,0,0,0,0,0,0,0,0,-25, + 0,-280,0,-279,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-58,0,-102,-50, - 0,0,0,0,-26,0,-38,0,0,0, - -51,-146,0,0,0,0,0,0,0,0, - 0,0,0,0,-157,0,0,0,0,0, + 0,0,0,0,-44,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -192,-53,0,0,0,0,0,0,-150,0, + 0,0,0,0,0,0,0,-58,0,-102, + -50,0,0,0,0,-26,0,-38,0,0, + 0,-51,-146,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,-138,0,0,0,0,0,0,0, - 0,-35,0,-36,0,0,0,0,0,0, - 0,-60,0,0,0,0,0,0,0,0, + 0,-192,-53,0,0,0,0,0,0,-150, 0,0,0,0,0,0,0,0,0,0, - 0,0,-113,0,-119,0,-132,0,0,0, + 0,0,0,-138,0,0,0,0,0,0, + 0,0,-35,0,-36,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,-188,0,0,0,0,0,-165,0,0, + 0,0,0,-113,0,-119,0,-132,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-118,0, - -104,0,0,0,0,0,0,0,0,0, + 0,0,-188,0,0,0,0,0,-165,0, 0,0,0,0,0,0,0,0,0,0, - 0,-121,0,-49,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-118, + 0,-104,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-93,0,-151,0,-179,0,0,0, - 0,0,0,0,0,0,0,-67,0,0, - 0,0,0,0,0,0,-122,0,0,0, + 0,0,-121,0,-49,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-133,0,0,0,-160,0,-123, + 0,0,0,-93,0,-151,0,-179,0,0, + 0,0,0,0,0,0,0,0,-67,0, + 0,0,0,0,0,0,0,-122,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-133,0,0,0,-160,0, + -123,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-124,0,-189,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-200, - 0,0,0,0,0,-125,0,-63,0,0, + 0,0,0,-124,0,-189,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-201,0,-126,0, + -200,0,0,0,0,0,-125,0,-63,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-202,0,0,0,0, - 0,-127,0,-224,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-201,0,-126, 0,0,0,0,0,0,0,0,0,0, - 0,0,-226,0,-128,0,0,0,0,0, + 0,0,0,0,0,0,-202,0,0,0, + 0,0,-127,0,-224,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-227,0,0,0,0,0,-129,0,-240, + 0,0,0,-226,0,-128,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-265,0, - -130,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-274,0,0, - 0,0,0,-131,0,-278,0,0,0,0, + 0,0,-227,0,0,0,0,0,-129,0, + -240,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-265, + 0,-130,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-274,0, + 0,0,0,0,-131,0,-278,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-284,0,-193,0,0,0, + 0,0,0,0,0,-284,0,-193,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-290,0,0,0,0,0,-194, - 0,-74,0,0,0,0,0,0,0,0, + 0,0,0,0,-290,0,0,0,0,0, + -194,0,-74,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -75,0,-230,0,-76,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-77, - 0,0,0,-78,0,-235,0,-54,0,0, + 0,-75,0,-230,0,-76,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-79,0,0,0,-249,0,-80,0, + -77,0,0,0,-78,0,-235,0,-54,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-81,0,-147, - 0,-82,0,0,0,0,0,0,0,-260, + 0,0,0,-79,0,0,0,-249,0,-80, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-83,0,0,0, - -270,0,-84,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-87,0,0, - 0,-152,0,-89,0,0,0,0,0,0, - 0,0,0,-277,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-81,0, + -147,0,-82,0,0,0,0,0,0,0, + -260,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-83,0,0, + 0,-270,0,-84,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-87,0, + 0,0,-152,0,-89,0,0,0,0,0, + 0,0,0,0,-277,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -111,0,0,0,-283,0,0,0,0,0, + 0,-111,0,0,0,-283,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-90,0,0,0,-72,0,-96,0,0, - 0,0,0,-48,0,0,0,-149,0,0, + 0,0,-90,0,0,0,-72,0,-96,0, + 0,0,0,0,-48,0,0,0,-149,0, 0,0,0,0,0,0,0,0,0,0, - 0,-95,0,-42,0,0,-238,0,-62,-97, - 0,0,0,0,0,0,0,0,0,-92, - -45,0,0,-99,-91,0,0,0,-100,-183, - 0,0,0,0,0,-114,0,0,-269,0, - 0,0,-103,0,-29,0,0,-52,0,0, + 0,0,-95,0,-42,0,0,-238,0,-62, + -97,0,0,0,0,0,0,0,0,0, + -92,-45,0,0,-99,-91,0,0,0,-100, + -183,0,0,0,0,0,-114,0,0,-269, + 0,0,0,-103,0,-29,0,0,-52,0, 0,0,0,0,0,0,0,0,0,0, - -70,0,-105,0,0,0,0,0,0,0, - -40,0,0,0,0,0,0,0,0,0, - 0,0,-94,0,-172,0,0,0,-86,-107, - 0,-47,0,-101,0,0,0,0,0,0, - 0,0,-190,-115,0,0,0,0,0,0, + 0,-70,0,-105,0,0,0,0,0,0, + 0,-40,0,0,0,0,0,0,0,0, + 0,0,0,-94,0,-172,0,0,0,-86, + -107,0,-47,0,-101,0,0,0,0,0, + 0,0,0,-190,-115,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -59,-180,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-163,0,0,0, - 0,0,-164,0,0,0,0,-15,0,-8, - 0,-109,0,0,0,-166,-228,0,0,0, - -169,0,0,0,0,-223,-191,-6,-112,0, - 0,-234,0,0,0,0,0,0,0,-162, - 0,0,0,-174,0,0,0,0,0,0, - 0,0,-17,0,-116,-252,0,0,0,0, - 0,0,0,0,0,0,0,-176,0,0, - 0,0,0,0,0,-195,0,0,0,0, - 0,-247,-197,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-248, - 0,0,0,0,-73,0,0,0,0,0, - 0,0,0,0,-177,0,0,0,-184,0, - 0,0,0,0,0,-263,0,0,-98,0, - 0,-85,-185,0,0,0,0,0,-204,0, - 0,0,-282,0,-276,0,0,0,-205,0, - 0,0,0,-206,0,0,0,0,0,0, - 0,0,0,0,-155,0,-207,0,0,0, - 0,0,0,0,0,0,0,0,-173,0, - 0,0,0,0,-208,0,0,0,0,0, - -108,-57,0,0,-209,0,0,0,0,0, - -175,0,0,-239,-258,0,0,0,0,0, - 0,0,0,0,0,0,-178,0,0,0, - -187,0,-229,0,0,-232,0,0,0,0, - 0,0,0,0,0,0,-110,0,0,0, - 0,0,-210,0,0,0,0,0,-211,0, - 0,0,0,0,0,0,0,0,-254,0, - 0,-212,0,0,0,-233,0,0,0,0, - -186,-213,0,-214,-250,0,-215,0,0,0, - -256,0,0,-216,0,0,0,0,0,0, - 0,0,0,0,-217,0,-262,0,-218,-68, + 0,-59,-180,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-163,0,0, + 0,0,0,-164,0,0,0,0,-15,0, + -8,0,-109,0,0,0,-166,-228,0,0, + 0,-169,0,0,0,0,-223,-191,-6,-112, + 0,0,-234,0,0,0,0,0,0,0, + -162,0,0,0,-174,0,0,0,0,0, + 0,0,0,-17,0,-116,-252,0,0,0, + 0,0,0,0,0,0,0,0,-176,0, + 0,0,0,0,0,0,-195,0,0,0, + 0,0,-247,-197,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-257,0,0,-266, - -198,0,0,-196,0,0,0,0,0,0, - 0,0,-219,0,0,0,0,0,-287,0, - 0,0,-220,0,0,0,0,0,0,0, - 0,0,0,-225,-261,0,0,-203,-243,0, - -289,0,0,0,0,-268,0,0,0,0, - 0,0,0,0,0,-275,-181,0,0,-244, - -281,0,-291,0,0,-43,0,0,0,0, + -248,0,0,0,0,-73,0,0,0,0, + 0,0,0,0,0,-177,0,0,0,-184, + 0,0,0,0,0,0,-263,0,0,-98, + 0,0,-85,-185,0,0,0,0,0,-204, + 0,0,0,-282,0,-276,0,0,0,-205, + 0,0,0,0,-206,0,0,0,0,0, + 0,0,0,0,0,-155,0,-207,0,0, + 0,0,0,0,0,0,0,0,0,-173, + 0,0,0,0,0,-208,0,0,0,0, + 0,-108,-57,0,0,-209,0,0,0,0, + 0,-175,0,0,-239,-258,0,0,0,0, + 0,0,0,0,0,0,0,-178,0,0, + 0,-187,0,-229,0,0,-232,0,0,0, + 0,0,0,0,0,0,0,-110,0,0, + 0,0,0,-210,0,0,0,0,0,-211, + 0,0,0,0,0,0,0,0,0,-254, + 0,0,-212,0,0,0,-233,0,0,0, + 0,-186,-213,0,-214,-250,0,-215,0,0, + 0,-256,0,0,-216,0,0,0,0,0, + 0,0,0,0,0,-217,0,-262,0,-218, + -68,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-257,0,0, + -266,-198,0,0,-196,0,0,0,0,0, + 0,0,0,-219,0,0,0,0,0,-287, + 0,0,0,-220,0,0,0,0,0,0, + 0,0,0,0,-225,-261,0,0,-203,-243, + 0,-289,0,0,0,0,-268,0,0,0, + 0,0,0,0,0,0,-275,-181,0,0, + -244,-281,0,-291,0,0,-43,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-69,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,0,0,-288,0,0,0,0, - -1,0,0,0,-259,-153,0,0,0,0, - 0,0,0,0,0,0,0,0,-19,-273, - 0,0,-144,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-140,0,0, - 0,0,0,-55,0,-71,0,0,0,0, + 0,0,0,0,0,0,-288,0,0,0, + 0,-1,0,0,0,-259,-153,0,0,0, + 0,0,0,0,0,0,0,0,0,-19, + -273,0,0,-144,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-140,0, + 0,0,0,0,-55,0,-71,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-199,-286,0,-145,0, + 0,0,0,0,0,0,-199,-286,0,-145, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-5, - 0,0,-88,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-134,0, 0,0,0,0,0,0,0,0,0,0, + -5,0,0,-88,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-134, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-141, - 0,0,0,0,0,0,0,0,0,-241, - 0,0,-142,0,0,0,0,0,0,0, - 0,0,-231,-246,0,0,-245,0,0,0, - 0,-143,0,0,0,0,0,0,0,0, - 0,0,0,-11,0,0,0,0,-14,-182, - 0,0,0,0,0,0,0,-16,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -141,0,0,0,0,0,0,0,0,0, + -241,0,0,-142,0,0,0,0,0,0, + 0,0,0,-231,-246,0,0,-245,0,0, + 0,0,-143,0,0,0,0,0,0,0, + 0,0,0,0,-11,0,0,0,0,-14, + -182,0,0,0,0,0,0,0,-16,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -64,-135,0,0,0,0,0,0,0,-136, - 0,0,0,-167,0,0,0,0,-117,0, - 0,0,0,0,0,0,0,0,0,-56, - 0,0,0,0,0,0,0,0,0,-264, - 0,0,0,0,0,-237,0,0,0,0, - 0,0,-222,0,0,0,0,0,0,0, - 0,0,-253,0,0,0,0,-272,0,0, 0,0,0,0,0,0,0,0,0,0, - -285,0,0,0,0,0,0,0,0,0, - -158,0,0,0,0,0,0,0,0,0, - -168,0,0,0,0,0,0,0,-170,0, - 0,0,-171,0,0,0,0,0,0,0, - 0,0,0,0,-255,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-64,-135,0,0,0,0,0,0,0, + -136,0,0,0,-167,0,0,0,0,-117, 0,0,0,0,0,0,0,0,0,0, - 0,0,0 + -56,0,0,0,0,0,0,0,0,0, + -264,0,0,0,0,0,-237,0,0,0, + 0,0,0,-222,0,0,0,0,0,0, + 0,0,0,-253,0,0,0,0,-272,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-285,0,0,0,0,0,0,0,0, + 0,-158,0,0,0,0,0,0,0,0, + 0,-168,0,0,0,0,0,0,0,-170, + 0,0,0,-171,0,0,0,0,0,0, + 0,0,0,0,0,-255,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0 }; }; public final static short baseCheck[] = BaseCheck.baseCheck; @@ -287,228 +287,228 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym 108,108,91,91,56,30,30,30,30,30, 30,30,31,31,31,28,28,92,92,68, 68,32,32,33,33,33,63,63,34,34, - 34,34,35,35,35,35,35,47,47,24, - 24,24,24,24,48,48,48,84,84,79, - 79,79,79,80,80,80,81,81,81,82, - 82,82,83,83,83,93,93,85,85,86, - 49,51,51,51,51,51,64,65,65,65, - 65,65,65,65,65,65,65,65,65,72, - 69,69,109,110,74,74,70,70,70,87, - 94,94,95,95,88,88,88,57,111,111, - 96,97,97,97,71,71,112,98,98,99, - 99,89,89,25,26,26,26,50,52,52, - 41,41,41,41,37,37,38,42,42,43, - 39,39,100,100,44,114,114,113,113,46, - 46,46,46,46,46,46,46,46,101,54, - 54,54,54,36,75,75,66,66,66,67, - 67,58,58,115,115,77,77,76,76,76, - 59,59,59,60,61,61,61,62,62,62, - 62,73,73,53,53,55,117,116,116,116, - 116,102,118,119,119,120,120,121,121,107, - 107,122,122,103,103,103,103,123,123,104, - 104,104,105,106,106,292,1605,998,17,21, - 18,1132,948,45,1151,1170,1155,1193,1174,1218, - 1199,1247,622,1222,1253,75,331,92,359,176, - 135,213,1426,20,505,17,21,18,1132,43, - 45,1151,1170,1155,1193,1174,1218,1199,1247,908, - 1823,2190,284,137,134,136,160,944,702,524, - 224,233,667,587,1609,1051,179,336,241,139, - 166,358,231,1354,143,146,149,152,754,339, - 332,1115,135,213,1500,367,2104,2109,2118,1543, - 135,213,322,834,1407,20,1558,17,21,18, - 1132,41,524,224,232,145,134,136,160,419, - 1313,1518,788,137,134,136,160,702,665,224, - 229,442,219,609,221,223,127,274,541,139, - 166,90,587,187,143,146,149,152,402,339, - 269,782,925,272,1500,367,2104,2109,2118,1543, - 1426,20,210,17,21,18,1132,43,45,1151, - 1170,1155,1193,1174,1764,526,1350,20,550,17, - 21,18,1132,948,45,1151,1170,1155,1193,1174, - 1218,1199,1247,440,1222,1253,75,1124,281,1265, - 20,550,17,21,18,1132,948,45,1151,1170, - 1155,1193,1174,1218,1199,1247,225,1222,1253,75, - 296,281,255,213,314,594,324,402,986,282, - 1451,1268,1426,20,442,17,21,18,1132,43, - 45,1151,1170,1155,1193,1174,1218,1199,1774,287, - 412,833,282,1334,1268,1242,20,324,17,21, - 18,1132,948,45,1151,1170,1155,1193,1174,1218, - 1199,1247,289,1222,1253,75,892,281,288,1426, - 20,501,17,21,18,1132,43,45,1151,1170, - 1155,1675,1765,128,587,186,313,587,31,1426, - 20,290,17,21,18,1132,43,40,282,913, - 1268,1369,20,421,17,21,18,1132,948,45, - 1151,1170,1155,1193,1174,1218,1199,1247,158,1222, - 1253,75,310,281,1199,20,1359,17,21,18, - 1132,948,45,1151,1170,1155,1193,1174,1218,1199, - 1247,294,1222,1253,75,228,338,1108,179,833, - 358,1435,1681,312,282,1004,1268,829,1856,530, - 293,749,1426,20,239,17,21,18,1132,43, - 45,1644,135,213,291,1426,20,25,17,21, - 18,1132,43,45,1151,1170,1155,1193,1174,1218, - 1785,1466,831,657,105,137,134,136,160,1426, - 20,227,17,21,18,1132,43,45,1151,1170, - 1733,139,166,587,31,1386,143,146,149,152, - 283,339,326,671,587,188,1500,367,2104,2109, - 2118,1543,1388,20,2179,17,21,18,1132,948, - 45,1151,1170,1155,1193,1174,1218,1199,1247,260, - 1222,1253,75,440,809,1223,20,440,17,21, - 18,1132,948,45,1151,1170,1155,1193,1174,1218, - 1199,1247,1285,1222,1253,75,230,1566,1426,20, - 1573,17,21,18,1132,948,45,1151,1170,1155, - 1193,1174,1218,1199,1247,240,1222,1253,75,359, - 92,1426,20,24,17,21,18,1132,43,45, - 1151,1170,1155,1193,1174,1218,1199,1247,276,1222, - 1253,94,1426,20,418,17,21,18,1132,948, - 45,1151,1170,1155,1193,1174,1218,1199,1247,243, - 1222,1253,75,986,86,1426,20,998,17,21, - 18,1132,43,45,1151,1170,1739,1534,1426,20, - 124,17,21,18,1132,43,39,1426,20,1558, - 17,21,18,1132,948,45,1151,1170,1155,1193, - 1174,1218,1199,1247,440,1222,1253,75,1126,85, - 1426,20,180,17,21,18,1132,948,45,1151, - 1170,1155,1193,1174,1218,1199,1247,19,1222,1253, - 75,234,84,1426,20,1132,17,21,18,1132, - 948,45,1151,1170,1155,1193,1174,1218,1199,1247, - 440,1222,1253,75,1440,83,1426,20,384,17, - 21,18,1132,948,45,1151,1170,1155,1193,1174, - 1218,1199,1247,1572,1222,1253,75,440,82,1426, - 20,275,17,21,18,1132,948,45,1151,1170, - 1155,1193,1174,1218,1199,1247,440,1222,1253,75, - 1590,81,1426,20,440,17,21,18,1132,948, - 45,1151,1170,1155,1193,1174,1218,1199,1247,23, - 1222,1253,75,440,80,1426,20,1749,17,21, - 18,1132,948,45,1151,1170,1155,1193,1174,1218, - 1199,1247,440,1222,1253,75,1771,79,1426,20, - 440,17,21,18,1132,948,45,1151,1170,1155, - 1193,1174,1218,1199,1247,1807,1222,1253,75,440, - 78,1426,20,273,17,21,18,1132,948,45, - 1151,1170,1155,1193,1174,1218,1199,1247,440,1222, - 1253,75,279,77,1426,20,440,17,21,18, - 1132,948,45,1151,1170,1155,1193,1174,1218,1199, - 1247,1987,1222,1253,75,440,76,1426,20,280, - 17,21,18,1132,948,45,1151,1170,1155,1193, - 1174,1218,1199,1247,440,1222,1253,75,1851,1849, - 1426,20,1471,17,21,18,1132,948,45,1151, - 1170,1155,1193,1174,1218,1199,1247,1873,1222,1253, - 75,1055,1870,1426,20,876,17,21,18,1132, - 948,45,1151,1170,1155,1193,1174,1218,1199,1247, - 663,1222,1253,75,630,93,1426,20,331,17, - 21,18,1132,43,45,1151,1170,1155,1193,1174, - 1218,1199,1247,345,1222,1253,94,1426,20,796, - 17,21,18,1132,948,45,1151,1170,1155,1193, - 1174,1218,1199,1247,1519,1222,1253,75,931,74, - 1426,20,288,17,21,18,1132,43,45,1657, - 1426,20,212,17,21,18,1132,43,45,1151, - 1170,1155,1193,1174,1218,1199,1247,751,1222,1253, - 94,1426,20,550,17,21,18,1132,43,45, - 1151,1170,1155,1193,1174,1218,1199,1247,1067,1222, - 1253,94,1426,20,1064,17,21,18,1132,43, - 45,1151,1170,1752,1426,20,202,17,21,18, - 1132,43,45,1151,1170,1155,1193,1174,1218,1199, - 1247,331,1222,1253,94,1426,20,1871,17,21, - 18,1132,43,45,1151,1170,1155,1193,1174,1218, - 1199,1247,1069,1222,1253,94,1445,20,589,17, - 21,18,1132,34,178,1413,315,1761,1426,20, - 203,17,21,18,1132,43,45,1151,1170,1155, - 1685,111,587,1506,358,87,657,1295,1471,890, - 626,1916,96,1444,109,95,97,98,99,100, - 419,908,788,1622,708,1,1413,315,1471,793, - 1464,110,255,213,254,213,946,125,1517,587, - 296,88,111,54,231,331,87,1493,358,1471, - 1727,307,107,96,1444,109,95,97,98,99, - 100,1289,20,58,17,21,18,1132,43,36, - 314,331,110,665,224,229,1375,218,609,221, - 223,667,274,986,497,235,1413,315,263,358, - 1104,317,622,108,986,267,782,925,272,1442, - 123,246,111,941,1205,2070,87,667,1522,1471, - 765,112,264,96,1444,109,95,97,98,99, - 100,419,419,1545,1716,1964,277,1682,702,665, - 224,1322,110,219,609,221,1274,60,127,195, - 665,224,229,986,218,609,221,223,582,274, - 1146,261,358,107,2110,493,986,119,1413,315, - 126,905,267,782,925,272,986,331,355,1119, - 1395,1711,998,122,111,135,213,1507,87,1040, - 358,1471,476,2223,172,96,1444,109,95,97, - 98,99,100,1108,179,355,986,1421,142,134, - 136,160,106,667,110,665,224,581,1261,218, - 609,221,534,2228,141,166,359,204,135,213, - 159,391,1178,1319,20,108,17,21,18,1132, - 43,44,665,224,229,734,218,609,221,223, - 1490,138,134,136,160,1445,20,159,17,21, - 18,1132,33,155,527,360,242,140,166,1118, - 732,576,144,147,150,153,1489,339,557,480, - 1413,788,1112,1465,657,28,28,1268,1268,706, - 155,527,381,587,298,868,111,1421,576,745, - 87,255,213,28,1480,1268,1386,96,1444,1511, - 95,97,98,99,100,1426,20,1486,17,21, - 18,1132,43,45,1151,1170,1155,1193,1767,521, - 1413,788,665,224,229,367,218,609,221,223, - 259,874,786,657,657,477,111,1845,763,1454, - 87,562,1413,788,908,998,2200,96,1444,104, - 95,97,98,99,100,197,1471,358,111,2083, - 311,890,87,603,1413,788,868,278,1421,96, - 1444,102,95,97,98,99,100,664,1609,308, - 111,199,200,1284,87,898,254,213,1472,1286, - 181,96,1444,103,95,97,98,99,100,644, - 1413,788,1430,665,224,229,1464,218,609,221, - 223,1161,1432,2206,1220,1500,111,672,1845,192, - 87,685,1413,788,1141,857,1867,96,1444,119, - 95,97,98,99,100,1411,1357,998,111,1000, - 1426,20,87,17,21,18,1132,43,38,96, - 1444,115,95,97,98,99,100,726,1413,788, - 998,331,198,200,1289,20,209,17,21,18, - 1132,43,36,1467,111,1380,1623,1925,87,767, - 1413,788,205,711,1787,96,1444,1866,95,97, - 98,99,100,1810,904,1499,111,667,359,359, - 87,808,1413,788,247,613,1503,96,1444,114, - 95,97,98,99,100,2087,1142,933,111,657, - 359,359,87,849,1413,788,355,2336,1421,96, - 1444,121,95,97,98,99,100,2336,22,244, - 111,197,1426,20,87,17,21,18,1132,43, - 37,96,1444,120,95,97,98,99,100,2336, - 245,295,2336,665,224,229,359,218,609,221, - 223,349,2336,375,1472,1484,1426,20,159,17, - 21,18,1132,43,45,1151,1170,1762,305,355, - 986,1421,194,1426,20,419,17,21,18,1132, - 43,45,1151,1629,2336,193,297,2241,358,2336, - 788,156,527,2336,622,2336,1426,20,304,17, - 21,18,1132,43,35,2336,665,224,229,88, - 218,609,221,223,2336,1848,1005,986,2084,1426, - 20,493,17,21,18,1132,43,45,1151,1639, - 702,665,224,229,118,219,609,221,223,277, - 406,2336,375,1426,20,2336,17,21,18,1132, - 43,36,2336,2336,301,303,309,305,388,1061, - 2336,1811,274,2336,419,2336,2336,2336,2336,2336, - 2336,2336,2336,2010,2336,267,782,925,272,2336, - 2336,2336,2336,2336,2336,2336,2336,304,2336,2336, - 1426,20,1040,17,21,18,1132,43,48,2336, - 950,2336,657,1426,20,274,17,21,18,1132, - 43,47,2336,992,950,657,657,1339,267,782, - 925,272,1426,20,1386,17,21,18,1132,43, - 46,2336,2336,2336,1003,266,667,197,1386,1062, - 664,1609,2336,302,303,309,2336,2336,1449,2336, - 667,2336,2336,702,391,2336,2336,2336,259,135, - 213,2336,2336,274,135,213,1059,1454,2087,2336, - 1472,2336,259,135,213,2336,269,782,925,272, - 1059,1454,148,134,136,160,2336,151,134,136, - 160,358,358,315,315,2336,154,134,136,160, - 358,192,315,2336,1479,2336,315,1695,1867,890, - 2336,2336,88,88,2336,197,197,2336,894,894, - 1084,88,657,2336,197,88,2336,894,1471,209, - 1084,116,657,2336,254,213,890,2336,1756,1623, - 2336,2336,2336,1479,1386,788,2336,2336,2029,2029, - 2336,2213,2336,1479,1386,788,2336,2029,1479,2336, - 788,254,213,2336,88,2336,2336,1516,767,940, - 116,1479,2336,788,88,2336,2336,967,259,88, - 116,358,2336,788,497,116,763,1454,259,2336, - 2336,358,88,788,2336,2336,1086,1454,116,358, - 2336,788,88,358,2336,788,1546,2336,1789,2336, - 1107,1616,88,2336,2336,358,1940,788,994,2336, - 88,1105,2336,2336,88,2336,1013,2336,2336,2336, - 1032,2336,2336,2336,1124,2336,88,2336,2336,2336, - 2336,2336,1078,2336,0,11,226,0,2344,1, - 0,1,2573,0,8,10,0,179,20,0, - 1,2562,0,113,1829,0 + 34,34,34,35,35,35,35,35,47,47, + 24,24,24,24,24,48,48,48,84,84, + 79,79,79,79,80,80,80,81,81,81, + 82,82,82,83,83,83,93,93,85,85, + 86,49,51,51,51,51,51,64,65,65, + 65,65,65,65,65,65,65,65,65,65, + 72,69,69,109,110,74,74,70,70,70, + 87,94,94,95,95,88,88,88,57,111, + 111,96,97,97,97,71,71,112,98,98, + 99,99,89,89,25,26,26,26,50,52, + 52,41,41,41,41,37,37,38,42,42, + 43,39,39,100,100,44,114,114,113,113, + 46,46,46,46,46,46,46,46,46,101, + 54,54,54,54,36,75,75,66,66,66, + 67,67,58,58,115,115,77,77,76,76, + 76,59,59,59,60,61,61,61,62,62, + 62,62,73,73,53,53,55,117,116,116, + 116,116,102,118,119,119,120,120,121,121, + 107,107,122,122,103,103,103,103,123,123, + 104,104,104,105,106,106,292,1606,998,17, + 21,18,1133,949,45,1152,1171,1156,1194,1175, + 1219,1200,1248,622,1223,1254,75,331,92,359, + 176,136,214,1426,20,505,17,21,18,1133, + 43,45,1152,1171,1156,1194,1175,1219,1200,1248, + 908,1824,2191,285,138,135,137,161,944,703, + 525,225,234,668,587,1610,1051,180,337,242, + 140,167,358,232,1355,144,147,150,153,754, + 340,333,1115,136,214,1501,368,2105,2110,2119, + 1544,136,214,322,835,1407,20,1559,17,21, + 18,1133,41,525,225,233,146,135,137,161, + 419,1313,1519,789,138,135,137,161,703,666, + 225,230,443,220,610,222,224,128,275,541, + 140,167,90,587,188,144,147,150,153,403, + 340,270,783,926,273,1501,368,2105,2110,2119, + 1544,1426,20,211,17,21,18,1133,43,45, + 1152,1171,1156,1194,1175,1765,527,1350,20,551, + 17,21,18,1133,949,45,1152,1171,1156,1194, + 1175,1219,1200,1248,440,1223,1254,75,1124,282, + 1265,20,551,17,21,18,1133,949,45,1152, + 1171,1156,1194,1175,1219,1200,1248,226,1223,1254, + 75,296,282,256,214,314,595,324,402,987, + 283,1451,1269,1426,20,442,17,21,18,1133, + 43,45,1152,1171,1156,1194,1175,1219,1200,1775, + 288,412,833,283,1335,1269,1242,20,324,17, + 21,18,1133,949,45,1152,1171,1156,1194,1175, + 1219,1200,1248,290,1223,1254,75,892,282,289, + 1426,20,501,17,21,18,1133,43,45,1152, + 1171,1156,1676,1766,129,587,187,314,587,31, + 1426,20,291,17,21,18,1133,43,40,283, + 913,1269,1369,20,421,17,21,18,1133,949, + 45,1152,1171,1156,1194,1175,1219,1200,1248,159, + 1223,1254,75,311,282,1199,20,1360,17,21, + 18,1133,949,45,1152,1171,1156,1194,1175,1219, + 1200,1248,295,1223,1254,75,229,339,1108,180, + 833,358,1436,1682,313,283,1004,1269,829,1857, + 531,294,749,1426,20,240,17,21,18,1133, + 43,45,1645,136,214,292,1426,20,25,17, + 21,18,1133,43,45,1152,1171,1156,1194,1175, + 1219,1786,1466,831,658,105,138,135,137,161, + 1426,20,228,17,21,18,1133,43,45,1152, + 1171,1734,140,167,587,31,1387,144,147,150, + 153,284,340,326,672,587,189,1501,368,2105, + 2110,2119,1544,1388,20,2180,17,21,18,1133, + 949,45,1152,1171,1156,1194,1175,1219,1200,1248, + 261,1223,1254,75,440,810,1223,20,440,17, + 21,18,1133,949,45,1152,1171,1156,1194,1175, + 1219,1200,1248,1285,1223,1254,75,231,1567,1426, + 20,1574,17,21,18,1133,949,45,1152,1171, + 1156,1194,1175,1219,1200,1248,241,1223,1254,75, + 359,92,1426,20,24,17,21,18,1133,43, + 45,1152,1171,1156,1194,1175,1219,1200,1248,277, + 1223,1254,94,1426,20,418,17,21,18,1133, + 949,45,1152,1171,1156,1194,1175,1219,1200,1248, + 244,1223,1254,75,986,86,1426,20,998,17, + 21,18,1133,43,45,1152,1171,1740,1535,1426, + 20,125,17,21,18,1133,43,39,1426,20, + 1559,17,21,18,1133,949,45,1152,1171,1156, + 1194,1175,1219,1200,1248,440,1223,1254,75,1126, + 85,1426,20,181,17,21,18,1133,949,45, + 1152,1171,1156,1194,1175,1219,1200,1248,19,1223, + 1254,75,235,84,1426,20,1132,17,21,18, + 1133,949,45,1152,1171,1156,1194,1175,1219,1200, + 1248,440,1223,1254,75,1441,83,1426,20,384, + 17,21,18,1133,949,45,1152,1171,1156,1194, + 1175,1219,1200,1248,1573,1223,1254,75,440,82, + 1426,20,276,17,21,18,1133,949,45,1152, + 1171,1156,1194,1175,1219,1200,1248,440,1223,1254, + 75,1591,81,1426,20,440,17,21,18,1133, + 949,45,1152,1171,1156,1194,1175,1219,1200,1248, + 23,1223,1254,75,440,80,1426,20,1750,17, + 21,18,1133,949,45,1152,1171,1156,1194,1175, + 1219,1200,1248,440,1223,1254,75,1772,79,1426, + 20,440,17,21,18,1133,949,45,1152,1171, + 1156,1194,1175,1219,1200,1248,1808,1223,1254,75, + 440,78,1426,20,274,17,21,18,1133,949, + 45,1152,1171,1156,1194,1175,1219,1200,1248,440, + 1223,1254,75,280,77,1426,20,440,17,21, + 18,1133,949,45,1152,1171,1156,1194,1175,1219, + 1200,1248,1988,1223,1254,75,440,76,1426,20, + 281,17,21,18,1133,949,45,1152,1171,1156, + 1194,1175,1219,1200,1248,440,1223,1254,75,1852, + 1850,1426,20,1471,17,21,18,1133,949,45, + 1152,1171,1156,1194,1175,1219,1200,1248,1874,1223, + 1254,75,1055,1871,1426,20,876,17,21,18, + 1133,949,45,1152,1171,1156,1194,1175,1219,1200, + 1248,663,1223,1254,75,630,93,1426,20,331, + 17,21,18,1133,43,45,1152,1171,1156,1194, + 1175,1219,1200,1248,345,1223,1254,94,1426,20, + 796,17,21,18,1133,949,45,1152,1171,1156, + 1194,1175,1219,1200,1248,1520,1223,1254,75,931, + 74,1426,20,288,17,21,18,1133,43,45, + 1658,1426,20,213,17,21,18,1133,43,45, + 1152,1171,1156,1194,1175,1219,1200,1248,751,1223, + 1254,94,1426,20,550,17,21,18,1133,43, + 45,1152,1171,1156,1194,1175,1219,1200,1248,1067, + 1223,1254,94,1426,20,1064,17,21,18,1133, + 43,45,1152,1171,1753,1426,20,203,17,21, + 18,1133,43,45,1152,1171,1156,1194,1175,1219, + 1200,1248,331,1223,1254,94,1426,20,1872,17, + 21,18,1133,43,45,1152,1171,1156,1194,1175, + 1219,1200,1248,1069,1223,1254,94,1445,20,589, + 17,21,18,1133,34,178,1414,316,1762,1426, + 20,204,17,21,18,1133,43,45,1152,1171, + 1156,1686,111,587,1507,358,87,658,1295,1472, + 890,626,1917,96,1445,109,95,97,98,99, + 100,419,908,789,1623,708,1,1414,316,1472, + 793,1464,110,256,214,255,214,946,126,1518, + 587,297,88,111,54,232,331,87,1494,358, + 1472,1728,308,107,96,1445,109,95,97,98, + 99,100,1289,20,58,17,21,18,1133,43, + 36,315,331,110,666,225,230,1376,219,610, + 222,224,668,275,986,498,235,1414,316,264, + 358,1104,318,622,108,986,268,783,926,273, + 1443,124,247,111,941,1205,2071,87,668,1523, + 1472,766,112,265,96,1445,109,95,97,98, + 99,100,419,419,1546,1717,1965,278,1683,703, + 666,225,1323,110,220,610,222,1275,60,128, + 196,666,225,230,986,219,610,222,224,582, + 275,1146,262,358,107,2111,494,986,119,1414, + 316,127,905,268,783,926,273,986,331,355, + 1119,1396,1712,998,123,111,136,214,1508,87, + 1041,358,1472,477,2224,172,96,1445,109,95, + 97,98,99,100,1108,180,355,986,1422,143, + 135,137,161,106,668,110,666,225,582,1261, + 219,610,222,535,2229,142,167,359,205,136, + 214,160,392,1178,1319,20,108,17,21,18, + 1133,43,44,666,225,230,735,219,610,222, + 224,1490,139,135,137,161,1445,20,160,17, + 21,18,1133,33,156,528,360,243,141,167, + 1118,733,577,145,148,151,154,1489,340,558, + 480,1414,789,1112,1465,658,28,28,1269,1269, + 706,156,528,382,587,299,868,111,1422,577, + 745,87,256,214,28,1480,1269,1387,96,1445, + 1512,95,97,98,99,100,1426,20,1486,17, + 21,18,1133,43,45,1152,1171,1156,1194,1768, + 521,1414,789,666,225,230,367,219,610,222, + 224,260,874,786,658,658,477,111,1846,764, + 1455,87,562,1414,789,908,998,2201,96,1445, + 104,95,97,98,99,100,198,1472,358,111, + 2084,312,890,87,603,1414,789,868,279,1422, + 96,1445,102,95,97,98,99,100,664,1610, + 309,111,200,201,1284,87,899,255,214,1473, + 1286,182,96,1445,103,95,97,98,99,100, + 644,1414,789,1430,666,225,230,1464,219,610, + 222,224,1161,1432,2207,1220,1500,111,672,1846, + 193,87,685,1414,789,1141,858,1868,96,1445, + 120,95,97,98,99,100,1411,1358,998,111, + 1000,1426,20,87,17,21,18,1133,43,38, + 96,1445,115,95,97,98,99,100,726,1414, + 789,998,331,199,201,1289,20,210,17,21, + 18,1133,43,36,1467,111,1381,1624,1926,87, + 767,1414,789,206,711,1788,96,1445,1867,95, + 97,98,99,100,1811,904,1499,111,668,359, + 359,87,808,1414,789,248,614,1503,96,1445, + 114,95,97,98,99,100,2088,1142,933,111, + 658,359,359,87,849,1414,789,355,2340,1422, + 96,1445,122,95,97,98,99,100,2340,22, + 245,111,198,1426,20,87,17,21,18,1133, + 43,37,96,1445,121,95,97,98,99,100, + 2340,246,296,2340,666,225,230,359,219,610, + 222,224,349,2340,376,1473,1484,1426,20,160, + 17,21,18,1133,43,45,1152,1171,1763,306, + 355,986,1422,195,1426,20,420,17,21,18, + 1133,43,45,1152,1630,2340,194,298,2242,358, + 2340,789,157,528,2340,622,2340,1426,20,305, + 17,21,18,1133,43,35,2340,666,225,230, + 88,219,610,222,224,2340,1849,1005,986,2085, + 1426,20,494,17,21,18,1133,43,45,1152, + 1640,703,666,225,230,118,220,610,222,224, + 278,406,2340,376,1426,20,2340,17,21,18, + 1133,43,36,2340,2340,302,304,310,306,389, + 1061,2340,1812,275,2340,420,2340,2340,2340,2340, + 2340,2340,2340,2340,2011,2340,268,783,926,273, + 2340,2340,2340,2340,2340,2340,2340,2340,305,2340, + 2340,1426,20,1041,17,21,18,1133,43,48, + 2340,950,2340,658,1426,20,275,17,21,18, + 1133,43,47,2340,992,950,658,658,1339,268, + 783,926,273,1426,20,1387,17,21,18,1133, + 43,46,2340,2340,2340,1003,267,668,198,1387, + 1062,664,1610,2340,303,304,310,2340,2340,1449, + 2340,668,2340,2340,703,392,2340,2340,2340,260, + 136,214,2340,2340,275,136,214,1060,1455,2088, + 2340,1473,2340,260,136,214,2340,270,783,926, + 273,1060,1455,149,135,137,161,2340,152,135, + 137,161,358,358,316,316,2340,155,135,137, + 161,358,193,316,2340,1479,2340,316,1696,1868, + 890,2340,2340,88,88,2340,198,198,2340,895, + 895,1084,88,658,2340,198,88,2340,895,1472, + 210,1084,116,658,2340,255,214,890,2340,1757, + 1624,2340,2340,2340,1479,1387,789,2340,2340,2030, + 2030,2340,2214,2340,1479,1387,789,2340,2030,1479, + 2340,789,255,214,2340,88,2340,2340,1517,768, + 941,116,1479,2340,789,88,2340,2340,968,260, + 88,116,358,2340,789,498,116,764,1455,260, + 2340,2340,358,88,789,2340,2340,1087,1455,116, + 358,2340,789,88,358,2340,789,1547,2340,1790, + 2340,1108,1617,88,2340,2340,358,1941,789,995, + 2340,88,1106,2340,2340,88,2340,1014,2340,2340, + 2340,1033,2340,2340,2340,1125,2340,88,2340,2340, + 2340,2340,2340,1079,2340,0,11,227,0,2348, + 1,0,1,2578,0,8,10,0,1845,119, + 0,180,20,0,1,2567,0,113,1830,0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -686,164 +686,164 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym public interface TermAction { public final static char termAction[] = {0, - 2336,4165,1,4164,1487,1,659,1,1,1, + 2340,4170,1,4169,1488,1,660,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,2345,1,2437,1,1,1,1,1, - 1360,853,811,1433,1393,1619,1328,1352,1379,1370, - 1374,1,1,1,1,1,1,1,1,1, - 1,1,1,2336,1,1,1,2336,2343,8, - 2324,2324,2324,2324,2324,2324,2324,2324,2324,2324, - 2324,2324,2324,2324,2324,2324,2324,2324,2324,2324, - 2324,2324,2324,2324,2324,2324,2324,2324,2324,2324, - 2324,2324,2324,2324,2324,2324,2324,2324,2324,2324, - 2324,2324,2324,2324,2324,2324,2324,2324,2324,2324, - 2324,2324,1669,2324,2324,2324,1691,2324,2336,4165, - 1,4164,1487,1,659,1,1,1,1,1, + 1,1,2349,1,2441,1,1,1,1,1, + 1361,854,812,1434,1394,1620,1329,1353,1380,1371, + 1375,1,1,1,1,1,1,1,1,1, + 1,1,1,2340,1,1,1,2340,2347,8, + 2325,2325,2325,2325,2325,2325,2325,2325,2325,2325, + 2325,2325,2325,2325,2325,2325,2325,2325,2325,2325, + 2325,2325,2325,2325,2325,2325,2325,2325,2325,2325, + 2325,2325,2325,2325,2325,2325,2325,2325,2325,2325, + 2325,2325,2325,2325,2325,2325,2325,2325,2325,2325, + 2325,2325,1670,2325,2325,2325,1692,2325,2340,4170, + 1,4169,1488,1,660,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 2345,1,2437,1,1,1,1,1,1360,853, - 811,1433,1393,1619,1328,1352,1379,1370,1374,1, + 2349,1,2441,1,1,1,1,1,1361,854, + 812,1434,1394,1620,1329,1353,1380,1371,1375,1, 1,1,1,1,1,1,1,1,1,1, - 1,2336,1,1,1,182,2343,2336,4165,1, - 4164,2346,1,659,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,2345, - 1,2437,1,1,1,1,1,1360,853,811, - 1433,1393,1619,1328,1352,1379,1370,1374,1,1, + 1,2340,1,1,1,183,2347,2340,4170,1, + 4169,2350,1,660,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,2349, + 1,2441,1,1,1,1,1,1361,854,812, + 1434,1394,1620,1329,1353,1380,1371,1375,1,1, 1,1,1,1,1,1,1,1,1,1, - 1713,1,1,1,2336,4165,1,4164,2346,1, - 659,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,2345,1,2437,1, - 1,1,1,1,1360,853,811,1433,1393,1619, - 1328,1352,1379,1370,1374,1,1,1,1,1, + 1714,1,1,1,2340,4170,1,4169,2350,1, + 660,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,2349,1,2441,1, + 1,1,1,1,1361,854,812,1434,1394,1620, + 1329,1353,1380,1371,1375,1,1,1,1,1, 1,1,1,1,1,1,1,71,1,1, - 1,2336,2347,2161,2348,11,2013,2315,1892,1790, - 1966,1595,1326,404,2349,2350,2351,2352,868,599, - 2550,2551,2552,2336,2499,359,2500,2498,2553,2501, - 2497,2336,2347,2336,2348,2336,2347,660,2348,551, - 253,1398,2504,2509,2508,2506,2507,2505,2510,2511, - 2503,2512,2513,2514,60,1498,438,344,2336,1, - 1,1,2346,1,1,2562,1939,1,2336,20, - 179,2327,2340,2327,2327,532,62,1,1,1, - 2345,1,2642,1,1,1,1,1,179,179, - 179,2327,179,43,179,179,179,179,179,1, + 1,2340,2351,2162,2352,11,2014,2316,1893,1791, + 1967,1596,1327,405,2353,2354,2355,2356,869,600, + 2555,2556,2557,2340,2504,360,2505,2503,2558,2506, + 2502,2340,2351,2340,2352,2340,2351,661,2352,552, + 254,1399,2509,2514,2513,2511,2512,2510,2515,2516, + 2508,2517,2518,2519,60,1499,439,345,2340,1, + 1,1,2350,1,1,2567,1940,1,2340,20, + 180,2331,2344,2331,2331,533,62,1,1,1, + 2349,1,2647,1,1,1,1,1,180,180, + 180,2331,180,43,180,180,180,180,180,1, 1,1,1,1,1,1,1,1,1,1, - 1,157,1,1,1,2336,1,1,1,2346, - 1,2336,2327,1926,1272,855,709,183,1,2327, - 286,300,2346,2339,1,1,1,2345,1,2642, - 1,1,1,1,1,1926,1272,855,709,2336, - 2345,235,2336,2342,1084,223,1,1,1,1, - 1,1,1,1,1,1,1,1,2336,1, - 1,1,555,223,1251,2336,1061,1038,1015,992, - 969,923,946,900,877,832,61,1389,299,2336, - 4165,1,4164,2346,1,659,1,1,1,1, - 1,1,1,1,1,1,1,1,223,2341, - 229,2345,223,2437,185,4155,232,4155,2336,1360, - 853,811,1433,1393,1619,1328,1352,1379,1370,1374, - 2336,4165,1,4164,2346,1,659,1,1,1, - 1,1,1,1,1,1,1,1,1,2336, - 184,4157,2345,4157,2437,1926,1272,855,709,73, - 1360,853,811,1433,1393,1619,1328,1352,1379,1370, - 1374,2336,4165,1,4164,2346,1,659,1,1, + 1,158,1,1,1,2340,1,1,1,2350, + 1,2340,2331,1927,1273,856,710,184,1,2331, + 287,301,2350,2343,1,1,1,2349,1,2647, + 1,1,1,1,1,1927,1273,856,710,2340, + 2349,236,2340,2346,1085,224,1,1,1,1, + 1,1,1,1,1,1,1,1,2340,1, + 1,1,556,224,1252,2340,1062,1039,1016,993, + 970,924,947,901,878,833,61,1390,300,2340, + 4170,1,4169,2350,1,660,1,1,1,1, + 1,1,1,1,1,1,1,1,224,2345, + 230,2349,224,2441,186,4160,233,4160,2340,1361, + 854,812,1434,1394,1620,1329,1353,1380,1371,1375, + 2340,4170,1,4169,2350,1,660,1,1,1, + 1,1,1,1,1,1,1,1,1,2340, + 185,4162,2349,4162,2441,1927,1273,856,710,73, + 1361,854,812,1434,1394,1620,1329,1353,1380,1371, + 1375,2340,4170,1,4169,2350,1,660,1,1, 1,1,1,1,1,1,1,1,1,1, - 2336,206,4162,2345,4162,2437,2336,2347,2336,2348, - 2174,1360,853,811,1433,1393,1619,1328,1352,1379, - 1370,1374,2336,4165,1,4164,2346,1,659,1, + 2340,207,4167,2349,4167,2441,2340,2351,2340,2352, + 2175,1361,854,812,1434,1394,1620,1329,1353,1380, + 1371,1375,2340,4170,1,4169,2350,1,660,1, 1,1,1,1,1,1,1,1,1,1, - 1,253,2562,1939,2345,2336,2437,2261,2336,63, - 342,2251,1360,853,811,1433,1393,1619,1328,1352, - 1379,1370,1374,2336,4165,1,4164,2346,1,659, + 1,254,2567,1940,2349,2340,2441,2262,2340,63, + 343,2252,1361,854,812,1434,1394,1620,1329,1353, + 1380,1371,1375,2340,4170,1,4169,2350,1,660, 1,1,1,1,1,1,1,1,1,1, - 1,1,52,208,2347,2345,2348,2437,2336,1220, - 672,64,2336,1360,853,811,1433,1393,1619,1328, - 1352,1379,1370,1374,2336,4165,1,4164,2346,1, - 659,1,1,1,1,1,1,1,1,1, - 1,1,1,1338,579,54,2345,2336,2437,2269, - 2336,2574,1220,672,1360,853,811,1433,1393,1619, - 1328,1352,1379,1370,1374,2336,4165,1,4164,2346, - 1,659,1,1,1,1,1,1,1,1, - 1,1,1,1,53,1338,579,2345,2336,2437, - 69,1220,672,2336,1502,1360,853,811,1433,1393, - 1619,1328,1352,1379,1370,1374,2336,4165,1,4164, - 2346,1,659,1,1,1,1,1,1,1, - 1,1,1,1,1,1,207,373,2345,373, - 2437,659,2336,2336,2273,67,1360,853,811,1433, - 1393,1619,1328,1352,1379,1370,1374,2336,4165,1, - 4164,2346,1,659,1,1,1,1,1,1, - 1,1,1,1,1,1,2314,685,2336,2345, - 2336,2437,1,1178,2336,1301,2318,1360,853,811, - 1433,1393,1619,1328,1352,1379,1370,1374,2336,4165, - 1,4164,2346,1,659,1,1,1,1,1, - 1,1,1,1,1,1,1,1,2562,1939, - 2345,460,2437,2336,1,55,1,191,1360,853, - 811,1433,1393,1619,1328,1352,1379,1370,1374,2336, - 2343,2336,1,1,1,2346,1,2532,1,1, - 1,1,1,2336,2336,2285,2336,1,2550,2551, - 2552,2342,220,2345,1,1,1,1,1,1, - 1,1,1,1,1,1,1230,1,1,1, - 65,191,2336,1,1844,1,190,1943,1989,1655, - 1,2330,1453,130,2342,262,2562,1453,1876,1, - 1,1,1,1,253,1,2532,1,1,1, - 1,1,2550,2551,2552,634,2499,2341,2500,2498, - 2553,2501,2497,1,1,1,1,1,1,1, - 1,1,1,1,1,2336,1,1,1,2346, - 190,2336,1,634,1,191,2336,2336,634,2336, - 2341,2344,131,222,1,1371,1986,2345,2342,2336, - 1,1,1,2594,1,2532,1,1,1,1, - 1,2550,2551,2552,2336,2499,2336,2500,2498,2553, - 2501,2497,1,1,1,1,1,1,1,1, - 1,1,1,1,2336,1,1,1,2336,191, - 1,520,1939,2348,49,2343,634,634,1197,2092, - 265,132,1986,236,2341,1,2336,223,229,2550, - 2551,2552,1530,2499,233,2500,2498,2553,2501,2497, - 2550,2551,2552,1,2499,223,2500,2498,2553,2501, - 2497,2504,2509,2508,2506,2507,2505,2510,2511,2503, - 2512,2513,2514,2336,1498,438,344,2336,2347,1707, - 2348,1,2321,634,268,2562,1453,211,249,253, - 223,2073,2060,248,223,2336,2550,2551,2552,2342, - 2499,271,2500,2498,2553,2501,2497,1,1,1, - 70,113,2550,2551,2552,129,2336,2594,2504,2509, - 2508,2506,2507,2505,2510,2511,2503,2512,2513,2514, - 250,1498,438,344,2550,2551,2552,634,2499,2336, - 2500,2498,2553,2501,2497,2594,2336,42,1176,1, - 1,1,1833,4148,634,2341,2504,2509,2508,2506, - 2507,2505,2510,2511,2503,2512,2513,2514,1,2347, - 2161,2348,2340,1411,256,1892,1790,1966,1595,1326, - 404,2349,2350,2351,2352,868,599,685,2336,66, - 2333,742,2336,2347,2161,2348,2340,1814,1655,1892, - 1790,1966,1595,1326,404,2349,2350,2351,2352,868, - 599,2336,2347,2161,2348,1130,2013,4148,1892,1790, - 1966,1595,1326,404,2349,2350,2351,2352,868,599, - 89,701,2336,2339,1,2347,2161,2348,29,2013, - 4148,1892,1790,1966,1595,1326,404,2349,2350,2351, - 2352,868,599,59,270,58,1694,2339,2336,2347, - 2161,2348,2340,2013,251,1892,1790,1966,1595,1326, - 404,2349,2350,2351,2352,868,599,2336,2336,2336, - 2336,2336,1,2550,2551,2552,91,1153,2336,2347, - 2161,2348,29,2013,4148,1892,1790,1966,1595,1326, - 404,2349,2350,2351,2352,868,599,634,268,2336, - 1986,2336,2336,253,2336,1943,1989,1943,1989,1, - 2347,2161,2348,2339,2013,4148,1892,1790,1966,1595, - 1326,404,2349,2350,2351,2352,868,599,2336,2347, - 2161,2348,91,2013,4148,1892,1790,1966,1595,1326, - 404,2349,2350,2351,2352,868,599,1,2347,2161, - 2348,634,2013,2336,1892,1790,1966,1595,1326,404, - 2349,2350,2351,2352,868,599,2336,2347,2162,2348, - 68,2013,2336,1892,1790,1966,1595,1326,404,2349, - 2350,2351,2352,868,599,2336,2347,2161,2348,57, - 2013,56,1892,1790,1966,1595,1326,404,2349,2350, - 2351,2352,868,599,2336,2347,2170,2348,133,2013, - 292,1892,1790,1966,1595,1326,404,2349,2350,2351, - 2352,868,599,30,207,1,72,2550,2551,2552, - 32,2499,420,2500,2498,2553,2501,2497,1,51, - 2362,2363,117,2336,2092,50,460,2346,252,2336, - 2092,1943,1989,1943,1989,4148,2336,285,201,30, - 117,1439,2336,1305,189,2345,189,2550,2551,2552, - 185,189,184,1,1,2336,1633,206,2336,2336, - 2365,3437,2336,1958,2336,2336,2336,2336,2336,2593, - 2336,2336,2336,2336,2336,2336,723,2336,117,2336, - 1635,2336,2336,2336,532,2336,2073,2060,2336,2336, - 597,2336,2073,2060,2336,1439,499,1284,2336,2336, - 2336,2336,2336,611,2336,2336,2336,2336,2336,2336, - 2336,2336,2348,2347 + 1,1,52,209,2351,2349,2352,2441,2340,1221, + 673,64,2340,1361,854,812,1434,1394,1620,1329, + 1353,1380,1371,1375,2340,4170,1,4169,2350,1, + 660,1,1,1,1,1,1,1,1,1, + 1,1,1,1339,580,54,2349,2340,2441,2270, + 2340,2579,1221,673,1361,854,812,1434,1394,1620, + 1329,1353,1380,1371,1375,2340,4170,1,4169,2350, + 1,660,1,1,1,1,1,1,1,1, + 1,1,1,1,53,1339,580,2349,2340,2441, + 69,1221,673,2340,1503,1361,854,812,1434,1394, + 1620,1329,1353,1380,1371,1375,2340,4170,1,4169, + 2350,1,660,1,1,1,1,1,1,1, + 1,1,1,1,1,1,208,374,2349,374, + 2441,660,2340,2340,2274,67,1361,854,812,1434, + 1394,1620,1329,1353,1380,1371,1375,2340,4170,1, + 4169,2350,1,660,1,1,1,1,1,1, + 1,1,1,1,1,1,2315,686,2340,2349, + 2340,2441,1,1179,2340,1302,2319,1361,854,812, + 1434,1394,1620,1329,1353,1380,1371,1375,2340,4170, + 1,4169,2350,1,660,1,1,1,1,1, + 1,1,1,1,1,1,1,1,2567,1940, + 2349,461,2441,2340,1,55,1,192,1361,854, + 812,1434,1394,1620,1329,1353,1380,1371,1375,2340, + 2347,2340,1,1,1,2350,1,2537,1,1, + 1,1,1,2340,119,2286,2340,1,2555,2556, + 2557,2346,221,2349,1,1,1,1,1,1, + 1,1,1,1,1,1,1231,1,1,1, + 65,192,2340,1,2328,1,191,1944,1990,1656, + 1,2334,1454,131,2346,263,2567,1454,1877,1, + 1,1,1,1,254,1,2537,1,1,1, + 1,1,2555,2556,2557,635,2504,2345,2505,2503, + 2558,2506,2502,1,1,1,1,1,1,1, + 1,1,1,1,1,2340,1,1,1,2350, + 191,2340,1,635,1,192,2340,2340,635,2340, + 2345,2348,132,223,1,1372,1987,2349,2346,2340, + 1,1,1,2599,1,2537,1,1,1,1, + 1,2555,2556,2557,2340,2504,2340,2505,2503,2558, + 2506,2502,1,1,1,1,1,1,1,1, + 1,1,1,1,2340,1,1,1,2340,192, + 1,521,1940,2352,49,2347,635,635,1198,2093, + 266,133,1987,237,2345,1,2340,224,230,2555, + 2556,2557,1531,2504,234,2505,2503,2558,2506,2502, + 2555,2556,2557,1,2504,224,2505,2503,2558,2506, + 2502,2509,2514,2513,2511,2512,2510,2515,2516,2508, + 2517,2518,2519,2340,1499,439,345,2340,2351,1708, + 2352,1,2322,635,269,2567,1454,212,250,254, + 224,2074,2061,249,224,2340,2555,2556,2557,2346, + 2504,272,2505,2503,2558,2506,2502,1,1,1, + 70,113,2555,2556,2557,130,2340,2599,2509,2514, + 2513,2511,2512,2510,2515,2516,2508,2517,2518,2519, + 251,1499,439,345,2555,2556,2557,635,2504,2340, + 2505,2503,2558,2506,2502,2599,2340,42,1177,1, + 1,1,1834,4153,635,2345,2509,2514,2513,2511, + 2512,2510,2515,2516,2508,2517,2518,2519,1,2351, + 2162,2352,2344,1412,257,1893,1791,1967,1596,1327, + 405,2353,2354,2355,2356,869,600,686,2340,66, + 2337,743,2340,2351,2162,2352,2344,1815,1656,1893, + 1791,1967,1596,1327,405,2353,2354,2355,2356,869, + 600,2340,2351,2162,2352,1131,2014,4153,1893,1791, + 1967,1596,1327,405,2353,2354,2355,2356,869,600, + 89,702,2340,2343,1,2351,2162,2352,29,2014, + 4153,1893,1791,1967,1596,1327,405,2353,2354,2355, + 2356,869,600,59,271,58,1695,2343,2340,2351, + 2162,2352,2344,2014,252,1893,1791,1967,1596,1327, + 405,2353,2354,2355,2356,869,600,2340,2340,2340, + 2340,2340,1,2555,2556,2557,91,1154,2340,2351, + 2162,2352,29,2014,4153,1893,1791,1967,1596,1327, + 405,2353,2354,2355,2356,869,600,635,269,2340, + 1987,2340,2340,254,2340,1944,1990,1944,1990,1, + 2351,2162,2352,2343,2014,4153,1893,1791,1967,1596, + 1327,405,2353,2354,2355,2356,869,600,2340,2351, + 2162,2352,91,2014,4153,1893,1791,1967,1596,1327, + 405,2353,2354,2355,2356,869,600,1,2351,2162, + 2352,635,2014,2340,1893,1791,1967,1596,1327,405, + 2353,2354,2355,2356,869,600,2340,2351,2163,2352, + 68,2014,2340,1893,1791,1967,1596,1327,405,2353, + 2354,2355,2356,869,600,2340,2351,2162,2352,57, + 2014,56,1893,1791,1967,1596,1327,405,2353,2354, + 2355,2356,869,600,2340,2351,2171,2352,134,2014, + 293,1893,1791,1967,1596,1327,405,2353,2354,2355, + 2356,869,600,30,208,1,72,2555,2556,2557, + 32,2504,421,2505,2503,2558,2506,2502,1,51, + 2366,2367,117,2340,2093,50,461,2350,253,2340, + 2093,1944,1990,1944,1990,4153,2340,286,202,30, + 117,1440,2340,1306,190,2349,190,2555,2556,2557, + 186,190,185,1,1,2340,1634,207,2340,2340, + 2369,3442,2340,1959,2340,2340,2340,2340,2340,2598, + 2340,2340,2340,2340,2340,2340,724,2340,117,2340, + 1636,2340,2340,2340,533,2340,2074,2061,2340,2340, + 598,2340,2074,2061,2340,1440,500,1285,2340,2340, + 2340,2340,2340,612,2340,2340,2340,2340,2340,2340, + 2340,2340,2352,2351 }; }; public final static char termAction[] = TermAction.termAction; @@ -851,36 +851,36 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym public interface Asb { public final static char asb[] = {0, - 498,1,427,281,498,429,496,310,322,494, - 322,494,494,322,494,322,283,468,429,418, - 529,496,283,201,133,132,377,48,468,376, - 253,494,241,241,494,241,429,468,338,468, - 214,283,429,79,214,26,429,254,496,102, - 496,205,468,330,429,216,470,283,427,141, - 99,306,167,269,453,453,453,453,453,83, - 453,453,453,161,178,183,181,189,185,192, - 191,194,193,195,216,129,496,453,48,376, - 253,451,202,202,241,529,529,438,529,529, - 202,253,139,453,139,269,496,102,205,205, - 330,330,338,333,337,429,306,99,82,79, - 453,453,453,453,453,453,453,453,453,453, - 453,338,338,531,269,269,241,241,3,453, - 453,453,453,453,453,453,453,453,453,453, - 453,453,453,453,453,453,453,453,453,337, - 129,24,251,202,453,202,267,453,341,453, - 453,254,438,139,438,198,382,102,129,244, - 102,205,207,433,207,330,306,335,336,211, - 468,216,453,453,99,83,26,468,211,338, + 496,1,425,281,496,427,494,310,322,492, + 322,492,492,322,492,322,283,466,427,416, + 527,494,283,201,133,132,375,48,466,374, + 253,492,241,241,492,241,427,466,338,466, + 214,283,427,79,214,26,427,254,494,102, + 494,205,466,330,427,216,468,283,425,141, + 99,306,167,269,451,451,451,451,451,83, + 451,451,451,161,178,183,181,189,185,192, + 191,194,193,195,216,129,494,451,48,374, + 253,449,202,202,241,527,527,436,527,527, + 202,253,139,451,139,269,494,102,205,205, + 330,330,338,333,337,427,306,99,82,79, + 451,451,451,451,451,451,451,451,451,451, + 451,338,338,529,269,269,241,241,3,451, + 451,451,451,451,451,451,451,451,451,451, + 451,451,451,451,451,451,451,451,451,337, + 129,24,251,202,451,202,267,451,252,451, + 451,254,436,139,436,198,380,102,129,244, + 102,205,207,431,207,330,306,335,336,211, + 466,216,451,451,99,83,26,466,211,338, 338,338,99,181,181,178,178,185,185,183, - 183,183,183,191,189,193,192,139,194,431, - 24,451,202,338,529,338,338,253,438,453, - 102,246,207,129,453,241,306,330,214,338, - 537,333,99,99,531,537,343,496,453,207, - 45,202,451,438,453,438,438,129,201,453, - 200,129,330,216,338,129,22,380,241,453, - 44,3,202,338,252,246,453,338,161,26, - 99,241,453,338,3,202,438,99,438,338, - 438 + 183,183,183,191,189,193,192,139,194,429, + 24,449,202,338,527,338,338,253,436,451, + 102,246,207,129,451,241,306,330,214,338, + 535,333,99,99,529,535,341,494,451,207, + 45,202,449,436,451,436,436,129,201,451, + 200,129,330,216,338,129,22,378,241,451, + 44,3,202,338,252,246,451,338,161,26, + 99,241,451,338,3,202,436,99,436,338, + 436 }; }; public final static char asb[] = Asb.asb; @@ -922,29 +922,29 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym 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, - 30,0,9,5,7,8,67,68,62,63, + 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,66, + 80,10,11,9,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,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,53,60,25,19,26, - 27,28,20,23,29,21,22,4,5,2, - 1,0,4,57,58,61,0,32,34,6, - 38,40,35,30,36,37,33,31,39,24, - 22,4,2,13,14,15,16,1,3,10, - 11,9,7,8,17,18,12,5,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,5,25,41,19, + 82,61,83,84,85,86,87,88,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,32,34,6,38,40, + 35,30,36,37,33,31,39,24,22,4, + 2,13,14,15,16,1,3,10,11,9, + 7,8,17,18,12,5,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,64,0 + 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,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 }; }; public final static byte asr[] = Asr.asr; @@ -1131,19 +1131,19 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym public interface ScopeState { public final static char scopeState[] = {0, - 530,0,550,0,2083,1867,1681,0,1682,1873, - 1851,1829,1807,1771,1749,1713,1507,1691,1669,1435, - 1619,1375,1334,0,611,499,1590,1572,476,1573, - 555,0,1595,1326,404,1573,1814,342,685,532, - 1655,460,1926,1272,855,709,1338,579,1220,672, - 1989,1943,2092,2073,2060,2013,1966,1411,1892,1790, - 868,599,1305,611,1284,1251,1230,1197,1176,1153, - 1130,1107,788,1084,1061,1038,1015,992,969,946, - 923,900,877,832,765,315,811,742,555,634, - 499,476,0,925,782,665,609,2087,391,1986, - 1453,2029,1386,0,332,375,1635,391,1716,1453, - 1545,1386,1964,1442,1876,1939,1518,0,315,657, - 1543,375,0 + 531,0,551,0,2084,1868,1682,0,1683,1874, + 1852,1830,1808,1772,1750,1714,1508,1692,1670,1436, + 1620,1376,1335,0,612,500,1591,1573,477,1574, + 556,0,1596,1327,405,1574,1815,343,686,533, + 1656,461,1927,1273,856,710,1339,580,1221,673, + 1990,1944,2093,2074,2061,2014,1967,1412,1893,1791, + 869,600,1306,612,1285,1252,1231,1198,1177,1154, + 1131,1108,789,1085,1062,1039,1016,993,970,947, + 924,901,878,833,766,316,812,743,556,635, + 500,477,0,926,783,666,610,2088,392,1987, + 1454,2030,1387,0,333,376,1636,392,1717,1454, + 1546,1387,1965,1443,1877,1940,1519,0,316,658, + 1544,376,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -1394,18 +1394,18 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym public final static int NUM_STATES = 291, NT_OFFSET = 93, - LA_STATE_OFFSET = 2650, + LA_STATE_OFFSET = 2655, MAX_LA = 2147483647, - NUM_RULES = 314, + NUM_RULES = 315, NUM_NONTERMINALS = 125, NUM_SYMBOLS = 218, SEGMENT_SIZE = 8192, - START_STATE = 1921, + START_STATE = 1922, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 73, EOLT_SYMBOL = 73, - ACCEPT_ACTION = 2314, - ERROR_ACTION = 2336; + ACCEPT_ACTION = 2315, + ERROR_ACTION = 2340; 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 33df3a76cde..9ca38119a9b 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 @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 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 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 f3a0bd424f5..12dc1460eeb 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 @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 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 @@ -678,595 +678,601 @@ public C99SizeofExpressionParser(ITokenStream stream, Map<String,String> propert // // Rule 117: iteration_statement ::= do statement while ( expression ) ; // - case 117: { action. consumeStatementDoLoop(); break; + case 117: { action. consumeStatementDoLoop(true); break; } // - // Rule 118: iteration_statement ::= while ( expression ) statement + // Rule 118: iteration_statement ::= do statement // - case 118: { action. consumeStatementWhileLoop(); break; + case 118: { action. consumeStatementDoLoop(false); break; } // - // Rule 119: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement + // Rule 119: iteration_statement ::= while ( expression ) statement // - case 119: { action. consumeStatementForLoop(); break; + case 119: { action. consumeStatementWhileLoop(); break; } // - // Rule 120: iteration_statement ::= for ( declaration expression_opt ; expression_opt ) statement + // Rule 120: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement // case 120: { action. consumeStatementForLoop(); break; } // - // Rule 121: jump_statement ::= goto identifier_token ; + // Rule 121: iteration_statement ::= for ( declaration expression_opt ; expression_opt ) statement // - case 121: { action. consumeStatementGoto(); break; + case 121: { action. consumeStatementForLoop(); break; } // - // Rule 122: jump_statement ::= continue ; + // Rule 122: jump_statement ::= goto identifier_token ; // - case 122: { action. consumeStatementContinue(); break; + case 122: { action. consumeStatementGoto(); break; } // - // Rule 123: jump_statement ::= break ; + // Rule 123: jump_statement ::= continue ; // - case 123: { action. consumeStatementBreak(); break; + case 123: { action. consumeStatementContinue(); break; } // - // Rule 124: jump_statement ::= return ; + // Rule 124: jump_statement ::= break ; // - case 124: { action. consumeStatementReturn(false); break; + case 124: { action. consumeStatementBreak(); break; } // - // Rule 125: jump_statement ::= return expression ; + // Rule 125: jump_statement ::= return ; // - case 125: { action. consumeStatementReturn(true); break; + case 125: { action. consumeStatementReturn(false); break; } // - // Rule 126: declaration ::= declaration_specifiers ; + // Rule 126: jump_statement ::= return expression ; // - case 126: { action. consumeDeclarationSimple(false); break; + case 126: { action. consumeStatementReturn(true); break; } // - // Rule 127: declaration ::= declaration_specifiers <openscope-ast> init_declarator_list ; + // Rule 127: declaration ::= declaration_specifiers ; // - case 127: { action. consumeDeclarationSimple(true); break; + case 127: { action. consumeDeclarationSimple(false); break; } // - // Rule 128: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers + // Rule 128: declaration ::= declaration_specifiers <openscope-ast> init_declarator_list ; // - case 128: { action. consumeDeclarationSpecifiersSimple(); break; + case 128: { action. consumeDeclarationSimple(true); break; } // - // Rule 129: declaration_specifiers ::= <openscope-ast> struct_or_union_declaration_specifiers + // Rule 129: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers // - case 129: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; + case 129: { action. consumeDeclarationSpecifiersSimple(); break; } // - // Rule 130: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers + // Rule 130: declaration_specifiers ::= <openscope-ast> struct_or_union_declaration_specifiers // case 130: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; } // - // Rule 131: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers + // Rule 131: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers // case 131: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; } // - // Rule 132: declaration_specifiers ::= <openscope-ast> typdef_name_declaration_specifiers + // Rule 132: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers // - case 132: { action. consumeDeclarationSpecifiersTypedefName(); break; + case 132: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; } // - // Rule 157: init_declarator ::= complete_declarator = initializer + // Rule 133: declaration_specifiers ::= <openscope-ast> typdef_name_declaration_specifiers // - case 157: { action. consumeDeclaratorWithInitializer(true); break; + case 133: { action. consumeDeclarationSpecifiersTypedefName(); break; } // - // Rule 159: storage_class_specifier ::= storage_class_specifier_token + // Rule 158: init_declarator ::= complete_declarator = initializer // - case 159: { action. consumeToken(); break; + case 158: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 165: simple_type_specifier ::= simple_type_specifier_token + // Rule 160: storage_class_specifier ::= storage_class_specifier_token // - case 165: { action. consumeToken(); break; + case 160: { action. consumeToken(); break; } // - // Rule 178: type_name_specifier ::= identifier_token + // Rule 166: simple_type_specifier ::= simple_type_specifier_token // - case 178: { action. consumeToken(); break; + case 166: { action. consumeToken(); break; } // - // Rule 179: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt } + // Rule 179: type_name_specifier ::= identifier_token // - case 179: { action. consumeTypeSpecifierComposite(false); break; + case 179: { action. consumeToken(); break; } // - // 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 } + // Rule 180: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt } // - case 180: { action. consumeTypeSpecifierComposite(true); break; + case 180: { action. consumeTypeSpecifierComposite(false); break; } // - // Rule 185: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token + // Rule 181: 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 185: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break; + case 181: { action. consumeTypeSpecifierComposite(true); break; } // - // Rule 186: elaborated_specifier ::= union elaborated_specifier_hook identifier_token + // Rule 186: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token // - case 186: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break; + case 186: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break; } // - // Rule 187: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token + // Rule 187: elaborated_specifier ::= union elaborated_specifier_hook identifier_token // - case 187: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break; + case 187: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break; } // - // Rule 193: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ; + // Rule 188: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token // - case 193: { action. consumeStructDeclaration(true); break; + case 188: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break; } // - // Rule 194: struct_declaration ::= specifier_qualifier_list ; + // Rule 194: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ; // - case 194: { action. consumeStructDeclaration(false); break; + case 194: { action. consumeStructDeclaration(true); break; } // - // Rule 195: struct_declaration ::= ERROR_TOKEN + // Rule 195: struct_declaration ::= specifier_qualifier_list ; // - case 195: { action. consumeDeclarationProblem(); break; + case 195: { action. consumeStructDeclaration(false); break; } // - // Rule 201: struct_declarator ::= : constant_expression + // Rule 196: struct_declaration ::= ERROR_TOKEN // - case 201: { action. consumeBitField(false); break; + case 196: { action. consumeDeclarationProblem(); break; } // - // Rule 202: struct_declarator ::= declarator : constant_expression + // Rule 202: struct_declarator ::= : constant_expression // - case 202: { action. consumeBitField(true); break; + case 202: { action. consumeBitField(false); break; } // - // Rule 203: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 203: struct_declarator ::= declarator : constant_expression // - case 203: { action. consumeTypeSpecifierEnumeration(false); break; + case 203: { action. consumeBitField(true); break; } // - // Rule 204: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 204: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } // - case 204: { action. consumeTypeSpecifierEnumeration(true); break; + case 204: { action. consumeTypeSpecifierEnumeration(false); break; } // - // Rule 210: enumerator ::= identifier_token + // Rule 205: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } // - case 210: { action. consumeEnumerator(false); break; + case 205: { action. consumeTypeSpecifierEnumeration(true); break; } // - // Rule 211: enumerator ::= identifier_token = constant_expression + // Rule 211: enumerator ::= identifier_token // - case 211: { action. consumeEnumerator(true); break; + case 211: { action. consumeEnumerator(false); break; } // - // Rule 212: type_qualifier ::= type_qualifier_token + // Rule 212: enumerator ::= identifier_token = constant_expression // - case 212: { action. consumeToken(); break; + case 212: { action. consumeEnumerator(true); break; } // - // Rule 216: function_specifier ::= inline + // Rule 213: type_qualifier ::= type_qualifier_token // - case 216: { action. consumeToken(); break; + case 213: { action. consumeToken(); break; } // - // Rule 218: declarator ::= <openscope-ast> pointer_seq direct_declarator + // Rule 217: function_specifier ::= inline // - case 218: { action. consumeDeclaratorWithPointer(true); break; + case 217: { action. consumeToken(); break; } // - // Rule 223: basic_direct_declarator ::= declarator_id_name + // Rule 219: declarator ::= <openscope-ast> pointer_seq direct_declarator // - case 223: { action. consumeDirectDeclaratorIdentifier(); break; + case 219: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 224: basic_direct_declarator ::= ( declarator ) + // Rule 224: basic_direct_declarator ::= declarator_id_name // - case 224: { action. consumeDirectDeclaratorBracketed(); break; + case 224: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 225: declarator_id_name ::= identifier + // Rule 225: basic_direct_declarator ::= ( declarator ) // - case 225: { action. consumeIdentifierName(); break; + case 225: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 226: array_direct_declarator ::= basic_direct_declarator array_modifier + // Rule 226: declarator_id_name ::= identifier // - case 226: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 226: { action. consumeIdentifierName(); break; } // - // Rule 227: array_direct_declarator ::= array_direct_declarator array_modifier + // Rule 227: array_direct_declarator ::= basic_direct_declarator array_modifier // case 227: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 229: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list ) + // Rule 228: array_direct_declarator ::= array_direct_declarator array_modifier // - case 229: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; + case 228: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 230: function_direct_declarator ::= basic_direct_declarator ( ) + // Rule 230: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list ) // - case 230: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; + case 230: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; } // - // Rule 232: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator + // Rule 231: function_direct_declarator ::= basic_direct_declarator ( ) // - case 232: { action. consumeDeclaratorWithPointer(true); break; + case 231: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; } // - // Rule 233: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list ) + // Rule 233: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator // - case 233: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; + case 233: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 235: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator + // Rule 234: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list ) // - case 235: { action. consumeDeclaratorWithPointer(true); break; + case 234: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; } // - // Rule 236: identifier_list ::= identifier + // Rule 236: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator // - case 236: { action. consumeIdentifierKnR(); break; + case 236: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 237: identifier_list ::= identifier_list , identifier + // Rule 237: identifier_list ::= identifier // case 237: { action. consumeIdentifierKnR(); break; } // - // Rule 238: array_modifier ::= [ ] + // Rule 238: identifier_list ::= identifier_list , identifier // - case 238: { action. consumeDirectDeclaratorArrayModifier(false); break; + case 238: { action. consumeIdentifierKnR(); break; } // - // Rule 239: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ] + // Rule 239: array_modifier ::= [ ] // - case 239: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break; + case 239: { action. consumeDirectDeclaratorArrayModifier(false); break; } // - // Rule 240: array_modifier ::= [ assignment_expression ] + // Rule 240: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ] // - case 240: { action. consumeDirectDeclaratorArrayModifier(true); break; + case 240: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break; } // - // Rule 241: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ] + // Rule 241: array_modifier ::= [ assignment_expression ] // - case 241: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break; + case 241: { action. consumeDirectDeclaratorArrayModifier(true); break; } // - // Rule 242: array_modifier ::= [ static assignment_expression ] + // Rule 242: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ] // - case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break; + case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break; } // - // Rule 243: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ] + // Rule 243: array_modifier ::= [ static assignment_expression ] // - case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; + case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break; } // - // Rule 244: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ] + // Rule 244: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ] // case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; } // - // Rule 245: array_modifier ::= [ * ] + // Rule 245: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ] // - case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break; + case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; } // - // Rule 246: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ] + // Rule 246: array_modifier ::= [ * ] // - case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break; + case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break; } // - // Rule 248: pointer_seq ::= pointer_hook * pointer_hook + // Rule 247: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ] // - case 248: { action. consumePointer(); break; + case 247: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break; } // - // Rule 249: pointer_seq ::= pointer_seq pointer_hook * pointer_hook + // Rule 249: pointer_seq ::= pointer_hook * pointer_hook // case 249: { action. consumePointer(); break; } // - // Rule 250: pointer_seq ::= pointer_hook * pointer_hook <openscope-ast> type_qualifier_list + // Rule 250: pointer_seq ::= pointer_seq pointer_hook * pointer_hook // - case 250: { action. consumePointerTypeQualifierList(); break; + case 250: { action. consumePointer(); break; } // - // Rule 251: pointer_seq ::= pointer_seq pointer_hook * pointer_hook <openscope-ast> type_qualifier_list + // Rule 251: pointer_seq ::= pointer_hook * pointer_hook <openscope-ast> type_qualifier_list // case 251: { action. consumePointerTypeQualifierList(); break; } // - // Rule 255: parameter_type_list ::= parameter_list + // Rule 252: pointer_seq ::= pointer_seq pointer_hook * pointer_hook <openscope-ast> type_qualifier_list // - case 255: { action. consumeEmpty(); break; + case 252: { action. consumePointerTypeQualifierList(); break; } // - // Rule 256: parameter_type_list ::= parameter_list , ... + // Rule 256: parameter_type_list ::= parameter_list // - case 256: { action. consumePlaceHolder(); break; + case 256: { action. consumeEmpty(); break; } // - // Rule 257: parameter_type_list ::= ... + // Rule 257: parameter_type_list ::= parameter_list , ... // case 257: { action. consumePlaceHolder(); break; } // - // Rule 260: parameter_declaration ::= declaration_specifiers complete_parameter_declarator + // Rule 258: parameter_type_list ::= ... // - case 260: { action. consumeParameterDeclaration(); break; + case 258: { action. consumePlaceHolder(); break; } // - // Rule 261: parameter_declaration ::= declaration_specifiers + // Rule 261: parameter_declaration ::= declaration_specifiers complete_parameter_declarator // - case 261: { action. consumeParameterDeclarationWithoutDeclarator(); break; + case 261: { action. consumeParameterDeclaration(); break; } // - // Rule 264: type_id ::= specifier_qualifier_list + // Rule 262: parameter_declaration ::= declaration_specifiers // - case 264: { action. consumeTypeId(false); break; + case 262: { action. consumeParameterDeclarationWithoutDeclarator(); break; } // - // Rule 265: type_id ::= specifier_qualifier_list abstract_declarator + // Rule 265: type_id ::= specifier_qualifier_list // - case 265: { action. consumeTypeId(true); break; + case 265: { action. consumeTypeId(false); break; } // - // Rule 267: abstract_declarator ::= <openscope-ast> pointer_seq + // Rule 266: type_id ::= specifier_qualifier_list abstract_declarator // - case 267: { action. consumeDeclaratorWithPointer(false); break; + case 266: { action. consumeTypeId(true); break; } // - // Rule 268: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator + // Rule 268: abstract_declarator ::= <openscope-ast> pointer_seq // - case 268: { action. consumeDeclaratorWithPointer(true); break; + case 268: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 272: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 269: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator // - case 272: { action. consumeDirectDeclaratorBracketed(); break; + case 269: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 273: array_direct_abstract_declarator ::= array_modifier + // Rule 273: basic_direct_abstract_declarator ::= ( abstract_declarator ) // - case 273: { action. consumeDirectDeclaratorArrayDeclarator(false); break; + case 273: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 274: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier + // Rule 274: array_direct_abstract_declarator ::= array_modifier // - case 274: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 274: { action. consumeDirectDeclaratorArrayDeclarator(false); break; } // - // Rule 275: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier + // Rule 275: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier // case 275: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 276: function_direct_abstract_declarator ::= ( ) + // Rule 276: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier // - case 276: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break; + case 276: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + } + + // + // Rule 277: function_direct_abstract_declarator ::= ( ) + // + case 277: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break; } // - // Rule 277: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( ) + // Rule 278: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( ) // - case 277: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; + case 278: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; } // - // Rule 278: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list ) + // Rule 279: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list ) // - case 278: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break; + case 279: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break; } // - // Rule 279: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list ) + // Rule 280: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list ) // - case 279: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; + case 280: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; } // - // Rule 280: initializer ::= assignment_expression + // Rule 281: initializer ::= assignment_expression // - case 280: { action. consumeInitializer(); break; + case 281: { action. consumeInitializer(); break; } // - // Rule 282: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq comma_opt } end_initializer_list + // Rule 283: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq comma_opt } end_initializer_list // - case 282: { action. consumeInitializerList(); break; + case 283: { action. consumeInitializerList(); break; } // - // Rule 283: initializer_list ::= { <openscope-ast> } + // Rule 284: initializer_list ::= { <openscope-ast> } // - case 283: { action. consumeInitializerList(); break; + case 284: { action. consumeInitializerList(); break; } // - // Rule 284: start_initializer_list ::= $Empty + // Rule 285: start_initializer_list ::= $Empty // - case 284: { action. initializerListStart(); break; + case 285: { action. initializerListStart(); break; } // - // Rule 285: end_initializer_list ::= $Empty + // Rule 286: end_initializer_list ::= $Empty // - case 285: { action. initializerListEnd(); break; + case 286: { action. initializerListEnd(); break; } // - // Rule 290: designated_initializer ::= <openscope-ast> designation = initializer + // Rule 291: designated_initializer ::= <openscope-ast> designation = initializer // - case 290: { action. consumeInitializerDesignated(); break; + case 291: { action. consumeInitializerDesignated(); break; } // - // Rule 294: designator_base ::= [ constant_expression ] + // Rule 295: designator_base ::= [ constant_expression ] // - case 294: { action. consumeDesignatorArray(); break; + case 295: { action. consumeDesignatorArray(); break; } // - // Rule 295: designator_base ::= . identifier_token + // Rule 296: designator_base ::= . identifier_token // - case 295: { action. consumeDesignatorField(); break; + case 296: { action. consumeDesignatorField(); break; } // - // Rule 296: designator ::= [ constant_expression ] + // Rule 297: designator ::= [ constant_expression ] // - case 296: { action. consumeDesignatorArray(); break; + case 297: { action. consumeDesignatorArray(); break; } // - // Rule 297: designator ::= . identifier_token + // Rule 298: designator ::= . identifier_token // - case 297: { action. consumeDesignatorField(); break; + case 298: { action. consumeDesignatorField(); break; } // - // Rule 298: translation_unit ::= external_declaration_list + // Rule 299: translation_unit ::= external_declaration_list // - case 298: { action. consumeTranslationUnit(); break; + case 299: { action. consumeTranslationUnit(); break; } // - // Rule 299: translation_unit ::= $Empty + // Rule 300: translation_unit ::= $Empty // - case 299: { action. consumeTranslationUnit(); break; + case 300: { action. consumeTranslationUnit(); break; } // - // Rule 304: external_declaration ::= ; + // Rule 305: external_declaration ::= ; // - case 304: { action. consumeDeclarationEmpty(); break; + case 305: { action. consumeDeclarationEmpty(); break; } // - // Rule 305: external_declaration ::= ERROR_TOKEN + // Rule 306: external_declaration ::= ERROR_TOKEN // - case 305: { action. consumeDeclarationProblem(); break; + case 306: { action. consumeDeclarationProblem(); break; } // - // Rule 309: function_definition ::= <openscope-ast> function_declarator function_body + // Rule 310: function_definition ::= <openscope-ast> function_declarator function_body // - case 309: { action. consumeFunctionDefinition(false); break; + case 310: { action. consumeFunctionDefinition(false); break; } // - // Rule 310: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement + // Rule 311: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement // - case 310: { action. consumeFunctionDefinitionKnR(); break; + case 311: { action. consumeFunctionDefinitionKnR(); break; } // - // Rule 311: normal_function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body + // Rule 312: normal_function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body // - case 311: { action. consumeFunctionDefinition(true); break; + case 312: { action. consumeFunctionDefinition(true); break; } // - // Rule 312: function_body ::= { } + // Rule 313: function_body ::= { } // - case 312: { action. consumeStatementCompoundStatement(false); break; + case 313: { action. consumeStatementCompoundStatement(false); break; } // - // Rule 313: function_body ::= { <openscope-ast> block_item_list } + // Rule 314: function_body ::= { <openscope-ast> block_item_list } // - case 313: { action. consumeStatementCompoundStatement(true); break; + case 314: { action. consumeStatementCompoundStatement(true); break; } // - // Rule 315: no_sizeof_type_id_start ::= ERROR_TOKEN + // Rule 316: no_sizeof_type_id_start ::= ERROR_TOKEN // - case 315: { action. consumeEmpty(); break; + case 316: { action. consumeEmpty(); 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 34a74ba272e..8088f65c433 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 @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 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 @@ -45,171 +45,171 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 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, + 2,5,7,5,1,0,7,2,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,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,3,4,5, - 6,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, - 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,1,3,6, - 4,2,4,1,1,-36,0,0,0,0, - 0,0,0,0,0,0,-2,0,0,0, - 0,0,0,0,0,0,0,0,-4,-156, - -115,0,-14,0,0,0,0,-72,0,0, + 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,3,4, + 5,6,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,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,1,3, + 6,4,2,4,1,1,-36,0,0,0, + 0,0,0,0,0,0,0,-2,0,0, + 0,0,0,0,0,0,0,0,0,-4, + -156,-115,0,-14,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, - -167,0,-29,0,-104,0,0,0,0,-80, - 0,0,-116,0,-16,0,-17,0,0,0, - 0,0,0,0,-138,0,0,0,0,0, + 0,-167,0,-29,0,-104,0,0,0,0, + -80,0,0,-116,0,-16,0,-17,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,0,-174,0,0,0,0, + 0,0,0,0,0,0,-174,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-178,0,-128,-78,0,0,-48,0,0, + 0,0,-178,0,-128,-78,0,0,-48,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-30,0,0,0,-18,0,-42,0, + 0,0,0,-30,0,0,0,-18,0,-42, 0,0,0,0,0,0,0,0,0,0, - 0,-6,0,0,0,0,0,0,0,0, - -189,0,0,0,0,0,0,0,0,0, + 0,0,-6,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,-3,0,0,0,0,0,0,0,0, - 0,0,-19,0,0,0,0,0,0,0, - 0,0,0,0,-117,0,0,-118,0,-119, - 0,0,0,-43,0,0,0,0,0,0, - 0,0,0,0,0,-108,0,0,0,0, + 0,0,-3,0,0,0,0,0,0,0, + 0,0,0,-19,0,0,0,0,0,0, + 0,0,0,0,0,-117,0,0,-118,0, + -119,0,0,0,-43,0,0,0,0,0, + 0,0,0,0,0,0,-108,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,-127,0,0,0,0,0, - 0,0,0,0,0,-81,0,0,0,0, - 0,0,0,0,0,-131,0,-158,0,-55, + 0,0,0,0,0,0,0,-5,0,0, + 0,0,0,0,0,-127,0,0,0,0, + 0,0,0,0,0,0,-81,0,0,0, + 0,0,0,0,0,0,-131,0,-158,0, + -55,0,0,0,0,0,0,0,0,0, + 0,-122,0,0,0,0,0,0,0,0, + 0,-20,0,-21,0,0,0,0,-27,0, + 0,0,0,0,0,0,0,0,0,-22, 0,0,0,0,0,0,0,0,0,0, - -122,0,0,0,0,0,0,0,0,0, - -20,0,-21,0,0,0,0,-27,0,0, - 0,0,0,0,0,0,0,0,-22,0, + 0,-23,0,-188,0,-24,0,0,0,0, + -74,0,-12,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, - -23,0,-188,0,-24,0,0,0,0,-74, - 0,-12,0,0,0,0,0,0,0,0, - 0,0,0,0,-56,0,0,0,0,0, + 0,0,0,0,0,0,-57,0,0,0, + 0,0,0,0,0,0,0,-25,0,0, + 0,0,0,0,0,0,0,-58,0,0, + 0,0,0,0,0,0,0,0,-26,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,-57,0,0,0,0, - 0,0,0,0,0,0,-25,0,0,0, - 0,0,0,0,0,0,-58,0,0,0, - 0,0,0,0,0,0,0,-26,0,0, - 0,0,0,0,0,0,0,-59,0,0, + 0,0,0,0,0,0,0,0,0,-60, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-60,0, - 0,0,0,0,0,0,0,0,0,-86, - 0,0,0,0,0,0,0,0,0,-61, + -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,-120,0,0,0, + 0,0,0,0,0,0,0,-93,0,0, + 0,0,0,0,0,0,0,-141,0,0, + 0,0,0,0,0,0,0,0,-94,0, + 0,0,0,0,0,0,0,0,-142,0, + 0,0,0,0,0,0,0,0,0,-95, + 0,0,0,0,0,0,0,0,0,-177, 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,-120,0,0,0,0, - 0,0,0,0,0,0,-93,0,0,0, - 0,0,0,0,0,0,-141,0,0,0, - 0,0,0,0,0,0,0,-94,0,0, - 0,0,0,0,0,0,0,-142,0,0, - 0,0,0,0,0,0,0,0,-95,0, - 0,0,0,0,0,0,0,0,-177,0, - 0,0,0,0,0,0,0,0,0,-134, - 0,0,0,0,0,0,0,0,-186,0, - 0,0,0,0,0,0,0,0,0,-197, - 0,0,0,0,0,0,0,0,-13,0, - 0,0,0,0,0,0,-7,0,0,0, - 0,0,0,0,-192,0,0,0,0,0, + -134,0,0,0,0,0,0,0,0,-186, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-198,0,0,0,0,0, - 0,0,0,0,0,-135,0,0,0,0, - 0,0,0,0,-155,-96,0,-170,0,0, - -97,0,-70,0,0,0,0,0,0,0, - -206,0,0,0,0,0,0,0,0,0, + -197,0,0,0,0,0,0,0,0,-13, + 0,0,0,0,0,0,0,-7,0,0, + 0,0,0,0,0,-192,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -54,0,0,0,0,0,0,0,0,0, - 0,-130,0,0,0,0,0,0,0,-180, - -176,0,0,0,0,-75,0,0,-37,0, - 0,0,0,0,0,0,0,0,-98,-145, - 0,0,-110,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-200,-193,-124,0, - -187,0,0,0,0,0,-99,0,-100,0, - -146,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-31,0,-101,0,0,0, - 0,0,0,0,0,0,0,0,0,-184, - -102,-85,0,-33,0,0,-51,0,0,0, - 0,0,0,0,0,0,0,-121,0,0, - 0,0,0,0,0,-71,0,0,0,0, - 0,0,0,-52,0,0,0,0,0,0, - 0,0,0,0,-164,0,0,0,-137,-154, - 0,-34,0,-105,0,0,0,-183,0,0, - -67,0,0,0,0,-107,0,-123,0,-83, - 0,0,0,-140,0,0,0,0,0,0, + 0,0,0,0,0,-198,0,0,0,0, + 0,0,0,0,0,0,-135,0,0,0, + 0,0,0,0,0,-155,-96,0,-170,0, + 0,-97,0,-70,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,0,0,0,0,-38,0,0,0, - 0,0,0,0,0,0,-49,0,0,0, - 0,0,0,0,0,0,0,0,0,-50, + 0,-54,0,0,0,0,0,0,0,0, + 0,0,-130,0,0,0,0,0,0,0, + -180,-176,0,0,0,0,-75,0,0,-37, + 0,0,0,0,0,0,0,0,0,-98, + -145,0,0,-110,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-200,-193,-124, + 0,-187,0,0,0,0,0,-99,0,-100, + 0,-146,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-31,0,-101,0,0, 0,0,0,0,0,0,0,0,0,0, - -205,0,0,0,-153,0,-157,-68,0,0, - -132,0,-191,0,-136,0,-151,0,0,-44, + -184,-102,-85,0,-33,0,0,-51,0,0, + 0,0,0,0,0,0,0,0,-121,0, + 0,0,0,0,0,0,-71,0,0,0, + 0,0,0,0,-52,0,0,0,0,0, + 0,0,0,0,0,-164,0,0,0,-137, + -154,0,-34,0,-105,0,0,0,-183,0, + 0,-67,0,0,0,0,-107,0,-123,0, + -83,0,0,0,-140,0,0,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,0,0,-166,0,-45, + 0,0,0,0,0,0,0,-38,0,0, + 0,0,0,0,0,0,0,-49,0,0, 0,0,0,0,0,0,0,0,0,0, - -46,0,0,0,0,0,0,0,0,0, - -47,0,0,0,0,0,0,0,0,0, - -73,0,0,-76,-69,-109,0,-112,-139,-165, - -171,0,-111,0,0,0,0,0,0,0, - 0,-172,-175,0,0,0,0,-207,0,0, - 0,0,0,0,0,0,0,-199,-204,0, - -147,0,0,0,0,-144,0,0,0,0, + -50,0,0,0,0,0,0,0,0,0, + 0,-205,0,0,0,-153,0,-157,-68,0, + 0,-132,0,-191,0,-136,0,-151,0,0, + -44,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,-166,0, + -45,0,0,0,0,0,0,0,0,0, + 0,-46,0,0,0,0,0,0,0,0, + 0,-47,0,0,0,0,0,0,0,0, + 0,-73,0,0,-76,-69,-109,0,-112,-139, + -165,-171,0,-111,0,0,0,0,0,0, + 0,0,-172,-175,0,0,0,0,-207,0, + 0,0,0,0,0,0,0,0,-199,-204, + 0,-147,0,0,0,0,-144,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,-113,0,-40,0,0,0, - 0,0,0,0,-173,0,-103,-126,-143,-162, - 0,-41,0,0,0,0,0,0,0,0, - 0,0,-15,-129,-159,0,0,0,0,-28, - -32,0,0,0,0,-179,0,-160,-148,-190, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-185,0,-77,0,0,0,0, - 0,0,0,0,0,0,0,0,-79,0, - 0,0,-196,-82,0,0,0,0,0,-106, - -169,0,0,0,0,0,0,-84,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,-113,0,-40,0,0, + 0,0,0,0,0,-173,0,-103,-126,-143, + -162,0,-41,0,0,0,0,0,0,0, + 0,0,0,-15,-129,-159,0,0,0,0, + -28,-32,0,0,0,0,-179,0,-160,-148, + -190,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-185,0,-77,0,0,0, + 0,0,0,0,0,0,0,0,0,-79, + 0,0,0,-196,-82,0,0,0,0,0, + -106,-169,0,0,0,0,0,0,-84,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -125,0,0,-152,-181,0,0,0,0,-182, - 0,0,0,0,0,0,-133,0,0,-168, - 0,0,0,-150,-1,-114,-163,0,0,0, - 0,0,-53,0,0,0,0,0,0,-161, - -149,0,-202,0,0,0,0,0,0,0, - -203,0,0,0,0,0,0,-201,0,0, + 0,-125,0,0,-152,-181,0,0,0,0, + -182,0,0,0,0,0,0,-133,0,0, + -168,0,0,0,-150,-1,-114,-163,0,0, + 0,0,0,-53,0,0,0,0,0,0, + -161,-149,0,-202,0,0,0,0,0,0, + 0,-203,0,0,0,0,0,0,-201,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-194,0,0,-195,0, + 0,0,0,0,0,0,-194,0,0,-195, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0 + 0,0,0,0 }; }; public final static short baseCheck[] = BaseCheck.baseCheck; @@ -231,171 +231,171 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 88,72,72,47,104,104,104,104,104,104, 104,105,105,105,106,106,111,111,112,112, 107,107,108,108,108,114,114,109,109,109, - 109,110,110,110,110,110,113,113,25,25, - 25,25,25,28,28,28,78,78,73,73, - 73,73,74,74,74,75,75,75,76,76, - 76,77,77,77,115,115,116,116,117,29, - 31,31,31,31,31,53,54,54,54,54, - 54,54,54,54,54,54,54,54,63,60, - 60,89,90,65,65,61,61,61,66,79, - 79,80,80,67,67,67,49,91,91,81, - 82,82,82,62,62,92,83,83,84,84, - 68,68,21,22,22,22,30,48,48,32, - 32,32,32,35,35,37,33,33,34,38, - 38,118,118,36,119,119,93,93,26,26, - 26,26,26,26,26,26,26,85,50,50, - 50,50,27,56,56,55,55,55,57,57, - 51,51,94,94,71,71,58,58,58,41, - 41,41,42,43,43,43,44,44,44,44, - 64,64,46,46,52,96,95,95,95,95, - 86,97,98,98,99,99,100,100,120,120, - 121,121,122,122,122,122,124,124,123,123, - 123,125,126,126,87,87,1,780,17,21, - 18,343,738,44,387,385,523,31,467,633, - 631,661,649,717,665,74,91,134,212,15, - 668,329,990,607,136,133,135,159,275,20, - 17,21,18,343,738,44,387,385,523,1153, - 467,633,631,661,649,717,665,74,1426,138, - 165,692,238,360,31,50,142,145,148,151, - 421,445,1268,360,186,241,1228,194,339,1424, - 1586,1599,1604,1618,1212,441,20,17,21,18, - 343,738,44,387,385,523,340,467,633,631, - 661,649,717,665,74,280,336,20,17,21, - 18,343,738,44,387,385,523,340,467,633, - 631,661,649,717,665,74,280,1443,442,292, - 194,281,693,25,575,97,383,1264,489,20, - 17,21,18,343,42,44,387,385,523,286, - 467,969,281,360,31,254,212,12,1264,489, - 20,17,21,18,343,42,44,387,385,843, - 288,287,489,20,17,21,18,343,42,40, - 1075,465,20,17,21,18,343,738,44,387, - 385,523,289,467,633,631,661,649,717,665, - 74,280,489,20,17,21,18,343,738,44, - 387,385,523,30,467,633,631,661,649,717, - 665,74,91,24,341,360,185,281,576,1355, - 360,187,293,1264,489,20,17,21,18,343, - 42,44,387,385,864,290,537,20,17,21, - 18,343,738,44,387,385,523,1641,467,633, - 631,661,649,717,665,74,1538,513,20,17, - 21,18,343,41,339,299,20,17,21,18, - 343,738,44,387,385,523,446,467,633,631, - 661,649,717,665,74,1539,189,178,236,239, - 489,20,17,21,18,343,42,44,387,385, - 523,50,467,633,631,661,1211,134,212,253, - 212,580,395,63,136,133,135,159,489,20, - 17,21,18,343,738,44,387,385,523,219, - 467,633,631,661,649,717,665,74,92,138, - 165,313,535,282,1130,327,142,145,148,151, - 323,445,513,20,17,21,18,343,34,1424, - 1586,1599,1604,1618,1212,489,20,17,21,18, - 343,738,44,387,385,523,274,467,633,631, - 661,649,717,665,74,85,489,20,17,21, - 18,343,738,44,387,385,523,413,467,633, - 631,661,649,717,665,74,84,489,20,17, - 21,18,343,738,44,387,385,523,524,467, - 633,631,661,649,717,665,74,83,489,20, - 17,21,18,343,738,44,387,385,523,282, - 467,633,631,661,649,717,665,74,82,489, - 20,17,21,18,343,738,44,387,385,523, - 561,467,633,631,661,649,717,665,74,81, - 489,20,17,21,18,343,738,44,387,385, - 523,199,467,633,631,661,649,717,665,74, - 80,489,20,17,21,18,343,738,44,387, - 385,523,201,467,633,631,661,649,717,665, - 74,79,489,20,17,21,18,343,738,44, - 387,385,523,110,467,633,631,661,649,717, - 665,74,78,489,20,17,21,18,343,738, - 44,387,385,523,117,467,633,631,661,649, - 717,665,74,77,489,20,17,21,18,343, - 738,44,387,385,523,448,467,633,631,661, - 649,717,665,74,76,489,20,17,21,18, - 343,738,44,387,385,523,472,467,633,631, - 661,649,717,665,74,75,489,20,17,21, - 18,343,738,44,387,385,523,657,467,633, - 631,661,649,717,665,74,73,489,20,17, - 21,18,343,738,44,387,385,523,678,467, - 633,631,661,649,717,665,74,1555,489,20, - 17,21,18,343,738,44,387,385,523,200, - 467,633,631,661,649,717,665,74,1568,489, - 20,17,21,18,343,42,44,387,385,523, - 191,467,633,631,661,649,717,665,93,489, - 20,17,21,18,343,42,44,387,385,523, - 685,467,633,631,661,649,717,665,93,513, - 20,17,21,18,343,33,1570,489,20,17, - 21,18,343,42,39,489,20,17,21,18, - 343,42,44,387,385,523,211,467,633,631, - 661,649,717,665,93,489,20,17,21,18, - 343,42,44,387,385,523,50,467,633,631, - 661,649,717,665,93,394,57,1644,696,193, - 1357,104,1691,416,20,17,21,18,343,42, - 43,489,20,17,21,18,343,42,44,387, - 385,523,201,467,633,631,661,649,717,665, - 93,489,20,17,21,18,343,42,44,387, - 385,523,105,467,633,631,661,649,1197,28, - 648,360,295,1569,1535,1264,562,1584,202,489, - 20,17,21,18,343,42,44,801,273,650, - 207,254,212,236,217,1181,220,1461,222,223, - 228,1540,275,266,1136,670,271,701,676,59, - 262,360,1431,276,253,212,273,711,1698,6, - 263,718,217,1181,220,1461,222,223,228,254, - 212,266,1136,670,271,373,1284,429,1680,217, - 1181,220,1461,222,223,228,512,227,1428,444, - 696,246,189,178,397,1680,260,489,20,17, - 21,18,343,42,44,387,385,523,206,467, - 633,631,1149,134,212,89,59,1083,585,209, - 137,133,135,159,489,20,17,21,18,343, - 42,44,387,385,523,152,467,633,1177,50, - 542,1431,397,1276,400,139,165,283,305,1683, - 1260,397,143,146,149,152,715,445,717,1698, - 470,273,1278,1348,608,19,1610,218,1181,220, - 1461,222,223,228,1537,608,268,1136,670,271, - 217,1181,220,1461,222,223,228,489,20,17, - 21,18,343,42,44,822,1458,489,20,17, - 21,18,343,42,44,387,385,523,208,1076, - 489,20,17,21,18,343,42,44,387,385, - 523,305,1081,1078,1442,50,540,627,397,197, - 199,333,1698,360,297,716,1611,722,1566,1010, - 489,20,17,21,18,343,42,44,387,385, - 885,23,538,217,1181,220,1461,222,223,228, - 489,20,17,21,18,343,42,38,206,1458, - 489,20,17,21,18,343,42,44,387,385, - 906,489,20,17,21,18,343,42,44,387, - 927,489,20,17,21,18,343,42,44,387, - 948,675,198,199,232,281,281,179,397,59, - 50,58,1525,365,20,17,21,18,343,42, - 36,1650,698,144,276,134,212,273,706,22, - 240,272,141,133,135,159,1347,245,151,171, - 1764,689,266,1136,670,271,365,20,17,21, - 18,343,42,36,1764,1278,1764,140,165,1428, - 218,1181,220,1461,222,223,228,226,1764,1764, - 246,489,20,17,21,18,343,42,37,489, - 20,17,21,18,343,42,36,489,20,17, - 21,18,343,42,35,60,489,20,17,21, - 18,343,42,47,1764,544,1236,489,20,17, - 21,18,343,42,46,206,606,52,281,281, - 544,273,489,20,17,21,18,343,42,45, - 1122,606,1276,50,397,281,266,1136,670,271, - 50,50,242,241,316,1122,236,1276,281,59, - 281,316,512,265,663,1610,258,278,196,243, - 1554,1764,1351,28,206,196,604,253,212,1264, - 1255,258,244,87,294,1554,1276,1351,1262,613, - 87,87,1515,206,636,1262,1425,134,212,1515, - 324,542,1431,1764,144,133,135,159,645,1255, - 134,212,1168,203,1214,134,212,147,133,135, - 159,1271,150,133,135,159,273,1278,1764,134, - 212,236,180,1764,48,646,153,133,135,159, - 142,268,1136,670,271,606,606,454,1764,1764, - 95,606,253,212,397,389,497,497,606,196, - 1122,606,1764,50,1764,196,512,1657,1645,208, - 397,521,1122,206,512,196,1764,279,1764,277, - 230,281,606,371,1210,1442,258,444,59,371, - 1716,1764,1351,224,1764,87,1122,1764,258,371, - 314,191,1664,87,1351,296,397,191,1179,342, - 1764,1764,204,1388,1660,1276,937,192,1764,1603, - 1660,1764,259,1764,1764,1764,1764,1764,1719,229, - 1764,1764,233,1764,1764,1764,1764,1764,1448,1764, - 1764,1764,327,1764,0,20,178,0,1,1989, - 0,1,2000,0 + 109,109,110,110,110,110,110,113,113,25, + 25,25,25,25,28,28,28,78,78,73, + 73,73,73,74,74,74,75,75,75,76, + 76,76,77,77,77,115,115,116,116,117, + 29,31,31,31,31,31,53,54,54,54, + 54,54,54,54,54,54,54,54,54,63, + 60,60,89,90,65,65,61,61,61,66, + 79,79,80,80,67,67,67,49,91,91, + 81,82,82,82,62,62,92,83,83,84, + 84,68,68,21,22,22,22,30,48,48, + 32,32,32,32,35,35,37,33,33,34, + 38,38,118,118,36,119,119,93,93,26, + 26,26,26,26,26,26,26,26,85,50, + 50,50,50,27,56,56,55,55,55,57, + 57,51,51,94,94,71,71,58,58,58, + 41,41,41,42,43,43,43,44,44,44, + 44,64,64,46,46,52,96,95,95,95, + 95,86,97,98,98,99,99,100,100,120, + 120,121,121,122,122,122,122,124,124,123, + 123,123,125,126,126,87,87,1,781,17, + 21,18,344,739,44,388,386,524,31,468, + 634,632,662,650,718,666,74,91,135,213, + 15,668,329,991,607,137,134,136,160,275, + 20,17,21,18,344,739,44,388,386,524, + 1154,468,634,632,662,650,718,666,74,1427, + 139,166,692,239,360,31,50,143,146,149, + 152,421,446,1269,360,187,241,1229,194,340, + 1425,1587,1600,1605,1619,1213,441,20,17,21, + 18,344,739,44,388,386,524,341,468,634, + 632,662,650,718,666,74,281,336,20,17, + 21,18,344,739,44,388,386,524,341,468, + 634,632,662,650,718,666,74,281,1444,443, + 293,195,282,693,25,575,97,384,1265,489, + 20,17,21,18,344,42,44,388,386,524, + 287,468,970,282,360,31,255,213,12,1265, + 489,20,17,21,18,344,42,44,388,386, + 844,289,288,489,20,17,21,18,344,42, + 40,1076,465,20,17,21,18,344,739,44, + 388,386,524,290,468,634,632,662,650,718, + 666,74,281,489,20,17,21,18,344,739, + 44,388,386,524,30,468,634,632,662,650, + 718,666,74,91,24,342,360,186,282,576, + 1356,360,188,294,1265,489,20,17,21,18, + 344,42,44,388,386,865,291,537,20,17, + 21,18,344,739,44,388,386,524,1642,468, + 634,632,662,650,718,666,74,1539,513,20, + 17,21,18,344,41,340,299,20,17,21, + 18,344,739,44,388,386,524,446,468,634, + 632,662,650,718,666,74,1540,189,179,236, + 240,489,20,17,21,18,344,42,44,388, + 386,524,50,468,634,632,662,1212,135,213, + 254,213,580,396,63,137,134,136,160,489, + 20,17,21,18,344,739,44,388,386,524, + 219,468,634,632,662,650,718,666,74,92, + 139,166,313,536,282,1131,327,143,146,149, + 152,323,446,513,20,17,21,18,344,34, + 1425,1587,1600,1605,1619,1213,489,20,17,21, + 18,344,739,44,388,386,524,275,468,634, + 632,662,650,718,666,74,85,489,20,17, + 21,18,344,739,44,388,386,524,413,468, + 634,632,662,650,718,666,74,84,489,20, + 17,21,18,344,739,44,388,386,524,524, + 468,634,632,662,650,718,666,74,83,489, + 20,17,21,18,344,739,44,388,386,524, + 283,468,634,632,662,650,718,666,74,82, + 489,20,17,21,18,344,739,44,388,386, + 524,561,468,634,632,662,650,718,666,74, + 81,489,20,17,21,18,344,739,44,388, + 386,524,199,468,634,632,662,650,718,666, + 74,80,489,20,17,21,18,344,739,44, + 388,386,524,201,468,634,632,662,650,718, + 666,74,79,489,20,17,21,18,344,739, + 44,388,386,524,110,468,634,632,662,650, + 718,666,74,78,489,20,17,21,18,344, + 739,44,388,386,524,117,468,634,632,662, + 650,718,666,74,77,489,20,17,21,18, + 344,739,44,388,386,524,448,468,634,632, + 662,650,718,666,74,76,489,20,17,21, + 18,344,739,44,388,386,524,472,468,634, + 632,662,650,718,666,74,75,489,20,17, + 21,18,344,739,44,388,386,524,657,468, + 634,632,662,650,718,666,74,73,489,20, + 17,21,18,344,739,44,388,386,524,678, + 468,634,632,662,650,718,666,74,1556,489, + 20,17,21,18,344,739,44,388,386,524, + 200,468,634,632,662,650,718,666,74,1569, + 489,20,17,21,18,344,42,44,388,386, + 524,191,468,634,632,662,650,718,666,93, + 489,20,17,21,18,344,42,44,388,386, + 524,685,468,634,632,662,650,718,666,93, + 513,20,17,21,18,344,33,1571,489,20, + 17,21,18,344,42,39,489,20,17,21, + 18,344,42,44,388,386,524,212,468,634, + 632,662,650,718,666,93,489,20,17,21, + 18,344,42,44,388,386,524,50,468,634, + 632,662,650,718,666,93,394,57,1645,696, + 194,1358,104,1692,416,20,17,21,18,344, + 42,43,489,20,17,21,18,344,42,44, + 388,386,524,202,468,634,632,662,650,718, + 666,93,489,20,17,21,18,344,42,44, + 388,386,524,105,468,634,632,662,650,1198, + 28,648,360,296,1570,1536,1265,562,1585,203, + 489,20,17,21,18,344,42,44,802,274, + 650,207,255,213,236,218,1182,221,1462,223, + 224,229,1541,276,267,1137,671,272,701,676, + 59,263,360,1432,277,254,213,274,711,1699, + 6,264,718,218,1182,221,1462,223,224,229, + 255,213,267,1137,671,272,373,1285,429,1681, + 218,1182,221,1462,223,224,229,513,228,1429, + 445,696,246,189,179,397,1681,261,489,20, + 17,21,18,344,42,44,388,386,524,206, + 468,634,632,1150,135,213,89,59,1084,586, + 210,138,134,136,160,489,20,17,21,18, + 344,42,44,388,386,524,152,468,634,1178, + 50,542,1432,397,1277,400,140,166,284,305, + 1684,1261,397,144,147,150,153,715,446,717, + 1699,470,274,1279,1349,608,19,1611,219,1182, + 221,1462,223,224,229,1538,609,269,1137,671, + 272,218,1182,221,1462,223,224,229,489,20, + 17,21,18,344,42,44,823,1459,489,20, + 17,21,18,344,42,44,388,386,524,209, + 1077,489,20,17,21,18,344,42,44,388, + 386,524,305,1082,1079,1443,50,541,627,397, + 198,200,333,1699,360,298,716,1612,722,1567, + 1011,489,20,17,21,18,344,42,44,388, + 386,886,23,539,218,1182,221,1462,223,224, + 229,489,20,17,21,18,344,42,38,206, + 1459,489,20,17,21,18,344,42,44,388, + 386,907,489,20,17,21,18,344,42,44, + 388,928,489,20,17,21,18,344,42,44, + 388,949,675,199,200,232,281,281,180,397, + 59,50,58,1526,365,20,17,21,18,344, + 42,36,1651,698,144,277,135,213,274,706, + 22,241,273,142,134,136,160,1348,246,151, + 171,1765,689,267,1137,671,272,365,20,17, + 21,18,344,42,36,1765,1279,1765,141,166, + 1429,219,1182,221,1462,223,224,229,227,1765, + 1765,247,489,20,17,21,18,344,42,37, + 489,20,17,21,18,344,42,36,489,20, + 17,21,18,344,42,35,60,489,20,17, + 21,18,344,42,47,1765,544,1237,489,20, + 17,21,18,344,42,46,206,607,52,281, + 281,544,274,489,20,17,21,18,344,42, + 45,1123,607,1277,50,397,281,267,1137,671, + 272,50,50,243,242,317,1123,236,1277,281, + 59,281,317,513,266,664,1611,259,279,197, + 244,1555,1765,1352,28,206,197,604,254,213, + 1265,1256,259,245,87,295,1555,1277,1352,1263, + 613,87,87,1516,206,636,1263,1426,135,213, + 1516,324,542,1432,1765,145,134,136,160,645, + 1256,135,213,1169,204,1215,135,213,148,134, + 136,160,1272,151,134,136,160,274,1279,1765, + 135,213,236,181,1765,48,646,154,134,136, + 160,142,269,1137,671,272,607,607,454,1765, + 1765,95,607,254,213,397,389,497,497,607, + 197,1123,607,1765,50,1765,197,513,1658,1646, + 209,397,521,1123,206,513,197,1765,280,1765, + 278,231,281,607,372,1211,1443,259,445,59, + 372,1717,1765,1352,225,1765,87,1123,1765,259, + 372,315,192,1665,87,1352,297,397,192,1180, + 342,1765,1765,205,1389,1661,1277,938,193,1765, + 1604,1661,1765,260,1765,1765,1765,1765,1765,1720, + 230,1765,1765,234,1765,1765,1765,1765,1765,1449, + 1765,1765,1765,328,1765,0,20,179,0,1, + 1991,0,1,2002,0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -495,82 +495,82 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface TermAction { public final static char termAction[] = {0, - 1764,1775,1553,1776,1499,1764,1977,1978,1979,1491, - 1380,59,1507,1926,88,1019,672,577,1777,1778, - 1779,1780,1027,482,1927,1925,1980,1928,1924,54, - 1764,1931,1936,1935,1933,1934,1932,1937,1938,1930, - 1939,1940,1941,638,1280,596,380,1764,1,1, - 1,1764,190,1,1,1,61,210,252,264, - 1,1421,62,1,916,2773,1390,1360,544,469, - 348,1,1,1,1,1,1401,1411,1,1, + 1765,1776,1554,1777,1500,1765,1979,1980,1981,1492, + 1381,59,1508,1928,88,1020,673,578,1778,1779, + 1780,1781,1028,483,1929,1927,1982,1930,1926,54, + 1765,1933,1938,1937,1935,1936,1934,1939,1940,1932, + 1941,1942,1943,639,1281,597,381,1765,1,1, + 1,1765,191,1,1,1,61,211,253,265, + 1,1422,62,1,917,2775,1391,1361,545,470, + 349,1,1,1,1,1,1402,1412,1,1, 1,1,1,1,1,1,1,1,1,1, - 190,1,1,1,1764,1,181,1,1959,189, - 1,1,1,60,261,1989,1150,1,1,58, - 1754,1390,1360,544,469,348,57,999,1,1, - 1,1,1,1330,1317,1,1,1,1,1, - 1,1,1,1,1,1,1,189,1,1, - 1,1764,1,1764,1,1959,190,1,1,1, - 200,267,1989,1150,1,252,1401,1411,1390,1360, - 544,469,348,1401,1411,1,1,1,1,1, - 1764,2001,1,1,1,1,1,1,1,1, - 1,1,1,1,190,1,1,1,1764,1775, - 182,1776,1959,48,1977,1978,1979,1542,50,63, - 49,1926,1542,491,1542,1764,1,1758,1150,1091, - 1772,1770,1927,1925,1980,1928,1924,348,68,1931, - 1936,1935,1933,1934,1932,1937,1938,1930,1939,1940, - 1941,128,1280,596,380,1764,1769,1977,1978,1979, - 51,1977,1978,1979,1926,69,1527,1516,1771,1307, - 1139,1527,1516,1527,1516,1927,1925,1980,1928,1924, - 1330,1317,1931,1936,1935,1933,1934,1932,1937,1938, - 1930,1939,1940,1941,1,1775,1553,1776,1433,1768, - 1764,285,1217,1491,1380,1768,1507,556,1764,1019, - 672,577,1777,1778,1779,1780,1027,482,1764,1775, - 1553,1776,1466,1768,1,1989,1167,1491,1380,1217, - 1507,958,66,1019,672,577,1777,1778,1779,1780, - 1027,482,270,267,1767,1421,72,252,1764,1775, - 1767,1776,255,348,348,1,1775,1553,1776,1499, - 29,1764,1066,1764,1491,1380,1770,1507,1767,2773, - 1019,672,577,1777,1778,1779,1780,1027,482,1764, - 1775,1681,1776,1055,1764,1775,1553,1776,1499,1768, - 1459,1769,1,1491,1380,1244,1507,90,29,1019, - 672,577,1777,1778,1779,1780,1027,482,1764,1, - 1,1,1,30,1111,1673,1764,1,1,1764, - 1,1770,90,1,1,1,1,1,1,1, - 1,1,70,621,1767,1764,1775,1553,1776,1499, - 184,2803,416,2803,1491,1380,1769,1507,71,2773, - 1019,672,577,1777,1778,1779,1780,1027,482,2079, - 1,1775,1553,1776,1499,183,2805,56,2805,1491, - 1380,1764,1507,1,2773,1019,672,577,1777,1778, - 1779,1780,1027,482,1764,1775,1553,1776,1499,205, - 2807,55,2807,1491,1380,1764,1507,610,2773,1019, - 672,577,1777,1778,1779,1780,1027,482,1764,1775, - 1553,1776,1499,610,1401,1411,1,1491,1380,1764, - 1507,1770,2021,1019,672,577,1777,1778,1779,1780, - 1027,482,1764,1775,1560,1776,1499,1764,1401,1411, - 1,1491,1380,42,1507,1764,1769,1019,672,577, - 1777,1778,1779,1780,1027,482,1,1775,1553,1776, - 1499,207,1775,1,1776,1491,1380,252,1507,1764, - 1764,1019,672,577,1777,1778,1779,1780,1027,482, - 20,269,1755,1666,1755,1755,178,178,178,2020, - 1764,1755,348,178,247,1764,1775,1764,1776,64, - 1977,1978,1979,895,178,178,178,178,178,1259, - 1755,448,2021,874,853,832,811,790,748,769, - 727,706,685,129,1764,1764,32,248,1195,1977, - 1978,1979,130,1,1,1,1926,1561,1977,1978, - 1979,1790,1791,1764,1764,1926,249,1927,1925,1980, - 1928,1924,1,1,1,131,1927,1925,1980,1928, - 1924,1977,1978,1979,132,1,1761,250,1926,67, - 1977,1978,1979,1977,1978,1979,53,1926,463,1927, - 1925,1980,1928,1924,1764,1307,1139,1764,1927,1925, - 1980,1928,1924,373,1,251,1421,52,979,1770, - 1764,1977,1978,1979,1764,348,1307,1139,221,1774, - 1667,1,291,284,2021,30,1774,206,375,348, - 1,1989,1167,1035,1769,252,1989,1167,206,1171, - 65,1171,1244,1341,1764,1764,1764,219,1169,1131, - 1429,1764,448,188,1793,188,2788,188,348,1345, - 1764,1764,1764,1764,1764,1430,375,184,1764,183, - 1764,205,1764,1764,1353,1764,1764,1764,1764,1764, - 1773,1764,1764,1764,1764,1764,1764,1773 + 191,1,1,1,1765,1,182,1,1961,190, + 1,1,1,60,262,1991,1151,1,1,58, + 1755,1391,1361,545,470,349,57,1000,1,1, + 1,1,1,1331,1318,1,1,1,1,1, + 1,1,1,1,1,1,1,190,1,1, + 1,1765,1,1765,1,1961,191,1,1,1, + 201,268,1991,1151,1,253,1402,1412,1391,1361, + 545,470,349,1402,1412,1,1,1,1,1, + 1765,2003,1,1,1,1,1,1,1,1, + 1,1,1,1,191,1,1,1,1765,1776, + 183,1777,1961,48,1979,1980,1981,1543,50,63, + 49,1928,1543,492,1543,1765,1,1759,1151,1092, + 1773,1771,1929,1927,1982,1930,1926,349,68,1933, + 1938,1937,1935,1936,1934,1939,1940,1932,1941,1942, + 1943,129,1281,597,381,1765,1770,1979,1980,1981, + 51,1979,1980,1981,1928,69,1528,1517,1772,1308, + 1140,1528,1517,1528,1517,1929,1927,1982,1930,1926, + 1331,1318,1933,1938,1937,1935,1936,1934,1939,1940, + 1932,1941,1942,1943,1,1776,1554,1777,1434,1769, + 1765,286,1218,1492,1381,1769,1508,557,1765,1020, + 673,578,1778,1779,1780,1781,1028,483,1765,1776, + 1554,1777,1467,1769,1,1991,1168,1492,1381,1218, + 1508,959,66,1020,673,578,1778,1779,1780,1781, + 1028,483,271,268,1768,1422,72,253,1765,1776, + 1768,1777,256,349,349,1,1776,1554,1777,1500, + 29,1765,1067,1765,1492,1381,1771,1508,1768,2775, + 1020,673,578,1778,1779,1780,1781,1028,483,1765, + 1776,1682,1777,1056,1765,1776,1554,1777,1500,1769, + 1460,1770,1,1492,1381,1245,1508,90,29,1020, + 673,578,1778,1779,1780,1781,1028,483,1765,1, + 1,1,1,30,1112,1674,1765,1,1,1765, + 1,1771,90,1,1,1,1,1,1,1, + 1,1,70,622,1768,1765,1776,1554,1777,1500, + 185,2805,417,2805,1492,1381,1770,1508,71,2775, + 1020,673,578,1778,1779,1780,1781,1028,483,2081, + 1,1776,1554,1777,1500,184,2807,56,2807,1492, + 1381,1765,1508,1,2775,1020,673,578,1778,1779, + 1780,1781,1028,483,1765,1776,1554,1777,1500,206, + 2809,55,2809,1492,1381,1765,1508,611,2775,1020, + 673,578,1778,1779,1780,1781,1028,483,1765,1776, + 1554,1777,1500,611,1402,1412,1,1492,1381,1765, + 1508,1771,2023,1020,673,578,1778,1779,1780,1781, + 1028,483,1765,1776,1561,1777,1500,1765,1402,1412, + 1,1492,1381,42,1508,1765,1770,1020,673,578, + 1778,1779,1780,1781,1028,483,1,1776,1554,1777, + 1500,208,1776,1,1777,1492,1381,253,1508,1765, + 1765,1020,673,578,1778,1779,1780,1781,1028,483, + 20,270,1756,1667,1756,1756,179,179,179,2022, + 1765,1756,349,179,248,1765,1776,1765,1777,64, + 1979,1980,1981,896,179,179,179,179,179,1260, + 1756,449,2023,875,854,833,812,791,749,770, + 728,707,686,130,1765,1765,32,249,1196,1979, + 1980,1981,131,1,1,1,1928,1562,1979,1980, + 1981,1791,1792,1765,1765,1928,250,1929,1927,1982, + 1930,1926,1,1,1,132,1929,1927,1982,1930, + 1926,1979,1980,1981,133,1,1762,251,1928,67, + 1979,1980,1981,1979,1980,1981,53,1928,464,1929, + 1927,1982,1930,1926,1765,1308,1140,1765,1929,1927, + 1982,1930,1926,374,1,252,1422,52,980,1771, + 1765,1979,1980,1981,1765,349,1308,1140,222,1775, + 1668,1,292,285,2023,30,1775,207,376,349, + 1,1991,1168,1036,1770,253,1991,1168,207,1172, + 65,1172,1245,1342,1765,1765,1765,220,1170,1132, + 1430,1765,449,189,1794,189,2790,189,349,1346, + 1765,1765,1765,1765,1765,1431,376,185,1765,184, + 1765,206,1765,1765,1354,1765,1765,1765,1765,1765, + 1774,1765,1765,1765,1765,1765,1765,1774 }; }; public final static char termAction[] = TermAction.termAction; @@ -818,16 +818,16 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeState { public final static char scopeState[] = {0, - 442,0,340,0,1650,1660,1644,0,1448,1341, - 1167,1268,1255,1150,1122,0,491,416,395,1537, - 1083,0,606,1212,316,0,1461,1181,1136,670, - 1255,1150,1122,1610,1421,1515,0,1019,672,577, - 1466,1433,1083,610,1111,1244,1217,1330,1317,448, - 1411,1401,1390,1360,544,469,1542,1527,1516,1307, - 1139,1507,1499,1491,1380,1027,482,1091,1055,1035, - 491,999,979,958,937,585,916,556,348,895, - 874,853,832,811,790,769,748,727,706,685, - 316,638,512,416,395,0 + 443,0,341,0,1651,1661,1645,0,1449,1342, + 1168,1269,1256,1151,1123,0,492,417,396,1538, + 1084,0,607,1213,317,0,1462,1182,1137,671, + 1256,1151,1123,1611,1422,1516,0,1020,673,578, + 1467,1434,1084,611,1112,1245,1218,1331,1318,449, + 1412,1402,1391,1361,545,470,1543,1528,1517,1308, + 1140,1508,1500,1492,1381,1028,483,1092,1056,1036, + 492,1000,980,959,938,586,917,557,349,896, + 875,854,833,812,791,770,749,728,707,686, + 317,639,513,417,396,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -1053,18 +1053,18 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public final static int NUM_STATES = 207, NT_OFFSET = 93, - LA_STATE_OFFSET = 2079, + LA_STATE_OFFSET = 2081, MAX_LA = 2, - NUM_RULES = 315, + NUM_RULES = 316, NUM_NONTERMINALS = 126, NUM_SYMBOLS = 219, SEGMENT_SIZE = 8192, - START_STATE = 1665, + START_STATE = 1666, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 80, EOLT_SYMBOL = 80, - ACCEPT_ACTION = 1754, - ERROR_ACTION = 1764; + ACCEPT_ACTION = 1755, + ERROR_ACTION = 1765; 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 eefc6ac8588..835fb2ab217 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 @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 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 diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParser.java index 76587bf2867..91134452ccf 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParser.java @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 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 @@ -1003,925 +1003,937 @@ public CPPExpressionParser(ITokenStream stream, Map<String,String> properties) { // // Rule 193: iteration_statement ::= do statement while ( expression ) ; // - case 193: { action. consumeStatementDoLoop(); break; + case 193: { action. consumeStatementDoLoop(true); break; } // - // Rule 194: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement + // Rule 194: iteration_statement ::= do statement // - case 194: { action. consumeStatementForLoop(); break; + case 194: { action. consumeStatementDoLoop(false); break; } // - // Rule 196: for_init_statement ::= simple_declaration_with_declspec + // Rule 195: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement // - case 196: { action. consumeStatementDeclaration(); break; + case 195: { action. consumeStatementForLoop(); break; } // - // Rule 197: jump_statement ::= break ; + // Rule 197: for_init_statement ::= simple_declaration_with_declspec // - case 197: { action. consumeStatementBreak(); break; + case 197: { action. consumeStatementDeclaration(); break; } // - // Rule 198: jump_statement ::= continue ; + // Rule 198: jump_statement ::= break ; // - case 198: { action. consumeStatementContinue(); break; + case 198: { action. consumeStatementBreak(); break; } // - // Rule 199: jump_statement ::= return expression ; + // Rule 199: jump_statement ::= continue ; // - case 199: { action. consumeStatementReturn(true); break; + case 199: { action. consumeStatementContinue(); break; } // - // Rule 200: jump_statement ::= return ; + // Rule 200: jump_statement ::= return expression ; // - case 200: { action. consumeStatementReturn(false); break; + case 200: { action. consumeStatementReturn(true); break; } // - // Rule 201: jump_statement ::= goto identifier_token ; + // Rule 201: jump_statement ::= return ; // - case 201: { action. consumeStatementGoto(); break; + case 201: { action. consumeStatementReturn(false); break; } // - // Rule 202: declaration_statement ::= block_declaration + // Rule 202: jump_statement ::= goto identifier_token ; // - case 202: { action. consumeStatementDeclarationWithDisambiguation(); break; + case 202: { action. consumeStatementGoto(); break; } // - // Rule 203: declaration_statement ::= function_definition + // Rule 203: declaration_statement ::= block_declaration // - case 203: { action. consumeStatementDeclaration(); break; + case 203: { action. consumeStatementDeclarationWithDisambiguation(); break; } // - // Rule 211: declaration ::= ERROR_TOKEN + // Rule 204: declaration_statement ::= function_definition // - case 211: { action. consumeDeclarationProblem(); break; + case 204: { action. consumeStatementDeclaration(); break; } // - // Rule 221: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ; + // Rule 212: declaration ::= ERROR_TOKEN // - case 221: { action. consumeDeclarationSimple(true); break; + case 212: { action. consumeDeclarationProblem(); break; } // - // Rule 222: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ; + // Rule 222: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ; // case 222: { action. consumeDeclarationSimple(true); break; } // - // Rule 223: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers + // Rule 223: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ; // - case 223: { action. consumeDeclarationSpecifiersSimple(); break; + case 223: { action. consumeDeclarationSimple(true); break; } // - // Rule 224: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers + // Rule 224: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers // - case 224: { action. consumeDeclarationSpecifiersComposite(); break; + case 224: { action. consumeDeclarationSpecifiersSimple(); break; } // - // Rule 225: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers + // Rule 225: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers // case 225: { action. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 226: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers + // Rule 226: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers // case 226: { action. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 227: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers + // Rule 227: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers // - case 227: { action. consumeDeclarationSpecifiersTypeName(); break; + case 227: { action. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 229: declaration_specifiers_opt ::= $Empty + // Rule 228: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers // - case 229: { action. consumeEmpty(); break; + case 228: { action. consumeDeclarationSpecifiersTypeName(); break; } // - // Rule 233: no_type_declaration_specifier ::= friend + // Rule 230: declaration_specifiers_opt ::= $Empty // - case 233: { action. consumeToken(); break; + case 230: { action. consumeEmpty(); break; } // - // Rule 234: no_type_declaration_specifier ::= typedef + // Rule 234: no_type_declaration_specifier ::= friend // case 234: { action. consumeToken(); break; } // - // Rule 254: storage_class_specifier ::= auto + // Rule 235: no_type_declaration_specifier ::= typedef // - case 254: { action. consumeToken(); break; + case 235: { action. consumeToken(); break; } // - // Rule 255: storage_class_specifier ::= register + // Rule 255: storage_class_specifier ::= auto // case 255: { action. consumeToken(); break; } // - // Rule 256: storage_class_specifier ::= static + // Rule 256: storage_class_specifier ::= register // case 256: { action. consumeToken(); break; } // - // Rule 257: storage_class_specifier ::= extern + // Rule 257: storage_class_specifier ::= static // case 257: { action. consumeToken(); break; } // - // Rule 258: storage_class_specifier ::= mutable + // Rule 258: storage_class_specifier ::= extern // case 258: { action. consumeToken(); break; } // - // Rule 259: function_specifier ::= inline + // Rule 259: storage_class_specifier ::= mutable // case 259: { action. consumeToken(); break; } // - // Rule 260: function_specifier ::= virtual + // Rule 260: function_specifier ::= inline // case 260: { action. consumeToken(); break; } // - // Rule 261: function_specifier ::= explicit + // Rule 261: function_specifier ::= virtual // case 261: { action. consumeToken(); break; } // - // Rule 262: simple_type_specifier ::= simple_type_specifier_token + // Rule 262: function_specifier ::= explicit // case 262: { action. consumeToken(); break; } // - // Rule 276: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name + // Rule 263: simple_type_specifier ::= simple_type_specifier_token // - case 276: { action. consumeQualifiedId(false); break; + case 263: { action. consumeToken(); break; } // - // Rule 277: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name + // Rule 277: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name // case 277: { action. consumeQualifiedId(false); break; } // - // Rule 278: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name + // Rule 278: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name // case 278: { action. consumeQualifiedId(false); break; } // - // Rule 279: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name + // Rule 279: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name // - case 279: { action. consumeQualifiedId(true); break; + case 279: { action. consumeQualifiedId(false); break; } // - // Rule 281: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name + // Rule 280: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name // - case 281: { action. consumeTypeSpecifierElaborated(false); break; + case 280: { action. consumeQualifiedId(true); break; } // - // Rule 282: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt template_opt template_id_name + // Rule 282: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name // - case 282: { action. consumeTypeSpecifierElaborated(true); break; + case 282: { action. consumeTypeSpecifierElaborated(false); break; } // - // Rule 283: elaborated_type_specifier ::= enum elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name + // Rule 283: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt template_opt template_id_name // - case 283: { action. consumeTypeSpecifierElaborated(false); break; + case 283: { action. consumeTypeSpecifierElaborated(true); break; } // - // Rule 287: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 284: elaborated_type_specifier ::= enum elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name // - case 287: { action. consumeTypeSpecifierEnumeration(false); break; + case 284: { action. consumeTypeSpecifierElaborated(false); break; } // - // Rule 288: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 288: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } // - case 288: { action. consumeTypeSpecifierEnumeration(true); break; + case 288: { action. consumeTypeSpecifierEnumeration(false); break; } // - // Rule 294: enumerator_definition ::= identifier_token + // Rule 289: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } // - case 294: { action. consumeEnumerator(false); break; + case 289: { action. consumeTypeSpecifierEnumeration(true); break; } // - // Rule 295: enumerator_definition ::= identifier_token = constant_expression + // Rule 295: enumerator_definition ::= identifier_token // - case 295: { action. consumeEnumerator(true); break; + case 295: { action. consumeEnumerator(false); break; } // - // Rule 297: namespace_definition ::= namespace namespace_name namespace_definition_hook { <openscope-ast> declaration_seq_opt } + // Rule 296: enumerator_definition ::= identifier_token = constant_expression // - case 297: { action. consumeNamespaceDefinition(true); break; + case 296: { action. consumeEnumerator(true); break; } // - // Rule 298: namespace_definition ::= namespace namespace_definition_hook { <openscope-ast> declaration_seq_opt } + // Rule 298: namespace_definition ::= namespace namespace_name namespace_definition_hook { <openscope-ast> declaration_seq_opt } // - case 298: { action. consumeNamespaceDefinition(false); break; + case 298: { action. consumeNamespaceDefinition(true); break; } // - // Rule 300: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 299: namespace_definition ::= namespace namespace_definition_hook { <openscope-ast> declaration_seq_opt } // - case 300: { action. consumeNamespaceAliasDefinition(); break; + case 299: { action. consumeNamespaceDefinition(false); break; } // - // Rule 301: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; + // Rule 301: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ; // - case 301: { action. consumeUsingDeclaration(); break; + case 301: { action. consumeNamespaceAliasDefinition(); break; } // - // Rule 302: typename_opt ::= typename + // Rule 302: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; // - case 302: { action. consumePlaceHolder(); break; + case 302: { action. consumeUsingDeclaration(); break; } // - // Rule 303: typename_opt ::= $Empty + // Rule 303: typename_opt ::= typename // - case 303: { action. consumeEmpty(); break; + case 303: { action. consumePlaceHolder(); break; } // - // Rule 304: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 304: typename_opt ::= $Empty // - case 304: { action. consumeUsingDirective(); break; + case 304: { action. consumeEmpty(); break; } // - // Rule 305: asm_definition ::= asm ( stringlit ) ; + // Rule 305: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; // - case 305: { action. consumeDeclarationASM(); break; + case 305: { action. consumeUsingDirective(); break; } // - // Rule 306: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt } + // Rule 306: asm_definition ::= asm ( stringlit ) ; // - case 306: { action. consumeLinkageSpecification(); break; + case 306: { action. consumeDeclarationASM(); break; } // - // Rule 307: linkage_specification ::= extern stringlit <openscope-ast> declaration + // Rule 307: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt } // case 307: { action. consumeLinkageSpecification(); break; } // - // Rule 312: init_declarator_complete ::= init_declarator + // Rule 308: linkage_specification ::= extern stringlit <openscope-ast> declaration // - case 312: { action. consumeInitDeclaratorComplete(); break; + case 308: { action. consumeLinkageSpecification(); break; } // - // Rule 314: init_declarator ::= complete_declarator initializer + // Rule 313: init_declarator_complete ::= init_declarator // - case 314: { action. consumeDeclaratorWithInitializer(true); break; + case 313: { action. consumeInitDeclaratorComplete(); break; } // - // Rule 317: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator + // Rule 315: init_declarator ::= complete_declarator initializer // - case 317: { action. consumeDeclaratorWithPointer(true); break; + case 315: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 319: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator + // Rule 318: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator // - case 319: { action. consumeDeclaratorWithPointer(true); break; + case 318: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 323: basic_direct_declarator ::= declarator_id_name + // Rule 320: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator // - case 323: { action. consumeDirectDeclaratorIdentifier(); break; + case 320: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 324: basic_direct_declarator ::= ( declarator ) + // Rule 324: basic_direct_declarator ::= declarator_id_name // - case 324: { action. consumeDirectDeclaratorBracketed(); break; + case 324: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 325: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 325: basic_direct_declarator ::= ( declarator ) // - case 325: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; + case 325: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 326: array_direct_declarator ::= array_direct_declarator array_modifier + // Rule 326: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 326: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 326: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 327: array_direct_declarator ::= basic_direct_declarator array_modifier + // Rule 327: array_direct_declarator ::= array_direct_declarator array_modifier // case 327: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 328: array_modifier ::= [ constant_expression ] + // Rule 328: array_direct_declarator ::= basic_direct_declarator array_modifier // - case 328: { action. consumeDirectDeclaratorArrayModifier(true); break; + case 328: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 329: array_modifier ::= [ ] + // Rule 329: array_modifier ::= [ constant_expression ] // - case 329: { action. consumeDirectDeclaratorArrayModifier(false); break; + case 329: { action. consumeDirectDeclaratorArrayModifier(true); break; } // - // Rule 330: ptr_operator ::= pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt + // Rule 330: array_modifier ::= [ ] // - case 330: { action. consumePointer(); break; + case 330: { action. consumeDirectDeclaratorArrayModifier(false); break; } // - // Rule 331: ptr_operator ::= pointer_hook & pointer_hook + // Rule 331: ptr_operator ::= pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt // - case 331: { action. consumeReferenceOperator(); break; + case 331: { action. consumePointer(); break; } // - // Rule 332: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt + // Rule 332: ptr_operator ::= pointer_hook & pointer_hook // - case 332: { action. consumePointerToMember(); break; + case 332: { action. consumeReferenceOperator(); break; } // - // Rule 339: cv_qualifier ::= const + // Rule 333: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt // - case 339: { action. consumeToken(); break; + case 333: { action. consumePointerToMember(); break; } // - // Rule 340: cv_qualifier ::= volatile + // Rule 340: cv_qualifier ::= const // case 340: { action. consumeToken(); break; } // - // Rule 342: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name + // Rule 341: cv_qualifier ::= volatile // - case 342: { action. consumeQualifiedId(false); break; + case 341: { action. consumeToken(); break; } // - // Rule 343: type_id ::= type_specifier_seq + // Rule 343: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name // - case 343: { action. consumeTypeId(false); break; + case 343: { action. consumeQualifiedId(false); break; } // - // Rule 344: type_id ::= type_specifier_seq abstract_declarator + // Rule 344: type_id ::= type_specifier_seq // - case 344: { action. consumeTypeId(true); break; + case 344: { action. consumeTypeId(false); break; } // - // Rule 347: abstract_declarator ::= <openscope-ast> ptr_operator_seq + // Rule 345: type_id ::= type_specifier_seq abstract_declarator // - case 347: { action. consumeDeclaratorWithPointer(false); break; + case 345: { action. consumeTypeId(true); break; } // - // Rule 348: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator + // Rule 348: abstract_declarator ::= <openscope-ast> ptr_operator_seq // - case 348: { action. consumeDeclaratorWithPointer(true); break; + case 348: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 352: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 349: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator // - case 352: { action. consumeDirectDeclaratorBracketed(); break; + case 349: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 353: basic_direct_abstract_declarator ::= ( ) + // Rule 353: basic_direct_abstract_declarator ::= ( abstract_declarator ) // - case 353: { action. consumeAbstractDeclaratorEmpty(); break; + case 353: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 354: array_direct_abstract_declarator ::= array_modifier + // Rule 354: basic_direct_abstract_declarator ::= ( ) // - case 354: { action. consumeDirectDeclaratorArrayDeclarator(false); break; + case 354: { action. consumeAbstractDeclaratorEmpty(); break; } // - // Rule 355: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier + // Rule 355: array_direct_abstract_declarator ::= array_modifier // - case 355: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 355: { action. consumeDirectDeclaratorArrayDeclarator(false); break; } // - // Rule 356: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier + // Rule 356: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier // case 356: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 357: 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 357: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier // - case 357: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; + case 357: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 358: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 358: 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 358: { action. consumeDirectDeclaratorFunctionDeclarator(false); break; + case 358: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 359: parameter_declaration_clause ::= parameter_declaration_list_opt ... + // Rule 359: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 359: { action. consumePlaceHolder(); break; + case 359: { action. consumeDirectDeclaratorFunctionDeclarator(false); break; } // - // Rule 360: parameter_declaration_clause ::= parameter_declaration_list_opt + // Rule 360: parameter_declaration_clause ::= parameter_declaration_list_opt ... // - case 360: { action. consumeEmpty(); break; + case 360: { action. consumePlaceHolder(); break; } // - // Rule 361: parameter_declaration_clause ::= parameter_declaration_list , ... + // Rule 361: parameter_declaration_clause ::= parameter_declaration_list_opt // - case 361: { action. consumePlaceHolder(); break; + case 361: { action. consumeEmpty(); break; } // - // Rule 367: abstract_declarator_opt ::= $Empty + // Rule 362: parameter_declaration_clause ::= parameter_declaration_list , ... // - case 367: { action. consumeEmpty(); break; + case 362: { action. consumePlaceHolder(); break; } // - // Rule 368: parameter_declaration ::= declaration_specifiers parameter_init_declarator + // Rule 368: abstract_declarator_opt ::= $Empty // - case 368: { action. consumeParameterDeclaration(); break; + case 368: { action. consumeEmpty(); break; } // - // Rule 369: parameter_declaration ::= declaration_specifiers + // Rule 369: parameter_declaration ::= declaration_specifiers parameter_init_declarator // - case 369: { action. consumeParameterDeclarationWithoutDeclarator(); break; + case 369: { action. consumeParameterDeclaration(); break; } // - // Rule 371: parameter_init_declarator ::= declarator = parameter_initializer + // Rule 370: parameter_declaration ::= declaration_specifiers // - case 371: { action. consumeDeclaratorWithInitializer(true); break; + case 370: { action. consumeParameterDeclarationWithoutDeclarator(); break; } // - // Rule 373: parameter_init_declarator ::= abstract_declarator = parameter_initializer + // Rule 372: parameter_init_declarator ::= declarator = parameter_initializer // - case 373: { action. consumeDeclaratorWithInitializer(true); break; + case 372: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 374: parameter_init_declarator ::= = parameter_initializer + // Rule 374: parameter_init_declarator ::= abstract_declarator = parameter_initializer // - case 374: { action. consumeDeclaratorWithInitializer(false); break; + case 374: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 375: parameter_initializer ::= assignment_expression + // Rule 375: parameter_init_declarator ::= = parameter_initializer // - case 375: { action. consumeInitializer(); break; + case 375: { action. consumeDeclaratorWithInitializer(false); break; } // - // Rule 376: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body + // Rule 376: parameter_initializer ::= assignment_expression // - case 376: { action. consumeFunctionDefinition(false); break; + case 376: { action. consumeInitializer(); break; } // - // Rule 377: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq + // Rule 377: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body // - case 377: { action. consumeFunctionDefinition(true); break; + case 377: { action. consumeFunctionDefinition(false); break; } // - // Rule 380: initializer ::= ( expression_list ) + // Rule 378: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq // - case 380: { action. consumeInitializerConstructor(); break; + case 378: { action. consumeFunctionDefinition(true); break; } // - // Rule 381: initializer_clause ::= assignment_expression + // Rule 381: initializer ::= ( expression_list ) // - case 381: { action. consumeInitializer(); break; + case 381: { action. consumeInitializerConstructor(); break; } // - // Rule 383: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq , } end_initializer_list + // Rule 382: initializer_clause ::= assignment_expression // - case 383: { action. consumeInitializerList(); break; + case 382: { action. consumeInitializer(); break; } // - // Rule 384: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq } end_initializer_list + // Rule 384: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq , } end_initializer_list // case 384: { action. consumeInitializerList(); break; } // - // Rule 385: initializer_list ::= { <openscope-ast> } + // Rule 385: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq } end_initializer_list // case 385: { action. consumeInitializerList(); break; } // - // Rule 386: start_initializer_list ::= $Empty + // Rule 386: initializer_list ::= { <openscope-ast> } // - case 386: { action. initializerListStart(); break; + case 386: { action. consumeInitializerList(); break; } // - // Rule 387: end_initializer_list ::= $Empty + // Rule 387: start_initializer_list ::= $Empty // - case 387: { action. initializerListEnd(); break; + case 387: { action. initializerListStart(); break; } // - // Rule 392: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt } + // Rule 388: end_initializer_list ::= $Empty // - case 392: { action. consumeClassSpecifier(); break; + case 388: { action. initializerListEnd(); break; } // - // Rule 393: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 393: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt } // - case 393: { action. consumeClassHead(false); break; + case 393: { action. consumeClassSpecifier(); break; } // - // Rule 394: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 394: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook <openscope-ast> base_clause_opt // case 394: { action. consumeClassHead(false); break; } // - // Rule 395: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 395: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt // - case 395: { action. consumeClassHead(true); break; + case 395: { action. consumeClassHead(false); break; } // - // Rule 396: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 396: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook <openscope-ast> base_clause_opt // case 396: { action. consumeClassHead(true); break; } // - // Rule 400: identifier_name_opt ::= $Empty + // Rule 397: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt // - case 400: { action. consumeEmpty(); break; - } + case 397: { action. consumeClassHead(true); break; + } // - // Rule 404: visibility_label ::= access_specifier_keyword : + // Rule 401: identifier_name_opt ::= $Empty // - case 404: { action. consumeVisibilityLabel(); break; - } + case 401: { action. consumeEmpty(); break; + } // - // Rule 405: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ; + // Rule 405: visibility_label ::= access_specifier_keyword : // - case 405: { action. consumeDeclarationSimple(true); break; + case 405: { action. consumeVisibilityLabel(); break; } // - // Rule 406: member_declaration ::= declaration_specifiers_opt ; + // Rule 406: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ; // - case 406: { action. consumeDeclarationSimple(false); break; + case 406: { action. consumeDeclarationSimple(true); break; } // - // Rule 409: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ; + // Rule 407: member_declaration ::= declaration_specifiers_opt ; // - case 409: { action. consumeMemberDeclarationQualifiedId(); break; + case 407: { action. consumeDeclarationSimple(false); break; } // - // Rule 415: member_declaration ::= ERROR_TOKEN + // Rule 410: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ; // - case 415: { action. consumeDeclarationProblem(); break; + case 410: { action. consumeMemberDeclarationQualifiedId(); break; } // - // Rule 424: member_declarator ::= declarator constant_initializer + // Rule 416: member_declaration ::= ERROR_TOKEN // - case 424: { action. consumeMemberDeclaratorWithInitializer(); break; + case 416: { action. consumeDeclarationProblem(); break; } // - // Rule 425: member_declarator ::= bit_field_declarator : constant_expression + // Rule 425: member_declarator ::= declarator constant_initializer // - case 425: { action. consumeBitField(true); break; + case 425: { action. consumeMemberDeclaratorWithInitializer(); break; } // - // Rule 426: member_declarator ::= : constant_expression + // Rule 426: member_declarator ::= bit_field_declarator : constant_expression // - case 426: { action. consumeBitField(false); break; + case 426: { action. consumeBitField(true); break; } // - // Rule 427: bit_field_declarator ::= identifier_name + // Rule 427: member_declarator ::= : constant_expression // - case 427: { action. consumeDirectDeclaratorIdentifier(); break; + case 427: { action. consumeBitField(false); break; } // - // Rule 428: constant_initializer ::= = constant_expression + // Rule 428: bit_field_declarator ::= identifier_name // - case 428: { action. consumeInitializer(); break; + case 428: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 434: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name + // Rule 429: constant_initializer ::= = constant_expression // - case 434: { action. consumeBaseSpecifier(false, false); break; + case 429: { action. consumeInitializer(); break; } // - // Rule 435: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name + // Rule 435: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name // - case 435: { action. consumeBaseSpecifier(true, true); break; + case 435: { action. consumeBaseSpecifier(false, false); break; } // - // Rule 436: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name + // Rule 436: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name // case 436: { action. consumeBaseSpecifier(true, true); break; } // - // Rule 437: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name + // Rule 437: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name // - case 437: { action. consumeBaseSpecifier(true, false); break; + case 437: { action. consumeBaseSpecifier(true, true); break; } // - // Rule 438: access_specifier_keyword ::= private + // Rule 438: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name // - case 438: { action. consumeToken(); break; + case 438: { action. consumeBaseSpecifier(true, false); break; } // - // Rule 439: access_specifier_keyword ::= protected + // Rule 439: access_specifier_keyword ::= private // case 439: { action. consumeToken(); break; } // - // Rule 440: access_specifier_keyword ::= public + // Rule 440: access_specifier_keyword ::= protected // case 440: { action. consumeToken(); break; } // - // Rule 442: access_specifier_keyword_opt ::= $Empty + // Rule 441: access_specifier_keyword ::= public + // + case 441: { action. consumeToken(); break; + } + + // + // Rule 443: access_specifier_keyword_opt ::= $Empty + // + case 443: { action. consumeEmpty(); break; + } + + // + // Rule 445: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt > // - case 442: { action. consumeEmpty(); break; + case 445: { action. consumeTemplateId(); break; } // - // Rule 444: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt > + // Rule 446: conversion_function_id ::= operator conversion_type_id // - case 444: { action. consumeTemplateId(); break; + case 446: { action. consumeConversionName(); break; } // - // Rule 445: conversion_function_id ::= operator conversion_type_id + // Rule 447: conversion_type_id ::= type_specifier_seq conversion_declarator // - case 445: { action. consumeConversionName(); break; + case 447: { action. consumeTypeId(true); break; } // - // Rule 446: conversion_type_id ::= type_specifier_seq conversion_declarator + // Rule 448: conversion_type_id ::= type_specifier_seq // - case 446: { action. consumeTypeId(true); break; + case 448: { action. consumeTypeId(false); break; } // - // Rule 447: conversion_type_id ::= type_specifier_seq + // Rule 449: conversion_declarator ::= <openscope-ast> ptr_operator_seq // - case 447: { action. consumeTypeId(false); break; + case 449: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 448: conversion_declarator ::= <openscope-ast> ptr_operator_seq + // Rule 455: mem_initializer ::= mem_initializer_name ( expression_list_opt ) // - case 448: { action. consumeDeclaratorWithPointer(false); break; + case 455: { action. consumeConstructorChainInitializer(); break; } // - // Rule 454: mem_initializer ::= mem_initializer_name ( expression_list_opt ) + // Rule 456: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name // - case 454: { action. consumeConstructorChainInitializer(); break; + case 456: { action. consumeQualifiedId(false); break; } // - // Rule 455: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name + // Rule 459: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt > // - case 455: { action. consumeQualifiedId(false); break; + case 459: { action. consumeTemplateId(); break; } // - // Rule 458: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt > + // Rule 460: operator_id_name ::= operator overloadable_operator // - case 458: { action. consumeTemplateId(); break; + case 460: { action. consumeOperatorName(); break; } // - // Rule 459: operator_id_name ::= operator overloadable_operator + // Rule 503: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration // - case 459: { action. consumeOperatorName(); break; + case 503: { action. consumeTemplateDeclaration(); break; } // - // Rule 502: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration + // Rule 504: export_opt ::= export // - case 502: { action. consumeTemplateDeclaration(); break; + case 504: { action. consumePlaceHolder(); break; } // - // Rule 503: export_opt ::= export + // Rule 505: export_opt ::= $Empty // - case 503: { action. consumePlaceHolder(); break; + case 505: { action. consumeEmpty(); break; } // - // Rule 504: export_opt ::= $Empty + // Rule 509: template_parameter ::= parameter_declaration // - case 504: { action. consumeEmpty(); break; + case 509: { action. consumeTemplateParamterDeclaration(); break; } // - // Rule 508: template_parameter ::= parameter_declaration + // Rule 510: type_parameter ::= class identifier_name_opt // - case 508: { action. consumeTemplateParamterDeclaration(); break; + case 510: { action. consumeSimpleTypeTemplateParameter(false); break; } // - // Rule 509: type_parameter ::= class identifier_name_opt + // Rule 511: type_parameter ::= class identifier_name_opt = type_id // - case 509: { action. consumeSimpleTypeTemplateParameter(false); break; + case 511: { action. consumeSimpleTypeTemplateParameter(true); break; } // - // Rule 510: type_parameter ::= class identifier_name_opt = type_id + // Rule 512: type_parameter ::= typename identifier_name_opt // - case 510: { action. consumeSimpleTypeTemplateParameter(true); break; + case 512: { action. consumeSimpleTypeTemplateParameter(false); break; } // - // Rule 511: type_parameter ::= typename identifier_name_opt + // Rule 513: type_parameter ::= typename identifier_name_opt = type_id // - case 511: { action. consumeSimpleTypeTemplateParameter(false); break; + case 513: { action. consumeSimpleTypeTemplateParameter(true); break; } // - // Rule 512: type_parameter ::= typename identifier_name_opt = type_id + // Rule 514: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt // - case 512: { action. consumeSimpleTypeTemplateParameter(true); break; + case 514: { action. consumeTemplatedTypeTemplateParameter(false); break; } // - // Rule 513: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt + // Rule 515: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression // - case 513: { action. consumeTemplatedTypeTemplateParameter(false); break; + case 515: { action. consumeTemplatedTypeTemplateParameter(true); break; } // - // Rule 514: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression + // Rule 516: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt > // - case 514: { action. consumeTemplatedTypeTemplateParameter(true); break; + case 516: { action. consumeTemplateId(); break; } // - // Rule 515: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt > + // Rule 521: template_argument ::= assignment_expression // - case 515: { action. consumeTemplateId(); break; + case 521: { action. consumeTemplateArgumentExpression(); break; } // - // Rule 520: template_argument ::= assignment_expression + // Rule 522: template_argument ::= type_id // - case 520: { action. consumeTemplateArgumentExpression(); break; + case 522: { action. consumeTemplateArgumentTypeId(); break; } // - // Rule 521: template_argument ::= type_id + // Rule 523: explicit_instantiation ::= template declaration // - case 521: { action. consumeTemplateArgumentTypeId(); break; + case 523: { action. consumeTemplateExplicitInstantiation(); break; } // - // Rule 522: explicit_instantiation ::= template declaration + // Rule 524: explicit_specialization ::= template < > declaration // - case 522: { action. consumeTemplateExplicitInstantiation(); break; + case 524: { action. consumeTemplateExplicitSpecialization(); break; } // - // Rule 523: explicit_specialization ::= template < > declaration + // Rule 525: try_block ::= try compound_statement <openscope-ast> handler_seq // - case 523: { action. consumeTemplateExplicitSpecialization(); break; + case 525: { action. consumeStatementTryBlock(true); break; } // - // Rule 524: try_block ::= try compound_statement <openscope-ast> handler_seq + // Rule 526: try_block ::= try compound_statement // - case 524: { action. consumeStatementTryBlock(); break; + case 526: { action. consumeStatementTryBlock(false); break; } // - // Rule 527: handler ::= catch ( exception_declaration ) compound_statement + // Rule 529: handler ::= catch ( exception_declaration ) compound_statement // - case 527: { action. consumeStatementCatchHandler(false); break; + case 529: { action. consumeStatementCatchHandler(false); break; } // - // Rule 528: handler ::= catch ( ... ) compound_statement + // Rule 530: handler ::= catch ( ... ) compound_statement // - case 528: { action. consumeStatementCatchHandler(true); break; + case 530: { action. consumeStatementCatchHandler(true); break; } // - // Rule 529: exception_declaration ::= type_specifier_seq <openscope-ast> declarator + // Rule 531: exception_declaration ::= type_specifier_seq <openscope-ast> declarator // - case 529: { action. consumeDeclarationSimple(true); break; + case 531: { action. consumeDeclarationSimple(true); break; } // - // Rule 530: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator + // Rule 532: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator // - case 530: { action. consumeDeclarationSimple(true); break; + case 532: { action. consumeDeclarationSimple(true); break; } // - // Rule 531: exception_declaration ::= type_specifier_seq + // Rule 533: exception_declaration ::= type_specifier_seq // - case 531: { action. consumeDeclarationSimple(false); break; + case 533: { action. consumeDeclarationSimple(false); break; } // - // Rule 533: exception_specification ::= throw ( ) + // Rule 535: exception_specification ::= throw ( ) // - case 533: { action. consumePlaceHolder(); break; + case 535: { action. consumePlaceHolder(); break; } // - // Rule 539: expression_parser_start ::= ERROR_TOKEN + // Rule 541: expression_parser_start ::= ERROR_TOKEN // - case 539: { action. consumeEmpty(); break; + case 541: { action. consumeEmpty(); break; } diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParserprs.java index ec1f1bc4f37..da47ac3a6a7 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParserprs.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParserprs.java @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 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 @@ -56,477 +56,477 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP 0,1,0,1,1,0,1,1,1,1, 1,1,1,1,1,3,4,3,2,1, 4,2,1,2,5,7,5,1,4,1, - 0,5,7,8,1,1,2,2,3,2, - 3,1,1,1,1,1,1,1,1,1, + 0,5,7,2,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,1,1,1,1,1,1,1, + 1,1,1,1,1,1,3,4,4,5, + 2,5,6,5,0,1,0,7,8,0, + 1,3,1,0,1,3,1,7,6,0, + 7,6,1,0,6,5,6,4,1,3, + 1,0,1,1,2,1,1,3,1,3, + 1,1,1,1,3,9,2,2,3,2, + 5,3,7,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,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, - 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,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,3,4,4,5,2, - 5,6,5,0,1,0,7,8,0,1, - 3,1,0,1,3,1,7,6,0,7, - 6,1,0,6,5,6,4,1,3,1, - 0,1,1,2,1,1,3,1,3,1, - 1,1,1,3,9,2,2,3,2,5, - 3,7,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,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,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,-62, - 0,0,0,-2,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-4,0,0,0,0,0,0,-384, - 0,0,-5,0,0,0,0,0,-6,-408, - 0,0,-243,0,-283,0,0,0,0,0, - 0,0,0,0,0,0,0,-442,-466,0, - -113,0,0,-308,0,0,0,0,0,0, - 0,0,0,0,0,0,-64,0,-293,0, - 0,-58,0,0,0,0,0,0,-189,0, - 0,-16,0,0,0,0,0,0,0,0, - 0,0,-54,0,0,0,0,0,0,0, - -179,0,0,0,-330,0,0,0,0,0, - 0,0,-53,0,0,0,0,0,0,-334, - 0,0,-65,-273,0,0,0,0,0,0, - 0,-127,0,0,0,0,0,0,0,0, - 0,0,0,-115,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-10,0, - 0,0,0,0,0,0,-119,0,0,0, - -178,0,0,0,0,-128,0,0,0,0, - -116,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, + 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,2,1,2,5,5, + 3,3,1,4,3,1,0,1,3,1, + 1,-62,0,0,0,-2,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-264,0,0,0,0, + 0,0,0,0,-4,0,0,0,0,0, + 0,-384,0,0,-5,0,0,0,0,0, + -6,-408,0,0,-243,0,-283,0,0,0, + 0,0,0,0,0,0,0,0,0,-442, + -466,0,-113,0,0,-308,0,0,0,0, + 0,0,0,0,0,0,0,0,-64,0, + -293,0,0,-58,0,0,0,0,0,0, + -189,0,0,-16,0,0,0,0,0,0, + 0,0,0,0,-54,0,0,0,0,0, + 0,0,-179,0,0,0,-330,0,0,0, + 0,0,0,0,-53,0,0,0,0,0, + 0,-334,0,0,-65,-273,0,0,0,0, + 0,0,0,-127,0,0,0,0,0,0, + 0,0,0,0,0,-115,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -142,0,0,0,0,0,0,-71,0,0, - 0,-349,0,0,0,0,0,0,0,0, - -289,-244,0,0,0,0,0,-259,0,0, - 0,-131,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-129,0,0,0,0,0, - -148,0,0,0,-274,0,0,0,-117,-188, - 0,-190,0,0,0,0,0,0,-220,0, + -10,0,0,0,0,0,0,0,-119,0, + 0,0,-178,0,0,0,0,-128,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,0,0,0,0, - 0,0,0,0,0,0,0,0,-120,0, - 0,-302,0,-7,0,0,0,-51,0,0, - 0,0,-359,0,0,-59,0,0,-416,0, - 0,0,0,0,0,-424,0,0,-72,0, - 0,0,-8,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-515, + 0,0,0,0,0,0,0,-264,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-142,0,0,0,0,0,0,-71, + 0,0,0,-349,0,0,0,0,0,0, + 0,0,-289,-244,0,0,0,0,0,-259, + 0,0,0,-131,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-9,0,0,0,0,0,0,0, - 0,0,-363,0,0,0,0,0,0,0, - 0,0,0,-539,0,0,0,-137,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-11,0,0,0, - 0,0,0,0,0,0,-12,0,-206,0, - 0,0,0,0,0,0,0,-391,-135,0, - 0,0,-13,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-129,0,0,0, + 0,0,-148,0,0,0,-274,0,0,0, + -117,-188,0,-190,0,0,0,0,0,0, + -220,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-471,0,0,0,0,0,0,0,0, - -412,-332,0,0,0,0,0,0,0,0, + -120,0,0,-302,0,-7,0,0,0,-51, + 0,0,0,0,-359,0,0,-59,0,0, + -416,0,0,0,0,0,0,-424,0,0, + -72,0,0,0,-8,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-515,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-226,0,0,0, - 0,0,0,0,0,-230,-74,0,0,0, - 0,-454,-257,-446,0,0,0,0,0,0, + 0,0,0,0,-9,0,0,0,0,0, + 0,0,0,0,-363,0,0,0,0,0, + 0,0,0,0,0,-539,0,0,0,-137, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-11,0, + 0,0,0,0,0,0,0,0,-12,0, + -206,0,0,0,0,0,0,0,0,-391, + -135,0,0,0,-13,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-3,0,0, + 0,0,0,-471,0,0,0,0,0,0, + 0,0,-412,-332,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-226,0, + 0,0,0,0,0,0,0,-230,-74,0, + 0,0,0,-454,-257,-446,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -15,0,-397,0,0,0,0,-316,0,0, - -347,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-221,0,0,0,0,0,-28, - -130,0,0,0,-277,0,0,0,-29,0, + 0,0,0,0,0,0,0,0,0,-3, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-30,0,0, - 0,0,0,0,0,0,0,-31,0,-183, - 0,0,0,0,0,0,0,-147,0,0, - 0,0,-222,0,0,0,0,0,-419,-320, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-15,0,-397,0,0,0,0,-316, + 0,0,-347,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-299,0,-32,0,0,0,0,-144, - 0,0,0,-18,0,0,0,-344,-321,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-221,0,0,0,0, + 0,-28,-130,0,0,0,-277,0,0,0, + -29,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-30, + 0,0,0,0,0,0,0,0,0,-31, + 0,-183,0,0,0,0,0,0,0,-147, + 0,0,0,0,-222,0,0,0,0,0, + -419,-320,0,0,0,0,0,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,-154,0,0,0,0,0,0, - 0,-39,0,0,0,0,0,0,0,0, + 0,0,0,0,-299,0,-32,0,0,0, + 0,-144,0,0,0,-18,0,0,0,-344, + -321,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,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-41,0,0,0,-301, + 0,0,0,-33,0,-154,0,0,0,0, + 0,0,0,-39,0,0,0,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,-379,0, - -49,0,0,0,0,0,0,0,-94,0, + 0,0,0,0,0,0,-122,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-41,0,0, + 0,-301,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-223,0,0,0,0,0,0,0,0, - 0,0,0,-50,0,0,0,0,0,0, - 0,-95,0,0,0,0,0,0,0,0, + -34,0,0,0,0,0,0,0,0,0, + -379,0,-49,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,0,0,0,-35,0,0,0,0,0, - 0,0,0,0,-407,0,-57,0,0,0, - 0,-60,0,0,-96,0,0,0,0,0, + 0,0,0,-223,0,0,0,0,0,0, + 0,0,0,0,0,-50,0,0,0,0, + 0,0,0,-95,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-298,0,0, - 0,0,0,0,0,0,0,0,0,-186, - 0,0,0,0,0,0,0,-97,0,0, + 0,0,0,0,0,0,-35,0,0,0, + 0,0,0,0,0,0,-407,0,-57,0, + 0,0,0,-60,0,0,-96,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-298, 0,0,0,0,0,0,0,0,0,0, + 0,-186,0,0,0,0,0,0,0,-97, 0,0,0,0,0,0,0,0,0,0, - -500,0,-36,0,0,0,-196,-107,0,0, - -98,0,0,0,-339,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-37,0,0,0,0,0,0, - 0,0,0,-530,0,-200,0,0,0,0, - -108,0,0,-99,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-500,0,-36,0,0,0,-196,-107, + 0,0,-98,0,0,0,-339,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-37,0,0,0,0, + 0,0,0,0,0,-530,0,-200,0,0, + 0,0,-108,0,0,-99,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-38,-138,0,0,-100,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-480, - 0,0,0,0,0,0,0,0,0,-531, - 0,-205,0,0,0,0,0,0,0,-101, - 0,0,0,-40,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-38,-138,0,0,-100,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-231,0,0,0,0,-114, - 0,0,-102,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-55,0,0,0,0, - 0,0,0,0,0,-149,0,-256,0,0, - 0,0,-153,0,0,-103,0,0,0,-375, + 0,-480,0,0,0,0,0,0,0,0, + 0,-531,0,-205,0,0,0,0,0,0, + 0,-101,0,0,0,-40,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-198,0, - -269,0,0,0,0,-280,0,0,-104,0, - 0,0,-56,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-231,0,0,0, + 0,-114,0,0,-102,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-378,0, - 0,-207,0,-270,0,0,0,0,-514,0, - 0,-213,0,0,0,-66,0,0,0,0, + 0,0,0,0,0,0,0,-55,0,0, + 0,0,0,0,0,0,0,-149,0,-256, + 0,0,0,0,-153,0,0,-103,0,0, + 0,-375,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-235,0,-272,0,0,0, - 0,-242,0,0,-533,0,0,0,-227,0, + -198,0,-269,0,0,0,0,-280,0,0, + -104,0,0,0,-56,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-276, - 0,0,0,0,-249,0,0,-358,0,0, - 0,-333,0,0,0,0,0,0,0,0, + -378,0,0,-207,0,-270,0,0,0,0, + -514,0,0,-213,0,0,0,-66,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -67,0,-69,0,0,0,-382,0,0,0, - -70,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-235,0,-272,0, + 0,0,0,-242,0,0,-533,0,0,0, + -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,0,0,0,-225,0,0,0,-437, - 0,0,0,0,-383,0,0,0,0,0, + 0,-276,0,0,0,0,-249,0,0,-358, + 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,0,0,-346,0,0, - 0,0,0,0,0,0,0,-367,0,-109, - 0,0,0,-457,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-67,0,-69,0,0,0,-382,0, + 0,0,-70,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-305,0,0,0,0,0,0, - 0,0,-234,0,0,0,-439,0,0,0, - -110,-106,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-406,0,0,0,0,0, - 0,0,0,0,-288,0,-267,0,0,-202, - -93,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-225,0,0, + 0,-437,0,0,0,0,-383,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,0,0,0,0,-367, + 0,-109,0,0,0,-457,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -357,0,0,-111,0,-91,0,0,0,-250, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-251,0, - 0,0,0,0,0,0,0,0,-92,0, + 0,0,0,0,0,-305,0,0,0,0, + 0,0,0,0,-234,0,0,0,-439,0, + 0,0,-110,-106,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-406,0,0,0, + 0,0,0,0,0,0,-288,0,-267,0, + 0,-202,-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, - -88,0,0,0,0,0,0,0,0,0, + 0,0,-357,0,0,-111,0,-91,0,0, + 0,-250,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,0,0, - -89,0,0,0,-112,0,0,0,0,0, + -251,0,0,0,0,0,0,0,0,0, + -92,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-132,0,0,0,0,0,-90, - 0,0,0,-139,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-140,0,0,0,0,0,-398,0, + 0,0,-88,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-82,0,0,0,-141,0,0,0,0, + 0,0,0,0,0,-388,0,0,0,0, + 0,0,-89,0,0,0,-112,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-105, - -233,0,0,0,-150,0,0,0,0,0, + 0,0,0,0,0,-132,0,0,0,0, + 0,-90,0,0,0,-139,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-281,0,0,-337,0,0,0,-268,0, - 0,0,0,0,0,0,-380,0,0,0, - -155,0,-252,-83,0,0,0,0,0,0, + 0,0,0,0,-140,0,0,0,0,0, + -398,0,0,0,0,0,0,0,0,0, + 0,0,0,-82,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, - 0,-241,0,0,0,0,-473,0,0,0, - -156,0,0,0,-540,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-212,0, - -377,0,0,0,-157,0,0,0,0,0, - 0,0,-286,-84,0,0,0,0,0,0, + 0,-105,-233,0,0,0,-150,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-281,0,0,-337,0,0,0, + -268,0,0,0,0,0,0,0,-380,0, + 0,0,-155,0,-252,-83,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-85,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-237, + 0,0,0,-241,0,0,0,0,-473,0, + 0,0,-156,0,0,0,-540,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-124,-143,0,0,0,-271,0,0, - -307,0,0,0,0,0,0,0,0,0, - 0,0,0,-423,-192,0,0,0,0,0, - 0,-300,-52,0,0,0,-245,0,0,-470, - 0,-47,0,0,0,0,0,0,0,0, - 0,0,-158,0,0,-296,-240,0,0,0, - 0,0,0,-159,-467,0,0,0,0,0, - 0,0,0,0,0,0,0,-247,0,0, + -212,0,-377,0,0,0,-157,0,0,0, + 0,0,0,0,-286,-84,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -248,0,0,0,0,0,-61,0,-160,0, - 0,-161,0,0,0,-345,0,0,0,-162, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-356,-297,-20,0,0,0,0, + 0,0,0,-85,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-315,0,0,0,0,-163,-211, - 0,0,0,0,0,0,0,0,-164,0, - 0,-165,0,-312,0,0,0,0,0,0, - 0,0,0,0,0,0,-166,0,0,0, - 0,0,-167,0,0,-325,0,-86,0,0, + 0,-237,0,0,0,0,0,0,0,0, + 0,0,0,0,-124,-143,0,0,0,-271, + 0,0,-307,0,0,0,0,0,0,0, + 0,0,0,0,0,-423,-192,0,0,0, + 0,0,0,-300,-52,0,0,0,-245,0, + 0,-470,0,-47,0,0,0,0,0,0, + 0,0,0,0,-158,0,0,-296,-240,0, + 0,0,0,0,0,-159,-467,0,0,0, + 0,0,0,0,0,0,0,0,0,-247, 0,0,0,0,0,0,0,0,0,0, + 0,0,-248,0,0,0,0,0,-61,0, + -160,0,0,-161,0,0,0,-345,0,0, + 0,-162,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-356,-297,-20,0,0, 0,0,0,0,0,0,0,0,0,0, - -168,0,0,0,-87,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-435,0,0, - 0,0,-152,0,0,0,0,0,0,0, - 0,0,0,0,0,-275,0,0,0,-365, - 0,-169,-170,0,0,-146,-292,0,0,0, - -306,0,0,0,0,-455,0,0,-310,0, - 0,-313,0,-445,0,0,0,0,0,0, - 0,0,0,-171,0,0,-353,-239,0,0, - 0,0,-324,-172,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-361,0,-173, + 0,0,0,0,0,-315,0,0,0,0, + -163,-211,0,0,0,0,0,0,0,0, + -164,0,0,-165,0,-312,0,0,0,0, + 0,0,0,0,0,0,0,0,-166,0, + 0,0,0,0,-167,0,0,-325,0,-86, 0,0,0,0,0,0,0,0,0,0, - 0,-390,0,-311,-436,0,0,0,-174,0, 0,0,0,0,0,0,0,0,0,0, - 0,-532,0,0,0,0,0,0,0,0, - 0,0,0,0,-77,0,0,0,0,0, + 0,0,-168,0,0,0,-87,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-435, + 0,0,0,0,-152,0,0,0,0,0, + 0,0,0,0,0,0,0,-275,0,0, + 0,-365,0,-169,-170,0,0,-146,-292,0, + 0,0,-306,0,0,0,0,-455,0,0, + -310,0,0,-313,0,-445,0,0,0,0, + 0,0,0,0,0,-171,0,0,-353,-239, + 0,0,0,0,-324,-172,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-361, + 0,-173,0,0,0,0,0,0,0,0, + 0,0,0,-390,0,-311,-436,0,0,0, + -174,0,0,0,0,0,0,0,0,0, + 0,0,0,-532,0,0,0,0,0,0, + 0,0,0,0,0,0,-77,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-387,-261,0,0,-145,0,-175,0, - 0,0,0,0,-322,0,0,0,0,0, - -176,0,0,0,-121,0,0,-484,0,0, - -177,0,0,0,-404,0,0,0,0,-327, - 0,0,0,-180,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-78,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-387,-261,0,0,-145,0, + -175,0,0,0,0,0,-322,0,0,0, + 0,0,-176,0,0,0,-121,0,0,-484, + 0,0,-177,0,0,0,-404,0,0,0, + 0,-327,0,0,0,-180,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-78, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-364,0,0,-118,-17,-181,-328,0, + 0,0,0,-182,-151,0,0,0,0,0, + 0,0,0,0,-185,0,0,-464,0,0, + -193,0,0,0,0,0,0,0,0,0, + 0,-394,-187,0,0,0,0,0,-194,0, + 0,-197,0,0,0,0,0,0,0,0, + -335,0,0,0,0,-487,0,0,0,0, + 0,-448,0,-527,0,0,0,0,0,0, + 0,0,0,-208,0,-338,0,0,0,0, + -354,0,0,0,0,0,0,0,0,0, + 0,0,0,-489,0,0,0,0,0,0, + 0,-341,0,0,0,0,0,0,0,0, + 0,-14,0,-218,-219,0,0,-323,0,0, + 0,-228,0,0,0,0,0,0,0,0, + 0,-506,0,0,0,0,0,-236,-401,0, + 0,0,0,0,0,0,0,0,0,-343, + 0,-214,0,0,0,0,-238,0,-246,-420, + 0,0,0,0,0,0,0,0,0,-520, + 0,0,-360,0,0,0,0,-392,0,0, + 0,0,0,0,0,0,0,-255,0,0, + 0,0,0,-260,-262,-374,0,0,0,0, + 0,0,0,0,0,0,0,-522,0,0, + 0,0,0,-459,0,-369,0,0,0,0, + 0,0,0,0,0,-505,0,0,-263,0, + 0,-209,0,0,0,-278,0,0,0,0, + 0,0,0,0,0,-279,0,0,0,-285, + 0,-290,0,0,0,0,0,-319,0,0, + 0,0,0,-294,0,-295,0,-229,0,0, + 0,0,0,-426,0,0,0,0,0,0, + 0,0,0,-524,0,0,0,0,0,0, + 0,0,0,0,0,0,-136,-303,0,-393, + 0,-1,0,0,-429,0,0,0,0,0, + -526,0,0,-123,0,-468,-134,0,-418,-376, + 0,0,0,0,-422,0,-431,0,0,0, + 0,0,-125,0,-474,0,0,0,-304,0, + 0,0,0,0,0,0,-414,0,0,0, + 0,0,-336,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-415,0, + -362,-469,0,0,-541,0,0,0,0,0, + 0,0,0,0,0,0,-309,-427,0,0, + 0,0,0,-317,0,0,0,0,-434,0, + 0,0,0,-318,0,0,0,0,0,0, + 0,-329,-340,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-546,0,-348,0,0,0,0,-482, + -472,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-476,0,-350,-370,0,0, + 0,0,0,0,0,0,0,0,0,0, + -479,0,0,0,0,0,-373,0,0,0, + 0,0,-386,0,0,0,0,0,-477,0, + 0,0,0,0,0,0,0,0,-475,0, + -399,0,0,0,0,0,0,0,-79,0, + 0,0,-400,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-80,0,0,0,-402,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-81,0, + 0,0,-403,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-409,0,-21,0,0,0,-411,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-22,0,0,0, + -417,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-23, + 0,0,0,-425,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-24,0,0,0,-432,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-25,0,0,0,-433, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-26,0, + 0,0,-456,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-27,0,0,0,-458,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-63,0,0,0,-460,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-75,0,0, + 0,-461,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -76,0,0,0,-462,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-133,0,0,0,-463,0,0, 0,0,0,0,0,0,0,0,0,0, - -364,0,0,-118,-17,-181,-328,0,0,0, - 0,-182,-151,0,0,0,0,0,0,0, - 0,0,-185,0,0,-464,0,0,-193,0, - 0,0,0,0,0,0,0,0,0,-394, - -187,0,0,0,0,0,-194,0,0,-197, - 0,0,0,0,0,0,0,0,-335,0, - 0,0,0,-487,0,0,0,0,0,-448, - 0,-527,0,0,0,0,0,0,0,0, - 0,-208,0,-338,0,0,0,0,-354,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-489,0,0,0,0,0,0,0,-341, - 0,0,0,0,0,0,0,0,0,-14, - 0,-218,-219,0,0,-323,0,0,0,-228, - 0,0,0,0,0,0,0,0,0,-506, - 0,0,0,0,0,-236,-401,0,0,0, - 0,0,0,0,0,0,0,-343,0,-214, - 0,0,0,0,-238,0,-246,-420,0,0, - 0,0,0,0,0,0,0,-520,0,0, - -360,0,0,0,0,-392,0,0,0,0, - 0,0,0,0,0,-255,0,0,0,0, - 0,-260,-262,-374,0,0,0,0,0,0, - 0,0,0,0,0,-522,0,0,0,0, - 0,-459,0,-369,0,0,0,0,0,0, - 0,0,0,-505,0,0,-263,0,0,-209, - 0,0,0,-278,0,0,0,0,0,0, - 0,0,0,-279,0,0,0,-285,0,-290, - 0,0,0,0,0,-319,0,0,0,0, - 0,-294,0,-295,0,-229,0,0,0,0, - 0,-426,0,0,0,0,0,0,0,0, - 0,-524,0,0,0,0,0,0,0,0, - 0,0,0,0,-136,-303,0,-393,0,-1, - 0,0,-429,0,0,0,0,0,-526,0, - 0,-123,0,-468,-134,0,-418,-376,0,0, - 0,0,-422,0,-431,0,0,0,0,0, - -125,0,-474,0,0,0,-304,0,0,0, - 0,0,0,0,-414,0,0,0,0,0, - -336,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-415,0,-362,-469, - 0,0,-541,0,0,0,0,0,0,0, - 0,0,0,0,-309,-427,0,0,0,0, - 0,-317,0,0,0,0,-434,0,0,0, - 0,-318,0,0,0,0,0,0,0,-329, - -340,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -546,0,-348,0,0,0,0,-482,-472,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-476,0,-350,-370,0,0,0,0, - 0,0,0,0,0,0,0,0,-479,0, - 0,0,0,0,-373,0,0,0,0,0, - -386,0,0,0,0,0,-477,0,0,0, - 0,0,0,0,0,0,-475,0,-399,0, - 0,0,0,0,0,0,-79,0,0,0, - -400,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-80,0,0,0,-402,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-81,0,0,0, - -403,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-409, - 0,-21,0,0,0,-411,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-22,0,0,0,-417,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-23,0,0, - 0,-425,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -24,0,0,0,-432,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-25,0,0,0,-433,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-26,0,0,0, - -456,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-27, - 0,0,0,-458,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-63,0,0,0,-460,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-75,0,0,0,-461, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-76,0, - 0,0,-462,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-133,0,0,0,-463,0,0,0,0, + 0,0,0,0,0,0,-203,0,0,0, + -538,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-381, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-203,0,0,0,-538,0, + 0,0,-501,-447,0,0,0,0,0,0, + 0,0,0,0,0,0,-19,0,0,0, + -495,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-368,-478, + -465,-215,0,-48,-73,0,-528,0,0,0, + 0,0,-396,0,0,-483,0,-485,-216,0, + -486,0,0,0,0,0,0,0,0,-496, + 0,0,0,0,0,0,-503,-544,-498,-253, + 0,0,0,0,-488,0,0,0,0,0, + 0,0,0,0,-287,0,0,0,0,0, + 0,0,-523,0,0,0,0,0,0,0, + -232,0,0,0,0,0,0,0,0,0, + -502,0,0,0,0,-444,0,0,0,0, + 0,0,0,0,0,0,0,0,-507,0, + 0,0,-493,-43,-366,0,-44,0,0,-536, + 0,0,-509,0,0,0,0,0,0,-511, + -217,-497,-543,0,0,0,0,0,0,0, + -504,0,0,0,0,0,0,0,0,0, + 0,-126,0,0,0,0,0,-519,0,0, + 0,0,0,-512,0,0,-405,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-381,0,0, + 0,-521,-385,0,0,0,0,0,0,0, + 0,0,0,0,0,-508,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-529, + 0,0,0,0,0,-265,0,0,0,0, + 0,0,0,0,0,0,0,0,-534,-199, + -513,-517,0,0,0,-284,-545,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -501,-447,0,0,0,0,0,0,0,0, - 0,0,0,0,-19,0,0,0,-495,0, + -518,-537,0,0,0,0,0,0,-371,0, + 0,-355,0,0,0,0,0,0,0,0, + 0,0,0,0,-395,0,0,0,0,0, + 0,0,0,0,0,0,-254,-331,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,-368,-478,-465,-215, - 0,-48,-73,0,-528,0,0,0,0,0, - -396,0,0,-483,0,-485,-216,0,-486,0, - 0,0,0,0,0,0,0,-496,0,0, - 0,0,0,0,-503,-544,-498,-253,0,0, - 0,0,-488,0,0,0,0,0,0,0, - 0,0,-287,0,0,0,0,0,0,0, - -523,0,0,0,0,0,0,0,-232,0, - 0,0,0,0,0,0,0,0,-502,0, - 0,0,0,-444,0,0,0,0,0,0, - 0,0,0,0,0,0,-507,0,0,0, - -493,-43,-366,0,-44,0,0,-536,0,0, - -509,0,0,0,0,0,0,-511,-217,-497, - -543,0,0,0,0,0,0,0,-504,0, - 0,0,0,0,0,0,0,0,0,-126, - 0,0,0,0,0,-519,0,0,0,0, - 0,-512,0,0,-405,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-521, - -385,0,0,0,0,0,0,0,0,0, - 0,0,0,-508,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-529,0,0, - 0,0,0,-265,0,0,0,0,0,0, - 0,0,0,0,0,0,-534,-199,-513,-517, - 0,0,0,-284,-545,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-518,-537, - 0,0,0,0,0,0,-371,0,0,-355, + 0,0,0,0,-542,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-395,0,0,0,0,0,0,0, - 0,0,0,0,-254,-331,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,-542,0,0,0,0,0,0,0, + -421,0,0,0,0,0,-492,0,0,0, + 0,0,0,0,0,0,-430,0,0,0, + 0,0,0,0,0,0,-291,-326,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-421,0, - 0,0,0,0,-492,0,0,0,0,0, - 0,0,0,0,-430,0,0,0,0,0, - 0,0,0,0,-291,-326,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-438,0,0, + 0,0,-443,0,0,0,0,0,0,0, + 0,0,0,0,-450,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-516,0, + 0,0,0,-195,0,0,0,0,0,0, + 0,0,-372,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-224,0, + 0,0,0,0,-266,0,0,0,0,0, + 0,0,0,0,0,-282,0,0,0,0, + 0,0,0,0,-481,0,0,0,0,0, + 0,0,0,0,0,0,-342,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-438,0,0,0,0, - -443,0,0,0,0,0,0,0,0,0, - 0,0,-450,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-516,0,0,0, - 0,-195,0,0,0,0,0,0,0,0, - -372,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-224,0,0,0, - 0,0,-266,0,0,0,0,0,0,0, - 0,0,0,-282,0,0,0,0,0,0, - 0,0,-481,0,0,0,0,0,0,0, - 0,0,0,0,-342,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-351,0,0,0, + -389,0,0,0,0,0,0,0,0,0, + 0,-410,0,0,0,0,0,0,-413,0, + 0,0,0,0,0,0,-428,0,0,0, + 0,0,0,0,0,0,0,0,-525,0, + 0,0,0,0,0,0,0,-440,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-351,0,0,0,-389,0, - 0,0,0,0,0,0,0,0,0,-410, - 0,0,0,0,0,0,-413,0,0,0, - 0,0,0,0,-428,0,0,0,0,0, - 0,0,0,0,0,0,-525,0,0,0, - 0,0,0,0,0,-440,0,0,0,0, + 0,0,0,0,-441,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-441,0,0,0,0,0,0,0, + 0,0,0,0,0,-449,0,0,0,0, + 0,0,0,0,-510,0,0,0,0,0, + 0,0,-42,0,0,0,0,0,0,0, + 0,0,-451,0,-68,-45,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-449,0,0,0,0,0,0, - 0,0,-510,0,0,0,0,0,0,0, - -42,0,0,0,0,0,0,0,0,0, - -451,0,-68,-45,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-352, - 0,0,0,0,0,0,0,-184,0,0, + 0,-352,0,0,0,0,0,0,0,-184, 0,0,0,0,0,0,0,0,0,0, - -191,0,0,0,-201,0,0,0,0,0, - 0,-210,0,0,0,-258,0,0,0,-46, - 0,0,0,0,-490,0,0,0,0,0, + 0,0,-191,0,0,0,-201,0,0,0, + 0,0,0,-210,0,0,0,-258,0,0, + 0,-46,0,0,0,0,-490,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-491,-494,0, - 0,0,0,-204,0,0,0,0,0,0, - 0,0,-452,0,0,0,0,0,-453,0, - 0,0,0,0,0,-499,0,0,0,0, - -535,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-491, + -494,0,0,0,0,-204,0,0,0,0, + 0,0,0,0,-452,0,0,0,0,0, + -453,0,0,0,0,0,0,-499,0,0, + 0,0,-535,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, @@ -544,7 +544,7 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP 0,0,0,0,0,0,0,0,0,0, 0,0,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; @@ -573,531 +573,532 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP 96,96,180,180,91,203,203,69,69,69, 69,69,69,69,69,69,70,70,70,67, 67,57,57,181,181,71,71,71,102,102, - 182,182,72,72,72,183,183,73,73,73, - 73,73,74,74,83,83,83,83,83,83, - 83,83,51,51,51,51,51,115,115,113, - 113,52,184,23,23,23,23,23,49,49, - 86,86,86,86,86,153,153,148,148,148, - 148,148,149,149,149,150,150,150,151,151, - 151,152,152,152,87,87,87,87,87,88, - 88,88,13,14,14,14,14,14,14,14, - 14,14,14,14,97,119,119,119,119,119, - 119,117,117,117,154,155,155,118,118,185, - 157,157,156,156,121,121,103,80,80,122, - 54,48,158,158,55,53,85,85,159,159, - 147,147,123,124,124,125,77,77,160,160, - 64,64,64,61,61,60,65,65,76,76, - 59,59,59,50,89,89,99,98,98,63, - 63,62,62,56,56,46,100,100,100,92, - 92,92,93,93,94,94,94,95,95,104, - 104,104,106,106,105,105,204,204,90,90, - 187,187,187,187,187,127,47,47,162,186, - 186,128,128,129,129,129,130,164,188,188, - 35,35,116,131,131,131,131,190,108,107, - 107,120,120,120,165,166,166,166,166,166, - 166,166,166,166,166,166,192,192,189,189, - 191,191,167,168,168,168,168,169,193,110, - 109,109,194,194,170,170,170,170,101,101, - 101,195,195,8,8,9,196,196,197,171, - 161,161,172,172,173,174,174,7,7,10, + 182,182,72,72,72,72,183,183,73,73, + 73,73,73,74,74,83,83,83,83,83, + 83,83,83,51,51,51,51,51,115,115, + 113,113,52,184,23,23,23,23,23,49, + 49,86,86,86,86,86,153,153,148,148, + 148,148,148,149,149,149,150,150,150,151, + 151,151,152,152,152,87,87,87,87,87, + 88,88,88,13,14,14,14,14,14,14, + 14,14,14,14,14,97,119,119,119,119, + 119,119,117,117,117,154,155,155,118,118, + 185,157,157,156,156,121,121,103,80,80, + 122,54,48,158,158,55,53,85,85,159, + 159,147,147,123,124,124,125,77,77,160, + 160,64,64,64,61,61,60,65,65,76, + 76,59,59,59,50,89,89,99,98,98, + 63,63,62,62,56,56,46,100,100,100, + 92,92,92,93,93,94,94,94,95,95, + 104,104,104,106,106,105,105,204,204,90, + 90,187,187,187,187,187,127,47,47,162, + 186,186,128,128,129,129,129,130,164,188, + 188,35,35,116,131,131,131,131,190,108, + 107,107,120,120,120,165,166,166,166,166, + 166,166,166,166,166,166,166,192,192,189, + 189,191,191,167,168,168,168,168,169,193, + 110,109,109,194,194,170,170,170,170,101, + 101,101,195,195,8,8,9,196,196,197, + 171,161,161,172,172,173,174,174,7,7, + 10,198,198,198,198,198,198,198,198,198, 198,198,198,198,198,198,198,198,198,198, 198,198,198,198,198,198,198,198,198,198, 198,198,198,198,198,198,198,198,198,198, - 198,198,198,198,198,198,198,198,198,198, - 198,198,78,81,81,175,175,133,133,134, - 134,134,134,134,134,3,135,135,132,132, - 111,111,84,79,75,163,163,112,112,199, - 199,199,136,136,126,126,200,200,176,176, - 1119,35,2496,2473,1278,2704,27,30,31,1063, - 1231,26,28,2454,262,25,23,50,1280,106, - 76,77,108,73,1289,1318,1308,1422,1375,1585, - 1773,1499,1714,71,1683,274,1773,1824,143,1267, - 838,158,144,1994,2948,1888,35,1047,32,4456, - 4564,27,30,31,1063,1231,341,28,1617,588, - 4079,1279,2733,232,1952,35,1047,32,4780,4564, - 27,30,31,1063,1231,341,28,1017,353,1227, - 3376,345,588,2113,2444,34,235,230,231,2484, - 1146,533,1500,35,1047,32,1328,275,41,30, - 31,1063,1231,1614,2797,321,2542,323,182,316, - 1946,588,35,3303,536,1994,242,245,248,251, - 1455,354,2896,1010,321,2542,323,741,316,1946, - 1227,919,1855,1425,2078,3582,500,346,1774,1018, - 351,2896,327,35,280,1939,563,4801,3184,737, - 3125,3502,3521,4240,2316,35,1047,32,2733,1384, - 27,30,31,1063,1231,26,28,1037,262,25, - 23,50,1280,106,76,77,108,345,1289,1318, - 1308,1422,1375,1585,821,1499,1714,3440,1683,499, - 1773,1824,143,70,2742,520,144,1225,651,1328, - 2797,588,35,2444,3302,501,929,35,2111,391, - 521,2316,35,1047,32,2733,1384,27,30,31, - 1063,1231,26,28,1037,262,25,23,50,1280, - 106,76,77,108,345,1289,1318,1308,1422,1375, - 1585,49,1499,1714,71,1683,236,1773,1824,143, - 1996,3209,520,144,3107,290,1003,2797,3687,3440, - 232,327,35,280,2725,516,4805,521,1217,35, - 1047,32,2729,3193,27,30,31,1063,1231,57, - 28,2579,2042,244,230,231,3144,4788,2556,3186, - 1238,3592,2316,35,1047,32,2733,1384,27,30, - 31,1063,1231,26,28,1037,262,25,23,50, - 1280,106,76,77,108,345,1289,1318,1308,1422, - 1375,1585,516,1499,1714,1010,1683,407,1773,1824, - 143,1351,3203,520,144,588,35,283,2797,2042, - 499,2977,499,3192,4788,3456,3186,4169,521,2524, - 35,1047,32,2733,1384,27,30,31,1063,1231, - 26,28,1037,262,25,23,50,1280,106,76, - 77,108,345,1289,1318,1308,1422,1375,1585,1330, - 1499,1714,307,1683,1390,1773,1824,143,1599,3203, - 520,144,879,588,3582,2797,1614,3420,334,588, - 35,2111,391,516,2234,521,2243,463,61,1860, - 35,1047,32,2218,3193,27,30,31,1063,1231, - 56,28,1640,88,3227,94,102,3186,1320,4002, - 2659,35,1047,32,434,1384,27,30,31,1063, - 1231,26,28,1037,262,25,23,50,1280,106, - 76,77,108,2226,1289,1318,1308,1422,1375,1585, - 517,1499,1714,2579,1683,424,1773,1824,143,42, - 3262,381,144,3659,2385,35,1047,32,1987,1384, - 27,30,31,1063,1231,26,28,1037,262,25, - 23,50,1280,106,76,77,108,1016,1289,1318, - 1308,1422,1375,1585,1695,1499,1714,2234,1683,2034, - 1773,1824,143,822,291,381,144,3659,1876,2832, - 35,1047,32,2532,1384,27,30,31,1063,1231, - 26,28,1037,262,25,23,50,1280,106,76, - 77,108,4136,1289,1318,1308,1422,1375,1585,60, - 1499,1714,1330,1683,355,1773,3230,164,388,382, - 1800,2135,3121,35,1047,32,4639,1384,27,30, - 31,1063,1231,26,28,1037,262,25,23,50, - 1280,106,76,77,108,446,1289,1318,1308,1422, - 1375,1585,314,1499,1714,580,1683,221,1773,3230, - 164,329,389,382,1800,89,1330,56,102,4137, - 1687,1198,1817,322,2591,35,1047,32,4105,1384, - 27,30,31,1063,1231,26,28,1037,262,25, - 23,50,1280,106,76,77,108,156,1289,1318, - 1308,1422,1375,1585,358,1499,1714,1424,1683,2027, - 1773,1824,143,2970,534,381,144,3659,2887,35, - 1047,32,3103,1384,27,30,31,1063,1231,26, - 28,1037,262,25,23,50,1280,106,76,77, - 108,392,1289,1318,1308,1422,1375,1585,93,1499, - 1714,2558,1683,2479,1773,1824,143,4429,2580,158, - 144,3121,35,1047,32,1941,1384,27,30,31, - 1063,1231,26,28,1037,262,25,23,50,1280, - 106,76,77,108,525,1289,1318,1308,1422,1375, - 1585,433,1499,1714,135,1683,3513,1773,3230,164, - 2245,1010,379,382,1800,2887,35,1047,32,413, - 1384,27,30,31,1063,1231,26,28,1037,262, - 25,23,50,1280,106,76,77,108,1446,1289, - 1318,1308,1422,1375,1585,3128,1499,1714,64,1683, - 1868,1773,1824,143,3376,4788,375,144,1714,35, - 1047,32,426,135,40,30,31,1063,1231,1876, - 2887,35,1047,32,563,1384,27,30,31,1063, - 1231,26,28,1037,262,25,23,50,1280,106, - 76,77,108,462,1289,1318,1308,1422,1375,1585, - 3203,1499,1714,737,1683,2217,1773,1824,143,335, - 1010,375,144,331,2212,35,2111,391,2690,2887, - 35,1047,32,2321,1384,27,30,31,1063,1231, - 26,28,1037,262,25,23,50,1280,106,76, - 77,108,374,1289,1318,1308,1422,1375,1585,49, - 1499,1714,587,1683,1010,1773,1824,143,1996,673, - 375,144,2457,35,1047,32,3541,1384,27,30, - 31,1063,1231,26,28,1037,262,25,23,50, - 1280,106,76,77,108,1229,1289,1318,1308,1422, - 1375,1585,4025,1499,1714,357,1683,373,1773,1824, - 143,330,337,142,144,534,2887,35,1047,32, - 1330,1384,27,30,31,1063,1231,26,28,1037, - 262,25,23,50,1280,106,76,77,108,1226, - 1289,1318,1308,1422,1375,1585,51,1499,1714,1330, - 1683,56,1773,1824,143,694,371,159,144,2887, - 35,1047,32,3264,1384,27,30,31,1063,1231, - 26,28,1037,262,25,23,50,1280,106,76, - 77,108,135,1289,1318,1308,1422,1375,1585,1509, - 1499,1714,580,1683,56,1773,1824,143,751,450, - 155,144,2887,35,1047,32,378,1384,27,30, - 31,1063,1231,26,28,1037,262,25,23,50, - 1280,106,76,77,108,1355,1289,1318,1308,1422, - 1375,1585,1898,1499,1714,1330,1683,56,1773,1824, - 143,832,1614,154,144,2887,35,1047,32,880, - 1384,27,30,31,1063,1231,26,28,1037,262, - 25,23,50,1280,106,76,77,108,135,1289, - 1318,1308,1422,1375,1585,24,1499,1714,580,1683, - 56,1773,1824,143,4547,3221,153,144,2887,35, - 1047,32,378,1384,27,30,31,1063,1231,26, - 28,1037,262,25,23,50,1280,106,76,77, - 108,376,1289,1318,1308,1422,1375,1585,3239,1499, - 1714,1876,1683,486,1773,1824,143,1010,1614,152, - 144,2887,35,1047,32,1330,1384,27,30,31, - 1063,1231,26,28,1037,262,25,23,50,1280, - 106,76,77,108,1506,1289,1318,1308,1422,1375, - 1585,69,1499,1714,1330,1683,56,1773,1824,143, - 3008,1614,151,144,2887,35,1047,32,3404,1384, - 27,30,31,1063,1231,26,28,1037,262,25, - 23,50,1280,106,76,77,108,3587,1289,1318, - 1308,1422,1375,1585,68,1499,1714,580,1683,328, - 1773,1824,143,1146,1612,150,144,2887,35,1047, - 32,528,1384,27,30,31,1063,1231,26,28, - 1037,262,25,23,50,1280,106,76,77,108, - 1330,1289,1318,1308,1422,1375,1585,325,1499,1714, - 1330,1683,56,1773,1824,143,583,534,149,144, - 2887,35,1047,32,1616,1384,27,30,31,1063, - 1231,26,28,1037,262,25,23,50,1280,106, - 76,77,108,4179,1289,1318,1308,1422,1375,1585, - 356,1499,1714,580,1683,56,1773,1824,143,674, - 1614,148,144,2887,35,1047,32,527,1384,27, - 30,31,1063,1231,26,28,1037,262,25,23, - 50,1280,106,76,77,108,1733,1289,1318,1308, - 1422,1375,1585,53,1499,1714,1614,1683,56,1773, - 1824,143,1373,1614,147,144,2887,35,1047,32, - 2297,1384,27,30,31,1063,1231,26,28,1037, - 262,25,23,50,1280,106,76,77,108,87, - 1289,1318,1308,1422,1375,1585,52,1499,1714,1614, - 1683,56,1773,1824,143,2874,2557,146,144,2887, - 35,1047,32,1984,1384,27,30,31,1063,1231, - 26,28,1037,262,25,23,50,1280,106,76, - 77,108,352,1289,1318,1308,1422,1375,1585,2690, - 1499,1714,1614,1683,56,1773,1824,143,2992,1817, - 145,144,2887,35,1047,32,1174,1384,27,30, - 31,1063,1231,26,28,1037,262,25,23,50, - 1280,106,76,77,108,90,1289,1318,1308,1422, - 1375,1585,326,1499,1714,1614,1683,56,1773,1824, - 143,2854,1614,140,144,3005,35,1047,32,1499, - 1384,27,30,31,1063,1231,26,28,1037,262, - 25,23,50,1280,106,76,77,108,2070,1289, - 1318,1308,1422,1375,1585,2285,1499,1714,2234,1683, - 56,1773,1824,143,3446,1614,189,144,3121,35, - 1047,32,1010,1384,27,30,31,1063,1231,26, - 28,1037,262,25,23,50,1280,106,76,77, - 108,525,1289,1318,1308,1422,1375,1585,67,1499, - 1714,2559,1683,1323,1773,3230,164,3121,35,1047, - 32,1441,1384,27,30,31,1063,1231,26,28, - 1037,262,25,23,50,1280,106,76,77,108, - 1595,1289,1318,1308,1422,1375,1585,1984,1499,1714, - 450,1683,3252,1773,3230,164,588,35,2549,2287, - 588,35,2111,391,97,3121,35,1047,32,295, - 1384,27,30,31,1063,1231,26,28,1037,262, - 25,23,50,1280,106,76,77,108,2041,1289, - 1318,1308,1422,1375,1585,455,1499,1714,2717,1683, - 160,1773,3230,164,3176,35,1047,32,425,1384, - 27,30,31,1063,1231,26,28,1037,262,25, - 23,50,1280,106,76,77,108,405,1289,1318, - 1308,1422,1375,1585,499,1499,1714,409,1683,4585, - 1773,3230,164,588,35,2444,277,588,35,2111, - 391,332,3121,35,1047,32,428,1384,27,30, - 31,1063,1231,26,28,1037,262,25,23,50, - 1280,106,76,77,108,2717,1289,1318,1308,1422, - 1375,1585,437,1499,1714,56,1683,221,3030,655, - 1818,3121,35,1047,32,4143,1384,27,30,31, - 1063,1231,26,28,1037,262,25,23,50,1280, - 106,76,77,108,301,1289,1318,1308,1422,1375, - 1585,322,1499,1714,676,3004,3121,35,1047,32, - 1614,1384,27,30,31,1063,1231,26,28,1037, - 262,25,23,50,1280,106,76,77,108,1614, - 1289,1318,1308,1422,1375,1585,1328,1499,2972,3121, - 35,1047,32,66,1384,27,30,31,1063,1231, - 26,28,1037,262,25,23,50,1280,106,76, - 77,108,65,1289,1318,1308,1422,1375,1585,287, - 2973,3121,35,1047,32,2989,1384,27,30,31, - 1063,1231,26,28,1037,262,25,23,50,1280, - 106,76,77,108,314,1289,1318,1308,1422,1375, - 2887,3121,35,1047,32,848,1384,27,30,31, - 1063,1231,26,28,1037,262,25,23,50,1280, - 106,76,77,108,2626,1289,1318,1308,1422,2893, - 3121,35,1047,32,1983,1384,27,30,31,1063, - 1231,26,28,1037,262,25,23,50,1280,106, - 76,77,108,3321,1289,1318,1308,1422,2921,1518, - 35,1047,32,4780,4635,27,30,31,1063,1231, - 341,28,3121,35,1047,32,1453,1384,27,30, - 31,1063,1231,26,28,1037,262,25,23,50, - 1280,106,76,77,108,441,1289,1318,1308,2799, - 56,2223,35,278,1198,1781,35,1047,32,3203, - 4812,27,30,31,1063,1231,59,28,334,321, - 2542,323,1960,316,1946,1714,35,1047,32,2691, - 156,2198,30,31,1063,1231,315,327,35,456, - 3014,408,4650,1614,3121,35,1047,32,2806,1384, - 27,30,31,1063,1231,26,28,1037,262,25, - 23,50,1280,106,76,77,108,2966,1289,1318, - 1308,2802,1643,35,2444,277,64,588,35,2111, - 391,580,308,312,946,2162,35,1047,32,3557, - 4812,27,30,31,1063,1231,26,28,327,1334, - 514,1714,35,1047,32,1015,2724,2275,30,31, - 1063,1231,436,1614,3121,35,1047,32,3822,1384, - 27,30,31,1063,1231,26,28,1037,262,25, - 23,50,1280,106,76,77,108,3044,1289,1318, - 1308,2810,3121,35,1047,32,3187,1384,27,30, - 31,1063,1231,26,28,1037,262,25,23,50, - 1280,106,76,77,108,1328,1289,1318,1308,2859, - 1400,35,1047,32,4324,4564,27,30,31,1063, - 1231,341,28,241,2240,35,2111,391,2449,35, - 281,1898,35,3645,32,4780,4635,27,30,31, - 1063,1231,341,28,2717,588,35,2111,391,449, - 3770,3776,1425,3231,35,2111,391,2440,746,49, - 588,4220,588,35,2111,391,237,262,1996,2290, - 321,2542,323,1611,316,1946,1614,2371,35,278, - 274,3203,2725,221,1873,2722,354,3434,274,1198, - 334,321,2542,323,4387,316,1946,49,588,3452, - 2444,74,346,1774,1018,351,1996,601,812,55, - 3424,1643,35,2444,3454,156,232,2147,2545,1223, - 2806,3505,1544,3420,200,4128,2070,35,1047,32, - 1559,4635,27,30,31,1063,1231,341,28,235, - 230,231,276,4153,2580,1614,3121,35,1047,32, - 275,1384,27,30,31,1063,1231,26,28,1037, - 262,25,23,50,1280,106,76,77,85,242, - 245,248,251,1455,2078,3582,3203,882,54,1674, - 757,35,2111,391,919,335,321,2542,323,2134, - 319,1946,2196,354,2581,44,3262,368,420,422, - 3623,3184,737,3125,3502,3521,4240,1709,629,346, - 1774,1018,351,2352,651,274,1614,344,3121,35, - 1047,32,2188,1384,27,30,31,1063,1231,26, - 28,1037,262,25,23,50,1280,106,76,77, - 108,2425,1289,1318,2869,3121,35,1047,32,324, - 1384,27,30,31,1063,1231,26,28,1037,262, - 25,23,50,1280,106,76,77,108,259,1289, - 1318,2872,540,1781,35,1047,32,3347,4812,27, - 30,31,1063,1231,58,28,588,35,2444,279, - 1010,228,1515,1703,72,290,56,2152,156,3042, - 1198,1469,4788,393,430,1388,1,180,3402,56, - 540,580,2581,3007,56,203,215,4531,1198,202, - 212,213,214,216,572,169,1982,2581,1875,228, - 2824,3592,2733,2512,1777,168,156,183,167,170, - 171,172,173,174,4098,180,3402,3203,1875,580, - 1374,2690,2733,203,215,4531,2977,202,212,213, - 214,216,322,169,56,843,35,456,3269,2244, - 4650,2690,98,168,181,184,167,170,171,172, - 173,174,2062,35,1047,32,4324,4564,27,30, - 31,1063,1231,341,28,3121,35,1047,32,1328, - 1384,27,30,31,1063,1231,26,28,1037,262, - 25,23,50,1280,106,76,77,108,362,1289, - 2561,394,430,2723,1789,35,296,2165,4657,2344, - 288,2733,2633,3326,3345,56,396,430,362,3028, - 96,2380,321,2542,323,1240,316,1946,2624,2986, - 345,2418,3366,3326,3345,1243,35,399,354,529, - 1363,35,1047,32,2076,4635,27,30,31,1063, - 1231,341,28,1049,346,1774,1018,351,3121,35, - 1047,32,530,1384,27,30,31,1063,1231,26, - 28,1037,262,25,23,50,1280,106,76,77, - 108,1614,1289,2601,3347,56,1906,56,232,540, - 3203,3559,2081,932,35,2111,391,239,262,335, - 321,2542,323,1096,317,1946,345,922,345,2417, - 540,247,230,231,101,156,354,453,3770,3776, - 322,1243,35,3310,2039,1602,1480,2236,49,228, - 49,2797,348,1774,1018,351,156,1996,2619,56, - 526,936,3845,4203,431,180,3402,232,540,580, - 2717,2860,2800,203,215,4531,49,202,212,213, - 214,216,1324,169,56,1996,2156,228,4097,2581, - 240,230,231,168,156,4201,167,170,171,172, - 173,174,517,180,3402,1812,540,580,298,305, - 56,203,215,4531,3508,202,212,213,214,216, - 2715,169,2515,2552,2733,228,588,35,2111,391, - 2627,168,156,178,167,170,171,172,173,174, - 603,180,3402,345,540,580,69,499,1137,203, - 215,4531,4665,202,212,213,214,216,56,169, - 56,274,1979,228,1198,2082,928,2408,322,168, - 156,176,167,170,171,172,173,174,689,180, - 3402,56,540,580,526,1058,1614,203,215,4531, - 156,202,212,213,214,216,2448,169,395,430, - 2075,228,2208,2652,1789,3701,296,168,156,177, - 167,170,171,172,173,174,775,180,3402,3507, - 540,580,2717,342,56,203,215,4531,4111,202, - 212,213,214,216,2775,169,297,2505,2733,228, - 588,35,2111,391,1778,168,156,187,167,170, - 171,172,173,174,2516,180,3402,345,1250,580, - 2585,179,2733,203,215,4531,737,202,212,213, - 214,216,2693,169,2615,49,932,35,2111,391, - 4246,2690,1614,168,46,4317,167,170,171,172, - 173,174,1691,35,1047,32,4780,4564,27,30, - 31,1063,1231,341,28,2276,2453,922,56,4318, - 2249,49,1339,2646,1198,3250,445,2733,459,861, - 1996,47,1606,540,2717,2042,1480,56,2646,3541, - 4788,4491,2733,56,2708,56,2690,4184,353,4751, - 156,1780,228,588,35,2111,391,2699,363,156, - 538,2690,321,2542,323,499,316,1946,180,3402, - 4686,737,580,198,3361,337,203,215,4531,315, - 202,212,213,214,216,3203,169,499,435,737, - 2717,354,4703,947,334,232,168,540,192,167, - 170,171,172,173,174,2618,499,346,1774,1018, - 351,4724,2689,508,232,1939,228,56,250,230, - 231,1152,2728,156,4522,308,312,946,508,197, - 2622,1997,180,3402,3541,2733,580,253,230,231, - 203,215,4531,4339,202,212,213,214,216,4208, - 169,1033,3541,2714,228,540,506,507,2717,1614, - 168,3822,186,167,170,171,172,173,174,336, - 337,505,507,56,228,2683,1167,1681,205,215, - 4531,156,204,212,213,214,216,3488,337,56, - 180,3402,454,4061,580,2734,544,304,203,215, - 4531,2750,202,212,213,214,216,322,169,206, - 208,210,3417,3726,523,207,209,2340,168,1588, - 194,167,170,171,172,173,174,3121,35,1047, - 32,2735,1384,27,30,31,1063,1231,26,28, - 1037,262,25,23,50,1280,106,76,77,108, - 532,2625,3121,35,1047,32,2346,1384,27,30, - 31,1063,1231,26,28,1037,262,25,23,50, - 1280,106,76,77,108,306,2753,3121,35,1047, - 32,2716,1384,27,30,31,1063,1231,26,28, - 1037,262,25,23,50,1280,106,76,77,108, - 2790,2764,3121,2113,1047,2121,2757,1384,27,30, - 31,1063,1231,26,28,1037,262,25,23,50, - 1280,106,76,77,84,3121,35,1047,32,2761, - 1384,27,30,31,1063,1231,26,28,1037,262, - 25,23,50,1280,106,76,77,83,3121,35, - 1047,32,2791,1384,27,30,31,1063,1231,26, - 28,1037,262,25,23,50,1280,106,76,77, - 82,3121,35,1047,32,2747,1384,27,30,31, - 1063,1231,26,28,1037,262,25,23,50,1280, - 106,76,77,81,3121,35,1047,32,2751,1384, - 27,30,31,1063,1231,26,28,1037,262,25, - 23,50,1280,106,76,77,80,3121,35,1047, - 32,2782,1384,27,30,31,1063,1231,26,28, - 1037,262,25,23,50,1280,106,76,77,79, - 3121,35,1047,32,2789,1384,27,30,31,1063, - 1231,26,28,1037,262,25,23,50,1280,106, - 76,77,78,2950,35,1047,32,87,1384,27, - 30,31,1063,1231,26,28,1037,262,25,23, - 50,1280,106,76,77,104,3121,35,1047,32, - 2763,1384,27,30,31,1063,1231,26,28,1037, - 262,25,23,50,1280,106,76,77,110,3121, - 35,1047,32,2765,1384,27,30,31,1063,1231, - 26,28,1037,262,25,23,50,1280,106,76, - 77,109,3121,35,1047,32,2769,1384,27,30, - 31,1063,1231,26,28,1037,262,25,23,50, - 1280,106,76,77,107,3121,35,1047,32,415, - 1384,27,30,31,1063,1231,26,28,1037,262, - 25,23,50,1280,106,76,77,105,1988,35, - 3645,32,4780,4564,27,30,31,1063,1231,341, - 28,322,1952,35,1047,32,4780,4564,27,30, - 31,1063,1231,341,28,3066,35,1047,32,2717, - 1384,27,30,31,1063,1231,26,28,1037,262, - 25,23,50,1280,86,76,77,1562,1614,2773, - 56,2733,1354,1354,1198,1878,1198,1198,321,2542, - 323,1823,316,1946,2375,2733,2774,56,201,173, - 228,1198,321,2542,323,812,316,1946,2717,385, - 156,380,160,160,228,2717,415,56,1354,315, - 2330,1989,1198,2792,205,215,4531,156,204,212, - 213,214,216,588,35,2444,3600,2349,205,215, - 4531,2717,204,212,213,214,216,199,160,929, - 35,2111,391,4029,300,206,208,210,3417,56, - 217,207,209,970,1910,309,312,946,2733,206, - 208,210,3417,384,217,207,209,1614,1860,1903, - 4891,2548,56,737,49,56,2733,228,2717,2733, - 3220,1614,4363,1996,47,421,422,3623,56,56, - 2793,2717,3472,1198,3348,345,4363,875,345,2855, - 3358,205,215,4531,2756,204,212,213,214,216, - 3280,35,2111,391,3396,746,2343,222,2797,156, - 3062,2797,2795,238,262,1243,35,399,2200,2563, - 193,2251,206,208,210,3417,3541,217,207,209, - 2796,2070,35,1047,32,274,4635,27,30,31, - 1063,1231,341,28,1952,35,1047,32,4780,4564, - 27,30,31,1063,1231,341,28,3677,2872,4363, - 383,332,337,232,1490,35,1047,32,2711,4564, - 27,30,31,1063,1231,341,28,2788,1375,1614, - 1614,3203,2733,4788,2042,1337,236,230,231,4788, - 335,321,2542,323,5438,317,1946,275,5438,1614, - 1614,2690,5438,406,321,2542,323,1649,316,1946, - 2135,2733,3499,1724,5438,4639,243,246,249,252, - 1455,4270,3868,1736,318,3575,323,2733,3203,5438, - 228,919,1810,4221,3203,1354,1354,334,5438,1198, - 1198,5438,5438,334,5438,5438,228,588,35,2444, - 282,5438,5438,5438,205,215,4531,5438,204,212, - 213,214,216,1614,5438,160,160,4522,362,5438, - 205,215,4531,3140,204,212,213,214,216,5438, - 5438,5438,2025,3326,3345,206,208,210,3417,2084, - 522,207,209,2733,5438,2722,3621,5438,5438,540, - 5438,206,208,210,3417,2171,218,207,209,2733, - 5438,3103,228,5438,5438,56,1375,5438,4218,1198, - 2733,4788,5438,5438,2981,156,5438,5438,228,5438, - 5438,2825,3181,5438,180,3402,205,215,4531,2690, - 204,212,213,214,216,156,1354,5438,5438,5438, - 1198,737,205,215,4531,2082,204,212,213,214, - 216,5438,195,588,35,296,3203,206,208,210, - 3417,5438,307,207,209,334,160,1243,35,399, - 432,5438,1976,206,208,210,3417,4788,502,207, - 209,2126,35,1047,32,2479,4564,27,30,31, - 1063,1231,341,28,3671,3140,362,1180,5438,5438, - 5438,2733,4816,1285,3541,5438,5438,2733,4816,5438, - 2025,3326,3345,5438,929,35,2111,391,5438,5438, - 228,5438,3203,588,35,296,228,5438,5438,5438, - 5438,335,3629,5438,5438,932,35,2111,391,3643, - 337,318,3575,323,828,410,4304,5438,354,49, - 828,410,4304,5438,5438,5438,3628,5438,1996,3013, - 5438,5438,5438,5438,348,1774,1018,351,4733,196, - 49,5438,3306,5438,4298,411,412,413,3417,1996, - 47,411,412,413,3417,929,35,2111,391,929, - 35,2111,391,2621,5438,5438,5438,5438,3382,5438, - 929,35,2111,391,3382,5438,5438,929,35,2111, - 391,5438,5438,5438,5438,2121,35,2111,391,5438, - 49,5438,5438,5438,49,5438,4135,56,5438,1996, - 570,1198,5438,1996,47,49,929,35,2111,391, - 5438,2981,49,3306,1996,47,5438,939,5438,5438, - 49,1996,47,929,35,2111,391,156,2160,1996, - 47,5438,414,416,5438,2247,5438,4340,414,417, - 5438,49,5438,4503,2136,35,2111,391,5438,5438, - 1996,47,5438,2731,5438,5438,1153,540,49,4553, - 5438,56,5438,5438,2597,540,5438,1996,47,5438, - 5438,2647,5438,56,56,2733,345,540,2733,49, - 5438,3523,5438,156,345,5438,5438,5438,1996,47, - 5438,156,5438,188,2690,5438,345,345,5438,4284, - 2042,1731,4573,156,5438,4788,5438,2797,588,35, - 2111,391,5438,1602,5438,5438,5438,1688,5438,2797, - 2797,588,35,2111,391,588,35,2111,391,1896, - 2324,5438,588,35,2111,391,588,35,2111,391, - 56,5438,5438,49,2733,56,5438,5438,5438,540, - 3203,5438,1996,1274,5438,190,49,5438,5438,334, - 49,508,5438,345,5438,1996,2521,49,345,1996, - 2757,49,5438,5438,5438,156,1996,673,56,56, - 1996,2732,540,540,56,188,2797,5438,2733,4271, - 5438,4284,5438,56,5438,5438,2425,2733,5438,56, - 5438,345,345,2733,505,507,56,345,156,156, - 2733,2481,5438,5438,5438,1198,345,5438,188,188, - 5438,5438,345,5438,4284,4284,5438,5438,5438,345, - 2797,5438,5438,5438,5438,4161,5438,5438,5438,2797, - 2032,156,5438,5438,5438,2797,4114,4197,5438,512, - 5438,162,2797,5438,5438,510,5438,5438,5438,5438, - 5438,5438,537,5438,5438,5438,5438,5438,5438,5438, - 5438,5438,5438,5438,5438,5438,5438,5438,5438,5438, - 4211,4319,5438,5438,5438,5438,5438,5438,5438,5438, - 5438,5438,5438,5438,5438,5438,5438,5438,5438,5438, - 5438,5438,5438,5438,5438,5438,5438,5438,5438,5438, - 5438,5438,5438,5438,5438,5438,5438,5438,5438,5438, - 5438,5438,5438,5438,5438,5438,5438,5438,5438,5438, - 5438,5438,5438,5438,5438,5438,5438,5438,5438,5438, - 5438,5438,5438,5438,5438,5438,5438,5438,5438,5438, - 5438,5438,5438,5438,5438,5438,5438,5438,5438,5438, - 5438,5438,5438,5438,5438,5438,5438,5438,5438,5438, - 5438,5438,5438,5438,5438,5438,5438,5438,5438,5438, - 5438,5438,5438,5438,5438,5438,5438,5438,5438,5438, - 5438,4403,5438,0,39,5453,0,39,5452,0, - 1511,29,0,443,1554,0,457,1597,0,38, - 622,0,38,5453,0,38,5452,0,2634,126, - 0,1,447,0,461,865,0,460,1281,0, - 2976,91,0,1511,390,0,35,33,0,32, - 34,0,39,622,0,1,729,0,1,5711, + 198,198,198,78,81,81,175,175,133,133, + 134,134,134,134,134,134,3,135,135,132, + 132,111,111,84,79,75,75,163,163,112, + 112,199,199,199,136,136,126,126,200,200, + 176,176,1119,35,2498,2475,1791,2706,27,30, + 31,1065,1233,26,28,2456,263,25,23,50, + 1282,106,76,77,108,73,1291,1320,1310,1424, + 1377,1587,1777,1501,1716,71,1685,275,1775,1826, + 143,1592,1882,158,144,1631,2950,1892,35,1049, + 32,4458,4566,27,30,31,1065,1233,342,28, + 2450,587,4081,1280,2735,233,1869,35,1049,32, + 4782,4566,27,30,31,1065,1233,342,28,1547, + 354,666,3378,346,587,2115,2446,34,236,231, + 232,2275,1148,535,1504,35,1049,32,1330,276, + 41,30,31,1065,1233,1618,2799,322,2544,324, + 182,317,1948,587,35,3305,538,1631,243,246, + 249,252,1457,355,2898,1088,322,2544,324,743, + 317,1948,666,921,1857,1312,1476,3584,501,347, + 1776,1020,352,2898,327,35,281,1941,565,4803, + 3186,739,3127,3504,3523,4242,2320,35,1049,32, + 2735,1386,27,30,31,1065,1233,26,28,1039, + 263,25,23,50,1282,106,76,77,108,346, + 1291,1320,1310,1424,1377,1587,823,1501,1716,3442, + 1685,155,1775,1826,143,70,2744,521,144,1225, + 653,1330,2799,587,35,2446,3304,502,674,35, + 2113,392,522,2320,35,1049,32,2735,1386,27, + 30,31,1065,1233,26,28,1039,263,25,23, + 50,1282,106,76,77,108,346,1291,1320,1310, + 1424,1377,1587,49,1501,1716,71,1685,322,1775, + 1826,143,1998,3211,521,144,3109,291,1005,2799, + 3689,3442,233,327,35,281,2727,517,4807,522, + 1217,35,1049,32,2685,3195,27,30,31,1065, + 1233,57,28,2619,1446,245,231,232,3146,4790, + 1621,3188,1240,3594,2320,35,1049,32,2735,1386, + 27,30,31,1065,1233,26,28,1039,263,25, + 23,50,1282,106,76,77,108,346,1291,1320, + 1310,1424,1377,1587,517,1501,1716,1088,1685,408, + 1775,1826,143,1352,3205,521,144,587,35,284, + 2799,1446,155,2979,155,3194,4790,3458,3188,4171, + 522,2528,35,1049,32,2735,1386,27,30,31, + 1065,1233,26,28,1039,263,25,23,50,1282, + 106,76,77,108,346,1291,1320,1310,1424,1377, + 1587,1611,1501,1716,135,1685,1766,1775,1826,143, + 1603,3205,521,144,881,587,3584,2799,1618,3422, + 335,587,35,2113,392,517,2236,522,1356,464, + 61,1381,35,1049,32,1853,3195,27,30,31, + 1065,1233,56,28,1642,88,3229,94,102,3188, + 1322,4004,2663,35,1049,32,435,1386,27,30, + 31,1065,1233,26,28,1039,263,25,23,50, + 1282,106,76,77,108,2086,1291,1320,1310,1424, + 1377,1587,518,1501,1716,2619,1685,425,1775,1826, + 143,42,3264,382,144,3661,2389,35,1049,32, + 1456,1386,27,30,31,1065,1233,26,28,1039, + 263,25,23,50,1282,106,76,77,108,1377, + 1291,1320,1310,1424,1377,1587,1697,1501,1716,2229, + 1685,2125,1775,1826,143,824,292,382,144,3661, + 1906,2837,35,1049,32,2230,1386,27,30,31, + 1065,1233,26,28,1039,263,25,23,50,1282, + 106,76,77,108,4138,1291,1320,1310,1424,1377, + 1587,60,1501,1716,1611,1685,356,1775,3232,164, + 389,383,1802,2447,3127,35,1049,32,4641,1386, + 27,30,31,1065,1233,26,28,1039,263,25, + 23,50,1282,106,76,77,108,447,1291,1320, + 1310,1424,1377,1587,315,1501,1716,582,1685,69, + 1775,3232,164,330,390,383,1802,89,1611,49, + 102,4139,1689,1200,2762,752,2595,35,1049,32, + 4107,1386,27,30,31,1065,1233,26,28,1039, + 263,25,23,50,1282,106,76,77,108,156, + 1291,1320,1310,1424,1377,1587,359,1501,1716,1426, + 1685,2029,1775,1826,143,2972,536,382,144,3661, + 2892,35,1049,32,3105,1386,27,30,31,1065, + 1233,26,28,1039,263,25,23,50,1282,106, + 76,77,108,393,1291,1320,1310,1424,1377,1587, + 93,1501,1716,2246,1685,2075,1775,1826,143,4431, + 2315,158,144,3127,35,1049,32,1943,1386,27, + 30,31,1065,1233,26,28,1039,263,25,23, + 50,1282,106,76,77,108,527,1291,1320,1310, + 1424,1377,1587,434,1501,1716,56,1685,3515,1775, + 3232,164,2249,1088,380,383,1802,2892,35,1049, + 32,413,1386,27,30,31,1065,1233,26,28, + 1039,263,25,23,50,1282,106,76,77,108, + 1449,1291,1320,1310,1424,1377,1587,3130,1501,1716, + 64,1685,2038,1775,1826,143,3378,4790,376,144, + 1718,35,1049,32,427,56,40,30,31,1065, + 1233,1906,2892,35,1049,32,565,1386,27,30, + 31,1065,1233,26,28,1039,263,25,23,50, + 1282,106,76,77,108,463,1291,1320,1310,1424, + 1377,1587,3205,1501,1716,1800,1685,2288,1775,1826, + 143,336,1088,376,144,332,2156,35,2113,392, + 2437,2892,35,1049,32,2323,1386,27,30,31, + 1065,1233,26,28,1039,263,25,23,50,1282, + 106,76,77,108,375,1291,1320,1310,1424,1377, + 1587,49,1501,1716,330,1685,1088,1775,1826,143, + 1998,675,376,144,2461,35,1049,32,3543,1386, + 27,30,31,1065,1233,26,28,1039,263,25, + 23,50,1282,106,76,77,108,1229,1291,1320, + 1310,1424,1377,1587,4027,1501,1716,358,1685,374, + 1775,1826,143,331,338,142,144,536,2892,35, + 1049,32,1611,1386,27,30,31,1065,1233,26, + 28,1039,263,25,23,50,1282,106,76,77, + 108,494,1291,1320,1310,1424,1377,1587,51,1501, + 1716,1611,1685,49,1775,1826,143,696,372,159, + 144,2892,35,1049,32,3266,1386,27,30,31, + 1065,1233,26,28,1039,263,25,23,50,1282, + 106,76,77,108,56,1291,1320,1310,1424,1377, + 1587,1511,1501,1716,582,1685,49,1775,1826,143, + 753,451,155,144,2892,35,1049,32,379,1386, + 27,30,31,1065,1233,26,28,1039,263,25, + 23,50,1282,106,76,77,108,1243,1291,1320, + 1310,1424,1377,1587,1900,1501,1716,1611,1685,49, + 1775,1826,143,834,1618,154,144,2892,35,1049, + 32,882,1386,27,30,31,1065,1233,26,28, + 1039,263,25,23,50,1282,106,76,77,108, + 56,1291,1320,1310,1424,1377,1587,24,1501,1716, + 582,1685,49,1775,1826,143,4549,3223,153,144, + 2892,35,1049,32,379,1386,27,30,31,1065, + 1233,26,28,1039,263,25,23,50,1282,106, + 76,77,108,377,1291,1320,1310,1424,1377,1587, + 3241,1501,1716,1906,1685,400,1775,1826,143,1088, + 1618,152,144,2892,35,1049,32,1611,1386,27, + 30,31,1065,1233,26,28,1039,263,25,23, + 50,1282,106,76,77,108,1409,1291,1320,1310, + 1424,1377,1587,69,1501,1716,1611,1685,49,1775, + 1826,143,3010,1618,151,144,2892,35,1049,32, + 3406,1386,27,30,31,1065,1233,26,28,1039, + 263,25,23,50,1282,106,76,77,108,3589, + 1291,1320,1310,1424,1377,1587,68,1501,1716,582, + 1685,329,1775,1826,143,1105,1877,150,144,2892, + 35,1049,32,530,1386,27,30,31,1065,1233, + 26,28,1039,263,25,23,50,1282,106,76, + 77,108,1611,1291,1320,1310,1424,1377,1587,326, + 1501,1716,1611,1685,49,1775,1826,143,585,536, + 149,144,2892,35,1049,32,1620,1386,27,30, + 31,1065,1233,26,28,1039,263,25,23,50, + 1282,106,76,77,108,4181,1291,1320,1310,1424, + 1377,1587,357,1501,1716,582,1685,49,1775,1826, + 143,676,1618,148,144,2892,35,1049,32,529, + 1386,27,30,31,1065,1233,26,28,1039,263, + 25,23,50,1282,106,76,77,108,416,1291, + 1320,1310,1424,1377,1587,53,1501,1716,1618,1685, + 49,1775,1826,143,1375,1618,147,144,2892,35, + 1049,32,1706,1386,27,30,31,1065,1233,26, + 28,1039,263,25,23,50,1282,106,76,77, + 108,87,1291,1320,1310,1424,1377,1587,52,1501, + 1716,1618,1685,49,1775,1826,143,2876,1988,146, + 144,2892,35,1049,32,1447,1386,27,30,31, + 1065,1233,26,28,1039,263,25,23,50,1282, + 106,76,77,108,353,1291,1320,1310,1424,1377, + 1587,2437,1501,1716,1618,1685,49,1775,1826,143, + 2994,2762,145,144,2892,35,1049,32,1174,1386, + 27,30,31,1065,1233,26,28,1039,263,25, + 23,50,1282,106,76,77,108,90,1291,1320, + 1310,1424,1377,1587,327,1501,1716,1618,1685,49, + 1775,1826,143,2856,1618,140,144,3011,35,1049, + 32,2448,1386,27,30,31,1065,1233,26,28, + 1039,263,25,23,50,1282,106,76,77,108, + 2072,1291,1320,1310,1424,1377,1587,2287,1501,1716, + 2236,1685,49,1775,1826,143,3448,1618,189,144, + 3127,35,1049,32,1088,1386,27,30,31,1065, + 1233,26,28,1039,263,25,23,50,1282,106, + 76,77,108,527,1291,1320,1310,1424,1377,1587, + 67,1501,1716,2563,1685,1324,1775,3232,164,3127, + 35,1049,32,1445,1386,27,30,31,1065,1233, + 26,28,1039,263,25,23,50,1282,106,76, + 77,108,1597,1291,1320,1310,1424,1377,1587,1986, + 1501,1716,451,1685,3254,1775,3232,164,587,35, + 2551,2289,587,35,2113,392,97,3127,35,1049, + 32,296,1386,27,30,31,1065,1233,26,28, + 1039,263,25,23,50,1282,106,76,77,108, + 2556,1291,1320,1310,1424,1377,1587,456,1501,1716, + 1795,1685,160,1775,3232,164,3182,35,1049,32, + 426,1386,27,30,31,1065,1233,26,28,1039, + 263,25,23,50,1282,106,76,77,108,406, + 1291,1320,1310,1424,1377,1587,155,1501,1716,410, + 1685,4587,1775,3232,164,587,35,2446,278,587, + 35,2113,392,246,3127,35,1049,32,429,1386, + 27,30,31,1065,1233,26,28,1039,263,25, + 23,50,1282,106,76,77,108,1795,1291,1320, + 1310,1424,1377,1587,438,1501,1716,49,1685,69, + 3032,657,1864,3127,35,1049,32,4145,1386,27, + 30,31,1065,1233,26,28,1039,263,25,23, + 50,1282,106,76,77,108,302,1291,1320,1310, + 1424,1377,1587,752,1501,1716,590,3006,3127,35, + 1049,32,1618,1386,27,30,31,1065,1233,26, + 28,1039,263,25,23,50,1282,106,76,77, + 108,1618,1291,1320,1310,1424,1377,1587,1330,1501, + 2974,3127,35,1049,32,66,1386,27,30,31, + 1065,1233,26,28,1039,263,25,23,50,1282, + 106,76,77,108,65,1291,1320,1310,1424,1377, + 1587,288,2975,3127,35,1049,32,2991,1386,27, + 30,31,1065,1233,26,28,1039,263,25,23, + 50,1282,106,76,77,108,1951,1291,1320,1310, + 1424,1377,2889,3127,35,1049,32,848,1386,27, + 30,31,1065,1233,26,28,1039,263,25,23, + 50,1282,106,76,77,108,2687,1291,1320,1310, + 1424,2895,3127,35,1049,32,1878,1386,27,30, + 31,1065,1233,26,28,1039,263,25,23,50, + 1282,106,76,77,108,3327,1291,1320,1310,1424, + 2923,1522,35,1049,32,4782,4637,27,30,31, + 1065,1233,342,28,3127,35,1049,32,1457,1386, + 27,30,31,1065,1233,26,28,1039,263,25, + 23,50,1282,106,76,77,108,442,1291,1320, + 1310,2801,49,2375,35,279,1200,1785,35,1049, + 32,3205,4814,27,30,31,1065,1233,59,28, + 335,322,2544,324,1964,317,1948,1718,35,1049, + 32,2694,156,2200,30,31,1065,1233,316,327, + 35,457,3016,408,4652,1618,3127,35,1049,32, + 2808,1386,27,30,31,1065,1233,26,28,1039, + 263,25,23,50,1282,106,76,77,108,2968, + 1291,1320,1310,2804,1101,35,2446,278,64,587, + 35,2113,392,580,309,313,948,2347,35,1049, + 32,3559,4814,27,30,31,1065,1233,26,28, + 328,1336,515,1718,35,1049,32,1015,2726,2277, + 30,31,1065,1233,437,1618,3127,35,1049,32, + 3824,1386,27,30,31,1065,1233,26,28,1039, + 263,25,23,50,1282,106,76,77,108,3046, + 1291,1320,1310,2812,3127,35,1049,32,3189,1386, + 27,30,31,1065,1233,26,28,1039,263,25, + 23,50,1282,106,76,77,108,1330,1291,1320, + 1310,2861,2067,35,1049,32,4326,4566,27,30, + 31,1065,1233,342,28,241,2216,35,2113,392, + 2453,35,282,1401,35,3647,32,4782,4637,27, + 30,31,1065,1233,342,28,1795,587,35,2113, + 392,450,3772,3778,1312,3237,35,2113,392,2444, + 748,49,587,4222,587,35,2113,392,238,263, + 1998,2292,322,2544,324,1234,317,1948,1618,2411, + 35,279,275,3205,2727,222,1378,2560,355,3436, + 275,1200,335,322,2544,324,4389,317,1948,49, + 587,3454,2446,74,347,1776,1020,352,1998,603, + 814,55,3426,1101,35,2446,3456,156,233,2151, + 2547,846,2808,3507,932,3422,201,4130,1956,35, + 1049,32,1311,4637,27,30,31,1065,1233,342, + 28,236,231,232,277,4155,2315,1618,3127,35, + 1049,32,276,1386,27,30,31,1065,1233,26, + 28,1039,263,25,23,50,1282,106,76,77, + 85,243,246,249,252,1457,1476,3584,3205,884, + 54,1548,757,35,2113,392,921,336,322,2544, + 324,1591,320,1948,1679,355,2425,44,3264,369, + 421,423,3625,3186,739,3127,3504,3523,4242,1278, + 631,347,1776,1020,352,2562,653,275,1618,345, + 3127,35,1049,32,2190,1386,27,30,31,1065, + 1233,26,28,1039,263,25,23,50,1282,106, + 76,77,108,2643,1291,1320,2871,3127,35,1049, + 32,325,1386,27,30,31,1065,1233,26,28, + 1039,263,25,23,50,1282,106,76,77,108, + 259,1291,1320,2874,542,1785,35,1049,32,3349, + 4814,27,30,31,1065,1233,58,28,587,35, + 2446,280,1088,229,1707,2139,72,291,49,2241, + 156,3044,1200,2576,4790,394,431,1390,1,180, + 3404,49,542,582,2425,3009,49,204,216,4533, + 1200,203,213,214,215,217,486,169,1984,2425, + 1879,229,2826,3594,2735,2488,2066,168,156,183, + 167,170,171,172,173,174,4100,180,3404,3205, + 1879,582,1127,2692,2735,204,216,4533,2979,203, + 213,214,215,217,752,169,49,843,35,457, + 3271,2132,4652,2692,98,168,181,184,167,170, + 171,172,173,174,2077,35,1049,32,4326,4566, + 27,30,31,1065,1233,342,28,3127,35,1049, + 32,1330,1386,27,30,31,1065,1233,26,28, + 1039,263,25,23,50,1282,106,76,77,108, + 363,1291,2563,395,431,2631,1244,35,297,2050, + 4659,2225,289,2735,2635,3328,3347,49,397,431, + 363,3030,96,2235,322,2544,324,1240,317,1948, + 2770,2988,346,2350,3368,3328,3347,1016,35,400, + 355,531,1364,35,1049,32,1267,4637,27,30, + 31,1065,1233,342,28,1051,347,1776,1020,352, + 3127,35,1049,32,532,1386,27,30,31,1065, + 1233,26,28,1039,263,25,23,50,1282,106, + 76,77,108,1618,1291,2603,3353,49,761,49, + 233,542,3205,3561,1726,929,35,2113,392,240, + 263,336,322,2544,324,1226,318,1948,345,924, + 346,2085,542,248,231,232,101,156,355,454, + 3772,3778,752,1016,35,3312,2041,1604,1482,2310, + 49,229,2280,2799,349,1776,1020,352,156,1998, + 2621,49,528,938,3847,4205,431,180,3404,233, + 542,582,1795,2862,2783,204,216,4533,49,203, + 213,214,215,217,2416,169,49,1998,2158,229, + 4099,2425,241,231,232,168,156,4203,167,170, + 171,172,173,174,517,180,3404,1814,542,582, + 299,306,49,204,216,4533,3510,203,213,214, + 215,217,2719,169,2419,2517,2735,229,587,35, + 2113,392,2289,168,156,178,167,170,171,172, + 173,174,603,180,3404,346,542,582,2226,155, + 1139,204,216,4533,4667,203,213,214,215,217, + 49,169,49,275,1981,229,1200,2143,930,2491, + 752,168,156,176,167,170,171,172,173,174, + 689,180,3404,49,542,582,528,1060,1618,204, + 216,4533,156,203,213,214,215,217,2519,169, + 396,431,2077,229,2155,2692,1244,3703,297,168, + 156,177,167,170,171,172,173,174,775,180, + 3404,3509,542,582,1795,343,49,204,216,4533, + 4113,203,213,214,215,217,2778,169,298,2153, + 2735,229,587,35,2113,392,2522,168,156,187, + 167,170,171,172,173,174,2557,180,3404,346, + 2328,582,2496,179,2735,204,216,4533,1800,203, + 213,214,215,217,2695,169,2586,49,929,35, + 2113,392,4248,2692,1618,168,46,4319,167,170, + 171,172,173,174,1695,35,1049,32,4782,4566, + 27,30,31,1065,1233,342,28,2421,2555,924, + 49,4320,2253,49,1341,2651,1200,3252,446,2735, + 460,861,1998,47,1610,542,1795,1446,1482,49, + 2651,3543,4790,4493,2735,49,2710,49,2692,4186, + 354,4753,156,1784,229,587,35,2113,392,2697, + 364,156,540,2692,322,2544,324,155,317,1948, + 180,3404,4688,1800,582,199,3363,338,204,216, + 4533,316,203,213,214,215,217,3205,169,155, + 436,1800,1795,355,4705,947,335,233,168,542, + 192,167,170,171,172,173,174,2626,155,347, + 1776,1020,352,4726,2584,509,233,1941,229,49, + 251,231,232,1154,2591,156,4524,309,313,948, + 509,198,2690,2001,180,3404,3543,2735,582,254, + 231,232,204,216,4533,4341,203,213,214,215, + 217,4210,169,1033,3543,2703,229,542,507,508, + 1795,1618,168,3824,186,167,170,171,172,173, + 174,337,338,506,508,49,229,1738,2585,1683, + 206,216,4533,156,205,213,214,215,217,3490, + 338,49,180,3404,455,4063,582,2743,546,305, + 204,216,4533,2658,203,213,214,215,217,752, + 169,207,209,211,3419,3728,524,208,210,1979, + 168,2720,195,167,170,171,172,173,174,3127, + 35,1049,32,2732,1386,27,30,31,1065,1233, + 26,28,1039,263,25,23,50,1282,106,76, + 77,108,534,2627,3127,35,1049,32,1713,1386, + 27,30,31,1065,1233,26,28,1039,263,25, + 23,50,1282,106,76,77,108,307,2755,3127, + 35,1049,32,2718,1386,27,30,31,1065,1233, + 26,28,1039,263,25,23,50,1282,106,76, + 77,108,2741,2766,3127,2115,1049,2123,2751,1386, + 27,30,31,1065,1233,26,28,1039,263,25, + 23,50,1282,106,76,77,84,3127,35,1049, + 32,2758,1386,27,30,31,1065,1233,26,28, + 1039,263,25,23,50,1282,106,76,77,83, + 3127,35,1049,32,2753,1386,27,30,31,1065, + 1233,26,28,1039,263,25,23,50,1282,106, + 76,77,82,3127,35,1049,32,2733,1386,27, + 30,31,1065,1233,26,28,1039,263,25,23, + 50,1282,106,76,77,81,3127,35,1049,32, + 2739,1386,27,30,31,1065,1233,26,28,1039, + 263,25,23,50,1282,106,76,77,80,3127, + 35,1049,32,2793,1386,27,30,31,1065,1233, + 26,28,1039,263,25,23,50,1282,106,76, + 77,79,3127,35,1049,32,2794,1386,27,30, + 31,1065,1233,26,28,1039,263,25,23,50, + 1282,106,76,77,78,2956,35,1049,32,87, + 1386,27,30,31,1065,1233,26,28,1039,263, + 25,23,50,1282,106,76,77,104,3127,35, + 1049,32,2763,1386,27,30,31,1065,1233,26, + 28,1039,263,25,23,50,1282,106,76,77, + 110,3127,35,1049,32,2764,1386,27,30,31, + 1065,1233,26,28,1039,263,25,23,50,1282, + 106,76,77,109,3127,35,1049,32,2765,1386, + 27,30,31,1065,1233,26,28,1039,263,25, + 23,50,1282,106,76,77,107,3127,35,1049, + 32,150,1386,27,30,31,1065,1233,26,28, + 1039,263,25,23,50,1282,106,76,77,105, + 1992,35,3647,32,4782,4566,27,30,31,1065, + 1233,342,28,752,1869,35,1049,32,4782,4566, + 27,30,31,1065,1233,342,28,3072,35,1049, + 32,1795,1386,27,30,31,1065,1233,26,28, + 1039,263,25,23,50,1282,86,76,77,1566, + 1618,2769,49,2735,1355,1355,1200,2240,1200,1200, + 322,2544,324,1827,317,1948,1977,2735,2776,49, + 202,173,229,1200,322,2544,324,814,317,1948, + 1795,386,156,381,160,160,229,1795,150,2771, + 1355,316,2332,1991,1200,2795,206,216,4533,156, + 205,213,214,215,217,587,35,2446,3602,2351, + 206,216,4533,1795,205,213,214,215,217,200, + 160,674,35,2113,392,4031,301,207,209,211, + 3419,49,218,208,210,972,1914,310,313,948, + 2735,207,209,211,3419,385,218,208,210,1618, + 1862,1905,4893,2796,49,1800,49,49,2735,229, + 1795,2735,3222,1618,4365,1998,47,422,423,3625, + 49,49,2790,1795,3474,1200,3350,346,4365,877, + 346,2417,3360,206,216,4533,2758,205,213,214, + 215,217,3286,35,2113,392,3398,748,2485,223, + 2799,156,3064,2799,2777,239,263,1016,35,400, + 2202,2565,193,2253,207,209,211,3419,3543,218, + 208,210,2799,1956,35,1049,32,275,4637,27, + 30,31,1065,1233,342,28,1869,35,1049,32, + 4782,4566,27,30,31,1065,1233,342,28,3679, + 2800,4365,384,333,338,233,1494,35,1049,32, + 2713,4566,27,30,31,1065,1233,342,28,2798, + 1901,1618,1618,3205,2735,4790,1446,1990,237,231, + 232,4790,336,322,2544,324,5443,318,1948,276, + 5443,1618,1618,2692,5443,407,322,2544,324,1653, + 317,1948,2447,2735,3501,1726,5443,4641,244,247, + 250,253,1457,4272,3870,1740,319,3577,324,2735, + 3205,5443,229,921,1812,4223,3205,1355,1355,335, + 5443,1200,1200,5443,5443,335,5443,5443,229,587, + 35,2446,283,5443,5443,5443,206,216,4533,5443, + 205,213,214,215,217,1618,5443,160,160,4524, + 363,5443,206,216,4533,3142,205,213,214,215, + 217,5443,5443,5443,2027,3328,3347,207,209,211, + 3419,2088,523,208,210,2735,5443,2560,3623,5443, + 5443,542,5443,207,209,211,3419,2175,219,208, + 210,2735,5443,3105,229,5443,5443,49,1901,5443, + 4220,1200,2735,4790,5443,5443,2983,156,5443,5443, + 229,5443,5443,2827,3183,5443,180,3404,206,216, + 4533,2692,205,213,214,215,217,156,1355,5443, + 5443,5443,1200,1800,206,216,4533,2084,205,213, + 214,215,217,5443,196,587,35,297,3205,207, + 209,211,3419,5443,308,208,210,335,160,1016, + 35,400,433,5443,1980,207,209,211,3419,4790, + 503,208,210,2160,35,1049,32,2481,4566,27, + 30,31,1065,1233,342,28,3673,3142,363,1180, + 5443,5443,5443,2735,4818,1286,3543,5443,5443,2735, + 4818,5443,2027,3328,3347,5443,674,35,2113,392, + 5443,5443,229,5443,3205,587,35,297,229,5443, + 5443,5443,5443,336,3631,5443,5443,929,35,2113, + 392,3645,338,319,3577,324,830,411,4306,5443, + 355,49,830,411,4306,5443,5443,5443,3630,5443, + 1998,3015,5443,5443,5443,5443,349,1776,1020,352, + 4735,197,49,5443,3308,5443,4300,412,413,414, + 3419,1998,47,412,413,414,3419,674,35,2113, + 392,674,35,2113,392,2623,5443,5443,5443,5443, + 3384,5443,674,35,2113,392,3384,5443,5443,674, + 35,2113,392,5443,5443,5443,5443,1649,35,2113, + 392,5443,49,5443,5443,5443,49,5443,4137,49, + 5443,1998,572,1200,5443,1998,47,49,674,35, + 2113,392,5443,2983,49,3308,1998,47,5443,941, + 5443,5443,49,1998,47,674,35,2113,392,156, + 2162,1998,47,5443,415,417,5443,2249,5443,4342, + 415,418,5443,49,5443,4505,2168,35,2113,392, + 5443,5443,1998,47,5443,2721,5443,5443,1155,542, + 49,4555,5443,49,5443,5443,2599,542,5443,1998, + 47,5443,5443,2686,5443,49,49,2735,346,542, + 2735,49,5443,3525,5443,156,346,5443,5443,5443, + 1998,47,5443,156,5443,188,2692,5443,346,346, + 5443,4286,1446,1733,4575,156,5443,4790,5443,2799, + 587,35,2113,392,5443,1604,5443,5443,5443,1690, + 5443,2799,2799,587,35,2113,392,587,35,2113, + 392,1898,2326,5443,587,35,2113,392,587,35, + 2113,392,49,5443,5443,49,2735,49,5443,5443, + 5443,542,3205,5443,1998,1276,5443,190,49,5443, + 5443,335,49,509,5443,346,5443,1998,2523,49, + 346,1998,2759,49,5443,5443,5443,156,1998,675, + 49,49,1998,2734,542,542,49,188,2799,5443, + 2735,4273,5443,4286,5443,49,5443,5443,2427,2735, + 5443,49,5443,346,346,2735,506,508,49,346, + 156,156,2735,2516,5443,5443,5443,1200,346,5443, + 188,188,5443,5443,346,5443,4286,4286,5443,5443, + 5443,346,2799,5443,5443,5443,5443,4163,5443,5443, + 5443,2799,2034,156,5443,5443,5443,2799,4116,4199, + 5443,513,5443,162,2799,5443,5443,511,5443,5443, + 5443,5443,5443,5443,539,5443,5443,5443,5443,5443, + 5443,5443,5443,5443,5443,5443,5443,5443,5443,5443, + 5443,5443,4213,4321,5443,5443,5443,5443,5443,5443, + 5443,5443,5443,5443,5443,5443,5443,5443,5443,5443, + 5443,5443,5443,5443,5443,5443,5443,5443,5443,5443, + 5443,5443,5443,5443,5443,5443,5443,5443,5443,5443, + 5443,5443,5443,5443,5443,5443,5443,5443,5443,5443, + 5443,5443,5443,5443,5443,5443,5443,5443,5443,5443, + 5443,5443,5443,5443,5443,5443,5443,5443,5443,5443, + 5443,5443,5443,5443,5443,5443,5443,5443,5443,5443, + 5443,5443,5443,5443,5443,5443,5443,5443,5443,5443, + 5443,5443,5443,5443,5443,5443,5443,5443,5443,5443, + 5443,5443,5443,5443,5443,5443,5443,5443,5443,5443, + 5443,5443,5443,4405,5443,0,39,5458,0,39, + 5457,0,1513,29,0,444,1556,0,458,1599, + 0,38,624,0,38,5458,0,38,5457,0, + 2636,126,0,1,448,0,462,867,0,461, + 1283,0,2978,91,0,1513,391,0,35,33, + 0,32,34,0,39,624,0,1,731,0, + 1,5717,0,1,5716,0,1,5715,0,1, + 5714,0,1,5713,0,1,5712,0,1,5711, 0,1,5710,0,1,5709,0,1,5708,0, - 1,5707,0,1,5706,0,1,5705,0,1, - 5704,0,1,5703,0,1,5702,0,1,5701, - 0,39,1,5453,0,39,1,5452,0,632, - 1,0,284,397,0,284,289,0,5672,241, - 0,5671,241,0,5778,241,0,5777,241,0, - 5699,241,0,5698,241,0,5697,241,0,5696, - 241,0,5695,241,0,5694,241,0,5693,241, - 0,5692,241,0,5711,241,0,5710,241,0, - 5709,241,0,5708,241,0,5707,241,0,5706, - 241,0,5705,241,0,5704,241,0,5703,241, - 0,5702,241,0,5701,241,0,39,5453,241, - 0,39,5452,241,0,5476,241,0,5453,48, - 0,5452,48,0,5444,1,0,5443,1,0, - 4102,237,0,32,391,0,29,390,0,43, - 5474,0,43,37,0,2634,128,0,2634,127, - 0,333,448,0,5476,1,0,39,1,0, - 47,37,0,1,92,0,504,3383,0,5476, - 1,229,0,39,1,229,0,229,419,0, - 5453,37,0,5452,37,0,5453,2,37,0, - 5452,2,37,0,5453,36,0,5452,36,0, - 5474,45,0,37,45,0,5448,408,0,5447, - 408,0,1,604,0,1,3300,0,1,622, - 0,229,418,0,3115,320,0,333,95,0, - 35,73,0,1,333,0,4138,279,0,504, - 4347,0,1,229,0,229,220,0,1,3135, - 0,1,4255,0,229,219,0,5450,1,0, - 5446,1,0,1,229,3914,0,5447,229,0, - 3937,229,0,5450,386,0,5449,386,0,4119, - 229,0,10,12,0,8,10,12,0,185, - 3563,0,4325,386,0,8,12,0 + 1,5707,0,39,1,5458,0,39,1,5457, + 0,634,1,0,285,398,0,285,290,0, + 5678,242,0,5677,242,0,5784,242,0,5783, + 242,0,5705,242,0,5704,242,0,5703,242, + 0,5702,242,0,5701,242,0,5700,242,0, + 5699,242,0,5698,242,0,5717,242,0,5716, + 242,0,5715,242,0,5714,242,0,5713,242, + 0,5712,242,0,5711,242,0,5710,242,0, + 5709,242,0,5708,242,0,5707,242,0,39, + 5458,242,0,39,5457,242,0,5481,242,0, + 5458,48,0,5457,48,0,5449,1,0,5448, + 1,0,4104,238,0,32,392,0,29,391, + 0,43,5479,0,43,37,0,2636,128,0, + 2636,127,0,334,449,0,5481,1,0,39, + 1,0,47,37,0,1,92,0,505,3385, + 0,5481,1,230,0,39,1,230,0,230, + 420,0,5458,37,0,5457,37,0,5458,2, + 37,0,5457,2,37,0,5458,36,0,5457, + 36,0,5479,45,0,37,45,0,5453,409, + 0,5452,409,0,1,606,0,1,3302,0, + 1,624,0,230,419,0,3117,321,0,334, + 95,0,35,73,0,1,334,0,4140,280, + 0,505,4349,0,1,230,0,230,221,0, + 1,3137,0,1,4257,0,230,220,0,5455, + 1,0,5451,1,0,1,230,3916,0,5452, + 230,0,3939,230,0,5455,387,0,5454,387, + 0,4121,230,0,10,12,0,8,10,12, + 0,4254,194,0,185,3565,0,4327,387,0, + 8,12,0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -1121,8 +1122,8 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP 24,25,26,27,28,29,30,31,32,33, 34,35,36,37,38,39,40,41,42,43, 44,45,46,47,0,49,50,51,52,53, - 54,69,56,57,58,59,60,61,62,101, - 64,65,66,67,106,92,93,71,90,0, + 54,69,56,57,58,59,60,61,62,0, + 64,65,66,67,0,92,93,71,4,0, 74,75,76,77,78,79,80,81,82,83, 84,85,0,1,2,3,4,5,6,7, 8,9,10,11,12,13,14,15,16,17, @@ -1131,33 +1132,33 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP 38,39,40,41,42,43,44,45,46,47, 0,49,50,51,52,53,54,68,56,57, 58,59,60,61,62,0,64,65,66,67, - 0,1,2,71,4,10,74,75,76,77, + 0,1,2,71,4,0,74,75,76,77, 78,79,80,81,82,83,84,85,0,1, 2,3,4,5,6,7,8,9,10,11, 12,13,14,15,16,17,18,19,20,21, 22,23,24,25,26,27,28,29,30,31, 32,33,34,35,36,37,38,39,40,41, 42,43,44,45,46,47,0,49,50,51, - 52,53,54,0,56,57,58,59,60,61, - 62,0,64,65,66,67,0,1,2,8, - 4,0,74,75,76,77,78,79,80,81, + 52,53,54,68,56,57,58,59,60,61, + 62,0,64,65,66,67,0,1,2,0, + 4,10,74,75,76,77,78,79,80,81, 82,83,84,85,0,1,2,3,4,5, 6,7,8,9,10,11,12,13,14,15, 16,17,18,19,20,21,22,23,24,25, 26,27,28,29,30,31,32,33,34,35, 36,37,38,39,40,41,42,43,44,45, - 46,47,71,49,50,51,52,53,54,68, + 46,47,0,49,50,51,52,53,54,0, 56,57,58,59,60,61,62,0,64,65, - 66,67,0,6,0,102,103,104,74,75, + 66,67,0,6,0,0,87,88,74,75, 76,77,78,79,80,81,82,83,84,85, 0,1,2,3,4,5,6,7,8,9, 10,11,12,13,14,15,16,17,18,19, 20,21,22,23,24,25,26,27,28,29, 30,31,32,33,34,35,36,37,38,39, - 40,41,42,43,44,45,46,47,0,49, + 40,41,42,43,44,45,46,47,63,49, 50,51,52,53,54,0,56,57,58,59, - 60,61,62,0,64,65,66,67,0,92, - 93,89,4,91,74,75,76,77,78,79, + 60,61,62,0,64,65,66,67,99,92, + 93,89,9,91,74,75,76,77,78,79, 80,81,82,83,84,85,0,1,2,3, 4,5,6,7,8,9,10,11,12,13, 14,15,16,17,18,19,20,21,22,23, @@ -1165,42 +1166,42 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP 34,35,36,37,38,39,40,41,42,43, 44,45,46,47,0,49,50,51,52,53, 54,0,56,57,58,59,60,61,62,0, - 64,65,66,67,99,6,0,0,1,2, + 64,65,66,67,99,6,0,1,2,0, 74,75,76,77,78,79,80,81,82,83, 84,85,0,1,2,3,4,5,6,7, 8,9,10,11,12,13,14,15,16,17, 18,19,20,21,22,23,24,25,26,27, 28,29,30,31,32,33,34,35,36,37, 38,39,40,41,42,43,44,45,46,47, - 0,49,50,51,52,53,54,0,56,57, + 0,49,50,51,52,53,54,68,56,57, 58,59,60,61,62,0,64,65,66,67, - 99,92,93,87,88,0,74,75,76,77, + 5,92,93,0,1,2,74,75,76,77, 78,79,80,81,82,83,84,85,0,1, 2,3,4,5,6,7,8,9,10,11, 12,13,14,15,16,17,18,19,20,21, 22,23,24,25,26,27,28,29,30,31, 32,33,34,35,36,37,38,39,40,41, 42,43,44,45,46,47,0,49,50,51, - 52,53,54,68,56,57,58,59,60,61, - 62,0,64,65,66,67,0,1,2,23, - 24,5,74,75,76,77,78,79,80,81, + 52,53,54,0,56,57,58,59,60,61, + 62,0,64,65,66,67,0,1,2,8, + 0,5,74,75,76,77,78,79,80,81, 82,83,84,85,0,1,2,3,4,5, 6,7,8,9,10,11,12,13,14,15, 16,17,18,19,20,21,22,23,24,25, 26,27,28,29,30,31,32,33,34,35, 36,37,38,39,40,41,42,43,44,45, - 46,47,0,49,50,51,52,53,54,0, + 46,47,71,49,50,51,52,53,54,69, 56,57,58,59,60,61,62,0,64,65, - 66,67,0,1,2,8,4,0,74,75, + 66,67,0,1,2,0,4,0,74,75, 76,77,78,79,80,81,82,83,84,85, 0,1,2,3,4,5,6,7,8,9, 10,11,12,13,14,15,16,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,71,49, + 40,41,42,43,44,45,46,47,0,49, 50,51,52,53,54,68,56,57,58,59, 60,61,62,0,64,65,66,67,0,1, - 2,0,1,2,74,75,76,77,78,79, + 2,0,87,88,74,75,76,77,78,79, 80,81,82,83,84,85,0,1,2,3, 4,5,6,7,8,9,10,11,12,13, 14,15,16,17,18,19,20,21,22,23, @@ -1208,7 +1209,7 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP 34,35,36,37,38,39,40,41,42,43, 44,45,46,47,0,49,50,51,52,53, 54,0,56,57,58,59,60,61,62,0, - 64,65,66,67,0,0,0,8,3,3, + 64,65,66,67,0,0,1,2,87,88, 74,75,76,77,78,79,80,81,82,83, 84,85,0,1,2,3,4,5,6,7, 8,9,10,11,12,13,14,15,16,17, @@ -1216,10 +1217,10 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP 28,29,30,31,32,33,34,35,36,37, 38,39,40,41,42,43,44,45,46,47, 0,49,50,51,52,53,54,0,56,57, - 58,59,60,61,62,0,64,65,66,67, - 0,6,0,89,9,91,74,75,76,77, + 58,59,60,61,62,8,64,65,66,67, + 0,1,2,89,0,91,74,75,76,77, 78,79,80,81,82,83,84,85,0,1, - 2,3,4,5,6,7,117,9,10,11, + 2,3,4,5,6,7,0,9,10,11, 12,13,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,40,41, @@ -1227,233 +1228,234 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP 52,53,54,0,56,57,58,4,60,0, 1,2,3,4,5,6,7,8,9,10, 11,12,13,14,15,16,17,18,19,20, - 21,22,23,24,0,39,27,28,29,30, + 21,22,23,24,100,118,27,28,29,30, 31,32,33,34,35,36,0,1,2,40, - 4,5,0,7,0,0,0,48,0,1, - 2,5,4,0,9,56,57,58,59,0, - 61,62,0,1,2,100,22,23,24,0, + 4,5,0,7,0,0,100,48,0,1, + 2,6,4,0,9,56,57,58,59,0, + 61,62,0,0,1,2,22,23,24,0, 71,72,28,29,30,31,32,33,34,35, 36,22,23,24,48,86,0,28,29,30, - 31,32,33,34,35,36,48,0,0,1, - 2,102,103,104,0,1,2,3,4,5, - 6,7,8,9,10,11,12,13,14,15, - 16,17,18,19,20,21,22,23,24,87, - 88,27,28,29,30,31,32,33,34,35, - 36,55,0,0,40,3,48,4,6,0, - 8,9,48,0,1,2,0,8,5,90, - 56,57,58,59,8,61,62,25,26,27, - 0,1,2,0,0,71,72,0,0,37, - 38,8,0,1,2,3,4,5,6,7, - 86,9,0,0,0,1,2,55,4,0, - 6,48,8,9,0,63,102,103,104,0, - 68,69,70,71,72,73,67,120,48,0, - 1,2,3,4,5,6,7,71,9,87, - 88,89,90,91,92,93,94,95,96,97, - 98,99,100,101,0,63,73,105,106,107, - 108,109,110,111,112,113,114,115,116,117, - 0,119,120,3,55,0,6,73,8,9, - 96,97,0,1,2,3,4,5,6,7, - 8,9,63,0,90,25,26,27,0,70, - 25,26,48,100,22,23,24,37,38,27, - 28,29,30,31,32,33,34,35,36,0, - 1,2,3,4,5,55,7,8,0,0, - 1,2,4,63,5,0,7,55,68,69, - 70,71,72,73,0,63,27,0,1,2, - 3,4,5,6,7,73,9,87,88,89, - 90,91,92,93,94,95,96,97,98,99, - 100,101,74,0,0,105,106,107,108,109, - 110,111,112,113,114,115,116,117,0,119, - 120,0,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,30,31,32,33,34,35,36,0,1, - 2,40,4,98,6,0,0,9,0,48, - 0,0,98,0,3,0,0,56,57,58, - 59,8,61,62,8,64,39,22,23,24, - 87,88,71,28,29,30,31,32,33,34, - 35,36,0,1,2,87,88,86,0,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,63,27,28,29,30,31, - 32,33,34,35,36,70,73,0,40,73, - 0,1,2,3,4,5,48,7,8,89, - 0,91,0,55,56,57,58,59,0,61, - 62,9,64,0,1,2,101,27,5,0, - 7,106,107,108,109,110,111,112,113,114, - 115,116,0,0,86,0,1,2,3,4, + 31,32,33,34,35,36,48,0,0,0, + 1,2,103,104,105,0,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,30,31,32,33,34, + 35,36,89,0,91,40,3,48,0,6, + 0,8,9,48,68,0,1,2,96,97, + 5,56,57,58,59,0,61,62,25,26, + 27,0,1,2,0,0,71,72,3,48, + 37,38,8,0,1,2,3,4,5,6, + 7,86,9,96,97,0,0,0,55,3, + 0,1,2,48,4,5,63,7,103,104, + 105,68,69,70,71,72,73,87,88,48, + 0,1,2,3,4,5,6,7,0,9, + 87,88,89,90,91,92,93,94,95,96, + 97,98,99,100,101,70,63,73,48,106, + 107,108,109,110,111,112,113,114,115,116, + 117,118,119,120,0,0,0,3,0,4, + 6,6,8,9,9,0,0,1,2,3, + 4,5,6,7,8,9,89,0,91,25, + 26,27,72,25,26,0,1,2,22,23, + 24,37,38,27,28,29,30,31,32,33, + 34,35,36,0,1,2,3,4,5,55, + 7,8,0,0,1,2,98,63,5,63, + 7,55,68,69,70,71,72,73,63,63, + 27,0,1,2,3,4,5,6,7,73, + 9,87,88,89,90,91,92,93,94,95, + 96,97,98,99,100,101,0,0,0,3, + 106,107,108,109,110,111,112,113,114,115, + 116,117,118,119,120,0,1,2,3,4, 5,6,7,8,9,10,11,12,13,14, 15,16,17,18,19,20,21,22,23,24, - 87,88,27,28,29,30,31,32,33,34, - 35,36,0,1,2,40,0,0,6,0, - 0,1,2,48,4,5,0,7,0,1, - 2,56,57,58,59,63,61,62,0,64, - 0,22,23,24,96,97,71,28,29,30, - 31,32,33,34,35,36,0,0,1,2, - 48,86,0,1,2,3,4,5,6,7, + 0,0,27,28,29,30,31,32,33,34, + 35,36,0,1,2,40,4,0,6,0, + 0,9,0,48,0,25,26,0,8,0, + 0,56,57,58,59,8,61,62,8,64, + 0,22,23,24,87,88,71,28,29,30, + 31,32,33,34,35,36,55,27,0,1, + 2,86,0,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,72,27, - 28,29,30,31,32,33,34,35,36,0, - 1,2,40,4,5,48,7,0,1,2, - 48,4,0,6,0,0,9,0,56,57, - 58,59,8,61,62,8,64,0,1,2, - 3,4,5,71,7,8,0,0,1,2, - 3,4,5,6,7,0,9,48,86,0, + 18,19,20,21,22,23,24,67,0,27, + 28,29,30,31,32,33,34,35,36,70, + 73,0,40,63,0,1,2,3,4,5, + 48,7,8,25,26,0,0,55,56,57, + 58,59,0,61,62,10,64,0,1,2, + 101,27,5,0,7,0,107,108,109,110, + 111,112,113,114,115,116,117,0,86,0, 1,2,3,4,5,6,7,8,9,10, 11,12,13,14,15,16,17,18,19,20, - 21,22,23,24,118,60,27,28,29,30, - 31,32,33,34,35,36,69,73,71,40, - 63,0,1,2,3,4,5,48,7,0, - 73,89,3,91,90,56,57,58,59,72, - 61,62,0,64,69,0,1,2,3,4, - 71,6,0,0,9,3,0,0,1,2, - 3,4,5,0,7,86,0,1,2,3, + 21,22,23,24,59,0,27,28,29,30, + 31,32,33,34,35,36,0,1,2,40, + 68,69,6,0,0,1,2,48,4,5, + 0,7,55,68,0,56,57,58,59,0, + 61,62,8,64,98,22,23,24,0,72, + 71,28,29,30,31,32,33,34,35,36, + 55,27,23,24,48,86,0,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,63,27,28,29,30,31,32,33, - 34,35,36,0,1,2,40,4,63,6, - 0,0,9,0,48,4,63,6,8,63, - 9,0,56,57,58,59,63,61,62,72, - 64,0,1,2,3,4,5,27,7,0, - 1,2,3,4,5,0,7,0,1,2, - 0,0,86,0,1,2,3,4,5,6, + 24,0,0,27,28,29,30,31,32,33, + 34,35,36,0,1,2,40,0,0,1, + 2,3,4,5,48,7,0,0,0,3, + 3,0,56,57,58,59,8,61,62,8, + 64,0,1,2,3,4,5,71,7,8, + 0,1,2,0,4,0,6,55,8,9, + 120,48,86,0,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,69, + 17,18,19,20,21,22,23,24,0,63, 27,28,29,30,31,32,33,34,35,36, - 0,1,2,40,63,0,1,2,3,4, - 5,48,7,0,0,0,1,2,4,56, - 57,58,59,68,61,62,0,64,68,3, - 69,0,1,2,8,4,22,6,25,26, - 9,0,1,2,0,4,5,3,7,86, + 0,73,71,40,63,0,1,2,3,4, + 5,48,7,0,73,60,3,0,90,56, + 57,58,59,73,61,62,0,64,0,0, + 1,2,3,4,71,6,8,0,9,0, + 90,0,1,2,3,4,5,8,7,86, 0,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, - 30,31,32,33,34,35,36,0,0,63, - 40,0,1,2,68,69,0,0,48,73, - 25,26,0,1,2,0,56,57,58,59, - 0,61,62,0,64,0,102,103,104,0, - 1,2,0,0,0,3,3,3,0,1, - 2,3,4,5,6,7,86,9,10,11, - 12,13,14,15,16,17,18,19,20,21, - 48,55,55,25,26,0,65,66,3,72, - 55,37,38,8,68,37,38,39,55,41, - 42,43,44,45,46,47,0,49,50,51, - 52,53,54,68,65,66,10,63,60,61, - 94,95,70,65,66,0,1,2,3,4, - 5,6,7,0,9,10,11,12,13,14, - 15,16,17,18,19,20,21,0,63,0, - 25,26,0,0,0,0,3,8,73,105, - 8,0,37,38,39,59,41,42,43,44, - 45,46,47,119,49,50,51,52,53,54, - 0,1,2,0,0,60,0,1,2,0, - 65,66,3,68,0,1,2,3,4,5, + 20,21,22,23,24,0,63,27,28,29, + 30,31,32,33,34,35,36,0,1,2, + 40,4,63,6,68,69,9,69,48,0, + 63,73,3,103,104,105,56,57,58,59, + 71,61,62,72,64,0,0,1,2,3, + 4,5,6,7,0,9,0,1,2,3, + 4,5,8,7,0,0,86,0,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,30,31,32, + 33,34,35,36,0,1,2,40,4,63, + 6,0,48,9,3,48,70,72,0,63, + 55,67,0,56,57,58,59,9,61,62, + 0,64,0,3,0,0,1,2,8,0, + 1,2,3,4,5,0,7,0,1,2, + 0,1,2,86,0,1,2,3,4,5, 6,7,8,9,10,11,12,13,14,15, - 16,17,18,19,20,21,55,0,69,25, - 26,4,73,68,69,73,0,0,48,68, - 3,37,38,39,0,41,42,43,44,45, - 46,47,0,49,50,51,52,53,54,0, - 1,2,68,69,60,94,95,0,0,1, - 2,67,0,6,0,71,0,1,2,3, - 4,5,6,7,48,9,10,11,12,13, - 14,15,16,17,18,19,20,21,0,55, - 0,25,26,0,1,2,8,48,8,0, - 0,8,68,37,38,39,48,41,42,43, - 44,45,46,47,0,49,50,51,52,53, - 54,0,1,2,0,0,60,3,94,95, - 68,65,66,0,1,2,3,4,5,6, - 7,0,9,10,11,12,13,14,15,16, - 17,18,19,20,21,67,0,0,25,26, - 67,0,48,73,3,0,0,0,0,48, - 37,38,39,8,41,42,43,44,45,46, - 47,0,49,50,51,52,53,54,0,0, - 0,3,27,60,0,70,55,0,65,66, - 0,1,2,3,4,5,6,7,8,9, - 10,11,12,13,14,15,16,17,18,19, - 20,21,55,55,0,25,26,0,4,63, - 3,0,75,0,3,0,0,37,38,39, - 4,41,42,43,44,45,46,47,0,49, - 50,51,52,53,54,0,0,63,69,0, - 60,0,72,0,0,10,10,67,0,1, + 16,17,18,19,20,21,22,23,24,0, + 48,27,28,29,30,31,32,33,34,35, + 36,69,0,63,40,0,1,2,68,69, + 65,66,48,73,0,0,72,3,0,0, + 56,57,58,59,0,61,62,3,64,0, + 0,1,2,0,4,0,6,8,0,9, + 0,3,0,1,2,3,4,5,6,7, + 86,9,10,11,12,13,14,15,16,17, + 18,19,20,21,0,1,2,25,26,0, + 65,66,8,55,55,37,38,0,0,37, + 38,39,4,41,42,43,44,45,46,47, + 55,49,50,51,52,53,54,0,69,0, + 71,63,60,61,0,90,0,65,66,0, + 1,2,3,4,5,6,7,0,9,10, + 11,12,13,14,15,16,17,18,19,20, + 21,67,55,55,25,26,0,1,2,0, + 4,5,3,7,106,68,37,38,39,0, + 41,42,43,44,45,46,47,119,49,50, + 51,52,53,54,0,1,2,68,0,60, + 101,94,95,69,65,66,107,68,0,1, 2,3,4,5,6,7,8,9,10,11, 12,13,14,15,16,17,18,19,20,21, - 55,55,0,25,26,40,40,0,0,0, - 0,4,0,48,48,37,38,39,0,41, - 42,43,44,45,46,47,55,49,50,51, - 52,53,54,0,0,0,0,3,60,5, - 6,0,0,9,8,67,4,0,0,8, - 0,0,0,0,0,4,3,55,8,25, - 26,118,55,27,22,55,0,55,27,0, - 0,37,38,55,72,41,0,27,70,3, - 0,72,0,3,0,3,0,3,0,55, - 55,3,0,0,0,3,3,63,0,65, - 66,0,68,69,70,72,55,0,0,0, - 0,0,0,0,0,0,69,3,70,0, - 0,87,88,89,70,39,92,93,94,95, - 96,97,98,99,100,101,70,0,69,105, - 70,107,108,109,110,111,112,113,114,115, - 116,0,1,2,3,4,5,6,7,8, + 0,1,2,25,26,0,0,90,0,4, + 0,3,48,3,0,37,38,39,8,41, + 42,43,44,45,46,47,0,49,50,51, + 52,53,54,0,1,2,0,0,60,0, + 4,4,0,1,2,67,40,8,48,71, + 0,1,2,3,4,5,6,7,22,9, + 10,11,12,13,14,15,16,17,18,19, + 20,21,0,63,0,25,26,0,1,2, + 0,48,8,73,4,0,72,37,38,39, + 48,41,42,43,44,45,46,47,72,49, + 50,51,52,53,54,0,0,0,0,3, + 60,0,73,8,6,65,66,0,1,2, + 3,4,5,6,7,48,9,10,11,12, + 13,14,15,16,17,18,19,20,21,103, + 104,105,25,26,0,0,0,73,63,0, + 0,0,0,8,37,38,39,8,41,42, + 43,44,45,46,47,0,49,50,51,52, + 53,54,27,0,0,0,27,60,73,4, + 0,70,65,66,0,1,2,3,4,5, + 6,7,8,9,10,11,12,13,14,15, + 16,17,18,19,20,21,55,55,0,25, + 26,3,68,39,69,0,70,0,3,68, + 0,37,38,39,4,41,42,43,44,45, + 46,47,0,49,50,51,52,53,54,74, + 0,0,22,70,60,94,95,0,0,69, + 10,67,0,1,2,3,4,5,6,7, + 8,9,10,11,12,13,14,15,16,17, + 18,19,20,21,0,0,0,25,26,0, + 40,0,3,0,0,10,0,55,48,37, + 38,39,0,41,42,43,44,45,46,47, + 68,49,50,51,52,53,54,0,0,0, + 0,3,60,5,6,40,69,9,8,67, + 0,0,0,48,4,0,94,95,0,4, + 0,55,0,25,26,3,55,27,55,55, + 0,55,0,3,70,37,38,0,39,41, + 3,0,0,0,0,3,3,3,0,0, + 0,3,55,55,72,0,0,0,3,3, + 0,63,0,65,66,55,68,69,70,0, + 55,0,0,0,0,0,0,0,0,0, + 0,70,70,0,0,87,88,89,70,69, + 92,93,94,95,96,97,98,99,100,101, + 0,69,0,0,106,0,108,109,110,111, + 112,113,114,115,116,117,0,1,2,3, + 4,5,6,7,8,9,10,11,12,13, + 14,15,16,17,18,19,20,21,55,70, + 0,25,26,102,72,72,72,90,70,70, + 75,102,102,37,38,39,0,41,42,43, + 44,45,46,47,102,49,50,51,52,53, + 54,0,1,2,3,4,5,6,7,39, 9,10,11,12,13,14,15,16,17,18, - 19,20,21,72,0,55,25,26,69,69, - 72,0,70,72,90,70,0,0,37,38, + 19,20,21,0,0,0,25,26,121,0, + 0,0,0,0,0,0,0,0,37,38, 39,0,41,42,43,44,45,46,47,0, - 49,50,51,52,53,54,0,1,2,3, - 4,5,6,7,40,9,10,11,12,13, - 14,15,16,17,18,19,20,21,121,0, - 0,25,26,0,0,0,0,118,0,0, - 0,0,0,37,38,39,0,41,42,43, - 44,45,46,47,0,49,50,51,52,53, - 54,70,0,0,0,0,60,0,117,0, - 1,2,3,4,5,6,7,0,9,10, - 11,12,13,14,15,16,17,18,19,20, - 21,0,0,0,25,26,0,0,0,0, - 0,0,0,0,0,0,37,38,39,0, - 41,42,43,44,45,46,47,0,49,50, - 51,52,53,54,0,1,2,3,4,5, - 6,7,63,9,10,11,12,13,14,15, - 16,17,18,19,20,21,0,0,0,25, - 26,0,0,0,0,0,0,0,0,0, - 0,37,38,39,0,41,42,43,44,45, - 46,47,0,49,50,51,52,53,54,0, - 0,0,0,0,60,0,1,2,3,4, + 49,50,51,52,53,54,0,0,0,0, + 0,60,0,0,118,0,1,2,3,4, 5,6,7,0,9,10,11,12,13,14, 15,16,17,18,19,20,21,0,0,0, 25,26,0,0,0,0,0,0,0,0, 0,0,37,38,39,0,41,42,43,44, 45,46,47,0,49,50,51,52,53,54, - 0,1,2,3,4,5,6,7,0,9, + 0,1,2,3,4,5,6,7,63,9, 10,11,12,13,14,15,16,17,18,19, 20,21,0,0,0,25,26,0,0,0, 0,0,0,0,0,0,0,37,38,39, 0,41,42,43,44,45,46,47,0,49, - 50,51,52,53,54,0,1,2,3,4, - 5,6,7,0,9,10,11,12,13,14, - 15,16,17,18,19,20,21,0,0,0, - 25,26,0,0,0,0,0,0,0,0, - 0,0,37,38,39,0,41,42,43,44, - 45,46,47,0,49,50,51,52,53,54, - 0,1,2,0,4,0,0,0,0,0, - 10,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,0,0,0,28,29, - 30,31,32,33,34,35,36,0,0,0, - 40,0,0,0,0,0,0,0,0,0, - 1,2,0,4,0,0,56,57,58,10, - 11,12,13,14,15,16,17,18,19,20, - 21,22,23,24,0,0,0,28,29,30, - 31,32,33,34,35,36,0,0,0,40, - 0,1,2,3,4,5,6,7,8,9, - 0,0,0,0,0,56,57,58,0,0, - 0,0,22,23,24,0,0,27,28,29, - 30,31,32,33,34,35,36,11,12,13, + 50,51,52,53,54,0,0,0,0,0, + 60,0,1,2,3,4,5,6,7,0, + 9,10,11,12,13,14,15,16,17,18, + 19,20,21,0,0,0,25,26,0,0, + 0,0,0,0,0,0,0,0,37,38, + 39,0,41,42,43,44,45,46,47,0, + 49,50,51,52,53,54,0,1,2,3, + 4,5,6,7,0,9,10,11,12,13, + 14,15,16,17,18,19,20,21,0,0, + 0,25,26,0,0,0,0,0,0,0, + 0,0,0,37,38,39,0,41,42,43, + 44,45,46,47,0,49,50,51,52,53, + 54,0,1,2,3,4,5,6,7,0, + 9,10,11,12,13,14,15,16,17,18, + 19,20,21,0,0,0,25,26,0,0, + 0,0,0,0,0,0,0,0,37,38, + 39,0,41,42,43,44,45,46,47,0, + 49,50,51,52,53,54,0,1,2,0, + 4,0,0,0,0,0,10,11,12,13, 14,15,16,17,18,19,20,21,22,23, 24,0,0,0,28,29,30,31,32,33, - 34,35,36,63,0,0,0,0,0,0, - 0,0,0,73,0,0,0,0,0,0, + 34,35,36,0,0,0,40,0,0,0, + 0,0,0,0,0,0,1,2,0,4, + 0,0,56,57,58,10,11,12,13,14, + 15,16,17,18,19,20,21,22,23,24, + 0,0,0,28,29,30,31,32,33,34, + 35,36,0,0,0,40,0,1,2,3, + 4,5,6,7,8,9,0,0,0,0, + 0,56,57,58,0,0,0,0,22,23, + 24,0,0,27,28,29,30,31,32,33, + 34,35,36,11,12,13,14,15,16,17, + 18,19,20,21,22,23,24,0,0,0, + 28,29,30,31,32,33,34,35,36,63, + 0,0,0,0,0,0,0,0,0,73, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 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; @@ -1461,346 +1463,346 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP public interface TermAction { public final static char termAction[] = {0, - 5438,5403,5382,5382,5382,5382,5382,5382,5419,5382, + 5443,5405,5384,5384,5384,5384,5384,5384,5421,5384, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,5409,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5407,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,139,1, - 1,1,1,1,1,1,1,1,1,2740, - 1,5613,1910,115,3665,1,1,5449,360,3747, - 5438,5445,157,4741,1092,4099,3560,2204,3504,3891, - 3206,4006,599,3983,2765,3960,10,5422,5422,5422, - 5422,5422,5422,5422,5422,5422,5422,5422,5422,5422, - 5422,5422,5422,5422,5422,5422,5422,5422,5422,5422, - 5422,5422,5422,5422,5422,5422,5422,5422,5422,5422, - 5422,5422,5422,5422,5422,5422,5422,5422,5422,5422, - 5422,5422,5422,5422,333,5422,5422,5422,5422,5422, - 5422,1476,5422,5422,5422,5422,5422,5422,5422,2252, - 5422,5422,5422,5422,2520,3722,3697,5422,5797,5438, - 5422,5422,5422,5422,5422,5422,5422,5422,5422,5422, - 5422,5422,8,5425,5425,5425,5425,5425,5425,5425, - 5425,5425,5425,5425,5425,5425,5425,5425,5425,5425, - 5425,5425,5425,5425,5425,5425,5425,5425,5425,5425, - 5425,5425,5425,5425,5425,5425,5425,5425,5425,5425, - 5425,5425,5425,5425,5425,5425,5425,5425,5425,5425, - 398,5425,5425,5425,5425,5425,5425,3049,5425,5425, - 5425,5425,5425,5425,5425,303,5425,5425,5425,5425, - 289,5175,5175,5425,284,5740,5425,5425,5425,5425, - 5425,5425,5425,5425,5425,5425,5425,5425,5438,5403, - 5382,5382,5382,5382,5382,5382,5410,5382,1,1, + 1,1,1,1,1,334,1,1,1,2742, + 1,5618,1912,115,3667,1,1,5454,399,3749, + 5443,5450,157,4743,1094,4101,3562,2206,3506,3893, + 3208,4008,601,3985,2767,3962,10,5424,5424,5424, + 5424,5424,5424,5424,5424,5424,5424,5424,5424,5424, + 5424,5424,5424,5424,5424,5424,5424,5424,5424,5424, + 5424,5424,5424,5424,5424,5424,5424,5424,5424,5424, + 5424,5424,5424,5424,5424,5424,5424,5424,5424,5424, + 5424,5424,5424,5424,300,5424,5424,5424,5424,5424, + 5424,1478,5424,5424,5424,5424,5424,5424,5424,388, + 5424,5424,5424,5424,39,3724,3699,5424,5481,5443, + 5424,5424,5424,5424,5424,5424,5424,5424,5424,5424, + 5424,5424,8,5427,5427,5427,5427,5427,5427,5427, + 5427,5427,5427,5427,5427,5427,5427,5427,5427,5427, + 5427,5427,5427,5427,5427,5427,5427,5427,5427,5427, + 5427,5427,5427,5427,5427,5427,5427,5427,5427,5427, + 5427,5427,5427,5427,5427,5427,5427,5427,5427,5427, + 5443,5427,5427,5427,5427,5427,5427,3051,5427,5427, + 5427,5427,5427,5427,5427,5443,5427,5427,5427,5427, + 290,5177,5177,5427,285,5443,5427,5427,5427,5427, + 5427,5427,5427,5427,5427,5427,5427,5427,5443,5405, + 5384,5384,5384,5384,5384,5384,5412,5384,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5407,1,1,1,1, + 1,1,1,1,1,5409,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,299,1,1,1, - 1,1,1,442,1,1,1,2740,1,5613, - 1910,5438,3665,1,1,5449,5438,5077,5074,5446, - 5476,5438,1092,4099,3560,2204,3504,3891,3206,4006, - 599,3983,2765,3960,5438,5403,5382,5382,5382,5382, - 5382,5382,5410,5382,1,1,1,1,1,1, + 1,1,1,1,1,1,5443,1,1,1, + 1,1,1,3111,1,1,1,2742,1,5618, + 1912,304,3667,1,1,5454,5443,5079,5076,121, + 5481,5746,1094,4101,3562,2206,3506,3893,3208,4008, + 601,3985,2767,3962,5443,5405,5384,5384,5384,5384, + 5384,5384,5412,5384,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,5407,1,1,1,1,1,1,1,1, + 1,5409,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,5445,1,1,1,1,1,1,3109, - 1,1,1,2740,1,5613,1910,117,3665,1, - 1,5449,111,3747,387,5876,5877,5878,1092,4099, - 3560,2204,3504,3891,3206,4006,599,3983,2765,3960, - 5438,5403,5382,5382,5382,5382,5382,5382,5410,5382, + 1,1,5443,1,1,1,1,1,1,135, + 1,1,1,2742,1,5618,1912,117,3667,1, + 1,5454,111,3749,5443,462,2900,2927,1094,4101, + 3562,2206,3506,3893,3208,4008,601,3985,2767,3962, + 5443,5405,5384,5384,5384,5384,5384,5384,5412,5384, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5407,1,1, + 1,1,1,1,1,1,1,5409,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,5438,1, - 1,1,1,1,1,135,1,1,1,2740, - 1,5613,1910,5438,3665,1,1,5449,39,3722, - 3697,3956,5476,3979,1092,4099,3560,2204,3504,3891, - 3206,4006,599,3983,2765,3960,5438,5403,5382,5382, - 5382,5382,5382,5382,5410,5382,1,1,1,1, + 1,1,1,1,1,1,1,1,5106,1, + 1,1,1,1,1,136,1,1,1,2742, + 1,5618,1912,131,3667,1,1,5454,2328,3724, + 3699,3958,2393,3981,1094,4101,3562,2206,3506,3893, + 3208,4008,601,3985,2767,3962,5443,5405,5384,5384, + 5384,5384,5384,5384,5412,5384,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5407,1,1,1,1,1,1, + 1,1,1,5409,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,5438,1,1,1,1,1, - 1,136,1,1,1,2740,1,5613,1910,116, - 3665,1,1,5449,2326,3747,121,5438,5452,5453, - 1092,4099,3560,2204,3504,3891,3206,4006,599,3983, - 2765,3960,5438,5403,5382,5382,5382,5382,5382,5382, - 5410,5382,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5407, + 1,1,1,1,5443,1,1,1,1,1, + 1,5443,1,1,1,2742,1,5618,1912,116, + 3667,1,1,5454,2328,3749,5443,5457,5458,5443, + 1094,4101,3562,2206,3506,3893,3208,4008,601,3985, + 2767,3962,5443,5405,5384,5384,5384,5384,5384,5384, + 5412,5384,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5409, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 5438,1,1,1,1,1,1,5438,1,1, - 1,2740,1,5613,1910,5438,3665,1,1,5449, - 2326,3722,3697,2898,2925,5438,1092,4099,3560,2204, - 3504,3891,3206,4006,599,3983,2765,3960,5438,5403, - 5382,5382,5382,5382,5382,5382,5410,5382,1,1, + 5443,1,1,1,1,1,1,3123,1,1, + 1,2742,1,5618,1912,5443,3667,1,1,5454, + 2780,3724,3699,5443,5263,5260,1094,4101,3562,2206, + 3506,3893,3208,4008,601,3985,2767,3962,5443,5405, + 5384,5384,5384,5384,5384,5384,5412,5384,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5407,1,1,1,1, + 1,1,1,1,1,5409,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,338,1,1,1, - 1,1,1,3121,1,1,1,2740,1,5613, - 1910,5438,3665,1,1,5449,5438,5452,5453,5777, - 5778,2778,1092,4099,3560,2204,3504,3891,3206,4006, - 599,3983,2765,3960,5438,5403,5382,5382,5382,5382, - 5382,5382,5410,5382,1,1,1,1,1,1, + 1,1,1,1,1,1,5443,1,1,1, + 1,1,1,5443,1,1,1,2742,1,5618, + 1912,5443,3667,1,1,5454,5443,5457,5458,5451, + 519,2780,1094,4101,3562,2206,3506,3893,3208,4008, + 601,3985,2767,3962,5443,5405,5384,5384,5384,5384, + 5384,5384,5412,5384,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,5407,1,1,1,1,1,1,1,1, + 1,5409,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,5438,1,1,1,1,1,1,5438, - 1,1,1,2740,1,5613,1910,1,3665,1, - 1,5449,5438,5077,5074,5400,5476,5438,1092,4099, - 3560,2204,3504,3891,3206,4006,599,3983,2765,3960, - 5438,5403,5382,5382,5382,5382,5382,5382,5410,5382, + 1,1,5450,1,1,1,1,1,1,891, + 1,1,1,2742,1,5618,1912,5443,3667,1, + 1,5454,5443,5079,5076,125,5481,5443,1094,4101, + 3562,2206,3506,3893,3208,4008,601,3985,2767,3962, + 5443,5405,5384,5384,5384,5384,5384,5384,5412,5384, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5407,1,1, + 1,1,1,1,1,1,1,5409,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,5445,1, - 1,1,1,1,1,3131,1,1,1,2740, - 1,5613,1910,5438,3665,1,1,5449,5438,5261, - 5258,48,5261,5258,1092,4099,3560,2204,3504,3891, - 3206,4006,599,3983,2765,3960,5438,5403,5382,5382, - 5382,5382,5382,5382,5410,5382,1,1,1,1, + 1,1,1,1,1,1,1,1,5443,1, + 1,1,1,1,1,3133,1,1,1,2742, + 1,5618,1912,5443,3667,1,1,5454,48,5263, + 5260,124,2900,2927,1094,4101,3562,2206,3506,3893, + 3208,4008,601,3985,2767,3962,5443,5405,5384,5384, + 5384,5384,5384,5384,5412,5384,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5407,1,1,1,1,1,1, + 1,1,1,5409,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,5438,1,1,1,1,1, - 1,5438,1,1,1,2740,1,5613,1910,5438, - 3665,1,1,5449,114,5438,91,5442,4102,5110, - 1092,4099,3560,2204,3504,3891,3206,4006,599,3983, - 2765,3960,5438,3914,1,1,1,1,1,1, - 3937,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5447, + 1,1,1,1,5443,1,1,1,1,1, + 1,5443,1,1,1,2742,1,5618,1912,5443, + 3667,1,1,5454,114,401,5457,5458,2900,2927, + 1094,4101,3562,2206,3506,3893,3208,4008,601,3985, + 2767,3962,5443,3916,1,1,1,1,1,1, + 3939,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5452, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 5438,1,1,1,1,1,1,5438,1,1, - 1,2740,1,5613,1910,5438,3665,1,1,5449, - 5438,1542,5438,3956,1333,3979,1092,4099,3560,2204, - 3504,3891,3206,4006,599,3983,2765,3960,39,5077, - 5074,3185,632,3772,3841,3300,5441,3864,801,5703, - 5701,5710,5709,5705,5706,5704,5707,5708,5711,5702, - 5698,5777,5778,3818,3795,137,5692,5699,5695,5671, - 5697,5696,5693,5694,5672,3910,3887,5457,5839,2826, - 579,993,5459,924,4075,953,5438,5460,5458,573, - 5454,5455,5456,5438,2703,5840,5841,871,1432,5438, - 5313,5313,229,5309,229,229,229,5317,229,1, + 5443,1,1,1,1,1,1,5443,1,1, + 1,2742,1,5618,1912,5447,3667,1,1,5454, + 36,5339,5336,3958,137,3981,1094,4101,3562,2206, + 3506,3893,3208,4008,601,3985,2767,3962,39,5079, + 5076,3187,634,3774,3843,3302,138,3866,803,5709, + 5707,5716,5715,5711,5712,5710,5713,5714,5717,5708, + 5704,5783,5784,3820,3797,5443,5698,5705,5701,5677, + 5703,5702,5699,5700,5678,3912,3889,5462,5845,2828, + 581,995,5464,926,4077,955,5443,5465,5463,575, + 5459,5460,5461,5443,2705,5846,5847,873,1434,5443, + 5315,5315,230,5311,230,230,230,5319,230,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,5438,1233,229,1,1,1, - 1,1,1,1,1,1,5438,5077,5074,1, - 632,5122,125,3300,224,131,5438,5306,397,5172, - 5172,2778,284,5438,2391,1,1,1,3104,225, - 5853,786,400,5452,5453,2291,5698,5777,5778,1, - 419,229,5692,5699,5695,5671,5697,5696,5693,5694, - 5672,5698,5777,5778,2525,5941,5438,5692,5699,5695, - 5671,5697,5696,5693,5694,5672,284,5438,5438,8778, - 8778,5876,5877,5878,5438,5313,5313,229,5309,229, - 229,229,5361,229,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,2898, - 2925,229,1,1,1,1,1,1,1,1, - 1,4202,33,5438,1,5116,5474,2737,5116,5438, - 5116,5116,5306,37,5300,5300,8,5450,5300,5799, - 1,1,1,3104,5435,5853,786,5116,5116,5116, - 43,5282,5282,1,129,418,229,5438,5438,5116, - 5116,161,347,5077,5074,585,632,622,333,3300, - 5941,333,5438,138,1,5297,5297,5116,5294,5438, - 333,2791,365,333,5438,5116,5876,5877,5878,5438, - 5116,5116,5116,5116,5116,5116,5449,5073,5279,369, - 5165,5161,585,5169,622,1,3300,5435,1,5116, - 5116,5116,5116,5116,5116,5116,5116,5116,5116,5116, - 5116,5116,5116,5116,37,1059,161,5116,5116,5116, - 5116,5116,5116,5116,5116,5116,5116,5116,5116,5116, - 5438,5116,5116,5119,4205,118,5119,365,5119,5119, - 2450,2421,29,390,390,5276,390,390,5276,390, - 5276,5276,1059,5438,365,5119,5119,5119,1,1285, - 3158,3075,5474,2291,390,390,390,5119,5119,5276, - 390,390,390,390,390,390,390,390,390,1, - 5165,5161,5352,5169,5358,5119,5355,5448,398,38, - 5095,5092,391,5119,5089,133,3300,5080,5119,5119, - 5119,5119,5119,5119,134,5276,5447,311,5165,5161, - 604,5169,622,5373,3300,5276,5373,5119,5119,5119, - 5119,5119,5119,5119,5119,5119,5119,5119,5119,5119, - 5119,5119,3338,124,5438,5119,5119,5119,5119,5119, - 5119,5119,5119,5119,5119,5119,5119,5119,123,5119, - 5119,5438,5382,5382,229,5382,229,229,229,5385, - 229,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,5438,5438,229,1, - 1,8744,1,1,1,1,1,1,447,1, - 1,1,1,2359,5101,226,5438,5101,5438,5379, - 113,349,2359,5438,1726,139,1,1,1,1, - 3384,5444,5649,1910,5444,3665,3462,5698,5777,5778, - 2898,2925,220,5692,5699,5695,5671,5697,5696,5693, - 5694,5672,36,5337,5334,2898,2925,5941,5438,5382, - 5382,229,5382,229,229,229,229,229,1,1, + 1,1,1,1,2293,5446,230,1,1,1, + 1,1,1,1,1,1,5443,5079,5076,1, + 634,5124,5443,3302,225,5443,2293,5308,398,5174, + 5174,1544,285,113,1335,1,1,1,3106,226, + 5859,788,129,300,5457,5458,5704,5783,5784,5443, + 420,230,5698,5705,5701,5677,5703,5702,5699,5700, + 5678,5704,5783,5784,2527,5947,5443,5698,5705,5701, + 5677,5703,5702,5699,5700,5678,285,130,5443,5443, + 8788,8788,5882,5883,5884,5443,5315,5315,230,5311, + 230,230,230,5363,230,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,122,1059,229,1,1,8744,1, - 1,1,1,1,1,1949,5443,5438,1,5443, - 1,5165,5161,604,5169,622,5379,3300,311,3956, - 5438,3979,132,3486,1,1,1,3384,130,5649, - 1910,2391,3665,5438,5452,5453,2252,311,622,5438, - 3300,2520,1906,1863,1820,1777,1734,1691,1648,1605, - 1562,1519,461,5438,5941,5438,5382,5382,229,5382, - 229,229,229,5394,229,1,1,1,1,1, + 123,37,230,1,1,1,1,1,1,1, + 1,1,3958,33,3981,1,5118,5479,5443,5118, + 5443,5118,5118,5308,5959,37,5302,5302,2452,2423, + 5302,1,1,1,3106,5443,5859,788,5118,5118, + 5118,43,5284,5284,1,314,419,230,2996,5479, + 5118,5118,161,348,5079,5076,587,634,624,334, + 3302,5947,334,2452,2423,5443,5443,112,5118,4104, + 5443,5079,5076,2793,634,5124,5118,3302,5882,5883, + 5884,5118,5118,5118,5118,5118,5118,2900,2927,5281, + 5443,5167,5163,606,5171,624,5375,3302,133,5375, + 5118,5118,5118,5118,5118,5118,5118,5118,5118,5118, + 5118,5118,5118,5118,5118,1156,1061,161,2955,5118, + 5118,5118,5118,5118,5118,5118,5118,5118,5118,5118, + 5118,5118,5118,5118,5443,39,461,5121,118,5481, + 5121,334,5121,5121,334,351,29,391,391,5278, + 391,391,5278,391,5278,5278,3958,5443,3981,5121, + 5121,5121,1243,3160,3077,294,5457,5458,391,391, + 391,5121,5121,5278,391,391,391,391,391,391, + 391,391,391,1,5167,5163,5354,5171,5360,5121, + 5357,5453,5443,38,5097,5094,2361,5121,5091,5109, + 3302,5082,5121,5121,5121,5121,5121,5121,1061,5278, + 5452,312,5167,5163,606,5171,624,5375,3302,5278, + 5375,5121,5121,5121,5121,5121,5121,5121,5121,5121, + 5121,5121,5121,5121,5121,5121,91,122,5443,5112, + 5121,5121,5121,5121,5121,5121,5121,5121,5121,5121, + 5121,5121,5121,5121,5121,5443,5384,5384,230,5384, + 230,230,230,5387,230,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 2898,2925,229,1,1,8744,1,1,1,1, - 1,1,37,5300,5300,1,5438,372,333,227, - 5438,5077,5074,5379,632,622,5438,3300,299,5452, - 5453,1,1,1,3384,5104,5649,1910,5438,3665, - 5438,5698,5777,5778,2450,2421,219,5692,5699,5695, - 5671,5697,5696,5693,5694,5672,5438,37,5300,5300, - 5474,5941,5438,5382,5382,229,5382,229,229,229, - 5385,229,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1340,1992,229, - 1,1,8744,1,1,1,1,1,1,5438, - 5077,5074,1,632,5122,2592,3300,448,39,39, - 5379,5476,112,5291,1,535,5291,5438,1,1, - 1,3384,365,5649,1910,5446,3665,1,5165,5161, - 585,5169,622,220,3300,5264,5438,5438,5165,5161, - 604,5169,622,5373,3300,518,5373,2953,5941,5438, - 5382,5382,229,5382,229,229,229,5385,229,1, + 120,5443,230,1,1,8845,1,1,1,1, + 1,1,448,1,1,1,1,5443,5103,227, + 5443,5103,5443,5381,5443,3160,3077,5443,5455,139, + 409,1,1,1,3386,5449,5655,1912,5348,3667, + 100,5704,5783,5784,2900,2927,221,5698,5705,5701, + 5677,5703,5702,5699,5700,5678,4204,5351,5443,8720, + 8715,5947,5443,5384,5384,230,5384,230,230,230, + 230,230,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,5454,119,230, + 1,1,8845,1,1,1,1,1,1,1951, + 5448,5443,1,4457,1,5167,5163,606,5171,624, + 5381,3302,312,3160,3077,304,134,3488,1,1, + 1,3386,5443,5655,1912,5746,3667,5443,5457,5458, + 2254,312,624,5443,3302,5443,2522,1908,1865,1822, + 1779,1736,1693,1650,1607,1564,1521,29,5947,5443, + 5384,5384,230,5384,230,230,230,5396,230,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,4116,3799,229,1,1,8744, - 1,1,1,1,1,1,1014,365,5445,1, - 1059,1,5165,5161,604,5169,622,5379,3300,320, - 5267,3956,5364,3979,365,1,1,1,3384,1241, - 5649,1910,5438,3665,889,347,39,39,3485,5476, - 220,333,237,460,333,5270,350,1,5165,5161, - 604,5169,622,100,3300,5941,5438,5382,5382,229, - 5382,229,229,229,229,229,1,1,1,1, + 1,1,1,1,3329,5443,230,1,1,8845, + 1,1,1,1,1,1,37,5302,5302,1, + 4447,3495,334,228,5443,5079,5076,5381,634,624, + 5443,3302,1513,5888,5443,1,1,1,3386,339, + 5655,1912,5453,3667,2361,5704,5783,5784,5443,428, + 220,5698,5705,5701,5677,5703,5702,5699,5700,5678, + 4207,5452,5783,5784,5479,5947,5443,5384,5384,230, + 5384,230,230,230,5387,230,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,5438,1059,229,1,1,8744,1,1,1, - 1,1,1,92,1,1,1,1,1059,5303, - 5438,39,5303,5438,5379,5476,5107,333,5448,1059, - 333,5438,1,1,1,3384,4455,5649,1910,1241, - 3665,1,5165,5161,585,5169,622,5447,3300,333, - 5077,5074,604,632,622,5438,3300,293,5452,5453, - 5438,364,5941,5438,5382,5382,229,5382,229,229, - 229,229,229,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,5438,4048, - 229,1,1,8744,1,1,1,1,1,1, - 5438,8709,8665,1,1059,1,5165,5161,5352,5169, - 5358,5379,5355,120,39,5438,8709,8665,5476,1, - 1,1,3384,5953,5649,1910,1,3665,5882,3485, - 3438,95,39,39,343,5476,2414,5367,3158,3075, - 5367,5438,5077,5074,1,632,622,4864,3300,5941, - 5438,5382,5382,229,5382,229,229,229,229,229, + 1,5443,5443,230,1,1,8845,1,1,1, + 1,1,1,37,5302,5302,1,5443,1,5167, + 5163,606,5171,624,5381,3302,350,238,1,1728, + 5272,1,1,1,1,3386,366,5655,1912,5402, + 3667,1,5167,5163,587,5171,624,221,3302,5266, + 1,5299,5299,5443,5296,537,334,4756,366,334, + 5075,2594,5947,5443,5384,5384,230,5384,230,230, + 230,5387,230,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,5443,1061, + 230,1,1,8845,1,1,1,1,1,1, + 443,366,5450,1,1061,334,5079,5076,606,634, + 624,5381,3302,321,5269,3801,5366,5443,366,1, + 1,1,3386,366,5655,1912,5443,3667,5443,348, + 39,39,3487,5481,221,334,5449,323,334,8, + 366,1,5167,5163,606,5171,624,5440,3302,5947, + 5443,5384,5384,230,5384,230,230,230,230,230, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,119,5438,229,1,1, - 8744,1,1,1,1,1,1,5438,5438,1059, - 1,5438,5452,5453,343,343,126,5438,5379,343, - 3158,3075,5438,5323,5320,5438,1,1,1,3384, - 5438,5649,1910,29,3665,5438,5876,5877,5878,5438, - 5261,5258,313,5438,75,2994,3340,4103,5438,1, - 1,1,1,1,1,1,5941,1,1,1, + 1,1,1,1,1,5443,1061,230,1,1, + 8845,1,1,1,1,1,1,449,39,39, + 1,5481,1061,5293,4231,3495,5293,4888,5381,1, + 1061,5448,4866,5882,5883,5884,1,1,1,3386, + 5440,5655,1912,1243,3667,5443,370,5167,5163,587, + 5171,624,1,3302,1,1,1,5167,5163,587, + 5171,624,5399,3302,47,5443,5947,5443,5384,5384, + 230,5384,230,230,230,230,230,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 5474,2662,4754,1,1,1,3933,617,3485,5842, - 4820,5500,5501,5264,5098,1,1,1,5080,1, - 1,1,1,1,1,1,303,1,1,1, - 1,1,1,5896,3933,617,5740,1147,1,5977, - 2564,2492,1154,1,1,1,5165,5161,3185,5169, - 3772,3841,3300,5438,3864,5125,5152,5158,5131,5134, - 5146,5143,5149,5140,5137,5128,5155,5438,1059,5438, - 3818,3795,1,5438,5438,5438,4100,5444,5267,808, - 531,128,3910,3887,5457,3327,2826,579,993,5459, - 924,4075,953,949,5460,5458,573,5454,5455,5456, - 5438,5330,5326,5438,5438,1432,292,933,933,5438, - 39,39,4117,519,39,5077,5074,3185,632,3772, - 3841,3300,5432,3864,729,5703,5701,5710,5709,5705, - 5706,5704,5707,5708,5711,5702,2662,5438,4886,3818, - 3795,619,5443,4445,3493,531,47,5438,5474,5285, - 4219,3910,3887,5457,127,2826,579,993,5459,924, - 4075,953,5438,5460,5458,573,5454,5455,5456,45, - 5343,5343,4229,3493,1432,2564,2492,5438,5438,5323, - 5320,5416,5438,1628,5438,5445,141,5077,5074,3185, - 632,3772,3841,3300,2243,3864,729,5703,5701,5710, - 5709,5705,5706,5704,5707,5708,5711,5702,1,2662, - 1,3818,3795,5438,5452,5453,5397,5340,163,5438, - 5438,5450,5288,3910,3887,5457,5474,2826,579,993, - 5459,924,4075,953,5438,5460,5458,573,5454,5455, - 5456,37,5300,5300,5438,370,1432,4138,2564,2492, - 3601,39,39,1,5165,5161,3185,5169,3772,3841, - 3300,443,3864,5125,5152,5158,5131,5134,5146,5143, - 5149,5140,5137,5128,5155,5449,5438,5438,3818,3795, - 5449,5438,3527,163,4375,408,322,457,390,5474, - 3910,3887,5457,5346,2826,579,993,5459,924,4075, - 953,5438,5460,5458,573,5454,5455,5456,103,286, - 431,4376,5349,1432,99,1389,5083,5438,39,39, - 39,5077,5074,3185,632,3772,3841,3300,5413,3864, - 729,5703,5701,5710,5709,5705,5706,5704,5707,5708, - 5711,5702,5086,5113,5438,3818,3795,5438,670,1059, - 3115,279,4252,377,5376,5438,399,3910,3887,5457, - 390,2826,579,993,5459,924,4075,953,5438,5460, - 5458,573,5454,5455,5456,1,1,1102,5723,5438, - 1432,5438,4350,5438,5438,5388,5388,5416,39,5077, - 5074,3185,632,3772,3841,3300,5413,3864,729,5703, - 5701,5710,5709,5705,5706,5704,5707,5708,5711,5702, - 1511,1511,29,3818,3795,5391,5391,48,294,451, - 398,5453,73,3751,3751,3910,3887,5457,5438,2826, - 579,993,5459,924,4075,953,3486,5460,5458,573, - 5454,5455,5456,5438,1,5438,5438,643,1432,5910, - 5904,1,39,5908,5448,5416,5476,292,423,5448, - 1,48,5438,5438,35,5452,3689,1511,191,5902, - 5903,4116,5453,5447,3535,1511,511,5370,5447,429, - 509,5933,5934,3290,427,5911,5438,191,2078,4486, - 5438,2557,5438,598,5438,4825,1,4858,5438,5913, - 3515,4435,5438,5438,1,4859,3414,663,5438,1886, - 1953,5438,5914,5935,5912,2117,5452,185,5438,452, - 310,5438,5438,5438,5438,5438,8354,4677,2165,524, - 2,5924,5923,5936,3576,3646,5905,5906,5929,5930, - 5927,5928,5907,5909,5931,5932,4873,5438,1101,5937, - 4879,5917,5918,5919,5915,5916,5925,5926,5921,5920, - 5922,39,5077,5074,3185,632,3772,3841,3300,5442, - 3864,729,5703,5701,5710,5709,5705,5706,5704,5707, - 5708,5711,5702,3244,5438,37,3818,3795,3045,4062, - 3282,5438,3576,3320,4320,2035,5438,5438,3910,3887, - 5457,513,2826,579,993,5459,924,4075,953,5438, - 5460,5458,573,5454,5455,5456,39,5077,5074,3185, - 632,3772,3841,3300,4517,3864,729,5703,5701,5710, - 5709,5705,5706,5704,5707,5708,5711,5702,5429,5438, - 5438,3818,3795,5438,5438,5438,5438,4116,5438,5438, - 5438,5438,5438,3910,3887,5457,5438,2826,579,993, - 5459,924,4075,953,5438,5460,5458,573,5454,5455, - 5456,2605,5438,5438,5438,5438,1432,5438,5441,39, - 5077,5074,3185,632,3772,3841,3300,5438,3864,729, - 5703,5701,5710,5709,5705,5706,5704,5707,5708,5711, - 5702,5438,5438,5438,3818,3795,5438,5438,5438,5438, - 5438,5438,5438,5438,5438,5438,3910,3887,5457,5438, - 2826,579,993,5459,924,4075,953,5438,5460,5458, - 573,5454,5455,5456,39,5077,5074,3185,632,3772, - 3841,3300,1380,3864,729,5703,5701,5710,5709,5705, - 5706,5704,5707,5708,5711,5702,5438,5438,5438,3818, - 3795,5438,5438,5438,5438,5438,5438,5438,5438,5438, - 5438,3910,3887,5457,5438,2826,579,993,5459,924, - 4075,953,5438,5460,5458,573,5454,5455,5456,5438, - 5438,5438,5438,5438,1432,39,5077,5074,4753,632, - 3772,3841,3300,5438,3864,729,5703,5701,5710,5709, - 5705,5706,5704,5707,5708,5711,5702,5438,5438,5438, - 3818,3795,5438,5438,5438,5438,5438,5438,5438,5438, - 5438,5438,3910,3887,5457,5438,2826,579,993,5459, - 924,4075,953,5438,5460,5458,573,5454,5455,5456, - 39,5077,5074,3185,632,3772,3841,3300,5438,3864, - 729,5703,5701,5710,5709,5705,5706,5704,5707,5708, - 5711,5702,5438,5438,5438,3818,3795,5438,5438,5438, - 5438,5438,5438,5438,5438,5438,5438,3910,3887,5457, - 5438,2826,579,993,5459,924,4075,953,5438,5460, - 5458,573,5454,5455,5456,39,5077,5074,3185,632, - 3772,3841,3300,5438,3864,729,5703,5701,5710,5709, - 5705,5706,5704,5707,5708,5711,5702,5438,5438,5438, - 3818,3795,5438,5438,5438,5438,5438,5438,5438,5438, - 5438,5438,3910,3887,5457,5438,2826,579,993,5459, - 924,4075,953,5438,5460,5458,573,5454,5455,5456, - 5438,5077,5074,5438,5476,5438,5438,5438,5438,5438, - 682,5703,5701,5710,5709,5705,5706,5704,5707,5708, - 5711,5702,5698,5777,5778,5438,5438,5438,5692,5699, - 5695,5671,5697,5696,5693,5694,5672,5438,5438,5438, - 5839,5438,5438,5438,5438,5438,5438,5438,5438,241, - 5251,5247,5438,5255,5438,5438,2703,5840,5841,682, - 5238,5244,5217,5220,5232,5229,5235,5226,5223,5214, - 5241,5193,5187,5184,5438,5438,5438,5211,5190,5202, - 5181,5196,5199,5208,5205,5178,5438,5438,5438,5839, - 32,391,391,5273,391,391,5273,391,5273,5273, - 5438,5438,5438,5438,5438,2703,5840,5841,5438,5438, - 5438,5438,391,391,391,5438,223,5273,391,391, - 391,391,391,391,391,391,391,5703,5701,5710, - 5709,5705,5706,5704,5707,5708,5711,5702,5698,5777, - 5778,5438,5438,5438,5692,5699,5695,5671,5697,5696, - 5693,5694,5672,5273,5438,5438,5438,5438,5438,5438, - 5438,5438,5438,5273 + 1,1,5443,5443,230,1,1,8845,1,1, + 1,1,1,1,92,1,1,1,1,1061, + 5305,5443,2245,5305,3342,5381,1287,1994,132,1061, + 4822,5454,365,1,1,1,3386,2393,5655,1912, + 1,3667,5443,3487,5443,5443,5457,5458,344,1, + 5167,5163,5354,5171,5360,5443,5357,5443,8720,8715, + 293,935,935,5947,5443,5384,5384,230,5384,230, + 230,230,230,230,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5443, + 3529,230,1,1,8845,1,1,1,1,1, + 1,3440,5443,1061,1,5443,5263,5260,344,344, + 3935,619,5381,344,5443,361,5848,4102,29,444, + 1,1,1,3386,5443,5655,1912,4119,3667,5443, + 95,39,39,5443,5481,458,5369,5451,75,5369, + 5443,4105,5443,1,1,1,1,1,1,1, + 5947,1,1,1,1,1,1,1,1,1, + 1,1,1,1,5443,5457,5458,1,1,139, + 3935,619,5455,5082,5085,5505,5506,126,400,1, + 1,1,391,1,1,1,1,1,1,1, + 5088,1,1,1,1,1,1,5443,1016,5443, + 5450,1149,1,5984,287,5803,5443,1,1,1, + 5167,5163,3187,5171,3774,3843,3302,1,3866,5127, + 5154,5160,5133,5136,5148,5145,5151,5142,5139,5130, + 5157,5454,2664,1513,3820,3797,5443,5079,5076,5443, + 634,624,4221,3302,810,5100,3912,3889,5462,5443, + 2828,581,995,5464,926,4077,955,951,5465,5463, + 575,5459,5460,5461,5443,5325,5322,5902,5443,1434, + 2254,2566,2494,5729,39,39,2522,520,39,5079, + 5076,3187,634,3774,3843,3302,5437,3866,731,5709, + 5707,5716,5715,5711,5712,5710,5713,5714,5717,5708, + 5443,5332,5328,3820,3797,5443,5443,5805,5443,2739, + 1,4140,5479,3487,432,3912,3889,5462,5266,2828, + 581,995,5464,926,4077,955,452,5465,5463,575, + 5459,5460,5461,45,5345,5345,39,399,1434,1, + 5481,392,5443,5325,5322,5418,4519,5449,5479,5450, + 141,5079,5076,3187,634,3774,3843,3302,2416,3866, + 731,5709,5707,5716,5715,5711,5712,5710,5713,5714, + 5717,5708,5443,1061,1,3820,3797,37,5302,5302, + 5443,5342,533,5269,621,99,4352,3912,3889,5462, + 5479,2828,581,995,5464,926,4077,955,2559,5465, + 5463,575,5459,5460,5461,1,5443,5443,5443,4377, + 1434,373,5448,163,1630,39,39,1,5167,5163, + 3187,5171,3774,3843,3302,5479,3866,5127,5154,5160, + 5133,5136,5148,5145,5151,5142,5139,5130,5157,5882, + 5883,5884,3820,3797,5443,5443,371,533,1104,1, + 5443,128,391,5453,3912,3889,5462,5453,2828,581, + 995,5464,926,4077,955,1,5465,5463,575,5459, + 5460,5461,5452,295,5443,5443,5452,1434,163,672, + 293,1342,39,39,39,5079,5076,3187,634,3774, + 3843,3302,5415,3866,731,5709,5707,5716,5715,5711, + 5712,5710,5713,5714,5717,5708,2664,5115,103,3820, + 3797,4378,3603,1235,4050,5443,1391,5443,3117,5287, + 39,3912,3889,5462,5481,2828,581,995,5464,926, + 4077,955,127,5465,5463,575,5459,5460,5461,3340, + 1,5443,3537,2080,1434,2566,2494,430,5443,8155, + 5390,5418,39,5079,5076,3187,634,3774,3843,3302, + 5415,3866,731,5709,5707,5716,5715,5711,5712,5710, + 5713,5714,5717,5708,424,1,5443,3820,3797,280, + 5393,5443,5378,399,73,5390,5443,2664,3753,3912, + 3889,5462,5443,2828,581,995,5464,926,4077,955, + 5290,5465,5463,575,5459,5460,5461,5443,1,5443, + 1,645,1434,5916,5910,5393,1103,5914,191,5418, + 48,35,512,3753,5458,48,2566,2494,510,5457, + 453,1513,5443,5908,5909,3691,3488,191,1513,5372, + 5443,3292,311,4488,2167,5939,5940,5443,3464,5917, + 600,5443,5443,5443,5443,4827,4860,4437,5443,378, + 526,4861,3517,5919,2119,5443,5443,1,3416,4679, + 5443,665,525,1888,1955,5458,5920,5941,5918,5443, + 5457,5443,5443,5443,5443,194,5443,185,5443,514, + 5443,3578,4875,2,5443,5930,5929,5942,4881,3047, + 5911,5912,5935,5936,5933,5934,5913,5915,5937,5938, + 5443,4064,5443,5443,5943,5443,5923,5924,5925,5921, + 5922,5931,5932,5927,5926,5928,39,5079,5076,3187, + 634,3774,3843,3302,5447,3866,731,5709,5707,5716, + 5715,5711,5712,5710,5713,5714,5717,5708,37,3578, + 1,3820,3797,4118,3246,3284,3322,4322,2037,2607, + 5431,4118,1,3912,3889,5462,5443,2828,581,995, + 5464,926,4077,955,4118,5465,5463,575,5459,5460, + 5461,39,5079,5076,3187,634,3774,3843,3302,3648, + 3866,731,5709,5707,5716,5715,5711,5712,5710,5713, + 5714,5717,5708,5443,5443,5443,3820,3797,5434,5443, + 5443,5443,5443,5443,5443,5443,5443,5443,3912,3889, + 5462,5443,2828,581,995,5464,926,4077,955,5443, + 5465,5463,575,5459,5460,5461,5443,5443,5443,5443, + 5443,1434,5443,5443,5446,39,5079,5076,3187,634, + 3774,3843,3302,5443,3866,731,5709,5707,5716,5715, + 5711,5712,5710,5713,5714,5717,5708,5443,5443,5443, + 3820,3797,5443,5443,5443,5443,5443,5443,5443,5443, + 5443,5443,3912,3889,5462,5443,2828,581,995,5464, + 926,4077,955,5443,5465,5463,575,5459,5460,5461, + 39,5079,5076,3187,634,3774,3843,3302,1382,3866, + 731,5709,5707,5716,5715,5711,5712,5710,5713,5714, + 5717,5708,5443,5443,5443,3820,3797,5443,5443,5443, + 5443,5443,5443,5443,5443,5443,5443,3912,3889,5462, + 5443,2828,581,995,5464,926,4077,955,5443,5465, + 5463,575,5459,5460,5461,5443,5443,5443,5443,5443, + 1434,39,5079,5076,4755,634,3774,3843,3302,5443, + 3866,731,5709,5707,5716,5715,5711,5712,5710,5713, + 5714,5717,5708,5443,5443,5443,3820,3797,5443,5443, + 5443,5443,5443,5443,5443,5443,5443,5443,3912,3889, + 5462,5443,2828,581,995,5464,926,4077,955,5443, + 5465,5463,575,5459,5460,5461,39,5079,5076,3187, + 634,3774,3843,3302,5443,3866,731,5709,5707,5716, + 5715,5711,5712,5710,5713,5714,5717,5708,5443,5443, + 5443,3820,3797,5443,5443,5443,5443,5443,5443,5443, + 5443,5443,5443,3912,3889,5462,5443,2828,581,995, + 5464,926,4077,955,5443,5465,5463,575,5459,5460, + 5461,39,5079,5076,3187,634,3774,3843,3302,5443, + 3866,731,5709,5707,5716,5715,5711,5712,5710,5713, + 5714,5717,5708,5443,5443,5443,3820,3797,5443,5443, + 5443,5443,5443,5443,5443,5443,5443,5443,3912,3889, + 5462,5443,2828,581,995,5464,926,4077,955,5443, + 5465,5463,575,5459,5460,5461,5443,5079,5076,5443, + 5481,5443,5443,5443,5443,5443,684,5709,5707,5716, + 5715,5711,5712,5710,5713,5714,5717,5708,5704,5783, + 5784,5443,5443,5443,5698,5705,5701,5677,5703,5702, + 5699,5700,5678,5443,5443,5443,5845,5443,5443,5443, + 5443,5443,5443,5443,5443,242,5253,5249,5443,5257, + 5443,5443,2705,5846,5847,684,5240,5246,5219,5222, + 5234,5231,5237,5228,5225,5216,5243,5195,5189,5186, + 5443,5443,5443,5213,5192,5204,5183,5198,5201,5210, + 5207,5180,5443,5443,5443,5845,32,392,392,5275, + 392,392,5275,392,5275,5275,5443,5443,5443,5443, + 5443,2705,5846,5847,5443,5443,5443,5443,392,392, + 392,5443,224,5275,392,392,392,392,392,392, + 392,392,392,5709,5707,5716,5715,5711,5712,5710, + 5713,5714,5717,5708,5704,5783,5784,5443,5443,5443, + 5698,5705,5701,5677,5703,5702,5699,5700,5678,5275, + 5443,5443,5443,5443,5443,5443,5443,5443,5443,5275 }; }; public final static char termAction[] = TermAction.termAction; @@ -1808,60 +1810,60 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP public interface Asb { public final static char asb[] = {0, - 745,7,540,1,786,875,875,875,875,1052, + 745,7,540,1,786,875,875,875,875,1050, 786,811,811,634,811,88,524,90,541,541, 541,541,541,541,541,541,541,813,819,824, 821,828,826,833,831,835,834,836,231,837, 540,524,674,674,674,674,579,927,291,291, 808,674,182,139,811,811,291,579,139,139, - 130,524,885,673,1108,1054,989,524,811,813, + 130,524,885,673,1106,1052,987,524,811,813, 627,627,927,540,541,541,541,541,541,541, 541,541,541,541,541,541,541,541,541,541, 541,541,541,540,540,540,540,540,540,540, 540,540,540,540,540,541,139,139,801,801, - 801,801,395,139,291,291,1050,978,989,288, - 989,283,989,485,989,973,1052,579,182,182, - 291,875,541,1050,142,11,477,476,433,996, - 996,1052,90,182,673,540,577,1107,139,576, + 801,801,395,139,291,291,1048,976,987,288, + 987,283,987,485,987,971,1050,579,182,182, + 291,875,541,1048,142,11,477,476,433,994, + 994,1050,90,182,673,540,577,1105,139,576, 578,576,139,182,821,821,819,819,819,826, 826,826,826,824,824,831,828,828,834,833, - 835,1066,836,786,786,786,786,579,579,801, - 800,801,808,579,280,350,285,394,286,1052, + 835,1064,836,786,786,786,786,579,579,801, + 800,801,808,579,280,350,285,394,286,1050, 579,579,395,801,130,182,852,139,13,15, - 579,1108,541,674,817,95,139,1054,579,579, - 578,1108,540,540,540,540,540,786,786,524, + 579,1106,541,674,817,95,139,1052,579,579, + 578,1106,540,540,540,540,540,786,786,524, 281,806,804,350,579,708,418,706,395,288, 399,579,395,579,139,481,469,480,15,395, - 577,139,817,1050,1107,1054,579,577,139,139, - 139,139,927,927,281,804,402,579,350,1066, - 286,875,397,343,1056,350,708,707,708,708, + 577,139,817,1048,1105,1052,579,577,139,139, + 139,139,927,927,281,804,402,579,350,1064, + 286,875,397,343,1054,350,708,707,708,708, 395,399,399,579,579,423,540,478,478,405, - 405,579,9,1050,712,139,579,817,818,817, - 540,95,348,813,1054,139,139,804,804,1108, - 288,288,801,875,576,491,1058,573,786,708, + 405,579,9,1048,712,139,579,817,818,817, + 540,95,348,813,1052,139,139,804,804,1106, + 288,288,801,875,576,491,1056,573,786,708, 708,708,708,579,399,401,861,401,423,540, - 540,15,579,1108,139,13,469,423,1031,817, + 540,15,579,1106,139,13,469,423,1029,817, 927,541,182,348,804,803,577,588,288,186, - 366,577,708,708,573,857,541,1066,413,868, - 579,1050,708,708,1114,401,402,541,579,795, + 366,577,708,708,573,857,541,1064,413,868, + 579,1048,708,708,1112,401,402,541,579,795, 15,423,818,139,182,804,858,588,588,969, - 1068,272,786,286,223,366,577,708,288,1052, - 1058,541,541,1107,573,877,701,1115,579,402, + 1066,272,786,286,223,366,577,708,288,1050, + 1056,541,541,1105,573,877,701,1113,579,402, 795,139,795,402,588,588,185,272,969,881, - 1052,800,875,582,582,858,288,504,877,579, - 786,1114,579,1052,1052,579,786,788,795,402, - 186,588,858,412,857,139,1052,579,366,186, - 366,799,799,866,505,1052,579,927,579,579, + 1050,800,875,582,582,858,288,504,877,579, + 786,1112,579,1050,1050,579,786,788,795,402, + 186,588,858,412,857,139,1050,579,366,186, + 366,799,799,866,505,1050,579,927,579,579, 579,16,788,588,540,51,573,858,579,579, - 366,674,674,866,504,1066,541,1066,858,503, + 366,674,674,866,504,1064,541,1064,858,503, 786,786,786,505,786,579,239,858,858,579, 288,139,579,579,138,790,402,139,402,288, - 579,858,800,496,786,496,505,1066,505,524, - 524,522,971,524,858,858,416,866,674,790, + 579,858,800,496,786,496,505,1064,505,524, + 524,522,503,524,858,858,416,502,674,790, 402,51,858,48,712,505,139,573,139,522, - 272,786,139,866,51,582,139,139,1044,505, + 272,786,139,866,51,582,139,139,1042,505, 416,505,858,272,540,505,502,401,799,288, - 288,1046,540,503,927,858,139,856,50,576, + 288,1044,540,503,927,858,139,856,50,576, 505,139,858,856,856,505 }; }; @@ -1870,7 +1872,7 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP public interface Asr { public final static byte asr[] = {0, - 8,72,117,73,27,69,120,0,5,7, + 8,72,118,73,27,69,120,0,5,7, 3,63,6,9,90,28,11,12,23,13, 56,29,30,14,31,32,15,16,33,34, 17,18,35,57,36,10,58,19,22,20, @@ -1881,19 +1883,19 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP 43,47,45,42,51,67,8,7,5,1, 2,66,65,0,91,89,25,26,92,93, 87,88,55,94,95,96,97,98,99,100, - 101,106,72,90,70,107,108,109,110,111, - 112,113,114,115,116,117,71,27,120,68, + 101,107,72,90,70,108,109,110,111,112, + 113,114,115,116,117,118,71,27,120,68, 1,2,9,6,4,3,63,69,73,8, 0,65,66,3,10,43,47,45,42,51, 12,21,11,17,15,16,18,19,14,13, 20,52,53,54,39,50,44,49,5,7, 4,37,38,9,6,25,26,41,46,1, - 2,117,8,0,67,40,23,13,56,29, + 2,118,8,0,67,40,23,13,56,29, 14,31,32,15,16,33,34,17,18,35, 57,36,58,19,22,20,24,21,12,11, 28,8,3,9,6,27,62,64,86,30, 61,48,7,1,2,5,4,10,59,0, - 68,72,90,69,117,73,71,120,11,12, + 68,72,90,69,118,73,71,120,11,12, 42,65,13,43,44,14,15,16,66,45, 17,18,46,47,49,60,50,51,10,19, 20,21,52,53,54,39,37,38,25,26, @@ -1905,7 +1907,7 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP 50,36,51,58,19,22,20,24,21,52, 53,54,39,3,37,38,9,6,25,26, 41,68,7,1,2,4,10,5,0,86, - 59,7,102,103,104,62,8,3,9,6, + 59,7,103,104,105,62,8,3,9,6, 5,72,71,27,61,28,11,12,40,23, 13,56,29,30,14,31,32,15,16,33, 34,17,18,35,57,36,10,58,19,22, @@ -1919,8 +1921,8 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP 9,6,5,4,73,27,3,0,9,6, 7,5,4,1,2,3,63,68,70,69, 8,73,90,0,4,8,67,1,2,0, - 8,72,67,74,0,86,102,103,104,48, - 72,118,121,71,61,74,62,59,64,76, + 8,72,67,74,0,86,103,104,105,48, + 72,102,121,71,61,74,62,59,64,76, 78,84,82,75,80,81,83,85,67,77, 79,27,8,28,40,23,56,29,30,31, 32,33,34,35,57,36,58,22,24,60, @@ -1934,10 +1936,10 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP 36,10,58,19,62,22,20,24,21,8, 3,9,6,71,27,61,7,4,48,5, 1,2,0,66,65,25,26,6,92,93, - 98,9,99,5,41,70,55,68,110,111, - 107,108,109,115,114,116,88,87,112,113, + 98,9,99,5,41,70,55,68,111,112, + 108,109,110,116,115,117,88,87,113,114, 96,97,94,95,100,101,37,38,69,89, - 105,63,3,28,11,12,40,23,13,56, + 106,63,3,28,11,12,40,23,13,56, 29,30,14,31,32,15,16,33,34,17, 18,35,57,36,10,58,19,20,24,21, 1,2,4,22,0,4,55,8,72,67, @@ -1951,12 +1953,12 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP 26,5,41,4,61,3,0,23,24,74, 3,72,27,67,60,8,90,73,70,69, 68,0,60,23,24,7,5,1,2,4, - 74,67,119,105,37,38,63,3,91,89, + 74,67,119,106,37,38,63,3,91,89, 6,92,93,25,26,88,87,55,94,95, 96,97,9,98,99,100,68,90,73,120, - 70,107,108,109,110,111,112,113,114,115, - 116,72,117,101,106,71,69,27,8,0, - 8,69,71,70,0,118,0,72,8,63, + 70,108,109,110,111,112,113,114,115,116, + 117,72,118,101,107,71,69,27,8,0, + 8,69,71,70,0,102,0,72,8,63, 3,70,69,27,55,0,8,67,69,0, 8,67,70,0,65,66,37,38,9,6, 25,26,5,41,46,3,4,7,52,53, @@ -1967,22 +1969,21 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP 45,17,18,46,47,49,60,50,51,10, 19,20,21,52,53,54,1,2,3,37, 38,9,6,25,26,5,41,4,39,0, - 75,0,10,56,40,57,58,12,21,11, - 17,15,16,18,19,14,13,20,74,72, - 90,117,71,67,120,119,91,105,89,37, - 38,25,26,92,93,87,88,55,68,94, - 95,96,97,98,99,100,101,106,70,107, - 108,109,110,111,112,113,114,115,116,69, - 28,23,29,30,31,32,33,34,35,36, - 22,24,27,8,73,3,63,7,5,9, - 6,1,2,4,0,27,8,3,7,5, - 9,6,4,1,2,72,0,40,23,13, - 56,29,14,31,32,15,16,33,34,17, - 18,35,57,36,10,58,19,22,20,24, - 21,12,11,28,8,3,9,27,62,59, - 64,86,30,61,55,4,6,7,1,2, - 5,48,0,22,1,2,4,102,103,104, - 0 + 10,56,40,57,58,12,21,11,17,15, + 16,18,19,14,13,20,74,72,90,118, + 71,67,120,119,91,106,89,37,38,25, + 26,92,93,87,88,55,68,94,95,96, + 97,98,99,100,101,107,70,108,109,110, + 111,112,113,114,115,116,117,69,28,23, + 29,30,31,32,33,34,35,36,22,24, + 27,8,73,3,63,7,5,9,6,1, + 2,4,0,27,8,3,7,5,9,6, + 4,1,2,72,0,40,23,13,56,29, + 14,31,32,15,16,33,34,17,18,35, + 57,36,10,58,19,22,20,24,21,12, + 11,28,8,3,9,27,62,59,64,86, + 30,61,55,4,6,7,1,2,5,48, + 0,22,1,2,4,103,104,105,0 }; }; public final static byte asr[] = Asr.asr; @@ -2098,8 +2099,8 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP 119,30,118,96,108,49,50,56,57,59, 69,71,72,85,92,65,17,18,6,32, 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,123, + 28,51,80,81,82,5,29,34,35,36, + 37,38,39,40,41,42,43,117,3,123, 62,116 }; }; @@ -2193,16 +2194,16 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP public interface ScopeLa { public final static byte scopeLa[] = { - 118,71,73,73,71,71,73,73,73,73, + 102,71,73,73,71,71,73,73,73,73, 73,71,27,71,1,68,1,73,121,67, 3,73,68,68,68,1,1,27,71,67, 1,1,1,71,1,1,4,68,69,27, - 1,1,68,73,73,73,118,73,1,27, - 1,27,27,71,117,73,73,73,73,73, - 117,1,73,1,73,73,73,72,4,1, + 1,1,68,73,73,73,102,73,1,27, + 1,27,27,71,118,73,73,73,73,73, + 118,1,73,1,73,73,73,72,4,1, 1,6,73,68,68,68,68,73,3,1, - 1,73,73,3,1,117,73,1,1,1, - 27,73,117,73,5,73,1,48,70,72, + 1,73,73,3,1,118,73,1,1,1, + 27,73,118,73,5,73,1,48,70,72, 73,1,48,75,74,27,27,4,4,4, 4,3,1,67,1,1,3 }; @@ -2231,7 +2232,7 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP public interface ScopeRhs { public final static char scopeRhs[] = {0, - 322,3,60,0,126,0,321,3,118,0, + 322,3,60,0,126,0,321,3,102,0, 126,172,0,126,179,74,0,216,0,254, 126,55,124,0,20,0,297,126,55,48, 0,20,53,0,33,132,0,20,53,0, @@ -2277,7 +2278,7 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP 155,224,3,83,0,62,171,0,224,3, 83,0,126,171,62,171,0,303,126,165, 0,162,0,213,77,0,30,171,0,162, - 106,159,0,30,169,0,178,3,0,126, + 107,159,0,30,169,0,178,3,0,126, 149,0,218,3,0,213,63,266,0,162, 63,0,178,3,299,66,127,0,126,0, 0,0,0,299,66,127,0,2,145,126, @@ -2304,38 +2305,38 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP public interface ScopeState { public final static char scopeState[] = {0, - 4733,4859,4858,4825,0,3252,1989,3128,1152,0, - 3621,3563,3499,3396,3358,3320,3282,3244,3206,2986, - 2948,4435,0,946,0,1681,1339,1058,0,3045, - 2557,0,3621,3563,1810,1724,3499,3396,3358,3320, - 3282,3244,1092,3206,2986,2948,1595,1509,0,4751, - 3493,3508,0,1101,4350,0,1003,821,0,4531, - 4304,0,655,583,0,4271,4531,2806,3140,4304, - 3062,3472,4284,4062,2479,4048,604,2711,585,2690, - 0,4553,4547,0,4553,4547,4184,4445,4429,4111, - 4363,4347,4097,3601,3621,3563,3499,3396,3358,3320, - 3282,3244,3206,2986,2948,0,4553,4547,4184,4445, - 4429,4111,4363,4347,4097,3601,0,2737,871,0, - 2479,4271,4780,2806,3140,4456,2711,2977,4324,822, - 4318,4522,1320,3505,879,0,949,808,0,617, - 0,2542,1946,1774,1018,3140,4522,3062,585,2690, - 3485,2797,0,4240,540,2733,0,4724,4703,4686, - 4665,4657,4650,4639,4635,4585,4564,4816,4169,3456, - 4812,4805,4801,3221,4788,3193,2704,746,2742,1384, - 0,3523,2597,4724,4703,4686,2247,2160,4665,939, - 4657,4650,4639,4635,4585,3306,4387,4153,4564,2966, - 4816,2791,2778,2592,2243,4169,3456,2156,2860,4812, - 3420,4805,2725,4801,3221,4788,741,3193,2704,746, - 4240,622,2733,2742,1384,2621,2545,1328,632,2605, - 3062,3472,4284,4062,2479,4271,4048,4531,2806,3140, - 604,2711,585,4304,2690,2953,2525,949,808,4075, - 4025,4002,2252,2291,2359,2326,2450,2421,2391,2925, - 2898,2662,2634,2564,2492,3747,3722,3697,3158,3075, - 3979,3956,3933,3910,3887,3864,3841,3818,3795,3772, - 2826,2035,2204,2165,2117,2078,1241,1102,1389,1340, - 1285,889,1992,1059,832,751,694,1949,1906,1863, - 1820,1777,1734,1691,1648,1605,1562,1519,540,1476, - 1432,1198,1014,970,1154,0 + 4735,4861,4860,4827,0,3254,1991,3130,1154,0, + 3623,3565,3501,3398,3360,3322,3284,3246,3208,2988, + 2950,4437,0,948,0,1683,1341,1060,0,3047, + 2559,0,3623,3565,1812,1726,3501,3398,3360,3322, + 3284,3246,1094,3208,2988,2950,1597,1511,0,4753, + 3495,3510,0,1103,4352,0,1005,823,0,4533, + 4306,0,657,585,0,4273,4533,2808,3142,4306, + 3064,3474,4286,4064,2481,4050,606,2713,587,2692, + 0,4555,4549,0,4555,4549,4186,4447,4431,4113, + 4365,4349,4099,3603,3623,3565,3501,3398,3360,3322, + 3284,3246,3208,2988,2950,0,4555,4549,4186,4447, + 4431,4113,4365,4349,4099,3603,0,2739,873,0, + 2481,4273,4782,2808,3142,4458,2713,2979,4326,824, + 4320,4524,1322,3507,881,0,951,810,0,619, + 0,2544,1948,1776,1020,3142,4524,3064,587,2692, + 3487,2799,0,4242,542,2735,0,4726,4705,4688, + 4667,4659,4652,4641,4637,4587,4566,4818,4171,3458, + 4814,4807,4803,3223,4790,3195,2706,748,2744,1386, + 0,3525,2599,4726,4705,4688,2249,2162,4667,941, + 4659,4652,4641,4637,4587,3308,4389,4155,4566,2968, + 4818,2793,2780,2594,2245,4171,3458,2158,2862,4814, + 3422,4807,2727,4803,3223,4790,743,3195,2706,748, + 4242,624,2735,2744,1386,2623,2547,1330,634,2607, + 3064,3474,4286,4064,2481,4273,4050,4533,2808,3142, + 606,2713,587,4306,2692,2955,2527,951,810,4077, + 4027,4004,2254,2293,2361,2328,2452,2423,2393,2927, + 2900,2664,2636,2566,2494,3749,3724,3699,3160,3077, + 3981,3958,3935,3912,3889,3866,3843,3820,3797,3774, + 2828,2037,2206,2167,2119,2080,1243,1104,1391,1342, + 1287,891,1994,1061,834,753,696,1951,1908,1865, + 1822,1779,1736,1693,1650,1607,1564,1521,542,1478, + 1434,1200,1016,972,1156,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -2350,10 +2351,10 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP 69,3,55,55,55,55,127,3,55,55, 168,126,63,3,65,66,55,5,178,162, 168,126,65,66,167,166,124,3,123,125, - 105,119,3,63,89,91,26,25,93,92, + 106,119,3,63,89,91,26,25,93,92, 6,95,94,68,55,87,88,9,97,96, - 99,98,100,116,115,114,113,112,111,110, - 109,108,107,70,106,101,178,162,178,178, + 99,98,100,117,116,115,114,113,112,111, + 110,109,108,70,107,101,178,162,178,178, 178,178,167,218,126,126,126,270,271,253, 272,242,273,56,274,275,10,127,63,63, 126,124,155,126,63,3,216,215,135,125, @@ -2391,7 +2392,7 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP 126,70,70,126,303,79,77,1,162,8, 85,83,81,80,75,82,84,78,76,59, 74,218,180,180,322,220,235,152,165,252, - 180,225,297,285,118,8,72,213,72,3, + 180,225,297,285,102,8,72,213,72,3, 3,3,191,3,123,162,123,179,69,126, 126,165,225,68,3,72,224,168,224,305, 145,75,224,126,126,40,90,321,168,155, @@ -2674,18 +2675,18 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP public final static int NUM_STATES = 546, NT_OFFSET = 122, - LA_STATE_OFFSET = 5977, + LA_STATE_OFFSET = 5984, MAX_LA = 2147483647, - NUM_RULES = 539, + NUM_RULES = 541, NUM_NONTERMINALS = 204, NUM_SYMBOLS = 326, SEGMENT_SIZE = 8192, - START_STATE = 3490, + START_STATE = 3492, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 120, EOLT_SYMBOL = 120, - ACCEPT_ACTION = 5073, - ERROR_ACTION = 5438; + ACCEPT_ACTION = 5075, + ERROR_ACTION = 5443; public final static boolean BACKTRACK = true; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParsersym.java index 9c39b5b35ae..c9c84d2df7f 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParsersym.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParsersym.java @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 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 @@ -20,7 +20,7 @@ public interface CPPExpressionParsersym { TK_bool = 11, TK_break = 76, TK_case = 77, - TK_catch = 118, + TK_catch = 102, TK_char = 12, TK_class = 40, TK_const = 23, @@ -49,9 +49,9 @@ public interface CPPExpressionParsersym { TK_namespace = 59, TK_new = 66, TK_operator = 7, - TK_private = 102, - TK_protected = 103, - TK_public = 104, + TK_private = 103, + TK_protected = 104, + TK_public = 105, TK_register = 34, TK_reinterpret_cast = 45, TK_return = 84, @@ -90,7 +90,7 @@ public interface CPPExpressionParsersym { TK_LeftParen = 3, TK_Dot = 119, TK_DotStar = 91, - TK_Arrow = 105, + TK_Arrow = 106, TK_ArrowStar = 89, TK_PlusPlus = 37, TK_MinusMinus = 38, @@ -114,23 +114,23 @@ public interface CPPExpressionParsersym { TK_Or = 99, TK_AndAnd = 100, TK_OrOr = 101, - TK_Question = 106, + TK_Question = 107, TK_Colon = 72, TK_ColonColon = 4, TK_DotDotDot = 90, TK_Assign = 70, - TK_StarAssign = 107, - TK_SlashAssign = 108, - TK_PercentAssign = 109, - TK_PlusAssign = 110, - TK_MinusAssign = 111, - TK_RightShiftAssign = 112, - TK_LeftShiftAssign = 113, - TK_AndAssign = 114, - TK_CaretAssign = 115, - TK_OrAssign = 116, + TK_StarAssign = 108, + TK_SlashAssign = 109, + TK_PercentAssign = 110, + TK_PlusAssign = 111, + TK_MinusAssign = 112, + TK_RightShiftAssign = 113, + TK_LeftShiftAssign = 114, + TK_AndAssign = 115, + TK_CaretAssign = 116, + TK_OrAssign = 117, TK_Comma = 69, - TK_RightBracket = 117, + TK_RightBracket = 118, TK_RightParen = 73, TK_RightBrace = 71, TK_SemiColon = 27, @@ -241,6 +241,7 @@ public interface CPPExpressionParsersym { "Or", "AndAnd", "OrOr", + "catch", "private", "protected", "public", @@ -257,7 +258,6 @@ public interface CPPExpressionParsersym { "CaretAssign", "OrAssign", "RightBracket", - "catch", "Dot", "EOF_TOKEN", "else", diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParser.java index dd30ebcd43d..6b4ca0bd477 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParser.java @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 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 @@ -997,925 +997,937 @@ public CPPNoCastExpressionParser(ITokenStream stream, Map<String,String> propert // // Rule 192: iteration_statement ::= do statement while ( expression ) ; // - case 192: { action. consumeStatementDoLoop(); break; + case 192: { action. consumeStatementDoLoop(true); break; } // - // Rule 193: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement + // Rule 193: iteration_statement ::= do statement // - case 193: { action. consumeStatementForLoop(); break; + case 193: { action. consumeStatementDoLoop(false); break; } // - // Rule 195: for_init_statement ::= simple_declaration_with_declspec + // Rule 194: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement // - case 195: { action. consumeStatementDeclaration(); break; + case 194: { action. consumeStatementForLoop(); break; } // - // Rule 196: jump_statement ::= break ; + // Rule 196: for_init_statement ::= simple_declaration_with_declspec // - case 196: { action. consumeStatementBreak(); break; + case 196: { action. consumeStatementDeclaration(); break; } // - // Rule 197: jump_statement ::= continue ; + // Rule 197: jump_statement ::= break ; // - case 197: { action. consumeStatementContinue(); break; + case 197: { action. consumeStatementBreak(); break; } // - // Rule 198: jump_statement ::= return expression ; + // Rule 198: jump_statement ::= continue ; // - case 198: { action. consumeStatementReturn(true); break; + case 198: { action. consumeStatementContinue(); break; } // - // Rule 199: jump_statement ::= return ; + // Rule 199: jump_statement ::= return expression ; // - case 199: { action. consumeStatementReturn(false); break; + case 199: { action. consumeStatementReturn(true); break; } // - // Rule 200: jump_statement ::= goto identifier_token ; + // Rule 200: jump_statement ::= return ; // - case 200: { action. consumeStatementGoto(); break; + case 200: { action. consumeStatementReturn(false); break; } // - // Rule 201: declaration_statement ::= block_declaration + // Rule 201: jump_statement ::= goto identifier_token ; // - case 201: { action. consumeStatementDeclarationWithDisambiguation(); break; + case 201: { action. consumeStatementGoto(); break; } // - // Rule 202: declaration_statement ::= function_definition + // Rule 202: declaration_statement ::= block_declaration // - case 202: { action. consumeStatementDeclaration(); break; + case 202: { action. consumeStatementDeclarationWithDisambiguation(); break; } // - // Rule 210: declaration ::= ERROR_TOKEN + // Rule 203: declaration_statement ::= function_definition // - case 210: { action. consumeDeclarationProblem(); break; + case 203: { action. consumeStatementDeclaration(); break; } // - // Rule 220: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ; + // Rule 211: declaration ::= ERROR_TOKEN // - case 220: { action. consumeDeclarationSimple(true); break; + case 211: { action. consumeDeclarationProblem(); break; } // - // Rule 221: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ; + // Rule 221: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ; // case 221: { action. consumeDeclarationSimple(true); break; } // - // Rule 222: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers + // Rule 222: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ; // - case 222: { action. consumeDeclarationSpecifiersSimple(); break; + case 222: { action. consumeDeclarationSimple(true); break; } // - // Rule 223: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers + // Rule 223: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers // - case 223: { action. consumeDeclarationSpecifiersComposite(); break; + case 223: { action. consumeDeclarationSpecifiersSimple(); break; } // - // Rule 224: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers + // Rule 224: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers // case 224: { action. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 225: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers + // Rule 225: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers // case 225: { action. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 226: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers + // Rule 226: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers // - case 226: { action. consumeDeclarationSpecifiersTypeName(); break; + case 226: { action. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 228: declaration_specifiers_opt ::= $Empty + // Rule 227: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers // - case 228: { action. consumeEmpty(); break; + case 227: { action. consumeDeclarationSpecifiersTypeName(); break; } // - // Rule 232: no_type_declaration_specifier ::= friend + // Rule 229: declaration_specifiers_opt ::= $Empty // - case 232: { action. consumeToken(); break; + case 229: { action. consumeEmpty(); break; } // - // Rule 233: no_type_declaration_specifier ::= typedef + // Rule 233: no_type_declaration_specifier ::= friend // case 233: { action. consumeToken(); break; } // - // Rule 253: storage_class_specifier ::= auto + // Rule 234: no_type_declaration_specifier ::= typedef // - case 253: { action. consumeToken(); break; + case 234: { action. consumeToken(); break; } // - // Rule 254: storage_class_specifier ::= register + // Rule 254: storage_class_specifier ::= auto // case 254: { action. consumeToken(); break; } // - // Rule 255: storage_class_specifier ::= static + // Rule 255: storage_class_specifier ::= register // case 255: { action. consumeToken(); break; } // - // Rule 256: storage_class_specifier ::= extern + // Rule 256: storage_class_specifier ::= static // case 256: { action. consumeToken(); break; } // - // Rule 257: storage_class_specifier ::= mutable + // Rule 257: storage_class_specifier ::= extern // case 257: { action. consumeToken(); break; } // - // Rule 258: function_specifier ::= inline + // Rule 258: storage_class_specifier ::= mutable // case 258: { action. consumeToken(); break; } // - // Rule 259: function_specifier ::= virtual + // Rule 259: function_specifier ::= inline // case 259: { action. consumeToken(); break; } // - // Rule 260: function_specifier ::= explicit + // Rule 260: function_specifier ::= virtual // case 260: { action. consumeToken(); break; } // - // Rule 261: simple_type_specifier ::= simple_type_specifier_token + // Rule 261: function_specifier ::= explicit // case 261: { action. consumeToken(); break; } // - // Rule 275: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name + // Rule 262: simple_type_specifier ::= simple_type_specifier_token // - case 275: { action. consumeQualifiedId(false); break; + case 262: { action. consumeToken(); break; } // - // Rule 276: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name + // Rule 276: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_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 ::= dcolon_opt nested_name_specifier template template_id_name // case 277: { action. consumeQualifiedId(false); break; } // - // Rule 278: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name + // Rule 278: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name // - case 278: { action. consumeQualifiedId(true); break; + case 278: { action. consumeQualifiedId(false); break; } // - // Rule 280: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name + // Rule 279: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name // - case 280: { action. consumeTypeSpecifierElaborated(false); break; + case 279: { action. consumeQualifiedId(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 ::= class_keyword 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 282: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt template_opt template_id_name // - case 282: { action. consumeTypeSpecifierElaborated(false); break; + case 282: { action. consumeTypeSpecifierElaborated(true); break; } // - // Rule 286: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 283: elaborated_type_specifier ::= enum elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name // - case 286: { action. consumeTypeSpecifierEnumeration(false); break; + case 283: { action. consumeTypeSpecifierElaborated(false); break; } // - // Rule 287: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 287: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } // - case 287: { action. consumeTypeSpecifierEnumeration(true); break; + case 287: { action. consumeTypeSpecifierEnumeration(false); break; } // - // Rule 293: enumerator_definition ::= identifier_token + // Rule 288: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } // - case 293: { action. consumeEnumerator(false); break; + case 288: { action. consumeTypeSpecifierEnumeration(true); break; } // - // Rule 294: enumerator_definition ::= identifier_token = constant_expression + // Rule 294: enumerator_definition ::= identifier_token // - case 294: { action. consumeEnumerator(true); break; + case 294: { action. consumeEnumerator(false); break; } // - // Rule 296: namespace_definition ::= namespace namespace_name namespace_definition_hook { <openscope-ast> declaration_seq_opt } + // Rule 295: enumerator_definition ::= identifier_token = constant_expression // - case 296: { action. consumeNamespaceDefinition(true); break; + case 295: { action. consumeEnumerator(true); break; } // - // Rule 297: namespace_definition ::= namespace namespace_definition_hook { <openscope-ast> declaration_seq_opt } + // Rule 297: namespace_definition ::= namespace namespace_name namespace_definition_hook { <openscope-ast> declaration_seq_opt } // - case 297: { action. consumeNamespaceDefinition(false); break; + case 297: { action. consumeNamespaceDefinition(true); break; } // - // Rule 299: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 298: namespace_definition ::= namespace namespace_definition_hook { <openscope-ast> declaration_seq_opt } // - case 299: { action. consumeNamespaceAliasDefinition(); break; + case 298: { action. consumeNamespaceDefinition(false); break; } // - // Rule 300: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; + // Rule 300: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ; // - case 300: { action. consumeUsingDeclaration(); break; + case 300: { action. consumeNamespaceAliasDefinition(); break; } // - // Rule 301: typename_opt ::= typename + // Rule 301: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; // - case 301: { action. consumePlaceHolder(); break; + case 301: { action. consumeUsingDeclaration(); break; } // - // Rule 302: typename_opt ::= $Empty + // Rule 302: typename_opt ::= typename // - case 302: { action. consumeEmpty(); break; + case 302: { action. consumePlaceHolder(); break; } // - // Rule 303: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 303: typename_opt ::= $Empty // - case 303: { action. consumeUsingDirective(); break; + case 303: { action. consumeEmpty(); break; } // - // Rule 304: asm_definition ::= asm ( stringlit ) ; + // Rule 304: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; // - case 304: { action. consumeDeclarationASM(); break; + case 304: { action. consumeUsingDirective(); break; } // - // Rule 305: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt } + // Rule 305: asm_definition ::= asm ( stringlit ) ; // - case 305: { action. consumeLinkageSpecification(); break; + case 305: { action. consumeDeclarationASM(); break; } // - // Rule 306: linkage_specification ::= extern stringlit <openscope-ast> declaration + // Rule 306: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt } // case 306: { action. consumeLinkageSpecification(); break; } // - // Rule 311: init_declarator_complete ::= init_declarator + // Rule 307: linkage_specification ::= extern stringlit <openscope-ast> declaration // - case 311: { action. consumeInitDeclaratorComplete(); break; + case 307: { action. consumeLinkageSpecification(); break; } // - // Rule 313: init_declarator ::= complete_declarator initializer + // Rule 312: init_declarator_complete ::= init_declarator // - case 313: { action. consumeDeclaratorWithInitializer(true); break; + case 312: { action. consumeInitDeclaratorComplete(); break; } // - // Rule 316: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator + // Rule 314: init_declarator ::= complete_declarator initializer // - case 316: { action. consumeDeclaratorWithPointer(true); break; + case 314: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 318: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator + // Rule 317: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator // - case 318: { action. consumeDeclaratorWithPointer(true); break; + case 317: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 322: basic_direct_declarator ::= declarator_id_name + // Rule 319: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator // - case 322: { action. consumeDirectDeclaratorIdentifier(); break; + case 319: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 323: basic_direct_declarator ::= ( declarator ) + // Rule 323: basic_direct_declarator ::= declarator_id_name // - case 323: { action. consumeDirectDeclaratorBracketed(); break; + case 323: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 324: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 324: basic_direct_declarator ::= ( declarator ) // - case 324: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; + case 324: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 325: array_direct_declarator ::= array_direct_declarator array_modifier + // Rule 325: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 325: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 325: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 326: array_direct_declarator ::= basic_direct_declarator array_modifier + // Rule 326: array_direct_declarator ::= array_direct_declarator array_modifier // case 326: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 327: array_modifier ::= [ constant_expression ] + // Rule 327: array_direct_declarator ::= basic_direct_declarator array_modifier // - case 327: { action. consumeDirectDeclaratorArrayModifier(true); break; + case 327: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 328: array_modifier ::= [ ] + // Rule 328: array_modifier ::= [ constant_expression ] // - case 328: { action. consumeDirectDeclaratorArrayModifier(false); break; + case 328: { action. consumeDirectDeclaratorArrayModifier(true); break; } // - // Rule 329: ptr_operator ::= pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt + // Rule 329: array_modifier ::= [ ] // - case 329: { action. consumePointer(); break; + case 329: { action. consumeDirectDeclaratorArrayModifier(false); break; } // - // Rule 330: ptr_operator ::= pointer_hook & pointer_hook + // Rule 330: ptr_operator ::= pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt // - case 330: { action. consumeReferenceOperator(); break; + case 330: { action. consumePointer(); break; } // - // Rule 331: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt + // Rule 331: ptr_operator ::= pointer_hook & pointer_hook // - case 331: { action. consumePointerToMember(); break; + case 331: { action. consumeReferenceOperator(); break; } // - // Rule 338: cv_qualifier ::= const + // Rule 332: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt // - case 338: { action. consumeToken(); break; + case 332: { action. consumePointerToMember(); break; } // - // Rule 339: cv_qualifier ::= volatile + // Rule 339: cv_qualifier ::= const // case 339: { action. consumeToken(); break; } // - // Rule 341: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name + // Rule 340: cv_qualifier ::= volatile // - case 341: { action. consumeQualifiedId(false); break; + case 340: { action. consumeToken(); break; } // - // Rule 342: type_id ::= type_specifier_seq + // Rule 342: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name // - case 342: { action. consumeTypeId(false); break; + case 342: { action. consumeQualifiedId(false); break; } // - // Rule 343: type_id ::= type_specifier_seq abstract_declarator + // Rule 343: type_id ::= type_specifier_seq // - case 343: { action. consumeTypeId(true); break; + case 343: { action. consumeTypeId(false); break; } // - // Rule 346: abstract_declarator ::= <openscope-ast> ptr_operator_seq + // Rule 344: type_id ::= type_specifier_seq abstract_declarator // - case 346: { action. consumeDeclaratorWithPointer(false); break; + case 344: { action. consumeTypeId(true); break; } // - // Rule 347: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator + // Rule 347: abstract_declarator ::= <openscope-ast> ptr_operator_seq // - case 347: { action. consumeDeclaratorWithPointer(true); break; + case 347: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 351: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 348: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator // - case 351: { action. consumeDirectDeclaratorBracketed(); break; + case 348: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 352: basic_direct_abstract_declarator ::= ( ) + // Rule 352: basic_direct_abstract_declarator ::= ( abstract_declarator ) // - case 352: { action. consumeAbstractDeclaratorEmpty(); break; + case 352: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 353: array_direct_abstract_declarator ::= array_modifier + // Rule 353: basic_direct_abstract_declarator ::= ( ) // - case 353: { action. consumeDirectDeclaratorArrayDeclarator(false); break; + case 353: { action. consumeAbstractDeclaratorEmpty(); break; } // - // Rule 354: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier + // Rule 354: array_direct_abstract_declarator ::= array_modifier // - case 354: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 354: { action. consumeDirectDeclaratorArrayDeclarator(false); break; } // - // Rule 355: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier + // Rule 355: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier // case 355: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 356: 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 356: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier // - case 356: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; + case 356: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 357: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 357: 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 357: { action. consumeDirectDeclaratorFunctionDeclarator(false); break; + case 357: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 358: parameter_declaration_clause ::= parameter_declaration_list_opt ... + // Rule 358: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 358: { action. consumePlaceHolder(); break; + case 358: { action. consumeDirectDeclaratorFunctionDeclarator(false); break; } // - // Rule 359: parameter_declaration_clause ::= parameter_declaration_list_opt + // Rule 359: parameter_declaration_clause ::= parameter_declaration_list_opt ... // - case 359: { action. consumeEmpty(); break; + case 359: { action. consumePlaceHolder(); break; } // - // Rule 360: parameter_declaration_clause ::= parameter_declaration_list , ... + // Rule 360: parameter_declaration_clause ::= parameter_declaration_list_opt // - case 360: { action. consumePlaceHolder(); break; + case 360: { action. consumeEmpty(); break; } // - // Rule 366: abstract_declarator_opt ::= $Empty + // Rule 361: parameter_declaration_clause ::= parameter_declaration_list , ... // - case 366: { action. consumeEmpty(); break; + case 361: { action. consumePlaceHolder(); break; } // - // Rule 367: parameter_declaration ::= declaration_specifiers parameter_init_declarator + // Rule 367: abstract_declarator_opt ::= $Empty // - case 367: { action. consumeParameterDeclaration(); break; + case 367: { action. consumeEmpty(); break; } // - // Rule 368: parameter_declaration ::= declaration_specifiers + // Rule 368: parameter_declaration ::= declaration_specifiers parameter_init_declarator // - case 368: { action. consumeParameterDeclarationWithoutDeclarator(); break; + case 368: { action. consumeParameterDeclaration(); break; } // - // Rule 370: parameter_init_declarator ::= declarator = parameter_initializer + // Rule 369: parameter_declaration ::= declaration_specifiers // - case 370: { action. consumeDeclaratorWithInitializer(true); break; + case 369: { action. consumeParameterDeclarationWithoutDeclarator(); break; } // - // Rule 372: parameter_init_declarator ::= abstract_declarator = parameter_initializer + // Rule 371: parameter_init_declarator ::= declarator = parameter_initializer // - case 372: { action. consumeDeclaratorWithInitializer(true); break; + case 371: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 373: parameter_init_declarator ::= = parameter_initializer + // Rule 373: parameter_init_declarator ::= abstract_declarator = parameter_initializer // - case 373: { action. consumeDeclaratorWithInitializer(false); break; + case 373: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 374: parameter_initializer ::= assignment_expression + // Rule 374: parameter_init_declarator ::= = parameter_initializer // - case 374: { action. consumeInitializer(); break; + case 374: { action. consumeDeclaratorWithInitializer(false); break; } // - // Rule 375: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body + // Rule 375: parameter_initializer ::= assignment_expression // - case 375: { action. consumeFunctionDefinition(false); break; + case 375: { action. consumeInitializer(); break; } // - // Rule 376: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq + // Rule 376: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body // - case 376: { action. consumeFunctionDefinition(true); break; + case 376: { action. consumeFunctionDefinition(false); break; } // - // Rule 379: initializer ::= ( expression_list ) + // Rule 377: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq // - case 379: { action. consumeInitializerConstructor(); break; + case 377: { action. consumeFunctionDefinition(true); break; } // - // Rule 380: initializer_clause ::= assignment_expression + // Rule 380: initializer ::= ( expression_list ) // - case 380: { action. consumeInitializer(); break; + case 380: { action. consumeInitializerConstructor(); break; } // - // Rule 382: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq , } end_initializer_list + // Rule 381: initializer_clause ::= assignment_expression // - case 382: { action. consumeInitializerList(); break; + case 381: { action. consumeInitializer(); break; } // - // Rule 383: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq } end_initializer_list + // Rule 383: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq , } end_initializer_list // case 383: { action. consumeInitializerList(); break; } // - // Rule 384: initializer_list ::= { <openscope-ast> } + // Rule 384: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq } end_initializer_list // case 384: { action. consumeInitializerList(); break; } // - // Rule 385: start_initializer_list ::= $Empty + // Rule 385: initializer_list ::= { <openscope-ast> } // - case 385: { action. initializerListStart(); break; + case 385: { action. consumeInitializerList(); break; } // - // Rule 386: end_initializer_list ::= $Empty + // Rule 386: start_initializer_list ::= $Empty // - case 386: { action. initializerListEnd(); break; + case 386: { action. initializerListStart(); break; } // - // Rule 391: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt } + // Rule 387: end_initializer_list ::= $Empty // - case 391: { action. consumeClassSpecifier(); break; + case 387: { action. initializerListEnd(); break; } // - // Rule 392: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 392: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt } // - case 392: { action. consumeClassHead(false); break; + case 392: { action. consumeClassSpecifier(); break; } // - // Rule 393: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 393: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook <openscope-ast> base_clause_opt // case 393: { action. consumeClassHead(false); break; } // - // Rule 394: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 394: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt // - case 394: { action. consumeClassHead(true); break; + case 394: { action. consumeClassHead(false); break; } // - // Rule 395: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 395: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook <openscope-ast> base_clause_opt // case 395: { action. consumeClassHead(true); break; } // - // Rule 399: identifier_name_opt ::= $Empty + // Rule 396: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt // - case 399: { action. consumeEmpty(); break; - } + case 396: { action. consumeClassHead(true); break; + } // - // Rule 403: visibility_label ::= access_specifier_keyword : + // Rule 400: identifier_name_opt ::= $Empty // - case 403: { action. consumeVisibilityLabel(); break; - } + case 400: { action. consumeEmpty(); break; + } // - // Rule 404: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ; + // Rule 404: visibility_label ::= access_specifier_keyword : // - case 404: { action. consumeDeclarationSimple(true); break; + case 404: { action. consumeVisibilityLabel(); break; } // - // Rule 405: member_declaration ::= declaration_specifiers_opt ; + // Rule 405: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ; // - case 405: { action. consumeDeclarationSimple(false); break; + case 405: { action. consumeDeclarationSimple(true); break; } // - // Rule 408: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ; + // Rule 406: member_declaration ::= declaration_specifiers_opt ; // - case 408: { action. consumeMemberDeclarationQualifiedId(); break; + case 406: { action. consumeDeclarationSimple(false); break; } // - // Rule 414: member_declaration ::= ERROR_TOKEN + // Rule 409: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ; // - case 414: { action. consumeDeclarationProblem(); break; + case 409: { action. consumeMemberDeclarationQualifiedId(); break; } // - // Rule 423: member_declarator ::= declarator constant_initializer + // Rule 415: member_declaration ::= ERROR_TOKEN // - case 423: { action. consumeMemberDeclaratorWithInitializer(); break; + case 415: { action. consumeDeclarationProblem(); break; } // - // Rule 424: member_declarator ::= bit_field_declarator : constant_expression + // Rule 424: member_declarator ::= declarator constant_initializer // - case 424: { action. consumeBitField(true); break; + case 424: { action. consumeMemberDeclaratorWithInitializer(); break; } // - // Rule 425: member_declarator ::= : constant_expression + // Rule 425: member_declarator ::= bit_field_declarator : constant_expression // - case 425: { action. consumeBitField(false); break; + case 425: { action. consumeBitField(true); break; } // - // Rule 426: bit_field_declarator ::= identifier_name + // Rule 426: member_declarator ::= : constant_expression // - case 426: { action. consumeDirectDeclaratorIdentifier(); break; + case 426: { action. consumeBitField(false); break; } // - // Rule 427: constant_initializer ::= = constant_expression + // Rule 427: bit_field_declarator ::= identifier_name // - case 427: { action. consumeInitializer(); break; + case 427: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 433: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name + // Rule 428: constant_initializer ::= = constant_expression // - case 433: { action. consumeBaseSpecifier(false, false); break; + case 428: { action. consumeInitializer(); break; } // - // Rule 434: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name + // Rule 434: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name // - case 434: { action. consumeBaseSpecifier(true, true); break; + case 434: { action. consumeBaseSpecifier(false, false); break; } // - // Rule 435: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name + // Rule 435: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name // case 435: { action. consumeBaseSpecifier(true, true); break; } // - // Rule 436: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name + // Rule 436: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name // - case 436: { action. consumeBaseSpecifier(true, false); break; + case 436: { action. consumeBaseSpecifier(true, true); break; } // - // Rule 437: access_specifier_keyword ::= private + // Rule 437: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name // - case 437: { action. consumeToken(); break; + case 437: { action. consumeBaseSpecifier(true, false); break; } // - // Rule 438: access_specifier_keyword ::= protected + // Rule 438: access_specifier_keyword ::= private // case 438: { action. consumeToken(); break; } // - // Rule 439: access_specifier_keyword ::= public + // Rule 439: access_specifier_keyword ::= protected // case 439: { action. consumeToken(); break; } // - // Rule 441: access_specifier_keyword_opt ::= $Empty + // Rule 440: access_specifier_keyword ::= public + // + case 440: { action. consumeToken(); break; + } + + // + // Rule 442: access_specifier_keyword_opt ::= $Empty + // + case 442: { action. consumeEmpty(); break; + } + + // + // Rule 444: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt > // - case 441: { action. consumeEmpty(); break; + case 444: { action. consumeTemplateId(); break; } // - // Rule 443: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt > + // Rule 445: conversion_function_id ::= operator conversion_type_id // - case 443: { action. consumeTemplateId(); break; + case 445: { action. consumeConversionName(); break; } // - // Rule 444: conversion_function_id ::= operator conversion_type_id + // Rule 446: conversion_type_id ::= type_specifier_seq conversion_declarator // - case 444: { action. consumeConversionName(); break; + case 446: { action. consumeTypeId(true); break; } // - // Rule 445: conversion_type_id ::= type_specifier_seq conversion_declarator + // Rule 447: conversion_type_id ::= type_specifier_seq // - case 445: { action. consumeTypeId(true); break; + case 447: { action. consumeTypeId(false); break; } // - // Rule 446: conversion_type_id ::= type_specifier_seq + // Rule 448: conversion_declarator ::= <openscope-ast> ptr_operator_seq // - case 446: { action. consumeTypeId(false); break; + case 448: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 447: conversion_declarator ::= <openscope-ast> ptr_operator_seq + // Rule 454: mem_initializer ::= mem_initializer_name ( expression_list_opt ) // - case 447: { action. consumeDeclaratorWithPointer(false); break; + case 454: { action. consumeConstructorChainInitializer(); break; } // - // Rule 453: mem_initializer ::= mem_initializer_name ( expression_list_opt ) + // Rule 455: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name // - case 453: { action. consumeConstructorChainInitializer(); break; + case 455: { action. consumeQualifiedId(false); break; } // - // Rule 454: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name + // Rule 458: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt > // - case 454: { action. consumeQualifiedId(false); break; + case 458: { action. consumeTemplateId(); break; } // - // Rule 457: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt > + // Rule 459: operator_id_name ::= operator overloadable_operator // - case 457: { action. consumeTemplateId(); break; + case 459: { action. consumeOperatorName(); break; } // - // Rule 458: operator_id_name ::= operator overloadable_operator + // Rule 502: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration // - case 458: { action. consumeOperatorName(); break; + case 502: { action. consumeTemplateDeclaration(); break; } // - // Rule 501: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration + // Rule 503: export_opt ::= export // - case 501: { action. consumeTemplateDeclaration(); break; + case 503: { action. consumePlaceHolder(); break; } // - // Rule 502: export_opt ::= export + // Rule 504: export_opt ::= $Empty // - case 502: { action. consumePlaceHolder(); break; + case 504: { action. consumeEmpty(); break; } // - // Rule 503: export_opt ::= $Empty + // Rule 508: template_parameter ::= parameter_declaration // - case 503: { action. consumeEmpty(); break; + case 508: { action. consumeTemplateParamterDeclaration(); break; } // - // Rule 507: template_parameter ::= parameter_declaration + // Rule 509: type_parameter ::= class identifier_name_opt // - case 507: { action. consumeTemplateParamterDeclaration(); break; + case 509: { action. consumeSimpleTypeTemplateParameter(false); break; } // - // Rule 508: type_parameter ::= class identifier_name_opt + // Rule 510: type_parameter ::= class identifier_name_opt = type_id // - case 508: { action. consumeSimpleTypeTemplateParameter(false); break; + case 510: { action. consumeSimpleTypeTemplateParameter(true); break; } // - // Rule 509: type_parameter ::= class identifier_name_opt = type_id + // Rule 511: type_parameter ::= typename identifier_name_opt // - case 509: { action. consumeSimpleTypeTemplateParameter(true); break; + case 511: { action. consumeSimpleTypeTemplateParameter(false); break; } // - // Rule 510: type_parameter ::= typename identifier_name_opt + // Rule 512: type_parameter ::= typename identifier_name_opt = type_id // - case 510: { action. consumeSimpleTypeTemplateParameter(false); break; + case 512: { action. consumeSimpleTypeTemplateParameter(true); break; } // - // Rule 511: type_parameter ::= typename identifier_name_opt = type_id + // Rule 513: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt // - case 511: { action. consumeSimpleTypeTemplateParameter(true); break; + case 513: { action. consumeTemplatedTypeTemplateParameter(false); break; } // - // Rule 512: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt + // Rule 514: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression // - case 512: { action. consumeTemplatedTypeTemplateParameter(false); break; + case 514: { action. consumeTemplatedTypeTemplateParameter(true); break; } // - // Rule 513: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression + // Rule 515: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt > // - case 513: { action. consumeTemplatedTypeTemplateParameter(true); break; + case 515: { action. consumeTemplateId(); break; } // - // Rule 514: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt > + // Rule 520: template_argument ::= assignment_expression // - case 514: { action. consumeTemplateId(); break; + case 520: { action. consumeTemplateArgumentExpression(); break; } // - // Rule 519: template_argument ::= assignment_expression + // Rule 521: template_argument ::= type_id // - case 519: { action. consumeTemplateArgumentExpression(); break; + case 521: { action. consumeTemplateArgumentTypeId(); break; } // - // Rule 520: template_argument ::= type_id + // Rule 522: explicit_instantiation ::= template declaration // - case 520: { action. consumeTemplateArgumentTypeId(); break; + case 522: { action. consumeTemplateExplicitInstantiation(); break; } // - // Rule 521: explicit_instantiation ::= template declaration + // Rule 523: explicit_specialization ::= template < > declaration // - case 521: { action. consumeTemplateExplicitInstantiation(); break; + case 523: { action. consumeTemplateExplicitSpecialization(); break; } // - // Rule 522: explicit_specialization ::= template < > declaration + // Rule 524: try_block ::= try compound_statement <openscope-ast> handler_seq // - case 522: { action. consumeTemplateExplicitSpecialization(); break; + case 524: { action. consumeStatementTryBlock(true); break; } // - // Rule 523: try_block ::= try compound_statement <openscope-ast> handler_seq + // Rule 525: try_block ::= try compound_statement // - case 523: { action. consumeStatementTryBlock(); break; + case 525: { action. consumeStatementTryBlock(false); break; } // - // Rule 526: handler ::= catch ( exception_declaration ) compound_statement + // Rule 528: handler ::= catch ( exception_declaration ) compound_statement // - case 526: { action. consumeStatementCatchHandler(false); break; + case 528: { action. consumeStatementCatchHandler(false); break; } // - // Rule 527: handler ::= catch ( ... ) compound_statement + // Rule 529: handler ::= catch ( ... ) compound_statement // - case 527: { action. consumeStatementCatchHandler(true); break; + case 529: { action. consumeStatementCatchHandler(true); break; } // - // Rule 528: exception_declaration ::= type_specifier_seq <openscope-ast> declarator + // Rule 530: exception_declaration ::= type_specifier_seq <openscope-ast> declarator // - case 528: { action. consumeDeclarationSimple(true); break; + case 530: { action. consumeDeclarationSimple(true); break; } // - // Rule 529: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator + // Rule 531: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator // - case 529: { action. consumeDeclarationSimple(true); break; + case 531: { action. consumeDeclarationSimple(true); break; } // - // Rule 530: exception_declaration ::= type_specifier_seq + // Rule 532: exception_declaration ::= type_specifier_seq // - case 530: { action. consumeDeclarationSimple(false); break; + case 532: { action. consumeDeclarationSimple(false); break; } // - // Rule 532: exception_specification ::= throw ( ) + // Rule 534: exception_specification ::= throw ( ) // - case 532: { action. consumePlaceHolder(); break; + case 534: { action. consumePlaceHolder(); break; } // - // Rule 538: no_cast_start ::= ERROR_TOKEN + // Rule 540: no_cast_start ::= ERROR_TOKEN // - case 538: { action. consumeEmpty(); break; + case 540: { action. consumeEmpty(); break; } diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParserprs.java index 933dceaaafc..da02ccb0e10 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParserprs.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParserprs.java @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 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 @@ -56,478 +56,475 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 1,0,1,1,0,1,1,1,1,1, 1,1,1,1,3,4,3,2,1,4, 2,1,2,5,7,5,1,4,1,0, - 5,7,8,1,1,2,2,3,2,3, + 5,7,2,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,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,1,1,1,1,3,4,4,5,2, + 5,6,5,0,1,0,7,8,0,1, + 3,1,0,1,3,1,7,6,0,7, + 6,1,0,6,5,6,4,1,3,1, + 0,1,1,2,1,1,3,1,3,1, + 1,1,1,3,9,2,2,3,2,5, + 3,7,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,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,3,4,4,5,2,5, - 6,5,0,1,0,7,8,0,1,3, - 1,0,1,3,1,7,6,0,7,6, - 1,0,6,5,6,4,1,3,1,0, - 1,1,2,1,1,3,1,3,1,1, - 1,1,3,9,2,2,3,2,5,3, - 7,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, - 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,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,-107,0, - 0,0,-2,0,0,0,0,0,0,0, + 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,2,1,2,5,5,3, + 3,1,4,3,1,0,1,3,1,1, + -107,0,0,0,-2,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-4,0,0,0,0,0, + -536,0,0,0,-10,0,0,0,0,0, + -49,0,0,-54,0,-289,0,0,0,0, + 0,0,0,0,0,0,0,0,-58,0, + 0,0,-59,0,-306,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-5,0, + -414,0,0,0,-187,0,0,0,0,-177, + 0,0,-16,0,0,0,0,0,0,0, + 0,0,0,-121,-1,0,0,0,0,0, + 0,-176,0,0,0,0,0,0,0,0, + 0,0,0,-62,0,0,0,0,0,0, + -262,0,-357,0,0,-271,0,0,0,0, + 0,0,-300,-50,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,0,0,0,0,0,0,0, + 0,0,0,0,-57,0,0,0,0,0, + 0,0,0,-116,0,0,0,-118,0,-275, + 0,-135,0,0,0,-234,-317,0,0,0, + 0,0,0,-115,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-4,0,0,0,0,0,-536,0, - 0,0,-10,0,0,0,0,0,-49,0, - 0,-54,0,-289,0,0,0,0,0,0, - 0,0,0,0,0,0,-58,0,0,0, - -59,0,-306,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-5,0,-414,0, - 0,0,-187,0,0,0,0,-177,0,0, - -16,0,0,0,0,0,0,0,0,0, - 0,-121,-1,0,0,0,0,0,0,-176, + 0,0,0,0,0,0,0,-104,-61,0, + 0,0,0,0,0,0,0,0,-6,0, + 0,-126,0,0,0,0,0,-68,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-62,0,0,0,0,0,0,-262,0, - -357,0,0,-271,0,0,0,0,0,0, - -300,-50,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,-7,0,0, + -224,0,0,0,-130,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-57,0,0,0,0,0,0,0, - 0,-116,0,0,0,-118,0,-275,0,-135, - 0,0,0,-234,-317,0,0,0,0,0, - 0,-115,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-53,-196, + 0,0,0,0,-389,0,0,-181,-162,-8, 0,0,0,0,0,0,0,0,0,0, + 0,-9,0,-218,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-104,-61,0,0,0, - 0,0,0,0,0,0,-6,0,0,-126, - 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,-7,0,0,-224,0, - 0,0,-130,0,0,0,0,0,0,0, + 0,0,0,-128,0,0,0,0,0,0, + 0,0,-11,-165,0,0,0,0,0,0, + -105,-170,0,0,-51,0,0,0,0,-12, + 0,0,-69,0,0,0,-129,0,0,0, + 0,0,0,0,0,0,0,0,-166,0, + -513,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-13,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-53,-196,0,0, - 0,0,-389,0,0,-181,-162,-8,0,0, - 0,0,0,0,0,0,0,0,0,-9, - 0,-218,0,0,0,0,0,0,0,0, + 0,0,0,0,-537,0,0,0,-15,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-128,0,0,0,0,0,0,0,0, - -11,-165,0,0,0,0,0,0,-105,-170, - 0,0,-51,0,0,0,0,-12,0,0, - -69,0,0,0,-129,0,0,0,0,0, - 0,0,0,0,0,0,-166,0,-513,0, + 0,0,0,0,0,0,0,0,0,-132, + 0,0,0,-28,-113,0,0,0,-163,0, + 0,0,-119,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-13,0,0,0,0,0,0,0, + 0,0,0,-395,0,0,0,0,0,0, + 0,-103,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-537,0,0,0,-15,0,0,0, + 0,0,0,0,0,-255,0,0,0,0, + 0,0,0,0,0,-123,0,0,-29,-297, + 0,0,0,0,0,-272,0,0,-17,0, + -137,-142,0,-30,-444,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-132,0,0, - 0,-28,-113,0,0,0,-163,0,0,0, - -119,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-417, + 0,0,0,0,-141,0,0,0,-3,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-395,0,0,0,0,0,0,0,-103, + 0,0,-228,0,0,0,0,0,0,0, + 0,0,-31,0,0,0,0,0,0,0, + 0,-319,0,0,0,-32,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-255,0,0,0,0,0,0, - 0,0,0,-123,0,0,-29,-297,0,0, - 0,0,0,-272,0,0,-17,0,-137,-142, - 0,-30,-444,0,0,0,0,0,0,0, + 0,-184,0,0,0,0,-322,0,0,0, + -257,-33,0,0,0,-283,0,0,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,0,0,0,0,0,-417,0,0, - 0,0,-141,0,0,0,-3,0,0,0, + 0,0,0,0,-334,0,0,0,-335,0, + 0,0,0,-35,0,0,0,0,0,0, + -323,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-225,0,0,0,0,0, + -386,0,0,0,0,0,0,0,0,-36, + -205,0,0,-18,0,0,0,0,-324,0, + 0,0,-37,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -228,0,0,0,0,0,0,0,0,0, - -31,0,0,0,0,0,0,0,0,-319, - 0,0,0,-32,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-184, - 0,0,0,0,-322,0,0,0,-257,-33, - 0,0,0,-283,0,0,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,-186,-39,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-334,0,0,0,-335,0,0,0, - 0,-35,0,0,0,0,0,0,-323,0, + 0,0,0,0,0,0,-299,0,0,0, + 0,0,0,0,0,0,-377,0,0,0, + 0,0,0,0,0,-41,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,-225,0,0,0,0,0,-386,0, - 0,0,0,0,0,0,0,-36,-205,0, - 0,-18,0,0,0,0,-324,0,0,0, - -37,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-40,0,0,0,0, + -342,0,0,0,-55,0,0,0,-91,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-186, - -39,0,0,0,0,0,0,0,0,0, + 0,0,-56,0,0,0,0,0,-188,0, + 0,0,-405,0,0,0,0,-197,-337,0, + 0,-92,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-299,0,0,0,0,0, - 0,0,0,0,-377,0,0,0,0,0, - 0,0,0,-41,0,0,0,-38,0,0, + 0,0,0,0,0,-202,0,0,0,0, + 0,0,0,0,0,0,-376,0,0,0, + -344,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,-40,0,0,0,0,-342,0, - 0,0,-55,0,0,0,-91,0,0,0, + 0,0,0,0,-195,0,0,0,0,0, + 0,0,0,-207,-219,0,0,-94,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -56,0,0,0,0,0,-188,0,0,0, - -405,0,0,0,0,-197,-337,0,0,-92, 0,0,0,0,0,0,0,0,0,0, + 0,0,-209,0,0,0,0,-220,0,0, + -95,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,-376,0,0,0,-344,0, - 0,0,-93,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -229,0,0,0,0,-478,0,0,0,-233, + -221,0,0,-96,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-195,0,0,0,0,0,0,0, - 0,-207,-219,0,0,-94,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-240,-296,0,0,-97,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -209,0,0,0,0,-220,0,0,-95,0, 0,0,0,0,0,0,0,0,0,0, + -63,0,0,0,0,0,0,0,0,0, + -469,-303,0,0,0,-247,0,0,0,-98, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-229,0, - 0,0,0,-478,0,0,0,-233,-221,0, - 0,-96,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-211,0,0,0,0,0,0, + 0,0,0,0,-385,0,0,0,-248,0, + 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,0,-64,0,0,0, + 0,0,0,0,0,0,-528,-399,0,0, + 0,-249,0,0,0,-100,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -240,-296,0,0,-97,0,0,0,0,0, + 0,0,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,-63,0, - 0,0,0,0,0,0,0,0,-469,-303, - 0,0,0,-247,0,0,0,-98,0,0, + -66,0,0,0,-250,-286,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,-211,0,0,0,0,0,0,0,0, - 0,0,-385,0,0,0,-248,0,0,0, - -99,0,0,0,0,0,0,0,0,0, + 0,0,-67,0,0,0,0,0,0,0, + 0,0,-529,-254,0,0,0,0,-108,0, + 0,-203,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-64,0,0,0,0,0, - 0,0,0,0,-528,-399,0,0,0,-249, - 0,0,0,-100,0,0,0,0,0,0, + 0,0,0,0,0,-327,0,0,0,0, + 0,0,0,0,0,0,-267,0,0,0, + 0,-109,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,-298,0,0, - 0,0,0,0,0,0,0,0,-66,0, - 0,0,-250,-286,0,0,-101,0,0,0, + 0,0,0,0,0,0,0,0,-320,0, + 0,0,0,0,-268,0,0,0,0,-270, + 0,0,0,0,-279,0,0,-345,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -67,0,0,0,0,0,0,0,0,0, - -529,-254,0,0,0,0,-108,0,0,-203, + 0,-498,0,0,0,0,0,-274,0,0, + 0,0,-110,0,0,0,-356,0,0,0, + -111,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-282,0,0,0, + 0,-360,0,0,0,-223,0,0,0,-435, + 0,0,0,-131,-380,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-327,0,0,0,0,0,0, - 0,0,0,0,-267,0,0,0,0,-109, - 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,0,-320,0,0,0, - 0,0,-268,0,0,0,0,-270,0,0, - 0,0,-279,0,0,-345,0,0,0,0, + 0,0,0,0,0,0,0,0,-143,-287, + 0,0,0,-381,0,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,0,-274,0,0,0,0, - -110,0,0,0,-356,0,0,0,-111,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-144,0, + 0,0,-232,0,0,0,-437,0,0,0, + -145,-455,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-282,0,0,0,0,-360, - 0,0,0,-223,0,0,0,-435,0,0, - 0,-131,-380,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-146,-292,0,0,0, + -90,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-143,-287,0,0, - 0,-381,0,0,0,0,0,0,0,0, + 0,0,0,0,-147,0,0,0,0,0, + 0,0,0,0,-138,0,0,0,-294,0, + 0,0,0,0,0,0,0,-148,-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,-144,0,0,0, - -232,0,0,0,-437,0,0,0,-145,-455, + 0,0,0,0,0,0,0,0,-347,0, + 0,-89,0,0,0,-149,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-150,0,0,0,0, + 0,-151,0,-85,0,0,0,-152,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-265,0,0, + 0,0,0,-86,0,0,0,-153,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-146,-292,0,0,0,-90,0, + 0,0,0,0,0,0,0,-154,0,0, + 0,0,-87,0,0,0,-314,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-355,0,0,0, + 0,-396,0,0,0,0,0,0,0,0, + 0,0,0,0,-79,0,0,0,-155,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-147,0,0,0,0,0,0,0, - 0,0,-138,0,0,0,-294,0,0,0, - 0,0,0,0,0,-148,-88,0,0,0, + 0,0,0,0,0,0,0,0,-156,0, + 0,0,-71,-310,-365,0,0,-140,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,0,0,-378, + 0,0,0,0,0,-157,-80,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-347,0,0,-89, - 0,0,0,-149,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-150,0,0,0,0,0,-151, - 0,-85,0,0,0,-152,0,0,0,0, + -465,0,0,0,0,-158,-471,0,0,0, + -472,0,0,0,0,0,0,-538,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-265,0,0,0,0, - 0,-86,0,0,0,-153,0,0,0,0, + 0,-354,0,-238,0,0,0,-159,0,0, + 0,0,0,0,-266,0,-81,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-154,0,0,0,0, - -87,0,0,0,-314,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-355,0,0,0,0,-396, + -160,0,0,0,-82,0,0,0,-161,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-79,0,0,0,-155,0,0,0, + 0,0,0,0,0,0,0,0,-167,0, + 0,0,-242,0,0,0,0,0,0,0, + 0,0,0,0,0,-290,-47,0,0,0, + 0,-168,-321,-305,0,0,0,0,0,0, + 0,0,0,0,0,0,-295,-190,0,0, + 0,0,0,0,-112,-52,0,0,0,-136, + 0,0,0,-169,-127,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-172,-236, + 0,-48,0,0,0,0,-173,-102,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-156,0,0,0, - -71,-310,-365,0,0,-140,0,0,0,0, + -239,0,0,0,0,0,0,0,0,0, + 0,0,0,-328,0,-174,-388,0,0,-106, + 0,0,0,0,-373,0,-392,0,-343,0, + 0,0,-175,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,-375,0,0,0,0, - 0,0,0,0,0,0,0,-378,0,0, - 0,0,0,-157,-80,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,-158,-471,0,0,0,-472,0, - 0,0,0,0,0,-538,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-354, - 0,-238,0,0,0,-159,0,0,0,0, - 0,0,-266,0,-81,0,0,0,0,0, + 0,0,0,0,0,0,-359,0,0,-178, + -201,0,0,0,0,-179,0,0,0,0, + 0,0,0,0,0,0,-180,0,0,0, + 0,0,0,0,0,0,0,0,0,-183, + 0,0,0,0,0,0,-120,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,0,0,0,0,0,-160,0, - 0,0,-82,0,0,0,-161,0,0,0, + 0,0,0,0,-311,0,0,-84,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,0,0,-167,0,0,0, - -242,0,0,0,0,0,0,0,0,0, - 0,0,0,-290,-47,0,0,0,0,-168, - -321,-305,0,0,0,0,0,0,0,0, - 0,0,0,0,-295,-190,0,0,0,0, - 0,0,-112,-52,0,0,0,-136,0,0, - 0,-169,-127,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-172,-236,0,-48, - 0,0,0,0,-173,-102,0,0,0,0, - 0,0,0,0,0,0,0,0,-239,0, + 0,-433,0,0,-164,0,-212,0,0,0, + 0,-304,0,-390,-117,0,-182,0,0,0, + -246,0,0,0,0,0,-308,0,0,-192, + 0,0,0,0,0,-418,0,-412,0,-453, + 0,0,0,0,0,-198,0,0,0,0, + 0,0,0,0,0,0,0,0,-309,-206, + 0,0,0,0,-259,0,0,-216,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-328,0,-174,-388,0,0,-106,0,0, - 0,0,-373,0,-392,0,-343,0,0,0, - -175,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-20,0,0,0, + 0,-325,0,0,0,0,0,0,0,-363, 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,-530,0,0,0,0, + 0,0,0,0,0,0,0,0,-74,0, + 0,0,-351,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-359,0,0,-178,-201,0, - 0,0,0,-179,0,0,0,0,0,0, - 0,0,0,0,-180,0,0,0,0,0, - 0,0,0,0,0,0,0,-183,0,0, - 0,0,0,0,-120,0,0,0,-83,0, + 0,0,0,0,-326,0,0,0,-331,-427, + -244,-333,0,0,0,0,-226,0,-336,-434, + 0,0,0,-413,0,0,0,0,0,0, + 0,-237,0,0,0,-204,0,0,0,0, + 0,0,0,-330,0,0,0,-364,0,0, + 0,0,0,0,0,0,-475,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,0,0,0,0,0,-139,0,0, + 0,0,0,0,0,-273,0,0,0,0, + 0,0,0,0,0,0,-424,0,0,-462, + 0,0,-241,0,0,0,0,-291,-243,0, + -352,0,0,-452,0,-122,-253,0,0,0, + 0,0,0,0,-258,0,0,0,0,0, + 0,0,0,0,0,0,0,-485,0,0, + -353,0,0,-260,-425,0,0,0,0,0, + 0,0,0,0,0,0,-339,-261,-313,0, + 0,0,-293,0,0,0,0,0,0,0, + 0,0,0,0,0,-487,0,0,0,0, + 0,0,0,0,0,0,0,-470,0,0, + 0,0,0,0,-372,0,0,0,-276,0, + -404,0,0,0,0,0,0,0,0,0, + 0,0,0,-504,0,0,-280,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-312,0,0,0,-341,0,-281,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-518,0,0,-542,0,0,-284,-235,-285, + 0,0,0,0,0,0,0,0,0,0, + -361,-499,-421,-367,0,0,0,0,-473,0, + 0,0,0,0,0,0,0,0,0,-520, + 0,0,-391,0,0,-422,0,0,0,0, + 0,-301,0,0,0,0,0,0,0,-302, 0,0,0,0,0,0,0,0,0,0, - 0,0,-311,0,0,-84,0,0,0,-191, + 0,0,0,0,0,0,0,-134,0,0, + -278,0,0,-307,0,0,0,0,0,0, + 0,0,0,0,0,0,-171,0,0,0, + -185,0,0,0,-464,0,0,0,0,0, + 0,0,0,0,0,-522,0,0,0,0, + 0,0,0,0,0,0,0,0,-362,-70, + 0,0,0,0,-490,0,-468,0,0,0, + 0,0,-524,-416,0,0,0,0,-402,0, + 0,0,0,0,-403,0,0,-124,0,0, + -350,-231,0,0,0,0,0,-358,0,-245, + 0,0,0,0,0,0,0,0,-315,0, + 0,0,0,-406,-43,0,-316,0,0,0, + 0,0,0,0,0,0,0,0,0,-332, + -382,0,-227,0,0,0,-346,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-433, - 0,0,-164,0,-212,0,0,0,0,-304, - 0,-390,-117,0,-182,0,0,0,-246,0, - 0,0,0,0,-308,0,0,-192,0,0, - 0,0,0,-418,0,-412,0,-453,0,0, - 0,0,0,-198,0,0,0,0,0,0, - 0,0,0,0,0,0,-309,-206,0,0, - 0,0,-259,0,0,-216,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-325, - 0,0,0,0,0,0,0,-363,0,0, + 0,-446,-420,0,-539,0,0,0,0,-457, + 0,0,0,0,0,0,-476,0,0,0, + 0,-441,0,0,0,0,0,0,0,0, + 0,0,-213,-443,0,0,0,0,-526,0, + 0,0,0,0,0,-429,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,-530,0,0,0,0,0,0, - 0,0,0,0,0,0,-74,0,0,0, - -351,0,0,0,0,0,0,0,0,0, + 0,-544,0,0,-466,0,-467,-199,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-326,0,0,0,-331,-427,-244,-333, - 0,0,0,0,-226,0,-336,-434,0,0, - 0,-413,0,0,0,0,0,0,0,-237, - 0,0,0,-204,0,0,0,0,0,0, - 0,-330,0,0,0,-364,0,0,0,0, - 0,0,0,0,-475,0,0,0,0,-75, + -348,-368,-480,-44,0,0,0,0,-493,0, + -432,0,0,-371,0,-474,-384,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-139,0,0,0,0, - 0,0,0,-273,0,0,0,0,0,0, - 0,0,0,0,-424,0,0,-462,0,0, - -241,0,0,0,0,-291,-243,0,-352,0, - 0,-452,0,-122,-253,0,0,0,0,0, - 0,0,-258,0,0,0,0,0,0,0, - 0,0,0,0,0,-485,0,0,-353,0, - 0,-260,-425,0,0,0,0,0,0,0, - 0,0,0,0,-339,-261,-313,0,0,0, - -293,0,0,0,0,0,0,0,0,0, - 0,0,0,-487,0,0,0,0,0,0, - 0,0,0,0,0,-470,0,0,0,0, - 0,0,-372,0,0,0,-276,0,-404,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-504,0,0,-280,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -312,0,0,0,-341,0,-281,0,0,0, - 0,0,0,0,0,0,0,0,0,-518, - 0,0,-542,0,0,-284,-235,-285,0,0, - 0,0,0,0,0,0,0,0,-361,-499, - -421,-367,0,0,0,0,-473,0,0,0, - 0,0,0,0,0,0,0,-520,0,0, - -391,0,0,-422,0,0,0,0,0,-301, - 0,0,0,0,0,0,0,-302,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-134,0,0,-278,0, - 0,-307,0,0,0,0,0,0,0,0, - 0,0,0,0,-171,0,0,0,-185,0, - 0,0,-464,0,0,0,0,0,0,0, - 0,0,0,-522,0,0,0,0,0,0, - 0,0,0,0,0,0,-362,-70,0,0, - 0,0,-490,0,-468,0,0,0,0,0, - -524,-416,0,0,0,0,-402,0,0,0, - 0,0,-403,0,0,-124,0,0,-350,-231, - 0,0,0,0,0,-358,0,-245,0,0, - 0,0,0,0,0,0,-315,0,0,0, - 0,-406,-43,0,-316,0,0,0,0,0, - 0,0,0,0,0,0,0,-332,-382,0, - -227,0,0,0,-346,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-446, - -420,0,-539,0,0,0,0,-457,0,0, - 0,0,0,0,-476,0,0,0,0,-441, - 0,0,0,0,0,0,0,0,0,0, - -213,-443,0,0,0,0,-526,0,0,0, - 0,0,0,-429,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-544, - 0,0,-466,0,-467,-199,0,0,0,0, - 0,0,0,0,0,0,0,0,-348,-368, - -480,-44,0,0,0,0,-493,0,-432,0, - 0,-371,0,-474,-384,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-477,0,0,0, - 0,-269,0,0,-494,0,0,0,0,0, - 0,0,0,0,0,-76,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-77, + 0,0,0,0,0,0,0,0,-477,0, + 0,0,0,-269,0,0,-494,0,0,0, + 0,0,0,0,0,0,0,-76,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-78,0,0,0,0,0,0, + 0,-77,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-21,0,0, - 0,-397,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-78,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -22,0,0,0,-398,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-21, + 0,0,0,-397,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-23,0,0,0,-400,0,0, + 0,0,-22,0,0,0,-398,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-24,0,0,0, - -401,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-25, - 0,0,0,-407,0,0,0,0,0,0, + 0,0,0,0,0,-23,0,0,0,-400, 0,0,0,0,0,0,0,0,0,0, - 0,0,-26,0,0,0,-409,0,0,0, + 0,0,0,0,0,0,0,0,-24,0, + 0,0,-401,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-27,0,0,0,-415, + 0,-25,0,0,0,-407,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-60,0, - 0,0,-423,0,0,0,0,0,0,0, + 0,0,0,0,-26,0,0,0,-409,0, 0,0,0,0,0,0,0,0,0,0, - 0,-72,0,0,0,-430,0,0,0,0, + 0,0,0,0,0,0,0,-27,0,0, + 0,-415,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-73,0,0,0,-431,0, + -60,0,0,0,-423,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-193,0,0, - 0,-454,0,0,0,0,0,0,0,0, + 0,0,0,-72,0,0,0,-430,0,0, 0,0,0,0,0,0,0,0,0,0, - -379,0,0,0,0,0,0,0,0,0, - 0,0,0,-482,-445,0,0,0,0,0, - 0,0,0,0,0,0,0,-19,0,0, - 0,-456,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-366, - -214,-458,-215,0,0,-251,0,-459,-460,0, - 0,0,0,-394,0,0,-501,0,-496,-448, + 0,0,0,0,0,0,-73,0,0,0, + -431,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-193, + 0,0,0,-454,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-461,0,-463,-500,0,-505,0,0,-481, - 0,0,0,-514,0,0,0,0,0,-483, - 0,0,0,0,0,0,-479,0,0,-509, - 0,0,0,0,0,0,0,0,0,-507, - 0,-189,0,0,0,0,-484,0,0,0, - 0,-14,0,0,0,0,-442,0,0,0, - 0,0,0,0,0,-511,0,0,0,-486, - -45,0,-410,0,0,0,0,0,-512,-517, - 0,-491,0,0,0,0,0,0,0,0, - -515,-277,0,-516,0,0,0,0,0,0, - -525,-495,-533,0,0,0,0,0,0,0, - 0,0,-125,0,0,0,0,0,-502,-510, - 0,0,-519,-527,0,0,0,0,0,0, - -532,0,0,-521,0,0,0,0,-543,0, - 0,0,0,-383,0,0,0,0,0,0, - 0,0,0,0,0,0,-506,0,0,0, + 0,0,-379,0,0,0,0,0,0,0, + 0,0,0,0,0,-482,-445,0,0,0, + 0,0,0,0,0,0,0,0,0,-19, + 0,0,0,-456,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-534,0,-263,0,0,0, - 0,0,0,0,0,0,0,0,0,-535, - 0,-540,0,0,0,0,-541,0,0,0, + 0,-366,-214,-458,-215,0,0,-251,0,-459, + -460,0,0,0,0,-394,0,0,-501,0, + -496,-448,0,0,0,0,0,0,0,0, + 0,0,0,-461,0,-463,-500,0,-505,0, + 0,-481,0,0,0,-514,0,0,0,0, + 0,-483,0,0,0,0,0,0,-479,0, + 0,-509,0,0,0,0,0,0,0,0, + 0,-507,0,-189,0,0,0,0,-484,0, + 0,0,0,-14,0,0,0,0,-442,0, + 0,0,0,0,0,0,0,-511,0,0, + 0,-486,-45,0,-410,0,0,0,0,0, + -512,-517,0,-491,0,0,0,0,0,0, + 0,0,-515,-277,0,-516,0,0,0,0, + 0,0,-525,-495,-533,0,0,0,0,0, + 0,0,0,0,-125,0,0,0,0,0, + -502,-510,0,0,-519,-527,0,0,0,0, + 0,0,-532,0,0,-521,0,0,0,0, + -543,0,0,0,0,-383,0,0,0,0, + 0,0,0,0,0,0,0,0,-506,0, 0,0,0,0,0,0,0,0,0,0, - -338,0,0,0,0,0,0,0,0,0, - 0,0,-369,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-534,0,-263,0, 0,0,0,0,0,0,0,0,0,0, + 0,-535,0,-540,0,0,0,0,-541,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-230,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-393,0, + 0,0,-338,0,0,0,0,0,0,0, + 0,0,0,0,-369,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -419,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-230,0,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,0,0,0,0,0,-428,0,0,0, - 0,0,0,0,0,0,0,0,-252,0, - -318,0,0,0,0,0,0,0,0,0, + -393,0,0,0,0,0,0,0,0,0, + 0,0,-419,0,0,0,0,0,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,0,0,0,0,0,-428,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,-436,0,-523,-222,0, - 0,0,0,0,0,0,0,0,-264,0, - 0,0,0,0,-208,0,0,-46,0,0, - 0,0,0,0,-329,0,0,0,0,0, - 0,0,0,0,0,-133,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-340, + -252,0,-318,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-349,0,0,0, 0,0,0,0,0,0,0,0,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,-436,0,-523, + -222,0,0,0,0,0,0,0,0,0, + -264,0,0,0,0,0,-208,0,0,-46, + 0,0,0,0,0,0,-329,0,0,0, + 0,0,0,0,0,0,0,-133,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-340,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-349,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-387,0,0,0,0,0, - 0,-408,0,0,0,-411,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-426, - 0,0,0,0,-438,0,0,0,-374,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-508,0,0,0,0,0,0,0,0, - -439,0,0,0,0,0,0,-447,0,0, - 0,0,0,0,-449,0,-42,0,0,-65, - 0,0,0,0,0,-200,0,0,0,-440, + 0,0,0,0,0,0,-387,0,0,0, + 0,0,0,-408,0,0,0,-411,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-426,0,0,0,0,-438,0,0,0, + -374,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-508,0,0,0,0,0,0, + 0,0,-439,0,0,0,0,0,0,-447, + 0,0,0,0,0,0,-449,0,-42,0, + 0,-65,0,0,0,0,0,-200,0,0, + 0,-440,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-488,0,0,0,0,0,-210,0, - 0,0,-256,0,0,0,0,0,0,0, - -489,0,0,0,0,-492,0,-194,0,0, - 0,0,0,0,0,-450,0,-451,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-497,0, - -503,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-488,0,0,0,0,0, + -210,0,0,0,-256,0,0,0,0,0, + 0,0,-489,0,0,0,0,-492,0,-194, + 0,0,0,0,0,0,0,-450,0,-451, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -497,0,-503,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, @@ -544,7 +541,10 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0 + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0 }; }; public final static short baseCheck[] = BaseCheck.baseCheck; @@ -573,531 +573,532 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 96,180,180,91,203,203,69,69,69,69, 69,69,69,69,69,70,70,70,67,67, 56,56,181,181,71,71,71,102,102,182, - 182,72,72,72,183,183,73,73,73,73, - 73,74,74,83,83,83,83,83,83,83, - 83,51,51,51,51,51,115,115,113,113, - 52,184,24,24,24,24,24,49,49,86, - 86,86,86,86,153,153,148,148,148,148, - 148,149,149,149,150,150,150,151,151,151, - 152,152,152,87,87,87,87,87,88,88, - 88,13,14,14,14,14,14,14,14,14, - 14,14,14,97,119,119,119,119,119,119, - 117,117,117,154,155,155,118,118,185,157, - 157,156,156,121,121,103,80,80,122,54, - 48,158,158,55,53,85,85,159,159,147, - 147,123,124,124,125,77,77,160,160,64, - 64,64,61,61,60,65,65,76,76,59, - 59,59,50,89,89,99,98,98,63,63, - 62,62,58,58,46,100,100,100,92,92, - 92,93,93,94,94,94,95,95,104,104, - 104,106,106,105,105,204,204,90,90,187, - 187,187,187,187,127,47,47,162,186,186, - 128,128,129,129,129,130,164,188,188,35, - 35,116,131,131,131,131,190,108,107,107, - 120,120,120,165,166,166,166,166,166,166, - 166,166,166,166,166,192,192,189,189,191, - 191,167,168,168,168,168,169,193,110,109, - 109,194,194,170,170,170,170,101,101,101, - 195,195,8,8,9,196,196,197,171,161, - 161,172,172,173,174,174,7,7,10,198, + 182,72,72,72,72,183,183,73,73,73, + 73,73,74,74,83,83,83,83,83,83, + 83,83,51,51,51,51,51,115,115,113, + 113,52,184,24,24,24,24,24,49,49, + 86,86,86,86,86,153,153,148,148,148, + 148,148,149,149,149,150,150,150,151,151, + 151,152,152,152,87,87,87,87,87,88, + 88,88,13,14,14,14,14,14,14,14, + 14,14,14,14,97,119,119,119,119,119, + 119,117,117,117,154,155,155,118,118,185, + 157,157,156,156,121,121,103,80,80,122, + 54,48,158,158,55,53,85,85,159,159, + 147,147,123,124,124,125,77,77,160,160, + 64,64,64,61,61,60,65,65,76,76, + 59,59,59,50,89,89,99,98,98,63, + 63,62,62,58,58,46,100,100,100,92, + 92,92,93,93,94,94,94,95,95,104, + 104,104,106,106,105,105,204,204,90,90, + 187,187,187,187,187,127,47,47,162,186, + 186,128,128,129,129,129,130,164,188,188, + 35,35,116,131,131,131,131,190,108,107, + 107,120,120,120,165,166,166,166,166,166, + 166,166,166,166,166,166,192,192,189,189, + 191,191,167,168,168,168,168,169,193,110, + 109,109,194,194,170,170,170,170,101,101, + 101,195,195,8,8,9,196,196,197,171, + 161,161,172,172,173,174,174,7,7,10, 198,198,198,198,198,198,198,198,198,198, 198,198,198,198,198,198,198,198,198,198, 198,198,198,198,198,198,198,198,198,198, 198,198,198,198,198,198,198,198,198,198, - 198,78,81,81,175,175,133,133,134,134, - 134,134,134,134,3,135,135,132,132,111, - 111,84,79,75,163,163,112,112,199,199, - 199,136,136,126,126,200,200,176,176,1119, - 35,2752,2720,1278,3465,27,30,31,993,1017, - 26,28,2697,261,25,23,50,1052,106,76, - 77,107,1137,73,1231,1152,1280,1244,1332,415, - 1308,1391,1378,499,273,1478,1504,142,2715,56, - 157,143,1614,693,1888,35,948,32,4555,4441, - 27,30,31,993,1017,340,28,588,1939,2162, - 34,1614,231,1952,35,948,32,3529,4441,27, - 30,31,993,1017,340,28,499,71,352,588, - 35,1885,390,2412,1221,234,229,230,588,35, - 3064,1500,35,948,32,24,274,41,30,31, - 993,1017,1229,2249,320,2198,322,1197,315,1944, - 588,35,2162,3026,433,241,244,247,250,642, - 353,2802,1425,320,2198,322,1719,315,1944,236, - 1061,588,3547,155,1962,3547,345,967,932,350, - 2802,307,56,537,1642,563,752,2973,736,2905, - 3234,3526,4243,2316,35,948,32,2744,1382,27, - 30,31,993,1017,26,28,931,261,25,23, - 50,1052,106,76,77,107,1137,344,1231,1152, - 1280,1244,1332,56,1308,1391,1378,833,740,1478, - 1504,142,2042,383,519,143,1225,2975,2553,2808, - 1714,35,948,32,2485,2485,40,30,31,993, - 1017,520,2316,35,948,32,2744,1382,27,30, - 31,993,1017,26,28,931,261,25,23,50, - 1052,106,76,77,107,1137,344,1231,1152,1280, - 1244,1332,2898,1308,1391,1378,1614,1017,1478,1504, - 142,333,290,519,143,289,1430,1267,2808,231, - 327,35,279,1557,515,4172,1217,35,948,32, - 520,3196,27,30,31,993,1017,57,28,543, - 69,876,243,229,230,2868,1390,1810,2874,221, - 2465,3555,3469,2316,35,948,32,2744,1382,27, - 30,31,993,1017,26,28,931,261,25,23, - 50,1052,106,76,77,107,1137,344,1231,1152, - 1280,1244,1332,515,1308,1391,1378,1010,2034,1478, - 1504,142,3377,2714,519,143,1868,2042,1762,2808, - 88,2975,2975,102,2885,738,3536,2874,3317,3317, - 2023,520,2524,35,948,32,2744,1382,27,30, - 31,993,1017,26,28,931,261,25,23,50, - 1052,106,76,77,107,1137,344,1231,1152,1280, - 1244,1332,1010,1308,1391,1378,2898,2898,1478,1504, - 142,1016,1994,519,143,334,333,2025,2808,1614, - 327,35,279,1599,515,4809,61,732,2491,500, - 520,1860,35,948,32,1010,3196,27,30,31, - 993,1017,56,28,4566,2988,3144,1873,2874,2659, - 35,948,32,68,1382,27,30,31,993,1017, - 26,28,931,261,25,23,50,1052,106,76, - 77,107,1137,2558,1231,1152,1280,1244,1332,357, - 1308,1391,1378,516,462,1478,1504,142,354,533, - 380,143,3707,2385,35,948,32,2572,1382,27, - 30,31,993,1017,26,28,931,261,25,23, - 50,1052,106,76,77,107,1137,461,1231,1152, - 1280,1244,1332,355,1308,1391,1378,93,1010,1478, - 1504,142,2245,1614,380,143,3707,2832,35,948, - 32,1330,1382,27,30,31,993,1017,26,28, - 931,261,25,23,50,1052,106,76,77,107, - 1137,3373,1231,1152,1280,1244,1332,53,1308,1391, - 1378,60,2273,1478,3018,163,4411,387,381,1724, - 3121,35,948,32,1270,1382,27,30,31,993, - 1017,26,28,931,261,25,23,50,1052,106, - 76,77,107,1137,322,1231,1152,1280,1244,1332, - 4028,1308,1391,1378,241,3591,2677,413,737,328, - 445,388,381,1724,588,35,282,56,1379,1614, - 1010,1197,1446,2591,35,948,32,3627,1382,27, - 30,31,993,1017,26,28,931,261,25,23, - 50,1052,106,76,77,107,1137,155,1231,1152, - 1280,1244,1332,87,1308,1391,1378,601,2714,1478, - 1504,142,391,1614,380,143,3707,2887,35,948, - 32,1323,1382,27,30,31,993,1017,26,28, - 931,261,25,23,50,1052,106,76,77,107, - 1137,1330,1231,1152,1280,1244,1332,52,1308,1391, - 1378,64,51,1478,1504,142,329,336,157,143, - 3121,35,948,32,2217,1382,27,30,31,993, - 1017,26,28,931,261,25,23,50,1052,106, - 76,77,107,1137,2068,1231,1152,1280,1244,1332, - 56,1308,1391,1378,4529,737,1478,3018,163,2505, - 587,378,381,1724,2887,35,948,32,1547,1382, - 27,30,31,993,1017,26,28,931,261,25, - 23,50,1052,106,76,77,107,1137,1226,1231, - 1152,1280,1244,1332,356,1308,1391,1378,406,623, - 1478,1504,142,737,533,374,143,1714,35,948, - 32,2150,1355,2533,30,31,993,1017,1323,2887, - 35,948,32,563,1382,27,30,31,993,1017, - 26,28,931,261,25,23,50,1052,106,76, - 77,107,1137,1499,1231,1152,1280,1244,1332,314, - 1308,1391,1378,3389,336,1478,1504,142,486,1010, - 374,143,2212,35,1885,390,1323,2887,35,948, - 32,1506,1382,27,30,31,993,1017,26,28, - 931,261,25,23,50,1052,106,76,77,107, - 1137,373,1231,1152,1280,1244,1332,49,1308,1391, - 1378,335,336,1478,1504,142,1799,662,374,143, - 499,2457,35,948,32,3571,1382,27,30,31, - 993,1017,26,28,931,261,25,23,50,1052, - 106,76,77,107,1137,1330,1231,1152,1280,1244, - 1332,327,1308,1391,1378,1330,372,1478,1504,142, - 440,2063,141,143,2887,35,948,32,1146,1382, - 27,30,31,993,1017,26,28,931,261,25, - 23,50,1052,106,76,77,107,1137,3127,1231, - 1152,1280,1244,1332,1616,1308,1391,1378,3552,2582, - 1478,1504,142,1733,370,158,143,2887,35,948, - 32,377,1382,27,30,31,993,1017,26,28, - 931,261,25,23,50,1052,106,76,77,107, - 1137,1897,1231,1152,1280,1244,1332,499,1308,1391, - 1378,1330,4383,1478,1504,142,1614,1330,154,143, - 2887,35,948,32,3132,1382,27,30,31,993, - 1017,26,28,931,261,25,23,50,1052,106, - 76,77,107,1137,1334,1231,1152,1280,1244,1332, - 90,1308,1391,1378,3552,2582,1478,1504,142,2041, - 3392,153,143,2887,35,948,32,377,1382,27, - 30,31,993,1017,26,28,931,261,25,23, - 50,1052,106,76,77,107,1137,375,1231,1152, - 1280,1244,1332,56,1308,1391,1378,744,404,1478, - 1504,142,1614,135,152,143,2887,35,948,32, - 740,1382,27,30,31,993,1017,26,28,931, - 261,25,23,50,1052,106,76,77,107,1137, - 1465,1231,1152,1280,1244,1332,351,1308,1391,1378, - 449,56,1478,1504,142,3119,135,151,143,2887, - 35,948,32,3235,1382,27,30,31,993,1017, - 26,28,931,261,25,23,50,1052,106,76, - 77,107,1137,3679,1231,1152,1280,1244,1332,56, - 1308,1391,1378,674,1330,1478,1504,142,1614,135, - 150,143,2887,35,948,32,330,1382,27,30, - 31,993,1017,26,28,931,261,25,23,50, - 1052,106,76,77,107,1137,1551,1231,1152,1280, - 1244,1332,2106,1308,1391,1378,449,4135,1478,1504, - 142,1614,135,149,143,2887,35,948,32,1982, - 1382,27,30,31,993,1017,26,28,931,261, - 25,23,50,1052,106,76,77,107,1137,1174, - 1231,1152,1280,1244,1332,2145,1308,1391,1378,1330, - 499,1478,1504,142,1614,4580,148,143,2887,35, - 948,32,3120,1382,27,30,31,993,1017,26, - 28,931,261,25,23,50,1052,106,76,77, - 107,1137,1818,1231,1152,1280,1244,1332,67,1308, - 1391,1378,3552,2443,1478,1504,142,1614,4666,147, - 143,2887,35,948,32,4119,1382,27,30,31, - 993,1017,26,28,931,261,25,23,50,1052, - 106,76,77,107,1137,2626,1231,1152,1280,1244, - 1332,66,1308,1391,1378,1330,499,1478,1504,142, - 1614,4680,146,143,2887,35,948,32,740,1382, - 27,30,31,993,1017,26,28,931,261,25, - 23,50,1052,106,76,77,107,1137,1425,1231, - 1152,1280,1244,1332,65,1308,1391,1378,3552,1323, - 1478,1504,142,1614,2586,145,143,2887,35,948, - 32,527,1382,27,30,31,993,1017,26,28, - 931,261,25,23,50,1052,106,76,77,107, - 1137,1441,1231,1152,1280,1244,1332,64,1308,1391, - 1378,1330,56,1478,1504,142,1138,160,144,143, - 2887,35,948,32,1327,1382,27,30,31,993, - 1017,26,28,931,261,25,23,50,1052,106, - 76,77,107,1137,2449,1231,1152,1280,1244,1332, - 325,1308,1391,1378,3552,56,1478,1504,142,2532, - 332,139,143,3005,35,948,32,526,1382,27, - 30,31,993,1017,26,28,931,261,25,23, - 50,1052,106,76,77,107,1137,1010,1231,1152, - 1280,1244,1332,56,1308,1391,1378,2933,56,1478, - 1504,142,3277,1227,188,143,3121,35,948,32, - 740,1382,27,30,31,993,1017,26,28,931, - 261,25,23,50,1052,106,76,77,107,1137, - 2714,1231,1152,1280,1244,1332,56,1308,1391,1378, - 745,676,1478,3018,163,3121,35,948,32,848, - 1382,27,30,31,993,1017,26,28,931,261, - 25,23,50,1052,106,76,77,107,1137,97, - 1231,1152,1280,1244,1332,56,1308,1391,1378,1275, - 1010,1478,3018,163,588,35,2643,2426,588,35, - 1885,390,2652,3121,35,948,32,425,1382,27, - 30,31,993,1017,26,28,931,261,25,23, - 50,1052,106,76,77,107,1137,70,1231,1152, - 1280,1244,1332,454,1308,1391,1378,408,1984,1478, - 3018,163,3121,35,948,32,294,1382,27,30, - 31,993,1017,26,28,931,261,25,23,50, - 1052,106,76,77,107,1137,324,1231,1152,1280, - 1244,1332,98,1308,1391,1378,533,580,1478,3018, - 163,588,35,2162,276,588,35,1885,390,1015, - 3176,35,948,32,424,1382,27,30,31,993, - 1017,26,28,931,261,25,23,50,1052,106, - 76,77,107,1137,326,1231,1152,1280,1244,1332, - 436,1308,1391,1378,1611,1614,1478,3018,163,3121, - 35,948,32,427,1382,27,30,31,993,1017, - 26,28,931,261,25,23,50,1052,106,76, - 77,107,1137,1612,1231,1152,1280,1244,1332,3117, - 1308,1391,2636,1781,35,948,32,1614,4756,27, - 30,31,993,1017,59,28,1223,3121,35,948, - 32,4200,1382,27,30,31,993,1017,26,28, - 931,261,25,23,50,1052,106,76,77,107, - 1137,55,1231,1152,1280,1244,1332,2716,1308,2574, - 3121,35,948,32,1544,1382,27,30,31,993, - 1017,26,28,931,261,25,23,50,1052,106, - 76,77,107,1137,1559,1231,1152,1280,1244,1332, - 1587,2604,3121,35,948,32,2134,1382,27,30, - 31,993,1017,26,28,931,261,25,23,50, - 1052,106,76,77,107,1137,221,1231,1152,1280, - 1244,2456,3121,35,948,32,2196,1382,27,30, - 31,993,1017,26,28,931,261,25,23,50, - 1052,106,76,77,107,1137,1709,1231,1152,1280, - 2507,3121,35,948,32,2620,1382,27,30,31, - 993,1017,26,28,931,261,25,23,50,1052, - 106,76,77,107,1137,322,1231,1152,1280,2527, - 1518,35,948,32,3529,4597,27,30,31,993, - 1017,340,28,3121,35,948,32,2284,1382,27, - 30,31,993,1017,26,28,931,261,25,23, - 50,1052,106,76,77,107,1137,2425,1231,1152, - 2336,56,2581,2717,2985,1197,1781,35,948,32, - 2898,4756,27,30,31,993,1017,58,28,333, - 320,2198,322,286,315,1944,1714,35,948,32, - 423,155,3319,30,31,993,1017,314,327,35, - 455,1150,408,4662,1515,3121,35,948,32,2817, - 1382,27,30,31,993,1017,26,28,931,261, - 25,23,50,1052,106,76,77,107,1137,2722, - 1231,1152,2374,1197,1778,588,35,1885,390,588, - 35,1885,390,307,311,3414,2162,35,948,32, - 2485,4756,27,30,31,993,1017,26,28,155, - 2620,513,588,3335,2162,74,572,3391,199,3715, - 435,392,429,2691,434,3121,35,948,32,3963, - 1382,27,30,31,993,1017,26,28,931,261, - 25,23,50,1052,106,76,77,107,1137,1543, - 1231,1152,2394,3121,35,948,32,1374,1382,27, - 30,31,993,1017,26,28,931,261,25,23, - 50,1052,106,76,77,107,1137,2165,1231,1152, - 2400,1400,35,948,32,2714,4441,27,30,31, - 993,1017,340,28,2042,588,35,1885,390,2975, - 3321,1227,1898,35,3669,32,3529,4597,27,30, - 31,993,1017,340,28,1614,588,35,1885,390, - 448,3894,3917,1279,3231,35,1885,390,1351,2753, - 49,3017,1453,929,35,1885,390,236,261,1799, - 2743,320,2198,322,2898,315,1944,2231,2371,54, - 1354,273,2898,333,1197,2243,56,353,3378,273, - 1197,333,320,2198,322,2805,315,1944,49,1643, - 35,2162,3357,345,967,932,350,1799,2940,2367, - 159,3376,1614,3152,2244,322,155,231,2147,650, - 2736,2817,877,2279,3656,322,2669,2070,35,948, - 32,2304,4597,27,30,31,993,1017,340,28, - 234,229,230,275,3656,71,323,3121,35,948, - 32,274,1382,27,30,31,993,1017,26,28, - 931,261,25,23,50,1052,106,76,77,85, - 241,244,247,250,642,1614,1053,2898,2076,757, - 35,1885,390,287,1906,1061,334,320,2198,322, - 628,318,1944,297,353,2418,42,3004,367,419, - 421,3575,2973,736,2905,3234,3526,4243,1096,101, - 345,967,932,350,273,1240,44,3004,343,3121, - 35,948,32,1599,1382,27,30,31,993,1017, - 26,28,931,261,25,23,50,1052,106,76, - 77,107,1137,2581,1231,2406,3121,35,948,32, - 1801,1382,27,30,31,993,1017,26,28,931, - 261,25,23,50,1052,106,76,77,107,1137, - 259,1231,2436,2484,539,56,3140,4545,231,1197, - 2380,1810,1614,3347,1509,588,35,1885,390,1643, - 35,2162,276,72,227,56,238,261,2444,3091, - 155,246,229,230,322,155,499,352,1,179, - 3598,4685,539,3552,1324,1814,3512,202,214,4513, - 49,201,211,212,213,215,168,56,49,1799, - 1643,3229,227,1789,35,295,2343,167,155,182, - 166,169,170,171,172,173,231,179,3598,353, - 56,3552,393,429,3497,202,214,4513,737,201, - 211,212,213,215,168,345,967,932,350,239, - 229,230,296,1642,2374,167,180,183,166,169, - 170,171,172,173,2062,35,948,32,2714,4441, - 27,30,31,993,1017,340,28,3121,35,948, - 32,2581,1382,27,30,31,993,1017,26,28, - 931,261,25,23,50,1052,106,76,77,107, - 1137,1323,2197,588,35,1885,390,56,2646,1875, - 56,3048,2744,2744,3156,2560,681,56,843,35, - 455,4100,499,4662,320,2198,322,4731,315,1944, - 2551,2998,2701,2701,1976,1455,3411,336,273,2975, - 353,528,1363,35,948,32,737,4597,27,30, - 31,993,1017,340,28,322,345,967,932,350, - 3121,35,948,32,529,1382,27,30,31,993, - 1017,26,28,931,261,25,23,50,1052,106, - 76,77,107,1137,2898,2237,932,35,1885,390, - 395,429,2898,334,588,35,2162,278,507,361, - 341,334,320,2198,322,1614,316,1944,345,1323, - 353,69,539,2285,3221,3227,1250,2280,353,2581, - 2744,49,2655,305,1606,2044,347,967,932,350, - 1799,1584,227,2446,347,967,932,350,155,3590, - 2701,505,506,2869,331,336,431,179,3598,2135, - 539,3552,2682,499,4655,202,214,4513,4738,201, - 211,212,213,215,168,56,2690,1962,3547,4689, - 227,588,35,2162,3568,167,155,4212,166,169, - 170,171,172,173,517,179,3598,231,539,3552, - 452,3894,3917,202,214,4513,1614,201,211,212, - 213,215,168,1789,3825,295,362,2585,227,2717, - 249,229,230,167,155,177,166,169,170,171, - 172,173,603,179,3598,2693,539,3552,394,429, - 453,202,214,4513,524,201,211,212,213,215, - 168,588,35,2162,281,56,227,2579,300,1595, - 1853,167,155,175,166,169,170,171,172,173, - 689,179,3598,415,539,3552,2081,2042,2552,202, - 214,4513,2975,201,211,212,213,215,168,56, - 322,2717,56,873,227,4064,4114,2348,289,167, - 155,176,166,169,170,171,172,173,775,179, - 3598,56,539,3552,2079,1188,681,202,214,4513, - 2453,201,211,212,213,215,168,2898,2699,431, - 220,531,227,2630,3555,1455,3449,167,155,186, - 166,169,170,171,172,173,56,179,3598,2152, - 1197,3552,2618,3685,2975,202,214,4513,384,201, - 211,212,213,215,168,2240,35,1885,390,1243, - 35,3125,1363,588,3677,167,1556,4261,166,169, - 170,171,172,173,1691,35,948,32,3529,4441, - 27,30,31,993,1017,340,28,1875,1354,2898, - 49,2744,1197,2722,49,588,4232,539,3449,1799, - 1842,861,56,1799,2154,539,3610,1243,35,398, - 94,2701,2736,1243,35,398,1780,4160,159,2042, - 2223,35,277,155,2975,227,2553,382,2407,35, - 277,155,179,3598,320,2198,322,2580,315,1944, - 179,3598,838,56,3552,2727,2960,2744,202,214, - 4513,314,201,211,212,213,215,168,2739,1773, - 194,932,35,1885,390,2683,829,344,167,2898, - 191,166,169,170,171,172,173,361,333,231, - 2717,56,96,947,1193,4187,3204,539,2717,2808, - 313,2972,3221,3227,3281,1614,49,307,311,3414, - 737,1987,252,229,230,1799,47,227,4274,3235, - 181,56,56,155,3986,1197,1197,1878,3712,304, - 4009,4305,179,3598,56,740,3552,178,4745,379, - 202,214,4513,3963,201,211,212,213,215,168, - 1033,155,3605,2717,539,2717,588,35,1885,390, - 167,1857,185,166,169,170,171,172,173,2559, - 1167,2717,56,1323,227,628,2744,2717,89,56, - 155,102,2757,3232,56,2728,4722,195,2100,179, - 3598,49,197,3552,196,569,344,202,214,4513, - 46,201,211,212,213,215,168,56,3684,336, - 303,3390,2440,35,280,2717,200,167,2808,193, - 166,169,170,171,172,173,3121,35,948,32, - 2030,1382,27,30,31,993,1017,26,28,931, - 261,25,23,50,1052,106,76,77,107,2249, - 3121,35,948,32,198,1382,27,30,31,993, - 1017,26,28,931,261,25,23,50,1052,106, - 76,77,107,2284,3121,35,948,32,3351,1382, - 27,30,31,993,1017,26,28,931,261,25, - 23,50,1052,106,76,77,107,2313,3121,1939, - 948,1971,1588,1382,27,30,31,993,1017,26, - 28,931,261,25,23,50,1052,106,76,77, - 84,3121,35,948,32,2729,1382,27,30,31, - 993,1017,26,28,931,261,25,23,50,1052, - 106,76,77,83,3121,35,948,32,2276,1382, - 27,30,31,993,1017,26,28,931,261,25, - 23,50,1052,106,76,77,82,3121,35,948, - 32,2733,1382,27,30,31,993,1017,26,28, - 931,261,25,23,50,1052,106,76,77,81, - 3121,35,948,32,2790,1382,27,30,31,993, - 1017,26,28,931,261,25,23,50,1052,106, - 76,77,80,3121,35,948,32,2758,1382,27, - 30,31,993,1017,26,28,931,261,25,23, - 50,1052,106,76,77,79,3121,35,948,32, - 2759,1382,27,30,31,993,1017,26,28,931, - 261,25,23,50,1052,106,76,77,78,2950, - 35,948,32,2791,1382,27,30,31,993,1017, - 26,28,931,261,25,23,50,1052,106,76, - 77,104,3121,35,948,32,2735,1382,27,30, - 31,993,1017,26,28,931,261,25,23,50, - 1052,106,76,77,109,3121,35,948,32,2747, - 1382,27,30,31,993,1017,26,28,931,261, - 25,23,50,1052,106,76,77,108,3121,35, - 948,32,2734,1382,27,30,31,993,1017,26, - 28,931,261,25,23,50,1052,106,76,77, - 105,1988,35,3669,32,3529,4441,27,30,31, - 993,1017,340,28,2745,1952,35,948,32,3529, - 4441,27,30,31,993,1017,340,28,3066,35, - 948,32,2782,1382,27,30,31,993,1017,26, - 28,931,261,25,23,50,1052,86,76,77, - 1562,56,87,56,2744,1197,1354,1197,2763,2764, - 1197,320,2198,322,1823,315,1944,2717,2744,56, - 588,35,295,4209,227,320,2198,322,2367,315, - 1944,155,2765,155,2769,56,159,1614,227,969, - 2347,1900,314,1943,1243,35,398,204,214,4513, - 2776,203,211,212,213,215,299,588,35,295, - 56,204,214,4513,3484,203,211,212,213,215, - 1614,3370,588,35,1885,390,525,173,205,207, - 209,3276,2715,216,206,208,2744,1910,308,311, - 3414,2744,205,207,209,3276,1614,216,206,208, - 2789,56,2327,2135,3408,2744,344,49,4655,2655, - 2375,227,2792,2815,3074,4399,1799,3530,420,421, - 3575,1614,56,3671,1614,344,1197,2994,943,4399, - 3511,2793,2751,2481,204,214,4513,1197,203,211, - 212,213,215,3280,35,1885,390,2808,2753,2855, - 2795,4254,155,2794,2872,1895,237,261,1981,2111, - 4117,2800,2057,155,2717,205,207,209,3276,1337, - 216,206,208,161,2070,35,948,32,273,4597, - 27,30,31,993,1017,340,28,1952,35,948, - 32,3529,4441,27,30,31,993,1017,340,28, - 3165,5437,4399,4233,1853,2717,231,1490,35,948, - 32,2722,4441,27,30,31,993,1017,340,28, - 1614,524,1614,5437,2898,5437,5437,2717,5437,235, - 229,230,5437,334,320,2198,322,5437,316,1944, - 274,1997,5437,525,221,2744,405,320,2198,322, - 5437,315,1944,1649,4327,5437,3650,2744,5437,242, - 245,248,251,642,4253,227,192,317,3452,322, - 5437,5437,4231,432,1061,5437,5437,227,444,5437, - 458,5437,5437,929,35,1885,390,5437,204,214, - 4513,5437,203,211,212,213,215,5437,5437,1736, - 204,214,4513,2744,203,211,212,213,215,5437, - 5437,2084,5437,4322,5437,2744,5437,5437,49,205, - 207,209,3276,227,522,206,208,1799,47,5437, - 5437,205,207,209,3276,227,521,206,208,5437, - 1144,929,35,1885,390,5437,204,214,4513,5437, - 203,211,212,213,215,5437,5437,2171,204,214, - 4513,2744,203,211,212,213,215,2970,5437,1354, - 5437,1354,5437,1197,5437,1197,49,205,207,209, - 3276,227,217,206,208,1799,2014,5437,5437,205, - 207,209,3276,5437,306,206,208,5437,3113,159, - 5437,159,5437,5437,204,214,4513,5437,203,211, - 212,213,215,2126,35,948,32,2490,4441,27, - 30,31,993,1017,340,28,1354,5437,56,1180, - 1197,5437,1197,2744,4813,205,207,209,3276,1285, - 501,206,208,2744,4813,1375,5437,5437,56,2744, - 2975,5437,2744,227,5437,1375,159,5437,155,2744, - 2975,5437,5437,227,5437,2735,1983,2865,4320,2701, - 2744,5437,344,317,3452,322,1279,409,4307,2701, - 932,35,1885,390,5437,5437,1279,409,4307,5437, - 344,5437,5437,5437,2808,2898,5437,929,35,1885, - 390,5437,5437,5437,333,2898,2119,410,411,412, - 3276,5437,868,5437,333,49,5437,410,411,412, - 3276,5437,3306,5437,1799,47,5437,5437,5437,5437, - 3243,5437,49,5437,3144,361,5437,2556,5437,5437, - 3243,1799,3569,5437,3152,361,5437,5437,5437,1771, - 3221,3227,5437,5437,3113,929,35,1885,390,1771, - 3221,3227,929,35,1885,390,929,35,1885,390, - 5437,5437,5437,2970,5437,5437,5437,5437,5437,5437, - 2121,35,1885,390,5437,929,35,1885,390,2646, - 49,5437,5437,2744,413,415,5437,49,5437,1799, - 47,49,5437,5437,413,416,1799,47,5437,5437, - 1799,47,619,2701,5437,49,5437,5437,1124,2158, - 49,4539,2723,2245,1799,47,539,5437,5437,1799, - 47,929,35,1885,390,5437,5437,4120,2136,35, - 1885,390,2605,5437,1633,2647,344,56,5437,2744, - 56,539,155,5437,539,5437,588,35,1885,390, - 1617,5437,187,5437,2744,5437,49,5437,4287,2701, - 5437,344,5437,49,344,1799,47,155,5437,507, - 155,5437,1799,47,344,5437,5437,939,2609,5437, - 601,49,5437,2808,532,4157,2808,5437,5437,5437, - 1799,662,5437,56,5437,786,2808,539,1149,588, - 35,1885,390,588,35,1885,390,5437,535,5437, - 5437,56,504,506,189,539,56,344,56,5437, - 539,5437,2744,155,5437,507,56,5437,56,5437, - 2744,5437,2744,187,49,344,5437,5437,49,4287, - 344,155,344,1799,3538,5437,155,1799,1928,5437, - 344,187,344,5437,3848,5437,187,4287,5437,56, - 5437,2775,4287,2744,2808,2744,5437,5437,504,506, - 5437,5437,2808,5437,2808,5437,1728,5437,5437,5437, - 5437,5437,5437,344,511,344,509,5437,5437,5437, - 5437,5437,5437,5437,4264,4137,5437,5437,5437,5437, - 5437,5437,5437,5437,5437,2808,5437,4210,5437,5437, - 4140,5437,5437,4170,5437,5437,5437,536,4196,5437, - 5437,5437,5437,5437,5437,5437,5437,5437,5437,5437, - 5437,5437,5437,5437,5437,5437,5437,5437,5437,5437, - 5437,5437,5437,5437,5437,5437,5437,5437,5437,5437, - 3397,5437,5437,5437,5437,5437,5437,5437,5437,5437, - 5437,5437,5437,5437,5437,5437,5437,5437,5437,5437, - 5437,5437,5437,5437,5437,5437,5437,5437,5437,5437, - 5437,5437,5437,5437,5437,5437,5437,5437,5437,5437, - 5437,5437,5437,5437,5437,5437,5437,5437,5437,5437, - 5437,5437,5437,5437,5437,5437,5437,5437,5437,5437, - 5437,5437,5437,5437,5437,5437,5437,5437,5437,5437, - 5437,5437,5437,5437,5437,5437,5437,5437,5437,5437, - 5437,5437,5437,5437,5437,5437,5437,5437,5437,5437, - 5437,5437,5437,5437,5437,5437,5437,5437,5437,5437, - 5437,5437,5437,5437,5437,5437,5437,5437,5437,5437, - 4224,5437,0,39,5452,0,39,5451,0,579, - 29,0,442,682,0,456,723,0,38,597, - 0,38,5452,0,38,5451,0,2645,125,0, - 1,446,0,460,922,0,459,955,0,3446, - 91,0,579,389,0,35,33,0,32,34, - 0,39,597,0,1,573,0,1,5709,0, + 198,198,78,81,81,175,175,133,133,134, + 134,134,134,134,134,3,135,135,132,132, + 111,111,84,79,75,75,163,163,112,112, + 199,199,199,136,136,126,126,200,200,176, + 176,1119,35,2754,2722,1791,3467,27,30,31, + 995,1019,26,28,2699,262,25,23,50,1054, + 106,76,77,107,1139,73,1233,1154,1282,1246, + 1334,150,1310,1393,1380,155,274,1480,1506,142, + 2717,49,157,143,1618,695,1892,35,950,32, + 4557,4443,27,30,31,995,1019,341,28,587, + 1941,2164,34,1618,232,1869,35,950,32,3531, + 4443,27,30,31,995,1019,341,28,500,71, + 353,587,35,1887,391,2275,1223,235,230,231, + 587,35,3066,1504,35,950,32,24,275,41, + 30,31,995,1019,1229,2253,321,2200,323,1199, + 316,1946,587,35,2164,3028,434,242,245,248, + 251,644,354,2804,1312,321,2200,323,1721,316, + 1946,322,1063,587,3549,155,1476,3549,346,969, + 934,351,2804,135,49,539,1644,565,754,2975, + 738,2907,3236,3528,4245,2320,35,950,32,2746, + 1384,27,30,31,995,1019,26,28,933,262, + 25,23,50,1054,106,76,77,107,1139,345, + 1233,1154,1282,1246,1334,49,1310,1393,1380,835, + 742,1480,1506,142,1446,384,520,143,1225,2977, + 2493,2810,1718,35,950,32,1631,1631,40,30, + 31,995,1019,521,2320,35,950,32,2746,1384, + 27,30,31,995,1019,26,28,933,262,25, + 23,50,1054,106,76,77,107,1139,345,1233, + 1154,1282,1246,1334,2900,1310,1393,1380,1618,1547, + 1480,1506,142,334,291,520,143,290,1432,1592, + 2810,232,327,35,280,1559,516,4174,1217,35, + 950,32,521,3198,27,30,31,995,1019,57, + 28,545,69,878,244,230,231,2870,1766,1812, + 2876,69,2467,3557,3471,2320,35,950,32,2746, + 1384,27,30,31,995,1019,26,28,933,262, + 25,23,50,1054,106,76,77,107,1139,345, + 1233,1154,1282,1246,1334,516,1310,1393,1380,1088, + 2125,1480,1506,142,3379,1906,520,143,2038,1446, + 1853,2810,88,2977,2977,102,2887,740,3538,2876, + 3319,3319,2086,521,2528,35,950,32,2746,1384, + 27,30,31,995,1019,26,28,933,262,25, + 23,50,1054,106,76,77,107,1139,345,1233, + 1154,1282,1246,1334,1088,1310,1393,1380,2900,2900, + 1480,1506,142,1377,1456,520,143,335,334,2027, + 2810,1618,327,35,280,1603,516,4811,61,734, + 2229,501,521,1381,35,950,32,1088,3198,27, + 30,31,995,1019,56,28,4568,2990,3146,1877, + 2876,2663,35,950,32,68,1384,27,30,31, + 995,1019,26,28,933,262,25,23,50,1054, + 106,76,77,107,1139,2230,1233,1154,1282,1246, + 1334,358,1310,1393,1380,517,463,1480,1506,142, + 355,535,381,143,3709,2389,35,950,32,2246, + 1384,27,30,31,995,1019,26,28,933,262, + 25,23,50,1054,106,76,77,107,1139,462, + 1233,1154,1282,1246,1334,356,1310,1393,1380,93, + 1088,1480,1506,142,2249,1618,381,143,3709,2837, + 35,950,32,1611,1384,27,30,31,995,1019, + 26,28,933,262,25,23,50,1054,106,76, + 77,107,1139,3375,1233,1154,1282,1246,1334,53, + 1310,1393,1380,60,2075,1480,3020,163,4413,388, + 382,1726,3127,35,950,32,1272,1384,27,30, + 31,995,1019,26,28,933,262,25,23,50, + 1054,106,76,77,107,1139,752,1233,1154,1282, + 1246,1334,4030,1310,1393,1380,241,3593,2679,413, + 1800,329,446,389,382,1726,587,35,283,49, + 1381,1618,1088,1199,1449,2595,35,950,32,3629, + 1384,27,30,31,995,1019,26,28,933,262, + 25,23,50,1054,106,76,77,107,1139,155, + 1233,1154,1282,1246,1334,87,1310,1393,1380,603, + 1906,1480,1506,142,392,1618,381,143,3709,2892, + 35,950,32,1325,1384,27,30,31,995,1019, + 26,28,933,262,25,23,50,1054,106,76, + 77,107,1139,1611,1233,1154,1282,1246,1334,52, + 1310,1393,1380,64,51,1480,1506,142,330,337, + 157,143,3127,35,950,32,2288,1384,27,30, + 31,995,1019,26,28,933,262,25,23,50, + 1054,106,76,77,107,1139,2070,1233,1154,1282, + 1246,1334,49,1310,1393,1380,4531,1800,1480,3020, + 163,1621,330,379,382,1726,2892,35,950,32, + 1549,1384,27,30,31,995,1019,26,28,933, + 262,25,23,50,1054,106,76,77,107,1139, + 494,1233,1154,1282,1246,1334,357,1310,1393,1380, + 407,625,1480,1506,142,1800,535,375,143,1718, + 35,950,32,2152,1243,2535,30,31,995,1019, + 1325,2892,35,950,32,565,1384,27,30,31, + 995,1019,26,28,933,262,25,23,50,1054, + 106,76,77,107,1139,2448,1233,1154,1282,1246, + 1334,1951,1310,1393,1380,3391,337,1480,1506,142, + 400,1088,375,143,2156,35,1887,391,1325,2892, + 35,950,32,1409,1384,27,30,31,995,1019, + 26,28,933,262,25,23,50,1054,106,76, + 77,107,1139,374,1233,1154,1282,1246,1334,49, + 1310,1393,1380,336,337,1480,1506,142,1801,664, + 375,143,155,2461,35,950,32,3573,1384,27, + 30,31,995,1019,26,28,933,262,25,23, + 50,1054,106,76,77,107,1139,1611,1233,1154, + 1282,1246,1334,328,1310,1393,1380,1611,373,1480, + 1506,142,441,2065,141,143,2892,35,950,32, + 1105,1384,27,30,31,995,1019,26,28,933, + 262,25,23,50,1054,106,76,77,107,1139, + 3129,1233,1154,1282,1246,1334,1620,1310,1393,1380, + 3554,2519,1480,1506,142,416,371,158,143,2892, + 35,950,32,378,1384,27,30,31,995,1019, + 26,28,933,262,25,23,50,1054,106,76, + 77,107,1139,1447,1233,1154,1282,1246,1334,155, + 1310,1393,1380,1611,4385,1480,1506,142,1618,1611, + 154,143,2892,35,950,32,3134,1384,27,30, + 31,995,1019,26,28,933,262,25,23,50, + 1054,106,76,77,107,1139,1336,1233,1154,1282, + 1246,1334,90,1310,1393,1380,3554,2519,1480,1506, + 142,2556,3394,153,143,2892,35,950,32,378, + 1384,27,30,31,995,1019,26,28,933,262, + 25,23,50,1054,106,76,77,107,1139,376, + 1233,1154,1282,1246,1334,49,1310,1393,1380,746, + 405,1480,1506,142,1618,56,152,143,2892,35, + 950,32,742,1384,27,30,31,995,1019,26, + 28,933,262,25,23,50,1054,106,76,77, + 107,1139,1467,1233,1154,1282,1246,1334,352,1310, + 1393,1380,450,49,1480,1506,142,3121,56,151, + 143,2892,35,950,32,3237,1384,27,30,31, + 995,1019,26,28,933,262,25,23,50,1054, + 106,76,77,107,1139,3681,1233,1154,1282,1246, + 1334,49,1310,1393,1380,676,1611,1480,1506,142, + 1618,56,150,143,2892,35,950,32,331,1384, + 27,30,31,995,1019,26,28,933,262,25, + 23,50,1054,106,76,77,107,1139,1553,1233, + 1154,1282,1246,1334,2108,1310,1393,1380,450,4137, + 1480,1506,142,1618,56,149,143,2892,35,950, + 32,1984,1384,27,30,31,995,1019,26,28, + 933,262,25,23,50,1054,106,76,77,107, + 1139,1174,1233,1154,1282,1246,1334,2147,1310,1393, + 1380,1611,155,1480,1506,142,1618,4582,148,143, + 2892,35,950,32,3122,1384,27,30,31,995, + 1019,26,28,933,262,25,23,50,1054,106, + 76,77,107,1139,1864,1233,1154,1282,1246,1334, + 67,1310,1393,1380,3554,2631,1480,1506,142,1618, + 4668,147,143,2892,35,950,32,4121,1384,27, + 30,31,995,1019,26,28,933,262,25,23, + 50,1054,106,76,77,107,1139,2686,1233,1154, + 1282,1246,1334,66,1310,1393,1380,1611,155,1480, + 1506,142,1618,4682,146,143,2892,35,950,32, + 742,1384,27,30,31,995,1019,26,28,933, + 262,25,23,50,1054,106,76,77,107,1139, + 1312,1233,1154,1282,1246,1334,65,1310,1393,1380, + 3554,1324,1480,1506,142,1618,2559,145,143,2892, + 35,950,32,529,1384,27,30,31,995,1019, + 26,28,933,262,25,23,50,1054,106,76, + 77,107,1139,1445,1233,1154,1282,1246,1334,64, + 1310,1393,1380,1611,49,1480,1506,142,1140,160, + 144,143,2892,35,950,32,1329,1384,27,30, + 31,995,1019,26,28,933,262,25,23,50, + 1054,106,76,77,107,1139,2488,1233,1154,1282, + 1246,1334,326,1310,1393,1380,3554,49,1480,1506, + 142,2534,246,139,143,3011,35,950,32,528, + 1384,27,30,31,995,1019,26,28,933,262, + 25,23,50,1054,106,76,77,107,1139,1088, + 1233,1154,1282,1246,1334,49,1310,1393,1380,2935, + 49,1480,1506,142,3279,666,188,143,3127,35, + 950,32,742,1384,27,30,31,995,1019,26, + 28,933,262,25,23,50,1054,106,76,77, + 107,1139,1906,1233,1154,1282,1246,1334,49,1310, + 1393,1380,747,590,1480,3020,163,3127,35,950, + 32,848,1384,27,30,31,995,1019,26,28, + 933,262,25,23,50,1054,106,76,77,107, + 1139,97,1233,1154,1282,1246,1334,49,1310,1393, + 1380,1277,1088,1480,3020,163,587,35,2645,2428, + 587,35,1887,391,2687,3127,35,950,32,426, + 1384,27,30,31,995,1019,26,28,933,262, + 25,23,50,1054,106,76,77,107,1139,70, + 1233,1154,1282,1246,1334,455,1310,1393,1380,408, + 1964,1480,3020,163,3127,35,950,32,295,1384, + 27,30,31,995,1019,26,28,933,262,25, + 23,50,1054,106,76,77,107,1139,325,1233, + 1154,1282,1246,1334,98,1310,1393,1380,535,580, + 1480,3020,163,587,35,2164,277,587,35,1887, + 391,1015,3182,35,950,32,425,1384,27,30, + 31,995,1019,26,28,933,262,25,23,50, + 1054,106,76,77,107,1139,327,1233,1154,1282, + 1246,1334,437,1310,1393,1380,1234,1618,1480,3020, + 163,3127,35,950,32,428,1384,27,30,31, + 995,1019,26,28,933,262,25,23,50,1054, + 106,76,77,107,1139,1378,1233,1154,1282,1246, + 1334,3119,1310,1393,2638,1785,35,950,32,1618, + 4758,27,30,31,995,1019,59,28,846,3127, + 35,950,32,4202,1384,27,30,31,995,1019, + 26,28,933,262,25,23,50,1054,106,76, + 77,107,1139,55,1233,1154,1282,1246,1334,2720, + 1310,2576,3127,35,950,32,932,1384,27,30, + 31,995,1019,26,28,933,262,25,23,50, + 1054,106,76,77,107,1139,1311,1233,1154,1282, + 1246,1334,1548,2606,3127,35,950,32,1591,1384, + 27,30,31,995,1019,26,28,933,262,25, + 23,50,1054,106,76,77,107,1139,69,1233, + 1154,1282,1246,2458,3127,35,950,32,1679,1384, + 27,30,31,995,1019,26,28,933,262,25, + 23,50,1054,106,76,77,107,1139,1278,1233, + 1154,1282,2509,3127,35,950,32,2585,1384,27, + 30,31,995,1019,26,28,933,262,25,23, + 50,1054,106,76,77,107,1139,752,1233,1154, + 1282,2529,1522,35,950,32,3531,4599,27,30, + 31,995,1019,341,28,3127,35,950,32,2429, + 1384,27,30,31,995,1019,26,28,933,262, + 25,23,50,1054,106,76,77,107,1139,2562, + 1233,1154,2338,49,2437,1795,2987,1199,1785,35, + 950,32,2900,4758,27,30,31,995,1019,58, + 28,334,321,2200,323,287,316,1946,1718,35, + 950,32,424,155,3321,30,31,995,1019,315, + 327,35,456,1152,409,4664,1707,3127,35,950, + 32,2819,1384,27,30,31,995,1019,26,28, + 933,262,25,23,50,1054,106,76,77,107, + 1139,2560,1233,1154,2376,1199,2139,587,35,1887, + 391,587,35,1887,391,308,312,3416,2347,35, + 950,32,2487,4758,27,30,31,995,1019,26, + 28,155,2585,514,587,3337,2164,74,486,3393, + 200,3717,436,393,430,2695,435,3127,35,950, + 32,3965,1384,27,30,31,995,1019,26,28, + 933,262,25,23,50,1054,106,76,77,107, + 1139,2066,1233,1154,2396,3127,35,950,32,1127, + 1384,27,30,31,995,1019,26,28,933,262, + 25,23,50,1054,106,76,77,107,1139,2050, + 1233,1154,2402,2067,35,950,32,2716,4443,27, + 30,31,995,1019,341,28,1446,587,35,1887, + 391,2977,3327,666,1401,35,3671,32,3531,4599, + 27,30,31,995,1019,341,28,1618,587,35, + 1887,391,449,3896,3919,1280,3237,35,1887,391, + 1352,2755,49,3019,1457,674,35,1887,391,237, + 262,1801,2745,321,2200,323,2900,316,1946,2132, + 2411,54,1355,274,2900,334,1199,2225,49,354, + 3380,274,1199,334,321,2200,323,2807,316,1946, + 49,1101,35,2164,3359,346,969,934,351,1801, + 2942,2369,159,3378,1618,3154,2235,752,155,232, + 2151,652,2738,2819,879,1706,3658,752,2671,1956, + 35,950,32,2350,4599,27,30,31,995,1019, + 341,28,235,230,231,276,3658,71,324,3127, + 35,950,32,275,1384,27,30,31,995,1019, + 26,28,933,262,25,23,50,1054,106,76, + 77,85,242,245,248,251,644,1618,1055,2900, + 1267,757,35,1887,391,288,761,1063,335,321, + 2200,323,630,319,1946,298,354,1726,42,3006, + 368,420,422,3577,2975,738,2907,3236,3528,4245, + 1226,101,346,969,934,351,274,1240,44,3006, + 344,3127,35,950,32,1601,1384,27,30,31, + 995,1019,26,28,933,262,25,23,50,1054, + 106,76,77,107,1139,2437,1233,2408,3127,35, + 950,32,2085,1384,27,30,31,995,1019,26, + 28,933,262,25,23,50,1054,106,76,77, + 107,1139,259,1233,2438,2555,541,49,3142,4547, + 232,1199,2384,1812,1618,3353,1511,587,35,1887, + 391,1101,35,2164,277,72,228,49,239,262, + 2310,3093,155,247,230,231,752,155,155,353, + 1,179,3600,4687,541,3554,2416,1816,3514,203, + 215,4515,49,202,212,213,214,216,168,49, + 2280,1801,1645,3231,228,1244,35,296,2418,167, + 155,182,166,169,170,171,172,173,232,179, + 3600,354,49,3554,394,430,3499,203,215,4515, + 1800,202,212,213,214,216,168,346,969,934, + 351,240,230,231,297,1644,2419,167,180,183, + 166,169,170,171,172,173,2077,35,950,32, + 2716,4443,27,30,31,995,1019,341,28,3127, + 35,950,32,2437,1384,27,30,31,995,1019, + 26,28,933,262,25,23,50,1054,106,76, + 77,107,1139,1325,2199,587,35,1887,391,49, + 2650,1879,49,3050,2746,2746,3158,2289,683,49, + 843,35,456,4102,155,4664,321,2200,323,4733, + 316,1946,2491,3000,2703,2703,1980,1457,3413,337, + 274,2977,354,530,1364,35,950,32,1800,4599, + 27,30,31,995,1019,341,28,752,346,969, + 934,351,3127,35,950,32,531,1384,27,30, + 31,995,1019,26,28,933,262,25,23,50, + 1054,106,76,77,107,1139,2900,2239,929,35, + 1887,391,396,430,2900,335,587,35,2164,279, + 508,362,342,335,321,2200,323,1618,317,1946, + 345,1325,354,2226,541,2287,3223,3229,2643,2143, + 354,2437,2746,49,2213,306,1610,2516,348,969, + 934,351,1801,1586,228,2155,348,969,934,351, + 155,3592,2703,506,507,2871,332,337,431,179, + 3600,2447,541,3554,2694,155,4657,203,215,4515, + 4740,202,212,213,214,216,168,49,2153,1476, + 3549,4691,228,587,35,2164,3570,167,155,4214, + 166,169,170,171,172,173,517,179,3600,232, + 541,3554,453,3896,3919,203,215,4515,1618,202, + 212,213,214,216,168,1244,3827,296,363,1988, + 228,1795,250,230,231,167,155,177,166,169, + 170,171,172,173,603,179,3600,2696,541,3554, + 395,430,454,203,215,4515,526,202,212,213, + 214,216,168,587,35,2164,282,49,228,2557, + 301,1597,1855,167,155,175,166,169,170,171, + 172,173,689,179,3600,150,541,3554,2424,1446, + 2450,203,215,4515,2977,202,212,213,214,216, + 168,49,752,1795,49,875,228,4066,4116,1979, + 290,167,155,176,166,169,170,171,172,173, + 775,179,3600,49,541,3554,1356,1190,683,203, + 215,4515,2417,202,212,213,214,216,168,2900, + 2697,432,221,533,228,2632,3557,1457,3451,167, + 155,186,166,169,170,171,172,173,49,179, + 3600,2241,1199,3554,2586,3687,2977,203,215,4515, + 385,202,212,213,214,216,168,2216,35,1887, + 391,1016,35,3127,1365,587,3679,167,1558,4263, + 166,169,170,171,172,173,1695,35,950,32, + 3531,4443,27,30,31,995,1019,341,28,1879, + 1355,2900,49,2746,1199,2560,49,587,4234,541, + 3451,1801,1844,861,49,1801,2156,541,3612,1016, + 35,399,94,2703,2738,1016,35,399,1784,4162, + 159,1446,2375,35,278,155,2977,228,2493,383, + 2444,35,278,155,179,3600,321,2200,323,2703, + 316,1946,179,3600,1882,49,3554,2658,2962,2746, + 203,215,4515,315,202,212,213,214,216,168, + 2623,1777,195,929,35,1887,391,2711,831,345, + 167,2900,191,166,169,170,171,172,173,362, + 334,232,1795,49,96,947,1195,4189,3206,541, + 1795,2810,314,2974,3223,3229,3283,1618,49,308, + 312,3416,1800,1989,253,230,231,1801,47,228, + 4276,3237,181,49,49,155,3988,1199,1199,2240, + 3714,305,4011,4307,179,3600,49,742,3554,178, + 4747,380,203,215,4515,3965,202,212,213,214, + 216,168,1033,155,3607,1795,541,1795,587,35, + 1887,391,167,1859,185,166,169,170,171,172, + 173,1738,2726,1795,49,1325,228,630,2746,1795, + 89,49,155,102,2734,3234,49,2732,4724,196, + 2102,179,3600,49,198,3554,197,571,345,203, + 215,4515,46,202,212,213,214,216,168,49, + 3686,337,304,3392,2453,35,281,1795,201,167, + 2810,194,166,169,170,171,172,173,3127,35, + 950,32,2032,1384,27,30,31,995,1019,26, + 28,933,262,25,23,50,1054,106,76,77, + 107,2251,3127,35,950,32,199,1384,27,30, + 31,995,1019,26,28,933,262,25,23,50, + 1054,106,76,77,107,2286,3127,35,950,32, + 3353,1384,27,30,31,995,1019,26,28,933, + 262,25,23,50,1054,106,76,77,107,2315, + 3127,1941,950,1973,2738,1384,27,30,31,995, + 1019,26,28,933,262,25,23,50,1054,106, + 76,77,84,3127,35,950,32,2739,1384,27, + 30,31,995,1019,26,28,933,262,25,23, + 50,1054,106,76,77,83,3127,35,950,32, + 1713,1384,27,30,31,995,1019,26,28,933, + 262,25,23,50,1054,106,76,77,82,3127, + 35,950,32,2743,1384,27,30,31,995,1019, + 26,28,933,262,25,23,50,1054,106,76, + 77,81,3127,35,950,32,2753,1384,27,30, + 31,995,1019,26,28,933,262,25,23,50, + 1054,106,76,77,80,3127,35,950,32,2759, + 1384,27,30,31,995,1019,26,28,933,262, + 25,23,50,1054,106,76,77,79,3127,35, + 950,32,2761,1384,27,30,31,995,1019,26, + 28,933,262,25,23,50,1054,106,76,77, + 78,2956,35,950,32,2754,1384,27,30,31, + 995,1019,26,28,933,262,25,23,50,1054, + 106,76,77,104,3127,35,950,32,2794,1384, + 27,30,31,995,1019,26,28,933,262,25, + 23,50,1054,106,76,77,109,3127,35,950, + 32,2795,1384,27,30,31,995,1019,26,28, + 933,262,25,23,50,1054,106,76,77,108, + 3127,35,950,32,2796,1384,27,30,31,995, + 1019,26,28,933,262,25,23,50,1054,106, + 76,77,105,1992,35,3671,32,3531,4443,27, + 30,31,995,1019,341,28,2775,1869,35,950, + 32,3531,4443,27,30,31,995,1019,341,28, + 3072,35,950,32,2797,1384,27,30,31,995, + 1019,26,28,933,262,25,23,50,1054,86, + 76,77,1566,49,87,49,2746,1199,1355,1199, + 2763,2767,1199,321,2200,323,1827,316,1946,1795, + 2746,2821,587,35,296,4211,228,321,2200,323, + 2369,316,1946,155,2768,155,2769,49,159,1618, + 228,971,1977,1902,315,1945,1016,35,399,205, + 215,4515,2776,204,212,213,214,216,300,587, + 35,296,49,205,215,4515,3486,204,212,213, + 214,216,1618,3372,587,35,1887,391,527,173, + 206,208,210,3278,2719,217,207,209,2746,1914, + 309,312,3416,2746,206,208,210,3278,1618,217, + 207,209,2799,49,2329,2447,3410,2746,345,49, + 4657,2213,2619,228,2584,2817,3076,4401,1801,3532, + 421,422,3577,1618,49,3673,1618,345,1199,2996, + 945,4401,3513,2824,2800,2685,205,215,4515,1199, + 204,212,213,214,216,3286,35,1887,391,2810, + 2755,2826,2778,4256,155,2802,2803,1897,238,262, + 1983,2113,4119,2746,2059,155,1795,206,208,210, + 3278,1990,217,207,209,161,1956,35,950,32, + 274,4599,27,30,31,995,1019,341,28,1869, + 35,950,32,3531,4443,27,30,31,995,1019, + 341,28,3167,5442,4401,4235,1855,1795,232,1494, + 35,950,32,2724,4443,27,30,31,995,1019, + 341,28,1618,526,1618,5442,2900,5442,5442,1795, + 5442,236,230,231,5442,335,321,2200,323,5442, + 317,1946,275,2001,5442,527,222,2746,406,321, + 2200,323,5442,316,1946,1653,4329,5442,3652,2746, + 5442,243,246,249,252,644,4255,228,192,318, + 3454,323,5442,5442,4233,433,1063,5442,5442,228, + 445,5442,459,5442,5442,674,35,1887,391,5442, + 205,215,4515,5442,204,212,213,214,216,5442, + 5442,1740,205,215,4515,2746,204,212,213,214, + 216,5442,5442,2088,5442,4324,5442,2746,5442,5442, + 49,206,208,210,3278,228,523,207,209,1801, + 47,5442,5442,206,208,210,3278,228,522,207, + 209,5442,1146,674,35,1887,391,5442,205,215, + 4515,5442,204,212,213,214,216,5442,5442,2175, + 205,215,4515,2746,204,212,213,214,216,2972, + 5442,1355,5442,1355,5442,1199,5442,1199,49,206, + 208,210,3278,228,218,207,209,1801,2016,5442, + 5442,206,208,210,3278,5442,307,207,209,5442, + 3115,159,5442,159,5442,5442,205,215,4515,5442, + 204,212,213,214,216,2160,35,950,32,2492, + 4443,27,30,31,995,1019,341,28,1355,5442, + 49,1180,1199,5442,1199,2746,4815,206,208,210, + 3278,1286,502,207,209,2746,4815,1901,5442,5442, + 49,2746,2977,5442,2746,228,5442,1901,159,5442, + 155,2746,2977,5442,5442,228,5442,2737,1878,2867, + 4322,2703,2746,5442,345,318,3454,323,1281,410, + 4309,2703,929,35,1887,391,5442,5442,1281,410, + 4309,5442,345,5442,5442,5442,2810,2900,5442,674, + 35,1887,391,5442,5442,5442,334,2900,2121,411, + 412,413,3278,5442,870,5442,334,49,5442,411, + 412,413,3278,5442,3308,5442,1801,47,5442,5442, + 5442,5442,3245,5442,49,5442,3146,362,5442,2558, + 5442,5442,3245,1801,3571,5442,3154,362,5442,5442, + 5442,1773,3223,3229,5442,5442,3115,674,35,1887, + 391,1773,3223,3229,674,35,1887,391,674,35, + 1887,391,5442,5442,5442,2972,5442,5442,5442,5442, + 5442,5442,1649,35,1887,391,5442,674,35,1887, + 391,2650,49,5442,5442,2746,414,416,5442,49, + 5442,1801,47,49,5442,5442,414,417,1801,47, + 5442,5442,1801,47,621,2703,5442,49,5442,5442, + 1126,2160,49,4541,2721,2247,1801,47,541,5442, + 5442,1801,47,674,35,1887,391,5442,5442,4122, + 2168,35,1887,391,2607,5442,1635,2651,345,49, + 5442,2746,49,541,155,5442,541,5442,587,35, + 1887,391,2517,5442,187,5442,2746,5442,49,5442, + 4289,2703,5442,345,5442,49,345,1801,47,155, + 5442,508,155,5442,1801,47,345,5442,5442,941, + 2611,5442,603,49,5442,2810,534,4159,2810,5442, + 5442,5442,1801,664,5442,49,5442,788,2810,541, + 1151,587,35,1887,391,587,35,1887,391,5442, + 537,5442,5442,49,505,507,189,541,49,345, + 49,5442,541,5442,2746,155,5442,508,49,5442, + 49,5442,2746,5442,2746,187,49,345,5442,5442, + 49,4289,345,155,345,1801,3540,5442,155,1801, + 1930,5442,345,187,345,5442,3850,5442,187,4289, + 5442,49,5442,2810,4289,2746,2810,2746,5442,5442, + 505,507,5442,5442,2810,5442,2810,5442,1730,5442, + 5442,5442,5442,5442,5442,345,512,345,510,5442, + 5442,5442,5442,5442,5442,5442,4266,4139,5442,5442, + 5442,5442,5442,5442,5442,5442,5442,2810,5442,4212, + 5442,5442,4142,5442,5442,4172,5442,5442,5442,538, + 4198,5442,5442,5442,5442,5442,5442,5442,5442,5442, + 5442,5442,5442,5442,5442,5442,5442,5442,5442,5442, + 5442,5442,5442,5442,5442,5442,5442,5442,5442,5442, + 5442,5442,3399,5442,5442,5442,5442,5442,5442,5442, + 5442,5442,5442,5442,5442,5442,5442,5442,5442,5442, + 5442,5442,5442,5442,5442,5442,5442,5442,5442,5442, + 5442,5442,5442,5442,5442,5442,5442,5442,5442,5442, + 5442,5442,5442,5442,5442,5442,5442,5442,5442,5442, + 5442,5442,5442,5442,5442,5442,5442,5442,5442,5442, + 5442,5442,5442,5442,5442,5442,5442,5442,5442,5442, + 5442,5442,5442,5442,5442,5442,5442,5442,5442,5442, + 5442,5442,5442,5442,5442,5442,5442,5442,5442,5442, + 5442,5442,5442,5442,5442,5442,5442,5442,5442,5442, + 5442,5442,5442,5442,5442,5442,5442,5442,5442,5442, + 5442,5442,4226,5442,0,39,5457,0,39,5456, + 0,581,29,0,443,684,0,457,725,0, + 38,599,0,38,5457,0,38,5456,0,2647, + 125,0,1,447,0,461,924,0,460,957, + 0,3448,91,0,581,390,0,35,33,0, + 32,34,0,39,599,0,1,575,0,1, + 5715,0,1,5714,0,1,5713,0,1,5712, + 0,1,5711,0,1,5710,0,1,5709,0, 1,5708,0,1,5707,0,1,5706,0,1, - 5705,0,1,5704,0,1,5703,0,1,5702, - 0,1,5701,0,1,5700,0,1,5699,0, - 39,1,5452,0,39,1,5451,0,631,1, - 0,283,396,0,283,288,0,5670,240,0, - 5669,240,0,5776,240,0,5775,240,0,5697, - 240,0,5696,240,0,5695,240,0,5694,240, - 0,5693,240,0,5692,240,0,5691,240,0, - 5690,240,0,5709,240,0,5708,240,0,5707, - 240,0,5706,240,0,5705,240,0,5704,240, - 0,5703,240,0,5702,240,0,5701,240,0, - 5700,240,0,5699,240,0,39,5452,240,0, - 39,5451,240,0,5475,240,0,5452,48,0, - 5451,48,0,43,5473,0,43,37,0,2645, - 127,0,2645,126,0,5443,1,0,5442,1, - 0,2770,236,0,32,390,0,29,389,0, - 332,447,0,1,92,0,47,37,0,5475, - 1,0,39,1,0,503,3262,0,5475,1, - 228,0,39,1,228,0,228,418,0,5452, - 37,0,5451,37,0,5473,45,0,37,45, - 0,5452,36,0,5451,36,0,5452,2,37, - 0,5451,2,37,0,5447,407,0,5446,407, - 0,1,603,0,1,4182,0,1,597,0, - 228,417,0,332,95,0,35,73,0,3040, - 319,0,1,332,0,4106,278,0,503,4353, - 0,1,228,0,228,219,0,1,3517,0, - 1,3523,0,228,218,0,5449,1,0,5445, - 1,0,1,228,4082,0,5446,228,0,4102, - 228,0,5449,385,0,5448,385,0,4177,228, - 0,10,12,0,8,10,12,0,184,3593, - 0,4269,385,0,8,12,0 + 5705,0,39,1,5457,0,39,1,5456,0, + 633,1,0,284,397,0,284,289,0,5676, + 241,0,5675,241,0,5782,241,0,5781,241, + 0,5703,241,0,5702,241,0,5701,241,0, + 5700,241,0,5699,241,0,5698,241,0,5697, + 241,0,5696,241,0,5715,241,0,5714,241, + 0,5713,241,0,5712,241,0,5711,241,0, + 5710,241,0,5709,241,0,5708,241,0,5707, + 241,0,5706,241,0,5705,241,0,39,5457, + 241,0,39,5456,241,0,5480,241,0,5457, + 48,0,5456,48,0,43,5478,0,43,37, + 0,2647,127,0,2647,126,0,5448,1,0, + 5447,1,0,2772,237,0,32,391,0,29, + 390,0,333,448,0,1,92,0,47,37, + 0,5480,1,0,39,1,0,504,3264,0, + 5480,1,229,0,39,1,229,0,229,419, + 0,5457,37,0,5456,37,0,5478,45,0, + 37,45,0,5457,36,0,5456,36,0,5457, + 2,37,0,5456,2,37,0,5452,408,0, + 5451,408,0,1,605,0,1,4184,0,1, + 599,0,229,418,0,333,95,0,35,73, + 0,3042,320,0,1,333,0,4108,279,0, + 504,4355,0,1,229,0,229,220,0,1, + 3519,0,1,3525,0,229,219,0,5454,1, + 0,5450,1,0,1,229,4084,0,5451,229, + 0,4104,229,0,5454,386,0,5453,386,0, + 4179,229,0,10,12,0,8,10,12,0, + 4252,193,0,184,3595,0,4271,386,0,8, + 12,0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -1121,8 +1122,8 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 24,25,26,27,28,29,30,31,32,33, 34,35,36,37,38,39,40,41,42,43, 44,45,46,47,0,49,50,51,52,53, - 54,69,56,57,58,59,60,61,62,101, - 64,65,66,67,106,92,93,71,90,0, + 54,69,56,57,58,59,60,61,62,0, + 64,65,66,67,0,92,93,71,4,0, 74,75,76,77,78,79,80,81,82,83, 84,85,0,1,2,3,4,5,6,7, 8,9,10,11,12,13,14,15,16,17, @@ -1131,33 +1132,33 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 38,39,40,41,42,43,44,45,46,47, 0,49,50,51,52,53,54,68,56,57, 58,59,60,61,62,0,64,65,66,67, - 0,1,2,71,4,10,74,75,76,77, + 0,1,2,71,4,0,74,75,76,77, 78,79,80,81,82,83,84,85,0,1, 2,3,4,5,6,7,8,9,10,11, 12,13,14,15,16,17,18,19,20,21, 22,23,24,25,26,27,28,29,30,31, 32,33,34,35,36,37,38,39,40,41, 42,43,44,45,46,47,0,49,50,51, - 52,53,54,0,56,57,58,59,60,61, - 62,0,64,65,66,67,0,1,2,8, - 4,0,74,75,76,77,78,79,80,81, + 52,53,54,68,56,57,58,59,60,61, + 62,0,64,65,66,67,0,1,2,0, + 4,10,74,75,76,77,78,79,80,81, 82,83,84,85,0,1,2,3,4,5, 6,7,8,9,10,11,12,13,14,15, 16,17,18,19,20,21,22,23,24,25, 26,27,28,29,30,31,32,33,34,35, 36,37,38,39,40,41,42,43,44,45, - 46,47,71,49,50,51,52,53,54,68, + 46,47,0,49,50,51,52,53,54,0, 56,57,58,59,60,61,62,0,64,65, - 66,67,0,6,0,102,103,104,74,75, + 66,67,0,6,0,0,87,88,74,75, 76,77,78,79,80,81,82,83,84,85, 0,1,2,3,4,5,6,7,8,9, 10,11,12,13,14,15,16,17,18,19, 20,21,22,23,24,25,26,27,28,29, 30,31,32,33,34,35,36,37,38,39, - 40,41,42,43,44,45,46,47,0,49, + 40,41,42,43,44,45,46,47,63,49, 50,51,52,53,54,0,56,57,58,59, - 60,61,62,0,64,65,66,67,0,92, - 93,89,4,91,74,75,76,77,78,79, + 60,61,62,0,64,65,66,67,99,92, + 93,89,9,91,74,75,76,77,78,79, 80,81,82,83,84,85,0,1,2,3, 4,5,6,7,8,9,10,11,12,13, 14,15,16,17,18,19,20,21,22,23, @@ -1165,42 +1166,42 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 34,35,36,37,38,39,40,41,42,43, 44,45,46,47,0,49,50,51,52,53, 54,0,56,57,58,59,60,61,62,0, - 64,65,66,67,99,6,0,0,1,2, + 64,65,66,67,99,6,0,1,2,0, 74,75,76,77,78,79,80,81,82,83, 84,85,0,1,2,3,4,5,6,7, 8,9,10,11,12,13,14,15,16,17, 18,19,20,21,22,23,24,25,26,27, 28,29,30,31,32,33,34,35,36,37, 38,39,40,41,42,43,44,45,46,47, - 0,49,50,51,52,53,54,0,56,57, + 0,49,50,51,52,53,54,68,56,57, 58,59,60,61,62,0,64,65,66,67, - 99,92,93,87,88,0,74,75,76,77, + 5,92,93,0,1,2,74,75,76,77, 78,79,80,81,82,83,84,85,0,1, 2,3,4,5,6,7,8,9,10,11, 12,13,14,15,16,17,18,19,20,21, 22,23,24,25,26,27,28,29,30,31, 32,33,34,35,36,37,38,39,40,41, 42,43,44,45,46,47,0,49,50,51, - 52,53,54,68,56,57,58,59,60,61, - 62,0,64,65,66,67,0,1,2,23, - 24,5,74,75,76,77,78,79,80,81, + 52,53,54,0,56,57,58,59,60,61, + 62,0,64,65,66,67,0,1,2,8, + 0,5,74,75,76,77,78,79,80,81, 82,83,84,85,0,1,2,3,4,5, 6,7,8,9,10,11,12,13,14,15, 16,17,18,19,20,21,22,23,24,25, 26,27,28,29,30,31,32,33,34,35, 36,37,38,39,40,41,42,43,44,45, - 46,47,0,49,50,51,52,53,54,0, + 46,47,71,49,50,51,52,53,54,69, 56,57,58,59,60,61,62,0,64,65, - 66,67,0,1,2,8,4,0,74,75, + 66,67,0,1,2,0,4,0,74,75, 76,77,78,79,80,81,82,83,84,85, 0,1,2,3,4,5,6,7,8,9, 10,11,12,13,14,15,16,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,71,49, + 40,41,42,43,44,45,46,47,0,49, 50,51,52,53,54,68,56,57,58,59, 60,61,62,0,64,65,66,67,0,1, - 2,0,1,2,74,75,76,77,78,79, + 2,0,87,88,74,75,76,77,78,79, 80,81,82,83,84,85,0,1,2,3, 4,5,6,7,8,9,10,11,12,13, 14,15,16,17,18,19,20,21,22,23, @@ -1208,7 +1209,7 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 34,35,36,37,38,39,40,41,42,43, 44,45,46,47,0,49,50,51,52,53, 54,0,56,57,58,59,60,61,62,0, - 64,65,66,67,0,0,0,8,3,3, + 64,65,66,67,0,0,1,2,87,88, 74,75,76,77,78,79,80,81,82,83, 84,85,0,1,2,3,4,5,6,7, 8,9,10,11,12,13,14,15,16,17, @@ -1216,10 +1217,10 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 28,29,30,31,32,33,34,35,36,37, 38,39,40,41,42,43,44,45,46,47, 0,49,50,51,52,53,54,0,56,57, - 58,59,60,61,62,0,64,65,66,67, - 0,6,0,89,9,91,74,75,76,77, + 58,59,60,61,62,8,64,65,66,67, + 0,1,2,89,0,91,74,75,76,77, 78,79,80,81,82,83,84,85,0,1, - 2,3,4,5,6,7,117,9,10,11, + 2,3,4,5,6,7,0,9,10,11, 12,13,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,40,41, @@ -1227,233 +1228,234 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 52,53,54,0,56,57,58,4,60,0, 1,2,3,4,5,6,7,8,9,10, 11,12,13,14,15,16,17,18,19,20, - 21,22,23,24,0,39,27,28,29,30, + 21,22,23,24,100,118,27,28,29,30, 31,32,33,34,35,36,0,1,2,40, - 4,5,0,7,0,0,0,48,0,1, - 2,5,4,0,9,56,57,58,59,0, - 61,62,0,1,2,100,22,23,24,0, + 4,5,0,7,0,0,100,48,0,1, + 2,6,4,0,9,56,57,58,59,0, + 61,62,0,0,1,2,22,23,24,0, 71,72,28,29,30,31,32,33,34,35, 36,22,23,24,48,86,0,28,29,30, - 31,32,33,34,35,36,48,0,0,1, - 2,102,103,104,0,1,2,3,4,5, - 6,7,8,9,10,11,12,13,14,15, - 16,17,18,19,20,21,22,23,24,87, - 88,27,28,29,30,31,32,33,34,35, - 36,55,0,0,40,3,48,4,6,0, - 8,9,48,0,1,2,0,8,5,90, - 56,57,58,59,8,61,62,25,26,27, - 0,1,2,0,0,71,72,0,0,37, - 38,8,0,1,2,3,4,5,6,7, - 86,9,0,0,0,1,2,55,4,0, - 6,48,8,9,0,63,102,103,104,0, - 68,69,70,71,72,73,67,120,48,0, - 1,2,3,4,5,6,7,71,9,87, - 88,89,90,91,92,93,94,95,96,97, - 98,99,100,101,0,63,73,105,106,107, - 108,109,110,111,112,113,114,115,116,117, - 0,119,120,3,55,0,6,73,8,9, - 96,97,0,1,2,3,4,5,6,7, - 8,9,63,0,90,25,26,27,0,70, - 25,26,48,100,22,23,24,37,38,27, - 28,29,30,31,32,33,34,35,36,0, - 1,2,3,4,5,55,7,8,0,0, - 1,2,4,63,5,0,7,55,68,69, - 70,71,72,73,0,63,27,0,1,2, - 3,4,5,6,7,73,9,87,88,89, - 90,91,92,93,94,95,96,97,98,99, - 100,101,0,0,0,105,106,107,108,109, - 110,111,112,113,114,115,116,117,0,119, - 120,0,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,30,31,32,33,34,35,36,0,1, - 2,40,4,98,6,0,0,9,0,48, - 0,0,98,0,72,0,0,56,57,58, - 59,8,61,62,8,64,39,22,23,24, - 87,88,71,28,29,30,31,32,33,34, - 35,36,0,1,2,87,88,86,0,1, - 2,3,4,5,6,7,8,9,10,11, - 12,13,14,15,16,17,18,19,20,21, - 22,23,24,87,88,27,28,29,30,31, - 32,33,34,35,36,70,73,0,40,73, - 0,1,2,3,4,5,48,7,8,89, - 89,91,91,55,56,57,58,59,0,61, - 62,0,64,0,1,2,101,27,5,0, - 7,106,107,108,109,110,111,112,113,114, - 115,116,0,0,86,0,1,2,3,4, + 31,32,33,34,35,36,48,0,0,0, + 1,2,103,104,105,0,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,30,31,32,33,34, + 35,36,89,0,91,40,3,48,0,6, + 0,8,9,48,68,0,1,2,96,97, + 5,56,57,58,59,0,61,62,25,26, + 27,0,1,2,0,0,71,72,3,48, + 37,38,8,0,1,2,3,4,5,6, + 7,86,9,96,97,0,0,0,55,3, + 0,1,2,48,4,5,63,7,103,104, + 105,68,69,70,71,72,73,87,88,48, + 0,1,2,3,4,5,6,7,0,9, + 87,88,89,90,91,92,93,94,95,96, + 97,98,99,100,101,70,63,73,48,106, + 107,108,109,110,111,112,113,114,115,116, + 117,118,119,120,0,0,0,3,0,4, + 6,6,8,9,9,0,0,1,2,3, + 4,5,6,7,8,9,89,0,91,25, + 26,27,72,25,26,0,1,2,22,23, + 24,37,38,27,28,29,30,31,32,33, + 34,35,36,0,1,2,3,4,5,55, + 7,8,0,0,1,2,98,63,5,63, + 7,55,68,69,70,71,72,73,63,63, + 27,0,1,2,3,4,5,6,7,73, + 9,87,88,89,90,91,92,93,94,95, + 96,97,98,99,100,101,0,0,0,3, + 106,107,108,109,110,111,112,113,114,115, + 116,117,118,119,120,0,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,30,31,32,33,34, - 35,36,0,1,2,40,0,0,6,0, - 0,1,2,48,4,5,9,7,0,1, - 2,56,57,58,59,63,61,62,0,64, - 0,22,23,24,96,97,71,28,29,30, - 31,32,33,34,35,36,55,0,1,2, - 48,86,0,1,2,3,4,5,6,7, + 35,36,0,1,2,40,4,0,6,0, + 0,9,0,48,0,25,26,0,8,0, + 0,56,57,58,59,8,61,62,8,64, + 0,22,23,24,87,88,71,28,29,30, + 31,32,33,34,35,36,55,27,0,1, + 2,86,0,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,48,27, - 28,29,30,31,32,33,34,35,36,0, - 1,2,40,4,5,48,7,0,1,2, - 48,4,0,6,0,3,9,0,56,57, - 58,59,8,61,62,8,64,0,1,2, - 3,4,5,71,7,8,0,0,1,2, - 3,4,5,6,7,0,9,48,86,0, + 18,19,20,21,22,23,24,67,0,27, + 28,29,30,31,32,33,34,35,36,70, + 73,0,40,63,0,1,2,3,4,5, + 48,7,8,25,26,0,0,55,56,57, + 58,59,0,61,62,10,64,0,1,2, + 101,27,5,0,7,0,107,108,109,110, + 111,112,113,114,115,116,117,0,86,0, 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,63,27,28,29,30, - 31,32,33,34,35,36,69,73,71,40, - 63,0,1,2,3,4,5,48,7,63, - 73,0,1,2,90,56,57,58,59,72, - 61,62,0,64,69,0,1,2,3,4, - 71,6,0,0,9,3,3,0,1,2, - 3,4,5,0,7,86,0,1,2,3, + 21,22,23,24,59,0,27,28,29,30, + 31,32,33,34,35,36,0,1,2,40, + 68,69,6,0,0,1,2,48,4,5, + 0,7,55,68,0,56,57,58,59,0, + 61,62,8,64,98,22,23,24,0,72, + 71,28,29,30,31,32,33,34,35,36, + 55,27,23,24,48,86,0,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,30,31,32,33, - 34,35,36,0,1,2,40,4,63,6, - 0,0,9,0,48,4,63,6,8,6, - 9,0,56,57,58,59,63,61,62,72, - 64,0,1,2,3,4,5,27,7,0, - 1,2,3,4,5,0,7,55,0,0, - 0,3,86,0,1,2,3,4,5,6, + 34,35,36,0,1,2,40,0,0,1, + 2,3,4,5,48,7,0,0,0,3, + 3,0,56,57,58,59,8,61,62,8, + 64,0,1,2,3,4,5,71,7,8, + 0,1,2,0,4,0,6,55,8,9, + 120,48,86,0,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,69, + 17,18,19,20,21,22,23,24,0,63, 27,28,29,30,31,32,33,34,35,36, - 0,1,2,40,63,0,1,2,3,4, - 5,48,7,0,0,0,1,2,4,56, - 57,58,59,68,61,62,0,64,70,3, - 70,0,1,2,8,4,22,6,25,26, - 9,0,1,2,0,4,5,3,7,86, + 0,73,71,40,63,0,1,2,3,4, + 5,48,7,0,73,60,3,0,90,56, + 57,58,59,73,61,62,0,64,0,0, + 1,2,3,4,71,6,8,0,9,0, + 90,0,1,2,3,4,5,8,7,86, 0,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, - 30,31,32,33,34,35,36,0,0,63, - 40,0,1,2,68,69,0,0,48,73, - 25,26,0,1,2,0,56,57,58,59, - 0,61,62,3,64,39,102,103,104,0, - 1,2,0,0,0,3,3,3,0,1, - 2,3,4,5,6,7,86,9,10,11, + 20,21,22,23,24,0,63,27,28,29, + 30,31,32,33,34,35,36,0,1,2, + 40,4,63,6,68,69,9,69,48,0, + 63,73,3,103,104,105,56,57,58,59, + 71,61,62,72,64,0,0,1,2,3, + 4,5,6,7,0,9,0,1,2,3, + 4,5,8,7,0,0,86,0,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,30,31,32, + 33,34,35,36,0,1,2,40,4,63, + 6,0,48,9,3,48,70,72,0,63, + 55,67,0,56,57,58,59,9,61,62, + 0,64,0,3,0,0,1,2,8,0, + 1,2,3,4,5,0,7,0,1,2, + 0,1,2,86,0,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, + 48,27,28,29,30,31,32,33,34,35, + 36,69,0,63,40,0,1,2,68,69, + 65,66,48,73,0,0,72,3,0,0, + 56,57,58,59,0,61,62,3,64,0, + 0,1,2,0,4,0,6,8,0,9, + 0,3,0,1,2,3,4,5,6,7, + 86,9,10,11,12,13,14,15,16,17, + 18,19,20,21,0,1,2,25,26,0, + 65,66,8,55,55,37,38,0,0,37, + 38,39,4,41,42,43,44,45,46,47, + 55,49,50,51,52,53,54,0,69,0, + 71,63,60,61,102,90,0,65,66,0, + 1,2,3,4,5,6,7,0,9,10, + 11,12,13,14,15,16,17,18,19,20, + 21,67,55,55,25,26,0,1,2,0, + 4,5,3,7,106,68,37,38,39,0, + 41,42,43,44,45,46,47,119,49,50, + 51,52,53,54,0,1,2,68,0,60, + 101,94,95,0,65,66,107,68,0,1, + 2,3,4,5,6,7,8,9,10,11, 12,13,14,15,16,17,18,19,20,21, - 48,55,0,25,26,0,65,66,0,0, - 8,37,38,0,68,37,38,39,10,41, + 0,1,2,25,26,0,0,0,0,4, + 3,3,48,0,0,37,38,39,0,41, 42,43,44,45,46,47,0,49,50,51, - 52,53,54,0,65,66,3,63,60,61, - 94,95,0,65,66,0,1,2,3,4, - 5,6,7,0,9,10,11,12,13,14, - 15,16,17,18,19,20,21,59,55,67, - 25,26,0,68,69,3,0,0,69,105, - 0,68,37,38,39,8,41,42,43,44, - 45,46,47,119,49,50,51,52,53,54, - 0,1,2,0,0,60,3,94,95,0, - 65,66,8,68,0,1,2,3,4,5, + 52,53,54,0,1,2,0,0,60,0, + 4,4,0,1,2,67,0,74,48,71, + 0,1,2,3,4,5,6,7,22,9, + 10,11,12,13,14,15,16,17,18,19, + 20,21,0,55,68,25,26,0,1,2, + 0,48,0,70,4,3,68,37,38,39, + 48,41,42,43,44,45,46,47,72,49, + 50,51,52,53,54,0,0,0,0,70, + 60,6,94,95,8,65,66,0,1,2, + 3,4,5,6,7,48,9,10,11,12, + 13,14,15,16,17,18,19,20,21,103, + 104,105,25,26,0,0,0,3,0,0, + 4,0,8,8,37,38,39,8,41,42, + 43,44,45,46,47,0,49,50,51,52, + 53,54,27,0,0,0,27,60,3,73, + 72,0,65,66,0,1,2,3,4,5, 6,7,8,9,10,11,12,13,14,15, - 16,17,18,19,20,21,0,1,2,25, - 26,0,1,2,68,69,69,0,48,8, - 73,37,38,39,0,41,42,43,44,45, + 16,17,18,19,20,21,55,63,0,25, + 26,63,0,0,69,3,8,73,0,68, + 0,37,38,39,4,41,42,43,44,45, 46,47,0,49,50,51,52,53,54,0, - 1,2,0,0,60,0,4,73,0,1, - 2,67,0,74,48,71,0,1,2,3, - 4,5,6,7,22,9,10,11,12,13, - 14,15,16,17,18,19,20,21,67,55, - 0,25,26,0,0,68,3,48,8,0, - 0,8,68,37,38,39,48,41,42,43, + 0,0,22,69,60,94,95,0,75,10, + 10,67,0,1,2,3,4,5,6,7, + 8,9,10,11,12,13,14,15,16,17, + 18,19,20,21,0,0,0,25,26,40, + 40,73,8,0,0,0,0,48,48,37, + 38,39,0,41,42,43,44,45,46,47, + 0,49,50,51,52,53,54,0,0,0, + 0,3,60,5,6,0,69,9,8,67, + 0,0,90,0,4,0,3,0,0,4, + 55,55,0,25,26,0,0,27,55,55, + 55,55,0,0,0,37,38,73,0,41, + 0,3,0,3,39,3,0,0,0,3, + 3,3,70,55,0,0,39,0,3,0, + 3,63,72,65,66,55,68,69,70,70, + 55,0,0,0,0,0,0,55,0,0, + 69,0,0,0,0,87,88,89,70,0, + 92,93,94,95,96,97,98,99,100,101, + 0,69,69,0,106,0,108,109,110,111, + 112,113,114,115,116,117,0,1,2,3, + 4,5,6,7,8,9,10,11,12,13, + 14,15,16,17,18,19,20,21,55,0, + 0,25,26,70,70,40,121,72,72,70, + 72,70,70,37,38,39,102,41,42,43, 44,45,46,47,0,49,50,51,52,53, - 54,68,8,0,1,2,60,72,94,95, - 68,65,66,0,1,2,3,4,5,6, - 7,27,9,10,11,12,13,14,15,16, - 17,18,19,20,21,55,63,63,25,26, - 0,0,0,73,4,3,73,0,0,0, - 37,38,39,4,41,42,43,44,45,46, - 47,0,49,50,51,52,53,54,0,0, - 0,0,4,60,0,0,0,0,65,66, - 0,1,2,3,4,5,6,7,8,9, - 10,11,12,13,14,15,16,17,18,19, - 20,21,55,55,55,25,26,0,0,0, - 3,70,0,0,0,0,55,37,38,39, - 72,41,42,43,44,45,46,47,0,49, - 50,51,52,53,54,0,0,63,63,70, - 60,0,72,72,0,10,10,67,0,1, - 2,3,4,5,6,7,8,9,10,11, - 12,13,14,15,16,17,18,19,20,21, - 55,0,0,25,26,40,40,0,69,0, - 0,4,0,48,48,37,38,39,0,41, - 42,43,44,45,46,47,55,49,50,51, - 52,53,54,0,0,0,0,3,60,5, - 6,0,0,9,8,67,0,0,0,8, - 8,0,0,0,0,4,55,48,0,25, - 26,3,55,27,0,55,0,55,27,27, - 0,37,38,55,72,41,0,0,0,3, - 3,3,0,0,0,3,3,3,0,55, - 0,3,118,60,0,0,0,63,3,65, - 66,0,68,69,70,70,55,55,0,0, - 0,0,0,0,0,69,69,3,70,0, - 0,87,88,89,70,72,92,93,94,95, - 96,97,98,99,100,101,70,0,0,105, - 70,107,108,109,110,111,112,113,114,115, - 116,0,1,2,3,4,5,6,7,8, + 54,0,1,2,3,4,5,6,7,90, 9,10,11,12,13,14,15,16,17,18, - 19,20,21,72,0,55,25,26,69,69, - 72,0,118,70,90,0,75,0,37,38, + 19,20,21,0,0,0,25,26,0,0, + 0,0,102,39,0,102,0,0,37,38, 39,0,41,42,43,44,45,46,47,0, - 49,50,51,52,53,54,0,1,2,3, - 4,5,6,7,40,9,10,11,12,13, - 14,15,16,17,18,19,20,21,0,0, - 118,25,26,0,0,0,0,0,0,0, - 121,0,0,37,38,39,0,41,42,43, - 44,45,46,47,0,49,50,51,52,53, - 54,70,0,0,0,0,60,0,117,0, - 1,2,3,4,5,6,7,0,9,10, - 11,12,13,14,15,16,17,18,19,20, - 21,0,0,0,25,26,0,0,0,0, - 0,0,0,0,0,0,37,38,39,0, - 41,42,43,44,45,46,47,0,49,50, - 51,52,53,54,0,1,2,3,4,5, - 6,7,63,9,10,11,12,13,14,15, - 16,17,18,19,20,21,0,0,0,25, - 26,0,0,0,0,0,0,0,0,0, - 0,37,38,39,0,41,42,43,44,45, - 46,47,0,49,50,51,52,53,54,0, - 0,0,0,0,60,0,1,2,3,4, + 49,50,51,52,53,54,0,0,0,0, + 0,60,0,0,118,0,1,2,3,4, 5,6,7,0,9,10,11,12,13,14, 15,16,17,18,19,20,21,0,0,0, 25,26,0,0,0,0,0,0,0,0, 0,0,37,38,39,0,41,42,43,44, 45,46,47,0,49,50,51,52,53,54, - 0,1,2,3,4,5,6,7,0,9, + 0,1,2,3,4,5,6,7,63,9, 10,11,12,13,14,15,16,17,18,19, 20,21,0,0,0,25,26,0,0,0, 0,0,0,0,0,0,0,37,38,39, 0,41,42,43,44,45,46,47,0,49, - 50,51,52,53,54,0,1,2,3,4, - 5,6,7,0,9,10,11,12,13,14, - 15,16,17,18,19,20,21,0,0,0, - 25,26,0,0,0,0,0,0,0,0, - 0,0,37,38,39,0,41,42,43,44, - 45,46,47,0,49,50,51,52,53,54, - 0,1,2,0,4,0,0,0,0,0, - 10,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,0,0,0,28,29, - 30,31,32,33,34,35,36,0,0,0, - 40,0,0,0,0,0,0,0,0,0, - 1,2,0,4,0,0,56,57,58,10, - 11,12,13,14,15,16,17,18,19,20, - 21,22,23,24,0,0,0,28,29,30, - 31,32,33,34,35,36,0,0,0,40, - 0,1,2,3,4,5,6,7,8,9, - 0,0,0,0,0,56,57,58,0,0, - 0,0,22,23,24,0,0,27,28,29, - 30,31,32,33,34,35,36,11,12,13, + 50,51,52,53,54,0,0,0,0,0, + 60,0,1,2,3,4,5,6,7,0, + 9,10,11,12,13,14,15,16,17,18, + 19,20,21,0,0,0,25,26,0,0, + 0,0,0,0,0,0,0,0,37,38, + 39,0,41,42,43,44,45,46,47,0, + 49,50,51,52,53,54,0,1,2,3, + 4,5,6,7,0,9,10,11,12,13, + 14,15,16,17,18,19,20,21,0,0, + 0,25,26,0,0,0,0,0,0,0, + 0,0,0,37,38,39,0,41,42,43, + 44,45,46,47,0,49,50,51,52,53, + 54,0,1,2,3,4,5,6,7,0, + 9,10,11,12,13,14,15,16,17,18, + 19,20,21,0,0,0,25,26,0,0, + 0,0,0,0,0,0,0,0,37,38, + 39,0,41,42,43,44,45,46,47,0, + 49,50,51,52,53,54,0,1,2,0, + 4,0,0,0,0,0,10,11,12,13, 14,15,16,17,18,19,20,21,22,23, 24,0,0,0,28,29,30,31,32,33, - 34,35,36,63,0,0,0,0,0,0, - 0,0,0,73,0,0,0,0,0,0, + 34,35,36,0,0,0,40,0,0,0, + 0,0,0,0,0,0,1,2,0,4, + 0,0,56,57,58,10,11,12,13,14, + 15,16,17,18,19,20,21,22,23,24, + 0,0,0,28,29,30,31,32,33,34, + 35,36,0,0,0,40,0,1,2,3, + 4,5,6,7,8,9,0,0,0,0, + 0,56,57,58,0,0,0,0,22,23, + 24,0,0,27,28,29,30,31,32,33, + 34,35,36,11,12,13,14,15,16,17, + 18,19,20,21,22,23,24,0,0,0, + 28,29,30,31,32,33,34,35,36,63, + 0,0,0,0,0,0,0,0,0,73, + 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 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; @@ -1461,346 +1463,346 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface TermAction { public final static char termAction[] = {0, - 5437,5402,5381,5381,5381,5381,5381,5381,5418,5381, + 5442,5404,5383,5383,5383,5383,5383,5383,5420,5383, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5406,1,1, + 1,1,1,1,1,1,1,5408,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,138,1, - 1,1,1,1,1,1,1,1,1,3505, - 1,5611,2813,114,3682,1,1,5448,359,3774, - 5437,5444,156,4747,1809,4134,3655,2250,3653,4032, - 3218,4132,3473,4109,2599,4108,10,5421,5421,5421, - 5421,5421,5421,5421,5421,5421,5421,5421,5421,5421, - 5421,5421,5421,5421,5421,5421,5421,5421,5421,5421, - 5421,5421,5421,5421,5421,5421,5421,5421,5421,5421, - 5421,5421,5421,5421,5421,5421,5421,5421,5421,5421, - 5421,5421,5421,5421,332,5421,5421,5421,5421,5421, - 5421,1474,5421,5421,5421,5421,5421,5421,5421,1100, - 5421,5421,5421,5421,2776,3750,3726,5421,5795,5437, - 5421,5421,5421,5421,5421,5421,5421,5421,5421,5421, - 5421,5421,8,5424,5424,5424,5424,5424,5424,5424, - 5424,5424,5424,5424,5424,5424,5424,5424,5424,5424, - 5424,5424,5424,5424,5424,5424,5424,5424,5424,5424, - 5424,5424,5424,5424,5424,5424,5424,5424,5424,5424, - 5424,5424,5424,5424,5424,5424,5424,5424,5424,5424, - 397,5424,5424,5424,5424,5424,5424,2767,5424,5424, - 5424,5424,5424,5424,5424,302,5424,5424,5424,5424, - 288,5174,5174,5424,283,5738,5424,5424,5424,5424, - 5424,5424,5424,5424,5424,5424,5424,5424,5437,5402, - 5381,5381,5381,5381,5381,5381,5409,5381,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5406,1,1,1,1, + 1,1,1,1,1,333,1,1,1,3507, + 1,5616,2815,114,3684,1,1,5453,398,3776, + 5442,5449,156,4749,1811,4136,3657,2252,3655,4034, + 3220,4134,3475,4111,2601,4110,10,5423,5423,5423, + 5423,5423,5423,5423,5423,5423,5423,5423,5423,5423, + 5423,5423,5423,5423,5423,5423,5423,5423,5423,5423, + 5423,5423,5423,5423,5423,5423,5423,5423,5423,5423, + 5423,5423,5423,5423,5423,5423,5423,5423,5423,5423, + 5423,5423,5423,5423,299,5423,5423,5423,5423,5423, + 5423,1476,5423,5423,5423,5423,5423,5423,5423,387, + 5423,5423,5423,5423,39,3752,3728,5423,5480,5442, + 5423,5423,5423,5423,5423,5423,5423,5423,5423,5423, + 5423,5423,8,5426,5426,5426,5426,5426,5426,5426, + 5426,5426,5426,5426,5426,5426,5426,5426,5426,5426, + 5426,5426,5426,5426,5426,5426,5426,5426,5426,5426, + 5426,5426,5426,5426,5426,5426,5426,5426,5426,5426, + 5426,5426,5426,5426,5426,5426,5426,5426,5426,5426, + 5442,5426,5426,5426,5426,5426,5426,2769,5426,5426, + 5426,5426,5426,5426,5426,5442,5426,5426,5426,5426, + 289,5176,5176,5426,284,5442,5426,5426,5426,5426, + 5426,5426,5426,5426,5426,5426,5426,5426,5442,5404, + 5383,5383,5383,5383,5383,5383,5411,5383,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,298,1,1,1, - 1,1,1,441,1,1,1,3505,1,5611, - 2813,5437,3682,1,1,5448,5437,5076,5073,5445, - 5475,5437,1809,4134,3655,2250,3653,4032,3218,4132, - 3473,4109,2599,4108,5437,5402,5381,5381,5381,5381, - 5381,5381,5409,5381,1,1,1,1,1,1, + 1,1,1,1,1,5408,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,5406,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,5442,1,1,1, + 1,1,1,2777,1,1,1,3507,1,5616, + 2815,303,3684,1,1,5453,5442,5078,5075,120, + 5480,5744,1811,4136,3657,2252,3655,4034,3220,4134, + 3475,4111,2601,4110,5442,5404,5383,5383,5383,5383, + 5383,5383,5411,5383,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,5444,1,1,1,1,1,1,2775, - 1,1,1,3505,1,5611,2813,116,3682,1, - 1,5448,110,3774,386,5874,5875,5876,1809,4134, - 3655,2250,3653,4032,3218,4132,3473,4109,2599,4108, - 5437,5402,5381,5381,5381,5381,5381,5381,5409,5381, + 1,5408,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5406,1,1, + 1,1,5442,1,1,1,1,1,1,134, + 1,1,1,3507,1,5616,2815,116,3684,1, + 1,5453,110,3776,5442,461,2911,2938,1811,4136, + 3657,2252,3655,4034,3220,4134,3475,4111,2601,4110, + 5442,5404,5383,5383,5383,5383,5383,5383,5411,5383, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,5437,1, - 1,1,1,1,1,134,1,1,1,3505, - 1,5611,2813,5437,3682,1,1,5448,39,3750, - 3726,3982,5475,4005,1809,4134,3655,2250,3653,4032, - 3218,4132,3473,4109,2599,4108,5437,5402,5381,5381, - 5381,5381,5381,5381,5409,5381,1,1,1,1, + 1,1,1,1,1,1,1,5408,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5406,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,5105,1, + 1,1,1,1,1,135,1,1,1,3507, + 1,5616,2815,130,3684,1,1,5453,2339,3752, + 3728,3984,2404,4007,1811,4136,3657,2252,3655,4034, + 3220,4134,3475,4111,2601,4110,5442,5404,5383,5383, + 5383,5383,5383,5383,5411,5383,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,5437,1,1,1,1,1, - 1,135,1,1,1,3505,1,5611,2813,115, - 3682,1,1,5448,2337,3774,120,5437,5451,5452, - 1809,4134,3655,2250,3653,4032,3218,4132,3473,4109, - 2599,4108,5437,5402,5381,5381,5381,5381,5381,5381, - 5409,5381,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5406, + 1,1,1,5408,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,5442,1,1,1,1,1, + 1,5442,1,1,1,3507,1,5616,2815,115, + 3684,1,1,5453,2339,3776,5442,5456,5457,5442, + 1811,4136,3657,2252,3655,4034,3220,4134,3475,4111, + 2601,4110,5442,5404,5383,5383,5383,5383,5383,5383, + 5411,5383,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5408, 1,1,1,1,1,1,1,1,1,1, - 5437,1,1,1,1,1,1,5437,1,1, - 1,3505,1,5611,2813,5437,3682,1,1,5448, - 2337,3750,3726,2909,2936,5437,1809,4134,3655,2250, - 3653,4032,3218,4132,3473,4109,2599,4108,5437,5402, - 5381,5381,5381,5381,5381,5381,5409,5381,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5406,1,1,1,1, + 5442,1,1,1,1,1,1,2806,1,1, + 1,3507,1,5616,2815,5442,3684,1,1,5453, + 2634,3752,3728,5442,5262,5259,1811,4136,3657,2252, + 3655,4034,3220,4134,3475,4111,2601,4110,5442,5404, + 5383,5383,5383,5383,5383,5383,5411,5383,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,337,1,1,1, - 1,1,1,2804,1,1,1,3505,1,5611, - 2813,5437,3682,1,1,5448,5437,5451,5452,5775, - 5776,2632,1809,4134,3655,2250,3653,4032,3218,4132, - 3473,4109,2599,4108,5437,5402,5381,5381,5381,5381, - 5381,5381,5409,5381,1,1,1,1,1,1, + 1,1,1,1,1,5408,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,5406,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,5442,1,1,1, + 1,1,1,5442,1,1,1,3507,1,5616, + 2815,5442,3684,1,1,5453,5442,5456,5457,5450, + 518,2634,1811,4136,3657,2252,3655,4034,3220,4134, + 3475,4111,2601,4110,5442,5404,5383,5383,5383,5383, + 5383,5383,5411,5383,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,5437,1,1,1,1,1,1,5437, - 1,1,1,3505,1,5611,2813,1,3682,1, - 1,5448,5437,5076,5073,5399,5475,5437,1809,4134, - 3655,2250,3653,4032,3218,4132,3473,4109,2599,4108, - 5437,5402,5381,5381,5381,5381,5381,5381,5409,5381, + 1,5408,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5406,1,1, + 1,1,5449,1,1,1,1,1,1,894, + 1,1,1,3507,1,5616,2815,5442,3684,1, + 1,5453,5442,5078,5075,124,5480,5442,1811,4136, + 3657,2252,3655,4034,3220,4134,3475,4111,2601,4110, + 5442,5404,5383,5383,5383,5383,5383,5383,5411,5383, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,5444,1, - 1,1,1,1,1,2821,1,1,1,3505, - 1,5611,2813,5437,3682,1,1,5448,5437,5260, - 5257,48,5260,5257,1809,4134,3655,2250,3653,4032, - 3218,4132,3473,4109,2599,4108,5437,5402,5381,5381, - 5381,5381,5381,5381,5409,5381,1,1,1,1, + 1,1,1,1,1,1,1,5408,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5406,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,5442,1, + 1,1,1,1,1,2823,1,1,1,3507, + 1,5616,2815,5442,3684,1,1,5453,48,5262, + 5259,123,2911,2938,1811,4136,3657,2252,3655,4034, + 3220,4134,3475,4111,2601,4110,5442,5404,5383,5383, + 5383,5383,5383,5383,5411,5383,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,5437,1,1,1,1,1, - 1,5437,1,1,1,3505,1,5611,2813,5437, - 3682,1,1,5448,113,5437,91,5441,2770,5109, - 1809,4134,3655,2250,3653,4032,3218,4132,3473,4109, - 2599,4108,5437,4082,1,1,1,1,1,1, - 4102,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5446, + 1,1,1,5408,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,5442,1,1,1,1,1, + 1,5442,1,1,1,3507,1,5616,2815,5442, + 3684,1,1,5453,113,400,5456,5457,2911,2938, + 1811,4136,3657,2252,3655,4034,3220,4134,3475,4111, + 2601,4110,5442,4084,1,1,1,1,1,1, + 4104,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5451, 1,1,1,1,1,1,1,1,1,1, - 5437,1,1,1,1,1,1,5437,1,1, - 1,3505,1,5611,2813,5437,3682,1,1,5448, - 5437,1729,5437,3982,1686,4005,1809,4134,3655,2250, - 3653,4032,3218,4132,3473,4109,2599,4108,39,5076, - 5073,1147,631,3798,3867,4182,5440,3890,940,5701, - 5699,5708,5707,5703,5704,5702,5705,5706,5709,5700, - 5696,5775,5776,3844,3821,136,5690,5697,5693,5669, - 5695,5694,5691,5692,5670,3936,3913,5456,5837,2837, - 797,890,5458,826,4078,878,5437,5459,5457,617, - 5453,5454,5455,5437,1134,5838,5839,2748,1431,5437, - 5312,5312,228,5308,228,228,228,5316,228,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,5437,1092,228,1,1,1, - 1,1,1,1,1,1,5437,5076,5073,1, - 631,5121,124,4182,223,130,5437,5305,396,5171, - 5171,2632,283,5437,2402,1,1,1,3023,224, - 5851,669,399,5451,5452,2289,5696,5775,5776,1, - 418,228,5690,5697,5693,5669,5695,5694,5691,5692, - 5670,5696,5775,5776,2323,5939,5437,5690,5697,5693, - 5669,5695,5694,5691,5692,5670,283,5437,5437,8776, - 8776,5874,5875,5876,5437,5312,5312,228,5308,228, - 228,228,5360,228,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,2909, - 2936,228,1,1,1,1,1,1,1,1, - 1,3553,33,5437,1,5115,5473,2768,5115,5437, - 5115,5115,5305,37,5296,5296,8,5449,5296,5797, - 1,1,1,3023,5434,5851,669,5115,5115,5115, - 43,5266,5266,1,128,417,228,5437,5437,5115, - 5115,160,346,5076,5073,584,631,597,332,4182, - 5939,332,5437,137,1,5302,5302,5115,5299,5437, - 332,2789,364,332,5437,5115,5874,5875,5876,5437, - 5115,5115,5115,5115,5115,5115,5448,5072,5263,368, - 5164,5160,584,5168,597,1,4182,5434,1,5115, - 5115,5115,5115,5115,5115,5115,5115,5115,5115,5115, - 5115,5115,5115,5115,37,1057,160,5115,5115,5115, - 5115,5115,5115,5115,5115,5115,5115,5115,5115,5115, - 5437,5115,5115,5118,3672,117,5118,364,5118,5118, - 2461,2432,29,389,389,5287,389,389,5287,389, - 5287,5287,1057,5437,364,5118,5118,5118,5437,1284, - 3170,3087,5473,2289,389,389,389,5118,5118,5287, - 389,389,389,389,389,389,389,389,389,1, - 5164,5160,5351,5168,5357,5118,5354,5447,397,38, - 5094,5091,390,5118,5088,132,4182,5079,5118,5118, - 5118,5118,5118,5118,133,5287,5446,310,5164,5160, - 603,5168,597,5372,4182,5287,5372,5118,5118,5118, - 5118,5118,5118,5118,5118,5118,5118,5118,5118,5118, - 5118,5118,5437,123,5437,5118,5118,5118,5118,5118, - 5118,5118,5118,5118,5118,5118,5118,5118,122,5118, - 5118,5437,5381,5381,228,5381,228,228,228,5384, - 228,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,121,5437,228,1, - 1,8172,1,1,1,1,1,1,446,1, - 1,1,1,2370,5100,225,5437,5100,5437,5378, - 112,111,2370,5437,1990,138,1,1,1,1, - 3313,5443,5647,2813,5443,3682,3215,5696,5775,5776, - 2909,2936,219,5690,5697,5693,5669,5695,5694,5691, - 5692,5670,36,5334,5331,2909,2936,5939,5437,5381, - 5381,228,5381,228,228,228,228,228,1,1, + 5442,1,1,1,1,1,1,5442,1,1, + 1,3507,1,5616,2815,5446,3684,1,1,5453, + 36,5336,5333,3984,136,4007,1811,4136,3657,2252, + 3655,4034,3220,4134,3475,4111,2601,4110,39,5078, + 5075,1149,633,3800,3869,4184,137,3892,942,5707, + 5705,5714,5713,5709,5710,5708,5711,5712,5715,5706, + 5702,5781,5782,3846,3823,5442,5696,5703,5699,5675, + 5701,5700,5697,5698,5676,3938,3915,5461,5843,2839, + 799,892,5463,828,4080,880,5442,5464,5462,619, + 5458,5459,5460,5442,1136,5844,5845,2750,1433,5442, + 5314,5314,229,5310,229,229,229,5318,229,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,2909,2936,228,1,1,8172,1, - 1,1,1,1,1,1947,5442,5437,1,5442, - 1,5164,5160,603,5168,597,5378,4182,310,3982, - 3982,4005,4005,3420,1,1,1,3313,129,5647, - 2813,5437,3682,5437,5451,5452,1100,310,597,5437, - 4182,2776,1904,1861,1818,1775,1732,1689,1646,1603, - 1560,1517,460,5437,5939,5437,5381,5381,228,5381, - 228,228,228,5393,228,1,1,1,1,1, + 1,1,1,1,2291,5445,229,1,1,1, + 1,1,1,1,1,1,5442,5078,5075,1, + 633,5123,5442,4184,224,5442,2291,5307,397,5173, + 5173,1731,284,112,1688,1,1,1,3025,225, + 5857,671,128,299,5456,5457,5702,5781,5782,5442, + 419,229,5696,5703,5699,5675,5701,5700,5697,5698, + 5676,5702,5781,5782,2325,5945,5442,5696,5703,5699, + 5675,5701,5700,5697,5698,5676,284,129,5442,5442, + 8786,8786,5880,5881,5882,5442,5314,5314,229,5310, + 229,229,229,5362,229,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 5437,5437,228,1,1,8172,1,1,1,1, - 1,1,37,5296,5296,1,5437,131,332,226, - 5437,5076,5073,5378,631,597,2402,4182,298,5451, - 5452,1,1,1,3313,5103,5647,2813,5437,3682, - 47,5696,5775,5776,2461,2432,218,5690,5697,5693, - 5669,5695,5694,5691,5692,5670,4201,37,5296,5296, - 5473,5939,5437,5381,5381,228,5381,228,228,228, - 5384,228,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5437,2241,228, - 1,1,8172,1,1,1,1,1,1,5437, - 5076,5073,1,631,5121,2979,4182,447,39,39, - 5378,5475,348,5290,1,1681,5290,5437,1,1, - 1,3313,364,5647,2813,5445,3682,1,5164,5160, - 584,5168,597,219,4182,5275,459,5437,5164,5160, - 603,5168,597,5372,4182,517,5372,2536,5939,5437, - 5381,5381,228,5381,228,228,228,5384,228,1, + 122,37,229,1,1,1,1,1,1,1, + 1,1,3984,33,4007,1,5117,5478,5442,5117, + 5442,5117,5117,5307,5957,37,5298,5298,2463,2434, + 5298,1,1,1,3025,5442,5857,671,5117,5117, + 5117,43,5268,5268,1,313,418,229,3624,5478, + 5117,5117,160,347,5078,5075,586,633,599,333, + 4184,5945,333,2463,2434,5442,5442,111,5117,2772, + 5442,5078,5075,2791,633,5123,5117,4184,5880,5881, + 5882,5117,5117,5117,5117,5117,5117,2911,2938,5265, + 5442,5166,5162,605,5170,599,5374,4184,132,5374, + 5117,5117,5117,5117,5117,5117,5117,5117,5117,5117, + 5117,5117,5117,5117,5117,1155,1059,160,2538,5117, + 5117,5117,5117,5117,5117,5117,5117,5117,5117,5117, + 5117,5117,5117,5117,5442,39,460,5120,117,5480, + 5120,333,5120,5120,333,350,29,390,390,5289, + 390,390,5289,390,5289,5289,3984,5442,4007,5120, + 5120,5120,2078,3172,3089,293,5456,5457,390,390, + 390,5120,5120,5289,390,390,390,390,390,390, + 390,390,390,1,5166,5162,5353,5170,5359,5120, + 5356,5452,5442,38,5096,5093,2372,5120,5090,5108, + 4184,5081,5120,5120,5120,5120,5120,5120,1059,5289, + 5451,311,5166,5162,605,5170,599,5374,4184,5289, + 5374,5120,5120,5120,5120,5120,5120,5120,5120,5120, + 5120,5120,5120,5120,5120,5120,91,121,5442,5111, + 5120,5120,5120,5120,5120,5120,5120,5120,5120,5120, + 5120,5120,5120,5120,5120,5442,5383,5383,229,5383, + 229,229,229,5386,229,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,5437,1057,228,1,1,8172, - 1,1,1,1,1,1,1013,364,5444,1, - 1057,1,5164,5160,603,5168,597,5378,4182,5106, - 5278,292,5451,5452,364,1,1,1,3313,2076, - 5647,2813,5437,3682,892,346,39,39,2963,5475, - 219,332,1,319,332,4828,5369,1,5164,5160, - 603,5168,597,349,4182,5939,5437,5381,5381,228, - 5381,228,228,228,228,228,1,1,1,1, + 119,5442,229,1,1,8867,1,1,1,1, + 1,1,447,1,1,1,1,5442,5102,226, + 5442,5102,5442,5380,5442,3172,3089,5442,5454,138, + 408,1,1,1,3315,5448,5653,2815,5347,3684, + 100,5702,5781,5782,2911,2938,220,5696,5703,5699, + 5675,5701,5700,5697,5698,5676,3555,5350,5442,8718, + 8713,5945,5442,5383,5383,229,5383,229,229,229, + 229,229,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,5453,118,229, + 1,1,8867,1,1,1,1,1,1,1949, + 5447,5442,1,4224,1,5166,5162,605,5170,599, + 5380,4184,311,3172,3089,303,133,3422,1,1, + 1,3315,5442,5653,2815,5744,3684,5442,5456,5457, + 1102,311,599,5442,4184,5442,2778,1906,1863,1820, + 1777,1734,1691,1648,1605,1562,1519,29,5945,5442, + 5383,5383,229,5383,229,229,229,5395,229,1, 1,1,1,1,1,1,1,1,1,1, - 1,5437,5437,228,1,1,8172,1,1,1, - 1,1,1,92,1,1,1,1,1057,5293, - 5437,39,5293,5437,5378,5475,1057,332,5447,1772, - 332,5437,1,1,1,3313,1057,5647,2813,2076, - 3682,1,5164,5160,584,5168,597,5446,4182,332, - 5076,5073,603,631,597,5437,4182,4548,312,5437, - 371,3622,5939,5437,5381,5381,228,5381,228,228, - 228,228,228,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,5437,4051, - 228,1,1,8172,1,1,1,1,1,1, - 5437,8707,8663,1,1057,1,5164,5160,5351,5168, - 5357,5378,5354,119,39,5437,8707,8663,5475,1, - 1,1,3313,5951,5647,2813,1,3682,1153,2963, - 1339,95,39,39,342,5475,1369,5363,3170,3087, - 5363,5437,5076,5073,236,631,597,5281,4182,5939, - 5437,5381,5381,228,5381,228,228,228,228,228, + 1,1,1,1,1898,5442,229,1,1,8867, + 1,1,1,1,1,1,37,5298,5298,1, + 4459,3120,333,227,5442,5078,5075,5380,633,599, + 5442,4184,581,5886,5442,1,1,1,3315,338, + 5653,2815,5452,3684,2372,5702,5781,5782,5442,427, + 219,5696,5703,5699,5675,5701,5700,5697,5698,5676, + 3674,5451,5781,5782,5478,5945,5442,5383,5383,229, + 5383,229,229,229,5386,229,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,118,1,228,1,1, - 8172,1,1,1,1,1,1,5437,5437,1057, - 1,5437,5451,5452,342,342,125,5437,5378,342, - 3170,3087,5437,5322,5319,5437,1,1,1,3313, - 5437,5647,2813,2965,3682,3670,5874,5875,5876,5437, - 5260,5257,5437,5437,75,3621,4101,3498,5437,1, - 1,1,1,1,1,1,5939,1,1,1, + 1,5442,5442,229,1,1,8867,1,1,1, + 1,1,1,37,5298,5298,1,5442,1,5166, + 5162,605,5170,599,5380,4184,349,1,1,1683, + 4830,1,1,1,1,3315,365,5653,2815,5401, + 3684,1,5166,5162,586,5170,599,220,4184,5277, + 1,5304,5304,5442,5301,536,333,4203,365,333, + 5074,2981,5945,5442,5383,5383,229,5383,229,229, + 229,5386,229,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,5442,1059, + 229,1,1,8867,1,1,1,1,1,1, + 442,365,5449,1,1059,333,5078,5075,605,633, + 599,5380,4184,320,5280,3942,5371,5442,365,1, + 1,1,3315,365,5653,2815,5442,3684,5442,347, + 39,39,2965,5480,220,333,5448,99,333,8, + 365,1,5166,5162,605,5170,599,5439,4184,5945, + 5442,5383,5383,229,5383,229,229,229,229,229, 1,1,1,1,1,1,1,1,1,1, - 5473,2673,1,1,1,5437,3959,787,302,363, - 5396,5499,5500,127,5097,1,1,1,5738,1, - 1,1,1,1,1,1,5437,1,1,1, - 1,1,1,5437,3959,787,4103,2531,1,5975, - 2575,2503,5437,1,1,1,5164,5160,1147,5168, - 3798,3867,4182,5437,3890,5124,5151,5157,5130,5133, - 5145,5142,5148,5139,5136,5127,5154,1896,2673,5448, - 3844,3821,5437,4457,3118,4106,5437,5437,3226,806, - 5437,5269,3936,3913,5456,5443,2837,797,890,5458, - 826,4078,878,951,5459,5457,617,5453,5454,5455, - 45,5328,5328,5437,1,1431,4469,2575,2503,1, - 39,39,530,518,39,5076,5073,1147,631,3798, - 3867,4182,5431,3890,573,5701,5699,5708,5707,5703, - 5704,5702,5705,5706,5709,5700,5437,5341,5337,3844, - 3821,5437,5451,5452,4249,3118,4869,5437,5325,5449, - 5442,3936,3913,5456,126,2837,797,890,5458,826, - 4078,878,5437,5459,5457,617,5453,5454,5455,5437, - 5322,5319,39,5437,1431,5437,5475,530,37,5296, - 5296,5415,5437,3355,5473,5444,140,5076,5073,1147, - 631,3798,3867,4182,2996,3890,573,5701,5699,5708, - 5707,5703,5704,5702,5705,5706,5709,5700,5448,2673, - 1,3844,3821,1,100,5880,2963,5473,162,5437, - 29,5275,5272,3936,3913,5456,5473,2837,797,890, - 5458,826,4078,878,407,5459,5457,617,5453,5454, - 5455,5894,5345,291,671,671,1431,5840,2575,2503, - 4341,39,39,1,5164,5160,1147,5168,3798,3867, - 4182,5348,3890,5124,5151,5157,5130,5133,5145,5142, - 5148,5139,5136,5127,5154,5079,1057,4222,3844,3821, - 5437,369,103,162,2073,4471,5278,442,29,398, - 3936,3913,5456,389,2837,797,890,5458,826,4078, - 878,456,5459,5457,617,5453,5454,5455,5437,293, - 430,450,2721,1431,99,321,5437,5437,39,39, - 39,5076,5073,1147,631,3798,3867,4182,5412,3890, - 573,5701,5699,5708,5707,5703,5704,5702,5705,5706, - 5709,5700,5082,579,579,3844,3821,5437,5437,285, - 3040,1387,5437,5437,5437,389,5085,3936,3913,5456, - 426,2837,797,890,5458,826,4078,878,5437,5459, - 5457,617,5453,5454,5455,1,1,1240,1057,2115, - 1431,5437,3259,2568,5437,5387,5387,5415,39,5076, - 5073,1147,631,3798,3867,4182,5412,3890,573,5701, - 5699,5708,5707,5703,5704,5702,5705,5706,5709,5700, - 5112,5437,5437,3844,3821,5390,5390,48,5721,5437, - 397,5452,73,3871,3871,3936,3913,5456,5437,2837, - 797,890,5458,826,4078,878,579,5459,5457,617, - 5453,5454,5455,534,1,422,5437,582,1431,5908, - 5902,1,1,5906,5447,5415,291,428,35,5447, - 190,48,5437,5437,510,5451,3420,3428,278,5900, - 5901,5375,5452,5446,376,579,508,5366,5446,190, - 5437,5931,5932,3275,2163,5909,5437,5437,5437,3802, - 4526,4760,5437,5437,5437,4803,4821,3503,5437,5911, - 5437,4826,4150,3940,1,5437,5437,867,4871,1513, - 1541,5437,5912,5933,5910,2202,5451,3634,5437,451, - 309,5437,523,5437,5437,8489,4203,4528,3263,184, - 2,5922,5921,5934,4836,3256,5903,5904,5927,5928, - 5925,5926,5905,5907,5929,5930,4838,5437,5437,5935, - 3263,5915,5916,5917,5913,5914,5923,5924,5919,5918, - 5920,39,5076,5073,1147,631,3798,3867,4182,5441, - 3890,573,5701,5699,5708,5707,5703,5704,5702,5705, - 5706,5709,5700,3294,5437,37,3844,3821,3128,4065, - 3332,5437,4150,2033,4221,5437,4250,5437,3936,3913, - 5456,512,2837,797,890,5458,826,4078,878,5437, - 5459,5457,617,5453,5454,5455,39,5076,5073,1147, - 631,3798,3867,4182,4144,3890,573,5701,5699,5708, - 5707,5703,5704,5702,5705,5706,5709,5700,5437,5437, - 4150,3844,3821,5437,5437,5437,5437,5437,5437,5437, - 5428,5437,5437,3936,3913,5456,5437,2837,797,890, - 5458,826,4078,878,5437,5459,5457,617,5453,5454, - 5455,2616,5437,5437,5437,5437,1431,5437,5440,39, - 5076,5073,1147,631,3798,3867,4182,5437,3890,573, - 5701,5699,5708,5707,5703,5704,5702,5705,5706,5709, - 5700,5437,5437,5437,3844,3821,5437,5437,5437,5437, - 5437,5437,5437,5437,5437,5437,3936,3913,5456,5437, - 2837,797,890,5458,826,4078,878,5437,5459,5457, - 617,5453,5454,5455,39,5076,5073,1147,631,3798, - 3867,4182,1048,3890,573,5701,5699,5708,5707,5703, - 5704,5702,5705,5706,5709,5700,5437,5437,5437,3844, - 3821,5437,5437,5437,5437,5437,5437,5437,5437,5437, - 5437,3936,3913,5456,5437,2837,797,890,5458,826, - 4078,878,5437,5459,5457,617,5453,5454,5455,5437, - 5437,5437,5437,5437,1431,39,5076,5073,4750,631, - 3798,3867,4182,5437,3890,573,5701,5699,5708,5707, - 5703,5704,5702,5705,5706,5709,5700,5437,5437,5437, - 3844,3821,5437,5437,5437,5437,5437,5437,5437,5437, - 5437,5437,3936,3913,5456,5437,2837,797,890,5458, - 826,4078,878,5437,5459,5457,617,5453,5454,5455, - 39,5076,5073,1147,631,3798,3867,4182,5437,3890, - 573,5701,5699,5708,5707,5703,5704,5702,5705,5706, - 5709,5700,5437,5437,5437,3844,3821,5437,5437,5437, - 5437,5437,5437,5437,5437,5437,5437,3936,3913,5456, - 5437,2837,797,890,5458,826,4078,878,5437,5459, - 5457,617,5453,5454,5455,39,5076,5073,1147,631, - 3798,3867,4182,5437,3890,573,5701,5699,5708,5707, - 5703,5704,5702,5705,5706,5709,5700,5437,5437,5437, - 3844,3821,5437,5437,5437,5437,5437,5437,5437,5437, - 5437,5437,3936,3913,5456,5437,2837,797,890,5458, - 826,4078,878,5437,5459,5457,617,5453,5454,5455, - 5437,5076,5073,5437,5475,5437,5437,5437,5437,5437, - 800,5701,5699,5708,5707,5703,5704,5702,5705,5706, - 5709,5700,5696,5775,5776,5437,5437,5437,5690,5697, - 5693,5669,5695,5694,5691,5692,5670,5437,5437,5437, - 5837,5437,5437,5437,5437,5437,5437,5437,5437,240, - 5250,5246,5437,5254,5437,5437,1134,5838,5839,800, - 5237,5243,5216,5219,5231,5228,5234,5225,5222,5213, - 5240,5192,5186,5183,5437,5437,5437,5210,5189,5201, - 5180,5195,5198,5207,5204,5177,5437,5437,5437,5837, - 32,390,390,5284,390,390,5284,390,5284,5284, - 5437,5437,5437,5437,5437,1134,5838,5839,5437,5437, - 5437,5437,390,390,390,5437,222,5284,390,390, - 390,390,390,390,390,390,390,5701,5699,5708, - 5707,5703,5704,5702,5705,5706,5709,5700,5696,5775, - 5776,5437,5437,5437,5690,5697,5693,5669,5695,5694, - 5691,5692,5670,5284,5437,5437,5437,5437,5437,5437, - 5437,5437,5437,5284 + 1,1,1,1,1,5442,1059,229,1,1, + 8867,1,1,1,1,1,1,448,39,39, + 1,5480,1059,5292,4251,3120,5292,4871,5380,237, + 1242,5447,5283,5880,5881,5882,1,1,1,3315, + 5439,5653,2815,2078,3684,5442,369,5166,5162,586, + 5170,599,1,4184,1,1,1,5166,5162,586, + 5170,599,5398,4184,47,5442,5945,5442,5383,5383, + 229,5383,229,229,229,229,229,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,5442,5442,229,1,1,8867,1,1, + 1,1,1,1,92,1,1,1,1,1059, + 5295,5442,2243,5295,2967,5380,1286,1992,131,1059, + 4550,5453,364,1,1,1,3315,2404,5653,2815, + 1,3684,5442,2965,5442,5442,5456,5457,343,1, + 5166,5162,5353,5170,5359,5442,5356,5442,8718,8713, + 292,673,673,5945,5442,5383,5383,229,5383,229, + 229,229,229,229,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5442, + 3430,229,1,1,8867,1,1,1,1,1, + 1,3228,5442,1059,1,5442,5262,5259,343,343, + 3961,789,5380,343,5442,360,5846,3623,29,443, + 1,1,1,3315,5442,5653,2815,4103,3684,5442, + 95,39,39,5442,5480,457,5365,5450,75,5365, + 5442,3500,5442,1,1,1,1,1,1,1, + 5945,1,1,1,1,1,1,1,1,1, + 1,1,1,1,5442,5456,5457,1,1,138, + 3961,789,5454,5081,5084,5504,5505,125,399,1, + 1,1,390,1,1,1,1,1,1,1, + 5087,1,1,1,1,1,1,5442,1015,5442, + 5449,2533,1,5982,4152,5801,5442,1,1,1, + 5166,5162,1149,5170,3800,3869,4184,5442,3892,5126, + 5153,5159,5132,5135,5147,5144,5150,5141,5138,5129, + 5156,5453,2675,581,3846,3823,5442,5078,5075,5442, + 633,599,4105,4184,808,5099,3938,3915,5461,5442, + 2839,799,892,5463,828,4080,880,953,5464,5462, + 619,5458,5459,5460,5442,5324,5321,5900,5442,1433, + 1102,2577,2505,1,39,39,2778,519,39,5078, + 5075,1149,633,3800,3869,4184,5436,3892,575,5707, + 5705,5714,5713,5709,5710,5708,5711,5712,5715,5706, + 45,5330,5330,3846,3823,5442,5442,5442,5442,2770, + 4108,4471,5478,372,5442,3938,3915,5461,127,2839, + 799,892,5463,828,4080,880,431,5464,5462,619, + 5458,5459,5460,5442,5343,5339,39,398,1433,370, + 5480,391,5442,5324,5321,5417,5442,3357,5327,5449, + 140,5078,5075,1149,633,3800,3869,4184,1371,3892, + 575,5707,5705,5714,5713,5709,5710,5708,5711,5712, + 5715,5706,5442,2675,4343,3846,3823,37,5298,5298, + 5442,5478,103,1341,2075,4473,5271,3938,3915,5461, + 5478,2839,799,892,5463,828,4080,880,3261,5464, + 5462,619,5458,5459,5460,5442,1,5442,451,1389, + 1433,1774,2577,2505,5448,39,39,1,5166,5162, + 1149,5170,3800,3869,4184,5478,3892,5126,5153,5159, + 5132,5135,5147,5144,5150,5141,5138,5129,5156,5880, + 5881,5882,3846,3823,1,5442,5442,2965,322,1, + 2723,126,5277,5452,3938,3915,5461,5452,2839,799, + 892,5463,828,4080,880,5442,5464,5462,619,5458, + 5459,5460,5451,193,286,5442,5451,1433,3042,5447, + 2570,5442,39,39,39,5078,5075,1149,633,3800, + 3869,4184,5414,3892,575,5707,5705,5714,5713,5709, + 5710,5708,5711,5712,5715,5706,2675,1059,1,3846, + 3823,1059,279,5442,4053,5377,532,5280,5442,5274, + 39,3938,3915,5461,5480,2839,799,892,5463,828, + 4080,880,1,5464,5462,619,5458,5459,5460,1, + 1,5442,2998,5727,1433,2577,2505,292,5430,5389, + 5389,5417,39,5078,5075,1149,633,3800,3869,4184, + 5414,3892,575,5707,5705,5714,5713,5709,5710,5708, + 5711,5712,5715,5706,1,390,5442,3846,3823,5392, + 5392,532,162,5442,398,73,5442,3873,3873,3938, + 3915,5461,294,2839,799,892,5463,828,4080,880, + 5442,5464,5462,619,5458,5459,5460,5442,1,423, + 1,584,1433,5914,5908,5442,8153,5912,190,5417, + 48,429,5803,5442,5457,48,3804,5442,35,5456, + 5114,581,5442,5906,5907,184,5442,190,3422,581, + 5368,3277,452,310,5442,5937,5938,162,5442,5915, + 5442,4528,5442,4762,1094,4805,5442,5442,5442,4823, + 3505,4828,2117,5917,377,5442,3217,5442,4873,5442, + 4530,869,2165,1515,1543,5457,5918,5939,5916,2204, + 5456,5442,5442,511,509,5442,5442,3636,5442,5442, + 4205,5442,513,2,5442,5928,5927,5940,3265,1, + 5909,5910,5933,5934,5931,5932,5911,5913,5935,5936, + 525,3130,4067,524,5941,5442,5921,5922,5923,5919, + 5920,5929,5930,5925,5924,5926,39,5078,5075,1149, + 633,3800,3869,4184,5446,3892,575,5707,5705,5714, + 5713,5709,5710,5708,5711,5712,5715,5706,37,5442, + 5442,3846,3823,4838,4840,4146,5433,3258,3296,3265, + 3334,2035,2618,3938,3915,5461,4152,2839,799,892, + 5463,828,4080,880,1,5464,5462,619,5458,5459, + 5460,39,5078,5075,1149,633,3800,3869,4184,4223, + 3892,575,5707,5705,5714,5713,5709,5710,5708,5711, + 5712,5715,5706,5442,5442,5442,3846,3823,5442,5442, + 5442,5442,1,3672,5442,4152,5442,5442,3938,3915, + 5461,5442,2839,799,892,5463,828,4080,880,5442, + 5464,5462,619,5458,5459,5460,5442,5442,5442,5442, + 5442,1433,5442,5442,5445,39,5078,5075,1149,633, + 3800,3869,4184,5442,3892,575,5707,5705,5714,5713, + 5709,5710,5708,5711,5712,5715,5706,5442,5442,5442, + 3846,3823,5442,5442,5442,5442,5442,5442,5442,5442, + 5442,5442,3938,3915,5461,5442,2839,799,892,5463, + 828,4080,880,5442,5464,5462,619,5458,5459,5460, + 39,5078,5075,1149,633,3800,3869,4184,1050,3892, + 575,5707,5705,5714,5713,5709,5710,5708,5711,5712, + 5715,5706,5442,5442,5442,3846,3823,5442,5442,5442, + 5442,5442,5442,5442,5442,5442,5442,3938,3915,5461, + 5442,2839,799,892,5463,828,4080,880,5442,5464, + 5462,619,5458,5459,5460,5442,5442,5442,5442,5442, + 1433,39,5078,5075,4752,633,3800,3869,4184,5442, + 3892,575,5707,5705,5714,5713,5709,5710,5708,5711, + 5712,5715,5706,5442,5442,5442,3846,3823,5442,5442, + 5442,5442,5442,5442,5442,5442,5442,5442,3938,3915, + 5461,5442,2839,799,892,5463,828,4080,880,5442, + 5464,5462,619,5458,5459,5460,39,5078,5075,1149, + 633,3800,3869,4184,5442,3892,575,5707,5705,5714, + 5713,5709,5710,5708,5711,5712,5715,5706,5442,5442, + 5442,3846,3823,5442,5442,5442,5442,5442,5442,5442, + 5442,5442,5442,3938,3915,5461,5442,2839,799,892, + 5463,828,4080,880,5442,5464,5462,619,5458,5459, + 5460,39,5078,5075,1149,633,3800,3869,4184,5442, + 3892,575,5707,5705,5714,5713,5709,5710,5708,5711, + 5712,5715,5706,5442,5442,5442,3846,3823,5442,5442, + 5442,5442,5442,5442,5442,5442,5442,5442,3938,3915, + 5461,5442,2839,799,892,5463,828,4080,880,5442, + 5464,5462,619,5458,5459,5460,5442,5078,5075,5442, + 5480,5442,5442,5442,5442,5442,802,5707,5705,5714, + 5713,5709,5710,5708,5711,5712,5715,5706,5702,5781, + 5782,5442,5442,5442,5696,5703,5699,5675,5701,5700, + 5697,5698,5676,5442,5442,5442,5843,5442,5442,5442, + 5442,5442,5442,5442,5442,241,5252,5248,5442,5256, + 5442,5442,1136,5844,5845,802,5239,5245,5218,5221, + 5233,5230,5236,5227,5224,5215,5242,5194,5188,5185, + 5442,5442,5442,5212,5191,5203,5182,5197,5200,5209, + 5206,5179,5442,5442,5442,5843,32,391,391,5286, + 391,391,5286,391,5286,5286,5442,5442,5442,5442, + 5442,1136,5844,5845,5442,5442,5442,5442,391,391, + 391,5442,223,5286,391,391,391,391,391,391, + 391,391,391,5707,5705,5714,5713,5709,5710,5708, + 5711,5712,5715,5706,5702,5781,5782,5442,5442,5442, + 5696,5703,5699,5675,5701,5700,5697,5698,5676,5286, + 5442,5442,5442,5442,5442,5442,5442,5442,5442,5286 }; }; public final static char termAction[] = TermAction.termAction; @@ -1808,59 +1810,59 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Asb { public final static char asb[] = {0, - 117,7,865,1,158,767,767,767,767,1060, + 117,7,865,1,158,767,767,767,767,1058, 158,404,404,907,404,245,865,247,866,866, 866,866,866,866,866,866,866,406,412,417, 414,421,419,426,424,428,427,429,459,430, 865,849,947,947,947,947,904,592,9,9, 401,947,292,204,404,404,9,904,204,779, - 946,1116,1062,997,849,404,406,686,686,592, + 946,1114,1060,995,849,404,406,686,686,592, 865,866,866,866,866,866,866,866,866,866, 866,866,866,866,866,866,866,866,866,866, 865,865,865,865,865,865,865,865,865,865, 865,865,866,204,204,195,849,747,747,747, - 747,392,204,9,9,1058,986,997,114,997, - 109,997,341,997,981,1060,904,292,292,9, - 767,292,946,865,902,1115,204,901,903,901, + 747,392,204,9,9,1056,984,995,114,995, + 109,995,341,995,979,1058,904,292,292,9, + 767,292,946,865,902,1113,204,901,903,901, 204,292,414,414,412,412,412,419,419,419, - 419,417,417,424,421,421,427,426,428,1074, - 429,1058,252,70,584,583,540,1004,1004,1060, + 419,417,417,424,421,421,427,426,428,1072, + 429,1056,252,70,584,583,540,1002,1002,1058, 247,158,158,158,158,904,904,747,746,747, - 401,904,508,347,111,391,112,1060,904,904, - 392,747,866,947,410,160,204,1062,904,904, - 903,1116,865,195,292,445,204,72,74,904, - 1116,865,865,865,865,158,158,849,509,399, + 401,904,508,347,111,391,112,1058,904,904, + 392,747,866,947,410,160,204,1060,904,904, + 903,1114,865,195,292,445,204,72,74,904, + 1114,865,865,865,865,158,158,849,509,399, 397,347,904,643,454,641,392,114,511,904, - 392,904,204,410,1058,1115,1062,904,902,204, + 392,904,204,410,1056,1113,1060,904,902,204, 588,576,587,74,392,902,204,204,204,204, - 592,592,509,397,514,904,347,1074,112,767, - 394,61,1064,347,643,642,643,643,392,511, + 592,592,509,397,514,904,347,1072,112,767, + 394,61,1062,347,643,642,643,643,392,511, 511,904,904,410,411,410,865,160,66,406, - 1062,530,865,585,585,517,517,904,68,1058, - 693,204,904,204,204,397,397,1116,114,114, - 747,767,901,636,1066,898,158,643,643,643, + 1060,530,865,585,585,517,517,904,68,1056, + 693,204,904,204,204,397,397,1114,114,114, + 747,767,901,636,1064,898,158,643,643,643, 643,904,511,513,755,513,410,592,866,292, - 66,530,865,865,74,904,1116,204,72,576, - 530,1039,397,396,902,647,114,296,363,902, - 643,643,898,450,866,1074,525,760,904,1058, + 66,530,865,865,74,904,1114,204,72,576, + 530,1037,397,396,902,647,114,296,363,902, + 643,643,898,450,866,1072,525,760,904,1056, 643,643,726,513,514,866,904,411,204,292, - 741,74,530,397,451,647,647,634,1076,500, - 158,112,333,363,902,643,114,1060,1066,866, - 866,1115,898,771,974,727,904,514,741,204, - 741,514,647,647,295,500,634,775,1060,746, + 741,74,530,397,451,647,647,634,1074,500, + 158,112,333,363,902,643,114,1058,1064,866, + 866,1113,898,771,974,727,904,514,741,204, + 741,514,647,647,295,500,634,775,1058,746, 767,749,749,451,114,829,771,904,158,726, - 904,1060,1060,904,158,734,741,514,296,647, - 451,524,450,204,1060,904,363,296,363,745, - 745,769,830,1060,904,592,904,904,904,75, + 904,1058,1058,904,158,734,741,514,296,647, + 451,524,450,204,1058,904,363,296,363,745, + 745,769,830,1058,904,592,904,904,904,75, 734,647,865,208,898,451,904,904,363,947, - 947,769,829,1074,866,1074,451,828,158,158, + 947,769,829,1072,866,1072,451,828,158,158, 158,830,158,904,467,451,451,904,114,204, 904,904,203,736,514,204,514,114,904,451, - 746,821,158,821,830,1074,830,849,849,847, - 979,849,451,451,528,769,947,736,514,208, + 746,821,158,821,830,1072,830,849,849,847, + 828,849,451,451,528,827,947,736,514,208, 451,107,693,830,204,898,204,847,500,158, - 204,769,208,749,204,204,1052,830,528,830, - 451,500,865,830,827,513,745,114,114,1054, + 204,769,208,749,204,204,1050,830,528,830, + 451,500,865,830,827,513,745,114,114,1052, 865,828,592,451,204,449,207,901,830,204, 451,449,449,830 }; @@ -1870,7 +1872,7 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Asr { public final static byte asr[] = {0, - 8,72,117,73,27,69,120,0,28,11, + 8,72,118,73,27,69,120,0,28,11, 12,40,23,42,65,13,43,56,29,30, 44,14,31,32,15,16,33,66,34,45, 17,18,46,35,47,57,49,60,50,36, @@ -1887,9 +1889,9 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 21,52,53,54,39,1,2,37,38,9, 6,25,26,5,41,4,61,3,0,91, 89,25,26,92,93,87,88,55,94,95, - 96,97,98,99,100,101,106,72,90,70, - 107,108,109,110,111,112,113,114,115,116, - 117,71,27,120,68,1,2,9,6,4, + 96,97,98,99,100,101,107,72,90,70, + 108,109,110,111,112,113,114,115,116,117, + 118,71,27,120,68,1,2,9,6,4, 3,63,69,73,8,0,71,60,37,38, 9,6,25,26,41,46,3,4,52,53, 54,39,50,44,49,12,21,11,17,15, @@ -1899,24 +1901,24 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 21,11,17,15,16,18,19,14,13,20, 52,53,54,39,50,44,49,5,7,4, 3,37,38,9,6,25,26,41,46,1, - 2,117,8,0,67,40,23,13,56,29, + 2,118,8,0,67,40,23,13,56,29, 14,31,32,15,16,33,34,17,18,35, 57,36,58,19,22,20,24,21,12,11, 28,8,3,9,6,27,62,64,86,30, 61,48,7,1,2,5,4,10,59,0, - 4,8,67,1,2,0,86,59,7,102, - 103,104,62,8,3,9,6,5,72,71, + 4,8,67,1,2,0,86,59,7,103, + 104,105,62,8,3,9,6,5,72,71, 27,61,28,11,12,40,23,13,56,29, 30,14,31,32,15,16,33,34,17,18, 35,57,36,10,58,19,22,20,24,21, 4,1,2,48,0,60,23,24,7,5, - 1,2,4,74,67,119,105,37,38,63, + 1,2,4,74,67,119,106,37,38,63, 3,91,89,6,92,93,25,26,88,87, 55,94,95,96,97,9,98,99,100,68, - 90,73,120,70,107,108,109,110,111,112, - 113,114,115,116,72,117,101,106,71,69, + 90,73,120,70,108,109,110,111,112,113, + 114,115,116,117,72,118,101,107,71,69, 27,8,0,4,8,72,67,0,68,72, - 90,69,117,73,71,120,11,12,42,65, + 90,69,118,73,71,120,11,12,42,65, 13,43,44,14,15,16,66,45,17,18, 46,47,49,60,50,51,10,19,20,21, 52,53,54,39,37,38,25,26,41,8, @@ -1942,17 +1944,17 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 2,0,28,11,12,40,23,13,56,29, 30,14,31,32,15,16,33,34,17,18, 35,57,36,10,58,19,22,20,24,21, - 1,2,4,90,0,22,1,2,4,102, - 103,104,0,23,24,74,3,72,27,67, + 1,2,4,90,0,22,1,2,4,103, + 104,105,0,23,24,74,3,72,27,67, 60,8,90,73,70,69,68,0,68,70, 69,1,2,0,8,69,71,70,0,72, - 8,63,3,70,69,27,55,0,118,0, + 8,63,3,70,69,27,55,0,102,0, 8,67,69,0,8,67,70,0,65,66, 37,38,9,6,25,26,5,41,46,3, 4,7,52,53,54,39,50,44,49,12, 21,11,17,15,16,18,19,14,13,20, 10,43,47,45,42,51,63,1,2,0, - 86,102,103,104,48,72,118,121,71,61, + 86,103,104,105,48,72,102,121,71,61, 74,62,59,64,76,78,84,82,75,80, 81,83,85,67,77,79,27,8,28,40, 23,56,29,30,31,32,33,34,35,57, @@ -1962,27 +1964,26 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 49,37,38,25,26,41,46,9,6,3, 4,7,5,1,2,0,66,65,25,26, 6,92,93,98,9,99,5,41,70,55, - 68,110,111,107,108,109,115,114,116,88, - 87,112,113,96,97,94,95,100,101,37, - 38,69,89,105,63,3,28,11,12,40, + 68,111,112,108,109,110,116,115,117,88, + 87,113,114,96,97,94,95,100,101,37, + 38,69,89,106,63,3,28,11,12,40, 23,13,56,29,30,14,31,32,15,16, 33,34,17,18,35,57,36,10,58,19, - 20,24,21,1,2,4,22,0,75,0, - 10,56,40,57,58,12,21,11,17,15, - 16,18,19,14,13,20,74,72,90,117, - 71,67,120,119,91,105,89,37,38,25, - 26,92,93,87,88,55,68,94,95,96, - 97,98,99,100,101,106,70,107,108,109, - 110,111,112,113,114,115,116,69,28,23, - 29,30,31,32,33,34,35,36,22,24, - 27,8,73,3,63,7,5,9,6,1, - 2,4,0,27,8,3,7,5,9,6, - 4,1,2,72,0,40,23,13,56,29, - 14,31,32,15,16,33,34,17,18,35, - 57,36,10,58,19,22,20,24,21,12, - 11,28,8,3,9,27,62,59,64,86, - 30,61,55,4,6,7,1,2,5,48, - 0 + 20,24,21,1,2,4,22,0,10,56, + 40,57,58,12,21,11,17,15,16,18, + 19,14,13,20,74,72,90,118,71,67, + 120,119,91,106,89,37,38,25,26,92, + 93,87,88,55,68,94,95,96,97,98, + 99,100,101,107,70,108,109,110,111,112, + 113,114,115,116,117,69,28,23,29,30, + 31,32,33,34,35,36,22,24,27,8, + 73,3,63,7,5,9,6,1,2,4, + 0,27,8,3,7,5,9,6,4,1, + 2,72,0,40,23,13,56,29,14,31, + 32,15,16,33,34,17,18,35,57,36, + 10,58,19,22,20,24,21,12,11,28, + 8,3,9,27,62,59,64,86,30,61, + 55,4,6,7,1,2,5,48,0 }; }; public final static byte asr[] = Asr.asr; @@ -2098,8 +2099,8 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 119,30,118,96,108,49,50,56,57,59, 69,71,72,85,92,65,17,18,6,32, 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,123, + 28,51,80,81,82,5,29,34,35,36, + 37,38,39,40,41,42,43,117,3,123, 62,116 }; }; @@ -2193,16 +2194,16 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeLa { public final static byte scopeLa[] = { - 118,71,73,73,71,71,73,73,73,73, + 102,71,73,73,71,71,73,73,73,73, 73,71,27,71,1,68,1,73,121,67, 3,73,68,68,68,1,1,27,71,67, 1,1,1,71,1,1,4,68,69,27, - 1,1,68,73,73,73,118,73,1,27, - 1,27,27,71,117,73,73,73,73,73, - 117,1,73,1,73,73,73,72,4,1, + 1,1,68,73,73,73,102,73,1,27, + 1,27,27,71,118,73,73,73,73,73, + 118,1,73,1,73,73,73,72,4,1, 1,6,73,68,68,68,68,73,3,1, - 1,73,73,3,1,117,73,1,1,1, - 27,73,117,73,5,73,1,48,70,72, + 1,73,73,3,1,118,73,1,1,1, + 27,73,118,73,5,73,1,48,70,72, 1,48,75,74,27,27,4,4,4,4, 3,1,67,1,1,3 }; @@ -2231,7 +2232,7 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeRhs { public final static char scopeRhs[] = {0, - 322,3,60,0,126,0,321,3,118,0, + 322,3,60,0,126,0,321,3,102,0, 126,172,0,126,178,74,0,216,0,254, 126,55,124,0,20,0,297,126,55,48, 0,20,53,0,33,132,0,20,53,0, @@ -2277,7 +2278,7 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 156,224,3,83,0,62,171,0,224,3, 83,0,126,171,62,171,0,303,126,165, 0,162,0,213,77,0,30,171,0,162, - 106,159,0,30,169,0,218,3,0,213, + 107,159,0,30,169,0,218,3,0,213, 63,266,0,162,63,0,180,3,299,66, 127,0,126,0,0,0,0,299,66,127, 0,2,145,126,0,0,0,0,180,3, @@ -2303,38 +2304,38 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeState { public final static char scopeState[] = {0, - 4722,4826,4821,4803,0,4231,4209,4064,3232,0, - 3650,3593,3511,3408,3370,3332,3294,3256,3218,2998, - 2960,3503,0,3414,0,2100,1188,873,0,3128, - 2568,0,3650,3593,1981,1895,3511,3408,3370,3332, - 3294,3256,1809,3218,2998,2960,1551,1465,0,4745, - 3118,4689,0,4203,3259,0,3536,738,0,4513, - 4307,0,4274,4513,2817,3152,4307,3074,3484,4287, - 4065,2490,4051,603,2722,584,2701,0,745,744, - 0,4539,4529,0,4539,4529,4187,4457,4411,4114, - 4399,4353,4100,4341,3650,3593,3511,3408,3370,3332, - 3294,3256,3218,2998,2960,0,4539,4529,4187,4457, - 4411,4114,4399,4353,4100,4341,0,2768,2748,0, - 2490,4274,3529,2817,3152,4555,2722,2714,3449,3377, - 4545,3144,876,877,732,0,2198,1944,967,932, - 3152,3144,3074,584,2701,2963,2808,0,951,806, - 0,787,0,4243,539,2744,0,4738,4731,4685, - 4680,4666,4662,4655,4597,4580,4441,4813,4383,3571, - 4809,4756,4172,3469,2975,3465,3196,2753,2715,1382, - 0,2609,2605,4738,4731,4685,2245,2158,4680,619, - 4666,4662,4655,4597,4580,3113,3351,3281,4441,3204, - 4813,2979,2789,2632,2241,4383,3571,2154,4809,2869, - 4756,3656,2736,4172,3469,2975,650,3465,3196,2753, - 4243,597,2744,2715,1382,2556,1327,740,631,2616, - 3074,3484,4287,4065,2490,4274,4051,4513,2817,3152, - 603,2722,584,4307,2701,2536,2323,951,806,4028, - 1100,2289,2370,2337,2461,2432,2402,2936,2909,2673, - 2645,2575,2503,3774,3750,3726,3170,3087,4005,3982, - 3959,3936,3913,3890,3867,3844,3821,3798,2837,4078, - 2033,2250,2202,2163,2115,2076,1387,1339,1240,1284, - 892,1990,1057,833,752,693,539,1947,1904,1861, - 1818,1775,1732,1689,1646,1603,1560,1517,1474,1431, - 1197,1013,969,1153,0 + 4724,4828,4823,4805,0,4233,4211,4066,3234,0, + 3652,3595,3513,3410,3372,3334,3296,3258,3220,3000, + 2962,3505,0,3416,0,2102,1190,875,0,3130, + 2570,0,3652,3595,1983,1897,3513,3410,3372,3334, + 3296,3258,1811,3220,3000,2962,1553,1467,0,4747, + 3120,4691,0,4205,3261,0,3538,740,0,4515, + 4309,0,4276,4515,2819,3154,4309,3076,3486,4289, + 4067,2492,4053,605,2724,586,2703,0,747,746, + 0,4541,4531,0,4541,4531,4189,4459,4413,4116, + 4401,4355,4102,4343,3652,3595,3513,3410,3372,3334, + 3296,3258,3220,3000,2962,0,4541,4531,4189,4459, + 4413,4116,4401,4355,4102,4343,0,2770,2750,0, + 2492,4276,3531,2819,3154,4557,2724,2716,3451,3379, + 4547,3146,878,879,734,0,2200,1946,969,934, + 3154,3146,3076,586,2703,2965,2810,0,953,808, + 0,789,0,4245,541,2746,0,4740,4733,4687, + 4682,4668,4664,4657,4599,4582,4443,4815,4385,3573, + 4811,4758,4174,3471,2977,3467,3198,2755,2717,1384, + 0,2611,2607,4740,4733,4687,2247,2160,4682,621, + 4668,4664,4657,4599,4582,3115,3353,3283,4443,3206, + 4815,2981,2791,2634,2243,4385,3573,2156,4811,2871, + 4758,3658,2738,4174,3471,2977,652,3467,3198,2755, + 4245,599,2746,2717,1384,2558,1329,742,633,2618, + 3076,3486,4289,4067,2492,4276,4053,4515,2819,3154, + 605,2724,586,4309,2703,2538,2325,953,808,4030, + 1102,2291,2372,2339,2463,2434,2404,2938,2911,2675, + 2647,2577,2505,3776,3752,3728,3172,3089,4007,3984, + 3961,3938,3915,3892,3869,3846,3823,3800,2839,4080, + 2035,2252,2204,2165,2117,2078,1389,1341,1242,1286, + 894,1992,1059,835,754,695,541,1949,1906,1863, + 1820,1777,1734,1691,1648,1605,1562,1519,1476,1433, + 1199,1015,971,1155,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -2348,11 +2349,11 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 147,150,149,153,151,155,154,158,60,159, 69,3,55,55,55,55,127,3,55,55, 168,126,63,3,65,66,55,5,162,65, - 66,167,166,124,3,123,125,105,119,3, + 66,167,166,124,3,123,125,106,119,3, 63,89,91,26,25,93,92,6,95,94, 68,55,87,88,9,97,96,99,98,100, - 116,115,114,113,112,111,110,109,108,107, - 70,106,101,180,162,168,126,180,180,180, + 117,116,115,114,113,112,111,110,109,108, + 70,107,101,180,162,168,126,180,180,180, 180,167,218,126,126,126,270,271,253,272, 242,273,56,274,275,10,127,63,63,126, 124,63,299,3,188,4,180,48,127,48, @@ -2390,7 +2391,7 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 70,126,303,79,77,1,162,8,85,83, 81,80,75,82,84,78,76,59,74,218, 179,179,322,220,235,152,165,252,179,225, - 297,285,118,8,72,213,72,3,3,3, + 297,285,102,8,72,213,72,3,3,3, 191,3,123,162,123,178,69,126,126,165, 225,68,3,72,224,168,224,305,146,75, 224,126,126,40,90,321,168,156,199,156, @@ -2673,18 +2674,18 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public final static int NUM_STATES = 544, NT_OFFSET = 122, - LA_STATE_OFFSET = 5975, + LA_STATE_OFFSET = 5982, MAX_LA = 2147483647, - NUM_RULES = 538, + NUM_RULES = 540, NUM_NONTERMINALS = 204, NUM_SYMBOLS = 326, SEGMENT_SIZE = 8192, - START_STATE = 643, + START_STATE = 645, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 120, EOLT_SYMBOL = 120, - ACCEPT_ACTION = 5072, - ERROR_ACTION = 5437; + ACCEPT_ACTION = 5074, + ERROR_ACTION = 5442; public final static boolean BACKTRACK = true; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParsersym.java index 4c93f90fa4b..ae4edf27c8a 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParsersym.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParsersym.java @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 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 @@ -20,7 +20,7 @@ public interface CPPNoCastExpressionParsersym { TK_bool = 11, TK_break = 76, TK_case = 77, - TK_catch = 118, + TK_catch = 102, TK_char = 12, TK_class = 40, TK_const = 23, @@ -49,9 +49,9 @@ public interface CPPNoCastExpressionParsersym { TK_namespace = 59, TK_new = 66, TK_operator = 7, - TK_private = 102, - TK_protected = 103, - TK_public = 104, + TK_private = 103, + TK_protected = 104, + TK_public = 105, TK_register = 34, TK_reinterpret_cast = 45, TK_return = 84, @@ -90,7 +90,7 @@ public interface CPPNoCastExpressionParsersym { TK_LeftParen = 3, TK_Dot = 119, TK_DotStar = 91, - TK_Arrow = 105, + TK_Arrow = 106, TK_ArrowStar = 89, TK_PlusPlus = 37, TK_MinusMinus = 38, @@ -114,23 +114,23 @@ public interface CPPNoCastExpressionParsersym { TK_Or = 99, TK_AndAnd = 100, TK_OrOr = 101, - TK_Question = 106, + TK_Question = 107, TK_Colon = 72, TK_ColonColon = 4, TK_DotDotDot = 90, TK_Assign = 70, - TK_StarAssign = 107, - TK_SlashAssign = 108, - TK_PercentAssign = 109, - TK_PlusAssign = 110, - TK_MinusAssign = 111, - TK_RightShiftAssign = 112, - TK_LeftShiftAssign = 113, - TK_AndAssign = 114, - TK_CaretAssign = 115, - TK_OrAssign = 116, + TK_StarAssign = 108, + TK_SlashAssign = 109, + TK_PercentAssign = 110, + TK_PlusAssign = 111, + TK_MinusAssign = 112, + TK_RightShiftAssign = 113, + TK_LeftShiftAssign = 114, + TK_AndAssign = 115, + TK_CaretAssign = 116, + TK_OrAssign = 117, TK_Comma = 69, - TK_RightBracket = 117, + TK_RightBracket = 118, TK_RightParen = 73, TK_RightBrace = 71, TK_SemiColon = 27, @@ -241,6 +241,7 @@ public interface CPPNoCastExpressionParsersym { "Or", "AndAnd", "OrOr", + "catch", "private", "protected", "public", @@ -257,7 +258,6 @@ public interface CPPNoCastExpressionParsersym { "CaretAssign", "OrAssign", "RightBracket", - "catch", "Dot", "EOF_TOKEN", "else", diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParser.java index 58826947581..8e5bdf65922 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParser.java @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 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 @@ -1003,919 +1003,931 @@ public CPPNoFunctionDeclaratorParser(ITokenStream stream, Map<String,String> pro // // Rule 193: iteration_statement ::= do statement while ( expression ) ; // - case 193: { action. consumeStatementDoLoop(); break; + case 193: { action. consumeStatementDoLoop(true); break; } // - // Rule 194: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement + // Rule 194: iteration_statement ::= do statement // - case 194: { action. consumeStatementForLoop(); break; + case 194: { action. consumeStatementDoLoop(false); break; } // - // Rule 196: for_init_statement ::= simple_declaration_with_declspec + // Rule 195: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement // - case 196: { action. consumeStatementDeclaration(); break; + case 195: { action. consumeStatementForLoop(); break; } // - // Rule 197: jump_statement ::= break ; + // Rule 197: for_init_statement ::= simple_declaration_with_declspec // - case 197: { action. consumeStatementBreak(); break; + case 197: { action. consumeStatementDeclaration(); break; } // - // Rule 198: jump_statement ::= continue ; + // Rule 198: jump_statement ::= break ; // - case 198: { action. consumeStatementContinue(); break; + case 198: { action. consumeStatementBreak(); break; } // - // Rule 199: jump_statement ::= return expression ; + // Rule 199: jump_statement ::= continue ; // - case 199: { action. consumeStatementReturn(true); break; + case 199: { action. consumeStatementContinue(); break; } // - // Rule 200: jump_statement ::= return ; + // Rule 200: jump_statement ::= return expression ; // - case 200: { action. consumeStatementReturn(false); break; + case 200: { action. consumeStatementReturn(true); break; } // - // Rule 201: jump_statement ::= goto identifier_token ; + // Rule 201: jump_statement ::= return ; // - case 201: { action. consumeStatementGoto(); break; + case 201: { action. consumeStatementReturn(false); break; } // - // Rule 202: declaration_statement ::= block_declaration + // Rule 202: jump_statement ::= goto identifier_token ; // - case 202: { action. consumeStatementDeclarationWithDisambiguation(); break; + case 202: { action. consumeStatementGoto(); break; } // - // Rule 203: declaration_statement ::= function_definition + // Rule 203: declaration_statement ::= block_declaration // - case 203: { action. consumeStatementDeclaration(); break; + case 203: { action. consumeStatementDeclarationWithDisambiguation(); break; } // - // Rule 211: declaration ::= ERROR_TOKEN + // Rule 204: declaration_statement ::= function_definition // - case 211: { action. consumeDeclarationProblem(); break; + case 204: { action. consumeStatementDeclaration(); break; } // - // Rule 221: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ; + // Rule 212: declaration ::= ERROR_TOKEN // - case 221: { action. consumeDeclarationSimple(true); break; + case 212: { action. consumeDeclarationProblem(); break; } // - // Rule 222: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ; + // Rule 222: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ; // case 222: { action. consumeDeclarationSimple(true); break; } // - // Rule 223: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers + // Rule 223: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ; // - case 223: { action. consumeDeclarationSpecifiersSimple(); break; + case 223: { action. consumeDeclarationSimple(true); break; } // - // Rule 224: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers + // Rule 224: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers // - case 224: { action. consumeDeclarationSpecifiersComposite(); break; + case 224: { action. consumeDeclarationSpecifiersSimple(); break; } // - // Rule 225: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers + // Rule 225: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers // case 225: { action. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 226: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers + // Rule 226: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers // case 226: { action. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 227: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers + // Rule 227: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers // - case 227: { action. consumeDeclarationSpecifiersTypeName(); break; + case 227: { action. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 229: declaration_specifiers_opt ::= $Empty + // Rule 228: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers // - case 229: { action. consumeEmpty(); break; + case 228: { action. consumeDeclarationSpecifiersTypeName(); break; } // - // Rule 233: no_type_declaration_specifier ::= friend + // Rule 230: declaration_specifiers_opt ::= $Empty // - case 233: { action. consumeToken(); break; + case 230: { action. consumeEmpty(); break; } // - // Rule 234: no_type_declaration_specifier ::= typedef + // Rule 234: no_type_declaration_specifier ::= friend // case 234: { action. consumeToken(); break; } // - // Rule 254: storage_class_specifier ::= auto + // Rule 235: no_type_declaration_specifier ::= typedef // - case 254: { action. consumeToken(); break; + case 235: { action. consumeToken(); break; } // - // Rule 255: storage_class_specifier ::= register + // Rule 255: storage_class_specifier ::= auto // case 255: { action. consumeToken(); break; } // - // Rule 256: storage_class_specifier ::= static + // Rule 256: storage_class_specifier ::= register // case 256: { action. consumeToken(); break; } // - // Rule 257: storage_class_specifier ::= extern + // Rule 257: storage_class_specifier ::= static // case 257: { action. consumeToken(); break; } // - // Rule 258: storage_class_specifier ::= mutable + // Rule 258: storage_class_specifier ::= extern // case 258: { action. consumeToken(); break; } // - // Rule 259: function_specifier ::= inline + // Rule 259: storage_class_specifier ::= mutable // case 259: { action. consumeToken(); break; } // - // Rule 260: function_specifier ::= virtual + // Rule 260: function_specifier ::= inline // case 260: { action. consumeToken(); break; } // - // Rule 261: function_specifier ::= explicit + // Rule 261: function_specifier ::= virtual // case 261: { action. consumeToken(); break; } // - // Rule 262: simple_type_specifier ::= simple_type_specifier_token + // Rule 262: function_specifier ::= explicit // case 262: { action. consumeToken(); break; } // - // Rule 276: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name + // Rule 263: simple_type_specifier ::= simple_type_specifier_token // - case 276: { action. consumeQualifiedId(false); break; + case 263: { action. consumeToken(); break; } // - // Rule 277: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name + // Rule 277: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name // case 277: { action. consumeQualifiedId(false); break; } // - // Rule 278: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name + // Rule 278: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name // case 278: { action. consumeQualifiedId(false); break; } // - // Rule 279: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name + // Rule 279: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name // - case 279: { action. consumeQualifiedId(true); break; + case 279: { action. consumeQualifiedId(false); break; } // - // Rule 281: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name + // Rule 280: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name // - case 281: { action. consumeTypeSpecifierElaborated(false); break; + case 280: { action. consumeQualifiedId(true); break; } // - // Rule 282: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt template_opt template_id_name + // Rule 282: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name // - case 282: { action. consumeTypeSpecifierElaborated(true); break; + case 282: { action. consumeTypeSpecifierElaborated(false); break; } // - // Rule 283: elaborated_type_specifier ::= enum elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name + // Rule 283: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt template_opt template_id_name // - case 283: { action. consumeTypeSpecifierElaborated(false); break; + case 283: { action. consumeTypeSpecifierElaborated(true); break; } // - // Rule 287: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 284: elaborated_type_specifier ::= enum elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name // - case 287: { action. consumeTypeSpecifierEnumeration(false); break; + case 284: { action. consumeTypeSpecifierElaborated(false); break; } // - // Rule 288: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 288: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } // - case 288: { action. consumeTypeSpecifierEnumeration(true); break; + case 288: { action. consumeTypeSpecifierEnumeration(false); break; } // - // Rule 294: enumerator_definition ::= identifier_token + // Rule 289: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } // - case 294: { action. consumeEnumerator(false); break; + case 289: { action. consumeTypeSpecifierEnumeration(true); break; } // - // Rule 295: enumerator_definition ::= identifier_token = constant_expression + // Rule 295: enumerator_definition ::= identifier_token // - case 295: { action. consumeEnumerator(true); break; + case 295: { action. consumeEnumerator(false); break; } // - // Rule 297: namespace_definition ::= namespace namespace_name namespace_definition_hook { <openscope-ast> declaration_seq_opt } + // Rule 296: enumerator_definition ::= identifier_token = constant_expression // - case 297: { action. consumeNamespaceDefinition(true); break; + case 296: { action. consumeEnumerator(true); break; } // - // Rule 298: namespace_definition ::= namespace namespace_definition_hook { <openscope-ast> declaration_seq_opt } + // Rule 298: namespace_definition ::= namespace namespace_name namespace_definition_hook { <openscope-ast> declaration_seq_opt } // - case 298: { action. consumeNamespaceDefinition(false); break; + case 298: { action. consumeNamespaceDefinition(true); break; } // - // Rule 300: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 299: namespace_definition ::= namespace namespace_definition_hook { <openscope-ast> declaration_seq_opt } // - case 300: { action. consumeNamespaceAliasDefinition(); break; + case 299: { action. consumeNamespaceDefinition(false); break; } // - // Rule 301: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; + // Rule 301: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ; // - case 301: { action. consumeUsingDeclaration(); break; + case 301: { action. consumeNamespaceAliasDefinition(); break; } // - // Rule 302: typename_opt ::= typename + // Rule 302: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; // - case 302: { action. consumePlaceHolder(); break; + case 302: { action. consumeUsingDeclaration(); break; } // - // Rule 303: typename_opt ::= $Empty + // Rule 303: typename_opt ::= typename // - case 303: { action. consumeEmpty(); break; + case 303: { action. consumePlaceHolder(); break; } // - // Rule 304: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 304: typename_opt ::= $Empty // - case 304: { action. consumeUsingDirective(); break; + case 304: { action. consumeEmpty(); break; } // - // Rule 305: asm_definition ::= asm ( stringlit ) ; + // Rule 305: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; // - case 305: { action. consumeDeclarationASM(); break; + case 305: { action. consumeUsingDirective(); break; } // - // Rule 306: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt } + // Rule 306: asm_definition ::= asm ( stringlit ) ; // - case 306: { action. consumeLinkageSpecification(); break; + case 306: { action. consumeDeclarationASM(); break; } // - // Rule 307: linkage_specification ::= extern stringlit <openscope-ast> declaration + // Rule 307: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt } // case 307: { action. consumeLinkageSpecification(); break; } // - // Rule 313: init_declarator ::= complete_declarator initializer + // Rule 308: linkage_specification ::= extern stringlit <openscope-ast> declaration // - case 313: { action. consumeDeclaratorWithInitializer(true); break; + case 308: { action. consumeLinkageSpecification(); break; } // - // Rule 316: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator + // Rule 314: init_declarator ::= complete_declarator initializer // - case 316: { action. consumeDeclaratorWithPointer(true); break; + case 314: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 318: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator + // Rule 317: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator // - case 318: { action. consumeDeclaratorWithPointer(true); break; + case 317: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 321: basic_direct_declarator ::= declarator_id_name + // Rule 319: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator // - case 321: { action. consumeDirectDeclaratorIdentifier(); break; + case 319: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 322: basic_direct_declarator ::= ( declarator ) + // Rule 322: basic_direct_declarator ::= declarator_id_name // - case 322: { action. consumeDirectDeclaratorBracketed(); break; + case 322: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 323: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 323: basic_direct_declarator ::= ( declarator ) // - case 323: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; + case 323: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 324: array_direct_declarator ::= array_direct_declarator array_modifier + // Rule 324: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 324: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 324: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 325: array_direct_declarator ::= basic_direct_declarator array_modifier + // Rule 325: array_direct_declarator ::= array_direct_declarator array_modifier // case 325: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 326: array_modifier ::= [ constant_expression ] + // Rule 326: array_direct_declarator ::= basic_direct_declarator array_modifier // - case 326: { action. consumeDirectDeclaratorArrayModifier(true); break; + case 326: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 327: array_modifier ::= [ ] + // Rule 327: array_modifier ::= [ constant_expression ] // - case 327: { action. consumeDirectDeclaratorArrayModifier(false); break; + case 327: { action. consumeDirectDeclaratorArrayModifier(true); break; } // - // Rule 328: ptr_operator ::= pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt + // Rule 328: array_modifier ::= [ ] // - case 328: { action. consumePointer(); break; + case 328: { action. consumeDirectDeclaratorArrayModifier(false); break; } // - // Rule 329: ptr_operator ::= pointer_hook & pointer_hook + // Rule 329: ptr_operator ::= pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt // - case 329: { action. consumeReferenceOperator(); break; + case 329: { action. consumePointer(); break; } // - // Rule 330: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt + // Rule 330: ptr_operator ::= pointer_hook & pointer_hook // - case 330: { action. consumePointerToMember(); break; + case 330: { action. consumeReferenceOperator(); break; } // - // Rule 337: cv_qualifier ::= const + // Rule 331: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt // - case 337: { action. consumeToken(); break; + case 331: { action. consumePointerToMember(); break; } // - // Rule 338: cv_qualifier ::= volatile + // Rule 338: cv_qualifier ::= const // case 338: { action. consumeToken(); break; } // - // Rule 340: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name + // Rule 339: cv_qualifier ::= volatile // - case 340: { action. consumeQualifiedId(false); break; + case 339: { action. consumeToken(); break; } // - // Rule 341: type_id ::= type_specifier_seq + // Rule 341: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name // - case 341: { action. consumeTypeId(false); break; + case 341: { action. consumeQualifiedId(false); break; } // - // Rule 342: type_id ::= type_specifier_seq abstract_declarator + // Rule 342: type_id ::= type_specifier_seq // - case 342: { action. consumeTypeId(true); break; + case 342: { action. consumeTypeId(false); break; } // - // Rule 345: abstract_declarator ::= <openscope-ast> ptr_operator_seq + // Rule 343: type_id ::= type_specifier_seq abstract_declarator // - case 345: { action. consumeDeclaratorWithPointer(false); break; + case 343: { action. consumeTypeId(true); break; } // - // Rule 346: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator + // Rule 346: abstract_declarator ::= <openscope-ast> ptr_operator_seq // - case 346: { action. consumeDeclaratorWithPointer(true); break; + case 346: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 350: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 347: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator // - case 350: { action. consumeDirectDeclaratorBracketed(); break; + case 347: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 351: basic_direct_abstract_declarator ::= ( ) + // Rule 351: basic_direct_abstract_declarator ::= ( abstract_declarator ) // - case 351: { action. consumeAbstractDeclaratorEmpty(); break; + case 351: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 352: array_direct_abstract_declarator ::= array_modifier + // Rule 352: basic_direct_abstract_declarator ::= ( ) // - case 352: { action. consumeDirectDeclaratorArrayDeclarator(false); break; + case 352: { action. consumeAbstractDeclaratorEmpty(); break; } // - // Rule 353: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier + // Rule 353: array_direct_abstract_declarator ::= array_modifier // - case 353: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 353: { action. consumeDirectDeclaratorArrayDeclarator(false); break; } // - // Rule 354: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier + // Rule 354: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier // case 354: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 355: 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 355: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier // - case 355: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; + case 355: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 356: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 356: 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 356: { action. consumeDirectDeclaratorFunctionDeclarator(false); break; + case 356: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 357: parameter_declaration_clause ::= parameter_declaration_list_opt ... + // Rule 357: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 357: { action. consumePlaceHolder(); break; + case 357: { action. consumeDirectDeclaratorFunctionDeclarator(false); break; } // - // Rule 358: parameter_declaration_clause ::= parameter_declaration_list_opt + // Rule 358: parameter_declaration_clause ::= parameter_declaration_list_opt ... // - case 358: { action. consumeEmpty(); break; + case 358: { action. consumePlaceHolder(); break; } // - // Rule 359: parameter_declaration_clause ::= parameter_declaration_list , ... + // Rule 359: parameter_declaration_clause ::= parameter_declaration_list_opt // - case 359: { action. consumePlaceHolder(); break; + case 359: { action. consumeEmpty(); break; } // - // Rule 365: abstract_declarator_opt ::= $Empty + // Rule 360: parameter_declaration_clause ::= parameter_declaration_list , ... // - case 365: { action. consumeEmpty(); break; + case 360: { action. consumePlaceHolder(); break; } // - // Rule 366: parameter_declaration ::= declaration_specifiers parameter_init_declarator + // Rule 366: abstract_declarator_opt ::= $Empty // - case 366: { action. consumeParameterDeclaration(); break; + case 366: { action. consumeEmpty(); break; } // - // Rule 367: parameter_declaration ::= declaration_specifiers + // Rule 367: parameter_declaration ::= declaration_specifiers parameter_init_declarator // - case 367: { action. consumeParameterDeclarationWithoutDeclarator(); break; + case 367: { action. consumeParameterDeclaration(); break; } // - // Rule 369: parameter_init_declarator ::= declarator = parameter_initializer + // Rule 368: parameter_declaration ::= declaration_specifiers // - case 369: { action. consumeDeclaratorWithInitializer(true); break; + case 368: { action. consumeParameterDeclarationWithoutDeclarator(); break; } // - // Rule 371: parameter_init_declarator ::= abstract_declarator = parameter_initializer + // Rule 370: parameter_init_declarator ::= declarator = parameter_initializer // - case 371: { action. consumeDeclaratorWithInitializer(true); break; + case 370: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 372: parameter_init_declarator ::= = parameter_initializer + // Rule 372: parameter_init_declarator ::= abstract_declarator = parameter_initializer // - case 372: { action. consumeDeclaratorWithInitializer(false); break; + case 372: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 373: parameter_initializer ::= assignment_expression + // Rule 373: parameter_init_declarator ::= = parameter_initializer // - case 373: { action. consumeInitializer(); break; + case 373: { action. consumeDeclaratorWithInitializer(false); break; } // - // Rule 374: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body + // Rule 374: parameter_initializer ::= assignment_expression // - case 374: { action. consumeFunctionDefinition(false); break; + case 374: { action. consumeInitializer(); break; } // - // Rule 375: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq + // Rule 375: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body // - case 375: { action. consumeFunctionDefinition(true); break; + case 375: { action. consumeFunctionDefinition(false); break; } // - // Rule 378: initializer ::= ( expression_list ) + // Rule 376: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq // - case 378: { action. consumeInitializerConstructor(); break; + case 376: { action. consumeFunctionDefinition(true); break; } // - // Rule 379: initializer_clause ::= assignment_expression + // Rule 379: initializer ::= ( expression_list ) // - case 379: { action. consumeInitializer(); break; + case 379: { action. consumeInitializerConstructor(); break; } // - // Rule 381: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq , } end_initializer_list + // Rule 380: initializer_clause ::= assignment_expression // - case 381: { action. consumeInitializerList(); break; + case 380: { action. consumeInitializer(); break; } // - // Rule 382: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq } end_initializer_list + // Rule 382: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq , } end_initializer_list // case 382: { action. consumeInitializerList(); break; } // - // Rule 383: initializer_list ::= { <openscope-ast> } + // Rule 383: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq } end_initializer_list // case 383: { action. consumeInitializerList(); break; } // - // Rule 384: start_initializer_list ::= $Empty + // Rule 384: initializer_list ::= { <openscope-ast> } // - case 384: { action. initializerListStart(); break; + case 384: { action. consumeInitializerList(); break; } // - // Rule 385: end_initializer_list ::= $Empty + // Rule 385: start_initializer_list ::= $Empty // - case 385: { action. initializerListEnd(); break; + case 385: { action. initializerListStart(); break; } // - // Rule 390: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt } + // Rule 386: end_initializer_list ::= $Empty // - case 390: { action. consumeClassSpecifier(); break; + case 386: { action. initializerListEnd(); break; } // - // Rule 391: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 391: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt } // - case 391: { action. consumeClassHead(false); break; + case 391: { action. consumeClassSpecifier(); break; } // - // Rule 392: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 392: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook <openscope-ast> base_clause_opt // case 392: { action. consumeClassHead(false); break; } // - // Rule 393: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 393: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt // - case 393: { action. consumeClassHead(true); break; + case 393: { action. consumeClassHead(false); break; } // - // Rule 394: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 394: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook <openscope-ast> base_clause_opt // case 394: { action. consumeClassHead(true); break; } // - // Rule 398: identifier_name_opt ::= $Empty + // Rule 395: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt // - case 398: { action. consumeEmpty(); break; - } + case 395: { action. consumeClassHead(true); break; + } // - // Rule 402: visibility_label ::= access_specifier_keyword : + // Rule 399: identifier_name_opt ::= $Empty // - case 402: { action. consumeVisibilityLabel(); break; - } + case 399: { action. consumeEmpty(); break; + } // - // Rule 403: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ; + // Rule 403: visibility_label ::= access_specifier_keyword : // - case 403: { action. consumeDeclarationSimple(true); break; + case 403: { action. consumeVisibilityLabel(); break; } // - // Rule 404: member_declaration ::= declaration_specifiers_opt ; + // Rule 404: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ; // - case 404: { action. consumeDeclarationSimple(false); break; + case 404: { action. consumeDeclarationSimple(true); break; } // - // Rule 407: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ; + // Rule 405: member_declaration ::= declaration_specifiers_opt ; // - case 407: { action. consumeMemberDeclarationQualifiedId(); break; + case 405: { action. consumeDeclarationSimple(false); break; } // - // Rule 413: member_declaration ::= ERROR_TOKEN + // Rule 408: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ; // - case 413: { action. consumeDeclarationProblem(); break; + case 408: { action. consumeMemberDeclarationQualifiedId(); break; } // - // Rule 422: member_declarator ::= declarator constant_initializer + // Rule 414: member_declaration ::= ERROR_TOKEN // - case 422: { action. consumeMemberDeclaratorWithInitializer(); break; + case 414: { action. consumeDeclarationProblem(); break; } // - // Rule 423: member_declarator ::= bit_field_declarator : constant_expression + // Rule 423: member_declarator ::= declarator constant_initializer // - case 423: { action. consumeBitField(true); break; + case 423: { action. consumeMemberDeclaratorWithInitializer(); break; } // - // Rule 424: member_declarator ::= : constant_expression + // Rule 424: member_declarator ::= bit_field_declarator : constant_expression // - case 424: { action. consumeBitField(false); break; + case 424: { action. consumeBitField(true); break; } // - // Rule 425: bit_field_declarator ::= identifier_name + // Rule 425: member_declarator ::= : constant_expression // - case 425: { action. consumeDirectDeclaratorIdentifier(); break; + case 425: { action. consumeBitField(false); break; } // - // Rule 426: constant_initializer ::= = constant_expression + // Rule 426: bit_field_declarator ::= identifier_name // - case 426: { action. consumeInitializer(); break; + case 426: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 432: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name + // Rule 427: constant_initializer ::= = constant_expression // - case 432: { action. consumeBaseSpecifier(false, false); break; + case 427: { action. consumeInitializer(); break; } // - // Rule 433: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name + // Rule 433: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name // - case 433: { action. consumeBaseSpecifier(true, true); break; + case 433: { action. consumeBaseSpecifier(false, false); break; } // - // Rule 434: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name + // Rule 434: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name // case 434: { action. consumeBaseSpecifier(true, true); break; } // - // Rule 435: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name + // Rule 435: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name // - case 435: { action. consumeBaseSpecifier(true, false); break; + case 435: { action. consumeBaseSpecifier(true, true); break; } // - // Rule 436: access_specifier_keyword ::= private + // Rule 436: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name // - case 436: { action. consumeToken(); break; + case 436: { action. consumeBaseSpecifier(true, false); break; } // - // Rule 437: access_specifier_keyword ::= protected + // Rule 437: access_specifier_keyword ::= private // case 437: { action. consumeToken(); break; } // - // Rule 438: access_specifier_keyword ::= public + // Rule 438: access_specifier_keyword ::= protected // case 438: { action. consumeToken(); break; } // - // Rule 440: access_specifier_keyword_opt ::= $Empty + // Rule 439: access_specifier_keyword ::= public + // + case 439: { action. consumeToken(); break; + } + + // + // Rule 441: access_specifier_keyword_opt ::= $Empty + // + case 441: { action. consumeEmpty(); break; + } + + // + // Rule 443: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt > // - case 440: { action. consumeEmpty(); break; + case 443: { action. consumeTemplateId(); break; } // - // Rule 442: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt > + // Rule 444: conversion_function_id ::= operator conversion_type_id // - case 442: { action. consumeTemplateId(); break; + case 444: { action. consumeConversionName(); break; } // - // Rule 443: conversion_function_id ::= operator conversion_type_id + // Rule 445: conversion_type_id ::= type_specifier_seq conversion_declarator // - case 443: { action. consumeConversionName(); break; + case 445: { action. consumeTypeId(true); break; } // - // Rule 444: conversion_type_id ::= type_specifier_seq conversion_declarator + // Rule 446: conversion_type_id ::= type_specifier_seq // - case 444: { action. consumeTypeId(true); break; + case 446: { action. consumeTypeId(false); break; } // - // Rule 445: conversion_type_id ::= type_specifier_seq + // Rule 447: conversion_declarator ::= <openscope-ast> ptr_operator_seq // - case 445: { action. consumeTypeId(false); break; + case 447: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 446: conversion_declarator ::= <openscope-ast> ptr_operator_seq + // Rule 453: mem_initializer ::= mem_initializer_name ( expression_list_opt ) // - case 446: { action. consumeDeclaratorWithPointer(false); break; + case 453: { action. consumeConstructorChainInitializer(); break; } // - // Rule 452: mem_initializer ::= mem_initializer_name ( expression_list_opt ) + // Rule 454: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name // - case 452: { action. consumeConstructorChainInitializer(); break; + case 454: { action. consumeQualifiedId(false); break; } // - // Rule 453: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name + // Rule 457: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt > // - case 453: { action. consumeQualifiedId(false); break; + case 457: { action. consumeTemplateId(); break; } // - // Rule 456: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt > + // Rule 458: operator_id_name ::= operator overloadable_operator // - case 456: { action. consumeTemplateId(); break; + case 458: { action. consumeOperatorName(); break; } // - // Rule 457: operator_id_name ::= operator overloadable_operator + // Rule 501: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration // - case 457: { action. consumeOperatorName(); break; + case 501: { action. consumeTemplateDeclaration(); break; } // - // Rule 500: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration + // Rule 502: export_opt ::= export // - case 500: { action. consumeTemplateDeclaration(); break; + case 502: { action. consumePlaceHolder(); break; } // - // Rule 501: export_opt ::= export + // Rule 503: export_opt ::= $Empty // - case 501: { action. consumePlaceHolder(); break; + case 503: { action. consumeEmpty(); break; } // - // Rule 502: export_opt ::= $Empty + // Rule 507: template_parameter ::= parameter_declaration // - case 502: { action. consumeEmpty(); break; + case 507: { action. consumeTemplateParamterDeclaration(); break; } // - // Rule 506: template_parameter ::= parameter_declaration + // Rule 508: type_parameter ::= class identifier_name_opt // - case 506: { action. consumeTemplateParamterDeclaration(); break; + case 508: { action. consumeSimpleTypeTemplateParameter(false); break; } // - // Rule 507: type_parameter ::= class identifier_name_opt + // Rule 509: type_parameter ::= class identifier_name_opt = type_id // - case 507: { action. consumeSimpleTypeTemplateParameter(false); break; + case 509: { action. consumeSimpleTypeTemplateParameter(true); break; } // - // Rule 508: type_parameter ::= class identifier_name_opt = type_id + // Rule 510: type_parameter ::= typename identifier_name_opt // - case 508: { action. consumeSimpleTypeTemplateParameter(true); break; + case 510: { action. consumeSimpleTypeTemplateParameter(false); break; } // - // Rule 509: type_parameter ::= typename identifier_name_opt + // Rule 511: type_parameter ::= typename identifier_name_opt = type_id // - case 509: { action. consumeSimpleTypeTemplateParameter(false); break; + case 511: { action. consumeSimpleTypeTemplateParameter(true); break; } // - // Rule 510: type_parameter ::= typename identifier_name_opt = type_id + // Rule 512: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt // - case 510: { action. consumeSimpleTypeTemplateParameter(true); break; + case 512: { action. consumeTemplatedTypeTemplateParameter(false); break; } // - // Rule 511: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt + // Rule 513: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression // - case 511: { action. consumeTemplatedTypeTemplateParameter(false); break; + case 513: { action. consumeTemplatedTypeTemplateParameter(true); break; } // - // Rule 512: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression + // Rule 514: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt > // - case 512: { action. consumeTemplatedTypeTemplateParameter(true); break; + case 514: { action. consumeTemplateId(); break; } // - // Rule 513: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt > + // Rule 519: template_argument ::= assignment_expression // - case 513: { action. consumeTemplateId(); break; + case 519: { action. consumeTemplateArgumentExpression(); break; } // - // Rule 518: template_argument ::= assignment_expression + // Rule 520: template_argument ::= type_id // - case 518: { action. consumeTemplateArgumentExpression(); break; + case 520: { action. consumeTemplateArgumentTypeId(); break; } // - // Rule 519: template_argument ::= type_id + // Rule 521: explicit_instantiation ::= template declaration // - case 519: { action. consumeTemplateArgumentTypeId(); break; + case 521: { action. consumeTemplateExplicitInstantiation(); break; } // - // Rule 520: explicit_instantiation ::= template declaration + // Rule 522: explicit_specialization ::= template < > declaration // - case 520: { action. consumeTemplateExplicitInstantiation(); break; + case 522: { action. consumeTemplateExplicitSpecialization(); break; } // - // Rule 521: explicit_specialization ::= template < > declaration + // Rule 523: try_block ::= try compound_statement <openscope-ast> handler_seq // - case 521: { action. consumeTemplateExplicitSpecialization(); break; + case 523: { action. consumeStatementTryBlock(true); break; } // - // Rule 522: try_block ::= try compound_statement <openscope-ast> handler_seq + // Rule 524: try_block ::= try compound_statement // - case 522: { action. consumeStatementTryBlock(); break; + case 524: { action. consumeStatementTryBlock(false); break; } // - // Rule 525: handler ::= catch ( exception_declaration ) compound_statement + // Rule 527: handler ::= catch ( exception_declaration ) compound_statement // - case 525: { action. consumeStatementCatchHandler(false); break; + case 527: { action. consumeStatementCatchHandler(false); break; } // - // Rule 526: handler ::= catch ( ... ) compound_statement + // Rule 528: handler ::= catch ( ... ) compound_statement // - case 526: { action. consumeStatementCatchHandler(true); break; + case 528: { action. consumeStatementCatchHandler(true); break; } // - // Rule 527: exception_declaration ::= type_specifier_seq <openscope-ast> declarator + // Rule 529: exception_declaration ::= type_specifier_seq <openscope-ast> declarator // - case 527: { action. consumeDeclarationSimple(true); break; + case 529: { action. consumeDeclarationSimple(true); break; } // - // Rule 528: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator + // Rule 530: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator // - case 528: { action. consumeDeclarationSimple(true); break; + case 530: { action. consumeDeclarationSimple(true); break; } // - // Rule 529: exception_declaration ::= type_specifier_seq + // Rule 531: exception_declaration ::= type_specifier_seq // - case 529: { action. consumeDeclarationSimple(false); break; + case 531: { action. consumeDeclarationSimple(false); break; } // - // Rule 531: exception_specification ::= throw ( ) + // Rule 533: exception_specification ::= throw ( ) // - case 531: { action. consumePlaceHolder(); break; + case 533: { action. consumePlaceHolder(); break; } // - // Rule 537: no_function_declarator_start ::= ERROR_TOKEN + // Rule 539: no_function_declarator_start ::= ERROR_TOKEN // - case 537: { action. consumeEmpty(); break; + case 539: { action. consumeEmpty(); break; } diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParserprs.java index db055478e1a..6768db3407b 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParserprs.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParserprs.java @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 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 @@ -56,492 +56,492 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars 0,1,0,1,1,0,1,1,1,1, 1,1,1,1,1,3,4,3,2,1, 4,2,1,2,5,7,5,1,4,1, - 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, + 0,5,7,2,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,1,1,1,1,1,1,1, - 1,1,1,1,1,3,4,4,5,2, - 5,6,5,0,1,0,7,8,0,1, - 3,1,0,1,3,1,7,6,0,7, - 6,1,0,6,5,6,4,1,3,1, - 0,1,2,1,1,3,1,3,1,1, - 1,3,9,2,2,3,2,5,3,7, - 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,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,3,4,4,5, + 2,5,6,5,0,1,0,7,8,0, + 1,3,1,0,1,3,1,7,6,0, + 7,6,1,0,6,5,6,4,1,3, + 1,0,1,2,1,1,3,1,3,1, + 1,1,3,9,2,2,3,2,5,3, + 7,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, + 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,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,-110,0, - 0,0,-259,0,0,0,0,0,0,0, + 1,1,1,1,1,1,1,1,2,2, + 7,1,0,1,3,1,1,2,4,2, + 4,7,9,5,1,3,1,0,1,1, + 2,4,4,2,1,2,5,5,3,3, + 1,4,3,1,0,1,3,1,1,1, + -110,0,0,0,-259,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-338,0,0,0,0,0,0,0,-73, - 0,-276,0,0,0,0,0,-13,-21,0, - 0,0,0,-116,0,0,0,-2,0,0, - 0,0,0,0,0,0,-131,0,0,0, + 0,0,0,-338,0,0,0,0,0,0, + 0,-73,0,-276,0,0,0,0,0,-13, + -21,0,0,0,0,-116,0,0,0,-2, + 0,0,0,0,0,0,0,0,-131,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-10,0,0,0, - -122,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-10,0, + 0,0,-122,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-289,0,0,-117,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-261,0, - 0,-152,-3,0,-397,0,0,0,0,0, - 0,-76,0,0,0,0,0,0,0,0, + 0,0,0,-289,0,0,-117,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -261,0,0,-152,-3,0,-397,0,0,0, + 0,0,0,-76,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-7,0,0,0,0,0, - -249,0,0,0,0,0,-178,0,-4,-78, - -88,0,0,0,0,0,0,0,-14,-77, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-7,0,0,0, + 0,0,-249,0,0,0,0,0,-178,0, + -4,-78,-88,0,0,0,0,0,0,0, + -14,-77,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-8,0,0,0,0,0,0,0, - 0,0,-239,0,0,0,-11,0,-19,0, - 0,0,0,0,0,0,-542,0,0,0, - -27,0,0,0,0,0,0,0,0,-28, - -112,0,0,-158,0,0,0,0,0,-92, + 0,0,0,0,-8,0,0,0,0,0, + 0,0,0,0,-239,0,0,0,-11,0, + -19,0,0,0,0,0,0,0,-542,0, + 0,0,-27,0,0,0,0,0,0,0, + 0,-28,-112,0,0,-158,0,0,0,0, + 0,-92,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-35,0,0,0,-219,0,0,0, + 0,-293,0,0,0,0,0,0,-188,0, + 0,0,0,0,-29,0,0,0,-171,0, + 0,0,-30,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -35,0,0,0,-219,0,0,0,0,-293, - 0,0,0,0,0,0,-188,0,0,0, - 0,0,-29,0,0,0,-171,0,0,0, - -30,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-22, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-22,0,0, + 0,0,0,-222,0,0,0,-274,0,0, + -50,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-222,0,0,0,-274,0,0,-50,0, + 0,0,0,0,0,0,-220,0,0,0, 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, + 0,0,0,0,0,0,0,-25,0,0, + 0,-31,0,0,0,0,-46,0,0,-33, + -15,0,0,0,0,0,0,0,-277,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-25,0,0,0,-31, - 0,0,0,0,-46,0,0,-33,-15,0, - 0,0,0,0,0,0,-277,0,0,0, + 0,0,0,0,0,0,0,0,0,-106, + 0,-34,0,0,0,0,0,-475,0,0, + 0,0,-5,0,0,0,0,0,0,0, + 0,0,0,0,0,-350,0,-223,0,0, + 0,-16,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-41,0,0,0,0,0, + 0,0,-118,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-231,0,0, + 0,-74,-6,0,0,0,-40,0,0,0, + 0,0,0,0,0,0,0,0,-38,0, + 0,0,-42,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-106,0,-34, - 0,0,0,0,0,-475,0,0,0,0, - -5,0,0,0,0,0,0,0,0,0, - 0,0,0,-350,0,-223,0,0,0,-16, + 0,-20,0,0,0,0,0,0,0,0, + 0,0,0,-83,0,0,0,0,-43,0, + 0,-194,0,0,0,-429,0,0,0,0, + 0,0,0,0,0,-362,0,0,0,0, + 0,-325,0,0,0,-81,0,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,-45,0,-75,0,-192,0,0,0, + 0,-90,0,0,-366,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-41,0,0,0,0,0,0,0, - -118,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-231,0,0,0,-74, - -6,0,0,0,-40,0,0,0,0,0, - 0,0,0,0,0,0,-38,0,0,0, - -42,0,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,-83,0,0,0,0,-43,0,0,-194, - 0,0,0,-429,0,0,0,0,0,0, - 0,0,0,-362,0,0,0,0,0,-325, - 0,0,0,-81,0,0,0,0,0,0, + 0,0,0,0,0,-39,0,-47,0,0, + 0,0,0,0,0,0,0,-367,0,0, + 0,-80,0,0,0,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, - -45,0,-75,0,-192,0,0,0,0,-90, - 0,0,-366,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-39,0,-47,0,0,0,0, - 0,0,0,0,0,-367,0,0,0,-80, + -36,0,0,0,-218,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-59,0,0,0,-256,0,0,0,-60, + 0,-238,0,0,0,-61,0,0,0,-98, + -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,-36,0, - 0,0,-218,0,0,0,0,0,0,0, + 0,0,0,-233,0,0,0,0,0,0, + 0,0,0,0,0,-408,0,0,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,0,0,0,0,-59, - 0,0,0,-256,0,0,0,-60,0,-238, - 0,0,0,-61,0,0,0,-98,-70,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-62,0,-389,0,0,0, + 0,0,0,0,0,0,-140,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-233,0,0,0,0,0,0,0,0, - 0,0,0,-408,0,0,0,0,0,0, - 0,-139,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-257, + 0,0,0,0,0,0,0,-99,0,0, + 0,0,0,0,0,-162,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,-62,0,-389,0,0,0,0,0, - 0,0,0,0,-140,0,0,0,0,0, + 0,0,-224,0,0,0,0,0,0,0, + -154,0,-418,0,0,0,0,0,0,-91, + 0,0,-142,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-257,0,0, - 0,0,0,0,0,-99,0,0,0,0, - 0,0,0,-162,0,0,0,-141,0,0, + 0,0,0,0,0,-63,0,0,0,0, + 0,0,0,-159,0,0,0,0,0,0, + 0,-227,-95,0,0,-143,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -224,0,0,0,0,0,0,0,-154,0, - -418,0,0,0,0,0,0,-91,0,0, - -142,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-299,0,-480,0, + 0,0,0,0,0,-343,0,0,-144,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-63,0,0,0,0,0,0, - 0,-159,0,0,0,0,0,0,0,-227, - -95,0,0,-143,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-360,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-64,0,0, + 0,-145,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-299,0,-480,0,0,0, - 0,0,0,-343,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,-360, + 0,0,-316,0,-534,0,-161,0,0,0, + -65,0,0,0,-146,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-64,0,0,0,-145, + 0,0,0,0,0,0,0,-399,0,0, + 0,0,0,0,0,-66,0,0,0,-163, + 0,0,0,-67,0,0,0,-147,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -267,0,0,0,0,0,0,0,-228,0, + -535,0,0,0,0,0,-68,-190,0,0, + -148,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -316,0,-534,0,-161,0,0,0,-65,0, - 0,0,-146,0,0,0,0,0,0,0, + 0,0,0,-268,0,0,0,0,0,0, + 0,-243,0,0,0,0,0,0,0,-69, + -198,0,0,-149,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-399,0,0,0,0, - 0,0,0,-66,0,0,0,-163,0,0, - 0,-67,0,0,0,-147,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-267,0, - 0,0,0,0,0,0,-228,0,-535,0, - 0,0,0,0,-68,-190,0,0,-148,0, + 0,0,0,0,-71,0,-26,0,0,0, + 0,0,-479,0,0,0,-170,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-268,0,0,0,0,0,0,0,-243, - 0,0,0,0,0,0,0,-69,-198,0, - 0,-149,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-96,0,-37, + 0,0,0,0,0,-97,-348,0,0,-254, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-71,0,-26,0,0,0,0,0, - -479,0,0,0,-170,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -115,0,-107,0,-454,0,0,0,-153,-155, + 0,0,-537,0,0,0,-156,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-96,0,-37,0,0, - 0,0,0,-97,-348,0,0,-254,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-248,0,-108,0,0,0,0, + 0,-157,-113,0,0,-351,0,0,0,-313, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-115,0, - -107,0,-454,0,0,0,-153,-155,0,0, - -537,0,0,0,-156,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-255,0,-183,0, + 0,0,0,0,-361,0,0,0,-184,0, 0,0,0,0,0,0,0,0,0,0, - 0,-248,0,-108,0,0,0,0,0,-157, - -113,0,0,-351,0,0,0,-313,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-519,0,0,0,0, + 0,0,0,-390,0,0,-419,0,0,0, + 0,-374,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-255,0,-183,0,0,0, - 0,0,-361,0,0,0,-184,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-269,0,0,0,0,0,0,0, + -392,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-519,0,0,0,0,0,0, - 0,-390,0,0,-419,0,0,0,0,-374, 0,0,0,0,0,0,0,0,0,0, + 0,-270,0,0,0,0,0,0,0,-275, + 0,0,0,-428,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, - -269,0,0,0,0,0,0,0,-392,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-353,0,0,0,-466,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-270, - 0,0,0,0,0,0,0,-275,0,0, - 0,-428,0,0,0,-393,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-166, + 0,0,0,0,0,0,0,-272,0,-167, + 0,0,0,0,0,0,0,0,-168,-447, + 0,0,0,-151,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-377,0,0,0, + 0,0,0,0,0,0,-23,0,-174,0, + 0,-175,-138,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -353,0,0,0,-466,0,0,0,0,0, + 0,0,0,-176,0,-172,0,-136,0,0, + 0,-173,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-166,0,0, - 0,0,0,0,0,-272,0,-167,0,0, - 0,0,0,0,0,0,-168,-447,0,0, - 0,-151,0,0,0,0,0,0,0,0, + -179,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,0,0,-377,0,0,0,0,0, - 0,0,0,0,-23,0,-174,0,0,-175, - -138,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-133,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-176,0,-172,0,-136,0,0,0,-173, + 0,0,0,0,-376,0,0,0,0,0, + 0,-134,0,0,0,-177,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-179,0, - 0,0,0,0,0,0,0,0,-137,0, + 0,0,0,0,-490,0,0,0,0,0, + -135,0,0,0,-185,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-186,0,0,0,0,0,-127, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-133, 0,0,0,0,0,0,0,0,0,0, + 0,0,-388,0,0,0,0,-128,0,0, + 0,-359,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-376,0,0,0,0,0,0,-134, - 0,0,0,-177,0,0,0,0,0,0, + 0,0,0,0,0,-129,0,0,0,-245, 0,0,0,0,0,0,0,0,0,0, - 0,0,-490,0,0,0,0,0,-135,0, - 0,0,-185,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-186,0,0,0,0,0,-127,0,0, + 0,0,0,-130,0,0,0,-187,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-297,0,0,0, + 0,-409,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-24,0,0,0,-199, + 0,-240,-18,0,0,0,0,-304,0,0, + -365,0,-286,0,0,0,0,0,0,0, + 0,0,0,0,0,-253,-94,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -388,0,0,0,0,-128,0,0,0,-359, + 0,-264,0,-303,0,0,0,0,0,-337, + -292,0,-200,0,0,0,0,0,-341,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-334,-307, + 0,0,0,0,0,0,0,0,0,-201, + 0,0,0,0,0,0,-446,0,0,0, + -202,0,-417,0,0,0,0,0,0,-79, + 0,0,-309,0,0,0,0,0,-290,0, + 0,0,0,0,-298,0,-385,0,-387,0, + 0,0,-203,-310,0,0,0,0,0,0, + -204,0,0,0,0,0,0,0,-132,0, + 0,0,-205,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-129,0,0,0,-245,0,0, + 0,0,0,0,0,-305,0,0,0,0, + 0,0,0,0,0,0,0,0,-182,0, + 0,0,0,0,0,0,0,-288,0,0, + -206,0,-328,0,0,0,0,0,0,0, + 0,0,0,0,0,-295,0,0,0,0, + 0,0,0,0,0,0,-230,0,0,-384, + 0,0,-396,0,0,0,0,0,0,0, + -12,0,0,0,0,0,-196,0,0,0, + 0,0,0,0,0,0,0,0,0,-300, + 0,0,-207,0,0,0,0,-445,0,0, + 0,0,-415,0,0,0,-356,0,0,0, + 0,0,0,0,0,0,0,0,-9,-434, + 0,0,0,0,0,0,0,-181,0,-208, + 0,0,0,0,0,0,0,0,-405,-191, + 0,0,-193,0,0,0,0,-209,0,0, + 0,0,0,-498,0,-464,-357,0,0,0, + -532,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-252, + 0,0,0,0,0,0,0,-402,0,-416, + 0,0,0,0,0,0,0,-210,0,-271, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-308,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-130,0,0,0,-187,0,0,0,0, + -123,0,0,0,-211,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-297,0,0,0,0,-409, + 0,0,0,-473,0,0,-401,0,-197,-169, + 0,0,0,-212,0,-213,-394,0,0,-93, + 0,-214,-412,-232,0,0,0,0,0,-241, + -450,0,0,0,0,-72,0,0,0,0, + -215,0,0,0,0,0,0,-482,0,-216, + 0,0,0,0,0,0,0,0,0,-493, + 0,-217,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,-199,0,-240, - -18,0,0,0,0,-304,0,0,-365,0, - -286,0,0,0,0,0,0,0,0,0, - 0,0,0,-253,-94,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-264, - 0,-303,0,0,0,0,0,-337,-292,0, - -200,0,0,0,0,0,-341,0,0,0, + 0,0,0,-225,0,-250,0,0,0,-234, + 0,-89,0,0,0,0,-324,-101,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-334,-307,0,0, - 0,0,0,0,0,0,0,-201,0,0, - 0,0,0,0,-446,0,0,0,-202,0, - -417,0,0,0,0,0,0,-79,0,0, - -309,0,0,0,0,0,-290,0,0,0, - 0,0,-298,0,-385,0,-387,0,0,0, - -203,-310,0,0,0,0,0,0,-204,0, - 0,0,0,0,0,0,-132,0,0,0, - -205,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-495,0,-333,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-305,0,0,0,0,0,0, - 0,0,0,0,0,0,-182,0,0,0, - 0,0,0,0,0,-288,0,0,-206,0, - -328,0,0,0,0,0,0,0,0,0, - 0,0,0,-295,0,0,0,0,0,0, - 0,0,0,0,-230,0,0,-384,0,0, - -396,0,0,0,0,0,0,0,-12,0, - 0,0,0,0,-196,0,0,0,0,0, - 0,0,0,0,0,0,0,-300,0,0, - -207,0,0,0,0,-445,0,0,0,0, - -415,0,0,0,-356,0,0,0,0,0, - 0,0,0,0,0,0,-9,-434,0,0, - 0,0,0,0,0,-181,0,-208,0,0, - 0,0,0,0,0,0,-405,-191,0,0, - -193,0,0,0,0,-209,0,0,0,0, - 0,-498,0,-464,-357,0,0,0,-532,0, + 0,0,0,0,-375,0,0,-235,0,-32, + 0,0,0,0,0,0,0,-160,0,0, + 0,0,-236,0,0,0,0,0,0,-237, + 0,0,0,0,0,-404,0,0,0,0, + 0,-510,0,-260,0,0,-85,-165,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-252,0,0, - 0,0,0,0,0,-402,0,-416,0,0, - 0,0,0,0,0,-210,0,-271,0,0, + -431,0,0,-262,0,-483,0,0,0,-263, + -282,-283,0,-189,0,0,0,-285,-287,-294, + 0,0,0,-439,0,0,-284,0,0,0, + 0,-301,0,0,0,0,0,-525,0,-302, + 0,0,-521,0,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,0,0,0,0,0,0,0,-123,0, - 0,0,-211,0,0,0,0,0,0,0, + 0,-296,0,0,0,-291,0,0,0,-195, + 0,0,0,0,-342,-345,0,0,0,0, + 0,-306,-318,0,0,0,0,-319,0,0, + 0,0,0,-527,0,-314,-82,0,0,-484, 0,0,0,0,0,0,0,0,0,0, - 0,-473,0,0,-401,0,-197,-169,0,0, - 0,-212,0,-213,-394,0,0,-93,0,-214, - -412,-232,0,0,0,0,0,-241,-450,0, - 0,0,0,-72,0,0,0,0,-215,0, - 0,0,0,0,0,-482,0,-216,0,0, - 0,0,0,0,0,0,0,-493,0,-217, + 0,0,0,0,0,0,0,-109,-273,0, + 0,0,-315,-317,0,-226,0,0,0,0, + -326,-102,0,0,0,0,0,-312,0,0, + 0,0,0,-320,0,0,0,0,0,-531, + 0,0,-327,0,0,0,0,-321,0,0, + 0,0,0,0,0,0,0,0,-426,0, + 0,0,0,0,-476,-335,0,0,0,-331, + 0,0,0,0,-339,0,-424,0,0,0, + 0,0,0,0,-340,-347,0,0,0,0, + 0,0,0,0,0,0,0,-352,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-536,0,0,0,0,0, + 0,0,0,0,0,0,0,-124,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-225,0,-250,0,0,0,-234,0,-89, - 0,0,0,0,-324,-101,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-495,0,-333,0,0,0,0, + 0,0,-229,0,0,0,-346,0,0,0, + -363,-355,-330,0,0,0,0,-84,-354,-427, + -86,-543,0,0,0,0,0,0,0,-371, + -370,-437,0,0,0,0,0,0,-364,0, + 0,0,-380,0,0,-379,0,0,-329,0, + 0,0,0,0,-383,0,0,0,0,-395, + 0,0,0,0,0,-410,0,-463,0,0, + 0,0,0,0,0,0,0,-546,0,0, + -403,0,0,-311,0,0,0,0,-423,0, + 0,0,0,0,0,0,0,-411,0,-413, 0,0,0,0,0,0,0,0,0,0, - 0,0,-375,0,0,-235,0,-32,0,0, - 0,0,0,0,0,-160,0,0,0,0, - -236,0,0,0,0,0,0,-237,0,0, - 0,0,0,-404,0,0,0,0,0,-510, - 0,-260,0,0,-85,-165,0,0,0,0, - 0,0,0,0,0,0,0,0,-431,0, - 0,-262,0,-483,0,0,0,-263,-282,-283, - 0,-189,0,0,0,-285,-287,-294,0,0, - 0,-439,0,0,-284,0,0,0,0,-301, - 0,0,0,0,0,-525,0,-302,0,0, - -521,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-296, - 0,0,0,-291,0,0,0,-195,0,0, - 0,0,-342,-345,0,0,0,0,0,-306, - -318,0,0,0,0,-319,0,0,0,0, - 0,-527,0,-314,-82,0,0,-484,0,0, + -509,-400,-414,0,0,0,0,0,-430,-372, + 0,0,0,-433,0,0,0,0,0,0, + 0,0,0,0,0,-420,0,-358,-332,0, + 0,0,0,0,-422,0,0,0,0,0, + 0,0,-125,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-109,-273,0,0,0, - -315,-317,0,-226,0,0,0,0,-326,-102, - 0,0,0,0,0,-312,0,0,0,0, - 0,-320,0,0,0,0,0,-531,0,0, - -327,0,0,0,0,-321,0,0,0,0, - 0,0,0,0,0,0,-426,0,0,0, - 0,0,-476,-335,0,0,0,-331,0,0, - 0,0,-339,0,-424,0,0,0,0,0, - 0,0,-340,-347,0,0,0,0,0,0, - 0,0,0,0,0,-352,0,0,0,0, + 0,0,0,0,0,-518,0,-126,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,-124,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -435,0,-369,0,0,0,-442,0,0,0, + 0,0,0,0,0,-457,-529,0,0,0, + 0,0,0,0,0,0,0,0,0,-443, + 0,-436,-398,0,0,0,-453,0,-481,-1, 0,0,0,0,0,0,0,0,0,0, - -229,0,0,0,-346,0,0,0,-363,-355, - -330,0,0,0,0,-84,-354,-427,-86,-543, - 0,0,0,0,0,0,0,-371,-370,-437, - 0,0,0,0,0,0,-364,0,0,0, - -380,0,0,-379,0,0,-329,0,0,0, - 0,0,-383,0,0,0,0,-395,0,0, - 0,0,0,-410,0,-463,0,0,0,0, - 0,0,0,0,0,-546,0,0,-403,0, - 0,-311,0,0,0,0,-423,0,0,0, - 0,0,0,0,0,-411,0,-413,0,0, - 0,0,0,0,0,0,0,0,-509,-400, - -414,0,0,0,0,0,-430,-372,0,0, - 0,-433,0,0,0,0,0,0,0,0, - 0,0,0,-420,0,-358,-332,0,0,0, - 0,0,-422,0,0,0,0,0,0,0, - -125,0,0,0,0,0,0,0,0,0, + 0,0,0,-465,0,-421,0,0,0,0, + 0,0,0,0,0,0,0,0,-441,-444, + -467,0,0,0,0,0,0,0,0,0, + 0,-378,-119,-449,-468,0,0,0,-477,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-518,0,-126,0,0,0,0, + 0,-478,0,0,0,-469,-322,0,-504,0, + 0,-470,0,0,0,0,-506,-471,-472,0, + 0,0,0,0,-474,-489,-486,0,0,0, + 0,0,0,0,0,0,0,0,0,-491, + 0,-492,0,0,0,-17,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-435,0, - -369,0,0,0,-442,0,0,0,0,0, - 0,0,0,-457,-529,0,0,0,0,0, - 0,0,0,0,0,0,0,-443,0,-436, - -398,0,0,0,-453,0,-481,-1,0,0, + 0,0,0,0,0,0,-488,-511,-501,-513, + -51,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-465,0,-421,0,0,0,0,0,0, - 0,0,0,0,0,0,-441,-444,-467,0, - 0,0,0,0,0,0,0,0,0,-378, - -119,-449,-468,0,0,0,-477,0,0,0, - 0,0,0,0,0,0,0,0,0,-478, - 0,0,0,-469,-322,0,-504,0,0,-470, - 0,0,0,0,-506,-471,-472,0,0,0, - 0,0,-474,-489,-486,0,0,0,0,0, - 0,0,0,0,0,0,0,-491,0,-492, - 0,0,0,-17,0,0,0,0,0,0, + 0,0,0,0,-494,0,0,-499,0,-502, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-488,-511,-501,-513,-51,0, + -503,-52,0,0,0,0,0,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,0,0,0,0,0, - 0,0,-494,0,0,-499,0,-502,0,0, - 0,0,0,0,0,0,0,0,-503,-52, + 0,0,0,0,0,0,0,-54,0,0, + 0,-508,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -55,0,0,0,-516,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,-56,0,0,0,-526,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-54,0,0,0,-508, + 0,0,0,0,0,0,-57,0,0,0, + -533,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-58, + 0,0,0,-538,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-55,0, - 0,0,-516,0,0,0,0,0,0,0, + 0,0,-111,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-56,0,0,0,-526,0,0,0,0, + 0,0,0,0,0,-120,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-57,0,0,0,-533,0, + 0,0,0,0,0,0,0,0,-121,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-58,0,0, - 0,-538,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, + 0,-180,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-120,0,0,0,0,0,0, + 0,0,0,0,-246,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-121,0,0,0, + 0,0,0,0,0,0,0,-391,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-180, + -456,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-507,-505,-150,-539,-407,0, + 0,0,0,-323,-459,0,0,0,-515,-455, + -373,0,0,0,0,-487,0,0,-524,0, + -528,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-540,0,0,0,0, + -517,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-425,0,0,0,-522, + -523,-541,-545,0,0,0,0,0,0,-544, 0,0,0,0,0,0,0,0,0,0, - 0,0,-246,0,0,0,0,0,0,0, + 0,0,0,0,-87,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-391,0,0,0,0, - 0,0,0,0,0,0,0,0,-456,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-507,-505,-150,-539,-407,0,0,0, - 0,-323,-459,0,0,0,-515,-455,-373,0, - 0,0,0,-487,0,0,-524,0,-528,0, + 0,0,0,0,0,0,0,0,-103,0, + 0,0,0,0,0,0,0,-265,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-540,0,0,0,0,-517,0, + -344,0,0,0,0,0,0,0,0,-349, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-425,0,0,0,-522,-523,-541, - -545,0,0,0,0,0,0,-544,0,0, + 0,0,0,0,0,0,0,0,-381,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-87,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-103,0,0,0, - 0,0,0,0,0,-265,0,0,0,0, - 0,0,0,0,0,0,0,0,-344,0, - 0,0,0,0,0,0,0,-349,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-381,0,0,0, + 0,0,0,0,-49,0,0,0,0,0, + -278,-406,-386,-279,0,0,0,0,0,0, + -432,0,0,0,0,0,0,0,0,-440, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,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,-278,-406, - -386,-279,0,0,0,0,0,0,-432,0, - 0,0,0,0,0,0,0,-440,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-512,0,0,0,0,0, + 0,0,0,0,0,0,0,-382,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-221,0,0,0,0,0,0, + 0,-266,0,-242,0,0,0,0,0,0, + 0,0,0,0,0,-368,0,0,0,0, + 0,-104,0,0,0,0,0,0,0,-514, + -448,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,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,-451,0,0,0,0,0,0,0, + 0,0,0,0,-452,0,0,0,0,0, + 0,0,0,0,0,-458,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-512,0,0,0,0,0,0,0, - 0,0,0,0,0,-382,0,0,0,0, + 0,0,0,0,-48,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-221,0,0,0,0,0,0,0,-266, - 0,-242,0,0,0,0,0,0,0,0, - 0,0,0,-368,0,0,0,0,0,-104, - 0,0,0,0,0,0,0,-514,-448,0, + 0,0,0,0,0,0,0,0,-100,0, + 0,0,0,-114,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-105,0,0,0,0,0,0,0, + 0,0,0,-460,0,0,0,0,0,-164, + 0,0,0,0,0,-244,0,0,0,0, + -251,0,0,0,0,0,0,0,0,0, + 0,0,-258,0,0,0,0,0,-485,-496, 0,0,0,0,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,-497,0, + 0,0,0,0,0,0,0,0,-500,0, + 0,0,0,-247,0,0,0,0,0,0, + 0,0,0,0,0,0,-461,0,-462,0, + 0,0,0,-520,0,0,0,0,0,0, + 0,0,0,0,0,0,-280,0,0,0, + 0,0,0,0,0,0,0,-281,0,0, + -336,0,0,-530,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -451,0,0,0,0,0,0,0,0,0, - 0,0,-452,0,0,0,0,0,0,0, - 0,0,0,-458,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-48,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-100,0,0,0, - 0,-114,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -105,0,0,0,0,0,0,0,0,0, - 0,-460,0,0,0,0,0,-164,0,0, - 0,0,0,-244,0,0,0,0,-251,0, 0,0,0,0,0,0,0,0,0,0, - -258,0,0,0,0,0,-485,-496,0,0, 0,0,0,0,0,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,-500,0,0,0, - 0,-247,0,0,0,0,0,0,0,0, - 0,0,0,0,-461,0,-462,0,0,0, - 0,-520,0,0,0,0,0,0,0,0, - 0,0,0,0,-280,0,0,0,0,0, - 0,0,0,0,0,-281,0,0,-336,0, - 0,-530,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,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; @@ -570,529 +570,529 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars 95,95,180,180,90,203,203,68,68,68, 68,68,68,68,68,68,69,69,69,66, 66,57,57,181,181,70,70,70,101,101, - 182,182,71,71,71,183,183,72,72,72, - 72,72,73,73,82,82,82,82,82,82, - 82,82,51,51,51,51,51,117,117,115, - 115,52,184,23,23,23,23,23,49,49, - 85,85,85,85,85,152,152,147,147,147, - 147,147,148,148,148,149,149,149,150,150, - 150,151,151,151,86,86,86,86,86,87, - 87,87,13,14,14,14,14,14,14,14, - 14,14,14,14,96,121,121,121,121,121, - 121,119,119,119,153,154,154,120,120,185, - 156,156,155,155,123,123,102,79,79,124, - 54,48,157,157,55,53,84,84,158,158, - 146,146,104,104,105,75,75,159,159,63, - 63,58,58,160,64,64,76,76,61,61, - 61,50,88,88,98,97,97,62,62,59, - 59,56,56,46,99,99,99,91,91,91, - 92,92,93,93,93,94,94,106,106,106, - 108,108,107,107,204,204,89,89,187,187, - 187,187,187,126,47,47,162,186,186,127, - 127,128,128,128,129,164,188,188,35,35, - 118,130,130,130,130,190,110,109,109,122, - 122,122,165,166,166,166,166,166,166,166, - 166,166,166,166,192,192,189,189,191,191, - 167,168,168,168,168,169,193,112,111,111, - 194,194,170,170,170,170,100,100,100,195, - 195,8,8,9,196,196,197,171,161,161, - 172,172,173,174,174,7,7,10,198,198, + 182,182,71,71,71,71,183,183,72,72, + 72,72,72,73,73,82,82,82,82,82, + 82,82,82,51,51,51,51,51,117,117, + 115,115,52,184,23,23,23,23,23,49, + 49,85,85,85,85,85,152,152,147,147, + 147,147,147,148,148,148,149,149,149,150, + 150,150,151,151,151,86,86,86,86,86, + 87,87,87,13,14,14,14,14,14,14, + 14,14,14,14,14,96,121,121,121,121, + 121,121,119,119,119,153,154,154,120,120, + 185,156,156,155,155,123,123,102,79,79, + 124,54,48,157,157,55,53,84,84,158, + 158,146,146,104,104,105,75,75,159,159, + 63,63,58,58,160,64,64,76,76,61, + 61,61,50,88,88,98,97,97,62,62, + 59,59,56,56,46,99,99,99,91,91, + 91,92,92,93,93,93,94,94,106,106, + 106,108,108,107,107,204,204,89,89,187, + 187,187,187,187,126,47,47,162,186,186, + 127,127,128,128,128,129,164,188,188,35, + 35,118,130,130,130,130,190,110,109,109, + 122,122,122,165,166,166,166,166,166,166, + 166,166,166,166,166,192,192,189,189,191, + 191,167,168,168,168,168,169,193,112,111, + 111,194,194,170,170,170,170,100,100,100, + 195,195,8,8,9,196,196,197,171,161, + 161,172,172,173,174,174,7,7,10,198, 198,198,198,198,198,198,198,198,198,198, 198,198,198,198,198,198,198,198,198,198, 198,198,198,198,198,198,198,198,198,198, 198,198,198,198,198,198,198,198,198,198, - 77,80,80,175,175,132,132,133,133,133, - 133,133,133,3,134,134,131,131,113,113, - 83,78,74,163,163,114,114,199,199,199, - 135,135,125,125,200,200,176,176,103,1119, - 35,2606,2512,1879,3272,27,30,31,783,725, - 26,28,2493,262,25,23,50,1370,106,76, - 77,108,2273,1378,1463,1384,1686,1584,1764,1729, - 135,1815,307,1772,274,1858,1893,143,1179,56, - 158,144,405,692,1687,35,797,32,1354,3328, - 27,30,31,783,725,57,28,3023,35,797, - 32,232,4483,27,30,31,783,725,26,28, - 1286,262,25,23,50,1370,106,76,77,108, - 1987,1378,1463,2948,235,230,231,502,891,883, - 34,3023,35,797,32,275,4483,27,30,31, - 783,725,26,28,1286,262,25,23,50,1370, - 106,76,77,108,324,1378,2648,242,245,248, - 251,1182,2374,35,278,1861,35,797,32,1214, - 3328,27,30,31,783,725,56,28,70,1494, - 35,296,1380,1643,1944,314,2758,1300,3355,3536, - 3539,4333,2250,35,797,32,2644,4483,27,30, - 31,783,725,26,28,1286,262,25,23,50, - 1370,106,76,77,108,343,1378,1463,1384,1686, - 1584,1764,1729,61,1815,1167,1772,3657,1858,1893, - 143,2074,1987,518,144,870,382,2166,3376,1347, - 1347,327,35,280,2651,2651,4818,2675,519,1715, - 2250,35,797,32,2644,4483,27,30,31,783, - 725,26,28,1286,262,25,23,50,1370,106, - 76,77,108,343,1378,1463,1384,1686,1584,1764, - 1729,2908,1815,1452,1772,439,1858,1893,143,799, - 799,518,144,502,35,3270,3376,1894,793,924, - 332,332,1380,1635,60,514,519,2153,35,797, - 32,1990,4829,27,30,31,783,725,26,28, - 2077,1247,512,1988,1946,325,1995,3864,824,2651, - 2250,35,797,32,2644,4483,27,30,31,783, - 725,26,28,1286,262,25,23,50,1370,106, - 76,77,108,343,1378,1463,1384,1686,1584,1764, - 1729,1773,1815,514,1772,737,1858,1893,143,313, - 1347,518,144,793,799,2651,3376,327,35,280, - 3538,2030,4824,1907,1995,333,519,2526,35,797, - 32,1324,4483,27,30,31,783,725,26,28, - 1286,262,25,23,50,1370,106,76,77,108, - 93,1378,1463,1384,1686,1584,1764,1729,56,1815, - 799,1772,750,1858,1893,143,2675,1374,379,144, - 1284,2698,502,35,1842,1799,502,35,283,2968, - 35,797,32,514,4483,27,30,31,783,725, - 26,28,1286,262,25,23,50,1370,86,76, - 77,2278,328,335,1995,2594,35,797,32,2644, - 4483,27,30,31,783,725,26,28,1286,262, - 25,23,50,1370,106,76,77,108,343,1378, - 1463,1384,1686,1584,1764,1729,1010,1815,2958,1772, - 56,1858,1893,143,830,671,518,144,69,56, - 4801,3376,94,1147,386,380,1135,2319,35,797, - 32,519,4483,27,30,31,783,725,26,28, - 1286,262,25,23,50,1370,106,76,77,108, - 1938,1378,1463,1384,1686,1584,1764,1729,2237,1815, - 2169,1772,1147,1858,1893,143,502,3887,379,144, - 1284,1468,35,797,32,739,2889,27,30,31, - 783,725,339,28,2423,1412,142,499,515,160, - 2391,35,797,32,1721,4483,27,30,31,783, - 725,26,28,1286,262,25,23,50,1370,106, - 76,77,108,71,1378,1463,1384,1686,1584,1764, - 1729,2237,1815,403,1772,1147,1858,1893,143,749, - 321,379,144,1284,315,578,502,35,883,277, - 135,1956,35,797,32,1966,1170,41,30,31, - 783,725,160,2389,387,380,1135,2788,35,797, - 32,2493,4483,27,30,31,783,725,26,28, - 1286,262,25,23,50,1370,106,76,77,108, - 1249,1378,1463,1384,1686,1584,1764,1729,1506,1815, - 329,1772,1335,1858,1893,143,2151,2620,158,144, - 2035,35,797,32,160,4829,27,30,31,783, - 725,59,28,322,502,3354,3077,377,380,1135, - 2788,35,797,32,1966,4483,27,30,31,783, - 725,26,28,1286,262,25,23,50,1370,106, - 76,77,108,2623,1378,1463,1384,1686,1584,1764, - 1729,2642,1815,135,1772,56,1858,1893,143,1147, - 1010,373,144,2788,35,797,32,1592,4483,27, - 30,31,783,725,26,28,1286,262,25,23, - 50,1370,106,76,77,108,3154,1378,1463,1384, - 1686,1584,1764,1729,56,1815,931,1772,1388,1858, - 1893,143,1944,1549,373,144,2788,35,797,32, - 1232,4483,27,30,31,783,725,26,28,1286, - 262,25,23,50,1370,106,76,77,108,356, - 1378,1463,1384,1686,1584,1764,1729,291,1815,532, - 1772,461,1858,1893,143,1725,372,373,144,2733, - 35,797,32,135,4483,27,30,31,783,725, - 26,28,1286,262,25,23,50,1370,106,76, - 77,108,232,1378,1463,1384,1686,1584,1764,1729, - 3270,1815,3216,1772,737,1858,1936,164,585,371, - 502,35,883,3269,1509,244,230,231,322,2459, - 35,797,32,2065,4483,27,30,31,783,725, - 26,28,1286,262,25,23,50,1370,106,76, - 77,108,2210,1378,1463,1384,1686,1584,1764,1729, - 327,1815,369,1772,2379,1858,1893,143,4499,1601, - 142,144,2788,35,797,32,1374,4483,27,30, - 31,783,725,26,28,1286,262,25,23,50, - 1370,106,76,77,108,383,1378,1463,1384,1686, - 1584,1764,1729,64,1815,1966,1772,3642,1858,1893, - 143,334,335,155,144,2788,35,797,32,572, - 4483,27,30,31,783,725,26,28,1286,262, - 25,23,50,1370,106,76,77,108,322,1378, - 1463,1384,1686,1584,1764,1729,56,1815,2115,1772, - 887,1858,1893,143,2207,1600,154,144,2788,35, - 797,32,376,4483,27,30,31,783,725,26, - 28,1286,262,25,23,50,1370,106,76,77, - 108,1992,1378,1463,1384,1686,1584,1764,1729,56, - 1815,1966,1772,865,1858,1893,143,1807,1010,153, - 144,2788,35,797,32,390,4483,27,30,31, - 783,725,26,28,1286,262,25,23,50,1370, - 106,76,77,108,3217,1378,1463,1384,1686,1584, - 1764,1729,56,1815,2115,1772,4622,1858,1893,143, - 1966,1010,152,144,2788,35,797,32,376,4483, - 27,30,31,783,725,26,28,1286,262,25, - 23,50,1370,106,76,77,108,374,1378,1463, - 1384,1686,1584,1764,1729,1966,1815,1966,1772,460, - 1858,1893,143,2276,1966,151,144,2788,35,797, - 32,2190,4483,27,30,31,783,725,26,28, - 1286,262,25,23,50,1370,106,76,77,108, - 322,1378,1463,1384,1686,1584,1764,1729,3333,1815, - 2115,1772,326,1858,1893,143,929,3564,150,144, - 2788,35,797,32,3827,4483,27,30,31,783, - 725,26,28,1286,262,25,23,50,1370,106, - 76,77,108,3788,1378,1463,1384,1686,1584,1764, - 1729,307,1815,1966,1772,671,1858,1893,143,1236, - 3384,149,144,2788,35,797,32,287,4483,27, - 30,31,783,725,26,28,1286,262,25,23, - 50,1370,106,76,77,108,322,1378,1463,1384, - 1686,1584,1764,1729,1244,1815,2115,1772,671,1858, - 1893,143,400,3521,148,144,2788,35,797,32, - 526,4483,27,30,31,783,725,26,28,1286, - 262,25,23,50,1370,106,76,77,108,142, - 1378,1463,1384,1686,1584,1764,1729,56,1815,1966, - 1772,3377,1858,1893,143,1378,1010,147,144,2788, - 35,797,32,288,4483,27,30,31,783,725, - 26,28,1286,262,25,23,50,1370,106,76, - 77,108,2665,1378,1463,1384,1686,1584,1764,1729, - 56,1815,2115,1772,2846,1858,1893,143,1498,1010, - 146,144,2788,35,797,32,525,4483,27,30, - 31,783,725,26,28,1286,262,25,23,50, - 1370,106,76,77,108,381,1378,1463,1384,1686, - 1584,1764,1729,1615,1815,1249,1772,4183,1858,1893, - 143,502,3929,145,144,2788,35,797,32,2728, - 4483,27,30,31,783,725,26,28,1286,262, - 25,23,50,1370,106,76,77,108,498,1378, - 1463,1384,1686,1584,1764,1729,49,1815,1249,1772, - 51,1858,1893,143,159,2383,159,144,2788,35, - 797,32,3035,4483,27,30,31,783,725,26, - 28,1286,262,25,23,50,1370,106,76,77, - 108,378,1378,1463,1384,1686,1584,1764,1729,1442, - 1815,1249,1772,160,1858,1893,143,1693,590,140, - 144,2906,35,797,32,1798,4483,27,30,31, - 783,725,26,28,1286,262,25,23,50,1370, - 106,76,77,108,4160,1378,1463,1384,1686,1584, - 1764,1729,56,1815,1249,1772,2699,1858,1893,143, - 848,1686,189,144,3023,35,797,32,2449,4483, - 27,30,31,783,725,26,28,1286,262,25, - 23,50,1370,106,76,77,108,24,1378,1463, - 1384,1686,1584,1764,1729,56,1815,2284,1772,2625, - 1858,1936,164,3023,35,797,32,1328,4483,27, - 30,31,783,725,26,28,1286,262,25,23, - 50,1370,106,76,77,108,2675,1378,1463,1384, - 1686,1584,1764,1729,160,1815,1465,1772,355,1858, - 1936,164,327,35,454,1355,448,3774,532,2916, - 3023,35,797,32,424,4483,27,30,31,783, - 725,26,28,1286,262,25,23,50,1370,106, - 76,77,108,353,1378,1463,1384,1686,1584,1764, - 1729,56,1815,354,1772,2761,1858,1936,164,3023, - 35,797,32,295,4483,27,30,31,783,725, - 26,28,1286,262,25,23,50,1370,106,76, - 77,108,182,1378,1463,1384,1686,1584,1764,1729, - 56,1815,1670,1772,2782,1858,1936,164,502,35, - 883,279,502,35,1050,389,3023,35,797,32, - 3234,4483,27,30,31,783,725,26,28,1286, - 262,25,23,50,1370,106,76,77,108,323, - 1378,1463,1384,1686,1584,1764,1729,432,1815,532, - 1772,2489,1858,1936,164,3078,35,797,32,423, - 4483,27,30,31,783,725,26,28,1286,262, - 25,23,50,1370,106,76,77,108,1860,1378, - 1463,1384,1686,1584,1764,1729,56,1815,1806,1772, - 3396,1858,1936,164,447,3654,3663,1174,502,35, - 1050,389,3023,35,797,32,426,4483,27,30, - 31,783,725,26,28,1286,262,25,23,50, - 1370,106,76,77,108,2359,1378,1463,1384,1686, - 1584,1764,1729,453,1815,1869,1772,2082,3130,740, - 2159,3023,35,797,32,3913,4483,27,30,31, - 783,725,26,28,1286,262,25,23,50,1370, - 106,76,77,108,407,1378,1463,1384,1686,1584, - 1764,1729,2246,1815,1249,3109,3023,35,797,32, - 1249,4483,27,30,31,783,725,26,28,1286, - 262,25,23,50,1370,106,76,77,108,1249, - 1378,1463,1384,1686,1584,1764,1729,69,3084,3023, - 35,797,32,68,4483,27,30,31,783,725, - 26,28,1286,262,25,23,50,1370,106,76, - 77,108,53,1378,1463,1384,1686,1584,1764,3090, - 3023,35,797,32,422,4483,27,30,31,783, - 725,26,28,1286,262,25,23,50,1370,106, - 76,77,108,2273,1378,1463,1384,1686,1584,3016, - 3023,35,797,32,2276,4483,27,30,31,783, - 725,26,28,1286,262,25,23,50,1370,106, - 76,77,108,2034,1378,1463,1384,1686,3053,3023, - 35,797,32,1902,4483,27,30,31,783,725, - 26,28,1286,262,25,23,50,1370,106,76, - 77,108,3297,1378,1463,1384,1686,3082,3023,35, - 797,32,444,4483,27,30,31,783,725,26, - 28,1286,262,25,23,50,1370,106,76,77, - 108,2383,1378,1463,1384,2789,3023,35,797,32, - 2449,4483,27,30,31,783,725,26,28,1286, - 262,25,23,50,1370,106,76,77,108,71, - 1378,1463,1384,2801,3023,35,797,32,2341,4483, - 27,30,31,783,725,26,28,1286,262,25, - 23,50,1370,106,76,77,108,524,1378,1463, - 1384,2849,3023,35,797,32,3223,4483,27,30, - 31,783,725,26,28,1286,262,25,23,50, - 1370,106,76,77,108,737,1378,1463,1384,2911, - 1518,35,797,32,739,3104,27,30,31,783, - 725,339,28,2675,3133,35,1050,389,408,3160, - 1897,502,35,1050,389,2651,2072,237,262,737, - 1945,2064,35,797,32,3567,2889,27,30,31, - 783,725,339,28,1599,2130,35,797,32,274, - 799,40,30,31,783,725,49,1374,749,321, - 236,332,671,315,578,1008,570,3525,2120,2420, - 799,580,1551,2651,1756,314,232,2130,35,797, - 32,333,448,2315,30,31,783,725,4398,749, - 321,1374,330,335,315,578,352,2485,56,235, - 230,231,2925,308,538,683,3411,352,1144,2675, - 275,346,2077,2067,349,843,35,454,799,1234, - 3774,2359,344,2077,2067,349,3630,335,3335,2698, - 3389,1787,242,245,248,251,1182,1717,35,883, - 277,239,262,1686,1214,2223,2938,2130,35,797, - 32,1374,1787,2751,30,31,783,725,3719,932, - 301,2758,1300,3355,3536,3539,4333,3023,35,797, - 32,1614,4483,27,30,31,783,725,26,28, - 1286,262,25,23,50,1370,106,76,77,108, - 232,1378,1463,2966,1813,35,3537,32,739,3104, - 27,30,31,783,725,339,28,2162,2707,2727, - 96,4632,3434,240,230,231,2377,2692,366,1645, - 2644,1453,35,797,32,4644,2889,27,30,31, - 783,725,339,28,502,3443,883,74,88,2661, - 351,102,391,428,799,2242,35,278,1494,3616, - 296,2059,749,321,351,332,4304,315,578,587, - 35,1050,389,392,428,2035,35,797,32,2241, - 4829,27,30,31,783,725,58,28,332,749, - 321,1877,4398,352,315,578,259,451,3654,3663, - 539,1101,35,397,49,1787,1170,352,344,2077, - 2067,349,2692,1008,861,360,3098,2616,2359,228, - 2198,2644,344,2077,2067,349,1347,156,2128,3208, - 3098,2651,3438,3276,3277,180,3803,322,2136,2115, - 343,1249,2644,203,215,4606,2213,202,212,213, - 214,216,2482,169,1,1787,539,221,539,2588, - 2908,343,168,2325,183,167,170,171,172,173, - 174,418,420,3466,87,4247,799,228,757,35, - 1050,389,1635,156,731,156,2485,332,1101,35, - 397,180,3803,180,3803,1074,1350,2115,2242,35, - 281,203,215,4606,298,202,212,213,214,216, - 3725,169,1644,274,2650,56,394,428,195,2975, - 168,181,184,167,170,171,172,173,174,3023, - 35,797,32,3219,4483,27,30,31,783,725, - 26,28,1286,262,25,23,50,1370,106,76, - 77,108,345,1378,2701,737,539,1249,502,35, - 1050,389,3221,3602,1528,2377,393,428,1993,2644, - 2052,671,2305,524,3278,228,4683,2974,1249,502, - 35,1050,389,156,587,35,1050,389,2661,1385, - 52,180,3803,49,72,2115,737,3748,1377,203, - 215,4606,46,202,212,213,214,216,431,169, - 1700,350,539,443,435,457,2022,1374,168,49, - 3916,167,170,171,172,173,174,89,1008,682, - 102,228,1462,3078,1249,4658,196,3078,2238,156, - 587,35,1050,389,3208,56,56,180,3803,2659, - 2644,2115,3637,335,360,203,215,4606,1374,202, - 212,213,214,216,517,169,56,90,539,343, - 3638,3607,3276,3277,168,49,178,167,170,171, - 172,173,174,1010,1008,2268,2346,228,502,35, - 1050,389,3376,4234,335,156,1101,35,3152,1541, - 3246,2378,2327,180,3803,42,2287,2115,2413,44, - 2287,203,215,4606,1010,202,212,213,214,216, - 603,169,1648,274,539,241,502,35,1050,389, - 168,49,176,167,170,171,172,173,174,322, - 1008,932,2663,228,502,35,1050,389,2439,2414, - 2415,156,1631,35,1050,389,2298,2313,2421,180, - 3803,274,2618,2115,97,1249,2644,203,215,4606, - 2351,202,212,213,214,216,689,169,2667,434, - 539,1101,35,397,340,2661,168,49,177,167, - 170,171,172,173,174,98,1008,2578,3165,228, - 1717,35,883,3453,1249,1076,297,156,1104,35, - 1050,389,3246,56,56,180,3803,3800,4491,2115, - 2451,1249,276,203,215,4606,1249,202,212,213, - 214,216,775,169,1251,1246,539,3186,502,35, - 1050,389,168,49,187,167,170,171,172,173, - 174,506,1008,2674,67,228,2148,1616,3354,66, - 2946,2453,838,156,1104,35,1050,389,2998,2447, - 56,180,3803,433,2644,2115,1616,3354,1768,203, - 215,4606,1249,202,212,213,214,216,861,169, - 4049,2481,539,343,504,505,1249,232,168,49, - 4072,167,170,171,172,173,174,671,1008,47, - 1514,228,4711,2482,2486,65,3376,1147,1249,156, - 247,230,231,2700,3018,1788,2330,180,3803,64, - 3751,2115,352,2550,56,203,215,4606,2541,202, - 212,213,214,216,156,169,2484,344,2077,2067, - 349,3549,200,3918,168,342,192,167,170,171, - 172,173,174,1984,35,797,32,3567,2889,27, - 30,31,783,725,339,28,3023,35,797,32, - 290,4483,27,30,31,783,725,26,28,1286, - 262,25,23,50,1370,106,76,77,108,290, - 2738,587,35,1050,389,1104,35,1050,389,1249, - 56,2424,2038,3381,3085,2644,1376,1329,671,1459, - 947,749,321,4723,539,2881,315,578,2552,56, - 671,2550,3381,3075,2661,4734,49,1249,527,352, - 49,2521,55,228,56,1008,47,1347,4237,1008, - 47,156,2651,2581,344,2077,2067,349,2557,180, - 3803,936,528,2115,2553,2777,1220,203,215,4606, - 54,202,212,213,214,216,1033,169,232,1249, - 539,232,502,35,883,282,168,1249,186,167, - 170,171,172,173,174,431,2515,799,1560,228, - 361,250,230,231,253,230,231,156,332,2669, - 56,2701,101,2644,1194,180,3803,56,2420,2115, - 3802,1983,56,203,215,4606,4248,202,212,213, - 214,216,343,169,2558,3721,1788,502,35,883, - 3548,3751,168,2583,194,167,170,171,172,173, - 174,3023,35,797,32,4257,4483,27,30,31, - 783,725,26,28,1286,262,25,23,50,1370, - 106,76,77,108,1220,2749,3023,35,797,32, - 523,4483,27,30,31,783,725,26,28,1286, - 262,25,23,50,1370,106,76,77,108,2650, - 2781,1364,35,797,32,2591,3104,27,30,31, - 783,725,339,28,2359,1605,35,797,32,739, - 2889,27,30,31,783,725,339,28,2617,2483, - 1249,587,35,1050,389,2670,2881,1249,1635,35, - 797,32,739,2889,27,30,31,783,725,339, - 28,799,2590,305,587,35,1050,389,3006,749, - 321,3434,333,3734,316,578,49,56,56,2602, - 452,4812,3586,749,321,1008,47,352,315,578, - 1563,56,56,2359,2644,1147,3116,2359,523,49, - 314,2202,346,2077,2067,349,749,321,1008,47, - 2359,315,578,228,87,2237,430,56,4309,1147, - 2677,3694,156,314,2288,1703,2688,2689,308,538, - 683,1859,179,2690,2240,322,198,205,215,4606, - 3578,204,212,213,214,216,160,2979,2695,197, - 173,536,538,683,1499,35,797,32,530,3104, - 27,30,31,783,725,339,28,206,208,210, - 3268,4274,217,207,209,2359,1249,2359,1249,3023, - 35,797,32,3719,4483,27,30,31,783,725, - 26,28,1286,262,25,23,50,1370,106,76, - 77,85,306,2694,799,2957,2683,4490,2359,3296, - 3529,3352,749,321,304,333,201,316,578,2773, - 3023,891,797,1979,588,4483,27,30,31,783, - 725,26,28,1286,262,25,23,50,1370,106, - 76,77,84,3023,35,797,32,199,4483,27, - 30,31,783,725,26,28,1286,262,25,23, - 50,1370,106,76,77,83,3023,35,797,32, - 2656,4483,27,30,31,783,725,26,28,1286, - 262,25,23,50,1370,106,76,77,82,3023, - 35,797,32,2699,4483,27,30,31,783,725, - 26,28,1286,262,25,23,50,1370,106,76, - 77,81,3023,35,797,32,2810,4483,27,30, - 31,783,725,26,28,1286,262,25,23,50, - 1370,106,76,77,80,3023,35,797,32,2811, - 4483,27,30,31,783,725,26,28,1286,262, - 25,23,50,1370,106,76,77,79,3023,35, - 797,32,2707,4483,27,30,31,783,725,26, - 28,1286,262,25,23,50,1370,106,76,77, - 78,2851,35,797,32,5411,4483,27,30,31, - 783,725,26,28,1286,262,25,23,50,1370, - 106,76,77,104,3023,35,797,32,5411,4483, - 27,30,31,783,725,26,28,1286,262,25, - 23,50,1370,106,76,77,110,3023,35,797, - 32,5411,4483,27,30,31,783,725,26,28, - 1286,262,25,23,50,1370,106,76,77,109, - 3023,35,797,32,5411,4483,27,30,31,783, - 725,26,28,1286,262,25,23,50,1370,106, - 76,77,107,3023,35,797,32,5411,4483,27, - 30,31,783,725,26,28,1286,262,25,23, - 50,1370,106,76,77,105,1976,35,3537,32, - 739,2889,27,30,31,783,725,339,28,1468, - 35,797,32,739,2889,27,30,31,783,725, - 339,28,5411,2359,56,56,2275,1824,2104,1147, - 1147,2644,2237,502,35,296,1147,56,1911,2237, - 5411,3735,2644,1147,502,35,296,2272,5411,2359, - 228,3483,5411,5411,749,321,156,156,5411,315, - 578,228,300,160,2359,3118,162,749,321,1249, - 160,2241,315,578,205,215,4606,5411,204,212, - 213,214,216,5411,314,205,215,4606,4236,204, - 212,213,214,216,587,35,1050,389,1249,1249, - 1249,2359,3408,222,206,208,210,3268,1249,217, - 207,209,309,538,683,206,208,210,3268,5411, - 217,207,209,3182,35,1050,389,3557,3160,49, - 5411,1723,1809,4311,3599,3885,238,262,1008,47, - 193,3596,3259,5411,4490,5411,4233,5411,5411,5411, - 5411,5411,5411,3845,3099,4490,5411,56,274,5411, - 5411,2644,5411,419,420,3466,1223,35,797,32, - 2824,2889,27,30,31,783,725,339,28,1998, - 343,5411,5411,2644,5411,232,5411,5411,1499,35, - 797,32,5411,3104,27,30,31,783,725,339, - 28,5411,228,3376,5411,404,4318,5411,236,230, - 231,5411,5411,2362,5411,5411,5411,1650,5411,275, - 5411,2644,5411,5411,3340,321,205,215,4606,5411, - 204,212,213,214,216,5411,5411,5411,799,5411, - 228,243,246,249,252,1182,749,321,5411,333, - 5411,318,578,1214,5411,5411,206,208,210,3268, - 5411,521,207,209,205,215,4606,5411,204,212, - 213,214,216,1216,35,1050,389,5411,5411,56, - 1737,2618,56,1147,2644,2644,1147,5411,5411,2085, - 5411,5411,5411,2644,206,208,210,3268,2172,520, - 207,209,2644,228,2661,5411,5411,5411,49,5411, - 156,5411,228,156,5411,5411,5411,1008,2031,3341, - 5411,228,3346,5411,5411,2656,317,205,215,4606, - 5411,204,212,213,214,216,205,215,4606,5411, - 204,212,213,214,216,205,215,4606,5411,204, - 212,213,214,216,5411,5411,5411,206,208,210, - 3268,5411,218,207,209,5411,206,208,210,3268, - 506,307,207,209,5411,206,208,210,3268,5411, - 500,207,209,1468,35,797,32,739,2889,27, - 30,31,783,725,339,28,1779,35,797,32, - 2630,2889,27,30,31,783,725,339,28,5411, - 5411,5411,1181,503,505,5411,2644,4841,5411,5411, - 1286,5411,1803,5411,2644,4841,2644,2651,5411,5411, - 5411,5411,5411,5411,1803,228,5411,5411,2644,2651, - 56,749,321,228,2644,2661,315,578,2491,2237, - 5411,5411,539,1147,3340,321,3618,2661,4026,543, - 408,4376,5411,343,5411,5411,5411,543,408,4376, - 5411,343,799,1789,35,1050,389,5411,5411,156, - 160,5411,5411,332,799,5411,3376,5411,188,409, - 410,411,3268,5411,4593,332,2464,409,410,411, - 3268,587,35,1050,389,5411,5411,5411,49,5411, - 2650,360,3242,587,35,1050,389,1008,47,5411, - 3242,5411,3721,360,2043,35,1050,389,3285,3276, - 3277,5411,5411,4243,5411,5411,49,5411,5411,5411, - 3285,3276,3277,56,3757,1008,47,539,49,190, - 5411,5411,5411,5411,5411,2656,317,1008,47,49, - 5411,3264,5411,5411,5411,5411,343,56,1008,47, - 5411,539,56,3358,156,5411,539,412,414,5411, - 5411,5411,5411,2024,4254,412,415,5411,5411,3376, - 343,502,35,1050,389,343,5411,5411,156,1981, - 5411,1498,2624,156,4630,5411,2644,2370,502,35, - 1050,389,2024,3376,502,35,1050,389,3376,502, - 35,1050,389,2364,5411,2661,49,5411,2961,5411, - 4259,502,35,1050,389,1008,737,2239,56,5411, - 5411,2644,539,49,5411,5411,5411,5411,5411,49, - 5411,5411,1008,2875,49,5411,5411,5411,1008,662, - 343,343,5411,1008,2031,5411,49,56,5411,156, - 531,539,5411,5411,5411,1008,2773,56,188,5411, - 5411,539,56,3376,4593,5411,2644,5411,5411,5411, - 343,506,5411,534,5411,56,5411,56,156,2644, - 343,2644,56,5411,5411,343,2644,188,156,5411, - 5411,5411,5411,4593,5411,56,5411,188,343,1147, - 343,5411,5411,4593,5411,343,56,5411,3376,56, - 1147,5411,56,1147,503,505,1147,5411,3324,3886, - 5411,3376,5411,3376,5411,5411,156,5411,3376,5411, - 5411,510,5411,508,5411,3402,5411,156,535,5411, - 156,5411,5411,156,5411,5411,3416,5411,3888,3203, - 5411,5411,4310,5411,5411,5411,5411,3844,4279,5411, - 5411,5411,5411,5411,5411,5411,5411,5411,5411,5411, - 5411,5411,5411,5411,5411,5411,5411,5411,5411,5411, - 5411,5411,5411,5411,5411,5411,5411,5411,5411,5411, - 5411,5411,5411,5411,5411,5411,5411,5411,5411,5411, - 5411,5411,5411,5411,5411,5411,5411,5411,5411,5411, - 5411,5411,5411,5411,5411,5411,5411,3835,5411,0, - 1131,1,0,39,5426,1,0,39,5425,1, - 0,38,627,0,38,5426,0,38,5425,0, - 455,579,0,441,918,0,1000,29,0,5426, - 48,0,5425,48,0,5423,384,0,5422,384, - 0,39,5426,0,39,5425,0,1,445,0, - 459,1250,0,458,1558,0,35,33,0,1000, - 388,0,47,37,0,2574,126,0,1,1005, + 198,77,80,80,175,175,132,132,133,133, + 133,133,133,133,3,134,134,131,131,113, + 113,83,78,74,74,163,163,114,114,199, + 199,199,135,135,125,125,200,200,176,176, + 103,1119,35,2608,2514,2346,3274,27,30,31, + 785,727,26,28,2495,263,25,23,50,1372, + 106,76,77,108,1506,1380,1465,1386,1688,1586, + 1766,1731,56,1817,142,1774,275,1860,1895,143, + 932,49,158,144,406,694,1503,35,799,32, + 1127,3330,27,30,31,785,727,57,28,3029, + 35,799,32,233,4485,27,30,31,785,727, + 26,28,1288,263,25,23,50,1372,106,76, + 77,108,1989,1380,1465,2950,236,231,232,415, + 893,885,34,3029,35,799,32,276,4485,27, + 30,31,785,727,26,28,1288,263,25,23, + 50,1372,106,76,77,108,325,1380,2650,243, + 246,249,252,1184,2309,35,279,1952,35,799, + 32,1216,3330,27,30,31,785,727,56,28, + 70,1617,35,297,1690,1427,1946,2037,2760,1302, + 3357,3538,3541,4335,2254,35,799,32,2646,4485, + 27,30,31,785,727,26,28,1288,263,25, + 23,50,1372,106,76,77,108,344,1380,1465, + 1386,1688,1586,1766,1731,61,1817,1167,1774,3659, + 1860,1895,143,2045,1989,519,144,872,383,2038, + 3378,1332,1332,327,35,281,2653,2653,4820,2677, + 520,1081,2254,35,799,32,2646,4485,27,30, + 31,785,727,26,28,1288,263,25,23,50, + 1372,106,76,77,108,344,1380,1465,1386,1688, + 1586,1766,1731,2910,1817,2497,1774,440,1860,1895, + 143,801,801,519,144,415,35,3272,3378,2503, + 795,924,333,333,1382,1637,60,515,520,2080, + 35,799,32,1220,4831,27,30,31,785,727, + 26,28,2174,1376,513,1990,1776,326,1997,3866, + 826,2653,2254,35,799,32,2646,4485,27,30, + 31,785,727,26,28,1288,263,25,23,50, + 1372,106,76,77,108,344,1380,1465,1386,1688, + 1586,1766,1731,1354,1817,515,1774,737,1860,1895, + 143,314,1332,519,144,795,801,2653,3378,327, + 35,281,3540,2032,4826,2621,1997,334,520,2530, + 35,799,32,1325,4485,27,30,31,785,727, + 26,28,1288,263,25,23,50,1372,106,76, + 77,108,93,1380,1465,1386,1688,1586,1766,1731, + 49,1817,801,1774,752,1860,1895,143,2677,1376, + 380,144,1286,2700,415,35,1844,1801,415,35, + 284,2974,35,799,32,515,4485,27,30,31, + 785,727,26,28,1288,263,25,23,50,1372, + 86,76,77,2280,329,336,1997,2598,35,799, + 32,2646,4485,27,30,31,785,727,26,28, + 1288,263,25,23,50,1372,106,76,77,108, + 344,1380,1465,1386,1688,1586,1766,1731,1234,1817, + 2960,1774,49,1860,1895,143,832,155,519,144, + 69,49,4803,3378,94,1149,387,381,1137,2323, + 35,799,32,520,4485,27,30,31,785,727, + 26,28,1288,263,25,23,50,1372,106,76, + 77,108,1940,1380,1465,1386,1688,1586,1766,1731, + 2144,1817,2622,1774,1149,1860,1895,143,415,3889, + 380,144,1286,1382,35,799,32,741,2891,27, + 30,31,785,727,340,28,2218,1414,135,500, + 516,160,2395,35,799,32,1723,4485,27,30, + 31,785,727,26,28,1288,263,25,23,50, + 1372,106,76,77,108,71,1380,1465,1386,1688, + 1586,1766,1731,2144,1817,404,1774,1149,1860,1895, + 143,751,322,380,144,1286,316,580,415,35, + 885,278,56,1786,35,799,32,1883,1172,41, + 30,31,785,727,160,2391,388,381,1137,2793, + 35,799,32,2627,4485,27,30,31,785,727, + 26,28,1288,263,25,23,50,1372,106,76, + 77,108,1968,1380,1465,1386,1688,1586,1766,1731, + 1508,1817,330,1774,1863,1860,1895,143,2153,2632, + 158,144,1988,35,799,32,2592,4831,27,30, + 31,785,727,59,28,323,415,3356,3079,378, + 381,1137,2793,35,799,32,1883,4485,27,30, + 31,785,727,26,28,1288,263,25,23,50, + 1372,106,76,77,108,2638,1380,1465,1386,1688, + 1586,1766,1731,2646,1817,56,1774,49,1860,1895, + 143,1149,1234,374,144,2793,35,799,32,1594, + 4485,27,30,31,785,727,26,28,1288,263, + 25,23,50,1372,106,76,77,108,3156,1380, + 1465,1386,1688,1586,1766,1731,49,1817,931,1774, + 1390,1860,1895,143,1946,1551,374,144,2793,35, + 799,32,1232,4485,27,30,31,785,727,26, + 28,1288,263,25,23,50,1372,106,76,77, + 108,357,1380,1465,1386,1688,1586,1766,1731,292, + 1817,534,1774,462,1860,1895,143,1727,373,374, + 144,2738,35,799,32,56,4485,27,30,31, + 785,727,26,28,1288,263,25,23,50,1372, + 106,76,77,108,233,1380,1465,1386,1688,1586, + 1766,1731,3276,1817,3218,1774,737,1860,1938,164, + 499,372,415,35,885,3271,1513,245,231,232, + 322,2463,35,799,32,2067,4485,27,30,31, + 785,727,26,28,1288,263,25,23,50,1372, + 106,76,77,108,2215,1380,1465,1386,1688,1586, + 1766,1731,328,1817,370,1774,2069,1860,1895,143, + 4501,1603,142,144,2793,35,799,32,1376,4485, + 27,30,31,785,727,26,28,1288,263,25, + 23,50,1372,106,76,77,108,384,1380,1465, + 1386,1688,1586,1766,1731,64,1817,1883,1774,3644, + 1860,1895,143,335,336,155,144,2793,35,799, + 32,574,4485,27,30,31,785,727,26,28, + 1288,263,25,23,50,1372,106,76,77,108, + 322,1380,1465,1386,1688,1586,1766,1731,49,1817, + 2117,1774,889,1860,1895,143,2154,1602,154,144, + 2793,35,799,32,377,4485,27,30,31,785, + 727,26,28,1288,263,25,23,50,1372,106, + 76,77,108,1966,1380,1465,1386,1688,1586,1766, + 1731,49,1817,1883,1774,867,1860,1895,143,1809, + 1234,153,144,2793,35,799,32,391,4485,27, + 30,31,785,727,26,28,1288,263,25,23, + 50,1372,106,76,77,108,1814,1380,1465,1386, + 1688,1586,1766,1731,49,1817,2117,1774,4624,1860, + 1895,143,1883,1234,152,144,2793,35,799,32, + 377,4485,27,30,31,785,727,26,28,1288, + 263,25,23,50,1372,106,76,77,108,375, + 1380,1465,1386,1688,1586,1766,1731,1883,1817,1883, + 1774,461,1860,1895,143,2278,1883,151,144,2793, + 35,799,32,2192,4485,27,30,31,785,727, + 26,28,1288,263,25,23,50,1372,106,76, + 77,108,322,1380,1465,1386,1688,1586,1766,1731, + 3335,1817,2117,1774,327,1860,1895,143,587,3566, + 150,144,2793,35,799,32,3829,4485,27,30, + 31,785,727,26,28,1288,263,25,23,50, + 1372,106,76,77,108,3790,1380,1465,1386,1688, + 1586,1766,1731,142,1817,1883,1774,155,1860,1895, + 143,1096,3386,149,144,2793,35,799,32,288, + 4485,27,30,31,785,727,26,28,1288,263, + 25,23,50,1372,106,76,77,108,322,1380, + 1465,1386,1688,1586,1766,1731,1233,1817,2117,1774, + 155,1860,1895,143,314,3523,148,144,2793,35, + 799,32,528,4485,27,30,31,785,727,26, + 28,1288,263,25,23,50,1372,106,76,77, + 108,135,1380,1465,1386,1688,1586,1766,1731,49, + 1817,1883,1774,3379,1860,1895,143,1250,1234,147, + 144,2793,35,799,32,289,4485,27,30,31, + 785,727,26,28,1288,263,25,23,50,1372, + 106,76,77,108,2668,1380,1465,1386,1688,1586, + 1766,1731,49,1817,2117,1774,2848,1860,1895,143, + 1450,1234,146,144,2793,35,799,32,527,4485, + 27,30,31,785,727,26,28,1288,263,25, + 23,50,1372,106,76,77,108,382,1380,1465, + 1386,1688,1586,1766,1731,1378,1817,1968,1774,4185, + 1860,1895,143,415,3931,145,144,2793,35,799, + 32,2730,4485,27,30,31,785,727,26,28, + 1288,263,25,23,50,1372,106,76,77,108, + 499,1380,1465,1386,1688,1586,1766,1731,909,1817, + 1968,1774,51,1860,1895,143,589,2490,159,144, + 2793,35,799,32,3037,4485,27,30,31,785, + 727,26,28,1288,263,25,23,50,1372,106, + 76,77,108,379,1380,1465,1386,1688,1586,1766, + 1731,1446,1817,1968,1774,2592,1860,1895,143,1453, + 160,140,144,2912,35,799,32,1810,4485,27, + 30,31,785,727,26,28,1288,263,25,23, + 50,1372,106,76,77,108,4162,1380,1465,1386, + 1688,1586,1766,1731,49,1817,1968,1774,2701,1860, + 1895,143,332,1381,189,144,3029,35,799,32, + 2391,4485,27,30,31,785,727,26,28,1288, + 263,25,23,50,1372,106,76,77,108,24, + 1380,1465,1386,1688,1586,1766,1731,49,1817,2225, + 1774,2627,1860,1938,164,3029,35,799,32,2219, + 4485,27,30,31,785,727,26,28,1288,263, + 25,23,50,1372,106,76,77,108,2677,1380, + 1465,1386,1688,1586,1766,1731,2592,1817,1467,1774, + 356,1860,1938,164,327,35,455,2245,449,3776, + 534,2918,3029,35,799,32,425,4485,27,30, + 31,785,727,26,28,1288,263,25,23,50, + 1372,106,76,77,108,354,1380,1465,1386,1688, + 1586,1766,1731,49,1817,355,1774,2763,1860,1938, + 164,3029,35,799,32,296,4485,27,30,31, + 785,727,26,28,1288,263,25,23,50,1372, + 106,76,77,108,182,1380,1465,1386,1688,1586, + 1766,1731,49,1817,1672,1774,2784,1860,1938,164, + 415,35,885,280,415,35,1052,390,3029,35, + 799,32,3236,4485,27,30,31,785,727,26, + 28,1288,263,25,23,50,1372,106,76,77, + 108,324,1380,1465,1386,1688,1586,1766,1731,433, + 1817,534,1774,2519,1860,1938,164,3084,35,799, + 32,424,4485,27,30,31,785,727,26,28, + 1288,263,25,23,50,1372,106,76,77,108, + 2522,1380,1465,1386,1688,1586,1766,1731,49,1817, + 418,1774,3398,1860,1938,164,448,3656,3665,1174, + 415,35,1052,390,3029,35,799,32,427,4485, + 27,30,31,785,727,26,28,1288,263,25, + 23,50,1372,106,76,77,108,2427,1380,1465, + 1386,1688,1586,1766,1731,454,1817,1697,1774,676, + 3132,742,848,3029,35,799,32,3915,4485,27, + 30,31,785,727,26,28,1288,263,25,23, + 50,1372,106,76,77,108,408,1380,1465,1386, + 1688,1586,1766,1731,1020,1817,1968,3111,3029,35, + 799,32,1968,4485,27,30,31,785,727,26, + 28,1288,263,25,23,50,1372,106,76,77, + 108,1968,1380,1465,1386,1688,1586,1766,1731,69, + 3086,3029,35,799,32,68,4485,27,30,31, + 785,727,26,28,1288,263,25,23,50,1372, + 106,76,77,108,53,1380,1465,1386,1688,1586, + 1766,3092,3029,35,799,32,423,4485,27,30, + 31,785,727,26,28,1288,263,25,23,50, + 1372,106,76,77,108,1506,1380,1465,1386,1688, + 1586,3018,3029,35,799,32,1728,4485,27,30, + 31,785,727,26,28,1288,263,25,23,50, + 1372,106,76,77,108,2665,1380,1465,1386,1688, + 3055,3029,35,799,32,1496,4485,27,30,31, + 785,727,26,28,1288,263,25,23,50,1372, + 106,76,77,108,3303,1380,1465,1386,1688,3084, + 3029,35,799,32,445,4485,27,30,31,785, + 727,26,28,1288,263,25,23,50,1372,106, + 76,77,108,2490,1380,1465,1386,2791,3029,35, + 799,32,2391,4485,27,30,31,785,727,26, + 28,1288,263,25,23,50,1372,106,76,77, + 108,71,1380,1465,1386,2803,3029,35,799,32, + 2246,4485,27,30,31,785,727,26,28,1288, + 263,25,23,50,1372,106,76,77,108,526, + 1380,1465,1386,2851,3029,35,799,32,3229,4485, + 27,30,31,785,727,26,28,1288,263,25, + 23,50,1372,106,76,77,108,737,1380,1465, + 1386,2913,1730,35,799,32,741,3106,27,30, + 31,785,727,340,28,2677,3139,35,1052,390, + 408,3162,1901,415,35,1052,390,2653,1792,238, + 263,737,1947,1720,35,799,32,3569,2891,27, + 30,31,785,727,340,28,1603,1960,35,799, + 32,275,801,40,30,31,785,727,49,1376, + 751,322,236,333,155,316,580,1010,572,3527, + 2070,2392,801,580,1553,2653,1758,315,233,1960, + 35,799,32,334,449,2317,30,31,785,727, + 4400,751,322,1376,331,336,316,580,353,2488, + 49,236,231,232,2927,309,540,685,3413,353, + 1015,2677,276,347,2079,2069,350,843,35,455, + 801,1235,3776,2427,345,2079,2069,350,3632,336, + 3341,2700,3391,2078,243,246,249,252,1184,2249, + 35,885,278,240,263,1381,1216,2461,2940,1960, + 35,799,32,1251,2078,2753,30,31,785,727, + 3721,1707,302,2760,1302,3357,3538,3541,4335,3029, + 35,799,32,1806,4485,27,30,31,785,727, + 26,28,1288,263,25,23,50,1372,106,76, + 77,108,233,1380,1465,2968,1643,35,3539,32, + 741,3106,27,30,31,785,727,340,28,2157, + 2709,2729,96,4634,3436,241,231,232,1249,2694, + 367,1825,2646,1632,35,799,32,4646,2891,27, + 30,31,785,727,340,28,415,3445,885,74, + 88,2663,352,102,392,429,801,2124,35,279, + 1617,3618,297,2421,751,322,352,333,4306,316, + 580,502,35,1052,390,393,429,1988,35,799, + 32,2243,4831,27,30,31,785,727,58,28, + 150,751,322,1969,4400,353,316,580,259,452, + 3656,3665,541,1017,35,398,49,2078,1172,353, + 345,2079,2069,350,2694,1010,863,361,3100,2620, + 2427,229,2200,2646,345,2079,2069,350,1332,156, + 1606,3210,3100,2653,3440,3278,3279,180,3805,322, + 1991,2117,344,1968,2646,204,216,4608,2244,203, + 213,214,215,217,2486,169,1,2078,541,222, + 541,2833,2910,344,168,2327,183,167,170,171, + 172,173,174,419,421,3468,87,4249,801,229, + 757,35,1052,390,1637,156,733,156,2488,333, + 1017,35,398,180,3805,180,3805,1076,1364,2117, + 2124,35,282,204,216,4608,299,203,213,214, + 215,217,3727,169,1646,275,2652,49,395,429, + 196,2977,168,181,184,167,170,171,172,173, + 174,3029,35,799,32,2075,4485,27,30,31, + 785,727,26,28,1288,263,25,23,50,1372, + 106,76,77,108,345,1380,2703,737,541,1968, + 415,35,1052,390,3223,3604,1602,1249,394,429, + 1996,2646,1236,155,2166,526,3280,229,4685,2976, + 1968,415,35,1052,390,156,502,35,1052,390, + 2663,572,52,180,3805,49,72,2117,737,3750, + 1906,204,216,4608,46,203,213,214,215,217, + 431,169,1704,351,541,444,436,458,2024,1376, + 168,49,3918,167,170,171,172,173,174,89, + 1010,684,102,229,1447,3080,1968,4660,197,3080, + 2052,156,502,35,1052,390,3210,49,49,180, + 3805,2661,2646,2117,3639,336,361,204,216,4608, + 1376,203,213,214,215,217,517,169,49,90, + 541,344,3640,3609,3278,3279,168,49,178,167, + 170,171,172,173,174,1234,1010,2270,2158,229, + 415,35,1052,390,3378,4236,336,156,1017,35, + 3154,1543,3248,2278,2329,180,3805,42,2289,2117, + 2318,44,2289,204,216,4608,1234,203,213,214, + 215,217,603,169,2067,275,541,241,415,35, + 1052,390,168,49,176,167,170,171,172,173, + 174,322,1010,934,2667,229,415,35,1052,390, + 2606,2353,2379,156,2211,35,1052,390,1958,2317, + 2159,180,3805,275,2345,2117,97,1968,2646,204, + 216,4608,2383,203,213,214,215,217,689,169, + 2669,435,541,1017,35,398,341,2663,168,49, + 177,167,170,171,172,173,174,98,1010,2580, + 3167,229,2249,35,885,3455,1968,1078,298,156, + 1101,35,1052,390,3248,49,49,180,3805,3802, + 4493,2117,2419,1968,277,204,216,4608,1968,203, + 213,214,215,217,775,169,2387,1246,541,3188, + 415,35,1052,390,168,49,187,167,170,171, + 172,173,174,507,1010,2676,67,229,2065,2227, + 3356,66,2948,2423,2231,156,1101,35,1052,390, + 3000,2417,49,180,3805,434,2646,2117,2227,3356, + 1770,204,216,4608,1968,203,213,214,215,217, + 861,169,4051,2485,541,344,505,506,1968,233, + 168,49,4074,167,170,171,172,173,174,155, + 1010,47,1516,229,4713,2486,2496,65,3378,1149, + 1968,156,248,231,232,2670,3020,1353,2332,180, + 3805,64,3753,2117,353,2521,49,204,216,4608, + 2543,203,213,214,215,217,156,169,2518,345, + 2079,2069,350,3551,201,3920,168,343,192,167, + 170,171,172,173,174,1980,35,799,32,3569, + 2891,27,30,31,785,727,340,28,3029,35, + 799,32,291,4485,27,30,31,785,727,26, + 28,1288,263,25,23,50,1372,106,76,77, + 108,291,2740,502,35,1052,390,1101,35,1052, + 390,1968,49,2363,2040,3383,3087,2646,1377,1826, + 155,1498,947,751,322,4725,541,2883,316,580, + 2554,49,155,2552,3383,3077,2663,4736,49,1968, + 529,353,49,1784,55,229,49,1010,47,1332, + 4239,1010,47,156,2653,2560,345,2079,2069,350, + 2495,180,3805,938,530,2117,2556,2779,2594,204, + 216,4608,54,203,213,214,215,217,1033,169, + 233,1968,541,233,415,35,885,283,168,1968, + 186,167,170,171,172,173,174,432,2526,801, + 2063,229,362,251,231,232,254,231,232,156, + 333,2680,49,2672,101,2646,1196,180,3805,49, + 2392,2117,3804,1985,49,204,216,4608,4250,203, + 213,214,215,217,344,169,2593,3723,1353,415, + 35,885,3550,3753,168,2585,195,167,170,171, + 172,173,174,3029,35,799,32,4259,4485,27, + 30,31,785,727,26,28,1288,263,25,23, + 50,1372,106,76,77,108,2594,2751,3029,35, + 799,32,525,4485,27,30,31,785,727,26, + 28,1288,263,25,23,50,1372,106,76,77, + 108,2630,2783,1365,35,799,32,2691,3106,27, + 30,31,785,727,340,28,2427,1870,35,799, + 32,741,2891,27,30,31,785,727,340,28, + 2692,2485,1968,502,35,1052,390,2671,2883,1968, + 1463,35,799,32,741,2891,27,30,31,785, + 727,340,28,801,2631,306,502,35,1052,390, + 3008,751,322,3436,334,3736,317,580,49,49, + 49,2694,453,4814,3588,751,322,1010,47,353, + 316,580,1567,49,49,2427,2646,1149,3118,2427, + 525,49,315,2204,347,2079,2069,350,751,322, + 1010,47,2427,316,580,229,87,2144,431,2666, + 4311,1149,2678,3696,156,315,2290,1620,2695,2697, + 309,540,685,1861,179,2702,2173,322,199,206, + 216,4608,3580,205,213,214,215,217,160,2981, + 2760,198,173,538,540,685,1473,35,799,32, + 532,3106,27,30,31,785,727,340,28,207, + 209,211,3270,4276,218,208,210,2427,1968,2427, + 1968,3029,35,799,32,3721,4485,27,30,31, + 785,727,26,28,1288,263,25,23,50,1372, + 106,76,77,85,307,2706,801,2959,2711,4492, + 2427,3298,3531,3354,751,322,305,334,202,317, + 580,2771,3029,893,799,1981,590,4485,27,30, + 31,785,727,26,28,1288,263,25,23,50, + 1372,106,76,77,84,3029,35,799,32,200, + 4485,27,30,31,785,727,26,28,1288,263, + 25,23,50,1372,106,76,77,83,3029,35, + 799,32,1179,4485,27,30,31,785,727,26, + 28,1288,263,25,23,50,1372,106,76,77, + 82,3029,35,799,32,2769,4485,27,30,31, + 785,727,26,28,1288,263,25,23,50,1372, + 106,76,77,81,3029,35,799,32,2815,4485, + 27,30,31,785,727,26,28,1288,263,25, + 23,50,1372,106,76,77,80,3029,35,799, + 32,2816,4485,27,30,31,785,727,26,28, + 1288,263,25,23,50,1372,106,76,77,79, + 3029,35,799,32,1500,4485,27,30,31,785, + 727,26,28,1288,263,25,23,50,1372,106, + 76,77,78,2857,35,799,32,5416,4485,27, + 30,31,785,727,26,28,1288,263,25,23, + 50,1372,106,76,77,104,3029,35,799,32, + 5416,4485,27,30,31,785,727,26,28,1288, + 263,25,23,50,1372,106,76,77,110,3029, + 35,799,32,5416,4485,27,30,31,785,727, + 26,28,1288,263,25,23,50,1372,106,76, + 77,109,3029,35,799,32,5416,4485,27,30, + 31,785,727,26,28,1288,263,25,23,50, + 1372,106,76,77,107,3029,35,799,32,5416, + 4485,27,30,31,785,727,26,28,1288,263, + 25,23,50,1372,106,76,77,105,1817,35, + 3539,32,741,2891,27,30,31,785,727,340, + 28,1382,35,799,32,741,2891,27,30,31, + 785,727,340,28,5416,2427,49,49,2450,1828, + 2106,1149,1149,2646,2144,415,35,297,1149,49, + 1915,2144,5416,3737,2646,1149,415,35,297,2420, + 5416,2427,229,3485,5416,5416,751,322,156,156, + 5416,316,580,229,301,160,2427,3120,162,751, + 322,1968,160,2243,316,580,206,216,4608,5416, + 205,213,214,215,217,5416,315,206,216,4608, + 4238,205,213,214,215,217,502,35,1052,390, + 1968,1968,1968,2427,3410,223,207,209,211,3270, + 1968,218,208,210,310,540,685,207,209,211, + 3270,5416,218,208,210,3188,35,1052,390,3559, + 3162,49,5416,1725,1811,4313,3601,3887,239,263, + 1010,47,193,3598,3261,5416,4492,5416,4235,5416, + 5416,5416,5416,5416,5416,3847,3101,4492,5416,49, + 275,5416,5416,2646,5416,420,421,3468,1223,35, + 799,32,2826,2891,27,30,31,785,727,340, + 28,2002,344,5416,5416,2646,5416,233,5416,5416, + 1473,35,799,32,5416,3106,27,30,31,785, + 727,340,28,5416,229,3378,5416,405,4320,5416, + 237,231,232,5416,5416,2364,5416,5416,5416,1654, + 5416,276,5416,2646,5416,5416,3342,322,206,216, + 4608,5416,205,213,214,215,217,5416,5416,5416, + 801,5416,229,244,247,250,253,1184,751,322, + 5416,334,5416,319,580,1216,5416,5416,207,209, + 211,3270,5416,522,208,210,206,216,4608,5416, + 205,213,214,215,217,1216,35,1052,390,5416, + 5416,49,1741,2345,49,1149,2646,2646,1149,5416, + 5416,2089,5416,5416,5416,2646,207,209,211,3270, + 2176,521,208,210,2646,229,2663,5416,5416,5416, + 49,5416,156,5416,229,156,5416,5416,5416,1010, + 2033,3343,5416,229,3348,5416,5416,2658,318,206, + 216,4608,5416,205,213,214,215,217,206,216, + 4608,5416,205,213,214,215,217,206,216,4608, + 5416,205,213,214,215,217,5416,5416,5416,207, + 209,211,3270,5416,219,208,210,5416,207,209, + 211,3270,507,308,208,210,5416,207,209,211, + 3270,5416,501,208,210,1382,35,799,32,741, + 2891,27,30,31,785,727,340,28,1609,35, + 799,32,2632,2891,27,30,31,785,727,340, + 28,5416,5416,5416,1181,504,506,5416,2646,4843, + 5416,5416,1287,5416,1807,5416,2646,4843,2646,2653, + 5416,5416,5416,5416,5416,5416,1807,229,5416,5416, + 2646,2653,49,751,322,229,2646,2663,316,580, + 2553,2144,5416,5416,541,1149,3342,322,3620,2663, + 4028,545,409,4378,5416,344,5416,5416,5416,545, + 409,4378,5416,344,801,2312,35,1052,390,5416, + 5416,156,160,5416,5416,333,801,5416,3378,5416, + 188,410,411,412,3270,5416,4595,333,2466,410, + 411,412,3270,502,35,1052,390,5416,5416,5416, + 49,5416,2652,361,3244,502,35,1052,390,1010, + 47,5416,3244,5416,3723,361,2347,35,1052,390, + 3287,3278,3279,5416,5416,4245,5416,5416,49,5416, + 5416,5416,3287,3278,3279,49,3759,1010,47,541, + 49,190,5416,5416,5416,5416,5416,2658,318,1010, + 47,49,5416,3266,5416,5416,5416,5416,344,49, + 1010,47,5416,541,49,3360,156,5416,541,413, + 415,5416,5416,5416,5416,2026,4256,413,416,5416, + 5416,3378,344,415,35,1052,390,344,5416,5416, + 156,1983,5416,1500,2378,156,4632,5416,2646,2372, + 415,35,1052,390,2026,3378,415,35,1052,390, + 3378,415,35,1052,390,2366,5416,2663,49,5416, + 2963,5416,4261,415,35,1052,390,1010,739,2381, + 49,5416,5416,2646,541,49,5416,5416,5416,5416, + 5416,49,5416,5416,1010,2877,49,5416,5416,5416, + 1010,664,344,344,5416,1010,2033,5416,49,49, + 5416,156,533,541,5416,5416,5416,1010,2775,49, + 188,5416,5416,541,49,3378,4595,5416,2646,5416, + 5416,5416,344,507,5416,536,5416,49,5416,49, + 156,2646,344,2646,49,5416,5416,344,2646,188, + 156,5416,5416,5416,5416,4595,5416,49,5416,188, + 344,1149,344,5416,5416,4595,5416,344,49,5416, + 3378,49,1149,5416,49,1149,504,506,1149,5416, + 3326,3888,5416,3378,5416,3378,5416,5416,156,5416, + 3378,5416,5416,511,5416,509,5416,3404,5416,156, + 537,5416,156,5416,5416,156,5416,5416,3418,5416, + 3890,3205,5416,5416,4312,5416,5416,5416,5416,3846, + 4281,5416,5416,5416,5416,5416,5416,5416,5416,5416, + 5416,5416,5416,5416,5416,5416,5416,5416,5416,5416, + 5416,5416,5416,5416,5416,5416,5416,5416,5416,5416, + 5416,5416,5416,5416,5416,5416,5416,5416,5416,5416, + 5416,5416,5416,5416,5416,5416,5416,5416,5416,5416, + 5416,5416,5416,5416,5416,5416,5416,5416,5416,3837, + 5416,0,1133,1,0,39,5431,1,0,39, + 5430,1,0,38,629,0,38,5431,0,38, + 5430,0,456,581,0,442,920,0,1002,29, + 0,5431,48,0,5430,48,0,5428,385,0, + 5427,385,0,39,5431,0,39,5430,0,1, + 446,0,460,1252,0,459,1560,0,35,33, + 0,1002,389,0,47,37,0,2576,126,0, + 1,1007,0,1,5690,0,1,5689,0,1, + 5688,0,1,5687,0,1,5686,0,1,5685, 0,1,5684,0,1,5683,0,1,5682,0, - 1,5681,0,1,5680,0,1,5679,0,1, - 5678,0,1,5677,0,1,5676,0,1,5675, - 0,1,5674,0,284,395,0,284,289,0, - 5645,241,0,5644,241,0,5749,241,0,5748, - 241,0,5672,241,0,5671,241,0,5670,241, - 0,5669,241,0,5668,241,0,5667,241,0, - 5666,241,0,5665,241,0,5684,241,0,5683, - 241,0,5682,241,0,5681,241,0,5680,241, - 0,5679,241,0,5678,241,0,5677,241,0, - 5676,241,0,5675,241,0,5674,241,0,39, - 5426,241,0,39,5425,241,0,5449,241,0, - 43,5447,0,43,37,0,1245,91,0,32, - 34,0,39,627,0,331,446,0,5417,1, - 0,5416,1,0,237,1048,0,32,389,0, - 29,388,0,2574,128,0,2574,127,0,502, - 3262,0,5449,1,229,0,39,1,229,0, - 229,417,0,5426,37,0,5425,37,0,5447, - 45,0,37,45,0,5449,1,0,39,1, - 0,1,92,0,5421,406,0,5420,406,0, - 1061,1,0,2937,1,0,627,1,0,229, - 416,0,3382,384,0,5426,2,37,0,5425, - 2,37,0,5426,36,0,5425,36,0,1, - 331,0,8,12,0,331,95,0,35,73, - 0,502,4427,0,1,229,0,279,3825,0, - 229,220,0,1,2921,0,1,3008,0,229, - 219,0,5423,1,0,5419,1,0,1,229, - 3789,0,5420,229,0,3824,229,0,3860,229, - 0,10,12,0,8,10,12,0,185,3540, - 0 + 1,5681,0,1,5680,0,285,396,0,285, + 290,0,5651,242,0,5650,242,0,5755,242, + 0,5754,242,0,5678,242,0,5677,242,0, + 5676,242,0,5675,242,0,5674,242,0,5673, + 242,0,5672,242,0,5671,242,0,5690,242, + 0,5689,242,0,5688,242,0,5687,242,0, + 5686,242,0,5685,242,0,5684,242,0,5683, + 242,0,5682,242,0,5681,242,0,5680,242, + 0,39,5431,242,0,39,5430,242,0,5454, + 242,0,43,5452,0,43,37,0,1247,91, + 0,32,34,0,39,629,0,332,447,0, + 5422,1,0,5421,1,0,238,1050,0,32, + 390,0,29,389,0,2576,128,0,2576,127, + 0,503,3264,0,5454,1,230,0,39,1, + 230,0,230,418,0,5431,37,0,5430,37, + 0,5452,45,0,37,45,0,5454,1,0, + 39,1,0,1,92,0,5426,407,0,5425, + 407,0,1063,1,0,2939,1,0,629,1, + 0,230,417,0,3384,385,0,5431,2,37, + 0,5430,2,37,0,5431,36,0,5430,36, + 0,1,332,0,8,12,0,332,95,0, + 35,73,0,503,4429,0,1,230,0,280, + 3827,0,230,221,0,1,2923,0,1,3010, + 0,230,220,0,5428,1,0,5424,1,0, + 1,230,3791,0,5425,230,0,3826,230,0, + 3862,230,0,10,12,0,8,10,12,0, + 4005,194,0,185,3542,0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -1116,15 +1116,15 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars 24,25,26,27,28,29,30,31,32,33, 34,35,36,37,38,39,40,41,42,43, 44,45,46,47,0,49,50,51,52,53, - 54,0,56,57,58,59,60,61,62,101, - 64,65,66,67,106,92,93,71,0,0, + 54,0,56,57,58,59,60,61,62,0, + 64,65,66,67,0,92,93,71,4,0, 74,75,76,77,78,79,80,81,82,83, 84,85,0,1,2,3,4,5,6,7, 8,9,10,11,12,13,14,15,16,17, 18,19,20,21,22,23,24,25,26,27, 28,29,30,31,32,33,34,35,36,37, 38,39,40,41,42,43,44,45,46,47, - 61,49,50,51,52,53,54,69,56,57, + 0,49,50,51,52,53,54,68,56,57, 58,59,60,61,62,0,64,65,66,67, 0,1,2,71,4,10,74,75,76,77, 78,79,80,81,82,83,84,85,0,1, @@ -1141,17 +1141,17 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars 16,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,71,49,50,51,52,53,54,0, + 46,47,71,49,50,51,52,53,54,68, 56,57,58,59,60,61,62,0,64,65, - 66,67,0,6,0,102,103,104,74,75, + 66,67,99,6,0,1,2,0,74,75, 76,77,78,79,80,81,82,83,84,85, 0,1,2,3,4,5,6,7,8,9, 10,11,12,13,14,15,16,17,18,19, 20,21,22,23,24,25,26,27,28,29, 30,31,32,33,34,35,36,37,38,39, 40,41,42,43,44,45,46,47,0,49, - 50,51,52,53,54,0,56,57,58,59, - 60,61,62,0,64,65,66,67,99,92, + 50,51,52,53,54,68,56,57,58,59, + 60,61,62,0,64,65,66,67,0,92, 93,0,1,2,74,75,76,77,78,79, 80,81,82,83,84,85,0,1,2,3, 4,5,6,7,8,9,10,11,12,13, @@ -1160,23 +1160,23 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars 34,35,36,37,38,39,40,41,42,43, 44,45,46,47,0,49,50,51,52,53, 54,0,56,57,58,59,60,61,62,0, - 64,65,66,67,0,6,0,1,2,0, + 64,65,66,67,0,6,0,89,0,91, 74,75,76,77,78,79,80,81,82,83, 84,85,0,1,2,3,4,5,6,7, 8,9,10,11,12,13,14,15,16,17, 18,19,20,21,22,23,24,25,26,27, 28,29,30,31,32,33,34,35,36,37, 38,39,40,41,42,43,44,45,46,47, - 0,49,50,51,52,53,54,68,56,57, + 0,49,50,51,52,53,54,69,56,57, 58,59,60,61,62,0,64,65,66,67, - 0,92,93,89,4,91,74,75,76,77, + 99,92,93,87,88,0,74,75,76,77, 78,79,80,81,82,83,84,85,0,1, 2,3,4,5,6,7,8,9,10,11, 12,13,14,15,16,17,18,19,20,21, 22,23,24,25,26,27,28,29,30,31, 32,33,34,35,36,37,38,39,40,41, 42,43,44,45,46,47,0,49,50,51, - 52,53,54,0,56,57,58,59,60,61, + 52,53,54,68,56,57,58,59,60,61, 62,0,64,65,66,67,0,1,2,23, 24,5,74,75,76,77,78,79,80,81, 82,83,84,85,0,1,2,3,4,5, @@ -1186,13 +1186,13 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars 36,37,38,39,40,41,42,43,44,45, 46,47,0,49,50,51,52,53,54,0, 56,57,58,59,60,61,62,0,64,65, - 66,67,0,1,2,8,4,0,74,75, + 66,67,0,1,2,0,4,0,74,75, 76,77,78,79,80,81,82,83,84,85, 0,1,2,3,4,5,6,7,8,9, 10,11,12,13,14,15,16,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,71,49, + 40,41,42,43,44,45,46,47,0,49, 50,51,52,53,54,68,56,57,58,59, 60,61,62,0,64,65,66,67,0,6, 0,0,9,3,74,75,76,77,78,79, @@ -1201,253 +1201,254 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars 14,15,16,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,0,49,50,51,52,53, - 54,0,56,57,58,59,60,61,62,0, - 64,65,66,67,0,87,88,8,87,88, + 44,45,46,47,63,49,50,51,52,53, + 54,0,56,57,58,59,60,61,62,101, + 64,65,66,67,0,107,0,1,2,0, 74,75,76,77,78,79,80,81,82,83, 84,85,0,1,2,3,4,5,6,7, 8,9,10,11,12,13,14,15,16,17, 18,19,20,21,22,23,24,25,26,27, 28,29,30,31,32,33,34,35,36,37, 38,39,40,41,42,43,44,45,46,47, - 0,49,50,51,52,53,54,0,56,57, + 0,49,50,51,52,53,54,68,56,57, 58,59,60,61,62,0,64,65,66,67, - 0,1,2,0,1,2,74,75,76,77, + 0,1,2,89,9,91,74,75,76,77, 78,79,80,81,82,83,84,85,0,1, - 2,3,4,5,6,7,117,9,10,11, + 2,3,4,5,6,7,0,9,10,11, 12,13,14,15,16,17,18,19,20,21, - 22,23,24,0,26,27,28,29,30,31, + 22,23,24,63,26,27,28,29,30,31, 32,33,34,35,36,37,38,39,40,41, 42,43,44,45,46,47,0,49,50,51, 52,53,54,0,56,57,58,4,0,61, 0,1,2,3,4,5,6,7,8,9, 10,11,12,13,14,15,16,17,18,19, 20,21,22,23,24,25,26,27,28,29, - 30,31,32,33,34,0,1,2,0,0, + 30,31,32,33,34,0,1,2,40,0, 40,55,0,1,2,3,4,5,48,7, - 8,0,89,0,91,0,56,57,58,59, - 60,63,62,0,9,0,0,25,0,3, + 8,0,0,0,0,0,56,57,58,59, + 60,8,62,0,9,0,120,25,0,0, 0,71,72,22,23,24,8,26,27,28, 29,30,31,32,33,34,86,22,23,24, 0,26,27,28,29,30,31,32,33,34, - 65,66,102,103,104,0,1,2,3,4, - 5,6,7,8,9,10,11,12,13,14, - 15,16,17,18,19,20,21,22,23,24, - 25,26,27,28,29,30,31,32,33,34, - 70,73,89,0,91,40,3,0,0,6, - 3,8,9,48,0,1,2,118,4,96, - 97,56,57,58,59,60,0,62,25,0, - 4,0,6,0,0,9,71,72,35,36, - 37,38,8,0,1,2,3,4,5,6, - 7,86,9,0,0,0,0,0,55,0, - 1,2,48,55,0,6,63,102,103,104, - 63,68,69,70,71,72,73,22,23,24, - 72,26,27,28,29,30,31,32,33,34, - 87,88,89,90,91,92,93,94,95,96, - 97,98,99,100,101,71,63,48,105,106, - 107,108,109,110,111,112,113,114,115,116, - 117,0,119,120,3,96,97,6,72,8, - 9,0,0,1,2,3,4,5,0,7, - 8,0,89,0,91,4,25,0,1,2, - 3,4,5,120,7,98,35,36,37,38, - 22,23,24,99,26,27,28,29,30,31, - 32,33,34,0,1,2,55,0,0,1, - 2,3,4,5,63,7,55,0,0,68, - 69,70,71,72,73,63,55,0,1,2, - 3,4,5,6,7,73,9,0,87,88, - 89,90,91,92,93,94,95,96,97,98, - 99,100,101,35,36,0,105,106,107,108, - 109,110,111,112,113,114,115,116,117,0, - 119,120,0,1,2,3,4,5,6,7, - 8,9,10,11,12,13,14,15,16,17, - 18,19,20,21,22,23,24,25,26,27, - 28,29,30,31,32,33,34,100,0,1, - 2,0,40,5,0,1,2,3,4,5, - 48,7,8,0,0,0,1,2,56,57, - 58,59,60,0,62,98,64,68,69,25, - 0,1,2,71,0,1,2,3,4,5, - 6,7,0,9,0,3,48,0,86,0, - 1,2,3,4,5,6,7,8,9,10, - 11,12,13,14,15,16,17,18,19,20, - 21,22,23,24,25,26,27,28,29,30, - 31,32,33,34,70,0,0,1,2,40, - 4,5,0,7,60,65,66,48,6,0, - 87,88,0,0,55,56,57,58,59,60, - 8,62,70,64,0,101,0,1,2,72, + 65,66,63,103,104,105,0,1,2,3, + 4,5,6,7,8,9,10,11,12,13, + 14,15,16,17,18,19,20,21,22,23, + 24,25,26,27,28,29,30,31,32,33, + 34,73,0,89,0,91,40,3,96,97, + 6,0,8,9,48,4,0,6,90,89, + 9,91,56,57,58,59,60,98,62,25, + 0,118,0,0,1,2,4,71,72,35, + 36,37,38,0,0,1,2,3,4,5, + 6,7,86,9,22,0,0,0,3,55, + 0,0,1,2,3,4,5,63,7,103, + 104,105,68,69,70,71,72,73,22,23, + 24,48,26,27,28,29,30,31,32,33, + 34,87,88,89,90,91,92,93,94,95, + 96,97,98,99,100,101,0,63,48,3, 106,107,108,109,110,111,112,113,114,115, - 116,87,88,48,48,86,0,1,2,3, + 116,117,118,119,120,0,0,70,3,0, + 4,6,0,8,9,103,104,105,6,96, + 97,0,0,1,2,3,4,5,6,7, + 25,9,0,1,2,3,4,5,101,7, + 35,36,37,38,107,108,109,110,111,112, + 113,114,115,116,117,0,70,0,3,0, + 55,55,0,1,2,0,4,5,63,7, + 5,0,0,68,69,70,71,72,73,22, + 23,24,60,26,27,28,29,30,31,32, + 33,34,87,88,89,90,91,92,93,94, + 95,96,97,98,99,100,101,35,36,100, + 48,106,107,108,109,110,111,112,113,114, + 115,116,117,118,119,120,0,1,2,3, 4,5,6,7,8,9,10,11,12,13, 14,15,16,17,18,19,20,21,22,23, 24,25,26,27,28,29,30,31,32,33, - 34,69,0,1,2,73,40,63,0,1, - 2,3,4,5,48,7,0,0,0,1, - 2,4,56,57,58,59,60,0,62,100, - 64,0,0,1,2,0,4,71,6,22, - 8,9,0,1,2,3,4,5,6,7, + 34,0,0,1,2,0,40,5,0,1, + 2,3,4,5,48,7,0,1,2,0, + 121,0,56,57,58,59,60,8,62,0, + 64,0,1,2,3,4,5,71,7,8, + 35,36,0,1,2,3,4,5,6,7, 48,9,86,0,1,2,3,4,5,6, 7,8,9,10,11,12,13,14,15,16, 17,18,19,20,21,22,23,24,25,26, - 27,28,29,30,31,32,33,34,72,0, - 0,1,2,40,4,5,69,7,0,1, - 2,48,4,68,6,73,0,9,0,56, - 57,58,59,60,72,62,8,64,0,102, - 103,104,90,0,71,0,0,1,2,3, - 4,0,6,25,3,9,0,48,48,86, + 27,28,29,30,31,32,33,34,69,0, + 1,2,73,40,63,6,0,1,2,98, + 4,48,6,0,73,9,0,0,55,56, + 57,58,59,60,72,62,0,64,0,0, + 1,2,3,4,5,6,7,0,9,0, + 1,2,3,4,5,6,7,48,9,86, 0,1,2,3,4,5,6,7,8,9, 10,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,1,2,55,4, - 40,6,0,0,9,0,1,2,48,63, - 5,55,7,87,88,0,56,57,58,59, - 60,0,62,8,64,0,1,2,3,4, - 5,71,7,0,1,2,3,4,5,0, - 7,0,0,1,2,4,86,0,1,2, + 30,31,32,33,34,0,1,2,0,4, + 40,6,63,0,9,0,1,2,48,70, + 5,0,7,87,88,68,56,57,58,59, + 60,0,62,100,64,0,0,1,2,0, + 4,71,6,0,8,9,0,1,2,3, + 4,5,39,7,0,0,86,0,1,2, 3,4,5,6,7,8,9,10,11,12, 13,14,15,16,17,18,19,20,21,22, 23,24,25,26,27,28,29,30,31,32, - 33,34,67,0,0,1,2,40,4,5, - 48,7,0,1,2,48,63,72,0,1, - 2,0,63,56,57,58,59,60,0,62, - 9,64,4,0,1,2,3,4,5,6, - 7,0,9,0,1,2,0,4,0,6, - 22,0,9,86,0,1,2,3,4,5, + 33,34,0,1,2,74,4,40,55,0, + 1,2,3,4,5,48,7,8,69,73, + 55,68,0,56,57,58,59,60,72,62, + 8,64,87,88,25,0,90,72,71,4, + 0,1,2,3,4,0,6,94,95,9, + 48,87,88,86,0,1,2,3,4,5, 6,7,8,9,10,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, - 1,2,0,4,40,6,63,0,9,0, - 1,2,48,70,5,0,7,0,3,63, - 56,57,58,59,60,74,62,0,64,68, - 3,118,0,1,2,8,4,5,0,7, - 0,0,35,36,3,0,1,2,0,8, + 26,27,28,29,30,31,32,33,34,67, + 55,0,1,2,40,4,5,0,7,0, + 1,2,48,63,5,0,7,0,0,4, + 56,57,58,59,60,8,62,72,64,0, + 1,2,3,4,5,71,7,0,1,2, + 0,4,5,3,7,0,1,2,0,48, 86,0,1,2,3,4,5,6,7,8, 9,10,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,1,2,0, - 63,40,0,48,8,68,69,8,0,48, - 73,0,0,55,63,4,68,56,57,58, - 59,60,10,62,73,64,0,0,0,0, - 3,0,1,2,8,0,8,35,36,0, - 1,2,3,4,5,6,7,86,9,10, - 11,12,13,14,15,16,17,18,19,20, - 21,0,0,67,0,0,55,5,69,8, - 71,59,8,0,35,36,37,38,39,48, - 41,42,43,44,45,46,47,0,49,50, - 51,52,53,54,0,1,2,68,69,73, - 61,73,0,68,65,66,0,68,0,1, + 29,30,31,32,33,34,0,0,1,2, + 73,40,63,48,0,1,2,90,4,48, + 6,0,0,9,3,87,88,56,57,58, + 59,60,0,62,0,64,0,3,0,0, + 1,2,8,4,0,6,8,0,9,0, + 1,2,0,4,5,48,7,86,0,1, 2,3,4,5,6,7,8,9,10,11, 12,13,14,15,16,17,18,19,20,21, - 0,1,2,68,73,0,63,73,3,0, - 0,0,48,35,36,37,38,39,0,41, - 42,43,44,45,46,47,8,49,50,51, - 52,53,54,0,1,2,0,0,0,61, - 3,69,0,25,8,67,8,90,48,71, - 0,1,2,3,4,5,6,7,8,9, - 10,11,12,13,14,15,16,17,18,19, - 20,21,0,0,0,3,3,3,68,0, - 0,48,0,0,4,35,36,37,38,39, - 8,41,42,43,44,45,46,47,0,49, - 50,51,52,53,54,67,0,25,0,73, - 0,61,0,3,72,0,0,67,0,1, - 2,3,4,5,6,7,90,9,10,11, - 12,13,14,15,16,17,18,19,20,21, - 0,0,63,0,0,0,48,3,0,8, - 0,69,0,35,36,37,38,39,8,41, - 42,43,44,45,46,47,25,49,50,51, - 52,53,54,90,0,25,70,69,0,61, - 0,69,4,65,66,0,1,2,3,4, + 22,23,24,25,26,27,28,29,30,31, + 32,33,34,0,1,2,0,63,40,55, + 68,69,68,69,0,67,48,73,72,103, + 104,105,68,0,56,57,58,59,60,72, + 62,8,64,0,1,2,0,0,0,3, + 3,8,4,0,8,0,1,2,94,95, + 0,48,0,0,86,0,1,2,3,4, 5,6,7,8,9,10,11,12,13,14, - 15,16,17,18,19,20,21,55,63,0, - 70,0,0,4,3,72,0,0,70,39, - 35,36,37,38,39,0,41,42,43,44, - 45,46,47,55,49,50,51,52,53,54, - 0,0,0,3,70,3,61,0,0,0, - 0,39,67,0,1,2,3,4,5,6, - 7,0,9,10,11,12,13,14,15,16, - 17,18,19,20,21,0,0,0,3,0, - 5,6,0,0,9,69,69,10,35,36, - 37,38,39,10,41,42,43,44,45,46, - 47,0,49,50,51,52,53,54,0,0, - 35,36,37,38,61,0,41,40,65,66, - 70,72,0,40,0,48,0,0,0,0, - 55,48,3,72,55,0,0,55,63,3, - 65,66,0,68,69,70,70,0,0,0, - 3,3,3,0,0,40,55,3,0,0, - 0,3,87,88,89,118,0,92,93,94, - 95,96,97,98,99,100,101,55,69,55, - 105,55,107,108,109,110,111,112,113,114, - 115,116,0,1,2,3,4,5,6,7, + 15,16,17,18,19,20,21,22,23,24, + 25,26,27,28,29,30,31,32,33,34, + 0,1,2,48,0,40,73,0,0,63, + 67,3,8,48,0,8,0,1,2,73, + 0,56,57,58,59,60,63,62,8,64, + 68,69,25,0,0,0,1,2,0,1, + 2,0,8,0,1,2,3,4,5,6, + 7,86,9,10,11,12,13,14,15,16, + 17,18,19,20,21,65,66,0,35,36, + 3,63,0,69,0,71,69,63,35,36, + 37,38,39,48,41,42,43,44,45,46, + 47,71,49,50,51,52,53,54,0,1, + 2,0,1,2,61,71,0,0,65,66, + 3,68,0,1,2,3,4,5,6,7, 8,9,10,11,12,13,14,15,16,17, - 18,19,20,21,55,55,0,75,90,0, - 0,0,0,0,0,72,0,35,36,37, + 18,19,20,21,0,0,0,1,2,0, + 1,2,0,8,10,3,48,35,36,37, 38,39,0,41,42,43,44,45,46,47, - 0,49,50,51,52,53,54,0,1,2, - 3,4,5,6,7,0,9,10,11,12, - 13,14,15,16,17,18,19,20,21,0, - 0,55,0,0,0,0,0,0,0,39, - 0,0,35,36,37,38,39,121,41,42, - 43,44,45,46,47,0,49,50,51,52, - 53,54,70,0,0,0,0,0,61,117, - 0,1,2,3,4,5,6,7,0,9, - 10,11,12,13,14,15,16,17,18,19, - 20,21,0,0,0,0,0,0,0,70, - 70,0,0,0,0,35,36,37,38,39, - 0,41,42,43,44,45,46,47,0,49, - 50,51,52,53,54,0,1,2,3,4, - 5,6,7,63,9,10,11,12,13,14, - 15,16,17,18,19,20,21,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 35,36,37,38,39,0,41,42,43,44, - 45,46,47,0,49,50,51,52,53,54, - 0,0,0,0,0,0,61,0,1,2, + 25,49,50,51,52,53,54,0,0,0, + 0,3,0,61,40,69,0,10,8,67, + 0,0,48,71,0,1,2,3,4,5, + 6,7,8,9,10,11,12,13,14,15, + 16,17,18,19,20,21,0,40,0,0, + 0,3,0,0,4,48,0,8,0,35, + 36,37,38,39,8,41,42,43,44,45, + 46,47,22,49,50,51,52,53,54,0, + 68,25,90,73,63,61,70,8,0,69, + 0,67,0,1,2,3,4,5,6,7, + 10,9,10,11,12,13,14,15,16,17, + 18,19,20,21,0,0,70,0,0,0, + 3,69,73,8,0,0,0,35,36,37, + 38,39,0,41,42,43,44,45,46,47, + 25,49,50,51,52,53,54,0,0,59, + 0,0,73,61,4,0,0,65,66,0, + 1,2,3,4,5,6,7,8,9,10, + 11,12,13,14,15,16,17,18,19,20, + 21,55,0,0,70,0,3,55,63,0, + 8,72,3,69,35,36,37,38,39,48, + 41,42,43,44,45,46,47,25,49,50, + 51,52,53,54,0,0,0,3,70,72, + 61,0,0,0,39,70,67,0,1,2, 3,4,5,6,7,0,9,10,11,12, 13,14,15,16,17,18,19,20,21,0, - 0,0,0,0,0,0,0,0,0,0, + 0,0,3,0,5,6,0,4,9,0, 0,0,35,36,37,38,39,0,41,42, 43,44,45,46,47,0,49,50,51,52, + 53,54,61,48,35,36,37,38,61,0, + 41,69,65,66,0,0,0,0,0,0, + 0,0,0,3,55,55,55,0,55,0, + 3,55,63,0,65,66,55,68,69,70, + 0,0,55,0,0,102,0,3,69,3, + 55,0,72,0,3,0,87,88,89,0, + 0,92,93,94,95,96,97,98,99,100, + 101,55,55,55,55,106,55,108,109,110, + 111,112,113,114,115,116,117,0,1,2, + 3,4,5,6,7,8,9,10,11,12, + 13,14,15,16,17,18,19,20,21,0, + 70,70,3,0,55,72,102,102,0,90, + 0,3,35,36,37,38,39,72,41,42, + 43,44,45,46,47,75,49,50,51,52, 53,54,0,1,2,3,4,5,6,7, 0,9,10,11,12,13,14,15,16,17, 18,19,20,21,0,0,0,0,0,0, 0,0,0,0,0,0,0,35,36,37, 38,39,0,41,42,43,44,45,46,47, - 0,49,50,51,52,53,54,0,1,2, - 3,4,5,6,7,0,9,10,11,12, - 13,14,15,16,17,18,19,20,21,0, + 70,49,50,51,52,53,54,0,0,0, + 0,0,0,61,0,118,0,1,2,3, + 4,5,6,7,39,9,10,11,12,13, + 14,15,16,17,18,19,20,21,0,0, + 0,0,0,0,70,70,0,0,0,0, + 0,35,36,37,38,39,0,41,42,43, + 44,45,46,47,0,49,50,51,52,53, + 54,0,1,2,3,4,5,6,7,63, + 9,10,11,12,13,14,15,16,17,18, + 19,20,21,0,102,0,0,0,0,0, + 0,0,0,0,0,0,35,36,37,38, + 39,0,41,42,43,44,45,46,47,0, + 49,50,51,52,53,54,0,0,0,0, + 0,0,61,0,1,2,3,4,5,6, + 7,0,9,10,11,12,13,14,15,16, + 17,18,19,20,21,0,0,0,0,0, + 0,0,0,0,0,0,0,0,35,36, + 37,38,39,0,41,42,43,44,45,46, + 47,0,49,50,51,52,53,54,0,1, + 2,3,4,5,6,7,0,9,10,11, + 12,13,14,15,16,17,18,19,20,21, 0,0,0,0,0,0,0,0,0,0, - 0,0,35,36,37,38,39,0,41,42, - 43,44,45,46,47,0,49,50,51,52, - 53,54,0,1,2,0,4,0,0,0, - 0,0,10,11,12,13,14,15,16,17, - 18,19,20,21,22,23,24,0,26,27, - 28,29,30,31,32,33,34,0,0,0, - 0,0,40,0,0,0,0,0,0,0, - 0,0,1,2,0,4,0,0,56,57, - 58,10,11,12,13,14,15,16,17,18, - 19,20,21,22,23,24,0,26,27,28, - 29,30,31,32,33,34,0,0,0,0, - 0,40,0,1,2,3,4,5,6,7, - 8,9,0,0,0,0,0,56,57,58, + 0,0,0,35,36,37,38,39,0,41, + 42,43,44,45,46,47,0,49,50,51, + 52,53,54,0,1,2,3,4,5,6, + 7,0,9,10,11,12,13,14,15,16, + 17,18,19,20,21,0,0,0,0,0, + 0,0,0,0,0,0,0,0,35,36, + 37,38,39,0,41,42,43,44,45,46, + 47,0,49,50,51,52,53,54,0,1, + 2,0,4,0,0,0,0,0,10,11, + 12,13,14,15,16,17,18,19,20,21, + 22,23,24,0,26,27,28,29,30,31, + 32,33,34,0,0,0,0,0,40,0, + 0,0,0,0,0,0,0,0,1,2, + 0,4,0,0,56,57,58,10,11,12, + 13,14,15,16,17,18,19,20,21,22, + 23,24,0,26,27,28,29,30,31,32, + 33,34,0,0,0,0,0,40,0,1, + 2,3,4,5,6,7,8,9,0,0, + 0,0,0,56,57,58,0,0,0,0, + 22,23,24,25,26,27,28,29,30,31, + 32,33,34,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,55,3,0, + 0,0,0,55,0,0,0,0,0,0, + 68,63,0,0,0,0,0,0,0,0, + 0,73,0,1,2,3,4,5,6,7, + 8,9,37,38,0,0,94,95,0,0, 0,0,0,0,22,23,24,25,26,27, - 28,29,30,31,32,33,34,0,0,0, + 28,29,30,31,32,33,34,0,63,0, 0,0,0,0,0,0,0,0,0,0, - 0,55,3,55,0,55,0,55,0,0, - 0,0,0,0,68,63,68,0,68,0, - 0,0,0,0,0,73,0,1,2,3, - 4,5,6,7,8,9,37,38,0,0, - 94,95,94,95,94,95,0,0,22,23, - 24,25,26,27,28,29,30,31,32,33, - 34,0,63,0,0,0,0,0,0,0, - 0,0,0,0,0,11,12,13,14,15, - 16,17,18,19,20,21,22,23,24,63, - 26,27,28,29,30,31,32,33,34,73, - 0,0,0,0,105,0,0,0,0,0, - 0,0,0,0,0,0,0,0,119,0, + 0,11,12,13,14,15,16,17,18,19, + 20,21,22,23,24,63,26,27,28,29, + 30,31,32,33,34,73,0,0,0,0, + 0,106,0,0,0,0,0,0,0,0, + 0,0,0,0,119,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,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; @@ -1455,345 +1456,346 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars public interface TermAction { public final static char termAction[] = {0, - 5411,5388,5364,5364,5364,5364,5364,5364,5398,5364, + 5416,5390,5366,5366,5366,5366,5366,5366,5400,5366, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5392,1,1,1,1, + 1,1,1,1,1,5394,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,139,1, - 1,1,1,1,1,1,1,1,1,1901, - 5586,1,2775,115,3573,1,1,5422,5411,3696, - 5411,5418,3088,4777,1637,3843,3820,2245,3807,3772, - 3072,3837,1056,3836,3433,3830,10,5401,5401,5401, - 5401,5401,5401,5401,5401,5401,5401,5401,5401,5401, - 5401,5401,5401,5401,5401,5401,5401,5401,5401,5401, - 5401,5401,5401,5401,5401,5401,5401,5401,5401,5401, - 5401,5401,5401,5401,5401,5401,5401,5401,5401,5401, - 5401,5401,5401,5401,331,5401,5401,5401,5401,5401, - 5401,396,5401,5401,5401,5401,5401,5401,5401,2292, - 5401,5401,5401,5401,4235,3671,3496,5401,157,533, - 5401,5401,5401,5401,5401,5401,5401,5401,5401,5401, - 5401,5401,8,5404,5404,5404,5404,5404,5404,5404, - 5404,5404,5404,5404,5404,5404,5404,5404,5404,5404, - 5404,5404,5404,5404,5404,5404,5404,5404,5404,5404, - 5404,5404,5404,5404,5404,5404,5404,5404,5404,5404, - 5404,5404,5404,5404,5404,5404,5404,5404,5404,5404, - 3755,5404,5404,5404,5404,5404,5404,1905,5404,5404, - 5404,5404,5404,5404,5404,303,5404,5404,5404,5404, - 289,5157,5157,5404,284,5713,5404,5404,5404,5404, - 5404,5404,5404,5404,5404,5404,5404,5404,5411,5388, - 5364,5364,5364,5364,5364,5364,5395,5364,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5392,1,1,1,1,1,1, + 1,1,1,1,1,332,1,1,1,1903, + 5591,1,2777,115,3575,1,1,5427,5416,3698, + 5416,5423,3090,4779,1639,3845,3822,2247,3809,3774, + 3074,3839,1058,3838,3435,3832,10,5403,5403,5403, + 5403,5403,5403,5403,5403,5403,5403,5403,5403,5403, + 5403,5403,5403,5403,5403,5403,5403,5403,5403,5403, + 5403,5403,5403,5403,5403,5403,5403,5403,5403,5403, + 5403,5403,5403,5403,5403,5403,5403,5403,5403,5403, + 5403,5403,5403,5403,397,5403,5403,5403,5403,5403, + 5403,386,5403,5403,5403,5403,5403,5403,5403,300, + 5403,5403,5403,5403,39,3673,3498,5403,5454,5416, + 5403,5403,5403,5403,5403,5403,5403,5403,5403,5403, + 5403,5403,8,5406,5406,5406,5406,5406,5406,5406, + 5406,5406,5406,5406,5406,5406,5406,5406,5406,5406, + 5406,5406,5406,5406,5406,5406,5406,5406,5406,5406, + 5406,5406,5406,5406,5406,5406,5406,5406,5406,5406, + 5406,5406,5406,5406,5406,5406,5406,5406,5406,5406, + 5416,5406,5406,5406,5406,5406,5406,5873,5406,5406, + 5406,5406,5406,5406,5406,304,5406,5406,5406,5406, + 290,5159,5159,5406,285,5719,5406,5406,5406,5406, + 5406,5406,5406,5406,5406,5406,5406,5406,5416,5390, + 5366,5366,5366,5366,5366,5366,5397,5366,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,5394,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,385,1,1,1, - 1,1,1,440,1,1,1,1901,5586,1, - 2775,5411,3573,1,1,5422,5411,5094,5091,5419, - 5449,299,1637,3843,3820,2245,3807,3772,3072,3837, - 1056,3836,3433,3830,5411,5388,5364,5364,5364,5364, - 5364,5364,5395,5364,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5392, + 1,1,1,1,1,1,5416,1,1,1, + 1,1,1,135,1,1,1,1903,5591,1, + 2777,5416,3575,1,1,5427,5416,5096,5093,5424, + 5454,5416,1639,3845,3822,2247,3809,3774,3074,3839, + 1058,3838,3435,3832,5416,5390,5366,5366,5366,5366, + 5366,5366,5397,5366,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5394, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,5418,1,1,1,1,1,1,135, - 1,1,1,1901,5586,1,2775,117,3573,1, - 1,5422,5411,3696,5411,5847,5848,5849,1637,3843, - 3820,2245,3807,3772,3072,3837,1056,3836,3433,3830, - 5411,5388,5364,5364,5364,5364,5364,5364,5395,5364, + 1,1,5423,1,1,1,1,1,1,5859, + 1,1,1,1903,5591,1,2777,117,3575,1, + 1,5427,2368,3698,5416,5430,5431,5416,1639,3845, + 3822,2247,3809,3774,3074,3839,1058,3838,3435,3832, + 5416,5390,5366,5366,5366,5366,5366,5366,5397,5366, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5392,1,1,1,1, + 1,1,1,1,1,5394,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,5411,1, - 1,1,1,1,1,5411,1,1,1,1901, - 5586,1,2775,5411,3573,1,1,5422,2366,3671, - 3496,5411,5425,5426,1637,3843,3820,2245,3807,3772, - 3072,3837,1056,3836,3433,3830,5411,5388,5364,5364, - 5364,5364,5364,5364,5395,5364,1,1,1,1, + 1,1,1,1,1,1,1,1,5416,1, + 1,1,1,1,1,5930,1,1,1,1903, + 5591,1,2777,5416,3575,1,1,5427,111,3673, + 3498,5416,5084,5081,1639,3845,3822,2247,3809,3774, + 3074,3839,1058,3838,3435,3832,5416,5390,5366,5366, + 5366,5366,5366,5366,5397,5366,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,5392,1,1,1,1,1,1,1,1, + 1,5394,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,5411,1,1,1,1,1, - 1,5411,1,1,1,1901,5586,1,2775,116, - 3573,1,1,5422,111,3696,5411,5082,5079,5411, - 1637,3843,3820,2245,3807,3772,3072,3837,1056,3836, - 3433,3830,5411,5388,5364,5364,5364,5364,5364,5364, - 5395,5364,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5392,1,1, + 1,1,1,1,5416,1,1,1,1,1, + 1,136,1,1,1,1903,5591,1,2777,116, + 3575,1,1,5427,5416,3698,121,4116,157,4139, + 1639,3845,3822,2247,3809,3774,3074,3839,1058,3838, + 3435,3832,5416,5390,5366,5366,5366,5366,5366,5366, + 5397,5366,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,5394,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 5411,1,1,1,1,1,1,5867,1,1, - 1,1901,5586,1,2775,5411,3573,1,1,5422, - 39,3671,3496,4114,5449,4137,1637,3843,3820,2245, - 3807,3772,3072,3837,1056,3836,3433,3830,5411,5388, - 5364,5364,5364,5364,5364,5364,5395,5364,1,1, + 5416,1,1,1,1,1,1,1907,1,1, + 1,1903,5591,1,2777,5416,3575,1,1,5427, + 2368,3673,3498,599,2799,5416,1639,3845,3822,2247, + 3809,3774,3074,3839,1058,3838,3435,3832,5416,5390, + 5366,5366,5366,5366,5366,5366,5397,5366,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5392,1,1,1,1,1,1, + 1,1,1,5394,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,336,1,1,1, - 1,1,1,5411,1,1,1,1901,5586,1, - 2775,5411,3573,1,1,5422,5411,5425,5426,5748, - 5749,2864,1637,3843,3820,2245,3807,3772,3072,3837, - 1056,3836,3433,3830,5411,5388,5364,5364,5364,5364, - 5364,5364,5395,5364,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5392, + 1,1,1,1,1,1,337,1,1,1, + 1,1,1,3160,1,1,1,1903,5591,1, + 2777,5416,3575,1,1,5427,5416,5430,5431,5754, + 5755,2866,1639,3845,3822,2247,3809,3774,3074,3839, + 1058,3838,3435,3832,5416,5390,5366,5366,5366,5366, + 5366,5366,5397,5366,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5394, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,5411,1,1,1,1,1,1,5411, - 1,1,1,1901,5586,1,2775,8,3573,1, - 1,5422,5411,5094,5091,5352,5449,5411,1637,3843, - 3820,2245,3807,3772,3072,3837,1056,3836,3433,3830, - 5411,5388,5364,5364,5364,5364,5364,5364,5395,5364, + 1,1,5416,1,1,1,1,1,1,5416, + 1,1,1,1903,5591,1,2777,5416,3575,1, + 1,5427,5416,5096,5093,5416,5454,5416,1639,3845, + 3822,2247,3809,3774,3074,3839,1058,3838,3435,3832, + 5416,5390,5366,5366,5366,5366,5366,5366,5397,5366, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5392,1,1,1,1, + 1,1,1,1,1,5394,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,139,1, + 1,1,1,1,1,3208,1,1,1,1903, + 5591,1,2777,5416,3575,1,1,5427,5416,1245, + 5416,321,1132,1050,1639,3845,3822,2247,3809,3774, + 3074,3839,1058,3838,3435,3832,5416,5390,5366,5366, + 5366,5366,5366,5366,5397,5366,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,5352,1, - 1,1,1,1,1,5853,1,1,1,1901, - 5586,1,2775,5411,3573,1,1,5422,121,1243, - 5411,125,1130,1048,1637,3843,3820,2245,3807,3772, - 3072,3837,1056,3836,3433,3830,5411,5388,5364,5364, - 5364,5364,5364,5364,5395,5364,1,1,1,1, + 1,5394,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,5392,1,1,1,1,1,1,1,1, + 1,1,1,1,1341,1,1,1,1,1, + 1,5416,1,1,1,1903,5591,1,2777,2294, + 3575,1,1,5427,114,4237,399,5430,5431,5416, + 1639,3845,3822,2247,3809,3774,3074,3839,1058,3838, + 3435,3832,5416,3791,1,1,1,1,1,1, + 3826,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,5425,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,5411,1,1,1,1,1, - 1,5411,1,1,1,1901,5586,1,2775,5411, - 3573,1,1,5422,5411,597,2797,5415,597,2797, - 1637,3843,3820,2245,3807,3772,3072,3837,1056,3836, - 3433,3830,5411,3789,1,1,1,1,1,1, - 3824,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5420,1,1, 1,1,1,1,1,1,1,1,1,1, + 320,1,1,1,1,1,1,3223,1,1, + 1,1903,5591,1,2777,131,3575,1,1,5427, + 48,5084,5081,4116,2432,4139,1639,3845,3822,2247, + 3809,3774,3074,3839,1058,3838,3435,3832,39,5096, + 5093,4755,1133,3932,4001,2939,5416,4024,879,5682, + 5680,5689,5688,5684,5685,5683,5686,5687,5690,5681, + 5677,5754,5755,1341,5671,5678,5674,5650,5676,5675, + 5672,5673,5651,3978,3955,4070,4047,5435,5816,3891, + 1153,1243,5437,1189,941,1235,456,5438,5436,1105, + 5432,5433,5434,5416,3247,5817,5818,3094,5416,1391, + 5416,5288,5288,230,5284,230,230,230,5292,230, 1,1,1,1,1,1,1,1,1,1, - 5411,1,1,1,1,1,1,5411,1,1, - 1,1901,5586,1,2775,5411,3573,1,1,5422, - 398,5425,5426,48,5082,5079,1637,3843,3820,2245, - 3807,3772,3072,3837,1056,3836,3433,3830,39,5094, - 5091,4753,1131,3930,3999,2937,5414,4022,877,5676, - 5674,5683,5682,5678,5679,5677,5680,5681,5684,5675, - 5671,5748,5749,114,5665,5672,5668,5644,5670,5669, - 5666,5667,5645,3976,3953,4068,4045,5430,5810,3889, - 1151,1241,5432,1187,939,1233,455,5433,5431,1103, - 5427,5428,5429,5411,3245,5811,5812,3092,320,1389, - 5411,5286,5286,229,5282,229,229,229,5290,229, + 1,1,1,1,1,230,1,1,1,1, + 1,1,1,1,1,5416,5430,5431,3303,460, + 1,5072,1,5059,5055,5322,5052,5328,5281,5325, + 5426,225,129,5416,113,132,1,1,1,681, + 5830,5420,2692,5416,2432,226,5051,5425,1,133, + 112,418,230,5677,5754,5755,364,5671,5678,5674, + 5650,5676,5675,5672,5673,5651,5918,5677,5754,5755, + 5416,5671,5678,5674,5650,5676,5675,5672,5673,5651, + 4093,823,5102,5853,5854,5855,5416,5288,5288,230, + 5284,230,230,230,5331,230,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,229,1,1,1,1, - 1,1,1,1,1,5411,5425,5426,5411,5411, - 1,5070,1,5057,5053,5320,5050,5326,5279,5323, - 5421,224,4114,113,4137,131,1,1,1,679, - 5824,1339,2690,129,2430,225,91,5420,5411,5246, - 294,417,229,5671,5748,5749,5417,5665,5672,5668, - 5644,5670,5669,5666,5667,5645,5912,5671,5748,5749, - 5411,5665,5672,5668,5644,5670,5669,5666,5667,5645, - 4091,821,5847,5848,5849,5411,5286,5286,229,5282, - 229,229,229,5329,229,1,1,1,1,1, + 1,230,1,1,1,1,1,1,1,1, + 1,364,5416,4116,33,4139,1,5108,2491,2462, + 5108,39,5108,5108,5281,5454,5416,332,364,4116, + 332,4139,1,1,1,681,5830,2401,2692,5108, + 5416,5419,39,37,5114,5114,5454,417,230,5108, + 5108,5108,5108,130,346,5096,5093,2853,1133,629, + 332,2939,5918,332,687,91,227,139,5248,5108, + 37,1,5059,5055,1063,5052,629,5108,2939,5853, + 5854,5855,5108,5108,5108,5108,5108,5108,5677,5754, + 5755,5452,5671,5678,5674,5650,5676,5675,5672,5673, + 5651,5108,5108,5108,5108,5108,5108,5108,5108,5108, + 5108,5108,5108,5108,5108,5108,313,1341,5452,1011, + 5108,5108,5108,5108,5108,5108,5108,5108,5108,5108, + 5108,5108,5108,5108,5108,5416,398,1864,5251,137, + 389,5251,5416,5251,5251,5853,5854,5855,1345,2491, + 2462,5416,5416,5059,5055,1063,5052,629,1,2939, + 5251,1,332,5096,5093,1063,1133,629,2294,2939, + 5251,5251,5251,5251,4237,1821,1778,1735,1692,1649, + 1606,1563,1520,1477,1434,238,1082,228,5266,185, + 5251,1002,5416,5096,5093,5416,1133,5254,5251,2939, + 2866,5416,118,5251,5251,5251,5251,5251,5251,5677, + 5754,5755,5955,5671,5678,5674,5650,5676,5675,5672, + 5673,5651,5251,5251,5251,5251,5251,5251,5251,5251, + 5251,5251,5251,5251,5251,5251,5251,3051,633,2333, + 1192,5251,5251,5251,5251,5251,5251,5251,5251,5251, + 5251,5251,5251,5251,5251,5251,5416,5366,5366,230, + 5366,230,230,230,5372,230,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 229,1,1,1,1,1,1,1,1,1, - 2073,5416,4114,33,4137,1,5106,347,29,5106, - 1850,5106,5106,5279,395,5154,5154,3858,284,2489, - 2460,1,1,1,679,5824,39,2690,5106,130, - 5449,5411,331,5411,1,331,416,229,5106,5106, - 5106,5106,5385,345,5094,5091,2851,1131,627,331, - 2937,5912,331,112,5411,226,5411,133,5106,37, - 5112,5112,284,1000,136,331,5106,5847,5848,5849, - 1339,5106,5106,5106,5106,5106,5106,5671,5748,5749, - 425,5665,5672,5668,5644,5670,5669,5666,5667,5645, - 5106,5106,5106,5106,5106,5106,5106,5106,5106,5106, - 5106,5106,5106,5106,5106,5418,1339,5447,5106,5106, - 5106,5106,5106,5106,5106,5106,5106,5106,5106,5106, - 5106,5411,5106,5106,5249,2489,2460,5249,1948,5249, - 5249,441,1,5057,5053,2851,5050,627,227,2937, - 5258,397,4114,5411,4137,388,5249,1,5057,5053, - 1061,5050,627,5049,2937,2399,5249,5249,5249,5249, - 5671,5748,5749,2366,5665,5672,5668,5644,5670,5669, - 5666,5667,5645,299,5425,5426,5249,137,331,5094, - 5091,1061,1131,627,5249,2937,5073,5411,118,5249, - 5249,5249,5249,5249,5249,1339,1000,311,5057,5053, - 1061,5050,627,5349,2937,5261,5349,134,5249,5249, - 5249,5249,5249,5249,5249,5249,5249,5249,5249,5249, - 5249,5249,5249,3049,631,5411,5249,5249,5249,5249, - 5249,5249,5249,5249,5249,5249,5249,5249,5249,5411, - 5249,5249,5411,5364,5364,229,5364,229,229,229, - 5370,229,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,229,1,1, - 8730,1,1,1,1,1,1,2331,37,5112, - 5112,5411,1,5112,1,5057,5053,1061,5050,627, - 5361,2937,311,124,139,293,5425,5426,1,1, - 1,2878,5622,5411,2775,2399,3573,4508,3282,311, - 5411,5082,5079,220,5411,5057,5053,1061,5050,627, - 1,2937,312,1,123,1009,3320,5411,5912,5411, - 5364,5364,229,5364,229,229,229,229,229,1, + 1,230,1,1,8782,1,1,1,1,1, + 1,134,37,5114,5114,120,1,5114,1,5059, + 5055,5322,5052,5328,5363,5325,300,5430,5431,5416, + 5413,5416,1,1,1,2880,5628,5422,2777,5416, + 3575,1,5059,5055,2853,5052,629,221,2939,5260, + 3051,633,5416,5059,5055,1063,5052,629,5351,2939, + 3322,5351,5918,5416,5366,5366,230,5366,230,230, + 230,230,230,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,230,1, + 1,8782,1,1,1,1,1,1,4914,37, + 5114,5114,5421,1,1341,332,446,1,1,2401, + 1,5363,5099,138,5263,5099,125,5416,3292,1, + 1,1,2880,5628,2036,2777,5416,3575,5416,368, + 5059,5055,2853,5052,629,1,2939,5416,1,312, + 5059,5055,1063,5052,629,5351,2939,5452,5351,5918, + 5416,5366,5366,230,5366,230,230,230,5381,230, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,229,1,1,8730,1,1, - 1,1,1,1,1862,37,5411,5094,5091,1, - 1131,5252,5411,2937,5948,4091,821,5361,1343,138, - 597,2797,5411,5411,3290,1,1,1,2878,5622, - 5417,2775,1080,3573,319,2292,36,5346,5343,5813, - 4235,1819,1776,1733,1690,1647,1604,1561,1518,1475, - 1432,597,2797,5447,1190,5912,5411,5364,5364,229, - 5364,229,229,229,5379,229,1,1,1,1, + 1,1,1,1,1,230,1,1,8782,1, + 1,1,1,1,1,447,39,39,5416,5454, + 1,5257,1341,5416,5257,38,5069,5066,5363,1212, + 5063,1,2939,599,2799,3230,1,1,1,2880, + 5628,5416,2777,2333,3575,124,1,5310,5310,517, + 5307,220,332,126,364,332,1,5059,5055,1063, + 5052,629,1426,2939,123,29,5918,5416,5366,5366, + 230,5366,230,230,230,5372,230,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,229,1,1,8730,1,1,1,1,1, - 1,4912,37,5112,5112,5416,1,1339,1,5057, - 5053,5320,5050,5326,5361,5323,429,39,5411,8468, - 8171,5449,1,1,1,2878,5622,516,2775,2331, - 3573,5411,1,5308,5308,5411,5305,219,331,685, - 363,331,5411,5057,5053,1061,5050,627,5349,2937, - 5447,5349,5912,5411,5364,5364,229,5364,229,229, - 229,5370,229,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,229,1, - 1,8730,1,1,1,1,1,1,3656,47, - 5411,5094,5091,1,1131,5252,965,2937,445,1, - 1,5361,1,5924,5097,363,122,5097,406,1, - 1,1,2878,5622,2034,2775,5314,3573,5411,5847, - 5848,5849,363,29,220,5411,345,39,39,2837, - 5449,237,331,5317,5264,331,5411,1126,2895,5912, - 5411,5364,5364,229,5364,229,229,229,5370,229, + 1,1,230,1,1,8782,1,1,1,1, + 1,1,396,5156,5156,3456,285,1,2604,1, + 5059,5055,1063,5052,629,5363,2939,312,967,364, + 1002,5117,5416,1,1,1,2880,5628,2036,2777, + 5428,3575,599,2799,312,48,364,426,221,5431, + 346,39,39,2839,5454,5416,332,2548,2520,332, + 285,599,2799,5918,5416,5366,5366,230,5366,230, + 230,230,5372,230,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,230, + 1,1,8782,1,1,1,1,1,1,5427, + 5431,5416,5096,5093,1,1133,5254,359,2939,5416, + 5430,5431,5363,1341,629,397,2939,5416,122,390, + 1,1,1,2880,5628,5422,2777,1950,3575,1, + 5059,5055,2853,5052,629,221,2939,5416,5096,5093, + 1,1133,629,4894,2939,43,5245,5245,5416,2897, + 5918,5416,5366,5366,230,5366,230,230,230,230, + 230,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,230,1,1,8782, + 1,1,1,1,1,1,441,5416,8666,8666, + 5421,1,1341,5242,92,1,1,5774,1,5363, + 5313,5416,5416,5313,4491,599,2799,1,1,1, + 2880,5628,5416,2777,1,3575,5416,2839,1,95, + 39,39,342,5454,128,5357,5384,430,5357,5416, + 5096,5093,5416,1133,629,5452,2939,5918,5416,5366, + 5366,230,5366,230,230,230,230,230,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,229,1,1,8730,1, - 1,1,1,1,1,446,39,39,5076,5449, - 1,5255,5411,5411,5255,38,5067,5064,5361,1339, - 5061,1000,2937,597,2797,5411,1,1,1,2878, - 5622,5411,2775,5423,3573,1,5057,5053,1061,5050, - 627,220,2937,1,5057,5053,2851,5050,627,459, - 2937,396,43,5243,5243,389,5912,5411,5364,5364, - 229,5364,229,229,229,229,229,1,1,1, + 1,1,1,230,1,1,8782,1,1,1, + 1,1,1,5416,5298,5295,5416,1341,1,2604, + 4510,3284,342,342,5416,5427,5363,342,5819,5853, + 5854,5855,5275,1,1,1,1,2880,5628,3658, + 2777,161,3575,5416,5430,5431,1,5416,5416,2839, + 4494,5428,564,5416,5260,45,5304,5304,2548,2520, + 5416,5452,5416,459,5918,5416,5366,5366,230,5366, + 230,230,230,230,230,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,229,1,1,8730,1,1,1,1, - 1,1,5422,375,5411,5094,5091,1,1131,627, - 5240,2937,5411,8468,8171,5361,1339,2034,292,1204, - 1204,132,5100,1,1,1,2878,5622,39,2775, - 2430,3573,5449,367,5057,5053,2851,5050,627,1, - 2937,1,1,92,1,1,458,1,5411,5311, - 3427,5411,5311,5912,5411,5364,5364,229,5364,229, - 229,229,229,229,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,229, - 1,1,8730,1,1,1,1,1,1,95, - 39,39,5411,5449,1,5355,1339,120,5355,5411, - 5425,5426,5361,1210,627,1,2937,5411,4892,5103, - 1,1,1,2878,5622,3454,2775,1,3573,3158, - 2837,3858,5411,5094,5091,341,1131,627,5411,2937, - 5411,1,3049,631,2837,5411,8706,8706,388,5258, - 5912,5411,5364,5364,229,5364,229,229,229,229, - 229,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,229,1,1,8730, - 1,1,1,1,1,1,5411,5425,5426,5411, - 1339,1,119,5447,5423,341,341,5419,5411,5361, - 341,48,303,5109,1339,5426,3206,1,1,1, - 2878,5622,5713,2775,5261,3573,1,5411,1,5411, - 4489,5411,5296,5293,161,5411,5417,3049,631,1, - 5057,5053,4753,5050,3930,3999,2937,5912,4022,5118, - 5145,5151,5124,5127,5139,5136,5142,5133,5130,5121, - 5148,1,5411,5422,1,5411,5426,2864,1017,529, - 5418,3091,163,348,3976,3953,4068,4045,5430,5447, - 3889,1151,1241,5432,1187,939,1233,358,5433,5431, - 1103,5427,5428,5429,45,5302,5302,3980,3282,161, - 1389,5416,362,3221,39,39,5411,517,39,5094, - 5091,4753,1131,3930,3999,2937,5332,4022,1005,5676, - 5674,5683,5682,5678,5679,5677,5680,5681,5684,5675, - 37,5112,5112,3228,529,5411,1339,163,4492,5411, - 5411,5411,5299,3976,3953,4068,4045,5430,5411,3889, - 1151,1241,5432,1187,939,1233,5421,5433,5431,1103, - 5427,5428,5429,5411,5339,5335,1,5411,1,1389, - 4925,3531,449,5420,363,5088,5382,5768,2767,5418, - 39,5094,5091,4753,1131,3930,3999,2937,5085,4022, - 1005,5676,5674,5683,5682,5678,5679,5677,5680,5681, - 5684,5675,5411,5411,5411,4936,3825,4242,4389,100, - 5411,5447,5411,1,562,3976,3953,4068,4045,5430, - 5421,3889,1151,1241,5432,1187,939,1233,5411,5433, - 5431,1103,5427,5428,5429,5422,370,5420,286,363, - 5411,1389,292,3530,2112,5411,5411,5088,141,5094, - 5091,4753,1131,3930,3999,2937,363,4022,1005,5676, - 5674,5683,5682,5678,5679,5677,5680,5681,5684,5675, - 368,1,4939,5411,103,99,3298,4249,421,5421, - 1,4206,5411,3976,3953,4068,4045,5430,191,3889, - 1151,1241,5432,1187,939,1233,5420,5433,5431,1103, - 5427,5428,5429,5770,35,191,1253,5696,48,1389, - 5411,7998,5425,39,39,39,5094,5091,4753,1131, - 3930,3999,2937,5085,4022,1005,5676,5674,5683,5682, - 5678,5679,5677,5680,5681,5684,5675,3166,2120,5411, - 1296,279,5411,2453,5367,2159,427,450,2206,1424, - 3976,3953,4068,4045,5430,5411,3889,1151,1241,5432, - 1187,939,1233,5425,5433,5431,1103,5427,5428,5429, - 5411,5411,5411,3584,3550,4659,1389,522,5411,5411, - 509,3750,5088,1,5057,5053,4753,5050,3930,3999, - 2937,5411,4022,5118,5145,5151,5124,5127,5139,5136, - 5142,5133,5130,5121,5148,1,507,1,1895,5411, - 5881,5875,5411,1,5879,3445,2745,5373,3976,3953, - 4068,4045,5430,5373,3889,1151,1241,5432,1187,939, - 1233,5411,5433,5431,1103,5427,5428,5429,5411,310, - 5873,5874,5904,5905,1389,5411,5882,5376,39,39, - 4905,3128,5411,5376,396,3631,5411,5411,1,5411, - 5884,3631,4847,3184,3390,5411,5411,4367,996,4848, - 811,820,5411,5885,5906,5883,4907,5411,5411,5411, - 4877,2972,4887,5411,5411,3301,4650,3629,5411,73, - 5411,4942,5895,5894,5907,3858,185,5876,5877,5900, - 5901,5898,5899,5878,5880,5902,5903,3290,4219,1000, - 5908,3334,5888,5889,5890,5886,5887,5896,5897,5892, - 5891,5893,39,5094,5091,4753,1131,3930,3999,2937, - 5415,4022,1005,5676,5674,5683,5682,5678,5679,5677, - 5680,5681,5684,5675,5358,3787,2,4003,4308,5411, - 5411,5411,5411,5411,5411,3240,5411,3976,3953,4068, - 4045,5430,5411,3889,1151,1241,5432,1187,939,1233, - 1,5433,5431,1103,5427,5428,5429,39,5094,5091, - 4753,1131,3930,3999,2937,5411,4022,1005,5676,5674, - 5683,5682,5678,5679,5677,5680,5681,5684,5675,5411, - 511,37,5411,5411,5411,5411,5411,5411,5411,3561, - 5411,5411,3976,3953,4068,4045,5430,5408,3889,1151, - 1241,5432,1187,939,1233,5411,5433,5431,1103,5427, - 5428,5429,3550,5411,5411,5411,5411,5411,1389,5414, - 39,5094,5091,4753,1131,3930,3999,2937,5411,4022, - 1005,5676,5674,5683,5682,5678,5679,5677,5680,5681, - 5684,5675,5411,5411,5411,5411,5411,5411,5411,1991, - 807,5411,5411,5411,5411,3976,3953,4068,4045,5430, - 5411,3889,1151,1241,5432,1187,939,1233,5411,5433, - 5431,1103,5427,5428,5429,39,5094,5091,4753,1131, - 3930,3999,2937,1816,4022,1005,5676,5674,5683,5682, - 5678,5679,5677,5680,5681,5684,5675,5411,5411,5411, - 5411,5411,5411,5411,5411,5411,5411,5411,5411,5411, - 3976,3953,4068,4045,5430,5411,3889,1151,1241,5432, - 1187,939,1233,5411,5433,5431,1103,5427,5428,5429, - 5411,5411,5411,5411,5411,5411,1389,39,5094,5091, - 4782,1131,3930,3999,2937,5411,4022,1005,5676,5674, - 5683,5682,5678,5679,5677,5680,5681,5684,5675,5411, - 5411,5411,5411,5411,5411,5411,5411,5411,5411,5411, - 5411,5411,3976,3953,4068,4045,5430,5411,3889,1151, - 1241,5432,1187,939,1233,5411,5433,5431,1103,5427, - 5428,5429,39,5094,5091,4753,1131,3930,3999,2937, - 5411,4022,1005,5676,5674,5683,5682,5678,5679,5677, - 5680,5681,5684,5675,5411,5411,5411,5411,5411,5411, - 5411,5411,5411,5411,5411,5411,5411,3976,3953,4068, - 4045,5430,5411,3889,1151,1241,5432,1187,939,1233, - 5411,5433,5431,1103,5427,5428,5429,39,5094,5091, - 4753,1131,3930,3999,2937,5411,4022,1005,5676,5674, - 5683,5682,5678,5679,5677,5680,5681,5684,5675,5411, - 5411,5411,5411,5411,5411,5411,5411,5411,5411,5411, - 5411,5411,3976,3953,4068,4045,5430,5411,3889,1151, - 1241,5432,1187,939,1233,5411,5433,5431,1103,5427, - 5428,5429,5411,5094,5091,5411,5449,5411,5411,5411, - 5411,5411,741,5676,5674,5683,5682,5678,5679,5677, - 5680,5681,5684,5675,5671,5748,5749,5411,5665,5672, - 5668,5644,5670,5669,5666,5667,5645,5411,5411,5411, - 5411,5411,5810,5411,5411,5411,5411,5411,5411,5411, - 5411,241,5233,5229,5411,5237,5411,5411,3245,5811, - 5812,741,5220,5226,5199,5202,5214,5211,5217,5208, - 5205,5196,5223,5175,5169,5166,5411,5193,5172,5184, - 5163,5178,5181,5190,5187,5160,126,5411,128,5411, - 127,5810,29,388,388,5270,388,388,5270,388, - 5270,5270,5411,5411,5411,5411,5411,3245,5811,5812, - 5411,5411,5411,5411,388,388,388,5270,388,388, - 388,388,388,388,388,388,388,5411,5411,5411, - 5411,5411,5411,5411,5411,5411,5411,5411,5411,75, - 5411,2602,1111,2602,5411,2602,5411,5076,5411,5411, - 5411,5411,5411,5411,5115,5270,5273,5411,5276,5411, - 5411,5411,5411,5411,5411,5270,32,389,389,5267, - 389,389,5267,389,5267,5267,5473,5474,5411,5411, - 2546,2518,2546,2518,2546,2518,5411,5411,389,389, - 389,5267,389,389,389,389,389,389,389,389, - 389,5411,3801,5411,223,5411,5411,5411,5411,5411, - 5411,5411,5411,5411,5411,5676,5674,5683,5682,5678, - 5679,5677,5680,5681,5684,5675,5671,5748,5749,5267, - 5665,5672,5668,5644,5670,5669,5666,5667,5645,5267, - 5411,5411,5411,5411,584,5411,5411,5411,5411,5411, - 5411,5411,5411,5411,5411,5411,5411,5411,665 + 230,1,1,8782,1,1,1,1,1,1, + 5416,5084,5081,5301,5416,1,161,5416,348,1341, + 5427,1852,5424,5363,349,5426,294,5430,5431,5263, + 8,1,1,1,2880,5628,5105,2777,5354,3575, + 3982,3284,5425,119,1,37,5114,5114,36,5348, + 5345,5416,5387,1,5059,5055,4755,5052,3932,4001, + 2939,5918,4024,5120,5147,5153,5126,5129,5141,5138, + 5144,5135,5132,5123,5150,4093,823,5416,3051,633, + 4927,1341,5416,1019,5416,5423,4208,1341,3978,3955, + 4070,4047,5435,2769,3891,1153,1243,5437,1189,941, + 1235,5354,5438,5436,1105,5432,5433,5434,5416,5341, + 5337,5416,8580,7852,1391,5423,363,5416,39,39, + 4938,518,39,5096,5093,4755,1133,3932,4001,2939, + 5334,4024,1007,5682,5680,5689,5688,5684,5685,5683, + 5686,5687,5690,5681,1,407,5416,8580,7852,293, + 1206,1206,5416,5316,5375,3827,5452,3978,3955,4070, + 4047,5435,1,3891,1153,1243,5437,1189,941,1235, + 5319,5438,5436,1105,5432,5433,5434,1,5416,5416, + 1,4244,5416,1391,5378,3533,295,5375,5422,5090, + 287,100,3633,5423,39,5096,5093,4755,1133,3932, + 4001,2939,5087,4024,1007,5682,5680,5689,5688,5684, + 5685,5683,5686,5687,5690,5681,371,5378,5416,1, + 39,3532,293,5416,5454,3633,5416,531,5416,3978, + 3955,4070,4047,5435,5426,3891,1153,1243,5437,1189, + 941,1235,3429,5438,5436,1105,5432,5433,5434,1, + 4391,5425,5776,5421,4941,1391,2075,163,5416,5702, + 304,5090,141,5096,5093,4755,1133,3932,4001,2939, + 5719,4024,1007,5682,5680,5689,5688,5684,5685,5683, + 5686,5687,5690,5681,369,1,1255,103,5416,450, + 4251,8306,531,5426,428,99,442,3978,3955,4070, + 4047,5435,29,3891,1153,1243,5437,1189,941,1235, + 5425,5438,5436,1105,5432,5433,5434,5416,422,3093, + 5416,47,163,1391,2455,35,5416,39,39,39, + 5096,5093,4755,1133,3932,4001,2939,5087,4024,1007, + 5682,5680,5689,5688,5684,5685,5683,5686,5687,5690, + 5681,5075,1,280,1298,5416,5369,5078,2122,5416, + 191,2114,3586,3447,3978,3955,4070,4047,5435,1128, + 3891,1153,1243,5437,1189,941,1235,191,5438,5436, + 1105,5432,5433,5434,5416,5416,5416,4661,2208,2161, + 1391,535,451,5416,3752,3552,5090,1,5059,5055, + 4755,5052,3932,4001,2939,5416,4024,5120,5147,5153, + 5126,5129,5141,5138,5144,5135,5132,5123,5150,1, + 5416,389,1897,48,5887,5881,5416,5430,5885,311, + 5416,5416,3978,3955,4070,4047,5435,5416,3891,1153, + 1243,5437,1189,941,1235,5416,5438,5436,1105,5432, + 5433,5434,3757,3300,5879,5880,5910,5911,1391,5416, + 5888,2747,39,39,376,524,5416,397,5416,73, + 5416,5416,5416,4849,5890,1002,5111,5416,5430,1, + 4850,3168,998,5416,813,822,3392,5891,5912,5889, + 510,508,4369,5416,5416,3860,5416,4879,4221,2974, + 4652,5416,3130,5416,4889,5416,5901,5900,5913,2, + 194,5882,5883,5906,5907,5904,5905,5884,5886,5908, + 5909,3292,1002,3336,5360,5914,3789,5894,5895,5896, + 5892,5893,5902,5903,5898,5897,5899,39,5096,5093, + 4755,1133,3932,4001,2939,5420,4024,1007,5682,5680, + 5689,5688,5684,5685,5683,5686,5687,5690,5681,5416, + 4907,4909,3631,5416,37,3186,3860,1,5416,4310, + 5416,4944,3978,3955,4070,4047,5435,3242,3891,1153, + 1243,5437,1189,941,1235,5410,5438,5436,1105,5432, + 5433,5434,39,5096,5093,4755,1133,3932,4001,2939, + 5416,4024,1007,5682,5680,5689,5688,5684,5685,5683, + 5686,5687,5690,5681,5416,512,5416,5416,5416,5416, + 5416,5416,5416,5416,5416,1,5416,3978,3955,4070, + 4047,5435,523,3891,1153,1243,5437,1189,941,1235, + 3552,5438,5436,1105,5432,5433,5434,5416,5416,5416, + 5416,5416,5416,1391,5416,5419,39,5096,5093,4755, + 1133,3932,4001,2939,3563,4024,1007,5682,5680,5689, + 5688,5684,5685,5683,5686,5687,5690,5681,5416,5416, + 5416,5416,5416,5416,1993,809,5416,5416,5416,5416, + 5416,3978,3955,4070,4047,5435,5416,3891,1153,1243, + 5437,1189,941,1235,5416,5438,5436,1105,5432,5433, + 5434,39,5096,5093,4755,1133,3932,4001,2939,1818, + 4024,1007,5682,5680,5689,5688,5684,5685,5683,5686, + 5687,5690,5681,5416,3860,5416,5416,5416,5416,5416, + 5416,5416,5416,5416,5416,5416,3978,3955,4070,4047, + 5435,5416,3891,1153,1243,5437,1189,941,1235,5416, + 5438,5436,1105,5432,5433,5434,5416,5416,5416,5416, + 5416,5416,1391,39,5096,5093,4784,1133,3932,4001, + 2939,5416,4024,1007,5682,5680,5689,5688,5684,5685, + 5683,5686,5687,5690,5681,5416,5416,5416,5416,5416, + 5416,5416,5416,5416,5416,5416,5416,5416,3978,3955, + 4070,4047,5435,5416,3891,1153,1243,5437,1189,941, + 1235,5416,5438,5436,1105,5432,5433,5434,39,5096, + 5093,4755,1133,3932,4001,2939,5416,4024,1007,5682, + 5680,5689,5688,5684,5685,5683,5686,5687,5690,5681, + 5416,5416,5416,5416,5416,5416,5416,5416,5416,5416, + 5416,5416,5416,3978,3955,4070,4047,5435,5416,3891, + 1153,1243,5437,1189,941,1235,5416,5438,5436,1105, + 5432,5433,5434,39,5096,5093,4755,1133,3932,4001, + 2939,5416,4024,1007,5682,5680,5689,5688,5684,5685, + 5683,5686,5687,5690,5681,5416,5416,5416,5416,5416, + 5416,5416,5416,5416,5416,5416,5416,5416,3978,3955, + 4070,4047,5435,5416,3891,1153,1243,5437,1189,941, + 1235,5416,5438,5436,1105,5432,5433,5434,5416,5096, + 5093,5416,5454,5416,5416,5416,5416,5416,743,5682, + 5680,5689,5688,5684,5685,5683,5686,5687,5690,5681, + 5677,5754,5755,5416,5671,5678,5674,5650,5676,5675, + 5672,5673,5651,5416,5416,5416,5416,5416,5816,5416, + 5416,5416,5416,5416,5416,5416,5416,242,5235,5231, + 5416,5239,5416,5416,3247,5817,5818,743,5222,5228, + 5201,5204,5216,5213,5219,5210,5207,5198,5225,5177, + 5171,5168,5416,5195,5174,5186,5165,5180,5183,5192, + 5189,5162,127,5416,5416,5416,5416,5816,29,389, + 389,5272,389,389,5272,389,5272,5272,5416,5416, + 5416,5416,5416,3247,5817,5818,5416,5416,5416,5416, + 389,389,389,5272,389,389,389,389,389,389, + 389,389,389,5416,5416,5416,5416,5416,5416,5416, + 5416,5416,5416,5416,5416,75,5416,2604,1113,5416, + 5416,5416,5416,5078,5416,5416,5416,5416,5416,5416, + 5278,5272,5416,5416,5416,5416,5416,5416,5416,5416, + 5416,5272,32,390,390,5269,390,390,5269,390, + 5269,5269,5478,5479,5416,5416,2548,2520,5416,5416, + 5416,5416,5416,5416,390,390,390,5269,390,390, + 390,390,390,390,390,390,390,5416,3803,5416, + 224,5416,5416,5416,5416,5416,5416,5416,5416,5416, + 5416,5682,5680,5689,5688,5684,5685,5683,5686,5687, + 5690,5681,5677,5754,5755,5269,5671,5678,5674,5650, + 5676,5675,5672,5673,5651,5269,5416,5416,5416,5416, + 5416,586,5416,5416,5416,5416,5416,5416,5416,5416, + 5416,5416,5416,5416,667 }; }; public final static char termAction[] = TermAction.termAction; @@ -1801,60 +1803,60 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars public interface Asb { public final static char asb[] = {0, - 415,80,14,1017,569,167,277,277,677,575, + 415,80,14,1015,569,167,277,277,677,575, 277,575,7,7,536,130,569,575,376,126, 21,21,274,717,266,126,277,277,868,277, - 21,575,1021,956,818,226,126,536,4,893, - 423,868,868,868,868,1019,423,520,169,537, + 21,575,1019,954,818,226,126,536,4,893, + 423,868,868,868,868,1017,423,520,169,537, 537,537,537,537,537,537,537,537,279,285, 290,287,294,292,299,297,301,300,302,327, - 303,575,377,272,270,21,21,1017,945,956, - 893,956,218,956,772,956,940,1019,575,266, + 303,575,377,272,270,21,21,1015,943,954, + 893,954,218,954,772,954,938,1017,575,266, 266,21,749,573,266,318,485,4,130,520, 717,717,717,717,575,174,126,126,117,520, - 898,716,818,520,279,817,817,174,536,537, + 896,716,818,520,279,817,817,174,536,537, 537,537,537,537,537,537,537,537,537,537, 537,537,537,537,537,537,537,537,536,536, 536,536,536,536,536,536,536,536,536,536, 537,749,377,270,770,769,770,274,430,220, - 474,221,1019,575,575,475,770,1021,575,536, + 474,221,1017,575,575,475,770,1019,575,536, 130,126,126,770,770,770,770,475,126,537, - 1017,632,622,621,578,963,963,1019,169,266, + 1015,632,622,621,578,961,961,1017,169,266, 716,536,126,572,574,572,126,266,287,287, 285,285,285,292,292,292,292,290,290,297, - 294,294,300,299,301,1033,302,270,270,520, + 294,294,300,299,301,1031,302,270,270,520, 430,575,892,425,756,475,893,479,575,475, 575,749,3,423,423,423,423,575,575,117, 126,634,636,575,818,537,717,283,82,126, - 575,574,818,536,270,269,4,575,430,1033, - 221,868,477,73,1023,430,892,757,892,892, + 575,574,818,536,270,269,4,575,430,1031, + 221,868,477,73,1021,430,892,757,892,892, 475,479,479,575,575,1,129,536,536,536, 536,423,423,126,626,614,625,636,475,573, - 126,283,1017,1021,575,573,270,818,893,893, - 770,868,572,891,1025,423,892,892,892,892, + 126,283,1015,1019,575,573,270,818,893,893, + 770,868,572,891,1023,423,892,892,892,892, 575,479,3,824,3,1,1,126,126,126, - 126,174,174,762,536,623,623,630,1017,829, - 126,575,283,284,283,536,82,78,279,1021, + 126,174,174,762,536,623,623,630,1015,829, + 126,575,283,284,283,536,82,78,279,1019, 573,778,893,380,446,573,892,892,569,323, - 537,1033,16,862,636,892,892,878,3,4, + 537,1031,16,862,636,892,892,878,3,4, 537,575,126,126,762,536,536,634,614,762, - 998,283,174,537,266,78,324,778,778,216, - 1035,368,423,221,1073,446,573,892,893,1019, - 1025,537,537,636,870,744,879,575,4,764, + 996,283,174,537,266,78,324,778,778,216, + 1033,368,423,221,1071,446,573,892,893,1017, + 1023,537,537,636,870,744,879,575,4,764, 762,284,126,266,4,778,778,379,368,216, - 874,1019,769,868,671,671,324,893,500,870, - 575,423,126,878,575,1019,1019,575,764,764, - 4,380,778,324,323,126,1019,575,446,380, - 446,768,768,886,501,1019,575,174,888,575, + 874,1017,769,868,671,671,324,893,500,870, + 575,423,126,878,575,1017,1017,575,764,764, + 4,380,778,324,323,126,1017,575,446,380, + 446,768,768,886,501,1017,575,174,888,575, 575,575,423,764,778,569,324,575,575,446, - 717,717,886,500,1033,537,1033,324,499,423, + 717,717,886,500,1031,537,1031,324,499,423, 423,423,501,423,575,335,324,324,575,893, 126,888,575,575,637,4,575,324,769,492, - 423,492,501,1033,501,520,520,518,896,520, - 324,324,19,886,890,125,324,669,829,501, + 423,492,501,1031,501,520,520,518,499,520, + 324,324,19,498,890,125,324,669,829,501, 126,569,126,518,368,423,126,886,890,717, - 671,126,126,1011,501,19,501,324,368,536, - 501,498,768,893,893,1013,536,499,174,324, + 671,126,126,1009,501,19,501,324,368,536, + 501,498,768,893,893,1011,536,499,174,324, 126,572,501,126,324,501 }; }; @@ -1872,9 +1874,9 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars 53,54,39,3,37,38,9,6,35,36, 41,68,7,1,2,4,10,5,0,120, 0,91,89,35,36,92,93,87,88,55, - 94,95,96,97,98,99,100,101,106,72, - 90,70,107,108,109,110,111,112,113,114, - 115,116,117,71,25,120,68,1,2,9, + 94,95,96,97,98,99,100,101,107,72, + 90,70,108,109,110,111,112,113,114,115, + 116,117,118,71,25,120,68,1,2,9, 6,4,3,63,69,73,8,0,71,61, 37,38,9,6,35,36,41,46,3,4, 52,53,54,39,50,44,49,12,21,11, @@ -1889,14 +1891,14 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars 47,45,42,51,12,21,11,17,15,16, 18,19,14,13,20,52,53,54,39,50, 44,49,5,7,4,37,38,9,6,35, - 36,41,46,1,2,117,8,0,61,23, - 24,7,5,1,2,4,74,67,119,105, + 36,41,46,1,2,118,8,0,61,23, + 24,7,5,1,2,4,74,67,119,106, 37,38,63,3,91,89,6,92,93,35, 36,88,87,55,94,95,96,97,9,98, - 99,100,68,90,73,120,70,107,108,109, - 110,111,112,113,114,115,116,72,117,71, - 101,106,69,25,8,0,68,72,90,69, - 117,73,71,120,11,12,42,65,13,43, + 99,100,68,90,73,120,70,108,109,110, + 111,112,113,114,115,116,117,72,118,71, + 101,107,69,25,8,0,68,72,90,69, + 118,73,71,120,11,12,42,65,13,43, 44,14,15,16,66,45,17,18,46,47, 49,61,50,51,10,19,20,21,52,53, 54,39,37,38,35,36,41,8,25,5, @@ -1906,13 +1908,13 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars 20,24,21,12,11,26,8,25,62,59, 64,86,28,48,9,6,5,7,60,1, 2,4,3,0,4,8,72,67,0,86, - 59,7,102,103,104,62,8,3,9,6, + 59,7,103,104,105,62,8,3,9,6, 5,72,71,25,60,26,11,12,40,23, 13,56,27,28,14,29,30,15,16,31, 32,17,18,33,57,34,10,58,19,22, 20,24,21,4,1,2,48,0,1,2, - 8,69,71,0,8,72,117,73,25,69, - 0,86,102,103,104,48,72,118,121,71, + 8,69,71,0,8,72,118,73,25,69, + 0,86,103,104,105,48,72,102,121,71, 60,74,62,59,64,76,78,84,82,75, 80,81,83,85,67,77,79,25,8,26, 40,23,56,27,28,29,30,31,32,33, @@ -1932,9 +1934,9 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars 20,24,21,1,2,4,73,8,40,0, 68,70,69,1,2,0,66,65,35,36, 6,92,93,98,9,99,5,41,70,55, - 68,110,111,107,108,109,115,114,116,88, - 87,112,113,96,97,94,95,100,101,37, - 38,69,89,105,63,3,10,56,40,57, + 68,111,112,108,109,110,116,115,117,88, + 87,113,114,96,97,94,95,100,101,37, + 38,69,89,106,63,3,10,56,40,57, 58,12,21,11,17,15,16,18,19,14, 13,20,26,32,33,28,31,30,27,23, 24,29,34,1,2,4,22,0,7,6, @@ -1951,26 +1953,26 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars 58,19,22,20,24,21,1,2,4,90, 0,72,8,63,70,69,25,55,0,8, 67,69,0,8,67,70,0,22,1,2, - 4,102,103,104,0,118,0,23,24,61, - 74,72,67,8,0,75,0,65,66,37, - 38,9,6,35,36,5,41,46,3,4, - 7,52,53,54,39,50,44,49,12,21, - 11,17,15,16,18,19,14,13,20,10, - 43,47,45,42,51,63,1,2,0,10, - 56,40,57,58,12,21,11,17,15,16, - 18,19,14,13,20,74,72,90,117,71, - 67,120,119,91,105,89,37,38,35,36, - 92,93,87,88,55,68,94,95,96,97, - 98,99,100,101,106,70,107,108,109,110, - 111,112,113,114,115,116,69,26,23,27, - 28,29,30,31,32,33,34,22,24,25, - 8,73,3,63,7,5,9,6,1,2, - 4,0,25,8,3,7,5,9,6,4, - 1,2,72,0,40,23,13,56,27,14, - 29,30,15,16,31,32,17,18,33,57, - 34,58,19,22,20,24,21,12,11,26, - 8,3,9,6,25,62,64,86,28,60, - 55,48,7,1,2,5,4,10,59,0 + 4,103,104,105,0,102,0,23,24,61, + 74,72,67,8,0,65,66,37,38,9, + 6,35,36,5,41,46,3,4,7,52, + 53,54,39,50,44,49,12,21,11,17, + 15,16,18,19,14,13,20,10,43,47, + 45,42,51,63,1,2,0,10,56,40, + 57,58,12,21,11,17,15,16,18,19, + 14,13,20,74,72,90,118,71,67,120, + 119,91,106,89,37,38,35,36,92,93, + 87,88,55,68,94,95,96,97,98,99, + 100,101,107,70,108,109,110,111,112,113, + 114,115,116,117,69,26,23,27,28,29, + 30,31,32,33,34,22,24,25,8,73, + 3,63,7,5,9,6,1,2,4,0, + 25,8,3,7,5,9,6,4,1,2, + 72,0,40,23,13,56,27,14,29,30, + 15,16,31,32,17,18,33,57,34,58, + 19,22,20,24,21,12,11,26,8,3, + 9,6,25,62,64,86,28,60,55,48, + 7,1,2,5,4,10,59,0 }; }; public final static byte asr[] = Asr.asr; @@ -2086,8 +2088,8 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars 119,30,118,96,108,49,50,56,57,59, 69,71,72,85,92,65,17,18,6,32, 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,123, + 28,51,80,81,82,5,29,34,35,36, + 37,38,39,40,41,42,43,117,3,123, 62,116 }; }; @@ -2181,16 +2183,16 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars public interface ScopeLa { public final static byte scopeLa[] = { - 118,71,73,73,71,71,73,73,73,73, + 102,71,73,73,71,71,73,73,73,73, 73,71,25,71,1,68,1,73,121,67, 3,73,68,68,68,1,1,25,71,67, 1,1,1,71,1,1,4,68,69,25, - 1,1,68,73,73,73,118,73,1,25, - 1,25,25,71,117,73,73,73,73,73, - 117,1,73,1,73,73,73,72,4,1, + 1,1,68,73,73,73,102,73,1,25, + 1,25,25,71,118,73,73,73,73,73, + 118,1,73,1,73,73,73,72,4,1, 1,6,73,68,68,68,68,73,3,1, - 1,73,73,3,1,117,73,1,1,1, - 25,73,117,73,5,73,1,48,70,72, + 1,73,73,3,1,118,73,1,1,1, + 25,73,118,73,5,73,1,48,70,72, 73,1,48,75,74,25,25,4,4,4, 4,3,1,67,1,1,3 }; @@ -2219,7 +2221,7 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars public interface ScopeRhs { public final static char scopeRhs[] = {0, - 322,3,61,0,126,0,321,3,118,0, + 322,3,61,0,126,0,321,3,102,0, 126,172,0,126,179,74,0,216,0,253, 126,55,124,0,20,0,297,126,55,48, 0,20,53,0,33,132,0,20,53,0, @@ -2265,7 +2267,7 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars 155,223,3,83,0,62,171,0,223,3, 83,0,126,171,62,171,0,303,126,165, 0,162,0,212,77,0,30,171,0,162, - 106,159,0,30,169,0,178,3,0,126, + 107,159,0,30,169,0,178,3,0,126, 149,0,217,3,0,212,63,265,0,162, 63,0,178,3,299,66,127,0,126,0, 0,0,0,299,66,127,0,2,145,126, @@ -2292,38 +2294,38 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars public interface ScopeState { public final static char scopeState[] = {0, - 4658,4887,4877,4848,0,2979,3694,2483,3586,0, - 3596,3540,3408,3352,3296,3240,3184,3128,3072,2974, - 2916,2972,0,2104,1983,1194,0,2745,2112,0, - 3596,3540,1809,1723,3408,3352,3296,3240,3184,3128, - 1637,3072,2974,2916,1551,1465,0,4812,3282,4491, - 0,3445,3656,0,3006,2727,0,3638,2699,0, - 4606,4376,0,4630,4622,0,4630,4622,4248,4508, - 4499,4237,4490,4427,3800,4389,3596,3540,3408,3352, - 3296,3240,3184,3128,3072,2974,2916,0,4630,4622, - 4248,4508,4499,4237,4490,4427,3800,4389,0,665, - 584,0,821,0,3092,3088,0,539,4333,2644, - 0,2077,2067,749,578,3721,2650,3483,2851,2661, - 2837,3376,0,4734,4723,4711,4683,4304,3774,3751, - 3525,4841,4829,4824,3521,3384,3328,3272,4818,3216, - 4801,3160,3104,4483,2651,2889,0,2630,3721,4644, - 4398,2698,3567,2824,870,4632,2650,2946,824,740, - 3864,739,0,683,0,4606,3721,4398,4376,3864, - 3483,3735,4593,4219,2630,4206,2851,2824,2661,1061, - 3758,0,3358,3264,4734,4723,4711,3099,2288,4683, - 2202,4304,3774,3751,3525,3657,3602,3320,2864,2767, - 2198,4841,2998,4829,4824,1380,1126,3521,3384,932, - 3328,3272,3078,3246,4818,3216,4801,3160,4333,3104, - 4483,3208,2644,2651,2889,627,2777,2707,2675,1131, - 807,3483,3735,4593,4219,2630,4206,4606,3721,4398, - 2851,2824,2661,4376,2895,1190,665,584,3864,1061, - 3758,939,4183,4160,2292,2331,2399,2366,2489,2460, - 2430,2797,597,2602,2574,2546,2518,3696,3671,3496, - 3049,631,4137,4114,4091,4068,4045,4022,3999,3976, - 3953,3930,3889,1991,2245,2206,2159,2120,1296,1253, - 2073,2034,1210,1948,965,1905,1862,1819,1776,1733, - 1690,1647,1604,1561,1518,1475,1432,539,830,750, - 692,1389,1147,1339,1017,887,1080,0 + 4660,4889,4879,4850,0,2981,3696,2485,3588,0, + 3598,3542,3410,3354,3298,3242,3186,3130,3074,2976, + 2918,2974,0,2106,1985,1196,0,2747,2114,0, + 3598,3542,1811,1725,3410,3354,3298,3242,3186,3130, + 1639,3074,2976,2918,1553,1467,0,4814,3284,4493, + 0,3447,3658,0,3008,2729,0,3640,2701,0, + 4608,4378,0,4632,4624,0,4632,4624,4250,4510, + 4501,4239,4492,4429,3802,4391,3598,3542,3410,3354, + 3298,3242,3186,3130,3074,2976,2918,0,4632,4624, + 4250,4510,4501,4239,4492,4429,3802,4391,0,667, + 586,0,823,0,3094,3090,0,541,4335,2646, + 0,2079,2069,751,580,3723,2652,3485,2853,2663, + 2839,3378,0,4736,4725,4713,4685,4306,3776,3753, + 3527,4843,4831,4826,3523,3386,3330,3274,4820,3218, + 4803,3162,3106,4485,2653,2891,0,2632,3723,4646, + 4400,2700,3569,2826,872,4634,2652,2948,826,742, + 3866,741,0,685,0,4608,3723,4400,4378,3866, + 3485,3737,4595,4221,2632,4208,2853,2826,2663,1063, + 3760,0,3360,3266,4736,4725,4713,3101,2290,4685, + 2204,4306,3776,3753,3527,3659,3604,3322,2866,2769, + 2200,4843,3000,4831,4826,1382,1128,3523,3386,934, + 3330,3274,3080,3248,4820,3218,4803,3162,4335,3106, + 4485,3210,2646,2653,2891,629,2779,2709,2677,1133, + 809,3485,3737,4595,4221,2632,4208,4608,3723,4400, + 2853,2826,2663,4378,2897,1192,667,586,3866,1063, + 3760,941,4185,4162,2294,2333,2401,2368,2491,2462, + 2432,2799,599,2604,2576,2548,2520,3698,3673,3498, + 3051,633,4139,4116,4093,4070,4047,4024,4001,3978, + 3955,3932,3891,1993,2247,2208,2161,2122,1298,1255, + 2075,2036,1212,1950,967,1907,1864,1821,1778,1735, + 1692,1649,1606,1563,1520,1477,1434,541,832,752, + 694,1391,1149,1341,1019,889,1082,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -2342,10 +2344,10 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars 252,271,244,272,56,273,274,10,127,63, 63,126,4,187,212,159,267,126,165,3, 55,55,55,55,127,3,178,162,168,126, - 65,66,167,3,125,105,119,3,63,89, + 65,66,167,3,125,106,119,3,63,89, 91,36,35,93,92,6,95,94,68,55, - 87,88,9,97,96,99,98,100,116,115, - 114,113,112,111,110,109,108,107,70,106, + 87,88,9,97,96,99,98,100,117,116, + 115,114,113,112,111,110,109,108,70,107, 101,167,172,172,253,256,253,210,165,312, 275,307,275,127,182,167,253,260,187,69, 126,178,162,178,178,178,178,167,217,155, @@ -2380,7 +2382,7 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars 70,70,126,303,79,77,1,162,8,85, 83,81,80,75,82,84,78,76,59,74, 217,126,182,182,3,237,182,224,297,285, - 118,8,72,212,72,3,3,3,190,3, + 102,8,72,212,72,3,3,3,190,3, 123,162,123,179,219,322,224,68,3,72, 223,168,223,305,145,75,223,126,126,69, 40,90,321,168,155,197,155,304,126,3, @@ -2662,18 +2664,18 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars public final static int NUM_STATES = 546, NT_OFFSET = 122, - LA_STATE_OFFSET = 5949, + LA_STATE_OFFSET = 5956, MAX_LA = 2147483647, - NUM_RULES = 538, + NUM_RULES = 540, NUM_NONTERMINALS = 204, NUM_SYMBOLS = 326, SEGMENT_SIZE = 8192, - START_STATE = 3758, + START_STATE = 3760, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 120, EOLT_SYMBOL = 120, - ACCEPT_ACTION = 5049, - ERROR_ACTION = 5411; + ACCEPT_ACTION = 5051, + ERROR_ACTION = 5416; public final static boolean BACKTRACK = true; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParsersym.java index a271db3303d..ffb21ef6460 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParsersym.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParsersym.java @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 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 @@ -20,7 +20,7 @@ public interface CPPNoFunctionDeclaratorParsersym { TK_bool = 11, TK_break = 76, TK_case = 77, - TK_catch = 118, + TK_catch = 102, TK_char = 12, TK_class = 40, TK_const = 23, @@ -49,9 +49,9 @@ public interface CPPNoFunctionDeclaratorParsersym { TK_namespace = 59, TK_new = 66, TK_operator = 7, - TK_private = 102, - TK_protected = 103, - TK_public = 104, + TK_private = 103, + TK_protected = 104, + TK_public = 105, TK_register = 32, TK_reinterpret_cast = 45, TK_return = 84, @@ -90,7 +90,7 @@ public interface CPPNoFunctionDeclaratorParsersym { TK_LeftParen = 3, TK_Dot = 119, TK_DotStar = 91, - TK_Arrow = 105, + TK_Arrow = 106, TK_ArrowStar = 89, TK_PlusPlus = 37, TK_MinusMinus = 38, @@ -114,23 +114,23 @@ public interface CPPNoFunctionDeclaratorParsersym { TK_Or = 99, TK_AndAnd = 100, TK_OrOr = 101, - TK_Question = 106, + TK_Question = 107, TK_Colon = 72, TK_ColonColon = 4, TK_DotDotDot = 90, TK_Assign = 70, - TK_StarAssign = 107, - TK_SlashAssign = 108, - TK_PercentAssign = 109, - TK_PlusAssign = 110, - TK_MinusAssign = 111, - TK_RightShiftAssign = 112, - TK_LeftShiftAssign = 113, - TK_AndAssign = 114, - TK_CaretAssign = 115, - TK_OrAssign = 116, + TK_StarAssign = 108, + TK_SlashAssign = 109, + TK_PercentAssign = 110, + TK_PlusAssign = 111, + TK_MinusAssign = 112, + TK_RightShiftAssign = 113, + TK_LeftShiftAssign = 114, + TK_AndAssign = 115, + TK_CaretAssign = 116, + TK_OrAssign = 117, TK_Comma = 69, - TK_RightBracket = 117, + TK_RightBracket = 118, TK_RightParen = 73, TK_RightBrace = 71, TK_SemiColon = 25, @@ -241,6 +241,7 @@ public interface CPPNoFunctionDeclaratorParsersym { "Or", "AndAnd", "OrOr", + "catch", "private", "protected", "public", @@ -257,7 +258,6 @@ public interface CPPNoFunctionDeclaratorParsersym { "CaretAssign", "OrAssign", "RightBracket", - "catch", "Dot", "EOF_TOKEN", "else", diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParser.java index 9b8db818cb3..87b38e8d398 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParser.java @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 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 @@ -980,919 +980,931 @@ public String getName() { // // Rule 193: iteration_statement ::= do statement while ( expression ) ; // - case 193: { action. consumeStatementDoLoop(); break; + case 193: { action. consumeStatementDoLoop(true); break; } // - // Rule 194: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement + // Rule 194: iteration_statement ::= do statement // - case 194: { action. consumeStatementForLoop(); break; + case 194: { action. consumeStatementDoLoop(false); break; } // - // Rule 196: for_init_statement ::= simple_declaration_with_declspec + // Rule 195: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement // - case 196: { action. consumeStatementDeclaration(); break; + case 195: { action. consumeStatementForLoop(); break; } // - // Rule 197: jump_statement ::= break ; + // Rule 197: for_init_statement ::= simple_declaration_with_declspec // - case 197: { action. consumeStatementBreak(); break; + case 197: { action. consumeStatementDeclaration(); break; } // - // Rule 198: jump_statement ::= continue ; + // Rule 198: jump_statement ::= break ; // - case 198: { action. consumeStatementContinue(); break; + case 198: { action. consumeStatementBreak(); break; } // - // Rule 199: jump_statement ::= return expression ; + // Rule 199: jump_statement ::= continue ; // - case 199: { action. consumeStatementReturn(true); break; + case 199: { action. consumeStatementContinue(); break; } // - // Rule 200: jump_statement ::= return ; + // Rule 200: jump_statement ::= return expression ; // - case 200: { action. consumeStatementReturn(false); break; + case 200: { action. consumeStatementReturn(true); break; } // - // Rule 201: jump_statement ::= goto identifier_token ; + // Rule 201: jump_statement ::= return ; // - case 201: { action. consumeStatementGoto(); break; + case 201: { action. consumeStatementReturn(false); break; } // - // Rule 202: declaration_statement ::= block_declaration + // Rule 202: jump_statement ::= goto identifier_token ; // - case 202: { action. consumeStatementDeclarationWithDisambiguation(); break; + case 202: { action. consumeStatementGoto(); break; } // - // Rule 203: declaration_statement ::= function_definition + // Rule 203: declaration_statement ::= block_declaration // - case 203: { action. consumeStatementDeclaration(); break; + case 203: { action. consumeStatementDeclarationWithDisambiguation(); break; } // - // Rule 211: declaration ::= ERROR_TOKEN + // Rule 204: declaration_statement ::= function_definition // - case 211: { action. consumeDeclarationProblem(); break; + case 204: { action. consumeStatementDeclaration(); break; } // - // Rule 221: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ; + // Rule 212: declaration ::= ERROR_TOKEN // - case 221: { action. consumeDeclarationSimple(true); break; + case 212: { action. consumeDeclarationProblem(); break; } // - // Rule 222: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ; + // Rule 222: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ; // case 222: { action. consumeDeclarationSimple(true); break; } // - // Rule 223: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers + // Rule 223: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ; // - case 223: { action. consumeDeclarationSpecifiersSimple(); break; + case 223: { action. consumeDeclarationSimple(true); break; } // - // Rule 224: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers + // Rule 224: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers // - case 224: { action. consumeDeclarationSpecifiersComposite(); break; + case 224: { action. consumeDeclarationSpecifiersSimple(); break; } // - // Rule 225: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers + // Rule 225: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers // case 225: { action. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 226: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers + // Rule 226: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers // case 226: { action. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 227: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers + // Rule 227: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers // - case 227: { action. consumeDeclarationSpecifiersTypeName(); break; + case 227: { action. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 229: declaration_specifiers_opt ::= $Empty + // Rule 228: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers // - case 229: { action. consumeEmpty(); break; + case 228: { action. consumeDeclarationSpecifiersTypeName(); break; } // - // Rule 233: no_type_declaration_specifier ::= friend + // Rule 230: declaration_specifiers_opt ::= $Empty // - case 233: { action. consumeToken(); break; + case 230: { action. consumeEmpty(); break; } // - // Rule 234: no_type_declaration_specifier ::= typedef + // Rule 234: no_type_declaration_specifier ::= friend // case 234: { action. consumeToken(); break; } // - // Rule 254: storage_class_specifier ::= auto + // Rule 235: no_type_declaration_specifier ::= typedef // - case 254: { action. consumeToken(); break; + case 235: { action. consumeToken(); break; } // - // Rule 255: storage_class_specifier ::= register + // Rule 255: storage_class_specifier ::= auto // case 255: { action. consumeToken(); break; } // - // Rule 256: storage_class_specifier ::= static + // Rule 256: storage_class_specifier ::= register // case 256: { action. consumeToken(); break; } // - // Rule 257: storage_class_specifier ::= extern + // Rule 257: storage_class_specifier ::= static // case 257: { action. consumeToken(); break; } // - // Rule 258: storage_class_specifier ::= mutable + // Rule 258: storage_class_specifier ::= extern // case 258: { action. consumeToken(); break; } // - // Rule 259: function_specifier ::= inline + // Rule 259: storage_class_specifier ::= mutable // case 259: { action. consumeToken(); break; } // - // Rule 260: function_specifier ::= virtual + // Rule 260: function_specifier ::= inline // case 260: { action. consumeToken(); break; } // - // Rule 261: function_specifier ::= explicit + // Rule 261: function_specifier ::= virtual // case 261: { action. consumeToken(); break; } // - // Rule 262: simple_type_specifier ::= simple_type_specifier_token + // Rule 262: function_specifier ::= explicit // case 262: { action. consumeToken(); break; } // - // Rule 276: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name + // Rule 263: simple_type_specifier ::= simple_type_specifier_token // - case 276: { action. consumeQualifiedId(false); break; + case 263: { action. consumeToken(); break; } // - // Rule 277: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name + // Rule 277: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name // case 277: { action. consumeQualifiedId(false); break; } // - // Rule 278: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name + // Rule 278: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name // case 278: { action. consumeQualifiedId(false); break; } // - // Rule 279: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name + // Rule 279: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name // - case 279: { action. consumeQualifiedId(true); break; + case 279: { action. consumeQualifiedId(false); break; } // - // Rule 281: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name + // Rule 280: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name // - case 281: { action. consumeTypeSpecifierElaborated(false); break; + case 280: { action. consumeQualifiedId(true); break; } // - // Rule 282: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt template_opt template_id_name + // Rule 282: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name // - case 282: { action. consumeTypeSpecifierElaborated(true); break; + case 282: { action. consumeTypeSpecifierElaborated(false); break; } // - // Rule 283: elaborated_type_specifier ::= enum elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name + // Rule 283: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt template_opt template_id_name // - case 283: { action. consumeTypeSpecifierElaborated(false); break; + case 283: { action. consumeTypeSpecifierElaborated(true); break; } // - // Rule 287: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 284: elaborated_type_specifier ::= enum elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name // - case 287: { action. consumeTypeSpecifierEnumeration(false); break; + case 284: { action. consumeTypeSpecifierElaborated(false); break; } // - // Rule 288: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 288: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } // - case 288: { action. consumeTypeSpecifierEnumeration(true); break; + case 288: { action. consumeTypeSpecifierEnumeration(false); break; } // - // Rule 294: enumerator_definition ::= identifier_token + // Rule 289: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } // - case 294: { action. consumeEnumerator(false); break; + case 289: { action. consumeTypeSpecifierEnumeration(true); break; } // - // Rule 295: enumerator_definition ::= identifier_token = constant_expression + // Rule 295: enumerator_definition ::= identifier_token // - case 295: { action. consumeEnumerator(true); break; + case 295: { action. consumeEnumerator(false); break; } // - // Rule 297: namespace_definition ::= namespace namespace_name namespace_definition_hook { <openscope-ast> declaration_seq_opt } + // Rule 296: enumerator_definition ::= identifier_token = constant_expression // - case 297: { action. consumeNamespaceDefinition(true); break; + case 296: { action. consumeEnumerator(true); break; } // - // Rule 298: namespace_definition ::= namespace namespace_definition_hook { <openscope-ast> declaration_seq_opt } + // Rule 298: namespace_definition ::= namespace namespace_name namespace_definition_hook { <openscope-ast> declaration_seq_opt } // - case 298: { action. consumeNamespaceDefinition(false); break; + case 298: { action. consumeNamespaceDefinition(true); break; } // - // Rule 300: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 299: namespace_definition ::= namespace namespace_definition_hook { <openscope-ast> declaration_seq_opt } // - case 300: { action. consumeNamespaceAliasDefinition(); break; + case 299: { action. consumeNamespaceDefinition(false); break; } // - // Rule 301: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; + // Rule 301: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ; // - case 301: { action. consumeUsingDeclaration(); break; + case 301: { action. consumeNamespaceAliasDefinition(); break; } // - // Rule 302: typename_opt ::= typename + // Rule 302: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; // - case 302: { action. consumePlaceHolder(); break; + case 302: { action. consumeUsingDeclaration(); break; } // - // Rule 303: typename_opt ::= $Empty + // Rule 303: typename_opt ::= typename // - case 303: { action. consumeEmpty(); break; + case 303: { action. consumePlaceHolder(); break; } // - // Rule 304: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 304: typename_opt ::= $Empty // - case 304: { action. consumeUsingDirective(); break; + case 304: { action. consumeEmpty(); break; } // - // Rule 305: asm_definition ::= asm ( stringlit ) ; + // Rule 305: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; // - case 305: { action. consumeDeclarationASM(); break; + case 305: { action. consumeUsingDirective(); break; } // - // Rule 306: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt } + // Rule 306: asm_definition ::= asm ( stringlit ) ; // - case 306: { action. consumeLinkageSpecification(); break; + case 306: { action. consumeDeclarationASM(); break; } // - // Rule 307: linkage_specification ::= extern stringlit <openscope-ast> declaration + // Rule 307: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt } // case 307: { action. consumeLinkageSpecification(); break; } // - // Rule 312: init_declarator_complete ::= init_declarator + // Rule 308: linkage_specification ::= extern stringlit <openscope-ast> declaration // - case 312: { action. consumeInitDeclaratorComplete(); break; + case 308: { action. consumeLinkageSpecification(); break; } // - // Rule 314: init_declarator ::= complete_declarator initializer + // Rule 313: init_declarator_complete ::= init_declarator // - case 314: { action. consumeDeclaratorWithInitializer(true); break; + case 313: { action. consumeInitDeclaratorComplete(); break; } // - // Rule 317: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator + // Rule 315: init_declarator ::= complete_declarator initializer // - case 317: { action. consumeDeclaratorWithPointer(true); break; + case 315: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 319: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator + // Rule 318: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator // - case 319: { action. consumeDeclaratorWithPointer(true); break; + case 318: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 323: basic_direct_declarator ::= declarator_id_name + // Rule 320: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator // - case 323: { action. consumeDirectDeclaratorIdentifier(); break; + case 320: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 324: basic_direct_declarator ::= ( declarator ) + // Rule 324: basic_direct_declarator ::= declarator_id_name // - case 324: { action. consumeDirectDeclaratorBracketed(); break; + case 324: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 325: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 325: basic_direct_declarator ::= ( declarator ) // - case 325: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; + case 325: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 326: array_direct_declarator ::= array_direct_declarator array_modifier + // Rule 326: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 326: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 326: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 327: array_direct_declarator ::= basic_direct_declarator array_modifier + // Rule 327: array_direct_declarator ::= array_direct_declarator array_modifier // case 327: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 328: array_modifier ::= [ constant_expression ] + // Rule 328: array_direct_declarator ::= basic_direct_declarator array_modifier // - case 328: { action. consumeDirectDeclaratorArrayModifier(true); break; + case 328: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 329: array_modifier ::= [ ] + // Rule 329: array_modifier ::= [ constant_expression ] // - case 329: { action. consumeDirectDeclaratorArrayModifier(false); break; + case 329: { action. consumeDirectDeclaratorArrayModifier(true); break; } // - // Rule 330: ptr_operator ::= pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt + // Rule 330: array_modifier ::= [ ] // - case 330: { action. consumePointer(); break; + case 330: { action. consumeDirectDeclaratorArrayModifier(false); break; } // - // Rule 331: ptr_operator ::= pointer_hook & pointer_hook + // Rule 331: ptr_operator ::= pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt // - case 331: { action. consumeReferenceOperator(); break; + case 331: { action. consumePointer(); break; } // - // Rule 332: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt + // Rule 332: ptr_operator ::= pointer_hook & pointer_hook // - case 332: { action. consumePointerToMember(); break; + case 332: { action. consumeReferenceOperator(); break; } // - // Rule 339: cv_qualifier ::= const + // Rule 333: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt // - case 339: { action. consumeToken(); break; + case 333: { action. consumePointerToMember(); break; } // - // Rule 340: cv_qualifier ::= volatile + // Rule 340: cv_qualifier ::= const // case 340: { action. consumeToken(); break; } // - // Rule 342: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name + // Rule 341: cv_qualifier ::= volatile // - case 342: { action. consumeQualifiedId(false); break; + case 341: { action. consumeToken(); break; } // - // Rule 343: type_id ::= type_specifier_seq + // Rule 343: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name // - case 343: { action. consumeTypeId(false); break; + case 343: { action. consumeQualifiedId(false); break; } // - // Rule 344: type_id ::= type_specifier_seq abstract_declarator + // Rule 344: type_id ::= type_specifier_seq // - case 344: { action. consumeTypeId(true); break; + case 344: { action. consumeTypeId(false); break; } // - // Rule 347: abstract_declarator ::= <openscope-ast> ptr_operator_seq + // Rule 345: type_id ::= type_specifier_seq abstract_declarator // - case 347: { action. consumeDeclaratorWithPointer(false); break; + case 345: { action. consumeTypeId(true); break; } // - // Rule 348: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator + // Rule 348: abstract_declarator ::= <openscope-ast> ptr_operator_seq // - case 348: { action. consumeDeclaratorWithPointer(true); break; + case 348: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 352: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 349: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator // - case 352: { action. consumeDirectDeclaratorBracketed(); break; + case 349: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 353: basic_direct_abstract_declarator ::= ( ) + // Rule 353: basic_direct_abstract_declarator ::= ( abstract_declarator ) // - case 353: { action. consumeAbstractDeclaratorEmpty(); break; + case 353: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 354: array_direct_abstract_declarator ::= array_modifier + // Rule 354: basic_direct_abstract_declarator ::= ( ) // - case 354: { action. consumeDirectDeclaratorArrayDeclarator(false); break; + case 354: { action. consumeAbstractDeclaratorEmpty(); break; } // - // Rule 355: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier + // Rule 355: array_direct_abstract_declarator ::= array_modifier // - case 355: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 355: { action. consumeDirectDeclaratorArrayDeclarator(false); break; } // - // Rule 356: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier + // Rule 356: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier // case 356: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 357: 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 357: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier // - case 357: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; + case 357: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 358: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 358: 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 358: { action. consumeDirectDeclaratorFunctionDeclarator(false); break; + case 358: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 359: parameter_declaration_clause ::= parameter_declaration_list_opt ... + // Rule 359: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 359: { action. consumePlaceHolder(); break; + case 359: { action. consumeDirectDeclaratorFunctionDeclarator(false); break; } // - // Rule 360: parameter_declaration_clause ::= parameter_declaration_list_opt + // Rule 360: parameter_declaration_clause ::= parameter_declaration_list_opt ... // - case 360: { action. consumeEmpty(); break; + case 360: { action. consumePlaceHolder(); break; } // - // Rule 361: parameter_declaration_clause ::= parameter_declaration_list , ... + // Rule 361: parameter_declaration_clause ::= parameter_declaration_list_opt // - case 361: { action. consumePlaceHolder(); break; + case 361: { action. consumeEmpty(); break; } // - // Rule 367: abstract_declarator_opt ::= $Empty + // Rule 362: parameter_declaration_clause ::= parameter_declaration_list , ... // - case 367: { action. consumeEmpty(); break; + case 362: { action. consumePlaceHolder(); break; } // - // Rule 368: parameter_declaration ::= declaration_specifiers parameter_init_declarator + // Rule 368: abstract_declarator_opt ::= $Empty // - case 368: { action. consumeParameterDeclaration(); break; + case 368: { action. consumeEmpty(); break; } // - // Rule 369: parameter_declaration ::= declaration_specifiers + // Rule 369: parameter_declaration ::= declaration_specifiers parameter_init_declarator // - case 369: { action. consumeParameterDeclarationWithoutDeclarator(); break; + case 369: { action. consumeParameterDeclaration(); break; } // - // Rule 371: parameter_init_declarator ::= declarator = parameter_initializer + // Rule 370: parameter_declaration ::= declaration_specifiers // - case 371: { action. consumeDeclaratorWithInitializer(true); break; + case 370: { action. consumeParameterDeclarationWithoutDeclarator(); break; } // - // Rule 373: parameter_init_declarator ::= abstract_declarator = parameter_initializer + // Rule 372: parameter_init_declarator ::= declarator = parameter_initializer // - case 373: { action. consumeDeclaratorWithInitializer(true); break; + case 372: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 374: parameter_init_declarator ::= = parameter_initializer + // Rule 374: parameter_init_declarator ::= abstract_declarator = parameter_initializer // - case 374: { action. consumeDeclaratorWithInitializer(false); break; + case 374: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 375: parameter_initializer ::= assignment_expression + // Rule 375: parameter_init_declarator ::= = parameter_initializer // - case 375: { action. consumeInitializer(); break; + case 375: { action. consumeDeclaratorWithInitializer(false); break; } // - // Rule 376: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body + // Rule 376: parameter_initializer ::= assignment_expression // - case 376: { action. consumeFunctionDefinition(false); break; + case 376: { action. consumeInitializer(); break; } // - // Rule 377: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq + // Rule 377: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body // - case 377: { action. consumeFunctionDefinition(true); break; + case 377: { action. consumeFunctionDefinition(false); break; } // - // Rule 380: initializer ::= ( expression_list ) + // Rule 378: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq // - case 380: { action. consumeInitializerConstructor(); break; + case 378: { action. consumeFunctionDefinition(true); break; } // - // Rule 381: initializer_clause ::= assignment_expression + // Rule 381: initializer ::= ( expression_list ) // - case 381: { action. consumeInitializer(); break; + case 381: { action. consumeInitializerConstructor(); break; } // - // Rule 383: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq , } end_initializer_list + // Rule 382: initializer_clause ::= assignment_expression // - case 383: { action. consumeInitializerList(); break; + case 382: { action. consumeInitializer(); break; } // - // Rule 384: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq } end_initializer_list + // Rule 384: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq , } end_initializer_list // case 384: { action. consumeInitializerList(); break; } // - // Rule 385: initializer_list ::= { <openscope-ast> } + // Rule 385: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq } end_initializer_list // case 385: { action. consumeInitializerList(); break; } // - // Rule 386: start_initializer_list ::= $Empty + // Rule 386: initializer_list ::= { <openscope-ast> } // - case 386: { action. initializerListStart(); break; + case 386: { action. consumeInitializerList(); break; } // - // Rule 387: end_initializer_list ::= $Empty + // Rule 387: start_initializer_list ::= $Empty // - case 387: { action. initializerListEnd(); break; + case 387: { action. initializerListStart(); break; } // - // Rule 392: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt } + // Rule 388: end_initializer_list ::= $Empty // - case 392: { action. consumeClassSpecifier(); break; + case 388: { action. initializerListEnd(); break; } // - // Rule 393: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 393: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt } // - case 393: { action. consumeClassHead(false); break; + case 393: { action. consumeClassSpecifier(); break; } // - // Rule 394: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 394: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook <openscope-ast> base_clause_opt // case 394: { action. consumeClassHead(false); break; } // - // Rule 395: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 395: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt // - case 395: { action. consumeClassHead(true); break; + case 395: { action. consumeClassHead(false); break; } // - // Rule 396: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 396: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook <openscope-ast> base_clause_opt // case 396: { action. consumeClassHead(true); break; } // - // Rule 400: identifier_name_opt ::= $Empty + // Rule 397: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt // - case 400: { action. consumeEmpty(); break; - } + case 397: { action. consumeClassHead(true); break; + } // - // Rule 404: visibility_label ::= access_specifier_keyword : + // Rule 401: identifier_name_opt ::= $Empty // - case 404: { action. consumeVisibilityLabel(); break; - } + case 401: { action. consumeEmpty(); break; + } // - // Rule 405: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ; + // Rule 405: visibility_label ::= access_specifier_keyword : // - case 405: { action. consumeDeclarationSimple(true); break; + case 405: { action. consumeVisibilityLabel(); break; } // - // Rule 406: member_declaration ::= declaration_specifiers_opt ; + // Rule 406: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ; // - case 406: { action. consumeDeclarationSimple(false); break; + case 406: { action. consumeDeclarationSimple(true); break; } // - // Rule 409: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ; + // Rule 407: member_declaration ::= declaration_specifiers_opt ; // - case 409: { action. consumeMemberDeclarationQualifiedId(); break; + case 407: { action. consumeDeclarationSimple(false); break; } // - // Rule 415: member_declaration ::= ERROR_TOKEN + // Rule 410: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ; // - case 415: { action. consumeDeclarationProblem(); break; + case 410: { action. consumeMemberDeclarationQualifiedId(); break; } // - // Rule 424: member_declarator ::= declarator constant_initializer + // Rule 416: member_declaration ::= ERROR_TOKEN // - case 424: { action. consumeMemberDeclaratorWithInitializer(); break; + case 416: { action. consumeDeclarationProblem(); break; } // - // Rule 425: member_declarator ::= bit_field_declarator : constant_expression + // Rule 425: member_declarator ::= declarator constant_initializer // - case 425: { action. consumeBitField(true); break; + case 425: { action. consumeMemberDeclaratorWithInitializer(); break; } // - // Rule 426: member_declarator ::= : constant_expression + // Rule 426: member_declarator ::= bit_field_declarator : constant_expression // - case 426: { action. consumeBitField(false); break; + case 426: { action. consumeBitField(true); break; } // - // Rule 427: bit_field_declarator ::= identifier_name + // Rule 427: member_declarator ::= : constant_expression // - case 427: { action. consumeDirectDeclaratorIdentifier(); break; + case 427: { action. consumeBitField(false); break; } // - // Rule 428: constant_initializer ::= = constant_expression + // Rule 428: bit_field_declarator ::= identifier_name // - case 428: { action. consumeInitializer(); break; + case 428: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 434: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name + // Rule 429: constant_initializer ::= = constant_expression // - case 434: { action. consumeBaseSpecifier(false, false); break; + case 429: { action. consumeInitializer(); break; } // - // Rule 435: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name + // Rule 435: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name // - case 435: { action. consumeBaseSpecifier(true, true); break; + case 435: { action. consumeBaseSpecifier(false, false); break; } // - // Rule 436: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name + // Rule 436: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name // case 436: { action. consumeBaseSpecifier(true, true); break; } // - // Rule 437: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name + // Rule 437: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name // - case 437: { action. consumeBaseSpecifier(true, false); break; + case 437: { action. consumeBaseSpecifier(true, true); break; } // - // Rule 438: access_specifier_keyword ::= private + // Rule 438: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name // - case 438: { action. consumeToken(); break; + case 438: { action. consumeBaseSpecifier(true, false); break; } // - // Rule 439: access_specifier_keyword ::= protected + // Rule 439: access_specifier_keyword ::= private // case 439: { action. consumeToken(); break; } // - // Rule 440: access_specifier_keyword ::= public + // Rule 440: access_specifier_keyword ::= protected // case 440: { action. consumeToken(); break; } // - // Rule 442: access_specifier_keyword_opt ::= $Empty + // Rule 441: access_specifier_keyword ::= public + // + case 441: { action. consumeToken(); break; + } + + // + // Rule 443: access_specifier_keyword_opt ::= $Empty + // + case 443: { action. consumeEmpty(); break; + } + + // + // Rule 445: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt > // - case 442: { action. consumeEmpty(); break; + case 445: { action. consumeTemplateId(); break; } // - // Rule 444: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt > + // Rule 446: conversion_function_id ::= operator conversion_type_id // - case 444: { action. consumeTemplateId(); break; + case 446: { action. consumeConversionName(); break; } // - // Rule 445: conversion_function_id ::= operator conversion_type_id + // Rule 447: conversion_type_id ::= type_specifier_seq conversion_declarator // - case 445: { action. consumeConversionName(); break; + case 447: { action. consumeTypeId(true); break; } // - // Rule 446: conversion_type_id ::= type_specifier_seq conversion_declarator + // Rule 448: conversion_type_id ::= type_specifier_seq // - case 446: { action. consumeTypeId(true); break; + case 448: { action. consumeTypeId(false); break; } // - // Rule 447: conversion_type_id ::= type_specifier_seq + // Rule 449: conversion_declarator ::= <openscope-ast> ptr_operator_seq // - case 447: { action. consumeTypeId(false); break; + case 449: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 448: conversion_declarator ::= <openscope-ast> ptr_operator_seq + // Rule 455: mem_initializer ::= mem_initializer_name ( expression_list_opt ) // - case 448: { action. consumeDeclaratorWithPointer(false); break; + case 455: { action. consumeConstructorChainInitializer(); break; } // - // Rule 454: mem_initializer ::= mem_initializer_name ( expression_list_opt ) + // Rule 456: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name // - case 454: { action. consumeConstructorChainInitializer(); break; + case 456: { action. consumeQualifiedId(false); break; } // - // Rule 455: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name + // Rule 459: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt > // - case 455: { action. consumeQualifiedId(false); break; + case 459: { action. consumeTemplateId(); break; } // - // Rule 458: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt > + // Rule 460: operator_id_name ::= operator overloadable_operator // - case 458: { action. consumeTemplateId(); break; + case 460: { action. consumeOperatorName(); break; } // - // Rule 459: operator_id_name ::= operator overloadable_operator + // Rule 503: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration // - case 459: { action. consumeOperatorName(); break; + case 503: { action. consumeTemplateDeclaration(); break; } // - // Rule 502: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration + // Rule 504: export_opt ::= export // - case 502: { action. consumeTemplateDeclaration(); break; + case 504: { action. consumePlaceHolder(); break; } // - // Rule 503: export_opt ::= export + // Rule 505: export_opt ::= $Empty // - case 503: { action. consumePlaceHolder(); break; + case 505: { action. consumeEmpty(); break; } // - // Rule 504: export_opt ::= $Empty + // Rule 509: template_parameter ::= parameter_declaration // - case 504: { action. consumeEmpty(); break; + case 509: { action. consumeTemplateParamterDeclaration(); break; } // - // Rule 508: template_parameter ::= parameter_declaration + // Rule 510: type_parameter ::= class identifier_name_opt // - case 508: { action. consumeTemplateParamterDeclaration(); break; + case 510: { action. consumeSimpleTypeTemplateParameter(false); break; } // - // Rule 509: type_parameter ::= class identifier_name_opt + // Rule 511: type_parameter ::= class identifier_name_opt = type_id // - case 509: { action. consumeSimpleTypeTemplateParameter(false); break; + case 511: { action. consumeSimpleTypeTemplateParameter(true); break; } // - // Rule 510: type_parameter ::= class identifier_name_opt = type_id + // Rule 512: type_parameter ::= typename identifier_name_opt // - case 510: { action. consumeSimpleTypeTemplateParameter(true); break; + case 512: { action. consumeSimpleTypeTemplateParameter(false); break; } // - // Rule 511: type_parameter ::= typename identifier_name_opt + // Rule 513: type_parameter ::= typename identifier_name_opt = type_id // - case 511: { action. consumeSimpleTypeTemplateParameter(false); break; + case 513: { action. consumeSimpleTypeTemplateParameter(true); break; } // - // Rule 512: type_parameter ::= typename identifier_name_opt = type_id + // Rule 514: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt // - case 512: { action. consumeSimpleTypeTemplateParameter(true); break; + case 514: { action. consumeTemplatedTypeTemplateParameter(false); break; } // - // Rule 513: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt + // Rule 515: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression // - case 513: { action. consumeTemplatedTypeTemplateParameter(false); break; + case 515: { action. consumeTemplatedTypeTemplateParameter(true); break; } // - // Rule 514: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression + // Rule 516: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt > // - case 514: { action. consumeTemplatedTypeTemplateParameter(true); break; + case 516: { action. consumeTemplateId(); break; } // - // Rule 515: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt > + // Rule 521: template_argument ::= assignment_expression // - case 515: { action. consumeTemplateId(); break; + case 521: { action. consumeTemplateArgumentExpression(); break; } // - // Rule 520: template_argument ::= assignment_expression + // Rule 522: template_argument ::= type_id // - case 520: { action. consumeTemplateArgumentExpression(); break; + case 522: { action. consumeTemplateArgumentTypeId(); break; } // - // Rule 521: template_argument ::= type_id + // Rule 523: explicit_instantiation ::= template declaration // - case 521: { action. consumeTemplateArgumentTypeId(); break; + case 523: { action. consumeTemplateExplicitInstantiation(); break; } // - // Rule 522: explicit_instantiation ::= template declaration + // Rule 524: explicit_specialization ::= template < > declaration // - case 522: { action. consumeTemplateExplicitInstantiation(); break; + case 524: { action. consumeTemplateExplicitSpecialization(); break; } // - // Rule 523: explicit_specialization ::= template < > declaration + // Rule 525: try_block ::= try compound_statement <openscope-ast> handler_seq // - case 523: { action. consumeTemplateExplicitSpecialization(); break; + case 525: { action. consumeStatementTryBlock(true); break; } // - // Rule 524: try_block ::= try compound_statement <openscope-ast> handler_seq + // Rule 526: try_block ::= try compound_statement // - case 524: { action. consumeStatementTryBlock(); break; + case 526: { action. consumeStatementTryBlock(false); break; } // - // Rule 527: handler ::= catch ( exception_declaration ) compound_statement + // Rule 529: handler ::= catch ( exception_declaration ) compound_statement // - case 527: { action. consumeStatementCatchHandler(false); break; + case 529: { action. consumeStatementCatchHandler(false); break; } // - // Rule 528: handler ::= catch ( ... ) compound_statement + // Rule 530: handler ::= catch ( ... ) compound_statement // - case 528: { action. consumeStatementCatchHandler(true); break; + case 530: { action. consumeStatementCatchHandler(true); break; } // - // Rule 529: exception_declaration ::= type_specifier_seq <openscope-ast> declarator + // Rule 531: exception_declaration ::= type_specifier_seq <openscope-ast> declarator // - case 529: { action. consumeDeclarationSimple(true); break; + case 531: { action. consumeDeclarationSimple(true); break; } // - // Rule 530: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator + // Rule 532: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator // - case 530: { action. consumeDeclarationSimple(true); break; + case 532: { action. consumeDeclarationSimple(true); break; } // - // Rule 531: exception_declaration ::= type_specifier_seq + // Rule 533: exception_declaration ::= type_specifier_seq // - case 531: { action. consumeDeclarationSimple(false); break; + case 533: { action. consumeDeclarationSimple(false); break; } // - // Rule 533: exception_specification ::= throw ( ) + // Rule 535: exception_specification ::= throw ( ) // - case 533: { action. consumePlaceHolder(); break; + case 535: { action. consumePlaceHolder(); break; } diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParserprs.java index 04ff3590c93..1f83ddba0e4 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParserprs.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParserprs.java @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 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 @@ -56,481 +56,481 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym 0,1,0,1,1,0,1,1,1,1, 1,1,1,1,1,3,4,3,2,1, 4,2,1,2,5,7,5,1,4,1, - 0,5,7,8,1,1,2,2,3,2, - 3,1,1,1,1,1,1,1,1,1, + 0,5,7,2,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,1,1,1,1,1,1,1, + 1,1,1,1,1,1,3,4,4,5, + 2,5,6,5,0,1,0,7,8,0, + 1,3,1,0,1,3,1,7,6,0, + 7,6,1,0,6,5,6,4,1,3, + 1,0,1,1,2,1,1,3,1,3, + 1,1,1,1,3,9,2,2,3,2, + 5,3,7,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,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, - 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,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,3,4,4,5,2, - 5,6,5,0,1,0,7,8,0,1, - 3,1,0,1,3,1,7,6,0,7, - 6,1,0,6,5,6,4,1,3,1, - 0,1,1,2,1,1,3,1,3,1, - 1,1,1,3,9,2,2,3,2,5, - 3,7,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,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,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,-237,0,0, - 0,-2,0,0,0,0,0,0,0,0, + 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,2,1,2,5,5, + 3,3,1,4,3,1,0,1,3,-237, + 0,0,0,-2,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -4,0,0,0,0,0,0,0,-72,0, - -217,0,0,0,0,0,-376,0,0,0, - -295,0,0,0,0,0,0,0,0,0, - 0,0,0,-146,0,0,-243,0,0,0, - 0,0,0,0,0,0,0,0,0,-340, + 0,0,-4,0,0,0,0,0,0,0, + -72,0,-217,0,0,0,0,0,-376,0, + 0,0,-295,0,0,0,0,0,0,0, + 0,0,0,0,0,-146,0,0,-243,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-42,0,0,0,-10,0,0,-30, - 0,0,0,-17,0,0,0,0,0,0, - 0,0,0,-60,0,0,-12,-106,0,0, - 0,0,0,0,0,0,0,0,-103,0, - -7,0,-9,-71,-455,0,0,0,0,-101, - 0,0,0,0,0,0,0,-134,0,0, - 0,0,0,0,-93,0,0,0,0,0, - 0,-100,0,0,0,0,0,0,0,0, + 0,-340,0,0,0,0,0,0,0,0, + 0,0,0,0,-42,0,0,0,-10,0, + 0,-30,0,0,0,-17,0,0,0,0, + 0,0,0,0,0,-60,0,0,-12,-106, 0,0,0,0,0,0,0,0,0,0, + -103,0,-7,0,-9,-71,-455,0,0,0, + 0,-101,0,0,0,0,0,0,0,-134, + 0,0,0,0,0,0,-93,0,0,0, + 0,0,0,-100,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-19,0,0,0, - 0,0,0,0,-459,0,0,0,-13,0, - -25,0,0,0,0,0,-475,0,0,-116, 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,-459,0,0,0, + -13,0,-25,0,0,0,0,0,-475,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,0,0,0,0,0, - -297,0,0,0,0,0,0,0,-27,0, - 0,0,0,0,0,0,0,0,-185,0, - -3,0,0,0,0,0,-244,0,0,0, - -63,0,0,0,0,0,0,0,0,0, - 0,0,-473,0,-50,0,0,-117,0,0, + 0,0,-297,0,0,0,0,0,0,0, + -27,0,0,0,0,0,0,0,0,0, + -185,0,-3,0,0,0,0,0,-244,0, + 0,0,-63,0,0,0,0,0,0,0, + 0,0,0,0,-473,0,-50,0,0,-117, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-14,0, 0,0,0,0,0,0,0,0,0,0, - 0,-24,0,0,-334,0,0,0,-31,0, - 0,0,0,0,0,-279,0,0,0,0, + -14,0,0,0,0,0,0,0,0,0, + 0,0,0,-24,0,0,-334,0,0,0, + -31,0,0,0,0,0,0,-279,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-41,0, - -49,0,0,0,-364,0,0,0,-143,0, - 0,0,-284,0,0,0,-34,0,0,0, - 0,0,-543,0,0,0,0,0,0,0, - 0,0,0,0,0,-32,-47,0,0,0, - 0,0,0,-384,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -41,0,-49,0,0,0,-364,0,0,0, + -143,0,0,0,-284,0,0,0,-34,0, + 0,0,0,0,-543,0,0,0,0,0, + 0,0,0,0,0,0,0,-32,-47,0, + 0,0,0,0,0,-384,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-35,-239,0,0,0,-474,0,0, - 0,-37,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, - -86,0,-40,0,0,0,0,-39,0,0, - 0,-51,-107,0,0,0,0,0,0,0, + 0,0,0,0,-35,-239,0,0,0,-474, + 0,0,0,-37,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,-86,0,-40,0,0,0,0,-39, + 0,0,0,-51,-107,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-87,-307,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-309,0, - 0,0,0,0,0,0,-52,0,-94,0, - 0,0,0,0,0,0,0,0,-92,0, - 0,0,-43,0,-411,0,0,-111,0,0, + 0,0,0,0,0,0,-87,-307,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -55,0,0,0,0,0,0,0,-57,0, - 0,0,0,0,0,0,0,-56,0,0, - 0,-193,0,0,0,-61,0,0,0,0, + -309,0,0,0,0,0,0,0,-52,0, + -94,0,0,0,0,0,0,0,0,0, + -92,0,0,0,-43,0,-411,0,0,-111, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-130,0,0,0,0,0, - 0,0,-226,0,-97,0,-110,0,0,0, - 0,-221,0,0,-316,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-55,0,0,0,0,0,0,0, + -57,0,0,0,0,0,0,0,0,-56, + 0,0,0,-193,0,0,0,-61,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-218,0,0,0,-69, - 0,0,0,0,0,0,0,0,-292,0, + 0,0,0,0,0,0,-130,0,0,0, + 0,0,0,0,-226,0,-97,0,-110,0, + 0,0,0,-221,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, - 0,0,0,0,0,0,0,0,0,-114, - 0,0,0,-493,0,0,0,-59,0,0, - 0,-89,0,0,0,0,-64,0,0,0, - 0,0,-534,-388,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-218,0,0, + 0,-69,0,0,0,0,0,0,0,0, + -292,0,0,0,0,0,0,0,0,0, 0,0,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,-67,0,0,0,0,-183,0, - 0,0,-389,0,0,0,0,0,0,0, + 0,-114,0,0,0,-493,0,0,0,-59, + 0,0,0,-89,0,0,0,0,-64,0, + 0,0,0,0,-534,-388,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-74,0,-70,0,0, - 0,0,0,0,0,-178,0,0,0,0, + 0,0,0,0,0,0,0,0,-290,0, + 0,0,0,0,0,-67,0,0,0,0, + -183,0,0,0,-389,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,-266, - 0,0,0,-195,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-74,0,-70, + 0,0,0,0,0,0,0,-178,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-75,0,0,0,0,0,0,0, - -76,0,-105,0,-338,0,0,0,0,0, - 0,0,-267,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -21,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,-317,0,0,0,-268,0,0,0,0, + 0,-266,0,0,0,-195,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-139,0, - 0,0,0,0,0,0,-81,0,-184,0, - 0,0,0,0,-380,0,0,0,-269,0, + 0,0,0,0,-75,0,0,0,0,0, + 0,0,-76,0,-105,0,-338,0,0,0, + 0,0,0,0,-267,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-77,0,0,0,0,0,0,0,-95, - 0,0,0,0,0,0,0,-133,-135,0, - 0,-270,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-80,0,0,0,0, + 0,0,0,-317,0,0,0,-268,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-381,0,-84,0,0,0, - 0,-314,0,0,-271,0,0,0,0,0, + -139,0,0,0,0,0,0,0,-81,0, + -184,0,0,0,0,0,-380,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,-147,0,0, - 0,0,0,0,0,-85,0,0,0,0, - 0,0,0,-90,-149,0,0,-272,0,0, + 0,0,0,-77,0,0,0,0,0,0, + 0,-95,0,0,0,0,0,0,0,-133, + -135,0,0,-270,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-508,0, - -524,0,0,0,0,0,-150,-151,0,0, - -273,0,0,0,-227,0,0,0,0,0, + 0,0,0,0,0,0,-381,0,-84,0, + 0,0,0,-314,0,0,-271,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-115,0,0,0,0,0,0, - 0,-98,0,0,0,0,0,0,0,-119, - -152,0,0,-274,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-147, + 0,0,0,0,0,0,0,-85,0,0, + 0,0,0,0,0,-90,-149,0,0,-272, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-153,0,-525,0,0,0, - 0,0,-120,0,0,0,-275,0,0,0, - -155,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-140, - 0,0,0,0,0,0,0,-167,0,0, - 0,0,0,0,0,-168,-169,0,0,-276, 0,0,0,0,0,0,0,0,0,0, + -508,0,-524,0,0,0,0,0,-150,-151, + 0,0,-273,0,0,0,-227,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,-98,0,0,0,0,0,0, + 0,-119,-152,0,0,-274,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -170,0,-46,0,0,0,0,0,-171,-172, - 0,0,-383,0,0,0,-136,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-153,0,-525,0, + 0,0,0,0,-120,0,0,0,-275,0, + 0,0,-155,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-126,0,-68,0,0,0,0, - 0,-173,-58,0,0,-422,0,0,0,0, + 0,-140,0,0,0,0,0,0,0,-167, + 0,0,0,0,0,0,0,-168,-169,0, + 0,-276,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-174,0,-73,0, - -104,0,0,0,-128,-175,0,0,-527,0, - 0,0,-176,0,0,0,0,0,0,0, + 0,0,-170,0,-46,0,0,0,0,0, + -171,-172,0,0,-383,0,0,0,-136,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-177, - 0,-179,0,0,0,0,0,-79,-180,0, - 0,-367,0,0,0,-129,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-544,0,0,0,0,0, - 0,0,-132,0,0,0,-304,0,0,0, - -397,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-126,0,-68,0,0, + 0,0,0,-173,-58,0,0,-422,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-102, - 0,0,0,0,-446,0,0,0,-398,0, + 0,0,0,0,0,0,0,0,-174,0, + -73,0,-104,0,0,0,-128,-175,0,0, + -527,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,-177,0,-179,0,0,0,0,0,-79, + -180,0,0,-367,0,0,0,-129,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-472,0,0,0,-521,0,0, + 0,0,0,0,0,0,-544,0,0,0, + 0,0,0,0,-132,0,0,0,-304,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,0,0,0, - 0,0,0,0,0,0,0,0,-141,0, - 0,0,0,0,0,0,-142,-88,0,0, - 0,-477,0,0,0,-278,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-189,0, - 0,0,0,0,0,0,0,0,-144,0, - -182,0,0,-186,-265,0,0,0,0,0, + 0,-102,0,0,0,0,-446,0,0,0, + -398,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-188,0,-190,0,-263, - 0,0,0,-196,0,0,0,0,0,0, + 0,0,0,0,0,-472,0,0,0,-521, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-264,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-401,0,0,0,0, - 0,0,0,-260,0,0,0,-198,0,0, + -141,0,0,0,0,0,0,0,-142,-88, + 0,0,0,-477,0,0,0,-278,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-494,0,0,0, - 0,0,0,-28,0,0,0,0,0,0, - 0,0,0,0,0,0,-261,0,0,0, - -306,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-336, - 0,0,0,0,0,-342,0,0,0,-199, 0,0,0,0,0,0,0,0,0,0, - -202,-204,0,0,0,0,0,0,0,-121, - 0,0,0,-205,-311,0,0,0,0,0, - -154,-283,0,0,0,0,0,-344,-262,0, + -189,0,0,0,0,0,0,0,0,0, + -144,0,-182,0,0,-186,-265,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-181,0,0, - 0,0,-53,0,0,0,0,0,0,-203, + 0,0,0,0,0,0,0,-188,0,-190, + 0,-263,0,0,0,-196,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-207,0,0,-305,0,0,0,-369, - 0,0,0,0,0,0,-206,0,-222,-194, - 0,-431,0,0,-8,0,0,0,0,0, - -191,-214,0,0,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,-223, - 0,0,-512,0,0,0,-242,-490,0,-286, - 0,0,0,0,0,0,0,0,0,-293, - -209,0,0,0,0,0,0,-294,0,0, - 0,0,0,0,-197,0,0,0,0,-417, - 0,0,0,0,0,-312,-192,0,0,0, - -301,0,0,0,0,0,-254,0,0,0, + 0,0,0,0,-264,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-401,0,0, + 0,0,0,0,0,-260,0,0,0,-198, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-255,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-494,0, + 0,0,0,0,0,-28,0,0,0,0, + 0,0,0,0,0,0,0,0,-261,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,-302,0,0, - 0,0,-249,0,0,0,0,0,0,0, + 0,-336,0,0,0,0,0,-342,0,0, + 0,-199,0,0,0,0,0,0,0,0, + 0,0,-202,-204,0,0,0,0,0,0, + 0,-121,0,0,0,-205,-311,0,0,0, + 0,0,-154,-283,0,0,0,0,0,-344, + -262,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-308,0,0,0,0, - 0,-210,-148,-313,0,0,0,-215,0,0, - -246,0,0,-523,0,-310,0,0,-256,0, + 0,0,0,0,0,0,0,0,0,-181, + 0,0,0,0,-53,0,0,0,0,0, + 0,-203,0,0,0,0,0,0,0,0, + 0,0,0,0,-207,0,0,-305,0,0, + 0,-369,0,0,0,0,0,0,-206,0, + -222,-194,0,-431,0,0,-8,0,0,0, + 0,0,-191,-214,0,0,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,-223,0,0,-512,0,0,0,-242,-490, + 0,-286,0,0,0,0,0,0,0,0, + 0,-293,-209,0,0,0,0,0,0,-294, + 0,0,0,0,0,0,-197,0,0,0, + 0,-417,0,0,0,0,0,-312,-192,0, + 0,0,-301,0,0,0,0,0,-254,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-257,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-255,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-5,0,0,0,0,0, - -324,0,-216,-212,0,0,0,0,0,-208, - 0,0,-325,-326,0,0,0,0,-410,0, - 0,0,0,-328,0,-258,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-302, + 0,0,0,0,-249,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-308,0,0, + 0,0,0,-210,-148,-313,0,0,0,-215, + 0,0,-246,0,0,-523,0,-310,0,0, + -256,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-201,-259,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-257,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-235,0,0,0, - 0,0,0,-225,-282,0,-15,0,0,0, - -281,0,-327,0,0,-48,0,0,0,0, - 0,-456,0,0,0,-331,-332,0,0,0, - 0,0,0,0,0,0,0,0,0,-461, - 0,0,0,0,0,0,-16,0,-333,-522, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-365,0, - -345,0,0,0,0,0,0,0,0,0, - 0,-337,0,-468,-288,0,-291,0,0,-346, + 0,0,0,0,0,0,-5,0,0,0, + 0,0,-324,0,-216,-212,0,0,0,0, + 0,-208,0,0,-325,-326,0,0,0,0, + -410,0,0,0,0,-328,0,-258,0,0, 0,0,0,0,0,0,0,0,0,0, - -347,-300,-348,0,0,0,0,0,0,0, - -349,0,-145,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-321,0,-236,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-526,0,0,0,0,0, - 0,0,0,0,0,0,0,-250,0,0, + 0,0,0,0,-201,-259,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-235,0, + 0,0,0,0,0,-225,-282,0,-15,0, + 0,0,-281,0,-327,0,0,-48,0,0, + 0,0,0,-456,0,0,0,-331,-332,0, 0,0,0,0,0,0,0,0,0,0, - -377,0,0,-378,0,0,0,-6,0,0, + 0,-461,0,0,0,0,0,0,-16,0, + -333,-522,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -213,-240,-350,-374,0,0,0,0,0,0, - -458,0,-33,-385,-416,-351,0,0,0,0, - 0,-423,0,0,-379,0,0,-513,0,0, - 0,-352,-395,0,0,0,0,0,0,0, - -400,-289,0,0,0,0,0,0,0,0, + -365,0,-345,0,0,0,0,0,0,0, + 0,0,0,-337,0,-468,-288,0,-291,0, + 0,-346,0,0,0,0,0,0,0,0, + 0,0,-347,-300,-348,0,0,0,0,0, + 0,0,-349,0,-145,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-321,0, + -236,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-526,0,0,0, + 0,0,0,0,0,0,0,0,0,-250, 0,0,0,0,0,0,0,0,0,0, - 0,-353,0,0,-536,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-391, - 0,0,0,-519,0,0,0,0,0,0, - 0,0,-251,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-354,0,-26,0,0, - 0,-36,0,0,0,-44,0,0,0,-420, - 0,0,0,-437,0,0,-355,0,0,0, - 0,0,-440,0,0,-426,0,0,-200,0, - -356,0,0,0,0,-229,0,-280,0,0, - 0,0,0,-538,0,0,0,-319,0,0, - 0,0,0,0,0,0,0,-18,0,0, - -220,0,-428,0,0,0,0,-357,0,-511, + 0,0,-377,0,0,-378,0,0,0,-6, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-113,0,0,0,0,0, + 0,0,-213,-240,-350,-374,0,0,0,0, + 0,0,-458,0,-33,-385,-416,-351,0,0, + 0,0,0,-423,0,0,-379,0,0,-513, + 0,0,0,-352,-395,0,0,0,0,0, + 0,0,-400,-289,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-507,0, - 0,0,0,0,0,0,0,-464,-444,0, - 0,0,-322,0,0,0,-532,-358,-323,0, - 0,0,0,0,0,0,0,0,-447,0, - 0,-318,0,0,0,0,0,-329,0,0, - 0,-20,-359,-360,-500,0,0,0,0,0, - 0,0,-287,-303,0,0,0,0,0,0, - 0,0,0,-434,0,0,0,0,0,-234, + 0,0,0,-353,0,0,-536,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-230,0,0,-413,0, - 0,0,0,0,0,0,0,0,0,-502, - 0,0,0,0,0,-277,0,0,0,0, + 0,-391,0,0,0,-519,0,0,0,0, + 0,0,0,0,-251,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-354,0,-26, + 0,0,0,-36,0,0,0,-44,0,0, + 0,-420,0,0,0,-437,0,0,-355,0, + 0,0,0,0,-440,0,0,-426,0,0, + -200,0,-356,0,0,0,0,-229,0,-280, + 0,0,0,0,0,-538,0,0,0,-319, + 0,0,0,0,0,0,0,0,0,-18, + 0,0,-220,0,-428,0,0,0,0,-357, + 0,-511,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-113,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-54,0,0,0,0,-361,0,0, - -298,0,0,-315,0,0,0,0,0,0, - 0,0,0,0,0,-421,0,-78,0,0, - 0,-362,-363,0,-403,0,0,0,0,0, - 0,0,0,0,0,-504,0,0,0,0, - 0,0,0,0,0,0,0,0,-158,0, 0,0,0,0,0,0,0,0,0,0, + -507,0,0,0,0,0,0,0,0,-464, + -444,0,0,0,-322,0,0,0,-532,-358, + -323,0,0,0,0,0,0,0,0,0, + -447,0,0,-318,0,0,0,0,0,-329, + 0,0,0,-20,-359,-360,-500,0,0,0, + 0,0,0,0,-287,-303,0,0,0,0, + 0,0,0,0,0,-434,0,0,0,0, + 0,-234,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-230,0,0, + -413,0,0,0,0,0,0,0,0,0, + 0,-502,0,0,0,0,0,-277,0,0, 0,0,0,0,0,0,0,0,0,0, - -506,0,-445,-366,0,-368,0,0,-339,-231, - -370,0,-343,0,-462,0,0,0,-371,0, - 0,-372,0,0,-469,0,0,0,0,0, - 0,0,0,-45,0,0,0,-435,-232,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-539,0,-22,-382, - 0,0,-449,0,0,0,0,0,0,0, + 0,0,0,0,-54,0,0,0,0,-361, + 0,0,-298,0,0,-315,0,0,0,0, + 0,0,0,0,0,0,0,-421,0,-78, + 0,0,0,-362,-363,0,-403,0,0,0, + 0,0,0,0,0,0,0,-504,0,0, 0,0,0,0,0,0,0,0,0,0, - -62,-118,-373,-375,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-393,-438,0, - -404,0,0,0,0,0,0,0,0,0, - 0,-545,0,0,-418,0,-488,0,0,0, - 0,0,-448,0,0,0,0,0,0,0, - 0,0,-399,0,0,0,0,-406,-457,0, - 0,-465,0,0,0,0,0,0,-481,-407, - 0,0,0,0,0,0,-408,-409,0,0, - 0,0,0,0,0,0,0,-424,0,0, - 0,0,-489,-425,0,-499,0,-467,0,0, - 0,0,0,0,0,0,0,-252,0,0, - 0,-427,0,0,0,0,0,0,0,0, + -158,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-253,0,0,0,-432,0,0,0, + 0,0,-506,0,-445,-366,0,-368,0,0, + -339,-231,-370,0,-343,0,-462,0,0,0, + -371,0,0,-372,0,0,-469,0,0,0, + 0,0,0,0,0,-45,0,0,0,-435, + -232,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-539,0, + -22,-382,0,0,-449,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-436,0,-112,0,0, + 0,0,-62,-118,-373,-375,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-393, + -438,0,-404,0,0,0,0,0,0,0, + 0,0,0,-545,0,0,-418,0,-488,0, + 0,0,0,0,-448,0,0,0,0,0, + 0,0,0,0,-399,0,0,0,0,-406, + -457,0,0,-465,0,0,0,0,0,0, + -481,-407,0,0,0,0,0,0,-408,-409, + 0,0,0,0,0,0,0,0,0,-424, + 0,0,0,0,-489,-425,0,-499,0,-467, + 0,0,0,0,0,0,0,0,0,-252, + 0,0,0,-427,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -159,0,0,0,-441,0,0,0,0,0, + 0,0,0,0,-253,0,0,0,-432,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-160,0,0,0,-471,0,0, + 0,0,0,0,0,0,0,-436,0,-112, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-514,0,0,0, - 0,0,0,-535,-453,-454,-460,0,-482,-470, - 0,-476,-491,-495,-161,0,0,0,0,0, + 0,0,-159,0,0,0,-441,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,0,0,-160,0,0,0,-471, 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,-535,-453,-454,-460,0, + -482,-470,0,-476,-491,-495,-161,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-163,0,0,0,-496,0,0, + 0,0,0,0,0,0,0,0,0,-162, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-164,0,0,0, - -501,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-165, - 0,0,0,-509,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-166,0,0,0,-510,0,0,0, + 0,0,0,0,0,-163,0,0,0,-496, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-238,0,0,0,-518, + 0,0,0,0,0,0,0,0,-164,0, + 0,0,-501,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-247,0, - 0,0,-528,0,0,0,0,0,0,0, + 0,-165,0,0,0,-509,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-248,0,0,0,-533,0,0,0,0, + 0,0,0,0,-166,0,0,0,-510,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-330,0,0,0,-386,0, + 0,0,0,0,0,0,0,-238,0,0, + 0,-518,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-396,0,0, + -247,0,0,0,-528,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -414,0,0,0,-503,0,0,0,0,0, + 0,0,0,-248,0,0,0,-533,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-1,0,-483,-245,0,0,-484, - 0,0,-394,-124,-224,-296,0,0,0,0, - 0,-122,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-530, - 0,-285,0,-485,0,0,0,0,0,-497, - 0,0,0,0,0,0,0,0,0,-498, + 0,0,0,0,0,0,-330,0,0,0, + -386,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-396, 0,0,0,0,0,0,0,0,0,0, - 0,-125,0,0,0,0,0,0,0,0, + 0,0,-414,0,0,0,-503,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-442,0,0,0,-516, - 0,0,0,0,0,0,-541,0,-387,0, - -211,0,-486,0,0,0,0,0,0,0, + 0,0,0,0,0,-1,0,-483,-245,0, + 0,-484,0,0,-394,-124,-224,-296,0,0, + 0,0,0,-122,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-23, - 0,0,0,0,0,0,-463,0,0,0, + 0,-530,0,-285,0,-485,0,0,0,0, + 0,-497,0,0,0,0,0,0,0,0, + 0,-498,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,0,0,0,-66,0,0,0,0, - -517,0,-531,0,0,0,-415,0,-546,0, + 0,0,0,0,0,0,0,-442,0,0, + 0,-516,0,0,0,0,0,0,-541,0, + -387,0,-211,0,-486,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-537,-540,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-109,0,0,0, - -542,0,0,0,0,0,0,0,0,-405, - 0,0,0,0,0,0,0,-29,0,0, + 0,-23,0,0,0,0,0,0,-463,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-66,0,0, + 0,0,-517,0,-531,0,0,0,-415,0, + -546,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-537, + -540,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-109,0, + 0,0,-542,0,0,0,0,0,0,0, + 0,-405,0,0,0,0,0,0,0,-29, 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,-108, 0,0,0,0,0,0,0,0,0,0, - 0,0,-529,0,0,0,0,0,0,0, - 0,0,0,-466,0,0,0,0,0,0, - 0,0,0,0,0,0,-450,0,0,0, - 0,0,0,0,0,0,0,0,0,-11, + 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,-82,0,0,0, - 0,0,0,0,0,-439,0,-96,0,0, + 0,-108,0,0,0,0,0,0,0,0, + 0,0,0,0,-529,0,0,0,0,0, + 0,0,0,0,0,-466,0,0,0,0, + 0,0,0,0,0,0,0,0,-450,0, 0,0,0,0,0,0,0,0,0,0, + 0,-11,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-82,0, + 0,0,0,0,0,0,0,-439,0,-96, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-83,-487,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-83,-487,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 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,-451,0,0,0,0, - -299,0,0,0,0,0,0,0,0,0, - 0,-91,0,0,-520,0,0,0,0,0, - -138,0,0,0,0,0,0,0,-99,0, - 0,0,0,0,0,0,0,0,0,-480, 0,0,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,-451,0,0, + 0,0,-299,0,0,0,0,0,0,0, + 0,0,0,-91,0,0,-520,0,0,0, + 0,0,-138,0,0,0,0,0,0,0, + -99,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,-452,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,0,0, 0,0,0,0,0,0,0,0,0,0, - -320,0,0,0,0,0,0,0,0,-390, - 0,0,0,0,0,0,-127,0,0,0, - 0,-123,0,0,0,0,0,-187,0,0, - 0,0,0,0,-335,0,0,0,-131,0, + 0,0,-320,0,0,0,0,0,0,0, + 0,-390,0,0,0,0,0,0,-127,0, + 0,0,0,-123,0,0,0,0,0,-187, + 0,0,0,0,0,0,-335,0,0,0, + -131,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-492,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-492,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-515,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -515,0,0,0,0,0,0,0,0,0, + 0,0,-341,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -341,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-402,0, - 0,0,-443,0,0,0,-478,0,0,0, - -479,0,0,0,0,0,-392,-156,0,0, - 0,0,0,0,0,0,-157,0,0,0, + -402,0,0,0,-443,0,0,0,-478,0, + 0,0,-479,0,0,0,0,0,-392,-156, + 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,-228, 0,0,0,0,0,0,0,0,0,0, - 0,0,-241,0,0,0,0,0,0,0, + 0,-228,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,-233,0,0,0,0,0,0,0,0, - -429,0,0,0,0,0,-412,0,0,0, - 0,0,0,0,0,0,0,0,0,-419, - 0,0,0,0,0,-430,0,0,0,0, - -433,0,0,0,0,0,0,0,-505,0, + 0,0,0,-233,0,0,0,0,0,0, + 0,0,-429,0,0,0,0,0,-412,0, 0,0,0,0,0,0,0,0,0,0, + 0,-419,0,0,0,0,0,-430,0,0, + 0,0,-433,0,0,0,0,0,0,0, + -505,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, @@ -539,7 +539,7 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0 + 0,0,0,0,0,0,0 }; }; public final static short baseCheck[] = BaseCheck.baseCheck; @@ -568,527 +568,527 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym 96,96,180,180,91,202,202,69,69,69, 69,69,69,69,69,69,70,70,70,67, 67,57,57,181,181,71,71,71,103,103, - 182,182,72,72,72,183,183,73,73,73, - 73,73,74,74,83,83,83,83,83,83, - 83,83,50,50,50,50,50,104,104,102, - 102,51,184,23,23,23,23,23,49,49, - 86,86,86,86,86,153,153,148,148,148, - 148,148,149,149,149,150,150,150,151,151, - 151,152,152,152,87,87,87,87,87,88, - 88,88,13,14,14,14,14,14,14,14, - 14,14,14,14,97,119,119,119,119,119, - 119,117,117,117,154,155,155,118,118,185, - 157,157,156,156,121,121,105,78,78,122, - 53,48,158,158,54,52,85,85,159,159, - 147,147,123,124,124,125,81,81,160,160, - 64,64,64,61,61,60,65,65,79,79, - 59,59,59,55,89,89,99,98,98,63, - 63,62,62,56,56,46,100,100,100,92, - 92,92,93,93,94,94,94,95,95,106, - 106,106,108,108,107,107,203,203,90,90, - 187,187,187,187,187,127,47,47,162,186, - 186,128,128,129,129,129,130,164,188,188, - 35,35,116,131,131,131,131,190,110,109, - 109,120,120,120,165,166,166,166,166,166, - 166,166,166,166,166,166,192,192,189,189, - 191,191,167,168,168,168,168,169,193,112, - 111,111,194,194,170,170,170,170,101,101, - 101,195,195,8,8,9,196,196,197,171, - 161,161,172,172,173,174,174,7,7,10, - 198,198,198,198,198,198,198,198,198,198, + 182,182,72,72,72,72,183,183,73,73, + 73,73,73,74,74,83,83,83,83,83, + 83,83,83,50,50,50,50,50,104,104, + 102,102,51,184,23,23,23,23,23,49, + 49,86,86,86,86,86,153,153,148,148, + 148,148,148,149,149,149,150,150,150,151, + 151,151,152,152,152,87,87,87,87,87, + 88,88,88,13,14,14,14,14,14,14, + 14,14,14,14,14,97,119,119,119,119, + 119,119,117,117,117,154,155,155,118,118, + 185,157,157,156,156,121,121,105,78,78, + 122,53,48,158,158,54,52,85,85,159, + 159,147,147,123,124,124,125,81,81,160, + 160,64,64,64,61,61,60,65,65,79, + 79,59,59,59,55,89,89,99,98,98, + 63,63,62,62,56,56,46,100,100,100, + 92,92,92,93,93,94,94,94,95,95, + 106,106,106,108,108,107,107,203,203,90, + 90,187,187,187,187,187,127,47,47,162, + 186,186,128,128,129,129,129,130,164,188, + 188,35,35,116,131,131,131,131,190,110, + 109,109,120,120,120,165,166,166,166,166, + 166,166,166,166,166,166,166,192,192,189, + 189,191,191,167,168,168,168,168,169,193, + 112,111,111,194,194,170,170,170,170,101, + 101,101,195,195,8,8,9,196,196,197, + 171,161,161,172,172,173,174,174,7,7, + 10,198,198,198,198,198,198,198,198,198, 198,198,198,198,198,198,198,198,198,198, 198,198,198,198,198,198,198,198,198,198, 198,198,198,198,198,198,198,198,198,198, - 198,198,76,80,80,175,175,133,133,134, - 134,134,134,134,134,3,135,135,132,132, - 113,113,84,77,75,163,163,114,114,199, - 199,199,136,136,126,126,200,200,1119,35, - 2959,2937,1102,4715,27,30,31,956,879,26, - 28,2936,262,25,23,50,1888,106,76,77, - 108,242,1896,1931,1897,1940,1939,2017,1982,2099, - 2033,2135,2026,274,2060,2062,143,760,3404,158, - 144,1506,35,1003,32,4690,3232,27,30,31, - 956,879,341,28,760,35,283,1224,35,1003, - 32,232,4781,27,30,31,956,879,57,28, - 1233,35,1003,32,353,4910,27,30,31,956, - 879,59,28,42,235,230,231,330,1143,296, - 1443,35,1003,32,1847,275,41,30,31,956, - 879,321,1196,323,1454,316,644,667,155,35, - 456,501,3236,4708,242,245,248,251,727,2046, - 354,1331,1976,1180,1334,2436,35,278,3632,634, - 1474,35,278,346,1775,1223,351,957,330,35, - 296,3278,393,430,2620,386,2917,2957,3288,3382, - 3609,4270,2377,35,1003,32,2825,4827,27,30, - 31,956,879,26,28,1861,262,25,23,50, - 1888,106,76,77,108,345,1896,1931,1897,1940, - 1939,2017,1982,326,2033,1379,2026,1458,2060,2062, - 143,3667,623,520,144,237,2528,61,2753,667, - 4347,155,35,280,3584,1041,2533,2583,521,919, - 2377,35,1003,32,2825,4827,27,30,31,956, - 879,26,28,1861,262,25,23,50,1888,106, - 76,77,108,345,1896,1931,1897,1940,1939,2017, - 1982,2043,2033,623,2026,2825,2060,2062,143,1461, - 1374,520,144,1983,1314,2229,2753,42,2281,2195, - 919,1439,1145,2915,2540,516,521,1576,35,1003, - 32,1357,4781,27,30,31,956,879,56,28, - 449,2284,2316,558,1708,1428,1225,2069,2377,35, - 1003,32,2825,4827,27,30,31,956,879,26, - 28,1861,262,25,23,50,1888,106,76,77, - 108,345,1896,1931,1897,1940,1939,2017,1982,1447, - 2033,446,2026,516,2060,2062,143,182,1802,520, - 144,363,758,325,2753,499,35,280,94,1434, - 4897,921,2388,534,521,2069,2653,35,1003,32, - 2825,4827,27,30,31,956,879,26,28,1861, - 262,25,23,50,1888,106,76,77,108,345, - 1896,1931,1897,1940,1939,2017,1982,2926,2033,1847, - 2026,667,2060,2062,143,988,4488,520,144,1474, - 35,281,2753,760,35,872,391,760,1622,1501, - 34,516,521,1244,35,1003,32,60,4910,27, - 30,31,956,879,26,28,1557,300,514,739, - 2460,4602,1716,2069,2720,35,1003,32,455,4827, - 27,30,31,956,879,26,28,1861,262,25, - 23,50,1888,106,76,77,108,384,1896,1931, - 1897,1940,1939,2017,1982,2606,2033,314,2026,517, - 2060,2062,143,1569,2362,381,144,2570,2446,35, - 1003,32,1705,4827,27,30,31,956,879,26, - 28,1861,262,25,23,50,1888,106,76,77, - 108,2206,1896,1931,1897,1940,1939,2017,1982,525, - 2033,1847,2026,2116,2060,2062,143,4516,2032,381, - 144,2570,667,2860,35,1003,32,4619,4827,27, - 30,31,956,879,26,28,1861,262,25,23, - 50,1888,106,76,77,108,1759,1896,1931,1897, - 1940,1939,2017,1982,1974,2033,1677,2026,3132,2060, - 2318,164,388,382,1474,667,3167,35,1003,32, - 4697,4827,27,30,31,956,879,26,28,1861, - 262,25,23,50,1888,106,76,77,108,2541, - 1896,1931,1897,1940,1939,2017,1982,300,2033,1097, - 2026,692,2060,2318,164,329,389,382,1474,760, - 35,1880,1579,1160,2269,760,35,3856,2518,35, - 1003,32,3649,4827,27,30,31,956,879,26, - 28,1861,262,25,23,50,1888,106,76,77, - 108,1456,1896,1931,1897,1940,1939,2017,1982,300, - 2033,2992,2026,2021,2060,2062,143,426,839,381, - 144,2570,2918,35,1003,32,1491,4827,27,30, - 31,956,879,26,28,1861,262,25,23,50, - 1888,106,76,77,108,2027,1896,1931,1897,1940, - 1939,2017,1982,2440,2033,1847,2026,300,2060,2062, - 143,1192,2208,158,144,3167,35,1003,32,2237, - 4827,27,30,31,956,879,26,28,1861,262, - 25,23,50,1888,106,76,77,108,2657,1896, - 1931,1897,1940,1939,2017,1982,2135,2033,2279,2026, - 300,2060,2318,164,750,327,379,382,1474,2918, - 35,1003,32,392,4827,27,30,31,956,879, - 26,28,1861,262,25,23,50,1888,106,76, - 77,108,355,1896,1931,1897,1940,1939,2017,1982, - 495,2033,424,2026,1833,2060,2062,143,1464,4347, - 375,144,2000,35,1003,32,295,59,2076,30, - 31,956,879,2583,2918,35,1003,32,2620,4827, - 27,30,31,956,879,26,28,1861,262,25, - 23,50,1888,106,76,77,108,221,1896,1931, - 1897,1940,1939,2017,1982,331,2033,2108,2026,1374, - 2060,2062,143,1314,1333,375,144,394,430,760, - 35,872,391,2918,35,1003,32,3484,4827,27, - 30,31,956,879,26,28,1861,262,25,23, - 50,1888,106,76,77,108,374,1896,1931,1897, - 1940,1939,2017,1982,49,2033,1668,2026,300,2060, - 2062,143,828,46,375,144,2586,35,1003,32, - 4079,4827,27,30,31,956,879,26,28,1861, - 262,25,23,50,1888,106,76,77,108,69, - 1896,1931,1897,1940,1939,2017,1982,96,2033,358, - 2026,373,2060,2062,143,330,337,142,144,534, - 2918,35,1003,32,1847,4827,27,30,31,956, - 879,26,28,1861,262,25,23,50,1888,106, - 76,77,108,2045,1896,1931,1897,1940,1939,2017, - 1982,2306,2033,1847,2026,300,2060,2062,143,1192, - 371,155,144,2918,35,1003,32,2995,4827,27, - 30,31,956,879,26,28,1861,262,25,23, - 50,1888,106,76,77,108,3665,1896,1931,1897, - 1940,1939,2017,1982,300,2033,799,2026,4152,2060, - 2062,143,760,2569,154,144,2918,35,1003,32, - 378,4827,27,30,31,956,879,26,28,1861, - 262,25,23,50,1888,106,76,77,108,386, - 1896,1931,1897,1940,1939,2017,1982,300,2033,1847, - 2026,4702,2060,2062,143,760,3786,153,144,2918, - 35,1003,32,1052,4827,27,30,31,956,879, - 26,28,1861,262,25,23,50,1888,106,76, - 77,108,1432,1896,1931,1897,1940,1939,2017,1982, - 414,2033,799,2026,825,2060,2062,143,847,2310, - 152,144,2918,35,1003,32,378,4827,27,30, - 31,956,879,26,28,1861,262,25,23,50, - 1888,106,76,77,108,376,1896,1931,1897,1940, - 1939,2017,1982,291,2033,1847,2026,300,2060,2062, - 143,4144,2208,151,144,2918,35,1003,32,2758, - 4827,27,30,31,956,879,26,28,1861,262, - 25,23,50,1888,106,76,77,108,2288,1896, - 1931,1897,1940,1939,2017,1982,300,2033,799,2026, - 4202,2060,2062,143,1464,1933,150,144,2918,35, - 1003,32,3244,4827,27,30,31,956,879,26, - 28,1861,262,25,23,50,1888,106,76,77, - 108,2921,1896,1931,1897,1940,1939,2017,1982,558, - 2033,1847,2026,305,2060,2062,143,2350,2353,149, - 144,2918,35,1003,32,1723,4827,27,30,31, - 956,879,26,28,1861,262,25,23,50,1888, - 106,76,77,108,495,1896,1931,1897,1940,1939, - 2017,1982,300,2033,799,2026,3023,2060,2062,143, - 2099,2485,148,144,2918,35,1003,32,528,4827, - 27,30,31,956,879,26,28,1861,262,25, - 23,50,1888,106,76,77,108,3505,1896,1931, - 1897,1940,1939,2017,1982,2487,2033,1847,2026,2645, - 2060,2062,143,2099,356,147,144,2918,35,1003, - 32,2291,4827,27,30,31,956,879,26,28, - 1861,262,25,23,50,1888,106,76,77,108, - 2311,1896,1931,1897,1940,1939,2017,1982,2512,2033, - 799,2026,463,2060,2062,143,413,1707,146,144, - 2918,35,1003,32,527,4827,27,30,31,956, - 879,26,28,1861,262,25,23,50,1888,106, - 76,77,108,383,1896,1931,1897,1940,1939,2017, - 1982,323,2033,1840,2026,462,2060,2062,143,1516, - 1874,145,144,2918,35,1003,32,1582,4827,27, - 30,31,956,879,26,28,1861,262,25,23, - 50,1888,106,76,77,108,1724,1896,1931,1897, - 1940,1939,2017,1982,300,2033,1840,2026,4241,2060, - 2062,143,65,675,159,144,2918,35,1003,32, - 2833,4827,27,30,31,956,879,26,28,1861, - 262,25,23,50,1888,106,76,77,108,324, - 1896,1931,1897,1940,1939,2017,1982,231,2033,1840, - 2026,675,2060,2062,143,1464,833,140,144,3046, - 35,1003,32,1745,4827,27,30,31,956,879, - 26,28,1861,262,25,23,50,1888,106,76, - 77,108,500,1896,1931,1897,1940,1939,2017,1982, - 317,2033,1255,2026,304,2060,2062,143,1103,145, - 189,144,3167,35,1003,32,1464,4827,27,30, - 31,956,879,26,28,1861,262,25,23,50, - 1888,106,76,77,108,2583,1896,1931,1897,1940, - 1939,2017,1982,1719,2033,739,2026,1464,2060,2318, - 164,3167,35,1003,32,301,4827,27,30,31, - 956,879,26,28,1861,262,25,23,50,1888, - 106,76,77,108,2480,1896,1931,1897,1940,1939, - 2017,1982,407,2033,1503,2026,300,2060,2318,164, - 760,35,1501,277,450,760,35,872,391,3167, - 35,1003,32,3742,4827,27,30,31,956,879, - 26,28,1861,262,25,23,50,1888,106,76, - 77,108,1589,1896,1931,1897,1940,1939,2017,1982, - 434,2033,450,2026,988,2060,2318,164,3225,35, - 1003,32,425,4827,27,30,31,956,879,26, - 28,1861,262,25,23,50,1888,106,76,77, - 108,357,1896,1931,1897,1940,1939,2017,1982,300, - 2033,534,2026,571,2060,2318,164,300,760,35, - 296,1266,760,35,872,391,3167,35,1003,32, - 428,4827,27,30,31,956,879,26,28,1861, - 262,25,23,50,1888,106,76,77,108,2099, - 1896,1931,1897,1940,1939,2017,1982,437,2033,300, - 2026,1252,3503,3291,575,3167,35,1003,32,3274, - 4827,27,30,31,956,879,26,28,1861,262, - 25,23,50,1888,106,76,77,108,525,1896, - 1931,1897,1940,1939,2017,1982,2348,2033,1616,3478, - 3167,35,1003,32,403,4827,27,30,31,956, - 879,26,28,1861,262,25,23,50,1888,106, - 76,77,108,2025,1896,1931,1897,1940,1939,2017, - 1982,328,3383,3167,35,1003,32,3339,4827,27, - 30,31,956,879,26,28,1861,262,25,23, - 50,1888,106,76,77,108,1725,1896,1931,1897, - 1940,1939,2017,3384,3167,35,1003,32,2401,4827, - 27,30,31,956,879,26,28,1861,262,25, - 23,50,1888,106,76,77,108,1466,1896,1931, - 1897,1940,1939,3261,1479,35,1003,32,3631,4296, - 27,30,31,956,879,341,28,3167,35,1003, - 32,1934,4827,27,30,31,956,879,26,28, - 1861,262,25,23,50,1888,106,76,77,108, - 2099,1896,1931,1897,1940,3298,1233,35,1003,32, - 2441,4910,27,30,31,956,879,58,28,1374, - 405,1826,1005,334,321,1196,323,441,316,644, - 2000,35,1003,32,2128,2135,40,30,31,956, - 879,667,155,35,456,315,4882,4708,2099,3167, - 35,1003,32,4397,4827,27,30,31,956,879, - 26,28,1861,262,25,23,50,1888,106,76, - 77,108,70,1896,1931,1897,1940,3358,760,35, - 1501,279,4111,760,35,872,391,308,312,811, - 1856,35,1003,32,4146,3232,27,30,31,956, - 879,341,28,1177,35,399,2000,35,1003,32, - 1464,1318,3143,30,31,956,879,2505,49,2301, - 300,3553,2275,1327,3393,1791,538,1188,670,2825, - 51,495,1257,35,2766,32,3631,4296,27,30, - 31,956,879,341,28,3575,396,430,228,179, - 321,1196,323,156,316,644,760,35,1501,282, - 2212,180,2560,760,35,872,391,1550,2744,354, - 2431,2638,205,215,3098,204,212,213,214,216, - 2444,2027,346,1775,1223,351,2324,1374,2470,195, - 2630,334,321,1196,323,300,316,644,436,1367, - 1712,206,208,210,735,661,2135,1840,522,207, - 209,2507,2661,1119,453,2284,2316,3167,35,1003, - 32,4397,4827,27,30,31,956,879,26,28, - 1861,262,25,23,50,1888,106,76,77,108, - 380,1896,1931,1897,3113,3167,35,1003,32,306, - 4827,27,30,31,956,879,26,28,1861,262, - 25,23,50,1888,106,76,77,108,2511,1896, - 1931,1897,3126,3167,35,1003,32,368,4827,27, - 30,31,956,879,26,28,1861,262,25,23, - 50,1888,106,76,77,108,2480,1896,2981,420, - 422,2746,2027,2117,1918,2994,196,4145,300,4799, - 88,300,2485,102,1466,1192,1272,395,430,3167, - 35,1003,32,2431,4827,27,30,31,956,879, - 26,28,1861,262,25,23,50,1888,106,76, - 77,108,156,1896,1931,1897,3142,3167,35,1003, - 32,2498,4827,27,30,31,956,879,26,28, - 1861,262,25,23,50,1888,106,76,77,108, - 298,1896,1931,1897,3172,3283,35,872,391,93, - 3228,2491,354,300,760,35,296,2656,237,262, - 1177,35,399,2510,2516,346,1775,1223,351,760, - 35,1501,3855,344,2268,3151,3167,35,1003,32, - 274,4827,27,30,31,956,879,26,28,1861, - 262,25,23,50,1888,106,76,77,108,71, - 1896,1931,3226,1840,3167,35,1003,32,232,4827, - 27,30,31,956,879,26,28,1861,262,25, - 23,50,1888,106,76,77,108,1840,1896,1931, - 3247,235,230,231,2118,259,2997,1746,4681,538, - 2849,300,275,2542,432,925,1177,35,1630,1129, - 239,262,1571,35,1501,277,2544,3459,228,2107, - 4075,242,245,248,251,727,156,353,3683,2718, - 760,3864,1501,74,180,2560,634,1247,799,3385, - 2099,49,203,215,3098,202,212,213,214,216, - 1188,1139,169,2917,2957,3288,3382,3609,4270,1, - 232,581,168,538,183,167,170,171,172,173, - 174,1145,2548,354,2282,300,2825,300,538,964, - 753,4239,228,240,230,231,346,1775,1223,351, - 156,1755,300,1838,3278,345,4817,345,180,2560, - 232,2103,799,1353,2569,156,203,215,3098,202, - 212,213,214,216,188,685,169,300,2650,1840, - 4434,4360,97,244,230,231,168,181,184,167, - 170,171,172,173,174,2037,35,1003,32,4146, - 3232,27,30,31,956,879,341,28,3167,35, - 1003,32,24,4827,27,30,31,956,879,26, - 28,1861,262,25,23,50,1888,106,76,77, - 108,2275,1896,3000,1464,1192,2979,190,1561,35, - 1003,32,2414,3232,27,30,31,956,879,341, - 28,2375,2375,1921,345,321,1196,323,538,316, - 644,2687,156,2743,300,300,1924,2825,4486,3121, - 200,3588,2594,198,354,1464,529,228,760,35, - 872,391,2130,1464,290,156,345,346,1775,1223, - 351,1706,495,180,2560,530,4803,799,318,1012, - 323,203,215,3098,202,212,213,214,216,664, - 3125,169,2205,435,197,2744,4115,2556,2480,1232, - 2610,168,409,3767,167,170,171,172,173,174, - 1866,35,1003,32,2687,4296,27,30,31,956, - 879,341,28,3167,35,1003,32,3124,4827,27, - 30,31,956,879,26,28,1861,262,25,23, - 50,1888,106,76,77,108,2014,3011,588,35, - 872,391,588,35,872,391,1015,35,872,391, - 929,35,872,391,300,1374,526,2188,2194,335, - 321,1196,323,300,317,644,431,747,789,1603, - 538,489,2618,49,4347,3863,300,49,2220,354, - 2825,49,1188,1171,2099,274,1188,2068,1840,228, - 1188,47,348,1775,1223,351,3473,156,1352,345, - 3498,1353,2569,517,2238,180,2560,538,2119,799, - 1177,35,399,203,215,3098,202,212,213,214, - 216,352,2753,169,1374,2088,228,89,335,445, - 102,459,2831,168,156,178,167,170,171,172, - 173,174,180,2560,1379,3175,799,3857,3863,2636, - 203,215,3098,202,212,213,214,216,603,667, - 169,232,538,1840,4807,72,98,2349,2204,1840, - 168,2825,176,167,170,171,172,173,174,300, - 2324,228,1954,4630,247,230,231,4347,1840,156, - 345,2480,1567,1915,151,689,69,180,2560,538, - 533,799,68,2027,2027,203,215,3098,202,212, - 213,214,216,2753,1464,169,44,2281,228,4056, - 2201,53,290,536,1192,168,156,177,167,170, - 171,172,173,174,180,2560,300,1374,799,2359, - 2825,335,203,215,3098,202,212,213,214,216, - 775,160,169,201,538,232,300,1682,2610,345, - 1192,354,168,526,187,167,170,171,172,173, - 174,385,297,228,348,1775,1223,351,250,230, - 231,156,2753,760,35,872,391,156,1931,180, - 2560,2095,2843,799,2027,2825,3502,203,215,3098, - 202,212,213,214,216,2480,2174,169,760,35, - 872,391,2546,1377,2540,2027,3378,168,274,4033, - 167,170,171,172,173,174,2471,35,1003,32, - 3631,3232,27,30,31,956,879,341,28,3109, - 35,1003,32,274,4827,27,30,31,956,879, - 26,28,1861,262,25,23,50,1888,86,76, - 77,861,287,667,2568,538,2572,4351,4811,1840, - 300,87,2480,1840,2825,1571,35,1501,3918,2579, - 276,508,2609,288,228,300,321,1196,323,3516, - 316,644,156,345,1018,35,872,391,1464,300, - 180,2560,87,2825,799,342,52,315,203,215, - 3098,202,212,213,214,216,2753,947,169,1602, - 1840,538,345,300,506,507,2844,1192,168,49, - 192,167,170,171,172,173,174,199,1188,47, - 228,237,237,2613,2646,2753,4347,4347,156,308, - 312,811,1322,454,156,2923,180,2560,300,1465, - 799,1840,2825,3859,203,215,3098,202,212,213, - 214,216,1033,4170,169,1840,538,760,35,1501, - 4010,345,232,1840,168,1327,186,167,170,171, - 172,173,174,2608,3369,228,1374,1374,2647,1840, - 334,334,1840,156,2753,253,230,231,90,300, - 2675,180,2560,4761,512,799,3699,2676,2680,203, - 215,3098,202,212,213,214,216,823,2681,169, - 4410,3259,3723,300,173,3385,2211,3194,1840,168, - 3055,194,167,170,171,172,173,174,3167,35, - 1003,32,2614,4827,27,30,31,956,879,26, - 28,1861,262,25,23,50,1888,106,76,77, - 108,3440,3013,3167,35,1003,32,1789,4827,27, - 30,31,956,879,26,28,1861,262,25,23, - 50,1888,106,76,77,108,2557,3021,1734,35, - 1003,32,3631,3232,27,30,31,956,879,341, - 28,3167,35,1003,32,2210,4827,27,30,31, - 956,879,26,28,1861,262,25,23,50,1888, - 106,76,77,85,3167,1622,1003,2617,1840,4827, - 27,30,31,956,879,26,28,1861,262,25, - 23,50,1888,106,76,77,84,300,321,1196, - 323,1333,316,644,300,2682,2711,2110,2095,1840, - 2713,3551,2703,2750,2707,3167,35,1003,32,315, - 4827,27,30,31,956,879,26,28,1861,262, - 25,23,50,1888,106,76,77,83,3167,35, - 1003,32,67,4827,27,30,31,956,879,26, - 28,1861,262,25,23,50,1888,106,76,77, - 82,309,312,811,3167,35,1003,32,2615,4827, - 27,30,31,956,879,26,28,1861,262,25, - 23,50,1888,106,76,77,81,3167,35,1003, - 32,2745,4827,27,30,31,956,879,26,28, - 1861,262,25,23,50,1888,106,76,77,80, - 3167,35,1003,32,2295,4827,27,30,31,956, - 879,26,28,1861,262,25,23,50,1888,106, - 76,77,79,3167,35,1003,32,2783,4827,27, - 30,31,956,879,26,28,1861,262,25,23, - 50,1888,106,76,77,78,2981,35,1003,32, - 2788,4827,27,30,31,956,879,26,28,1861, - 262,25,23,50,1888,106,76,77,104,3167, - 35,1003,32,2385,4827,27,30,31,956,879, - 26,28,1861,262,25,23,50,1888,106,76, - 77,110,3167,35,1003,32,2753,4827,27,30, - 31,956,879,26,28,1861,262,25,23,50, - 1888,106,76,77,109,3167,35,1003,32,2108, - 4827,27,30,31,956,879,26,28,1861,262, - 25,23,50,1888,106,76,77,107,1781,35, - 2766,32,3631,3232,27,30,31,956,879,341, - 28,3167,35,1003,32,1464,4827,27,30,31, - 956,879,26,28,1861,262,25,23,50,1888, - 106,76,77,105,1670,5391,1840,2201,2825,5391, - 1840,1192,4079,300,1878,237,237,2825,2825,5391, - 4347,4347,1943,5391,4423,5391,2825,228,321,1196, - 323,5391,316,644,5391,5391,345,228,160,66, - 1464,5391,2201,65,1840,2540,1192,336,337,1119, - 1840,205,215,3098,204,212,213,214,216,2753, - 1840,205,215,3098,204,212,213,214,216,510, - 1374,1374,1965,160,334,334,2825,64,5391,222, - 206,208,210,1761,661,5391,5391,217,207,209, - 206,208,210,1847,661,228,1918,217,207,209, - 1840,4799,5391,3563,3372,3190,13,1464,4460,2108, - 5391,2052,362,2201,5391,2825,2631,1192,4460,205, - 215,3098,204,212,213,214,216,5391,2883,2471, - 2472,5391,5391,55,228,421,422,2746,3610,5391, - 3330,35,872,391,160,3228,193,2694,206,208, - 210,2825,661,238,262,217,207,209,205,215, - 3098,204,212,213,214,216,588,35,872,391, - 345,1840,4079,1840,2752,274,4460,300,5391,300, - 542,2825,5391,2825,5391,5391,5391,206,208,210, - 5391,661,5391,3726,217,207,209,3151,1840,1840, - 345,49,345,232,54,5391,4237,3253,337,4230, - 1188,3315,5391,3394,5391,4460,5391,760,35,872, - 391,2023,5391,2753,3498,2753,236,230,231,5391, - 1943,101,3662,3689,2825,537,5391,275,1734,35, - 1003,32,3631,3232,27,30,31,956,879,341, - 28,5391,49,2540,532,5391,243,246,249,252, - 727,1188,2581,5391,5391,5391,433,1747,35,1003, - 32,634,4296,27,30,31,956,879,341,28, - 1747,35,1003,32,5391,4296,27,30,31,956, - 879,341,28,2297,5391,5391,5391,1192,321,1196, - 323,5391,316,644,1734,35,1003,32,3631,3232, - 27,30,31,956,879,341,28,300,5391,1976, - 362,1192,1374,5391,156,5391,335,321,1196,323, - 1392,319,644,162,2825,1374,3673,2471,2472,335, - 321,1196,323,5391,317,644,4190,2139,156,5391, - 5391,2825,5391,228,5391,5391,2108,4136,1018,35, - 872,391,5391,5391,321,1196,323,5391,316,644, - 228,5391,5391,5391,5391,5391,5391,205,215,3098, - 204,212,213,214,216,3941,2226,2201,5391,5391, - 2825,1192,5391,49,205,215,3098,204,212,213, - 214,216,1188,47,5391,5391,206,208,210,228, - 661,5391,5391,218,207,209,929,5391,160,4079, - 5391,5391,5391,206,208,210,5391,661,5391,5391, - 523,207,209,205,215,3098,204,212,213,214, - 216,2402,35,1003,32,2582,3232,27,30,31, - 956,879,341,28,332,337,300,5391,5391,5391, - 1192,2313,206,208,210,2825,661,5391,5391,307, - 207,209,1182,4329,5391,2201,2825,4719,5391,1192, - 406,1287,5391,4301,228,2825,4719,156,5391,588, - 35,872,391,5391,5391,228,4140,5391,5391,5391, - 2108,318,1012,323,228,5391,160,5391,205,215, - 3098,204,212,213,214,216,5391,5391,5391,2103, - 410,4571,300,5391,49,5391,1192,5391,2103,410, - 4571,5391,5391,1188,47,5391,5391,206,208,210, - 5391,661,5391,5391,502,207,209,594,411,412, - 413,1944,661,156,5391,2825,4347,411,412,413, - 1944,661,4174,4079,2825,4347,5391,1349,35,872, - 391,4328,2095,1638,2540,5391,2825,5391,588,35, - 872,391,1638,2540,5391,1322,35,872,391,760, - 35,872,391,5391,5391,2540,5391,5391,3847,337, - 5391,789,49,5391,300,5391,1374,5391,1192,5391, - 334,1188,47,49,5391,1374,5391,5391,5391,334, - 49,5391,1188,47,49,2834,5391,5391,5391,1188, - 3429,2108,5391,1188,3111,156,933,414,416,5391, - 3372,362,5391,3473,2960,5391,414,417,5391,3190, - 362,1018,35,872,391,5391,5391,3651,2471,2472, - 5391,1215,508,5391,4611,5391,3651,2471,2472,588, - 35,872,391,588,35,872,391,588,35,872, - 391,588,35,872,391,5391,49,2263,300,5391, - 5391,2825,538,5391,4079,1188,3496,1217,35,872, - 391,5391,5391,5391,49,505,507,5391,49,3240, - 2540,345,49,1188,47,5391,49,1188,47,156, - 300,1188,47,5391,538,1188,47,2155,3039,3854, - 337,2242,49,300,2753,2613,5391,538,5391,3138, - 5391,1188,3112,345,2907,5391,5391,2484,5391,5391, - 5391,156,760,35,872,391,345,5391,5391,5391, - 3359,300,5391,5391,156,538,2753,760,35,872, - 391,5391,5391,3039,5391,5391,3353,508,5391,2753, - 760,35,872,391,345,5391,300,49,5391,3559, - 538,300,156,5391,5391,538,1188,2854,5391,300, - 5391,188,49,1192,5391,5391,5391,4434,5391,345, - 5391,1188,665,5391,345,49,5391,156,5391,5391, - 505,507,156,5391,1188,3112,188,5391,5391,5391, - 156,188,4434,5391,5391,5391,5391,4434,5391,4303, - 5391,5391,5391,5391,5391,5391,5391,5391,5391,5391, - 5391,5391,5391,5391,5391,5391,5391,5391,5391,5391, - 5391,5391,3805,5391,3692,5391,5391,5391,5391,5391, - 5391,5391,5391,5391,5391,5391,5391,5391,5391,5391, - 5391,5391,5391,5391,5391,5391,5391,5391,5391,3728, - 5391,5391,5391,5391,3828,5391,0,504,2575,0, - 1,229,0,39,5406,0,39,5405,0,1, - 4368,0,630,1,0,39,1,5406,0,39, - 1,5405,0,1,3123,0,1,937,0,229, - 219,0,284,397,0,284,289,0,5625,241, - 0,5624,241,0,5731,241,0,5730,241,0, - 5652,241,0,5651,241,0,5650,241,0,5649, - 241,0,5648,241,0,5647,241,0,5646,241, - 0,5645,241,0,5664,241,0,5663,241,0, - 5662,241,0,5661,241,0,5660,241,0,5659, - 241,0,5658,241,0,5657,241,0,5656,241, - 0,5655,241,0,5654,241,0,39,241,5406, - 0,39,241,5405,0,5429,241,0,1127,390, - 0,5406,48,0,5405,48,0,1,333,0, - 38,937,0,38,5406,0,38,5405,0,457, - 1270,0,443,1418,0,1127,29,0,5403,1, - 0,1544,320,0,1,447,0,461,1810,0, - 460,1853,0,35,33,0,47,37,0,504, - 1639,0,5429,1,229,0,39,1,229,0, - 229,419,0,1,2491,0,1,5664,0,1, + 198,198,198,76,80,80,175,175,133,133, + 134,134,134,134,134,134,3,135,135,132, + 132,113,113,84,77,75,75,163,163,114, + 114,199,199,199,136,136,126,126,200,200, + 1119,35,2961,2939,1102,4717,27,30,31,958, + 881,26,28,2938,263,25,23,50,1890,106, + 76,77,108,242,1898,1933,1899,1942,1941,2019, + 1984,1931,2035,933,2028,275,2062,2064,143,760, + 3406,158,144,1508,35,1005,32,4692,3234,27, + 30,31,958,881,342,28,760,35,284,1716, + 35,1005,32,233,4783,27,30,31,958,881, + 57,28,1244,35,1005,32,354,4912,27,30, + 31,958,881,59,28,42,236,231,232,330, + 1145,297,1445,35,1005,32,1851,276,41,30, + 31,958,881,322,1198,324,1880,317,646,667, + 155,35,457,502,3238,4710,243,246,249,252, + 729,1476,355,1615,1978,1180,1224,2440,35,279, + 3634,636,1388,35,279,347,1777,1225,352,959, + 330,35,297,3280,394,431,2622,386,2919,2959, + 3290,3384,3611,4272,2381,35,1005,32,2827,4829, + 27,30,31,958,881,26,28,1863,263,25, + 23,50,1890,106,76,77,108,346,1898,1933, + 1899,1942,1941,2019,1984,327,2035,1381,2028,1460, + 2062,2064,143,3669,625,521,144,237,2530,61, + 2755,667,4349,155,35,281,3586,1043,2535,1284, + 522,921,2381,35,1005,32,2827,4829,27,30, + 31,958,881,26,28,1863,263,25,23,50, + 1890,106,76,77,108,346,1898,1933,1899,1942, + 1941,2019,1984,2276,2035,625,2028,2827,2062,2064, + 143,1160,1376,521,144,1985,1316,2231,2755,42, + 2283,2199,921,1441,1147,2917,2542,517,522,1837, + 35,1005,32,1847,4783,27,30,31,958,881, + 56,28,450,2286,2318,558,1710,1430,1227,2071, + 2381,35,1005,32,2827,4829,27,30,31,958, + 881,26,28,1863,263,25,23,50,1890,106, + 76,77,108,346,1898,1933,1899,1942,1941,2019, + 1984,1793,2035,447,2028,517,2062,2064,143,182, + 1804,521,144,364,758,326,2755,499,35,281, + 94,1378,4899,923,2390,536,522,2071,2657,35, + 1005,32,2827,4829,27,30,31,958,881,26, + 28,1863,263,25,23,50,1890,106,76,77, + 108,346,1898,1933,1899,1942,1941,2019,1984,2928, + 2035,1851,2028,667,2062,2064,143,1127,4490,521, + 144,1388,35,282,2755,760,35,874,392,760, + 1624,1503,34,517,522,1350,35,1005,32,60, + 4912,27,30,31,958,881,26,28,2303,300, + 515,741,2462,4604,1718,2071,2724,35,1005,32, + 456,4829,27,30,31,958,881,26,28,1863, + 263,25,23,50,1890,106,76,77,108,385, + 1898,1933,1899,1942,1941,2019,1984,2608,2035,315, + 2028,518,2062,2064,143,2310,2136,382,144,2572, + 2450,35,1005,32,1340,4829,27,30,31,958, + 881,26,28,1863,263,25,23,50,1890,106, + 76,77,108,2314,1898,1933,1899,1942,1941,2019, + 1984,527,2035,1851,2028,1938,2062,2064,143,4518, + 1658,382,144,2572,667,2865,35,1005,32,4621, + 4829,27,30,31,958,881,26,28,1863,263, + 25,23,50,1890,106,76,77,108,1761,1898, + 1933,1899,1942,1941,2019,1984,1976,2035,1679,2028, + 3134,2062,2320,164,389,383,1476,667,3172,35, + 1005,32,4699,4829,27,30,31,958,881,26, + 28,1863,263,25,23,50,1890,106,76,77, + 108,2513,1898,1933,1899,1942,1941,2019,1984,300, + 2035,1097,2028,694,2062,2320,164,330,390,383, + 1476,760,35,1882,1581,1495,2271,760,35,3858, + 2522,35,1005,32,3651,4829,27,30,31,958, + 881,26,28,1863,263,25,23,50,1890,106, + 76,77,108,2100,1898,1933,1899,1942,1941,2019, + 1984,300,2035,2994,2028,2023,2062,2064,143,427, + 839,382,144,2572,2923,35,1005,32,1556,4829, + 27,30,31,958,881,26,28,1863,263,25, + 23,50,1890,106,76,77,108,1947,1898,1933, + 1899,1942,1941,2019,1984,2375,2035,1851,2028,300, + 2062,2064,143,1194,2300,158,144,3172,35,1005, + 32,2239,4829,27,30,31,958,881,26,28, + 1863,263,25,23,50,1890,106,76,77,108, + 2659,1898,1933,1899,1942,1941,2019,1984,933,2035, + 2281,2028,300,2062,2320,164,752,328,380,383, + 1476,2923,35,1005,32,393,4829,27,30,31, + 958,881,26,28,1863,263,25,23,50,1890, + 106,76,77,108,356,1898,1933,1899,1942,1941, + 2019,1984,495,2035,425,2028,2011,2062,2064,143, + 1558,4349,376,144,2091,35,1005,32,296,59, + 2078,30,31,958,881,1284,2923,35,1005,32, + 2622,4829,27,30,31,958,881,26,28,1863, + 263,25,23,50,1890,106,76,77,108,222, + 1898,1933,1899,1942,1941,2019,1984,332,2035,2111, + 2028,1376,2062,2064,143,1316,1335,376,144,395, + 431,760,35,874,392,2923,35,1005,32,3486, + 4829,27,30,31,958,881,26,28,1863,263, + 25,23,50,1890,106,76,77,108,375,1898, + 1933,1899,1942,1941,2019,1984,49,2035,1940,2028, + 300,2062,2064,143,830,46,376,144,2590,35, + 1005,32,4081,4829,27,30,31,958,881,26, + 28,1863,263,25,23,50,1890,106,76,77, + 108,69,1898,1933,1899,1942,1941,2019,1984,96, + 2035,359,2028,374,2062,2064,143,331,338,142, + 144,536,2923,35,1005,32,1851,4829,27,30, + 31,958,881,26,28,1863,263,25,23,50, + 1890,106,76,77,108,2054,1898,1933,1899,1942, + 1941,2019,1984,2315,2035,1851,2028,300,2062,2064, + 143,1194,372,155,144,2923,35,1005,32,2997, + 4829,27,30,31,958,881,26,28,1863,263, + 25,23,50,1890,106,76,77,108,3667,1898, + 1933,1899,1942,1941,2019,1984,300,2035,801,2028, + 4154,2062,2064,143,760,2571,154,144,2923,35, + 1005,32,379,4829,27,30,31,958,881,26, + 28,1863,263,25,23,50,1890,106,76,77, + 108,386,1898,1933,1899,1942,1941,2019,1984,300, + 2035,1851,2028,4704,2062,2064,143,760,3788,153, + 144,2923,35,1005,32,1054,4829,27,30,31, + 958,881,26,28,1863,263,25,23,50,1890, + 106,76,77,108,1434,1898,1933,1899,1942,1941, + 2019,1984,414,2035,801,2028,827,2062,2064,143, + 847,2354,152,144,2923,35,1005,32,379,4829, + 27,30,31,958,881,26,28,1863,263,25, + 23,50,1890,106,76,77,108,377,1898,1933, + 1899,1942,1941,2019,1984,292,2035,1851,2028,300, + 2062,2064,143,4146,2300,151,144,2923,35,1005, + 32,2760,4829,27,30,31,958,881,26,28, + 1863,263,25,23,50,1890,106,76,77,108, + 1775,1898,1933,1899,1942,1941,2019,1984,300,2035, + 801,2028,4204,2062,2064,143,1558,1358,150,144, + 2923,35,1005,32,3246,4829,27,30,31,958, + 881,26,28,1863,263,25,23,50,1890,106, + 76,77,108,2923,1898,1933,1899,1942,1941,2019, + 1984,558,2035,1851,2028,306,2062,2064,143,2426, + 2489,149,144,2923,35,1005,32,1567,4829,27, + 30,31,958,881,26,28,1863,263,25,23, + 50,1890,106,76,77,108,495,1898,1933,1899, + 1942,1941,2019,1984,300,2035,801,2028,3025,2062, + 2064,143,1931,2491,148,144,2923,35,1005,32, + 530,4829,27,30,31,958,881,26,28,1863, + 263,25,23,50,1890,106,76,77,108,3507, + 1898,1933,1899,1942,1941,2019,1984,2509,2035,1851, + 2028,2647,2062,2064,143,1931,357,147,144,2923, + 35,1005,32,1614,4829,27,30,31,958,881, + 26,28,1863,263,25,23,50,1890,106,76, + 77,108,2357,1898,1933,1899,1942,1941,2019,1984, + 2516,2035,801,2028,464,2062,2064,143,413,1231, + 146,144,2923,35,1005,32,529,4829,27,30, + 31,958,881,26,28,1863,263,25,23,50, + 1890,106,76,77,108,384,1898,1933,1899,1942, + 1941,2019,1984,323,2035,1264,2028,463,2062,2064, + 143,2036,1449,145,144,2923,35,1005,32,1240, + 4829,27,30,31,958,881,26,28,1863,263, + 25,23,50,1890,106,76,77,108,1726,1898, + 1933,1899,1942,1941,2019,1984,300,2035,1264,2028, + 4243,2062,2064,143,65,675,159,144,2923,35, + 1005,32,2835,4829,27,30,31,958,881,26, + 28,1863,263,25,23,50,1890,106,76,77, + 108,325,1898,1933,1899,1942,1941,2019,1984,231, + 2035,1264,2028,675,2062,2064,143,1558,833,140, + 144,3051,35,1005,32,1748,4829,27,30,31, + 958,881,26,28,1863,263,25,23,50,1890, + 106,76,77,108,501,1898,1933,1899,1942,1941, + 2019,1984,317,2035,1255,2028,305,2062,2064,143, + 1103,145,189,144,3172,35,1005,32,1558,4829, + 27,30,31,958,881,26,28,1863,263,25, + 23,50,1890,106,76,77,108,1284,1898,1933, + 1899,1942,1941,2019,1984,1561,2035,741,2028,1558, + 2062,2320,164,3172,35,1005,32,302,4829,27, + 30,31,958,881,26,28,1863,263,25,23, + 50,1890,106,76,77,108,2482,1898,1933,1899, + 1942,1941,2019,1984,408,2035,1505,2028,301,2062, + 2320,164,760,35,1503,278,451,760,35,874, + 392,3172,35,1005,32,3744,4829,27,30,31, + 958,881,26,28,1863,263,25,23,50,1890, + 106,76,77,108,1591,1898,1933,1899,1942,1941, + 2019,1984,435,2035,451,2028,1127,2062,2320,164, + 3230,35,1005,32,426,4829,27,30,31,958, + 881,26,28,1863,263,25,23,50,1890,106, + 76,77,108,358,1898,1933,1899,1942,1941,2019, + 1984,300,2035,536,2028,573,2062,2320,164,300, + 760,35,297,1268,760,35,874,392,3172,35, + 1005,32,429,4829,27,30,31,958,881,26, + 28,1863,263,25,23,50,1890,106,76,77, + 108,1931,1898,1933,1899,1942,1941,2019,1984,438, + 2035,300,2028,1725,3505,3293,575,3172,35,1005, + 32,3276,4829,27,30,31,958,881,26,28, + 1863,263,25,23,50,1890,106,76,77,108, + 527,1898,1933,1899,1942,1941,2019,1984,1922,2035, + 1926,3480,3172,35,1005,32,403,4829,27,30, + 31,958,881,26,28,1863,263,25,23,50, + 1890,106,76,77,108,2027,1898,1933,1899,1942, + 1941,2019,1984,329,3385,3172,35,1005,32,3341, + 4829,27,30,31,958,881,26,28,1863,263, + 25,23,50,1890,106,76,77,108,1074,1898, + 1933,1899,1942,1941,2019,3386,3172,35,1005,32, + 1852,4829,27,30,31,958,881,26,28,1863, + 263,25,23,50,1890,106,76,77,108,2711, + 1898,1933,1899,1942,1941,3263,1481,35,1005,32, + 3633,4298,27,30,31,958,881,342,28,3172, + 35,1005,32,1722,4829,27,30,31,958,881, + 26,28,1863,263,25,23,50,1890,106,76, + 77,108,1931,1898,1933,1899,1942,3300,1244,35, + 1005,32,2220,4912,27,30,31,958,881,58, + 28,1376,406,1373,2214,335,322,1198,324,442, + 317,646,2091,35,1005,32,1966,933,40,30, + 31,958,881,667,155,35,457,316,4884,4710, + 1931,3172,35,1005,32,4399,4829,27,30,31, + 958,881,26,28,1863,263,25,23,50,1890, + 106,76,77,108,70,1898,1933,1899,1942,3360, + 760,35,1503,280,4113,760,35,874,392,309, + 313,813,1860,35,1005,32,4148,3234,27,30, + 31,958,881,342,28,1237,35,400,2091,35, + 1005,32,1558,1320,3145,30,31,958,881,2514, + 49,2037,300,3555,2274,1329,3395,1795,540,1190, + 672,2827,51,495,1256,35,2768,32,3633,4298, + 27,30,31,958,881,342,28,3577,397,431, + 229,179,322,1198,324,156,317,646,760,35, + 1503,283,2301,180,2562,760,35,874,392,1554, + 2715,355,2305,2640,206,216,3100,205,213,214, + 215,217,2445,1947,347,1777,1225,352,2326,1376, + 2448,196,2632,335,322,1198,324,300,317,646, + 437,1369,1607,207,209,211,737,663,933,1264, + 523,208,210,2474,2663,1121,454,2286,2318,3172, + 35,1005,32,4399,4829,27,30,31,958,881, + 26,28,1863,263,25,23,50,1890,106,76, + 77,108,381,1898,1933,1899,3115,3172,35,1005, + 32,307,4829,27,30,31,958,881,26,28, + 1863,263,25,23,50,1890,106,76,77,108, + 2511,1898,1933,1899,3128,3172,35,1005,32,369, + 4829,27,30,31,958,881,26,28,1863,263, + 25,23,50,1890,106,76,77,108,2031,1898, + 2983,421,423,2748,1947,2121,1727,2996,197,4147, + 300,4801,88,300,2487,102,2711,1194,2137,396, + 431,3172,35,1005,32,2433,4829,27,30,31, + 958,881,26,28,1863,263,25,23,50,1890, + 106,76,77,108,156,1898,1933,1899,3144,3172, + 35,1005,32,2500,4829,27,30,31,958,881, + 26,28,1863,263,25,23,50,1890,106,76, + 77,108,299,1898,1933,1899,3174,3288,35,874, + 392,93,3230,2405,355,300,760,35,297,2658, + 238,263,1237,35,400,2495,2508,347,1777,1225, + 352,760,35,1503,3857,345,2311,3153,3172,35, + 1005,32,275,4829,27,30,31,958,881,26, + 28,1863,263,25,23,50,1890,106,76,77, + 108,71,1898,1933,3228,1264,3172,35,1005,32, + 233,4829,27,30,31,958,881,26,28,1863, + 263,25,23,50,1890,106,76,77,108,1264, + 1898,1933,3249,236,231,232,1491,259,2999,1750, + 4683,540,2851,300,276,2520,433,927,1237,35, + 1632,1131,240,263,2210,35,1503,278,2545,3464, + 229,2109,4077,243,246,249,252,729,156,354, + 3685,2720,760,3866,1503,74,180,2562,636,1247, + 801,3390,1931,49,204,216,3100,203,213,214, + 215,217,1190,1141,169,2919,2959,3290,3384,3611, + 4272,1,233,581,168,540,183,167,170,171, + 172,173,174,1147,2552,355,2277,300,2827,300, + 540,966,753,4241,229,241,231,232,347,1777, + 1225,352,156,1235,300,1493,3280,346,4819,346, + 180,2562,233,1496,801,1709,2571,156,204,216, + 3100,203,213,214,215,217,188,687,169,300, + 2652,1264,4436,4362,97,245,231,232,168,181, + 184,167,170,171,172,173,174,2041,35,1005, + 32,4148,3234,27,30,31,958,881,342,28, + 3172,35,1005,32,24,4829,27,30,31,958, + 881,26,28,1863,263,25,23,50,1890,106, + 76,77,108,2274,1898,3002,1558,1194,2981,190, + 1573,35,1005,32,2416,3234,27,30,31,958, + 881,342,28,2379,2379,1919,345,322,1198,324, + 540,317,646,2585,156,2747,300,300,1937,2827, + 4488,3123,201,3590,1610,199,355,1558,531,229, + 760,35,874,392,1963,1558,291,156,346,347, + 1777,1225,352,1929,495,180,2562,532,4805,801, + 319,1014,324,204,216,3100,203,213,214,215, + 217,666,3127,169,1965,436,198,2715,4117,2558, + 2482,1234,2612,168,410,3769,167,170,171,172, + 173,174,1870,35,1005,32,2585,4298,27,30, + 31,958,881,342,28,3172,35,1005,32,3126, + 4829,27,30,31,958,881,26,28,1863,263, + 25,23,50,1890,106,76,77,108,2192,3013, + 588,35,874,392,588,35,874,392,1015,35, + 874,392,929,35,874,392,1746,1376,528,2273, + 2196,336,322,1198,324,300,318,646,431,749, + 791,1330,540,489,2620,49,4349,3865,300,49, + 2224,355,2827,49,1190,1173,1931,275,1190,2070, + 1264,229,1190,47,349,1777,1225,352,3475,156, + 1353,346,3500,1709,2571,517,2240,180,2562,540, + 2123,801,1237,35,400,204,216,3100,203,213, + 214,215,217,353,2755,169,1376,2266,229,89, + 336,446,102,460,2833,168,156,178,167,170, + 171,172,173,174,180,2562,1381,3177,801,3859, + 3865,2696,204,216,3100,203,213,214,215,217, + 603,667,169,233,540,1264,4809,72,98,2287, + 2128,1264,168,2827,176,167,170,171,172,173, + 174,300,2326,229,1958,4632,248,231,232,4349, + 1264,156,346,2482,1571,1928,151,689,69,180, + 2562,540,535,801,68,1947,1947,204,216,3100, + 203,213,214,215,217,2755,1558,169,44,2283, + 229,4058,2114,53,291,538,1194,168,156,177, + 167,170,171,172,173,174,180,2562,300,1376, + 801,2363,2827,336,204,216,3100,203,213,214, + 215,217,775,160,169,202,540,233,300,1684, + 2612,346,1194,355,168,528,187,167,170,171, + 172,173,174,386,298,229,349,1777,1225,352, + 251,231,232,156,2755,760,35,874,392,156, + 1736,180,2562,1479,2845,801,1947,2827,3504,204, + 216,3100,203,213,214,215,217,2482,2178,169, + 760,35,874,392,2281,1519,2542,1947,3380,168, + 275,4035,167,170,171,172,173,174,2475,35, + 1005,32,3633,3234,27,30,31,958,881,342, + 28,3114,35,1005,32,275,4829,27,30,31, + 958,881,26,28,1863,263,25,23,50,1890, + 86,76,77,861,288,667,2510,540,2546,4353, + 4813,1264,300,87,2482,1264,2827,2210,35,1503, + 3920,2612,277,509,2613,289,229,300,322,1198, + 324,3518,317,646,156,346,1018,35,874,392, + 1558,300,180,2562,87,2827,801,343,52,316, + 204,216,3100,203,213,214,215,217,2755,947, + 169,1606,1264,540,346,300,507,508,2846,1194, + 168,49,192,167,170,171,172,173,174,200, + 1190,47,229,237,237,2614,2620,2755,4349,4349, + 156,309,313,813,1324,455,156,2925,180,2562, + 300,1588,801,1264,2827,3861,204,216,3100,203, + 213,214,215,217,1033,4172,169,1264,540,760, + 35,1503,4012,346,233,1264,168,1329,186,167, + 170,171,172,173,174,2435,3371,229,1376,1376, + 2621,1264,335,335,1264,156,2755,254,231,232, + 90,300,2648,180,2562,4763,513,801,3701,2650, + 2679,204,216,3100,203,213,214,215,217,825, + 2680,169,4412,3261,3725,300,173,3387,2205,3196, + 1264,168,3057,195,167,170,171,172,173,174, + 3172,35,1005,32,2619,4829,27,30,31,958, + 881,26,28,1863,263,25,23,50,1890,106, + 76,77,108,3442,3015,3172,35,1005,32,2556, + 4829,27,30,31,958,881,26,28,1863,263, + 25,23,50,1890,106,76,77,108,2681,3023, + 1738,35,1005,32,3633,3234,27,30,31,958, + 881,342,28,3172,35,1005,32,2132,4829,27, + 30,31,958,881,26,28,1863,263,25,23, + 50,1890,106,76,77,85,3172,1624,1005,2619, + 1264,4829,27,30,31,958,881,26,28,1863, + 263,25,23,50,1890,106,76,77,84,300, + 322,1198,324,1335,317,646,300,2684,2685,2640, + 2097,1264,2686,3553,2707,2690,2720,3172,35,1005, + 32,316,4829,27,30,31,958,881,26,28, + 1863,263,25,23,50,1890,106,76,77,83, + 3172,35,1005,32,67,4829,27,30,31,958, + 881,26,28,1863,263,25,23,50,1890,106, + 76,77,82,310,313,813,3172,35,1005,32, + 2698,4829,27,30,31,958,881,26,28,1863, + 263,25,23,50,1890,106,76,77,81,3172, + 35,1005,32,2717,4829,27,30,31,958,881, + 26,28,1863,263,25,23,50,1890,106,76, + 77,80,3172,35,1005,32,2208,4829,27,30, + 31,958,881,26,28,1863,263,25,23,50, + 1890,106,76,77,79,3172,35,1005,32,2790, + 4829,27,30,31,958,881,26,28,1863,263, + 25,23,50,1890,106,76,77,78,2986,35, + 1005,32,2792,4829,27,30,31,958,881,26, + 28,1863,263,25,23,50,1890,106,76,77, + 104,3172,35,1005,32,2769,4829,27,30,31, + 958,881,26,28,1863,263,25,23,50,1890, + 106,76,77,110,3172,35,1005,32,2748,4829, + 27,30,31,958,881,26,28,1863,263,25, + 23,50,1890,106,76,77,109,3172,35,1005, + 32,2111,4829,27,30,31,958,881,26,28, + 1863,263,25,23,50,1890,106,76,77,107, + 1785,35,2768,32,3633,3234,27,30,31,958, + 881,342,28,3172,35,1005,32,1558,4829,27, + 30,31,958,881,26,28,1863,263,25,23, + 50,1890,106,76,77,105,1674,5396,1264,2114, + 2827,5396,1264,1194,4081,300,1882,237,237,2827, + 2827,5396,4349,4349,2125,5396,4425,5396,2827,229, + 322,1198,324,5396,317,646,5396,5396,346,229, + 160,66,1558,5396,2114,65,1264,2542,1194,337, + 338,1121,1264,206,216,3100,205,213,214,215, + 217,2755,1264,206,216,3100,205,213,214,215, + 217,511,1376,1376,1969,160,335,335,2827,64, + 5396,223,207,209,211,1763,663,5396,5396,218, + 208,210,207,209,211,1849,663,229,1727,218, + 208,210,1264,4801,5396,3565,3374,3192,13,1558, + 4462,2111,5396,2056,363,2114,5396,2827,2633,1194, + 4462,206,216,3100,205,213,214,215,217,5396, + 2885,2473,2474,5396,5396,55,229,422,423,2748, + 3612,5396,3335,35,874,392,160,3230,193,2665, + 207,209,211,2827,663,239,263,218,208,210, + 206,216,3100,205,213,214,215,217,588,35, + 874,392,346,1264,4081,1264,2754,275,4462,300, + 5396,300,544,2827,5396,2827,5396,5396,5396,207, + 209,211,5396,663,5396,3728,218,208,210,3153, + 1264,1264,346,49,346,233,54,5396,4239,3255, + 338,4232,1190,3317,5396,3396,5396,4462,5396,760, + 35,874,392,2039,5396,2755,3500,2755,237,231, + 232,5396,2125,101,3664,3691,2827,539,5396,276, + 1738,35,1005,32,3633,3234,27,30,31,958, + 881,342,28,5396,49,2542,534,5396,244,247, + 250,253,729,1190,2583,5396,5396,5396,434,1751, + 35,1005,32,636,4298,27,30,31,958,881, + 342,28,1751,35,1005,32,5396,4298,27,30, + 31,958,881,342,28,2286,5396,5396,5396,1194, + 322,1198,324,5396,317,646,1738,35,1005,32, + 3633,3234,27,30,31,958,881,342,28,300, + 5396,1978,363,1194,1376,5396,156,5396,336,322, + 1198,324,1394,320,646,162,2827,1376,3675,2473, + 2474,336,322,1198,324,5396,318,646,4192,2143, + 156,5396,5396,2827,5396,229,5396,5396,2111,4138, + 1018,35,874,392,5396,5396,322,1198,324,5396, + 317,646,229,5396,5396,5396,5396,5396,5396,206, + 216,3100,205,213,214,215,217,3943,2230,2114, + 5396,5396,2827,1194,5396,49,206,216,3100,205, + 213,214,215,217,1190,47,5396,5396,207,209, + 211,229,663,5396,5396,219,208,210,931,5396, + 160,4081,5396,5396,5396,207,209,211,5396,663, + 5396,5396,524,208,210,206,216,3100,205,213, + 214,215,217,2406,35,1005,32,2584,3234,27, + 30,31,958,881,342,28,333,338,300,5396, + 5396,5396,1194,2317,207,209,211,2827,663,5396, + 5396,308,208,210,1182,4331,5396,2114,2827,4721, + 5396,1194,407,1288,5396,4303,229,2827,4721,156, + 5396,588,35,874,392,5396,5396,229,4142,5396, + 5396,5396,2111,319,1014,324,229,5396,160,5396, + 206,216,3100,205,213,214,215,217,5396,5396, + 5396,2105,411,4573,300,5396,49,5396,1194,5396, + 2105,411,4573,5396,5396,1190,47,5396,5396,207, + 209,211,5396,663,5396,5396,503,208,210,596, + 412,413,414,1948,663,156,5396,2827,4349,412, + 413,414,1948,663,4176,4081,2827,4349,5396,1466, + 35,874,392,4330,1479,1640,2542,5396,2827,5396, + 588,35,874,392,1640,2542,5396,1473,35,874, + 392,760,35,874,392,5396,5396,2542,5396,5396, + 3849,338,5396,791,49,5396,300,5396,1376,5396, + 1194,5396,335,1190,47,49,5396,1376,5396,5396, + 5396,335,49,5396,1190,47,49,2836,5396,5396, + 5396,1190,3431,2111,5396,1190,3113,156,935,415, + 417,5396,3374,363,5396,3475,2962,5396,415,418, + 5396,3192,363,1018,35,874,392,5396,5396,3653, + 2473,2474,5396,1217,509,5396,4613,5396,3653,2473, + 2474,588,35,874,392,588,35,874,392,588, + 35,874,392,588,35,874,392,5396,49,2099, + 300,5396,5396,2827,540,5396,4081,1190,3498,1217, + 35,874,392,5396,5396,5396,49,506,508,5396, + 49,3242,2542,346,49,1190,47,5396,49,1190, + 47,156,300,1190,47,5396,540,1190,47,2157, + 3041,3856,338,2244,49,300,2755,2615,5396,540, + 5396,3140,5396,1190,3114,346,2909,5396,5396,2486, + 5396,5396,5396,156,760,35,874,392,346,5396, + 5396,5396,3361,300,5396,5396,156,540,2755,760, + 35,874,392,5396,5396,3041,5396,5396,3355,509, + 5396,2755,760,35,874,392,346,5396,300,49, + 5396,3561,540,300,156,5396,5396,540,1190,2856, + 5396,300,5396,188,49,1194,5396,5396,5396,4436, + 5396,346,5396,1190,667,5396,346,49,5396,156, + 5396,5396,506,508,156,5396,1190,3114,188,5396, + 5396,5396,156,188,4436,5396,5396,5396,5396,4436, + 5396,4305,5396,5396,5396,5396,5396,5396,5396,5396, + 5396,5396,5396,5396,5396,5396,5396,5396,5396,5396, + 5396,5396,5396,5396,3807,5396,3694,5396,5396,5396, + 5396,5396,5396,5396,5396,5396,5396,5396,5396,5396, + 5396,5396,5396,5396,5396,5396,5396,5396,5396,5396, + 5396,3730,5396,5396,5396,5396,3830,5396,0,505, + 2577,0,1,230,0,39,5411,0,39,5410, + 0,1,4370,0,632,1,0,39,1,5411, + 0,39,1,5410,0,1,3125,0,1,939, + 0,230,220,0,285,398,0,285,290,0, + 5631,242,0,5630,242,0,5737,242,0,5736, + 242,0,5658,242,0,5657,242,0,5656,242, + 0,5655,242,0,5654,242,0,5653,242,0, + 5652,242,0,5651,242,0,5670,242,0,5669, + 242,0,5668,242,0,5667,242,0,5666,242, + 0,5665,242,0,5664,242,0,5663,242,0, + 5662,242,0,5661,242,0,5660,242,0,39, + 242,5411,0,39,242,5410,0,5434,242,0, + 1129,391,0,5411,48,0,5410,48,0,1, + 334,0,38,939,0,38,5411,0,38,5410, + 0,458,1272,0,444,1420,0,1129,29,0, + 5408,1,0,1546,321,0,1,448,0,462, + 1812,0,461,1855,0,35,33,0,47,37, + 0,505,1641,0,5434,1,230,0,39,1, + 230,0,230,420,0,1,2493,0,1,5670, + 0,1,5669,0,1,5668,0,1,5667,0, + 1,5666,0,1,5665,0,1,5664,0,1, 5663,0,1,5662,0,1,5661,0,1,5660, - 0,1,5659,0,1,5658,0,1,5657,0, - 1,5656,0,1,5655,0,1,5654,0,5406, - 37,0,5405,37,0,43,5427,0,43,37, - 0,5403,386,0,5402,386,0,1,2553,0, - 1,2840,0,229,220,0,5401,408,0,5400, - 408,0,229,418,0,2769,126,0,5399,1, - 0,333,448,0,5397,1,0,5396,1,0, - 1505,91,0,32,34,0,39,937,0,5427, - 45,0,37,45,0,1,229,3556,0,5400, - 229,0,3561,229,0,5429,1,0,39,1, - 0,237,3410,0,391,32,0,390,29,0, - 2769,128,0,2769,127,0,3724,229,0,10, - 12,0,1,92,0,8,10,12,0,5406, - 2,37,0,5405,2,37,0,5406,36,0, - 5405,36,0,3964,386,0,333,95,0,35, - 73,0,8,12,0,279,4243,0,185,3607, - 0 + 0,5411,37,0,5410,37,0,43,5432,0, + 43,37,0,5408,387,0,5407,387,0,1, + 2555,0,1,2842,0,230,221,0,5406,409, + 0,5405,409,0,230,419,0,2771,126,0, + 5404,1,0,334,449,0,5402,1,0,5401, + 1,0,1507,91,0,32,34,0,39,939, + 0,5432,45,0,37,45,0,1,230,3558, + 0,5405,230,0,3563,230,0,5434,1,0, + 39,1,0,238,3412,0,392,32,0,391, + 29,0,2771,128,0,2771,127,0,3726,230, + 0,10,12,0,1,92,0,8,10,12, + 0,3862,194,0,5411,2,37,0,5410,2, + 37,0,5411,36,0,5410,36,0,3966,387, + 0,334,95,0,35,73,0,8,12,0, + 280,4245,0,185,3609,0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -1198,265 +1198,265 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym 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,57,0,59,60,61,62,63, + 54,55,56,57,72,59,60,61,62,63, 0,65,66,67,0,1,2,0,1,2, 74,75,76,77,78,79,80,81,82,83, 84,85,0,1,2,3,4,5,6,7, 8,9,10,11,12,13,14,15,16,17, 18,19,20,21,22,23,24,25,26,27, 28,29,30,31,32,33,34,35,36,37, - 38,39,40,69,42,43,44,45,46,47, + 38,39,40,0,42,43,44,45,46,47, 48,49,50,51,52,53,54,55,56,57, 0,59,60,61,62,63,0,65,66,67, - 4,0,0,1,2,118,74,75,76,77, + 4,0,0,1,2,0,74,75,76,77, 78,79,80,81,82,83,84,85,0,1, 2,3,4,5,6,7,0,9,10,11, 12,13,14,15,16,17,18,19,20,21, 22,23,24,41,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,57,0,1,2,0, + 52,53,54,55,56,57,103,104,105,0, 62,0,1,2,3,4,5,6,7,8, 9,10,11,12,13,14,15,16,17,18, 19,20,21,22,23,24,25,26,27,28, 29,30,31,32,33,34,0,1,2,40, - 39,120,41,0,1,2,45,4,5,70, - 7,50,0,1,2,54,4,5,0,7, - 59,60,61,0,1,2,0,4,5,0, - 7,0,71,72,0,4,0,1,2,3, - 4,5,6,7,41,9,0,86,22,23, - 24,0,26,27,28,29,30,31,32,33, - 34,65,66,102,103,104,0,1,2,3, - 4,5,6,7,8,9,10,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,1,2,70,39,0,41,72,58, - 0,45,0,0,1,2,50,4,6,6, - 54,9,9,72,0,59,60,61,0,1, - 2,0,0,1,2,101,0,71,72,3, - 106,107,108,109,110,111,112,113,114,115, - 116,41,86,22,23,24,0,26,27,28, - 29,30,31,32,33,34,65,66,102,103, - 104,0,1,2,3,4,5,6,7,8, - 9,10,11,12,13,14,15,16,17,18, - 19,20,21,22,23,24,25,26,27,28, - 29,30,31,32,33,34,70,0,1,2, - 39,0,41,0,3,8,45,6,0,8, - 9,50,0,1,2,54,0,5,10,7, - 59,60,61,0,63,0,25,0,1,2, - 0,4,71,0,0,0,35,36,37,38, - 5,8,8,0,1,2,100,86,0,1, - 2,3,4,5,6,7,40,9,25,58, - 0,58,0,3,67,64,41,59,41,68, - 69,70,71,72,73,0,1,2,3,4, - 5,120,7,8,41,0,0,64,87,88, - 89,90,91,92,93,94,95,96,97,98, - 99,100,101,69,74,71,105,106,107,108, - 109,110,111,112,113,114,115,116,117,0, - 119,0,3,0,64,6,0,8,9,0, - 0,1,2,3,4,5,0,7,0,64, - 0,1,2,58,25,0,1,2,73,4, - 5,0,7,68,35,36,37,38,22,23, - 24,10,26,27,28,29,30,31,32,33, - 34,0,0,1,2,0,4,58,6,94, - 95,9,0,64,58,0,41,68,69,70, - 71,72,73,22,23,24,58,26,27,28, - 29,30,31,32,33,34,87,88,89,90, - 91,92,93,94,95,96,97,98,99,100, - 101,0,1,2,105,106,107,108,109,110, - 111,112,113,114,115,116,117,0,119,0, - 1,2,3,4,5,6,7,8,9,10, - 11,12,13,14,15,16,17,18,19,20, - 21,22,23,24,25,26,27,28,29,30, - 31,32,33,34,0,0,0,3,39,4, - 41,0,1,2,45,4,101,6,0,50, - 9,106,0,54,0,3,8,22,59,60, - 61,64,63,0,1,2,3,4,5,0, - 7,35,36,25,0,0,0,1,2,3, - 4,5,0,7,0,86,11,12,13,14, - 15,16,17,18,19,20,21,22,23,24, - 0,26,27,28,29,30,31,32,33,34, - 0,1,2,3,4,5,64,7,0,120, - 0,1,2,3,4,5,6,7,8,9, - 10,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,102,103,104,39, - 0,41,0,1,2,45,4,0,6,0, - 50,9,98,89,54,91,0,8,58,59, - 60,61,72,63,8,0,1,2,3,4, - 5,6,7,75,9,0,1,2,3,4, - 5,6,7,0,9,0,86,0,1,2, + 39,120,41,0,1,2,45,4,102,6, + 0,50,9,74,0,54,0,1,2,0, + 59,60,61,0,1,2,0,4,5,10, + 7,0,71,72,0,0,1,2,3,4, + 5,6,7,0,9,35,36,86,22,23, + 24,8,26,27,28,29,30,31,32,33, + 34,65,66,0,103,104,105,0,1,2, 3,4,5,6,7,8,9,10,11,12, 13,14,15,16,17,18,19,20,21,22, 23,24,25,26,27,28,29,30,31,32, - 33,34,73,67,0,90,39,0,41,64, - 0,4,45,0,0,70,89,50,91,64, - 0,54,0,0,0,3,59,60,61,22, - 63,8,0,0,1,2,0,4,71,6, - 8,8,9,0,1,2,3,4,25,6, - 87,88,9,86,0,1,2,3,4,5, + 33,34,0,89,70,91,39,72,41,0, + 1,2,45,4,0,6,73,50,9,0, + 6,54,3,9,0,62,59,60,61,0, + 1,2,0,4,5,101,7,0,71,72, + 3,107,108,109,110,111,112,113,114,115, + 116,117,0,86,22,23,24,0,26,27, + 28,29,30,31,32,33,34,0,1,2, + 103,104,105,0,1,2,3,4,5,6, + 7,8,9,10,11,12,13,14,15,16, + 17,18,19,20,21,22,23,24,25,26, + 27,28,29,30,31,32,33,34,41,0, + 1,2,39,0,41,58,3,8,45,6, + 0,8,9,50,0,1,2,54,0,5, + 10,7,59,60,61,0,63,0,25,0, + 1,2,90,4,71,0,1,2,35,36, + 37,38,0,1,2,0,1,2,0,86, + 0,1,2,3,4,5,6,7,10,9, + 0,58,0,3,0,0,67,64,8,59, + 41,68,69,70,71,72,73,0,1,2, + 3,4,5,120,7,8,41,39,0,41, + 87,88,89,90,91,92,93,94,95,96, + 97,98,99,100,101,87,88,65,66,106, + 107,108,109,110,111,112,113,114,115,116, + 117,118,119,0,64,0,3,0,3,6, + 0,8,9,73,70,8,0,0,8,3, + 0,64,0,1,2,3,4,5,25,7, + 73,89,25,91,89,25,91,0,35,36, + 37,38,22,23,24,8,26,27,28,29, + 30,31,32,33,34,0,0,1,2,0, + 4,58,6,0,0,9,3,64,100,64, + 0,68,69,70,71,72,73,22,23,24, + 64,26,27,28,29,30,31,32,33,34, + 87,88,89,90,91,92,93,94,95,96, + 97,98,99,100,101,41,69,0,71,106, + 107,108,109,110,111,112,113,114,115,116, + 117,118,119,0,1,2,3,4,5,6, + 7,8,9,10,11,12,13,14,15,16, + 17,18,19,20,21,22,23,24,25,26, + 27,28,29,30,31,32,33,34,0,1, + 2,102,39,0,41,0,1,2,45,4, + 5,0,7,50,0,68,0,54,4,8, + 4,0,59,60,61,0,63,0,1,2, + 3,4,5,0,7,0,25,0,22,0, + 0,1,2,3,4,5,41,7,0,86, + 11,12,13,14,15,16,17,18,19,20, + 21,22,23,24,0,26,27,28,29,30, + 31,32,33,34,0,1,2,3,4,5, + 69,7,0,120,0,1,2,3,4,5, 6,7,8,9,10,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, - 1,2,69,39,5,41,7,87,88,45, - 87,88,98,0,50,73,73,64,54,102, - 103,104,0,59,60,61,0,63,0,99, - 8,0,90,90,8,71,0,1,2,3, - 4,5,0,7,0,0,1,2,35,36, + 26,27,28,29,30,31,32,33,34,103, + 104,105,40,39,99,41,0,1,2,45, + 4,5,68,7,50,98,0,102,54,3, + 0,0,58,59,60,61,72,63,8,0, + 1,2,3,4,5,6,7,0,9,0, + 1,2,3,4,5,6,7,41,9,0, 86,0,1,2,3,4,5,6,7,8, 9,10,11,12,13,14,15,16,17,18, 19,20,21,22,23,24,25,26,27,28, - 29,30,31,32,33,34,41,0,1,2, - 39,69,41,6,0,73,45,71,0,68, - 64,50,0,0,10,54,8,0,64,0, - 59,60,61,4,63,0,0,0,0,3, - 3,0,71,8,8,8,0,0,41,0, - 23,24,90,39,0,41,0,86,0,1, + 29,30,31,32,33,34,70,67,0,68, + 39,0,41,64,3,0,45,0,0,70, + 0,50,4,64,0,54,0,0,8,0, + 59,60,61,64,63,8,0,0,1,2, + 22,4,71,6,8,8,9,0,1,2, + 3,4,0,6,0,0,9,86,0,1, 2,3,4,5,6,7,8,9,10,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,1,2,58,39,5,41, - 64,64,67,45,68,69,68,0,50,73, - 73,89,54,91,0,68,69,59,60,61, - 0,63,8,0,0,0,72,0,8,0, - 0,0,94,95,41,117,87,88,8,0, - 1,2,35,36,86,0,1,2,3,4, + 32,33,34,64,67,87,88,39,0,41, + 0,1,2,45,4,0,6,71,50,9, + 73,64,54,87,88,98,101,59,60,61, + 0,63,107,68,69,0,0,90,0,71, + 0,1,2,3,4,5,8,7,118,87, + 88,87,88,0,86,0,1,2,3,4, 5,6,7,8,9,10,11,12,13,14, 15,16,17,18,19,20,21,22,23,24, 25,26,27,28,29,30,31,32,33,34, - 41,58,0,58,39,71,41,0,1,2, - 45,68,10,73,0,50,69,68,69,54, - 69,0,8,73,59,60,61,0,63,8, - 0,87,88,3,0,0,0,94,95,25, - 0,39,8,41,8,0,25,0,41,0, - 0,86,0,1,2,3,4,5,6,7, + 0,1,2,58,39,5,41,7,0,0, + 45,0,72,68,64,50,70,69,10,54, + 0,73,0,0,59,60,61,64,63,0, + 0,8,0,3,0,0,71,0,8,94, + 95,0,8,23,24,0,0,39,3,41, + 41,86,0,1,2,3,4,5,6,7, 8,9,10,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,0, - 3,39,0,41,0,68,8,45,0,1, - 2,0,50,58,3,71,54,58,58,73, - 70,59,60,61,0,63,0,1,2,3, - 4,5,6,7,0,9,10,11,12,13, - 14,15,16,17,18,19,20,21,86,41, - 0,0,1,2,3,4,5,58,7,8, - 58,35,36,37,38,41,40,0,42,43, - 44,73,46,47,48,49,25,51,52,53, - 0,55,56,57,0,0,1,2,62,0, - 0,65,66,0,68,0,1,2,3,4, - 5,6,7,8,9,10,11,12,13,14, - 15,16,17,18,19,20,21,0,68,0, - 0,1,2,3,4,5,41,7,8,0, - 35,36,37,38,0,40,0,42,43,44, - 0,46,47,48,49,25,51,52,53,69, - 55,56,57,64,0,121,0,62,68,0, - 0,0,67,70,3,0,71,0,1,2, - 3,4,5,6,7,8,9,10,11,12, - 13,14,15,16,17,18,19,20,21,70, - 0,0,58,0,58,0,3,0,37,38, - 3,72,35,36,37,38,0,40,68,42, - 43,44,58,46,47,48,49,0,51,52, - 53,0,55,56,57,64,70,68,0,62, - 70,3,0,68,67,0,1,2,3,4, - 5,6,7,0,9,10,11,12,13,14, - 15,16,17,18,19,20,21,0,0,68, - 70,3,0,0,0,3,105,72,4,0, - 35,36,37,38,0,40,70,42,43,44, - 119,46,47,48,49,0,51,52,53,72, - 55,56,57,72,62,0,0,62,3,3, - 65,66,0,1,2,3,4,5,6,7, - 0,9,10,11,12,13,14,15,16,17, - 18,19,20,21,0,0,69,3,3,0, - 0,0,3,3,3,72,0,35,36,37, - 38,0,40,0,42,43,44,0,46,47, - 48,49,0,51,52,53,0,55,56,57, - 0,118,0,3,62,3,0,65,66,0, + 28,29,30,31,32,33,34,0,1,2, + 58,39,5,41,64,58,73,45,68,69, + 68,0,50,73,58,68,54,73,0,68, + 69,59,60,61,0,63,8,0,72,0, + 1,2,8,0,90,8,94,95,41,0, + 0,94,95,0,1,2,35,36,86,0, 1,2,3,4,5,6,7,8,9,10, 11,12,13,14,15,16,17,18,19,20, - 21,39,0,0,0,3,3,5,6,0, - 64,9,0,118,35,36,37,38,0,40, - 0,42,43,44,58,46,47,48,49,0, - 51,52,53,0,55,56,57,35,36,37, - 38,62,0,90,42,3,67,0,0,0, - 3,0,0,0,0,0,0,0,40,0, - 58,0,0,0,0,0,64,65,66,0, - 68,69,70,64,70,0,0,0,58,0, - 0,0,70,0,0,0,0,0,0,87, - 88,89,0,0,92,93,94,95,96,97, - 98,99,100,101,0,0,0,105,0,107, - 108,109,110,111,112,113,114,115,116,0, + 21,22,23,24,25,26,27,28,29,30, + 31,32,33,34,41,0,1,2,39,71, + 41,6,0,0,45,0,0,73,71,50, + 0,8,69,54,8,0,0,68,59,60, + 61,0,63,8,8,0,1,2,25,0, + 0,25,0,0,0,0,41,35,36,0, + 0,1,2,0,0,86,0,1,2,3, + 4,5,6,7,8,9,10,11,12,13, + 14,15,16,17,18,19,20,21,22,23, + 24,25,26,27,28,29,30,31,32,33, + 34,41,72,0,0,39,0,41,73,73, + 58,45,0,1,2,90,50,58,69,69, + 54,58,58,69,0,59,60,61,0,63, + 0,1,2,3,4,5,6,7,0,9, + 10,11,12,13,14,15,16,17,18,19, + 20,21,86,41,0,0,1,2,3,4, + 5,58,7,8,58,35,36,37,38,41, + 40,0,42,43,44,0,46,47,48,49, + 25,51,52,53,0,55,56,57,64,0, + 1,2,62,0,0,65,66,0,68,0, 1,2,3,4,5,6,7,8,9,10, 11,12,13,14,15,16,17,18,19,20, - 21,0,0,0,0,0,0,0,0,0, - 0,0,0,0,35,36,37,38,0,40, - 0,42,43,44,0,46,47,48,49,0, - 51,52,53,0,55,56,57,0,1,2, - 3,4,5,6,7,0,9,10,11,12, - 13,14,15,16,17,18,19,20,21,0, + 21,0,68,0,0,1,2,3,4,5, + 41,7,8,58,35,36,37,38,0,40, + 0,42,43,44,0,46,47,48,49,25, + 51,52,53,69,55,56,57,0,0,0, + 0,62,0,0,70,0,67,70,3,0, + 71,0,1,2,3,4,5,6,7,8, + 9,10,11,12,13,14,15,16,17,18, + 19,20,21,70,0,0,58,3,58,0, + 0,0,37,38,3,0,35,36,37,38, + 0,40,68,42,43,44,58,46,47,48, + 49,58,51,52,53,68,55,56,57,64, + 70,72,70,62,0,0,0,68,67,0, + 1,2,3,4,5,6,7,0,9,10, + 11,12,13,14,15,16,17,18,19,20, + 21,0,0,0,3,3,3,72,0,0, + 0,106,3,3,35,36,37,38,0,40, + 75,42,43,44,119,46,47,48,49,0, + 51,52,53,4,55,56,57,0,64,0, + 3,62,3,0,65,66,0,1,2,3, + 4,5,6,7,0,9,10,11,12,13, + 14,15,16,17,18,19,20,21,0,0, + 0,3,3,0,0,0,3,3,3,0, + 72,35,36,37,38,0,40,0,42,43, + 44,4,46,47,48,49,0,51,52,53, + 0,55,56,57,0,5,0,3,62,0, + 0,65,66,0,1,2,3,4,5,6, + 7,8,9,10,11,12,13,14,15,16, + 17,18,19,20,21,39,0,0,0,3, + 70,5,6,64,90,9,0,0,35,36, + 37,38,0,40,0,42,43,44,0,46, + 47,48,49,0,51,52,53,58,55,56, + 57,35,36,37,38,62,70,0,42,0, + 67,0,3,0,3,0,40,102,0,0, + 0,0,0,0,58,0,58,0,0,0, + 64,65,66,0,68,69,70,70,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,87,88,89,0,0,92,93, + 94,95,96,97,98,99,100,101,0,0, + 0,0,106,0,108,109,110,111,112,113, + 114,115,116,117,0,1,2,3,4,5, + 6,7,8,9,10,11,12,13,14,15, + 16,17,18,19,20,21,0,0,0,121, + 0,0,0,0,0,0,0,0,0,35, + 36,37,38,0,40,0,42,43,44,0, + 46,47,48,49,0,51,52,53,0,55, + 56,57,0,1,2,3,4,5,6,7, + 0,9,10,11,12,13,14,15,16,17, + 18,19,20,21,0,0,0,0,0,0, + 0,0,0,0,0,0,0,35,36,37, + 38,0,40,0,42,43,44,0,46,47, + 48,49,0,51,52,53,0,55,56,57, + 0,0,118,0,62,0,1,2,3,4, + 5,6,7,0,9,10,11,12,13,14, + 15,16,17,18,19,20,21,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,35,36,37,38,0,40,0,42, - 43,44,0,46,47,48,49,0,51,52, - 53,0,55,56,57,0,117,0,0,62, + 35,36,37,38,0,40,0,42,43,44, + 0,46,47,48,49,0,51,52,53,0, + 55,56,57,0,0,0,0,0,0,64, 0,1,2,3,4,5,6,7,0,9, 10,11,12,13,14,15,16,17,18,19, 20,21,0,0,0,0,0,0,0,0, 0,0,0,0,0,35,36,37,38,0, 40,0,42,43,44,0,46,47,48,49, 0,51,52,53,0,55,56,57,0,0, - 0,0,0,0,64,0,1,2,3,4, - 5,6,7,0,9,10,11,12,13,14, - 15,16,17,18,19,20,21,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 35,36,37,38,0,40,0,42,43,44, - 0,46,47,48,49,0,51,52,53,0, - 55,56,57,0,0,0,0,62,0,1, - 2,3,4,5,6,7,0,9,10,11, - 12,13,14,15,16,17,18,19,20,21, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,35,36,37,38,0,40,0, - 42,43,44,0,46,47,48,49,0,51, - 52,53,0,55,56,57,0,1,2,3, - 4,5,6,7,0,9,10,11,12,13, - 14,15,16,17,18,19,20,21,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,35,36,37,38,0,40,0,42,43, - 44,0,46,47,48,49,0,51,52,53, - 0,55,56,57,0,1,2,3,4,5, - 6,7,0,9,10,11,12,13,14,15, - 16,17,18,19,20,21,0,0,0,0, - 0,0,0,0,0,0,0,0,0,35, - 36,37,38,0,40,0,42,43,44,0, - 46,47,48,49,0,51,52,53,0,55, - 56,57,0,1,2,0,4,0,0,0, - 0,0,10,11,12,13,14,15,16,17, - 18,19,20,21,22,23,24,0,26,27, - 28,29,30,31,32,33,34,0,0,0, - 0,39,0,0,0,0,0,45,0,0, - 1,2,50,4,0,0,54,0,0,10, + 0,0,62,0,1,2,3,4,5,6, + 7,0,9,10,11,12,13,14,15,16, + 17,18,19,20,21,0,0,0,0,0, + 0,0,0,0,0,0,0,0,35,36, + 37,38,0,40,0,42,43,44,0,46, + 47,48,49,0,51,52,53,0,55,56, + 57,0,1,2,3,4,5,6,7,0, + 9,10,11,12,13,14,15,16,17,18, + 19,20,21,0,0,0,0,0,0,0, + 0,0,0,0,0,0,35,36,37,38, + 0,40,0,42,43,44,0,46,47,48, + 49,0,51,52,53,0,55,56,57,0, + 1,2,3,4,5,6,7,0,9,10, 11,12,13,14,15,16,17,18,19,20, - 21,22,23,24,0,26,27,28,29,30, - 31,32,33,34,0,0,0,0,39,0, - 0,0,0,0,45,0,0,0,0,50, - 0,0,0,54,0,1,2,3,4,5, - 6,7,8,9,0,0,0,0,0,0, - 0,0,0,0,0,0,22,23,24,25, + 21,0,0,0,0,0,0,0,0,0, + 0,0,0,0,35,36,37,38,0,40, + 0,42,43,44,0,46,47,48,49,0, + 51,52,53,0,55,56,57,0,1,2, + 0,4,0,0,0,0,0,10,11,12, + 13,14,15,16,17,18,19,20,21,22, + 23,24,0,26,27,28,29,30,31,32, + 33,34,0,0,0,0,39,0,0,0, + 0,0,45,0,0,1,2,50,4,0, + 0,54,0,0,10,11,12,13,14,15, + 16,17,18,19,20,21,22,23,24,0, 26,27,28,29,30,31,32,33,34,0, + 0,0,0,39,0,0,0,0,0,45, + 0,0,0,0,50,0,0,0,54,0, + 1,2,3,4,5,6,7,8,9,0, 0,0,0,0,0,0,0,0,0,0, + 0,22,23,24,25,26,27,28,29,30, + 31,32,33,34,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,58,0,0,0,0,0,64,0, - 0,0,0,0,0,0,0,73,0,1, - 2,3,4,5,6,7,8,9,0,0, - 0,0,0,0,0,0,0,0,0,0, - 22,23,24,25,26,27,28,29,30,31, - 32,33,34,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,58,0,0, + 0,0,0,64,0,0,0,0,0,0, + 0,0,73,0,1,2,3,4,5,6, + 7,8,9,0,0,0,0,0,0,0, + 0,0,0,0,0,22,23,24,25,26, + 27,28,29,30,31,32,33,34,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,64,0,0,0,0,0,0,0, - 0,73,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,64,0,0, + 0,0,0,0,0,0,73,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,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; @@ -1464,360 +1464,360 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface TermAction { public final static char termAction[] = {0, - 5391,5315,5030,5030,5030,5030,5030,5030,5346,5030, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5319,1,1,1,1, + 5396,5317,5032,5032,5032,5032,5032,5032,5348,5032, 1,1,1,1,1,1,1,1,1,1, - 1,299,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,310,1595, - 801,5566,1,561,131,1,1,5402,289,5065, - 5065,5398,284,2384,1675,3634,3135,2072,3094,3554, - 3114,3633,577,3572,3091,3569,10,5349,5349,5349, - 5349,5349,5349,5349,5349,5349,5349,5349,5349,5349, - 5349,5349,5349,5349,5349,5349,5349,5349,5349,5349, - 5349,5349,5349,5349,5349,5349,5349,5349,5349,5349, - 5349,5349,5349,5349,5349,5349,5349,3788,5349,5349, - 5349,5349,5349,5349,5349,5349,5349,5349,5349,5349, - 5349,5349,5349,5349,518,5349,5349,5349,5349,5349, - 132,5349,5349,5349,5391,5036,5033,5349,5429,2384, - 5349,5349,5349,5349,5349,5349,5349,5349,5349,5349, - 5349,5349,8,5355,5355,5355,5355,5355,5355,5355, - 5355,5355,5355,5355,5355,5355,5355,5355,5355,5355, - 5355,5355,5355,5355,5355,5355,5355,5355,5355,5355, - 5355,5355,5355,5355,5355,5355,5355,5355,5355,5355, - 5355,5355,5355,886,5355,5355,5355,5355,5355,5355, - 5355,5355,5355,5355,5355,5355,5355,5355,5355,5355, - 129,5355,5355,5355,5355,5355,39,5355,5355,5355, - 5429,5391,333,5355,859,333,5355,5355,5355,5355, - 5355,5355,5355,5355,5355,5355,5355,5355,5391,5315, - 5030,5030,5030,5030,5030,5030,5322,5030,1,1, + 1,1,1,1,1,5321,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5319,1,1,1,1,1,1, + 1,300,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,311,1597, + 803,5571,1,563,131,1,1,5407,290,5067, + 5067,5403,285,2386,1677,3636,3137,2074,3096,3556, + 3116,3635,579,3574,3093,3571,10,5351,5351,5351, + 5351,5351,5351,5351,5351,5351,5351,5351,5351,5351, + 5351,5351,5351,5351,5351,5351,5351,5351,5351,5351, + 5351,5351,5351,5351,5351,5351,5351,5351,5351,5351, + 5351,5351,5351,5351,5351,5351,5351,3790,5351,5351, + 5351,5351,5351,5351,5351,5351,5351,5351,5351,5351, + 5351,5351,5351,5351,519,5351,5351,5351,5351,5351, + 132,5351,5351,5351,5396,5038,5035,5351,5434,2386, + 5351,5351,5351,5351,5351,5351,5351,5351,5351,5351, + 5351,5351,8,5357,5357,5357,5357,5357,5357,5357, + 5357,5357,5357,5357,5357,5357,5357,5357,5357,5357, + 5357,5357,5357,5357,5357,5357,5357,5357,5357,5357, + 5357,5357,5357,5357,5357,5357,5357,5357,5357,5357, + 5357,5357,5357,888,5357,5357,5357,5357,5357,5357, + 5357,5357,5357,5357,5357,5357,5357,5357,5357,5357, + 129,5357,5357,5357,5357,5357,39,5357,5357,5357, + 5434,5396,334,5357,861,334,5357,5357,5357,5357, + 5357,5357,5357,5357,5357,5357,5357,5357,5396,5317, + 5032,5032,5032,5032,5032,5032,5324,5032,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,5321,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,137,1595,801,5566, - 1,561,115,1,1,5402,2499,2427,3763,299, - 5405,5406,1675,3634,3135,2072,3094,3554,3114,3633, - 577,3572,3091,3569,5391,5315,5030,5030,5030,5030, - 5030,5030,5322,5030,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5319, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,398,1,1,1,1, + 1,1,1,1,1,1,137,1597,803,5571, + 1,563,115,1,1,5407,2501,2429,3765,300, + 5410,5411,1677,3636,3137,2074,3096,3556,3116,3635, + 579,3574,3093,3571,5396,5317,5032,5032,5032,5032, + 5032,5032,5324,5032,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5321, 1,1,1,1,1,1,1,1,1,1, - 1,1,5391,1595,801,5566,1,561,3152,1, - 1,5402,111,399,3738,3203,2285,390,1675,3634, - 3135,2072,3094,3554,3114,3633,577,3572,3091,3569, - 5391,5315,5030,5030,5030,5030,5030,5030,5322,5030, + 1,1,1,1,1,399,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5319,1,1,1,1, + 1,1,5396,1597,803,5571,1,563,3154,1, + 1,5407,111,400,3740,3205,2287,391,1677,3636, + 3137,2074,3096,3556,3116,3635,579,3574,3093,3571, + 5396,5317,5032,5032,5032,5032,5032,5032,5324,5032, 1,1,1,1,1,1,1,1,1,1, - 1,1127,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,130,1595, - 801,5566,1,561,333,1,1,5402,5391,5036, - 5033,4029,5429,4052,1675,3634,3135,2072,3094,3554, - 3114,3633,577,3572,3091,3569,5391,5315,5030,5030, - 5030,5030,5030,5030,5322,5030,1,1,1,1, + 1,1,1,1,1,5321,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,5319,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,387,1,1, + 1,1129,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,130,1597, + 803,5571,1,563,334,1,1,5407,5396,5038, + 5035,4031,5434,4054,1677,3636,3137,2074,3096,3556, + 3116,3635,579,3574,3093,3571,5396,5317,5032,5032, + 5032,5032,5032,5032,5324,5032,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,452,1595,801,5566,1,561, - 117,1,1,5402,2499,2427,3763,5391,5154,5151, - 1675,3634,3135,2072,3094,3554,3114,3633,577,3572, - 3091,3569,5391,5315,5030,5030,5030,5030,5030,5030, - 5322,5030,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5319,1,1, + 1,5321,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,388,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,2492,1,1,1,1,1,1, + 1,1,1,1,453,1597,803,5571,1,563, + 117,1,1,5407,2501,2429,3765,5396,5156,5153, + 1677,3636,3137,2074,3096,3556,3116,3635,579,3574, + 3093,3571,5396,5317,5032,5032,5032,5032,5032,5032, + 5324,5032,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,5321,1,1, 1,1,1,1,1,1,1,1,1,1, - 5391,1595,801,5566,1,561,39,1,1,5402, - 5429,48,3738,3203,451,5406,1675,3634,3135,2072, - 3094,3554,3114,3633,577,3572,3091,3569,5391,5315, - 5030,5030,5030,5030,5030,5030,5322,5030,1,1, + 1,1,1,2494,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5319,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5406, + 5396,1597,803,5571,1,563,39,1,1,5407, + 5434,48,3740,3205,452,5411,1677,3636,3137,2074, + 3096,3556,3116,3635,579,3574,3093,3571,5396,5317, + 5032,5032,5032,5032,5032,5032,5324,5032,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,648,1595,801,5566, - 1,561,116,1,1,5402,5391,390,3763,5391, - 5405,5406,1675,3634,3135,2072,3094,3554,3114,3633, - 577,3572,3091,3569,5391,5315,5030,5030,5030,5030, - 5030,5030,5322,5030,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5319, + 1,1,1,5321,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5411, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5148,1,1,1,1, + 1,1,1,1,1,1,650,1597,803,5571, + 1,563,116,1,1,5407,5396,391,3765,5396, + 5410,5411,1677,3636,3137,2074,3096,3556,3116,3635, + 579,3574,3093,3571,5396,5317,5032,5032,5032,5032, + 5032,5032,5324,5032,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5321, 1,1,1,1,1,1,1,1,1,1, - 1,1,135,1595,801,5566,1,561,5391,1, - 1,5402,659,48,3738,3203,5391,5405,1675,3634, - 3135,2072,3094,3554,3114,3633,577,3572,3091,3569, - 5391,5315,5030,5030,5030,5030,5030,5030,5322,5030, + 1,1,1,1,1,5150,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5319,1,1,1,1, + 1,1,135,1597,803,5571,1,563,5396,1, + 1,5407,661,48,3740,3205,5396,5410,1677,3636, + 3137,2074,3096,3556,3116,3635,579,3574,3093,3571, + 5396,5317,5032,5032,5032,5032,5032,5032,5324,5032, 1,1,1,1,1,1,1,1,1,1, - 1,5405,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,5795,1595, - 801,5566,1,561,5391,1,1,5402,5391,5405, - 5406,2320,5391,2950,1675,3634,3135,2072,3094,3554, - 3114,3633,577,3572,3091,3569,5391,5315,5030,5030, - 5030,5030,5030,5030,5322,5030,1,1,1,1, + 1,1,1,1,1,5321,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,5319,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5391,1,1, + 1,5410,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,5801,1597, + 803,5571,1,563,5396,1,1,5407,5396,5410, + 5411,2322,432,2952,1677,3636,3137,2074,3096,3556, + 3116,3635,579,3574,3093,3571,5396,5317,5032,5032, + 5032,5032,5032,5032,5324,5032,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,364,1595,801,5566,1,561, - 5391,1,1,5402,5391,6772,6600,48,5154,5151, - 1675,3634,3135,2072,3094,3554,3114,3633,577,3572, - 3091,3569,5391,5315,5030,5030,5030,5030,5030,5030, - 5322,5030,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5319,1,1, + 1,5321,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,5396,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,781,1,1,1,1,1,1, + 1,1,1,1,2756,1597,803,5571,1,563, + 5396,1,1,5407,5396,6779,6607,48,5156,5153, + 1677,3636,3137,2074,3096,3556,3116,3635,579,3574, + 3093,3571,5396,5317,5032,5032,5032,5032,5032,5032, + 5324,5032,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,5321,1,1, 1,1,1,1,1,1,1,1,1,1, - 5391,1595,801,5566,1,561,398,1,1,5402, - 391,5391,37,5196,5196,3718,1675,3634,3135,2072, - 3094,3554,3114,3633,577,3572,3091,3569,39,5036, - 5033,4818,630,3824,3914,3123,5391,3937,875,5656, - 5654,5663,5662,5658,5659,5657,5660,5661,5664,5655, - 5651,5730,5731,5427,5645,5652,5648,5624,5650,5649, - 5646,5647,5625,3888,3865,3983,3960,5792,5410,35, - 3801,1767,1845,1449,5412,1768,3529,1811,5793,5413, - 5411,1725,5794,5407,5408,5409,400,5405,5406,5391, - 1426,5391,5206,5206,229,5202,229,229,229,5210, - 229,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,229,1,1,1, - 1,1,1,1,1,1,5391,5405,5406,1043, - 1,5026,5199,5391,5036,5033,1,630,5306,1095, - 3123,1,5391,5036,5033,1,630,937,5391,3123, - 678,1947,5806,5391,5036,5033,224,630,937,5391, - 3123,5391,419,229,139,3268,5391,5049,5045,4368, - 5042,937,5157,3123,610,5157,5391,5894,5651,5730, - 5731,29,5645,5652,5648,5624,5650,5649,5646,5647, - 5625,4006,1004,5829,5830,5831,5391,5206,5206,229, - 5202,229,229,229,5282,229,1,1,1,1, + 1,1,1,443,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,229,1,1,1,1,1,1,1,1, - 1,5391,5154,5151,1900,1,5391,5199,1096,1127, - 5391,1,5391,447,1,1,1,1,1794,5184, - 1,1310,5184,427,5391,678,1947,5806,5391,6772, - 6600,225,293,5405,5406,2246,313,418,229,1227, - 3446,1857,1814,1771,1728,1685,1642,1599,1556,1513, - 1470,1031,5894,5651,5730,5731,138,5645,5652,5648, - 5624,5650,5649,5646,5647,5625,4006,1004,5829,5830, - 5831,5391,5030,5030,229,5030,229,229,229,5059, - 229,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,229,1,1,8687, - 1,1,1,1,1,1,1148,5391,5405,5406, - 1,33,5027,457,5193,5403,1,5193,303,5193, - 5193,1,38,5166,5163,1,5391,5160,5693,3123, - 627,801,5602,322,561,47,5193,397,5062,5062, - 1,284,219,5391,5391,5391,5193,5193,5193,5193, - 2950,5401,5399,5391,5252,5249,2285,5894,311,5049, - 5045,4368,5042,937,5157,3123,1933,5157,5400,5193, - 320,5169,5391,5181,5402,5193,2150,647,284,5193, - 5193,5193,5193,5193,5193,1,5049,5045,581,5042, - 937,219,3123,5294,5427,126,5391,1053,5193,5193, - 5193,5193,5193,5193,5193,5193,5193,5193,5193,5193, - 5193,5193,5193,1008,1179,5398,5193,5193,5193,5193, - 5193,5193,5193,5193,5193,5193,5193,5193,5193,5391, - 5193,5391,5303,5391,1053,5303,443,5303,5303,5391, - 1,5049,5045,5039,5042,5056,226,5053,29,1053, - 36,5370,5367,2797,5303,5391,5036,5033,5297,630, - 5306,303,3123,5285,5303,5303,5303,5303,5651,5730, - 5731,5693,5645,5652,5648,5624,5650,5649,5646,5647, - 5625,227,448,39,39,5391,5429,5303,5291,2695, - 2667,5291,5391,5303,5172,139,2456,5303,5303,5303, - 5303,5303,5303,5651,5730,5731,5175,5645,5652,5648, - 5624,5650,5649,5646,5647,5625,5303,5303,5303,5303, - 5303,5303,5303,5303,5303,5303,5303,5303,5303,5303, - 5303,292,1552,1552,5303,5303,5303,5303,5303,5303, - 5303,5303,5303,5303,5303,5303,5303,461,5303,5391, - 5030,5030,229,5030,229,229,229,229,229,1, + 5396,1597,803,5571,1,563,399,1,1,5407, + 392,5396,37,5198,5198,5396,1677,3636,3137,2074, + 3096,3556,3116,3635,579,3574,3093,3571,39,5038, + 5035,4820,632,3826,3916,3125,5396,3939,877,5662, + 5660,5669,5668,5664,5665,5663,5666,5667,5670,5661, + 5657,5736,5737,5432,5651,5658,5654,5630,5656,5655, + 5652,5653,5631,3890,3867,3985,3962,5798,5415,1, + 3803,1769,1847,1451,5417,1770,3531,1813,5799,5418, + 5416,1727,5800,5412,5413,5414,5835,5836,5837,5396, + 1428,5396,5208,5208,230,5204,230,230,230,5212, + 230,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,230,1,1,1, + 1,1,1,1,1,1,5396,5410,5411,1045, + 1,5028,5201,448,1,1,1,1,3720,5186, + 118,1,5186,1181,114,1,401,5410,5411,304, + 680,1949,5812,5396,5038,5035,225,632,939,5699, + 3125,5396,420,230,139,5396,5051,5047,4370,5044, + 939,5159,3125,5396,5159,3070,2725,5900,5657,5736, + 5737,5402,5651,5658,5654,5630,5656,5655,5652,5653, + 5631,4008,1006,537,5835,5836,5837,5396,5208,5208, + 230,5204,230,230,230,5284,230,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,229,1,1,8687,1,1, - 1,1,1,1,5391,39,118,1544,1,5429, - 5027,92,1,1,1,1,2246,5352,408,1, - 5352,3446,349,1,442,3037,5276,3349,627,801, - 5602,5187,561,1,5049,5045,4368,5042,937,5391, - 3123,3068,2723,5279,133,223,333,5036,5033,4368, - 630,937,5391,3123,114,5894,5656,5654,5663,5662, - 5658,5659,5657,5660,5661,5664,5655,5651,5730,5731, - 5391,5645,5652,5648,5624,5650,5649,5646,5647,5625, - 1,5049,5045,4368,5042,937,1053,3123,5391,220, - 5391,5030,5030,229,5030,229,229,229,229,229, + 1,1,230,1,1,1,1,1,1,1, + 1,1,5396,4031,1902,4054,1,1098,5201,449, + 39,39,1,5434,5396,5293,5401,1,5293,5396, + 1796,1,1546,1312,5396,3989,680,1949,5812,5396, + 5038,5035,226,632,939,2248,3125,5396,419,230, + 4852,3448,1859,1816,1773,1730,1687,1644,1601,1558, + 1515,1472,361,5900,5657,5736,5737,458,5651,5658, + 5654,5630,5656,5655,5652,5653,5631,5396,5254,5251, + 5835,5836,5837,5396,5032,5032,230,5032,230,230, + 230,5061,230,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,230,1, + 1,8692,1,1,1,1,1,1,5432,5396, + 5410,5411,1,33,5029,5171,5195,5408,1,5195, + 304,5195,5195,1,38,5168,5165,1,121,5162, + 5699,3125,629,803,5608,5396,563,5396,5195,398, + 5064,5064,5756,285,220,5396,6779,6607,5195,5195, + 5195,5195,5396,5156,5153,43,5260,5260,1,5900, + 312,5051,5047,4370,5044,939,5159,3125,5269,5159, + 1,5195,113,2916,35,112,5407,5195,5296,649, + 285,5195,5195,5195,5195,5195,5195,1,5051,5047, + 583,5044,939,220,3125,5296,5257,5272,138,2569, + 5195,5195,5195,5195,5195,5195,5195,5195,5195,5195, + 5195,5195,5195,5195,5195,2858,2886,4008,1006,5195, + 5195,5195,5195,5195,5195,5195,5195,5195,5195,5195, + 5195,5195,5195,5396,1055,321,5305,5396,5183,5305, + 409,5305,5305,5299,1097,5406,350,5396,5278,3039, + 227,1055,1,5051,5047,5041,5044,5058,5305,5055, + 5299,4031,5405,4054,4031,5281,4054,5396,5305,5305, + 5305,5305,5657,5736,5737,5404,5651,5658,5654,5630, + 5656,5655,5652,5653,5631,228,92,1,1,378, + 1,5305,5354,5396,5396,5354,3412,5305,2287,1055, + 5396,5305,5305,5305,5305,5305,5305,5657,5736,5737, + 1055,5651,5658,5654,5630,5656,5655,5652,5653,5631, + 5305,5305,5305,5305,5305,5305,5305,5305,5305,5305, + 5305,5305,5305,5305,5305,1033,1010,5396,5403,5305, + 5305,5305,5305,5305,5305,5305,5305,5305,5305,5305, + 5305,5305,5305,5396,5032,5032,230,5032,230,230, + 230,230,230,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,230,1, + 1,8692,1,1,1,1,1,1,294,5410, + 5411,3720,1,5396,5029,5396,5038,5035,1,632, + 5308,5396,3125,1,5396,4479,39,1,3270,5406, + 5434,5396,629,803,5608,136,563,1,5051,5047, + 4370,5044,939,5396,3125,526,5405,133,2378,224, + 334,5038,5035,4370,632,939,612,3125,5396,5900, + 5662,5660,5669,5668,5664,5665,5663,5666,5667,5670, + 5661,5657,5736,5737,5396,5651,5658,5654,5630,5656, + 5655,5652,5653,5631,1,5051,5047,4370,5044,939, + 4100,3125,5396,221,5396,5032,5032,230,5032,230, + 230,230,230,230,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,230, + 1,1,8692,1,1,1,1,1,1,5835, + 5836,5837,1935,1,2322,5029,5396,5038,5035,1, + 632,5308,5912,3125,1,2355,314,1,1,1229, + 5396,5396,1050,629,803,5608,1098,563,5408,370, + 5051,5047,583,5044,939,1,3125,5396,1,348, + 5038,5035,583,632,939,334,3125,2458,334,323, + 5900,5396,5032,5032,230,5032,230,230,230,5275, + 230,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,230,1,1,8692, + 1,1,1,1,1,1,1150,5407,125,5855, + 1,5396,5029,1055,4174,139,1,134,39,1281, + 5396,1,5434,1055,5396,1,124,1,5400,462, + 629,803,5608,1055,563,5180,5396,1,5330,5330, + 3351,5327,221,334,5404,366,334,348,39,39, + 2916,5434,123,334,122,5396,334,5900,5396,5032, + 5032,230,5032,230,230,230,5275,230,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,229,1,1,8687,1, - 1,1,1,1,1,360,5829,5830,5831,1, - 5391,5027,95,39,39,1,5429,113,5376,5391, - 1,5376,2353,4029,1,4052,5391,5397,1048,627, - 801,5602,1096,561,5403,369,5049,5045,581,5042, - 937,1,3123,3860,1,347,5036,5033,581,630, - 937,333,3123,121,333,5391,5894,5391,5030,5030, - 229,5030,229,229,229,5273,229,1,1,1, + 1,1,1,230,1,1,8692,1,1,1, + 1,1,1,5189,5407,2858,2886,1,5396,5029, + 95,39,39,1,5434,5396,5381,5403,1,5381, + 366,1055,1,2858,2886,2355,2248,629,803,5608, + 5396,563,3448,4593,3483,126,295,366,5396,221, + 1,5051,5047,583,5044,939,5402,3125,5399,2858, + 2886,2858,2886,461,5900,5396,5032,5032,230,5032, + 230,230,230,5275,230,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,229,1,1,8687,1,1,1,1, - 1,1,5396,5402,134,5750,1,39,5027,1053, - 125,5429,1,124,5391,1279,4029,1,4052,1053, - 136,1,5391,5391,5391,4850,627,801,5602,2376, - 561,5401,1,1,5328,5328,5391,5325,220,333, - 365,365,333,347,39,39,2914,5429,5400,333, - 2856,2884,333,5894,5391,5030,5030,229,5030,229, - 229,229,5273,229,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,229, - 1,1,8687,1,1,1,1,1,1,5391, - 5405,5406,4098,1,937,5027,3123,2856,2884,1, - 2856,2884,2353,120,1,365,365,1053,1,5829, - 5830,5831,5391,627,801,5602,5391,561,5391,2320, - 5397,5391,365,365,5399,220,1,5049,5045,581, - 5042,937,1,3123,460,43,5258,5258,3068,2723, - 5894,5391,5030,5030,229,5030,229,229,229,5273, - 229,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,229,1,1,8687, - 1,1,1,1,1,1,5255,37,5196,5196, - 1,4309,5027,333,1,5396,1,5398,5391,4477, - 1053,1,112,5391,5267,1,5395,338,5190,5391, - 627,801,5602,2407,561,1,1,1,128,2914, - 2914,5391,220,5178,343,5294,5391,5391,5427,123, - 5730,5731,5752,5270,431,2567,5391,5894,5391,5030, - 5030,229,5030,229,229,229,229,229,1,1, + 230,1,1,8692,1,1,1,1,1,1, + 5396,5410,5411,2799,1,939,5029,3125,1,47, + 1,5396,2113,5287,1055,1,1237,4311,5269,1, + 339,5401,5396,1,629,803,5608,5192,563,5396, + 1,161,128,2916,1,5396,221,127,344,2697, + 2669,5396,366,5736,5737,91,29,5272,5302,2569, + 2152,5900,5396,5032,5032,230,5032,230,230,230, + 230,230,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,230,1,1, + 8692,1,1,1,1,1,1,37,5198,5198, + 2799,1,5198,5029,1055,2799,161,1,344,344, + 5342,120,1,344,1129,5345,1,366,1,3864, + 3483,629,803,5608,1,563,5290,8,428,36, + 5375,5372,533,365,366,5387,2697,2669,3567,5396, + 5396,2697,2669,45,5314,5314,3070,2725,5900,5396, + 5032,5032,230,5032,230,230,230,230,230,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,229,1,1,8687,1,1,1, - 1,1,1,37,5196,5196,2797,1,5196,5027, - 1053,1053,5402,1,343,343,5340,119,1,343, - 5297,4029,1,4052,1,4591,3481,627,801,5602, - 1,561,5288,127,122,5391,2754,286,161,5391, - 1,292,2695,2667,3565,5394,2856,2884,531,45, - 5312,5312,3068,2723,5894,5391,5030,5030,229,5030, - 229,229,229,229,229,1,1,1,1,1, + 1,1,1,1,230,1,1,8692,1,1, + 1,1,1,1,5311,37,5198,5198,1,5403, + 5029,334,119,1,1,1,1,533,5387,1, + 5396,5406,783,1,191,1,1,5841,629,803, + 5608,5396,563,163,5402,293,1554,1554,5405,287, + 293,191,444,5396,157,5396,5432,3070,2725,29, + 5396,8684,8684,5396,5396,5900,5396,5032,5032,230, + 5032,230,230,230,230,230,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 229,1,1,8687,1,1,1,1,1,1, - 5309,2797,1,1587,1,5398,5027,5391,8689,8689, - 1,5343,5267,161,1,1,5676,3862,3481,1, - 7580,1,5401,531,627,801,5602,5391,561,191, - 5391,2856,2884,3410,8,5391,1,2695,2667,5400, - 294,5270,5382,2567,163,5391,191,5391,5427,5391, - 398,5894,5391,5030,5030,229,5030,229,229,229, - 229,229,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,229,1,1, - 8687,1,1,1,1,1,1,5391,1,5391, - 4172,1,5391,5027,5391,5906,5397,1,37,5196, - 5196,91,1,1127,5300,5382,1,1048,1127,163, - 1235,627,801,5602,37,561,1,5049,5045,4818, - 5042,3824,3914,3123,185,3937,5213,5240,5246,5219, - 5222,5234,5231,5237,5228,5225,5216,5243,5894,2932, - 5391,1,5049,5045,5039,5042,5056,3266,5053,5401, - 3426,3888,3865,3983,3960,5427,5410,5391,3801,1767, - 1845,5396,5412,1768,3529,1811,5400,5413,5411,1725, - 157,5407,5408,5409,5391,5391,5363,5359,1426,350, - 5391,39,39,372,519,39,5036,5033,4818,630, - 3824,3914,3123,5373,3937,2491,5656,5654,5663,5662, - 5658,5659,5657,5660,5661,5664,5655,5391,5849,370, - 1,5049,5045,4368,5042,937,5427,3123,311,5391, - 3888,3865,3983,3960,5391,5410,5391,3801,1767,1845, - 5391,5412,1768,3529,1811,311,5413,5411,1725,1943, - 5407,5408,5409,1053,5391,5388,511,1426,5835,5391, - 509,75,5264,1334,4137,5391,5398,39,5036,5033, - 4818,630,3824,3914,3123,5261,3937,2491,5656,5654, - 5663,5662,5658,5659,5657,5660,5661,5664,5655,1383, - 423,5391,3560,237,3589,5391,5331,1,5453,5454, - 4307,2111,3888,3865,3983,3960,5391,5410,3688,3801, - 1767,1845,3012,5412,1768,3529,1811,5391,5413,5411, - 1725,5391,5407,5408,5409,2761,3648,3700,5391,1426, - 4143,4891,535,3707,5264,141,5036,5033,4818,630, - 3824,3914,3123,377,3937,2491,5656,5654,5663,5662, - 5658,5659,5657,5660,5661,5664,5655,429,5391,3708, - 2159,4916,5391,5391,5391,2572,597,1986,2764,5391, - 3888,3865,3983,3960,5391,5410,1095,3801,1767,1845, - 807,5412,1768,3529,1811,524,5413,5411,1725,3256, - 5407,5408,5409,3293,3987,5391,5391,1426,4921,3613, - 39,39,1,5049,5045,4818,5042,3824,3914,3123, - 5391,3937,5213,5240,5246,5219,5222,5234,5231,5237, - 5228,5225,5216,5243,5391,5391,4226,4447,4586,5391, - 5391,5391,4652,4277,4243,3348,100,3888,3865,3983, - 3960,5391,5410,1,3801,1767,1845,5391,5412,1768, - 3529,1811,5391,5413,5411,1725,73,5407,5408,5409, - 5391,3718,5391,4517,1426,4929,5391,39,39,39, - 5036,5033,4818,630,3824,3914,3123,5261,3937,2491, - 5656,5654,5663,5662,5658,5659,5657,5660,5661,5664, - 5655,3300,1,103,5391,2019,4605,5863,5857,99, - 4734,5861,513,3718,3888,3865,3983,3960,1,5410, - 2,3801,1767,1845,5379,5412,1768,3529,1811,5391, - 5413,5411,1725,5391,5407,5408,5409,5855,5856,5886, - 5887,1426,5391,4180,5864,3357,5264,279,5391,5391, - 5385,5391,5391,5391,5391,5391,5391,5391,663,5391, - 5866,5391,5391,5391,5391,5391,569,1416,1493,5391, - 5867,5888,5865,2198,2029,5391,5391,5391,37,5391, - 5391,5391,943,5391,5391,5391,5391,5391,5391,5877, - 5876,5889,5391,5391,5858,5859,5882,5883,5880,5881, - 5860,5862,5884,5885,5391,5391,5391,5890,5391,5870, - 5871,5872,5868,5869,5878,5879,5874,5873,5875,39, - 5036,5033,4818,630,3824,3914,3123,5395,3937,2491, - 5656,5654,5663,5662,5658,5659,5657,5660,5661,5664, - 5655,5391,5391,5391,5391,5391,5391,5391,5391,5391, - 5391,5391,5391,5391,3888,3865,3983,3960,5391,5410, - 5391,3801,1767,1845,5391,5412,1768,3529,1811,5391, - 5413,5411,1725,5391,5407,5408,5409,39,5036,5033, - 4818,630,3824,3914,3123,5391,3937,2491,5656,5654, - 5663,5662,5658,5659,5657,5660,5661,5664,5655,5391, - 5391,5391,5391,5391,5391,5391,5391,5391,5391,5391, - 5391,5391,3888,3865,3983,3960,5391,5410,5391,3801, - 1767,1845,5391,5412,1768,3529,1811,5391,5413,5411, - 1725,5391,5407,5408,5409,5391,5394,5391,5391,1426, - 39,5036,5033,4818,630,3824,3914,3123,5391,3937, - 2491,5656,5654,5663,5662,5658,5659,5657,5660,5661, - 5664,5655,5391,5391,5391,5391,5391,5391,5391,5391, - 5391,5391,5391,5391,5391,3888,3865,3983,3960,5391, - 5410,5391,3801,1767,1845,5391,5412,1768,3529,1811, - 5391,5413,5411,1725,5391,5407,5408,5409,5391,5391, - 5391,5391,5391,5391,2450,39,5036,5033,4818,630, - 3824,3914,3123,5391,3937,2491,5656,5654,5663,5662, - 5658,5659,5657,5660,5661,5664,5655,5391,5391,5391, - 5391,5391,5391,5391,5391,5391,5391,5391,5391,5391, - 3888,3865,3983,3960,5391,5410,5391,3801,1767,1845, - 5391,5412,1768,3529,1811,5391,5413,5411,1725,5391, - 5407,5408,5409,5391,5391,5391,5391,1426,39,5036, - 5033,4863,630,3824,3914,3123,5391,3937,2491,5656, - 5654,5663,5662,5658,5659,5657,5660,5661,5664,5655, - 5391,5391,5391,5391,5391,5391,5391,5391,5391,5391, - 5391,5391,5391,3888,3865,3983,3960,5391,5410,5391, - 3801,1767,1845,5391,5412,1768,3529,1811,5391,5413, - 5411,1725,5391,5407,5408,5409,39,5036,5033,4818, - 630,3824,3914,3123,5391,3937,2491,5656,5654,5663, - 5662,5658,5659,5657,5660,5661,5664,5655,5391,5391, - 5391,5391,5391,5391,5391,5391,5391,5391,5391,5391, - 5391,3888,3865,3983,3960,5391,5410,5391,3801,1767, - 1845,5391,5412,1768,3529,1811,5391,5413,5411,1725, - 5391,5407,5408,5409,39,5036,5033,4818,630,3824, - 3914,3123,5391,3937,2491,5656,5654,5663,5662,5658, - 5659,5657,5660,5661,5664,5655,5391,5391,5391,5391, - 5391,5391,5391,5391,5391,5391,5391,5391,5391,3888, - 3865,3983,3960,5391,5410,5391,3801,1767,1845,5391, - 5412,1768,3529,1811,5391,5413,5411,1725,5391,5407, - 5408,5409,5391,5036,5033,5391,5429,5391,5391,5391, - 5391,5391,741,5656,5654,5663,5662,5658,5659,5657, - 5660,5661,5664,5655,5651,5730,5731,5391,5645,5652, - 5648,5624,5650,5649,5646,5647,5625,5391,5391,5391, - 5391,5792,5391,5391,5391,5391,5391,1449,5391,241, - 5141,5137,5793,5145,5391,5391,5794,5391,5391,741, - 5128,5134,5107,5110,5122,5119,5125,5116,5113,5104, - 5131,5083,5077,5074,5391,5101,5080,5092,5071,5086, - 5089,5098,5095,5068,5391,5391,5391,5391,5792,5391, - 5391,5391,5391,5391,1449,5391,5391,5391,5391,5793, - 5391,5391,5391,5794,29,390,390,5337,390,390, - 5337,390,5337,5337,5391,5391,5391,5391,5391,5391, - 5391,5391,5391,5391,5391,5391,390,390,390,5337, - 390,390,390,390,390,390,390,390,390,5391, - 5391,5391,5391,5391,5391,5391,5391,5391,5391,5391, - 5391,5391,5391,5391,5391,5391,5391,5391,5391,5391, - 5391,5391,5175,5391,5391,5391,5391,5391,5337,5391, - 5391,5391,5391,5391,5391,5391,5391,5337,32,391, - 391,5334,391,391,5334,391,5334,5334,5391,5391, - 5391,5391,5391,5391,5391,5391,5391,5391,5391,5391, - 391,391,391,5334,391,391,391,391,391,391, - 391,391,391,5391,5391,5391,5391,5391,5391,5391, - 5391,5391,5391,5391,5391,5391,5391,5391,5391,5391, - 5391,5391,5391,5391,5391,5391,5391,5391,5391,5391, - 5391,5391,5334,5391,5391,5391,5391,5391,5391,5391, - 5391,5334 + 1,230,1,1,8692,1,1,1,1,1, + 1,5432,1988,5396,5396,1,399,5029,163,5401, + 5174,1,37,5198,5198,5758,1,5177,5682,8231, + 1,1589,1129,1945,351,629,803,5608,37,563, + 1,5051,5047,4820,5044,3826,3916,3125,5396,3939, + 5215,5242,5248,5221,5224,5236,5233,5239,5230,5227, + 5218,5245,5900,2934,5396,1,5051,5047,5041,5044, + 5058,1050,5055,5406,1129,3890,3867,3985,3962,5432, + 5415,5396,3803,1769,1847,5396,5417,1770,3531,1813, + 5405,5418,5416,1727,430,5412,5413,5414,1055,5396, + 5368,5364,1428,5396,373,39,39,371,520,39, + 5038,5035,4820,632,3826,3916,3125,5378,3939,2493, + 5662,5660,5669,5668,5664,5665,5663,5666,5667,5670, + 5661,5396,3690,512,1,5051,5047,4370,5044,939, + 5432,3125,312,3268,3890,3867,3985,3962,5396,5415, + 5396,3803,1769,1847,5396,5417,1770,3531,1813,312, + 5418,5416,1727,4228,5412,5413,5414,5396,5396,5396, + 510,1428,424,5396,1336,75,5266,1385,4139,5396, + 5403,39,5038,5035,4820,632,3826,3916,3125,5263, + 3939,2493,5662,5660,5669,5668,5664,5665,5663,5666, + 5667,5670,5661,3650,238,5396,3428,5333,3562,5396, + 5396,1,5458,5459,4309,194,3890,3867,3985,3962, + 5396,5415,3702,3803,1769,1847,3591,5417,1770,3531, + 1813,3014,5418,5416,1727,3709,5412,5413,5414,2763, + 4145,3258,2161,1428,100,5396,5396,3710,5266,141, + 5038,5035,4820,632,3826,3916,3125,5396,3939,2493, + 5662,5660,5669,5668,5664,5665,5663,5666,5667,5670, + 5661,5396,5396,5396,4893,4918,2574,3295,5396,5396, + 5396,599,4923,3615,3890,3867,3985,3962,5396,5415, + 5361,3803,1769,1847,809,5417,1770,3531,1813,5396, + 5418,5416,1727,2409,5412,5413,5414,5396,4736,5396, + 4449,1428,4588,5396,39,39,1,5051,5047,4820, + 5044,3826,3916,3125,1,3939,5215,5242,5248,5221, + 5224,5236,5233,5239,5230,5227,5218,5245,5396,5396, + 5396,4654,4279,5396,5396,5396,4245,4519,4931,99, + 3350,3890,3867,3985,3962,525,5415,5396,3803,1769, + 1847,2766,5417,1770,3531,1813,5396,5418,5416,1727, + 5396,5412,5413,5414,103,2952,5396,4607,1428,73, + 5396,39,39,39,5038,5035,4820,632,3826,3916, + 3125,5263,3939,2493,5662,5660,5669,5668,5664,5665, + 5663,5666,5667,5670,5661,3302,1,514,2,2021, + 1097,5869,5863,2200,4182,5867,1,5396,3890,3867, + 3985,3962,5396,5415,5396,3803,1769,1847,185,5417, + 1770,3531,1813,5396,5418,5416,1727,5384,5412,5413, + 5414,5861,5862,5892,5893,1428,2031,5396,5870,5396, + 5266,280,3359,5396,5390,5396,665,3720,5396,5396, + 5396,5396,5396,5396,5872,5396,37,5396,5396,5396, + 571,1418,1495,5396,5873,5894,5871,945,5396,5396, + 5396,5396,5396,5396,5396,5396,5396,5396,5396,5396, + 5396,5396,5396,5883,5882,5895,5396,5396,5864,5865, + 5888,5889,5886,5887,5866,5868,5890,5891,5396,5396, + 5396,5396,5896,5396,5876,5877,5878,5874,5875,5884, + 5885,5880,5879,5881,39,5038,5035,4820,632,3826, + 3916,3125,5400,3939,2493,5662,5660,5669,5668,5664, + 5665,5663,5666,5667,5670,5661,5396,5396,5396,5393, + 5396,5396,5396,5396,5396,5396,5396,5396,5396,3890, + 3867,3985,3962,5396,5415,5396,3803,1769,1847,5396, + 5417,1770,3531,1813,5396,5418,5416,1727,5396,5412, + 5413,5414,39,5038,5035,4820,632,3826,3916,3125, + 5396,3939,2493,5662,5660,5669,5668,5664,5665,5663, + 5666,5667,5670,5661,5396,5396,5396,5396,5396,5396, + 5396,5396,5396,5396,5396,5396,5396,3890,3867,3985, + 3962,5396,5415,5396,3803,1769,1847,5396,5417,1770, + 3531,1813,5396,5418,5416,1727,5396,5412,5413,5414, + 5396,5396,5399,5396,1428,39,5038,5035,4820,632, + 3826,3916,3125,5396,3939,2493,5662,5660,5669,5668, + 5664,5665,5663,5666,5667,5670,5661,5396,5396,5396, + 5396,5396,5396,5396,5396,5396,5396,5396,5396,5396, + 3890,3867,3985,3962,5396,5415,5396,3803,1769,1847, + 5396,5417,1770,3531,1813,5396,5418,5416,1727,5396, + 5412,5413,5414,5396,5396,5396,5396,5396,5396,2452, + 39,5038,5035,4820,632,3826,3916,3125,5396,3939, + 2493,5662,5660,5669,5668,5664,5665,5663,5666,5667, + 5670,5661,5396,5396,5396,5396,5396,5396,5396,5396, + 5396,5396,5396,5396,5396,3890,3867,3985,3962,5396, + 5415,5396,3803,1769,1847,5396,5417,1770,3531,1813, + 5396,5418,5416,1727,5396,5412,5413,5414,5396,5396, + 5396,5396,1428,39,5038,5035,4865,632,3826,3916, + 3125,5396,3939,2493,5662,5660,5669,5668,5664,5665, + 5663,5666,5667,5670,5661,5396,5396,5396,5396,5396, + 5396,5396,5396,5396,5396,5396,5396,5396,3890,3867, + 3985,3962,5396,5415,5396,3803,1769,1847,5396,5417, + 1770,3531,1813,5396,5418,5416,1727,5396,5412,5413, + 5414,39,5038,5035,4820,632,3826,3916,3125,5396, + 3939,2493,5662,5660,5669,5668,5664,5665,5663,5666, + 5667,5670,5661,5396,5396,5396,5396,5396,5396,5396, + 5396,5396,5396,5396,5396,5396,3890,3867,3985,3962, + 5396,5415,5396,3803,1769,1847,5396,5417,1770,3531, + 1813,5396,5418,5416,1727,5396,5412,5413,5414,39, + 5038,5035,4820,632,3826,3916,3125,5396,3939,2493, + 5662,5660,5669,5668,5664,5665,5663,5666,5667,5670, + 5661,5396,5396,5396,5396,5396,5396,5396,5396,5396, + 5396,5396,5396,5396,3890,3867,3985,3962,5396,5415, + 5396,3803,1769,1847,5396,5417,1770,3531,1813,5396, + 5418,5416,1727,5396,5412,5413,5414,5396,5038,5035, + 5396,5434,5396,5396,5396,5396,5396,743,5662,5660, + 5669,5668,5664,5665,5663,5666,5667,5670,5661,5657, + 5736,5737,5396,5651,5658,5654,5630,5656,5655,5652, + 5653,5631,5396,5396,5396,5396,5798,5396,5396,5396, + 5396,5396,1451,5396,242,5143,5139,5799,5147,5396, + 5396,5800,5396,5396,743,5130,5136,5109,5112,5124, + 5121,5127,5118,5115,5106,5133,5085,5079,5076,5396, + 5103,5082,5094,5073,5088,5091,5100,5097,5070,5396, + 5396,5396,5396,5798,5396,5396,5396,5396,5396,1451, + 5396,5396,5396,5396,5799,5396,5396,5396,5800,29, + 391,391,5339,391,391,5339,391,5339,5339,5396, + 5396,5396,5396,5396,5396,5396,5396,5396,5396,5396, + 5396,391,391,391,5339,391,391,391,391,391, + 391,391,391,391,5396,5396,5396,5396,5396,5396, + 5396,5396,5396,5396,5396,5396,5396,5396,5396,5396, + 5396,5396,5396,5396,5396,5396,5396,5177,5396,5396, + 5396,5396,5396,5339,5396,5396,5396,5396,5396,5396, + 5396,5396,5339,32,392,392,5336,392,392,5336, + 392,5336,5336,5396,5396,5396,5396,5396,5396,5396, + 5396,5396,5396,5396,5396,392,392,392,5336,392, + 392,392,392,392,392,392,392,392,5396,5396, + 5396,5396,5396,5396,5396,5396,5396,5396,5396,5396, + 5396,5396,5396,5396,5396,5396,5396,5396,5396,5396, + 5396,5396,5396,5396,5396,5396,5396,5336,5396,5396, + 5396,5396,5396,5396,5396,5396,5336 }; }; public final static char termAction[] = TermAction.termAction; @@ -1825,61 +1825,61 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface Asb { public final static char asb[] = {0, - 937,1,1104,878,663,394,150,454,834,60, - 1065,778,1059,834,988,999,62,999,57,999, - 405,999,983,999,778,779,98,394,773,190, - 888,888,623,779,888,779,878,568,621,197, - 62,62,350,779,1060,550,103,59,147,60, - 778,286,779,779,148,693,413,413,980,44, + 935,1,1102,876,663,394,150,454,834,60, + 1063,778,1057,834,986,997,62,997,57,997, + 405,997,981,997,778,779,98,394,773,190, + 886,886,623,779,886,779,876,568,621,197, + 62,62,350,779,1058,550,103,59,147,60, + 778,286,779,779,148,693,413,413,978,44, 44,776,51,53,773,779,402,550,286,286, - 885,283,550,888,888,568,888,779,237,9, - 119,1067,1067,1066,1066,62,778,779,1060,980, + 883,283,550,886,886,568,886,779,237,9, + 119,1065,1065,1064,1064,62,778,779,1058,978, 103,779,413,345,411,148,62,417,779,286, 148,779,493,413,62,778,243,773,779,740, - 153,773,493,883,881,286,286,776,283,283, - 1060,9,119,1066,1066,1066,779,980,980,934, - 779,103,1122,60,568,338,1112,103,413,412, - 413,413,148,417,417,779,621,541,878,568, - 568,568,568,778,878,724,192,741,741,741, - 741,741,741,741,741,741,890,896,901,898, - 905,903,910,908,912,911,913,354,914,620, - 779,693,779,62,704,423,779,878,283,928, - 403,550,740,934,62,403,881,621,621,885, - 550,439,427,438,620,568,443,443,934,934, - 1066,779,237,1114,413,413,413,413,779,417, - 933,449,933,776,5,435,434,724,663,663, - 663,663,779,792,550,550,724,838,662,237, - 724,890,236,236,792,740,741,741,741,741, + 153,773,493,881,879,286,286,776,283,283, + 1058,9,119,1064,1064,1064,779,978,978,932, + 779,103,1120,60,568,338,1110,103,413,412, + 413,413,148,417,417,779,621,541,876,568, + 568,568,568,778,876,724,192,741,741,741, + 741,741,741,741,741,741,888,894,899,896, + 903,901,908,906,910,909,911,354,912,620, + 779,693,779,62,704,423,779,876,283,926, + 403,550,740,932,62,403,879,621,621,883, + 550,439,427,438,620,568,443,443,932,932, + 1064,779,237,1112,413,413,413,413,779,417, + 931,449,931,776,5,435,434,724,663,663, + 663,663,779,792,550,550,724,836,662,237, + 724,888,236,236,792,740,741,741,741,741, 741,741,741,741,741,741,741,741,741,741, 741,741,741,741,741,740,740,740,740,740, 740,740,740,740,740,740,740,741,724,493, - 570,705,778,779,792,500,934,153,881,881, - 608,740,436,436,3,776,65,119,1067,119, - 619,619,934,980,1060,53,741,1122,52,561, - 413,413,553,933,934,741,779,541,550,7, + 570,705,778,779,792,500,932,153,879,879, + 608,740,436,436,3,776,65,119,1065,119, + 619,619,932,978,1058,53,741,1120,52,561, + 413,413,553,931,932,741,779,541,550,7, 9,550,550,621,621,621,621,148,550,741, - 572,1005,1005,778,192,283,662,740,550,1059, - 1061,1059,550,283,898,898,896,896,896,903, - 903,903,903,901,901,908,905,905,911,910, - 912,1122,913,570,704,1122,741,1122,980,703, - 878,878,878,705,878,779,361,980,980,779, - 62,550,740,153,881,880,608,740,740,7, - 427,119,663,663,980,1114,741,741,423,690, - 554,779,934,550,9,878,878,878,878,779, - 779,779,237,741,663,894,507,550,779,1061, - 237,740,695,878,695,705,1122,705,724,724, - 722,836,724,980,980,790,570,933,881,610, + 572,1003,1003,778,192,283,662,740,550,1057, + 1059,1057,550,283,896,896,894,894,894,901, + 901,901,901,899,899,906,903,903,909,908, + 910,1120,911,570,704,1120,741,1120,978,703, + 876,876,876,705,876,779,361,978,978,779, + 62,550,740,153,879,878,608,740,740,7, + 427,119,663,663,978,1112,741,741,423,690, + 554,779,932,550,9,876,876,876,876,779, + 779,779,237,741,663,892,507,550,779,1059, + 237,740,695,876,695,705,1120,705,724,724, + 722,703,724,978,978,790,702,931,879,610, 620,553,779,778,778,779,782,550,740,740, - 740,740,878,878,148,1060,550,894,776,693, - 779,1060,65,705,550,773,550,722,394,878, - 550,570,932,152,610,42,779,779,779,782, - 782,550,550,550,550,792,792,779,894,895, - 894,740,507,1063,890,693,550,550,1053,705, - 790,705,980,394,740,705,702,932,932,878, - 443,779,779,615,782,550,550,1040,894,792, - 741,283,1063,62,62,1055,740,703,792,980, - 550,10,619,615,615,895,550,283,705,550, - 980,549,1059,615,705,663 + 740,740,876,876,148,1058,550,892,776,693, + 779,1058,65,705,550,773,550,722,394,876, + 550,570,930,152,610,42,779,779,779,782, + 782,550,550,550,550,792,792,779,892,893, + 892,740,507,1061,888,693,550,550,1051,705, + 790,705,978,394,740,705,702,930,930,876, + 443,779,779,615,782,550,550,1038,892,792, + 741,283,1061,62,62,1053,740,703,792,978, + 550,10,619,615,615,893,550,283,705,550, + 978,549,1057,615,705,663 }; }; public final static char asb[] = Asb.asb; @@ -1897,7 +1897,7 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym 45,27,28,14,29,30,15,16,31,32, 17,18,33,50,34,10,54,19,22,20, 24,21,1,2,4,90,0,8,72,67, - 74,0,86,59,7,102,103,104,60,8, + 74,0,86,59,7,103,104,105,60,8, 3,9,6,5,72,71,25,61,26,11, 12,39,23,13,45,27,28,14,29,30, 15,16,31,32,17,18,33,50,34,10, @@ -1915,14 +1915,14 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym 53,12,21,11,17,15,16,18,19,14, 13,20,55,56,57,40,52,46,51,5, 7,4,37,38,9,6,35,36,42,48, - 1,2,117,8,0,26,11,12,39,23, + 1,2,118,8,0,26,11,12,39,23, 43,65,13,44,45,27,28,46,14,29, 30,15,16,31,66,32,47,17,18,48, 33,49,50,51,62,52,34,53,54,19, 22,20,24,21,55,56,57,40,3,37, 38,9,6,35,36,42,68,7,1,2, 5,4,10,0,4,8,72,67,0,8, - 67,70,0,68,72,90,69,117,73,71, + 67,70,0,68,72,90,69,118,73,71, 11,12,43,65,13,44,46,14,15,16, 66,47,17,18,48,49,51,62,52,53, 10,19,20,21,55,56,57,40,37,38, @@ -1937,27 +1937,27 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym 10,54,19,22,20,24,21,12,11,26, 8,3,9,25,60,59,63,86,28,61, 58,4,7,6,5,1,2,41,0,8, - 72,117,73,25,69,0,91,89,35,36, + 72,118,73,25,69,0,91,89,35,36, 92,93,87,88,58,94,95,96,97,98, - 99,100,101,106,72,90,70,107,108,109, - 110,111,112,113,114,115,116,117,71,25, + 99,100,101,107,72,90,70,108,109,110, + 111,112,113,114,115,116,117,118,71,25, 68,1,2,9,6,4,3,64,69,73, - 8,0,22,1,2,4,102,103,104,0, - 72,8,64,3,70,69,25,58,0,118, + 8,0,22,1,2,4,103,104,105,0, + 72,8,64,3,70,69,25,58,0,102, 0,26,11,12,23,13,27,28,14,29, 30,15,16,31,7,32,17,18,33,34, 19,22,20,24,21,1,2,8,64,9, 6,5,4,73,25,3,0,23,24,74, 3,72,25,67,62,8,90,73,70,69, 68,0,66,65,35,36,6,92,93,98, - 9,99,5,42,70,58,68,110,111,107, - 108,109,115,114,116,88,87,112,113,96, - 97,94,95,100,101,37,38,69,89,105, + 9,99,5,42,70,58,68,111,112,108, + 109,110,116,115,117,88,87,113,114,96, + 97,94,95,100,101,37,38,69,89,106, 64,3,10,45,39,50,54,12,21,11, 17,15,16,18,19,14,13,20,26,32, 33,28,31,30,27,23,24,29,34,1, - 2,22,4,0,86,102,103,104,41,72, - 120,118,121,71,61,74,60,59,63,76, + 2,22,4,0,86,103,104,105,41,72, + 120,102,121,71,61,74,60,59,63,76, 78,84,82,75,80,81,83,85,67,77, 79,25,8,26,39,23,45,27,28,29, 30,31,32,33,50,34,54,22,24,62, @@ -1970,36 +1970,36 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym 14,15,16,66,7,47,17,18,48,49, 51,62,52,53,10,19,20,21,55,56, 57,1,2,3,37,38,9,6,35,36, - 5,42,4,40,0,75,0,65,66,37, - 38,9,6,35,36,5,42,48,4,7, - 55,56,57,40,52,46,51,12,21,11, - 17,15,16,18,19,14,13,20,10,44, - 49,47,43,53,64,1,2,3,0,62, - 23,24,7,5,1,2,4,74,67,119, - 105,37,38,64,3,91,89,6,92,93, - 35,36,88,87,58,94,95,96,97,9, - 98,99,100,68,90,73,70,107,108,109, - 110,111,112,113,114,115,116,72,117,101, - 106,25,69,71,8,0,3,9,6,5, - 7,26,11,12,39,23,13,45,27,14, + 5,42,4,40,0,65,66,37,38,9, + 6,35,36,5,42,48,4,7,55,56, + 57,40,52,46,51,12,21,11,17,15, + 16,18,19,14,13,20,10,44,49,47, + 43,53,64,1,2,3,0,62,23,24, + 7,5,1,2,4,74,67,119,106,37, + 38,64,3,91,89,6,92,93,35,36, + 88,87,58,94,95,96,97,9,98,99, + 100,68,90,73,70,108,109,110,111,112, + 113,114,115,116,117,72,118,101,107,25, + 69,71,8,0,3,9,6,5,7,26, + 11,12,39,23,13,45,27,14,29,30, + 15,16,31,32,17,18,33,50,34,10, + 54,19,22,20,24,21,120,61,59,28, + 86,63,60,1,2,4,41,25,8,0, + 10,45,39,50,54,12,21,11,17,15, + 16,18,19,14,13,20,74,72,90,118, + 71,67,119,91,106,89,37,38,35,36, + 92,93,87,88,58,68,94,95,96,97, + 98,99,100,101,107,70,108,109,110,111, + 112,113,114,115,116,117,69,26,23,27, + 28,29,30,31,32,33,34,22,24,25, + 8,73,9,6,3,64,4,7,1,2, + 5,0,120,71,39,23,13,45,27,14, 29,30,15,16,31,32,17,18,33,50, - 34,10,54,19,22,20,24,21,120,61, - 59,28,86,63,60,1,2,4,41,25, - 8,0,10,45,39,50,54,12,21,11, - 17,15,16,18,19,14,13,20,74,72, - 90,117,71,67,119,91,105,89,37,38, - 35,36,92,93,87,88,58,68,94,95, - 96,97,98,99,100,101,106,70,107,108, - 109,110,111,112,113,114,115,116,69,26, - 23,27,28,29,30,31,32,33,34,22, - 24,25,8,73,9,6,3,64,4,7, - 1,2,5,0,120,71,39,23,13,45, - 27,14,29,30,15,16,31,32,17,18, - 33,50,34,54,19,22,20,24,21,12, - 11,26,8,3,9,6,25,61,28,86, - 63,60,41,7,1,2,5,4,10,59, - 0,25,8,3,7,5,9,6,4,1, - 2,72,0 + 34,54,19,22,20,24,21,12,11,26, + 8,3,9,6,25,61,28,86,63,60, + 41,7,1,2,5,4,10,59,0,25, + 8,3,7,5,9,6,4,1,2,72, + 0 }; }; public final static byte asr[] = Asr.asr; @@ -2115,8 +2115,8 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym 119,30,118,96,108,49,50,56,57,59, 69,71,72,85,92,65,17,18,6,32, 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,123, + 28,51,80,81,82,5,29,34,35,36, + 37,38,39,40,41,42,43,117,3,123, 62,116 }; }; @@ -2210,16 +2210,16 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface ScopeLa { public final static byte scopeLa[] = { - 118,71,73,73,71,71,73,73,73,73, + 102,71,73,73,71,71,73,73,73,73, 73,71,25,71,1,68,1,73,121,67, 3,73,68,68,68,1,1,25,71,67, 1,1,1,71,1,1,4,68,69,25, - 1,1,68,73,73,73,118,73,1,25, - 1,25,25,71,117,73,73,73,73,73, - 117,1,73,1,73,73,73,72,4,1, + 1,1,68,73,73,73,102,73,1,25, + 1,25,25,71,118,73,73,73,73,73, + 118,1,73,1,73,73,73,72,4,1, 1,6,73,68,68,68,68,73,3,1, - 1,73,73,3,1,117,73,1,1,1, - 25,73,117,73,5,73,1,41,70,72, + 1,73,73,3,1,118,73,1,1,1, + 25,73,118,73,5,73,1,41,70,72, 73,1,41,75,74,25,25,4,4,4, 4,3,1,67,1,1,3 }; @@ -2248,7 +2248,7 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface ScopeRhs { public final static char scopeRhs[] = {0, - 322,3,62,0,125,0,321,3,118,0, + 322,3,62,0,125,0,321,3,102,0, 125,171,0,126,179,74,0,215,0,254, 126,58,124,0,20,0,297,126,58,41, 0,20,53,0,33,131,0,20,53,0, @@ -2294,7 +2294,7 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym 155,225,3,83,0,62,170,0,225,3, 83,0,125,170,62,170,0,303,126,165, 0,162,0,213,77,0,30,170,0,162, - 106,159,0,30,168,0,178,3,0,125, + 107,159,0,30,168,0,178,3,0,125, 148,0,218,3,0,213,64,266,0,162, 64,0,178,3,299,66,127,0,125,0, 0,0,0,299,66,127,0,2,144,125, @@ -2321,38 +2321,38 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface ScopeState { public final static char scopeState[] = {0, - 3175,2618,0,2095,1333,747,0,3194,3121,0, - 2994,4921,4916,4891,0,3339,2194,3132,925,0, - 4226,2754,0,3662,3607,3551,3440,3385,3348,3293, - 3256,3114,2979,2915,2572,0,807,597,0,1004, - 0,4817,3481,4702,0,2492,648,0,3662,3607, - 1847,1761,3551,3440,3385,3348,3293,3256,1675,3114, - 2979,2915,1589,1503,0,3268,659,0,4611,4602, - 0,811,0,1775,1223,1196,644,3190,3372,3055, - 581,2914,2540,2753,0,1314,735,3190,4690,4681, - 3372,4146,4145,2582,3259,3632,4410,4397,3631,2414, - 0,4811,4807,4803,4910,4897,4799,4781,4715,4882, - 4708,4827,4719,4697,4347,4619,4488,4296,2533,2926, - 3584,3236,3232,3228,0,3190,4571,4410,4397,3098, - 3055,3516,4434,4098,581,2582,2540,3788,4368,2414, - 0,4571,3098,0,3138,2613,3667,4811,4807,2242, - 3565,2950,2932,2155,4803,3240,4910,4897,2849,4799, - 4781,4715,933,4882,2606,4708,1379,2528,4827,4719, - 4697,4347,2150,4619,4488,1139,3498,4296,3473,2533, - 2926,3584,3236,3232,937,3228,4270,2825,2556,2480, - 1322,630,943,3055,3516,4434,4098,3190,2456,610, - 581,807,597,2582,2540,4571,3788,4410,4397,4368, - 2414,3098,3529,4111,4075,2246,2285,2353,2320,2499, - 2427,2384,2884,2856,2797,2769,2695,2667,3763,3738, - 3203,3068,2723,4052,4029,4006,3983,3960,3937,3914, - 3888,3865,3824,3801,2029,2198,1986,2159,2111,1383, - 1334,1943,2072,1235,1096,1279,886,1900,1857,1814, - 1771,1728,1685,1642,1599,1556,1513,1470,538,1192, - 1426,828,750,1053,692,1008,964,1148,0,538, - 4270,2825,0,4611,4602,4591,4241,4202,4144,4516, - 4477,4460,2575,4134,3662,3607,3551,3440,3385,3348, - 3293,3256,3114,2979,2915,0,4611,4602,4591,4241, - 4202,4144,4516,4477,4460,2575,4134,0 + 3177,2620,0,2097,1335,749,0,3196,3123,0, + 2996,4923,4918,4893,0,3341,2196,3134,927,0, + 4228,2756,0,3664,3609,3553,3442,3387,3350,3295, + 3258,3116,2981,2917,2574,0,809,599,0,1006, + 0,4819,3483,4704,0,2494,650,0,3664,3609, + 1849,1763,3553,3442,3387,3350,3295,3258,1677,3116, + 2981,2917,1591,1505,0,3270,661,0,4613,4604, + 0,813,0,1777,1225,1198,646,3192,3374,3057, + 583,2916,2542,2755,0,1316,737,3192,4692,4683, + 3374,4148,4147,2584,3261,3634,4412,4399,3633,2416, + 0,4813,4809,4805,4912,4899,4801,4783,4717,4884, + 4710,4829,4721,4699,4349,4621,4490,4298,2535,2928, + 3586,3238,3234,3230,0,3192,4573,4412,4399,3100, + 3057,3518,4436,4100,583,2584,2542,3790,4370,2416, + 0,4573,3100,0,3140,2615,3669,4813,4809,2244, + 3567,2952,2934,2157,4805,3242,4912,4899,2851,4801, + 4783,4717,935,4884,2608,4710,1381,2530,4829,4721, + 4699,4349,2152,4621,4490,1141,3500,4298,3475,2535, + 2928,3586,3238,3234,939,3230,4272,2827,2558,2482, + 1324,632,945,3057,3518,4436,4100,3192,2458,612, + 583,809,599,2584,2542,4573,3790,4412,4399,4370, + 2416,3100,3531,4113,4077,2248,2287,2355,2322,2501, + 2429,2386,2886,2858,2799,2771,2697,2669,3765,3740, + 3205,3070,2725,4054,4031,4008,3985,3962,3939,3916, + 3890,3867,3826,3803,2031,2200,1988,2161,2113,1385, + 1336,1945,2074,1237,1098,1281,888,1902,1859,1816, + 1773,1730,1687,1644,1601,1558,1515,1472,540,1194, + 1428,830,752,1055,694,1010,966,1150,0,540, + 4272,2827,0,4613,4604,4593,4243,4204,4146,4518, + 4479,4462,2577,4136,3664,3609,3553,3442,3387,3350, + 3295,3258,3116,2981,2917,0,4613,4604,4593,4243, + 4204,4146,4518,4479,4462,2577,4136,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -2384,10 +2384,10 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym 126,180,167,126,232,232,126,126,188,126, 278,123,279,126,3,216,215,3,58,58, 58,58,127,3,178,162,126,65,66,167, - 3,125,105,119,3,64,89,91,36,35, + 3,125,106,119,3,64,89,91,36,35, 93,92,6,95,94,68,58,87,88,9, - 97,96,99,98,100,116,115,114,113,112, - 111,110,109,108,107,70,106,101,69,4, + 97,96,99,98,100,117,116,115,114,113, + 112,111,110,109,108,70,107,101,69,4, 284,126,69,180,3,268,126,165,6,126, 155,70,222,203,3,126,69,69,68,58, 231,231,224,227,188,313,72,291,203,124, @@ -2402,7 +2402,7 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym 211,126,70,70,128,69,72,70,316,223, 22,127,277,228,126,68,68,68,68,188, 259,127,167,204,3,300,168,153,127,180, - 167,72,285,118,8,72,213,72,3,3, + 167,72,285,102,8,72,213,72,3,3, 3,191,3,123,162,123,179,310,126,220, 297,69,127,22,317,180,155,228,3,3, 3,3,125,124,167,41,178,126,126,219, @@ -2690,18 +2690,18 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public final static int NUM_STATES = 546, NT_OFFSET = 122, - LA_STATE_OFFSET = 5928, + LA_STATE_OFFSET = 5935, MAX_LA = 2147483647, - NUM_RULES = 537, + NUM_RULES = 539, NUM_NONTERMINALS = 203, NUM_SYMBOLS = 325, SEGMENT_SIZE = 8192, - START_STATE = 4134, + START_STATE = 4136, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 120, EOLT_SYMBOL = 120, - ACCEPT_ACTION = 5026, - ERROR_ACTION = 5391; + ACCEPT_ACTION = 5028, + ERROR_ACTION = 5396; public final static boolean BACKTRACK = true; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParsersym.java index 9d02fdc5dce..6cbe37bc364 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParsersym.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParsersym.java @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 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 @@ -20,7 +20,7 @@ public interface CPPParsersym { TK_bool = 11, TK_break = 76, TK_case = 77, - TK_catch = 118, + TK_catch = 102, TK_char = 12, TK_class = 39, TK_const = 23, @@ -49,9 +49,9 @@ public interface CPPParsersym { TK_namespace = 59, TK_new = 66, TK_operator = 7, - TK_private = 102, - TK_protected = 103, - TK_public = 104, + TK_private = 103, + TK_protected = 104, + TK_public = 105, TK_register = 32, TK_reinterpret_cast = 47, TK_return = 84, @@ -90,7 +90,7 @@ public interface CPPParsersym { TK_LeftParen = 3, TK_Dot = 119, TK_DotStar = 91, - TK_Arrow = 105, + TK_Arrow = 106, TK_ArrowStar = 89, TK_PlusPlus = 37, TK_MinusMinus = 38, @@ -114,23 +114,23 @@ public interface CPPParsersym { TK_Or = 99, TK_AndAnd = 100, TK_OrOr = 101, - TK_Question = 106, + TK_Question = 107, TK_Colon = 72, TK_ColonColon = 4, TK_DotDotDot = 90, TK_Assign = 70, - TK_StarAssign = 107, - TK_SlashAssign = 108, - TK_PercentAssign = 109, - TK_PlusAssign = 110, - TK_MinusAssign = 111, - TK_RightShiftAssign = 112, - TK_LeftShiftAssign = 113, - TK_AndAssign = 114, - TK_CaretAssign = 115, - TK_OrAssign = 116, + TK_StarAssign = 108, + TK_SlashAssign = 109, + TK_PercentAssign = 110, + TK_PlusAssign = 111, + TK_MinusAssign = 112, + TK_RightShiftAssign = 113, + TK_LeftShiftAssign = 114, + TK_AndAssign = 115, + TK_CaretAssign = 116, + TK_OrAssign = 117, TK_Comma = 69, - TK_RightBracket = 117, + TK_RightBracket = 118, TK_RightParen = 73, TK_RightBrace = 71, TK_SemiColon = 25, @@ -241,6 +241,7 @@ public interface CPPParsersym { "Or", "AndAnd", "OrOr", + "catch", "private", "protected", "public", @@ -257,7 +258,6 @@ public interface CPPParsersym { "CaretAssign", "OrAssign", "RightBracket", - "catch", "Dot", "EOF_TOKEN", "else", 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 3f13e3f35e1..2d6eb25c774 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 @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 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 @@ -991,925 +991,937 @@ public CPPSizeofExpressionParser(ITokenStream stream, Map<String,String> propert // // Rule 191: iteration_statement ::= do statement while ( expression ) ; // - case 191: { action. consumeStatementDoLoop(); break; + case 191: { action. consumeStatementDoLoop(true); break; } // - // Rule 192: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement + // Rule 192: iteration_statement ::= do statement // - case 192: { action. consumeStatementForLoop(); break; + case 192: { action. consumeStatementDoLoop(false); break; } // - // Rule 194: for_init_statement ::= simple_declaration_with_declspec + // Rule 193: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement // - case 194: { action. consumeStatementDeclaration(); break; + case 193: { action. consumeStatementForLoop(); break; } // - // Rule 195: jump_statement ::= break ; + // Rule 195: for_init_statement ::= simple_declaration_with_declspec // - case 195: { action. consumeStatementBreak(); break; + case 195: { action. consumeStatementDeclaration(); break; } // - // Rule 196: jump_statement ::= continue ; + // Rule 196: jump_statement ::= break ; // - case 196: { action. consumeStatementContinue(); break; + case 196: { action. consumeStatementBreak(); break; } // - // Rule 197: jump_statement ::= return expression ; + // Rule 197: jump_statement ::= continue ; // - case 197: { action. consumeStatementReturn(true); break; + case 197: { action. consumeStatementContinue(); break; } // - // Rule 198: jump_statement ::= return ; + // Rule 198: jump_statement ::= return expression ; // - case 198: { action. consumeStatementReturn(false); break; + case 198: { action. consumeStatementReturn(true); break; } // - // Rule 199: jump_statement ::= goto identifier_token ; + // Rule 199: jump_statement ::= return ; // - case 199: { action. consumeStatementGoto(); break; + case 199: { action. consumeStatementReturn(false); break; } // - // Rule 200: declaration_statement ::= block_declaration + // Rule 200: jump_statement ::= goto identifier_token ; // - case 200: { action. consumeStatementDeclarationWithDisambiguation(); break; + case 200: { action. consumeStatementGoto(); break; } // - // Rule 201: declaration_statement ::= function_definition + // Rule 201: declaration_statement ::= block_declaration // - case 201: { action. consumeStatementDeclaration(); break; + case 201: { action. consumeStatementDeclarationWithDisambiguation(); break; } // - // Rule 209: declaration ::= ERROR_TOKEN + // Rule 202: declaration_statement ::= function_definition // - case 209: { action. consumeDeclarationProblem(); break; + case 202: { action. consumeStatementDeclaration(); break; } // - // Rule 219: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ; + // Rule 210: declaration ::= ERROR_TOKEN // - case 219: { action. consumeDeclarationSimple(true); break; + case 210: { action. consumeDeclarationProblem(); break; } // - // Rule 220: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ; + // Rule 220: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ; // case 220: { action. consumeDeclarationSimple(true); break; } // - // Rule 221: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers + // Rule 221: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ; // - case 221: { action. consumeDeclarationSpecifiersSimple(); break; + case 221: { action. consumeDeclarationSimple(true); break; } // - // Rule 222: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers + // Rule 222: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers // - case 222: { action. consumeDeclarationSpecifiersComposite(); break; + case 222: { action. consumeDeclarationSpecifiersSimple(); break; } // - // Rule 223: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers + // Rule 223: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers // case 223: { action. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 224: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers + // Rule 224: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers // case 224: { action. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 225: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers + // Rule 225: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers // - case 225: { action. consumeDeclarationSpecifiersTypeName(); break; + case 225: { action. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 227: declaration_specifiers_opt ::= $Empty + // Rule 226: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers // - case 227: { action. consumeEmpty(); break; + case 226: { action. consumeDeclarationSpecifiersTypeName(); break; } // - // Rule 231: no_type_declaration_specifier ::= friend + // Rule 228: declaration_specifiers_opt ::= $Empty // - case 231: { action. consumeToken(); break; + case 228: { action. consumeEmpty(); break; } // - // Rule 232: no_type_declaration_specifier ::= typedef + // Rule 232: no_type_declaration_specifier ::= friend // case 232: { action. consumeToken(); break; } // - // Rule 252: storage_class_specifier ::= auto + // Rule 233: no_type_declaration_specifier ::= typedef // - case 252: { action. consumeToken(); break; + case 233: { action. consumeToken(); break; } // - // Rule 253: storage_class_specifier ::= register + // Rule 253: storage_class_specifier ::= auto // case 253: { action. consumeToken(); break; } // - // Rule 254: storage_class_specifier ::= static + // Rule 254: storage_class_specifier ::= register // case 254: { action. consumeToken(); break; } // - // Rule 255: storage_class_specifier ::= extern + // Rule 255: storage_class_specifier ::= static // case 255: { action. consumeToken(); break; } // - // Rule 256: storage_class_specifier ::= mutable + // Rule 256: storage_class_specifier ::= extern // case 256: { action. consumeToken(); break; } // - // Rule 257: function_specifier ::= inline + // Rule 257: storage_class_specifier ::= mutable // case 257: { action. consumeToken(); break; } // - // Rule 258: function_specifier ::= virtual + // Rule 258: function_specifier ::= inline // case 258: { action. consumeToken(); break; } // - // Rule 259: function_specifier ::= explicit + // Rule 259: function_specifier ::= virtual // case 259: { action. consumeToken(); break; } // - // Rule 260: simple_type_specifier ::= simple_type_specifier_token + // Rule 260: function_specifier ::= explicit // case 260: { action. consumeToken(); break; } // - // Rule 274: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name + // Rule 261: simple_type_specifier ::= simple_type_specifier_token // - case 274: { action. consumeQualifiedId(false); break; + case 261: { action. consumeToken(); break; } // - // Rule 275: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name + // Rule 275: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name // case 275: { action. consumeQualifiedId(false); break; } // - // Rule 276: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name + // Rule 276: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name // case 276: { action. consumeQualifiedId(false); break; } // - // Rule 277: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name + // Rule 277: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name // - case 277: { action. consumeQualifiedId(true); break; + case 277: { action. consumeQualifiedId(false); break; } // - // Rule 279: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name + // Rule 278: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name // - case 279: { action. consumeTypeSpecifierElaborated(false); break; + case 278: { action. consumeQualifiedId(true); break; } // - // Rule 280: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt template_opt template_id_name + // Rule 280: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name // - case 280: { action. consumeTypeSpecifierElaborated(true); break; + case 280: { action. consumeTypeSpecifierElaborated(false); break; } // - // Rule 281: elaborated_type_specifier ::= enum elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name + // Rule 281: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt template_opt template_id_name // - case 281: { action. consumeTypeSpecifierElaborated(false); break; + case 281: { action. consumeTypeSpecifierElaborated(true); break; } // - // Rule 285: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 282: elaborated_type_specifier ::= enum elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name // - case 285: { action. consumeTypeSpecifierEnumeration(false); break; + case 282: { action. consumeTypeSpecifierElaborated(false); break; } // - // Rule 286: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 286: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } // - case 286: { action. consumeTypeSpecifierEnumeration(true); break; + case 286: { action. consumeTypeSpecifierEnumeration(false); break; } // - // Rule 292: enumerator_definition ::= identifier_token + // Rule 287: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } // - case 292: { action. consumeEnumerator(false); break; + case 287: { action. consumeTypeSpecifierEnumeration(true); break; } // - // Rule 293: enumerator_definition ::= identifier_token = constant_expression + // Rule 293: enumerator_definition ::= identifier_token // - case 293: { action. consumeEnumerator(true); break; + case 293: { action. consumeEnumerator(false); break; } // - // Rule 295: namespace_definition ::= namespace namespace_name namespace_definition_hook { <openscope-ast> declaration_seq_opt } + // Rule 294: enumerator_definition ::= identifier_token = constant_expression // - case 295: { action. consumeNamespaceDefinition(true); break; + case 294: { action. consumeEnumerator(true); break; } // - // Rule 296: namespace_definition ::= namespace namespace_definition_hook { <openscope-ast> declaration_seq_opt } + // Rule 296: namespace_definition ::= namespace namespace_name namespace_definition_hook { <openscope-ast> declaration_seq_opt } // - case 296: { action. consumeNamespaceDefinition(false); break; + case 296: { action. consumeNamespaceDefinition(true); break; } // - // Rule 298: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 297: namespace_definition ::= namespace namespace_definition_hook { <openscope-ast> declaration_seq_opt } // - case 298: { action. consumeNamespaceAliasDefinition(); break; + case 297: { action. consumeNamespaceDefinition(false); break; } // - // Rule 299: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; + // Rule 299: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ; // - case 299: { action. consumeUsingDeclaration(); break; + case 299: { action. consumeNamespaceAliasDefinition(); break; } // - // Rule 300: typename_opt ::= typename + // Rule 300: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; // - case 300: { action. consumePlaceHolder(); break; + case 300: { action. consumeUsingDeclaration(); break; } // - // Rule 301: typename_opt ::= $Empty + // Rule 301: typename_opt ::= typename // - case 301: { action. consumeEmpty(); break; + case 301: { action. consumePlaceHolder(); break; } // - // Rule 302: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 302: typename_opt ::= $Empty // - case 302: { action. consumeUsingDirective(); break; + case 302: { action. consumeEmpty(); break; } // - // Rule 303: asm_definition ::= asm ( stringlit ) ; + // Rule 303: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; // - case 303: { action. consumeDeclarationASM(); break; + case 303: { action. consumeUsingDirective(); break; } // - // Rule 304: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt } + // Rule 304: asm_definition ::= asm ( stringlit ) ; // - case 304: { action. consumeLinkageSpecification(); break; + case 304: { action. consumeDeclarationASM(); break; } // - // Rule 305: linkage_specification ::= extern stringlit <openscope-ast> declaration + // Rule 305: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt } // case 305: { action. consumeLinkageSpecification(); break; } // - // Rule 310: init_declarator_complete ::= init_declarator + // Rule 306: linkage_specification ::= extern stringlit <openscope-ast> declaration // - case 310: { action. consumeInitDeclaratorComplete(); break; + case 306: { action. consumeLinkageSpecification(); break; } // - // Rule 312: init_declarator ::= complete_declarator initializer + // Rule 311: init_declarator_complete ::= init_declarator // - case 312: { action. consumeDeclaratorWithInitializer(true); break; + case 311: { action. consumeInitDeclaratorComplete(); break; } // - // Rule 315: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator + // Rule 313: init_declarator ::= complete_declarator initializer // - case 315: { action. consumeDeclaratorWithPointer(true); break; + case 313: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 317: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator + // Rule 316: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator // - case 317: { action. consumeDeclaratorWithPointer(true); break; + case 316: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 321: basic_direct_declarator ::= declarator_id_name + // Rule 318: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator // - case 321: { action. consumeDirectDeclaratorIdentifier(); break; + case 318: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 322: basic_direct_declarator ::= ( declarator ) + // Rule 322: basic_direct_declarator ::= declarator_id_name // - case 322: { action. consumeDirectDeclaratorBracketed(); break; + case 322: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 323: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 323: basic_direct_declarator ::= ( declarator ) // - case 323: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; + case 323: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 324: array_direct_declarator ::= array_direct_declarator array_modifier + // Rule 324: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 324: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 324: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 325: array_direct_declarator ::= basic_direct_declarator array_modifier + // Rule 325: array_direct_declarator ::= array_direct_declarator array_modifier // case 325: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 326: array_modifier ::= [ constant_expression ] + // Rule 326: array_direct_declarator ::= basic_direct_declarator array_modifier // - case 326: { action. consumeDirectDeclaratorArrayModifier(true); break; + case 326: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 327: array_modifier ::= [ ] + // Rule 327: array_modifier ::= [ constant_expression ] // - case 327: { action. consumeDirectDeclaratorArrayModifier(false); break; + case 327: { action. consumeDirectDeclaratorArrayModifier(true); break; } // - // Rule 328: ptr_operator ::= pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt + // Rule 328: array_modifier ::= [ ] // - case 328: { action. consumePointer(); break; + case 328: { action. consumeDirectDeclaratorArrayModifier(false); break; } // - // Rule 329: ptr_operator ::= pointer_hook & pointer_hook + // Rule 329: ptr_operator ::= pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt // - case 329: { action. consumeReferenceOperator(); break; + case 329: { action. consumePointer(); break; } // - // Rule 330: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt + // Rule 330: ptr_operator ::= pointer_hook & pointer_hook // - case 330: { action. consumePointerToMember(); break; + case 330: { action. consumeReferenceOperator(); break; } // - // Rule 337: cv_qualifier ::= const + // Rule 331: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt // - case 337: { action. consumeToken(); break; + case 331: { action. consumePointerToMember(); break; } // - // Rule 338: cv_qualifier ::= volatile + // Rule 338: cv_qualifier ::= const // case 338: { action. consumeToken(); break; } // - // Rule 340: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name + // Rule 339: cv_qualifier ::= volatile // - case 340: { action. consumeQualifiedId(false); break; + case 339: { action. consumeToken(); break; } // - // Rule 341: type_id ::= type_specifier_seq + // Rule 341: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name // - case 341: { action. consumeTypeId(false); break; + case 341: { action. consumeQualifiedId(false); break; } // - // Rule 342: type_id ::= type_specifier_seq abstract_declarator + // Rule 342: type_id ::= type_specifier_seq // - case 342: { action. consumeTypeId(true); break; + case 342: { action. consumeTypeId(false); break; } // - // Rule 345: abstract_declarator ::= <openscope-ast> ptr_operator_seq + // Rule 343: type_id ::= type_specifier_seq abstract_declarator // - case 345: { action. consumeDeclaratorWithPointer(false); break; + case 343: { action. consumeTypeId(true); break; } // - // Rule 346: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator + // Rule 346: abstract_declarator ::= <openscope-ast> ptr_operator_seq // - case 346: { action. consumeDeclaratorWithPointer(true); break; + case 346: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 350: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 347: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator // - case 350: { action. consumeDirectDeclaratorBracketed(); break; + case 347: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 351: basic_direct_abstract_declarator ::= ( ) + // Rule 351: basic_direct_abstract_declarator ::= ( abstract_declarator ) // - case 351: { action. consumeAbstractDeclaratorEmpty(); break; + case 351: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 352: array_direct_abstract_declarator ::= array_modifier + // Rule 352: basic_direct_abstract_declarator ::= ( ) // - case 352: { action. consumeDirectDeclaratorArrayDeclarator(false); break; + case 352: { action. consumeAbstractDeclaratorEmpty(); break; } // - // Rule 353: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier + // Rule 353: array_direct_abstract_declarator ::= array_modifier // - case 353: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 353: { action. consumeDirectDeclaratorArrayDeclarator(false); break; } // - // Rule 354: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier + // Rule 354: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier // case 354: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 355: 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 355: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier // - case 355: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; + case 355: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 356: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 356: 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 356: { action. consumeDirectDeclaratorFunctionDeclarator(false); break; + case 356: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 357: parameter_declaration_clause ::= parameter_declaration_list_opt ... + // Rule 357: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 357: { action. consumePlaceHolder(); break; + case 357: { action. consumeDirectDeclaratorFunctionDeclarator(false); break; } // - // Rule 358: parameter_declaration_clause ::= parameter_declaration_list_opt + // Rule 358: parameter_declaration_clause ::= parameter_declaration_list_opt ... // - case 358: { action. consumeEmpty(); break; + case 358: { action. consumePlaceHolder(); break; } // - // Rule 359: parameter_declaration_clause ::= parameter_declaration_list , ... + // Rule 359: parameter_declaration_clause ::= parameter_declaration_list_opt // - case 359: { action. consumePlaceHolder(); break; + case 359: { action. consumeEmpty(); break; } // - // Rule 365: abstract_declarator_opt ::= $Empty + // Rule 360: parameter_declaration_clause ::= parameter_declaration_list , ... // - case 365: { action. consumeEmpty(); break; + case 360: { action. consumePlaceHolder(); break; } // - // Rule 366: parameter_declaration ::= declaration_specifiers parameter_init_declarator + // Rule 366: abstract_declarator_opt ::= $Empty // - case 366: { action. consumeParameterDeclaration(); break; + case 366: { action. consumeEmpty(); break; } // - // Rule 367: parameter_declaration ::= declaration_specifiers + // Rule 367: parameter_declaration ::= declaration_specifiers parameter_init_declarator // - case 367: { action. consumeParameterDeclarationWithoutDeclarator(); break; + case 367: { action. consumeParameterDeclaration(); break; } // - // Rule 369: parameter_init_declarator ::= declarator = parameter_initializer + // Rule 368: parameter_declaration ::= declaration_specifiers // - case 369: { action. consumeDeclaratorWithInitializer(true); break; + case 368: { action. consumeParameterDeclarationWithoutDeclarator(); break; } // - // Rule 371: parameter_init_declarator ::= abstract_declarator = parameter_initializer + // Rule 370: parameter_init_declarator ::= declarator = parameter_initializer // - case 371: { action. consumeDeclaratorWithInitializer(true); break; + case 370: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 372: parameter_init_declarator ::= = parameter_initializer + // Rule 372: parameter_init_declarator ::= abstract_declarator = parameter_initializer // - case 372: { action. consumeDeclaratorWithInitializer(false); break; + case 372: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 373: parameter_initializer ::= assignment_expression + // Rule 373: parameter_init_declarator ::= = parameter_initializer // - case 373: { action. consumeInitializer(); break; + case 373: { action. consumeDeclaratorWithInitializer(false); break; } // - // Rule 374: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body + // Rule 374: parameter_initializer ::= assignment_expression // - case 374: { action. consumeFunctionDefinition(false); break; + case 374: { action. consumeInitializer(); break; } // - // Rule 375: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq + // Rule 375: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body // - case 375: { action. consumeFunctionDefinition(true); break; + case 375: { action. consumeFunctionDefinition(false); break; } // - // Rule 378: initializer ::= ( expression_list ) + // Rule 376: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq // - case 378: { action. consumeInitializerConstructor(); break; + case 376: { action. consumeFunctionDefinition(true); break; } // - // Rule 379: initializer_clause ::= assignment_expression + // Rule 379: initializer ::= ( expression_list ) // - case 379: { action. consumeInitializer(); break; + case 379: { action. consumeInitializerConstructor(); break; } // - // Rule 381: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq , } end_initializer_list + // Rule 380: initializer_clause ::= assignment_expression // - case 381: { action. consumeInitializerList(); break; + case 380: { action. consumeInitializer(); break; } // - // Rule 382: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq } end_initializer_list + // Rule 382: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq , } end_initializer_list // case 382: { action. consumeInitializerList(); break; } // - // Rule 383: initializer_list ::= { <openscope-ast> } + // Rule 383: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq } end_initializer_list // case 383: { action. consumeInitializerList(); break; } // - // Rule 384: start_initializer_list ::= $Empty + // Rule 384: initializer_list ::= { <openscope-ast> } // - case 384: { action. initializerListStart(); break; + case 384: { action. consumeInitializerList(); break; } // - // Rule 385: end_initializer_list ::= $Empty + // Rule 385: start_initializer_list ::= $Empty // - case 385: { action. initializerListEnd(); break; + case 385: { action. initializerListStart(); break; } // - // Rule 390: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt } + // Rule 386: end_initializer_list ::= $Empty // - case 390: { action. consumeClassSpecifier(); break; + case 386: { action. initializerListEnd(); break; } // - // Rule 391: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 391: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt } // - case 391: { action. consumeClassHead(false); break; + case 391: { action. consumeClassSpecifier(); break; } // - // Rule 392: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 392: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook <openscope-ast> base_clause_opt // case 392: { action. consumeClassHead(false); break; } // - // Rule 393: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 393: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt // - case 393: { action. consumeClassHead(true); break; + case 393: { action. consumeClassHead(false); break; } // - // Rule 394: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 394: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook <openscope-ast> base_clause_opt // case 394: { action. consumeClassHead(true); break; } // - // Rule 398: identifier_name_opt ::= $Empty + // Rule 395: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt // - case 398: { action. consumeEmpty(); break; - } + case 395: { action. consumeClassHead(true); break; + } // - // Rule 402: visibility_label ::= access_specifier_keyword : + // Rule 399: identifier_name_opt ::= $Empty // - case 402: { action. consumeVisibilityLabel(); break; - } + case 399: { action. consumeEmpty(); break; + } // - // Rule 403: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ; + // Rule 403: visibility_label ::= access_specifier_keyword : // - case 403: { action. consumeDeclarationSimple(true); break; + case 403: { action. consumeVisibilityLabel(); break; } // - // Rule 404: member_declaration ::= declaration_specifiers_opt ; + // Rule 404: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ; // - case 404: { action. consumeDeclarationSimple(false); break; + case 404: { action. consumeDeclarationSimple(true); break; } // - // Rule 407: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ; + // Rule 405: member_declaration ::= declaration_specifiers_opt ; // - case 407: { action. consumeMemberDeclarationQualifiedId(); break; + case 405: { action. consumeDeclarationSimple(false); break; } // - // Rule 413: member_declaration ::= ERROR_TOKEN + // Rule 408: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ; // - case 413: { action. consumeDeclarationProblem(); break; + case 408: { action. consumeMemberDeclarationQualifiedId(); break; } // - // Rule 422: member_declarator ::= declarator constant_initializer + // Rule 414: member_declaration ::= ERROR_TOKEN // - case 422: { action. consumeMemberDeclaratorWithInitializer(); break; + case 414: { action. consumeDeclarationProblem(); break; } // - // Rule 423: member_declarator ::= bit_field_declarator : constant_expression + // Rule 423: member_declarator ::= declarator constant_initializer // - case 423: { action. consumeBitField(true); break; + case 423: { action. consumeMemberDeclaratorWithInitializer(); break; } // - // Rule 424: member_declarator ::= : constant_expression + // Rule 424: member_declarator ::= bit_field_declarator : constant_expression // - case 424: { action. consumeBitField(false); break; + case 424: { action. consumeBitField(true); break; } // - // Rule 425: bit_field_declarator ::= identifier_name + // Rule 425: member_declarator ::= : constant_expression // - case 425: { action. consumeDirectDeclaratorIdentifier(); break; + case 425: { action. consumeBitField(false); break; } // - // Rule 426: constant_initializer ::= = constant_expression + // Rule 426: bit_field_declarator ::= identifier_name // - case 426: { action. consumeInitializer(); break; + case 426: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 432: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name + // Rule 427: constant_initializer ::= = constant_expression // - case 432: { action. consumeBaseSpecifier(false, false); break; + case 427: { action. consumeInitializer(); break; } // - // Rule 433: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name + // Rule 433: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name // - case 433: { action. consumeBaseSpecifier(true, true); break; + case 433: { action. consumeBaseSpecifier(false, false); break; } // - // Rule 434: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name + // Rule 434: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name // case 434: { action. consumeBaseSpecifier(true, true); break; } // - // Rule 435: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name + // Rule 435: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name // - case 435: { action. consumeBaseSpecifier(true, false); break; + case 435: { action. consumeBaseSpecifier(true, true); break; } // - // Rule 436: access_specifier_keyword ::= private + // Rule 436: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name // - case 436: { action. consumeToken(); break; + case 436: { action. consumeBaseSpecifier(true, false); break; } // - // Rule 437: access_specifier_keyword ::= protected + // Rule 437: access_specifier_keyword ::= private // case 437: { action. consumeToken(); break; } // - // Rule 438: access_specifier_keyword ::= public + // Rule 438: access_specifier_keyword ::= protected // case 438: { action. consumeToken(); break; } // - // Rule 440: access_specifier_keyword_opt ::= $Empty + // Rule 439: access_specifier_keyword ::= public + // + case 439: { action. consumeToken(); break; + } + + // + // Rule 441: access_specifier_keyword_opt ::= $Empty + // + case 441: { action. consumeEmpty(); break; + } + + // + // Rule 443: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt > // - case 440: { action. consumeEmpty(); break; + case 443: { action. consumeTemplateId(); break; } // - // Rule 442: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt > + // Rule 444: conversion_function_id ::= operator conversion_type_id // - case 442: { action. consumeTemplateId(); break; + case 444: { action. consumeConversionName(); break; } // - // Rule 443: conversion_function_id ::= operator conversion_type_id + // Rule 445: conversion_type_id ::= type_specifier_seq conversion_declarator // - case 443: { action. consumeConversionName(); break; + case 445: { action. consumeTypeId(true); break; } // - // Rule 444: conversion_type_id ::= type_specifier_seq conversion_declarator + // Rule 446: conversion_type_id ::= type_specifier_seq // - case 444: { action. consumeTypeId(true); break; + case 446: { action. consumeTypeId(false); break; } // - // Rule 445: conversion_type_id ::= type_specifier_seq + // Rule 447: conversion_declarator ::= <openscope-ast> ptr_operator_seq // - case 445: { action. consumeTypeId(false); break; + case 447: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 446: conversion_declarator ::= <openscope-ast> ptr_operator_seq + // Rule 453: mem_initializer ::= mem_initializer_name ( expression_list_opt ) // - case 446: { action. consumeDeclaratorWithPointer(false); break; + case 453: { action. consumeConstructorChainInitializer(); break; } // - // Rule 452: mem_initializer ::= mem_initializer_name ( expression_list_opt ) + // Rule 454: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name // - case 452: { action. consumeConstructorChainInitializer(); break; + case 454: { action. consumeQualifiedId(false); break; } // - // Rule 453: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name + // Rule 457: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt > // - case 453: { action. consumeQualifiedId(false); break; + case 457: { action. consumeTemplateId(); break; } // - // Rule 456: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt > + // Rule 458: operator_id_name ::= operator overloadable_operator // - case 456: { action. consumeTemplateId(); break; + case 458: { action. consumeOperatorName(); break; } // - // Rule 457: operator_id_name ::= operator overloadable_operator + // Rule 501: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration // - case 457: { action. consumeOperatorName(); break; + case 501: { action. consumeTemplateDeclaration(); break; } // - // Rule 500: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration + // Rule 502: export_opt ::= export // - case 500: { action. consumeTemplateDeclaration(); break; + case 502: { action. consumePlaceHolder(); break; } // - // Rule 501: export_opt ::= export + // Rule 503: export_opt ::= $Empty // - case 501: { action. consumePlaceHolder(); break; + case 503: { action. consumeEmpty(); break; } // - // Rule 502: export_opt ::= $Empty + // Rule 507: template_parameter ::= parameter_declaration // - case 502: { action. consumeEmpty(); break; + case 507: { action. consumeTemplateParamterDeclaration(); break; } // - // Rule 506: template_parameter ::= parameter_declaration + // Rule 508: type_parameter ::= class identifier_name_opt // - case 506: { action. consumeTemplateParamterDeclaration(); break; + case 508: { action. consumeSimpleTypeTemplateParameter(false); break; } // - // Rule 507: type_parameter ::= class identifier_name_opt + // Rule 509: type_parameter ::= class identifier_name_opt = type_id // - case 507: { action. consumeSimpleTypeTemplateParameter(false); break; + case 509: { action. consumeSimpleTypeTemplateParameter(true); break; } // - // Rule 508: type_parameter ::= class identifier_name_opt = type_id + // Rule 510: type_parameter ::= typename identifier_name_opt // - case 508: { action. consumeSimpleTypeTemplateParameter(true); break; + case 510: { action. consumeSimpleTypeTemplateParameter(false); break; } // - // Rule 509: type_parameter ::= typename identifier_name_opt + // Rule 511: type_parameter ::= typename identifier_name_opt = type_id // - case 509: { action. consumeSimpleTypeTemplateParameter(false); break; + case 511: { action. consumeSimpleTypeTemplateParameter(true); break; } // - // Rule 510: type_parameter ::= typename identifier_name_opt = type_id + // Rule 512: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt // - case 510: { action. consumeSimpleTypeTemplateParameter(true); break; + case 512: { action. consumeTemplatedTypeTemplateParameter(false); break; } // - // Rule 511: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt + // Rule 513: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression // - case 511: { action. consumeTemplatedTypeTemplateParameter(false); break; + case 513: { action. consumeTemplatedTypeTemplateParameter(true); break; } // - // Rule 512: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression + // Rule 514: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt > // - case 512: { action. consumeTemplatedTypeTemplateParameter(true); break; + case 514: { action. consumeTemplateId(); break; } // - // Rule 513: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt > + // Rule 519: template_argument ::= assignment_expression // - case 513: { action. consumeTemplateId(); break; + case 519: { action. consumeTemplateArgumentExpression(); break; } // - // Rule 518: template_argument ::= assignment_expression + // Rule 520: template_argument ::= type_id // - case 518: { action. consumeTemplateArgumentExpression(); break; + case 520: { action. consumeTemplateArgumentTypeId(); break; } // - // Rule 519: template_argument ::= type_id + // Rule 521: explicit_instantiation ::= template declaration // - case 519: { action. consumeTemplateArgumentTypeId(); break; + case 521: { action. consumeTemplateExplicitInstantiation(); break; } // - // Rule 520: explicit_instantiation ::= template declaration + // Rule 522: explicit_specialization ::= template < > declaration // - case 520: { action. consumeTemplateExplicitInstantiation(); break; + case 522: { action. consumeTemplateExplicitSpecialization(); break; } // - // Rule 521: explicit_specialization ::= template < > declaration + // Rule 523: try_block ::= try compound_statement <openscope-ast> handler_seq // - case 521: { action. consumeTemplateExplicitSpecialization(); break; + case 523: { action. consumeStatementTryBlock(true); break; } // - // Rule 522: try_block ::= try compound_statement <openscope-ast> handler_seq + // Rule 524: try_block ::= try compound_statement // - case 522: { action. consumeStatementTryBlock(); break; + case 524: { action. consumeStatementTryBlock(false); break; } // - // Rule 525: handler ::= catch ( exception_declaration ) compound_statement + // Rule 527: handler ::= catch ( exception_declaration ) compound_statement // - case 525: { action. consumeStatementCatchHandler(false); break; + case 527: { action. consumeStatementCatchHandler(false); break; } // - // Rule 526: handler ::= catch ( ... ) compound_statement + // Rule 528: handler ::= catch ( ... ) compound_statement // - case 526: { action. consumeStatementCatchHandler(true); break; + case 528: { action. consumeStatementCatchHandler(true); break; } // - // Rule 527: exception_declaration ::= type_specifier_seq <openscope-ast> declarator + // Rule 529: exception_declaration ::= type_specifier_seq <openscope-ast> declarator // - case 527: { action. consumeDeclarationSimple(true); break; + case 529: { action. consumeDeclarationSimple(true); break; } // - // Rule 528: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator + // Rule 530: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator // - case 528: { action. consumeDeclarationSimple(true); break; + case 530: { action. consumeDeclarationSimple(true); break; } // - // Rule 529: exception_declaration ::= type_specifier_seq + // Rule 531: exception_declaration ::= type_specifier_seq // - case 529: { action. consumeDeclarationSimple(false); break; + case 531: { action. consumeDeclarationSimple(false); break; } // - // Rule 531: exception_specification ::= throw ( ) + // Rule 533: exception_specification ::= throw ( ) // - case 531: { action. consumePlaceHolder(); break; + case 533: { action. consumePlaceHolder(); break; } // - // Rule 537: no_sizeof_type_id_start ::= ERROR_TOKEN + // Rule 539: no_sizeof_type_id_start ::= ERROR_TOKEN // - case 537: { action. consumeEmpty(); break; + case 539: { action. consumeEmpty(); 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 2d5039f6838..e261e4643eb 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 @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 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 @@ -56,478 +56,478 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 0,1,1,0,1,1,1,1,1,1, 1,1,1,3,4,3,2,1,4,2, 1,2,5,7,5,1,4,1,0,5, - 7,8,1,1,2,2,3,2,3,1, + 7,2,8,1,1,2,2,3,2,3, 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, + 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,1,1,1,1,1,1,1,1,1, - 1,1,1,3,4,4,5,2,5,6, - 5,0,1,0,7,8,0,1,3,1, - 0,1,3,1,7,6,0,7,6,1, - 0,6,5,6,4,1,3,1,0,1, - 1,2,1,1,3,1,3,1,1,1, - 1,3,9,2,2,3,2,5,3,7, - 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,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,3,4,4,5,2,5, + 6,5,0,1,0,7,8,0,1,3, + 1,0,1,3,1,7,6,0,7,6, + 1,0,6,5,6,4,1,3,1,0, + 1,1,2,1,1,3,1,3,1,1, + 1,1,3,9,2,2,3,2,5,3, + 7,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, + 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,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,-62,0,0, - 0,-422,0,0,0,0,0,0,0,0, + 1,1,1,1,1,1,1,1,2,2, + 7,1,0,1,3,1,1,2,4,2, + 4,7,9,5,1,3,1,0,1,1, + 2,4,4,2,1,2,5,5,3,3, + 1,4,3,1,0,1,3,1,1,-62, + 0,0,0,-422,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-65,0,0,0,0,0,-123,0,0, - 0,0,0,-49,0,0,-406,0,0,0, - 0,-314,-281,0,0,0,0,0,0,0, - 0,0,0,0,0,-382,-19,0,0,0, + 0,0,0,-65,0,0,0,0,0,-123, + 0,0,0,0,0,-49,0,0,-406,0, + 0,0,0,-314,-281,0,0,0,0,0, + 0,0,0,0,0,0,0,-382,-19,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-177, - 0,0,-1,0,0,0,0,0,-10,-16, 0,0,0,0,0,0,0,0,0,0, - -2,0,0,0,0,0,0,0,-58,0, + 0,-177,0,0,-1,0,0,0,0,0, + -10,-16,0,0,0,0,0,0,0,0, + 0,0,-2,0,0,0,0,0,0,0, + -58,0,0,0,0,0,0,0,0,0, + 0,0,-53,0,0,-146,0,0,0,-4, 0,0,0,0,0,0,0,0,0,0, - -53,0,0,-146,0,0,0,-4,0,0, - 0,0,0,0,0,0,0,0,-482,-126, + -482,-126,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,-114,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-128,0,0, + 0,0,-186,-118,0,0,-120,0,0,0, + -71,0,0,0,0,0,0,0,0,0, + 0,0,0,-219,0,0,-115,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-128,0,0,0,0, - -186,-118,0,0,-120,0,0,0,-71,0, 0,0,0,0,0,0,0,0,0,0, - 0,-219,0,0,-115,0,0,0,0,0, + 0,0,0,0,0,0,-50,0,0,0, + 0,0,0,0,0,-136,0,0,0,0, + 0,-5,0,0,0,-72,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-147,-119,0,-310, + -6,-130,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,-136,0,0,0,0,0,-5, - 0,0,0,-72,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-147,-119,0,-310,-6,-130, + 0,-117,0,0,0,-7,0,0,0,0, + 0,0,0,0,0,0,-8,0,-357,0, + 0,-141,0,0,-188,-377,0,-405,0,0, + -9,0,0,0,-218,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-117, - 0,0,0,-7,0,0,0,0,0,0, - 0,0,0,0,-8,0,-357,0,0,-141, - 0,0,-188,-377,0,-405,0,0,-9,0, - 0,0,-218,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-51,-11,0,0,0,0,0, + 0,0,0,0,-224,0,-12,0,0,0, + -121,-335,0,0,0,-129,0,0,0,0, + 0,0,-13,0,0,0,0,-137,-15,-513, + 0,0,0,-54,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-241,0,0,0,0,0,0, + 0,0,0,-242,0,0,0,0,0,0, + 0,0,0,-537,0,0,0,-28,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-51,-11,0,0,0,0,0,0,0, - 0,0,-224,0,-12,0,0,0,-121,-335, - 0,0,0,-129,0,0,0,0,0,0, - -13,0,0,0,0,-137,-15,-513,0,0, - 0,-54,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-241,0,0,0,0,0,0,0,0, - 0,-242,0,0,0,0,0,0,0,0, - 0,-537,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,-134,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-134,0,0,0,0, + 0,0,0,0,0,0,0,-57,0,0, + 0,0,0,-228,0,0,-29,0,0,0, + -106,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-255,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-297,0, + 0,0,0,0,-187,0,0,-342,0,-207, + 0,0,0,-444,0,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,-228,0,0,-29,0,0,0,-106,0, + 0,0,0,0,0,0,0,-30,0,0, + 0,0,0,0,0,0,0,0,0,-31, + 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,0,0, - 0,0,-255,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-297,0,0,0, - 0,0,-187,0,0,-342,0,-207,0,0, - 0,-444,0,0,0,0,0,0,0,0, + 0,-32,0,0,0,0,0,-395,0,0, + 0,0,0,-299,0,0,0,0,0,0, + -330,0,0,0,-59,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-30,0,0,0,0, - 0,0,0,0,0,0,0,-31,0,0, - 0,0,0,0,0,-3,0,0,0,0, + 0,0,0,0,-220,0,0,0,0,0, + 0,0,0,0,-116,0,0,0,0,0, + 0,0,0,0,-275,0,0,0,-221,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-32, - 0,0,0,0,0,-395,0,0,0,0, - 0,-299,0,0,0,0,0,0,-330,0, - 0,0,-59,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,0,0, - 0,0,-116,0,0,0,0,0,0,0, - 0,0,-275,0,0,0,-221,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -262,0,0,-296,0,0,0,-375,0,0, + 0,0,0,0,0,0,0,0,0,-318, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-262,0, - 0,-296,0,0,0,-375,0,0,0,0, - 0,0,0,0,0,0,0,-318,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,-33,0,0,-204,-64, + 0,0,0,-414,0,0,0,-319,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,-328,0,0, - 0,0,0,-33,0,0,-204,-64,0,0, - 0,-414,0,0,0,-319,0,0,0,-60, 0,0,0,0,0,0,0,0,0,0, + 0,-257,0,-376,0,0,-34,0,0,0, + -39,0,0,0,-107,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-257, - 0,-376,0,0,-34,0,0,0,-39,0, - 0,0,-107,0,0,0,0,0,0,0, + 0,0,0,0,-287,0,0,0,0,0, + 0,0,0,0,-389,0,0,0,0,-184, + 0,0,0,0,-41,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-287,0,0,0,0,0,0,0, - 0,0,-389,0,0,0,0,-184,0,0, - 0,0,-41,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-35,0, + 0,0,0,0,-337,0,0,0,-469,0, + 0,0,0,0,0,0,0,-94,0,0, + 0,-354,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-35,0,0,0, - 0,0,-337,0,0,0,-469,0,0,0, - 0,0,0,0,0,-94,0,0,0,-354, + 0,-386,0,0,0,0,0,0,0,0, + 0,0,0,-36,0,0,0,0,0,0, + -95,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-386, 0,0,0,0,0,0,0,0,0,0, - 0,-36,0,0,0,0,0,0,-95,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-96,0,0,0,-113,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-478,0,0, + 0,0,0,-37,0,0,0,-528,0,-38, + 0,0,0,0,0,0,-97,0,0,0, + -525,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-96,0,0,0,-113,0,0,0,0, + 0,0,-40,0,0,-291,-143,0,0,-98, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-478,0,0,0,0, - 0,-37,0,0,0,-528,0,-38,0,0, - 0,0,0,0,-97,0,0,0,-525,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-55,0,0,0,0,0,-56, + 0,0,0,-529,0,-66,0,0,-67,-152, + 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,0,-69,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -40,0,0,-291,-143,0,0,-98,0,0, + 0,-332,-194,0,0,-100,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-55,0,0,0,0,0,-56,0,0, - 0,-529,0,-66,0,0,-67,-152,0,0, - -99,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-198,0,0,0,0, + 0,0,0,0,-70,-331,0,0,-101,0, + 0,0,-151,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-69,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-332, - -194,0,0,-100,0,0,0,0,0,0, + 0,0,-200,0,0,0,0,0,-203,0, + 0,0,0,0,0,0,0,-108,0,0, + 0,-102,0,0,0,-196,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-198,0,0,0,0,0,0, - 0,0,-70,-331,0,0,-101,0,0,0, - -151,0,0,0,0,0,0,0,0,0, + 0,-229,0,0,0,0,0,0,0,0, + -109,0,0,0,-103,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -200,0,0,0,0,0,-203,0,0,0, - 0,0,0,0,0,-108,0,0,0,-102, - 0,0,0,-196,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-210,0, + 0,0,0,0,-254,0,0,0,0,0, + -267,0,0,-110,0,0,0,-104,0,0, + 0,-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,-229, - 0,0,0,0,0,0,0,0,-109,0, - 0,0,-103,0,0,0,0,0,0,0, + 0,-111,0,0,0,0,0,-268,0,0, + 0,0,0,-131,0,0,-138,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,-210,0,0,0, - 0,0,-254,0,0,0,0,0,-267,0, - 0,-110,0,0,0,-104,0,0,0,-205, + 0,0,0,0,-112,0,0,0,0,0, + -270,0,0,0,0,0,-274,0,0,-373, + 0,0,0,-531,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,-111, - 0,0,0,0,0,-268,0,0,0,0, - 0,-131,0,0,-138,0,0,0,-211,0, + 0,0,0,0,0,0,0,-139,0,0, + 0,0,0,-278,0,0,0,-303,0,-140, + 0,0,0,-279,0,0,-345,0,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,0,0,0,0,-270,0, - 0,0,0,0,-274,0,0,-373,0,0, - 0,-531,0,0,0,-225,0,0,0,0, + -417,0,0,0,0,0,-286,0,0,0, + 0,0,-153,0,0,-356,0,0,0,-344, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-139,0,0,0,0, - 0,-278,0,0,0,-303,0,-140,0,0, - 0,-279,0,0,-345,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-417,0, - 0,0,0,0,-286,0,0,0,0,0, - -153,0,0,-356,0,0,0,-344,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-176,0,0,0,0,-435, + 0,0,0,-380,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-176,0,0,0,0,-435,0,0, - 0,-380,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-300,0,-154, + 0,0,-381,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-300,0,-154,0,0, - -381,0,0,0,0,0,0,0,0,0, + 0,0,-155,0,0,0,0,0,-233,0, + 0,-223,0,0,0,-355,-437,0,0,0, + -455,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -155,0,0,0,0,0,-233,0,0,-223, - 0,0,0,-355,-437,0,0,0,-455,0, + 0,0,0,0,-156,0,-265,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,0,0, - 0,0,-156,0,-265,0,0,-93,0,0, + 0,0,0,-148,0,0,0,-157,0,0, + 0,0,0,0,0,0,-158,-91,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-159,0,0,0,0,0,-365,0,0, + -92,0,0,0,-363,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-148,0,0,0,-157,0,0,0,0, - 0,0,0,0,-158,-91,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-159, - 0,0,0,0,0,-365,0,0,-92,0, - 0,0,-363,0,0,0,0,0,0,0, + -240,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,-240,0, - -88,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-160,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,-160,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,-90, - 0,0,0,-266,0,0,0,0,0,0, + 0,-90,0,0,0,-266,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-161,0,0,0,0,-396,0, + 0,0,0,0,0,-161,0,0,0,0, + -396,0,0,0,0,0,0,0,0,0, + 0,0,0,-82,0,0,0,-162,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-82,0,0,0,-162,0,0,0,0, + 0,0,0,0,0,0,0,-145,0,0, + 0,0,-490,-402,0,0,0,-403,0,0, + 0,-163,-283,-231,0,0,0,-385,0,0, + 0,0,0,-133,0,0,0,0,0,-272, + 0,0,0,-378,0,0,0,0,0,-164, + -298,0,0,0,-247,-83,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-145,0,0,0,0, - -490,-402,0,0,0,-403,0,0,0,-163, - -283,-231,0,0,0,-385,0,0,0,0, - 0,-133,0,0,0,0,0,-272,0,0, - 0,-378,0,0,0,0,0,-164,-298,0, - 0,0,-247,-83,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-404,-471,0,0,0,0, + 0,0,-165,0,0,0,-538,0,0,0, + -166,0,0,0,0,0,0,0,0,-311, + -421,0,0,-434,0,0,0,0,0,0, + 0,-248,0,0,0,-84,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-404,-471,0,0,0,0,0,0, - -165,0,0,0,-538,0,0,0,-166,0, - 0,0,0,0,0,0,0,-311,-421,0, - 0,-434,0,0,0,0,0,0,0,-248, - 0,0,0,-84,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-85,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-85,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-322,0,0, + 0,-235,0,0,0,0,0,0,0,0, + 0,0,0,0,-452,0,0,-190,0,0, + 0,-167,-305,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-322,0,0,0,-235, + -127,0,0,0,-399,-52,0,0,0,0, + 0,0,-514,0,0,-238,0,0,0,0, + 0,0,0,0,-168,0,0,-249,-142,0, + 0,0,0,-250,0,-169,-388,0,0,0, + 0,0,0,0,0,0,0,0,-321,0, + 0,0,-284,0,0,0,0,0,-392,0, + -433,0,0,0,0,0,0,0,0,0, + -193,0,0,0,0,0,-472,0,0,0, + -122,0,0,-304,0,0,0,0,0,-181, + 0,0,0,0,0,-232,0,0,0,0, + 0,-308,0,0,0,0,-170,0,0,0, + 0,0,0,0,0,0,0,-512,-171,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-452,0,0,-190,0,0,0,-167, - -305,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-127,0, - 0,0,-399,-52,0,0,0,0,0,0, - -514,0,0,-238,0,0,0,0,0,0, - 0,0,-168,0,0,-249,-142,0,0,0, - 0,-250,0,-169,-388,0,0,0,0,0, - 0,0,0,0,0,0,-321,0,0,0, - -284,0,0,0,0,0,-392,0,-433,0, - 0,0,0,0,0,0,0,0,-193,0, - 0,0,0,0,-472,0,0,0,-122,0, - 0,-304,0,0,0,0,0,-181,0,0, - 0,0,0,-232,0,0,0,0,0,-308, - 0,0,0,0,-170,0,0,0,0,0, - 0,0,0,0,0,-512,-171,0,0,0, + 0,0,0,0,0,0,0,0,-172,0, + -448,0,0,0,-351,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-347, + -173,-446,0,0,0,0,0,0,0,-86, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-172,0,-448,0, - 0,0,-351,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-347,-173,-446, - 0,0,0,0,0,0,0,-86,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-174,0,0,-87,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-174,0,0,-87,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-453,0, - 0,-175,0,-150,0,0,0,0,0,0, - 0,0,0,0,0,0,-479,0,0,0, - -498,0,0,-209,0,0,0,-178,0,-48, - -309,0,0,0,0,-179,-237,0,0,-359, - 0,0,-180,0,-320,0,0,0,0,0, - 0,0,0,0,0,-294,-183,0,0,0, - 0,-124,-243,0,-361,0,0,0,0,0, - 0,0,0,0,-530,0,0,0,0,0, - 0,0,0,0,0,0,0,-77,0,0, + -453,0,0,-175,0,-150,0,0,0,0, + 0,0,0,0,0,0,0,0,-479,0, + 0,0,-498,0,0,-209,0,0,0,-178, + 0,-48,-309,0,0,0,0,-179,-237,0, + 0,-359,0,0,-180,0,-320,0,0,0, + 0,0,0,0,0,0,0,-294,-183,0, + 0,0,0,-124,-243,0,-361,0,0,0, + 0,0,0,0,0,0,-530,0,0,0, + 0,0,0,0,0,0,0,0,0,-77, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-352,0,-464,0,-191,-259,0,0,0, - 0,-468,0,-326,0,0,0,0,0,0, - 0,-192,-61,0,0,0,0,0,0,0, + 0,0,0,-352,0,-464,0,-191,-259,0, + 0,0,0,-468,0,-326,0,0,0,0, + 0,0,0,-192,-61,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-325,0,0,0,0,0,0,0, - 0,0,0,0,0,-457,0,0,0,0, - -78,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-325,0,0,0,0,0, + 0,0,0,0,0,0,0,-457,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,-418,0,-149,0,0,0, - 0,0,0,-42,0,-195,0,0,0,0, - 0,0,0,0,-295,-206,0,0,-462,0, - 0,0,0,-216,0,0,0,0,0,-217, - 0,-226,0,0,-18,0,0,0,0,-234, - 0,0,0,0,0,0,0,0,0,-412, - 0,-43,-236,0,0,0,-485,0,0,-353, - 0,0,0,-244,0,0,0,0,0,0, - 0,0,0,0,0,0,-253,-258,0,0, - 0,-239,0,0,0,0,0,0,0,0, - 0,0,0,0,-487,0,0,0,0,0, - -260,-282,-323,0,0,0,0,0,0,0, - 0,0,0,0,-245,0,0,0,0,-246, + 0,0,0,0,0,0,-418,0,-149,0, + 0,0,0,0,0,-42,0,-195,0,0, + 0,0,0,0,0,0,-295,-206,0,0, + -462,0,0,0,0,-216,0,0,0,0, + 0,-217,0,-226,0,0,-18,0,0,0, + 0,-234,0,0,0,0,0,0,0,0, + 0,-412,0,-43,-236,0,0,0,-485,0, + 0,-353,0,0,0,-244,0,0,0,0, + 0,0,0,0,0,0,0,0,-253,-258, + 0,0,0,-239,0,0,0,0,0,0, + 0,0,0,0,0,0,-487,0,0,0, + 0,0,-260,-282,-323,0,0,0,0,0, + 0,0,0,0,0,0,-245,0,0,0, + 0,-246,0,0,0,0,0,0,0,0, + 0,0,0,0,-504,0,0,-317,0,0, + 0,-350,-362,0,0,0,0,0,0,0, + 0,0,0,0,-273,0,0,0,0,-390, + -261,0,0,0,0,0,0,0,0,0, + 0,0,-518,0,0,-333,0,0,0,0, + -336,0,0,0,0,0,0,0,0,0, + 0,0,0,-339,-341,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-504,0,0,-317,0,0,0,-350, - -362,0,0,0,0,0,0,0,0,0, - 0,0,-273,0,0,0,0,-390,-261,0, - 0,0,0,0,0,0,0,0,0,0, - -518,0,0,-333,0,0,0,0,-336,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-339,-341,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-520,0, - 0,-358,0,0,-276,0,-73,0,0,0, - 0,0,0,0,0,0,0,-367,0,0, - -475,0,0,0,0,-271,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-277, - -391,0,-288,0,0,0,0,0,-466,0, - 0,0,0,0,0,-185,0,0,0,-47, - 0,0,0,-292,-293,0,-301,0,0,0, - 0,0,0,0,-522,0,0,0,0,0, + -520,0,0,-358,0,0,-276,0,-73,0, + 0,0,0,0,0,0,0,0,0,-367, + 0,0,-475,0,0,0,0,-271,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-277,-391,0,-288,0,0,0,0,0, + -466,0,0,0,0,0,0,-185,0,0, + 0,-47,0,0,0,-292,-293,0,-301,0, + 0,0,0,0,0,0,-522,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -372,0,0,0,-416,-269,0,0,0,0, - 0,-524,0,0,0,0,-263,0,0,0, - 0,0,0,0,0,0,0,0,0,-302, - -313,0,-420,-44,-135,0,0,0,0,-334, - -307,0,-413,0,0,0,-315,0,0,0, - 0,0,-424,-470,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-425,-473, - 0,0,0,0,-467,0,0,0,0,0, - 0,0,0,0,0,0,0,-316,0,0, - -68,0,0,-539,0,0,-327,0,-285,0, - 0,0,0,0,-346,0,-348,0,0,0, - 0,-45,-360,0,-364,0,-441,0,-368,-371, - 0,-429,0,0,-384,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-480, + 0,0,-372,0,0,0,-416,-269,0,0, + 0,0,0,-524,0,0,0,0,-263,0, 0,0,0,0,0,0,0,0,0,0, - -544,0,-465,-397,0,-74,0,0,-476,0, - 0,-536,0,0,0,0,0,0,0,-312, + 0,-302,-313,0,-420,-44,-135,0,0,0, + 0,-334,-307,0,-413,0,0,0,-315,0, + 0,0,0,0,-424,-470,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-398,0,-400,-432,0,0,0,0,0, - 0,0,0,0,0,0,-474,0,0,0, - 0,0,0,0,0,0,0,-542,-401,-407, - 0,0,0,0,0,0,-409,0,-505,0, - 0,0,0,0,0,0,-79,0,0,0, - -415,0,0,0,0,0,0,0,0,0, + -425,-473,0,0,0,0,-467,0,0,0, + 0,0,0,0,0,0,0,0,0,-316, + 0,0,-68,0,0,-539,0,0,-327,0, + -285,0,0,0,0,0,-346,0,-348,0, + 0,0,0,-45,-360,0,-364,0,-441,0, + -368,-371,0,-429,0,0,-384,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -80,0,0,0,0,0,0,0,0,0, + 0,-480,0,0,0,0,0,0,0,0, + 0,0,-544,0,-465,-397,0,-74,0,0, + -476,0,0,-536,0,0,0,0,0,0, + 0,-312,0,0,0,0,0,0,0,0, + 0,0,0,-398,0,-400,-432,0,0,0, + 0,0,0,0,0,0,0,0,-474,0, + 0,0,0,0,0,0,0,0,0,-542, + -401,-407,0,0,0,0,0,0,-409,0, + -505,0,0,0,0,0,0,0,-79,0, + 0,0,-415,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-81,0,0,0,-423,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,-20,0, - 0,0,-430,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-81,0,0,0, + -423,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, + -20,0,0,0,-430,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-22,0,0,0,-431,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,0,0,-23,0,0, + 0,0,0,0,0,0,-22,0,0,0, + -431,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, - -24,0,0,0,-454,0,0,0,0,0, + 0,0,-24,0,0,0,-454,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-25,0,0,0,-456,0,0, + 0,0,0,0,0,-25,0,0,0,-456, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-26,0,0,0, - -458,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-27, - 0,0,0,-459,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-26,0, + 0,0,-458,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-63,0,0,0,-460,0,0,0, + 0,-27,0,0,0,-459,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-75,0,0,0,-461, + 0,0,0,0,-63,0,0,0,-460,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-76,0, - 0,0,-463,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-75,0,0, + 0,-461,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-132,0,0,0,-481,0,0,0,0, + -76,0,0,0,-463,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-201,0,0,0,-483,0, + 0,0,0,-132,0,0,0,-481,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-379,0,0, + 0,0,0,0,0,0,-201,0,0,0, + -483,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-379, 0,0,0,0,0,0,0,0,0,0, - -493,-445,0,0,0,0,0,0,0,0, - 0,0,0,0,-477,-105,-484,-496,0,0, - -366,0,-486,-500,0,-491,-410,0,-495,-443, - -46,0,-394,0,0,-502,0,-509,-290,0, - -510,0,-519,0,0,0,0,0,0,-527, - -532,0,0,-374,0,0,0,0,-494,0, - 0,0,0,-501,0,0,0,0,0,0, - -543,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-212, - -213,-533,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-182,0,0,0, - 0,0,0,0,-442,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-440,0, + 0,0,-493,-445,0,0,0,0,0,0, + 0,0,0,0,0,0,-477,-105,-484,-496, + 0,0,-366,0,-486,-500,0,-491,-410,0, + -495,-443,-46,0,-394,0,0,-502,0,-509, + -290,0,-510,0,-519,0,0,0,0,0, + 0,-527,-532,0,0,-374,0,0,0,0, + -494,0,0,0,0,-501,0,0,0,0, + 0,0,-543,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-507,-511,0,-517,0,-521,0,0,-214, - 0,0,0,0,0,0,0,-189,0,0, + 0,-212,-213,-533,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-182,0, + 0,0,0,0,0,0,-442,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -125,0,0,0,0,0,-144,0,0,0, - 0,0,-499,0,0,0,0,0,-515,0, + -440,0,0,0,0,0,0,0,0,0, + 0,0,0,-507,-511,0,-517,0,-521,0, + 0,-214,0,0,0,0,0,0,0,-189, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-306,0,0,0,0, - 0,0,0,0,0,0,0,0,-227,0, - 0,0,0,-516,0,-535,0,0,0,0, - 0,0,-526,0,-343,0,0,0,-534,0, - 0,0,0,0,0,0,0,-540,0,0, - 0,-215,0,0,0,0,0,0,0,0, + 0,0,-125,0,0,0,0,0,-144,0, + 0,0,0,0,-499,0,0,0,0,0, + -515,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-306,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-251,0,0,0, + -227,0,0,0,0,-516,0,-535,0,0, + 0,0,0,0,-526,0,-343,0,0,0, + -534,0,0,0,0,0,0,0,0,-540, + 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,0,-541,0,0,0, - 0,0,-383,0,0,0,0,0,0,0, - 0,0,0,0,0,-506,0,0,0,0, + 0,0,0,0,0,0,0,0,-251,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-503,0,-338,0,0,0,0,0, - 0,0,0,-252,-427,-202,-369,0,0,0, + 0,0,0,0,0,0,0,0,-541,0, + 0,0,0,0,-383,0,0,0,0,0, + 0,0,0,0,0,0,0,-506,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-503,0,-338,0,0,0, + 0,0,0,0,0,-252,-427,-202,-369,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-289,0,-393,-523,0,0,0,0, - 0,0,0,0,0,0,-419,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-289,0,-393,-523,0,0, + 0,0,0,0,0,0,0,0,-419,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-230,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-428,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,-230,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-428,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,-436,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,-222,0,0,0,0,0,0, - 0,0,0,0,-264,0,0,0,0,0, - -197,0,0,0,0,0,0,0,0,-324, + 0,0,0,0,-436,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,-222,0,0,0,0, + 0,0,0,0,0,0,-264,0,0,0, + 0,0,-197,0,0,0,0,0,0,0, + 0,-324,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-280,0,0,0,0,0, + 0,0,0,0,0,0,-280,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-340,0,0,0,-449,0,0,0, + 0,0,0,0,-340,0,0,0,-449,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -349,0,0,0,0,0,0,0,-450,0, - 0,0,0,0,0,0,0,-387,0,0, - 0,-408,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-411,0,0,0,-426, + 0,0,-349,0,0,0,0,0,0,0, + -450,0,0,0,0,0,0,0,0,-387, + 0,0,0,-408,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-411,0,0, + 0,-426,0,0,0,0,0,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,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-508,0,0, + 0,0,0,0,0,0,0,-438,0,0, + 0,0,0,0,0,0,-488,0,0,0, + 0,-439,0,0,0,-447,0,0,0,0, + 0,0,0,-17,0,0,0,0,0,0, + 0,0,-199,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-438,0,0,0,0, - 0,0,0,0,-488,0,0,0,0,-439, - 0,0,0,-447,0,0,0,0,0,0, - 0,-17,0,0,0,0,0,0,0,0, - -199,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,0,0,0,0, - 0,0,0,0,0,0,-14,0,0,0, - 0,0,0,0,0,0,0,0,-489,-492, - 0,0,0,0,0,0,0,-451,0,0, - 0,0,0,0,-208,0,0,0,-256,0, - 0,0,0,0,0,0,-497,0,0,0, + -489,-492,0,0,0,0,0,0,0,-451, + 0,0,0,0,0,0,-208,0,0,0, + -256,0,0,0,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,0,0, @@ -543,7 +543,7 @@ public class CPPSizeofExpressionParserprs 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 }; }; public final static short baseCheck[] = BaseCheck.baseCheck; @@ -572,531 +572,531 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 180,180,91,203,203,69,69,69,69,69, 69,69,69,69,70,70,70,67,67,56, 56,181,181,71,71,71,102,102,182,182, - 72,72,72,183,183,73,73,73,73,73, - 74,74,83,83,83,83,83,83,83,83, - 51,51,51,51,51,115,115,113,113,52, - 184,24,24,24,24,24,49,49,86,86, - 86,86,86,153,153,148,148,148,148,148, - 149,149,149,150,150,150,151,151,151,152, - 152,152,87,87,87,87,87,88,88,88, - 13,14,14,14,14,14,14,14,14,14, - 14,14,97,119,119,119,119,119,119,117, - 117,117,154,155,155,118,118,185,157,157, - 156,156,121,121,103,80,80,122,54,48, - 158,158,55,53,85,85,159,159,147,147, - 123,124,124,125,77,77,160,160,64,64, - 64,60,60,59,65,65,76,76,58,58, - 58,50,89,89,99,98,98,63,63,61, - 61,62,62,46,100,100,100,92,92,92, - 93,93,94,94,94,95,95,104,104,104, - 106,106,105,105,204,204,90,90,187,187, - 187,187,187,127,47,47,162,186,186,128, - 128,129,129,129,130,164,188,188,34,34, - 116,131,131,131,131,190,108,107,107,120, - 120,120,165,166,166,166,166,166,166,166, - 166,166,166,166,192,192,189,189,191,191, - 167,168,168,168,168,169,193,110,109,109, - 194,194,170,170,170,170,101,101,101,195, - 195,8,8,9,196,196,197,171,161,161, - 172,172,173,174,174,7,7,10,198,198, + 72,72,72,72,183,183,73,73,73,73, + 73,74,74,83,83,83,83,83,83,83, + 83,51,51,51,51,51,115,115,113,113, + 52,184,24,24,24,24,24,49,49,86, + 86,86,86,86,153,153,148,148,148,148, + 148,149,149,149,150,150,150,151,151,151, + 152,152,152,87,87,87,87,87,88,88, + 88,13,14,14,14,14,14,14,14,14, + 14,14,14,97,119,119,119,119,119,119, + 117,117,117,154,155,155,118,118,185,157, + 157,156,156,121,121,103,80,80,122,54, + 48,158,158,55,53,85,85,159,159,147, + 147,123,124,124,125,77,77,160,160,64, + 64,64,60,60,59,65,65,76,76,58, + 58,58,50,89,89,99,98,98,63,63, + 61,61,62,62,46,100,100,100,92,92, + 92,93,93,94,94,94,95,95,104,104, + 104,106,106,105,105,204,204,90,90,187, + 187,187,187,187,127,47,47,162,186,186, + 128,128,129,129,129,130,164,188,188,34, + 34,116,131,131,131,131,190,108,107,107, + 120,120,120,165,166,166,166,166,166,166, + 166,166,166,166,166,192,192,189,189,191, + 191,167,168,168,168,168,169,193,110,109, + 109,194,194,170,170,170,170,101,101,101, + 195,195,8,8,9,196,196,197,171,161, + 161,172,172,173,174,174,7,7,10,198, 198,198,198,198,198,198,198,198,198,198, 198,198,198,198,198,198,198,198,198,198, 198,198,198,198,198,198,198,198,198,198, 198,198,198,198,198,198,198,198,198,198, - 78,81,81,175,175,133,133,134,134,134, - 134,134,134,3,135,135,132,132,111,111, - 84,79,75,163,163,112,112,199,199,199, - 136,136,126,126,200,200,176,176,1119,35, - 2068,2056,2243,2767,27,30,31,961,967,26, - 28,1985,260,25,23,50,1016,104,75,76, - 106,1095,1425,1188,1176,1374,1220,1497,241,1425, - 1632,1552,272,1638,56,1681,141,838,692,156, - 142,2799,2580,1888,35,945,32,4630,4655,27, - 30,31,961,967,339,28,1773,3066,35,945, - 32,230,3195,27,30,31,961,967,26,28, - 933,260,25,23,50,1016,85,75,76,351, - 588,35,3190,2249,233,228,229,1196,664,499, - 1500,35,945,32,3430,273,41,30,31,961, - 967,1278,319,2072,321,180,3237,314,2062,588, - 1755,1982,34,154,240,243,246,249,949,352, - 3263,1010,664,536,1714,35,945,32,73,826, - 40,30,31,961,967,344,966,794,349,2624, - 327,35,278,1864,668,4228,860,732,735,2819, - 3022,4241,2316,35,945,32,2744,3195,27,30, - 31,961,967,26,28,933,260,25,23,50, - 1016,104,75,76,106,1095,343,1188,1176,1374, - 1220,1497,883,1425,1632,1552,1010,1638,312,1681, - 141,499,1225,518,142,1240,4289,2244,3093,1217, - 35,945,32,499,3157,27,30,31,961,967, - 57,28,135,1143,519,2316,35,945,32,2744, - 3195,27,30,31,961,967,26,28,933,260, - 25,23,50,1016,104,75,76,106,1095,343, - 1188,1176,1374,1220,1497,56,1425,1632,1552,755, - 1638,524,1681,141,1987,230,518,142,230,641, - 71,3093,3237,514,1860,35,945,32,461,3157, - 27,30,31,961,967,56,28,519,242,228, - 229,245,228,229,2988,1351,1330,2996,2581,1267, - 2316,35,945,32,2744,3195,27,30,31,961, - 967,26,28,933,260,25,23,50,1016,104, - 75,76,106,1095,343,1188,1176,1374,1220,1497, - 3347,1425,1632,1552,1390,1638,514,1681,141,1468, - 353,518,142,237,260,2218,3093,588,3507,61, - 327,35,278,499,1330,4841,1330,3003,4517,2226, - 2996,1148,519,2524,35,945,32,2744,3195,27, - 30,31,961,967,26,28,933,260,25,23, - 50,1016,104,75,76,106,1095,343,1188,1176, - 1374,1220,1497,230,1425,1632,1552,577,1638,577, - 1681,141,1599,1016,518,142,1273,391,428,3093, - 376,514,376,221,60,2234,238,228,229,1229, - 1714,35,945,32,1010,519,2366,30,31,961, - 967,2532,3092,42,3176,2996,1612,2558,2659,35, - 945,32,1614,3195,27,30,31,961,967,26, - 28,933,260,25,23,50,1016,104,75,76, - 106,1095,1994,1188,1176,1374,1220,1497,289,1425, - 1632,1552,2042,1638,515,1681,141,4177,498,379, - 142,4085,2385,35,945,32,2245,3195,27,30, - 31,961,967,26,28,933,260,25,23,50, - 1016,104,75,76,106,1095,460,1188,1176,1374, - 1220,1497,354,1425,1632,1552,374,1638,3645,1681, - 141,1939,3017,379,142,4085,2832,35,945,32, - 4109,3195,27,30,31,961,967,26,28,933, - 260,25,23,50,1016,104,75,76,106,1095, - 3668,1188,1176,1374,1220,1497,56,1425,1632,1552, - 830,1638,1330,3166,162,413,386,380,1626,3121, - 35,945,32,731,3195,27,30,31,961,967, - 26,28,933,260,25,23,50,1016,104,75, - 76,106,1095,322,1188,1176,1374,1220,1497,444, - 1425,1632,1552,1453,2857,2019,3413,737,327,3426, - 387,380,1626,2484,1092,92,2690,1771,588,35, - 1727,389,2591,35,945,32,4303,3195,27,30, - 31,961,967,26,28,933,260,25,23,50, - 1016,104,75,76,106,1095,1446,1188,1176,1374, - 1220,1497,49,1425,1632,1552,1890,1638,64,1681, - 141,390,46,379,142,4085,2887,35,945,32, - 3500,3195,27,30,31,961,967,26,28,933, - 260,25,23,50,1016,104,75,76,106,1095, - 2217,1188,1176,1374,1220,1497,2479,1425,1632,1552, - 4487,1638,1330,1681,141,328,335,156,142,3121, - 35,945,32,1614,3195,27,30,31,961,967, - 26,28,933,260,25,23,50,1016,104,75, - 76,106,1095,135,1188,1176,1374,1220,1497,3493, - 1425,1632,1552,2042,1638,3339,3166,162,4177,4012, - 377,380,1626,2887,35,945,32,135,3195,27, - 30,31,961,967,26,28,933,260,25,23, - 50,1016,104,75,76,106,1095,884,1188,1176, - 1374,1220,1497,329,1425,1632,1552,448,1638,236, - 1681,141,135,3017,373,142,1714,35,945,32, - 2373,332,2603,30,31,961,967,1933,2887,35, - 945,32,668,3195,27,30,31,961,967,26, - 28,933,260,25,23,50,1016,104,75,76, - 106,1095,2828,1188,1176,1374,1220,1497,1994,1425, - 1632,1552,3334,1638,587,1681,141,2034,1017,373, - 142,1002,588,35,1727,389,2887,35,945,32, - 1614,3195,27,30,31,961,967,26,28,933, - 260,25,23,50,1016,104,75,76,106,1095, - 372,1188,1176,1374,1220,1497,432,1425,1632,1552, - 2556,1638,2690,1681,141,1226,24,373,142,2457, - 35,945,32,1614,3195,27,30,31,961,967, - 26,28,933,260,25,23,50,1016,104,75, - 76,106,1095,2579,1188,1176,1374,1220,1497,405, - 1425,1632,1552,1876,1638,371,1681,141,56,68, - 140,142,4604,2887,35,945,32,2066,3195,27, - 30,31,961,967,26,28,933,260,25,23, - 50,1016,104,75,76,106,1095,1355,1188,1176, - 1374,1220,1497,1330,1425,1632,1552,1330,1638,3025, - 1681,141,3413,369,157,142,2887,35,945,32, - 2580,3195,27,30,31,961,967,26,28,933, - 260,25,23,50,1016,104,75,76,106,1095, - 314,1188,1176,1374,1220,1497,3388,1425,1632,1552, - 577,1638,486,1681,141,4247,91,153,142,2887, - 35,945,32,4088,3195,27,30,31,961,967, - 26,28,933,260,25,23,50,1016,104,75, - 76,106,1095,886,1188,1176,1374,1220,1497,356, - 1425,1632,1552,448,1638,86,1681,141,100,532, - 152,142,2887,35,945,32,1614,3195,27,30, - 31,961,967,26,28,933,260,25,23,50, - 1016,104,75,76,106,1095,1330,1188,1176,1374, - 1220,1497,1506,1425,1632,1552,1330,1638,1146,1681, - 141,439,53,151,142,2887,35,945,32,2800, - 3195,27,30,31,961,967,26,28,933,260, - 25,23,50,1016,104,75,76,106,1095,4094, - 1188,1176,1374,1220,1497,2775,1425,1632,1552,577, - 1638,1616,1681,141,1227,1010,150,142,2887,35, - 945,32,526,3195,27,30,31,961,967,26, - 28,933,260,25,23,50,1016,104,75,76, - 106,1095,1733,1188,1176,1374,1220,1497,1984,1425, - 1632,1552,1330,1638,1174,1681,141,2559,1010,149, - 142,2887,35,945,32,3503,3195,27,30,31, - 961,967,26,28,933,260,25,23,50,1016, - 104,75,76,106,1095,1323,1188,1176,1374,1220, - 1497,524,1425,1632,1552,577,1638,4035,1681,141, - 1227,1010,148,142,2887,35,945,32,525,3195, - 27,30,31,961,967,26,28,933,260,25, - 23,50,1016,104,75,76,106,1095,69,1188, - 1176,1374,1220,1497,56,1425,1632,1552,2997,1638, - 51,1681,141,1441,1010,147,142,2887,35,945, - 32,1614,3195,27,30,31,961,967,26,28, - 933,260,25,23,50,1016,104,75,76,106, - 1095,1818,1188,1176,1374,1220,1497,56,1425,1632, - 1552,992,1638,326,1681,141,160,52,146,142, - 2887,35,945,32,1614,3195,27,30,31,961, - 967,26,28,933,260,25,23,50,1016,104, - 75,76,106,1095,70,1188,1176,1374,1220,1497, - 56,1425,1632,1552,3396,1638,95,1681,141,332, - 350,145,142,2887,35,945,32,664,3195,27, - 30,31,961,967,26,28,933,260,25,23, - 50,1016,104,75,76,106,1095,1334,1188,1176, - 1374,1220,1497,56,1425,1632,1552,1137,1638,56, - 1681,141,676,828,144,142,2887,35,945,32, - 1614,3195,27,30,31,961,967,26,28,933, - 260,25,23,50,1016,104,75,76,106,1095, - 848,1188,1176,1374,1220,1497,56,1425,1632,1552, - 2628,1638,2626,1681,141,1983,88,143,142,2887, - 35,945,32,664,3195,27,30,31,961,967, - 26,28,933,260,25,23,50,1016,104,75, - 76,106,1095,1279,1188,1176,1374,1220,1497,56, - 1425,1632,1552,3491,1638,56,1681,141,2297,3296, - 138,142,3005,35,945,32,1499,3195,27,30, - 31,961,967,26,28,933,260,25,23,50, - 1016,104,75,76,106,1095,3321,1188,1176,1374, - 1220,1497,2557,1425,1632,1552,499,1638,1453,1681, - 141,4673,1960,187,142,3121,35,945,32,2153, - 3195,27,30,31,961,967,26,28,933,260, - 25,23,50,1016,104,75,76,106,1095,1876, - 1188,1176,1374,1220,1497,56,1425,1632,1552,1368, - 1638,408,3166,162,3121,35,945,32,2041,3195, - 27,30,31,961,967,26,28,933,260,25, - 23,50,1016,104,75,76,106,1095,324,1188, - 1176,1374,1220,1497,1976,1425,1632,1552,325,1638, - 620,3166,162,588,35,1982,3184,403,588,35, - 1727,389,3121,35,945,32,424,3195,27,30, - 31,961,967,26,28,933,260,25,23,50, - 1016,104,75,76,106,1095,2066,1188,1176,1374, - 1220,1497,453,1425,1632,1552,307,1638,580,3166, - 162,3121,35,945,32,293,3195,27,30,31, - 961,967,26,28,933,260,25,23,50,1016, - 104,75,76,106,1095,355,1188,1176,1374,1220, - 1497,1015,1425,1632,1552,532,1638,1614,3166,162, - 588,35,2464,2285,322,588,35,1727,389,3176, - 35,945,32,423,3195,27,30,31,961,967, - 26,28,933,260,25,23,50,1016,104,75, - 76,106,1095,2025,1188,1176,1374,1220,1497,435, - 1425,1632,1552,1611,1638,221,3166,162,3121,35, - 945,32,426,3195,27,30,31,961,967,26, - 28,933,260,25,23,50,1016,104,75,76, - 106,1095,285,1188,1176,1374,1220,1497,1503,1425, - 1632,2774,1781,35,945,32,1873,4895,27,30, - 31,961,967,59,28,1223,3121,35,945,32, - 4093,3195,27,30,31,961,967,26,28,933, - 260,25,23,50,1016,104,75,76,106,1095, - 1544,1188,1176,1374,1220,1497,2717,1425,2720,3121, - 35,945,32,1010,3195,27,30,31,961,967, - 26,28,933,260,25,23,50,1016,104,75, - 76,106,1095,2840,1188,1176,1374,1220,1497,1614, - 2763,3121,35,945,32,407,3195,27,30,31, - 961,967,26,28,933,260,25,23,50,1016, - 104,75,76,106,1095,1559,1188,1176,1374,1220, - 2568,3121,35,945,32,2105,3195,27,30,31, - 961,967,26,28,933,260,25,23,50,1016, - 104,75,76,106,1095,96,1188,1176,1374,2611, - 3121,35,945,32,2691,3195,27,30,31,961, - 967,26,28,933,260,25,23,50,1016,104, - 75,76,106,1095,1674,1188,1176,1374,2619,1518, - 35,945,32,3300,4721,27,30,31,961,967, - 339,28,3121,35,945,32,2134,3195,27,30, - 31,961,967,26,28,933,260,25,23,50, - 1016,104,75,76,106,1095,56,1188,1176,2335, - 1196,2722,1243,35,397,538,1243,35,397,3017, - 2196,1250,2223,35,276,2744,2723,332,319,2072, - 321,4756,2042,314,2062,4108,1950,4177,588,35, - 281,154,327,35,454,2700,313,4742,1709,1425, - 178,3126,2991,1614,3121,35,945,32,4305,3195, - 27,30,31,961,967,26,28,933,260,25, - 23,50,1016,104,75,76,106,1095,193,1188, - 1176,2360,3017,2717,588,35,1727,389,3313,67, - 332,2352,306,310,542,2162,35,945,32,2425, - 4895,27,30,31,961,967,26,28,2581,2717, - 512,361,843,35,454,950,2629,4742,434,3763, - 1614,2809,299,3809,3121,35,945,32,3739,3195, - 27,30,31,961,967,26,28,933,260,25, - 23,50,1016,104,75,76,106,1095,219,1188, - 1176,2425,3121,35,945,32,66,3195,27,30, - 31,961,967,26,28,933,260,25,23,50, - 1016,104,75,76,106,1095,2512,1188,1176,2484, - 1400,35,945,32,3262,4655,27,30,31,961, - 967,339,28,1817,4788,194,588,35,1727,389, - 1515,1898,35,3567,32,3300,4721,27,30,31, - 961,967,339,28,447,3670,3677,392,428,929, - 35,1727,389,499,3231,35,1727,389,4760,2739, - 272,1243,35,397,2371,35,276,235,260,319, - 2072,321,664,1703,314,2062,1614,2240,35,1727, - 389,3017,1614,49,572,322,352,3410,272,332, - 319,2072,321,1724,3076,314,2062,588,35,1727, - 389,1614,344,966,794,349,2716,322,2898,259, - 3375,49,65,538,451,3670,3677,230,64,1976, - 4305,1724,1841,274,4177,588,35,1727,389,1606, - 3559,272,1469,226,2716,523,1146,3084,1868,154, - 233,228,229,4177,588,35,1982,275,178,3126, - 56,273,577,286,2883,1777,201,213,4589,433, - 200,210,211,212,214,167,1817,1374,4120,3017, - 240,243,246,249,949,296,166,333,181,165, - 168,169,170,171,172,826,679,2244,3017,588, - 35,294,230,2581,340,352,333,366,418,420, - 3565,620,860,732,735,2819,3022,4241,2729,2344, - 2717,346,966,794,349,248,228,229,3121,35, - 945,32,2118,3195,27,30,31,961,967,26, - 28,933,260,25,23,50,1016,104,75,76, - 106,1095,2380,1188,2506,3121,35,945,32,303, - 3195,27,30,31,961,967,26,28,933,260, - 25,23,50,1016,104,75,76,106,1095,1, - 1188,2540,2418,538,1781,35,945,32,523,4895, - 27,30,31,961,967,58,28,588,35,294, - 2959,1876,3600,226,757,35,1727,389,2076,154, - 1354,56,394,428,1196,3072,1906,1875,178,3126, - 1875,2744,577,2081,2744,56,201,213,4589,3000, - 200,210,211,212,214,167,1614,1096,272,1649, - 158,2700,1780,2440,2700,2579,166,179,182,165, - 168,169,170,171,172,2062,35,945,32,3262, - 4655,27,30,31,961,967,339,28,3121,35, - 945,32,55,3195,27,30,31,961,967,26, - 28,933,260,25,23,50,1016,104,75,76, - 106,1095,2581,2111,588,4071,2417,1789,35,294, - 4134,3224,588,4099,56,230,1606,360,3573,1148, - 360,422,2236,2147,319,2072,321,2552,71,314, - 2062,2791,3200,3213,3318,3200,3213,323,251,228, - 229,352,527,1363,35,945,32,532,4721,27, - 30,31,961,967,339,28,2717,344,966,794, - 349,3121,35,945,32,528,3195,27,30,31, - 961,967,26,28,933,260,25,23,50,1016, - 104,75,76,106,1095,322,2198,932,35,1727, - 389,44,3176,3017,56,177,49,87,1196,352, - 100,333,319,2072,321,1614,1324,315,2062,345, - 2196,393,428,538,2515,344,966,794,349,352, - 2552,49,2627,342,154,2212,35,1727,389,1232, - 69,1724,1927,226,1433,346,966,794,349,154, - 499,54,56,2082,2984,4806,2744,431,178,3126, - 2135,538,577,295,2408,4738,201,213,4589,49, - 200,210,211,212,214,167,343,2448,2208,1724, - 562,226,1643,35,1982,275,166,154,4096,165, - 168,169,170,171,172,517,178,3126,3093,538, - 577,2652,2042,1614,201,213,4589,4177,200,210, - 211,212,214,167,1856,588,3434,1982,73,226, - 1643,35,1982,3435,166,154,176,165,168,169, - 170,171,172,603,178,3126,737,538,577,322, - 2042,1614,201,213,4589,4177,200,210,211,212, - 214,167,3017,588,35,1982,277,226,1614,2505, - 332,2546,166,154,174,165,168,169,170,171, - 172,689,178,3126,56,538,577,99,3575,56, - 201,213,4589,4091,200,210,211,212,214,167, - 3017,3113,56,56,3465,226,4124,1422,332,3500, - 166,154,175,165,168,169,170,171,172,775, - 178,3126,56,538,577,1778,1463,1354,201,213, - 4589,1196,200,210,211,212,214,167,56,4373, - 430,322,4103,226,3372,335,2078,3507,166,154, - 185,165,168,169,170,171,172,158,178,3126, - 2516,56,577,2585,3585,2099,201,213,4589,2717, - 200,210,211,212,214,167,1243,35,3192,2036, - 588,35,1727,389,2693,2615,166,2453,4121,165, - 168,169,170,171,172,1691,35,945,32,3300, - 4655,27,30,31,961,967,339,28,196,304, - 49,1789,3642,294,49,56,2449,35,279,3577, - 1724,2240,861,1821,1724,2013,538,1490,35,945, - 32,2721,4655,27,30,31,961,967,339,28, - 2699,2078,3507,56,56,2276,226,4185,2744,4621, - 737,2618,154,499,319,2072,321,2689,4820,314, - 2062,178,3126,1614,1614,577,404,288,343,201, - 213,4589,313,200,210,211,212,214,167,499, - 2340,351,3630,943,4824,2717,316,3501,321,166, - 3093,190,165,168,169,170,171,172,2728,2900, - 452,56,582,3548,947,1196,1899,2622,538,588, - 35,1982,3557,3500,2196,2714,530,2683,306,310, - 542,352,56,737,195,737,2744,737,226,1167, - 2734,154,56,1232,154,2750,4677,344,966,794, - 349,1390,4309,178,3126,1864,343,577,334,335, - 2717,201,213,4589,3739,200,210,211,212,214, - 167,1033,288,2722,1588,538,56,1196,3093,1614, - 1196,166,415,184,165,168,169,170,171,172, - 588,35,1982,280,1942,226,3500,2822,3500,302, - 3500,154,2735,154,2346,56,154,1520,3548,2713, - 178,3126,198,4129,577,378,1728,56,201,213, - 4589,2981,200,210,211,212,214,167,415,2716, - 2790,3411,335,330,335,3657,335,2757,166,1614, - 192,165,168,169,170,171,172,3121,35,945, - 32,2761,3195,27,30,31,961,967,26,28, - 933,260,25,23,50,1016,104,75,76,106, - 2231,3121,35,945,32,3331,3195,27,30,31, - 961,967,26,28,933,260,25,23,50,1016, - 104,75,76,106,2283,3121,35,945,32,2791, - 3195,27,30,31,961,967,26,28,933,260, - 25,23,50,1016,104,75,76,106,2326,3121, - 35,945,32,2747,3195,27,30,31,961,967, - 26,28,933,260,25,23,50,1016,104,75, - 76,84,3121,1755,945,1813,382,3195,27,30, - 31,961,967,26,28,933,260,25,23,50, - 1016,104,75,76,83,3121,35,945,32,2751, - 3195,27,30,31,961,967,26,28,933,260, - 25,23,50,1016,104,75,76,82,3121,35, - 945,32,381,3195,27,30,31,961,967,26, - 28,933,260,25,23,50,1016,104,75,76, - 81,3121,35,945,32,2782,3195,27,30,31, - 961,967,26,28,933,260,25,23,50,1016, - 104,75,76,80,3121,35,945,32,2789,3195, - 27,30,31,961,967,26,28,933,260,25, - 23,50,1016,104,75,76,79,3121,35,945, - 32,87,3195,27,30,31,961,967,26,28, - 933,260,25,23,50,1016,104,75,76,78, - 3121,35,945,32,2763,3195,27,30,31,961, - 967,26,28,933,260,25,23,50,1016,104, - 75,76,77,2950,35,945,32,2765,3195,27, - 30,31,961,967,26,28,933,260,25,23, - 50,1016,104,75,76,102,3121,35,945,32, - 2769,3195,27,30,31,961,967,26,28,933, - 260,25,23,50,1016,104,75,76,108,3121, - 35,945,32,2773,3195,27,30,31,961,967, - 26,28,933,260,25,23,50,1016,104,75, - 76,107,3121,35,945,32,2375,3195,27,30, - 31,961,967,26,28,933,260,25,23,50, - 1016,104,75,76,105,3121,35,945,32,2774, - 3195,27,30,31,961,967,26,28,933,260, - 25,23,50,1016,104,75,76,103,1988,35, - 3567,32,3300,4655,27,30,31,961,967,339, - 28,2717,1952,35,945,32,3300,4655,27,30, - 31,961,967,339,28,56,56,173,56,4253, - 1196,1562,2856,2792,56,2744,2548,2135,968,2793, - 56,56,4738,1823,1196,2744,2855,2744,56,2152, - 199,2795,3445,2796,4177,226,154,319,2072,321, - 2872,2788,314,2062,2646,343,2845,226,2744,2717, - 3619,319,2072,321,2717,2898,314,2062,203,213, - 4589,1337,202,210,211,212,214,3093,2700,313, - 203,213,4589,5432,202,210,211,212,214,3017, - 56,56,2481,1970,1196,1196,1196,4109,197,204, - 206,208,3319,298,215,205,207,588,35,1727, - 389,204,206,208,3319,1910,215,205,207,2744, - 154,154,154,5432,5432,307,310,542,2546,1617, - 2573,2640,160,2744,2797,5432,4475,5432,5432,226, - 5432,49,1614,1614,506,2343,3155,2717,4475,3035, - 56,1724,752,343,1196,419,420,3565,588,35, - 1727,389,203,213,4589,531,202,210,211,212, - 214,3280,35,1727,389,3093,2739,2165,3369,3472, - 154,2744,94,322,236,260,4162,503,505,1614, - 2766,534,49,204,206,208,3319,431,215,205, - 207,343,1724,2542,5432,272,1952,35,945,32, - 3300,4655,27,30,31,961,967,339,28,932, - 35,1727,389,1377,1614,1636,1614,5432,3391,3644, - 4475,5432,5432,1878,230,2070,35,945,32,2717, - 4721,27,30,31,961,967,339,28,1614,5432, - 5432,383,56,49,5432,5432,1196,234,228,229, - 1722,5432,4367,1724,47,319,2072,321,273,5432, - 314,2062,4318,5432,5432,5432,3466,1354,220,5432, - 5432,1196,154,3263,3611,3017,5432,241,244,247, - 250,949,2772,333,319,2072,321,2717,5432,317, - 2062,3622,826,2070,35,945,32,158,4721,27, - 30,31,961,967,339,28,1952,35,945,32, - 3300,4655,27,30,31,961,967,339,28,3530, - 5432,5432,5432,2775,5432,1997,191,2744,5432,2744, - 5432,5432,5432,5432,1354,2646,56,1649,1196,2744, - 2744,2744,5432,3017,5432,1847,5432,343,5432,226, - 5432,333,319,2072,321,5432,5432,315,2062,2700, - 343,226,5432,3016,158,319,2072,321,5432,4215, - 314,2062,203,213,4589,5432,202,210,211,212, - 214,5432,3093,4113,203,213,4589,5432,202,210, - 211,212,214,56,5432,1736,56,1196,2399,2744, - 1196,5432,5432,204,206,208,3319,2084,521,205, - 207,2744,5432,5432,5432,204,206,208,3319,226, - 520,205,207,154,5432,506,154,5432,5432,5432, - 3175,226,5432,1814,5432,5432,4296,929,35,1727, - 389,5432,203,213,4589,5432,202,210,211,212, - 214,5432,5432,2171,203,213,4589,2744,202,210, - 211,212,214,5432,5432,5432,1354,5432,504,505, - 1196,49,5432,204,206,208,3319,226,216,205, - 207,1724,47,5432,5432,204,206,208,3319,5432, - 305,205,207,1354,2558,5432,158,1196,5432,5432, - 203,213,4589,5432,202,210,211,212,214,2126, - 35,945,32,2489,4655,27,30,31,961,967, - 339,28,4294,158,1180,5432,5432,5432,2744,4899, - 5432,204,206,208,3319,1285,500,205,207,2744, - 4899,1375,5432,5432,5432,2744,4177,5432,226,5432, - 1375,5432,5432,5432,2744,4177,5432,5432,5432,226, - 5432,5432,3301,5432,5432,2700,5432,5432,316,3501, - 321,1420,408,3477,2700,929,35,1727,389,5432, - 5432,5432,1420,408,3477,5432,5432,5432,5432,3514, - 5432,3017,5432,932,35,1727,389,2647,5432,332, - 3017,2744,409,410,411,3319,5432,5432,332,49, - 5432,5432,5432,409,410,411,3319,5432,5432,1724, - 2696,2700,5432,5432,5432,3238,5432,49,5432,5432, - 2809,360,2787,5432,5432,5432,3238,1724,47,3113, - 360,929,35,1727,389,2237,3200,3213,5432,56, - 1326,5432,5432,2744,2237,3200,3213,5432,929,35, - 1727,389,929,35,1727,389,5432,5432,5432,2822, - 5432,5432,5432,343,5432,49,929,35,1727,389, - 2121,35,1727,389,5432,1724,596,506,5432,412, - 414,5432,49,5432,5432,3093,49,5432,2787,5432, - 412,415,1724,47,5432,5432,1724,47,2731,5432, - 49,510,538,1123,49,1382,4615,5432,5432,2158, - 1724,47,5432,5432,1724,47,929,35,1727,389, - 503,505,343,2245,5432,56,5432,2879,154,538, - 929,35,1727,389,2136,35,1727,389,186,5432, - 5432,5432,56,5432,4386,5432,538,5432,5432,343, - 49,588,35,1727,389,154,5432,5432,5432,5432, - 1724,47,4016,5432,49,186,343,5432,49,5432, - 5432,4386,154,2604,1724,47,5432,2715,1724,47, - 5432,2744,1390,5432,5432,49,5432,2815,3093,56, - 56,2977,5432,538,538,1724,2754,5432,56,5432, - 188,343,2744,5432,1243,588,35,1727,389,588, - 35,1727,389,343,343,5432,5432,56,5432,154, - 154,2744,343,932,5432,5432,5432,3679,5432,186, - 186,5432,5432,5432,5432,4386,4386,5432,5432,49, - 5432,343,5432,49,3093,5432,5432,5432,5432,1724, - 562,5432,5432,1724,2569,5432,5432,5432,5432,5432, - 508,5432,5432,3093,5432,5432,5432,5432,5432,5432, - 5432,5432,5432,5432,5432,5432,5432,5432,5432,535, - 4217,5432,5432,5432,5432,5432,5432,5432,5432,5432, - 5432,4212,4213,5432,5432,5432,5432,5432,5432,5432, - 5432,5432,5432,5432,5432,5432,5432,5432,5432,5432, - 5432,5432,5432,5432,5432,5432,5432,5432,5432,5432, - 5432,5432,5432,5432,5432,5432,5432,5432,5432,5432, - 5432,5432,5432,5432,5432,5432,5432,5432,5432,5432, - 5432,5432,5432,5432,5432,5432,5432,5432,5432,5432, - 5432,5432,5432,5432,5432,5432,5432,5432,5432,5432, - 5432,5432,5432,5432,5432,5432,5432,5432,5432,5432, - 5432,5432,5432,443,5432,457,5432,0,39,5447, - 0,39,5446,0,574,29,0,441,785,0, - 455,1086,0,38,649,0,38,5447,0,38, - 5446,0,2644,124,0,1,445,0,459,726, - 0,458,954,0,2526,89,0,574,388,0, - 35,33,0,32,34,0,39,649,0,1, - 629,0,1,5703,0,1,5702,0,1,5701, - 0,1,5700,0,1,5699,0,1,5698,0, - 1,5697,0,1,5696,0,1,5695,0,1, - 5694,0,1,5693,0,39,1,5447,0,39, - 1,5446,0,630,1,0,282,395,0,282, - 287,0,5664,239,0,5663,239,0,5770,239, - 0,5769,239,0,5691,239,0,5690,239,0, - 5689,239,0,5688,239,0,5687,239,0,5686, - 239,0,5685,239,0,5684,239,0,5703,239, - 0,5702,239,0,5701,239,0,5700,239,0, - 5699,239,0,5698,239,0,5697,239,0,5696, - 239,0,5695,239,0,5694,239,0,5693,239, - 0,39,5447,239,0,39,5446,239,0,5470, - 239,0,5447,48,0,5446,48,0,5438,1, - 0,5437,1,0,2990,235,0,32,389,0, - 29,388,0,43,5468,0,43,37,0,2644, - 126,0,2644,125,0,331,446,0,5470,1, - 0,39,1,0,47,37,0,1,90,0, - 502,3261,0,5470,1,227,0,39,1,227, - 0,227,417,0,5447,37,0,5446,37,0, - 5447,2,37,0,5446,2,37,0,5447,36, - 0,5446,36,0,5468,45,0,37,45,0, - 5442,406,0,5441,406,0,1,4276,0,1, - 4867,0,1,649,0,227,416,0,3005,318, - 0,331,93,0,35,72,0,1,331,0, - 4347,277,0,502,4417,0,1,227,0,227, - 218,0,1,2532,0,1,2536,0,227,217, - 0,5444,1,0,5440,1,0,1,227,3878, - 0,5441,227,0,3901,227,0,5444,384,0, - 5443,384,0,4087,227,0,10,12,0,8, - 10,12,0,183,3554,0,4141,384,0,8, - 12,0 + 198,78,81,81,175,175,133,133,134,134, + 134,134,134,134,3,135,135,132,132,111, + 111,84,79,75,75,163,163,112,112,199, + 199,199,136,136,126,126,200,200,176,176, + 1119,35,2070,2058,1356,2769,27,30,31,963, + 969,26,28,1987,261,25,23,50,1018,104, + 75,76,106,1097,1312,1190,1178,1376,1222,1499, + 241,1427,1634,1554,273,1640,49,1683,141,1882, + 694,156,142,2801,2315,1892,35,947,32,4632, + 4657,27,30,31,963,969,340,28,1777,3072, + 35,947,32,231,3197,27,30,31,963,969, + 26,28,935,261,25,23,50,1018,85,75, + 76,352,587,35,3192,2253,234,229,230,1198, + 666,155,1504,35,947,32,3432,274,41,30, + 31,963,969,1791,320,2074,322,180,3239,315, + 2064,587,1757,1984,34,154,241,244,247,250, + 951,353,3265,1088,666,538,1718,35,947,32, + 73,828,40,30,31,963,969,345,968,796, + 350,2770,327,35,279,1866,670,4230,862,734, + 737,2821,3024,4243,2320,35,947,32,2746,3197, + 27,30,31,963,969,26,28,935,261,25, + 23,50,1018,104,75,76,106,1097,344,1190, + 1178,1376,1222,1499,885,1427,1634,1554,1088,1640, + 313,1683,141,155,1225,519,142,1240,4291,2246, + 3095,1217,35,947,32,500,3159,27,30,31, + 963,969,57,28,56,1145,520,2320,35,947, + 32,2746,3197,27,30,31,963,969,26,28, + 935,261,25,23,50,1018,104,75,76,106, + 1097,344,1190,1178,1376,1222,1499,49,1427,1634, + 1554,757,1640,526,1683,141,1456,231,519,142, + 231,643,71,3095,3239,515,1381,35,947,32, + 462,3159,27,30,31,963,969,56,28,520, + 243,229,230,246,229,230,2990,1352,1611,2998, + 2425,1592,2320,35,947,32,2746,3197,27,30, + 31,963,969,26,28,935,261,25,23,50, + 1018,104,75,76,106,1097,344,1190,1178,1376, + 1222,1499,3353,1427,1634,1554,1766,1640,515,1683, + 141,1470,354,519,142,238,261,1853,3095,587, + 3509,61,327,35,279,155,1611,4843,1611,3005, + 4519,2086,2998,1150,520,2528,35,947,32,2746, + 3197,27,30,31,963,969,26,28,935,261, + 25,23,50,1018,104,75,76,106,1097,344, + 1190,1178,1376,1222,1499,231,1427,1634,1554,579, + 1640,579,1683,141,1603,1377,519,142,1275,392, + 429,3095,377,515,377,69,60,2229,239,229, + 230,1229,1718,35,947,32,1088,520,2368,30, + 31,963,969,2230,3094,42,3178,2998,1877,2246, + 2663,35,947,32,1618,3197,27,30,31,963, + 969,26,28,935,261,25,23,50,1018,104, + 75,76,106,1097,1631,1190,1178,1376,1222,1499, + 290,1427,1634,1554,1446,1640,516,1683,141,4179, + 499,380,142,4087,2389,35,947,32,2249,3197, + 27,30,31,963,969,26,28,935,261,25, + 23,50,1018,104,75,76,106,1097,461,1190, + 1178,1376,1222,1499,355,1427,1634,1554,375,1640, + 3647,1683,141,1941,3019,380,142,4087,2837,35, + 947,32,4111,3197,27,30,31,963,969,26, + 28,935,261,25,23,50,1018,104,75,76, + 106,1097,3670,1190,1178,1376,1222,1499,49,1427, + 1634,1554,832,1640,1611,3168,162,413,387,381, + 1628,3127,35,947,32,733,3197,27,30,31, + 963,969,26,28,935,261,25,23,50,1018, + 104,75,76,106,1097,752,1190,1178,1376,1222, + 1499,445,1427,1634,1554,1455,2859,2021,3415,1800, + 328,3428,388,381,1628,2275,1094,92,2437,1773, + 587,35,1729,390,2595,35,947,32,4305,3197, + 27,30,31,963,969,26,28,935,261,25, + 23,50,1018,104,75,76,106,1097,1449,1190, + 1178,1376,1222,1499,49,1427,1634,1554,1892,1640, + 64,1683,141,391,46,380,142,4087,2892,35, + 947,32,3502,3197,27,30,31,963,969,26, + 28,935,261,25,23,50,1018,104,75,76, + 106,1097,2288,1190,1178,1376,1222,1499,2075,1427, + 1634,1554,4489,1640,1611,1683,141,329,336,156, + 142,3127,35,947,32,1618,3197,27,30,31, + 963,969,26,28,935,261,25,23,50,1018, + 104,75,76,106,1097,56,1190,1178,1376,1222, + 1499,3495,1427,1634,1554,1446,1640,3341,3168,162, + 4179,4014,378,381,1628,2892,35,947,32,56, + 3197,27,30,31,963,969,26,28,935,261, + 25,23,50,1018,104,75,76,106,1097,886, + 1190,1178,1376,1222,1499,330,1427,1634,1554,449, + 1640,322,1683,141,56,3019,374,142,1718,35, + 947,32,2375,333,2605,30,31,963,969,1935, + 2892,35,947,32,670,3197,27,30,31,963, + 969,26,28,935,261,25,23,50,1018,104, + 75,76,106,1097,2830,1190,1178,1376,1222,1499, + 1631,1427,1634,1554,3336,1640,330,1683,141,2125, + 1547,374,142,1004,587,35,1729,390,2892,35, + 947,32,1618,3197,27,30,31,963,969,26, + 28,935,261,25,23,50,1018,104,75,76, + 106,1097,373,1190,1178,1376,1222,1499,433,1427, + 1634,1554,1621,1640,2437,1683,141,494,24,374, + 142,2461,35,947,32,1618,3197,27,30,31, + 963,969,26,28,935,261,25,23,50,1018, + 104,75,76,106,1097,2619,1190,1178,1376,1222, + 1499,406,1427,1634,1554,1906,1640,372,1683,141, + 49,68,140,142,4606,2892,35,947,32,2068, + 3197,27,30,31,963,969,26,28,935,261, + 25,23,50,1018,104,75,76,106,1097,1243, + 1190,1178,1376,1222,1499,1611,1427,1634,1554,1611, + 1640,3027,1683,141,3415,370,157,142,2892,35, + 947,32,2315,3197,27,30,31,963,969,26, + 28,935,261,25,23,50,1018,104,75,76, + 106,1097,1951,1190,1178,1376,1222,1499,3390,1427, + 1634,1554,579,1640,400,1683,141,4249,91,153, + 142,2892,35,947,32,4090,3197,27,30,31, + 963,969,26,28,935,261,25,23,50,1018, + 104,75,76,106,1097,888,1190,1178,1376,1222, + 1499,357,1427,1634,1554,449,1640,86,1683,141, + 100,534,152,142,2892,35,947,32,1618,3197, + 27,30,31,963,969,26,28,935,261,25, + 23,50,1018,104,75,76,106,1097,1611,1190, + 1178,1376,1222,1499,1409,1427,1634,1554,1611,1640, + 1105,1683,141,440,53,151,142,2892,35,947, + 32,2783,3197,27,30,31,963,969,26,28, + 935,261,25,23,50,1018,104,75,76,106, + 1097,4096,1190,1178,1376,1222,1499,2777,1427,1634, + 1554,579,1640,1620,1683,141,666,1088,150,142, + 2892,35,947,32,528,3197,27,30,31,963, + 969,26,28,935,261,25,23,50,1018,104, + 75,76,106,1097,416,1190,1178,1376,1222,1499, + 1447,1427,1634,1554,1611,1640,1174,1683,141,2563, + 1088,149,142,2892,35,947,32,3505,3197,27, + 30,31,963,969,26,28,935,261,25,23, + 50,1018,104,75,76,106,1097,1324,1190,1178, + 1376,1222,1499,526,1427,1634,1554,579,1640,4037, + 1683,141,666,1088,148,142,2892,35,947,32, + 527,3197,27,30,31,963,969,26,28,935, + 261,25,23,50,1018,104,75,76,106,1097, + 69,1190,1178,1376,1222,1499,49,1427,1634,1554, + 2999,1640,51,1683,141,1445,1088,147,142,2892, + 35,947,32,1618,3197,27,30,31,963,969, + 26,28,935,261,25,23,50,1018,104,75, + 76,106,1097,1864,1190,1178,1376,1222,1499,49, + 1427,1634,1554,994,1640,327,1683,141,160,52, + 146,142,2892,35,947,32,1618,3197,27,30, + 31,963,969,26,28,935,261,25,23,50, + 1018,104,75,76,106,1097,70,1190,1178,1376, + 1222,1499,49,1427,1634,1554,3398,1640,95,1683, + 141,246,351,145,142,2892,35,947,32,666, + 3197,27,30,31,963,969,26,28,935,261, + 25,23,50,1018,104,75,76,106,1097,1336, + 1190,1178,1376,1222,1499,49,1427,1634,1554,1139, + 1640,49,1683,141,590,830,144,142,2892,35, + 947,32,1618,3197,27,30,31,963,969,26, + 28,935,261,25,23,50,1018,104,75,76, + 106,1097,848,1190,1178,1376,1222,1499,49,1427, + 1634,1554,2630,1640,2687,1683,141,1878,88,143, + 142,2892,35,947,32,666,3197,27,30,31, + 963,969,26,28,935,261,25,23,50,1018, + 104,75,76,106,1097,1280,1190,1178,1376,1222, + 1499,49,1427,1634,1554,3493,1640,49,1683,141, + 1706,3298,138,142,3011,35,947,32,2448,3197, + 27,30,31,963,969,26,28,935,261,25, + 23,50,1018,104,75,76,106,1097,3327,1190, + 1178,1376,1222,1499,1988,1427,1634,1554,155,1640, + 1457,1683,141,4675,1964,187,142,3127,35,947, + 32,2155,3197,27,30,31,963,969,26,28, + 935,261,25,23,50,1018,104,75,76,106, + 1097,1906,1190,1178,1376,1222,1499,49,1427,1634, + 1554,1370,1640,408,3168,162,3127,35,947,32, + 2556,3197,27,30,31,963,969,26,28,935, + 261,25,23,50,1018,104,75,76,106,1097, + 325,1190,1178,1376,1222,1499,1978,1427,1634,1554, + 326,1640,622,3168,162,587,35,1984,3186,404, + 587,35,1729,390,3127,35,947,32,425,3197, + 27,30,31,963,969,26,28,935,261,25, + 23,50,1018,104,75,76,106,1097,2068,1190, + 1178,1376,1222,1499,454,1427,1634,1554,135,1640, + 580,3168,162,3127,35,947,32,294,3197,27, + 30,31,963,969,26,28,935,261,25,23, + 50,1018,104,75,76,106,1097,356,1190,1178, + 1376,1222,1499,1015,1427,1634,1554,534,1640,1618, + 3168,162,587,35,2466,2287,752,587,35,1729, + 390,3182,35,947,32,424,3197,27,30,31, + 963,969,26,28,935,261,25,23,50,1018, + 104,75,76,106,1097,2027,1190,1178,1376,1222, + 1499,436,1427,1634,1554,1234,1640,69,3168,162, + 3127,35,947,32,427,3197,27,30,31,963, + 969,26,28,935,261,25,23,50,1018,104, + 75,76,106,1097,286,1190,1178,1376,1222,1499, + 1505,1427,1634,2776,1785,35,947,32,1378,4897, + 27,30,31,963,969,59,28,846,3127,35, + 947,32,4095,3197,27,30,31,963,969,26, + 28,935,261,25,23,50,1018,104,75,76, + 106,1097,932,1190,1178,1376,1222,1499,1795,1427, + 2722,3127,35,947,32,1088,3197,27,30,31, + 963,969,26,28,935,261,25,23,50,1018, + 104,75,76,106,1097,2842,1190,1178,1376,1222, + 1499,1618,2765,3127,35,947,32,408,3197,27, + 30,31,963,969,26,28,935,261,25,23, + 50,1018,104,75,76,106,1097,1311,1190,1178, + 1376,1222,2570,3127,35,947,32,2107,3197,27, + 30,31,963,969,26,28,935,261,25,23, + 50,1018,104,75,76,106,1097,96,1190,1178, + 1376,2613,3127,35,947,32,2694,3197,27,30, + 31,963,969,26,28,935,261,25,23,50, + 1018,104,75,76,106,1097,1548,1190,1178,1376, + 2621,1522,35,947,32,3302,4723,27,30,31, + 963,969,340,28,3127,35,947,32,1591,3197, + 27,30,31,963,969,26,28,935,261,25, + 23,50,1018,104,75,76,106,1097,49,1190, + 1178,2337,1198,2560,1016,35,398,540,1016,35, + 398,3019,1679,2328,2375,35,277,2746,2631,333, + 320,2074,322,4758,1446,315,2064,4110,1952,4179, + 587,35,282,154,327,35,455,2702,314,4744, + 1278,1312,178,3128,2993,1618,3127,35,947,32, + 4307,3197,27,30,31,963,969,26,28,935, + 261,25,23,50,1018,104,75,76,106,1097, + 194,1190,1178,2362,3019,1795,587,35,1729,390, + 3315,67,333,2562,307,311,544,2347,35,947, + 32,2643,4897,27,30,31,963,969,26,28, + 2425,1795,513,362,843,35,455,952,2631,4744, + 435,3765,1618,2811,300,3811,3127,35,947,32, + 3741,3197,27,30,31,963,969,26,28,935, + 261,25,23,50,1018,104,75,76,106,1097, + 220,1190,1178,2427,3127,35,947,32,66,3197, + 27,30,31,963,969,26,28,935,261,25, + 23,50,1018,104,75,76,106,1097,2488,1190, + 1178,2486,2067,35,947,32,3264,4657,27,30, + 31,963,969,340,28,2762,4790,195,587,35, + 1729,390,1707,1401,35,3569,32,3302,4723,27, + 30,31,963,969,340,28,448,3672,3679,393, + 429,674,35,1729,390,155,3237,35,1729,390, + 4762,2741,273,1016,35,398,2411,35,277,236, + 261,320,2074,322,666,2139,315,2064,1618,2216, + 35,1729,390,3019,1618,49,486,752,353,3412, + 273,333,320,2074,322,1726,3078,315,2064,587, + 35,1729,390,1618,345,968,796,350,2718,752, + 2900,259,3377,49,65,540,452,3672,3679,231, + 64,1980,4307,1726,1843,275,4179,587,35,1729, + 390,1610,3561,273,2576,227,2718,525,1148,3086, + 2038,154,234,229,230,4179,587,35,1984,276, + 178,3128,49,274,579,287,2885,2066,202,214, + 4591,434,201,211,212,213,215,167,2762,1127, + 4122,3019,241,244,247,250,951,297,166,334, + 181,165,168,169,170,171,172,828,681,2132, + 3019,587,35,295,231,2425,341,353,334,367, + 419,421,3567,622,862,734,737,2821,3024,4243, + 2685,2225,1795,347,968,796,350,249,229,230, + 3127,35,947,32,2120,3197,27,30,31,963, + 969,26,28,935,261,25,23,50,1018,104, + 75,76,106,1097,2235,1190,2508,3127,35,947, + 32,304,3197,27,30,31,963,969,26,28, + 935,261,25,23,50,1018,104,75,76,106, + 1097,1,1190,2542,2350,540,1785,35,947,32, + 525,4897,27,30,31,963,969,58,28,587, + 35,295,2961,1906,3602,227,757,35,1729,390, + 1267,154,1355,49,395,429,1198,3074,761,1879, + 178,3128,1879,2746,579,1726,2746,49,202,214, + 4591,3002,201,211,212,213,215,167,1618,1226, + 273,1651,158,2702,1784,2444,2702,2619,166,179, + 182,165,168,169,170,171,172,2077,35,947, + 32,3264,4657,27,30,31,963,969,340,28, + 3127,35,947,32,55,3197,27,30,31,963, + 969,26,28,935,261,25,23,50,1018,104, + 75,76,106,1097,2425,2113,587,4073,2085,1244, + 35,295,4136,3226,587,4101,49,231,1608,361, + 3575,1150,361,423,2310,2151,320,2074,322,2554, + 71,315,2064,2793,3202,3215,3320,3202,3215,324, + 252,229,230,353,529,1364,35,947,32,534, + 4723,27,30,31,963,969,340,28,1795,345, + 968,796,350,3127,35,947,32,530,3197,27, + 30,31,963,969,26,28,935,261,25,23, + 50,1018,104,75,76,106,1097,752,2200,929, + 35,1729,390,44,3178,3019,49,177,2280,87, + 1198,353,100,334,320,2074,322,1618,2416,316, + 2064,345,2198,394,429,540,2419,345,968,796, + 350,353,2517,49,2289,343,154,2156,35,1729, + 390,1234,2226,1726,1929,227,1435,347,968,796, + 350,154,155,54,49,2143,2986,4808,2746,431, + 178,3128,2447,540,579,296,2491,4740,202,214, + 4591,49,201,211,212,213,215,167,344,2519, + 2155,1726,564,227,1101,35,1984,276,166,154, + 4098,165,168,169,170,171,172,517,178,3128, + 3095,540,579,2692,1446,1618,202,214,4591,4179, + 201,211,212,213,215,167,1858,587,3436,1984, + 73,227,1101,35,1984,3437,166,154,176,165, + 168,169,170,171,172,603,178,3128,1800,540, + 579,323,1446,1618,202,214,4591,4179,201,211, + 212,213,215,167,3019,587,35,1984,278,227, + 1618,2153,333,2548,166,154,174,165,168,169, + 170,171,172,689,178,3128,49,540,579,99, + 3577,49,202,214,4591,4093,201,211,212,213, + 215,167,3019,3115,49,49,3467,227,4126,1424, + 333,3502,166,154,175,165,168,169,170,171, + 172,775,178,3128,49,540,579,2522,1465,1355, + 202,214,4591,1198,201,211,212,213,215,167, + 49,4375,431,752,4105,227,3374,336,1476,3509, + 166,154,185,165,168,169,170,171,172,158, + 178,3128,2557,49,579,2496,3587,2101,202,214, + 4591,1795,201,211,212,213,215,167,1016,35, + 3194,2038,587,35,1729,390,2695,2586,166,2555, + 4123,165,168,169,170,171,172,1695,35,947, + 32,3302,4657,27,30,31,963,969,340,28, + 197,305,49,1244,3644,295,49,49,2453,35, + 280,3579,1726,2242,861,1823,1726,2015,540,1494, + 35,947,32,2723,4657,27,30,31,963,969, + 340,28,2697,1476,3509,49,49,2421,227,4187, + 2746,4623,1800,2626,154,155,320,2074,322,2584, + 4822,315,2064,178,3128,1618,1618,579,405,289, + 344,202,214,4591,314,201,211,212,213,215, + 167,155,1979,352,3632,945,4826,1795,317,3503, + 322,166,3095,190,165,168,169,170,171,172, + 2591,2902,453,49,584,3550,947,1198,1901,2690, + 540,587,35,1984,3559,3502,2198,2703,532,1738, + 307,311,544,353,49,1800,196,1800,2746,1800, + 227,2585,2743,154,49,1234,154,2658,4679,345, + 968,796,350,1392,4311,178,3128,1866,344,579, + 335,336,1795,202,214,4591,3741,201,211,212, + 213,215,167,1033,289,2560,2720,540,49,1198, + 3095,1618,1198,166,150,184,165,168,169,170, + 171,172,587,35,1984,281,1944,227,3502,2824, + 3502,303,3502,154,2732,154,1713,49,154,1522, + 3550,2715,178,3128,199,4131,579,379,1730,49, + 202,214,4591,2983,201,211,212,213,215,167, + 150,2718,2741,3413,336,331,336,3659,336,2751, + 166,1618,193,165,168,169,170,171,172,3127, + 35,947,32,2758,3197,27,30,31,963,969, + 26,28,935,261,25,23,50,1018,104,75, + 76,106,2233,3127,35,947,32,3333,3197,27, + 30,31,963,969,26,28,935,261,25,23, + 50,1018,104,75,76,106,2285,3127,35,947, + 32,2753,3197,27,30,31,963,969,26,28, + 935,261,25,23,50,1018,104,75,76,106, + 2328,3127,35,947,32,2733,3197,27,30,31, + 963,969,26,28,935,261,25,23,50,1018, + 104,75,76,84,3127,1757,947,1815,383,3197, + 27,30,31,963,969,26,28,935,261,25, + 23,50,1018,104,75,76,83,3127,35,947, + 32,2739,3197,27,30,31,963,969,26,28, + 935,261,25,23,50,1018,104,75,76,82, + 3127,35,947,32,382,3197,27,30,31,963, + 969,26,28,935,261,25,23,50,1018,104, + 75,76,81,3127,35,947,32,2793,3197,27, + 30,31,963,969,26,28,935,261,25,23, + 50,1018,104,75,76,80,3127,35,947,32, + 2794,3197,27,30,31,963,969,26,28,935, + 261,25,23,50,1018,104,75,76,79,3127, + 35,947,32,87,3197,27,30,31,963,969, + 26,28,935,261,25,23,50,1018,104,75, + 76,78,3127,35,947,32,2763,3197,27,30, + 31,963,969,26,28,935,261,25,23,50, + 1018,104,75,76,77,2956,35,947,32,2764, + 3197,27,30,31,963,969,26,28,935,261, + 25,23,50,1018,104,75,76,102,3127,35, + 947,32,2765,3197,27,30,31,963,969,26, + 28,935,261,25,23,50,1018,104,75,76, + 108,3127,35,947,32,2769,3197,27,30,31, + 963,969,26,28,935,261,25,23,50,1018, + 104,75,76,107,3127,35,947,32,1977,3197, + 27,30,31,963,969,26,28,935,261,25, + 23,50,1018,104,75,76,105,3127,35,947, + 32,2776,3197,27,30,31,963,969,26,28, + 935,261,25,23,50,1018,104,75,76,103, + 1992,35,3569,32,3302,4657,27,30,31,963, + 969,340,28,1795,1869,35,947,32,3302,4657, + 27,30,31,963,969,340,28,49,49,173, + 2771,4255,1198,1566,2858,2795,49,2746,2796,2447, + 970,2790,49,49,4740,1827,1198,2746,2417,2746, + 49,2241,200,2777,3447,2799,4179,227,154,320, + 2074,322,2800,2798,315,2064,2651,344,2847,227, + 2746,1795,3621,320,2074,322,1795,2900,315,2064, + 204,214,4591,1990,203,211,212,213,215,3095, + 2702,314,204,214,4591,5437,203,211,212,213, + 215,3019,49,49,2516,1972,1198,1198,1198,4111, + 198,205,207,209,3321,299,216,206,208,587, + 35,1729,390,205,207,209,3321,1914,216,206, + 208,2746,154,154,154,5437,5437,308,311,544, + 2548,2450,2575,2642,160,2746,2799,5437,4477,5437, + 5437,227,5437,49,1618,1618,507,2485,3157,1795, + 4477,3037,49,1726,754,344,1198,420,421,3567, + 587,35,1729,390,204,214,4591,533,203,211, + 212,213,215,3286,35,1729,390,3095,2741,2050, + 3371,3474,154,2746,94,752,237,261,4164,504, + 506,1618,2768,536,49,205,207,209,3321,432, + 216,206,208,344,1726,2544,5437,273,1869,35, + 947,32,3302,4657,27,30,31,963,969,340, + 28,929,35,1729,390,1379,1618,1638,1618,5437, + 3393,3646,4477,5437,5437,2240,231,1956,35,947, + 32,1795,4723,27,30,31,963,969,340,28, + 1618,5437,5437,384,49,49,5437,5437,1198,235, + 229,230,1724,5437,4369,1726,47,320,2074,322, + 274,5437,315,2064,4320,5437,5437,5437,3468,1355, + 221,5437,5437,1198,154,3265,3613,3019,5437,242, + 245,248,251,951,2774,334,320,2074,322,1795, + 5437,318,2064,3624,828,1956,35,947,32,158, + 4723,27,30,31,963,969,340,28,1869,35, + 947,32,3302,4657,27,30,31,963,969,340, + 28,3532,5437,5437,5437,2778,5437,2001,191,2746, + 5437,2746,5437,5437,5437,5437,1355,2651,49,1653, + 1198,2746,2746,2746,5437,3019,5437,1849,5437,344, + 5437,227,5437,334,320,2074,322,5437,5437,316, + 2064,2702,344,227,5437,3018,158,320,2074,322, + 5437,4217,315,2064,204,214,4591,5437,203,211, + 212,213,215,5437,3095,4115,204,214,4591,5437, + 203,211,212,213,215,49,5437,1740,49,1198, + 2401,2746,1198,5437,5437,205,207,209,3321,2088, + 522,206,208,2746,5437,5437,5437,205,207,209, + 3321,227,521,206,208,154,5437,507,154,5437, + 5437,5437,3177,227,5437,1816,5437,5437,4298,674, + 35,1729,390,5437,204,214,4591,5437,203,211, + 212,213,215,5437,5437,2175,204,214,4591,2746, + 203,211,212,213,215,5437,5437,5437,1355,5437, + 505,506,1198,49,5437,205,207,209,3321,227, + 217,206,208,1726,47,5437,5437,205,207,209, + 3321,5437,306,206,208,1355,2560,5437,158,1198, + 5437,5437,204,214,4591,5437,203,211,212,213, + 215,2160,35,947,32,2491,4657,27,30,31, + 963,969,340,28,4296,158,1180,5437,5437,5437, + 2746,4901,5437,205,207,209,3321,1286,501,206, + 208,2746,4901,1901,5437,5437,5437,2746,4179,5437, + 227,5437,1901,5437,5437,5437,2746,4179,5437,5437, + 5437,227,5437,5437,3303,5437,5437,2702,5437,5437, + 317,3503,322,1422,409,3479,2702,674,35,1729, + 390,5437,5437,5437,1422,409,3479,5437,5437,5437, + 5437,3516,5437,3019,5437,929,35,1729,390,2686, + 5437,333,3019,2746,410,411,412,3321,5437,5437, + 333,49,5437,5437,5437,410,411,412,3321,5437, + 5437,1726,2698,2702,5437,5437,5437,3240,5437,49, + 5437,5437,2811,361,2789,5437,5437,5437,3240,1726, + 47,3115,361,674,35,1729,390,2239,3202,3215, + 5437,49,1328,5437,5437,2746,2239,3202,3215,5437, + 674,35,1729,390,674,35,1729,390,5437,5437, + 5437,2824,5437,5437,5437,344,5437,49,674,35, + 1729,390,1649,35,1729,390,5437,1726,598,507, + 5437,413,415,5437,49,5437,5437,3095,49,5437, + 2789,5437,413,416,1726,47,5437,5437,1726,47, + 2721,5437,49,511,540,1125,49,1384,4617,5437, + 5437,2160,1726,47,5437,5437,1726,47,674,35, + 1729,390,504,506,344,2247,5437,49,5437,2881, + 154,540,674,35,1729,390,2168,35,1729,390, + 186,5437,5437,5437,49,5437,4388,5437,540,5437, + 5437,344,49,587,35,1729,390,154,5437,5437, + 5437,5437,1726,47,4018,5437,49,186,344,5437, + 49,5437,5437,4388,154,2606,1726,47,5437,2719, + 1726,47,5437,2746,1392,5437,5437,49,5437,2817, + 3095,49,49,2979,5437,540,540,1726,2756,5437, + 49,5437,188,344,2746,5437,1245,587,35,1729, + 390,587,35,1729,390,344,344,5437,5437,49, + 5437,154,154,2746,344,934,5437,5437,5437,3681, + 5437,186,186,5437,5437,5437,5437,4388,4388,5437, + 5437,49,5437,344,5437,49,3095,5437,5437,5437, + 5437,1726,564,5437,5437,1726,2571,5437,5437,5437, + 5437,5437,509,5437,5437,3095,5437,5437,5437,5437, + 5437,5437,5437,5437,5437,5437,5437,5437,5437,5437, + 5437,537,4219,5437,5437,5437,5437,5437,5437,5437, + 5437,5437,5437,4214,4215,5437,5437,5437,5437,5437, + 5437,5437,5437,5437,5437,5437,5437,5437,5437,5437, + 5437,5437,5437,5437,5437,5437,5437,5437,5437,5437, + 5437,5437,5437,5437,5437,5437,5437,5437,5437,5437, + 5437,5437,5437,5437,5437,5437,5437,5437,5437,5437, + 5437,5437,5437,5437,5437,5437,5437,5437,5437,5437, + 5437,5437,5437,5437,5437,5437,5437,5437,5437,5437, + 5437,5437,5437,5437,5437,5437,5437,5437,5437,5437, + 5437,5437,5437,5437,5437,444,5437,458,5437,0, + 39,5452,0,39,5451,0,576,29,0,442, + 787,0,456,1088,0,38,651,0,38,5452, + 0,38,5451,0,2646,124,0,1,446,0, + 460,728,0,459,956,0,2528,89,0,576, + 389,0,35,33,0,32,34,0,39,651, + 0,1,631,0,1,5709,0,1,5708,0, + 1,5707,0,1,5706,0,1,5705,0,1, + 5704,0,1,5703,0,1,5702,0,1,5701, + 0,1,5700,0,1,5699,0,39,1,5452, + 0,39,1,5451,0,632,1,0,283,396, + 0,283,288,0,5670,240,0,5669,240,0, + 5776,240,0,5775,240,0,5697,240,0,5696, + 240,0,5695,240,0,5694,240,0,5693,240, + 0,5692,240,0,5691,240,0,5690,240,0, + 5709,240,0,5708,240,0,5707,240,0,5706, + 240,0,5705,240,0,5704,240,0,5703,240, + 0,5702,240,0,5701,240,0,5700,240,0, + 5699,240,0,39,5452,240,0,39,5451,240, + 0,5475,240,0,5452,48,0,5451,48,0, + 5443,1,0,5442,1,0,2992,236,0,32, + 390,0,29,389,0,43,5473,0,43,37, + 0,2646,126,0,2646,125,0,332,447,0, + 5475,1,0,39,1,0,47,37,0,1, + 90,0,503,3263,0,5475,1,228,0,39, + 1,228,0,228,418,0,5452,37,0,5451, + 37,0,5452,2,37,0,5451,2,37,0, + 5452,36,0,5451,36,0,5473,45,0,37, + 45,0,5447,407,0,5446,407,0,1,4278, + 0,1,4869,0,1,651,0,228,417,0, + 3007,319,0,332,93,0,35,72,0,1, + 332,0,4349,278,0,503,4419,0,1,228, + 0,228,219,0,1,2534,0,1,2538,0, + 228,218,0,5449,1,0,5445,1,0,1, + 228,3880,0,5446,228,0,3903,228,0,5449, + 385,0,5448,385,0,4089,228,0,10,12, + 0,8,10,12,0,4113,192,0,183,3556, + 0,4143,385,0,8,12,0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -1120,8 +1120,8 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 24,25,26,27,28,29,30,31,32,33, 34,35,36,37,38,39,40,41,42,43, 44,45,46,47,0,49,50,51,52,53, - 54,69,56,57,58,59,60,61,62,101, - 64,65,66,67,106,92,93,71,90,0, + 54,69,56,57,58,59,60,61,62,0, + 64,65,66,67,0,92,93,71,4,0, 74,75,76,77,78,79,80,81,82,83, 84,85,0,1,2,3,4,5,6,7, 8,9,10,11,12,13,14,15,16,17, @@ -1130,33 +1130,33 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 38,39,40,41,42,43,44,45,46,47, 0,49,50,51,52,53,54,68,56,57, 58,59,60,61,62,0,64,65,66,67, - 0,1,2,71,4,10,74,75,76,77, + 0,1,2,71,4,0,74,75,76,77, 78,79,80,81,82,83,84,85,0,1, 2,3,4,5,6,7,8,9,10,11, 12,13,14,15,16,17,18,19,20,21, 22,23,24,25,26,27,28,29,30,31, 32,33,34,35,36,37,38,39,40,41, 42,43,44,45,46,47,0,49,50,51, - 52,53,54,0,56,57,58,59,60,61, - 62,0,64,65,66,67,0,1,2,8, - 4,0,74,75,76,77,78,79,80,81, + 52,53,54,68,56,57,58,59,60,61, + 62,0,64,65,66,67,0,1,2,0, + 4,10,74,75,76,77,78,79,80,81, 82,83,84,85,0,1,2,3,4,5, 6,7,8,9,10,11,12,13,14,15, 16,17,18,19,20,21,22,23,24,25, 26,27,28,29,30,31,32,33,34,35, 36,37,38,39,40,41,42,43,44,45, - 46,47,71,49,50,51,52,53,54,68, + 46,47,0,49,50,51,52,53,54,0, 56,57,58,59,60,61,62,0,64,65, - 66,67,0,6,0,102,103,104,74,75, + 66,67,0,6,0,0,87,88,74,75, 76,77,78,79,80,81,82,83,84,85, 0,1,2,3,4,5,6,7,8,9, 10,11,12,13,14,15,16,17,18,19, 20,21,22,23,24,25,26,27,28,29, 30,31,32,33,34,35,36,37,38,39, - 40,41,42,43,44,45,46,47,0,49, + 40,41,42,43,44,45,46,47,63,49, 50,51,52,53,54,0,56,57,58,59, - 60,61,62,0,64,65,66,67,0,92, - 93,89,4,91,74,75,76,77,78,79, + 60,61,62,0,64,65,66,67,99,92, + 93,89,9,91,74,75,76,77,78,79, 80,81,82,83,84,85,0,1,2,3, 4,5,6,7,8,9,10,11,12,13, 14,15,16,17,18,19,20,21,22,23, @@ -1164,42 +1164,42 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 34,35,36,37,38,39,40,41,42,43, 44,45,46,47,0,49,50,51,52,53, 54,0,56,57,58,59,60,61,62,0, - 64,65,66,67,99,6,0,0,1,2, + 64,65,66,67,99,6,0,1,2,0, 74,75,76,77,78,79,80,81,82,83, 84,85,0,1,2,3,4,5,6,7, 8,9,10,11,12,13,14,15,16,17, 18,19,20,21,22,23,24,25,26,27, 28,29,30,31,32,33,34,35,36,37, 38,39,40,41,42,43,44,45,46,47, - 0,49,50,51,52,53,54,0,56,57, + 0,49,50,51,52,53,54,68,56,57, 58,59,60,61,62,0,64,65,66,67, - 99,92,93,87,88,0,74,75,76,77, + 5,92,93,0,1,2,74,75,76,77, 78,79,80,81,82,83,84,85,0,1, 2,3,4,5,6,7,8,9,10,11, 12,13,14,15,16,17,18,19,20,21, 22,23,24,25,26,27,28,29,30,31, 32,33,34,35,36,37,38,39,40,41, 42,43,44,45,46,47,0,49,50,51, - 52,53,54,68,56,57,58,59,60,61, - 62,0,64,65,66,67,0,1,2,23, - 24,5,74,75,76,77,78,79,80,81, + 52,53,54,0,56,57,58,59,60,61, + 62,0,64,65,66,67,0,1,2,8, + 0,5,74,75,76,77,78,79,80,81, 82,83,84,85,0,1,2,3,4,5, 6,7,8,9,10,11,12,13,14,15, 16,17,18,19,20,21,22,23,24,25, 26,27,28,29,30,31,32,33,34,35, 36,37,38,39,40,41,42,43,44,45, - 46,47,0,49,50,51,52,53,54,0, + 46,47,71,49,50,51,52,53,54,69, 56,57,58,59,60,61,62,0,64,65, - 66,67,0,1,2,8,4,0,74,75, + 66,67,0,1,2,0,4,0,74,75, 76,77,78,79,80,81,82,83,84,85, 0,1,2,3,4,5,6,7,8,9, 10,11,12,13,14,15,16,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,71,49, + 40,41,42,43,44,45,46,47,0,49, 50,51,52,53,54,68,56,57,58,59, 60,61,62,0,64,65,66,67,0,1, - 2,0,1,2,74,75,76,77,78,79, + 2,0,87,88,74,75,76,77,78,79, 80,81,82,83,84,85,0,1,2,3, 4,5,6,7,8,9,10,11,12,13, 14,15,16,17,18,19,20,21,22,23, @@ -1207,7 +1207,7 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 34,35,36,37,38,39,40,41,42,43, 44,45,46,47,0,49,50,51,52,53, 54,0,56,57,58,59,60,61,62,0, - 64,65,66,67,0,0,0,8,3,3, + 64,65,66,67,0,0,1,2,87,88, 74,75,76,77,78,79,80,81,82,83, 84,85,0,1,2,3,4,5,6,7, 8,9,10,11,12,13,14,15,16,17, @@ -1215,10 +1215,10 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 28,29,30,31,32,33,34,35,36,37, 38,39,40,41,42,43,44,45,46,47, 0,49,50,51,52,53,54,0,56,57, - 58,59,60,61,62,0,64,65,66,67, - 0,6,0,89,9,91,74,75,76,77, + 58,59,60,61,62,8,64,65,66,67, + 0,1,2,89,0,91,74,75,76,77, 78,79,80,81,82,83,84,85,0,1, - 2,3,4,5,6,7,117,9,10,11, + 2,3,4,5,6,7,0,9,10,11, 12,13,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,40,41, @@ -1226,233 +1226,234 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 52,53,54,0,56,57,58,4,60,0, 1,2,3,4,5,6,7,8,9,10, 11,12,13,14,15,16,17,18,19,20, - 21,22,23,24,0,39,27,28,29,30, + 21,22,23,24,100,118,27,28,29,30, 31,32,33,34,35,36,0,1,2,40, - 4,5,0,7,0,0,0,48,0,1, - 2,5,4,0,9,56,57,58,59,0, - 61,62,0,1,2,100,22,23,24,0, + 4,5,0,7,0,0,100,48,0,1, + 2,6,4,0,9,56,57,58,59,0, + 61,62,0,0,1,2,22,23,24,0, 71,72,28,29,30,31,32,33,34,35, 36,22,23,24,48,86,0,28,29,30, - 31,32,33,34,35,36,48,0,0,1, - 2,102,103,104,0,1,2,3,4,5, - 6,7,8,9,10,11,12,13,14,15, - 16,17,18,19,20,21,22,23,24,87, - 88,27,28,29,30,31,32,33,34,35, - 36,55,0,0,40,3,48,4,6,0, - 8,9,48,0,1,2,0,8,5,90, - 56,57,58,59,8,61,62,25,26,27, - 0,1,2,0,0,71,72,0,0,37, - 38,8,0,1,2,3,4,5,6,7, - 86,9,0,0,0,1,2,55,4,0, - 6,48,8,9,0,63,102,103,104,0, - 68,69,70,71,72,73,67,120,48,0, - 1,2,3,4,5,6,7,71,9,87, - 88,89,90,91,92,93,94,95,96,97, - 98,99,100,101,0,63,73,105,106,107, - 108,109,110,111,112,113,114,115,116,117, - 0,119,120,3,55,0,6,73,8,9, - 96,97,0,1,2,3,4,5,6,7, - 8,9,63,0,90,25,26,27,0,70, - 25,26,48,100,22,23,24,37,38,27, - 28,29,30,31,32,33,34,35,36,0, - 1,2,3,4,5,55,7,8,0,0, - 1,2,4,63,5,0,7,55,68,69, - 70,71,72,73,0,63,27,0,1,2, - 3,4,5,6,7,73,9,87,88,89, - 90,91,92,93,94,95,96,97,98,99, - 100,101,74,0,0,105,106,107,108,109, - 110,111,112,113,114,115,116,117,0,119, - 120,0,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,30,31,32,33,34,35,36,0,1, - 2,40,4,98,6,0,0,9,0,48, - 0,0,98,0,3,0,0,56,57,58, - 59,8,61,62,8,64,39,22,23,24, - 87,88,71,28,29,30,31,32,33,34, - 35,36,0,1,2,87,88,86,0,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,63,27,28,29,30,31, - 32,33,34,35,36,70,73,0,40,73, - 0,1,2,3,4,5,48,7,8,89, - 0,91,0,55,56,57,58,59,0,61, - 62,9,64,0,1,2,101,27,5,0, - 7,106,107,108,109,110,111,112,113,114, - 115,116,0,0,86,0,1,2,3,4, + 31,32,33,34,35,36,48,0,0,0, + 1,2,103,104,105,0,1,2,3,4, 5,6,7,8,9,10,11,12,13,14, 15,16,17,18,19,20,21,22,23,24, - 87,88,27,28,29,30,31,32,33,34, - 35,36,0,1,2,40,0,0,6,0, - 0,1,2,48,4,5,0,7,0,1, - 2,56,57,58,59,63,61,62,0,64, - 0,22,23,24,96,97,71,28,29,30, - 31,32,33,34,35,36,0,0,1,2, - 48,86,0,1,2,3,4,5,6,7, + 0,0,27,28,29,30,31,32,33,34, + 35,36,89,0,91,40,3,48,0,6, + 0,8,9,48,68,0,1,2,96,97, + 5,56,57,58,59,0,61,62,25,26, + 27,0,1,2,0,0,71,72,3,48, + 37,38,8,0,1,2,3,4,5,6, + 7,86,9,96,97,0,0,0,55,3, + 0,1,2,48,4,5,63,7,103,104, + 105,68,69,70,71,72,73,87,88,48, + 0,1,2,3,4,5,6,7,0,9, + 87,88,89,90,91,92,93,94,95,96, + 97,98,99,100,101,70,63,73,48,106, + 107,108,109,110,111,112,113,114,115,116, + 117,118,119,120,0,0,0,3,0,4, + 6,6,8,9,9,0,0,1,2,3, + 4,5,6,7,8,9,89,0,91,25, + 26,27,72,25,26,0,1,2,22,23, + 24,37,38,27,28,29,30,31,32,33, + 34,35,36,0,1,2,3,4,5,55, + 7,8,0,0,1,2,98,63,5,63, + 7,55,68,69,70,71,72,73,63,63, + 27,0,1,2,3,4,5,6,7,73, + 9,87,88,89,90,91,92,93,94,95, + 96,97,98,99,100,101,0,0,0,3, + 106,107,108,109,110,111,112,113,114,115, + 116,117,118,119,120,0,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,30,31,32,33,34, + 35,36,0,1,2,40,4,0,6,0, + 0,9,0,48,0,25,26,0,8,0, + 0,56,57,58,59,8,61,62,8,64, + 0,22,23,24,87,88,71,28,29,30, + 31,32,33,34,35,36,55,27,0,1, + 2,86,0,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,72,27, - 28,29,30,31,32,33,34,35,36,0, - 1,2,40,4,5,48,7,0,1,2, - 48,4,0,6,0,0,9,0,56,57, - 58,59,8,61,62,8,64,0,1,2, - 3,4,5,71,7,8,0,0,1,2, - 3,4,5,6,7,0,9,48,86,0, + 18,19,20,21,22,23,24,67,0,27, + 28,29,30,31,32,33,34,35,36,70, + 73,0,40,63,0,1,2,3,4,5, + 48,7,8,25,26,0,0,55,56,57, + 58,59,0,61,62,10,64,0,1,2, + 101,27,5,0,7,0,107,108,109,110, + 111,112,113,114,115,116,117,0,86,0, 1,2,3,4,5,6,7,8,9,10, 11,12,13,14,15,16,17,18,19,20, - 21,22,23,24,118,60,27,28,29,30, - 31,32,33,34,35,36,69,73,71,40, - 63,0,1,2,3,4,5,48,7,0, - 73,89,3,91,90,56,57,58,59,72, - 61,62,0,64,69,0,1,2,3,4, - 71,6,0,0,9,3,0,0,1,2, - 3,4,5,0,7,86,0,1,2,3, + 21,22,23,24,59,0,27,28,29,30, + 31,32,33,34,35,36,0,1,2,40, + 68,69,6,0,0,1,2,48,4,5, + 0,7,55,68,0,56,57,58,59,0, + 61,62,8,64,98,22,23,24,0,72, + 71,28,29,30,31,32,33,34,35,36, + 55,27,23,24,48,86,0,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,63,27,28,29,30,31,32,33, - 34,35,36,0,1,2,40,4,63,6, - 0,0,9,0,48,4,63,6,8,63, - 9,0,56,57,58,59,63,61,62,72, - 64,0,1,2,3,4,5,27,7,0, - 1,2,3,4,5,0,7,0,1,2, - 0,0,86,0,1,2,3,4,5,6, + 24,0,0,27,28,29,30,31,32,33, + 34,35,36,0,1,2,40,0,0,1, + 2,3,4,5,48,7,0,0,0,3, + 3,0,56,57,58,59,8,61,62,8, + 64,0,1,2,3,4,5,71,7,8, + 0,1,2,0,4,0,6,55,8,9, + 120,48,86,0,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,69, + 17,18,19,20,21,22,23,24,0,63, 27,28,29,30,31,32,33,34,35,36, - 0,1,2,40,63,0,1,2,3,4, - 5,48,7,0,0,0,1,2,4,56, - 57,58,59,68,61,62,0,64,68,3, - 69,0,1,2,8,4,22,6,25,26, - 9,0,1,2,0,4,5,3,7,86, + 0,73,71,40,63,0,1,2,3,4, + 5,48,7,0,73,60,3,0,90,56, + 57,58,59,73,61,62,0,64,0,0, + 1,2,3,4,71,6,8,0,9,0, + 90,0,1,2,3,4,5,8,7,86, 0,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, - 30,31,32,33,34,35,36,0,0,63, - 40,0,1,2,68,69,0,0,48,73, - 25,26,0,1,2,0,56,57,58,59, - 0,61,62,0,64,0,102,103,104,0, - 1,2,0,0,0,3,3,3,0,1, - 2,3,4,5,6,7,86,9,10,11, - 12,13,14,15,16,17,18,19,20,21, - 48,55,55,25,26,0,65,66,3,72, - 55,37,38,8,68,37,38,39,55,41, - 42,43,44,45,46,47,0,49,50,51, - 52,53,54,68,65,66,10,63,60,61, - 94,95,70,65,66,0,1,2,3,4, - 5,6,7,0,9,10,11,12,13,14, - 15,16,17,18,19,20,21,0,63,0, - 25,26,0,0,0,0,3,8,73,105, - 8,0,37,38,39,59,41,42,43,44, - 45,46,47,119,49,50,51,52,53,54, - 0,1,2,0,0,60,0,1,2,0, - 65,66,3,68,0,1,2,3,4,5, + 20,21,22,23,24,0,63,27,28,29, + 30,31,32,33,34,35,36,0,1,2, + 40,4,63,6,68,69,9,69,48,0, + 63,73,3,103,104,105,56,57,58,59, + 71,61,62,72,64,0,0,1,2,3, + 4,5,6,7,0,9,0,1,2,3, + 4,5,8,7,0,0,86,0,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,30,31,32, + 33,34,35,36,0,1,2,40,4,63, + 6,0,48,9,3,48,70,72,0,63, + 55,67,0,56,57,58,59,9,61,62, + 0,64,0,3,0,0,1,2,8,0, + 1,2,3,4,5,0,7,0,1,2, + 0,1,2,86,0,1,2,3,4,5, 6,7,8,9,10,11,12,13,14,15, - 16,17,18,19,20,21,55,0,69,25, - 26,4,73,68,69,73,0,0,48,68, - 3,37,38,39,0,41,42,43,44,45, - 46,47,0,49,50,51,52,53,54,0, - 1,2,68,69,60,94,95,0,0,1, - 2,67,0,6,0,71,0,1,2,3, - 4,5,6,7,48,9,10,11,12,13, - 14,15,16,17,18,19,20,21,0,55, - 0,25,26,0,1,2,8,48,8,0, - 0,8,68,37,38,39,48,41,42,43, - 44,45,46,47,0,49,50,51,52,53, - 54,0,1,2,0,0,60,3,94,95, - 68,65,66,0,1,2,3,4,5,6, - 7,0,9,10,11,12,13,14,15,16, - 17,18,19,20,21,67,0,0,25,26, - 67,0,48,73,3,0,0,0,0,48, - 37,38,39,8,41,42,43,44,45,46, - 47,0,49,50,51,52,53,54,0,0, - 0,3,27,60,0,70,55,0,65,66, - 0,1,2,3,4,5,6,7,8,9, - 10,11,12,13,14,15,16,17,18,19, - 20,21,55,55,0,25,26,0,4,63, - 3,0,75,0,3,0,0,37,38,39, - 4,41,42,43,44,45,46,47,0,49, - 50,51,52,53,54,0,0,63,69,0, - 60,0,72,0,0,10,10,67,0,1, + 16,17,18,19,20,21,22,23,24,0, + 48,27,28,29,30,31,32,33,34,35, + 36,69,0,63,40,0,1,2,68,69, + 65,66,48,73,0,0,72,3,0,0, + 56,57,58,59,0,61,62,3,64,0, + 0,1,2,0,4,0,6,8,0,9, + 0,3,0,1,2,3,4,5,6,7, + 86,9,10,11,12,13,14,15,16,17, + 18,19,20,21,0,1,2,25,26,0, + 65,66,8,55,55,37,38,0,0,37, + 38,39,4,41,42,43,44,45,46,47, + 55,49,50,51,52,53,54,0,69,0, + 71,63,60,61,0,90,0,65,66,0, + 1,2,3,4,5,6,7,0,9,10, + 11,12,13,14,15,16,17,18,19,20, + 21,67,55,55,25,26,0,1,2,0, + 4,5,3,7,106,68,37,38,39,0, + 41,42,43,44,45,46,47,119,49,50, + 51,52,53,54,0,1,2,68,0,60, + 101,94,95,69,65,66,107,68,0,1, 2,3,4,5,6,7,8,9,10,11, 12,13,14,15,16,17,18,19,20,21, - 55,55,0,25,26,40,40,0,0,0, - 0,4,0,48,48,37,38,39,0,41, - 42,43,44,45,46,47,55,49,50,51, - 52,53,54,0,0,0,0,3,60,5, - 6,0,0,9,8,67,4,0,0,8, - 0,0,0,0,0,4,3,55,8,25, - 26,118,55,27,22,55,0,55,27,0, - 0,37,38,55,72,41,0,27,70,3, - 0,72,0,3,0,3,0,3,0,55, - 55,3,0,0,0,3,3,63,0,65, - 66,0,68,69,70,72,55,0,0,0, - 0,0,0,0,0,0,69,3,70,0, - 0,87,88,89,70,39,92,93,94,95, - 96,97,98,99,100,101,70,0,69,105, - 70,107,108,109,110,111,112,113,114,115, - 116,0,1,2,3,4,5,6,7,8, + 0,1,2,25,26,0,0,90,0,4, + 0,3,48,3,0,37,38,39,8,41, + 42,43,44,45,46,47,0,49,50,51, + 52,53,54,0,1,2,0,0,60,0, + 4,4,0,1,2,67,40,8,48,71, + 0,1,2,3,4,5,6,7,22,9, + 10,11,12,13,14,15,16,17,18,19, + 20,21,0,63,0,25,26,0,1,2, + 0,48,8,73,4,0,72,37,38,39, + 48,41,42,43,44,45,46,47,72,49, + 50,51,52,53,54,0,0,0,0,3, + 60,0,73,8,6,65,66,0,1,2, + 3,4,5,6,7,48,9,10,11,12, + 13,14,15,16,17,18,19,20,21,103, + 104,105,25,26,0,0,0,73,63,0, + 0,0,0,8,37,38,39,8,41,42, + 43,44,45,46,47,0,49,50,51,52, + 53,54,27,0,0,0,27,60,73,4, + 0,70,65,66,0,1,2,3,4,5, + 6,7,8,9,10,11,12,13,14,15, + 16,17,18,19,20,21,55,55,0,25, + 26,3,68,39,69,0,70,0,3,68, + 0,37,38,39,4,41,42,43,44,45, + 46,47,0,49,50,51,52,53,54,74, + 0,0,22,70,60,94,95,0,0,69, + 10,67,0,1,2,3,4,5,6,7, + 8,9,10,11,12,13,14,15,16,17, + 18,19,20,21,0,0,0,25,26,0, + 40,0,3,0,0,10,0,55,48,37, + 38,39,0,41,42,43,44,45,46,47, + 68,49,50,51,52,53,54,0,0,0, + 0,3,60,5,6,40,69,9,8,67, + 0,0,0,48,4,0,94,95,0,4, + 0,55,0,25,26,3,55,27,55,55, + 0,55,0,3,70,37,38,0,39,41, + 3,0,0,0,0,3,3,3,0,0, + 0,3,55,55,72,0,0,0,3,3, + 0,63,0,65,66,55,68,69,70,0, + 55,0,0,0,0,0,0,0,0,0, + 0,70,70,0,0,87,88,89,70,69, + 92,93,94,95,96,97,98,99,100,101, + 0,69,0,0,106,0,108,109,110,111, + 112,113,114,115,116,117,0,1,2,3, + 4,5,6,7,8,9,10,11,12,13, + 14,15,16,17,18,19,20,21,55,70, + 0,25,26,102,72,72,72,90,70,70, + 75,102,102,37,38,39,0,41,42,43, + 44,45,46,47,102,49,50,51,52,53, + 54,0,1,2,3,4,5,6,7,39, 9,10,11,12,13,14,15,16,17,18, - 19,20,21,72,0,55,25,26,69,69, - 72,0,70,72,90,70,0,0,37,38, + 19,20,21,0,0,0,25,26,121,0, + 0,0,0,0,0,0,0,0,37,38, 39,0,41,42,43,44,45,46,47,0, - 49,50,51,52,53,54,0,1,2,3, - 4,5,6,7,40,9,10,11,12,13, - 14,15,16,17,18,19,20,21,121,0, - 0,25,26,0,0,0,0,118,0,0, - 0,0,0,37,38,39,0,41,42,43, - 44,45,46,47,0,49,50,51,52,53, - 54,70,0,0,0,0,60,0,117,0, - 1,2,3,4,5,6,7,0,9,10, - 11,12,13,14,15,16,17,18,19,20, - 21,0,0,0,25,26,0,0,0,0, - 0,0,0,0,0,0,37,38,39,0, - 41,42,43,44,45,46,47,0,49,50, - 51,52,53,54,0,1,2,3,4,5, - 6,7,63,9,10,11,12,13,14,15, - 16,17,18,19,20,21,0,0,0,25, - 26,0,0,0,0,0,0,0,0,0, - 0,37,38,39,0,41,42,43,44,45, - 46,47,0,49,50,51,52,53,54,0, - 0,0,0,0,60,0,1,2,3,4, + 49,50,51,52,53,54,0,0,0,0, + 0,60,0,0,118,0,1,2,3,4, 5,6,7,0,9,10,11,12,13,14, 15,16,17,18,19,20,21,0,0,0, 25,26,0,0,0,0,0,0,0,0, 0,0,37,38,39,0,41,42,43,44, 45,46,47,0,49,50,51,52,53,54, - 0,1,2,3,4,5,6,7,0,9, + 0,1,2,3,4,5,6,7,63,9, 10,11,12,13,14,15,16,17,18,19, 20,21,0,0,0,25,26,0,0,0, 0,0,0,0,0,0,0,37,38,39, 0,41,42,43,44,45,46,47,0,49, - 50,51,52,53,54,0,1,2,3,4, - 5,6,7,0,9,10,11,12,13,14, - 15,16,17,18,19,20,21,0,0,0, - 25,26,0,0,0,0,0,0,0,0, - 0,0,37,38,39,0,41,42,43,44, - 45,46,47,0,49,50,51,52,53,54, - 0,1,2,0,4,0,0,0,0,0, - 10,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,0,0,0,28,29, - 30,31,32,33,34,35,36,0,0,0, - 40,0,0,0,0,0,0,0,0,0, - 1,2,0,4,0,0,56,57,58,10, - 11,12,13,14,15,16,17,18,19,20, - 21,22,23,24,0,0,0,28,29,30, - 31,32,33,34,35,36,0,0,0,40, - 0,1,2,3,4,5,6,7,8,9, - 0,0,0,0,0,56,57,58,0,0, - 0,0,22,23,24,0,0,27,28,29, - 30,31,32,33,34,35,36,11,12,13, + 50,51,52,53,54,0,0,0,0,0, + 60,0,1,2,3,4,5,6,7,0, + 9,10,11,12,13,14,15,16,17,18, + 19,20,21,0,0,0,25,26,0,0, + 0,0,0,0,0,0,0,0,37,38, + 39,0,41,42,43,44,45,46,47,0, + 49,50,51,52,53,54,0,1,2,3, + 4,5,6,7,0,9,10,11,12,13, + 14,15,16,17,18,19,20,21,0,0, + 0,25,26,0,0,0,0,0,0,0, + 0,0,0,37,38,39,0,41,42,43, + 44,45,46,47,0,49,50,51,52,53, + 54,0,1,2,3,4,5,6,7,0, + 9,10,11,12,13,14,15,16,17,18, + 19,20,21,0,0,0,25,26,0,0, + 0,0,0,0,0,0,0,0,37,38, + 39,0,41,42,43,44,45,46,47,0, + 49,50,51,52,53,54,0,1,2,0, + 4,0,0,0,0,0,10,11,12,13, 14,15,16,17,18,19,20,21,22,23, 24,0,0,0,28,29,30,31,32,33, - 34,35,36,63,0,0,0,0,0,0, - 0,0,0,73,0,0,0,0,0,0, + 34,35,36,0,0,0,40,0,0,0, + 0,0,0,0,0,0,1,2,0,4, + 0,0,56,57,58,10,11,12,13,14, + 15,16,17,18,19,20,21,22,23,24, + 0,0,0,28,29,30,31,32,33,34, + 35,36,0,0,0,40,0,1,2,3, + 4,5,6,7,8,9,0,0,0,0, + 0,56,57,58,0,0,0,0,22,23, + 24,0,0,27,28,29,30,31,32,33, + 34,35,36,11,12,13,14,15,16,17, + 18,19,20,21,22,23,24,0,0,0, + 28,29,30,31,32,33,34,35,36,63, + 0,0,0,0,0,0,0,0,0,73, + 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 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; @@ -1460,346 +1461,346 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface TermAction { public final static char termAction[] = {0, - 5432,5397,5376,5376,5376,5376,5376,5376,5413,5376, + 5437,5399,5378,5378,5378,5378,5378,5378,5415,5378, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5401,1,1, + 1,1,1,1,1,1,1,5403,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,137,1, - 1,1,1,1,1,1,1,1,1,3082, - 1,5605,2028,113,3580,1,1,5443,358,3735, - 5432,5439,155,3164,1507,3993,3535,2249,3419,3855, - 3179,3970,3074,3947,3613,3924,10,5416,5416,5416, - 5416,5416,5416,5416,5416,5416,5416,5416,5416,5416, - 5416,5416,5416,5416,5416,5416,5416,5416,5416,5416, - 5416,5416,5416,5416,5416,5416,5416,5416,5416,5416, - 5416,5416,5416,5416,5416,5416,5416,5416,5416,5416, - 5416,5416,5416,5416,331,5416,5416,5416,5416,5416, - 5416,1473,5416,5416,5416,5416,5416,5416,5416,1099, - 5416,5416,5416,5416,4086,3711,3687,5416,5789,5432, - 5416,5416,5416,5416,5416,5416,5416,5416,5416,5416, - 5416,5416,8,5419,5419,5419,5419,5419,5419,5419, - 5419,5419,5419,5419,5419,5419,5419,5419,5419,5419, - 5419,5419,5419,5419,5419,5419,5419,5419,5419,5419, - 5419,5419,5419,5419,5419,5419,5419,5419,5419,5419, - 5419,5419,5419,5419,5419,5419,5419,5419,5419,5419, - 396,5419,5419,5419,5419,5419,5419,2877,5419,5419, - 5419,5419,5419,5419,5419,301,5419,5419,5419,5419, - 287,5169,5169,5419,282,5732,5419,5419,5419,5419, - 5419,5419,5419,5419,5419,5419,5419,5419,5432,5397, - 5376,5376,5376,5376,5376,5376,5404,5376,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5401,1,1,1,1, + 1,1,1,1,1,332,1,1,1,3084, + 1,5610,2030,113,3582,1,1,5448,397,3737, + 5437,5444,155,3166,1509,3995,3537,2251,3421,3857, + 3181,3972,3076,3949,3615,3926,10,5418,5418,5418, + 5418,5418,5418,5418,5418,5418,5418,5418,5418,5418, + 5418,5418,5418,5418,5418,5418,5418,5418,5418,5418, + 5418,5418,5418,5418,5418,5418,5418,5418,5418,5418, + 5418,5418,5418,5418,5418,5418,5418,5418,5418,5418, + 5418,5418,5418,5418,298,5418,5418,5418,5418,5418, + 5418,1475,5418,5418,5418,5418,5418,5418,5418,386, + 5418,5418,5418,5418,39,3713,3689,5418,5475,5437, + 5418,5418,5418,5418,5418,5418,5418,5418,5418,5418, + 5418,5418,8,5421,5421,5421,5421,5421,5421,5421, + 5421,5421,5421,5421,5421,5421,5421,5421,5421,5421, + 5421,5421,5421,5421,5421,5421,5421,5421,5421,5421, + 5421,5421,5421,5421,5421,5421,5421,5421,5421,5421, + 5421,5421,5421,5421,5421,5421,5421,5421,5421,5421, + 5437,5421,5421,5421,5421,5421,5421,2879,5421,5421, + 5421,5421,5421,5421,5421,5437,5421,5421,5421,5421, + 288,5171,5171,5421,283,5437,5421,5421,5421,5421, + 5421,5421,5421,5421,5421,5421,5421,5421,5437,5399, + 5378,5378,5378,5378,5378,5378,5406,5378,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,297,1,1,1, - 1,1,1,440,1,1,1,3082,1,5605, - 2028,5432,3580,1,1,5443,5432,5071,5068,5440, - 5470,5432,1507,3993,3535,2249,3419,3855,3179,3970, - 3074,3947,3613,3924,5432,5397,5376,5376,5376,5376, - 5376,5376,5404,5376,1,1,1,1,1,1, + 1,1,1,1,1,5403,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,5401,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,5437,1,1,1, + 1,1,1,2901,1,1,1,3084,1,5610, + 2030,302,3582,1,1,5448,5437,5073,5070,119, + 5475,5738,1509,3995,3537,2251,3421,3857,3181,3972, + 3076,3949,3615,3926,5437,5399,5378,5378,5378,5378, + 5378,5378,5406,5378,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,5439,1,1,1,1,1,1,2899, - 1,1,1,3082,1,5605,2028,115,3580,1, - 1,5443,109,3735,385,5868,5869,5870,1507,3993, - 3535,2249,3419,3855,3179,3970,3074,3947,3613,3924, - 5432,5397,5376,5376,5376,5376,5376,5376,5404,5376, + 1,5403,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5401,1,1, + 1,1,5437,1,1,1,1,1,1,133, + 1,1,1,3084,1,5610,2030,115,3582,1, + 1,5448,109,3737,5437,460,2910,2937,1509,3995, + 3537,2251,3421,3857,3181,3972,3076,3949,3615,3926, + 5437,5399,5378,5378,5378,5378,5378,5378,5406,5378, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,5432,1, - 1,1,1,1,1,133,1,1,1,3082, - 1,5605,2028,5432,3580,1,1,5443,39,3711, - 3687,3966,5470,3989,1507,3993,3535,2249,3419,3855, - 3179,3970,3074,3947,3613,3924,5432,5397,5376,5376, - 5376,5376,5376,5376,5404,5376,1,1,1,1, + 1,1,1,1,1,1,1,5403,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5401,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,5100,1, + 1,1,1,1,1,134,1,1,1,3084, + 1,5610,2030,129,3582,1,1,5448,2338,3713, + 3689,3968,2403,3991,1509,3995,3537,2251,3421,3857, + 3181,3972,3076,3949,3615,3926,5437,5399,5378,5378, + 5378,5378,5378,5378,5406,5378,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,5432,1,1,1,1,1, - 1,134,1,1,1,3082,1,5605,2028,114, - 3580,1,1,5443,2336,3735,119,5432,5446,5447, - 1507,3993,3535,2249,3419,3855,3179,3970,3074,3947, - 3613,3924,5432,5397,5376,5376,5376,5376,5376,5376, - 5404,5376,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5401, + 1,1,1,5403,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,5437,1,1,1,1,1, + 1,5437,1,1,1,3084,1,5610,2030,114, + 3582,1,1,5448,2338,3737,5437,5451,5452,5437, + 1509,3995,3537,2251,3421,3857,3181,3972,3076,3949, + 3615,3926,5437,5399,5378,5378,5378,5378,5378,5378, + 5406,5378,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5403, 1,1,1,1,1,1,1,1,1,1, - 5432,1,1,1,1,1,1,5432,1,1, - 1,3082,1,5605,2028,5432,3580,1,1,5443, - 2336,3711,3687,2908,2935,5432,1507,3993,3535,2249, - 3419,3855,3179,3970,3074,3947,3613,3924,5432,5397, - 5376,5376,5376,5376,5376,5376,5404,5376,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5401,1,1,1,1, + 5437,1,1,1,1,1,1,2934,1,1, + 1,3084,1,5610,2030,5437,3582,1,1,5448, + 3277,3713,3689,5437,5257,5254,1509,3995,3537,2251, + 3421,3857,3181,3972,3076,3949,3615,3926,5437,5399, + 5378,5378,5378,5378,5378,5378,5406,5378,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,336,1,1,1, - 1,1,1,2932,1,1,1,3082,1,5605, - 2028,5432,3580,1,1,5443,5432,5446,5447,5769, - 5770,3275,1507,3993,3535,2249,3419,3855,3179,3970, - 3074,3947,3613,3924,5432,5397,5376,5376,5376,5376, - 5376,5376,5404,5376,1,1,1,1,1,1, + 1,1,1,1,1,5403,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,5401,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,5437,1,1,1, + 1,1,1,5437,1,1,1,3084,1,5610, + 2030,5437,3582,1,1,5448,5437,5451,5452,5445, + 517,3277,1509,3995,3537,2251,3421,3857,3181,3972, + 3076,3949,3615,3926,5437,5399,5378,5378,5378,5378, + 5378,5378,5406,5378,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,5432,1,1,1,1,1,1,5432, - 1,1,1,3082,1,5605,2028,1,3580,1, - 1,5443,5432,5071,5068,5394,5470,5432,1507,3993, - 3535,2249,3419,3855,3179,3970,3074,3947,3613,3924, - 5432,5397,5376,5376,5376,5376,5376,5376,5404,5376, + 1,5403,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5401,1,1, + 1,1,5444,1,1,1,1,1,1,895, + 1,1,1,3084,1,5610,2030,5437,3582,1, + 1,5448,5437,5073,5070,123,5475,5437,1509,3995, + 3537,2251,3421,3857,3181,3972,3076,3949,3615,3926, + 5437,5399,5378,5378,5378,5378,5378,5378,5406,5378, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,5439,1, - 1,1,1,1,1,2962,1,1,1,3082, - 1,5605,2028,5432,3580,1,1,5443,5432,5255, - 5252,48,5255,5252,1507,3993,3535,2249,3419,3855, - 3179,3970,3074,3947,3613,3924,5432,5397,5376,5376, - 5376,5376,5376,5376,5404,5376,1,1,1,1, + 1,1,1,1,1,1,1,5403,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5401,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,5437,1, + 1,1,1,1,1,2964,1,1,1,3084, + 1,5610,2030,5437,3582,1,1,5448,48,5257, + 5254,122,2910,2937,1509,3995,3537,2251,3421,3857, + 3181,3972,3076,3949,3615,3926,5437,5399,5378,5378, + 5378,5378,5378,5378,5406,5378,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,5432,1,1,1,1,1, - 1,5432,1,1,1,3082,1,5605,2028,5432, - 3580,1,1,5443,112,5432,89,5436,2990,5104, - 1507,3993,3535,2249,3419,3855,3179,3970,3074,3947, - 3613,3924,5432,3878,1,1,1,1,1,1, - 3901,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5441, + 1,1,1,5403,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,5437,1,1,1,1,1, + 1,5437,1,1,1,3084,1,5610,2030,5437, + 3582,1,1,5448,112,399,5451,5452,2910,2937, + 1509,3995,3537,2251,3421,3857,3181,3972,3076,3949, + 3615,3926,5437,3880,1,1,1,1,1,1, + 3903,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5446, 1,1,1,1,1,1,1,1,1,1, - 5432,1,1,1,1,1,1,5432,1,1, - 1,3082,1,5605,2028,5432,3580,1,1,5443, - 5432,1287,5432,3966,1263,3989,1507,3993,3535,2249, - 3419,3855,3179,3970,3074,3947,3613,3924,39,5071, - 5068,4832,630,3782,3851,4867,5435,3874,880,5695, - 5693,5702,5701,5697,5698,5696,5699,5700,5703,5694, - 5690,5769,5770,3828,3805,135,5684,5691,5687,5663, - 5689,5688,5685,5686,5664,3920,3897,5451,5831,3759, - 829,889,5453,864,597,875,5432,5454,5452,800, - 5448,5449,5450,5432,568,5832,5833,825,1429,5432, - 5307,5307,227,5303,227,227,227,5311,227,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,5432,1226,227,1,1,1, - 1,1,1,1,1,1,5432,5071,5068,1, - 630,5116,123,4867,222,129,5432,5300,395,5166, - 5166,3275,282,5432,2401,1,1,1,3077,223, - 5845,1319,398,5446,5447,2288,5690,5769,5770,1, - 417,227,5684,5691,5687,5663,5689,5688,5685,5686, - 5664,5690,5769,5770,2322,5933,5432,5684,5691,5687, - 5663,5689,5688,5685,5686,5664,282,5432,5432,8770, - 8770,5868,5869,5870,5432,5307,5307,227,5303,227, - 227,227,5355,227,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,2908, - 2935,227,1,1,1,1,1,1,1,1, - 1,3212,33,5432,1,5110,5468,3023,5110,5432, - 5110,5110,5300,37,5294,5294,8,5444,5294,5791, - 1,1,1,3077,5429,5845,1319,5110,5110,5110, - 43,5276,5276,1,127,416,227,5432,5432,5110, - 5110,159,345,5071,5068,583,630,649,331,4867, - 5933,331,5432,136,1,5291,5291,5110,5288,5432, - 331,3280,363,331,5432,5110,5868,5869,5870,5432, - 5110,5110,5110,5110,5110,5110,5443,5067,5273,367, - 5159,5155,583,5163,649,1,4867,5429,1,5110, - 5110,5110,5110,5110,5110,5110,5110,5110,5110,5110, - 5110,5110,5110,5110,37,1056,159,5110,5110,5110, - 5110,5110,5110,5110,5110,5110,5110,5110,5110,5110, - 5432,5110,5110,5113,3494,116,5113,363,5113,5113, - 2460,2431,29,388,388,5270,388,388,5270,388, - 5270,5270,1056,5432,363,5113,5113,5113,1,1283, - 3131,3048,5468,2288,388,388,388,5113,5113,5270, - 388,388,388,388,388,388,388,388,388,1, - 5159,5155,5346,5163,5352,5113,5349,5442,396,38, - 5089,5086,389,5113,5083,131,4867,5074,5113,5113, - 5113,5113,5113,5113,132,5270,5441,309,5159,5155, - 4276,5163,649,5367,4867,5270,5367,5113,5113,5113, - 5113,5113,5113,5113,5113,5113,5113,5113,5113,5113, - 5113,5113,3353,122,5432,5113,5113,5113,5113,5113, - 5113,5113,5113,5113,5113,5113,5113,5113,121,5113, - 5113,5432,5376,5376,227,5376,227,227,227,5379, - 227,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,5432,5432,227,1, - 1,8736,1,1,1,1,1,1,445,1, - 1,1,1,2369,5095,224,5432,5095,5432,5373, - 111,347,2369,5432,1804,137,1,1,1,1, - 3461,5438,5641,2028,5438,3580,3513,5690,5769,5770, - 2908,2935,218,5684,5691,5687,5663,5689,5688,5685, - 5686,5664,36,5331,5328,2908,2935,5933,5432,5376, - 5376,227,5376,227,227,227,227,227,1,1, + 5437,1,1,1,1,1,1,5437,1,1, + 1,3084,1,5610,2030,5441,3582,1,1,5448, + 36,5333,5330,3968,135,3991,1509,3995,3537,2251, + 3421,3857,3181,3972,3076,3949,3615,3926,39,5073, + 5070,4834,632,3784,3853,4869,136,3876,882,5701, + 5699,5708,5707,5703,5704,5702,5705,5706,5709,5700, + 5696,5775,5776,3830,3807,5437,5690,5697,5693,5669, + 5695,5694,5691,5692,5670,3922,3899,5456,5837,3761, + 831,891,5458,866,599,877,5437,5459,5457,802, + 5453,5454,5455,5437,570,5838,5839,827,1431,5437, + 5309,5309,228,5305,228,228,228,5313,228,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,120,1056,227,1,1,8736,1, - 1,1,1,1,1,1946,5437,5432,1,5437, - 1,5159,5155,4276,5163,649,5373,4867,309,3966, - 5432,3989,130,3437,1,1,1,3461,128,5641, - 2028,2401,3580,5432,5446,5447,1099,309,649,5432, - 4867,4086,1903,1860,1817,1774,1731,1688,1645,1602, - 1559,1516,459,5432,5933,5432,5376,5376,227,5376, - 227,227,227,5388,227,1,1,1,1,1, + 1,1,1,1,2290,5440,228,1,1,1, + 1,1,1,1,1,1,5437,5073,5070,1, + 632,5118,5437,4869,223,5437,2290,5302,396,5168, + 5168,1289,283,111,1265,1,1,1,3079,224, + 5851,1321,127,298,5451,5452,5696,5775,5776,5437, + 418,228,5690,5697,5693,5669,5695,5694,5691,5692, + 5670,5696,5775,5776,2324,5939,5437,5690,5697,5693, + 5669,5695,5694,5691,5692,5670,283,128,5437,5437, + 8780,8780,5874,5875,5876,5437,5309,5309,228,5305, + 228,228,228,5357,228,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 2908,2935,227,1,1,8736,1,1,1,1, - 1,1,37,5294,5294,1,5432,370,331,225, - 5432,5071,5068,5373,630,649,5432,4867,297,5446, - 5447,1,1,1,3461,5098,5641,2028,5432,3580, - 5432,5690,5769,5770,2460,2431,217,5684,5691,5687, - 5663,5689,5688,5685,5686,5664,5432,37,5294,5294, - 5468,5933,5432,5376,5376,227,5376,227,227,227, - 5379,227,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1338,1989,227, - 1,1,8736,1,1,1,1,1,1,5432, - 5071,5068,1,630,5116,3242,4867,446,39,39, - 5373,5470,110,5285,1,533,5285,5432,1,1, - 1,3461,363,5641,2028,5440,3580,1,5159,5155, - 583,5163,649,218,4867,5258,5432,5432,5159,5155, - 4276,5163,649,5367,4867,516,5367,2964,5933,5432, - 5376,5376,227,5376,227,227,227,5379,227,1, + 121,37,228,1,1,1,1,1,1,1, + 1,1,3968,33,3991,1,5112,5473,5437,5112, + 5437,5112,5112,5302,5951,37,5296,5296,2462,2433, + 5296,1,1,1,3079,5437,5851,1321,5112,5112, + 5112,43,5278,5278,1,312,417,228,4102,5473, + 5112,5112,159,346,5073,5070,585,632,651,332, + 4869,5939,332,2462,2433,5437,5437,110,5112,2992, + 5437,5073,5070,3282,632,5118,5112,4869,5874,5875, + 5876,5112,5112,5112,5112,5112,5112,2910,2937,5275, + 5437,5161,5157,4278,5165,651,5369,4869,131,5369, + 5112,5112,5112,5112,5112,5112,5112,5112,5112,5112, + 5112,5112,5112,5112,5112,1154,1058,159,2966,5112, + 5112,5112,5112,5112,5112,5112,5112,5112,5112,5112, + 5112,5112,5112,5112,5437,39,459,5115,116,5475, + 5115,332,5115,5115,332,349,29,389,389,5272, + 389,389,5272,389,5272,5272,3968,5437,3991,5115, + 5115,5115,2077,3133,3050,292,5451,5452,389,389, + 389,5115,5115,5272,389,389,389,389,389,389, + 389,389,389,1,5161,5157,5348,5165,5354,5115, + 5351,5447,5437,38,5091,5088,2371,5115,5085,5103, + 4869,5076,5115,5115,5115,5115,5115,5115,1058,5272, + 5446,310,5161,5157,4278,5165,651,5369,4869,5272, + 5369,5115,5115,5115,5115,5115,5115,5115,5115,5115, + 5115,5115,5115,5115,5115,5115,89,120,5437,5106, + 5115,5115,5115,5115,5115,5115,5115,5115,5115,5115, + 5115,5115,5115,5115,5115,5437,5378,5378,228,5378, + 228,228,228,5381,228,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,4039,3691,227,1,1,8736, - 1,1,1,1,1,1,1012,363,5439,1, - 1056,1,5159,5155,4276,5163,649,5373,4867,318, - 5261,3966,5358,3989,363,1,1,1,3461,2075, - 5641,2028,5432,3580,893,345,39,39,3495,5470, - 218,331,235,458,331,5264,348,1,5159,5155, - 4276,5163,649,98,4867,5933,5432,5376,5376,227, - 5376,227,227,227,227,227,1,1,1,1, + 118,5437,228,1,1,8837,1,1,1,1, + 1,1,446,1,1,1,1,5437,5097,225, + 5437,5097,5437,5375,5437,3133,3050,5437,5449,137, + 407,1,1,1,3463,5443,5647,2030,5342,3582, + 98,5696,5775,5776,2910,2937,219,5690,5697,5693, + 5669,5695,5694,5691,5692,5670,3214,5345,5437,8712, + 8707,5939,5437,5378,5378,228,5378,228,228,228, + 228,228,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,5448,117,228, + 1,1,8837,1,1,1,1,1,1,1948, + 5442,5437,1,4475,1,5161,5157,4278,5165,651, + 5375,4869,310,3133,3050,302,132,3439,1,1, + 1,3463,5437,5647,2030,5738,3582,5437,5451,5452, + 1101,310,651,5437,4869,5437,4088,1905,1862,1819, + 1776,1733,1690,1647,1604,1561,1518,29,5939,5437, + 5378,5378,228,5378,228,228,228,5390,228,1, 1,1,1,1,1,1,1,1,1,1, - 1,5432,1056,227,1,1,8736,1,1,1, - 1,1,1,90,1,1,1,1,1056,5297, - 5432,39,5297,5432,5373,5470,5101,331,5442,1056, - 331,5432,1,1,1,3461,4473,5641,2028,2075, - 3580,1,5159,5155,583,5163,649,5441,4867,331, - 5071,5068,4276,630,649,5432,4867,291,5446,5447, - 5432,362,5933,5432,5376,5376,227,5376,227,227, - 227,227,227,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,5432,4058, - 227,1,1,8736,1,1,1,1,1,1, - 5432,8701,8657,1,1056,1,5159,5155,5346,5163, - 5352,5373,5349,118,39,5432,8701,8657,5470,1, - 1,1,3461,5945,5641,2028,1,3580,5874,3495, - 2541,93,39,39,341,5470,1540,5361,3131,3048, - 5361,5432,5071,5068,1,630,649,4416,4867,5933, - 5432,5376,5376,227,5376,227,227,227,227,227, + 1,1,1,1,2745,5437,228,1,1,8837, + 1,1,1,1,1,1,37,5296,5296,1, + 4535,4417,332,226,5437,5073,5070,5375,632,651, + 5437,4869,576,5880,5437,1,1,1,3463,337, + 5647,2030,5447,3582,2371,5696,5775,5776,5437,426, + 218,5690,5697,5693,5669,5695,5694,5691,5692,5670, + 3496,5446,5775,5776,5473,5939,5437,5378,5378,228, + 5378,228,228,228,5381,228,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,117,5432,227,1,1, - 8736,1,1,1,1,1,1,5432,5432,1056, - 1,5432,5446,5447,341,341,124,5432,5373,341, - 3131,3048,5432,5317,5314,5432,1,1,1,3461, - 5432,5641,2028,29,3580,5432,5868,5869,5870,5432, - 5255,5252,311,5432,74,4100,4160,3377,5432,1, - 1,1,1,1,1,1,5933,1,1,1, + 1,5437,5437,228,1,1,8837,1,1,1, + 1,1,1,37,5296,5296,1,5437,1,5161, + 5157,4278,5165,651,5375,4869,348,236,1,1806, + 5266,1,1,1,1,3463,364,5647,2030,5396, + 3582,1,5161,5157,585,5165,651,219,4869,5260, + 1,5293,5293,5437,5290,535,332,3574,364,332, + 5069,3244,5939,5437,5378,5378,228,5378,228,228, + 228,5381,228,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,5437,1058, + 228,1,1,8837,1,1,1,1,1,1, + 441,364,5444,1,1058,332,5073,5070,4278,632, + 651,5375,4869,319,5263,3693,5360,5437,364,1, + 1,1,3463,364,5647,2030,5437,3582,5437,346, + 39,39,3497,5475,219,332,5443,321,332,8, + 364,1,5161,5157,4278,5165,651,5434,4869,5939, + 5437,5378,5378,228,5378,228,228,228,228,228, 1,1,1,1,1,1,1,1,1,1, - 5468,2672,3572,1,1,1,3943,1378,3495,5834, - 4101,5494,5495,5258,5092,1,1,1,5074,1, - 1,1,1,1,1,1,301,1,1,1, - 1,1,1,5888,3943,1378,5732,3616,1,5969, - 2574,2502,1152,1,1,1,5159,5155,4832,5163, - 3782,3851,4867,5432,3874,5119,5146,5152,5125,5128, - 5140,5137,5143,5134,5131,5122,5149,5432,1056,5432, - 3828,3805,1,5432,5432,5432,4161,5438,5261,739, - 529,126,3920,3897,5451,2743,3759,829,889,5453, - 864,597,875,804,5454,5452,800,5448,5449,5450, - 5432,5324,5320,5432,5432,1429,290,877,877,5432, - 39,39,4220,517,39,5071,5068,4832,630,3782, - 3851,4867,5426,3874,629,5695,5693,5702,5701,5697, - 5698,5696,5699,5700,5703,5694,2672,5432,4907,3828, - 3805,1684,5437,4533,4415,529,47,5432,5468,5279, - 4322,3920,3897,5451,125,3759,829,889,5453,864, - 597,875,5432,5454,5452,800,5448,5449,5450,45, - 5337,5337,4106,4415,1429,2574,2502,5432,5432,5317, - 5314,5410,5432,1322,5432,5439,139,5071,5068,4832, - 630,3782,3851,4867,2834,3874,629,5695,5693,5702, - 5701,5697,5698,5696,5699,5700,5703,5694,1,2672, - 1,3828,3805,5432,5446,5447,5391,5334,161,5432, - 5432,5444,5282,3920,3897,5451,5468,3759,829,889, - 5453,864,597,875,5432,5454,5452,800,5448,5449, - 5450,37,5294,5294,5432,368,1429,4347,2574,2502, - 4405,39,39,1,5159,5155,4832,5163,3782,3851, - 4867,441,3874,5119,5146,5152,5125,5128,5140,5137, - 5143,5134,5131,5122,5149,5443,5432,5432,3828,3805, - 5443,5432,3490,161,4414,406,320,455,388,5468, - 3920,3897,5451,5340,3759,829,889,5453,864,597, - 875,5432,5454,5452,800,5448,5449,5450,101,284, - 429,4546,5343,1429,97,1386,5077,5432,39,39, - 39,5071,5068,4832,630,3782,3851,4867,5407,3874, - 629,5695,5693,5702,5701,5697,5698,5696,5699,5700, - 5703,5694,5080,5107,5432,3828,3805,5432,1770,1056, - 3005,277,4111,375,5370,5432,397,3920,3897,5451, - 388,3759,829,889,5453,864,597,875,5432,5454, - 5452,800,5448,5449,5450,1,1,1239,5715,5432, - 1429,5432,3220,5432,5432,5382,5382,5410,39,5071, - 5068,4832,630,3782,3851,4867,5407,3874,629,5695, - 5693,5702,5701,5697,5698,5696,5699,5700,5703,5694, - 574,574,29,3828,3805,5385,5385,48,292,449, - 396,5447,72,3669,3669,3920,3897,5451,5432,3759, - 829,889,5453,864,597,875,3437,5454,5452,800, - 5448,5449,5450,5432,1,5432,5432,972,1429,5902, - 5896,1,39,5900,5442,5410,5470,290,421,5442, - 1,48,5432,5432,35,5446,3614,574,189,5894, - 5895,4039,5447,5441,3210,574,509,5364,5441,427, - 507,5925,5926,3352,425,5903,5432,189,2114,4573, - 5432,2562,5432,4199,5432,4815,1,4879,5432,5905, - 3582,2531,5432,5432,1,4880,4403,661,5432,1712, - 1718,5432,5906,5927,5904,2162,5446,183,5432,450, - 308,5432,5432,5432,5432,5432,8346,4476,2201,522, - 2,5916,5915,5928,3529,3579,5897,5898,5921,5922, - 5919,5920,5899,5901,5923,5924,4729,5432,4097,5929, - 4888,5909,5910,5911,5907,5908,5917,5918,5913,5912, - 5914,39,5071,5068,4832,630,3782,3851,4867,5436, - 3874,629,5695,5693,5702,5701,5697,5698,5696,5699, - 5700,5703,5694,3217,5432,37,3828,3805,2632,4072, - 3255,5432,3529,3293,4259,2032,5432,5432,3920,3897, - 5451,511,3759,829,889,5453,864,597,875,5432, - 5454,5452,800,5448,5449,5450,39,5071,5068,4832, - 630,3782,3851,4867,2751,3874,629,5695,5693,5702, - 5701,5697,5698,5696,5699,5700,5703,5694,5423,5432, - 5432,3828,3805,5432,5432,5432,5432,4039,5432,5432, - 5432,5432,5432,3920,3897,5451,5432,3759,829,889, - 5453,864,597,875,5432,5454,5452,800,5448,5449, - 5450,2615,5432,5432,5432,5432,1429,5432,5435,39, - 5071,5068,4832,630,3782,3851,4867,5432,3874,629, - 5695,5693,5702,5701,5697,5698,5696,5699,5700,5703, - 5694,5432,5432,5432,3828,3805,5432,5432,5432,5432, - 5432,5432,5432,5432,5432,5432,3920,3897,5451,5432, - 3759,829,889,5453,864,597,875,5432,5454,5452, - 800,5448,5449,5450,39,5071,5068,4832,630,3782, - 3851,4867,1685,3874,629,5695,5693,5702,5701,5697, - 5698,5696,5699,5700,5703,5694,5432,5432,5432,3828, - 3805,5432,5432,5432,5432,5432,5432,5432,5432,5432, - 5432,3920,3897,5451,5432,3759,829,889,5453,864, - 597,875,5432,5454,5452,800,5448,5449,5450,5432, - 5432,5432,5432,5432,1429,39,5071,5068,3551,630, - 3782,3851,4867,5432,3874,629,5695,5693,5702,5701, - 5697,5698,5696,5699,5700,5703,5694,5432,5432,5432, - 3828,3805,5432,5432,5432,5432,5432,5432,5432,5432, - 5432,5432,3920,3897,5451,5432,3759,829,889,5453, - 864,597,875,5432,5454,5452,800,5448,5449,5450, - 39,5071,5068,4832,630,3782,3851,4867,5432,3874, - 629,5695,5693,5702,5701,5697,5698,5696,5699,5700, - 5703,5694,5432,5432,5432,3828,3805,5432,5432,5432, - 5432,5432,5432,5432,5432,5432,5432,3920,3897,5451, - 5432,3759,829,889,5453,864,597,875,5432,5454, - 5452,800,5448,5449,5450,39,5071,5068,4832,630, - 3782,3851,4867,5432,3874,629,5695,5693,5702,5701, - 5697,5698,5696,5699,5700,5703,5694,5432,5432,5432, - 3828,3805,5432,5432,5432,5432,5432,5432,5432,5432, - 5432,5432,3920,3897,5451,5432,3759,829,889,5453, - 864,597,875,5432,5454,5452,800,5448,5449,5450, - 5432,5071,5068,5432,5470,5432,5432,5432,5432,5432, - 680,5695,5693,5702,5701,5697,5698,5696,5699,5700, - 5703,5694,5690,5769,5770,5432,5432,5432,5684,5691, - 5687,5663,5689,5688,5685,5686,5664,5432,5432,5432, - 5831,5432,5432,5432,5432,5432,5432,5432,5432,239, - 5245,5241,5432,5249,5432,5432,568,5832,5833,680, - 5232,5238,5211,5214,5226,5223,5229,5220,5217,5208, - 5235,5187,5181,5178,5432,5432,5432,5205,5184,5196, - 5175,5190,5193,5202,5199,5172,5432,5432,5432,5831, - 32,389,389,5267,389,389,5267,389,5267,5267, - 5432,5432,5432,5432,5432,568,5832,5833,5432,5432, - 5432,5432,389,389,389,5432,221,5267,389,389, - 389,389,389,389,389,389,389,5695,5693,5702, - 5701,5697,5698,5696,5699,5700,5703,5694,5690,5769, - 5770,5432,5432,5432,5684,5691,5687,5663,5689,5688, - 5685,5686,5664,5267,5432,5432,5432,5432,5432,5432, - 5432,5432,5432,5267 + 1,1,1,1,1,5437,1058,228,1,1, + 8837,1,1,1,1,1,1,447,39,39, + 1,5475,1058,5287,4108,4417,5287,4909,5375,1, + 1058,5442,4418,5874,5875,5876,1,1,1,3463, + 5434,5647,2030,2077,3582,5437,368,5161,5157,585, + 5165,651,1,4869,1,1,1,5161,5157,585, + 5165,651,5393,4869,47,5437,5939,5437,5378,5378, + 228,5378,228,228,228,228,228,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,5437,5437,228,1,1,8837,1,1, + 1,1,1,1,90,1,1,1,1,1058, + 5299,5437,2836,5299,4162,5375,1285,1991,130,1058, + 4103,5448,363,1,1,1,3463,2403,5647,2030, + 1,3582,5437,3497,5437,5437,5451,5452,342,1, + 5161,5157,5348,5165,5354,5437,5351,5437,8712,8707, + 291,879,879,5939,5437,5378,5378,228,5378,228, + 228,228,228,228,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5437, + 3492,228,1,1,8837,1,1,1,1,1, + 1,2543,5437,1058,1,5437,5257,5254,342,342, + 3945,1380,5375,342,5437,359,5840,4163,29,442, + 1,1,1,3463,5437,5647,2030,4222,3582,5437, + 93,39,39,5437,5475,456,5363,5445,74,5363, + 5437,3379,5437,1,1,1,1,1,1,1, + 5939,1,1,1,1,1,1,1,1,1, + 1,1,1,1,5437,5451,5452,1,1,137, + 3945,1380,5449,5076,5079,5499,5500,124,398,1, + 1,1,389,1,1,1,1,1,1,1, + 5082,1,1,1,1,1,1,5437,1014,5437, + 5444,3618,1,5976,285,5795,5437,1,1,1, + 5161,5157,4834,5165,3784,3853,4869,1,3876,5121, + 5148,5154,5127,5130,5142,5139,5145,5136,5133,5124, + 5151,5448,2674,576,3830,3807,5437,5073,5070,5437, + 632,651,4324,4869,741,5094,3922,3899,5456,5437, + 3761,831,891,5458,866,599,877,806,5459,5457, + 802,5453,5454,5455,5437,5319,5316,5894,5437,1431, + 1101,2576,2504,5721,39,39,4088,518,39,5073, + 5070,4834,632,3784,3853,4869,5431,3876,631,5701, + 5699,5708,5707,5703,5704,5702,5705,5706,5709,5700, + 5437,5326,5322,3830,3807,5437,5437,5797,5437,3025, + 1,4349,5473,3497,430,3922,3899,5456,5260,3761, + 831,891,5458,866,599,877,450,5459,5457,802, + 5453,5454,5455,45,5339,5339,39,397,1431,1, + 5475,390,5437,5319,5316,5412,2753,5443,5473,5444, + 139,5073,5070,4834,632,3784,3853,4869,1542,3876, + 631,5701,5699,5708,5707,5703,5704,5702,5705,5706, + 5709,5700,5437,1058,1,3830,3807,37,5296,5296, + 5437,5336,531,5263,1686,97,3222,3922,3899,5456, + 5473,3761,831,891,5458,866,599,877,2564,5459, + 5457,802,5453,5454,5455,1,5437,5437,5437,4416, + 1431,371,5442,161,1324,39,39,1,5161,5157, + 4834,5165,3784,3853,4869,5473,3876,5121,5148,5154, + 5127,5130,5142,5139,5145,5136,5133,5124,5151,5874, + 5875,5876,3830,3807,5437,5437,369,531,1241,1, + 5437,126,389,5447,3922,3899,5456,5447,3761,831, + 891,5458,866,599,877,1,5459,5457,802,5453, + 5454,5455,5446,293,5437,5437,5446,1431,161,1772, + 291,1340,39,39,39,5073,5070,4834,632,3784, + 3853,4869,5409,3876,631,5701,5699,5708,5707,5703, + 5704,5702,5705,5706,5709,5700,2674,5109,101,3830, + 3807,4548,4407,1228,4060,5437,1388,5437,3007,5281, + 39,3922,3899,5456,5475,3761,831,891,5458,866, + 599,877,125,5459,5457,802,5453,5454,5455,3355, + 1,5437,3212,2116,1431,2576,2504,428,5437,8147, + 5384,5412,39,5073,5070,4834,632,3784,3853,4869, + 5409,3876,631,5701,5699,5708,5707,5703,5704,5702, + 5705,5706,5709,5700,422,1,5437,3830,3807,278, + 5387,5437,5372,397,72,5384,5437,2674,3671,3922, + 3899,5456,5437,3761,831,891,5458,866,599,877, + 5284,5459,5457,802,5453,5454,5455,5437,1,5437, + 1,974,1431,5908,5902,5387,4099,5906,189,5412, + 48,35,510,3671,5452,48,2576,2504,508,5451, + 451,576,5437,5900,5901,3616,3439,189,576,5366, + 5437,3354,309,4575,2203,5931,5932,5437,3515,5909, + 4201,5437,5437,5437,5437,4817,4881,2533,5437,376, + 524,4882,3584,5911,2164,5437,5437,1,4405,4478, + 5437,663,523,1714,1720,5452,5912,5933,5910,5437, + 5451,5437,5437,5437,5437,192,5437,183,5437,512, + 5437,3531,4731,2,5437,5922,5921,5934,4890,2634, + 5903,5904,5927,5928,5925,5926,5905,5907,5929,5930, + 5437,4074,5437,5437,5935,5437,5915,5916,5917,5913, + 5914,5923,5924,5919,5918,5920,39,5073,5070,4834, + 632,3784,3853,4869,5441,3876,631,5701,5699,5708, + 5707,5703,5704,5702,5705,5706,5709,5700,37,3531, + 1,3830,3807,4041,3219,3257,3295,4261,2034,2617, + 5425,4041,1,3922,3899,5456,5437,3761,831,891, + 5458,866,599,877,4041,5459,5457,802,5453,5454, + 5455,39,5073,5070,4834,632,3784,3853,4869,3581, + 3876,631,5701,5699,5708,5707,5703,5704,5702,5705, + 5706,5709,5700,5437,5437,5437,3830,3807,5428,5437, + 5437,5437,5437,5437,5437,5437,5437,5437,3922,3899, + 5456,5437,3761,831,891,5458,866,599,877,5437, + 5459,5457,802,5453,5454,5455,5437,5437,5437,5437, + 5437,1431,5437,5437,5440,39,5073,5070,4834,632, + 3784,3853,4869,5437,3876,631,5701,5699,5708,5707, + 5703,5704,5702,5705,5706,5709,5700,5437,5437,5437, + 3830,3807,5437,5437,5437,5437,5437,5437,5437,5437, + 5437,5437,3922,3899,5456,5437,3761,831,891,5458, + 866,599,877,5437,5459,5457,802,5453,5454,5455, + 39,5073,5070,4834,632,3784,3853,4869,1687,3876, + 631,5701,5699,5708,5707,5703,5704,5702,5705,5706, + 5709,5700,5437,5437,5437,3830,3807,5437,5437,5437, + 5437,5437,5437,5437,5437,5437,5437,3922,3899,5456, + 5437,3761,831,891,5458,866,599,877,5437,5459, + 5457,802,5453,5454,5455,5437,5437,5437,5437,5437, + 1431,39,5073,5070,3553,632,3784,3853,4869,5437, + 3876,631,5701,5699,5708,5707,5703,5704,5702,5705, + 5706,5709,5700,5437,5437,5437,3830,3807,5437,5437, + 5437,5437,5437,5437,5437,5437,5437,5437,3922,3899, + 5456,5437,3761,831,891,5458,866,599,877,5437, + 5459,5457,802,5453,5454,5455,39,5073,5070,4834, + 632,3784,3853,4869,5437,3876,631,5701,5699,5708, + 5707,5703,5704,5702,5705,5706,5709,5700,5437,5437, + 5437,3830,3807,5437,5437,5437,5437,5437,5437,5437, + 5437,5437,5437,3922,3899,5456,5437,3761,831,891, + 5458,866,599,877,5437,5459,5457,802,5453,5454, + 5455,39,5073,5070,4834,632,3784,3853,4869,5437, + 3876,631,5701,5699,5708,5707,5703,5704,5702,5705, + 5706,5709,5700,5437,5437,5437,3830,3807,5437,5437, + 5437,5437,5437,5437,5437,5437,5437,5437,3922,3899, + 5456,5437,3761,831,891,5458,866,599,877,5437, + 5459,5457,802,5453,5454,5455,5437,5073,5070,5437, + 5475,5437,5437,5437,5437,5437,682,5701,5699,5708, + 5707,5703,5704,5702,5705,5706,5709,5700,5696,5775, + 5776,5437,5437,5437,5690,5697,5693,5669,5695,5694, + 5691,5692,5670,5437,5437,5437,5837,5437,5437,5437, + 5437,5437,5437,5437,5437,240,5247,5243,5437,5251, + 5437,5437,570,5838,5839,682,5234,5240,5213,5216, + 5228,5225,5231,5222,5219,5210,5237,5189,5183,5180, + 5437,5437,5437,5207,5186,5198,5177,5192,5195,5204, + 5201,5174,5437,5437,5437,5837,32,390,390,5269, + 390,390,5269,390,5269,5269,5437,5437,5437,5437, + 5437,570,5838,5839,5437,5437,5437,5437,390,390, + 390,5437,222,5269,390,390,390,390,390,390, + 390,390,390,5701,5699,5708,5707,5703,5704,5702, + 5705,5706,5709,5700,5696,5775,5776,5437,5437,5437, + 5690,5697,5693,5669,5695,5694,5691,5692,5670,5269, + 5437,5437,5437,5437,5437,5437,5437,5437,5437,5269 }; }; public final static char termAction[] = TermAction.termAction; @@ -1807,59 +1808,59 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Asb { public final static char asb[] = {0, - 107,156,202,150,148,865,865,865,865,1000, - 148,803,803,1050,803,290,186,292,203,203, + 107,156,202,150,148,865,865,865,865,998, + 148,803,803,1048,803,290,186,292,203,203, 203,203,203,203,203,203,203,805,811,816, 813,820,818,825,823,827,826,828,433,829, - 202,202,1090,1090,1090,1090,241,664,7,7, - 800,1090,337,430,803,803,7,241,430,430, - 421,186,877,1089,1044,1002,937,202,803,805, + 202,202,1088,1088,1088,1088,241,664,7,7, + 800,1088,337,430,803,803,7,241,430,430, + 421,186,877,1087,1042,1000,935,202,803,805, 761,761,664,202,203,203,203,203,203,203, 203,203,203,203,203,203,203,203,203,203, 203,203,203,202,202,202,202,202,202,202, 202,202,202,202,202,203,430,781,781,781, - 781,530,430,7,7,998,926,937,249,937, - 244,937,1,937,921,1000,241,337,337,7, - 865,203,998,297,68,651,650,540,944,944, - 1000,292,337,1089,202,239,1043,238,240,238, + 781,530,430,7,7,996,924,935,249,935, + 244,935,1,935,919,998,241,337,337,7, + 865,203,996,297,68,651,650,540,942,942, + 998,292,337,1087,202,239,1041,238,240,238, 430,337,813,813,811,811,811,818,818,818, 818,816,816,823,820,820,826,825,827,793, 828,148,148,148,148,241,241,781,780,781, - 800,241,482,485,246,529,247,1000,241,241, - 530,781,421,337,844,430,70,72,241,1044, - 203,1090,809,386,430,1002,241,241,240,1044, + 800,241,482,485,246,529,247,998,241,241, + 530,781,421,337,844,430,70,72,241,1042, + 203,1088,809,386,430,1000,241,241,240,1042, 202,202,202,202,202,148,148,186,483,798, 796,485,241,710,586,708,530,249,534,241, 530,241,430,655,643,654,72,530,239,430, - 809,998,1043,1002,241,239,430,430,430,430, + 809,996,1041,1000,241,239,430,430,430,430, 664,664,483,796,537,241,485,793,247,865, 532,59,783,485,710,709,710,710,530,534, 534,241,241,576,202,652,652,591,591,241, - 66,998,610,430,241,809,810,809,202,386, - 64,805,1002,430,430,796,796,1044,249,249, + 66,996,610,430,241,809,810,809,202,386, + 64,805,1000,430,430,796,796,1042,249,249, 781,865,238,659,785,235,148,710,710,710, 710,241,534,536,853,536,576,202,202,72, - 241,1044,430,70,643,576,979,809,664,203, + 241,1042,430,70,643,576,977,809,664,203, 337,64,796,795,239,722,249,341,501,239, - 710,710,235,849,203,793,599,858,241,998, + 710,710,235,849,203,793,599,858,241,996, 710,710,714,536,537,203,241,775,72,576, - 810,430,337,796,850,722,722,706,1004,474, - 148,247,378,501,239,710,249,1000,785,203, - 203,1043,235,867,1117,715,241,537,775,430, - 775,537,722,722,340,474,706,871,1000,780, + 810,430,337,796,850,722,722,706,1002,474, + 148,247,378,501,239,710,249,998,785,203, + 203,1041,235,867,1115,715,241,537,775,430, + 775,537,722,722,340,474,706,871,998,780, 865,604,604,850,249,166,867,241,148,714, - 241,1000,1000,241,148,768,775,537,341,722, - 850,598,849,430,1000,241,501,341,501,779, - 779,875,167,1000,241,664,241,241,241,73, - 768,722,202,253,235,850,241,241,501,1090, - 1090,875,166,793,203,793,850,165,148,148, + 241,998,998,241,148,768,775,537,341,722, + 850,598,849,430,998,241,501,341,501,779, + 779,875,167,998,241,664,241,241,241,73, + 768,722,202,253,235,850,241,241,501,1088, + 1088,875,166,793,203,793,850,165,148,148, 148,167,148,241,441,850,850,241,249,430, 241,241,429,770,537,430,537,249,241,850, 780,158,148,158,167,793,167,186,186,184, - 919,186,850,850,602,875,1090,770,537,253, + 165,186,850,850,602,164,1088,770,537,253, 850,105,610,167,430,235,430,184,474,148, - 430,875,253,604,430,430,992,167,602,167, - 850,474,202,167,164,536,779,249,249,994, + 430,875,253,604,430,430,990,167,602,167, + 850,474,202,167,164,536,779,249,249,992, 202,165,664,850,430,848,252,238,167,430, 850,848,848,167 }; @@ -1884,8 +1885,8 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 18,46,47,49,60,50,51,10,19,20, 21,52,53,54,39,1,2,37,38,9, 6,25,26,5,41,4,61,3,0,8, - 72,117,73,27,69,120,0,86,102,103, - 104,48,72,118,121,71,61,74,62,59, + 72,118,73,27,69,120,0,86,103,104, + 105,48,72,102,121,71,61,74,62,59, 64,76,78,84,82,75,80,81,83,85, 67,77,79,27,8,28,40,23,56,29, 30,31,32,33,34,35,57,36,58,22, @@ -1902,22 +1903,22 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 43,47,45,42,51,12,21,11,17,15, 16,18,19,14,13,20,52,53,54,39, 50,44,49,5,7,4,37,38,9,6, - 25,26,41,46,1,2,117,8,0,67, + 25,26,41,46,1,2,118,8,0,67, 40,23,13,56,29,14,31,32,15,16, 33,34,17,18,35,57,36,58,19,22, 20,24,21,12,11,28,8,3,9,6, 27,62,64,86,30,61,48,7,1,2, 5,4,10,59,0,91,89,25,26,92, 93,87,88,55,94,95,96,97,98,99, - 100,101,106,72,90,70,107,108,109,110, - 111,112,113,114,115,116,117,71,27,120, + 100,101,107,72,90,70,108,109,110,111, + 112,113,114,115,116,117,118,71,27,120, 68,1,2,9,6,4,3,63,69,73, - 8,0,68,72,90,69,117,73,71,120, + 8,0,68,72,90,69,118,73,71,120, 11,12,42,65,13,43,44,14,15,16, 66,45,17,18,46,47,49,60,50,51, 10,19,20,21,52,53,54,39,37,38, 25,26,41,8,27,5,7,1,2,4, - 3,9,6,0,86,59,7,102,103,104, + 3,9,6,0,86,59,7,103,104,105, 62,8,3,9,6,5,72,71,27,61, 28,11,12,40,23,13,56,29,30,14, 31,32,15,16,33,34,17,18,35,57, @@ -1940,7 +1941,7 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 46,47,49,60,50,51,10,19,20,21, 52,53,54,1,2,3,37,38,9,6, 25,26,5,41,4,39,0,4,55,8, - 72,67,0,22,1,2,4,102,103,104, + 72,67,0,22,1,2,4,103,104,105, 0,64,28,11,12,40,23,13,56,29, 86,30,14,31,32,15,16,33,59,34, 17,18,35,57,36,10,58,19,62,22, @@ -1949,39 +1950,38 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 3,72,27,67,60,8,90,73,70,69, 68,0,27,8,3,7,5,9,6,4, 1,2,72,0,60,23,24,7,5,1, - 2,4,74,67,119,105,37,38,63,3, + 2,4,74,67,119,106,37,38,63,3, 91,89,6,92,93,25,26,88,87,55, 94,95,96,97,9,98,99,100,68,90, - 73,120,70,107,108,109,110,111,112,113, - 114,115,116,72,117,101,106,71,69,27, + 73,120,70,108,109,110,111,112,113,114, + 115,116,117,72,118,101,107,71,69,27, 8,0,8,69,71,70,0,72,8,63, 3,70,69,27,55,0,8,67,69,0, - 8,67,70,0,118,0,65,66,37,38, + 8,67,70,0,102,0,65,66,37,38, 9,6,25,26,5,41,46,3,4,7, 52,53,54,39,50,44,49,12,21,11, 17,15,16,18,19,14,13,20,10,43, - 47,45,42,51,63,1,2,0,75,0, - 10,56,40,57,58,12,21,11,17,15, - 16,18,19,14,13,20,74,72,90,117, - 71,67,120,119,91,105,89,37,38,25, - 26,92,93,87,88,55,68,94,95,96, - 97,98,99,100,101,106,70,107,108,109, - 110,111,112,113,114,115,116,69,28,23, - 29,30,31,32,33,34,35,36,22,24, - 27,8,73,3,63,7,5,9,6,1, - 2,4,0,40,23,13,56,29,14,31, - 32,15,16,33,34,17,18,35,57,36, - 10,58,19,22,20,24,21,12,11,28, - 8,3,9,27,62,59,64,86,30,61, - 55,4,6,7,1,2,5,48,0,66, - 65,25,26,6,92,93,98,9,99,5, - 41,70,55,68,110,111,107,108,109,115, - 114,116,88,87,112,113,96,97,94,95, - 100,101,37,38,69,89,105,63,3,28, - 11,12,40,23,13,56,29,30,14,31, - 32,15,16,33,34,17,18,35,57,36, - 10,58,19,20,24,21,1,2,4,22, - 0 + 47,45,42,51,63,1,2,0,10,56, + 40,57,58,12,21,11,17,15,16,18, + 19,14,13,20,74,72,90,118,71,67, + 120,119,91,106,89,37,38,25,26,92, + 93,87,88,55,68,94,95,96,97,98, + 99,100,101,107,70,108,109,110,111,112, + 113,114,115,116,117,69,28,23,29,30, + 31,32,33,34,35,36,22,24,27,8, + 73,3,63,7,5,9,6,1,2,4, + 0,40,23,13,56,29,14,31,32,15, + 16,33,34,17,18,35,57,36,10,58, + 19,22,20,24,21,12,11,28,8,3, + 9,27,62,59,64,86,30,61,55,4, + 6,7,1,2,5,48,0,66,65,25, + 26,6,92,93,98,9,99,5,41,70, + 55,68,111,112,108,109,110,116,115,117, + 88,87,113,114,96,97,94,95,100,101, + 37,38,69,89,106,63,3,28,11,12, + 40,23,13,56,29,30,14,31,32,15, + 16,33,34,17,18,35,57,36,10,58, + 19,20,24,21,1,2,4,22,0 }; }; public final static byte asr[] = Asr.asr; @@ -2097,8 +2097,8 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 119,30,118,96,108,49,50,56,57,59, 69,71,72,85,92,65,17,18,6,32, 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,123, + 28,51,80,81,82,5,29,34,35,36, + 37,38,39,40,41,42,43,117,3,123, 62,116 }; }; @@ -2192,16 +2192,16 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeLa { public final static byte scopeLa[] = { - 118,71,73,73,71,71,73,73,73,73, + 102,71,73,73,71,71,73,73,73,73, 73,71,27,71,1,68,1,73,121,67, 3,73,68,68,68,1,1,27,71,67, 1,1,1,71,1,1,4,68,69,27, - 1,1,68,73,73,73,118,73,1,27, - 1,27,27,71,117,73,73,73,117,1, + 1,1,68,73,73,73,102,73,1,27, + 1,27,27,71,118,73,73,73,118,1, 73,1,73,73,73,72,4,1,1,6, 73,68,68,68,68,73,3,1,1,73, - 73,3,1,117,73,1,1,1,27,73, - 117,73,5,73,1,48,70,72,73,1, + 73,3,1,118,73,1,1,1,27,73, + 118,73,5,73,1,48,70,72,73,1, 48,75,74,27,27,4,4,4,4,3, 1,67,1,1,3 }; @@ -2230,7 +2230,7 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeRhs { public final static char scopeRhs[] = {0, - 322,3,60,0,126,0,321,3,118,0, + 322,3,60,0,126,0,321,3,102,0, 126,172,0,126,178,74,0,216,0,254, 126,55,124,0,20,0,297,126,55,48, 0,20,53,0,33,132,0,20,53,0, @@ -2276,7 +2276,7 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 158,224,3,83,0,62,171,0,224,3, 83,0,126,171,62,171,0,303,126,165, 0,162,0,213,77,0,30,171,0,162, - 106,159,0,30,169,0,184,3,0,126, + 107,159,0,30,169,0,184,3,0,126, 149,0,218,3,0,213,63,266,0,162, 63,0,184,3,299,66,127,0,126,0, 0,0,0,299,66,127,0,2,145,126, @@ -2302,38 +2302,38 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeState { public final static char scopeState[] = {0, - 4788,4880,4879,4815,0,1649,2856,679,2713,0, - 3611,3554,3472,3369,3331,3293,3255,3217,3179,2959, - 2799,2531,0,542,0,2981,2099,1463,0,2632, - 2562,0,3611,3554,1722,1636,3472,3369,3331,3293, - 3255,3217,1507,3179,2959,2799,886,884,0,4677, - 4415,4124,0,4097,3220,0,3025,1453,0,4589, - 3477,0,1368,992,0,4373,4589,4305,3113,3477, - 3035,3445,4386,4072,2489,4058,4276,2721,583,2700, - 0,4615,4604,0,4615,4604,4185,4533,4487,4103, - 4475,4417,4091,4405,3611,3554,3472,3369,3331,3293, - 3255,3217,3179,2959,2799,0,4615,4604,4185,4533, - 4487,4103,4475,4417,4091,4405,0,3023,825,0, - 2489,4373,3300,4305,3113,4630,2721,4109,3262,1002, - 4621,2809,2828,2552,1273,0,804,739,0,1378, - 0,2072,2062,966,794,3113,2809,3035,583,2700, - 3495,3093,0,4241,538,2744,0,4824,4820,4806, - 4760,4756,4742,4738,4721,4673,4655,4899,4517,4289, - 4895,4841,4228,3426,4177,3157,2767,2739,3430,3195, - 0,2815,2604,4824,4820,4806,2245,2158,4760,1382, - 4756,4742,4738,4721,4673,2787,3630,3559,4655,3313, - 4899,3280,3275,3242,2834,4517,4289,2240,2984,4895, - 1148,4841,2716,4228,3426,4177,2153,3157,2767,2739, - 4241,649,2744,3430,3195,1326,950,664,630,2615, - 3035,3445,4386,4072,2489,4373,4058,4589,4305,3113, - 4276,2721,583,3477,2700,2964,2322,804,739,597, - 4035,4012,1099,2288,2369,2336,2460,2431,2401,2935, - 2908,2672,2644,2574,2502,3735,3711,3687,3131,3048, - 3989,3966,3943,3920,3897,3874,3851,3828,3805,3782, - 3759,2032,2249,2201,2162,2114,2075,1239,1386,1338, - 1283,893,1989,1056,830,755,692,1946,1903,1860, - 1817,1774,1731,1688,1645,1602,1559,1516,538,1473, - 1429,1196,1012,968,1152,0 + 4790,4882,4881,4817,0,1651,2858,681,2715,0, + 3613,3556,3474,3371,3333,3295,3257,3219,3181,2961, + 2801,2533,0,544,0,2983,2101,1465,0,2634, + 2564,0,3613,3556,1724,1638,3474,3371,3333,3295, + 3257,3219,1509,3181,2961,2801,888,886,0,4679, + 4417,4126,0,4099,3222,0,3027,1455,0,4591, + 3479,0,1370,994,0,4375,4591,4307,3115,3479, + 3037,3447,4388,4074,2491,4060,4278,2723,585,2702, + 0,4617,4606,0,4617,4606,4187,4535,4489,4105, + 4477,4419,4093,4407,3613,3556,3474,3371,3333,3295, + 3257,3219,3181,2961,2801,0,4617,4606,4187,4535, + 4489,4105,4477,4419,4093,4407,0,3025,827,0, + 2491,4375,3302,4307,3115,4632,2723,4111,3264,1004, + 4623,2811,2830,2554,1275,0,806,741,0,1380, + 0,2074,2064,968,796,3115,2811,3037,585,2702, + 3497,3095,0,4243,540,2746,0,4826,4822,4808, + 4762,4758,4744,4740,4723,4675,4657,4901,4519,4291, + 4897,4843,4230,3428,4179,3159,2769,2741,3432,3197, + 0,2817,2606,4826,4822,4808,2247,2160,4762,1384, + 4758,4744,4740,4723,4675,2789,3632,3561,4657,3315, + 4901,3282,3277,3244,2836,4519,4291,2242,2986,4897, + 1150,4843,2718,4230,3428,4179,2155,3159,2769,2741, + 4243,651,2746,3432,3197,1328,952,666,632,2617, + 3037,3447,4388,4074,2491,4375,4060,4591,4307,3115, + 4278,2723,585,3479,2702,2966,2324,806,741,599, + 4037,4014,1101,2290,2371,2338,2462,2433,2403,2937, + 2910,2674,2646,2576,2504,3737,3713,3689,3133,3050, + 3991,3968,3945,3922,3899,3876,3853,3830,3807,3784, + 3761,2034,2251,2203,2164,2116,2077,1241,1388,1340, + 1285,895,1991,1058,832,757,694,1948,1905,1862, + 1819,1776,1733,1690,1647,1604,1561,1518,540,1475, + 1431,1198,1014,970,1154,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -2348,10 +2348,10 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 69,3,55,55,55,55,127,3,55,55, 168,126,63,3,65,66,55,5,184,162, 168,126,65,66,167,166,124,3,123,125, - 105,119,3,63,89,91,26,25,93,92, + 106,119,3,63,89,91,26,25,93,92, 6,95,94,68,55,87,88,9,97,96, - 99,98,100,116,115,114,113,112,111,110, - 109,108,107,70,106,101,162,184,184,184, + 99,98,100,117,116,115,114,113,112,111, + 110,109,108,70,107,101,162,184,184,184, 184,167,218,126,126,126,270,271,253,272, 242,273,56,274,275,10,127,63,63,126, 124,158,126,63,3,216,215,135,125,124, @@ -2389,7 +2389,7 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 70,126,303,79,77,1,162,8,85,83, 81,80,75,82,84,78,76,59,74,218, 179,179,322,220,235,152,165,252,179,225, - 297,285,118,8,72,213,72,3,3,3, + 297,285,102,8,72,213,72,3,3,3, 191,3,123,162,123,178,69,126,126,165, 225,68,3,72,224,168,224,305,146,75, 224,126,126,40,90,321,168,158,199,158, @@ -2672,18 +2672,18 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public final static int NUM_STATES = 544, NT_OFFSET = 122, - LA_STATE_OFFSET = 5969, + LA_STATE_OFFSET = 5976, MAX_LA = 2147483647, - NUM_RULES = 537, + NUM_RULES = 539, NUM_NONTERMINALS = 204, NUM_SYMBOLS = 326, SEGMENT_SIZE = 8192, - START_STATE = 623, + START_STATE = 625, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 120, EOLT_SYMBOL = 120, - ACCEPT_ACTION = 5067, - ERROR_ACTION = 5432; + ACCEPT_ACTION = 5069, + ERROR_ACTION = 5437; public final static boolean BACKTRACK = true; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParsersym.java index 08f878ba8d6..7bfd42ee65b 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParsersym.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParsersym.java @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 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 @@ -20,7 +20,7 @@ public interface CPPSizeofExpressionParsersym { TK_bool = 11, TK_break = 76, TK_case = 77, - TK_catch = 118, + TK_catch = 102, TK_char = 12, TK_class = 40, TK_const = 23, @@ -49,9 +49,9 @@ public interface CPPSizeofExpressionParsersym { TK_namespace = 59, TK_new = 66, TK_operator = 7, - TK_private = 102, - TK_protected = 103, - TK_public = 104, + TK_private = 103, + TK_protected = 104, + TK_public = 105, TK_register = 34, TK_reinterpret_cast = 45, TK_return = 84, @@ -90,7 +90,7 @@ public interface CPPSizeofExpressionParsersym { TK_LeftParen = 3, TK_Dot = 119, TK_DotStar = 91, - TK_Arrow = 105, + TK_Arrow = 106, TK_ArrowStar = 89, TK_PlusPlus = 37, TK_MinusMinus = 38, @@ -114,23 +114,23 @@ public interface CPPSizeofExpressionParsersym { TK_Or = 99, TK_AndAnd = 100, TK_OrOr = 101, - TK_Question = 106, + TK_Question = 107, TK_Colon = 72, TK_ColonColon = 4, TK_DotDotDot = 90, TK_Assign = 70, - TK_StarAssign = 107, - TK_SlashAssign = 108, - TK_PercentAssign = 109, - TK_PlusAssign = 110, - TK_MinusAssign = 111, - TK_RightShiftAssign = 112, - TK_LeftShiftAssign = 113, - TK_AndAssign = 114, - TK_CaretAssign = 115, - TK_OrAssign = 116, + TK_StarAssign = 108, + TK_SlashAssign = 109, + TK_PercentAssign = 110, + TK_PlusAssign = 111, + TK_MinusAssign = 112, + TK_RightShiftAssign = 113, + TK_LeftShiftAssign = 114, + TK_AndAssign = 115, + TK_CaretAssign = 116, + TK_OrAssign = 117, TK_Comma = 69, - TK_RightBracket = 117, + TK_RightBracket = 118, TK_RightParen = 73, TK_RightBrace = 71, TK_SemiColon = 27, @@ -241,6 +241,7 @@ public interface CPPSizeofExpressionParsersym { "Or", "AndAnd", "OrOr", + "catch", "private", "protected", "public", @@ -257,7 +258,6 @@ public interface CPPSizeofExpressionParsersym { "CaretAssign", "OrAssign", "RightBracket", - "catch", "Dot", "EOF_TOKEN", "else", diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParser.java index 2d4fbb8039b..4eedbcc8668 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParser.java @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 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 @@ -1005,925 +1005,937 @@ public CPPTemplateTypeParameterParser(ITokenStream stream, Map<String,String> pr // // Rule 193: iteration_statement ::= do statement while ( expression ) ; // - case 193: { action. consumeStatementDoLoop(); break; + case 193: { action. consumeStatementDoLoop(true); break; } // - // Rule 194: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement + // Rule 194: iteration_statement ::= do statement // - case 194: { action. consumeStatementForLoop(); break; + case 194: { action. consumeStatementDoLoop(false); break; } // - // Rule 196: for_init_statement ::= simple_declaration_with_declspec + // Rule 195: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement // - case 196: { action. consumeStatementDeclaration(); break; + case 195: { action. consumeStatementForLoop(); break; } // - // Rule 197: jump_statement ::= break ; + // Rule 197: for_init_statement ::= simple_declaration_with_declspec // - case 197: { action. consumeStatementBreak(); break; + case 197: { action. consumeStatementDeclaration(); break; } // - // Rule 198: jump_statement ::= continue ; + // Rule 198: jump_statement ::= break ; // - case 198: { action. consumeStatementContinue(); break; + case 198: { action. consumeStatementBreak(); break; } // - // Rule 199: jump_statement ::= return expression ; + // Rule 199: jump_statement ::= continue ; // - case 199: { action. consumeStatementReturn(true); break; + case 199: { action. consumeStatementContinue(); break; } // - // Rule 200: jump_statement ::= return ; + // Rule 200: jump_statement ::= return expression ; // - case 200: { action. consumeStatementReturn(false); break; + case 200: { action. consumeStatementReturn(true); break; } // - // Rule 201: jump_statement ::= goto identifier_token ; + // Rule 201: jump_statement ::= return ; // - case 201: { action. consumeStatementGoto(); break; + case 201: { action. consumeStatementReturn(false); break; } // - // Rule 202: declaration_statement ::= block_declaration + // Rule 202: jump_statement ::= goto identifier_token ; // - case 202: { action. consumeStatementDeclarationWithDisambiguation(); break; + case 202: { action. consumeStatementGoto(); break; } // - // Rule 203: declaration_statement ::= function_definition + // Rule 203: declaration_statement ::= block_declaration // - case 203: { action. consumeStatementDeclaration(); break; + case 203: { action. consumeStatementDeclarationWithDisambiguation(); break; } // - // Rule 211: declaration ::= ERROR_TOKEN + // Rule 204: declaration_statement ::= function_definition // - case 211: { action. consumeDeclarationProblem(); break; + case 204: { action. consumeStatementDeclaration(); break; } // - // Rule 221: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ; + // Rule 212: declaration ::= ERROR_TOKEN // - case 221: { action. consumeDeclarationSimple(true); break; + case 212: { action. consumeDeclarationProblem(); break; } // - // Rule 222: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ; + // Rule 222: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ; // case 222: { action. consumeDeclarationSimple(true); break; } // - // Rule 223: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers + // Rule 223: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ; // - case 223: { action. consumeDeclarationSpecifiersSimple(); break; + case 223: { action. consumeDeclarationSimple(true); break; } // - // Rule 224: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers + // Rule 224: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers // - case 224: { action. consumeDeclarationSpecifiersComposite(); break; + case 224: { action. consumeDeclarationSpecifiersSimple(); break; } // - // Rule 225: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers + // Rule 225: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers // case 225: { action. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 226: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers + // Rule 226: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers // case 226: { action. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 227: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers + // Rule 227: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers // - case 227: { action. consumeDeclarationSpecifiersTypeName(); break; + case 227: { action. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 229: declaration_specifiers_opt ::= $Empty + // Rule 228: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers // - case 229: { action. consumeEmpty(); break; + case 228: { action. consumeDeclarationSpecifiersTypeName(); break; } // - // Rule 233: no_type_declaration_specifier ::= friend + // Rule 230: declaration_specifiers_opt ::= $Empty // - case 233: { action. consumeToken(); break; + case 230: { action. consumeEmpty(); break; } // - // Rule 234: no_type_declaration_specifier ::= typedef + // Rule 234: no_type_declaration_specifier ::= friend // case 234: { action. consumeToken(); break; } // - // Rule 254: storage_class_specifier ::= auto + // Rule 235: no_type_declaration_specifier ::= typedef // - case 254: { action. consumeToken(); break; + case 235: { action. consumeToken(); break; } // - // Rule 255: storage_class_specifier ::= register + // Rule 255: storage_class_specifier ::= auto // case 255: { action. consumeToken(); break; } // - // Rule 256: storage_class_specifier ::= static + // Rule 256: storage_class_specifier ::= register // case 256: { action. consumeToken(); break; } // - // Rule 257: storage_class_specifier ::= extern + // Rule 257: storage_class_specifier ::= static // case 257: { action. consumeToken(); break; } // - // Rule 258: storage_class_specifier ::= mutable + // Rule 258: storage_class_specifier ::= extern // case 258: { action. consumeToken(); break; } // - // Rule 259: function_specifier ::= inline + // Rule 259: storage_class_specifier ::= mutable // case 259: { action. consumeToken(); break; } // - // Rule 260: function_specifier ::= virtual + // Rule 260: function_specifier ::= inline // case 260: { action. consumeToken(); break; } // - // Rule 261: function_specifier ::= explicit + // Rule 261: function_specifier ::= virtual // case 261: { action. consumeToken(); break; } // - // Rule 262: simple_type_specifier ::= simple_type_specifier_token + // Rule 262: function_specifier ::= explicit // case 262: { action. consumeToken(); break; } // - // Rule 276: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name + // Rule 263: simple_type_specifier ::= simple_type_specifier_token // - case 276: { action. consumeQualifiedId(false); break; + case 263: { action. consumeToken(); break; } // - // Rule 277: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name + // Rule 277: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name // case 277: { action. consumeQualifiedId(false); break; } // - // Rule 278: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name + // Rule 278: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name // case 278: { action. consumeQualifiedId(false); break; } // - // Rule 279: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name + // Rule 279: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name // - case 279: { action. consumeQualifiedId(true); break; + case 279: { action. consumeQualifiedId(false); break; } // - // Rule 281: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name + // Rule 280: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name // - case 281: { action. consumeTypeSpecifierElaborated(false); break; + case 280: { action. consumeQualifiedId(true); break; } // - // Rule 282: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt template_opt template_id_name + // Rule 282: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name // - case 282: { action. consumeTypeSpecifierElaborated(true); break; + case 282: { action. consumeTypeSpecifierElaborated(false); break; } // - // Rule 283: elaborated_type_specifier ::= enum elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name + // Rule 283: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt template_opt template_id_name // - case 283: { action. consumeTypeSpecifierElaborated(false); break; + case 283: { action. consumeTypeSpecifierElaborated(true); break; } // - // Rule 287: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 284: elaborated_type_specifier ::= enum elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name // - case 287: { action. consumeTypeSpecifierEnumeration(false); break; + case 284: { action. consumeTypeSpecifierElaborated(false); break; } // - // Rule 288: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 288: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } // - case 288: { action. consumeTypeSpecifierEnumeration(true); break; + case 288: { action. consumeTypeSpecifierEnumeration(false); break; } // - // Rule 294: enumerator_definition ::= identifier_token + // Rule 289: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } // - case 294: { action. consumeEnumerator(false); break; + case 289: { action. consumeTypeSpecifierEnumeration(true); break; } // - // Rule 295: enumerator_definition ::= identifier_token = constant_expression + // Rule 295: enumerator_definition ::= identifier_token // - case 295: { action. consumeEnumerator(true); break; + case 295: { action. consumeEnumerator(false); break; } // - // Rule 297: namespace_definition ::= namespace namespace_name namespace_definition_hook { <openscope-ast> declaration_seq_opt } + // Rule 296: enumerator_definition ::= identifier_token = constant_expression // - case 297: { action. consumeNamespaceDefinition(true); break; + case 296: { action. consumeEnumerator(true); break; } // - // Rule 298: namespace_definition ::= namespace namespace_definition_hook { <openscope-ast> declaration_seq_opt } + // Rule 298: namespace_definition ::= namespace namespace_name namespace_definition_hook { <openscope-ast> declaration_seq_opt } // - case 298: { action. consumeNamespaceDefinition(false); break; + case 298: { action. consumeNamespaceDefinition(true); break; } // - // Rule 300: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 299: namespace_definition ::= namespace namespace_definition_hook { <openscope-ast> declaration_seq_opt } // - case 300: { action. consumeNamespaceAliasDefinition(); break; + case 299: { action. consumeNamespaceDefinition(false); break; } // - // Rule 301: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; + // Rule 301: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ; // - case 301: { action. consumeUsingDeclaration(); break; + case 301: { action. consumeNamespaceAliasDefinition(); break; } // - // Rule 302: typename_opt ::= typename + // Rule 302: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; // - case 302: { action. consumePlaceHolder(); break; + case 302: { action. consumeUsingDeclaration(); break; } // - // Rule 303: typename_opt ::= $Empty + // Rule 303: typename_opt ::= typename // - case 303: { action. consumeEmpty(); break; + case 303: { action. consumePlaceHolder(); break; } // - // Rule 304: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 304: typename_opt ::= $Empty // - case 304: { action. consumeUsingDirective(); break; + case 304: { action. consumeEmpty(); break; } // - // Rule 305: asm_definition ::= asm ( stringlit ) ; + // Rule 305: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; // - case 305: { action. consumeDeclarationASM(); break; + case 305: { action. consumeUsingDirective(); break; } // - // Rule 306: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt } + // Rule 306: asm_definition ::= asm ( stringlit ) ; // - case 306: { action. consumeLinkageSpecification(); break; + case 306: { action. consumeDeclarationASM(); break; } // - // Rule 307: linkage_specification ::= extern stringlit <openscope-ast> declaration + // Rule 307: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt } // case 307: { action. consumeLinkageSpecification(); break; } // - // Rule 312: init_declarator_complete ::= init_declarator + // Rule 308: linkage_specification ::= extern stringlit <openscope-ast> declaration // - case 312: { action. consumeInitDeclaratorComplete(); break; + case 308: { action. consumeLinkageSpecification(); break; } // - // Rule 314: init_declarator ::= complete_declarator initializer + // Rule 313: init_declarator_complete ::= init_declarator // - case 314: { action. consumeDeclaratorWithInitializer(true); break; + case 313: { action. consumeInitDeclaratorComplete(); break; } // - // Rule 317: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator + // Rule 315: init_declarator ::= complete_declarator initializer // - case 317: { action. consumeDeclaratorWithPointer(true); break; + case 315: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 319: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator + // Rule 318: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator // - case 319: { action. consumeDeclaratorWithPointer(true); break; + case 318: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 323: basic_direct_declarator ::= declarator_id_name + // Rule 320: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator // - case 323: { action. consumeDirectDeclaratorIdentifier(); break; + case 320: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 324: basic_direct_declarator ::= ( declarator ) + // Rule 324: basic_direct_declarator ::= declarator_id_name // - case 324: { action. consumeDirectDeclaratorBracketed(); break; + case 324: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 325: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 325: basic_direct_declarator ::= ( declarator ) // - case 325: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; + case 325: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 326: array_direct_declarator ::= array_direct_declarator array_modifier + // Rule 326: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 326: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 326: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 327: array_direct_declarator ::= basic_direct_declarator array_modifier + // Rule 327: array_direct_declarator ::= array_direct_declarator array_modifier // case 327: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 328: array_modifier ::= [ constant_expression ] + // Rule 328: array_direct_declarator ::= basic_direct_declarator array_modifier // - case 328: { action. consumeDirectDeclaratorArrayModifier(true); break; + case 328: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 329: array_modifier ::= [ ] + // Rule 329: array_modifier ::= [ constant_expression ] // - case 329: { action. consumeDirectDeclaratorArrayModifier(false); break; + case 329: { action. consumeDirectDeclaratorArrayModifier(true); break; } // - // Rule 330: ptr_operator ::= pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt + // Rule 330: array_modifier ::= [ ] // - case 330: { action. consumePointer(); break; + case 330: { action. consumeDirectDeclaratorArrayModifier(false); break; } // - // Rule 331: ptr_operator ::= pointer_hook & pointer_hook + // Rule 331: ptr_operator ::= pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt // - case 331: { action. consumeReferenceOperator(); break; + case 331: { action. consumePointer(); break; } // - // Rule 332: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt + // Rule 332: ptr_operator ::= pointer_hook & pointer_hook // - case 332: { action. consumePointerToMember(); break; + case 332: { action. consumeReferenceOperator(); break; } // - // Rule 339: cv_qualifier ::= const + // Rule 333: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt // - case 339: { action. consumeToken(); break; + case 333: { action. consumePointerToMember(); break; } // - // Rule 340: cv_qualifier ::= volatile + // Rule 340: cv_qualifier ::= const // case 340: { action. consumeToken(); break; } // - // Rule 342: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name + // Rule 341: cv_qualifier ::= volatile // - case 342: { action. consumeQualifiedId(false); break; + case 341: { action. consumeToken(); break; } // - // Rule 343: type_id ::= type_specifier_seq + // Rule 343: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name // - case 343: { action. consumeTypeId(false); break; + case 343: { action. consumeQualifiedId(false); break; } // - // Rule 344: type_id ::= type_specifier_seq abstract_declarator + // Rule 344: type_id ::= type_specifier_seq // - case 344: { action. consumeTypeId(true); break; + case 344: { action. consumeTypeId(false); break; } // - // Rule 347: abstract_declarator ::= <openscope-ast> ptr_operator_seq + // Rule 345: type_id ::= type_specifier_seq abstract_declarator // - case 347: { action. consumeDeclaratorWithPointer(false); break; + case 345: { action. consumeTypeId(true); break; } // - // Rule 348: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator + // Rule 348: abstract_declarator ::= <openscope-ast> ptr_operator_seq // - case 348: { action. consumeDeclaratorWithPointer(true); break; + case 348: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 352: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 349: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator // - case 352: { action. consumeDirectDeclaratorBracketed(); break; + case 349: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 353: basic_direct_abstract_declarator ::= ( ) + // Rule 353: basic_direct_abstract_declarator ::= ( abstract_declarator ) // - case 353: { action. consumeAbstractDeclaratorEmpty(); break; + case 353: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 354: array_direct_abstract_declarator ::= array_modifier + // Rule 354: basic_direct_abstract_declarator ::= ( ) // - case 354: { action. consumeDirectDeclaratorArrayDeclarator(false); break; + case 354: { action. consumeAbstractDeclaratorEmpty(); break; } // - // Rule 355: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier + // Rule 355: array_direct_abstract_declarator ::= array_modifier // - case 355: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 355: { action. consumeDirectDeclaratorArrayDeclarator(false); break; } // - // Rule 356: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier + // Rule 356: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier // case 356: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 357: 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 357: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier // - case 357: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; + case 357: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 358: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 358: 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 358: { action. consumeDirectDeclaratorFunctionDeclarator(false); break; + case 358: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 359: parameter_declaration_clause ::= parameter_declaration_list_opt ... + // Rule 359: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 359: { action. consumePlaceHolder(); break; + case 359: { action. consumeDirectDeclaratorFunctionDeclarator(false); break; } // - // Rule 360: parameter_declaration_clause ::= parameter_declaration_list_opt + // Rule 360: parameter_declaration_clause ::= parameter_declaration_list_opt ... // - case 360: { action. consumeEmpty(); break; + case 360: { action. consumePlaceHolder(); break; } // - // Rule 361: parameter_declaration_clause ::= parameter_declaration_list , ... + // Rule 361: parameter_declaration_clause ::= parameter_declaration_list_opt // - case 361: { action. consumePlaceHolder(); break; + case 361: { action. consumeEmpty(); break; } // - // Rule 367: abstract_declarator_opt ::= $Empty + // Rule 362: parameter_declaration_clause ::= parameter_declaration_list , ... // - case 367: { action. consumeEmpty(); break; + case 362: { action. consumePlaceHolder(); break; } // - // Rule 368: parameter_declaration ::= declaration_specifiers parameter_init_declarator + // Rule 368: abstract_declarator_opt ::= $Empty // - case 368: { action. consumeParameterDeclaration(); break; + case 368: { action. consumeEmpty(); break; } // - // Rule 369: parameter_declaration ::= declaration_specifiers + // Rule 369: parameter_declaration ::= declaration_specifiers parameter_init_declarator // - case 369: { action. consumeParameterDeclarationWithoutDeclarator(); break; + case 369: { action. consumeParameterDeclaration(); break; } // - // Rule 371: parameter_init_declarator ::= declarator = parameter_initializer + // Rule 370: parameter_declaration ::= declaration_specifiers // - case 371: { action. consumeDeclaratorWithInitializer(true); break; + case 370: { action. consumeParameterDeclarationWithoutDeclarator(); break; } // - // Rule 373: parameter_init_declarator ::= abstract_declarator = parameter_initializer + // Rule 372: parameter_init_declarator ::= declarator = parameter_initializer // - case 373: { action. consumeDeclaratorWithInitializer(true); break; + case 372: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 374: parameter_init_declarator ::= = parameter_initializer + // Rule 374: parameter_init_declarator ::= abstract_declarator = parameter_initializer // - case 374: { action. consumeDeclaratorWithInitializer(false); break; + case 374: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 375: parameter_initializer ::= assignment_expression + // Rule 375: parameter_init_declarator ::= = parameter_initializer // - case 375: { action. consumeInitializer(); break; + case 375: { action. consumeDeclaratorWithInitializer(false); break; } // - // Rule 376: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body + // Rule 376: parameter_initializer ::= assignment_expression // - case 376: { action. consumeFunctionDefinition(false); break; + case 376: { action. consumeInitializer(); break; } // - // Rule 377: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq + // Rule 377: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body // - case 377: { action. consumeFunctionDefinition(true); break; + case 377: { action. consumeFunctionDefinition(false); break; } // - // Rule 380: initializer ::= ( expression_list ) + // Rule 378: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq // - case 380: { action. consumeInitializerConstructor(); break; + case 378: { action. consumeFunctionDefinition(true); break; } // - // Rule 381: initializer_clause ::= assignment_expression + // Rule 381: initializer ::= ( expression_list ) // - case 381: { action. consumeInitializer(); break; + case 381: { action. consumeInitializerConstructor(); break; } // - // Rule 383: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq , } end_initializer_list + // Rule 382: initializer_clause ::= assignment_expression // - case 383: { action. consumeInitializerList(); break; + case 382: { action. consumeInitializer(); break; } // - // Rule 384: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq } end_initializer_list + // Rule 384: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq , } end_initializer_list // case 384: { action. consumeInitializerList(); break; } // - // Rule 385: initializer_list ::= { <openscope-ast> } + // Rule 385: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq } end_initializer_list // case 385: { action. consumeInitializerList(); break; } // - // Rule 386: start_initializer_list ::= $Empty + // Rule 386: initializer_list ::= { <openscope-ast> } // - case 386: { action. initializerListStart(); break; + case 386: { action. consumeInitializerList(); break; } // - // Rule 387: end_initializer_list ::= $Empty + // Rule 387: start_initializer_list ::= $Empty // - case 387: { action. initializerListEnd(); break; + case 387: { action. initializerListStart(); break; } // - // Rule 392: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt } + // Rule 388: end_initializer_list ::= $Empty // - case 392: { action. consumeClassSpecifier(); break; + case 388: { action. initializerListEnd(); break; } // - // Rule 393: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 393: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt } // - case 393: { action. consumeClassHead(false); break; + case 393: { action. consumeClassSpecifier(); break; } // - // Rule 394: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 394: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook <openscope-ast> base_clause_opt // case 394: { action. consumeClassHead(false); break; } // - // Rule 395: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 395: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt // - case 395: { action. consumeClassHead(true); break; + case 395: { action. consumeClassHead(false); break; } // - // Rule 396: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 396: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook <openscope-ast> base_clause_opt // case 396: { action. consumeClassHead(true); break; } // - // Rule 400: identifier_name_opt ::= $Empty + // Rule 397: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt // - case 400: { action. consumeEmpty(); break; - } + case 397: { action. consumeClassHead(true); break; + } // - // Rule 404: visibility_label ::= access_specifier_keyword : + // Rule 401: identifier_name_opt ::= $Empty // - case 404: { action. consumeVisibilityLabel(); break; - } + case 401: { action. consumeEmpty(); break; + } // - // Rule 405: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ; + // Rule 405: visibility_label ::= access_specifier_keyword : // - case 405: { action. consumeDeclarationSimple(true); break; + case 405: { action. consumeVisibilityLabel(); break; } // - // Rule 406: member_declaration ::= declaration_specifiers_opt ; + // Rule 406: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ; // - case 406: { action. consumeDeclarationSimple(false); break; + case 406: { action. consumeDeclarationSimple(true); break; } // - // Rule 409: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ; + // Rule 407: member_declaration ::= declaration_specifiers_opt ; // - case 409: { action. consumeMemberDeclarationQualifiedId(); break; + case 407: { action. consumeDeclarationSimple(false); break; } // - // Rule 415: member_declaration ::= ERROR_TOKEN + // Rule 410: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ; // - case 415: { action. consumeDeclarationProblem(); break; + case 410: { action. consumeMemberDeclarationQualifiedId(); break; } // - // Rule 424: member_declarator ::= declarator constant_initializer + // Rule 416: member_declaration ::= ERROR_TOKEN // - case 424: { action. consumeMemberDeclaratorWithInitializer(); break; + case 416: { action. consumeDeclarationProblem(); break; } // - // Rule 425: member_declarator ::= bit_field_declarator : constant_expression + // Rule 425: member_declarator ::= declarator constant_initializer // - case 425: { action. consumeBitField(true); break; + case 425: { action. consumeMemberDeclaratorWithInitializer(); break; } // - // Rule 426: member_declarator ::= : constant_expression + // Rule 426: member_declarator ::= bit_field_declarator : constant_expression // - case 426: { action. consumeBitField(false); break; + case 426: { action. consumeBitField(true); break; } // - // Rule 427: bit_field_declarator ::= identifier_name + // Rule 427: member_declarator ::= : constant_expression // - case 427: { action. consumeDirectDeclaratorIdentifier(); break; + case 427: { action. consumeBitField(false); break; } // - // Rule 428: constant_initializer ::= = constant_expression + // Rule 428: bit_field_declarator ::= identifier_name // - case 428: { action. consumeInitializer(); break; + case 428: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 434: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name + // Rule 429: constant_initializer ::= = constant_expression // - case 434: { action. consumeBaseSpecifier(false, false); break; + case 429: { action. consumeInitializer(); break; } // - // Rule 435: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name + // Rule 435: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name // - case 435: { action. consumeBaseSpecifier(true, true); break; + case 435: { action. consumeBaseSpecifier(false, false); break; } // - // Rule 436: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name + // Rule 436: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name // case 436: { action. consumeBaseSpecifier(true, true); break; } // - // Rule 437: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name + // Rule 437: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name // - case 437: { action. consumeBaseSpecifier(true, false); break; + case 437: { action. consumeBaseSpecifier(true, true); break; } // - // Rule 438: access_specifier_keyword ::= private + // Rule 438: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name // - case 438: { action. consumeToken(); break; + case 438: { action. consumeBaseSpecifier(true, false); break; } // - // Rule 439: access_specifier_keyword ::= protected + // Rule 439: access_specifier_keyword ::= private // case 439: { action. consumeToken(); break; } // - // Rule 440: access_specifier_keyword ::= public + // Rule 440: access_specifier_keyword ::= protected // case 440: { action. consumeToken(); break; } // - // Rule 442: access_specifier_keyword_opt ::= $Empty + // Rule 441: access_specifier_keyword ::= public + // + case 441: { action. consumeToken(); break; + } + + // + // Rule 443: access_specifier_keyword_opt ::= $Empty + // + case 443: { action. consumeEmpty(); break; + } + + // + // Rule 445: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt > // - case 442: { action. consumeEmpty(); break; + case 445: { action. consumeTemplateId(); break; } // - // Rule 444: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt > + // Rule 446: conversion_function_id ::= operator conversion_type_id // - case 444: { action. consumeTemplateId(); break; + case 446: { action. consumeConversionName(); break; } // - // Rule 445: conversion_function_id ::= operator conversion_type_id + // Rule 447: conversion_type_id ::= type_specifier_seq conversion_declarator // - case 445: { action. consumeConversionName(); break; + case 447: { action. consumeTypeId(true); break; } // - // Rule 446: conversion_type_id ::= type_specifier_seq conversion_declarator + // Rule 448: conversion_type_id ::= type_specifier_seq // - case 446: { action. consumeTypeId(true); break; + case 448: { action. consumeTypeId(false); break; } // - // Rule 447: conversion_type_id ::= type_specifier_seq + // Rule 449: conversion_declarator ::= <openscope-ast> ptr_operator_seq // - case 447: { action. consumeTypeId(false); break; + case 449: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 448: conversion_declarator ::= <openscope-ast> ptr_operator_seq + // Rule 455: mem_initializer ::= mem_initializer_name ( expression_list_opt ) // - case 448: { action. consumeDeclaratorWithPointer(false); break; + case 455: { action. consumeConstructorChainInitializer(); break; } // - // Rule 454: mem_initializer ::= mem_initializer_name ( expression_list_opt ) + // Rule 456: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name // - case 454: { action. consumeConstructorChainInitializer(); break; + case 456: { action. consumeQualifiedId(false); break; } // - // Rule 455: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name + // Rule 459: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt > // - case 455: { action. consumeQualifiedId(false); break; + case 459: { action. consumeTemplateId(); break; } // - // Rule 458: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt > + // Rule 460: operator_id_name ::= operator overloadable_operator // - case 458: { action. consumeTemplateId(); break; + case 460: { action. consumeOperatorName(); break; } // - // Rule 459: operator_id_name ::= operator overloadable_operator + // Rule 503: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration // - case 459: { action. consumeOperatorName(); break; + case 503: { action. consumeTemplateDeclaration(); break; } // - // Rule 502: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration + // Rule 504: export_opt ::= export // - case 502: { action. consumeTemplateDeclaration(); break; + case 504: { action. consumePlaceHolder(); break; } // - // Rule 503: export_opt ::= export + // Rule 505: export_opt ::= $Empty // - case 503: { action. consumePlaceHolder(); break; + case 505: { action. consumeEmpty(); break; } // - // Rule 504: export_opt ::= $Empty + // Rule 509: template_parameter ::= parameter_declaration // - case 504: { action. consumeEmpty(); break; + case 509: { action. consumeTemplateParamterDeclaration(); break; } // - // Rule 508: template_parameter ::= parameter_declaration + // Rule 510: type_parameter ::= class identifier_name_opt // - case 508: { action. consumeTemplateParamterDeclaration(); break; + case 510: { action. consumeSimpleTypeTemplateParameter(false); break; } // - // Rule 509: type_parameter ::= class identifier_name_opt + // Rule 511: type_parameter ::= class identifier_name_opt = type_id // - case 509: { action. consumeSimpleTypeTemplateParameter(false); break; + case 511: { action. consumeSimpleTypeTemplateParameter(true); break; } // - // Rule 510: type_parameter ::= class identifier_name_opt = type_id + // Rule 512: type_parameter ::= typename identifier_name_opt // - case 510: { action. consumeSimpleTypeTemplateParameter(true); break; + case 512: { action. consumeSimpleTypeTemplateParameter(false); break; } // - // Rule 511: type_parameter ::= typename identifier_name_opt + // Rule 513: type_parameter ::= typename identifier_name_opt = type_id // - case 511: { action. consumeSimpleTypeTemplateParameter(false); break; + case 513: { action. consumeSimpleTypeTemplateParameter(true); break; } // - // Rule 512: type_parameter ::= typename identifier_name_opt = type_id + // Rule 514: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt // - case 512: { action. consumeSimpleTypeTemplateParameter(true); break; + case 514: { action. consumeTemplatedTypeTemplateParameter(false); break; } // - // Rule 513: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt + // Rule 515: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression // - case 513: { action. consumeTemplatedTypeTemplateParameter(false); break; + case 515: { action. consumeTemplatedTypeTemplateParameter(true); break; } // - // Rule 514: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression + // Rule 516: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt > // - case 514: { action. consumeTemplatedTypeTemplateParameter(true); break; + case 516: { action. consumeTemplateId(); break; } // - // Rule 515: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt > + // Rule 521: template_argument ::= assignment_expression // - case 515: { action. consumeTemplateId(); break; + case 521: { action. consumeTemplateArgumentExpression(); break; } // - // Rule 520: template_argument ::= assignment_expression + // Rule 522: template_argument ::= type_id // - case 520: { action. consumeTemplateArgumentExpression(); break; + case 522: { action. consumeTemplateArgumentTypeId(); break; } // - // Rule 521: template_argument ::= type_id + // Rule 523: explicit_instantiation ::= template declaration // - case 521: { action. consumeTemplateArgumentTypeId(); break; + case 523: { action. consumeTemplateExplicitInstantiation(); break; } // - // Rule 522: explicit_instantiation ::= template declaration + // Rule 524: explicit_specialization ::= template < > declaration // - case 522: { action. consumeTemplateExplicitInstantiation(); break; + case 524: { action. consumeTemplateExplicitSpecialization(); break; } // - // Rule 523: explicit_specialization ::= template < > declaration + // Rule 525: try_block ::= try compound_statement <openscope-ast> handler_seq // - case 523: { action. consumeTemplateExplicitSpecialization(); break; + case 525: { action. consumeStatementTryBlock(true); break; } // - // Rule 524: try_block ::= try compound_statement <openscope-ast> handler_seq + // Rule 526: try_block ::= try compound_statement // - case 524: { action. consumeStatementTryBlock(); break; + case 526: { action. consumeStatementTryBlock(false); break; } // - // Rule 527: handler ::= catch ( exception_declaration ) compound_statement + // Rule 529: handler ::= catch ( exception_declaration ) compound_statement // - case 527: { action. consumeStatementCatchHandler(false); break; + case 529: { action. consumeStatementCatchHandler(false); break; } // - // Rule 528: handler ::= catch ( ... ) compound_statement + // Rule 530: handler ::= catch ( ... ) compound_statement // - case 528: { action. consumeStatementCatchHandler(true); break; + case 530: { action. consumeStatementCatchHandler(true); break; } // - // Rule 529: exception_declaration ::= type_specifier_seq <openscope-ast> declarator + // Rule 531: exception_declaration ::= type_specifier_seq <openscope-ast> declarator // - case 529: { action. consumeDeclarationSimple(true); break; + case 531: { action. consumeDeclarationSimple(true); break; } // - // Rule 530: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator + // Rule 532: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator // - case 530: { action. consumeDeclarationSimple(true); break; + case 532: { action. consumeDeclarationSimple(true); break; } // - // Rule 531: exception_declaration ::= type_specifier_seq + // Rule 533: exception_declaration ::= type_specifier_seq // - case 531: { action. consumeDeclarationSimple(false); break; + case 533: { action. consumeDeclarationSimple(false); break; } // - // Rule 533: exception_specification ::= throw ( ) + // Rule 535: exception_specification ::= throw ( ) // - case 533: { action. consumePlaceHolder(); break; + case 535: { action. consumePlaceHolder(); break; } // - // Rule 539: type_parameter_start ::= ERROR_TOKEN + // Rule 541: type_parameter_start ::= ERROR_TOKEN // - case 539: { action. consumeEmpty(); break; + case 541: { action. consumeEmpty(); break; } diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParserprs.java index 9f6280c31c2..db410ee13e4 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParserprs.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParserprs.java @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 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 @@ -56,487 +56,488 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par 0,1,0,1,1,0,1,1,1,1, 1,1,1,1,1,3,4,3,2,1, 4,2,1,2,5,7,5,1,4,1, - 0,5,7,8,1,1,2,2,3,2, - 3,1,1,1,1,1,1,1,1,1, + 0,5,7,2,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,1,1,1,1,1,1,1, + 1,1,1,1,1,1,3,4,4,5, + 2,5,6,5,0,1,0,7,8,0, + 1,3,1,0,1,3,1,7,6,0, + 7,6,1,0,6,5,6,4,1,3, + 1,0,1,1,2,1,1,3,1,3, + 1,1,1,1,3,9,2,2,3,2, + 5,3,7,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,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, - 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,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,3,4,4,5,2, - 5,6,5,0,1,0,7,8,0,1, - 3,1,0,1,3,1,7,6,0,7, - 6,1,0,6,5,6,4,1,3,1, - 0,1,1,2,1,1,3,1,3,1, - 1,1,1,3,9,2,2,3,2,5, - 3,7,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,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,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,-126, - 0,0,0,-2,0,0,0,0,0,0, + 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,2,1,2,5,5, + 3,3,1,4,3,1,0,1,3,1, + 1,-126,0,0,0,-2,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-1,0,0,0,0,0, + 0,0,-462,0,-3,0,0,0,0,0, + -109,0,0,0,-26,0,0,0,-33,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-29,-327,-7,0,0,-255,-307,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-1,0,0,0,0,0,0,0, - -462,0,-3,0,0,0,0,0,-109,0, - 0,0,-26,0,0,0,-33,0,0,0, - 0,0,0,0,0,0,0,0,0,-29, - -327,-7,0,0,-255,-307,0,0,0,0, - 0,0,0,0,0,0,0,0,-246,0, - -8,0,0,0,-536,0,0,0,0,-4, - 0,0,-217,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-12, - 0,0,-272,0,0,0,0,0,0,0, - 0,-16,0,0,0,0,0,0,0,0, - 0,0,0,0,-5,0,0,0,0,0, - 0,0,0,0,-19,0,0,0,0,0, - 0,0,0,-170,0,0,0,0,0,0, + -246,0,-8,0,0,0,-536,0,0,0, + 0,-4,0,0,-217,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-12,0,0,-272,0,0,0,0,0, + 0,0,0,-16,0,0,0,0,0,0, + 0,0,0,0,0,0,-5,0,0,0, + 0,0,0,0,0,0,-19,0,0,0, + 0,0,0,0,0,-170,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-91,0,-262,0,0,0, - 0,0,-176,0,0,0,0,-36,0,0, - -34,0,-415,-328,0,0,0,-20,0,0, - -171,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-91,0,-262,0, + 0,0,0,0,-176,0,0,0,0,-36, + 0,0,-34,0,-415,-328,0,0,0,-20, + 0,0,-171,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,-55, 0,0,0,0,0,0,0,0,0,0, - 0,-28,0,-30,0,0,0,-132,0,0, - 0,-44,0,0,0,0,0,0,0,0, - -49,0,0,0,0,0,0,-187,0,0, - -50,-175,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-27,0,0,0,0, + 0,-55,0,0,0,0,0,0,0,0, + 0,0,0,-28,0,-30,0,0,0,-132, + 0,0,0,-44,0,0,0,0,0,0, + 0,0,-49,0,0,0,0,0,0,-187, + 0,0,-50,-175,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-51,0,-52,0,0,0, - 0,0,0,0,-45,0,0,0,-182,0, - -194,0,0,0,0,0,0,0,-294,0, + 0,0,0,0,0,0,-51,0,-52,0, + 0,0,0,0,0,0,-45,0,0,0, + -182,0,-194,0,0,0,0,0,0,0, + -294,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-6, + 0,-6,0,0,0,0,0,0,0,0, + 0,0,0,-461,0,0,0,0,-431,0, + 0,0,-211,0,0,0,0,0,0,0, + -370,-133,0,0,0,0,0,0,0,0, + 0,0,0,0,-83,-37,0,-183,0,-518, 0,0,0,0,0,0,0,0,0,0, - 0,-461,0,0,0,0,-431,0,0,0, - -211,0,0,0,0,0,0,0,-370,-133, 0,0,0,0,0,0,0,0,0,0, - 0,0,-83,-37,0,-183,0,-518,0,0, + 0,0,-53,0,0,0,0,0,0,0, + 0,0,0,0,-54,0,0,0,0,0, + 0,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, - -53,0,0,0,0,0,0,0,0,0, - 0,0,-54,0,0,0,0,0,0,0, - 0,-540,0,0,0,0,0,0,0,0, + 0,0,0,0,-349,0,0,0,-22,0, + 0,0,-92,-287,0,0,0,0,-21,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,0,0,0,0,-56, + 0,0,0,0,0,0,0,-128,0,0, + 0,-347,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-349,0,0,0,-22,0,0,0, - -92,-287,0,0,0,0,-21,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,0,0,0,0,-56,0,0, - 0,0,0,0,0,-128,0,0,0,-347, + 0,0,-85,0,0,0,0,0,0,0, + 0,-300,0,0,0,-186,0,0,0,0, + -280,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,-490,0,0,0, + 0,0,0,0,0,0,-184,0,-23,0, + 0,0,0,-371,0,0,0,-18,0,0, + 0,-386,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -68,0,0,0,0,0,0,0,-69,0, + -297,0,0,0,0,0,0,0,0,0, + -24,-357,0,0,0,-70,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -85,0,0,0,0,0,0,0,0,-300, - 0,0,0,-186,0,0,0,0,-280,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,-490,0,0,0,0,0, - 0,0,0,0,-184,0,-23,0,0,0, - 0,-371,0,0,0,-18,0,0,0,-386, + 0,0,-86,0,0,0,0,0,0,0, + 0,-301,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,-68,0, - 0,0,0,0,0,0,-69,0,-297,0, - 0,0,0,0,0,0,0,0,-24,-357, - 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,-93,0, + -390,0,0,0,-173,0,0,0,-82,0, 0,0,0,0,0,0,0,0,0,0, - -86,0,0,0,0,0,0,0,0,-301, - 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,0,0,0,0,0,-93,0,-390,0, - 0,0,-173,0,0,0,-82,0,0,0, + 0,-71,0,0,0,0,0,-72,-89,0, + 0,-25,0,-205,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-41,0,0,0, + 0,0,0,0,0,0,0,0,-215,0, + 0,0,0,0,0,0,-79,0,0,0, + -73,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-71, - 0,0,0,0,0,-72,-89,0,0,-25, - 0,-205,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-479, + 0,-90,0,0,0,0,0,0,0,-155, + 0,0,0,-344,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-41,0,0,0,0,0, - 0,0,0,0,0,0,-215,0,0,0, - 0,0,0,0,-79,0,0,0,-73,0, 0,0,0,0,0,0,0,0,0,0, + -74,0,0,0,-39,0,0,0,-75,-296, + 0,0,-219,0,0,0,0,0,0,0, + 0,0,0,0,0,-156,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-479,0,-90, - 0,0,0,0,0,0,0,-155,0,0, - 0,-344,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-76,0, + 0,0,0,0,0,0,-77,0,-422,0, + 0,0,0,0,-474,0,0,0,-157,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-74,0, - 0,0,-39,0,0,0,-75,-296,0,0, - -219,0,0,0,0,0,0,0,0,0, - 0,0,0,-156,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-76,0,0,0, - 0,0,0,0,-77,0,-422,0,0,0, - 0,0,-474,0,0,0,-157,0,0,0, + 0,0,0,0,0,0,0,0,0,-96, 0,0,0,0,0,0,0,0,0,0, + 0,-158,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-96,0,0, - 0,0,0,0,0,0,0,0,0,-158, 0,0,0,0,0,0,0,0,0,0, + 0,0,-78,0,0,0,-456,0,0,0, + 0,-315,0,0,-159,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -78,0,0,0,-456,0,0,0,0,-315, - 0,0,-159,0,0,0,0,0,0,0, + 0,0,0,0,0,-106,0,-376,0,0, + 0,0,0,-80,0,0,0,-160,0,0, + 0,-339,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-487,0, + -409,0,-108,0,0,0,-174,0,0,0, + -161,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-106,0,-376,0,0,0,0, - 0,-80,0,0,0,-160,0,0,0,-339, + 0,0,0,-84,0,0,0,0,0,0, + 0,0,0,-410,0,-110,0,0,0,-529, + 0,0,0,-162,0,0,0,-87,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-487,0,-409,0, - -108,0,0,0,-174,0,0,0,-161,0, + 0,0,0,0,0,0,-531,0,0,0, + 0,0,-213,0,0,0,-163,0,0,0, + -539,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-88, 0,0,0,0,0,0,0,0,0,0, + 0,-192,0,0,0,0,0,0,0,-164, 0,0,0,0,0,0,0,0,0,0, - 0,-84,0,0,0,0,0,0,0,0, - 0,-410,0,-110,0,0,0,-529,0,0, - 0,-162,0,0,0,-87,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-531,0,0,0,0,0, - -213,0,0,0,-163,0,0,0,-539,0, + 0,0,-532,0,0,0,0,0,-221,0, + 0,0,-165,0,0,0,-94,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-88,0,0, - 0,0,0,0,0,0,0,0,0,-192, - 0,0,0,0,0,0,0,-164,0,0, + 0,0,0,0,0,-95,0,0,0,0, + 0,0,0,-250,0,0,0,0,0,0, + 0,-478,0,0,0,-281,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-98,0, + 0,0,0,0,0,0,-105,0,-100,0, + 0,0,0,0,0,-389,0,0,-291,0, + 0,0,-408,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-254, + 0,-101,0,0,0,0,0,-257,-113,0, + 0,-534,0,0,0,-407,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -532,0,0,0,0,0,-221,0,0,0, - -165,0,0,0,-94,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-95,0,0,0,0,0,0, - 0,-250,0,0,0,0,0,0,0,-478, - 0,0,0,-281,0,0,0,0,0,0, + 0,0,-116,0,-124,0,0,0,0,0, + -99,-131,0,0,-393,0,0,0,-129,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,-105,0,-100,0,0,0, - 0,0,0,-389,0,0,-291,0,0,0, - -408,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-254,0,-101, - 0,0,0,0,0,-257,-113,0,0,-534, - 0,0,0,-407,0,0,0,0,0,0, + 0,0,0,0,0,-267,0,0,0,0, + 0,0,0,-394,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -116,0,-124,0,0,0,0,0,-99,-131, - 0,0,-393,0,0,0,-129,0,0,0, + 0,0,0,0,0,0,0,0,-179,0, + 0,0,-195,0,0,0,0,-449,0,0, + 0,-406,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, + 0,0,0,0,-378,0,-180,0,0,0, + -465,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-267,0,0,0,0,0,0, - 0,-394,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-268,0,0,0,0,0,0,0,-273, + 0,0,0,-189,-451,0,0,0,-167,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-179,0,0,0, - -195,0,0,0,0,-449,0,0,0,-406, 0,0,0,0,0,0,0,0,0,0, + 0,-421,0,0,0,0,0,0,0,0, + 0,-304,0,-199,0,-125,0,-154,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-346,0,0,0,0,0,0,0, - 0,0,-378,0,-180,0,0,0,-465,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-268, - 0,0,0,0,0,0,0,-273,0,0, - 0,-189,-451,0,0,0,-167,0,0,0, + -178,0,-152,0,0,0,-197,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-421, - 0,0,0,0,0,0,0,0,0,-304, - 0,-199,0,-125,0,-154,0,0,0,0, + 0,0,0,0,0,-198,0,0,0,0, + 0,0,0,0,0,-153,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-178,0, - -152,0,0,0,-197,0,0,0,0,0, + 0,0,0,0,0,0,-149,0,0,0, + -200,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-201, + 0,0,0,0,0,0,-150,0,0,0, + -202,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-188, + 0,0,0,0,0,-151,0,0,0,-311, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-198,0,0,0,0,0,0, - 0,0,0,-153,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-38,0, + 0,0,0,0,-416,0,0,0,0,0, + 0,0,0,0,0,0,0,-207,-13,0, 0,0,0,0,0,0,0,0,0,0, + 0,-143,0,0,0,-283,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-149,0,0,0,-200,0, + 0,0,0,0,0,0,0,0,0,-252, + -295,0,-208,0,0,0,0,-251,0,0, + -290,0,-481,0,0,0,-209,0,0,0, + 0,0,0,0,0,0,0,-270,0,0, + 0,0,-299,0,0,0,-32,0,0,0, + -210,0,0,0,0,0,0,0,-222,0, + 0,0,0,0,-177,0,0,0,0,-355, + 0,0,0,0,0,0,0,-423,0,0, + 0,0,-345,0,0,0,0,0,0,0, + 0,0,0,0,0,-397,-337,0,0,0, + 0,0,0,0,0,0,0,0,0,-144, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-201,0,0, - 0,0,0,0,-150,0,0,0,-202,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-188,0,0, - 0,0,0,-151,0,0,0,-311,0,0, + 0,0,0,0,0,0,0,-279,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-38,0,0,0, - 0,0,-416,0,0,0,0,0,0,0, - 0,0,0,0,0,-207,-13,0,0,0, - 0,0,0,0,0,0,0,0,0,-143, - 0,0,0,-283,0,0,0,0,0,0, + -204,-145,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-252,-295,0, - -208,0,0,0,0,-251,0,0,-290,0, - -481,0,0,0,-209,0,0,0,0,0, - 0,0,0,0,0,-270,0,0,0,0, - -299,0,0,0,-32,0,0,0,-210,0, - 0,0,0,0,0,0,-222,0,0,0, - 0,0,-177,0,0,0,0,-355,0,0, - 0,0,0,0,0,-423,0,0,0,0, - -345,0,0,0,0,0,0,0,0,0, - 0,0,0,-397,-337,0,0,0,0,0, - 0,0,0,0,0,0,0,-144,0,0, + 0,0,0,0,-265,0,0,0,0,-146, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-279,0,0,0,0, - 0,0,0,0,0,0,0,0,-204,-145, + 0,0,-216,0,0,0,0,-306,0,0, 0,0,0,0,0,0,0,0,0,0, + -14,0,0,0,0,0,-47,-313,0,0, + 0,0,-286,0,0,0,0,-220,-103,0, + 0,0,-356,0,0,0,0,0,0,0, + 0,-223,-17,-241,-102,0,0,0,0,0, + -43,0,0,0,-224,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-325,0, + 0,0,0,0,0,0,0,-292,0,-435, + -15,0,-225,0,0,0,0,0,0,0, + 0,-40,0,0,0,-293,0,0,0,0, + 0,-419,0,0,0,0,0,0,-388,0, + 0,0,0,0,0,0,0,0,0,-242, + 0,0,0,0,-288,0,-440,0,0,0, + 0,0,0,0,0,0,0,0,0,-271, + 0,-203,0,-330,0,0,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,-265,0,0,0,0,-146,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-226,0,-227,-147,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -216,0,0,0,0,-306,0,0,0,0, - 0,0,0,0,0,0,0,0,-14,0, - 0,0,0,0,-47,-313,0,0,0,0, - -286,0,0,0,0,-220,-103,0,0,0, - -356,0,0,0,0,0,0,0,0,-223, - -17,-241,-102,0,0,0,0,0,-43,0, - 0,0,-224,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-325,0,0,0, - 0,0,0,0,0,-292,0,-435,-15,0, - -225,0,0,0,0,0,0,0,0,-40, - 0,0,0,-293,0,0,0,0,0,-419, - 0,0,0,0,0,0,-388,0,0,0, - 0,0,0,0,0,0,0,-242,0,0, - 0,0,-288,0,-440,0,0,0,0,0, - 0,0,0,0,0,0,0,-271,0,-203, - 0,-330,0,0,0,0,0,0,0,-305, 0,0,0,0,0,0,0,0,0,0, + 0,-148,0,0,0,-228,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-226, - 0,-227,-147,0,0,0,0,0,0,0, + 0,0,0,0,-447,0,0,0,0,-196, + 0,0,0,-326,0,0,0,0,0,0, + 0,0,-309,-400,0,-229,0,0,-310,-475, + -334,0,0,0,0,0,-336,-324,0,0, + 0,-463,-230,0,0,0,0,0,0,0, + -367,0,0,0,-231,0,0,0,0,0, + 0,0,-266,-168,0,0,0,0,0,0, + -232,0,0,0,0,0,0,0,0,0, + 0,0,0,-169,0,-398,0,0,0,0, + 0,0,0,0,0,0,0,-233,0,-482, + 0,0,0,0,-544,-234,0,-412,0,0, + 0,0,0,0,0,0,0,-533,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-148, - 0,0,0,-228,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,0, - 0,0,-447,0,0,0,0,-196,0,0, - 0,-326,0,0,0,0,0,0,0,0, - -309,-400,0,-229,0,0,-310,-475,-334,0, - 0,0,0,0,-336,-324,0,0,0,-463, - -230,0,0,0,0,0,0,0,-367,0, - 0,0,-231,0,0,0,0,0,0,0, - -266,-168,0,0,0,0,0,0,-232,0, + 0,0,0,0,0,0,-289,0,0,0, + -331,0,0,0,-358,0,-235,0,0,0, + 0,-354,-312,0,0,0,0,0,0,0, + -338,0,0,-436,0,0,0,0,0,0, + -236,0,0,0,0,0,-395,0,0,0, + -298,0,0,0,0,0,0,0,0,0, + 0,0,0,-139,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-169,0,-398,0,0,0,0,0,0, - 0,0,0,0,0,-233,0,-482,0,0, - 0,0,-544,-234,0,-412,0,0,0,0, - 0,0,0,0,0,-533,0,0,0,0, - 0,0,0,0,0,0,0,0,-138,0, + 0,0,0,0,0,0,-472,0,0,-341, + 0,-343,-114,0,-237,0,0,0,-259,0, + 0,0,-238,0,-239,0,0,0,0,0, + 0,0,-48,0,-172,-352,0,0,0,0, + -240,0,0,-493,-9,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-243,0,0,0,0,0, + -439,0,-353,0,0,0,0,0,0,0, + 0,0,0,0,0,-432,0,-359,0,-459, + 0,0,0,0,0,0,0,0,0,-495, + 0,-332,-244,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-467, + 0,0,0,0,0,0,0,0,0,-366, + 0,-245,0,0,0,0,-509,-247,0,0, + 0,0,0,-248,0,0,0,0,0,-253, + 0,0,0,0,0,0,0,-258,0,0, + -249,0,0,0,0,-360,0,0,0,0, + 0,0,0,0,0,0,0,-260,0,0, + -361,0,0,0,0,0,-261,0,0,0, + 0,0,-522,0,-404,0,0,-123,0,0, + 0,0,-275,0,0,0,0,0,0,0, + 0,0,-374,0,-276,0,0,-314,0,0, + -391,0,0,0,-277,0,-484,0,0,-524, + 0,0,0,0,-375,0,-278,-302,0,0, + 0,0,-362,0,0,0,0,0,-476,0, + -303,-308,0,-97,0,0,0,-35,-434,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-289,0,0,0,-331,0, - 0,0,-358,0,-235,0,0,0,0,-354, - -312,0,0,0,0,0,0,0,-338,0, - 0,-436,0,0,0,0,0,0,-236,0, - 0,0,0,0,-395,0,0,0,-298,0, + 0,0,0,-316,-429,0,0,0,0,0, + 0,0,0,0,0,-505,0,0,0,-31, + 0,0,0,0,0,-317,0,-322,0,0, + 0,0,0,0,0,-526,0,0,0,0, + 0,0,0,0,0,0,0,0,-513,-380, + 0,-323,0,0,0,-112,0,0,0,-269, + 0,0,-528,0,0,0,0,-430,0,0, + 0,0,0,0,0,0,-443,0,-438,0, + 0,0,0,0,-42,0,-329,-135,0,-517, + 0,0,-333,0,0,0,0,0,-348,0, + 0,0,0,0,0,0,-385,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-139,0,0,0,0,0,0,0,0, + -350,-401,0,0,0,0,-541,0,-368,0, + 0,0,0,0,0,0,0,0,-372,-373, + -381,-107,0,0,0,-335,-530,0,-377,0, + 0,-384,0,-351,0,0,-402,0,0,0, + 0,0,-396,-446,-10,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-472,0,0,-341,0,-343, - -114,0,-237,0,0,0,-259,0,0,0, - -238,0,-239,0,0,0,0,0,0,0, - -48,0,-172,-352,0,0,0,0,-240,0, - 0,-493,-9,0,0,0,0,0,0,0, + 0,0,0,0,-546,0,0,0,0,0, + 0,0,-433,0,0,0,0,0,0,0, + 0,0,0,0,-403,-411,-477,0,0,0, + 0,0,0,-417,0,0,-418,-442,-134,-420, + 0,-424,0,0,0,0,-426,0,-441,0, + 0,0,0,0,-464,0,0,0,0,0, + -466,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,0,-439,0, - -353,0,0,0,0,0,0,0,0,0, - 0,0,0,-432,0,-359,0,-459,0,0, - 0,0,0,0,0,0,0,-495,0,-332, - -244,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-467,0,0, - 0,0,0,0,0,0,0,-366,0,-245, - 0,0,0,0,-509,-247,0,0,0,0, - 0,-248,0,0,0,0,0,-253,0,0, - 0,0,0,0,0,-258,0,0,-249,0, - 0,0,0,-360,0,0,0,0,0,0, - 0,0,0,0,0,-260,0,0,-361,0, - 0,0,0,0,-261,0,0,0,0,0, - -522,0,-404,0,0,-123,0,0,0,0, - -275,0,0,0,0,0,0,0,0,0, - -374,0,-276,0,0,-314,0,0,-391,0, - 0,0,-277,0,-484,0,0,-524,0,0, - 0,0,-375,0,-278,-302,0,0,0,0, - -362,0,0,0,0,0,-476,0,-303,-308, - 0,-97,0,0,0,-35,-434,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-316,-429,0,0,0,0,0,0,0, - 0,0,0,-505,0,0,0,-31,0,0, - 0,0,0,-317,0,-322,0,0,0,0, - 0,0,0,-526,0,0,0,0,0,0, - 0,0,0,0,0,0,-513,-380,0,-323, - 0,0,0,-112,0,0,0,-269,0,0, - -528,0,0,0,0,-430,0,0,0,0, - 0,0,0,0,-443,0,-438,0,0,0, - 0,0,-42,0,-329,-135,0,-517,0,0, - -333,0,0,0,0,0,-348,0,0,0, - 0,0,0,0,-385,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-350,-401, - 0,0,0,0,-541,0,-368,0,0,0, - 0,0,0,0,0,0,-372,-373,-381,-107, - 0,0,0,-335,-530,0,-377,0,0,-384, - 0,-351,0,0,-402,0,0,0,0,0, - -396,-446,-10,0,0,0,0,0,0,0, + -140,0,0,0,-468,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-546,0,0,0,0,0,0,0, - -433,0,0,0,0,0,0,0,0,0, - 0,0,-403,-411,-477,0,0,0,0,0, - 0,-417,0,0,-418,-442,-134,-420,0,-424, - 0,0,0,0,-426,0,-441,0,0,0, - 0,0,-464,0,0,0,0,0,-466,0, + 0,0,0,-469,0,-141,0,0,0,-470, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-140,0, - 0,0,-468,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-471,0, + -142,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-469,0,-141,0,0,0,-470,0,0, + 0,0,0,-473,0,-60,0,0,0,-491, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-471,0,-142,0, + 0,0,0,0,0,0,0,0,-61,0, + 0,0,-492,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-62,0,0,0,-494,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-473,0,-60,0,0,0,-491,0,0, + 0,0,0,0,-63,0,0,0,-499,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-61,0,0,0, - -492,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-62, - 0,0,0,-494,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-64,0,0, + 0,-503,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-63,0,0,0,-499,0,0,0, + -65,0,0,0,-515,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-64,0,0,0,-503, + 0,0,0,-66,0,0,0,-523,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-65,0, - 0,0,-515,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-67,0,0,0, + -535,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-127, + 0,0,0,-545,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-66,0,0,0,-523,0,0,0,0, + 0,0,-136,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-67,0,0,0,-535,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,-127,0,0, - 0,-545,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, - -136,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-137,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,0,0,0,0,0,-206,0,0,0, + 0,0,0,0,-392,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-458,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-284, + 0,-59,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-379,-448,0,0,0,-454,0, + -365,0,0,0,0,0,0,-414,0,0, + -489,0,-488,0,0,0,0,-480,0,0, + 0,0,0,0,-486,-504,0,0,0,0, + 0,0,0,-485,-508,0,-501,0,0,-166, 0,0,0,0,0,0,0,0,0,0, - 0,0,-392,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-458,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,-318,-319,-320,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-379,-448,0,0,0,-454,0,-365,0, - 0,0,0,0,0,-414,0,0,-489,0, - -488,0,0,0,0,-480,0,0,0,0, - 0,0,-486,-504,0,0,0,0,0,0, - 0,-485,-508,0,-501,0,0,-166,0,0, + 0,-502,0,0,0,0,0,0,0,0, + 0,0,0,-455,0,0,0,0,-506,-507, + 0,0,0,0,0,0,-363,0,0,0, + 0,0,0,0,-427,0,0,-510,-364,0, + 0,0,0,0,-511,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-514, 0,0,0,0,0,0,0,0,0,0, + 0,-263,0,0,0,0,0,0,0,0, + 0,0,0,0,-512,-521,0,0,0,0, + -516,0,0,0,0,-340,0,0,0,0, + 0,-525,-537,-519,0,0,0,-382,0,0, + 0,0,-520,0,0,0,-413,0,0,-538, + 0,0,0,0,-542,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-543,0, 0,0,0,0,0,0,0,0,0,0, - 0,-318,-319,-320,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,-455,0,0,0,0,-506,-507,0,0, - 0,0,0,0,-363,0,0,0,0,0, - 0,0,-427,0,0,-510,-364,0,0,0, - 0,0,-511,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-514,0,0, - 0,0,0,0,0,0,0,0,0,-263, 0,0,0,0,0,0,0,0,0,0, - 0,0,-512,-521,0,0,0,0,-516,0, - 0,0,0,-340,0,0,0,0,0,-525, - -537,-519,0,0,0,-382,0,0,0,0, - -520,0,0,0,-413,0,0,-538,0,0, - 0,0,-542,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-543,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-46,0,0,0,0,0,0,0,-437, + 0,0,0,0,0,0,0,0,-445,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,0,0, - 0,0,0,0,0,0,0,0,0,-46, - 0,0,0,0,0,0,0,-437,0,0, - 0,0,0,0,0,0,-445,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,0,0,0,0, + 0,0,0,0,-383,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-383,0,0,0,0,0,0,0, + -185,0,0,0,0,0,-264,0,-115,0, + 0,0,0,0,-450,0,0,0,0,0, + -214,-498,0,0,0,0,0,0,-321,0, + 0,0,0,0,0,0,0,0,-181,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-185,0, - 0,0,0,0,-264,0,-115,0,0,0, - 0,0,-450,0,0,0,0,0,-214,-498, - 0,0,0,0,0,0,-321,0,0,0, - 0,0,0,0,0,0,-181,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-190,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,-193, + 0,-193,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,-369,0,0, + 0,0,0,-527,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-218,0, + 0,0,-342,0,0,0,0,0,0,0, + -399,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-425,0,0, + 0,0,0,0,0,0,0,0,-428,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,-369,0,0,0,0, - 0,-527,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-218,0,0,0, - -342,0,0,0,0,0,0,0,-399,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-425,0,0,0,0, - 0,0,0,0,0,0,-428,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-444,0,0,0,-452,0, + 0,0,0,0,0,0,-453,0,0,0, + -460,0,0,0,0,0,0,-57,0,0, + 0,0,0,0,0,-58,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-444,0,0,0,-452,0,0,0, - 0,0,0,0,-453,0,0,0,-460,0, - 0,0,0,0,0,-57,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,-117,0,0,0,0,0,-387,0,0, + 0,0,0,0,-104,0,0,0,-111,0, + 0,0,0,0,0,-122,0,0,0,0, + 0,0,0,-130,0,0,0,0,0,0, + 0,0,-256,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-117, - 0,0,0,0,0,-387,0,0,0,0, - 0,0,-104,0,0,0,-111,0,0,0, - 0,0,0,-122,0,0,0,0,0,0, - 0,-130,0,0,0,0,0,0,0,0, - -256,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-274,0,0,0,0, + 0,-496,0,0,0,0,0,0,0,0, + -282,0,0,0,0,0,0,0,0,0, + 0,-497,0,0,0,0,0,0,0,0, + 0,0,0,-500,-11,0,0,0,0,0, + 0,0,-118,0,0,0,0,0,0,-119, + 0,0,0,0,0,0,0,0,-120,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-274,0,0,0,0,0,-496, - 0,0,0,0,0,0,0,0,-282,0, - 0,0,0,0,0,0,0,0,0,-497, + -121,0,0,0,0,0,0,0,-285,0, + 0,0,0,-483,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-500,-11,0,0,0,0,0,0,0, - -118,0,0,0,0,0,0,-119,0,0, - 0,0,0,0,0,0,-120,0,0,0, - 0,0,0,0,0,0,0,0,-121,0, - 0,0,0,0,0,0,-285,0,0,0, - 0,-483,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,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; @@ -565,524 +566,524 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par 96,96,180,180,91,203,203,69,69,69, 69,69,69,69,69,69,70,70,70,67, 67,57,57,181,181,71,71,71,102,102, - 182,182,72,72,72,183,183,73,73,73, - 73,73,74,74,83,83,83,83,83,83, - 83,83,51,51,51,51,51,116,116,114, - 114,52,184,23,23,23,23,23,49,49, - 86,86,86,86,86,153,153,148,148,148, - 148,148,149,149,149,150,150,150,151,151, - 151,152,152,152,87,87,87,87,87,88, - 88,88,13,14,14,14,14,14,14,14, - 14,14,14,14,97,120,120,120,120,120, - 120,118,118,118,154,155,155,119,119,185, - 157,157,156,156,122,122,103,80,80,123, - 54,48,158,158,55,53,85,85,159,159, - 147,147,124,125,125,126,77,77,160,160, - 64,64,64,61,61,60,65,65,76,76, - 59,59,59,50,89,89,99,98,98,63, - 63,62,62,56,56,46,100,100,100,92, - 92,92,93,93,94,94,94,95,95,104, - 104,104,106,106,105,105,204,204,90,90, - 187,187,187,187,187,128,47,47,162,186, - 186,129,129,130,130,130,131,164,188,188, - 35,35,117,132,132,132,132,190,108,107, - 107,121,121,121,165,166,166,166,166,166, - 166,166,166,166,166,166,192,192,189,189, - 191,191,167,168,168,168,168,169,193,110, - 109,109,194,194,170,170,170,170,101,101, - 101,195,195,8,8,9,196,196,197,171, - 161,161,172,172,173,174,174,7,7,10, - 198,198,198,198,198,198,198,198,198,198, + 182,182,72,72,72,72,183,183,73,73, + 73,73,73,74,74,83,83,83,83,83, + 83,83,83,51,51,51,51,51,116,116, + 114,114,52,184,23,23,23,23,23,49, + 49,86,86,86,86,86,153,153,148,148, + 148,148,148,149,149,149,150,150,150,151, + 151,151,152,152,152,87,87,87,87,87, + 88,88,88,13,14,14,14,14,14,14, + 14,14,14,14,14,97,120,120,120,120, + 120,120,118,118,118,154,155,155,119,119, + 185,157,157,156,156,122,122,103,80,80, + 123,54,48,158,158,55,53,85,85,159, + 159,147,147,124,125,125,126,77,77,160, + 160,64,64,64,61,61,60,65,65,76, + 76,59,59,59,50,89,89,99,98,98, + 63,63,62,62,56,56,46,100,100,100, + 92,92,92,93,93,94,94,94,95,95, + 104,104,104,106,106,105,105,204,204,90, + 90,187,187,187,187,187,128,47,47,162, + 186,186,129,129,130,130,130,131,164,188, + 188,35,35,117,132,132,132,132,190,108, + 107,107,121,121,121,165,166,166,166,166, + 166,166,166,166,166,166,166,192,192,189, + 189,191,191,167,168,168,168,168,169,193, + 110,109,109,194,194,170,170,170,170,101, + 101,101,195,195,8,8,9,196,196,197, + 171,161,161,172,172,173,174,174,7,7, + 10,198,198,198,198,198,198,198,198,198, 198,198,198,198,198,198,198,198,198,198, 198,198,198,198,198,198,198,198,198,198, 198,198,198,198,198,198,198,198,198,198, - 198,198,78,81,81,175,175,134,134,111, - 111,111,111,111,111,3,135,135,133,133, - 112,112,84,79,75,163,163,113,113,199, - 199,199,136,136,127,127,200,200,176,176, - 1119,35,2569,2545,1101,4611,27,30,31,802, - 804,26,28,2531,262,25,23,50,1219,106, - 76,77,108,2693,1227,1360,1244,1419,1366,1497, - 1489,42,1545,245,1537,274,1631,1682,143,2067, - 1061,158,144,502,1838,1776,34,1719,35,784, - 32,2773,3478,27,30,31,802,804,341,28, - 2719,2525,760,232,2739,2221,1473,35,784,32, - 3612,3478,27,30,31,802,804,341,28,1950, - 353,1432,1850,345,4803,2416,235,230,231,1372, - 415,35,399,1979,35,784,32,275,4854,27, - 30,31,802,804,59,28,725,321,1370,323, - 1362,316,1239,502,35,283,156,242,245,248, - 251,1493,1650,354,2020,162,321,1370,323,1975, - 316,1239,964,392,538,415,35,399,335,346, - 1047,1187,351,2020,525,1479,2486,1977,3446,738, - 2467,2820,3543,2779,2253,35,784,32,2739,4754, - 27,30,31,802,804,26,28,1088,262,25, - 23,50,1219,106,76,77,108,345,1227,1360, - 1244,1419,1366,1497,1489,1350,1545,64,1537,3223, - 1631,1682,143,1412,1175,520,144,602,1232,544, - 2809,1326,3009,1969,1326,3587,4803,4418,1550,4803, - 521,2253,35,784,32,2739,4754,27,30,31, - 802,804,26,28,1088,262,25,23,50,1219, - 106,76,77,108,345,1227,1360,1244,1419,1366, - 1497,1489,621,1545,675,1537,3537,1631,1682,143, - 1102,1975,520,144,1975,4814,445,2809,459,3349, - 334,232,761,949,1636,4353,516,521,1608,35, - 784,32,1725,4647,27,30,31,802,804,57, - 28,415,35,399,244,230,231,3253,413,3291, - 2757,243,2253,35,784,32,2739,4754,27,30, - 31,802,804,26,28,1088,262,25,23,50, - 1219,106,76,77,108,345,1227,1360,1244,1419, - 1366,1497,1489,516,1545,1911,1537,2071,1631,1682, - 143,42,3332,520,144,155,35,280,2809,386, - 4807,2246,35,278,3320,2280,3291,94,521,2461, - 35,784,32,2739,4754,27,30,31,802,804, - 26,28,1088,262,25,23,50,1219,106,76, - 77,108,345,1227,1360,1244,1419,1366,1497,1489, - 150,1545,446,1537,3233,1631,1682,143,2061,3338, - 520,144,502,35,296,2809,2104,502,35,812, - 391,155,35,280,516,521,4869,2238,61,2047, - 1695,35,784,32,4803,4647,27,30,31,802, - 804,56,28,1010,1795,3326,386,3291,2596,35, - 784,32,434,4754,27,30,31,802,804,26, - 28,1088,262,25,23,50,1219,106,76,77, - 108,2172,1227,1360,1244,1419,1366,1497,1489,1975, - 1545,517,1537,2469,1631,1682,143,1674,949,381, - 144,4173,2322,35,784,32,331,4754,27,30, - 31,802,804,26,28,1088,262,25,23,50, - 1219,106,76,77,108,4159,1227,1360,1244,1419, - 1366,1497,1489,2553,1545,328,1537,2079,1631,1682, - 143,1010,2037,381,144,4173,744,2664,35,784, - 32,1795,4754,27,30,31,802,804,26,28, - 1088,262,25,23,50,1219,106,76,77,108, - 3063,1227,1360,1244,1419,1366,1497,1489,1247,1545, - 60,1537,96,1631,1752,164,1392,388,382,1717, - 3070,35,784,32,2556,4754,27,30,31,802, - 804,26,28,1088,262,25,23,50,1219,106, - 76,77,108,356,1227,1360,1244,1419,1366,1497, - 1489,150,1545,501,1537,3022,1631,1752,164,329, - 1795,389,382,1717,502,35,3021,2693,963,502, - 35,3510,2528,35,784,32,3605,4754,27,30, - 31,802,804,26,28,1088,262,25,23,50, - 1219,106,76,77,108,1513,1227,1360,1244,1419, - 1366,1497,1489,3139,1545,386,1537,1651,1631,1682, - 143,426,322,381,144,4173,2836,35,784,32, - 2220,4754,27,30,31,802,804,26,28,1088, - 262,25,23,50,1219,106,76,77,108,2624, - 1227,1360,1244,1419,1366,1497,1489,585,1545,386, - 1537,93,1631,1682,143,2018,424,375,144,1738, - 3070,35,784,32,1778,4754,27,30,31,802, - 804,26,28,1088,262,25,23,50,1219,106, - 76,77,108,355,1227,1360,1244,1419,1366,1497, - 1489,150,1545,4529,1537,3042,1631,1752,164,2995, - 494,379,382,1717,2836,35,784,32,526,4754, - 27,30,31,802,804,26,28,1088,262,25, - 23,50,1219,106,76,77,108,70,1227,1360, - 1244,1419,1366,1497,1489,326,1545,1982,1537,1795, - 1631,1682,143,1010,374,375,144,2836,35,784, - 32,295,4754,27,30,31,802,804,26,28, - 1088,262,25,23,50,1219,106,76,77,108, - 500,1227,1360,1244,1419,1366,1497,1489,2280,1545, - 236,1537,2596,1631,1682,143,2073,150,375,144, - 2159,694,2836,35,784,32,378,4754,27,30, - 31,802,804,26,28,1088,262,25,23,50, - 1219,106,76,77,108,69,1227,1360,1244,1419, - 1366,1497,1489,1690,1545,463,1537,150,1631,1682, - 143,1372,373,158,144,2394,35,784,32,846, - 4754,27,30,31,802,804,26,28,1088,262, - 25,23,50,1219,106,76,77,108,2853,1227, - 1360,1244,1419,1366,1497,1489,327,1545,1795,1537, - 150,1631,1682,143,751,371,142,144,2836,35, - 784,32,2243,4754,27,30,31,802,804,26, - 28,1088,262,25,23,50,1219,106,76,77, - 108,376,1227,1360,1244,1419,1366,1497,1489,1448, - 1545,2596,1537,1908,1631,1682,143,1244,1611,155, - 144,1987,35,784,32,4174,4854,27,30,31, - 802,804,58,28,2836,35,784,32,2486,4754, - 27,30,31,802,804,26,28,1088,262,25, - 23,50,1219,106,76,77,108,142,1227,1360, - 1244,1419,1366,1497,1489,1251,1545,1795,1537,1764, - 1631,1682,143,502,4185,154,144,2836,35,784, - 32,3604,4754,27,30,31,802,804,26,28, - 1088,262,25,23,50,1219,106,76,77,108, - 579,1227,1360,1244,1419,1366,1497,1489,150,1545, - 2596,1537,832,1631,1682,143,2989,337,153,144, - 2836,35,784,32,378,4754,27,30,31,802, - 804,26,28,1088,262,25,23,50,1219,106, - 76,77,108,1319,1227,1360,1244,1419,1366,1497, - 1489,214,1545,450,1537,150,1631,1682,143,1372, - 2294,152,144,2836,35,784,32,1721,4754,27, - 30,31,802,804,26,28,1088,262,25,23, - 50,1219,106,76,77,108,4182,1227,1360,1244, - 1419,1366,1497,1489,150,1545,1993,1537,4509,1631, - 1682,143,1532,3600,151,144,2836,35,784,32, - 1795,4754,27,30,31,802,804,26,28,1088, - 262,25,23,50,1219,106,76,77,108,3622, - 1227,1360,1244,1419,1366,1497,1489,1795,1545,1993, - 1537,1102,1631,1682,143,1010,4583,150,144,2836, - 35,784,32,3508,4754,27,30,31,802,804, - 26,28,1088,262,25,23,50,1219,106,76, - 77,108,1355,1227,1360,1244,1419,1366,1497,1489, - 4247,1545,1993,1537,1102,1631,1682,143,2660,4600, - 149,144,2836,35,784,32,2495,4754,27,30, - 31,802,804,26,28,1088,262,25,23,50, - 1219,106,76,77,108,2761,1227,1360,1244,1419, - 1366,1497,1489,358,1545,1795,1537,462,1631,1682, - 143,1010,534,148,144,2836,35,784,32,558, - 4754,27,30,31,802,804,26,28,1088,262, - 25,23,50,1219,106,76,77,108,1328,1227, - 1360,1244,1419,1366,1497,1489,357,1545,2596,1537, - 150,1631,1682,143,2868,534,147,144,2836,35, - 784,32,528,4754,27,30,31,802,804,26, - 28,1088,262,25,23,50,1219,106,76,77, - 108,526,1227,1360,1244,1419,1366,1497,1489,325, - 1545,1795,1537,4070,1631,1682,143,1010,534,146, - 144,2836,35,784,32,2154,4754,27,30,31, - 802,804,26,28,1088,262,25,23,50,1219, - 106,76,77,108,2316,1227,1360,1244,1419,1366, - 1497,1489,150,1545,2596,1537,1498,1631,1682,143, - 502,3890,145,144,2836,35,784,32,527,4754, - 27,30,31,802,804,26,28,1088,262,25, - 23,50,1219,106,76,77,108,2169,1227,1360, - 1244,1419,1366,1497,1489,1236,1545,1982,1537,51, - 1631,1682,143,384,2243,159,144,2836,35,784, - 32,322,4754,27,30,31,802,804,26,28, - 1088,262,25,23,50,1219,106,76,77,108, - 352,1227,1360,1244,1419,1366,1497,1489,150,1545, - 1982,1537,3159,1631,1682,143,1693,1957,140,144, - 2953,35,784,32,1010,4754,27,30,31,802, - 804,26,28,1088,262,25,23,50,1219,106, - 76,77,108,324,1227,1360,1244,1419,1366,1497, - 1489,1707,1545,1982,1537,407,1631,1682,143,1103, - 1446,189,144,3070,35,784,32,2350,4754,27, - 30,31,802,804,26,28,1088,262,25,23, - 50,1219,106,76,77,108,4047,1227,1360,1244, - 1419,1366,1497,1489,150,1545,71,1537,2448,1631, - 1752,164,3070,35,784,32,97,4754,27,30, - 31,802,804,26,28,1088,262,25,23,50, - 1219,106,76,77,108,2583,1227,1360,1244,1419, - 1366,1497,1489,2583,1545,1547,1537,1906,1631,1752, - 164,502,35,1776,277,450,502,35,812,391, - 3070,35,784,32,425,4754,27,30,31,802, - 804,26,28,1088,262,25,23,50,1219,106, - 76,77,108,2211,1227,1360,1244,1419,1366,1497, - 1489,455,1545,2135,1537,1629,1631,1752,164,3125, - 35,784,32,428,4754,27,30,31,802,804, - 26,28,1088,262,25,23,50,1219,106,76, - 77,108,405,1227,1360,1244,1419,1366,1497,1489, - 150,1545,409,1537,3131,1631,1752,164,502,35, - 1776,279,1174,502,35,812,391,3070,35,784, - 32,3447,4754,27,30,31,802,804,26,28, - 1088,262,25,23,50,1219,106,76,77,108, - 2135,1227,1360,1244,1419,1366,1497,1489,437,1545, - 1102,1537,418,3229,1982,4651,3070,35,784,32, - 3844,4754,27,30,31,802,804,26,28,1088, - 262,25,23,50,1219,106,76,77,108,301, - 1227,1360,1244,1419,1366,1497,1489,24,1545,1982, - 3211,3070,35,784,32,1982,4754,27,30,31, - 802,804,26,28,1088,262,25,23,50,1219, - 106,76,77,108,1982,1227,1360,1244,1419,1366, - 1497,1489,1932,3149,3070,35,784,32,69,4754, - 27,30,31,802,804,26,28,1088,262,25, - 23,50,1219,106,76,77,108,68,1227,1360, - 1244,1419,1366,1497,3203,3070,35,784,32,590, - 4754,27,30,31,802,804,26,28,1088,262, - 25,23,50,1219,106,76,77,108,848,1227, - 1360,1244,1419,1366,3056,3070,35,784,32,1564, - 4754,27,30,31,802,804,26,28,1088,262, - 25,23,50,1219,106,76,77,108,2377,1227, - 1360,1244,1419,3064,3070,35,784,32,1088,4754, - 27,30,31,802,804,26,28,1088,262,25, - 23,50,1219,106,76,77,108,1246,1227,1360, - 1244,1419,3125,1520,35,784,32,3612,4547,27, - 30,31,802,804,341,28,1975,1402,35,784, - 32,741,3478,27,30,31,802,804,341,28, - 3070,35,784,32,2308,4754,27,30,31,802, - 804,26,28,1088,262,25,23,50,1219,106, - 76,77,108,1975,1227,1360,1244,2912,2130,2311, - 232,2210,334,321,1370,323,2426,316,1239,2240, - 2739,502,35,812,391,3343,2230,321,1370,323, - 315,316,1239,247,230,231,150,393,430,2487, - 3406,2350,2601,354,748,1960,35,784,32,3269, - 2583,41,30,31,802,804,436,408,3338,346, - 1047,1187,351,2076,35,784,32,685,2294,40, - 30,31,802,804,2583,3349,2347,308,312,2855, - 2963,1783,35,784,32,2583,4547,27,30,31, - 802,804,341,28,2380,2076,35,784,32,4687, - 3259,2193,30,31,802,804,363,2615,3070,35, - 784,32,3687,4754,27,30,31,802,804,26, - 28,1088,262,25,23,50,1219,106,76,77, - 108,1975,1227,1360,1244,2944,502,35,1776,3486, - 335,321,1370,323,182,319,1239,44,3332,1982, - 3070,35,784,32,368,4754,27,30,31,802, - 804,26,28,1088,262,25,23,50,1219,106, - 76,77,108,413,1227,1360,1244,2984,3070,35, - 784,32,53,4754,27,30,31,802,804,26, - 28,1088,262,25,23,50,1219,106,76,77, - 108,1982,1227,1360,1244,3001,1816,35,3579,32, - 3612,4547,27,30,31,802,804,341,28,3180, - 35,812,391,2982,4410,1326,502,35,1776,282, - 4803,150,237,262,87,601,1982,1728,35,784, - 32,2221,4547,27,30,31,802,804,341,28, - 580,1958,1982,1458,274,2739,1975,2739,4803,3229, - 35,812,391,1512,4410,334,321,1370,323,52, - 316,1239,238,262,2487,1975,2487,1498,35,1776, - 277,2981,232,1043,334,2806,150,1975,2348,2155, - 3290,1614,2739,2745,274,2601,335,321,1370,323, - 1347,317,1239,1975,150,235,230,231,3551,287, - 1102,345,334,354,3201,4723,275,2076,35,784, - 32,533,232,2270,30,31,802,804,1982,348, - 1047,1187,351,1982,2809,2283,242,245,248,251, - 1493,508,2757,362,536,236,230,231,1233,3462, - 2276,964,502,3597,1776,74,275,2319,2147,2195, - 1789,2824,507,232,1462,354,90,3446,738,2467, - 2820,3543,2779,420,422,3557,243,246,249,252, - 1493,346,1047,1187,351,506,250,230,231,344, - 1776,964,932,3070,35,784,32,2183,4754,27, - 30,31,802,804,26,28,1088,262,25,23, - 50,1219,106,76,77,108,2656,1227,1360,3013, - 3070,35,784,32,1382,4754,27,30,31,802, - 804,26,28,1088,262,25,23,50,1219,106, - 76,77,108,259,1227,1360,3029,540,1979,35, - 784,32,1982,4854,27,30,31,802,804,26, - 28,150,2221,514,1530,3224,228,150,2425,150, - 290,3261,1372,1676,156,150,2344,35,278,3607, - 1,1706,180,3308,540,3318,2596,1149,4147,2590, - 203,215,4483,2050,202,212,213,214,216,156, - 169,2502,1249,228,1640,3484,2739,200,4230,2249, - 168,156,183,167,170,171,172,173,174,180, - 3308,314,1249,2596,228,2487,2739,203,215,4483, - 288,202,212,213,214,216,1271,169,502,35, - 812,391,4149,558,2157,2487,2221,168,181,184, - 167,170,171,172,173,174,1900,35,784,32, - 741,3478,27,30,31,802,804,341,28,3070, - 35,784,32,435,4754,27,30,31,802,804, - 26,28,1088,262,25,23,50,1219,106,76, - 77,108,362,1227,2577,757,35,812,391,1498, - 35,1776,3598,502,3462,2696,2772,2147,2195,2987, - 2062,1088,362,1149,298,4659,321,1370,323,150, - 316,1239,2221,4142,3000,441,2848,2147,2195,1606, - 274,88,354,529,102,1783,35,784,32,1611, - 4547,27,30,31,802,804,341,28,346,1047, - 1187,351,3070,35,784,32,530,4754,27,30, - 31,802,804,26,28,1088,262,25,23,50, - 1219,106,76,77,108,345,1227,2770,150,540, - 150,1806,4796,1881,1984,1975,4803,1015,35,296, - 297,400,3545,56,335,321,1370,323,228,317, - 1239,1321,3604,1326,1088,4517,156,383,4803,472, - 72,2614,431,1958,180,3308,540,2739,2596,3526, - 394,430,203,215,4483,291,202,212,213,214, - 216,1975,169,2170,353,228,2487,330,337,2135, - 335,1088,168,156,3867,167,170,171,172,173, - 174,180,3308,1975,2590,2596,1982,354,2135,203, - 215,4483,334,202,212,213,214,216,517,169, - 1611,2080,540,348,1047,1187,351,354,221,168, - 432,178,167,170,171,172,173,174,2135,67, - 1280,228,619,346,1047,1187,351,305,150,156, - 2320,1977,3383,508,3621,603,2417,180,3308,540, - 1140,2596,2449,396,430,203,215,4483,1876,202, - 212,213,214,216,507,169,1002,179,228,502, - 35,812,391,3604,1982,168,156,176,167,170, - 171,172,173,174,180,3308,2500,505,2596,1982, - 395,430,203,215,4483,2382,202,212,213,214, - 216,689,169,2525,49,540,2153,66,3401,337, - 1372,2483,168,46,177,167,170,171,172,173, - 174,150,65,2484,228,1719,1233,3462,650,155, - 35,456,156,2490,4676,2221,89,160,775,102, - 180,3308,540,150,2596,2517,2488,1762,203,215, - 4483,1982,202,212,213,214,216,2135,169,2567, - 2518,228,502,35,812,391,3381,1010,168,156, - 187,167,170,171,172,173,174,180,3308,239, - 262,2596,2492,1102,64,203,215,4483,4727,202, - 212,213,214,216,2221,169,198,274,587,35, - 812,391,2669,306,2454,168,2551,3959,167,170, - 171,172,173,174,1503,35,784,32,3612,3478, - 27,30,31,802,804,341,28,2427,150,232, - 2558,540,4156,49,502,35,812,391,2246,35, - 281,861,1967,2069,3274,540,1102,3587,290,98, - 345,4735,240,230,231,1102,3442,150,156,342, - 4739,4242,385,1463,228,2583,150,188,42,274, - 1372,1611,156,4273,321,1370,323,2282,316,1239, - 180,3308,2588,3484,2596,1015,3675,296,203,215, - 4483,315,202,212,213,214,216,156,169,1338, - 1982,449,3680,3685,2746,947,1897,2591,168,540, - 192,167,170,171,172,173,174,2637,2621,1179, - 415,35,2242,2438,1611,1619,232,1611,228,190, - 2626,276,1326,55,3604,1982,156,4803,308,312, - 2855,2559,150,150,180,3308,571,2739,2596,253, - 230,231,203,215,4483,49,202,212,213,214, - 216,4331,169,1033,1967,1144,345,540,54,3423, - 337,1982,168,3687,186,167,170,171,172,173, - 174,525,1975,2652,2653,2135,228,3604,1280,2809, - 3604,334,1824,1819,156,2560,1982,2153,2070,512, - 2619,1372,180,3308,101,2694,2596,2620,1140,4330, - 203,215,4483,2586,202,212,213,214,216,2651, - 169,3155,336,337,197,332,337,828,160,3278, - 168,1768,194,167,170,171,172,173,174,3070, - 35,784,32,87,4754,27,30,31,802,804, - 26,28,1088,262,25,23,50,1219,106,76, - 77,108,2727,2783,3070,35,784,32,2733,4754, - 27,30,31,802,804,26,28,1088,262,25, - 23,50,1219,106,76,77,108,2735,2811,3070, - 35,784,32,2756,4754,27,30,31,802,804, - 26,28,1088,262,25,23,50,1219,106,76, - 77,108,2737,2910,3070,35,784,32,2739,4754, - 27,30,31,802,804,26,28,1088,262,25, - 23,50,1219,106,76,77,85,3070,1838,784, - 2070,173,4754,27,30,31,802,804,26,28, - 1088,262,25,23,50,1219,106,76,77,84, - 3070,35,784,32,2659,4754,27,30,31,802, - 804,26,28,1088,262,25,23,50,1219,106, - 76,77,83,3070,35,784,32,2140,4754,27, - 30,31,802,804,26,28,1088,262,25,23, - 50,1219,106,76,77,82,3070,35,784,32, - 2635,4754,27,30,31,802,804,26,28,1088, - 262,25,23,50,1219,106,76,77,81,3070, - 35,784,32,2744,4754,27,30,31,802,804, - 26,28,1088,262,25,23,50,1219,106,76, - 77,80,3070,35,784,32,2698,4754,27,30, - 31,802,804,26,28,1088,262,25,23,50, - 1219,106,76,77,79,3070,35,784,32,2745, - 4754,27,30,31,802,804,26,28,1088,262, - 25,23,50,1219,106,76,77,78,2898,35, - 784,32,2420,4754,27,30,31,802,804,26, - 28,1088,262,25,23,50,1219,106,76,77, - 104,3070,35,784,32,5365,4754,27,30,31, - 802,804,26,28,1088,262,25,23,50,1219, - 106,76,77,110,3070,35,784,32,5365,4754, - 27,30,31,802,804,26,28,1088,262,25, - 23,50,1219,106,76,77,109,3070,35,784, - 32,5365,4754,27,30,31,802,804,26,28, - 1088,262,25,23,50,1219,106,76,77,107, - 3070,35,784,32,5365,4754,27,30,31,802, - 804,26,28,1088,262,25,23,50,1219,106, - 76,77,105,1892,35,3579,32,3612,3478,27, - 30,31,802,804,341,28,5365,1473,35,784, - 32,3612,3478,27,30,31,802,804,341,28, - 3015,35,784,32,5365,4754,27,30,31,802, - 804,26,28,1088,262,25,23,50,1219,86, - 76,77,1566,843,35,456,2739,2064,4676,502, - 35,1776,3663,321,1370,323,1827,316,1239,2135, - 2739,502,35,296,5365,228,1982,321,1370,323, - 1043,316,1239,150,150,5365,5365,3474,3548,228, - 532,5365,1982,2494,315,2135,5365,2739,150,205, - 215,4483,1372,204,212,213,214,216,304,454, - 5365,5365,5365,205,215,4483,345,204,212,213, - 214,216,150,150,150,380,1372,1372,1372,156, - 206,208,210,3375,201,217,207,209,3213,4314, - 2135,309,312,2855,206,208,210,3375,5365,217, - 207,209,1914,156,156,156,2739,150,2135,5365, - 5365,968,3276,3354,3369,2153,3066,5365,4345,1372, - 421,422,3557,2062,4248,228,1982,2153,4659,199, - 3142,1372,4345,1473,35,784,32,3612,3478,27, - 30,31,802,804,341,28,160,300,150,205, - 215,4483,3494,204,212,213,214,216,160,3381, - 1223,35,784,32,2726,3478,27,30,31,802, - 804,341,28,1982,2378,453,3680,3685,3076,1982, - 206,208,210,3375,2001,217,207,209,2739,5365, - 2135,2135,1982,321,1370,323,1653,316,1239,406, - 2739,1982,5365,5365,5365,1740,3418,228,1982,2739, - 3936,3580,3521,1982,5365,5365,3415,5365,4345,228, - 318,3440,323,3615,2614,1805,5365,2135,228,625, - 222,205,215,4483,1891,204,212,213,214,216, - 5365,4367,4341,205,215,4483,3643,204,212,213, - 214,216,205,215,4483,5365,204,212,213,214, - 216,5365,206,208,210,3375,193,523,207,209, - 587,35,812,391,206,208,210,3375,2088,522, - 207,209,2739,206,208,210,3375,2175,218,207, - 209,2739,2153,433,5365,5365,1372,5365,5365,5365, - 5365,228,5365,5365,5365,49,5365,5365,5365,5365, - 228,5365,5365,5365,1967,2027,5365,5365,5365,5365, - 2880,5365,5365,160,5365,205,215,4483,3514,204, - 212,213,214,216,205,215,4483,5365,204,212, - 213,214,216,1870,35,784,32,2473,3478,27, - 30,31,802,804,341,28,206,208,210,3375, - 5365,307,207,209,5365,206,208,210,3375,1181, - 502,207,209,2739,4831,1286,5365,1458,5365,2739, - 4831,2739,4803,2153,5365,5365,5365,1372,3651,2419, - 2425,5365,228,2739,540,5365,5365,150,228,5365, - 2487,1372,5365,318,3440,323,5365,587,35,812, - 391,5365,345,4288,160,5365,2026,410,4300,5365, - 5365,156,2026,410,4300,5365,5365,1975,156,180, - 3308,5365,5365,5365,5365,1052,334,3431,5365,5365, - 5365,5365,49,929,35,812,391,411,412,413, - 3375,1967,2528,411,412,413,3375,195,5365,5365, - 587,35,812,391,5365,3442,3201,362,5365,5365, - 3346,1385,35,812,391,5365,3346,5365,49,4166, - 5365,2319,2147,2195,5365,5365,150,1967,47,5365, - 1372,5365,150,5365,5365,49,1372,5365,5365,5365, - 5365,3518,5365,2880,1967,47,49,929,35,812, - 391,929,35,812,391,1967,2504,156,653,587, - 35,812,391,156,5365,5365,2034,5365,5365,3514, - 5365,5365,4348,5365,414,416,587,35,812,391, - 414,417,49,5365,5365,5365,49,587,35,812, - 391,1967,2539,5365,49,1967,47,5365,605,5365, - 5365,4515,5365,1967,47,3115,5365,2751,5365,2837, - 5365,49,5365,3507,196,5365,5365,937,5365,5365, - 1967,47,49,1878,35,812,391,587,35,812, - 391,1967,47,5365,2156,587,35,812,391,2123, - 35,812,391,5365,5365,2243,150,5365,5365,5365, - 540,5365,5365,5365,1216,35,812,391,49,5365, - 5365,5365,49,5365,5365,5365,5365,1967,47,345, - 49,1967,47,5365,49,5365,5365,156,5365,1967, - 47,932,5365,1967,47,2541,2284,5365,5365,49, - 150,5365,2809,3058,540,5365,2351,4161,1967,2077, - 2739,5365,2063,502,35,812,391,502,35,812, - 391,5365,5365,345,502,35,812,391,5365,2487, - 5365,156,150,5365,5365,5365,540,5365,5365,5365, - 2344,502,35,812,391,5365,2809,5365,49,5365, - 5365,5365,49,5365,5365,345,2325,1967,879,49, - 5365,1967,881,156,502,35,812,391,1967,2870, - 150,5365,2284,5365,540,5365,49,5365,2809,502, - 35,812,391,5365,5365,1967,2561,5365,2721,5365, - 150,5365,5365,345,540,5365,508,5365,5365,49, - 5365,156,150,150,5365,5365,540,2739,1967,2077, - 188,150,5365,345,49,2739,4273,507,150,5365, - 5365,156,2739,1967,2996,345,345,150,5365,5365, - 188,2739,5365,156,345,5365,4273,5365,5365,150, - 505,345,188,2739,5365,5365,5365,150,4273,2809, - 345,2739,150,5365,5365,5365,2739,2809,5365,510, - 5365,5365,345,5365,2809,5365,5365,2282,5365,5365, - 345,5365,4266,2809,2389,345,5365,5365,5365,5365, - 5365,3678,5365,2408,5365,2809,5365,5365,5365,5365, - 5365,5365,4313,2809,5365,2419,5365,5365,2809,5365, - 5365,5365,5365,2972,4319,5365,5365,5365,537,5365, - 0,630,1,0,675,1,0,39,1,5380, - 0,39,1,5379,0,2565,1,0,39,5380, - 0,39,5379,0,1271,320,0,1367,29,0, - 443,1450,0,457,1588,0,5380,48,0,5379, - 48,0,38,583,0,38,5380,0,38,5379, - 0,5371,1,0,5370,1,0,284,397,0, - 284,289,0,5599,241,0,5598,241,0,5705, - 241,0,5704,241,0,5626,241,0,5625,241, - 0,5624,241,0,5623,241,0,5622,241,0, - 5621,241,0,5620,241,0,5619,241,0,5638, - 241,0,5637,241,0,5636,241,0,5635,241, - 0,5634,241,0,5633,241,0,5632,241,0, - 5631,241,0,5630,241,0,5629,241,0,5628, - 241,0,39,241,5380,0,39,241,5379,0, - 5403,241,0,1367,390,0,2670,126,0,35, - 33,0,1,447,0,461,1323,0,460,1725, - 0,47,37,0,5403,1,0,39,1,0, - 1407,91,0,32,34,0,39,583,0,1, - 790,0,1,5638,0,1,5637,0,1,5636, - 0,1,5635,0,1,5634,0,1,5633,0, - 1,5632,0,1,5631,0,1,5630,0,1, - 5629,0,1,5628,0,43,5401,0,43,37, - 0,504,3366,0,5403,1,229,0,39,1, - 229,0,229,419,0,5380,37,0,5379,37, - 0,237,3386,0,391,32,0,390,29,0, - 2670,128,0,2670,127,0,333,448,0,5375, - 408,0,5374,408,0,1,606,0,1,600, - 0,1,583,0,229,418,0,1,92,0, - 5401,45,0,37,45,0,1,333,0,2, - 5380,37,0,2,5379,37,0,5380,36,0, - 5379,36,0,504,4336,0,1,229,0,333, - 95,0,35,73,0,229,220,0,279,4255, - 0,229,219,0,5377,1,0,5373,1,0, - 1,229,3699,0,5374,229,0,3723,229,0, - 5377,386,0,5376,386,0,3821,229,0,10, - 12,0,8,10,12,0,185,3585,0,3982, - 386,0,8,12,0 + 198,198,198,78,81,81,175,175,134,134, + 111,111,111,111,111,111,3,135,135,133, + 133,112,112,84,79,75,75,163,163,113, + 113,199,199,199,136,136,127,127,200,200, + 176,176,1119,35,2571,2547,1127,4613,27,30, + 31,804,806,26,28,2533,263,25,23,50, + 1221,106,76,77,108,2767,1229,1362,1246,1421, + 1368,1499,1491,2353,1547,245,1539,275,1633,1684, + 143,2163,1063,158,144,415,1840,1778,34,1723, + 35,786,32,2775,3480,27,30,31,804,806, + 342,28,2724,2592,760,233,2741,2313,1461,35, + 786,32,3614,3480,27,30,31,804,806,342, + 28,2041,354,846,1852,346,4805,2388,236,231, + 232,1374,330,35,400,1787,35,786,32,276, + 4856,27,30,31,804,806,59,28,727,322, + 1372,324,1386,317,1241,415,35,284,156,243, + 246,249,252,1495,1283,355,2022,162,322,1372, + 324,1977,317,1241,966,393,540,330,35,400, + 336,347,1049,1189,352,2022,527,932,2488,1979, + 3448,740,2469,2822,3545,2781,2257,35,786,32, + 2741,4756,27,30,31,804,806,26,28,1090, + 263,25,23,50,1221,106,76,77,108,346, + 1229,1362,1246,1421,1368,1499,1491,1323,1547,64, + 1539,3225,1633,1684,143,1394,1177,521,144,604, + 1232,546,2811,2138,3011,1886,2138,3589,4805,4420, + 1363,4805,522,2257,35,786,32,2741,4756,27, + 30,31,804,806,26,28,1090,263,25,23, + 50,1221,106,76,77,108,346,1229,1362,1246, + 1421,1368,1499,1491,623,1547,589,1539,3539,1633, + 1684,143,1102,1977,521,144,1977,4816,446,2811, + 460,3351,335,233,761,951,1019,4355,517,522, + 1613,35,786,32,1451,4649,27,30,31,804, + 806,57,28,330,35,400,245,231,232,3255, + 150,3293,2759,243,2257,35,786,32,2741,4756, + 27,30,31,804,806,26,28,1090,263,25, + 23,50,1221,106,76,77,108,346,1229,1362, + 1246,1421,1368,1499,1491,517,1547,2002,1539,2367, + 1633,1684,143,42,3334,521,144,155,35,281, + 2811,56,4809,1913,35,279,3322,2282,3293,94, + 522,2465,35,786,32,2741,4756,27,30,31, + 804,806,26,28,1090,263,25,23,50,1221, + 106,76,77,108,346,1229,1362,1246,1421,1368, + 1499,1491,42,1547,447,1539,3235,1633,1684,143, + 2063,3340,521,144,415,35,297,2811,2106,415, + 35,814,392,155,35,281,517,522,4871,2240, + 61,2080,1699,35,786,32,4805,4649,27,30, + 31,804,806,56,28,1234,1799,3328,56,3293, + 2600,35,786,32,435,4756,27,30,31,804, + 806,26,28,1090,263,25,23,50,1221,106, + 76,77,108,2432,1229,1362,1246,1421,1368,1499, + 1491,1977,1547,518,1539,2473,1633,1684,143,1676, + 951,382,144,4175,2326,35,786,32,332,4756, + 27,30,31,804,806,26,28,1090,263,25, + 23,50,1221,106,76,77,108,4161,1229,1362, + 1246,1421,1368,1499,1491,2564,1547,329,1539,1334, + 1633,1684,143,1234,2070,382,144,4175,746,2668, + 35,786,32,1799,4756,27,30,31,804,806, + 26,28,1090,263,25,23,50,1221,106,76, + 77,108,3065,1229,1362,1246,1421,1368,1499,1491, + 931,1547,60,1539,96,1633,1754,164,1233,389, + 383,1719,3076,35,786,32,2558,4756,27,30, + 31,804,806,26,28,1090,263,25,23,50, + 1221,106,76,77,108,357,1229,1362,1246,1421, + 1368,1499,1491,42,1547,502,1539,3024,1633,1754, + 164,330,1799,390,383,1719,415,35,3023,2695, + 965,415,35,3512,2532,35,786,32,3607,4756, + 27,30,31,804,806,26,28,1090,263,25, + 23,50,1221,106,76,77,108,2598,1229,1362, + 1246,1421,1368,1499,1491,3141,1547,56,1539,1742, + 1633,1684,143,427,322,382,144,4175,2842,35, + 786,32,2224,4756,27,30,31,804,806,26, + 28,1090,263,25,23,50,1221,106,76,77, + 108,1351,1229,1362,1246,1421,1368,1499,1491,499, + 1547,56,1539,93,1633,1684,143,2020,425,376, + 144,2166,3076,35,786,32,2137,4756,27,30, + 31,804,806,26,28,1090,263,25,23,50, + 1221,106,76,77,108,356,1229,1362,1246,1421, + 1368,1499,1491,42,1547,4531,1539,3044,1633,1754, + 164,2997,160,380,383,1719,2842,35,786,32, + 528,4756,27,30,31,804,806,26,28,1090, + 263,25,23,50,1221,106,76,77,108,70, + 1229,1362,1246,1421,1368,1499,1491,327,1547,1809, + 1539,1799,1633,1684,143,1234,375,376,144,2842, + 35,786,32,296,4756,27,30,31,804,806, + 26,28,1090,263,25,23,50,1221,106,76, + 77,108,501,1229,1362,1246,1421,1368,1499,1491, + 2282,1547,236,1539,2598,1633,1684,143,2075,42, + 376,144,2158,696,2842,35,786,32,379,4756, + 27,30,31,804,806,26,28,1090,263,25, + 23,50,1221,106,76,77,108,69,1229,1362, + 1246,1421,1368,1499,1491,1692,1547,464,1539,42, + 1633,1684,143,1374,374,158,144,2398,35,786, + 32,587,4756,27,30,31,804,806,26,28, + 1090,263,25,23,50,1221,106,76,77,108, + 2855,1229,1362,1246,1421,1368,1499,1491,328,1547, + 1799,1539,42,1633,1684,143,753,372,142,144, + 2842,35,786,32,2557,4756,27,30,31,804, + 806,26,28,1090,263,25,23,50,1221,106, + 76,77,108,377,1229,1362,1246,1421,1368,1499, + 1491,1348,1547,2598,1539,1651,1633,1684,143,1527, + 1221,155,144,1960,35,786,32,4176,4856,27, + 30,31,804,806,58,28,2842,35,786,32, + 2488,4756,27,30,31,804,806,26,28,1090, + 263,25,23,50,1221,106,76,77,108,142, + 1229,1362,1246,1421,1368,1499,1491,1271,1547,1799, + 1539,1766,1633,1684,143,415,4187,154,144,2842, + 35,786,32,3606,4756,27,30,31,804,806, + 26,28,1090,263,25,23,50,1221,106,76, + 77,108,581,1229,1362,1246,1421,1368,1499,1491, + 42,1547,2598,1539,834,1633,1684,143,2991,338, + 153,144,2842,35,786,32,379,4756,27,30, + 31,804,806,26,28,1090,263,25,23,50, + 1221,106,76,77,108,1321,1229,1362,1246,1421, + 1368,1499,1491,128,1547,451,1539,42,1633,1684, + 143,1374,2428,152,144,2842,35,786,32,1723, + 4756,27,30,31,804,806,26,28,1090,263, + 25,23,50,1221,106,76,77,108,4184,1229, + 1362,1246,1421,1368,1499,1491,42,1547,2078,1539, + 4511,1633,1684,143,1382,3602,151,144,2842,35, + 786,32,1799,4756,27,30,31,804,806,26, + 28,1090,263,25,23,50,1221,106,76,77, + 108,3624,1229,1362,1246,1421,1368,1499,1491,1799, + 1547,2078,1539,1102,1633,1684,143,1234,4585,150, + 144,2842,35,786,32,3510,4756,27,30,31, + 804,806,26,28,1090,263,25,23,50,1221, + 106,76,77,108,1896,1229,1362,1246,1421,1368, + 1499,1491,4249,1547,2078,1539,1102,1633,1684,143, + 2748,4602,149,144,2842,35,786,32,2499,4756, + 27,30,31,804,806,26,28,1090,263,25, + 23,50,1221,106,76,77,108,2763,1229,1362, + 1246,1421,1368,1499,1491,359,1547,1799,1539,463, + 1633,1684,143,1234,536,148,144,2842,35,786, + 32,214,4756,27,30,31,804,806,26,28, + 1090,263,25,23,50,1221,106,76,77,108, + 1330,1229,1362,1246,1421,1368,1499,1491,358,1547, + 2598,1539,42,1633,1684,143,2870,536,147,144, + 2842,35,786,32,530,4756,27,30,31,804, + 806,26,28,1090,263,25,23,50,1221,106, + 76,77,108,528,1229,1362,1246,1421,1368,1499, + 1491,326,1547,1799,1539,4072,1633,1684,143,1234, + 536,146,144,2842,35,786,32,2226,4756,27, + 30,31,804,806,26,28,1090,263,25,23, + 50,1221,106,76,77,108,2256,1229,1362,1246, + 1421,1368,1499,1491,42,1547,2598,1539,1500,1633, + 1684,143,415,3892,145,144,2842,35,786,32, + 529,4756,27,30,31,804,806,26,28,1090, + 263,25,23,50,1221,106,76,77,108,1469, + 1229,1362,1246,1421,1368,1499,1491,924,1547,1809, + 1539,51,1633,1684,143,385,2557,159,144,2842, + 35,786,32,322,4756,27,30,31,804,806, + 26,28,1090,263,25,23,50,1221,106,76, + 77,108,353,1229,1362,1246,1421,1368,1499,1491, + 42,1547,1809,1539,3161,1633,1684,143,2060,1460, + 140,144,2959,35,786,32,1234,4756,27,30, + 31,804,806,26,28,1090,263,25,23,50, + 1221,106,76,77,108,325,1229,1362,1246,1421, + 1368,1499,1491,2083,1547,1809,1539,408,1633,1684, + 143,1103,1450,189,144,3076,35,786,32,1828, + 4756,27,30,31,804,806,26,28,1090,263, + 25,23,50,1221,106,76,77,108,4049,1229, + 1362,1246,1421,1368,1499,1491,42,1547,71,1539, + 2450,1633,1754,164,3076,35,786,32,97,4756, + 27,30,31,804,806,26,28,1090,263,25, + 23,50,1221,106,76,77,108,2585,1229,1362, + 1246,1421,1368,1499,1491,2585,1547,1549,1539,1250, + 1633,1754,164,415,35,1778,278,451,415,35, + 814,392,3076,35,786,32,426,4756,27,30, + 31,804,806,26,28,1090,263,25,23,50, + 1221,106,76,77,108,2290,1229,1362,1246,1421, + 1368,1499,1491,456,1547,2357,1539,1633,1633,1754, + 164,3131,35,786,32,429,4756,27,30,31, + 804,806,26,28,1090,263,25,23,50,1221, + 106,76,77,108,406,1229,1362,1246,1421,1368, + 1499,1491,42,1547,410,1539,3133,1633,1754,164, + 415,35,1778,280,1174,415,35,814,392,3076, + 35,786,32,3449,4756,27,30,31,804,806, + 26,28,1090,263,25,23,50,1221,106,76, + 77,108,2357,1229,1362,1246,1421,1368,1499,1491, + 438,1547,1102,1539,418,3231,1809,4653,3076,35, + 786,32,3846,4756,27,30,31,804,806,26, + 28,1090,263,25,23,50,1221,106,76,77, + 108,302,1229,1362,1246,1421,1368,1499,1491,24, + 1547,1809,3213,3076,35,786,32,1809,4756,27, + 30,31,804,806,26,28,1090,263,25,23, + 50,1221,106,76,77,108,1809,1229,1362,1246, + 1421,1368,1499,1491,1934,3151,3076,35,786,32, + 69,4756,27,30,31,804,806,26,28,1090, + 263,25,23,50,1221,106,76,77,108,68, + 1229,1362,1246,1421,1368,1499,3205,3076,35,786, + 32,676,4756,27,30,31,804,806,26,28, + 1090,263,25,23,50,1221,106,76,77,108, + 2087,1229,1362,1246,1421,1368,3058,3076,35,786, + 32,2157,4756,27,30,31,804,806,26,28, + 1090,263,25,23,50,1221,106,76,77,108, + 2282,1229,1362,1246,1421,3066,3076,35,786,32, + 2555,4756,27,30,31,804,806,26,28,1090, + 263,25,23,50,1221,106,76,77,108,1246, + 1229,1362,1246,1421,3127,1374,35,786,32,3614, + 4549,27,30,31,804,806,342,28,1910,1404, + 35,786,32,743,3480,27,30,31,804,806, + 342,28,3076,35,786,32,2244,4756,27,30, + 31,804,806,26,28,1090,263,25,23,50, + 1221,106,76,77,108,1977,1229,1362,1246,2914, + 2134,2247,233,1353,335,322,1372,324,1958,317, + 1241,2127,2741,415,35,814,392,3349,2232,322, + 1372,324,316,317,1241,248,231,232,42,394, + 431,2489,3408,1828,2603,355,750,1605,35,786, + 32,3275,2585,41,30,31,804,806,437,408, + 3340,347,1049,1189,352,2051,35,786,32,687, + 2428,40,30,31,804,806,2585,3351,2352,309, + 313,2857,2965,1477,35,786,32,2585,4549,27, + 30,31,804,806,342,28,1707,2051,35,786, + 32,4689,3261,2195,30,31,804,806,364,2617, + 3076,35,786,32,3689,4756,27,30,31,804, + 806,26,28,1090,263,25,23,50,1221,106, + 76,77,108,1977,1229,1362,1246,2946,415,35, + 1778,3488,336,322,1372,324,182,320,1241,44, + 3334,1809,3076,35,786,32,369,4756,27,30, + 31,804,806,26,28,1090,263,25,23,50, + 1221,106,76,77,108,150,1229,1362,1246,2986, + 3076,35,786,32,53,4756,27,30,31,804, + 806,26,28,1090,263,25,23,50,1221,106, + 76,77,108,1809,1229,1362,1246,3003,1820,35, + 3581,32,3614,4549,27,30,31,804,806,342, + 28,3186,35,814,392,2984,4412,2138,415,35, + 1778,283,4805,42,238,263,87,603,1809,1732, + 35,786,32,2313,4549,27,30,31,804,806, + 342,28,580,1331,1809,1810,275,2741,1977,2741, + 4805,3235,35,814,392,929,4412,335,322,1372, + 324,52,317,1241,239,263,2489,1977,2489,1693, + 35,1778,278,2983,233,1045,335,2808,42,1977, + 2316,2159,3292,1160,2741,2747,275,2603,336,322, + 1372,324,1502,318,1241,1977,42,236,231,232, + 3553,288,1102,346,335,355,3203,4725,276,2051, + 35,786,32,535,233,2272,30,31,804,806, + 1809,349,1049,1189,352,1809,2811,2284,243,246, + 249,252,1495,509,2759,363,538,237,231,232, + 1635,3464,1999,966,415,3599,1778,74,276,2321, + 2149,2197,2453,2826,508,233,1464,355,90,3448, + 740,2469,2822,3545,2781,421,423,3559,244,247, + 250,253,1495,347,1049,1189,352,507,251,231, + 232,345,1631,966,1384,3076,35,786,32,2185, + 4756,27,30,31,804,806,26,28,1090,263, + 25,23,50,1221,106,76,77,108,2658,1229, + 1362,3015,3076,35,786,32,1621,4756,27,30, + 31,804,806,26,28,1090,263,25,23,50, + 1221,106,76,77,108,259,1229,1362,3031,542, + 1787,35,786,32,1809,4856,27,30,31,804, + 806,26,28,42,2313,515,1780,3226,229,42, + 2429,42,291,3263,1374,1678,156,42,2250,35, + 279,3609,1,1797,180,3310,542,3320,2598,1151, + 4149,2594,204,216,4485,2141,203,213,214,215, + 217,156,169,2506,1342,229,1642,3486,2741,201, + 4232,2219,168,156,183,167,170,171,172,173, + 174,180,3310,315,1342,2598,1257,2489,2741,204, + 216,4485,289,203,213,214,215,217,2253,169, + 415,35,814,392,4151,214,2571,2489,2313,168, + 181,184,167,170,171,172,173,174,1991,35, + 786,32,743,3480,27,30,31,804,806,342, + 28,3076,35,786,32,436,4756,27,30,31, + 804,806,26,28,1090,263,25,23,50,1221, + 106,76,77,108,363,1229,2579,757,35,814, + 392,1693,35,1778,3600,415,3464,3271,2774,2149, + 2197,2989,1412,2555,363,1151,299,4661,322,1372, + 324,42,317,1241,2313,4144,3002,442,2850,2149, + 2197,2395,275,88,355,531,102,1477,35,786, + 32,1221,4549,27,30,31,804,806,342,28, + 347,1049,1189,352,3076,35,786,32,532,4756, + 27,30,31,804,806,26,28,1090,263,25, + 23,50,1221,106,76,77,108,345,1229,2772, + 42,542,42,1903,4798,1784,1986,1977,4805,1552, + 35,297,298,314,3547,400,336,322,1372,324, + 229,318,1241,1908,3606,2138,2555,4519,156,384, + 4805,558,72,2616,431,1331,180,3310,542,2741, + 2598,3528,395,431,204,216,4485,292,203,213, + 214,215,217,1977,169,2174,354,229,2489,331, + 338,2357,336,2555,168,156,3869,167,170,171, + 172,173,174,180,3310,1977,2594,2598,1809,355, + 2357,204,216,4485,335,203,213,214,215,217, + 517,169,1221,2314,542,349,1049,1189,352,355, + 222,168,433,178,167,170,171,172,173,174, + 2357,67,1282,229,621,347,1049,1189,352,306, + 42,156,2420,1979,3385,509,3623,603,2427,180, + 3310,542,1142,2598,2458,397,431,204,216,4485, + 2490,203,213,214,215,217,508,169,1625,179, + 229,415,35,814,392,3606,1809,168,156,176, + 167,170,171,172,173,174,180,3310,2504,506, + 2598,1809,396,431,204,216,4485,2317,203,213, + 214,215,217,689,169,2592,49,542,2223,66, + 3403,338,1374,2489,168,46,177,167,170,171, + 172,173,174,42,65,2491,229,1721,1635,3464, + 652,155,35,457,156,2520,4678,2313,89,160, + 775,102,180,3310,542,42,2598,2521,2430,1764, + 204,216,4485,1809,203,213,214,215,217,2357, + 169,2573,2522,229,415,35,814,392,2723,1234, + 168,156,187,167,170,171,172,173,174,180, + 3310,240,263,2598,2560,1102,64,204,216,4485, + 4729,203,213,214,215,217,2313,169,199,275, + 502,35,814,392,2671,307,2460,168,2562,3961, + 167,170,171,172,173,174,1873,35,786,32, + 3614,3480,27,30,31,804,806,342,28,2431, + 42,233,2563,542,4158,49,415,35,814,392, + 1913,35,282,861,1969,2071,3276,542,1102,3589, + 291,98,346,4737,241,231,232,1102,3444,42, + 156,343,4741,4244,386,1616,229,2587,42,188, + 2353,275,1374,1221,156,4275,322,1372,324,2588, + 317,1241,180,3310,2590,3486,2598,1552,3677,297, + 204,216,4485,316,203,213,214,215,217,156, + 169,1901,1809,450,3682,3687,2748,947,1899,2595, + 168,542,192,167,170,171,172,173,174,2641, + 2659,1179,330,35,2244,2440,1221,1710,233,1221, + 229,190,2622,277,2138,55,3606,1809,156,4805, + 309,313,2857,2623,42,42,180,3310,573,2741, + 2598,254,231,232,204,216,4485,49,203,213, + 214,215,217,4333,169,1033,1969,1146,346,542, + 54,3425,338,1809,168,3689,186,167,170,171, + 172,173,174,527,1977,2690,2691,2357,229,3606, + 1282,2811,3606,335,2556,1821,156,2631,1809,2223, + 2077,513,2633,1374,180,3310,101,2695,2598,2656, + 1142,4332,204,216,4485,2590,203,213,214,215, + 217,2697,169,3157,337,338,198,333,338,830, + 160,3280,168,1770,195,167,170,171,172,173, + 174,3076,35,786,32,87,4756,27,30,31, + 804,806,26,28,1090,263,25,23,50,1221, + 106,76,77,108,2728,2785,3076,35,786,32, + 2765,4756,27,30,31,804,806,26,28,1090, + 263,25,23,50,1221,106,76,77,108,2770, + 2813,3076,35,786,32,2758,4756,27,30,31, + 804,806,26,28,1090,263,25,23,50,1221, + 106,76,77,108,2771,2912,3076,35,786,32, + 2772,4756,27,30,31,804,806,26,28,1090, + 263,25,23,50,1221,106,76,77,85,3076, + 1840,786,2072,173,4756,27,30,31,804,806, + 26,28,1090,263,25,23,50,1221,106,76, + 77,84,3076,35,786,32,2709,4756,27,30, + 31,804,806,26,28,1090,263,25,23,50, + 1221,106,76,77,83,3076,35,786,32,1897, + 4756,27,30,31,804,806,26,28,1090,263, + 25,23,50,1221,106,76,77,82,3076,35, + 786,32,2726,4756,27,30,31,804,806,26, + 28,1090,263,25,23,50,1221,106,76,77, + 81,3076,35,786,32,2780,4756,27,30,31, + 804,806,26,28,1090,263,25,23,50,1221, + 106,76,77,80,3076,35,786,32,2732,4756, + 27,30,31,804,806,26,28,1090,263,25, + 23,50,1221,106,76,77,79,3076,35,786, + 32,2657,4756,27,30,31,804,806,26,28, + 1090,263,25,23,50,1221,106,76,77,78, + 2904,35,786,32,2386,4756,27,30,31,804, + 806,26,28,1090,263,25,23,50,1221,106, + 76,77,104,3076,35,786,32,5370,4756,27, + 30,31,804,806,26,28,1090,263,25,23, + 50,1221,106,76,77,110,3076,35,786,32, + 5370,4756,27,30,31,804,806,26,28,1090, + 263,25,23,50,1221,106,76,77,109,3076, + 35,786,32,5370,4756,27,30,31,804,806, + 26,28,1090,263,25,23,50,1221,106,76, + 77,107,3076,35,786,32,5370,4756,27,30, + 31,804,806,26,28,1090,263,25,23,50, + 1221,106,76,77,105,1983,35,3581,32,3614, + 3480,27,30,31,804,806,342,28,5370,1461, + 35,786,32,3614,3480,27,30,31,804,806, + 342,28,3021,35,786,32,5370,4756,27,30, + 31,804,806,26,28,1090,263,25,23,50, + 1221,86,76,77,1570,843,35,457,2741,2312, + 4678,415,35,1778,3665,322,1372,324,1831,317, + 1241,2357,2741,415,35,297,5370,229,1809,322, + 1372,324,1045,317,1241,42,2699,5370,5370,3476, + 3550,229,534,5370,1809,2707,316,2357,5370,2741, + 42,206,216,4485,1374,205,213,214,215,217, + 305,455,5370,5370,5370,206,216,4485,346,205, + 213,214,215,217,42,42,42,381,1374,1374, + 1374,156,207,209,211,3377,202,218,208,210, + 3215,4316,2357,310,313,2857,207,209,211,3377, + 5370,218,208,210,1918,156,156,156,2741,42, + 2357,5370,5370,970,3278,3356,3371,2223,3068,5370, + 4347,1374,422,423,3559,1412,4250,229,1809,2223, + 4661,200,3144,1374,4347,1461,35,786,32,3614, + 3480,27,30,31,804,806,342,28,160,301, + 42,206,216,4485,3496,205,213,214,215,217, + 160,3383,1223,35,786,32,2728,3480,27,30, + 31,804,806,342,28,1809,2348,454,3682,3687, + 3078,1809,207,209,211,3377,2005,218,208,210, + 2741,5370,2357,2357,1809,322,1372,324,1657,317, + 1241,407,2741,1809,5370,5370,5370,1744,3420,229, + 1809,2741,3938,3582,3523,1809,5370,5370,3417,5370, + 4347,229,319,3442,324,3617,2616,1807,5370,2357, + 229,627,223,206,216,4485,1893,205,213,214, + 215,217,5370,4369,4343,206,216,4485,3645,205, + 213,214,215,217,206,216,4485,5370,205,213, + 214,215,217,5370,207,209,211,3377,193,524, + 208,210,502,35,814,392,207,209,211,3377, + 2092,523,208,210,2741,207,209,211,3377,2179, + 219,208,210,2741,2223,434,5370,5370,1374,5370, + 5370,5370,5370,229,5370,5370,5370,49,5370,5370, + 5370,5370,229,5370,5370,5370,1969,2029,5370,5370, + 5370,5370,2882,5370,5370,160,5370,206,216,4485, + 3516,205,213,214,215,217,206,216,4485,5370, + 205,213,214,215,217,1507,35,786,32,2475, + 3480,27,30,31,804,806,342,28,207,209, + 211,3377,5370,308,208,210,5370,207,209,211, + 3377,1181,503,208,210,2741,4833,1287,5370,1810, + 5370,2741,4833,2741,4805,2223,5370,5370,5370,1374, + 3653,1619,2429,5370,229,2741,542,5370,5370,42, + 229,5370,2489,1374,5370,319,3442,324,5370,502, + 35,814,392,5370,346,4290,160,5370,2028,411, + 4302,5370,5370,156,2028,411,4302,5370,5370,1977, + 156,180,3310,5370,5370,5370,5370,1054,335,3433, + 5370,5370,5370,5370,49,1015,35,814,392,412, + 413,414,3377,1969,2530,412,413,414,3377,196, + 5370,5370,502,35,814,392,5370,3444,3203,363, + 5370,5370,3348,2215,35,814,392,5370,3348,5370, + 49,4168,5370,2321,2149,2197,5370,5370,42,1969, + 47,5370,1374,5370,42,5370,5370,49,1374,5370, + 5370,5370,5370,3520,5370,2882,1969,47,49,1015, + 35,814,392,1015,35,814,392,1969,2506,156, + 655,502,35,814,392,156,5370,5370,2036,5370, + 5370,3516,5370,5370,4350,5370,415,417,502,35, + 814,392,415,418,49,5370,5370,5370,49,502, + 35,814,392,1969,2541,5370,49,1969,47,5370, + 607,5370,5370,4517,5370,1969,47,3117,5370,2753, + 5370,2839,5370,49,5370,3509,197,5370,5370,939, + 5370,5370,1969,47,49,1968,35,814,392,502, + 35,814,392,1969,47,5370,2158,502,35,814, + 392,2390,35,814,392,5370,5370,2245,42,5370, + 5370,5370,542,5370,5370,5370,1216,35,814,392, + 49,5370,5370,5370,49,5370,5370,5370,5370,1969, + 47,346,49,1969,47,5370,49,5370,5370,156, + 5370,1969,47,934,5370,1969,47,2543,2286,5370, + 5370,49,42,5370,2811,3060,542,5370,2049,4163, + 1969,2079,2741,5370,2065,415,35,814,392,415, + 35,814,392,5370,5370,346,415,35,814,392, + 5370,2489,5370,156,42,5370,5370,5370,542,5370, + 5370,5370,2346,415,35,814,392,5370,2811,5370, + 49,5370,5370,5370,49,5370,5370,346,2327,1969, + 881,49,5370,1969,883,156,415,35,814,392, + 1969,2872,42,5370,2286,5370,542,5370,49,5370, + 2811,415,35,814,392,5370,5370,1969,2563,5370, + 2723,5370,42,5370,5370,346,542,5370,509,5370, + 5370,49,5370,156,42,42,5370,5370,542,2741, + 1969,2079,188,42,5370,346,49,2741,4275,508, + 42,5370,5370,156,2741,1969,2998,346,346,42, + 5370,5370,188,2741,5370,156,346,5370,4275,5370, + 5370,42,506,346,188,2741,5370,5370,5370,42, + 4275,2811,346,2741,42,5370,5370,5370,2741,2811, + 5370,511,5370,5370,346,5370,2811,5370,5370,2284, + 5370,5370,346,5370,4268,2811,2391,346,5370,5370, + 5370,5370,5370,3680,5370,2410,5370,2811,5370,5370, + 5370,5370,5370,5370,4315,2811,5370,2421,5370,5370, + 2811,5370,5370,5370,5370,2974,4321,5370,5370,5370, + 539,5370,0,632,1,0,677,1,0,39, + 1,5385,0,39,1,5384,0,2567,1,0, + 39,5385,0,39,5384,0,1273,321,0,1369, + 29,0,444,1452,0,458,1590,0,5385,48, + 0,5384,48,0,38,585,0,38,5385,0, + 38,5384,0,5376,1,0,5375,1,0,285, + 398,0,285,290,0,5605,242,0,5604,242, + 0,5711,242,0,5710,242,0,5632,242,0, + 5631,242,0,5630,242,0,5629,242,0,5628, + 242,0,5627,242,0,5626,242,0,5625,242, + 0,5644,242,0,5643,242,0,5642,242,0, + 5641,242,0,5640,242,0,5639,242,0,5638, + 242,0,5637,242,0,5636,242,0,5635,242, + 0,5634,242,0,39,242,5385,0,39,242, + 5384,0,5408,242,0,1369,391,0,2672,126, + 0,35,33,0,1,448,0,462,1325,0, + 461,1727,0,47,37,0,5408,1,0,39, + 1,0,1409,91,0,32,34,0,39,585, + 0,1,792,0,1,5644,0,1,5643,0, + 1,5642,0,1,5641,0,1,5640,0,1, + 5639,0,1,5638,0,1,5637,0,1,5636, + 0,1,5635,0,1,5634,0,43,5406,0, + 43,37,0,505,3368,0,5408,1,230,0, + 39,1,230,0,230,420,0,5385,37,0, + 5384,37,0,238,3388,0,392,32,0,391, + 29,0,2672,128,0,2672,127,0,334,449, + 0,5380,409,0,5379,409,0,1,608,0, + 1,602,0,1,585,0,230,419,0,1, + 92,0,5406,45,0,37,45,0,1,334, + 0,2,5385,37,0,2,5384,37,0,5385, + 36,0,5384,36,0,505,4338,0,1,230, + 0,334,95,0,35,73,0,230,221,0, + 280,4257,0,230,220,0,5382,1,0,5378, + 1,0,1,230,3701,0,5379,230,0,3725, + 230,0,5382,387,0,5381,387,0,3823,230, + 0,10,12,0,8,10,12,0,3915,194, + 0,185,3587,0,3984,387,0,8,12,0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -1104,17 +1105,17 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par 4,5,6,7,8,9,10,11,12,13, 14,15,16,17,18,19,20,21,22,23, 24,25,26,27,28,29,30,31,32,33, - 34,35,36,37,38,39,40,72,42,43, + 34,35,36,37,38,39,40,0,42,43, 44,45,46,47,48,49,50,51,52,53, 54,0,56,57,58,59,60,61,62,0, - 64,65,66,67,0,1,2,71,4,118, + 64,65,66,67,0,1,2,71,4,0, 74,75,76,77,78,79,80,81,82,83, 84,85,0,1,2,3,4,5,6,7, 8,9,10,11,12,13,14,15,16,17, 18,19,20,21,22,23,24,25,26,27, 28,29,30,31,32,33,34,35,36,37, 38,39,40,0,42,43,44,45,46,47, - 48,49,50,51,52,53,54,0,56,57, + 48,49,50,51,52,53,54,100,56,57, 58,59,60,61,62,0,64,65,66,67, 99,6,0,71,0,3,74,75,76,77, 78,79,80,81,82,83,84,85,0,1, @@ -1123,9 +1124,9 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par 22,23,24,25,26,27,28,29,30,31, 32,33,34,35,36,37,38,39,40,55, 42,43,44,45,46,47,48,49,50,51, - 52,53,54,100,56,57,58,59,60,61, - 62,0,64,65,66,67,5,92,93,102, - 103,104,74,75,76,77,78,79,80,81, + 52,53,54,0,56,57,58,59,60,61, + 62,0,64,65,66,67,5,92,93,0, + 1,2,74,75,76,77,78,79,80,81, 82,83,84,85,0,1,2,3,4,5, 6,7,8,9,10,11,12,13,14,15, 16,17,18,19,20,21,22,23,24,25, @@ -1133,15 +1134,15 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par 36,37,38,39,40,0,42,43,44,45, 46,47,48,49,50,51,52,53,54,0, 56,57,58,59,60,61,62,0,64,65, - 66,67,0,6,0,1,2,0,74,75, + 66,67,99,6,0,1,2,0,74,75, 76,77,78,79,80,81,82,83,84,85, 0,1,2,3,4,5,6,7,8,9, 10,11,12,13,14,15,16,17,18,19, 20,21,22,23,24,25,26,27,28,29, 30,31,32,33,34,35,36,37,38,39, - 40,0,42,43,44,45,46,47,48,49, + 40,72,42,43,44,45,46,47,48,49, 50,51,52,53,54,68,56,57,58,59, - 60,61,62,0,64,65,66,67,99,92, + 60,61,62,0,64,65,66,67,0,92, 93,0,1,2,74,75,76,77,78,79, 80,81,82,83,84,85,0,1,2,3, 4,5,6,7,8,9,10,11,12,13, @@ -1149,24 +1150,24 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par 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,100,56,57,58,59,60,61,62,0, - 64,65,66,67,0,6,0,1,2,0, + 54,0,56,57,58,59,60,61,62,0, + 64,65,66,67,0,6,0,89,0,91, 74,75,76,77,78,79,80,81,82,83, 84,85,0,1,2,3,4,5,6,7, 8,9,10,11,12,13,14,15,16,17, 18,19,20,21,22,23,24,25,26,27, 28,29,30,31,32,33,34,35,36,37, - 38,39,40,0,42,43,44,45,46,47, - 48,49,50,51,52,53,54,68,56,57, + 38,39,40,55,42,43,44,45,46,47, + 48,49,50,51,52,53,54,100,56,57, 58,59,60,61,62,0,64,65,66,67, - 0,92,93,89,0,91,74,75,76,77, + 0,92,93,87,88,0,74,75,76,77, 78,79,80,81,82,83,84,85,0,1, 2,3,4,5,6,7,8,9,10,11, 12,13,14,15,16,17,18,19,20,21, 22,23,24,25,26,27,28,29,30,31, - 32,33,34,35,36,37,38,39,40,55, + 32,33,34,35,36,37,38,39,40,0, 42,43,44,45,46,47,48,49,50,51, - 52,53,54,0,56,57,58,59,60,61, + 52,53,54,68,56,57,58,59,60,61, 62,0,64,65,66,67,0,1,2,0, 0,5,74,75,76,77,78,79,80,81, 82,83,84,85,0,1,2,3,4,5, @@ -1183,266 +1184,263 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par 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,68,56,57,58,59, - 60,61,62,0,64,65,66,67,0,1, - 2,0,87,88,74,75,76,77,78,79, + 50,51,52,53,54,70,56,57,58,59, + 60,61,62,0,64,65,66,67,0,6, + 0,0,9,3,74,75,76,77,78,79, 80,81,82,83,84,85,0,1,2,3, 4,5,6,7,8,9,10,11,12,13, 14,15,16,17,18,19,20,21,22,23, 24,25,26,27,28,29,30,31,32,33, 34,35,36,37,38,39,40,0,42,43, 44,45,46,47,48,49,50,51,52,53, - 54,0,56,57,58,59,60,61,62,0, - 64,65,66,67,0,1,2,8,87,88, + 54,70,56,57,58,59,60,61,62,0, + 64,65,66,67,0,1,2,89,0,91, 74,75,76,77,78,79,80,81,82,83, 84,85,0,1,2,3,4,5,6,7, 8,9,10,11,12,13,14,15,16,17, 18,19,20,21,22,23,24,25,26,27, 28,29,30,31,32,33,34,35,36,37, - 38,39,40,72,42,43,44,45,46,47, + 38,39,40,55,42,43,44,45,46,47, 48,49,50,51,52,53,54,0,56,57, 58,59,60,61,62,0,64,65,66,67, 0,0,0,1,2,4,74,75,76,77, 78,79,80,81,82,83,84,85,0,1, - 2,3,4,5,6,7,117,9,10,11, + 2,3,4,5,6,7,0,9,10,11, 12,13,14,15,16,17,18,19,20,21, 22,23,24,41,26,27,28,29,30,31, - 32,33,34,35,36,37,38,39,40,72, + 32,33,34,35,36,37,38,39,40,0, 42,43,44,45,46,47,48,49,50,51, 52,53,54,0,56,57,58,4,0,61, 0,1,2,3,4,5,6,7,8,9, 10,11,12,13,14,15,16,17,18,19, 20,21,22,23,24,25,26,27,28,29, 30,31,32,33,34,0,1,2,40,39, - 120,41,0,1,2,3,4,5,55,7, - 8,0,0,1,2,0,56,57,58,59, - 60,6,62,0,9,0,0,25,0,3, - 0,71,72,22,23,24,8,26,27,28, + 0,41,0,1,2,3,4,5,55,7, + 8,0,0,0,0,3,56,57,58,59, + 60,8,62,23,24,0,120,25,89,0, + 91,71,72,22,23,24,0,26,27,28, 29,30,31,32,33,34,86,22,23,24, 0,26,27,28,29,30,31,32,33,34, - 65,66,102,103,104,0,1,2,3,4, - 5,6,7,8,9,10,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,73,0,3,39,0,41,0,8,4, - 3,6,0,6,9,8,9,0,90,96, - 97,56,57,58,59,60,0,62,98,0, - 1,2,25,4,0,6,71,72,9,0, - 0,0,35,36,37,38,96,97,22,23, - 24,86,26,27,28,29,30,31,32,33, - 34,0,55,63,0,1,2,102,103,104, - 63,0,55,73,3,68,69,70,71,72, - 73,0,1,2,3,4,5,6,7,72, - 9,0,1,2,87,88,89,90,91,92, - 93,94,95,96,97,98,99,100,101,68, - 69,0,105,106,107,108,109,110,111,112, - 113,114,115,116,117,0,119,0,3,65, - 66,6,41,8,9,101,9,0,1,2, - 106,4,0,6,63,8,9,0,87,88, - 25,70,0,1,2,3,4,5,0,7, - 35,36,37,38,22,23,24,0,26,27, - 28,29,30,31,32,33,34,0,1,2, - 55,70,0,1,2,3,4,5,63,7, - 8,0,0,68,69,70,71,72,73,0, - 1,2,3,4,5,6,7,25,9,0, - 73,0,87,88,89,90,91,92,93,94, - 95,96,97,98,99,100,101,90,70,0, - 105,106,107,108,109,110,111,112,113,114, - 115,116,117,0,119,0,1,2,3,4, - 5,6,7,8,9,10,11,12,13,14, - 15,16,17,18,19,20,21,22,23,24, - 25,26,27,28,29,30,31,32,33,34, - 89,70,91,0,39,0,41,0,1,2, - 0,4,5,0,7,0,87,88,0,70, - 0,56,57,58,59,60,8,62,0,64, - 118,68,101,23,24,0,71,106,107,108, - 109,110,111,112,113,114,115,116,41,0, - 0,86,0,1,2,3,4,5,6,7, - 8,9,10,11,12,13,14,15,16,17, - 18,19,20,21,22,23,24,25,26,27, - 28,29,30,31,32,33,34,69,39,71, - 55,39,0,41,0,1,2,69,4,5, - 8,7,89,98,91,0,0,55,56,57, - 58,59,60,63,62,0,64,25,0,1, - 2,3,4,5,0,7,8,0,1,2, - 3,4,5,6,7,41,9,0,86,0, + 65,66,0,103,104,105,0,1,2,3, + 4,5,6,7,8,9,10,11,12,13, + 14,15,16,17,18,19,20,21,22,23, + 24,25,26,27,28,29,30,31,32,33, + 34,39,0,1,2,39,4,41,6,0, + 0,9,3,0,0,6,3,8,9,90, + 10,0,56,57,58,59,60,0,62,8, + 0,118,0,3,25,3,9,71,72,103, + 104,105,0,0,35,36,37,38,98,39, + 0,41,86,0,1,2,3,4,5,6, + 7,0,9,0,55,0,0,37,38,103, + 104,105,63,0,1,2,63,68,69,70, + 71,72,73,0,1,2,3,4,5,6, + 7,0,9,63,73,4,87,88,89,90, + 91,92,93,94,95,96,97,98,99,100, + 101,90,70,22,41,106,107,108,109,110, + 111,112,113,114,115,116,117,118,119,0, + 0,70,3,68,69,6,106,8,9,0, + 0,1,2,3,4,5,63,7,0,119, + 87,88,4,70,25,0,0,1,2,3, + 4,5,101,7,35,36,37,38,107,108, + 109,110,111,112,113,114,115,116,117,0, + 41,0,0,4,55,55,0,1,2,3, + 4,5,63,7,103,104,105,68,69,70, + 71,72,73,22,23,24,0,26,27,28, + 29,30,31,32,33,34,87,88,89,90, + 91,92,93,94,95,96,97,98,99,100, + 101,0,1,2,55,106,107,108,109,110, + 111,112,113,114,115,116,117,118,119,0, 1,2,3,4,5,6,7,8,9,10, 11,12,13,14,15,16,17,18,19,20, 21,22,23,24,25,26,27,28,29,30, - 31,32,33,34,0,0,70,0,39,55, - 41,63,0,1,2,3,4,5,0,7, - 63,73,87,88,0,56,57,58,59,60, - 63,62,8,64,0,0,1,2,3,4, - 71,6,35,36,9,0,1,2,3,4, - 5,6,7,0,9,86,0,1,2,3, + 31,32,33,34,0,1,2,0,39,5, + 41,7,0,1,2,0,4,5,0,7, + 0,3,96,97,0,56,57,58,59,60, + 0,62,0,64,0,1,2,22,23,24, + 71,26,27,28,29,30,31,32,33,34, + 0,1,2,41,4,86,0,1,2,3, 4,5,6,7,8,9,10,11,12,13, 14,15,16,17,18,19,20,21,22,23, 24,25,26,27,28,29,30,31,32,33, - 34,67,74,40,89,39,91,41,63,0, - 1,2,3,4,5,0,7,0,1,2, - 0,6,56,57,58,59,60,72,62,9, - 64,0,1,2,3,4,5,71,7,0, - 1,2,3,4,5,0,7,0,1,2, - 0,4,86,0,1,2,3,4,5,6, + 34,41,0,1,2,39,72,41,0,1, + 2,69,4,5,0,7,0,87,88,0, + 4,55,56,57,58,59,60,8,62,89, + 64,91,0,1,2,3,4,5,22,7, + 8,0,1,2,3,4,5,6,7,41, + 9,0,86,0,1,2,3,4,5,6, 7,8,9,10,11,12,13,14,15,16, 17,18,19,20,21,22,23,24,25,26, - 27,28,29,30,31,32,33,34,41,0, - 1,2,39,4,41,6,0,0,9,0, - 1,2,63,72,5,55,7,10,0,56, - 57,58,59,60,0,62,8,64,0,1, - 2,0,4,5,71,7,0,1,2,8, - 4,5,0,7,0,90,39,41,41,86, + 27,28,29,30,31,32,33,34,69,0, + 71,0,39,0,41,63,0,1,2,0, + 4,5,9,7,63,73,0,0,0,56, + 57,58,59,60,63,62,8,64,0,0, + 1,2,0,4,71,6,8,8,9,0, + 1,2,3,4,5,6,7,0,9,86, 0,1,2,3,4,5,6,7,8,9, 10,11,12,13,14,15,16,17,18,19, 20,21,22,23,24,25,26,27,28,29, - 30,31,32,33,34,67,0,1,2,39, - 4,41,6,69,0,9,0,1,2,0, - 4,0,6,61,73,9,56,57,58,59, - 60,0,62,0,64,4,0,1,2,0, - 0,8,0,0,8,0,1,2,0,0, - 5,3,7,22,35,36,86,0,1,2, + 30,31,32,33,34,67,87,88,41,39, + 0,41,0,1,2,3,4,5,0,7, + 8,73,73,87,88,0,56,57,58,59, + 60,72,62,8,64,0,0,25,0,90, + 0,71,0,1,2,3,4,0,6,0, + 3,9,0,1,2,8,86,0,1,2, 3,4,5,6,7,8,9,10,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,1,2,55,39,55,41,0, - 1,2,69,67,0,6,73,68,69,0, - 68,63,8,56,57,58,59,60,69,62, - 0,64,0,0,0,0,0,3,0,25, - 8,3,8,102,103,104,94,95,0,0, - 41,0,4,86,0,1,2,3,4,5, + 33,34,67,41,0,55,39,0,41,0, + 1,2,0,4,5,63,7,0,1,2, + 63,75,72,56,57,58,59,60,69,62, + 73,64,0,1,2,3,4,5,71,7, + 0,1,2,3,4,5,101,7,0,1, + 2,0,107,86,0,1,2,3,4,5, 6,7,8,9,10,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,55,3,39,75,41,63,63,8,0, - 0,63,68,69,68,73,55,73,8,10, - 56,57,58,59,60,25,62,68,64,0, - 1,2,0,0,5,0,1,2,0,0, - 94,95,0,1,2,3,4,5,6,7, - 86,9,10,11,12,13,14,15,16,17, - 18,19,20,21,120,0,1,2,59,69, - 41,0,0,35,36,3,41,35,36,37, - 38,71,40,0,42,43,44,45,46,47, - 48,49,50,51,52,53,54,0,1,2, - 0,1,2,61,72,0,41,65,66,0, - 68,0,1,2,3,4,5,6,7,8, + 26,27,28,29,30,31,32,33,34,41, + 0,1,2,39,4,41,6,90,0,9, + 0,1,2,63,72,5,55,7,10,0, + 56,57,58,59,60,0,62,8,64,0, + 1,2,0,4,0,6,0,0,9,0, + 1,2,0,4,25,6,0,39,9,41, + 86,0,1,2,3,4,5,6,7,8, 9,10,11,12,13,14,15,16,17,18, - 19,20,21,0,1,2,0,0,41,0, - 0,41,70,72,8,8,35,36,37,38, - 10,40,69,42,43,44,45,46,47,48, - 49,50,51,52,53,54,0,0,63,0, - 4,0,61,4,41,8,0,68,67,39, - 41,41,71,0,1,2,3,4,5,6, - 7,22,9,10,11,12,13,14,15,16, - 17,18,19,20,21,0,0,71,0,0, - 73,3,41,8,0,0,0,8,35,36, - 37,38,8,40,8,42,43,44,45,46, - 47,48,49,50,51,52,53,54,0,25, - 73,25,4,0,61,0,1,2,65,66, - 0,1,2,3,4,5,6,7,0,9, - 10,11,12,13,14,15,16,17,18,19, - 20,21,0,0,68,3,3,0,73,0, - 71,0,3,0,0,35,36,37,38,0, - 40,0,42,43,44,45,46,47,48,49, - 50,51,52,53,54,90,0,0,0,3, - 3,61,69,55,0,65,66,0,1,2, - 3,4,5,6,7,8,9,10,11,12, - 13,14,15,16,17,18,19,20,21,55, - 0,0,0,3,55,68,55,0,0,0, - 3,70,35,36,37,38,0,40,0,42, - 43,44,45,46,47,48,49,50,51,52, - 53,54,0,90,0,0,4,63,61,0, - 0,40,3,0,67,0,1,2,3,4, + 19,20,21,22,23,24,25,26,27,28, + 29,30,31,32,33,34,0,1,2,55, + 39,5,41,0,1,2,0,0,61,6, + 0,4,68,6,68,69,9,56,57,58, + 59,60,70,62,68,64,0,0,0,0, + 3,3,0,1,2,0,8,41,94,95, + 8,35,36,0,41,35,36,86,0,1, + 2,3,4,5,6,7,8,9,10,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,1,2,39,0,41, + 63,63,0,0,68,0,68,69,63,67, + 8,73,0,10,56,57,58,59,60,0, + 62,68,64,0,1,2,0,1,2,0, + 1,2,0,35,36,0,0,1,2,3, + 4,5,6,7,86,9,10,11,12,13, + 14,15,16,17,18,19,20,21,120,65, + 66,0,59,0,41,4,3,41,63,0, + 41,35,36,37,38,73,40,8,42,43, + 44,45,46,47,48,49,50,51,52,53, + 54,0,0,0,25,0,0,61,63,8, + 8,65,66,8,68,0,1,2,3,4, 5,6,7,8,9,10,11,12,13,14, - 15,16,17,18,19,20,21,0,0,0, - 0,55,70,0,4,0,3,69,3,70, - 35,36,37,38,0,40,0,42,43,44, + 15,16,17,18,19,20,21,0,96,97, + 0,0,0,70,4,8,0,41,69,8, + 35,36,37,38,8,40,0,42,43,44, 45,46,47,48,49,50,51,52,53,54, - 0,0,0,63,3,3,61,72,0,0, - 37,38,67,0,1,2,3,4,5,6, - 7,8,9,10,11,12,13,14,15,16, - 17,18,19,20,21,0,63,69,69,4, - 0,55,0,0,4,0,3,0,35,36, - 37,38,10,40,70,42,43,44,45,46, - 47,48,49,50,51,52,53,54,0,0, - 0,3,72,5,6,0,0,9,105,3, - 72,39,0,41,0,3,0,3,0,3, - 55,3,119,0,0,55,3,0,0,0, - 55,0,60,35,36,37,38,0,0,0, - 42,0,0,68,0,0,0,70,0,0, - 0,0,0,55,55,0,0,118,0,0, - 117,63,0,65,66,0,68,69,70,94, - 95,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,87,88,89,0,0, - 92,93,94,95,96,97,98,99,100,101, - 0,0,0,105,0,107,108,109,110,111, - 112,113,114,115,116,0,1,2,3,4, - 5,6,7,0,9,10,11,12,13,14, - 15,16,17,18,19,20,21,0,0,0, - 0,0,0,0,0,121,0,0,0,0, - 35,36,37,38,0,40,0,42,43,44, - 45,46,47,48,49,50,51,52,53,54, - 0,0,0,0,0,0,61,0,1,2, - 3,4,5,6,7,0,9,10,11,12, + 69,25,69,71,73,0,61,0,73,0, + 1,2,67,8,0,8,71,0,1,2, + 3,4,5,6,7,55,9,10,11,12, 13,14,15,16,17,18,19,20,21,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,35,36,37,38,0,40,0,42, + 73,55,71,0,1,2,0,0,0,0, + 0,0,35,36,37,38,8,40,8,42, 43,44,45,46,47,48,49,50,51,52, - 53,54,0,1,2,3,4,5,6,7, - 63,9,10,11,12,13,14,15,16,17, - 18,19,20,21,0,0,0,0,0,0, - 0,0,0,0,0,0,0,35,36,37, - 38,0,40,0,42,43,44,45,46,47, - 48,49,50,51,52,53,54,0,0,0, - 0,0,0,61,0,1,2,3,4,5, + 53,54,0,25,102,25,71,0,61,0, + 73,4,65,66,0,1,2,3,4,5, 6,7,0,9,10,11,12,13,14,15, - 16,17,18,19,20,21,0,0,0,0, - 0,0,0,0,0,0,0,0,0,35, + 16,17,18,19,20,21,55,68,0,0, + 0,3,98,3,68,6,69,68,0,35, 36,37,38,0,40,0,42,43,44,45, 46,47,48,49,50,51,52,53,54,0, - 1,2,3,4,5,6,7,0,9,10, + 0,0,3,3,3,61,74,55,69,65, + 66,0,1,2,3,4,5,6,7,8, + 9,10,11,12,13,14,15,16,17,18, + 19,20,21,55,0,0,0,0,55,0, + 55,0,0,0,3,3,35,36,37,38, + 0,40,0,42,43,44,45,46,47,48, + 49,50,51,52,53,54,0,0,0,0, + 4,0,61,0,0,40,3,0,67,0, + 1,2,3,4,5,6,7,8,9,10, 11,12,13,14,15,16,17,18,19,20, - 21,0,0,0,0,0,0,0,0,0, - 0,0,0,0,35,36,37,38,0,40, + 21,0,0,0,3,55,72,55,72,70, + 0,0,0,70,35,36,37,38,68,40, 0,42,43,44,45,46,47,48,49,50, - 51,52,53,54,0,1,2,3,4,5, - 6,7,0,9,10,11,12,13,14,15, - 16,17,18,19,20,21,0,0,0,0, - 0,0,0,0,0,0,0,0,0,35, - 36,37,38,0,40,0,42,43,44,45, - 46,47,48,49,50,51,52,53,54,0, - 1,2,0,4,0,0,0,0,0,10, - 11,12,13,14,15,16,17,18,19,20, - 21,22,23,24,0,26,27,28,29,30, - 31,32,33,34,0,0,0,0,39,0, - 0,0,0,0,0,0,0,0,0,1, - 2,0,4,0,0,56,57,58,10,11, + 51,52,53,54,63,0,0,63,0,72, + 61,72,4,40,94,95,67,0,1,2, + 3,4,5,6,7,8,9,10,11,12, + 13,14,15,16,17,18,19,20,21,0, + 0,69,3,3,0,55,0,3,0,102, + 70,69,35,36,37,38,0,40,0,42, + 43,44,45,46,47,48,49,50,51,52, + 53,54,0,0,69,0,3,0,5,6, + 3,0,9,11,12,13,14,15,16,17, + 18,19,20,21,22,23,24,0,26,27, + 28,29,30,31,32,33,34,0,35,36, + 37,38,0,0,0,42,0,3,72,0, + 0,0,3,3,3,0,10,121,55,0, + 72,0,3,0,0,118,63,0,65,66, + 0,68,69,70,0,70,90,0,0,0, + 102,70,0,0,0,39,0,41,0,0, + 87,88,89,0,0,92,93,94,95,96, + 97,98,99,100,101,0,60,0,0,106, + 55,108,109,110,111,112,113,114,115,116, + 117,0,1,2,3,4,5,6,7,102, + 9,10,11,12,13,14,15,16,17,18, + 19,20,21,0,0,0,0,0,0,0, + 0,0,0,0,0,0,35,36,37,38, + 0,40,0,42,43,44,45,46,47,48, + 49,50,51,52,53,54,0,0,0,0, + 0,0,61,0,1,2,3,4,5,6, + 7,0,9,10,11,12,13,14,15,16, + 17,18,19,20,21,0,0,0,0,0, + 0,0,0,0,0,0,0,0,35,36, + 37,38,0,40,0,42,43,44,45,46, + 47,48,49,50,51,52,53,54,0,1, + 2,3,4,5,6,7,63,9,10,11, 12,13,14,15,16,17,18,19,20,21, - 22,23,24,0,26,27,28,29,30,31, - 32,33,34,0,0,0,0,39,0,1, - 2,3,4,5,6,7,8,9,0,0, - 0,0,0,0,56,57,58,0,0,0, - 22,23,24,25,26,27,28,29,30,31, - 32,33,34,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,55,0,0,0,0,0,0, - 0,63,0,0,0,0,0,0,0,0, - 0,73,0,1,2,3,4,5,6,7, - 8,9,0,0,0,0,0,0,0,0, - 0,0,0,0,22,23,24,25,26,27, - 28,29,30,31,32,33,34,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,63,26,27,28,29, - 30,31,32,33,34,73,0,0,0,0, + 0,0,0,35,36,37,38,0,40,0, + 42,43,44,45,46,47,48,49,50,51, + 52,53,54,0,0,0,0,0,0,61, + 0,1,2,3,4,5,6,7,0,9, + 10,11,12,13,14,15,16,17,18,19, + 20,21,0,0,0,0,0,0,0,0, + 0,0,0,0,0,35,36,37,38,0, + 40,0,42,43,44,45,46,47,48,49, + 50,51,52,53,54,0,1,2,3,4, + 5,6,7,0,9,10,11,12,13,14, + 15,16,17,18,19,20,21,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 35,36,37,38,0,40,0,42,43,44, + 45,46,47,48,49,50,51,52,53,54, + 0,1,2,3,4,5,6,7,0,9, + 10,11,12,13,14,15,16,17,18,19, + 20,21,0,0,0,0,0,0,0,0, + 0,0,0,0,0,35,36,37,38,0, + 40,0,42,43,44,45,46,47,48,49, + 50,51,52,53,54,0,1,2,0,4, + 0,0,0,0,0,10,11,12,13,14, + 15,16,17,18,19,20,21,22,23,24, + 0,26,27,28,29,30,31,32,33,34, + 0,0,0,0,39,0,0,0,0,0, + 0,0,0,0,0,1,2,0,4,0, + 0,56,57,58,10,11,12,13,14,15, + 16,17,18,19,20,21,22,23,24,0, + 26,27,28,29,30,31,32,33,34,0, + 0,0,0,39,0,1,2,3,4,5, + 6,7,8,9,0,0,0,0,0,0, + 56,57,58,0,0,0,22,23,24,25, + 26,27,28,29,30,31,32,33,34,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,55,0,0,0,55, + 0,0,0,0,0,0,0,63,68,0, + 0,0,0,0,0,0,0,73,0,1, + 2,3,4,5,6,7,8,9,0,0, + 0,0,0,0,94,95,0,0,0,0, + 22,23,24,25,26,27,28,29,30,31, + 32,33,34,0,0,0,0,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,73,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0 + 0 }; }; public final static byte termCheck[] = TermCheck.termCheck; @@ -1450,348 +1448,349 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par public interface TermAction { public final static char termAction[] = {0, - 5365,5330,5306,5306,5306,5306,5306,5306,5346,5306, + 5370,5332,5308,5308,5308,5308,5308,5308,5348,5308, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,5336,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5334,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,5365,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5365,1,1,1,1940, - 5540,1,1200,303,3610,1,1,5376,289,5060, - 5060,5372,284,5667,1448,3792,3665,2199,3437,3693, - 3195,3767,1553,3748,2988,3742,10,5349,5349,5349, - 5349,5349,5349,5349,5349,5349,5349,5349,5349,5349, - 5349,5349,5349,5349,5349,5349,5349,5349,5349,5349, - 5349,5349,5349,5349,5349,5349,5349,5349,5349,5349, - 5349,5349,5349,5349,5349,5349,5349,1987,5349,5349, - 5349,5349,5349,5349,5349,5349,5349,5349,5349,5349, - 5349,135,5349,5349,5349,5349,5349,5349,5349,1, - 5349,5349,5349,5349,5365,5021,5018,5349,5403,3798, - 5349,5349,5349,5349,5349,5349,5349,5349,5349,5349, - 5349,5349,8,5352,5352,5352,5352,5352,5352,5352, - 5352,5352,5352,5352,5352,5352,5352,5352,5352,5352, - 5352,5352,5352,5352,5352,5352,5352,5352,5352,5352, - 5352,5352,5352,5352,5352,5352,5352,5352,5352,5352, - 5352,5352,5352,137,5352,5352,5352,5352,5352,5352, - 5352,5352,5352,5352,5352,5352,5352,442,5352,5352, - 5352,5352,5352,5352,5352,115,5352,5352,5352,5352, - 2321,3769,5365,5352,5365,4790,5352,5352,5352,5352, - 5352,5352,5352,5352,5352,5352,5352,5352,5365,5330, - 5306,5306,5306,5306,5306,5306,5337,5306,1,1, + 1,1,1,1,1,334,1,1,1,1942, + 5545,1,1202,304,3612,1,1,5381,290,5062, + 5062,5377,285,5673,1450,3794,3667,2201,3439,3695, + 3197,3769,1555,3750,2990,3744,10,5351,5351,5351, + 5351,5351,5351,5351,5351,5351,5351,5351,5351,5351, + 5351,5351,5351,5351,5351,5351,5351,5351,5351,5351, + 5351,5351,5351,5351,5351,5351,5351,5351,5351,5351, + 5351,5351,5351,5351,5351,5351,5351,137,5351,5351, + 5351,5351,5351,5351,5351,5351,5351,5351,5351,5351, + 5351,135,5351,5351,5351,5351,5351,5351,5351,399, + 5351,5351,5351,5351,5370,5023,5020,5351,5408,300, + 5351,5351,5351,5351,5351,5351,5351,5351,5351,5351, + 5351,5351,8,5354,5354,5354,5354,5354,5354,5354, + 5354,5354,5354,5354,5354,5354,5354,5354,5354,5354, + 5354,5354,5354,5354,5354,5354,5354,5354,5354,5354, + 5354,5354,5354,5354,5354,5354,5354,5354,5354,5354, + 5354,5354,5354,388,5354,5354,5354,5354,5354,5354, + 5354,5354,5354,5354,5354,5354,5354,2288,5354,5354, + 5354,5354,5354,5354,5354,115,5354,5354,5354,5354, + 2323,3771,5370,5354,5370,4792,5354,5354,5354,5354, + 5354,5354,5354,5354,5354,5354,5354,5354,5370,5332, + 5308,5308,5308,5308,5308,5308,5339,5308,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5334,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,920, + 1,1,1,5336,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,922, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,2286,1,1,1,1940,5540,1, - 1200,5365,3610,1,1,5376,2872,3744,3719,5803, - 5804,5805,1448,3792,3665,2199,3437,3693,3195,3767, - 1553,3748,2988,3742,5365,5330,5306,5306,5306,5306, - 5306,5306,5337,5306,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5334, + 1,1,1,136,1,1,1,1942,5545,1, + 1202,5370,3612,1,1,5381,2874,3746,3721,401, + 5384,5385,1450,3794,3667,2201,3439,3695,3197,3769, + 1555,3750,2990,3744,5370,5332,5308,5308,5308,5308, + 5308,5308,5339,5308,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5336, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,333,1,1,1,1, - 1,1,1,1,1,1,1,1,1,136, - 1,1,1,1940,5540,1,1200,117,3610,1, - 1,5376,398,3769,400,5379,5380,5365,1448,3792, - 3665,2199,3437,3693,3195,3767,1553,3748,2988,3742, - 5365,5330,5306,5306,5306,5306,5306,5306,5337,5306, + 1,1,1,1,1,5370,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5370, + 1,1,1,1942,5545,1,1202,117,3612,1, + 1,5381,2323,3771,5370,5384,5385,5370,1450,3794, + 3667,2201,3439,3695,3197,3769,1555,3750,2990,3744, + 5370,5332,5308,5308,5308,5308,5308,5308,5339,5308, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5334,1,1,1,1, + 1,1,1,1,1,5336,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,138,1,1,1,1,1,1,1,1, - 1,1,1,1,1,3391,1,1,1,1940, - 5540,1,1200,299,3610,1,1,5376,2321,3744, - 3719,5365,5379,5380,1448,3792,3665,2199,3437,3693, - 3195,3767,1553,3748,2988,3742,5365,5330,5306,5306, - 5306,5306,5306,5306,5337,5306,1,1,1,1, + 1,1989,1,1,1,1,1,1,1,1, + 1,1,1,1,1,3393,1,1,1,1942, + 5545,1,1202,5370,3612,1,1,5381,111,3746, + 3721,5370,5041,5038,1450,3794,3667,2201,3439,3695, + 3197,3769,1555,3750,2990,3744,5370,5332,5308,5308, + 5308,5308,5308,5308,5339,5308,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,5334,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,387,1,1, + 1,5336,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,138,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,2286,1,1,1,1940,5540,1,1200,116, - 3610,1,1,5376,111,3769,5365,5039,5036,5365, - 1448,3792,3665,2199,3437,3693,3195,3767,1553,3748, - 2988,3742,5365,5330,5306,5306,5306,5306,5306,5306, - 5337,5306,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5334,1,1, + 1,5370,1,1,1,1942,5545,1,1202,116, + 3612,1,1,5381,5370,3771,121,4003,29,4026, + 1450,3794,3667,2201,3439,3695,3197,3769,1555,3750, + 2990,3744,5370,5332,5308,5308,5308,5308,5308,5308, + 5339,5308,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,5336,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5365,1,1,1,1,1,1, - 1,1,1,1,1,1,1,3403,1,1, - 1,1940,5540,1,1200,5365,3610,1,1,5376, - 5365,3744,3719,4001,29,4024,1448,3792,3665,2199, - 3437,3693,3195,3767,1553,3748,2988,3742,5365,5330, - 5306,5306,5306,5306,5306,5306,5337,5306,1,1, + 1,1,1,5029,1,1,1,1,1,1, + 1,1,1,1,1,1,1,2288,1,1, + 1,1942,5545,1,1202,5370,3612,1,1,5381, + 5370,3746,3721,2915,2942,5370,1450,3794,3667,2201, + 3439,3695,3197,3769,1555,3750,2990,3744,5370,5332, + 5308,5308,5308,5308,5308,5308,5339,5308,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5334,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5027, + 1,1,1,5336,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5370, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5365,1,1,1,1940,5540,1, - 1200,5365,3610,1,1,5376,5365,5379,5380,511, - 443,2872,1448,3792,3665,2199,3437,3693,3195,3767, - 1553,3748,2988,3742,5365,5330,5306,5306,5306,5306, - 5306,5306,5337,5306,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5334, + 1,1,1,3405,1,1,1,1942,5545,1, + 1202,5370,3612,1,1,5381,5370,5384,5385,512, + 444,2874,1450,3794,3667,2201,3439,3695,3197,3769, + 1555,3750,2990,3744,5370,5332,5308,5308,5308,5308, + 5308,5308,5339,5308,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5336, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5030,1,1,1,1, - 1,1,1,1,1,1,1,1,1,3623, - 1,1,1,1940,5540,1,1200,5365,3610,1, - 1,5376,5365,5021,5018,121,5403,5365,1448,3792, - 3665,2199,3437,3693,3195,3767,1553,3748,2988,3742, - 5365,5330,5306,5306,5306,5306,5306,5306,5337,5306, + 1,1,1,1,1,5032,1,1,1,1, + 1,1,1,1,1,1,1,1,1,3625, + 1,1,1,1942,5545,1,1202,5370,3612,1, + 1,5381,5370,5023,5020,510,5408,5370,1450,3794, + 3667,2201,3439,3695,3197,3769,1555,3750,2990,3744, + 5370,5332,5308,5308,5308,5308,5308,5308,5339,5308, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5334,1,1,1,1, + 1,1,1,1,1,5336,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,5365,1,1,1,1,1,1,1,1, - 1,1,1,1,1,3413,1,1,1,1940, - 5540,1,1200,5365,3610,1,1,5376,48,5039, - 5036,125,2913,2940,1448,3792,3665,2199,3437,3693, - 3195,3767,1553,3748,2988,3742,5365,5330,5306,5306, - 5306,5306,5306,5306,5337,5306,1,1,1,1, + 1,5370,1,1,1,1,1,1,1,1, + 1,1,1,1,1,4895,1,1,1,1942, + 5545,1,1202,5370,3612,1,1,5381,114,1187, + 5370,373,968,3388,1450,3794,3667,2201,3439,3695, + 3197,3769,1555,3750,2990,3744,5370,5332,5308,5308, + 5308,5308,5308,5308,5339,5308,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,5334,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5365,1,1, + 1,5336,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,5370,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,5365,1,1,1,1940,5540,1,1200,5365, - 3610,1,1,5376,299,5379,5380,5369,2913,2940, - 1448,3792,3665,2199,3437,3693,3195,3767,1553,3748, - 2988,3742,5365,3699,1,1,1,1,1,1, - 3723,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5374,1,1, + 1,1286,1,1,1,1942,5545,1,1202,5370, + 3612,1,1,5381,48,5041,5038,4003,458,4026, + 1450,3794,3667,2201,3439,3695,3197,3769,1555,3750, + 2990,3744,5370,3701,1,1,1,1,1,1, + 3725,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,5379,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5769,1,1,1,1,1,1, - 1,1,1,1,1,1,1,431,1,1, - 1,1940,5540,1,1200,5365,3610,1,1,5376, - 5365,39,37,5161,5161,5403,1448,3792,3665,2199, - 3437,3693,3195,3767,1553,3748,2988,3742,39,5021, - 5018,4746,2565,3817,3886,600,5368,3909,941,5630, - 5628,5637,5636,5632,5633,5631,5634,5635,5638,5629, - 5625,5704,5705,5401,5619,5626,5622,5598,5624,5623, - 5620,5621,5599,3863,3840,3955,3932,5766,5384,3130, - 3794,865,1003,5386,867,4120,991,5387,5385,831, - 5381,5382,5383,399,1395,5767,5768,390,5365,1415, - 5365,5228,5228,229,5224,229,229,229,5232,229, + 1,1,1,5035,1,1,1,1,1,1, + 1,1,1,1,1,1,1,5370,1,1, + 1,1942,5545,1,1202,5370,3612,1,1,5381, + 5370,39,37,5163,5163,5408,1450,3794,3667,2201, + 3439,3695,3197,3769,1555,3750,2990,3744,39,5023, + 5020,4748,2567,3819,3888,602,5370,3911,943,5636, + 5634,5643,5642,5638,5639,5637,5640,5641,5644,5635, + 5631,5710,5711,5406,5625,5632,5628,5604,5630,5629, + 5626,5627,5605,3865,3842,3957,3934,5772,5389,113, + 3796,867,1005,5391,869,4122,993,5392,5390,833, + 5386,5387,5388,400,1397,5773,5774,391,5370,1417, + 5370,5230,5230,230,5226,230,230,230,5234,230, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,229,1,1,1,1, - 1,1,1,1,1,5365,5379,5380,743,1, - 5000,5221,1,5011,5007,5265,5015,5271,1367,5268, - 5375,224,293,5379,5380,5365,1,1,1,3207, - 5780,1185,727,129,966,225,5365,5374,1,3386, - 133,419,229,5625,5704,5705,365,5619,5626,5622, - 5598,5624,5623,5620,5621,5599,5868,5625,5704,5705, - 130,5619,5626,5622,5598,5624,5623,5620,5621,5599, - 3978,1096,5803,5804,5805,5365,5228,5228,229,5224, - 229,229,229,5274,229,1,1,1,1,1, + 1,1,1,1,1,230,1,1,1,1, + 1,1,1,1,1,5370,5384,5385,745,1, + 339,5223,1,5013,5009,5267,5017,5273,1369,5270, + 5380,225,91,5370,5370,5172,1,1,1,3209, + 5786,5374,729,5710,5711,226,5002,5379,4003,361, + 4026,420,230,5631,5710,5711,443,5625,5632,5628, + 5604,5630,5629,5626,5627,5605,5874,5631,5710,5711, + 133,5625,5632,5628,5604,5630,5629,5626,5627,5605, + 3980,1098,5370,5809,5810,5811,5370,5230,5230,230, + 5226,230,230,230,5276,230,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 229,1,1,1,1,1,1,1,1,1, - 1,365,5365,3221,1,39,5221,33,5051,5403, - 5149,333,5365,5149,333,5149,5149,29,365,2444, - 2415,1,1,1,3207,5780,226,727,2354,447, - 1,1,5149,1,139,5152,418,229,5152,5365, - 5365,5365,5149,5149,5149,5149,2444,2415,5625,5704, - 5705,5868,5619,5626,5622,5598,5624,5623,5620,5621, - 5599,124,5149,1057,5365,5039,5036,5803,5804,5805, - 5149,91,1367,5054,5170,5149,5149,5149,5149,5149, - 5149,369,5011,5007,587,5015,583,1,600,427, - 1,43,5218,5218,5149,5149,5149,5149,5149,5149, - 5149,5149,5149,5149,5149,5149,5149,5149,5149,662, - 2771,509,5149,5149,5149,5149,5149,5149,5149,5149, - 5149,5149,5149,5149,5149,5365,5149,131,5173,3978, - 1096,5173,5215,5173,5173,2247,2385,1,5167,5167, - 4188,5164,227,333,1057,365,333,5365,2913,2940, - 5173,1196,1,5011,5007,606,5015,583,372,600, - 5173,5173,5173,5173,5625,5704,5705,5365,5619,5626, - 5622,5598,5624,5623,5620,5621,5599,36,5300,5297, - 5173,4893,1,5011,5007,606,5015,583,5173,600, - 311,114,377,5173,5173,5173,5173,5173,5173,311, - 5011,5007,606,5015,583,5286,600,311,5286,123, - 365,139,5173,5173,5173,5173,5173,5173,5173,5173, - 5173,5173,5173,5173,5173,5173,5173,365,1284,370, - 5173,5173,5173,5173,5173,5173,5173,5173,5173,5173, - 5173,5173,5173,5365,5173,5365,5306,5306,229,5306, - 229,229,229,5315,229,1,1,1,1,1, + 1,230,1,1,1,1,1,1,1,1, + 1,823,448,1,1,1,1,5223,5154,33, + 1,5154,5151,350,5370,5151,1133,5151,5151,5730, + 5003,1,1,1,1,3209,5786,131,729,366, + 75,5373,238,3679,5151,5243,2387,419,230,5809, + 5810,5811,371,5370,5151,5151,5151,5151,2356,5006, + 5370,575,5874,312,5013,5009,608,5017,585,5288, + 602,139,5288,125,5151,5370,5370,5432,5433,5809, + 5810,5811,5151,43,5220,5220,1059,5151,5151,5151, + 5151,5151,5151,370,5013,5009,589,5017,585,1, + 602,39,1,3548,366,5408,5151,5151,5151,5151, + 5151,5151,5151,5151,5151,5151,5151,5151,5151,5151, + 5151,366,1329,3046,5217,5151,5151,5151,5151,5151, + 5151,5151,5151,5151,5151,5151,5151,5151,5151,5370, + 391,1903,5175,664,2773,5175,810,5175,5175,47, + 1,5013,5009,608,5017,585,1059,602,5370,952, + 2915,2942,735,1198,5175,5370,334,5023,5020,608, + 2567,585,2249,602,5175,5175,5175,5175,4190,1860, + 1817,1774,1731,1688,1645,1602,1559,1516,1460,48, + 2153,227,5370,5385,5175,5145,1,5013,5009,5267, + 5017,5273,5175,5270,5809,5810,5811,5175,5175,5175, + 5175,5175,5175,5631,5710,5711,129,5625,5632,5628, + 5604,5630,5629,5626,5627,5605,5175,5175,5175,5175, + 5175,5175,5175,5175,5175,5175,5175,5175,5175,5175, + 5175,300,5384,5385,5385,5175,5175,5175,5175,5175, + 5175,5175,5175,5175,5175,5175,5175,5175,5175,5370, + 5308,5308,230,5308,230,230,230,5317,230,1, 1,1,1,1,1,1,1,1,1,1, - 229,1,1,8456,1,1,1,1,1,1, - 4001,1901,4024,5365,1,134,5303,5365,5021,5018, - 338,2565,5176,113,600,5365,2913,2940,5365,1327, - 5365,1,1,1,3565,5576,5373,1200,364,3610, - 3798,3425,2247,5704,5705,457,220,4188,1858,1815, - 1772,1729,1686,1643,1600,1557,1514,1458,633,5365, - 350,5868,5365,5306,5306,229,5306,229,229,229, - 229,229,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,229,1,1, - 8456,1,1,1,1,1,1,1012,821,5372, - 5033,1,408,5303,5365,5021,5018,2536,2565,5176, - 5259,600,4001,2354,4024,122,513,3426,1,1, - 1,3565,5576,1057,1200,5365,3610,5262,1,5011, - 5007,587,5015,583,390,600,5051,347,5021,5018, - 587,2565,583,333,600,1501,333,322,5868,5365, - 5306,5306,229,5306,229,229,229,5321,229,1, + 1,1,1,1,230,1,1,8535,1,1, + 1,1,1,1,38,5050,5047,5370,1,5044, + 5305,602,5370,5023,5020,228,2567,5178,1,602, + 124,4939,2446,2417,5370,1,1,1,3567,5582, + 112,1202,365,3612,294,5384,5385,5631,5710,5711, + 221,5625,5632,5628,5604,5630,5629,5626,5627,5605, + 398,5059,5059,635,285,5874,5370,5308,5308,230, + 5308,230,230,230,230,230,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,229,1,1,8456,1,1, - 1,1,1,1,5365,112,2968,118,1,5143, - 5303,1057,333,5021,5018,606,2565,583,1,600, - 1057,5054,2913,2940,5365,1,1,1,3565,5576, - 1057,1200,5377,3610,5365,347,39,39,3221,5403, - 219,333,3172,3089,333,5365,5011,5007,606,5015, - 583,5286,600,5365,5286,5868,5365,5306,5306,229, - 5306,229,229,229,5315,229,1,1,1,1, + 1,230,1,1,8535,1,1,1,1,1, + 1,285,36,5302,5299,1,5775,5305,5370,5023, + 5020,2538,2567,5178,5370,602,39,2915,2942,5370, + 5408,3428,1,1,1,3567,5582,5378,1202,4003, + 3612,4026,1,5013,5009,589,5017,585,3465,602, + 5053,348,5023,5020,589,2567,585,334,602,1503, + 334,351,5874,5370,5308,5308,230,5308,230,230, + 230,5323,230,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,230,1, + 1,8535,1,1,1,1,1,1,1014,123, + 5377,5370,1,132,5305,1059,5370,5023,5020,5370, + 2567,585,2387,602,1059,5056,122,5370,5370,1, + 1,1,3567,5582,1059,1202,5382,3612,5370,1, + 5169,5169,5370,5166,220,334,5376,366,334,5370, + 5013,5009,608,5017,585,5288,602,37,5288,5874, + 5370,5308,5308,230,5308,230,230,230,5317,230, 1,1,1,1,1,1,1,1,1,1, - 1,229,1,1,8456,1,1,1,1,1, - 1,5376,3200,3676,4001,1,4024,5303,1057,1, - 5011,5007,5265,5015,5271,5365,5268,5365,8595,8590, - 132,1229,1,1,1,3565,5576,1100,1200,2385, - 3610,1,5011,5007,606,5015,583,220,600,1, - 5011,5007,587,5015,583,360,600,397,5057,5057, - 5365,284,5868,5365,5306,5306,229,5306,229,229, - 229,5315,229,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,229,1, - 1,8456,1,1,1,1,1,1,284,448, - 39,39,1,5403,5303,5256,47,1,5256,38, - 5048,5045,1057,1100,5042,4901,600,5001,1,1, - 1,1,3565,5576,157,1200,5324,3610,5365,5021, - 5018,5365,2565,583,220,600,5365,5021,5018,5371, - 2565,583,535,600,5365,5724,5004,2151,573,5868, - 5365,5306,5306,229,5306,229,229,229,229,229, + 1,1,1,1,1,230,1,1,8535,1, + 1,1,1,1,1,5381,2915,2942,5406,1, + 5370,5305,1,5013,5009,608,5017,585,5370,602, + 312,5375,366,2915,2942,1,1,1,1,3567, + 5582,1102,1202,5326,3612,139,194,312,5370,366, + 29,221,348,39,39,3223,5408,1,334,157, + 3223,334,5370,5240,5237,5053,5874,5370,5308,5308, + 230,5308,230,230,230,5317,230,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,229,1,1,8456,1, - 1,1,1,1,1,5376,92,1,1,1, - 1,5303,5277,1944,5365,5277,95,39,39,120, - 5403,5365,5309,3664,5370,5309,1,1,1,3565, - 5576,39,1200,5365,3610,5403,5365,5379,5380,5365, - 5365,5371,126,5365,5377,5365,5379,5380,349,518, - 583,1131,600,3044,3172,3089,5868,5365,5306,5306, - 229,5306,229,229,229,229,229,1,1,1, + 1,1,230,1,1,8535,1,1,1,1, + 1,1,5381,5406,5370,1369,1,1,5305,5370, + 5023,5020,5370,2567,585,1059,602,5370,8262,7411, + 1059,5358,428,1,1,1,3567,5582,1946,1202, + 5056,3612,1,5013,5009,608,5017,585,221,602, + 1,5013,5009,589,5017,585,2249,602,5370,8687, + 8687,5370,4190,5874,5370,5308,5308,230,5308,230, + 230,230,230,230,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,230, + 1,1,8535,1,1,1,1,1,1,5406, + 449,39,39,1,5408,5305,5258,5732,1,5258, + 5370,5384,5385,1059,1102,585,4903,602,5003,409, + 1,1,1,3567,5582,5370,1202,5261,3612,92, + 1,1,5370,1,126,5279,5370,537,5279,95, + 39,39,514,5408,5264,5311,5370,5006,5311,575, + 5874,5370,5308,5308,230,5308,230,230,230,230, + 230,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,230,1,1,8535, + 1,1,1,1,1,1,37,5163,5163,2700, + 1,5163,5305,37,5163,5163,118,39,3666,334, + 120,5408,5148,334,4429,2773,334,1,1,1, + 3567,5582,2970,1202,3415,3612,5370,321,1,5370, + 5026,3223,5370,5384,5385,323,344,3121,2630,2502, + 5382,3174,3091,5370,5406,3174,3091,5874,5370,5308, + 5308,230,5308,230,230,230,230,230,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,229,1,1,8456,1,1,1,1, - 1,1,5365,8595,8590,4908,1,2698,5303,37, - 5161,5161,4942,5376,5365,333,5370,4427,2771,5365, - 5146,1057,5375,1,1,1,3565,5576,889,1200, - 5365,3610,1,461,1,5365,128,3221,320,5374, - 161,5024,343,5803,5804,5805,2628,2500,5365,5365, - 5401,5365,733,5868,5365,5306,5306,229,5306,229, - 229,229,229,229,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,229, - 1,1,8456,1,1,1,1,1,1,237, - 5365,2698,5241,1,3913,5303,5155,1057,5375,303, - 5365,1057,343,343,5250,161,4917,343,5373,5667, - 1,1,1,3565,5576,5374,1200,5880,3610,37, - 5161,5161,451,5365,5161,5365,5238,5235,119,5365, - 2628,2500,1,5011,5007,4746,5015,3817,3886,600, - 5868,3909,5179,5206,5212,5185,5188,5200,5197,5203, - 5194,5191,5182,5209,343,5365,8624,8624,2830,4093, - 3119,5365,313,3172,3089,1635,5401,3863,3840,3955, - 3932,5372,5384,286,3794,865,1003,5386,867,4120, - 991,5387,5385,831,5381,5382,5383,37,5161,5161, - 45,5283,5283,1415,3409,460,5401,39,39,5365, - 519,39,5021,5018,4746,2565,3817,3886,600,5359, - 3909,790,5630,5628,5637,5636,5632,5633,5631,5634, - 5635,5638,5629,5365,5293,5289,1,1,2797,37, - 1,5280,1152,2073,5327,5371,3863,3840,3955,3932, - 5001,5384,5650,3794,865,1003,5386,867,4120,991, - 5387,5385,831,5381,5382,5383,398,1,5158,39, - 391,5365,1415,5403,5401,531,5365,5809,5343,5004, - 5401,573,5372,141,5021,5018,4746,2565,3817,3886, - 600,3463,3909,790,5630,5628,5637,5636,5632,5633, - 5631,5634,5635,5638,5629,1,5365,5372,1,8, - 5370,4937,3439,163,1,1,1,5362,3863,3840, - 3955,3932,5375,5384,191,3794,865,1003,5386,867, - 4120,991,5387,5385,831,5381,5382,5383,5365,5374, - 531,191,2529,292,1415,292,3123,3123,39,39, - 1,5011,5007,4746,5015,3817,3886,600,5365,3909, - 5179,5206,5212,5185,5188,5200,5197,5203,5194,5191, - 5182,5209,5365,5365,5823,4212,4213,5365,163,5365, - 5362,294,4214,1,5365,3863,3840,3955,3932,5365, - 5384,398,3794,865,1003,5386,867,4120,991,5387, - 5385,831,5381,5382,5383,5726,5365,5365,5365,4537, - 1271,1415,8360,4929,100,39,39,39,5021,5018, - 4746,2565,3817,3886,600,5340,3909,790,5630,5628, - 5637,5636,5632,5633,5631,5634,5635,5638,5629,1367, - 5365,1,423,4255,3426,4324,1367,5365,429,35, - 4267,1240,3863,3840,3955,3932,5365,5384,5365,3794, - 865,1003,5386,867,4120,991,5387,5385,831,5381, - 5382,5383,5365,4332,5365,5365,1192,4626,1415,103, - 99,3599,4432,5365,5343,39,5021,5018,4746,2565, - 3817,3886,600,5340,3909,790,5630,5628,5637,5636, - 5632,5633,5631,5634,5635,5638,5629,5365,452,310, - 5365,3198,2112,75,1991,5365,3677,4263,3672,3535, - 3863,3840,3955,3932,5365,5384,73,3794,865,1003, - 5386,867,4120,991,5387,5385,831,5381,5382,5383, - 5365,279,5365,2160,5318,2808,1415,3232,5365,524, - 5427,5428,5343,39,5021,5018,4746,2565,3817,3886, - 600,5369,3909,790,5630,5628,5637,5636,5632,5633, - 5631,5634,5635,5638,5629,48,3546,4143,4107,5380, - 48,5312,5365,5365,5379,127,4523,5365,3863,3840, - 3955,3932,630,5384,3535,3794,865,1003,5386,867, - 4120,991,5387,5385,831,5381,5382,5383,1,2, - 5365,1317,3288,5837,5831,5365,5365,5835,808,4860, - 3325,675,5365,573,5365,4880,5365,4530,5365,4892, - 5380,4183,950,5365,185,5379,4632,5365,5365,5365, - 2698,5365,5904,5829,5830,5860,5861,5365,5365,5365, - 5838,5365,5365,5253,5365,5365,5365,2030,5365,5365, - 5365,5365,5365,5840,37,5365,5365,3798,5365,5365, - 5368,1051,5365,1905,1924,5365,5841,5862,5839,2628, - 2500,5365,5365,5365,5365,5365,5365,5365,5365,5365, - 5365,5365,5365,5365,5365,5851,5850,5863,5365,5365, - 5832,5833,5856,5857,5854,5855,5834,5836,5858,5859, - 5365,5365,5365,5864,5365,5844,5845,5846,5842,5843, - 5852,5853,5848,5847,5849,39,5021,5018,4746,2565, - 3817,3886,600,5365,3909,790,5630,5628,5637,5636, - 5632,5633,5631,5634,5635,5638,5629,5365,5365,5365, - 5365,5365,5365,5365,5365,5356,5365,5365,5365,5365, - 3863,3840,3955,3932,5365,5384,5365,3794,865,1003, - 5386,867,4120,991,5387,5385,831,5381,5382,5383, - 5365,5365,5365,5365,5365,5365,1415,39,5021,5018, - 4746,2565,3817,3886,600,5365,3909,790,5630,5628, - 5637,5636,5632,5633,5631,5634,5635,5638,5629,5365, - 5365,5365,5365,5365,5365,5365,5365,5365,5365,5365, - 5365,5365,3863,3840,3955,3932,5365,5384,5365,3794, - 865,1003,5386,867,4120,991,5387,5385,831,5381, - 5382,5383,39,5021,5018,4746,2565,3817,3886,600, - 1811,3909,790,5630,5628,5637,5636,5632,5633,5631, - 5634,5635,5638,5629,5365,5365,5365,5365,5365,5365, - 5365,5365,5365,5365,5365,5365,5365,3863,3840,3955, - 3932,5365,5384,5365,3794,865,1003,5386,867,4120, - 991,5387,5385,831,5381,5382,5383,5365,5365,5365, - 5365,5365,5365,1415,39,5021,5018,4822,2565,3817, - 3886,600,5365,3909,790,5630,5628,5637,5636,5632, - 5633,5631,5634,5635,5638,5629,5365,5365,5365,5365, - 5365,5365,5365,5365,5365,5365,5365,5365,5365,3863, - 3840,3955,3932,5365,5384,5365,3794,865,1003,5386, - 867,4120,991,5387,5385,831,5381,5382,5383,39, - 5021,5018,4746,2565,3817,3886,600,5365,3909,790, - 5630,5628,5637,5636,5632,5633,5631,5634,5635,5638, - 5629,5365,5365,5365,5365,5365,5365,5365,5365,5365, - 5365,5365,5365,5365,3863,3840,3955,3932,5365,5384, - 5365,3794,865,1003,5386,867,4120,991,5387,5385, - 831,5381,5382,5383,39,5021,5018,4746,2565,3817, - 3886,600,5365,3909,790,5630,5628,5637,5636,5632, - 5633,5631,5634,5635,5638,5629,5365,5365,5365,5365, - 5365,5365,5365,5365,5365,5365,5365,5365,5365,3863, - 3840,3955,3932,5365,5384,5365,3794,865,1003,5386, - 867,4120,991,5387,5385,831,5381,5382,5383,5365, - 5021,5018,5365,5403,5365,5365,5365,5365,5365,875, - 5630,5628,5637,5636,5632,5633,5631,5634,5635,5638, - 5629,5625,5704,5705,5365,5619,5626,5622,5598,5624, - 5623,5620,5621,5599,5365,5365,5365,5365,5766,5365, - 5365,5365,5365,5365,5365,5365,5365,5365,241,5136, - 5132,5365,5140,5365,5365,1395,5767,5768,875,5123, - 5129,5102,5105,5117,5114,5120,5111,5108,5099,5126, - 5078,5072,5069,5365,5096,5075,5087,5066,5081,5084, - 5093,5090,5063,5365,5365,5365,5365,5766,29,390, - 390,5247,390,390,5247,390,5247,5247,5365,5365, - 5365,5365,5365,5365,1395,5767,5768,5365,5365,5365, - 390,390,390,5247,390,390,390,390,390,390, - 390,390,390,5365,5365,5365,5365,5365,5365,5365, - 5365,5365,5365,5365,5365,5365,5365,5365,5365,5365, - 5365,5365,5365,5027,5365,5365,5365,5365,5365,5365, - 5365,5247,5365,5365,5365,5365,5365,5365,5365,5365, - 5365,5247,32,391,391,5244,391,391,5244,391, - 5244,5244,5365,5365,5365,5365,5365,5365,5365,5365, - 5365,5365,5365,5365,391,391,391,5244,391,391, - 391,391,391,391,391,391,391,5365,5365,5365, - 223,5365,5365,5365,5365,5365,5365,5365,5365,5365, - 5365,5630,5628,5637,5636,5632,5633,5631,5634,5635, - 5638,5629,5625,5704,5705,5244,5619,5626,5622,5598, - 5624,5623,5620,5621,5599,5244 + 1,1,1,230,1,1,8535,1,1,1, + 1,1,1,5370,5370,5041,5038,1,119,5305, + 1059,1059,1,304,3427,462,344,344,1059,5381, + 161,344,5370,5673,1,1,1,3567,5582,5370, + 1202,5886,3612,37,5163,5163,45,5285,5285,5370, + 5295,5291,130,3174,3091,461,1,5013,5009,4748, + 5017,3819,3888,602,5874,3911,5181,5208,5214,5187, + 5190,5202,5199,5205,5196,5193,5184,5211,344,3980, + 1098,399,2832,314,2799,392,1637,5282,5157,5370, + 5406,3865,3842,3957,3934,161,5389,5380,3796,867, + 1005,5391,869,4122,993,5392,5390,833,5386,5387, + 5388,5370,5370,519,5379,1,5370,1417,5160,5376, + 5378,39,39,5376,520,39,5023,5020,4748,2567, + 3819,3888,602,5364,3911,792,5636,5634,5643,5642, + 5638,5639,5637,5640,5641,5644,5635,1,2446,2417, + 48,1,5370,1154,5384,533,5370,3441,4095,5329, + 3865,3842,3957,3934,5380,5389,5370,3796,867,1005, + 5391,869,4122,993,5392,5390,833,5386,5387,5388, + 4944,5379,891,5377,5375,8,1417,1,5375,5370, + 8262,7411,5345,5367,134,163,5377,141,5023,5020, + 4748,2567,3819,3888,602,5384,3911,792,5636,5634, + 5643,5642,5638,5639,5637,5640,5641,5644,5635,5370, + 533,4910,5377,293,3125,3125,5370,287,1,5370, + 1,5370,3865,3842,3957,3934,5380,5389,191,3796, + 867,1005,5391,869,4122,993,5392,5390,833,5386, + 5387,5388,1,5379,3800,191,5367,5370,1417,293, + 163,2531,39,39,1,5013,5009,4748,5017,3819, + 3888,602,5370,3911,5181,5208,5214,5187,5190,5202, + 5199,5205,5196,5193,5184,5211,4919,5815,5370,5370, + 5370,4214,2356,4215,5829,1231,5656,4326,5370,3865, + 3842,3957,3934,5370,5389,399,3796,867,1005,5391, + 869,4122,993,5392,5390,833,5386,5387,5388,5370, + 5370,5370,4216,4539,1273,1417,3202,4931,8335,39, + 39,39,5023,5020,4748,2567,3819,3888,602,5342, + 3911,792,5636,5634,5643,5642,5638,5639,5637,5640, + 5641,5644,5635,1369,432,5370,452,5370,3428,295, + 1369,5370,5370,424,4257,4269,3865,3842,3957,3934, + 128,5389,5370,3796,867,1005,5391,869,4122,993, + 5392,5390,833,5386,5387,5388,5370,5370,5370,5370, + 1194,100,1417,103,99,3678,4434,378,5345,39, + 5023,5020,4748,2567,3819,3888,602,5342,3911,792, + 5636,5634,5643,5642,5638,5639,5637,5640,5641,5644, + 5635,5370,430,1,3674,2700,3132,3200,3411,1242, + 35,5370,453,2114,3865,3842,3957,3934,5252,5389, + 73,3796,867,1005,5391,869,4122,993,5392,5390, + 833,5386,5387,5388,4628,311,185,2162,5370,2075, + 1417,3234,1993,3601,2630,2502,5345,39,5023,5020, + 4748,2567,3819,3888,602,5374,3911,792,5636,5634, + 5643,5642,5638,5639,5637,5640,5641,5644,5635,280, + 5370,4265,5320,2810,5370,5314,5370,4525,526,3800, + 3537,4145,3865,3842,3957,3934,1,5389,5370,3796, + 867,1005,5391,869,4122,993,5392,5390,833,5386, + 5387,5388,224,1,4109,5370,1319,5370,5843,5837, + 4862,5370,5841,5636,5634,5643,5642,5638,5639,5637, + 5640,5641,5644,5635,5631,5710,5711,525,5625,5632, + 5628,5604,5630,5629,5626,5627,5605,5370,5835,5836, + 5866,5867,5370,5370,5370,5844,5370,4882,3290,5370, + 5370,5370,4532,4894,4185,2,632,5361,5846,5370, + 3327,5370,4634,5370,5370,5373,1053,5370,1907,1926, + 5370,5847,5868,5845,5370,3537,4334,5370,5370,5370, + 1,2032,5370,5370,5370,677,5370,575,5370,5370, + 5857,5856,5869,5370,5370,5838,5839,5862,5863,5860, + 5861,5840,5842,5864,5865,5370,5911,5370,5370,5870, + 37,5850,5851,5852,5848,5849,5858,5859,5854,5853, + 5855,39,5023,5020,4748,2567,3819,3888,602,3800, + 3911,792,5636,5634,5643,5642,5638,5639,5637,5640, + 5641,5644,5635,5370,5370,5370,5370,5370,5370,5370, + 5370,5370,5370,5370,5370,5370,3865,3842,3957,3934, + 5370,5389,5370,3796,867,1005,5391,869,4122,993, + 5392,5390,833,5386,5387,5388,5370,5370,5370,5370, + 5370,5370,1417,39,5023,5020,4748,2567,3819,3888, + 602,5370,3911,792,5636,5634,5643,5642,5638,5639, + 5637,5640,5641,5644,5635,5370,5370,5370,5370,5370, + 5370,5370,5370,5370,5370,5370,5370,5370,3865,3842, + 3957,3934,5370,5389,5370,3796,867,1005,5391,869, + 4122,993,5392,5390,833,5386,5387,5388,39,5023, + 5020,4748,2567,3819,3888,602,1813,3911,792,5636, + 5634,5643,5642,5638,5639,5637,5640,5641,5644,5635, + 5370,5370,5370,5370,5370,5370,5370,5370,5370,5370, + 5370,5370,5370,3865,3842,3957,3934,5370,5389,5370, + 3796,867,1005,5391,869,4122,993,5392,5390,833, + 5386,5387,5388,5370,5370,5370,5370,5370,5370,1417, + 39,5023,5020,4824,2567,3819,3888,602,5370,3911, + 792,5636,5634,5643,5642,5638,5639,5637,5640,5641, + 5644,5635,5370,5370,5370,5370,5370,5370,5370,5370, + 5370,5370,5370,5370,5370,3865,3842,3957,3934,5370, + 5389,5370,3796,867,1005,5391,869,4122,993,5392, + 5390,833,5386,5387,5388,39,5023,5020,4748,2567, + 3819,3888,602,5370,3911,792,5636,5634,5643,5642, + 5638,5639,5637,5640,5641,5644,5635,5370,5370,5370, + 5370,5370,5370,5370,5370,5370,5370,5370,5370,5370, + 3865,3842,3957,3934,5370,5389,5370,3796,867,1005, + 5391,869,4122,993,5392,5390,833,5386,5387,5388, + 39,5023,5020,4748,2567,3819,3888,602,5370,3911, + 792,5636,5634,5643,5642,5638,5639,5637,5640,5641, + 5644,5635,5370,5370,5370,5370,5370,5370,5370,5370, + 5370,5370,5370,5370,5370,3865,3842,3957,3934,5370, + 5389,5370,3796,867,1005,5391,869,4122,993,5392, + 5390,833,5386,5387,5388,5370,5023,5020,5370,5408, + 5370,5370,5370,5370,5370,877,5636,5634,5643,5642, + 5638,5639,5637,5640,5641,5644,5635,5631,5710,5711, + 5370,5625,5632,5628,5604,5630,5629,5626,5627,5605, + 5370,5370,5370,5370,5772,5370,5370,5370,5370,5370, + 5370,5370,5370,5370,242,5138,5134,5370,5142,5370, + 5370,1397,5773,5774,877,5125,5131,5104,5107,5119, + 5116,5122,5113,5110,5101,5128,5080,5074,5071,5370, + 5098,5077,5089,5068,5083,5086,5095,5092,5065,5370, + 127,5370,5370,5772,29,391,391,5249,391,391, + 5249,391,5249,5249,5370,5370,5370,5370,5370,5370, + 1397,5773,5774,5370,5370,5370,391,391,391,5249, + 391,391,391,391,391,391,391,391,391,5370, + 5370,5370,5370,5370,5370,5370,5370,5370,5370,5370, + 5370,5370,5370,5370,5370,2700,5370,5370,5370,5029, + 5370,5370,5370,5370,5370,5370,5370,5249,5255,5370, + 5370,5370,5370,5370,5370,5370,5370,5249,32,392, + 392,5246,392,392,5246,392,5246,5246,5370,5370, + 5370,5370,5370,5370,2630,2502,5370,5370,5370,5370, + 392,392,392,5246,392,392,392,392,392,392, + 392,392,392,5370,5370,5370,5370,5370,5370,5370, + 5370,5370,5370,5370,5370,5370,5370,5370,5370,5370, + 5370,5370,5370,5370,5370,5370,5370,5370,5370,5370, + 5370,5246,5370,5370,5370,5370,5370,5370,5370,5370, + 5370,5246 }; }; public final static char termAction[] = TermAction.termAction; @@ -1808,48 +1807,48 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par 361,361,361,361,361,361,361,933,939,944, 941,948,946,953,951,955,954,956,480,957, 360,360,313,971,12,12,609,930,415,415, - 927,313,914,930,930,415,399,789,1082,914, + 927,313,914,930,930,415,399,789,1080,914, 914,10,623,399,528,539,533,583,534,787, 399,399,584,791,10,600,344,87,87,87, - 87,399,873,914,914,344,988,86,1082,344, + 87,399,873,914,914,344,986,86,1080,344, 933,866,866,873,360,361,361,361,361,361, 361,361,361,361,361,361,361,361,361,361, 361,361,361,361,360,360,360,360,360,360, 360,360,360,360,360,360,361,12,12,415, - 415,785,313,313,415,1081,397,914,223,634, + 415,785,313,313,415,1079,397,914,223,634, 399,529,925,923,539,399,815,611,605,584, 816,588,399,584,399,396,914,914,802,802, 802,802,584,914,360,361,616,639,731,731, 787,212,313,86,360,914,396,398,396,914, 313,941,941,939,939,939,946,946,946,946, - 944,944,951,948,948,954,953,955,1040,956, + 944,944,951,948,948,954,953,955,1038,956, 914,914,802,801,802,927,802,789,399,594, - 675,1081,529,923,591,399,539,1040,534,609, - 586,467,1030,539,815,606,815,815,584,588, + 675,1079,529,923,591,399,539,1038,534,609, + 586,467,1028,539,815,606,815,815,584,588, 588,399,399,399,673,673,673,673,399,399, - 360,399,1082,361,87,937,227,914,398,1082, - 360,594,804,344,1081,594,923,923,1082,816, - 816,802,609,396,814,1032,393,673,815,815, + 360,399,1080,361,87,937,227,914,398,1080, + 360,594,804,344,1079,594,923,923,1080,816, + 816,802,609,396,814,1030,393,673,815,815, 815,815,399,588,590,917,590,360,360,360, 360,673,673,584,397,914,937,785,789,399, 397,594,804,596,922,923,397,827,816,127, - 555,397,815,815,393,976,361,1040,268,264, + 555,397,815,815,393,976,361,1038,268,264, 785,815,815,819,590,591,361,399,914,914, 914,914,873,873,399,937,938,937,360,227, 472,933,789,596,806,596,923,977,827,827, - 1028,1042,520,673,534,164,555,397,815,816, - 787,1032,361,361,393,980,114,820,399,591, + 1026,1040,520,673,534,164,555,397,815,816, + 787,1030,361,361,393,980,114,820,399,591, 914,914,766,937,873,361,313,472,596,806, - 673,591,827,827,126,520,1028,411,787,801, + 673,591,827,827,126,520,1026,411,787,801, 977,816,324,980,399,673,819,399,787,787, 399,938,914,313,13,591,127,827,977,267, 976,914,787,399,127,984,325,787,399,873, 399,399,399,635,827,360,173,393,977,399, - 399,984,324,1040,361,1040,977,323,673,673, + 399,984,324,1038,361,1038,977,323,673,673, 673,325,673,399,487,977,977,399,816,914, 399,399,87,591,914,591,816,399,977,316, - 673,316,325,1040,325,344,344,342,986,344, - 977,977,271,984,591,173,977,675,325,914, + 673,316,325,1038,325,344,344,342,323,344, + 977,977,271,322,591,173,977,675,325,914, 393,914,342,520,673,914,984,173,914,914, 779,325,271,325,977,520,360,325,322,590, 816,816,781,360,323,873,977,914,975,172, @@ -1867,9 +1866,9 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par 57,34,10,58,19,22,20,24,21,1, 2,4,73,8,39,0,66,65,35,36, 6,92,93,98,9,99,5,42,70,55, - 68,110,111,107,108,109,115,114,116,88, - 87,112,113,96,97,94,95,100,101,37, - 38,69,89,105,63,3,26,11,12,39, + 68,111,112,108,109,110,116,115,117,88, + 87,113,114,96,97,94,95,100,101,37, + 38,69,89,106,63,3,26,11,12,39, 23,13,56,27,28,14,29,30,15,16, 31,32,17,18,33,57,34,10,58,19, 20,24,21,1,2,4,22,0,68,70, @@ -1885,15 +1884,15 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par 5,1,2,66,65,0,3,68,70,69, 120,63,8,73,90,0,91,89,35,36, 92,93,87,88,68,94,95,96,97,98, - 99,100,101,106,90,107,108,109,110,111, - 112,113,114,115,116,117,73,71,1,2, + 99,100,101,107,90,108,109,110,111,112, + 113,114,115,116,117,118,73,71,1,2, 4,9,6,72,63,55,3,8,69,25, 70,0,65,66,3,10,44,48,46,43, 51,12,21,11,17,15,16,18,19,14, 13,20,52,53,54,40,50,45,49,5, 7,4,37,38,9,6,35,36,42,47, - 1,2,117,8,0,86,102,103,104,41, - 72,118,121,71,60,74,62,59,64,76, + 1,2,118,8,0,86,103,104,105,41, + 72,102,121,71,60,74,62,59,64,76, 78,84,82,75,80,81,83,85,67,77, 79,25,8,26,39,23,56,27,28,29, 30,31,32,33,57,34,58,22,24,61, @@ -1909,20 +1908,20 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par 20,24,21,52,53,54,40,3,37,38, 9,6,35,36,42,68,7,1,2,4, 10,5,0,4,8,67,1,2,0,68, - 72,90,69,117,73,71,11,12,43,65, + 72,90,69,118,73,71,11,12,43,65, 13,44,45,14,15,16,66,46,17,18, 47,48,49,61,50,51,10,19,20,21, 52,53,54,40,37,38,35,36,42,8, 25,5,7,1,2,4,3,9,6,0, 41,4,72,1,2,67,8,0,86,59, - 7,102,103,104,62,8,3,9,6,5, + 7,103,104,105,62,8,3,9,6,5, 72,71,25,60,26,11,12,39,23,13, 56,27,28,14,29,30,15,16,31,32, 17,18,33,57,34,10,58,19,22,20, 24,21,4,1,2,41,0,1,2,69, 71,8,0,23,24,61,8,90,73,68, 69,70,120,0,4,8,72,67,55,0, - 4,8,72,67,0,8,72,117,73,25, + 4,8,72,67,0,8,72,118,73,25, 69,0,9,6,3,7,5,63,4,1, 2,68,70,90,73,8,69,0,26,11, 12,23,13,27,28,14,29,30,15,16, @@ -1933,17 +1932,17 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par 17,18,33,57,34,10,58,19,22,20, 24,21,1,2,4,90,0,10,56,39, 57,58,12,21,11,17,15,16,18,19, - 14,13,20,74,72,90,117,71,67,120, - 119,91,105,89,37,38,35,36,92,93, + 14,13,20,74,72,90,118,71,67,120, + 119,91,106,89,37,38,35,36,92,93, 87,88,55,68,94,95,96,97,98,99, - 100,101,106,70,107,108,109,110,111,112, - 113,114,115,116,69,26,23,27,28,29, + 100,101,107,70,108,109,110,111,112,113, + 114,115,116,117,69,26,23,27,28,29, 30,31,32,33,34,22,24,25,8,73, 3,63,7,5,9,6,1,2,4,0, 8,73,120,1,2,9,6,4,3,63, 69,68,0,23,24,61,3,68,90,70, 69,73,25,74,72,67,8,0,22,1, - 2,4,102,103,104,0,64,26,11,12, + 2,4,103,104,105,0,64,26,11,12, 39,23,13,56,27,86,28,14,29,30, 15,16,31,59,32,17,18,33,57,34, 10,58,19,62,22,20,24,21,8,3, @@ -1954,22 +1953,22 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par 40,1,2,3,37,38,9,6,35,36, 5,42,4,73,8,0,8,69,71,70, 0,61,23,24,7,5,1,2,4,74, - 67,120,119,105,37,38,63,3,91,89, + 67,120,119,106,37,38,63,3,91,89, 6,92,93,35,36,88,87,55,94,95, 96,97,9,98,99,100,68,90,73,70, - 107,108,109,110,111,112,113,114,115,116, - 72,117,101,106,71,69,25,8,0,8, - 67,69,0,118,0,75,0,65,66,37, - 38,9,6,35,36,5,42,47,3,4, - 7,52,53,54,50,45,49,12,21,11, - 17,15,16,18,19,14,13,20,10,44, - 48,46,43,51,63,1,2,40,0,25, - 8,3,7,5,9,6,4,1,2,72, - 0,39,23,13,56,27,14,29,30,15, - 16,31,32,17,18,33,57,34,10,58, - 19,22,20,24,21,12,11,26,8,3, - 9,25,62,59,64,86,28,60,55,4, - 6,7,5,41,1,2,0 + 108,109,110,111,112,113,114,115,116,117, + 72,118,101,107,71,69,25,8,0,8, + 67,69,0,102,0,65,66,37,38,9, + 6,35,36,5,42,47,3,4,7,52, + 53,54,50,45,49,12,21,11,17,15, + 16,18,19,14,13,20,10,44,48,46, + 43,51,63,1,2,40,0,25,8,3, + 7,5,9,6,4,1,2,72,0,39, + 23,13,56,27,14,29,30,15,16,31, + 32,17,18,33,57,34,10,58,19,22, + 20,24,21,12,11,26,8,3,9,25, + 62,59,64,86,28,60,55,4,6,7, + 5,41,1,2,0 }; }; public final static byte asr[] = Asr.asr; @@ -2085,8 +2084,8 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par 119,30,118,96,108,49,50,56,57,59, 69,71,72,85,92,65,17,18,6,32, 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,123, + 28,51,80,81,82,5,29,34,35,36, + 37,38,39,40,41,42,43,117,3,123, 62,116 }; }; @@ -2180,16 +2179,16 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par public interface ScopeLa { public final static byte scopeLa[] = { - 118,71,73,73,71,71,73,73,73,73, + 102,71,73,73,71,71,73,73,73,73, 73,71,25,71,1,68,1,73,121,67, 3,73,68,68,68,1,1,25,71,67, 1,1,1,71,1,1,4,68,69,25, - 1,1,68,73,73,73,118,73,1,25, - 1,25,25,71,117,73,73,73,73,73, - 117,1,73,1,73,73,73,72,4,1, + 1,1,68,73,73,73,102,73,1,25, + 1,25,25,71,118,73,73,73,73,73, + 118,1,73,1,73,73,73,72,4,1, 1,6,73,68,68,68,68,73,3,1, - 1,73,73,3,1,117,73,1,1,1, - 25,73,117,73,5,73,1,41,70,72, + 1,73,73,3,1,118,73,1,1,1, + 25,73,118,73,5,73,1,41,70,72, 73,1,41,75,74,25,25,4,4,4, 4,3,1,67,1,1,3 }; @@ -2218,7 +2217,7 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par public interface ScopeRhs { public final static char scopeRhs[] = {0, - 322,3,61,0,126,0,321,3,118,0, + 322,3,61,0,126,0,321,3,102,0, 126,172,0,126,179,74,0,216,0,255, 126,55,124,0,20,0,297,126,55,41, 0,20,53,0,33,132,0,20,53,0, @@ -2264,7 +2263,7 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par 155,224,3,83,0,62,171,0,224,3, 83,0,126,171,62,171,0,303,126,165, 0,162,0,213,77,0,30,171,0,162, - 106,159,0,30,169,0,178,3,0,126, + 107,159,0,30,169,0,178,3,0,126, 149,0,218,3,0,213,63,266,0,162, 63,0,178,3,299,66,127,0,126,0, 0,0,0,299,66,127,0,2,145,126, @@ -2291,38 +2290,38 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par public interface ScopeState { public final static char scopeState[] = {0, - 3507,4892,4880,4860,0,1768,3548,1175,571,0, - 3643,3585,3521,3418,3381,3325,3288,3232,3195,3000, - 2963,4530,0,2855,0,4143,3409,0,3643,3585, - 1891,1805,3521,3418,3381,3325,3288,3232,1448,3195, - 3000,2963,1547,1319,0,1762,1719,1676,0,3274, - 3009,0,4263,3130,0,3383,601,0,4483,4300, - 0,4515,4509,0,4515,4509,4242,4427,4418,4156, - 4345,4336,4142,4324,3643,3585,3521,3418,3381,3325, - 3288,3232,3195,3000,2963,0,4515,4509,4242,4427, - 4418,4156,4345,4336,4142,4324,0,2529,733,0, - 950,808,0,1096,0,2473,3155,949,3612,2601, - 744,2726,619,3223,4517,3201,2757,2773,2745,741, - 0,4739,4735,4727,4723,4687,4676,4659,4651,4869, - 4854,4831,4647,4611,4600,4583,4547,4814,4807,3600, - 4803,4754,4410,3478,0,540,2779,2739,0,3155, - 4483,2601,4300,2757,3076,3494,4273,4107,2473,4093, - 606,2726,587,2487,0,3058,2541,4739,4735,4727, - 2243,2156,4723,937,4687,4676,4659,4149,4651,3119, - 2872,2797,2746,3115,4869,2656,4854,2238,4831,3349, - 4647,4611,2151,4600,4583,1144,4547,4814,3514,4807, - 3600,4803,3442,4754,4410,2779,3478,583,2739,2837, - 2615,2583,2565,3076,3494,4273,4107,2473,3155,4093, - 4483,2601,606,2726,4300,1501,633,2968,950,808, - 2757,587,2487,4120,4070,4047,2247,2286,2354,2321, - 2444,2415,2385,2940,2913,2698,2670,2628,2500,3769, - 3744,3719,3172,3089,4024,4001,3978,3955,3932,3909, - 3886,3863,3840,3817,3794,2030,2199,2160,2112,2073, - 1240,1100,889,1987,1944,1372,832,751,694,1901, - 1858,1815,1772,1729,1686,1643,1600,1557,1514,1458, - 540,1327,1284,1415,1057,1196,1012,968,1152,0, - 1370,1239,1187,1047,3201,2757,3076,3221,587,2809, - 2487,0,4796,2771,3233,563,0 + 3509,4894,4882,4862,0,1770,3550,1177,573,0, + 3645,3587,3523,3420,3383,3327,3290,3234,3197,3002, + 2965,4532,0,2857,0,4145,3411,0,3645,3587, + 1893,1807,3523,3420,3383,3327,3290,3234,1450,3197, + 3002,2965,1549,1321,0,1764,1721,1678,0,3276, + 3011,0,4265,3132,0,3385,603,0,4485,4302, + 0,4517,4511,0,4517,4511,4244,4429,4420,4158, + 4347,4338,4144,4326,3645,3587,3523,3420,3383,3327, + 3290,3234,3197,3002,2965,0,4517,4511,4244,4429, + 4420,4158,4347,4338,4144,4326,0,2531,735,0, + 952,810,0,1098,0,2475,3157,951,3614,2603, + 746,2728,621,3225,4519,3203,2759,2775,2747,743, + 0,4741,4737,4729,4725,4689,4678,4661,4653,4871, + 4856,4833,4649,4613,4602,4585,4549,4816,4809,3602, + 4805,4756,4412,3480,0,542,2781,2741,0,3157, + 4485,2603,4302,2759,3078,3496,4275,4109,2475,4095, + 608,2728,589,2489,0,3060,2543,4741,4737,4729, + 2245,2158,4725,939,4689,4678,4661,4151,4653,3121, + 2874,2799,2748,3117,4871,2658,4856,2240,4833,3351, + 4649,4613,2153,4602,4585,1146,4549,4816,3516,4809, + 3602,4805,3444,4756,4412,2781,3480,585,2741,2839, + 2617,2585,2567,3078,3496,4275,4109,2475,3157,4095, + 4485,2603,608,2728,4302,1503,635,2970,952,810, + 2759,589,2489,4122,4072,4049,2249,2288,2356,2323, + 2446,2417,2387,2942,2915,2700,2672,2630,2502,3771, + 3746,3721,3174,3091,4026,4003,3980,3957,3934,3911, + 3888,3865,3842,3819,3796,2032,2201,2162,2114,2075, + 1242,1102,891,1989,1946,1374,834,753,696,1903, + 1860,1817,1774,1731,1688,1645,1602,1559,1516,1460, + 542,1329,1286,1417,1059,1198,1014,970,1154,0, + 1372,1241,1189,1049,3203,2759,3078,3223,589,2811, + 2489,0,4798,2773,3235,565,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -2343,10 +2342,10 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par 199,126,211,127,172,165,312,276,307,276, 127,180,167,211,126,229,3,55,55,55, 55,127,3,178,162,126,65,66,167,3, - 125,105,119,3,63,89,91,36,35,93, + 125,106,119,3,63,89,91,36,35,93, 92,6,95,94,68,55,87,88,9,97, - 96,99,98,100,116,115,114,113,112,111, - 110,109,108,107,70,106,101,126,126,126, + 96,99,98,100,117,116,115,114,113,112, + 111,110,109,108,70,107,101,126,126,126, 126,126,63,63,126,4,188,226,227,228, 127,167,9,6,126,167,229,125,124,127, 123,165,127,167,41,70,178,162,178,178, @@ -2379,7 +2378,7 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par 180,126,303,79,77,1,162,8,85,83, 81,80,75,82,84,78,76,59,74,218, 180,180,69,236,153,165,253,180,225,285, - 118,8,72,213,72,3,3,3,191,3, + 102,8,72,213,72,3,3,3,191,3, 123,162,123,179,126,165,225,3,72,224, 168,224,305,145,75,224,126,126,90,321, 168,155,199,155,304,126,3,155,285,310, @@ -2661,18 +2660,18 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par public final static int NUM_STATES = 546, NT_OFFSET = 122, - LA_STATE_OFFSET = 5904, + LA_STATE_OFFSET = 5911, MAX_LA = 2147483647, - NUM_RULES = 539, + NUM_RULES = 541, NUM_NONTERMINALS = 204, NUM_SYMBOLS = 326, SEGMENT_SIZE = 8192, - START_STATE = 563, + START_STATE = 565, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 120, EOLT_SYMBOL = 120, - ACCEPT_ACTION = 5000, - ERROR_ACTION = 5365; + ACCEPT_ACTION = 5002, + ERROR_ACTION = 5370; public final static boolean BACKTRACK = true; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParsersym.java index 8d93c47c93c..6326438930a 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParsersym.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParsersym.java @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 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 @@ -20,7 +20,7 @@ public interface CPPTemplateTypeParameterParsersym { TK_bool = 11, TK_break = 76, TK_case = 77, - TK_catch = 118, + TK_catch = 102, TK_char = 12, TK_class = 39, TK_const = 23, @@ -49,9 +49,9 @@ public interface CPPTemplateTypeParameterParsersym { TK_namespace = 59, TK_new = 66, TK_operator = 7, - TK_private = 102, - TK_protected = 103, - TK_public = 104, + TK_private = 103, + TK_protected = 104, + TK_public = 105, TK_register = 32, TK_reinterpret_cast = 46, TK_return = 84, @@ -90,7 +90,7 @@ public interface CPPTemplateTypeParameterParsersym { TK_LeftParen = 3, TK_Dot = 119, TK_DotStar = 91, - TK_Arrow = 105, + TK_Arrow = 106, TK_ArrowStar = 89, TK_PlusPlus = 37, TK_MinusMinus = 38, @@ -114,23 +114,23 @@ public interface CPPTemplateTypeParameterParsersym { TK_Or = 99, TK_AndAnd = 100, TK_OrOr = 101, - TK_Question = 106, + TK_Question = 107, TK_Colon = 72, TK_ColonColon = 4, TK_DotDotDot = 90, TK_Assign = 70, - TK_StarAssign = 107, - TK_SlashAssign = 108, - TK_PercentAssign = 109, - TK_PlusAssign = 110, - TK_MinusAssign = 111, - TK_RightShiftAssign = 112, - TK_LeftShiftAssign = 113, - TK_AndAssign = 114, - TK_CaretAssign = 115, - TK_OrAssign = 116, + TK_StarAssign = 108, + TK_SlashAssign = 109, + TK_PercentAssign = 110, + TK_PlusAssign = 111, + TK_MinusAssign = 112, + TK_RightShiftAssign = 113, + TK_LeftShiftAssign = 114, + TK_AndAssign = 115, + TK_CaretAssign = 116, + TK_OrAssign = 117, TK_Comma = 69, - TK_RightBracket = 117, + TK_RightBracket = 118, TK_RightParen = 73, TK_RightBrace = 71, TK_SemiColon = 25, @@ -241,6 +241,7 @@ public interface CPPTemplateTypeParameterParsersym { "Or", "AndAnd", "OrOr", + "catch", "private", "protected", "public", @@ -257,7 +258,6 @@ public interface CPPTemplateTypeParameterParsersym { "CaretAssign", "OrAssign", "RightBracket", - "catch", "Dot", "EOF_TOKEN", "else", 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 5e701b6d725..f533cbf7dbb 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 @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 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 @@ -672,703 +672,709 @@ private GNUBuildASTParserAction gnuAction; // // Rule 118: iteration_statement ::= do statement while ( expression ) ; // - case 118: { action. consumeStatementDoLoop(); break; + case 118: { action. consumeStatementDoLoop(true); break; } // - // Rule 119: iteration_statement ::= while ( expression ) statement + // Rule 119: iteration_statement ::= do statement // - case 119: { action. consumeStatementWhileLoop(); break; + case 119: { action. consumeStatementDoLoop(false); break; } // - // Rule 120: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement + // Rule 120: iteration_statement ::= while ( expression ) statement // - case 120: { action. consumeStatementForLoop(); break; + case 120: { action. consumeStatementWhileLoop(); break; } // - // Rule 121: iteration_statement ::= for ( declaration expression_opt ; expression_opt ) statement + // Rule 121: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement // case 121: { action. consumeStatementForLoop(); break; } // - // Rule 122: jump_statement ::= goto identifier_token ; + // Rule 122: iteration_statement ::= for ( declaration expression_opt ; expression_opt ) statement // - case 122: { action. consumeStatementGoto(); break; + case 122: { action. consumeStatementForLoop(); break; } // - // Rule 123: jump_statement ::= continue ; + // Rule 123: jump_statement ::= goto identifier_token ; // - case 123: { action. consumeStatementContinue(); break; + case 123: { action. consumeStatementGoto(); break; } // - // Rule 124: jump_statement ::= break ; + // Rule 124: jump_statement ::= continue ; // - case 124: { action. consumeStatementBreak(); break; + case 124: { action. consumeStatementContinue(); break; } // - // Rule 125: jump_statement ::= return ; + // Rule 125: jump_statement ::= break ; // - case 125: { action. consumeStatementReturn(false); break; + case 125: { action. consumeStatementBreak(); break; } // - // Rule 126: jump_statement ::= return expression ; + // Rule 126: jump_statement ::= return ; // - case 126: { action. consumeStatementReturn(true); break; + case 126: { action. consumeStatementReturn(false); break; } // - // Rule 127: declaration ::= declaration_specifiers ; + // Rule 127: jump_statement ::= return expression ; // - case 127: { action. consumeDeclarationSimple(false); break; + case 127: { action. consumeStatementReturn(true); break; } // - // Rule 128: declaration ::= declaration_specifiers <openscope-ast> init_declarator_list ; + // Rule 128: declaration ::= declaration_specifiers ; // - case 128: { action. consumeDeclarationSimple(true); break; + case 128: { action. consumeDeclarationSimple(false); break; } // - // Rule 129: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers + // Rule 129: declaration ::= declaration_specifiers <openscope-ast> init_declarator_list ; // - case 129: { action. consumeDeclarationSpecifiersSimple(); break; + case 129: { action. consumeDeclarationSimple(true); break; } // - // Rule 130: declaration_specifiers ::= <openscope-ast> struct_or_union_declaration_specifiers + // Rule 130: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers // - case 130: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; + case 130: { action. consumeDeclarationSpecifiersSimple(); break; } // - // Rule 131: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers + // Rule 131: declaration_specifiers ::= <openscope-ast> struct_or_union_declaration_specifiers // case 131: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; } // - // Rule 132: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers + // Rule 132: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers // case 132: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; } // - // Rule 133: declaration_specifiers ::= <openscope-ast> typdef_name_declaration_specifiers + // Rule 133: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers // - case 133: { action. consumeDeclarationSpecifiersTypedefName(); break; + case 133: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; } // - // Rule 158: init_declarator ::= complete_declarator = initializer + // Rule 134: declaration_specifiers ::= <openscope-ast> typdef_name_declaration_specifiers // - case 158: { action. consumeDeclaratorWithInitializer(true); break; + case 134: { action. consumeDeclarationSpecifiersTypedefName(); break; } // - // Rule 160: storage_class_specifier ::= storage_class_specifier_token + // Rule 159: init_declarator ::= complete_declarator = initializer // - case 160: { action. consumeToken(); break; + case 159: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 166: simple_type_specifier ::= simple_type_specifier_token + // Rule 161: storage_class_specifier ::= storage_class_specifier_token // - case 166: { action. consumeToken(); break; + case 161: { action. consumeToken(); break; } // - // Rule 179: type_name_specifier ::= identifier_token + // Rule 167: simple_type_specifier ::= simple_type_specifier_token // - case 179: { action. consumeToken(); break; + case 167: { action. consumeToken(); break; } // - // Rule 180: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt } + // Rule 180: type_name_specifier ::= identifier_token // - case 180: { action. consumeTypeSpecifierComposite(false); break; + case 180: { action. consumeToken(); break; } // - // Rule 181: 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 181: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt } // - case 181: { action. consumeTypeSpecifierComposite(true); break; + case 181: { action. consumeTypeSpecifierComposite(false); break; } // - // Rule 186: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token + // 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 } // - case 186: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break; + case 182: { action. consumeTypeSpecifierComposite(true); break; } // - // Rule 187: elaborated_specifier ::= union elaborated_specifier_hook identifier_token + // Rule 187: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token // - case 187: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break; + case 187: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break; } // - // Rule 188: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token + // Rule 188: elaborated_specifier ::= union elaborated_specifier_hook identifier_token // - case 188: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break; + case 188: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break; } // - // Rule 194: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ; + // Rule 189: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token // - case 194: { action. consumeStructDeclaration(true); break; + case 189: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break; } // - // Rule 195: struct_declaration ::= specifier_qualifier_list ; + // Rule 195: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ; // - case 195: { action. consumeStructDeclaration(false); break; + case 195: { action. consumeStructDeclaration(true); break; } // - // Rule 196: struct_declaration ::= ERROR_TOKEN + // Rule 196: struct_declaration ::= specifier_qualifier_list ; // - case 196: { action. consumeDeclarationProblem(); break; + case 196: { action. consumeStructDeclaration(false); break; } // - // Rule 202: struct_declarator ::= : constant_expression + // Rule 197: struct_declaration ::= ERROR_TOKEN // - case 202: { action. consumeBitField(false); break; + case 197: { action. consumeDeclarationProblem(); break; } // - // Rule 203: struct_declarator ::= declarator : constant_expression + // Rule 203: struct_declarator ::= : constant_expression // - case 203: { action. consumeBitField(true); break; + case 203: { action. consumeBitField(false); break; } // - // Rule 204: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 204: struct_declarator ::= declarator : constant_expression // - case 204: { action. consumeTypeSpecifierEnumeration(false); break; + case 204: { action. consumeBitField(true); break; } // - // Rule 205: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 205: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } // - case 205: { action. consumeTypeSpecifierEnumeration(true); break; + case 205: { action. consumeTypeSpecifierEnumeration(false); break; } // - // Rule 211: enumerator ::= identifier_token + // Rule 206: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } // - case 211: { action. consumeEnumerator(false); break; + case 206: { action. consumeTypeSpecifierEnumeration(true); break; } // - // Rule 212: enumerator ::= identifier_token = constant_expression + // Rule 212: enumerator ::= identifier_token // - case 212: { action. consumeEnumerator(true); break; + case 212: { action. consumeEnumerator(false); break; } // - // Rule 213: type_qualifier ::= type_qualifier_token + // Rule 213: enumerator ::= identifier_token = constant_expression // - case 213: { action. consumeToken(); break; + case 213: { action. consumeEnumerator(true); break; } // - // Rule 217: function_specifier ::= inline + // Rule 214: type_qualifier ::= type_qualifier_token // - case 217: { action. consumeToken(); break; + case 214: { action. consumeToken(); break; } // - // Rule 219: declarator ::= <openscope-ast> pointer_seq direct_declarator + // Rule 218: function_specifier ::= inline // - case 219: { action. consumeDeclaratorWithPointer(true); break; + case 218: { action. consumeToken(); break; } // - // Rule 224: basic_direct_declarator ::= declarator_id_name + // Rule 220: declarator ::= <openscope-ast> pointer_seq direct_declarator // - case 224: { action. consumeDirectDeclaratorIdentifier(); break; + case 220: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 225: basic_direct_declarator ::= ( declarator ) + // Rule 225: basic_direct_declarator ::= declarator_id_name // - case 225: { action. consumeDirectDeclaratorBracketed(); break; + case 225: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 226: declarator_id_name ::= identifier + // Rule 226: basic_direct_declarator ::= ( declarator ) // - case 226: { action. consumeIdentifierName(); break; + case 226: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 227: array_direct_declarator ::= basic_direct_declarator array_modifier + // Rule 227: declarator_id_name ::= identifier // - case 227: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 227: { action. consumeIdentifierName(); break; } // - // Rule 228: array_direct_declarator ::= array_direct_declarator array_modifier + // Rule 228: array_direct_declarator ::= basic_direct_declarator array_modifier // case 228: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 230: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list ) + // Rule 229: array_direct_declarator ::= array_direct_declarator array_modifier // - case 230: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; + case 229: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 231: function_direct_declarator ::= basic_direct_declarator ( ) + // Rule 231: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list ) // - case 231: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; + case 231: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; } // - // Rule 233: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator + // Rule 232: function_direct_declarator ::= basic_direct_declarator ( ) // - case 233: { action. consumeDeclaratorWithPointer(true); break; + case 232: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; } // - // Rule 234: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list ) + // Rule 234: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator // - case 234: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; + case 234: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 236: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator + // Rule 235: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list ) // - case 236: { action. consumeDeclaratorWithPointer(true); break; + case 235: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; } // - // Rule 237: identifier_list ::= identifier + // Rule 237: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator // - case 237: { action. consumeIdentifierKnR(); break; + case 237: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 238: identifier_list ::= identifier_list , identifier + // Rule 238: identifier_list ::= identifier // case 238: { action. consumeIdentifierKnR(); break; } // - // Rule 239: array_modifier ::= [ ] + // Rule 239: identifier_list ::= identifier_list , identifier // - case 239: { action. consumeDirectDeclaratorArrayModifier(false); break; + case 239: { action. consumeIdentifierKnR(); break; } // - // Rule 240: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ] + // Rule 240: array_modifier ::= [ ] // - case 240: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break; + case 240: { action. consumeDirectDeclaratorArrayModifier(false); break; } // - // Rule 241: array_modifier ::= [ assignment_expression ] + // Rule 241: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ] // - case 241: { action. consumeDirectDeclaratorArrayModifier(true); break; + case 241: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break; } // - // Rule 242: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ] + // Rule 242: array_modifier ::= [ assignment_expression ] // - case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break; + case 242: { action. consumeDirectDeclaratorArrayModifier(true); break; } // - // Rule 243: array_modifier ::= [ static assignment_expression ] + // Rule 243: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ] // - case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break; + case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break; } // - // Rule 244: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ] + // Rule 244: array_modifier ::= [ static assignment_expression ] // - case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; + case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break; } // - // Rule 245: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ] + // Rule 245: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ] // case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; } // - // Rule 246: array_modifier ::= [ * ] + // Rule 246: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ] // - case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break; + case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; } // - // Rule 247: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ] + // Rule 247: array_modifier ::= [ * ] // - case 247: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break; + case 247: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break; } // - // Rule 249: pointer_seq ::= pointer_hook * pointer_hook + // Rule 248: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ] // - case 249: { action. consumePointer(); break; + case 248: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break; } // - // Rule 250: pointer_seq ::= pointer_seq pointer_hook * pointer_hook + // Rule 250: pointer_seq ::= pointer_hook * pointer_hook // case 250: { action. consumePointer(); break; } // - // Rule 251: pointer_seq ::= pointer_hook * pointer_hook <openscope-ast> type_qualifier_list + // Rule 251: pointer_seq ::= pointer_seq pointer_hook * pointer_hook // - case 251: { action. consumePointerTypeQualifierList(); break; + case 251: { action. consumePointer(); break; } // - // Rule 252: pointer_seq ::= pointer_seq pointer_hook * pointer_hook <openscope-ast> type_qualifier_list + // Rule 252: pointer_seq ::= pointer_hook * pointer_hook <openscope-ast> type_qualifier_list // case 252: { action. consumePointerTypeQualifierList(); break; } // - // Rule 256: parameter_type_list ::= parameter_list + // Rule 253: pointer_seq ::= pointer_seq pointer_hook * pointer_hook <openscope-ast> type_qualifier_list // - case 256: { action. consumeEmpty(); break; + case 253: { action. consumePointerTypeQualifierList(); break; } // - // Rule 257: parameter_type_list ::= parameter_list , ... + // Rule 257: parameter_type_list ::= parameter_list // - case 257: { action. consumePlaceHolder(); break; + case 257: { action. consumeEmpty(); break; } // - // Rule 258: parameter_type_list ::= ... + // Rule 258: parameter_type_list ::= parameter_list , ... // case 258: { action. consumePlaceHolder(); break; } // - // Rule 261: parameter_declaration ::= declaration_specifiers complete_parameter_declarator + // Rule 259: parameter_type_list ::= ... // - case 261: { action. consumeParameterDeclaration(); break; + case 259: { action. consumePlaceHolder(); break; } // - // Rule 262: parameter_declaration ::= declaration_specifiers + // Rule 262: parameter_declaration ::= declaration_specifiers complete_parameter_declarator // - case 262: { action. consumeParameterDeclarationWithoutDeclarator(); break; + case 262: { action. consumeParameterDeclaration(); break; } // - // Rule 265: type_id ::= specifier_qualifier_list + // Rule 263: parameter_declaration ::= declaration_specifiers // - case 265: { action. consumeTypeId(false); break; + case 263: { action. consumeParameterDeclarationWithoutDeclarator(); break; } // - // Rule 266: type_id ::= specifier_qualifier_list abstract_declarator + // Rule 266: type_id ::= specifier_qualifier_list // - case 266: { action. consumeTypeId(true); break; + case 266: { action. consumeTypeId(false); break; } // - // Rule 268: abstract_declarator ::= <openscope-ast> pointer_seq + // Rule 267: type_id ::= specifier_qualifier_list abstract_declarator // - case 268: { action. consumeDeclaratorWithPointer(false); break; + case 267: { action. consumeTypeId(true); break; } // - // Rule 269: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator + // Rule 269: abstract_declarator ::= <openscope-ast> pointer_seq // - case 269: { action. consumeDeclaratorWithPointer(true); break; + case 269: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 273: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 270: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator // - case 273: { action. consumeDirectDeclaratorBracketed(); break; + case 270: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 274: array_direct_abstract_declarator ::= array_modifier + // Rule 274: basic_direct_abstract_declarator ::= ( abstract_declarator ) // - case 274: { action. consumeDirectDeclaratorArrayDeclarator(false); break; + case 274: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 275: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier + // Rule 275: array_direct_abstract_declarator ::= array_modifier // - case 275: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 275: { action. consumeDirectDeclaratorArrayDeclarator(false); break; } // - // Rule 276: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier + // Rule 276: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier // case 276: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 277: function_direct_abstract_declarator ::= ( ) + // Rule 277: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier // - case 277: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break; + case 277: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + } + + // + // Rule 278: function_direct_abstract_declarator ::= ( ) + // + case 278: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break; } // - // Rule 278: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( ) + // Rule 279: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( ) // - case 278: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; + case 279: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; } // - // Rule 279: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list ) + // Rule 280: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list ) // - case 279: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break; + case 280: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break; } // - // Rule 280: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list ) + // Rule 281: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list ) // - case 280: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; + case 281: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; } // - // Rule 281: initializer ::= assignment_expression + // Rule 282: initializer ::= assignment_expression // - case 281: { action. consumeInitializer(); break; + case 282: { action. consumeInitializer(); break; } // - // Rule 283: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq comma_opt } end_initializer_list + // Rule 284: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq comma_opt } end_initializer_list // - case 283: { action. consumeInitializerList(); break; + case 284: { action. consumeInitializerList(); break; } // - // Rule 284: initializer_list ::= { <openscope-ast> } + // Rule 285: initializer_list ::= { <openscope-ast> } // - case 284: { action. consumeInitializerList(); break; + case 285: { action. consumeInitializerList(); break; } // - // Rule 285: start_initializer_list ::= $Empty + // Rule 286: start_initializer_list ::= $Empty // - case 285: { action. initializerListStart(); break; + case 286: { action. initializerListStart(); break; } // - // Rule 286: end_initializer_list ::= $Empty + // Rule 287: end_initializer_list ::= $Empty // - case 286: { action. initializerListEnd(); break; + case 287: { action. initializerListEnd(); break; } // - // Rule 291: designated_initializer ::= <openscope-ast> designation = initializer + // Rule 292: designated_initializer ::= <openscope-ast> designation = initializer // - case 291: { action. consumeInitializerDesignated(); break; + case 292: { action. consumeInitializerDesignated(); break; } // - // Rule 295: designator_base ::= [ constant_expression ] + // Rule 296: designator_base ::= [ constant_expression ] // - case 295: { action. consumeDesignatorArray(); break; + case 296: { action. consumeDesignatorArray(); break; } // - // Rule 296: designator_base ::= . identifier_token + // Rule 297: designator_base ::= . identifier_token // - case 296: { action. consumeDesignatorField(); break; + case 297: { action. consumeDesignatorField(); break; } // - // Rule 297: designator ::= [ constant_expression ] + // Rule 298: designator ::= [ constant_expression ] // - case 297: { action. consumeDesignatorArray(); break; + case 298: { action. consumeDesignatorArray(); break; } // - // Rule 298: designator ::= . identifier_token + // Rule 299: designator ::= . identifier_token // - case 298: { action. consumeDesignatorField(); break; + case 299: { action. consumeDesignatorField(); break; } // - // Rule 299: translation_unit ::= external_declaration_list + // Rule 300: translation_unit ::= external_declaration_list // - case 299: { action. consumeTranslationUnit(); break; + case 300: { action. consumeTranslationUnit(); break; } // - // Rule 300: translation_unit ::= $Empty + // Rule 301: translation_unit ::= $Empty // - case 300: { action. consumeTranslationUnit(); break; + case 301: { action. consumeTranslationUnit(); break; } // - // Rule 305: external_declaration ::= ; + // Rule 306: external_declaration ::= ; // - case 305: { action. consumeDeclarationEmpty(); break; + case 306: { action. consumeDeclarationEmpty(); break; } // - // Rule 306: external_declaration ::= ERROR_TOKEN + // Rule 307: external_declaration ::= ERROR_TOKEN // - case 306: { action. consumeDeclarationProblem(); break; + case 307: { action. consumeDeclarationProblem(); break; } // - // Rule 310: function_definition ::= <openscope-ast> function_declarator function_body + // Rule 311: function_definition ::= <openscope-ast> function_declarator function_body // - case 310: { action. consumeFunctionDefinition(false); break; + case 311: { action. consumeFunctionDefinition(false); break; } // - // Rule 311: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement + // Rule 312: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement // - case 311: { action. consumeFunctionDefinitionKnR(); break; + case 312: { action. consumeFunctionDefinitionKnR(); break; } // - // Rule 312: normal_function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body + // Rule 313: normal_function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body // - case 312: { action. consumeFunctionDefinition(true); break; + case 313: { action. consumeFunctionDefinition(true); break; } // - // Rule 313: function_body ::= { } + // Rule 314: function_body ::= { } // - case 313: { action. consumeStatementCompoundStatement(false); break; + case 314: { action. consumeStatementCompoundStatement(false); break; } // - // Rule 314: function_body ::= { <openscope-ast> block_item_list } + // Rule 315: function_body ::= { <openscope-ast> block_item_list } // - case 314: { action. consumeStatementCompoundStatement(true); break; + case 315: { action. consumeStatementCompoundStatement(true); break; } // - // Rule 331: attribute_parameter ::= assignment_expression + // Rule 332: attribute_parameter ::= assignment_expression // - case 331: { action. consumeIgnore(); break; + case 332: { action. consumeIgnore(); break; } // - // Rule 342: extended_asm_declaration ::= asm volatile_opt ( extended_asm_param_seq ) ; + // Rule 343: extended_asm_declaration ::= asm volatile_opt ( extended_asm_param_seq ) ; // - case 342: { gnuAction.consumeDeclarationASM(); break; + case 343: { gnuAction.consumeDeclarationASM(); break; } // - // Rule 353: unary_expression ::= __alignof__ unary_expression + // Rule 354: unary_expression ::= __alignof__ unary_expression // - case 353: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_alignOf); break; + case 354: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_alignOf); break; } // - // Rule 354: unary_expression ::= __alignof__ ( type_id ) + // Rule 355: unary_expression ::= __alignof__ ( type_id ) // - case 354: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_alignof); break; + case 355: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_alignof); break; } // - // Rule 355: unary_expression ::= typeof unary_expression + // Rule 356: unary_expression ::= typeof unary_expression // - case 355: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); break; + case 356: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); break; } // - // Rule 356: unary_expression ::= typeof ( type_id ) + // Rule 357: unary_expression ::= typeof ( type_id ) // - case 356: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_typeof); break; + case 357: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_typeof); break; } // - // Rule 357: relational_expression ::= relational_expression >? shift_expression + // Rule 358: relational_expression ::= relational_expression >? shift_expression // - case 357: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_max); break; + case 358: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_max); break; } // - // Rule 358: relational_expression ::= relational_expression <? shift_expression + // Rule 359: relational_expression ::= relational_expression <? shift_expression // - case 358: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_min); break; + case 359: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_min); break; } // - // Rule 359: conditional_expression ::= logical_or_expression ? <empty> : assignment_expression + // Rule 360: conditional_expression ::= logical_or_expression ? <empty> : assignment_expression // - case 359: { action. consumeExpressionConditional(); break; + case 360: { action. consumeExpressionConditional(); break; } // - // Rule 360: primary_expression ::= ( compound_statement ) + // Rule 361: primary_expression ::= ( compound_statement ) // - case 360: { gnuAction.consumeCompoundStatementExpression(); break; + case 361: { gnuAction.consumeCompoundStatementExpression(); break; } // - // Rule 361: labeled_statement ::= case case_range_expression : statement + // Rule 362: labeled_statement ::= case case_range_expression : statement // - case 361: { action. consumeStatementCase(); break; + case 362: { action. consumeStatementCase(); break; } // - // Rule 362: case_range_expression ::= constant_expression ... constant_expression + // Rule 363: case_range_expression ::= constant_expression ... constant_expression // - case 362: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_assign); break; + case 363: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_assign); break; } // - // Rule 366: typeof_type_specifier ::= typeof unary_expression + // Rule 367: typeof_type_specifier ::= typeof unary_expression // - case 366: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); break; + case 367: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); break; } // - // Rule 367: typeof_type_specifier ::= typeof ( type_id ) + // Rule 368: typeof_type_specifier ::= typeof ( type_id ) // - case 367: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_typeof); break; + case 368: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_typeof); break; } // - // Rule 368: declaration_specifiers ::= <openscope-ast> typeof_declaration_specifiers + // Rule 369: declaration_specifiers ::= <openscope-ast> typeof_declaration_specifiers // - case 368: { action. consumeDeclarationSpecifiersTypeof(); break; + case 369: { action. consumeDeclarationSpecifiersTypeof(); break; } // - // Rule 384: field_name_designator ::= identifier_token : + // Rule 385: field_name_designator ::= identifier_token : // - case 384: { action. consumeDesignatorFieldGCC(); break; + case 385: { action. consumeDesignatorFieldGCC(); break; } // - // Rule 385: array_range_designator ::= [ constant_expression ... constant_expression ] + // Rule 386: array_range_designator ::= [ constant_expression ... constant_expression ] // - case 385: { action. consumeDesignatorArrayRange(); break; + case 386: { action. consumeDesignatorArrayRange(); break; } // - // Rule 386: designated_initializer ::= <openscope-ast> field_name_designator initializer + // Rule 387: designated_initializer ::= <openscope-ast> field_name_designator initializer // - case 386: { action. consumeInitializerDesignated(); break; + case 387: { action. consumeInitializerDesignated(); break; } // - // Rule 387: block_item ::= normal_function_definition + // Rule 388: block_item ::= normal_function_definition // - case 387: { action. consumeStatementDeclaration(); break; + case 388: { action. consumeStatementDeclaration(); 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 51a8029efd8..04f0894df4c 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 @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 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 @@ -45,319 +45,319 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym 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,2,5,7,5,1,0,7,2,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,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,3,4, - 5,6,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,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,1,3, - 6,4,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, - 4,6,1,0,1,3,1,3,0,1, - 4,5,2,4,2,4,3,3,5,3, - 4,3,1,2,2,2,4,2,1,1, - 2,2,3,2,2,3,1,1,1,1, - 1,1,1,2,5,3,1,-105,0,-114, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-2,0,0,0,0, - 0,0,-351,-312,0,0,-41,-224,0,0, - 0,-111,-260,0,-7,0,0,0,0,0, - 0,-222,0,-84,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-32, - 0,0,0,0,-3,-35,-107,0,-58,0, - 0,0,-146,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-5,0,0,-120,0,0,0, - 0,0,0,0,0,0,0,-10,-11,-253, - 0,0,0,0,0,0,0,0,0,0, - 0,-221,0,0,0,0,0,0,0,0, - -62,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,-190,0,0, - 0,0,0,0,0,0,-4,0,0,0, - -360,0,0,0,0,0,0,0,-42,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-12,0,0,0,0,0,0,0,0, - 0,-109,-112,0,-209,0,0,0,0,0, - 0,0,0,0,-80,0,0,0,0,0, - 0,0,0,0,0,-314,0,0,0,-33, - 0,-13,0,0,0,0,0,0,0,0, - 0,0,0,0,-172,0,-295,0,0,0, - 0,0,0,0,0,0,0,0,0,-24, - 0,0,0,0,-25,0,0,0,0,0, - 0,-37,-123,0,0,0,0,0,0,0, - 0,-36,-108,0,-345,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-38, - -274,0,0,0,0,0,0,0,0,0, - -257,0,-81,0,0,0,0,0,0,0, - 0,0,-45,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-121,-63,0, - 0,0,0,0,0,0,0,0,0,0, - -210,0,-9,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-245,0, - 0,-40,-30,-347,0,0,0,0,0,0, - 0,0,0,-47,0,0,0,0,0,0, - 0,-43,0,0,0,0,0,0,-44,-205, - 0,0,0,0,0,0,0,0,0,0, - -54,-361,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-56, - 0,0,0,0,0,0,-239,-64,0,0, - 0,0,0,0,0,0,0,0,0,-79, - 0,0,0,0,0,0,0,0,0,-49, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-310,-65,0,0,0,0, - 0,0,0,0,0,-241,0,0,0,0, - 0,0,0,0,0,-31,-71,0,0,0, - 0,0,0,-73,0,0,0,0,0,0, - 0,-50,0,0,-119,0,0,0,0,0, - 0,0,0,0,-106,-29,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-74, - -151,0,0,0,0,0,0,0,0,0, - -51,0,0,0,0,0,0,0,-85,0, - 0,0,0,0,0,-182,0,-86,0,0, - 0,0,0,0,0,-90,0,0,-141,0, - 0,0,0,-72,0,0,0,0,0,0, - -92,-189,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-113, - 0,0,0,0,0,0,-258,-28,0,0, - 0,0,0,0,0,0,0,-333,0,-122, - 0,0,0,0,0,0,0,-143,0,-87, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-8,-124,0,0,-265,0,0,-117, - -125,0,0,0,0,0,0,0,0,0, - -27,0,-126,-89,0,0,-296,0,0,0, - 0,0,0,0,0,0,0,0,0,-59, - 0,-183,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-66,0,0,0,0, - 0,0,0,0,-217,0,-127,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-128,0,0,0,-75,-256,0,0, - 0,0,0,-129,0,0,-188,0,0,0, - 0,0,0,-130,0,-191,0,0,0,0, - 0,0,0,0,0,0,0,-131,-101,0, - 0,0,0,-132,0,0,0,0,0,0, - -91,0,0,0,-192,0,0,0,0,0, - 0,0,0,0,-133,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-142, - -193,0,0,0,0,0,0,0,0,0, - -153,-246,0,0,0,0,0,0,-136,0, - 0,0,0,0,0,0,-194,0,0,0, - 0,0,0,0,0,0,0,0,-259,-137, - 0,0,0,0,-102,0,0,0,0,0, - 0,-149,-195,0,0,0,0,0,0,0, - 0,0,0,-175,0,-261,0,0,0,0, - -176,0,0,0,0,0,0,0,-196,0, - 0,0,0,0,0,0,0,0,0,0, - -343,-227,0,0,0,0,-103,0,0,0, - 0,0,0,-138,-197,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -198,0,0,0,0,0,0,0,0,0, - 0,0,-348,0,0,0,0,0,-144,0, - 0,0,0,0,0,-228,-199,0,0,0, - 0,0,0,0,0,0,-135,-160,0,0, - 0,0,0,0,-154,0,0,0,0,0, - 0,0,-200,0,0,0,0,0,0,0, - 0,0,0,-163,-297,0,0,0,0,0, - -156,0,0,0,0,0,0,-326,-201,0, - 0,0,0,0,0,0,0,0,0,-225, - 0,0,0,0,0,0,-164,0,0,0, - 0,0,0,0,-266,0,0,0,0,0, - 0,0,0,0,0,-244,-145,0,0,0, - 0,0,-167,0,0,0,0,0,0,-249, - -271,0,0,0,0,0,0,0,0,0, - 0,-252,-334,0,0,0,0,0,-168,0, - 0,0,0,0,0,-335,-272,0,0,0, - 0,0,0,0,0,0,0,-340,-353,-309, - 0,0,0,0,-169,0,0,0,0,0, - 0,0,-303,0,0,0,0,0,0,0, - 0,0,0,-273,0,0,0,0,0,0, - -170,0,0,0,0,0,0,-311,0,-324, - 0,0,0,0,0,0,0,0,0,-367, - 0,0,0,0,0,-171,0,0,0,0, - 0,0,-322,0,-320,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -181,0,0,0,0,0,0,0,-323,0, - 0,0,0,0,0,0,0,0,0,0, - -321,-147,0,0,0,0,-185,0,0,0, - 0,0,0,0,-336,0,0,0,0,0, - 0,0,0,0,0,-363,0,0,0,0, - 0,0,-223,0,0,0,0,0,0,-349, - 0,-148,0,0,0,0,0,0,0,0, - 0,-150,-152,0,0,0,0,-240,0,0, - 0,0,0,0,-357,0,-155,0,0,0, - 0,0,0,0,-344,0,0,-157,0,0, - 0,0,-242,0,0,0,0,0,0,-364, - 0,-166,0,0,0,0,0,0,0,-177, - 0,0,-178,0,0,0,0,-243,0,0, - 0,0,0,0,-370,0,-184,0,0,0, - 0,0,0,0,-226,0,0,0,0,0, - 0,0,-231,0,0,0,0,0,0,-83, - 0,0,-67,0,-263,0,0,0,0,0, - 0,0,-211,0,-235,0,0,0,0,0, - 0,0,0,-236,0,0,0,0,0,0, - -250,-362,-325,0,-251,-267,0,0,0,0, - 0,0,0,0,-275,-139,0,0,-220,0, - -276,0,0,0,0,0,0,0,-371,0, - 0,-277,0,0,0,0,-278,0,0,0, - 0,0,-270,-279,0,0,0,-280,-281,-313, - 0,-282,-283,0,0,0,0,0,0,0, - 0,-180,0,0,-284,-341,-60,0,0,0, - 0,0,0,0,0,0,0,0,-23,-374, - 0,0,0,-22,-285,0,0,0,-286,-298, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-238,0,0,-300, - 0,-301,0,0,0,-287,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-306,0,0,0,0,0,0,-288, - 0,0,0,-269,0,0,0,0,0,-317, - 0,0,0,0,0,-289,-61,0,0,0, - 0,0,0,0,-316,-290,0,0,0,0, - -291,-292,0,0,0,0,0,0,-115,-319, - 0,0,0,0,0,0,0,0,0,0, - -293,0,-134,-294,0,0,0,0,0,0, - 0,0,-299,0,0,-337,0,0,0,0, - 0,0,0,0,-186,-346,0,-247,-342,0, - 0,0,-354,0,0,0,0,0,-350,-365, - 0,0,0,0,-355,-159,0,0,0,0, - 0,0,-308,0,0,-373,0,0,0,0, + 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,3, + 4,5,6,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,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,1, + 3,6,4,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,4,6,1,0,1,3,1,3,0, + 1,4,5,2,4,2,4,3,3,5, + 3,4,3,1,2,2,2,4,2,1, + 1,2,2,3,2,2,3,1,1,1, + 1,1,1,1,2,5,3,1,-105,0, + -114,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-2,0,0,0, + 0,0,0,-351,-312,0,0,-41,-224,0, + 0,0,-111,-260,0,-7,0,0,0,0, + 0,0,-222,0,-84,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -32,0,0,0,0,-3,-35,-107,0,-58, + 0,0,0,-146,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-5,0,0,-120,0,0, + 0,0,0,0,0,0,0,0,-10,-11, + -253,0,0,0,0,0,0,0,0,0, + 0,0,-221,0,0,0,0,0,0,0, + 0,-62,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,-190,0, + 0,0,0,0,0,0,0,-4,0,0, + 0,-360,0,0,0,0,0,0,0,-42, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-12,0,0,0,0,0,0,0, + 0,0,-109,-112,0,-209,0,0,0,0, + 0,0,0,0,0,-80,0,0,0,0, + 0,0,0,0,0,0,-314,0,0,0, + -33,0,-13,0,0,0,0,0,0,0, + 0,0,0,0,0,-172,0,-295,0,0, + 0,0,0,0,0,0,0,0,0,0, + -24,0,0,0,0,-25,0,0,0,0, + 0,0,-37,-123,0,0,0,0,0,0, + 0,0,-36,-108,0,-345,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -38,-274,0,0,0,0,0,0,0,0, + 0,-257,0,-81,0,0,0,0,0,0, + 0,0,0,-45,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-121,-63, + 0,0,0,0,0,0,0,0,0,0, + 0,-210,0,-9,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-245, + 0,0,-40,-30,-347,0,0,0,0,0, + 0,0,0,0,-47,0,0,0,0,0, + 0,0,-43,0,0,0,0,0,0,-44, + -205,0,0,0,0,0,0,0,0,0, + 0,-54,-361,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -56,0,0,0,0,0,0,-239,-64,0, + 0,0,0,0,0,0,0,0,0,0, + -79,0,0,0,0,0,0,0,0,0, + -49,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-310,-65,0,0,0, + 0,0,0,0,0,0,-241,0,0,0, + 0,0,0,0,0,0,-31,-71,0,0, + 0,0,0,0,-73,0,0,0,0,0, + 0,0,-50,0,0,-119,0,0,0,0, + 0,0,0,0,0,-106,-29,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -74,-151,0,0,0,0,0,0,0,0, + 0,-51,0,0,0,0,0,0,0,-85, + 0,0,0,0,0,0,-182,0,-86,0, + 0,0,0,0,0,0,-90,0,0,-141, + 0,0,0,0,-72,0,0,0,0,0, + 0,-92,-189,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -113,0,0,0,0,0,0,-258,-28,0, + 0,0,0,0,0,0,0,0,-333,0, + -122,0,0,0,0,0,0,0,-143,0, + -87,0,0,0,0,0,0,0,0,0, + 0,0,0,-8,-124,0,0,-265,0,0, + -117,-125,0,0,0,0,0,0,0,0, + 0,-27,0,-126,-89,0,0,-296,0,0, + 0,0,0,0,0,0,0,0,0,0, + -59,0,-183,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-66,0,0,0, + 0,0,0,0,0,-217,0,-127,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-128,0,0,0,-75,-256,0, + 0,0,0,0,-129,0,0,-188,0,0, + 0,0,0,0,-130,0,-191,0,0,0, + 0,0,0,0,0,0,0,0,-131,-101, + 0,0,0,0,-132,0,0,0,0,0, + 0,-91,0,0,0,-192,0,0,0,0, + 0,0,0,0,0,-133,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -142,-193,0,0,0,0,0,0,0,0, + 0,-153,-246,0,0,0,0,0,0,-136, + 0,0,0,0,0,0,0,-194,0,0, + 0,0,0,0,0,0,0,0,0,-259, + -137,0,0,0,0,-102,0,0,0,0, + 0,0,-149,-195,0,0,0,0,0,0, + 0,0,0,0,-175,0,-261,0,0,0, + 0,-176,0,0,0,0,0,0,0,-196, + 0,0,0,0,0,0,0,0,0,0, + 0,-343,-227,0,0,0,0,-103,0,0, + 0,0,0,0,-138,-197,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-198,0,0,0,0,0,0,0,0, + 0,0,0,-348,0,0,0,0,0,-144, + 0,0,0,0,0,0,-228,-199,0,0, + 0,0,0,0,0,0,0,-135,-160,0, + 0,0,0,0,0,-154,0,0,0,0, + 0,0,0,-200,0,0,0,0,0,0, + 0,0,0,0,-163,-297,0,0,0,0, + 0,-156,0,0,0,0,0,0,-326,-201, + 0,0,0,0,0,0,0,0,0,0, + -225,0,0,0,0,0,0,-164,0,0, + 0,0,0,0,0,-266,0,0,0,0, + 0,0,0,0,0,0,-244,-145,0,0, + 0,0,0,-167,0,0,0,0,0,0, + -249,-271,0,0,0,0,0,0,0,0, + 0,0,-252,-334,0,0,0,0,0,-168, + 0,0,0,0,0,0,-335,-272,0,0, + 0,0,0,0,0,0,0,0,-340,-353, + -309,0,0,0,0,-169,0,0,0,0, + 0,0,0,-303,0,0,0,0,0,0, + 0,0,0,0,-273,0,0,0,0,0, + 0,-170,0,0,0,0,0,0,-311,0, + -324,0,0,0,0,0,0,0,0,0, + -367,0,0,0,0,0,-171,0,0,0, + 0,0,0,-322,0,-320,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-181,0,0,0,0,0,0,0,-323, + 0,0,0,0,0,0,0,0,0,0, + 0,-321,-147,0,0,0,0,-185,0,0, + 0,0,0,0,0,-336,0,0,0,0, + 0,0,0,0,0,0,-363,0,0,0, + 0,0,0,-223,0,0,0,0,0,0, + -349,0,-148,0,0,0,0,0,0,0, + 0,0,-150,-152,0,0,0,0,-240,0, + 0,0,0,0,0,-357,0,-155,0,0, + 0,0,0,0,0,-344,0,0,-157,0, + 0,0,0,-242,0,0,0,0,0,0, + -364,0,-166,0,0,0,0,0,0,0, + -177,0,0,-178,0,0,0,0,-243,0, + 0,0,0,0,0,-370,0,-184,0,0, + 0,0,0,0,0,-226,0,0,0,0, + 0,0,0,-231,0,0,0,0,0,0, + -83,0,0,-67,0,-263,0,0,0,0, + 0,0,0,-211,0,-235,0,0,0,0, + 0,0,0,0,-236,0,0,0,0,0, + 0,-250,-362,-325,0,-251,-267,0,0,0, + 0,0,0,0,0,-275,-139,0,0,-220, + 0,-276,0,0,0,0,0,0,0,-371, + 0,0,-277,0,0,0,0,-278,0,0, + 0,0,0,-270,-279,0,0,0,-280,-281, + -313,0,-282,-283,0,0,0,0,0,0, + 0,0,-180,0,0,-284,-341,-60,0,0, + 0,0,0,0,0,0,0,0,0,-23, + -374,0,0,0,-22,-285,0,0,0,-286, + -298,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-238,0,0, + -300,0,-301,0,0,0,-287,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-306,0,0,0,0,0,0, + -288,0,0,0,-269,0,0,0,0,0, + -317,0,0,0,0,0,-289,-61,0,0, + 0,0,0,0,0,-316,-290,0,0,0, + 0,-291,-292,0,0,0,0,0,0,-115, + -319,0,0,0,0,0,0,0,0,0, + 0,-293,0,-134,-294,0,0,0,0,0, + 0,0,0,-299,0,0,-337,0,0,0, + 0,0,0,0,0,-186,-346,0,-247,-342, + 0,0,0,-354,0,0,0,0,0,-350, + -365,0,0,0,0,-355,-159,0,0,0, + 0,0,0,-308,0,0,-373,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-76,0,0,0,0,0,0,0,0, + 0,0,-76,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-161,0,0,0,0,0,0,0,0, - -165,0,0,0,0,0,0,0,0,0, - 0,-218,0,0,0,0,0,0,0,0, + 0,0,-161,0,0,0,0,0,0,0, + 0,-165,0,0,0,0,0,0,0,0, + 0,0,-218,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-254,0,0, + 0,0,0,0,0,0,0,0,-254,0, 0,0,0,0,0,0,0,0,0,0, - 0,-264,0,0,0,0,0,0,0,0, + 0,0,-264,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-46,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-356,0,0, + 0,0,-46,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-356,0, 0,0,0,0,0,0,0,0,0,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,-68,0,0,0,0,0, - 0,0,0,0,0,0,0,-219,0,0, - 0,0,0,0,0,0,0,0,0,-248, - 0,0,0,0,0,-93,0,0,0,0, - 0,0,-338,0,0,0,0,0,0,-104, - 0,0,0,0,0,0,0,-34,0,0, + 0,0,0,0,0,0,-187,0,0,0, + 0,0,0,0,0,-68,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,-95,0,0,0,0,0,0,0,0, - 0,0,-110,0,0,-82,0,0,0,0, + -248,0,0,0,0,0,-93,0,0,0, + 0,0,0,-338,0,0,0,0,0,0, + -104,0,0,0,0,0,0,0,-34,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-95,0,0,0,0,0,0,0, + 0,0,0,-110,0,0,-82,0,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,-94,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-332,-70,0,0,0,0,0,0, - 0,0,0,0,0,0,-234,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-332,-70,0,0,0,0,0, + 0,0,0,0,0,0,0,-234,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-237,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-302,0,0,-48,0,0,0, - -304,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-237,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -318,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-302,0,0,-48,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,-315,-230,0,0,0, - -328,0,0,0,0,0,0,0,0,-206, + 0,-318,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,-230,0,0, + 0,-328,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,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-330,0,0, - 0,0,0,0,-331,0,0,0,0,0, - 0,-202,0,0,0,0,0,0,0,0, - 0,0,0,0,-368,0,0,0,0,0, - 0,-372,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-330,0, + 0,0,0,0,0,-331,0,0,0,0, + 0,0,-202,0,0,0,0,0,0,0, + 0,0,0,0,0,-368,0,0,0,0, + 0,0,-372,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,-1,0, + 0,0,-375,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,0,0,0,0,-262,0,0,0, + 0,0,0,0,0,0,0,-262,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-207,0,-14,0,0,0,0,0, + 0,0,0,-207,0,-14,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-15,0,0,0,0,0,0,0, - -16,0,0,0,0,0,0,0,0,0, + 0,0,0,-15,0,0,0,0,0,0, + 0,-16,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-19,0,0,0, - 0,0,0,0,-21,0,0,0,0,0, - -26,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-19,0,0, + 0,0,0,0,0,-21,0,0,0,0, + 0,-26,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-140,0,0,-52,0,0,0,0,0, + 0,0,-140,0,0,-52,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-212,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,-213,0,0,0,0,0, + 0,0,0,0,0,-213,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -214,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,-232,-174,0,0, - 0,0,-216,0,0,0,0,0,0,0, - 0,0,-53,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-6,0,0,-208, - 0,-20,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,-215,0,0, + 0,0,0,0,0,0,0,-232,-174,0, + 0,0,0,-216,0,0,0,0,0,0, + 0,0,0,-53,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-6,0,0, + -208,0,-20,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-96,0,0,0,0,0,-39,0,0, - -307,-57,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-97,0,0, + 0,0,-96,0,0,0,0,0,-39,0, + 0,-307,-57,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-97,0, 0,0,0,0,0,0,0,0,0,0, - 0,-233,0,0,0,0,0,0,0,0, - -55,-98,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-99,0,0, + 0,0,-233,0,0,0,0,0,0,0, + 0,-55,-98,0,0,0,0,0,0,0, + 0,0,0,0,0,0,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,0,0,-100,0,0,0,0,0,0, - -173,0,0,-327,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-229, + 0,0,0,0,-100,0,0,0,0,0, + 0,-173,0,0,-327,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, + -229,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-203,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-268,-352,0,0,0,0,0,0, - -255,-204,0,0,0,0,0,0,0,0, + 0,0,0,-268,-352,0,0,0,0,0, + 0,-255,-204,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-305,0, - 0,0,-17,0,0,0,-77,0,0,0, + 0,0,0,0,0,0,0,0,0,-305, + 0,0,0,-17,0,0,0,-77,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-18,-366,0, + 0,0,0,0,0,0,0,0,-18,-366, 0,0,0,0,0,0,0,0,0,0, - 0,-69,0,0,0,0,0,0,0,0, - 0,0,-88,0,0,-329,-162,0,0,0, + 0,0,-69,0,0,0,0,0,0,0, + 0,0,0,-88,0,0,-329,-162,0,0, 0,0,0,0,0,0,0,0,0,0, - -179,0,0,0,0,0,0,0,-78,0, - 0,0,0,0,-339,0,0,0,0,0, + 0,-179,0,0,0,0,0,0,0,-78, + 0,0,0,0,0,-339,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-358,0,0,0,-118,0,0,0, + 0,0,0,-358,0,0,0,-118,0,0, 0,0,0,0,0,0,0,0,0,0, - -158,0,0,0,-359,0,0,0,-369,0, + 0,-158,0,0,0,-359,0,0,0,-369, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,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; @@ -379,333 +379,334 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym 123,123,104,104,62,39,39,39,39,39, 39,39,40,40,40,30,30,105,105,77, 77,41,41,42,42,42,71,71,43,43, - 43,43,44,44,44,44,44,60,60,29, - 29,29,29,29,54,54,54,95,95,90, - 90,90,90,91,91,91,92,92,92,93, - 93,93,94,94,94,89,89,82,82,83, - 55,57,57,57,57,57,72,74,74,74, - 74,74,74,74,74,74,74,74,74,81, - 78,78,124,125,84,84,79,79,79,96, - 106,106,107,107,97,97,97,58,126,126, - 108,98,98,98,80,80,127,109,109,110, - 110,99,99,32,33,33,33,56,52,52, - 45,45,45,45,34,34,35,46,46,47, - 36,36,100,100,48,129,129,128,128,59, - 59,59,59,59,59,59,59,59,111,63, - 63,63,63,37,85,85,75,75,75,76, - 76,65,65,130,130,64,64,86,86,86, - 66,66,66,67,68,68,68,69,69,69, - 69,73,73,50,50,51,132,131,131,131, - 131,112,133,134,134,135,135,136,136,121, - 121,137,137,113,113,113,113,138,138,114, - 114,114,70,115,115,10,10,10,27,27, - 11,11,139,139,116,116,116,117,117,140, - 140,118,118,12,12,141,141,119,119,119, - 119,13,61,142,142,143,143,120,120,120, - 101,101,101,7,7,7,7,16,16,24, - 4,40,144,102,102,102,87,87,29,60, - 54,83,83,83,108,108,108,127,124,125, - 37,96,135,135,145,146,112,77,329,1713, - 247,17,21,18,897,1030,45,1054,370,315, - 316,317,1073,1061,1133,1117,403,1154,1144,1174, - 1168,1195,75,2102,961,1781,92,734,2014,1750, - 135,213,115,1679,20,612,17,21,18,897, - 43,44,1871,20,755,17,21,18,897,43, - 45,1054,137,134,136,160,1073,1061,1133,1117, - 1220,1154,1144,1174,1971,37,339,961,31,1971, - 139,2292,166,730,1663,966,143,146,149,152, - 313,284,2653,28,1229,363,128,231,498,2635, - 2661,2687,2695,1071,1456,179,1864,823,87,111, - 2701,348,1710,96,370,315,316,317,651,712, - 1542,1262,1743,95,97,98,99,100,370,315, - 316,317,1163,210,966,228,135,213,655,224, - 232,1871,20,940,17,21,18,897,43,40, - 135,213,254,213,1521,179,241,88,137,134, - 136,160,346,1952,370,315,316,317,1830,294, - 322,1677,142,134,136,160,139,419,166,1053, - 25,169,143,146,149,152,135,213,2653,1440, - 141,363,166,1385,498,2635,2661,2687,2695,1071, - 255,213,800,127,753,616,2701,321,137,134, - 136,160,2112,635,966,1871,20,425,17,21, - 18,897,43,45,1054,1971,139,1973,166,1073, - 1061,1824,143,146,149,152,1926,90,2653,342, - 1288,363,851,231,498,2635,2661,2687,2695,1071, - 318,315,316,317,1951,1676,2701,1703,20,1783, - 17,21,18,897,1030,45,1054,3067,255,213, - 1013,1073,1061,1133,1117,1061,1154,1144,1174,1168, - 1195,75,443,1610,20,281,17,21,18,897, - 43,36,927,961,31,1586,20,1783,17,21, - 18,897,1030,45,1054,28,1229,282,1229,1073, - 1061,1133,1117,283,1154,1144,1174,1168,1195,75, - 364,1610,20,281,17,21,18,897,43,36, - 287,2113,246,1643,20,1591,17,21,18,897, - 1030,45,1054,500,3113,282,1229,1073,1061,1133, - 1117,227,1154,1144,1174,1168,1195,75,1542,1871, - 20,281,17,21,18,897,43,39,289,288, - 247,1871,20,499,17,21,18,897,43,45, - 1054,28,1229,282,1229,1073,1061,1828,1550,2014, - 254,213,1337,499,1727,20,24,17,21,18, - 897,1030,45,1054,961,187,158,290,1073,1061, - 1133,1117,1500,1154,1144,1174,1168,1195,75,181, - 1871,20,281,17,21,18,897,43,45,1054, - 334,396,1751,20,1795,17,21,18,897,1030, - 45,1054,180,548,282,1229,1073,1061,1133,1117, - 1082,1154,1144,1174,1168,1195,75,755,1871,20, - 281,17,21,18,897,43,38,386,225,992, - 435,20,738,17,21,18,897,1030,45,1054, - 961,186,282,1229,1073,1061,1133,1117,310,1154, - 1144,1174,1168,1195,75,2014,1871,20,487,17, - 21,18,897,43,37,291,1967,20,312,17, - 21,18,897,1030,45,1054,49,2036,1137,239, - 1073,1061,1133,1117,1089,1154,1144,1174,1168,1195, - 75,335,1289,976,331,1919,20,2216,17,21, - 18,897,1030,45,1054,734,115,1842,204,1073, - 1061,1133,1117,959,1154,1144,1174,1168,1195,75, - 363,1871,20,1147,17,21,18,897,43,45, - 1054,961,188,323,1677,1073,1061,1133,1117,1500, - 1154,1144,1174,1168,1195,94,1871,20,1149,17, - 21,18,897,1030,45,1054,1522,333,105,635, - 1073,1061,1133,1117,1614,1154,1144,1174,1168,1195, - 75,418,533,20,92,17,21,18,897,1030, - 45,1054,593,1774,329,124,1073,1061,1133,1117, - 1339,1154,1144,1174,1168,1195,75,2131,1775,20, - 1534,17,21,18,897,366,1913,940,1967,20, - 426,17,21,18,897,1030,45,1054,961,1366, - 1082,240,1073,1061,1133,1117,345,1154,1144,1174, - 1168,1195,75,413,1779,2878,331,1971,341,2451, - 419,36,1995,318,315,316,317,28,1229,984, - 1710,1521,179,868,49,278,2016,920,336,966, - 2278,370,315,316,317,1765,127,672,224,772, - 1799,20,823,17,21,18,897,355,218,456, - 221,700,88,135,213,620,1871,20,116,17, - 21,18,897,43,36,1871,20,416,17,21, - 18,897,43,45,1054,138,134,136,160,1073, - 1061,1133,1117,798,1896,155,662,537,916,534, - 534,22,450,140,325,166,330,823,1418,144, - 147,150,153,773,1478,2653,1871,20,364,17, - 21,18,897,1030,45,1054,1060,2091,355,1082, - 1073,1061,1133,1117,1116,1154,1144,1174,1168,1195, - 75,49,896,2082,86,1871,20,360,17,21, - 18,897,1030,45,1054,1037,243,307,369,1073, - 1061,1133,1117,260,1154,1144,1174,1168,1195,75, - 635,1871,20,85,17,21,18,897,1030,45, - 1054,419,419,1887,2023,1073,1061,1133,1117,1524, - 1154,1144,1174,1168,1195,75,123,1871,20,84, - 17,21,18,897,1030,45,1054,127,195,2149, - 2035,1073,1061,1133,1117,1082,1154,1144,1174,1168, - 1195,75,635,1871,20,83,17,21,18,897, - 1030,45,1054,635,804,1959,2152,1073,1061,1133, - 1117,1992,1154,1144,1174,1168,1195,75,112,1871, - 20,82,17,21,18,897,1030,45,1054,28, - 1229,601,635,1073,1061,1133,1117,1082,1154,1144, - 1174,1168,1195,75,1547,1871,20,81,17,21, - 18,897,1030,45,1054,19,28,1229,126,1073, - 1061,1133,1117,275,1154,1144,1174,1168,1195,75, - 276,1871,20,80,17,21,18,897,1030,45, - 1054,28,1229,961,296,1073,1061,1133,1117,1251, - 1154,1144,1174,1168,1195,75,635,1871,20,79, - 17,21,18,897,1030,45,1054,49,49,418, - 2250,1073,1061,1133,1117,2050,1154,1144,1174,1168, - 1195,75,122,1871,20,78,17,21,18,897, - 1030,45,1054,1668,1782,635,500,1073,1061,1133, - 1117,1112,1154,1144,1174,1168,1195,75,635,1871, - 20,77,17,21,18,897,1030,45,1054,338, - 49,2974,637,1073,1061,1133,1117,1082,1154,1144, - 1174,1168,1195,75,3024,1871,20,76,17,21, - 18,897,1030,45,1054,230,49,1271,2881,1073, - 1061,1133,1117,1082,1154,1144,1174,1168,1195,75, - 1300,1871,20,93,17,21,18,897,1030,45, - 1054,711,1878,2014,1830,1073,1061,1133,1117,1082, - 1154,1144,1174,1168,1195,75,1364,1871,20,1575, - 17,21,18,897,1030,45,1054,1017,2014,635, - 1300,1073,1061,1133,1117,1082,1154,1144,1174,1168, - 1195,75,194,1871,20,1611,17,21,18,897, - 43,45,1054,1249,823,3089,181,1073,1061,1133, - 1117,1082,1154,1144,1174,1168,1195,94,1871,20, - 1682,17,21,18,897,43,45,1054,875,423, - 635,205,1073,1061,1133,1117,1082,1154,1144,1174, - 1168,1195,94,1871,20,823,17,21,18,897, - 1030,45,1054,242,1276,362,118,1073,1061,1133, - 1117,1082,1154,1144,1174,1168,1195,75,1508,1871, - 20,359,17,21,18,897,1030,45,1054,23, - 212,823,1415,1073,1061,1133,1117,1082,1154,1144, - 1174,1168,1195,75,244,1871,20,74,17,21, - 18,897,43,45,1054,351,961,298,1685,1073, - 1061,1133,1117,2091,1154,1144,1174,1168,1195,94, - 1871,20,1543,17,21,18,897,43,45,1054, - 245,234,677,1058,1073,1061,1133,1117,1082,1154, - 1144,1174,1168,1195,94,1871,20,1646,17,21, - 18,897,43,45,1054,2014,320,202,1673,1073, - 1061,1133,1117,1082,1154,1144,1174,1168,1195,94, - 1871,20,848,17,21,18,897,43,45,1054, - 1128,340,1782,789,1073,1061,1133,1117,1082,1154, - 1144,1174,1168,1195,94,1871,20,1243,17,21, - 18,897,43,45,1054,67,339,203,561,1073, - 1061,1133,1117,569,1154,1144,1174,1168,1195,94, - 199,1663,388,1871,20,1082,17,21,18,897, - 43,35,1809,1871,20,1504,17,21,18,897, - 43,45,1054,273,1078,87,111,1073,1829,1221, - 96,1639,1172,2070,2009,1396,951,1860,1262,109, - 95,97,98,99,100,1030,1,1663,388,1871, - 20,1192,17,21,18,897,43,45,1054,823, - 110,369,1827,1073,1061,1133,1117,1875,1154,1946, - 387,87,111,1082,960,1221,96,107,1122,168, - 1542,295,299,1527,1262,109,95,97,98,99, - 100,352,264,1663,388,1668,2095,1823,20,314, - 17,21,18,897,353,1796,110,369,297,685, - 823,2882,254,213,1240,2090,387,87,111,2097, - 1082,1221,96,108,318,315,316,317,255,213, - 1262,109,95,97,98,99,100,413,2481,3059, - 1082,2921,1082,672,224,229,1568,318,315,316, - 317,811,110,369,218,456,221,223,2528,385, - 2535,830,387,2096,2278,1846,1996,413,293,107, - 2101,672,224,772,133,1663,388,2833,774,383, - 1082,325,218,456,221,223,1923,1847,20,620, - 17,21,18,897,41,1634,2054,1924,279,87, - 111,2109,2124,1221,96,318,315,316,317,784, - 1082,534,1262,109,95,97,98,99,100,155, - 662,2111,2921,1393,1385,534,450,106,1301,672, - 224,229,991,1710,110,369,2135,773,1060,311, - 219,456,221,223,387,413,1758,2882,940,1082, - 534,108,2091,1082,274,318,315,316,317,2154, - 1082,269,1281,1274,272,662,778,280,534,308, - 369,1560,2278,1670,3388,2882,1082,197,2562,672, - 224,229,3388,318,315,316,317,3388,259,3388, - 218,456,221,223,2582,197,3388,620,1437,1702, - 2263,3388,413,3388,2882,3388,1222,672,224,229, - 3388,3388,318,315,316,317,3388,3388,218,456, - 221,223,3388,3388,1222,1986,3388,155,662,2278, - 3388,3388,1477,1781,450,3388,672,224,229,3388, - 3388,2010,3388,3031,3388,193,3388,218,456,221, - 223,1643,1871,20,620,17,21,18,897,43, - 45,1054,3388,192,3388,3388,1073,1061,1133,1920, - 3388,3145,769,1998,3388,672,224,229,1436,3388, - 2476,198,3388,3388,156,662,218,456,221,223, - 3388,3388,1996,263,534,3388,277,3388,3388,1496, - 274,3388,318,315,316,317,3388,267,1281,1274, - 272,3388,672,224,229,3388,3388,3388,3388,2921, - 3388,2091,1336,218,456,221,223,264,3388,811, - 830,209,319,315,316,317,3388,274,2055,3388, - 2882,1470,1785,3388,267,1281,1274,272,318,315, - 316,317,3388,3388,3388,2617,3388,259,3388,3388, - 3388,3388,3388,3388,1755,2263,1542,1930,1702,3388, - 3388,261,672,224,229,1895,20,3388,17,21, - 18,897,34,218,456,221,223,3388,1871,20, - 1986,17,21,18,897,43,45,1054,254,213, - 1477,1781,1073,1061,1133,1117,2080,1154,1144,1936, - 3388,3388,3388,1670,3388,2882,318,315,316,317, - 398,3388,2971,319,315,316,317,3388,413,3388, - 2882,3388,3388,2921,3388,3388,3145,3388,319,315, - 316,317,657,1404,534,3388,199,672,224,229, - 3388,548,3388,49,3388,966,758,3388,218,456, - 221,223,672,224,229,1986,318,315,316,317, - 3388,2091,3388,218,456,221,223,1471,88,274, - 3139,3388,3388,2921,1092,758,267,1281,1274,272, - 672,224,1314,991,3388,318,315,316,317,209, - 3388,219,456,221,1250,3388,266,259,3388,1510, - 1785,3163,2921,758,1459,3388,388,1437,1702,672, - 224,229,991,318,315,316,317,844,1663,966, - 219,456,221,223,3388,3388,3388,3388,3388,88, - 2921,3388,3388,197,1169,1307,3388,672,224,1314, - 991,3388,87,111,892,1663,966,96,219,456, - 221,223,3388,3388,3388,1262,104,95,97,98, - 99,100,2270,3388,1006,1663,966,1384,1255,87, - 111,1054,1663,966,96,3388,3388,319,315,316, - 317,3388,1262,102,95,97,98,99,100,87, - 111,657,3388,534,96,3388,87,111,3388,3388, - 3388,96,1262,361,95,97,98,99,100,1262, - 103,95,97,98,99,100,2060,49,534,966, - 2091,1168,1663,966,3388,3388,318,315,316,317, - 1871,20,3388,17,21,18,897,43,45,1054, - 3388,3388,88,2921,1801,2091,87,111,1870,3388, - 3388,96,3388,811,3388,3388,259,3388,3388,1262, - 119,95,97,98,99,100,1999,1702,1216,1663, - 966,3388,3388,3388,3388,1264,1663,966,3388,1945, - 3388,259,1871,20,3388,17,21,18,897,43, - 48,1930,1702,87,111,1312,1663,966,96,3388, - 87,111,1360,1663,966,96,1262,115,95,97, - 98,99,100,1262,2015,95,97,98,99,100, - 87,111,1408,1663,966,96,3388,87,111,590, - 3388,484,96,1262,114,95,97,98,99,100, - 1262,121,95,97,98,99,100,87,111,3388, - 3388,3388,96,3388,3388,305,3388,369,557,3388, - 1262,120,95,97,98,99,100,318,315,316, - 317,3388,3388,1871,20,1113,17,21,18,897, - 43,45,1812,3388,2921,370,315,316,317,304, - 369,3388,3388,656,991,3388,3388,3388,3388,309, - 3388,1466,3388,318,315,316,317,135,213,3388, - 3388,370,315,316,317,3388,274,3388,3388,3388, - 2172,3388,3388,269,1281,1274,272,1531,3388,145, - 134,136,160,135,213,1991,3388,370,315,316, - 317,2001,301,303,3388,370,315,316,317,3388, - 406,370,315,316,317,148,134,136,160,135, - 213,3388,419,3388,966,1079,2847,135,213,3388, - 3388,3388,3388,135,213,319,315,316,317,3388, - 3388,151,134,136,160,3388,3388,88,125,154, - 134,136,160,1302,3388,365,134,136,160,1871, - 20,3388,17,21,18,897,43,45,1054,3388, - 3388,3388,3388,1073,1832,1871,20,723,17,21, - 18,897,43,45,1054,3388,3388,3388,3388,1073, - 1833,1871,20,3388,17,21,18,897,43,45, - 1054,3388,3388,3388,3388,1073,1845,1871,20,3388, - 17,21,18,897,43,45,1054,49,1432,966, - 2142,1073,1865,1871,20,3388,17,21,18,897, - 43,45,1054,758,3388,3388,277,1073,1869,3388, - 3388,3388,88,318,315,316,317,665,1890,484, - 1871,20,917,17,21,18,897,43,45,1817, - 2921,3388,318,315,316,317,3388,655,224,233, - 991,3388,1459,305,388,3388,557,274,1240,2725, - 3388,1102,1240,534,267,1281,1274,272,318,315, - 316,317,318,315,316,317,3388,88,1459,3388, - 388,197,1169,1307,1755,2921,3388,304,369,2921, - 197,3388,49,3388,966,811,3388,309,3388,811, - 3388,1533,1459,88,388,3388,3388,197,1169,1307, - 2270,319,315,316,317,3388,1463,88,1459,1222, - 388,2306,3388,1892,3388,2335,3388,88,951,3388, - 3388,197,1169,1307,3388,3388,2270,3388,3388,3388, - 302,303,1489,88,1459,3388,388,197,1169,1307, - 3388,1240,3388,3388,920,3388,966,3388,192,912, - 2270,318,315,316,317,3388,1515,1483,1998,88, - 1316,3388,388,197,1169,1307,2270,3388,2921,88, - 3388,3388,1541,3388,3388,116,1871,20,811,17, - 21,18,897,43,47,88,3388,3388,3388,1060, - 3388,116,2270,1459,920,388,966,3388,1566,3388, - 3388,1240,1871,20,2617,17,21,18,897,43, - 46,318,315,316,317,1509,3388,3388,88,88, - 1077,369,197,1169,1307,116,3388,3388,2921,1240, - 3388,1405,3388,423,3388,3388,3388,2040,811,318, - 315,316,317,318,315,316,317,319,315,316, - 317,2270,3388,3388,3388,3388,2921,1960,524,920, - 2427,966,3388,3388,1945,2010,811,3388,318,315, - 316,317,1895,20,3388,17,21,18,897,33, - 3388,3388,3388,2074,88,2427,49,2080,966,3388, - 116,3388,2363,318,315,316,317,318,315,316, - 317,1943,20,3388,17,21,18,897,1786,2069, - 3181,88,3388,3388,2921,2110,3388,2003,3388,318, - 315,316,317,3388,1482,318,315,316,317,784, - 2026,3388,3388,2126,3388,3388,3167,2085,3388,3388, - 3388,3388,3185,318,315,316,317,319,315,316, - 317,2100,3388,3388,860,2138,3388,3388,3388,2143, - 3189,319,315,316,317,319,315,316,317,319, - 315,316,317,3388,3388,3388,3388,3388,3388,3388, - 3388,3388,3388,3388,3388,3388,3388,3388,3388,3388, - 3388,3388,3388,3388,3388,3388,3388,3388,3388,3388, - 3388,3388,3388,3388,3388,3388,3388,3388,1688,3388, - 0,1,455,0,1,499,0,1,582,0, - 1,622,0,499,129,0,582,129,0,622, - 129,0,499,130,0,582,130,0,622,130, - 0,499,131,0,582,131,0,622,131,0, - 622,185,0,582,185,0,499,185,0,185, - 189,0,622,184,0,582,184,0,499,184, - 0,184,189,0,499,132,0,582,132,0, - 622,132,0,499,133,0,582,133,0,622, - 133,0,11,226,0,499,368,0,582,368, - 0,622,368,0,223,235,0,3396,1,0, - 622,380,0,582,380,0,499,380,0,592, - 32,0,2303,32,0,622,253,0,582,253, - 0,499,253,0,1,3625,0,223,236,0, - 179,20,0,8,10,0,1,3614,0,366, - 355,0,367,356,0,113,2555,0 + 43,43,43,44,44,44,44,44,60,60, + 29,29,29,29,29,54,54,54,95,95, + 90,90,90,90,91,91,91,92,92,92, + 93,93,93,94,94,94,89,89,82,82, + 83,55,57,57,57,57,57,72,74,74, + 74,74,74,74,74,74,74,74,74,74, + 81,78,78,124,125,84,84,79,79,79, + 96,106,106,107,107,97,97,97,58,126, + 126,108,98,98,98,80,80,127,109,109, + 110,110,99,99,32,33,33,33,56,52, + 52,45,45,45,45,34,34,35,46,46, + 47,36,36,100,100,48,129,129,128,128, + 59,59,59,59,59,59,59,59,59,111, + 63,63,63,63,37,85,85,75,75,75, + 76,76,65,65,130,130,64,64,86,86, + 86,66,66,66,67,68,68,68,69,69, + 69,69,73,73,50,50,51,132,131,131, + 131,131,112,133,134,134,135,135,136,136, + 121,121,137,137,113,113,113,113,138,138, + 114,114,114,70,115,115,10,10,10,27, + 27,11,11,139,139,116,116,116,117,117, + 140,140,118,118,12,12,141,141,119,119, + 119,119,13,61,142,142,143,143,120,120, + 120,101,101,101,7,7,7,7,16,16, + 24,4,40,144,102,102,102,87,87,29, + 60,54,83,83,83,108,108,108,127,124, + 125,37,96,135,135,145,146,112,77,329, + 1714,247,17,21,18,898,1031,45,1055,371, + 316,317,318,1074,1062,1134,1118,403,1155,1145, + 1175,1169,1196,75,2102,961,1782,92,734,2014, + 1751,136,214,115,1679,20,612,17,21,18, + 898,43,44,1871,20,755,17,21,18,898, + 43,45,1055,138,135,137,161,1074,1062,1134, + 1118,1220,1155,1145,1175,1972,37,339,961,31, + 1971,140,2293,167,730,1664,967,144,147,150, + 153,314,285,2654,28,1230,364,129,232,499, + 2636,2662,2688,2696,1072,1456,180,1865,823,87, + 111,2702,349,1711,96,371,316,317,318,651, + 712,1542,1263,1744,95,97,98,99,100,371, + 316,317,318,1163,211,967,229,136,214,656, + 225,233,1871,20,941,17,21,18,898,43, + 40,136,214,255,214,1521,180,242,88,138, + 135,137,161,347,1953,371,316,317,318,1830, + 295,323,1678,143,135,137,161,140,419,167, + 1054,25,169,144,147,150,153,136,214,2654, + 1440,142,364,167,1386,499,2636,2662,2688,2696, + 1072,256,214,800,128,754,617,2702,322,138, + 135,137,161,2112,635,967,1871,20,426,17, + 21,18,898,43,45,1055,1971,140,1974,167, + 1074,1062,1825,144,147,150,153,1926,90,2654, + 343,1288,364,851,232,499,2636,2662,2688,2696, + 1072,319,316,317,318,1952,1676,2702,1703,20, + 1784,17,21,18,898,1031,45,1055,3068,256, + 214,1013,1074,1062,1134,1118,1061,1155,1145,1175, + 1169,1196,75,443,1610,20,282,17,21,18, + 898,43,36,927,961,31,1586,20,1784,17, + 21,18,898,1031,45,1055,28,1230,283,1230, + 1074,1062,1134,1118,284,1155,1145,1175,1169,1196, + 75,364,1610,20,282,17,21,18,898,43, + 36,288,2113,247,1643,20,1592,17,21,18, + 898,1031,45,1055,500,3114,283,1230,1074,1062, + 1134,1118,228,1155,1145,1175,1169,1196,75,1542, + 1871,20,282,17,21,18,898,43,39,290, + 289,248,1871,20,499,17,21,18,898,43, + 45,1055,28,1230,283,1230,1074,1062,1829,1551, + 2014,255,214,1337,499,1727,20,24,17,21, + 18,898,1031,45,1055,961,188,159,291,1074, + 1062,1134,1118,1500,1155,1145,1175,1169,1196,75, + 181,1871,20,282,17,21,18,898,43,45, + 1055,335,396,1751,20,1796,17,21,18,898, + 1031,45,1055,181,549,283,1230,1074,1062,1134, + 1118,1082,1155,1145,1175,1169,1196,75,755,1871, + 20,282,17,21,18,898,43,38,387,226, + 993,435,20,739,17,21,18,898,1031,45, + 1055,961,187,283,1230,1074,1062,1134,1118,311, + 1155,1145,1175,1169,1196,75,2014,1871,20,488, + 17,21,18,898,43,37,292,1967,20,313, + 17,21,18,898,1031,45,1055,49,2036,1138, + 240,1074,1062,1134,1118,1089,1155,1145,1175,1169, + 1196,75,336,1289,977,332,1919,20,2217,17, + 21,18,898,1031,45,1055,734,115,1843,205, + 1074,1062,1134,1118,960,1155,1145,1175,1169,1196, + 75,363,1871,20,1148,17,21,18,898,43, + 45,1055,961,189,324,1678,1074,1062,1134,1118, + 1500,1155,1145,1175,1169,1196,94,1871,20,1149, + 17,21,18,898,1031,45,1055,1522,334,105, + 635,1074,1062,1134,1118,1614,1155,1145,1175,1169, + 1196,75,418,533,20,92,17,21,18,898, + 1031,45,1055,594,1775,330,125,1074,1062,1134, + 1118,1339,1155,1145,1175,1169,1196,75,2131,1775, + 20,1535,17,21,18,898,367,1914,941,1967, + 20,426,17,21,18,898,1031,45,1055,961, + 1367,1082,241,1074,1062,1134,1118,346,1155,1145, + 1175,1169,1196,75,413,1779,2879,332,1971,342, + 2452,419,36,1996,319,316,317,318,28,1230, + 985,1711,1521,180,868,49,279,2017,920,337, + 967,2279,371,316,317,318,1766,128,673,225, + 773,1799,20,823,17,21,18,898,356,219, + 457,222,701,88,136,214,621,1871,20,116, + 17,21,18,898,43,36,1871,20,416,17, + 21,18,898,43,45,1055,139,135,137,161, + 1074,1062,1134,1118,798,1897,156,663,537,916, + 535,535,22,451,141,325,167,331,823,1419, + 145,148,151,154,774,1478,2654,1871,20,365, + 17,21,18,898,1031,45,1055,1061,2092,355, + 1082,1074,1062,1134,1118,1116,1155,1145,1175,1169, + 1196,75,49,897,2083,86,1871,20,361,17, + 21,18,898,1031,45,1055,1037,244,308,370, + 1074,1062,1134,1118,261,1155,1145,1175,1169,1196, + 75,635,1871,20,85,17,21,18,898,1031, + 45,1055,419,419,1888,2024,1074,1062,1134,1118, + 1524,1155,1145,1175,1169,1196,75,124,1871,20, + 84,17,21,18,898,1031,45,1055,128,196, + 2149,2035,1074,1062,1134,1118,1082,1155,1145,1175, + 1169,1196,75,635,1871,20,83,17,21,18, + 898,1031,45,1055,636,804,1960,2152,1074,1062, + 1134,1118,1992,1155,1145,1175,1169,1196,75,112, + 1871,20,82,17,21,18,898,1031,45,1055, + 28,1230,601,635,1074,1062,1134,1118,1082,1155, + 1145,1175,1169,1196,75,1547,1871,20,81,17, + 21,18,898,1031,45,1055,19,28,1230,127, + 1074,1062,1134,1118,276,1155,1145,1175,1169,1196, + 75,277,1871,20,80,17,21,18,898,1031, + 45,1055,28,1230,961,297,1074,1062,1134,1118, + 1251,1155,1145,1175,1169,1196,75,635,1871,20, + 79,17,21,18,898,1031,45,1055,49,49, + 419,2251,1074,1062,1134,1118,2050,1155,1145,1175, + 1169,1196,75,123,1871,20,78,17,21,18, + 898,1031,45,1055,1669,1782,635,501,1074,1062, + 1134,1118,1112,1155,1145,1175,1169,1196,75,635, + 1871,20,77,17,21,18,898,1031,45,1055, + 339,49,2975,638,1074,1062,1134,1118,1082,1155, + 1145,1175,1169,1196,75,3025,1871,20,76,17, + 21,18,898,1031,45,1055,231,49,1271,2882, + 1074,1062,1134,1118,1082,1155,1145,1175,1169,1196, + 75,1300,1871,20,93,17,21,18,898,1031, + 45,1055,712,1878,2014,1831,1074,1062,1134,1118, + 1082,1155,1145,1175,1169,1196,75,1364,1871,20, + 1576,17,21,18,898,1031,45,1055,1018,2014, + 635,1300,1074,1062,1134,1118,1082,1155,1145,1175, + 1169,1196,75,195,1871,20,1612,17,21,18, + 898,43,45,1055,1250,823,3090,182,1074,1062, + 1134,1118,1082,1155,1145,1175,1169,1196,94,1871, + 20,1682,17,21,18,898,43,45,1055,876, + 424,635,206,1074,1062,1134,1118,1082,1155,1145, + 1175,1169,1196,94,1871,20,823,17,21,18, + 898,1031,45,1055,243,1277,363,118,1074,1062, + 1134,1118,1082,1155,1145,1175,1169,1196,75,1509, + 1871,20,360,17,21,18,898,1031,45,1055, + 23,213,823,1415,1074,1062,1134,1118,1082,1155, + 1145,1175,1169,1196,75,245,1871,20,74,17, + 21,18,898,43,45,1055,352,961,299,1686, + 1074,1062,1134,1118,2091,1155,1145,1175,1169,1196, + 94,1871,20,1543,17,21,18,898,43,45, + 1055,246,235,677,1058,1074,1062,1134,1118,1082, + 1155,1145,1175,1169,1196,94,1871,20,1646,17, + 21,18,898,43,45,1055,2014,321,203,1673, + 1074,1062,1134,1118,1082,1155,1145,1175,1169,1196, + 94,1871,20,848,17,21,18,898,43,45, + 1055,1128,341,1783,789,1074,1062,1134,1118,1082, + 1155,1145,1175,1169,1196,94,1871,20,1243,17, + 21,18,898,43,45,1055,67,340,204,562, + 1074,1062,1134,1118,569,1155,1145,1175,1169,1196, + 94,199,1664,389,1871,20,1082,17,21,18, + 898,43,35,1810,1871,20,1504,17,21,18, + 898,43,45,1055,274,1078,87,111,1074,1830, + 1222,96,1639,1172,2070,2010,1396,951,1861,1263, + 109,95,97,98,99,100,1030,1,1664,389, + 1871,20,1192,17,21,18,898,43,45,1055, + 823,110,370,1827,1074,1062,1134,1118,1875,1155, + 1947,388,87,111,1082,960,1222,96,107,1122, + 168,1542,296,299,1527,1263,109,95,97,98, + 99,100,353,264,1664,389,1668,2095,1823,20, + 315,17,21,18,898,354,1797,110,370,298, + 685,823,2883,255,214,1240,2090,388,87,111, + 2097,1082,1222,96,108,319,316,317,318,256, + 214,1263,109,95,97,98,99,100,413,2482, + 3060,1082,2922,1082,673,225,230,1568,319,316, + 317,318,812,110,370,219,457,222,224,2529, + 386,2536,831,388,2096,2279,1847,1997,414,294, + 107,2101,673,225,773,133,1664,389,2834,775, + 384,1082,326,219,457,222,224,1923,1847,20, + 621,17,21,18,898,41,1634,2054,1925,280, + 87,111,2109,2124,1222,96,319,316,317,318, + 784,1082,535,1263,109,95,97,98,99,100, + 156,663,2111,2922,1393,1385,535,451,106,1302, + 673,225,230,992,1710,110,370,2135,774,1061, + 312,220,457,222,224,388,413,1758,2883,940, + 1082,535,108,2092,1082,275,319,316,317,318, + 2154,1082,270,1282,1275,273,662,778,281,535, + 309,370,1561,2279,1670,3392,2883,1082,198,2563, + 673,225,230,3392,319,316,317,318,3392,260, + 3392,219,457,222,224,2583,198,3392,621,1438, + 1703,2264,3392,413,3392,2883,3392,1223,673,225, + 230,3392,3392,319,316,317,318,3392,3392,219, + 457,222,224,3392,3392,1223,1987,3392,156,663, + 2279,3392,3392,1477,1782,451,3392,673,225,230, + 3392,3392,2010,3392,3032,3392,194,3392,219,457, + 222,224,1644,1871,20,621,17,21,18,898, + 43,45,1055,3392,193,3392,3392,1074,1062,1134, + 1921,3392,3146,770,1999,3392,673,225,230,1436, + 3392,2477,199,3392,3392,157,663,219,457,222, + 224,3392,3392,1996,264,535,3392,278,3392,3392, + 1497,275,3392,319,316,317,318,3392,268,1282, + 1275,273,3392,673,225,230,3392,3392,3392,3392, + 2922,3392,2092,1336,219,457,222,224,265,3392, + 812,831,210,320,316,317,318,3392,275,2055, + 3392,2883,1471,1786,3392,268,1282,1275,273,319, + 316,317,318,3392,3392,3392,2618,3392,260,3392, + 3392,3392,3392,3392,3392,1756,2264,1542,1931,1703, + 3392,3392,262,673,225,230,1895,20,3392,17, + 21,18,898,34,219,457,222,224,3392,1871, + 20,1987,17,21,18,898,43,45,1055,255, + 214,1477,1782,1074,1062,1134,1118,2080,1155,1145, + 1937,3392,3392,3392,1670,3392,2883,319,316,317, + 318,398,3392,2972,320,316,317,318,3392,413, + 3392,2883,3392,3392,2922,3392,3392,3146,3392,320, + 316,317,318,657,1405,535,3392,200,673,225, + 230,3392,549,3392,49,3392,967,758,3392,219, + 457,222,224,673,225,230,1987,319,316,317, + 318,3392,2092,3392,219,457,222,224,1472,88, + 275,3140,3392,3392,2922,1093,758,268,1282,1275, + 273,673,225,1315,992,3392,319,316,317,318, + 210,3392,220,457,222,1251,3392,267,260,3392, + 1511,1786,3164,2922,758,1459,3392,389,1438,1703, + 673,225,230,992,319,316,317,318,844,1664, + 967,220,457,222,224,3392,3392,3392,3392,3392, + 88,2922,3392,3392,198,1170,1308,3392,673,225, + 1315,992,3392,87,111,892,1664,967,96,220, + 457,222,224,3392,3392,3392,1263,104,95,97, + 98,99,100,2271,3392,1006,1664,967,1384,1256, + 87,111,1054,1664,967,96,3392,3392,320,316, + 317,318,3392,1263,102,95,97,98,99,100, + 87,111,657,3392,535,96,3392,87,111,3392, + 3392,3392,96,1263,362,95,97,98,99,100, + 1263,103,95,97,98,99,100,2060,49,535, + 967,2092,1168,1664,967,3392,3392,319,316,317, + 318,1871,20,3392,17,21,18,898,43,45, + 1055,3392,3392,88,2922,1802,2092,87,111,1871, + 3392,3392,96,3392,812,3392,3392,260,3392,3392, + 1263,120,95,97,98,99,100,2000,1703,1216, + 1664,967,3392,3392,3392,3392,1264,1664,967,3392, + 1946,3392,260,1871,20,3392,17,21,18,898, + 43,48,1931,1703,87,111,1312,1664,967,96, + 3392,87,111,1360,1664,967,96,1263,115,95, + 97,98,99,100,1263,2016,95,97,98,99, + 100,87,111,1408,1664,967,96,3392,87,111, + 590,3392,485,96,1263,114,95,97,98,99, + 100,1263,122,95,97,98,99,100,87,111, + 3392,3392,3392,96,3392,3392,306,3392,369,558, + 3392,1263,121,95,97,98,99,100,319,316, + 317,318,3392,3392,1871,20,1113,17,21,18, + 898,43,45,1813,3392,2922,371,316,317,318, + 305,370,3392,3392,656,992,3392,3392,3392,3392, + 310,3392,1466,3392,319,316,317,318,136,214, + 3392,3392,371,316,317,318,3392,275,3392,3392, + 3392,2173,3392,3392,270,1282,1275,273,1531,3392, + 146,135,137,161,136,214,1991,3392,371,316, + 317,318,2001,302,304,3392,371,316,317,318, + 3392,407,371,316,317,318,149,135,137,161, + 136,214,3392,419,3392,967,1079,2848,136,214, + 3392,3392,3392,3392,136,214,320,316,317,318, + 3392,3392,152,135,137,161,3392,3392,88,126, + 155,135,137,161,1303,3392,366,135,137,161, + 1871,20,3392,17,21,18,898,43,45,1055, + 3392,3392,3392,3392,1074,1833,1871,20,724,17, + 21,18,898,43,45,1055,3392,3392,3392,3392, + 1074,1834,1871,20,3392,17,21,18,898,43, + 45,1055,3392,3392,3392,3392,1074,1846,1871,20, + 3392,17,21,18,898,43,45,1055,49,1432, + 967,2143,1074,1866,1871,20,3392,17,21,18, + 898,43,45,1055,758,3392,3392,278,1074,1870, + 3392,3392,3392,88,319,316,317,318,665,1891, + 485,1871,20,917,17,21,18,898,43,45, + 1818,2922,3392,319,316,317,318,3392,656,225, + 234,992,3392,1459,306,389,3392,558,275,1240, + 2726,3392,1102,1240,535,268,1282,1275,273,319, + 316,317,318,319,316,317,318,3392,88,1459, + 3392,389,198,1170,1308,1756,2922,3392,305,370, + 2922,198,3392,49,3392,967,812,3392,310,3392, + 812,3392,1533,1459,88,389,3392,3392,198,1170, + 1308,2271,320,316,317,318,3392,1464,88,1459, + 1223,389,2307,3392,1893,3392,2336,3392,88,952, + 3392,3392,198,1170,1308,3392,3392,2271,3392,3392, + 3392,303,304,1490,88,1459,3392,389,198,1170, + 1308,3392,1240,3392,3392,920,3392,967,3392,193, + 913,2271,319,316,317,318,3392,1516,1484,1999, + 88,1316,3392,389,198,1170,1308,2271,3392,2922, + 88,3392,3392,1542,3392,3392,116,1871,20,812, + 17,21,18,898,43,47,88,3392,3392,3392, + 1061,3392,116,2271,1459,920,389,967,3392,1567, + 3392,3392,1240,1871,20,2618,17,21,18,898, + 43,46,319,316,317,318,1510,3392,3392,88, + 88,1078,370,198,1170,1308,116,3392,3392,2922, + 1240,3392,1406,3392,423,3392,3392,3392,2040,812, + 319,316,317,318,319,316,317,318,320,316, + 317,318,2271,3392,3392,3392,3392,2922,1961,524, + 920,2428,967,3392,3392,1946,2011,812,3392,319, + 316,317,318,1895,20,3392,17,21,18,898, + 33,3392,3392,3392,2074,88,2428,49,2080,967, + 3392,116,3392,2364,319,316,317,318,319,316, + 317,318,1943,20,3392,17,21,18,898,1787, + 2069,3182,88,3392,3392,2922,2110,3392,2004,3392, + 319,316,317,318,3392,1483,319,316,317,318, + 785,2027,3392,3392,2126,3392,3392,3168,2085,3392, + 3392,3392,3392,3186,319,316,317,318,320,316, + 317,318,2100,3392,3392,861,2138,3392,3392,3392, + 2143,3190,320,316,317,318,320,316,317,318, + 320,316,317,318,3392,3392,3392,3392,3392,3392, + 3392,3392,3392,3392,3392,3392,3392,3392,3392,3392, + 3392,3392,3392,3392,3392,3392,3392,3392,3392,3392, + 3392,3392,3392,3392,3392,3392,3392,3392,3392,1689, + 3392,0,1,456,0,1,500,0,1,583, + 0,1,623,0,500,130,0,583,130,0, + 623,130,0,500,131,0,583,131,0,623, + 131,0,500,132,0,583,132,0,623,132, + 0,623,186,0,583,186,0,500,186,0, + 186,190,0,623,185,0,583,185,0,500, + 185,0,185,190,0,500,133,0,583,133, + 0,623,133,0,500,134,0,583,134,0, + 623,134,0,11,227,0,500,369,0,583, + 369,0,623,369,0,224,236,0,3400,1, + 0,623,381,0,583,381,0,500,381,0, + 593,32,0,2304,32,0,623,254,0,583, + 254,0,500,254,0,1,3630,0,224,237, + 0,180,20,0,8,10,0,1984,119,0, + 1,3619,0,367,356,0,368,357,0,113, + 2556,0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -949,229 +950,229 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym public interface TermAction { public final static char termAction[] = {0, - 3388,1,5941,1735,3241,5935,1,1,1,1, - 925,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,3397,1,1,1, - 1,1,1,1,3489,55,344,1457,979,941, - 1210,1662,463,1359,1038,1652,2722,1612,1,1, + 3392,1,5946,1736,3242,5940,1,1,1,1, + 926,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,3401,1,1,1, + 1,1,1,1,3493,55,345,1458,980,942, + 1211,1663,464,1360,1039,1653,2723,1613,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,3731,1,1,1,3395,8,3373,3373,3373, - 3373,3373,3373,3373,3373,3373,3373,3373,3373,3373, - 3373,3373,3373,3373,3373,3373,3373,3373,3373,3373, - 3373,3373,3373,3373,3373,3373,3373,3373,3373,3373, - 3373,800,2490,3373,3373,3373,3373,3373,3373,3373, - 3373,3373,3373,3373,349,3373,3373,3373,3373,3373, - 3373,3373,3373,3373,3373,3373,3373,904,3373,3373, - 3373,3373,3388,1,5941,1735,3241,5935,1,1, - 1,1,925,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,3397,1, - 1,1,1,1,1,1,3489,358,286,1457, - 979,941,1210,1662,463,1359,1038,1652,2722,1612, - 3388,1,1,1,1,1,1,1,1,1, - 1,1,1,1040,1,1,1,3395,3388,1, - 5941,3398,3241,5935,1,1,1,1,925,1, + 1,3736,1,1,1,3399,8,3374,3374,3374, + 3374,3374,3374,3374,3374,3374,3374,3374,3374,3374, + 3374,3374,3374,3374,3374,3374,3374,3374,3374,3374, + 3374,3374,3374,3374,3374,3374,3374,3374,3374,3374, + 3374,801,2491,3374,3374,3374,3374,3374,3374,3374, + 3374,3374,3374,3374,350,3374,3374,3374,3374,3374, + 3374,3374,3374,3374,3374,3374,3374,905,3374,3374, + 3374,3374,3392,1,5946,1736,3242,5940,1,1, + 1,1,926,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,3401,1, + 1,1,1,1,1,1,3493,359,287,1458, + 980,942,1211,1663,464,1360,1039,1653,2723,1613, + 3392,1,1,1,1,1,1,1,1,1, + 1,1,1,1041,1,1,1,3399,3392,1, + 5946,3402,3242,5940,1,1,1,1,926,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,3397,1,1,1,1,1, - 1,1,3489,800,2490,1457,979,941,1210,1662, - 463,1359,1038,1652,2722,1612,3388,1,1,1, - 1,1,1,1,1,1,1,1,1,904, - 1,1,1,3388,1,5941,3398,3241,5935,1, - 1,1,1,925,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,3397, - 1,1,1,1,1,1,1,3489,357,3388, - 1457,979,941,1210,1662,463,1359,1038,1652,2722, - 1612,3388,1,1,1,1,1,1,1,1, - 1,1,1,1,67,1,1,1,3388,2938, - 3399,3388,622,3400,1106,499,582,3131,220,876, - 838,3404,1753,3102,2225,1937,3401,3402,3403,739, - 521,1847,3602,3604,71,3603,3551,3552,3550,3605, - 3553,3549,347,235,800,2490,223,3334,268,2818, - 3334,3334,622,850,253,499,582,3556,3561,3560, - 3558,3559,3557,3562,3563,3555,3564,3565,3566,223, - 2852,3088,3063,1,3400,3388,3400,1,2818,3400, - 265,2256,3388,850,3400,3400,1115,3400,3400,3400, - 390,223,1,1859,3614,63,3250,3388,1,3244, - 3247,3398,185,3117,3289,43,3280,3289,3400,3286, - 3283,223,850,265,1,2938,3399,3392,2238,3400, - 663,3400,157,1090,3397,876,838,3404,1753,3102, - 2225,1937,3401,3402,3403,739,521,1847,3400,3400, - 3400,3400,915,3400,3400,3400,3400,3400,3400,3400, - 3388,3400,3400,3400,3400,3400,3400,3400,3400,3400, - 3400,3400,3400,3400,3400,3400,3400,3400,3400,3400, - 3400,1,3399,1419,3399,751,595,3399,3388,3388, - 3240,3399,3399,3399,3400,3399,3399,3399,417,1074, - 713,3391,3388,1393,1367,1341,1315,1289,1237,1263, - 1211,1185,1156,184,3388,3301,3399,3292,3301,3388, - 3298,3295,3388,2938,3399,3392,1,3400,701,3399, - 3241,1090,3388,876,838,3404,1753,3102,2225,1937, - 3401,3402,3403,739,521,1847,3399,3399,3399,3399, - 1497,3399,3399,3399,3399,3399,3399,3399,3388,3399, - 3399,3399,3399,3399,3399,3399,3399,3399,3399,3399, - 3399,3399,3399,3399,3399,3399,3399,3399,3399,3388, - 1,1,3398,3241,1,1,1,1,1,3388, - 356,367,367,3382,367,1983,3382,367,367,3391, - 5900,3388,926,1,1,3397,1,1,1,1, - 1,1,1,3694,367,367,3382,367,367,367, - 367,367,367,367,3388,367,3382,3398,1,1, + 1,1,1,1,3401,1,1,1,1,1, + 1,1,3493,801,2491,1458,980,942,1211,1663, + 464,1360,1039,1653,2723,1613,3392,1,1,1, + 1,1,1,1,1,1,1,1,1,905, + 1,1,1,3392,1,5946,3402,3242,5940,1, + 1,1,1,926,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,3401, + 1,1,1,1,1,1,1,3493,358,3392, + 1458,980,942,1211,1663,464,1360,1039,1653,2723, + 1613,3392,1,1,1,1,1,1,1,1, + 1,1,1,1,67,1,1,1,3392,2939, + 3403,3392,623,3404,1107,500,583,3132,221,877, + 839,3408,1754,3103,2226,1938,3405,3406,3407,740, + 522,1848,3607,3609,71,3608,3556,3557,3555,3610, + 3558,3554,348,236,801,2491,224,3335,269,2819, + 3335,3335,623,851,254,500,583,3561,3566,3565, + 3563,3564,3562,3567,3568,3560,3569,3570,3571,224, + 2853,3089,3064,1,3404,3392,3404,1,2819,3404, + 266,2257,3392,851,3404,3404,1116,3404,3404,3404, + 391,224,1,1860,3619,63,3251,3392,1,3245, + 3248,3402,186,3118,3290,43,3281,3290,3404,3287, + 3284,224,851,266,1,2939,3403,3396,2239,3404, + 664,3404,158,1091,3401,877,839,3408,1754,3103, + 2226,1938,3405,3406,3407,740,522,1848,3404,3404, + 3404,3404,916,3404,3404,3404,3404,3404,3404,3404, + 3392,3404,3404,3404,3404,3404,3404,3404,3404,3404, + 3404,3404,3404,3404,3404,3404,3404,3404,3404,3404, + 3404,1,3403,1420,3403,752,596,3403,3392,3392, + 3241,3403,3403,3403,3404,3403,3403,3403,418,1075, + 714,3395,3392,1394,1368,1342,1316,1290,1238,1264, + 1212,1186,1157,185,3392,3302,3403,3293,3302,3392, + 3299,3296,3392,2939,3403,3396,1,3404,702,3403, + 3242,1091,3392,877,839,3408,1754,3103,2226,1938, + 3405,3406,3407,740,522,1848,3403,3403,3403,3403, + 1498,3403,3403,3403,3403,3403,3403,3403,119,3403, + 3403,3403,3403,3403,3403,3403,3403,3403,3403,3403, + 3403,3403,3403,3403,3403,3403,3403,3403,3403,3392, + 1,1,3402,3242,1,1,1,1,1,3392, + 357,368,368,3386,368,3377,3386,368,368,3395, + 5905,3392,927,1,1,3401,1,1,1,1, + 1,1,1,3699,368,368,3386,368,368,368, + 368,368,368,368,3392,368,3386,3402,1,1, 1,1,1,1,1,1,1,1,1,1, - 129,1,1,1,3259,182,1,3253,3256,622, - 3397,113,499,582,3388,1,1,3398,3241,1, - 1,1,1,1,3602,3604,3388,3603,3551,3552, - 3550,3605,3553,3549,1,1859,3614,300,1,1, - 3397,1,1,1,1,1,1,1,3694,3556, - 3561,3560,3558,3559,3557,3562,3563,3555,3564,3565, - 3566,3388,569,1,1,1,1,1,1,1, - 1,1,1,1,1,3646,1,1,1,3388, - 1,5941,3398,1,5935,1,3337,2377,1,925, + 130,1,1,1,3260,183,1,3254,3257,623, + 3401,113,500,583,3392,1,1,3402,3242,1, + 1,1,1,1,3607,3609,3392,3608,3556,3557, + 3555,3610,3558,3554,1,1860,3619,301,1,1, + 3401,1,1,1,1,1,1,1,3699,3561, + 3566,3565,3563,3564,3562,3567,3568,3560,3569,3570, + 3571,3392,570,1,1,1,1,1,1,1, + 1,1,1,1,1,3651,1,1,1,3392, + 1,5946,3402,1,5940,1,3338,2378,1,926, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,3388,326,3397,3715,253,1859,3614, - 3385,622,299,3489,499,582,1457,979,941,1210, - 1662,463,1359,1038,1652,2722,1612,3388,3716,1, - 191,1,1,1,1,1,1,3241,20,3370, - 179,3370,179,925,3370,179,179,60,3395,3388, - 792,1,1,271,1,1,1,1,1,1, - 1,3584,179,179,3370,179,179,179,179,179, - 179,179,3388,3370,3370,3392,1,1,1,1, - 1,1,1,1,1,1,1,1,850,1, - 1,1,191,3388,1,5941,3398,256,5935,1, - 3388,799,1,925,1,1,1,1,1,1, - 1,1,1,1,1,1,1,52,3388,3397, - 2823,2807,2791,2775,3388,2759,1763,3489,2850,2633, - 1457,979,941,1210,1662,463,1359,1038,1652,2722, - 1612,3388,1,5941,3398,1138,5935,1,3388,3391, - 1,925,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,206,3397,5936,1, - 622,5936,117,499,582,3489,222,605,1457,979, - 941,1210,1662,463,1359,1038,1652,2722,1612,3388, - 3388,1,190,1,1,117,1,1,1,3388, - 355,366,366,3379,366,117,3379,366,366,62, - 3388,850,3399,1,1,3400,1,1,1,1, - 1,1,1,3584,366,366,3379,366,366,366, - 366,366,366,366,3645,366,3379,3388,1,1, + 1,1,1,3392,327,3401,3720,254,1860,3619, + 3389,623,300,3493,500,583,1458,980,942,1211, + 1663,464,1360,1039,1653,2723,1613,3392,3721,1, + 192,1,1,1,1,1,1,3242,20,3371, + 180,3371,180,926,3371,180,180,60,3399,3392, + 793,1,1,272,1,1,1,1,1,1, + 1,3589,180,180,3371,180,180,180,180,180, + 180,180,3392,3371,3371,3396,1,1,1,1, + 1,1,1,1,1,1,1,1,851,1, + 1,1,192,3392,1,5946,3402,257,5940,1, + 3392,800,1,926,1,1,1,1,1,1, + 1,1,1,1,1,1,1,52,3392,3401, + 2824,2808,2792,2776,3392,2760,1764,3493,2851,2634, + 1458,980,942,1211,1663,464,1360,1039,1653,2723, + 1613,3392,1,5946,3402,1139,5940,1,3392,3395, + 1,926,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,207,3401,5941,1, + 623,5941,117,500,583,3493,223,606,1458,980, + 942,1211,1663,464,1360,1039,1653,2723,1613,3392, + 3392,1,191,1,1,117,1,1,1,3392, + 356,367,367,3383,367,117,3383,367,367,62, + 3392,851,3403,1,1,3404,1,1,1,1, + 1,1,1,3589,367,367,3383,367,367,367, + 367,367,367,367,3650,367,3383,3392,1,1, 1,1,1,1,1,1,1,1,1,1, - 3388,1,1,1,190,3388,1,5941,3398,3388, - 5935,1,11,3322,1,925,1,1,1,1, + 3392,1,1,1,191,3392,1,5946,3402,3392, + 5940,1,11,3323,1,926,1,1,1,1, 1,1,1,1,1,1,1,1,1,54, - 3388,3397,2823,2807,2791,2775,73,2759,1763,3489, - 2850,2633,1457,979,941,1210,1662,463,1359,1038, - 1652,2722,1612,3388,1,5941,3398,3388,5935,1, - 3388,459,1,925,1,1,1,1,1,1, - 1,1,1,1,1,1,1,3388,377,3397, - 5940,3388,622,5940,3394,499,582,3489,350,1010, - 1457,979,941,1210,1662,463,1359,1038,1652,2722, - 1612,3388,3388,1,191,1,1,3388,1,1, - 1,3388,130,1718,3394,69,3268,3393,2404,3262, - 3265,61,432,512,1693,1,1,89,1,1, - 1,1,1,1,1,3584,3602,3604,2431,3603, - 3551,3552,3550,3605,3553,3549,1523,3393,337,1411, + 3392,3401,2824,2808,2792,2776,73,2760,1764,3493, + 2851,2634,1458,980,942,1211,1663,464,1360,1039, + 1653,2723,1613,3392,1,5946,3402,3392,5940,1, + 3392,460,1,926,1,1,1,1,1,1, + 1,1,1,1,1,1,1,3392,378,3401, + 5945,3392,623,5945,3398,500,583,3493,351,1011, + 1458,980,942,1211,1663,464,1360,1039,1653,2723, + 1613,3392,3392,1,192,1,1,3392,1,1, + 1,3392,131,1719,3398,69,3269,3397,2405,3263, + 3266,61,433,513,1694,1,1,89,1,1, + 1,1,1,1,1,3589,3607,3609,2432,3608, + 3556,3557,3555,3610,3558,3554,1524,3397,338,1412, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,191,3388,1,5941, - 3398,3388,5935,1,3392,1445,1,925,1,1, + 1,1,1,1,1,1,192,3392,1,5946, + 3402,3392,5940,1,3396,1446,1,926,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,53,3388,3397,2823,2807,2791,2775,1799,2759, - 1763,3489,2850,2633,1457,979,941,1210,1662,463, - 1359,1038,1652,2722,1612,3388,1,5941,3398,3388, - 5935,1,3398,2,1,925,1,1,1,1, - 1,1,1,1,1,1,1,1,1,253, - 1725,3397,3388,622,1823,3397,499,582,3391,3489, - 3388,2990,1457,979,941,1210,1662,463,1359,1038, - 1652,2722,1612,3388,1,5941,3398,2052,5935,1, - 3388,2477,1,925,1,1,1,1,1,1, - 1,1,1,1,1,1,1,159,3388,3397, - 3399,622,3388,3400,499,582,3388,3489,1181,30, - 1457,979,941,1210,1662,463,1359,1038,1652,2722, - 1612,3388,1,5941,3398,1,5935,1,117,3241, - 1,925,1,1,1,1,1,1,1,1, - 1,1,1,1,1,378,229,3397,3388,622, - 1617,117,499,582,1727,3489,232,3417,1457,979, - 941,1210,1662,463,1359,1038,1652,2722,1612,3388, - 1,5941,3398,3388,5935,1,3398,3388,1,925, + 1,53,3392,3401,2824,2808,2792,2776,1800,2760, + 1764,3493,2851,2634,1458,980,942,1211,1663,464, + 1360,1039,1653,2723,1613,3392,1,5946,3402,3392, + 5940,1,3402,2,1,926,1,1,1,1, + 1,1,1,1,1,1,1,1,1,254, + 1726,3401,3392,623,1824,3401,500,583,3395,3493, + 3392,2991,1458,980,942,1211,1663,464,1360,1039, + 1653,2723,1613,3392,1,5946,3402,2053,5940,1, + 3392,2478,1,926,1,1,1,1,1,1, + 1,1,1,1,1,1,1,160,3392,3401, + 3403,623,3392,3404,500,583,3392,3493,1182,30, + 1458,980,942,1211,1663,464,1360,1039,1653,2723, + 1613,3392,1,5946,3402,1,5940,1,117,3242, + 1,926,1,1,1,1,1,1,1,1, + 1,1,1,1,1,379,230,3401,3392,623, + 1618,117,500,583,1728,3493,233,3421,1458,980, + 942,1211,1663,464,1360,1039,1653,2723,1613,3392, + 1,5946,3402,3392,5940,1,3402,3392,1,926, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,381,3388,3397,3626,622,3388,3397, - 499,582,1,3489,3364,207,1457,979,941,1210, - 1662,463,1359,1038,1652,2722,1612,3388,1,5941, - 3398,2188,5935,1,3388,2817,1,925,1,1, + 1,1,1,382,3392,3401,3631,623,3392,3401, + 500,583,1,3493,3365,208,1458,980,942,1211, + 1663,464,1360,1039,1653,2723,1613,3392,1,5946, + 3402,2189,5940,1,3392,2818,1,926,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,2818,3397,3394,1,2128,3376,3394,3388, - 434,3489,3394,5928,1457,979,941,1210,1662,463, - 1359,1038,1652,2722,1612,1,1859,650,1,3250, - 3400,3646,3244,3247,1018,131,850,3393,925,3277, - 850,3393,3271,3274,3388,3393,208,65,3399,3602, - 3604,3400,3603,3551,3552,3550,3605,3553,3549,3602, - 3604,2102,3603,3551,3552,3550,3605,3553,3549,3388, - 3388,968,3394,3388,3556,3561,3560,3558,3559,3557, - 3562,3563,3555,3564,3565,3566,3388,2852,3088,3063, - 3388,3388,3399,3388,622,3400,59,499,582,1018, - 132,1378,380,1430,3310,3393,3340,3304,3307,3346, - 3343,3388,3388,2912,3602,3604,229,3603,3551,3552, - 3550,3605,3553,3549,3602,3604,233,3603,3551,3552, - 3550,3605,3553,3549,2424,3602,3604,66,3603,3556, - 3561,3560,3558,3559,3557,3562,3563,3555,3564,3565, - 3566,2102,2852,3088,3063,1,2938,4267,29,3388, - 4169,1106,800,2490,1090,5900,876,838,3404,1753, - 3102,2225,1937,3401,3402,3403,739,521,1847,3388, - 2938,3399,3392,3388,3400,1106,3394,3388,1090,3388, - 876,838,3404,1753,3102,2225,1937,3401,3402,3403, - 739,521,1847,268,2128,3614,3388,622,211,253, - 499,582,3388,2938,3399,324,886,3400,1106,3393, - 29,1090,5900,876,838,3404,1753,3102,2225,1937, - 3401,3402,3403,739,521,1847,3388,58,850,1, - 1859,3614,3388,3250,422,367,3244,3247,3388,2938, - 3399,30,1456,3400,1106,5900,3391,1090,5900,876, - 838,3404,1753,3102,2225,1937,3401,3402,3403,739, - 521,1847,1,2938,4267,3388,1548,4169,1106,3388, - 3116,1090,5900,876,838,3404,1753,3102,2225,1937, - 3401,3402,3403,739,521,1847,382,2938,3399,675, - 1625,3400,1106,800,2490,1090,5900,876,838,3404, - 1753,3102,2225,1937,3401,3402,3403,739,521,1847, - 3388,2938,3399,3388,3388,3400,1106,3388,3388,1090, - 5900,876,838,3404,1753,3102,2225,1937,3401,3402, - 3403,739,521,1847,3388,2364,3399,3388,49,3400, - 1106,249,3388,1090,3032,876,838,3404,1753,3102, - 2225,1937,3401,3402,3403,739,521,1847,3388,2872, - 3399,3388,3388,3400,1106,1,1,1090,1,876, - 838,3404,1753,3102,2225,1937,3401,3402,3403,739, - 521,1847,3388,2898,3399,812,51,3400,1106,248, - 3388,1090,3032,876,838,3404,1753,3102,2225,1937, - 3401,3402,3403,739,521,1847,3388,2922,3399,3006, - 2542,3400,1106,3602,3604,1090,3603,876,838,3404, - 1753,3102,2225,1937,3401,3402,3403,739,521,1847, - 3388,2938,3399,3388,50,3400,1106,250,3388,1090, - 3032,876,838,3404,1753,3102,2225,1937,3401,3402, - 3403,739,521,1847,3388,2964,3399,3006,2542,3400, - 1106,1,1,1090,1,876,838,3404,1753,3102, - 2225,1937,3401,3402,3403,739,521,1847,1,2938, - 3399,3388,70,3400,1106,251,3388,1090,3388,876, - 838,3404,1753,3102,2225,1937,3401,3402,3403,739, - 521,1847,3388,3023,3399,3006,2542,3400,1106,3602, - 3604,1090,3603,876,838,3404,1753,3102,2225,1937, - 3401,3402,3403,739,521,1847,332,2938,3399,3388, - 1,3400,1106,3394,3388,1090,3388,876,838,3404, - 1753,3102,2225,1937,3401,3402,3403,739,521,1847, - 133,270,1057,3388,3319,1,3388,3313,3316,3250, - 368,253,3244,3247,3331,1799,3393,3325,3328,1, - 2128,3614,262,3388,3602,3604,3396,3603,3551,3552, - 3550,3605,3553,3549,3602,3604,850,3603,3551,3552, - 3550,3605,3553,3549,236,32,3349,223,3367,372, - 3388,3367,3367,622,850,262,499,582,3388,3388, - 3414,3415,3394,68,1,1859,3614,262,3250,1, - 223,3244,3247,3250,3646,253,3244,3247,371,3388, - 3352,3399,622,183,3400,499,582,622,3395,253, - 499,582,223,3355,373,3393,3361,3358,622,57, - 3388,499,582,3394,252,3388,56,837,3394,379, - 64,292,223,622,1650,673,499,582,3388,200, - 72,1,356,622,91,1625,499,582,3602,3604, - 457,3603,5900,3388,285,374,3393,1377,3646,622, - 354,3393,499,582,201,1115,1700,375,1974,1353, - 5900,622,376,1028,499,582,622,91,42,499, - 582,3388,207,3388,414,800,2490,414,5900,1, - 189,5900,800,2490,381,1,3388,3388,3388,1573, - 206,1636,3388,3388,377,3388,3388,3388,3388,3388, - 751,595,3388,3388,1599,3388,3388,3388,3388,1377, - 3388,3388,3388,3388,2238,1675,3388,3388,3388,3388, - 3388,3388,3388,3388,3388,3388,3388,3388,3388,3388, - 3388,3388,3388,3388,3772,3388,3388,3388,3388,3388, - 3400,3388,3388,3388,3388,3388,3399 + 1,1,2819,3401,3398,1,2129,3380,3398,3392, + 435,3493,3398,5933,1458,980,942,1211,1663,464, + 1360,1039,1653,2723,1613,1,1860,651,1,3251, + 3404,3651,3245,3248,1019,132,851,3397,926,3278, + 851,3397,3272,3275,3392,3397,209,65,3403,3607, + 3609,3404,3608,3556,3557,3555,3610,3558,3554,3607, + 3609,2103,3608,3556,3557,3555,3610,3558,3554,3392, + 3392,969,3398,3392,3561,3566,3565,3563,3564,3562, + 3567,3568,3560,3569,3570,3571,3392,2853,3089,3064, + 3392,3392,3403,3392,623,3404,59,500,583,1019, + 133,1379,381,1431,3311,3397,3341,3305,3308,3347, + 3344,3392,3392,2913,3607,3609,230,3608,3556,3557, + 3555,3610,3558,3554,3607,3609,234,3608,3556,3557, + 3555,3610,3558,3554,2425,3607,3609,66,3608,3561, + 3566,3565,3563,3564,3562,3567,3568,3560,3569,3570, + 3571,2103,2853,3089,3064,1,2939,4272,29,3392, + 4174,1107,801,2491,1091,5905,877,839,3408,1754, + 3103,2226,1938,3405,3406,3407,740,522,1848,3392, + 2939,3403,3396,3392,3404,1107,3398,3392,1091,3392, + 877,839,3408,1754,3103,2226,1938,3405,3406,3407, + 740,522,1848,269,2129,3619,3392,623,212,254, + 500,583,3392,2939,3403,325,887,3404,1107,3397, + 29,1091,5905,877,839,3408,1754,3103,2226,1938, + 3405,3406,3407,740,522,1848,3392,58,851,1, + 1860,3619,3392,3251,423,368,3245,3248,3392,2939, + 3403,30,1457,3404,1107,5905,3395,1091,5905,877, + 839,3408,1754,3103,2226,1938,3405,3406,3407,740, + 522,1848,1,2939,4272,3392,1549,4174,1107,3392, + 3117,1091,5905,877,839,3408,1754,3103,2226,1938, + 3405,3406,3407,740,522,1848,383,2939,3403,676, + 1626,3404,1107,801,2491,1091,5905,877,839,3408, + 1754,3103,2226,1938,3405,3406,3407,740,522,1848, + 3392,2939,3403,3392,3392,3404,1107,3392,3392,1091, + 5905,877,839,3408,1754,3103,2226,1938,3405,3406, + 3407,740,522,1848,3392,2365,3403,3392,49,3404, + 1107,250,3392,1091,3033,877,839,3408,1754,3103, + 2226,1938,3405,3406,3407,740,522,1848,3392,2873, + 3403,3392,3392,3404,1107,1,1,1091,1,877, + 839,3408,1754,3103,2226,1938,3405,3406,3407,740, + 522,1848,3392,2899,3403,813,51,3404,1107,249, + 3392,1091,3033,877,839,3408,1754,3103,2226,1938, + 3405,3406,3407,740,522,1848,3392,2923,3403,3007, + 2543,3404,1107,3607,3609,1091,3608,877,839,3408, + 1754,3103,2226,1938,3405,3406,3407,740,522,1848, + 3392,2939,3403,3392,50,3404,1107,251,3392,1091, + 3033,877,839,3408,1754,3103,2226,1938,3405,3406, + 3407,740,522,1848,3392,2965,3403,3007,2543,3404, + 1107,1,1,1091,1,877,839,3408,1754,3103, + 2226,1938,3405,3406,3407,740,522,1848,1,2939, + 3403,3392,70,3404,1107,252,3392,1091,3392,877, + 839,3408,1754,3103,2226,1938,3405,3406,3407,740, + 522,1848,3392,3024,3403,3007,2543,3404,1107,3607, + 3609,1091,3608,877,839,3408,1754,3103,2226,1938, + 3405,3406,3407,740,522,1848,333,2939,3403,3392, + 1,3404,1107,3398,3392,1091,3392,877,839,3408, + 1754,3103,2226,1938,3405,3406,3407,740,522,1848, + 134,271,1058,3392,3320,1,3392,3314,3317,3251, + 369,254,3245,3248,3332,1800,3397,3326,3329,1, + 2129,3619,263,3392,3607,3609,3400,3608,3556,3557, + 3555,3610,3558,3554,3607,3609,851,3608,3556,3557, + 3555,3610,3558,3554,237,32,3350,224,3368,373, + 3392,3368,3368,623,851,263,500,583,3392,3392, + 3418,3419,3398,68,1,1860,3619,263,3251,1, + 224,3245,3248,3251,3651,254,3245,3248,372,3392, + 3353,3403,623,184,3404,500,583,623,3399,254, + 500,583,224,3356,374,3397,3362,3359,623,57, + 3392,500,583,3398,253,3392,56,838,3398,380, + 64,293,224,623,1651,674,500,583,3392,201, + 72,1,357,623,91,1626,500,583,3607,3609, + 458,3608,5905,3392,286,375,3397,1378,3651,623, + 355,3397,500,583,202,1116,1701,376,1975,1354, + 5905,623,377,1029,500,583,623,91,42,500, + 583,3392,208,3392,415,801,2491,415,5905,1, + 190,5905,801,2491,382,1,3392,3392,3392,1574, + 207,1637,3392,3392,378,3392,3392,3392,3392,3392, + 752,596,3392,3392,1600,3392,3392,3392,3392,1378, + 3392,3392,3392,3392,2239,1676,3392,3392,3392,3392, + 3392,3392,3392,3392,3392,3392,3392,3392,3392,3392, + 3392,3392,3392,3392,3777,3392,3392,3392,3392,3392, + 3404,3392,3392,3392,3392,3392,3403 }; }; public final static char termAction[] = TermAction.termAction; @@ -1179,43 +1180,43 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym public interface Asb { public final static char asb[] = {0, - 679,1,416,382,552,679,417,384,677,47, - 417,417,417,59,672,59,672,672,59,672, - 59,386,384,373,417,59,554,28,419,677, + 677,1,416,382,552,677,417,384,675,47, + 417,417,417,59,670,59,670,670,59,670, + 59,386,384,373,417,59,554,28,419,675, 554,469,187,384,125,124,190,160,386,252, - 523,248,327,45,156,672,582,579,582,156, - 582,672,384,389,238,249,386,719,28,28, - 28,28,28,28,28,28,28,28,28,632, - 331,132,391,131,554,384,187,187,284,719, - 140,384,524,7,327,424,249,674,473,677, - 507,389,238,384,721,632,632,632,632,632, + 523,248,327,45,156,670,582,579,582,156, + 582,670,384,389,238,249,386,717,28,28, + 28,28,28,28,28,28,28,28,28,630, + 331,132,391,131,554,384,187,187,284,717, + 140,384,524,7,327,424,249,672,473,675, + 507,389,238,384,719,630,630,630,630,630, 249,249,249,243,539,523,582,582,310,28, - 419,470,713,45,647,554,382,187,397,306, - 749,429,288,440,445,443,453,447,456,455, - 458,457,459,721,504,677,160,252,523,26, + 419,470,711,45,645,554,382,187,397,306, + 747,429,288,440,445,443,453,447,456,455, + 458,457,459,719,504,675,160,252,523,26, 470,470,582,417,417,13,417,417,470,79, - 28,79,382,120,392,326,677,674,473,507, + 28,79,382,120,392,326,675,672,473,507, 507,238,238,249,241,120,249,249,249,249, - 249,101,386,716,119,118,513,335,28,524, - 249,28,306,583,249,384,749,306,287,284, + 249,101,386,714,119,118,513,335,28,524, + 249,28,306,583,249,384,747,306,287,284, 28,28,28,28,28,28,28,28,28,28, 28,28,28,28,28,28,28,28,28,28, 28,28,28,28,28,28,28,28,28,28, 81,28,120,504,138,520,470,470,537,28, - 585,28,28,13,79,587,13,384,7,249, - 309,249,249,473,504,71,473,507,509,590, - 509,238,749,716,386,721,195,195,195,140, - 677,243,249,599,719,28,339,632,523,249, + 522,28,28,13,79,585,13,384,7,249, + 309,249,249,473,504,71,473,507,509,588, + 509,238,747,714,386,719,195,195,195,140, + 675,243,249,597,717,28,339,630,523,249, 28,28,306,288,443,443,440,440,447,447, 445,445,445,445,445,445,455,453,457,456, 79,79,458,583,138,26,470,249,417,249, 249,13,28,13,386,120,473,73,509,504, - 28,582,749,238,599,241,249,721,249,306, + 28,582,747,238,597,241,249,719,249,306, 306,28,28,509,279,470,26,13,28,13, 13,384,309,504,469,28,465,73,466,504, 238,249,199,504,136,193,261,582,28,79, 3,310,470,249,522,73,28,466,466,331, - 140,595,582,28,249,310,470,13,466,28, + 140,593,582,28,249,310,470,13,466,28, 306,13,249,306,13 }; }; @@ -1282,24 +1283,23 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym 23,6,1,9,62,63,64,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,61,69,0,3, - 48,65,68,0,77,3,69,0,6,29, - 49,24,50,62,30,51,31,52,53,32, - 27,54,55,28,63,33,64,56,57,25, - 58,59,60,2,5,9,69,4,8,7, - 0,17,18,19,20,13,1,15,16,14, - 6,11,12,21,22,23,29,49,24,50, - 62,30,51,31,52,53,32,27,54,55, - 28,63,33,64,56,57,25,58,59,60, - 9,2,5,7,8,4,10,0,98,29, - 49,24,50,62,30,51,31,52,53,32, - 27,54,55,28,63,33,64,56,57,25, - 58,59,60,5,1,9,7,8,26,3, - 34,4,2,6,0,6,1,35,36,3, - 29,49,50,62,30,51,31,52,53,32, - 54,55,28,63,33,64,56,57,58,59, - 60,2,5,9,7,8,4,69,24,27, - 25,0 + 4,5,2,0,61,69,0,3,48,65, + 68,0,77,3,69,0,6,29,49,24, + 50,62,30,51,31,52,53,32,27,54, + 55,28,63,33,64,56,57,25,58,59, + 60,2,5,9,69,4,8,7,0,17, + 18,19,20,13,1,15,16,14,6,11, + 12,21,22,23,29,49,24,50,62,30, + 51,31,52,53,32,27,54,55,28,63, + 33,64,56,57,25,58,59,60,9,2, + 5,7,8,4,10,0,98,29,49,24, + 50,62,30,51,31,52,53,32,27,54, + 55,28,63,33,64,56,57,25,58,59, + 60,5,1,9,7,8,26,3,34,4, + 2,6,0,6,1,35,36,3,29,49, + 50,62,30,51,31,52,53,32,54,55, + 28,63,33,64,56,57,58,59,60,2, + 5,9,7,8,4,69,24,27,25,0 }; }; public final static byte asr[] = Asr.asr; @@ -1554,29 +1554,29 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym public interface ScopeState { public final static char scopeState[] = {0, - 413,0,1783,0,2188,2023,0,2881,1998,2016, - 0,941,0,837,434,0,812,774,675,1301, - 637,1276,423,1249,1017,711,635,713,0,3023, - 1959,2964,2938,2922,2898,2872,2364,2582,2562,2555, - 2535,2528,2481,2431,2424,1924,2404,2377,1842,463, - 1796,1750,0,1281,1274,672,456,1945,2617,2128, - 2818,2091,2270,0,3131,3102,2225,1937,1847,1090, - 1018,701,423,432,1799,2238,2102,1115,2823,2807, - 2791,2775,2759,1763,751,595,2850,2633,2490,800, - 3032,3006,2542,663,1753,1106,876,838,739,521, - 1725,1700,812,1675,1650,774,1625,1028,1599,1573, - 1548,1523,1497,1471,1445,886,1419,1393,1367,1341, - 1315,1289,1263,1237,1211,1185,1156,992,966,941, - 915,388,713,850,675,637,0,773,753,0, - 1071,534,388,484,0,2833,484,2363,1945,2335, - 2306,2188,2263,2023,2128,2091,2278,1859,1887,1995, - 2052,1053,0,3189,3185,3163,2188,3145,2263,2363, - 1945,2023,2617,1887,1995,3117,3181,3167,534,388, - 2335,2256,3113,2306,3139,3067,2052,2921,2833,2725, - 2427,2172,2278,620,1071,2701,2695,2852,2687,3088, - 3063,2661,2653,2635,498,1053,484,2476,3059,2142, - 3031,2971,2882,2878,1864,0,1887,1053,484,0, - 2990,1959,1137,1924,1842,1796,1750,2847,2589,0 + 414,0,1784,0,2189,2024,0,2882,1999,2017, + 0,942,0,838,435,0,813,775,676,1302, + 638,1277,424,1250,1018,712,636,714,0,3024, + 1960,2965,2939,2923,2899,2873,2365,2583,2563,2556, + 2536,2529,2482,2432,2425,1925,2405,2378,1843,464, + 1797,1751,0,1282,1275,673,457,1946,2618,2129, + 2819,2092,2271,0,3132,3103,2226,1938,1848,1091, + 1019,702,424,433,1800,2239,2103,1116,2824,2808, + 2792,2776,2760,1764,752,596,2851,2634,2491,801, + 3033,3007,2543,664,1754,1107,877,839,740,522, + 1726,1701,813,1676,1651,775,1626,1029,1600,1574, + 1549,1524,1498,1472,1446,887,1420,1394,1368,1342, + 1316,1290,1264,1238,1212,1186,1157,993,967,942, + 916,389,714,851,676,638,0,774,754,0, + 1072,535,389,485,0,2834,485,2364,1946,2336, + 2307,2189,2264,2024,2129,2092,2279,1860,1888,1996, + 2053,1054,0,3190,3186,3164,2189,3146,2264,2364, + 1946,2024,2618,1888,1996,3118,3182,3168,535,389, + 2336,2257,3114,2307,3140,3068,2053,2922,2834,2726, + 2428,2173,2279,621,1072,2702,2696,2853,2688,3089, + 3064,2662,2654,2636,499,1054,485,2477,3060,2143, + 3032,2972,2883,2879,1865,0,1888,1054,485,0, + 2991,1960,1138,1925,1843,1797,1751,2848,2590,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -1854,18 +1854,18 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym public final static int NUM_STATES = 375, NT_OFFSET = 100, - LA_STATE_OFFSET = 3775, + LA_STATE_OFFSET = 3780, MAX_LA = 2147483647, - NUM_RULES = 387, + NUM_RULES = 388, NUM_NONTERMINALS = 147, NUM_SYMBOLS = 247, SEGMENT_SIZE = 8192, - START_STATE = 2589, + START_STATE = 2590, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 98, EOLT_SYMBOL = 98, - ACCEPT_ACTION = 3240, - ERROR_ACTION = 3388; + ACCEPT_ACTION = 3241, + ERROR_ACTION = 3392; 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 5af852751c4..86687dff871 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 @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 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 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 fb29a4a2bf3..f056fbb492a 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 @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 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 @@ -689,697 +689,703 @@ private GNUBuildASTParserAction gnuAction; // // Rule 117: iteration_statement ::= do statement while ( expression ) ; // - case 117: { action. consumeStatementDoLoop(); break; + case 117: { action. consumeStatementDoLoop(true); break; } // - // Rule 118: iteration_statement ::= while ( expression ) statement + // Rule 118: iteration_statement ::= do statement // - case 118: { action. consumeStatementWhileLoop(); break; + case 118: { action. consumeStatementDoLoop(false); break; } // - // Rule 119: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement + // Rule 119: iteration_statement ::= while ( expression ) statement // - case 119: { action. consumeStatementForLoop(); break; + case 119: { action. consumeStatementWhileLoop(); break; } // - // Rule 120: iteration_statement ::= for ( declaration expression_opt ; expression_opt ) statement + // Rule 120: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement // case 120: { action. consumeStatementForLoop(); break; } // - // Rule 121: jump_statement ::= goto identifier_token ; + // Rule 121: iteration_statement ::= for ( declaration expression_opt ; expression_opt ) statement // - case 121: { action. consumeStatementGoto(); break; + case 121: { action. consumeStatementForLoop(); break; } // - // Rule 122: jump_statement ::= continue ; + // Rule 122: jump_statement ::= goto identifier_token ; // - case 122: { action. consumeStatementContinue(); break; + case 122: { action. consumeStatementGoto(); break; } // - // Rule 123: jump_statement ::= break ; + // Rule 123: jump_statement ::= continue ; // - case 123: { action. consumeStatementBreak(); break; + case 123: { action. consumeStatementContinue(); break; } // - // Rule 124: jump_statement ::= return ; + // Rule 124: jump_statement ::= break ; // - case 124: { action. consumeStatementReturn(false); break; + case 124: { action. consumeStatementBreak(); break; } // - // Rule 125: jump_statement ::= return expression ; + // Rule 125: jump_statement ::= return ; // - case 125: { action. consumeStatementReturn(true); break; + case 125: { action. consumeStatementReturn(false); break; } // - // Rule 126: declaration ::= declaration_specifiers ; + // Rule 126: jump_statement ::= return expression ; // - case 126: { action. consumeDeclarationSimple(false); break; + case 126: { action. consumeStatementReturn(true); break; } // - // Rule 127: declaration ::= declaration_specifiers <openscope-ast> init_declarator_list ; + // Rule 127: declaration ::= declaration_specifiers ; // - case 127: { action. consumeDeclarationSimple(true); break; + case 127: { action. consumeDeclarationSimple(false); break; } // - // Rule 128: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers + // Rule 128: declaration ::= declaration_specifiers <openscope-ast> init_declarator_list ; // - case 128: { action. consumeDeclarationSpecifiersSimple(); break; + case 128: { action. consumeDeclarationSimple(true); break; } // - // Rule 129: declaration_specifiers ::= <openscope-ast> struct_or_union_declaration_specifiers + // Rule 129: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers // - case 129: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; + case 129: { action. consumeDeclarationSpecifiersSimple(); break; } // - // Rule 130: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers + // Rule 130: declaration_specifiers ::= <openscope-ast> struct_or_union_declaration_specifiers // case 130: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; } // - // Rule 131: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers + // Rule 131: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers // case 131: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; } // - // Rule 132: declaration_specifiers ::= <openscope-ast> typdef_name_declaration_specifiers + // Rule 132: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers // - case 132: { action. consumeDeclarationSpecifiersTypedefName(); break; + case 132: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; } // - // Rule 157: init_declarator ::= complete_declarator = initializer + // Rule 133: declaration_specifiers ::= <openscope-ast> typdef_name_declaration_specifiers // - case 157: { action. consumeDeclaratorWithInitializer(true); break; + case 133: { action. consumeDeclarationSpecifiersTypedefName(); break; } // - // Rule 159: storage_class_specifier ::= storage_class_specifier_token + // Rule 158: init_declarator ::= complete_declarator = initializer // - case 159: { action. consumeToken(); break; + case 158: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 165: simple_type_specifier ::= simple_type_specifier_token + // Rule 160: storage_class_specifier ::= storage_class_specifier_token // - case 165: { action. consumeToken(); break; + case 160: { action. consumeToken(); break; } // - // Rule 178: type_name_specifier ::= identifier_token + // Rule 166: simple_type_specifier ::= simple_type_specifier_token // - case 178: { action. consumeToken(); break; + case 166: { action. consumeToken(); break; } // - // Rule 179: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt } + // Rule 179: type_name_specifier ::= identifier_token // - case 179: { action. consumeTypeSpecifierComposite(false); break; + case 179: { action. consumeToken(); break; } // - // 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 } + // Rule 180: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt } // - case 180: { action. consumeTypeSpecifierComposite(true); break; + case 180: { action. consumeTypeSpecifierComposite(false); break; } // - // Rule 185: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token + // Rule 181: 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 185: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break; + case 181: { action. consumeTypeSpecifierComposite(true); break; } // - // Rule 186: elaborated_specifier ::= union elaborated_specifier_hook identifier_token + // Rule 186: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token // - case 186: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break; + case 186: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break; } // - // Rule 187: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token + // Rule 187: elaborated_specifier ::= union elaborated_specifier_hook identifier_token // - case 187: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break; + case 187: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break; } // - // Rule 193: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ; + // Rule 188: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token // - case 193: { action. consumeStructDeclaration(true); break; + case 188: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break; } // - // Rule 194: struct_declaration ::= specifier_qualifier_list ; + // Rule 194: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ; // - case 194: { action. consumeStructDeclaration(false); break; + case 194: { action. consumeStructDeclaration(true); break; } // - // Rule 195: struct_declaration ::= ERROR_TOKEN + // Rule 195: struct_declaration ::= specifier_qualifier_list ; // - case 195: { action. consumeDeclarationProblem(); break; + case 195: { action. consumeStructDeclaration(false); break; } // - // Rule 201: struct_declarator ::= : constant_expression + // Rule 196: struct_declaration ::= ERROR_TOKEN // - case 201: { action. consumeBitField(false); break; + case 196: { action. consumeDeclarationProblem(); break; } // - // Rule 202: struct_declarator ::= declarator : constant_expression + // Rule 202: struct_declarator ::= : constant_expression // - case 202: { action. consumeBitField(true); break; + case 202: { action. consumeBitField(false); break; } // - // Rule 203: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 203: struct_declarator ::= declarator : constant_expression // - case 203: { action. consumeTypeSpecifierEnumeration(false); break; + case 203: { action. consumeBitField(true); break; } // - // Rule 204: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 204: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } // - case 204: { action. consumeTypeSpecifierEnumeration(true); break; + case 204: { action. consumeTypeSpecifierEnumeration(false); break; } // - // Rule 210: enumerator ::= identifier_token + // Rule 205: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } // - case 210: { action. consumeEnumerator(false); break; + case 205: { action. consumeTypeSpecifierEnumeration(true); break; } // - // Rule 211: enumerator ::= identifier_token = constant_expression + // Rule 211: enumerator ::= identifier_token // - case 211: { action. consumeEnumerator(true); break; + case 211: { action. consumeEnumerator(false); break; } // - // Rule 212: type_qualifier ::= type_qualifier_token + // Rule 212: enumerator ::= identifier_token = constant_expression // - case 212: { action. consumeToken(); break; + case 212: { action. consumeEnumerator(true); break; } // - // Rule 216: function_specifier ::= inline + // Rule 213: type_qualifier ::= type_qualifier_token // - case 216: { action. consumeToken(); break; + case 213: { action. consumeToken(); break; } // - // Rule 218: declarator ::= <openscope-ast> pointer_seq direct_declarator + // Rule 217: function_specifier ::= inline // - case 218: { action. consumeDeclaratorWithPointer(true); break; + case 217: { action. consumeToken(); break; } // - // Rule 223: basic_direct_declarator ::= declarator_id_name + // Rule 219: declarator ::= <openscope-ast> pointer_seq direct_declarator // - case 223: { action. consumeDirectDeclaratorIdentifier(); break; + case 219: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 224: basic_direct_declarator ::= ( declarator ) + // Rule 224: basic_direct_declarator ::= declarator_id_name // - case 224: { action. consumeDirectDeclaratorBracketed(); break; + case 224: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 225: declarator_id_name ::= identifier + // Rule 225: basic_direct_declarator ::= ( declarator ) // - case 225: { action. consumeIdentifierName(); break; + case 225: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 226: array_direct_declarator ::= basic_direct_declarator array_modifier + // Rule 226: declarator_id_name ::= identifier // - case 226: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 226: { action. consumeIdentifierName(); break; } // - // Rule 227: array_direct_declarator ::= array_direct_declarator array_modifier + // Rule 227: array_direct_declarator ::= basic_direct_declarator array_modifier // case 227: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 229: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list ) + // Rule 228: array_direct_declarator ::= array_direct_declarator array_modifier // - case 229: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; + case 228: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 230: function_direct_declarator ::= basic_direct_declarator ( ) + // Rule 230: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list ) // - case 230: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; + case 230: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; } // - // Rule 232: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator + // Rule 231: function_direct_declarator ::= basic_direct_declarator ( ) // - case 232: { action. consumeDeclaratorWithPointer(true); break; + case 231: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; } // - // Rule 233: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list ) + // Rule 233: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator // - case 233: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; + case 233: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 235: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator + // Rule 234: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list ) // - case 235: { action. consumeDeclaratorWithPointer(true); break; + case 234: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; } // - // Rule 236: identifier_list ::= identifier + // Rule 236: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator // - case 236: { action. consumeIdentifierKnR(); break; + case 236: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 237: identifier_list ::= identifier_list , identifier + // Rule 237: identifier_list ::= identifier // case 237: { action. consumeIdentifierKnR(); break; } // - // Rule 238: array_modifier ::= [ ] + // Rule 238: identifier_list ::= identifier_list , identifier // - case 238: { action. consumeDirectDeclaratorArrayModifier(false); break; + case 238: { action. consumeIdentifierKnR(); break; } // - // Rule 239: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ] + // Rule 239: array_modifier ::= [ ] // - case 239: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break; + case 239: { action. consumeDirectDeclaratorArrayModifier(false); break; } // - // Rule 240: array_modifier ::= [ assignment_expression ] + // Rule 240: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ] // - case 240: { action. consumeDirectDeclaratorArrayModifier(true); break; + case 240: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break; } // - // Rule 241: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ] + // Rule 241: array_modifier ::= [ assignment_expression ] // - case 241: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break; + case 241: { action. consumeDirectDeclaratorArrayModifier(true); break; } // - // Rule 242: array_modifier ::= [ static assignment_expression ] + // Rule 242: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ] // - case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break; + case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break; } // - // Rule 243: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ] + // Rule 243: array_modifier ::= [ static assignment_expression ] // - case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; + case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break; } // - // Rule 244: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ] + // Rule 244: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ] // case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; } // - // Rule 245: array_modifier ::= [ * ] + // Rule 245: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ] // - case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break; + case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; } // - // Rule 246: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ] + // Rule 246: array_modifier ::= [ * ] // - case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break; + case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break; } // - // Rule 248: pointer_seq ::= pointer_hook * pointer_hook + // Rule 247: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ] // - case 248: { action. consumePointer(); break; + case 247: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break; } // - // Rule 249: pointer_seq ::= pointer_seq pointer_hook * pointer_hook + // Rule 249: pointer_seq ::= pointer_hook * pointer_hook // case 249: { action. consumePointer(); break; } // - // Rule 250: pointer_seq ::= pointer_hook * pointer_hook <openscope-ast> type_qualifier_list + // Rule 250: pointer_seq ::= pointer_seq pointer_hook * pointer_hook // - case 250: { action. consumePointerTypeQualifierList(); break; + case 250: { action. consumePointer(); break; } // - // Rule 251: pointer_seq ::= pointer_seq pointer_hook * pointer_hook <openscope-ast> type_qualifier_list + // Rule 251: pointer_seq ::= pointer_hook * pointer_hook <openscope-ast> type_qualifier_list // case 251: { action. consumePointerTypeQualifierList(); break; } // - // Rule 255: parameter_type_list ::= parameter_list + // Rule 252: pointer_seq ::= pointer_seq pointer_hook * pointer_hook <openscope-ast> type_qualifier_list // - case 255: { action. consumeEmpty(); break; + case 252: { action. consumePointerTypeQualifierList(); break; } // - // Rule 256: parameter_type_list ::= parameter_list , ... + // Rule 256: parameter_type_list ::= parameter_list // - case 256: { action. consumePlaceHolder(); break; + case 256: { action. consumeEmpty(); break; } // - // Rule 257: parameter_type_list ::= ... + // Rule 257: parameter_type_list ::= parameter_list , ... // case 257: { action. consumePlaceHolder(); break; } // - // Rule 260: parameter_declaration ::= declaration_specifiers complete_parameter_declarator + // Rule 258: parameter_type_list ::= ... // - case 260: { action. consumeParameterDeclaration(); break; + case 258: { action. consumePlaceHolder(); break; } // - // Rule 261: parameter_declaration ::= declaration_specifiers + // Rule 261: parameter_declaration ::= declaration_specifiers complete_parameter_declarator // - case 261: { action. consumeParameterDeclarationWithoutDeclarator(); break; + case 261: { action. consumeParameterDeclaration(); break; } // - // Rule 264: type_id ::= specifier_qualifier_list + // Rule 262: parameter_declaration ::= declaration_specifiers // - case 264: { action. consumeTypeId(false); break; + case 262: { action. consumeParameterDeclarationWithoutDeclarator(); break; } // - // Rule 265: type_id ::= specifier_qualifier_list abstract_declarator + // Rule 265: type_id ::= specifier_qualifier_list // - case 265: { action. consumeTypeId(true); break; + case 265: { action. consumeTypeId(false); break; } // - // Rule 267: abstract_declarator ::= <openscope-ast> pointer_seq + // Rule 266: type_id ::= specifier_qualifier_list abstract_declarator // - case 267: { action. consumeDeclaratorWithPointer(false); break; + case 266: { action. consumeTypeId(true); break; } // - // Rule 268: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator + // Rule 268: abstract_declarator ::= <openscope-ast> pointer_seq // - case 268: { action. consumeDeclaratorWithPointer(true); break; + case 268: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 272: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 269: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator // - case 272: { action. consumeDirectDeclaratorBracketed(); break; + case 269: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 273: array_direct_abstract_declarator ::= array_modifier + // Rule 273: basic_direct_abstract_declarator ::= ( abstract_declarator ) // - case 273: { action. consumeDirectDeclaratorArrayDeclarator(false); break; + case 273: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 274: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier + // Rule 274: array_direct_abstract_declarator ::= array_modifier // - case 274: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 274: { action. consumeDirectDeclaratorArrayDeclarator(false); break; } // - // Rule 275: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier + // Rule 275: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier // case 275: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 276: function_direct_abstract_declarator ::= ( ) + // Rule 276: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier // - case 276: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break; + case 276: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + } + + // + // Rule 277: function_direct_abstract_declarator ::= ( ) + // + case 277: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break; } // - // Rule 277: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( ) + // Rule 278: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( ) // - case 277: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; + case 278: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; } // - // Rule 278: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list ) + // Rule 279: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list ) // - case 278: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break; + case 279: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break; } // - // Rule 279: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list ) + // Rule 280: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list ) // - case 279: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; + case 280: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; } // - // Rule 280: initializer ::= assignment_expression + // Rule 281: initializer ::= assignment_expression // - case 280: { action. consumeInitializer(); break; + case 281: { action. consumeInitializer(); break; } // - // Rule 282: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq comma_opt } end_initializer_list + // Rule 283: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq comma_opt } end_initializer_list // - case 282: { action. consumeInitializerList(); break; + case 283: { action. consumeInitializerList(); break; } // - // Rule 283: initializer_list ::= { <openscope-ast> } + // Rule 284: initializer_list ::= { <openscope-ast> } // - case 283: { action. consumeInitializerList(); break; + case 284: { action. consumeInitializerList(); break; } // - // Rule 284: start_initializer_list ::= $Empty + // Rule 285: start_initializer_list ::= $Empty // - case 284: { action. initializerListStart(); break; + case 285: { action. initializerListStart(); break; } // - // Rule 285: end_initializer_list ::= $Empty + // Rule 286: end_initializer_list ::= $Empty // - case 285: { action. initializerListEnd(); break; + case 286: { action. initializerListEnd(); break; } // - // Rule 290: designated_initializer ::= <openscope-ast> designation = initializer + // Rule 291: designated_initializer ::= <openscope-ast> designation = initializer // - case 290: { action. consumeInitializerDesignated(); break; + case 291: { action. consumeInitializerDesignated(); break; } // - // Rule 294: designator_base ::= [ constant_expression ] + // Rule 295: designator_base ::= [ constant_expression ] // - case 294: { action. consumeDesignatorArray(); break; + case 295: { action. consumeDesignatorArray(); break; } // - // Rule 295: designator_base ::= . identifier_token + // Rule 296: designator_base ::= . identifier_token // - case 295: { action. consumeDesignatorField(); break; + case 296: { action. consumeDesignatorField(); break; } // - // Rule 296: designator ::= [ constant_expression ] + // Rule 297: designator ::= [ constant_expression ] // - case 296: { action. consumeDesignatorArray(); break; + case 297: { action. consumeDesignatorArray(); break; } // - // Rule 297: designator ::= . identifier_token + // Rule 298: designator ::= . identifier_token // - case 297: { action. consumeDesignatorField(); break; + case 298: { action. consumeDesignatorField(); break; } // - // Rule 298: translation_unit ::= external_declaration_list + // Rule 299: translation_unit ::= external_declaration_list // - case 298: { action. consumeTranslationUnit(); break; + case 299: { action. consumeTranslationUnit(); break; } // - // Rule 299: translation_unit ::= $Empty + // Rule 300: translation_unit ::= $Empty // - case 299: { action. consumeTranslationUnit(); break; + case 300: { action. consumeTranslationUnit(); break; } // - // Rule 304: external_declaration ::= ; + // Rule 305: external_declaration ::= ; // - case 304: { action. consumeDeclarationEmpty(); break; + case 305: { action. consumeDeclarationEmpty(); break; } // - // Rule 305: external_declaration ::= ERROR_TOKEN + // Rule 306: external_declaration ::= ERROR_TOKEN // - case 305: { action. consumeDeclarationProblem(); break; + case 306: { action. consumeDeclarationProblem(); break; } // - // Rule 309: function_definition ::= <openscope-ast> function_declarator function_body + // Rule 310: function_definition ::= <openscope-ast> function_declarator function_body // - case 309: { action. consumeFunctionDefinition(false); break; + case 310: { action. consumeFunctionDefinition(false); break; } // - // Rule 310: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement + // Rule 311: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement // - case 310: { action. consumeFunctionDefinitionKnR(); break; + case 311: { action. consumeFunctionDefinitionKnR(); break; } // - // Rule 311: normal_function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body + // Rule 312: normal_function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body // - case 311: { action. consumeFunctionDefinition(true); break; + case 312: { action. consumeFunctionDefinition(true); break; } // - // Rule 312: function_body ::= { } + // Rule 313: function_body ::= { } // - case 312: { action. consumeStatementCompoundStatement(false); break; + case 313: { action. consumeStatementCompoundStatement(false); break; } // - // Rule 313: function_body ::= { <openscope-ast> block_item_list } + // Rule 314: function_body ::= { <openscope-ast> block_item_list } // - case 313: { action. consumeStatementCompoundStatement(true); break; + case 314: { action. consumeStatementCompoundStatement(true); break; } // - // Rule 330: attribute_parameter ::= assignment_expression + // Rule 331: attribute_parameter ::= assignment_expression // - case 330: { action. consumeIgnore(); break; + case 331: { action. consumeIgnore(); break; } // - // Rule 341: extended_asm_declaration ::= asm volatile_opt ( extended_asm_param_seq ) ; + // Rule 342: extended_asm_declaration ::= asm volatile_opt ( extended_asm_param_seq ) ; // - case 341: { gnuAction.consumeDeclarationASM(); break; + case 342: { gnuAction.consumeDeclarationASM(); break; } // - // Rule 352: unary_expression ::= __alignof__ unary_expression + // Rule 353: unary_expression ::= __alignof__ unary_expression // - case 352: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_alignOf); break; + case 353: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_alignOf); break; } // - // Rule 353: unary_expression ::= typeof unary_expression + // Rule 354: unary_expression ::= typeof unary_expression // - case 353: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); break; + case 354: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); break; } // - // Rule 354: relational_expression ::= relational_expression >? shift_expression + // Rule 355: relational_expression ::= relational_expression >? shift_expression // - case 354: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_max); break; + case 355: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_max); break; } // - // Rule 355: relational_expression ::= relational_expression <? shift_expression + // Rule 356: relational_expression ::= relational_expression <? shift_expression // - case 355: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_min); break; + case 356: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_min); break; } // - // Rule 356: conditional_expression ::= logical_or_expression ? <empty> : assignment_expression + // Rule 357: conditional_expression ::= logical_or_expression ? <empty> : assignment_expression // - case 356: { action. consumeExpressionConditional(); break; + case 357: { action. consumeExpressionConditional(); break; } // - // Rule 357: primary_expression ::= ( compound_statement ) + // Rule 358: primary_expression ::= ( compound_statement ) // - case 357: { gnuAction.consumeCompoundStatementExpression(); break; + case 358: { gnuAction.consumeCompoundStatementExpression(); break; } // - // Rule 358: labeled_statement ::= case case_range_expression : statement + // Rule 359: labeled_statement ::= case case_range_expression : statement // - case 358: { action. consumeStatementCase(); break; + case 359: { action. consumeStatementCase(); break; } // - // Rule 359: case_range_expression ::= constant_expression ... constant_expression + // Rule 360: case_range_expression ::= constant_expression ... constant_expression // - case 359: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_assign); break; + case 360: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_assign); break; } // - // Rule 363: typeof_type_specifier ::= typeof unary_expression + // Rule 364: typeof_type_specifier ::= typeof unary_expression // - case 363: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); break; + case 364: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); break; } // - // Rule 364: typeof_type_specifier ::= typeof ( type_id ) + // Rule 365: typeof_type_specifier ::= typeof ( type_id ) // - case 364: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_typeof); break; + case 365: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_typeof); break; } // - // Rule 365: declaration_specifiers ::= <openscope-ast> typeof_declaration_specifiers + // Rule 366: declaration_specifiers ::= <openscope-ast> typeof_declaration_specifiers // - case 365: { action. consumeDeclarationSpecifiersTypeof(); break; + case 366: { action. consumeDeclarationSpecifiersTypeof(); break; } // - // Rule 381: field_name_designator ::= identifier_token : + // Rule 382: field_name_designator ::= identifier_token : // - case 381: { action. consumeDesignatorFieldGCC(); break; + case 382: { action. consumeDesignatorFieldGCC(); break; } // - // Rule 382: array_range_designator ::= [ constant_expression ... constant_expression ] + // Rule 383: array_range_designator ::= [ constant_expression ... constant_expression ] // - case 382: { action. consumeDesignatorArrayRange(); break; + case 383: { action. consumeDesignatorArrayRange(); break; } // - // Rule 383: designated_initializer ::= <openscope-ast> field_name_designator initializer + // Rule 384: designated_initializer ::= <openscope-ast> field_name_designator initializer // - case 383: { action. consumeInitializerDesignated(); break; + case 384: { action. consumeInitializerDesignated(); break; } // - // Rule 384: block_item ::= normal_function_definition + // Rule 385: block_item ::= normal_function_definition // - case 384: { action. consumeStatementDeclaration(); break; + case 385: { action. consumeStatementDeclaration(); break; } // - // Rule 386: no_sizeof_type_name_start ::= ERROR_TOKEN + // Rule 387: no_sizeof_type_name_start ::= ERROR_TOKEN // - case 386: { action. consumeEmpty(); break; + case 387: { action. consumeEmpty(); 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 3f554dedaf8..41c1b0f2035 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 @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 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 @@ -45,303 +45,303 @@ public class GCCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 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, + 2,5,7,5,1,0,7,2,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,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,3,4,5, - 6,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, - 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,1,3,6, - 4,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,4, - 6,1,0,1,3,1,3,0,1,4, - 5,2,2,3,3,5,3,4,3,1, - 2,2,2,4,2,1,1,2,2,3, - 2,2,3,1,1,1,1,1,1,1, - 2,5,3,1,1,1,-39,0,0,0, - 0,0,0,-35,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -241,0,-2,0,-80,-118,-240,0,0,0, - -31,0,-173,0,-41,0,0,0,0,0, - 0,-17,0,0,0,0,0,0,0,0, - 0,0,0,-52,0,0,0,0,0,0, - -287,0,0,0,0,0,0,-40,0,0, - 0,0,0,-4,0,-170,0,0,0,0, - 0,-75,0,0,0,0,0,0,0,0, - -16,0,-18,-1,0,0,0,0,0,0, - 0,0,-119,-33,0,0,0,0,0,0, - 0,-19,0,0,0,0,0,0,0,0, - 0,-125,0,0,0,0,-176,-20,0,-21, - 0,0,0,0,0,0,-199,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-281,0,0,0,0,0, - 0,0,0,0,0,0,-134,0,-260,-289, - 0,0,0,0,0,0,0,0,-32,0, - -232,0,0,0,-22,0,-250,-278,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,-61,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-136, - 0,0,0,0,0,0,0,-8,0,0, - 0,0,0,0,0,0,0,-130,0,-273, - 0,0,-220,0,0,0,0,-283,0,0, - 0,0,0,0,0,0,0,0,0,-138, - 0,0,0,0,0,0,0,0,0,0, - 0,-297,0,-23,0,-311,0,0,0,0, - 0,0,-24,0,0,0,0,0,0,0, - -159,0,0,0,0,0,0,0,0,0, - -310,0,0,0,0,-25,0,-36,-53,0, - 0,0,0,0,0,0,0,0,0,-78, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-147,0,0,0,0,0,0, - 0,0,0,0,-139,0,0,-252,0,0, - 0,0,0,0,-305,0,0,0,0,0, - 0,-148,0,0,0,0,0,0,0,0, - 0,-140,0,-155,0,-3,0,0,0,0, - 0,0,-26,0,0,0,0,0,-149,0, - -186,0,0,0,0,0,0,0,0,0, - -284,0,0,-124,0,0,0,0,0,0, - 0,0,0,0,0,-27,0,-28,-168,0, - 0,0,0,0,0,0,0,0,0,-83, - 0,-157,0,0,0,0,0,0,-248,0, - 0,0,0,-123,-84,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-187,0,-46,0,0,0,0,0,0, - 0,0,0,0,0,-169,0,0,0,0, - 0,0,0,0,0,0,0,0,-204,0, - -85,0,0,0,0,0,0,0,0,-313, - 0,-94,0,-318,0,0,0,0,0,0, - -164,0,0,0,0,-99,0,0,-222,0, - 0,0,0,0,0,0,0,-163,-243,0, - 0,-29,0,0,0,0,0,0,-37,0, - 0,0,0,-315,0,-100,-244,0,0,0, - 0,0,0,0,0,-101,-288,-102,0,-103, - 0,0,0,-62,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-233,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-63,0,0,0,0,0,0,-181,0, - 0,0,0,0,0,0,-104,0,0,0, - 0,0,0,0,0,-105,0,-263,0,-64, - 0,0,0,0,0,0,-183,0,0,0, - 0,0,-245,0,-299,0,0,0,0,0, - 0,0,0,0,-106,-303,0,-65,0,0, - 0,0,0,0,-201,0,0,0,0,-312, - 0,0,-320,0,0,0,0,0,0,0, - 0,0,-107,0,0,-66,0,0,0,0, - 0,0,-218,0,0,0,0,-334,0,0, - -108,0,0,0,0,0,0,0,0,-109, - 0,-328,0,-67,0,0,0,0,0,0, - -242,0,0,0,0,-343,-256,0,-110,0, - 0,0,0,0,0,0,0,0,0,-111, - 0,-68,0,0,0,0,0,0,-255,0, - 0,0,0,-112,-280,0,-113,0,0,0, - 0,0,0,0,0,-114,0,-115,0,-69, - 0,0,0,0,0,0,0,0,0,0, - 0,-116,-295,-117,-120,0,0,0,0,0, - 0,0,0,-122,-133,-143,0,-70,0,0, - 0,0,0,0,0,0,0,0,0,-150, - -319,-151,-153,0,0,0,0,0,0,0, - 0,-154,-294,-156,0,-71,0,0,0,0, - 0,0,0,0,0,0,0,-158,-165,-174, - -178,0,0,0,0,0,0,0,0,-182, - -302,-185,0,-72,0,0,0,0,0,0, - 0,0,0,0,0,-190,-194,-207,-195,0, - 0,0,0,0,0,0,0,-96,0,-197, - 0,-5,0,0,0,0,0,0,-126,0, - 0,0,0,-213,-215,-161,0,0,0,0, - 0,0,0,0,0,0,0,-325,-225,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-6,0,0,0,0,0,0, - 0,0,0,0,-237,-60,0,0,0,0, - 0,0,0,0,0,0,0,-239,-261,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-73,0,0,0,-262,-271,-272,-282, - 0,-162,0,0,0,0,0,0,-286,0, - 0,0,0,-301,-304,-309,0,0,0,0, - 0,0,0,0,0,-322,-330,0,0,-202, - 0,0,0,0,0,0,-335,0,0,0, - 0,0,-219,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-203,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-208,0,0,-229,0,0,0,0, - 0,0,-74,0,0,0,0,-128,-131,-171, - -179,0,0,0,0,0,0,0,0,-285, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-296,0,0,0, - 0,0,0,0,0,0,0,0,-132,0, - 0,-184,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,0,0,0,0,0,-321,0,0, - 0,0,0,0,0,0,0,0,0,-211, - -259,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,-177,0,0,0, - 0,0,0,0,0,0,0,0,-337,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-135,0,0,0,0,0,0, - 0,0,0,-98,0,0,0,0,0,0, - 0,-127,0,0,0,0,0,0,-160,0, - -145,0,0,0,0,0,-212,0,0,0, - 0,0,0,-231,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-137,0,0,0,0,0,0, - 0,-214,0,-224,-198,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-141,0,0,0,0,0,0,-249, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-47,0, - 0,0,0,0,0,0,0,0,0,0, - -92,0,0,0,0,0,0,0,0,-306, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-332,0,0,-34, - -223,0,0,0,0,0,0,0,0,0, + 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,3,4, + 5,6,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,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,1,3, + 6,4,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, + 4,6,1,0,1,3,1,3,0,1, + 4,5,2,2,3,3,5,3,4,3, + 1,2,2,2,4,2,1,1,2,2, + 3,2,2,3,1,1,1,1,1,1, + 1,2,5,3,1,1,1,-39,0,0, + 0,0,0,0,-35,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-241,0,-2,0,-80,-118,-240,0,0, + 0,-31,0,-173,0,-41,0,0,0,0, + 0,0,-17,0,0,0,0,0,0,0, + 0,0,0,0,-52,0,0,0,0,0, + 0,-287,0,0,0,0,0,0,-40,0, + 0,0,0,0,-4,0,-170,0,0,0, + 0,0,-75,0,0,0,0,0,0,0, + 0,-16,0,-18,-1,0,0,0,0,0, + 0,0,0,-119,-33,0,0,0,0,0, + 0,0,-19,0,0,0,0,0,0,0, + 0,0,-125,0,0,0,0,-176,-20,0, + -21,0,0,0,0,0,0,-199,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-281,0,0,0,0, + 0,0,0,0,0,0,0,-134,0,-260, + -289,0,0,0,0,0,0,0,0,-32, + 0,-232,0,0,0,-22,0,-250,-278,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,-61,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -136,0,0,0,0,0,0,0,-8,0, + 0,0,0,0,0,0,0,0,-130,0, + -273,0,0,-220,0,0,0,0,-283,0, + 0,0,0,0,0,0,0,0,0,0, + -138,0,0,0,0,0,0,0,0,0, + 0,0,-297,0,-23,0,-311,0,0,0, + 0,0,0,-24,0,0,0,0,0,0, + 0,-159,0,0,0,0,0,0,0,0, + 0,-310,0,0,0,0,-25,0,-36,-53, + 0,0,0,0,0,0,0,0,0,0, + -78,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-147,0,0,0,0,0, + 0,0,0,0,0,-139,0,0,-252,0, + 0,0,0,0,0,-305,0,0,0,0, + 0,0,-148,0,0,0,0,0,0,0, + 0,0,-140,0,-155,0,-3,0,0,0, + 0,0,0,-26,0,0,0,0,0,-149, + 0,-186,0,0,0,0,0,0,0,0, + 0,-284,0,0,-124,0,0,0,0,0, + 0,0,0,0,0,0,-27,0,-28,-168, + 0,0,0,0,0,0,0,0,0,0, + -83,0,-157,0,0,0,0,0,0,-248, + 0,0,0,0,-123,-84,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-187,0,-46,0,0,0,0,0, + 0,0,0,0,0,0,-169,0,0,0, + 0,0,0,0,0,0,0,0,0,-204, + 0,-85,0,0,0,0,0,0,0,0, + -313,0,-94,0,-318,0,0,0,0,0, + 0,-164,0,0,0,0,-99,0,0,-222, + 0,0,0,0,0,0,0,0,-163,-243, + 0,0,-29,0,0,0,0,0,0,-37, + 0,0,0,0,-315,0,-100,-244,0,0, + 0,0,0,0,0,0,-101,-288,-102,0, + -103,0,0,0,-62,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-233, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-63,0,0,0,0,0,0,-181, + 0,0,0,0,0,0,0,-104,0,0, + 0,0,0,0,0,0,-105,0,-263,0, + -64,0,0,0,0,0,0,-183,0,0, + 0,0,0,-245,0,-299,0,0,0,0, + 0,0,0,0,0,-106,-303,0,-65,0, + 0,0,0,0,0,-201,0,0,0,0, + -312,0,0,-320,0,0,0,0,0,0, + 0,0,0,-107,0,0,-66,0,0,0, + 0,0,0,-218,0,0,0,0,-334,0, + 0,-108,0,0,0,0,0,0,0,0, + -109,0,-328,0,-67,0,0,0,0,0, + 0,-242,0,0,0,0,-343,-256,0,-110, + 0,0,0,0,0,0,0,0,0,0, + -111,0,-68,0,0,0,0,0,0,-255, + 0,0,0,0,-112,-280,0,-113,0,0, + 0,0,0,0,0,0,-114,0,-115,0, + -69,0,0,0,0,0,0,0,0,0, + 0,0,-116,-295,-117,-120,0,0,0,0, + 0,0,0,0,-122,-133,-143,0,-70,0, + 0,0,0,0,0,0,0,0,0,0, + -150,-319,-151,-153,0,0,0,0,0,0, + 0,0,-154,-294,-156,0,-71,0,0,0, + 0,0,0,0,0,0,0,0,-158,-165, + -174,-178,0,0,0,0,0,0,0,0, + -182,-302,-185,0,-72,0,0,0,0,0, + 0,0,0,0,0,0,-190,-194,-207,-195, + 0,0,0,0,0,0,0,0,-96,0, + -197,0,-5,0,0,0,0,0,0,-126, + 0,0,0,0,-213,-215,-161,0,0,0, + 0,0,0,0,0,0,0,0,-325,-225, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-6,0,0,0,0,0, + 0,0,0,0,0,-237,-60,0,0,0, + 0,0,0,0,0,0,0,0,-239,-261, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-73,0,0,0,-262,-271,-272, + -282,0,-162,0,0,0,0,0,0,-286, + 0,0,0,0,-301,-304,-309,0,0,0, + 0,0,0,0,0,0,-322,-330,0,0, + -202,0,0,0,0,0,0,-335,0,0, + 0,0,0,-219,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-203,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-208,0,0,-229,0,0,0, + 0,0,0,-74,0,0,0,0,-128,-131, + -171,-179,0,0,0,0,0,0,0,0, + -285,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-296,0,0, + 0,0,0,0,0,0,0,0,0,-132, + 0,0,-184,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,0,0,0,0,0,-321,0, + 0,0,0,0,0,0,0,0,0,0, + -211,-259,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,-177,0,0, + 0,0,0,0,0,0,0,0,0,-337, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-135,0,0,0,0,0, + 0,0,0,0,-98,0,0,0,0,0, + 0,0,-127,0,0,0,0,0,0,-160, + 0,-145,0,0,0,0,0,-212,0,0, + 0,0,0,0,-231,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-137,0,0,0,0,0, + 0,0,-214,0,-224,-198,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-141,0,0,0,0,0,0, + -249,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-47, + 0,0,0,0,0,0,0,0,0,0, + 0,-92,0,0,0,0,0,0,0,0, + -306,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-332,0,0, + -34,-223,0,0,0,0,0,0,0,0, 0,0,0,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, - -265,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-226,0,0,0, - 0,0,0,-258,-293,-189,0,0,0,0, - 0,0,0,-227,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-79,0, + 0,-265,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-226,0,0, + 0,0,0,0,-258,-293,-189,0,0,0, + 0,0,0,0,-227,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-172,0,-257,0, - 0,0,0,0,-87,0,0,0,0,0, + 0,0,0,0,0,0,0,-172,0,-257, + 0,0,0,0,0,-87,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-274,0,0,0,0,0,-246,0,0, - 0,-251,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-167,-191,0,0,0, - -206,0,0,0,0,0,0,0,0,0, + 0,0,-274,0,0,0,0,0,-246,0, + 0,0,-251,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-167,-191,0,0, + 0,-206,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,-48, + 0,0,0,0,0,0,-253,0,0,0, + -48,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,-254,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-336,-254,0,0,0,0, + 0,0,-270,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,-270,0,0,0,0,0,0,0,0, - 0,0,0,-49,0,0,0,0,0,0, + 0,0,0,0,-291,0,0,-57,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-291,0,0,-57,0,0,0, - 0,0,0,0,0,0,0,0,0,-323, - 0,0,0,0,0,0,0,0,-300,0, - 0,0,0,0,0,0,0,-58,0,0, + -323,0,0,0,0,0,0,0,0,-300, + 0,0,0,0,0,0,0,0,-58,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-279, - 0,0,0,0,0,0,0,0,-235,0, - 0,0,0,0,0,0,-316,0,0,0, - 0,0,0,0,0,0,0,0,-50,0, 0,0,0,0,0,0,0,0,0,0, + -279,0,0,0,0,0,0,0,0,-235, + 0,0,0,0,0,0,0,-316,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,-308,0,0, - -76,0,0,0,0,0,0,-317,0,0, - 0,0,0,-54,0,0,0,0,0,0, - -82,0,0,0,0,0,-326,-331,0,0, - 0,0,0,0,0,0,-341,0,0,0, - 0,0,0,0,0,0,0,-210,0,-129, - 0,0,0,0,0,-216,0,0,0,0, - 0,0,0,0,0,-152,0,0,0,0, - 0,-342,0,0,0,0,0,0,0,0, - 0,-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,-193,0,0,0, + 0,0,0,0,0,0,0,0,-308,0, + 0,-76,0,0,0,0,0,0,-317,0, + 0,0,0,0,-54,0,0,0,0,0, + 0,-82,0,0,0,0,0,-326,-331,0, + 0,0,0,0,0,0,0,-341,0,0, + 0,0,0,0,0,0,0,0,-210,0, + -129,0,0,0,0,0,-216,0,0,0, + 0,0,0,0,0,0,-152,0,0,0, + 0,0,-342,0,0,0,0,0,0,0, + 0,0,-205,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-86,0,-196,0,0,0, + 0,0,0,0,0,0,0,-193,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-228,0,0, + 0,0,0,0,0,-86,0,-196,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-230,0,0, + 0,0,0,0,0,0,0,0,-228,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-230,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,0,0,0,-247,-266, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-268,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -234,0,0,0,0,0,0,0,0,-247, + -266,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-268,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-269,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-329,0,0,0, + 0,0,0,0,0,0,0,-269,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-340,0,0, - -192,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-345,0,0, - -221,0,0,0,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, - -267,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-55,0, + 0,0,0,0,0,0,0,0,-340,0, + 0,-192,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-345,0, + 0,-221,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-56,0,0,0,0, - 0,0,-121,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-51,0, - 0,0,0,0,0,-88,0,0,0,0, + 0,-267,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-55, 0,0,0,0,0,0,0,0,0,0, - 0,-42,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-91,0,0,0, - -93,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-236,0,0, - 0,0,0,0,0,-95,0,0,0,0, + 0,0,0,0,0,0,-56,0,0,0, + 0,0,0,-121,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-51, + 0,0,0,0,0,0,-88,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-7,0,0,0,0,0,0,0,0, + 0,0,-42,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-91,0,0, + 0,-93,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-236,0, + 0,0,0,0,0,0,-95,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-9, + 0,0,-7,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-10,0,0,0,0,0,0,0, - 0,-11,0,0,0,0,0,0,0,0, - -12,0,0,0,0,0,0,0,0,-13, - 0,0,0,0,0,0,-30,0,0,-38, - 0,0,0,0,-275,0,0,-43,0,0, 0,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,-45,0,0, - 0,0,0,0,0,0,0,0,-144,0, - 0,0,0,-77,0,0,0,-209,0,0, + -9,0,0,0,0,0,0,0,0,0, + 0,0,0,-10,0,0,0,0,0,0, + 0,0,-11,0,0,0,0,0,0,0, + 0,-12,0,0,0,0,0,0,0,0, + -13,0,0,0,0,0,0,-30,0,0, + -38,0,0,0,0,-275,0,0,-43,0, 0,0,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,-45,0, + 0,0,0,0,0,0,0,0,0,-144, + 0,0,0,0,-77,0,0,0,-209,0, 0,0,0,0,0,0,0,0,0,0, - -188,0,0,0,-238,0,0,0,-14,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-277,0,0, - 0,0,0,0,0,0,-89,0,0,0, + 0,-188,0,0,0,-238,0,0,0,-14, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-15,0,0,0, - 0,0,0,0,0,0,0,0,-90,0, - 0,0,0,0,0,0,0,0,-217,0, - 0,0,0,0,0,0,0,0,0,-97, - 0,0,0,0,0,0,0,-142,0,0, - 0,0,0,0,-166,0,0,0,-180,0, - 0,0,0,-200,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-277,0, + 0,0,0,0,0,0,0,-89,0,0, 0,0,0,0,0,0,0,0,0,0, - -290,0,0,-292,0,-276,0,0,0,-175, - 0,0,0,0,-59,-324,0,0,0,0, + 0,0,0,0,0,0,0,-15,0,0, + 0,0,0,0,0,0,0,0,0,-90, + 0,0,0,0,0,0,0,0,0,-217, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-146,-338,0,0,0, - 0,0,0,0,0,0,0,-264,0,0, - 0,0,0,0,0,0,0,0,0,-298, - 0,0,0,0,0,0,0,-307,-327,0, + -97,0,0,0,0,0,0,0,-142,0, + 0,0,0,0,0,-166,0,0,0,-180, + 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,-339,0, - 0,0,0,0,0,0,0,-344,0,0, + 0,-290,0,0,-292,0,-276,0,0,0, + -175,0,0,0,0,-59,-324,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-146,-338,0,0, + 0,0,0,0,0,0,0,0,-264,0, 0,0,0,0,0,0,0,0,0,0, + -298,0,0,0,0,0,0,0,-307,-327, 0,0,0,0,0,0,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,0,0,0,-344,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,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; @@ -363,316 +363,316 @@ public class GCCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 119,95,95,58,35,35,35,35,35,35, 35,36,36,36,29,29,96,96,71,71, 37,37,38,38,38,67,67,39,39,39, - 39,40,40,40,40,40,66,66,31,31, - 31,31,31,53,53,53,103,103,98,98, - 98,98,99,99,99,100,100,100,101,101, - 101,102,102,102,97,97,85,85,86,54, - 56,56,56,56,56,72,73,73,73,73, - 73,73,73,73,73,73,73,73,84,81, - 81,120,121,87,87,82,82,82,88,104, - 104,105,105,89,89,89,60,122,122,106, - 90,90,90,83,83,123,107,107,108,108, - 91,91,32,33,33,33,55,51,51,42, - 42,42,42,45,45,47,43,43,44,48, - 48,124,124,46,143,143,125,125,52,52, - 52,52,52,52,52,52,52,109,61,61, - 61,61,49,75,75,74,74,74,76,76, - 69,69,126,126,79,79,77,77,77,62, - 62,62,63,64,64,64,65,65,65,65, - 68,68,57,57,59,128,127,127,127,127, - 110,129,130,130,131,131,132,132,144,144, - 145,145,146,146,146,146,148,148,147,147, - 147,78,133,133,12,12,12,28,28,13, - 13,134,134,111,111,111,112,112,135,135, - 113,113,14,14,136,136,114,114,114,114, - 15,70,137,137,138,138,115,115,115,92, - 92,92,6,6,16,16,23,3,36,139, - 116,116,116,93,93,31,66,53,86,86, - 86,106,106,106,123,120,121,49,88,131, - 131,140,141,110,71,117,117,331,912,17, - 21,18,481,828,560,44,502,483,520,367, - 314,315,316,518,684,585,716,693,826,793, - 74,1851,1379,443,91,521,901,1429,357,134, - 212,672,31,1319,178,1647,20,17,21,18, - 481,42,500,44,926,367,314,315,316,387, - 136,133,135,159,1647,20,17,21,18,481, - 42,1872,44,502,1083,134,212,87,398,138, - 165,394,949,196,629,1634,1279,274,142,145, - 148,151,645,28,1895,1185,136,133,135,159, - 360,1825,464,451,517,2181,2285,2576,2607,2611, - 1278,786,2730,249,462,138,165,1155,254,212, - 938,786,876,2636,142,145,148,151,104,87, - 1895,718,645,22,385,25,360,753,302,89, - 37,2181,2285,2576,2607,2611,1278,1551,20,17, - 21,18,481,828,411,44,502,483,520,2636, - 1370,451,292,518,684,585,716,693,826,793, - 74,658,380,240,280,1445,20,17,21,18, - 481,828,411,44,502,483,520,908,2919,1469, - 1905,518,684,585,716,693,826,793,74,672, - 31,1685,280,293,281,38,1185,753,1575,20, - 17,21,18,481,828,286,44,502,483,520, - 369,413,254,212,518,684,585,716,693,826, - 793,74,281,1463,1185,280,1647,20,17,21, - 18,481,42,288,44,502,483,520,321,1294, - 672,186,518,684,585,716,1184,287,1647,20, - 17,21,18,481,42,281,40,1185,1747,1183, - 398,1657,275,1661,417,2950,157,1770,1599,20, - 17,21,18,481,828,289,44,502,483,520, - 672,185,277,24,518,684,585,716,693,826, - 793,74,672,1349,444,280,1623,20,17,21, - 18,481,828,543,44,502,483,520,322,1294, - 312,1428,518,684,585,716,693,826,793,74, - 28,301,1185,280,311,281,541,1185,560,1647, - 20,17,21,18,481,42,383,44,502,1101, - 1397,20,17,21,18,481,828,1289,44,502, - 483,520,2161,281,783,1185,518,684,585,716, - 693,826,793,74,290,1862,1250,512,1743,20, - 17,21,18,481,828,1722,44,502,483,520, - 123,238,783,209,518,684,585,716,693,826, - 793,74,672,187,783,330,1647,20,17,21, - 18,481,828,416,44,502,483,520,122,672, - 872,783,518,684,585,716,693,826,793,74, - 111,672,295,91,1719,20,17,21,18,481, - 828,1936,44,502,483,520,888,125,1727,645, - 518,684,585,716,693,826,793,74,1280,282, - 554,829,1647,20,17,21,18,481,42,1747, - 44,502,483,520,739,999,2941,347,518,684, - 585,716,693,826,793,93,318,314,315,316, - 242,328,783,230,1647,20,17,21,18,481, - 42,464,44,502,483,966,1421,20,17,21, - 18,481,828,2044,44,502,483,520,121,645, - 1269,1047,518,684,585,716,693,826,793,74, - 672,297,1499,899,1743,20,17,21,18,481, - 828,249,44,502,483,520,1086,239,527,783, - 518,684,585,716,693,826,793,74,456,1182, - 241,330,1647,20,17,21,18,481,828,560, - 44,502,483,520,1922,2988,1333,645,518,684, - 585,716,693,826,793,74,49,1182,169,92, - 181,253,212,19,1647,20,17,21,18,481, - 828,1267,44,502,483,520,254,212,283,1787, - 518,684,585,716,693,826,793,74,243,253, - 212,85,1647,20,17,21,18,481,828,249, - 44,502,483,520,570,127,2889,630,518,684, - 585,716,693,826,793,74,1002,329,783,84, - 1647,20,17,21,18,481,828,249,44,502, - 483,520,954,645,1413,783,518,684,585,716, - 693,826,793,74,3000,1065,783,83,1647,20, - 17,21,18,481,828,1330,44,502,483,520, - 1920,3009,939,1935,518,684,585,716,693,826, - 793,74,341,775,244,82,1647,20,17,21, - 18,481,828,249,44,502,483,520,645,193, - 1571,911,518,684,585,716,693,826,793,74, - 520,294,783,81,1647,20,17,21,18,481, - 828,1866,44,502,483,520,645,456,967,379, - 518,684,585,716,693,826,793,74,117,296, - 474,80,1647,20,17,21,18,481,828,249, - 44,502,483,520,751,456,2944,170,518,684, - 585,716,693,826,793,74,807,382,969,79, - 1647,20,17,21,18,481,828,179,44,502, - 483,520,1147,456,836,1308,518,684,585,716, - 693,826,793,74,758,334,1513,78,1647,20, - 17,21,18,481,828,711,44,502,483,520, - 1121,456,1201,1209,518,684,585,716,693,826, - 793,74,1346,1469,995,77,1647,20,17,21, - 18,481,828,203,44,502,483,520,998,1331, - 1248,1494,518,684,585,716,693,826,793,74, - 1528,905,67,76,1647,20,17,21,18,481, - 828,180,44,502,483,520,1050,1179,1473,811, - 518,684,585,716,693,826,793,74,1319,178, - 1768,75,1671,20,17,21,18,481,353,1182, - 367,314,315,316,1781,1534,1647,20,17,21, - 18,481,828,1308,44,502,483,520,456,1805, - 134,212,518,684,585,716,693,826,793,74, - 227,253,212,356,1671,20,17,21,18,481, - 352,137,133,135,159,1510,1647,20,17,21, - 18,481,42,1369,44,502,483,520,1709,1558, - 139,165,518,684,585,716,693,1182,204,143, - 146,149,152,560,466,1895,345,1582,1853,1602, - 1757,361,1647,20,17,21,18,481,828,1212, - 44,502,483,520,1259,1199,1913,416,518,684, - 585,716,693,826,793,74,1230,1097,886,73, - 1647,20,17,21,18,481,828,1606,44,502, - 483,520,3214,1125,1349,3214,518,684,585,716, - 693,826,793,74,3214,3214,3214,957,1647,20, - 17,21,18,481,828,3214,44,502,483,520, - 3214,3214,3214,3214,518,684,585,716,693,826, - 793,74,3214,937,3214,1043,1647,20,17,21, - 18,481,42,560,44,502,483,520,560,1857, - 560,560,518,684,585,716,693,826,793,93, - 1647,20,17,21,18,481,42,23,44,502, - 483,520,272,320,278,340,518,684,585,716, - 693,826,793,93,208,226,3214,1647,20,17, - 21,18,481,42,359,44,502,483,520,1870, - 569,1367,560,518,684,585,716,693,826,793, - 93,1647,20,17,21,18,481,42,1070,44, - 502,483,520,333,3214,3214,653,518,684,585, - 716,693,826,793,93,3214,3214,3214,1647,20, - 17,21,18,481,42,211,44,502,483,520, - 560,1125,1349,3214,518,684,585,716,693,826, - 793,93,1647,20,17,21,18,481,42,1098, - 44,502,483,520,279,3214,3214,1870,518,684, - 585,716,693,826,793,93,3214,3214,3214,1647, - 20,17,21,18,481,42,201,44,502,483, - 520,332,3214,3214,1111,518,684,585,716,693, - 826,793,93,334,199,1238,318,314,315,316, - 1126,387,419,20,17,21,18,481,42,666, - 36,1,1238,3214,3214,1597,1695,1875,387,86, - 110,3214,208,95,905,1649,3214,202,784,108, - 94,96,97,98,99,126,86,110,1223,1367, - 95,1922,1649,245,1247,784,108,94,96,97, - 98,99,1847,3214,560,989,318,314,315,316, - 109,105,2815,3214,366,106,3214,317,314,315, - 316,335,384,1838,3214,3214,337,109,2370,3214, - 366,366,107,2109,3214,318,314,315,316,384, - 1651,3214,317,314,315,316,3214,217,1268,220, - 1453,222,223,1348,3214,3214,2360,3214,854,1647, - 20,17,21,18,481,42,1369,44,502,483, - 968,1772,218,1268,220,1453,222,223,228,1239, - 265,1238,273,317,314,315,316,387,3214,344, - 154,1335,268,600,415,271,3214,133,1238,1713, - 249,666,989,3214,387,86,110,786,1831,95, - 3214,1649,2012,3214,784,108,94,96,97,98, - 99,3214,86,110,3214,87,95,126,1649,581, - 472,784,108,94,96,97,98,99,1299,3214, - 3214,989,3214,3214,3214,2210,109,313,2838,3214, - 366,106,3214,317,314,315,316,560,384,782, - 3214,3214,276,109,899,617,249,366,107,2109, - 3214,423,2838,786,560,384,1787,317,314,315, - 316,2386,3214,217,1268,220,1453,222,223,228, - 273,87,2360,2060,755,196,1694,1828,2427,666, - 266,600,415,271,2788,667,1855,217,1268,220, - 1453,222,223,228,3214,1468,1396,317,314,315, - 316,3214,989,3214,1889,194,154,1335,560,2838, - 3214,3214,560,1624,317,314,315,316,989,217, - 1268,220,1453,222,223,228,1182,249,262,273, - 2109,1832,224,192,786,2956,319,3214,2369,266, - 600,415,271,3214,217,1268,220,1453,222,223, - 228,197,87,2360,263,276,560,1847,253,212, - 1647,20,17,21,18,481,42,1073,44,502, - 483,970,3214,217,1268,220,1453,222,223,228, - 339,3214,1918,273,3214,827,560,155,1335,3214, - 3214,3214,2838,266,600,415,271,317,314,315, - 316,466,1880,260,3214,567,3214,3214,1468,3214, - 338,3214,3214,2060,1647,20,17,21,18,481, - 42,3214,44,502,483,1017,1056,217,1268,220, - 1453,222,223,228,1896,1400,1396,1647,20,17, - 21,18,481,42,3214,44,502,483,520,3214, - 617,3214,3214,518,684,585,1154,2838,324,560, - 3214,3214,318,314,315,316,3214,3214,1647,20, - 17,21,18,481,42,2956,44,502,483,520, - 3214,3214,3214,1112,518,684,1157,3214,3214,3214, - 1037,198,217,1268,220,1453,222,223,228,989, - 3214,1396,317,314,315,316,2838,560,3214,3214, - 3214,318,314,315,316,3214,3214,3214,854,1647, - 20,17,21,18,481,42,3214,44,502,483, - 1026,229,218,1268,220,1453,222,223,1386,1239, - 2977,217,1268,220,1453,222,223,228,1037,3214, - 2946,1470,20,17,21,18,481,42,1934,43, - 317,314,315,316,1647,20,17,21,18,481, - 42,1334,44,502,483,520,854,560,560,3214, - 518,1110,233,367,314,315,316,560,3214,3214, - 218,1268,220,1453,222,223,228,1239,1021,3214, - 877,2468,350,134,212,423,1504,423,28,3214, - 1185,2488,317,314,315,316,593,1238,318,314, - 315,316,560,786,141,133,135,159,854,1887, - 3214,1887,419,20,17,21,18,481,42,3214, - 36,86,110,140,165,95,351,3214,3214,1194, - 784,1266,94,96,97,98,99,641,1238,3214, - 3214,2553,3214,3214,786,3214,3214,259,3214,258, - 3214,3214,3214,246,1470,748,1240,689,1238,3214, - 3214,3214,86,110,786,3214,95,367,314,315, - 316,784,103,94,96,97,98,99,803,1238, - 3214,3214,86,110,3214,786,95,134,212,3214, - 3214,784,101,94,96,97,98,99,851,1238, - 3214,3214,3214,86,110,786,3214,95,144,133, - 135,159,784,358,94,96,97,98,99,3214, - 3214,3214,3214,86,110,3214,3214,95,3214,3214, - 1881,3214,784,102,94,96,97,98,99,1087, - 965,1238,317,314,315,316,423,786,3214,3214, - 3214,317,314,315,316,3214,1013,1238,2735,3214, - 3214,3214,3214,786,3214,86,110,854,3214,95, - 1887,3214,3214,3214,784,118,94,96,97,98, - 99,86,110,3214,3214,95,3214,3214,1194,3214, - 784,114,94,96,97,98,99,1061,1238,3214, - 1720,3214,3214,3214,786,3214,3214,3214,258,3214, - 3214,3214,3214,1470,3214,1240,3214,1175,1238,3214, - 3214,3214,86,110,786,3214,95,3214,3214,3214, - 3214,784,1384,94,96,97,98,99,1223,1238, - 3214,249,86,110,3214,786,95,3214,786,3214, - 3214,784,113,94,96,97,98,99,1271,1238, - 3214,1879,3214,86,110,786,87,95,786,3214, - 3214,1864,784,120,94,96,97,98,99,3214, - 3214,249,3214,86,110,3214,87,95,786,3214, - 3214,115,784,119,94,96,97,98,99,1647, - 20,17,21,18,481,42,87,44,502,483, - 520,2069,3214,3214,3214,1129,1647,20,17,21, - 18,481,42,713,44,502,483,520,1028,3214, - 3214,3214,1140,3214,3214,317,314,315,316,1647, - 20,17,21,18,481,42,910,44,502,483, - 1055,854,3214,3214,3214,3214,3214,3214,367,314, - 315,316,1647,20,17,21,18,481,42,3214, - 44,956,1239,3214,3214,273,3214,1120,134,212, - 3214,1767,3214,3214,3214,268,600,415,271,367, - 314,315,316,367,314,315,316,3214,313,147, - 133,135,159,3214,3214,2838,1778,3214,3214,134, - 212,3214,3214,134,212,3214,3214,3214,367,314, - 315,316,1671,20,17,21,18,481,41,3214, - 150,133,135,159,153,133,135,159,134,212, - 217,1268,220,1453,222,223,228,3214,3214,1918, - 1647,20,17,21,18,481,42,3214,39,362, - 133,135,159,1647,20,17,21,18,481,42, - 3214,38,1647,20,17,21,18,481,42,3214, - 37,1647,20,17,21,18,481,42,3214,36, - 1647,20,17,21,18,481,42,500,35,3214, - 723,3214,3214,3214,387,1893,3214,2784,1647,20, - 17,21,18,481,42,3214,47,318,314,315, - 316,3214,87,3214,3214,3214,394,949,196,1647, - 20,17,21,18,481,42,3214,46,1647,20, - 17,21,18,481,42,3214,45,3214,3214,500, - 3214,3214,273,3214,551,3214,387,2730,551,3214, - 3214,3214,266,600,415,271,317,314,315,316, - 317,314,315,316,87,3214,1363,265,394,949, - 196,423,854,3214,3214,551,854,3214,387,1671, - 20,17,21,18,481,34,3214,317,314,315, - 316,3214,3214,1194,3214,3214,87,1194,551,2730, - 3214,115,1791,854,3214,2553,3214,410,3214,1720, - 317,314,315,316,3214,3214,3214,3214,1522,317, - 314,315,316,3214,1194,3214,854,1671,20,17, - 21,18,481,33,3214,1684,2100,2491,929,508, - 3214,366,3214,3214,3214,3214,3214,1194,3214,737, - 3214,317,314,315,316,3214,423,3214,3214,2158, - 1695,20,17,21,18,481,1196,1684,1695,20, - 17,21,18,481,363,1249,3214,3214,3214,1321, - 196,3214,3214,3214,1249,3214,3214,317,314,315, - 316,317,314,315,316,630,317,314,315,316, - 3214,1295,3214,854,1109,3214,1911,2216,423,1889, - 858,423,854,3214,3214,360,1949,423,317,314, - 315,316,786,3214,1065,3214,3214,670,317,314, - 315,316,1887,1121,3008,196,666,1951,191,3214, - 87,1887,3214,786,3029,1168,3214,3214,1879,317, - 314,315,316,1127,1854,786,3214,3214,3214,3214, - 1879,87,124,3214,1889,3038,801,786,1932,1879, - 258,3214,3214,87,3214,2117,786,1240,115,258, - 318,314,315,316,1570,87,1240,3214,3214,1960, - 115,3214,3214,191,87,3214,3214,3214,1965,115, - 1295,318,314,315,316,3214,3214,3214,1211,1854, - 318,314,315,316,3214,1045,3214,3214,3214,3214, - 3214,3214,3214,3214,3214,3214,2168,2187,3214,3214, - 3214,3214,3214,1166,3214,3214,2197,3214,0,494, - 32,0,1790,32,0,3222,1,0,840,128, - 0,855,128,0,901,128,0,840,129,0, - 855,129,0,901,129,0,840,130,0,855, - 130,0,901,130,0,840,184,0,855,184, - 0,901,184,0,184,188,0,840,183,0, - 855,183,0,901,183,0,183,188,0,840, - 131,0,855,131,0,901,131,0,840,132, - 0,855,132,0,901,132,0,20,178,0, - 840,365,0,855,365,0,901,365,0,1, - 701,0,840,377,0,855,377,0,901,377, - 0,1,840,0,1,855,0,1,901,0, - 353,363,0,840,252,0,855,252,0,901, - 252,0,8,10,0,1,3439,0,1,3450, - 0,112,2447,0 + 39,39,40,40,40,40,40,66,66,31, + 31,31,31,31,53,53,53,103,103,98, + 98,98,98,99,99,99,100,100,100,101, + 101,101,102,102,102,97,97,85,85,86, + 54,56,56,56,56,56,72,73,73,73, + 73,73,73,73,73,73,73,73,73,84, + 81,81,120,121,87,87,82,82,82,88, + 104,104,105,105,89,89,89,60,122,122, + 106,90,90,90,83,83,123,107,107,108, + 108,91,91,32,33,33,33,55,51,51, + 42,42,42,42,45,45,47,43,43,44, + 48,48,124,124,46,143,143,125,125,52, + 52,52,52,52,52,52,52,52,109,61, + 61,61,61,49,75,75,74,74,74,76, + 76,69,69,126,126,79,79,77,77,77, + 62,62,62,63,64,64,64,65,65,65, + 65,68,68,57,57,59,128,127,127,127, + 127,110,129,130,130,131,131,132,132,144, + 144,145,145,146,146,146,146,148,148,147, + 147,147,78,133,133,12,12,12,28,28, + 13,13,134,134,111,111,111,112,112,135, + 135,113,113,14,14,136,136,114,114,114, + 114,15,70,137,137,138,138,115,115,115, + 92,92,92,6,6,16,16,23,3,36, + 139,116,116,116,93,93,31,66,53,86, + 86,86,106,106,106,123,120,121,49,88, + 131,131,140,141,110,71,117,117,331,913, + 17,21,18,482,829,560,44,503,484,521, + 368,315,316,317,519,685,586,717,694,827, + 794,74,1851,1380,443,91,521,901,1429,358, + 135,213,672,31,1319,179,1647,20,17,21, + 18,482,42,500,44,927,368,315,316,317, + 388,137,134,136,160,1647,20,17,21,18, + 482,42,1872,44,503,1084,135,213,87,398, + 139,166,395,950,197,629,1635,1279,275,143, + 146,149,152,645,28,1896,1186,137,134,136, + 160,361,1825,465,451,517,2182,2286,2577,2608, + 2612,1279,787,2731,249,462,139,166,1156,255, + 213,939,787,876,2637,143,146,149,152,104, + 87,1896,719,645,22,386,25,361,753,302, + 89,37,2182,2286,2577,2608,2612,1279,1551,20, + 17,21,18,482,829,412,44,503,484,521, + 2637,1371,452,293,519,685,586,717,694,827, + 794,74,659,381,241,281,1445,20,17,21, + 18,482,829,412,44,503,484,521,908,2920, + 1469,1905,519,685,586,717,694,827,794,74, + 672,31,1685,281,294,282,38,1186,753,1575, + 20,17,21,18,482,829,287,44,503,484, + 521,369,414,255,213,519,685,586,717,694, + 827,794,74,282,1464,1186,281,1647,20,17, + 21,18,482,42,289,44,503,484,521,322, + 1295,672,187,519,685,586,717,1185,288,1647, + 20,17,21,18,482,42,282,40,1186,1747, + 1184,398,1658,276,1661,418,2951,158,1771,1599, + 20,17,21,18,482,829,290,44,503,484, + 521,672,186,278,24,519,685,586,717,694, + 827,794,74,672,1350,444,281,1623,20,17, + 21,18,482,829,543,44,503,484,521,323, + 1295,313,1428,519,685,586,717,694,827,794, + 74,28,301,1186,281,312,282,541,1186,560, + 1647,20,17,21,18,482,42,384,44,503, + 1102,1397,20,17,21,18,482,829,1290,44, + 503,484,521,2162,282,783,1186,519,685,586, + 717,694,827,794,74,291,1862,1251,513,1743, + 20,17,21,18,482,829,1722,44,503,484, + 521,124,239,783,210,519,685,586,717,694, + 827,794,74,672,188,783,331,1647,20,17, + 21,18,482,829,416,44,503,484,521,123, + 672,873,783,519,685,586,717,694,827,794, + 74,111,672,296,91,1719,20,17,21,18, + 482,829,1937,44,503,484,521,888,126,1727, + 645,519,685,586,717,694,827,794,74,1281, + 283,554,830,1647,20,17,21,18,482,42, + 1747,44,503,484,521,739,999,2942,348,519, + 685,586,717,694,827,794,93,319,315,316, + 317,243,329,783,231,1647,20,17,21,18, + 482,42,465,44,503,484,967,1421,20,17, + 21,18,482,829,2045,44,503,484,521,122, + 645,1270,1047,519,685,586,717,694,827,794, + 74,672,298,1499,900,1743,20,17,21,18, + 482,829,249,44,503,484,521,1086,240,528, + 783,519,685,586,717,694,827,794,74,456, + 1182,242,331,1647,20,17,21,18,482,829, + 560,44,503,484,521,1922,2989,1333,645,519, + 685,586,717,694,827,794,74,49,1182,169, + 92,181,254,213,19,1647,20,17,21,18, + 482,829,1268,44,503,484,521,255,213,284, + 1787,519,685,586,717,694,827,794,74,244, + 254,213,85,1647,20,17,21,18,482,829, + 249,44,503,484,521,571,128,2890,630,519, + 685,586,717,694,827,794,74,1002,330,783, + 84,1647,20,17,21,18,482,829,249,44, + 503,484,521,955,645,1414,783,519,685,586, + 717,694,827,794,74,3001,1065,783,83,1647, + 20,17,21,18,482,829,1330,44,503,484, + 521,1920,3010,940,1935,519,685,586,717,694, + 827,794,74,342,775,245,82,1647,20,17, + 21,18,482,829,249,44,503,484,521,645, + 194,1572,911,519,685,586,717,694,827,794, + 74,520,295,783,81,1647,20,17,21,18, + 482,829,1866,44,503,484,521,645,456,968, + 379,519,685,586,717,694,827,794,74,117, + 297,474,80,1647,20,17,21,18,482,829, + 249,44,503,484,521,751,456,2945,170,519, + 685,586,717,694,827,794,74,807,383,969, + 79,1647,20,17,21,18,482,829,180,44, + 503,484,521,1147,456,836,1308,519,685,586, + 717,694,827,794,74,758,334,1513,78,1647, + 20,17,21,18,482,829,712,44,503,484, + 521,1121,456,1201,1209,519,685,586,717,694, + 827,794,74,1346,1469,995,77,1647,20,17, + 21,18,482,829,204,44,503,484,521,998, + 1331,1248,1494,519,685,586,717,694,827,794, + 74,1528,905,67,76,1647,20,17,21,18, + 482,829,181,44,503,484,521,1050,1179,1473, + 811,519,685,586,717,694,827,794,74,1319, + 179,1768,75,1671,20,17,21,18,482,354, + 1182,368,315,316,317,1781,1534,1647,20,17, + 21,18,482,829,1309,44,503,484,521,456, + 1805,135,213,519,685,586,717,694,827,794, + 74,228,254,213,357,1671,20,17,21,18, + 482,353,138,134,136,160,1510,1647,20,17, + 21,18,482,42,1370,44,503,484,521,1709, + 1558,140,166,519,685,586,717,694,1183,205, + 144,147,150,153,560,467,1896,346,1582,1853, + 1602,1757,362,1647,20,17,21,18,482,829, + 1212,44,503,484,521,1259,1199,1913,417,519, + 685,586,717,694,827,794,74,1230,1097,887, + 73,1647,20,17,21,18,482,829,1606,44, + 503,484,521,3218,1125,1350,3218,519,685,586, + 717,694,827,794,74,3218,3218,3218,958,1647, + 20,17,21,18,482,829,3218,44,503,484, + 521,3218,3218,3218,3218,519,685,586,717,694, + 827,794,74,3218,937,3218,1044,1647,20,17, + 21,18,482,42,560,44,503,484,521,560, + 1857,560,560,519,685,586,717,694,827,794, + 93,1647,20,17,21,18,482,42,23,44, + 503,484,521,273,321,279,341,519,685,586, + 717,694,827,794,93,209,227,3218,1647,20, + 17,21,18,482,42,360,44,503,484,521, + 1870,570,1368,560,519,685,586,717,694,827, + 794,93,1647,20,17,21,18,482,42,1071, + 44,503,484,521,334,3218,3218,654,519,685, + 586,717,694,827,794,93,3218,3218,3218,1647, + 20,17,21,18,482,42,212,44,503,484, + 521,560,1125,1350,3218,519,685,586,717,694, + 827,794,93,1647,20,17,21,18,482,42, + 1099,44,503,484,521,280,3218,3218,1870,519, + 685,586,717,694,827,794,93,3218,3218,3218, + 1647,20,17,21,18,482,42,202,44,503, + 484,521,333,3218,3218,1111,519,685,586,717, + 694,827,794,93,335,199,1239,319,315,316, + 317,1127,388,419,20,17,21,18,482,42, + 666,36,1,1239,3218,3218,1598,1696,1875,388, + 86,110,3218,209,95,905,1650,3218,203,785, + 108,94,96,97,98,99,127,86,110,1224, + 1368,95,1923,1650,246,1247,785,108,94,96, + 97,98,99,1847,3218,560,989,319,315,316, + 317,109,105,2816,3218,367,106,3218,318,315, + 316,317,336,385,1838,3218,3218,338,109,2371, + 3218,366,367,107,2110,3218,319,315,316,317, + 385,1652,3218,318,315,316,317,3218,218,1269, + 221,1454,223,224,1349,3218,3218,2361,3218,855, + 1647,20,17,21,18,482,42,1370,44,503, + 484,969,1772,219,1269,221,1454,223,224,229, + 1240,265,1239,274,318,315,316,317,388,3218, + 345,155,1336,269,601,416,272,3218,133,1239, + 1714,249,666,990,3218,388,86,110,787,1832, + 95,3218,1650,2013,3218,785,108,94,96,97, + 98,99,3218,86,110,3218,87,95,127,1650, + 582,473,785,108,94,96,97,98,99,1299, + 3218,3218,989,3218,3218,3218,2211,109,314,2839, + 3218,367,106,3218,318,315,316,317,560,385, + 783,3218,3218,277,109,899,617,249,367,107, + 2110,3218,424,2839,787,560,385,1788,318,315, + 316,317,2387,3218,218,1269,221,1454,223,224, + 229,274,87,2361,2061,756,197,1695,1828,2428, + 666,267,601,416,272,2789,667,1856,218,1269, + 221,1454,223,224,229,3218,1469,1397,318,315, + 316,317,3218,989,3218,1890,195,155,1336,560, + 2839,3218,3218,560,1625,318,315,316,317,990, + 218,1269,221,1454,223,224,229,1182,249,263, + 274,2110,1832,225,193,787,2957,320,3218,2370, + 267,601,416,272,3218,218,1269,221,1454,223, + 224,229,198,87,2361,264,277,560,1848,254, + 213,1647,20,17,21,18,482,42,1074,44, + 503,484,971,3218,218,1269,221,1454,223,224, + 229,340,3218,1919,274,3218,827,560,156,1336, + 3218,3218,3218,2839,267,601,416,272,318,315, + 316,317,467,1880,261,3218,568,3218,3218,1469, + 3218,339,3218,3218,2061,1647,20,17,21,18, + 482,42,3218,44,503,484,1018,1057,218,1269, + 221,1454,223,224,229,1896,1401,1397,1647,20, + 17,21,18,482,42,3218,44,503,484,521, + 3218,617,3218,3218,519,685,586,1155,2839,325, + 560,3218,3218,319,315,316,317,3218,3218,1647, + 20,17,21,18,482,42,2957,44,503,484, + 521,3218,3218,3218,1113,519,685,1158,3218,3218, + 3218,1037,199,218,1269,221,1454,223,224,229, + 989,3218,1397,318,315,316,317,2839,560,3218, + 3218,3218,319,315,316,317,3218,3218,3218,855, + 1647,20,17,21,18,482,42,3218,44,503, + 484,1027,230,219,1269,221,1454,223,224,1387, + 1240,2978,218,1269,221,1454,223,224,229,1037, + 3218,2947,1470,20,17,21,18,482,42,1934, + 43,318,315,316,317,1647,20,17,21,18, + 482,42,1334,44,503,484,521,855,560,560, + 3218,519,1111,234,368,315,316,317,560,3218, + 3218,219,1269,221,1454,223,224,229,1240,1021, + 3218,877,2469,351,135,213,424,1504,424,28, + 3218,1186,2489,318,315,316,317,593,1239,319, + 315,316,317,560,787,142,134,136,160,855, + 1888,3218,1888,419,20,17,21,18,482,42, + 3218,36,86,110,141,166,95,352,3218,3218, + 1195,785,1267,94,96,97,98,99,641,1239, + 3218,3218,2554,3218,3218,787,3218,3218,260,3218, + 259,3218,3218,3218,247,1471,748,1241,689,1239, + 3218,3218,3218,86,110,787,3218,95,368,315, + 316,317,785,103,94,96,97,98,99,803, + 1239,3218,3218,86,110,3218,787,95,135,213, + 3218,3218,785,101,94,96,97,98,99,851, + 1239,3218,3218,3218,86,110,787,3218,95,145, + 134,136,160,785,359,94,96,97,98,99, + 3218,3218,3218,3218,86,110,3218,3218,95,3218, + 3218,1881,3218,785,102,94,96,97,98,99, + 1087,965,1239,318,315,316,317,424,787,3218, + 3218,3218,318,315,316,317,3218,1013,1239,2736, + 3218,3218,3218,3218,787,3218,86,110,855,3218, + 95,1888,3218,3218,3218,785,119,94,96,97, + 98,99,86,110,3218,3218,95,3218,3218,1195, + 3218,785,114,94,96,97,98,99,1061,1239, + 3218,1721,3218,3218,3218,787,3218,3218,3218,259, + 3218,3218,3218,3218,1471,3218,1241,3218,1175,1239, + 3218,3218,3218,86,110,787,3218,95,3218,3218, + 3218,3218,785,1385,94,96,97,98,99,1223, + 1239,3218,249,86,110,3218,787,95,3218,787, + 3218,3218,785,113,94,96,97,98,99,1271, + 1239,3218,1879,3218,86,110,787,87,95,787, + 3218,3218,1865,785,121,94,96,97,98,99, + 3218,3218,249,3218,86,110,3218,87,95,787, + 3218,3218,115,785,120,94,96,97,98,99, + 1647,20,17,21,18,482,42,87,44,503, + 484,521,2070,3218,3218,3218,1130,1647,20,17, + 21,18,482,42,713,44,503,484,521,1029, + 3218,3218,3218,1141,3218,3218,318,315,316,317, + 1647,20,17,21,18,482,42,910,44,503, + 484,1056,855,3218,3218,3218,3218,3218,3218,368, + 315,316,317,1647,20,17,21,18,482,42, + 3218,44,957,1240,3218,3218,274,3218,1120,135, + 213,3218,1767,3218,3218,3218,269,601,416,272, + 368,315,316,317,368,315,316,317,3218,313, + 148,134,136,160,3218,3218,2839,1778,3218,3218, + 135,213,3218,3218,135,213,3218,3218,3218,368, + 315,316,317,1671,20,17,21,18,482,41, + 3218,151,134,136,160,154,134,136,160,135, + 213,218,1269,221,1454,223,224,229,3218,3218, + 1919,1647,20,17,21,18,482,42,3218,39, + 363,134,136,160,1647,20,17,21,18,482, + 42,3218,38,1647,20,17,21,18,482,42, + 3218,37,1647,20,17,21,18,482,42,3218, + 36,1647,20,17,21,18,482,42,500,35, + 3218,723,3218,3218,3218,388,1893,3218,2785,1647, + 20,17,21,18,482,42,3218,47,319,315, + 316,317,3218,87,3218,3218,3218,395,950,197, + 1647,20,17,21,18,482,42,3218,46,1647, + 20,17,21,18,482,42,3218,45,3218,3218, + 500,3218,3218,274,3218,551,3218,388,2731,551, + 3218,3218,3218,267,601,416,272,318,315,316, + 317,318,315,316,317,87,3218,1364,266,395, + 950,197,423,855,3218,3218,551,855,3218,388, + 1671,20,17,21,18,482,34,3218,318,315, + 316,317,3218,3218,1195,3218,3218,87,1195,551, + 2731,3218,115,1792,855,3218,2554,3218,410,3218, + 1721,318,315,316,317,3218,3218,3218,3218,1523, + 318,315,316,317,3218,1195,3218,855,1671,20, + 17,21,18,482,33,3218,1685,2101,2492,930, + 508,3218,367,3218,3218,3218,3218,3218,1195,3218, + 737,3218,318,315,316,317,3218,424,3218,3218, + 2159,1695,20,17,21,18,482,1197,1685,1695, + 20,17,21,18,482,364,1249,3218,3218,3218, + 1321,197,3218,3218,3218,1249,3218,3218,318,315, + 316,317,318,315,316,317,631,318,315,316, + 317,3218,1295,3218,855,1109,3218,1911,2217,424, + 1890,858,424,855,3218,3218,360,1949,424,318, + 315,316,317,787,3218,1066,3218,3218,671,318, + 315,316,317,1888,1122,3009,197,666,1951,192, + 3218,87,1888,3218,787,3030,1169,3218,3218,1879, + 318,315,316,317,1128,1855,787,3218,3218,3218, + 3218,1879,87,125,3218,1890,3039,802,787,1932, + 1879,259,3218,3218,87,3218,2118,787,1241,115, + 259,319,315,316,317,1571,87,1241,3218,3218, + 1960,115,3218,3218,192,87,3218,3218,3218,1965, + 115,1296,319,315,316,317,3218,3218,3218,1212, + 1855,319,315,316,317,3218,1046,3218,3218,3218, + 3218,3218,3218,3218,3218,3218,3218,2169,2188,3218, + 3218,3218,3218,3218,1167,3218,3218,2198,3218,0, + 495,32,0,1791,32,0,3226,1,0,841, + 129,0,856,129,0,902,129,0,841,130, + 0,856,130,0,902,130,0,841,131,0, + 856,131,0,902,131,0,841,185,0,856, + 185,0,902,185,0,185,189,0,841,184, + 0,856,184,0,902,184,0,184,189,0, + 841,132,0,856,132,0,902,132,0,841, + 133,0,856,133,0,902,133,0,20,179, + 0,841,366,0,856,366,0,902,366,0, + 1,702,0,841,378,0,856,378,0,902, + 378,0,1,841,0,1,856,0,1,902, + 0,354,364,0,841,253,0,856,253,0, + 902,253,0,8,10,0,1310,118,0,1, + 3444,0,1,3455,0,112,2448,0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -896,206 +896,206 @@ public class GCCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface TermAction { public final static char termAction[] = {0, - 3214,5230,1,1252,3169,5178,1,1,1,1, - 1,1,1,1,458,1,1,1,1,1, - 1,1,1,1,1,1,1,3223,1,3314, - 1,1,1,1,1,1212,54,64,744,842, - 772,1224,2226,1210,799,1222,2976,1213,355,2174, - 3221,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,8,3202,3202,3202, - 3202,3202,3202,3202,3202,3202,3202,3202,3202,3202, - 3202,3202,3202,3202,3202,3202,3202,3202,3202,3202, - 3202,3202,3202,3202,3202,3202,3202,3202,3202,3202, - 3202,3202,444,719,3202,3202,3202,3202,3202,3202, - 3202,3202,3202,3202,444,719,3202,3202,3202,3202, - 3202,3202,3202,3202,3202,3202,3202,3202,3202,3202, - 3202,3202,3214,5230,1,1252,3169,5178,1,1, - 1,1,1,1,1,1,458,1,1,1, - 1,1,1,1,1,1,1,1,1,3223, - 1,3314,1,1,1,1,1,1212,354,65, - 744,842,772,1224,2226,1210,799,1222,2976,1213, - 58,2174,3221,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,3214,5230, - 1,3224,3169,5178,1,1,1,1,1,1, - 1,1,458,1,1,1,1,1,1,1, - 1,1,1,1,1,3223,1,3314,1,1, - 1,1,1,1212,444,719,744,842,772,1224, - 2226,1210,799,1222,2976,1213,444,719,1,1, + 3218,5235,1,1253,3170,5183,1,1,1,1, + 1,1,1,1,459,1,1,1,1,1, + 1,1,1,1,1,1,1,3227,1,3318, + 1,1,1,1,1,1213,54,64,745,843, + 773,1225,2227,1211,800,1223,2977,1214,356,2175, + 3225,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,8,3203,3203,3203, + 3203,3203,3203,3203,3203,3203,3203,3203,3203,3203, + 3203,3203,3203,3203,3203,3203,3203,3203,3203,3203, + 3203,3203,3203,3203,3203,3203,3203,3203,3203,3203, + 3203,3203,445,720,3203,3203,3203,3203,3203,3203, + 3203,3203,3203,3203,445,720,3203,3203,3203,3203, + 3203,3203,3203,3203,3203,3203,3203,3203,3203,3203, + 3203,3203,3218,5235,1,1253,3170,5183,1,1, + 1,1,1,1,1,1,459,1,1,1, + 1,1,1,1,1,1,1,1,1,3227, + 1,3318,1,1,1,1,1,1213,355,65, + 745,843,773,1225,2227,1211,800,1223,2977,1214, + 58,2175,3225,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,3218,5235, + 1,3228,3170,5183,1,1,1,1,1,1, + 1,1,459,1,1,1,1,1,1,1, + 1,1,1,1,1,3227,1,3318,1,1, + 1,1,1,1213,445,720,745,843,773,1225, + 2227,1211,800,1223,2977,1214,445,720,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,3214,5230,1,3224,3169,5178, - 1,1,1,1,1,1,1,1,458,1, + 1,1,1,1,3218,5235,1,3228,3170,5183, + 1,1,1,1,1,1,1,1,459,1, 1,1,1,1,1,1,1,1,1,1, - 1,3223,1,3314,1,1,1,1,1,1212, - 285,59,744,842,772,1224,2226,1210,799,1222, - 2976,1213,1,3439,2628,1,1,1,1,1, + 1,3227,1,3318,1,1,1,1,1,1213, + 286,59,745,843,773,1225,2227,1211,800,1223, + 2977,1214,1,3444,2629,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 3214,3225,432,3214,901,3226,2711,840,855,2702, - 2693,3230,2720,2900,1471,2867,2819,2652,3227,3228, - 3229,2680,638,1324,3427,3429,3428,3214,3376,1, - 3377,3375,3430,3378,3374,267,3439,1941,269,901, - 648,252,840,855,2569,2129,2024,1970,61,1749, - 874,3381,3386,3385,3383,3384,3382,3387,3388,3380, - 3389,3390,3391,1761,2879,2847,1,1,3226,3226, - 3085,730,3226,3214,730,3226,3226,2,3226,184, - 3124,3226,3226,3121,3124,72,3115,3118,3214,3225, - 432,3218,1,3226,2711,116,3169,2702,2693,3230, - 2720,1282,3226,2867,2819,2652,3227,3228,3229,2680, - 638,1324,3214,62,3214,3226,3226,3221,3214,116, - 51,2569,2129,2024,1970,3214,1749,874,3222,2592, - 425,1,3226,3226,90,3226,3226,3226,3226,3226, - 3226,3226,3226,60,3226,3226,3226,3226,3226,3226, - 3226,3226,3226,3226,3226,3226,3226,3226,3226,3226, - 3226,3226,3226,3226,1,3217,3225,3225,90,1, - 3225,1336,2955,3225,3225,3221,3225,183,3136,3225, - 3225,3133,3136,458,3127,3130,3214,1,1,63, - 270,1,1,2546,2529,1,1,1,1,1, - 3225,1,1,1,1,1,1,1,1,1, - 66,3078,68,3225,3225,3600,2569,2129,2024,1970, - 252,1749,874,3214,901,1469,730,840,855,3214, - 3225,3225,3220,3225,3225,3225,3225,3225,3225,3225, - 3225,3214,3225,3225,3225,3225,3225,3225,3225,3225, - 3225,3225,3225,3225,3225,3225,3225,3225,3225,3225, - 3225,3225,3214,5230,1,3224,3219,5178,1,2546, - 2529,1,1,1,1,1,458,1,1,1, - 1,1,1,1,1,1,1,3439,2628,3223, - 3187,3314,2078,3181,3184,2047,3214,1212,88,57, - 744,842,772,1224,2226,1210,799,1222,2976,1213, - 3214,5230,1,3224,3214,5178,1,3218,3214,1, - 1,1,1,1,458,1,1,1,1,1, - 1,1,1,1,1558,1,181,3223,3224,3314, - 901,3214,3225,840,855,1212,3226,942,744,842, - 772,1224,2226,1210,799,1222,2976,1213,3214,5230, - 1,3224,3223,5178,1,444,719,1,1,1, - 1,1,458,1,1,1,1,1,1,1, - 1,1,267,3214,1828,3223,901,3314,252,840, - 855,3217,1,1212,1828,264,744,842,772,1224, - 2226,1210,799,1222,2976,1213,3214,1,377,190, - 1,1,3178,1,1,3172,3175,129,730,1, - 67,3103,325,3540,3097,3100,3214,3214,730,264, - 1,1,1,2915,1,3409,1,1,1,1, - 1,3427,3429,3428,53,3376,3541,3377,3375,3430, - 3378,3374,3214,2592,425,3224,190,1,1,1, + 3218,3229,433,3218,902,3230,2712,841,856,2703, + 2694,3234,2721,2901,1472,2868,2820,2653,3231,3232, + 3233,2681,639,1325,3432,3434,3433,3218,3381,1, + 3382,3380,3435,3383,3379,268,3444,1942,270,902, + 649,253,841,856,2570,2130,2025,1971,61,1750, + 875,3386,3391,3390,3388,3389,3387,3392,3393,3385, + 3394,3395,3396,1762,2880,2848,1,1,3230,3230, + 3086,731,3230,3218,731,3230,3230,2,3230,185, + 3125,3230,3230,3122,3125,72,3116,3119,3218,3229, + 433,3222,1,3230,2712,116,3170,2703,2694,3234, + 2721,1283,3230,2868,2820,2653,3231,3232,3233,2681, + 639,1325,3218,62,3218,3230,3230,3225,3218,116, + 51,2570,2130,2025,1971,3218,1750,875,3226,2593, + 426,1,3230,3230,90,3230,3230,3230,3230,3230, + 3230,3230,3230,60,3230,3230,3230,3230,3230,3230, + 3230,3230,3230,3230,3230,3230,3230,3230,3230,3230, + 3230,3230,3230,3230,1,3221,3229,3229,90,1, + 3229,1337,2956,3229,3229,3225,3229,184,3137,3229, + 3229,3134,3137,459,3128,3131,3218,1,1,63, + 271,1,1,2547,2530,1,1,1,1,1, + 3229,1,1,1,1,1,1,1,1,1, + 66,3079,68,3229,3229,3605,2570,2130,2025,1971, + 253,1750,875,3218,902,1470,731,841,856,3218, + 3229,3229,3224,3229,3229,3229,3229,3229,3229,3229, + 3229,3218,3229,3229,3229,3229,3229,3229,3229,3229, + 3229,3229,3229,3229,3229,3229,3229,3229,3229,3229, + 3229,3229,3218,5235,1,3228,3223,5183,1,2547, + 2530,1,1,1,1,1,459,1,1,1, + 1,1,1,1,1,1,1,3444,2629,3227, + 3188,3318,2079,3182,3185,2048,3218,1213,88,57, + 745,843,773,1225,2227,1211,800,1223,2977,1214, + 3218,5235,1,3228,3218,5183,1,3222,3218,1, + 1,1,1,1,459,1,1,1,1,1, + 1,1,1,1,1559,1,182,3227,3228,3318, + 902,3218,3229,841,856,1213,3230,943,745,843, + 773,1225,2227,1211,800,1223,2977,1214,3218,5235, + 1,3228,3227,5183,1,445,720,1,1,1, + 1,1,459,1,1,1,1,1,1,1, + 1,1,268,3218,1829,3227,902,3318,253,841, + 856,3221,1,1213,1829,265,745,843,773,1225, + 2227,1211,800,1223,2977,1214,3218,1,378,191, + 1,1,3179,1,1,3173,3176,130,731,1, + 67,3104,326,3545,3098,3101,3218,3218,731,265, + 1,1,1,2916,1,3414,1,1,1,1, + 1,3432,3434,3433,53,3381,3546,3382,3380,3435, + 3383,3379,3218,2593,426,3228,191,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,3214,5230,1,3224,3214,5178,1,3223, - 3214,1,1,1,1,1,458,1,1,1, - 1,1,1,1,1,1,1,3439,2628,3223, - 3187,3314,2078,3181,3184,69,284,1212,3214,493, - 744,842,772,1224,2226,1210,799,1222,2976,1213, - 3214,5230,1,3224,1296,5178,1,1,2328,1, - 1,1,1,1,458,1,1,1,1,1, - 1,1,1,1,1558,48,1,3223,1456,3314, - 3187,2768,252,3181,3184,1212,493,70,744,842, - 772,1224,2226,1210,799,1222,2976,1213,3214,1, - 3214,189,1,1,348,1,1,3214,3225,130, - 52,1,3226,3112,4437,1368,3106,3109,2047,2592, - 425,1009,1,1,1,3471,1,3409,1,1, - 1,1,1,3427,3429,3428,221,3376,849,3377, - 3375,3430,3378,3374,3471,3214,2759,2738,189,1, + 1,1,3218,5235,1,3228,3218,5183,1,3227, + 3218,1,1,1,1,1,459,1,1,1, + 1,1,1,1,1,1,1,3444,2629,3227, + 3188,3318,2079,3182,3185,69,285,1213,3218,494, + 745,843,773,1225,2227,1211,800,1223,2977,1214, + 3218,5235,1,3228,1297,5183,1,1,2329,1, + 1,1,1,1,459,1,1,1,1,1, + 1,1,1,1,1559,48,1,3227,1457,3318, + 3188,2769,253,3182,3185,1213,494,70,745,843, + 773,1225,2227,1211,800,1223,2977,1214,3218,1, + 3218,190,1,1,349,1,1,3218,3229,131, + 52,1,3230,3113,4442,1369,3107,3110,2048,2593, + 426,1010,1,1,1,3476,1,3414,1,1, + 1,1,1,3432,3434,3433,222,3381,850,3382, + 3380,3435,3383,3379,3476,3218,2760,2739,190,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,3214,5230,1,3224,3214,5178, - 1,616,730,1,1,1,1,1,458,1, - 1,1,1,1,1,1,1,1,1,3439, - 2628,3223,3187,3314,3214,3181,3184,3214,3214,1212, - 1519,56,744,842,772,1224,2226,1210,799,1222, - 2976,1213,3214,5230,1,3224,1372,5178,1,3214, - 1,1,1,1,1,1,458,1,1,1, - 1,1,1,1,1,1,252,3439,2628,3223, - 901,3314,2267,840,855,2287,3214,1212,1195,3214, - 744,842,772,1224,2226,1210,799,1222,2976,1213, - 3214,5230,1,3224,55,5178,1,444,719,1, - 1,1,1,1,458,1,1,1,1,1, - 1,1,1,1,1309,50,1,3223,3470,3314, - 3187,2768,252,3181,3184,1212,3214,2232,744,842, - 772,1224,2226,1210,799,1222,2976,1213,3214,1, - 375,190,1,1,901,1,1,840,855,131, - 3214,1,2811,3145,207,3225,3139,3142,3214,3226, - 444,719,1,1,1,3214,1,3409,1,1, - 1,1,1,3427,3429,3428,71,3376,3214,3377, - 3375,3430,3378,3374,3471,3214,2759,2738,190,1, + 1,1,1,1,3218,5235,1,3228,3218,5183, + 1,617,731,1,1,1,1,1,459,1, + 1,1,1,1,1,1,1,1,1,3444, + 2629,3227,3188,3318,3218,3182,3185,3218,3218,1213, + 1520,56,745,843,773,1225,2227,1211,800,1223, + 2977,1214,3218,5235,1,3228,1373,5183,1,3218, + 1,1,1,1,1,1,459,1,1,1, + 1,1,1,1,1,1,253,3444,2629,3227, + 902,3318,2268,841,856,2288,3218,1213,1196,118, + 745,843,773,1225,2227,1211,800,1223,2977,1214, + 3218,5235,1,3228,55,5183,1,445,720,1, + 1,1,1,1,459,1,1,1,1,1, + 1,1,1,1,3206,50,1,3227,3475,3318, + 3188,2769,253,3182,3185,1213,3218,2233,745,843, + 773,1225,2227,1211,800,1223,2977,1214,3218,1, + 376,191,1,1,902,1,1,841,856,132, + 3218,1,2812,3146,208,3229,3140,3143,3218,3230, + 445,720,1,1,1,3218,1,3414,1,1, + 1,1,1,3432,3434,3433,71,3381,3218,3382, + 3380,3435,3383,3379,3476,3218,2760,2739,191,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,3214,5230,1,3224,3214,5178, - 1,3214,3214,1,1,1,1,1,458,1, - 1,1,1,1,1,1,1,1,3214,2188, - 3214,3223,1856,3314,1397,3427,3429,3428,3214,1212, - 1937,3214,744,842,772,1224,2226,1210,799,1222, - 2976,1213,3214,5230,1,3224,2308,5178,1,200, - 616,1,1,1,1,1,458,1,1,1, - 1,1,1,1,1,1,378,255,252,3223, - 901,3314,3199,840,855,3193,3196,1212,112,3595, - 744,842,772,1224,2226,1210,799,1222,2976,1213, - 3214,5230,1,3224,3214,5178,1,1609,247,1, - 1,1,1,1,458,1,1,1,1,1, - 1,1,1,1,1,3208,2208,3223,1,3314, - 1828,3220,3427,3429,3428,1212,3214,3214,744,842, - 772,1224,2226,1210,799,1222,2976,1213,3214,3225, - 182,921,901,3226,901,840,855,840,855,248, - 3214,2908,49,128,730,3219,2924,3094,2768,3214, - 3088,3091,3427,3429,3428,3214,3376,2471,3377,3375, - 3430,3378,3374,1,1,1,3211,3427,3429,3428, - 3214,3376,3471,3377,3375,3430,3378,3374,3214,3381, - 3386,3385,3383,3384,3382,3387,3388,3380,3389,3390, - 3391,1761,2879,2847,3381,3386,3385,3383,3384,3382, - 3387,3388,3380,3389,3390,3391,1,3225,432,3218, - 3214,3226,1642,2759,2738,2702,2693,3230,2720,1282, - 3214,2867,2819,2652,3227,3228,3229,2680,638,1324, - 3214,3225,432,3218,814,3226,2242,343,30,2702, - 2693,3230,2720,1282,3214,2867,2819,2652,3227,3228, - 3229,2680,638,1324,1,4095,432,29,1428,3997, - 2711,3214,3556,2702,2693,3230,2720,1282,4437,2867, - 2819,2652,3227,3228,3229,2680,638,1324,30,3214, - 3225,432,219,3217,3226,2711,3214,555,2702,2693, - 3230,2720,1282,4437,2867,2819,2652,3227,3228,3229, - 2680,638,1324,336,29,1692,3214,3217,20,178, - 3157,3157,178,376,3157,178,178,901,730,156, - 840,855,353,363,363,3190,363,3243,3190,363, - 363,3214,178,178,178,3157,178,3214,178,178, - 178,178,178,3214,3157,3157,363,363,363,3190, - 363,1093,363,363,363,363,363,1149,363,3190, - 1,4095,432,206,682,3997,2711,210,682,2702, - 2693,3230,2720,1282,4437,2867,2819,2652,3227,3228, - 3229,2680,638,1324,3214,3225,432,1,588,3226, - 2711,206,3214,2702,2693,3230,2720,1282,4437,2867, - 2819,2652,3227,3228,3229,2680,638,1324,379,3225, - 432,346,3214,3226,2711,3214,3451,2702,2693,3230, - 2720,1282,4437,2867,2819,2652,3227,3228,3229,2680, - 638,1324,3214,3225,432,3226,1507,3226,2711,1, - 5154,2702,2693,3230,2720,1282,4437,2867,2819,2652, - 3227,3228,3229,2680,638,1324,3214,3225,432,3214, - 765,3226,2711,3214,3214,2702,2693,3230,2720,1282, - 364,2867,2819,2652,3227,3228,3229,2680,638,1324, - 3214,3225,2727,3214,4437,3226,2711,3225,3214,2702, - 2693,3230,2720,1282,3214,2867,2819,2652,3227,3228, - 3229,2680,638,1324,3214,3225,2779,3214,650,3226, - 2711,3214,3214,2702,2693,3230,2720,1282,228,2867, - 2819,2652,3227,3228,3229,2680,638,1324,1,3225, - 432,3214,231,3226,2711,3214,42,2702,2693,3230, - 2720,1282,1368,2867,2819,2652,3227,3228,3229,2680, - 638,1324,331,3225,432,3214,1,3226,2711,3220, - 3214,2702,2693,3230,2720,1282,3214,2867,2819,2652, - 3227,3228,3229,2680,638,1324,132,3214,3214,1664, - 3154,205,5552,3148,3151,901,5552,365,840,855, - 323,3166,758,3219,3160,3163,3214,3214,3214,3224, - 3427,3429,3428,3214,3376,1254,3377,3375,3430,3378, - 3374,3427,3429,3428,3214,3376,2511,3377,3375,3430, - 3378,3374,3214,3223,1226,1198,1170,1142,1114,1058, - 1086,1030,1002,974,32,686,3079,1,3439,1941, - 261,1,3205,1941,3220,1912,3214,374,5561,3240, - 3241,901,5561,3214,840,855,3214,1996,3214,3220, - 3214,3225,349,3214,1385,3226,3214,1966,517,3220, - 3082,3214,3225,730,261,249,3226,730,3219,3214, - 1241,291,3220,3214,3214,1037,261,3220,1,3214, - 158,116,3220,3219,901,3214,1480,840,855,1, - 1,1,369,3219,579,3214,901,3214,3220,840, - 855,3214,3214,3214,250,116,3219,1531,3214,421, - 368,3219,228,3214,901,116,3219,840,855,3214, - 811,251,3218,587,3214,3214,232,1251,3427,3429, - 3428,370,3219,3214,3214,901,3220,3224,840,855, - 3214,910,3214,3214,914,3427,3429,3428,199,3214, - 371,188,901,3214,901,840,855,840,855,372, - 378,3223,3214,901,373,205,840,855,901,3214, - 3219,840,855,3214,374,3214,3214,3214,3214,3214, - 3214,3214,1407,1995,3214,3214,3214,1582,3214,3214, - 3214,3214,3214,3214,3214,3214,3217 + 1,1,1,1,3218,5235,1,3228,3218,5183, + 1,3218,3218,1,1,1,1,1,459,1, + 1,1,1,1,1,1,1,1,3218,2189, + 3218,3227,1857,3318,1398,3432,3434,3433,3218,1213, + 1938,3218,745,843,773,1225,2227,1211,800,1223, + 2977,1214,3218,5235,1,3228,2309,5183,1,201, + 617,1,1,1,1,1,459,1,1,1, + 1,1,1,1,1,1,379,256,253,3227, + 902,3318,3200,841,856,3194,3197,1213,112,3600, + 745,843,773,1225,2227,1211,800,1223,2977,1214, + 3218,5235,1,3228,3218,5183,1,1610,248,1, + 1,1,1,1,459,1,1,1,1,1, + 1,1,1,1,1,3212,2209,3227,1,3318, + 1829,3224,3432,3434,3433,1213,3218,3218,745,843, + 773,1225,2227,1211,800,1223,2977,1214,3218,3229, + 183,922,902,3230,902,841,856,841,856,249, + 3218,2909,49,129,731,3223,2925,3095,2769,3218, + 3089,3092,3432,3434,3433,3218,3381,2472,3382,3380, + 3435,3383,3379,1,1,1,3215,3432,3434,3433, + 3218,3381,3476,3382,3380,3435,3383,3379,3218,3386, + 3391,3390,3388,3389,3387,3392,3393,3385,3394,3395, + 3396,1762,2880,2848,3386,3391,3390,3388,3389,3387, + 3392,3393,3385,3394,3395,3396,1,3229,433,3222, + 3218,3230,1643,2760,2739,2703,2694,3234,2721,1283, + 3218,2868,2820,2653,3231,3232,3233,2681,639,1325, + 3218,3229,433,3222,815,3230,2243,344,30,2703, + 2694,3234,2721,1283,3218,2868,2820,2653,3231,3232, + 3233,2681,639,1325,1,4100,433,29,1429,4002, + 2712,3218,3561,2703,2694,3234,2721,1283,4442,2868, + 2820,2653,3231,3232,3233,2681,639,1325,30,3218, + 3229,433,220,3221,3230,2712,3218,556,2703,2694, + 3234,2721,1283,4442,2868,2820,2653,3231,3232,3233, + 2681,639,1325,337,29,1693,3218,3221,20,179, + 3158,3158,179,377,3158,179,179,902,731,157, + 841,856,354,364,364,3191,364,3247,3191,364, + 364,3218,179,179,179,3158,179,3218,179,179, + 179,179,179,3218,3158,3158,364,364,364,3191, + 364,1094,364,364,364,364,364,1150,364,3191, + 1,4100,433,207,683,4002,2712,211,683,2703, + 2694,3234,2721,1283,4442,2868,2820,2653,3231,3232, + 3233,2681,639,1325,3218,3229,433,1,589,3230, + 2712,207,3218,2703,2694,3234,2721,1283,4442,2868, + 2820,2653,3231,3232,3233,2681,639,1325,380,3229, + 433,347,3218,3230,2712,3218,3456,2703,2694,3234, + 2721,1283,4442,2868,2820,2653,3231,3232,3233,2681, + 639,1325,3218,3229,433,3230,1508,3230,2712,1, + 5159,2703,2694,3234,2721,1283,4442,2868,2820,2653, + 3231,3232,3233,2681,639,1325,3218,3229,433,3218, + 766,3230,2712,3218,3218,2703,2694,3234,2721,1283, + 365,2868,2820,2653,3231,3232,3233,2681,639,1325, + 3218,3229,2728,3218,4442,3230,2712,3229,3218,2703, + 2694,3234,2721,1283,3218,2868,2820,2653,3231,3232, + 3233,2681,639,1325,3218,3229,2780,3218,651,3230, + 2712,3218,3218,2703,2694,3234,2721,1283,229,2868, + 2820,2653,3231,3232,3233,2681,639,1325,1,3229, + 433,3218,232,3230,2712,3218,42,2703,2694,3234, + 2721,1283,1369,2868,2820,2653,3231,3232,3233,2681, + 639,1325,332,3229,433,3218,1,3230,2712,3224, + 3218,2703,2694,3234,2721,1283,3218,2868,2820,2653, + 3231,3232,3233,2681,639,1325,133,3218,3218,1665, + 3155,206,5557,3149,3152,902,5557,366,841,856, + 324,3167,759,3223,3161,3164,3218,3218,3218,3228, + 3432,3434,3433,3218,3381,1255,3382,3380,3435,3383, + 3379,3432,3434,3433,3218,3381,2512,3382,3380,3435, + 3383,3379,3218,3227,1227,1199,1171,1143,1115,1059, + 1087,1031,1003,975,32,687,3080,1,3444,1942, + 262,1,3209,1942,3224,1913,3218,375,5566,3244, + 3245,902,5566,3218,841,856,3218,1997,3218,3224, + 3218,3229,350,3218,1386,3230,3218,1967,518,3224, + 3083,3218,3229,731,262,250,3230,731,3223,3218, + 1242,292,3224,3218,3218,1038,262,3224,1,3218, + 159,116,3224,3223,902,3218,1481,841,856,1, + 1,1,370,3223,580,3218,902,3218,3224,841, + 856,3218,3218,3218,251,116,3223,1532,3218,422, + 369,3223,229,3218,902,116,3223,841,856,3218, + 812,252,3222,588,3218,3218,233,1252,3432,3434, + 3433,371,3223,3218,3218,902,3224,3228,841,856, + 3218,911,3218,3218,915,3432,3434,3433,200,3218, + 372,189,902,3218,902,841,856,841,856,373, + 379,3227,3218,902,374,206,841,856,902,3218, + 3223,841,856,3218,375,3218,3218,3218,3218,3218, + 3218,3218,1408,1996,3218,3218,3218,1583,3218,3218, + 3218,3218,3218,3218,3218,3218,3221 }; }; public final static char termAction[] = TermAction.termAction; @@ -1108,36 +1108,36 @@ public class GCCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 291,301,299,303,302,305,304,275,31,3, 430,430,254,31,272,272,272,114,387,371, 31,31,31,31,31,31,31,31,31,31, - 31,31,31,31,31,31,31,31,620,31, + 31,31,31,31,31,31,31,31,618,31, 31,31,31,31,31,31,31,31,31,31, - 31,31,272,272,250,153,118,228,475,174, - 173,519,551,551,551,531,512,531,512,512, - 531,512,531,67,531,402,31,372,286,286, + 31,31,272,272,250,153,118,228,473,174, + 173,517,549,549,549,529,510,529,510,510, + 529,510,529,67,529,402,31,372,286,286, 291,291,291,291,291,291,289,289,299,293, 293,302,301,200,200,304,303,171,351,171, - 114,121,109,28,250,508,232,272,553,478, - 365,271,618,169,512,430,427,430,169,430, - 512,31,71,3,371,599,317,317,430,551, - 551,586,551,551,317,200,31,200,225,544, - 31,31,351,151,121,109,508,250,231,228, - 272,112,402,454,480,143,271,364,272,442, - 320,171,354,272,369,317,317,385,31,433, - 31,31,586,200,435,586,551,546,151,109, - 109,31,31,250,232,475,459,458,118,480, - 272,454,453,270,171,442,320,354,354,179, - 599,317,544,272,551,272,272,586,31,586, - 470,171,316,462,546,546,465,118,438,356, - 220,109,508,250,250,272,553,478,112,143, - 272,253,272,272,320,351,543,320,354,356, - 447,356,317,599,546,586,31,586,586,58, - 452,57,371,546,462,462,118,153,546,351, - 149,468,202,430,31,200,50,508,109,480, - 454,320,194,356,351,31,430,254,317,272, - 370,470,317,47,618,372,462,546,438,62, - 153,360,430,31,109,272,454,253,351,316, - 31,312,194,313,351,272,254,317,586,431, - 272,371,31,250,431,194,31,313,313,586, - 272,272,250,313,586 + 114,121,109,28,250,506,232,272,551,476, + 365,271,616,169,510,430,427,430,169,430, + 510,31,71,3,371,597,317,317,430,549, + 549,584,549,549,317,200,31,200,225,542, + 31,31,351,151,121,109,506,250,231,228, + 272,112,402,452,478,143,271,364,272,440, + 320,171,354,272,369,317,317,385,31,370, + 31,31,584,200,433,584,549,544,151,109, + 109,31,31,250,232,473,457,456,118,478, + 272,452,451,270,171,440,320,354,354,179, + 597,317,542,272,549,272,272,584,31,584, + 468,171,316,460,544,544,463,118,436,356, + 220,109,506,250,250,272,551,476,112,143, + 272,253,272,272,320,351,541,320,354,356, + 445,356,317,597,544,584,31,584,584,58, + 450,57,371,544,460,460,118,153,544,351, + 149,466,202,430,31,200,50,506,109,478, + 452,320,194,356,351,31,430,254,317,272, + 370,468,317,47,616,372,460,544,436,62, + 153,360,430,31,109,272,452,253,351,316, + 31,312,194,313,351,272,254,317,584,431, + 272,371,31,250,431,194,31,313,313,584, + 272,272,250,313,584 }; }; public final static char asb[] = Asb.asb; @@ -1188,27 +1188,27 @@ public class GCCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 23,13,63,64,65,59,51,56,54,55, 53,52,57,58,60,61,62,34,31,28, 30,33,24,26,25,32,4,8,7,5, - 1,0,35,0,48,68,0,3,69,49, - 27,14,4,8,7,0,3,49,50,69, - 0,48,2,3,37,49,0,2,48,37, - 36,4,8,7,3,49,27,69,0,3, - 48,37,11,0,6,2,36,37,3,30, - 51,52,63,31,53,32,54,55,33,56, - 57,28,64,34,65,58,59,60,61,62, - 1,5,13,7,8,4,68,24,26,25, - 0,1,5,14,4,8,7,0,59,51, - 56,54,55,53,52,57,58,60,61,62, - 36,49,37,34,31,28,30,33,24,26, - 25,32,48,27,3,6,1,7,8,4, - 2,0,6,30,51,24,52,63,31,53, - 32,54,55,33,26,56,57,28,64,34, - 65,58,59,25,60,61,62,1,5,13, - 68,4,8,7,0,39,41,14,45,47, - 42,35,43,44,40,38,46,29,17,18, - 19,20,1,5,2,15,16,12,6,9, - 10,21,22,13,23,27,3,11,0,17, - 18,19,20,11,1,5,2,15,16,12, - 6,9,10,21,22,13,23,48,0 + 1,0,48,68,0,3,69,49,27,14, + 4,8,7,0,3,49,50,69,0,48, + 2,3,37,49,0,2,48,37,36,4, + 8,7,3,49,27,69,0,3,48,37, + 11,0,6,2,36,37,3,30,51,52, + 63,31,53,32,54,55,33,56,57,28, + 64,34,65,58,59,60,61,62,1,5, + 13,7,8,4,68,24,26,25,0,1, + 5,14,4,8,7,0,59,51,56,54, + 55,53,52,57,58,60,61,62,36,49, + 37,34,31,28,30,33,24,26,25,32, + 48,27,3,6,1,7,8,4,2,0, + 6,30,51,24,52,63,31,53,32,54, + 55,33,26,56,57,28,64,34,65,58, + 59,25,60,61,62,1,5,13,68,4, + 8,7,0,39,41,14,45,47,42,35, + 43,44,40,38,46,29,17,18,19,20, + 1,5,2,15,16,12,6,9,10,21, + 22,13,23,27,3,11,0,17,18,19, + 20,11,1,5,2,15,16,12,6,9, + 10,21,22,13,23,48,0 }; }; public final static byte asr[] = Asr.asr; @@ -1452,26 +1452,26 @@ public class GCCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeState { public final static char scopeState[] = {0, - 1995,1855,0,451,0,411,0,581,0,2944, - 1854,2889,0,587,517,0,2158,2100,1720,1995, - 2060,1855,2628,2109,1941,1887,1912,1831,1695,0, - 842,0,1787,1770,2811,1651,1634,0,686,658, - 555,588,653,527,416,2161,0,1278,423,387, - 0,3038,3029,2977,1995,2956,2060,2158,3008,1855, - 2100,2946,2735,1912,1831,1720,2109,2360,2216,2924, - 1695,2919,423,2915,1713,1684,1624,854,2553,1278, - 2636,2611,1761,2607,2879,2847,2576,1895,2285,2181, - 387,2838,2369,2815,2788,2210,2784,0,1453,1268, - 600,415,1720,2553,1941,1887,1828,2730,0,2779, - 2727,432,2488,2468,2447,2427,2386,2370,2328,2308, - 2287,2267,2226,1787,1770,1651,1634,0,2908,2900, - 2867,2819,2652,1324,1282,2242,1642,2161,616,1336, - 2078,2047,2546,2529,2174,719,444,2569,2129,2024, - 1970,1749,874,2768,2759,2738,2592,425,2720,2711, - 2702,2693,2680,638,1609,1582,1558,914,1531,686, - 1507,1480,658,588,758,1456,1428,1400,886,1372, - 1296,842,814,730,1254,1226,1198,1170,1142,1114, - 1086,1058,1030,1002,974,387,942,786,555,527, + 1996,1856,0,452,0,412,0,582,0,2945, + 1855,2890,0,588,518,0,2159,2101,1721,1996, + 2061,1856,2629,2110,1942,1888,1913,1832,1696,0, + 843,0,1788,1771,2812,1652,1635,0,687,659, + 556,589,654,528,417,2162,0,1279,424,388, + 0,3039,3030,2978,1996,2957,2061,2159,3009,1856, + 2101,2947,2736,1913,1832,1721,2110,2361,2217,2925, + 1696,2920,424,2916,1714,1685,1625,855,2554,1279, + 2637,2612,1762,2608,2880,2848,2577,1896,2286,2182, + 388,2839,2370,2816,2789,2211,2785,0,1454,1269, + 601,416,1721,2554,1942,1888,1829,2731,0,2780, + 2728,433,2489,2469,2448,2428,2387,2371,2329,2309, + 2288,2268,2227,1788,1771,1652,1635,0,2909,2901, + 2868,2820,2653,1325,1283,2243,1643,2162,617,1337, + 2079,2048,2547,2530,2175,720,445,2570,2130,2025, + 1971,1750,875,2769,2760,2739,2593,426,2721,2712, + 2703,2694,2681,639,1610,1583,1559,915,1532,687, + 1508,1481,659,589,759,1457,1429,1401,887,1373, + 1297,843,815,731,1255,1227,1199,1171,1143,1115, + 1087,1059,1031,1003,975,388,943,787,556,528, 0 }; }; @@ -1743,18 +1743,18 @@ public class GCCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public final static int NUM_STATES = 345, NT_OFFSET = 100, - LA_STATE_OFFSET = 3600, + LA_STATE_OFFSET = 3605, MAX_LA = 2147483647, - NUM_RULES = 386, + NUM_RULES = 387, NUM_NONTERMINALS = 148, NUM_SYMBOLS = 248, SEGMENT_SIZE = 8192, - START_STATE = 484, + START_STATE = 485, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 99, EOLT_SYMBOL = 99, - ACCEPT_ACTION = 3078, - ERROR_ACTION = 3214; + ACCEPT_ACTION = 3079, + ERROR_ACTION = 3218; 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 e09eb854bdc..1f0650f8a7c 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 @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 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 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 fcadea23561..9a637fdc35b 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 @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 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 @@ -992,1045 +992,1057 @@ private GNUBuildASTParserAction gnuAction; // // Rule 193: iteration_statement ::= do statement while ( expression ) ; // - case 193: { action. consumeStatementDoLoop(); break; + case 193: { action. consumeStatementDoLoop(true); break; } // - // Rule 194: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement + // Rule 194: iteration_statement ::= do statement // - case 194: { action. consumeStatementForLoop(); break; + case 194: { action. consumeStatementDoLoop(false); break; } // - // Rule 196: for_init_statement ::= simple_declaration_with_declspec + // Rule 195: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement // - case 196: { action. consumeStatementDeclaration(); break; + case 195: { action. consumeStatementForLoop(); break; } // - // Rule 197: jump_statement ::= break ; + // Rule 197: for_init_statement ::= simple_declaration_with_declspec // - case 197: { action. consumeStatementBreak(); break; + case 197: { action. consumeStatementDeclaration(); break; } // - // Rule 198: jump_statement ::= continue ; + // Rule 198: jump_statement ::= break ; // - case 198: { action. consumeStatementContinue(); break; + case 198: { action. consumeStatementBreak(); break; } // - // Rule 199: jump_statement ::= return expression ; + // Rule 199: jump_statement ::= continue ; // - case 199: { action. consumeStatementReturn(true); break; + case 199: { action. consumeStatementContinue(); break; } // - // Rule 200: jump_statement ::= return ; + // Rule 200: jump_statement ::= return expression ; // - case 200: { action. consumeStatementReturn(false); break; + case 200: { action. consumeStatementReturn(true); break; } // - // Rule 201: jump_statement ::= goto identifier_token ; + // Rule 201: jump_statement ::= return ; // - case 201: { action. consumeStatementGoto(); break; + case 201: { action. consumeStatementReturn(false); break; } // - // Rule 202: declaration_statement ::= block_declaration + // Rule 202: jump_statement ::= goto identifier_token ; // - case 202: { action. consumeStatementDeclarationWithDisambiguation(); break; + case 202: { action. consumeStatementGoto(); break; } // - // Rule 203: declaration_statement ::= function_definition + // Rule 203: declaration_statement ::= block_declaration // - case 203: { action. consumeStatementDeclaration(); break; + case 203: { action. consumeStatementDeclarationWithDisambiguation(); break; } // - // Rule 211: declaration ::= ERROR_TOKEN + // Rule 204: declaration_statement ::= function_definition // - case 211: { action. consumeDeclarationProblem(); break; + case 204: { action. consumeStatementDeclaration(); break; } // - // Rule 221: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ; + // Rule 212: declaration ::= ERROR_TOKEN // - case 221: { action. consumeDeclarationSimple(true); break; + case 212: { action. consumeDeclarationProblem(); break; } // - // Rule 222: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ; + // Rule 222: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ; // case 222: { action. consumeDeclarationSimple(true); break; } // - // Rule 223: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers + // Rule 223: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ; // - case 223: { action. consumeDeclarationSpecifiersSimple(); break; + case 223: { action. consumeDeclarationSimple(true); break; } // - // Rule 224: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers + // Rule 224: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers // - case 224: { action. consumeDeclarationSpecifiersComposite(); break; + case 224: { action. consumeDeclarationSpecifiersSimple(); break; } // - // Rule 225: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers + // Rule 225: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers // case 225: { action. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 226: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers + // Rule 226: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers // case 226: { action. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 227: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers + // Rule 227: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers // - case 227: { action. consumeDeclarationSpecifiersTypeName(); break; + case 227: { action. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 229: declaration_specifiers_opt ::= $Empty + // Rule 228: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers // - case 229: { action. consumeEmpty(); break; + case 228: { action. consumeDeclarationSpecifiersTypeName(); break; } // - // Rule 233: no_type_declaration_specifier ::= friend + // Rule 230: declaration_specifiers_opt ::= $Empty // - case 233: { action. consumeToken(); break; + case 230: { action. consumeEmpty(); break; } // - // Rule 234: no_type_declaration_specifier ::= typedef + // Rule 234: no_type_declaration_specifier ::= friend // case 234: { action. consumeToken(); break; } // - // Rule 254: storage_class_specifier ::= auto + // Rule 235: no_type_declaration_specifier ::= typedef // - case 254: { action. consumeToken(); break; + case 235: { action. consumeToken(); break; } // - // Rule 255: storage_class_specifier ::= register + // Rule 255: storage_class_specifier ::= auto // case 255: { action. consumeToken(); break; } // - // Rule 256: storage_class_specifier ::= static + // Rule 256: storage_class_specifier ::= register // case 256: { action. consumeToken(); break; } // - // Rule 257: storage_class_specifier ::= extern + // Rule 257: storage_class_specifier ::= static // case 257: { action. consumeToken(); break; } // - // Rule 258: storage_class_specifier ::= mutable + // Rule 258: storage_class_specifier ::= extern // case 258: { action. consumeToken(); break; } // - // Rule 259: function_specifier ::= inline + // Rule 259: storage_class_specifier ::= mutable // case 259: { action. consumeToken(); break; } // - // Rule 260: function_specifier ::= virtual + // Rule 260: function_specifier ::= inline // case 260: { action. consumeToken(); break; } // - // Rule 261: function_specifier ::= explicit + // Rule 261: function_specifier ::= virtual // case 261: { action. consumeToken(); break; } // - // Rule 262: simple_type_specifier ::= simple_type_specifier_token + // Rule 262: function_specifier ::= explicit // case 262: { action. consumeToken(); break; } // - // Rule 276: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name + // Rule 263: simple_type_specifier ::= simple_type_specifier_token // - case 276: { action. consumeQualifiedId(false); break; + case 263: { action. consumeToken(); break; } // - // Rule 277: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name + // Rule 277: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name // case 277: { action. consumeQualifiedId(false); break; } // - // Rule 278: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name + // Rule 278: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name // case 278: { action. consumeQualifiedId(false); break; } // - // Rule 279: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name + // Rule 279: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name // - case 279: { action. consumeQualifiedId(true); break; + case 279: { action. consumeQualifiedId(false); break; } // - // Rule 281: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name + // Rule 280: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name // - case 281: { action. consumeTypeSpecifierElaborated(false); break; + case 280: { action. consumeQualifiedId(true); break; } // - // Rule 282: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt template_opt template_id_name + // Rule 282: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name // - case 282: { action. consumeTypeSpecifierElaborated(true); break; + case 282: { action. consumeTypeSpecifierElaborated(false); break; } // - // Rule 283: elaborated_type_specifier ::= enum elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name + // Rule 283: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt template_opt template_id_name // - case 283: { action. consumeTypeSpecifierElaborated(false); break; + case 283: { action. consumeTypeSpecifierElaborated(true); break; } // - // Rule 287: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 284: elaborated_type_specifier ::= enum elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name // - case 287: { action. consumeTypeSpecifierEnumeration(false); break; + case 284: { action. consumeTypeSpecifierElaborated(false); break; } // - // Rule 288: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 288: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } // - case 288: { action. consumeTypeSpecifierEnumeration(true); break; + case 288: { action. consumeTypeSpecifierEnumeration(false); break; } // - // Rule 294: enumerator_definition ::= identifier_token + // Rule 289: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } // - case 294: { action. consumeEnumerator(false); break; + case 289: { action. consumeTypeSpecifierEnumeration(true); break; } // - // Rule 295: enumerator_definition ::= identifier_token = constant_expression + // Rule 295: enumerator_definition ::= identifier_token // - case 295: { action. consumeEnumerator(true); break; + case 295: { action. consumeEnumerator(false); break; } // - // Rule 297: namespace_definition ::= namespace namespace_name namespace_definition_hook { <openscope-ast> declaration_seq_opt } + // Rule 296: enumerator_definition ::= identifier_token = constant_expression // - case 297: { action. consumeNamespaceDefinition(true); break; + case 296: { action. consumeEnumerator(true); break; } // - // Rule 298: namespace_definition ::= namespace namespace_definition_hook { <openscope-ast> declaration_seq_opt } + // Rule 298: namespace_definition ::= namespace namespace_name namespace_definition_hook { <openscope-ast> declaration_seq_opt } // - case 298: { action. consumeNamespaceDefinition(false); break; + case 298: { action. consumeNamespaceDefinition(true); break; } // - // Rule 300: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 299: namespace_definition ::= namespace namespace_definition_hook { <openscope-ast> declaration_seq_opt } // - case 300: { action. consumeNamespaceAliasDefinition(); break; + case 299: { action. consumeNamespaceDefinition(false); break; } // - // Rule 301: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; + // Rule 301: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ; // - case 301: { action. consumeUsingDeclaration(); break; + case 301: { action. consumeNamespaceAliasDefinition(); break; } // - // Rule 302: typename_opt ::= typename + // Rule 302: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; // - case 302: { action. consumePlaceHolder(); break; + case 302: { action. consumeUsingDeclaration(); break; } // - // Rule 303: typename_opt ::= $Empty + // Rule 303: typename_opt ::= typename // - case 303: { action. consumeEmpty(); break; + case 303: { action. consumePlaceHolder(); break; } // - // Rule 304: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 304: typename_opt ::= $Empty // - case 304: { action. consumeUsingDirective(); break; + case 304: { action. consumeEmpty(); break; } // - // Rule 305: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt } + // Rule 305: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; // - case 305: { action. consumeLinkageSpecification(); break; + case 305: { action. consumeUsingDirective(); break; } // - // Rule 306: linkage_specification ::= extern stringlit <openscope-ast> declaration + // Rule 306: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt } // case 306: { action. consumeLinkageSpecification(); break; } // - // Rule 311: init_declarator_complete ::= init_declarator + // Rule 307: linkage_specification ::= extern stringlit <openscope-ast> declaration // - case 311: { action. consumeInitDeclaratorComplete(); break; + case 307: { action. consumeLinkageSpecification(); break; } // - // Rule 313: init_declarator ::= complete_declarator initializer + // Rule 312: init_declarator_complete ::= init_declarator // - case 313: { action. consumeDeclaratorWithInitializer(true); break; + case 312: { action. consumeInitDeclaratorComplete(); break; } // - // Rule 316: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator + // Rule 314: init_declarator ::= complete_declarator initializer // - case 316: { action. consumeDeclaratorWithPointer(true); break; + case 314: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 318: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator + // Rule 317: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator // - case 318: { action. consumeDeclaratorWithPointer(true); break; + case 317: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 322: basic_direct_declarator ::= declarator_id_name + // Rule 319: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator // - case 322: { action. consumeDirectDeclaratorIdentifier(); break; + case 319: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 323: basic_direct_declarator ::= ( declarator ) + // Rule 323: basic_direct_declarator ::= declarator_id_name // - case 323: { action. consumeDirectDeclaratorBracketed(); break; + case 323: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 324: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 324: basic_direct_declarator ::= ( declarator ) // - case 324: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; + case 324: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 325: array_direct_declarator ::= array_direct_declarator array_modifier + // Rule 325: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 325: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 325: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 326: array_direct_declarator ::= basic_direct_declarator array_modifier + // Rule 326: array_direct_declarator ::= array_direct_declarator array_modifier // case 326: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 327: array_modifier ::= [ constant_expression ] + // Rule 327: array_direct_declarator ::= basic_direct_declarator array_modifier // - case 327: { action. consumeDirectDeclaratorArrayModifier(true); break; + case 327: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 328: array_modifier ::= [ ] + // Rule 328: array_modifier ::= [ constant_expression ] // - case 328: { action. consumeDirectDeclaratorArrayModifier(false); break; + case 328: { action. consumeDirectDeclaratorArrayModifier(true); break; } // - // Rule 329: ptr_operator ::= pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt + // Rule 329: array_modifier ::= [ ] // - case 329: { action. consumePointer(); break; + case 329: { action. consumeDirectDeclaratorArrayModifier(false); break; } // - // Rule 330: ptr_operator ::= pointer_hook & pointer_hook + // Rule 330: ptr_operator ::= pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt // - case 330: { action. consumeReferenceOperator(); break; + case 330: { action. consumePointer(); break; } // - // Rule 331: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt + // Rule 331: ptr_operator ::= pointer_hook & pointer_hook // - case 331: { action. consumePointerToMember(); break; + case 331: { action. consumeReferenceOperator(); break; } // - // Rule 338: cv_qualifier ::= const + // Rule 332: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt // - case 338: { action. consumeToken(); break; + case 332: { action. consumePointerToMember(); break; } // - // Rule 339: cv_qualifier ::= volatile + // Rule 339: cv_qualifier ::= const // case 339: { action. consumeToken(); break; } // - // Rule 341: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name + // Rule 340: cv_qualifier ::= volatile // - case 341: { action. consumeQualifiedId(false); break; + case 340: { action. consumeToken(); break; } // - // Rule 342: type_id ::= type_specifier_seq + // Rule 342: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name // - case 342: { action. consumeTypeId(false); break; + case 342: { action. consumeQualifiedId(false); break; } // - // Rule 343: type_id ::= type_specifier_seq abstract_declarator + // Rule 343: type_id ::= type_specifier_seq // - case 343: { action. consumeTypeId(true); break; + case 343: { action. consumeTypeId(false); break; } // - // Rule 346: abstract_declarator ::= <openscope-ast> ptr_operator_seq + // Rule 344: type_id ::= type_specifier_seq abstract_declarator // - case 346: { action. consumeDeclaratorWithPointer(false); break; + case 344: { action. consumeTypeId(true); break; } // - // Rule 347: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator + // Rule 347: abstract_declarator ::= <openscope-ast> ptr_operator_seq // - case 347: { action. consumeDeclaratorWithPointer(true); break; + case 347: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 351: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 348: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator // - case 351: { action. consumeDirectDeclaratorBracketed(); break; + case 348: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 352: basic_direct_abstract_declarator ::= ( ) + // Rule 352: basic_direct_abstract_declarator ::= ( abstract_declarator ) // - case 352: { action. consumeAbstractDeclaratorEmpty(); break; + case 352: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 353: array_direct_abstract_declarator ::= array_modifier + // Rule 353: basic_direct_abstract_declarator ::= ( ) // - case 353: { action. consumeDirectDeclaratorArrayDeclarator(false); break; + case 353: { action. consumeAbstractDeclaratorEmpty(); break; } // - // Rule 354: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier + // Rule 354: array_direct_abstract_declarator ::= array_modifier // - case 354: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 354: { action. consumeDirectDeclaratorArrayDeclarator(false); break; } // - // Rule 355: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier + // Rule 355: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier // case 355: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 356: 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 356: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier // - case 356: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; + case 356: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 357: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 357: 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 357: { action. consumeDirectDeclaratorFunctionDeclarator(false); break; + case 357: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 358: parameter_declaration_clause ::= parameter_declaration_list_opt ... + // Rule 358: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 358: { action. consumePlaceHolder(); break; + case 358: { action. consumeDirectDeclaratorFunctionDeclarator(false); break; } // - // Rule 359: parameter_declaration_clause ::= parameter_declaration_list_opt + // Rule 359: parameter_declaration_clause ::= parameter_declaration_list_opt ... // - case 359: { action. consumeEmpty(); break; + case 359: { action. consumePlaceHolder(); break; } // - // Rule 360: parameter_declaration_clause ::= parameter_declaration_list , ... + // Rule 360: parameter_declaration_clause ::= parameter_declaration_list_opt // - case 360: { action. consumePlaceHolder(); break; + case 360: { action. consumeEmpty(); break; } // - // Rule 366: abstract_declarator_opt ::= $Empty + // Rule 361: parameter_declaration_clause ::= parameter_declaration_list , ... // - case 366: { action. consumeEmpty(); break; + case 361: { action. consumePlaceHolder(); break; } // - // Rule 367: parameter_declaration ::= declaration_specifiers parameter_init_declarator + // Rule 367: abstract_declarator_opt ::= $Empty // - case 367: { action. consumeParameterDeclaration(); break; + case 367: { action. consumeEmpty(); break; } // - // Rule 368: parameter_declaration ::= declaration_specifiers + // Rule 368: parameter_declaration ::= declaration_specifiers parameter_init_declarator // - case 368: { action. consumeParameterDeclarationWithoutDeclarator(); break; + case 368: { action. consumeParameterDeclaration(); break; } // - // Rule 370: parameter_init_declarator ::= declarator = parameter_initializer + // Rule 369: parameter_declaration ::= declaration_specifiers // - case 370: { action. consumeDeclaratorWithInitializer(true); break; + case 369: { action. consumeParameterDeclarationWithoutDeclarator(); break; } // - // Rule 372: parameter_init_declarator ::= abstract_declarator = parameter_initializer + // Rule 371: parameter_init_declarator ::= declarator = parameter_initializer // - case 372: { action. consumeDeclaratorWithInitializer(true); break; + case 371: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 373: parameter_init_declarator ::= = parameter_initializer + // Rule 373: parameter_init_declarator ::= abstract_declarator = parameter_initializer // - case 373: { action. consumeDeclaratorWithInitializer(false); break; + case 373: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 374: parameter_initializer ::= assignment_expression + // Rule 374: parameter_init_declarator ::= = parameter_initializer // - case 374: { action. consumeInitializer(); break; + case 374: { action. consumeDeclaratorWithInitializer(false); break; } // - // Rule 375: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body + // Rule 375: parameter_initializer ::= assignment_expression // - case 375: { action. consumeFunctionDefinition(false); break; + case 375: { action. consumeInitializer(); break; } // - // Rule 376: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq + // Rule 376: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body // - case 376: { action. consumeFunctionDefinition(true); break; + case 376: { action. consumeFunctionDefinition(false); break; } // - // Rule 379: initializer ::= ( expression_list ) + // Rule 377: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq // - case 379: { action. consumeInitializerConstructor(); break; + case 377: { action. consumeFunctionDefinition(true); break; } // - // Rule 380: initializer_clause ::= assignment_expression + // Rule 380: initializer ::= ( expression_list ) // - case 380: { action. consumeInitializer(); break; + case 380: { action. consumeInitializerConstructor(); break; } // - // Rule 382: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq , } end_initializer_list + // Rule 381: initializer_clause ::= assignment_expression // - case 382: { action. consumeInitializerList(); break; + case 381: { action. consumeInitializer(); break; } // - // Rule 383: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq } end_initializer_list + // Rule 383: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq , } end_initializer_list // case 383: { action. consumeInitializerList(); break; } // - // Rule 384: initializer_list ::= { <openscope-ast> } + // Rule 384: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq } end_initializer_list // case 384: { action. consumeInitializerList(); break; } // - // Rule 385: start_initializer_list ::= $Empty + // Rule 385: initializer_list ::= { <openscope-ast> } // - case 385: { action. initializerListStart(); break; + case 385: { action. consumeInitializerList(); break; } // - // Rule 386: end_initializer_list ::= $Empty + // Rule 386: start_initializer_list ::= $Empty // - case 386: { action. initializerListEnd(); break; + case 386: { action. initializerListStart(); break; } // - // Rule 391: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt } + // Rule 387: end_initializer_list ::= $Empty // - case 391: { action. consumeClassSpecifier(); break; + case 387: { action. initializerListEnd(); break; } // - // Rule 392: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 392: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt } // - case 392: { action. consumeClassHead(false); break; + case 392: { action. consumeClassSpecifier(); break; } // - // Rule 393: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 393: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook <openscope-ast> base_clause_opt // case 393: { action. consumeClassHead(false); break; } // - // Rule 394: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 394: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt // - case 394: { action. consumeClassHead(true); break; + case 394: { action. consumeClassHead(false); break; } // - // Rule 395: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 395: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook <openscope-ast> base_clause_opt // case 395: { action. consumeClassHead(true); break; } // - // Rule 399: identifier_name_opt ::= $Empty + // Rule 396: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt // - case 399: { action. consumeEmpty(); break; - } + case 396: { action. consumeClassHead(true); break; + } // - // Rule 403: visibility_label ::= access_specifier_keyword : + // Rule 400: identifier_name_opt ::= $Empty // - case 403: { action. consumeVisibilityLabel(); break; - } + case 400: { action. consumeEmpty(); break; + } // - // Rule 404: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ; + // Rule 404: visibility_label ::= access_specifier_keyword : // - case 404: { action. consumeDeclarationSimple(true); break; + case 404: { action. consumeVisibilityLabel(); break; } // - // Rule 405: member_declaration ::= declaration_specifiers_opt ; + // Rule 405: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ; // - case 405: { action. consumeDeclarationSimple(false); break; + case 405: { action. consumeDeclarationSimple(true); break; } // - // Rule 408: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ; + // Rule 406: member_declaration ::= declaration_specifiers_opt ; // - case 408: { action. consumeMemberDeclarationQualifiedId(); break; + case 406: { action. consumeDeclarationSimple(false); break; } // - // Rule 414: member_declaration ::= ERROR_TOKEN + // Rule 409: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ; // - case 414: { action. consumeDeclarationProblem(); break; + case 409: { action. consumeMemberDeclarationQualifiedId(); break; } // - // Rule 423: member_declarator ::= declarator constant_initializer + // Rule 415: member_declaration ::= ERROR_TOKEN // - case 423: { action. consumeMemberDeclaratorWithInitializer(); break; + case 415: { action. consumeDeclarationProblem(); break; } // - // Rule 424: member_declarator ::= bit_field_declarator : constant_expression + // Rule 424: member_declarator ::= declarator constant_initializer // - case 424: { action. consumeBitField(true); break; + case 424: { action. consumeMemberDeclaratorWithInitializer(); break; } // - // Rule 425: member_declarator ::= : constant_expression + // Rule 425: member_declarator ::= bit_field_declarator : constant_expression // - case 425: { action. consumeBitField(false); break; + case 425: { action. consumeBitField(true); break; } // - // Rule 426: bit_field_declarator ::= identifier_name + // Rule 426: member_declarator ::= : constant_expression // - case 426: { action. consumeDirectDeclaratorIdentifier(); break; + case 426: { action. consumeBitField(false); break; } // - // Rule 427: constant_initializer ::= = constant_expression + // Rule 427: bit_field_declarator ::= identifier_name // - case 427: { action. consumeInitializer(); break; + case 427: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 433: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name + // Rule 428: constant_initializer ::= = constant_expression // - case 433: { action. consumeBaseSpecifier(false, false); break; + case 428: { action. consumeInitializer(); break; } // - // Rule 434: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name + // Rule 434: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name // - case 434: { action. consumeBaseSpecifier(true, true); break; + case 434: { action. consumeBaseSpecifier(false, false); break; } // - // Rule 435: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name + // Rule 435: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name // case 435: { action. consumeBaseSpecifier(true, true); break; } // - // Rule 436: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name + // Rule 436: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name // - case 436: { action. consumeBaseSpecifier(true, false); break; + case 436: { action. consumeBaseSpecifier(true, true); break; } // - // Rule 437: access_specifier_keyword ::= private + // Rule 437: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name // - case 437: { action. consumeToken(); break; + case 437: { action. consumeBaseSpecifier(true, false); break; } // - // Rule 438: access_specifier_keyword ::= protected + // Rule 438: access_specifier_keyword ::= private // case 438: { action. consumeToken(); break; } // - // Rule 439: access_specifier_keyword ::= public + // Rule 439: access_specifier_keyword ::= protected // case 439: { action. consumeToken(); break; } // - // Rule 441: access_specifier_keyword_opt ::= $Empty + // Rule 440: access_specifier_keyword ::= public + // + case 440: { action. consumeToken(); break; + } + + // + // Rule 442: access_specifier_keyword_opt ::= $Empty // - case 441: { action. consumeEmpty(); break; + case 442: { action. consumeEmpty(); break; } // - // Rule 443: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt > + // Rule 444: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt > // - case 443: { action. consumeTemplateId(); break; + case 444: { action. consumeTemplateId(); break; } // - // Rule 444: conversion_function_id ::= operator conversion_type_id + // Rule 445: conversion_function_id ::= operator conversion_type_id // - case 444: { action. consumeConversionName(); break; + case 445: { action. consumeConversionName(); break; } // - // Rule 445: conversion_type_id ::= type_specifier_seq conversion_declarator + // Rule 446: conversion_type_id ::= type_specifier_seq conversion_declarator // - case 445: { action. consumeTypeId(true); break; + case 446: { action. consumeTypeId(true); break; } // - // Rule 446: conversion_type_id ::= type_specifier_seq + // Rule 447: conversion_type_id ::= type_specifier_seq // - case 446: { action. consumeTypeId(false); break; + case 447: { action. consumeTypeId(false); break; } // - // Rule 447: conversion_declarator ::= <openscope-ast> ptr_operator_seq + // Rule 448: conversion_declarator ::= <openscope-ast> ptr_operator_seq // - case 447: { action. consumeDeclaratorWithPointer(false); break; + case 448: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 453: mem_initializer ::= mem_initializer_name ( expression_list_opt ) + // Rule 454: mem_initializer ::= mem_initializer_name ( expression_list_opt ) // - case 453: { action. consumeConstructorChainInitializer(); break; + case 454: { action. consumeConstructorChainInitializer(); break; } // - // Rule 454: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name + // Rule 455: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name // - case 454: { action. consumeQualifiedId(false); break; + case 455: { action. consumeQualifiedId(false); break; } // - // Rule 457: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt > + // Rule 458: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt > // - case 457: { action. consumeTemplateId(); break; + case 458: { action. consumeTemplateId(); break; } // - // Rule 458: operator_id_name ::= operator overloadable_operator + // Rule 459: operator_id_name ::= operator overloadable_operator // - case 458: { action. consumeOperatorName(); break; + case 459: { action. consumeOperatorName(); break; } // - // Rule 501: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration + // Rule 502: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration // - case 501: { action. consumeTemplateDeclaration(); break; + case 502: { action. consumeTemplateDeclaration(); break; } // - // Rule 502: export_opt ::= export + // Rule 503: export_opt ::= export // - case 502: { action. consumePlaceHolder(); break; + case 503: { action. consumePlaceHolder(); break; } // - // Rule 503: export_opt ::= $Empty + // Rule 504: export_opt ::= $Empty // - case 503: { action. consumeEmpty(); break; + case 504: { action. consumeEmpty(); break; } // - // Rule 507: template_parameter ::= parameter_declaration + // Rule 508: template_parameter ::= parameter_declaration // - case 507: { action. consumeTemplateParamterDeclaration(); break; + case 508: { action. consumeTemplateParamterDeclaration(); break; } // - // Rule 508: type_parameter ::= class identifier_name_opt + // Rule 509: type_parameter ::= class identifier_name_opt // - case 508: { action. consumeSimpleTypeTemplateParameter(false); break; + case 509: { action. consumeSimpleTypeTemplateParameter(false); break; } // - // Rule 509: type_parameter ::= class identifier_name_opt = type_id + // Rule 510: type_parameter ::= class identifier_name_opt = type_id // - case 509: { action. consumeSimpleTypeTemplateParameter(true); break; + case 510: { action. consumeSimpleTypeTemplateParameter(true); break; } // - // Rule 510: type_parameter ::= typename identifier_name_opt + // Rule 511: type_parameter ::= typename identifier_name_opt // - case 510: { action. consumeSimpleTypeTemplateParameter(false); break; + case 511: { action. consumeSimpleTypeTemplateParameter(false); break; } // - // Rule 511: type_parameter ::= typename identifier_name_opt = type_id + // Rule 512: type_parameter ::= typename identifier_name_opt = type_id // - case 511: { action. consumeSimpleTypeTemplateParameter(true); break; + case 512: { action. consumeSimpleTypeTemplateParameter(true); break; } // - // Rule 512: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt + // Rule 513: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt // - case 512: { action. consumeTemplatedTypeTemplateParameter(false); break; + case 513: { action. consumeTemplatedTypeTemplateParameter(false); break; } // - // Rule 513: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression + // Rule 514: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression // - case 513: { action. consumeTemplatedTypeTemplateParameter(true); break; + case 514: { action. consumeTemplatedTypeTemplateParameter(true); break; } // - // Rule 514: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt > + // Rule 515: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt > // - case 514: { action. consumeTemplateId(); break; + case 515: { action. consumeTemplateId(); break; } // - // Rule 519: template_argument ::= assignment_expression + // Rule 520: template_argument ::= assignment_expression // - case 519: { action. consumeTemplateArgumentExpression(); break; + case 520: { action. consumeTemplateArgumentExpression(); break; } // - // Rule 520: template_argument ::= type_id + // Rule 521: template_argument ::= type_id // - case 520: { action. consumeTemplateArgumentTypeId(); break; + case 521: { action. consumeTemplateArgumentTypeId(); break; } // - // Rule 521: explicit_instantiation ::= template declaration + // Rule 522: explicit_instantiation ::= template declaration // - case 521: { action. consumeTemplateExplicitInstantiation(); break; + case 522: { action. consumeTemplateExplicitInstantiation(); break; } // - // Rule 522: explicit_specialization ::= template < > declaration + // Rule 523: explicit_specialization ::= template < > declaration // - case 522: { action. consumeTemplateExplicitSpecialization(); break; + case 523: { action. consumeTemplateExplicitSpecialization(); break; } // - // Rule 523: try_block ::= try compound_statement <openscope-ast> handler_seq + // Rule 524: try_block ::= try compound_statement <openscope-ast> handler_seq // - case 523: { action. consumeStatementTryBlock(); break; + case 524: { action. consumeStatementTryBlock(true); break; } // - // Rule 526: handler ::= catch ( exception_declaration ) compound_statement + // Rule 525: try_block ::= try compound_statement // - case 526: { action. consumeStatementCatchHandler(false); break; + case 525: { action. consumeStatementTryBlock(false); break; } // - // Rule 527: handler ::= catch ( ... ) compound_statement + // Rule 528: handler ::= catch ( exception_declaration ) compound_statement // - case 527: { action. consumeStatementCatchHandler(true); break; + case 528: { action. consumeStatementCatchHandler(false); break; } // - // Rule 528: exception_declaration ::= type_specifier_seq <openscope-ast> declarator + // Rule 529: handler ::= catch ( ... ) compound_statement // - case 528: { action. consumeDeclarationSimple(true); break; + case 529: { action. consumeStatementCatchHandler(true); break; } // - // Rule 529: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator + // Rule 530: exception_declaration ::= type_specifier_seq <openscope-ast> declarator // - case 529: { action. consumeDeclarationSimple(true); break; + case 530: { action. consumeDeclarationSimple(true); break; } // - // Rule 530: exception_declaration ::= type_specifier_seq + // Rule 531: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator // - case 530: { action. consumeDeclarationSimple(false); break; + case 531: { action. consumeDeclarationSimple(true); break; } // - // Rule 532: exception_specification ::= throw ( ) + // Rule 532: exception_declaration ::= type_specifier_seq // - case 532: { action. consumePlaceHolder(); break; + case 532: { action. consumeDeclarationSimple(false); break; } // - // Rule 553: attribute_parameter ::= assignment_expression + // Rule 534: exception_specification ::= throw ( ) // - case 553: { action. consumeIgnore(); break; + case 534: { action. consumePlaceHolder(); break; + } + + // + // Rule 555: attribute_parameter ::= assignment_expression + // + case 555: { action. consumeIgnore(); break; } // - // Rule 564: extended_asm_declaration ::= asm volatile_opt ( extended_asm_param_seq ) ; + // Rule 566: extended_asm_declaration ::= asm volatile_opt ( extended_asm_param_seq ) ; // - case 564: { gnuAction.consumeDeclarationASM(); break; + case 566: { gnuAction.consumeDeclarationASM(); break; } // - // Rule 575: unary_expression ::= __alignof__ unary_expression + // Rule 577: unary_expression ::= __alignof__ unary_expression // - case 575: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_alignOf); break; + case 577: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_alignOf); break; } // - // Rule 576: unary_expression ::= __alignof__ ( type_id ) + // Rule 578: unary_expression ::= __alignof__ ( type_id ) // - case 576: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_alignof); break; + case 578: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_alignof); break; } // - // Rule 577: unary_expression ::= typeof unary_expression + // Rule 579: unary_expression ::= typeof unary_expression // - case 577: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); break; + case 579: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); break; } // - // Rule 578: unary_expression ::= typeof ( type_id ) + // Rule 580: unary_expression ::= typeof ( type_id ) // - case 578: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_typeof); break; + case 580: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_typeof); break; } // - // Rule 579: relational_expression ::= relational_expression >? shift_expression + // Rule 581: relational_expression ::= relational_expression >? shift_expression // - case 579: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_max); break; + case 581: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_max); break; } // - // Rule 580: relational_expression ::= relational_expression <? shift_expression + // Rule 582: relational_expression ::= relational_expression <? shift_expression // - case 580: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_min); break; + case 582: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_min); break; } // - // Rule 581: conditional_expression ::= logical_or_expression ? <empty> : assignment_expression + // Rule 583: conditional_expression ::= logical_or_expression ? <empty> : assignment_expression // - case 581: { action. consumeExpressionConditional(); break; + case 583: { action. consumeExpressionConditional(); break; } // - // Rule 582: primary_expression ::= ( compound_statement ) + // Rule 584: primary_expression ::= ( compound_statement ) // - case 582: { gnuAction.consumeCompoundStatementExpression(); break; + case 584: { gnuAction.consumeCompoundStatementExpression(); break; } // - // Rule 583: labeled_statement ::= case case_range_expression : statement + // Rule 585: labeled_statement ::= case case_range_expression : statement // - case 583: { action. consumeStatementCase(); break; + case 585: { action. consumeStatementCase(); break; } // - // Rule 584: case_range_expression ::= constant_expression ... constant_expression + // Rule 586: case_range_expression ::= constant_expression ... constant_expression // - case 584: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_assign); break; + case 586: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_assign); break; } // - // Rule 588: typeof_type_specifier ::= typeof unary_expression + // Rule 590: typeof_type_specifier ::= typeof unary_expression // - case 588: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); break; + case 590: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); break; } // - // Rule 589: typeof_type_specifier ::= typeof ( type_id ) + // Rule 591: typeof_type_specifier ::= typeof ( type_id ) // - case 589: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_typeof); break; + case 591: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_typeof); break; } // - // Rule 590: declaration_specifiers ::= <openscope-ast> typeof_declaration_specifiers + // Rule 592: declaration_specifiers ::= <openscope-ast> typeof_declaration_specifiers // - case 590: { action. consumeDeclarationSpecifiersTypeof(); break; + case 592: { action. consumeDeclarationSpecifiersTypeof(); break; } // - // Rule 603: declarator ::= <openscope-ast> ptr_operator_seq attribute_or_decl_specifier_seq direct_declarator + // Rule 605: declarator ::= <openscope-ast> ptr_operator_seq attribute_or_decl_specifier_seq direct_declarator // - case 603: { action. consumeDeclaratorWithPointer(true); break; + case 605: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 606: simple_type_specifier ::= _Complex + // Rule 608: simple_type_specifier ::= _Complex // - case 606: { action. consumeToken(); break; + case 608: { action. consumeToken(); break; } // - // Rule 607: simple_type_specifier ::= _Imaginary + // Rule 609: simple_type_specifier ::= _Imaginary // - case 607: { action. consumeToken(); break; + case 609: { action. consumeToken(); break; } // - // Rule 608: cv_qualifier ::= restrict + // Rule 610: cv_qualifier ::= restrict // - case 608: { action. consumeToken(); break; + case 610: { action. consumeToken(); break; } // - // Rule 609: explicit_instantiation ::= extern template declaration + // Rule 611: explicit_instantiation ::= extern template declaration // - case 609: { action. consumeTemplateExplicitInstantiationGCC(IGPPASTExplicitTemplateInstantiation.ti_extern); break; + case 611: { action. consumeTemplateExplicitInstantiationGCC(IGPPASTExplicitTemplateInstantiation.ti_extern); break; } // - // Rule 610: explicit_instantiation ::= static template declaration + // Rule 612: explicit_instantiation ::= static template declaration // - case 610: { action. consumeTemplateExplicitInstantiationGCC(IGPPASTExplicitTemplateInstantiation.ti_static); break; + case 612: { action. consumeTemplateExplicitInstantiationGCC(IGPPASTExplicitTemplateInstantiation.ti_static); break; } // - // Rule 611: explicit_instantiation ::= inline template declaration + // Rule 613: explicit_instantiation ::= inline template declaration // - case 611: { action. consumeTemplateExplicitInstantiationGCC(IGPPASTExplicitTemplateInstantiation.ti_inline); break; + case 613: { action. consumeTemplateExplicitInstantiationGCC(IGPPASTExplicitTemplateInstantiation.ti_inline); break; } 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 ba2620e9d4e..0ba0702654f 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 @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 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 @@ -57,643 +57,644 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym 0,1,0,1,1,0,1,1,1,1, 1,1,1,1,1,3,4,3,2,1, 4,2,1,2,5,7,5,1,4,1, - 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, + 0,5,7,2,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,1,1,1,1,1,1,1, - 1,1,1,1,1,3,4,4,5,2, - 5,6,5,0,1,0,7,8,0,1, - 3,1,0,1,3,1,7,6,0,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,5,3, - 7,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, - 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,1,0,7,8,0, + 1,3,1,0,1,3,1,7,6,0, + 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,5, + 3,7,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,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,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,4,6,1,0,1,3,1,3, - 0,1,4,5,2,4,2,4,3,3, - 5,3,4,3,1,2,2,2,4,2, - 1,1,2,2,3,2,2,3,1,1, - 1,1,4,1,1,1,1,1,3,3, - 3,-158,0,0,0,-2,0,0,0,0, + 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,2,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,4,6,1,0,1,3, + 1,3,0,1,4,5,2,4,2,4, + 3,3,5,3,4,3,1,2,2,2, + 4,2,1,1,2,2,3,2,2,3, + 1,1,1,1,4,1,1,1,1,1, + 3,3,3,-158,0,0,0,-2,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-7,0,0,0,0,0, - 0,-14,0,0,0,0,0,0,0,0, - 0,-15,0,0,0,-437,0,-8,0,0, - 0,-24,-41,0,0,0,-504,0,0,0, - -26,0,0,0,0,0,0,0,0,-40, - -156,-540,0,0,0,0,0,0,0,-58, - 0,0,0,0,0,0,0,0,-227,0, - 0,0,0,0,0,0,0,-29,0,0, - 0,-9,0,-22,0,-170,0,0,0,0, + 0,0,0,0,0,0,-7,0,0,0, + 0,0,0,-14,0,0,0,0,0,0, + 0,0,0,-15,0,0,0,-437,0,-8, + 0,0,0,-24,-41,0,0,0,-504,0, + 0,0,-26,0,0,0,0,0,0,0, + 0,-40,-156,-540,0,0,0,0,0,0, + 0,-58,0,0,0,0,0,0,0,0, + -227,0,0,0,0,0,0,0,0,-29, + 0,0,0,-9,0,-22,0,-170,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-310,0,0,0,0, - 0,0,-176,0,0,-11,-34,0,-226,0, - 0,-4,0,-127,0,0,0,-50,0,0, - -16,0,0,-18,0,0,0,0,0,0, - 0,0,0,0,0,0,-145,0,0,0, + 0,0,0,0,0,0,0,-310,0,0, + 0,0,0,0,-176,0,0,-11,-34,0, + -226,0,0,-4,0,-127,0,0,0,-50, + 0,0,-16,0,0,-18,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,0,0, - 0,-63,0,-21,0,0,0,0,0,0, - 0,-66,0,0,0,0,0,0,0,-322, - 0,-118,-148,0,0,0,0,0,0,0, - 0,-19,-110,0,0,0,0,0,0,-189, + 0,0,0,-63,0,-21,0,0,0,0, + 0,0,0,-66,0,0,0,0,0,0, + 0,-322,0,-118,-148,0,0,0,0,0, + 0,0,0,-19,-110,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,0,0,0,0,0,0, + 0,0,0,0,-70,0,0,0,0,0, + 0,0,-20,0,-480,0,0,0,0,0, + 0,0,0,0,-171,0,0,0,-495,0, + 0,0,0,0,0,0,0,0,0,-28, + 0,0,0,0,0,0,0,0,-190,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-70,0,0,0,0,0,0,0, - -20,0,-480,0,0,0,0,0,0,0, - 0,0,-171,0,0,0,-495,0,0,0, - 0,0,0,0,0,0,0,-28,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,-484,-107,-23,0,0,-3,0, + 0,0,0,0,0,0,0,0,-323,0, + 0,0,0,0,0,0,0,0,-111,0, + 0,0,0,0,0,-38,0,0,0,0, + 0,-360,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-484,-107,-23,0,0,-3,0,0,0, - 0,0,0,0,0,0,-323,0,0,0, - 0,0,0,0,0,0,-111,0,0,0, - 0,0,0,-38,0,0,0,0,0,-360, + 0,0,0,0,0,-65,0,-54,0,0, + 0,-112,0,0,0,0,0,0,0,0, + 0,0,0,0,-137,0,0,0,0,0, + 0,0,0,0,0,0,-270,0,0,0, + 0,0,-39,0,-42,0,-624,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-101,0,-399,0,0,-64,-497,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-65,0,-54,0,0,0,-112, 0,0,0,0,0,0,0,0,0,0, - 0,0,-137,0,0,0,0,0,0,0, - 0,0,0,0,-270,0,0,0,0,0, - -39,0,-42,0,-624,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -101,0,-399,0,0,-64,-497,0,0,0, + 0,0,0,0,0,0,0,0,-61,0, + 0,-44,0,0,0,0,0,0,-45,-67, + -586,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-160,0,0, + -91,0,0,0,0,0,0,0,0,0, + 0,0,0,-441,0,0,-96,0,0,-6, 0,0,0,0,0,0,0,0,0,0, + 0,0,-183,0,0,0,-51,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-61,0,0,-44, - 0,0,0,0,0,0,-45,-67,-586,0, + 0,0,0,0,0,-48,0,0,0,0, + 0,0,0,0,0,0,0,-431,0,0, + 0,0,-68,0,0,-553,0,0,-98,0, + 0,0,0,0,0,-312,0,0,0,-53, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-160,0,0,-91,0, + 0,-60,0,0,0,-177,0,0,0,0, + 0,0,0,0,0,-585,0,0,-37,0, 0,0,0,0,0,0,0,0,0,0, - 0,-441,0,0,-96,0,0,-6,0,0, + 0,0,0,-132,0,-272,0,0,0,-71, 0,0,0,0,0,0,0,0,0,0, - -183,0,0,0,-51,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-72, + 0,0,0,0,0,-126,0,0,0,0, + 0,0,0,0,0,-594,0,0,0,0, + 0,-133,0,0,-412,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-48,0,0,0,0,0,0, - 0,0,0,0,0,-431,0,0,0,0, - -68,0,0,-553,0,0,-98,0,0,0, - 0,0,0,-312,0,0,0,-53,0,0, + 0,0,0,0,0,0,0,-86,-99,-87, + 0,0,0,0,-599,0,0,0,0,0, + 0,0,0,0,-125,0,0,-147,0,0, + 0,0,0,-180,-501,0,0,0,-587,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-60, - 0,0,0,-177,0,0,0,0,0,0, - 0,0,0,-585,0,0,-37,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-132,0,-272,0,0,0,-71,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-72,0,0, - 0,0,0,-126,0,0,0,0,0,0, - 0,0,0,-594,0,0,0,0,0,-133, - 0,0,-412,0,0,0,0,0,0,0, + 0,0,0,0,-206,0,0,-128,0,0, + 0,0,0,0,0,0,0,0,-88,-251, + 0,0,0,0,-502,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-86,-99,-87,0,0, - 0,0,-599,0,0,0,0,0,0,0, - 0,0,-125,0,0,-147,0,0,0,0, - 0,-180,-501,0,0,0,-587,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -94,0,0,0,0,0,0,0,0,-519, + 0,0,0,0,-203,0,0,-89,-404,0, + 0,0,0,0,-508,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-206,0,0,-128,0,0,0,0, - 0,0,0,0,0,0,-88,-251,0,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,0,0,-94,0, - 0,0,0,0,0,0,0,-519,0,0, - 0,0,-203,0,0,-89,-404,0,0,0, - 0,0,-508,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-605,-142,0,-178,0,0,0, + -216,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-108, + -90,0,-164,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -222,-239,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-92,0, + 0,0,0,0,0,0,-93,0,0,0, + 0,0,0,0,0,-210,-169,0,0,0, + 0,0,-146,0,0,-347,0,0,0,-57, 0,0,0,0,0,0,0,0,0,0, - 0,-605,-142,0,-178,0,0,0,-216,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-108,-90,0, - -164,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-222,-239, + 0,0,0,0,0,-102,0,0,0,0, + 0,0,0,0,0,-106,0,0,0,-224, + 0,0,0,0,-348,0,0,0,-252,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-584,0,0, + 0,0,0,0,0,0,0,0,0,-577, + 0,0,0,0,-113,0,0,-361,0,-161, + 0,0,0,-349,0,0,0,-192,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,-93,0,0,0,0,0, - 0,0,0,-210,-169,0,0,0,0,0, - -146,0,0,-347,0,0,0,-57,0,0, + 0,0,0,0,0,0,0,0,-258,0, + 0,0,0,0,0,0,0,0,-114,0, + 0,0,0,-172,0,0,-129,0,0,-135, + 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,0,0,0,0,0, - 0,0,0,-102,0,0,0,0,0,0, - 0,0,0,-106,0,0,0,-224,0,0, - 0,0,-348,0,0,0,-252,0,0,0, + 0,0,-518,0,0,0,0,0,0,0, + 0,0,-173,0,0,-253,0,0,0,0, + 0,-351,0,0,0,-115,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,0,0,0,0,0,0,-577,0,0, - 0,0,-113,0,0,-361,0,-161,0,0, - 0,-349,0,0,0,-192,0,0,0,0, + 0,0,0,0,-302,0,0,0,0,0, + 0,-201,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-258,0,0,0, - 0,0,0,0,0,0,-114,0,0,0, - 0,-172,0,0,-129,0,0,-135,0,0, - -350,0,0,0,0,0,0,0,0,0, + -352,0,0,0,-116,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, + -202,0,0,0,0,0,0,0,0,0, + 0,0,0,-321,0,0,0,0,0,-353, + 0,0,0,-193,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -518,0,0,0,0,0,0,0,0,0, - -173,0,0,-253,0,0,0,0,0,-351, - 0,0,0,-115,0,0,0,0,0,0, + 0,0,-303,0,0,-109,0,0,0,0, + 0,0,0,0,-130,0,0,0,0,0, + 0,0,-398,0,0,0,0,0,-354,0, + 0,0,-304,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-302,0,0,0,0,0,0,-201, + 0,-481,0,0,0,-131,0,0,-563,0, + 0,0,0,0,0,0,0,0,-406,0, + 0,-153,0,-134,0,0,0,-355,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,0,0,0,-352,0, - 0,0,-116,0,0,0,0,0,0,0, + -262,0,-564,0,0,0,0,0,0,0, + 0,0,-140,0,0,0,0,0,0,0, + -204,0,-162,0,0,0,-356,0,0,0, + -205,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,-202,0, + -493,0,0,0,0,0,-208,0,0,0, + 0,-614,0,0,0,0,0,0,0,-212, + 0,-374,0,0,0,-357,0,0,0,-573, 0,0,0,0,0,0,0,0,0,0, - 0,-321,0,0,0,0,0,-353,0,0, - 0,-193,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-307, + 0,0,0,0,0,-367,0,0,0,0, + -213,0,0,0,0,0,0,0,-494,0, + 0,0,0,0,-365,0,0,0,-215,0, 0,0,0,0,0,0,0,0,0,0, - -303,0,0,-109,0,0,0,0,0,0, - 0,0,-130,0,0,0,0,0,0,0, - -398,0,0,0,0,0,-354,0,0,0, - -304,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-481, - 0,0,0,-131,0,0,-563,0,0,0, - 0,0,0,0,0,0,-406,0,0,-153, - 0,-134,0,0,0,-355,0,0,0,-319, + 0,0,0,0,0,0,0,-117,0,0, + 0,0,0,0,-228,0,0,0,0,-229, + 0,0,0,0,-154,0,0,-384,0,0, + 0,-230,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-262,0, - -564,0,0,0,0,0,0,0,0,0, - -140,0,0,0,0,0,0,0,-204,0, - -162,0,0,0,-356,0,0,0,-205,0, + 0,-231,0,-232,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-493,0, - 0,0,0,0,-208,0,0,0,0,-614, - 0,0,0,0,0,0,0,-212,0,-374, - 0,0,0,-357,0,0,0,-573,0,0, + 0,-233,-548,-119,0,0,0,0,-288,0, + -522,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,-307,0,0, - 0,0,0,-367,0,0,0,0,-213,0, - 0,0,0,0,0,0,-494,0,0,0, - 0,0,-365,0,0,0,-215,0,0,0, + 0,0,0,-537,0,0,0,0,0,0, + 0,0,0,0,0,-234,0,0,0,0, + -486,0,0,0,0,-235,-155,0,0,-523, + 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,-117,0,0,0,0, - 0,0,-228,0,0,0,0,-229,0,0, - 0,0,-154,0,0,-384,0,0,0,-230, + 0,0,-608,0,0,0,0,0,0,-622, + 0,0,0,0,0,0,0,0,0,-120, + 0,0,-207,0,0,-376,0,0,-592,0, + 0,0,-237,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-231, - 0,-232,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-233, - -548,-119,0,0,0,0,-288,0,-522,0, - 0,0,-320,0,0,0,0,0,0,0, + 0,0,0,-261,0,0,0,0,-561,0, + 0,0,0,0,0,0,0,0,-123,0, + 0,0,0,-238,-209,0,0,-429,0,0, + 0,-240,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-537,0,0,0,0,0,0,0,0, - 0,0,0,-234,0,0,0,0,-486,0, - 0,0,0,-235,-155,0,0,-523,0,0, - 0,-236,0,0,0,0,0,0,0,0, + -405,0,0,0,0,0,0,-241,0,0, + 0,0,-277,0,0,0,0,0,0,0, + -440,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,-124,-254,0,0, + 0,0,0,0,0,0,0,0,0,0, + -182,0,0,-282,0,0,-438,-290,-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,-95,0, + 0,0,0,0,0,0,0,0,-580,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,-143,-255,0,-199,0,0, + 0,0,0,0,0,0,-256,0,0,0, + 0,-549,0,0,0,0,-378,0,-25,-525, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-257, + 0,0,0,0,-266,0,0,0,0,0, + 0,0,-579,0,0,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,-305,0,0, + 0,0,-221,0,0,-245,0,-12,0,0, + 0,0,0,0,0,-35,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-267, + 0,0,0,0,0,0,-315,0,0,0, + 0,0,0,-194,0,0,0,0,-513,0, + 0,0,0,0,-246,0,-534,0,-273,0, + 0,0,-247,0,0,0,0,0,0,0, + 0,-407,0,0,0,0,-268,-269,0,0, + 0,0,0,0,0,0,0,0,-359,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-279,-281,0,-283,0,0,0,0, + 0,0,0,-174,0,0,0,0,-5,0, + 0,0,-291,0,-550,-69,0,0,0,0, + -248,0,0,-565,0,0,0,-223,0,0, + 0,0,0,0,0,0,-275,0,0,0, + 0,0,0,0,0,0,0,0,0,-583, + 0,0,-377,0,-427,0,0,0,0,0, + 0,0,0,0,0,0,0,-293,0,-27, + -401,0,0,0,-487,0,-423,-439,0,0, + -316,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-379,0,-225, + 0,0,0,0,0,0,0,0,-287,0, + 0,0,0,0,-589,0,0,0,0,-294, + 0,-36,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-297,0,0,0,0,0,0,0,0, + 0,-299,0,-386,-138,-263,0,0,0,0, + -392,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-300,0,0, + 0,0,0,-616,0,0,0,-292,0,0, + 0,0,-358,0,0,0,0,0,0,0, + 0,-346,0,0,0,-301,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-308,-324,-325,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -344,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-609,0,0,0,-364,0,0, + 0,0,0,0,0,-59,0,0,-366,-368, + -369,-345,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-375,0,0,-97,0,0, + 0,-264,0,0,0,0,0,0,-570,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-62,0,0,0,0, + -370,0,0,0,0,0,-435,0,0,-265, + 0,-371,-373,0,-76,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-387,0,0, + -394,0,0,0,-271,0,0,-395,0,-601, + 0,-341,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-84,0,0,0,0, + 0,-139,0,0,0,0,-610,0,0,0, + -184,0,0,0,0,0,0,0,0,0, + 0,0,0,-276,-286,0,0,0,0,-296, + 0,0,0,0,0,0,0,0,0,-309, + -485,0,0,0,-402,0,-311,0,0,0, + 0,-313,-396,0,0,0,0,-314,-317,0, + 0,-424,0,-397,0,0,0,0,0,0, + -436,-413,0,0,0,0,0,0,0,-414, + 0,0,0,-342,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-421,-318, + 0,0,0,0,0,0,0,0,-343,0, 0,0,0,0,0,0,0,0,0,0, - -608,0,0,0,0,0,0,-622,0,0, - 0,0,0,0,0,0,0,-120,0,0, - -207,0,0,-376,0,0,-592,0,0,0, - -237,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-261,0,0,0,0,-561,0,0,0, - 0,0,0,0,0,0,-123,0,0,0, - 0,-238,-209,0,0,-429,0,0,0,-240, + 0,-560,-422,0,0,0,0,0,-52,0, + 0,0,-434,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-381, + -430,-432,0,0,0,0,0,0,0,0, + -30,0,0,0,-393,-383,-488,0,0,0, + 0,0,0,-157,0,-442,-391,0,-521,0, + 0,-510,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-17,0, + 0,0,-443,0,0,0,0,0,0,-444, + 0,0,0,0,-555,-168,0,0,0,-175, + 0,0,0,0,0,0,-445,-446,-447,0, + -515,0,0,0,0,0,0,0,0,0, + 0,0,0,-278,0,0,0,-448,0,0, + 0,0,0,0,0,0,0,0,0,-425, + 0,-249,-403,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-617,-408,-411,0, + 0,0,0,-420,0,-449,-450,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-405,0, - 0,0,0,0,0,-241,0,0,0,0, - -277,0,0,0,0,0,0,0,-440,0, - 0,0,-243,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-451,-426, + -410,0,0,0,-452,0,0,0,0,0, + 0,0,0,-298,0,0,0,0,0,0, + 0,0,0,0,0,0,-453,0,0,0, + 0,0,0,0,0,0,0,-428,0,0, + 0,-333,0,0,0,-474,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-124,-254,0,0,0,0, - 0,0,0,0,0,0,0,0,-182,0, - 0,-282,0,0,-438,-290,-511,0,0,0, + 0,0,0,0,-181,0,0,0,-185,0, + 0,0,0,0,-499,-219,0,0,0,-454, + 0,0,0,0,-477,0,-417,-455,0,-456, + 0,0,0,0,0,0,-457,-475,-509,0, 0,0,0,0,0,0,0,0,0,0, + -458,0,0,0,0,0,-459,0,-460,0, + -334,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-95,0,0,0, - 0,0,0,0,0,0,-580,0,0,-512, + 0,0,0,0,0,0,0,-478,0,0, + -461,0,0,-335,0,0,0,-462,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-143,-255,0,-199,0,0,0,0, - 0,0,0,0,-256,0,0,0,0,-549, - 0,0,0,0,-378,0,-25,-525,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-257,0,0, - 0,0,-266,0,0,0,0,0,0,0, - -579,0,0,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,-305,0,0,0,0, - -221,0,0,-245,0,-12,0,0,0,0, - 0,0,0,-35,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-267,0,0, - 0,0,0,0,-315,0,0,0,0,0, - 0,-194,0,0,0,0,-513,0,0,0, - 0,0,-246,0,-534,0,-273,0,0,0, - -247,0,0,0,0,0,0,0,0,-407, - 0,0,0,0,-268,-269,0,0,0,0, - 0,0,0,0,0,0,-359,0,0,0, + 0,0,0,0,0,0,-578,0,0,0, + 0,0,0,0,0,0,-500,-336,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -279,-281,0,-283,0,0,0,0,0,0, - 0,-174,0,0,0,0,-5,0,0,0, - -291,0,-550,-69,0,0,0,0,-248,0, - 0,-565,0,0,0,-223,0,0,0,0, - 0,0,0,0,-275,0,0,0,0,0, - 0,0,0,0,0,0,0,-583,0,0, - -377,0,-427,0,0,0,0,0,0,0, - 0,0,0,0,0,-293,0,-27,-401,0, - 0,0,-487,0,-423,-439,0,0,-316,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-379,0,-225,0,0, - 0,0,0,0,0,0,-287,0,0,0, - 0,0,-589,0,0,0,0,-294,0,-36, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-297, - 0,0,0,0,0,0,0,0,0,-299, - 0,-386,-138,-263,0,0,0,0,-392,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-300,0,0,0,0, - 0,-616,0,0,0,-292,0,0,0,0, - -358,0,0,0,0,0,0,0,0,-346, - 0,0,0,-301,0,0,0,0,0,0, + -463,0,-464,-466,0,0,0,-482,0,0, + -337,0,0,0,-467,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-308,-324,-325,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-344,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-609,0,0,0,-364,0,0,0,0, - 0,0,0,-59,0,0,-366,-368,-369,-345, + 0,0,0,-43,0,0,0,0,0,0, + -472,0,0,-338,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-363,-476,0,-490, + 0,0,0,-220,0,0,0,-483,-496,-433, + 0,0,-491,-498,-527,-492,0,0,-516,0, + -531,-535,-165,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-517, 0,0,0,0,0,0,0,0,0,0, - 0,0,-375,0,0,-97,0,0,0,-264, - 0,0,0,0,0,0,-570,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-62,0,0,0,0,-370,0, - 0,0,0,0,-435,0,0,-265,0,-371, - -373,0,-76,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-387,0,0,-394,0, - 0,0,-271,0,0,-395,0,-601,0,-341, + 0,0,0,0,0,0,-529,0,-415,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-532,0,-538,0,0,0,0,0, + 0,0,-533,-536,0,0,0,-541,0,-339, + 0,0,0,-551,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-84,0,0,0,0,0,-139, - 0,0,0,0,-610,0,0,0,-184,0, + 0,0,0,0,-544,-556,-545,0,0,0, + 0,0,0,0,-539,0,0,-552,0,-554, + 0,-528,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-557,0,-575,0,0, + -558,0,-567,-576,-546,-588,0,0,0,0, + -340,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-276,-286,0,0,0,0,-296,0,0, - 0,0,0,0,0,0,0,-309,-485,0, - 0,0,-402,0,-311,0,0,0,0,-313, - -396,0,0,0,0,-314,-317,0,0,-424, - 0,-397,0,0,0,0,0,0,-436,-413, - 0,0,0,0,0,0,0,-414,0,0, - 0,-342,0,0,0,0,0,0,0,0, + 0,0,0,-372,0,-543,0,0,0,0, + 0,0,-547,-196,0,0,0,0,0,0, + -569,-489,-581,0,-595,0,0,-593,-606,0, + 0,0,0,-542,-607,-620,0,0,0,0, + 0,0,0,-582,-596,0,-465,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-421,-318,0,0, - 0,0,0,0,0,0,-343,0,0,0, + 0,0,0,-597,0,0,0,0,0,0, + 0,0,0,0,0,0,-600,0,-602,-603, + 0,0,0,0,0,0,0,0,0,-468, + 0,0,0,0,0,-604,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-560, - -422,0,0,0,0,0,-52,0,0,0, - -434,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-381,-430,-432, - 0,0,0,0,0,0,0,0,-30,0, - 0,0,-393,-383,-488,0,0,0,0,0, - 0,-157,0,-442,-391,0,-521,0,0,-510, + 0,-615,0,0,-530,0,-571,0,0,-613, + 0,0,-612,0,0,0,0,0,0,0, + 0,0,-524,0,0,0,0,0,-418,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-17,0,0,0, - -443,0,0,0,0,0,0,-444,0,0, - 0,0,-555,-168,0,0,0,-175,0,0, - 0,0,0,0,-445,-446,-447,0,-515,0, 0,0,0,0,0,0,0,0,0,0, - 0,-278,0,0,0,-448,0,0,0,0, - 0,0,0,0,0,0,0,-425,0,-249, - -403,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-617,-408,-411,0,0,0, - 0,-420,0,-449,-450,0,0,0,0,0, + 0,0,-623,0,0,0,0,0,0,0, + 0,0,0,0,0,-526,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-451,-426,-410,0, - 0,0,-452,0,0,0,0,0,0,0, - 0,-298,0,0,0,0,0,0,0,0, - 0,0,0,0,-453,0,0,0,0,0, - 0,0,0,0,0,-428,0,0,0,-333, - 0,0,0,-474,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-181,0,0,0,-185,0,0,0, - 0,0,-499,-219,0,0,0,-454,0,0, - 0,0,-477,0,-417,-455,0,-456,0,0, - 0,0,0,0,-457,-475,-509,0,0,0, - 0,0,0,0,0,0,0,0,-458,0, - 0,0,0,0,-459,0,-460,0,-334,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,-478,0,0,-461,0, - 0,-335,0,0,0,-462,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-578,0,0,0,0,0, - 0,0,0,0,-500,-336,0,0,0,0, + 0,0,0,-469,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-463,0, - -464,-466,0,0,0,-482,0,0,-337,0, - 0,0,-467,0,0,0,0,0,0,0, + 0,-568,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-43,0,0,0,0,0,0,-472,0, - 0,-338,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,-363,-476,0,-490,0,0, - 0,-220,0,0,0,-483,-496,-433,0,0, - -491,-498,-527,-492,0,0,-516,0,-531,-535, - -165,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-517,0,0, + 0,0,0,0,-572,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-529,0,-415,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -532,0,-538,0,0,0,0,0,0,0, - -533,-536,0,0,0,-541,0,-339,0,0, - 0,-551,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-544,-556,-545,0,0,0,0,0, - 0,0,-539,0,0,-552,0,-554,0,-528, + 0,0,0,0,0,0,0,-611,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-557,0,-575,0,0,-558,0, - -567,-576,-546,-588,0,0,0,0,-340,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-372,0,-543,0,0,0,0,0,0, - -547,-196,0,0,0,0,0,0,-569,-489, - -581,0,-595,0,0,-593,-606,0,0,0, - 0,-542,-607,-620,0,0,0,0,0,0, - 0,-582,-596,0,-465,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-597,0,0,0,0,0,0,0,0, - 0,0,0,0,-600,0,-602,-603,0,0, - 0,0,0,0,0,0,0,-468,0,0, - 0,0,0,-604,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-615, - 0,0,-530,0,-571,0,0,-613,0,0, - -612,0,0,0,0,0,0,0,0,0, - -524,0,0,0,0,0,-418,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-618, 0,0,0,0,0,0,0,0,0,0, - -623,0,0,0,0,0,0,0,0,0, - 0,0,0,-526,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,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-214,0, + 0,0,0,0,0,-166,-574,-621,-31,0, + -598,0,0,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,0,0,0,0,0, - 0,-469,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-568, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-32, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-470,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,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-100,0, + 0,0,0,0,0,0,0,-103,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-611,0,0,0,0, + 0,0,0,0,0,-167,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-295,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 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,0,0,-179,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-618,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-559,-77, 0,0,0,0,0,0,0,0,0,0, - 0,-328,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-214,0,0,0, - 0,0,0,-166,-574,-621,-31,0,-598,0, 0,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,0,0,0,0,0,0, + 0,0,0,0,-104,0,0,0,0,0, + 0,0,0,0,0,0,0,-55,0,0, + 0,-56,0,0,0,-186,0,0,0,0, + 0,0,-289,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-32,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-100,0,0,0, - 0,0,0,0,0,-103,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-330,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-167,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-331, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-295,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-332,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-1,0,0,0, + 0,0,0,0,0,0,-105,0,0,0, + 0,0,0,0,0,-78,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -514,0,0,0,0,0,0,0,0,0, - 0,-179,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-390,-506, + 0,-83,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-559,-77,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-329,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, - 0,0,-104,0,0,0,0,0,0,0, - 0,0,0,0,0,-55,0,0,0,-56, - 0,0,0,-186,0,0,0,0,0,0, - -289,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,-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,0,-82,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-85,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-159,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-330,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-331,0,0, + 0,-326,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-327,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-332,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-362,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-1,0,0,0,0,0, - 0,0,0,0,-105,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,-390,-506,0,-83, + -389,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,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,0,-74,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-75, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-79,0,0,0,0, + 0,-197,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-80,0, + 0,0,0,-195,0,0,-471,0,0,0, + 0,-218,0,0,0,0,0,0,0,0, + -198,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-141,0,0,0,0, 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,0, - -82,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-85,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-159,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-326, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-327,0,0,0,0,0,0,0, + 0,-260,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-362,0,0,0,0, + 0,0,0,-284,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-505,0,0, + -163,0,-306,-187,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,0,0,0,-389,0, 0,0,0,0,0,0,0,0,0,0, + 0,-10,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-33,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-73,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-74,0,0,0,0, + -13,0,-188,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-75,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-197, + 0,0,0,0,0,0,0,0,0,-46, + 0,0,0,0,0,-285,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,0,0,0,0,0,-47,0, 0,0,0,0,0,0,0,0,0,0, - 0,-195,0,0,-471,0,0,0,0,-218, - 0,0,0,0,0,0,0,0,-198,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-385,0,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,0,0,-141,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-400,0,0,0,0,0,0,0,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,-507,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-122,-409,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-419,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-260, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-284,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-505,0,0,-163,0, - -306,-187,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,0,0,0,0,0,0,-10, 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,0,0,0, + 0,-136,0,0,0,0,0,0,0,0, + 0,0,0,0,-382,0,0,0,0,0, + 0,0,0,0,0,0,0,-479,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-13,0, - -188,0,0,0,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,0,0,0,-503,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,-46,0,0, - 0,0,0,-285,0,0,0,0,0,0, + 0,0,0,0,0,-380,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,0,0,0,0,0,-47,0,0,0, + 0,0,0,-625,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -385,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-49,0,0,0,0, + 0,0,-250,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-400, 0,0,0,0,0,0,0,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,-507,0,0,0,0, + 0,0,0,0,0,0,-149,0,0,0, + 0,0,-416,0,0,0,0,0,0,0, + -259,0,0,0,0,0,-150,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-122,-409,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-151,0,0,0, + 0,0,-152,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,0,0,-274,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-419,0,0,0,0,0,0,0, + 0,0,-280,0,0,0,0,0,0,0, + 0,0,0,0,0,-520,0,0,0,0, + 0,0,0,0,0,0,0,-562,0,0, + 0,0,0,0,0,0,0,0,0,-590, + 0,0,0,0,0,0,0,-591,0,0, + 0,0,0,-473,0,0,-619,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,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,0,0,0,0,-136, 0,0,0,0,0,0,0,0,0,0, - 0,0,-382,0,0,0,0,0,0,0, - 0,0,0,0,0,-479,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-200,0,0,0,0,0, - 0,0,0,0,0,-503,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,-380,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-625,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -250,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-149,0,0,0,0,0, - -416,0,0,0,0,0,0,0,-259,0, - 0,0,0,0,-150,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-151,0,0,0,0,0, - -152,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,0, - 0,-274,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -280,0,0,0,0,0,0,0,0,0, - 0,0,0,-520,0,0,0,0,0,0, - 0,0,0,0,0,-562,0,0,0,0, - 0,0,0,0,0,0,0,-590,0,0, - 0,0,0,0,0,-591,0,0,0,0, - 0,-473,0,0,-619,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,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; @@ -722,728 +723,729 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym 102,102,194,194,95,222,222,79,79,79, 79,79,79,79,79,79,80,80,80,77, 77,61,61,195,195,81,81,81,109,109, - 196,196,82,82,82,197,197,83,83,83, - 83,83,84,84,86,86,86,86,86,86, - 86,86,54,54,54,54,54,110,110,108, - 108,55,198,23,23,23,23,23,52,52, - 92,92,92,92,92,164,164,159,159,159, - 159,159,160,160,160,161,161,161,162,162, - 162,163,163,163,93,93,93,93,93,94, - 94,94,13,14,14,14,14,14,14,14, - 14,14,14,14,103,129,129,129,129,129, - 129,127,127,127,165,166,166,128,128,199, - 168,168,167,167,131,131,111,75,75,132, - 57,51,169,169,58,88,88,170,170,158, - 158,133,134,134,135,72,72,171,171,67, - 67,67,64,64,63,68,68,90,90,70, - 70,70,66,96,96,105,104,104,71,71, - 65,65,62,62,49,106,106,106,98,98, - 98,99,99,100,100,100,101,101,112,112, - 112,114,114,113,113,223,223,97,97,201, - 201,201,201,201,137,50,50,173,200,200, - 138,138,139,139,139,140,175,202,202,43, - 43,126,141,141,141,141,204,116,115,115, - 130,130,130,176,177,177,177,177,177,177, - 177,177,177,177,177,206,206,203,203,205, - 205,118,119,119,119,119,120,207,121,117, - 117,208,208,178,178,178,178,107,107,107, - 209,209,8,8,9,210,210,211,179,172, - 172,180,180,181,182,182,7,7,10,212, + 196,196,82,82,82,82,197,197,83,83, + 83,83,83,84,84,86,86,86,86,86, + 86,86,86,54,54,54,54,54,110,110, + 108,108,55,198,23,23,23,23,23,52, + 52,92,92,92,92,92,164,164,159,159, + 159,159,159,160,160,160,161,161,161,162, + 162,162,163,163,163,93,93,93,93,93, + 94,94,94,13,14,14,14,14,14,14, + 14,14,14,14,14,103,129,129,129,129, + 129,129,127,127,127,165,166,166,128,128, + 199,168,168,167,167,131,131,111,75,75, + 132,57,51,169,169,58,88,88,170,170, + 158,158,133,134,134,135,72,72,171,171, + 67,67,67,64,64,63,68,68,90,90, + 70,70,70,66,96,96,105,104,104,71, + 71,65,65,62,62,49,106,106,106,98, + 98,98,99,99,100,100,100,101,101,112, + 112,112,114,114,113,113,223,223,97,97, + 201,201,201,201,201,137,50,50,173,200, + 200,138,138,139,139,139,140,175,202,202, + 43,43,126,141,141,141,141,204,116,115, + 115,130,130,130,176,177,177,177,177,177, + 177,177,177,177,177,177,206,206,203,203, + 205,205,118,119,119,119,119,120,207,121, + 117,117,208,208,178,178,178,178,107,107, + 107,209,209,8,8,9,210,210,211,179, + 172,172,180,180,181,182,182,7,7,10, 212,212,212,212,212,212,212,212,212,212, 212,212,212,212,212,212,212,212,212,212, 212,212,212,212,212,212,212,212,212,212, 212,212,212,212,212,212,212,212,212,212, - 212,73,76,76,183,183,143,143,144,144, - 144,144,144,144,3,145,145,142,142,122, - 122,87,74,85,174,174,123,123,213,213, - 213,146,146,136,136,214,214,24,24,24, - 40,40,25,25,215,215,184,184,184,185, - 185,216,216,186,186,26,26,217,217,187, - 187,187,187,27,59,218,218,219,219,188, - 188,188,147,147,147,19,19,19,19,33, - 33,42,17,80,220,189,189,189,148,148, - 23,56,92,135,135,135,118,118,118,199, - 204,116,66,72,165,132,13,13,71,87, - 87,87,1575,35,2658,2615,46,6199,27,30, - 31,1051,984,26,28,2604,262,25,23,50, - 1645,106,76,77,108,3511,592,537,538,539, - 2238,2270,75,2250,2290,2272,2344,4826,2334,2401, - 2352,2442,75,2450,143,274,2809,4830,3674,158, - 144,6304,1334,1428,1913,1864,34,2382,35,1053, - 32,1994,4995,27,30,31,1051,984,340,28, - 4177,2997,3803,232,2837,3530,540,537,538,539, - 2905,540,537,538,539,540,537,538,539,1428, - 35,283,1076,344,235,230,231,5592,1688,35, - 280,1128,3863,2844,1843,275,2265,35,1053,32, - 543,6272,27,30,31,1051,984,57,28,833, - 320,1377,322,1704,316,1237,2046,334,242,245, - 248,251,662,1688,35,455,3076,1330,6291,2484, - 3054,2567,892,714,1428,35,296,353,3298,1117, - 585,70,5884,1841,264,347,1854,1717,350,2516, - 182,3467,804,954,2627,2898,4568,3012,35,1053, - 32,2837,3244,27,30,31,1051,984,26,28, - 1637,262,25,23,50,1645,106,76,77,108, - 344,4507,75,2437,1337,2238,2270,5484,2250,2290, - 2272,2344,75,2334,2401,2352,2442,5621,2450,143, - 2484,3054,2443,2710,519,144,3442,802,592,537, - 538,539,452,1731,431,88,812,6077,102,520, - 3012,35,1053,32,2837,3244,27,30,31,1051, - 984,26,28,1637,262,25,23,50,1645,106, - 76,77,108,344,3898,1890,3164,61,2238,2270, - 1014,2250,2290,2272,2344,232,2334,2401,2352,2442, - 290,2450,143,1428,35,918,390,519,144,3442, - 444,540,458,3366,35,278,244,230,231,515, - 2752,2694,520,2354,35,1053,32,234,6272,27, - 30,31,1051,984,56,28,967,3055,2292,2233, - 545,2135,2476,448,2821,2822,274,3012,35,1053, - 32,2837,3244,27,30,31,1051,984,26,28, - 1637,262,25,23,50,1645,106,76,77,108, - 344,290,3741,3117,1466,2238,2270,1936,2250,2290, - 2272,2344,515,2334,2401,2352,2442,2639,2450,143, - 761,2322,42,2493,519,144,3442,2270,592,537, - 538,539,2896,323,2567,2476,276,2535,3055,520, - 3373,35,1053,32,2837,3244,27,30,31,1051, - 984,26,28,1637,262,25,23,50,1645,106, - 76,77,108,344,2831,1563,2214,1073,2238,2270, - 3117,2250,2290,2272,2344,232,2334,2401,2352,2442, - 524,2450,143,1428,35,3862,3654,519,144,3442, - 541,537,538,539,445,2888,247,230,231,515, - 499,2568,520,2746,60,2810,35,1053,32,2603, - 5830,27,30,31,1051,984,26,28,500,2948, - 513,1298,2476,1428,35,3871,1463,3444,35,1053, - 32,1234,3244,27,30,31,1051,984,26,28, - 1637,262,25,23,50,1645,106,76,77,108, - 541,537,538,539,682,2238,2270,3946,2250,2290, - 2272,2344,516,2334,2401,2352,2442,76,2450,143, - 634,6000,2937,2001,380,144,652,2919,2367,3083, - 35,1053,32,2906,3244,27,30,31,1051,984, - 26,28,1637,262,25,23,50,1645,106,76, - 77,108,541,537,538,539,1010,2238,2270,75, - 2250,2290,2272,2344,3484,2334,2401,2352,2442,1073, - 2450,143,1428,3054,2937,3736,380,144,1944,35, - 1053,32,2724,3822,27,30,31,1051,984,340, - 28,3157,35,1053,32,1843,3244,27,30,31, - 1051,984,26,28,1637,262,25,23,50,1645, - 106,76,77,108,653,387,381,2297,1562,2238, - 2270,221,2250,2290,2272,2344,3928,2334,2401,2352, - 2442,76,2450,143,610,777,2937,1573,380,144, - 2515,317,1120,322,3302,35,1053,32,935,3244, - 27,30,31,1051,984,26,28,1637,262,25, - 23,50,1645,106,76,77,108,388,381,2297, - 3146,313,2238,2270,2745,2250,2290,2272,2344,3483, - 2334,2401,2352,2442,81,2450,143,1717,35,1053, - 32,553,144,41,30,31,1051,984,541,537, - 538,539,2046,291,3645,35,1053,32,3882,3244, - 27,30,31,1051,984,26,28,1637,262,25, - 23,50,1645,106,76,77,108,325,1106,378, - 381,2297,2238,2270,75,2250,2290,2272,2344,6055, - 2334,2401,2352,2442,3369,2450,143,2079,1304,747, - 2906,158,144,3645,35,1053,32,525,3244,27, - 30,31,1051,984,26,28,1637,262,25,23, - 50,1645,106,76,77,108,643,2924,3116,156, - 555,2238,2270,3868,2250,2290,2272,2344,162,2334, - 2401,2352,2442,1843,2450,143,1428,35,1864,277, - 374,144,2893,3645,35,1053,32,728,3244,27, - 30,31,1051,984,26,28,1637,262,25,23, - 50,1645,106,76,77,108,541,537,538,539, - 551,2238,2270,423,2250,2290,2272,2344,2606,2334, - 2401,2352,2442,3342,2450,143,1831,35,1053,32, - 374,144,1939,30,31,1051,984,3202,2981,383, - 3578,2516,6013,3645,35,1053,32,326,3244,27, - 30,31,1051,984,26,28,1637,262,25,23, - 50,1645,106,76,77,108,544,2135,352,76, - 373,2238,2270,2832,2250,2290,2272,2344,1978,2334, - 2401,2352,2442,1950,2450,143,3405,1802,35,455, - 374,144,6291,3302,35,1053,32,2391,3244,27, - 30,31,1051,984,26,28,1637,262,25,23, - 50,1645,106,76,77,108,89,558,4161,102, - 372,2238,2270,324,2250,2290,2272,2344,353,2334, - 2401,2352,2442,533,2450,143,345,1854,1717,350, - 553,144,81,1843,3418,3518,35,1053,32,1204, - 3244,27,30,31,1051,984,26,28,1637,262, - 25,23,50,1645,106,76,77,108,76,3482, - 570,76,840,2238,2270,2837,2250,2290,2272,2344, - 370,2334,2401,2352,2442,440,2824,164,2928,3004, - 3231,35,1053,32,344,3244,27,30,31,1051, - 984,26,28,1637,262,25,23,50,1645,106, - 76,77,108,541,537,538,539,822,2238,2270, - 3442,2250,2290,2272,2344,3077,2334,2401,2352,2442, - 2034,2450,143,2663,3675,3151,328,142,144,1304, - 2532,2532,35,278,3645,35,1053,32,1950,3244, - 27,30,31,1051,984,26,28,1637,262,25, - 23,50,1645,106,76,77,108,452,2821,2822, - 160,568,2238,2270,183,2250,2290,2272,2344,552, - 2334,2401,2352,2442,3473,2450,143,2081,2532,35, - 281,155,144,3645,35,1053,32,3079,3244,27, - 30,31,1051,984,26,28,1637,262,25,23, - 50,1645,106,76,77,108,3776,382,652,1932, - 2837,2238,2270,391,2250,2290,2272,2344,3867,2334, - 2401,2352,2442,2293,2450,143,3005,3213,3926,344, - 154,144,3645,35,1053,32,2270,3244,27,30, - 31,1051,984,26,28,1637,262,25,23,50, - 1645,106,76,77,108,4134,1952,1688,35,280, - 2238,2270,5791,2250,2290,2272,2344,2299,2334,2401, - 2352,2442,3151,2450,143,3259,1304,354,3117,153, - 144,3645,35,1053,32,2034,3244,27,30,31, - 1051,984,26,28,1637,262,25,23,50,1645, - 106,76,77,108,2694,2099,2752,160,563,2238, - 2270,3264,2250,2290,2272,2344,6316,2334,2401,2352, - 2442,76,2450,143,3263,1304,567,462,152,144, - 3645,35,1053,32,3550,3244,27,30,31,1051, - 984,26,28,1637,262,25,23,50,1645,106, - 76,77,108,1728,35,398,156,1805,2238,2270, - 3736,2250,2290,2272,2344,2481,2334,2401,2352,2442, - 1383,2450,143,3946,3272,44,2493,151,144,3645, - 35,1053,32,1317,3244,27,30,31,1051,984, - 26,28,1637,262,25,23,50,1645,106,76, - 77,108,1428,35,1864,279,304,2238,2270,3736, - 2250,2290,2272,2344,355,2334,2401,2352,2442,4118, - 2450,143,1428,35,1864,282,150,144,3645,35, - 1053,32,2270,3244,27,30,31,1051,984,26, - 28,1637,262,25,23,50,1645,106,76,77, - 108,1728,35,398,76,301,2238,2270,927,2250, - 2290,2272,2344,831,2334,2401,2352,2442,3357,2450, - 143,1428,35,1864,3858,149,144,3645,35,1053, - 32,3675,3244,27,30,31,1051,984,26,28, - 1637,262,25,23,50,1645,106,76,77,108, - 2836,35,1864,277,277,2238,2270,75,2250,2290, - 2272,2344,6328,2334,2401,2352,2442,3151,2450,143, - 3117,1304,922,461,148,144,3645,35,1053,32, - 2107,3244,27,30,31,1051,984,26,28,1637, - 262,25,23,50,1645,106,76,77,108,1292, - 589,75,160,2837,2238,2270,6336,2250,2290,2272, - 2344,3296,2334,2401,2352,2442,3391,2450,143,3736, - 305,1446,344,147,144,3645,35,1053,32,354, - 3244,27,30,31,1051,984,26,28,1637,262, - 25,23,50,1645,106,76,77,108,2989,1428, - 3952,1864,74,2238,2270,1016,2250,2290,2272,2344, - 728,2334,2401,2352,2442,564,2450,143,3799,3867, - 1428,3624,146,144,3645,35,1053,32,1080,3244, - 27,30,31,1051,984,26,28,1637,262,25, - 23,50,1645,106,76,77,108,392,1428,35, - 296,429,2238,2270,3736,2250,2290,2272,2344,1844, - 2334,2401,2352,2442,406,2450,143,2836,35,1864, - 3986,145,144,4023,35,1053,32,3676,3244,27, - 30,31,1051,984,26,28,1637,262,25,23, - 50,1645,106,76,77,108,1428,35,918,390, - 179,2238,2270,1029,2250,2290,2272,2344,72,2334, - 2401,2352,2442,3117,2824,164,3645,35,1053,32, - 1920,3244,27,30,31,1051,984,26,28,1637, - 262,25,23,50,1645,106,76,77,108,274, - 1294,3445,3406,582,2238,2270,357,2250,2290,2272, - 2344,525,2334,2401,2352,2442,533,2450,143,3310, - 166,3151,76,159,144,1304,5442,1843,3803,3645, - 35,1053,32,2107,3244,27,30,31,1051,984, - 26,28,1637,262,25,23,50,1645,106,76, - 77,108,1428,35,1864,4012,160,2238,2270,341, - 2250,2290,2272,2344,1198,2334,2401,2352,2442,76, - 2450,143,3546,1304,448,3117,581,144,3645,35, - 1053,32,916,3244,27,30,31,1051,984,26, - 28,1637,262,25,23,50,1645,106,76,77, - 108,1728,35,398,156,24,2238,2270,728,2250, - 2290,2272,2344,3973,2334,2401,2352,2442,76,2450, - 143,2985,4052,4061,3736,140,144,3708,35,1053, - 32,1104,3244,27,30,31,1051,984,26,28, - 1637,262,25,23,50,1645,106,76,77,108, - 393,3295,2270,3792,429,2238,2270,2809,2250,2290, - 2272,2344,6304,2334,2401,2352,2442,76,2450,143, - 198,5420,1509,3225,189,144,4023,35,1053,32, - 1993,3244,27,30,31,1051,984,26,28,1637, - 262,25,23,50,1645,106,76,77,108,1428, - 35,918,390,560,2238,2270,1842,2250,2290,2272, - 2344,2270,2334,2401,2352,2442,4074,2824,164,4023, - 35,1053,32,1109,3244,27,30,31,1051,984, - 26,28,1637,262,25,23,50,1645,106,76, - 77,108,454,5309,356,76,2395,2238,2270,5459, - 2250,2290,2272,2344,533,2334,2401,2352,2442,76, - 2824,164,2270,1304,1841,2639,3330,4023,35,1053, - 32,425,3244,27,30,31,1051,984,26,28, - 1637,262,25,23,50,1645,106,76,77,108, - 541,537,538,539,3273,2238,2270,1387,2250,2290, - 2272,2344,51,2334,2401,2352,2442,2270,2824,164, - 4023,35,1053,32,295,3244,27,30,31,1051, - 984,26,28,1637,262,25,23,50,1645,106, - 76,77,108,76,1200,432,76,749,2238,2270, - 5611,2250,2290,2272,2344,4450,2334,2401,2352,2442, - 3151,2824,164,327,1304,1428,3856,1716,4023,35, - 1053,32,424,3244,27,30,31,1051,984,26, - 28,1637,262,25,23,50,1645,106,76,77, - 108,592,537,538,539,160,2238,2270,4405,2250, - 2290,2272,2344,1123,2334,2401,2352,2442,97,2824, - 164,4149,35,1053,32,427,3244,27,30,31, - 1051,984,26,28,1637,262,25,23,50,1645, - 106,76,77,108,1428,35,918,390,232,2238, - 2270,3447,2250,2290,2272,2344,3675,2334,2401,2352, - 2442,76,2824,164,3117,2060,2722,1248,296,250, - 230,231,4082,584,1695,35,1053,32,4607,4995, - 27,30,31,1051,984,340,28,49,1410,3488, - 540,537,538,539,578,3926,449,46,540,537, - 538,539,1831,35,1053,32,1016,3472,40,30, - 31,1051,984,3117,4813,234,3218,2621,35,1053, - 32,3117,5830,27,30,31,1051,984,59,28, - 3675,541,537,538,539,1444,1742,320,1377,322, - 1704,315,1237,576,333,298,3136,4023,35,1053, - 32,87,3244,27,30,31,1051,984,26,28, - 1637,262,25,23,50,1645,106,76,77,108, - 4616,2461,1359,2883,2817,2238,2270,3397,2250,2290, - 2272,2344,1387,2334,2401,2352,3789,4303,35,918, - 390,549,3429,3147,1428,35,918,390,1195,3117, - 237,262,1428,35,918,390,76,307,311,1071, - 2303,592,537,538,539,2621,35,1053,32,384, - 5830,27,30,31,1051,984,58,28,3147,5286, - 274,3736,1175,1831,35,1053,32,49,524,3677, - 30,31,1051,984,1694,433,1856,1328,1830,3339, - 35,918,390,76,1661,3675,3675,1304,232,1923, - 35,3420,32,4607,4995,27,30,31,1051,984, - 340,28,592,537,538,539,1843,197,76,235, - 230,231,820,540,537,538,539,76,156,2158, - 275,2780,274,1428,35,918,390,3975,2102,3401, - 2539,35,1053,32,4607,3822,27,30,31,1051, - 984,340,28,242,245,248,251,662,70,232, - 173,681,320,1377,322,1704,315,1237,714,333, - 2575,1226,3220,2544,76,585,436,3663,1304,2093, - 253,230,231,3289,297,287,3467,804,954,2627, - 2898,4568,3874,71,3512,4616,89,540,537,538, - 539,449,1843,320,1377,322,76,315,1237,3433, - 3579,2463,953,1609,72,1304,4507,3868,421,3419, - 4023,35,1053,32,3684,3244,27,30,31,1051, - 984,26,28,1637,262,25,23,50,1645,106, - 76,77,108,1538,2546,3154,156,681,2238,2270, - 2752,2250,2290,2272,2344,3736,2334,2401,3697,4023, - 35,1053,32,527,3244,27,30,31,1051,984, - 26,28,1637,262,25,23,50,1645,106,76, - 77,108,1428,35,918,390,2641,2238,2270,2711, - 2250,2290,2272,2344,2906,2334,3689,3075,95,2803, - 4023,35,1053,32,3616,3244,27,30,31,1051, - 984,26,28,1637,262,25,23,50,1645,106, - 76,77,108,3800,556,435,2301,1304,2238,2270, - 3117,2250,2290,2272,2344,3729,3695,3040,35,1053, - 32,4607,3822,27,30,31,1051,984,340,28, - 540,537,538,539,1728,35,2091,3250,156,2892, - 69,540,537,538,539,2107,1274,3676,3117,200, - 2979,2991,93,4023,35,1053,32,4841,3244,27, - 30,31,1051,984,26,28,1637,262,25,23, - 50,1645,106,76,77,85,4495,49,68,3276, - 320,1377,322,3117,315,1237,3418,1328,2270,3136, - 4023,35,1053,32,1033,3244,27,30,31,1051, - 984,26,28,1637,262,25,23,50,1645,106, - 76,77,108,53,1383,35,918,390,2238,2270, - 1507,2250,2290,2272,3666,1428,35,918,390,1528, - 35,1053,32,4607,3822,27,30,31,1051,984, - 340,28,3117,3117,540,537,538,539,3117,2983, - 307,311,1071,540,537,538,539,49,3117,2628, - 1609,557,395,2799,3643,3117,429,1328,434,4841, - 3117,3436,52,379,1758,4063,3117,76,3547,98, - 3736,3175,3489,540,537,538,539,1694,573,2107, - 3546,1350,320,1377,322,542,315,1237,3613,1402, - 562,3136,4023,35,1053,32,561,3244,27,30, - 31,1051,984,26,28,1637,262,25,23,50, - 1645,106,76,77,108,1704,300,3845,76,4044, - 2238,2270,3319,2250,2290,3668,2856,4023,35,1053, - 32,2752,3244,27,30,31,1051,984,26,28, - 1637,262,25,23,50,1645,106,76,77,108, - 3187,3865,308,311,1071,2238,2270,1954,2250,2290, - 3675,2119,35,3420,32,4607,3822,27,30,31, - 1051,984,340,28,541,537,538,539,3117,3186, - 2209,540,537,538,539,3877,537,538,539,1380, - 35,918,390,3117,76,76,394,1016,6026,1304, - 429,3499,2915,94,2096,76,6141,3675,351,952, - 2056,35,3420,32,4607,3822,27,30,31,1051, - 984,340,28,90,320,1377,322,1951,315,1237, - 156,2552,49,1226,540,537,538,539,542,4013, - 239,262,1328,4183,1428,35,918,390,1843,1308, - 3499,592,537,538,539,636,730,263,883,2656, - 35,3420,32,4607,3822,27,30,31,1051,984, - 340,28,1843,320,1377,322,363,315,1237,4701, - 421,3419,1226,3877,537,538,539,49,3117,1393, - 283,76,353,681,612,907,288,1328,232,3499, - 345,1854,1717,350,1045,1843,76,76,343,377, - 1077,3765,76,228,451,645,5606,681,574,240, - 230,231,320,1377,322,156,315,1237,4747,421, - 3419,1226,1284,377,2184,681,180,824,3332,1303, - 203,215,1178,833,202,212,213,214,216,591, - 681,169,2204,35,1053,32,6191,3822,27,30, - 31,1051,984,340,28,3370,526,168,547,183, - 167,170,171,172,173,174,3401,4701,421,3419, - 4023,35,1053,32,3736,3244,27,30,31,1051, - 984,26,28,1637,262,25,23,50,1645,106, - 76,77,108,1428,35,918,390,2896,2238,2270, - 3653,2250,3497,1303,2544,320,1377,322,3437,315, - 1237,375,404,76,3328,3242,1012,2765,4160,2837, - 201,540,537,538,539,4513,3736,3736,540,537, - 538,539,353,329,336,3531,49,2536,3592,1724, - 345,1854,1717,350,1609,2447,1328,2104,3320,4023, - 35,1053,32,5734,3244,27,30,31,1051,984, - 26,28,1637,262,25,23,50,1645,106,76, - 77,108,199,408,3653,3855,3117,2238,2270,3438, - 2250,3516,4023,35,1053,32,3742,3244,27,30, - 31,1051,984,26,28,1637,262,25,23,50, - 1645,106,76,77,108,3151,3880,335,336,1304, - 2238,2270,362,2250,3554,2989,4023,35,1053,32, - 3307,3244,27,30,31,1051,984,26,28,1637, - 262,25,23,50,1645,106,76,77,108,1586, - 160,189,3801,367,2238,2270,3117,2250,3555,4023, - 35,1053,32,2285,3244,27,30,31,1051,984, - 26,28,1637,262,25,23,50,1645,106,76, - 77,108,1380,35,918,390,3933,2238,2270,1740, - 2250,3577,4023,35,1053,32,3653,3244,27,30, - 31,1051,984,26,28,1637,262,25,23,50, - 1645,106,76,77,108,1,3988,4115,3563,612, - 2238,2270,2211,2250,3583,49,3117,3117,3403,4004, - 336,3617,76,3117,2839,1328,3974,2471,228,76, - 76,76,822,3147,4505,2837,540,537,538,539, - 156,2226,540,537,538,539,3983,453,3163,2184, - 681,180,1609,4257,344,203,215,1178,2757,202, - 212,213,214,216,591,3117,169,2294,35,1053, - 32,6066,3822,27,30,31,1051,984,340,28, - 3442,3802,168,4540,184,167,170,171,172,173, - 174,3117,3117,2738,181,4300,3864,352,4023,35, - 1053,32,3713,3244,27,30,31,1051,984,26, - 28,1637,262,25,23,50,1645,106,76,77, - 108,4343,4006,3117,1303,3117,2238,2270,3358,3605, - 320,1377,322,76,315,1237,3740,1748,3804,953, - 2717,35,1053,32,4607,3822,27,30,31,1051, - 984,340,28,67,76,66,76,353,1407,371, - 4509,3991,3866,3117,1462,345,1854,1717,350,4023, - 35,1053,32,3418,3244,27,30,31,1051,984, - 26,28,1637,262,25,23,50,1645,106,76, - 77,108,377,65,2450,3653,612,2238,2270,3643, - 3658,3117,3224,320,1377,322,2837,315,1237,3736, - 76,3117,4011,3736,1304,228,1708,3738,540,537, - 538,539,76,3929,4034,3592,1304,156,331,336, - 7407,64,3117,3117,1402,471,2184,681,180,612, - 7407,55,203,215,1178,156,202,212,213,214, - 216,591,76,169,4051,1344,2140,156,228,222, - 1704,7407,54,4158,4044,3117,2577,3117,3117,168, - 156,3829,167,170,171,172,173,174,565,2184, - 681,180,612,7407,3611,203,215,1178,4448,202, - 212,213,214,216,591,101,169,3012,3545,507, - 76,228,7407,3862,2378,76,7407,612,3736,1304, - 7407,3117,168,156,178,167,170,171,172,173, - 174,659,2184,681,180,612,344,3224,203,215, - 1178,2837,202,212,213,214,216,591,156,169, - 156,4506,7407,7407,228,504,506,188,96,4083, - 3592,3610,3990,7407,193,168,156,176,167,170, - 171,172,173,174,753,2184,681,180,612,7407, - 7407,203,215,1178,7407,202,212,213,214,216, - 591,531,169,7407,7407,3006,7407,228,7407,7407, - 7407,7407,7407,7407,7407,7407,7407,7407,168,156, - 583,167,170,171,172,173,174,847,2184,681, - 180,612,190,7407,203,215,1178,7407,202,212, - 213,214,216,591,507,169,7407,7407,7407,7407, - 228,7407,76,7407,7407,7407,612,7407,7407,7407, - 7407,168,156,177,167,170,171,172,173,174, - 941,2184,681,180,612,344,7407,203,215,1178, - 7407,202,212,213,214,216,591,156,169,7407, - 505,506,7407,228,7407,76,188,7407,7407,612, - 7407,3990,7407,7407,168,156,187,167,170,171, - 172,173,174,1035,2184,681,180,612,344,4059, - 203,215,1178,7407,202,212,213,214,216,591, - 156,169,7407,7407,7407,7407,228,7407,7407,188, - 7407,7407,7407,7407,3990,7407,7407,168,156,4066, - 167,170,171,172,173,174,1129,2184,681,180, - 612,3873,7407,203,215,1178,7407,202,212,213, - 214,216,591,7407,169,7407,7407,7407,7407,228, - 7407,7407,7407,7407,7407,7407,7407,7407,7407,7407, - 168,156,192,167,170,171,172,173,174,7407, - 2184,681,180,7407,3915,7407,203,215,1178,7407, - 202,212,213,214,216,591,7407,169,2826,35, - 1053,32,6191,3822,27,30,31,1051,984,340, - 28,7407,7407,168,7407,186,167,170,171,172, - 173,174,4023,35,1053,32,7407,3244,27,30, - 31,1051,984,26,28,1637,262,25,23,50, - 1645,106,76,77,108,7407,7407,2722,35,296, - 2238,3444,7407,7407,76,2989,1223,2048,2837,2989, - 612,320,1377,322,7407,315,1237,7407,7407,7407, - 528,540,537,538,539,7407,7407,344,7407,228, - 7407,592,537,538,539,7407,7407,1016,353,7407, - 7407,156,7407,7407,7407,7407,345,1854,1717,350, - 2184,681,180,3442,529,7407,203,215,1178,7407, - 202,212,213,214,216,591,2785,169,4356,35, - 918,390,7407,3429,7407,7407,3653,7407,232,7407, - 3653,238,262,168,7407,194,167,170,171,172, - 173,174,592,537,538,539,7407,7407,7407,587, - 230,231,7407,7407,7407,7407,7407,2628,3397,4102, - 336,274,3643,4150,336,7407,1399,35,1053,32, - 7407,4995,27,30,31,1051,984,340,28,1195, - 7407,540,537,538,539,7407,7407,7407,7407,232, - 540,537,538,539,76,7407,7407,1402,2837,7407, - 7407,7407,7407,7407,7407,7407,1402,7407,7407,7407, - 236,230,231,7407,1845,7407,7407,344,7407,3643, - 7407,275,7407,1704,7407,7407,7407,333,7407,320, - 1377,322,1704,318,1237,7407,334,7407,540,537, - 538,539,7407,3442,243,246,249,252,662,7407, - 7407,3609,7407,4712,1402,7407,2786,7407,7407,714, - 7407,7407,1399,35,1053,32,586,4995,27,30, - 31,1051,984,340,28,540,537,538,539,7407, - 1704,7407,7407,7407,334,7407,540,537,538,539, - 7407,3390,7407,7407,7407,7407,7407,3673,4023,35, - 1053,32,5592,3244,27,30,31,1051,984,26, - 28,1637,262,25,23,50,1645,106,76,77, - 83,540,537,538,539,320,1377,322,1704,316, - 1237,7407,334,4023,35,1053,32,2757,3244,27, - 30,31,1051,984,26,28,1637,262,25,23, - 50,1645,106,76,77,108,7407,7407,7407,7407, - 7407,2238,3471,1809,35,1053,32,4607,3822,27, - 30,31,1051,984,340,28,1557,35,918,390, - 1641,35,918,390,3547,7407,7407,541,537,538, - 539,1528,35,1053,32,4607,3822,27,30,31, - 1051,984,340,28,7407,7407,7407,7407,540,537, - 538,539,7407,7407,7407,541,537,538,539,49, - 7407,7407,7407,49,1402,7407,320,1377,322,1328, - 315,1237,7407,1328,7407,3647,47,7407,7407,7407, - 47,7407,7407,7407,7407,754,7407,7407,7407,1446, - 2841,7407,7407,7407,320,1377,322,7407,315,1237, - 7407,7407,2752,3647,4023,35,1053,32,7407,3244, - 27,30,31,1051,984,26,28,1637,262,25, - 23,50,1645,106,76,77,108,7407,4023,35, - 1053,32,3478,3244,27,30,31,1051,984,26, - 28,1637,262,25,23,50,1645,106,76,77, - 108,7407,4023,35,1053,32,3495,3244,27,30, - 31,1051,984,26,28,1637,262,25,23,50, - 1645,106,76,77,108,2004,7407,7407,7407,2837, - 3496,7407,7407,7407,7407,1380,35,918,390,7407, - 7407,7407,7407,7407,4023,35,1053,32,228,3244, - 27,30,31,1051,984,26,28,1637,262,25, - 23,50,1645,106,76,77,82,76,76,7407, - 3440,2837,2837,7407,612,205,215,1178,49,204, - 212,213,214,216,591,7407,7407,7407,1328,7407, - 344,344,7407,344,7407,4834,7407,7407,206,208, - 210,635,7407,7407,2226,156,7407,7407,7407,7407, - 7407,217,207,209,2345,681,3442,3442,7407,3442, - 7407,7407,7407,7407,7407,7407,7407,7407,7407,3866, - 511,2243,2050,13,7407,5689,4023,35,1053,32, - 7407,3244,27,30,31,1051,984,26,28,1637, - 262,25,23,50,1645,106,76,77,81,4023, - 35,1053,32,7407,3244,27,30,31,1051,984, - 26,28,1637,262,25,23,50,1645,106,76, - 77,80,4023,35,1053,32,7407,3244,27,30, - 31,1051,984,26,28,1637,262,25,23,50, - 1645,106,76,77,79,7407,7407,7407,7407,7407, - 7407,4023,35,1053,32,616,3244,27,30,31, - 1051,984,26,28,1637,262,25,23,50,1645, - 106,76,77,78,4023,1913,1053,2101,7407,3244, - 27,30,31,1051,984,26,28,1637,262,25, - 23,50,1645,106,76,77,84,3581,35,1053, - 32,7407,3244,27,30,31,1051,984,26,28, - 1637,262,25,23,50,1645,106,76,77,104, - 4023,35,1053,32,7407,3244,27,30,31,1051, - 984,26,28,1637,262,25,23,50,1645,106, - 76,77,110,4023,35,1053,32,7407,3244,27, - 30,31,1051,984,26,28,1637,262,25,23, - 50,1645,106,76,77,109,4023,35,1053,32, - 7407,3244,27,30,31,1051,984,26,28,1637, - 262,25,23,50,1645,106,76,77,107,4023, - 35,1053,32,7407,3244,27,30,31,1051,984, - 26,28,1637,262,25,23,50,1645,106,76, - 77,105,3771,35,1053,32,7407,3244,27,30, - 31,1051,984,26,28,1637,262,25,23,50, - 1645,588,76,77,3834,35,1053,32,7407,3244, - 27,30,31,1051,984,26,28,1637,262,25, - 23,50,1645,577,76,77,3897,35,1053,32, - 7407,3244,27,30,31,1051,984,26,28,1637, - 262,25,23,50,1645,575,76,77,3960,35, - 1053,32,7407,3244,27,30,31,1051,984,26, - 28,1637,262,25,23,50,1645,86,76,77, - 2223,7407,7407,7407,2837,7407,7407,7407,7407,7407, - 7407,7407,7407,7407,7407,7407,7407,7407,7407,7407, - 7407,7407,3618,228,7407,3800,2837,7407,7407,612, - 1760,7407,7407,7407,2837,5752,7407,7407,7407,2312, - 7407,7407,7407,2837,7407,3592,7407,7407,3879,7407, - 205,215,1178,228,204,212,213,214,216,591, - 156,7407,228,7407,1641,35,918,390,7407,2184, - 7407,180,7407,206,208,210,635,7407,7407,7407, - 2148,409,5983,7407,7407,7407,217,207,209,205, - 215,1178,7407,204,212,213,214,216,591,7407, - 7407,7407,195,410,411,412,635,49,2011,7407, - 5689,7407,206,208,210,635,7407,1328,7407,361, - 7407,7407,7407,7407,47,217,207,209,7407,7407, - 7407,7407,7407,1708,3278,2970,2980,2189,7407,7407, - 7407,7407,7407,7407,7407,7407,7407,2706,7407,5689, - 4086,35,1053,32,7407,3244,27,30,31,1051, - 984,26,28,1637,262,25,23,50,1645,3206, - 76,77,2183,35,1053,32,7407,3822,27,30, - 31,1051,984,340,28,7407,3510,7407,7407,76, - 2837,2401,2923,612,7407,2837,541,537,538,539, - 7407,1380,35,918,390,7407,413,416,7407,3592, - 7407,7407,344,7407,228,7407,540,537,538,539, - 7407,7407,4153,196,156,7407,7407,7407,7407,7407, - 2134,7407,1402,3178,2837,320,1377,322,3442,603, - 1237,205,215,1178,49,204,212,213,214,216, - 591,3140,7407,228,1328,7407,7407,7407,330,7407, - 7407,47,7407,7407,206,208,210,635,7407,1874, - 699,2923,7407,2837,7407,7407,7407,217,207,209, - 205,215,1178,507,204,212,213,214,216,591, - 7407,7407,228,7407,7407,540,537,538,539,2905, - 7407,5689,7407,206,208,210,635,7407,2490,7407, - 7407,1402,2837,7407,3190,7407,521,207,209,205, - 215,1178,7407,204,212,213,214,216,591,504, - 506,228,1428,35,918,390,7407,3016,540,537, - 538,539,206,208,210,635,7407,2579,7407,7407, - 7407,2837,7407,7407,1402,218,207,209,205,215, - 1178,7407,204,212,213,214,216,591,7407,4009, - 228,1428,35,918,390,49,7407,7407,7407,7407, - 2841,206,208,210,635,1328,2668,7407,7407,7407, - 2837,7407,2745,7407,611,207,209,205,215,1178, - 7407,204,212,213,214,216,591,7407,7407,228, - 1428,35,918,390,49,7407,7407,7407,7407,7407, - 206,208,210,635,1328,2757,7407,7407,7407,2837, - 7407,893,7407,610,207,209,205,215,1178,7407, - 204,212,213,214,216,591,76,7407,228,7407, - 2837,7407,7407,49,7407,7407,7407,7407,7407,206, - 208,210,635,1328,2846,2923,7407,7407,2837,344, - 1758,7407,609,207,209,205,215,1178,7407,204, - 212,213,214,216,591,7407,7407,228,7407,540, - 537,538,539,7407,7407,3442,7407,7407,206,208, - 210,635,7407,2935,7407,1402,7407,2837,509,7407, - 7407,522,207,209,205,215,1178,7407,204,212, - 213,214,216,591,7407,7407,228,7407,7407,7407, - 7407,3872,7407,7407,7407,7407,7407,206,208,210, - 635,7407,7407,7407,7407,7407,7407,7407,7407,7407, - 306,207,209,205,215,1178,7407,204,212,213, - 214,216,591,3111,35,1053,32,2909,3822,27, - 30,31,1051,984,340,28,206,208,210,635, - 1646,7407,7407,7407,2837,5752,7407,7407,7407,501, - 207,209,7407,2559,7407,7407,7407,2837,3643,7407, - 7407,7407,7407,228,7407,7407,3618,7407,7407,405, - 2837,7407,7407,7407,7407,7407,3592,540,537,538, - 539,7407,7407,7407,7407,7407,317,1120,322,3592, - 2148,409,5983,1402,7407,2176,35,918,390,7407, - 7407,7407,7407,7407,7407,7407,2559,7407,7407,7407, - 2837,3643,7407,410,411,412,635,2628,7407,1704, - 7407,7407,3643,333,7407,7407,7407,7407,7407,3592, - 540,537,538,539,2737,7407,7407,7407,49,3643, - 7407,540,537,538,539,7407,1402,2189,1328,6094, - 361,7407,76,7407,7407,47,2837,1402,540,537, - 538,539,7407,361,2178,3726,2970,2980,7407,7407, - 7407,7407,1704,7407,1402,344,333,7407,3942,2970, - 2980,2628,7407,1704,7407,7407,3643,333,7407,7407, - 7407,7407,7407,7407,747,7407,7407,7407,7407,7407, - 1704,3442,667,361,334,540,537,538,539,7407, - 7407,7407,7407,4664,536,7407,413,415,3726,2970, - 2980,1402,7407,7407,353,3440,7407,7407,7407,612, - 7407,2628,347,1854,1717,350,3643,7407,7407,2572, - 35,918,390,1654,7407,3440,5450,1704,344,612, - 7407,333,7407,7407,7407,540,537,538,539,7407, - 156,7407,7407,7407,7407,7407,7407,7407,344,2345, - 681,1402,7407,7407,3442,3440,7407,6094,7407,612, - 156,3440,49,7407,7407,612,2243,2714,7407,2345, - 681,7407,1328,7407,3442,7407,7407,1704,344,2982, - 7407,333,7407,7407,344,3440,2243,2763,883,612, - 156,7407,1641,35,918,390,156,7407,7407,2345, - 681,7407,7407,7407,3442,2345,681,667,344,7407, - 3442,1380,35,918,390,7407,2243,2771,7407,7407, - 156,7407,2243,2849,1380,35,918,390,7407,2345, - 681,7407,7407,7407,3442,49,1380,35,918,390, - 7407,7407,7407,7407,7407,1328,2243,3796,1380,35, - 918,390,3293,7407,49,7407,1380,35,918,390, - 7407,2899,76,7407,1328,3737,612,49,7407,2837, - 7407,47,7407,7407,7407,7407,7407,1328,7407,49, - 2469,7407,7407,7407,47,344,7407,7407,344,1328, - 7407,49,7407,2852,7407,532,47,156,7407,49, - 7407,1328,7407,7407,7407,2943,188,7407,47,1328, - 7407,3990,7407,7407,3442,7407,47,3092,7407,7407, - 7407,7407,7407,7407,7407,3255,7407,535,7407,7407, - 7407,7407,7407,7407,7407,7407,7407,7407,7407,7407, - 7407,7407,7407,7407,7407,7407,7407,7407,7407,7407, - 7407,7407,7407,7407,7407,7407,7407,7407,7407,7407, - 7407,7407,7407,7407,7407,7407,7407,7407,7407,7407, - 7407,3941,7407,7407,7407,7407,7407,7407,7407,7407, - 7407,7407,7407,7407,7407,7407,7407,7407,7407,7407, - 7407,7407,7407,7407,7407,7407,7407,7407,7407,7407, - 7407,7407,7407,7407,7407,7407,7407,7407,7407,7407, - 7407,7407,7407,7407,7407,7407,7407,7407,7407,7407, - 7407,7407,7407,7407,7407,7407,7407,7407,7407,7407, - 7407,7407,7407,7407,7407,7407,7407,7407,7407,7407, - 7407,7407,7407,7407,7407,7407,7407,7407,7407,7407, - 7407,7407,7407,7407,7407,7407,7407,7407,7407,7407, - 7407,7407,7407,7407,7407,7407,7407,7407,7407,7407, - 7407,7407,7407,7407,7407,7407,7407,7407,7407,4201, - 7407,0,1,229,752,0,503,5650,0,1, - 229,0,39,7422,0,39,7421,0,1,2950, - 0,1287,1,0,39,1,7422,0,39,1, - 7421,0,1,680,0,1,663,0,229,219, - 0,7641,223,0,7640,223,0,764,223,0, - 832,223,0,891,223,0,8015,223,0,7746, - 223,0,7745,223,0,7668,223,0,7667,223, - 0,7666,223,0,7665,223,0,7664,223,0, - 7663,223,0,7662,223,0,7661,223,0,7641, - 224,0,7640,224,0,764,224,0,832,224, - 0,891,224,0,8015,224,0,7746,224,0, - 7745,224,0,7668,224,0,7667,224,0,7666, - 224,0,7665,224,0,7664,224,0,7663,224, - 0,7662,224,0,7661,224,0,7641,225,0, - 7640,225,0,764,225,0,832,225,0,891, - 225,0,8015,225,0,7746,225,0,7745,225, - 0,7668,225,0,7667,225,0,7666,225,0, - 7665,225,0,7664,225,0,7663,225,0,7662, - 225,0,7661,225,0,891,396,0,832,396, - 0,764,396,0,284,396,0,7641,226,0, - 7640,226,0,764,226,0,832,226,0,891, - 226,0,8015,226,0,7746,226,0,7745,226, - 0,7668,226,0,7667,226,0,7666,226,0, - 7665,226,0,7664,226,0,7663,226,0,7662, - 226,0,7661,226,0,284,289,0,7641,227, - 0,7640,227,0,764,227,0,832,227,0, - 891,227,0,8015,227,0,7746,227,0,7745, - 227,0,7668,227,0,7667,227,0,7666,227, - 0,7665,227,0,7664,227,0,7663,227,0, - 7662,227,0,7661,227,0,1231,389,0,7422, - 48,0,7421,48,0,7641,590,0,7640,590, - 0,764,590,0,832,590,0,891,590,0, - 8015,590,0,7746,590,0,7745,590,0,7668, - 590,0,7667,590,0,7666,590,0,7665,590, - 0,7664,590,0,7663,590,0,7662,590,0, - 7661,590,0,7641,241,0,7640,241,0,764, - 241,0,832,241,0,891,241,0,8015,241, - 0,7746,241,0,7745,241,0,7668,241,0, - 7667,241,0,7666,241,0,7665,241,0,7664, - 241,0,7663,241,0,7662,241,0,7661,241, - 0,7680,241,0,7679,241,0,7678,241,0, - 7677,241,0,7676,241,0,7675,241,0,7674, - 241,0,7673,241,0,7672,241,0,7671,241, - 0,7670,241,0,8014,241,0,8013,241,0, - 39,241,7422,0,39,241,7421,0,7445,241, - 0,1,891,0,1,832,0,1,764,0, - 1,332,0,38,663,0,38,7422,0,38, - 7421,0,456,1588,0,442,1984,0,1231,29, - 0,7419,1,0,891,600,0,832,600,0, - 764,600,0,604,600,0,604,599,0,7470, - 75,0,7469,75,0,716,75,0,903,75, - 0,1802,75,0,1851,75,0,2292,319,0, - 1,602,0,1,446,0,460,1766,0,459, - 1962,0,35,33,0,47,37,0,503,2207, - 0,7445,1,229,0,39,1,229,0,229, - 418,0,1,1159,0,1,7680,0,1,7679, + 212,212,73,76,76,183,183,143,143,144, + 144,144,144,144,144,3,145,145,142,142, + 122,122,87,74,85,85,174,174,123,123, + 213,213,213,146,146,136,136,214,214,24, + 24,24,40,40,25,25,215,215,184,184, + 184,185,185,216,216,186,186,26,26,217, + 217,187,187,187,187,27,59,218,218,219, + 219,188,188,188,147,147,147,19,19,19, + 19,33,33,42,17,80,220,189,189,189, + 148,148,23,56,92,135,135,135,118,118, + 118,199,204,116,66,72,165,132,13,13, + 71,87,87,87,1575,35,2660,2617,46,6201, + 27,30,31,1053,986,26,28,2606,263,25, + 23,50,1647,106,76,77,108,3226,594,539, + 540,541,2240,2272,75,2252,2292,2274,2346,4828, + 2336,2403,2354,2444,75,2452,143,275,2809,4832, + 3513,158,144,6306,1334,1557,1915,1866,34,2384, + 35,1055,32,1996,4997,27,30,31,1053,986, + 341,28,4180,3476,3806,233,2839,3532,542,539, + 540,541,2907,542,539,540,541,542,539,540, + 541,1557,35,284,1078,345,236,231,232,5594, + 1688,35,281,1130,3614,2846,3008,276,2267,35, + 1055,32,545,6274,27,30,31,1053,986,57, + 28,835,321,1379,323,1706,317,1239,2048,335, + 243,246,249,252,664,1688,35,456,3078,1330, + 6293,2486,3056,2569,892,716,1557,35,297,354, + 3262,1119,587,70,5886,1843,264,348,1856,1719, + 351,2518,182,3469,806,956,2629,2900,4570,3014, + 35,1055,32,2839,3246,27,30,31,1053,986, + 26,28,1639,263,25,23,50,1647,106,76, + 77,108,345,4509,75,2439,1337,2240,2272,5486, + 2252,2292,2274,2346,75,2336,2403,2354,2444,5623, + 2452,143,2486,3056,2445,2712,520,144,3444,804, + 594,539,540,541,452,1731,432,88,814,6079, + 102,521,3014,35,1055,32,2839,3246,27,30, + 31,1053,986,26,28,1639,263,25,23,50, + 1647,106,76,77,108,345,3900,1892,3166,61, + 2240,2272,1016,2252,2292,2274,2346,233,2336,2403, + 2354,2444,291,2452,143,1557,35,920,391,520, + 144,3444,445,540,459,3367,35,279,245,231, + 232,516,2754,2696,521,2356,35,1055,32,4071, + 6274,27,30,31,1053,986,56,28,969,3057, + 1362,2235,547,2137,2478,449,2823,2824,275,3014, + 35,1055,32,2839,3246,27,30,31,1053,986, + 26,28,1639,263,25,23,50,1647,106,76, + 77,108,345,291,3646,3300,1466,2240,2272,1938, + 2252,2292,2274,2346,516,2336,2403,2354,2444,3515, + 2452,143,763,2324,42,2495,520,144,3444,2272, + 594,539,540,541,2898,324,1491,2478,277,2537, + 3057,521,3375,35,1055,32,2839,3246,27,30, + 31,1053,986,26,28,1639,263,25,23,50, + 1647,106,76,77,108,345,2833,1565,2216,1075, + 2240,2272,3300,2252,2292,2274,2346,233,2336,2403, + 2354,2444,526,2452,143,1557,35,3864,3656,520, + 144,3444,543,539,540,541,446,2801,248,231, + 232,516,500,1739,521,1854,60,2900,35,1055, + 32,2605,5832,27,30,31,1053,986,26,28, + 501,2950,514,1298,2478,1557,35,3873,1463,3446, + 35,1055,32,1236,3246,27,30,31,1053,986, + 26,28,1639,263,25,23,50,1647,106,76, + 77,108,543,539,540,541,684,2240,2272,3948, + 2252,2292,2274,2346,517,2336,2403,2354,2444,76, + 2452,143,634,6002,2939,2003,381,144,654,2294, + 2369,3085,35,1055,32,2908,3246,27,30,31, + 1053,986,26,28,1639,263,25,23,50,1647, + 106,76,77,108,543,539,540,541,1010,2240, + 2272,75,2252,2292,2274,2346,3486,2336,2403,2354, + 2444,1075,2452,143,1557,3056,2939,3739,381,144, + 1946,35,1055,32,2726,3824,27,30,31,1053, + 986,341,28,3159,35,1055,32,3008,3246,27, + 30,31,1053,986,26,28,1639,263,25,23, + 50,1647,106,76,77,108,653,388,382,2299, + 1564,2240,2272,222,2252,2292,2274,2346,3974,2336, + 2403,2354,2444,76,2452,143,4122,779,2939,2295, + 381,144,2517,318,1122,323,3304,35,1055,32, + 935,3246,27,30,31,1053,986,26,28,1639, + 263,25,23,50,1647,106,76,77,108,389, + 382,2299,1952,314,2240,2272,2569,2252,2292,2274, + 2346,3485,2336,2403,2354,2444,81,2452,143,1717, + 35,1055,32,555,144,41,30,31,1053,986, + 543,539,540,541,2048,292,3648,35,1055,32, + 3677,3246,27,30,31,1053,986,26,28,1639, + 263,25,23,50,1647,106,76,77,108,326, + 1106,379,382,2299,2240,2272,75,2252,2292,2274, + 2346,6057,2336,2403,2354,2444,3740,2452,143,2081, + 1306,749,2980,158,144,3648,35,1055,32,527, + 3246,27,30,31,1053,986,26,28,1639,263, + 25,23,50,1647,106,76,77,108,643,3077, + 2570,156,557,2240,2272,3932,2252,2292,2274,2346, + 162,2336,2403,2354,2444,3008,2452,143,1557,35, + 1866,278,375,144,2747,3648,35,1055,32,728, + 3246,27,30,31,1053,986,26,28,1639,263, + 25,23,50,1647,106,76,77,108,543,539, + 540,541,553,2240,2272,424,2252,2292,2274,2346, + 2608,2336,2403,2354,2444,3198,2452,143,1832,35, + 1055,32,375,144,1941,30,31,1053,986,2930, + 2983,384,3580,2518,6015,3648,35,1055,32,327, + 3246,27,30,31,1053,986,26,28,1639,263, + 25,23,50,1647,106,76,77,108,546,2137, + 353,76,374,2240,2272,2834,2252,2292,2274,2346, + 1268,2336,2403,2354,2444,1715,2452,143,3265,1918, + 35,456,375,144,6293,3304,35,1055,32,2393, + 3246,27,30,31,1053,986,26,28,1639,263, + 25,23,50,1647,106,76,77,108,89,560, + 4163,102,373,2240,2272,325,2252,2292,2274,2346, + 354,2336,2403,2354,2444,535,2452,143,346,1856, + 1719,351,555,144,81,3008,3420,3520,35,1055, + 32,1204,3246,27,30,31,1053,986,26,28, + 1639,263,25,23,50,1647,106,76,77,108, + 76,3301,572,76,842,2240,2272,2839,2252,2292, + 2274,2346,371,2336,2403,2354,2444,441,2826,164, + 2930,2919,3233,35,1055,32,345,3246,27,30, + 31,1053,986,26,28,1639,263,25,23,50, + 1647,106,76,77,108,543,539,540,541,822, + 2240,2272,3444,2252,2292,2274,2346,3079,2336,2403, + 2354,2444,2036,2452,143,2665,3678,3442,329,142, + 144,1306,2534,2534,35,279,3648,35,1055,32, + 1715,3246,27,30,31,1053,986,26,28,1639, + 263,25,23,50,1647,106,76,77,108,453, + 2823,2824,160,570,2240,2272,183,2252,2292,2274, + 2346,554,2336,2403,2354,2444,2997,2452,143,2083, + 2534,35,282,155,144,3648,35,1055,32,3192, + 3246,27,30,31,1053,986,26,28,1639,263, + 25,23,50,1647,106,76,77,108,3779,383, + 654,1934,2839,2240,2272,392,2252,2292,2274,2346, + 3937,2336,2403,2354,2444,2301,2452,143,3296,3215, + 3696,345,154,144,3648,35,1055,32,2272,3246, + 27,30,31,1053,986,26,28,1639,263,25, + 23,50,1647,106,76,77,108,4136,1954,1688, + 35,281,2240,2272,5793,2252,2292,2274,2346,3133, + 2336,2403,2354,2444,3442,2452,143,3119,1306,355, + 3300,153,144,3648,35,1055,32,2036,3246,27, + 30,31,1053,986,26,28,1639,263,25,23, + 50,1647,106,76,77,108,2696,2101,2754,160, + 565,2240,2272,2808,2252,2292,2274,2346,6318,2336, + 2403,2354,2444,76,2452,143,3153,1306,569,463, + 152,144,3648,35,1055,32,3371,3246,27,30, + 31,1053,986,26,28,1639,263,25,23,50, + 1647,106,76,77,108,2091,35,399,156,1807, + 2240,2272,3739,2252,2292,2274,2346,2483,2336,2403, + 2354,2444,1385,2452,143,3948,3274,44,2495,151, + 144,3648,35,1055,32,1317,3246,27,30,31, + 1053,986,26,28,1639,263,25,23,50,1647, + 106,76,77,108,1557,35,1866,280,305,2240, + 2272,3739,2252,2292,2274,2346,356,2336,2403,2354, + 2444,4120,2452,143,1557,35,1866,283,150,144, + 3648,35,1055,32,2272,3246,27,30,31,1053, + 986,26,28,1639,263,25,23,50,1647,106, + 76,77,108,2091,35,399,76,302,2240,2272, + 929,2252,2292,2274,2346,831,2336,2403,2354,2444, + 3359,2452,143,1557,35,1866,3860,149,144,3648, + 35,1055,32,3678,3246,27,30,31,1053,986, + 26,28,1639,263,25,23,50,1647,106,76, + 77,108,2650,35,1866,278,277,2240,2272,75, + 2252,2292,2274,2346,6330,2336,2403,2354,2444,3442, + 2452,143,3300,1306,922,462,148,144,3648,35, + 1055,32,2643,3246,27,30,31,1053,986,26, + 28,1639,263,25,23,50,1647,106,76,77, + 108,1292,591,75,160,2839,2240,2272,6338,2252, + 2292,2274,2346,1803,2336,2403,2354,2444,3393,2452, + 143,3739,306,1446,345,147,144,3648,35,1055, + 32,354,3246,27,30,31,1053,986,26,28, + 1639,263,25,23,50,1647,106,76,77,108, + 2991,1557,3954,1866,74,2240,2272,1016,2252,2292, + 2274,2346,728,2336,2403,2354,2444,566,2452,143, + 3802,3869,1557,3626,146,144,3648,35,1055,32, + 4123,3246,27,30,31,1053,986,26,28,1639, + 263,25,23,50,1647,106,76,77,108,393, + 1557,35,297,430,2240,2272,3739,2252,2292,2274, + 2346,2109,2336,2403,2354,2444,407,2452,143,2650, + 35,1866,3988,145,144,4026,35,1055,32,3443, + 3246,27,30,31,1053,986,26,28,1639,263, + 25,23,50,1647,106,76,77,108,1557,35, + 920,391,179,2240,2272,1029,2252,2292,2274,2346, + 72,2336,2403,2354,2444,3300,2826,164,3648,35, + 1055,32,3482,3246,27,30,31,1053,986,26, + 28,1639,263,25,23,50,1647,106,76,77, + 108,275,1294,3447,3408,584,2240,2272,358,2252, + 2292,2274,2346,527,2336,2403,2354,2444,535,2452, + 143,3312,166,3442,76,159,144,1306,5444,3008, + 3805,3648,35,1055,32,2643,3246,27,30,31, + 1053,986,26,28,1639,263,25,23,50,1647, + 106,76,77,108,1557,35,1866,4014,160,2240, + 2272,342,2252,2292,2274,2346,1198,2336,2403,2354, + 2444,76,2452,143,3548,1306,448,3300,583,144, + 3648,35,1055,32,916,3246,27,30,31,1053, + 986,26,28,1639,263,25,23,50,1647,106, + 76,77,108,2091,35,399,156,24,2240,2272, + 728,2252,2292,2274,2346,3975,2336,2403,2354,2444, + 76,2452,143,2987,4054,4063,3739,140,144,3711, + 35,1055,32,1104,3246,27,30,31,1053,986, + 26,28,1639,263,25,23,50,1647,106,76, + 77,108,394,3297,2272,3794,430,2240,2272,2809, + 2252,2292,2274,2346,6306,2336,2403,2354,2444,76, + 2452,143,199,5422,1509,3227,189,144,4026,35, + 1055,32,1995,3246,27,30,31,1053,986,26, + 28,1639,263,25,23,50,1647,106,76,77, + 108,1557,35,920,391,562,2240,2272,2397,2252, + 2292,2274,2346,2272,2336,2403,2354,2444,4076,2826, + 164,4026,35,1055,32,1109,3246,27,30,31, + 1053,986,26,28,1639,263,25,23,50,1647, + 106,76,77,108,455,5311,357,76,2463,2240, + 2272,5461,2252,2292,2274,2346,535,2336,2403,2354, + 2444,76,2826,164,2272,1306,1843,3515,3006,4026, + 35,1055,32,426,3246,27,30,31,1053,986, + 26,28,1639,263,25,23,50,1647,106,76, + 77,108,543,539,540,541,3275,2240,2272,1387, + 2252,2292,2274,2346,51,2336,2403,2354,2444,2272, + 2826,164,4026,35,1055,32,296,3246,27,30, + 31,1053,986,26,28,1639,263,25,23,50, + 1647,106,76,77,108,76,1200,433,76,751, + 2240,2272,5613,2252,2292,2274,2346,4454,2336,2403, + 2354,2444,3442,2826,164,328,1306,1557,3858,1716, + 4026,35,1055,32,425,3246,27,30,31,1053, + 986,26,28,1639,263,25,23,50,1647,106, + 76,77,108,594,539,540,541,160,2240,2272, + 4409,2252,2292,2274,2346,1123,2336,2403,2354,2444, + 97,2826,164,4152,35,1055,32,428,3246,27, + 30,31,1053,986,26,28,1639,263,25,23, + 50,1647,106,76,77,108,1557,35,920,391, + 233,2240,2272,3449,2252,2292,2274,2346,3678,2336, + 2403,2354,2444,76,2826,164,3300,2062,2724,1250, + 297,251,231,232,4084,586,1695,35,1055,32, + 4609,4997,27,30,31,1053,986,341,28,49, + 1410,3490,542,539,540,541,580,3696,450,46, + 542,539,540,541,1832,35,1055,32,1018,3474, + 40,30,31,1053,986,3300,4815,4071,3220,2623, + 35,1055,32,3300,5832,27,30,31,1053,986, + 59,28,3678,543,539,540,541,1980,2104,321, + 1379,323,1706,316,1239,578,334,299,3138,4026, + 35,1055,32,87,3246,27,30,31,1053,986, + 26,28,1639,263,25,23,50,1647,106,76, + 77,108,4618,2641,2894,2885,3444,2240,2272,3399, + 2252,2292,2274,2346,1387,2336,2403,2354,3791,4307, + 35,920,391,549,3431,3405,1557,35,920,391, + 1197,3300,238,263,1557,35,920,391,76,308, + 312,1073,2305,594,539,540,541,2623,35,1055, + 32,385,5832,27,30,31,1053,986,58,28, + 3405,5288,275,3739,1177,1832,35,1055,32,49, + 526,3679,30,31,1053,986,1696,434,2461,1330, + 1831,3187,35,920,391,76,1663,3678,3678,1306, + 233,1925,35,3422,32,4609,4997,27,30,31, + 1053,986,341,28,594,539,540,541,3008,198, + 76,236,231,232,822,542,539,540,541,76, + 156,2160,276,2782,275,1557,35,920,391,3977, + 2577,3403,2541,35,1055,32,4609,3824,27,30, + 31,1053,986,341,28,243,246,249,252,664, + 70,233,173,683,321,1379,323,1706,316,1239, + 716,334,3274,1228,3337,2546,76,587,437,3665, + 1306,2095,254,231,232,3291,298,288,3469,806, + 956,2629,2900,4570,3876,71,3514,4618,89,542, + 539,540,541,450,3008,321,1379,323,76,316, + 1239,3435,3581,3149,955,1611,72,1306,4509,3870, + 422,3421,4026,35,1055,32,3553,3246,27,30, + 31,1053,986,26,28,1639,263,25,23,50, + 1647,106,76,77,108,1522,1644,3681,156,683, + 2240,2272,2754,2252,2292,2274,2346,3738,2336,2403, + 3699,4026,35,1055,32,529,3246,27,30,31, + 1053,986,26,28,1639,263,25,23,50,1647, + 106,76,77,108,1557,35,920,391,3157,2240, + 2272,2713,2252,2292,2274,2346,2980,2336,3691,3190, + 95,2990,4026,35,1055,32,3618,3246,27,30, + 31,1053,986,26,28,1639,263,25,23,50, + 1647,106,76,77,108,3803,558,436,2303,1306, + 2240,2272,3300,2252,2292,2274,2346,3731,3697,3042, + 35,1055,32,4609,3824,27,30,31,1053,986, + 341,28,542,539,540,541,2091,35,2093,3252, + 156,3222,69,542,539,540,541,2643,1276,3678, + 3300,201,3420,3438,93,4026,35,1055,32,4843, + 3246,27,30,31,1053,986,26,28,1639,263, + 25,23,50,1647,106,76,77,85,4499,49, + 68,3491,321,1379,323,3300,316,1239,3565,1330, + 2272,3138,4026,35,1055,32,1035,3246,27,30, + 31,1053,986,26,28,1639,263,25,23,50, + 1647,106,76,77,108,53,1383,35,920,391, + 2240,2272,1507,2252,2292,2274,3668,1557,35,920, + 391,1528,35,1055,32,4609,3824,27,30,31, + 1053,986,341,28,3300,3300,542,539,540,541, + 3300,2985,308,312,1073,542,539,540,541,49, + 3300,2630,1611,559,396,2890,3645,3300,430,1330, + 435,4843,3300,3628,52,380,1760,4065,3300,76, + 3549,98,3739,3177,3679,542,539,540,541,1696, + 575,2643,2548,1352,321,1379,323,544,316,1239, + 2668,1404,564,3138,4026,35,1055,32,563,3246, + 27,30,31,1053,986,26,28,1639,263,25, + 23,50,1647,106,76,77,108,1706,301,2815, + 76,4046,2240,2272,3321,2252,2292,3670,2858,4026, + 35,1055,32,2754,3246,27,30,31,1053,986, + 26,28,1639,263,25,23,50,1647,106,76, + 77,108,3261,3931,309,312,1073,2240,2272,1956, + 2252,2292,3677,2122,35,3422,32,4609,3824,27, + 30,31,1053,986,341,28,543,539,540,541, + 3300,3278,2211,542,539,540,541,3879,539,540, + 541,1428,35,920,391,3300,76,76,395,1018, + 6028,1306,430,3501,2917,94,2098,76,6143,3678, + 352,954,2059,35,3422,32,4609,3824,27,30, + 31,1053,986,341,28,90,321,1379,323,1953, + 316,1239,156,2554,49,1228,542,539,540,541, + 542,4015,240,263,1330,3612,1557,35,920,391, + 3008,1310,3501,594,539,540,541,636,730,263, + 885,2658,35,3422,32,4609,3824,27,30,31, + 1053,986,341,28,3008,321,1379,323,363,316, + 1239,4703,422,3421,1228,3879,539,540,541,49, + 3300,1395,283,76,354,683,614,909,289,1330, + 233,3501,346,1856,1719,351,1047,3008,76,76, + 344,378,1079,3767,76,229,451,645,5608,683, + 576,241,231,232,321,1379,323,156,316,1239, + 4749,422,3421,1228,1286,378,2186,683,180,824, + 3270,1303,204,216,1180,833,203,213,214,215, + 217,593,683,169,2206,35,1055,32,6193,3824, + 27,30,31,1053,986,341,28,3822,528,168, + 549,183,167,170,171,172,173,174,3332,4703, + 422,3421,4026,35,1055,32,3739,3246,27,30, + 31,1053,986,26,28,1639,263,25,23,50, + 1647,106,76,77,108,1557,35,920,391,2811, + 2240,2272,3655,2252,3499,1303,2546,321,1379,323, + 3885,316,1239,376,405,1855,3330,3244,1012,2767, + 4163,2839,202,542,539,540,541,4517,3739,3739, + 542,539,540,541,354,330,337,3533,49,2538, + 3594,2905,346,1856,1719,351,1611,2984,1330,1830, + 3322,4026,35,1055,32,5736,3246,27,30,31, + 1053,986,26,28,1639,263,25,23,50,1647, + 106,76,77,108,200,409,3655,3857,3300,2240, + 2272,3808,2252,3518,4026,35,1055,32,3871,3246, + 27,30,31,1053,986,26,28,1639,263,25, + 23,50,1647,106,76,77,108,3442,3882,336, + 337,1306,2240,2272,363,2252,3556,3386,4026,35, + 1055,32,3309,3246,27,30,31,1053,986,26, + 28,1639,263,25,23,50,1647,106,76,77, + 108,1586,160,189,3930,368,2240,2272,3300,2252, + 3557,4026,35,1055,32,2287,3246,27,30,31, + 1053,986,26,28,1639,263,25,23,50,1647, + 106,76,77,108,1428,35,920,391,3935,2240, + 2272,1538,2252,3579,4026,35,1055,32,3655,3246, + 27,30,31,1053,986,26,28,1639,263,25, + 23,50,1647,106,76,77,108,1,3994,4117, + 3683,614,2240,2272,2213,2252,3585,49,3300,3300, + 3404,4006,337,3743,76,3300,2106,1330,3976,2473, + 229,76,76,76,824,3149,4507,2839,542,539, + 540,541,156,2228,542,539,540,541,3985,454, + 3744,2186,683,180,1611,4259,345,204,216,1180, + 2759,203,213,214,215,217,593,3300,169,2296, + 35,1055,32,6068,3824,27,30,31,1053,986, + 341,28,3444,3749,168,4544,184,167,170,171, + 172,173,174,3300,3300,2740,181,4302,3868,353, + 4026,35,1055,32,3716,3246,27,30,31,1053, + 986,26,28,1639,263,25,23,50,1647,106, + 76,77,108,4345,4008,3300,1303,3300,2240,2272, + 3360,3607,321,1379,323,76,316,1239,3807,1750, + 3869,955,2719,35,1055,32,4609,3824,27,30, + 31,1053,986,341,28,67,76,66,76,354, + 1409,371,4511,4037,3870,3300,1311,346,1856,1719, + 351,4026,35,1055,32,3420,3246,27,30,31, + 1053,986,26,28,1639,263,25,23,50,1647, + 106,76,77,108,377,65,2452,3655,614,2240, + 2272,3645,3660,3300,3151,321,1379,323,2839,316, + 1239,3739,76,3300,4013,3739,1306,229,3747,3867, + 542,539,540,541,76,3933,4057,3594,1306,156, + 332,337,7412,64,3300,3300,1404,471,2186,683, + 180,614,7412,55,204,216,1180,156,203,213, + 214,215,217,593,76,169,4053,1346,2142,156, + 229,223,1706,7412,54,4160,4046,3300,2579,3300, + 3300,168,156,3831,167,170,171,172,173,174, + 565,2186,683,180,614,7412,3804,204,216,1180, + 4450,203,213,214,215,217,593,101,169,3014, + 3547,508,76,229,7412,3991,2380,76,7412,614, + 3739,1306,7412,3300,168,156,178,167,170,171, + 172,173,174,659,2186,683,180,614,345,3151, + 204,216,1180,2839,203,213,214,215,217,593, + 156,169,156,4508,7412,7412,229,505,507,188, + 96,4085,3594,3613,3992,7412,193,168,156,176, + 167,170,171,172,173,174,753,2186,683,180, + 614,7412,7412,204,216,1180,7412,203,213,214, + 215,217,593,533,169,7412,7412,3008,7412,229, + 7412,7412,7412,7412,7412,7412,7412,7412,7412,7412, + 168,156,585,167,170,171,172,173,174,847, + 2186,683,180,614,190,7412,204,216,1180,7412, + 203,213,214,215,217,593,508,169,7412,7412, + 7412,7412,229,7412,76,7412,7412,7412,614,7412, + 7412,7412,7412,168,156,177,167,170,171,172, + 173,174,941,2186,683,180,614,345,7412,204, + 216,1180,7412,203,213,214,215,217,593,156, + 169,7412,506,507,7412,229,7412,76,188,7412, + 7412,614,7412,3992,7412,7412,168,156,187,167, + 170,171,172,173,174,1035,2186,683,180,614, + 345,4061,204,216,1180,7412,203,213,214,215, + 217,593,156,169,7412,7412,7412,7412,229,7412, + 7412,188,7412,7412,7412,7412,3992,7412,7412,168, + 156,4068,167,170,171,172,173,174,1129,2186, + 683,180,614,3875,7412,204,216,1180,7412,203, + 213,214,215,217,593,7412,169,7412,7412,7412, + 7412,229,7412,7412,7412,7412,7412,7412,7412,7412, + 7412,7412,168,156,192,167,170,171,172,173, + 174,7412,2186,683,180,7412,3917,7412,204,216, + 1180,7412,203,213,214,215,217,593,7412,169, + 2828,35,1055,32,6193,3824,27,30,31,1053, + 986,341,28,7412,7412,168,7412,186,167,170, + 171,172,173,174,4026,35,1055,32,7412,3246, + 27,30,31,1053,986,26,28,1639,263,25, + 23,50,1647,106,76,77,108,7412,7412,2724, + 35,297,2240,3446,7412,7412,76,3386,1223,2050, + 2839,3386,614,321,1379,323,7412,316,1239,7412, + 7412,7412,530,542,539,540,541,7412,7412,345, + 7412,229,7412,594,539,540,541,7412,7412,1018, + 354,7412,7412,156,7412,7412,7412,7412,346,1856, + 1719,351,2186,683,180,3444,531,7412,204,216, + 1180,7412,203,213,214,215,217,593,2787,169, + 4360,35,920,391,7412,3431,7412,7412,3655,7412, + 233,7412,3655,239,263,168,7412,195,167,170, + 171,172,173,174,594,539,540,541,7412,7412, + 7412,589,231,232,7412,7412,7412,7412,7412,2630, + 3399,4104,337,275,3645,4152,337,7412,1399,35, + 1055,32,7412,4997,27,30,31,1053,986,341, + 28,1197,7412,542,539,540,541,7412,7412,7412, + 7412,233,542,539,540,541,76,7412,7412,1404, + 2839,7412,7412,7412,7412,7412,7412,7412,1404,7412, + 7412,7412,237,231,232,7412,1846,7412,7412,345, + 7412,3645,7412,276,7412,1706,7412,7412,7412,334, + 7412,321,1379,323,1706,319,1239,7412,335,7412, + 542,539,540,541,7412,3444,244,247,250,253, + 664,7412,7412,3478,7412,4714,1404,7412,2788,7412, + 7412,716,7412,7412,1399,35,1055,32,588,4997, + 27,30,31,1053,986,341,28,542,539,540, + 541,7412,1706,7412,7412,7412,335,7412,542,539, + 540,541,7412,3392,7412,7412,7412,7412,7412,3611, + 4026,35,1055,32,5594,3246,27,30,31,1053, + 986,26,28,1639,263,25,23,50,1647,106, + 76,77,83,542,539,540,541,321,1379,323, + 1706,317,1239,7412,335,4026,35,1055,32,2759, + 3246,27,30,31,1053,986,26,28,1639,263, + 25,23,50,1647,106,76,77,108,7412,7412, + 7412,7412,7412,2240,3473,1810,35,1055,32,4609, + 3824,27,30,31,1053,986,341,28,1641,35, + 920,391,1843,35,920,391,3549,7412,7412,543, + 539,540,541,1528,35,1055,32,4609,3824,27, + 30,31,1053,986,341,28,7412,7412,7412,7412, + 542,539,540,541,7412,7412,7412,543,539,540, + 541,49,7412,7412,7412,49,1404,7412,321,1379, + 323,1330,316,1239,7412,1330,7412,3649,47,7412, + 7412,7412,47,7412,7412,7412,7412,756,7412,7412, + 7412,1448,2843,7412,7412,7412,321,1379,323,7412, + 316,1239,7412,7412,2754,3649,4026,35,1055,32, + 7412,3246,27,30,31,1053,986,26,28,1639, + 263,25,23,50,1647,106,76,77,108,7412, + 4026,35,1055,32,3480,3246,27,30,31,1053, + 986,26,28,1639,263,25,23,50,1647,106, + 76,77,108,7412,4026,35,1055,32,3497,3246, + 27,30,31,1053,986,26,28,1639,263,25, + 23,50,1647,106,76,77,108,2006,7412,7412, + 7412,2839,3498,7412,7412,7412,7412,1428,35,920, + 391,7412,7412,7412,7412,7412,4026,35,1055,32, + 229,3246,27,30,31,1053,986,26,28,1639, + 263,25,23,50,1647,106,76,77,82,76, + 76,7412,3333,2839,2839,7412,614,206,216,1180, + 49,205,213,214,215,217,593,7412,7412,7412, + 1330,7412,345,345,7412,345,7412,4836,7412,7412, + 207,209,211,637,7412,7412,2228,156,7412,7412, + 7412,7412,7412,218,208,210,2347,683,3444,3444, + 7412,3444,7412,7412,7412,7412,7412,7412,7412,7412, + 7412,3868,512,2245,2052,13,7412,5691,4026,35, + 1055,32,7412,3246,27,30,31,1053,986,26, + 28,1639,263,25,23,50,1647,106,76,77, + 81,4026,35,1055,32,7412,3246,27,30,31, + 1053,986,26,28,1639,263,25,23,50,1647, + 106,76,77,80,4026,35,1055,32,7412,3246, + 27,30,31,1053,986,26,28,1639,263,25, + 23,50,1647,106,76,77,79,7412,7412,7412, + 7412,7412,7412,4026,35,1055,32,618,3246,27, + 30,31,1053,986,26,28,1639,263,25,23, + 50,1647,106,76,77,78,4026,1915,1055,2103, + 7412,3246,27,30,31,1053,986,26,28,1639, + 263,25,23,50,1647,106,76,77,84,3583, + 35,1055,32,7412,3246,27,30,31,1053,986, + 26,28,1639,263,25,23,50,1647,106,76, + 77,104,4026,35,1055,32,7412,3246,27,30, + 31,1053,986,26,28,1639,263,25,23,50, + 1647,106,76,77,110,4026,35,1055,32,7412, + 3246,27,30,31,1053,986,26,28,1639,263, + 25,23,50,1647,106,76,77,109,4026,35, + 1055,32,7412,3246,27,30,31,1053,986,26, + 28,1639,263,25,23,50,1647,106,76,77, + 107,4026,35,1055,32,7412,3246,27,30,31, + 1053,986,26,28,1639,263,25,23,50,1647, + 106,76,77,105,3774,35,1055,32,7412,3246, + 27,30,31,1053,986,26,28,1639,263,25, + 23,50,1647,590,76,77,3837,35,1055,32, + 7412,3246,27,30,31,1053,986,26,28,1639, + 263,25,23,50,1647,579,76,77,3900,35, + 1055,32,7412,3246,27,30,31,1053,986,26, + 28,1639,263,25,23,50,1647,577,76,77, + 3963,35,1055,32,7412,3246,27,30,31,1053, + 986,26,28,1639,263,25,23,50,1647,86, + 76,77,2225,7412,7412,7412,2839,7412,7412,7412, + 7412,7412,7412,7412,7412,7412,7412,7412,7412,7412, + 7412,7412,7412,7412,4119,229,7412,3803,2839,7412, + 7412,614,1761,7412,7412,7412,2839,5754,7412,7412, + 7412,2314,7412,7412,7412,2839,7412,3594,7412,7412, + 3881,7412,206,216,1180,229,205,213,214,215, + 217,593,156,7412,229,7412,1843,35,920,391, + 7412,2186,7412,180,7412,207,209,211,637,7412, + 7412,7412,2150,410,5985,7412,7412,7412,218,208, + 210,206,216,1180,7412,205,213,214,215,217, + 593,7412,7412,7412,196,411,412,413,637,49, + 2013,7412,5691,7412,207,209,211,637,7412,1330, + 7412,362,7412,7412,7412,7412,47,218,208,210, + 7412,7412,7412,7412,7412,1710,3280,2972,2982,2191, + 7412,7412,7412,7412,7412,7412,7412,7412,7412,2708, + 7412,5691,4089,35,1055,32,7412,3246,27,30, + 31,1053,986,26,28,1639,263,25,23,50, + 1647,3208,76,77,2185,35,1055,32,7412,3824, + 27,30,31,1053,986,341,28,7412,3152,7412, + 7412,76,2839,2403,2814,614,7412,2839,543,539, + 540,541,7412,1428,35,920,391,7412,414,417, + 7412,3594,7412,7412,345,7412,229,7412,542,539, + 540,541,7412,7412,4155,197,156,7412,7412,7412, + 7412,7412,2136,7412,1404,3180,2839,321,1379,323, + 3444,605,1239,206,216,1180,49,205,213,214, + 215,217,593,3142,7412,229,1330,7412,7412,7412, + 331,7412,7412,47,7412,7412,207,209,211,637, + 7412,1876,701,2814,7412,2839,7412,7412,7412,218, + 208,210,206,216,1180,508,205,213,214,215, + 217,593,7412,7412,229,7412,7412,542,539,540, + 541,2907,7412,5691,7412,207,209,211,637,7412, + 2492,7412,7412,1404,2839,7412,2927,7412,522,208, + 210,206,216,1180,7412,205,213,214,215,217, + 593,505,507,229,1557,35,920,391,7412,3018, + 542,539,540,541,207,209,211,637,7412,2581, + 7412,7412,7412,2839,7412,7412,1404,219,208,210, + 206,216,1180,7412,205,213,214,215,217,593, + 7412,4011,229,1557,35,920,391,49,7412,7412, + 7412,7412,2843,207,209,211,637,1330,2670,7412, + 7412,7412,2839,7412,2747,7412,613,208,210,206, + 216,1180,7412,205,213,214,215,217,593,7412, + 7412,229,1557,35,920,391,49,7412,7412,7412, + 7412,7412,207,209,211,637,1330,2759,7412,7412, + 7412,2839,7412,895,7412,612,208,210,206,216, + 1180,7412,205,213,214,215,217,593,76,7412, + 229,7412,2839,7412,7412,49,7412,7412,7412,7412, + 7412,207,209,211,637,1330,2848,2814,7412,7412, + 2839,345,1760,7412,611,208,210,206,216,1180, + 7412,205,213,214,215,217,593,7412,7412,229, + 7412,542,539,540,541,7412,7412,3444,7412,7412, + 207,209,211,637,7412,2937,7412,1404,7412,2839, + 510,7412,7412,523,208,210,206,216,1180,7412, + 205,213,214,215,217,593,7412,7412,229,7412, + 7412,7412,7412,3874,7412,7412,7412,7412,7412,207, + 209,211,637,7412,7412,7412,7412,7412,7412,7412, + 7412,7412,307,208,210,206,216,1180,7412,205, + 213,214,215,217,593,3113,35,1055,32,2911, + 3824,27,30,31,1053,986,341,28,207,209, + 211,637,1646,7412,7412,7412,2839,5754,7412,7412, + 7412,502,208,210,7412,2561,7412,7412,7412,2839, + 3645,7412,7412,7412,7412,229,7412,7412,4119,7412, + 7412,406,2839,7412,7412,7412,7412,7412,3594,542, + 539,540,541,7412,7412,7412,7412,7412,318,1122, + 323,3594,2150,410,5985,1404,7412,2178,35,920, + 391,7412,7412,7412,7412,7412,7412,7412,2561,7412, + 7412,7412,2839,3645,7412,411,412,413,637,2630, + 7412,1706,7412,7412,3645,334,7412,7412,7412,7412, + 7412,3594,542,539,540,541,2739,7412,7412,7412, + 49,3645,7412,542,539,540,541,7412,1404,2191, + 1330,6096,362,7412,76,7412,7412,47,2839,1404, + 542,539,540,541,7412,362,2180,3728,2972,2982, + 7412,7412,7412,7412,1706,7412,1404,345,334,7412, + 3944,2972,2982,2630,7412,1706,7412,7412,3645,334, + 7412,7412,7412,7412,7412,7412,749,7412,7412,7412, + 7412,7412,1706,3444,669,362,335,542,539,540, + 541,7412,7412,7412,7412,4666,538,7412,414,416, + 3728,2972,2982,1404,7412,7412,354,3333,7412,7412, + 7412,614,7412,2630,348,1856,1719,351,3645,7412, + 7412,1728,35,920,391,1656,7412,3333,5452,1706, + 345,614,7412,334,7412,7412,7412,542,539,540, + 541,7412,156,7412,7412,7412,7412,7412,7412,7412, + 345,2347,683,1404,7412,7412,3444,3333,7412,6096, + 7412,614,156,3333,49,7412,7412,614,2245,2716, + 7412,2347,683,7412,1330,7412,3444,7412,7412,1706, + 345,2984,7412,334,7412,7412,345,3333,2245,2765, + 885,614,156,7412,1843,35,920,391,156,7412, + 7412,2347,683,7412,7412,7412,3444,2347,683,669, + 345,7412,3444,1428,35,920,391,7412,2245,2773, + 7412,7412,156,7412,2245,2851,1428,35,920,391, + 7412,2347,683,7412,7412,7412,3444,49,1428,35, + 920,391,7412,7412,7412,7412,7412,1330,2245,3798, + 1428,35,920,391,3295,7412,49,7412,1428,35, + 920,391,7412,2901,76,7412,1330,3992,614,49, + 7412,2839,7412,47,7412,7412,7412,7412,7412,1330, + 7412,49,2471,7412,7412,7412,47,345,7412,7412, + 345,1330,7412,49,7412,2854,7412,534,47,156, + 7412,49,7412,1330,7412,7412,7412,2945,188,7412, + 47,1330,7412,3992,7412,7412,3444,7412,47,3094, + 7412,7412,7412,7412,7412,7412,7412,3257,7412,537, + 7412,7412,7412,7412,7412,7412,7412,7412,7412,7412, + 7412,7412,7412,7412,7412,7412,7412,7412,7412,7412, + 7412,7412,7412,7412,7412,7412,7412,7412,7412,7412, + 7412,7412,7412,7412,7412,7412,7412,7412,7412,7412, + 7412,7412,7412,3943,7412,7412,7412,7412,7412,7412, + 7412,7412,7412,7412,7412,7412,7412,7412,7412,7412, + 7412,7412,7412,7412,7412,7412,7412,7412,7412,7412, + 7412,7412,7412,7412,7412,7412,7412,7412,7412,7412, + 7412,7412,7412,7412,7412,7412,7412,7412,7412,7412, + 7412,7412,7412,7412,7412,7412,7412,7412,7412,7412, + 7412,7412,7412,7412,7412,7412,7412,7412,7412,7412, + 7412,7412,7412,7412,7412,7412,7412,7412,7412,7412, + 7412,7412,7412,7412,7412,7412,7412,7412,7412,7412, + 7412,7412,7412,7412,7412,7412,7412,7412,7412,7412, + 7412,7412,7412,7412,7412,7412,7412,7412,7412,7412, + 7412,4203,7412,0,1,230,754,0,504,5652, + 0,1,230,0,39,7427,0,39,7426,0, + 1,2952,0,1289,1,0,39,1,7427,0, + 39,1,7426,0,1,682,0,1,665,0, + 230,220,0,7647,224,0,7646,224,0,766, + 224,0,834,224,0,893,224,0,8022,224, + 0,7752,224,0,7751,224,0,7674,224,0, + 7673,224,0,7672,224,0,7671,224,0,7670, + 224,0,7669,224,0,7668,224,0,7667,224, + 0,7647,225,0,7646,225,0,766,225,0, + 834,225,0,893,225,0,8022,225,0,7752, + 225,0,7751,225,0,7674,225,0,7673,225, + 0,7672,225,0,7671,225,0,7670,225,0, + 7669,225,0,7668,225,0,7667,225,0,7647, + 226,0,7646,226,0,766,226,0,834,226, + 0,893,226,0,8022,226,0,7752,226,0, + 7751,226,0,7674,226,0,7673,226,0,7672, + 226,0,7671,226,0,7670,226,0,7669,226, + 0,7668,226,0,7667,226,0,893,397,0, + 834,397,0,766,397,0,285,397,0,7647, + 227,0,7646,227,0,766,227,0,834,227, + 0,893,227,0,8022,227,0,7752,227,0, + 7751,227,0,7674,227,0,7673,227,0,7672, + 227,0,7671,227,0,7670,227,0,7669,227, + 0,7668,227,0,7667,227,0,285,290,0, + 7647,228,0,7646,228,0,766,228,0,834, + 228,0,893,228,0,8022,228,0,7752,228, + 0,7751,228,0,7674,228,0,7673,228,0, + 7672,228,0,7671,228,0,7670,228,0,7669, + 228,0,7668,228,0,7667,228,0,1233,390, + 0,7427,48,0,7426,48,0,7647,592,0, + 7646,592,0,766,592,0,834,592,0,893, + 592,0,8022,592,0,7752,592,0,7751,592, + 0,7674,592,0,7673,592,0,7672,592,0, + 7671,592,0,7670,592,0,7669,592,0,7668, + 592,0,7667,592,0,7647,242,0,7646,242, + 0,766,242,0,834,242,0,893,242,0, + 8022,242,0,7752,242,0,7751,242,0,7674, + 242,0,7673,242,0,7672,242,0,7671,242, + 0,7670,242,0,7669,242,0,7668,242,0, + 7667,242,0,7686,242,0,7685,242,0,7684, + 242,0,7683,242,0,7682,242,0,7681,242, + 0,7680,242,0,7679,242,0,7678,242,0, + 7677,242,0,7676,242,0,8021,242,0,8020, + 242,0,39,242,7427,0,39,242,7426,0, + 7450,242,0,1,893,0,1,834,0,1, + 766,0,1,333,0,38,665,0,38,7427, + 0,38,7426,0,457,1590,0,443,1986,0, + 1233,29,0,7424,1,0,893,602,0,834, + 602,0,766,602,0,606,602,0,606,601, + 0,7475,75,0,7474,75,0,718,75,0, + 905,75,0,1804,75,0,1853,75,0,2294, + 320,0,1,604,0,1,447,0,461,1768, + 0,460,1964,0,35,33,0,47,37,0, + 504,2209,0,7450,1,230,0,39,1,230, + 0,230,419,0,1,1161,0,1,7686,0, + 1,7685,0,1,7684,0,1,7683,0,1, + 7682,0,1,7681,0,1,7680,0,1,7679, 0,1,7678,0,1,7677,0,1,7676,0, - 1,7675,0,1,7674,0,1,7673,0,1, - 7672,0,1,7671,0,1,7670,0,1,8014, - 0,1,8013,0,1,5354,0,7422,37,0, - 7421,37,0,43,7443,0,43,37,0,7415, - 1,0,2984,91,0,32,34,0,39,663, - 0,891,602,0,832,602,0,764,602,0, - 7419,385,0,7418,385,0,891,332,0,832, - 332,0,764,332,0,1,1883,0,1,1981, - 0,229,220,0,7417,407,0,7416,407,0, - 229,417,0,3799,126,0,1,229,3107,0, - 7416,229,0,3108,229,0,7413,1,0,7412, - 1,0,237,1655,0,390,32,0,389,29, - 0,891,447,0,832,447,0,764,447,0, - 7445,447,0,332,447,0,39,447,0,7443, - 45,0,37,45,0,3791,229,0,10,12, - 0,7445,1,0,39,1,0,588,577,0, - 1,92,0,8015,337,0,7746,337,0,7745, - 337,0,3799,128,0,3799,127,0,8,10, - 12,0,7422,2,37,0,7421,2,37,0, - 7422,36,0,7421,36,0,4072,100,0,891, - 597,0,832,597,0,764,597,0,891,596, - 0,832,596,0,764,596,0,540,541,0, - 589,578,0,3755,103,0,2671,99,0,891, - 95,0,832,95,0,764,95,0,7445,95, - 0,332,95,0,39,95,0,35,73,0, - 891,597,598,0,832,597,598,0,764,597, - 598,0,597,598,0,279,2291,0,4067,385, - 0,185,4386,0,8,12,0 + 1,8021,0,1,8020,0,1,5356,0,7427, + 37,0,7426,37,0,43,7448,0,43,37, + 0,7420,1,0,2986,91,0,32,34,0, + 39,665,0,893,604,0,834,604,0,766, + 604,0,7424,386,0,7423,386,0,893,333, + 0,834,333,0,766,333,0,1,1885,0, + 1,1983,0,230,221,0,7422,408,0,7421, + 408,0,230,418,0,3801,126,0,1,230, + 3109,0,7421,230,0,3110,230,0,7418,1, + 0,7417,1,0,238,1657,0,391,32,0, + 390,29,0,893,448,0,834,448,0,766, + 448,0,7450,448,0,333,448,0,39,448, + 0,7448,45,0,37,45,0,3793,230,0, + 10,12,0,7450,1,0,39,1,0,590, + 579,0,1,92,0,8022,338,0,7752,338, + 0,7751,338,0,3801,128,0,3801,127,0, + 8,10,12,0,3933,194,0,7427,2,37, + 0,7426,2,37,0,7427,36,0,7426,36, + 0,4074,100,0,893,599,0,834,599,0, + 766,599,0,893,598,0,834,598,0,766, + 598,0,542,543,0,591,580,0,3757,103, + 0,2673,99,0,893,95,0,834,95,0, + 766,95,0,7450,95,0,333,95,0,39, + 95,0,35,73,0,893,599,600,0,834, + 599,600,0,766,599,600,0,599,600,0, + 280,2293,0,4069,386,0,185,4388,0,8, + 12,0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -1489,7 +1491,7 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym 48,49,50,51,52,53,54,55,56,57, 58,59,60,61,62,63,64,65,66,67, 68,75,70,0,1,73,94,95,76,77, - 127,79,0,10,82,83,84,85,86,87, + 0,79,0,10,82,83,84,85,86,87, 0,89,90,91,92,93,0,1,2,3, 4,5,6,7,8,9,10,11,12,13, 14,15,16,17,18,19,20,21,22,23, @@ -1526,7 +1528,7 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym 42,43,44,0,46,47,48,49,50,51, 52,53,54,55,56,57,58,59,60,61, 62,63,64,65,66,67,68,0,70,0, - 78,73,97,98,76,77,127,79,94,95, + 78,73,97,98,76,77,0,79,94,95, 82,83,84,85,86,87,0,89,90,91, 92,93,0,1,2,3,4,5,6,7, 8,9,10,11,12,13,14,15,16,17, @@ -1573,7 +1575,7 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym 42,43,44,0,46,47,48,49,50,51, 52,53,54,55,56,57,58,59,60,61, 62,63,64,65,66,67,68,0,70,0, - 78,73,3,0,76,77,127,79,105,12, + 78,73,3,0,76,77,0,79,105,12, 82,83,84,85,86,87,13,89,90,91, 92,93,0,1,2,3,4,5,6,7, 8,9,10,11,12,13,14,15,16,17, @@ -1588,36 +1590,36 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym 4,5,6,7,8,9,10,11,12,0, 28,29,30,0,1,2,0,4,5,6, 7,5,6,7,28,29,30,31,32,33, - 34,35,36,37,38,39,40,41,0,43, - 44,3,46,47,28,29,30,31,32,33, - 34,35,36,37,38,39,40,80,45,0, - 1,2,0,1,2,69,0,71,72,73, + 34,35,36,37,38,39,40,41,48,43, + 44,0,46,47,28,29,30,31,32,33, + 34,35,36,37,38,39,40,80,45,112, + 113,114,0,1,2,69,0,71,72,73, 74,75,99,100,78,79,80,81,0,1, 2,3,4,5,6,7,8,9,79,0, 94,95,96,97,98,99,100,101,102,103, 104,105,106,107,108,109,110,0,1,2, - 114,115,116,117,118,119,120,121,122,123, - 124,125,126,0,128,0,1,2,3,4, + 69,115,116,117,118,119,120,121,122,123, + 124,125,126,127,128,0,1,2,3,4, 5,6,7,8,9,10,11,12,76,77, 74,0,0,1,2,0,4,5,6,7, 5,6,7,28,29,30,31,32,33,34, 35,36,37,38,39,40,41,78,43,44, 0,46,47,28,29,30,31,32,33,34, - 35,36,37,38,39,40,0,45,0,48, + 35,36,37,38,39,40,0,45,0,0, 4,5,6,7,69,0,71,72,73,74, - 75,78,0,78,79,80,81,0,1,2, - 3,4,5,6,7,8,9,0,1,94, + 75,0,1,78,79,80,81,0,1,2, + 3,4,5,6,7,8,9,0,0,94, 95,96,97,98,99,100,101,102,103,104, - 105,106,107,108,109,110,0,1,2,114, + 105,106,107,108,109,110,0,1,2,69, 115,116,117,118,119,120,121,122,123,124, - 125,126,0,128,0,1,2,3,4,5, + 125,126,127,128,0,1,2,3,4,5, 6,7,8,9,10,0,12,13,14,15, 16,17,18,19,20,21,22,23,24,25, 26,27,28,29,30,31,32,33,34,35, - 36,37,38,39,40,107,42,43,44,0, + 36,37,38,39,40,107,42,43,44,82, 46,47,48,49,50,51,52,53,54,55, 56,57,58,59,60,61,62,63,64,65, - 0,1,2,71,70,0,1,2,3,4, + 0,1,2,0,70,0,1,2,3,4, 5,6,7,8,9,10,11,12,13,14, 15,16,17,18,19,20,21,22,23,24, 25,26,27,28,29,30,31,32,33,34, @@ -1625,302 +1627,302 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym 45,4,107,48,0,1,2,3,4,5, 6,7,8,9,10,0,12,0,63,64, 65,66,67,68,0,0,0,1,2,74, - 5,6,7,0,8,9,81,0,1,2, + 5,6,7,80,8,9,81,0,1,2, 0,1,2,88,4,5,6,7,0,0, 10,0,12,28,29,30,31,32,33,34, - 35,36,37,38,39,40,111,112,113,0, + 35,36,37,38,39,40,42,112,113,114, + 0,1,2,3,4,5,6,7,8,9, + 10,11,12,13,14,15,16,17,18,19, + 20,21,22,23,24,25,26,27,28,29, + 30,31,32,33,34,35,36,37,38,39, + 40,41,0,76,77,45,4,69,48,0, 1,2,3,4,5,6,7,8,9,10, - 11,12,13,14,15,16,17,18,19,20, - 21,22,23,24,25,26,27,28,29,30, - 31,32,33,34,35,36,37,38,39,40, - 41,0,1,2,45,4,0,48,0,1, - 2,3,4,5,6,7,8,9,10,78, - 12,82,63,64,65,66,67,68,105,0, - 0,1,2,74,5,6,7,130,8,9, - 81,0,0,0,0,1,2,88,4,5, - 6,7,0,11,10,0,12,28,29,30, - 31,32,33,34,35,36,37,38,39,40, - 111,112,113,0,1,2,3,4,5,6, - 7,8,9,10,11,12,13,14,15,16, - 17,18,19,20,21,22,23,24,25,26, - 27,28,29,30,31,32,33,34,35,36, - 37,38,39,40,41,73,75,74,45,0, - 0,48,0,1,2,3,4,5,6,7, - 8,9,10,78,12,0,63,64,65,66, - 67,68,0,0,1,2,3,4,13,0, - 0,8,9,0,81,5,6,7,5,6, - 7,88,43,44,14,15,16,17,18,19, - 20,21,22,23,24,25,26,0,28,29, + 0,12,0,63,64,65,66,67,68,0, + 0,0,1,2,74,5,6,7,0,8, + 9,81,0,1,2,0,1,2,88,4, + 5,6,7,0,0,10,0,12,28,29, 30,31,32,33,34,35,36,37,38,39, - 40,42,0,0,1,2,74,4,5,6, - 7,66,129,0,1,2,3,4,5,6, - 7,8,9,10,11,12,13,14,15,16, - 17,18,19,20,21,22,23,24,25,26, - 27,28,29,30,31,32,33,34,35,36, - 37,38,39,40,41,0,1,0,45,0, - 0,48,5,6,7,0,1,2,3,4, - 5,6,7,8,9,0,63,64,65,66, - 67,68,80,28,0,28,29,30,31,32, - 33,34,35,36,37,38,39,40,111,112, - 113,88,0,1,2,0,4,5,6,7, - 108,0,10,0,12,10,0,115,116,117, - 118,119,120,121,122,123,124,125,0,1, - 2,3,4,5,6,7,8,9,10,74, - 12,0,129,0,1,2,3,4,5,6, + 40,69,112,113,114,0,1,2,3,4, + 5,6,7,8,9,10,11,12,13,14, + 15,16,17,18,19,20,21,22,23,24, + 25,26,27,28,29,30,31,32,33,34, + 35,36,37,38,39,40,41,0,1,2, + 45,4,69,48,0,1,2,3,4,5, + 6,7,8,9,10,106,12,0,63,64, + 65,66,67,68,0,0,1,2,3,4, + 13,0,0,8,9,0,81,5,6,7, + 5,6,7,88,0,111,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,40,42,0,0,1,2,74,4, + 5,6,7,66,129,0,1,2,3,4, + 5,6,7,8,9,10,11,12,13,14, + 15,16,17,18,19,20,21,22,23,24, + 25,26,27,28,29,30,31,32,33,34, + 35,36,37,38,39,40,41,0,1,0, + 45,0,0,48,5,6,7,78,0,1, + 2,3,4,5,6,7,8,9,63,64, + 65,66,67,68,80,28,0,28,29,30, + 31,32,33,34,35,36,37,38,39,40, + 0,1,2,88,0,1,2,0,4,5, + 6,7,108,0,10,0,12,10,0,4, + 116,117,118,119,120,121,122,123,124,125, + 126,0,1,2,3,4,5,6,7,8, + 9,10,74,12,129,0,1,2,3,4, + 5,6,7,8,9,10,11,12,13,14, + 15,16,17,18,19,20,21,22,23,24, + 25,26,27,28,29,30,31,32,33,34, + 35,36,37,38,39,40,41,0,1,2, + 45,78,74,48,0,1,2,3,4,5, + 6,7,8,9,0,74,99,100,63,64, + 65,66,67,68,69,0,1,2,3,4, + 0,0,0,8,9,0,11,5,6,7, + 5,6,7,88,0,1,2,3,4,5, + 6,7,8,9,10,11,12,13,14,15, + 16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,30,31,32,33,34,35, + 36,37,38,39,40,41,0,1,2,45, + 4,0,48,0,8,9,71,72,0,69, + 75,69,11,78,74,80,0,63,64,65, + 66,67,68,0,0,0,1,2,3,4, + 0,96,0,8,9,81,11,5,6,7, + 0,45,88,0,1,2,3,4,5,6, 7,8,9,10,11,12,13,14,15,16, 17,18,19,20,21,22,23,24,25,26, 27,28,29,30,31,32,33,34,35,36, - 37,38,39,40,41,0,1,2,45,78, - 74,48,0,1,2,3,4,5,6,7, - 8,9,74,0,99,100,63,64,65,66, - 67,68,69,0,1,2,3,4,0,106, - 0,8,9,0,11,5,6,7,5,6, - 7,88,0,1,2,3,4,5,6,7, + 37,38,39,40,41,0,1,2,45,4, + 74,48,69,8,9,71,71,72,0,1, + 2,71,4,5,6,7,63,64,65,66, + 67,68,96,0,1,2,3,4,5,6, + 7,8,9,10,81,12,0,0,127,0, + 45,88,0,1,2,3,4,5,6,7, 8,9,10,11,12,13,14,15,16,17, 18,19,20,21,22,23,24,25,26,27, 28,29,30,31,32,33,34,35,36,37, - 38,39,40,41,0,1,2,45,4,0, - 48,0,8,9,71,72,0,69,75,69, - 11,78,74,80,0,63,64,65,66,67, - 68,0,0,0,1,2,3,4,0,96, - 0,8,9,81,11,5,6,7,0,45, + 38,39,40,41,0,1,2,45,0,0, + 48,0,1,2,71,4,5,6,7,0, + 0,10,0,12,0,63,64,65,66,67, + 68,75,0,1,2,3,4,5,6,7, + 8,9,10,81,12,0,1,2,0,45, 88,0,1,2,3,4,5,6,7,8, 9,10,11,12,13,14,15,16,17,18, 19,20,21,22,23,24,25,26,27,28, 29,30,31,32,33,34,35,36,37,38, - 39,40,41,0,1,2,45,4,74,48, - 69,8,9,71,71,72,0,1,2,71, - 4,5,6,7,63,64,65,66,67,68, - 96,0,1,2,3,4,5,6,7,8, - 9,10,81,12,0,126,0,0,45,88, + 39,40,41,0,1,2,45,75,78,48, + 0,1,2,3,4,0,74,0,8,9, + 5,6,7,0,63,64,65,66,67,68, + 0,1,2,10,4,5,6,7,0,0, + 10,11,12,5,6,7,0,0,45,88, 0,1,2,3,4,5,6,7,8,9, 10,11,12,13,14,15,16,17,18,19, 20,21,22,23,24,25,26,27,28,29, 30,31,32,33,34,35,36,37,38,39, - 40,41,0,1,2,45,0,0,48,0, - 1,2,71,4,5,6,7,0,12,10, - 0,12,0,63,64,65,66,67,68,75, - 0,1,2,3,4,5,6,7,8,9, - 10,81,12,0,1,2,0,45,88,0, + 40,41,0,1,2,45,4,80,48,0, + 8,9,72,4,5,6,7,0,69,10, + 0,12,0,63,64,65,66,67,68,0, + 1,2,99,100,78,0,96,0,1,2, + 3,4,5,6,7,8,9,0,88,0, 1,2,3,4,5,6,7,8,9,10, 11,12,13,14,15,16,17,18,19,20, 21,22,23,24,25,26,27,28,29,30, 31,32,33,34,35,36,37,38,39,40, 41,0,1,2,45,75,74,48,0,1, - 2,3,4,0,74,0,8,9,5,6, - 7,0,63,64,65,66,67,68,0,1, - 2,10,4,5,6,7,0,0,10,11, - 12,0,1,2,0,0,45,88,0,1, + 2,3,4,0,1,2,8,9,5,6, + 7,74,63,64,65,66,67,68,0,1, + 2,3,4,5,6,7,0,80,10,0, + 12,5,6,7,0,0,45,88,0,1, 2,3,4,5,6,7,8,9,10,11, 12,13,14,15,16,17,18,19,20,21, 22,23,24,25,26,27,28,29,30,31, 32,33,34,35,36,37,38,39,40,41, - 0,1,2,45,4,80,48,0,8,9, - 72,4,5,6,7,69,69,10,0,12, - 0,63,64,65,66,67,68,76,77,75, - 99,100,0,0,96,0,1,2,3,4, - 5,6,7,8,9,0,88,0,1,2, + 0,1,2,45,0,0,48,0,0,71, + 0,4,4,0,0,5,6,7,5,6, + 7,63,64,65,66,67,68,0,1,2, + 3,4,0,1,2,8,9,0,31,31, + 0,1,2,11,0,45,88,0,1,2, 3,4,5,6,7,8,9,10,11,12, 13,14,15,16,17,18,19,20,21,22, 23,24,25,26,27,28,29,30,31,32, 33,34,35,36,37,38,39,40,41,0, - 1,2,45,75,74,48,0,1,2,3, - 4,0,1,2,8,9,5,6,7,74, - 63,64,65,66,67,68,0,1,2,3, - 4,5,6,7,0,0,10,0,12,5, - 6,7,0,0,45,88,0,1,2,3, + 1,2,45,0,80,48,3,8,71,0, + 1,2,0,4,0,73,0,8,9,3, + 63,64,65,66,67,68,0,11,0,3, + 112,113,114,5,6,7,0,11,0,0, + 0,5,6,7,45,88,0,1,2,3, 4,5,6,7,8,9,10,11,12,13, 14,15,16,17,18,19,20,21,22,23, 24,25,26,27,28,29,30,31,32,33, - 34,35,36,37,38,39,40,41,0,1, - 2,45,0,0,48,3,8,71,0,0, - 1,2,4,4,69,0,0,8,9,63, - 64,65,66,67,68,0,1,2,3,4, - 0,1,2,8,9,0,1,2,0,31, - 0,11,4,45,88,0,1,2,3,4, - 5,6,7,8,9,10,11,12,13,14, - 15,16,17,18,19,20,21,22,23,24, - 25,26,27,28,29,30,31,32,33,34, - 35,36,37,38,39,40,41,0,1,2, - 45,0,0,48,3,0,71,5,6,7, - 5,6,7,73,0,0,1,3,63,64, - 65,66,67,68,0,11,11,3,0,111, - 112,113,0,0,108,11,3,5,6,7, - 0,115,45,88,0,1,2,3,4,5, - 6,7,8,9,10,11,12,13,14,15, + 34,35,36,37,38,39,40,41,72,0, + 1,45,0,0,48,3,0,71,72,0, + 11,75,3,11,78,12,0,11,69,63, + 64,65,66,67,68,0,10,0,12,105, + 5,6,7,0,1,2,3,4,11,0, + 0,8,9,10,88,12,13,14,15,16, + 17,18,19,20,21,22,23,24,25,26, + 27,0,1,2,3,4,5,6,7,8, + 9,72,11,71,72,42,43,44,72,46, + 47,75,49,50,51,52,53,54,55,56, + 57,58,59,60,61,62,0,0,0,3, + 73,3,41,70,0,1,2,3,4,76, + 77,78,8,9,10,11,12,13,14,15, 16,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,72,72,0,45, - 0,3,48,3,0,71,72,69,0,75, - 0,11,78,3,71,11,0,63,64,65, - 66,67,68,0,0,1,2,11,5,6, - 7,0,1,2,3,4,28,29,30,8, - 9,10,88,12,13,14,15,16,17,18, - 19,20,21,22,23,24,25,26,27,0, - 1,2,3,4,5,6,7,8,9,45, - 11,71,72,42,43,44,72,46,47,75, - 49,50,51,52,53,54,55,56,57,58, - 59,60,61,62,0,0,0,81,0,3, - 41,70,0,1,2,3,4,76,77,78, - 8,9,10,11,12,13,14,15,16,17, + 26,27,0,1,2,3,4,0,0,42, + 8,9,45,11,46,47,42,43,44,11, + 46,47,0,49,50,51,52,53,54,55, + 56,57,58,59,60,61,62,71,0,71, + 0,0,0,41,70,3,0,73,0,1, + 2,3,4,13,13,81,8,9,10,11, + 12,13,14,15,16,17,18,19,20,21, + 22,23,24,25,26,27,0,1,2,0, + 72,0,74,115,8,45,45,0,48,48, + 42,43,44,71,46,47,128,49,50,51, + 52,53,54,55,56,57,58,59,60,61, + 62,0,74,71,3,0,0,1,70,0, + 74,73,0,1,2,3,4,11,0,42, + 8,9,10,0,12,13,14,15,16,17, 18,19,20,21,22,23,24,25,26,27, - 0,1,2,3,4,0,0,42,8,9, - 45,11,46,47,42,43,44,11,46,47, - 0,49,50,51,52,53,54,55,56,57, - 58,59,60,61,62,0,0,71,74,71, - 0,41,70,0,8,73,0,1,2,3, - 4,11,0,81,8,9,10,11,12,13, - 14,15,16,17,18,19,20,21,22,23, - 24,25,26,27,69,0,0,42,72,0, - 114,5,6,7,5,6,7,11,42,43, - 44,0,46,47,128,49,50,51,52,53, - 54,55,56,57,58,59,60,61,62,0, - 1,2,72,0,0,1,70,41,75,73, - 0,1,2,3,4,11,13,75,8,9, - 10,0,12,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,0,74, - 0,75,0,0,45,3,42,4,45,11, - 69,48,42,43,44,0,46,47,3,49, - 50,51,52,53,54,55,56,57,58,59, - 60,61,62,0,31,0,72,0,0,4, - 70,0,1,2,3,4,76,77,11,8, - 9,10,0,12,13,14,15,16,17,18, - 19,20,21,22,23,24,25,26,27,0, - 72,0,74,71,5,6,7,96,0,1, - 2,0,11,42,43,44,8,46,47,0, - 49,50,51,52,53,54,55,56,57,58, - 59,60,61,62,69,0,1,2,0,0, - 73,70,0,1,2,3,4,76,77,11, - 8,9,10,42,12,13,14,15,16,17, + 0,0,71,74,0,5,6,7,42,0, + 45,11,11,0,42,43,44,0,46,47, + 11,49,50,51,52,53,54,55,56,57, + 58,59,60,61,62,0,1,2,72,0, + 0,41,70,0,1,2,3,4,76,77, + 11,8,9,10,0,12,13,14,15,16, + 17,18,19,20,21,22,23,24,25,26, + 27,0,0,69,73,75,0,1,2,96, + 45,72,11,11,75,42,43,44,75,46, + 47,74,49,50,51,52,53,54,55,56, + 57,58,59,60,61,62,0,1,2,69, + 0,72,41,70,0,1,2,3,4,76, + 77,45,8,9,10,0,12,13,14,15, + 16,17,18,19,20,21,22,23,24,25, + 26,27,0,0,0,73,75,0,5,6, + 7,45,8,28,29,30,42,43,44,0, + 46,47,3,49,50,51,52,53,54,55, + 56,57,58,59,60,61,62,0,0,69, + 3,0,0,0,70,0,1,2,3,4, + 76,77,11,8,9,10,11,12,13,14, + 15,16,17,18,19,20,21,22,23,24, + 25,26,27,0,0,0,69,0,5,6, + 7,0,5,6,7,78,11,42,43,44, + 0,46,47,3,49,50,51,52,53,54, + 55,56,57,58,59,60,61,62,101,102, + 0,69,0,72,0,70,109,110,73,0, + 1,2,3,4,43,44,0,8,9,10, + 11,12,13,14,15,16,17,18,19,20, + 21,22,23,24,25,26,27,0,0,1, + 2,108,0,5,6,7,81,45,10,116, + 0,42,43,44,0,46,47,3,49,50, + 51,52,53,54,55,56,57,58,59,60, + 61,62,0,1,2,3,4,0,0,75, + 8,9,10,45,12,13,14,15,16,17, 18,19,20,21,22,23,24,25,26,27, - 0,0,0,72,0,0,75,5,6,7, - 45,11,43,44,42,43,44,0,46,47, + 0,0,0,0,0,5,6,7,4,0, + 0,69,11,11,42,43,44,0,46,47, 3,49,50,51,52,53,54,55,56,57, - 58,59,60,61,62,0,0,0,3,0, - 72,41,70,0,1,2,3,4,76,77, - 11,8,9,10,11,12,13,14,15,16, - 17,18,19,20,21,22,23,24,25,26, - 27,0,0,69,69,75,5,6,7,43, - 44,0,10,78,12,42,43,44,0,46, - 47,3,49,50,51,52,53,54,55,56, - 57,58,59,60,61,62,101,102,0,0, - 0,74,73,70,109,110,73,0,1,2, - 3,4,13,0,0,8,9,10,11,12, + 58,59,60,61,62,0,127,0,1,2, + 3,4,0,71,0,8,9,10,45,12, 13,14,15,16,17,18,19,20,21,22, - 23,24,25,26,27,0,0,1,2,0, - 69,5,6,7,45,45,10,48,0,42, - 43,44,0,46,47,3,49,50,51,52, + 23,24,25,26,27,0,0,0,0,4, + 0,3,0,69,72,3,75,75,11,42, + 43,44,81,46,47,0,49,50,51,52, 53,54,55,56,57,58,59,60,61,62, - 0,1,2,3,4,0,1,2,8,9, + 0,1,2,3,4,0,71,70,8,9, 10,45,12,13,14,15,16,17,18,19, 20,21,22,23,24,25,26,27,0,0, - 0,0,0,5,6,7,0,0,69,3, - 11,11,42,43,44,80,46,47,11,49, - 50,51,52,53,54,55,56,57,58,59, - 60,61,62,126,0,1,2,3,4,0, - 0,71,8,9,10,0,12,13,14,15, - 16,17,18,19,20,21,22,23,24,25, - 26,27,0,0,0,0,0,5,6,7, - 4,72,72,0,75,11,42,43,44,72, - 46,47,80,49,50,51,52,53,54,55, - 56,57,58,59,60,61,62,0,1,2, - 3,4,0,96,70,8,9,10,45,12, - 13,14,15,16,17,18,19,20,21,22, - 23,24,25,26,27,0,0,0,0,0, - 0,0,4,4,69,69,11,11,11,42, - 43,44,69,46,47,81,49,50,51,52, - 53,54,55,56,57,58,59,60,61,62, - 0,1,2,3,4,0,41,70,8,9, - 10,69,12,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,0,0, - 0,0,0,0,3,3,3,69,72,11, - 11,71,42,43,44,74,46,47,81,49, + 45,0,0,0,69,3,0,0,0,11, + 11,3,42,43,44,75,46,47,81,49, 50,51,52,53,54,55,56,57,58,59, 60,61,62,0,1,2,3,4,0,41, - 41,8,9,10,0,12,13,14,15,16, + 70,8,9,10,69,12,13,14,15,16, 17,18,19,20,21,22,23,24,25,26, 27,0,0,0,0,0,0,0,3,0, - 3,96,11,0,74,42,43,44,0,46, + 4,72,11,11,11,42,43,44,75,46, 47,0,49,50,51,52,53,54,55,56, 57,58,59,60,61,62,0,1,2,3, - 4,0,41,0,8,9,10,45,12,13, + 4,0,41,41,8,9,10,0,12,13, 14,15,16,17,18,19,20,21,22,23, - 24,25,26,27,80,0,45,0,0,0, - 0,3,0,0,71,0,0,71,42,43, - 44,0,46,47,80,49,50,51,52,53, + 24,25,26,27,43,44,0,0,0,0, + 0,3,3,69,96,72,130,11,42,43, + 44,74,46,47,0,49,50,51,52,53, 54,55,56,57,58,59,60,61,62,0, 1,2,3,4,0,0,0,8,9,10, - 45,12,13,14,15,16,17,18,19,20, - 21,22,23,24,25,26,27,0,0,0, - 0,0,0,0,0,0,0,0,69,0, - 0,42,43,44,0,46,47,80,49,50, + 0,12,13,14,15,16,17,18,19,20, + 21,22,23,24,25,26,27,43,44,0, + 0,0,0,0,3,3,0,0,71,0, + 0,42,43,44,74,46,47,81,49,50, 51,52,53,54,55,56,57,58,59,60, 61,62,0,1,2,3,4,0,0,0, 8,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,0,0,0,0, - 0,0,0,0,42,43,44,80,46,47, + 0,11,11,74,42,43,44,71,46,47, 80,49,50,51,52,53,54,55,56,57, 58,59,60,61,62,0,1,2,3,4, - 0,0,0,8,9,10,45,12,13,14, + 0,41,0,8,9,10,0,12,13,14, 15,16,17,18,19,20,21,22,23,24, 25,26,27,80,0,0,0,0,0,0, - 0,0,0,0,0,0,0,42,43,44, - 0,46,47,0,49,50,51,52,53,54, + 0,0,0,72,0,0,0,42,43,44, + 0,46,47,80,49,50,51,52,53,54, 55,56,57,58,59,60,61,62,0,1, - 2,3,4,0,0,0,8,9,10,0, + 2,3,4,0,0,0,8,9,10,45, 12,13,14,15,16,17,18,19,20,21, - 22,23,24,25,26,27,0,0,45,3, - 0,0,0,0,8,0,10,0,12,0, - 42,43,44,11,46,47,0,49,50,51, + 22,23,24,25,26,27,80,0,0,0, + 0,0,0,0,0,0,0,0,0,11, + 42,43,44,0,46,47,80,49,50,51, 52,53,54,55,56,57,58,59,60,61, - 62,0,0,0,0,0,0,0,0,43, - 44,0,46,47,0,49,0,42,69,0, - 45,0,0,0,0,0,0,78,0,0, - 0,0,0,0,0,69,0,71,0,0, - 0,75,76,77,78,0,80,75,0,0, - 101,102,0,81,0,0,0,0,109,110, - 94,95,0,97,0,99,100,101,102,103, - 104,105,106,107,108,0,0,0,0,0, - 114,0,116,117,118,119,120,121,122,123, - 124,125,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, - 28,29,30,31,32,33,34,35,36,37, - 38,39,40,0,0,0,0,0,0,0, - 48,0,0,0,0,0,1,2,0,4, - 5,6,7,0,0,63,64,65,13,14, - 15,16,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,0,0,0, - 0,0,0,48,0,1,2,3,4,5, - 6,7,8,9,10,11,12,0,63,64, - 65,0,0,0,0,0,0,0,0,0, - 0,0,28,29,30,31,32,33,34,35, - 36,37,38,39,40,41,0,0,0,0, - 1,2,3,4,5,6,7,8,9,10, - 11,12,0,0,0,0,0,0,0,0, - 0,0,0,69,0,71,72,28,29,30, - 31,32,33,34,35,36,37,38,39,40, - 41,0,0,0,0,1,2,3,4,5, - 6,7,8,9,10,11,12,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 71,72,28,29,30,31,32,33,34,35, - 36,37,38,39,40,41,0,0,0,0, - 1,2,3,4,5,6,7,8,9,10, - 11,12,0,0,0,0,0,0,0,0, - 0,0,0,0,0,71,72,28,29,30, + 62,0,1,2,3,4,0,0,0,8, + 9,10,0,12,13,14,15,16,17,18, + 19,20,21,22,23,24,25,26,27,0, + 0,111,3,0,0,0,0,8,0,10, + 72,12,0,42,43,44,0,46,47,0, + 49,50,51,52,53,54,55,56,57,58, + 59,60,61,62,96,0,0,0,0,0, + 0,0,43,44,0,46,47,42,49,45, + 45,69,111,111,0,0,0,0,0,0, + 78,0,0,0,0,0,0,0,69,0, + 71,0,0,0,75,76,77,78,0,80, + 0,0,0,101,102,0,0,0,0,0, + 0,109,110,94,95,0,97,0,99,100, + 101,102,103,104,105,106,107,108,0,0, + 0,0,0,0,115,0,117,118,119,120, + 121,122,123,124,125,126,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,28,29,30,31,32,33, + 34,35,36,37,38,39,40,0,0,0, + 0,0,0,0,48,0,0,0,0,0, + 1,2,0,4,5,6,7,0,0,63, + 64,65,13,14,15,16,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,69,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,48,0,1, + 2,3,4,5,6,7,8,9,10,11, + 12,0,63,64,65,0,0,0,0,0, + 0,0,0,0,0,0,28,29,30,31, + 32,33,34,35,36,37,38,39,40,41, + 0,0,0,0,1,2,3,4,5,6, + 7,8,9,10,11,12,0,0,0,0, + 0,0,0,0,0,0,0,69,0,71, + 72,28,29,30,31,32,33,34,35,36, + 37,38,39,40,41,0,0,0,0,1, + 2,3,4,5,6,7,8,9,10,11, + 12,0,0,0,0,0,0,0,0,0, + 0,0,0,0,71,72,28,29,30,31, + 32,33,34,35,36,37,38,39,40,41, + 0,0,0,0,1,2,3,4,5,6, + 7,8,9,10,11,12,0,0,0,0, + 0,0,0,0,0,0,0,0,0,71, + 72,28,29,30,31,32,33,34,35,36, + 37,38,39,40,41,69,0,0,0,0, + 0,0,0,0,78,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 71,72,0,101,102,0,0,0,0,0, - 0,109,110,0,0,0,0,0,0,0, + 0,0,0,0,71,72,0,101,102,0, + 0,0,0,0,0,109,110,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0 + 0,0,0,0,0 }; }; public final static char termCheck[] = TermCheck.termCheck; @@ -1928,469 +1930,469 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym public interface TermAction { public final static char termAction[] = {0, - 7407,7226,6569,6569,6569,6562,6569,6569,6569,6569, - 6569,7275,6569,1,1,1,1,1,1,1, + 7412,7228,6571,6571,6571,6564,6571,6571,6571,6571, + 6571,7277,6571,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,7230,1,1,1,7407,1,1,1,1, + 1,7232,1,1,1,7412,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,2625,957,7582,7407, - 1,111,1668,7418,39,1,1,1,7445,2926, - 386,7414,3181,2881,2203,2394,3096,4042,7407,3180, - 2150,3169,3133,3109,10,7278,7278,7278,7278,7278, - 7278,7278,7278,7278,7278,7278,7278,7278,7278,7278, - 7278,7278,7278,7278,7278,7278,7278,7278,7278,7278, - 7278,7278,7278,7278,7278,7278,7278,7278,7278,7278, - 7278,7278,7278,7278,7278,7278,7278,7278,7278,7407, - 7278,7278,7278,7278,7278,7278,7278,7278,7278,7278, - 7278,7278,7278,7278,7278,7278,7278,7278,7278,7278, - 7278,7278,7278,4177,7278,121,5923,7278,5240,5263, - 7278,7278,359,7278,6561,7278,7278,7278,7278,7278, - 7278,7278,309,7278,7278,7278,7278,7278,8,7308, - 7308,7308,7308,7308,7308,7308,7308,7308,7308,7308, - 7308,7308,7308,7308,7308,7308,7308,7308,7308,7308, - 7308,7308,7308,7308,7308,7308,7308,7308,7308,7308, - 7308,7308,7308,7308,7308,7308,7308,7308,7308,7308, - 7308,7308,7308,7407,7308,7308,7308,7308,7308,7308, - 7308,7308,7308,7308,7308,7308,7308,7308,7308,7308, - 7308,7308,7308,7308,7308,7308,7308,3259,7308,3948, - 4019,7308,580,7407,7308,7308,690,7308,7765,7308, - 7308,7308,7308,7308,7308,7308,569,7308,7308,7308, - 7308,7308,7407,7226,6569,6569,6569,6562,6569,6569, - 6569,6569,6569,7233,6569,1,1,1,1,1, + 1,1,1,1,1,1,2627,959,7587,7412, + 1,111,1670,7423,39,1,1,1,7450,2928, + 387,7419,3183,2883,2205,2396,3098,4044,7412,3182, + 2152,3171,3135,3111,10,7280,7280,7280,7280,7280, + 7280,7280,7280,7280,7280,7280,7280,7280,7280,7280, + 7280,7280,7280,7280,7280,7280,7280,7280,7280,7280, + 7280,7280,7280,7280,7280,7280,7280,7280,7280,7280, + 7280,7280,7280,7280,7280,7280,7280,7280,7280,7412, + 7280,7280,7280,7280,7280,7280,7280,7280,7280,7280, + 7280,7280,7280,7280,7280,7280,7280,7280,7280,7280, + 7280,7280,7280,4179,7280,121,5925,7280,5242,5265, + 7280,7280,360,7280,6563,7280,7280,7280,7280,7280, + 7280,7280,310,7280,7280,7280,7280,7280,8,7310, + 7310,7310,7310,7310,7310,7310,7310,7310,7310,7310, + 7310,7310,7310,7310,7310,7310,7310,7310,7310,7310, + 7310,7310,7310,7310,7310,7310,7310,7310,7310,7310, + 7310,7310,7310,7310,7310,7310,7310,7310,7310,7310, + 7310,7310,7310,7412,7310,7310,7310,7310,7310,7310, + 7310,7310,7310,7310,7310,7310,7310,7310,7310,7310, + 7310,7310,7310,7310,7310,7310,7310,3261,7310,3950, + 4021,7310,582,7412,7310,7310,692,7310,7771,7310, + 7310,7310,7310,7310,7310,7310,571,7310,7310,7310, + 7310,7310,7412,7228,6571,6571,6571,6564,6571,6571, + 6571,6571,6571,7235,6571,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,7230,1,1,1,7407,1,1, + 1,1,1,7232,1,1,1,7412,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,2625,957, - 7582,1443,1,7407,3288,7418,3948,4019,1,1, - 3988,2926,579,3053,3181,2881,2203,2394,3096,4042, - 7407,3180,2150,3169,3133,3109,7407,7226,6569,6569, - 6569,6562,6569,6569,6569,6569,6569,7233,6569,1, + 1,1,1,1,1,1,1,1,2627,959, + 7587,1445,1,7412,3290,7423,3950,4021,1,1, + 7412,2928,581,3055,3183,2883,2205,2396,3098,4044, + 7412,3182,2152,3171,3135,3111,7412,7228,6571,6571, + 6571,6564,6571,6571,6571,6571,6571,7235,6571,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,7230,1,1, - 1,7407,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,7232,1,1, + 1,7412,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,2625,957,7582,4177,1,129,4014,7418, - 125,7407,1,1,3104,2926,3948,4019,3181,2881, - 2203,2394,3096,4042,7407,3180,2150,3169,3133,3109, - 7407,7226,6569,6569,6569,6562,6569,6569,6569,6569, - 6569,7233,6569,1,1,1,1,1,1,1, + 1,1,2627,959,7587,4179,1,129,4016,7423, + 125,7412,1,1,3106,2928,3950,4021,3183,2883, + 2205,2396,3098,4044,7412,3182,2152,3171,3135,3111, + 7412,7228,6571,6571,6571,6564,6571,6571,6571,6571, + 6571,7235,6571,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,7230,1,1,1,7407,1,1,1,1, + 1,7232,1,1,1,7412,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,2625,957,7582,7407, - 1,114,1270,7418,3948,4019,1,1,7407,2926, - 3367,3332,3181,2881,2203,2394,3096,4042,5885,3180, - 2150,3169,3133,3109,7407,7226,6569,6569,6569,6562, - 6569,6569,6569,6569,6569,7233,6569,1,1,1, + 1,1,1,1,1,1,2627,959,7587,7412, + 1,114,1272,7423,3950,4021,1,1,7412,2928, + 3369,3334,3183,2883,2205,2396,3098,4044,5887,3182, + 2152,3171,3135,3111,7412,7228,6571,6571,6571,6564, + 6571,6571,6571,6571,6571,7235,6571,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,7230,1,1,1,376, + 1,1,1,1,1,7232,1,1,1,7412, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 2625,957,7582,7407,1,113,2292,7418,5240,5263, - 1,1,7407,2926,124,5609,3181,2881,2203,2394, - 3096,4042,7407,3180,2150,3169,3133,3109,7407,7226, - 6569,6569,6569,6562,6569,6569,6569,6569,6569,7233, - 6569,1,1,1,1,1,1,1,1,1, + 2627,959,7587,7412,1,113,2294,7423,5242,5265, + 1,1,7412,2928,124,5611,3183,2883,2205,2396, + 3098,4044,7412,3182,2152,3171,3135,3111,7412,7228, + 6571,6571,6571,6564,6571,6571,6571,6571,6571,7235, + 6571,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,7230, - 1,1,1,7407,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,7232, + 1,1,1,7412,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,2625,957,7582,534,1,112, - 5845,7418,5240,5263,1,1,3988,2926,3948,4019, - 3181,2881,2203,2394,3096,4042,7407,3180,2150,3169, - 3133,3109,7407,7226,6569,6569,6569,6562,6569,6569, - 6569,6569,6569,7233,6569,1,1,1,1,1, + 1,1,1,1,2627,959,7587,536,1,112, + 5847,7423,5242,5265,1,1,7412,2928,3950,4021, + 3183,2883,2205,2396,3098,4044,7412,3182,2152,3171, + 3135,3111,7412,7228,6571,6571,6571,6564,6571,6571, + 6571,6571,6571,7235,6571,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,7230,1,1,1,4073,1,1, + 1,1,1,7232,1,1,1,4075,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,2625,957, - 7582,7407,1,123,1655,7418,5240,5263,1,1, - 572,2926,122,2109,3181,2881,2203,2394,3096,4042, - 7407,3180,2150,3169,3133,3109,7407,7226,6569,6569, - 6569,6562,6569,6569,6569,6569,6569,7233,6569,1, + 1,1,1,1,1,1,1,1,2627,959, + 7587,7412,1,123,1657,7423,5242,5265,1,1, + 574,2928,122,2111,3183,2883,2205,2396,3098,4044, + 7412,3182,2152,3171,3135,3111,7412,7228,6571,6571, + 6571,6564,6571,6571,6571,6571,6571,7235,6571,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,7230,1,1, - 1,566,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,7232,1,1, + 1,568,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,2625,957,7582,135,1,3948,4019,7418, - 7972,559,1,1,2443,2926,3948,4019,3181,2881, - 2203,2394,3096,4042,35,3180,2150,3169,3133,3109, - 7407,7226,6569,6569,6569,6562,6569,6569,6569,6569, - 6569,7233,6569,1,1,1,1,1,1,1, + 1,1,2627,959,7587,135,1,3950,4021,7423, + 7979,561,1,1,2445,2928,3950,4021,3183,2883, + 2205,2396,3098,4044,35,3182,2152,3171,3135,3111, + 7412,7228,6571,6571,6571,6564,6571,6571,6571,6571, + 6571,7235,6571,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,7230,1,1,1,7407,1,1,1,1, + 1,7232,1,1,1,7412,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,2625,957,7582,91, - 1,130,7172,7418,1334,546,1,1,1244,2926, - 7407,3069,3181,2881,2203,2394,3096,4042,7407,3180, - 2150,3169,3133,3109,7407,7226,6569,6569,6569,6562, - 6569,6569,6569,6569,6569,7233,6569,1,1,1, + 1,1,1,1,1,1,2627,959,7587,91, + 1,130,7174,7423,1336,548,1,1,1246,2928, + 7412,3071,3183,2883,2205,2396,3098,4044,7412,3182, + 2152,3171,3135,3111,7412,7228,6571,6571,6571,6564, + 6571,6571,6571,6571,6571,7235,6571,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,7230,1,1,1,523, + 1,1,1,1,1,7232,1,1,1,7412, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 2625,957,7582,133,1,7407,7921,7418,7407,823, - 1,1,1756,2926,3367,3332,3181,2881,2203,2394, - 3096,4042,7407,3180,2150,3169,3133,3109,7407,7226, - 6569,6569,6569,6562,6569,6569,6569,6569,6569,7233, - 6569,1,1,1,1,1,1,1,1,1, + 2627,959,7587,133,1,7412,7927,7423,7412,825, + 1,1,1758,2928,3369,3334,3183,2883,2205,2396, + 3098,4044,7412,3182,2152,3171,3135,3111,7412,7228, + 6571,6571,6571,6564,6571,6571,6571,6571,6571,7235, + 6571,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,7230, - 1,1,1,7407,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,7232, + 1,1,1,7412,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,2625,957,7582,131,1,237, - 3209,7418,7242,303,1,1,3988,2926,3110,3220, - 3181,2881,2203,2394,3096,4042,7709,3180,2150,3169, - 3133,3109,7407,7226,6569,6569,6569,6562,6569,6569, - 6569,6569,6569,7233,6569,1,1,1,1,1, + 1,1,1,1,2627,959,7587,131,1,238, + 3211,7423,7244,304,1,1,7412,2928,3112,3222, + 3183,2883,2205,2396,3098,4044,7715,3182,2152,3171, + 3135,3111,7412,7228,6571,6571,6571,6564,6571,6571, + 6571,6571,6571,7235,6571,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,7230,1,1,1,7407,1,1, + 1,1,1,7232,1,1,1,442,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,2625,957, - 7582,1,1,115,5027,7418,7407,312,1,1, - 2529,2926,337,4962,3181,2881,2203,2394,3096,4042, - 7407,3180,2150,3169,3133,3109,7407,7092,7092,7092, - 7092,7092,7092,7092,7092,7092,7092,7092,7092,1, - 7299,7296,7293,396,6754,6754,224,284,6745,6751, - 6748,6661,6655,6658,7092,7092,7092,7092,7092,7092, - 7092,7092,7092,7092,7092,7092,7092,7092,7407,7092, - 7092,2047,7092,7092,6670,6667,6664,6676,6694,6673, - 6685,6652,6679,6682,6691,6688,6649,1191,284,7407, - 6862,6859,7407,7421,7422,7092,450,7092,7092,7092, - 7092,7092,4938,4914,7092,7092,7092,7092,332,6575, - 6572,2950,1287,891,764,832,663,680,1489,7407, - 7092,7092,7092,7092,7092,7092,7092,7092,7092,7092, - 7092,7092,7092,7092,7092,7092,7092,7407,7421,7422, - 7092,7092,7092,7092,7092,7092,7092,7092,7092,7092, - 7092,7092,7092,7407,7092,7407,7175,7175,7175,7175, - 7175,7175,7175,7175,7175,7175,7175,7175,5217,1156, - 743,7407,600,7053,7053,225,604,7044,7050,7047, - 6709,6703,6706,7175,7175,7175,7175,7175,7175,7175, - 7175,7175,7175,7175,7175,7175,7175,3216,7175,7175, - 7407,7175,7175,6718,6715,6712,6724,6742,6721,6733, - 6700,6727,6730,6739,6736,6697,397,604,137,2371, - 390,891,764,832,7175,7407,7175,7175,7175,7175, - 7175,3301,7407,7175,7175,7175,7175,1,6588,6584, - 2950,6581,7011,7017,7014,663,680,7407,3528,7175, - 7175,7175,7175,7175,7175,7175,7175,7175,7175,7175, - 7175,7175,7175,7175,7175,7175,7407,11757,11695,7175, - 7175,7175,7175,7175,7175,7175,7175,7175,7175,7175, - 7175,7175,321,7175,39,6575,6572,6241,1287,891, - 764,832,5194,680,5096,138,5119,1787,8013,8014, - 7672,7670,7679,7678,7674,7675,7673,7676,7677,7680, - 7671,5570,7745,7746,8015,7667,7661,7668,7664,7640, - 7666,7665,7662,7663,7641,3030,7426,5004,4748,7407, - 5171,5142,7807,3183,1378,1589,7428,1457,5398,1506, - 7429,7427,1376,7423,7424,7425,5376,671,7808,7809, - 48,6862,6859,1565,1610,7407,7105,7105,229,7101, - 6569,6569,6569,229,229,229,7109,229,1,1, + 1,1,1,1,1,1,1,1,2627,959, + 7587,1,1,115,5029,7423,7412,313,1,1, + 2531,2928,338,4964,3183,2883,2205,2396,3098,4044, + 7412,3182,2152,3171,3135,3111,7412,7094,7094,7094, + 7094,7094,7094,7094,7094,7094,7094,7094,7094,1, + 7301,7298,7295,397,6756,6756,225,285,6747,6753, + 6750,6663,6657,6660,7094,7094,7094,7094,7094,7094, + 7094,7094,7094,7094,7094,7094,7094,7094,2373,7094, + 7094,390,7094,7094,6672,6669,6666,6678,6696,6675, + 6687,6654,6681,6684,6693,6690,6651,1193,285,7850, + 7851,7852,7412,7426,7427,7094,451,7094,7094,7094, + 7094,7094,4940,4916,7094,7094,7094,7094,333,6577, + 6574,2952,1289,893,766,834,665,682,1491,7412, + 7094,7094,7094,7094,7094,7094,7094,7094,7094,7094, + 7094,7094,7094,7094,7094,7094,7094,7412,6864,6861, + 6858,7094,7094,7094,7094,7094,7094,7094,7094,7094, + 7094,7094,7094,7094,7094,7412,7177,7177,7177,7177, + 7177,7177,7177,7177,7177,7177,7177,7177,5219,1158, + 745,7412,602,7055,7055,226,606,7046,7052,7049, + 6711,6705,6708,7177,7177,7177,7177,7177,7177,7177, + 7177,7177,7177,7177,7177,7177,7177,3218,7177,7177, + 457,7177,7177,6720,6717,6714,6726,6744,6723,6735, + 6702,6729,6732,6741,6738,6699,398,606,137,7412, + 391,893,766,834,7177,7412,7177,7177,7177,7177, + 7177,7412,3530,7177,7177,7177,7177,1,6590,6586, + 2952,6583,7013,7019,7016,665,682,194,7412,7177, + 7177,7177,7177,7177,7177,7177,7177,7177,7177,7177, + 7177,7177,7177,7177,7177,7177,7412,7426,7427,7034, + 7177,7177,7177,7177,7177,7177,7177,7177,7177,7177, + 7177,7177,7177,7177,39,6577,6574,6243,1289,893, + 766,834,5196,682,5098,138,5121,1789,8020,8021, + 7678,7676,7685,7684,7680,7681,7679,7682,7683,7686, + 7677,5572,7751,7752,8022,7673,7667,7674,7670,7646, + 7672,7671,7668,7669,7647,3032,7431,5006,4750,7314, + 5173,5144,7813,3185,1380,1591,7433,1459,5400,1508, + 7434,7432,1378,7428,7429,7430,5378,673,7814,7815, + 7412,11701,11640,295,1612,7412,7107,7107,230,7103, + 6571,6571,6571,230,230,230,7111,230,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,229,7407,6575,6572, - 7098,7445,3030,1,310,6588,6584,2950,6581,7011, - 7017,7014,663,680,7020,7407,7020,185,1,1, - 1,4497,1569,7821,7407,226,38,7029,7026,229, - 6769,6763,6766,134,7023,680,418,399,7421,7422, - 446,7083,7083,7909,7083,7083,7083,7083,7407,7407, - 7083,7407,7083,6778,6775,6772,6784,6802,6781,6793, - 6760,6787,6790,6799,6796,6757,7844,7845,7846,7407, - 7105,7105,229,7101,6569,6569,6569,229,229,229, - 7220,229,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,230,7412,6577,6574, + 7100,7450,3032,1,311,6590,6586,2952,6583,7013, + 7019,7016,665,682,7022,7412,7022,7412,1,1, + 1,4499,1571,7827,573,227,38,7031,7028,230, + 6771,6765,6768,2491,7025,682,419,7412,6864,6861, + 447,7085,7085,7915,7085,7085,7085,7085,443,7412, + 7085,7412,7085,6780,6777,6774,6786,6804,6783,6795, + 6762,6789,6792,6801,6798,6759,1995,7850,7851,7852, + 7412,7107,7107,230,7103,6571,6571,6571,230,230, + 230,7222,230,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 229,7407,6575,6572,7098,7445,7407,1,7407,6588, - 6584,2950,6581,7011,7017,7014,663,680,7080,3312, - 7080,3931,1,1,1,4497,1569,7821,3110,227, - 7407,7421,7422,229,6820,6814,6817,7401,663,680, - 417,517,7407,7407,447,7266,7266,7909,7260,7251, - 7257,7254,7407,7419,7263,7407,7263,6829,6826,6823, - 6835,6853,6832,6844,6811,6838,6841,6850,6847,6808, - 7844,7845,7846,7407,6569,6569,229,6569,6562,6569, - 6569,229,229,229,6598,229,1,1,1,1, + 1,230,399,5219,1158,7100,390,7037,1,7412, + 6590,6586,2952,6583,7013,7019,7016,665,682,7082, + 7412,7082,7412,1,1,1,4499,1571,7827,136, + 228,7412,7426,7427,230,6822,6816,6819,7412,665, + 682,418,48,6864,6861,448,7268,7268,7915,7262, + 7253,7259,7256,29,525,7265,7412,7265,6831,6828, + 6825,6837,6855,6834,6846,6813,6840,6843,6852,6849, + 6810,1233,7850,7851,7852,7412,6571,6571,230,6571, + 6564,6571,6571,230,230,230,6600,230,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,12204,1,12070, - 1,1,12152,1,229,7418,990,7810,6566,118, - 7407,1,7407,6588,6584,2950,6581,7011,7017,7014, - 663,680,7020,7864,7020,303,1,1,1,2716, - 957,7618,7407,1,6588,6584,6578,6581,7709,571, - 223,6595,6592,299,219,6613,6607,6610,891,764, - 832,7909,4783,4472,8013,8014,7672,7670,7679,7678, - 7674,7675,7673,7676,7677,7680,7671,441,6622,6619, - 6616,6628,6646,6625,6637,6604,6631,6634,6643,6640, - 6601,1993,139,289,6805,6805,2446,284,891,764, - 832,642,219,7407,6569,6569,229,6569,6562,6569, - 6569,229,229,229,229,229,1,1,1,1, + 1,1,1,1,1,1,1,1,1,12211, + 1,12080,1,1,12210,1,230,7412,6577,6574, + 6568,7450,7040,1,7412,6590,6586,2952,6583,7013, + 7019,7016,665,682,7022,3071,7022,304,1,1, + 1,2718,959,7624,7412,1,6590,6586,6580,6583, + 7715,7412,224,6597,6594,300,220,6615,6609,6612, + 893,766,834,7915,7412,1,8020,8021,7678,7676, + 7685,7684,7680,7681,7679,7682,7683,7686,7677,7412, + 6624,6621,6618,6630,6648,6627,6639,6606,6633,6636, + 6645,6642,6603,1810,139,290,6807,6807,2448,285, + 893,766,834,644,220,7412,6571,6571,230,6571, + 6564,6571,6571,230,230,230,230,230,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,12204,1,12070, - 1,1,12152,1,229,548,7956,590,6566,7407, - 7407,1,6877,6871,6874,1,6588,6584,2950,6581, - 7011,7017,7014,663,680,7407,1,1,1,2716, - 957,7618,2154,7957,7407,6886,6883,6880,6892,6910, - 6889,6901,6868,6895,6898,6907,6904,6865,7844,7845, - 7846,7909,92,7290,7290,117,7290,7290,7290,7290, - 2797,7407,7290,136,7290,4962,430,3021,2105,2056, - 2007,1958,1909,1860,1811,1762,1713,1664,7407,6588, - 6584,2950,6581,7011,7017,7014,663,680,7080,2446, - 7080,7407,220,7407,6569,6569,229,6569,6562,6569, - 6569,229,229,229,229,229,1,1,1,1, + 1,1,1,1,1,1,1,1,1,12211, + 1,12080,1,1,12210,1,230,550,7963,592, + 6568,7412,7412,1,6879,6873,6876,3303,1,6590, + 6586,2952,6583,7013,7019,7016,665,682,1,1, + 1,2718,959,7624,2156,7964,7412,6888,6885,6882, + 6894,6912,6891,6903,6870,6897,6900,6909,6906,6867, + 400,7426,7427,7915,92,7292,7292,117,7292,7292, + 7292,7292,2799,7412,7292,7412,7292,4964,7412,2845, + 3023,2107,2058,2009,1960,1911,1862,1813,1764,1715, + 1666,7412,6590,6586,2952,6583,7013,7019,7016,665, + 682,7082,2448,7082,221,7412,6571,6571,230,6571, + 6564,6571,6571,230,230,230,230,230,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,12204,1,12070, - 1,1,12152,1,229,7407,11757,11695,6566,7850, - 656,1,602,6575,6572,2950,1287,891,764,832, - 663,680,2446,7407,4938,4914,1,1,1,2716, - 957,7618,1214,1,6588,6584,3917,6581,29,3069, - 397,663,680,605,368,891,764,832,891,764, - 832,7909,7407,6569,6569,229,6569,6562,6569,6569, - 229,229,229,7211,229,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,12211, + 1,12080,1,1,12210,1,230,7412,11701,11640, + 6568,3314,7816,1,604,6577,6574,2952,1289,893, + 766,834,665,682,7412,2448,4940,4916,1,1, + 1,2718,959,7624,1216,1,6590,6586,3919,6583, + 29,7412,398,665,682,607,369,893,766,834, + 893,766,834,7915,7412,6571,6571,230,6571,6564, + 6571,6571,230,230,230,7213,230,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,12204,1,12070,1, - 1,12152,1,229,7407,6575,6572,6566,1287,7407, - 1,7407,7178,680,1565,368,7407,1231,368,1231, - 7411,368,426,1353,7407,1,1,1,2716,957, - 7618,389,460,1,6588,6584,3917,6581,459,368, - 314,663,680,220,7236,891,764,832,7407,2767, - 7909,7407,6569,6569,229,6569,6562,6569,6569,229, - 229,229,7211,229,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,12211,1, + 12080,1,1,12210,1,230,7412,6577,6574,6568, + 1289,7412,1,7412,7180,682,1567,369,7412,1233, + 369,1233,7416,369,427,1355,7412,1,1,1, + 2718,959,7624,7412,322,1,6590,6586,3919,6583, + 461,369,315,665,682,221,7238,893,766,834, + 7412,2769,7915,7412,6571,6571,230,6571,6564,6571, + 6571,230,230,230,7213,230,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,12204,1,12070,1,1, - 12152,1,229,7407,6575,6572,6566,1287,4214,1, - 6856,7178,680,7086,1565,7239,599,7056,7056,7089, - 604,891,764,832,1,1,1,2716,957,7618, - 2628,346,6575,6572,3917,1287,891,764,832,663, - 680,332,220,332,157,7410,7407,7407,2865,7909, - 7407,6569,6569,229,6569,6562,6569,6569,229,229, - 229,7211,229,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,12211,1,12080, + 1,1,12210,1,230,7412,6577,6574,6568,1289, + 4216,1,2390,7180,682,1567,1567,7241,601,7058, + 7058,7088,606,893,766,834,1,1,1,2718, + 959,7624,2630,347,6577,6574,3919,1289,893,766, + 834,665,682,333,221,333,518,7412,7415,7412, + 2867,7915,7412,6571,6571,230,6571,6564,6571,6571, + 230,230,230,7213,230,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,12204,1,12070,1,1,12152, - 1,229,37,7095,7095,6566,132,7407,1,95, - 7374,7374,1565,7368,7359,7365,7362,7407,3220,7371, - 451,7371,1,1,1,1,2716,957,7618,2246, - 7407,7347,7347,7347,7347,7347,7347,7347,7347,7347, - 7347,220,7347,293,7421,7422,7407,7443,7909,7407, - 6569,6569,229,6569,6562,6569,6569,229,229,229, - 229,229,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,12211,1,12080,1, + 1,12210,1,230,37,7097,7097,6568,7412,7412, + 1,95,7379,7379,1567,7373,7364,7370,7367,7412, + 7412,7376,157,7376,7412,1,1,1,2718,959, + 7624,992,7412,7352,7352,7352,7352,7352,7352,7352, + 7352,7352,7352,221,7352,294,7426,7427,7412,7448, + 7915,7412,6571,6571,230,6571,6564,6571,6571,230, + 230,230,230,230,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,12204,1,12070,1,1,12152,1, - 229,7407,7160,7157,6566,1507,2,1,1,6588, - 6584,2950,6581,397,7347,294,663,680,891,764, - 832,116,1,1,1,2716,957,7618,1,7284, - 7284,4962,7281,7011,7017,7014,456,442,332,364, - 332,7407,6862,6859,363,7407,7443,7909,7407,6569, - 6569,229,6569,6562,6569,6569,229,229,229,229, - 229,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,12211,1,12080,1,1, + 12210,1,230,7412,7162,7159,6568,2248,7870,1, + 1,6590,6586,2952,6583,398,7352,372,665,682, + 893,766,834,116,1,1,1,2718,959,7624, + 1,7286,7286,4964,7283,7013,7019,7016,596,7412, + 333,365,333,893,766,834,7412,7412,7448,7915, + 7412,6571,6571,230,6571,6564,6571,6571,230,230, + 230,230,230,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,12204,1,12070,1,1,12152,1,229, - 7407,6575,6572,6566,1287,2489,1,39,663,680, - 364,7445,891,764,832,7032,7035,332,286,332, - 7407,1,1,1,2716,957,7618,5217,1156,3665, - 4938,4914,7407,7407,364,1,6588,6584,2950,6581, - 7011,7017,7014,663,680,7407,7909,7407,6569,6569, - 229,6569,6562,6569,6569,229,229,229,229,229, + 1,1,1,1,12211,1,12080,1,1,12210, + 1,230,7412,6577,6574,6568,1289,1405,1,39, + 665,682,365,7450,893,766,834,7412,1593,333, + 452,333,431,1,1,1,2718,959,7624,36, + 7328,7325,4940,4916,7856,7412,365,1,6590,6586, + 2952,6583,7013,7019,7016,665,682,370,7915,7412, + 6571,6571,230,6571,6564,6571,6571,230,230,230, + 230,230,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,12211,1,12080,1,1,12210,1, + 230,43,7168,7168,6568,1509,658,1,1,6590, + 6586,2952,6583,300,7426,7427,665,682,893,766, + 834,2448,1,1,1,2718,959,7624,347,39, + 39,1460,7450,893,766,834,604,1465,333,7412, + 333,7183,7189,7186,7412,7412,7165,7915,7412,6571, + 6571,230,6571,6564,6571,6571,230,230,230,230, + 230,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,12204,1,12070,1,1,12152,1,229,43, - 7166,7166,6566,7692,4085,1,1,6588,6584,2950, - 6581,299,7421,7422,663,680,891,764,832,2446, - 1,1,1,2716,957,7618,346,39,39,1458, - 7445,891,764,832,594,29,332,7407,332,891, - 764,832,7407,7407,7163,7909,7407,6569,6569,229, - 6569,6562,6569,6569,229,229,229,229,229,1, + 1,1,12211,1,12080,1,1,12210,1,230, + 7412,11830,11830,6568,7412,7412,1,39,39,1567, + 595,7450,7450,333,511,893,766,834,7198,7204, + 7201,1,1,1,2718,959,7624,1,6590,6586, + 3919,6583,7412,7426,7427,665,682,7412,2039,1500, + 293,1174,1174,7424,7412,7448,7915,7412,6571,6571, + 230,6571,6564,6571,6571,230,230,230,230,230, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 12204,1,12070,1,1,12152,1,229,37,7095, - 7095,6566,7407,7407,1,4282,7095,1565,39,7407, - 6575,6572,7445,1287,7038,7407,139,663,680,1, - 1,1,2716,957,7618,1,6588,6584,3917,6581, - 7407,7421,7422,663,680,36,7323,7320,7407,1498, - 7407,7419,2843,2197,7909,7407,6569,6569,229,6569, - 6562,6569,6569,229,229,229,229,229,1,1, + 1,12211,1,12080,1,1,12210,1,230,37, + 7097,7097,6568,7412,5030,1,2049,7097,1567,7412, + 6577,6574,7412,1289,134,7423,7412,665,682,1304, + 1,1,1,2718,959,7624,1,7418,603,1460, + 7850,7851,7852,893,766,834,333,343,7412,7412, + 7412,893,766,834,2199,7915,7412,6571,6571,230, + 6571,6564,6571,6571,230,230,230,230,230,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,12204, - 1,12070,1,1,12152,1,229,7407,11948,11948, - 6566,7407,602,1,4325,593,1565,7181,7187,7184, - 891,764,832,7418,7407,7407,2052,1302,1,1, - 1,2716,957,7618,1,7413,7413,1458,7407,7844, - 7845,7846,332,319,2797,342,7077,7196,7202,7199, - 7407,3021,7443,7909,7407,6569,6569,229,6569,6562, - 6569,6569,229,229,229,229,229,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,12204,1, - 12070,1,1,12152,1,229,7412,7412,7407,6566, - 1,5445,1,1458,7407,1565,342,2388,337,342, - 7407,7236,342,6342,1565,7413,1,1,1,1, - 2716,957,7618,601,45,7272,7272,7169,891,764, - 832,1,6588,6584,6241,6581,7745,7746,8015,5194, - 680,5096,7909,5119,7112,7151,7148,7139,7145,7118, - 7121,7133,7130,7136,7127,7124,7115,7142,7154,1, - 6588,6584,2950,6581,7011,7017,7014,663,680,7269, - 310,1565,7239,7426,5004,4748,7412,5171,5142,736, - 3183,1378,1589,7428,1457,5398,1506,7429,7427,1376, - 7423,7424,7425,5376,7407,7407,75,7414,349,7071, - 310,1610,39,6575,6572,6241,1287,39,39,518, - 5194,680,5096,7398,5119,1159,8013,8014,7672,7670, - 7679,7678,7674,7675,7673,7676,7677,7680,7671,5354, - 1,6588,6584,6578,6581,7407,7407,758,6595,6592, - 5806,7417,7062,7059,7426,5004,4748,7413,5171,5142, - 7407,3183,1378,1589,7428,1457,5398,1506,7429,7427, - 1376,7423,7424,7425,5376,7407,7407,7074,4128,1565, - 1,7416,1610,292,2129,7193,39,6575,6572,6241, - 1287,161,428,7414,5194,680,5096,7190,5119,1159, - 8013,8014,7672,7670,7679,7678,7674,7675,7673,7676, - 7677,7680,7671,5354,1591,7407,7407,1808,7412,332, - 7065,7380,7388,7384,891,764,832,7392,7426,5004, - 4748,7407,5171,5142,7068,3183,1378,1589,7428,1457, - 5398,1506,7429,7427,1376,7423,7424,7425,5376,37, - 7095,7095,161,1,7407,3306,1610,7392,11604,7193, - 141,6575,6572,6241,1287,7413,7205,2427,5194,680, - 5096,1,5119,1159,8013,8014,7672,7670,7679,7678, - 7674,7675,7673,7676,7677,7680,7671,5354,7407,2537, - 7407,7392,348,39,2030,3434,3300,7445,3034,7413, - 3881,7208,7426,5004,4748,7407,5171,5142,2339,3183, - 1378,1589,7428,1457,5398,1506,7429,7427,1376,7423, - 7424,7425,5376,7407,2037,398,7412,1,7407,389, - 1610,554,6575,6572,6241,1287,39,39,7041,5194, - 680,5096,7407,5119,1159,8013,8014,7672,7670,7679, - 7678,7674,7675,7673,7676,7677,7680,7671,5354,595, - 7412,7407,1503,1565,891,764,832,7767,7407,7421, - 7422,7407,7413,7426,5004,4748,2129,5171,5142,7407, - 3183,1378,1589,7428,1457,5398,1506,7429,7427,1376, - 7423,7424,7425,5376,1231,7407,7316,7312,1,120, - 7418,1610,1,6588,6584,6241,6581,39,39,163, - 5194,680,5096,1993,5119,7112,7151,7148,7139,7145, - 7118,7121,7133,7130,7136,7127,7124,7115,7142,7154, - 7407,7407,419,7412,7407,126,1513,891,764,832, - 7443,7417,4783,4472,7426,5004,4748,7407,5171,5142, - 2903,3183,1378,1589,7428,1457,5398,1506,7429,7427, - 1376,7423,7424,7425,5376,7407,119,7407,3435,1, - 163,7416,1610,39,6575,6572,6241,1287,39,39, - 7419,5194,680,5096,7190,5119,1159,8013,8014,7672, - 7670,7679,7678,7674,7675,7673,7676,7677,7680,7671, - 5354,597,7407,4504,3832,3450,7329,7335,7332,4783, - 4472,7407,5691,7223,5612,7426,5004,4748,7407,5171, - 5142,4060,3183,1378,1589,7428,1457,5398,1506,7429, - 7427,1376,7423,7424,7425,5376,3766,3732,7407,1, - 7407,2299,7418,1610,3699,3620,7193,39,6575,6572, - 6241,1287,7205,7407,7407,5194,680,5096,7411,5119, - 1159,8013,8014,7672,7670,7679,7678,7674,7675,7673, - 7676,7677,7680,7671,5354,371,37,7095,7095,7407, - 4644,891,764,832,3034,1127,332,7208,7407,7426, - 5004,4748,7407,5171,5142,2291,3183,1378,1589,7428, - 1457,5398,1506,7429,7427,1376,7423,7424,7425,5376, - 39,6575,6572,6241,1287,292,1172,1172,5194,680, - 5096,7443,5119,1159,8013,8014,7672,7670,7679,7678, - 7674,7675,7673,7676,7677,7680,7671,5354,596,7407, - 1,7407,369,7338,7344,7341,7407,1,1231,2620, - 7413,530,7426,5004,4748,1403,5171,5142,364,3183, - 1378,1589,7428,1457,5398,1506,7429,7427,1376,7423, - 7424,7425,5376,7410,39,6575,6572,6241,1287,7407, - 7407,2422,5194,680,5096,7407,5119,1159,8013,8014, - 7672,7670,7679,7678,7674,7675,7673,7676,7677,7680, - 7671,5354,420,7407,7407,7407,48,891,764,832, - 7422,7412,530,7407,6112,7415,7426,5004,4748,364, - 5171,5142,1463,3183,1378,1589,7428,1457,5398,1506, - 7429,7427,1376,7423,7424,7425,5376,39,6575,6572, - 6241,1287,73,364,1610,5194,680,5096,5728,5119, - 1159,8013,8014,7672,7670,7679,7678,7674,7675,7673, - 7676,7677,7680,7671,5354,7407,1,8,48,7407, - 100,7407,7421,2878,1214,7422,7417,7413,7404,7426, - 5004,4748,3552,5171,5142,7414,3183,1378,1589,7428, - 1457,5398,1506,7429,7427,1376,7423,7424,7425,5376, - 39,6575,6572,5030,1287,1,7416,1610,5194,680, - 5096,7377,5119,1159,8013,8014,7672,7670,7679,7678, - 7674,7675,7673,7676,7677,7680,7671,5354,407,1, - 7407,7407,103,7407,4155,7353,1736,7421,7412,7214, - 7417,7326,7426,5004,4748,2348,5171,5142,7404,3183, - 1378,1589,7428,1457,5398,1506,7429,7427,1376,7423, - 7424,7425,5376,39,6575,6572,6185,1287,7407,7217, - 7416,5194,680,5096,510,5119,1159,8013,8014,7672, - 7670,7679,7678,7674,7675,7673,7676,7677,7680,7671, - 5354,1,7407,99,508,279,100,103,7395,7407, - 7353,4117,191,7407,4171,7426,5004,4748,7407,5171, - 5142,47,3183,1378,1589,7428,1457,5398,1506,7429, - 7427,1376,7423,7424,7425,5376,39,6575,6572,6205, - 1287,7407,191,7407,5194,680,5096,5767,5119,1159, - 8013,8014,7672,7670,7679,7678,7674,7675,7673,7676, - 7677,7680,7671,5354,5028,37,1396,422,7407,2, - 7407,6345,7407,7407,7356,7407,7407,7326,7426,5004, - 4748,7407,5171,5142,5866,3183,1378,1589,7428,1457, - 5398,1506,7429,7427,1376,7423,7424,7425,5376,39, - 6575,6572,6235,1287,7407,7407,7407,5194,680,5096, - 7443,5119,1159,8013,8014,7672,7670,7679,7678,7674, - 7675,7673,7676,7677,7680,7671,5354,7407,7407,7407, - 7407,7407,7407,7407,7407,7407,7407,7407,37,7407, - 7407,7426,5004,4748,7407,5171,5142,2580,3183,1378, - 1589,7428,1457,5398,1506,7429,7427,1376,7423,7424, - 7425,5376,39,6575,6572,6241,1287,7407,7407,7407, - 5194,680,5096,512,5119,1159,8013,8014,7672,7670, - 7679,7678,7674,7675,7673,7676,7677,7680,7671,5354, - 7407,1,7407,7407,7407,7407,7407,7407,7407,7407, - 7407,7407,7407,7407,7426,5004,4748,1334,5171,5142, - 2397,3183,1378,1589,7428,1457,5398,1506,7429,7427, - 1376,7423,7424,7425,5376,39,6575,6572,6265,1287, - 7407,7407,7407,5194,680,5096,658,5119,1159,8013, - 8014,7672,7670,7679,7678,7674,7675,7673,7676,7677, - 7680,7671,5354,1055,7407,7407,7407,7407,7407,7407, - 7407,7407,7407,7407,7407,7407,7407,7426,5004,4748, - 7407,5171,5142,1,3183,1378,1589,7428,1457,5398, - 1506,7429,7427,1376,7423,7424,7425,5376,39,6575, - 6572,6241,1287,7407,7407,7407,5194,680,5096,128, - 5119,1159,8013,8014,7672,7670,7679,7678,7674,7675, - 7673,7676,7677,7680,7671,5354,1,7407,712,1020, - 7407,7407,7407,7407,7878,1,7872,7407,7876,7407, - 7426,5004,4748,7415,5171,5142,7407,3183,1378,1589, - 7428,1457,5398,1506,7429,7427,1376,7423,7424,7425, - 5376,7407,7407,7407,7407,7407,7407,7407,7407,7870, - 7871,7407,7901,7902,7407,7879,7407,746,3832,7407, - 746,7407,7407,7407,7407,7407,7407,7302,7407,7407, - 7407,7407,7407,7407,7407,7881,7407,977,7407,7407, - 7407,7903,1753,1797,7882,7407,7880,1129,7407,7407, - 3766,3732,7407,7414,7407,7407,7407,7407,3699,3620, - 7892,7891,7407,7904,7407,7873,7874,7897,7898,7895, - 7896,7875,7877,7899,7900,7407,7407,7407,7407,7407, - 7905,7407,7885,7886,7887,7883,7884,7893,7894,7889, - 7888,7890,7407,6575,6572,7407,7445,891,764,832, - 7407,7407,7407,7407,7407,708,8013,8014,7672,7670, - 7679,7678,7674,7675,7673,7676,7677,7680,7671,5332, - 7745,7746,8015,7667,7661,7668,7664,7640,7666,7665, - 7662,7663,7641,7407,7407,7407,7407,7407,7407,7407, - 7807,7407,7407,7407,7407,241,7004,7000,7407,7008, - 6925,6919,6922,7407,7407,671,7808,7809,708,6997, - 6994,6985,6991,6964,6967,6979,6976,6982,6973,6970, - 6961,6988,5332,6934,6931,6928,6940,6958,6937,6949, - 6916,6943,6946,6955,6952,6913,7407,7407,7407,7407, - 7407,7407,7407,7807,29,389,389,7248,389,389, - 389,389,389,389,7248,7248,7248,7407,671,7808, - 7809,7407,7407,7407,7407,7407,7407,7407,7407,7407, - 7407,7407,389,389,389,389,389,389,389,389, - 389,389,389,389,389,7248,7407,7407,7407,32, - 390,390,7245,390,390,390,390,390,390,7245, - 7245,7245,7407,7407,7407,7407,7407,7407,7407,7407, - 7407,7407,7407,7038,7407,7248,7248,390,390,390, - 390,390,390,390,390,390,390,390,390,390, - 7245,7407,7407,7407,577,588,588,588,588,588, - 588,588,588,588,7287,7287,7287,7407,7407,7407, - 7407,7407,127,7407,7407,7407,7407,7407,7407,7407, - 7245,7245,588,588,588,588,588,588,588,588, - 588,588,588,588,588,7287,7407,7407,7407,578, - 589,589,589,589,589,589,589,589,589,7350, - 7350,7350,7407,7407,7407,7407,7407,7407,7407,7407, - 7407,7407,7407,7407,7407,588,7287,589,589,589, - 589,589,589,589,589,589,589,589,589,589, - 7350,3832,7407,7407,7407,7407,7407,7407,7407,7407, - 7305,7407,7407,7407,7407,7407,7407,7407,7407,7407, - 7407,7407,7407,7407,7407,7407,7407,7407,7407,7407, - 589,7350,7407,3766,3732,7407,7407,7407,7407,7407, - 7407,3699,3620 + 12211,1,12080,1,1,12210,1,230,7417,7412, + 2054,6568,1,132,1,1460,7412,1567,343,7412, + 7418,343,4284,7238,343,3222,7412,7418,3883,1, + 1,1,2718,959,7624,597,5693,7412,5614,3112, + 893,766,834,1,6590,6586,6243,6583,7424,7412, + 7412,5196,682,5098,7915,5121,7114,7153,7150,7141, + 7147,7120,7123,7135,7132,7138,7129,7126,7117,7144, + 7156,1,6590,6586,2952,6583,7013,7019,7016,665, + 682,7417,311,1567,7241,7431,5006,4750,7417,5173, + 5144,738,3185,1380,1591,7433,1459,5400,1508,7434, + 7432,1378,7428,7429,7430,5378,320,7412,75,7079, + 7423,7073,311,1612,39,6577,6574,6243,1289,39, + 39,519,5196,682,5098,7403,5121,1161,8020,8021, + 7678,7676,7685,7684,7680,7681,7679,7682,7683,7686, + 7677,5356,1,6590,6586,6580,6583,7412,7412,760, + 6597,6594,5808,7422,7064,7061,7431,5006,4750,7418, + 5173,5144,460,3185,1380,1591,7433,1459,5400,1508, + 7434,7432,1378,7428,7429,7430,5378,1567,1,7076, + 1,1,349,7421,1612,3436,7412,7195,39,6577, + 6574,6243,1289,7207,7207,7419,5196,682,5098,7192, + 5121,1161,8020,8021,7678,7676,7685,7684,7680,7681, + 7679,7682,7683,7686,7677,5356,7412,7426,7427,7412, + 7417,350,1505,7067,2131,3036,3036,7412,7210,7210, + 7431,5006,4750,7091,5173,5144,7070,3185,1380,1591, + 7433,1459,5400,1508,7434,7432,1378,7428,7429,7430, + 5378,7412,2,1567,4327,7412,7412,3308,1612,7412, + 4087,7195,141,6577,6574,6243,1289,7418,7412,1995, + 5196,682,5098,1,5121,1161,8020,8021,7678,7676, + 7685,7684,7680,7681,7679,7682,7683,7686,7677,5356, + 7412,1,1567,4130,7412,7385,7393,7389,3302,7412, + 1129,7397,7043,364,7431,5006,4750,7412,5173,5144, + 7418,3185,1380,1591,7433,1459,5400,1508,7434,7432, + 1378,7428,7429,7430,5378,45,7274,7274,7417,7412, + 7412,7397,1612,556,6577,6574,6243,1289,39,39, + 7418,5196,682,5098,7412,5121,1161,8020,8021,7678, + 7676,7685,7684,7680,7681,7679,7682,7683,7686,7677, + 5356,7412,1,4506,7423,7397,37,7097,7097,7773, + 7271,7417,7422,7424,1515,7431,5006,4750,3667,5173, + 5144,2539,3185,1380,1591,7433,1459,5400,1508,7434, + 7432,1378,7428,7429,7430,5378,7412,7321,7317,4646, + 7412,7417,7421,1612,1,6590,6586,6243,6583,39, + 39,2032,5196,682,5098,338,5121,7114,7153,7150, + 7141,7147,7120,7123,7135,7132,7138,7129,7126,7117, + 7144,7156,7412,420,7412,7423,3452,126,893,766, + 834,7448,2131,7751,7752,8022,7431,5006,4750,7412, + 5173,5144,5447,3185,1380,1591,7433,1459,5400,1508, + 7434,7432,1378,7428,7429,7430,5378,7412,7412,1233, + 6344,1,7412,139,1612,39,6577,6574,6243,1289, + 39,39,161,5196,682,5098,7192,5121,1161,8020, + 8021,7678,7676,7685,7684,7680,7681,7679,7682,7683, + 7686,7677,5356,599,7412,1,3834,598,7334,7340, + 7337,118,7343,7349,7346,7225,7171,7431,5006,4750, + 7412,5173,5144,2341,3185,1380,1591,7433,1459,5400, + 1508,7434,7432,1378,7428,7429,7430,5378,3768,3734, + 7412,1216,7412,161,287,1612,3701,3622,7195,39, + 6577,6574,6243,1289,4785,4474,7412,5196,682,5098, + 7416,5121,1161,8020,8021,7678,7676,7685,7684,7680, + 7681,7679,7682,7683,7686,7677,5356,7412,37,7097, + 7097,2799,7412,893,766,834,7419,5730,333,3023, + 7412,7431,5006,4750,7412,5173,5144,2905,3185,1380, + 1591,7433,1459,5400,1508,7434,7432,1378,7428,7429, + 7430,5378,39,6577,6574,6243,1289,7412,7412,7698, + 5196,682,5098,7448,5121,1161,8020,8021,7678,7676, + 7685,7684,7680,7681,7679,7682,7683,7686,7677,5356, + 421,7412,7412,7412,48,893,766,834,7427,7412, + 7412,3554,7420,7418,7431,5006,4750,7412,5173,5144, + 3437,3185,1380,1591,7433,1459,5400,1508,7434,7432, + 1378,7428,7429,7430,5378,100,7415,39,6577,6574, + 6243,1289,7412,2424,7412,5196,682,5098,5769,5121, + 1161,8020,8021,7678,7676,7685,7684,7680,7681,7679, + 7682,7683,7686,7677,5356,48,47,7412,7412,7426, + 293,4062,7412,7427,7417,2293,1131,6114,7420,7431, + 5006,4750,7419,5173,5144,37,3185,1380,1591,7433, + 1459,5400,1508,7434,7432,1378,7428,7429,7430,5378, + 39,6577,6574,6243,1289,73,7331,1612,5196,682, + 5098,1398,5121,1161,8020,8021,7678,7676,7685,7684, + 7680,7681,7679,7682,7683,7686,7677,5356,7412,1, + 7448,7412,7412,429,7426,2622,185,7412,7412,7422, + 163,4157,7431,5006,4750,10866,5173,5144,7419,3185, + 1380,1591,7433,1459,5400,1508,7434,7432,1378,7428, + 7429,7430,5378,39,6577,6574,5032,1289,1,7421, + 1612,5196,682,5098,7382,5121,1161,8020,8021,7678, + 7676,7685,7684,7680,7681,7679,7682,7683,7686,7677, + 5356,408,1,1,2,103,7412,7412,7358,7412, + 2880,163,7216,7422,532,7431,5006,4750,2429,5173, + 5144,120,3185,1380,1591,7433,1459,5400,1508,7434, + 7432,1378,7428,7429,7430,5378,39,6577,6574,6187, + 1289,7412,7219,7421,5196,682,5098,7412,5121,1161, + 8020,8021,7678,7676,7685,7684,7680,7681,7679,7682, + 7683,7686,7677,5356,4785,4474,8,99,7412,280, + 7412,1738,7400,37,4119,532,7406,7409,7431,5006, + 4750,2301,5173,5144,119,3185,1380,1591,7433,1459, + 5400,1508,7434,7432,1378,7428,7429,7430,5378,39, + 6577,6574,6207,1289,7412,7412,7412,5196,682,5098, + 7412,5121,1161,8020,8021,7678,7676,7685,7684,7680, + 7681,7679,7682,7683,7686,7677,5356,4785,4474,7412, + 509,103,7412,7412,7358,6347,100,7412,7361,7412, + 7412,7431,5006,4750,2350,5173,5144,7409,3185,1380, + 1591,7433,1459,5400,1508,7434,7432,1378,7428,7429, + 7430,5378,39,6577,6574,6237,1289,7412,7412,7412, + 5196,682,5098,423,5121,1161,8020,8021,7678,7676, + 7685,7684,7680,7681,7679,7682,7683,7686,7677,5356, + 1,1,7412,7412,7412,7412,7412,7412,7412,7412, + 7412,191,7418,4173,7431,5006,4750,7331,5173,5144, + 5868,3185,1380,1591,7433,1459,5400,1508,7434,7432, + 1378,7428,7429,7430,5378,39,6577,6574,6243,1289, + 7412,191,7412,5196,682,5098,7412,5121,1161,8020, + 8021,7678,7676,7685,7684,7680,7681,7679,7682,7683, + 7686,7677,5356,2582,1,7412,513,7412,7412,7412, + 7412,7412,7412,7417,7412,7412,7412,7431,5006,4750, + 7412,5173,5144,1336,3185,1380,1591,7433,1459,5400, + 1508,7434,7432,1378,7428,7429,7430,5378,39,6577, + 6574,6267,1289,7412,7412,7412,5196,682,5098,660, + 5121,1161,8020,8021,7678,7676,7685,7684,7680,7681, + 7679,7682,7683,7686,7677,5356,2399,7412,1,7412, + 7412,377,524,7412,7412,7412,7412,7412,7412,365, + 7431,5006,4750,7412,5173,5144,1057,3185,1380,1591, + 7433,1459,5400,1508,7434,7432,1378,7428,7429,7430, + 5378,39,6577,6574,6243,1289,7412,7412,7412,5196, + 682,5098,128,5121,1161,8020,8021,7678,7676,7685, + 7684,7680,7681,7679,7682,7683,7686,7677,5356,1, + 7412,3990,1022,7412,1,1,7412,7884,7412,7878, + 365,7882,7412,7431,5006,4750,7412,5173,5144,7412, + 3185,1380,1591,7433,1459,5400,1508,7434,7432,1378, + 7428,7429,7430,5378,365,7412,7412,7412,7412,7412, + 7412,7412,7876,7877,7412,7907,7908,748,7885,714, + 748,3834,3990,3990,7412,7412,7412,7412,7412,7412, + 7304,7412,7412,7412,7412,7412,7412,7412,7887,7412, + 979,7412,7412,7412,7909,1755,1799,7888,7412,7886, + 7412,7412,7412,3768,3734,7412,7412,7412,7412,7412, + 7412,3701,3622,7898,7897,7412,7910,7412,7879,7880, + 7903,7904,7901,7902,7881,7883,7905,7906,7412,7412, + 7412,7412,7412,7412,7911,7412,7891,7892,7893,7889, + 7890,7899,7900,7895,7894,7896,7412,6577,6574,7412, + 7450,893,766,834,7412,7412,7412,7412,7412,710, + 8020,8021,7678,7676,7685,7684,7680,7681,7679,7682, + 7683,7686,7677,5334,7751,7752,8022,7673,7667,7674, + 7670,7646,7672,7671,7668,7669,7647,7412,7412,7412, + 7412,7412,7412,7412,7813,7412,7412,7412,7412,242, + 7006,7002,7412,7010,6927,6921,6924,7412,7412,673, + 7814,7815,710,6999,6996,6987,6993,6966,6969,6981, + 6978,6984,6975,6972,6963,6990,5334,6936,6933,6930, + 6942,6960,6939,6951,6918,6945,6948,6957,6954,6915, + 7412,7412,7412,7412,7412,7412,7412,7813,29,390, + 390,7250,390,390,390,390,390,390,7250,7250, + 7250,7412,673,7814,7815,7412,7412,7412,7412,7412, + 7412,7412,7412,7412,7412,7412,390,390,390,390, + 390,390,390,390,390,390,390,390,390,7250, + 7412,7412,7412,32,391,391,7247,391,391,391, + 391,391,391,7247,7247,7247,7412,7412,7412,7412, + 7412,7412,7412,7412,7412,7412,7412,7040,7412,7250, + 7250,391,391,391,391,391,391,391,391,391, + 391,391,391,391,7247,7412,7412,7412,579,590, + 590,590,590,590,590,590,590,590,7289,7289, + 7289,7412,7412,7412,7412,7412,127,7412,7412,7412, + 7412,7412,7412,7412,7247,7247,590,590,590,590, + 590,590,590,590,590,590,590,590,590,7289, + 7412,7412,7412,580,591,591,591,591,591,591, + 591,591,591,7355,7355,7355,7412,7412,7412,7412, + 7412,7412,7412,7412,7412,7412,7412,7412,7412,590, + 7289,591,591,591,591,591,591,591,591,591, + 591,591,591,591,7355,3834,7412,7412,7412,7412, + 7412,7412,7412,7412,7307,7412,7412,7412,7412,7412, + 7412,7412,7412,7412,7412,7412,7412,7412,7412,7412, + 7412,7412,7412,7412,591,7355,7412,3768,3734,7412, + 7412,7412,7412,7412,7412,3701,3622 }; }; public final static char termAction[] = TermAction.termAction; @@ -2398,69 +2400,69 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym public interface Asb { public final static char asb[] = {0, - 1268,1,1259,125,71,1306,234,234,234,1215, - 117,14,1267,106,940,1213,1016,1213,1213,1213, - 1029,284,1029,11,1029,22,1029,1029,106,943, - 1029,1010,901,120,1306,1089,1162,1029,1029,31, - 943,1029,943,1213,236,185,185,960,185,128, + 1266,1,1257,125,71,1304,234,234,234,1213, + 117,14,1265,106,940,1211,1014,1211,1211,1211, + 1027,284,1027,11,1027,22,1027,1027,106,943, + 1027,1008,901,120,1304,1087,1160,1027,1027,31, + 943,1027,943,1211,236,185,185,958,185,128, 284,16,370,16,943,941,493,570,489,676, 180,13,231,11,282,106,22,287,943,943, 232,108,901,901,901,901,901,901,901,901, - 901,901,1101,1164,901,1213,236,236,236,236, - 106,1213,1029,515,515,808,710,354,354,1092, - 692,807,1089,1089,943,1317,490,287,287,1029, - 432,490,1029,1029,236,1029,943,174,968,196, + 901,901,1099,1162,901,1211,236,236,236,236, + 106,1211,1027,515,515,808,710,354,354,1090, + 692,807,1087,1087,943,1315,490,287,287,1027, + 432,490,1027,1027,236,1027,943,174,966,196, 185,185,184,184,284,106,943,941,522,504, 521,382,489,569,490,180,943,512,678,510, - 232,284,526,943,287,232,943,170,1101,1101, - 1101,1101,490,490,490,861,723,880,1169,70, - 174,1029,880,71,71,71,71,943,445,110, - 110,445,900,515,284,106,710,388,1089,1029, - 943,900,1121,1089,710,170,1029,1029,287,287, - 1092,432,432,941,968,196,184,184,184,943, + 232,284,526,943,287,232,943,170,1099,1099, + 1099,1099,490,490,490,861,723,880,1167,70, + 174,1027,880,71,71,71,71,943,445,110, + 110,445,900,515,284,106,710,388,1087,1027, + 943,900,1119,1087,710,170,1027,1027,287,287, + 1090,432,432,941,966,196,184,184,184,943, 808,808,493,808,351,676,734,733,488,529, - 943,180,623,14,236,939,1320,180,512,511, - 515,512,515,232,526,526,943,960,765,770, + 943,180,623,14,236,939,1318,180,512,511, + 515,512,515,232,526,526,943,958,765,770, 767,774,772,781,779,783,782,784,435,785, - 959,943,108,943,490,490,490,490,862,1092, - 964,362,361,519,532,1035,1035,106,1164,901, - 432,70,900,490,490,960,960,960,960,232, + 957,943,108,943,490,490,490,490,862,1090, + 962,362,361,519,532,1033,1033,106,1162,901, + 432,70,900,490,490,958,958,958,958,232, 490,900,940,942,940,490,432,284,574,943, - 1213,432,798,1089,1096,490,529,284,1089,710, - 1099,1029,960,960,1029,490,366,719,365,959, + 1211,432,798,1087,1094,490,529,284,1087,710, + 1097,1027,958,958,1027,490,366,719,365,957, 236,498,498,529,529,184,943,944,490,382, - 490,444,490,490,174,1322,515,515,515,515, + 490,444,490,490,174,1320,515,515,515,515, 943,526,528,625,528,901,901,901,901,901, 901,901,901,901,901,901,901,901,901,901, 901,901,901,901,901,901,900,900,900,900, 900,900,900,900,900,900,900,578,901,880, - 170,901,861,623,901,623,808,860,1213,1213, - 1213,862,1213,943,630,808,808,943,284,723, - 490,966,968,900,943,174,1039,1101,901,71, - 1029,1029,490,1213,1213,1213,1213,943,943,943, - 942,174,698,106,943,445,529,1121,1029,1029, - 700,900,363,363,962,1092,811,196,185,196, - 958,958,529,808,490,734,941,807,901,623, - 711,686,804,1322,515,515,3,528,529,901, + 170,901,861,623,901,623,808,860,1211,1211, + 1211,862,1211,943,630,808,808,943,284,723, + 490,964,966,900,943,174,1037,1099,901,71, + 1027,1027,490,1211,1211,1211,1211,943,943,943, + 942,174,698,106,943,445,529,1119,1027,1027, + 700,900,363,363,960,1090,811,196,185,196, + 956,956,529,808,490,734,941,807,901,623, + 711,686,804,1320,515,515,3,528,529,901, 943,767,767,765,765,765,772,772,772,772, 772,772,770,770,779,774,774,782,781,783, 623,623,784,851,862,623,946,862,880,880, - 878,949,880,808,808,717,698,490,968,232, - 941,490,490,1029,1092,900,900,900,900,1213, - 1213,108,943,941,698,490,1121,1029,738,700, - 900,900,966,719,196,71,71,444,808,1322, - 901,901,804,804,1322,1322,574,105,4,943, - 529,900,900,862,901,862,490,1089,490,878, - 1306,1213,490,698,951,490,943,1039,1029,1029, - 1029,900,1029,490,490,490,490,445,445,178, - 1029,108,852,1213,528,1029,703,959,804,804, - 3,943,106,106,943,862,717,862,808,1306, - 900,862,859,951,951,1072,1029,445,901,432, - 490,490,178,811,377,238,703,1008,943,943, - 943,900,860,445,808,490,954,951,1029,490, - 432,490,490,1086,377,377,1213,498,943,943, - 862,490,808,954,954,284,284,1088,969,958, - 862,954,734,940,71 + 878,860,880,808,808,717,859,490,966,232, + 941,490,490,1027,1090,900,900,900,900,1211, + 1211,108,943,941,698,490,1119,1027,738,700, + 900,900,964,719,196,71,71,444,808,1320, + 901,901,804,804,1320,1320,574,105,4,943, + 529,900,900,862,901,862,490,1087,490,878, + 1304,1211,490,698,949,490,943,1037,1027,1027, + 1027,900,1027,490,490,490,490,445,445,178, + 1027,108,852,1211,528,1027,703,957,804,804, + 3,943,106,106,943,862,717,862,808,1304, + 900,862,859,949,949,1070,1027,445,901,432, + 490,490,178,811,377,238,703,1006,943,943, + 943,900,860,445,808,490,952,949,1027,490, + 432,490,490,1084,377,377,1211,498,943,943, + 862,490,808,952,952,284,284,1086,967,956, + 862,952,734,940,71 }; }; public final static char asb[] = Asb.asb; @@ -2468,13 +2470,13 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym public interface Asr { public final static char asr[] = {0, - 129,0,31,1,2,4,111,112,113,0, + 129,0,31,1,2,4,112,113,114,0, 45,4,74,1,2,11,73,6,7,5, 0,4,11,73,6,7,5,1,2,0, 77,76,43,44,10,99,100,105,12,106, - 8,49,80,69,78,119,120,116,117,118, - 124,123,125,95,94,121,122,103,104,101, - 102,107,108,46,47,75,97,114,71,3, + 8,49,80,69,78,120,121,117,118,119, + 125,124,126,95,94,122,123,103,104,101, + 102,107,108,46,47,75,97,115,71,3, 27,13,63,48,64,65,14,15,17,26, 16,22,20,21,23,24,19,18,25,32, 38,39,34,37,36,33,28,29,30,5, @@ -2485,8 +2487,8 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym 19,35,36,20,21,37,66,38,22,23, 39,64,40,13,65,24,67,31,25,29, 26,3,12,4,41,27,68,73,11,5, - 10,6,7,9,45,1,2,8,0,111, - 112,113,74,81,9,11,3,12,10,8, + 10,6,7,9,45,1,2,8,0,112, + 113,114,74,81,9,11,3,12,10,8, 41,68,66,88,67,14,15,30,5,32, 16,17,48,28,18,63,33,34,19,35, 36,20,21,37,38,22,23,39,64,40, @@ -2511,7 +2513,7 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym 20,21,23,24,19,18,25,14,15,59, 60,61,42,57,52,56,8,9,4,46, 47,12,10,43,44,49,54,62,27,1, - 2,126,11,0,5,78,74,96,126,81, + 2,127,11,0,5,78,74,96,127,81, 41,6,7,75,14,15,16,17,50,76, 18,51,52,19,20,21,77,9,53,22, 23,54,55,56,70,57,58,13,24,25, @@ -2519,7 +2521,7 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym 43,44,8,49,4,27,62,42,1,72, 11,0,11,74,72,42,0,78,80,75, 1,2,0,11,74,75,72,3,0,4, - 69,6,7,5,11,74,73,0,126,41, + 69,6,7,5,11,74,73,0,127,41, 75,72,11,74,0,1,2,75,81,11, 0,14,15,30,5,32,16,17,28,18, 33,34,19,35,36,20,21,37,9,38, @@ -2537,23 +2539,23 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym 2,3,46,47,12,10,43,44,8,49, 4,27,62,41,11,42,0,4,11,74, 73,6,7,5,0,74,5,71,6,7, - 69,11,75,41,80,3,0,127,0,30, + 69,11,75,41,80,3,0,111,0,30, 28,29,70,79,78,74,96,72,73,3, 5,11,75,41,6,7,80,0,96,9, 8,80,78,5,1,2,12,10,4,6, 7,71,3,72,11,75,0,32,33,34, 35,36,37,9,38,39,70,79,40,31, - 1,2,71,3,128,114,46,47,8,4, + 1,2,71,3,128,115,46,47,8,4, 73,28,29,30,98,97,10,99,100,43, 44,95,94,69,101,102,109,110,103,104, - 12,105,106,107,78,72,80,116,117,118, - 119,120,121,122,123,124,125,74,96,126, - 81,108,115,6,7,5,75,41,11,0, + 12,105,106,107,78,72,80,117,118,119, + 120,121,122,123,124,125,126,74,96,127, + 81,108,116,6,7,5,75,41,11,0, 14,15,30,5,32,16,17,48,28,18, 63,33,34,19,35,36,20,21,37,38, 22,23,39,64,40,13,65,24,31,25, 29,26,1,2,4,27,6,7,96,0, - 72,88,111,112,113,45,74,129,127,130, + 72,88,112,113,114,45,74,129,111,130, 81,68,79,67,66,83,85,92,90,82, 87,89,91,93,73,84,86,41,11,63, 48,64,65,32,38,39,34,37,36,31, @@ -2562,46 +2564,46 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym 22,20,21,23,24,19,18,25,14,15, 59,60,61,42,57,52,56,3,46,47, 12,10,43,44,49,54,62,27,13,4, - 9,8,2,1,0,74,96,0,82,0, - 30,28,29,70,11,96,72,80,75,78, - 0,8,9,3,71,10,12,96,14,15, - 30,5,32,16,17,28,18,63,33,34, - 19,35,36,20,21,37,38,22,23,39, - 64,40,13,65,24,31,25,29,26,1, - 2,4,27,6,7,72,11,48,0,27, - 13,63,48,64,65,17,26,16,22,20, - 21,23,24,19,18,25,14,15,79,74, - 96,126,81,73,128,114,46,47,98,97, - 43,44,99,100,94,95,69,78,101,102, - 103,104,105,106,107,108,115,80,116,117, - 118,119,120,121,122,123,124,125,75,109, - 110,30,32,28,33,34,35,36,37,38, - 39,40,31,29,41,11,72,71,8,9, - 3,12,1,2,4,6,7,5,10,0, - 30,5,32,48,28,63,33,34,35,36, - 37,38,39,64,40,65,31,29,6,7, - 70,46,47,12,10,43,44,49,54,62, - 27,3,4,59,60,61,42,57,52,56, - 14,15,17,26,16,22,20,21,23,24, - 19,18,25,13,51,55,53,50,58,73, - 11,9,8,1,2,77,76,0,76,77, - 46,47,12,10,43,44,8,49,54,62, - 27,4,9,59,60,61,42,57,52,56, - 14,15,17,26,16,22,20,21,23,24, - 19,18,25,13,51,55,53,50,58,71, - 1,2,3,0,17,48,28,18,63,33, - 19,35,20,21,37,38,22,23,64,40, - 65,24,31,25,29,26,16,32,30,27, - 15,14,11,3,12,10,41,67,88,34, - 39,36,68,69,6,7,5,45,9,1, - 2,8,4,13,66,0,81,14,15,30, - 32,16,17,48,28,18,63,33,19,35, - 20,21,37,38,22,23,64,40,13,65, - 24,31,25,29,26,27,129,68,66,34, - 39,36,88,67,45,5,11,41,6,7, - 8,9,1,2,4,3,10,12,0,41, - 11,3,9,8,74,12,10,4,1,2, - 6,7,5,0 + 9,8,2,1,0,74,96,0,30,28, + 29,70,11,96,72,80,75,78,0,8, + 9,3,71,10,12,96,14,15,30,5, + 32,16,17,28,18,63,33,34,19,35, + 36,20,21,37,38,22,23,39,64,40, + 13,65,24,31,25,29,26,1,2,4, + 27,6,7,72,11,48,0,27,13,63, + 48,64,65,17,26,16,22,20,21,23, + 24,19,18,25,14,15,79,74,96,127, + 81,73,128,115,46,47,98,97,43,44, + 99,100,94,95,69,78,101,102,103,104, + 105,106,107,108,116,80,117,118,119,120, + 121,122,123,124,125,126,75,109,110,30, + 32,28,33,34,35,36,37,38,39,40, + 31,29,41,11,72,71,8,9,3,12, + 1,2,4,6,7,5,10,0,30,5, + 32,48,28,63,33,34,35,36,37,38, + 39,64,40,65,31,29,6,7,70,46, + 47,12,10,43,44,49,54,62,27,3, + 4,59,60,61,42,57,52,56,14,15, + 17,26,16,22,20,21,23,24,19,18, + 25,13,51,55,53,50,58,73,11,9, + 8,1,2,77,76,0,76,77,46,47, + 12,10,43,44,8,49,54,62,27,4, + 9,59,60,61,42,57,52,56,14,15, + 17,26,16,22,20,21,23,24,19,18, + 25,13,51,55,53,50,58,71,1,2, + 3,0,17,48,28,18,63,33,19,35, + 20,21,37,38,22,23,64,40,65,24, + 31,25,29,26,16,32,30,27,15,14, + 11,3,12,10,41,67,88,34,39,36, + 68,69,6,7,5,45,9,1,2,8, + 4,13,66,0,81,14,15,30,32,16, + 17,48,28,18,63,33,19,35,20,21, + 37,38,22,23,64,40,13,65,24,31, + 25,29,26,27,129,68,66,34,39,36, + 88,67,45,5,11,41,6,7,8,9, + 1,2,4,3,10,12,0,41,11,3, + 9,8,74,12,10,4,1,2,6,7, + 5,0 }; }; public final static char asr[] = Asr.asr; @@ -2729,8 +2731,8 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym 124,113,54,55,61,62,64,70,74,76, 77,90,97,17,18,32,6,4,15,16, 21,22,23,24,25,26,27,28,45,46, - 85,86,87,5,29,34,35,36,37,38, - 39,40,41,42,43,122,56,3,132,67, + 56,85,86,87,5,29,34,35,36,37, + 38,39,40,41,42,43,122,3,132,67, 121 }; }; @@ -2835,17 +2837,17 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym public interface ScopeLa { public final static char scopeLa[] = { - 127,81,72,72,81,81,72,72,72,72, + 111,81,72,72,81,81,72,72,72,72, 72,81,41,81,1,78,1,72,130,73, 3,72,78,78,78,1,1,41,81,73, 1,1,1,72,81,1,1,4,78,75, 41,1,1,78,72,72,1,72,72,72, - 72,72,127,72,1,41,1,41,41,81, - 126,72,72,72,72,72,126,1,72,1, + 72,72,111,72,1,41,1,41,41,81, + 127,72,72,72,72,72,127,1,72,1, 72,72,72,74,4,1,1,10,73,72, 78,78,78,78,72,3,6,6,72,1, - 1,72,72,3,1,126,72,1,1,1, - 41,72,126,72,8,72,6,74,1,45, + 1,72,72,3,1,127,72,1,1,1, + 41,72,127,72,8,72,6,74,1,45, 80,74,72,1,1,73,45,1,1,73, 82,79,1,1,1,27,41,1,63,48, 48,41,4,4,1,1,96,12,4,4, @@ -2886,7 +2888,7 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym 260,0,226,0,32,165,0,351,84,0, 30,179,0,192,3,0,193,3,62,0, 347,3,316,0,346,3,3,6,0,134, - 134,0,345,3,70,0,344,3,127,0, + 134,0,345,3,70,0,344,3,111,0, 134,180,0,135,192,79,0,224,0,273, 135,69,133,0,20,0,314,135,69,45, 0,20,58,0,33,140,0,20,58,0, @@ -2936,7 +2938,7 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym 180,0,183,33,177,0,240,3,93,0, 210,161,240,3,91,0,67,179,0,240, 3,91,0,134,179,67,179,0,326,135, - 176,0,175,0,226,84,0,175,115,172, + 176,0,175,0,226,84,0,175,116,172, 0,30,177,0,193,3,0,134,157,0, 233,3,0,226,71,286,0,175,71,0, 193,3,322,77,136,0,134,0,0,0, @@ -2963,47 +2965,47 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym public interface ScopeState { public final static char scopeState[] = {0, - 2378,2140,1407,0,1383,682,0,2158,1234,2765, - 907,0,1748,952,0,4153,6342,4325,4282,0, - 2427,656,0,2203,0,4506,4386,4343,4300,4257, - 4214,4171,4128,4085,4042,3855,3530,5445,0,5606, - 4177,4052,0,1507,743,0,903,716,0,1156, - 0,1756,823,0,736,1302,0,1071,0,1854, - 1717,1377,1237,667,6094,4448,3917,3592,1458,3442, - 0,3545,3012,6265,2926,3512,3488,6241,6235,6205, - 6185,5030,4506,4386,4343,4300,4257,4214,4171,4128, - 4085,4042,3855,3530,0,3147,3259,2724,0,6336, - 6328,6316,6304,5830,5791,6291,6272,6199,5752,6055, - 3643,3484,5621,5484,4995,3244,2844,3164,4830,4826, - 3822,3429,0,667,5592,5983,4712,4616,1178,4448, - 3147,3990,3917,3592,4841,3259,4813,2950,2724,3499, - 3450,3401,2909,0,5983,1178,0,4568,612,2837, - 0,3255,3092,6336,6328,2943,2852,6316,2322,6304, - 2197,2129,2030,2469,2899,5830,2001,5791,1952,6291, - 6272,6199,2694,1932,5752,6055,3643,3484,1396,5621, - 5484,1033,2226,4995,3244,883,2844,3164,4830,4826, - 3822,663,4568,3429,2837,2883,2752,1446,1287,1055, - 4448,3147,3990,3499,3450,667,3401,3917,2909,3592, - 4841,5592,2865,2767,5983,3259,4712,903,716,4813, - 4616,2950,2724,1178,5570,5398,5376,5354,5332,5309, - 5286,2797,3030,3110,3069,3367,3332,3220,4019,3948, - 3832,3799,3766,3732,3699,3620,4962,4938,4914,4783, - 4472,5263,5240,5217,5194,5171,5142,5119,5096,5004, - 4748,3183,2397,2671,2628,2348,2299,2580,2537,1513, - 1463,1403,2489,2446,1353,2246,2203,990,2154,2105, - 2056,2007,1958,1909,1860,1811,1762,1713,1664,1244, - 1304,1610,927,840,1565,612,777,1129,1077,1191, - 0,3147,3390,4747,3499,4701,2757,3450,3401,3868, - 5885,2536,4841,5734,5592,1609,3862,3654,4497,5691, - 5612,4834,3647,3259,1402,1274,612,3250,2983,4813, - 3136,1128,1076,1016,3397,4568,4507,2898,671,2627, - 662,954,804,3467,2716,2837,4044,667,6066,3289, - 6191,6013,6094,2909,4664,6141,6077,4712,4616,4607, - 2724,0,5450,6000,4506,4386,4343,4300,4257,4214, - 4171,4128,4085,4042,3855,3530,5923,5611,5459,5420, - 5884,5845,5806,5767,5728,5689,5650,4985,0,5923, - 5611,5459,5420,5884,5845,5806,5767,5728,5689,5650, - 4985,5450,6000,0 + 2380,2142,1409,0,1385,684,0,2160,1236,2767, + 909,0,1750,954,0,4155,6344,4327,4284,0, + 2429,658,0,2205,0,4508,4388,4345,4302,4259, + 4216,4173,4130,4087,4044,3857,3532,5447,0,5608, + 4179,4054,0,1509,745,0,905,718,0,1158, + 0,1758,825,0,738,1304,0,1073,0,1856, + 1719,1379,1239,669,6096,4450,3919,3594,1460,3444, + 0,3547,3014,6267,2928,3514,3490,6243,6237,6207, + 6187,5032,4508,4388,4345,4302,4259,4216,4173,4130, + 4087,4044,3857,3532,0,3149,3261,2726,0,6338, + 6330,6318,6306,5832,5793,6293,6274,6201,5754,6057, + 3645,3486,5623,5486,4997,3246,2846,3166,4832,4828, + 3824,3431,0,669,5594,5985,4714,4618,1180,4450, + 3149,3992,3919,3594,4843,3261,4815,2952,2726,3501, + 3452,3403,2911,0,5985,1180,0,4570,614,2839, + 0,3257,3094,6338,6330,2945,2854,6318,2324,6306, + 2199,2131,2032,2471,2901,5832,2003,5793,1954,6293, + 6274,6201,2696,1934,5754,6057,3645,3486,1398,5623, + 5486,1035,2228,4997,3246,885,2846,3166,4832,4828, + 3824,665,4570,3431,2839,2885,2754,1448,1289,1057, + 4450,3149,3992,3501,3452,669,3403,3919,2911,3594, + 4843,5594,2867,2769,5985,3261,4714,905,718,4815, + 4618,2952,2726,1180,5572,5400,5378,5356,5334,5311, + 5288,2799,3032,3112,3071,3369,3334,3222,4021,3950, + 3834,3801,3768,3734,3701,3622,4964,4940,4916,4785, + 4474,5265,5242,5219,5196,5173,5144,5121,5098,5006, + 4750,3185,2399,2673,2630,2350,2301,2582,2539,1515, + 1465,1405,2491,2448,1355,2248,2205,992,2156,2107, + 2058,2009,1960,1911,1862,1813,1764,1715,1666,1246, + 1306,1612,929,842,1567,614,779,1131,1079,1193, + 0,3149,3392,4749,3501,4703,2759,3452,3403,3870, + 5887,2538,4843,5736,5594,1611,3864,3656,4499,5693, + 5614,4836,3649,3261,1404,1276,614,3252,2985,4815, + 3138,1130,1078,1018,3399,4570,4509,2900,673,2629, + 664,956,806,3469,2718,2839,4046,669,6068,3291, + 6193,6015,6096,2911,4666,6143,6079,4714,4618,4609, + 2726,0,5452,6002,4508,4388,4345,4302,4259,4216, + 4173,4130,4087,4044,3857,3532,5925,5613,5461,5422, + 5886,5847,5808,5769,5730,5691,5652,4987,0,5925, + 5613,5461,5422,5886,5847,5808,5769,5730,5691,5652, + 4987,5452,6002,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -3027,7 +3029,7 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym 278,3,348,1,42,135,191,246,134,133, 136,132,176,136,135,191,45,4,3,3, 3,3,193,192,175,176,180,135,76,77, - 191,134,3,69,69,69,69,136,3,114, + 191,134,3,69,69,69,69,136,3,115, 128,3,71,135,303,74,171,71,227,171, 136,3,80,75,203,191,12,10,135,135, 135,71,71,209,135,135,135,135,176,136, @@ -3045,8 +3047,8 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym 161,3,42,1,191,135,247,247,135,135, 209,135,298,132,299,97,98,44,43,100, 99,10,110,109,102,101,78,69,94,95, - 12,104,103,106,105,107,125,124,123,122, - 121,120,119,118,117,116,80,115,108,75, + 12,104,103,106,105,107,126,125,124,123, + 122,121,120,119,118,117,80,116,108,75, 4,161,326,86,84,1,175,11,93,91, 89,87,82,90,92,85,83,66,79,227, 237,135,3,75,136,191,150,3,222,3, @@ -3066,7 +3068,7 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym 297,74,74,74,96,74,240,180,240,328, 154,82,240,135,161,243,209,161,161,283, 286,71,201,175,175,175,175,3,3,4, - 132,134,305,127,333,135,235,314,249,171, + 132,134,305,111,333,135,235,314,249,171, 75,136,31,340,200,161,203,161,327,135, 3,161,305,135,161,134,135,3,71,175, 233,233,4,3,220,75,135,78,200,136, @@ -3368,18 +3370,18 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym public final static int NUM_STATES = 625, NT_OFFSET = 131, - LA_STATE_OFFSET = 8018, + LA_STATE_OFFSET = 8025, MAX_LA = 2147483647, - NUM_RULES = 611, + NUM_RULES = 613, NUM_NONTERMINALS = 223, NUM_SYMBOLS = 354, SEGMENT_SIZE = 8192, - START_STATE = 4985, + START_STATE = 4987, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 129, EOLT_SYMBOL = 129, - ACCEPT_ACTION = 6561, - ERROR_ACTION = 7407; + ACCEPT_ACTION = 6563, + ERROR_ACTION = 7412; 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 258c12f3c38..73c61ec4bbe 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 @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 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 @@ -23,7 +23,7 @@ public interface GPPParsersym { TK_bool = 16, TK_break = 83, TK_case = 84, - TK_catch = 127, + TK_catch = 111, TK_char = 17, TK_class = 48, TK_const = 28, @@ -52,9 +52,9 @@ public interface GPPParsersym { TK_namespace = 66, TK_new = 77, TK_operator = 9, - TK_private = 111, - TK_protected = 112, - TK_public = 113, + TK_private = 112, + TK_protected = 113, + TK_public = 114, TK_register = 38, TK_reinterpret_cast = 53, TK_return = 92, @@ -93,7 +93,7 @@ public interface GPPParsersym { TK_LeftParen = 3, TK_Dot = 128, TK_DotStar = 98, - TK_Arrow = 114, + TK_Arrow = 115, TK_ArrowStar = 97, TK_PlusPlus = 46, TK_MinusMinus = 47, @@ -117,23 +117,23 @@ public interface GPPParsersym { TK_Or = 106, TK_AndAnd = 107, TK_OrOr = 108, - TK_Question = 115, + TK_Question = 116, TK_Colon = 74, TK_ColonColon = 4, TK_DotDotDot = 96, TK_Assign = 80, - TK_StarAssign = 116, - TK_SlashAssign = 117, - TK_PercentAssign = 118, - TK_PlusAssign = 119, - TK_MinusAssign = 120, - TK_RightShiftAssign = 121, - TK_LeftShiftAssign = 122, - TK_AndAssign = 123, - TK_CaretAssign = 124, - TK_OrAssign = 125, + TK_StarAssign = 117, + TK_SlashAssign = 118, + TK_PercentAssign = 119, + TK_PlusAssign = 120, + TK_MinusAssign = 121, + TK_RightShiftAssign = 122, + TK_LeftShiftAssign = 123, + TK_AndAssign = 124, + TK_CaretAssign = 125, + TK_OrAssign = 126, TK_Comma = 75, - TK_RightBracket = 126, + TK_RightBracket = 127, TK_RightParen = 72, TK_RightBrace = 81, TK_SemiColon = 41, @@ -259,6 +259,7 @@ public interface GPPParsersym { "OrOr", "MAX", "MIN", + "catch", "private", "protected", "public", @@ -275,7 +276,6 @@ public interface GPPParsersym { "CaretAssign", "OrAssign", "RightBracket", - "catch", "Dot", "EOF_TOKEN", "else", 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 76c4c18b227..fafe1757b68 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 @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 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 @@ -1003,1039 +1003,1051 @@ private GNUBuildASTParserAction gnuAction; // // Rule 191: iteration_statement ::= do statement while ( expression ) ; // - case 191: { action. consumeStatementDoLoop(); break; + case 191: { action. consumeStatementDoLoop(true); break; } // - // Rule 192: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement + // Rule 192: iteration_statement ::= do statement // - case 192: { action. consumeStatementForLoop(); break; + case 192: { action. consumeStatementDoLoop(false); break; } // - // Rule 194: for_init_statement ::= simple_declaration_with_declspec + // Rule 193: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement // - case 194: { action. consumeStatementDeclaration(); break; + case 193: { action. consumeStatementForLoop(); break; } // - // Rule 195: jump_statement ::= break ; + // Rule 195: for_init_statement ::= simple_declaration_with_declspec // - case 195: { action. consumeStatementBreak(); break; + case 195: { action. consumeStatementDeclaration(); break; } // - // Rule 196: jump_statement ::= continue ; + // Rule 196: jump_statement ::= break ; // - case 196: { action. consumeStatementContinue(); break; + case 196: { action. consumeStatementBreak(); break; } // - // Rule 197: jump_statement ::= return expression ; + // Rule 197: jump_statement ::= continue ; // - case 197: { action. consumeStatementReturn(true); break; + case 197: { action. consumeStatementContinue(); break; } // - // Rule 198: jump_statement ::= return ; + // Rule 198: jump_statement ::= return expression ; // - case 198: { action. consumeStatementReturn(false); break; + case 198: { action. consumeStatementReturn(true); break; } // - // Rule 199: jump_statement ::= goto identifier_token ; + // Rule 199: jump_statement ::= return ; // - case 199: { action. consumeStatementGoto(); break; + case 199: { action. consumeStatementReturn(false); break; } // - // Rule 200: declaration_statement ::= block_declaration + // Rule 200: jump_statement ::= goto identifier_token ; // - case 200: { action. consumeStatementDeclarationWithDisambiguation(); break; + case 200: { action. consumeStatementGoto(); break; } // - // Rule 201: declaration_statement ::= function_definition + // Rule 201: declaration_statement ::= block_declaration // - case 201: { action. consumeStatementDeclaration(); break; + case 201: { action. consumeStatementDeclarationWithDisambiguation(); break; } // - // Rule 209: declaration ::= ERROR_TOKEN + // Rule 202: declaration_statement ::= function_definition // - case 209: { action. consumeDeclarationProblem(); break; + case 202: { action. consumeStatementDeclaration(); break; } // - // Rule 219: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ; + // Rule 210: declaration ::= ERROR_TOKEN // - case 219: { action. consumeDeclarationSimple(true); break; + case 210: { action. consumeDeclarationProblem(); break; } // - // Rule 220: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ; + // Rule 220: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ; // case 220: { action. consumeDeclarationSimple(true); break; } // - // Rule 221: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers + // Rule 221: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ; // - case 221: { action. consumeDeclarationSpecifiersSimple(); break; + case 221: { action. consumeDeclarationSimple(true); break; } // - // Rule 222: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers + // Rule 222: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers // - case 222: { action. consumeDeclarationSpecifiersComposite(); break; + case 222: { action. consumeDeclarationSpecifiersSimple(); break; } // - // Rule 223: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers + // Rule 223: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers // case 223: { action. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 224: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers + // Rule 224: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers // case 224: { action. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 225: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers + // Rule 225: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers // - case 225: { action. consumeDeclarationSpecifiersTypeName(); break; + case 225: { action. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 227: declaration_specifiers_opt ::= $Empty + // Rule 226: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers // - case 227: { action. consumeEmpty(); break; + case 226: { action. consumeDeclarationSpecifiersTypeName(); break; } // - // Rule 231: no_type_declaration_specifier ::= friend + // Rule 228: declaration_specifiers_opt ::= $Empty // - case 231: { action. consumeToken(); break; + case 228: { action. consumeEmpty(); break; } // - // Rule 232: no_type_declaration_specifier ::= typedef + // Rule 232: no_type_declaration_specifier ::= friend // case 232: { action. consumeToken(); break; } // - // Rule 252: storage_class_specifier ::= auto + // Rule 233: no_type_declaration_specifier ::= typedef // - case 252: { action. consumeToken(); break; + case 233: { action. consumeToken(); break; } // - // Rule 253: storage_class_specifier ::= register + // Rule 253: storage_class_specifier ::= auto // case 253: { action. consumeToken(); break; } // - // Rule 254: storage_class_specifier ::= static + // Rule 254: storage_class_specifier ::= register // case 254: { action. consumeToken(); break; } // - // Rule 255: storage_class_specifier ::= extern + // Rule 255: storage_class_specifier ::= static // case 255: { action. consumeToken(); break; } // - // Rule 256: storage_class_specifier ::= mutable + // Rule 256: storage_class_specifier ::= extern // case 256: { action. consumeToken(); break; } // - // Rule 257: function_specifier ::= inline + // Rule 257: storage_class_specifier ::= mutable // case 257: { action. consumeToken(); break; } // - // Rule 258: function_specifier ::= virtual + // Rule 258: function_specifier ::= inline // case 258: { action. consumeToken(); break; } // - // Rule 259: function_specifier ::= explicit + // Rule 259: function_specifier ::= virtual // case 259: { action. consumeToken(); break; } // - // Rule 260: simple_type_specifier ::= simple_type_specifier_token + // Rule 260: function_specifier ::= explicit // case 260: { action. consumeToken(); break; } // - // Rule 274: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name + // Rule 261: simple_type_specifier ::= simple_type_specifier_token // - case 274: { action. consumeQualifiedId(false); break; + case 261: { action. consumeToken(); break; } // - // Rule 275: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name + // Rule 275: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name // case 275: { action. consumeQualifiedId(false); break; } // - // Rule 276: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name + // Rule 276: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name // case 276: { action. consumeQualifiedId(false); break; } // - // Rule 277: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name + // Rule 277: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name // - case 277: { action. consumeQualifiedId(true); break; + case 277: { action. consumeQualifiedId(false); break; } // - // Rule 279: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name + // Rule 278: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name // - case 279: { action. consumeTypeSpecifierElaborated(false); break; + case 278: { action. consumeQualifiedId(true); break; } // - // Rule 280: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt template_opt template_id_name + // Rule 280: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name // - case 280: { action. consumeTypeSpecifierElaborated(true); break; + case 280: { action. consumeTypeSpecifierElaborated(false); break; } // - // Rule 281: elaborated_type_specifier ::= enum elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name + // Rule 281: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt template_opt template_id_name // - case 281: { action. consumeTypeSpecifierElaborated(false); break; + case 281: { action. consumeTypeSpecifierElaborated(true); break; } // - // Rule 285: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 282: elaborated_type_specifier ::= enum elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name // - case 285: { action. consumeTypeSpecifierEnumeration(false); break; + case 282: { action. consumeTypeSpecifierElaborated(false); break; } // - // Rule 286: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 286: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } // - case 286: { action. consumeTypeSpecifierEnumeration(true); break; + case 286: { action. consumeTypeSpecifierEnumeration(false); break; } // - // Rule 292: enumerator_definition ::= identifier_token + // Rule 287: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } // - case 292: { action. consumeEnumerator(false); break; + case 287: { action. consumeTypeSpecifierEnumeration(true); break; } // - // Rule 293: enumerator_definition ::= identifier_token = constant_expression + // Rule 293: enumerator_definition ::= identifier_token // - case 293: { action. consumeEnumerator(true); break; + case 293: { action. consumeEnumerator(false); break; } // - // Rule 295: namespace_definition ::= namespace namespace_name namespace_definition_hook { <openscope-ast> declaration_seq_opt } + // Rule 294: enumerator_definition ::= identifier_token = constant_expression // - case 295: { action. consumeNamespaceDefinition(true); break; + case 294: { action. consumeEnumerator(true); break; } // - // Rule 296: namespace_definition ::= namespace namespace_definition_hook { <openscope-ast> declaration_seq_opt } + // Rule 296: namespace_definition ::= namespace namespace_name namespace_definition_hook { <openscope-ast> declaration_seq_opt } // - case 296: { action. consumeNamespaceDefinition(false); break; + case 296: { action. consumeNamespaceDefinition(true); break; } // - // Rule 298: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 297: namespace_definition ::= namespace namespace_definition_hook { <openscope-ast> declaration_seq_opt } // - case 298: { action. consumeNamespaceAliasDefinition(); break; + case 297: { action. consumeNamespaceDefinition(false); break; } // - // Rule 299: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; + // Rule 299: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ; // - case 299: { action. consumeUsingDeclaration(); break; + case 299: { action. consumeNamespaceAliasDefinition(); break; } // - // Rule 300: typename_opt ::= typename + // Rule 300: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; // - case 300: { action. consumePlaceHolder(); break; + case 300: { action. consumeUsingDeclaration(); break; } // - // Rule 301: typename_opt ::= $Empty + // Rule 301: typename_opt ::= typename // - case 301: { action. consumeEmpty(); break; + case 301: { action. consumePlaceHolder(); break; } // - // Rule 302: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 302: typename_opt ::= $Empty // - case 302: { action. consumeUsingDirective(); break; + case 302: { action. consumeEmpty(); break; } // - // Rule 303: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt } + // Rule 303: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; // - case 303: { action. consumeLinkageSpecification(); break; + case 303: { action. consumeUsingDirective(); break; } // - // Rule 304: linkage_specification ::= extern stringlit <openscope-ast> declaration + // Rule 304: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt } // case 304: { action. consumeLinkageSpecification(); break; } // - // Rule 309: init_declarator_complete ::= init_declarator + // Rule 305: linkage_specification ::= extern stringlit <openscope-ast> declaration // - case 309: { action. consumeInitDeclaratorComplete(); break; + case 305: { action. consumeLinkageSpecification(); break; } // - // Rule 311: init_declarator ::= complete_declarator initializer + // Rule 310: init_declarator_complete ::= init_declarator // - case 311: { action. consumeDeclaratorWithInitializer(true); break; + case 310: { action. consumeInitDeclaratorComplete(); break; } // - // Rule 314: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator + // Rule 312: init_declarator ::= complete_declarator initializer // - case 314: { action. consumeDeclaratorWithPointer(true); break; + case 312: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 316: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator + // Rule 315: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator // - case 316: { action. consumeDeclaratorWithPointer(true); break; + case 315: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 320: basic_direct_declarator ::= declarator_id_name + // Rule 317: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator // - case 320: { action. consumeDirectDeclaratorIdentifier(); break; + case 317: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 321: basic_direct_declarator ::= ( declarator ) + // Rule 321: basic_direct_declarator ::= declarator_id_name // - case 321: { action. consumeDirectDeclaratorBracketed(); break; + case 321: { action. consumeDirectDeclaratorIdentifier(); 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: basic_direct_declarator ::= ( declarator ) // - case 322: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; + case 322: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 323: array_direct_declarator ::= array_direct_declarator array_modifier + // Rule 323: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 323: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 323: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 324: array_direct_declarator ::= basic_direct_declarator array_modifier + // Rule 324: array_direct_declarator ::= array_direct_declarator array_modifier // case 324: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 325: array_modifier ::= [ constant_expression ] + // Rule 325: array_direct_declarator ::= basic_direct_declarator array_modifier // - case 325: { action. consumeDirectDeclaratorArrayModifier(true); break; + case 325: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 326: array_modifier ::= [ ] + // Rule 326: array_modifier ::= [ constant_expression ] // - case 326: { action. consumeDirectDeclaratorArrayModifier(false); break; + case 326: { action. consumeDirectDeclaratorArrayModifier(true); break; } // - // Rule 327: ptr_operator ::= pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt + // Rule 327: array_modifier ::= [ ] // - case 327: { action. consumePointer(); break; + case 327: { action. consumeDirectDeclaratorArrayModifier(false); break; } // - // Rule 328: ptr_operator ::= pointer_hook & pointer_hook + // Rule 328: ptr_operator ::= pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt // - case 328: { action. consumeReferenceOperator(); break; + case 328: { action. consumePointer(); break; } // - // Rule 329: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt + // Rule 329: ptr_operator ::= pointer_hook & pointer_hook // - case 329: { action. consumePointerToMember(); break; + case 329: { action. consumeReferenceOperator(); break; } // - // Rule 336: cv_qualifier ::= const + // Rule 330: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt // - case 336: { action. consumeToken(); break; + case 330: { action. consumePointerToMember(); break; } // - // Rule 337: cv_qualifier ::= volatile + // Rule 337: cv_qualifier ::= const // case 337: { action. consumeToken(); break; } // - // Rule 339: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name + // Rule 338: cv_qualifier ::= volatile // - case 339: { action. consumeQualifiedId(false); break; + case 338: { action. consumeToken(); break; } // - // Rule 340: type_id ::= type_specifier_seq + // Rule 340: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name // - case 340: { action. consumeTypeId(false); break; + case 340: { action. consumeQualifiedId(false); break; } // - // Rule 341: type_id ::= type_specifier_seq abstract_declarator + // Rule 341: type_id ::= type_specifier_seq // - case 341: { action. consumeTypeId(true); break; + case 341: { action. consumeTypeId(false); break; } // - // Rule 344: abstract_declarator ::= <openscope-ast> ptr_operator_seq + // Rule 342: type_id ::= type_specifier_seq abstract_declarator // - case 344: { action. consumeDeclaratorWithPointer(false); break; + case 342: { action. consumeTypeId(true); break; } // - // Rule 345: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator + // Rule 345: abstract_declarator ::= <openscope-ast> ptr_operator_seq // - case 345: { action. consumeDeclaratorWithPointer(true); break; + case 345: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 349: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 346: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator // - case 349: { action. consumeDirectDeclaratorBracketed(); break; + case 346: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 350: basic_direct_abstract_declarator ::= ( ) + // Rule 350: basic_direct_abstract_declarator ::= ( abstract_declarator ) // - case 350: { action. consumeAbstractDeclaratorEmpty(); break; + case 350: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 351: array_direct_abstract_declarator ::= array_modifier + // Rule 351: basic_direct_abstract_declarator ::= ( ) // - case 351: { action. consumeDirectDeclaratorArrayDeclarator(false); break; + case 351: { action. consumeAbstractDeclaratorEmpty(); break; } // - // Rule 352: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier + // Rule 352: array_direct_abstract_declarator ::= array_modifier // - case 352: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 352: { action. consumeDirectDeclaratorArrayDeclarator(false); break; } // - // Rule 353: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier + // Rule 353: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier // case 353: { action. consumeDirectDeclaratorArrayDeclarator(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: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier // - case 354: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; + case 354: { action. consumeDirectDeclaratorArrayDeclarator(true); 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: 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 355: { action. consumeDirectDeclaratorFunctionDeclarator(false); break; + case 355: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 356: parameter_declaration_clause ::= parameter_declaration_list_opt ... + // Rule 356: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 356: { action. consumePlaceHolder(); break; + case 356: { action. consumeDirectDeclaratorFunctionDeclarator(false); break; } // - // Rule 357: parameter_declaration_clause ::= parameter_declaration_list_opt + // Rule 357: parameter_declaration_clause ::= parameter_declaration_list_opt ... // - case 357: { action. consumeEmpty(); break; + case 357: { action. consumePlaceHolder(); break; } // - // Rule 358: parameter_declaration_clause ::= parameter_declaration_list , ... + // Rule 358: parameter_declaration_clause ::= parameter_declaration_list_opt // - case 358: { action. consumePlaceHolder(); break; + case 358: { action. consumeEmpty(); break; } // - // Rule 364: abstract_declarator_opt ::= $Empty + // Rule 359: parameter_declaration_clause ::= parameter_declaration_list , ... // - case 364: { action. consumeEmpty(); break; + case 359: { action. consumePlaceHolder(); break; } // - // Rule 365: parameter_declaration ::= declaration_specifiers parameter_init_declarator + // Rule 365: abstract_declarator_opt ::= $Empty // - case 365: { action. consumeParameterDeclaration(); break; + case 365: { action. consumeEmpty(); break; } // - // Rule 366: parameter_declaration ::= declaration_specifiers + // Rule 366: parameter_declaration ::= declaration_specifiers parameter_init_declarator // - case 366: { action. consumeParameterDeclarationWithoutDeclarator(); break; + case 366: { action. consumeParameterDeclaration(); break; } // - // Rule 368: parameter_init_declarator ::= declarator = parameter_initializer + // Rule 367: parameter_declaration ::= declaration_specifiers // - case 368: { action. consumeDeclaratorWithInitializer(true); break; + case 367: { action. consumeParameterDeclarationWithoutDeclarator(); break; } // - // Rule 370: parameter_init_declarator ::= abstract_declarator = parameter_initializer + // Rule 369: parameter_init_declarator ::= declarator = parameter_initializer // - case 370: { action. consumeDeclaratorWithInitializer(true); break; + case 369: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 371: parameter_init_declarator ::= = parameter_initializer + // Rule 371: parameter_init_declarator ::= abstract_declarator = parameter_initializer // - case 371: { action. consumeDeclaratorWithInitializer(false); break; + case 371: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 372: parameter_initializer ::= assignment_expression + // Rule 372: parameter_init_declarator ::= = parameter_initializer // - case 372: { action. consumeInitializer(); break; + case 372: { action. consumeDeclaratorWithInitializer(false); break; } // - // Rule 373: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body + // Rule 373: parameter_initializer ::= assignment_expression // - case 373: { action. consumeFunctionDefinition(false); break; + case 373: { action. consumeInitializer(); break; } // - // Rule 374: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq + // Rule 374: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body // - case 374: { action. consumeFunctionDefinition(true); break; + case 374: { action. consumeFunctionDefinition(false); break; } // - // Rule 377: initializer ::= ( expression_list ) + // Rule 375: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq // - case 377: { action. consumeInitializerConstructor(); break; + case 375: { action. consumeFunctionDefinition(true); break; } // - // Rule 378: initializer_clause ::= assignment_expression + // Rule 378: initializer ::= ( expression_list ) // - case 378: { action. consumeInitializer(); break; + case 378: { action. consumeInitializerConstructor(); break; } // - // Rule 380: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq , } end_initializer_list + // Rule 379: initializer_clause ::= assignment_expression // - case 380: { action. consumeInitializerList(); break; + case 379: { action. consumeInitializer(); break; } // - // Rule 381: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq } end_initializer_list + // Rule 381: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq , } end_initializer_list // case 381: { action. consumeInitializerList(); break; } // - // Rule 382: initializer_list ::= { <openscope-ast> } + // Rule 382: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq } end_initializer_list // case 382: { action. consumeInitializerList(); break; } // - // Rule 383: start_initializer_list ::= $Empty + // Rule 383: initializer_list ::= { <openscope-ast> } // - case 383: { action. initializerListStart(); break; + case 383: { action. consumeInitializerList(); break; } // - // Rule 384: end_initializer_list ::= $Empty + // Rule 384: start_initializer_list ::= $Empty // - case 384: { action. initializerListEnd(); break; + case 384: { action. initializerListStart(); break; } // - // Rule 389: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt } + // Rule 385: end_initializer_list ::= $Empty // - case 389: { action. consumeClassSpecifier(); break; + case 385: { action. initializerListEnd(); break; } // - // Rule 390: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 390: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt } // - case 390: { action. consumeClassHead(false); break; + case 390: { action. consumeClassSpecifier(); break; } // - // Rule 391: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 391: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook <openscope-ast> base_clause_opt // case 391: { action. consumeClassHead(false); break; } // - // Rule 392: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 392: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt // - case 392: { action. consumeClassHead(true); break; + case 392: { action. consumeClassHead(false); break; } // - // Rule 393: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 393: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook <openscope-ast> base_clause_opt // case 393: { action. consumeClassHead(true); break; } // - // Rule 397: identifier_name_opt ::= $Empty + // Rule 394: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt // - case 397: { action. consumeEmpty(); break; - } + case 394: { action. consumeClassHead(true); break; + } // - // Rule 401: visibility_label ::= access_specifier_keyword : + // Rule 398: identifier_name_opt ::= $Empty // - case 401: { action. consumeVisibilityLabel(); break; - } + case 398: { action. consumeEmpty(); break; + } // - // Rule 402: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ; + // Rule 402: visibility_label ::= access_specifier_keyword : // - case 402: { action. consumeDeclarationSimple(true); break; + case 402: { action. consumeVisibilityLabel(); break; } // - // Rule 403: member_declaration ::= declaration_specifiers_opt ; + // Rule 403: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ; // - case 403: { action. consumeDeclarationSimple(false); break; + case 403: { action. consumeDeclarationSimple(true); break; } // - // Rule 406: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ; + // Rule 404: member_declaration ::= declaration_specifiers_opt ; // - case 406: { action. consumeMemberDeclarationQualifiedId(); break; + case 404: { action. consumeDeclarationSimple(false); break; } // - // Rule 412: member_declaration ::= ERROR_TOKEN + // Rule 407: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ; // - case 412: { action. consumeDeclarationProblem(); break; + case 407: { action. consumeMemberDeclarationQualifiedId(); break; } // - // Rule 421: member_declarator ::= declarator constant_initializer + // Rule 413: member_declaration ::= ERROR_TOKEN // - case 421: { action. consumeMemberDeclaratorWithInitializer(); break; + case 413: { action. consumeDeclarationProblem(); break; } // - // Rule 422: member_declarator ::= bit_field_declarator : constant_expression + // Rule 422: member_declarator ::= declarator constant_initializer // - case 422: { action. consumeBitField(true); break; + case 422: { action. consumeMemberDeclaratorWithInitializer(); break; } // - // Rule 423: member_declarator ::= : constant_expression + // Rule 423: member_declarator ::= bit_field_declarator : constant_expression // - case 423: { action. consumeBitField(false); break; + case 423: { action. consumeBitField(true); break; } // - // Rule 424: bit_field_declarator ::= identifier_name + // Rule 424: member_declarator ::= : constant_expression // - case 424: { action. consumeDirectDeclaratorIdentifier(); break; + case 424: { action. consumeBitField(false); break; } // - // Rule 425: constant_initializer ::= = constant_expression + // Rule 425: bit_field_declarator ::= identifier_name // - case 425: { action. consumeInitializer(); break; + case 425: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 431: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name + // Rule 426: constant_initializer ::= = constant_expression // - case 431: { action. consumeBaseSpecifier(false, false); break; + case 426: { action. consumeInitializer(); break; } // - // Rule 432: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name + // Rule 432: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name // - case 432: { action. consumeBaseSpecifier(true, true); break; + case 432: { action. consumeBaseSpecifier(false, false); break; } // - // Rule 433: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name + // Rule 433: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name // case 433: { action. consumeBaseSpecifier(true, true); break; } // - // Rule 434: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name + // Rule 434: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name // - case 434: { action. consumeBaseSpecifier(true, false); break; + case 434: { action. consumeBaseSpecifier(true, true); break; } // - // Rule 435: access_specifier_keyword ::= private + // Rule 435: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name // - case 435: { action. consumeToken(); break; + case 435: { action. consumeBaseSpecifier(true, false); break; } // - // Rule 436: access_specifier_keyword ::= protected + // Rule 436: access_specifier_keyword ::= private // case 436: { action. consumeToken(); break; } // - // Rule 437: access_specifier_keyword ::= public + // Rule 437: access_specifier_keyword ::= protected // case 437: { action. consumeToken(); break; } // - // Rule 439: access_specifier_keyword_opt ::= $Empty + // Rule 438: access_specifier_keyword ::= public + // + case 438: { action. consumeToken(); break; + } + + // + // Rule 440: access_specifier_keyword_opt ::= $Empty // - case 439: { action. consumeEmpty(); break; + case 440: { action. consumeEmpty(); break; } // - // Rule 441: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt > + // Rule 442: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt > // - case 441: { action. consumeTemplateId(); break; + case 442: { action. consumeTemplateId(); break; } // - // Rule 442: conversion_function_id ::= operator conversion_type_id + // Rule 443: conversion_function_id ::= operator conversion_type_id // - case 442: { action. consumeConversionName(); break; + case 443: { action. consumeConversionName(); break; } // - // Rule 443: conversion_type_id ::= type_specifier_seq conversion_declarator + // Rule 444: conversion_type_id ::= type_specifier_seq conversion_declarator // - case 443: { action. consumeTypeId(true); break; + case 444: { action. consumeTypeId(true); break; } // - // Rule 444: conversion_type_id ::= type_specifier_seq + // Rule 445: conversion_type_id ::= type_specifier_seq // - case 444: { action. consumeTypeId(false); break; + case 445: { action. consumeTypeId(false); break; } // - // Rule 445: conversion_declarator ::= <openscope-ast> ptr_operator_seq + // Rule 446: conversion_declarator ::= <openscope-ast> ptr_operator_seq // - case 445: { action. consumeDeclaratorWithPointer(false); break; + case 446: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 451: mem_initializer ::= mem_initializer_name ( expression_list_opt ) + // Rule 452: mem_initializer ::= mem_initializer_name ( expression_list_opt ) // - case 451: { action. consumeConstructorChainInitializer(); break; + case 452: { action. consumeConstructorChainInitializer(); break; } // - // Rule 452: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name + // Rule 453: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name // - case 452: { action. consumeQualifiedId(false); break; + case 453: { action. consumeQualifiedId(false); break; } // - // Rule 455: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt > + // Rule 456: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt > // - case 455: { action. consumeTemplateId(); break; + case 456: { action. consumeTemplateId(); break; } // - // Rule 456: operator_id_name ::= operator overloadable_operator + // Rule 457: operator_id_name ::= operator overloadable_operator // - case 456: { action. consumeOperatorName(); break; + case 457: { action. consumeOperatorName(); break; } // - // Rule 499: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration + // Rule 500: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration // - case 499: { action. consumeTemplateDeclaration(); break; + case 500: { action. consumeTemplateDeclaration(); break; } // - // Rule 500: export_opt ::= export + // Rule 501: export_opt ::= export // - case 500: { action. consumePlaceHolder(); break; + case 501: { action. consumePlaceHolder(); break; } // - // Rule 501: export_opt ::= $Empty + // Rule 502: export_opt ::= $Empty // - case 501: { action. consumeEmpty(); break; + case 502: { action. consumeEmpty(); break; } // - // Rule 505: template_parameter ::= parameter_declaration + // Rule 506: template_parameter ::= parameter_declaration // - case 505: { action. consumeTemplateParamterDeclaration(); break; + case 506: { action. consumeTemplateParamterDeclaration(); break; } // - // Rule 506: type_parameter ::= class identifier_name_opt + // Rule 507: type_parameter ::= class identifier_name_opt // - case 506: { action. consumeSimpleTypeTemplateParameter(false); break; + case 507: { action. consumeSimpleTypeTemplateParameter(false); break; } // - // Rule 507: type_parameter ::= class identifier_name_opt = type_id + // Rule 508: type_parameter ::= class identifier_name_opt = type_id // - case 507: { action. consumeSimpleTypeTemplateParameter(true); break; + case 508: { action. consumeSimpleTypeTemplateParameter(true); break; } // - // Rule 508: type_parameter ::= typename identifier_name_opt + // Rule 509: type_parameter ::= typename identifier_name_opt // - case 508: { action. consumeSimpleTypeTemplateParameter(false); break; + case 509: { action. consumeSimpleTypeTemplateParameter(false); break; } // - // Rule 509: type_parameter ::= typename identifier_name_opt = type_id + // Rule 510: type_parameter ::= typename identifier_name_opt = type_id // - case 509: { action. consumeSimpleTypeTemplateParameter(true); break; + case 510: { action. consumeSimpleTypeTemplateParameter(true); break; } // - // Rule 510: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt + // Rule 511: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt // - case 510: { action. consumeTemplatedTypeTemplateParameter(false); break; + case 511: { action. consumeTemplatedTypeTemplateParameter(false); break; } // - // Rule 511: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression + // Rule 512: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression // - case 511: { action. consumeTemplatedTypeTemplateParameter(true); break; + case 512: { action. consumeTemplatedTypeTemplateParameter(true); break; } // - // Rule 512: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt > + // Rule 513: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt > // - case 512: { action. consumeTemplateId(); break; + case 513: { action. consumeTemplateId(); break; } // - // Rule 517: template_argument ::= assignment_expression + // Rule 518: template_argument ::= assignment_expression // - case 517: { action. consumeTemplateArgumentExpression(); break; + case 518: { action. consumeTemplateArgumentExpression(); break; } // - // Rule 518: template_argument ::= type_id + // Rule 519: template_argument ::= type_id // - case 518: { action. consumeTemplateArgumentTypeId(); break; + case 519: { action. consumeTemplateArgumentTypeId(); break; } // - // Rule 519: explicit_instantiation ::= template declaration + // Rule 520: explicit_instantiation ::= template declaration // - case 519: { action. consumeTemplateExplicitInstantiation(); break; + case 520: { action. consumeTemplateExplicitInstantiation(); break; } // - // Rule 520: explicit_specialization ::= template < > declaration + // Rule 521: explicit_specialization ::= template < > declaration // - case 520: { action. consumeTemplateExplicitSpecialization(); break; + case 521: { action. consumeTemplateExplicitSpecialization(); break; } // - // Rule 521: try_block ::= try compound_statement <openscope-ast> handler_seq + // Rule 522: try_block ::= try compound_statement <openscope-ast> handler_seq // - case 521: { action. consumeStatementTryBlock(); break; + case 522: { action. consumeStatementTryBlock(true); break; } // - // Rule 524: handler ::= catch ( exception_declaration ) compound_statement + // Rule 523: try_block ::= try compound_statement // - case 524: { action. consumeStatementCatchHandler(false); break; + case 523: { action. consumeStatementTryBlock(false); break; } // - // Rule 525: handler ::= catch ( ... ) compound_statement + // Rule 526: handler ::= catch ( exception_declaration ) compound_statement // - case 525: { action. consumeStatementCatchHandler(true); break; + case 526: { action. consumeStatementCatchHandler(false); break; } // - // Rule 526: exception_declaration ::= type_specifier_seq <openscope-ast> declarator + // Rule 527: handler ::= catch ( ... ) compound_statement // - case 526: { action. consumeDeclarationSimple(true); break; + case 527: { action. consumeStatementCatchHandler(true); break; } // - // Rule 527: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator + // Rule 528: exception_declaration ::= type_specifier_seq <openscope-ast> declarator // - case 527: { action. consumeDeclarationSimple(true); break; + case 528: { action. consumeDeclarationSimple(true); break; } // - // Rule 528: exception_declaration ::= type_specifier_seq + // Rule 529: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator // - case 528: { action. consumeDeclarationSimple(false); break; + case 529: { action. consumeDeclarationSimple(true); break; } // - // Rule 530: exception_specification ::= throw ( ) + // Rule 530: exception_declaration ::= type_specifier_seq // - case 530: { action. consumePlaceHolder(); break; + case 530: { action. consumeDeclarationSimple(false); break; } // - // Rule 551: attribute_parameter ::= assignment_expression + // Rule 532: exception_specification ::= throw ( ) // - case 551: { action. consumeIgnore(); break; + case 532: { action. consumePlaceHolder(); break; + } + + // + // Rule 553: attribute_parameter ::= assignment_expression + // + case 553: { action. consumeIgnore(); break; } // - // Rule 562: extended_asm_declaration ::= asm volatile_opt ( extended_asm_param_seq ) ; + // Rule 564: extended_asm_declaration ::= asm volatile_opt ( extended_asm_param_seq ) ; // - case 562: { gnuAction.consumeDeclarationASM(); break; + case 564: { gnuAction.consumeDeclarationASM(); break; } // - // Rule 573: unary_expression ::= __alignof__ unary_expression + // Rule 575: unary_expression ::= __alignof__ unary_expression // - case 573: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_alignOf); break; + case 575: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_alignOf); break; } // - // Rule 574: unary_expression ::= typeof unary_expression + // Rule 576: unary_expression ::= typeof unary_expression // - case 574: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); break; + case 576: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); break; } // - // Rule 575: relational_expression ::= relational_expression >? shift_expression + // Rule 577: relational_expression ::= relational_expression >? shift_expression // - case 575: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_max); break; + case 577: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_max); break; } // - // Rule 576: relational_expression ::= relational_expression <? shift_expression + // Rule 578: relational_expression ::= relational_expression <? shift_expression // - case 576: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_min); break; + case 578: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_min); break; } // - // Rule 577: conditional_expression ::= logical_or_expression ? <empty> : assignment_expression + // Rule 579: conditional_expression ::= logical_or_expression ? <empty> : assignment_expression // - case 577: { action. consumeExpressionConditional(); break; + case 579: { action. consumeExpressionConditional(); break; } // - // Rule 578: primary_expression ::= ( compound_statement ) + // Rule 580: primary_expression ::= ( compound_statement ) // - case 578: { gnuAction.consumeCompoundStatementExpression(); break; + case 580: { gnuAction.consumeCompoundStatementExpression(); break; } // - // Rule 579: labeled_statement ::= case case_range_expression : statement + // Rule 581: labeled_statement ::= case case_range_expression : statement // - case 579: { action. consumeStatementCase(); break; + case 581: { action. consumeStatementCase(); break; } // - // Rule 580: case_range_expression ::= constant_expression ... constant_expression + // Rule 582: case_range_expression ::= constant_expression ... constant_expression // - case 580: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_assign); break; + case 582: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_assign); break; } // - // Rule 584: typeof_type_specifier ::= typeof unary_expression + // Rule 586: typeof_type_specifier ::= typeof unary_expression // - case 584: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); break; + case 586: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); break; } // - // Rule 585: typeof_type_specifier ::= typeof ( type_id ) + // Rule 587: typeof_type_specifier ::= typeof ( type_id ) // - case 585: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_typeof); break; + case 587: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_typeof); break; } // - // Rule 586: declaration_specifiers ::= <openscope-ast> typeof_declaration_specifiers + // Rule 588: declaration_specifiers ::= <openscope-ast> typeof_declaration_specifiers // - case 586: { action. consumeDeclarationSpecifiersTypeof(); break; + case 588: { action. consumeDeclarationSpecifiersTypeof(); break; } // - // Rule 599: declarator ::= <openscope-ast> ptr_operator_seq attribute_or_decl_specifier_seq direct_declarator + // Rule 601: declarator ::= <openscope-ast> ptr_operator_seq attribute_or_decl_specifier_seq direct_declarator // - case 599: { action. consumeDeclaratorWithPointer(true); break; + case 601: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 602: simple_type_specifier ::= _Complex + // Rule 604: simple_type_specifier ::= _Complex // - case 602: { action. consumeToken(); break; + case 604: { action. consumeToken(); break; } // - // Rule 603: simple_type_specifier ::= _Imaginary + // Rule 605: simple_type_specifier ::= _Imaginary // - case 603: { action. consumeToken(); break; + case 605: { action. consumeToken(); break; } // - // Rule 604: cv_qualifier ::= restrict + // Rule 606: cv_qualifier ::= restrict // - case 604: { action. consumeToken(); break; + case 606: { action. consumeToken(); break; } // - // Rule 605: explicit_instantiation ::= extern template declaration + // Rule 607: explicit_instantiation ::= extern template declaration // - case 605: { action. consumeTemplateExplicitInstantiationGCC(IGPPASTExplicitTemplateInstantiation.ti_extern); break; + case 607: { action. consumeTemplateExplicitInstantiationGCC(IGPPASTExplicitTemplateInstantiation.ti_extern); break; } // - // Rule 606: explicit_instantiation ::= static template declaration + // Rule 608: explicit_instantiation ::= static template declaration // - case 606: { action. consumeTemplateExplicitInstantiationGCC(IGPPASTExplicitTemplateInstantiation.ti_static); break; + case 608: { action. consumeTemplateExplicitInstantiationGCC(IGPPASTExplicitTemplateInstantiation.ti_static); break; } // - // Rule 607: explicit_instantiation ::= inline template declaration + // Rule 609: explicit_instantiation ::= inline template declaration // - case 607: { action. consumeTemplateExplicitInstantiationGCC(IGPPASTExplicitTemplateInstantiation.ti_inline); break; + case 609: { action. consumeTemplateExplicitInstantiationGCC(IGPPASTExplicitTemplateInstantiation.ti_inline); break; } // - // Rule 609: no_sizeof_type_id_start ::= ERROR_TOKEN + // Rule 611: no_sizeof_type_id_start ::= ERROR_TOKEN // - case 609: { action. consumeEmpty(); break; + case 611: { action. consumeEmpty(); 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 214948ce311..5f0e484cc72 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 @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 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 @@ -57,623 +57,624 @@ public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 0,1,1,0,1,1,1,1,1,1, 1,1,1,3,4,3,2,1,4,2, 1,2,5,7,5,1,4,1,0,5, - 7,8,1,1,2,2,3,2,3,1, + 7,2,8,1,1,2,2,3,2,3, 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, + 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,1,1,1,1,1,1,1,1,1, - 1,1,1,3,4,4,5,2,5,6, - 5,0,1,0,7,8,0,1,3,1, - 0,1,3,1,7,6,0,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,5,3,7,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,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,1,0,7,8,0,1,3, + 1,0,1,3,1,7,6,0,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,5,3,7, + 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,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,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, - 4,6,1,0,1,3,1,3,0,1, - 4,5,2,2,3,3,5,3,4,3, - 1,2,2,2,4,2,1,1,2,2, - 3,2,2,3,1,1,1,1,4,1, - 1,1,1,1,3,3,3,1,1,-65, - 0,0,0,-504,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-273,0,0, - 0,-10,0,0,0,0,0,0,0,-56, - 0,0,0,-134,0,0,0,0,0,-264, - 0,0,0,0,-427,0,0,0,-198,0, - 0,0,0,0,0,0,0,0,-118,-128, - 0,0,0,0,0,0,-2,0,0,0, - 0,0,0,0,0,-4,-237,-208,0,0, - 0,0,0,0,0,-452,0,0,-616,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-374,-5,0,0,0,0,0,0,0, - 0,0,-313,0,0,0,0,0,0,0, - 0,0,-330,0,0,0,0,0,-51,-52, - 0,0,0,0,0,-53,0,0,-472,0, - 0,0,0,0,0,0,0,-61,0,0, - 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,-268,0,0, - 0,0,0,0,0,0,-456,0,0,0, - 0,-6,0,0,0,0,0,-16,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,-121,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-60,0,0, - 0,0,0,0,0,0,-55,0,0,0, - 0,-241,0,0,0,0,0,0,-152,0, - 0,0,0,0,0,-59,-480,-347,0,0, - -163,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-248,-206,0,-7,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,-542,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, - -159,0,0,0,-535,-534,0,0,0,0, - 0,0,0,-478,0,0,0,0,0,0, - 0,-263,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-571,0,0,0,0,0, - 0,0,0,-8,0,0,0,0,0,0, - 0,-420,0,0,-288,0,0,-9,0,0, - -11,0,-192,0,0,0,-453,0,0,0, - -12,0,0,0,0,0,0,0,-50,-13, - 0,0,0,0,0,0,0,-577,0,0, - 0,-15,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-280,0,0,0,0,0,0,0,0, - 0,0,0,0,-402,0,0,0,0,0, - 0,0,0,0,0,0,-606,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,-30,0,0,0,0,0,-139,0, - 0,0,0,-147,0,0,0,0,0,-31, - 0,0,0,0,0,-112,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-541,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-193,0, - 0,-443,0,0,0,-68,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-348,0,0,-207,0,0, - 0,0,0,0,0,0,0,0,-32,0, - 0,-69,0,0,0,0,0,0,0,0, - 0,0,0,0,-267,-404,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,-63,0,-204,0,0,0,0,0,0, - 0,0,-33,0,0,-605,0,0,-464,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-148,-3,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-209,0, - 0,0,0,0,0,0,0,-309,0,0, - 0,0,0,0,0,-277,0,0,0,0, - 0,-34,0,0,-351,0,0,0,-35,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-272,0,0, - 0,0,-389,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-212,0,0, - 0,0,0,-424,0,0,0,-36,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-482,0,0,0, - 0,0,0,0,0,-113,0,0,0,0, - 0,0,0,-229,0,0,-591,0,0,0, - 0,0,-382,0,0,0,-501,0,-544,0, - 0,0,0,-425,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-372,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-251,0,0,0, - 0,0,-513,0,0,0,-238,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-281,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-37,0,0,0,0,0,0,0, - 0,0,-223,-41,0,0,0,-354,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-289,0,0,0, - 0,-221,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-602,0,0,0, - 0,0,-43,0,0,0,-38,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-317,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-77,0,0,-160,0,0,0,0, - 0,-100,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-318,0,0,0,0,0, - 0,0,0,-239,0,0,0,0,0,0, - 0,-39,0,0,-603,0,0,0,0,0, - -101,0,0,0,-40,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-345,0,0,0,0,0, - 0,0,-42,0,0,0,0,0,0,0, - -355,0,0,-315,0,-236,0,0,0,-102, - 0,0,0,-140,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-349,0,0,0,0,-559,0,0, - 0,0,0,0,0,0,-391,0,0,-323, - 0,0,-119,0,0,0,0,0,-103,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-254,0,0,0,0,0,0,0, - 0,0,0,0,0,-509,0,0,-324,0, - 0,-408,0,-57,0,0,0,-104,0,0, - 0,-243,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,0,0,-156, - 0,0,0,0,-58,0,0,0,0,0, - -70,0,0,0,0,0,-105,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-418, - 0,0,0,0,-300,0,0,0,-165,0, - 0,0,0,-71,0,0,-164,0,0,0, - 0,-201,0,0,0,-106,0,0,0,-217, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-479,0,0,0,0,0,-310,0,0, - 0,0,0,0,0,-457,0,0,0,0, - -73,0,0,0,-107,0,0,0,-611,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,-386,0,0,0, - 0,0,0,0,-543,0,0,-219,0,-385, - 0,0,0,-108,0,0,0,-74,0,0, + 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,2,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,4,6,1,0,1,3,1,3, + 0,1,4,5,2,2,3,3,5,3, + 4,3,1,2,2,2,4,2,1,1, + 2,2,3,2,2,3,1,1,1,1, + 4,1,1,1,1,1,3,3,3,1, + 1,-65,0,0,0,-504,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-273, + 0,0,0,-10,0,0,0,0,0,0, + 0,-56,0,0,0,-134,0,0,0,0, + 0,-264,0,0,0,0,-427,0,0,0, + -198,0,0,0,0,0,0,0,0,0, + -118,-128,0,0,0,0,0,0,-2,0, + 0,0,0,0,0,0,0,-4,-237,-208, + 0,0,0,0,0,0,0,-452,0,0, + -616,0,0,0,0,0,0,0,0,0, + 0,0,0,-374,-5,0,0,0,0,0, + 0,0,0,0,-313,0,0,0,0,0, + 0,0,0,0,-330,0,0,0,0,0, + -51,-52,0,0,0,0,0,-53,0,0, + -472,0,0,0,0,0,0,0,0,-61, + 0,0,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,-268, + 0,0,0,0,0,0,0,0,-456,0, + 0,0,0,-6,0,0,0,0,0,-16, + 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,-121,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-60, + 0,0,0,0,0,0,0,0,-55,0, + 0,0,0,-241,0,0,0,0,0,0, + -152,0,0,0,0,0,0,-59,-480,-347, + 0,0,-163,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-248,-206,0,-7, + 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,-542,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,-159,0,0,0,-535,-534,0,0, + 0,0,0,0,0,-478,0,0,0,0, + 0,0,0,-263,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-571,0,0,0, + 0,0,0,0,0,-8,0,0,0,0, + 0,0,0,-420,0,0,-288,0,0,-9, + 0,0,-11,0,-192,0,0,0,-453,0, + 0,0,-12,0,0,0,0,0,0,0, + -50,-13,0,0,0,0,0,0,0,-577, + 0,0,0,-15,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-280,0,0,0,0,0,0, + 0,0,0,0,0,0,-402,0,0,0, + 0,0,0,0,0,0,0,0,-606,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,-30,0,0,0,0,0, + -139,0,0,0,0,-147,0,0,0,0, + 0,-31,0,0,0,0,0,-112,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -541,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -193,0,0,-443,0,0,0,-68,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-348,0,0,-207, + 0,0,0,0,0,0,0,0,0,0, + -32,0,0,-69,0,0,0,0,0,0, + 0,0,0,0,0,0,-267,-404,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,-63,0,-204,0,0,0,0, + 0,0,0,0,-33,0,0,-605,0,0, + -464,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-148,-3,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -209,0,0,0,0,0,0,0,0,-309, + 0,0,0,0,0,0,0,-277,0,0, + 0,0,0,-34,0,0,-351,0,0,0, + -35,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-272, + 0,0,0,0,-389,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-212, + 0,0,0,0,0,-424,0,0,0,-36, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-482,0, + 0,0,0,0,0,0,0,-113,0,0, + 0,0,0,0,0,-229,0,0,-591,0, + 0,0,0,0,-382,0,0,0,-501,0, + -544,0,0,0,0,-425,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-372,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-251,0, + 0,0,0,0,-513,0,0,0,-238,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-281,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-37,0,0,0,0,0, + 0,0,0,0,-223,-41,0,0,0,-354, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-289,0, + 0,0,0,-221,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-602,0, + 0,0,0,0,-43,0,0,0,-38,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-317,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-77,0,0,-160,0,0, + 0,0,0,-100,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-318,0,0,0, + 0,0,0,0,0,-239,0,0,0,0, + 0,0,0,-39,0,0,-603,0,0,0, + 0,0,-101,0,0,0,-40,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-454,-383,-337,0, - 0,0,0,0,0,-531,0,0,0,0, - 0,0,0,-249,0,0,-270,0,-114,-395, - 0,0,-109,0,0,0,-115,0,0,0, + 0,0,0,0,0,0,-345,0,0,0, + 0,0,0,0,-42,0,0,0,0,0, + 0,0,-355,0,0,-315,0,-236,0,0, + 0,-102,0,0,0,-140,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-247,-116,0,0, - 0,0,0,0,-569,0,0,0,0,0, - 0,0,-117,0,0,-124,0,0,-575,0, - 0,-110,0,0,0,0,0,0,0,0, + 0,0,0,0,-349,0,0,0,0,-559, + 0,0,0,0,0,0,0,0,-391,0, + 0,-323,0,0,-119,0,0,0,0,0, + -103,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-505,0,0,-416,0,-244, - 0,0,0,0,0,0,0,0,-407,0, - 0,-158,0,0,-282,0,0,0,0,0, - -145,0,0,0,-125,0,0,0,0,0, + 0,0,0,0,-254,0,0,0,0,0, + 0,0,0,0,0,0,0,-509,0,0, + -324,0,0,-408,0,-57,0,0,0,-104, + 0,0,0,-243,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-126,0,0,0,0,0, - 0,0,-142,0,0,0,0,0,0,0, - 0,0,0,-227,0,0,0,0,0,0, + 0,0,-360,0,0,0,0,0,0,0, + 0,-156,0,0,0,0,-58,0,0,0, + 0,0,-70,0,0,0,0,0,-105,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-437,0,0, - 0,-278,0,0,0,0,0,0,0,0, - -438,0,0,0,0,0,-44,-149,-419,0, - 0,0,0,-358,-150,0,0,0,-255,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,-151,0,0,0,0,0, - 0,0,0,0,0,-417,0,0,0,0, - 0,0,-301,-166,-167,0,0,-256,0,0, - 0,-168,0,0,0,0,0,0,0,0, + 0,-418,0,0,0,0,-300,0,0,0, + -165,0,0,0,0,-71,0,0,-164,0, + 0,0,0,-201,0,0,0,-106,0,0, + 0,-217,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -563,0,0,-376,0,-492,0,0,0,-570, + 0,0,0,-479,0,0,0,0,0,-310, + 0,0,0,0,0,0,0,-457,0,0, + 0,0,-73,0,0,0,-107,0,0,0, + -611,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,-386,0, + 0,0,0,0,0,0,-543,0,0,-219, + 0,-385,0,0,0,-108,0,0,0,-74, 0,0,0,0,0,0,0,0,0,0, - 0,-511,-169,0,0,0,-486,0,0,0, - -170,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-454,-383, + -337,0,0,0,0,0,0,-531,0,0, + 0,0,0,0,0,-249,0,0,-270,0, + -114,-395,0,0,-109,0,0,0,-115,0, 0,0,0,0,0,0,0,0,0,0, - -66,0,-171,0,0,0,0,0,-172,0, - 0,0,0,-173,0,0,0,0,0,0, - -567,-174,-332,0,0,0,0,-1,-442,-175, - 0,0,0,0,0,0,0,-176,-460,-362, + 0,0,0,0,0,0,0,0,-247,-116, + 0,0,0,0,0,0,-569,0,0,0, + 0,0,0,0,-117,0,0,-124,0,0, + -575,0,0,-110,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-505,0,0,-416, + 0,-244,0,0,0,0,0,0,0,0, + -407,0,0,-158,0,0,-282,0,0,0, + 0,0,-145,0,0,0,-125,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-126,0,0,0, + 0,0,0,0,-142,0,0,0,0,0, + 0,0,0,0,0,-227,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-437, + 0,0,0,-278,0,0,0,0,0,0, + 0,0,-438,0,0,0,0,0,-44,-149, + -419,0,0,0,0,-358,-150,0,0,0, + -255,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,-151,0,0,0, + 0,0,0,0,0,0,0,-417,0,0, + 0,0,0,0,-301,-166,-167,0,0,-256, + 0,0,0,-168,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-563,0,0,-376,0,-492,0,0, + 0,-570,0,0,0,0,0,0,0,0, + 0,0,0,-511,-169,0,0,0,-486,0, + 0,0,-170,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-66,0,-171,0,0,0,0,0, + -172,0,0,0,0,-173,0,0,0,0, + 0,0,-567,-174,-332,0,0,0,0,-1, + -442,-175,0,0,0,0,0,0,0,-176, + -460,-362,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-283,0,0,-177, - 0,0,-458,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-283,0, + 0,-177,0,0,-458,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,-302,0,0,0,0,0,0,0, + 0,-553,0,0,-311,0,0,-326,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,0,0,-342,-580,-178,0, + 0,0,0,0,0,0,0,0,0,-312, + 0,0,-179,0,0,-481,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-180,-181, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-573,0,0,-319,0,0,0,0, + 0,-476,-477,-524,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-401,0,-182,-183, + 0,-595,0,0,0,-532,0,0,0,0, + -320,0,0,-184,0,0,-525,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-185, + -344,-186,0,0,0,0,0,0,-187,0, + 0,0,0,-188,0,0,-346,0,0,-197, + 0,-45,-350,-189,0,0,0,0,0,-303, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-423,0, + 0,0,0,0,0,0,-190,-373,0,0, + 0,0,-54,0,0,0,-191,0,0,0, + -522,0,0,-194,0,0,0,-253,0,0, + 0,0,0,-195,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-196,0,0, + -14,0,0,-200,0,0,-285,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-203,-78,-368,-213,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,-371,-210,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-111,0,0,0,0,-215,-218,0,-462, + 0,0,0,0,0,-224,-433,0,0,0, + 0,0,0,-127,-226,-583,0,-228,-64,0, + -230,0,0,0,0,0,0,0,0,-485, + 0,-231,0,0,0,0,0,0,0,0, + -321,0,0,0,0,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, - 0,0,0,0,0,-564,0,0,0,0, - -302,0,0,0,0,0,0,0,0,-553, - 0,0,-311,0,0,-326,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,0,0,-342,-580,-178,0,0,0, - 0,0,0,0,0,0,0,-312,0,0, - -179,0,0,-481,0,0,0,0,0,0, + 0,0,0,0,0,-384,0,0,0,0, + 0,0,0,0,0,0,-413,0,0,0, + 0,0,0,0,0,0,0,0,0,-322, + 0,0,-232,0,0,0,0,0,0,0, + 0,0,0,0,-233,-596,0,0,0,0, + -235,-250,-607,-327,0,-512,0,0,-261,-262, + 0,0,0,0,0,-240,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-180,-181,0,0, + 0,0,0,0,-466,0,0,-269,0,-97, + 0,0,0,-498,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -573,0,0,-319,0,0,0,0,0,-476, - -477,-524,0,0,0,0,0,0,0,0, + 0,0,0,-390,-275,-284,0,0,0,0, + 0,-578,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-98,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-401,0,-182,-183,0,-595, - 0,0,0,-532,0,0,0,0,-320,0, - 0,-184,0,0,-525,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-329,0, + 0,-130,0,-17,0,0,0,0,0,0, + 0,-434,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-274, + 0,0,0,-343,0,0,0,0,0,-359, + 0,0,-46,-614,0,0,0,0,-286,0, + -290,0,0,0,0,0,0,0,0,0, + -469,0,-292,0,0,0,0,-293,-608,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,-185,-344,-186, - 0,0,0,0,0,0,-187,0,0,0, - 0,-188,0,0,-346,0,0,-197,0,-45, - -350,-189,0,0,0,0,0,-303,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-423,0,0,0, - 0,0,0,0,-190,-373,0,0,0,0, - -54,0,0,0,-191,0,0,0,-522,0, - 0,-194,0,0,0,-253,0,0,0,0, - 0,-195,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-196,0,0,-14,0, - 0,-200,0,0,-285,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-203, - -78,-368,-213,0,0,0,0,-22,0,0, + 0,0,0,-414,-298,0,0,0,0,0, + 0,0,0,0,-581,-205,0,0,0,-489, + -95,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,-410,0, + 0,0,-307,0,0,-415,0,-428,0,0, + 0,0,-308,-316,0,-325,0,0,0,0, + -364,0,0,0,0,0,-328,-96,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-371,-210,0,0,0, - 0,0,0,0,0,0,0,0,0,-111, - 0,0,0,0,-215,-218,0,-462,0,0, - 0,0,0,-224,-433,0,0,0,0,0, - 0,-127,-226,-583,0,-228,-64,0,-230,0, - 0,0,0,0,0,0,0,-485,0,-231, - 0,0,0,0,0,0,0,0,-321,0, - 0,0,0,0,0,-99,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -366,-440,0,-333,0,0,0,0,0,-335, + 0,-444,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-340, + -336,-352,0,-353,0,0,0,0,-75,0, + 0,0,-369,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, - 0,0,0,-384,0,0,0,0,0,0, - 0,0,0,0,-413,0,0,0,0,0, - 0,0,0,0,0,0,0,-322,0,0, - -232,0,0,0,0,0,0,0,0,0, - 0,0,-233,-596,0,0,0,0,-235,-250, - -607,-327,0,-512,0,0,-261,-262,0,0, - 0,0,0,-240,0,0,0,0,0,0, + -377,-392,-461,0,0,0,0,0,0,0, + 0,0,0,0,-370,-381,-465,-586,-396,-398, + 0,0,-23,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-466,0,0,-269,0,-97,0,0, - 0,-498,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-390,-275,-284,0,0,0,0,0,-578, + 0,0,0,0,-397,-502,-411,-412,0,-523, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-98,0,0,0,0,0,0, + 0,0,-506,0,0,0,0,-135,0,0, + 0,-399,0,0,0,0,-484,0,0,0, + -421,0,0,0,0,0,0,0,0,0, + 0,-468,0,0,0,0,-507,-422,-429,0, + 0,0,0,0,0,-403,-431,0,-514,0, + 0,0,0,0,-483,0,0,-405,0,0, + 0,0,-528,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-406,0,0,0, + 0,0,0,0,-449,0,0,0,0,0, + 0,0,-497,0,-516,-448,0,-536,0,-540, + -545,0,0,0,0,0,0,0,0,-539, + -338,0,0,0,0,0,0,0,0,0, + 0,0,0,-549,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,0,0,0,-329,0,0,-130, - 0,-17,0,0,0,0,0,0,0,-434, + 0,0,0,-463,0,0,-450,0,-546,0, + 0,0,0,-552,-455,-585,-588,0,0,0, + 0,-471,0,0,0,-491,-473,-496,0,0, + 0,-87,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-274,0,0, - 0,-343,0,0,0,0,0,-359,0,0, - -46,-614,0,0,0,0,-286,0,-290,0, - 0,0,0,0,0,0,0,0,-469,0, - -292,0,0,0,0,-293,-608,0,0,0, - 0,0,0,0,0,0,0,-94,0,0, + 0,0,0,0,-500,-510,-538,0,0,0, + 0,0,0,-88,0,0,0,-548,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-550, + 0,-551,0,0,0,-89,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-414,-298,0,0,0,0,0,0,0, - 0,0,-581,-205,0,0,0,-489,-95,0, - 0,0,-306,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-487,-493, + -495,0,0,0,0,0,0,-90,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-410,0,0,0, - -307,0,0,-415,0,-428,0,0,0,0, - -308,-316,0,-325,0,0,0,0,-364,0, - 0,0,0,0,-328,-96,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-366,-440, - 0,-333,0,0,0,0,0,-335,0,-444, + -153,0,0,0,0,-503,0,0,0,-91, + 0,0,0,-517,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-340,-336,-352, - 0,-353,0,0,0,0,-75,0,0,0, - -369,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,-377,-392, - -461,0,0,0,0,0,0,0,0,0, - 0,0,-370,-381,-465,-586,-396,-398,0,0, - -23,0,0,0,0,0,0,0,0,0, + 0,0,-518,-155,-519,-529,0,0,0,0, + 0,-132,-576,0,-597,-157,-530,-547,0,0, + -560,-561,0,0,-562,-572,-589,-590,-271,-609, + -612,0,0,0,0,0,0,0,0,-613, + 0,-579,-615,0,0,0,-47,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-225,0,-604,0,0,0,0, + -334,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-397,-502,-411,-412,0,-523,0,0, 0,0,0,0,0,0,0,0,0,0, - -506,0,0,0,0,-135,0,0,0,-399, - 0,0,0,0,-484,0,0,0,-421,0, - 0,0,0,0,0,0,0,0,0,-468, - 0,0,0,0,-507,-422,-429,0,0,0, - 0,0,0,-403,-431,0,-514,0,0,0, - 0,0,-483,0,0,-405,0,0,0,0, - -528,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-406,0,0,0,0,0, - 0,0,-449,0,0,0,0,0,0,0, - -497,0,-516,-448,0,-536,0,-540,-545,0, - 0,0,0,0,0,0,0,-539,-338,0, 0,0,0,0,0,0,0,0,0,0, - 0,-549,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,-463,0,0,-450,0,-546,0,0,0, - 0,-552,-455,-585,-588,0,0,0,0,-471, - 0,0,0,-491,-473,-496,0,0,0,-87, + 0,0,0,0,0,0,0,0,-162,0, 0,0,0,0,0,0,0,0,0,0, + -356,0,0,0,0,0,0,0,0,0, + 0,0,0,-378,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-500,-510,-538,0,0,0,0,0, - 0,-88,0,0,0,-548,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-550,0,-551, - 0,0,0,-89,0,0,0,0,0,0, + 0,0,-18,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-487,-493,-495,0, - 0,0,0,0,0,-90,0,0,0,0, + 0,-287,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-153,0, - 0,0,0,-503,0,0,0,-91,0,0, - 0,-517,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -518,-155,-519,-529,0,0,0,0,0,-132, - -576,0,-597,-157,-530,-547,0,0,-560,-561, - 0,0,-562,-572,-589,-590,-271,-609,-612,0, - 0,0,0,0,0,0,0,-613,0,-579, - -615,0,0,0,-47,0,0,0,0,0, + 0,0,0,-488,0,0,0,0,0,0, + 0,0,-92,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-225,0,-604,0,0,0,0,-334,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,-234,0,0, + 0,0,0,0,-123,0,0,-49,0,0, + 0,0,0,0,0,0,-339,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-599,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,-129,0,0,0,0,0,0, 0,0,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,0,0,0,0,0,0,-356,0, 0,0,0,0,0,0,0,0,0,0, - 0,-378,0,0,0,0,0,0,0,0, + -48,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-294,0,0, + 0,0,0,0,-122,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -18,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-287, + 0,0,0,0,0,0,0,0,0,-131, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-361,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-488,0,0,0,0,0,0,0,0, - -92,0,0,0,0,0,0,0,0,0, + 0,0,0,-257,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,-363,0,0, + 0,0,0,0,-144,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,-234,0,0,0,0, - 0,0,-123,0,0,-49,0,0,0,0, - 0,0,0,0,-339,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-133, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-599,0,0,0,0,0, + 0,0,0,0,0,0,0,-430,0,0, + 0,0,0,0,0,0,-499,-508,0,0, + 0,0,0,-526,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,-129,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-48,0, + 0,0,0,0,0,0,0,-432,0,-146, + 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,-294,0,0,0,0, - 0,0,-122,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-136, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-131,0,0, + 0,0,0,0,0,0,0,-436,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,-361,0,0,0,0, + 0,0,0,-258,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-257,0,0,0,0,0,0,0,-246, + 0,0,0,0,0,0,0,-537,0,0, + 0,0,0,0,-357,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-363,0,0,0,0, - 0,0,-144,0,0,0,0,0,0,0, + 0,-259,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-574,0,0, + 0,0,0,-594,-265,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-133,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-430,0,0,0,0, - 0,0,0,0,-499,-508,0,0,0,0, - 0,-526,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-432,0,-146,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,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-136,0,0, + 0,0,0,-582,0,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,-436,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,-258,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-76, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-537,0,0,0,0, - 0,0,-357,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,0,0,0,0,0,0,-259, + 0,0,0,0,0,-276,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,-137,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-574,0,0,0,0, - 0,-594,-265,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-216,0,-214,0,0,0,0,0, + 0,0,-441,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -445,0,0,0,0,0,0,0,0,0, + 0,0,0,-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,-582,0,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,0,0,0,0,0,-76,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,0,0,0,0,-19, + 0,0,0,0,0,-84,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-85,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-276,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,-137,0,0,0, + 0,0,0,0,0,0,-379,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-279,0,0,0,-266,0,0,0, + 0,0,0,-490,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -216,0,-214,0,0,0,0,0,0,0, - -441,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-445,0, 0,0,0,0,0,0,0,0,0,0, - 0,-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,-24,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,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, - -83,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-84,0,0,0,0,0,0, + -27,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-85,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,-29,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-379,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, - -279,0,0,0,-266,0,0,0,0,0, - 0,-490,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-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,-143,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-24, + 0,-245,0,0,0,0,0,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,-25,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,-26,0,0,0,0, + 0,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,0,-27,0, 0,0,0,0,0,0,0,0,0,0, + -154,0,0,0,-446,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-28,0,0,0,0,0,0,0,0, + 0,0,-515,0,0,0,0,0,0,0, + 0,0,0,-600,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-601,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-29,0,0,0,0,0, + -220,0,0,-555,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-67,0,0, 0,0,0,0,0,0,0,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,-400,-598,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,-143,0,0,0, 0,0,0,0,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,-20,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,-138,0,0,0, + 0,0,-305,0,0,0,0,0,0,0, + 0,0,0,0,-304,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, - 0,0,0,0,0,0,0,0,-154,0, - 0,0,-446,0,0,0,0,0,0,0, + 0,0,0,-394,0,0,-467,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -515,0,0,0,0,0,0,0,0,0, - 0,-600,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-601,0,0,0,0, - 0,0,0,0,0,0,0,0,-220,0, - 0,-555,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-260,0,0,0,0, + 0,0,0,0,0,0,0,0,-520,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-400,-598,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-521,0,0,0, + -341,0,-554,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-610,0,0, + 0,0,0,0,0,0,0,-297,0,0, + 0,0,0,0,-556,0,0,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,-380,0,0,0,0,-557,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-367,0,0,0,0,0,0, + 0,0,0,-435,0,0,0,0,0,-474, + -558,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -305,0,0,0,0,0,0,0,0,0, - 0,0,-304,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,0,0, - 0,-394,0,0,-467,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, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-260,0,0,0,0,0,0, - 0,0,0,0,0,0,-520,0,0,0, + 0,0,0,-199,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -447,0,0,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, - 0,0,0,0,-521,0,0,0,-341,0, - -554,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-610,0,0,0,0, - 0,0,0,0,0,-297,0,0,0,0, - 0,0,-556,0,0,0,0,0,0,0, + 0,0,0,0,-426,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,-375,0,0,0, + 0,0,0,0,-387,0,0,0,0,0, + 0,0,0,0,0,-388,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-380,0,0,0,0,-557,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-451,0, + 0,0,-494,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-367,0,0,0,0,0,0,0,0, - 0,-435,0,0,0,0,0,-474,-558,0, + 0,0,0,0,-533,0,0,0,-568,0, + 0,0,0,0,0,0,0,0,-409,0, + 0,0,0,0,0,0,-592,0,0,0, + 0,0,0,0,0,0,0,-593,0,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,-295,0,0, + -296,0,0,0,0,0,0,-527,0,0, + 0,-222,0,0,0,-252,0,0,0,0, + 0,0,-299,0,0,0,0,0,0,0, 0,0,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,0,0, + 0,-565,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-331, 0,0,0,0,0,0,0,0,0,0, - 0,-199,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-447,0, - 0,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,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-426,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,-387,0,0,0,0,0,0,0, - 0,0,0,-388,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-451,0,0,0, - -494,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-533,0,0,0,-568,0,0,0, - 0,0,0,0,0,0,-409,0,0,0, - 0,0,0,0,-592,0,0,0,0,0, - 0,0,0,0,0,-593,0,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,-295,0,0,-296,0, - 0,0,0,0,0,-527,0,0,0,-222, - 0,0,0,-252,0,0,0,0,0,0, - -299,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-565, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-331,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,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; @@ -702,708 +703,708 @@ public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 194,194,95,223,223,79,79,79,79,79, 79,79,79,79,80,80,80,73,73,61, 61,195,195,81,81,81,108,108,196,196, - 82,82,82,197,197,83,83,83,83,83, - 84,84,87,87,87,87,87,87,87,87, - 54,54,54,54,54,125,125,123,123,55, - 198,28,28,28,28,28,51,51,92,92, - 92,92,92,164,164,159,159,159,159,159, - 160,160,160,161,161,161,162,162,162,163, - 163,163,93,93,93,93,93,94,94,94, - 13,14,14,14,14,14,14,14,14,14, - 14,14,103,129,129,129,129,129,129,127, - 127,127,165,166,166,128,128,199,168,168, - 167,167,131,131,109,76,76,132,57,50, - 169,169,58,89,89,170,170,158,158,133, - 134,134,135,72,72,171,171,66,66,66, - 63,63,62,67,67,90,90,70,70,70, - 65,96,96,105,104,104,71,71,64,64, - 69,69,60,106,106,106,98,98,98,99, - 99,100,100,100,101,101,110,110,110,112, - 112,111,111,224,224,97,97,201,201,201, - 201,201,137,49,49,173,200,200,138,138, - 139,139,139,140,175,202,202,43,43,126, - 141,141,141,141,204,114,113,113,130,130, - 130,176,177,177,177,177,177,177,177,177, - 177,177,177,206,206,203,203,205,205,116, - 117,117,117,117,118,207,119,115,115,208, - 208,178,178,178,178,107,107,107,209,209, - 8,8,9,210,210,211,179,172,172,180, - 180,181,182,182,7,7,10,212,212,212, + 82,82,82,82,197,197,83,83,83,83, + 83,84,84,87,87,87,87,87,87,87, + 87,54,54,54,54,54,125,125,123,123, + 55,198,28,28,28,28,28,51,51,92, + 92,92,92,92,164,164,159,159,159,159, + 159,160,160,160,161,161,161,162,162,162, + 163,163,163,93,93,93,93,93,94,94, + 94,13,14,14,14,14,14,14,14,14, + 14,14,14,103,129,129,129,129,129,129, + 127,127,127,165,166,166,128,128,199,168, + 168,167,167,131,131,109,76,76,132,57, + 50,169,169,58,89,89,170,170,158,158, + 133,134,134,135,72,72,171,171,66,66, + 66,63,63,62,67,67,90,90,70,70, + 70,65,96,96,105,104,104,71,71,64, + 64,69,69,60,106,106,106,98,98,98, + 99,99,100,100,100,101,101,110,110,110, + 112,112,111,111,224,224,97,97,201,201, + 201,201,201,137,49,49,173,200,200,138, + 138,139,139,139,140,175,202,202,43,43, + 126,141,141,141,141,204,114,113,113,130, + 130,130,176,177,177,177,177,177,177,177, + 177,177,177,177,206,206,203,203,205,205, + 116,117,117,117,117,118,207,119,115,115, + 208,208,178,178,178,178,107,107,107,209, + 209,8,8,9,210,210,211,179,172,172, + 180,180,181,182,182,7,7,10,212,212, + 212,212,212,212,212,212,212,212,212,212, 212,212,212,212,212,212,212,212,212,212, 212,212,212,212,212,212,212,212,212,212, 212,212,212,212,212,212,212,212,212,212, - 212,212,212,212,212,212,212,212,212,74, - 77,77,183,183,143,143,144,144,144,144, - 144,144,3,145,145,142,142,120,120,88, - 75,85,174,174,121,121,213,213,213,146, - 146,136,136,214,214,23,23,23,40,40, - 24,24,215,215,184,184,184,185,185,216, - 216,186,186,25,25,217,217,187,187,187, - 187,26,59,218,218,219,219,188,188,188, - 147,147,147,19,19,33,33,42,17,80, - 220,189,189,189,148,148,28,56,92,135, - 135,135,116,116,116,199,204,114,65,72, - 165,132,13,13,71,88,88,88,190,190, - 1563,35,2345,2315,3957,3779,27,30,31,1060, - 1072,26,28,2308,260,25,23,50,1143,104, - 75,76,106,588,535,536,537,1160,816,1303, - 1249,1379,449,1372,1573,1428,1722,4126,1637,1735, - 3256,1763,141,272,77,35,278,156,142,6222, - 258,538,535,536,537,1932,35,1051,32,165, - 5892,27,30,31,1060,1072,338,28,3172,1998, - 3290,230,497,538,535,536,537,697,538,535, - 536,537,539,535,536,537,1290,3024,3075,1366, - 669,1326,233,228,229,3495,1446,35,294,2280, - 35,1051,32,273,6244,27,30,31,1060,1072, - 26,28,1002,72,511,3304,1294,318,1771,320, - 2832,314,1588,3073,154,332,240,243,246,249, - 3140,2363,198,3299,2292,538,535,536,537,46, - 46,680,2595,775,845,351,1707,1043,581,3940, - 4243,568,3340,345,1325,1154,348,696,3256,4123, - 2922,4182,4278,4398,4867,2958,35,1051,32,2791, - 4001,27,30,31,1060,1072,26,28,1041,260, - 25,23,50,1143,104,75,76,106,1375,4518, - 578,1209,1160,342,1303,1249,1379,3832,1372,1573, - 1428,1722,70,1637,1735,3481,1763,141,2881,35, - 1051,32,517,142,41,30,31,1060,1072,389, - 553,2186,35,1051,32,2927,6244,27,30,31, - 1060,1072,59,28,518,2958,35,1051,32,2791, - 4001,27,30,31,1060,1072,26,28,1041,260, - 25,23,50,1143,104,75,76,106,1446,2021, - 2253,34,1160,342,1303,1249,1379,2296,1372,1573, - 1428,1722,976,1637,1735,1817,1763,141,3410,77, - 35,278,517,142,6240,513,46,3299,2386,3499, - 922,2186,35,1051,32,2927,6244,27,30,31, - 1060,1072,58,28,518,2566,449,2802,163,4483, - 2812,4834,2958,35,1051,32,2791,4001,27,30, - 31,1060,1072,26,28,1041,260,25,23,50, - 1143,104,75,76,106,1446,35,1964,388,1160, - 342,1303,1249,1379,3256,1372,1573,1428,1722,1866, - 1637,1735,3410,1763,141,513,421,443,498,517, - 142,3215,35,1051,32,2880,3299,40,30,31, - 1060,1072,2927,285,2666,556,5387,2826,452,6163, - 2812,518,3187,35,1051,32,2791,4001,27,30, - 31,1060,1072,26,28,1041,260,25,23,50, - 1143,104,75,76,106,1446,35,1964,388,1160, - 342,1303,1249,1379,256,1372,1573,1428,1722,288, - 1637,1735,3838,1763,141,2750,35,276,349,517, - 142,630,513,1446,35,2253,3037,3215,35,1051, - 32,442,2927,3515,30,31,1060,1072,431,3181, - 535,518,286,1326,2905,1032,3516,2812,3473,35, - 1051,32,721,4001,27,30,31,1060,1072,26, - 28,1041,260,25,23,50,1143,104,75,76, - 106,2106,2656,35,276,1160,158,1303,1249,1379, - 3291,1372,1573,1428,1722,2863,1637,1735,91,1763, - 141,355,514,1901,3571,378,142,3037,35,1051, - 32,531,4001,27,30,31,1060,1072,26,28, - 1041,260,25,23,50,1143,104,75,76,106, - 77,35,453,2996,1160,6141,1303,1249,1379,2296, - 1372,1573,1428,1722,2142,1637,1735,1209,1763,141, - 542,1823,429,3571,378,142,3866,35,1051,32, - 1803,4001,27,30,31,1060,1072,26,28,1041, - 260,25,23,50,1143,104,75,76,106,356, - 35,453,3825,1160,6141,1303,1249,1379,897,1372, - 1573,1428,1722,2029,1637,2737,385,379,3072,1446, - 35,3038,3335,35,1051,32,1345,4001,27,30, - 31,1060,1072,26,28,1041,260,25,23,50, - 1143,104,75,76,106,1446,35,281,2871,1160, - 460,1303,1249,1379,352,1372,1573,1428,1722,1791, - 1637,1735,1430,1763,141,386,379,3072,3571,378, - 142,539,535,536,537,2863,3261,35,1051,32, - 3024,4001,27,30,31,1060,1072,26,28,1041, - 260,25,23,50,1143,104,75,76,106,543, - 3315,1375,3256,1160,46,1303,1249,1379,3837,1372, - 1573,1428,1722,351,1637,1735,168,1763,141,3215, - 35,1051,32,551,142,3527,30,31,1060,1072, - 446,3748,3749,554,24,2791,3612,35,1051,32, - 971,4001,27,30,31,1060,1072,26,28,1041, - 260,25,23,50,1143,104,75,76,106,449, - 376,379,3072,1160,5101,1303,1249,1379,449,1372, - 1573,1428,1722,6093,1637,1735,3290,1763,141,450, - 3748,3749,3435,156,142,3612,35,1051,32,1321, - 4001,27,30,31,1060,1072,26,28,1041,260, - 25,23,50,1143,104,75,76,106,1446,35, - 5809,3368,1160,2577,1303,1249,1379,3824,1372,1573, - 1428,1722,2745,1637,1735,353,1763,141,1446,35, - 1964,388,372,142,3612,35,1051,32,907,4001, - 27,30,31,1060,1072,26,28,1041,260,25, - 23,50,1143,104,75,76,106,1446,3499,542, - 3315,1160,549,1303,1249,1379,3256,1372,1573,1428, - 1722,272,1637,1735,2922,1763,141,1446,35,1964, - 388,372,142,1446,35,1964,388,3194,555,3299, - 3032,381,3632,696,3612,35,1051,32,68,4001, - 27,30,31,1060,1072,26,28,1041,260,25, - 23,50,1143,104,75,76,106,3831,798,177, - 434,1160,371,1303,1249,1379,272,1372,1573,1428, - 1722,274,1637,1735,522,1763,141,1446,35,1964, - 388,372,142,3399,35,1051,32,2922,4001,27, - 30,31,1060,1072,26,28,1041,260,25,23, - 50,1143,104,75,76,106,1446,35,2253,275, - 1160,370,1303,1249,1379,382,1372,1573,1428,1722, - 49,1637,1735,1526,1763,141,339,2097,289,46, - 551,142,196,2562,3113,35,1051,32,3582,4001, - 27,30,31,1060,1072,26,28,1041,260,25, - 23,50,1143,104,75,76,106,2044,35,2253, - 275,1160,46,1303,1249,1379,4020,1372,1573,1428, - 1722,368,1637,1735,3635,1763,141,1446,35,1964, - 388,140,142,3612,35,1051,32,1279,4001,27, - 30,31,1060,1072,26,28,1041,260,25,23, - 50,1143,104,75,76,106,1446,3427,2253,73, - 1160,971,1303,1249,1379,566,1372,1573,1428,1722, - 433,1637,1735,3181,1763,141,2468,1326,323,2301, - 157,142,3612,35,1051,32,447,4001,27,30, - 31,1060,1072,26,28,1041,260,25,23,50, - 1143,104,75,76,106,2044,35,2253,3463,1160, - 158,1303,1249,1379,2922,1372,1573,1428,1722,550, - 1637,1735,1000,1763,141,1446,35,1964,388,153, - 142,3612,35,1051,32,1389,4001,27,30,31, - 1060,1072,26,28,1041,260,25,23,50,1143, - 104,75,76,106,1527,3101,35,279,1160,195, - 1303,1249,1379,1728,1372,1573,1428,1722,432,1637, - 1735,3430,1763,141,3021,1967,1446,1955,152,142, - 3612,35,1051,32,2296,4001,27,30,31,1060, - 1072,26,28,1041,260,25,23,50,1143,104, - 75,76,106,1446,35,2253,277,1160,3373,1303, - 1249,1379,5983,1372,1573,1428,1722,3770,1637,1735, - 3181,1763,141,3256,1326,42,3030,151,142,3612, - 35,1051,32,1950,4001,27,30,31,1060,1072, - 26,28,1041,260,25,23,50,1143,104,75, - 76,106,1527,2374,3644,53,1160,158,1303,1249, - 1379,324,1372,1573,1428,1722,3840,1637,1735,3181, - 1763,141,3290,1326,1560,459,150,142,3612,35, - 1051,32,3577,4001,27,30,31,1060,1072,26, - 28,1041,260,25,23,50,1143,104,75,76, - 106,1446,35,2253,3517,1160,158,1303,1249,1379, - 2296,1372,1573,1428,1722,1632,1637,1735,3425,1763, - 141,1604,3428,44,3030,149,142,3612,35,1051, - 32,971,4001,27,30,31,1060,1072,26,28, - 1041,260,25,23,50,1143,104,75,76,106, - 1446,35,2253,280,1160,2922,1303,1249,1379,2296, - 1372,1573,1428,1722,814,1637,1735,3256,1763,141, - 86,3490,2912,100,148,142,3612,35,1051,32, - 2296,4001,27,30,31,1060,1072,26,28,1041, - 260,25,23,50,1143,104,75,76,106,52, - 199,5410,3838,1160,541,1303,1249,1379,449,1372, - 1573,1428,1722,6104,1637,1735,3181,1763,141,87, - 1326,1303,100,147,142,3612,35,1051,32,168, - 4001,27,30,31,1060,1072,26,28,1041,260, - 25,23,50,1143,104,75,76,106,1446,3301, - 51,2008,1160,158,1303,1249,1379,449,1372,1573, - 1428,1722,6137,1637,1735,3181,1763,141,3256,1326, - 3194,325,146,142,3612,35,1051,32,1433,4001, - 27,30,31,1060,1072,26,28,1041,260,25, - 23,50,1143,104,75,76,106,3554,3176,3776, - 349,1160,158,1303,1249,1379,2671,1372,1573,1428, - 1722,6167,1637,1735,3256,1763,141,3256,3684,3180, - 3771,145,142,3612,35,1051,32,3250,4001,27, - 30,31,1060,1072,26,28,1041,260,25,23, - 50,1143,104,75,76,106,88,46,3254,561, - 1160,733,1303,1249,1379,449,1372,1573,1428,1722, - 6185,1637,1735,3431,1763,141,2609,3821,976,2577, - 144,142,3612,35,1051,32,971,4001,27,30, - 31,1060,1072,26,28,1041,260,25,23,50, - 1143,104,75,76,106,1446,35,294,3835,1160, - 3290,1303,1249,1379,380,1372,1573,1428,1722,1430, - 1637,1735,46,1763,141,3256,1326,3635,523,143, - 142,3549,35,1051,32,2793,4001,27,30,31, - 1060,1072,26,28,1041,260,25,23,50,1143, - 104,75,76,106,69,2856,2441,585,1160,2114, - 1303,1249,1379,1093,1372,1573,1428,1722,565,1637, - 1735,2563,2906,162,3866,35,1051,32,2008,4001, - 27,30,31,1060,1072,26,28,1041,260,25, - 23,50,1143,104,75,76,106,1309,3831,3574, - 522,1160,46,1303,1249,1379,898,1372,1573,1428, - 1722,3290,1637,1735,3602,2906,162,46,3106,2386, - 3499,1326,326,390,2014,4369,1980,427,2791,3612, - 35,1051,32,2296,4001,27,30,31,1060,1072, - 26,28,1041,260,25,23,50,1143,104,75, - 76,106,2835,2690,154,4355,1160,2441,1303,1249, - 1379,1456,1372,1573,1428,1722,3835,1637,1735,3206, - 1763,141,375,2922,444,537,577,142,3612,35, - 1051,32,635,4001,27,30,31,1060,1072,26, - 28,1041,260,25,23,50,1143,104,75,76, - 106,1904,35,396,3326,1160,3290,1303,1249,1379, - 449,1372,1573,1428,1722,6196,1637,1735,197,1763, - 141,360,2296,2094,95,138,142,3612,35,1051, - 32,2326,4001,27,30,31,1060,1072,26,28, - 1041,260,25,23,50,1143,104,75,76,106, - 288,2017,2441,2389,1160,3812,1303,1249,1379,2404, - 1372,1573,1428,1722,2420,1637,1735,375,1763,141, - 2396,2666,3198,3427,187,142,6163,447,2884,46, - 3272,391,1326,1326,373,427,2002,3516,3342,3771, - 3866,35,1051,32,3201,4001,27,30,31,1060, - 1072,26,28,1041,260,25,23,50,1143,104, - 75,76,106,96,3835,154,3656,1160,404,1303, - 1249,1379,608,1372,1573,1428,1722,3256,1637,1735, - 2004,2906,162,3866,35,1051,32,180,4001,27, - 30,31,1060,1072,26,28,1041,260,25,23, - 50,1143,104,75,76,106,1904,35,396,2751, - 1160,2496,1303,1249,1379,1507,1372,1573,1428,1722, - 3299,1637,1735,46,2906,162,46,1403,2106,3578, - 2685,3866,35,1051,32,580,4001,27,30,31, - 1060,1072,26,28,1041,260,25,23,50,1143, - 104,75,76,106,311,46,3290,2874,1160,2198, - 1303,1249,1379,70,1372,1573,1428,1722,3256,1637, - 1735,1574,2906,162,3866,35,1051,32,2412,4001, - 27,30,31,1060,1072,26,28,1041,260,25, - 23,50,1143,104,75,76,106,3478,4066,430, - 3092,1160,2441,1303,1249,1379,296,1372,1573,1428, - 1722,2880,1637,1735,3256,2906,162,525,687,3836, - 3835,3835,3866,35,1051,32,423,4001,27,30, - 31,1060,1072,26,28,1041,260,25,23,50, - 1143,104,75,76,106,1676,67,1186,2285,1160, - 3809,1303,1249,1379,1743,1372,1573,1428,1722,3256, - 1637,1735,1923,2906,162,4055,35,1051,32,293, - 4001,27,30,31,1060,1072,26,28,1041,260, - 25,23,50,1143,104,75,76,106,2600,46, - 3044,66,1160,2356,1303,1249,1379,1396,1372,1573, - 1428,1722,3462,1637,1735,46,2906,162,1821,2309, - 46,46,3464,6002,2791,2777,2908,422,1684,35, - 1051,32,6085,5892,27,30,31,1060,1072,338, - 28,538,535,536,537,393,392,1790,342,427, - 427,538,535,536,537,3538,2922,354,669,327, - 334,4209,35,1964,388,3539,3486,531,5085,3253, - 425,438,3506,2791,235,260,1802,35,1964,388, - 2927,523,2913,2832,588,535,536,537,332,2119, - 318,1771,320,2832,313,1588,3540,2835,331,4083, - 722,219,1830,2791,272,1721,35,1051,32,4603, - 5681,27,30,31,1060,1072,338,28,2908,272, - 2476,46,46,2879,3972,1326,3150,342,3866,35, - 1051,32,230,4001,27,30,31,1060,1072,26, - 28,1041,260,25,23,50,1143,104,75,76, - 84,3533,334,233,228,229,46,2133,154,756, - 2288,305,309,2394,273,1959,505,318,1771,320, - 1832,313,1588,2400,1326,3583,2380,3372,1676,3302, - 539,535,536,537,4444,2922,2786,240,243,246, - 249,3140,1323,3404,3299,351,3479,3071,3409,94, - 71,4363,680,343,1325,1154,348,154,1790,581, - 3586,3370,502,504,2730,588,535,536,537,3256, - 4123,2922,4182,4278,4398,4867,3866,35,1051,32, - 4052,4001,27,30,31,1060,1072,26,28,1041, - 260,25,23,50,1143,104,75,76,106,2908, - 4518,65,3830,1160,46,1303,1249,1379,6019,1372, - 1573,1428,1722,230,2702,2120,35,3655,32,6085, - 5892,27,30,31,1060,1072,338,28,3256,2908, - 295,3641,333,334,242,228,229,351,538,535, - 536,537,2728,3642,2015,343,1325,1154,348,3646, - 2093,2880,2316,341,1676,3395,365,3647,3704,442, - 64,456,3576,334,1497,35,1051,32,2758,5681, - 27,30,31,1060,1072,338,28,318,1771,320, - 2832,313,1588,3290,3524,331,3705,759,3866,35, - 1051,32,3290,4001,27,30,31,1060,1072,26, - 28,1041,260,25,23,50,1143,104,75,76, - 106,3972,46,1322,1931,1160,807,1303,1249,1379, - 1790,1372,1573,1428,2687,2908,315,3263,320,3573, - 1306,5938,419,3650,3866,35,1051,32,3579,4001, - 27,30,31,1060,1072,26,28,1041,260,25, - 23,50,1143,104,75,76,106,3151,329,334, - 1450,1160,3147,1303,1249,1379,610,1372,1573,2688, - 2100,35,1051,32,6085,5681,27,30,31,1060, - 1072,338,28,538,535,536,537,322,1388,558, - 342,2908,909,538,535,536,537,531,3256,154, - 1238,46,1904,35,396,2791,1292,3546,2441,187, - 5112,538,535,536,537,539,535,536,537,3143, - 3199,3709,2927,768,3823,334,2421,3299,3172,342, - 3296,954,318,1771,320,2551,313,1588,3866,35, - 1051,32,722,4001,27,30,31,1060,1072,26, - 28,1041,260,25,23,50,1143,104,75,76, - 106,2927,46,546,402,1160,2660,1303,1249,1379, - 2127,1372,2611,3290,1904,35,3093,3168,2922,3866, - 35,1051,32,3710,4001,27,30,31,1060,1072, - 26,28,1041,260,25,23,50,1143,104,75, - 76,106,2729,305,309,2394,1160,1188,1303,1249, - 1379,3711,2637,303,46,3851,46,49,2661,2441, - 2938,1414,2965,220,1716,916,1921,1398,3258,3256, - 539,535,536,537,524,3712,3866,35,1051,32, - 3409,4001,27,30,31,1060,1072,26,28,1041, - 260,25,23,50,1143,104,75,76,106,3256, - 1281,4416,3768,1160,3254,1303,1249,1379,3306,2638, - 1945,35,1051,32,6085,5681,27,30,31,1060, - 1072,338,28,539,535,536,537,638,816,3706, - 3364,4476,3432,538,535,536,537,2660,35,1051, - 32,3769,3947,27,30,31,1060,1072,57,28, - 5112,538,535,536,537,2214,35,3655,32,6085, - 5681,27,30,31,1060,1072,338,28,3172,3648, - 3739,46,318,1771,320,3034,313,1588,3814,535, - 536,537,722,3256,3256,46,3253,3745,3256,5521, - 2791,3866,2021,1051,2078,3541,4001,27,30,31, - 1060,1072,26,28,1041,260,25,23,50,1143, - 104,75,76,83,2835,4536,321,318,1771,320, - 55,313,1588,3100,2922,3774,3808,759,1733,35, - 3655,32,6085,5681,27,30,31,1060,1072,338, - 28,2922,3242,306,309,2394,1544,35,1964,388, - 3256,538,535,536,537,2197,35,1051,32,3514, - 5681,27,30,31,1060,1072,338,28,3541,562, - 46,6236,419,3650,2799,2922,3897,3775,539,535, - 536,537,54,505,3256,3898,302,2922,61,49, - 318,1771,320,46,313,1588,3256,975,1921,2853, - 759,2781,35,3655,32,6085,5681,27,30,31, - 1060,1072,338,28,1418,3256,540,318,1771,320, - 299,599,1588,3777,3814,535,536,537,560,503, - 504,46,406,46,1720,1479,46,5562,46,46, - 2651,3541,2169,1068,6280,419,3650,559,2922,2759, - 35,1051,32,2995,5681,27,30,31,1060,1072, - 338,28,2922,318,1771,320,3464,313,1588,3866, - 35,1051,32,759,4001,27,30,31,1060,1072, - 26,28,1041,260,25,23,50,1143,104,75, - 76,106,2317,191,403,3960,1160,46,1303,1249, - 2443,3100,3507,3833,46,46,4742,298,5603,4155, - 3894,315,3263,320,3256,3434,3256,6236,419,3650, - 3866,35,1051,32,545,4001,27,30,31,1060, - 1072,26,28,1041,260,25,23,50,1143,104, - 75,76,106,3256,3256,3256,3588,1160,377,1303, - 1249,2449,3866,35,1051,32,3256,4001,27,30, - 31,1060,1072,26,28,1041,260,25,23,50, - 1143,104,75,76,106,3637,99,4656,3256,1160, - 3256,1303,1249,2454,3866,35,1051,32,571,4001, - 27,30,31,1060,1072,26,28,1041,260,25, - 23,50,1143,104,75,76,106,3268,3964,3834, - 2596,1160,3253,1303,1249,2462,3866,35,1051,32, - 2551,4001,27,30,31,1060,1072,26,28,1041, - 260,25,23,50,1143,104,75,76,106,2401, - 35,1964,388,1160,3068,1303,1249,2470,3866,35, - 1051,32,3958,4001,27,30,31,1060,1072,26, - 28,1041,260,25,23,50,1143,104,75,76, - 106,4087,280,2953,2589,1160,610,1303,1249,2478, - 1364,3256,49,46,3371,4023,1011,3031,2791,4024, - 2687,1921,1583,3896,3899,4060,4061,1634,3141,3640, - 226,2791,6298,538,535,536,537,1418,1695,154, - 3256,4062,342,451,7204,46,1464,178,2441,2791, - 2887,201,213,3044,7204,226,200,210,211,212, - 214,587,1,167,2692,7204,610,7204,7204,2480, - 35,294,572,342,915,166,2463,407,3589,7204, - 7204,181,165,168,169,170,171,172,7204,7204, - 226,7204,538,535,536,537,529,7204,7204,154, - 7204,408,409,410,3369,2927,1464,178,2441,3287, - 7204,201,213,3044,2148,7204,200,210,211,212, - 214,587,7204,167,7204,7204,7204,7204,7204,7204, - 7204,7204,7204,7204,3342,166,7204,1680,35,1964, - 388,182,165,168,169,170,171,172,179,1316, - 35,1051,32,6063,5681,27,30,31,1060,1072, - 338,28,1515,35,1051,32,7204,5892,27,30, - 31,1060,1072,338,28,1349,7204,7204,6177,7204, - 49,350,7204,7204,7204,538,535,536,537,1921, - 1853,1837,35,1964,388,7204,7204,3872,7204,7204, - 7204,1872,669,411,413,2806,2147,7204,7204,698, - 4022,318,1771,320,2791,313,1588,7204,7204,7204, - 7204,3424,7204,7204,318,1771,320,2832,316,1588, - 743,7204,332,4135,49,7204,7204,7204,2835,351, - 7204,7204,3428,1921,1252,7204,1326,343,1325,1154, - 348,3866,35,1051,32,2068,4001,27,30,31, - 1060,1072,26,28,1041,260,25,23,50,1143, - 104,75,76,106,7204,7204,7204,7204,1160,154, - 1303,2520,3866,35,1051,32,160,4001,27,30, - 31,1060,1072,26,28,1041,260,25,23,50, - 1143,104,75,76,106,7204,373,359,7204,1160, - 610,1303,2597,4314,7204,7204,1446,35,1964,388, - 3178,3094,3187,7204,7204,1748,237,260,7204,2791, - 6298,7204,7204,7204,226,7204,588,535,536,537, - 7204,7204,7204,154,7204,3327,7204,7204,7204,2791, - 1464,178,2441,226,7204,201,213,3044,7204,49, - 200,210,211,212,214,587,466,167,1921,679, - 610,7204,1453,2835,2463,407,3589,7204,7204,166, - 7204,7204,7204,7204,230,3243,165,168,169,170, - 171,172,7204,7204,226,588,535,536,537,408, - 409,410,3369,154,7204,238,228,229,7204,46, - 1464,178,2441,2791,7204,201,213,3044,7204,7204, - 200,210,211,212,214,587,559,167,7204,7204, - 610,7204,3342,2006,7204,7204,3685,342,6002,166, - 7204,7204,505,230,7204,176,165,168,169,170, - 171,172,7204,7204,226,7204,538,535,536,537, - 7204,7204,7204,154,245,228,229,7204,2002,2927, - 1464,178,2441,669,7204,201,213,3044,2163,7204, - 200,210,211,212,214,587,652,167,502,504, - 610,588,535,536,537,7204,7204,7204,2832,166, - 7204,411,414,331,7204,174,165,168,169,170, - 171,172,46,7204,226,7204,1326,7204,7204,7204, - 46,7204,7204,154,2791,7204,7204,7204,3838,2748, - 1464,178,2441,7204,7204,201,213,3044,7204,230, - 200,210,211,212,214,587,745,167,342,154, - 610,7204,7204,2006,7204,7204,2654,7204,6002,166, - 248,228,229,7204,7204,579,165,168,169,170, - 171,172,7204,7204,226,7204,538,535,536,537, - 2927,7204,7204,154,7204,7204,7204,7204,2378,2608, - 1464,178,2441,669,7204,201,213,3044,7204,7204, - 200,210,211,212,214,587,838,167,7204,7204, - 610,588,535,536,537,2667,3746,7204,2832,166, - 2791,7204,2693,331,7204,175,165,168,169,170, - 171,172,7204,7204,226,7204,7204,7204,539,535, - 536,537,7204,154,342,539,535,536,537,4901, - 1464,178,2441,7204,7204,201,213,3044,7204,230, - 200,210,211,212,214,587,931,167,3108,7204, - 610,7204,5559,2006,7204,7204,3642,7204,6002,166, - 251,228,229,7204,7204,185,165,168,169,170, - 171,172,7204,7204,226,7204,538,535,536,537, - 350,7204,7204,154,7204,7204,7204,7204,2472,7204, - 1464,178,2441,669,7204,201,213,3044,7204,7204, - 200,210,211,212,214,587,1024,167,7204,7204, - 610,588,535,536,537,7204,2914,7204,2832,166, - 7204,7204,7204,5722,7204,3747,165,168,169,170, - 171,172,46,7204,226,7204,1326,7204,351,539, - 535,536,537,154,7204,7204,343,1325,1154,348, - 1464,178,2441,7204,2068,201,213,3044,7204,230, - 200,210,211,212,214,587,1117,167,7204,154, - 610,7204,7204,2006,7204,7204,2699,7204,6002,166, - 583,228,229,7204,7204,190,165,168,169,170, - 171,172,7204,7204,226,7204,538,535,536,537, - 46,7204,7204,154,1326,7204,7204,92,7204,3720, - 1464,178,2441,669,7204,201,213,3044,7204,7204, - 200,210,211,212,214,587,1210,167,7204,7204, - 610,7204,3511,723,7204,7204,2791,154,2832,166, - 7204,7204,7204,331,2949,184,165,168,169,170, - 171,172,7204,7204,226,7204,538,535,536,537, - 342,7204,7204,154,530,7204,7204,7204,7204,665, - 1464,178,2441,669,7204,201,213,3044,7204,7204, - 200,210,211,212,214,587,7204,167,7204,7204, - 7204,7204,2927,7204,7204,7204,7204,7204,328,166, - 7204,533,7204,7204,7204,192,165,168,169,170, - 171,172,2321,35,1051,32,4603,5681,27,30, - 31,1060,1072,338,28,3866,35,1051,32,7204, - 4001,27,30,31,1060,1072,26,28,1041,260, - 25,23,50,1143,104,75,76,106,7204,7204, - 7204,7204,1160,7204,2364,7204,7204,7204,3025,35, - 1051,32,7204,3947,27,30,31,1060,1072,56, - 28,7204,7204,7204,318,1771,320,7204,313,1588, - 3740,35,1051,32,526,4001,27,30,31,1060, - 1072,26,28,1041,260,25,23,50,1143,574, - 75,76,351,7204,1680,35,1964,388,7204,7204, - 343,1325,1154,348,3866,35,1051,32,527,4001, - 27,30,31,1060,1072,26,28,1041,260,25, - 23,50,1143,104,75,76,106,4262,35,1964, - 388,1160,3486,2365,7204,7204,3874,49,7204,7204, - 236,260,7204,7204,7204,7204,1921,47,7204,7204, - 588,535,536,537,7204,7204,7204,7204,7204,7204, - 7204,2308,1755,3147,7204,7204,6002,610,7204,7204, - 272,1515,35,1051,32,7204,5892,27,30,31, - 1060,1072,338,28,538,535,536,537,7204,1800, - 7204,342,7204,7204,538,535,536,537,230,60, - 154,669,3147,7204,7204,7204,1326,1292,7204,2441, - 7204,3495,538,535,536,537,7204,7204,7204,234, - 228,229,7204,2927,768,7204,2832,7204,7204,4425, - 273,332,2215,318,1771,320,2832,314,1588,154, - 7204,332,7204,7204,7204,7204,1292,7204,2441,7204, - 7204,351,7204,241,244,247,250,3140,7204,345, - 1325,1154,348,768,7204,7204,7204,7204,680,7204, - 7204,3866,35,1051,32,582,4001,27,30,31, - 1060,1072,26,28,1041,260,25,23,50,1143, - 104,75,76,106,3866,35,1051,32,2372,4001, - 27,30,31,1060,1072,26,28,1041,260,25, - 23,50,1143,104,75,76,106,3866,35,1051, - 32,2413,4001,27,30,31,1060,1072,26,28, - 1041,260,25,23,50,1143,104,75,76,106, - 7204,7204,7204,7204,2421,1912,35,1051,32,6085, - 5681,27,30,31,1060,1072,338,28,7204,7204, - 7204,1544,35,1964,388,723,7204,7204,539,535, - 536,537,2227,35,1051,32,6085,5681,27,30, - 31,1060,1072,338,28,7204,7204,7204,538,535, - 536,537,7204,7204,7204,539,535,536,537,7204, - 7204,7204,7204,7204,49,669,7204,318,1771,320, - 7204,313,1588,1921,47,7204,7204,4929,7204,7204, - 7204,7204,7204,7204,7204,7204,7204,7204,7204,1235, - 2566,7204,7204,7204,318,1771,320,7204,313,1588, - 3866,35,1051,32,4929,4001,27,30,31,1060, - 1072,26,28,1041,260,25,23,50,1143,104, - 75,76,82,3866,35,1051,32,7204,4001,27, - 30,31,1060,1072,26,28,1041,260,25,23, - 50,1143,104,75,76,81,3866,35,1051,32, - 7204,4001,27,30,31,1060,1072,26,28,1041, - 260,25,23,50,1143,104,75,76,80,3866, - 35,1051,32,7204,4001,27,30,31,1060,1072, - 26,28,1041,260,25,23,50,1143,104,75, - 76,79,3866,35,1051,32,7204,4001,27,30, - 31,1060,1072,26,28,1041,260,25,23,50, - 1143,104,75,76,78,3866,35,1051,32,7204, - 4001,27,30,31,1060,1072,26,28,1041,260, - 25,23,50,1143,104,75,76,77,3676,35, - 1051,32,7204,4001,27,30,31,1060,1072,26, - 28,1041,260,25,23,50,1143,104,75,76, - 102,3866,35,1051,32,7204,4001,27,30,31, - 1060,1072,26,28,1041,260,25,23,50,1143, - 104,75,76,108,3866,35,1051,32,7204,4001, - 27,30,31,1060,1072,26,28,1041,260,25, - 23,50,1143,104,75,76,107,3866,35,1051, - 32,7204,4001,27,30,31,1060,1072,26,28, - 1041,260,25,23,50,1143,104,75,76,105, - 3866,35,1051,32,7204,4001,27,30,31,1060, - 1072,26,28,1041,260,25,23,50,1143,104, - 75,76,103,3740,35,1051,32,7204,4001,27, - 30,31,1060,1072,26,28,1041,260,25,23, - 50,1143,573,75,76,3803,35,1051,32,7204, - 4001,27,30,31,1060,1072,26,28,1041,260, - 25,23,50,1143,85,75,76,3929,35,1051, - 32,7204,4001,27,30,31,1060,1072,26,28, - 1041,260,25,23,50,1143,584,75,76,3992, - 35,1051,32,2987,4001,27,30,31,1060,1072, - 26,28,1041,260,25,23,50,1143,2914,75, - 76,1862,7204,7204,7204,2791,538,535,536,537, - 7204,7204,46,7204,7204,7204,2791,7204,7204,7204, - 7204,7204,7204,669,7204,7204,46,7204,7204,226, - 2791,7204,7204,7204,7204,7204,7204,7204,7204,2684, - 342,7204,2144,2791,6002,7204,2791,7204,3304,7204, - 203,213,3044,7204,342,202,210,211,212,214, - 587,971,538,535,536,537,7204,2835,7204,7204, - 226,7204,2927,7204,7204,204,206,208,3369,669, - 7204,509,723,2238,7204,7204,2927,2791,215,205, - 207,203,213,3044,7204,507,202,210,211,212, - 214,587,7204,7204,2832,538,535,536,537,331, - 7204,226,7204,7204,7204,7204,204,206,208,3369, - 7204,7204,669,7204,2560,7204,5811,7204,7204,215, - 205,207,203,213,3044,4901,359,202,210,211, - 212,214,587,7204,7204,7204,7204,3411,7204,2517, - 3094,3187,7204,7204,7204,7204,7204,204,206,208, - 3369,1544,35,1964,388,2924,7204,5811,7204,7204, - 215,205,207,2291,35,1051,32,6085,5681,27, - 30,31,1060,1072,338,28,2602,35,1051,32, - 6085,5681,27,30,31,1060,1072,338,28,7204, - 7204,7204,2848,7204,49,2332,3207,6002,5811,2791, - 7204,7204,7204,1921,2098,7204,7204,7204,7204,7204, - 7204,7204,7204,7204,7204,538,535,536,537,1473, - 7204,7204,7204,226,46,318,1771,320,1326,313, - 1588,7204,669,7204,7204,3424,7204,1956,318,1771, - 320,2791,313,1588,203,213,3044,7204,3525,202, - 210,211,212,214,587,7204,7204,2832,7204,7204, - 7204,154,5722,7204,7204,226,7204,7204,3008,204, - 206,208,3369,7204,7204,2480,3829,294,7204,2792, - 7204,2050,520,205,207,2791,203,213,3044,7204, - 7204,202,210,211,212,214,587,7204,538,535, - 536,537,538,535,536,537,46,7204,7204,226, - 2791,204,206,208,3369,3287,3024,7204,7204,3172, - 610,7204,7204,2426,519,205,207,2791,7204,7204, - 203,213,3044,7204,342,202,210,211,212,214, - 587,7204,7204,7204,2852,7204,94,7204,7204,7204, - 46,226,7204,154,1326,204,206,208,3369,7204, - 1464,178,1544,35,1964,388,2927,2520,216,205, - 207,2791,203,213,3044,534,7204,202,210,211, - 212,214,587,7204,6177,7204,7204,154,7204,193, - 7204,7204,3429,3294,2323,226,610,204,206,208, - 3369,7204,46,7204,7204,49,1326,1872,2574,2614, - 607,205,207,2791,1921,5503,203,213,3044,7204, - 342,202,210,211,212,214,587,7204,7204,154, - 1473,538,535,536,537,7204,186,226,7204,154, - 7204,204,206,208,3369,7204,3654,7204,4432,7204, - 7204,7204,5706,2708,606,205,207,2791,203,213, - 3044,7204,7204,202,210,211,212,214,587,7204, - 7204,7204,1446,35,1964,388,7204,7204,7204,7204, - 7204,226,7204,204,206,208,3369,7204,7204,4022, - 7204,7204,7204,2791,7204,2802,605,205,207,2791, - 188,7204,203,213,3044,7204,7204,202,210,211, - 212,214,587,5922,194,49,7204,2835,7204,7204, - 7204,7204,7204,226,1921,660,7204,204,206,208, - 3369,7204,7204,2684,7204,7204,7204,2791,6002,7204, - 304,205,207,7204,203,213,3044,7204,7204,202, - 210,211,212,214,587,2006,538,535,536,537, - 6002,2835,7204,2754,35,1964,388,7204,7204,204, - 206,208,3369,669,1680,35,1964,388,538,535, - 536,537,499,205,207,7204,359,7204,2915,7204, - 7204,7204,7204,7204,7204,669,7204,7204,2832,3683, - 3094,3187,7204,331,7204,7204,49,2844,35,1964, - 388,1544,35,1964,388,1921,47,49,7204,7204, - 2832,7204,7204,7204,7204,331,1921,47,7204,665, - 359,706,7204,1544,35,1964,388,1544,35,1964, - 388,7204,1047,2517,3094,3187,7204,1095,7204,7204, - 49,4911,7204,7204,49,1544,35,1964,388,1921, - 47,7204,7204,1921,47,7204,1544,35,1964,388, - 538,535,536,537,7204,2195,49,7204,7204,945, - 49,7204,7204,7204,7204,1921,47,3287,7204,1921, - 47,7204,1446,35,1964,388,46,7204,49,46, - 610,1015,7204,610,7204,1467,3289,1921,47,49, - 1446,35,1964,388,1446,35,1964,388,1921,47, - 7204,46,7204,1627,342,610,7204,342,7204,538, - 535,536,537,154,1725,49,154,7204,7204,7204, - 186,7204,7204,186,1921,1092,4546,7204,7204,342, - 3363,7204,7204,49,7204,7204,5706,49,154,5706, - 7204,7204,1921,1035,7204,186,1921,1252,1446,35, - 1964,388,7204,538,535,536,537,7204,7204,3063, - 7204,5706,7204,7204,7204,7204,7204,7204,7204,7204, - 4432,7204,7204,7204,7204,7204,7204,7204,7204,7204, - 7204,7204,7204,7204,3309,7204,7204,3339,7204,7204, - 7204,49,7204,7204,7204,7204,7204,7204,7204,7204, - 1921,2209,7204,7204,7204,7204,7204,7204,7204,3423, - 7204,0,39,7219,0,39,7218,0,749,29, - 0,440,750,0,454,896,0,38,868,0, - 38,7219,0,38,7218,0,7267,74,0,7266, - 74,0,3377,74,0,4788,74,0,1673,74, - 0,2851,74,0,3756,124,0,1,444,0, - 458,1149,0,457,1784,0,7212,1,0,2212, - 89,0,749,387,0,35,33,0,32,34, - 0,39,868,0,1,642,0,1,7475,0, + 74,77,77,183,183,143,143,144,144,144, + 144,144,144,3,145,145,142,142,120,120, + 88,75,85,85,174,174,121,121,213,213, + 213,146,146,136,136,214,214,23,23,23, + 40,40,24,24,215,215,184,184,184,185, + 185,216,216,186,186,25,25,217,217,187, + 187,187,187,26,59,218,218,219,219,188, + 188,188,147,147,147,19,19,33,33,42, + 17,80,220,189,189,189,148,148,28,56, + 92,135,135,135,116,116,116,199,204,114, + 65,72,165,132,13,13,71,88,88,88, + 190,190,1563,35,2347,2317,3344,3781,27,30, + 31,1062,1074,26,28,2310,261,25,23,50, + 1145,104,75,76,106,590,537,538,539,1162, + 816,1305,1251,1381,449,1374,1575,1430,1724,4128, + 1639,1737,3332,1765,141,273,77,35,279,156, + 142,6224,258,540,537,538,539,1934,35,1053, + 32,165,5894,27,30,31,1062,1074,339,28, + 3174,1676,3366,231,498,540,537,538,539,697, + 540,537,538,539,541,537,538,539,1290,3429, + 3153,1368,671,1328,234,229,230,3497,1446,35, + 295,2282,35,1053,32,274,6246,27,30,31, + 1062,1074,26,28,1002,72,512,3306,1296,319, + 1773,321,2834,315,1590,2426,154,333,241,244, + 247,250,3142,2365,199,3431,2294,540,537,538, + 539,46,46,682,2597,777,847,352,1707,1045, + 583,4027,4245,570,3342,346,1327,1156,349,698, + 3332,4125,2924,4184,4280,4400,4869,2960,35,1053, + 32,2793,4003,27,30,31,1062,1074,26,28, + 1043,261,25,23,50,1145,104,75,76,106, + 2318,4520,580,1211,1162,343,1305,1251,1381,2795, + 1374,1575,1430,1724,70,1639,1737,3483,1765,141, + 2883,35,1053,32,518,142,41,30,31,1062, + 1074,390,555,2188,35,1053,32,2929,6246,27, + 30,31,1062,1074,59,28,519,2960,35,1053, + 32,2793,4003,27,30,31,1062,1074,26,28, + 1043,261,25,23,50,1145,104,75,76,106, + 1446,2023,2255,34,1162,343,1305,1251,1381,2298, + 1374,1575,1430,1724,976,1639,1737,1819,1765,141, + 3412,77,35,279,518,142,6242,514,46,3431, + 2949,3501,924,2188,35,1053,32,2929,6246,27, + 30,31,1062,1074,58,28,519,2568,449,2804, + 163,4485,2814,4836,2960,35,1053,32,2793,4003, + 27,30,31,1062,1074,26,28,1043,261,25, + 23,50,1145,104,75,76,106,1446,35,1966, + 389,1162,343,1305,1251,1381,3332,1374,1575,1430, + 1724,1868,1639,1737,3412,1765,141,514,422,444, + 499,518,142,3102,35,1053,32,3649,3431,40, + 30,31,1062,1074,2929,286,3659,558,5389,2828, + 453,6165,2814,519,3189,35,1053,32,2793,4003, + 27,30,31,1062,1074,26,28,1043,261,25, + 23,50,1145,104,75,76,106,1446,35,1966, + 389,1162,343,1305,1251,1381,256,1374,1575,1430, + 1724,289,1639,1737,3900,1765,141,2658,35,277, + 349,518,142,630,514,1446,35,2255,3039,3102, + 35,1053,32,442,2929,3517,30,31,1062,1074, + 432,3184,535,519,287,1328,2907,1034,3518,2814, + 3475,35,1053,32,721,4003,27,30,31,1062, + 1074,26,28,1043,261,25,23,50,1145,104, + 75,76,106,2108,2564,35,277,1162,158,1305, + 1251,1381,3293,1374,1575,1430,1724,3079,1639,1737, + 91,1765,141,356,515,1903,3573,379,142,3039, + 35,1053,32,533,4003,27,30,31,1062,1074, + 26,28,1043,261,25,23,50,1145,104,75, + 76,106,77,35,454,2998,1162,6143,1305,1251, + 1381,2298,1374,1575,1430,1724,2144,1639,1737,1211, + 1765,141,542,1825,430,3573,379,142,3869,35, + 1053,32,1805,4003,27,30,31,1062,1074,26, + 28,1043,261,25,23,50,1145,104,75,76, + 106,356,35,454,3827,1162,6143,1305,1251,1381, + 899,1374,1575,1430,1724,2031,1639,2739,386,380, + 3074,1446,35,3040,3337,35,1053,32,1345,4003, + 27,30,31,1062,1074,26,28,1043,261,25, + 23,50,1145,104,75,76,106,1446,35,282, + 2873,1162,461,1305,1251,1381,353,1374,1575,1430, + 1724,1503,1639,1737,2050,1765,141,387,380,3074, + 3573,379,142,541,537,538,539,3079,3263,35, + 1053,32,3026,4003,27,30,31,1062,1074,26, + 28,1043,261,25,23,50,1145,104,75,76, + 106,545,3317,2318,3332,1162,46,1305,1251,1381, + 3839,1374,1575,1430,1724,351,1639,1737,168,1765, + 141,3102,35,1053,32,553,142,3529,30,31, + 1062,1074,447,3750,3751,556,24,3075,3614,35, + 1053,32,973,4003,27,30,31,1062,1074,26, + 28,1043,261,25,23,50,1145,104,75,76, + 106,449,377,380,3074,1162,5103,1305,1251,1381, + 449,1374,1575,1430,1724,6095,1639,1737,3366,1765, + 141,451,3750,3751,3437,156,142,3614,35,1053, + 32,1321,4003,27,30,31,1062,1074,26,28, + 1043,261,25,23,50,1145,104,75,76,106, + 1446,35,5811,3370,1162,2881,1305,1251,1381,3826, + 1374,1575,1430,1724,2747,1639,1737,354,1765,141, + 1446,35,1966,389,373,142,3614,35,1053,32, + 907,4003,27,30,31,1062,1074,26,28,1043, + 261,25,23,50,1145,104,75,76,106,1446, + 3501,544,3317,1162,551,1305,1251,1381,3332,1374, + 1575,1430,1724,273,1639,1737,3026,1765,141,1446, + 35,1966,389,373,142,1446,35,1966,389,2288, + 557,3431,3034,382,3634,698,3614,35,1053,32, + 68,4003,27,30,31,1062,1074,26,28,1043, + 261,25,23,50,1145,104,75,76,106,3838, + 800,177,435,1162,372,1305,1251,1381,273,1374, + 1575,1430,1724,275,1639,1737,524,1765,141,1446, + 35,1966,389,373,142,3401,35,1053,32,3026, + 4003,27,30,31,1062,1074,26,28,1043,261, + 25,23,50,1145,104,75,76,106,1446,35, + 2255,276,1162,371,1305,1251,1381,383,1374,1575, + 1430,1724,49,1639,1737,1526,1765,141,340,2099, + 290,46,553,142,197,2470,3115,35,1053,32, + 2614,4003,27,30,31,1062,1074,26,28,1043, + 261,25,23,50,1145,104,75,76,106,2676, + 35,2255,276,1162,46,1305,1251,1381,4022,1374, + 1575,1430,1724,369,1639,1737,3637,1765,141,1446, + 35,1966,389,140,142,3614,35,1053,32,1279, + 4003,27,30,31,1062,1074,26,28,1043,261, + 25,23,50,1145,104,75,76,106,1446,3429, + 2255,73,1162,973,1305,1251,1381,568,1374,1575, + 1430,1724,434,1639,1737,3184,1765,141,2000,1328, + 324,2303,157,142,3614,35,1053,32,448,4003, + 27,30,31,1062,1074,26,28,1043,261,25, + 23,50,1145,104,75,76,106,2676,35,2255, + 3465,1162,158,1305,1251,1381,3026,1374,1575,1430, + 1724,552,1639,1737,1000,1765,141,1446,35,1966, + 389,153,142,3614,35,1053,32,1389,4003,27, + 30,31,1062,1074,26,28,1043,261,25,23, + 50,1145,104,75,76,106,1529,2756,35,280, + 1162,196,1305,1251,1381,1728,1374,1575,1430,1724, + 433,1639,1737,3300,1765,141,2752,1969,1446,1957, + 152,142,3614,35,1053,32,2298,4003,27,30, + 31,1062,1074,26,28,1043,261,25,23,50, + 1145,104,75,76,106,1446,35,2255,278,1162, + 3509,1305,1251,1381,5985,1374,1575,1430,1724,3776, + 1639,1737,3184,1765,141,3332,1328,42,3032,151, + 142,3614,35,1053,32,1952,4003,27,30,31, + 1062,1074,26,28,1043,261,25,23,50,1145, + 104,75,76,106,1529,2376,3646,53,1162,158, + 1305,1251,1381,325,1374,1575,1430,1724,3898,1639, + 1737,3184,1765,141,3366,1328,1837,460,150,142, + 3614,35,1053,32,2781,4003,27,30,31,1062, + 1074,26,28,1043,261,25,23,50,1145,104, + 75,76,106,1446,35,2255,3519,1162,158,1305, + 1251,1381,2298,1374,1575,1430,1724,2029,1639,1737, + 3427,1765,141,1604,3430,44,3032,149,142,3614, + 35,1053,32,973,4003,27,30,31,1062,1074, + 26,28,1043,261,25,23,50,1145,104,75, + 76,106,1446,35,2255,281,1162,3026,1305,1251, + 1381,2298,1374,1575,1430,1724,814,1639,1737,3332, + 1765,141,86,3492,2914,100,148,142,3614,35, + 1053,32,2298,4003,27,30,31,1062,1074,26, + 28,1043,261,25,23,50,1145,104,75,76, + 106,52,200,5412,3900,1162,543,1305,1251,1381, + 449,1374,1575,1430,1724,6106,1639,1737,3184,1765, + 141,87,1328,1303,100,147,142,3614,35,1053, + 32,168,4003,27,30,31,1062,1074,26,28, + 1043,261,25,23,50,1145,104,75,76,106, + 1446,3303,51,2010,1162,158,1305,1251,1381,449, + 1374,1575,1430,1724,6139,1639,1737,3184,1765,141, + 3332,1328,2288,326,146,142,3614,35,1053,32, + 1433,4003,27,30,31,1062,1074,26,28,1043, + 261,25,23,50,1145,104,75,76,106,4024, + 3023,3842,350,1162,158,1305,1251,1381,3646,1374, + 1575,1430,1724,6169,1639,1737,3332,1765,141,3332, + 3686,2848,3780,145,142,3614,35,1053,32,2893, + 4003,27,30,31,1062,1074,26,28,1043,261, + 25,23,50,1145,104,75,76,106,88,46, + 2931,563,1162,735,1305,1251,1381,449,1374,1575, + 1430,1724,6187,1639,1737,3148,1765,141,1475,3823, + 978,2881,144,142,3614,35,1053,32,973,4003, + 27,30,31,1062,1074,26,28,1043,261,25, + 23,50,1145,104,75,76,106,1446,35,295, + 3897,1162,3366,1305,1251,1381,381,1374,1575,1430, + 1724,2050,1639,1737,46,1765,141,3332,1328,3637, + 525,143,142,3551,35,1053,32,2393,4003,27, + 30,31,1062,1074,26,28,1043,261,25,23, + 50,1145,104,75,76,106,69,2517,2443,587, + 1162,2116,1305,1251,1381,1093,1374,1575,1430,1724, + 567,1639,1737,2565,2908,162,3869,35,1053,32, + 2010,4003,27,30,31,1062,1074,26,28,1043, + 261,25,23,50,1145,104,75,76,106,1311, + 3838,3576,524,1162,46,1305,1251,1381,900,1374, + 1575,1430,1724,3366,1639,1737,3604,2908,162,46, + 2669,2949,3501,1328,327,391,2382,4373,1982,428, + 2793,3614,35,1053,32,2298,4003,27,30,31, + 1062,1074,26,28,1043,261,25,23,50,1145, + 104,75,76,106,2837,2692,154,4359,1162,2443, + 1305,1251,1381,1458,1374,1575,1430,1724,3897,1639, + 1737,3208,1765,141,376,3026,444,537,579,142, + 3614,35,1053,32,635,4003,27,30,31,1062, + 1074,26,28,1043,261,25,23,50,1145,104, + 75,76,106,2388,35,397,2997,1162,3366,1305, + 1251,1381,449,1374,1575,1430,1724,6198,1639,1737, + 198,1765,141,361,2298,1809,95,138,142,3614, + 35,1053,32,1933,4003,27,30,31,1062,1074, + 26,28,1043,261,25,23,50,1145,104,75, + 76,106,289,2924,2443,2099,1162,3814,1305,1251, + 1381,2328,1374,1575,1430,1724,2391,1639,1737,376, + 1765,141,2398,3659,2406,3503,187,142,6165,448, + 2886,46,2424,392,1328,1328,374,428,2004,3518, + 2516,3780,3869,35,1053,32,3203,4003,27,30, + 31,1062,1074,26,28,1043,261,25,23,50, + 1145,104,75,76,106,96,3837,154,3658,1162, + 405,1305,1251,1381,610,1374,1575,1430,1724,3332, + 1639,1737,2876,2908,162,3869,35,1053,32,180, + 4003,27,30,31,1062,1074,26,28,1043,261, + 25,23,50,1145,104,75,76,106,2388,35, + 397,2753,1162,3121,1305,1251,1381,1509,1374,1575, + 1430,1724,3431,1639,1737,1695,2908,162,46,1405, + 2108,3580,2687,3869,35,1053,32,582,4003,27, + 30,31,1062,1074,26,28,1043,261,25,23, + 50,1145,104,75,76,106,312,46,3366,3181, + 1162,2200,1305,1251,1381,70,1374,1575,1430,1724, + 3332,1639,1737,2395,2908,162,3869,35,1053,32, + 2414,4003,27,30,31,1062,1074,26,28,1043, + 261,25,23,50,1145,104,75,76,106,3480, + 4069,431,3094,1162,2443,1305,1251,1381,297,1374, + 1575,1430,1724,3649,1639,1737,3332,2908,162,527, + 689,3838,3897,3897,3869,35,1053,32,424,4003, + 27,30,31,1062,1074,26,28,1043,261,25, + 23,50,1145,104,75,76,106,1791,67,1186, + 1720,1162,4028,1305,1251,1381,1744,1374,1575,1430, + 1724,3332,1639,1737,1525,2908,162,4058,35,1053, + 32,294,4003,27,30,31,1062,1074,26,28, + 1043,261,25,23,50,1145,104,75,76,106, + 3106,46,3179,66,1162,2358,1305,1251,1381,2300, + 1374,1575,1430,1724,3071,1639,1737,46,2908,162, + 1822,2311,46,46,3105,6004,2793,2779,2910,423, + 1684,35,1053,32,6087,5894,27,30,31,1062, + 1074,339,28,540,537,538,539,394,393,2019, + 343,428,428,540,537,538,539,3331,3026,355, + 671,328,335,4213,35,1966,389,3430,3488,533, + 5087,3329,426,439,3196,2793,236,261,1803,35, + 1966,389,2929,525,1835,2834,590,537,538,539, + 333,2121,319,1773,321,2834,314,1590,3230,2837, + 332,4086,724,220,1831,2793,273,1722,35,1053, + 32,4605,5683,27,30,31,1062,1074,339,28, + 2910,273,2096,46,46,3436,3974,1328,3152,343, + 3869,35,1053,32,231,4003,27,30,31,1062, + 1074,26,28,1043,261,25,23,50,1145,104, + 75,76,84,3535,335,234,229,230,46,2135, + 154,758,2290,306,310,2396,274,1961,506,319, + 1773,321,3046,314,1590,2402,1328,3330,3070,3374, + 1791,3304,541,537,538,539,4448,3026,2788,241, + 244,247,250,3142,1323,3180,3431,352,3217,3073, + 3411,94,71,4365,682,344,1327,1156,349,154, + 2019,583,3432,3372,503,505,2732,590,537,538, + 539,3332,4125,2924,4184,4280,4400,4869,3869,35, + 1053,32,4054,4003,27,30,31,1062,1074,26, + 28,1043,261,25,23,50,1145,104,75,76, + 106,2910,4520,65,3832,1162,46,1305,1251,1381, + 6021,1374,1575,1430,1724,231,2704,2122,35,3657, + 32,6087,5894,27,30,31,1062,1074,339,28, + 3332,2910,296,3469,334,335,243,229,230,352, + 540,537,538,539,2730,3508,2017,344,1327,1156, + 349,3644,1797,3649,1718,342,1791,3397,366,3645, + 3707,443,64,457,3578,335,1497,35,1053,32, + 2760,5683,27,30,31,1062,1074,339,28,319, + 1773,321,2834,314,1590,3366,3526,332,3708,761, + 3869,35,1053,32,3366,4003,27,30,31,1062, + 1074,26,28,1043,261,25,23,50,1145,104, + 75,76,106,3974,46,1322,2016,1162,809,1305, + 1251,1381,2019,1374,1575,1430,2689,2910,316,3265, + 321,3575,1308,5940,420,3652,3869,35,1053,32, + 3581,4003,27,30,31,1062,1074,26,28,1043, + 261,25,23,50,1145,104,75,76,106,1375, + 330,335,1450,1162,3301,1305,1251,1381,612,1374, + 1575,2690,2102,35,1053,32,6087,5683,27,30, + 31,1062,1074,339,28,540,537,538,539,323, + 1388,560,343,2910,909,540,537,538,539,533, + 3332,154,1240,46,2388,35,397,2793,1294,2694, + 2443,187,5114,540,537,538,539,541,537,538, + 539,3227,3201,3524,2929,770,3825,335,3370,3431, + 3174,343,3298,956,319,1773,321,2553,314,1590, + 3869,35,1053,32,724,4003,27,30,31,1062, + 1074,26,28,1043,261,25,23,50,1145,104, + 75,76,106,2929,46,546,403,1162,2662,1305, + 1251,1381,2129,1374,2613,3366,2388,35,3095,3170, + 3026,3869,35,1053,32,3709,4003,27,30,31, + 1062,1074,26,28,1043,261,25,23,50,1145, + 104,75,76,106,2731,306,310,2396,1162,1188, + 1305,1251,1381,3714,2639,304,46,3853,46,49, + 2663,2443,2940,1414,1855,221,1706,918,1923,1400, + 3260,3332,541,537,538,539,526,3715,3869,35, + 1053,32,3411,4003,27,30,31,1062,1074,26, + 28,1043,261,25,23,50,1145,104,75,76, + 106,3332,1281,4418,3775,1162,3256,1305,1251,1381, + 2846,2640,1947,35,1053,32,6087,5683,27,30, + 31,1062,1074,339,28,541,537,538,539,640, + 816,3540,3222,4478,3468,540,537,538,539,2662, + 35,1053,32,3774,3949,27,30,31,1062,1074, + 57,28,5114,540,537,538,539,2216,35,3657, + 32,6087,5683,27,30,31,1062,1074,339,28, + 3174,3651,2708,46,319,1773,321,3036,314,1590, + 3816,537,538,539,724,3332,3332,46,3329,3586, + 3332,5523,2793,3869,2023,1053,2080,3543,4003,27, + 30,31,1062,1074,26,28,1043,261,25,23, + 50,1145,104,75,76,83,2837,4538,322,319, + 1773,321,55,314,1590,3778,3026,3840,3685,761, + 1734,35,3657,32,6087,5683,27,30,31,1062, + 1074,339,28,3026,3244,307,310,2396,1680,35, + 1966,389,3332,540,537,538,539,2199,35,1053, + 32,3880,5683,27,30,31,1062,1074,339,28, + 3543,564,46,6238,420,3652,2801,3026,3904,3781, + 541,537,538,539,54,506,3332,3943,303,3026, + 61,49,319,1773,321,46,314,1590,3332,977, + 1923,2855,761,2783,35,3657,32,6087,5683,27, + 30,31,1062,1074,339,28,1420,3332,542,319, + 1773,321,300,601,1590,3836,3816,537,538,539, + 562,504,505,46,407,46,3145,1481,46,5564, + 46,46,2653,3543,2171,1070,6282,420,3652,561, + 3026,2761,35,1053,32,2997,5683,27,30,31, + 1062,1074,339,28,3026,319,1773,321,3466,314, + 1590,3869,35,1053,32,761,4003,27,30,31, + 1062,1074,26,28,1043,261,25,23,50,1145, + 104,75,76,106,3183,191,404,3963,1162,46, + 1305,1251,2445,3102,3505,3841,46,46,4744,299, + 5605,4157,3968,316,3265,321,3332,3299,3332,6238, + 420,3652,3869,35,1053,32,547,4003,27,30, + 31,1062,1074,26,28,1043,261,25,23,50, + 1145,104,75,76,106,3332,3332,3332,3590,1162, + 378,1305,1251,2451,3869,35,1053,32,3332,4003, + 27,30,31,1062,1074,26,28,1043,261,25, + 23,50,1145,104,75,76,106,3639,99,4658, + 3332,1162,3332,1305,1251,2456,3869,35,1053,32, + 573,4003,27,30,31,1062,1074,26,28,1043, + 261,25,23,50,1145,104,75,76,106,3270, + 4026,3843,2598,1162,3255,1305,1251,2464,3869,35, + 1053,32,2553,4003,27,30,31,1062,1074,26, + 28,1043,261,25,23,50,1145,104,75,76, + 106,2403,35,1966,389,1162,3372,1305,1251,2472, + 3869,35,1053,32,3961,4003,27,30,31,1062, + 1074,26,28,1043,261,25,23,50,1145,104, + 75,76,106,4091,280,3465,2591,1162,612,1305, + 1251,2480,1364,3332,49,46,2952,4063,1011,3033, + 2793,4064,2689,1923,1585,3742,3899,4065,4087,1634, + 3464,3643,227,2793,6300,540,537,538,539,1420, + 4088,154,3332,4092,343,452,7209,46,1466,178, + 2443,2793,2889,202,214,3046,7209,227,201,211, + 212,213,215,589,1,167,3218,7209,612,7209, + 7209,2482,35,295,574,343,917,166,2465,408, + 3591,7209,7209,181,165,168,169,170,171,172, + 7209,7209,227,7209,540,537,538,539,531,7209, + 7209,154,7209,409,410,411,3371,2929,1466,178, + 2443,3289,7209,202,214,3046,2150,7209,201,211, + 212,213,215,589,7209,167,7209,7209,7209,7209, + 7209,7209,7209,7209,7209,7209,3344,166,7209,1703, + 35,1966,389,182,165,168,169,170,171,172, + 179,1316,35,1053,32,6065,5683,27,30,31, + 1062,1074,339,28,1515,35,1053,32,7209,5894, + 27,30,31,1062,1074,339,28,1351,7209,7209, + 6179,7209,49,351,7209,7209,7209,540,537,538, + 539,1923,1855,1838,35,1966,389,7209,7209,3874, + 7209,7209,7209,1874,671,412,414,2808,2149,7209, + 7209,700,4025,319,1773,321,2793,314,1590,7209, + 7209,7209,7209,3426,7209,7209,319,1773,321,2834, + 317,1590,745,7209,333,4137,49,7209,7209,7209, + 2837,352,7209,7209,3439,1923,1254,7209,1328,344, + 1327,1156,349,3869,35,1053,32,2070,4003,27, + 30,31,1062,1074,26,28,1043,261,25,23, + 50,1145,104,75,76,106,7209,7209,7209,7209, + 1162,154,1305,2522,3869,35,1053,32,160,4003, + 27,30,31,1062,1074,26,28,1043,261,25, + 23,50,1145,104,75,76,106,7209,373,360, + 7209,1162,612,1305,2599,4318,7209,7209,1446,35, + 1966,389,3180,3096,3189,7209,7209,1749,238,261, + 7209,2793,6300,7209,7209,7209,227,7209,590,537, + 538,539,7209,7209,7209,154,7209,3543,7209,7209, + 7209,2793,1466,178,2443,227,7209,202,214,3046, + 7209,49,201,211,212,213,215,589,466,167, + 1923,681,612,7209,1453,2837,2465,408,3591,7209, + 7209,166,7209,7209,7209,7209,231,3245,165,168, + 169,170,171,172,7209,7209,227,590,537,538, + 539,409,410,411,3371,154,7209,239,229,230, + 7209,46,1466,178,2443,2793,7209,202,214,3046, + 7209,7209,201,211,212,213,215,589,559,167, + 7209,7209,612,7209,3344,2008,7209,7209,3687,343, + 6004,166,7209,7209,506,231,7209,176,165,168, + 169,170,171,172,7209,7209,227,7209,540,537, + 538,539,7209,7209,7209,154,246,229,230,7209, + 2004,2929,1466,178,2443,671,7209,202,214,3046, + 2165,7209,201,211,212,213,215,589,652,167, + 503,505,612,590,537,538,539,7209,7209,7209, + 2834,166,7209,412,415,332,7209,174,165,168, + 169,170,171,172,46,7209,227,7209,1328,7209, + 7209,7209,46,7209,7209,154,2793,7209,7209,7209, + 3840,2750,1466,178,2443,7209,7209,202,214,3046, + 7209,231,201,211,212,213,215,589,745,167, + 343,154,612,7209,7209,2008,7209,7209,2656,7209, + 6004,166,249,229,230,7209,7209,581,165,168, + 169,170,171,172,7209,7209,227,7209,540,537, + 538,539,2929,7209,7209,154,7209,7209,7209,7209, + 2380,2610,1466,178,2443,671,7209,202,214,3046, + 7209,7209,201,211,212,213,215,589,838,167, + 7209,7209,612,590,537,538,539,2695,3749,7209, + 2834,166,2793,7209,2793,332,7209,175,165,168, + 169,170,171,172,7209,7209,227,7209,7209,7209, + 541,537,538,539,7209,154,343,541,537,538, + 539,4903,1466,178,2443,7209,7209,202,214,3046, + 7209,231,201,211,212,213,215,589,931,167, + 3149,7209,612,7209,5561,2008,7209,7209,3644,7209, + 6004,166,252,229,230,7209,7209,185,165,168, + 169,170,171,172,7209,7209,227,7209,540,537, + 538,539,351,7209,7209,154,7209,7209,7209,7209, + 2474,7209,1466,178,2443,671,7209,202,214,3046, + 7209,7209,201,211,212,213,215,589,1024,167, + 7209,7209,612,590,537,538,539,7209,2916,7209, + 2834,166,7209,7209,7209,5724,7209,3749,165,168, + 169,170,171,172,46,7209,227,7209,1328,7209, + 352,541,537,538,539,154,7209,7209,344,1327, + 1156,349,1466,178,2443,7209,2070,202,214,3046, + 7209,231,201,211,212,213,215,589,1117,167, + 7209,154,612,7209,7209,2008,7209,7209,2701,7209, + 6004,166,585,229,230,7209,7209,190,165,168, + 169,170,171,172,7209,7209,227,7209,540,537, + 538,539,46,7209,7209,154,1328,7209,7209,92, + 7209,3722,1466,178,2443,671,7209,202,214,3046, + 7209,7209,201,211,212,213,215,589,1210,167, + 7209,7209,612,7209,3642,723,7209,7209,2793,154, + 2834,166,7209,7209,7209,332,2951,184,165,168, + 169,170,171,172,7209,7209,227,7209,540,537, + 538,539,343,7209,7209,154,532,7209,7209,7209, + 7209,667,1466,178,2443,671,7209,202,214,3046, + 7209,7209,201,211,212,213,215,589,7209,167, + 7209,7209,7209,7209,2929,7209,7209,7209,7209,7209, + 329,166,7209,535,7209,7209,7209,193,165,168, + 169,170,171,172,2323,35,1053,32,4605,5683, + 27,30,31,1062,1074,339,28,3869,35,1053, + 32,7209,4003,27,30,31,1062,1074,26,28, + 1043,261,25,23,50,1145,104,75,76,106, + 7209,7209,7209,7209,1162,7209,2366,7209,7209,7209, + 3027,35,1053,32,7209,3949,27,30,31,1062, + 1074,56,28,7209,7209,7209,319,1773,321,7209, + 314,1590,3743,35,1053,32,528,4003,27,30, + 31,1062,1074,26,28,1043,261,25,23,50, + 1145,576,75,76,352,7209,1703,35,1966,389, + 7209,7209,344,1327,1156,349,3869,35,1053,32, + 529,4003,27,30,31,1062,1074,26,28,1043, + 261,25,23,50,1145,104,75,76,106,4266, + 35,1966,389,1162,3488,2367,7209,7209,3876,49, + 7209,7209,237,261,7209,7209,7209,7209,1923,47, + 7209,7209,590,537,538,539,7209,7209,7209,7209, + 7209,7209,7209,2310,1757,3301,7209,7209,6004,612, + 7209,7209,273,1515,35,1053,32,7209,5894,27, + 30,31,1062,1074,339,28,540,537,538,539, + 7209,2576,7209,343,7209,7209,540,537,538,539, + 231,60,154,671,3301,7209,7209,7209,1328,1294, + 7209,2443,7209,3497,540,537,538,539,7209,7209, + 7209,235,229,230,7209,2929,770,7209,2834,7209, + 7209,4427,274,333,2217,319,1773,321,2834,315, + 1590,154,7209,333,7209,7209,7209,7209,1294,7209, + 2443,7209,7209,352,7209,242,245,248,251,3142, + 7209,346,1327,1156,349,770,7209,7209,7209,7209, + 682,7209,7209,3869,35,1053,32,584,4003,27, + 30,31,1062,1074,26,28,1043,261,25,23, + 50,1145,104,75,76,106,3869,35,1053,32, + 2374,4003,27,30,31,1062,1074,26,28,1043, + 261,25,23,50,1145,104,75,76,106,3869, + 35,1053,32,2415,4003,27,30,31,1062,1074, + 26,28,1043,261,25,23,50,1145,104,75, + 76,106,7209,7209,7209,7209,2423,1914,35,1053, + 32,6087,5683,27,30,31,1062,1074,339,28, + 7209,7209,7209,1680,35,1966,389,723,7209,7209, + 541,537,538,539,2229,35,1053,32,6087,5683, + 27,30,31,1062,1074,339,28,7209,7209,7209, + 540,537,538,539,7209,7209,7209,541,537,538, + 539,7209,7209,7209,7209,7209,49,671,7209,319, + 1773,321,7209,314,1590,1923,47,7209,7209,4931, + 7209,7209,7209,7209,7209,7209,7209,7209,7209,7209, + 7209,1237,2568,7209,7209,7209,319,1773,321,7209, + 314,1590,3869,35,1053,32,4931,4003,27,30, + 31,1062,1074,26,28,1043,261,25,23,50, + 1145,104,75,76,82,3869,35,1053,32,7209, + 4003,27,30,31,1062,1074,26,28,1043,261, + 25,23,50,1145,104,75,76,81,3869,35, + 1053,32,7209,4003,27,30,31,1062,1074,26, + 28,1043,261,25,23,50,1145,104,75,76, + 80,3869,35,1053,32,7209,4003,27,30,31, + 1062,1074,26,28,1043,261,25,23,50,1145, + 104,75,76,79,3869,35,1053,32,7209,4003, + 27,30,31,1062,1074,26,28,1043,261,25, + 23,50,1145,104,75,76,78,3869,35,1053, + 32,7209,4003,27,30,31,1062,1074,26,28, + 1043,261,25,23,50,1145,104,75,76,77, + 3679,35,1053,32,7209,4003,27,30,31,1062, + 1074,26,28,1043,261,25,23,50,1145,104, + 75,76,102,3869,35,1053,32,7209,4003,27, + 30,31,1062,1074,26,28,1043,261,25,23, + 50,1145,104,75,76,108,3869,35,1053,32, + 7209,4003,27,30,31,1062,1074,26,28,1043, + 261,25,23,50,1145,104,75,76,107,3869, + 35,1053,32,7209,4003,27,30,31,1062,1074, + 26,28,1043,261,25,23,50,1145,104,75, + 76,105,3869,35,1053,32,7209,4003,27,30, + 31,1062,1074,26,28,1043,261,25,23,50, + 1145,104,75,76,103,3743,35,1053,32,7209, + 4003,27,30,31,1062,1074,26,28,1043,261, + 25,23,50,1145,575,75,76,3806,35,1053, + 32,7209,4003,27,30,31,1062,1074,26,28, + 1043,261,25,23,50,1145,85,75,76,3932, + 35,1053,32,7209,4003,27,30,31,1062,1074, + 26,28,1043,261,25,23,50,1145,586,75, + 76,3995,35,1053,32,2989,4003,27,30,31, + 1062,1074,26,28,1043,261,25,23,50,1145, + 2916,75,76,1864,7209,7209,7209,2793,540,537, + 538,539,7209,7209,46,7209,7209,7209,2793,7209, + 7209,7209,7209,7209,7209,671,7209,7209,46,7209, + 7209,227,2793,7209,7209,7209,7209,7209,7209,7209, + 7209,2686,343,7209,2146,2793,6004,7209,2793,7209, + 3306,7209,204,214,3046,7209,343,203,211,212, + 213,215,589,973,540,537,538,539,7209,2837, + 7209,7209,227,7209,2929,7209,7209,205,207,209, + 3371,671,7209,510,723,2240,7209,7209,2929,2793, + 216,206,208,204,214,3046,7209,508,203,211, + 212,213,215,589,7209,7209,2834,540,537,538, + 539,332,7209,227,7209,7209,7209,7209,205,207, + 209,3371,7209,7209,671,7209,2562,7209,5813,7209, + 7209,216,206,208,204,214,3046,4903,360,203, + 211,212,213,215,589,7209,7209,7209,7209,3413, + 7209,2519,3096,3189,7209,7209,7209,7209,7209,205, + 207,209,3371,1680,35,1966,389,2926,7209,5813, + 7209,7209,216,206,208,2293,35,1053,32,6087, + 5683,27,30,31,1062,1074,339,28,2604,35, + 1053,32,6087,5683,27,30,31,1062,1074,339, + 28,7209,7209,7209,2850,7209,49,2334,3209,6004, + 5813,2793,7209,7209,7209,1923,2100,7209,7209,7209, + 7209,7209,7209,7209,7209,7209,7209,540,537,538, + 539,1475,7209,7209,7209,227,46,319,1773,321, + 1328,314,1590,7209,671,7209,7209,3426,7209,1958, + 319,1773,321,2793,314,1590,204,214,3046,7209, + 3527,203,211,212,213,215,589,7209,7209,2834, + 7209,7209,7209,154,5724,7209,7209,227,7209,7209, + 3010,205,207,209,3371,7209,7209,2482,3831,295, + 7209,2699,7209,2052,521,206,208,2793,204,214, + 3046,7209,7209,203,211,212,213,215,589,7209, + 540,537,538,539,540,537,538,539,46,7209, + 7209,227,2793,205,207,209,3371,3289,3429,7209, + 7209,3174,612,7209,7209,2428,520,206,208,2793, + 7209,7209,204,214,3046,7209,343,203,211,212, + 213,215,589,7209,7209,7209,2854,7209,94,7209, + 7209,7209,46,227,7209,154,1328,205,207,209, + 3371,7209,1466,178,1680,35,1966,389,2929,2522, + 217,206,208,2793,204,214,3046,536,7209,203, + 211,212,213,215,589,7209,6179,7209,7209,154, + 7209,194,7209,7209,3580,3296,2325,227,612,205, + 207,209,3371,7209,46,7209,7209,49,1328,1874, + 2668,2616,609,206,208,2793,1923,5505,204,214, + 3046,7209,343,203,211,212,213,215,589,7209, + 7209,154,1475,540,537,538,539,7209,186,227, + 7209,154,7209,205,207,209,3371,7209,3656,7209, + 4434,7209,7209,7209,5708,2710,608,206,208,2793, + 204,214,3046,7209,7209,203,211,212,213,215, + 589,7209,7209,7209,1446,35,1966,389,7209,7209, + 7209,7209,7209,227,7209,205,207,209,3371,7209, + 7209,4025,7209,7209,7209,2793,7209,2804,607,206, + 208,2793,188,7209,204,214,3046,7209,7209,203, + 211,212,213,215,589,5924,195,49,7209,2837, + 7209,7209,7209,7209,7209,227,1923,662,7209,205, + 207,209,3371,7209,7209,2686,7209,7209,7209,2793, + 6004,7209,305,206,208,7209,204,214,3046,7209, + 7209,203,211,212,213,215,589,2008,540,537, + 538,539,6004,2837,7209,2965,35,1966,389,7209, + 7209,205,207,209,3371,671,1703,35,1966,389, + 540,537,538,539,500,206,208,7209,360,7209, + 2917,7209,7209,7209,7209,7209,7209,671,7209,7209, + 2834,3685,3096,3189,7209,332,7209,7209,49,3252, + 35,1966,389,1680,35,1966,389,1923,47,49, + 7209,7209,2834,7209,7209,7209,7209,332,1923,47, + 7209,667,360,708,7209,1680,35,1966,389,1680, + 35,1966,389,7209,1049,2519,3096,3189,7209,1095, + 7209,7209,49,4913,7209,7209,49,1680,35,1966, + 389,1923,47,7209,7209,1923,47,7209,1680,35, + 1966,389,540,537,538,539,7209,2197,49,7209, + 7209,947,49,7209,7209,7209,7209,1923,47,3289, + 7209,1923,47,7209,1446,35,1966,389,46,7209, + 49,46,612,1017,7209,612,7209,1469,2858,1923, + 47,49,1446,35,1966,389,1446,35,1966,389, + 1923,47,7209,46,7209,1629,343,612,7209,343, + 7209,540,537,538,539,154,1727,49,154,7209, + 7209,7209,186,7209,7209,186,1923,1094,4548,7209, + 7209,343,3291,7209,7209,49,7209,7209,5708,49, + 154,5708,7209,7209,1923,1037,7209,186,1923,1254, + 1446,35,1966,389,7209,540,537,538,539,7209, + 7209,3065,7209,5708,7209,7209,7209,7209,7209,7209, + 7209,7209,4434,7209,7209,7209,7209,7209,7209,7209, + 7209,7209,7209,7209,7209,7209,3311,7209,7209,3341, + 7209,7209,7209,49,7209,7209,7209,7209,7209,7209, + 7209,7209,1923,2211,7209,7209,7209,7209,7209,7209, + 7209,3425,7209,0,39,7224,0,39,7223,0, + 751,29,0,441,752,0,455,898,0,38, + 870,0,38,7224,0,38,7223,0,7272,74, + 0,7271,74,0,3379,74,0,4790,74,0, + 1675,74,0,2853,74,0,3758,124,0,1, + 445,0,459,1151,0,458,1786,0,7217,1, + 0,2214,89,0,751,388,0,35,33,0, + 32,34,0,39,870,0,1,644,0,1, + 7481,0,1,7480,0,1,7479,0,1,7478, + 0,1,7477,0,1,7476,0,1,7475,0, 1,7474,0,1,7473,0,1,7472,0,1, - 7471,0,1,7470,0,1,7469,0,1,7468, - 0,1,7467,0,1,7466,0,1,7465,0, - 1,7807,0,1,7806,0,39,1,7219,0, - 39,1,7218,0,818,1,0,1,4810,0, - 7436,221,0,7435,221,0,2166,221,0,2225, - 221,0,2245,221,0,7808,221,0,7541,221, - 0,7540,221,0,7463,221,0,7462,221,0, - 7461,221,0,7460,221,0,7459,221,0,7458, - 221,0,7457,221,0,7456,221,0,7436,222, - 0,7435,222,0,2166,222,0,2225,222,0, - 2245,222,0,7808,222,0,7541,222,0,7540, - 222,0,7463,222,0,7462,222,0,7461,222, - 0,7460,222,0,7459,222,0,7458,222,0, - 7457,222,0,7456,222,0,7436,223,0,7435, - 223,0,2166,223,0,2225,223,0,2245,223, - 0,7808,223,0,7541,223,0,7540,223,0, - 7463,223,0,7462,223,0,7461,223,0,7460, - 223,0,7459,223,0,7458,223,0,7457,223, - 0,7456,223,0,2245,394,0,2225,394,0, - 2166,394,0,282,394,0,7436,224,0,7435, - 224,0,2166,224,0,2225,224,0,2245,224, - 0,7808,224,0,7541,224,0,7540,224,0, - 7463,224,0,7462,224,0,7461,224,0,7460, - 224,0,7459,224,0,7458,224,0,7457,224, - 0,7456,224,0,282,287,0,7436,225,0, - 7435,225,0,2166,225,0,2225,225,0,2245, - 225,0,7808,225,0,7541,225,0,7540,225, - 0,7463,225,0,7462,225,0,7461,225,0, - 7460,225,0,7459,225,0,7458,225,0,7457, - 225,0,7456,225,0,7219,48,0,7218,48, - 0,7436,586,0,7435,586,0,2166,586,0, - 2225,586,0,2245,586,0,7808,586,0,7541, - 586,0,7540,586,0,7463,586,0,7462,586, - 0,7461,586,0,7460,586,0,7459,586,0, - 7458,586,0,7457,586,0,7456,586,0,7436, - 239,0,7435,239,0,2166,239,0,2225,239, - 0,2245,239,0,7808,239,0,7541,239,0, - 7540,239,0,7463,239,0,7462,239,0,7461, - 239,0,7460,239,0,7459,239,0,7458,239, - 0,7457,239,0,7456,239,0,7475,239,0, - 7474,239,0,7473,239,0,7472,239,0,7471, - 239,0,7470,239,0,7469,239,0,7468,239, - 0,7467,239,0,7466,239,0,7465,239,0, - 7807,239,0,7806,239,0,39,7219,239,0, - 39,7218,239,0,7242,239,0,7210,1,0, - 7209,1,0,1059,235,0,32,388,0,29, - 387,0,1,227,2926,0,7213,227,0,2929, - 227,0,1,227,882,0,1,227,0,43, - 7240,0,43,37,0,3756,126,0,3756,125, - 0,2245,445,0,2225,445,0,2166,445,0, - 7242,445,0,330,445,0,39,445,0,2245, - 598,0,2225,598,0,2166,598,0,2245,596, - 0,2225,596,0,2166,596,0,600,596,0, - 600,595,0,1,2245,0,1,2225,0,1, - 2166,0,7242,1,0,39,1,0,47,37, - 0,574,584,0,3189,227,0,10,12,0, - 1,5693,0,1,2829,0,1,868,0,1, - 90,0,2245,330,0,2225,330,0,2166,330, - 0,501,3348,0,7242,1,227,0,39,1, - 227,0,227,416,0,7219,37,0,7218,37, - 0,7219,2,37,0,7218,2,37,0,7219, - 36,0,7218,36,0,8,10,12,0,1, - 330,0,5880,98,0,7240,45,0,37,45, - 0,7214,405,0,7213,405,0,227,415,0, - 2984,317,0,1,598,0,2016,101,0,2523, - 97,0,2245,93,0,2225,93,0,2166,93, - 0,7242,93,0,330,93,0,39,93,0, - 35,72,0,7808,335,0,7541,335,0,7540, - 335,0,1820,277,0,7216,383,0,7215,383, - 0,501,5767,0,183,4596,0,227,218,0, - 1,2391,0,1,2546,0,2245,593,0,2225, - 593,0,2166,593,0,2245,592,0,2225,592, - 0,2166,592,0,538,539,0,227,217,0, - 7216,1,0,2245,593,594,0,2225,593,594, - 0,2166,593,594,0,593,594,0,3839,383, - 0,8,12,0 + 7471,0,1,7814,0,1,7813,0,39,1, + 7224,0,39,1,7223,0,820,1,0,1, + 4812,0,7442,222,0,7441,222,0,2168,222, + 0,2227,222,0,2247,222,0,7815,222,0, + 7547,222,0,7546,222,0,7469,222,0,7468, + 222,0,7467,222,0,7466,222,0,7465,222, + 0,7464,222,0,7463,222,0,7462,222,0, + 7442,223,0,7441,223,0,2168,223,0,2227, + 223,0,2247,223,0,7815,223,0,7547,223, + 0,7546,223,0,7469,223,0,7468,223,0, + 7467,223,0,7466,223,0,7465,223,0,7464, + 223,0,7463,223,0,7462,223,0,7442,224, + 0,7441,224,0,2168,224,0,2227,224,0, + 2247,224,0,7815,224,0,7547,224,0,7546, + 224,0,7469,224,0,7468,224,0,7467,224, + 0,7466,224,0,7465,224,0,7464,224,0, + 7463,224,0,7462,224,0,2247,395,0,2227, + 395,0,2168,395,0,283,395,0,7442,225, + 0,7441,225,0,2168,225,0,2227,225,0, + 2247,225,0,7815,225,0,7547,225,0,7546, + 225,0,7469,225,0,7468,225,0,7467,225, + 0,7466,225,0,7465,225,0,7464,225,0, + 7463,225,0,7462,225,0,283,288,0,7442, + 226,0,7441,226,0,2168,226,0,2227,226, + 0,2247,226,0,7815,226,0,7547,226,0, + 7546,226,0,7469,226,0,7468,226,0,7467, + 226,0,7466,226,0,7465,226,0,7464,226, + 0,7463,226,0,7462,226,0,7224,48,0, + 7223,48,0,7442,588,0,7441,588,0,2168, + 588,0,2227,588,0,2247,588,0,7815,588, + 0,7547,588,0,7546,588,0,7469,588,0, + 7468,588,0,7467,588,0,7466,588,0,7465, + 588,0,7464,588,0,7463,588,0,7462,588, + 0,7442,240,0,7441,240,0,2168,240,0, + 2227,240,0,2247,240,0,7815,240,0,7547, + 240,0,7546,240,0,7469,240,0,7468,240, + 0,7467,240,0,7466,240,0,7465,240,0, + 7464,240,0,7463,240,0,7462,240,0,7481, + 240,0,7480,240,0,7479,240,0,7478,240, + 0,7477,240,0,7476,240,0,7475,240,0, + 7474,240,0,7473,240,0,7472,240,0,7471, + 240,0,7814,240,0,7813,240,0,39,7224, + 240,0,39,7223,240,0,7247,240,0,7215, + 1,0,7214,1,0,1061,236,0,32,389, + 0,29,388,0,1,228,2928,0,7218,228, + 0,2931,228,0,1,228,884,0,1,228, + 0,43,7245,0,43,37,0,3758,126,0, + 3758,125,0,2247,446,0,2227,446,0,2168, + 446,0,7247,446,0,331,446,0,39,446, + 0,2247,600,0,2227,600,0,2168,600,0, + 2247,598,0,2227,598,0,2168,598,0,602, + 598,0,602,597,0,1,2247,0,1,2227, + 0,1,2168,0,7247,1,0,39,1,0, + 47,37,0,576,586,0,3191,228,0,10, + 12,0,1,5695,0,1,2831,0,1,870, + 0,1,90,0,2247,331,0,2227,331,0, + 2168,331,0,502,3350,0,7247,1,228,0, + 39,1,228,0,228,417,0,7224,37,0, + 7223,37,0,7224,2,37,0,7223,2,37, + 0,7224,36,0,7223,36,0,8,10,12, + 0,3383,192,0,1,331,0,5882,98,0, + 7245,45,0,37,45,0,7219,406,0,7218, + 406,0,228,416,0,2986,318,0,1,600, + 0,2018,101,0,2525,97,0,2247,93,0, + 2227,93,0,2168,93,0,7247,93,0,331, + 93,0,39,93,0,35,72,0,7815,336, + 0,7547,336,0,7546,336,0,1822,278,0, + 7221,384,0,7220,384,0,502,5769,0,183, + 4598,0,228,219,0,1,2393,0,1,2548, + 0,2247,595,0,2227,595,0,2168,595,0, + 2247,594,0,2227,594,0,2168,594,0,540, + 541,0,228,218,0,7221,1,0,2247,595, + 596,0,2227,595,596,0,2168,595,596,0, + 595,596,0,3841,384,0,8,12,0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -1554,21 +1555,21 @@ public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 78,79,80,81,106,11,71,0,0,74, 69,4,5,6,7,0,94,95,96,97, 98,99,100,101,102,103,104,105,106,107, - 108,109,110,0,94,95,114,115,116,117, - 118,119,120,121,122,123,124,125,126,0, + 108,109,110,0,94,95,42,115,116,117, + 118,119,120,121,122,123,124,125,126,127, 128,129,0,1,2,3,4,5,6,7, 8,9,10,11,12,0,1,2,74,0, 1,2,0,4,5,6,7,5,6,7, 28,29,30,31,32,33,34,35,36,37, - 38,39,40,41,45,43,44,0,46,47, + 38,39,40,41,0,43,44,3,46,47, 28,29,30,31,32,33,34,35,36,37, 38,39,40,80,45,107,0,1,2,3, - 4,69,107,71,8,9,74,75,76,77, + 4,69,0,71,8,9,74,75,76,77, 78,79,80,81,0,1,2,3,4,5, 6,7,8,9,0,0,94,95,96,97, 98,99,100,101,102,103,104,105,106,107, - 108,109,110,0,1,2,114,115,116,117, - 118,119,120,121,122,123,124,125,126,0, + 108,109,110,0,0,43,44,115,116,117, + 118,119,120,121,122,123,124,125,126,127, 128,129,0,1,2,3,4,5,6,7, 8,9,10,0,12,13,14,15,16,17, 18,19,20,21,22,23,24,25,26,27, @@ -1576,301 +1577,301 @@ public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 38,39,40,0,42,43,44,4,46,47, 48,49,50,51,52,53,54,55,56,57, 58,59,60,61,62,63,64,65,103,104, - 71,0,70,0,1,2,3,4,5,6, + 106,0,70,0,1,2,3,4,5,6, 7,8,9,10,11,12,13,14,15,16, 17,18,19,20,21,22,23,24,25,26, 27,28,29,30,31,32,33,34,35,36, - 37,38,39,40,41,0,103,104,45,0, + 37,38,39,40,41,0,1,2,45,0, 1,2,49,0,1,2,3,4,5,6, 7,8,9,10,0,12,63,64,65,66, - 67,68,71,28,29,30,0,1,2,76, - 4,5,6,7,81,0,10,0,12,0, - 0,1,2,3,4,10,93,0,8,9, - 11,11,0,1,2,3,4,5,6,7, - 8,9,0,49,111,112,113,0,1,2, + 67,68,0,1,2,0,0,1,2,76, + 4,5,6,7,81,10,10,0,12,0, + 45,0,1,2,3,4,93,0,11,8, + 9,12,11,0,1,2,3,4,5,6, + 7,8,9,0,0,112,113,114,0,1, + 2,3,4,5,6,7,8,9,10,11, + 12,13,14,15,16,17,18,19,20,21, + 22,23,24,25,26,27,28,29,30,31, + 32,33,34,35,36,37,38,39,40,41, + 0,74,71,45,77,74,0,49,77,78, + 4,80,0,1,2,111,0,80,0,76, + 8,63,64,65,66,67,68,96,28,29, + 30,0,1,2,76,4,5,6,7,81, + 0,10,0,12,0,108,0,0,1,2, + 10,93,12,116,117,118,119,120,121,122, + 123,124,125,126,0,112,113,114,4,0, + 112,113,114,0,1,2,3,4,5,6, + 7,8,9,10,11,12,13,14,15,16, + 17,18,19,20,21,22,23,24,25,26, + 27,28,29,30,31,32,33,34,35,36, + 37,38,39,40,41,97,98,71,45,72, + 73,77,49,0,1,2,3,4,5,6, + 7,8,9,10,0,12,63,64,65,66, + 67,68,0,0,1,2,3,4,5,6, + 7,8,9,10,81,12,0,1,2,3, + 4,5,6,7,8,9,93,0,1,2, 3,4,5,6,7,8,9,10,11,12, 13,14,15,16,17,18,19,20,21,22, 23,24,25,26,27,28,29,30,31,32, 33,34,35,36,37,38,39,40,41,0, - 0,71,45,74,74,76,49,77,78,0, - 80,0,1,2,5,6,7,80,76,8, - 63,64,65,66,67,68,96,28,29,30, - 0,1,2,76,4,5,6,7,81,0, - 10,0,12,43,44,108,0,1,2,10, - 93,12,115,116,117,118,119,120,121,122, - 123,124,125,111,112,113,0,0,111,112, - 113,0,1,2,3,4,5,6,7,8, + 1,2,45,0,71,0,49,0,5,6, + 7,4,5,6,7,0,0,10,0,12, + 63,64,65,66,67,68,69,11,0,97, + 98,28,29,30,31,32,33,34,35,36, + 37,38,39,40,45,0,28,29,30,0, + 93,0,1,2,3,4,5,6,7,8, 9,10,11,12,13,14,15,16,17,18, 19,20,21,22,23,24,25,26,27,28, 29,30,31,32,33,34,35,36,37,38, - 39,40,41,0,1,2,45,76,72,73, + 39,40,41,77,45,0,45,81,0,71, 49,0,1,2,3,4,5,6,7,8, - 9,10,0,12,63,64,65,66,67,68, + 9,96,11,0,63,64,65,66,67,68, 0,0,1,2,3,4,5,6,7,8, - 9,10,81,12,0,1,2,3,4,5, - 6,7,8,9,93,0,1,2,3,4, + 9,10,81,12,0,1,2,42,4,5, + 6,7,41,0,93,0,1,2,3,4, 5,6,7,8,9,10,11,12,13,14, 15,16,17,18,19,20,21,22,23,24, 25,26,27,28,29,30,31,32,33,34, 35,36,37,38,39,40,41,0,1,2, - 45,0,71,0,49,0,5,6,7,4, - 5,6,7,0,0,10,0,12,63,64, - 65,66,67,68,69,11,96,11,106,28, - 29,30,31,32,33,34,35,36,37,38, - 39,40,45,0,1,2,43,44,93,0, + 45,4,94,95,49,8,9,76,0,1, + 2,3,4,5,6,7,8,9,63,64, + 65,66,67,68,71,0,1,2,3,4, + 5,6,7,8,9,10,81,12,0,1, + 2,3,4,5,6,7,8,9,93,0, 1,2,3,4,5,6,7,8,9,10, 11,12,13,14,15,16,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,77,0,0,45,81,4,81,49,0, - 1,2,3,4,5,6,7,8,9,96, - 11,0,63,64,65,66,67,68,0,0, - 1,2,3,4,5,6,7,8,9,10, - 81,12,0,1,2,0,4,5,6,7, - 41,0,93,0,1,2,3,4,5,6, + 41,0,1,2,45,4,0,0,49,8, + 9,76,0,1,2,3,4,0,0,0, + 8,9,63,64,65,66,67,68,11,0, + 1,2,3,4,5,6,7,0,1,10, + 81,12,0,1,2,3,4,0,11,42, + 8,9,93,0,1,2,3,4,5,6, 7,8,9,10,11,12,13,14,15,16, 17,18,19,20,21,22,23,24,25,26, 27,28,29,30,31,32,33,34,35,36, - 37,38,39,40,41,0,1,2,45,4, - 97,98,49,8,9,76,0,1,2,3, - 4,5,6,7,8,9,63,64,65,66, - 67,68,71,0,1,2,3,4,5,6, - 7,8,9,10,81,12,0,1,2,3, - 4,5,6,7,8,9,93,0,1,2, + 37,38,39,40,41,0,1,2,45,0, + 71,0,49,8,5,6,7,0,1,2, + 0,74,0,71,0,3,63,64,65,66, + 67,68,0,1,2,0,107,28,29,30, + 31,32,33,34,35,36,37,38,39,40, + 45,94,95,0,127,0,93,0,1,2, 3,4,5,6,7,8,9,10,11,12, 13,14,15,16,17,18,19,20,21,22, 23,24,25,26,27,28,29,30,31,32, 33,34,35,36,37,38,39,40,41,0, - 1,2,45,4,0,0,49,8,9,76, - 0,1,2,3,4,0,12,0,8,9, - 63,64,65,66,67,68,11,0,1,2, - 3,4,5,6,7,0,0,10,81,12, - 0,1,2,3,4,0,11,11,8,9, + 1,2,45,0,72,73,49,96,5,6, + 7,0,1,2,94,95,5,6,7,0, + 63,64,65,66,67,68,71,103,104,94, + 95,28,29,30,31,32,33,34,35,36, + 37,38,39,40,45,0,0,94,95,3, 93,0,1,2,3,4,5,6,7,8, 9,10,11,12,13,14,15,16,17,18, 19,20,21,22,23,24,25,26,27,28, 29,30,31,32,33,34,35,36,37,38, - 39,40,41,0,1,2,45,0,71,0, - 49,8,5,6,7,0,1,2,0,74, - 74,71,77,77,63,64,65,66,67,68, - 0,1,2,0,0,28,29,30,31,32, - 33,34,35,36,37,38,39,40,45,0, - 0,126,97,98,93,0,1,2,3,4, + 39,40,41,0,1,2,45,0,1,2, + 49,4,5,6,7,0,0,10,0,12, + 5,6,7,0,63,64,65,66,67,68, + 0,1,2,3,4,5,6,7,8,9, + 10,0,12,0,1,2,3,4,45,94, + 95,8,9,0,93,0,1,2,3,4, 5,6,7,8,9,10,11,12,13,14, 15,16,17,18,19,20,21,22,23,24, 25,26,27,28,29,30,31,32,33,34, 35,36,37,38,39,40,41,0,1,2, - 45,0,72,73,49,0,5,6,7,0, - 1,2,94,95,5,6,7,108,63,64, - 65,66,67,68,115,0,76,94,95,28, - 29,30,31,32,33,34,35,36,37,38, - 39,40,45,94,95,0,96,42,93,0, + 45,0,1,2,49,4,76,0,0,8, + 9,3,5,6,7,0,1,2,63,64, + 65,66,67,68,71,0,1,2,0,4, + 5,6,7,0,0,10,11,12,0,5, + 6,7,45,5,6,7,45,0,93,0, 1,2,3,4,5,6,7,8,9,10, 11,12,13,14,15,16,17,18,19,20, 21,22,23,24,25,26,27,28,29,30, 31,32,33,34,35,36,37,38,39,40, - 41,0,1,2,45,0,1,2,49,4, - 5,6,7,0,79,10,0,12,5,6, - 7,0,63,64,65,66,67,68,0,1, - 2,3,4,5,6,7,8,9,10,0, - 12,0,1,2,3,4,45,0,0,8, - 9,3,93,0,1,2,3,4,5,6, + 41,0,1,2,45,0,1,2,49,74, + 0,1,2,3,4,77,78,69,8,9, + 77,11,63,64,65,66,67,68,71,0, + 0,96,0,1,2,3,4,5,6,7, + 8,9,0,13,0,0,45,5,6,7, + 45,41,93,0,1,2,3,4,5,6, 7,8,9,10,11,12,13,14,15,16, 17,18,19,20,21,22,23,24,25,26, 27,28,29,30,31,32,33,34,35,36, - 37,38,39,40,41,0,1,2,45,0, - 1,2,49,4,76,0,0,8,9,4, - 0,5,6,7,4,76,63,64,65,66, - 67,68,0,0,1,2,0,4,5,6, - 7,0,0,10,11,12,31,5,6,7, - 45,31,11,127,45,0,93,0,1,2, - 3,4,5,6,7,8,9,10,11,12, - 13,14,15,16,17,18,19,20,21,22, - 23,24,25,26,27,28,29,30,31,32, - 33,34,35,36,37,38,39,40,41,0, - 1,2,45,0,1,2,49,74,0,1, - 2,3,4,77,78,74,8,9,77,11, - 63,64,65,66,67,68,111,112,113,96, - 0,1,2,3,4,5,6,7,8,9, - 0,0,0,3,45,3,5,6,7,41, - 93,0,1,2,3,4,5,6,7,8, - 9,10,11,12,13,14,15,16,17,18, - 19,20,21,22,23,24,25,26,27,28, - 29,30,31,32,33,34,35,36,37,38, - 39,40,41,0,1,2,45,0,1,2, - 49,4,5,6,7,0,76,10,3,12, - 69,71,0,1,63,64,65,66,67,68, - 0,1,2,0,4,5,6,7,0,0, - 0,1,2,0,1,2,3,4,8,9, - 28,8,9,10,93,12,13,14,15,16, - 17,18,19,20,21,22,23,24,25,26, - 27,0,0,0,3,45,43,44,5,6, - 7,0,11,45,11,42,43,44,0,46, - 47,48,11,50,51,52,53,54,55,56, - 57,58,59,60,61,62,0,1,2,70, - 67,0,0,70,41,72,73,0,1,2, - 3,4,41,0,0,8,9,10,4,12, - 13,14,15,16,17,18,19,20,21,22, - 23,24,25,26,27,74,0,1,2,77, - 77,5,6,7,42,0,10,45,3,42, - 43,44,0,46,47,48,4,50,51,52, - 53,54,55,56,57,58,59,60,61,62, - 0,1,2,0,0,1,2,70,4,72, - 73,45,8,9,11,78,0,1,2,3, - 4,46,47,0,8,9,10,11,12,13, - 14,15,16,17,18,19,20,21,22,23, - 24,25,26,27,41,45,71,0,1,45, - 0,69,0,3,0,1,2,10,42,43, - 44,11,46,47,48,11,50,51,52,53, - 54,55,56,57,58,59,60,61,62,0, - 0,1,2,4,0,0,70,0,3,114, - 3,75,0,1,2,3,4,81,11,76, - 8,9,10,128,12,13,14,15,16,17, - 18,19,20,21,22,23,24,25,26,27, - 0,71,0,71,74,45,0,77,78,75, - 0,1,0,11,42,43,44,11,46,47, - 48,11,50,51,52,53,54,55,56,57, - 58,59,60,61,62,0,1,2,71,0, - 0,74,70,41,72,73,0,1,2,3, - 4,11,42,0,8,9,10,0,12,13, - 14,15,16,17,18,19,20,21,22,23, - 24,25,26,27,0,1,2,77,78,77, - 45,75,8,9,74,0,0,0,42,43, - 44,4,46,47,48,42,50,51,52,53, - 54,55,56,57,58,59,60,61,62,0, - 0,0,0,0,74,0,70,78,72,73, - 0,1,2,3,4,13,11,0,8,9, - 10,0,12,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,0,0, - 0,94,95,5,6,7,69,45,0,0, - 11,49,42,43,44,0,46,47,48,11, - 50,51,52,53,54,55,56,57,58,59, - 60,61,62,0,0,0,0,78,3,74, - 70,78,72,73,0,1,2,3,4,13, - 0,0,8,9,10,11,12,13,14,15, + 37,38,39,40,41,0,66,0,45,0, + 1,2,49,4,5,6,7,0,76,10, + 0,12,5,6,7,71,63,64,65,66, + 67,68,0,1,2,0,4,5,6,7, + 0,0,0,1,2,0,1,2,3,4, + 8,9,0,8,9,10,93,12,13,14, + 15,16,17,18,19,20,21,22,23,24, + 25,26,27,0,69,0,3,45,43,44, + 5,6,7,0,11,78,11,42,43,44, + 0,46,47,48,11,50,51,52,53,54, + 55,56,57,58,59,60,61,62,0,1, + 2,0,67,0,3,70,41,72,73,0, + 1,2,3,4,0,1,2,8,9,10, + 78,12,13,14,15,16,17,18,19,20, + 21,22,23,24,25,26,27,74,0,1, + 2,111,77,5,6,7,0,0,10,3, + 3,42,43,44,81,46,47,48,78,50, + 51,52,53,54,55,56,57,58,59,60, + 61,62,0,1,2,0,0,1,2,70, + 4,72,73,45,8,9,11,78,0,1, + 2,3,4,46,47,0,8,9,10,11, + 12,13,14,15,16,17,18,19,20,21, + 22,23,24,25,26,27,41,45,71,0, + 0,45,0,3,0,3,80,3,0,1, + 42,43,44,11,46,47,48,0,50,51, + 52,53,54,55,56,57,58,59,60,61, + 62,0,1,2,0,0,28,3,70,8, + 9,0,115,75,0,1,2,3,4,81, + 0,76,8,9,10,128,12,13,14,15, 16,17,18,19,20,21,22,23,24,25, - 26,27,0,0,75,94,95,5,6,7, - 0,45,0,3,69,49,42,43,44,81, + 26,27,0,71,0,71,74,0,0,77, + 78,3,0,1,2,11,42,43,44,11, 46,47,48,11,50,51,52,53,54,55, - 56,57,58,59,60,61,62,130,0,1, - 2,3,4,0,70,80,8,9,10,75, + 56,57,58,59,60,61,62,108,0,0, + 0,76,0,0,70,116,72,73,0,1, + 2,3,4,11,11,0,8,9,10,79, 12,13,14,15,16,17,18,19,20,21, - 22,23,24,25,26,27,0,0,0,0, - 0,0,3,0,0,94,95,11,11,11, - 42,43,44,80,46,47,48,75,50,51, + 22,23,24,25,26,27,0,0,74,71, + 76,0,74,43,44,78,0,75,11,0, + 42,43,44,0,46,47,48,11,50,51, 52,53,54,55,56,57,58,59,60,61, - 62,0,0,0,3,0,3,41,70,41, - 72,73,0,1,2,3,4,0,0,76, - 8,9,10,11,12,13,14,15,16,17, + 62,0,1,2,76,76,74,74,70,77, + 72,73,0,1,2,3,4,41,0,0, + 8,9,10,78,12,13,14,15,16,17, 18,19,20,21,22,23,24,25,26,27, - 71,74,69,69,42,0,0,45,78,76, - 0,80,78,0,42,43,44,11,46,47, + 0,74,76,0,77,5,6,7,0,0, + 0,80,3,77,42,43,44,78,46,47, 48,11,50,51,52,53,54,55,56,57, - 58,59,60,61,62,101,102,0,0,0, - 3,3,70,109,110,0,69,75,0,1, - 2,3,4,0,76,78,8,9,10,11, + 58,59,60,61,62,0,1,2,0,0, + 0,0,70,3,72,73,0,1,2,3, + 4,13,11,0,8,9,10,11,12,13, + 14,15,16,17,18,19,20,21,22,23, + 24,25,26,27,0,0,0,69,4,0, + 71,0,1,45,76,75,11,49,42,43, + 44,10,46,47,48,42,50,51,52,53, + 54,55,56,57,58,59,60,61,62,130, + 0,1,2,3,4,74,70,78,8,9, + 10,75,12,13,14,15,16,17,18,19, + 20,21,22,23,24,25,26,27,0,0, + 0,0,3,69,3,0,0,0,0,11, + 75,11,42,43,44,76,46,47,48,11, + 50,51,52,53,54,55,56,57,58,59, + 60,61,62,0,0,96,0,0,0,41, + 70,3,72,73,0,1,2,3,4,0, + 45,0,8,9,10,11,12,13,14,15, + 16,17,18,19,20,21,22,23,24,25, + 26,27,0,0,0,69,42,0,0,45, + 3,81,74,11,78,11,42,43,44,11, + 46,47,48,0,50,51,52,53,54,55, + 56,57,58,59,60,61,62,101,102,0, + 77,78,0,41,70,109,110,80,69,75, + 0,1,2,3,4,13,0,78,8,9, + 10,11,12,13,14,15,16,17,18,19, + 20,21,22,23,24,25,26,27,74,0, + 101,102,0,75,45,0,4,45,109,110, + 11,49,42,43,44,0,46,47,48,76, + 50,51,52,53,54,55,56,57,58,59, + 60,61,62,0,1,2,3,4,0,0, + 41,8,9,10,0,12,13,14,15,16, + 17,18,19,20,21,22,23,24,25,26, + 27,0,0,0,0,0,3,3,0,4, + 0,69,11,11,69,42,43,44,0,46, + 47,48,4,50,51,52,53,54,55,56, + 57,58,59,60,61,62,31,127,0,1, + 2,3,4,70,0,0,8,9,10,31, 12,13,14,15,16,17,18,19,20,21, - 22,23,24,25,26,27,0,0,101,102, - 74,0,0,78,74,0,109,110,3,13, - 42,43,44,80,46,47,48,0,50,51, + 22,23,24,25,26,27,0,0,0,3, + 3,3,0,0,0,74,3,3,70,0, + 42,43,44,81,46,47,48,77,50,51, 52,53,54,55,56,57,58,59,60,61, - 62,0,1,2,3,4,0,78,0,8, - 9,10,77,12,13,14,15,16,17,18, - 19,20,21,22,23,24,25,26,27,0, - 0,0,66,3,3,0,0,0,3,3, - 11,0,71,42,43,44,0,46,47,48, - 78,50,51,52,53,54,55,56,57,58, - 59,60,61,62,126,0,1,2,3,4, - 127,70,0,8,9,10,0,12,13,14, - 15,16,17,18,19,20,21,22,23,24, - 25,26,27,0,0,0,3,3,0,0, - 0,0,3,3,3,0,0,42,43,44, - 81,46,47,48,77,50,51,52,53,54, - 55,56,57,58,59,60,61,62,0,0, - 1,2,3,4,0,0,71,8,9,10, - 45,12,13,14,15,16,17,18,19,20, - 21,22,23,24,25,26,27,0,0,0, - 0,3,3,0,0,0,0,3,8,3, - 0,42,43,44,76,46,47,48,13,50, - 51,52,53,54,55,56,57,58,59,60, - 61,62,0,1,2,3,4,0,0,71, + 62,0,0,1,2,3,4,0,0,71, 8,9,10,69,12,13,14,15,16,17, 18,19,20,21,22,23,24,25,26,27, - 0,0,0,0,0,3,3,0,0,0, - 0,96,3,76,42,43,44,0,46,47, - 48,78,50,51,52,53,54,55,56,57, + 112,113,114,0,0,0,3,0,3,0, + 0,4,0,3,42,43,44,8,46,47, + 48,0,50,51,52,53,54,55,56,57, 58,59,60,61,62,0,1,2,3,4, - 0,0,0,8,9,10,69,12,13,14, + 69,0,0,8,9,10,69,12,13,14, 15,16,17,18,19,20,21,22,23,24, - 25,26,27,0,0,0,0,0,0,0, - 0,3,71,0,0,0,76,42,43,44, - 76,46,47,48,77,50,51,52,53,54, + 25,26,27,42,0,0,45,0,3,0, + 0,0,0,3,96,3,0,42,43,44, + 76,46,47,48,13,50,51,52,53,54, 55,56,57,58,59,60,61,62,0,1, - 2,3,4,0,0,127,8,9,10,0, + 2,3,4,0,0,0,8,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,0,0,69,0,0,0,69,76, - 42,43,44,77,46,47,48,80,50,51, + 3,3,0,0,0,0,0,0,0,0, + 42,43,44,76,46,47,48,78,50,51, 52,53,54,55,56,57,58,59,60,61, - 62,0,1,2,3,4,0,0,42,8, - 9,10,45,12,13,14,15,16,17,18, + 62,0,1,2,3,4,0,0,0,8, + 9,10,0,12,13,14,15,16,17,18, 19,20,21,22,23,24,25,26,27,80, 0,0,0,0,0,0,0,0,0,0, - 0,0,11,42,43,44,77,46,47,48, + 0,0,76,42,43,44,77,46,47,48, 77,50,51,52,53,54,55,56,57,58, 59,60,61,62,0,1,2,3,4,0, - 0,0,8,9,10,0,12,13,14,15, + 0,0,8,9,10,45,12,13,14,15, 16,17,18,19,20,21,22,23,24,25, - 26,27,0,0,0,3,0,0,0,0, - 8,0,10,0,12,74,42,43,44,77, - 46,47,48,80,50,51,52,53,54,55, - 56,57,58,59,60,61,62,96,0,0, - 0,0,0,0,0,43,44,0,46,47, - 48,45,45,45,69,0,0,0,0,80, - 80,80,0,78,0,0,0,0,0,0, - 0,69,0,71,72,73,0,0,0,77, - 78,0,80,0,0,0,101,102,0,0, - 0,0,0,0,109,110,94,95,0,97, - 0,99,100,101,102,103,104,105,106,107, - 108,0,0,0,0,0,114,0,116,117, - 118,119,120,121,122,123,124,125,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,28,29,30,31, - 32,33,34,35,36,37,38,39,40,0, - 0,0,0,0,0,0,0,49,0,0, - 0,0,1,2,0,4,5,6,7,0, - 0,63,64,65,13,14,15,16,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,0,0,0,0,0,0,0, - 49,0,0,0,0,0,0,0,5,6, - 7,0,0,0,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,40,0,1,2,3,4,5, - 6,7,8,9,10,11,12,0,0,1, + 26,27,80,0,0,0,0,0,0,0, + 0,0,0,0,0,11,42,43,44,77, + 46,47,48,76,50,51,52,53,54,55, + 56,57,58,59,60,61,62,0,1,2, + 3,4,0,0,0,8,9,10,0,12, + 13,14,15,16,17,18,19,20,21,22, + 23,24,25,26,27,0,0,0,3,0, + 0,0,0,8,0,10,0,12,74,42, + 43,44,77,46,47,48,80,50,51,52, + 53,54,55,56,57,58,59,60,61,62, + 96,0,0,0,0,0,0,0,43,44, + 0,46,47,48,111,45,49,69,111,77, + 0,45,0,80,80,0,78,0,0,0, + 0,0,0,0,69,0,71,72,73,0, + 0,0,77,78,0,80,80,45,0,101, + 102,80,0,0,0,0,0,109,110,94, + 95,0,97,0,99,100,101,102,103,104, + 105,106,107,108,0,0,0,0,0,0, + 115,0,117,118,119,120,121,122,123,124, + 125,126,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, + 28,29,30,31,32,33,34,35,36,37, + 38,39,40,0,0,0,0,0,0,0, + 0,49,0,0,0,0,1,2,0,4, + 5,6,7,0,0,63,64,65,13,14, + 15,16,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,0,0,0, + 0,0,0,0,49,0,0,0,0,0, + 0,0,5,6,7,0,0,0,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,40,0,1, 2,3,4,5,6,7,8,9,10,11, - 12,0,28,29,30,31,32,33,34,35, - 36,37,38,39,40,41,28,29,30,31, + 12,0,0,1,2,3,4,5,6,7, + 8,9,10,11,12,0,28,29,30,31, 32,33,34,35,36,37,38,39,40,41, + 28,29,30,31,32,33,34,35,36,37, + 38,39,40,41,0,0,0,0,0,0, + 0,0,0,0,0,0,0,69,0,71, + 0,0,74,0,0,0,0,0,0,0, + 0,0,0,71,0,0,74,0,1,2, + 3,4,5,6,7,8,9,10,11,12, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,69,0,71,0,0,74,0, - 0,0,0,0,0,0,0,0,0,71, - 0,0,74,0,1,2,3,4,5,6, - 7,8,9,10,11,12,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,28,29,30,31,32,33,34,35,36, - 37,38,39,40,41,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,28,29,30,31,32, + 33,34,35,36,37,38,39,40,41,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,71,0,0,74,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,71,0, + 0,74,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 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; @@ -1878,458 +1879,459 @@ public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface TermAction { public final static char termAction[] = {0, - 7204,6912,6926,6926,6926,6922,6926,6926,6926,6926, - 6926,7004,6926,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, + 7209,6914,6928,6928,6928,6924,6928,6928,6928,6928, + 6928,7006,6928,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,6916,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,2048,7377,1882,7204, - 1,7204,1,1,2307,7215,7204,6365,6362,2200, - 7242,7211,3029,1714,2264,1537,2923,4116,3023,1776, - 3011,697,2940,10,7007,7007,7007,7007,7007,7007, - 7007,7007,7007,7007,7007,7007,7007,7007,7007,7007, - 7007,7007,7007,7007,7007,7007,7007,7007,7007,7007, - 7007,7007,7007,7007,7007,7007,7007,7007,7007,7007, - 7007,7007,7007,7007,7007,7007,7007,7007,2750,7007, - 7007,7007,7007,7007,7007,7007,7007,7007,7007,7007, - 7007,7007,7007,7007,7007,7007,7007,7007,7007,7007, - 7007,7007,7204,7007,598,7007,7007,384,7007,6959, - 6965,6962,7007,7204,7007,7007,7007,7007,7007,7007, - 7007,7007,7007,7007,7007,7007,8,7065,7065,7065, - 7065,7065,7065,7065,7065,7065,7065,7065,7065,7065, - 7065,7065,7065,7065,7065,7065,7065,7065,7065,7065, - 7065,7065,7065,7065,7065,7065,7065,7065,7065,7065, - 7065,7065,7065,7065,7065,7065,7065,7065,7065,7065, - 7065,3181,7065,7065,7065,7065,7065,7065,7065,7065, - 7065,7065,7065,7065,7065,7065,7065,7065,7065,7065, - 7065,7065,7065,7065,7065,7204,7065,330,7065,7065, - 7204,7065,2245,2166,2225,7065,7204,7065,7065,7065, - 7065,7065,7065,7065,7065,7065,7065,7065,7065,7204, - 6912,6926,6926,6926,6922,6926,6926,6926,6926,6926, - 6919,6926,1,1,1,1,1,1,1,1, + 1,6918,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,2050,7382,1884,7209, + 1,7209,1,1,2309,7220,7209,6367,6364,2202, + 7247,7216,3031,1716,2266,1539,2925,4118,3025,1778, + 3013,699,2942,10,7009,7009,7009,7009,7009,7009, + 7009,7009,7009,7009,7009,7009,7009,7009,7009,7009, + 7009,7009,7009,7009,7009,7009,7009,7009,7009,7009, + 7009,7009,7009,7009,7009,7009,7009,7009,7009,7009, + 7009,7009,7009,7009,7009,7009,7009,7009,2752,7009, + 7009,7009,7009,7009,7009,7009,7009,7009,7009,7009, + 7009,7009,7009,7009,7009,7009,7009,7009,7009,7009, + 7009,7009,7209,7009,600,7009,7009,385,7009,6961, + 6967,6964,7009,7209,7009,7009,7009,7009,7009,7009, + 7009,7009,7009,7009,7009,7009,8,7067,7067,7067, + 7067,7067,7067,7067,7067,7067,7067,7067,7067,7067, + 7067,7067,7067,7067,7067,7067,7067,7067,7067,7067, + 7067,7067,7067,7067,7067,7067,7067,7067,7067,7067, + 7067,7067,7067,7067,7067,7067,7067,7067,7067,7067, + 7067,3183,7067,7067,7067,7067,7067,7067,7067,7067, + 7067,7067,7067,7067,7067,7067,7067,7067,7067,7067, + 7067,7067,7067,7067,7067,7209,7067,331,7067,7067, + 7209,7067,2247,2168,2227,7067,7209,7067,7067,7067, + 7067,7067,7067,7067,7067,7067,7067,7067,7067,7209, + 6914,6928,6928,6928,6924,6928,6928,6928,6928,6928, + 6921,6928,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 6916,1,1,1,3855,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,2048,7377,1882,7204,1, - 113,1,1,7204,7215,7204,6365,6362,2200,7242, - 5057,3029,1714,2264,1537,2923,4116,3023,1776,3011, - 697,2940,7204,6912,6926,6926,6926,6922,6926,6926, - 6926,6926,6926,6919,6926,1,1,1,1,1, + 6918,1,1,1,3857,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,2050,7382,1884,7209,1, + 113,1,1,7209,7220,7209,6367,6364,2202,7247, + 5059,3031,1716,2266,1539,2925,4118,3025,1778,3013, + 699,2942,7209,6914,6928,6928,6928,6924,6928,6928, + 6928,6928,6928,6921,6928,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,6916,1,1,1,4219,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,2048,7377, - 1882,29,1,115,1,1,7204,7215,39,5034, - 5011,2200,7242,5057,3029,1714,2264,1537,2923,4116, - 3023,1776,3011,697,2940,7204,6912,6926,6926,6926, - 6922,6926,6926,6926,6926,6926,6919,6926,1,1, + 1,1,1,6918,1,1,1,4221,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,2050,7382, + 1884,29,1,115,1,1,7209,7220,39,5036, + 5013,2202,7247,5059,3031,1716,2266,1539,2925,4118, + 3025,1778,3013,699,2942,7209,6914,6928,6928,6928, + 6924,6928,6928,6928,6928,6928,6921,6928,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,6916,1,1,1, - 6368,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,2048,7377,1882,440,1,114,1,1,7204, - 7215,109,5034,5011,2200,7204,5057,3029,1714,2264, - 1537,2923,4116,3023,1776,3011,697,2940,7204,6912, - 6926,6926,6926,6922,6926,6926,6926,6926,6926,6919, - 6926,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,6918,1,1,1, + 6370,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,6916, - 1,1,1,6371,1,1,1,1,1,1, + 1,2050,7382,1884,441,1,114,1,1,7209, + 7220,109,5036,5013,2202,192,5059,3031,1716,2266, + 1539,2925,4118,3025,1778,3013,699,2942,7209,6914, + 6928,6928,6928,6924,6928,6928,6928,6928,6928,6921, + 6928,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,2048,7377,1882,3381,1,7204, - 1,1,1059,7215,112,5034,5011,2200,5341,5364, - 3029,1714,2264,1537,2923,4116,3023,1776,3011,697, - 2940,7204,6912,6926,6926,6926,6922,6926,6926,6926, - 6926,6926,6919,6926,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,6918, + 1,1,1,6373,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,2050,7382,1884,7071,1,7209, + 1,1,1061,7220,112,5036,5013,2202,5343,5366, + 3031,1716,2266,1539,2925,4118,3025,1778,3013,699, + 2942,7209,6914,6928,6928,6928,6924,6928,6928,6928, + 6928,6928,6921,6928,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,6916,1,1,1,7204,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,2048,7377,1882, - 454,1,330,1,1,7204,7215,7022,7028,7025, - 2200,5341,5364,3029,1714,2264,1537,2923,4116,3023, - 1776,3011,697,2940,7204,6912,6926,6926,6926,6922, - 6926,6926,6926,6926,6926,6919,6926,1,1,1, + 1,1,6918,1,1,1,7209,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,2050,7382,1884, + 455,1,331,1,1,7209,7220,7024,7030,7027, + 2202,5343,5366,3031,1716,2266,1539,2925,4118,3025, + 1778,3013,699,2942,7209,6914,6928,6928,6928,6924, + 6928,6928,6928,6928,6928,6921,6928,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,6916,1,1,1,6374, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,6918,1,1,1,6376, 1,1,1,1,1,1,1,1,1,1, - 2048,7377,1882,387,1,395,1,1,7204,7215, - 2245,2166,2225,2200,7204,6361,3029,1714,2264,1537, - 2923,4116,3023,1776,3011,697,2940,7204,6912,6926, - 6926,6926,6922,6926,6926,6926,6926,6926,6919,6926, 1,1,1,1,1,1,1,1,1,1, + 2050,7382,1884,388,1,396,1,1,7209,7220, + 2247,2168,2227,2202,7209,6363,3031,1716,2266,1539, + 2925,4118,3025,1778,3013,699,2942,7209,6914,6928, + 6928,6928,6924,6928,6928,6928,6928,6928,6921,6928, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,6916,1, - 1,1,6422,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,2048,7377,1882,129,1,597,1, - 1,7204,7215,2245,2166,2225,2200,7204,3218,3029, - 1714,2264,1537,2923,4116,3023,1776,3011,697,2940, - 7204,6912,6926,6926,6926,6922,6926,6926,6926,6926, - 6926,6919,6926,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,6918,1, + 1,1,6424,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,2050,7382,1884,129,1,599,1, + 1,7209,7220,2247,2168,2227,2202,7209,3220,3031, + 1716,2266,1539,2925,4118,3025,1778,3013,699,2942, + 7209,6914,6928,6928,6928,6924,6928,6928,6928,6928, + 6928,6921,6928,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,6916,1,1,1,564,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,2048,7377,1882,131, - 1,312,1,1,7767,7215,2245,2166,2225,2200, - 7204,3850,3029,1714,2264,1537,2923,4116,3023,1776, - 3011,697,2940,7204,6912,6926,6926,6926,6922,6926, - 6926,6926,6926,6926,6919,6926,1,1,1,1, + 1,6918,1,1,1,566,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,2050,7382,1884,131, + 1,313,1,1,7774,7220,2247,2168,2227,2202, + 7209,3852,3031,1716,2266,1539,2925,4118,3025,1778, + 3013,699,2942,7209,6914,6928,6928,6928,6924,6928, + 6928,6928,6928,6928,6921,6928,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,6916,1,1,1,7204,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,2048, - 7377,1882,7204,1,297,1,1,7204,7215,2245, - 2166,2225,2200,7204,3114,3029,1714,2264,1537,2923, - 4116,3023,1776,3011,697,2940,7204,6912,6926,6926, - 6926,6922,6926,6926,6926,6926,6926,6919,6926,1, + 1,1,1,1,6918,1,1,1,7209,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,2050, + 7382,1884,7209,1,298,1,1,7209,7220,2247, + 2168,2227,2202,7209,3116,3031,1716,2266,1539,2925, + 4118,3025,1778,3013,699,2942,7209,6914,6928,6928, + 6928,6924,6928,6928,6928,6928,6928,6921,6928,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,6916,1,1, - 1,749,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,2048,7377,1882,132,1,601,1,1, - 7204,7215,2245,2166,2225,2200,7204,7204,3029,1714, - 2264,1537,2923,4116,3023,1776,3011,697,2940,7204, - 6912,6926,6926,6926,6922,6926,6926,6926,6926,6926, - 6919,6926,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,6918,1,1, + 1,751,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,2050,7382,1884,132,1,603,1,1, + 7209,7220,2247,2168,2227,2202,7209,7209,3031,1716, + 2266,1539,2925,4118,3025,1778,3013,699,2942,7209, + 6914,6928,6928,6928,6924,6928,6928,6928,6928,6928, + 6921,6928,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 6916,1,1,1,7204,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,2048,7377,1882,133,1, - 590,1,1,7204,7215,2245,2166,2225,2200,155, - 3114,3029,1714,2264,1537,2923,4116,3023,1776,3011, - 697,2940,7204,6425,6425,6425,6425,6425,6425,6425, - 6425,6425,6425,6425,6425,1,6480,6476,3959,6484, - 119,396,222,868,2829,387,6897,6550,6544,6547, - 6425,6425,6425,6425,6425,6425,6425,6425,6425,6425, - 6425,6425,6425,6425,89,6425,6425,6419,6425,6425, - 6559,6556,6553,6565,6583,6562,6574,6541,6568,6571, - 6580,6577,6538,287,6694,6694,1633,282,2245,2166, - 2225,6425,7204,6425,7204,3066,6425,6425,6425,6425, - 6425,6425,6425,6425,3068,7210,2221,395,135,6900, - 749,388,2245,2166,2225,136,6425,6425,6425,6425, - 6425,6425,6425,6425,6425,6425,6425,6425,6425,6425, - 6425,6425,6425,7204,4061,4092,6425,6425,6425,6425, - 6425,6425,6425,6425,6425,6425,6425,6425,6425,37, - 6425,6425,7204,6428,6428,6428,6428,6428,6428,6428, - 6428,6428,6428,6428,6428,7204,7218,7219,7209,394, - 6643,6643,223,282,6634,6640,6637,6598,6592,6595, - 6428,6428,6428,6428,6428,6428,6428,6428,6428,6428, - 6428,6428,6428,6428,7240,6428,6428,7204,6428,6428, - 6607,6604,6601,6613,6631,6610,6622,6589,6616,6619, - 6628,6625,6586,2057,282,2956,1,6480,6476,7010, - 6484,6428,2956,6428,7016,7013,6428,6428,6428,6428, - 6428,6428,6428,6428,330,6365,6362,5693,818,2245, - 2166,2225,868,2829,7204,127,6428,6428,6428,6428, - 6428,6428,6428,6428,6428,6428,6428,6428,6428,6428, - 6428,6428,6428,7204,6748,6745,6428,6428,6428,6428, - 6428,6428,6428,6428,6428,6428,6428,6428,6428,458, - 6428,6428,39,6365,6362,3142,818,2245,2166,2225, - 3431,2829,5226,128,5249,889,7806,7807,7467,7465, - 7474,7473,7469,7470,7468,7471,7472,7475,7466,5499, - 7540,7541,7808,7462,7456,7463,7459,7435,7461,7460, - 7457,7458,7436,7204,7223,5203,5180,1676,5295,5272, - 2858,7602,812,1038,7225,918,5455,1024,7226,7224, - 723,7220,7221,7222,5433,3820,7603,7604,3316,3259, - 6410,457,1584,7204,7038,7038,227,7034,6926,6926, - 6926,227,227,227,7042,227,1,1,1,1, + 6918,1,1,1,7209,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,2050,7382,1884,133,1, + 592,1,1,7209,7220,2247,2168,2227,2202,155, + 3116,3031,1716,2266,1539,2925,4118,3025,1778,3013, + 699,2942,7209,6427,6427,6427,6427,6427,6427,6427, + 6427,6427,6427,6427,6427,1,6482,6478,3961,6486, + 119,397,223,870,2831,388,6899,6552,6546,6549, + 6427,6427,6427,6427,6427,6427,6427,6427,6427,6427, + 6427,6427,6427,6427,89,6427,6427,6421,6427,6427, + 6561,6558,6555,6567,6585,6564,6576,6543,6570,6573, + 6582,6579,6540,288,6696,6696,1635,283,2247,2168, + 2227,6427,7209,6427,7209,3557,6427,6427,6427,6427, + 6427,6427,6427,6427,3070,7215,2223,396,135,6902, + 751,389,2247,2168,2227,7209,6427,6427,6427,6427, + 6427,6427,6427,6427,6427,6427,6427,6427,6427,6427, + 6427,6427,6427,7209,4063,4094,3538,6427,6427,6427, + 6427,6427,6427,6427,6427,6427,6427,6427,6427,6427, + 6427,6427,7209,6430,6430,6430,6430,6430,6430,6430, + 6430,6430,6430,6430,6430,7209,7223,7224,7214,395, + 6645,6645,224,283,6636,6642,6639,6600,6594,6597, + 6430,6430,6430,6430,6430,6430,6430,6430,6430,6430, + 6430,6430,6430,6430,7209,6430,6430,1974,6430,6430, + 6609,6606,6603,6615,6633,6612,6624,6591,6618,6621, + 6630,6627,6588,2059,283,2958,1,6482,6478,7012, + 6486,6430,116,6430,7018,7015,6430,6430,6430,6430, + 6430,6430,6430,6430,331,6367,6364,5695,820,2247, + 2168,2227,870,2831,134,127,6430,6430,6430,6430, + 6430,6430,6430,6430,6430,6430,6430,6430,6430,6430, + 6430,6430,6430,7209,7209,4846,4757,6430,6430,6430, + 6430,6430,6430,6430,6430,6430,6430,6430,6430,6430, + 6430,6430,39,6367,6364,3144,820,2247,2168,2227, + 3433,2831,5228,7209,5251,891,7813,7814,7473,7471, + 7480,7479,7475,7476,7474,7477,7478,7481,7472,5501, + 7546,7547,7815,7468,7462,7469,7465,7441,7467,7466, + 7463,7464,7442,7209,7228,5205,5182,1678,5297,5274, + 2860,7608,814,1040,7230,920,5457,1026,7231,7229, + 725,7225,7226,7227,5435,3822,7609,7610,3318,3261, + 3070,7209,1586,7209,7040,7040,228,7036,6928,6928, + 6928,228,228,228,7044,228,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,227,335,3316,3259,7031,48, - 6748,6745,1,308,6480,6476,5693,6484,6983,6989, - 6986,868,2829,7069,7204,7069,1,1,1,3879, - 7616,2099,6413,7129,7126,7123,444,6407,6407,227, - 6407,6407,6407,6407,416,7204,6407,7204,6407,7204, - 1,6480,6476,3959,6484,5602,7704,137,868,2829, - 7210,366,1,6480,6476,5693,6484,6983,6989,6986, - 868,2829,439,3182,7639,7640,7641,7204,7038,7038, - 227,7034,6926,6926,6926,227,227,227,7087,227, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,228,7209,11568,11568,7033,7209, + 6750,6747,1,309,6482,6478,5695,6486,6985,6991, + 6988,870,2831,7074,523,7074,1,1,1,3881, + 7622,2101,48,6750,6747,7209,445,6409,6409,228, + 6409,6409,6409,6409,417,5604,6409,7209,6409,130, + 7245,1,6482,6478,3961,6486,7710,137,7215,870, + 2831,3220,367,1,6482,6478,5695,6486,6985,6991, + 6988,870,2831,440,7209,7645,7646,7647,7209,7040, + 7040,228,7036,6928,6928,6928,228,228,228,7092, + 228,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,227,335, - 116,2221,7031,7209,366,1477,1,366,366,589, - 1375,7204,7218,7219,2245,2166,2225,2172,2571,1656, - 1,1,1,3879,7616,2099,366,7540,7541,7808, - 445,6956,6956,227,6950,6941,6947,6944,415,7204, - 6953,1,6953,4844,4755,1166,7204,7218,7219,5105, - 7704,4663,2900,2123,2074,2025,1976,1927,1878,1829, - 1780,1731,1682,7639,7640,7641,7204,7204,7639,7640, - 7641,7204,6926,6926,227,6926,6922,6926,6926,227, - 227,227,7147,227,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,228, + 336,7214,2223,7033,1107,367,7209,1,367,367, + 1776,1377,7209,7223,7224,1,7209,2174,111,2573, + 1658,1,1,1,3881,7622,2101,367,7134,7131, + 7128,446,6958,6958,228,6952,6943,6949,6946,416, + 7209,6955,7209,6955,516,1168,459,7209,7223,7224, + 5107,7710,4665,2902,2125,2076,2027,1978,1929,1880, + 1831,1782,1733,1684,7209,7645,7646,7647,2122,7209, + 7645,7646,7647,7209,6928,6928,228,6928,6924,6928, + 6928,228,228,228,7152,228,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,11276,1,11901,1,1, - 11902,1,227,397,7218,7219,7141,2,5318,1216, - 1,7204,6480,6476,5693,6484,6983,6989,6986,868, - 2829,7093,134,7093,1,1,1,5805,7413,1882, - 357,344,6365,6362,3959,818,2245,2166,2225,868, - 2829,330,218,330,1,6480,6476,5693,6484,6983, - 6989,6986,868,2829,7704,7204,6926,6926,227,6926, - 6922,6926,6926,227,227,227,227,227,1,1, + 1,1,1,1,1,1,1,11612,1,11917, + 1,1,11943,1,228,5343,5366,6412,7146,5320, + 1218,994,1,7209,6482,6478,5695,6486,6985,6991, + 6988,870,2831,7098,7209,7098,1,1,1,5807, + 7419,1884,110,345,6367,6364,3961,820,2247,2168, + 2227,870,2831,331,219,331,1,6482,6478,5695, + 6486,6985,6991,6988,870,2831,7710,7209,6928,6928, + 228,6928,6924,6928,6928,228,228,228,228,228, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,11276, - 1,11901,1,1,11902,1,227,7204,11713,11713, - 7141,224,2221,118,1,39,6658,6652,6655,7242, - 2245,2166,2225,1,7204,330,1,330,1,1, - 1,5805,7413,1882,3465,7212,7560,6416,3068,6667, - 6664,6661,6673,6691,6670,6682,6649,6676,6679,6688, - 6685,6646,7240,36,7062,7059,4844,4755,7704,7204, - 6926,6926,227,6926,6922,6926,6926,227,227,227, - 7177,227,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,11276,1,11901,1,1,11902,1, - 227,1117,7204,111,7141,7211,1774,7211,1,1, - 6480,6476,5693,6484,6983,6989,6986,868,2829,7562, - 308,7204,1,1,1,5805,7413,1882,7204,7204, - 6480,6476,5693,6484,6983,6989,6986,868,2829,7069, - 217,7069,595,6980,6980,7204,600,2245,2166,2225, - 308,347,7704,7204,6926,6926,227,6926,6922,6926, - 6926,227,227,227,7147,227,1,1,1,1, + 1,11612,1,11917,1,1,11943,1,228,43, + 6934,6934,7146,225,2223,7209,1,39,6660,6654, + 6657,7247,2247,2168,2227,358,7209,331,336,331, + 1,1,1,5807,7419,1884,3467,7217,458,5343, + 5366,6669,6666,6663,6675,6693,6672,6684,6651,6678, + 6681,6690,6687,6648,6931,7209,7546,7547,7815,37, + 7710,7209,6928,6928,228,6928,6924,6928,6928,228, + 228,228,7182,228,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,11276,1,11901, - 1,1,11902,1,227,7204,6365,6362,7141,818, - 5341,5364,1,868,2829,2571,598,6365,6362,5693, - 818,2245,2166,2225,868,2829,1,1,1,5805, - 7413,1882,2221,7204,6480,6476,5693,6484,6983,6989, - 6986,868,2829,7093,218,7093,1,6480,6476,5693, - 6484,6983,6989,6986,868,2829,7704,7204,6926,6926, - 227,6926,6922,6926,6926,227,227,227,7147,227, + 1,1,1,1,1,11612,1,11917,1,1, + 11943,1,228,1119,7245,7209,7146,7216,578,6415, + 1,1,6482,6478,5695,6486,6985,6991,6988,870, + 2831,7566,309,7209,1,1,1,5807,7419,1884, + 7209,7209,6482,6478,5695,6486,6985,6991,6988,870, + 2831,7074,218,7074,597,6982,6982,2119,602,2247, + 2168,2227,309,348,7710,7209,6928,6928,228,6928, + 6924,6928,6928,228,228,228,7152,228,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,11612, + 1,11917,1,1,11943,1,228,7209,6367,6364, + 7146,820,4063,4094,1,870,2831,2573,600,6367, + 6364,5695,820,2247,2168,2227,870,2831,1,1, + 1,5807,7419,1884,2223,7209,6482,6478,5695,6486, + 6985,6991,6988,870,2831,7098,219,7098,1,6482, + 6478,5695,6486,6985,6991,6988,870,2831,7710,7209, + 6928,6928,228,6928,6924,6928,6928,228,228,228, + 7152,228,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,11276,1,11901,1,1,11902,1,227,7204, - 7218,7219,7141,818,130,7204,1,868,2829,2571, - 1,6480,6476,5693,6484,7204,3218,7204,868,2829, - 1,1,1,5805,7413,1882,7208,344,39,39, - 4478,7242,2245,2166,2225,7204,7204,330,218,330, - 1,6480,6476,3959,6484,110,7210,7210,868,2829, - 7704,7204,6926,6926,227,6926,6922,6926,6926,227, - 227,227,227,227,1,1,1,1,1,1, + 1,1,1,11612,1,11917,1,1,11943,1, + 228,7209,7223,7224,7146,820,7209,571,1,870, + 2831,2573,1,6482,6478,5695,6486,7209,7209,136, + 870,2831,1,1,1,5807,7419,1884,7213,345, + 39,39,4480,7247,2247,2168,2227,7209,3068,331, + 219,331,1,6482,6478,3961,6486,577,7215,3565, + 870,2831,7710,7209,6928,6928,228,6928,6924,6928, + 6928,228,228,228,228,228,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,11276,1,11901,1,1, - 11902,1,227,37,6998,6998,7141,225,2221,137, - 1,6998,6709,6703,6706,291,7218,7219,576,7209, - 7209,2221,1105,1533,1,1,1,5805,7413,1882, - 7204,6748,6745,575,7204,6718,6715,6712,6724,6742, - 6721,6733,6700,6727,6730,6739,6736,6697,1705,123, - 7204,7207,5341,5364,7704,7204,6926,6926,227,6926, - 6922,6926,6926,227,227,227,227,227,1,1, + 1,1,1,1,1,1,1,11612,1,11917, + 1,1,11943,1,228,37,7000,7000,7146,226, + 2223,1,1,7000,6711,6705,6708,398,7223,7224, + 123,7214,7209,2223,128,1293,1,1,1,5807, + 7419,1884,7209,6750,6747,122,2958,6720,6717,6714, + 6726,6744,6723,6735,6702,6729,6732,6741,6738,6699, + 1707,4063,4094,121,7212,98,7710,7209,6928,6928, + 228,6928,6924,6928,6928,228,228,228,228,228, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,11276, - 1,11901,1,1,11902,1,227,43,6932,6932, - 7141,586,5318,1216,1,7204,6763,6757,6760,297, - 7218,7219,4061,4092,2245,2166,2225,1166,1,1, - 1,5805,7413,1882,2900,1,4356,4061,4092,6772, - 6769,6766,6778,6796,6775,6787,6754,6781,6784,6793, - 6790,6751,6929,4061,4092,7204,2480,2117,7704,7204, - 6926,6926,227,6926,6922,6926,6926,227,227,227, - 227,227,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,11276,1,11901,1,1,11902,1, - 227,37,6998,6998,7141,90,7019,7019,1,7019, - 7019,7019,7019,417,2886,7019,7204,7019,2245,2166, - 2225,7204,1,1,1,5805,7413,1882,7204,7174, - 7174,7174,7174,7174,7174,7174,7174,7174,7174,7204, - 7174,1,6480,6476,5693,6484,1607,7204,7204,868, - 2829,1972,7704,7204,6926,6926,227,6926,6922,6926, - 6926,227,227,227,227,227,1,1,1,1, + 1,11612,1,11917,1,1,11943,1,228,37, + 7000,7000,7146,588,5320,1218,1,7568,6765,6759, + 6762,298,7223,7224,4063,4094,2247,2168,2227,7209, + 1,1,1,5807,7419,1884,7077,3318,3261,4063, + 4094,6774,6771,6768,6780,6798,6777,6789,6756,6783, + 6786,6795,6792,6753,1609,120,7209,4063,4094,2852, + 7710,7209,6928,6928,228,6928,6924,6928,6928,228, + 228,228,228,228,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,11276,1,11901, - 1,1,11902,1,227,7204,7048,7045,7141,7204, - 6365,6362,1,818,7174,39,591,6431,2829,7242, - 39,2245,2166,2225,7242,2319,1,1,1,5805, - 7413,1882,7204,1,6995,6995,7204,6992,6983,6989, - 6986,7204,593,330,362,330,2694,7156,7162,7159, - 7240,2155,7210,3643,831,7204,7704,7204,6926,6926, - 227,6926,6922,6926,6926,227,227,227,227,227, + 1,1,1,1,1,11612,1,11917,1,1, + 11943,1,228,7209,7050,7047,7146,90,7021,7021, + 1,7021,7021,7021,7021,591,7209,7021,7209,7021, + 2247,2168,2227,7209,1,1,1,5807,7419,1884, + 7209,7179,7179,7179,7179,7179,7179,7179,7179,7179, + 7179,7209,7179,1,6482,6478,5695,6486,7245,4063, + 4094,870,2831,320,7710,7209,6928,6928,228,6928, + 6924,6928,6928,228,228,228,228,228,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,11612, + 1,11917,1,1,11943,1,228,7209,7057,7053, + 7146,7209,6367,6364,1,820,7179,418,236,6433, + 2831,6905,2247,2168,2227,36,7064,7061,1,1, + 1,5807,7419,1884,2223,1,6997,6997,7209,6994, + 6985,6991,6988,362,593,331,363,331,396,2247, + 2168,2227,7245,2247,2168,2227,833,97,7710,7209, + 6928,6928,228,6928,6924,6928,6928,228,228,228, + 228,228,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,11276,1,11901,1,1,11902,1,227,7204, - 7055,7051,7141,7204,11041,10816,1,362,1,6480, - 6476,7010,6484,3426,6025,7209,7016,7013,5836,7214, - 1,1,1,5805,7413,1882,7639,7640,7641,362, - 1,6480,6476,5693,6484,6983,6989,6986,868,2829, - 346,395,7204,1612,7240,1291,2245,2166,2225,7213, - 7704,7204,6926,6926,227,6926,6922,6926,6926,227, - 227,227,227,227,1,1,1,1,1,1, + 1,1,1,11612,1,11917,1,1,11943,1, + 228,45,7083,7083,7146,7209,7050,7047,1,363, + 1,6482,6478,7012,6486,3428,6027,751,7018,7015, + 2316,7219,1,1,1,5807,7419,1884,7104,7209, + 302,363,1,6482,6478,5695,6486,6985,6991,6988, + 870,2831,595,7510,98,7209,7080,7161,7167,7164, + 7245,7218,7710,7209,6928,6928,228,6928,6924,6928, + 6928,228,228,228,228,228,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,11276,1,11901,1,1, - 11902,1,227,7204,11041,10816,7141,93,7117,7117, - 1,7111,7102,7108,7105,7204,2571,7114,2850,7114, - 749,2221,546,7751,1,1,1,5805,7413,1882, - 596,6977,6977,117,600,6968,6974,6971,47,532, - 38,6383,6380,7204,1,1,1,1,6377,2829, - 7752,1,1,1,7704,1,1,1,1,1, + 1,1,1,1,1,1,1,11612,1,11917, + 1,1,11943,1,228,7209,1360,7209,7146,93, + 7122,7122,1,7116,7107,7113,7110,594,2573,7119, + 7209,7119,7170,7176,7173,7077,1,1,1,5807, + 7419,1884,598,6979,6979,118,602,6970,6976,6973, + 7209,7209,38,6385,6382,7209,1,1,1,1, + 6379,2831,7209,1,1,1,7710,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,7204,515,7204,1265,600,4844,4755,7183,7191, - 7187,7204,7210,1556,7195,1,1,1,7204,1, - 1,1,7214,1,1,1,1,1,1,1, - 1,1,1,1,1,1,290,1447,1447,3834, - 7813,7204,7204,1,7195,1,1,1,6480,6476, - 3142,6484,7213,7204,7204,3431,2829,5226,2120,5249, - 6434,6473,6470,6461,6467,6440,6443,6455,6452,6458, - 6449,6446,6437,6464,6487,7209,37,6998,6998,992, - 7195,2245,2166,2225,1808,74,330,5939,6398,7223, - 5203,5180,48,5295,5272,2858,7219,812,1038,7225, - 918,5455,1024,7226,7224,723,7220,7221,7222,5433, - 45,7078,7078,1,7204,6365,6362,1584,818,39, - 39,7240,6431,2829,7214,516,39,6365,6362,3142, - 818,6389,6386,7204,3431,2829,5226,7198,5249,642, - 7806,7807,7467,7465,7474,7473,7469,7470,7468,7471, - 7472,7475,7466,4810,7213,7075,6401,7204,3696,901, - 1,7219,98,4478,7204,7218,7219,3826,7223,5203, - 5180,340,5295,5272,2858,7216,812,1038,7225,918, - 5455,1024,7226,7224,723,7220,7221,7222,5433,7204, - 7204,7048,7045,2479,7204,235,1584,1,6903,6392, - 4478,7138,139,6365,6362,3142,818,7211,6897,2368, - 3431,2829,5226,6395,5249,642,7806,7807,7467,7465, - 7474,7473,7469,7470,7468,7471,7472,7475,7466,4810, - 7204,2221,7204,7072,340,7240,1,340,340,7215, - 7204,3555,7204,7214,7223,5203,5180,7216,5295,5272, - 2858,7210,812,1038,7225,918,5455,1024,7226,7224, - 723,7220,7221,7222,5433,37,6998,6998,2221,7204, - 1,6900,1584,7213,39,39,1,6480,6476,3142, - 6484,159,3536,569,3431,2829,5226,122,5249,6434, - 6473,6470,6461,6467,6440,6443,6455,6452,6458,6449, - 6446,6437,6464,6487,7204,7218,7219,3426,3848,3468, - 7240,7215,868,2829,7209,7204,7204,48,7223,5203, - 5180,7218,5295,5272,2858,3563,812,1038,7225,918, - 5455,1024,7226,7224,723,7220,7221,7222,5433,7204, - 7204,7204,1,7204,159,7204,1584,2742,39,39, - 552,6365,6362,3142,818,7150,7210,183,3431,2829, - 5226,121,5249,642,7806,7807,7467,7465,7474,7473, - 7469,7470,7468,7471,7472,7475,7466,4810,592,7204, - 7204,4061,4092,7165,7171,7168,7218,3833,7204,7204, - 7216,7153,7223,5203,5180,7204,5295,5272,2858,7212, - 812,1038,7225,918,5455,1024,7226,7224,723,7220, - 7221,7222,5433,7204,7204,310,1,2752,2469,7209, - 1584,2785,39,39,39,6365,6362,3142,818,7150, - 7204,120,3431,2829,5226,7135,5249,642,7806,7807, - 7467,7465,7474,7473,7469,7470,7468,7471,7472,7475, - 7466,4810,418,369,7215,4061,4092,2245,2166,2225, - 1,3833,1,4330,3465,7153,7223,5203,5180,7211, - 5295,5272,2858,7180,812,1038,7225,918,5455,1024, - 7226,7224,723,7220,7221,7222,5433,7144,552,6365, - 6362,3142,818,7204,1584,1212,3431,2829,5226,7138, - 5249,642,7806,7807,7467,7465,7474,7473,7469,7470, - 7468,7471,7472,7475,7466,4810,405,1,1,317, - 7204,367,7090,29,124,4061,4092,7081,161,189, - 7223,5203,5180,1424,5295,5272,2858,7215,812,1038, - 7225,918,5455,1024,7226,7224,723,7220,7221,7222, - 5433,7204,1,7204,4322,7204,4562,7084,1584,189, - 39,39,39,6365,6362,3142,818,126,7204,4176, - 3431,2829,5226,7135,5249,642,7806,7807,7467,7465, - 7474,7473,7469,7470,7468,7471,7472,7475,7466,4810, - 2221,161,749,3788,3813,7204,1,3813,2795,424, - 1,1484,6404,292,7223,5203,5180,528,5295,5272, - 2858,7210,812,1038,7225,918,5455,1024,7226,7224, - 723,7220,7221,7222,5433,3724,3692,7204,7204,7204, - 4630,5754,1584,3660,3609,361,3788,7138,39,6365, - 6362,3142,818,521,4236,6935,3431,2829,5226,7208, - 5249,642,7806,7807,7467,7465,7474,7473,7469,7470, - 7468,7471,7472,7475,7466,4810,301,7204,3724,3692, - 528,319,7204,7716,7209,7204,3660,3609,6226,7504, - 7223,5203,5180,2614,5295,5272,2858,7204,812,1038, - 7225,918,5455,1024,7226,7224,723,7220,7221,7222, - 5433,39,6365,6362,3142,818,7204,7645,7204,3431, - 2829,5226,2314,5249,642,7806,7807,7467,7465,7474, - 7473,7469,7470,7468,7471,7472,7475,7466,4810,8, - 7204,7204,1358,6229,5846,7204,7204,307,6251,1820, - 7201,7204,2221,7223,5203,5180,7204,5295,5272,2858, - 7659,812,1038,7225,918,5455,1024,7226,7224,723, - 7220,7221,7222,5433,7207,39,6365,6362,3142,818, - 3643,1584,7204,3431,2829,5226,7204,5249,642,7806, - 7807,7467,7465,7474,7473,7469,7470,7468,7471,7472, - 7475,7466,4810,7204,557,7204,1869,3137,7204,7204, - 7204,544,2984,2070,1266,7204,7204,7223,5203,5180, - 7201,5295,5272,2858,3350,812,1038,7225,918,5455, - 1024,7226,7224,723,7220,7221,7222,5433,97,39, - 6365,6362,4942,818,72,1,1910,3431,2829,5226, - 3466,5249,642,7806,7807,7467,7465,7474,7473,7469, - 7470,7468,7471,7472,7475,7466,4810,7204,7204,101, - 7204,5932,7096,7204,277,301,570,7132,1656,3784, - 7204,7223,5203,5180,4296,5295,5272,2858,7504,812, - 1038,7225,918,5455,1024,7226,7224,723,7220,7221, - 7222,5433,39,6365,6362,4942,818,7204,374,7099, - 3431,2829,5226,7120,5249,642,7806,7807,7467,7465, - 7474,7473,7469,7470,7468,7471,7472,7475,7466,4810, - 448,98,7204,7204,428,4426,2065,284,7204,101, - 7204,3718,7096,7605,7223,5203,5180,7204,5295,5272, - 2858,5725,812,1038,7225,918,5455,1024,7226,7224, - 723,7220,7221,7222,5433,39,6365,6362,3142,818, - 7204,7204,7204,3431,2829,5226,3510,5249,642,7806, - 7807,7467,7465,7474,7473,7469,7470,7468,7471,7472, - 7475,7466,4810,7204,7204,7204,290,7204,7204,2, - 7204,4662,7072,7204,7204,7204,1140,7223,5203,5180, - 984,5295,5272,2858,7487,812,1038,7225,918,5455, - 1024,7226,7224,723,7220,7221,7222,5433,39,6365, - 6362,4903,818,7204,7204,3643,3431,2829,5226,420, - 5249,642,7806,7807,7467,7465,7474,7473,7469,7470, - 7468,7471,7472,7475,7466,4810,7204,7204,7204,567, - 7204,7204,7204,449,3645,7204,7204,7204,37,2662, - 7223,5203,5180,10760,5295,5272,2858,2417,812,1038, - 7225,918,5455,1024,7226,7224,723,7220,7221,7222, - 5433,39,6365,6362,4903,818,7204,7204,3563,3431, - 2829,5226,5853,5249,642,7806,7807,7467,7465,7474, - 7473,7469,7470,7468,7471,7472,7475,7466,4810,2705, - 7204,1,426,35,7204,7204,7204,7204,7204,7204, - 7204,7204,362,7223,5203,5180,614,5295,5272,2858, - 1189,812,1038,7225,918,5455,1024,7226,7224,723, - 7220,7221,7222,5433,39,6365,6362,3142,818,508, - 506,510,3431,2829,5226,125,5249,642,7806,7807, - 7467,7465,7474,7473,7469,7470,7468,7471,7472,7475, - 7466,4810,1,7204,7204,650,7204,1,1,7204, - 7673,7204,7667,7204,7671,362,7223,5203,5180,2461, - 5295,5272,2858,2057,812,1038,7225,918,5455,1024, - 7226,7224,723,7220,7221,7222,5433,362,7204,7204, - 7204,7204,7204,7204,7204,7665,7666,7204,7696,7697, - 7674,5897,3792,3811,3788,7204,7204,7204,7204,5532, - 5546,709,7204,6938,7204,7204,7204,7204,7204,7204, - 7204,7676,7204,877,1874,1915,7204,7204,7204,7698, - 7677,7204,7675,7204,7204,7204,3724,3692,7204,7204, - 7204,7204,7204,7204,3660,3609,7687,7686,7204,7699, - 7204,7668,7669,7692,7693,7690,7691,7670,7672,7694, - 7695,7204,7204,7204,7204,7204,7700,7204,7680,7681, - 7682,7678,7679,7688,7689,7684,7683,7685,7204,6365, - 6362,7204,7242,2245,2166,2225,7204,7204,7204,7204, - 7204,654,7806,7807,7467,7465,7474,7473,7469,7470, - 7468,7471,7472,7475,7466,5477,7540,7541,7808,7462, - 7456,7463,7459,7435,7461,7460,7457,7458,7436,7204, - 7204,7204,7204,7204,7204,7204,7204,7602,7204,7204, - 7204,239,6890,6886,7204,6894,6811,6805,6808,7204, - 7204,3820,7603,7604,654,6883,6880,6871,6877,6850, - 6853,6865,6862,6868,6859,6856,6847,6874,5477,6820, - 6817,6814,6826,6844,6823,6835,6802,6829,6832,6841, - 6838,6799,7204,7204,7204,7204,7204,7204,7204,7204, - 7602,7204,7204,221,7204,7204,7204,7204,6502,6496, - 6499,7204,7204,7204,3820,7603,7604,7806,7807,7467, - 7465,7474,7473,7469,7470,7468,7471,7472,7475,7466, - 7204,6511,6508,6505,6517,6535,6514,6526,6493,6520, - 6523,6532,6529,6490,29,387,387,6909,387,387, - 387,387,387,387,6909,6909,6909,7204,32,388, - 388,6906,388,388,388,388,388,388,6906,6906, - 6906,7204,387,387,387,387,387,387,387,387, - 387,387,387,387,387,6909,388,388,388,388, - 388,388,388,388,388,388,388,388,388,6906, - 7204,7204,7204,7204,7204,7204,7204,7204,7204,7204, - 7204,7204,7204,6368,7204,6909,7204,7204,6909,7204, - 7204,7204,7204,7204,7204,7204,7204,7204,7204,6906, - 7204,7204,6906,574,584,584,584,584,584,584, - 584,584,584,7001,7001,7001,7204,7204,7204,7204, - 7204,7204,7204,7204,7204,7204,7204,7204,7204,7204, - 7204,584,584,584,584,584,584,584,584,584, - 584,584,584,584,7001,7204,7204,7204,7204,7204, - 7204,7204,7204,7204,7204,7204,7204,7204,7204,7204, - 7204,7204,7204,7204,7204,7204,7204,7204,7204,7204, - 7204,7204,7204,7204,584,7204,7204,7001 + 1,1,1,7209,3467,7209,1267,602,4846,4757, + 7188,7196,7192,1,7215,2744,7200,1,1,1, + 7209,1,1,1,6418,1,1,1,1,1, + 1,1,1,1,1,1,1,1,292,7223, + 7224,1,7820,7209,4332,1,7200,1,1,1, + 6482,6478,3144,6486,7209,11403,11185,3433,2831,5228, + 2754,5251,6436,6475,6472,6463,6469,6442,6445,6457, + 6454,6460,6451,6448,6439,6466,6489,7214,37,7000, + 7000,3645,7200,2247,2168,2227,311,74,331,2471, + 6400,7228,5205,5182,7216,5297,5274,2860,2787,814, + 1040,7230,920,5457,1026,7231,7229,725,7225,7226, + 7227,5435,37,7000,7000,7209,7209,6367,6364,1586, + 820,39,39,7245,6433,2831,7219,517,39,6367, + 6364,3144,820,6391,6388,1,3433,2831,5228,7203, + 5251,644,7813,7814,7473,7471,7480,7479,7475,7476, + 7474,7477,7478,7481,7472,4812,7218,7245,6403,137, + 7209,903,1,4324,347,4480,1214,1614,548,7758, + 7228,5205,5182,341,5297,5274,2860,7209,814,1040, + 7230,920,5457,1026,7231,7229,725,7225,7226,7227, + 5435,7209,7223,7224,7209,7209,7759,4564,1586,870, + 2831,7209,6394,7143,139,6367,6364,3144,820,7216, + 1,2,3433,2831,5228,6397,5251,644,7813,7814, + 7473,7471,7480,7479,7475,7476,7474,7477,7478,7481, + 7472,4812,7209,2223,7209,2223,341,7209,1,341, + 341,4480,7209,7223,7224,7215,7228,5205,5182,6899, + 5297,5274,2860,7221,814,1040,7230,920,5457,1026, + 7231,7229,725,7225,7226,7227,5435,1168,7209,7209, + 117,2321,7209,1,1586,2902,39,39,1,6482, + 6478,3144,6486,7215,159,7209,3433,2831,5228,2888, + 5251,6436,6475,6472,6463,6469,6442,6445,6457,6454, + 6460,6451,6448,6439,6466,6489,7209,7209,7214,2223, + 1479,370,6902,4846,4757,2797,7209,7220,7215,7209, + 7228,5205,5182,7209,5297,5274,2860,7219,814,1040, + 7230,920,5457,1026,7231,7229,725,7225,7226,7227, + 5435,7209,11403,11185,2370,4178,7214,159,1586,1535, + 39,39,554,6367,6364,3144,820,7218,7209,183, + 3433,2831,5228,7722,5251,644,7813,7814,7473,7471, + 7480,7479,7475,7476,7474,7477,7478,7481,7472,4812, + 419,7214,4238,7209,5838,2247,2168,2227,29,318, + 1,1426,7095,3470,7228,5205,5182,7651,5297,5274, + 2860,7221,814,1040,7230,920,5457,1026,7231,7229, + 725,7225,7226,7227,5435,291,1449,1449,1,7209, + 7209,7209,1586,4632,39,39,39,6367,6364,3144, + 820,7155,7215,7209,3433,2831,5228,7140,5251,644, + 7813,7814,7473,7471,7480,7479,7475,7476,7474,7477, + 7478,7481,7472,4812,48,7209,7209,751,7224,7209, + 2223,7209,3698,3835,425,7220,7221,7158,7228,5205, + 5182,3828,5297,5274,2860,3565,814,1040,7230,920, + 5457,1026,7231,7229,725,7225,7226,7227,5435,7149, + 554,6367,6364,3144,820,7214,1586,7665,3433,2831, + 5228,7143,5251,644,7813,7814,7473,7471,7480,7479, + 7475,7476,7474,7477,7478,7481,7472,4812,1,7209, + 7209,7209,5756,7224,6228,47,124,7209,1,7219, + 7220,7217,7228,5205,5182,4358,5297,5274,2860,161, + 814,1040,7230,920,5457,1026,7231,7229,725,7225, + 7226,7227,5435,7209,7209,2482,7209,368,7209,7218, + 1586,6231,39,39,39,6367,6364,3144,820,126, + 1558,7209,3433,2831,5228,7140,5251,644,7813,7814, + 7473,7471,7480,7479,7475,7476,7474,7477,7478,7481, + 7472,4812,406,7209,1,3790,1810,7209,1,5941, + 5848,7216,161,7086,6406,530,7228,5205,5182,7185, + 5297,5274,2860,7209,814,1040,7230,920,5457,1026, + 7231,7229,725,7225,7226,7227,5435,3726,3694,7209, + 3428,3850,1,7089,1586,3662,3611,1486,3790,7143, + 39,6367,6364,3144,820,7155,7209,6937,3433,2831, + 5228,7213,5251,644,7813,7814,7473,7471,7480,7479, + 7475,7476,7474,7477,7478,7481,7472,4812,530,1, + 3726,3694,48,7220,3468,72,7223,3835,3662,3611, + 189,7158,7228,5205,5182,7209,5297,5274,2860,4298, + 814,1040,7230,920,5457,1026,7231,7229,725,7225, + 7226,7227,5435,39,6367,6364,3144,820,7209,7209, + 189,3433,2831,5228,7209,5251,644,7813,7814,7473, + 7471,7480,7479,7475,7476,7474,7477,7478,7481,7472, + 4812,1,8,7209,7209,39,6253,1822,534,7247, + 308,7223,7215,7206,7125,7228,5205,5182,39,5297, + 5274,2860,7247,814,1040,7230,920,5457,1026,7231, + 7229,725,7225,7226,7227,5435,2157,7212,39,6367, + 6364,3144,820,1586,7209,7209,3433,2831,5228,2696, + 5251,644,7813,7814,7473,7471,7480,7479,7475,7476, + 7474,7477,7478,7481,7472,4812,7209,559,7209,1871, + 3139,2986,7209,7209,546,7214,2072,1268,3836,7209, + 7228,5205,5182,7206,5297,5274,2860,3352,814,1040, + 7230,920,5457,1026,7231,7229,725,7225,7226,7227, + 5435,7209,39,6367,6364,4944,820,2,1,1912, + 3433,2831,5228,3512,5251,644,7813,7814,7473,7471, + 7480,7479,7475,7476,7474,7477,7478,7481,7472,4812, + 7645,7646,7647,7209,7209,101,5934,7209,7101,7209, + 278,2481,7209,7137,7228,5205,5182,1658,5297,5274, + 2860,1,814,1040,7230,920,5457,1026,7231,7229, + 725,7225,7226,7227,5435,39,6367,6364,4944,820, + 3647,7209,7209,3433,2831,5228,37,5251,644,7813, + 7814,7473,7471,7480,7479,7475,7476,7474,7477,7478, + 7481,7472,4812,3815,7209,572,3815,449,3786,7209, + 7209,302,7209,4428,3720,2067,7209,7228,5205,5182, + 7611,5297,5274,2860,7510,814,1040,7230,920,5457, + 1026,7231,7229,725,7225,7226,7227,5435,39,6367, + 6364,3144,820,7209,7209,7209,3433,2831,5228,293, + 5251,644,7813,7814,7473,7471,7480,7479,7475,7476, + 7474,7477,7478,7481,7472,4812,429,101,7209,285, + 7101,4664,7209,291,7209,7209,7209,7209,7209,7209, + 7228,5205,5182,1142,5297,5274,2860,5727,814,1040, + 7230,920,5457,1026,7231,7229,725,7225,7226,7227, + 5435,39,6367,6364,4905,820,7209,7209,7209,3433, + 2831,5228,7209,5251,644,7813,7814,7473,7471,7480, + 7479,7475,7476,7474,7477,7478,7481,7472,4812,2616, + 7209,7209,569,7209,7209,7209,7209,7209,7209,7209, + 7209,7209,986,7228,5205,5182,7493,5297,5274,2860, + 11146,814,1040,7230,920,5457,1026,7231,7229,725, + 7225,7226,7227,5435,39,6367,6364,4905,820,7209, + 7209,7209,3433,2831,5228,5855,5251,644,7813,7814, + 7473,7471,7480,7479,7475,7476,7474,7477,7478,7481, + 7472,4812,2419,522,1,450,421,375,7209,7209, + 7209,7209,7209,7209,7209,363,7228,5205,5182,616, + 5297,5274,2860,2664,814,1040,7230,920,5457,1026, + 7231,7229,725,7225,7226,7227,5435,39,6367,6364, + 3144,820,427,35,509,3433,2831,5228,125,5251, + 644,7813,7814,7473,7471,7480,7479,7475,7476,7474, + 7477,7478,7481,7472,4812,1,507,7209,652,7209, + 7209,511,7209,7679,7209,7673,1,7677,363,7228, + 5205,5182,1191,5297,5274,2860,2707,814,1040,7230, + 920,5457,1026,7231,7229,725,7225,7226,7227,5435, + 363,7209,1,7209,7209,7209,7209,7209,7671,7672, + 7209,7702,7703,7680,3645,5899,3184,3790,3645,2463, + 7209,3794,7209,2059,5534,7209,6940,7209,7209,7209, + 7209,7209,7209,7209,7682,7209,879,1876,1917,7209, + 7209,7209,7704,7683,7209,7681,5548,3813,7209,3726, + 3694,711,7209,7209,7209,7209,7209,3662,3611,7693, + 7692,7209,7705,7209,7674,7675,7698,7699,7696,7697, + 7676,7678,7700,7701,7209,7209,7209,7209,7209,7209, + 7706,7209,7686,7687,7688,7684,7685,7694,7695,7690, + 7689,7691,7209,6367,6364,7209,7247,2247,2168,2227, + 7209,7209,7209,7209,7209,656,7813,7814,7473,7471, + 7480,7479,7475,7476,7474,7477,7478,7481,7472,5479, + 7546,7547,7815,7468,7462,7469,7465,7441,7467,7466, + 7463,7464,7442,7209,7209,7209,7209,7209,7209,7209, + 7209,7608,7209,7209,7209,240,6892,6888,7209,6896, + 6813,6807,6810,7209,7209,3822,7609,7610,656,6885, + 6882,6873,6879,6852,6855,6867,6864,6870,6861,6858, + 6849,6876,5479,6822,6819,6816,6828,6846,6825,6837, + 6804,6831,6834,6843,6840,6801,7209,7209,7209,7209, + 7209,7209,7209,7209,7608,7209,7209,222,7209,7209, + 7209,7209,6504,6498,6501,7209,7209,7209,3822,7609, + 7610,7813,7814,7473,7471,7480,7479,7475,7476,7474, + 7477,7478,7481,7472,7209,6513,6510,6507,6519,6537, + 6516,6528,6495,6522,6525,6534,6531,6492,29,388, + 388,6911,388,388,388,388,388,388,6911,6911, + 6911,7209,32,389,389,6908,389,389,389,389, + 389,389,6908,6908,6908,7209,388,388,388,388, + 388,388,388,388,388,388,388,388,388,6911, + 389,389,389,389,389,389,389,389,389,389, + 389,389,389,6908,7209,7209,7209,7209,7209,7209, + 7209,7209,7209,7209,7209,7209,7209,6370,7209,6911, + 7209,7209,6911,7209,7209,7209,7209,7209,7209,7209, + 7209,7209,7209,6908,7209,7209,6908,576,586,586, + 586,586,586,586,586,586,586,7003,7003,7003, + 7209,7209,7209,7209,7209,7209,7209,7209,7209,7209, + 7209,7209,7209,7209,7209,586,586,586,586,586, + 586,586,586,586,586,586,586,586,7003,7209, + 7209,7209,7209,7209,7209,7209,7209,7209,7209,7209, + 7209,7209,7209,7209,7209,7209,7209,7209,7209,7209, + 7209,7209,7209,7209,7209,7209,7209,7209,586,7209, + 7209,7003 }; }; public final static char termAction[] = TermAction.termAction; @@ -2337,68 +2339,68 @@ public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Asb { public final static char asb[] = {0, - 536,1,964,3,581,126,126,126,126,676, - 581,1169,1169,601,1169,901,840,903,965,965, - 965,965,965,965,965,965,965,965,965,1169, + 538,1,964,3,583,126,126,126,126,676, + 583,1167,1167,601,1167,901,840,903,965,965, + 965,965,965,965,965,965,965,965,965,1167, 773,778,775,782,780,789,787,791,790,792, - 255,793,964,964,641,641,641,641,1007,266, - 59,59,1169,641,439,311,1169,1169,59,1007, - 311,311,311,684,944,925,1242,640,1334,678, - 1169,860,1169,1169,1015,1015,266,964,965,965, + 257,793,964,964,641,641,641,641,1007,268, + 59,59,1167,641,441,313,1167,1167,59,1007, + 313,313,313,684,944,925,1240,640,1332,678, + 1167,860,1167,1167,1013,1013,268,964,965,965, 965,965,965,965,965,965,965,965,965,965, 965,965,965,965,965,965,965,965,965,964, 964,964,964,964,964,964,964,964,964,964, - 699,965,311,599,599,599,599,246,311,59, - 59,1233,1156,581,581,581,1169,185,1169,829, - 1169,1086,1169,676,1007,1169,1150,965,439,439, - 59,126,965,1233,395,1104,322,321,448,1176, - 1176,676,903,965,926,439,640,964,1005,1330, - 1004,1006,1004,311,439,775,775,773,773,773, + 699,965,313,599,599,599,599,246,313,59, + 59,1231,1154,583,583,583,1167,185,1167,829, + 1167,1084,1167,676,1007,1167,1148,965,441,441, + 59,126,965,1231,397,1102,324,323,450,1174, + 1174,676,903,965,926,441,640,964,1005,1328, + 1004,1006,1004,313,441,775,775,773,773,773, 780,780,780,780,780,780,778,778,787,782, - 782,790,789,791,744,744,792,581,581,581, - 581,1007,1007,599,598,599,1169,1169,1007,379, - 486,310,57,194,831,245,829,183,676,1086, - 1007,1007,246,840,599,684,439,807,311,1106, - 1108,1007,1334,1180,925,744,965,744,817,924, - 581,581,581,926,581,1007,11,817,817,368, - 128,1007,382,185,965,641,1169,1169,311,678, - 1007,1007,1006,1334,964,964,964,964,964,964, - 581,581,944,1237,1169,1169,188,310,485,311, - 194,1007,822,908,820,246,185,442,1007,246, - 1007,311,311,326,680,325,1108,246,1005,916, - 926,744,1010,926,944,944,942,1013,944,817, - 817,583,368,1230,1007,581,581,1065,676,1004, - 588,311,1169,1233,1330,678,1007,1005,311,311, - 311,311,266,266,1240,1169,695,694,309,445, - 1007,194,744,832,126,248,1003,1033,194,822, - 821,825,822,825,246,442,442,1007,1007,590, - 964,323,323,314,314,1102,1233,490,311,1007, - 926,965,926,311,1230,311,942,368,581,311, - 825,825,817,1058,1233,1073,816,1230,1230,1007, - 311,1007,1334,1108,390,676,1007,1005,588,1169, - 1169,1169,964,1169,1338,1169,678,311,311,1169, - 1169,188,311,265,311,311,1334,185,834,834, - 599,126,1035,825,825,825,825,1007,442,444, - 1022,444,590,964,964,1106,680,590,1213,926, - 1065,926,817,368,964,926,825,185,676,1058, - 1230,964,860,1230,1058,1330,1108,7,1027,6, - 1007,1007,1005,923,581,1169,266,965,439,1338, - 1169,746,695,1005,198,185,199,210,816,965, - 744,1059,1067,813,1035,825,825,131,444,445, - 965,1007,593,1230,590,964,924,266,817,1230, - 311,185,1079,1007,581,311,445,185,1058,311, - 390,817,123,57,1007,817,817,490,1169,311, - 439,1169,265,817,198,198,248,248,1083,1288, - 832,210,1035,965,965,813,813,1035,1035,1079, - 675,132,1007,445,593,593,926,311,817,588, - 676,1007,266,445,860,1048,1008,311,817,311, - 311,1227,445,198,198,199,199,199,330,1095, - 598,126,530,530,813,813,131,1007,676,676, - 1007,581,593,926,588,311,860,1048,311,185, - 185,1229,445,199,198,210,199,210,597,597, - 1007,1007,1007,1109,917,444,1051,198,210,641, - 641,1007,1007,695,250,139,1051,445,598,641, - 250,250,1148,530,597,1004 + 782,790,789,791,744,744,792,583,583,583, + 583,1007,1007,599,598,599,1167,1167,1007,381, + 488,312,57,194,831,245,829,183,676,1084, + 1007,1007,246,840,599,684,441,807,313,1104, + 1106,1007,1332,1178,925,744,965,744,817,924, + 583,583,583,926,583,1007,11,817,817,370, + 128,1007,384,185,965,641,1167,1167,313,678, + 1007,1007,1006,1332,964,964,964,964,964,964, + 583,583,944,1235,1167,1167,188,312,487,313, + 194,1007,822,908,820,246,185,444,1007,246, + 1007,313,313,328,680,327,1106,246,1005,916, + 926,744,1010,926,944,944,942,924,944,817, + 817,585,370,1228,1007,583,583,1063,676,1004, + 923,313,1167,1231,1328,678,1007,1005,313,313, + 313,313,268,268,1238,1167,695,694,311,447, + 1007,194,744,832,126,248,1003,1031,194,822, + 821,825,822,825,246,444,444,1007,1007,590, + 964,325,325,316,316,1100,1231,492,313,1007, + 926,965,926,313,1228,313,942,370,583,313, + 825,825,817,1056,1231,1071,816,1228,1228,1007, + 313,1007,1332,1106,392,676,1007,1005,255,1167, + 1167,1167,964,1167,1336,1167,678,313,313,1167, + 1167,188,313,267,313,313,1332,185,834,834, + 599,126,1033,825,825,825,825,1007,444,446, + 1020,446,590,964,964,1104,680,590,1211,926, + 1063,926,817,370,964,926,825,185,676,1056, + 1228,964,860,1228,1056,1328,1106,7,1025,6, + 1007,1007,1005,923,583,1167,268,965,441,1336, + 1167,746,695,1005,198,185,199,210,816,965, + 744,1057,1065,813,1033,825,825,131,446,447, + 965,1007,593,1228,590,964,924,268,817,1228, + 313,185,1077,1007,583,313,447,185,1056,313, + 392,817,123,57,1007,817,817,492,1167,313, + 441,1167,267,817,198,198,248,248,1081,1286, + 832,210,1033,965,965,813,813,1033,1033,1077, + 675,132,1007,447,593,593,926,313,817,255, + 676,1007,268,447,860,1046,1008,313,817,313, + 313,1225,447,198,198,199,199,199,332,1093, + 598,126,532,532,813,813,131,1007,676,676, + 1007,583,593,926,255,313,860,1046,313,185, + 185,1227,447,199,198,210,199,210,597,597, + 1007,1007,1007,1107,917,446,1049,198,210,641, + 641,1007,1007,695,250,139,1049,447,598,641, + 250,250,1146,532,597,1004 }; }; public final static char asb[] = Asb.asb; @@ -2406,7 +2408,7 @@ public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Asr { public final static char asr[] = {0, - 129,0,126,41,129,77,74,11,76,0, + 129,0,127,41,129,77,74,11,76,0, 14,15,16,17,50,72,18,51,52,19, 20,21,73,9,53,22,23,54,55,56, 70,57,58,13,24,25,26,59,60,61, @@ -2419,57 +2421,57 @@ public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 25,29,26,59,60,61,42,2,3,46, 47,12,43,44,8,48,78,4,27,62, 6,7,1,10,0,69,0,3,29,0, - 31,1,2,4,111,112,113,0,72,73, + 31,1,2,4,112,113,114,0,72,73, 70,46,47,12,10,43,44,8,48,54, 62,27,3,4,9,59,60,61,42,57, 52,56,14,15,17,26,16,22,20,21, 23,24,19,18,25,13,51,55,53,50, 58,81,1,2,75,11,0,11,77,74, - 1,28,0,111,112,113,76,81,9,11, + 1,28,0,112,113,114,76,81,9,11, 3,12,10,8,41,68,66,93,67,14, 15,30,5,32,16,17,49,28,18,63, 33,34,19,35,36,20,21,37,38,22, 23,39,64,40,13,65,24,31,25,29, 26,27,6,7,4,1,2,45,0,11, - 77,81,41,0,5,78,76,96,126,81, - 41,6,7,129,77,14,15,16,17,50, - 72,18,51,52,19,20,21,73,9,53, - 22,23,54,55,56,70,57,58,13,24, - 25,26,59,60,61,2,3,46,47,12, - 10,43,44,8,48,4,27,62,42,1, - 74,11,0,5,79,76,41,75,6,7, - 3,71,78,80,77,11,74,96,0,14, - 15,30,32,16,17,49,28,18,63,33, - 93,34,19,35,36,20,21,37,66,38, - 22,23,39,64,45,40,13,65,24,68, - 31,25,29,26,27,67,75,5,11,41, - 6,7,8,9,1,2,4,3,10,12, - 0,9,1,2,8,4,13,66,0,11, - 76,74,42,0,72,73,3,13,51,55, - 53,50,58,17,26,16,22,20,21,23, - 24,19,18,25,14,15,59,60,61,42, - 57,52,56,8,9,4,46,47,12,10, - 43,44,48,54,62,27,1,2,126,11, - 0,1,2,77,81,11,0,14,15,30, - 5,32,16,17,28,18,33,34,19,35, - 36,20,21,37,9,38,22,23,39,40, - 24,31,25,29,26,2,71,12,10,8, - 4,41,6,7,1,74,11,3,0,14, - 15,30,5,32,16,17,49,28,18,63, - 33,34,19,35,36,20,21,37,38,22, - 23,39,64,40,13,65,24,31,25,29, - 26,1,2,4,27,6,7,96,0,78, - 80,77,1,2,0,14,15,16,17,50, - 72,18,51,52,19,20,21,73,9,53, - 22,23,54,55,56,70,57,58,13,24, - 25,26,59,60,61,42,1,2,46,47, - 12,10,43,44,8,48,4,27,62,67, - 3,0,11,76,75,79,0,127,0,30, + 77,81,41,0,111,0,5,78,76,96, + 127,81,41,6,7,129,77,14,15,16, + 17,50,72,18,51,52,19,20,21,73, + 9,53,22,23,54,55,56,70,57,58, + 13,24,25,26,59,60,61,2,3,46, + 47,12,10,43,44,8,48,4,27,62, + 42,1,74,11,0,5,79,76,41,75, + 6,7,3,71,78,80,77,11,74,96, + 0,14,15,30,32,16,17,49,28,18, + 63,33,93,34,19,35,36,20,21,37, + 66,38,22,23,39,64,45,40,13,65, + 24,68,31,25,29,26,27,67,75,5, + 11,41,6,7,8,9,1,2,4,3, + 10,12,0,9,1,2,8,4,13,66, + 0,11,76,74,42,0,72,73,3,13, + 51,55,53,50,58,17,26,16,22,20, + 21,23,24,19,18,25,14,15,59,60, + 61,42,57,52,56,8,9,4,46,47, + 12,10,43,44,48,54,62,27,1,2, + 127,11,0,1,2,77,81,11,0,14, + 15,30,5,32,16,17,28,18,33,34, + 19,35,36,20,21,37,9,38,22,23, + 39,40,24,31,25,29,26,2,71,12, + 10,8,4,41,6,7,1,74,11,3, + 0,14,15,30,5,32,16,17,49,28, + 18,63,33,34,19,35,36,20,21,37, + 38,22,23,39,64,40,13,65,24,31, + 25,29,26,1,2,4,27,6,7,96, + 0,78,80,77,1,2,0,14,15,16, + 17,50,72,18,51,52,19,20,21,73, + 9,53,22,23,54,55,56,70,57,58, + 13,24,25,26,59,60,61,42,1,2, + 46,47,12,10,43,44,8,48,4,27, + 62,67,3,0,11,76,75,79,0,30, 28,29,70,11,96,74,80,77,78,0, 73,72,43,44,10,99,100,105,12,106, - 8,48,80,69,78,119,120,116,117,118, - 124,123,125,95,94,121,122,103,104,101, - 102,107,108,46,47,77,97,114,71,3, + 8,48,80,69,78,120,121,117,118,119, + 125,124,126,95,94,122,123,103,104,101, + 102,107,108,46,47,77,97,115,71,3, 14,15,30,5,32,16,17,49,28,18, 63,33,34,19,35,36,20,21,37,38, 22,23,39,64,40,13,65,24,25,29, @@ -2482,12 +2484,12 @@ public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 2,3,46,47,12,10,43,44,8,48, 4,27,62,76,0,32,33,34,35,36, 37,9,38,39,70,79,40,31,1,2, - 71,3,128,114,46,47,8,4,75,28, + 71,3,128,115,46,47,8,4,75,28, 29,30,98,97,10,99,100,43,44,95, 94,69,101,102,109,110,103,104,12,105, - 106,107,78,74,129,80,116,117,118,119, - 120,121,122,123,124,125,76,96,126,81, - 108,115,6,7,5,77,41,11,0,4, + 106,107,78,74,129,80,117,118,119,120, + 121,122,123,124,125,126,76,96,127,81, + 108,116,6,7,5,77,41,11,0,4, 69,6,7,5,11,76,75,0,45,4, 76,1,2,11,75,6,7,5,0,30, 5,32,49,28,63,33,34,35,36,37, @@ -2497,8 +2499,8 @@ public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 24,25,26,59,60,61,42,3,46,47, 12,10,43,44,48,4,27,62,75,11, 9,8,1,2,73,72,0,4,11,76, - 75,6,7,5,0,74,93,111,112,113, - 45,76,127,130,81,67,79,68,66,83, + 75,6,7,5,0,74,93,112,113,114, + 45,76,111,130,81,67,79,68,66,83, 85,91,89,82,87,88,90,92,75,84, 86,41,11,63,49,64,65,32,38,39, 34,37,36,31,33,28,29,30,5,7, @@ -2507,39 +2509,39 @@ public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 18,25,14,15,59,60,61,42,57,52, 56,3,46,47,12,10,43,44,48,54, 62,27,13,4,9,8,2,1,0,76, - 96,0,82,0,9,4,45,8,1,2, - 0,11,77,81,80,0,11,76,77,74, - 3,0,41,11,3,9,8,76,12,10, - 4,1,2,6,7,5,0,30,28,29, - 70,79,78,76,96,74,75,3,5,11, - 77,41,6,7,80,0,76,5,71,6, - 7,69,11,77,41,80,3,0,11,75, - 77,0,42,45,0,4,11,75,6,7, - 5,1,2,0,5,11,75,6,7,80, - 0,8,9,3,71,10,12,96,14,15, - 30,5,32,16,17,28,18,63,33,34, - 19,35,36,20,21,37,38,22,23,39, - 64,40,13,65,24,31,25,29,26,1, - 2,4,27,6,7,74,11,49,0,27, - 13,63,49,64,65,17,26,16,22,20, - 21,23,24,19,18,25,14,15,79,76, - 96,126,81,75,129,128,114,46,47,98, - 97,43,44,99,100,94,95,69,78,101, - 102,103,104,105,106,107,108,115,80,116, - 117,118,119,120,121,122,123,124,125,77, - 109,110,30,32,28,33,34,35,36,37, - 38,39,40,31,29,41,11,74,71,8, - 9,3,12,1,2,4,6,7,5,10, - 0,72,73,46,47,12,10,43,44,8, - 48,54,62,27,3,4,9,59,60,61, - 42,57,52,56,14,15,17,26,16,22, - 20,21,23,24,19,18,25,13,51,55, - 53,50,58,71,1,2,0,17,49,28, - 18,63,33,19,35,20,21,37,38,22, - 23,64,40,13,65,24,31,25,29,26, - 16,32,30,27,15,14,11,3,12,41, - 68,66,93,34,39,36,67,69,4,5, - 10,6,7,9,1,2,45,8,0 + 96,0,9,4,45,8,1,2,0,11, + 77,81,80,0,11,76,77,74,3,0, + 41,11,3,9,8,76,12,10,4,1, + 2,6,7,5,0,30,28,29,70,79, + 78,76,96,74,75,3,5,11,77,41, + 6,7,80,0,76,5,71,6,7,69, + 11,77,41,80,3,0,11,75,77,0, + 42,45,0,4,11,75,6,7,5,1, + 2,0,5,11,75,6,7,80,0,8, + 9,3,71,10,12,96,14,15,30,5, + 32,16,17,28,18,63,33,34,19,35, + 36,20,21,37,38,22,23,39,64,40, + 13,65,24,31,25,29,26,1,2,4, + 27,6,7,74,11,49,0,27,13,63, + 49,64,65,17,26,16,22,20,21,23, + 24,19,18,25,14,15,79,76,96,127, + 81,75,129,128,115,46,47,98,97,43, + 44,99,100,94,95,69,78,101,102,103, + 104,105,106,107,108,116,80,117,118,119, + 120,121,122,123,124,125,126,77,109,110, + 30,32,28,33,34,35,36,37,38,39, + 40,31,29,41,11,74,71,8,9,3, + 12,1,2,4,6,7,5,10,0,72, + 73,46,47,12,10,43,44,8,48,54, + 62,27,3,4,9,59,60,61,42,57, + 52,56,14,15,17,26,16,22,20,21, + 23,24,19,18,25,13,51,55,53,50, + 58,71,1,2,0,17,49,28,18,63, + 33,19,35,20,21,37,38,22,23,64, + 40,13,65,24,31,25,29,26,16,32, + 30,27,15,14,11,3,12,41,68,66, + 93,34,39,36,67,69,4,5,10,6, + 7,9,1,2,45,8,0 }; }; public final static char asr[] = Asr.asr; @@ -2666,8 +2668,8 @@ public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 124,113,54,55,61,62,64,74,76,77, 90,97,70,17,18,32,6,4,15,16, 21,22,23,24,25,26,27,28,45,46, - 85,86,87,5,29,34,35,36,37,38, - 39,40,41,42,43,122,56,3,132,67, + 56,85,86,87,5,29,34,35,36,37, + 38,39,40,41,42,43,122,3,132,67, 121 }; }; @@ -2772,16 +2774,16 @@ public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeLa { public final static char scopeLa[] = { - 127,81,74,74,81,81,74,74,74,74, + 111,81,74,74,81,81,74,74,74,74, 74,81,41,81,1,78,1,74,130,75, 3,74,78,78,78,1,1,41,81,75, 1,1,1,74,81,1,1,4,78,77, 41,1,1,78,74,74,1,74,74,74, - 127,74,1,41,1,41,41,81,126,74, - 74,74,126,1,74,1,74,74,74,76, + 111,74,1,41,1,41,41,81,127,74, + 74,74,127,1,74,1,74,74,74,76, 4,1,1,10,75,74,78,78,78,78, 74,3,6,6,74,1,1,74,74,3, - 1,126,74,1,1,1,41,74,126,74, + 1,127,74,1,1,1,41,74,127,74, 8,74,6,76,1,45,80,76,74,1, 1,75,45,1,1,75,82,79,1,1, 1,27,41,1,63,49,49,41,4,4, @@ -2823,7 +2825,7 @@ public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 261,0,226,0,32,166,0,351,84,0, 30,180,0,192,3,0,347,3,316,0, 346,3,3,6,0,135,135,0,345,3, - 70,0,344,3,127,0,135,181,0,135, + 70,0,344,3,111,0,135,181,0,135, 192,79,0,225,0,273,135,69,133,0, 20,0,314,135,69,45,0,20,58,0, 33,141,0,20,58,0,0,314,135,69, @@ -2873,7 +2875,7 @@ public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 178,0,239,3,92,0,210,163,239,3, 90,0,67,180,0,239,3,90,0,135, 180,67,180,0,326,135,177,0,175,0, - 226,84,0,175,115,172,0,30,178,0, + 226,84,0,175,116,172,0,30,178,0, 200,3,0,135,158,0,233,3,0,226, 71,286,0,175,71,0,200,3,322,73, 136,0,135,0,0,0,0,322,73,136, @@ -2899,47 +2901,47 @@ public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeState { public final static char scopeState[] = {0, - 3031,2651,975,0,4155,3426,2799,0,2461,984, - 0,1189,1140,0,1866,1817,0,2690,2169,2097, - 1403,0,2394,0,807,733,0,3350,3150,2758, - 0,5922,6251,6229,6226,0,4135,3837,0,4135, - 3837,5603,6025,5983,5939,5897,5853,5562,5811,5767, - 5521,5725,0,1105,1265,0,3495,4911,665,3972, - 3589,3044,4742,5112,3350,3150,5085,5706,3959,5693, - 2758,2835,3541,3468,3395,2995,0,3589,3044,0, - 2264,0,1774,1676,0,4656,4596,4536,4476,4416, - 4356,4296,4236,4176,4116,3872,3812,5846,0,4135, - 3837,5603,6025,5983,5939,5897,5853,5562,5811,5767, - 5521,5725,4656,4596,4536,4476,4416,4356,4296,4236, - 4176,4116,3872,3812,0,4788,3377,0,1216,0, - 1771,1588,1325,1154,665,4901,4742,3959,2835,4478, - 2927,0,4867,610,2791,0,4546,6280,3541,6236, - 4432,3468,5805,4425,5112,3495,3395,5938,5503,4929, - 3350,3340,3150,3287,6177,5602,5085,722,3172,5809, - 3368,3879,3168,638,5105,4663,660,2887,1238,669, - 4867,4518,4398,3820,4278,3140,4182,2922,4123,610, - 2791,4911,665,6063,2995,5722,3972,6085,4603,4483, - 2758,5559,4901,2748,4363,4243,0,6196,6185,6167, - 6163,6141,6137,6104,6093,5892,6298,5681,5101,4834, - 6244,6240,6222,3254,6002,3947,3779,3486,4126,4001, - 0,3253,2596,4656,4596,2396,2301,4536,4476,4416, - 4356,4296,4236,4176,2200,4116,3872,4903,3812,4942, - 3142,0,1725,1627,6196,6185,1467,1015,6167,945, - 6163,6141,6137,1950,6104,6093,1473,5892,1901,1803, - 6298,1705,1656,5681,1607,1556,5101,4834,1398,2806, - 6244,1527,6240,1418,6222,3254,6002,1043,3947,3779, - 4867,3486,868,2791,4126,4001,1309,1047,971,818, - 709,4742,3541,3468,5112,3495,3395,3350,4911,3150, - 665,2995,5085,3972,5706,3959,3589,5693,2758,2835, - 3044,901,831,4788,3377,5499,5477,5455,5433,4810, - 5410,5387,1166,2956,3114,3068,3316,3259,3218,4092, - 4061,3788,3756,3724,3692,3660,3609,5057,5034,5011, - 4844,4755,5364,5341,5318,5295,5272,5249,5226,5203, - 5180,3431,2858,2705,2662,1533,2417,2614,2571,2523, - 1484,1424,1266,2480,1375,992,2368,2319,2264,2221, - 922,845,775,2172,2123,2074,2025,1976,1927,1878, - 1829,1780,1731,1682,610,1633,1584,1326,1117,1068, - 1212,0 + 3033,2653,977,0,4157,3428,2801,0,2463,986, + 0,1191,1142,0,1868,1819,0,2692,2171,2099, + 1405,0,2396,0,809,735,0,3352,3152,2760, + 0,5924,6253,6231,6228,0,4137,3839,0,4137, + 3839,5605,6027,5985,5941,5899,5855,5564,5813,5769, + 5523,5727,0,1107,1267,0,3497,4913,667,3974, + 3591,3046,4744,5114,3352,3152,5087,5708,3961,5695, + 2760,2837,3543,3470,3397,2997,0,3591,3046,0, + 2266,0,1776,1678,0,4658,4598,4538,4478,4418, + 4358,4298,4238,4178,4118,3874,3814,5848,0,4137, + 3839,5605,6027,5985,5941,5899,5855,5564,5813,5769, + 5523,5727,4658,4598,4538,4478,4418,4358,4298,4238, + 4178,4118,3874,3814,0,4790,3379,0,1218,0, + 1773,1590,1327,1156,667,4903,4744,3961,2837,4480, + 2929,0,4869,612,2793,0,4548,6282,3543,6238, + 4434,3470,5807,4427,5114,3497,3397,5940,5505,4931, + 3352,3342,3152,3289,6179,5604,5087,724,3174,5811, + 3370,3881,3170,640,5107,4665,662,2889,1240,671, + 4869,4520,4400,3822,4280,3142,4184,2924,4125,612, + 2793,4913,667,6065,2997,5724,3974,6087,4605,4485, + 2760,5561,4903,2750,4365,4245,0,6198,6187,6169, + 6165,6143,6139,6106,6095,5894,6300,5683,5103,4836, + 6246,6242,6224,3256,6004,3949,3781,3488,4128,4003, + 0,3255,2598,4658,4598,2398,2303,4538,4478,4418, + 4358,4298,4238,4178,2202,4118,3874,4905,3814,4944, + 3144,0,1727,1629,6198,6187,1469,1017,6169,947, + 6165,6143,6139,1952,6106,6095,1475,5894,1903,1805, + 6300,1707,1658,5683,1609,1558,5103,4836,1400,2808, + 6246,1529,6242,1420,6224,3256,6004,1045,3949,3781, + 4869,3488,870,2793,4128,4003,1311,1049,973,820, + 711,4744,3543,3470,5114,3497,3397,3352,4913,3152, + 667,2997,5087,3974,5708,3961,3591,5695,2760,2837, + 3046,903,833,4790,3379,5501,5479,5457,5435,4812, + 5412,5389,1168,2958,3116,3070,3318,3261,3220,4094, + 4063,3790,3758,3726,3694,3662,3611,5059,5036,5013, + 4846,4757,5366,5343,5320,5297,5274,5251,5228,5205, + 5182,3433,2860,2707,2664,1535,2419,2616,2573,2525, + 1486,1426,1268,2482,1377,994,2370,2321,2266,2223, + 924,847,777,2174,2125,2076,2027,1978,1929,1880, + 1831,1782,1733,1684,612,1635,1586,1328,1119,1070, + 1214,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -2954,11 +2956,11 @@ public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 70,172,77,3,69,69,69,69,136,3, 69,69,191,135,71,3,72,73,69,8, 192,200,175,191,135,177,72,73,184,183, - 133,3,132,134,114,128,3,71,97,98, + 133,3,132,134,115,128,3,71,97,98, 44,43,100,99,10,110,109,102,101,78, - 69,94,95,12,104,103,106,105,107,125, - 124,123,122,121,120,119,118,117,116,80, - 115,108,175,200,200,200,200,184,233,135, + 69,94,95,12,104,103,106,105,107,126, + 125,124,123,122,121,120,119,118,117,80, + 116,108,175,200,200,200,200,184,233,135, 135,135,290,6,7,5,291,272,292,261, 293,63,294,13,136,320,295,27,71,71, 135,133,163,135,71,3,231,230,144,134, @@ -2992,7 +2994,7 @@ public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 132,299,135,80,80,135,227,163,134,163, 203,163,327,135,3,163,135,303,76,171, 227,3,80,77,203,184,135,350,42,278, - 136,199,199,305,127,135,3,71,175,4, + 136,199,199,305,111,135,3,71,175,4, 196,202,347,209,177,263,78,69,336,76, 249,203,133,247,171,135,135,76,298,297, 80,77,235,171,135,80,210,176,289,171, @@ -3304,18 +3306,18 @@ public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public final static int NUM_STATES = 616, NT_OFFSET = 131, - LA_STATE_OFFSET = 7813, + LA_STATE_OFFSET = 7820, MAX_LA = 2147483647, - NUM_RULES = 609, + NUM_RULES = 611, NUM_NONTERMINALS = 224, NUM_SYMBOLS = 355, SEGMENT_SIZE = 8192, - START_STATE = 2468, + START_STATE = 2470, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 129, EOLT_SYMBOL = 129, - ACCEPT_ACTION = 6361, - ERROR_ACTION = 7204; + ACCEPT_ACTION = 6363, + ERROR_ACTION = 7209; 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 3b7a712d0c1..b04698bac64 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 @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 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 @@ -23,7 +23,7 @@ public interface GPPSizeofExpressionParsersym { TK_bool = 16, TK_break = 83, TK_case = 84, - TK_catch = 127, + TK_catch = 111, TK_char = 17, TK_class = 49, TK_const = 28, @@ -52,9 +52,9 @@ public interface GPPSizeofExpressionParsersym { TK_namespace = 66, TK_new = 73, TK_operator = 9, - TK_private = 111, - TK_protected = 112, - TK_public = 113, + TK_private = 112, + TK_protected = 113, + TK_public = 114, TK_register = 38, TK_reinterpret_cast = 53, TK_return = 91, @@ -93,7 +93,7 @@ public interface GPPSizeofExpressionParsersym { TK_LeftParen = 3, TK_Dot = 128, TK_DotStar = 98, - TK_Arrow = 114, + TK_Arrow = 115, TK_ArrowStar = 97, TK_PlusPlus = 46, TK_MinusMinus = 47, @@ -117,23 +117,23 @@ public interface GPPSizeofExpressionParsersym { TK_Or = 106, TK_AndAnd = 107, TK_OrOr = 108, - TK_Question = 115, + TK_Question = 116, TK_Colon = 76, TK_ColonColon = 4, TK_DotDotDot = 96, TK_Assign = 80, - TK_StarAssign = 116, - TK_SlashAssign = 117, - TK_PercentAssign = 118, - TK_PlusAssign = 119, - TK_MinusAssign = 120, - TK_RightShiftAssign = 121, - TK_LeftShiftAssign = 122, - TK_AndAssign = 123, - TK_CaretAssign = 124, - TK_OrAssign = 125, + TK_StarAssign = 117, + TK_SlashAssign = 118, + TK_PercentAssign = 119, + TK_PlusAssign = 120, + TK_MinusAssign = 121, + TK_RightShiftAssign = 122, + TK_LeftShiftAssign = 123, + TK_AndAssign = 124, + TK_CaretAssign = 125, + TK_OrAssign = 126, TK_Comma = 77, - TK_RightBracket = 126, + TK_RightBracket = 127, TK_RightParen = 74, TK_RightBrace = 81, TK_SemiColon = 41, @@ -259,6 +259,7 @@ public interface GPPSizeofExpressionParsersym { "OrOr", "MAX", "MIN", + "catch", "private", "protected", "public", @@ -275,7 +276,6 @@ public interface GPPSizeofExpressionParsersym { "CaretAssign", "OrAssign", "RightBracket", - "catch", "Dot", "EOF_TOKEN", "else", diff --git a/upc/org.eclipse.cdt.core.parser.upc/META-INF/MANIFEST.MF b/upc/org.eclipse.cdt.core.parser.upc/META-INF/MANIFEST.MF index 6a4de438c29..56ad7f5ed8d 100644 --- a/upc/org.eclipse.cdt.core.parser.upc/META-INF/MANIFEST.MF +++ b/upc/org.eclipse.cdt.core.parser.upc/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name.1 Bundle-SymbolicName: org.eclipse.cdt.core.parser.upc;singleton:=true -Bundle-Version: 5.0.2.qualifier +Bundle-Version: 5.0.3.qualifier Bundle-ClassPath: . Require-Bundle: org.eclipse.cdt.core, net.sourceforge.lpg.lpgjavaruntime;bundle-version="1.1.0";visibility:=reexport, diff --git a/upc/org.eclipse.cdt.core.parser.upc/grammar/build.xml b/upc/org.eclipse.cdt.core.parser.upc/grammar/build.xml index 14946c96cc2..23acf587672 100644 --- a/upc/org.eclipse.cdt.core.parser.upc/grammar/build.xml +++ b/upc/org.eclipse.cdt.core.parser.upc/grammar/build.xml @@ -1,5 +1,5 @@ <!-- - Copyright (c) 2006, 2009 IBM Corporation and others. + Copyright (c) 2006, 2010 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 @@ -10,39 +10,49 @@ --> <project name="UPC Parser" default="upc" basedir="."> - <description>Generates the UPC parser from LPG grammar files</description> - - <import file="../../org.eclipse.cdt.core.lrparser/grammar/generate.xml"/> - - <property name="upc_location" value="../src/org/eclipse/cdt/internal/core/dom/parser/upc"/> + <description>Generates the UPC parser from LPG grammar files</description> + + <import file="../../org.eclipse.cdt.core.lrparser/grammar/generate.xml" /> + + <property name="upc_location" value="../src/org/eclipse/cdt/internal/core/dom/parser/upc" /> <target name="upc"> <description>Generate the UPC parser</description> <!-- Generate main parser --> <antcall target="generate_upc"> - <param name="grammar_name" value="UPCParser"/> + <param name="grammar_name" value="UPCParser" /> </antcall> <!-- Generate parser for disambiguating declarations vs expression statements --> <antcall target="generate_upc"> - <param name="grammar_name" value="UPCExpressionParser"/> + <param name="grammar_name" value="UPCExpressionParser" /> </antcall> <!-- Generate parser for disambiguating cast expressions vs binary expressions--> <antcall target="generate_upc"> - <param name="grammar_name" value="UPCNoCastExpressionParser"/> + <param name="grammar_name" value="UPCNoCastExpressionParser" /> </antcall> <!-- Generate parser for disambiguating sizeof expressions --> <antcall target="generate_upc"> - <param name="grammar_name" value="UPCSizeofExpressionParser"/> + <param name="grammar_name" value="UPCSizeofExpressionParser" /> </antcall> </target> - - + + <target name="generate_upc"> + <property name="lpg_include" value="${lpg_include_loc}/c99" /> <antcall target="generate"> - <param name="grammar_dir" value="upc"/> - <param name="output_dir" value="${upc_location}"/> - <param name="grammar_name" value="${grammar_name}"/> + <param name="grammar_dir" value="upc" /> + <param name="output_dir" value="${upc_location}" /> + <param name="grammar_name" value="${grammar_name}" /> </antcall> </target> - -</project>
\ No newline at end of file + + <target name="clean_l_files"> + <delete> + + <fileset dir="${upc_location}" includes="**/*.l" /> + + + </delete> + </target> + +</project>
\ No newline at end of file diff --git a/upc/org.eclipse.cdt.core.parser.upc/grammar/parserBuild.properties b/upc/org.eclipse.cdt.core.parser.upc/grammar/parserBuild.properties new file mode 100644 index 00000000000..f42a8776243 --- /dev/null +++ b/upc/org.eclipse.cdt.core.parser.upc/grammar/parserBuild.properties @@ -0,0 +1,15 @@ +############################################################################### +# Copyright (c) 2010 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 +############################################################################### + + +lpg_exe=D:/lpg/lpgdistribution/lpgexe/lpg.exe +lpg_template=D:/newWorkspace/rdp76_dev_3/org.eclipse.cdt.core.lrparser/grammar/template +lpg_include_loc=D:/newWorkspace/rdp76_dev_3/org.eclipse.cdt.core.lrparser/grammar diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParser.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParser.java index 91a93e2d902..9f5a02b1b03 100644 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParser.java +++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParser.java @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 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 @@ -692,877 +692,883 @@ public UPCExpressionParser(ITokenStream stream, Map<String,String> properties) { // // Rule 118: iteration_statement ::= do statement while ( expression ) ; // - case 118: { action. consumeStatementDoLoop(); break; + case 118: { action. consumeStatementDoLoop(true); break; } // - // Rule 119: iteration_statement ::= while ( expression ) statement + // Rule 119: iteration_statement ::= do statement // - case 119: { action. consumeStatementWhileLoop(); break; + case 119: { action. consumeStatementDoLoop(false); break; } // - // Rule 120: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement + // Rule 120: iteration_statement ::= while ( expression ) statement // - case 120: { action. consumeStatementForLoop(); break; + case 120: { action. consumeStatementWhileLoop(); break; } // - // Rule 121: iteration_statement ::= for ( declaration expression_opt ; expression_opt ) statement + // Rule 121: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement // case 121: { action. consumeStatementForLoop(); break; } // - // Rule 122: jump_statement ::= goto identifier_token ; + // Rule 122: iteration_statement ::= for ( declaration expression_opt ; expression_opt ) statement // - case 122: { action. consumeStatementGoto(); break; + case 122: { action. consumeStatementForLoop(); break; } // - // Rule 123: jump_statement ::= continue ; + // Rule 123: jump_statement ::= goto identifier_token ; // - case 123: { action. consumeStatementContinue(); break; + case 123: { action. consumeStatementGoto(); break; } // - // Rule 124: jump_statement ::= break ; + // Rule 124: jump_statement ::= continue ; // - case 124: { action. consumeStatementBreak(); break; + case 124: { action. consumeStatementContinue(); break; } // - // Rule 125: jump_statement ::= return ; + // Rule 125: jump_statement ::= break ; // - case 125: { action. consumeStatementReturn(false); break; + case 125: { action. consumeStatementBreak(); break; } // - // Rule 126: jump_statement ::= return expression ; + // Rule 126: jump_statement ::= return ; // - case 126: { action. consumeStatementReturn(true); break; + case 126: { action. consumeStatementReturn(false); break; } // - // Rule 127: declaration ::= declaration_specifiers ; + // Rule 127: jump_statement ::= return expression ; // - case 127: { action. consumeDeclarationSimple(false); break; + case 127: { action. consumeStatementReturn(true); break; } // - // Rule 128: declaration ::= declaration_specifiers <openscope-ast> init_declarator_list ; + // Rule 128: declaration ::= declaration_specifiers ; // - case 128: { action. consumeDeclarationSimple(true); break; + case 128: { action. consumeDeclarationSimple(false); break; } // - // Rule 129: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers + // Rule 129: declaration ::= declaration_specifiers <openscope-ast> init_declarator_list ; // - case 129: { action. consumeDeclarationSpecifiersSimple(); break; + case 129: { action. consumeDeclarationSimple(true); break; } // - // Rule 130: declaration_specifiers ::= <openscope-ast> struct_or_union_declaration_specifiers + // Rule 130: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers // - case 130: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; + case 130: { action. consumeDeclarationSpecifiersSimple(); break; } // - // Rule 131: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers + // Rule 131: declaration_specifiers ::= <openscope-ast> struct_or_union_declaration_specifiers // case 131: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; } // - // Rule 132: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers + // Rule 132: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers // case 132: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; } // - // Rule 133: declaration_specifiers ::= <openscope-ast> typdef_name_declaration_specifiers + // Rule 133: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers // - case 133: { action. consumeDeclarationSpecifiersTypedefName(); break; + case 133: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; } // - // Rule 158: init_declarator ::= complete_declarator = initializer + // Rule 134: declaration_specifiers ::= <openscope-ast> typdef_name_declaration_specifiers // - case 158: { action. consumeDeclaratorWithInitializer(true); break; + case 134: { action. consumeDeclarationSpecifiersTypedefName(); break; } // - // Rule 160: storage_class_specifier ::= storage_class_specifier_token + // Rule 159: init_declarator ::= complete_declarator = initializer // - case 160: { action. consumeToken(); break; + case 159: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 166: simple_type_specifier ::= simple_type_specifier_token + // Rule 161: storage_class_specifier ::= storage_class_specifier_token // - case 166: { action. consumeToken(); break; + case 161: { action. consumeToken(); break; } // - // Rule 179: type_name_specifier ::= identifier_token + // Rule 167: simple_type_specifier ::= simple_type_specifier_token // - case 179: { action. consumeToken(); break; + case 167: { action. consumeToken(); break; } // - // Rule 180: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt } + // Rule 180: type_name_specifier ::= identifier_token // - case 180: { action. consumeTypeSpecifierComposite(false); break; + case 180: { action. consumeToken(); break; } // - // Rule 181: 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 181: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt } // - case 181: { action. consumeTypeSpecifierComposite(true); break; + case 181: { action. consumeTypeSpecifierComposite(false); break; } // - // Rule 186: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token + // 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 } // - case 186: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break; + case 182: { action. consumeTypeSpecifierComposite(true); break; } // - // Rule 187: elaborated_specifier ::= union elaborated_specifier_hook identifier_token + // Rule 187: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token // - case 187: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break; + case 187: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break; } // - // Rule 188: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token + // Rule 188: elaborated_specifier ::= union elaborated_specifier_hook identifier_token // - case 188: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break; + case 188: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break; } // - // Rule 194: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ; + // Rule 189: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token // - case 194: { action. consumeStructDeclaration(true); break; + case 189: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break; } // - // Rule 195: struct_declaration ::= specifier_qualifier_list ; + // Rule 195: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ; // - case 195: { action. consumeStructDeclaration(false); break; + case 195: { action. consumeStructDeclaration(true); break; } // - // Rule 196: struct_declaration ::= ERROR_TOKEN + // Rule 196: struct_declaration ::= specifier_qualifier_list ; // - case 196: { action. consumeDeclarationProblem(); break; + case 196: { action. consumeStructDeclaration(false); break; } // - // Rule 202: struct_declarator ::= : constant_expression + // Rule 197: struct_declaration ::= ERROR_TOKEN // - case 202: { action. consumeBitField(false); break; + case 197: { action. consumeDeclarationProblem(); break; } // - // Rule 203: struct_declarator ::= declarator : constant_expression + // Rule 203: struct_declarator ::= : constant_expression // - case 203: { action. consumeBitField(true); break; + case 203: { action. consumeBitField(false); break; } // - // Rule 204: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 204: struct_declarator ::= declarator : constant_expression // - case 204: { action. consumeTypeSpecifierEnumeration(false); break; + case 204: { action. consumeBitField(true); break; } // - // Rule 205: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 205: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } // - case 205: { action. consumeTypeSpecifierEnumeration(true); break; + case 205: { action. consumeTypeSpecifierEnumeration(false); break; } // - // Rule 211: enumerator ::= identifier_token + // Rule 206: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } // - case 211: { action. consumeEnumerator(false); break; + case 206: { action. consumeTypeSpecifierEnumeration(true); break; } // - // Rule 212: enumerator ::= identifier_token = constant_expression + // Rule 212: enumerator ::= identifier_token // - case 212: { action. consumeEnumerator(true); break; + case 212: { action. consumeEnumerator(false); break; } // - // Rule 213: type_qualifier ::= type_qualifier_token + // Rule 213: enumerator ::= identifier_token = constant_expression // - case 213: { action. consumeToken(); break; + case 213: { action. consumeEnumerator(true); break; } // - // Rule 217: function_specifier ::= inline + // Rule 214: type_qualifier ::= type_qualifier_token // - case 217: { action. consumeToken(); break; + case 214: { action. consumeToken(); break; } // - // Rule 219: declarator ::= <openscope-ast> pointer_seq direct_declarator + // Rule 218: function_specifier ::= inline // - case 219: { action. consumeDeclaratorWithPointer(true); break; + case 218: { action. consumeToken(); break; } // - // Rule 224: basic_direct_declarator ::= declarator_id_name + // Rule 220: declarator ::= <openscope-ast> pointer_seq direct_declarator // - case 224: { action. consumeDirectDeclaratorIdentifier(); break; + case 220: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 225: basic_direct_declarator ::= ( declarator ) + // Rule 225: basic_direct_declarator ::= declarator_id_name // - case 225: { action. consumeDirectDeclaratorBracketed(); break; + case 225: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 226: declarator_id_name ::= identifier + // Rule 226: basic_direct_declarator ::= ( declarator ) // - case 226: { action. consumeIdentifierName(); break; + case 226: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 227: array_direct_declarator ::= basic_direct_declarator array_modifier + // Rule 227: declarator_id_name ::= identifier // - case 227: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 227: { action. consumeIdentifierName(); break; } // - // Rule 228: array_direct_declarator ::= array_direct_declarator array_modifier + // Rule 228: array_direct_declarator ::= basic_direct_declarator array_modifier // case 228: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 230: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list ) + // Rule 229: array_direct_declarator ::= array_direct_declarator array_modifier // - case 230: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; + case 229: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 231: function_direct_declarator ::= basic_direct_declarator ( ) + // Rule 231: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list ) // - case 231: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; + case 231: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; } // - // Rule 233: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator + // Rule 232: function_direct_declarator ::= basic_direct_declarator ( ) // - case 233: { action. consumeDeclaratorWithPointer(true); break; + case 232: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; } // - // Rule 234: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list ) + // Rule 234: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator // - case 234: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; + case 234: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 236: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator + // Rule 235: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list ) // - case 236: { action. consumeDeclaratorWithPointer(true); break; + case 235: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; } // - // Rule 237: identifier_list ::= identifier + // Rule 237: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator // - case 237: { action. consumeIdentifierKnR(); break; + case 237: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 238: identifier_list ::= identifier_list , identifier + // Rule 238: identifier_list ::= identifier // case 238: { action. consumeIdentifierKnR(); break; } // - // Rule 239: array_modifier ::= [ ] + // Rule 239: identifier_list ::= identifier_list , identifier // - case 239: { action. consumeDirectDeclaratorArrayModifier(false); break; + case 239: { action. consumeIdentifierKnR(); break; } // - // Rule 240: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ] + // Rule 240: array_modifier ::= [ ] // - case 240: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break; + case 240: { action. consumeDirectDeclaratorArrayModifier(false); break; } // - // Rule 241: array_modifier ::= [ assignment_expression ] + // Rule 241: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ] // - case 241: { action. consumeDirectDeclaratorArrayModifier(true); break; + case 241: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break; } // - // Rule 242: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ] + // Rule 242: array_modifier ::= [ assignment_expression ] // - case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break; + case 242: { action. consumeDirectDeclaratorArrayModifier(true); break; } // - // Rule 243: array_modifier ::= [ static assignment_expression ] + // Rule 243: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ] // - case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break; + case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break; } // - // Rule 244: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ] + // Rule 244: array_modifier ::= [ static assignment_expression ] // - case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; + case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break; } // - // Rule 245: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ] + // Rule 245: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ] // case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; } // - // Rule 246: array_modifier ::= [ * ] + // Rule 246: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ] // - case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break; + case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; } // - // Rule 247: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ] + // Rule 247: array_modifier ::= [ * ] // - case 247: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break; + case 247: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break; } // - // Rule 249: pointer_seq ::= pointer_hook * pointer_hook + // Rule 248: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ] // - case 249: { action. consumePointer(); break; + case 248: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break; } // - // Rule 250: pointer_seq ::= pointer_seq pointer_hook * pointer_hook + // Rule 250: pointer_seq ::= pointer_hook * pointer_hook // case 250: { action. consumePointer(); break; } // - // Rule 251: pointer_seq ::= pointer_hook * pointer_hook <openscope-ast> type_qualifier_list + // Rule 251: pointer_seq ::= pointer_seq pointer_hook * pointer_hook // - case 251: { action. consumePointerTypeQualifierList(); break; + case 251: { action. consumePointer(); break; } // - // Rule 252: pointer_seq ::= pointer_seq pointer_hook * pointer_hook <openscope-ast> type_qualifier_list + // Rule 252: pointer_seq ::= pointer_hook * pointer_hook <openscope-ast> type_qualifier_list // case 252: { action. consumePointerTypeQualifierList(); break; } // - // Rule 256: parameter_type_list ::= parameter_list + // Rule 253: pointer_seq ::= pointer_seq pointer_hook * pointer_hook <openscope-ast> type_qualifier_list // - case 256: { action. consumeEmpty(); break; + case 253: { action. consumePointerTypeQualifierList(); break; } // - // Rule 257: parameter_type_list ::= parameter_list , ... + // Rule 257: parameter_type_list ::= parameter_list // - case 257: { action. consumePlaceHolder(); break; + case 257: { action. consumeEmpty(); break; } // - // Rule 258: parameter_type_list ::= ... + // Rule 258: parameter_type_list ::= parameter_list , ... // case 258: { action. consumePlaceHolder(); break; } // - // Rule 261: parameter_declaration ::= declaration_specifiers complete_parameter_declarator + // Rule 259: parameter_type_list ::= ... // - case 261: { action. consumeParameterDeclaration(); break; + case 259: { action. consumePlaceHolder(); break; } // - // Rule 262: parameter_declaration ::= declaration_specifiers + // Rule 262: parameter_declaration ::= declaration_specifiers complete_parameter_declarator // - case 262: { action. consumeParameterDeclarationWithoutDeclarator(); break; + case 262: { action. consumeParameterDeclaration(); break; } // - // Rule 265: type_id ::= specifier_qualifier_list + // Rule 263: parameter_declaration ::= declaration_specifiers // - case 265: { action. consumeTypeId(false); break; + case 263: { action. consumeParameterDeclarationWithoutDeclarator(); break; } // - // Rule 266: type_id ::= specifier_qualifier_list abstract_declarator + // Rule 266: type_id ::= specifier_qualifier_list // - case 266: { action. consumeTypeId(true); break; + case 266: { action. consumeTypeId(false); break; } // - // Rule 268: abstract_declarator ::= <openscope-ast> pointer_seq + // Rule 267: type_id ::= specifier_qualifier_list abstract_declarator // - case 268: { action. consumeDeclaratorWithPointer(false); break; + case 267: { action. consumeTypeId(true); break; } // - // Rule 269: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator + // Rule 269: abstract_declarator ::= <openscope-ast> pointer_seq // - case 269: { action. consumeDeclaratorWithPointer(true); break; + case 269: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 273: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 270: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator // - case 273: { action. consumeDirectDeclaratorBracketed(); break; + case 270: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 274: array_direct_abstract_declarator ::= array_modifier + // Rule 274: basic_direct_abstract_declarator ::= ( abstract_declarator ) // - case 274: { action. consumeDirectDeclaratorArrayDeclarator(false); break; + case 274: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 275: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier + // Rule 275: array_direct_abstract_declarator ::= array_modifier // - case 275: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 275: { action. consumeDirectDeclaratorArrayDeclarator(false); break; } // - // Rule 276: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier + // Rule 276: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier // case 276: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 277: function_direct_abstract_declarator ::= ( ) + // Rule 277: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier // - case 277: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break; - } + case 277: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + } // - // Rule 278: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( ) + // Rule 278: function_direct_abstract_declarator ::= ( ) // - case 278: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; - } + case 278: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break; + } // - // Rule 279: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list ) + // Rule 279: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( ) // - case 279: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break; + case 279: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; } // - // Rule 280: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list ) + // Rule 280: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list ) // - case 280: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; + case 280: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break; } // - // Rule 281: initializer ::= assignment_expression + // Rule 281: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list ) // - case 281: { action. consumeInitializer(); break; + case 281: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; } // - // Rule 283: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq comma_opt } end_initializer_list + // Rule 282: initializer ::= assignment_expression // - case 283: { action. consumeInitializerList(); break; + case 282: { action. consumeInitializer(); break; } // - // Rule 284: initializer_list ::= { <openscope-ast> } + // Rule 284: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq comma_opt } end_initializer_list // case 284: { action. consumeInitializerList(); break; } // - // Rule 285: start_initializer_list ::= $Empty + // Rule 285: initializer_list ::= { <openscope-ast> } // - case 285: { action. initializerListStart(); break; + case 285: { action. consumeInitializerList(); break; } // - // Rule 286: end_initializer_list ::= $Empty + // Rule 286: start_initializer_list ::= $Empty // - case 286: { action. initializerListEnd(); break; + case 286: { action. initializerListStart(); break; } // - // Rule 291: designated_initializer ::= <openscope-ast> designation = initializer + // Rule 287: end_initializer_list ::= $Empty // - case 291: { action. consumeInitializerDesignated(); break; + case 287: { action. initializerListEnd(); break; } // - // Rule 295: designator_base ::= [ constant_expression ] + // Rule 292: designated_initializer ::= <openscope-ast> designation = initializer // - case 295: { action. consumeDesignatorArray(); break; + case 292: { action. consumeInitializerDesignated(); break; } // - // Rule 296: designator_base ::= . identifier_token + // Rule 296: designator_base ::= [ constant_expression ] // - case 296: { action. consumeDesignatorField(); break; + case 296: { action. consumeDesignatorArray(); break; } // - // Rule 297: designator ::= [ constant_expression ] + // Rule 297: designator_base ::= . identifier_token // - case 297: { action. consumeDesignatorArray(); break; + case 297: { action. consumeDesignatorField(); break; } // - // Rule 298: designator ::= . identifier_token + // Rule 298: designator ::= [ constant_expression ] // - case 298: { action. consumeDesignatorField(); break; + case 298: { action. consumeDesignatorArray(); break; } // - // Rule 299: translation_unit ::= external_declaration_list + // Rule 299: designator ::= . identifier_token // - case 299: { action. consumeTranslationUnit(); break; - } + case 299: { action. consumeDesignatorField(); break; + } // - // Rule 300: translation_unit ::= $Empty + // Rule 300: translation_unit ::= external_declaration_list // case 300: { action. consumeTranslationUnit(); break; - } + } // - // Rule 305: external_declaration ::= ; + // Rule 301: translation_unit ::= $Empty // - case 305: { action. consumeDeclarationEmpty(); break; + case 301: { action. consumeTranslationUnit(); break; } // - // Rule 306: external_declaration ::= ERROR_TOKEN + // Rule 306: external_declaration ::= ; // - case 306: { action. consumeDeclarationProblem(); break; + case 306: { action. consumeDeclarationEmpty(); break; } // - // Rule 310: function_definition ::= <openscope-ast> function_declarator function_body + // Rule 307: external_declaration ::= ERROR_TOKEN // - case 310: { action. consumeFunctionDefinition(false); break; + case 307: { action. consumeDeclarationProblem(); break; } // - // Rule 311: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement + // Rule 311: function_definition ::= <openscope-ast> function_declarator function_body // - case 311: { action. consumeFunctionDefinitionKnR(); break; + case 311: { action. consumeFunctionDefinition(false); break; } // - // Rule 312: normal_function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body + // Rule 312: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement // - case 312: { action. consumeFunctionDefinition(true); break; + case 312: { action. consumeFunctionDefinitionKnR(); break; } // - // Rule 313: function_body ::= { } + // Rule 313: normal_function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body // - case 313: { action. consumeStatementCompoundStatement(false); break; + case 313: { action. consumeFunctionDefinition(true); break; } // - // Rule 314: function_body ::= { <openscope-ast> block_item_list } + // Rule 314: function_body ::= { } // - case 314: { action. consumeStatementCompoundStatement(true); break; + case 314: { action. consumeStatementCompoundStatement(false); break; } // - // Rule 316: expression_parser_start ::= ERROR_TOKEN + // Rule 315: function_body ::= { <openscope-ast> block_item_list } // - case 316: { action. consumeEmpty(); break; + case 315: { action. consumeStatementCompoundStatement(true); break; } // - // Rule 317: literal ::= MYTHREAD + // Rule 317: expression_parser_start ::= ERROR_TOKEN // - case 317: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_mythread); break; + case 317: { action. consumeEmpty(); break; } // - // Rule 318: literal ::= THREADS + // Rule 318: literal ::= MYTHREAD // - case 318: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_threads); break; + case 318: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_mythread); break; } // - // Rule 319: literal ::= UPC_MAX_BLOCKSIZE + // Rule 319: literal ::= THREADS // - case 319: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_upc_max_block_size); break; + case 319: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_threads); break; } // - // Rule 320: unary_expression ::= upc_localsizeof unary_expression + // Rule 320: literal ::= UPC_MAX_BLOCKSIZE // - case 320: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_localsizeof); break; + case 320: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_upc_max_block_size); break; } // - // Rule 321: unary_expression ::= upc_localsizeof ( type_id ) + // Rule 321: unary_expression ::= upc_localsizeof unary_expression // - case 321: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_localsizeof); break; + case 321: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_localsizeof); break; } // - // Rule 322: unary_expression ::= upc_blocksizeof unary_expression + // Rule 322: unary_expression ::= upc_localsizeof ( type_id ) // - case 322: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_blocksizeof); break; + case 322: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_localsizeof); break; } // - // Rule 323: unary_expression ::= upc_blocksizeof ( type_id ) + // Rule 323: unary_expression ::= upc_blocksizeof unary_expression // - case 323: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_blocksizeof); break; + case 323: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_blocksizeof); break; } // - // Rule 324: unary_expression ::= upc_elemsizeof unary_expression + // Rule 324: unary_expression ::= upc_blocksizeof ( type_id ) // - case 324: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_elemsizeof); break; + case 324: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_blocksizeof); break; } // - // Rule 325: unary_expression ::= upc_elemsizeof ( type_id ) + // Rule 325: unary_expression ::= upc_elemsizeof unary_expression // - case 325: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_elemsizeof); break; + case 325: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_elemsizeof); break; } // - // Rule 329: shared_type_qualifier ::= shared + // Rule 326: unary_expression ::= upc_elemsizeof ( type_id ) // - case 329: { action. consumeToken(); break; + case 326: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_elemsizeof); break; } // - // Rule 330: reference_type_qualifier ::= relaxed + // Rule 330: shared_type_qualifier ::= shared // case 330: { action. consumeToken(); break; } // - // Rule 331: reference_type_qualifier ::= strict + // Rule 331: reference_type_qualifier ::= relaxed // case 331: { action. consumeToken(); break; } // - // Rule 332: layout_qualifier ::= [ constant_expression ] + // Rule 332: reference_type_qualifier ::= strict + // + case 332: { action. consumeToken(); break; + } + + // + // Rule 333: layout_qualifier ::= [ constant_expression ] // - case 332: { action. consumeLayoutQualifier(true, false); break; + case 333: { action. consumeLayoutQualifier(true, false); break; } // - // Rule 333: layout_qualifier ::= [ * ] + // Rule 334: layout_qualifier ::= [ * ] // - case 333: { action. consumeLayoutQualifier(false, true); break; + case 334: { action. consumeLayoutQualifier(false, true); break; } // - // Rule 334: layout_qualifier ::= [ ] + // Rule 335: layout_qualifier ::= [ ] // - case 334: { action. consumeLayoutQualifier(false, false); break; + case 335: { action. consumeLayoutQualifier(false, false); break; } // - // Rule 336: synchronization_statement ::= upc_notify expression ; + // Rule 337: synchronization_statement ::= upc_notify expression ; // - case 336: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, true); break; + case 337: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, true); break; } // - // Rule 337: synchronization_statement ::= upc_notify ; + // Rule 338: synchronization_statement ::= upc_notify ; // - case 337: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, false); break; + case 338: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, false); break; } // - // Rule 338: synchronization_statement ::= upc_wait expression ; + // Rule 339: synchronization_statement ::= upc_wait expression ; // - case 338: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, true); break; + case 339: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, true); break; } // - // Rule 339: synchronization_statement ::= upc_wait ; + // Rule 340: synchronization_statement ::= upc_wait ; // - case 339: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, false); break; + case 340: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, false); break; } // - // Rule 340: synchronization_statement ::= upc_barrier expression ; + // Rule 341: synchronization_statement ::= upc_barrier expression ; // - case 340: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, true); break; + case 341: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, true); break; } // - // Rule 341: synchronization_statement ::= upc_barrier ; + // Rule 342: synchronization_statement ::= upc_barrier ; // - case 341: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, false); break; + case 342: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, false); break; } // - // Rule 342: synchronization_statement ::= upc_fence ; + // Rule 343: synchronization_statement ::= upc_fence ; // - case 342: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_fence, false); break; + case 343: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_fence, false); break; } // - // Rule 343: iteration_statement ::= upc_forall ( expression ; expression ; expression ; affinity ) statement + // Rule 344: iteration_statement ::= upc_forall ( expression ; expression ; expression ; affinity ) statement // - case 343: { action. consumeStatementUPCForallLoop(true, true, true, true); break; + case 344: { action. consumeStatementUPCForallLoop(true, true, true, true); break; } // - // Rule 344: iteration_statement ::= upc_forall ( expression ; expression ; expression ; ) statement + // Rule 345: iteration_statement ::= upc_forall ( expression ; expression ; expression ; ) statement // - case 344: { action. consumeStatementUPCForallLoop(true, true, true, false); break; + case 345: { action. consumeStatementUPCForallLoop(true, true, true, false); break; } // - // Rule 345: iteration_statement ::= upc_forall ( expression ; expression ; ; affinity ) statement + // Rule 346: iteration_statement ::= upc_forall ( expression ; expression ; ; affinity ) statement // - case 345: { action. consumeStatementUPCForallLoop(true, true, false, true); break; + case 346: { action. consumeStatementUPCForallLoop(true, true, false, true); break; } // - // Rule 346: iteration_statement ::= upc_forall ( expression ; expression ; ; ) statement + // Rule 347: iteration_statement ::= upc_forall ( expression ; expression ; ; ) statement // - case 346: { action. consumeStatementUPCForallLoop(true, true, false, false); break; + case 347: { action. consumeStatementUPCForallLoop(true, true, false, false); break; } // - // Rule 347: iteration_statement ::= upc_forall ( expression ; ; expression ; affinity ) statement + // Rule 348: iteration_statement ::= upc_forall ( expression ; ; expression ; affinity ) statement // - case 347: { action. consumeStatementUPCForallLoop(true, false, true, true); break; + case 348: { action. consumeStatementUPCForallLoop(true, false, true, true); break; } // - // Rule 348: iteration_statement ::= upc_forall ( expression ; ; expression ; ) statement + // Rule 349: iteration_statement ::= upc_forall ( expression ; ; expression ; ) statement // - case 348: { action. consumeStatementUPCForallLoop(true, false, true, false); break; + case 349: { action. consumeStatementUPCForallLoop(true, false, true, false); break; } // - // Rule 349: iteration_statement ::= upc_forall ( expression ; ; ; affinity ) statement + // Rule 350: iteration_statement ::= upc_forall ( expression ; ; ; affinity ) statement // - case 349: { action. consumeStatementUPCForallLoop(true, false, false, true); break; + case 350: { action. consumeStatementUPCForallLoop(true, false, false, true); break; } // - // Rule 350: iteration_statement ::= upc_forall ( expression ; ; ; ) statement + // Rule 351: iteration_statement ::= upc_forall ( expression ; ; ; ) statement // - case 350: { action. consumeStatementUPCForallLoop(true, false, false, false); break; + case 351: { action. consumeStatementUPCForallLoop(true, false, false, false); break; } // - // Rule 351: iteration_statement ::= upc_forall ( ; expression ; expression ; affinity ) statement + // Rule 352: iteration_statement ::= upc_forall ( ; expression ; expression ; affinity ) statement // - case 351: { action. consumeStatementUPCForallLoop(false, true, true, true); break; + case 352: { action. consumeStatementUPCForallLoop(false, true, true, true); break; } // - // Rule 352: iteration_statement ::= upc_forall ( ; expression ; expression ; ) statement + // Rule 353: iteration_statement ::= upc_forall ( ; expression ; expression ; ) statement // - case 352: { action. consumeStatementUPCForallLoop(false, true, true, false); break; + case 353: { action. consumeStatementUPCForallLoop(false, true, true, false); break; } // - // Rule 353: iteration_statement ::= upc_forall ( ; expression ; ; affinity ) statement + // Rule 354: iteration_statement ::= upc_forall ( ; expression ; ; affinity ) statement // - case 353: { action. consumeStatementUPCForallLoop(false, true, false, true); break; + case 354: { action. consumeStatementUPCForallLoop(false, true, false, true); break; } // - // Rule 354: iteration_statement ::= upc_forall ( ; expression ; ; ) statement + // Rule 355: iteration_statement ::= upc_forall ( ; expression ; ; ) statement // - case 354: { action. consumeStatementUPCForallLoop(false, true, false, false); break; + case 355: { action. consumeStatementUPCForallLoop(false, true, false, false); break; } // - // Rule 355: iteration_statement ::= upc_forall ( ; ; expression ; affinity ) statement + // Rule 356: iteration_statement ::= upc_forall ( ; ; expression ; affinity ) statement // - case 355: { action. consumeStatementUPCForallLoop(false, false, true, true); break; + case 356: { action. consumeStatementUPCForallLoop(false, false, true, true); break; } // - // Rule 356: iteration_statement ::= upc_forall ( ; ; expression ; ) statement + // Rule 357: iteration_statement ::= upc_forall ( ; ; expression ; ) statement // - case 356: { action. consumeStatementUPCForallLoop(false, false, true, false); break; + case 357: { action. consumeStatementUPCForallLoop(false, false, true, false); break; } // - // Rule 357: iteration_statement ::= upc_forall ( ; ; ; affinity ) statement + // Rule 358: iteration_statement ::= upc_forall ( ; ; ; affinity ) statement // - case 357: { action. consumeStatementUPCForallLoop(false, false, false, true); break; + case 358: { action. consumeStatementUPCForallLoop(false, false, false, true); break; } // - // Rule 358: iteration_statement ::= upc_forall ( ; ; ; ) statement + // Rule 359: iteration_statement ::= upc_forall ( ; ; ; ) statement // - case 358: { action. consumeStatementUPCForallLoop(false, false, false, false); break; + case 359: { action. consumeStatementUPCForallLoop(false, false, false, false); break; } // - // Rule 359: iteration_statement ::= upc_forall ( declaration expression ; expression ; affinity ) statement + // Rule 360: iteration_statement ::= upc_forall ( declaration expression ; expression ; affinity ) statement // - case 359: { action. consumeStatementUPCForallLoop(true, true, true, true); break; + case 360: { action. consumeStatementUPCForallLoop(true, true, true, true); break; } // - // Rule 360: iteration_statement ::= upc_forall ( declaration expression ; expression ; ) statement + // Rule 361: iteration_statement ::= upc_forall ( declaration expression ; expression ; ) statement // - case 360: { action. consumeStatementUPCForallLoop(true, true, true, false); break; + case 361: { action. consumeStatementUPCForallLoop(true, true, true, false); break; } // - // Rule 361: iteration_statement ::= upc_forall ( declaration expression ; ; affinity ) statement + // Rule 362: iteration_statement ::= upc_forall ( declaration expression ; ; affinity ) statement // - case 361: { action. consumeStatementUPCForallLoop(true, true, false, true); break; + case 362: { action. consumeStatementUPCForallLoop(true, true, false, true); break; } // - // Rule 362: iteration_statement ::= upc_forall ( declaration expression ; ; ) statement + // Rule 363: iteration_statement ::= upc_forall ( declaration expression ; ; ) statement // - case 362: { action. consumeStatementUPCForallLoop(true, true, false, false); break; + case 363: { action. consumeStatementUPCForallLoop(true, true, false, false); break; } // - // Rule 363: iteration_statement ::= upc_forall ( declaration ; expression ; affinity ) statement + // Rule 364: iteration_statement ::= upc_forall ( declaration ; expression ; affinity ) statement // - case 363: { action. consumeStatementUPCForallLoop(true, false, true, true); break; + case 364: { action. consumeStatementUPCForallLoop(true, false, true, true); break; } // - // Rule 364: iteration_statement ::= upc_forall ( declaration ; expression ; ) statement + // Rule 365: iteration_statement ::= upc_forall ( declaration ; expression ; ) statement // - case 364: { action. consumeStatementUPCForallLoop(true, false, true, false); break; + case 365: { action. consumeStatementUPCForallLoop(true, false, true, false); break; } // - // Rule 365: iteration_statement ::= upc_forall ( declaration ; ; affinity ) statement + // Rule 366: iteration_statement ::= upc_forall ( declaration ; ; affinity ) statement // - case 365: { action. consumeStatementUPCForallLoop(true, false, false, true); break; + case 366: { action. consumeStatementUPCForallLoop(true, false, false, true); break; } // - // Rule 366: iteration_statement ::= upc_forall ( declaration ; ; ) statement + // Rule 367: iteration_statement ::= upc_forall ( declaration ; ; ) statement // - case 366: { action. consumeStatementUPCForallLoop(true, false, false, false); break; + case 367: { action. consumeStatementUPCForallLoop(true, false, false, false); break; } // - // Rule 368: affinity ::= continue + // Rule 369: affinity ::= continue // - case 368: { action. consumeToken(); break; + case 369: { action. consumeToken(); break; } diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParserprs.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParserprs.java index cff6fd915ea..0200ba75c2b 100644 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParserprs.java +++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParserprs.java @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 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 @@ -46,188 +46,188 @@ public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UP 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,2,5,7,5,1,0,7,2,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,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,3,4, - 5,6,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,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,1,3, - 6,4,2,4,1,1,1,1,1,2, - 4,2,4,2,4,1,1,2,1,1, - 1,3,3,2,1,3,2,3,2,3, - 2,2,11,10,10,9,10,9,9,8, - 10,9,9,8,9,8,8,7,10,9, - 9,8,9,8,8,7,1,1,-43,0, - 0,0,0,0,0,0,0,0,-2,0, - 0,0,0,0,0,0,0,0,0,-132, - 0,0,0,0,0,-81,0,0,0,0, - 0,0,0,0,0,0,0,-62,0,0, - 0,0,0,0,0,0,0,-40,0,0, - 0,0,0,0,0,0,-175,0,-153,0, - -120,0,0,0,0,-88,0,-90,0,-4, - 0,-17,0,0,0,0,0,0,0,-157, + 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,3, + 4,5,6,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,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,1, + 3,6,4,2,4,1,1,1,1,1, + 2,4,2,4,2,4,1,1,2,1, + 1,1,3,3,2,1,3,2,3,2, + 3,2,2,11,10,10,9,10,9,9, + 8,10,9,9,8,9,8,8,7,10, + 9,9,8,9,8,8,7,1,1,-43, + 0,0,0,0,0,0,0,0,0,-2, + 0,0,0,0,0,0,0,0,0,0, + -132,0,0,0,0,0,-81,0,0,0, + 0,0,0,0,0,0,0,0,-62,0, + 0,0,0,0,0,0,0,0,-40,0, + 0,0,0,0,0,0,0,-175,0,-153, + 0,-120,0,0,0,0,-88,0,-90,0, + -4,0,-17,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,-224,-44,0,0,0,0,0,0,0, + 0,0,0,-207,0,-19,-193,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-148,0,-1, 0,0,0,0,0,0,0,0,0,0, - -224,-44,0,0,0,0,0,0,0,0, - 0,0,-207,0,-19,-193,0,0,0,0, + 0,0,-82,-20,0,-145,0,0,0,0, + 0,0,0,0,-115,-116,-85,0,0,0, + 0,-21,0,0,0,0,-117,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,-148,0,-1,0, + 0,0,0,0,0,0,0,-22,0,-141, + 0,0,0,0,0,0,0,0,-208,0, 0,0,0,0,0,0,0,0,0,0, - 0,-82,-20,0,-145,0,0,0,0,0, - 0,0,0,-115,-116,-85,0,0,0,0, - -21,0,0,0,0,-117,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,-22,0,-141,0, - 0,0,0,0,0,0,0,-208,0,0, + -49,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,0,0,0,-49, + 0,0,0,0,-80,0,-45,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,-83,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-124,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-80,0,-45,0,0,0,0, - 0,0,0,0,0,-3,0,0,0,0, + 0,0,0,0,0,0,0,0,-131,0, + 0,0,0,0,0,0,0,0,-199,0, + 0,0,0,0,0,0,0,0,-133,0, + 0,-9,0,0,0,0,0,0,0,-23, + 0,0,0,0,0,-125,-144,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-124,0,0,0, + 0,0,0,0,0,0,0,0,0,-30, + 0,0,0,0,0,0,0,0,0,-41, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-131,0,0, - 0,0,0,0,0,0,0,-199,0,0, - 0,0,0,0,0,0,0,-133,0,0, - -9,0,0,0,0,0,0,0,-23,0, - 0,0,0,0,-125,-144,0,0,0,0, + -63,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-30,0, - 0,0,0,0,0,0,0,0,-41,0, - 0,0,0,0,0,0,0,0,0,-63, + 0,-64,0,0,0,0,0,0,0,0, + 0,-74,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,-66,0,0,0,0,0,0, + 0,0,0,-75,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, - -64,0,0,0,0,0,0,0,0,0, - -74,0,0,0,0,0,0,0,0,0, - 0,-65,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-68,0,0,0,0, + 0,0,0,0,0,-76,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,-66,0,0,0,0,0,0,0, - 0,0,-75,0,0,0,0,0,0,0, - 0,0,0,-67,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-70,0,0, + 0,0,0,0,0,0,0,-77,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,-68,0,0,0,0,0, - 0,0,0,0,-76,0,0,0,0,0, - 0,0,0,0,0,-69,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-72, + 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,-70,0,0,0, - 0,0,0,0,0,0,-77,0,0,0, - 0,0,0,0,0,0,0,-71,0,0, + -73,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-72,0, - 0,0,0,0,0,0,0,0,-78,0, - 0,0,0,0,0,0,0,0,0,-73, + 0,-137,0,0,0,0,0,0,0,0, + 0,-79,0,0,0,0,0,0,0,0, + 0,0,-160,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-161,0,0,0,0,0,0, + 0,0,0,-24,0,0,0,0,0,0, + 0,0,0,0,-196,0,0,0,0,0, + 0,0,0,0,-226,0,0,0,0,0, + 0,0,0,0,-205,0,0,0,0,0, + 0,0,0,0,-25,0,0,0,0,0, + 0,0,0,0,0,-6,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -137,0,0,0,0,0,0,0,0,0, - -79,0,0,0,0,0,0,0,0,0, - 0,-160,0,0,0,0,0,0,0,0, + -134,0,-211,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-161,0,0,0,0,0,0,0, - 0,0,-24,0,0,0,0,0,0,0, - 0,0,0,-196,0,0,0,0,0,0, - 0,0,0,-226,0,0,0,0,0,0, - 0,0,0,-205,0,0,0,0,0,0, - 0,0,0,-25,0,0,0,0,0,0, - 0,0,0,0,-6,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-134, - 0,-211,0,0,0,0,0,0,0,0, + 0,0,-217,0,0,0,0,0,0,0, + 0,0,-26,0,0,0,0,0,0,0, + 0,0,-10,0,0,0,0,0,0,0, + 0,-11,0,0,0,0,0,0,0,-27, + -225,0,0,0,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,-26,0,0,0,0,0,0,0,0, - 0,-10,0,0,0,0,0,0,0,0, - -11,0,0,0,0,0,0,0,-27,-225, + -61,0,0,0,0,0,0,0,0,0, + -28,0,0,0,0,0,0,0,-97,0, + -12,0,0,0,0,0,0,0,0,-50, + 0,0,0,0,0,0,0,0,0,-95, + 0,0,0,0,0,-174,-118,-86,-147,-29, + -36,0,-98,0,0,0,0,-99,0,-59, + 0,0,0,0,0,0,0,0,0,-100, + 0,0,0,0,0,0,0,0,0,-212, + 0,0,0,0,0,-164,0,0,0,0, + 0,0,0,0,-92,0,-101,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-61, - 0,0,0,0,0,0,0,0,0,-28, - 0,0,0,0,0,0,0,-97,0,-12, - 0,0,0,0,0,0,0,0,-50,0, - 0,0,0,0,0,0,0,0,-95,0, - 0,0,0,0,-174,-118,-86,-147,-29,-36, - 0,-98,0,0,0,0,-99,0,-59,0, - 0,0,0,0,0,0,0,0,-100,0, - 0,0,0,0,0,0,0,0,-212,0, - 0,0,0,0,-164,0,0,0,0,0, - 0,0,0,-92,0,-101,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-128, - -119,-135,0,0,-13,0,0,0,0,0, + -128,-119,-135,0,0,-13,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-202,0,0,0,0,0,0,-183,-37, - 0,0,0,0,0,0,-58,0,0,0, - 0,0,0,0,0,0,-139,0,0,0, - 0,0,0,-102,-206,0,0,0,0,-103, + 0,0,-202,0,0,0,0,0,0,-183, + -37,0,0,0,0,0,0,-58,0,0, + 0,0,0,0,0,0,0,-139,0,0, + 0,0,0,0,-102,-206,0,0,0,0, + -103,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-89,-146,0,0, + 0,0,-55,0,0,0,0,0,0,0, + 0,0,-104,0,0,0,-136,0,0,0, + 0,0,0,0,-197,0,0,-195,0,-158, + -105,0,0,0,0,0,-56,0,0,0, + 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,-89,-146,0,0,0, - 0,-55,0,0,0,0,0,0,0,0, - 0,-104,0,0,0,-136,0,0,0,0, - 0,0,0,-197,0,0,-195,0,-158,-105, - 0,0,0,0,0,-56,0,0,0,0, - 0,0,0,0,0,0,0,0,-57,0, + 0,0,-51,0,0,0,0,0,0,0, + 0,0,-87,0,-52,0,0,0,0,0, + 0,0,0,0,-186,0,-14,0,0,0, + 0,0,0,0,0,0,0,0,0,-127, 0,0,0,0,0,0,0,0,0,0, - 0,-51,0,0,0,0,0,0,0,0, - 0,-87,0,-52,0,0,0,0,0,0, - 0,0,0,-186,0,-14,0,0,0,0, - 0,0,0,0,0,0,0,0,-127,0, + 0,-53,0,0,0,0,0,0,0,0, + 0,0,-93,-91,-210,0,0,-106,0,0, + -54,0,0,0,0,0,0,0,0,0, + -219,-130,-169,-182,-154,-84,0,0,0,0, + 0,0,-94,0,0,0,0,-189,0,0, + 0,0,0,0,0,-107,0,-7,0,0, 0,0,0,0,0,0,0,0,0,0, - -53,0,0,0,0,0,0,0,0,0, - 0,-93,-91,-210,0,0,-106,0,0,-54, - 0,0,0,0,0,0,0,0,0,-219, - -130,-169,-182,-154,-84,0,0,0,0,0, - 0,-94,0,0,0,0,-189,0,0,0, - 0,0,0,0,-107,0,-7,0,0,0, + 0,0,0,0,0,0,-96,0,0,0, + 0,0,-143,0,0,0,0,0,-152,0, + 0,0,0,0,0,0,0,-42,-156,0, + 0,0,0,-151,0,-108,-165,0,0,0, + 0,0,0,0,0,-163,0,0,0,0, + 0,0,0,-109,-110,0,0,-46,0,0, + 0,0,0,0,0,0,-111,0,-47,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-96,0,0,0,0, - 0,-143,0,0,0,0,0,-152,0,0, - 0,0,0,0,0,0,-42,-156,0,0, - 0,0,-151,0,-108,-165,0,0,0,0, - 0,0,0,0,-163,0,0,0,0,0, - 0,0,-109,-110,0,0,-46,0,0,0, - 0,0,0,0,0,-111,0,-47,0,0, - 0,0,0,0,0,0,0,0,0,-48, - 0,0,0,0,0,0,0,0,-129,-168, - -187,-159,-162,-39,-138,-181,-173,0,0,0, - 0,0,-112,0,-113,0,-8,0,0,0, - 0,0,0,-114,0,0,0,0,0,-121, - -123,0,0,0,0,0,-15,0,0,0, - 0,0,0,-16,0,0,0,0,0,0, - 0,-18,0,0,0,-140,0,-60,0,0, - 0,0,-31,0,-185,0,-38,0,-149,-167, - 0,-172,0,-32,-166,-220,0,0,0,0, - -155,0,0,0,0,0,-33,-170,0,0, - 0,0,0,0,0,0,0,-34,0,0, - 0,0,-122,0,0,0,0,0,-35,0, - 0,-200,-190,0,0,-203,-171,0,0,0, - 0,0,-126,0,0,0,0,-176,0,0, - 0,0,0,0,-142,0,0,0,0,0, - -184,0,-192,0,0,0,0,0,0,0, + -48,0,0,0,0,0,0,0,0,-129, + -168,-187,-159,-162,-39,-138,-181,-173,0,0, + 0,0,0,-112,0,-113,0,-8,0,0, + 0,0,0,0,-114,0,0,0,0,0, + -121,-123,0,0,0,0,0,-15,0,0, + 0,0,0,0,-16,0,0,0,0,0, + 0,0,-18,0,0,0,-140,0,-60,0, + 0,0,0,-31,0,-185,0,-38,0,-149, + -167,0,-172,0,-32,-166,-220,0,0,0, + 0,-155,0,0,0,0,0,-33,-170,0, + 0,0,0,0,0,0,0,0,-34,0, + 0,0,0,-122,0,0,0,0,0,-35, + 0,0,-200,-190,0,0,-203,-171,0,0, + 0,0,0,-126,0,0,0,0,-176,0, + 0,0,0,0,0,-142,0,0,0,0, + 0,-184,0,-192,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-178,-201,-179,-150,-216,0,-188,0,0, - -204,0,0,-180,0,-213,-177,0,-191,-215, - -221,0,-209,0,-214,0,0,-198,0,0, - -194,0,-222,0,0,0,0,0,0,0, - 0,0,0,-218,0,0,0,-223,0,0, + 0,0,-178,-201,-179,-150,-216,0,-188,0, + 0,-204,0,0,-180,0,-213,-177,0,-191, + -215,-221,0,-209,0,-214,0,0,-198,0, + 0,-194,0,-222,0,0,0,0,0,0, + 0,0,0,0,-218,0,0,0,-223,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,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; @@ -249,188 +249,188 @@ public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UP 90,90,74,74,48,107,107,107,107,107, 107,107,108,108,108,109,109,114,114,115, 115,110,110,111,111,111,117,117,112,112, - 112,112,113,113,113,113,113,116,116,27, - 27,27,27,27,35,35,35,80,80,75, - 75,75,75,76,76,76,77,77,77,78, - 78,78,79,79,79,118,118,119,119,120, - 36,38,38,38,38,38,56,57,57,57, - 57,57,57,57,57,57,57,57,57,66, - 63,63,91,92,68,68,64,64,64,69, - 81,81,82,82,70,70,70,33,93,93, - 83,84,84,84,65,65,94,85,85,86, - 86,71,71,23,24,24,24,37,53,53, - 39,39,39,39,42,42,44,40,40,41, - 45,45,121,121,43,122,122,95,95,29, - 29,29,29,29,29,29,29,29,87,54, - 54,54,54,30,59,59,58,58,58,60, - 60,55,55,96,96,47,47,61,61,61, - 49,49,49,50,51,51,51,52,52,52, - 52,67,67,32,32,34,98,97,97,97, - 97,88,99,100,100,101,101,102,102,123, - 123,124,124,125,125,125,125,127,127,126, - 126,126,128,129,129,89,89,2,2,2, - 6,6,6,6,6,6,23,23,25,25, - 26,26,103,103,103,107,130,130,130,130, - 130,130,130,112,112,112,112,112,112,112, + 112,112,112,113,113,113,113,113,116,116, + 27,27,27,27,27,35,35,35,80,80, + 75,75,75,75,76,76,76,77,77,77, + 78,78,78,79,79,79,118,118,119,119, + 120,36,38,38,38,38,38,56,57,57, + 57,57,57,57,57,57,57,57,57,57, + 66,63,63,91,92,68,68,64,64,64, + 69,81,81,82,82,70,70,70,33,93, + 93,83,84,84,84,65,65,94,85,85, + 86,86,71,71,23,24,24,24,37,53, + 53,39,39,39,39,42,42,44,40,40, + 41,45,45,121,121,43,122,122,95,95, + 29,29,29,29,29,29,29,29,29,87, + 54,54,54,54,30,59,59,58,58,58, + 60,60,55,55,96,96,47,47,61,61, + 61,49,49,49,50,51,51,51,52,52, + 52,52,67,67,32,32,34,98,97,97, + 97,97,88,99,100,100,101,101,102,102, + 123,123,124,124,125,125,125,125,127,127, + 126,126,126,128,129,129,89,89,2,2, + 2,6,6,6,6,6,6,23,23,25, + 25,26,26,103,103,103,107,130,130,130, + 130,130,130,130,112,112,112,112,112,112, 112,112,112,112,112,112,112,112,112,112, - 112,112,112,112,112,112,112,131,131,1, - 1262,17,21,18,442,1259,45,523,485,295, - 577,541,1063,729,1162,1104,1220,1189,75,92, - 76,429,135,213,326,327,525,20,17,21, - 18,442,43,44,137,134,136,160,618,20, - 17,21,18,442,43,45,523,485,838,577, - 541,1063,729,1162,1694,139,166,551,28,123, - 1700,6,143,146,149,152,277,438,39,396, - 40,1675,65,440,1472,1396,1523,1552,1586,1228, - 556,20,17,21,18,442,1259,45,523,485, - 427,577,541,1063,729,1162,1104,1220,1189,75, - 281,232,618,20,17,21,18,442,43,45, - 1267,1746,282,132,1700,66,347,20,17,21, - 18,442,1259,45,523,485,427,577,541,1063, - 729,1162,1104,1220,1189,75,281,225,179,492, - 218,1616,221,1745,223,224,229,287,282,656, - 1700,1758,32,59,1874,830,1861,1424,293,390, - 135,213,326,327,133,768,151,88,288,328, - 315,64,137,134,136,160,799,1255,255,213, - 326,327,1701,289,199,200,649,20,17,21, - 18,442,324,139,166,275,28,28,1700,1700, - 143,146,149,152,290,438,1773,142,28,32, - 1700,283,1472,1396,1523,1552,1586,1228,587,20, - 17,21,18,442,1259,45,523,485,379,577, - 541,1063,729,1162,1104,1220,1189,75,281,1672, - 618,20,17,21,18,442,43,45,523,485, - 282,1306,1700,281,20,17,21,18,442,1259, - 45,523,485,1793,577,541,1063,729,1162,1104, - 1220,1189,75,735,235,239,618,20,17,21, - 18,442,43,45,1279,291,618,20,17,21, - 18,442,1259,45,523,485,22,577,541,1063, - 729,1162,1104,1220,1189,75,92,804,20,17, - 21,18,442,1259,45,523,485,1805,577,541, - 1063,729,1162,1104,1220,1189,75,1592,461,20, - 17,21,18,442,43,45,523,485,982,577, - 541,1063,729,1162,1104,1220,1189,94,243,187, - 334,618,20,17,21,18,442,43,40,53, - 440,255,213,326,327,235,314,20,17,21, - 18,442,1259,45,523,485,1613,577,541,1063, - 729,1162,1104,1220,1189,75,1673,241,240,618, - 20,17,21,18,442,1259,45,523,485,838, - 577,541,1063,729,1162,1104,1220,1189,75,93, - 618,20,17,21,18,442,1259,45,523,485, - 19,577,541,1063,729,1162,1104,1220,1189,75, - 86,618,20,17,21,18,442,1259,45,523, - 485,838,577,541,1063,729,1162,1104,1220,1189, - 75,85,618,20,17,21,18,442,1259,45, - 523,485,534,577,541,1063,729,1162,1104,1220, - 1189,75,84,618,20,17,21,18,442,1259, - 45,523,485,838,577,541,1063,729,1162,1104, - 1220,1189,75,83,618,20,17,21,18,442, - 1259,45,523,485,535,577,541,1063,729,1162, - 1104,1220,1189,75,82,618,20,17,21,18, - 442,1259,45,523,485,838,577,541,1063,729, - 1162,1104,1220,1189,75,81,618,20,17,21, - 18,442,1259,45,523,485,546,577,541,1063, - 729,1162,1104,1220,1189,75,80,618,20,17, - 21,18,442,1259,45,523,485,838,577,541, - 1063,729,1162,1104,1220,1189,75,79,618,20, - 17,21,18,442,1259,45,523,485,1256,577, - 541,1063,729,1162,1104,1220,1189,75,78,618, - 20,17,21,18,442,1259,45,523,485,838, - 577,541,1063,729,1162,1104,1220,1189,75,77, - 618,20,17,21,18,442,1259,45,523,485, - 1321,577,541,1063,729,1162,1104,1220,1189,75, - 76,618,20,17,21,18,442,1259,45,523, - 485,838,577,541,1063,729,1162,1104,1220,1189, - 75,74,618,20,17,21,18,442,1259,45, - 523,485,23,577,541,1063,729,1162,1104,1220, - 1189,75,1832,618,20,17,21,18,442,1259, - 45,523,485,171,577,541,1063,729,1162,1104, - 1220,1189,75,1834,618,20,17,21,18,442, - 43,45,523,485,736,577,541,1063,729,1162, - 1104,1220,1189,94,618,20,17,21,18,442, - 43,45,523,485,333,577,541,1063,729,1162, - 1104,1220,1189,94,1726,680,20,17,21,18, - 442,322,1853,219,1616,221,1745,223,224,229, - 243,186,618,20,17,21,18,442,43,45, - 523,485,212,577,541,1063,729,1162,1104,1220, - 1189,94,618,20,17,21,18,442,43,45, - 523,485,613,577,541,1063,729,1162,1104,1220, - 1189,94,618,20,17,21,18,442,43,39, - 1863,618,20,17,21,18,442,43,38,176, - 618,20,17,21,18,442,43,45,523,485, - 202,577,541,1063,729,1162,1104,1220,1189,94, - 618,20,17,21,18,442,43,45,523,485, - 238,577,541,1063,729,1162,1104,1685,225,179, - 618,20,17,21,18,442,43,37,203,618, - 20,17,21,18,442,43,45,523,485,380, - 1374,135,213,326,327,654,854,385,1019,885, - 243,31,835,138,134,136,160,81,1740,618, - 20,17,21,18,442,43,45,523,485,115, - 577,541,1063,1646,140,166,276,274,28,1002, - 1700,144,147,150,153,979,438,218,1616,221, - 1745,223,224,229,325,1676,341,267,1257,536, - 272,263,255,213,326,327,277,1813,1416,264, - 838,886,188,1751,274,618,20,17,21,18, - 442,43,36,25,218,1616,221,1745,223,224, - 229,273,232,1322,267,1257,536,272,1844,1030, - 243,31,1746,28,261,1700,1320,618,20,17, - 21,18,442,43,45,523,485,6,577,541, - 1063,729,1634,718,400,243,1783,450,274,1726, - 480,218,1616,221,1745,223,224,229,219,1616, - 221,1745,223,224,229,1874,864,838,269,1257, - 536,272,618,20,17,21,18,442,43,45, - 523,485,511,577,541,1565,243,188,279,135, - 213,326,327,24,583,198,200,243,296,32, - 80,145,134,136,160,1836,618,20,17,21, - 18,442,43,45,523,485,210,577,1615,618, - 20,17,21,18,442,43,45,523,485,1798, - 577,1633,618,20,17,21,18,442,43,45, - 523,485,378,1380,618,20,17,21,18,442, - 43,45,523,485,632,1412,618,20,17,21, - 18,442,43,35,1342,135,213,326,327,430, - 20,17,21,18,442,43,36,142,134,136, - 160,618,20,17,21,18,442,43,45,523, - 1430,246,358,881,243,298,294,249,141,166, - 618,20,17,21,18,442,43,45,523,1527, - 674,883,838,883,6,848,135,213,326,327, - 1746,1835,909,1782,1787,1669,195,661,148,134, - 136,160,278,280,231,193,277,711,20,17, - 21,18,442,320,274,135,213,326,327,218, - 1616,221,1745,223,224,229,926,151,134,136, - 160,1130,235,1844,267,1257,536,272,430,20, - 17,21,18,442,43,36,1320,880,6,135, - 213,326,327,235,243,70,599,522,1677,1841, - 333,154,134,136,160,430,20,17,21,18, - 442,43,36,120,706,332,274,618,20,17, - 21,18,442,43,48,228,200,247,618,20, - 17,21,18,442,43,47,267,1257,536,272, - 618,20,17,21,18,442,43,46,266,924, - 601,113,974,235,6,518,924,441,1783,507, - 507,507,1847,20,656,487,507,742,20,17, - 21,18,442,41,550,242,1258,1258,197,1701, - 912,175,88,1258,1484,644,1701,773,20,17, - 21,18,442,34,773,20,17,21,18,442, - 33,284,6,1773,259,260,391,1397,6,1739, - 1349,259,369,6,1397,518,1739,340,656,486, - 32,193,6,369,6,386,32,656,209,197, - 88,930,1838,769,369,1607,88,6,957,1683, - 197,88,1557,1849,769,90,1607,369,6,418, - 1701,197,88,925,227,769,1701,1607,369,6, - 811,180,247,716,197,88,661,57,769,369, - 1607,853,507,382,1349,197,88,507,978,769, - 1084,1607,274,1726,895,382,197,88,1858,1258, - 769,6,1607,518,197,937,254,213,326,327, - 1484,1833,269,1257,536,272,979,1021,254,213, - 326,327,235,169,235,539,1006,259,441,1783, - 1846,518,1739,507,838,507,838,382,1851,723, - 518,518,525,235,244,192,245,192,382,483, - 197,747,1258,235,525,225,1484,230,1735,1671, - 254,213,326,327,449,295,234,1855,373,1939, - 736,254,213,326,327,297,1939,204,1939,1939, - 259,1939,1032,1542,1939,1739,181,205,1939,1939, - 1939,1939,1939,192,1939,1939,708,1939,194,209, - 1939,1939,1939,1939,1850,1671,1939,1289,1939,1939, - 1939,1939,1939,1786,1849,1939,0,329,698,0, - 20,179,0,1,2165,0,1,2176,0 + 112,112,112,112,112,112,112,112,131,131, + 1,1263,17,21,18,443,1260,45,524,486, + 295,578,542,1064,730,1163,1105,1221,1190,75, + 92,76,430,136,214,327,328,525,20,17, + 21,18,443,43,44,138,135,137,161,618, + 20,17,21,18,443,43,45,524,486,838, + 578,542,1064,730,1163,1695,140,167,551,28, + 123,1701,6,144,147,150,153,277,439,39, + 397,40,1676,65,441,1473,1397,1524,1553,1587, + 1229,556,20,17,21,18,443,1260,45,524, + 486,428,578,542,1064,730,1163,1105,1221,1190, + 75,282,232,618,20,17,21,18,443,43, + 45,1268,1747,283,132,1701,66,347,20,17, + 21,18,443,1260,45,524,486,428,578,542, + 1064,730,1163,1105,1221,1190,75,282,225,180, + 492,219,1617,222,1746,224,225,230,288,283, + 657,1701,1759,32,59,1875,830,1862,1425,294, + 391,136,214,327,328,133,768,151,88,289, + 329,316,64,138,135,137,161,799,1256,256, + 214,327,328,1702,290,200,201,649,20,17, + 21,18,443,325,140,167,276,28,28,1701, + 1701,144,147,150,153,291,439,1774,142,28, + 32,1701,284,1473,1397,1524,1553,1587,1229,587, + 20,17,21,18,443,1260,45,524,486,380, + 578,542,1064,730,1163,1105,1221,1190,75,282, + 1673,618,20,17,21,18,443,43,45,524, + 486,283,1307,1701,281,20,17,21,18,443, + 1260,45,524,486,1794,578,542,1064,730,1163, + 1105,1221,1190,75,736,235,240,618,20,17, + 21,18,443,43,45,1280,292,618,20,17, + 21,18,443,1260,45,524,486,22,578,542, + 1064,730,1163,1105,1221,1190,75,92,804,20, + 17,21,18,443,1260,45,524,486,1806,578, + 542,1064,730,1163,1105,1221,1190,75,1593,461, + 20,17,21,18,443,43,45,524,486,982, + 578,542,1064,730,1163,1105,1221,1190,94,243, + 188,335,618,20,17,21,18,443,43,40, + 53,441,256,214,327,328,235,314,20,17, + 21,18,443,1260,45,524,486,1614,578,542, + 1064,730,1163,1105,1221,1190,75,1674,242,241, + 618,20,17,21,18,443,1260,45,524,486, + 838,578,542,1064,730,1163,1105,1221,1190,75, + 93,618,20,17,21,18,443,1260,45,524, + 486,19,578,542,1064,730,1163,1105,1221,1190, + 75,86,618,20,17,21,18,443,1260,45, + 524,486,838,578,542,1064,730,1163,1105,1221, + 1190,75,85,618,20,17,21,18,443,1260, + 45,524,486,535,578,542,1064,730,1163,1105, + 1221,1190,75,84,618,20,17,21,18,443, + 1260,45,524,486,838,578,542,1064,730,1163, + 1105,1221,1190,75,83,618,20,17,21,18, + 443,1260,45,524,486,536,578,542,1064,730, + 1163,1105,1221,1190,75,82,618,20,17,21, + 18,443,1260,45,524,486,838,578,542,1064, + 730,1163,1105,1221,1190,75,81,618,20,17, + 21,18,443,1260,45,524,486,547,578,542, + 1064,730,1163,1105,1221,1190,75,80,618,20, + 17,21,18,443,1260,45,524,486,838,578, + 542,1064,730,1163,1105,1221,1190,75,79,618, + 20,17,21,18,443,1260,45,524,486,1257, + 578,542,1064,730,1163,1105,1221,1190,75,78, + 618,20,17,21,18,443,1260,45,524,486, + 838,578,542,1064,730,1163,1105,1221,1190,75, + 77,618,20,17,21,18,443,1260,45,524, + 486,1322,578,542,1064,730,1163,1105,1221,1190, + 75,76,618,20,17,21,18,443,1260,45, + 524,486,838,578,542,1064,730,1163,1105,1221, + 1190,75,74,618,20,17,21,18,443,1260, + 45,524,486,23,578,542,1064,730,1163,1105, + 1221,1190,75,1833,618,20,17,21,18,443, + 1260,45,524,486,171,578,542,1064,730,1163, + 1105,1221,1190,75,1835,618,20,17,21,18, + 443,43,45,524,486,736,578,542,1064,730, + 1163,1105,1221,1190,94,618,20,17,21,18, + 443,43,45,524,486,333,578,542,1064,730, + 1163,1105,1221,1190,94,1727,680,20,17,21, + 18,443,323,1854,220,1617,222,1746,224,225, + 230,243,187,618,20,17,21,18,443,43, + 45,524,486,213,578,542,1064,730,1163,1105, + 1221,1190,94,618,20,17,21,18,443,43, + 45,524,486,613,578,542,1064,730,1163,1105, + 1221,1190,94,618,20,17,21,18,443,43, + 39,1864,618,20,17,21,18,443,43,38, + 176,618,20,17,21,18,443,43,45,524, + 486,203,578,542,1064,730,1163,1105,1221,1190, + 94,618,20,17,21,18,443,43,45,524, + 486,238,578,542,1064,730,1163,1105,1686,225, + 180,618,20,17,21,18,443,43,37,204, + 618,20,17,21,18,443,43,45,524,486, + 380,1375,136,214,327,328,654,854,385,1019, + 885,243,31,835,139,135,137,161,81,1741, + 618,20,17,21,18,443,43,45,524,486, + 115,578,542,1064,1647,141,167,277,275,28, + 1002,1701,145,148,151,154,979,439,219,1617, + 222,1746,224,225,230,325,1677,341,268,1258, + 537,273,264,256,214,327,328,278,1814,1417, + 265,838,886,188,1752,275,618,20,17,21, + 18,443,43,36,25,219,1617,222,1746,224, + 225,230,274,232,1323,268,1258,537,273,1845, + 1030,243,31,1747,28,262,1701,1321,618,20, + 17,21,18,443,43,45,524,486,6,578, + 542,1064,730,1635,719,400,243,1784,451,275, + 1727,480,219,1617,222,1746,224,225,230,220, + 1617,222,1746,224,225,230,1875,864,838,270, + 1258,537,273,618,20,17,21,18,443,43, + 45,524,486,511,578,542,1566,243,189,280, + 136,214,327,328,24,583,199,201,243,297, + 32,80,146,135,137,161,1837,618,20,17, + 21,18,443,43,45,524,486,211,578,1616, + 618,20,17,21,18,443,43,45,524,486, + 1799,578,1634,618,20,17,21,18,443,43, + 45,524,486,378,1381,618,20,17,21,18, + 443,43,45,524,486,632,1413,618,20,17, + 21,18,443,43,35,1343,136,214,327,328, + 430,20,17,21,18,443,43,36,143,135, + 137,161,618,20,17,21,18,443,43,45, + 524,1431,247,358,881,243,299,295,249,142, + 167,618,20,17,21,18,443,43,45,524, + 1528,674,883,838,883,6,848,136,214,327, + 328,1747,1836,909,1783,1788,1670,196,661,149, + 135,137,161,279,281,232,193,278,711,20, + 17,21,18,443,321,275,136,214,327,328, + 219,1617,222,1746,224,225,230,926,152,135, + 137,161,1131,235,1845,268,1258,537,273,430, + 20,17,21,18,443,43,36,1321,880,6, + 136,214,327,328,235,244,70,599,523,1678, + 1842,334,155,135,137,161,430,20,17,21, + 18,443,43,36,120,706,333,275,618,20, + 17,21,18,443,43,48,229,200,248,618, + 20,17,21,18,443,43,47,268,1258,537, + 273,618,20,17,21,18,443,43,46,267, + 924,601,113,974,235,6,518,924,441,1784, + 508,508,508,1848,20,657,487,508,742,20, + 17,21,18,443,41,550,243,1259,1259,198, + 1702,912,175,88,1259,1485,645,1702,773,20, + 17,21,18,443,34,773,20,17,21,18, + 443,33,285,6,1774,260,261,391,1398,6, + 1740,1350,260,370,6,1398,518,1740,340,657, + 486,32,194,6,370,6,386,32,657,210, + 198,88,930,1839,770,370,1608,88,6,957, + 1684,198,88,1558,1850,770,90,1608,370,6, + 419,1702,198,88,925,228,770,1702,1608,370, + 6,812,181,247,716,198,88,661,57,770, + 370,1608,854,508,382,1350,198,88,508,978, + 770,1085,1608,275,1727,896,382,198,88,1859, + 1259,770,6,1608,518,198,938,255,214,327, + 328,1485,1834,270,1258,537,273,980,1022,255, + 214,327,328,235,169,235,539,1006,260,441, + 1784,1847,518,1740,508,838,508,838,382,1852, + 723,518,518,526,235,245,192,246,193,382, + 484,198,747,1259,235,526,226,1485,231,1736, + 1672,255,214,327,328,449,296,235,1856,373, + 1940,737,255,214,327,328,298,1940,205,1940, + 1940,260,1940,1033,1543,1940,1740,182,206,1940, + 1940,1940,1940,1940,193,1940,1940,709,1940,195, + 210,1940,1940,1940,1940,1851,1672,1940,1290,1940, + 1940,1940,1940,1940,1787,1850,1940,0,330,699, + 0,20,180,0,1,2167,0,1,2178,0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -561,115 +561,115 @@ public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UP public interface TermAction { public final static char termAction[] = {0, - 1939,1950,1722,1951,1325,1,1230,1181,1486,1714, - 1707,2153,2154,1687,2155,1952,1953,1954,1955,1939, - 1172,721,2256,2257,2258,2269,436,2270,1567,1115, - 556,253,2102,2103,2101,2156,2104,2100,182,89, - 2107,2112,2111,2109,2110,2108,2113,2114,2106,2115, - 2116,2117,65,1249,1522,1304,1939,1,49,1, - 1402,191,1660,60,32,52,1737,1,1,62, - 1,646,472,1965,1966,1939,1950,759,1951,54, - 51,1,1,1,1660,646,472,1011,1,1, - 1,1,1,1,1544,1674,1,1,1,1, - 1,1,1,1,1,1,1,1,191,1, - 1,1,1939,1,50,1,2135,190,1660,61, - 1648,1637,183,1,1,1350,1,1474,1462,1239, - 610,286,325,1474,1462,1239,610,1,1,1, - 1260,55,1648,1637,1,1,1,1,1,1, - 271,3165,1,1,1,1,1,1,1,1, - 1,1,1,1,190,1,1,1,1939,1, - 63,1,2135,191,1939,73,1648,1637,579,1, - 1,623,1,1474,1462,1239,610,1939,1950,1939, - 1951,1939,64,1,1,1,1945,1511,1530,66, - 1,1,1,1,1,1,1608,1402,1,1, + 1940,1951,1723,1952,1326,1,1231,1182,1487,1715, + 1708,2155,2156,1688,2157,1953,1954,1955,1956,1940, + 1173,722,2258,2259,2260,2271,437,2272,1568,1116, + 557,254,2104,2105,2103,2158,2106,2102,183,89, + 2109,2114,2113,2111,2112,2110,2115,2116,2108,2117, + 2118,2119,65,1250,1523,1305,1940,1,49,1, + 1403,192,1661,60,32,52,1738,1,1,62, + 1,647,473,1966,1967,1940,1951,760,1952,54, + 51,1,1,1,1661,647,473,1012,1,1, + 1,1,1,1,1545,1675,1,1,1,1, + 1,1,1,1,1,1,1,1,192,1, + 1,1,1940,1,50,1,2137,191,1661,61, + 1649,1638,184,1,1,1351,1,1475,1463,1240, + 611,287,326,1475,1463,1240,611,1,1,1, + 1261,55,1649,1638,1,1,1,1,1,1, + 272,3167,1,1,1,1,1,1,1,1, + 1,1,1,1,191,1,1,1,1940,1, + 63,1,2137,192,1940,73,1649,1638,580,1, + 1,624,1,1475,1463,1240,611,1940,1951,1940, + 1952,1940,64,1,1,1,1946,1512,1531,66, + 1,1,1,1,1,1,1609,1403,1,1, 1,1,1,1,1,1,1,1,1,1, - 191,1,1,1,1939,1950,1939,1951,2135,1878, - 1944,1,2165,1540,1939,2153,2154,71,2155,1943, - 1449,1436,1939,1950,1939,1951,1,1936,53,2269, - 436,2270,1210,1728,646,472,2102,2103,2101,2156, - 2104,2100,1449,1436,2107,2112,2111,2109,2110,2108, - 2113,2114,2106,2115,2116,2117,329,1249,1522,1304, - 1,1950,1722,1951,1499,1943,1230,1181,1486,1714, - 1707,1939,1942,1687,1939,1952,1953,1954,1955,1152, - 1172,721,2256,2257,2258,2197,1939,1927,1567,1115, - 556,408,677,1939,1950,1722,1951,1625,1943,1230, - 1181,1486,1714,1707,185,3305,1687,3305,1952,1953, - 1954,1955,69,1172,721,2256,2257,2258,1942,1, - 59,1567,1115,556,91,1053,1,1950,1722,1951, - 1325,29,1230,1181,1486,1714,1707,184,3329,1687, - 3329,1952,1953,1954,1955,3165,1172,721,2256,2257, - 2258,1942,1939,2177,1567,1115,556,129,91,206, - 3331,1939,3331,1926,270,222,1541,1543,2153,2154, - 1939,2155,2153,2154,1429,2155,1511,1530,29,58, - 1939,1939,2269,436,2270,1357,2269,436,2270,2102, - 2103,2101,2156,2104,2100,623,623,2107,2112,2111, - 2109,2110,2108,2113,2114,2106,2115,2116,2117,1939, - 1950,1722,1951,1325,1943,1230,1181,1486,1714,1707, - 208,1950,1687,1951,1952,1953,1954,1955,201,1172, - 721,2256,2257,2258,1939,1511,1530,1567,1115,556, - 1939,1950,1722,1951,1598,1943,1230,1181,1486,1714, - 1707,207,1375,1687,1375,1952,1953,1954,1955,57, - 1172,721,2256,2257,2258,256,72,1942,1567,1115, - 556,1939,1,1,1,1,1939,1,1,1, - 1,1,1939,1939,1,1939,1,1,1,1, - 56,1,1,1,1,1,1190,1939,1942,1, - 1,1,1947,1670,1939,1950,1722,1951,1325,1939, - 1230,1181,1486,1714,1707,1511,1530,1687,1,1952, - 1953,1954,1955,3165,1172,721,2256,2257,2258,70, - 1939,2255,1567,1115,556,1,1950,1722,1951,1325, - 408,1230,1181,1486,1714,1707,1511,1530,1687,1946, - 1952,1953,1954,1955,3165,1172,721,2256,2257,2258, - 1939,1074,292,1567,1115,556,1939,1950,1722,1951, - 1325,1939,1230,1181,1486,1714,1707,2197,220,1687, - 1,1952,1953,1954,1955,3165,1172,721,2256,2257, - 2258,1427,67,1132,1567,1115,556,1939,1950,1722, - 1951,1325,1357,1230,1181,1486,1714,1707,1939,623, - 1687,1,1952,1953,1954,1955,1949,1172,721,2256, - 2257,2258,1939,1524,1939,1567,1115,556,1939,1950, - 1733,1951,1325,30,1230,1181,1486,1714,1707,2196, - 30,1687,1939,1952,1953,1954,1955,1939,1172,721, - 2256,2257,2258,1,2165,1540,1567,1115,556,1939, - 1950,1744,1951,1325,1269,1230,1181,1486,1714,1707, - 1939,486,1687,1939,1952,1953,1954,1955,1968,1172, - 721,2256,2257,2258,1939,68,1948,1567,1115,556, - 1939,1950,1757,1951,1325,211,1230,1181,1486,1714, - 1707,1939,207,1687,1939,1952,1953,1954,1955,1939, - 1172,721,2256,2257,2258,253,2165,1540,1567,1115, - 556,1939,1950,1768,1951,1325,1939,1230,1181,1486, - 1714,1707,1939,1939,1687,1939,1952,1953,1954,1955, - 2779,1172,721,2256,2257,2258,1939,323,1939,1567, - 1115,556,1939,1950,1779,1951,1325,1269,1230,1181, - 1486,1714,1707,1939,1094,1687,3165,1952,1953,1954, - 1955,1939,1172,721,2256,2257,2258,1939,321,1939, - 1567,1115,556,1,1950,1722,1951,1325,1939,1230, - 1181,1486,1714,1707,1939,588,1687,3165,1952,1953, - 1954,1955,1939,1172,721,2256,2257,2258,1939,248, - 1939,1567,1115,556,20,1939,1930,1939,1930,1930, - 2153,2154,1945,2155,1939,179,179,1,179,1545, - 1939,1939,1945,42,2269,436,2270,285,1939,179, - 179,179,431,130,1939,1930,179,179,179,179, - 179,179,3165,1930,2153,2154,1944,2155,623,265, - 131,1545,1,1,43,1939,1944,1945,2269,436, - 2270,2153,2154,1939,2155,2102,2103,2101,2156,2104, - 2100,1939,1939,1939,3165,2269,436,2270,132,431, - 623,1939,2102,2103,2101,2156,2104,2100,1939,2153, - 2154,1944,2155,1,268,133,1545,253,253,1939, - 1367,1939,1939,2269,436,2270,2153,2154,1939,2155, - 2102,2103,2101,2156,2104,2100,1939,1939,1742,1939, - 2269,436,2270,990,1939,623,1939,2102,2103,2101, - 2156,2104,2100,969,948,927,906,885,843,864, - 822,801,780,249,1939,1811,1939,250,1,1933, - 1295,251,2197,1945,1,1,1939,1,1,1, - 1939,1,2153,2154,1939,2155,1939,189,1,1, - 1,252,1,1,1,1939,2269,436,2270,623, - 1949,1939,2153,2154,1939,2155,185,1944,262,2165, - 1295,189,1,189,1939,1939,2269,436,2270,268, - 2165,1295,1939,253,1939,1939,1939,1939,1939,1939, - 184,1939,206,471,1939,1939,1939,1939,1939,623, - 1939,1939,1939,1939,1939,1939,1939,1939,1939,1939, - 623,1939,1939,1939,1939,1939,1939,1939,1939,1939, - 1939,1939,1939,1939,1939,1939,1939,1939,1939,1939, - 1948 + 192,1,1,1,1940,1951,1940,1952,2137,1879, + 1945,1,2167,1541,1940,2155,2156,71,2157,1944, + 1450,1437,1940,1951,1940,1952,1,1937,53,2271, + 437,2272,1211,1729,647,473,2104,2105,2103,2158, + 2106,2102,1450,1437,2109,2114,2113,2111,2112,2110, + 2115,2116,2108,2117,2118,2119,330,1250,1523,1305, + 1,1951,1723,1952,1500,1944,1231,1182,1487,1715, + 1708,1940,1943,1688,1940,1953,1954,1955,1956,1153, + 1173,722,2258,2259,2260,2199,1940,1928,1568,1116, + 557,409,678,1940,1951,1723,1952,1626,1944,1231, + 1182,1487,1715,1708,186,3307,1688,3307,1953,1954, + 1955,1956,69,1173,722,2258,2259,2260,1943,1, + 59,1568,1116,557,91,1054,1,1951,1723,1952, + 1326,29,1231,1182,1487,1715,1708,185,3331,1688, + 3331,1953,1954,1955,1956,3167,1173,722,2258,2259, + 2260,1943,1940,2179,1568,1116,557,130,91,207, + 3333,1940,3333,1927,271,223,1542,1544,2155,2156, + 1940,2157,2155,2156,1430,2157,1512,1531,29,58, + 1940,1940,2271,437,2272,1358,2271,437,2272,2104, + 2105,2103,2158,2106,2102,624,624,2109,2114,2113, + 2111,2112,2110,2115,2116,2108,2117,2118,2119,1940, + 1951,1723,1952,1326,1944,1231,1182,1487,1715,1708, + 209,1951,1688,1952,1953,1954,1955,1956,202,1173, + 722,2258,2259,2260,1940,1512,1531,1568,1116,557, + 1940,1951,1723,1952,1599,1944,1231,1182,1487,1715, + 1708,208,1376,1688,1376,1953,1954,1955,1956,57, + 1173,722,2258,2259,2260,257,72,1943,1568,1116, + 557,1940,1,1,1,1,1940,1,1,1, + 1,1,1940,1940,1,1940,1,1,1,1, + 56,1,1,1,1,1,1191,1940,1943,1, + 1,1,1948,1671,1940,1951,1723,1952,1326,1940, + 1231,1182,1487,1715,1708,1512,1531,1688,1,1953, + 1954,1955,1956,3167,1173,722,2258,2259,2260,70, + 1940,2257,1568,1116,557,1,1951,1723,1952,1326, + 409,1231,1182,1487,1715,1708,1512,1531,1688,1947, + 1953,1954,1955,1956,3167,1173,722,2258,2259,2260, + 1940,1075,293,1568,1116,557,1940,1951,1723,1952, + 1326,1940,1231,1182,1487,1715,1708,2199,221,1688, + 1,1953,1954,1955,1956,3167,1173,722,2258,2259, + 2260,1428,67,1133,1568,1116,557,1940,1951,1723, + 1952,1326,1358,1231,1182,1487,1715,1708,1940,624, + 1688,1,1953,1954,1955,1956,1950,1173,722,2258, + 2259,2260,1940,1525,1940,1568,1116,557,1940,1951, + 1734,1952,1326,30,1231,1182,1487,1715,1708,2198, + 30,1688,1940,1953,1954,1955,1956,1940,1173,722, + 2258,2259,2260,1,2167,1541,1568,1116,557,1940, + 1951,1745,1952,1326,1270,1231,1182,1487,1715,1708, + 1940,487,1688,1940,1953,1954,1955,1956,1969,1173, + 722,2258,2259,2260,1940,68,1949,1568,1116,557, + 1940,1951,1758,1952,1326,212,1231,1182,1487,1715, + 1708,1940,208,1688,1940,1953,1954,1955,1956,1940, + 1173,722,2258,2259,2260,254,2167,1541,1568,1116, + 557,1940,1951,1769,1952,1326,1940,1231,1182,1487, + 1715,1708,1940,1940,1688,1940,1953,1954,1955,1956, + 2781,1173,722,2258,2259,2260,1940,324,1940,1568, + 1116,557,1940,1951,1780,1952,1326,1270,1231,1182, + 1487,1715,1708,1940,1095,1688,3167,1953,1954,1955, + 1956,1940,1173,722,2258,2259,2260,1940,322,1940, + 1568,1116,557,1,1951,1723,1952,1326,1940,1231, + 1182,1487,1715,1708,1940,589,1688,3167,1953,1954, + 1955,1956,1940,1173,722,2258,2259,2260,1940,249, + 1940,1568,1116,557,20,1940,1931,1940,1931,1931, + 2155,2156,1946,2157,1940,180,180,1,180,1546, + 1940,1940,1946,42,2271,437,2272,286,1940,180, + 180,180,432,131,1940,1931,180,180,180,180, + 180,180,3167,1931,2155,2156,1945,2157,624,266, + 132,1546,1,1,43,1940,1945,1946,2271,437, + 2272,2155,2156,1940,2157,2104,2105,2103,2158,2106, + 2102,1940,1940,1940,3167,2271,437,2272,133,432, + 624,1940,2104,2105,2103,2158,2106,2102,1940,2155, + 2156,1945,2157,1,269,134,1546,254,254,1940, + 1368,1940,1940,2271,437,2272,2155,2156,1940,2157, + 2104,2105,2103,2158,2106,2102,1940,1940,1743,1940, + 2271,437,2272,991,1940,624,1940,2104,2105,2103, + 2158,2106,2102,970,949,928,907,886,844,865, + 823,802,781,250,1940,1812,1940,251,1,1934, + 1296,252,2199,1946,1,1,1940,1,1,1, + 1940,1,2155,2156,1940,2157,1940,190,1,1, + 1,253,1,1,1,1940,2271,437,2272,624, + 1950,1940,2155,2156,1940,2157,186,1945,263,2167, + 1296,190,1,190,1940,1940,2271,437,2272,269, + 2167,1296,1940,254,1940,1940,1940,1940,1940,1940, + 185,1940,207,472,1940,1940,1940,1940,1940,624, + 1940,1940,1940,1940,1940,1940,1940,1940,1940,1940, + 624,1940,1940,1940,1940,1940,1940,1940,1940,1940, + 1940,1940,1940,1940,1940,1940,1940,1940,1940,1940, + 1949 }; }; public final static char termAction[] = TermAction.termAction; @@ -943,17 +943,17 @@ public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UP public interface ScopeState { public final static char scopeState[] = {0, - 1424,0,427,0,1833,1671,1787,0,1084,1349, - 471,1540,1342,1295,1258,0,436,0,588,486, - 450,1321,1256,546,535,534,396,0,1228,507, - 369,0,1745,1616,1257,536,1349,1773,1295,1258, - 1545,1607,0,1714,1707,1687,1567,1115,556,1625, - 1598,1499,396,408,1210,1269,1357,1449,1436,1402, - 1530,1511,1474,1462,1239,610,1660,1648,1637,646, - 472,1486,1325,1230,1181,1172,721,1190,1152,1132, - 588,1094,1074,1053,1032,736,1011,698,677,623, - 990,969,948,927,906,885,864,843,822,801, - 780,369,759,656,486,450,0 + 1425,0,428,0,1834,1672,1788,0,1085,1350, + 472,1541,1343,1296,1259,0,437,0,589,487, + 451,1322,1257,547,536,535,397,0,1229,508, + 370,0,1746,1617,1258,537,1350,1774,1296,1259, + 1546,1608,0,1715,1708,1688,1568,1116,557,1626, + 1599,1500,397,409,1211,1270,1358,1450,1437,1403, + 1531,1512,1475,1463,1240,611,1661,1649,1638,647, + 473,1487,1326,1231,1182,1173,722,1191,1153,1133, + 589,1095,1075,1054,1033,737,1012,699,678,624, + 991,970,949,928,907,886,865,844,823,802, + 781,370,760,657,487,451,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -1196,18 +1196,18 @@ public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UP public final static int NUM_STATES = 226, NT_OFFSET = 107, - LA_STATE_OFFSET = 2307, + LA_STATE_OFFSET = 2309, MAX_LA = 2, - NUM_RULES = 368, + NUM_RULES = 369, NUM_NONTERMINALS = 131, NUM_SYMBOLS = 238, SEGMENT_SIZE = 8192, - START_STATE = 509, + START_STATE = 510, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 89, EOLT_SYMBOL = 89, - ACCEPT_ACTION = 1926, - ERROR_ACTION = 1939; + ACCEPT_ACTION = 1927, + ERROR_ACTION = 1940; public final static boolean BACKTRACK = true; diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParsersym.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParsersym.java index bc39f383e2b..55237a17479 100644 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParsersym.java +++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParsersym.java @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 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 diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParser.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParser.java index 43338901f0f..51065d19f60 100644 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParser.java +++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParser.java @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 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 @@ -686,877 +686,883 @@ public UPCNoCastExpressionParser(ITokenStream stream, Map<String,String> propert // // Rule 117: iteration_statement ::= do statement while ( expression ) ; // - case 117: { action. consumeStatementDoLoop(); break; + case 117: { action. consumeStatementDoLoop(true); break; } // - // Rule 118: iteration_statement ::= while ( expression ) statement + // Rule 118: iteration_statement ::= do statement // - case 118: { action. consumeStatementWhileLoop(); break; + case 118: { action. consumeStatementDoLoop(false); break; } // - // Rule 119: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement + // Rule 119: iteration_statement ::= while ( expression ) statement // - case 119: { action. consumeStatementForLoop(); break; + case 119: { action. consumeStatementWhileLoop(); break; } // - // Rule 120: iteration_statement ::= for ( declaration expression_opt ; expression_opt ) statement + // Rule 120: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement // case 120: { action. consumeStatementForLoop(); break; } // - // Rule 121: jump_statement ::= goto identifier_token ; + // Rule 121: iteration_statement ::= for ( declaration expression_opt ; expression_opt ) statement // - case 121: { action. consumeStatementGoto(); break; + case 121: { action. consumeStatementForLoop(); break; } // - // Rule 122: jump_statement ::= continue ; + // Rule 122: jump_statement ::= goto identifier_token ; // - case 122: { action. consumeStatementContinue(); break; + case 122: { action. consumeStatementGoto(); break; } // - // Rule 123: jump_statement ::= break ; + // Rule 123: jump_statement ::= continue ; // - case 123: { action. consumeStatementBreak(); break; + case 123: { action. consumeStatementContinue(); break; } // - // Rule 124: jump_statement ::= return ; + // Rule 124: jump_statement ::= break ; // - case 124: { action. consumeStatementReturn(false); break; + case 124: { action. consumeStatementBreak(); break; } // - // Rule 125: jump_statement ::= return expression ; + // Rule 125: jump_statement ::= return ; // - case 125: { action. consumeStatementReturn(true); break; + case 125: { action. consumeStatementReturn(false); break; } // - // Rule 126: declaration ::= declaration_specifiers ; + // Rule 126: jump_statement ::= return expression ; // - case 126: { action. consumeDeclarationSimple(false); break; + case 126: { action. consumeStatementReturn(true); break; } // - // Rule 127: declaration ::= declaration_specifiers <openscope-ast> init_declarator_list ; + // Rule 127: declaration ::= declaration_specifiers ; // - case 127: { action. consumeDeclarationSimple(true); break; + case 127: { action. consumeDeclarationSimple(false); break; } // - // Rule 128: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers + // Rule 128: declaration ::= declaration_specifiers <openscope-ast> init_declarator_list ; // - case 128: { action. consumeDeclarationSpecifiersSimple(); break; + case 128: { action. consumeDeclarationSimple(true); break; } // - // Rule 129: declaration_specifiers ::= <openscope-ast> struct_or_union_declaration_specifiers + // Rule 129: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers // - case 129: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; + case 129: { action. consumeDeclarationSpecifiersSimple(); break; } // - // Rule 130: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers + // Rule 130: declaration_specifiers ::= <openscope-ast> struct_or_union_declaration_specifiers // case 130: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; } // - // Rule 131: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers + // Rule 131: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers // case 131: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; } // - // Rule 132: declaration_specifiers ::= <openscope-ast> typdef_name_declaration_specifiers + // Rule 132: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers // - case 132: { action. consumeDeclarationSpecifiersTypedefName(); break; + case 132: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; } // - // Rule 157: init_declarator ::= complete_declarator = initializer + // Rule 133: declaration_specifiers ::= <openscope-ast> typdef_name_declaration_specifiers // - case 157: { action. consumeDeclaratorWithInitializer(true); break; + case 133: { action. consumeDeclarationSpecifiersTypedefName(); break; } // - // Rule 159: storage_class_specifier ::= storage_class_specifier_token + // Rule 158: init_declarator ::= complete_declarator = initializer // - case 159: { action. consumeToken(); break; + case 158: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 165: simple_type_specifier ::= simple_type_specifier_token + // Rule 160: storage_class_specifier ::= storage_class_specifier_token // - case 165: { action. consumeToken(); break; + case 160: { action. consumeToken(); break; } // - // Rule 178: type_name_specifier ::= identifier_token + // Rule 166: simple_type_specifier ::= simple_type_specifier_token // - case 178: { action. consumeToken(); break; + case 166: { action. consumeToken(); break; } // - // Rule 179: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt } + // Rule 179: type_name_specifier ::= identifier_token // - case 179: { action. consumeTypeSpecifierComposite(false); break; + case 179: { action. consumeToken(); break; } // - // 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 } + // Rule 180: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt } // - case 180: { action. consumeTypeSpecifierComposite(true); break; + case 180: { action. consumeTypeSpecifierComposite(false); break; } // - // Rule 185: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token + // Rule 181: 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 185: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break; + case 181: { action. consumeTypeSpecifierComposite(true); break; } // - // Rule 186: elaborated_specifier ::= union elaborated_specifier_hook identifier_token + // Rule 186: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token // - case 186: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break; + case 186: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break; } // - // Rule 187: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token + // Rule 187: elaborated_specifier ::= union elaborated_specifier_hook identifier_token // - case 187: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break; + case 187: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break; } // - // Rule 193: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ; + // Rule 188: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token // - case 193: { action. consumeStructDeclaration(true); break; + case 188: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break; } // - // Rule 194: struct_declaration ::= specifier_qualifier_list ; + // Rule 194: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ; // - case 194: { action. consumeStructDeclaration(false); break; + case 194: { action. consumeStructDeclaration(true); break; } // - // Rule 195: struct_declaration ::= ERROR_TOKEN + // Rule 195: struct_declaration ::= specifier_qualifier_list ; // - case 195: { action. consumeDeclarationProblem(); break; + case 195: { action. consumeStructDeclaration(false); break; } // - // Rule 201: struct_declarator ::= : constant_expression + // Rule 196: struct_declaration ::= ERROR_TOKEN // - case 201: { action. consumeBitField(false); break; + case 196: { action. consumeDeclarationProblem(); break; } // - // Rule 202: struct_declarator ::= declarator : constant_expression + // Rule 202: struct_declarator ::= : constant_expression // - case 202: { action. consumeBitField(true); break; + case 202: { action. consumeBitField(false); break; } // - // Rule 203: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 203: struct_declarator ::= declarator : constant_expression // - case 203: { action. consumeTypeSpecifierEnumeration(false); break; + case 203: { action. consumeBitField(true); break; } // - // Rule 204: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 204: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } // - case 204: { action. consumeTypeSpecifierEnumeration(true); break; + case 204: { action. consumeTypeSpecifierEnumeration(false); break; } // - // Rule 210: enumerator ::= identifier_token + // Rule 205: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } // - case 210: { action. consumeEnumerator(false); break; + case 205: { action. consumeTypeSpecifierEnumeration(true); break; } // - // Rule 211: enumerator ::= identifier_token = constant_expression + // Rule 211: enumerator ::= identifier_token // - case 211: { action. consumeEnumerator(true); break; + case 211: { action. consumeEnumerator(false); break; } // - // Rule 212: type_qualifier ::= type_qualifier_token + // Rule 212: enumerator ::= identifier_token = constant_expression // - case 212: { action. consumeToken(); break; + case 212: { action. consumeEnumerator(true); break; } // - // Rule 216: function_specifier ::= inline + // Rule 213: type_qualifier ::= type_qualifier_token // - case 216: { action. consumeToken(); break; + case 213: { action. consumeToken(); break; } // - // Rule 218: declarator ::= <openscope-ast> pointer_seq direct_declarator + // Rule 217: function_specifier ::= inline // - case 218: { action. consumeDeclaratorWithPointer(true); break; + case 217: { action. consumeToken(); break; } // - // Rule 223: basic_direct_declarator ::= declarator_id_name + // Rule 219: declarator ::= <openscope-ast> pointer_seq direct_declarator // - case 223: { action. consumeDirectDeclaratorIdentifier(); break; + case 219: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 224: basic_direct_declarator ::= ( declarator ) + // Rule 224: basic_direct_declarator ::= declarator_id_name // - case 224: { action. consumeDirectDeclaratorBracketed(); break; + case 224: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 225: declarator_id_name ::= identifier + // Rule 225: basic_direct_declarator ::= ( declarator ) // - case 225: { action. consumeIdentifierName(); break; + case 225: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 226: array_direct_declarator ::= basic_direct_declarator array_modifier + // Rule 226: declarator_id_name ::= identifier // - case 226: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 226: { action. consumeIdentifierName(); break; } // - // Rule 227: array_direct_declarator ::= array_direct_declarator array_modifier + // Rule 227: array_direct_declarator ::= basic_direct_declarator array_modifier // case 227: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 229: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list ) + // Rule 228: array_direct_declarator ::= array_direct_declarator array_modifier // - case 229: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; + case 228: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 230: function_direct_declarator ::= basic_direct_declarator ( ) + // Rule 230: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list ) // - case 230: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; + case 230: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; } // - // Rule 232: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator + // Rule 231: function_direct_declarator ::= basic_direct_declarator ( ) // - case 232: { action. consumeDeclaratorWithPointer(true); break; + case 231: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; } // - // Rule 233: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list ) + // Rule 233: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator // - case 233: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; + case 233: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 235: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator + // Rule 234: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list ) // - case 235: { action. consumeDeclaratorWithPointer(true); break; + case 234: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; } // - // Rule 236: identifier_list ::= identifier + // Rule 236: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator // - case 236: { action. consumeIdentifierKnR(); break; + case 236: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 237: identifier_list ::= identifier_list , identifier + // Rule 237: identifier_list ::= identifier // case 237: { action. consumeIdentifierKnR(); break; } // - // Rule 238: array_modifier ::= [ ] + // Rule 238: identifier_list ::= identifier_list , identifier // - case 238: { action. consumeDirectDeclaratorArrayModifier(false); break; + case 238: { action. consumeIdentifierKnR(); break; } // - // Rule 239: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ] + // Rule 239: array_modifier ::= [ ] // - case 239: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break; + case 239: { action. consumeDirectDeclaratorArrayModifier(false); break; } // - // Rule 240: array_modifier ::= [ assignment_expression ] + // Rule 240: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ] // - case 240: { action. consumeDirectDeclaratorArrayModifier(true); break; + case 240: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break; } // - // Rule 241: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ] + // Rule 241: array_modifier ::= [ assignment_expression ] // - case 241: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break; + case 241: { action. consumeDirectDeclaratorArrayModifier(true); break; } // - // Rule 242: array_modifier ::= [ static assignment_expression ] + // Rule 242: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ] // - case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break; + case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break; } // - // Rule 243: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ] + // Rule 243: array_modifier ::= [ static assignment_expression ] // - case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; + case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break; } // - // Rule 244: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ] + // Rule 244: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ] // case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; } // - // Rule 245: array_modifier ::= [ * ] + // Rule 245: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ] // - case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break; + case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; } // - // Rule 246: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ] + // Rule 246: array_modifier ::= [ * ] // - case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break; + case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break; } // - // Rule 248: pointer_seq ::= pointer_hook * pointer_hook + // Rule 247: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ] // - case 248: { action. consumePointer(); break; + case 247: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break; } // - // Rule 249: pointer_seq ::= pointer_seq pointer_hook * pointer_hook + // Rule 249: pointer_seq ::= pointer_hook * pointer_hook // case 249: { action. consumePointer(); break; } // - // Rule 250: pointer_seq ::= pointer_hook * pointer_hook <openscope-ast> type_qualifier_list + // Rule 250: pointer_seq ::= pointer_seq pointer_hook * pointer_hook // - case 250: { action. consumePointerTypeQualifierList(); break; + case 250: { action. consumePointer(); break; } // - // Rule 251: pointer_seq ::= pointer_seq pointer_hook * pointer_hook <openscope-ast> type_qualifier_list + // Rule 251: pointer_seq ::= pointer_hook * pointer_hook <openscope-ast> type_qualifier_list // case 251: { action. consumePointerTypeQualifierList(); break; } // - // Rule 255: parameter_type_list ::= parameter_list + // Rule 252: pointer_seq ::= pointer_seq pointer_hook * pointer_hook <openscope-ast> type_qualifier_list // - case 255: { action. consumeEmpty(); break; + case 252: { action. consumePointerTypeQualifierList(); break; } // - // Rule 256: parameter_type_list ::= parameter_list , ... + // Rule 256: parameter_type_list ::= parameter_list // - case 256: { action. consumePlaceHolder(); break; + case 256: { action. consumeEmpty(); break; } // - // Rule 257: parameter_type_list ::= ... + // Rule 257: parameter_type_list ::= parameter_list , ... // case 257: { action. consumePlaceHolder(); break; } // - // Rule 260: parameter_declaration ::= declaration_specifiers complete_parameter_declarator + // Rule 258: parameter_type_list ::= ... // - case 260: { action. consumeParameterDeclaration(); break; + case 258: { action. consumePlaceHolder(); break; } // - // Rule 261: parameter_declaration ::= declaration_specifiers + // Rule 261: parameter_declaration ::= declaration_specifiers complete_parameter_declarator // - case 261: { action. consumeParameterDeclarationWithoutDeclarator(); break; + case 261: { action. consumeParameterDeclaration(); break; } // - // Rule 264: type_id ::= specifier_qualifier_list + // Rule 262: parameter_declaration ::= declaration_specifiers // - case 264: { action. consumeTypeId(false); break; + case 262: { action. consumeParameterDeclarationWithoutDeclarator(); break; } // - // Rule 265: type_id ::= specifier_qualifier_list abstract_declarator + // Rule 265: type_id ::= specifier_qualifier_list // - case 265: { action. consumeTypeId(true); break; + case 265: { action. consumeTypeId(false); break; } // - // Rule 267: abstract_declarator ::= <openscope-ast> pointer_seq + // Rule 266: type_id ::= specifier_qualifier_list abstract_declarator // - case 267: { action. consumeDeclaratorWithPointer(false); break; + case 266: { action. consumeTypeId(true); break; } // - // Rule 268: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator + // Rule 268: abstract_declarator ::= <openscope-ast> pointer_seq // - case 268: { action. consumeDeclaratorWithPointer(true); break; + case 268: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 272: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 269: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator // - case 272: { action. consumeDirectDeclaratorBracketed(); break; + case 269: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 273: array_direct_abstract_declarator ::= array_modifier + // Rule 273: basic_direct_abstract_declarator ::= ( abstract_declarator ) // - case 273: { action. consumeDirectDeclaratorArrayDeclarator(false); break; + case 273: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 274: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier + // Rule 274: array_direct_abstract_declarator ::= array_modifier // - case 274: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 274: { action. consumeDirectDeclaratorArrayDeclarator(false); break; } // - // Rule 275: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier + // Rule 275: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier // case 275: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 276: function_direct_abstract_declarator ::= ( ) + // Rule 276: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier // - case 276: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break; - } + case 276: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + } // - // Rule 277: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( ) + // Rule 277: function_direct_abstract_declarator ::= ( ) // - case 277: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; - } + case 277: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break; + } // - // Rule 278: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list ) + // Rule 278: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( ) // - case 278: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break; + case 278: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; } // - // Rule 279: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list ) + // Rule 279: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list ) // - case 279: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; + case 279: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break; } // - // Rule 280: initializer ::= assignment_expression + // Rule 280: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list ) // - case 280: { action. consumeInitializer(); break; + case 280: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; } // - // Rule 282: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq comma_opt } end_initializer_list + // Rule 281: initializer ::= assignment_expression // - case 282: { action. consumeInitializerList(); break; + case 281: { action. consumeInitializer(); break; } // - // Rule 283: initializer_list ::= { <openscope-ast> } + // Rule 283: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq comma_opt } end_initializer_list // case 283: { action. consumeInitializerList(); break; } // - // Rule 284: start_initializer_list ::= $Empty + // Rule 284: initializer_list ::= { <openscope-ast> } // - case 284: { action. initializerListStart(); break; + case 284: { action. consumeInitializerList(); break; } // - // Rule 285: end_initializer_list ::= $Empty + // Rule 285: start_initializer_list ::= $Empty // - case 285: { action. initializerListEnd(); break; + case 285: { action. initializerListStart(); break; } // - // Rule 290: designated_initializer ::= <openscope-ast> designation = initializer + // Rule 286: end_initializer_list ::= $Empty // - case 290: { action. consumeInitializerDesignated(); break; + case 286: { action. initializerListEnd(); break; } // - // Rule 294: designator_base ::= [ constant_expression ] + // Rule 291: designated_initializer ::= <openscope-ast> designation = initializer // - case 294: { action. consumeDesignatorArray(); break; + case 291: { action. consumeInitializerDesignated(); break; } // - // Rule 295: designator_base ::= . identifier_token + // Rule 295: designator_base ::= [ constant_expression ] // - case 295: { action. consumeDesignatorField(); break; + case 295: { action. consumeDesignatorArray(); break; } // - // Rule 296: designator ::= [ constant_expression ] + // Rule 296: designator_base ::= . identifier_token // - case 296: { action. consumeDesignatorArray(); break; + case 296: { action. consumeDesignatorField(); break; } // - // Rule 297: designator ::= . identifier_token + // Rule 297: designator ::= [ constant_expression ] // - case 297: { action. consumeDesignatorField(); break; + case 297: { action. consumeDesignatorArray(); break; } // - // Rule 298: translation_unit ::= external_declaration_list + // Rule 298: designator ::= . identifier_token // - case 298: { action. consumeTranslationUnit(); break; - } + case 298: { action. consumeDesignatorField(); break; + } // - // Rule 299: translation_unit ::= $Empty + // Rule 299: translation_unit ::= external_declaration_list // case 299: { action. consumeTranslationUnit(); break; - } + } // - // Rule 304: external_declaration ::= ; + // Rule 300: translation_unit ::= $Empty // - case 304: { action. consumeDeclarationEmpty(); break; + case 300: { action. consumeTranslationUnit(); break; } // - // Rule 305: external_declaration ::= ERROR_TOKEN + // Rule 305: external_declaration ::= ; // - case 305: { action. consumeDeclarationProblem(); break; + case 305: { action. consumeDeclarationEmpty(); break; } // - // Rule 309: function_definition ::= <openscope-ast> function_declarator function_body + // Rule 306: external_declaration ::= ERROR_TOKEN // - case 309: { action. consumeFunctionDefinition(false); break; + case 306: { action. consumeDeclarationProblem(); break; } // - // Rule 310: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement + // Rule 310: function_definition ::= <openscope-ast> function_declarator function_body // - case 310: { action. consumeFunctionDefinitionKnR(); break; + case 310: { action. consumeFunctionDefinition(false); break; } // - // Rule 311: normal_function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body + // Rule 311: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement // - case 311: { action. consumeFunctionDefinition(true); break; + case 311: { action. consumeFunctionDefinitionKnR(); break; } // - // Rule 312: function_body ::= { } + // Rule 312: normal_function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body // - case 312: { action. consumeStatementCompoundStatement(false); break; + case 312: { action. consumeFunctionDefinition(true); break; } // - // Rule 313: function_body ::= { <openscope-ast> block_item_list } + // Rule 313: function_body ::= { } // - case 313: { action. consumeStatementCompoundStatement(true); break; + case 313: { action. consumeStatementCompoundStatement(false); break; } // - // Rule 315: no_cast_start ::= ERROR_TOKEN + // Rule 314: function_body ::= { <openscope-ast> block_item_list } // - case 315: { action. consumeEmpty(); break; + case 314: { action. consumeStatementCompoundStatement(true); break; } // - // Rule 316: literal ::= MYTHREAD + // Rule 316: no_cast_start ::= ERROR_TOKEN // - case 316: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_mythread); break; + case 316: { action. consumeEmpty(); break; } // - // Rule 317: literal ::= THREADS + // Rule 317: literal ::= MYTHREAD // - case 317: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_threads); break; + case 317: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_mythread); break; } // - // Rule 318: literal ::= UPC_MAX_BLOCKSIZE + // Rule 318: literal ::= THREADS // - case 318: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_upc_max_block_size); break; + case 318: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_threads); break; } // - // Rule 319: unary_expression ::= upc_localsizeof unary_expression + // Rule 319: literal ::= UPC_MAX_BLOCKSIZE // - case 319: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_localsizeof); break; + case 319: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_upc_max_block_size); break; } // - // Rule 320: unary_expression ::= upc_localsizeof ( type_id ) + // Rule 320: unary_expression ::= upc_localsizeof unary_expression // - case 320: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_localsizeof); break; + case 320: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_localsizeof); break; } // - // Rule 321: unary_expression ::= upc_blocksizeof unary_expression + // Rule 321: unary_expression ::= upc_localsizeof ( type_id ) // - case 321: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_blocksizeof); break; + case 321: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_localsizeof); break; } // - // Rule 322: unary_expression ::= upc_blocksizeof ( type_id ) + // Rule 322: unary_expression ::= upc_blocksizeof unary_expression // - case 322: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_blocksizeof); break; + case 322: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_blocksizeof); break; } // - // Rule 323: unary_expression ::= upc_elemsizeof unary_expression + // Rule 323: unary_expression ::= upc_blocksizeof ( type_id ) // - case 323: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_elemsizeof); break; + case 323: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_blocksizeof); break; } // - // Rule 324: unary_expression ::= upc_elemsizeof ( type_id ) + // Rule 324: unary_expression ::= upc_elemsizeof unary_expression // - case 324: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_elemsizeof); break; + case 324: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_elemsizeof); break; } // - // Rule 328: shared_type_qualifier ::= shared + // Rule 325: unary_expression ::= upc_elemsizeof ( type_id ) // - case 328: { action. consumeToken(); break; + case 325: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_elemsizeof); break; } // - // Rule 329: reference_type_qualifier ::= relaxed + // Rule 329: shared_type_qualifier ::= shared // case 329: { action. consumeToken(); break; } // - // Rule 330: reference_type_qualifier ::= strict + // Rule 330: reference_type_qualifier ::= relaxed // case 330: { action. consumeToken(); break; } // - // Rule 331: layout_qualifier ::= [ constant_expression ] + // Rule 331: reference_type_qualifier ::= strict + // + case 331: { action. consumeToken(); break; + } + + // + // Rule 332: layout_qualifier ::= [ constant_expression ] // - case 331: { action. consumeLayoutQualifier(true, false); break; + case 332: { action. consumeLayoutQualifier(true, false); break; } // - // Rule 332: layout_qualifier ::= [ * ] + // Rule 333: layout_qualifier ::= [ * ] // - case 332: { action. consumeLayoutQualifier(false, true); break; + case 333: { action. consumeLayoutQualifier(false, true); break; } // - // Rule 333: layout_qualifier ::= [ ] + // Rule 334: layout_qualifier ::= [ ] // - case 333: { action. consumeLayoutQualifier(false, false); break; + case 334: { action. consumeLayoutQualifier(false, false); break; } // - // Rule 335: synchronization_statement ::= upc_notify expression ; + // Rule 336: synchronization_statement ::= upc_notify expression ; // - case 335: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, true); break; + case 336: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, true); break; } // - // Rule 336: synchronization_statement ::= upc_notify ; + // Rule 337: synchronization_statement ::= upc_notify ; // - case 336: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, false); break; + case 337: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, false); break; } // - // Rule 337: synchronization_statement ::= upc_wait expression ; + // Rule 338: synchronization_statement ::= upc_wait expression ; // - case 337: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, true); break; + case 338: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, true); break; } // - // Rule 338: synchronization_statement ::= upc_wait ; + // Rule 339: synchronization_statement ::= upc_wait ; // - case 338: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, false); break; + case 339: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, false); break; } // - // Rule 339: synchronization_statement ::= upc_barrier expression ; + // Rule 340: synchronization_statement ::= upc_barrier expression ; // - case 339: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, true); break; + case 340: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, true); break; } // - // Rule 340: synchronization_statement ::= upc_barrier ; + // Rule 341: synchronization_statement ::= upc_barrier ; // - case 340: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, false); break; + case 341: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, false); break; } // - // Rule 341: synchronization_statement ::= upc_fence ; + // Rule 342: synchronization_statement ::= upc_fence ; // - case 341: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_fence, false); break; + case 342: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_fence, false); break; } // - // Rule 342: iteration_statement ::= upc_forall ( expression ; expression ; expression ; affinity ) statement + // Rule 343: iteration_statement ::= upc_forall ( expression ; expression ; expression ; affinity ) statement // - case 342: { action. consumeStatementUPCForallLoop(true, true, true, true); break; + case 343: { action. consumeStatementUPCForallLoop(true, true, true, true); break; } // - // Rule 343: iteration_statement ::= upc_forall ( expression ; expression ; expression ; ) statement + // Rule 344: iteration_statement ::= upc_forall ( expression ; expression ; expression ; ) statement // - case 343: { action. consumeStatementUPCForallLoop(true, true, true, false); break; + case 344: { action. consumeStatementUPCForallLoop(true, true, true, false); break; } // - // Rule 344: iteration_statement ::= upc_forall ( expression ; expression ; ; affinity ) statement + // Rule 345: iteration_statement ::= upc_forall ( expression ; expression ; ; affinity ) statement // - case 344: { action. consumeStatementUPCForallLoop(true, true, false, true); break; + case 345: { action. consumeStatementUPCForallLoop(true, true, false, true); break; } // - // Rule 345: iteration_statement ::= upc_forall ( expression ; expression ; ; ) statement + // Rule 346: iteration_statement ::= upc_forall ( expression ; expression ; ; ) statement // - case 345: { action. consumeStatementUPCForallLoop(true, true, false, false); break; + case 346: { action. consumeStatementUPCForallLoop(true, true, false, false); break; } // - // Rule 346: iteration_statement ::= upc_forall ( expression ; ; expression ; affinity ) statement + // Rule 347: iteration_statement ::= upc_forall ( expression ; ; expression ; affinity ) statement // - case 346: { action. consumeStatementUPCForallLoop(true, false, true, true); break; + case 347: { action. consumeStatementUPCForallLoop(true, false, true, true); break; } // - // Rule 347: iteration_statement ::= upc_forall ( expression ; ; expression ; ) statement + // Rule 348: iteration_statement ::= upc_forall ( expression ; ; expression ; ) statement // - case 347: { action. consumeStatementUPCForallLoop(true, false, true, false); break; + case 348: { action. consumeStatementUPCForallLoop(true, false, true, false); break; } // - // Rule 348: iteration_statement ::= upc_forall ( expression ; ; ; affinity ) statement + // Rule 349: iteration_statement ::= upc_forall ( expression ; ; ; affinity ) statement // - case 348: { action. consumeStatementUPCForallLoop(true, false, false, true); break; + case 349: { action. consumeStatementUPCForallLoop(true, false, false, true); break; } // - // Rule 349: iteration_statement ::= upc_forall ( expression ; ; ; ) statement + // Rule 350: iteration_statement ::= upc_forall ( expression ; ; ; ) statement // - case 349: { action. consumeStatementUPCForallLoop(true, false, false, false); break; + case 350: { action. consumeStatementUPCForallLoop(true, false, false, false); break; } // - // Rule 350: iteration_statement ::= upc_forall ( ; expression ; expression ; affinity ) statement + // Rule 351: iteration_statement ::= upc_forall ( ; expression ; expression ; affinity ) statement // - case 350: { action. consumeStatementUPCForallLoop(false, true, true, true); break; + case 351: { action. consumeStatementUPCForallLoop(false, true, true, true); break; } // - // Rule 351: iteration_statement ::= upc_forall ( ; expression ; expression ; ) statement + // Rule 352: iteration_statement ::= upc_forall ( ; expression ; expression ; ) statement // - case 351: { action. consumeStatementUPCForallLoop(false, true, true, false); break; + case 352: { action. consumeStatementUPCForallLoop(false, true, true, false); break; } // - // Rule 352: iteration_statement ::= upc_forall ( ; expression ; ; affinity ) statement + // Rule 353: iteration_statement ::= upc_forall ( ; expression ; ; affinity ) statement // - case 352: { action. consumeStatementUPCForallLoop(false, true, false, true); break; + case 353: { action. consumeStatementUPCForallLoop(false, true, false, true); break; } // - // Rule 353: iteration_statement ::= upc_forall ( ; expression ; ; ) statement + // Rule 354: iteration_statement ::= upc_forall ( ; expression ; ; ) statement // - case 353: { action. consumeStatementUPCForallLoop(false, true, false, false); break; + case 354: { action. consumeStatementUPCForallLoop(false, true, false, false); break; } // - // Rule 354: iteration_statement ::= upc_forall ( ; ; expression ; affinity ) statement + // Rule 355: iteration_statement ::= upc_forall ( ; ; expression ; affinity ) statement // - case 354: { action. consumeStatementUPCForallLoop(false, false, true, true); break; + case 355: { action. consumeStatementUPCForallLoop(false, false, true, true); break; } // - // Rule 355: iteration_statement ::= upc_forall ( ; ; expression ; ) statement + // Rule 356: iteration_statement ::= upc_forall ( ; ; expression ; ) statement // - case 355: { action. consumeStatementUPCForallLoop(false, false, true, false); break; + case 356: { action. consumeStatementUPCForallLoop(false, false, true, false); break; } // - // Rule 356: iteration_statement ::= upc_forall ( ; ; ; affinity ) statement + // Rule 357: iteration_statement ::= upc_forall ( ; ; ; affinity ) statement // - case 356: { action. consumeStatementUPCForallLoop(false, false, false, true); break; + case 357: { action. consumeStatementUPCForallLoop(false, false, false, true); break; } // - // Rule 357: iteration_statement ::= upc_forall ( ; ; ; ) statement + // Rule 358: iteration_statement ::= upc_forall ( ; ; ; ) statement // - case 357: { action. consumeStatementUPCForallLoop(false, false, false, false); break; + case 358: { action. consumeStatementUPCForallLoop(false, false, false, false); break; } // - // Rule 358: iteration_statement ::= upc_forall ( declaration expression ; expression ; affinity ) statement + // Rule 359: iteration_statement ::= upc_forall ( declaration expression ; expression ; affinity ) statement // - case 358: { action. consumeStatementUPCForallLoop(true, true, true, true); break; + case 359: { action. consumeStatementUPCForallLoop(true, true, true, true); break; } // - // Rule 359: iteration_statement ::= upc_forall ( declaration expression ; expression ; ) statement + // Rule 360: iteration_statement ::= upc_forall ( declaration expression ; expression ; ) statement // - case 359: { action. consumeStatementUPCForallLoop(true, true, true, false); break; + case 360: { action. consumeStatementUPCForallLoop(true, true, true, false); break; } // - // Rule 360: iteration_statement ::= upc_forall ( declaration expression ; ; affinity ) statement + // Rule 361: iteration_statement ::= upc_forall ( declaration expression ; ; affinity ) statement // - case 360: { action. consumeStatementUPCForallLoop(true, true, false, true); break; + case 361: { action. consumeStatementUPCForallLoop(true, true, false, true); break; } // - // Rule 361: iteration_statement ::= upc_forall ( declaration expression ; ; ) statement + // Rule 362: iteration_statement ::= upc_forall ( declaration expression ; ; ) statement // - case 361: { action. consumeStatementUPCForallLoop(true, true, false, false); break; + case 362: { action. consumeStatementUPCForallLoop(true, true, false, false); break; } // - // Rule 362: iteration_statement ::= upc_forall ( declaration ; expression ; affinity ) statement + // Rule 363: iteration_statement ::= upc_forall ( declaration ; expression ; affinity ) statement // - case 362: { action. consumeStatementUPCForallLoop(true, false, true, true); break; + case 363: { action. consumeStatementUPCForallLoop(true, false, true, true); break; } // - // Rule 363: iteration_statement ::= upc_forall ( declaration ; expression ; ) statement + // Rule 364: iteration_statement ::= upc_forall ( declaration ; expression ; ) statement // - case 363: { action. consumeStatementUPCForallLoop(true, false, true, false); break; + case 364: { action. consumeStatementUPCForallLoop(true, false, true, false); break; } // - // Rule 364: iteration_statement ::= upc_forall ( declaration ; ; affinity ) statement + // Rule 365: iteration_statement ::= upc_forall ( declaration ; ; affinity ) statement // - case 364: { action. consumeStatementUPCForallLoop(true, false, false, true); break; + case 365: { action. consumeStatementUPCForallLoop(true, false, false, true); break; } // - // Rule 365: iteration_statement ::= upc_forall ( declaration ; ; ) statement + // Rule 366: iteration_statement ::= upc_forall ( declaration ; ; ) statement // - case 365: { action. consumeStatementUPCForallLoop(true, false, false, false); break; + case 366: { action. consumeStatementUPCForallLoop(true, false, false, false); break; } // - // Rule 367: affinity ::= continue + // Rule 368: affinity ::= continue // - case 367: { action. consumeToken(); break; + case 368: { action. consumeToken(); break; } diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParserprs.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParserprs.java index f46352be62a..3bf55cd1e7e 100644 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParserprs.java +++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParserprs.java @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 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 @@ -46,186 +46,186 @@ public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 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, + 2,5,7,5,1,0,7,2,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,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,3,4,5, - 6,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, - 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,1,3,6, - 4,2,4,1,1,1,1,1,2,4, - 2,4,2,4,1,1,2,1,1,1, - 3,3,2,1,3,2,3,2,3,2, - 2,11,10,10,9,10,9,9,8,10, - 9,9,8,9,8,8,7,10,9,9, - 8,9,8,8,7,1,1,-38,0,0, - 0,0,0,0,0,0,0,0,-127,0, - 0,0,0,0,0,0,0,0,-2,0, - 0,0,0,0,-129,0,-77,-81,-138,0, - 0,0,0,0,-60,0,0,0,0,0, - 0,0,0,0,0,-179,0,0,0,0, - 0,0,-172,0,0,0,0,0,0,-86, - 0,0,0,0,0,0,0,-39,0,-40, - 0,0,0,0,0,0,0,0,-154,0, + 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,3,4, + 5,6,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,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,1,3, + 6,4,2,4,1,1,1,1,1,2, + 4,2,4,2,4,1,1,2,1,1, + 1,3,3,2,1,3,2,3,2,3, + 2,2,11,10,10,9,10,9,9,8, + 10,9,9,8,9,8,8,7,10,9, + 9,8,9,8,8,7,1,1,-38,0, + 0,0,0,0,0,0,0,0,0,-127, + 0,0,0,0,0,0,0,0,0,-2, + 0,0,0,0,0,-129,0,-77,-81,-138, + 0,0,0,0,0,-60,0,0,0,0, + 0,0,0,0,0,0,-179,0,0,0, + 0,0,0,-172,0,0,0,0,0,0, + -86,0,0,0,0,0,0,0,-39,0, + -40,0,0,0,0,0,0,0,0,-154, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-61, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-190,0,0, + -61,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,-145,0, - 0,-4,0,-88,-142,0,-18,-117,-180,0, - 0,0,0,0,-135,0,-196,-35,0,-203, - 0,0,0,0,0,-36,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-145, + 0,0,-4,0,-88,-142,0,-18,-117,-180, + 0,0,0,0,0,-135,0,-196,-35,0, + -203,0,0,0,0,0,-36,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-194,0,-209,0,0,0,0, + 0,0,0,0,-194,0,-209,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-213,0,0, - 0,0,0,0,0,0,0,0,0,-205, + 0,0,0,0,0,0,0,0,-213,0, 0,0,0,0,0,0,0,0,0,0, + -205,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -57,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-82,0,-79,0, + 0,-57,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-82,0,-79, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-89,-19,-84,0,0,0,-3,0,0, - 0,0,0,0,0,0,0,0,-20,0, - 0,0,0,0,0,0,0,0,-121,0, + 0,0,-89,-19,-84,0,0,0,-3,0, + 0,0,0,0,0,0,0,0,0,-20, + 0,0,0,0,0,0,0,0,0,-121, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-128, 0,0,0,0,0,0,0,0,0,0, - -96,0,0,0,0,0,0,0,0,-21, - 0,0,-43,0,0,0,0,0,0,0, - 0,0,0,-130,0,-141,0,0,0,0, + -128,0,0,0,0,0,0,0,0,0, + 0,-96,0,0,0,0,0,0,0,0, + -21,0,0,-43,0,0,0,0,0,0, + 0,0,0,0,-130,0,-141,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-30,0, - 0,0,0,0,0,0,0,0,0,-73, - 0,0,0,0,0,0,0,0,0,-62, + 0,0,0,0,0,0,0,0,0,-30, 0,0,0,0,0,0,0,0,0,0, + -73,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, - -63,0,0,0,0,0,0,0,0,0, - 0,-74,0,0,0,0,0,0,0,0, - 0,-64,0,0,0,0,0,0,0,0, + 0,-63,0,0,0,0,0,0,0,0, + 0,0,-74,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,-65,0,0,0,0,0,0,0, - 0,0,0,-75,0,0,0,0,0,0, - 0,0,0,-66,0,0,0,0,0,0, + 0,0,0,-65,0,0,0,0,0,0, + 0,0,0,0,-75,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,0,-76,0,0,0,0, - 0,0,0,0,0,-68,0,0,0,0, + 0,0,0,0,0,-67,0,0,0,0, + 0,0,0,0,0,0,-76,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,-69,0,0,0, - 0,0,0,0,0,0,0,-95,0,0, - 0,0,0,0,0,0,0,-70,0,0, + 0,0,0,0,0,0,0,-69,0,0, + 0,0,0,0,0,0,0,0,-95,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,-71,0, - 0,0,0,0,0,0,0,0,0,-125, - 0,0,0,0,0,0,0,0,0,-72, + 0,0,0,0,0,0,0,0,0,-71, 0,0,0,0,0,0,0,0,0,0, + -125,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, - -134,0,0,0,0,0,0,0,0,0, - 0,-143,0,0,0,0,0,0,0,0, - 0,-157,0,0,0,0,0,0,0,0, + 0,-134,0,0,0,0,0,0,0,0, + 0,0,-143,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,-158,0,0,0,0,0,0,0, - 0,0,0,-166,0,0,0,0,0,0, - 0,0,0,-193,0,0,0,0,0,0, + 0,0,0,-158,0,0,0,0,0,0, + 0,0,0,0,-166,0,0,0,0,0, + 0,0,0,0,-193,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,-22,0,0,0,0,0, - 0,0,0,-5,0,0,0,0,0,0, - 0,-9,0,0,0,0,0,0,0,-208, + 0,0,0,0,-202,0,0,0,0,0, + 0,0,0,0,0,-22,0,0,0,0, + 0,0,0,0,-5,0,0,0,0,0, + 0,0,-9,0,0,0,0,0,0,0, + -208,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-214, + -214,0,0,0,0,0,0,0,0,0, + 0,-23,0,0,0,0,0,0,0,0, + -6,0,0,0,0,0,0,0,-131,0, + -132,0,-78,-93,0,-24,-222,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -23,0,0,0,0,0,0,0,0,-6, - 0,0,0,0,0,0,0,-131,0,-132, - 0,-78,-93,0,-24,-222,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,-150,-144,-133,0,0,0,0,0,-122, - 0,-25,-184,0,-10,0,0,0,0,0, - 0,0,0,0,-26,0,0,-177,0,0, - 0,0,-113,-83,-27,0,0,0,0,0, + -165,0,-150,-144,-133,0,0,0,0,0, + -122,0,-25,-184,0,-10,0,0,0,0, + 0,0,0,0,0,-26,0,0,-177,0, + 0,0,0,-113,-83,-27,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -161,-85,-155,0,0,-28,0,0,0,0, - 0,0,-44,0,0,0,0,0,0,0, - 0,0,0,-29,0,0,0,0,0,0, - 0,0,-94,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-192,0,0,0, - 0,0,-210,0,-7,0,0,0,0,0, - 0,0,-58,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-54,0,0, - 0,0,0,0,0,0,0,0,-199,0, - 0,-11,0,0,0,0,0,0,0,0, - -55,0,0,0,0,0,0,0,0,0, - 0,-91,0,-56,0,0,0,0,0,0, - 0,0,0,0,-221,0,-136,0,0,0, - 0,0,0,0,-97,0,-98,0,-114,-207, - 0,0,-48,0,0,0,0,0,0,0, - 0,0,0,-52,0,0,0,0,0,0, + 0,-161,-85,-155,0,0,-28,0,0,0, + 0,0,0,-44,0,0,0,0,0,0, + 0,0,0,0,-29,0,0,0,0,0, + 0,0,0,-94,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-192,0,0, + 0,0,0,-210,0,-7,0,0,0,0, + 0,0,0,-58,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-54,0, + 0,0,0,0,0,0,0,0,0,-199, + 0,0,-11,0,0,0,0,0,0,0, + 0,-55,0,0,0,0,0,0,0,0, + 0,0,-91,0,-56,0,0,0,0,0, + 0,0,0,0,0,-221,0,-136,0,0, + 0,0,0,0,0,-97,0,-98,0,-114, + -207,0,0,-48,0,0,0,0,0,0, + 0,0,0,0,-52,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-99,-100,-101,0,0,-162,-102, - 0,0,-49,0,0,0,0,0,0,0, - 0,0,0,-50,0,0,0,0,0,0, - 0,0,0,0,-223,0,0,0,0,-51, + 0,0,0,0,-99,-100,-101,0,0,-162, + -102,0,0,-49,0,0,0,0,0,0, + 0,0,0,0,-50,0,0,0,0,0, + 0,0,0,0,0,-223,0,0,0,0, + -51,0,0,0,0,0,0,0,0,0, + 0,-53,0,0,0,0,0,0,0,0, + 0,-216,-80,-87,0,-8,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -53,0,0,0,0,0,0,0,0,0, - -216,-80,-87,0,-8,0,0,0,0,0, + 0,-103,-151,0,-153,-104,0,0,0,0, + 0,-182,-90,0,-163,0,0,0,0,0, + 0,0,0,0,0,0,0,-92,-156,-126, 0,0,0,0,0,0,0,0,0,0, - -103,-151,0,-153,-104,0,0,0,0,0, - -182,-90,0,-163,0,0,0,0,0,0, - 0,0,0,0,0,0,-92,-156,-126,0, + 0,-105,0,0,-183,0,0,0,0,-171, + 0,0,0,0,-106,0,0,0,0,-140, + 0,0,0,0,-124,0,0,0,0,0, + 0,0,-149,0,0,0,0,0,0,0, + -169,0,-1,0,0,-107,0,0,-108,0, + -109,0,-148,0,0,-160,0,0,0,0, + 0,0,0,-12,0,0,0,0,0,0, + 0,0,0,0,0,-110,0,0,-13,0, + 0,0,0,0,0,0,-14,0,0,0, + 0,0,0,0,-37,-45,0,0,0,0, + 0,0,0,-186,-164,0,-46,0,0,0, + 0,0,0,0,-47,0,0,0,0,0, + 0,0,0,-178,-15,0,0,0,0,0, + 0,0,-159,0,0,-16,0,0,0,0, + 0,0,0,0,0,0,-174,-111,-173,-17, + 0,-112,0,-181,0,0,-118,-31,0,0, + 0,-189,-32,-200,0,0,-120,-137,0,0, + 0,0,0,0,-170,0,0,0,0,0, + 0,0,-119,0,0,-33,0,0,0,0, + -146,-152,0,0,0,-123,0,-34,-204,0, + -167,0,-168,-185,0,0,-201,0,0,0, + 0,0,0,0,0,0,0,-139,0,0, + 0,0,0,-187,0,0,-115,0,0,0, + 0,0,0,0,0,-197,-198,0,-188,0, + 0,0,0,0,-195,0,0,0,-116,0, + -147,-212,0,-175,0,-41,-176,-206,0,0, + 0,0,0,0,0,-217,0,0,0,0, + 0,-191,0,0,0,0,0,0,0,0, + 0,-42,0,0,0,0,0,-218,0,0, + 0,-59,0,0,0,0,0,0,-215,-211, + -220,-219,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -105,0,0,-183,0,0,0,0,-171,0, - 0,0,0,-106,0,0,0,0,-140,0, - 0,0,0,-124,0,0,0,0,0,0, - 0,-149,0,0,0,0,0,0,0,-169, - 0,-1,0,0,-107,0,0,-108,0,-109, - 0,-148,0,0,-160,0,0,0,0,0, - 0,0,-12,0,0,0,0,0,0,0, - 0,0,0,0,-110,0,0,-13,0,0, - 0,0,0,0,0,-14,0,0,0,0, - 0,0,0,-37,-45,0,0,0,0,0, - 0,0,-186,-164,0,-46,0,0,0,0, - 0,0,0,-47,0,0,0,0,0,0, - 0,0,-178,-15,0,0,0,0,0,0, - 0,-159,0,0,-16,0,0,0,0,0, - 0,0,0,0,0,-174,-111,-173,-17,0, - -112,0,-181,0,0,-118,-31,0,0,0, - -189,-32,-200,0,0,-120,-137,0,0,0, - 0,0,0,-170,0,0,0,0,0,0, - 0,-119,0,0,-33,0,0,0,0,-146, - -152,0,0,0,-123,0,-34,-204,0,-167, - 0,-168,-185,0,0,-201,0,0,0,0, - 0,0,0,0,0,0,-139,0,0,0, - 0,0,-187,0,0,-115,0,0,0,0, - 0,0,0,0,-197,-198,0,-188,0,0, - 0,0,0,-195,0,0,0,-116,0,-147, - -212,0,-175,0,-41,-176,-206,0,0,0, - 0,0,0,0,-217,0,0,0,0,0, - -191,0,0,0,0,0,0,0,0,0, - -42,0,0,0,0,0,-218,0,0,0, - -59,0,0,0,0,0,0,-215,-211,-220, - -219,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,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; @@ -247,186 +247,187 @@ public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 90,74,74,47,107,107,107,107,107,107, 107,108,108,108,109,109,114,114,115,115, 110,110,111,111,111,117,117,112,112,112, - 112,113,113,113,113,113,116,116,27,27, - 27,27,27,33,33,33,80,80,75,75, - 75,75,76,76,76,77,77,77,78,78, - 78,79,79,79,118,118,119,119,120,34, - 36,36,36,36,36,56,57,57,57,57, - 57,57,57,57,57,57,57,57,66,63, - 63,91,92,68,68,64,64,64,69,81, - 81,82,82,70,70,70,37,93,93,83, - 84,84,84,65,65,94,85,85,86,86, - 71,71,23,24,24,24,35,53,53,39, - 39,39,39,42,42,44,40,40,41,45, - 45,121,121,43,122,122,95,95,28,28, - 28,28,28,28,28,28,28,87,54,54, - 54,54,29,59,59,58,58,58,60,60, - 55,55,96,96,52,52,61,61,61,48, - 48,48,49,50,50,50,51,51,51,51, - 67,67,32,32,38,98,97,97,97,97, - 88,99,100,100,101,101,102,102,123,123, - 124,124,125,125,125,125,127,127,126,126, - 126,128,129,129,89,89,2,2,2,6, - 6,6,6,6,6,23,23,25,25,26, - 26,103,103,103,107,130,130,130,130,130, - 130,130,112,112,112,112,112,112,112,112, + 112,112,113,113,113,113,113,116,116,27, + 27,27,27,27,33,33,33,80,80,75, + 75,75,75,76,76,76,77,77,77,78, + 78,78,79,79,79,118,118,119,119,120, + 34,36,36,36,36,36,56,57,57,57, + 57,57,57,57,57,57,57,57,57,66, + 63,63,91,92,68,68,64,64,64,69, + 81,81,82,82,70,70,70,37,93,93, + 83,84,84,84,65,65,94,85,85,86, + 86,71,71,23,24,24,24,35,53,53, + 39,39,39,39,42,42,44,40,40,41, + 45,45,121,121,43,122,122,95,95,28, + 28,28,28,28,28,28,28,28,87,54, + 54,54,54,29,59,59,58,58,58,60, + 60,55,55,96,96,52,52,61,61,61, + 48,48,48,49,50,50,50,51,51,51, + 51,67,67,32,32,38,98,97,97,97, + 97,88,99,100,100,101,101,102,102,123, + 123,124,124,125,125,125,125,127,127,126, + 126,126,128,129,129,89,89,2,2,2, + 6,6,6,6,6,6,23,23,25,25, + 26,26,103,103,103,107,130,130,130,130, + 130,130,130,112,112,112,112,112,112,112, 112,112,112,112,112,112,112,112,112,112, - 112,112,112,112,112,112,131,131,1,1303, - 17,21,18,517,1294,44,669,653,1105,675, - 720,1185,1161,1235,1222,1276,1245,74,91,450, - 1810,134,212,325,326,80,1212,582,588,88, - 277,136,133,135,159,606,20,17,21,18, - 517,43,44,669,653,1105,675,720,1185,1161, - 1235,1222,1707,175,138,165,274,1795,1548,28, - 119,142,145,148,151,1716,430,230,191,31, - 191,31,512,1244,1272,1503,1532,1547,1183,542, - 20,17,21,18,517,1294,44,669,653,1105, - 423,720,1185,1161,1235,1222,1276,1245,74,280, - 606,20,17,21,18,517,43,44,669,653, - 1105,281,720,1185,1161,1235,1711,1716,351,20, - 17,21,18,517,1294,44,669,653,1105,423, - 720,1185,1161,1235,1222,1276,1245,74,280,225, - 178,25,277,24,583,176,286,59,53,815, - 281,395,1831,554,292,63,1716,915,443,525, - 191,1783,134,212,325,326,443,287,254,212, - 325,326,136,133,135,159,1569,273,1727,397, - 254,212,325,326,914,288,926,19,218,1449, - 220,1534,222,223,228,138,165,268,627,398, - 271,283,142,145,148,151,289,430,326,254, - 212,325,326,734,1244,1272,1503,1532,1547,1183, - 574,20,17,21,18,517,1294,44,669,653, - 1105,209,720,1185,1161,1235,1222,1276,1245,74, - 280,606,20,17,21,18,517,43,44,669, - 653,1105,281,720,1185,1161,1608,776,1716,281, - 20,17,21,18,517,1294,44,669,653,1105, - 1755,720,1185,1161,1235,1222,1276,1245,74,1220, - 193,238,615,78,661,275,293,290,606,20, - 17,21,18,517,1294,44,669,653,1105,193, - 720,1185,1161,1235,1222,1276,1245,74,91,766, - 20,17,21,18,517,1294,44,669,653,1105, - 1777,720,1185,1161,1235,1222,1276,1245,74,1579, - 470,20,17,21,18,517,43,44,669,653, - 1105,743,720,1185,1161,1235,1222,1276,1245,93, - 64,1178,333,606,20,17,21,18,517,43, - 44,1405,512,22,191,186,316,20,17,21, - 18,517,1294,44,669,653,1105,1612,720,1185, - 1161,1235,1222,1276,1245,74,1692,327,239,606, - 20,17,21,18,517,1294,44,669,653,1105, - 443,720,1185,1161,1235,1222,1276,1245,74,92, - 606,20,17,21,18,517,1294,44,669,653, - 1105,1243,720,1185,1161,1235,1222,1276,1245,74, - 85,606,20,17,21,18,517,1294,44,669, - 653,1105,443,720,1185,1161,1235,1222,1276,1245, - 74,84,606,20,17,21,18,517,1294,44, - 669,653,1105,1409,720,1185,1161,1235,1222,1276, - 1245,74,83,606,20,17,21,18,517,1294, - 44,669,653,1105,443,720,1185,1161,1235,1222, - 1276,1245,74,82,606,20,17,21,18,517, - 1294,44,669,653,1105,1786,720,1185,1161,1235, - 1222,1276,1245,74,81,606,20,17,21,18, - 517,1294,44,669,653,1105,443,720,1185,1161, - 1235,1222,1276,1245,74,80,606,20,17,21, - 18,517,1294,44,669,653,1105,1808,720,1185, - 1161,1235,1222,1276,1245,74,79,606,20,17, - 21,18,517,1294,44,669,653,1105,443,720, - 1185,1161,1235,1222,1276,1245,74,78,606,20, - 17,21,18,517,1294,44,669,653,1105,23, - 720,1185,1161,1235,1222,1276,1245,74,77,606, - 20,17,21,18,517,1294,44,669,653,1105, - 443,720,1185,1161,1235,1222,1276,1245,74,76, - 606,20,17,21,18,517,1294,44,669,653, - 1105,272,720,1185,1161,1235,1222,1276,1245,74, - 75,606,20,17,21,18,517,1294,44,669, - 653,1105,443,720,1185,1161,1235,1222,1276,1245, - 74,73,606,20,17,21,18,517,1294,44, - 669,653,1105,278,720,1185,1161,1235,1222,1276, - 1245,74,1813,606,20,17,21,18,517,1294, - 44,669,653,1105,443,720,1185,1161,1235,1222, - 1276,1245,74,1816,606,20,17,21,18,517, - 43,44,669,653,1105,279,720,1185,1161,1235, - 1222,1276,1245,93,606,20,17,21,18,517, - 43,44,669,653,1105,139,720,1185,1161,1235, - 1222,1276,1245,93,638,20,17,21,18,517, - 323,1817,606,20,17,21,18,517,43,40, - 606,20,17,21,18,517,43,44,669,653, - 1105,211,720,1185,1161,1235,1222,1276,1245,93, - 606,20,17,21,18,517,43,44,669,653, - 1105,349,720,1185,1161,1235,1222,1276,1245,93, - 670,20,17,21,18,517,321,1861,191,185, - 537,1751,88,225,178,16,606,20,17,21, - 18,517,43,44,669,653,1105,201,720,1185, - 1161,1235,1222,1276,1245,93,134,212,325,326, - 712,1726,152,398,191,187,137,133,135,159, - 743,509,6,113,1664,606,20,17,21,18, - 517,43,39,202,509,24,1742,1213,443,139, - 165,273,240,678,383,171,143,146,149,152, - 196,430,217,1449,220,1534,222,223,228,224, - 1564,266,627,398,271,259,262,134,212,325, - 326,941,814,88,263,28,230,141,133,135, - 159,1716,1683,606,20,17,21,18,517,43, - 44,1407,276,192,325,134,212,325,326,273, - 140,165,1708,798,1760,144,133,135,159,260, - 217,1449,220,1534,222,223,228,191,295,266, - 627,398,271,443,1238,702,20,17,21,18, - 517,319,980,606,20,17,21,18,517,43, - 44,669,653,1105,229,720,1185,1610,606,20, - 17,21,18,517,43,44,669,653,1105,72, - 720,1561,606,20,17,21,18,517,43,38, - 1825,606,20,17,21,18,517,43,44,669, - 653,1105,647,1574,606,20,17,21,18,517, - 43,44,669,653,1105,72,1605,53,217,1449, - 220,1534,222,223,228,227,1825,324,449,742, - 191,297,1858,606,20,17,21,18,517,43, - 44,669,653,1444,606,20,17,21,18,517, - 43,44,669,1521,217,1449,220,1534,222,223, - 228,28,197,199,151,458,804,1716,1858,813, - 818,1214,578,606,20,17,21,18,517,43, - 44,669,653,1445,606,20,17,21,18,517, - 43,44,669,653,1446,554,1180,227,198,199, - 606,20,17,21,18,517,43,44,669,653, - 1450,606,20,17,21,18,517,43,44,669, - 1525,502,291,844,1727,734,20,17,21,18, - 517,41,1825,1549,218,1449,220,1534,222,223, - 228,614,53,276,53,646,134,212,325,326, - 273,63,855,1762,839,1734,147,133,135,159, - 217,1449,220,1534,222,223,228,885,232,385, - 266,627,398,271,1238,134,212,325,326,1706, - 509,710,226,980,902,150,133,135,159,679, - 134,212,325,326,77,1359,1213,179,1726,743, - 153,133,135,159,435,20,17,21,18,517, - 43,36,435,20,17,21,18,517,43,36, - 53,242,505,1742,258,187,245,1022,350,1750, - 467,1763,743,658,332,435,20,17,21,18, - 517,43,36,606,20,17,21,18,517,43, - 37,1721,87,314,331,483,194,246,606,20, - 17,21,18,517,43,36,606,20,17,21, - 18,517,43,35,361,606,20,17,21,18, - 517,43,47,805,88,1182,606,20,17,21, - 18,517,43,46,606,20,17,21,18,517, - 43,45,273,385,606,20,17,21,18,517, - 34,389,743,1726,509,606,20,17,21,18, - 517,33,266,627,398,271,124,513,896,53, - 1213,809,1726,53,241,265,930,53,519,1804, - 368,63,53,805,1796,1766,243,707,368,253, - 212,325,326,368,682,1783,196,519,258,87, - 536,1022,445,1750,196,53,1654,87,536,196, - 541,932,87,536,1654,124,368,53,180,1654, - 933,528,57,682,1783,527,63,1758,368,770, - 273,1727,196,509,812,87,536,124,253,212, - 325,326,1654,550,196,1847,871,87,536,196, - 268,627,398,271,1654,715,169,854,845,1564, - 253,212,325,326,124,208,509,509,901,896, - 329,63,203,743,515,480,743,743,28,1663, - 1798,509,1213,196,1716,88,658,253,212,325, - 326,842,191,1564,208,243,515,1213,244,294, - 28,53,736,1531,1223,89,1716,63,1723,1798, - 258,53,658,1323,1726,1750,282,180,884,479, - 39,743,658,556,1032,258,191,1920,1064,1920, - 1750,87,711,1920,1920,1920,1920,1811,1223,1475, - 233,87,1635,296,1920,1920,1920,1920,1920,1920, - 1859,1920,1920,204,1920,1920,1920,1920,1920,1920, - 1920,1920,1920,1920,1920,938,1920,0,328,700, - 0,20,178,0,1,2145,0,1,2156,0 + 112,112,112,112,112,112,112,131,131,1, + 1304,17,21,18,518,1295,44,670,654,1106, + 675,721,1186,1162,1236,1223,1277,1246,74,91, + 450,1811,135,213,326,327,80,1213,582,588, + 88,278,137,134,136,160,606,20,17,21, + 18,518,43,44,670,654,1106,675,721,1186, + 1162,1236,1223,1708,175,139,166,275,1796,1549, + 28,119,143,146,149,152,1717,431,231,191, + 31,191,31,513,1245,1273,1504,1533,1548,1184, + 542,20,17,21,18,518,1295,44,670,654, + 1106,424,721,1186,1162,1236,1223,1277,1246,74, + 281,606,20,17,21,18,518,43,44,670, + 654,1106,282,721,1186,1162,1236,1712,1717,351, + 20,17,21,18,518,1295,44,670,654,1106, + 424,721,1186,1162,1236,1223,1277,1246,74,281, + 225,179,25,277,24,583,176,287,59,53, + 815,282,396,1832,555,293,63,1717,915,443, + 526,191,1784,135,213,326,327,443,288,255, + 213,326,327,137,134,136,160,1570,274,1728, + 398,255,213,326,327,914,289,926,19,219, + 1450,221,1535,223,224,229,139,166,269,628, + 399,272,284,143,146,149,152,290,431,326, + 255,213,326,327,735,1245,1273,1504,1533,1548, + 1184,574,20,17,21,18,518,1295,44,670, + 654,1106,210,721,1186,1162,1236,1223,1277,1246, + 74,281,606,20,17,21,18,518,43,44, + 670,654,1106,282,721,1186,1162,1609,776,1717, + 281,20,17,21,18,518,1295,44,670,654, + 1106,1756,721,1186,1162,1236,1223,1277,1246,74, + 1221,194,239,615,78,661,276,294,291,606, + 20,17,21,18,518,1295,44,670,654,1106, + 193,721,1186,1162,1236,1223,1277,1246,74,91, + 766,20,17,21,18,518,1295,44,670,654, + 1106,1778,721,1186,1162,1236,1223,1277,1246,74, + 1580,470,20,17,21,18,518,43,44,670, + 654,1106,743,721,1186,1162,1236,1223,1277,1246, + 93,64,1179,334,606,20,17,21,18,518, + 43,44,1406,513,22,191,187,316,20,17, + 21,18,518,1295,44,670,654,1106,1613,721, + 1186,1162,1236,1223,1277,1246,74,1693,328,240, + 606,20,17,21,18,518,1295,44,670,654, + 1106,443,721,1186,1162,1236,1223,1277,1246,74, + 92,606,20,17,21,18,518,1295,44,670, + 654,1106,1244,721,1186,1162,1236,1223,1277,1246, + 74,85,606,20,17,21,18,518,1295,44, + 670,654,1106,443,721,1186,1162,1236,1223,1277, + 1246,74,84,606,20,17,21,18,518,1295, + 44,670,654,1106,1410,721,1186,1162,1236,1223, + 1277,1246,74,83,606,20,17,21,18,518, + 1295,44,670,654,1106,443,721,1186,1162,1236, + 1223,1277,1246,74,82,606,20,17,21,18, + 518,1295,44,670,654,1106,1787,721,1186,1162, + 1236,1223,1277,1246,74,81,606,20,17,21, + 18,518,1295,44,670,654,1106,443,721,1186, + 1162,1236,1223,1277,1246,74,80,606,20,17, + 21,18,518,1295,44,670,654,1106,1809,721, + 1186,1162,1236,1223,1277,1246,74,79,606,20, + 17,21,18,518,1295,44,670,654,1106,443, + 721,1186,1162,1236,1223,1277,1246,74,78,606, + 20,17,21,18,518,1295,44,670,654,1106, + 23,721,1186,1162,1236,1223,1277,1246,74,77, + 606,20,17,21,18,518,1295,44,670,654, + 1106,443,721,1186,1162,1236,1223,1277,1246,74, + 76,606,20,17,21,18,518,1295,44,670, + 654,1106,273,721,1186,1162,1236,1223,1277,1246, + 74,75,606,20,17,21,18,518,1295,44, + 670,654,1106,443,721,1186,1162,1236,1223,1277, + 1246,74,73,606,20,17,21,18,518,1295, + 44,670,654,1106,279,721,1186,1162,1236,1223, + 1277,1246,74,1814,606,20,17,21,18,518, + 1295,44,670,654,1106,443,721,1186,1162,1236, + 1223,1277,1246,74,1817,606,20,17,21,18, + 518,43,44,670,654,1106,280,721,1186,1162, + 1236,1223,1277,1246,93,606,20,17,21,18, + 518,43,44,670,654,1106,139,721,1186,1162, + 1236,1223,1277,1246,93,638,20,17,21,18, + 518,324,1818,606,20,17,21,18,518,43, + 40,606,20,17,21,18,518,43,44,670, + 654,1106,212,721,1186,1162,1236,1223,1277,1246, + 93,606,20,17,21,18,518,43,44,670, + 654,1106,349,721,1186,1162,1236,1223,1277,1246, + 93,670,20,17,21,18,518,322,1862,191, + 186,537,1752,88,225,179,16,606,20,17, + 21,18,518,43,44,670,654,1106,202,721, + 1186,1162,1236,1223,1277,1246,93,135,213,326, + 327,712,1727,152,398,191,188,138,134,136, + 160,743,510,6,113,1665,606,20,17,21, + 18,518,43,39,203,510,24,1743,1214,443, + 140,166,274,241,678,383,171,144,147,150, + 153,197,431,218,1450,221,1535,223,224,229, + 225,1565,267,628,399,272,260,263,135,213, + 326,327,941,814,88,264,28,230,142,134, + 136,160,1717,1684,606,20,17,21,18,518, + 43,44,1408,277,193,325,135,213,326,327, + 274,141,166,1709,798,1761,145,134,136,160, + 261,218,1450,221,1535,223,224,229,191,296, + 267,628,399,272,443,1239,702,20,17,21, + 18,518,320,981,606,20,17,21,18,518, + 43,44,670,654,1106,230,721,1186,1611,606, + 20,17,21,18,518,43,44,670,654,1106, + 72,721,1562,606,20,17,21,18,518,43, + 38,1826,606,20,17,21,18,518,43,44, + 670,654,1106,647,1575,606,20,17,21,18, + 518,43,44,670,654,1106,72,1606,53,218, + 1450,221,1535,223,224,229,227,1826,324,450, + 742,191,298,1859,606,20,17,21,18,518, + 43,44,670,654,1445,606,20,17,21,18, + 518,43,44,670,1522,218,1450,221,1535,223, + 224,229,28,198,200,151,458,804,1717,1859, + 813,818,1215,579,606,20,17,21,18,518, + 43,44,670,654,1446,606,20,17,21,18, + 518,43,44,670,654,1447,554,1181,228,199, + 200,606,20,17,21,18,518,43,44,670, + 654,1451,606,20,17,21,18,518,43,44, + 670,1526,502,291,844,1728,734,20,17,21, + 18,518,41,1826,1550,219,1450,221,1535,223, + 224,229,614,53,277,53,646,135,213,326, + 327,274,63,855,1763,839,1735,148,134,136, + 160,218,1450,221,1535,223,224,229,885,232, + 385,267,628,399,272,1239,135,213,326,327, + 1707,510,710,227,981,902,151,134,136,160, + 679,135,213,326,327,77,1360,1214,180,1727, + 743,154,134,136,160,435,20,17,21,18, + 518,43,36,435,20,17,21,18,518,43, + 36,53,243,505,1743,259,187,246,1023,350, + 1751,467,1764,743,659,333,435,20,17,21, + 18,518,43,36,606,20,17,21,18,518, + 43,37,1722,87,315,332,483,195,247,606, + 20,17,21,18,518,43,36,606,20,17, + 21,18,518,43,35,361,606,20,17,21, + 18,518,43,47,805,88,1183,606,20,17, + 21,18,518,43,46,606,20,17,21,18, + 518,43,45,274,385,606,20,17,21,18, + 518,34,390,743,1727,510,606,20,17,21, + 18,518,33,267,628,399,272,124,513,896, + 53,1214,809,1727,53,242,266,930,53,520, + 1805,369,63,53,805,1797,1767,243,707,369, + 254,213,326,327,369,682,1784,197,520,259, + 87,537,1023,445,1751,197,53,1655,87,537, + 197,541,932,87,537,1655,124,369,53,180, + 1655,933,529,57,682,1784,528,63,1759,369, + 771,274,1728,197,510,813,87,537,124,254, + 213,326,327,1655,550,197,1848,871,87,537, + 197,269,628,399,272,1655,715,169,855,845, + 1565,254,213,326,327,124,209,510,510,901, + 897,329,63,204,743,516,480,743,743,28, + 1664,1799,510,1214,197,1717,88,659,254,213, + 326,327,842,192,1565,209,244,516,1214,245, + 295,28,53,737,1532,1224,89,1717,63,1724, + 1799,259,53,659,1324,1727,1751,283,181,884, + 479,39,743,659,557,1033,259,192,1921,1065, + 1921,1751,87,712,1921,1921,1921,1921,1812,1224, + 1476,234,87,1636,297,1921,1921,1921,1921,1921, + 1921,1860,1921,1921,205,1921,1921,1921,1921,1921, + 1921,1921,1921,1921,1921,1921,939,1921,0,329, + 701,0,20,179,0,1,2147,0,1,2158, + 0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -549,104 +550,104 @@ public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface TermAction { public final static char termAction[] = {0, - 1920,1931,1709,1932,1638,68,1623,1362,2133,2134, - 2135,1646,2249,654,2250,62,1695,1684,1505,1933, - 1934,1935,1936,66,1225,1122,2236,2237,2238,1325, - 1170,1114,2082,2083,2081,2136,2084,2080,1920,2157, - 2087,2092,2091,2089,2090,2088,2093,2094,2086,2095, - 2096,2097,1,1382,652,514,1920,1,32,1, - 1815,190,1920,59,1,1,1,1928,1,1, - 1,1,2145,1501,1946,1947,61,51,611,1920, - 1931,1841,1932,1283,723,1384,1371,252,1,1, - 1,1,1,1,1522,1333,1,1,1,1, - 1,1,1,1,1,1,1,1,190,1, - 1,1,1920,1,1927,1,2115,189,181,440, - 1,1,1,1920,1,1,1,1480,1464,1453, - 1413,2133,2134,2135,438,2249,654,2250,54,1150, - 1480,1464,1453,1413,1,1,1,1,1,1, - 58,182,1,1,1,1,1,1,1,1, - 1,1,1,1,189,1,1,1,1920,1, - 72,1,2115,190,1920,247,1,1,1,285, - 1,1,1,2133,2134,2135,60,2249,654,2250, - 1920,1931,48,1932,1424,1491,1674,1074,1920,1920, - 1,1,1,1,1,1,1424,1491,1,1, + 1921,1932,1710,1933,1639,68,1624,1363,2135,2136, + 2137,1647,2251,655,2252,62,1696,1685,1506,1934, + 1935,1936,1937,66,1226,1123,2238,2239,2240,1326, + 1171,1115,2084,2085,2083,2138,2086,2082,1921,2159, + 2089,2094,2093,2091,2092,2090,2095,2096,2088,2097, + 2098,2099,1,1383,653,515,1921,1,32,1, + 1816,191,1921,59,1,1,1,1929,1,1, + 1,1,2147,1502,1947,1948,61,51,612,1921, + 1932,1842,1933,1284,724,1385,1372,253,1,1, + 1,1,1,1,1523,1334,1,1,1,1, + 1,1,1,1,1,1,1,1,191,1, + 1,1,1921,1,1928,1,2117,190,182,441, + 1,1,1,1921,1,1,1,1481,1465,1454, + 1414,2135,2136,2137,439,2251,655,2252,54,1151, + 1481,1465,1454,1414,1,1,1,1,1,1, + 58,183,1,1,1,1,1,1,1,1, + 1,1,1,1,190,1,1,1,1921,1, + 72,1,2117,191,1921,248,1,1,1,286, + 1,1,1,2135,2136,2137,60,2251,655,2252, + 1921,1932,48,1933,1425,1492,1675,1075,1921,1921, + 1,1,1,1,1,1,1425,1492,1,1, 1,1,1,1,1,1,1,1,1,1, - 190,1,1,1,1920,1931,50,1932,2115,70, - 1674,248,2133,2134,2135,1317,2249,654,2250,1, - 1,1,1920,1,1,1,399,405,1851,1920, - 1480,1464,1453,1413,1666,1655,2082,2083,2081,2136, - 2084,2080,1920,1920,2087,2092,2091,2089,2090,2088, - 2093,2094,2086,2095,2096,2097,88,1382,652,514, - 1,1931,1709,1932,1584,1924,1623,1362,1666,1655, - 1,1646,1502,1920,1920,1926,1695,1684,1505,1933, - 1934,1935,1936,470,1225,1122,2236,2237,2238,1325, - 1170,1114,679,629,759,1920,1931,1709,1932,1615, - 1924,1623,1362,49,43,1920,1646,1674,1,1925, - 1930,1695,1684,1505,1933,1934,1935,1936,1923,1225, - 1122,2236,2237,2238,1325,1170,1114,1053,64,67, - 1,1931,1709,1932,1638,29,1623,1362,1920,1348, - 264,1646,1502,1395,1,3107,1695,1684,1505,1933, - 1934,1935,1936,1923,1225,1122,2236,2237,2238,1325, - 1170,1114,128,629,1,1666,1655,2177,252,1920, - 2133,2134,2135,990,2249,654,2250,261,2145,1271, - 1929,1,29,969,948,927,906,885,843,864, - 822,801,780,1920,2082,2083,2081,2136,2084,2080, - 629,1333,2087,2092,2091,2089,2090,2088,2093,2094, - 2086,2095,2096,2097,1920,1931,1709,1932,1638,1924, - 1623,1362,1920,2177,267,1646,1502,1926,252,1920, - 1695,1684,1505,1933,1934,1935,1936,57,1225,1122, - 2236,2237,2238,1325,1170,1114,65,629,1920,1920, - 1931,1709,1932,1592,1924,1623,1362,1348,1920,1, - 1646,1925,1920,1926,90,1695,1684,1505,1933,1934, - 1935,1936,1923,1225,1122,2236,2237,2238,1325,1170, - 1114,1,2145,1501,1920,1,1,1,1,1920, - 1,1,71,1424,1491,1,1860,1925,90,1920, - 1,1,1,1,1,1,1,1923,1,1, - 1,1,1,1,1,1,1920,1931,1907,1932, - 255,1,1931,1709,1932,1638,1920,1623,1362,210, - 1011,1524,1646,252,2145,1501,3107,1695,1684,1505, - 1933,1934,1935,1936,2235,1225,1122,2236,2237,2238, - 1325,1170,1114,1920,1931,1709,1932,1638,1210,1623, - 1362,1920,184,3231,1646,3231,470,270,3107,1695, - 1684,1505,1933,1934,1935,1936,3107,1225,1122,2236, - 2237,2238,1325,1170,1114,1920,1931,1709,1932,1638, - 629,1623,1362,53,183,3237,1646,3237,1094,1283, - 723,1695,1684,1505,1933,1934,1935,1936,1920,1225, - 1122,2236,2237,2238,1325,1170,1114,1920,1931,1717, - 1932,1638,1920,1623,1362,52,205,3238,1646,3238, - 1920,1283,723,1695,1684,1505,1933,1934,1935,1936, - 328,1225,1122,2236,2237,2238,1325,1170,1114,1920, - 1931,1722,1932,1638,1,1623,1362,324,30,1926, - 1646,207,1931,1908,1932,1695,1684,1505,1933,1934, - 1935,1936,3107,1225,1122,2236,2237,2238,1325,1170, - 1114,1920,1931,1745,1932,1638,1920,1623,1362,63, - 1273,1,1646,1925,1,1917,488,1695,1684,1505, - 1933,1934,1935,1936,1920,1225,1122,2236,2237,2238, - 1325,1170,1114,1920,1931,1757,1932,1638,1920,1623, - 1362,322,1920,1920,1646,206,530,1924,530,1695, - 1684,1505,1933,1934,1935,1936,3107,1225,1122,2236, - 2237,2238,1325,1170,1114,1,1931,1709,1932,1638, - 2176,1623,1362,2177,1920,269,1646,379,1920,1384, - 1371,1695,1684,1505,1933,1934,1935,1936,1920,1225, - 1122,2236,2237,2238,1325,1170,1114,20,629,1911, - 1923,1911,1911,56,30,178,178,178,69,178, - 178,178,219,129,267,2145,1271,55,252,284, - 1911,2133,2134,2135,518,2249,654,2250,1920,178, - 178,178,178,178,178,629,1911,629,221,1920, - 416,1920,1949,130,206,2082,2083,2081,2136,2084, - 2080,2133,2134,2135,131,2249,654,2250,1920,1424, - 1491,629,2133,2134,2135,1920,2249,654,2250,1920, - 320,518,1920,1424,1491,2082,2083,2081,2136,2084, - 2080,611,3033,200,132,3107,2082,2083,2081,2136, - 2084,2080,2133,2134,2135,249,2249,654,2250,1920, - 42,1,1920,1,1,1,1930,1,1,1, - 590,1920,1920,291,250,3107,2082,2083,2081,2136, - 2084,2080,2133,2134,2135,251,2249,654,2250,1920, - 1920,1920,1920,2133,2134,2135,1130,2249,654,2250, - 1,1914,1271,188,1397,1926,1600,1713,1920,188, - 188,1186,1920,1920,1920,1920,1920,1920,184,1920, - 1920,1920,1920,629,183,205,1920,1920,1920,1920, - 1920,1920,1920,1920,1410,1920,1929,1920,1920,1925 + 191,1,1,1,1921,1932,50,1933,2117,70, + 1675,249,2135,2136,2137,1318,2251,655,2252,1, + 1,1,1921,1,1,1,400,406,1852,1921, + 1481,1465,1454,1414,1667,1656,2084,2085,2083,2138, + 2086,2082,1921,1921,2089,2094,2093,2091,2092,2090, + 2095,2096,2088,2097,2098,2099,88,1383,653,515, + 1,1932,1710,1933,1585,1925,1624,1363,1667,1656, + 1,1647,1503,1921,1921,1927,1696,1685,1506,1934, + 1935,1936,1937,471,1226,1123,2238,2239,2240,1326, + 1171,1115,680,630,760,1921,1932,1710,1933,1616, + 1925,1624,1363,49,43,1921,1647,1675,1,1926, + 1931,1696,1685,1506,1934,1935,1936,1937,1924,1226, + 1123,2238,2239,2240,1326,1171,1115,1054,64,67, + 1,1932,1710,1933,1639,29,1624,1363,1921,1349, + 265,1647,1503,1396,1,3109,1696,1685,1506,1934, + 1935,1936,1937,1924,1226,1123,2238,2239,2240,1326, + 1171,1115,129,630,1,1667,1656,2179,253,1921, + 2135,2136,2137,991,2251,655,2252,262,2147,1272, + 1930,1,29,970,949,928,907,886,844,865, + 823,802,781,1921,2084,2085,2083,2138,2086,2082, + 630,1334,2089,2094,2093,2091,2092,2090,2095,2096, + 2088,2097,2098,2099,1921,1932,1710,1933,1639,1925, + 1624,1363,1921,2179,268,1647,1503,1927,253,1921, + 1696,1685,1506,1934,1935,1936,1937,57,1226,1123, + 2238,2239,2240,1326,1171,1115,65,630,1921,1921, + 1932,1710,1933,1593,1925,1624,1363,1349,1921,1, + 1647,1926,1921,1927,90,1696,1685,1506,1934,1935, + 1936,1937,1924,1226,1123,2238,2239,2240,1326,1171, + 1115,1,2147,1502,1921,1,1,1,1,1921, + 1,1,71,1425,1492,1,1861,1926,90,1921, + 1,1,1,1,1,1,1,1924,1,1, + 1,1,1,1,1,1,1921,1932,1908,1933, + 256,1,1932,1710,1933,1639,1921,1624,1363,211, + 1012,1525,1647,253,2147,1502,3109,1696,1685,1506, + 1934,1935,1936,1937,2237,1226,1123,2238,2239,2240, + 1326,1171,1115,1921,1932,1710,1933,1639,1211,1624, + 1363,1921,185,3233,1647,3233,471,271,3109,1696, + 1685,1506,1934,1935,1936,1937,3109,1226,1123,2238, + 2239,2240,1326,1171,1115,1921,1932,1710,1933,1639, + 630,1624,1363,53,184,3239,1647,3239,1095,1284, + 724,1696,1685,1506,1934,1935,1936,1937,1921,1226, + 1123,2238,2239,2240,1326,1171,1115,1921,1932,1718, + 1933,1639,1921,1624,1363,52,206,3240,1647,3240, + 1921,1284,724,1696,1685,1506,1934,1935,1936,1937, + 329,1226,1123,2238,2239,2240,1326,1171,1115,1921, + 1932,1723,1933,1639,1,1624,1363,325,30,1927, + 1647,208,1932,1909,1933,1696,1685,1506,1934,1935, + 1936,1937,3109,1226,1123,2238,2239,2240,1326,1171, + 1115,1921,1932,1746,1933,1639,1921,1624,1363,63, + 1274,1,1647,1926,1,1918,489,1696,1685,1506, + 1934,1935,1936,1937,1921,1226,1123,2238,2239,2240, + 1326,1171,1115,1921,1932,1758,1933,1639,1921,1624, + 1363,323,1921,1921,1647,207,531,1925,531,1696, + 1685,1506,1934,1935,1936,1937,3109,1226,1123,2238, + 2239,2240,1326,1171,1115,1,1932,1710,1933,1639, + 2178,1624,1363,2179,1921,270,1647,380,1921,1385, + 1372,1696,1685,1506,1934,1935,1936,1937,1921,1226, + 1123,2238,2239,2240,1326,1171,1115,20,630,1912, + 1924,1912,1912,56,30,179,179,179,69,179, + 179,179,220,130,268,2147,1272,55,253,285, + 1912,2135,2136,2137,519,2251,655,2252,1921,179, + 179,179,179,179,179,630,1912,630,222,1921, + 417,1921,1950,131,207,2084,2085,2083,2138,2086, + 2082,2135,2136,2137,132,2251,655,2252,1921,1425, + 1492,630,2135,2136,2137,1921,2251,655,2252,1921, + 321,519,1921,1425,1492,2084,2085,2083,2138,2086, + 2082,612,3035,201,133,3109,2084,2085,2083,2138, + 2086,2082,2135,2136,2137,250,2251,655,2252,1921, + 42,1,1921,1,1,1,1931,1,1,1, + 591,1921,1921,292,251,3109,2084,2085,2083,2138, + 2086,2082,2135,2136,2137,252,2251,655,2252,1921, + 1921,1921,1921,2135,2136,2137,1131,2251,655,2252, + 1,1915,1272,189,1398,1927,1601,1714,1921,189, + 189,1187,1921,1921,1921,1921,1921,1921,185,1921, + 1921,1921,1921,630,184,206,1921,1921,1921,1921, + 1921,1921,1921,1921,1411,1921,1930,1921,1921,1926 }; }; public final static char termAction[] = TermAction.termAction; @@ -920,17 +921,17 @@ public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeState { public final static char scopeState[] = {0, - 554,0,423,0,1796,1223,1762,0,1475,519, - 1395,1501,1359,1271,1213,0,654,0,590,488, - 449,1808,1786,1409,1243,397,0,1183,509,368, - 0,1534,1449,627,398,519,1742,1271,1213,1502, - 1654,0,1615,1592,1584,470,405,1333,611,1384, - 1371,1348,1491,1424,1480,1464,1453,1413,1674,1666, - 1655,1283,723,1695,1684,1646,1638,1623,1362,1225, - 1122,1505,1325,1170,1114,1186,1150,1130,590,1094, - 1074,1053,1032,736,1011,700,679,629,990,969, - 948,927,906,885,864,843,822,801,780,368, - 759,658,488,449,0 + 555,0,424,0,1797,1224,1763,0,1476,520, + 1396,1502,1360,1272,1214,0,655,0,591,489, + 450,1809,1787,1410,1244,398,0,1184,510,369, + 0,1535,1450,628,399,520,1743,1272,1214,1503, + 1655,0,1616,1593,1585,471,406,1334,612,1385, + 1372,1349,1492,1425,1481,1465,1454,1414,1675,1667, + 1656,1284,724,1696,1685,1647,1639,1624,1363,1226, + 1123,1506,1326,1171,1115,1187,1151,1131,591,1095, + 1075,1054,1033,737,1012,701,680,630,991,970, + 949,928,907,886,865,844,823,802,781,369, + 760,659,489,450,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -1173,18 +1174,18 @@ public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public final static int NUM_STATES = 223, NT_OFFSET = 107, - LA_STATE_OFFSET = 2287, + LA_STATE_OFFSET = 2289, MAX_LA = 2, - NUM_RULES = 367, + NUM_RULES = 368, NUM_NONTERMINALS = 131, NUM_SYMBOLS = 238, SEGMENT_SIZE = 8192, - START_STATE = 1602, + START_STATE = 1603, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 89, EOLT_SYMBOL = 89, - ACCEPT_ACTION = 1907, - ERROR_ACTION = 1920; + ACCEPT_ACTION = 1908, + ERROR_ACTION = 1921; public final static boolean BACKTRACK = true; diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParsersym.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParsersym.java index 2128315502a..78aad8e71c8 100644 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParsersym.java +++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParsersym.java @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 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 diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParser.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParser.java index 914bc5ba4b8..d278b8f1ae5 100644 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParser.java +++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParser.java @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 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 @@ -669,871 +669,877 @@ public String getName() { // // Rule 118: iteration_statement ::= do statement while ( expression ) ; // - case 118: { action. consumeStatementDoLoop(); break; + case 118: { action. consumeStatementDoLoop(true); break; } // - // Rule 119: iteration_statement ::= while ( expression ) statement + // Rule 119: iteration_statement ::= do statement // - case 119: { action. consumeStatementWhileLoop(); break; + case 119: { action. consumeStatementDoLoop(false); break; } // - // Rule 120: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement + // Rule 120: iteration_statement ::= while ( expression ) statement // - case 120: { action. consumeStatementForLoop(); break; + case 120: { action. consumeStatementWhileLoop(); break; } // - // Rule 121: iteration_statement ::= for ( declaration expression_opt ; expression_opt ) statement + // Rule 121: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement // case 121: { action. consumeStatementForLoop(); break; } // - // Rule 122: jump_statement ::= goto identifier_token ; + // Rule 122: iteration_statement ::= for ( declaration expression_opt ; expression_opt ) statement // - case 122: { action. consumeStatementGoto(); break; + case 122: { action. consumeStatementForLoop(); break; } // - // Rule 123: jump_statement ::= continue ; + // Rule 123: jump_statement ::= goto identifier_token ; // - case 123: { action. consumeStatementContinue(); break; + case 123: { action. consumeStatementGoto(); break; } // - // Rule 124: jump_statement ::= break ; + // Rule 124: jump_statement ::= continue ; // - case 124: { action. consumeStatementBreak(); break; + case 124: { action. consumeStatementContinue(); break; } // - // Rule 125: jump_statement ::= return ; + // Rule 125: jump_statement ::= break ; // - case 125: { action. consumeStatementReturn(false); break; + case 125: { action. consumeStatementBreak(); break; } // - // Rule 126: jump_statement ::= return expression ; + // Rule 126: jump_statement ::= return ; // - case 126: { action. consumeStatementReturn(true); break; + case 126: { action. consumeStatementReturn(false); break; } // - // Rule 127: declaration ::= declaration_specifiers ; + // Rule 127: jump_statement ::= return expression ; // - case 127: { action. consumeDeclarationSimple(false); break; + case 127: { action. consumeStatementReturn(true); break; } // - // Rule 128: declaration ::= declaration_specifiers <openscope-ast> init_declarator_list ; + // Rule 128: declaration ::= declaration_specifiers ; // - case 128: { action. consumeDeclarationSimple(true); break; + case 128: { action. consumeDeclarationSimple(false); break; } // - // Rule 129: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers + // Rule 129: declaration ::= declaration_specifiers <openscope-ast> init_declarator_list ; // - case 129: { action. consumeDeclarationSpecifiersSimple(); break; + case 129: { action. consumeDeclarationSimple(true); break; } // - // Rule 130: declaration_specifiers ::= <openscope-ast> struct_or_union_declaration_specifiers + // Rule 130: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers // - case 130: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; + case 130: { action. consumeDeclarationSpecifiersSimple(); break; } // - // Rule 131: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers + // Rule 131: declaration_specifiers ::= <openscope-ast> struct_or_union_declaration_specifiers // case 131: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; } // - // Rule 132: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers + // Rule 132: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers // case 132: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; } // - // Rule 133: declaration_specifiers ::= <openscope-ast> typdef_name_declaration_specifiers + // Rule 133: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers // - case 133: { action. consumeDeclarationSpecifiersTypedefName(); break; + case 133: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; } // - // Rule 158: init_declarator ::= complete_declarator = initializer + // Rule 134: declaration_specifiers ::= <openscope-ast> typdef_name_declaration_specifiers // - case 158: { action. consumeDeclaratorWithInitializer(true); break; + case 134: { action. consumeDeclarationSpecifiersTypedefName(); break; } // - // Rule 160: storage_class_specifier ::= storage_class_specifier_token + // Rule 159: init_declarator ::= complete_declarator = initializer // - case 160: { action. consumeToken(); break; + case 159: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 166: simple_type_specifier ::= simple_type_specifier_token + // Rule 161: storage_class_specifier ::= storage_class_specifier_token // - case 166: { action. consumeToken(); break; + case 161: { action. consumeToken(); break; } // - // Rule 179: type_name_specifier ::= identifier_token + // Rule 167: simple_type_specifier ::= simple_type_specifier_token // - case 179: { action. consumeToken(); break; + case 167: { action. consumeToken(); break; } // - // Rule 180: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt } + // Rule 180: type_name_specifier ::= identifier_token // - case 180: { action. consumeTypeSpecifierComposite(false); break; + case 180: { action. consumeToken(); break; } // - // Rule 181: 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 181: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt } // - case 181: { action. consumeTypeSpecifierComposite(true); break; + case 181: { action. consumeTypeSpecifierComposite(false); break; } // - // Rule 186: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token + // 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 } // - case 186: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break; + case 182: { action. consumeTypeSpecifierComposite(true); break; } // - // Rule 187: elaborated_specifier ::= union elaborated_specifier_hook identifier_token + // Rule 187: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token // - case 187: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break; + case 187: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break; } // - // Rule 188: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token + // Rule 188: elaborated_specifier ::= union elaborated_specifier_hook identifier_token // - case 188: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break; + case 188: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break; } // - // Rule 194: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ; + // Rule 189: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token // - case 194: { action. consumeStructDeclaration(true); break; + case 189: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break; } // - // Rule 195: struct_declaration ::= specifier_qualifier_list ; + // Rule 195: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ; // - case 195: { action. consumeStructDeclaration(false); break; + case 195: { action. consumeStructDeclaration(true); break; } // - // Rule 196: struct_declaration ::= ERROR_TOKEN + // Rule 196: struct_declaration ::= specifier_qualifier_list ; // - case 196: { action. consumeDeclarationProblem(); break; + case 196: { action. consumeStructDeclaration(false); break; } // - // Rule 202: struct_declarator ::= : constant_expression + // Rule 197: struct_declaration ::= ERROR_TOKEN // - case 202: { action. consumeBitField(false); break; + case 197: { action. consumeDeclarationProblem(); break; } // - // Rule 203: struct_declarator ::= declarator : constant_expression + // Rule 203: struct_declarator ::= : constant_expression // - case 203: { action. consumeBitField(true); break; + case 203: { action. consumeBitField(false); break; } // - // Rule 204: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 204: struct_declarator ::= declarator : constant_expression // - case 204: { action. consumeTypeSpecifierEnumeration(false); break; + case 204: { action. consumeBitField(true); break; } // - // Rule 205: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 205: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } // - case 205: { action. consumeTypeSpecifierEnumeration(true); break; + case 205: { action. consumeTypeSpecifierEnumeration(false); break; } // - // Rule 211: enumerator ::= identifier_token + // Rule 206: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } // - case 211: { action. consumeEnumerator(false); break; + case 206: { action. consumeTypeSpecifierEnumeration(true); break; } // - // Rule 212: enumerator ::= identifier_token = constant_expression + // Rule 212: enumerator ::= identifier_token // - case 212: { action. consumeEnumerator(true); break; + case 212: { action. consumeEnumerator(false); break; } // - // Rule 213: type_qualifier ::= type_qualifier_token + // Rule 213: enumerator ::= identifier_token = constant_expression // - case 213: { action. consumeToken(); break; + case 213: { action. consumeEnumerator(true); break; } // - // Rule 217: function_specifier ::= inline + // Rule 214: type_qualifier ::= type_qualifier_token // - case 217: { action. consumeToken(); break; + case 214: { action. consumeToken(); break; } // - // Rule 219: declarator ::= <openscope-ast> pointer_seq direct_declarator + // Rule 218: function_specifier ::= inline // - case 219: { action. consumeDeclaratorWithPointer(true); break; + case 218: { action. consumeToken(); break; } // - // Rule 224: basic_direct_declarator ::= declarator_id_name + // Rule 220: declarator ::= <openscope-ast> pointer_seq direct_declarator // - case 224: { action. consumeDirectDeclaratorIdentifier(); break; + case 220: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 225: basic_direct_declarator ::= ( declarator ) + // Rule 225: basic_direct_declarator ::= declarator_id_name // - case 225: { action. consumeDirectDeclaratorBracketed(); break; + case 225: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 226: declarator_id_name ::= identifier + // Rule 226: basic_direct_declarator ::= ( declarator ) // - case 226: { action. consumeIdentifierName(); break; + case 226: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 227: array_direct_declarator ::= basic_direct_declarator array_modifier + // Rule 227: declarator_id_name ::= identifier // - case 227: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 227: { action. consumeIdentifierName(); break; } // - // Rule 228: array_direct_declarator ::= array_direct_declarator array_modifier + // Rule 228: array_direct_declarator ::= basic_direct_declarator array_modifier // case 228: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 230: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list ) + // Rule 229: array_direct_declarator ::= array_direct_declarator array_modifier // - case 230: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; + case 229: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 231: function_direct_declarator ::= basic_direct_declarator ( ) + // Rule 231: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list ) // - case 231: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; + case 231: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; } // - // Rule 233: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator + // Rule 232: function_direct_declarator ::= basic_direct_declarator ( ) // - case 233: { action. consumeDeclaratorWithPointer(true); break; + case 232: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; } // - // Rule 234: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list ) + // Rule 234: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator // - case 234: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; + case 234: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 236: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator + // Rule 235: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list ) // - case 236: { action. consumeDeclaratorWithPointer(true); break; + case 235: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; } // - // Rule 237: identifier_list ::= identifier + // Rule 237: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator // - case 237: { action. consumeIdentifierKnR(); break; + case 237: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 238: identifier_list ::= identifier_list , identifier + // Rule 238: identifier_list ::= identifier // case 238: { action. consumeIdentifierKnR(); break; } // - // Rule 239: array_modifier ::= [ ] + // Rule 239: identifier_list ::= identifier_list , identifier // - case 239: { action. consumeDirectDeclaratorArrayModifier(false); break; + case 239: { action. consumeIdentifierKnR(); break; } // - // Rule 240: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ] + // Rule 240: array_modifier ::= [ ] // - case 240: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break; + case 240: { action. consumeDirectDeclaratorArrayModifier(false); break; } // - // Rule 241: array_modifier ::= [ assignment_expression ] + // Rule 241: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ] // - case 241: { action. consumeDirectDeclaratorArrayModifier(true); break; + case 241: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break; } // - // Rule 242: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ] + // Rule 242: array_modifier ::= [ assignment_expression ] // - case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break; + case 242: { action. consumeDirectDeclaratorArrayModifier(true); break; } // - // Rule 243: array_modifier ::= [ static assignment_expression ] + // Rule 243: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ] // - case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break; + case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break; } // - // Rule 244: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ] + // Rule 244: array_modifier ::= [ static assignment_expression ] // - case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; + case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break; } // - // Rule 245: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ] + // Rule 245: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ] // case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; } // - // Rule 246: array_modifier ::= [ * ] + // Rule 246: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ] // - case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break; + case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; } // - // Rule 247: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ] + // Rule 247: array_modifier ::= [ * ] // - case 247: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break; + case 247: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break; } // - // Rule 249: pointer_seq ::= pointer_hook * pointer_hook + // Rule 248: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ] // - case 249: { action. consumePointer(); break; + case 248: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break; } // - // Rule 250: pointer_seq ::= pointer_seq pointer_hook * pointer_hook + // Rule 250: pointer_seq ::= pointer_hook * pointer_hook // case 250: { action. consumePointer(); break; } // - // Rule 251: pointer_seq ::= pointer_hook * pointer_hook <openscope-ast> type_qualifier_list + // Rule 251: pointer_seq ::= pointer_seq pointer_hook * pointer_hook // - case 251: { action. consumePointerTypeQualifierList(); break; + case 251: { action. consumePointer(); break; } // - // Rule 252: pointer_seq ::= pointer_seq pointer_hook * pointer_hook <openscope-ast> type_qualifier_list + // Rule 252: pointer_seq ::= pointer_hook * pointer_hook <openscope-ast> type_qualifier_list // case 252: { action. consumePointerTypeQualifierList(); break; } // - // Rule 256: parameter_type_list ::= parameter_list + // Rule 253: pointer_seq ::= pointer_seq pointer_hook * pointer_hook <openscope-ast> type_qualifier_list // - case 256: { action. consumeEmpty(); break; + case 253: { action. consumePointerTypeQualifierList(); break; } // - // Rule 257: parameter_type_list ::= parameter_list , ... + // Rule 257: parameter_type_list ::= parameter_list // - case 257: { action. consumePlaceHolder(); break; + case 257: { action. consumeEmpty(); break; } // - // Rule 258: parameter_type_list ::= ... + // Rule 258: parameter_type_list ::= parameter_list , ... // case 258: { action. consumePlaceHolder(); break; } // - // Rule 261: parameter_declaration ::= declaration_specifiers complete_parameter_declarator + // Rule 259: parameter_type_list ::= ... // - case 261: { action. consumeParameterDeclaration(); break; + case 259: { action. consumePlaceHolder(); break; } // - // Rule 262: parameter_declaration ::= declaration_specifiers + // Rule 262: parameter_declaration ::= declaration_specifiers complete_parameter_declarator // - case 262: { action. consumeParameterDeclarationWithoutDeclarator(); break; + case 262: { action. consumeParameterDeclaration(); break; } // - // Rule 265: type_id ::= specifier_qualifier_list + // Rule 263: parameter_declaration ::= declaration_specifiers // - case 265: { action. consumeTypeId(false); break; + case 263: { action. consumeParameterDeclarationWithoutDeclarator(); break; } // - // Rule 266: type_id ::= specifier_qualifier_list abstract_declarator + // Rule 266: type_id ::= specifier_qualifier_list // - case 266: { action. consumeTypeId(true); break; + case 266: { action. consumeTypeId(false); break; } // - // Rule 268: abstract_declarator ::= <openscope-ast> pointer_seq + // Rule 267: type_id ::= specifier_qualifier_list abstract_declarator // - case 268: { action. consumeDeclaratorWithPointer(false); break; + case 267: { action. consumeTypeId(true); break; } // - // Rule 269: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator + // Rule 269: abstract_declarator ::= <openscope-ast> pointer_seq // - case 269: { action. consumeDeclaratorWithPointer(true); break; + case 269: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 273: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 270: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator // - case 273: { action. consumeDirectDeclaratorBracketed(); break; + case 270: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 274: array_direct_abstract_declarator ::= array_modifier + // Rule 274: basic_direct_abstract_declarator ::= ( abstract_declarator ) // - case 274: { action. consumeDirectDeclaratorArrayDeclarator(false); break; + case 274: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 275: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier + // Rule 275: array_direct_abstract_declarator ::= array_modifier // - case 275: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 275: { action. consumeDirectDeclaratorArrayDeclarator(false); break; } // - // Rule 276: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier + // Rule 276: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier // case 276: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 277: function_direct_abstract_declarator ::= ( ) + // Rule 277: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier // - case 277: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break; - } + case 277: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + } // - // Rule 278: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( ) + // Rule 278: function_direct_abstract_declarator ::= ( ) // - case 278: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; - } + case 278: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break; + } // - // Rule 279: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list ) + // Rule 279: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( ) // - case 279: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break; + case 279: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; } // - // Rule 280: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list ) + // Rule 280: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list ) // - case 280: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; + case 280: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break; } // - // Rule 281: initializer ::= assignment_expression + // Rule 281: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list ) // - case 281: { action. consumeInitializer(); break; + case 281: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; } // - // Rule 283: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq comma_opt } end_initializer_list + // Rule 282: initializer ::= assignment_expression // - case 283: { action. consumeInitializerList(); break; + case 282: { action. consumeInitializer(); break; } // - // Rule 284: initializer_list ::= { <openscope-ast> } + // Rule 284: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq comma_opt } end_initializer_list // case 284: { action. consumeInitializerList(); break; } // - // Rule 285: start_initializer_list ::= $Empty + // Rule 285: initializer_list ::= { <openscope-ast> } // - case 285: { action. initializerListStart(); break; + case 285: { action. consumeInitializerList(); break; } // - // Rule 286: end_initializer_list ::= $Empty + // Rule 286: start_initializer_list ::= $Empty // - case 286: { action. initializerListEnd(); break; + case 286: { action. initializerListStart(); break; } // - // Rule 291: designated_initializer ::= <openscope-ast> designation = initializer + // Rule 287: end_initializer_list ::= $Empty // - case 291: { action. consumeInitializerDesignated(); break; + case 287: { action. initializerListEnd(); break; } // - // Rule 295: designator_base ::= [ constant_expression ] + // Rule 292: designated_initializer ::= <openscope-ast> designation = initializer // - case 295: { action. consumeDesignatorArray(); break; + case 292: { action. consumeInitializerDesignated(); break; } // - // Rule 296: designator_base ::= . identifier_token + // Rule 296: designator_base ::= [ constant_expression ] // - case 296: { action. consumeDesignatorField(); break; + case 296: { action. consumeDesignatorArray(); break; } // - // Rule 297: designator ::= [ constant_expression ] + // Rule 297: designator_base ::= . identifier_token // - case 297: { action. consumeDesignatorArray(); break; + case 297: { action. consumeDesignatorField(); break; } // - // Rule 298: designator ::= . identifier_token + // Rule 298: designator ::= [ constant_expression ] // - case 298: { action. consumeDesignatorField(); break; + case 298: { action. consumeDesignatorArray(); break; } // - // Rule 299: translation_unit ::= external_declaration_list + // Rule 299: designator ::= . identifier_token // - case 299: { action. consumeTranslationUnit(); break; - } + case 299: { action. consumeDesignatorField(); break; + } // - // Rule 300: translation_unit ::= $Empty + // Rule 300: translation_unit ::= external_declaration_list // case 300: { action. consumeTranslationUnit(); break; - } + } // - // Rule 305: external_declaration ::= ; + // Rule 301: translation_unit ::= $Empty // - case 305: { action. consumeDeclarationEmpty(); break; + case 301: { action. consumeTranslationUnit(); break; } // - // Rule 306: external_declaration ::= ERROR_TOKEN + // Rule 306: external_declaration ::= ; // - case 306: { action. consumeDeclarationProblem(); break; + case 306: { action. consumeDeclarationEmpty(); break; } // - // Rule 310: function_definition ::= <openscope-ast> function_declarator function_body + // Rule 307: external_declaration ::= ERROR_TOKEN // - case 310: { action. consumeFunctionDefinition(false); break; + case 307: { action. consumeDeclarationProblem(); break; } // - // Rule 311: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement + // Rule 311: function_definition ::= <openscope-ast> function_declarator function_body // - case 311: { action. consumeFunctionDefinitionKnR(); break; + case 311: { action. consumeFunctionDefinition(false); break; } // - // Rule 312: normal_function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body + // Rule 312: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement // - case 312: { action. consumeFunctionDefinition(true); break; + case 312: { action. consumeFunctionDefinitionKnR(); break; } // - // Rule 313: function_body ::= { } + // Rule 313: normal_function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body // - case 313: { action. consumeStatementCompoundStatement(false); break; + case 313: { action. consumeFunctionDefinition(true); break; } // - // Rule 314: function_body ::= { <openscope-ast> block_item_list } + // Rule 314: function_body ::= { } // - case 314: { action. consumeStatementCompoundStatement(true); break; + case 314: { action. consumeStatementCompoundStatement(false); break; } // - // Rule 315: literal ::= MYTHREAD + // Rule 315: function_body ::= { <openscope-ast> block_item_list } // - case 315: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_mythread); break; + case 315: { action. consumeStatementCompoundStatement(true); break; } // - // Rule 316: literal ::= THREADS + // Rule 316: literal ::= MYTHREAD // - case 316: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_threads); break; + case 316: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_mythread); break; } // - // Rule 317: literal ::= UPC_MAX_BLOCKSIZE + // Rule 317: literal ::= THREADS // - case 317: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_upc_max_block_size); break; + case 317: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_threads); break; } // - // Rule 318: unary_expression ::= upc_localsizeof unary_expression + // Rule 318: literal ::= UPC_MAX_BLOCKSIZE // - case 318: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_localsizeof); break; + case 318: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_upc_max_block_size); break; } // - // Rule 319: unary_expression ::= upc_localsizeof ( type_id ) + // Rule 319: unary_expression ::= upc_localsizeof unary_expression // - case 319: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_localsizeof); break; + case 319: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_localsizeof); break; } // - // Rule 320: unary_expression ::= upc_blocksizeof unary_expression + // Rule 320: unary_expression ::= upc_localsizeof ( type_id ) // - case 320: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_blocksizeof); break; + case 320: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_localsizeof); break; } // - // Rule 321: unary_expression ::= upc_blocksizeof ( type_id ) + // Rule 321: unary_expression ::= upc_blocksizeof unary_expression // - case 321: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_blocksizeof); break; + case 321: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_blocksizeof); break; } // - // Rule 322: unary_expression ::= upc_elemsizeof unary_expression + // Rule 322: unary_expression ::= upc_blocksizeof ( type_id ) // - case 322: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_elemsizeof); break; + case 322: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_blocksizeof); break; } // - // Rule 323: unary_expression ::= upc_elemsizeof ( type_id ) + // Rule 323: unary_expression ::= upc_elemsizeof unary_expression // - case 323: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_elemsizeof); break; + case 323: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_elemsizeof); break; } // - // Rule 327: shared_type_qualifier ::= shared + // Rule 324: unary_expression ::= upc_elemsizeof ( type_id ) // - case 327: { action. consumeToken(); break; + case 324: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_elemsizeof); break; } // - // Rule 328: reference_type_qualifier ::= relaxed + // Rule 328: shared_type_qualifier ::= shared // case 328: { action. consumeToken(); break; } // - // Rule 329: reference_type_qualifier ::= strict + // Rule 329: reference_type_qualifier ::= relaxed // case 329: { action. consumeToken(); break; } // - // Rule 330: layout_qualifier ::= [ constant_expression ] + // Rule 330: reference_type_qualifier ::= strict + // + case 330: { action. consumeToken(); break; + } + + // + // Rule 331: layout_qualifier ::= [ constant_expression ] // - case 330: { action. consumeLayoutQualifier(true, false); break; + case 331: { action. consumeLayoutQualifier(true, false); break; } // - // Rule 331: layout_qualifier ::= [ * ] + // Rule 332: layout_qualifier ::= [ * ] // - case 331: { action. consumeLayoutQualifier(false, true); break; + case 332: { action. consumeLayoutQualifier(false, true); break; } // - // Rule 332: layout_qualifier ::= [ ] + // Rule 333: layout_qualifier ::= [ ] // - case 332: { action. consumeLayoutQualifier(false, false); break; + case 333: { action. consumeLayoutQualifier(false, false); break; } // - // Rule 334: synchronization_statement ::= upc_notify expression ; + // Rule 335: synchronization_statement ::= upc_notify expression ; // - case 334: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, true); break; + case 335: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, true); break; } // - // Rule 335: synchronization_statement ::= upc_notify ; + // Rule 336: synchronization_statement ::= upc_notify ; // - case 335: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, false); break; + case 336: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, false); break; } // - // Rule 336: synchronization_statement ::= upc_wait expression ; + // Rule 337: synchronization_statement ::= upc_wait expression ; // - case 336: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, true); break; + case 337: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, true); break; } // - // Rule 337: synchronization_statement ::= upc_wait ; + // Rule 338: synchronization_statement ::= upc_wait ; // - case 337: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, false); break; + case 338: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, false); break; } // - // Rule 338: synchronization_statement ::= upc_barrier expression ; + // Rule 339: synchronization_statement ::= upc_barrier expression ; // - case 338: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, true); break; + case 339: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, true); break; } // - // Rule 339: synchronization_statement ::= upc_barrier ; + // Rule 340: synchronization_statement ::= upc_barrier ; // - case 339: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, false); break; + case 340: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, false); break; } // - // Rule 340: synchronization_statement ::= upc_fence ; + // Rule 341: synchronization_statement ::= upc_fence ; // - case 340: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_fence, false); break; + case 341: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_fence, false); break; } // - // Rule 341: iteration_statement ::= upc_forall ( expression ; expression ; expression ; affinity ) statement + // Rule 342: iteration_statement ::= upc_forall ( expression ; expression ; expression ; affinity ) statement // - case 341: { action. consumeStatementUPCForallLoop(true, true, true, true); break; + case 342: { action. consumeStatementUPCForallLoop(true, true, true, true); break; } // - // Rule 342: iteration_statement ::= upc_forall ( expression ; expression ; expression ; ) statement + // Rule 343: iteration_statement ::= upc_forall ( expression ; expression ; expression ; ) statement // - case 342: { action. consumeStatementUPCForallLoop(true, true, true, false); break; + case 343: { action. consumeStatementUPCForallLoop(true, true, true, false); break; } // - // Rule 343: iteration_statement ::= upc_forall ( expression ; expression ; ; affinity ) statement + // Rule 344: iteration_statement ::= upc_forall ( expression ; expression ; ; affinity ) statement // - case 343: { action. consumeStatementUPCForallLoop(true, true, false, true); break; + case 344: { action. consumeStatementUPCForallLoop(true, true, false, true); break; } // - // Rule 344: iteration_statement ::= upc_forall ( expression ; expression ; ; ) statement + // Rule 345: iteration_statement ::= upc_forall ( expression ; expression ; ; ) statement // - case 344: { action. consumeStatementUPCForallLoop(true, true, false, false); break; + case 345: { action. consumeStatementUPCForallLoop(true, true, false, false); break; } // - // Rule 345: iteration_statement ::= upc_forall ( expression ; ; expression ; affinity ) statement + // Rule 346: iteration_statement ::= upc_forall ( expression ; ; expression ; affinity ) statement // - case 345: { action. consumeStatementUPCForallLoop(true, false, true, true); break; + case 346: { action. consumeStatementUPCForallLoop(true, false, true, true); break; } // - // Rule 346: iteration_statement ::= upc_forall ( expression ; ; expression ; ) statement + // Rule 347: iteration_statement ::= upc_forall ( expression ; ; expression ; ) statement // - case 346: { action. consumeStatementUPCForallLoop(true, false, true, false); break; + case 347: { action. consumeStatementUPCForallLoop(true, false, true, false); break; } // - // Rule 347: iteration_statement ::= upc_forall ( expression ; ; ; affinity ) statement + // Rule 348: iteration_statement ::= upc_forall ( expression ; ; ; affinity ) statement // - case 347: { action. consumeStatementUPCForallLoop(true, false, false, true); break; + case 348: { action. consumeStatementUPCForallLoop(true, false, false, true); break; } // - // Rule 348: iteration_statement ::= upc_forall ( expression ; ; ; ) statement + // Rule 349: iteration_statement ::= upc_forall ( expression ; ; ; ) statement // - case 348: { action. consumeStatementUPCForallLoop(true, false, false, false); break; + case 349: { action. consumeStatementUPCForallLoop(true, false, false, false); break; } // - // Rule 349: iteration_statement ::= upc_forall ( ; expression ; expression ; affinity ) statement + // Rule 350: iteration_statement ::= upc_forall ( ; expression ; expression ; affinity ) statement // - case 349: { action. consumeStatementUPCForallLoop(false, true, true, true); break; + case 350: { action. consumeStatementUPCForallLoop(false, true, true, true); break; } // - // Rule 350: iteration_statement ::= upc_forall ( ; expression ; expression ; ) statement + // Rule 351: iteration_statement ::= upc_forall ( ; expression ; expression ; ) statement // - case 350: { action. consumeStatementUPCForallLoop(false, true, true, false); break; + case 351: { action. consumeStatementUPCForallLoop(false, true, true, false); break; } // - // Rule 351: iteration_statement ::= upc_forall ( ; expression ; ; affinity ) statement + // Rule 352: iteration_statement ::= upc_forall ( ; expression ; ; affinity ) statement // - case 351: { action. consumeStatementUPCForallLoop(false, true, false, true); break; + case 352: { action. consumeStatementUPCForallLoop(false, true, false, true); break; } // - // Rule 352: iteration_statement ::= upc_forall ( ; expression ; ; ) statement + // Rule 353: iteration_statement ::= upc_forall ( ; expression ; ; ) statement // - case 352: { action. consumeStatementUPCForallLoop(false, true, false, false); break; + case 353: { action. consumeStatementUPCForallLoop(false, true, false, false); break; } // - // Rule 353: iteration_statement ::= upc_forall ( ; ; expression ; affinity ) statement + // Rule 354: iteration_statement ::= upc_forall ( ; ; expression ; affinity ) statement // - case 353: { action. consumeStatementUPCForallLoop(false, false, true, true); break; + case 354: { action. consumeStatementUPCForallLoop(false, false, true, true); break; } // - // Rule 354: iteration_statement ::= upc_forall ( ; ; expression ; ) statement + // Rule 355: iteration_statement ::= upc_forall ( ; ; expression ; ) statement // - case 354: { action. consumeStatementUPCForallLoop(false, false, true, false); break; + case 355: { action. consumeStatementUPCForallLoop(false, false, true, false); break; } // - // Rule 355: iteration_statement ::= upc_forall ( ; ; ; affinity ) statement + // Rule 356: iteration_statement ::= upc_forall ( ; ; ; affinity ) statement // - case 355: { action. consumeStatementUPCForallLoop(false, false, false, true); break; + case 356: { action. consumeStatementUPCForallLoop(false, false, false, true); break; } // - // Rule 356: iteration_statement ::= upc_forall ( ; ; ; ) statement + // Rule 357: iteration_statement ::= upc_forall ( ; ; ; ) statement // - case 356: { action. consumeStatementUPCForallLoop(false, false, false, false); break; + case 357: { action. consumeStatementUPCForallLoop(false, false, false, false); break; } // - // Rule 357: iteration_statement ::= upc_forall ( declaration expression ; expression ; affinity ) statement + // Rule 358: iteration_statement ::= upc_forall ( declaration expression ; expression ; affinity ) statement // - case 357: { action. consumeStatementUPCForallLoop(true, true, true, true); break; + case 358: { action. consumeStatementUPCForallLoop(true, true, true, true); break; } // - // Rule 358: iteration_statement ::= upc_forall ( declaration expression ; expression ; ) statement + // Rule 359: iteration_statement ::= upc_forall ( declaration expression ; expression ; ) statement // - case 358: { action. consumeStatementUPCForallLoop(true, true, true, false); break; + case 359: { action. consumeStatementUPCForallLoop(true, true, true, false); break; } // - // Rule 359: iteration_statement ::= upc_forall ( declaration expression ; ; affinity ) statement + // Rule 360: iteration_statement ::= upc_forall ( declaration expression ; ; affinity ) statement // - case 359: { action. consumeStatementUPCForallLoop(true, true, false, true); break; + case 360: { action. consumeStatementUPCForallLoop(true, true, false, true); break; } // - // Rule 360: iteration_statement ::= upc_forall ( declaration expression ; ; ) statement + // Rule 361: iteration_statement ::= upc_forall ( declaration expression ; ; ) statement // - case 360: { action. consumeStatementUPCForallLoop(true, true, false, false); break; + case 361: { action. consumeStatementUPCForallLoop(true, true, false, false); break; } // - // Rule 361: iteration_statement ::= upc_forall ( declaration ; expression ; affinity ) statement + // Rule 362: iteration_statement ::= upc_forall ( declaration ; expression ; affinity ) statement // - case 361: { action. consumeStatementUPCForallLoop(true, false, true, true); break; + case 362: { action. consumeStatementUPCForallLoop(true, false, true, true); break; } // - // Rule 362: iteration_statement ::= upc_forall ( declaration ; expression ; ) statement + // Rule 363: iteration_statement ::= upc_forall ( declaration ; expression ; ) statement // - case 362: { action. consumeStatementUPCForallLoop(true, false, true, false); break; + case 363: { action. consumeStatementUPCForallLoop(true, false, true, false); break; } // - // Rule 363: iteration_statement ::= upc_forall ( declaration ; ; affinity ) statement + // Rule 364: iteration_statement ::= upc_forall ( declaration ; ; affinity ) statement // - case 363: { action. consumeStatementUPCForallLoop(true, false, false, true); break; + case 364: { action. consumeStatementUPCForallLoop(true, false, false, true); break; } // - // Rule 364: iteration_statement ::= upc_forall ( declaration ; ; ) statement + // Rule 365: iteration_statement ::= upc_forall ( declaration ; ; ) statement // - case 364: { action. consumeStatementUPCForallLoop(true, false, false, false); break; + case 365: { action. consumeStatementUPCForallLoop(true, false, false, false); break; } // - // Rule 366: affinity ::= continue + // Rule 367: affinity ::= continue // - case 366: { action. consumeToken(); break; + case 367: { action. consumeToken(); break; } diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParserprs.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParserprs.java index 9415bcb29f2..9bee3801312 100644 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParserprs.java +++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParserprs.java @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 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 @@ -46,319 +46,319 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym 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,2,5,7,5,1,0,7,2,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,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,3,4, - 5,6,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,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,1,3, - 6,4,2,4,1,1,1,2,4,2, - 4,2,4,1,1,2,1,1,1,3, - 3,2,1,3,2,3,2,3,2,2, - 11,10,10,9,10,9,9,8,10,9, - 9,8,9,8,8,7,10,9,9,8, - 9,8,8,7,1,1,-118,-275,0,-16, - -304,0,0,0,0,0,0,-19,0,0, - -57,0,0,0,-2,0,0,0,0,0, - 0,-21,0,0,0,0,0,0,0,-7, - 0,0,0,0,0,-43,0,0,0,0, - 0,-23,0,0,0,0,0,0,-22,0, - 0,0,0,0,-11,-13,-81,-4,0,0, - -279,0,0,0,0,0,0,-34,0,0, - 0,0,0,0,-28,0,-45,0,-9,0, - 0,0,0,0,0,-110,0,0,0,0, - 0,0,0,0,0,0,0,-30,0,0, - 0,0,-29,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-31,0,0,0, - -26,0,0,0,0,0,0,0,-39,-24, - 0,0,0,0,0,0,0,0,-40,0, - 0,0,0,0,0,0,0,-243,0,0, - -65,0,0,0,0,0,0,0,0,0, - 0,0,0,-66,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -27,0,0,0,0,-51,-300,0,0,-32, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-53,0,0,-67,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-25, - 0,-134,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-147,0,0,0,0, - 0,0,0,0,0,0,-68,0,0,-61, - 0,0,0,0,0,0,0,0,0,0, - -69,0,0,0,0,-129,0,0,-48,0, - 0,-47,0,0,0,0,0,0,0,-70, - 0,0,0,0,-35,0,0,-85,0,0, - -3,0,0,0,0,0,0,0,0,0, - 0,-36,0,0,-259,0,-20,0,-71,-14, - -192,0,0,0,0,0,-86,0,0,0, - -320,0,0,0,0,0,0,-41,0,0, - 0,0,0,0,0,0,-185,0,0,0, - 0,0,0,0,0,-72,0,0,0,0, - 0,0,0,0,0,-99,0,0,0,-237, - 0,0,0,0,0,0,0,-77,0,0, - 0,0,0,0,0,0,-321,0,0,-79, - 0,0,0,0,0,0,0,0,0,0, - -119,0,0,0,-42,-98,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-88, - 0,0,-161,0,0,0,0,0,0,0, - 0,-37,0,0,-227,0,0,0,0,0, - -46,0,0,-73,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-100, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-33,-74,0,0,0, - 0,0,0,0,0,0,-75,0,0,-91, - 0,0,0,-78,0,0,0,0,0,0, - -76,0,0,0,0,0,0,0,-114,0, - -87,0,0,-80,0,0,0,0,0,0, - 0,-90,0,0,-241,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-162,0,0,-93,0,0,0, - 0,0,0,0,-198,0,0,0,0,-54, - 0,0,-154,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-94,0,-180,-271, - 0,0,0,0,0,0,0,0,0,-104, - 0,0,0,0,0,0,-5,0,-127,0, - 0,-128,0,0,0,0,0,0,0,0, - 0,-116,0,0,0,0,0,0,0,0, - 0,0,-96,0,0,-58,0,0,0,0, - 0,0,0,0,0,0,-176,0,0,0, - 0,0,0,0,-97,-130,0,0,-164,0, - 0,-84,0,0,0,0,0,0,0,0, - 0,0,-38,0,0,0,-105,0,-106,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,-113,0,-302, - 0,0,0,0,0,0,-120,0,0,0, - 0,0,0,0,-166,0,0,0,-107,0, - 0,0,0,0,0,-108,0,0,-59,0, - 0,0,-109,0,0,0,0,0,0,-200, - 0,0,0,0,0,0,0,-167,0,0, - -152,0,0,0,0,0,0,0,-111,0, - 0,-60,0,0,0,-201,0,0,0,0, - 0,0,-112,0,0,0,0,0,0,0, - -168,0,0,-155,0,0,0,0,0,0, - 0,0,0,0,-62,0,0,0,-115,0, - 0,0,0,0,0,-156,0,0,0,0, - 0,0,0,-169,0,0,0,0,0,0, - 0,0,0,0,-117,0,0,-95,0,0, - 0,-150,0,0,0,0,0,0,-175,0, - 0,0,0,0,0,0,-170,0,0,0, - -158,0,0,0,0,0,0,-178,0,0, - -131,0,0,0,-188,0,0,0,0,0, - 0,-193,0,0,0,0,0,0,0,-171, - 0,0,-177,0,0,0,0,0,0,0, - -195,0,0,-132,0,0,0,-196,0,0, - 0,0,0,0,-202,0,0,0,0,0, - 0,0,-172,0,0,0,-209,0,0,0, - 0,0,0,-210,0,0,-133,0,0,0, - -208,0,0,0,0,0,0,-203,0,0, - 0,0,0,0,0,-173,0,0,0,-211, - 0,0,0,0,0,0,-212,0,0,-55, - 0,0,0,-240,0,0,0,0,0,0, - -204,0,0,0,0,0,0,0,-174,0, - 0,0,-213,0,0,0,0,0,0,-214, - 0,0,-56,0,0,0,-276,0,0,0, - 0,0,0,-205,0,0,0,0,0,0, - 0,-238,0,0,0,-215,0,0,0,0, - 0,0,-216,0,0,-63,0,0,0,-277, - 0,0,0,0,0,0,-206,0,0,0, - 0,0,0,0,-239,0,0,0,-217,0, - 0,0,0,0,0,-218,0,0,-64,0, - 0,0,-163,0,0,0,0,0,0,-207, - 0,0,0,0,0,0,0,-255,0,0, - 0,-219,0,0,0,0,0,0,-179,0, - 0,0,0,-220,0,-230,-89,0,0,0, - 0,-225,0,0,0,0,0,0,0,0, - -265,0,0,-221,-226,0,0,0,0,0, - 0,-181,0,0,0,0,-323,0,0,-260, - -273,0,0,0,0,-222,0,0,0,0, - 0,0,0,-270,0,0,-261,-262,0,0, - 0,0,0,0,-182,0,0,0,0,-322, - 0,-1,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-295,0, - 0,-263,0,0,0,0,0,0,0,-183, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-268,0,0,0,0,0,0,0, - 0,-184,0,-303,0,0,-233,0,0,0, - 0,0,0,0,-246,0,0,0,0,-223, - 0,0,-101,0,0,0,0,-224,0,0, - 0,0,0,0,0,0,0,-153,-319,0, - 0,-231,-232,0,0,0,0,0,0,-248, - 0,0,0,0,-278,0,-121,0,0,0, - 0,-249,0,0,0,0,0,0,0,0, - 0,-242,0,-324,0,0,-251,0,0,0, - 0,0,0,0,-250,0,0,0,0,-269, - 0,-50,0,0,0,0,-296,-301,0,0, - 0,0,0,0,0,0,-316,0,0,0, - 0,0,0,0,0,0,0,-10,0,0, - 0,0,0,0,0,-191,0,0,0,0, - 0,-281,-283,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-293,0,0,0,0,-44,0,0,-253, - 0,0,0,0,0,0,0,-229,-18,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-49,0, - 0,-252,0,-194,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,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-157, - 0,0,0,0,0,0,-149,0,0,-342, - 0,0,0,0,0,0,0,-234,0,0, - 0,0,0,0,-148,0,-235,0,0,0, - 0,-264,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-258, - 0,0,0,0,0,0,-102,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-257,0,-160, - 0,0,0,-291,0,0,-6,0,0,0, - 0,0,0,0,0,-297,-146,0,0,0, - -298,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-315, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-285, - -299,-144,0,0,0,0,0,0,0,0, - 0,0,-294,0,0,0,0,0,0,0, - -103,0,-306,0,0,0,-309,0,0,0, - -312,0,0,0,0,0,0,-254,0,0, - 0,0,-314,0,0,0,0,0,-329,0, - 0,0,-317,0,0,0,0,0,0,0, - 0,0,0,0,0,-287,0,0,0,0, - -334,-326,-272,0,0,-289,0,0,0,0, + 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,3, + 4,5,6,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,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,1, + 3,6,4,2,4,1,1,1,2,4, + 2,4,2,4,1,1,2,1,1,1, + 3,3,2,1,3,2,3,2,3,2, + 2,11,10,10,9,10,9,9,8,10, + 9,9,8,9,8,8,7,10,9,9, + 8,9,8,8,7,1,1,-118,-275,0, + -16,-304,0,0,0,0,0,0,-19,0, + 0,-57,0,0,0,-2,0,0,0,0, + 0,0,-21,0,0,0,0,0,0,0, + -7,0,0,0,0,0,-43,0,0,0, + 0,0,-23,0,0,0,0,0,0,-22, + 0,0,0,0,0,-11,-13,-81,-4,0, + 0,-279,0,0,0,0,0,0,-34,0, + 0,0,0,0,0,-28,0,-45,0,-9, + 0,0,0,0,0,0,-110,0,0,0, + 0,0,0,0,0,0,0,0,-30,0, + 0,0,0,-29,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-31,0,0, + 0,-26,0,0,0,0,0,0,0,-39, + -24,0,0,0,0,0,0,0,0,-40, + 0,0,0,0,0,0,0,0,-243,0, + 0,-65,0,0,0,0,0,0,0,0, + 0,0,0,0,-66,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-27,0,0,0,0,-51,-300,0,0, + -32,0,0,0,0,0,0,0,0,0, + 0,0,0,-53,0,0,-67,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -25,0,-134,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-147,0,0,0, + 0,0,0,0,0,0,0,-68,0,0, + -61,0,0,0,0,0,0,0,0,0, + 0,-69,0,0,0,0,-129,0,0,-48, + 0,0,-47,0,0,0,0,0,0,0, + -70,0,0,0,0,-35,0,0,-85,0, + 0,-3,0,0,0,0,0,0,0,0, + 0,0,-36,0,0,-259,0,-20,0,-71, + -14,-192,0,0,0,0,0,-86,0,0, + 0,-320,0,0,0,0,0,0,-41,0, + 0,0,0,0,0,0,0,-185,0,0, + 0,0,0,0,0,0,-72,0,0,0, + 0,0,0,0,0,0,-99,0,0,0, + -237,0,0,0,0,0,0,0,-77,0, + 0,0,0,0,0,0,0,-321,0,0, + -79,0,0,0,0,0,0,0,0,0, + 0,-119,0,0,0,-42,-98,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -88,0,0,-161,0,0,0,0,0,0, + 0,0,-37,0,0,-227,0,0,0,0, + 0,-46,0,0,-73,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -100,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-33,-74,0,0, + 0,0,0,0,0,0,0,-75,0,0, + -91,0,0,0,-78,0,0,0,0,0, + 0,-76,0,0,0,0,0,0,0,-114, + 0,-87,0,0,-80,0,0,0,0,0, + 0,0,-90,0,0,-241,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-162,0,0,-93,0,0, + 0,0,0,0,0,-198,0,0,0,0, + -54,0,0,-154,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-94,0,-180, + -271,0,0,0,0,0,0,0,0,0, + -104,0,0,0,0,0,0,-5,0,-127, + 0,0,-128,0,0,0,0,0,0,0, + 0,0,-116,0,0,0,0,0,0,0, + 0,0,0,-96,0,0,-58,0,0,0, + 0,0,0,0,0,0,0,-176,0,0, + 0,0,0,0,0,-97,-130,0,0,-164, + 0,0,-84,0,0,0,0,0,0,0, + 0,0,0,-38,0,0,0,-105,0,-106, + 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,-113,0, + -302,0,0,0,0,0,0,-120,0,0, + 0,0,0,0,0,-166,0,0,0,-107, + 0,0,0,0,0,0,-108,0,0,-59, + 0,0,0,-109,0,0,0,0,0,0, + -200,0,0,0,0,0,0,0,-167,0, + 0,-152,0,0,0,0,0,0,0,-111, + 0,0,-60,0,0,0,-201,0,0,0, + 0,0,0,-112,0,0,0,0,0,0, + 0,-168,0,0,-155,0,0,0,0,0, + 0,0,0,0,0,-62,0,0,0,-115, + 0,0,0,0,0,0,-156,0,0,0, + 0,0,0,0,-169,0,0,0,0,0, + 0,0,0,0,0,-117,0,0,-95,0, + 0,0,-150,0,0,0,0,0,0,-175, + 0,0,0,0,0,0,0,-170,0,0, + 0,-158,0,0,0,0,0,0,-178,0, + 0,-131,0,0,0,-188,0,0,0,0, + 0,0,-193,0,0,0,0,0,0,0, + -171,0,0,-177,0,0,0,0,0,0, + 0,-195,0,0,-132,0,0,0,-196,0, + 0,0,0,0,0,-202,0,0,0,0, + 0,0,0,-172,0,0,0,-209,0,0, + 0,0,0,0,-210,0,0,-133,0,0, + 0,-208,0,0,0,0,0,0,-203,0, + 0,0,0,0,0,0,-173,0,0,0, + -211,0,0,0,0,0,0,-212,0,0, + -55,0,0,0,-240,0,0,0,0,0, + 0,-204,0,0,0,0,0,0,0,-174, + 0,0,0,-213,0,0,0,0,0,0, + -214,0,0,-56,0,0,0,-276,0,0, + 0,0,0,0,-205,0,0,0,0,0, + 0,0,-238,0,0,0,-215,0,0,0, + 0,0,0,-216,0,0,-63,0,0,0, + -277,0,0,0,0,0,0,-206,0,0, + 0,0,0,0,0,-239,0,0,0,-217, + 0,0,0,0,0,0,-218,0,0,-64, + 0,0,0,-163,0,0,0,0,0,0, + -207,0,0,0,0,0,0,0,-255,0, + 0,0,-219,0,0,0,0,0,0,-179, + 0,0,0,0,-220,0,-230,-89,0,0, + 0,0,-225,0,0,0,0,0,0,0, + 0,-265,0,0,-221,-226,0,0,0,0, + 0,0,-181,0,0,0,0,-323,0,0, + -260,-273,0,0,0,0,-222,0,0,0, + 0,0,0,0,-270,0,0,-261,-262,0, + 0,0,0,0,0,-182,0,0,0,0, + -322,0,-1,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-295, + 0,0,-263,0,0,0,0,0,0,0, + -183,0,0,0,0,0,0,0,0,0, + 0,0,0,-268,0,0,0,0,0,0, + 0,0,-184,0,-303,0,0,-233,0,0, + 0,0,0,0,0,-246,0,0,0,0, + -223,0,0,-101,0,0,0,0,-224,0, + 0,0,0,0,0,0,0,0,-153,-319, + 0,0,-231,-232,0,0,0,0,0,0, + -248,0,0,0,0,-278,0,-121,0,0, + 0,0,-249,0,0,0,0,0,0,0, + 0,0,-242,0,-324,0,0,-251,0,0, + 0,0,0,0,0,-250,0,0,0,0, + -269,0,-50,0,0,0,0,-296,-301,0, + 0,0,0,0,0,0,0,-316,0,0, + 0,0,0,0,0,0,0,0,-10,0, + 0,0,0,0,0,0,-191,0,0,0, + 0,0,-281,-283,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-293,0,0,0,0,-44,0,0, + -253,0,0,0,0,0,0,0,-229,-18, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-49, + 0,0,-252,0,-194,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,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -157,0,0,0,0,0,0,-149,0,0, + -342,0,0,0,0,0,0,0,-234,0, + 0,0,0,0,0,-148,0,-235,0,0, + 0,0,-264,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -258,0,0,0,0,0,0,-102,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-257,0, + -160,0,0,0,-291,0,0,-6,0,0, + 0,0,0,0,0,0,-297,-146,0,0, + 0,-298,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -315,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -285,-299,-144,0,0,0,0,0,0,0, + 0,0,0,-294,0,0,0,0,0,0, + 0,-103,0,-306,0,0,0,-309,0,0, + 0,-312,0,0,0,0,0,0,-254,0, + 0,0,0,-314,0,0,0,0,0,-329, + 0,0,0,-317,0,0,0,0,0,0, + 0,0,0,0,0,0,-287,0,0,0, + 0,-334,-326,-272,0,0,-289,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,-325,0,0,0,0,0,0,0,0, + 0,0,-290,0,0,0,0,0,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,0,0,0,0,-330,0,0, - 0,0,-336,-331,0,0,0,-341,0,0, + 0,0,0,0,0,0,0,0,-330,0, + 0,0,0,-336,-331,0,0,0,-341,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-343,0,0,0,0,-340,-338, - 0,0,0,-344,0,0,0,0,0,0, + 0,0,0,0,-343,0,0,0,0,-340, + -338,0,0,0,-344,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,-359,-345,0,0,0,-349, 0,0,0,0,0,0,0,0,0,0, + -346,0,0,0,0,-359,-345,0,0,0, + -349,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,-347,0,0,0,-352,0,0,0,0, + 0,0,0,0,0,0,-350,0,0,0, + 0,0,-347,0,0,0,-352,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-355,0,0,0,0,0,-351,0,0, - 0,-360,0,0,0,0,0,0,0,0, + 0,0,-355,0,0,0,0,0,-351,0, + 0,0,-360,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,0,-353,0,0,0,-363,0,0, + 0,0,0,0,0,0,0,0,-362,0, + 0,0,0,0,-353,0,0,0,-363,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-364,0,0,0,0,0,-356, - 0,0,0,-366,0,0,0,0,0,0, + 0,0,0,0,-364,0,0,0,0,0, + -356,0,0,0,-366,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-367, - 0,0,0,0,0,-361,0,0,0,-368, 0,0,0,0,0,0,0,0,0,0, + -367,0,0,0,0,0,-361,0,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,0,0,-370,0,0,0,0, - 0,-365,0,0,0,-371,0,0,0,0, + 0,0,0,0,0,0,-370,0,0,0, + 0,0,-365,0,0,0,-371,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-373,0,0,0,0,0,-369,0,0, - 0,-376,0,0,0,0,0,0,0,0, + 0,0,-373,0,0,0,0,0,-369,0, + 0,0,-376,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-377,0,0, - 0,0,0,-372,0,0,0,-378,0,0, + 0,0,0,0,0,0,0,0,-377,0, + 0,0,0,0,-372,0,0,0,-378,0, 0,0,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,0,-374, - 0,0,0,-380,0,0,0,0,0,0, + 0,0,0,0,-379,0,0,0,0,0, + -374,0,0,0,-380,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-381, - 0,0,0,0,0,-382,0,0,0,-383, 0,0,0,0,0,0,0,0,0,0, + -381,0,0,0,0,0,-382,0,0,0, + -383,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,-159,0, + 0,0,0,0,0,0,-145,0,0,-159, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-267,0,0,0,-138,0,0, + 0,0,0,0,-267,0,0,0,-138,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-247, - 0,-318,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-8,0,0,-139,-12, 0,0,0,0,0,0,0,0,0,0, + -247,0,-318,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-8,0,0,-139, + -12,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-140,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-141,0, + 0,0,-140,0,0,0,0,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,-142,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-143,0,0,0, - -15,0,0,0,0,0,0,-17,0,0, - -135,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-197,-82,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-199, + 0,0,0,-142,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-143,0,0, + 0,-15,0,0,0,0,0,0,-17,0, + 0,-135,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-197,-82,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -199,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-136,0,0,-274, - 0,0,0,0,0,0,0,-137,0,0, + 0,0,0,0,0,0,0,-136,0,0, + -274,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,-92,0, - -52,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-122,0,0,0,0, - -123,0,-124,0,0,0,0,-151,0,0, - 0,0,0,0,0,0,0,0,-125,0, - 0,0,0,-126,0,0,-256,0,0,0, - -266,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-83,0,-292,0,0,0, + 0,0,0,0,0,0,0,0,0,-92, + 0,-52,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-122,0,0,0, + 0,-123,0,-124,0,0,0,0,-151,0, + 0,0,0,0,0,0,0,0,0,-125, + 0,0,0,0,-126,0,0,-256,0,0, + 0,-266,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-83,0,-292,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,-186, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-305,0,0,0,0,0,0, + 0,0,0,0,-305,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -308,0,-228,0,0,0,0,0,0,0, + 0,-308,0,-228,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -327,0,0,0,0,0,0,0,-328,0, - 0,0,0,0,0,0,-332,0,0,0, - 0,0,0,0,0,-333,0,0,0,0, - 0,-335,0,0,0,0,0,-348,0,0, + 0,-327,0,0,0,0,0,0,0,-328, + 0,0,0,0,0,0,0,-332,0,0, + 0,0,0,0,0,0,-333,0,0,0, + 0,0,-335,0,0,0,0,0,-348,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-354,0,0,0,0,0,0, - 0,0,-357,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-358,0, - 0,0,0,0,-375,0,0,0,0,0, - -244,0,0,0,0,0,0,0,0,-245, - 0,0,0,0,0,0,0,-280,0,0, - 0,0,0,0,0,-282,0,0,0,0, - 0,0,0,-284,0,0,0,0,0,0, - -286,0,-307,0,0,0,0,0,-310,0, - 0,0,0,0,0,0,0,-311,0,0, - 0,0,0,-313,0,-337,0,0,0,0, - 0,0,-339,0,-187,0,0,0,0,0, - -189,0,0,0,0,0,0,0,0,-190, - 0,-288,0,0,0,0,0,0,0,0, + 0,0,0,0,-354,0,0,0,0,0, + 0,0,0,-357,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-358, + 0,0,0,0,0,-375,0,0,0,0, + 0,-244,0,0,0,0,0,0,0,0, + -245,0,0,0,0,0,0,0,-280,0, + 0,0,0,0,0,0,-282,0,0,0, + 0,0,0,0,-284,0,0,0,0,0, + 0,-286,0,-307,0,0,0,0,0,-310, + 0,0,0,0,0,0,0,0,-311,0, + 0,0,0,0,-313,0,-337,0,0,0, + 0,0,0,-339,0,-187,0,0,0,0, + 0,-189,0,0,0,0,0,0,0,0, + -190,0,-288,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,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; @@ -380,320 +380,321 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym 112,112,95,95,60,19,19,19,19,19, 19,19,20,20,20,16,16,96,96,73, 73,21,21,22,22,22,68,68,23,23, - 23,23,24,24,24,24,24,51,51,33, - 33,33,33,33,54,54,54,88,88,83, - 83,83,83,84,84,84,85,85,85,86, - 86,86,87,87,87,97,97,89,89,90, - 55,57,57,57,57,57,69,70,70,70, - 70,70,70,70,70,70,70,70,70,77, - 74,74,113,114,79,79,75,75,75,91, - 98,98,99,99,92,92,92,58,115,115, - 100,101,101,101,76,76,116,102,102,103, - 103,93,93,35,36,36,36,56,59,59, - 45,45,45,45,41,41,42,46,46,47, - 43,43,104,104,48,118,118,117,117,52, - 52,52,52,52,52,52,52,52,105,61, - 61,61,61,40,80,80,71,71,71,72, - 72,63,63,119,119,62,62,81,81,81, - 64,64,64,65,66,66,66,67,67,67, - 67,78,78,50,50,53,121,120,120,120, - 120,106,122,123,123,124,124,125,125,111, - 111,126,126,107,107,107,107,127,127,108, - 108,108,109,110,110,5,5,5,9,9, - 9,9,9,9,35,35,37,37,38,38, - 128,128,128,19,25,25,25,25,25,25, - 25,23,23,23,23,23,23,23,23,23, + 23,23,23,24,24,24,24,24,51,51, + 33,33,33,33,33,54,54,54,88,88, + 83,83,83,83,84,84,84,85,85,85, + 86,86,86,87,87,87,97,97,89,89, + 90,55,57,57,57,57,57,69,70,70, + 70,70,70,70,70,70,70,70,70,70, + 77,74,74,113,114,79,79,75,75,75, + 91,98,98,99,99,92,92,92,58,115, + 115,100,101,101,101,76,76,116,102,102, + 103,103,93,93,35,36,36,36,56,59, + 59,45,45,45,45,41,41,42,46,46, + 47,43,43,104,104,48,118,118,117,117, + 52,52,52,52,52,52,52,52,52,105, + 61,61,61,61,40,80,80,71,71,71, + 72,72,63,63,119,119,62,62,81,81, + 81,64,64,64,65,66,66,66,67,67, + 67,67,78,78,50,50,53,121,120,120, + 120,120,106,122,123,123,124,124,125,125, + 111,111,126,126,107,107,107,107,127,127, + 108,108,108,109,110,110,5,5,5,9, + 9,9,9,9,9,35,35,37,37,38, + 38,128,128,128,19,25,25,25,25,25, + 25,25,23,23,23,23,23,23,23,23, 23,23,23,23,23,23,23,23,23,23, - 23,23,23,23,23,44,44,362,2858,1258, - 2059,2895,17,21,18,521,882,45,72,534, - 617,2751,576,20,650,2078,17,21,18,521, - 43,40,2045,631,716,679,837,804,847,75, - 1922,92,135,213,324,325,2558,2915,874,551, - 224,229,1922,219,491,221,223,231,509,2077, - 274,137,134,136,160,56,2043,72,2213,378, - 179,2883,269,1126,1100,272,139,166,1901,499, - 861,143,146,149,152,2137,425,401,765,2151, - 2626,1688,2630,2741,2748,1739,433,939,1185,111, - 87,1023,1251,135,213,324,325,1144,72,419, - 224,232,96,1910,1058,1225,95,97,98,99, - 100,333,137,134,136,160,792,2055,551,224, - 229,2509,218,491,221,223,294,139,166,1912, - 129,1727,143,146,149,152,159,425,509,2181, - 310,2626,1688,2630,2741,2748,1739,655,2601,431, - 20,2832,312,17,21,18,521,882,45,1759, - 534,617,400,576,2108,650,156,445,438,874, - 419,224,233,228,631,716,679,837,804,847, - 75,2150,281,1668,371,293,2317,2412,431,20, - 2318,1662,17,21,18,521,882,45,282,534, - 617,937,576,2651,650,20,1903,326,17,21, - 18,521,322,631,716,679,837,804,847,75, - 2861,281,2751,128,20,330,287,17,21,18, - 521,43,45,227,534,1277,2751,282,20,313, - 937,17,21,18,521,43,45,2466,534,617, - 2503,576,20,650,288,17,21,18,521,43, - 36,2135,631,716,1496,289,2850,939,1625,2528, - 90,20,2558,2849,17,21,18,521,882,45, - 2048,534,617,231,576,2217,650,187,2284,331, - 179,2839,1897,290,127,631,716,679,837,804, - 847,75,2217,281,186,2558,2917,401,765,2268, - 2049,476,939,1185,111,87,278,2839,2559,282, - 127,202,937,135,213,324,325,96,2320,1058, - 104,95,97,98,99,100,333,2839,367,225, - 3100,88,137,134,136,160,2210,158,551,224, - 229,1585,218,491,221,223,2917,139,166,340, - 2918,658,143,146,149,152,698,425,129,2878, - 687,2626,1688,2630,2741,2748,1739,2626,1430,20, - 129,1608,17,21,18,521,882,45,3091,534, - 617,2320,576,1810,650,72,1,367,1185,111, - 87,672,2765,631,716,679,837,804,847,75, - 2317,281,96,2317,1058,109,95,97,98,99, - 100,333,1905,260,854,2839,2574,282,195,687, - 937,2290,1457,20,275,509,17,21,18,521, - 882,45,283,534,617,314,576,110,650,241, - 2839,939,243,339,88,291,2766,631,716,679, - 837,804,847,75,1449,780,2478,2117,20,108, - 239,17,21,18,521,43,45,2296,534,617, - 2503,576,20,650,2562,17,21,18,521,43, - 36,145,631,716,679,837,804,847,94,2318, - 1696,2801,1890,20,2221,332,17,21,18,521, - 882,45,2041,534,617,2503,576,20,650,246, - 17,21,18,521,43,36,556,631,716,679, - 837,804,847,75,2362,783,20,129,997,17, - 21,18,521,882,45,72,534,617,105,576, - 2676,650,20,72,247,17,21,18,521,320, - 631,716,679,837,804,847,75,2569,1324,2751, - 2217,20,1612,240,17,21,18,521,882,45, - 2917,534,617,124,576,509,650,1966,428,2217, - 305,31,2217,1577,31,631,716,679,837,804, - 847,75,2751,92,20,1192,2897,17,21,18, - 521,43,45,1983,534,617,2751,576,20,650, - 661,17,21,18,521,43,39,2924,631,716, - 679,837,804,847,94,2829,129,939,304,2751, - 88,20,2567,658,17,21,18,521,882,45, - 1291,534,617,2217,576,188,650,2917,311,2217, - 123,1572,1232,210,1251,631,716,679,837,804, - 847,75,2751,86,20,687,284,17,21,18, - 521,882,45,25,534,617,24,576,2917,650, - 2217,112,296,308,302,303,309,2320,631,716, - 679,837,804,847,75,2751,85,20,19,2324, - 17,21,18,521,882,45,2407,534,617,2751, - 576,20,650,2570,17,21,18,521,43,38, - 2897,631,716,679,837,804,847,75,2751,84, - 20,129,1738,17,21,18,521,882,45,2836, - 534,617,2751,576,20,650,2882,17,21,18, - 521,43,37,2847,631,716,679,837,804,847, - 75,2751,83,20,2148,1828,17,21,18,521, - 882,45,275,534,617,2751,576,20,650,2657, - 17,21,18,521,43,35,2320,631,716,679, - 837,804,847,75,2751,82,20,230,276,17, - 21,18,521,882,45,2682,534,617,2751,576, - 20,650,2840,17,21,18,521,43,36,2316, - 631,716,679,837,804,847,75,2751,81,20, - 234,2782,17,21,18,521,882,45,74,534, - 617,2751,576,20,650,2837,17,21,18,521, - 43,48,2707,631,716,679,837,804,847,75, - 2751,80,20,129,518,17,21,18,521,882, - 45,2885,534,617,2751,576,20,650,2826,17, - 21,18,521,43,47,2320,631,716,679,837, - 804,847,75,2751,79,20,1490,2468,17,21, - 18,521,882,45,2553,534,617,2751,576,20, - 650,2317,17,21,18,521,43,46,2320,631, - 716,679,837,804,847,75,2751,78,20,1507, - 2207,17,21,18,521,882,45,2315,534,617, - 2701,576,20,650,2317,17,21,18,521,318, - 22,2320,631,716,679,837,804,847,75,2751, - 77,20,1508,2114,17,21,18,521,882,45, - 2118,534,617,2726,576,20,650,2317,17,21, - 18,521,41,242,2320,631,716,679,837,804, - 847,75,2751,76,20,1542,1930,17,21,18, - 521,882,45,2394,534,617,2776,576,20,650, - 2317,17,21,18,521,34,244,2320,631,716, - 679,837,804,847,75,2751,1357,20,1842,2854, - 17,21,18,521,882,45,2868,534,617,2776, - 576,20,650,2356,17,21,18,521,33,245, - 2320,631,716,679,837,804,847,75,2751,1390, - 20,23,2925,17,21,18,521,882,45,2917, - 534,617,338,576,2477,650,2935,1929,255,213, - 324,325,129,2901,631,716,679,837,804,847, - 75,2751,93,20,2856,2924,17,21,18,521, - 882,45,2917,534,617,336,576,2217,650,298, - 2951,2857,254,213,324,325,2469,631,716,679, - 837,804,847,75,2751,74,20,2954,2955,17, - 21,18,521,43,45,2917,534,617,334,576, - 2317,650,1895,428,180,305,255,213,324,325, - 631,716,679,837,804,847,94,1423,1660,2751, - 28,20,2958,937,17,21,18,521,43,45, - 2917,534,617,126,576,661,650,28,28,295, - 937,937,904,2935,212,631,716,679,837,804, - 847,94,2917,304,2751,122,20,2845,2023,17, - 21,18,521,43,45,2917,534,617,3124,576, - 2732,650,28,2839,939,937,337,88,2867,202, - 631,716,679,837,804,847,94,1482,2405,2751, - 1612,20,2606,2936,17,21,18,521,43,45, - 2917,534,617,3131,576,2941,650,2355,915,301, - 303,309,2320,385,1520,631,716,679,837,804, - 847,94,387,2016,2751,1906,20,2320,957,17, - 21,18,521,43,45,2946,534,617,2026,576, - 2924,650,220,367,1185,111,87,2953,2965,203, - 631,716,679,837,804,847,94,2056,96,274, - 1058,109,95,97,98,99,100,333,346,3258, - 3258,267,1126,1100,272,687,291,367,1185,111, - 87,209,2917,2917,1820,3133,3139,1951,266,204, - 1456,1613,96,110,1058,109,95,97,98,99, - 100,333,2924,135,213,324,325,129,658,687, - 147,367,1185,111,87,107,3258,3258,2405,2284, - 1612,179,145,134,136,160,96,110,1058,109, - 95,97,98,99,100,333,3258,3258,766,1912, - 687,3258,2320,687,519,939,1185,111,87,107, - 3258,181,72,2052,135,213,324,325,307,106, - 96,110,1058,102,95,97,98,99,100,333, - 3258,3258,1730,138,134,136,160,3258,3258,874, - 551,224,1005,108,219,491,221,983,140,166, - 1923,1772,509,144,147,150,153,2751,425,20, - 2317,3258,17,21,18,521,43,45,1929,534, - 617,209,576,368,650,129,939,1932,2820,88, - 1563,1613,2962,631,716,679,837,1598,277,1590, - 3258,551,224,229,1012,218,491,221,223,297, - 2848,658,274,254,213,324,325,2839,939,263, - 335,88,3258,3258,267,1126,1100,272,551,224, - 229,1515,218,491,221,223,3258,3258,2320,274, - 1929,264,28,1810,2320,937,698,401,468,273, - 509,267,1126,1100,272,279,2924,2751,1491,20, - 3258,2863,17,21,18,521,43,45,1888,534, - 617,2897,576,259,650,254,213,324,325,261, - 2320,1894,1211,631,716,679,1474,3258,551,224, - 487,2129,218,491,221,473,255,213,324,325, - 2917,2924,2751,3154,20,205,159,17,21,18, - 521,43,45,2915,534,617,194,576,3258,650, - 1423,2839,939,2917,125,88,3001,2917,631,1442, - 3017,2917,3258,3258,3156,1550,155,445,562,939, - 1185,111,87,2917,590,1372,3163,3258,3258,2917, - 691,412,3038,2320,96,3258,1058,103,95,97, - 98,99,100,333,280,500,605,939,1185,111, - 87,2917,2320,1929,3054,3258,648,939,1185,111, - 87,3258,96,2124,1058,119,95,97,98,99, - 100,333,96,3258,1058,115,95,97,98,99, - 100,333,691,939,1185,111,87,3258,254,213, - 324,325,734,939,1185,111,87,3258,96,3258, - 1058,1677,95,97,98,99,100,333,96,3258, - 1058,364,95,97,98,99,100,333,777,939, - 1185,111,87,2917,2320,3258,3063,3258,820,939, - 1185,111,87,1911,96,2170,1058,356,95,97, - 98,99,100,333,96,3258,1058,114,95,97, - 98,99,100,333,863,939,1185,111,87,2917, - 2320,3258,118,3258,906,939,1185,111,87,3258, - 96,2242,1058,363,95,97,98,99,100,333, - 96,3258,1058,362,95,97,98,99,100,333, - 949,939,1185,111,87,2917,2320,3258,3085,3258, - 992,939,1185,111,87,3258,96,2268,1058,360, - 95,97,98,99,100,333,96,3258,1058,355, - 95,97,98,99,100,333,1035,939,1185,111, - 87,3258,2320,3258,3258,3258,1078,939,1185,111, - 87,3258,96,2278,1058,354,95,97,98,99, - 100,333,96,3258,1058,352,95,97,98,99, - 100,333,1121,939,1185,111,87,3258,2320,3258, - 3258,3258,1164,939,1185,111,87,3258,96,2314, - 1058,348,95,97,98,99,100,333,96,3258, - 1058,121,95,97,98,99,100,333,1207,939, - 1185,111,87,3258,2320,3258,3258,3258,1250,939, - 1185,111,87,3258,96,2340,1058,361,95,97, - 98,99,100,333,96,3258,1058,359,95,97, - 98,99,100,333,1293,939,1185,111,87,3258, - 2320,3258,3258,3258,1336,939,1185,111,87,3258, - 96,2376,1058,358,95,97,98,99,100,333, - 96,3258,1058,353,95,97,98,99,100,333, - 1379,939,1185,111,87,3258,2320,3258,3258,3258, - 1422,939,1185,111,87,3258,96,2422,1058,351, - 95,97,98,99,100,333,96,3258,1058,350, - 95,97,98,99,100,333,1465,939,1185,111, - 87,3258,2320,3258,3258,3258,1508,939,1185,111, - 87,3258,96,2448,1058,347,95,97,98,99, - 100,333,96,3258,1058,346,95,97,98,99, - 100,333,1551,939,1185,111,87,3258,2320,3258, - 3258,3258,1594,939,1185,111,87,3258,96,2458, - 1058,344,95,97,98,99,100,333,96,3258, - 1058,120,95,97,98,99,100,333,1637,939, - 1185,111,87,3258,2320,3258,3258,3258,1680,939, - 1185,111,87,3258,96,2484,1058,357,95,97, - 98,99,100,333,96,3258,1058,349,95,97, - 98,99,100,333,1723,939,1185,111,87,3258, - 2320,3258,3258,3258,1766,939,1185,111,87,3258, - 96,2494,1058,345,95,97,98,99,100,333, - 96,3258,1058,343,95,97,98,99,100,333, - 1809,939,1185,111,87,3258,2320,3258,3258,3258, - 1852,939,1185,111,87,3258,96,2530,1058,342, - 95,97,98,99,100,333,96,3258,1058,341, - 95,97,98,99,100,333,2751,3258,20,401, - 765,17,21,18,521,43,45,3258,534,617, - 3258,576,3258,650,1916,765,3258,3258,2751,3258, - 20,3258,1454,17,21,18,521,43,45,3258, - 534,617,3258,576,3258,1343,3258,3258,3258,3258, - 551,224,229,3258,218,491,221,223,3258,3258, - 2914,939,1916,765,88,551,224,229,159,218, - 491,221,223,3258,116,3258,2398,3258,3258,2751, - 1950,20,3258,1667,17,21,18,521,43,45, - 3258,534,617,3258,576,3258,1350,3258,155,445, - 3258,3258,3258,551,224,229,590,218,491,221, - 223,135,213,324,325,135,213,324,325,3258, - 3258,1667,3258,3258,198,200,3258,3258,1950,3258, - 142,134,136,160,148,134,136,160,3258,1963, - 3258,3258,2751,3258,20,141,166,17,21,18, - 521,43,45,3258,534,617,3258,1376,3258,2751, - 3258,20,199,200,17,21,18,521,43,45, - 3258,534,617,2751,1383,20,3258,3258,17,21, - 18,521,43,45,3258,534,617,2751,1409,20, - 3258,2021,17,21,18,521,43,45,2076,534, - 617,2751,1416,20,3258,3258,17,21,18,521, - 43,45,3258,534,1284,2576,1912,20,3258,3258, - 17,21,18,521,43,44,135,213,324,325, - 1984,1860,3258,135,213,324,325,3258,3258,3258, - 3258,277,3258,3258,3258,151,134,136,160,3258, - 3258,3258,154,134,136,160,874,551,224,229, - 3258,219,491,221,223,28,3258,2751,937,20, - 2848,658,17,21,18,521,43,45,2751,1310, - 20,3258,274,17,21,18,521,43,45,3258, - 1317,3258,3258,3258,267,1126,1100,272,3258,2360, - 658,129,367,1810,3258,88,3258,3258,3258,3258, - 509,1888,3258,3258,3258,1067,129,367,3258,3258, - 88,129,367,129,367,88,3258,88,2037,658, - 1067,368,1810,259,197,1067,3258,1067,3258,129, - 367,1894,1211,88,129,367,3258,2894,88,197, - 3258,2183,658,1067,197,3258,197,3258,1067,1627, - 3258,197,259,761,3258,2388,658,2388,658,3258, - 1166,1211,197,3258,1627,3258,3258,197,1265,1627, - 3258,1627,3258,1298,197,1331,795,874,3258,2914, - 367,3258,3258,88,3258,3258,3258,1627,1810,274, - 1810,1364,1627,116,2916,939,1397,3258,88,795, - 3258,269,1126,1100,272,2062,1199,3258,365,3258, - 192,3258,687,3258,3258,3258,1475,2983,259,3258, - 259,2916,939,2110,658,88,1166,1211,2003,1211, - 2610,3258,2088,192,3258,365,3258,3258,2022,1722, - 2983,2916,939,3258,3258,88,3258,1620,3258,2916, - 939,3258,2134,88,3258,365,197,2916,939,3258, - 2160,88,3258,365,3258,2094,2916,939,2196,3258, - 88,365,2916,939,3258,3258,88,2206,2916,939, - 365,795,88,2232,3258,2166,365,3258,3258,2304, - 3258,3258,365,2202,2916,939,3258,3258,88,3258, - 3258,2238,3258,2916,939,2350,3258,88,365,3258, - 2274,3258,3258,3258,2386,193,2310,365,3258,2916, - 939,3258,2382,88,3258,2916,939,3258,3258,88, - 2412,2839,939,365,3108,88,2520,3258,2418,365, - 2839,939,3258,3116,88,1702,3258,2454,2839,939, - 3258,2954,88,3258,1703,3258,2839,939,3258,2981, - 88,3258,1973,2490,2839,939,3258,3148,88,2526, - 1977,2914,939,2839,939,88,3009,88,1981,2839, - 939,3258,3026,88,3258,116,3258,1999,2839,939, - 3258,3032,88,2021,2914,939,2839,939,88,3079, - 88,3258,2093,2914,939,129,939,88,116,88, - 2165,129,939,3258,3258,88,3258,116,3258,1632, - 129,939,129,939,88,1647,88,3258,3258,3258, - 3258,3258,3258,3258,1762,3258,1930,3258,3258,1993, - 3258,3258,3258,3258,3258,3258,3258,3258,3258,3258, - 3258,3258,3258,3258,3258,3258,3258,3258,3258,3258, - 3258,3258,2130,3258,3258,3258,3258,3258,3258,3258, - 3258,2346,3258,0,327,836,0,11,226,0, - 3266,1,0,1,3495,0,8,10,0,179, - 20,0,1,3484,0,113,2098,0 + 23,23,23,23,23,23,44,44,362,2858, + 1259,2059,2895,17,21,18,522,883,45,72, + 535,618,2751,577,20,651,2078,17,21,18, + 522,43,40,2045,632,717,680,838,805,848, + 75,1922,92,136,214,325,326,2558,2916,875, + 552,225,230,1922,220,492,222,224,232,510, + 2077,275,138,135,137,161,56,2043,72,2213, + 379,180,2883,270,1127,1101,273,140,167,1901, + 500,862,144,147,150,153,2137,426,401,766, + 2151,2627,1689,2631,2742,2749,1740,433,940,1186, + 111,87,1024,1252,136,214,325,326,1145,72, + 420,225,233,96,1910,1059,1226,95,97,98, + 99,100,334,138,135,137,161,793,2055,552, + 225,230,2509,219,492,222,224,295,140,167, + 1912,129,1728,144,147,150,153,160,426,510, + 2181,311,2627,1689,2631,2742,2749,1740,656,2601, + 432,20,2832,313,17,21,18,522,883,45, + 1760,535,618,401,577,2108,651,157,446,439, + 875,420,225,234,229,632,717,680,838,805, + 848,75,2150,282,1669,372,294,2317,2412,432, + 20,2318,1663,17,21,18,522,883,45,283, + 535,618,938,577,2651,651,20,1903,327,17, + 21,18,522,323,632,717,680,838,805,848, + 75,2861,282,2751,129,20,331,288,17,21, + 18,522,43,45,228,535,1278,2751,283,20, + 314,938,17,21,18,522,43,45,2466,535, + 618,2503,577,20,651,289,17,21,18,522, + 43,36,2135,632,717,1497,290,2850,940,1626, + 2528,90,20,2558,2850,17,21,18,522,883, + 45,2048,535,618,232,577,2217,651,188,2284, + 332,180,2839,1898,291,128,632,717,680,838, + 805,848,75,2217,282,187,2558,2918,401,766, + 2268,2049,476,940,1186,111,87,279,2839,2560, + 283,128,202,938,136,214,325,326,96,2320, + 1059,104,95,97,98,99,100,334,2839,368, + 226,3101,88,138,135,137,161,2210,159,552, + 225,230,1586,219,492,222,224,2917,140,167, + 341,2918,659,144,147,150,153,699,426,129, + 2879,688,2627,1689,2631,2742,2749,1740,2626,1431, + 20,129,1609,17,21,18,522,883,45,3092, + 535,618,2320,577,1811,651,72,1,368,1186, + 111,87,673,2766,632,717,680,838,805,848, + 75,2317,282,96,2317,1059,109,95,97,98, + 99,100,334,1905,261,855,2839,2575,283,196, + 688,938,2290,1458,20,275,510,17,21,18, + 522,883,45,284,535,618,315,577,110,651, + 242,2839,940,244,340,88,292,2767,632,717, + 680,838,805,848,75,1450,781,2478,2117,20, + 108,240,17,21,18,522,43,45,2296,535, + 618,2503,577,20,651,2562,17,21,18,522, + 43,36,145,632,717,680,838,805,848,94, + 2318,1697,2801,1891,20,2221,333,17,21,18, + 522,883,45,2041,535,618,2503,577,20,651, + 247,17,21,18,522,43,36,557,632,717, + 680,838,805,848,75,2362,784,20,129,998, + 17,21,18,522,883,45,72,535,618,105, + 577,2676,651,20,72,248,17,21,18,522, + 321,632,717,680,838,805,848,75,2569,1325, + 2751,2217,20,1613,241,17,21,18,522,883, + 45,2917,535,618,125,577,510,651,1966,429, + 2217,306,31,2217,1578,31,632,717,680,838, + 805,848,75,2751,92,20,1193,2898,17,21, + 18,522,43,45,1983,535,618,2751,577,20, + 651,662,17,21,18,522,43,39,2924,632, + 717,680,838,805,848,94,2829,129,940,305, + 2751,88,20,2567,659,17,21,18,522,883, + 45,1292,535,618,2217,577,189,651,2917,312, + 2217,124,1573,1233,211,1252,632,717,680,838, + 805,848,75,2751,86,20,688,285,17,21, + 18,522,883,45,25,535,618,24,577,2917, + 651,2217,112,297,309,303,304,310,2320,632, + 717,680,838,805,848,75,2751,85,20,19, + 2324,17,21,18,522,883,45,2407,535,618, + 2751,577,20,651,2570,17,21,18,522,43, + 38,2897,632,717,680,838,805,848,75,2751, + 84,20,129,1739,17,21,18,522,883,45, + 2836,535,618,2751,577,20,651,2882,17,21, + 18,522,43,37,2847,632,717,680,838,805, + 848,75,2751,83,20,2148,1829,17,21,18, + 522,883,45,276,535,618,2751,577,20,651, + 2657,17,21,18,522,43,35,2320,632,717, + 680,838,805,848,75,2751,82,20,231,277, + 17,21,18,522,883,45,2682,535,618,2751, + 577,20,651,2840,17,21,18,522,43,36, + 2316,632,717,680,838,805,848,75,2751,81, + 20,235,2782,17,21,18,522,883,45,74, + 535,618,2751,577,20,651,2837,17,21,18, + 522,43,48,2707,632,717,680,838,805,848, + 75,2751,80,20,129,519,17,21,18,522, + 883,45,2885,535,618,2751,577,20,651,2826, + 17,21,18,522,43,47,2320,632,717,680, + 838,805,848,75,2751,79,20,1491,2468,17, + 21,18,522,883,45,2553,535,618,2751,577, + 20,651,2317,17,21,18,522,43,46,2320, + 632,717,680,838,805,848,75,2751,78,20, + 1508,2207,17,21,18,522,883,45,2315,535, + 618,2701,577,20,651,2317,17,21,18,522, + 319,22,2320,632,717,680,838,805,848,75, + 2751,77,20,1509,2114,17,21,18,522,883, + 45,2118,535,618,2726,577,20,651,2317,17, + 21,18,522,41,243,2320,632,717,680,838, + 805,848,75,2751,76,20,1543,1930,17,21, + 18,522,883,45,2394,535,618,2776,577,20, + 651,2317,17,21,18,522,34,245,2320,632, + 717,680,838,805,848,75,2751,1358,20,1843, + 2854,17,21,18,522,883,45,2868,535,618, + 2776,577,20,651,2356,17,21,18,522,33, + 246,2320,632,717,680,838,805,848,75,2751, + 1391,20,23,2925,17,21,18,522,883,45, + 2917,535,618,339,577,2477,651,2935,1929,256, + 214,325,326,129,2902,632,717,680,838,805, + 848,75,2751,93,20,2856,2924,17,21,18, + 522,883,45,2917,535,618,337,577,2217,651, + 299,2951,2857,255,214,325,326,2469,632,717, + 680,838,805,848,75,2751,74,20,2954,2955, + 17,21,18,522,43,45,2917,535,618,335, + 577,2317,651,1895,429,181,306,256,214,325, + 326,632,717,680,838,805,848,94,1424,1661, + 2751,28,20,2958,938,17,21,18,522,43, + 45,2917,535,618,127,577,662,651,28,28, + 296,938,938,905,2935,213,632,717,680,838, + 805,848,94,2917,305,2751,123,20,2845,2024, + 17,21,18,522,43,45,2917,535,618,3125, + 577,2732,651,28,2839,940,938,338,88,2867, + 203,632,717,680,838,805,848,94,1483,2405, + 2751,1613,20,2606,2936,17,21,18,522,43, + 45,2917,535,618,3132,577,2941,651,2355,916, + 302,304,310,2320,386,1521,632,717,680,838, + 805,848,94,387,2017,2751,1907,20,2320,958, + 17,21,18,522,43,45,2946,535,618,2027, + 577,2924,651,220,368,1186,111,87,2953,2965, + 204,632,717,680,838,805,848,94,2056,96, + 275,1059,109,95,97,98,99,100,334,346, + 3262,3262,268,1127,1101,273,688,291,368,1186, + 111,87,210,2917,2917,1821,3134,3140,1952,267, + 205,1457,1614,96,110,1059,109,95,97,98, + 99,100,334,2924,136,214,325,326,129,659, + 688,147,368,1186,111,87,107,3262,3262,2405, + 2284,1613,180,146,135,137,161,96,110,1059, + 109,95,97,98,99,100,334,3262,3262,767, + 1912,688,3262,2320,688,519,940,1186,111,87, + 107,3262,182,72,2053,136,214,325,326,308, + 106,96,110,1059,102,95,97,98,99,100, + 334,3262,3262,1731,139,135,137,161,3262,3262, + 875,552,225,1006,108,220,492,222,984,141, + 167,1923,1773,510,145,148,151,154,2751,426, + 20,2317,3262,17,21,18,522,43,45,1929, + 535,618,210,577,369,651,129,940,1932,2821, + 88,1564,1614,2962,632,717,680,838,1599,278, + 1591,3262,552,225,230,1013,219,492,222,224, + 298,2848,659,275,255,214,325,326,2839,940, + 264,336,88,3262,3262,268,1127,1101,273,552, + 225,230,1516,219,492,222,224,3262,3262,2320, + 275,1929,265,28,1811,2320,938,699,401,469, + 274,510,268,1127,1101,273,280,2924,2751,1492, + 20,3262,2863,17,21,18,522,43,45,1889, + 535,618,2898,577,260,651,255,214,325,326, + 262,2320,1895,1212,632,717,680,1475,3262,552, + 225,488,2130,219,492,222,474,256,214,325, + 326,2917,2924,2751,3155,20,206,160,17,21, + 18,522,43,45,2915,535,618,195,577,3262, + 651,1424,2839,940,2917,126,88,3002,2917,632, + 1443,3018,2917,3262,3262,3157,1551,156,446,562, + 940,1186,111,87,2917,591,1373,3164,3262,3262, + 2917,692,413,3039,2320,96,3262,1059,103,95, + 97,98,99,100,334,281,501,605,940,1186, + 111,87,2917,2320,1929,3055,3262,648,940,1186, + 111,87,3262,96,2125,1059,120,95,97,98, + 99,100,334,96,3262,1059,115,95,97,98, + 99,100,334,691,940,1186,111,87,3262,255, + 214,325,326,734,940,1186,111,87,3262,96, + 3262,1059,1678,95,97,98,99,100,334,96, + 3262,1059,365,95,97,98,99,100,334,777, + 940,1186,111,87,2917,2320,3262,3064,3262,820, + 940,1186,111,87,1912,96,2171,1059,357,95, + 97,98,99,100,334,96,3262,1059,114,95, + 97,98,99,100,334,863,940,1186,111,87, + 2917,2320,3262,118,3262,906,940,1186,111,87, + 3262,96,2243,1059,364,95,97,98,99,100, + 334,96,3262,1059,363,95,97,98,99,100, + 334,949,940,1186,111,87,2917,2320,3262,3086, + 3262,992,940,1186,111,87,3262,96,2269,1059, + 361,95,97,98,99,100,334,96,3262,1059, + 356,95,97,98,99,100,334,1035,940,1186, + 111,87,3262,2320,3262,3262,3262,1078,940,1186, + 111,87,3262,96,2279,1059,355,95,97,98, + 99,100,334,96,3262,1059,353,95,97,98, + 99,100,334,1121,940,1186,111,87,3262,2320, + 3262,3262,3262,1164,940,1186,111,87,3262,96, + 2315,1059,349,95,97,98,99,100,334,96, + 3262,1059,122,95,97,98,99,100,334,1207, + 940,1186,111,87,3262,2320,3262,3262,3262,1250, + 940,1186,111,87,3262,96,2341,1059,362,95, + 97,98,99,100,334,96,3262,1059,360,95, + 97,98,99,100,334,1293,940,1186,111,87, + 3262,2320,3262,3262,3262,1336,940,1186,111,87, + 3262,96,2377,1059,359,95,97,98,99,100, + 334,96,3262,1059,354,95,97,98,99,100, + 334,1379,940,1186,111,87,3262,2320,3262,3262, + 3262,1422,940,1186,111,87,3262,96,2423,1059, + 352,95,97,98,99,100,334,96,3262,1059, + 351,95,97,98,99,100,334,1465,940,1186, + 111,87,3262,2320,3262,3262,3262,1508,940,1186, + 111,87,3262,96,2449,1059,348,95,97,98, + 99,100,334,96,3262,1059,347,95,97,98, + 99,100,334,1551,940,1186,111,87,3262,2320, + 3262,3262,3262,1594,940,1186,111,87,3262,96, + 2459,1059,345,95,97,98,99,100,334,96, + 3262,1059,121,95,97,98,99,100,334,1637, + 940,1186,111,87,3262,2320,3262,3262,3262,1680, + 940,1186,111,87,3262,96,2485,1059,358,95, + 97,98,99,100,334,96,3262,1059,350,95, + 97,98,99,100,334,1723,940,1186,111,87, + 3262,2320,3262,3262,3262,1766,940,1186,111,87, + 3262,96,2495,1059,346,95,97,98,99,100, + 334,96,3262,1059,344,95,97,98,99,100, + 334,1809,940,1186,111,87,3262,2320,3262,3262, + 3262,1852,940,1186,111,87,3262,96,2531,1059, + 343,95,97,98,99,100,334,96,3262,1059, + 342,95,97,98,99,100,334,2751,3262,20, + 401,766,17,21,18,522,43,45,3262,535, + 618,3262,577,3262,651,1916,766,3262,3262,2751, + 3262,20,3262,1455,17,21,18,522,43,45, + 3262,535,618,3262,577,3262,1344,3262,3262,3262, + 3262,552,225,230,3262,219,492,222,224,3262, + 3262,2914,940,1916,766,88,552,225,230,160, + 219,492,222,224,3262,116,3262,2398,3262,3262, + 2751,1950,20,3262,1668,17,21,18,522,43, + 45,3262,535,618,3262,577,3262,1351,3262,156, + 446,3262,3262,3262,552,225,230,591,219,492, + 222,224,136,214,325,326,136,214,325,326, + 3262,3262,1668,3262,3262,199,201,3262,3262,1951, + 3262,143,135,137,161,149,135,137,161,3262, + 1964,3262,3262,2751,3262,20,142,167,17,21, + 18,522,43,45,3262,535,618,3262,1377,3262, + 2751,3262,20,200,201,17,21,18,522,43, + 45,3262,535,618,2751,1384,20,3262,3262,17, + 21,18,522,43,45,3262,535,618,2751,1410, + 20,3262,2021,17,21,18,522,43,45,2076, + 535,618,2751,1417,20,3262,3262,17,21,18, + 522,43,45,3262,535,1285,2576,1912,20,3262, + 3262,17,21,18,522,43,44,136,214,325, + 326,1984,1861,3262,136,214,325,326,3262,3262, + 3262,3262,278,3262,3262,3262,152,135,137,161, + 3262,3262,3262,155,135,137,161,875,552,225, + 230,3262,220,492,222,224,28,3262,2751,938, + 20,2848,659,17,21,18,522,43,45,2751, + 1311,20,3262,275,17,21,18,522,43,45, + 3262,1318,3262,3262,3262,268,1127,1101,273,3262, + 2360,659,129,368,1811,3262,88,3262,3262,3262, + 3262,510,1889,3262,3262,3262,1068,129,368,3262, + 3262,88,129,368,129,368,88,3262,88,2037, + 659,1068,369,1811,260,198,1068,3262,1068,3262, + 129,368,1895,1212,88,129,368,3262,2894,88, + 198,3262,2183,659,1068,198,3262,198,3262,1068, + 1628,3262,198,260,762,3262,2388,659,2388,659, + 3262,1167,1212,198,3262,1628,3262,3262,198,1266, + 1628,3262,1628,3262,1299,198,1332,796,875,3262, + 2914,368,3262,3262,88,3262,3262,3262,1628,1811, + 275,1811,1365,1628,116,2916,940,1398,3262,88, + 796,3262,270,1127,1101,273,2063,1200,3262,366, + 3262,193,3262,688,3262,3262,3262,1476,2984,260, + 3262,260,2916,940,2110,659,88,1167,1212,2004, + 1212,2611,3262,2089,193,3262,366,3262,3262,2023, + 1723,2984,2916,940,3262,3262,88,3262,1621,3262, + 2916,940,3262,2135,88,3262,366,198,2916,940, + 3262,2161,88,3262,366,3262,2095,2916,940,2197, + 3262,88,366,2916,940,3262,3262,88,2207,2916, + 940,366,796,88,2233,3262,2167,366,3262,3262, + 2305,3262,3262,366,2203,2916,940,3262,3262,88, + 3262,3262,2239,3262,2916,940,2351,3262,88,366, + 3262,2275,3262,3262,3262,2387,194,2311,366,3262, + 2916,940,3262,2383,88,3262,2916,940,3262,3262, + 88,2413,2839,940,366,3109,88,2521,3262,2419, + 366,2839,940,3262,3117,88,1703,3262,2455,2839, + 940,3262,2955,88,3262,1704,3262,2839,940,3262, + 2982,88,3262,1974,2491,2839,940,3262,3149,88, + 2527,1978,2914,940,2839,940,88,3010,88,1982, + 2839,940,3262,3027,88,3262,116,3262,2000,2839, + 940,3262,3033,88,2022,2914,940,2839,940,88, + 3080,88,3262,2094,2914,940,129,940,88,116, + 88,2166,129,940,3262,3262,88,3262,116,3262, + 1633,129,940,129,940,88,1648,88,3262,3262, + 3262,3262,3262,3262,3262,1763,3262,1931,3262,3262, + 1994,3262,3262,3262,3262,3262,3262,3262,3262,3262, + 3262,3262,3262,3262,3262,3262,3262,3262,3262,3262, + 3262,3262,3262,2131,3262,3262,3262,3262,3262,3262, + 3262,3262,2347,3262,0,328,837,0,11,227, + 0,3270,1,0,1,3500,0,8,10,0, + 1656,119,0,180,20,0,1,3489,0,113, + 2099,0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -1018,311 +1019,311 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym public interface TermAction { public final static char termAction[] = {0, - 3258,6595,1,6593,1,1218,869,1,1,1, + 3262,6600,1,6598,1,1219,870,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,3267,3359,1027,1093,950, - 972,1159,456,1086,1029,1133,1971,1119,820,1867, - 726,1593,1079,1,1,1,1,1,1,1, - 1,1,1,1,1,182,1,1,1,1, + 1,1,1,1,1,3271,3363,1028,1094,951, + 973,1160,457,1087,1030,1134,1972,1120,821,1868, + 727,1594,1080,1,1,1,1,1,1,1, + 1,1,1,1,1,183,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,253,3265,8,3246,3246,3246,3246,3246,3246, - 3246,3246,3246,3246,3246,3246,3246,3246,3246,3246, - 3246,3246,3246,3246,3246,3246,3246,3246,3246,3246, - 3246,3246,3246,3246,3246,3246,3246,3246,3246,3246, - 3246,3246,3246,3246,3246,3246,3246,3246,3246,3246, - 3246,3246,3246,3246,3246,3246,3246,3246,1,3246, - 3246,3246,3246,3246,3246,3246,3246,3246,3246,3246, - 3246,3246,3246,3246,183,3246,3258,6595,1,6593, - 1,1218,869,1,1,1,1,1,1,1, + 1,254,3269,8,3247,3247,3247,3247,3247,3247, + 3247,3247,3247,3247,3247,3247,3247,3247,3247,3247, + 3247,3247,3247,3247,3247,3247,3247,3247,3247,3247, + 3247,3247,3247,3247,3247,3247,3247,3247,3247,3247, + 3247,3247,3247,3247,3247,3247,3247,3247,3247,3247, + 3247,3247,3247,3247,3247,3247,3247,3247,1,3247, + 3247,3247,3247,3247,3247,3247,3247,3247,3247,3247, + 3247,3247,3247,3247,184,3247,3262,6600,1,6598, + 1,1219,870,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,3267,3359,1027,1093,950,972,1159,456,1086, - 1029,1133,1971,1119,820,1867,726,1593,1079,1, + 1,3271,3363,1028,1094,951,973,1160,457,1087, + 1030,1134,1972,1120,821,1868,727,1594,1080,1, 1,1,1,1,1,1,1,1,1,1, - 1,286,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,3258,3265,3258, - 6595,1,6593,1,3268,869,1,1,1,1, + 1,287,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,3262,3269,3262, + 6600,1,6598,1,3272,870,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,3267,3359,1027,1093,950,972, - 1159,456,1086,1029,1133,1971,1119,820,1867,726, - 1593,1079,1,1,1,1,1,1,1,1, + 1,1,1,1,3271,3363,1028,1094,951,973, + 1160,457,1087,1030,1134,1972,1120,821,1868,727, + 1594,1080,1,1,1,1,1,1,1,1, 1,1,1,1,71,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 3258,6595,1,6593,1,3268,869,1,1,1, + 3262,6600,1,6598,1,3272,870,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,3267,3359,1027,1093,950, - 972,1159,456,1086,1029,1133,1971,1119,820,1867, - 726,1593,1079,1,1,1,1,1,1,1, - 1,1,1,1,1,130,1,1,1,1, + 1,1,1,1,1,3271,3363,1028,1094,951, + 973,1160,457,1087,1030,1134,1972,1120,821,1868, + 727,1594,1080,1,1,1,1,1,1,1, + 1,1,1,1,1,131,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,3258,3269,2851,3270,1188,1907,3258,1122,1089, - 1155,1419,1386,1353,3271,3272,3273,3274,986,381, - 3573,3574,3575,1320,920,573,3258,3496,3472,3473, - 3474,3586,449,3587,3421,3422,3420,3475,3423,3419, - 1,3484,677,3258,3472,3473,3474,3586,449,3587, - 3421,3422,3420,3475,3423,3419,3258,3426,3431,3430, - 3428,3429,3427,3432,3433,3425,3434,3435,3436,370, - 680,426,3258,6595,1,6593,1,3268,869,1, + 1,3262,3273,2852,3274,1189,1908,3262,1123,1090, + 1156,1420,1387,1354,3275,3276,3277,3278,987,382, + 3578,3579,3580,1321,921,574,3262,3501,3477,3478, + 3479,3591,450,3592,3426,3427,3425,3480,3428,3424, + 1,3489,678,3262,3477,3478,3479,3591,450,3592, + 3426,3427,3425,3480,3428,3424,3262,3431,3436,3435, + 3433,3434,3432,3437,3438,3430,3439,3440,3441,371, + 681,427,3262,6600,1,6598,1,3272,870,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,3267,3359,1027, - 1093,950,972,1159,456,1086,1029,1133,1971,1119, - 820,1867,726,1593,1079,3258,6595,1,6593,1, - 3268,869,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,3271,3363,1028, + 1094,951,973,1160,457,1087,1030,1134,1972,1120, + 821,1868,727,1594,1080,3262,6600,1,6598,1, + 3272,870,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 3267,3359,1027,1093,950,972,1159,456,1086,1029, - 1133,1971,1119,820,1867,726,1593,1079,3258,6595, - 1,6593,1,3268,869,1,1,1,1,1, + 3271,3363,1028,1094,951,973,1160,457,1087,1030, + 1134,1972,1120,821,1868,727,1594,1080,3262,6600, + 1,6598,1,3272,870,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,3267,3359,1027,1093,950,972,1159, - 456,1086,1029,1133,1971,1119,820,1867,726,1593, - 1079,3258,6595,1,6593,1,3268,869,1,1, + 1,1,1,3271,3363,1028,1094,951,973,1160, + 457,1087,1030,1134,1972,1120,821,1868,727,1594, + 1080,3262,6600,1,6598,1,3272,870,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,3267,3359,1027,1093, - 950,972,1159,456,1086,1029,1133,1971,1119,820, - 1867,726,1593,1079,3258,6595,1,6593,1,3268, - 869,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,3267, - 3359,1027,1093,950,972,1159,456,1086,1029,1133, - 1971,1119,820,1867,726,1593,1079,3258,6595,1, - 6593,1,3268,869,1,1,1,1,1,1, + 1,1,1,1,1,1,3271,3363,1028,1094, + 951,973,1160,457,1087,1030,1134,1972,1120,821, + 1868,727,1594,1080,3262,6600,1,6598,1,3272, + 870,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,3271, + 3363,1028,1094,951,973,1160,457,1087,1030,1134, + 1972,1120,821,1868,727,1594,1080,3262,6600,1, + 6598,1,3272,870,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,3267,3359,1027,1093,950,972,1159,456, - 1086,1029,1133,1971,1119,820,1867,726,1593,1079, - 3258,6595,1,6593,1,3268,869,1,1,1, + 1,1,3271,3363,1028,1094,951,973,1160,457, + 1087,1030,1134,1972,1120,821,1868,727,1594,1080, + 3262,6600,1,6598,1,3272,870,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,3267,3359,1027,1093,950, - 972,1159,456,1086,1029,1133,1971,1119,820,1867, - 726,1593,1079,3258,6595,1,6593,1,3268,869, + 1,1,1,1,1,3271,3363,1028,1094,951, + 973,1160,457,1087,1030,1134,1972,1120,821,1868, + 727,1594,1080,3262,6600,1,6598,1,3272,870, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,3267,3359, - 1027,1093,950,972,1159,456,1086,1029,1133,1971, - 1119,820,1867,726,1593,1079,3258,6595,1,6593, - 1,3268,869,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,3271,3363, + 1028,1094,951,973,1160,457,1087,1030,1134,1972, + 1120,821,1868,727,1594,1080,3262,6600,1,6598, + 1,3272,870,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,3267,3359,1027,1093,950,972,1159,456,1086, - 1029,1133,1971,1119,820,1867,726,1593,1079,3258, - 6595,1,6593,1,3268,869,1,1,1,1, + 1,3271,3363,1028,1094,951,973,1160,457,1087, + 1030,1134,1972,1120,821,1868,727,1594,1080,3262, + 6600,1,6598,1,3272,870,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,3267,3359,1027,1093,950,972, - 1159,456,1086,1029,1133,1971,1119,820,1867,726, - 1593,1079,3258,6595,1,6593,1,3268,869,1, + 1,1,1,1,3271,3363,1028,1094,951,973, + 1160,457,1087,1030,1134,1972,1120,821,1868,727, + 1594,1080,3262,6600,1,6598,1,3272,870,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,3267,3359,1027, - 1093,950,972,1159,456,1086,1029,1133,1971,1119, - 820,1867,726,1593,1079,3258,6595,1,6593,1, - 3268,869,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,3271,3363,1028, + 1094,951,973,1160,457,1087,1030,1134,1972,1120, + 821,1868,727,1594,1080,3262,6600,1,6598,1, + 3272,870,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 3267,3359,1027,1093,950,972,1159,456,1086,1029, - 1133,1971,1119,820,1867,726,1593,1079,3258,6595, - 1,6593,1,3268,869,1,1,1,1,1, + 3271,3363,1028,1094,951,973,1160,457,1087,1030, + 1134,1972,1120,821,1868,727,1594,1080,3262,6600, + 1,6598,1,3272,870,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,3267,3359,1027,1093,950,972,1159, - 456,1086,1029,1133,1971,1119,820,1867,726,1593, - 1079,3258,6595,1,6593,1,3268,869,1,1, + 1,1,1,3271,3363,1028,1094,951,973,1160, + 457,1087,1030,1134,1972,1120,821,1868,727,1594, + 1080,3262,6600,1,6598,1,3272,870,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,3267,3359,1027,1093, - 950,972,1159,456,1086,1029,1133,1971,1119,820, - 1867,726,1593,1079,3258,6595,1,6593,1,3268, - 869,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,3267, - 3359,1027,1093,950,972,1159,456,1086,1029,1133, - 1971,1119,820,1867,726,1593,1079,3258,6595,1, - 6593,1,3268,869,1,1,1,1,1,1, + 1,1,1,1,1,1,3271,3363,1028,1094, + 951,973,1160,457,1087,1030,1134,1972,1120,821, + 1868,727,1594,1080,3262,6600,1,6598,1,3272, + 870,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,3271, + 3363,1028,1094,951,973,1160,457,1087,1030,1134, + 1972,1120,821,1868,727,1594,1080,3262,6600,1, + 6598,1,3272,870,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,3267,3359,1027,1093,950,972,1159,456, - 1086,1029,1133,1971,1119,820,1867,726,1593,1079, - 3258,6595,1,6593,1,3268,869,1,1,1, + 1,1,3271,3363,1028,1094,951,973,1160,457, + 1087,1030,1134,1972,1120,821,1868,727,1594,1080, + 3262,6600,1,6598,1,3272,870,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,3267,3359,1027,1093,950, - 972,1159,456,1086,1029,1133,1971,1119,820,1867, - 726,1593,1079,3258,6595,1,6593,1,3268,869, + 1,1,1,1,1,3271,3363,1028,1094,951, + 973,1160,457,1087,1030,1134,1972,1120,821,1868, + 727,1594,1080,3262,6600,1,6598,1,3272,870, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,3267,3359, - 1027,1093,950,972,1159,456,1086,1029,1133,1971, - 1119,820,1867,726,1593,1079,3258,6595,1,6593, - 1,3268,869,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,3271,3363, + 1028,1094,951,973,1160,457,1087,1030,1134,1972, + 1120,821,1868,727,1594,1080,3262,6600,1,6598, + 1,3272,870,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,3267,3359,1027,1093,950,972,1159,456,1086, - 1029,1133,1971,1119,820,1867,726,1593,1079,3258, - 6595,1,6593,1,3268,869,1,1,1,1, + 1,3271,3363,1028,1094,951,973,1160,457,1087, + 1030,1134,1972,1120,821,1868,727,1594,1080,3262, + 6600,1,6598,1,3272,870,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,3267,3359,1027,1093,950,972, - 1159,456,1086,1029,1133,1971,1119,820,1867,726, - 1593,1079,3258,6595,1,6593,1,3268,869,1, + 1,1,1,1,3271,3363,1028,1094,951,973, + 1160,457,1087,1030,1134,1972,1120,821,1868,727, + 1594,1080,3262,6600,1,6598,1,3272,870,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,3267,3359,1027, - 1093,950,972,1159,456,1086,1029,1133,1971,1119, - 820,1867,726,1593,1079,3258,6595,1,6593,1, - 3268,869,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,3271,3363,1028, + 1094,951,973,1160,457,1087,1030,1134,1972,1120, + 821,1868,727,1594,1080,3262,6600,1,6598,1, + 3272,870,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 3267,3359,1027,1093,950,972,1159,456,1086,1029, - 1133,1971,1119,820,1867,726,1593,1079,3258,6595, - 1,6593,1,3268,869,1,1,1,1,1, + 3271,3363,1028,1094,951,973,1160,457,1087,1030, + 1134,1972,1120,821,1868,727,1594,1080,3262,6600, + 1,6598,1,3272,870,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,3267,3359,1027,1093,950,972,1159, - 456,1086,1029,1133,1971,1119,820,1867,726,1593, - 1079,3258,6595,1,6593,1,3268,869,1,1, + 1,1,1,3271,3363,1028,1094,951,973,1160, + 457,1087,1030,1134,1972,1120,821,1868,727,1594, + 1080,3262,6600,1,6598,1,3272,870,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,3267,3359,1027,1093, - 950,972,1159,456,1086,1029,1133,1971,1119,820, - 1867,726,1593,1079,3258,6595,1,6593,1,3268, - 869,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,3267, - 3359,1027,1093,950,972,1159,456,1086,1029,1133, - 1971,1119,820,1867,726,1593,1079,3258,6595,1, - 6593,1,3268,869,1,1,1,1,1,1, + 1,1,1,1,1,1,3271,3363,1028,1094, + 951,973,1160,457,1087,1030,1134,1972,1120,821, + 1868,727,1594,1080,3262,6600,1,6598,1,3272, + 870,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,3271, + 3363,1028,1094,951,973,1160,457,1087,1030,1134, + 1972,1120,821,1868,727,1594,1080,3262,6600,1, + 6598,1,3272,870,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,3267,3359,1027,1093,950,972,1159,456, - 1086,1029,1133,1971,1119,820,1867,726,1593,1079, - 3258,6595,1,6593,1,3268,869,1,1,1, + 1,1,3271,3363,1028,1094,951,973,1160,457, + 1087,1030,1134,1972,1120,821,1868,727,1594,1080, + 3262,6600,1,6598,1,3272,870,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,3267,3359,1027,1093,950, - 972,1159,456,1086,1029,1133,1971,1119,820,1867, - 726,1593,1079,3258,6595,1,6593,1,3268,869, + 1,1,1,1,1,3271,3363,1028,1094,951, + 973,1160,457,1087,1030,1134,1972,1120,821,1868, + 727,1594,1080,3262,6600,1,6598,1,3272,870, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,3267,3359, - 1027,1093,950,972,1159,456,1086,1029,1133,1971, - 1119,820,1867,726,1593,1079,3258,6595,1,6593, - 1,3268,869,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,3271,3363, + 1028,1094,951,973,1160,457,1087,1030,1134,1972, + 1120,821,1868,727,1594,1080,3262,6600,1,6598, + 1,3272,870,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,3267,3359,1027,1093,950,972,1159,456,1086, - 1029,1133,1971,1119,820,1867,726,1593,1079,3258, - 6595,1,6593,1,3268,869,1,1,1,1, + 1,3271,3363,1028,1094,951,973,1160,457,1087, + 1030,1134,1972,1120,821,1868,727,1594,1080,3262, + 6600,1,6598,1,3272,870,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,3267,3359,1027,1093,950,972, - 1159,456,1086,1029,1133,1971,1119,820,1867,726, - 1593,1079,3258,6595,1,6593,1,3268,869,1, + 1,1,1,1,3271,3363,1028,1094,951,973, + 1160,457,1087,1030,1134,1972,1120,821,1868,727, + 1594,1080,3262,6600,1,6598,1,3272,870,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,3267,3359,1027, - 1093,950,972,1159,456,1086,1029,1133,1971,1119, - 820,1867,726,1593,1079,3258,6595,1,6593,1, - 3268,869,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,3271,3363,1028, + 1094,951,973,1160,457,1087,1030,1134,1972,1120, + 821,1868,727,1594,1080,3262,6600,1,6598,1, + 3272,870,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 3267,3359,1027,1093,950,972,1159,456,1086,1029, - 1133,1971,1119,820,1867,726,1593,1079,3258,6595, - 1,6593,1,3268,869,1,1,1,1,1, + 3271,3363,1028,1094,951,973,1160,457,1087,1030, + 1134,1972,1120,821,1868,727,1594,1080,3262,6600, + 1,6598,1,3272,870,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,3267,3359,1027,1093,950,972,1159, - 456,1086,1029,1133,1971,1119,820,1867,726,1593, - 1079,3258,6595,1,6593,1,3268,869,1,1, + 1,1,1,3271,3363,1028,1094,951,973,1160, + 457,1087,1030,1134,1972,1120,821,1868,727,1594, + 1080,3262,6600,1,6598,1,3272,870,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,3267,3359,1027,1093, - 950,972,1159,456,1086,1029,1133,1971,1119,820, - 1867,726,1593,1079,3258,1,1,1,1,3268, - 3258,3269,55,3270,3258,3269,738,3270,3258,235, - 750,253,3484,677,223,1,3484,677,3258,3267, - 3564,3258,262,3484,1837,3258,1,560,3258,59, - 3258,1,3252,1837,223,3258,3264,1,1,1, - 1,1,1,1,1,1,1,1,1,131, + 1,1,1,1,1,1,3271,3363,1028,1094, + 951,973,1160,457,1087,1030,1134,1972,1120,821, + 1868,727,1594,1080,3262,1,1,1,1,3272, + 3262,3273,55,3274,3262,3273,739,3274,3262,236, + 751,254,3489,678,224,1,3489,678,3262,3271, + 3569,3262,263,3489,1838,3262,1,561,3262,59, + 3262,1,3256,1838,224,3262,3268,1,1,1, + 1,1,1,1,1,1,1,1,1,132, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,3258,1,1,1,1, - 3268,3472,3473,3474,3586,449,3587,801,592,2751, - 223,300,236,1,223,2780,801,223,3264,1539, - 3267,3564,3472,3473,3474,3586,449,3587,3421,3422, - 3420,3475,3423,3419,3263,592,2751,223,1,1, + 1,1,1,1,1,3262,1,1,1,1, + 3272,3477,3478,3479,3591,450,3592,802,593,2752, + 224,301,237,1,224,2781,802,224,3268,1540, + 3271,3569,3477,3478,3479,3591,450,3592,3426,3427, + 3425,3480,3428,3424,3267,593,2752,224,1,1, 1,1,1,1,1,1,1,1,1,1, - 132,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,3258,1,801,1, - 43,191,185,6590,11,6590,3237,60,184,6591, - 3258,6591,299,223,229,113,3263,223,206,6594, - 232,6594,3454,3472,3473,3474,3586,449,3587,3421, - 3422,3420,3475,3423,3419,133,3258,3258,406,1, + 133,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,3262,1,802,1, + 43,192,186,6595,11,6595,3238,60,185,6596, + 3262,6596,300,224,230,113,3267,224,207,6599, + 233,6599,3459,3477,3478,3479,3591,450,3592,3426, + 3427,3425,3480,3428,3424,134,3262,3262,407,1, 1,1,1,1,1,1,1,1,1,1, - 1,3258,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,49,191,3258, - 1,1287,1,62,190,1339,69,61,3472,3473, - 3474,3586,449,3587,3421,3422,3420,3475,3423,3419, - 2737,2723,2709,2692,63,3454,157,1306,1273,1240, - 1207,1174,1108,1141,1075,1042,1009,249,3255,222, - 327,642,1,1,1,1,1,1,1,1, - 1,1,1,1,3233,1,1,1,1,1, + 1,3262,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,49,192,3262, + 1,1288,1,62,191,1340,69,61,3477,3478, + 3479,3591,450,3592,3426,3427,3425,3480,3428,3424, + 2738,2724,2710,2693,63,3459,158,1307,1274,1241, + 1208,1175,1109,1142,1076,1043,1010,250,3259,223, + 328,643,1,1,1,1,1,1,1,1, + 1,1,1,1,3234,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 3258,190,3258,1,427,1,3258,191,1254,1221, - 1,1,1,1,1,1,2737,2723,2709,2692, - 2737,2723,2709,2692,801,3234,51,606,3454,65, - 1287,639,1,392,677,3270,3258,3269,2556,3270, - 3258,3258,2629,2578,923,1,1,1,1,1, - 1,1,1,1,1,1,1,3258,1,1, + 3262,191,3262,1,428,1,3262,192,1255,1222, + 1,1,1,1,1,1,2738,2724,2710,2693, + 2738,2724,2710,2693,802,3235,51,607,3459,65, + 1288,640,1,393,678,3274,3262,3273,2557,3274, + 3262,3262,2630,2579,924,1,1,1,1,1, + 1,1,1,1,1,1,1,3262,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,3258,191,3472,3473,3474,3586,449, - 3587,3421,3422,3420,3475,3423,3419,67,3426,3431, - 3430,3428,3429,3427,3432,3433,3425,3434,3435,3436, - 370,680,426,3258,3269,3258,3270,1254,1221,1, - 3269,2851,3270,850,3262,73,1122,1089,1155,1419, - 1386,1353,3271,3272,3273,3274,986,381,3573,3574, - 3575,1320,920,573,50,3258,3258,1,1287,3258, - 3264,3262,3240,3258,3264,707,3472,3473,3474,3586, - 449,3587,3421,3422,3420,3475,3423,3419,871,3426, - 3431,3430,3428,3429,3427,3432,3433,3425,3434,3435, - 3436,370,680,426,265,248,2780,1952,1,1, - 3243,3258,3269,2851,3270,885,3262,3261,1122,1089, - 1155,1419,1386,1353,3271,3272,3273,3274,986,381, - 3573,3574,3575,1320,920,573,1642,1,3263,3265, - 1817,1835,3263,58,3261,1254,1221,129,3472,3473, - 3474,3586,449,3587,208,3269,3258,3270,2939,801, - 1405,1,3269,2851,3270,1188,29,6552,1122,1089, - 1155,1419,1386,1353,3271,3272,3273,3274,986,381, - 3573,3574,3575,1320,920,573,3258,3258,3516,3261, - 3472,3473,3474,3586,449,3587,3421,3422,3420,3475, - 3423,3419,3258,3426,3431,3430,3428,3429,3427,3432, - 3433,3425,3434,3435,3436,52,3516,54,68,592, - 2751,3258,2828,2817,2828,2817,64,3258,3269,2851, - 3270,620,3262,29,1122,1089,1155,1419,1386,1353, - 3271,3272,3273,3274,986,381,3573,3574,3575,1320, - 920,573,3258,3269,2851,3270,1188,3262,220,1122, - 1089,1155,1419,1386,1353,3271,3272,3273,3274,986, - 381,3573,3574,3575,1320,920,573,3258,3269,2851, - 3270,1188,3258,6552,1122,1089,1155,1419,1386,1353, - 3271,3272,3273,3274,986,381,3573,3574,3575,1320, - 920,573,53,207,940,3261,940,1,1952,2828, - 2817,3258,3264,801,2629,2578,1,1111,3258,3258, - 3258,3165,869,3258,1243,3258,3269,2851,3270,1188, - 3261,6552,1122,1089,1155,1419,1386,1353,3271,3272, - 3273,3274,986,381,3573,3574,3575,1320,920,573, - 1,3269,2851,3270,1188,211,6552,1122,1089,1155, - 1419,1386,1353,3271,3272,3273,3274,986,381,3573, - 3574,3575,1320,920,573,3258,3269,2851,3270,1188, - 3263,6552,1122,1089,1155,1419,1386,1353,3271,3272, - 3273,3274,986,381,3573,3574,3575,1320,920,573, - 3258,3269,2866,3270,1188,3258,3258,1122,1089,1155, - 1419,1386,1353,3271,3272,3273,3274,986,381,3573, - 3574,3575,1320,920,573,3258,3269,2871,3270,1188, - 1504,3258,1122,1089,1155,1419,1386,1353,3271,3272, - 3273,3274,986,381,3573,3574,3575,1320,920,573, - 3258,3269,2873,3270,1188,3258,3258,1122,1089,1155, - 1419,1386,1353,3271,3272,3273,3274,986,381,3573, - 3574,3575,1320,920,573,3258,3269,2889,3270,1188, - 681,3258,1122,1089,1155,1419,1386,1353,3271,3272, - 3273,3274,986,381,3573,3574,3575,1320,920,573, - 3258,3269,2851,3270,1188,1764,3258,1122,1089,1155, - 1419,1386,1353,3271,3272,3273,3274,986,381,3573, - 3574,3575,1320,920,573,3258,3269,2894,3270,1188, - 1988,256,1122,1089,1155,1419,1386,1353,3271,3272, - 3273,3274,986,381,3573,3574,3575,1320,920,573, - 1,3269,2851,3270,1188,1471,3258,1122,1089,1155, - 1419,1386,1353,3271,3272,3273,3274,986,381,3573, - 3574,3575,1320,920,573,20,179,3249,229,3249, - 3249,32,3258,636,233,3258,3258,3171,1,3258, - 3258,3284,3285,3268,250,1462,3258,1,3180,1, - 3249,253,730,57,91,70,251,268,3484,1837, - 3258,253,252,3267,1655,3268,72,56,179,179, - 179,179,179,179,179,179,179,179,179,179, - 3249,270,3258,675,89,3267,1006,1,1,1, - 1,1,1,268,292,2780,271,253,3249,3472, - 3473,3474,3586,449,3587,3472,3473,3474,3586,449, - 3587,962,801,1,3258,1,3258,1,117,3268, - 3264,3268,91,3258,66,959,3516,285,3266,592, - 2751,447,907,2556,30,207,801,1574,117,3267, - 30,3267,3624,592,2751,3258,606,3182,801,1644, - 323,801,201,321,319,1438,6552,42,1907,6552, - 6552,3258,1060,6552,3258,189,189,6552,1,189, - 1,185,184,3258,1487,206,3258,3258,3258,3258, - 3258,3258,3258,3258,3258,2612,117,3258,3263,3258, - 3258,3258,3258,3258,3258,3265,3515,3258,3258,907, - 3258,3258,3258,3258,3258,3287,6178,3258,3258,3258, - 3258,557,3258,3258,3258,3258,3258,3258,3258,3258, - 3258,3258,3258,3258,3258,3258,1609,3258,3258,3258, - 3258,3258,3258,3258,3258,3258,3258,3258,3258,747, - 3258,3258,3270,3258,3269 + 1,1,1,3262,192,3477,3478,3479,3591,450, + 3592,3426,3427,3425,3480,3428,3424,67,3431,3436, + 3435,3433,3434,3432,3437,3438,3430,3439,3440,3441, + 371,681,427,3262,3273,3262,3274,1255,1222,1, + 3273,2852,3274,851,3266,73,1123,1090,1156,1420, + 1387,1354,3275,3276,3277,3278,987,382,3578,3579, + 3580,1321,921,574,50,3262,3262,1,1288,3262, + 3268,3266,3241,3262,3268,708,3477,3478,3479,3591, + 450,3592,3426,3427,3425,3480,3428,3424,872,3431, + 3436,3435,3433,3434,3432,3437,3438,3430,3439,3440, + 3441,371,681,427,266,249,2781,1953,1,1, + 3244,3262,3273,2852,3274,886,3266,3265,1123,1090, + 1156,1420,1387,1354,3275,3276,3277,3278,987,382, + 3578,3579,3580,1321,921,574,1643,1,3267,3269, + 1818,1836,3267,58,3265,1255,1222,130,3477,3478, + 3479,3591,450,3592,209,3273,3262,3274,2940,802, + 1406,1,3273,2852,3274,1189,29,6557,1123,1090, + 1156,1420,1387,1354,3275,3276,3277,3278,987,382, + 3578,3579,3580,1321,921,574,3262,3262,3521,3265, + 3477,3478,3479,3591,450,3592,3426,3427,3425,3480, + 3428,3424,3262,3431,3436,3435,3433,3434,3432,3437, + 3438,3430,3439,3440,3441,52,3521,54,68,593, + 2752,3262,2829,2818,2829,2818,64,3262,3273,2852, + 3274,621,3266,29,1123,1090,1156,1420,1387,1354, + 3275,3276,3277,3278,987,382,3578,3579,3580,1321, + 921,574,3262,3273,2852,3274,1189,3266,221,1123, + 1090,1156,1420,1387,1354,3275,3276,3277,3278,987, + 382,3578,3579,3580,1321,921,574,3262,3273,2852, + 3274,1189,3262,6557,1123,1090,1156,1420,1387,1354, + 3275,3276,3277,3278,987,382,3578,3579,3580,1321, + 921,574,53,208,941,3265,941,1,1953,2829, + 2818,3262,3268,802,2630,2579,1,1112,3262,3262, + 3262,3166,870,3262,1244,3262,3273,2852,3274,1189, + 3265,6557,1123,1090,1156,1420,1387,1354,3275,3276, + 3277,3278,987,382,3578,3579,3580,1321,921,574, + 1,3273,2852,3274,1189,212,6557,1123,1090,1156, + 1420,1387,1354,3275,3276,3277,3278,987,382,3578, + 3579,3580,1321,921,574,3262,3273,2852,3274,1189, + 3267,6557,1123,1090,1156,1420,1387,1354,3275,3276, + 3277,3278,987,382,3578,3579,3580,1321,921,574, + 3262,3273,2867,3274,1189,3262,3262,1123,1090,1156, + 1420,1387,1354,3275,3276,3277,3278,987,382,3578, + 3579,3580,1321,921,574,3262,3273,2872,3274,1189, + 1505,3262,1123,1090,1156,1420,1387,1354,3275,3276, + 3277,3278,987,382,3578,3579,3580,1321,921,574, + 3262,3273,2874,3274,1189,3262,3262,1123,1090,1156, + 1420,1387,1354,3275,3276,3277,3278,987,382,3578, + 3579,3580,1321,921,574,3262,3273,2890,3274,1189, + 682,3262,1123,1090,1156,1420,1387,1354,3275,3276, + 3277,3278,987,382,3578,3579,3580,1321,921,574, + 3262,3273,2852,3274,1189,1765,3262,1123,1090,1156, + 1420,1387,1354,3275,3276,3277,3278,987,382,3578, + 3579,3580,1321,921,574,3262,3273,2895,3274,1189, + 1989,257,1123,1090,1156,1420,1387,1354,3275,3276, + 3277,3278,987,382,3578,3579,3580,1321,921,574, + 1,3273,2852,3274,1189,1472,3262,1123,1090,1156, + 1420,1387,1354,3275,3276,3277,3278,987,382,3578, + 3579,3580,1321,921,574,20,180,3253,230,3253, + 3253,32,3262,637,234,3262,119,3172,1,3262, + 3262,3288,3289,3272,251,1463,3262,1,3181,1, + 3253,254,731,57,91,70,252,269,3489,1838, + 3262,254,253,3271,3250,3272,72,56,180,180, + 180,180,180,180,180,180,180,180,180,180, + 3253,271,3262,676,89,3271,1007,1,1,1, + 1,1,1,269,293,2781,272,254,3253,3477, + 3478,3479,3591,450,3592,3477,3478,3479,3591,450, + 3592,963,802,1,3262,1,3262,1,117,3272, + 3268,3272,91,3262,66,960,3521,286,3270,593, + 2752,448,908,2557,30,208,802,1575,117,3271, + 30,3271,3629,593,2752,3262,607,3183,802,1645, + 324,802,202,322,320,1439,6557,42,1908,6557, + 6557,3262,1061,6557,3262,190,190,6557,1,190, + 1,186,185,3262,1488,207,3262,3262,3262,3262, + 3262,3262,3262,3262,3262,2613,117,3262,3267,3262, + 3262,3262,3262,3262,3262,3269,3520,3262,3262,908, + 3262,3262,3262,3262,3262,3291,6183,3262,3262,3262, + 3262,558,3262,3262,3262,3262,3262,3262,3262,3262, + 3262,3262,3262,3262,3262,3262,1610,3262,3262,3262, + 3262,3262,3262,3262,3262,3262,3262,3262,3262,748, + 3262,3262,3274,3262,3273 }; }; public final static char termAction[] = TermAction.termAction; @@ -1330,45 +1331,45 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym public interface Asb { public final static char asb[] = {0, - 525,5,58,398,525,60,355,30,7,42, - 353,42,353,353,42,353,42,400,602,60, - 46,559,355,400,181,186,185,520,107,602, - 519,359,301,353,104,104,353,104,60,602, - 483,602,607,400,60,268,607,198,60,360, + 523,5,58,398,523,60,355,30,7,42, + 353,42,353,353,42,353,42,400,600,60, + 46,557,355,400,181,186,185,518,107,600, + 517,359,301,353,104,104,353,104,60,600, + 481,600,605,400,60,268,605,198,60,360, 323,380,84,84,84,84,84,84,84,84, 301,84,84,84,141,158,163,161,169,165, - 172,171,174,173,175,355,222,355,255,602, - 472,60,609,326,400,58,271,323,423,147, - 301,609,252,355,84,107,519,359,182,82, - 82,82,82,182,182,104,559,559,559,64, - 559,559,182,359,192,84,192,380,483,483, - 566,380,380,380,380,380,104,104,641,84, + 172,171,174,173,175,355,222,355,255,600, + 470,60,607,326,400,58,271,323,423,147, + 301,607,252,355,84,107,517,359,182,82, + 82,82,82,182,182,104,557,557,557,64, + 557,557,182,359,192,84,192,380,481,481, + 564,380,380,380,380,380,104,104,639,84, 84,84,84,84,84,84,84,84,84,84, 84,84,84,84,84,84,84,84,84,355, - 222,255,255,472,472,483,478,482,60,423, + 222,255,255,470,470,481,476,480,60,423, 323,300,268,84,84,84,84,84,84,84, - 84,84,84,84,482,252,196,357,182,84, - 182,182,182,182,378,378,84,430,84,84, - 360,64,192,64,178,432,198,602,604,481, - 480,483,483,483,483,483,483,323,161,161, + 84,84,84,84,480,252,196,357,182,84, + 182,182,182,182,378,378,84,358,84,84, + 360,64,192,64,178,430,198,600,602,479, + 478,481,481,481,481,481,481,323,161,161, 158,158,165,165,163,163,163,163,171,169, 173,172,192,174,222,252,261,222,255,257, - 561,257,472,423,604,602,609,84,84,323, - 301,62,196,82,82,182,82,182,483,559, - 483,483,359,64,84,566,483,572,607,486, - 486,486,486,355,84,222,263,257,252,84, - 104,423,472,572,478,323,323,257,2,82, + 559,257,470,423,602,600,607,84,84,323, + 301,62,196,82,82,182,82,182,481,557, + 481,481,359,64,84,564,481,570,605,484, + 484,484,484,355,84,222,263,257,252,84, + 104,423,470,570,476,323,323,257,2,82, 182,82,182,82,182,82,64,84,64,64, - 483,609,252,181,84,180,252,472,252,194, - 523,104,84,1,640,182,82,640,182,82, - 82,182,641,182,483,358,483,263,84,141, - 198,323,104,84,64,483,640,640,182,64, - 483,640,640,182,640,182,82,483,641,182, - 64,323,64,64,483,64,483,640,64,64, - 483,64,483,640,64,483,640,640,182,64, - 483,64,64,64,483,64,64,64,483,64, - 64,483,64,483,640,64,64,64,64,64, - 64,483,64 + 481,607,252,181,84,180,252,470,252,194, + 521,104,84,1,638,182,82,638,182,82, + 82,182,639,182,481,358,481,263,84,141, + 198,323,104,84,64,481,638,638,182,64, + 481,638,638,182,638,182,82,481,639,182, + 64,323,64,64,481,64,481,638,64,64, + 481,64,481,638,64,481,638,638,182,64, + 481,64,64,64,481,64,64,64,481,64, + 64,481,64,481,638,64,64,64,64,64, + 64,481,64 }; }; public final static char asb[] = Asb.asb; @@ -1418,31 +1419,31 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym 18,19,20,21,22,23,24,4,2,1, 3,68,69,70,64,56,61,59,60,58, 57,62,63,65,66,67,54,51,49,50, - 53,52,43,44,45,47,46,48,0,28, - 0,49,54,53,52,51,50,80,94,10, - 11,9,7,8,81,82,76,77,83,84, - 85,86,88,89,90,91,92,95,96,75, - 97,98,99,100,101,102,103,104,105,106, - 25,43,44,45,46,47,48,4,1,2, - 55,71,73,5,0,9,4,7,8,81, - 82,76,77,83,84,85,86,88,89,90, - 91,92,95,96,74,97,98,99,100,101, - 102,103,104,105,106,78,73,72,6,5, - 71,25,75,0,87,50,56,43,57,68, - 51,58,52,59,60,53,44,61,62,49, - 69,54,70,63,64,45,65,66,67,1, - 3,4,46,47,48,25,5,26,2,0, - 5,71,72,75,0,5,73,4,2,55, - 0,50,56,43,57,68,51,58,52,59, - 60,53,44,61,62,49,69,54,70,63, - 64,45,65,66,67,1,3,46,47,48, - 79,4,0,4,2,55,73,5,50,56, - 43,57,68,51,58,52,59,60,53,44, - 61,62,49,69,54,70,63,64,45,65, - 66,67,1,3,46,47,48,79,0,27, - 5,73,12,13,14,15,16,1,3,2, - 10,11,9,4,7,8,17,18,19,20, - 21,22,23,24,0 + 53,52,43,44,45,47,46,48,0,49, + 54,53,52,51,50,80,94,10,11,9, + 7,8,81,82,76,77,83,84,85,86, + 88,89,90,91,92,95,96,75,97,98, + 99,100,101,102,103,104,105,106,25,43, + 44,45,46,47,48,4,1,2,55,71, + 73,5,0,9,4,7,8,81,82,76, + 77,83,84,85,86,88,89,90,91,92, + 95,96,74,97,98,99,100,101,102,103, + 104,105,106,78,73,72,6,5,71,25, + 75,0,87,50,56,43,57,68,51,58, + 52,59,60,53,44,61,62,49,69,54, + 70,63,64,45,65,66,67,1,3,4, + 46,47,48,25,5,26,2,0,5,71, + 72,75,0,5,73,4,2,55,0,50, + 56,43,57,68,51,58,52,59,60,53, + 44,61,62,49,69,54,70,63,64,45, + 65,66,67,1,3,46,47,48,79,4, + 0,4,2,55,73,5,50,56,43,57, + 68,51,58,52,59,60,53,44,61,62, + 49,69,54,70,63,64,45,65,66,67, + 1,3,46,47,48,79,0,27,5,73, + 12,13,14,15,16,1,3,2,10,11, + 9,4,7,8,17,18,19,20,21,22, + 23,24,0 }; }; public final static byte asr[] = Asr.asr; @@ -1650,22 +1651,22 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym public interface ScopeState { public final static char scopeState[] = {0, - 371,0,431,0,2901,2983,2878,0,1012,2530, - 2520,2494,2484,2458,2448,2422,2412,2386,2376,2350, - 2340,2314,2304,2278,2268,2242,2232,2206,2196,2170, - 2160,2134,2124,2098,2088,2062,2052,2026,2016,1988, - 1730,1764,681,1696,456,766,1662,0,747,557, - 1842,1542,1508,1507,1490,518,2765,639,0,1419, - 1386,1353,1320,920,573,885,2765,1817,606,1907, - 2556,1952,2737,2723,2709,2692,2629,2578,2828,2817, - 2751,592,1287,1254,1221,1188,850,1155,620,1122, - 1089,986,381,1644,747,1609,1574,1539,1504,1471, - 1438,1405,1372,939,1339,1306,1273,1240,1207,1174, - 1141,1108,1075,1042,1009,904,367,972,871,639, - 801,836,557,518,0,1126,1100,551,491,368, - 2897,1837,2780,1810,1627,0,449,0,499,428, - 368,2766,1759,2612,2574,1837,2559,1810,447,677, - 1897,0,1739,367,658,428,0 + 372,0,432,0,2902,2984,2879,0,1013,2531, + 2521,2495,2485,2459,2449,2423,2413,2387,2377,2351, + 2341,2315,2305,2279,2269,2243,2233,2207,2197,2171, + 2161,2135,2125,2099,2089,2063,2053,2027,2017,1989, + 1731,1765,682,1697,457,767,1663,0,748,558, + 1843,1543,1509,1508,1491,519,2766,640,0,1420, + 1387,1354,1321,921,574,886,2766,1818,607,1908, + 2557,1953,2738,2724,2710,2693,2630,2579,2829,2818, + 2752,593,1288,1255,1222,1189,851,1156,621,1123, + 1090,987,382,1645,748,1610,1575,1540,1505,1472, + 1439,1406,1373,940,1340,1307,1274,1241,1208,1175, + 1142,1109,1076,1043,1010,905,368,973,872,640, + 802,837,558,519,0,1127,1101,552,492,369, + 2898,1838,2781,1811,1628,0,450,0,500,429, + 369,2767,1760,2613,2575,1838,2560,1811,448,678, + 1898,0,1740,368,659,429,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -1941,18 +1942,18 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym public final static int NUM_STATES = 383, NT_OFFSET = 107, - LA_STATE_OFFSET = 3624, + LA_STATE_OFFSET = 3629, MAX_LA = 2147483647, - NUM_RULES = 366, + NUM_RULES = 367, NUM_NONTERMINALS = 130, NUM_SYMBOLS = 237, SEGMENT_SIZE = 8192, - START_STATE = 1522, + START_STATE = 1523, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 87, EOLT_SYMBOL = 87, - ACCEPT_ACTION = 3233, - ERROR_ACTION = 3258; + ACCEPT_ACTION = 3234, + ERROR_ACTION = 3262; public final static boolean BACKTRACK = true; diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParsersym.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParsersym.java index a6ac488f3af..98551096452 100644 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParsersym.java +++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParsersym.java @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 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 diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCSizeofExpressionParser.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCSizeofExpressionParser.java index 31f2e5b444e..e8703591029 100644 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCSizeofExpressionParser.java +++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCSizeofExpressionParser.java @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 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 @@ -686,859 +686,865 @@ public UPCSizeofExpressionParser(ITokenStream stream, Map<String,String> propert // // Rule 117: iteration_statement ::= do statement while ( expression ) ; // - case 117: { action. consumeStatementDoLoop(); break; + case 117: { action. consumeStatementDoLoop(true); break; } // - // Rule 118: iteration_statement ::= while ( expression ) statement + // Rule 118: iteration_statement ::= do statement // - case 118: { action. consumeStatementWhileLoop(); break; + case 118: { action. consumeStatementDoLoop(false); break; } // - // Rule 119: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement + // Rule 119: iteration_statement ::= while ( expression ) statement // - case 119: { action. consumeStatementForLoop(); break; + case 119: { action. consumeStatementWhileLoop(); break; } // - // Rule 120: iteration_statement ::= for ( declaration expression_opt ; expression_opt ) statement + // Rule 120: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement // case 120: { action. consumeStatementForLoop(); break; } // - // Rule 121: jump_statement ::= goto identifier_token ; + // Rule 121: iteration_statement ::= for ( declaration expression_opt ; expression_opt ) statement // - case 121: { action. consumeStatementGoto(); break; + case 121: { action. consumeStatementForLoop(); break; } // - // Rule 122: jump_statement ::= continue ; + // Rule 122: jump_statement ::= goto identifier_token ; // - case 122: { action. consumeStatementContinue(); break; + case 122: { action. consumeStatementGoto(); break; } // - // Rule 123: jump_statement ::= break ; + // Rule 123: jump_statement ::= continue ; // - case 123: { action. consumeStatementBreak(); break; + case 123: { action. consumeStatementContinue(); break; } // - // Rule 124: jump_statement ::= return ; + // Rule 124: jump_statement ::= break ; // - case 124: { action. consumeStatementReturn(false); break; + case 124: { action. consumeStatementBreak(); break; } // - // Rule 125: jump_statement ::= return expression ; + // Rule 125: jump_statement ::= return ; // - case 125: { action. consumeStatementReturn(true); break; + case 125: { action. consumeStatementReturn(false); break; } // - // Rule 126: declaration ::= declaration_specifiers ; + // Rule 126: jump_statement ::= return expression ; // - case 126: { action. consumeDeclarationSimple(false); break; + case 126: { action. consumeStatementReturn(true); break; } // - // Rule 127: declaration ::= declaration_specifiers <openscope-ast> init_declarator_list ; + // Rule 127: declaration ::= declaration_specifiers ; // - case 127: { action. consumeDeclarationSimple(true); break; + case 127: { action. consumeDeclarationSimple(false); break; } // - // Rule 128: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers + // Rule 128: declaration ::= declaration_specifiers <openscope-ast> init_declarator_list ; // - case 128: { action. consumeDeclarationSpecifiersSimple(); break; + case 128: { action. consumeDeclarationSimple(true); break; } // - // Rule 129: declaration_specifiers ::= <openscope-ast> struct_or_union_declaration_specifiers + // Rule 129: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers // - case 129: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; + case 129: { action. consumeDeclarationSpecifiersSimple(); break; } // - // Rule 130: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers + // Rule 130: declaration_specifiers ::= <openscope-ast> struct_or_union_declaration_specifiers // case 130: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; } // - // Rule 131: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers + // Rule 131: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers // case 131: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; } // - // Rule 132: declaration_specifiers ::= <openscope-ast> typdef_name_declaration_specifiers + // Rule 132: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers // - case 132: { action. consumeDeclarationSpecifiersTypedefName(); break; + case 132: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; } // - // Rule 157: init_declarator ::= complete_declarator = initializer + // Rule 133: declaration_specifiers ::= <openscope-ast> typdef_name_declaration_specifiers // - case 157: { action. consumeDeclaratorWithInitializer(true); break; + case 133: { action. consumeDeclarationSpecifiersTypedefName(); break; } // - // Rule 159: storage_class_specifier ::= storage_class_specifier_token + // Rule 158: init_declarator ::= complete_declarator = initializer // - case 159: { action. consumeToken(); break; + case 158: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 165: simple_type_specifier ::= simple_type_specifier_token + // Rule 160: storage_class_specifier ::= storage_class_specifier_token // - case 165: { action. consumeToken(); break; + case 160: { action. consumeToken(); break; } // - // Rule 178: type_name_specifier ::= identifier_token + // Rule 166: simple_type_specifier ::= simple_type_specifier_token // - case 178: { action. consumeToken(); break; + case 166: { action. consumeToken(); break; } // - // Rule 179: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt } + // Rule 179: type_name_specifier ::= identifier_token // - case 179: { action. consumeTypeSpecifierComposite(false); break; + case 179: { action. consumeToken(); break; } // - // 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 } + // Rule 180: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt } // - case 180: { action. consumeTypeSpecifierComposite(true); break; + case 180: { action. consumeTypeSpecifierComposite(false); break; } // - // Rule 185: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token + // Rule 181: 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 185: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break; + case 181: { action. consumeTypeSpecifierComposite(true); break; } // - // Rule 186: elaborated_specifier ::= union elaborated_specifier_hook identifier_token + // Rule 186: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token // - case 186: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break; + case 186: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break; } // - // Rule 187: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token + // Rule 187: elaborated_specifier ::= union elaborated_specifier_hook identifier_token // - case 187: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break; + case 187: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break; } // - // Rule 193: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ; + // Rule 188: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token // - case 193: { action. consumeStructDeclaration(true); break; + case 188: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break; } // - // Rule 194: struct_declaration ::= specifier_qualifier_list ; + // Rule 194: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ; // - case 194: { action. consumeStructDeclaration(false); break; + case 194: { action. consumeStructDeclaration(true); break; } // - // Rule 195: struct_declaration ::= ERROR_TOKEN + // Rule 195: struct_declaration ::= specifier_qualifier_list ; // - case 195: { action. consumeDeclarationProblem(); break; + case 195: { action. consumeStructDeclaration(false); break; } // - // Rule 201: struct_declarator ::= : constant_expression + // Rule 196: struct_declaration ::= ERROR_TOKEN // - case 201: { action. consumeBitField(false); break; + case 196: { action. consumeDeclarationProblem(); break; } // - // Rule 202: struct_declarator ::= declarator : constant_expression + // Rule 202: struct_declarator ::= : constant_expression // - case 202: { action. consumeBitField(true); break; + case 202: { action. consumeBitField(false); break; } // - // Rule 203: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 203: struct_declarator ::= declarator : constant_expression // - case 203: { action. consumeTypeSpecifierEnumeration(false); break; + case 203: { action. consumeBitField(true); break; } // - // Rule 204: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 204: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } // - case 204: { action. consumeTypeSpecifierEnumeration(true); break; + case 204: { action. consumeTypeSpecifierEnumeration(false); break; } // - // Rule 210: enumerator ::= identifier_token + // Rule 205: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } // - case 210: { action. consumeEnumerator(false); break; + case 205: { action. consumeTypeSpecifierEnumeration(true); break; } // - // Rule 211: enumerator ::= identifier_token = constant_expression + // Rule 211: enumerator ::= identifier_token // - case 211: { action. consumeEnumerator(true); break; + case 211: { action. consumeEnumerator(false); break; } // - // Rule 212: type_qualifier ::= type_qualifier_token + // Rule 212: enumerator ::= identifier_token = constant_expression // - case 212: { action. consumeToken(); break; + case 212: { action. consumeEnumerator(true); break; } // - // Rule 216: function_specifier ::= inline + // Rule 213: type_qualifier ::= type_qualifier_token // - case 216: { action. consumeToken(); break; + case 213: { action. consumeToken(); break; } // - // Rule 218: declarator ::= <openscope-ast> pointer_seq direct_declarator + // Rule 217: function_specifier ::= inline // - case 218: { action. consumeDeclaratorWithPointer(true); break; + case 217: { action. consumeToken(); break; } // - // Rule 223: basic_direct_declarator ::= declarator_id_name + // Rule 219: declarator ::= <openscope-ast> pointer_seq direct_declarator // - case 223: { action. consumeDirectDeclaratorIdentifier(); break; + case 219: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 224: basic_direct_declarator ::= ( declarator ) + // Rule 224: basic_direct_declarator ::= declarator_id_name // - case 224: { action. consumeDirectDeclaratorBracketed(); break; + case 224: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 225: declarator_id_name ::= identifier + // Rule 225: basic_direct_declarator ::= ( declarator ) // - case 225: { action. consumeIdentifierName(); break; + case 225: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 226: array_direct_declarator ::= basic_direct_declarator array_modifier + // Rule 226: declarator_id_name ::= identifier // - case 226: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 226: { action. consumeIdentifierName(); break; } // - // Rule 227: array_direct_declarator ::= array_direct_declarator array_modifier + // Rule 227: array_direct_declarator ::= basic_direct_declarator array_modifier // case 227: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 229: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list ) + // Rule 228: array_direct_declarator ::= array_direct_declarator array_modifier // - case 229: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; + case 228: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 230: function_direct_declarator ::= basic_direct_declarator ( ) + // Rule 230: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list ) // - case 230: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; + case 230: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; } // - // Rule 232: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator + // Rule 231: function_direct_declarator ::= basic_direct_declarator ( ) // - case 232: { action. consumeDeclaratorWithPointer(true); break; + case 231: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; } // - // Rule 233: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list ) + // Rule 233: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator // - case 233: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; + case 233: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 235: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator + // Rule 234: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list ) // - case 235: { action. consumeDeclaratorWithPointer(true); break; + case 234: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; } // - // Rule 236: identifier_list ::= identifier + // Rule 236: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator // - case 236: { action. consumeIdentifierKnR(); break; + case 236: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 237: identifier_list ::= identifier_list , identifier + // Rule 237: identifier_list ::= identifier // case 237: { action. consumeIdentifierKnR(); break; } // - // Rule 238: array_modifier ::= [ ] + // Rule 238: identifier_list ::= identifier_list , identifier // - case 238: { action. consumeDirectDeclaratorArrayModifier(false); break; + case 238: { action. consumeIdentifierKnR(); break; } // - // Rule 239: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ] + // Rule 239: array_modifier ::= [ ] // - case 239: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break; + case 239: { action. consumeDirectDeclaratorArrayModifier(false); break; } // - // Rule 240: array_modifier ::= [ assignment_expression ] + // Rule 240: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ] // - case 240: { action. consumeDirectDeclaratorArrayModifier(true); break; + case 240: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break; } // - // Rule 241: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ] + // Rule 241: array_modifier ::= [ assignment_expression ] // - case 241: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break; + case 241: { action. consumeDirectDeclaratorArrayModifier(true); break; } // - // Rule 242: array_modifier ::= [ static assignment_expression ] + // Rule 242: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ] // - case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break; + case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break; } // - // Rule 243: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ] + // Rule 243: array_modifier ::= [ static assignment_expression ] // - case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; + case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break; } // - // Rule 244: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ] + // Rule 244: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ] // case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; } // - // Rule 245: array_modifier ::= [ * ] + // Rule 245: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ] // - case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break; + case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; } // - // Rule 246: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ] + // Rule 246: array_modifier ::= [ * ] // - case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break; + case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break; } // - // Rule 248: pointer_seq ::= pointer_hook * pointer_hook + // Rule 247: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ] // - case 248: { action. consumePointer(); break; + case 247: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break; } // - // Rule 249: pointer_seq ::= pointer_seq pointer_hook * pointer_hook + // Rule 249: pointer_seq ::= pointer_hook * pointer_hook // case 249: { action. consumePointer(); break; } // - // Rule 250: pointer_seq ::= pointer_hook * pointer_hook <openscope-ast> type_qualifier_list + // Rule 250: pointer_seq ::= pointer_seq pointer_hook * pointer_hook // - case 250: { action. consumePointerTypeQualifierList(); break; + case 250: { action. consumePointer(); break; } // - // Rule 251: pointer_seq ::= pointer_seq pointer_hook * pointer_hook <openscope-ast> type_qualifier_list + // Rule 251: pointer_seq ::= pointer_hook * pointer_hook <openscope-ast> type_qualifier_list // case 251: { action. consumePointerTypeQualifierList(); break; } // - // Rule 255: parameter_type_list ::= parameter_list + // Rule 252: pointer_seq ::= pointer_seq pointer_hook * pointer_hook <openscope-ast> type_qualifier_list // - case 255: { action. consumeEmpty(); break; + case 252: { action. consumePointerTypeQualifierList(); break; } // - // Rule 256: parameter_type_list ::= parameter_list , ... + // Rule 256: parameter_type_list ::= parameter_list // - case 256: { action. consumePlaceHolder(); break; + case 256: { action. consumeEmpty(); break; } // - // Rule 257: parameter_type_list ::= ... + // Rule 257: parameter_type_list ::= parameter_list , ... // case 257: { action. consumePlaceHolder(); break; } // - // Rule 260: parameter_declaration ::= declaration_specifiers complete_parameter_declarator + // Rule 258: parameter_type_list ::= ... // - case 260: { action. consumeParameterDeclaration(); break; + case 258: { action. consumePlaceHolder(); break; } // - // Rule 261: parameter_declaration ::= declaration_specifiers + // Rule 261: parameter_declaration ::= declaration_specifiers complete_parameter_declarator // - case 261: { action. consumeParameterDeclarationWithoutDeclarator(); break; + case 261: { action. consumeParameterDeclaration(); break; } // - // Rule 264: type_id ::= specifier_qualifier_list + // Rule 262: parameter_declaration ::= declaration_specifiers // - case 264: { action. consumeTypeId(false); break; + case 262: { action. consumeParameterDeclarationWithoutDeclarator(); break; } // - // Rule 265: type_id ::= specifier_qualifier_list abstract_declarator + // Rule 265: type_id ::= specifier_qualifier_list // - case 265: { action. consumeTypeId(true); break; + case 265: { action. consumeTypeId(false); break; } // - // Rule 267: abstract_declarator ::= <openscope-ast> pointer_seq + // Rule 266: type_id ::= specifier_qualifier_list abstract_declarator // - case 267: { action. consumeDeclaratorWithPointer(false); break; + case 266: { action. consumeTypeId(true); break; } // - // Rule 268: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator + // Rule 268: abstract_declarator ::= <openscope-ast> pointer_seq // - case 268: { action. consumeDeclaratorWithPointer(true); break; + case 268: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 272: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 269: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator // - case 272: { action. consumeDirectDeclaratorBracketed(); break; + case 269: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 273: array_direct_abstract_declarator ::= array_modifier + // Rule 273: basic_direct_abstract_declarator ::= ( abstract_declarator ) // - case 273: { action. consumeDirectDeclaratorArrayDeclarator(false); break; + case 273: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 274: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier + // Rule 274: array_direct_abstract_declarator ::= array_modifier // - case 274: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 274: { action. consumeDirectDeclaratorArrayDeclarator(false); break; } // - // Rule 275: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier + // Rule 275: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier // case 275: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 276: function_direct_abstract_declarator ::= ( ) + // Rule 276: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier // - case 276: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break; - } + case 276: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + } // - // Rule 277: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( ) + // Rule 277: function_direct_abstract_declarator ::= ( ) // - case 277: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; - } + case 277: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break; + } // - // Rule 278: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list ) + // Rule 278: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( ) // - case 278: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break; + case 278: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; } // - // Rule 279: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list ) + // Rule 279: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list ) // - case 279: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; + case 279: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break; } // - // Rule 280: initializer ::= assignment_expression + // Rule 280: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list ) // - case 280: { action. consumeInitializer(); break; + case 280: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; } // - // Rule 282: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq comma_opt } end_initializer_list + // Rule 281: initializer ::= assignment_expression // - case 282: { action. consumeInitializerList(); break; + case 281: { action. consumeInitializer(); break; } // - // Rule 283: initializer_list ::= { <openscope-ast> } + // Rule 283: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq comma_opt } end_initializer_list // case 283: { action. consumeInitializerList(); break; } // - // Rule 284: start_initializer_list ::= $Empty + // Rule 284: initializer_list ::= { <openscope-ast> } // - case 284: { action. initializerListStart(); break; + case 284: { action. consumeInitializerList(); break; } // - // Rule 285: end_initializer_list ::= $Empty + // Rule 285: start_initializer_list ::= $Empty // - case 285: { action. initializerListEnd(); break; + case 285: { action. initializerListStart(); break; } // - // Rule 290: designated_initializer ::= <openscope-ast> designation = initializer + // Rule 286: end_initializer_list ::= $Empty // - case 290: { action. consumeInitializerDesignated(); break; + case 286: { action. initializerListEnd(); break; } // - // Rule 294: designator_base ::= [ constant_expression ] + // Rule 291: designated_initializer ::= <openscope-ast> designation = initializer // - case 294: { action. consumeDesignatorArray(); break; + case 291: { action. consumeInitializerDesignated(); break; } // - // Rule 295: designator_base ::= . identifier_token + // Rule 295: designator_base ::= [ constant_expression ] // - case 295: { action. consumeDesignatorField(); break; + case 295: { action. consumeDesignatorArray(); break; } // - // Rule 296: designator ::= [ constant_expression ] + // Rule 296: designator_base ::= . identifier_token // - case 296: { action. consumeDesignatorArray(); break; + case 296: { action. consumeDesignatorField(); break; } // - // Rule 297: designator ::= . identifier_token + // Rule 297: designator ::= [ constant_expression ] // - case 297: { action. consumeDesignatorField(); break; + case 297: { action. consumeDesignatorArray(); break; } // - // Rule 298: translation_unit ::= external_declaration_list + // Rule 298: designator ::= . identifier_token // - case 298: { action. consumeTranslationUnit(); break; - } + case 298: { action. consumeDesignatorField(); break; + } // - // Rule 299: translation_unit ::= $Empty + // Rule 299: translation_unit ::= external_declaration_list // case 299: { action. consumeTranslationUnit(); break; - } + } // - // Rule 304: external_declaration ::= ; + // Rule 300: translation_unit ::= $Empty // - case 304: { action. consumeDeclarationEmpty(); break; + case 300: { action. consumeTranslationUnit(); break; } // - // Rule 305: external_declaration ::= ERROR_TOKEN + // Rule 305: external_declaration ::= ; // - case 305: { action. consumeDeclarationProblem(); break; + case 305: { action. consumeDeclarationEmpty(); break; } // - // Rule 309: function_definition ::= <openscope-ast> function_declarator function_body + // Rule 306: external_declaration ::= ERROR_TOKEN // - case 309: { action. consumeFunctionDefinition(false); break; + case 306: { action. consumeDeclarationProblem(); break; } // - // Rule 310: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement + // Rule 310: function_definition ::= <openscope-ast> function_declarator function_body // - case 310: { action. consumeFunctionDefinitionKnR(); break; + case 310: { action. consumeFunctionDefinition(false); break; } // - // Rule 311: normal_function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body + // Rule 311: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement // - case 311: { action. consumeFunctionDefinition(true); break; + case 311: { action. consumeFunctionDefinitionKnR(); break; } // - // Rule 312: function_body ::= { } + // Rule 312: normal_function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body // - case 312: { action. consumeStatementCompoundStatement(false); break; + case 312: { action. consumeFunctionDefinition(true); break; } // - // Rule 313: function_body ::= { <openscope-ast> block_item_list } + // Rule 313: function_body ::= { } // - case 313: { action. consumeStatementCompoundStatement(true); break; + case 313: { action. consumeStatementCompoundStatement(false); break; } // - // Rule 315: no_sizeof_type_id_start ::= ERROR_TOKEN + // Rule 314: function_body ::= { <openscope-ast> block_item_list } // - case 315: { action. consumeEmpty(); break; + case 314: { action. consumeStatementCompoundStatement(true); break; } // - // Rule 316: literal ::= MYTHREAD + // Rule 316: no_sizeof_type_id_start ::= ERROR_TOKEN // - case 316: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_mythread); break; + case 316: { action. consumeEmpty(); break; } // - // Rule 317: literal ::= THREADS + // Rule 317: literal ::= MYTHREAD // - case 317: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_threads); break; + case 317: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_mythread); break; } // - // Rule 318: literal ::= UPC_MAX_BLOCKSIZE + // Rule 318: literal ::= THREADS // - case 318: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_upc_max_block_size); break; + case 318: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_threads); break; } // - // Rule 319: unary_expression ::= upc_localsizeof unary_expression + // Rule 319: literal ::= UPC_MAX_BLOCKSIZE // - case 319: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_localsizeof); break; + case 319: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_upc_max_block_size); break; } // - // Rule 320: unary_expression ::= upc_blocksizeof unary_expression + // Rule 320: unary_expression ::= upc_localsizeof unary_expression // - case 320: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_blocksizeof); break; + case 320: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_localsizeof); break; } // - // Rule 321: unary_expression ::= upc_elemsizeof unary_expression + // Rule 321: unary_expression ::= upc_blocksizeof unary_expression // - case 321: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_elemsizeof); break; + case 321: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_blocksizeof); break; } // - // Rule 325: shared_type_qualifier ::= shared + // Rule 322: unary_expression ::= upc_elemsizeof unary_expression // - case 325: { action. consumeToken(); break; + case 322: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_elemsizeof); break; } // - // Rule 326: reference_type_qualifier ::= relaxed + // Rule 326: shared_type_qualifier ::= shared // case 326: { action. consumeToken(); break; } // - // Rule 327: reference_type_qualifier ::= strict + // Rule 327: reference_type_qualifier ::= relaxed // case 327: { action. consumeToken(); break; } // - // Rule 328: layout_qualifier ::= [ constant_expression ] + // Rule 328: reference_type_qualifier ::= strict + // + case 328: { action. consumeToken(); break; + } + + // + // Rule 329: layout_qualifier ::= [ constant_expression ] // - case 328: { action. consumeLayoutQualifier(true, false); break; + case 329: { action. consumeLayoutQualifier(true, false); break; } // - // Rule 329: layout_qualifier ::= [ * ] + // Rule 330: layout_qualifier ::= [ * ] // - case 329: { action. consumeLayoutQualifier(false, true); break; + case 330: { action. consumeLayoutQualifier(false, true); break; } // - // Rule 330: layout_qualifier ::= [ ] + // Rule 331: layout_qualifier ::= [ ] // - case 330: { action. consumeLayoutQualifier(false, false); break; + case 331: { action. consumeLayoutQualifier(false, false); break; } // - // Rule 332: synchronization_statement ::= upc_notify expression ; + // Rule 333: synchronization_statement ::= upc_notify expression ; // - case 332: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, true); break; + case 333: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, true); break; } // - // Rule 333: synchronization_statement ::= upc_notify ; + // Rule 334: synchronization_statement ::= upc_notify ; // - case 333: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, false); break; + case 334: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, false); break; } // - // Rule 334: synchronization_statement ::= upc_wait expression ; + // Rule 335: synchronization_statement ::= upc_wait expression ; // - case 334: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, true); break; + case 335: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, true); break; } // - // Rule 335: synchronization_statement ::= upc_wait ; + // Rule 336: synchronization_statement ::= upc_wait ; // - case 335: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, false); break; + case 336: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, false); break; } // - // Rule 336: synchronization_statement ::= upc_barrier expression ; + // Rule 337: synchronization_statement ::= upc_barrier expression ; // - case 336: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, true); break; + case 337: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, true); break; } // - // Rule 337: synchronization_statement ::= upc_barrier ; + // Rule 338: synchronization_statement ::= upc_barrier ; // - case 337: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, false); break; + case 338: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, false); break; } // - // Rule 338: synchronization_statement ::= upc_fence ; + // Rule 339: synchronization_statement ::= upc_fence ; // - case 338: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_fence, false); break; + case 339: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_fence, false); break; } // - // Rule 339: iteration_statement ::= upc_forall ( expression ; expression ; expression ; affinity ) statement + // Rule 340: iteration_statement ::= upc_forall ( expression ; expression ; expression ; affinity ) statement // - case 339: { action. consumeStatementUPCForallLoop(true, true, true, true); break; + case 340: { action. consumeStatementUPCForallLoop(true, true, true, true); break; } // - // Rule 340: iteration_statement ::= upc_forall ( expression ; expression ; expression ; ) statement + // Rule 341: iteration_statement ::= upc_forall ( expression ; expression ; expression ; ) statement // - case 340: { action. consumeStatementUPCForallLoop(true, true, true, false); break; + case 341: { action. consumeStatementUPCForallLoop(true, true, true, false); break; } // - // Rule 341: iteration_statement ::= upc_forall ( expression ; expression ; ; affinity ) statement + // Rule 342: iteration_statement ::= upc_forall ( expression ; expression ; ; affinity ) statement // - case 341: { action. consumeStatementUPCForallLoop(true, true, false, true); break; + case 342: { action. consumeStatementUPCForallLoop(true, true, false, true); break; } // - // Rule 342: iteration_statement ::= upc_forall ( expression ; expression ; ; ) statement + // Rule 343: iteration_statement ::= upc_forall ( expression ; expression ; ; ) statement // - case 342: { action. consumeStatementUPCForallLoop(true, true, false, false); break; + case 343: { action. consumeStatementUPCForallLoop(true, true, false, false); break; } // - // Rule 343: iteration_statement ::= upc_forall ( expression ; ; expression ; affinity ) statement + // Rule 344: iteration_statement ::= upc_forall ( expression ; ; expression ; affinity ) statement // - case 343: { action. consumeStatementUPCForallLoop(true, false, true, true); break; + case 344: { action. consumeStatementUPCForallLoop(true, false, true, true); break; } // - // Rule 344: iteration_statement ::= upc_forall ( expression ; ; expression ; ) statement + // Rule 345: iteration_statement ::= upc_forall ( expression ; ; expression ; ) statement // - case 344: { action. consumeStatementUPCForallLoop(true, false, true, false); break; + case 345: { action. consumeStatementUPCForallLoop(true, false, true, false); break; } // - // Rule 345: iteration_statement ::= upc_forall ( expression ; ; ; affinity ) statement + // Rule 346: iteration_statement ::= upc_forall ( expression ; ; ; affinity ) statement // - case 345: { action. consumeStatementUPCForallLoop(true, false, false, true); break; + case 346: { action. consumeStatementUPCForallLoop(true, false, false, true); break; } // - // Rule 346: iteration_statement ::= upc_forall ( expression ; ; ; ) statement + // Rule 347: iteration_statement ::= upc_forall ( expression ; ; ; ) statement // - case 346: { action. consumeStatementUPCForallLoop(true, false, false, false); break; + case 347: { action. consumeStatementUPCForallLoop(true, false, false, false); break; } // - // Rule 347: iteration_statement ::= upc_forall ( ; expression ; expression ; affinity ) statement + // Rule 348: iteration_statement ::= upc_forall ( ; expression ; expression ; affinity ) statement // - case 347: { action. consumeStatementUPCForallLoop(false, true, true, true); break; + case 348: { action. consumeStatementUPCForallLoop(false, true, true, true); break; } // - // Rule 348: iteration_statement ::= upc_forall ( ; expression ; expression ; ) statement + // Rule 349: iteration_statement ::= upc_forall ( ; expression ; expression ; ) statement // - case 348: { action. consumeStatementUPCForallLoop(false, true, true, false); break; + case 349: { action. consumeStatementUPCForallLoop(false, true, true, false); break; } // - // Rule 349: iteration_statement ::= upc_forall ( ; expression ; ; affinity ) statement + // Rule 350: iteration_statement ::= upc_forall ( ; expression ; ; affinity ) statement // - case 349: { action. consumeStatementUPCForallLoop(false, true, false, true); break; + case 350: { action. consumeStatementUPCForallLoop(false, true, false, true); break; } // - // Rule 350: iteration_statement ::= upc_forall ( ; expression ; ; ) statement + // Rule 351: iteration_statement ::= upc_forall ( ; expression ; ; ) statement // - case 350: { action. consumeStatementUPCForallLoop(false, true, false, false); break; + case 351: { action. consumeStatementUPCForallLoop(false, true, false, false); break; } // - // Rule 351: iteration_statement ::= upc_forall ( ; ; expression ; affinity ) statement + // Rule 352: iteration_statement ::= upc_forall ( ; ; expression ; affinity ) statement // - case 351: { action. consumeStatementUPCForallLoop(false, false, true, true); break; + case 352: { action. consumeStatementUPCForallLoop(false, false, true, true); break; } // - // Rule 352: iteration_statement ::= upc_forall ( ; ; expression ; ) statement + // Rule 353: iteration_statement ::= upc_forall ( ; ; expression ; ) statement // - case 352: { action. consumeStatementUPCForallLoop(false, false, true, false); break; + case 353: { action. consumeStatementUPCForallLoop(false, false, true, false); break; } // - // Rule 353: iteration_statement ::= upc_forall ( ; ; ; affinity ) statement + // Rule 354: iteration_statement ::= upc_forall ( ; ; ; affinity ) statement // - case 353: { action. consumeStatementUPCForallLoop(false, false, false, true); break; + case 354: { action. consumeStatementUPCForallLoop(false, false, false, true); break; } // - // Rule 354: iteration_statement ::= upc_forall ( ; ; ; ) statement + // Rule 355: iteration_statement ::= upc_forall ( ; ; ; ) statement // - case 354: { action. consumeStatementUPCForallLoop(false, false, false, false); break; + case 355: { action. consumeStatementUPCForallLoop(false, false, false, false); break; } // - // Rule 355: iteration_statement ::= upc_forall ( declaration expression ; expression ; affinity ) statement + // Rule 356: iteration_statement ::= upc_forall ( declaration expression ; expression ; affinity ) statement // - case 355: { action. consumeStatementUPCForallLoop(true, true, true, true); break; + case 356: { action. consumeStatementUPCForallLoop(true, true, true, true); break; } // - // Rule 356: iteration_statement ::= upc_forall ( declaration expression ; expression ; ) statement + // Rule 357: iteration_statement ::= upc_forall ( declaration expression ; expression ; ) statement // - case 356: { action. consumeStatementUPCForallLoop(true, true, true, false); break; + case 357: { action. consumeStatementUPCForallLoop(true, true, true, false); break; } // - // Rule 357: iteration_statement ::= upc_forall ( declaration expression ; ; affinity ) statement + // Rule 358: iteration_statement ::= upc_forall ( declaration expression ; ; affinity ) statement // - case 357: { action. consumeStatementUPCForallLoop(true, true, false, true); break; + case 358: { action. consumeStatementUPCForallLoop(true, true, false, true); break; } // - // Rule 358: iteration_statement ::= upc_forall ( declaration expression ; ; ) statement + // Rule 359: iteration_statement ::= upc_forall ( declaration expression ; ; ) statement // - case 358: { action. consumeStatementUPCForallLoop(true, true, false, false); break; + case 359: { action. consumeStatementUPCForallLoop(true, true, false, false); break; } // - // Rule 359: iteration_statement ::= upc_forall ( declaration ; expression ; affinity ) statement + // Rule 360: iteration_statement ::= upc_forall ( declaration ; expression ; affinity ) statement // - case 359: { action. consumeStatementUPCForallLoop(true, false, true, true); break; + case 360: { action. consumeStatementUPCForallLoop(true, false, true, true); break; } // - // Rule 360: iteration_statement ::= upc_forall ( declaration ; expression ; ) statement + // Rule 361: iteration_statement ::= upc_forall ( declaration ; expression ; ) statement // - case 360: { action. consumeStatementUPCForallLoop(true, false, true, false); break; + case 361: { action. consumeStatementUPCForallLoop(true, false, true, false); break; } // - // Rule 361: iteration_statement ::= upc_forall ( declaration ; ; affinity ) statement + // Rule 362: iteration_statement ::= upc_forall ( declaration ; ; affinity ) statement // - case 361: { action. consumeStatementUPCForallLoop(true, false, false, true); break; + case 362: { action. consumeStatementUPCForallLoop(true, false, false, true); break; } // - // Rule 362: iteration_statement ::= upc_forall ( declaration ; ; ) statement + // Rule 363: iteration_statement ::= upc_forall ( declaration ; ; ) statement // - case 362: { action. consumeStatementUPCForallLoop(true, false, false, false); break; + case 363: { action. consumeStatementUPCForallLoop(true, false, false, false); break; } // - // Rule 364: affinity ::= continue + // Rule 365: affinity ::= continue // - case 364: { action. consumeToken(); break; + case 365: { action. consumeToken(); break; } diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCSizeofExpressionParserprs.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCSizeofExpressionParserprs.java index 3af252ab07d..3d09443cb23 100644 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCSizeofExpressionParserprs.java +++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCSizeofExpressionParserprs.java @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 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 @@ -46,185 +46,185 @@ public class UPCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 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, + 2,5,7,5,1,0,7,2,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,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,3,4,5, - 6,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, - 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,1,3,6, - 4,2,4,1,1,1,1,1,2,2, - 2,1,1,2,1,1,1,3,3,2, - 1,3,2,3,2,3,2,2,11,10, - 10,9,10,9,9,8,10,9,9,8, - 9,8,8,7,10,9,9,8,9,8, - 8,7,1,1,-39,0,0,0,0,0, - 0,0,0,0,0,-2,0,0,0,0, - 0,0,0,0,0,-80,0,0,0,0, - -163,-120,0,-74,0,0,0,0,-145,0, + 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,3,4, + 5,6,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,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,1,3, + 6,4,2,4,1,1,1,1,1,2, + 2,2,1,1,2,1,1,1,3,3, + 2,1,3,2,3,2,3,2,2,11, + 10,10,9,10,9,9,8,10,9,9, + 8,9,8,8,7,10,9,9,8,9, + 8,8,7,1,1,-39,0,0,0,0, + 0,0,0,0,0,0,-2,0,0,0, + 0,0,0,0,0,0,-80,0,0,0, + 0,-163,-120,0,-74,0,0,0,0,-145, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-174,0,-108,-36,-37,0,0,0,0, - -82,0,0,-4,0,-32,0,-17,0,0, - 0,0,0,0,0,0,-126,0,-33,0, - 0,0,0,-45,0,0,0,0,0,0, - 0,0,0,0,0,-181,0,0,0,0, + 0,0,-174,0,-108,-36,-37,0,0,0, + 0,-82,0,0,-4,0,-32,0,-17,0, + 0,0,0,0,0,0,0,-126,0,-33, + 0,0,0,0,-45,0,0,0,0,0, + 0,0,0,0,0,0,-181,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-136,0,0,-57,0,0,0, + 0,0,0,0,-136,0,0,-57,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,0,0,0,0,-141,-70,-121, - 0,0,-54,0,0,0,0,0,0,0, + 0,0,0,-72,0,0,0,0,-141,-70, + -121,0,0,-54,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -194,0,-19,0,0,0,0,0,0,-71, - 0,-5,0,0,0,0,0,0,0,0, - 0,0,0,0,-196,0,0,0,0,0, + 0,-194,0,-19,0,0,0,0,0,0, + -71,0,-5,0,0,0,0,0,0,0, + 0,0,0,0,0,-196,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-75,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,-122,0,0, - 0,-123,0,0,-124,0,-183,0,0,-3, + 0,0,0,0,0,0,0,0,-122,0, + 0,0,-123,0,0,-124,0,-183,0,0, + -3,0,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,0, 0,0,0,0,0,0,0,0,0,0, - -112,0,0,0,0,0,0,0,0,0, + 0,0,-119,0,0,0,0,0,0,0, + 0,0,0,-20,0,0,0,0,0,0, + 0,0,-21,0,-49,0,0,0,0,0, + 0,0,0,0,0,-50,0,0,0,0, + 0,0,0,0,0,0,-132,0,0,0, + 0,0,0,0,0,0,0,-22,0,0, + 0,0,0,0,0,0,0,0,-30,0, + 0,0,0,0,0,0,0,0,0,-113, + 0,0,0,0,0,0,0,0,0,-59, 0,0,0,0,0,0,0,0,0,0, - 0,-119,0,0,0,0,0,0,0,0, - 0,0,-20,0,0,0,0,0,0,0, - 0,-21,0,-49,0,0,0,0,0,0, - 0,0,0,0,-50,0,0,0,0,0, - 0,0,0,0,0,-132,0,0,0,0, - 0,0,0,0,0,0,-22,0,0,0, - 0,0,0,0,0,0,0,-30,0,0, - 0,0,0,0,0,0,0,0,-113,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,-60, + -60,0,0,0,0,0,0,0,0,0, + 0,-131,0,0,0,0,0,0,0,0, + 0,-61,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -131,0,0,0,0,0,0,0,0,0, - -61,0,0,0,0,0,0,0,0,0, + 0,0,-62,0,0,0,0,0,0,0, + 0,0,0,-139,0,0,0,0,0,0, + 0,0,0,-63,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-62,0,0,0,0,0,0,0,0, - 0,0,-139,0,0,0,0,0,0,0, - 0,0,-63,0,0,0,0,0,0,0, + 0,0,0,0,-64,0,0,0,0,0, + 0,0,0,0,0,-150,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,-64,0,0,0,0,0,0, - 0,0,0,0,-150,0,0,0,0,0, - 0,0,0,0,-65,0,0,0,0,0, + 0,0,0,0,0,0,-66,0,0,0, + 0,0,0,0,0,0,0,-166,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,-66,0,0,0,0, - 0,0,0,0,0,0,-166,0,0,0, - 0,0,0,0,0,0,-67,0,0,0, + 0,0,0,0,0,0,0,0,-68,0, + 0,0,0,0,0,0,0,0,0,-167, + 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,-68,0,0, - 0,0,0,0,0,0,0,0,-167,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,-125, + -125,0,0,0,0,0,0,0,0,0, + 0,-197,0,0,0,0,0,0,0,0, + 0,-148,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -197,0,0,0,0,0,0,0,0,0, - -148,0,0,0,0,0,0,0,0,0, + 0,0,-149,0,0,0,0,0,0,0, + 0,0,0,-23,0,0,0,0,0,0, + 0,0,0,-184,0,0,0,0,0,0, + 0,0,0,0,-129,0,0,0,0,0, + 0,0,0,-193,0,0,0,0,0,0, + 0,0,0,0,-84,0,0,0,0,0, + 0,0,0,0,-198,0,0,-73,0,0, + 0,0,0,0,0,-199,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,-23,0,0,0,0,0,0,0, - 0,0,-184,0,0,0,0,0,0,0, - 0,0,0,-129,0,0,0,0,0,0, - 0,0,-193,0,0,0,0,0,0,0, - 0,0,0,-84,0,0,0,0,0,0, - 0,0,0,-198,0,0,-73,0,0,0, - 0,0,0,0,-199,0,0,0,0,0, + 0,0,0,0,0,-205,0,0,0,0, + 0,0,0,0,0,0,-127,0,0,0, + 0,0,0,0,0,-107,0,0,0,-173, + -180,0,0,-77,-78,-89,0,-213,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-205,0,0,0,0,0, - 0,0,0,0,0,-127,0,0,0,0, - 0,0,0,0,-107,0,0,0,-173,-180, - 0,0,-77,-78,-89,0,-213,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-81,-85,0,0,0,0,-24, + 0,0,-142,-135,0,-25,-155,-146,-144,0, + 0,-161,0,0,0,0,0,0,0,0, + 0,0,-208,0,0,0,0,0,0,0, + 0,0,0,-152,-35,0,0,0,0,0, + 0,0,0,0,0,0,-147,0,0,0, + 0,0,-26,0,-160,-27,-28,0,0,0, + -87,0,0,0,-164,0,-153,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-81,-85,0,0,0,0,-24,0, - 0,-142,-135,0,-25,-155,-146,-144,0,0, - -161,0,0,0,0,0,0,0,0,0, - 0,-208,0,0,0,0,0,0,0,0, - 0,0,-152,-35,0,0,0,0,0,0, - 0,0,0,0,0,-147,0,0,0,0, - 0,-26,0,-160,-27,-28,0,0,0,-87, - 0,0,0,-164,0,-153,0,0,0,0, + 0,0,0,0,-40,0,0,0,0,0, + 0,0,0,0,0,-29,0,0,-90,0, + -58,0,0,0,0,0,0,0,0,0, + 0,-171,0,0,0,0,0,-55,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,-29,0,0,-90,0,-58, + 0,0,-6,0,0,0,0,0,0,0, + 0,-190,-172,-91,-116,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, - -171,0,0,0,0,0,-55,0,0,0, + 0,0,0,-92,-93,0,0,0,0,0, + 0,0,-41,0,0,0,0,0,0,0, + 0,0,-52,0,0,0,0,0,0,0, + 0,0,0,-134,0,-53,0,0,0,0, + 0,0,0,0,0,0,-212,0,-94,-154, + -118,-185,-157,-95,0,0,-96,0,-97,0, + -98,0,-176,0,0,-46,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-162, + 0,0,0,0,0,0,0,-9,0,0, + 0,0,0,0,0,-99,0,-47,0,0, + 0,0,0,0,0,0,0,0,-48,0, + 0,0,0,0,0,0,0,0,0,-79, + -207,-10,0,0,0,0,0,0,0,0, + 0,0,0,-177,-100,-76,-168,-101,-102,-110, + 0,0,0,0,0,-191,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-6,0,0,0,0,0,0,0,0, - -190,-172,-91,-116,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-51,0, + 0,0,0,0,-192,-56,-83,0,0,-103, + 0,-203,-204,-104,0,0,0,-195,-86,0, + 0,0,0,0,0,0,0,-105,0,0, + 0,0,-88,-156,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-92,-93,0,0,0,0,0,0, - 0,-41,0,0,0,0,0,0,0,0, - 0,-52,0,0,0,0,0,0,0,0, - 0,0,-134,0,-53,0,0,0,0,0, - 0,0,0,0,0,-212,0,-94,-154,-118, - -185,-157,-95,0,0,-96,0,-97,0,-98, - 0,-176,0,0,-46,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-162,0, - 0,0,0,0,0,0,-9,0,0,0, - 0,0,0,0,-99,0,-47,0,0,0, - 0,0,0,0,0,0,0,-48,0,0, - 0,0,0,0,0,0,0,0,-79,-207, - -10,0,0,0,0,0,0,0,0,0, - 0,0,-177,-100,-76,-168,-101,-102,-110,0, - 0,0,0,0,-191,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-106,-201, + 0,-210,0,0,0,0,-115,0,0,0, + 0,0,0,0,-140,0,0,0,0,0, + 0,0,0,0,-214,0,0,0,-7,0, + 0,0,0,0,0,0,-151,0,0,0, + 0,0,0,0,-11,0,0,0,0,0, + 0,0,-109,0,-111,0,-128,0,0,0, + 0,0,0,0,0,-12,0,0,0,0, + 0,0,0,-13,0,0,0,0,0,0, + 0,-14,0,0,0,0,0,0,0,-38, + -42,0,0,0,0,0,0,0,-137,-143, + 0,-43,0,0,0,0,0,0,0,-44, + 0,0,0,0,0,0,0,0,-117,-1, + -170,-169,-8,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-15,0,0, + 0,0,0,0,-158,0,0,0,0,0, + 0,-16,0,0,0,0,0,0,-18,-114, + -209,0,-178,-179,-130,-31,-182,0,-159,0, + 0,0,-202,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-192,-56,-83,0,0,-103,0, - -203,-204,-104,0,0,0,-195,-86,0,0, - 0,0,0,0,0,0,-105,0,0,0, - 0,-88,-156,0,0,0,0,0,0,0, + -206,-189,0,-175,-211,0,0,0,0,-188, + 0,0,0,-34,0,-165,0,0,0,0, + 0,-133,-138,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-106,-201,0, - -210,0,0,0,0,-115,0,0,0,0, - 0,0,0,-140,0,0,0,0,0,0, - 0,0,0,-214,0,0,0,-7,0,0, - 0,0,0,0,0,-151,0,0,0,0, - 0,0,0,-11,0,0,0,0,0,0, - 0,-109,0,-111,0,-128,0,0,0,0, - 0,0,0,0,-12,0,0,0,0,0, - 0,0,-13,0,0,0,0,0,0,0, - -14,0,0,0,0,0,0,0,-38,-42, - 0,0,0,0,0,0,0,-137,-143,0, - -43,0,0,0,0,0,0,0,-44,0, - 0,0,0,0,0,0,0,-117,-1,-170, - -169,-8,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-15,0,0,0, - 0,0,0,-158,0,0,0,0,0,0, - -16,0,0,0,0,0,0,-18,-114,-209, - 0,-178,-179,-130,-31,-182,0,-159,0,0, - 0,-202,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-206, - -189,0,-175,-211,0,0,0,0,-188,0, - 0,0,-34,0,-165,0,0,0,0,0, - -133,-138,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-186,0,0,0,-187,0,0, + 0,-200,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-186,0,0,0,-187,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,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; @@ -246,185 +246,185 @@ public class UPCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 90,74,74,43,107,107,107,107,107,107, 107,108,108,108,109,109,114,114,115,115, 110,110,111,111,111,117,117,112,112,112, - 112,113,113,113,113,113,116,116,27,27, - 27,27,27,30,30,30,80,80,75,75, - 75,75,76,76,76,77,77,77,78,78, - 78,79,79,79,118,118,119,119,120,31, - 33,33,33,33,33,55,56,56,56,56, - 56,56,56,56,56,56,56,56,65,62, - 62,91,92,67,67,63,63,63,68,81, - 81,82,82,69,69,69,51,93,93,83, - 84,84,84,64,64,94,85,85,86,86, - 70,70,22,23,23,23,32,50,50,34, - 34,34,34,37,37,39,35,35,36,40, - 40,121,121,38,122,122,95,95,28,28, - 28,28,28,28,28,28,28,87,52,52, - 52,52,29,58,58,57,57,57,59,59, - 53,53,96,96,73,73,60,60,60,44, - 44,44,45,46,46,46,47,47,47,47, - 66,66,49,49,54,98,97,97,97,97, - 88,99,100,100,101,101,102,102,123,123, - 124,124,125,125,125,125,127,127,126,126, - 126,128,129,129,89,89,2,2,2,6, - 6,6,22,22,24,24,25,25,103,103, - 103,107,130,130,130,130,130,130,130,112, + 112,112,113,113,113,113,113,116,116,27, + 27,27,27,27,30,30,30,80,80,75, + 75,75,75,76,76,76,77,77,77,78, + 78,78,79,79,79,118,118,119,119,120, + 31,33,33,33,33,33,55,56,56,56, + 56,56,56,56,56,56,56,56,56,65, + 62,62,91,92,67,67,63,63,63,68, + 81,81,82,82,69,69,69,51,93,93, + 83,84,84,84,64,64,94,85,85,86, + 86,70,70,22,23,23,23,32,50,50, + 34,34,34,34,37,37,39,35,35,36, + 40,40,121,121,38,122,122,95,95,28, + 28,28,28,28,28,28,28,28,87,52, + 52,52,52,29,58,58,57,57,57,59, + 59,53,53,96,96,73,73,60,60,60, + 44,44,44,45,46,46,46,47,47,47, + 47,66,66,49,49,54,98,97,97,97, + 97,88,99,100,100,101,101,102,102,123, + 123,124,124,125,125,125,125,127,127,126, + 126,126,128,129,129,89,89,2,2,2, + 6,6,6,22,22,24,24,25,25,103, + 103,103,107,130,130,130,130,130,130,130, 112,112,112,112,112,112,112,112,112,112, 112,112,112,112,112,112,112,112,112,112, - 112,112,112,131,131,1,1288,17,21,18, - 438,1285,44,683,553,727,760,692,1189,1043, - 1242,1195,1246,1245,74,91,866,134,212,322, - 323,227,184,528,25,136,133,135,159,582, - 20,17,21,18,438,1285,44,683,553,727, - 391,692,1189,1043,1242,1195,1246,1245,74,280, - 138,165,690,1634,6,324,324,142,145,148, - 151,53,431,1331,40,447,125,31,69,434, - 1479,1183,1526,1538,1552,1155,1499,541,281,125, - 31,1097,19,1632,648,20,17,21,18,438, - 42,44,683,553,1364,286,354,20,17,21, - 18,438,1285,44,683,553,727,391,692,1189, - 1043,1242,1195,1246,1245,74,280,287,283,324, - 1746,1411,292,194,225,178,1439,648,20,17, - 21,18,438,42,44,683,553,727,25,692, - 1189,1043,1242,1195,1547,281,134,212,322,323, - 1632,24,392,237,136,133,135,159,59,324, - 125,186,288,648,20,17,21,18,438,42, - 44,683,553,727,22,692,1189,1043,1498,138, - 165,125,1742,392,289,1145,142,145,148,151, - 324,431,681,20,17,21,18,438,321,1479, - 1183,1526,1538,1552,1155,615,20,17,21,18, - 438,1285,44,683,553,727,23,692,1189,1043, - 1242,1195,1246,1245,74,280,281,20,17,21, - 18,438,1285,44,683,553,727,1739,692,1189, - 1043,1242,1195,1246,1245,74,749,238,125,185, - 1724,209,769,1679,281,125,187,125,295,1632, - 648,20,17,21,18,438,1285,44,683,553, - 727,290,692,1189,1043,1242,1195,1246,1245,74, - 91,714,20,17,21,18,438,1285,44,683, - 553,727,1744,692,1189,1043,1242,1195,1246,1245, - 74,791,474,20,17,21,18,438,42,44, - 683,553,727,364,692,1189,1043,1242,1195,1246, - 1245,93,15,330,648,20,17,21,18,438, - 42,44,683,1418,434,648,20,17,21,18, - 438,42,44,683,1420,833,315,20,17,21, - 18,438,1285,44,683,553,727,39,692,1189, - 1043,1242,1195,1246,1245,74,875,239,648,20, - 17,21,18,438,1285,44,683,553,727,237, - 692,1189,1043,1242,1195,1246,1245,74,92,648, - 20,17,21,18,438,1285,44,683,553,727, - 240,692,1189,1043,1242,1195,1246,1245,74,85, - 648,20,17,21,18,438,1285,44,683,553, - 727,237,692,1189,1043,1242,1195,1246,1245,74, - 84,648,20,17,21,18,438,1285,44,683, - 553,727,242,692,1189,1043,1242,1195,1246,1245, - 74,83,648,20,17,21,18,438,1285,44, - 683,553,727,237,692,1189,1043,1242,1195,1246, - 1245,74,82,648,20,17,21,18,438,1285, - 44,683,553,727,328,692,1189,1043,1242,1195, - 1246,1245,74,81,648,20,17,21,18,438, - 1285,44,683,553,727,237,692,1189,1043,1242, - 1195,1246,1245,74,80,648,20,17,21,18, - 438,1285,44,683,553,727,241,692,1189,1043, - 1242,1195,1246,1245,74,79,648,20,17,21, - 18,438,1285,44,683,553,727,237,692,1189, - 1043,1242,1195,1246,1245,74,78,648,20,17, - 21,18,438,1285,44,683,553,727,243,692, - 1189,1043,1242,1195,1246,1245,74,77,648,20, - 17,21,18,438,1285,44,683,553,727,237, - 692,1189,1043,1242,1195,1246,1245,74,76,648, - 20,17,21,18,438,1285,44,683,553,727, - 244,692,1189,1043,1242,1195,1246,1245,74,75, - 648,20,17,21,18,438,1285,44,683,553, - 727,237,692,1189,1043,1242,1195,1246,1245,74, - 73,648,20,17,21,18,438,1285,44,683, - 553,727,294,692,1189,1043,1242,1195,1246,1245, - 74,917,648,20,17,21,18,438,1285,44, - 683,553,727,401,692,1189,1043,1242,1195,1246, - 1245,74,959,648,20,17,21,18,438,42, - 44,683,553,727,25,692,1189,1043,1242,1195, - 1246,1245,93,648,20,17,21,18,438,42, - 44,683,553,727,322,692,1189,1043,1242,1195, - 1246,1245,93,1236,125,297,1001,549,20,17, - 21,18,438,42,43,648,20,17,21,18, - 438,42,44,683,553,727,211,692,1189,1043, - 1242,1195,1246,1245,93,648,20,17,21,18, - 438,42,44,683,553,727,6,692,1189,1043, - 1242,1195,1246,1245,93,767,28,399,1581,541, - 541,1632,530,792,686,225,178,648,20,17, - 21,18,438,42,44,683,553,727,201,692, - 1189,1043,1242,1195,1246,1245,93,134,212,322, - 323,274,275,768,414,137,133,135,159,73, - 179,1537,6,389,28,400,25,25,6,1632, - 202,482,1742,1748,1196,134,212,322,323,1201, - 139,165,25,144,133,135,159,143,146,149, - 152,273,431,348,6,1634,1254,217,1256,220, - 1409,222,223,228,1701,630,239,266,1154,1153, - 271,1634,450,262,6,186,77,1785,1301,276, - 446,273,618,263,402,1422,871,217,1256,220, - 1409,222,223,228,1604,1833,87,266,1154,1153, - 271,208,523,1496,648,20,17,21,18,438, - 42,44,1333,1334,227,771,1493,1743,747,260, - 648,20,17,21,18,438,42,44,683,553, - 727,587,692,1189,1043,1242,1578,648,20,17, - 21,18,438,42,44,683,553,727,625,692, - 1189,1529,681,20,17,21,18,438,320,273, - 1636,253,6,480,324,218,1256,220,1409,222, - 223,228,1212,1771,622,268,1154,1153,271,648, - 20,17,21,18,438,42,44,683,553,727, - 272,692,1455,592,488,217,1256,220,1409,222, - 223,228,648,20,17,21,18,438,42,44, - 1363,1770,648,20,17,21,18,438,42,44, - 683,553,727,324,1494,648,20,17,21,18, - 438,42,44,683,553,727,253,1497,667,846, - 454,291,324,733,197,199,773,1212,750,278, - 800,1792,482,1742,1532,648,20,17,21,18, - 438,42,44,683,553,1408,277,226,279,874, - 217,1256,220,1409,222,223,228,648,20,17, - 21,18,438,42,40,129,1770,648,20,17, - 21,18,438,42,44,683,553,1413,648,20, - 17,21,18,438,42,44,683,553,1416,388, - 87,648,20,17,21,18,438,42,39,198, - 199,1212,208,875,75,238,324,131,590,620, - 1150,134,212,322,323,875,1698,1505,1743,141, - 133,135,159,293,217,1256,220,1409,222,223, - 228,276,224,273,541,6,788,273,1636,672, - 1496,541,653,351,140,165,630,61,808,266, - 1154,1153,271,268,1154,1153,271,547,134,212, - 322,323,828,689,1524,1334,147,133,135,159, - 134,212,322,323,494,203,1740,87,150,133, - 135,159,180,1533,134,212,322,323,820,324, - 1193,237,153,133,135,159,440,20,17,21, - 18,438,42,36,440,20,17,21,18,438, - 42,36,296,193,719,229,259,245,681,20, - 17,21,18,438,319,329,440,20,17,21, - 18,438,42,36,648,20,17,21,18,438, - 42,38,867,1636,625,282,869,246,218,1256, - 220,1409,222,223,228,648,20,17,21,18, - 438,42,37,648,20,17,21,18,438,42, - 36,648,20,17,21,18,438,42,35,70, - 648,20,17,21,18,438,42,47,481,870, - 394,648,20,17,21,18,438,42,46,648, - 20,17,21,18,438,42,45,273,361,508, - 454,361,681,20,17,21,18,438,41,494, - 630,1779,494,266,1154,1153,271,681,20,17, - 21,18,438,34,872,1193,230,1634,1193,265, - 1634,681,20,17,21,18,438,33,6,127, - 541,87,623,876,127,6,826,314,57,365, - 1499,258,251,1301,258,1393,365,1678,1393,494, - 1678,253,212,322,323,196,253,212,322,323, - 831,169,196,113,181,196,1906,1906,233,809, - 87,204,494,287,494,127,426,87,376,1669, - 494,183,171,426,630,1906,1669,1791,196,422, - 196,1906,1791,494,1906,1906,1193,253,212,322, - 323,425,1906,254,212,322,323,191,529,1193, - 1906,1906,422,1906,422,89,716,1906,1906,1149, - 1773,1011,258,127,1906,1906,1579,507,1678,1906, - 191,548,192,1837,1906,258,1906,1906,1906,1412, - 1906,1678,1531,1773,1906,253,212,322,323,254, - 212,322,323,254,212,322,323,1906,1906,1906, - 1906,1906,1906,560,1752,1906,1906,1906,1906,1906, - 1906,1906,1906,1906,1906,1906,1906,1906,1906,1906, - 1906,1841,1906,0,325,672,0,20,178,0, - 1,2131,0,1,2142,0 + 112,112,112,112,131,131,1,1289,17,21, + 18,439,1286,44,684,554,728,760,693,1190, + 1044,1243,1196,1247,1246,74,91,866,135,213, + 323,324,227,184,529,25,137,134,136,160, + 582,20,17,21,18,439,1286,44,684,554, + 728,392,693,1190,1044,1243,1196,1247,1246,74, + 281,139,166,690,1635,6,324,324,143,146, + 149,152,53,432,1332,40,448,125,31,69, + 435,1480,1184,1527,1539,1553,1156,1500,541,282, + 125,31,1098,19,1633,648,20,17,21,18, + 439,42,44,684,554,1365,287,354,20,17, + 21,18,439,1286,44,684,554,728,392,693, + 1190,1044,1243,1196,1247,1246,74,281,288,284, + 325,1747,1412,293,195,225,179,1440,648,20, + 17,21,18,439,42,44,684,554,728,25, + 693,1190,1044,1243,1196,1548,282,135,213,323, + 324,1633,24,393,237,137,134,136,160,59, + 324,125,187,289,648,20,17,21,18,439, + 42,44,684,554,728,22,693,1190,1044,1499, + 139,166,125,1743,392,290,1146,143,146,149, + 152,324,432,681,20,17,21,18,439,322, + 1480,1184,1527,1539,1553,1156,615,20,17,21, + 18,439,1286,44,684,554,728,23,693,1190, + 1044,1243,1196,1247,1246,74,281,281,20,17, + 21,18,439,1286,44,684,554,728,1740,693, + 1190,1044,1243,1196,1247,1246,74,750,239,125, + 186,1725,210,769,1680,282,125,188,125,296, + 1633,648,20,17,21,18,439,1286,44,684, + 554,728,291,693,1190,1044,1243,1196,1247,1246, + 74,91,714,20,17,21,18,439,1286,44, + 684,554,728,1745,693,1190,1044,1243,1196,1247, + 1246,74,792,474,20,17,21,18,439,42, + 44,684,554,728,364,693,1190,1044,1243,1196, + 1247,1246,93,15,331,648,20,17,21,18, + 439,42,44,684,1419,435,648,20,17,21, + 18,439,42,44,684,1421,834,315,20,17, + 21,18,439,1286,44,684,554,728,39,693, + 1190,1044,1243,1196,1247,1246,74,876,240,648, + 20,17,21,18,439,1286,44,684,554,728, + 237,693,1190,1044,1243,1196,1247,1246,74,92, + 648,20,17,21,18,439,1286,44,684,554, + 728,241,693,1190,1044,1243,1196,1247,1246,74, + 85,648,20,17,21,18,439,1286,44,684, + 554,728,237,693,1190,1044,1243,1196,1247,1246, + 74,84,648,20,17,21,18,439,1286,44, + 684,554,728,243,693,1190,1044,1243,1196,1247, + 1246,74,83,648,20,17,21,18,439,1286, + 44,684,554,728,237,693,1190,1044,1243,1196, + 1247,1246,74,82,648,20,17,21,18,439, + 1286,44,684,554,728,329,693,1190,1044,1243, + 1196,1247,1246,74,81,648,20,17,21,18, + 439,1286,44,684,554,728,237,693,1190,1044, + 1243,1196,1247,1246,74,80,648,20,17,21, + 18,439,1286,44,684,554,728,242,693,1190, + 1044,1243,1196,1247,1246,74,79,648,20,17, + 21,18,439,1286,44,684,554,728,237,693, + 1190,1044,1243,1196,1247,1246,74,78,648,20, + 17,21,18,439,1286,44,684,554,728,244, + 693,1190,1044,1243,1196,1247,1246,74,77,648, + 20,17,21,18,439,1286,44,684,554,728, + 237,693,1190,1044,1243,1196,1247,1246,74,76, + 648,20,17,21,18,439,1286,44,684,554, + 728,245,693,1190,1044,1243,1196,1247,1246,74, + 75,648,20,17,21,18,439,1286,44,684, + 554,728,237,693,1190,1044,1243,1196,1247,1246, + 74,73,648,20,17,21,18,439,1286,44, + 684,554,728,295,693,1190,1044,1243,1196,1247, + 1246,74,918,648,20,17,21,18,439,1286, + 44,684,554,728,401,693,1190,1044,1243,1196, + 1247,1246,74,960,648,20,17,21,18,439, + 42,44,684,554,728,25,693,1190,1044,1243, + 1196,1247,1246,93,648,20,17,21,18,439, + 42,44,684,554,728,322,693,1190,1044,1243, + 1196,1247,1246,93,1237,125,298,1002,549,20, + 17,21,18,439,42,43,648,20,17,21, + 18,439,42,44,684,554,728,212,693,1190, + 1044,1243,1196,1247,1246,93,648,20,17,21, + 18,439,42,44,684,554,728,6,693,1190, + 1044,1243,1196,1247,1246,93,767,28,400,1582, + 541,541,1633,531,792,686,225,179,648,20, + 17,21,18,439,42,44,684,554,728,202, + 693,1190,1044,1243,1196,1247,1246,93,135,213, + 323,324,275,276,768,414,138,134,136,160, + 73,180,1538,6,389,28,400,25,25,6, + 1633,203,482,1743,1749,1197,135,213,323,324, + 1202,140,166,25,145,134,136,160,144,147, + 150,153,274,432,348,6,1635,1255,218,1257, + 221,1410,223,224,229,1702,631,239,267,1155, + 1154,272,1635,450,263,6,186,77,1786,1302, + 277,446,274,619,264,402,1423,871,218,1257, + 221,1410,223,224,229,1605,1834,87,267,1155, + 1154,272,209,524,1497,648,20,17,21,18, + 439,42,44,1334,1335,228,771,1494,1744,747, + 261,648,20,17,21,18,439,42,44,684, + 554,728,587,693,1190,1044,1243,1579,648,20, + 17,21,18,439,42,44,684,554,728,626, + 693,1190,1530,681,20,17,21,18,439,321, + 274,1637,253,6,480,324,219,1257,221,1410, + 223,224,229,1213,1772,623,269,1155,1154,272, + 648,20,17,21,18,439,42,44,684,554, + 728,273,693,1456,592,488,218,1257,221,1410, + 223,224,229,648,20,17,21,18,439,42, + 44,1364,1771,648,20,17,21,18,439,42, + 44,684,554,728,324,1495,648,20,17,21, + 18,439,42,44,684,554,728,253,1498,667, + 846,454,291,324,733,198,200,773,1213,750, + 279,800,1793,482,1743,1533,648,20,17,21, + 18,439,42,44,684,554,1409,278,227,280, + 874,218,1257,221,1410,223,224,229,648,20, + 17,21,18,439,42,40,129,1771,648,20, + 17,21,18,439,42,44,684,554,1414,648, + 20,17,21,18,439,42,44,684,554,1417, + 388,87,648,20,17,21,18,439,42,39, + 199,200,1213,209,875,75,238,324,131,590, + 620,1151,135,213,323,324,875,1699,1506,1744, + 142,134,136,160,294,218,1257,221,1410,223, + 224,229,277,225,274,541,6,788,274,1637, + 672,1497,541,653,351,141,166,631,61,808, + 267,1155,1154,272,269,1155,1154,272,547,135, + 213,323,324,828,689,1525,1335,148,134,136, + 160,135,213,323,324,495,204,1741,87,151, + 134,136,160,181,1534,135,213,323,324,820, + 324,1194,237,154,134,136,160,440,20,17, + 21,18,439,42,36,440,20,17,21,18, + 439,42,36,297,194,719,230,260,246,681, + 20,17,21,18,439,320,330,440,20,17, + 21,18,439,42,36,648,20,17,21,18, + 439,42,38,867,1637,625,283,869,247,219, + 1257,221,1410,223,224,229,648,20,17,21, + 18,439,42,37,648,20,17,21,18,439, + 42,36,648,20,17,21,18,439,42,35, + 70,648,20,17,21,18,439,42,47,481, + 870,395,648,20,17,21,18,439,42,46, + 648,20,17,21,18,439,42,45,274,361, + 508,454,361,681,20,17,21,18,439,41, + 495,631,1780,495,267,1155,1154,272,681,20, + 17,21,18,439,34,872,1194,231,1635,1194, + 266,1635,681,20,17,21,18,439,33,6, + 127,541,87,623,876,127,6,826,315,57, + 366,1500,259,251,1302,259,1394,366,1679,1394, + 495,1679,254,213,323,324,197,254,213,323, + 324,831,169,197,113,181,197,1907,1907,234, + 809,87,205,495,287,495,127,427,87,377, + 1670,495,183,171,427,631,1907,1670,1792,197, + 423,197,1907,1792,495,1907,1907,1194,254,213, + 323,324,426,1907,255,213,323,324,192,530, + 1194,1907,1907,423,1907,423,89,717,1907,1907, + 1150,1774,1012,259,127,1907,1907,1580,507,1679, + 1907,192,548,193,1838,1907,259,1907,1907,1907, + 1413,1907,1679,1532,1774,1907,254,213,323,324, + 255,213,323,324,255,213,323,324,1907,1907, + 1907,1907,1907,1907,561,1753,1907,1907,1907,1907, + 1907,1907,1907,1907,1907,1907,1907,1907,1907,1907, + 1907,1907,1842,1907,0,326,673,0,20,179, + 0,1,2133,0,1,2144,0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -540,98 +540,98 @@ public class UPCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface TermAction { public final static char termAction[] = {0, - 1906,1917,1738,1918,1653,1,2119,2120,2121,2232, - 386,2233,1645,1624,59,1661,1731,1717,1702,2068, - 1919,1920,1921,1922,252,1481,1447,2222,2223,2224, - 1608,1322,562,2069,2067,2122,2070,2066,54,88, - 2073,2078,2077,2075,2076,2074,2079,2080,2072,2081, - 2082,2083,181,1250,1184,1084,1906,1,182,1, - 285,190,1,1,1,1,1,1,32,264, - 1783,1495,62,1,61,1,70,738,1468,1457, - 1425,454,1224,596,1932,1933,1,2131,1480,1, - 1,1,1,1,694,705,1,1,1,1, - 1,1,1,1,1,1,1,1,190,1, - 1,1,1906,1,1906,1,2101,189,1,1, - 1,1,1,1,1906,1917,1906,1918,63,449, - 60,1,2119,2120,2121,2232,386,2233,1468,1457, - 1425,454,1395,1382,436,1,1,1,1,1, - 1290,1906,1,1,1,1,1,1,1,1, - 1,1,1,1,189,1,1,1,1906,1, - 1,1,2101,190,1,1,1,1,1,1, - 1906,2143,247,1906,1917,72,1918,1,2119,2120, - 2121,2232,386,2233,1468,1457,1425,454,1395,1382, - 1906,1,1,1,1,1,1906,1192,1,1, + 1907,1918,1739,1919,1654,1,2121,2122,2123,2234, + 387,2235,1646,1625,59,1662,1732,1718,1703,2070, + 1920,1921,1922,1923,253,1482,1448,2224,2225,2226, + 1609,1323,563,2071,2069,2124,2072,2068,54,88, + 2075,2080,2079,2077,2078,2076,2081,2082,2074,2083, + 2084,2085,182,1251,1185,1085,1907,1,183,1, + 286,191,1,1,1,1,1,1,32,265, + 1784,1496,62,1,61,1,70,739,1469,1458, + 1426,455,1225,597,1933,1934,1,2133,1481,1, + 1,1,1,1,695,706,1,1,1,1, + 1,1,1,1,1,1,1,1,191,1, + 1,1,1907,1,1907,1,2103,190,1,1, + 1,1,1,1,1907,1918,1907,1919,63,450, + 60,1,2121,2122,2123,2234,387,2235,1469,1458, + 1426,455,1396,1383,437,1,1,1,1,1, + 1291,1907,1,1,1,1,1,1,1,1, + 1,1,1,1,190,1,1,1,1907,1, + 1,1,2103,191,1,1,1,1,1,1, + 1907,2145,248,1907,1918,72,1919,1,2121,2122, + 2123,2234,387,2235,1469,1458,1426,455,1396,1383, + 1907,1,1,1,1,1,1907,1193,1,1, 1,1,1,1,1,1,1,1,1,1, - 190,1,1,1,1906,1917,1906,1918,2101,2163, - 2119,2120,2121,2232,386,2233,1906,1,248,1495, - 1053,1910,1912,2068,1,1,1,1,1,1, - 1906,596,1,2131,1480,1912,1906,2069,2067,2122, - 2070,2066,497,1525,2073,2078,2077,2075,2076,2074, - 2079,2080,2072,2081,2082,2083,1911,1250,1184,1084, - 1,1917,1738,1918,1586,1910,1,627,1774,1911, - 291,90,1645,1624,1909,1661,1731,1717,1702,651, - 1919,1920,1921,1922,1105,1481,1447,2222,2223,2224, - 1608,1322,562,1906,1906,1917,1738,1918,1616,1910, - 1125,184,3147,1906,3147,90,1645,1624,1912,1661, - 1731,1717,1702,1032,1919,1920,1921,1922,1909,1481, - 1447,2222,2223,2224,1608,1322,562,1,1900,1223, - 1906,1094,1912,1,1917,1738,1918,1653,29,1906, - 1,596,1911,48,252,1645,1624,1689,1661,1731, - 1717,1702,1909,1919,1920,1921,1922,3029,1481,1447, - 2222,2223,2224,1608,1322,562,1911,128,261,2131, - 1223,51,1,2119,2120,2121,2232,386,2233,68, - 64,249,596,1372,1274,29,2068,1,1,1, - 1,1,1,183,3148,1349,3148,1906,990,2163, - 2069,2067,2122,2070,2066,1681,1670,2073,2078,2077, - 2075,2076,2074,2079,2080,2072,2081,2082,2083,1906, - 1917,1738,1918,1653,1910,205,3149,1906,3149,66, - 1906,1645,1624,1,1661,1731,1717,1702,1912,1919, - 1920,1921,1922,1906,1481,1447,2222,2223,2224,1608, - 1322,562,533,1906,1917,1738,1918,1594,1910,50, - 255,207,1917,1689,1918,1645,1624,58,1661,1731, - 1717,1702,1911,1919,1920,1921,1922,1909,1481,1447, - 2222,2223,2224,1608,1322,562,250,1906,1,1, - 1,1,2119,2120,2121,2232,386,2233,1553,1, - 1,1307,1,1,1,1,1906,1,1,1, - 1,1909,1,1,1,1,1,1,1,1, - 1906,1681,1670,694,705,1914,71,251,1906,1917, - 1738,1918,1653,2119,2120,2121,2232,386,2233,1906, - 1645,1624,1906,1661,1731,1717,1702,2221,1919,1920, - 1921,1922,3029,1481,1447,2222,2223,2224,1608,1322, - 562,1,1917,1738,1918,1653,267,2131,1223,67, - 252,49,1913,1645,1624,1689,1661,1731,1717,1702, - 596,1919,1920,1921,1922,3029,1481,1447,2222,2223, - 2224,1608,1322,562,1906,1917,1738,1918,1653,267, - 1290,1495,210,252,1906,1906,1645,1624,1064,1661, - 1731,1717,1702,596,1919,1920,1921,1922,3029,1481, - 1447,2222,2223,2224,1608,1322,562,1906,1917,1738, - 1918,1653,1906,1681,1670,206,551,1916,551,1645, - 1624,1307,1661,1731,1717,1702,57,1919,1920,1921, - 1922,65,1481,1447,2222,2223,2224,1608,1322,562, - 1906,1917,1745,1918,1653,269,1349,1410,1,1, - 1406,1073,1645,1624,1916,1661,1731,1717,1702,596, - 1919,1920,1921,1922,1906,1481,1447,2222,2223,2224, - 1608,1322,562,1,1917,1738,1918,1653,252,2131, - 1480,1906,694,705,1906,1645,1624,1915,1661,1731, - 1717,1702,56,1919,1920,1921,1922,1906,1481,1447, - 2222,2223,2224,1608,1322,562,20,2162,1897,53, - 1897,1897,178,178,178,178,178,178,284,1906, - 1897,1372,1274,424,1915,178,1906,129,1906,1917, - 42,1918,55,2119,2120,2121,2232,386,2233,178, - 178,178,178,178,1906,1897,2068,130,694,705, - 3029,270,1198,2119,2120,2121,2232,386,2233,52, - 2069,2067,2122,2070,2066,596,2068,131,1,1903, - 424,1372,1274,2119,2120,2121,2232,386,2233,69, - 2069,2067,2122,2070,2066,1906,2068,132,694,705, - 200,1906,1906,2119,2120,2121,2232,386,2233,969, - 2069,2067,2122,2070,2066,221,2068,1700,1893,948, - 927,906,885,864,822,843,801,780,759,596, - 2069,2067,2122,2070,2066,325,1906,2163,1906,1906, - 219,1906,1197,30,30,206,188,188,188,1894, - 1906,1906,1906,1906,596,1906,1906,1906,1906,1906, - 1136,1906,533,1244,575,1332,1906,1906,1157,1906, - 184,183,205,1906,1906,1906,1906,1906,1906,1906, - 1906,466,1935,2926 + 191,1,1,1,1907,1918,1907,1919,2103,2165, + 2121,2122,2123,2234,387,2235,1907,1,249,1496, + 1054,1911,1913,2070,1,1,1,1,1,1, + 1907,597,1,2133,1481,1913,1907,2071,2069,2124, + 2072,2068,498,1526,2075,2080,2079,2077,2078,2076, + 2081,2082,2074,2083,2084,2085,1912,1251,1185,1085, + 1,1918,1739,1919,1587,1911,1,628,1775,1912, + 292,90,1646,1625,1910,1662,1732,1718,1703,652, + 1920,1921,1922,1923,1106,1482,1448,2224,2225,2226, + 1609,1323,563,1907,1907,1918,1739,1919,1617,1911, + 1126,185,3149,1907,3149,90,1646,1625,1913,1662, + 1732,1718,1703,1033,1920,1921,1922,1923,1910,1482, + 1448,2224,2225,2226,1609,1323,563,1,1901,1224, + 1907,1095,1913,1,1918,1739,1919,1654,29,1907, + 1,597,1912,48,253,1646,1625,1690,1662,1732, + 1718,1703,1910,1920,1921,1922,1923,3031,1482,1448, + 2224,2225,2226,1609,1323,563,1912,129,262,2133, + 1224,51,1,2121,2122,2123,2234,387,2235,68, + 64,250,597,1373,1275,29,2070,1,1,1, + 1,1,1,184,3150,1350,3150,1907,991,2165, + 2071,2069,2124,2072,2068,1682,1671,2075,2080,2079, + 2077,2078,2076,2081,2082,2074,2083,2084,2085,1907, + 1918,1739,1919,1654,1911,206,3151,1907,3151,66, + 1907,1646,1625,1,1662,1732,1718,1703,1913,1920, + 1921,1922,1923,1907,1482,1448,2224,2225,2226,1609, + 1323,563,534,1907,1918,1739,1919,1595,1911,50, + 256,208,1918,1690,1919,1646,1625,58,1662,1732, + 1718,1703,1912,1920,1921,1922,1923,1910,1482,1448, + 2224,2225,2226,1609,1323,563,251,1907,1,1, + 1,1,2121,2122,2123,2234,387,2235,1554,1, + 1,1308,1,1,1,1,1907,1,1,1, + 1,1910,1,1,1,1,1,1,1,1, + 1907,1682,1671,695,706,1915,71,252,1907,1918, + 1739,1919,1654,2121,2122,2123,2234,387,2235,1907, + 1646,1625,1907,1662,1732,1718,1703,2223,1920,1921, + 1922,1923,3031,1482,1448,2224,2225,2226,1609,1323, + 563,1,1918,1739,1919,1654,268,2133,1224,67, + 253,49,1914,1646,1625,1690,1662,1732,1718,1703, + 597,1920,1921,1922,1923,3031,1482,1448,2224,2225, + 2226,1609,1323,563,1907,1918,1739,1919,1654,268, + 1291,1496,211,253,1907,1907,1646,1625,1065,1662, + 1732,1718,1703,597,1920,1921,1922,1923,3031,1482, + 1448,2224,2225,2226,1609,1323,563,1907,1918,1739, + 1919,1654,1907,1682,1671,207,552,1917,552,1646, + 1625,1308,1662,1732,1718,1703,57,1920,1921,1922, + 1923,65,1482,1448,2224,2225,2226,1609,1323,563, + 1907,1918,1746,1919,1654,270,1350,1411,1,1, + 1407,1074,1646,1625,1917,1662,1732,1718,1703,597, + 1920,1921,1922,1923,1907,1482,1448,2224,2225,2226, + 1609,1323,563,1,1918,1739,1919,1654,253,2133, + 1481,1907,695,706,1907,1646,1625,1916,1662,1732, + 1718,1703,56,1920,1921,1922,1923,1907,1482,1448, + 2224,2225,2226,1609,1323,563,20,2164,1898,53, + 1898,1898,179,179,179,179,179,179,285,1907, + 1898,1373,1275,425,1916,179,1907,130,1907,1918, + 42,1919,55,2121,2122,2123,2234,387,2235,179, + 179,179,179,179,1907,1898,2070,131,695,706, + 3031,271,1199,2121,2122,2123,2234,387,2235,52, + 2071,2069,2124,2072,2068,597,2070,132,1,1904, + 425,1373,1275,2121,2122,2123,2234,387,2235,69, + 2071,2069,2124,2072,2068,1907,2070,133,695,706, + 201,1907,1907,2121,2122,2123,2234,387,2235,970, + 2071,2069,2124,2072,2068,222,2070,1701,1894,949, + 928,907,886,865,823,844,802,781,760,597, + 2071,2069,2124,2072,2068,326,1907,2165,1907,1907, + 220,1907,1198,30,30,207,189,189,189,1895, + 1907,1907,1907,1907,597,1907,1907,1907,1907,1907, + 1137,1907,534,1245,576,1333,1907,1907,1158,1907, + 185,184,206,1907,1907,1907,1907,1907,1907,1907, + 1907,467,1936,2928 }; }; public final static char termAction[] = TermAction.termAction; @@ -897,17 +897,17 @@ public class UPCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeState { public final static char scopeState[] = {0, - 1411,0,391,0,1771,1773,1748,0,1604,1301, - 1406,1480,1331,1223,1193,0,386,0,575,466, - 399,1145,1097,0,1155,494,365,0,1409,1256, - 1154,1153,1301,1499,1223,1193,1495,1669,0,1731, - 1717,1702,1608,1322,562,1616,1594,1586,1097,1290, - 497,1307,533,1395,1382,1349,705,694,1468,1457, - 1425,454,1689,1681,1670,1372,1274,1661,1653,1645, - 1624,1481,1447,1157,1125,1105,575,1073,1053,1032, - 1011,716,990,672,651,596,969,948,927,906, - 885,864,843,822,801,780,759,365,738,630, - 466,399,0 + 1412,0,392,0,1772,1774,1749,0,1605,1302, + 1407,1481,1332,1224,1194,0,387,0,576,467, + 400,1146,1098,0,1156,495,366,0,1410,1257, + 1155,1154,1302,1500,1224,1194,1496,1670,0,1732, + 1718,1703,1609,1323,563,1617,1595,1587,1098,1291, + 498,1308,534,1396,1383,1350,706,695,1469,1458, + 1426,455,1690,1682,1671,1373,1275,1662,1654,1646, + 1625,1482,1448,1158,1126,1106,576,1074,1054,1033, + 1012,717,991,673,652,597,970,949,928,907, + 886,865,844,823,802,781,760,366,739,631, + 467,400,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -1149,18 +1149,18 @@ public class UPCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public final static int NUM_STATES = 214, NT_OFFSET = 107, - LA_STATE_OFFSET = 2270, + LA_STATE_OFFSET = 2272, MAX_LA = 2, - NUM_RULES = 364, + NUM_RULES = 365, NUM_NONTERMINALS = 131, NUM_SYMBOLS = 238, SEGMENT_SIZE = 8192, - START_STATE = 1699, + START_STATE = 1700, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 89, EOLT_SYMBOL = 89, - ACCEPT_ACTION = 1893, - ERROR_ACTION = 1906; + ACCEPT_ACTION = 1894, + ERROR_ACTION = 1907; public final static boolean BACKTRACK = true; diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCSizeofExpressionParsersym.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCSizeofExpressionParsersym.java index 6b8b4262020..2c7debc8eb5 100644 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCSizeofExpressionParsersym.java +++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCSizeofExpressionParsersym.java @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 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 diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/META-INF/MANIFEST.MF b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/META-INF/MANIFEST.MF index 4585010ad28..82e4a1c5303 100644 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/META-INF/MANIFEST.MF +++ b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: XLC Parser Tests Bundle-SymbolicName: org.eclipse.cdt.core.lrparser.xlc.tests -Bundle-Version: 5.0.2.qualifier +Bundle-Version: 5.0.3.qualifier Bundle-RequiredExecutionEnvironment: J2SE-1.5 Require-Bundle: org.junit, org.eclipse.cdt.core.lrparser, diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcCompletionHangingTest.java b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcCompletionHangingTest.java new file mode 100644 index 00000000000..c56f352d4e0 --- /dev/null +++ b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcCompletionHangingTest.java @@ -0,0 +1,43 @@ +/******************************************************************************* + * Copyright (c) 2010 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.parser.xlc.tests.base; + +import junit.framework.TestSuite; + +import org.eclipse.cdt.core.lrparser.tests.AbstractLRHangingTest; +import org.eclipse.cdt.core.lrparser.tests.LRCompletionHangingTest; +import org.eclipse.cdt.core.lrparser.xlc.XlcCLanguage; +import org.eclipse.cdt.core.lrparser.xlc.XlcCPPLanguage; + +public class XlcCompletionHangingTest extends LRCompletionHangingTest{ + + + public static TestSuite suite() { + return new TestSuite(XlcCompletionHangingTest.class); + } + + + protected XlcCLanguage getCLanguage() { + return XlcCLanguage.getDefault(); + } + + protected XlcCPPLanguage getCPPLanguage() { + return XlcCPPLanguage.getDefault(); + } + + public void testCompletionXlc() throws Exception { + + String code = + " __static_assert" + CONTENT_ASIST_CURSOR +"(a>" + CONTENT_ASIST_CURSOR +"b, \"no 64-bit support\"); \n"+ + " vector " + CONTENT_ASIST_CURSOR +"unsigned " + CONTENT_ASIST_CURSOR +"int d = ++a; \n"; + runTestCase(code, getCPPLanguage()); + } +} diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRParserTestSuite.java b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRParserTestSuite.java index 033768cb052..a1caffa7c53 100644 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRParserTestSuite.java +++ b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRParserTestSuite.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009 IBM Corporation and others. + * Copyright (c) 2009, 2010 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 @@ -12,6 +12,8 @@ package org.eclipse.cdt.core.parser.xlc.tests.base; + + import junit.framework.Test; import junit.framework.TestSuite; @@ -54,6 +56,7 @@ public class XlcLRParserTestSuite extends TestSuite { addTest(XlcLRTests.suite()); // has some tests that do fail addTest(XlcLRUtilOldTests.suite()); addTest(XlcLRUtilTests.suite()); + addTest(XlcCompletionHangingTest.suite()); //addTest(XlcLRCPPImplicitNameTests.suite()); //addTest(LRInactiveCodeTests.suite()); diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/META-INF/MANIFEST.MF b/xlc/org.eclipse.cdt.core.lrparser.xlc/META-INF/MANIFEST.MF index cbceb90b47e..0756ab78bd0 100644 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc/META-INF/MANIFEST.MF +++ b/xlc/org.eclipse.cdt.core.lrparser.xlc/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name.1 Bundle-SymbolicName: org.eclipse.cdt.core.lrparser.xlc;singleton:=true -Bundle-Version: 5.0.2.qualifier +Bundle-Version: 5.0.3.qualifier Bundle-RequiredExecutionEnvironment: J2SE-1.5 Bundle-Localization: plugin Require-Bundle: org.eclipse.cdt.core, diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/grammar/build.xml b/xlc/org.eclipse.cdt.core.lrparser.xlc/grammar/build.xml index 99a4603a956..3d29cca943c 100644 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc/grammar/build.xml +++ b/xlc/org.eclipse.cdt.core.lrparser.xlc/grammar/build.xml @@ -1,5 +1,5 @@ <!-- - Copyright (c) 2009 IBM Corporation and others. + Copyright (c) 2009, 2010 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 @@ -10,40 +10,51 @@ --> <project name="XLC Parsers" default="c" basedir="."> - - <import file="../../org.eclipse.cdt.core.lrparser/grammar/generate.xml"/> - - <property name="c_location" value="../parser/org/eclipse/cdt/internal/core/lrparser/xlc/c"/> - <property name="cpp_location" value="../parser/org/eclipse/cdt/internal/core/lrparser/xlc/cpp"/> - + <import file="../../org.eclipse.cdt.core.lrparser/grammar/generate.xml" /> + + <property name="c_location" value="../parser/org/eclipse/cdt/internal/core/lrparser/xlc/c" /> + <property name="cpp_location" value="../parser/org/eclipse/cdt/internal/core/lrparser/xlc/cpp" /> + + <target name="c"> <antcall target="generate_c"> - <param name="grammar_name" value="XlcCParser"/> + <param name="grammar_name" value="XlcCParser" /> </antcall> - </target> - - <target name="cpp"> + </target> + + <target name="cpp"> <antcall target="generate_cpp"> - <param name="grammar_name" value="XlcCPPParser"/> + <param name="grammar_name" value="XlcCPPParser" /> </antcall> </target> - - + + <target name="generate_c"> + <property name="lpg_include" value="${lpg_include_loc}/gcc" /> <antcall target="generate"> - <param name="grammar_dir" value="xlc"/> - <param name="output_dir" value="${c_location}"/> - <param name="grammar_name" value="${grammar_name}"/> + <param name="grammar_dir" value="xlc" /> + <param name="output_dir" value="${c_location}" /> + <param name="grammar_name" value="${grammar_name}" /> </antcall> </target> - + <target name="generate_cpp"> + <property name="lpg_include" value="${lpg_include_loc}/gpp" /> <antcall target="generate"> - <param name="grammar_dir" value="xlc"/> - <param name="output_dir" value="${cpp_location}"/> - <param name="grammar_name" value="${grammar_name}"/> + <param name="grammar_dir" value="xlc" /> + <param name="output_dir" value="${cpp_location}" /> + <param name="grammar_name" value="${grammar_name}" /> </antcall> </target> -</project>
\ No newline at end of file + <target name="clean_l_files"> + <delete> + + <fileset dir="${c_location}" includes="**/*.l" /> + <fileset dir="${cpp_location}" includes="**/*.l" /> + + </delete> + </target> + +</project>
\ No newline at end of file diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/grammar/parserBuild.properties b/xlc/org.eclipse.cdt.core.lrparser.xlc/grammar/parserBuild.properties new file mode 100644 index 00000000000..f42a8776243 --- /dev/null +++ b/xlc/org.eclipse.cdt.core.lrparser.xlc/grammar/parserBuild.properties @@ -0,0 +1,15 @@ +############################################################################### +# Copyright (c) 2010 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 +############################################################################### + + +lpg_exe=D:/lpg/lpgdistribution/lpgexe/lpg.exe +lpg_template=D:/newWorkspace/rdp76_dev_3/org.eclipse.cdt.core.lrparser/grammar/template +lpg_include_loc=D:/newWorkspace/rdp76_dev_3/org.eclipse.cdt.core.lrparser/grammar diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/grammar/xlc/XlcCPPParser.g b/xlc/org.eclipse.cdt.core.lrparser.xlc/grammar/xlc/XlcCPPParser.g index 99079f99b7b..aed1fb7a0cc 100644 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc/grammar/xlc/XlcCPPParser.g +++ b/xlc/org.eclipse.cdt.core.lrparser.xlc/grammar/xlc/XlcCPPParser.g @@ -99,5 +99,10 @@ type_qualifier_list member_declaration ::= static_assert_declaration + +static_assert_declaration + ::= '__static_assert' '(' expression ',' literal ')' ';' + /. $Build consumeCPPASTStaticAssertDeclaration(); $EndBuild ./ + $End
\ No newline at end of file diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/grammar/xlc/XlcGrammarExtensions.g b/xlc/org.eclipse.cdt.core.lrparser.xlc/grammar/xlc/XlcGrammarExtensions.g index 739d9c9fc38..16cd82295ed 100644 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc/grammar/xlc/XlcGrammarExtensions.g +++ b/xlc/org.eclipse.cdt.core.lrparser.xlc/grammar/xlc/XlcGrammarExtensions.g @@ -90,9 +90,6 @@ no_type_declaration_specifiers_opt ::= no_type_declaration_specifiers | $empty -static_assert_declaration - ::= '__static_assert' '(' expression ',' literal ')' ';' - /. $Build consumeCPPASTStaticAssertDeclaration(); $EndBuild ./ $End diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/c/XlcCParser.java b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/c/XlcCParser.java index 89a5ebe05ed..b6705d53d5c 100644 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/c/XlcCParser.java +++ b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/c/XlcCParser.java @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 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 @@ -676,751 +676,757 @@ private GNUBuildASTParserAction gnuAction; // // Rule 118: iteration_statement ::= do statement while ( expression ) ; // - case 118: { action. consumeStatementDoLoop(); break; + case 118: { action. consumeStatementDoLoop(true); break; } // - // Rule 119: iteration_statement ::= while ( expression ) statement + // Rule 119: iteration_statement ::= do statement // - case 119: { action. consumeStatementWhileLoop(); break; + case 119: { action. consumeStatementDoLoop(false); break; } // - // Rule 120: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement + // Rule 120: iteration_statement ::= while ( expression ) statement // - case 120: { action. consumeStatementForLoop(); break; + case 120: { action. consumeStatementWhileLoop(); break; } // - // Rule 121: iteration_statement ::= for ( declaration expression_opt ; expression_opt ) statement + // Rule 121: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement // case 121: { action. consumeStatementForLoop(); break; } // - // Rule 122: jump_statement ::= goto identifier_token ; + // Rule 122: iteration_statement ::= for ( declaration expression_opt ; expression_opt ) statement // - case 122: { action. consumeStatementGoto(); break; + case 122: { action. consumeStatementForLoop(); break; } // - // Rule 123: jump_statement ::= continue ; + // Rule 123: jump_statement ::= goto identifier_token ; // - case 123: { action. consumeStatementContinue(); break; + case 123: { action. consumeStatementGoto(); break; } // - // Rule 124: jump_statement ::= break ; + // Rule 124: jump_statement ::= continue ; // - case 124: { action. consumeStatementBreak(); break; + case 124: { action. consumeStatementContinue(); break; } // - // Rule 125: jump_statement ::= return ; + // Rule 125: jump_statement ::= break ; // - case 125: { action. consumeStatementReturn(false); break; + case 125: { action. consumeStatementBreak(); break; } // - // Rule 126: jump_statement ::= return expression ; + // Rule 126: jump_statement ::= return ; // - case 126: { action. consumeStatementReturn(true); break; + case 126: { action. consumeStatementReturn(false); break; } // - // Rule 127: declaration ::= declaration_specifiers ; + // Rule 127: jump_statement ::= return expression ; // - case 127: { action. consumeDeclarationSimple(false); break; + case 127: { action. consumeStatementReturn(true); break; } // - // Rule 128: declaration ::= declaration_specifiers <openscope-ast> init_declarator_list ; + // Rule 128: declaration ::= declaration_specifiers ; // - case 128: { action. consumeDeclarationSimple(true); break; + case 128: { action. consumeDeclarationSimple(false); break; } // - // Rule 129: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers + // Rule 129: declaration ::= declaration_specifiers <openscope-ast> init_declarator_list ; // - case 129: { action. consumeDeclarationSpecifiersSimple(); break; + case 129: { action. consumeDeclarationSimple(true); break; } // - // Rule 130: declaration_specifiers ::= <openscope-ast> struct_or_union_declaration_specifiers + // Rule 130: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers // - case 130: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; + case 130: { action. consumeDeclarationSpecifiersSimple(); break; } // - // Rule 131: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers + // Rule 131: declaration_specifiers ::= <openscope-ast> struct_or_union_declaration_specifiers // case 131: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; } // - // Rule 132: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers + // Rule 132: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers // case 132: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; } // - // Rule 133: declaration_specifiers ::= <openscope-ast> typdef_name_declaration_specifiers + // Rule 133: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers // - case 133: { action. consumeDeclarationSpecifiersTypedefName(); break; + case 133: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; } // - // Rule 158: init_declarator ::= complete_declarator = initializer + // Rule 134: declaration_specifiers ::= <openscope-ast> typdef_name_declaration_specifiers // - case 158: { action. consumeDeclaratorWithInitializer(true); break; + case 134: { action. consumeDeclarationSpecifiersTypedefName(); break; } // - // Rule 160: storage_class_specifier ::= storage_class_specifier_token + // Rule 159: init_declarator ::= complete_declarator = initializer // - case 160: { action. consumeToken(); break; + case 159: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 166: simple_type_specifier ::= simple_type_specifier_token + // Rule 161: storage_class_specifier ::= storage_class_specifier_token // - case 166: { action. consumeToken(); break; + case 161: { action. consumeToken(); break; } // - // Rule 179: type_name_specifier ::= identifier_token + // Rule 167: simple_type_specifier ::= simple_type_specifier_token // - case 179: { action. consumeToken(); break; + case 167: { action. consumeToken(); break; } // - // Rule 180: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt } + // Rule 180: type_name_specifier ::= identifier_token // - case 180: { action. consumeTypeSpecifierComposite(false); break; + case 180: { action. consumeToken(); break; } // - // Rule 181: 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 181: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt } // - case 181: { action. consumeTypeSpecifierComposite(true); break; + case 181: { action. consumeTypeSpecifierComposite(false); break; } // - // Rule 186: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token + // 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 } // - case 186: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break; + case 182: { action. consumeTypeSpecifierComposite(true); break; } // - // Rule 187: elaborated_specifier ::= union elaborated_specifier_hook identifier_token + // Rule 187: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token // - case 187: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break; + case 187: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break; } // - // Rule 188: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token + // Rule 188: elaborated_specifier ::= union elaborated_specifier_hook identifier_token // - case 188: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break; + case 188: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break; } // - // Rule 194: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ; + // Rule 189: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token // - case 194: { action. consumeStructDeclaration(true); break; + case 189: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break; } // - // Rule 195: struct_declaration ::= specifier_qualifier_list ; + // Rule 195: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ; // - case 195: { action. consumeStructDeclaration(false); break; + case 195: { action. consumeStructDeclaration(true); break; } // - // Rule 196: struct_declaration ::= ERROR_TOKEN + // Rule 196: struct_declaration ::= specifier_qualifier_list ; // - case 196: { action. consumeDeclarationProblem(); break; + case 196: { action. consumeStructDeclaration(false); break; } // - // Rule 202: struct_declarator ::= : constant_expression + // Rule 197: struct_declaration ::= ERROR_TOKEN // - case 202: { action. consumeBitField(false); break; + case 197: { action. consumeDeclarationProblem(); break; } // - // Rule 203: struct_declarator ::= declarator : constant_expression + // Rule 203: struct_declarator ::= : constant_expression // - case 203: { action. consumeBitField(true); break; + case 203: { action. consumeBitField(false); break; } // - // Rule 204: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 204: struct_declarator ::= declarator : constant_expression // - case 204: { action. consumeTypeSpecifierEnumeration(false); break; + case 204: { action. consumeBitField(true); break; } // - // Rule 205: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 205: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } // - case 205: { action. consumeTypeSpecifierEnumeration(true); break; + case 205: { action. consumeTypeSpecifierEnumeration(false); break; } // - // Rule 211: enumerator ::= identifier_token + // Rule 206: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } // - case 211: { action. consumeEnumerator(false); break; + case 206: { action. consumeTypeSpecifierEnumeration(true); break; } // - // Rule 212: enumerator ::= identifier_token = constant_expression + // Rule 212: enumerator ::= identifier_token // - case 212: { action. consumeEnumerator(true); break; + case 212: { action. consumeEnumerator(false); break; } // - // Rule 213: type_qualifier ::= type_qualifier_token + // Rule 213: enumerator ::= identifier_token = constant_expression // - case 213: { action. consumeToken(); break; + case 213: { action. consumeEnumerator(true); break; } // - // Rule 217: function_specifier ::= inline + // Rule 214: type_qualifier ::= type_qualifier_token // - case 217: { action. consumeToken(); break; + case 214: { action. consumeToken(); break; } // - // Rule 219: declarator ::= <openscope-ast> pointer_seq direct_declarator + // Rule 218: function_specifier ::= inline // - case 219: { action. consumeDeclaratorWithPointer(true); break; + case 218: { action. consumeToken(); break; } // - // Rule 224: basic_direct_declarator ::= declarator_id_name + // Rule 220: declarator ::= <openscope-ast> pointer_seq direct_declarator // - case 224: { action. consumeDirectDeclaratorIdentifier(); break; + case 220: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 225: basic_direct_declarator ::= ( declarator ) + // Rule 225: basic_direct_declarator ::= declarator_id_name // - case 225: { action. consumeDirectDeclaratorBracketed(); break; + case 225: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 226: declarator_id_name ::= identifier + // Rule 226: basic_direct_declarator ::= ( declarator ) // - case 226: { action. consumeIdentifierName(); break; + case 226: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 227: array_direct_declarator ::= basic_direct_declarator array_modifier + // Rule 227: declarator_id_name ::= identifier // - case 227: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 227: { action. consumeIdentifierName(); break; } // - // Rule 228: array_direct_declarator ::= array_direct_declarator array_modifier + // Rule 228: array_direct_declarator ::= basic_direct_declarator array_modifier // case 228: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 230: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list ) + // Rule 229: array_direct_declarator ::= array_direct_declarator array_modifier // - case 230: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; + case 229: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 231: function_direct_declarator ::= basic_direct_declarator ( ) + // Rule 231: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list ) // - case 231: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; + case 231: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; } // - // Rule 233: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator + // Rule 232: function_direct_declarator ::= basic_direct_declarator ( ) // - case 233: { action. consumeDeclaratorWithPointer(true); break; + case 232: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; } // - // Rule 234: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list ) + // Rule 234: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator // - case 234: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; + case 234: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 236: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator + // Rule 235: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list ) // - case 236: { action. consumeDeclaratorWithPointer(true); break; + case 235: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; } // - // Rule 237: identifier_list ::= identifier + // Rule 237: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator // - case 237: { action. consumeIdentifierKnR(); break; + case 237: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 238: identifier_list ::= identifier_list , identifier + // Rule 238: identifier_list ::= identifier // case 238: { action. consumeIdentifierKnR(); break; } // - // Rule 239: array_modifier ::= [ ] + // Rule 239: identifier_list ::= identifier_list , identifier // - case 239: { action. consumeDirectDeclaratorArrayModifier(false); break; + case 239: { action. consumeIdentifierKnR(); break; } // - // Rule 240: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ] + // Rule 240: array_modifier ::= [ ] // - case 240: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break; + case 240: { action. consumeDirectDeclaratorArrayModifier(false); break; } // - // Rule 241: array_modifier ::= [ assignment_expression ] + // Rule 241: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ] // - case 241: { action. consumeDirectDeclaratorArrayModifier(true); break; + case 241: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break; } // - // Rule 242: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ] + // Rule 242: array_modifier ::= [ assignment_expression ] // - case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break; + case 242: { action. consumeDirectDeclaratorArrayModifier(true); break; } // - // Rule 243: array_modifier ::= [ static assignment_expression ] + // Rule 243: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ] // - case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break; + case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break; } // - // Rule 244: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ] + // Rule 244: array_modifier ::= [ static assignment_expression ] // - case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; + case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break; } // - // Rule 245: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ] + // Rule 245: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ] // case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; } // - // Rule 246: array_modifier ::= [ * ] + // Rule 246: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ] // - case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break; + case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; } // - // Rule 247: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ] + // Rule 247: array_modifier ::= [ * ] // - case 247: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break; + case 247: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break; } // - // Rule 249: pointer_seq ::= pointer_hook * pointer_hook + // Rule 248: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ] // - case 249: { action. consumePointer(); break; + case 248: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break; } // - // Rule 250: pointer_seq ::= pointer_seq pointer_hook * pointer_hook + // Rule 250: pointer_seq ::= pointer_hook * pointer_hook // case 250: { action. consumePointer(); break; } // - // Rule 251: pointer_seq ::= pointer_hook * pointer_hook <openscope-ast> type_qualifier_list + // Rule 251: pointer_seq ::= pointer_seq pointer_hook * pointer_hook // - case 251: { action. consumePointerTypeQualifierList(); break; + case 251: { action. consumePointer(); break; } // - // Rule 252: pointer_seq ::= pointer_seq pointer_hook * pointer_hook <openscope-ast> type_qualifier_list + // Rule 252: pointer_seq ::= pointer_hook * pointer_hook <openscope-ast> type_qualifier_list // case 252: { action. consumePointerTypeQualifierList(); break; } // - // Rule 256: parameter_type_list ::= parameter_list + // Rule 253: pointer_seq ::= pointer_seq pointer_hook * pointer_hook <openscope-ast> type_qualifier_list // - case 256: { action. consumeEmpty(); break; + case 253: { action. consumePointerTypeQualifierList(); break; } // - // Rule 257: parameter_type_list ::= parameter_list , ... + // Rule 257: parameter_type_list ::= parameter_list // - case 257: { action. consumePlaceHolder(); break; + case 257: { action. consumeEmpty(); break; } // - // Rule 258: parameter_type_list ::= ... + // Rule 258: parameter_type_list ::= parameter_list , ... // case 258: { action. consumePlaceHolder(); break; } // - // Rule 261: parameter_declaration ::= declaration_specifiers complete_parameter_declarator + // Rule 259: parameter_type_list ::= ... // - case 261: { action. consumeParameterDeclaration(); break; + case 259: { action. consumePlaceHolder(); break; } // - // Rule 262: parameter_declaration ::= declaration_specifiers + // Rule 262: parameter_declaration ::= declaration_specifiers complete_parameter_declarator // - case 262: { action. consumeParameterDeclarationWithoutDeclarator(); break; + case 262: { action. consumeParameterDeclaration(); break; } // - // Rule 265: type_id ::= specifier_qualifier_list + // Rule 263: parameter_declaration ::= declaration_specifiers // - case 265: { action. consumeTypeId(false); break; + case 263: { action. consumeParameterDeclarationWithoutDeclarator(); break; } // - // Rule 266: type_id ::= specifier_qualifier_list abstract_declarator + // Rule 266: type_id ::= specifier_qualifier_list // - case 266: { action. consumeTypeId(true); break; + case 266: { action. consumeTypeId(false); break; } // - // Rule 268: abstract_declarator ::= <openscope-ast> pointer_seq + // Rule 267: type_id ::= specifier_qualifier_list abstract_declarator // - case 268: { action. consumeDeclaratorWithPointer(false); break; + case 267: { action. consumeTypeId(true); break; } // - // Rule 269: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator + // Rule 269: abstract_declarator ::= <openscope-ast> pointer_seq // - case 269: { action. consumeDeclaratorWithPointer(true); break; + case 269: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 273: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 270: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator // - case 273: { action. consumeDirectDeclaratorBracketed(); break; + case 270: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 274: array_direct_abstract_declarator ::= array_modifier + // Rule 274: basic_direct_abstract_declarator ::= ( abstract_declarator ) // - case 274: { action. consumeDirectDeclaratorArrayDeclarator(false); break; + case 274: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 275: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier + // Rule 275: array_direct_abstract_declarator ::= array_modifier // - case 275: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 275: { action. consumeDirectDeclaratorArrayDeclarator(false); break; } // - // Rule 276: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier + // Rule 276: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier // case 276: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 277: function_direct_abstract_declarator ::= ( ) + // Rule 277: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier // - case 277: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break; + case 277: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + } + + // + // Rule 278: function_direct_abstract_declarator ::= ( ) + // + case 278: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break; } // - // Rule 278: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( ) + // Rule 279: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( ) // - case 278: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; + case 279: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; } // - // Rule 279: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list ) + // Rule 280: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list ) // - case 279: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break; + case 280: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break; } // - // Rule 280: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list ) + // Rule 281: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list ) // - case 280: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; + case 281: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; } // - // Rule 281: initializer ::= assignment_expression + // Rule 282: initializer ::= assignment_expression // - case 281: { action. consumeInitializer(); break; + case 282: { action. consumeInitializer(); break; } // - // Rule 283: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq comma_opt } end_initializer_list + // Rule 284: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq comma_opt } end_initializer_list // - case 283: { action. consumeInitializerList(); break; + case 284: { action. consumeInitializerList(); break; } // - // Rule 284: initializer_list ::= { <openscope-ast> } + // Rule 285: initializer_list ::= { <openscope-ast> } // - case 284: { action. consumeInitializerList(); break; + case 285: { action. consumeInitializerList(); break; } // - // Rule 285: start_initializer_list ::= $Empty + // Rule 286: start_initializer_list ::= $Empty // - case 285: { action. initializerListStart(); break; + case 286: { action. initializerListStart(); break; } // - // Rule 286: end_initializer_list ::= $Empty + // Rule 287: end_initializer_list ::= $Empty // - case 286: { action. initializerListEnd(); break; + case 287: { action. initializerListEnd(); break; } // - // Rule 291: designated_initializer ::= <openscope-ast> designation = initializer + // Rule 292: designated_initializer ::= <openscope-ast> designation = initializer // - case 291: { action. consumeInitializerDesignated(); break; + case 292: { action. consumeInitializerDesignated(); break; } // - // Rule 295: designator_base ::= [ constant_expression ] + // Rule 296: designator_base ::= [ constant_expression ] // - case 295: { action. consumeDesignatorArray(); break; + case 296: { action. consumeDesignatorArray(); break; } // - // Rule 296: designator_base ::= . identifier_token + // Rule 297: designator_base ::= . identifier_token // - case 296: { action. consumeDesignatorField(); break; + case 297: { action. consumeDesignatorField(); break; } // - // Rule 297: designator ::= [ constant_expression ] + // Rule 298: designator ::= [ constant_expression ] // - case 297: { action. consumeDesignatorArray(); break; + case 298: { action. consumeDesignatorArray(); break; } // - // Rule 298: designator ::= . identifier_token + // Rule 299: designator ::= . identifier_token // - case 298: { action. consumeDesignatorField(); break; + case 299: { action. consumeDesignatorField(); break; } // - // Rule 299: translation_unit ::= external_declaration_list + // Rule 300: translation_unit ::= external_declaration_list // - case 299: { action. consumeTranslationUnit(); break; + case 300: { action. consumeTranslationUnit(); break; } // - // Rule 300: translation_unit ::= $Empty + // Rule 301: translation_unit ::= $Empty // - case 300: { action. consumeTranslationUnit(); break; + case 301: { action. consumeTranslationUnit(); break; } // - // Rule 305: external_declaration ::= ; + // Rule 306: external_declaration ::= ; // - case 305: { action. consumeDeclarationEmpty(); break; + case 306: { action. consumeDeclarationEmpty(); break; } // - // Rule 306: external_declaration ::= ERROR_TOKEN + // Rule 307: external_declaration ::= ERROR_TOKEN // - case 306: { action. consumeDeclarationProblem(); break; + case 307: { action. consumeDeclarationProblem(); break; } // - // Rule 310: function_definition ::= <openscope-ast> function_declarator function_body + // Rule 311: function_definition ::= <openscope-ast> function_declarator function_body // - case 310: { action. consumeFunctionDefinition(false); break; + case 311: { action. consumeFunctionDefinition(false); break; } // - // Rule 311: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement + // Rule 312: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement // - case 311: { action. consumeFunctionDefinitionKnR(); break; + case 312: { action. consumeFunctionDefinitionKnR(); break; } // - // Rule 312: normal_function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body + // Rule 313: normal_function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body // - case 312: { action. consumeFunctionDefinition(true); break; + case 313: { action. consumeFunctionDefinition(true); break; } // - // Rule 313: function_body ::= { } + // Rule 314: function_body ::= { } // - case 313: { action. consumeStatementCompoundStatement(false); break; + case 314: { action. consumeStatementCompoundStatement(false); break; } // - // Rule 314: function_body ::= { <openscope-ast> block_item_list } + // Rule 315: function_body ::= { <openscope-ast> block_item_list } // - case 314: { action. consumeStatementCompoundStatement(true); break; + case 315: { action. consumeStatementCompoundStatement(true); break; } // - // Rule 331: attribute_parameter ::= assignment_expression + // Rule 332: attribute_parameter ::= assignment_expression // - case 331: { action. consumeIgnore(); break; + case 332: { action. consumeIgnore(); break; } // - // Rule 342: extended_asm_declaration ::= asm volatile_opt ( extended_asm_param_seq ) ; + // Rule 343: extended_asm_declaration ::= asm volatile_opt ( extended_asm_param_seq ) ; // - case 342: { gnuAction.consumeDeclarationASM(); break; + case 343: { gnuAction.consumeDeclarationASM(); break; } // - // Rule 353: unary_expression ::= __alignof__ unary_expression + // Rule 354: unary_expression ::= __alignof__ unary_expression // - case 353: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_alignOf); break; + case 354: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_alignOf); break; } // - // Rule 354: unary_expression ::= __alignof__ ( type_id ) + // Rule 355: unary_expression ::= __alignof__ ( type_id ) // - case 354: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_alignof); break; + case 355: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_alignof); break; } // - // Rule 355: unary_expression ::= typeof unary_expression + // Rule 356: unary_expression ::= typeof unary_expression // - case 355: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); break; + case 356: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); break; } // - // Rule 356: unary_expression ::= typeof ( type_id ) + // Rule 357: unary_expression ::= typeof ( type_id ) // - case 356: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_typeof); break; + case 357: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_typeof); break; } // - // Rule 357: relational_expression ::= relational_expression >? shift_expression + // Rule 358: relational_expression ::= relational_expression >? shift_expression // - case 357: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_max); break; + case 358: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_max); break; } // - // Rule 358: relational_expression ::= relational_expression <? shift_expression + // Rule 359: relational_expression ::= relational_expression <? shift_expression // - case 358: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_min); break; + case 359: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_min); break; } // - // Rule 359: conditional_expression ::= logical_or_expression ? <empty> : assignment_expression + // Rule 360: conditional_expression ::= logical_or_expression ? <empty> : assignment_expression // - case 359: { action. consumeExpressionConditional(); break; + case 360: { action. consumeExpressionConditional(); break; } // - // Rule 360: primary_expression ::= ( compound_statement ) + // Rule 361: primary_expression ::= ( compound_statement ) // - case 360: { gnuAction.consumeCompoundStatementExpression(); break; + case 361: { gnuAction.consumeCompoundStatementExpression(); break; } // - // Rule 361: labeled_statement ::= case case_range_expression : statement + // Rule 362: labeled_statement ::= case case_range_expression : statement // - case 361: { action. consumeStatementCase(); break; + case 362: { action. consumeStatementCase(); break; } // - // Rule 362: case_range_expression ::= constant_expression ... constant_expression + // Rule 363: case_range_expression ::= constant_expression ... constant_expression // - case 362: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_assign); break; + case 363: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_assign); break; } // - // Rule 366: typeof_type_specifier ::= typeof unary_expression + // Rule 367: typeof_type_specifier ::= typeof unary_expression // - case 366: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); break; + case 367: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); break; } // - // Rule 367: typeof_type_specifier ::= typeof ( type_id ) + // Rule 368: typeof_type_specifier ::= typeof ( type_id ) // - case 367: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_typeof); break; + case 368: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_typeof); break; } // - // Rule 368: declaration_specifiers ::= <openscope-ast> typeof_declaration_specifiers + // Rule 369: declaration_specifiers ::= <openscope-ast> typeof_declaration_specifiers // - case 368: { action. consumeDeclarationSpecifiersTypeof(); break; + case 369: { action. consumeDeclarationSpecifiersTypeof(); break; } // - // Rule 384: field_name_designator ::= identifier_token : + // Rule 385: field_name_designator ::= identifier_token : // - case 384: { action. consumeDesignatorFieldGCC(); break; + case 385: { action. consumeDesignatorFieldGCC(); break; } // - // Rule 385: array_range_designator ::= [ constant_expression ... constant_expression ] + // Rule 386: array_range_designator ::= [ constant_expression ... constant_expression ] // - case 385: { action. consumeDesignatorArrayRange(); break; + case 386: { action. consumeDesignatorArrayRange(); break; } // - // Rule 386: designated_initializer ::= <openscope-ast> field_name_designator initializer + // Rule 387: designated_initializer ::= <openscope-ast> field_name_designator initializer // - case 386: { action. consumeInitializerDesignated(); break; + case 387: { action. consumeInitializerDesignated(); break; } // - // Rule 387: block_item ::= normal_function_definition + // Rule 388: block_item ::= normal_function_definition // - case 387: { action. consumeStatementDeclaration(); break; + case 388: { action. consumeStatementDeclaration(); break; } // - // Rule 391: type_id ::= vector_type + // Rule 392: type_id ::= vector_type // - case 391: { action. consumeTypeId(false); break; + case 392: { action. consumeTypeId(false); break; } // - // Rule 392: type_id ::= vector_type abstract_declarator + // Rule 393: type_id ::= vector_type abstract_declarator // - case 392: { action. consumeTypeId(true); break; + case 393: { action. consumeTypeId(true); break; } // - // Rule 393: vector_declaration ::= vector_type <openscope-ast> init_declarator_list ; + // Rule 394: vector_declaration ::= vector_type <openscope-ast> init_declarator_list ; // - case 393: { action. consumeDeclarationSimple(true); break; + case 394: { action. consumeDeclarationSimple(true); break; } // - // Rule 394: vector_type ::= <openscope-ast> no_type_declaration_specifiers_opt vector vector_type_specifier all_specifier_qualifier_list_opt + // Rule 395: vector_type ::= <openscope-ast> no_type_declaration_specifiers_opt vector vector_type_specifier all_specifier_qualifier_list_opt // - case 394: { action. consumeVectorTypeSpecifier(); break; + case 395: { action. consumeVectorTypeSpecifier(); break; } // - // Rule 395: vector_type_specifier ::= vector_type_specifier_token + // Rule 396: vector_type_specifier ::= vector_type_specifier_token // - case 395: { action. consumeToken(); break; + case 396: { action. consumeToken(); break; } // - // Rule 417: declarator_id_name ::= pixel + // Rule 418: declarator_id_name ::= pixel // - case 417: { action. consumeIdentifierName(); break; + case 418: { action. consumeIdentifierName(); break; } // - // Rule 418: declarator_id_name ::= vector + // Rule 419: declarator_id_name ::= vector // - case 418: { action. consumeIdentifierName(); break; + case 419: { action. consumeIdentifierName(); break; } // - // Rule 419: declarator_id_name ::= bool + // Rule 420: declarator_id_name ::= bool // - case 419: { action. consumeIdentifierName(); break; + case 420: { action. consumeIdentifierName(); break; } diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/c/XlcCParserprs.java b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/c/XlcCParserprs.java index 39558f8ca43..b5e6e3f62b9 100644 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/c/XlcCParserprs.java +++ b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/c/XlcCParserprs.java @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 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 @@ -27,7 +27,7 @@ public class XlcCParserprs implements lpg.lpgjavaruntime.ParseTable, XlcCParsers 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,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; @@ -46,349 +46,349 @@ public class XlcCParserprs implements lpg.lpgjavaruntime.ParseTable, XlcCParsers 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,2,5,7,5,1,0,7,2,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,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,3,4, - 5,6,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,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,1,3, - 6,4,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, - 4,6,1,0,1,3,1,3,0,1, - 4,5,2,4,2,4,3,3,5,3, - 4,3,1,2,2,2,4,2,1,1, - 2,2,3,2,2,3,1,1,1,1, - 1,1,1,2,5,3,1,1,1,1, - 1,2,4,5,1,1,1,1,1,1, - 1,1,1,1,1,1,1,2,1,0, - 1,0,1,1,1,1,1,1,1,-115, - 0,-2,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-8,0,0, - 0,0,0,0,-66,-94,0,0,-54,0, - 0,0,-33,0,-252,0,0,0,0,0, - -89,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-35,0, - 0,0,0,0,0,-49,0,0,0,-87, - -12,0,0,0,0,0,0,0,-70,0, - 0,0,0,0,0,0,0,0,-128,-11, - 0,0,0,0,0,0,0,0,-14,-43, - -6,0,0,-52,0,-352,-266,0,0,0, - 0,0,0,-15,0,0,0,0,-3,0, - 0,0,-16,-67,0,0,0,0,0,0, - 0,0,0,-365,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-145,0, - 0,0,0,0,-55,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-236, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-27,0,0,-56,0,-158,0,0, - 0,0,0,0,0,0,-51,0,0,0, - 0,0,0,0,0,0,0,0,-50,-4, - 0,0,0,0,0,0,0,0,-233,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,0,0,0,0,0, - 0,0,-185,0,-117,0,-28,-232,0,-29, - 0,0,0,0,0,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,-39,0,0,0, - 0,0,0,-40,0,0,0,0,-30,0, - 0,0,0,0,0,0,-71,0,0,0, - 0,0,0,0,0,-258,-173,0,0,0, - 0,0,0,0,0,0,-359,0,0,0, - 0,0,0,0,0,-31,0,-95,-121,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-126,0,0,0, - 0,0,0,0,0,-5,-270,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-262,0,0,0,-279,-116,0,0, - 0,-118,0,-361,0,0,0,0,0,0, - 0,0,-339,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-234, - 0,0,0,0,0,0,0,0,-36,-42, - 0,0,0,0,0,0,0,-45,0,0, - 0,0,0,0,-122,0,0,-260,0,0, - 0,-375,0,0,0,0,0,0,0,0, - -327,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-46,0,0, - 0,-86,0,0,0,0,0,0,0,0, - -48,0,0,-324,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -254,0,-53,0,0,0,0,0,0,-93, - 0,0,-65,0,0,0,0,0,-80,0, - 0,0,0,0,0,0,0,-44,0,0, - 0,0,0,0,0,0,0,0,0,0, - -58,0,0,0,0,-177,0,0,-151,0, - 0,0,0,0,0,0,0,0,0,-130, - 0,-124,0,0,0,0,0,0,-59,0, - 0,0,0,0,0,-60,0,0,0,0, - 0,0,0,0,0,0,-261,0,-97,0, - 0,0,0,0,0,0,0,0,0,-127, - -119,0,0,0,-155,0,0,0,-63,0, - 0,0,-79,0,0,0,0,0,-271,0, - -18,-81,-99,0,0,-101,0,0,0,0, - 0,0,0,0,-82,-163,0,0,0,0, - 0,0,0,0,-96,-323,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -193,0,0,-231,0,0,0,0,0,0, - 0,0,-142,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-100,0,0, - 0,-68,0,-188,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -196,-195,0,-102,0,0,0,0,0,0, - -189,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-110,-153,-272,0, - 0,-69,0,0,0,0,0,0,0,0, - 0,0,-201,0,0,0,0,0,0,0, - 0,-152,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-273,0,-38, - 0,0,-283,0,0,0,0,0,0,0, - 0,0,-123,0,0,0,-217,0,-200,0, - 0,0,0,0,0,-129,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-144,-131,0,0,0,0,0,0,0, - 0,0,0,-348,0,0,-132,-23,-275,-357, - -146,0,0,0,0,0,0,0,0,0, - 0,0,0,-347,0,-133,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-10,-202, - 0,0,0,0,0,-134,-111,0,0,0, - 0,-57,0,0,0,0,0,-34,0,-328, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-218, - 0,-135,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-165,0,0,-229,0, - -112,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-287,0,0,-199, - 0,0,0,-154,0,0,-334,-172,0,0, - 0,0,0,0,0,0,0,-355,0,-203, - 0,0,0,0,0,0,0,0,0,-374, - 0,0,0,0,0,0,0,-136,0,0, - 0,0,0,0,-259,-137,0,0,0,0, - 0,-204,0,0,0,0,0,0,0,0, - 0,-161,-326,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-138,-205,0,0, - 0,0,0,0,0,0,0,-175,-240,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-139,-206,0,0,0,0,0,0, - 0,0,-237,0,0,0,0,0,0,0, - 0,-166,0,0,0,0,0,0,-140,-207, - 0,0,0,0,0,0,0,0,-257,0, - 0,-241,0,0,0,0,0,-168,0,0, - 0,0,0,0,-143,-208,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-176,0,0,0,0,0,0, - -147,-209,0,0,0,0,0,0,0,0, - -265,0,0,-311,0,0,0,0,0,-180, - 0,0,0,0,0,0,-148,-210,0,0, - 0,0,0,0,0,0,-335,0,0,-338, - 0,0,0,0,0,-181,0,0,0,0, - 0,0,-156,-211,0,0,0,0,0,0, - 0,0,-157,0,-362,0,0,0,0,0, - 0,-182,0,0,0,0,0,0,-159,-212, - 0,0,0,0,0,0,0,0,-354,0, - 0,-340,0,0,0,0,0,-183,0,0, - 0,0,0,0,-160,-213,0,0,0,0, - 0,0,0,0,-184,0,0,-194,0,0, - 0,0,0,-349,0,0,0,0,0,0, - -269,0,0,0,-61,0,-358,0,-162,0, - 0,0,0,0,0,0,0,0,0,-164, - -280,0,-167,0,0,0,0,0,0,-198, - -367,0,0,0,0,0,0,0,-169,0, - 0,0,0,0,0,-377,0,0,0,-179, - 0,0,0,0,-190,0,-230,0,-191,0, - 0,0,0,0,0,0,-381,0,0,0, - 0,0,0,0,0,0,0,0,0,-285, - 0,0,0,0,0,0,0,0,-376,-197, - -239,0,0,0,0,0,0,-235,0,0, - 0,0,0,0,-244,-286,0,0,0,0, - 0,0,0,0,-385,0,-248,-249,0,0, - 0,0,0,-263,0,0,0,0,0,0, - -264,-317,0,0,0,0,0,0,0,0, - -253,-120,0,0,0,0,0,0,0,-281, - 0,0,0,0,0,0,-325,0,0,0, - 0,0,0,0,0,-289,-290,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-291,-292,-336,0,-293,0,0,0,0, - 0,0,-388,-294,-295,0,0,0,0,0, - 0,-255,0,0,0,0,0,0,-296,-337, - 0,0,0,0,0,0,0,0,-297,0, - 0,-298,0,0,0,0,0,-299,0,0, - 0,0,0,0,-300,-350,0,0,0,0, - 0,0,0,0,-256,-243,0,0,0,0, - 0,0,0,-301,0,0,0,0,0,0, - -363,0,0,0,0,0,0,0,0,-302, - -303,0,-304,0,0,0,0,0,0,0, - 0,0,0,0,0,-305,-306,-371,0,-307, - 0,0,0,0,0,0,-277,-308,-313,0, - 0,0,0,0,0,-284,0,0,0,0, - 0,0,-378,0,0,0,0,0,0,0, - 0,-351,-360,0,0,0,0,0,0,0, - -312,0,0,0,0,0,0,-364,-369,-384, - 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, - -251,0,0,0,0,0,0,0,-314,0, - 0,0,0,-92,-76,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-78,-315, - 0,-320,0,0,0,0,0,0,0,0, - 0,-330,-331,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-98,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,-333,0,0,0,-9,0,0,-356,0, + 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,3, + 4,5,6,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,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,1, + 3,6,4,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,4,6,1,0,1,3,1,3,0, + 1,4,5,2,4,2,4,3,3,5, + 3,4,3,1,2,2,2,4,2,1, + 1,2,2,3,2,2,3,1,1,1, + 1,1,1,1,2,5,3,1,1,1, + 1,1,2,4,5,1,1,1,1,1, + 1,1,1,1,1,1,1,1,2,1, + 0,1,0,1,1,1,1,1,1,1, + -115,0,-2,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-8,0, + 0,0,0,0,0,-66,-94,0,0,-54, + 0,0,0,-33,0,-252,0,0,0,0, + 0,-89,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-35, + 0,0,0,0,0,0,-49,0,0,0, + -87,-12,0,0,0,0,0,0,0,-70, + 0,0,0,0,0,0,0,0,0,-128, + -11,0,0,0,0,0,0,0,0,-14, + -43,-6,0,0,-52,0,-352,-266,0,0, + 0,0,0,0,-15,0,0,0,0,-3, + 0,0,0,-16,-67,0,0,0,0,0, + 0,0,0,0,-365,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-145, + 0,0,0,0,0,-55,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -236,0,0,0,0,0,0,0,0,0, + 0,0,0,-27,0,0,-56,0,-158,0, + 0,0,0,0,0,0,0,-51,0,0, + 0,0,0,0,0,0,0,0,0,-50, + -4,0,0,0,0,0,0,0,0,-233, + 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,0,0,0,0, + 0,0,0,-185,0,-117,0,-28,-232,0, + -29,0,0,0,0,0,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,-39,0,0, + 0,0,0,0,-40,0,0,0,0,-30, + 0,0,0,0,0,0,0,-71,0,0, + 0,0,0,0,0,0,-258,-173,0,0, + 0,0,0,0,0,0,0,-359,0,0, + 0,0,0,0,0,0,-31,0,-95,-121, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-126,0,0, + 0,0,0,0,0,0,-5,-270,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-262,0,0,0,-279,-116,0, + 0,0,-118,0,-361,0,0,0,0,0, + 0,0,0,-339,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -234,0,0,0,0,0,0,0,0,-36, + -42,0,0,0,0,0,0,0,-45,0, + 0,0,0,0,0,-122,0,0,-260,0, + 0,0,-375,0,0,0,0,0,0,0, + 0,-327,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-46,0, + 0,0,-86,0,0,0,0,0,0,0, + 0,-48,0,0,-324,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-254,0,-53,0,0,0,0,0,0, + -93,0,0,-65,0,0,0,0,0,-80, + 0,0,0,0,0,0,0,0,-44,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-58,0,0,0,0,-177,0,0,-151, + 0,0,0,0,0,0,0,0,0,0, + -130,0,-124,0,0,0,0,0,0,-59, + 0,0,0,0,0,0,-60,0,0,0, + 0,0,0,0,0,0,0,-261,0,-97, + 0,0,0,0,0,0,0,0,0,0, + -127,-119,0,0,0,-155,0,0,0,-63, + 0,0,0,-79,0,0,0,0,0,-271, + 0,-18,-81,-99,0,0,-101,0,0,0, + 0,0,0,0,0,-82,-163,0,0,0, + 0,0,0,0,0,-96,-323,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-193,0,0,-231,0,0,0,0,0, + 0,0,0,-142,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-100,0, + 0,0,-68,0,-188,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-196,-195,0,-102,0,0,0,0,0, + 0,-189,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-110,-153,-272, + 0,0,-69,0,0,0,0,0,0,0, + 0,0,0,-201,0,0,0,0,0,0, + 0,0,-152,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-273,0, + -38,0,0,-283,0,0,0,0,0,0, + 0,0,0,-123,0,0,0,-217,0,-200, + 0,0,0,0,0,0,-129,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-144,-131,0,0,0,0,0,0, + 0,0,0,0,-348,0,0,-132,-23,-275, + -357,-146,0,0,0,0,0,0,0,0, + 0,0,0,0,-347,0,-133,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-10, + -202,0,0,0,0,0,-134,-111,0,0, + 0,0,-57,0,0,0,0,0,-34,0, + -328,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -218,0,-135,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-165,0,0,-229, + 0,-112,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-287,0,0, + -199,0,0,0,-154,0,0,-334,-172,0, + 0,0,0,0,0,0,0,0,-355,0, + -203,0,0,0,0,0,0,0,0,0, + -374,0,0,0,0,0,0,0,-136,0, + 0,0,0,0,0,-259,-137,0,0,0, + 0,0,-204,0,0,0,0,0,0,0, + 0,0,-161,-326,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-138,-205,0, + 0,0,0,0,0,0,0,0,-175,-240, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-139,-206,0,0,0,0,0, + 0,0,0,-237,0,0,0,0,0,0, + 0,0,-166,0,0,0,0,0,0,-140, + -207,0,0,0,0,0,0,0,0,-257, + 0,0,-241,0,0,0,0,0,-168,0, + 0,0,0,0,0,-143,-208,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-176,0,0,0,0,0, + 0,-147,-209,0,0,0,0,0,0,0, + 0,-265,0,0,-311,0,0,0,0,0, + -180,0,0,0,0,0,0,-148,-210,0, + 0,0,0,0,0,0,0,-335,0,0, + -338,0,0,0,0,0,-181,0,0,0, + 0,0,0,-156,-211,0,0,0,0,0, + 0,0,0,-157,0,-362,0,0,0,0, + 0,0,-182,0,0,0,0,0,0,-159, + -212,0,0,0,0,0,0,0,0,-354, + 0,0,-340,0,0,0,0,0,-183,0, + 0,0,0,0,0,-160,-213,0,0,0, + 0,0,0,0,0,-184,0,0,-194,0, + 0,0,0,0,-349,0,0,0,0,0, + 0,-269,0,0,0,-61,0,-358,0,-162, + 0,0,0,0,0,0,0,0,0,0, + -164,-280,0,-167,0,0,0,0,0,0, + -198,-367,0,0,0,0,0,0,0,-169, + 0,0,0,0,0,0,-377,0,0,0, + -179,0,0,0,0,-190,0,-230,0,-191, + 0,0,0,0,0,0,0,-381,0,0, + 0,0,0,0,0,0,0,0,0,0, + -285,0,0,0,0,0,0,0,0,-376, + -197,-239,0,0,0,0,0,0,-235,0, + 0,0,0,0,0,-244,-286,0,0,0, + 0,0,0,0,0,-385,0,-248,-249,0, + 0,0,0,0,-263,0,0,0,0,0, + 0,-264,-317,0,0,0,0,0,0,0, + 0,-253,-120,0,0,0,0,0,0,0, + -281,0,0,0,0,0,0,-325,0,0, + 0,0,0,0,0,0,-289,-290,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-291,-292,-336,0,-293,0,0,0, + 0,0,0,-388,-294,-295,0,0,0,0, + 0,0,-255,0,0,0,0,0,0,-296, + -337,0,0,0,0,0,0,0,0,-297, + 0,0,-298,0,0,0,0,0,-299,0, + 0,0,0,0,0,-300,-350,0,0,0, + 0,0,0,0,0,-256,-243,0,0,0, + 0,0,0,0,-301,0,0,0,0,0, + 0,-363,0,0,0,0,0,0,0,0, + -302,-303,0,-304,0,0,0,0,0,0, + 0,0,0,0,0,0,-305,-306,-371,0, + -307,0,0,0,0,0,0,-277,-308,-313, + 0,0,0,0,0,0,-284,0,0,0, + 0,0,0,-378,0,0,0,0,0,0, + 0,0,-351,-360,0,0,0,0,0,0, + 0,-312,0,0,0,0,0,0,-364,-369, + -384,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,-251,0,0,0,0,0,0,0,-314, + 0,0,0,0,-92,-76,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-78, + -315,0,-320,0,0,0,0,0,0,0, + 0,0,-330,-331,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-98,0,0,0,0,-245,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-103,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-238,0,0,0, - 0,0,0,0,-368,0,0,0,0,-13, - -379,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-387,0,0,0,0,0, + 0,0,-333,0,0,0,-9,0,0,-356, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-274,0,0,0,0,0,0, - 0,0,0,0,-322,0,0,0,0,0, - 0,0,0,0,0,0,0,-72,0,0, + 0,0,0,0,0,-103,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,-83,0,0,0,-187, - 0,0,0,0,0,0,0,0,0,-370, - 0,0,-7,0,0,0,0,0,0,0, - 0,0,0,0,-267,0,0,0,0,0, + 0,0,0,0,0,0,0,-238,0,0, + 0,0,0,0,0,-368,0,0,0,0, + -13,-379,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-387,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-274,0,0,0,0,0, + 0,0,0,0,0,-322,0,0,0,0, + 0,0,0,0,0,0,0,0,-72,0, 0,0,0,0,0,0,0,0,0,0, - -310,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,-83,0,0,0, + -187,0,0,0,0,0,0,0,0,0, + -370,0,0,-7,0,0,0,0,0,0, + 0,0,0,0,0,-267,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-150,0, + 0,-310,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,-88,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-91,0,0,0,0, - 0,0,0,0,0,0,0,0,-17,0, + 0,0,0,0,0,0,0,0,0,-150, 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,-88,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-84,0,0, - 0,-346,-1,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-91,0,0,0, + 0,0,0,0,0,0,0,0,0,-17, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-247,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-84,0, + 0,0,-346,-1,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -250,0,0,0,-288,0,0,0,0,0, + 0,0,0,0,-247,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-278,0,0, - 0,0,0,-343,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-62,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-104,0,0, - 0,0,-316,0,0,-171,0,0,0,0, - 0,0,-318,0,0,0,0,0,0,0, + 0,-250,0,0,0,-288,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-141, + 0,0,0,0,0,0,0,0,-278,0, + 0,0,0,0,-343,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,-329,0,0,0,0,0,0,0, + 0,0,0,0,-62,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-104,0, + 0,0,0,-316,0,0,-171,0,0,0, + 0,0,0,-318,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,0, 0,0,0,0,0,0,0,0,0,0, + -141,0,0,0,0,0,0,0,0,0, + 0,0,0,-342,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,-345,0,0,0,0,0,0,0, - -382,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-344,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-386,0,0,0,0,0,0,0,0, + 0,0,0,-345,0,0,0,0,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,0,-25,0,0,0,-389,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-386,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-220,0,0,0, - 0,0,0,0,0,0,-113,0,0,0, - 0,0,0,0,0,0,0,0,-221,0, + 0,0,0,0,0,-25,0,0,0,-389, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-222,0,0,0,0, - 0,0,0,0,-276,0,0,0,0,0, - 0,0,0,0,0,0,0,-19,0,0, - 0,-332,0,0,0,0,0,0,0,0, - 0,0,-22,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,0,0,-220,0,0, + 0,0,0,0,0,0,0,-113,0,0, + 0,0,0,0,0,0,0,0,0,-221, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-32, + 0,0,0,0,0,0,-222,0,0,0, + 0,0,0,0,0,-276,0,0,0,0, + 0,0,0,0,0,0,0,0,-19,0, + 0,0,-332,0,0,0,0,0,0,0, + 0,0,0,-22,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,-149,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-223,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-224,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-225, + -32,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,-226,0,0,0,0, + 0,0,0,-223,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,0, - -26,0,0,0,0,0,0,-228,0,0, - 0,0,0,0,0,0,-242,0,0,-20, - 0,0,0,0,-105,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,-106,0,0,0,0,0,0,0,0, + -225,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-226,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-107,0,0,0,0,0,0,0, - 0,0,0,-108,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-109,0,0, + 0,0,-227,0,0,0,0,0,0,0, + 0,-26,0,0,0,0,0,0,-228,0, + 0,0,0,0,0,0,0,-242,0,0, + -20,0,0,0,0,-105,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-282,0, - 0,0,0,0,-125,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, + 0,0,0,-107,0,0,0,0,0,0, + 0,0,0,0,-108,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-109,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-41,0,0,0,-47, + 0,0,0,0,0,0,0,0,0,-282, + 0,0,0,0,0,-125,0,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,-73,0,0, - 0,0,0,0,0,0,0,0,-74,0, - 0,0,0,0,0,0,0,-75,0,0, - 0,0,0,0,0,0,-90,-170,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,-214,0,0, + 0,0,0,0,0,0,-41,0,0,0, + -47,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,-73,0, + 0,0,0,0,0,0,0,0,0,-74, + 0,0,0,0,0,0,0,0,-75,0, + 0,0,0,0,0,0,0,-90,-170,0, + 0,0,0,-186,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,-268,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-216,0,0,0,0, - 0,0,0,0,-319,-321,0,0,0,-21, + 0,0,0,0,0,0,0,0,-214,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-77,0,0,0,0,0,0, - 0,0,-174,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-192,0,0, + 0,0,-215,0,0,0,0,0,0,0, + 0,0,-268,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-216,0,0,0, + 0,0,0,0,0,-319,-321,0,0,0, + -21,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-77,0,0,0,0,0, + 0,0,0,-174,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,-37,0,0,0, - 0,-85,0,0,0,0,0,0,0,-353, - 0,0,0,0,0,-372,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-341, - -366,0,0,0,0,0,0,0,0,-373, - 0,-380,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-383, + 0,0,0,0,0,0,0,-37,0,0, + 0,0,-85,0,0,0,0,0,0,0, + -353,0,0,0,0,0,-372,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -341,-366,0,0,0,0,0,0,0,0, + -373,0,-380,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -383,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,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; @@ -410,372 +410,373 @@ public class XlcCParserprs implements lpg.lpgjavaruntime.ParseTable, XlcCParsers 129,129,109,109,64,44,44,44,44,44, 44,44,45,45,45,30,30,110,110,89, 89,46,46,47,47,47,82,82,48,48, - 48,48,49,49,49,49,49,61,61,29, - 29,29,29,29,50,50,50,73,73,91, - 91,91,91,92,92,92,93,93,93,94, - 94,94,95,95,95,90,90,83,83,84, - 51,53,53,53,53,53,67,68,68,68, - 68,68,68,68,68,68,68,68,68,77, - 74,74,130,131,78,78,75,75,75,99, - 111,111,112,112,100,100,100,60,132,132, - 113,101,101,101,76,76,133,114,114,115, - 115,102,102,31,32,32,32,52,56,56, - 37,37,37,37,34,34,35,38,38,39, - 36,36,103,103,40,135,135,134,134,58, - 58,58,58,58,58,58,58,58,116,65, - 65,65,65,41,96,96,86,86,86,87, - 87,79,79,136,136,66,66,88,88,88, - 69,69,69,70,71,71,71,72,72,72, - 72,85,85,55,55,57,138,137,137,137, - 137,117,139,140,140,141,141,142,142,127, - 127,143,143,118,118,118,118,144,144,119, - 119,119,80,120,120,9,9,9,27,27, - 10,10,145,145,121,121,121,122,122,146, - 146,123,123,11,11,147,147,124,124,124, - 124,12,62,148,148,149,149,125,125,125, - 104,104,104,7,7,7,7,16,16,24, - 4,45,150,97,97,97,81,81,29,61, - 50,84,84,84,113,113,113,133,130,131, - 41,99,141,141,151,152,117,89,68,68, - 68,66,66,63,42,106,107,107,107,107, - 107,107,107,107,107,126,126,154,154,153, - 153,105,105,61,1,1,1,35,35,35, - 359,1769,452,17,21,18,1053,1246,45,370, - 315,316,317,1263,1296,1277,1362,1326,334,1446, - 1438,1503,1477,1529,75,1506,790,2618,92,1323, - 2143,135,213,2517,20,790,17,21,18,1053, - 366,2306,20,231,17,21,18,1053,1246,45, - 137,134,136,160,1263,1296,1277,1362,1326,668, - 1446,1438,1503,1477,1529,75,483,139,166,281, - 1506,626,2660,1338,143,146,149,152,1061,2625, - 20,363,17,21,18,1053,43,40,231,503, - 689,2230,2469,2888,2903,2917,282,2950,1555,396, - 626,1310,179,2795,1696,510,846,503,3206,1765, - 370,315,316,317,610,319,315,316,317,337, - 254,213,334,685,2544,20,158,17,21,18, - 1053,355,135,213,750,766,224,232,254,213, - 724,224,229,218,717,221,223,322,1733,1452, - 179,137,134,136,160,1560,323,1733,370,315, - 316,317,2032,1075,319,315,316,317,139,166, - 1364,1522,2094,395,1338,143,146,149,152,1061, - 135,213,363,828,345,1320,816,187,1523,1730, - 1152,310,2230,2469,2888,2903,2917,1636,2950,137, - 134,136,160,1340,491,1193,510,3426,959,1182, - 38,950,2176,111,87,321,139,166,96,1697, - 312,1152,1338,143,146,149,152,1061,335,284, - 363,1462,1815,95,97,98,99,100,1584,179, - 2230,2469,2888,2903,2917,88,2950,370,315,316, - 317,768,1997,1936,510,816,31,957,2625,20, - 999,17,21,18,1053,43,45,438,313,135, - 213,1263,1296,1277,1362,1326,294,1446,1983,2436, - 20,833,17,21,18,1053,1246,45,137,134, - 136,160,1263,1296,1277,1362,1326,521,1446,1438, - 1503,1477,1529,75,406,139,166,281,28,1002, - 1555,1711,143,146,149,152,1061,2625,20,363, - 17,21,18,1053,43,39,1364,1356,1834,2230, - 2469,2888,2903,2917,282,2950,1555,927,20,833, - 17,21,18,1053,1246,45,1017,1996,1696,668, - 1263,1296,1277,1362,1326,228,1446,1438,1503,1477, - 1529,75,227,25,287,281,333,2725,20,1400, - 17,21,18,1053,1246,45,893,1019,1319,658, - 1263,1296,1277,1362,1326,180,1446,1438,1503,1477, - 1529,75,282,1704,1555,1239,288,1506,1182,2892, - 1101,127,816,31,2463,20,986,17,21,18, - 1053,1246,45,1181,2048,278,1620,1263,1296,1277, - 1362,1326,289,1446,1438,1503,1477,1529,75,209, - 2625,20,281,17,21,18,1053,43,45,684, - 48,813,1841,1263,1296,1277,1362,1326,684,1446, - 1438,1503,2000,1075,290,1191,260,105,1166,282, - 658,1555,2490,20,393,17,21,18,1053,1246, - 45,503,336,128,346,1263,1296,1277,1362,1326, - 342,1446,1438,1503,1477,1529,75,197,1217,386, - 281,924,617,20,509,17,21,18,1053,1246, - 45,771,254,213,1364,1263,1296,1277,1362,1326, - 24,1446,1438,1503,1477,1529,75,282,1445,1555, - 1040,2825,20,1039,17,21,18,1053,1246,45, - 217,1730,420,1269,1263,1296,1277,1362,1326,1483, - 1446,1438,1503,1477,1529,75,239,291,38,331, - 3267,225,2033,554,293,111,87,875,193,1376, - 96,816,186,204,824,383,702,1418,3322,1, - 1730,420,630,1462,109,95,97,98,99,100, - 1010,20,1131,17,21,18,1053,43,36,1394, - 1128,110,369,413,111,87,816,188,1376,96, - 724,224,229,218,717,221,223,1356,1834,1269, - 387,630,1462,109,95,97,98,99,100,107, - 788,1615,263,1152,274,816,1542,341,314,182, - 110,369,413,919,246,267,1161,1134,272,1969, - 989,590,1060,38,329,2626,38,90,747,387, - 318,315,316,317,264,1095,2625,20,108,17, - 21,18,1053,43,45,1119,1704,2112,575,1263, - 1296,1277,1362,1326,241,1446,1438,1503,1477,1529, - 94,288,1730,420,2625,20,348,17,21,18, - 1053,43,45,38,28,590,1555,1263,1296,1277, - 1362,1326,261,1446,1438,1981,111,87,1348,209, - 1376,96,2571,20,1080,17,21,18,1053,353, - 1828,1086,1841,630,1462,109,95,97,98,99, - 100,788,2625,20,912,17,21,18,1053,1246, - 45,587,110,369,413,1263,1296,1277,1362,1326, - 1698,1446,1438,1503,1477,1529,75,1269,1191,1988, - 92,387,2598,20,1669,17,21,18,1053,41, - 107,449,275,721,20,360,17,21,18,1053, - 1246,45,893,124,1152,22,1263,1296,1277,1362, - 1326,1223,1446,1438,1503,1477,1529,75,1989,276, - 446,1397,3206,145,1730,420,1827,125,88,319, - 315,316,317,691,28,1489,1555,2625,20,788, - 17,21,18,1053,43,45,507,240,111,87, - 1263,1876,1376,96,724,224,229,218,717,221, - 223,1765,1400,1684,569,630,1462,109,95,97, - 98,99,100,28,1364,1555,3412,47,1048,1997, - 805,893,106,2217,110,369,413,318,315,316, - 317,1281,311,243,2825,20,635,17,21,18, - 1053,1246,45,387,630,1715,127,1263,1296,1277, - 1362,1326,108,1446,1438,1503,1477,1529,75,446, - 586,3210,331,308,369,413,405,1269,318,315, - 316,317,1594,181,28,28,1555,1555,1381,179, - 1187,319,315,316,317,673,1220,370,315,316, - 317,255,213,724,224,921,218,717,221,908, - 2625,20,1387,17,21,18,1053,43,45,135, - 213,255,213,1263,1877,3407,893,1016,2081,2625, - 20,1269,17,21,18,1053,43,45,138,134, - 136,160,1263,1296,1277,1362,1326,788,1964,19, - 503,127,155,860,1191,140,166,788,38,868, - 1027,1009,144,147,150,153,1061,330,1257,364, - 2625,20,520,17,21,18,1053,1246,45,123, - 50,254,213,1263,1296,1277,1362,1326,830,1446, - 1438,1503,1477,1529,75,893,1239,2275,86,255, - 213,242,2625,20,968,17,21,18,1053,1246, - 45,244,1191,816,1834,1263,1296,1277,1362,1326, - 195,1446,1438,1503,1477,1529,75,1176,2625,20, - 85,17,21,18,1053,1246,45,112,555,1191, - 527,1263,1296,1277,1362,1326,1320,1446,1438,1503, - 1477,1529,75,419,2625,20,84,17,21,18, - 1053,1246,45,38,126,699,1790,1263,1296,1277, - 1362,1326,797,1446,1438,1503,1477,1529,75,554, - 2625,20,83,17,21,18,1053,1246,45,38, - 1851,3346,1191,1263,1296,1277,1362,1326,482,1446, - 1438,1503,1477,1529,75,1745,2625,20,82,17, - 21,18,1053,1246,45,210,338,122,283,1263, - 1296,1277,1362,1326,1269,1446,1438,1503,1477,1529, - 75,1289,2625,20,81,17,21,18,1053,1246, - 45,1125,230,891,1191,1263,1296,1277,1362,1326, - 1269,1446,1438,1503,1477,1529,75,1927,2625,20, - 80,17,21,18,1053,1246,45,788,1059,3440, - 1786,1263,1296,1277,1362,1326,1269,1446,1438,1503, - 1477,1529,75,1219,2625,20,79,17,21,18, - 1053,1246,45,1403,1179,816,296,1263,1296,1277, - 1362,1326,1269,1446,1438,1503,1477,1529,75,1598, - 2625,20,78,17,21,18,1053,1246,45,1364, - 1218,245,1191,1263,1296,1277,1362,1326,1269,1446, - 1438,1503,1477,1529,75,1663,2625,20,77,17, - 21,18,1053,1246,45,1269,2264,3441,1269,1263, - 1296,1277,1362,1326,2685,1446,1438,1503,1477,1529, - 75,1584,179,1279,76,1107,23,1364,1717,1357, - 370,315,316,317,319,315,316,317,205,194, - 1453,2625,20,1687,17,21,18,1053,1246,45, - 1269,1191,135,213,1263,1296,1277,1362,1326,1928, - 1446,1438,1503,1477,1529,75,816,298,351,93, - 1391,138,134,136,160,1505,3452,2625,20,2333, - 17,21,18,1053,43,45,1430,1191,140,166, - 1263,1296,1277,1362,1980,144,147,150,153,1061, - 2625,20,364,17,21,18,1053,1246,45,1330, - 1290,73,118,1263,1296,1277,1362,1326,1759,1446, - 1438,1503,1477,1529,75,1710,2625,20,1407,17, - 21,18,1053,1246,45,788,234,1819,456,1263, - 1296,1277,1362,1326,752,1446,1438,1503,1477,1529, - 75,1725,2625,20,1617,17,21,18,1053,43, - 45,1269,38,295,1152,1263,1296,1277,1362,1326, - 2398,1446,1438,1503,1477,1529,94,2625,20,320, - 17,21,18,1053,43,45,1458,1490,88,297, - 1263,1296,1277,1362,1326,1151,1446,1438,1503,1477, - 1529,94,1807,1865,2625,20,1395,17,21,18, - 1053,1246,45,788,1552,191,362,1263,1296,1277, - 1362,1326,1269,1446,1438,1503,1477,1529,75,845, - 2625,20,359,17,21,18,1053,1246,45,923, - 340,212,1140,1263,1296,1277,1362,1326,1329,1446, - 1438,1503,1477,1529,75,1368,2625,20,74,17, - 21,18,1053,43,45,1269,38,385,1152,1263, - 1296,1277,1362,1326,1347,1446,1438,1503,1477,1529, - 94,2625,20,339,17,21,18,1053,43,45, - 1556,1498,88,1104,1263,1296,1277,1362,1326,2041, - 1446,1438,1503,1477,1529,94,1943,1944,2625,20, - 1294,17,21,18,1053,43,45,1269,1570,1723, - 202,1263,1296,1277,1362,1326,1269,1446,1438,1503, - 1477,1529,94,2625,20,273,17,21,18,1053, - 43,45,1999,1874,352,1799,1263,1296,1277,1362, - 1326,1269,1446,1438,1503,1477,1529,94,2000,1824, - 2625,20,3777,17,21,18,1053,43,45,2673, - 3777,3777,203,1263,1296,1277,1362,1326,1597,1446, - 1438,1503,1477,1529,94,3777,3777,319,315,316, - 317,446,3777,3345,3777,3777,3777,1825,3777,1269, - 318,315,316,317,2679,2652,20,3777,17,21, - 18,1053,34,370,315,316,317,2706,1220,874, - 1269,420,1820,3777,1903,724,224,921,218,717, - 221,223,408,1269,3777,135,213,3777,2733,3777, - 325,318,315,316,317,88,3777,3407,197,1177, - 3777,279,1381,1692,137,134,136,160,38,2068, - 1152,2837,318,315,316,317,724,224,229,219, - 717,221,223,1154,155,860,3777,2963,3777,3223, - 3268,868,1269,3777,88,1327,446,3777,3206,1269, - 274,2089,3777,3777,520,318,315,316,317,3777, - 1280,269,1161,1134,272,1744,3777,280,3777,3777, - 405,395,3777,1220,318,315,316,317,3777,3777, - 724,224,229,218,717,221,223,446,3777,3206, - 407,3777,2068,3777,3777,1269,318,315,316,317, - 2238,1269,3407,3777,3777,3777,1488,3777,3777,370, - 315,316,317,1777,1220,1269,3777,394,2409,2772, - 3777,724,224,229,218,717,221,223,3777,155, - 860,135,213,2799,2371,20,859,17,21,18, - 1053,43,44,3407,1749,846,3777,3206,3777,3777, - 142,134,136,160,318,315,316,317,2625,20, - 3777,17,21,18,1053,43,38,141,166,3777, - 155,860,526,38,3777,1152,3777,868,3777,724, - 224,229,218,717,221,223,446,3777,3206,28, - 2867,1555,2578,3777,3777,318,315,316,317,88, - 906,2032,3206,508,3777,521,2110,3777,277,318, - 315,316,317,1220,3777,1142,3777,2683,3777,3777, - 724,224,229,218,717,221,223,526,305,3777, - 3777,3777,796,277,724,224,229,218,717,221, - 223,2244,3407,1152,3777,630,3420,3777,274,724, - 224,229,218,717,221,223,2032,3777,198,267, - 1161,1134,272,3777,304,369,413,88,3777,156, - 860,953,3777,274,116,3777,3777,1704,2007,2752, - 3777,3777,3777,309,267,1161,1134,272,370,315, - 316,317,2625,20,3777,17,21,18,1053,43, - 45,3420,3777,2007,3777,1892,709,3777,3777,3777, - 135,213,3777,199,3777,318,315,316,317,3777, - 3777,302,303,1672,3777,3777,709,3777,3777,137, - 134,136,160,2068,3777,318,315,316,317,2852, - 724,224,229,219,717,221,223,1154,370,315, - 316,317,2963,2068,3777,3777,3777,3777,3777,3777, - 724,224,1607,219,717,221,1581,1154,1600,3777, - 135,213,709,430,3777,521,3777,319,315,316, - 317,318,315,316,317,405,395,3777,3777,145, - 134,136,160,3777,1655,1730,1152,3777,305,2068, - 3777,3777,796,3777,3777,408,724,224,1607,219, - 717,221,223,1154,3777,630,3777,3777,3777,111, - 87,1716,1730,1152,96,1010,20,3777,17,21, - 18,1053,43,36,304,369,413,1462,104,95, - 97,98,99,100,3777,3777,111,87,1501,3777, - 658,96,3777,309,38,3777,1152,318,315,316, - 317,3777,3777,3777,1462,102,95,97,98,99, - 100,3777,3777,3777,709,2068,3777,986,3777,247, - 88,3777,3777,318,315,316,317,2225,444,1049, - 658,301,303,1777,1730,1152,1094,3777,658,3777, - 422,2068,3777,1838,1730,1152,3777,3777,766,224, - 233,3777,3777,2875,3777,1154,2333,986,111,87, - 3777,3777,3777,96,3777,197,3777,259,111,87, - 502,3777,658,96,2123,1760,1462,361,95,97, - 98,99,100,1899,1730,1152,1462,103,95,97, - 98,99,100,1555,3777,658,1445,3777,3777,986, - 3777,3777,318,315,316,317,3777,259,111,87, - 3777,3777,3777,96,1574,1760,1960,1730,1152,3777, - 2068,3777,986,3777,3777,3777,1462,119,95,97, - 98,99,100,3777,1049,3777,192,3777,3777,3777, - 3777,111,87,2021,1730,1152,96,746,878,259, - 3777,2082,1730,1152,3777,3777,1574,1760,2122,1462, - 115,95,97,98,99,100,3777,3777,111,87, - 3777,3777,259,96,3777,3777,111,87,3777,2123, - 1760,96,2143,1730,1152,3777,1462,2049,95,97, - 98,99,100,3777,1462,114,95,97,98,99, - 100,3777,3777,3777,1808,1324,3777,111,87,2204, - 1730,1152,96,3777,318,315,316,317,3777,3777, - 3777,3777,3777,3777,3777,1462,121,95,97,98, - 99,100,2068,3777,111,87,3777,2625,20,96, - 17,21,18,1053,43,45,1049,2696,3777,3273, - 1893,3777,1462,120,95,97,98,99,100,2625, - 20,3777,17,21,18,1053,43,45,3777,3777, - 2604,3777,1263,1296,1277,1896,2625,20,3777,17, - 21,18,1053,43,45,1251,3777,3777,3777,1263, - 1296,1277,1904,3777,318,315,316,317,2862,3777, - 3777,3777,444,3777,658,274,3777,370,315,316, - 317,3777,2068,2893,3777,3777,267,1161,1134,272, - 3777,3777,370,315,316,317,1154,2903,3777,135, - 213,986,3777,3777,3777,392,370,315,316,317, - 3777,3777,3777,274,135,213,3777,3777,148,134, - 136,160,3777,3777,269,1161,1134,272,135,213, - 2934,3777,3777,151,134,136,160,3777,3777,370, - 315,316,317,2944,3777,3777,3777,154,134,136, - 160,259,370,315,316,317,3777,3777,2179,1760, - 3777,135,213,2625,20,3777,17,21,18,1053, - 43,45,3777,3777,135,213,1263,1296,1905,3777, - 365,134,136,160,2625,20,3777,17,21,18, - 1053,43,45,138,134,136,160,1263,1296,1919, - 2625,20,3777,17,21,18,1053,43,45,3777, - 3777,3777,3777,1263,1296,1929,2625,20,3777,17, - 21,18,1053,43,45,3777,3777,3777,3777,1263, - 1296,1932,2625,20,3777,17,21,18,1053,43, - 45,476,3777,3206,3777,1263,1296,1938,2625,20, - 3777,17,21,18,1053,43,45,890,3777,420, - 557,1263,1296,1945,3777,874,3777,420,3777,318, - 315,316,317,3777,3777,724,224,229,218,717, - 221,223,874,88,420,3777,1281,1332,3777,3777, - 116,88,3777,3777,197,1177,3777,953,1381,630, - 3777,3777,3777,874,3777,420,3777,2837,88,3777, - 3777,197,1177,3777,874,1381,420,3777,2371,369, - 413,3777,3777,3777,2837,3223,3777,3777,874,88, - 420,1600,197,1177,3777,3777,1381,3777,3777,1594, - 88,3777,3223,197,1177,2837,3777,1381,1626,874, - 3777,420,3777,3777,88,1748,2837,197,1177,606, - 3777,1381,3777,3223,319,315,316,317,3777,1652, - 2837,3777,3777,3777,3223,88,3777,3777,197,1177, - 1678,3777,1381,3777,3777,3777,1324,3777,3223,3777, - 1324,2837,3777,3777,1695,318,315,316,317,318, - 315,316,317,2769,3777,3273,3777,3777,3777,3223, - 3777,3777,3777,2068,3777,2172,3777,2068,2625,20, - 3777,17,21,18,1053,43,37,1049,3777,2625, - 20,1049,17,21,18,1053,43,36,2625,20, - 3777,17,21,18,1053,43,35,1255,1804,569, - 3777,2436,3777,1324,3777,2456,3777,319,315,316, - 317,274,318,315,316,317,3777,3777,3777,3777, - 3777,3777,267,1161,1134,272,1281,3777,2625,20, - 2068,17,21,18,1053,43,48,3777,3777,630, - 3777,266,2625,20,1049,17,21,18,1053,43, - 47,3777,1324,3777,3777,3777,3777,3777,307,369, - 413,318,315,316,317,3777,2625,20,2875,17, - 21,18,1053,43,46,1324,1238,3777,658,2068, - 1038,3777,3777,3777,318,315,316,317,3777,318, - 315,316,317,1049,2652,20,3777,17,21,18, - 1053,33,2068,1744,3777,197,3777,1332,3777,3777, - 3777,3777,318,315,316,317,1049,2122,2798,20, - 3777,17,21,18,1053,1860,3777,3777,3777,3777, - 2068,3777,3777,3777,3777,3777,1445,1550,3777,3777, - 2502,1262,1682,3777,1591,3777,318,315,316,317, - 1814,318,315,316,317,3777,1870,3777,3777,318, - 315,316,317,3777,2498,318,315,316,317,3175, - 2244,2244,1152,1152,3777,3777,192,3450,3777,981, - 1873,3777,2244,3470,1152,3777,3777,1274,878,319, - 315,316,317,3777,3777,3777,88,88,3777,3777, - 1926,3777,3777,116,116,3777,3777,3777,88,319, - 315,316,317,3777,3777,116,3777,3777,3777,3777, - 3777,3777,3777,3777,3777,3777,3777,3777,3777,3777, - 3777,3777,3777,3777,3777,3777,3777,3777,3777,3777, - 3777,3777,3777,3777,3777,3777,3777,3777,3777,3777, - 3777,3777,1741,2231,3777,3777,3777,3777,3777,3777, - 3777,3777,3777,3777,2245,3777,0,1,539,0, - 1,519,0,1,534,0,1,543,0,677, - 412,0,519,129,0,534,129,0,543,129, - 0,519,130,0,534,130,0,543,130,0, - 519,131,0,534,131,0,543,131,0,543, - 185,0,534,185,0,519,185,0,185,189, - 0,543,184,0,534,184,0,519,184,0, - 184,189,0,519,132,0,534,132,0,543, - 132,0,519,133,0,534,133,0,543,133, - 0,416,419,0,415,418,0,414,417,0, - 11,226,0,519,368,0,534,368,0,543, - 368,0,4192,411,0,223,235,0,3785,1, - 0,543,380,0,534,380,0,519,380,0, - 1041,32,0,1852,32,0,519,410,0,534, - 410,0,543,410,0,4175,410,0,4173,410, - 0,543,253,0,534,253,0,519,253,0, - 4192,412,0,1,4014,0,223,236,0,519, - 406,0,534,406,0,543,406,0,3994,406, - 0,3993,406,0,3992,406,0,3991,406,0, - 3942,406,0,3941,406,0,3940,406,0,3939, - 406,0,3938,406,0,519,409,0,534,409, - 0,543,409,0,4175,409,0,4173,409,0, - 179,20,0,8,10,0,1,4196,0,1, - 4195,0,1,4194,0,1,4003,0,366,355, - 0,367,356,0,113,2741,0 + 48,48,48,49,49,49,49,49,61,61, + 29,29,29,29,29,50,50,50,73,73, + 91,91,91,91,92,92,92,93,93,93, + 94,94,94,95,95,95,90,90,83,83, + 84,51,53,53,53,53,53,67,68,68, + 68,68,68,68,68,68,68,68,68,68, + 77,74,74,130,131,78,78,75,75,75, + 99,111,111,112,112,100,100,100,60,132, + 132,113,101,101,101,76,76,133,114,114, + 115,115,102,102,31,32,32,32,52,56, + 56,37,37,37,37,34,34,35,38,38, + 39,36,36,103,103,40,135,135,134,134, + 58,58,58,58,58,58,58,58,58,116, + 65,65,65,65,41,96,96,86,86,86, + 87,87,79,79,136,136,66,66,88,88, + 88,69,69,69,70,71,71,71,72,72, + 72,72,85,85,55,55,57,138,137,137, + 137,137,117,139,140,140,141,141,142,142, + 127,127,143,143,118,118,118,118,144,144, + 119,119,119,80,120,120,9,9,9,27, + 27,10,10,145,145,121,121,121,122,122, + 146,146,123,123,11,11,147,147,124,124, + 124,124,12,62,148,148,149,149,125,125, + 125,104,104,104,7,7,7,7,16,16, + 24,4,45,150,97,97,97,81,81,29, + 61,50,84,84,84,113,113,113,133,130, + 131,41,99,141,141,151,152,117,89,68, + 68,68,66,66,63,42,106,107,107,107, + 107,107,107,107,107,107,126,126,154,154, + 153,153,105,105,61,1,1,1,35,35, + 35,359,1770,452,17,21,18,1054,1247,45, + 371,316,317,318,1264,1297,1278,1363,1327,334, + 1447,1439,1504,1478,1530,75,1506,790,2619,92, + 1323,2144,136,214,2517,20,790,17,21,18, + 1054,367,2306,20,232,17,21,18,1054,1247, + 45,138,135,137,161,1264,1297,1278,1363,1327, + 668,1447,1439,1504,1478,1530,75,483,140,167, + 282,1506,626,2661,1339,144,147,150,153,1062, + 2625,20,364,17,21,18,1054,43,40,232, + 503,689,2231,2470,2889,2904,2918,283,2951,1556, + 396,626,1310,180,2796,1696,511,846,503,3207, + 1766,371,316,317,318,610,320,316,317,318, + 337,255,214,335,685,2544,20,159,17,21, + 18,1054,356,136,214,750,767,225,233,255, + 214,725,225,230,219,718,222,224,323,1734, + 1452,180,138,135,137,161,1560,324,1734,371, + 316,317,318,2033,1076,320,316,317,318,140, + 167,1364,1523,2095,396,1339,144,147,150,153, + 1062,136,214,364,828,346,1321,816,188,1523, + 1731,1153,311,2231,2470,2889,2904,2918,1636,2951, + 138,135,137,161,1341,492,1194,511,3427,960, + 1182,38,951,2177,111,87,322,140,167,96, + 1697,313,1153,1339,144,147,150,153,1062,336, + 285,364,1463,1816,95,97,98,99,100,1584, + 180,2231,2470,2889,2904,2918,88,2951,371,316, + 317,318,769,1998,1936,511,816,31,957,2625, + 20,999,17,21,18,1054,43,45,439,314, + 136,214,1264,1297,1278,1363,1327,295,1447,1984, + 2436,20,834,17,21,18,1054,1247,45,138, + 135,137,161,1264,1297,1278,1363,1327,521,1447, + 1439,1504,1478,1530,75,406,140,167,282,28, + 1002,1556,1712,144,147,150,153,1062,2625,20, + 364,17,21,18,1054,43,39,1364,1356,1835, + 2231,2470,2889,2904,2918,283,2951,1556,927,20, + 834,17,21,18,1054,1247,45,1017,1997,1696, + 668,1264,1297,1278,1363,1327,229,1447,1439,1504, + 1478,1530,75,228,25,288,282,334,2725,20, + 1401,17,21,18,1054,1247,45,893,1019,1320, + 659,1264,1297,1278,1363,1327,181,1447,1439,1504, + 1478,1530,75,283,1704,1556,1240,289,1506,1182, + 2893,1102,128,816,31,2463,20,987,17,21, + 18,1054,1247,45,1181,2049,279,1621,1264,1297, + 1278,1363,1327,290,1447,1439,1504,1478,1530,75, + 210,2625,20,282,17,21,18,1054,43,45, + 684,48,814,1842,1264,1297,1278,1363,1327,684, + 1447,1439,1504,2001,1076,291,1191,261,105,1166, + 283,659,1556,2490,20,394,17,21,18,1054, + 1247,45,503,337,129,347,1264,1297,1278,1363, + 1327,343,1447,1439,1504,1478,1530,75,198,1217, + 387,282,925,617,20,510,17,21,18,1054, + 1247,45,771,255,214,1364,1264,1297,1278,1363, + 1327,24,1447,1439,1504,1478,1530,75,283,1446, + 1556,1041,2825,20,1039,17,21,18,1054,1247, + 45,217,1731,421,1269,1264,1297,1278,1363,1327, + 1483,1447,1439,1504,1478,1530,75,240,292,38, + 332,3268,226,2034,555,294,111,87,876,194, + 1377,96,816,187,205,825,384,702,1419,3323, + 1,1731,421,631,1463,109,95,97,98,99, + 100,1010,20,1131,17,21,18,1054,43,36, + 1394,1129,110,370,414,111,87,816,189,1377, + 96,725,225,230,219,718,222,224,1356,1835, + 1269,388,631,1463,109,95,97,98,99,100, + 107,788,1615,264,1153,275,816,1543,342,315, + 182,110,370,414,919,247,268,1162,1135,273, + 1969,990,590,1060,38,330,2627,38,90,748, + 388,319,316,317,318,265,1095,2625,20,108, + 17,21,18,1054,43,45,1119,1704,2113,576, + 1264,1297,1278,1363,1327,242,1447,1439,1504,1478, + 1530,94,288,1731,421,2625,20,349,17,21, + 18,1054,43,45,38,28,591,1556,1264,1297, + 1278,1363,1327,262,1447,1439,1982,111,87,1348, + 210,1377,96,2571,20,1080,17,21,18,1054, + 354,1829,1087,1842,631,1463,109,95,97,98, + 99,100,788,2625,20,912,17,21,18,1054, + 1247,45,587,110,370,414,1264,1297,1278,1363, + 1327,1699,1447,1439,1504,1478,1530,75,1269,1191, + 1988,92,388,2598,20,1670,17,21,18,1054, + 41,107,450,276,721,20,361,17,21,18, + 1054,1247,45,893,125,1153,22,1264,1297,1278, + 1363,1327,1224,1447,1439,1504,1478,1530,75,1989, + 277,446,1398,3207,145,1731,421,1828,126,88, + 320,316,317,318,691,28,1490,1556,2625,20, + 788,17,21,18,1054,43,45,507,241,111, + 87,1264,1877,1377,96,725,225,230,219,718, + 222,224,1766,1400,1684,570,631,1463,109,95, + 97,98,99,100,28,1364,1556,3413,47,1048, + 1997,805,893,106,2218,110,370,414,319,316, + 317,318,1282,312,244,2825,20,635,17,21, + 18,1054,1247,45,388,631,1716,128,1264,1297, + 1278,1363,1327,108,1447,1439,1504,1478,1530,75, + 446,586,3211,332,309,370,414,405,1269,319, + 316,317,318,1594,182,28,28,1556,1556,1381, + 180,1187,320,316,317,318,674,1221,371,316, + 317,318,256,214,725,225,922,219,718,222, + 909,2625,20,1387,17,21,18,1054,43,45, + 136,214,256,214,1264,1878,3408,893,1017,2082, + 2625,20,1269,17,21,18,1054,43,45,139, + 135,137,161,1264,1297,1278,1363,1327,788,1965, + 19,503,128,156,861,1191,141,167,788,38, + 869,1028,1010,145,148,151,154,1062,331,1257, + 365,2625,20,521,17,21,18,1054,1247,45, + 124,50,255,214,1264,1297,1278,1363,1327,830, + 1447,1439,1504,1478,1530,75,893,1239,2276,86, + 256,214,243,2625,20,969,17,21,18,1054, + 1247,45,245,1191,816,1835,1264,1297,1278,1363, + 1327,196,1447,1439,1504,1478,1530,75,1176,2625, + 20,85,17,21,18,1054,1247,45,112,555, + 1191,528,1264,1297,1278,1363,1327,1321,1447,1439, + 1504,1478,1530,75,419,2625,20,84,17,21, + 18,1054,1247,45,38,127,700,1791,1264,1297, + 1278,1363,1327,797,1447,1439,1504,1478,1530,75, + 554,2625,20,83,17,21,18,1054,1247,45, + 38,1852,3347,1191,1264,1297,1278,1363,1327,482, + 1447,1439,1504,1478,1530,75,1745,2625,20,82, + 17,21,18,1054,1247,45,211,339,123,284, + 1264,1297,1278,1363,1327,1269,1447,1439,1504,1478, + 1530,75,1289,2625,20,81,17,21,18,1054, + 1247,45,1125,231,892,1191,1264,1297,1278,1363, + 1327,1269,1447,1439,1504,1478,1530,75,1927,2625, + 20,80,17,21,18,1054,1247,45,788,1060, + 3441,1786,1264,1297,1278,1363,1327,1269,1447,1439, + 1504,1478,1530,75,1219,2625,20,79,17,21, + 18,1054,1247,45,1403,1180,816,297,1264,1297, + 1278,1363,1327,1269,1447,1439,1504,1478,1530,75, + 1598,2625,20,78,17,21,18,1054,1247,45, + 1364,1219,246,1191,1264,1297,1278,1363,1327,1269, + 1447,1439,1504,1478,1530,75,1663,2625,20,77, + 17,21,18,1054,1247,45,1269,2265,3442,1269, + 1264,1297,1278,1363,1327,2685,1447,1439,1504,1478, + 1530,75,1584,180,1280,76,1107,23,1364,1718, + 1357,371,316,317,318,320,316,317,318,206, + 195,1453,2625,20,1687,17,21,18,1054,1247, + 45,1269,1191,136,214,1264,1297,1278,1363,1327, + 1928,1447,1439,1504,1478,1530,75,816,299,352, + 93,1391,139,135,137,161,1505,3453,2625,20, + 2333,17,21,18,1054,43,45,1431,1191,141, + 167,1264,1297,1278,1363,1981,145,148,151,154, + 1062,2625,20,365,17,21,18,1054,1247,45, + 1330,1290,73,118,1264,1297,1278,1363,1327,1759, + 1447,1439,1504,1478,1530,75,1710,2625,20,1408, + 17,21,18,1054,1247,45,788,235,1819,456, + 1264,1297,1278,1363,1327,752,1447,1439,1504,1478, + 1530,75,1725,2625,20,1618,17,21,18,1054, + 43,45,1269,38,296,1153,1264,1297,1278,1363, + 1327,2398,1447,1439,1504,1478,1530,94,2625,20, + 321,17,21,18,1054,43,45,1458,1490,88, + 298,1264,1297,1278,1363,1327,1152,1447,1439,1504, + 1478,1530,94,1807,1865,2625,20,1395,17,21, + 18,1054,1247,45,788,1552,191,363,1264,1297, + 1278,1363,1327,1269,1447,1439,1504,1478,1530,75, + 845,2625,20,360,17,21,18,1054,1247,45, + 923,341,213,1140,1264,1297,1278,1363,1327,1329, + 1447,1439,1504,1478,1530,75,1368,2625,20,74, + 17,21,18,1054,43,45,1269,38,386,1153, + 1264,1297,1278,1363,1327,1347,1447,1439,1504,1478, + 1530,94,2625,20,340,17,21,18,1054,43, + 45,1556,1498,88,1104,1264,1297,1278,1363,1327, + 2042,1447,1439,1504,1478,1530,94,1943,1944,2625, + 20,1294,17,21,18,1054,43,45,1269,1570, + 1723,203,1264,1297,1278,1363,1327,1269,1447,1439, + 1504,1478,1530,94,2625,20,274,17,21,18, + 1054,43,45,1999,1874,353,1800,1264,1297,1278, + 1363,1327,1269,1447,1439,1504,1478,1530,94,2000, + 1824,2625,20,3781,17,21,18,1054,43,45, + 2674,3781,3781,204,1264,1297,1278,1363,1327,1597, + 1447,1439,1504,1478,1530,94,3781,3781,320,316, + 317,318,446,3781,3346,3781,3781,3781,1826,3781, + 1269,319,316,317,318,2679,2652,20,3781,17, + 21,18,1054,34,371,316,317,318,2707,1221, + 874,1269,421,1820,3781,1904,725,225,922,219, + 718,222,224,408,1269,3781,136,214,3781,2734, + 3781,326,319,316,317,318,88,3781,3408,198, + 1178,3781,280,1382,1692,138,135,137,161,38, + 2069,1153,2838,319,316,317,318,725,225,230, + 220,718,222,224,1155,156,861,3781,2964,3781, + 3224,3269,869,1269,3781,88,1328,446,3781,3207, + 1269,275,2090,3781,3781,521,319,316,317,318, + 3781,1281,270,1162,1135,273,1744,3781,281,3781, + 3781,406,396,3781,1221,319,316,317,318,3781, + 3781,725,225,230,219,718,222,224,446,3781, + 3207,408,3781,2069,3781,3781,1269,319,316,317, + 318,2238,1269,3408,3781,3781,3781,1489,3781,3781, + 371,316,317,318,1778,1221,1269,3781,395,2410, + 2773,3781,725,225,230,219,718,222,224,3781, + 156,861,136,214,2800,2371,20,860,17,21, + 18,1054,43,44,3408,1750,846,3781,3207,3781, + 3781,143,135,137,161,319,316,317,318,2625, + 20,3781,17,21,18,1054,43,38,142,167, + 3781,156,861,527,38,3781,1153,3781,869,3781, + 725,225,230,219,718,222,224,446,3781,3207, + 28,2867,1556,2579,3781,3781,319,316,317,318, + 88,906,2033,3207,508,3781,522,2111,3781,278, + 319,316,317,318,1221,3781,1142,3781,2684,3781, + 3781,725,225,230,219,718,222,224,527,306, + 3781,3781,3781,797,278,725,225,230,219,718, + 222,224,2244,3408,1153,3781,631,3421,3781,275, + 725,225,230,219,718,222,224,2033,3781,199, + 268,1162,1135,273,3781,305,370,414,88,3781, + 157,861,954,3781,275,116,3781,3781,1705,2008, + 2752,3781,3781,3781,310,268,1162,1135,273,371, + 316,317,318,2625,20,3781,17,21,18,1054, + 43,45,3421,3781,2008,3781,1893,709,3781,3781, + 3781,136,214,3781,200,3781,319,316,317,318, + 3781,3781,303,304,1673,3781,3781,709,3781,3781, + 138,135,137,161,2069,3781,319,316,317,318, + 2852,725,225,230,220,718,222,224,1155,371, + 316,317,318,2964,2069,3781,3781,3781,3781,3781, + 3781,725,225,1608,220,718,222,1582,1155,1600, + 3781,136,214,709,430,3781,522,3781,320,316, + 317,318,319,316,317,318,406,396,3781,3781, + 146,135,137,161,3781,1655,1731,1153,3781,306, + 2069,3781,3781,797,3781,3781,409,725,225,1608, + 220,718,222,224,1155,3781,631,3781,3781,3781, + 111,87,1716,1731,1153,96,1010,20,3781,17, + 21,18,1054,43,36,305,370,414,1463,104, + 95,97,98,99,100,3781,3781,111,87,1501, + 3781,659,96,3781,310,38,3781,1153,319,316, + 317,318,3781,3781,3781,1463,102,95,97,98, + 99,100,3781,3781,3781,709,2069,3781,987,3781, + 248,88,3781,3781,319,316,317,318,2226,444, + 1050,659,302,304,1777,1731,1153,1094,3781,659, + 3781,423,2069,3781,1838,1731,1153,3781,3781,767, + 225,234,3781,3781,2876,3781,1155,2334,987,111, + 87,3781,3781,3781,96,3781,198,3781,260,111, + 87,502,3781,659,96,2124,1761,1463,362,95, + 97,98,99,100,1899,1731,1153,1463,103,95, + 97,98,99,100,1555,3781,659,1446,3781,3781, + 987,3781,3781,319,316,317,318,3781,260,111, + 87,3781,3781,3781,96,1575,1761,1960,1731,1153, + 3781,2069,3781,987,3781,3781,3781,1463,120,95, + 97,98,99,100,3781,1050,3781,193,3781,3781, + 3781,3781,111,87,2021,1731,1153,96,747,879, + 260,3781,2082,1731,1153,3781,3781,1575,1761,2123, + 1463,115,95,97,98,99,100,3781,3781,111, + 87,3781,3781,260,96,3781,3781,111,87,3781, + 2124,1761,96,2143,1731,1153,3781,1463,2050,95, + 97,98,99,100,3781,1463,114,95,97,98, + 99,100,3781,3781,3781,1809,1324,3781,111,87, + 2204,1731,1153,96,3781,319,316,317,318,3781, + 3781,3781,3781,3781,3781,3781,1463,122,95,97, + 98,99,100,2069,3781,111,87,3781,2625,20, + 96,17,21,18,1054,43,45,1050,2696,3781, + 3274,1894,3781,1463,121,95,97,98,99,100, + 2625,20,3781,17,21,18,1054,43,45,3781, + 3781,2605,3781,1264,1297,1278,1897,2625,20,3781, + 17,21,18,1054,43,45,1251,3781,3781,3781, + 1264,1297,1278,1905,3781,319,316,317,318,2862, + 3781,3781,3781,444,3781,659,275,3781,371,316, + 317,318,3781,2069,2893,3781,3781,268,1162,1135, + 273,3781,3781,371,316,317,318,1155,2903,3781, + 136,214,987,3781,3781,3781,393,371,316,317, + 318,3781,3781,3781,275,136,214,3781,3781,149, + 135,137,161,3781,3781,270,1162,1135,273,136, + 214,2934,3781,3781,152,135,137,161,3781,3781, + 371,316,317,318,2944,3781,3781,3781,155,135, + 137,161,260,371,316,317,318,3781,3781,2180, + 1761,3781,136,214,2625,20,3781,17,21,18, + 1054,43,45,3781,3781,136,214,1264,1297,1906, + 3781,366,135,137,161,2625,20,3781,17,21, + 18,1054,43,45,139,135,137,161,1264,1297, + 1920,2625,20,3781,17,21,18,1054,43,45, + 3781,3781,3781,3781,1264,1297,1930,2625,20,3781, + 17,21,18,1054,43,45,3781,3781,3781,3781, + 1264,1297,1933,2625,20,3781,17,21,18,1054, + 43,45,476,3781,3207,3781,1264,1297,1939,2625, + 20,3781,17,21,18,1054,43,45,890,3781, + 421,557,1264,1297,1946,3781,874,3781,421,3781, + 319,316,317,318,3781,3781,725,225,230,219, + 718,222,224,874,88,421,3781,1282,1333,3781, + 3781,116,88,3781,3781,198,1178,3781,954,1382, + 631,3781,3781,3781,874,3781,421,3781,2838,88, + 3781,3781,198,1178,3781,874,1382,421,3781,2372, + 370,414,3781,3781,3781,2838,3224,3781,3781,874, + 88,421,1601,198,1178,3781,3781,1382,3781,3781, + 1595,88,3781,3224,198,1178,2838,3781,1382,1627, + 874,3781,421,3781,3781,88,1748,2838,198,1178, + 607,3781,1382,3781,3224,320,316,317,318,3781, + 1653,2838,3781,3781,3781,3224,88,3781,3781,198, + 1178,1679,3781,1382,3781,3781,3781,1324,3781,3224, + 3781,1324,2838,3781,3781,1696,319,316,317,318, + 319,316,317,318,2769,3781,3274,3781,3781,3781, + 3224,3781,3781,3781,2069,3781,2173,3781,2069,2625, + 20,3781,17,21,18,1054,43,37,1050,3781, + 2625,20,1050,17,21,18,1054,43,36,2625, + 20,3781,17,21,18,1054,43,35,1255,1804, + 570,3781,2437,3781,1324,3781,2457,3781,320,316, + 317,318,275,319,316,317,318,3781,3781,3781, + 3781,3781,3781,268,1162,1135,273,1282,3781,2625, + 20,2069,17,21,18,1054,43,48,3781,3781, + 631,3781,267,2625,20,1050,17,21,18,1054, + 43,47,3781,1324,3781,3781,3781,3781,3781,308, + 370,414,319,316,317,318,3781,2625,20,2876, + 17,21,18,1054,43,46,1324,1238,3781,659, + 2069,1038,3781,3781,3781,319,316,317,318,3781, + 319,316,317,318,1050,2652,20,3781,17,21, + 18,1054,33,2069,1744,3781,198,3781,1333,3781, + 3781,3781,3781,319,316,317,318,1050,2123,2798, + 20,3781,17,21,18,1054,1861,3781,3781,3781, + 3781,2069,3781,3781,3781,3781,3781,1446,1550,3781, + 3781,2503,1263,1682,3781,1592,3781,319,316,317, + 318,1814,319,316,317,318,3781,1870,3781,3781, + 319,316,317,318,3781,2499,319,316,317,318, + 3176,2244,2244,1153,1153,3781,3781,193,3451,3781, + 982,1873,3781,2244,3471,1153,3781,3781,1275,879, + 320,316,317,318,3781,3781,3781,88,88,3781, + 3781,1926,3781,3781,116,116,3781,3781,3781,88, + 320,316,317,318,3781,3781,116,3781,3781,3781, + 3781,3781,3781,3781,3781,3781,3781,3781,3781,3781, + 3781,3781,3781,3781,3781,3781,3781,3781,3781,3781, + 3781,3781,3781,3781,3781,3781,3781,3781,3781,3781, + 3781,3781,3781,1742,2232,3781,3781,3781,3781,3781, + 3781,3781,3781,3781,3781,2246,3781,0,1,540, + 0,1,520,0,1,535,0,1,544,0, + 678,413,0,520,130,0,535,130,0,544, + 130,0,520,131,0,535,131,0,544,131, + 0,520,132,0,535,132,0,544,132,0, + 544,186,0,535,186,0,520,186,0,186, + 190,0,544,185,0,535,185,0,520,185, + 0,185,190,0,520,133,0,535,133,0, + 544,133,0,520,134,0,535,134,0,544, + 134,0,417,420,0,416,419,0,415,418, + 0,11,227,0,520,369,0,535,369,0, + 544,369,0,4197,412,0,224,236,0,3789, + 1,0,544,381,0,535,381,0,520,381, + 0,1042,32,0,1853,32,0,520,411,0, + 535,411,0,544,411,0,4180,411,0,4178, + 411,0,544,254,0,535,254,0,520,254, + 0,4197,413,0,1,4019,0,224,237,0, + 520,407,0,535,407,0,544,407,0,3999, + 407,0,3998,407,0,3997,407,0,3996,407, + 0,3947,407,0,3946,407,0,3945,407,0, + 3944,407,0,3943,407,0,520,410,0,535, + 410,0,544,410,0,4180,410,0,4178,410, + 0,180,20,0,8,10,0,2010,119,0, + 1,4201,0,1,4200,0,1,4199,0,1, + 4008,0,367,356,0,368,357,0,113,2742, + 0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -1089,7 +1090,8 @@ public class XlcCParserprs implements lpg.lpgjavaruntime.ParseTable, XlcCParsers 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,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; @@ -1097,304 +1099,304 @@ public class XlcCParserprs implements lpg.lpgjavaruntime.ParseTable, XlcCParsers public interface TermAction { public final static char termAction[] = {0, - 3777,1,6257,6201,6198,6200,1801,3537,1,1, - 1,6256,1,1,1,1,1,1,818,1, + 3781,1,6262,6206,6203,6205,1802,3538,1,1, + 1,6261,1,1,1,1,1,1,819,1, 1,1,1,1,1,1,1,1,1,1, - 1,3786,1,1,1,1,1,1,3878,1, - 1,1,1,1,1,1,55,157,1643,286, - 1178,1076,1404,1719,608,1,1633,1045,1685,1202, - 1659,1,1,1,1,1,1,1,1,1, - 1,3784,8,3753,3753,3753,3753,3753,3753,3753, - 3753,3753,3753,3753,3753,3753,3753,3753,3753,3753, - 3753,3753,3753,3753,3753,3753,3753,3753,3753,3753, - 3753,3753,3753,3753,3753,3753,3753,3753,3753,3777, - 3753,3753,3753,3753,3753,3753,3753,3753,1237,1360, - 3753,461,3753,3753,3753,3753,3753,3753,3753,3753, - 3753,3753,3753,3753,3753,3753,3753,3753,3753,3753, - 3753,3753,3753,3753,3777,1,6257,6201,6198,6200, - 1801,3537,1,1,1,6256,1,1,1,1, - 1,1,818,1,1,1,1,1,1,1, - 1,1,1,1,1,3786,1,1,1,1, - 1,3777,3878,1,1,1,1,1,1,1, - 358,2195,1643,3777,1178,1076,1404,1719,608,1, - 1633,1045,1685,1202,1659,1,1,1,1,1, - 1,1,1,1,1,3784,3777,1,6257,6201, - 6198,6200,3787,3537,1,1,1,6256,1,1, - 1,1,1,1,818,1,1,1,1,1, - 1,1,1,1,1,1,1,3786,1,1, - 1,1,1,3777,3878,1,1,1,1,1, - 1,1,1237,1360,1643,3777,1178,1076,1404,1719, - 608,1,1633,1045,1685,1202,1659,1,1,1, - 1,1,1,1,1,1,1,3777,1,6257, - 6201,6198,6200,3787,3537,1,1,1,6256,1, - 1,1,1,1,1,818,1,1,1,1, - 1,1,1,1,1,1,1,1,3786,1, - 1,1,1,1,3777,3878,1,1,1,1, - 1,1,1,3777,479,1643,344,1178,1076,1404, - 1719,608,1,1633,1045,1685,1202,1659,1,1, - 1,1,1,1,1,1,1,1,3777,3134, - 3788,4191,4193,3690,4120,543,519,534,3249,3789, - 3388,3238,2288,3258,3364,2095,3777,3793,1182,3790, - 3791,3792,737,499,1132,3991,3993,3992,3940,3777, - 3941,3939,3994,3942,3938,3777,617,3945,3949,3947, - 3948,3946,3951,3952,63,222,490,268,2345,4003, - 4194,4196,4195,3950,543,519,534,253,69,3944, - 3953,3954,3955,4165,4166,4167,1278,3350,3080,3777, - 1,1,1,1,1,3787,3537,1,1,1, - 1,1,912,1,912,1,3061,4003,4194,4196, - 4195,3777,3546,3540,3543,3777,1,1,1,1, - 3786,1,1,1,1,1,3777,4083,1,1, - 1,1,1,1,1,1,3061,4003,4194,4196, - 4195,3777,3777,1955,1,4173,4175,3783,2866,2849, + 1,3790,1,1,1,1,1,1,3882,1, + 1,1,1,1,1,1,55,158,1644,287, + 1179,1077,1405,1720,609,1,1634,1046,1686,1203, + 1660,1,1,1,1,1,1,1,1,1, + 1,3788,8,3754,3754,3754,3754,3754,3754,3754, + 3754,3754,3754,3754,3754,3754,3754,3754,3754,3754, + 3754,3754,3754,3754,3754,3754,3754,3754,3754,3754, + 3754,3754,3754,3754,3754,3754,3754,3754,3754,3781, + 3754,3754,3754,3754,3754,3754,3754,3754,1238,1361, + 3754,462,3754,3754,3754,3754,3754,3754,3754,3754, + 3754,3754,3754,3754,3754,3754,3754,3754,3754,3754, + 3754,3754,3754,3754,3781,1,6262,6206,6203,6205, + 1802,3538,1,1,1,6261,1,1,1,1, + 1,1,819,1,1,1,1,1,1,1, + 1,1,1,1,1,3790,1,1,1,1, + 1,3781,3882,1,1,1,1,1,1,1, + 359,2196,1644,3781,1179,1077,1405,1720,609,1, + 1634,1046,1686,1203,1660,1,1,1,1,1, + 1,1,1,1,1,3788,3781,1,6262,6206, + 6203,6205,3791,3538,1,1,1,6261,1,1, + 1,1,1,1,819,1,1,1,1,1, + 1,1,1,1,1,1,1,3790,1,1, + 1,1,1,3781,3882,1,1,1,1,1, + 1,1,1238,1361,1644,3781,1179,1077,1405,1720, + 609,1,1634,1046,1686,1203,1660,1,1,1, + 1,1,1,1,1,1,1,3781,1,6262, + 6206,6203,6205,3791,3538,1,1,1,6261,1, + 1,1,1,1,1,819,1,1,1,1, + 1,1,1,1,1,1,1,1,3790,1, + 1,1,1,1,3781,3882,1,1,1,1, + 1,1,1,3781,480,1644,345,1179,1077,1405, + 1720,609,1,1634,1046,1686,1203,1660,1,1, + 1,1,1,1,1,1,1,1,3781,3135, + 3792,4196,4198,3691,4125,544,520,535,3250,3793, + 3389,3239,2289,3259,3365,2096,3781,3797,1183,3794, + 3795,3796,738,500,1133,3996,3998,3997,3945,3781, + 3946,3944,3999,3947,3943,3781,618,3950,3954,3952, + 3953,3951,3956,3957,63,223,491,269,2346,4008, + 4199,4201,4200,3955,544,520,535,254,69,3949, + 3958,3959,3960,4170,4171,4172,1279,3351,3081,3781, + 1,1,1,1,1,3791,3538,1,1,1, + 1,1,913,1,913,1,3062,4008,4199,4201, + 4200,3781,3547,3541,3544,3781,1,1,1,1, + 3790,1,1,1,1,1,3781,4088,1,1, + 1,1,1,1,1,1,3062,4008,4199,4201, + 4200,3781,3781,1956,1,4178,4180,3787,2867,2850, 1,1,1,1,1,1,1,1,1,1, - 1912,1,3777,3693,2633,678,43,3777,1,1, - 1,1,1,3787,3537,1,1,1,1,1, - 220,4178,4174,4180,4181,4179,4176,4177,3782,3991, - 3993,3992,4035,300,1,1,1,1,3786,1, - 1,1,1,1,1842,4083,1,1,1,1, - 1,1,1,73,249,3536,185,912,3588,3588, - 3588,3588,1,3579,3585,3582,3777,3588,1,1, - 1,1,1,1,1,1,1,1,1,4193, - 1686,1,1,1,4193,248,270,817,4193,182, - 4035,4193,4193,4193,4193,4193,543,519,534,1660, - 1634,1608,1582,1556,1504,1530,1478,1452,1420,3777, - 524,299,3991,3993,3992,4193,1,3134,3788,4191, - 4193,4192,3781,912,4193,3777,1000,3789,544,3238, - 2288,3258,3364,2095,52,3793,1182,3790,3791,3792, - 737,499,1132,629,850,639,787,2827,2422,4193, - 4193,4193,4193,4193,4193,4193,4193,4193,4193,4193, - 4193,4193,4193,4193,4193,4193,4193,349,4193,4193, - 4193,4193,4193,4193,4193,4193,4193,4193,4193,4193, - 4193,1,4192,3777,3777,943,1062,4192,3777,3787, - 3777,4192,1740,486,4192,4192,4192,4192,4192,3777, - 1800,1,2345,4003,4194,4196,4195,262,253,3061, - 4003,4194,4196,4195,3786,543,519,534,4192,3780, - 3777,3134,3788,4191,4193,4192,3781,4192,3777,2316, - 2555,3789,544,3238,2288,3258,3364,2095,912,3793, - 1182,3790,3791,3792,737,499,1132,262,262,292, - 1816,211,4192,4192,4192,4192,4192,4192,4192,4192, - 4192,4192,4192,4192,4192,4192,4192,4192,4192,4192, - 229,4192,4192,4192,4192,4192,4192,4192,4192,4192, - 4192,4192,4192,4192,1,4191,2023,3777,232,326, - 4191,4104,3777,3781,4191,3777,3777,4191,4191,4191, - 4191,4191,3783,3777,356,367,367,367,367,367, - 3771,367,367,367,3771,3777,4105,3788,4191,4193, - 4192,4191,5624,3780,1756,1867,3789,416,3621,67, - 4191,367,367,367,367,3771,367,367,367,367, - 367,367,455,3782,357,1,3061,4003,4194,4196, - 4195,3771,3546,3540,3543,4191,4191,4191,4191,4191, - 4191,4191,4191,4191,4191,4191,4191,4191,4191,4191, - 4191,4191,4191,1,4191,4191,4191,4191,4191,4191, - 4191,4191,4191,4191,4191,4191,4191,1,3789,1, - 3780,818,1,3789,1946,117,3537,3789,3787,3777, - 3789,3789,3789,3789,3789,1,3061,4003,4194,4196, - 4195,3777,3546,3540,3543,1379,1237,1360,32,3660, - 117,3373,59,3786,3789,3777,1,3134,5187,4981, - 4775,4878,29,3789,3803,3804,3249,5084,544,3238, - 2288,3258,3364,2095,5624,3793,1182,3790,3791,3792, - 737,499,1132,3777,1946,3663,415,3624,3789,3789, - 3789,3789,3789,3789,3789,3789,3789,3789,3789,3789, - 3789,3789,3789,3789,3789,3789,3777,3789,3789,3789, - 3789,3789,3789,3789,3789,3789,3789,3789,3789,3789, - 1,3788,3777,822,1237,1360,3788,29,414,3627, - 3788,11,3630,3788,3788,3788,3788,3788,675,3777, - 3134,3788,4191,4193,4192,3781,3777,445,1,3249, - 3789,544,3238,2288,3258,3364,2095,3788,3793,1182, - 3790,3791,3792,737,499,1132,3788,184,3777,3600, - 3600,3600,3600,3777,3591,3597,3594,206,3600,6246, - 6246,6246,6246,3777,543,519,534,1029,6246,350, - 1233,3788,3788,3788,3788,3788,3788,3788,3788,3788, - 3788,3788,3788,3788,3788,3788,3788,3788,3788,271, - 3788,3788,3788,3788,3788,3788,3788,3788,3788,3788, - 3788,3788,3788,3777,347,1,1,1,1,191, - 1,1,1,68,1,1,377,4034,6254,6254, - 6254,6254,3780,543,519,534,912,6254,337,1548, - 1,1,1,1,250,1,1,1,1,1, - 3777,3973,1,1,1,1,1,1,1,58, - 1002,1,2345,3765,3762,3756,3759,3783,1,1062, - 3777,1,1,1,1,1,1,1,1,1, - 1,1,1,1,191,3777,3777,1,1,1, - 1,190,1,1,1,71,1,1,912,3777, - 3777,1,3788,4191,4193,4192,251,3648,3782,1379, - 3777,3789,1,1,1,1,3787,1,1,1, - 1,1,3777,3973,1,1,1,1,1,1, - 1,1237,1360,3991,3993,3992,235,1971,3777,3077, - 1,3786,223,3645,3645,3645,1,1,1,1, - 1,1,1,1,1,1,190,3777,65,1, - 1,1,1,191,1,1,1,223,1,1, - 268,2320,3784,1767,1,1645,252,543,519,534, - 253,3537,223,1104,1,1,1,1,3777,1, - 1,1,1,1,3783,3973,1,1,1,1, - 1,1,1,3991,3993,3992,3777,912,236,3777, - 223,2016,1,72,223,3696,3696,3696,1,1, - 1,1,1,1,1,1,1,1,191,1, - 3061,729,680,603,3549,3782,3546,3540,3543,223, - 3789,453,3777,253,3788,4191,4193,4192,57,3777, - 543,519,534,3789,223,3781,3991,3993,3992,3940, - 1063,3941,3939,3994,3942,3938,66,3777,3945,3949, - 3947,3948,3946,3951,3952,208,3777,3788,4191,4193, - 4192,1767,223,3777,3950,1408,3789,56,3777,3785, - 3944,3953,3954,3955,4165,4166,4167,1278,3350,3080, - 3777,1104,3788,4191,4193,3642,60,543,519,534, - 256,3789,453,3777,62,3788,4191,4193,4192,1, - 1237,1360,3777,1956,3789,2524,3537,3991,3993,3992, - 3940,1066,3941,3939,3994,3942,3938,818,2050,3945, - 3949,3947,3948,3946,3951,3952,207,285,1463,1463, - 1463,1463,3780,1113,3784,3950,797,1463,3777,1237, - 1360,3944,3953,3954,3955,4165,4166,4167,1278,3350, - 3080,3777,3777,3788,4191,4193,3690,54,543,519, - 534,3777,3789,453,3068,3052,3036,3020,3004,2983, - 2827,2422,3068,3052,3036,3020,3004,2983,3991,3993, - 3992,3940,3777,3941,3939,3994,3942,3938,3783,53, - 3945,3949,3947,3948,3946,3951,3952,70,1113,3777, - 1,2551,2827,2422,89,1,3950,3546,3540,3543, - 253,3783,3944,3953,3954,3955,4165,4166,4167,1278, - 3350,3080,3777,1,6257,6201,6198,6200,3787,3782, - 3777,769,1,6256,1,1,1,1,1,1, - 818,1,1,1,1,1,1,1,1,159, - 1731,61,3782,3786,1,64,543,519,534,378, - 3878,3546,3540,3543,253,3777,543,519,534,3777, - 1643,4015,1178,1076,1404,1719,608,3777,1633,1045, - 1685,1202,1659,3777,678,3788,4191,4193,4192,4035, - 543,519,534,381,3789,453,380,3777,2148,372, - 543,519,534,3651,3657,3654,543,519,534,3777, - 3991,3993,3992,3940,1,3941,3939,3994,3942,3938, - 91,3777,3945,3949,3947,3948,3946,3951,3952,3068, - 3052,3036,3020,3004,2983,3777,446,3777,3950,2866, - 2849,3783,3777,4035,3944,3953,3954,3955,4165,4166, - 4167,1278,3350,3080,3777,1,6257,6201,6198,6200, - 3787,91,3777,2303,1,6256,1,1,1,1, - 1,1,818,1,1,1,1,1,1,1, - 1,371,3782,49,3777,3786,324,941,543,519, - 534,183,3878,3336,3777,3777,1,1085,543,519, - 534,3783,1643,30,1178,1076,1404,1719,608,3777, - 1633,1045,1685,1202,1659,3777,1,6257,6201,6198, - 6200,3787,3777,2584,207,1,6256,1,1,1, - 1,1,1,818,1,1,1,1,1,1, - 1,1,3782,253,3777,2,3786,373,3777,3806, - 3681,3687,3684,3878,543,519,534,2009,3777,3312, - 3298,3777,1513,1643,3783,1178,1076,1404,1719,608, - 5623,1633,1045,1685,1202,1659,3777,1,6257,6201, - 6198,6200,3787,3777,3777,30,1,6256,1,1, - 1,1,1,1,818,1,1,1,1,1, - 1,1,1,379,2008,3782,51,3786,3777,3777, - 543,519,534,200,3878,3777,3336,3777,3777,3777, - 543,519,534,113,1643,3783,1178,1076,1404,1719, - 608,757,1633,1045,1685,1202,1659,3777,1,6257, - 6201,6198,6200,3787,3777,3777,3777,1,6256,1, - 1,1,1,1,1,818,1,1,1,1, - 1,1,1,1,50,1294,3782,2623,3786,374, - 3777,3777,375,3777,3336,3878,543,519,534,543, - 519,534,3312,3298,3777,1643,3777,1178,1076,1404, - 1719,608,3777,1633,1045,1685,1202,1659,3777,1, - 6257,6201,6198,6200,3787,3777,3777,3777,1,6256, - 1,1,1,1,1,1,818,1,1,1, - 1,1,1,1,1,376,229,3777,3774,3786, - 3777,3777,543,519,534,367,3878,3777,3777,3777, - 3312,3298,3777,3777,233,1539,1643,882,1178,1076, - 1404,1719,608,5624,1633,1045,1685,1202,1659,3777, - 1,6257,6201,6198,6200,3787,3777,3777,356,1, - 6256,1,1,1,1,1,1,818,1,1, - 1,1,1,1,1,1,5624,354,42,3777, - 3786,1894,1920,3777,3777,3777,3777,3878,201,3777, - 3777,1,3777,1,1,5624,5624,1643,3777,1178, - 1076,1404,1719,608,5624,1633,1045,1685,1202,1659, - 3777,1,6257,6201,6198,6200,3787,3777,3777,3777, - 1,6256,1,1,1,1,1,1,818,1, - 1,1,1,1,1,1,1,1998,4161,189, - 4193,3786,4192,4191,3777,3777,3777,381,3878,1, - 1,3777,3777,3777,3777,3777,3777,206,1643,3777, - 1178,1076,1404,1719,608,377,1633,1045,1685,1202, - 1659,3777,1,6257,6201,6198,6200,3787,3777,3777, - 3777,1,6256,1,1,1,1,1,1,818, - 1,1,1,1,1,1,1,1,3789,3788, - 3777,3777,3786,3777,3777,3777,3777,3777,3777,3878, - 3777,3777,3777,3777,3777,3777,3777,3777,3777,1643, - 3777,1178,1076,1404,1719,608,3777,1633,1045,1685, - 1202,1659,3777,1,6257,6201,6198,6200,3787,3777, - 3777,3777,1,6256,1,1,1,1,1,1, - 818,1,1,1,1,1,1,1,1,3777, - 3777,3777,3777,3786,3777,3777,3777,3777,3777,3777, - 3878,3777,3777,3777,3777,3777,3777,3777,3777,3777, - 1643,3777,1178,1076,1404,1719,608,3777,1633,1045, - 1685,1202,1659,3777,1,6257,6201,6198,6200,3787, - 3777,3777,3777,1,6256,1,1,1,1,1, - 1,818,1,1,1,1,1,1,1,1, - 3777,3777,3777,3777,3786,3777,3777,129,3777,3777, - 3777,3878,3777,1,3558,3552,3555,3777,3777,117, - 3777,1643,3777,1178,1076,1404,1719,608,3777,1633, - 1045,1685,1202,1659,3991,3993,3992,3940,3777,3941, - 3939,3994,3942,3938,117,3777,3945,3949,3947,3948, - 3946,3951,3952,3777,3777,3777,3777,3777,3777,3777, - 117,3777,3950,3777,3777,3777,3777,3777,3944,3953, - 3954,3955,4165,4166,4167,3777,3134,3788,4191,4193, - 4192,3777,3777,3777,3777,3249,3789,544,3238,2288, - 3258,3364,2095,5624,3793,1182,3790,3791,3792,737, - 499,1132,20,3750,179,179,179,179,3750,179, - 179,179,3750,3777,3777,3777,3777,3777,3777,3777, - 3777,3777,3777,3777,3777,3777,3777,3777,3777,179, - 179,179,179,3750,179,179,179,179,179,3750, - 3777,3134,3788,4191,4193,4192,3777,3777,3777,3750, - 3249,3789,544,3238,2288,3258,3364,2095,5624,3793, - 1182,3790,3791,3792,737,499,1132,355,366,366, - 366,366,366,3768,366,366,366,3768,3777,3777, - 3777,3777,3777,3777,3777,3777,3777,3777,3777,3777, - 3777,3777,3777,3777,366,366,366,366,3768,366, - 366,366,366,366,366,1,3134,5187,4981,4775, - 4878,3777,3777,3777,3768,3249,5084,544,3238,2288, - 3258,3364,2095,5624,3793,1182,3790,3791,3792,737, - 499,1132,382,3134,3788,4191,4193,4192,3777,3777, - 3777,3777,3249,3789,544,3238,2288,3258,3364,2095, - 5624,3793,1182,3790,3791,3792,737,499,1132,3777, - 3134,3788,4191,4193,4192,3777,3777,3777,3777,3249, - 3789,544,3238,2288,3258,3364,2095,5624,3793,1182, - 3790,3791,3792,737,499,1132,3777,2109,3788,4191, - 4193,4192,3777,3777,3777,3777,3249,3789,544,3238, - 2288,3258,3364,2095,3777,3793,1182,3790,3791,3792, - 737,499,1132,3777,3085,3788,4191,4193,4192,3777, - 3777,3777,3777,3249,3789,544,3238,2288,3258,3364, - 2095,3777,3793,1182,3790,3791,3792,737,499,1132, - 3777,3102,3788,4191,4193,4192,3777,3777,3777,3777, - 3249,3789,544,3238,2288,3258,3364,2095,3777,3793, - 1182,3790,3791,3792,737,499,1132,3777,3123,3788, - 4191,4193,4192,3777,3777,3777,3777,3249,3789,544, - 3238,2288,3258,3364,2095,3777,3793,1182,3790,3791, - 3792,737,499,1132,3777,3134,3788,4191,4193,4192, - 3777,3777,3777,3777,3249,3789,544,3238,2288,3258, - 3364,2095,3777,3793,1182,3790,3791,3792,737,499, - 1132,3777,3148,3788,4191,4193,4192,3777,3777,3777, - 3777,3249,3789,544,3238,2288,3258,3364,2095,3777, - 3793,1182,3790,3791,3792,737,499,1132,410,3777, - 3777,3678,3675,3777,3777,3672,3666,3669,3777,3777, - 3787,3777,3777,3777,3777,1,2320,3777,3777,3777, - 3777,391,3777,3777,3777,3991,3993,3992,3940,3777, - 3941,3939,3994,3942,3938,3786,3777,4178,4174,4180, - 4181,4179,4176,4177,1,3134,3788,4191,4193,4192, - 2330,3777,912,3777,3249,3789,544,3238,2288,3258, - 3364,2095,391,3793,1182,3790,3791,3792,737,499, - 1132,409,3777,3777,3747,3744,3777,3777,3741,3735, - 3738,3777,3777,3777,3777,3777,3777,3777,1,2320, - 3777,3777,3777,3777,265,3777,3777,3777,3991,3993, - 3992,3940,3777,3941,3939,3994,3942,3938,3777,3777, - 4178,4174,4180,4181,4179,4176,4177,3777,3169,3788, - 4191,4193,4192,3777,3777,912,3777,3249,3789,544, - 3238,2288,3258,3364,2095,265,3793,1182,3790,3791, - 3792,737,499,1132,332,3134,3788,4191,4193,4192, - 3777,3777,3777,3777,3249,3789,544,3238,2288,3258, - 3364,2095,3777,3793,1182,3790,3791,3792,737,499, - 1132,130,3777,3777,3777,3777,3777,3777,3567,3561, - 3564,131,3777,3777,3777,3777,1,2320,3576,3570, - 3573,3777,3783,3777,3777,3777,3777,3777,3991,3993, - 3992,3940,3777,3941,3939,3994,3942,3938,3991,3993, - 3992,3940,132,3941,3939,3994,3942,3938,3777,3609, - 3603,3606,133,912,3777,3777,3777,3777,3777,3618, - 3612,3615,3777,3782,3777,3777,3777,3777,3777,3991, - 3993,3992,3940,3777,3941,3939,3994,3942,3938,3991, - 3993,3992,3940,368,3941,3939,3994,3942,3938,3777, - 3639,3633,3636,406,3777,3777,3777,3777,3777,3777, - 3705,3699,3702,3777,3777,3777,3777,3777,3777,3777, - 3991,3993,3992,3940,3777,3941,3939,3994,3942,3938, - 3717,3711,3714,3726,3777,3723,3729,3708,3720,3732 + 1913,1,3781,3694,2634,679,43,3781,1,1, + 1,1,1,3791,3538,1,1,1,1,1, + 221,4183,4179,4185,4186,4184,4181,4182,3786,3996, + 3998,3997,4040,301,1,1,1,1,3790,1, + 1,1,1,1,1843,4088,1,1,1,1, + 1,1,1,73,250,3537,186,913,3589,3589, + 3589,3589,1,3580,3586,3583,3781,3589,1,1, + 1,1,1,1,1,1,1,1,1,4198, + 1687,1,1,1,4198,249,271,818,4198,183, + 4040,4198,4198,4198,4198,4198,544,520,535,1661, + 1635,1609,1583,1557,1505,1531,1479,1453,1421,3781, + 525,300,3996,3998,3997,4198,1,3135,3792,4196, + 4198,4197,3785,913,4198,3781,1001,3793,545,3239, + 2289,3259,3365,2096,52,3797,1183,3794,3795,3796, + 738,500,1133,630,851,640,788,2828,2423,4198, + 4198,4198,4198,4198,4198,4198,4198,4198,4198,4198, + 4198,4198,4198,4198,4198,4198,4198,350,4198,4198, + 4198,4198,4198,4198,4198,4198,4198,4198,4198,4198, + 4198,1,4197,3781,3781,944,1063,4197,3781,3791, + 3781,4197,1741,487,4197,4197,4197,4197,4197,3781, + 1801,1,2346,4008,4199,4201,4200,263,254,3062, + 4008,4199,4201,4200,3790,544,520,535,4197,3784, + 3781,3135,3792,4196,4198,4197,3785,4197,3781,2317, + 2556,3793,545,3239,2289,3259,3365,2096,913,3797, + 1183,3794,3795,3796,738,500,1133,263,263,293, + 1817,212,4197,4197,4197,4197,4197,4197,4197,4197, + 4197,4197,4197,4197,4197,4197,4197,4197,4197,4197, + 230,4197,4197,4197,4197,4197,4197,4197,4197,4197, + 4197,4197,4197,4197,1,4196,2024,3781,233,327, + 4196,4109,3781,3785,4196,3781,3781,4196,4196,4196, + 4196,4196,3787,3781,357,368,368,368,368,368, + 3775,368,368,368,3775,3781,4110,3792,4196,4198, + 4197,4196,5629,3784,1757,1868,3793,417,3622,67, + 4196,368,368,368,368,3775,368,368,368,368, + 368,368,456,3786,358,1,3062,4008,4199,4201, + 4200,3775,3547,3541,3544,4196,4196,4196,4196,4196, + 4196,4196,4196,4196,4196,4196,4196,4196,4196,4196, + 4196,4196,4196,1,4196,4196,4196,4196,4196,4196, + 4196,4196,4196,4196,4196,4196,4196,1,3793,1, + 3784,819,1,3793,1947,117,3538,3793,3791,3781, + 3793,3793,3793,3793,3793,1,3062,4008,4199,4201, + 4200,3781,3547,3541,3544,1380,1238,1361,32,3661, + 117,3374,59,3790,3793,3781,1,3135,5192,4986, + 4780,4883,29,3793,3807,3808,3250,5089,545,3239, + 2289,3259,3365,2096,5629,3797,1183,3794,3795,3796, + 738,500,1133,3781,1947,3664,416,3625,3793,3793, + 3793,3793,3793,3793,3793,3793,3793,3793,3793,3793, + 3793,3793,3793,3793,3793,3793,3781,3793,3793,3793, + 3793,3793,3793,3793,3793,3793,3793,3793,3793,3793, + 1,3792,3781,823,1238,1361,3792,29,415,3628, + 3792,11,3631,3792,3792,3792,3792,3792,676,3781, + 3135,3792,4196,4198,4197,3785,3781,446,1,3250, + 3793,545,3239,2289,3259,3365,2096,3792,3797,1183, + 3794,3795,3796,738,500,1133,3792,185,3781,3601, + 3601,3601,3601,3781,3592,3598,3595,207,3601,6251, + 6251,6251,6251,3781,544,520,535,1030,6251,351, + 1234,3792,3792,3792,3792,3792,3792,3792,3792,3792, + 3792,3792,3792,3792,3792,3792,3792,3792,3792,272, + 3792,3792,3792,3792,3792,3792,3792,3792,3792,3792, + 3792,3792,3792,3781,348,1,1,1,1,192, + 1,1,1,68,1,1,378,4039,6259,6259, + 6259,6259,3784,544,520,535,913,6259,338,1549, + 1,1,1,1,251,1,1,1,1,1, + 3781,3978,1,1,1,1,1,1,1,58, + 1003,1,2346,3769,3766,3760,3763,3787,1,1063, + 3781,1,1,1,1,1,1,1,1,1, + 1,1,1,1,192,3781,3781,1,1,1, + 1,191,1,1,1,71,1,1,913,3781, + 3781,1,3792,4196,4198,4197,252,3649,3786,1380, + 3781,3793,1,1,1,1,3791,1,1,1, + 1,1,3781,3978,1,1,1,1,1,1, + 1,1238,1361,3996,3998,3997,236,1972,3781,3078, + 1,3790,224,3646,3646,3646,1,1,1,1, + 1,1,1,1,1,1,191,3781,65,1, + 1,1,1,192,1,1,1,224,1,1, + 269,2321,3788,1768,1,1646,253,544,520,535, + 254,3538,224,1105,1,1,1,1,3781,1, + 1,1,1,1,3787,3978,1,1,1,1, + 1,1,1,3996,3998,3997,3781,913,237,3781, + 224,2017,1,72,224,3697,3697,3697,1,1, + 1,1,1,1,1,1,1,1,192,1, + 3062,730,681,604,3550,3786,3547,3541,3544,224, + 3793,454,3781,254,3792,4196,4198,4197,57,3781, + 544,520,535,3793,224,3785,3996,3998,3997,3945, + 1064,3946,3944,3999,3947,3943,66,3781,3950,3954, + 3952,3953,3951,3956,3957,209,3781,3792,4196,4198, + 4197,1768,224,3781,3955,1409,3793,56,3781,3789, + 3949,3958,3959,3960,4170,4171,4172,1279,3351,3081, + 3781,1105,3792,4196,4198,3643,60,544,520,535, + 257,3793,454,3781,62,3792,4196,4198,4197,1, + 1238,1361,3781,1957,3793,2525,3538,3996,3998,3997, + 3945,1067,3946,3944,3999,3947,3943,819,2051,3950, + 3954,3952,3953,3951,3956,3957,208,286,1464,1464, + 1464,1464,3784,1114,3788,3955,798,1464,3781,1238, + 1361,3949,3958,3959,3960,4170,4171,4172,1279,3351, + 3081,3781,3781,3792,4196,4198,3691,54,544,520, + 535,3781,3793,454,3069,3053,3037,3021,3005,2984, + 2828,2423,3069,3053,3037,3021,3005,2984,3996,3998, + 3997,3945,3781,3946,3944,3999,3947,3943,3787,53, + 3950,3954,3952,3953,3951,3956,3957,70,1114,3781, + 1,2552,2828,2423,89,1,3955,3547,3541,3544, + 254,3787,3949,3958,3959,3960,4170,4171,4172,1279, + 3351,3081,3781,1,6262,6206,6203,6205,3791,3786, + 3781,770,1,6261,1,1,1,1,1,1, + 819,1,1,1,1,1,1,1,1,160, + 1732,61,3786,3790,1,64,544,520,535,379, + 3882,3547,3541,3544,254,3781,544,520,535,3781, + 1644,4020,1179,1077,1405,1720,609,3781,1634,1046, + 1686,1203,1660,3781,679,3792,4196,4198,4197,4040, + 544,520,535,382,3793,454,381,3781,2149,373, + 544,520,535,3652,3658,3655,544,520,535,3781, + 3996,3998,3997,3945,1,3946,3944,3999,3947,3943, + 91,3781,3950,3954,3952,3953,3951,3956,3957,3069, + 3053,3037,3021,3005,2984,3781,447,3781,3955,2867, + 2850,3787,3781,4040,3949,3958,3959,3960,4170,4171, + 4172,1279,3351,3081,3781,1,6262,6206,6203,6205, + 3791,91,3781,2304,1,6261,1,1,1,1, + 1,1,819,1,1,1,1,1,1,1, + 1,372,3786,49,3781,3790,325,942,544,520, + 535,184,3882,3337,3781,3781,1,1086,544,520, + 535,3787,1644,30,1179,1077,1405,1720,609,119, + 1634,1046,1686,1203,1660,3781,1,6262,6206,6203, + 6205,3791,3781,2585,208,1,6261,1,1,1, + 1,1,1,819,1,1,1,1,1,1, + 1,1,3786,254,3781,2,3790,374,3781,3810, + 3682,3688,3685,3882,544,520,535,3757,3781,3313, + 3299,3781,1514,1644,3787,1179,1077,1405,1720,609, + 5628,1634,1046,1686,1203,1660,3781,1,6262,6206, + 6203,6205,3791,3781,3781,30,1,6261,1,1, + 1,1,1,1,819,1,1,1,1,1, + 1,1,1,380,2009,3786,51,3790,3781,3781, + 544,520,535,201,3882,3781,3337,3781,3781,3781, + 544,520,535,113,1644,3787,1179,1077,1405,1720, + 609,758,1634,1046,1686,1203,1660,3781,1,6262, + 6206,6203,6205,3791,3781,3781,3781,1,6261,1, + 1,1,1,1,1,819,1,1,1,1, + 1,1,1,1,50,1295,3786,2624,3790,375, + 3781,3781,376,3781,3337,3882,544,520,535,544, + 520,535,3313,3299,3781,1644,3781,1179,1077,1405, + 1720,609,3781,1634,1046,1686,1203,1660,3781,1, + 6262,6206,6203,6205,3791,3781,3781,3781,1,6261, + 1,1,1,1,1,1,819,1,1,1, + 1,1,1,1,1,377,230,3781,3778,3790, + 3781,3781,544,520,535,368,3882,3781,3781,3781, + 3313,3299,3781,3781,234,1540,1644,883,1179,1077, + 1405,1720,609,5629,1634,1046,1686,1203,1660,3781, + 1,6262,6206,6203,6205,3791,3781,3781,357,1, + 6261,1,1,1,1,1,1,819,1,1, + 1,1,1,1,1,1,5629,355,42,3781, + 3790,1895,1921,3781,3781,3781,3781,3882,202,3781, + 3781,1,3781,1,1,5629,5629,1644,3781,1179, + 1077,1405,1720,609,5629,1634,1046,1686,1203,1660, + 3781,1,6262,6206,6203,6205,3791,3781,3781,3781, + 1,6261,1,1,1,1,1,1,819,1, + 1,1,1,1,1,1,1,1999,4166,190, + 4198,3790,4197,4196,3781,3781,3781,382,3882,1, + 1,3781,3781,3781,3781,3781,3781,207,1644,3781, + 1179,1077,1405,1720,609,378,1634,1046,1686,1203, + 1660,3781,1,6262,6206,6203,6205,3791,3781,3781, + 3781,1,6261,1,1,1,1,1,1,819, + 1,1,1,1,1,1,1,1,3793,3792, + 3781,3781,3790,3781,3781,3781,3781,3781,3781,3882, + 3781,3781,3781,3781,3781,3781,3781,3781,3781,1644, + 3781,1179,1077,1405,1720,609,3781,1634,1046,1686, + 1203,1660,3781,1,6262,6206,6203,6205,3791,3781, + 3781,3781,1,6261,1,1,1,1,1,1, + 819,1,1,1,1,1,1,1,1,3781, + 3781,3781,3781,3790,3781,3781,3781,3781,3781,3781, + 3882,3781,3781,3781,3781,3781,3781,3781,3781,3781, + 1644,3781,1179,1077,1405,1720,609,3781,1634,1046, + 1686,1203,1660,3781,1,6262,6206,6203,6205,3791, + 3781,3781,3781,1,6261,1,1,1,1,1, + 1,819,1,1,1,1,1,1,1,1, + 3781,3781,3781,3781,3790,3781,3781,130,3781,3781, + 3781,3882,3781,1,3559,3553,3556,3781,3781,117, + 3781,1644,3781,1179,1077,1405,1720,609,3781,1634, + 1046,1686,1203,1660,3996,3998,3997,3945,3781,3946, + 3944,3999,3947,3943,117,3781,3950,3954,3952,3953, + 3951,3956,3957,3781,3781,3781,3781,3781,3781,3781, + 117,3781,3955,3781,3781,3781,3781,3781,3949,3958, + 3959,3960,4170,4171,4172,3781,3135,3792,4196,4198, + 4197,3781,3781,3781,3781,3250,3793,545,3239,2289, + 3259,3365,2096,5629,3797,1183,3794,3795,3796,738, + 500,1133,20,3751,180,180,180,180,3751,180, + 180,180,3751,3781,3781,3781,3781,3781,3781,3781, + 3781,3781,3781,3781,3781,3781,3781,3781,3781,180, + 180,180,180,3751,180,180,180,180,180,3751, + 3781,3135,3792,4196,4198,4197,3781,3781,3781,3751, + 3250,3793,545,3239,2289,3259,3365,2096,5629,3797, + 1183,3794,3795,3796,738,500,1133,356,367,367, + 367,367,367,3772,367,367,367,3772,3781,3781, + 3781,3781,3781,3781,3781,3781,3781,3781,3781,3781, + 3781,3781,3781,3781,367,367,367,367,3772,367, + 367,367,367,367,367,1,3135,5192,4986,4780, + 4883,3781,3781,3781,3772,3250,5089,545,3239,2289, + 3259,3365,2096,5629,3797,1183,3794,3795,3796,738, + 500,1133,383,3135,3792,4196,4198,4197,3781,3781, + 3781,3781,3250,3793,545,3239,2289,3259,3365,2096, + 5629,3797,1183,3794,3795,3796,738,500,1133,3781, + 3135,3792,4196,4198,4197,3781,3781,3781,3781,3250, + 3793,545,3239,2289,3259,3365,2096,5629,3797,1183, + 3794,3795,3796,738,500,1133,3781,2110,3792,4196, + 4198,4197,3781,3781,3781,3781,3250,3793,545,3239, + 2289,3259,3365,2096,3781,3797,1183,3794,3795,3796, + 738,500,1133,3781,3086,3792,4196,4198,4197,3781, + 3781,3781,3781,3250,3793,545,3239,2289,3259,3365, + 2096,3781,3797,1183,3794,3795,3796,738,500,1133, + 3781,3103,3792,4196,4198,4197,3781,3781,3781,3781, + 3250,3793,545,3239,2289,3259,3365,2096,3781,3797, + 1183,3794,3795,3796,738,500,1133,3781,3124,3792, + 4196,4198,4197,3781,3781,3781,3781,3250,3793,545, + 3239,2289,3259,3365,2096,3781,3797,1183,3794,3795, + 3796,738,500,1133,3781,3135,3792,4196,4198,4197, + 3781,3781,3781,3781,3250,3793,545,3239,2289,3259, + 3365,2096,3781,3797,1183,3794,3795,3796,738,500, + 1133,3781,3149,3792,4196,4198,4197,3781,3781,3781, + 3781,3250,3793,545,3239,2289,3259,3365,2096,3781, + 3797,1183,3794,3795,3796,738,500,1133,411,3781, + 3781,3679,3676,3781,3781,3673,3667,3670,3781,3781, + 3791,3781,3781,3781,3781,1,2321,3781,3781,3781, + 3781,392,3781,3781,3781,3996,3998,3997,3945,3781, + 3946,3944,3999,3947,3943,3790,3781,4183,4179,4185, + 4186,4184,4181,4182,1,3135,3792,4196,4198,4197, + 2331,3781,913,3781,3250,3793,545,3239,2289,3259, + 3365,2096,392,3797,1183,3794,3795,3796,738,500, + 1133,410,3781,3781,3748,3745,3781,3781,3742,3736, + 3739,3781,3781,3781,3781,3781,3781,3781,1,2321, + 3781,3781,3781,3781,266,3781,3781,3781,3996,3998, + 3997,3945,3781,3946,3944,3999,3947,3943,3781,3781, + 4183,4179,4185,4186,4184,4181,4182,3781,3170,3792, + 4196,4198,4197,3781,3781,913,3781,3250,3793,545, + 3239,2289,3259,3365,2096,266,3797,1183,3794,3795, + 3796,738,500,1133,333,3135,3792,4196,4198,4197, + 3781,3781,3781,3781,3250,3793,545,3239,2289,3259, + 3365,2096,3781,3797,1183,3794,3795,3796,738,500, + 1133,131,3781,3781,3781,3781,3781,3781,3568,3562, + 3565,132,3781,3781,3781,3781,1,2321,3577,3571, + 3574,3781,3787,3781,3781,3781,3781,3781,3996,3998, + 3997,3945,3781,3946,3944,3999,3947,3943,3996,3998, + 3997,3945,133,3946,3944,3999,3947,3943,3781,3610, + 3604,3607,134,913,3781,3781,3781,3781,3781,3619, + 3613,3616,3781,3786,3781,3781,3781,3781,3781,3996, + 3998,3997,3945,3781,3946,3944,3999,3947,3943,3996, + 3998,3997,3945,369,3946,3944,3999,3947,3943,3781, + 3640,3634,3637,407,3781,3781,3781,3781,3781,3781, + 3706,3700,3703,3781,3781,3781,3781,3781,3781,3781, + 3996,3998,3997,3945,3781,3946,3944,3999,3947,3943, + 3718,3712,3715,3727,3781,3724,3730,3709,3721,3733 }; }; public final static char termAction[] = TermAction.termAction; @@ -1402,44 +1404,44 @@ public class XlcCParserprs implements lpg.lpgjavaruntime.ParseTable, XlcCParsers public interface Asb { public final static char asb[] = {0, - 753,1,165,350,348,568,753,166,350,350, - 833,141,670,166,166,166,79,660,79,660, - 660,79,660,79,355,350,339,339,339,339, + 751,1,165,350,348,568,751,166,350,350, + 831,141,668,166,166,166,79,658,79,658, + 658,79,658,79,355,350,339,339,339,339, 166,79,33,570,9,521,227,350,105,104, 355,230,141,570,521,194,355,263,597,539, - 416,706,53,136,660,664,661,664,136,664, - 660,350,358,403,417,713,33,33,33,33, - 33,33,33,33,33,33,33,617,297,528, - 420,527,350,227,227,235,713,350,120,570, - 350,681,540,3,706,705,417,267,426,141, - 466,358,403,715,617,617,617,617,617,417, - 417,417,411,411,555,539,664,664,273,33, - 9,522,793,53,227,143,260,749,481,239, + 416,704,53,136,658,662,659,662,136,662, + 658,350,358,403,417,711,33,33,33,33, + 33,33,33,33,33,33,33,615,297,528, + 420,527,350,227,227,235,711,350,120,570, + 350,679,540,3,704,703,417,267,426,141, + 466,358,403,713,615,615,615,615,615,417, + 417,417,411,411,555,539,662,662,273,33, + 9,522,791,53,227,143,260,747,481,239, 492,497,495,505,499,508,507,510,509,511, - 715,463,141,632,570,348,194,263,681,681, - 539,31,522,522,664,166,166,18,166,166, + 713,463,141,630,570,348,194,263,679,679, + 539,31,522,522,662,166,166,18,166,166, 522,102,33,102,348,112,476,292,141,267, 426,466,466,403,403,417,406,570,112,417, - 417,417,417,417,78,355,710,111,475,525, - 301,33,540,417,33,260,668,417,749,260, + 417,417,417,417,78,355,708,111,475,525, + 301,33,540,417,33,260,666,417,747,260, 238,235,33,33,33,33,33,33,33,33, 33,33,33,33,33,33,33,33,33,33, 33,33,33,33,33,33,33,33,33,33, 33,33,55,33,112,463,118,350,536,522, - 522,553,33,607,33,33,18,102,609,18, + 522,553,33,538,33,33,18,102,607,18, 350,3,417,272,417,417,426,463,91,426, - 466,471,612,471,403,749,710,355,570,715, - 360,360,360,120,141,411,417,796,713,33, - 305,617,539,417,33,33,260,239,495,495, + 466,471,610,471,403,747,708,355,570,713, + 360,360,360,120,141,411,417,794,711,33, + 305,615,539,417,33,33,260,239,495,495, 492,492,499,499,497,497,497,497,497,497, - 507,505,509,508,102,102,510,668,118,31, + 507,505,509,508,102,102,510,666,118,31, 522,417,166,417,417,18,33,18,355,112, - 426,93,471,463,33,664,749,403,796,406, - 417,715,417,260,260,33,33,471,186,522, + 426,93,471,463,33,662,747,403,794,406, + 417,713,417,260,260,33,33,471,186,522, 31,18,33,18,18,350,272,463,521,33, 517,93,518,463,403,417,364,463,116,233, - 168,664,33,102,14,273,522,417,538,93, - 33,518,518,297,120,532,664,33,417,273, + 168,662,33,102,14,273,522,417,538,93, + 33,518,518,297,120,532,662,33,417,273, 522,18,518,33,260,18,417,260,18 }; }; @@ -1508,30 +1510,30 @@ public class XlcCParserprs implements lpg.lpgjavaruntime.ParseTable, XlcCParsers 2,11,68,69,70,61,55,62,63,64, 65,66,67,36,33,30,32,35,27,29, 28,34,7,9,8,5,3,40,4,44, - 45,39,43,41,42,0,48,0,49,89, - 0,6,46,71,74,0,20,21,22,23, - 19,1,16,17,15,10,13,14,24,25, - 26,32,39,27,55,68,33,40,34,41, + 45,39,43,41,42,0,49,89,0,6, + 46,71,74,0,20,21,22,23,19,1, + 16,17,15,10,13,14,24,25,26,32, + 39,27,55,68,33,40,34,41,42,35, + 29,43,44,30,69,36,70,45,61,28, + 62,63,64,12,65,66,67,18,8,9, + 7,11,3,5,4,2,0,49,46,31, + 61,55,62,63,64,65,66,67,37,10, + 5,40,44,45,39,43,41,42,36,33, + 30,32,35,27,29,28,34,3,4,7, + 9,8,1,47,6,2,0,10,1,37, + 47,6,32,39,55,68,33,40,34,41, + 42,35,43,44,30,69,36,70,45,61, + 62,63,64,2,11,12,8,9,7,5, + 3,4,65,66,67,89,27,29,28,0, + 104,32,39,27,55,68,33,40,34,41, 42,35,29,43,44,30,69,36,70,45, - 61,28,62,63,64,12,65,66,67,18, - 8,9,7,11,3,5,4,2,0,49, - 46,31,61,55,62,63,64,65,66,67, - 37,10,5,40,44,45,39,43,41,42, - 36,33,30,32,35,27,29,28,34,3, - 4,7,9,8,1,47,6,2,0,10, - 1,37,47,6,32,39,55,68,33,40, - 34,41,42,35,43,44,30,69,36,70, - 45,61,62,63,64,2,11,12,8,9, - 7,5,3,4,65,66,67,89,27,29, - 28,0,104,32,39,27,55,68,33,40, - 34,41,42,35,29,43,44,30,69,36, - 70,45,61,28,62,63,64,11,1,12, - 8,9,5,3,4,65,66,67,31,6, - 38,7,2,10,0,10,32,39,27,55, - 68,33,40,34,41,42,35,29,43,44, - 30,69,36,70,45,61,28,62,63,64, - 2,11,12,3,4,65,66,67,89,7, - 9,8,5,0 + 61,28,62,63,64,11,1,12,8,9, + 5,3,4,65,66,67,31,6,38,7, + 2,10,0,10,32,39,27,55,68,33, + 40,34,41,42,35,29,43,44,30,69, + 36,70,45,61,28,62,63,64,2,11, + 12,3,4,65,66,67,89,7,9,8, + 5,0 }; }; public final static byte asr[] = Asr.asr; @@ -1616,14 +1618,14 @@ public class XlcCParserprs implements lpg.lpgjavaruntime.ParseTable, XlcCParsers 2,87,101,102,100,89,99,97,98,9, 88,95,10,11,8,6,7,3,86,70, 83,84,85,12,13,96,50,78,66,71, - 94,46,57,62,65,74,1,106,49,58, + 94,46,57,62,65,74,1,107,49,58, 63,64,68,69,76,42,92,79,29,47, 48,51,52,53,54,59,60,61,67,73, 77,80,81,82,103,104,105,56,72,75, 93,16,17,31,4,14,15,18,19,20, 21,43,44,22,23,24,25,26,30,5, 27,28,32,33,34,35,36,37,38,39, - 40,41,91,107,55,90 + 40,41,91,108,55,90,106 }; }; public final static char terminalIndex[] = TerminalIndex.terminalIndex; @@ -1631,22 +1633,22 @@ public class XlcCParserprs implements lpg.lpgjavaruntime.ParseTable, XlcCParsers public interface NonterminalIndex { public final static char nonterminalIndex[] = {0, - 112,0,0,0,0,114,118,119,196,0, - 0,0,120,121,122,123,124,109,125,126, - 127,128,129,0,111,0,197,130,139,135, - 147,0,113,170,0,173,167,169,0,171, - 0,206,131,134,0,0,0,0,0,146, - 0,0,0,108,117,157,0,172,110,161, - 138,0,0,133,168,116,149,0,184,185, - 186,0,148,150,151,152,153,158,181,0, - 204,0,154,155,156,174,180,183,137,140, - 141,142,143,144,145,179,203,0,0,160, - 164,166,175,201,0,207,0,115,132,136, - 0,159,163,0,165,178,188,193,0,195, - 0,198,0,200,0,208,0,0,0,0, - 0,162,0,176,177,182,187,0,189,190, - 0,191,192,194,0,0,199,0,0,202, - 205,0,0,209,0 + 113,0,0,0,0,115,119,120,197,0, + 0,0,121,122,123,124,125,110,126,127, + 128,129,130,0,112,0,198,131,140,136, + 148,0,114,171,0,174,168,170,0,172, + 0,207,132,135,0,0,0,0,0,147, + 0,0,0,109,118,158,0,173,111,162, + 139,0,0,134,169,117,150,0,185,186, + 187,0,149,151,152,153,154,159,182,0, + 205,0,155,156,157,175,181,184,138,141, + 142,143,144,145,146,180,204,0,0,161, + 165,167,176,202,0,208,0,116,133,137, + 0,160,164,0,166,179,189,194,0,196, + 0,199,0,201,0,209,0,0,0,0, + 0,163,0,177,178,183,188,0,190,191, + 0,192,193,195,0,0,200,0,0,203, + 206,0,0,210,0 }; }; public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex; @@ -1739,51 +1741,51 @@ public class XlcCParserprs implements lpg.lpgjavaruntime.ParseTable, XlcCParsers public interface ScopeRhs { public final static char scopeRhs[] = {0, - 211,108,0,100,207,0,0,196,108,148, - 0,111,0,108,148,0,140,111,0,170, - 89,170,37,0,108,0,170,37,0,30, - 133,108,0,207,133,0,197,0,133,0, - 164,197,0,164,0,162,133,0,157,197, - 0,157,0,172,1,12,0,109,0,179, - 0,204,0,170,0,30,133,0,256,51, - 0,29,134,0,136,1,0,172,1,26, - 0,252,1,228,0,251,1,1,8,0, - 109,109,0,216,108,18,0,110,0,209, - 108,135,0,195,0,108,135,0,175,195, - 0,245,108,0,31,156,0,204,243,108, - 18,163,0,110,0,0,192,108,1,176, - 0,192,108,1,0,194,1,0,171,108, - 0,184,0,108,147,10,147,171,0,179, - 0,147,171,0,9,0,0,179,0,108, - 147,10,147,0,147,0,9,0,0,134, - 30,222,108,37,0,134,222,108,30,37, - 0,134,30,37,0,134,222,108,37,0, - 134,37,0,140,0,2,0,176,109,0, - 173,0,2,109,0,192,108,1,140,0, - 2,0,174,109,0,162,1,0,167,0, - 204,220,108,18,107,239,68,0,239,68, - 0,112,3,0,0,0,110,0,204,220, - 108,18,239,68,0,3,0,0,0,110, - 0,166,0,238,108,166,0,108,166,0, - 162,111,0,205,68,0,112,0,205,70, - 0,205,69,0,217,108,18,237,107,236, - 184,0,237,107,236,184,0,3,0,0, - 110,0,236,184,0,112,0,3,0,0, - 110,0,217,108,18,236,184,0,153,0, - 152,0,151,0,150,0,149,0,196,108, - 135,0,135,0,139,59,0,188,131,188, - 167,1,56,0,109,134,0,188,167,1, - 56,0,111,0,109,134,0,188,131,188, - 131,188,1,56,0,188,131,188,1,56, - 0,188,1,56,0,111,0,111,0,109, - 134,0,139,1,48,0,139,1,48,150, - 54,0,109,111,0,150,54,0,79,2, - 113,109,111,0,139,1,60,0,150,124, - 139,1,58,0,55,134,0,139,1,58, - 0,109,134,55,134,0,149,0,170,51, - 0,139,92,129,0,29,130,0,172,1, - 0,109,119,0,172,1,20,0,109,117, - 0,235,1,112,0,139,37,112,0,139, + 212,109,0,100,208,0,0,197,109,149, + 0,112,0,109,149,0,141,112,0,171, + 89,171,37,0,109,0,171,37,0,30, + 134,109,0,208,134,0,198,0,134,0, + 165,198,0,165,0,163,134,0,158,198, + 0,158,0,173,1,12,0,110,0,180, + 0,205,0,171,0,30,134,0,257,51, + 0,29,135,0,137,1,0,173,1,26, + 0,253,1,229,0,252,1,1,8,0, + 110,110,0,217,109,18,0,111,0,210, + 109,136,0,196,0,109,136,0,176,196, + 0,246,109,0,31,157,0,205,244,109, + 18,164,0,111,0,0,193,109,1,177, + 0,193,109,1,0,195,1,0,172,109, + 0,185,0,109,148,10,148,172,0,180, + 0,148,172,0,9,0,0,180,0,109, + 148,10,148,0,148,0,9,0,0,135, + 30,223,109,37,0,135,223,109,30,37, + 0,135,30,37,0,135,223,109,37,0, + 135,37,0,141,0,2,0,177,110,0, + 174,0,2,110,0,193,109,1,141,0, + 2,0,175,110,0,163,1,0,168,0, + 205,221,109,18,108,240,68,0,240,68, + 0,113,3,0,0,0,111,0,205,221, + 109,18,240,68,0,3,0,0,0,111, + 0,167,0,239,109,167,0,109,167,0, + 163,112,0,206,68,0,113,0,206,70, + 0,206,69,0,218,109,18,238,108,237, + 185,0,238,108,237,185,0,3,0,0, + 111,0,237,185,0,113,0,3,0,0, + 111,0,218,109,18,237,185,0,154,0, + 153,0,152,0,151,0,150,0,197,109, + 136,0,136,0,140,59,0,189,132,189, + 168,1,56,0,110,135,0,189,168,1, + 56,0,112,0,110,135,0,189,132,189, + 132,189,1,56,0,189,132,189,1,56, + 0,189,1,56,0,112,0,112,0,110, + 135,0,140,1,48,0,140,1,48,151, + 54,0,110,112,0,151,54,0,79,2, + 114,110,112,0,140,1,60,0,151,125, + 140,1,58,0,55,135,0,140,1,58, + 0,110,135,55,135,0,150,0,171,51, + 0,140,92,130,0,29,131,0,173,1, + 0,110,120,0,173,1,20,0,110,118, + 0,236,1,113,0,140,37,113,0,140, 1,0 }; }; @@ -1792,31 +1794,31 @@ public class XlcCParserprs implements lpg.lpgjavaruntime.ParseTable, XlcCParsers public interface ScopeState { public final static char scopeState[] = {0, - 554,0,833,0,2330,2275,0,3346,878,2626, - 0,1076,0,455,446,0,882,824,757,1280, - 699,1279,2264,1218,1179,1059,673,461,0,3169, - 1262,3148,3134,3123,3102,3085,2109,2799,2772,2741, - 2733,2706,2673,2633,2623,1223,2551,2524,1101,608, - 989,950,0,1161,1134,724,717,2122,2875,2345, - 2320,986,3223,2837,0,3388,3364,2095,1182,1132, - 544,453,2555,2264,850,678,1104,1767,1379,3068, - 3052,3036,3020,3004,2983,2866,2849,2827,2422,1360, - 1237,3336,3312,3298,1000,3258,3249,3238,2288,737, - 499,2050,2023,882,1998,1971,824,1946,1294,1920, - 1894,1867,1842,1816,1790,1731,941,1686,1660,1634, - 1608,1582,1556,1530,1504,1478,1452,1420,1193,1152, - 1076,787,420,461,912,757,699,0,520,491, - 0,1711,1338,658,569,420,521,0,2604,521, - 2502,2122,2456,2436,2330,526,2275,2345,986,1220, - 3061,2081,2217,2316,1319,2176,0,3470,3450,3426, - 2330,3420,526,2502,2122,2275,2875,1711,2081,2217, - 658,3373,3268,2409,2963,569,3175,420,2195,2143, - 2094,2456,2436,3412,2498,2316,2068,2604,1715,1332, - 575,1220,3407,1338,2950,2917,1278,2903,3350,3080, - 2888,1061,2469,2230,1319,2176,521,2683,3345,2578, - 3322,3273,3210,3206,2795,0,2081,1319,521,0, - 3169,3148,3134,3123,3102,3085,2109,3077,1262,3267, - 1223,1101,989,950,2333,2503,0 + 555,0,834,0,2331,2276,0,3347,879,2627, + 0,1077,0,456,447,0,883,825,758,1281, + 700,1280,2265,1219,1180,1060,674,462,0,3170, + 1263,3149,3135,3124,3103,3086,2110,2800,2773,2742, + 2734,2707,2674,2634,2624,1224,2552,2525,1102,609, + 990,951,0,1162,1135,725,718,2123,2876,2346, + 2321,987,3224,2838,0,3389,3365,2096,1183,1133, + 545,454,2556,2265,851,679,1105,1768,1380,3069, + 3053,3037,3021,3005,2984,2867,2850,2828,2423,1361, + 1238,3337,3313,3299,1001,3259,3250,3239,2289,738, + 500,2051,2024,883,1999,1972,825,1947,1295,1921, + 1895,1868,1843,1817,1791,1732,942,1687,1661,1635, + 1609,1583,1557,1531,1505,1479,1453,1421,1194,1153, + 1077,788,421,462,913,758,700,0,521,492, + 0,1712,1339,659,570,421,522,0,2605,522, + 2503,2123,2457,2437,2331,527,2276,2346,987,1221, + 3062,2082,2218,2317,1320,2177,0,3471,3451,3427, + 2331,3421,527,2503,2123,2276,2876,1712,2082,2218, + 659,3374,3269,2410,2964,570,3176,421,2196,2144, + 2095,2457,2437,3413,2499,2317,2069,2605,1716,1333, + 576,1221,3408,1339,2951,2918,1279,2904,3351,3081, + 2889,1062,2470,2231,1320,2177,522,2684,3346,2579, + 3323,3274,3211,3207,2796,0,2082,1320,522,0, + 3170,3149,3135,3124,3103,3086,2110,3078,1263,3268, + 1224,1102,990,951,2334,2504,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -1824,45 +1826,45 @@ public class XlcCParserprs implements lpg.lpgjavaruntime.ParseTable, XlcCParsers public interface InSymb { public final static char inSymb[] = {0, - 0,233,7,148,135,108,249,254,108,108, - 211,209,197,8,9,7,198,184,199,70, - 69,200,68,201,108,1,4,5,3,2, - 140,203,12,179,1,196,162,133,144,140, - 108,190,209,241,196,146,108,142,5,18, - 1,1,1,236,133,205,133,205,239,205, - 133,171,147,133,162,1,12,26,20,25, - 24,14,13,10,15,17,16,1,112,255, - 19,210,46,133,162,37,1,171,74,108, - 171,212,108,1,253,2,19,107,18,107, - 18,147,10,108,1,1,1,1,1,136, - 172,139,148,166,108,18,90,75,1,37, - 49,124,1,46,133,30,134,108,113,10, - 119,121,120,123,122,126,125,128,127,129, - 108,18,163,250,108,135,146,142,179,260, - 216,59,50,52,57,56,48,54,60,58, - 149,53,51,107,135,251,228,1,237,133, - 108,18,108,10,147,192,135,108,193,172, - 172,172,172,172,124,108,1,177,176,215, - 107,12,108,235,108,139,10,2,108,134, - 222,202,102,101,100,98,99,97,96,95, + 0,234,7,149,136,109,250,255,109,109, + 212,210,198,8,9,7,199,185,200,70, + 69,201,68,202,109,1,4,5,3,2, + 141,204,12,180,1,197,163,134,145,141, + 109,191,210,242,197,147,109,143,5,18, + 1,1,1,237,134,206,134,206,240,206, + 134,172,148,134,163,1,12,26,20,25, + 24,14,13,10,15,17,16,1,113,256, + 19,211,46,134,163,37,1,172,74,109, + 172,213,109,1,254,2,19,108,18,108, + 18,148,10,109,1,1,1,1,1,137, + 173,140,149,167,109,18,90,75,1,37, + 49,125,1,46,134,30,135,109,114,10, + 120,122,121,124,123,127,126,129,128,130, + 109,18,164,251,109,136,147,143,180,261, + 217,59,50,52,57,56,48,54,60,58, + 150,53,51,108,136,252,229,1,238,134, + 109,18,109,10,148,193,136,109,194,173, + 173,173,173,173,125,109,1,178,177,216, + 108,12,109,236,109,140,10,2,109,135, + 223,203,102,101,100,98,99,97,96,95, 94,93,74,77,76,10,72,73,14,13, 85,84,83,82,81,80,79,78,86,15, - 88,87,92,91,240,108,18,108,6,139, - 107,1,1,150,1,1,49,256,170,49, - 108,46,124,1,19,2,18,217,166,218, - 108,220,107,221,147,108,1,108,179,46, - 124,124,124,124,124,171,194,108,1,46, - 113,1,216,2,222,30,134,10,120,120, - 119,119,122,122,121,121,121,121,121,121, - 125,123,127,126,234,139,128,46,108,167, - 188,139,48,139,139,49,89,49,108,252, - 108,108,220,204,74,46,108,202,108,171, - 192,108,172,134,134,49,49,243,108,188, - 131,124,1,124,124,171,46,217,238,49, - 162,133,207,204,202,192,124,204,46,245, - 257,75,37,107,246,131,188,139,150,46, - 49,207,133,165,74,170,75,37,188,131, - 124,105,133,89,170,124,188,170,124 + 88,87,92,91,241,109,18,109,6,140, + 108,1,1,151,1,1,49,257,171,49, + 109,46,125,1,19,2,18,218,167,219, + 109,221,108,222,148,109,1,109,180,46, + 125,125,125,125,125,172,195,109,1,46, + 114,1,217,2,223,30,135,10,121,121, + 120,120,123,123,122,122,122,122,122,122, + 126,124,128,127,235,140,129,46,109,168, + 189,140,48,140,140,49,89,49,109,253, + 109,109,221,205,74,46,109,203,109,172, + 193,109,173,135,135,49,49,244,109,189, + 132,125,1,125,125,172,46,218,239,49, + 163,134,208,205,203,193,125,205,46,246, + 258,75,37,108,247,132,189,140,151,46, + 49,208,134,166,74,171,75,37,189,132, + 125,105,134,89,171,125,189,171,125 }; }; public final static char inSymb[] = InSymb.inSymb; @@ -1976,6 +1978,7 @@ public class XlcCParserprs implements lpg.lpgjavaruntime.ParseTable, XlcCParsers "_Decimal32", "_Decimal64", "_Decimal128", + "__static_assert", "ERROR_TOKEN", "EOF_TOKEN", "]", @@ -2104,19 +2107,19 @@ public class XlcCParserprs implements lpg.lpgjavaruntime.ParseTable, XlcCParsers public final static int NUM_STATES = 389, - NT_OFFSET = 106, - LA_STATE_OFFSET = 4196, + NT_OFFSET = 107, + LA_STATE_OFFSET = 4201, MAX_LA = 2147483647, - NUM_RULES = 419, + NUM_RULES = 420, NUM_NONTERMINALS = 155, - NUM_SYMBOLS = 261, + NUM_SYMBOLS = 262, SEGMENT_SIZE = 8192, - START_STATE = 2503, + START_STATE = 2504, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 104, EOLT_SYMBOL = 104, - ACCEPT_ACTION = 3536, - ERROR_ACTION = 3777; + ACCEPT_ACTION = 3537, + ERROR_ACTION = 3781; public final static boolean BACKTRACK = true; diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/c/XlcCParsersym.java b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/c/XlcCParsersym.java index bbb01a4465c..0f08db3124d 100644 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/c/XlcCParsersym.java +++ b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/c/XlcCParsersym.java @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 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 @@ -119,6 +119,7 @@ public interface XlcCParsersym { TK__Decimal32 = 65, TK__Decimal64 = 66, TK__Decimal128 = 67, + TK___static_assert = 107, TK_ERROR_TOKEN = 38, TK_EOF_TOKEN = 104; @@ -229,7 +230,8 @@ public interface XlcCParsersym { "RightBracket", "EOF_TOKEN", "else", - "Invalid" + "Invalid", + "__static_assert" }; public final static boolean isValidForParser = true; diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/cpp/XlcCPPParser.java b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/cpp/XlcCPPParser.java index 20ce9c4064b..cf7fd34def1 100644 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/cpp/XlcCPPParser.java +++ b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/cpp/XlcCPPParser.java @@ -996,1129 +996,1141 @@ private GNUBuildASTParserAction gnuAction; // // Rule 193: iteration_statement ::= do statement while ( expression ) ; // - case 193: { action. consumeStatementDoLoop(); break; + case 193: { action. consumeStatementDoLoop(true); break; } // - // Rule 194: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement + // Rule 194: iteration_statement ::= do statement // - case 194: { action. consumeStatementForLoop(); break; + case 194: { action. consumeStatementDoLoop(false); break; } // - // Rule 196: for_init_statement ::= simple_declaration_with_declspec + // Rule 195: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement // - case 196: { action. consumeStatementDeclaration(); break; + case 195: { action. consumeStatementForLoop(); break; } // - // Rule 197: jump_statement ::= break ; + // Rule 197: for_init_statement ::= simple_declaration_with_declspec // - case 197: { action. consumeStatementBreak(); break; + case 197: { action. consumeStatementDeclaration(); break; } // - // Rule 198: jump_statement ::= continue ; + // Rule 198: jump_statement ::= break ; // - case 198: { action. consumeStatementContinue(); break; + case 198: { action. consumeStatementBreak(); break; } // - // Rule 199: jump_statement ::= return expression ; + // Rule 199: jump_statement ::= continue ; // - case 199: { action. consumeStatementReturn(true); break; + case 199: { action. consumeStatementContinue(); break; } // - // Rule 200: jump_statement ::= return ; + // Rule 200: jump_statement ::= return expression ; // - case 200: { action. consumeStatementReturn(false); break; + case 200: { action. consumeStatementReturn(true); break; } // - // Rule 201: jump_statement ::= goto identifier_token ; + // Rule 201: jump_statement ::= return ; // - case 201: { action. consumeStatementGoto(); break; + case 201: { action. consumeStatementReturn(false); break; } // - // Rule 202: declaration_statement ::= block_declaration + // Rule 202: jump_statement ::= goto identifier_token ; // - case 202: { action. consumeStatementDeclarationWithDisambiguation(); break; + case 202: { action. consumeStatementGoto(); break; } // - // Rule 203: declaration_statement ::= function_definition + // Rule 203: declaration_statement ::= block_declaration // - case 203: { action. consumeStatementDeclaration(); break; + case 203: { action. consumeStatementDeclarationWithDisambiguation(); break; } // - // Rule 211: declaration ::= ERROR_TOKEN + // Rule 204: declaration_statement ::= function_definition // - case 211: { action. consumeDeclarationProblem(); break; + case 204: { action. consumeStatementDeclaration(); break; } // - // Rule 221: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ; + // Rule 212: declaration ::= ERROR_TOKEN // - case 221: { action. consumeDeclarationSimple(true); break; + case 212: { action. consumeDeclarationProblem(); break; } // - // Rule 222: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ; + // Rule 222: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ; // case 222: { action. consumeDeclarationSimple(true); break; } // - // Rule 223: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers + // Rule 223: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ; // - case 223: { action. consumeDeclarationSpecifiersSimple(); break; + case 223: { action. consumeDeclarationSimple(true); break; } // - // Rule 224: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers + // Rule 224: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers // - case 224: { action. consumeDeclarationSpecifiersComposite(); break; + case 224: { action. consumeDeclarationSpecifiersSimple(); break; } // - // Rule 225: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers + // Rule 225: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers // case 225: { action. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 226: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers + // Rule 226: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers // case 226: { action. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 227: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers + // Rule 227: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers // - case 227: { action. consumeDeclarationSpecifiersTypeName(); break; + case 227: { action. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 229: declaration_specifiers_opt ::= $Empty + // Rule 228: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers // - case 229: { action. consumeEmpty(); break; + case 228: { action. consumeDeclarationSpecifiersTypeName(); break; } // - // Rule 233: no_type_declaration_specifier ::= friend + // Rule 230: declaration_specifiers_opt ::= $Empty // - case 233: { action. consumeToken(); break; + case 230: { action. consumeEmpty(); break; } // - // Rule 234: no_type_declaration_specifier ::= typedef + // Rule 234: no_type_declaration_specifier ::= friend // case 234: { action. consumeToken(); break; } // - // Rule 254: storage_class_specifier ::= auto + // Rule 235: no_type_declaration_specifier ::= typedef // - case 254: { action. consumeToken(); break; + case 235: { action. consumeToken(); break; } // - // Rule 255: storage_class_specifier ::= register + // Rule 255: storage_class_specifier ::= auto // case 255: { action. consumeToken(); break; } // - // Rule 256: storage_class_specifier ::= static + // Rule 256: storage_class_specifier ::= register // case 256: { action. consumeToken(); break; } // - // Rule 257: storage_class_specifier ::= extern + // Rule 257: storage_class_specifier ::= static // case 257: { action. consumeToken(); break; } // - // Rule 258: storage_class_specifier ::= mutable + // Rule 258: storage_class_specifier ::= extern // case 258: { action. consumeToken(); break; } // - // Rule 259: function_specifier ::= inline + // Rule 259: storage_class_specifier ::= mutable // case 259: { action. consumeToken(); break; } // - // Rule 260: function_specifier ::= virtual + // Rule 260: function_specifier ::= inline // case 260: { action. consumeToken(); break; } // - // Rule 261: function_specifier ::= explicit + // Rule 261: function_specifier ::= virtual // case 261: { action. consumeToken(); break; } // - // Rule 262: simple_type_specifier ::= simple_type_specifier_token + // Rule 262: function_specifier ::= explicit // case 262: { action. consumeToken(); break; } // - // Rule 276: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name + // Rule 263: simple_type_specifier ::= simple_type_specifier_token // - case 276: { action. consumeQualifiedId(false); break; + case 263: { action. consumeToken(); break; } // - // Rule 277: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name + // Rule 277: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name // case 277: { action. consumeQualifiedId(false); break; } // - // Rule 278: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name + // Rule 278: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name // case 278: { action. consumeQualifiedId(false); break; } // - // Rule 279: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name + // Rule 279: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name // - case 279: { action. consumeQualifiedId(true); break; + case 279: { action. consumeQualifiedId(false); break; } // - // Rule 281: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name + // Rule 280: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name // - case 281: { action. consumeTypeSpecifierElaborated(false); break; + case 280: { action. consumeQualifiedId(true); break; } // - // Rule 282: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt template_opt template_id_name + // Rule 282: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name // - case 282: { action. consumeTypeSpecifierElaborated(true); break; + case 282: { action. consumeTypeSpecifierElaborated(false); break; } // - // Rule 283: elaborated_type_specifier ::= enum elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name + // Rule 283: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt template_opt template_id_name // - case 283: { action. consumeTypeSpecifierElaborated(false); break; + case 283: { action. consumeTypeSpecifierElaborated(true); break; } // - // Rule 287: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 284: elaborated_type_specifier ::= enum elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name // - case 287: { action. consumeTypeSpecifierEnumeration(false); break; + case 284: { action. consumeTypeSpecifierElaborated(false); break; } // - // Rule 288: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 288: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } // - case 288: { action. consumeTypeSpecifierEnumeration(true); break; + case 288: { action. consumeTypeSpecifierEnumeration(false); break; } // - // Rule 294: enumerator_definition ::= identifier_token + // Rule 289: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } // - case 294: { action. consumeEnumerator(false); break; + case 289: { action. consumeTypeSpecifierEnumeration(true); break; } // - // Rule 295: enumerator_definition ::= identifier_token = constant_expression + // Rule 295: enumerator_definition ::= identifier_token // - case 295: { action. consumeEnumerator(true); break; + case 295: { action. consumeEnumerator(false); break; } // - // Rule 297: namespace_definition ::= namespace namespace_name namespace_definition_hook { <openscope-ast> declaration_seq_opt } + // Rule 296: enumerator_definition ::= identifier_token = constant_expression // - case 297: { action. consumeNamespaceDefinition(true); break; + case 296: { action. consumeEnumerator(true); break; } // - // Rule 298: namespace_definition ::= namespace namespace_definition_hook { <openscope-ast> declaration_seq_opt } + // Rule 298: namespace_definition ::= namespace namespace_name namespace_definition_hook { <openscope-ast> declaration_seq_opt } // - case 298: { action. consumeNamespaceDefinition(false); break; + case 298: { action. consumeNamespaceDefinition(true); break; } // - // Rule 300: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 299: namespace_definition ::= namespace namespace_definition_hook { <openscope-ast> declaration_seq_opt } // - case 300: { action. consumeNamespaceAliasDefinition(); break; + case 299: { action. consumeNamespaceDefinition(false); break; } // - // Rule 301: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; + // Rule 301: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ; // - case 301: { action. consumeUsingDeclaration(); break; + case 301: { action. consumeNamespaceAliasDefinition(); break; } // - // Rule 302: typename_opt ::= typename + // Rule 302: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; // - case 302: { action. consumePlaceHolder(); break; + case 302: { action. consumeUsingDeclaration(); break; } // - // Rule 303: typename_opt ::= $Empty + // Rule 303: typename_opt ::= typename // - case 303: { action. consumeEmpty(); break; + case 303: { action. consumePlaceHolder(); break; } // - // Rule 304: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 304: typename_opt ::= $Empty // - case 304: { action. consumeUsingDirective(); break; + case 304: { action. consumeEmpty(); break; } // - // Rule 305: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt } + // Rule 305: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; // - case 305: { action. consumeLinkageSpecification(); break; + case 305: { action. consumeUsingDirective(); break; } // - // Rule 306: linkage_specification ::= extern stringlit <openscope-ast> declaration + // Rule 306: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt } // case 306: { action. consumeLinkageSpecification(); break; } // - // Rule 311: init_declarator_complete ::= init_declarator + // Rule 307: linkage_specification ::= extern stringlit <openscope-ast> declaration // - case 311: { action. consumeInitDeclaratorComplete(); break; + case 307: { action. consumeLinkageSpecification(); break; } // - // Rule 313: init_declarator ::= complete_declarator initializer + // Rule 312: init_declarator_complete ::= init_declarator // - case 313: { action. consumeDeclaratorWithInitializer(true); break; + case 312: { action. consumeInitDeclaratorComplete(); break; } // - // Rule 316: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator + // Rule 314: init_declarator ::= complete_declarator initializer // - case 316: { action. consumeDeclaratorWithPointer(true); break; + case 314: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 318: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator + // Rule 317: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator // - case 318: { action. consumeDeclaratorWithPointer(true); break; + case 317: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 322: basic_direct_declarator ::= declarator_id_name + // Rule 319: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator // - case 322: { action. consumeDirectDeclaratorIdentifier(); break; + case 319: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 323: basic_direct_declarator ::= ( declarator ) + // Rule 323: basic_direct_declarator ::= declarator_id_name // - case 323: { action. consumeDirectDeclaratorBracketed(); break; + case 323: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 324: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 324: basic_direct_declarator ::= ( declarator ) // - case 324: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; + case 324: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 325: array_direct_declarator ::= array_direct_declarator array_modifier + // Rule 325: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 325: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 325: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 326: array_direct_declarator ::= basic_direct_declarator array_modifier + // Rule 326: array_direct_declarator ::= array_direct_declarator array_modifier // case 326: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 327: array_modifier ::= [ constant_expression ] + // Rule 327: array_direct_declarator ::= basic_direct_declarator array_modifier // - case 327: { action. consumeDirectDeclaratorArrayModifier(true); break; + case 327: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 328: array_modifier ::= [ ] + // Rule 328: array_modifier ::= [ constant_expression ] // - case 328: { action. consumeDirectDeclaratorArrayModifier(false); break; + case 328: { action. consumeDirectDeclaratorArrayModifier(true); break; } // - // Rule 329: ptr_operator ::= pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt + // Rule 329: array_modifier ::= [ ] // - case 329: { action. consumePointer(); break; + case 329: { action. consumeDirectDeclaratorArrayModifier(false); break; } // - // Rule 330: ptr_operator ::= pointer_hook & pointer_hook + // Rule 330: ptr_operator ::= pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt // - case 330: { action. consumeReferenceOperator(); break; + case 330: { action. consumePointer(); break; } // - // Rule 331: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt + // Rule 331: ptr_operator ::= pointer_hook & pointer_hook // - case 331: { action. consumePointerToMember(); break; + case 331: { action. consumeReferenceOperator(); break; } // - // Rule 338: cv_qualifier ::= const + // Rule 332: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt // - case 338: { action. consumeToken(); break; + case 332: { action. consumePointerToMember(); break; } // - // Rule 339: cv_qualifier ::= volatile + // Rule 339: cv_qualifier ::= const // case 339: { action. consumeToken(); break; } // - // Rule 341: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name + // Rule 340: cv_qualifier ::= volatile // - case 341: { action. consumeQualifiedId(false); break; + case 340: { action. consumeToken(); break; } // - // Rule 342: type_id ::= type_specifier_seq + // Rule 342: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name // - case 342: { action. consumeTypeId(false); break; + case 342: { action. consumeQualifiedId(false); break; } // - // Rule 343: type_id ::= type_specifier_seq abstract_declarator + // Rule 343: type_id ::= type_specifier_seq // - case 343: { action. consumeTypeId(true); break; + case 343: { action. consumeTypeId(false); break; } // - // Rule 346: abstract_declarator ::= <openscope-ast> ptr_operator_seq + // Rule 344: type_id ::= type_specifier_seq abstract_declarator // - case 346: { action. consumeDeclaratorWithPointer(false); break; + case 344: { action. consumeTypeId(true); break; } // - // Rule 347: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator + // Rule 347: abstract_declarator ::= <openscope-ast> ptr_operator_seq // - case 347: { action. consumeDeclaratorWithPointer(true); break; + case 347: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 351: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 348: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator // - case 351: { action. consumeDirectDeclaratorBracketed(); break; + case 348: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 352: basic_direct_abstract_declarator ::= ( ) + // Rule 352: basic_direct_abstract_declarator ::= ( abstract_declarator ) // - case 352: { action. consumeAbstractDeclaratorEmpty(); break; + case 352: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 353: array_direct_abstract_declarator ::= array_modifier + // Rule 353: basic_direct_abstract_declarator ::= ( ) // - case 353: { action. consumeDirectDeclaratorArrayDeclarator(false); break; + case 353: { action. consumeAbstractDeclaratorEmpty(); break; } // - // Rule 354: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier + // Rule 354: array_direct_abstract_declarator ::= array_modifier // - case 354: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 354: { action. consumeDirectDeclaratorArrayDeclarator(false); break; } // - // Rule 355: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier + // Rule 355: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier // case 355: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 356: 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 356: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier // - case 356: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; + case 356: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 357: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 357: 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 357: { action. consumeDirectDeclaratorFunctionDeclarator(false); break; + case 357: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 358: parameter_declaration_clause ::= parameter_declaration_list_opt ... + // Rule 358: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 358: { action. consumePlaceHolder(); break; + case 358: { action. consumeDirectDeclaratorFunctionDeclarator(false); break; } // - // Rule 359: parameter_declaration_clause ::= parameter_declaration_list_opt + // Rule 359: parameter_declaration_clause ::= parameter_declaration_list_opt ... // - case 359: { action. consumeEmpty(); break; + case 359: { action. consumePlaceHolder(); break; } // - // Rule 360: parameter_declaration_clause ::= parameter_declaration_list , ... + // Rule 360: parameter_declaration_clause ::= parameter_declaration_list_opt // - case 360: { action. consumePlaceHolder(); break; + case 360: { action. consumeEmpty(); break; } // - // Rule 366: abstract_declarator_opt ::= $Empty + // Rule 361: parameter_declaration_clause ::= parameter_declaration_list , ... // - case 366: { action. consumeEmpty(); break; + case 361: { action. consumePlaceHolder(); break; } // - // Rule 367: parameter_declaration ::= declaration_specifiers parameter_init_declarator + // Rule 367: abstract_declarator_opt ::= $Empty // - case 367: { action. consumeParameterDeclaration(); break; + case 367: { action. consumeEmpty(); break; } // - // Rule 368: parameter_declaration ::= declaration_specifiers + // Rule 368: parameter_declaration ::= declaration_specifiers parameter_init_declarator // - case 368: { action. consumeParameterDeclarationWithoutDeclarator(); break; + case 368: { action. consumeParameterDeclaration(); break; } // - // Rule 370: parameter_init_declarator ::= declarator = parameter_initializer + // Rule 369: parameter_declaration ::= declaration_specifiers // - case 370: { action. consumeDeclaratorWithInitializer(true); break; + case 369: { action. consumeParameterDeclarationWithoutDeclarator(); break; } // - // Rule 372: parameter_init_declarator ::= abstract_declarator = parameter_initializer + // Rule 371: parameter_init_declarator ::= declarator = parameter_initializer // - case 372: { action. consumeDeclaratorWithInitializer(true); break; + case 371: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 373: parameter_init_declarator ::= = parameter_initializer + // Rule 373: parameter_init_declarator ::= abstract_declarator = parameter_initializer // - case 373: { action. consumeDeclaratorWithInitializer(false); break; + case 373: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 374: parameter_initializer ::= assignment_expression + // Rule 374: parameter_init_declarator ::= = parameter_initializer // - case 374: { action. consumeInitializer(); break; + case 374: { action. consumeDeclaratorWithInitializer(false); break; } // - // Rule 375: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body + // Rule 375: parameter_initializer ::= assignment_expression // - case 375: { action. consumeFunctionDefinition(false); break; + case 375: { action. consumeInitializer(); break; } // - // Rule 376: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq + // Rule 376: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body // - case 376: { action. consumeFunctionDefinition(true); break; + case 376: { action. consumeFunctionDefinition(false); break; } // - // Rule 379: initializer ::= ( expression_list ) + // Rule 377: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq // - case 379: { action. consumeInitializerConstructor(); break; + case 377: { action. consumeFunctionDefinition(true); break; } // - // Rule 380: initializer_clause ::= assignment_expression + // Rule 380: initializer ::= ( expression_list ) // - case 380: { action. consumeInitializer(); break; + case 380: { action. consumeInitializerConstructor(); break; } // - // Rule 382: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq , } end_initializer_list + // Rule 381: initializer_clause ::= assignment_expression // - case 382: { action. consumeInitializerList(); break; + case 381: { action. consumeInitializer(); break; } // - // Rule 383: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq } end_initializer_list + // Rule 383: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq , } end_initializer_list // case 383: { action. consumeInitializerList(); break; } // - // Rule 384: initializer_list ::= { <openscope-ast> } + // Rule 384: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq } end_initializer_list // case 384: { action. consumeInitializerList(); break; } // - // Rule 385: start_initializer_list ::= $Empty + // Rule 385: initializer_list ::= { <openscope-ast> } // - case 385: { action. initializerListStart(); break; + case 385: { action. consumeInitializerList(); break; } // - // Rule 386: end_initializer_list ::= $Empty + // Rule 386: start_initializer_list ::= $Empty // - case 386: { action. initializerListEnd(); break; + case 386: { action. initializerListStart(); break; } // - // Rule 391: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt } + // Rule 387: end_initializer_list ::= $Empty // - case 391: { action. consumeClassSpecifier(); break; + case 387: { action. initializerListEnd(); break; } // - // Rule 392: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 392: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt } // - case 392: { action. consumeClassHead(false); break; + case 392: { action. consumeClassSpecifier(); break; } // - // Rule 393: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 393: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook <openscope-ast> base_clause_opt // case 393: { action. consumeClassHead(false); break; } // - // Rule 394: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 394: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt // - case 394: { action. consumeClassHead(true); break; + case 394: { action. consumeClassHead(false); break; } // - // Rule 395: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 395: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook <openscope-ast> base_clause_opt // case 395: { action. consumeClassHead(true); break; } // - // Rule 399: identifier_name_opt ::= $Empty + // Rule 396: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt // - case 399: { action. consumeEmpty(); break; - } + case 396: { action. consumeClassHead(true); break; + } // - // Rule 403: visibility_label ::= access_specifier_keyword : + // Rule 400: identifier_name_opt ::= $Empty // - case 403: { action. consumeVisibilityLabel(); break; - } + case 400: { action. consumeEmpty(); break; + } // - // Rule 404: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ; + // Rule 404: visibility_label ::= access_specifier_keyword : // - case 404: { action. consumeDeclarationSimple(true); break; + case 404: { action. consumeVisibilityLabel(); break; } // - // Rule 405: member_declaration ::= declaration_specifiers_opt ; + // Rule 405: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ; // - case 405: { action. consumeDeclarationSimple(false); break; + case 405: { action. consumeDeclarationSimple(true); break; } // - // Rule 408: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ; + // Rule 406: member_declaration ::= declaration_specifiers_opt ; // - case 408: { action. consumeMemberDeclarationQualifiedId(); break; + case 406: { action. consumeDeclarationSimple(false); break; } // - // Rule 414: member_declaration ::= ERROR_TOKEN + // Rule 409: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ; // - case 414: { action. consumeDeclarationProblem(); break; + case 409: { action. consumeMemberDeclarationQualifiedId(); break; } // - // Rule 423: member_declarator ::= declarator constant_initializer + // Rule 415: member_declaration ::= ERROR_TOKEN // - case 423: { action. consumeMemberDeclaratorWithInitializer(); break; + case 415: { action. consumeDeclarationProblem(); break; } // - // Rule 424: member_declarator ::= bit_field_declarator : constant_expression + // Rule 424: member_declarator ::= declarator constant_initializer // - case 424: { action. consumeBitField(true); break; + case 424: { action. consumeMemberDeclaratorWithInitializer(); break; } // - // Rule 425: member_declarator ::= : constant_expression + // Rule 425: member_declarator ::= bit_field_declarator : constant_expression // - case 425: { action. consumeBitField(false); break; + case 425: { action. consumeBitField(true); break; } // - // Rule 426: bit_field_declarator ::= identifier_name + // Rule 426: member_declarator ::= : constant_expression // - case 426: { action. consumeDirectDeclaratorIdentifier(); break; + case 426: { action. consumeBitField(false); break; } // - // Rule 427: constant_initializer ::= = constant_expression + // Rule 427: bit_field_declarator ::= identifier_name // - case 427: { action. consumeInitializer(); break; + case 427: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 433: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name + // Rule 428: constant_initializer ::= = constant_expression // - case 433: { action. consumeBaseSpecifier(false, false); break; + case 428: { action. consumeInitializer(); break; } // - // Rule 434: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name + // Rule 434: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name // - case 434: { action. consumeBaseSpecifier(true, true); break; + case 434: { action. consumeBaseSpecifier(false, false); break; } // - // Rule 435: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name + // Rule 435: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name // case 435: { action. consumeBaseSpecifier(true, true); break; } // - // Rule 436: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name + // Rule 436: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name // - case 436: { action. consumeBaseSpecifier(true, false); break; + case 436: { action. consumeBaseSpecifier(true, true); break; } // - // Rule 437: access_specifier_keyword ::= private + // Rule 437: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name // - case 437: { action. consumeToken(); break; + case 437: { action. consumeBaseSpecifier(true, false); break; } // - // Rule 438: access_specifier_keyword ::= protected + // Rule 438: access_specifier_keyword ::= private // case 438: { action. consumeToken(); break; } // - // Rule 439: access_specifier_keyword ::= public + // Rule 439: access_specifier_keyword ::= protected // case 439: { action. consumeToken(); break; } // - // Rule 441: access_specifier_keyword_opt ::= $Empty + // Rule 440: access_specifier_keyword ::= public + // + case 440: { action. consumeToken(); break; + } + + // + // Rule 442: access_specifier_keyword_opt ::= $Empty // - case 441: { action. consumeEmpty(); break; + case 442: { action. consumeEmpty(); break; } // - // Rule 443: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt > + // Rule 444: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt > // - case 443: { action. consumeTemplateId(); break; + case 444: { action. consumeTemplateId(); break; } // - // Rule 444: conversion_function_id ::= operator conversion_type_id + // Rule 445: conversion_function_id ::= operator conversion_type_id // - case 444: { action. consumeConversionName(); break; + case 445: { action. consumeConversionName(); break; } // - // Rule 445: conversion_type_id ::= type_specifier_seq conversion_declarator + // Rule 446: conversion_type_id ::= type_specifier_seq conversion_declarator // - case 445: { action. consumeTypeId(true); break; + case 446: { action. consumeTypeId(true); break; } // - // Rule 446: conversion_type_id ::= type_specifier_seq + // Rule 447: conversion_type_id ::= type_specifier_seq // - case 446: { action. consumeTypeId(false); break; + case 447: { action. consumeTypeId(false); break; } // - // Rule 447: conversion_declarator ::= <openscope-ast> ptr_operator_seq + // Rule 448: conversion_declarator ::= <openscope-ast> ptr_operator_seq // - case 447: { action. consumeDeclaratorWithPointer(false); break; + case 448: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 453: mem_initializer ::= mem_initializer_name ( expression_list_opt ) + // Rule 454: mem_initializer ::= mem_initializer_name ( expression_list_opt ) // - case 453: { action. consumeConstructorChainInitializer(); break; + case 454: { action. consumeConstructorChainInitializer(); break; } // - // Rule 454: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name + // Rule 455: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name // - case 454: { action. consumeQualifiedId(false); break; + case 455: { action. consumeQualifiedId(false); break; } // - // Rule 457: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt > + // Rule 458: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt > // - case 457: { action. consumeTemplateId(); break; + case 458: { action. consumeTemplateId(); break; } // - // Rule 458: operator_id_name ::= operator overloadable_operator + // Rule 459: operator_id_name ::= operator overloadable_operator // - case 458: { action. consumeOperatorName(); break; + case 459: { action. consumeOperatorName(); break; } // - // Rule 501: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration + // Rule 502: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration // - case 501: { action. consumeTemplateDeclaration(); break; + case 502: { action. consumeTemplateDeclaration(); break; } // - // Rule 502: export_opt ::= export + // Rule 503: export_opt ::= export // - case 502: { action. consumePlaceHolder(); break; + case 503: { action. consumePlaceHolder(); break; } // - // Rule 503: export_opt ::= $Empty + // Rule 504: export_opt ::= $Empty // - case 503: { action. consumeEmpty(); break; + case 504: { action. consumeEmpty(); break; } // - // Rule 507: template_parameter ::= parameter_declaration + // Rule 508: template_parameter ::= parameter_declaration // - case 507: { action. consumeTemplateParamterDeclaration(); break; + case 508: { action. consumeTemplateParamterDeclaration(); break; } // - // Rule 508: type_parameter ::= class identifier_name_opt + // Rule 509: type_parameter ::= class identifier_name_opt // - case 508: { action. consumeSimpleTypeTemplateParameter(false); break; + case 509: { action. consumeSimpleTypeTemplateParameter(false); break; } // - // Rule 509: type_parameter ::= class identifier_name_opt = type_id + // Rule 510: type_parameter ::= class identifier_name_opt = type_id // - case 509: { action. consumeSimpleTypeTemplateParameter(true); break; + case 510: { action. consumeSimpleTypeTemplateParameter(true); break; } // - // Rule 510: type_parameter ::= typename identifier_name_opt + // Rule 511: type_parameter ::= typename identifier_name_opt // - case 510: { action. consumeSimpleTypeTemplateParameter(false); break; + case 511: { action. consumeSimpleTypeTemplateParameter(false); break; } // - // Rule 511: type_parameter ::= typename identifier_name_opt = type_id + // Rule 512: type_parameter ::= typename identifier_name_opt = type_id // - case 511: { action. consumeSimpleTypeTemplateParameter(true); break; + case 512: { action. consumeSimpleTypeTemplateParameter(true); break; } // - // Rule 512: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt + // Rule 513: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt // - case 512: { action. consumeTemplatedTypeTemplateParameter(false); break; + case 513: { action. consumeTemplatedTypeTemplateParameter(false); break; } // - // Rule 513: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression + // Rule 514: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression // - case 513: { action. consumeTemplatedTypeTemplateParameter(true); break; + case 514: { action. consumeTemplatedTypeTemplateParameter(true); break; } // - // Rule 514: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt > + // Rule 515: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt > // - case 514: { action. consumeTemplateId(); break; + case 515: { action. consumeTemplateId(); break; } // - // Rule 519: template_argument ::= assignment_expression + // Rule 520: template_argument ::= assignment_expression // - case 519: { action. consumeTemplateArgumentExpression(); break; + case 520: { action. consumeTemplateArgumentExpression(); break; } // - // Rule 520: template_argument ::= type_id + // Rule 521: template_argument ::= type_id // - case 520: { action. consumeTemplateArgumentTypeId(); break; + case 521: { action. consumeTemplateArgumentTypeId(); break; } // - // Rule 521: explicit_instantiation ::= template declaration + // Rule 522: explicit_instantiation ::= template declaration // - case 521: { action. consumeTemplateExplicitInstantiation(); break; + case 522: { action. consumeTemplateExplicitInstantiation(); break; } // - // Rule 522: explicit_specialization ::= template < > declaration + // Rule 523: explicit_specialization ::= template < > declaration // - case 522: { action. consumeTemplateExplicitSpecialization(); break; + case 523: { action. consumeTemplateExplicitSpecialization(); break; } // - // Rule 523: try_block ::= try compound_statement <openscope-ast> handler_seq + // Rule 524: try_block ::= try compound_statement <openscope-ast> handler_seq // - case 523: { action. consumeStatementTryBlock(); break; + case 524: { action. consumeStatementTryBlock(true); break; } // - // Rule 526: handler ::= catch ( exception_declaration ) compound_statement + // Rule 525: try_block ::= try compound_statement // - case 526: { action. consumeStatementCatchHandler(false); break; + case 525: { action. consumeStatementTryBlock(false); break; } // - // Rule 527: handler ::= catch ( ... ) compound_statement + // Rule 528: handler ::= catch ( exception_declaration ) compound_statement // - case 527: { action. consumeStatementCatchHandler(true); break; + case 528: { action. consumeStatementCatchHandler(false); break; } // - // Rule 528: exception_declaration ::= type_specifier_seq <openscope-ast> declarator + // Rule 529: handler ::= catch ( ... ) compound_statement // - case 528: { action. consumeDeclarationSimple(true); break; + case 529: { action. consumeStatementCatchHandler(true); break; } // - // Rule 529: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator + // Rule 530: exception_declaration ::= type_specifier_seq <openscope-ast> declarator // - case 529: { action. consumeDeclarationSimple(true); break; + case 530: { action. consumeDeclarationSimple(true); break; } // - // Rule 530: exception_declaration ::= type_specifier_seq + // Rule 531: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator // - case 530: { action. consumeDeclarationSimple(false); break; + case 531: { action. consumeDeclarationSimple(true); break; } // - // Rule 532: exception_specification ::= throw ( ) + // Rule 532: exception_declaration ::= type_specifier_seq // - case 532: { action. consumePlaceHolder(); break; + case 532: { action. consumeDeclarationSimple(false); break; } // - // Rule 553: attribute_parameter ::= assignment_expression + // Rule 534: exception_specification ::= throw ( ) // - case 553: { action. consumeIgnore(); break; + case 534: { action. consumePlaceHolder(); break; + } + + // + // Rule 555: attribute_parameter ::= assignment_expression + // + case 555: { action. consumeIgnore(); break; } // - // Rule 564: extended_asm_declaration ::= asm volatile_opt ( extended_asm_param_seq ) ; + // Rule 566: extended_asm_declaration ::= asm volatile_opt ( extended_asm_param_seq ) ; // - case 564: { gnuAction.consumeDeclarationASM(); break; + case 566: { gnuAction.consumeDeclarationASM(); break; } // - // Rule 575: unary_expression ::= __alignof__ unary_expression + // Rule 577: unary_expression ::= __alignof__ unary_expression // - case 575: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_alignOf); break; + case 577: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_alignOf); break; } // - // Rule 576: unary_expression ::= __alignof__ ( type_id ) + // Rule 578: unary_expression ::= __alignof__ ( type_id ) // - case 576: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_alignof); break; + case 578: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_alignof); break; } // - // Rule 577: unary_expression ::= typeof unary_expression + // Rule 579: unary_expression ::= typeof unary_expression // - case 577: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); break; + case 579: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); break; } // - // Rule 578: unary_expression ::= typeof ( type_id ) + // Rule 580: unary_expression ::= typeof ( type_id ) // - case 578: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_typeof); break; + case 580: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_typeof); break; } // - // Rule 579: relational_expression ::= relational_expression >? shift_expression + // Rule 581: relational_expression ::= relational_expression >? shift_expression // - case 579: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_max); break; + case 581: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_max); break; } // - // Rule 580: relational_expression ::= relational_expression <? shift_expression + // Rule 582: relational_expression ::= relational_expression <? shift_expression // - case 580: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_min); break; + case 582: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_min); break; } // - // Rule 581: conditional_expression ::= logical_or_expression ? <empty> : assignment_expression + // Rule 583: conditional_expression ::= logical_or_expression ? <empty> : assignment_expression // - case 581: { action. consumeExpressionConditional(); break; + case 583: { action. consumeExpressionConditional(); break; } // - // Rule 582: primary_expression ::= ( compound_statement ) + // Rule 584: primary_expression ::= ( compound_statement ) // - case 582: { gnuAction.consumeCompoundStatementExpression(); break; + case 584: { gnuAction.consumeCompoundStatementExpression(); break; } // - // Rule 583: labeled_statement ::= case case_range_expression : statement + // Rule 585: labeled_statement ::= case case_range_expression : statement // - case 583: { action. consumeStatementCase(); break; + case 585: { action. consumeStatementCase(); break; } // - // Rule 584: case_range_expression ::= constant_expression ... constant_expression + // Rule 586: case_range_expression ::= constant_expression ... constant_expression // - case 584: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_assign); break; + case 586: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_assign); break; } // - // Rule 588: typeof_type_specifier ::= typeof unary_expression + // Rule 590: typeof_type_specifier ::= typeof unary_expression // - case 588: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); break; + case 590: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); break; } // - // Rule 589: typeof_type_specifier ::= typeof ( type_id ) + // Rule 591: typeof_type_specifier ::= typeof ( type_id ) // - case 589: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_typeof); break; + case 591: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_typeof); break; } // - // Rule 590: declaration_specifiers ::= <openscope-ast> typeof_declaration_specifiers + // Rule 592: declaration_specifiers ::= <openscope-ast> typeof_declaration_specifiers // - case 590: { action. consumeDeclarationSpecifiersTypeof(); break; + case 592: { action. consumeDeclarationSpecifiersTypeof(); break; } // - // Rule 603: declarator ::= <openscope-ast> ptr_operator_seq attribute_or_decl_specifier_seq direct_declarator + // Rule 605: declarator ::= <openscope-ast> ptr_operator_seq attribute_or_decl_specifier_seq direct_declarator // - case 603: { action. consumeDeclaratorWithPointer(true); break; + case 605: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 606: simple_type_specifier ::= _Complex + // Rule 608: simple_type_specifier ::= _Complex // - case 606: { action. consumeToken(); break; + case 608: { action. consumeToken(); break; } // - // Rule 607: simple_type_specifier ::= _Imaginary + // Rule 609: simple_type_specifier ::= _Imaginary // - case 607: { action. consumeToken(); break; + case 609: { action. consumeToken(); break; } // - // Rule 608: cv_qualifier ::= restrict + // Rule 610: cv_qualifier ::= restrict // - case 608: { action. consumeToken(); break; + case 610: { action. consumeToken(); break; } // - // Rule 609: explicit_instantiation ::= extern template declaration + // Rule 611: explicit_instantiation ::= extern template declaration // - case 609: { action. consumeTemplateExplicitInstantiationGCC(IGPPASTExplicitTemplateInstantiation.ti_extern); break; + case 611: { action. consumeTemplateExplicitInstantiationGCC(IGPPASTExplicitTemplateInstantiation.ti_extern); break; } // - // Rule 610: explicit_instantiation ::= static template declaration + // Rule 612: explicit_instantiation ::= static template declaration // - case 610: { action. consumeTemplateExplicitInstantiationGCC(IGPPASTExplicitTemplateInstantiation.ti_static); break; + case 612: { action. consumeTemplateExplicitInstantiationGCC(IGPPASTExplicitTemplateInstantiation.ti_static); break; } // - // Rule 611: explicit_instantiation ::= inline template declaration + // Rule 613: explicit_instantiation ::= inline template declaration // - case 611: { action. consumeTemplateExplicitInstantiationGCC(IGPPASTExplicitTemplateInstantiation.ti_inline); break; + case 613: { action. consumeTemplateExplicitInstantiationGCC(IGPPASTExplicitTemplateInstantiation.ti_inline); break; } // - // Rule 615: type_id ::= vector_type + // Rule 617: type_id ::= vector_type // - case 615: { action. consumeTypeId(false); break; + case 617: { action. consumeTypeId(false); break; } // - // Rule 616: type_id ::= vector_type abstract_declarator + // Rule 618: type_id ::= vector_type abstract_declarator // - case 616: { action. consumeTypeId(true); break; + case 618: { action. consumeTypeId(true); break; } // - // Rule 617: vector_declaration ::= vector_type <openscope-ast> init_declarator_list ; + // Rule 619: vector_declaration ::= vector_type <openscope-ast> init_declarator_list ; // - case 617: { action. consumeDeclarationSimple(true); break; + case 619: { action. consumeDeclarationSimple(true); break; } // - // Rule 618: vector_type ::= <openscope-ast> no_type_declaration_specifiers_opt vector vector_type_specifier all_specifier_qualifier_list_opt + // Rule 620: vector_type ::= <openscope-ast> no_type_declaration_specifiers_opt vector vector_type_specifier all_specifier_qualifier_list_opt // - case 618: { action. consumeVectorTypeSpecifier(); break; + case 620: { action. consumeVectorTypeSpecifier(); break; } // - // Rule 619: vector_type_specifier ::= vector_type_specifier_token + // Rule 621: vector_type_specifier ::= vector_type_specifier_token // - case 619: { action. consumeToken(); break; + case 621: { action. consumeToken(); break; } // - // Rule 637: static_assert_declaration ::= __static_assert ( expression , literal ) ; + // Rule 644: specifier_qualifier ::= typedef // - case 637: { action. consumeCPPASTStaticAssertDeclaration(); break; + case 644: { action. consumeToken(); break; } // - // Rule 643: specifier_qualifier ::= typedef + // Rule 645: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ] // - case 643: { action. consumeToken(); break; + case 645: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break; } // - // Rule 644: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ] + // Rule 646: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ] // - case 644: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break; + case 646: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break; } // - // Rule 645: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ] + // Rule 647: array_modifier ::= [ static assignment_expression ] // - case 645: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break; + case 647: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break; } // - // Rule 646: array_modifier ::= [ static assignment_expression ] + // Rule 648: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ] // - case 646: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break; + case 648: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; } // - // Rule 647: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ] + // Rule 649: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ] // - case 647: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; + case 649: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; } // - // Rule 648: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ] + // Rule 650: array_modifier ::= [ * ] // - case 648: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; + case 650: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break; } // - // Rule 649: array_modifier ::= [ * ] + // Rule 651: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ] // - case 649: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break; + case 651: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break; } // - // Rule 650: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ] + // Rule 656: static_assert_declaration ::= __static_assert ( expression , literal ) ; // - case 650: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break; + case 656: { action. consumeCPPASTStaticAssertDeclaration(); break; } diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/cpp/XlcCPPParserprs.java b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/cpp/XlcCPPParserprs.java index 3c806ef4980..22b6e90af6d 100644 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/cpp/XlcCPPParserprs.java +++ b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/cpp/XlcCPPParserprs.java @@ -57,715 +57,716 @@ public class XlcCPPParserprs implements lpg.lpgjavaruntime.ParseTable, XlcCPPPar 0,1,0,1,1,0,1,1,1,1, 1,1,1,1,1,3,4,3,2,1, 4,2,1,2,5,7,5,1,4,1, - 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, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,3,4,4,5,2, - 5,6,5,0,1,0,7,8,0,1, - 3,1,0,1,3,1,7,6,0,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,5,3, - 7,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, - 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,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,4,6,1,0,1,3,1,3, - 0,1,4,5,2,4,2,4,3,3, - 5,3,4,3,1,2,2,2,4,2, - 1,1,2,2,3,2,2,3,1,1, - 1,1,4,1,1,1,1,1,3,3, - 3,1,1,1,1,2,4,5,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,2,1,0,1,0,7,1,1,1, - 1,1,1,4,5,4,6,6,3,5, - 1,1,2,1,-195,0,0,0,-2,0, + 0,5,7,2,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,1,1,1,1,1,1,1, + 1,1,1,1,1,1,3,4,4,5, + 2,5,6,5,0,1,0,7,8,0, + 1,3,1,0,1,3,1,7,6,0, + 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,5, + 3,7,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,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,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,2,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,4,6,1,0,1,3, + 1,3,0,1,4,5,2,4,2,4, + 3,3,5,3,4,3,1,2,2,2, + 4,2,1,1,2,2,3,2,2,3, + 1,1,1,1,4,1,1,1,1,1, + 3,3,3,1,1,1,1,2,4,5, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,2,1,0,1,0,1,1, + 1,1,1,1,4,5,4,6,6,3, + 5,1,1,2,1,7,-195,0,0,0, + -2,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-63,0,0,0,-395,0, + 0,0,0,0,0,-404,-18,0,0,-66, + 0,0,0,0,-337,0,0,0,-6,0, + 0,0,0,0,0,0,0,0,-488,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-63,0,0,0,-395,0,0,0, - 0,0,0,-404,-18,0,0,-66,0,0, - 0,0,-337,0,0,0,-6,0,0,0, - 0,0,0,0,0,0,-488,0,0,0, - 0,0,0,0,0,0,0,0,0,-5, - 0,0,0,0,-47,0,0,0,-3,0, - 0,0,0,-174,0,0,0,-43,0,0, - 0,-9,0,0,0,0,0,0,-10,0, - -73,0,0,0,0,0,0,-305,0,-11, - 0,0,-184,0,0,0,0,0,0,0, - 0,-4,0,0,0,0,-72,0,0,-35, - 0,0,0,0,0,-212,-335,0,-407,0, - 0,-561,0,0,0,-13,0,0,0,0, + 0,-5,0,0,0,0,-47,0,0,0, + -3,0,0,0,0,-174,0,0,0,-43, + 0,0,0,-9,0,0,0,0,0,0, + -10,0,-73,0,0,0,0,0,0,-305, + 0,-11,0,0,-184,0,0,0,0,0, + 0,0,0,-4,0,0,0,0,-72,0, + 0,-35,0,0,0,0,0,-212,-335,0, + -407,0,0,-561,0,0,0,-13,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -295,-197,0,0,0,0,-192,0,0,0, - 0,-424,0,0,0,0,-213,0,0,-27, - 0,0,0,-17,0,0,0,0,0,0, + 0,0,-295,-197,0,0,0,0,-192,0, + 0,0,0,-424,0,0,0,0,-213,0, + 0,-27,0,0,0,-17,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -309,0,0,0,-164,0,0,0,-123,0, - 0,0,0,0,0,0,0,-67,0,0, - 0,0,0,0,0,-40,-289,0,0,0, - 0,0,0,0,0,0,0,0,-121,0, + 0,0,-309,0,0,0,-164,0,0,0, + -123,0,0,0,0,0,0,0,0,-67, + 0,0,0,0,0,0,0,-40,-289,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-182,0, + -121,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -182,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-185,0, - 0,0,0,0,0,0,-20,-283,0,-207, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-619,0,0,-217,0, + -185,0,0,0,0,0,0,0,-20,-283, + 0,-207,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-619,0,0, + -217,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-170,0,0,0,0,0,0,0, + -21,0,0,-323,0,0,0,0,0,-280, + 0,-208,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-163,0,0,-111,0, + -23,0,-339,0,0,0,-24,0,0,0, + 0,0,0,0,0,0,-81,0,0,-429, + -218,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -170,0,0,0,0,0,0,0,-21,0, - 0,-323,0,0,0,0,0,-280,0,-208, + 0,0,0,-86,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,-163,0,0,-111,0,-23,0, - -339,0,0,0,-24,0,0,0,0,0, - 0,0,0,0,-81,0,0,-429,-218,0, + 0,0,-223,0,0,0,0,0,0,0, + 0,0,0,-26,0,0,0,0,0,0, + -411,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-450,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-86,0,0,0,0,0,0,0,0, - -25,0,0,0,0,0,0,0,0,0, + -211,0,0,-512,0,0,0,0,-34,0, + 0,0,-656,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-56,0,0,0, + 0,0,-481,0,0,0,-44,-359,0,0, + 0,0,0,0,-45,0,0,-48,0,-474, 0,0,0,0,0,0,0,0,0,0, - -223,0,0,0,0,0,0,0,0,0, - 0,-26,0,0,0,0,0,0,-411,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-183,0,0,0,0,-648,0,0, + 0,0,0,0,0,0,0,0,0,-273, + 0,0,-303,0,0,0,0,-28,0,-428, + 0,0,-592,0,0,0,-221,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-450,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-211,0, - 0,-512,0,0,0,0,-34,0,0,0, - -656,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-56,0,0,0,0,0, - -481,0,0,0,-44,-359,0,0,0,0, - 0,0,-45,0,0,-48,0,-474,0,0, + 0,0,0,0,0,-19,0,-342,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-206,0,0,0,0,0,0,0,0, + 0,0,-50,-483,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -183,0,0,0,0,-648,0,0,0,0, - 0,0,0,0,0,0,0,-273,0,0, - -303,0,0,0,0,-28,0,-428,0,0, - -592,0,0,0,-221,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-19,0,-342,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-206, 0,0,0,0,0,0,0,0,0,0, - -50,-483,0,0,0,0,0,0,0,0, + 0,0,0,-79,0,0,-155,-64,0,0, + 0,0,0,0,-156,0,0,0,-130,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-406,0,0, + 0,0,-51,0,0,0,0,0,0,0, + 0,0,0,-54,-628,0,0,0,0,-405, + 0,0,0,0,0,0,0,-362,0,0, + 0,-397,0,0,0,-489,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-74,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-79,0,0,-155,-64,0,0,0,0, - 0,0,-156,0,0,0,-130,0,0,0, + -77,-328,0,0,0,0,0,0,0,-129, + 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,-406,0,0,0,0, - -51,0,0,0,0,0,0,0,0,0, - 0,-54,-628,0,0,0,0,-405,0,0, - 0,0,0,0,0,-362,0,0,0,-397, - 0,0,0,-489,0,0,0,0,0,0, + 0,0,0,0,0,0,-447,0,0,0, + 0,0,0,0,0,-112,0,0,0,0, + 0,0,-278,0,0,0,0,0,0,0, + 0,-160,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-74,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-77,-328, - 0,0,0,0,0,0,0,-129,0,0, - 0,-62,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-59,-457,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-447,0,0,0,0,0, - 0,0,0,-112,0,0,0,0,0,0, - -278,0,0,0,0,0,0,0,0,-160, + 0,0,0,0,-75,0,0,0,-272,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-59,-457,0,0,0,0, + 0,-306,0,0,0,0,0,0,0,0, + -57,0,0,0,0,0,0,0,0,0, + 0,-61,-441,0,0,0,0,-76,-169,0, + 0,-391,0,0,0,-279,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-75,0,0,0,-272,0,0,0, + 0,0,0,0,-495,0,0,-530,0,0, + 0,0,0,-490,0,0,0,0,0,0, + 0,0,0,0,-448,0,0,0,0,-459, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-306, - 0,0,0,0,0,0,0,0,-57,0, - 0,0,0,0,0,0,0,0,0,-61, - -441,0,0,0,0,-76,-169,0,0,-391, - 0,0,0,-279,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-495,0,0,-530,0,0,0,0, - 0,-490,0,0,0,0,0,0,0,0, - 0,0,-448,0,0,0,0,-459,0,0, + 0,0,-82,-87,0,-88,0,0,0,0, + 0,-102,0,0,0,0,0,0,0,-209, + 0,0,-198,0,-281,0,0,-532,0,0, + 0,-103,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -513,0,0,0,0,-318,0,0,0,0, + 0,0,0,0,0,0,-118,0,0,0, + 0,0,0,0,0,-533,0,0,0,-516, 0,0,0,0,0,0,0,0,0,0, - -82,-87,0,-88,0,0,0,0,0,-102, - 0,0,0,0,0,0,0,-209,0,0, - -198,0,-281,0,0,-532,0,0,0,-103, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-513,0, - 0,0,0,-318,0,0,0,0,0,0, - 0,0,0,0,-118,0,0,0,0,0, - 0,0,0,-533,0,0,0,-516,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-104,-107,0,0,0,0, + 0,0,0,-291,0,0,-542,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-105, + -84,0,0,0,0,0,0,0,-319,0, + 0,0,0,0,0,-110,-119,0,0,0, + 0,0,0,0,-152,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-104,-107,0,0,0,0,0,0, - 0,-291,0,0,-542,0,0,0,0,0, + 0,0,0,0,0,0,0,-525,0,0, + 0,0,-120,0,0,0,0,0,0,0, + 0,0,0,-106,-108,0,0,-357,0,0, + 0,0,-231,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-105,-84,0, - 0,0,0,0,0,0,-319,0,0,0, - 0,0,0,-110,-119,0,0,0,0,0, - 0,0,-152,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-327,-363,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-525,0,0,0,0, - -120,0,0,0,0,0,0,0,0,0, - 0,-106,-108,0,0,-357,0,0,0,0, - -231,0,0,0,0,0,0,0,0,0, + 0,-124,-389,0,0,-358,0,0,0,0, + -254,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-327,-363,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-124, - -389,0,0,-358,0,0,0,0,-254,0, + 0,0,0,0,-408,0,0,0,-531,0, + 0,0,-109,0,0,0,0,0,0,-131, + -132,0,0,0,0,-137,0,0,0,-255, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-408,0,0,0,-531,0,0,0, - -109,0,0,0,0,0,0,-131,-132,0, - 0,0,0,-137,0,0,0,-255,0,0, + 0,0,-526,0,0,0,0,-113,0,0, + 0,0,0,0,0,0,0,0,-135,0, + 0,0,0,-165,0,0,0,-256,0,0, + 0,-417,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -570,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-136,-426,0,0, + 0,0,0,0,0,-257,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -526,0,0,0,0,-113,0,0,0,0, - 0,0,0,0,0,0,-135,0,0,0, - 0,-165,0,0,0,-256,0,0,0,-417, + 0,0,0,0,0,0,0,0,-649,-139, + -117,-588,0,-485,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-400,0, + 0,0,0,-258,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-570,0, + 0,0,0,0,0,0,-138,0,-360,-608, + 0,0,0,0,0,-392,0,0,0,0, + 0,0,0,0,0,0,-125,-172,-492,0, + 0,-259,0,0,0,-427,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-136,-426,0,0,0,0, - 0,0,0,-257,0,0,0,0,0,0, + 0,0,0,0,-179,-269,-387,-632,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-649,-139,-117,-588, - 0,-485,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-400,0,0,0, - 0,-258,0,0,0,0,0,0,0,0, + 0,-126,0,0,0,0,0,0,0,-260, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-138,0,-360,-608,0,0, - 0,0,0,-392,0,0,0,0,0,0, - 0,0,0,0,-125,-172,-492,0,0,-259, - 0,0,0,-427,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-179,-269,-387,-632,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-126, - 0,0,0,0,0,0,0,-260,0,0, + 0,0,-471,0,0,0,0,-180,0,0, + 0,0,0,0,0,0,0,0,0,-189, + 0,0,0,0,-482,0,0,-261,0,0, + 0,-127,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-470,0,0,-228,0,0,0,0, + 0,0,0,0,0,0,-190,-191,0,0, + 0,0,0,0,0,-262,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -471,0,0,0,0,-180,0,0,0,0, - 0,0,0,0,0,0,0,-189,0,0, - 0,0,-482,0,0,-261,0,0,0,-127, 0,0,0,0,0,0,0,0,0,0, + -493,0,0,-268,0,0,0,0,0,0, + 0,0,0,0,-230,-232,0,0,-573,-267, + -506,0,0,-263,0,0,0,-507,0,0, 0,0,0,0,0,0,0,0,0,0, - -470,0,0,-228,0,0,0,0,0,0, - 0,0,0,0,-190,-191,0,0,0,0, - 0,0,0,-262,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-553,0, + 0,0,0,0,0,-128,0,0,0,0, + 0,0,-286,-288,0,0,-140,-142,0,0, + 0,-264,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-493,0, - 0,-268,0,0,0,0,0,0,0,0, - 0,0,-230,-232,0,0,-573,-267,-506,0, - 0,-263,0,0,0,-507,0,0,0,0, + 0,0,0,0,0,0,-143,0,0,-300, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-553,0,0,0, - 0,0,0,-128,0,0,0,0,0,0, - -286,-288,0,0,-140,-142,0,0,0,-264, + -302,-304,0,0,0,0,-144,0,0,-415, + 0,0,0,-145,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-454,0,0,0,0,-347,0,0, + 0,0,0,0,0,0,0,0,-146,-543, + 0,0,-472,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-143,0,0,-300,0,0, - 0,0,0,0,0,0,0,0,-302,-304, - 0,0,0,0,-144,0,0,-415,0,0, - 0,-145,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-60,0,0, + -611,0,0,0,-147,0,0,0,0,0, + 0,-388,-435,0,0,0,-312,0,0,0, + 0,0,0,0,-473,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -454,0,0,0,0,-347,0,0,0,0, - 0,0,0,0,0,0,-146,-543,0,0, - -472,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-222,0,-274, + -326,0,-402,0,0,0,0,0,0,0, + 0,0,0,-313,-455,0,0,-148,0,-149, + 0,0,-475,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-60,0,0,-611,0, - 0,0,-147,0,0,0,0,0,0,-388, - -435,0,0,0,-312,0,0,0,0,0, - 0,0,-473,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-403,0,-314,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-222,0,-274,-326,0, - -402,0,0,0,0,0,0,0,0,0, - 0,-313,-455,0,0,-148,0,-149,0,0, - -475,0,0,0,0,0,0,0,0,0, + 0,-581,-582,0,0,0,0,-539,0,0, + 0,-46,0,0,-583,0,-476,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-403,0,-314,0,0,0, - 0,0,0,0,0,0,0,0,0,-581, - -582,0,0,0,0,-539,0,0,0,-46, - 0,0,-583,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,-433,0, + -433,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-555,0,0,0,0, + 0,0,0,0,-626,0,0,0,-603,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-555,0,0,0,0,0,0, - 0,0,-626,0,0,0,-603,0,0,0, + 0,0,0,0,0,0,0,-453,0,0, + -150,0,0,0,0,0,-451,0,0,0, + 0,0,0,-629,0,0,0,0,0,-591, + 0,0,-494,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-453,0,0,-150,0, - 0,0,0,0,-451,0,0,0,0,0, - 0,-629,0,0,0,0,0,-591,0,0, - -494,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-599,0,0,0,0, + -612,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-545,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,-527,0,0,0,-151,0,0, + 0,0,0,0,-440,-552,0,0,0,-329, + 0,0,0,0,0,-341,-617,-546,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-621,0,-452,0,0,0,0, + 0,0,0,0,0,0,0,-153,0,0, + -557,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-166,0,0,0, + 0,0,-167,0,0,0,0,0,0,-595, + 0,0,0,-458,0,-330,-336,0,-36,0, + 0,0,-613,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, + -567,0,0,0,-177,0,0,0,0,0, + 0,-22,0,0,0,-7,0,0,0,0, + 0,0,-597,0,0,0,-340,0,0,0, + -351,-394,0,0,0,0,0,0,0,0, + 0,0,0,-396,-41,0,0,0,0,0, + 0,0,0,0,0,0,0,-29,0,0, + -467,-509,0,0,0,0,-199,0,0,0, + 0,0,0,-645,-193,0,0,0,0,-390, + 0,0,0,0,0,-398,-598,0,0,0, + 0,0,0,0,0,-42,0,0,0,0, + 0,0,0,0,0,0,0,0,-477,-646, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-599,0,0,0,0,-612,0, + 0,0,0,0,0,0,0,0,-399,-465, + -285,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-586,-623,0,0,0, + -276,-654,0,0,0,0,0,0,0,-83, + 0,0,0,0,-464,-282,0,0,0,-412, + 0,0,0,0,0,0,0,0,0,-633, + 0,0,0,0,0,0,-287,-292,-294,0, + 0,0,0,0,-650,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-545,0,0,0,0,0,0, + 0,-266,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-80,0,0,0, - 0,-527,0,0,0,-151,0,0,0,0, - 0,0,-440,-552,0,0,0,-329,0,0, - 0,0,0,-341,-617,-546,0,0,0,0, + 0,0,0,0,0,-607,-307,0,0,-99, 0,0,0,0,0,0,0,0,0,0, + -122,0,0,0,0,0,-308,-69,-310,0, 0,0,0,0,0,0,0,0,0,0, - 0,-621,0,-452,0,0,0,0,0,0, - 0,0,0,0,0,-153,0,0,-557,0, + 0,-320,-321,0,0,0,0,-540,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-431,0,0,0,0,0,-322, + 0,0,-200,-618,0,-331,0,0,0,0, + 0,0,-401,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-166,0,0,0,0,0, - -167,0,0,0,0,0,0,-595,0,0, - 0,-458,0,-330,-336,0,-36,0,0,0, - -613,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,-567,0, - 0,0,-177,0,0,0,0,0,0,-22, - 0,0,0,-7,0,0,0,0,0,0, - -597,0,0,0,-340,0,0,0,-351,-394, + 0,0,0,0,-332,0,0,0,0,-333, + -334,0,0,-640,0,0,0,0,0,0, + 0,-343,0,0,-442,0,-345,0,0,0, + 0,0,0,-346,-529,-564,0,0,0,0, + -348,0,0,0,0,0,0,0,0,0, + 0,-479,0,0,0,-480,0,0,0,-253, 0,0,0,0,0,0,0,0,0,0, - 0,-396,-41,0,0,0,0,0,0,0, - 0,0,0,0,0,-29,0,0,-467,-509, - 0,0,0,0,-199,0,0,0,0,0, - 0,-645,-193,0,0,0,0,-390,0,0, - 0,0,0,-398,-598,0,0,0,0,0, - 0,0,0,-42,0,0,0,0,0,0, - 0,0,0,0,0,0,-477,-646,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-399,-465,-285,0, + 0,0,0,0,-349,-352,0,0,0,0, + 0,-354,0,0,0,0,0,-38,0,0, + 0,-355,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-586,-623,0,0,0,-276,-654, - 0,0,0,0,0,0,0,-83,0,0, - 0,0,-464,-282,0,0,0,-412,0,0, - 0,0,0,0,0,0,0,-633,0,0, - 0,0,0,0,-287,-292,-294,0,0,0, - 0,0,-650,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-266, + 0,0,-251,0,0,0,-541,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-356,-365,0,-366,0, + -510,0,0,0,-367,0,0,0,0,-252, + 0,0,0,-368,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-607,-307,0,0,-99,0,0, - 0,0,0,0,0,0,0,0,-122,0, - 0,0,0,0,-308,-69,-310,0,0,0, - 0,0,0,0,0,0,0,0,0,-320, - -321,0,0,0,0,-540,0,0,0,0, + 0,0,0,-315,-58,-514,0,0,0,0, + 0,-369,0,0,0,0,0,-515,-528,0, + -641,0,0,0,-370,-614,-559,0,0,0, + 0,0,-568,-371,-194,-572,0,0,0,0, + -562,-589,0,0,-372,0,-373,0,0,0, + 0,0,0,-374,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-425,0,-413, + -375,0,0,0,-560,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-376,0, + 0,0,0,0,0,0,-377,0,0,-311, + 0,0,0,-642,0,0,0,0,0,0, + -635,-378,0,-379,0,0,-380,0,0,-566, + 0,0,0,0,-381,0,0,0,0,0, + 0,0,0,-382,0,0,0,0,0,-383, + 0,0,0,0,-16,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-431,0,0,0,0,0,-322,0,0, - -200,-618,0,-331,0,0,0,0,0,0, - -401,0,0,0,0,0,0,0,0,0, + 0,0,-535,0,0,0,0,0,0,0, + 0,0,0,0,0,-609,-224,-631,-638,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-332,0,0,0,0,-333,-334,0, - 0,-640,0,0,0,0,0,0,0,-343, - 0,0,-442,0,-345,0,0,0,0,0, - 0,-346,-529,-564,0,0,0,0,-348,0, - 0,0,0,0,0,0,0,0,0,-479, - 0,0,0,-480,0,0,0,-253,0,0, + -569,-210,-647,-384,-385,0,0,-386,-518,-393, + -409,-31,0,-577,0,0,-410,0,-578,-296, 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,0,-579, + 0,-580,-615,0,-604,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-416, + -418,-419,0,0,0,0,0,0,0,0, + 0,0,-420,0,0,0,0,0,0,0, + 0,0,-616,-92,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-349,-352,0,0,0,0,0,-354, - 0,0,0,0,0,-38,0,0,0,-355, + 0,0,0,0,0,0,-421,0,0,0, + 0,0,0,-630,0,0,0,-423,-436,-443, + 0,-248,0,0,0,-444,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-634,0,-636,-445,0,-422, + 0,0,0,0,0,0,-544,0,0,0, + 0,0,0,0,0,0,0,0,0,-446, + -460,-461,0,0,0,-468,0,0,0,0, + 0,0,0,-469,-484,-486,0,-637,0,0, + -496,-498,-499,0,0,-504,-508,0,0,0, + 0,0,0,0,-522,0,0,0,0,0, + -644,0,0,-317,0,0,-497,0,-655,0, + 0,-651,0,0,0,0,-523,0,0,-524, + -550,-551,0,0,-565,0,0,0,0,0, + 0,0,0,-571,0,0,-574,-265,-584,0, + 0,0,-585,0,-587,0,0,-590,-601,-610, + 0,0,-620,-622,0,0,-627,0,0,0, + 0,0,0,0,0,0,0,-639,0,0, + -652,0,-500,0,-511,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -251,0,0,0,-541,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-356,-365,0,-366,0,-510,0, - 0,0,-367,0,0,0,0,-252,0,0, - 0,-368,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-315,-58,-514,0,0,0,0,0,-369, - 0,0,0,0,0,-515,-528,0,-641,0, - 0,0,-370,-614,-559,0,0,0,0,0, - -568,-371,-194,-572,0,0,0,0,-562,-589, - 0,0,-372,0,-373,0,0,0,0,0, - 0,-374,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-425,0,-413,-375,0, - 0,0,-560,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-376,0,0,0, - 0,0,0,0,-377,0,0,-311,0,0, - 0,-642,0,0,0,0,0,0,-635,-378, - 0,-379,0,0,-380,0,0,-566,0,0, - 0,0,-381,0,0,0,0,0,0,0, - 0,-382,0,0,0,0,0,-383,0,0, - 0,0,-16,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -535,0,0,0,0,0,0,0,0,0, - 0,0,0,-609,-224,-631,-638,0,0,0, - 0,0,0,0,0,0,0,0,-569,-210, - -647,-384,-385,0,0,-386,-518,-393,-409,-31, - 0,-577,0,0,-410,0,-578,-296,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,0,-579,0,-580, - -615,0,-604,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-416,-418,-419, + 0,0,0,0,0,0,0,0,-556,0, + 0,0,0,-8,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,0, - -616,-92,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-173,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-421,0,0,0,0,0, - 0,-630,0,0,0,-423,-436,-443,0,-248, - 0,0,0,-444,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-634,0,-636,-445,0,-422,0,0, - 0,0,0,0,-544,0,0,0,0,0, - 0,0,0,0,0,0,0,-446,-460,-461, - 0,0,0,-468,0,0,0,0,0,0, - 0,-469,-484,-486,0,-637,0,0,-496,-498, - -499,0,0,-504,-508,0,0,0,0,0, - 0,0,-522,0,0,0,0,0,-644,0, - 0,-317,0,0,-497,0,-655,0,0,-651, - 0,0,0,0,-523,0,0,-524,-550,-551, - 0,0,-565,0,0,0,0,0,0,0, - 0,-571,0,0,-574,-265,-584,0,0,0, - -585,0,-587,0,0,-590,-601,-610,0,0, - -620,-622,0,0,-627,0,0,0,0,0, - 0,0,0,0,0,-639,0,0,-652,0, - -500,0,-511,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-558,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-491,0,0,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, - 0,0,0,0,0,0,-556,0,0,0, - 0,-8,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-173,0,0,0,0,0,0, + -600,0,0,0,0,-201,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-519,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-225,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-558,0,0,0,0,0,0,0, + 0,0,0,0,-520,0,-602,0,0,0, + 0,0,0,-32,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-491, - 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,0,0, - 0,0,0,0,0,0,0,0,-600,0, - 0,0,0,-201,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-519,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-225,0,0,0,0,0,0,0,0, + -521,0,-606,0,0,0,0,0,0,-432, 0,0,0,0,0,0,0,0,0,0, - 0,0,-520,0,-602,0,0,0,0,0, - 0,-32,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,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,0, - -606,0,0,0,0,0,0,-432,0,0, + 0,0,0,0,0,0,0,0,-643,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,0,0,0,0,0, + 0,0,0,-33,0,0,0,0,0,0, + 0,0,-575,0,-653,0,0,0,0,0, + 0,0,0,-158,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-643,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,0,0,0,0,0,0,0, - 0,-33,0,0,0,0,0,0,0,0, - -575,0,-653,0,0,0,0,0,0,0, - 0,-158,0,0,0,0,0,0,0,0, + 0,0,0,0,-154,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-605,0,0,0,0,0,0, + 0,0,0,-275,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-154,0,0,0,0,0,0,0, + 0,-249,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, 0,0,0,0,0,0,0,0,0,0, - 0,-605,0,0,0,0,0,0,0,0, - 0,-275,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-250,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-249, 0,0,0,0,0,0,0,0,0,0, + 0,-215,0,0,0,0,0,0,0,-549, 0,0,0,0,0,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,0,0,0,0,0,0,0, - 0,0,0,-250,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-478,0, 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,-549,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,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,0,0,0, - 0,0,0,0,0,0,-478,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-241,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-240,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, - -241,0,0,0,0,0,0,0,0,0, + 0,0,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,0,-242,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,0,0,0,0,0, - 0,0,0,0,-243,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,-244,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-353,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-462,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-245,0, + 0,0,-85,0,0,0,0,-49,0,0, + 0,0,0,0,0,-237,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-1,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -353,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-462,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -85,0,0,0,0,-49,0,0,0,0, - 0,0,0,-237,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-1, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-270,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,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,-270,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-247,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,-39,0,0,0,0,0,0,0,0, + 0,-37,0,0,0,0,0,0,0,0, + 0,0,0,-277,0,0,0,0,-14,0, 0,0,0,0,0,0,0,0,0,0, + 0,-70,0,0,0,0,0,0,0,0, + -175,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,-247,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-39, - 0,0,0,0,0,0,0,0,0,-37, 0,0,0,0,0,0,0,0,0,0, - 0,-277,0,0,0,0,-14,0,0,0, - 0,0,0,0,0,0,0,0,0,-70, - 0,0,0,0,0,0,0,0,-175,0, - 0,0,0,0,0,0,-114,0,0,0, + 0,0,0,0,0,0,0,-301,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-301,0,0,0,0, + 0,0,0,0,-157,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-220, 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,-78,0, 0,0,0,0,0,0,0,0,0,0, + 0,-547,-226,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,-220,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,-78,0,0,0, - 0,0,0,0,0,0,0,0,0,-547, - -226,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-100,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-100,0,0,0,0,0,0, + 0,0,0,-227,0,0,0,0,0,0, + -284,0,0,0,0,0,0,0,0,0, + -594,0,0,0,-30,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-227,0,0,0,0,0,0,-284,0, - 0,0,0,0,0,0,0,0,-594,0, - 0,0,-30,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-235, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-235,0,0, + 0,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,0,0,0,0,0,0,-236,0,0, + 0,0,0,-361,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,-361,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,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,0,0,-68,0,0,0,0, + 0,0,0,0,-176,0,0,0,0,0, + 0,0,-115,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-176,0,0,0,0,0,0,0, - -115,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-238,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-238,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, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-239,0,0, + 0,0,0,-12,0,-503,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-15, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-12,0,-503,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-15,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-52,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-52,0,0,0,0,0,0,0, + 0,-186,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-293, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-186, + 0,0,0,0,0,-53,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-293,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-53,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, + -55,-214,0,0,0,0,0,0,0,0, 0,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,-55,-214, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,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,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, - 0,0,0,0,-93,0,0,0,0,0, + 0,0,-95,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-94,0,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,0,-97,0, 0,0,0,0,0,0,0,0,0,0, - -95,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-96,0,0,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,0,-97,0,0,0, + 0,0,0,0,-101,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-98, + 0,0,0,0,0,0,0,-133,0,0, + 0,0,0,-161,0,0,0,0,0,0, + 0,0,0,-134,0,0,0,0,0,-159, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-101,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-133,0,0,0,0, - 0,-161,0,0,0,0,0,0,0,0, - 0,-134,0,0,0,0,0,-159,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-487,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-487, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-196, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-233,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-196,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,0,-364,0, 0,0,0,0,0,0,0,0,0,0, - -233,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-234,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,-364,0,0,0, + 0,0,0,0,-466,0,0,0,0,-90, 0,0,0,0,0,0,0,0,0,0, - 0,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,-466,0,0,0,0,-90,0,0, + 0,0,0,0,0,-298,0,0,0,-299, + 0,0,0,-548,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-298,0,0,0,-299,0,0, - 0,-548,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -91,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,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,0,0,0,0,0,-91,0, + 0,0,0,0,-534,0,0,0,0,0, + -168,-297,0,0,0,0,0,-205,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -325,0,0,0,0,0,0,0,0,0, + 0,0,0,-430,0,0,0,0,0,0, + 0,0,0,0,0,0,-187,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-534,0,0,0,0,0,-168,-297, - 0,0,0,0,0,-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,-430,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,0,0,0,0, + -188,0,-437,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,-316,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-188,0, - -437,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,-316,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-463,0, + 0,0,0,0,-517,0,0,0,0,0, + 0,-576,0,0,0,0,0,0,0,-593, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-463,0,0,0, - 0,0,-517,0,0,0,0,0,0,-576, - 0,0,0,0,0,0,0,-593,0,0, + 0,0,0,0,0,0,0,0,-71,0, + 0,0,0,0,0,-116,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,-181,0,0,0,0,-229,0,0, + 0,0,0,0,-324,0,0,0,0,0, + -563,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-71,0,0,0, - 0,0,0,-116,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, - -181,0,0,0,0,-229,0,0,0,0, - 0,0,-324,0,0,0,0,0,-563,0, 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,-344,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-216,0, + -554,0,0,0,0,-596,0,0,0,0, + 0,0,-624,0,0,0,0,-625,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,0,0,0,0,0,0, + -290,0,0,0,0,0,0,0,0,-271, 0,0,0,0,0,0,0,0,0,0, - -338,0,0,0,0,0,0,0,0,0, - 0,0,-344,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-216,0,-554,0, - 0,0,0,-596,0,0,0,0,0,0, - -624,0,0,0,0,-625,0,0,0,0, - 0,0,0,0,0,0,0,-536,0,0, + 0,-203,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-434,0,0, + 0,0,-456,0,0,-449,0,0,0,0, + 0,0,0,0,-501,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-204, + -502,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,0,0, - 0,0,0,0,0,0,0,0,-290,0, - 0,0,0,0,0,0,0,-271,0,0, - 0,0,0,0,0,0,0,0,0,-203, + 0,0,-439,-537,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-538,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-434,0,0,0,0, - -456,0,0,-449,0,0,0,0,0,0, - 0,0,-501,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-204,-502,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,0,0,0,0, - -439,-537,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-538,0,0,0,0, + -657,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-657,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,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; @@ -794,822 +795,822 @@ public class XlcCPPParserprs implements lpg.lpgjavaruntime.ParseTable, XlcCPPPar 106,106,203,203,99,233,233,86,86,86, 86,86,86,86,86,86,87,87,87,84, 84,65,65,204,204,88,88,88,120,120, - 205,205,89,89,89,206,206,90,90,90, - 90,90,91,91,93,93,93,93,93,93, - 93,93,56,56,56,56,56,121,121,119, - 119,57,207,28,28,28,28,28,53,53, - 77,77,77,77,77,107,107,122,122,122, - 122,122,123,123,123,124,124,124,125,125, - 125,126,126,126,78,78,78,78,78,79, - 79,79,13,14,14,14,14,14,14,14, - 14,14,14,14,98,111,111,111,111,111, - 111,109,109,109,172,173,173,110,110,208, - 175,175,174,174,147,147,127,82,82,148, - 59,52,176,176,60,95,95,149,149,171, - 171,128,129,129,130,76,76,177,177,71, - 71,71,67,67,66,72,72,96,96,75, - 75,75,70,100,100,114,113,113,61,61, - 68,68,69,69,50,115,115,115,101,101, - 101,102,102,103,103,103,104,104,131,131, - 131,133,133,132,132,234,234,105,105,210, - 210,210,210,210,151,51,51,179,209,209, - 152,152,153,153,153,154,181,211,211,44, - 44,108,116,116,116,116,213,135,134,134, - 112,112,112,182,183,183,183,183,183,183, - 183,183,183,183,183,215,215,212,212,214, - 214,137,138,138,138,138,139,216,140,136, - 136,217,217,184,184,184,184,118,118,118, - 218,218,8,8,9,219,219,220,185,178, - 178,186,186,187,188,188,7,7,10,221, + 205,205,89,89,89,89,206,206,90,90, + 90,90,90,91,91,93,93,93,93,93, + 93,93,93,56,56,56,56,56,121,121, + 119,119,57,207,28,28,28,28,28,53, + 53,77,77,77,77,77,107,107,122,122, + 122,122,122,123,123,123,124,124,124,125, + 125,125,126,126,126,78,78,78,78,78, + 79,79,79,13,14,14,14,14,14,14, + 14,14,14,14,14,98,111,111,111,111, + 111,111,109,109,109,172,173,173,110,110, + 208,175,175,174,174,147,147,127,82,82, + 148,59,52,176,176,60,95,95,149,149, + 171,171,128,129,129,130,76,76,177,177, + 71,71,71,67,67,66,72,72,96,96, + 75,75,75,70,100,100,114,113,113,61, + 61,68,68,69,69,50,115,115,115,101, + 101,101,102,102,103,103,103,104,104,131, + 131,131,133,133,132,132,234,234,105,105, + 210,210,210,210,210,151,51,51,179,209, + 209,152,152,153,153,153,154,181,211,211, + 44,44,108,116,116,116,116,213,135,134, + 134,112,112,112,182,183,183,183,183,183, + 183,183,183,183,183,183,215,215,212,212, + 214,214,137,138,138,138,138,139,216,140, + 136,136,217,217,184,184,184,184,118,118, + 118,218,218,8,8,9,219,219,220,185, + 178,178,186,186,187,188,188,7,7,10, 221,221,221,221,221,221,221,221,221,221, 221,221,221,221,221,221,221,221,221,221, 221,221,221,221,221,221,221,221,221,221, 221,221,221,221,221,221,221,221,221,221, - 221,80,83,83,189,189,156,156,157,157, - 157,157,157,157,3,158,158,155,155,141, - 141,94,81,92,180,180,142,142,222,222, - 222,159,159,150,150,223,223,23,23,23, - 43,43,24,24,224,224,190,190,190,191, - 191,225,225,192,192,25,25,226,226,193, - 193,193,193,26,62,227,227,228,228,194, - 194,194,160,160,160,19,19,19,19,33, - 33,42,17,87,229,143,143,143,117,117, - 28,58,77,130,130,130,137,137,137,208, - 213,135,70,76,172,148,13,13,61,94, - 94,94,14,14,14,69,69,63,39,161, - 162,162,162,162,162,162,162,162,162,196, - 196,231,231,230,230,195,195,54,61,56, - 56,1,1,235,96,96,96,96,96,96, - 96,197,198,198,183,1803,35,3358,3331,1429, - 6923,27,30,31,1263,1255,26,28,3330,262, - 23,25,50,2051,106,76,77,108,592,537, - 538,539,2496,4218,2545,2525,2587,3214,2552,2686, - 2623,2819,2688,2916,4133,1006,2976,143,529,274, - 5290,158,144,2758,35,1266,32,1715,7104,27, - 30,31,1263,1255,59,28,232,2453,35,3954, - 32,4454,5056,27,30,31,1263,1255,340,28, - 1926,617,235,230,231,2448,2484,2360,34,213, - 3999,537,538,539,2448,35,6558,6554,1555,35, - 1266,32,1600,275,41,30,31,1263,1255,1734, - 4748,3496,5250,242,245,248,251,5533,4025,3769, - 1949,1316,585,2448,35,2360,277,3070,860,3116, - 3770,4502,73,320,908,322,864,1521,315,698, - 2190,35,280,2192,325,5051,2835,4658,5260,4025, - 3769,2495,1877,35,3358,3331,1514,6923,27,30, - 31,1263,1255,26,28,3330,262,23,25,50, - 2051,106,76,77,108,592,537,538,539,2496, - 392,2545,2525,2587,429,2552,2686,2623,2819,2688, - 2916,1852,1414,2976,143,847,274,2176,158,144, - 1059,3572,2448,2449,6562,421,3953,2190,35,455, - 1554,377,6993,232,89,35,1266,32,4454,5056, - 27,30,31,1263,1255,340,28,545,3245,235, - 230,231,1555,592,537,538,539,540,537,538, - 539,2448,35,2360,279,3299,35,1266,32,402, - 275,1684,30,31,1263,1255,1344,5726,2752,5398, - 242,245,248,251,5533,290,229,3225,1316,585, - 1087,232,6659,619,3070,860,3116,3770,4502,2729, - 320,908,322,5413,997,315,698,244,230,231, - 3316,1723,2043,3775,182,5260,290,3011,2495,3521, - 35,1266,32,3074,5484,27,30,31,1263,1255, - 26,28,1963,262,23,25,50,2051,106,76, - 77,108,500,2257,3775,375,2496,344,2545,2525, - 2587,567,2552,2686,2623,2819,2688,2916,3133,4526, - 2976,143,307,311,1416,519,144,614,2131,3603, - 4588,35,1266,32,326,6981,27,30,31,1263, - 1255,57,28,683,391,2112,4523,1344,520,3521, - 35,1266,32,3074,5484,27,30,31,1263,1255, - 26,28,1963,262,23,25,50,2051,106,76, - 77,108,1995,448,3410,3415,2496,344,2545,2525, - 2587,5298,2552,2686,2623,2819,2688,2916,3133,318, - 2976,143,2190,35,280,519,144,7096,1521,3603, - 4720,35,1266,32,3668,6981,27,30,31,1263, - 1255,56,28,555,2448,35,296,1129,520,814, - 515,2758,35,1266,32,1013,7104,27,30,31, - 1263,1255,58,28,3295,3023,2283,3315,2835,3521, - 35,1266,32,3074,5484,27,30,31,1263,1255, - 26,28,1963,262,23,25,50,2051,106,76, - 77,108,2448,35,1227,390,2496,344,2545,2525, - 2587,1113,2552,2686,2623,2819,2688,2916,3133,445, - 2976,143,42,3317,2336,519,144,847,570,3603, - 515,3299,35,1266,32,61,324,40,30,31, - 1263,1255,1,3120,3429,533,274,3315,520,4067, - 35,1266,32,3074,5484,27,30,31,1263,1255, - 26,28,1963,262,23,25,50,2051,106,76, - 77,108,4020,35,1227,390,2496,344,2545,2525, - 2587,1571,2552,2686,2623,2819,2688,2916,3133,1129, - 2976,143,4918,35,278,519,144,1615,3011,3603, - 276,3705,35,1266,32,60,7104,27,30,31, - 1263,1255,26,28,558,2839,274,513,520,6302, - 515,3299,35,1266,32,1799,3225,2588,30,31, - 1263,1255,568,2344,3473,796,2845,3315,4149,35, - 1266,32,449,5484,27,30,31,1263,1255,26, - 28,1963,262,23,25,50,2051,106,76,77, - 108,3503,35,278,2107,2496,2835,2545,2525,2587, - 3998,2552,2686,2623,2819,2688,2916,2139,1518,2976, - 143,3503,35,281,380,144,2835,2432,2448,3965, - 516,3672,35,1266,32,402,5484,27,30,31, - 1263,1255,26,28,1963,262,23,25,50,2051, - 106,76,77,108,1006,847,2835,72,2496,6877, - 2545,2525,2587,305,2552,2686,2623,2819,2688,2916, - 5442,527,2976,143,1532,1519,1723,380,144,652, - 2432,1114,4819,35,1266,32,891,5484,27,30, - 31,1263,1255,26,28,1963,262,23,25,50, - 2051,106,76,77,108,847,1446,1346,462,2496, - 160,2545,2525,2587,449,2552,2686,2623,2819,2688, - 2916,377,1006,3209,164,73,2734,6898,2962,1532, - 387,381,2284,3829,35,1266,32,2483,5484,27, - 30,31,1263,1255,26,28,1963,262,23,25, - 50,2051,106,76,77,108,2448,35,2360,282, - 2496,3242,2545,2525,2587,2448,2552,2686,2623,2819, - 2688,2916,622,5536,2976,143,3025,1532,4133,380, - 144,425,2432,388,381,2284,2448,35,296,2736, - 3985,35,1266,32,4133,5484,27,30,31,1263, - 1255,26,28,1963,262,23,25,50,2051,106, - 76,77,108,156,4984,1680,2244,2496,162,2545, - 2525,2587,1161,2552,2686,2623,2819,2688,2916,73, - 73,2976,143,4144,1532,2964,553,144,2448,35, - 1227,390,4355,35,1266,32,543,5484,27,30, - 31,1263,1255,26,28,1963,262,23,25,50, - 2051,106,76,77,108,2448,35,2360,3973,2496, - 3413,2545,2525,2587,3415,2552,2686,2623,2819,2688, - 2916,3415,274,2976,143,378,381,2284,158,144, - 3429,35,1266,32,1308,5484,27,30,31,1263, - 1255,26,28,1963,262,23,25,50,2051,106, - 76,77,108,2331,393,2213,3837,2496,429,2545, - 2525,2587,221,2552,2686,2623,2819,2688,2916,304, - 395,3209,164,5298,429,313,341,3903,35,1266, - 32,2011,5484,27,30,31,1263,1255,26,28, - 1963,262,23,25,50,2051,106,76,77,108, - 2448,35,283,328,2496,556,2545,2525,2587,2835, - 2552,2686,2623,2819,2688,2916,3979,1706,2976,143, - 1611,3109,551,3138,144,6833,2033,3214,2495,2668, - 3606,35,1266,32,3415,5484,27,30,31,1263, - 1255,26,28,1963,262,23,25,50,2051,106, - 76,77,108,2448,3769,3444,3837,2496,2155,2545, - 2525,2587,4133,2552,2686,2623,2819,2688,2916,329, - 336,2976,143,2448,35,3995,3167,144,4355,35, - 1266,32,301,5484,27,30,31,1263,1255,26, - 28,1963,262,23,25,50,2051,106,76,77, - 108,1006,1997,644,1106,2496,6911,2545,2525,2587, - 1213,2552,2686,2623,2819,2688,2916,1706,5442,2976, - 143,2013,1532,3415,374,144,4355,35,1266,32, - 3243,5484,27,30,31,1263,1255,26,28,1963, - 262,23,25,50,2051,106,76,77,108,4051, - 35,2360,277,2496,3029,2545,2525,2587,160,2552, - 2686,2623,2819,2688,2916,5268,557,2976,143,335, - 336,564,374,144,4355,35,1266,32,3231,5484, - 27,30,31,1263,1255,26,28,1963,262,23, - 25,50,2051,106,76,77,108,323,394,1051, - 291,2496,429,2545,2525,2587,1161,2552,2686,2623, - 2819,2688,2916,3320,1006,2976,143,544,3245,6666, - 374,144,5275,93,3085,3985,35,1266,32,373, - 5484,27,30,31,1263,1255,26,28,1963,262, - 23,25,50,2051,106,76,77,108,3650,73, - 354,2491,2496,949,2545,2525,2587,3941,2552,2686, - 2623,2819,2688,2916,73,73,2976,143,1219,1019, - 406,553,144,3747,35,1266,32,372,5484,27, - 30,31,1263,1255,26,28,1963,262,23,25, - 50,2051,106,76,77,108,2448,4017,2360,74, - 2496,73,2545,2525,2587,1109,2552,2686,2623,2819, - 2688,2916,3717,1214,2976,143,3738,35,398,142, - 144,4355,35,1266,32,370,5484,27,30,31, - 1263,1255,26,28,1963,262,23,25,50,2051, - 106,76,77,108,2447,2426,3415,4015,2496,3309, - 2545,2525,2587,355,2552,2686,2623,2819,2688,2916, - 5268,1518,2976,143,3738,35,398,159,144,4355, - 35,1266,32,344,5484,27,30,31,1263,1255, - 26,28,1963,262,23,25,50,2051,106,76, - 77,108,499,3219,637,1671,2496,4076,2545,2525, - 2587,3942,2552,2686,2623,2819,2688,2916,73,73, - 2976,143,3745,4292,2835,155,144,552,4355,35, - 1266,32,652,5484,27,30,31,1263,1255,26, - 28,1963,262,23,25,50,2051,106,76,77, - 108,4051,35,2360,4021,2496,2212,2545,2525,2587, - 3944,2552,2686,2623,2819,2688,2916,73,1706,2976, - 143,5441,5184,2384,154,144,4355,35,1266,32, - 3415,5484,27,30,31,1263,1255,26,28,1963, - 262,23,25,50,2051,106,76,77,108,2448, - 35,2360,4028,2496,1773,2545,2525,2587,3952,2552, - 2686,2623,2819,2688,2916,73,3415,2976,143,5512, - 3610,336,153,144,4355,35,1266,32,179,5484, - 27,30,31,1263,1255,26,28,1963,262,23, - 25,50,2051,106,76,77,108,2835,3417,1687, - 3837,2496,5290,2545,2525,2587,2923,2552,2686,2623, - 2819,2688,2916,2443,198,2976,143,2013,2691,2244, - 152,144,4355,35,1266,32,2429,5484,27,30, - 31,1263,1255,26,28,1963,262,23,25,50, - 2051,106,76,77,108,1006,847,3225,4076,2496, - 6916,2545,2525,2587,3495,2552,2686,2623,2819,2688, - 2916,1706,526,2976,143,729,5268,3219,151,144, - 4355,35,1266,32,3415,5484,27,30,31,1263, - 1255,26,28,1963,262,23,25,50,2051,106, - 76,77,108,2835,2835,3225,4076,2496,563,2545, - 2525,2587,1251,2552,2686,2623,2819,2688,2916,1706, - 829,2976,143,331,336,653,150,144,4355,35, - 1266,32,197,5484,27,30,31,1263,1255,26, - 28,1963,262,23,25,50,2051,106,76,77, - 108,3415,2540,2630,298,2496,73,2545,2525,2587, - 768,2552,2686,2623,2819,2688,2916,1706,5268,2976, - 143,3746,336,5258,149,144,4355,35,1266,32, - 4064,5484,27,30,31,1263,1255,26,28,1963, - 262,23,25,50,2051,106,76,77,108,300, - 589,3225,384,2496,73,2545,2525,2587,5662,2552, - 2686,2623,2819,2688,2916,5268,5268,2976,143,3761, - 336,404,148,144,4355,35,1266,32,423,5484, - 27,30,31,1263,1255,26,28,1963,262,23, - 25,50,2051,106,76,77,108,582,24,3225, - 2784,2496,73,2545,2525,2587,2285,2552,2686,2623, - 2819,2688,2916,5268,5268,2976,143,4595,5268,3415, - 147,144,4355,35,1266,32,3415,5484,27,30, - 31,1263,1255,26,28,1963,262,23,25,50, - 2051,106,76,77,108,1996,6467,2198,297,2496, - 379,2545,2525,2587,1535,2552,2686,2623,2819,2688, - 2916,5240,3743,2976,143,2553,2552,201,146,144, - 4355,35,1266,32,199,5484,27,30,31,1263, - 1255,26,28,1963,262,23,25,50,2051,106, - 76,77,108,3102,560,2132,287,2496,73,2545, - 2525,2587,694,2552,2686,2623,2819,2688,2916,73, - 73,2976,143,1468,799,206,145,144,4819,35, - 1266,32,4074,5484,27,30,31,1263,1255,26, - 28,1963,262,23,25,50,2051,106,76,77, - 108,2448,35,1227,390,2496,73,2545,2525,2587, - 1606,2552,2686,2623,2819,2688,2916,418,3415,3209, - 164,4355,35,1266,32,440,5484,27,30,31, - 1263,1255,26,28,1963,262,23,25,50,2051, - 106,76,77,108,88,454,2035,102,2496,4261, - 2545,2525,2587,1875,2552,2686,2623,2819,2688,2916, - 73,4793,2976,143,1268,5268,408,581,144,541, - 537,538,539,4355,35,1266,32,3961,5484,27, - 30,31,1263,1255,26,28,1963,262,23,25, - 50,2051,106,76,77,108,402,578,402,402, - 2496,73,2545,2525,2587,1484,2552,2686,2623,2819, - 2688,2916,5268,5442,2976,143,502,1532,1206,140, - 144,4355,35,1266,32,3145,5484,27,30,31, - 1263,1255,26,28,1963,262,23,25,50,2051, - 106,76,77,108,576,73,1161,5268,2496,1712, - 2545,2525,2587,160,2552,2686,2623,2819,2688,2916, - 5442,5442,2976,143,1532,1532,5235,3336,144,461, - 5231,327,6490,3426,3309,4355,35,1266,32,87, - 5484,27,30,31,1263,1255,26,28,1963,262, - 23,25,50,2051,106,76,77,108,344,73, - 160,160,2496,4053,2545,2525,2587,3960,2552,2686, - 2623,2819,2688,2916,3225,3238,2976,143,4015,3587, - 929,3515,144,4489,35,1266,32,3415,5484,27, - 30,31,1263,1255,26,28,1963,262,23,25, - 50,2051,106,76,77,108,2345,35,455,602, - 2496,6993,2545,2525,2587,3645,2552,2686,2623,2819, - 2688,2916,3415,2838,2976,143,3811,3851,212,189, - 144,4819,35,1266,32,1463,5484,27,30,31, - 1263,1255,26,28,1963,262,23,25,50,2051, - 106,76,77,108,2448,35,1227,390,2496,5442, - 2545,2525,2587,1532,2552,2686,2623,2819,2688,2916, - 222,288,3209,164,4819,35,1266,32,70,5484, - 27,30,31,1263,1255,26,28,1963,262,23, - 25,50,2051,106,76,77,108,4388,433,160, - 1161,2496,1666,2545,2525,2587,1502,2552,2686,2623, - 2819,2688,2916,73,1513,3209,164,1828,5268,7014, - 541,537,538,539,402,3426,4819,35,1266,32, - 295,5484,27,30,31,1263,1255,26,28,1963, - 262,23,25,50,2051,106,76,77,108,444, - 69,458,212,2496,73,2545,2525,2587,2912,2552, - 2686,2623,2819,2688,2916,3913,3021,3209,164,4819, - 35,1266,32,424,5484,27,30,31,1263,1255, - 26,28,1963,262,23,25,50,2051,106,76, - 77,108,452,3410,3415,1313,2496,51,2545,2525, - 2587,2554,2552,2686,2623,2819,2688,2916,3114,383, - 3209,164,73,7009,5268,5268,2047,2161,35,1227, - 390,4951,35,1266,32,427,5484,27,30,31, - 1263,1255,26,28,1963,262,23,25,50,2051, - 106,76,77,108,524,1413,68,53,2496,1666, - 2545,2525,2587,2750,2552,2686,2623,2819,2688,2916, - 2032,49,3209,164,5017,35,1227,390,584,3027, - 71,1006,1754,239,262,5268,7021,237,262,5268, - 5268,1752,3204,592,537,538,539,592,537,538, - 539,1132,5268,2134,35,1266,32,4454,6884,27, - 30,31,1263,1255,340,28,1688,52,274,73, - 73,3022,573,7038,3059,1669,540,537,538,539, - 3679,232,3415,4988,542,232,2924,6792,402,592, - 537,538,539,382,5268,1006,5761,240,230,231, - 7026,235,230,231,3780,35,1266,32,4454,5056, - 27,30,31,1263,1255,340,28,402,4523,320, - 908,322,275,2189,315,698,562,232,333,3316, - 193,5250,242,245,248,251,5533,5268,3915,2298, - 1316,585,3309,247,230,231,3070,860,3116,3770, - 4502,524,432,5307,3466,2448,35,1227,390,3997, - 4523,646,592,537,538,539,5021,5260,1735,561, - 320,908,322,2859,2309,315,698,3309,4788,353, - 1815,307,311,1416,345,1907,1804,350,4727,3294, - 645,541,537,538,539,1745,1329,4144,616,436, - 232,5021,2096,3863,35,1266,32,6827,5056,27, - 30,31,1263,1255,340,28,235,230,231,1059, - 4819,35,1266,32,1564,5484,27,30,31,1263, - 1255,26,28,1963,262,23,25,50,2051,106, - 76,77,108,507,4363,629,5519,2496,2930,2545, - 2525,2587,655,2552,2686,2623,2819,2688,3766,5129, - 35,1227,390,3668,3027,2649,2288,1506,357,320, - 908,322,237,262,315,698,344,533,362,528, - 2400,5378,592,537,538,539,402,3133,156,540, - 537,538,539,2396,505,506,525,847,3603,353, - 629,619,5268,274,345,1907,1804,350,5361,4683, - 356,73,3836,2395,1222,655,3309,2348,529,533, - 232,2267,35,3954,32,4454,6884,27,30,31, - 1263,1255,340,28,351,632,235,230,231,344, - 344,44,3317,1322,540,537,538,539,2046,2195, - 3133,156,3738,35,398,89,3024,275,102,647, - 2666,3603,3747,5268,717,2562,5398,242,245,248, - 251,5533,2024,73,73,1316,585,2190,3813,3132, - 2928,3070,860,3116,3770,4502,525,320,908,322, - 5268,2189,315,698,5250,90,333,2192,4819,35, - 1266,32,5260,5484,27,30,31,1263,1255,26, - 28,1963,262,23,25,50,2051,106,76,77, - 108,5307,574,3238,2312,2496,547,2545,2525,2587, - 3124,2552,2686,2623,2819,3708,4555,35,1266,32, - 3978,5484,27,30,31,1263,1255,26,28,1963, - 262,23,25,50,2051,588,76,77,6350,421, - 3953,4819,35,1266,32,402,5484,27,30,31, - 1263,1255,26,28,1963,262,23,25,50,2051, - 106,76,77,108,4146,306,4049,406,2496,5268, - 2545,2525,2587,3016,2552,2686,2623,3693,4819,35, - 1266,32,3394,5484,27,30,31,1263,1255,26, - 28,1963,262,23,25,50,2051,106,76,77, - 108,3601,435,68,5268,2496,655,2545,2525,2587, - 4034,2552,2686,3702,3956,2353,5268,5268,648,2448, - 35,1227,390,421,402,5268,540,537,538,539, - 228,73,618,5541,73,2238,4012,6792,2619,5268, - 73,782,156,621,1016,712,2616,2120,3604,453, - 180,847,818,203,215,4122,640,4249,202,212, - 213,214,216,435,591,639,5276,169,135,821, - 1532,4315,655,3969,35,1266,32,4454,5056,27, - 30,31,1263,1255,340,28,168,3596,183,167, - 170,171,172,173,174,4059,228,97,2448,35, - 1227,390,2448,35,1227,390,156,782,156,402, - 802,2456,5175,2120,200,5177,180,847,5268,203, - 215,4122,640,902,202,212,213,214,216,353, - 591,639,2155,169,345,1907,1804,350,2036,320, - 908,322,49,73,315,698,434,1532,343,4027, - 4381,2064,168,46,184,167,170,171,172,173, - 174,2001,35,1266,32,181,6884,27,30,31, - 1263,1255,340,28,73,5425,73,5543,2286,3309, - 3168,3253,98,156,540,537,538,539,1670,5268, - 73,73,3307,3713,1532,3210,3500,73,132,2480, - 2399,1532,5268,5021,5154,3714,3638,5268,3813,35, - 1266,32,3371,5056,27,30,31,1263,1255,340, - 28,3744,4136,592,537,538,539,320,908,322, - 156,2189,316,698,67,2934,334,156,5268,66, - 5268,5268,3772,3554,35,1266,32,4454,5056,27, - 30,31,1263,1255,340,28,405,353,4138,235, - 2672,232,347,1907,1804,350,540,537,538,539, - 65,2767,64,55,317,1371,322,250,230,231, - 361,5268,4819,35,1266,32,5726,5484,27,30, - 31,1263,1255,26,28,1963,262,23,25,50, - 2051,106,76,77,85,2860,3089,3474,3480,320, - 908,322,5268,54,315,698,3015,5458,3037,3316, - 4819,35,1266,32,3462,5484,27,30,31,1263, - 1255,26,28,1963,262,23,25,50,2051,106, - 76,77,108,5268,3132,5268,3599,2496,535,2545, - 2525,2587,655,2552,3680,3326,35,3954,32,4454, - 5056,27,30,31,1263,1255,340,28,3821,2834, - 3209,307,311,1416,3977,101,228,1296,540,537, - 538,539,4992,4404,131,916,5268,782,156,335, - 4986,1019,2096,2120,914,5323,180,847,4748,203, - 215,4122,640,4184,202,212,213,214,216,5268, - 591,639,5237,169,2832,635,4388,5444,2187,655, - 5544,320,908,322,3074,4362,315,698,1684,2468, - 4079,2192,168,4496,3964,167,170,171,172,173, - 174,4513,5475,228,352,4220,1229,4328,344,531, - 1532,2424,532,4628,782,156,4188,5348,4694,3133, - 2120,2962,3508,180,847,1529,203,215,4122,640, - 3603,202,212,213,214,216,4760,591,639,5439, - 169,735,8285,5425,8285,655,156,3309,8285,535, - 8285,3763,6848,421,3953,8285,8285,8285,8285,168, - 8285,178,167,170,171,172,173,174,353,228, - 8285,5021,8285,345,1907,1804,350,8285,8285,8285, - 782,156,8285,8285,8285,8285,2120,3352,8285,180, - 847,8285,203,215,4122,640,8285,202,212,213, - 214,216,8285,591,639,8285,169,835,8285,8285, - 8285,655,3587,35,1266,32,3103,5056,27,30, - 31,1263,1255,340,28,168,8285,176,167,170, - 171,172,173,174,1951,228,8285,8285,3309,7059, - 8285,8285,8285,8285,8285,8285,782,156,361,8285, - 3762,8285,2120,8285,8285,180,847,8285,203,215, - 4122,640,228,202,212,213,214,216,8285,591, - 639,8285,169,935,3759,3474,3480,655,317,1371, - 322,8285,8285,8285,8285,1872,409,3778,654,8285, - 8285,168,8285,583,167,170,171,172,173,174, - 3114,228,8285,3987,8285,7009,2930,8285,8285,8285, - 655,8285,782,156,410,411,412,752,2120,8285, - 8285,180,847,8285,203,215,4122,640,8285,202, - 212,213,214,216,344,591,639,8285,169,1035, - 8285,8285,8285,655,73,3133,156,8285,3074,8285, - 8285,2396,3246,8285,8285,847,3603,168,8285,177, - 167,170,171,172,173,174,73,228,8285,8285, - 1532,2395,344,8285,8285,2444,8285,8285,782,156, - 8285,8285,3915,3133,2120,8285,3309,180,847,916, - 203,215,4122,640,3603,202,212,213,214,216, - 8285,591,639,73,169,1135,156,1532,8285,655, - 5021,3777,1601,3364,8285,8285,413,415,2924,8285, - 8285,8285,8285,168,8285,187,167,170,171,172, - 173,174,8285,228,8285,540,537,538,539,8285, - 8285,8285,8285,156,782,156,917,8285,3808,6660, - 2120,8285,8285,180,847,3218,203,215,4122,640, - 8285,202,212,213,214,216,8285,591,639,73, - 169,1235,8285,1532,8285,655,8285,8285,2661,8285, - 8285,8285,3309,6308,431,8285,8285,507,8285,168, - 8285,4035,167,170,171,172,173,174,8285,228, - 8285,540,537,538,539,8285,5021,8285,8285,156, - 782,156,8285,8285,3810,8285,2120,4000,8285,180, - 847,4522,203,215,4122,640,8285,202,212,213, - 214,216,8285,591,639,8285,169,1335,504,506, - 8285,655,8285,8285,1685,8285,8285,8285,2189,6308, - 8285,8285,8285,333,8285,168,8285,192,167,170, - 171,172,173,174,8285,228,8285,540,537,538, - 539,3490,8285,8285,8285,8285,782,156,6692,8285, - 8285,8285,2120,361,1751,180,847,4522,203,215, - 4122,640,2535,202,212,213,214,216,8285,591, - 639,73,169,1435,8285,1532,8285,655,8285,3539, - 3474,3480,2294,8285,2189,592,537,538,539,333, - 1105,168,8285,186,167,170,171,172,173,174, - 8285,228,8285,8285,8285,541,537,538,539,8285, - 8285,156,782,156,5383,8285,3594,8285,2120,8285, - 8285,180,847,232,203,215,4122,640,8285,202, - 212,213,214,216,8285,591,639,8285,169,253, - 230,231,8285,89,35,1266,32,4454,5056,27, - 30,31,1263,1255,340,28,8285,168,8285,194, - 167,170,171,172,173,174,540,537,538,539, - 8285,8285,73,8285,8285,8285,1532,8285,8285,8285, - 8285,8285,4223,35,1266,32,5726,5484,27,30, - 31,1263,1255,26,28,1963,262,23,25,50, - 2051,106,76,77,81,8285,8285,8285,8285,320, - 908,322,156,8285,315,698,8285,3882,8285,3316, - 4819,35,1266,32,8285,5484,27,30,31,1263, - 1255,26,28,1963,262,23,25,50,2051,106, - 76,77,108,2925,8285,8285,8285,2496,8285,2545, - 2525,2587,8285,3682,8285,649,8285,8285,8285,8285, - 8285,8285,8285,8285,8285,8285,541,537,538,539, - 8285,308,311,1416,4819,35,1266,32,8285,5484, - 27,30,31,1263,1255,26,28,1963,262,23, - 25,50,2051,106,76,77,108,8285,8285,8285, - 4134,2496,8285,2545,2525,2587,8285,3685,3395,35, - 3954,32,4454,5056,27,30,31,1263,1255,340, - 28,8285,8285,540,537,538,539,8285,8285,8285, - 8285,3999,537,538,539,8285,8285,8285,8285,8285, - 8285,8285,8285,4522,8285,8285,8285,4289,35,1266, - 32,4748,5484,27,30,31,1263,1255,26,28, - 1963,262,23,25,50,2051,106,76,77,81, - 330,8285,8285,8285,320,908,322,8285,8285,315, - 698,8285,8285,8285,2192,4819,35,1266,32,8285, - 5484,27,30,31,1263,1255,26,28,1963,262, - 23,25,50,2051,106,76,77,108,8285,8285, - 8285,8285,2496,8285,2545,2525,3593,8285,8285,8285, - 650,4819,35,1266,32,8285,5484,27,30,31, - 1263,1255,26,28,1963,262,23,25,50,2051, - 106,76,77,108,8285,6562,421,3953,2496,8285, - 2545,2525,3602,4819,35,1266,32,8285,5484,27, - 30,31,1263,1255,26,28,1963,262,23,25, - 50,2051,106,76,77,108,8285,8285,8285,8285, - 2496,8285,2545,2525,3613,4819,35,1266,32,8285, - 5484,27,30,31,1263,1255,26,28,1963,262, - 23,25,50,2051,106,76,77,108,8285,8285, - 8285,8285,2496,8285,2545,2525,3615,4819,35,1266, - 32,8285,5484,27,30,31,1263,1255,26,28, - 1963,262,23,25,50,2051,106,76,77,108, - 8285,8285,8285,8285,2496,8285,2545,2525,3622,4819, - 35,1266,32,8285,5484,27,30,31,1263,1255, - 26,28,1963,262,23,25,50,2051,106,76, - 77,108,8285,8285,8285,8285,2496,8285,2545,2525, - 3639,5528,35,1266,32,6827,5056,27,30,31, - 1263,1255,340,28,8285,8285,2852,35,1266,32, - 6653,5056,27,30,31,1263,1255,340,28,8285, - 8285,2448,35,1227,390,8285,2161,35,1227,390, - 8285,8285,8285,8285,4819,35,1266,32,352,5484, - 27,30,31,1263,1255,26,28,1963,262,23, - 25,50,2051,106,76,77,108,320,908,322, - 2353,3543,315,698,3074,49,8285,3940,8285,8285, - 49,8285,320,908,322,8285,1754,315,698,8285, - 8285,1754,1815,8285,8285,1291,8285,353,228,8285, - 1427,8285,345,1907,1804,350,8285,8285,8285,782, - 1528,8285,353,8285,8285,8285,3939,345,1907,1804, - 350,205,215,4122,640,8285,204,212,213,214, - 216,3352,591,639,1757,35,1266,32,8285,5056, - 27,30,31,1263,1255,340,28,8285,8285,8285, - 206,208,210,752,8285,8285,8285,541,537,538, - 539,8285,8285,217,207,209,4819,35,1266,32, - 8285,5484,27,30,31,1263,1255,26,28,1963, - 262,23,25,50,2051,106,76,77,108,13, - 8285,5878,8285,2496,8285,2545,3657,8285,8285,8285, - 320,908,322,8285,8285,603,698,4819,35,1266, - 32,367,5484,27,30,31,1263,1255,26,28, - 1963,262,23,25,50,2051,106,76,77,108, - 5073,35,1227,390,2496,3027,2545,3665,8285,8285, - 2915,8285,8285,238,262,8285,8285,8285,8285,8285, - 8285,8285,4322,592,537,538,539,2409,1605,296, - 8285,8285,8285,592,537,538,539,8285,8285,659, - 2545,35,1227,390,274,541,537,538,539,3936, - 540,537,538,539,8285,8285,8285,1623,35,1266, - 32,232,6884,27,30,31,1263,1255,340,28, - 2616,232,540,537,538,539,8285,236,230,231, - 540,537,538,539,49,8285,8285,587,230,231, - 8285,8285,5346,8285,8285,1754,4325,8285,275,8285, - 4522,8285,8285,8285,47,8285,8285,8285,243,246, - 249,252,5533,8285,1084,8285,1316,586,8285,541, - 537,538,539,320,908,322,8285,2189,318,698, - 8285,8285,334,1623,35,1266,32,8285,6884,27, - 30,31,1263,1255,340,28,8285,8285,5185,35, - 1227,390,8285,3027,3573,8285,540,537,538,539, - 8285,238,262,1685,8285,8285,8285,8285,6308,8285, - 8285,592,537,538,539,1659,5154,3738,35,3063, - 5753,8285,8285,8285,2528,8285,540,537,538,539, - 4656,2584,274,8285,8285,3074,8285,8285,8285,320, - 908,322,8285,2189,316,698,4522,8285,334,232, - 8285,8285,8285,541,537,538,539,8285,8285,228, - 8285,49,8285,8285,8285,236,230,231,8285,8285, - 782,8285,1754,2189,2323,35,1227,390,333,8285, - 8285,744,205,215,4122,640,275,204,212,213, - 214,216,8285,591,639,8285,243,246,249,252, - 5533,8285,2679,6026,1316,586,3074,8285,8285,3010, - 8285,206,208,210,752,8285,8285,8285,49,5257, - 8285,8285,8285,4256,217,207,209,8285,8285,1754, - 228,8285,592,537,538,539,8285,8285,1771,8285, - 8285,782,541,537,538,539,540,537,538,539, - 1256,5299,5878,205,215,4122,640,8285,204,212, - 213,214,216,8285,591,639,2907,8285,8285,8285, - 232,8285,8285,8285,8285,8285,8285,8285,8285,8285, - 8285,8285,206,208,210,752,236,230,231,8285, - 8285,8285,8285,8285,8285,217,207,209,4819,35, - 1266,32,8285,5484,27,30,31,1263,1255,26, - 28,1963,262,23,25,50,2051,106,76,77, - 108,2237,8285,5878,8285,2496,8285,3535,4819,35, - 1266,32,8285,5484,27,30,31,1263,1255,26, - 28,1963,262,23,25,50,2051,106,76,77, - 108,8285,2774,8285,8285,2496,3074,3537,4621,35, - 1266,32,8285,5484,27,30,31,1263,1255,26, - 28,1963,262,23,25,50,2051,577,76,77, - 228,8285,8285,8285,8285,8285,8285,8285,8285,8285, - 8285,782,8285,8285,8285,1412,8285,8285,8285,8285, - 8285,8285,8285,205,215,4122,640,8285,204,212, - 213,214,216,8285,591,639,89,35,1266,32, - 4454,5056,27,30,31,1263,1255,340,28,8285, - 8285,8285,206,208,210,752,5427,8285,8285,541, - 537,538,539,2022,8285,217,207,209,8285,8285, - 8285,2634,35,1266,32,4454,5056,27,30,31, - 1263,1255,340,28,8285,8285,540,537,538,539, - 8285,2381,8285,5878,541,537,538,539,8285,8285, - 8285,8285,320,908,322,8285,5346,315,698,8285, - 8285,8285,6292,4819,35,1266,32,8285,5484,27, - 30,31,1263,1255,26,28,1963,262,23,25, - 50,2051,106,76,77,108,8285,320,908,322, - 3552,8285,315,698,8285,8285,8285,6292,4819,35, - 1266,32,8285,5484,27,30,31,1263,1255,26, - 28,1963,262,23,25,50,2051,106,76,77, - 108,8285,2489,8285,5276,3580,3074,8285,802,8285, - 8285,8285,8285,8285,8285,8285,8285,8285,2217,8285, - 8285,8285,3074,8285,8285,8285,8285,8285,2539,8285, - 228,8285,3424,8285,8285,8285,8285,8285,8285,8285, - 8285,782,8285,8285,156,8285,228,8285,8285,2120, - 8285,8285,180,205,215,4122,640,782,204,212, - 213,214,216,2869,591,639,8285,3074,8285,205, - 215,4122,640,8285,204,212,213,214,216,8285, - 591,639,206,208,210,752,8285,8285,195,8285, - 2930,228,8285,8285,655,521,207,209,206,208, - 210,752,782,8285,8285,8285,8285,8285,2409,35, - 296,218,207,209,205,215,4122,640,344,204, - 212,213,214,216,2964,591,639,8285,3074,3133, - 156,540,537,538,539,2396,8285,8285,8285,847, - 3603,8285,8285,206,208,210,752,8285,8285,8285, - 8285,2616,228,8285,8285,2395,611,207,209,2635, - 8285,8285,8285,782,8285,8285,2824,8285,8285,3059, - 4457,6308,8285,3074,8285,205,215,4122,640,8285, - 204,212,213,214,216,8285,591,639,8285,540, - 537,538,539,540,537,538,539,228,8285,8285, - 8285,8285,8285,8285,206,208,210,752,782,4522, - 6929,196,8285,4522,8285,8285,8285,610,207,209, - 205,215,4122,640,8285,204,212,213,214,216, - 8285,591,639,8285,8285,3573,2189,8285,8285,8285, - 3422,334,8285,8285,8285,8285,8285,8285,8285,206, - 208,210,752,8285,8285,1161,1659,8285,8285,8285, - 8285,8285,609,207,209,4819,35,1266,32,8285, - 5484,27,30,31,1263,1255,26,28,1963,262, - 23,25,50,2051,106,76,77,83,4819,35, - 1266,32,8285,5484,27,30,31,1263,1255,26, - 28,1963,262,23,25,50,2051,106,76,77, - 82,4819,35,1266,32,8285,5484,27,30,31, - 1263,1255,26,28,1963,262,23,25,50,2051, - 106,76,77,81,4819,35,1266,32,8285,5484, - 27,30,31,1263,1255,26,28,1963,262,23, - 25,50,2051,106,76,77,80,4819,35,1266, - 32,8285,5484,27,30,31,1263,1255,26,28, - 1963,262,23,25,50,2051,106,76,77,79, - 4819,35,1266,32,8285,5484,27,30,31,1263, - 1255,26,28,1963,262,23,25,50,2051,106, - 76,77,78,4819,2484,1266,3125,8285,5484,27, - 30,31,1263,1255,26,28,1963,262,23,25, - 50,2051,106,76,77,84,3154,8285,8285,8285, - 3074,8285,2919,8285,8285,8285,8285,8285,8285,8285, - 8285,8285,3249,8285,8285,8285,3074,8285,2448,35, - 1227,390,8285,8285,228,540,537,538,539,8285, - 8285,8285,8285,8285,8285,782,8285,8285,8285,8285, - 228,8285,8285,8285,8285,5272,8285,205,215,4122, - 640,782,204,212,213,214,216,8285,591,639, - 4525,8285,49,205,215,4122,640,8285,204,212, - 213,214,216,1754,591,639,206,208,210,752, - 8285,8285,7068,540,537,538,539,8285,8285,522, - 207,209,206,208,210,752,8285,8285,8285,8285, - 8285,8285,8285,5440,8285,306,207,209,4421,35, - 1266,32,8285,5484,27,30,31,1263,1255,26, - 28,1963,262,23,25,50,2051,106,76,77, - 104,4819,35,1266,32,8285,5484,27,30,31, - 1263,1255,26,28,1963,262,23,25,50,2051, - 106,76,77,110,4819,35,1266,32,8285,5484, - 27,30,31,1263,1255,26,28,1963,262,23, - 25,50,2051,106,76,77,109,4819,35,1266, - 32,8285,5484,27,30,31,1263,1255,26,28, - 1963,262,23,25,50,2051,106,76,77,107, - 4819,35,1266,32,8285,5484,27,30,31,1263, - 1255,26,28,1963,262,23,25,50,2051,106, - 76,77,105,3344,8285,8285,8285,3074,4687,35, - 1266,32,8285,5484,27,30,31,1263,1255,26, - 28,1963,262,23,25,50,2051,575,76,77, - 8285,228,8285,8285,8285,8285,8285,8285,8285,8285, - 8285,8285,782,8285,3936,8285,8285,8285,3130,8285, - 8285,8285,4854,8285,205,215,4122,640,8285,204, - 212,213,214,216,8285,591,639,540,537,538, - 539,540,537,538,539,540,537,538,539,8285, - 8285,8285,8285,206,208,210,752,5346,8285,8285, - 8285,5346,8285,8285,8285,5529,501,207,209,4753, - 35,1266,32,8285,5484,27,30,31,1263,1255, - 26,28,1963,262,23,25,50,2051,86,76, - 77,4885,35,1266,32,8285,5484,27,30,31, - 1263,1255,26,28,1963,262,23,25,50,2051, - 3887,76,77,2661,8285,8285,8285,3309,6308,2166, - 2084,8285,8285,8285,3309,7059,2448,35,1227,390, - 8285,8285,8285,8285,8285,8285,540,537,538,539, - 8285,5021,592,537,538,539,8285,8285,228,2671, - 8285,8285,3227,2715,8285,8285,4522,6308,8285,8285, - 8285,8285,8285,8285,8285,2930,8285,8285,8285,655, - 49,1872,409,3778,654,540,537,538,539,8285, - 232,1754,8285,2189,8285,8285,8285,8285,333,8285, - 797,8285,8285,344,8285,4522,235,230,231,8285, - 410,411,412,752,3133,156,8285,8285,8285,8285, - 2396,8285,8285,3731,847,3603,8285,8285,361,2930, - 8285,2930,2189,655,8285,655,5519,334,8285,8285, - 2395,8285,8285,8285,2682,73,8285,8285,3246,3074, - 8285,8285,8285,8285,3539,3474,3480,344,353,344, - 8285,8285,1685,347,1907,1804,350,6308,3133,156, - 3133,156,8285,344,2396,8285,2396,8285,847,3603, - 847,3603,8285,8285,3133,540,537,538,539,8285, - 629,619,8285,8285,2395,3603,2395,1685,2717,8285, - 3574,8285,6308,1685,8285,4522,8285,8285,6308,8285, - 3204,8285,413,416,3393,6308,8285,8285,5022,8285, - 540,537,538,539,8285,631,540,537,538,539, - 8285,8285,2189,540,537,538,539,333,8285,8285, - 4522,540,537,538,539,8285,4522,3338,35,1227, - 390,8285,8285,4522,2161,35,1227,390,8285,618, - 3189,5440,6692,8285,8285,8285,8285,2189,3338,35, - 1227,390,333,2189,8285,8285,8285,8285,6840,8285, - 2189,2161,35,1227,390,6840,3895,35,1227,390, - 8285,49,8285,3421,35,1227,390,3731,49,5424, - 8285,8285,1754,802,8285,8285,8285,8285,8285,1754, - 8285,47,49,8285,8285,8285,8285,8285,6030,8285, - 8285,895,8285,1754,8285,49,8285,344,1528,8285, - 49,8285,47,8285,8285,8285,1754,49,8285,156, - 8285,1754,1311,8285,188,47,8285,8285,1754,3643, - 47,3338,35,1227,390,1650,8285,2631,8285,8285, - 1476,8285,8285,2161,35,1227,390,1132,8285,8285, - 8285,94,8285,8285,8285,8285,8285,4134,96,2161, - 35,1227,390,8285,2161,35,1227,390,8285,8285, - 8285,2161,35,1227,390,49,2161,35,1227,390, - 540,537,538,539,8285,8285,1754,49,5234,8285, - 8285,8285,3309,8285,8285,2825,8285,8285,1754,190, - 4522,8285,8285,49,8285,1202,8285,47,49,2448, - 35,1227,390,8285,1754,49,5021,2571,4185,1754, - 49,8285,8285,47,8285,8285,1754,2576,47,8285, - 73,1754,8285,2864,3074,47,8285,8285,3205,8285, - 47,540,537,538,539,3589,2448,35,1227,390, - 3672,4134,8285,49,2448,35,1227,390,344,8285, - 8285,4522,8285,73,1754,8285,8285,802,8285,3133, - 8285,8285,8285,2207,540,537,538,539,73,73, - 3603,8285,3074,802,2797,8285,8285,8285,3422,8285, - 49,344,73,507,4522,8285,802,8285,49,3398, - 8285,1754,8285,156,8285,8285,344,344,188,1754, - 1222,73,73,3643,8285,3074,3074,3133,1771,156, - 344,3423,8285,8285,188,8285,73,8285,3603,3643, - 3074,8285,156,8285,8285,8285,8285,188,8285,344, - 344,8285,3643,8285,504,506,8285,3399,8285,8285, - 3133,3133,8285,8285,344,8285,8285,8285,8285,73, - 8285,3603,3603,3074,8285,3133,8285,8285,8285,8285, - 8285,8285,8285,8285,8285,8285,3603,4026,8285,8285, - 3586,511,8285,3595,8285,8285,8285,344,8285,8285, - 8285,8285,8285,8285,8285,509,8285,8285,3133,3609, - 8285,8285,8285,8285,8285,8285,8285,8285,8285,3603, - 8285,8285,3688,8285,8285,8285,8285,8285,8285,8285, - 8285,8285,8285,8285,8285,8285,8285,8285,536,8285, - 0,1,229,707,0,503,5862,0,1,229, - 0,39,8927,0,39,8926,636,0,39,8300, - 0,39,8299,0,1,3154,0,748,1,0, - 39,1,8927,0,39,1,8926,0,39,1, - 8300,0,39,1,8299,0,1,2740,0,1, - 735,0,229,219,0,1,1089,0,1,1095, - 0,1,1141,0,8519,223,0,8518,223,0, - 1089,223,0,1095,223,0,1141,223,0,1172, - 223,0,8624,223,0,8623,223,0,8546,223, - 0,8545,223,0,8544,223,0,8543,223,0, - 8542,223,0,8541,223,0,8540,223,0,8539, - 223,0,608,638,0,8519,224,0,8518,224, - 0,1089,224,0,1095,224,0,1141,224,0, - 1172,224,0,8624,224,0,8623,224,0,8546, - 224,0,8545,224,0,8544,224,0,8543,224, - 0,8542,224,0,8541,224,0,8540,224,0, - 8539,224,0,8519,225,0,8518,225,0,1089, - 225,0,1095,225,0,1141,225,0,1172,225, - 0,8624,225,0,8623,225,0,8546,225,0, - 8545,225,0,8544,225,0,8543,225,0,8542, - 225,0,8541,225,0,8540,225,0,8539,225, - 0,1141,396,0,1095,396,0,1089,396,0, - 284,396,0,8519,226,0,8518,226,0,1089, - 226,0,1095,226,0,1141,226,0,1172,226, - 0,8624,226,0,8623,226,0,8546,226,0, - 8545,226,0,8544,226,0,8543,226,0,8542, - 226,0,8541,226,0,8540,226,0,8539,226, - 0,284,289,0,8519,227,0,8518,227,0, - 1089,227,0,1095,227,0,1141,227,0,1172, - 227,0,8624,227,0,8623,227,0,8546,227, - 0,8545,227,0,8544,227,0,8543,227,0, - 8542,227,0,8541,227,0,8540,227,0,8539, - 227,0,1899,389,0,39,8926,0,8927,48, - 0,8926,48,0,8300,48,0,8299,48,0, - 8519,590,0,8518,590,0,1089,590,0,1095, - 590,0,1141,590,0,1172,590,0,8624,590, - 0,8623,590,0,8546,590,0,8545,590,0, - 8544,590,0,8543,590,0,8542,590,0,8541, - 590,0,8540,590,0,8539,590,0,8519,241, - 0,8518,241,0,1089,241,0,1095,241,0, - 1141,241,0,1172,241,0,8624,241,0,8623, - 241,0,8546,241,0,8545,241,0,8544,241, - 0,8543,241,0,8542,241,0,8541,241,0, - 8540,241,0,8539,241,0,8899,241,0,8898, - 241,0,8897,241,0,8558,241,0,8557,241, - 0,8556,241,0,8555,241,0,8554,241,0, - 8553,241,0,8552,241,0,8551,241,0,8550, - 241,0,8549,241,0,8548,241,0,8892,241, - 0,8891,241,0,39,241,8927,0,39,241, - 8926,635,0,39,241,8300,0,39,241,8299, - 0,8323,241,0,1,332,0,38,735,0, - 38,8927,0,38,8926,0,38,8300,0,38, - 8299,0,456,1915,0,442,1951,0,1899,29, - 0,8297,1,0,2058,319,0,1141,600,0, - 1095,600,0,1089,600,0,604,600,0,604, - 599,0,8348,75,0,8347,75,0,1000,75, - 0,1070,75,0,1768,75,0,3760,75,0, - 1,602,0,1,446,0,460,1325,0,459, - 2666,0,35,33,0,47,37,0,1971,157, - 0,4957,126,0,8297,385,0,8296,385,0, - 1141,602,0,1095,602,0,1089,602,0,1089, - 634,0,1095,634,0,1141,634,0,8905,634, - 0,503,3247,0,8323,1,229,0,39,1, - 229,0,229,418,0,1,1864,0,1,8899, - 0,1,8898,0,1,8897,0,1,8558,0, + 221,221,80,83,83,189,189,156,156,157, + 157,157,157,157,157,3,158,158,155,155, + 141,141,94,81,92,92,180,180,142,142, + 222,222,222,159,159,150,150,223,223,23, + 23,23,43,43,24,24,224,224,190,190, + 190,191,191,225,225,192,192,25,25,226, + 226,193,193,193,193,26,62,227,227,228, + 228,194,194,194,160,160,160,19,19,19, + 19,33,33,42,17,87,229,143,143,143, + 117,117,28,58,77,130,130,130,137,137, + 137,208,213,135,70,76,172,148,13,13, + 61,94,94,94,14,14,14,69,69,63, + 39,161,162,162,162,162,162,162,162,162, + 162,196,196,231,231,230,230,195,195,61, + 56,56,1,1,235,96,96,96,96,96, + 96,96,197,198,198,183,54,1806,35,3360, + 3333,1430,6925,27,30,31,1265,1257,26,28, + 3332,263,23,25,50,2053,106,76,77,108, + 594,539,540,541,2498,4068,2547,2527,2589,3685, + 2554,2688,2625,2821,2690,2918,3535,1007,2978,143, + 530,275,5292,158,144,2763,35,1268,32,1668, + 7106,27,30,31,1265,1257,59,28,233,2458, + 35,3956,32,4456,5058,27,30,31,1265,1257, + 341,28,1929,619,236,231,232,2453,2486,2362, + 34,214,4001,539,540,541,2453,35,6560,6556, + 1556,35,1268,32,1736,276,41,30,31,1265, + 1257,1751,4750,3501,5252,243,246,249,252,5535, + 4056,3771,1952,1318,587,2453,35,2362,278,3072, + 862,3118,3772,4504,73,321,910,323,866,1522, + 316,700,2194,35,281,2194,326,5053,2840,4595, + 5262,4056,3771,2497,1880,35,3360,3333,1515,6925, + 27,30,31,1265,1257,26,28,3332,263,23, + 25,50,2053,106,76,77,108,594,539,540, + 541,2498,393,2547,2527,2589,430,2554,2688,2625, + 2821,2690,2918,1855,1415,2978,143,849,275,3230, + 158,144,1061,3574,2453,2451,6564,422,3955,2194, + 35,456,1555,378,6995,233,89,35,1268,32, + 4456,5058,27,30,31,1265,1257,341,28,547, + 3247,236,231,232,1557,594,539,540,541,542, + 539,540,541,2453,35,2362,280,3304,35,1268, + 32,403,276,1686,30,31,1265,1257,1346,5728, + 1612,5400,243,246,249,252,5535,291,230,4139, + 1318,587,1089,233,6661,621,3072,862,3118,3772, + 4504,2734,321,910,323,5415,999,316,700,245, + 231,232,3318,1725,2045,3777,182,5262,291,3013, + 2497,3526,35,1268,32,3076,5486,27,30,31, + 1265,1257,26,28,1965,263,23,25,50,2053, + 106,76,77,108,501,2259,3777,376,2498,345, + 2547,2527,2589,569,2554,2688,2625,2821,2690,2918, + 3135,4465,2978,143,308,312,1418,520,144,615, + 2635,3605,4393,35,1268,32,327,6983,27,30, + 31,1265,1257,57,28,685,392,2114,3842,1346, + 521,3526,35,1268,32,3076,5486,27,30,31, + 1265,1257,26,28,1965,263,23,25,50,2053, + 106,76,77,108,1997,449,3412,3417,2498,345, + 2547,2527,2589,4191,2554,2688,2625,2821,2690,2918, + 3135,131,2978,143,2194,35,281,520,144,7098, + 1522,3605,4527,35,1268,32,3670,6983,27,30, + 31,1265,1257,56,28,557,2453,35,297,1130, + 521,815,516,2763,35,1268,32,1014,7106,27, + 30,31,1265,1257,58,28,3297,3028,2285,3317, + 2840,3526,35,1268,32,3076,5486,27,30,31, + 1265,1257,26,28,1965,263,23,25,50,2053, + 106,76,77,108,2453,35,1229,391,2498,345, + 2547,2527,2589,1114,2554,2688,2625,2821,2690,2918, + 3135,446,2978,143,42,3319,2338,520,144,849, + 572,3605,516,3304,35,1268,32,61,325,40, + 30,31,1265,1257,1,3122,3431,535,275,3317, + 521,4072,35,1268,32,3076,5486,27,30,31, + 1265,1257,26,28,1965,263,23,25,50,2053, + 106,76,77,108,4025,35,1229,391,2498,345, + 2547,2527,2589,1573,2554,2688,2625,2821,2690,2918, + 3135,1130,2978,143,4730,35,279,520,144,1530, + 3013,3605,277,3710,35,1268,32,60,7106,27, + 30,31,1265,1257,26,28,560,2844,275,514, + 521,6304,516,3304,35,1268,32,1802,4139,2590, + 30,31,1265,1257,570,2199,3475,798,2660,3317, + 4154,35,1268,32,450,5486,27,30,31,1265, + 1257,26,28,1965,263,23,25,50,2053,106, + 76,77,108,4333,35,279,2109,2498,2840,2547, + 2527,2589,4000,2554,2688,2625,2821,2690,2918,2141, + 1519,2978,143,4333,35,282,381,144,2840,2434, + 2453,3967,517,3677,35,1268,32,403,5486,27, + 30,31,1265,1257,26,28,1965,263,23,25, + 50,2053,106,76,77,108,1007,849,2840,72, + 2498,6879,2547,2527,2589,306,2554,2688,2625,2821, + 2690,2918,5447,529,2978,143,1534,1521,1725,381, + 144,653,2434,1115,4824,35,1268,32,893,5486, + 27,30,31,1265,1257,26,28,1965,263,23, + 25,50,2053,106,76,77,108,849,1448,1348, + 463,2498,160,2547,2527,2589,450,2554,2688,2625, + 2821,2690,2918,378,1007,3211,164,73,2739,6900, + 2964,1534,388,382,2286,3834,35,1268,32,2488, + 5486,27,30,31,1265,1257,26,28,1965,263, + 23,25,50,2053,106,76,77,108,2453,35, + 2362,283,2498,2770,2547,2527,2589,2450,2554,2688, + 2625,2821,2690,2918,623,5449,2978,143,3027,1534, + 3535,381,144,426,2434,389,382,2286,2453,35, + 297,2738,3990,35,1268,32,3535,5486,27,30, + 31,1265,1257,26,28,1965,263,23,25,50, + 2053,106,76,77,108,156,4989,1682,2246,2498, + 162,2547,2527,2589,1163,2554,2688,2625,2821,2690, + 2918,73,73,2978,143,4146,1534,2966,555,144, + 2453,35,1229,391,4360,35,1268,32,545,5486, + 27,30,31,1265,1257,26,28,1965,263,23, + 25,50,2053,106,76,77,108,2453,35,2362, + 3975,2498,3415,2547,2527,2589,3420,2554,2688,2625, + 2821,2690,2918,3420,275,2978,143,379,382,2286, + 158,144,3434,35,1268,32,1310,5486,27,30, + 31,1265,1257,26,28,1965,263,23,25,50, + 2053,106,76,77,108,2333,394,1666,2183,2498, + 430,2547,2527,2589,222,2554,2688,2625,2821,2690, + 2918,305,396,3211,164,4191,430,314,342,3908, + 35,1268,32,2013,5486,27,30,31,1265,1257, + 26,28,1965,263,23,25,50,2053,106,76, + 77,108,2453,35,284,329,2498,558,2547,2527, + 2589,2840,2554,2688,2625,2821,2690,2918,3981,1708, + 2978,143,2057,3114,553,3140,144,6835,2405,3685, + 2497,2670,3611,35,1268,32,3420,5486,27,30, + 31,1265,1257,26,28,1965,263,23,25,50, + 2053,106,76,77,108,2453,3771,3446,2183,2498, + 2157,2547,2527,2589,3535,2554,2688,2625,2821,2690, + 2918,330,337,2978,143,2453,35,3997,3169,144, + 4360,35,1268,32,302,5486,27,30,31,1265, + 1257,26,28,1965,263,23,25,50,2053,106, + 76,77,108,1007,2000,645,1107,2498,6913,2547, + 2527,2589,1214,2554,2688,2625,2821,2690,2918,1708, + 5447,2978,143,2772,1534,3420,375,144,4360,35, + 1268,32,2850,5486,27,30,31,1265,1257,26, + 28,1965,263,23,25,50,2053,106,76,77, + 108,4105,35,2362,278,2498,1801,2547,2527,2589, + 160,2554,2688,2625,2821,2690,2918,5273,559,2978, + 143,336,337,566,375,144,4360,35,1268,32, + 2192,5486,27,30,31,1265,1257,26,28,1965, + 263,23,25,50,2053,106,76,77,108,324, + 395,1053,292,2498,430,2547,2527,2589,1163,2554, + 2688,2625,2821,2690,2918,3325,1007,2978,143,546, + 3247,6668,375,144,5263,93,3087,3990,35,1268, + 32,374,5486,27,30,31,1265,1257,26,28, + 1965,263,23,25,50,2053,106,76,77,108, + 3533,73,355,2493,2498,951,2547,2527,2589,4064, + 2554,2688,2625,2821,2690,2918,73,73,2978,143, + 1221,1021,407,555,144,3752,35,1268,32,373, + 5486,27,30,31,1265,1257,26,28,1965,263, + 23,25,50,2053,106,76,77,108,2453,4019, + 2362,74,2498,73,2547,2527,2589,1111,2554,2688, + 2625,2821,2690,2918,3534,1215,2978,143,3743,35, + 399,142,144,4360,35,1268,32,371,5486,27, + 30,31,1265,1257,26,28,1965,263,23,25, + 50,2053,106,76,77,108,2449,2431,3420,4017, + 2498,3311,2547,2527,2589,356,2554,2688,2625,2821, + 2690,2918,5273,1519,2978,143,3743,35,399,159, + 144,4360,35,1268,32,345,5486,27,30,31, + 1265,1257,26,28,1965,263,23,25,50,2053, + 106,76,77,108,500,3431,656,1673,2498,3214, + 2547,2527,2589,3947,2554,2688,2625,2821,2690,2918, + 73,73,2978,143,3747,4294,2840,155,144,554, + 4360,35,1268,32,653,5486,27,30,31,1265, + 1257,26,28,1965,263,23,25,50,2053,106, + 76,77,108,4105,35,2362,4023,2498,2654,2547, + 2527,2589,3946,2554,2688,2625,2821,2690,2918,73, + 1708,2978,143,5443,5189,2386,154,144,4360,35, + 1268,32,3420,5486,27,30,31,1265,1257,26, + 28,1965,263,23,25,50,2053,106,76,77, + 108,2453,35,2362,4030,2498,1775,2547,2527,2589, + 3954,2554,2688,2625,2821,2690,2918,73,3420,2978, + 143,5514,3612,337,153,144,4360,35,1268,32, + 179,5486,27,30,31,1265,1257,26,28,1965, + 263,23,25,50,2053,106,76,77,108,2840, + 3422,2762,2183,2498,3953,2547,2527,2589,2925,2554, + 2688,2625,2821,2690,2918,2445,199,2978,143,2772, + 2693,2246,152,144,4360,35,1268,32,2431,5486, + 27,30,31,1265,1257,26,28,1965,263,23, + 25,50,2053,106,76,77,108,1007,849,4139, + 3214,2498,6918,2547,2527,2589,2049,2554,2688,2625, + 2821,2690,2918,1708,528,2978,143,730,5273,3431, + 151,144,4360,35,1268,32,3420,5486,27,30, + 31,1265,1257,26,28,1965,263,23,25,50, + 2053,106,76,77,108,2840,2840,4139,3214,2498, + 565,2547,2527,2589,1253,2554,2688,2625,2821,2690, + 2918,1708,830,2978,143,332,337,654,150,144, + 4360,35,1268,32,198,5486,27,30,31,1265, + 1257,26,28,1965,263,23,25,50,2053,106, + 76,77,108,3420,2542,2632,299,2498,73,2547, + 2527,2589,770,2554,2688,2625,2821,2690,2918,1708, + 5273,2978,143,3748,337,5255,149,144,4360,35, + 1268,32,3575,5486,27,30,31,1265,1257,26, + 28,1965,263,23,25,50,2053,106,76,77, + 108,301,591,4139,385,2498,73,2547,2527,2589, + 5664,2554,2688,2625,2821,2690,2918,5273,5273,2978, + 143,3763,337,405,148,144,4360,35,1268,32, + 424,5486,27,30,31,1265,1257,26,28,1965, + 263,23,25,50,2053,106,76,77,108,584, + 24,4139,2786,2498,73,2547,2527,2589,2287,2554, + 2688,2625,2821,2690,2918,5273,5273,2978,143,4534, + 5273,3420,147,144,4360,35,1268,32,3420,5486, + 27,30,31,1265,1257,26,28,1965,263,23, + 25,50,2053,106,76,77,108,1998,6469,2202, + 298,2498,380,2547,2527,2589,1536,2554,2688,2625, + 2821,2690,2918,4223,3748,2978,143,2671,3021,202, + 146,144,4360,35,1268,32,200,5486,27,30, + 31,1265,1257,26,28,1965,263,23,25,50, + 2053,106,76,77,108,3104,562,3601,288,2498, + 73,2547,2527,2589,696,2554,2688,2625,2821,2690, + 2918,73,73,2978,143,1470,801,207,145,144, + 4824,35,1268,32,4079,5486,27,30,31,1265, + 1257,26,28,1965,263,23,25,50,2053,106, + 76,77,108,2453,35,1229,391,2498,73,2547, + 2527,2589,1608,2554,2688,2625,2821,2690,2918,419, + 3420,3211,164,4360,35,1268,32,441,5486,27, + 30,31,1265,1257,26,28,1965,263,23,25, + 50,2053,106,76,77,108,88,455,2038,102, + 2498,4066,2547,2527,2589,1703,2554,2688,2625,2821, + 2690,2918,73,4725,2978,143,1270,5273,409,583, + 144,543,539,540,541,4360,35,1268,32,3963, + 5486,27,30,31,1265,1257,26,28,1965,263, + 23,25,50,2053,106,76,77,108,403,580, + 403,403,2498,73,2547,2527,2589,1486,2554,2688, + 2625,2821,2690,2918,5273,5447,2978,143,503,1534, + 1207,140,144,4360,35,1268,32,3147,5486,27, + 30,31,1265,1257,26,28,1965,263,23,25, + 50,2053,106,76,77,108,578,73,1163,5273, + 2498,1714,2547,2527,2589,160,2554,2688,2625,2821, + 2690,2918,5447,5447,2978,143,1534,1534,5240,3338, + 144,462,5236,328,6492,3751,3311,4360,35,1268, + 32,87,5486,27,30,31,1265,1257,26,28, + 1965,263,23,25,50,2053,106,76,77,108, + 345,73,160,160,2498,4055,2547,2527,2589,3962, + 2554,2688,2625,2821,2690,2918,4139,3240,2978,143, + 4017,3589,931,3517,144,4494,35,1268,32,3420, + 5486,27,30,31,1265,1257,26,28,1965,263, + 23,25,50,2053,106,76,77,108,2350,35, + 456,603,2498,6995,2547,2527,2589,3650,2554,2688, + 2625,2821,2690,2918,3420,2840,2978,143,3813,3853, + 133,189,144,4824,35,1268,32,1465,5486,27, + 30,31,1265,1257,26,28,1965,263,23,25, + 50,2053,106,76,77,108,2453,35,1229,391, + 2498,5447,2547,2527,2589,1534,2554,2688,2625,2821, + 2690,2918,223,289,3211,164,4824,35,1268,32, + 70,5486,27,30,31,1265,1257,26,28,1965, + 263,23,25,50,2053,106,76,77,108,1737, + 434,160,1163,2498,4372,2547,2527,2589,2036,2554, + 2688,2625,2821,2690,2918,73,1514,3211,164,1830, + 5273,7016,543,539,540,541,403,3751,4824,35, + 1268,32,296,5486,27,30,31,1265,1257,26, + 28,1965,263,23,25,50,2053,106,76,77, + 108,445,69,459,133,2498,73,2547,2527,2589, + 2914,2554,2688,2625,2821,2690,2918,3915,3026,3211, + 164,4824,35,1268,32,425,5486,27,30,31, + 1265,1257,26,28,1965,263,23,25,50,2053, + 106,76,77,108,453,3412,3417,1314,2498,51, + 2547,2527,2589,3033,2554,2688,2625,2821,2690,2918, + 3119,384,3211,164,73,7011,5273,5273,2049,2165, + 35,1229,391,4956,35,1268,32,428,5486,27, + 30,31,1265,1257,26,28,1965,263,23,25, + 50,2053,106,76,77,108,526,1414,68,53, + 2498,4372,2547,2527,2589,2755,2554,2688,2625,2821, + 2690,2918,2035,49,3211,164,5022,35,1229,391, + 586,3029,71,1007,1756,240,263,5273,7023,238, + 263,5273,5273,1754,3206,594,539,540,541,594, + 539,540,541,1134,5273,2138,35,1268,32,4456, + 6886,27,30,31,1265,1257,341,28,1690,52, + 275,73,4237,3024,575,7040,3061,1671,542,539, + 540,541,3681,233,3420,4993,544,233,2926,6794, + 403,594,539,540,541,383,5273,1007,5763,241, + 231,232,7028,236,231,232,3785,35,1268,32, + 4456,5058,27,30,31,1265,1257,341,28,403, + 3842,321,910,323,276,2191,316,700,564,233, + 334,3318,193,5252,243,246,249,252,5535,5273, + 3920,2303,1318,587,3311,248,231,232,3072,862, + 3118,3772,4504,526,433,5309,4438,2453,35,1229, + 391,4023,3842,647,594,539,540,541,5023,5262, + 3504,563,321,910,323,2317,2314,316,700,3311, + 4600,354,1817,308,312,1418,346,1909,1806,351, + 4699,3296,646,543,539,540,541,1686,1330,3655, + 618,437,233,5023,2098,3868,35,1268,32,6829, + 5058,27,30,31,1265,1257,341,28,236,231, + 232,1061,4824,35,1268,32,1566,5486,27,30, + 31,1265,1257,26,28,1965,263,23,25,50, + 2053,106,76,77,108,508,4463,630,5521,2498, + 2935,2547,2527,2589,657,2554,2688,2625,2821,2690, + 3768,5134,35,1229,391,3670,3029,3129,2293,1507, + 358,321,910,323,238,263,316,700,345,535, + 363,530,2176,5383,594,539,540,541,403,3135, + 156,542,539,540,541,2398,506,507,527,849, + 3605,354,631,621,5273,275,346,1909,1806,351, + 5366,4685,357,73,2470,2397,1223,657,3311,2350, + 531,535,233,2272,35,3956,32,4456,6886,27, + 30,31,1265,1257,341,28,352,634,236,231, + 232,345,345,44,3319,1323,542,539,540,541, + 2184,2567,3135,156,3743,35,399,89,3026,276, + 102,648,3224,3605,3749,5273,719,2677,5400,243, + 246,249,252,5535,2027,73,73,1318,587,2192, + 3815,2662,2930,3072,862,3118,3772,4504,527,321, + 910,323,5273,2191,316,700,5245,90,334,2194, + 4824,35,1268,32,5262,5486,27,30,31,1265, + 1257,26,28,1965,263,23,25,50,2053,106, + 76,77,108,5309,576,3137,2304,2498,549,2547, + 2527,2589,3395,2554,2688,2625,2821,3710,4560,35, + 1268,32,4991,5486,27,30,31,1265,1257,26, + 28,1965,263,23,25,50,2053,590,76,77, + 6352,422,3955,4824,35,1268,32,403,5486,27, + 30,31,1265,1257,26,28,1965,263,23,25, + 50,2053,106,76,77,108,3722,307,4051,407, + 2498,5273,2547,2527,2589,3397,2554,2688,2625,3695, + 4824,35,1268,32,3841,5486,27,30,31,1265, + 1257,26,28,1965,263,23,25,50,2053,106, + 76,77,108,3603,436,68,5273,2498,657,2547, + 2527,2589,4224,2554,2688,3704,3958,2355,5273,5273, + 649,2453,35,1229,391,422,403,5273,542,539, + 540,541,229,73,619,5546,73,2240,4014,6794, + 2621,5273,73,784,156,622,1018,713,2618,2122, + 3606,454,180,849,819,204,216,4124,641,4251, + 203,213,214,215,217,436,593,640,5280,169, + 136,822,1534,4317,657,3974,35,1268,32,4456, + 5058,27,30,31,1265,1257,341,28,168,5083, + 183,167,170,171,172,173,174,5139,229,97, + 2453,35,1229,391,2453,35,1229,391,156,784, + 156,403,803,2458,5180,2122,201,5182,180,849, + 5273,204,216,4124,641,903,203,213,214,215, + 217,354,593,640,2002,169,346,1909,1806,351, + 1503,321,910,323,49,73,316,700,435,1534, + 344,4029,4383,2066,168,46,184,167,170,171, + 172,173,174,2004,35,1268,32,181,6886,27, + 30,31,1265,1257,341,28,73,5430,73,5541, + 2288,3311,3170,3255,98,156,542,539,540,541, + 1672,5273,73,73,3236,3442,1534,3212,2039,73, + 1022,2349,2404,1534,5273,5023,5156,3719,3640,5273, + 3818,35,1268,32,3373,5058,27,30,31,1265, + 1257,341,28,3746,3792,594,539,540,541,321, + 910,323,156,2191,317,700,67,2936,335,156, + 5273,66,5273,5273,3774,3559,35,1268,32,4456, + 5058,27,30,31,1265,1257,341,28,406,354, + 4061,236,2865,233,348,1909,1806,351,542,539, + 540,541,65,3020,64,55,318,1373,323,251, + 231,232,362,5273,4824,35,1268,32,5728,5486, + 27,30,31,1265,1257,26,28,1965,263,23, + 25,50,2053,106,76,77,85,3042,3091,3476, + 3482,321,910,323,5273,54,316,700,3313,5463, + 3467,3318,4824,35,1268,32,3826,5486,27,30, + 31,1265,1257,26,28,1965,263,23,25,50, + 2053,106,76,77,108,5273,3134,5273,4062,2498, + 536,2547,2527,2589,657,2554,3682,3331,35,3956, + 32,4456,5058,27,30,31,1265,1257,341,28, + 4116,2485,3157,308,312,1418,3327,101,229,1298, + 542,539,540,541,3523,4220,132,918,5273,784, + 156,336,4409,1020,2098,2122,915,5239,180,849, + 4750,204,216,4124,641,4189,203,213,214,215, + 217,5273,593,640,5242,169,2834,636,4390,5303, + 2189,657,5548,321,910,323,3076,4338,316,700, + 3877,2473,4084,2194,168,4501,3966,167,170,171, + 172,173,174,4515,5480,229,353,2757,1230,4330, + 345,533,1534,3951,534,4633,784,156,5248,5328, + 4659,3135,2122,4262,5440,180,849,2159,204,216, + 4124,641,3605,203,213,214,215,217,4765,593, + 640,5353,169,736,8290,5430,8290,657,156,3311, + 8290,537,8290,3765,6850,422,3955,8290,8290,8290, + 8290,168,8290,178,167,170,171,172,173,174, + 354,229,8290,5023,8290,346,1909,1806,351,8290, + 8290,8290,784,156,8290,8290,8290,8290,2122,3354, + 8290,180,849,8290,204,216,4124,641,8290,203, + 213,214,215,217,8290,593,640,8290,169,836, + 8290,8290,8290,657,3592,35,1268,32,3105,5058, + 27,30,31,1265,1257,341,28,168,8290,176, + 167,170,171,172,173,174,1954,229,8290,8290, + 3311,7061,8290,8290,8290,8290,8290,8290,784,156, + 362,8290,3764,8290,2122,8290,8290,180,849,8290, + 204,216,4124,641,229,203,213,214,215,217, + 8290,593,640,8290,169,936,3761,3476,3482,657, + 318,1373,323,8290,8290,8290,8290,1874,410,3780, + 655,8290,8290,168,8290,585,167,170,171,172, + 173,174,3119,229,8290,3989,8290,7011,2935,8290, + 8290,8290,657,8290,784,156,411,412,413,754, + 2122,8290,8290,180,849,8290,204,216,4124,641, + 8290,203,213,214,215,217,345,593,640,8290, + 169,1036,8290,8290,8290,657,73,3135,156,8290, + 3076,8290,8290,2398,3248,8290,8290,849,3605,168, + 8290,177,167,170,171,172,173,174,73,229, + 8290,8290,1534,2397,345,8290,8290,2446,8290,8290, + 784,156,8290,8290,3920,3135,2122,8290,3311,180, + 849,918,204,216,4124,641,3605,203,213,214, + 215,217,8290,593,640,73,169,1136,156,1534, + 8290,657,5023,3779,2414,3366,8290,8290,414,416, + 2926,8290,8290,8290,8290,168,8290,187,167,170, + 171,172,173,174,8290,229,8290,542,539,540, + 541,8290,8290,8290,8290,156,784,156,919,8290, + 3810,6662,2122,8290,8290,180,849,3220,204,216, + 4124,641,8290,203,213,214,215,217,8290,593, + 640,73,169,1236,8290,1534,8290,657,8290,8290, + 2666,8290,8290,8290,3311,6310,432,8290,8290,508, + 8290,168,8290,4037,167,170,171,172,173,174, + 8290,229,8290,542,539,540,541,8290,5023,8290, + 8290,156,784,156,8290,8290,3812,8290,2122,4002, + 8290,180,849,4524,204,216,4124,641,8290,203, + 213,214,215,217,8290,593,640,8290,169,1336, + 505,507,8290,657,8290,8290,1687,8290,8290,8290, + 2191,6310,8290,8290,8290,334,8290,168,8290,192, + 167,170,171,172,173,174,8290,229,8290,542, + 539,540,541,3492,8290,8290,8290,8290,784,156, + 6694,8290,8290,8290,2122,362,1753,180,849,4524, + 204,216,4124,641,2540,203,213,214,215,217, + 8290,593,640,73,169,1436,8290,1534,8290,657, + 8290,3541,3476,3482,2299,8290,2191,594,539,540, + 541,334,1107,168,8290,186,167,170,171,172, + 173,174,8290,229,8290,8290,8290,543,539,540, + 541,8290,8290,156,784,156,5385,8290,3596,8290, + 2122,8290,8290,180,849,233,204,216,4124,641, + 8290,203,213,214,215,217,8290,593,640,8290, + 169,254,231,232,8290,89,35,1268,32,4456, + 5058,27,30,31,1265,1257,341,28,8290,168, + 8290,195,167,170,171,172,173,174,542,539, + 540,541,8290,8290,73,8290,8290,8290,1534,8290, + 8290,8290,8290,8290,4228,35,1268,32,5728,5486, + 27,30,31,1265,1257,26,28,1965,263,23, + 25,50,2053,106,76,77,81,8290,8290,8290, + 8290,321,910,323,156,8290,316,700,8290,3884, + 8290,3318,4824,35,1268,32,8290,5486,27,30, + 31,1265,1257,26,28,1965,263,23,25,50, + 2053,106,76,77,108,2930,8290,8290,8290,2498, + 8290,2547,2527,2589,8290,3684,8290,650,8290,8290, + 8290,8290,8290,8290,8290,8290,8290,8290,543,539, + 540,541,8290,309,312,1418,4824,35,1268,32, + 8290,5486,27,30,31,1265,1257,26,28,1965, + 263,23,25,50,2053,106,76,77,108,8290, + 8290,8290,4140,2498,8290,2547,2527,2589,8290,3687, + 3400,35,3956,32,4456,5058,27,30,31,1265, + 1257,341,28,8290,8290,542,539,540,541,8290, + 8290,8290,8290,4001,539,540,541,8290,8290,8290, + 8290,8290,8290,8290,8290,4524,8290,8290,8290,4294, + 35,1268,32,4750,5486,27,30,31,1265,1257, + 26,28,1965,263,23,25,50,2053,106,76, + 77,81,331,8290,8290,8290,321,910,323,8290, + 8290,316,700,8290,8290,8290,2194,4824,35,1268, + 32,8290,5486,27,30,31,1265,1257,26,28, + 1965,263,23,25,50,2053,106,76,77,108, + 8290,8290,8290,8290,2498,8290,2547,2527,3595,8290, + 8290,8290,651,4824,35,1268,32,8290,5486,27, + 30,31,1265,1257,26,28,1965,263,23,25, + 50,2053,106,76,77,108,8290,6564,422,3955, + 2498,8290,2547,2527,3604,4824,35,1268,32,8290, + 5486,27,30,31,1265,1257,26,28,1965,263, + 23,25,50,2053,106,76,77,108,8290,8290, + 8290,8290,2498,8290,2547,2527,3615,4824,35,1268, + 32,8290,5486,27,30,31,1265,1257,26,28, + 1965,263,23,25,50,2053,106,76,77,108, + 8290,8290,8290,8290,2498,8290,2547,2527,3617,4824, + 35,1268,32,8290,5486,27,30,31,1265,1257, + 26,28,1965,263,23,25,50,2053,106,76, + 77,108,8290,8290,8290,8290,2498,8290,2547,2527, + 3624,4824,35,1268,32,8290,5486,27,30,31, + 1265,1257,26,28,1965,263,23,25,50,2053, + 106,76,77,108,8290,8290,8290,8290,2498,8290, + 2547,2527,3641,5533,35,1268,32,6829,5058,27, + 30,31,1265,1257,341,28,8290,8290,2857,35, + 1268,32,6655,5058,27,30,31,1265,1257,341, + 28,8290,8290,2453,35,1229,391,8290,2165,35, + 1229,391,8290,8290,8290,8290,4824,35,1268,32, + 353,5486,27,30,31,1265,1257,26,28,1965, + 263,23,25,50,2053,106,76,77,108,321, + 910,323,2358,3545,316,700,3076,49,8290,3942, + 8290,8290,49,8290,321,910,323,8290,1756,316, + 700,8290,8290,1756,1817,8290,8290,1293,8290,354, + 229,8290,1429,8290,346,1909,1806,351,8290,8290, + 8290,784,1530,8290,354,8290,8290,8290,3941,346, + 1909,1806,351,206,216,4124,641,8290,205,213, + 214,215,217,3354,593,640,1759,35,1268,32, + 8290,5058,27,30,31,1265,1257,341,28,8290, + 8290,8290,207,209,211,754,8290,8290,8290,543, + 539,540,541,8290,8290,218,208,210,4824,35, + 1268,32,8290,5486,27,30,31,1265,1257,26, + 28,1965,263,23,25,50,2053,106,76,77, + 108,13,8290,5880,8290,2498,8290,2547,3659,8290, + 8290,8290,321,910,323,8290,8290,605,700,4824, + 35,1268,32,368,5486,27,30,31,1265,1257, + 26,28,1965,263,23,25,50,2053,106,76, + 77,108,5078,35,1229,391,2498,3029,2547,3667, + 8290,8290,2920,8290,8290,239,263,8290,8290,8290, + 8290,8290,8290,8290,4661,594,539,540,541,2550, + 1607,297,8290,8290,8290,594,539,540,541,8290, + 8290,661,3343,35,1229,391,275,543,539,540, + 541,3941,542,539,540,541,8290,8290,8290,1624, + 35,1268,32,233,6886,27,30,31,1265,1257, + 341,28,2618,233,542,539,540,541,8290,237, + 231,232,542,539,540,541,49,8290,8290,589, + 231,232,8290,8290,5348,8290,8290,1756,4791,8290, + 276,8290,4524,8290,8290,8290,47,8290,8290,8290, + 244,247,250,253,5535,8290,1086,8290,1318,588, + 8290,543,539,540,541,321,910,323,8290,2191, + 319,700,8290,8290,335,1624,35,1268,32,8290, + 6886,27,30,31,1265,1257,341,28,8290,8290, + 5190,35,1229,391,8290,3029,3575,8290,542,539, + 540,541,8290,239,263,1687,8290,8290,8290,8290, + 6310,8290,8290,594,539,540,541,1661,5156,3743, + 35,3065,5755,8290,8290,8290,2530,8290,542,539, + 540,541,4857,2589,275,8290,8290,3076,8290,8290, + 8290,321,910,323,8290,2191,317,700,4524,8290, + 335,233,8290,8290,8290,543,539,540,541,8290, + 8290,229,8290,49,8290,8290,8290,237,231,232, + 8290,8290,784,8290,1756,2191,2328,35,1229,391, + 334,8290,8290,746,206,216,4124,641,276,205, + 213,214,215,217,8290,593,640,8290,244,247, + 250,253,5535,8290,2684,6028,1318,588,3076,8290, + 8290,3015,8290,207,209,211,754,8290,8290,8290, + 49,5262,8290,8290,8290,1602,218,208,210,8290, + 8290,1756,229,8290,594,539,540,541,8290,8290, + 1773,8290,8290,784,543,539,540,541,542,539, + 540,541,1258,5301,5880,206,216,4124,641,8290, + 205,213,214,215,217,8290,593,640,2909,8290, + 8290,8290,233,8290,8290,8290,8290,8290,8290,8290, + 8290,8290,8290,8290,207,209,211,754,237,231, + 232,8290,8290,8290,8290,8290,8290,218,208,210, + 4824,35,1268,32,8290,5486,27,30,31,1265, + 1257,26,28,1965,263,23,25,50,2053,106, + 76,77,108,2239,8290,5880,8290,2498,8290,3537, + 4824,35,1268,32,8290,5486,27,30,31,1265, + 1257,26,28,1965,263,23,25,50,2053,106, + 76,77,108,8290,2779,8290,8290,2498,3076,3539, + 4626,35,1268,32,8290,5486,27,30,31,1265, + 1257,26,28,1965,263,23,25,50,2053,579, + 76,77,229,8290,8290,8290,8290,8290,8290,8290, + 8290,8290,8290,784,8290,8290,8290,1414,8290,8290, + 8290,8290,8290,8290,8290,206,216,4124,641,8290, + 205,213,214,215,217,8290,593,640,89,35, + 1268,32,4456,5058,27,30,31,1265,1257,341, + 28,8290,8290,8290,207,209,211,754,5429,8290, + 8290,543,539,540,541,2025,8290,218,208,210, + 8290,8290,8290,2639,35,1268,32,4456,5058,27, + 30,31,1265,1257,341,28,8290,8290,542,539, + 540,541,8290,2383,8290,5880,543,539,540,541, + 8290,8290,8290,8290,321,910,323,8290,5348,316, + 700,8290,8290,8290,6294,4824,35,1268,32,8290, + 5486,27,30,31,1265,1257,26,28,1965,263, + 23,25,50,2053,106,76,77,108,8290,321, + 910,323,3554,8290,316,700,8290,8290,8290,6294, + 4824,35,1268,32,8290,5486,27,30,31,1265, + 1257,26,28,1965,263,23,25,50,2053,106, + 76,77,108,8290,2494,8290,5280,3582,3076,8290, + 804,8290,8290,8290,8290,8290,8290,8290,8290,8290, + 2222,8290,8290,8290,3076,8290,8290,8290,8290,8290, + 2541,8290,229,8290,3426,8290,8290,8290,8290,8290, + 8290,8290,8290,784,8290,8290,156,8290,229,8290, + 8290,2122,8290,8290,180,206,216,4124,641,784, + 205,213,214,215,217,2874,593,640,8290,3076, + 8290,206,216,4124,641,8290,205,213,214,215, + 217,8290,593,640,207,209,211,754,8290,8290, + 196,8290,2935,229,8290,8290,657,522,208,210, + 207,209,211,754,784,8290,8290,8290,8290,8290, + 2550,35,297,219,208,210,206,216,4124,641, + 345,205,213,214,215,217,2969,593,640,8290, + 3076,3135,156,542,539,540,541,2398,8290,8290, + 8290,849,3605,8290,8290,207,209,211,754,8290, + 8290,8290,8290,2618,229,8290,8290,2397,613,208, + 210,2637,8290,8290,8290,784,8290,8290,2829,8290, + 8290,3064,4264,6310,8290,3076,8290,206,216,4124, + 641,8290,205,213,214,215,217,8290,593,640, + 8290,542,539,540,541,542,539,540,541,229, + 8290,8290,8290,8290,8290,8290,207,209,211,754, + 784,4524,6931,197,8290,4524,8290,8290,8290,612, + 208,210,206,216,4124,641,8290,205,213,214, + 215,217,8290,593,640,8290,8290,3575,2191,8290, + 8290,8290,3424,335,8290,8290,8290,8290,8290,8290, + 8290,207,209,211,754,8290,8290,1163,1661,8290, + 8290,8290,8290,8290,611,208,210,4824,35,1268, + 32,8290,5486,27,30,31,1265,1257,26,28, + 1965,263,23,25,50,2053,106,76,77,83, + 4824,35,1268,32,8290,5486,27,30,31,1265, + 1257,26,28,1965,263,23,25,50,2053,106, + 76,77,82,4824,35,1268,32,8290,5486,27, + 30,31,1265,1257,26,28,1965,263,23,25, + 50,2053,106,76,77,81,4824,35,1268,32, + 8290,5486,27,30,31,1265,1257,26,28,1965, + 263,23,25,50,2053,106,76,77,80,4824, + 35,1268,32,8290,5486,27,30,31,1265,1257, + 26,28,1965,263,23,25,50,2053,106,76, + 77,79,4824,35,1268,32,8290,5486,27,30, + 31,1265,1257,26,28,1965,263,23,25,50, + 2053,106,76,77,78,4824,2486,1268,3127,8290, + 5486,27,30,31,1265,1257,26,28,1965,263, + 23,25,50,2053,106,76,77,84,3159,8290, + 8290,8290,3076,8290,2924,8290,8290,8290,8290,8290, + 8290,8290,8290,8290,3254,8290,8290,8290,3076,8290, + 2453,35,1229,391,8290,8290,229,542,539,540, + 541,8290,8290,8290,8290,8290,8290,784,8290,8290, + 8290,8290,229,8290,8290,8290,8290,5274,8290,206, + 216,4124,641,784,205,213,214,215,217,8290, + 593,640,4794,8290,49,206,216,4124,641,8290, + 205,213,214,215,217,1756,593,640,207,209, + 211,754,8290,8290,7070,542,539,540,541,8290, + 8290,523,208,210,207,209,211,754,8290,8290, + 8290,8290,8290,8290,8290,5442,8290,307,208,210, + 4426,35,1268,32,8290,5486,27,30,31,1265, + 1257,26,28,1965,263,23,25,50,2053,106, + 76,77,104,4824,35,1268,32,8290,5486,27, + 30,31,1265,1257,26,28,1965,263,23,25, + 50,2053,106,76,77,110,4824,35,1268,32, + 8290,5486,27,30,31,1265,1257,26,28,1965, + 263,23,25,50,2053,106,76,77,109,4824, + 35,1268,32,8290,5486,27,30,31,1265,1257, + 26,28,1965,263,23,25,50,2053,106,76, + 77,107,4824,35,1268,32,8290,5486,27,30, + 31,1265,1257,26,28,1965,263,23,25,50, + 2053,106,76,77,105,3349,8290,8290,8290,3076, + 4692,35,1268,32,8290,5486,27,30,31,1265, + 1257,26,28,1965,263,23,25,50,2053,577, + 76,77,8290,229,8290,8290,8290,8290,8290,8290, + 8290,8290,8290,8290,784,8290,3941,8290,8290,8290, + 3135,8290,8290,8290,4860,8290,206,216,4124,641, + 8290,205,213,214,215,217,8290,593,640,542, + 539,540,541,542,539,540,541,542,539,540, + 541,8290,8290,8290,8290,207,209,211,754,5348, + 8290,8290,8290,5348,8290,8290,8290,5531,502,208, + 210,4758,35,1268,32,8290,5486,27,30,31, + 1265,1257,26,28,1965,263,23,25,50,2053, + 86,76,77,4890,35,1268,32,8290,5486,27, + 30,31,1265,1257,26,28,1965,263,23,25, + 50,2053,3889,76,77,2666,8290,8290,8290,3311, + 6310,2170,2088,8290,8290,8290,3311,7061,2453,35, + 1229,391,8290,8290,8290,8290,8290,8290,542,539, + 540,541,8290,5023,594,539,540,541,8290,8290, + 229,2673,8290,8290,3232,2717,8290,8290,4524,6310, + 8290,8290,8290,8290,8290,8290,8290,2935,8290,8290, + 8290,657,49,1874,410,3780,655,542,539,540, + 541,8290,233,1756,8290,2191,8290,8290,8290,8290, + 334,8290,799,8290,8290,345,8290,4524,236,231, + 232,8290,411,412,413,754,3135,156,8290,8290, + 8290,8290,2398,8290,8290,3733,849,3605,8290,8290, + 362,2935,8290,2935,2191,657,8290,657,5521,335, + 8290,8290,2397,8290,8290,8290,2684,73,8290,8290, + 3248,3076,8290,8290,8290,8290,3541,3476,3482,345, + 354,345,8290,8290,1687,348,1909,1806,351,6310, + 3135,156,3135,156,8290,345,2398,8290,2398,8290, + 849,3605,849,3605,8290,8290,3135,542,539,540, + 541,8290,631,621,8290,8290,2397,3605,2397,1687, + 2719,8290,3576,8290,6310,1687,8290,4524,8290,8290, + 6310,8290,3209,8290,414,417,3395,6310,8290,8290, + 4923,8290,542,539,540,541,8290,633,542,539, + 540,541,8290,8290,2191,542,539,540,541,334, + 8290,8290,4524,542,539,540,541,8290,4524,3426, + 35,1229,391,8290,8290,4524,2165,35,1229,391, + 8290,620,3191,5442,6694,8290,8290,8290,8290,2191, + 3426,35,1229,391,334,2191,8290,8290,8290,8290, + 6842,8290,2191,2165,35,1229,391,6842,4030,35, + 1229,391,8290,49,8290,3902,35,1229,391,3733, + 49,5281,8290,8290,1756,804,8290,8290,8290,8290, + 8290,1756,8290,47,49,8290,8290,8290,8290,8290, + 6032,8290,8290,897,8290,1756,8290,49,8290,345, + 1530,8290,49,8290,47,8290,8290,8290,1756,49, + 8290,156,8290,1756,1313,8290,188,47,8290,8290, + 1756,3645,47,3426,35,1229,391,1652,8290,2633, + 8290,8290,1478,8290,8290,2165,35,1229,391,1134, + 8290,8290,8290,94,8290,8290,8290,8290,8290,4140, + 96,2165,35,1229,391,8290,2165,35,1229,391, + 8290,8290,8290,2165,35,1229,391,49,2165,35, + 1229,391,542,539,540,541,8290,8290,1756,49, + 4968,8290,8290,8290,3311,8290,8290,2827,8290,8290, + 1756,190,4524,8290,8290,49,8290,1204,8290,47, + 49,2453,35,1229,391,8290,1756,49,5023,2573, + 4190,1756,49,8290,8290,47,8290,8290,1756,2578, + 47,8290,73,1756,8290,2866,3076,47,8290,8290, + 3207,8290,47,542,539,540,541,3591,2453,35, + 1229,391,3674,4140,8290,49,2453,35,1229,391, + 345,8290,8290,4524,8290,73,1756,8290,8290,804, + 8290,3135,8290,8290,8290,2209,542,539,540,541, + 73,73,3605,8290,3076,804,2799,8290,8290,8290, + 3424,8290,49,345,73,508,4524,8290,804,8290, + 49,3400,8290,1756,8290,156,8290,8290,345,345, + 188,1756,1224,73,73,3645,8290,3076,3076,3135, + 1773,156,345,3425,8290,8290,188,8290,73,8290, + 3605,3645,3076,8290,156,8290,8290,8290,8290,188, + 8290,345,345,8290,3645,8290,505,507,8290,3401, + 8290,8290,3135,3135,8290,8290,345,8290,8290,8290, + 8290,73,8290,3605,3605,3076,8290,3135,8290,8290, + 8290,8290,8290,8290,8290,8290,8290,8290,3605,4028, + 8290,8290,3588,512,8290,3597,8290,8290,8290,345, + 8290,8290,8290,8290,8290,8290,8290,510,8290,8290, + 3135,3611,8290,8290,8290,8290,8290,8290,8290,8290, + 8290,3605,8290,8290,3690,8290,8290,8290,8290,8290, + 8290,8290,8290,8290,8290,8290,8290,8290,8290,8290, + 538,8290,0,1,230,709,0,504,5864,0, + 1,230,0,39,8933,0,39,8932,638,0, + 39,8305,0,39,8304,0,1,3156,0,750, + 1,0,39,1,8933,0,39,1,8932,0, + 39,1,8305,0,39,1,8304,0,1,2742, + 0,1,737,0,230,220,0,1,1091,0, + 1,1097,0,1,1143,0,8525,224,0,8524, + 224,0,1091,224,0,1097,224,0,1143,224, + 0,1174,224,0,8630,224,0,8629,224,0, + 8552,224,0,8551,224,0,8550,224,0,8549, + 224,0,8548,224,0,8547,224,0,8546,224, + 0,8545,224,0,610,639,0,8525,225,0, + 8524,225,0,1091,225,0,1097,225,0,1143, + 225,0,1174,225,0,8630,225,0,8629,225, + 0,8552,225,0,8551,225,0,8550,225,0, + 8549,225,0,8548,225,0,8547,225,0,8546, + 225,0,8545,225,0,8525,226,0,8524,226, + 0,1091,226,0,1097,226,0,1143,226,0, + 1174,226,0,8630,226,0,8629,226,0,8552, + 226,0,8551,226,0,8550,226,0,8549,226, + 0,8548,226,0,8547,226,0,8546,226,0, + 8545,226,0,1143,397,0,1097,397,0,1091, + 397,0,285,397,0,8525,227,0,8524,227, + 0,1091,227,0,1097,227,0,1143,227,0, + 1174,227,0,8630,227,0,8629,227,0,8552, + 227,0,8551,227,0,8550,227,0,8549,227, + 0,8548,227,0,8547,227,0,8546,227,0, + 8545,227,0,285,290,0,8525,228,0,8524, + 228,0,1091,228,0,1097,228,0,1143,228, + 0,1174,228,0,8630,228,0,8629,228,0, + 8552,228,0,8551,228,0,8550,228,0,8549, + 228,0,8548,228,0,8547,228,0,8546,228, + 0,8545,228,0,1901,390,0,39,8932,0, + 8933,48,0,8932,48,0,8305,48,0,8304, + 48,0,8525,592,0,8524,592,0,1091,592, + 0,1097,592,0,1143,592,0,1174,592,0, + 8630,592,0,8629,592,0,8552,592,0,8551, + 592,0,8550,592,0,8549,592,0,8548,592, + 0,8547,592,0,8546,592,0,8545,592,0, + 8525,242,0,8524,242,0,1091,242,0,1097, + 242,0,1143,242,0,1174,242,0,8630,242, + 0,8629,242,0,8552,242,0,8551,242,0, + 8550,242,0,8549,242,0,8548,242,0,8547, + 242,0,8546,242,0,8545,242,0,8906,242, + 0,8905,242,0,8904,242,0,8564,242,0, + 8563,242,0,8562,242,0,8561,242,0,8560, + 242,0,8559,242,0,8558,242,0,8557,242, + 0,8556,242,0,8555,242,0,8554,242,0, + 8899,242,0,8898,242,0,39,242,8933,0, + 39,242,8932,637,0,39,242,8305,0,39, + 242,8304,0,8328,242,0,1,333,0,38, + 737,0,38,8933,0,38,8932,0,38,8305, + 0,38,8304,0,457,1917,0,443,1953,0, + 1901,29,0,8302,1,0,2060,320,0,1143, + 602,0,1097,602,0,1091,602,0,606,602, + 0,606,601,0,8353,75,0,8352,75,0, + 1002,75,0,1072,75,0,1770,75,0,3762, + 75,0,1,604,0,1,447,0,461,1327, + 0,460,2668,0,35,33,0,47,37,0, + 1973,157,0,4959,126,0,8302,386,0,8301, + 386,0,1143,604,0,1097,604,0,1091,604, + 0,1091,636,0,1097,636,0,1143,636,0, + 8912,636,0,504,3249,0,8328,1,230,0, + 39,1,230,0,230,419,0,1,1866,0, + 1,8906,0,1,8905,0,1,8904,0,1, + 8564,0,1,8563,0,1,8562,0,1,8561, + 0,1,8560,0,1,8559,0,1,8558,0, 1,8557,0,1,8556,0,1,8555,0,1, - 8554,0,1,8553,0,1,8552,0,1,8551, - 0,1,8550,0,1,8549,0,1,8548,0, - 1,8892,0,1,8891,0,1,5668,0,8927, - 37,0,8926,37,0,8300,37,0,8299,37, - 0,43,8321,0,43,37,0,8293,1,0, - 1520,91,0,32,34,0,39,735,0,1141, - 332,0,1095,332,0,1089,332,0,39,241, - 8926,0,1,1966,0,1,2014,0,229,220, - 0,8519,630,0,8518,630,0,1089,630,0, - 1095,630,0,1141,630,0,1172,630,0,8624, - 630,0,8623,630,0,8546,630,0,8545,630, - 0,8544,630,0,8543,630,0,8542,630,0, - 8541,630,0,8540,630,0,8539,630,0,1089, - 633,0,1095,633,0,1141,633,0,8905,633, - 0,8295,407,0,8294,407,0,229,417,0, - 1,229,3828,0,8294,229,0,3829,229,0, - 8291,1,0,8290,1,0,237,1360,0,390, - 32,0,389,29,0,1141,447,0,1095,447, - 0,1089,447,0,8323,447,0,39,447,0, - 332,447,0,4957,128,0,4957,127,0,8321, - 45,0,37,45,0,3959,229,0,10,12, - 0,8323,1,0,39,1,0,588,577,0, - 1,92,0,1172,337,0,8624,337,0,8623, - 337,0,8,10,12,0,8927,2,37,0, - 8926,2,37,0,8300,2,37,0,8299,2, - 37,0 + 8554,0,1,8899,0,1,8898,0,1,5670, + 0,8933,37,0,8932,37,0,8305,37,0, + 8304,37,0,43,8326,0,43,37,0,8298, + 1,0,1522,91,0,32,34,0,39,737, + 0,1143,333,0,1097,333,0,1091,333,0, + 39,242,8932,0,1,1968,0,1,2016,0, + 230,221,0,8525,632,0,8524,632,0,1091, + 632,0,1097,632,0,1143,632,0,1174,632, + 0,8630,632,0,8629,632,0,8552,632,0, + 8551,632,0,8550,632,0,8549,632,0,8548, + 632,0,8547,632,0,8546,632,0,8545,632, + 0,1091,635,0,1097,635,0,1143,635,0, + 8912,635,0,8300,408,0,8299,408,0,230, + 418,0,1,230,3830,0,8299,230,0,3831, + 230,0,8296,1,0,8295,1,0,238,1362, + 0,391,32,0,390,29,0,1143,448,0, + 1097,448,0,1091,448,0,8328,448,0,39, + 448,0,333,448,0,4959,128,0,4959,127, + 0,8326,45,0,37,45,0,3961,230,0, + 10,12,0,8328,1,0,39,1,0,590, + 579,0,1,92,0,1174,338,0,8630,338, + 0,8629,338,0,8,10,12,0,4005,194, + 0,8933,2,37,0,8932,2,37,0,8305, + 2,37 }; }; public interface BaseAction1 { public final static char baseAction1[] = { - 8927,36,0,8926,36,0,8300,36,0,8299, - 36,0,4511,100,0,1141,597,0,1095,597, - 0,1089,597,0,1141,596,0,1095,596,0, - 1089,596,0,540,541,0,589,578,0,2869, - 103,0,3031,99,0,1141,95,0,1095,95, - 0,1089,95,0,8323,95,0,39,95,0, - 332,95,0,35,73,0,4032,385,0,1141, - 597,598,0,1095,597,598,0,1089,597,598, - 0,597,598,0,279,2730,0,8,12,0, - 185,4447,0 + 0,8304,2,37,0,8933,36,0,8932,36, + 0,8305,36,0,8304,36,0,4513,100,0, + 1143,599,0,1097,599,0,1091,599,0,1143, + 598,0,1097,598,0,1091,598,0,542,543, + 0,591,580,0,2871,103,0,3033,99,0, + 1143,95,0,1097,95,0,1091,95,0,8328, + 95,0,39,95,0,333,95,0,35,73, + 0,4034,386,0,1143,599,600,0,1097,599, + 600,0,1091,599,600,0,599,600,0,280, + 2732,0,8,12,0,185,4449,0 }; }; @@ -1639,562 +1640,562 @@ public class XlcCPPParserprs implements lpg.lpgjavaruntime.ParseTable, XlcCPPPar 100,101,102,103,104,105,106,107,108,109, 110,111,112,113,114,115,116,117,118,119, 120,121,122,123,124,125,126,127,128,129, - 0,0,1,133,0,1,2,3,4,5, - 6,7,8,9,10,11,12,13,14,15, - 16,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,61,62,63,64,65, - 66,71,68,69,70,0,72,73,74,75, - 76,0,0,83,80,81,82,5,13,85, - 0,87,88,89,90,91,92,93,0,95, - 96,97,98,99,0,1,2,3,4,5, - 6,7,8,9,10,11,12,13,14,15, - 16,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,61,62,63,64,65, - 66,0,68,69,70,0,72,73,74,75, - 76,106,107,85,80,81,82,0,13,85, - 3,87,88,89,90,91,92,93,0,95, - 96,97,98,99,0,1,2,3,4,5, - 6,7,8,9,10,11,12,13,14,15, - 16,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,61,62,63,64,65, - 66,0,68,69,70,0,72,73,74,75, - 76,106,107,12,80,81,82,0,13,85, - 0,87,88,89,90,91,92,93,0,95, - 96,97,98,99,0,1,2,3,4,5, - 6,7,8,9,10,11,12,13,14,15, - 16,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,61,62,63,64,65, - 66,0,68,69,70,104,72,73,74,75, - 76,106,107,0,80,81,82,100,101,85, - 100,101,88,89,90,91,92,93,0,95, - 96,97,98,99,0,1,2,3,4,5, - 6,7,8,9,10,11,12,13,14,15, - 16,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,61,62,63,64,65, - 66,0,68,69,70,77,72,73,74,75, - 76,110,111,0,80,81,82,0,5,85, - 0,0,88,89,90,91,92,93,0,95, - 96,97,98,99,0,1,2,3,4,5, - 6,7,8,9,10,11,12,13,14,15, - 16,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,61,62,63,64,65, - 66,0,68,69,70,84,72,73,74,75, - 76,0,84,112,80,81,82,100,101,85, - 100,101,88,89,90,91,92,93,0,95, - 96,97,98,99,0,1,2,3,4,5, - 6,7,8,9,10,11,12,13,14,15, - 16,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,61,62,63,64,65, - 66,0,68,69,70,77,72,73,74,75, - 76,100,101,0,80,81,82,0,5,85, - 0,0,88,89,90,91,92,93,0,95, - 96,97,98,99,0,1,2,3,4,5, - 6,7,8,9,10,11,12,13,14,15, - 16,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,61,62,63,64,65, - 66,0,68,69,70,77,72,73,74,75, - 76,110,111,0,80,81,82,100,101,85, - 100,101,88,89,90,91,92,93,0,95, - 96,97,98,99,0,1,2,3,4,5, - 6,7,8,9,10,11,12,13,14,15, - 16,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,61,62,63,64,65, - 66,88,68,69,70,0,72,73,74,75, - 76,6,0,112,80,81,82,5,0,85, - 0,0,88,89,90,91,92,93,0,95, - 96,97,98,99,0,1,2,3,4,5, - 6,7,8,9,10,11,12,13,14,15, - 16,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,61,62,63,64,65, - 66,83,68,69,70,0,72,73,74,75, - 76,6,0,0,80,81,82,5,5,85, - 102,0,88,89,90,91,92,93,0,95, - 96,97,98,99,0,1,2,3,4,5, - 6,7,8,9,10,11,12,13,14,15, - 16,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,61,62,63,64,65, - 66,0,68,69,70,0,72,73,74,75, - 76,83,0,0,80,81,82,5,5,85, - 0,0,88,89,90,91,92,93,0,95, - 96,97,98,99,0,1,2,3,4,5, - 6,7,8,9,10,11,12,13,14,15, - 16,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,61,62,63,64,65, - 66,0,68,69,70,84,72,73,74,75, - 76,83,0,0,80,81,82,5,113,85, - 0,0,88,89,90,91,92,93,0,95, - 96,97,98,99,0,1,2,3,4,5, - 6,7,8,9,10,11,12,13,14,15, - 16,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,61,62,63,64,65, - 66,0,68,69,70,84,72,73,74,75, - 76,83,0,0,80,81,82,5,5,85, - 0,0,88,89,90,91,92,93,0,95, - 96,97,98,99,0,1,2,3,4,5, - 6,7,8,9,10,11,12,13,14,15, - 16,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,61,62,63,64,65, - 66,0,68,69,70,0,72,73,74,75, - 76,6,0,0,80,81,82,0,6,85, - 0,0,88,89,90,91,92,93,0,95, - 96,97,98,99,0,1,2,3,4,5, - 6,7,8,9,10,11,12,13,14,37, - 33,34,35,0,0,1,2,3,4,46, - 7,8,9,135,10,11,46,33,34,35, + 0,0,0,3,134,0,1,2,3,4, + 5,6,7,8,9,10,11,12,13,14, + 15,16,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,61,62,63,64, + 65,66,71,68,69,70,0,72,73,74, + 75,76,0,0,83,80,81,82,5,13, + 85,0,87,88,89,90,91,92,93,0, + 95,96,97,98,99,0,1,2,3,4, + 5,6,7,8,9,10,11,12,13,14, + 15,16,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,61,62,63,64, + 65,66,0,68,69,70,0,72,73,74, + 75,76,106,107,85,80,81,82,0,13, + 85,0,87,88,89,90,91,92,93,0, + 95,96,97,98,99,0,1,2,3,4, + 5,6,7,8,9,10,11,12,13,14, + 15,16,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,61,62,63,64, + 65,66,0,68,69,70,0,72,73,74, + 75,76,106,107,12,80,81,82,0,13, + 85,0,87,88,89,90,91,92,93,0, + 95,96,97,98,99,0,1,2,3,4, + 5,6,7,8,9,10,11,12,13,14, + 15,16,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,61,62,63,64, + 65,66,0,68,69,70,104,72,73,74, + 75,76,106,107,0,80,81,82,100,101, + 85,100,101,88,89,90,91,92,93,0, + 95,96,97,98,99,0,1,2,3,4, + 5,6,7,8,9,10,11,12,13,14, + 15,16,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,61,62,63,64, + 65,66,0,68,69,70,77,72,73,74, + 75,76,110,111,0,80,81,82,0,5, + 85,0,0,88,89,90,91,92,93,0, + 95,96,97,98,99,0,1,2,3,4, + 5,6,7,8,9,10,11,12,13,14, + 15,16,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,61,62,63,64, + 65,66,0,68,69,70,84,72,73,74, + 75,76,0,84,112,80,81,82,100,101, + 85,100,101,88,89,90,91,92,93,0, + 95,96,97,98,99,0,1,2,3,4, + 5,6,7,8,9,10,11,12,13,14, + 15,16,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,61,62,63,64, + 65,66,0,68,69,70,77,72,73,74, + 75,76,100,101,0,80,81,82,0,5, + 85,0,0,88,89,90,91,92,93,0, + 95,96,97,98,99,0,1,2,3,4, + 5,6,7,8,9,10,11,12,13,14, + 15,16,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,61,62,63,64, + 65,66,0,68,69,70,77,72,73,74, + 75,76,110,111,0,80,81,82,100,101, + 85,100,101,88,89,90,91,92,93,0, + 95,96,97,98,99,0,1,2,3,4, + 5,6,7,8,9,10,11,12,13,14, + 15,16,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,61,62,63,64, + 65,66,88,68,69,70,0,72,73,74, + 75,76,6,0,112,80,81,82,5,0, + 85,0,1,88,89,90,91,92,93,0, + 95,96,97,98,99,0,1,2,3,4, + 5,6,7,8,9,10,11,12,13,14, + 15,16,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,61,62,63,64, + 65,66,83,68,69,70,0,72,73,74, + 75,76,6,0,0,80,81,82,5,5, + 85,102,0,88,89,90,91,92,93,0, + 95,96,97,98,99,0,1,2,3,4, + 5,6,7,8,9,10,11,12,13,14, + 15,16,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,61,62,63,64, + 65,66,0,68,69,70,0,72,73,74, + 75,76,83,0,0,80,81,82,5,5, + 85,0,0,88,89,90,91,92,93,0, + 95,96,97,98,99,0,1,2,3,4, + 5,6,7,8,9,10,11,12,13,14, + 15,16,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,61,62,63,64, + 65,66,0,68,69,70,84,72,73,74, + 75,76,83,0,0,80,81,82,5,113, + 85,0,0,88,89,90,91,92,93,0, + 95,96,97,98,99,0,1,2,3,4, + 5,6,7,8,9,10,11,12,13,14, + 15,16,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,61,62,63,64, + 65,66,0,68,69,70,84,72,73,74, + 75,76,83,0,0,80,81,82,5,5, + 85,0,0,88,89,90,91,92,93,0, + 95,96,97,98,99,0,1,2,3,4, + 5,6,7,8,9,10,11,12,13,14, + 15,16,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,61,62,63,64, + 65,66,0,68,69,70,0,72,73,74, + 75,76,6,0,0,80,81,82,0,6, + 85,0,0,88,89,90,91,92,93,0, + 95,96,97,98,99,0,1,2,3,4, + 5,6,7,8,9,10,11,12,13,14, + 37,33,34,35,0,0,1,2,3,4, + 46,7,8,9,135,10,11,46,33,34, + 35,36,37,38,39,40,41,42,43,44, + 45,67,47,48,49,50,51,33,34,35, 36,37,38,39,40,41,42,43,44,45, - 67,47,48,49,50,51,33,34,35,36, - 37,38,39,40,41,42,43,44,45,0, - 0,1,2,3,4,71,6,7,8,9, - 0,77,78,79,0,114,82,83,84,85, - 86,87,0,1,2,3,4,5,6,7, - 8,9,10,11,100,101,102,103,104,105, - 106,107,108,109,110,111,112,113,114,115, - 116,117,118,119,120,121,122,123,124,125, - 126,127,128,129,136,0,67,133,0,1, - 2,3,4,5,6,7,8,9,10,11, - 12,13,14,0,0,71,0,0,78,6, - 6,7,8,9,7,8,9,13,14,13, - 14,33,34,35,36,37,38,39,40,41, - 42,43,44,45,0,47,48,49,50,51, - 33,34,35,36,37,38,39,40,41,42, - 43,44,45,0,0,1,2,3,4,71, - 6,7,8,9,0,77,78,79,34,5, - 82,83,84,85,86,87,0,1,2,3, - 4,5,6,7,8,9,10,11,100,101, - 102,103,104,105,106,107,108,109,110,111, - 112,113,114,115,116,117,118,119,120,121, - 122,123,124,125,126,127,128,129,0,134, - 67,133,0,1,2,3,4,5,6,7, - 8,9,10,11,0,13,14,15,16,17, - 18,19,20,21,22,23,24,25,26,27, - 28,29,30,31,32,33,34,35,36,37, - 38,39,40,41,42,43,44,45,46,47, - 48,0,50,51,52,53,54,55,56,57, - 58,59,60,61,62,63,64,65,66,71, - 68,69,70,22,0,73,0,1,2,3, - 4,5,6,7,8,9,10,11,14,13, - 14,15,16,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,0,50,51,52,53, - 54,55,56,57,58,59,60,61,62,63, - 64,65,66,0,68,69,70,22,0,73, + 71,0,1,2,3,4,71,6,7,8, + 9,0,77,78,79,113,5,82,83,84, + 85,86,87,0,1,2,3,4,5,6, + 7,8,9,10,11,100,101,102,103,104, + 105,106,107,108,109,110,111,112,113,114, + 115,116,117,118,119,120,121,122,123,124, + 125,126,127,128,129,0,0,0,67,134, 0,1,2,3,4,5,6,7,8,9, - 10,11,12,13,14,15,16,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,0,72,0,49, - 0,1,2,3,4,5,6,7,8,9, - 10,11,0,13,14,67,66,67,68,69, - 70,0,72,0,74,75,76,6,7,8, - 9,0,0,83,0,0,13,87,7,8, - 9,7,8,9,94,0,15,16,17,18, - 19,20,21,0,23,24,25,26,27,28, - 29,30,31,67,33,34,35,36,37,38, - 39,40,41,42,43,44,45,77,46,67, - 130,131,132,0,1,2,3,4,5,6, + 10,11,12,13,14,0,0,0,77,0, + 5,0,6,7,8,9,7,8,9,13, + 14,34,0,33,34,35,36,37,38,39, + 40,41,42,43,44,45,14,47,48,49, + 50,51,33,34,35,36,37,38,39,40, + 41,42,43,44,45,0,0,1,2,3, + 4,71,6,7,8,9,0,77,78,79, + 0,86,82,83,84,85,86,87,0,1, + 2,3,4,5,6,7,8,9,10,11, + 100,101,102,103,104,105,106,107,108,109, + 110,111,112,113,114,115,116,117,118,119, + 120,121,122,123,124,125,126,127,128,129, + 0,0,67,67,134,0,1,2,3,4, + 5,6,7,8,9,10,11,67,13,14, + 15,16,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,0,50,51,52,53,54, + 55,56,57,58,59,60,61,62,63,64, + 65,66,71,68,69,70,22,77,73,0, + 1,2,3,4,5,6,7,8,9,10, + 11,0,13,14,15,16,17,18,19,20, + 21,22,23,24,25,26,27,28,29,30, + 31,32,33,34,35,36,37,38,39,40, + 41,42,43,44,45,46,47,48,0,50, + 51,52,53,54,55,56,57,58,59,60, + 61,62,63,64,65,66,0,68,69,70, + 22,0,73,0,1,2,3,4,5,6, 7,8,9,10,11,12,13,14,15,16, 17,18,19,20,21,22,23,24,25,26, 27,28,29,30,31,32,33,34,35,36, - 37,38,39,40,41,42,43,44,45,84, - 0,0,49,0,1,2,3,4,5,6, - 7,8,9,10,11,0,13,14,113,66, + 37,38,39,40,41,42,43,44,45,0, + 72,0,49,0,1,2,3,4,5,6, + 7,8,9,10,11,14,13,14,67,66, 67,68,69,70,0,72,0,74,75,76, - 0,1,2,3,4,0,83,2,14,0, - 87,0,7,8,9,0,46,94,47,48, - 15,16,17,18,19,20,21,12,23,0, - 1,2,3,4,0,6,0,0,33,34, - 35,36,37,38,39,40,41,42,43,44, - 45,0,0,130,131,132,0,1,2,3, - 4,5,6,7,8,9,10,11,12,13, - 14,15,16,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,87,67,0,49,0,1,2,3, - 4,5,6,7,8,9,10,11,84,13, - 14,0,66,67,68,69,70,0,72,78, - 74,75,76,0,7,8,9,0,86,2, - 7,8,9,87,7,8,9,0,0,1, - 94,0,15,16,17,18,19,20,21,0, - 23,13,0,1,2,3,4,130,131,132, + 6,7,8,9,0,0,83,0,0,13, + 87,7,8,9,7,8,9,94,0,15, + 16,17,18,19,20,21,0,23,24,25, + 26,27,28,29,30,31,67,33,34,35, + 36,37,38,39,40,41,42,43,44,45, + 77,33,34,35,131,132,133,0,1,2, + 3,4,5,6,7,8,9,10,11,12, + 13,14,15,16,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,0,0,1,2,3,4,83, - 6,135,0,1,2,3,4,5,6,7, - 8,9,10,11,12,13,14,15,16,17, - 18,19,20,21,22,23,24,25,26,27, - 28,29,30,31,32,33,34,35,36,37, + 43,44,45,0,78,0,49,0,1,2, + 3,4,5,6,7,8,9,10,11,114, + 13,14,114,66,67,68,69,70,0,72, + 0,74,75,76,0,1,2,3,4,0, + 83,2,0,0,87,0,7,8,9,46, + 5,94,0,0,15,16,17,18,19,20, + 21,0,23,0,1,2,3,4,0,6, + 67,0,33,34,35,36,37,38,39,40, + 41,42,43,44,45,33,34,35,131,132, + 133,0,1,2,3,4,5,6,7,8, + 9,10,11,12,13,14,15,16,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,84,77,71, + 49,0,1,2,3,4,5,6,7,8, + 9,10,11,0,13,14,0,66,67,68, + 69,70,0,72,136,74,75,76,0,7, + 8,9,0,0,2,7,8,9,87,7, + 8,9,0,0,1,94,0,15,16,17, + 18,19,20,21,0,23,13,0,1,2, + 3,4,131,132,133,33,34,35,36,37, 38,39,40,41,42,43,44,45,0,0, - 0,49,80,81,5,7,8,9,0,1, - 2,3,4,102,71,7,8,9,66,67, - 68,69,70,0,72,0,74,75,76,6, - 5,33,34,35,36,37,38,39,40,41, - 42,43,44,45,0,0,94,0,1,2, - 3,4,0,1,2,3,4,5,6,7, - 8,9,10,11,0,13,14,0,1,2, + 1,2,3,4,83,6,135,0,1,2, + 3,4,5,6,7,8,9,10,11,12, + 13,14,15,16,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,0,0,102,49,80,81,0, + 7,8,9,0,1,2,3,4,102,6, + 7,8,9,66,67,68,69,70,0,72, + 0,74,75,76,86,5,33,34,35,36, + 37,38,39,40,41,42,43,44,45,0, + 46,94,0,1,2,3,4,0,1,2, 3,4,5,6,7,8,9,10,11,0, - 13,14,0,1,2,3,4,135,0,1, - 2,3,4,5,6,7,8,9,10,11, - 12,13,14,15,16,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,0,83,0,49,0,0, - 0,7,8,9,0,1,2,3,4,67, - 83,0,0,0,66,67,68,69,70,71, - 72,0,74,75,76,86,5,33,34,35, - 36,37,38,39,40,41,42,43,44,45, - 0,0,94,0,1,2,3,4,5,6, + 13,14,0,1,2,3,4,5,6,7, + 8,9,10,11,0,13,14,0,1,2, + 3,4,135,0,1,2,3,4,5,6, 7,8,9,10,11,12,13,14,15,16, 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,0, - 78,78,49,0,1,2,3,4,5,6, - 7,8,9,10,11,0,13,14,0,66, - 67,68,69,70,103,72,105,74,75,76, - 0,1,2,3,4,0,6,7,8,9, - 87,0,12,13,14,0,5,94,0,1, + 83,0,49,0,0,0,7,8,9,0, + 1,2,3,4,67,83,7,8,9,66, + 67,68,69,70,71,72,0,74,75,76, + 86,102,33,34,35,36,37,38,39,40, + 41,42,43,44,45,0,0,94,0,1, 2,3,4,5,6,7,8,9,10,11, 12,13,14,15,16,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,0,0,78,49,0,1, - 2,3,4,0,6,7,8,9,5,79, - 0,13,14,78,66,67,68,69,70,0, - 72,0,74,75,76,6,5,0,1,2, - 3,4,102,6,0,87,0,10,11,0, - 6,5,94,0,1,2,3,4,5,6, + 42,43,44,45,0,0,0,49,0,1, + 2,3,4,5,6,7,8,9,10,11, + 84,13,14,0,66,67,68,69,70,0, + 72,0,74,75,76,0,1,2,3,4, + 0,6,7,8,9,87,0,12,13,14, + 46,5,94,0,1,2,3,4,5,6, 7,8,9,10,11,12,13,14,15,16, 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,86, - 71,0,49,0,1,2,3,4,77,6, - 7,8,9,0,0,71,13,14,0,66, - 67,68,69,70,0,72,12,74,75,76, - 12,0,1,2,3,4,5,6,0,0, - 87,10,11,12,5,0,0,94,0,1, + 37,38,39,40,41,42,43,44,45,0, + 71,78,49,0,1,2,3,4,0,6, + 7,8,9,5,79,84,13,14,78,66, + 67,68,69,70,0,72,0,74,75,76, + 6,0,0,1,2,3,4,102,6,0, + 87,0,10,11,13,14,0,94,0,1, 2,3,4,5,6,7,8,9,10,11, 12,13,14,15,16,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,0,71,82,49,0,86, - 82,7,8,9,0,7,8,9,77,0, - 79,7,8,9,66,67,68,69,70,0, - 72,12,74,75,76,6,0,33,34,35, - 36,37,38,39,40,41,42,43,44,45, - 102,0,94,0,1,2,3,4,5,6, + 42,43,44,45,86,71,0,49,0,1, + 2,3,4,77,6,7,8,9,67,0, + 71,13,14,0,66,67,68,69,70,0, + 72,12,74,75,76,12,0,1,2,3, + 4,5,6,0,0,87,10,11,12,5, + 0,0,94,0,1,2,3,4,5,6, 7,8,9,10,11,12,13,14,15,16, 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,0, - 71,82,49,67,0,0,7,8,9,5, - 0,0,0,1,2,3,4,66,0,66, - 67,68,69,70,12,72,0,74,75,76, - 0,5,33,34,35,36,37,38,39,40, + 71,82,49,0,0,82,7,8,9,0, + 7,8,9,77,0,79,7,8,9,66, + 67,68,69,70,0,72,12,74,75,76, + 6,0,33,34,35,36,37,38,39,40, 41,42,43,44,45,0,0,94,0,1, 2,3,4,5,6,7,8,9,10,11, 12,13,14,15,16,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,82,77,86,49,0,1, - 2,3,4,0,6,7,8,9,103,6, - 105,13,14,0,66,67,68,69,70,0, - 72,0,74,75,76,115,7,8,9,119, - 120,121,122,123,124,125,126,127,128,129, - 37,0,94,0,1,2,3,4,5,6, + 42,43,44,45,0,71,82,49,67,0, + 0,7,8,9,5,0,0,0,1,2, + 3,4,0,67,66,67,68,69,70,12, + 72,0,74,75,76,0,5,33,34,35, + 36,37,38,39,40,41,42,43,44,45, + 0,0,94,0,1,2,3,4,5,6, 7,8,9,10,11,12,13,14,15,16, 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,0, - 71,78,49,0,1,2,3,4,0,6, - 7,8,9,0,1,84,13,14,0,66, + 37,38,39,40,41,42,43,44,45,82, + 78,86,49,0,1,2,3,4,0,6, + 7,8,9,103,6,105,13,14,0,66, 67,68,69,70,0,72,0,74,75,76, - 0,5,6,7,8,9,12,0,12,13, - 14,0,0,130,131,132,33,94,0,1, + 115,7,8,9,119,120,121,122,123,124, + 125,126,127,128,129,37,0,94,0,1, 2,3,4,5,6,7,8,9,10,11, 12,13,14,15,16,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,86,0,78,49,0,1, - 2,3,4,77,78,79,0,77,10,11, - 84,87,71,71,66,67,68,69,70,0, - 72,84,74,75,76,0,1,2,3,4, - 5,6,7,8,9,10,11,0,1,2, - 3,4,94,0,1,2,3,4,5,6, + 42,43,44,45,0,71,78,49,0,1, + 2,3,4,0,6,7,8,9,0,0, + 84,13,14,0,66,67,68,69,70,0, + 72,0,74,75,76,0,5,6,7,8, + 9,12,86,12,13,14,33,34,35,131, + 132,133,94,0,1,2,3,4,5,6, 7,8,9,10,11,12,13,14,15,16, 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,83, - 71,0,49,0,0,1,2,3,4,5, - 6,7,8,9,10,11,0,0,83,66, + 37,38,39,40,41,42,43,44,45,0, + 0,78,49,0,1,2,3,4,77,78, + 79,0,0,10,11,84,87,5,83,66, 67,68,69,70,0,72,0,74,75,76, - 0,1,2,3,4,0,12,0,0,1, - 2,3,4,5,6,10,0,94,10,11, + 0,1,2,3,4,5,6,7,8,9, + 10,11,0,1,2,3,4,94,0,1, + 2,3,4,5,6,7,8,9,10,11, 12,13,14,15,16,17,18,19,20,21, 22,23,24,25,26,27,28,29,30,31, - 32,0,46,49,36,0,5,0,52,53, - 54,55,56,57,46,47,48,83,50,51, - 52,53,54,55,56,57,58,59,60,61, - 62,63,64,65,0,0,103,2,105,0, - 80,81,0,1,2,3,4,0,80,81, - 15,16,17,18,19,20,21,0,23,12, - 0,1,2,3,4,5,6,33,34,35, - 10,11,104,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,28,29, - 30,31,32,0,1,2,3,4,5,6, - 7,8,9,10,11,12,46,47,48,67, - 50,51,52,53,54,55,56,57,58,59, - 60,61,62,63,64,65,0,1,2,3, - 4,5,6,73,87,0,10,11,0,134, - 80,81,49,5,84,0,1,2,3,4, - 5,6,0,114,0,10,11,12,13,14, + 32,33,34,35,36,37,38,39,40,41, + 42,43,44,45,0,71,0,49,0,0, + 1,2,3,4,5,6,7,8,9,10, + 11,0,86,83,66,67,68,69,70,0, + 72,0,74,75,76,0,1,2,3,4, + 0,12,0,0,1,2,3,4,5,6, + 0,0,94,10,11,12,13,14,15,16, + 17,18,19,20,21,22,23,24,25,26, + 27,28,29,30,31,32,0,46,49,36, + 0,5,78,52,53,54,55,56,57,46, + 47,48,83,50,51,52,53,54,55,56, + 57,58,59,60,61,62,63,64,65,103, + 0,105,2,0,1,2,3,4,78,6, + 7,8,9,80,81,15,16,17,18,19, + 20,21,0,23,83,0,1,2,3,4, + 5,6,0,0,0,10,11,104,13,14, 15,16,17,18,19,20,21,22,23,24, - 25,26,27,28,29,30,31,32,0,0, - 0,36,47,48,0,1,2,3,4,0, - 0,46,47,48,10,50,51,52,53,54, + 25,26,27,28,29,30,31,32,0,1, + 2,3,4,5,6,7,8,9,10,11, + 12,46,47,48,0,50,51,52,53,54, 55,56,57,58,59,60,61,62,63,64, 65,0,1,2,3,4,5,6,73,0, - 0,10,11,12,13,14,15,16,17,18, - 19,20,21,22,23,24,25,26,27,28, - 29,30,31,32,0,1,2,3,4,104, - 6,67,0,0,10,11,0,46,47,48, - 71,50,51,52,53,54,55,56,57,58, - 59,60,61,62,63,64,65,0,1,2, - 3,4,0,1,73,0,0,1,2,3, - 4,5,6,82,12,0,10,11,87,13, - 14,15,16,17,18,19,20,21,22,23, - 24,25,26,27,28,29,30,31,32,0, - 1,2,3,4,5,6,0,71,46,10, - 11,78,46,47,48,83,50,51,52,53, - 54,55,56,57,58,59,60,61,62,63, - 64,65,0,1,2,3,4,5,6,73, - 0,79,10,11,12,5,80,81,0,1, - 2,3,4,5,6,0,0,0,10,11, - 12,13,14,15,16,17,18,19,20,21, - 22,23,24,25,26,27,28,29,30,31, - 32,49,0,1,2,3,4,5,6,33, - 34,35,10,11,46,47,48,0,50,51, - 52,53,54,55,56,57,58,59,60,61, - 62,63,64,65,0,1,2,3,4,0, - 0,73,0,1,2,3,4,5,6,0, - 82,0,10,11,0,13,14,15,16,17, - 18,19,20,21,22,23,24,25,26,27, - 28,29,30,31,32,0,22,102,0,77, - 0,0,7,8,9,5,5,0,46,47, - 48,0,50,51,52,53,54,55,56,57, - 58,59,60,61,62,63,64,65,0,1, - 2,3,4,5,6,73,0,0,10,11, - 66,67,80,81,0,1,2,3,4,5, - 6,50,51,0,10,11,0,13,14,15, - 16,17,18,19,20,21,22,23,24,25, - 26,27,28,29,30,31,32,77,77,0, - 1,2,3,4,0,1,2,3,4,10, - 46,47,48,0,50,51,52,53,54,55, - 56,57,58,59,60,61,62,63,64,65, - 0,1,2,3,4,78,0,73,0,118, - 0,84,86,0,80,81,0,1,2,3, - 4,5,6,0,133,0,10,11,0,13, - 14,15,16,17,18,19,20,21,22,23, - 24,25,26,27,28,29,30,31,32,0, - 1,2,3,4,0,47,48,0,33,34, - 35,115,46,47,48,119,50,51,52,53, - 54,55,56,57,58,59,60,61,62,63, - 64,65,0,0,71,0,103,0,105,73, - 7,8,9,0,71,0,80,81,0,1, - 2,3,4,5,6,0,78,84,10,11, - 12,13,14,15,16,17,18,19,20,21, - 22,23,24,25,26,27,28,29,30,31, - 32,108,109,0,0,0,0,0,5,116, - 117,7,8,9,46,47,48,0,50,51, - 52,53,54,55,56,57,58,59,60,61, - 62,63,64,65,71,83,71,0,83,0, - 83,73,0,1,2,3,4,5,6,12, - 82,0,10,11,12,13,14,15,16,17, - 18,19,20,21,22,23,24,25,26,27, - 28,29,30,31,32,0,1,2,3,4, - 0,6,7,8,9,78,49,0,46,47, - 48,84,50,51,52,53,54,55,56,57, - 58,59,60,61,62,63,64,65,0,1, - 2,3,4,5,6,78,77,0,10,11, - 12,13,14,15,16,17,18,19,20,21, - 22,23,24,25,26,27,28,29,30,31, - 32,0,67,0,0,0,104,0,7,8, - 9,7,8,9,46,47,48,77,50,51, - 52,53,54,55,56,57,58,59,60,61, - 62,63,64,65,0,1,2,3,4,5, - 6,0,0,0,10,11,5,13,14,15, - 16,17,18,19,20,21,22,23,24,25, - 26,27,28,29,30,31,32,0,1,2, - 3,4,104,6,7,8,9,0,71,0, - 46,47,48,0,50,51,52,53,54,55, - 56,57,58,59,60,61,62,63,64,65, - 0,1,2,3,4,5,6,73,0,0, - 10,11,0,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,28,29, - 30,31,32,0,67,0,0,1,2,3, - 4,0,0,7,8,9,46,47,48,13, - 50,51,52,53,54,55,56,57,58,59, - 60,61,62,63,64,65,83,0,0,1, - 2,3,4,5,6,0,134,77,10,11, - 5,13,14,15,16,17,18,19,20,21, - 22,23,24,25,26,27,28,29,30,31, - 32,0,0,67,0,0,1,2,3,4, - 0,7,8,9,46,47,48,0,50,51, - 52,53,54,55,56,57,58,59,60,61, - 62,63,64,65,0,1,2,3,4,5, - 6,73,0,0,10,11,0,13,14,15, - 16,17,18,19,20,21,22,23,24,25, - 26,27,28,29,30,31,32,0,1,2, - 3,4,67,6,0,73,0,10,11,5, - 46,47,48,0,50,51,52,53,54,55, - 56,57,58,59,60,61,62,63,64,65, - 0,1,2,3,4,5,6,0,0,0, - 10,11,5,13,14,15,16,17,18,19, + 0,10,11,71,71,80,81,49,86,84, + 0,1,2,3,4,5,6,83,0,0, + 10,11,12,13,14,15,16,17,18,19, 20,21,22,23,24,25,26,27,28,29, - 30,31,32,0,67,0,0,0,1,2, - 3,4,7,8,9,0,46,47,48,0, + 30,31,32,0,0,71,36,47,48,0, + 1,2,3,4,0,0,46,47,48,10, 50,51,52,53,54,55,56,57,58,59, 60,61,62,63,64,65,0,1,2,3, - 4,5,6,0,0,0,10,11,5,13, + 4,5,6,73,0,1,10,11,12,13, 14,15,16,17,18,19,20,21,22,23, 24,25,26,27,28,29,30,31,32,0, - 1,2,3,4,67,6,0,71,0,10, - 11,5,46,47,48,0,50,51,52,53, + 1,2,3,4,104,6,67,33,0,10, + 11,0,46,47,48,71,50,51,52,53, 54,55,56,57,58,59,60,61,62,63, - 64,65,0,1,2,3,4,5,6,0, - 0,0,10,11,5,13,14,15,16,17, - 18,19,20,21,22,23,24,25,26,27, - 28,29,30,31,32,0,67,0,1,2, - 3,4,0,1,2,3,4,0,46,47, - 48,0,50,51,52,53,54,55,56,57, - 58,59,60,61,62,63,64,65,0,1, - 2,3,4,5,6,0,0,0,10,11, - 0,13,14,15,16,17,18,19,20,21, - 22,23,24,25,26,27,28,29,30,31, - 32,0,0,0,67,0,0,6,6,67, - 7,8,9,0,46,47,48,0,50,51, - 52,53,54,55,56,57,58,59,60,61, - 62,63,64,65,0,1,2,3,4,5, - 6,0,0,0,10,11,0,13,14,15, - 16,17,18,19,20,21,22,23,24,25, - 26,27,28,29,30,31,32,0,1,2, - 3,4,71,71,0,0,0,0,0,0, - 46,47,48,0,50,51,52,53,54,55, - 56,57,58,59,60,61,62,63,64,65, - 0,1,2,3,4,5,6,0,0,0, - 10,11,0,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,28,29, - 30,31,32,0,67,0,0,0,5,0, - 0,0,5,0,0,12,46,47,48,12, - 50,51,52,53,54,55,56,57,58,59, - 60,61,62,63,64,65,0,1,2,3, - 4,0,6,7,8,9,0,0,7,8, - 9,15,16,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,79,0,77,78,79,0,83,0, - 0,84,0,1,2,3,4,86,6,7, - 8,9,66,0,68,69,70,15,16,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,0,0, - 0,0,0,0,0,0,0,0,0,1, - 2,3,4,0,6,7,8,9,66,0, - 68,69,70,15,16,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,0,0,0,0,0,0, - 0,0,0,0,0,1,2,3,4,0, - 6,7,8,9,66,12,68,69,70,15, - 16,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, - 0,0,0,0,0,5,0,0,0,0, - 10,5,0,13,14,71,12,71,12,0, - 66,12,68,69,70,22,0,0,84,0, - 84,12,79,7,8,9,83,0,12,12, - 0,0,0,0,0,0,0,47,48,12, - 50,51,108,109,108,109,12,12,58,0, - 116,117,116,117,0,0,0,0,1,66, - 67,71,0,0,0,49,49,77,78,12, - 80,81,78,77,84,79,86,78,79,0, - 0,87,0,49,49,0,0,78,79,0, - 100,101,0,103,78,78,106,107,108,109, - 110,111,112,113,114,115,79,0,118,0, - 120,121,122,123,124,125,126,127,128,129, - 0,1,2,3,4,5,6,7,8,9, - 10,11,12,13,14,86,79,0,1,2, - 3,4,5,6,7,8,9,10,11,12, - 13,14,0,33,34,35,36,37,38,39, - 40,41,42,43,44,45,0,0,86,49, - 33,34,35,36,37,38,39,40,41,42, - 43,44,45,0,0,0,49,0,0,0, - 0,71,0,86,0,12,12,77,0,79, - 0,0,0,0,0,0,0,0,0,0, - 0,0,46,12,77,12,79,0,1,2, - 3,4,5,6,7,8,9,10,11,12, - 13,14,49,67,0,1,2,3,4,5, - 6,7,8,9,10,11,12,13,14,0, + 64,65,0,1,2,3,4,0,1,73, + 0,0,1,2,3,4,5,6,82,12, + 10,10,11,87,13,14,15,16,17,18, + 19,20,21,22,23,24,25,26,27,28, + 29,30,31,32,0,1,2,3,4,5, + 6,0,71,46,10,11,78,46,47,48, + 0,50,51,52,53,54,55,56,57,58, + 59,60,61,62,63,64,65,0,1,2, + 3,4,5,6,73,0,79,10,11,12, + 5,80,81,0,1,2,3,4,5,6, + 0,0,0,10,11,12,13,14,15,16, + 17,18,19,20,21,22,23,24,25,26, + 27,28,29,30,31,32,49,0,1,2, + 3,4,5,6,83,0,0,10,11,46, + 47,48,6,50,51,52,53,54,55,56, + 57,58,59,60,61,62,63,64,65,0, + 0,0,1,2,3,4,73,0,1,2, + 3,4,5,6,73,82,0,10,11,0, + 13,14,15,16,17,18,19,20,21,22, + 23,24,25,26,27,28,29,30,31,32, + 0,22,0,103,77,105,0,7,8,9, + 0,5,0,46,47,48,6,50,51,52, + 53,54,55,56,57,58,59,60,61,62, + 63,64,65,0,1,2,3,4,5,6, + 73,80,81,10,11,66,67,80,81,0, + 1,2,3,4,5,6,50,51,0,10, + 11,0,13,14,15,16,17,18,19,20, + 21,22,23,24,25,26,27,28,29,30, + 31,32,0,77,0,1,2,3,4,0, + 1,2,3,4,10,46,47,48,86,50, + 51,52,53,54,55,56,57,58,59,60, + 61,62,63,64,65,0,1,2,3,4, + 0,0,73,0,118,0,5,0,5,80, + 81,0,1,2,3,4,5,6,0,12, + 134,10,11,0,13,14,15,16,17,18, + 19,20,21,22,23,24,25,26,27,28, + 29,30,31,32,0,1,2,3,4,0, + 1,2,3,4,0,0,49,46,47,48, + 5,50,51,52,53,54,55,56,57,58, + 59,60,61,62,63,64,65,115,0,0, + 77,119,77,83,73,78,7,8,9,71, + 12,80,81,0,1,2,3,4,5,6, + 0,78,84,10,11,12,13,14,15,16, + 17,18,19,20,21,22,23,24,25,26, + 27,28,29,30,31,32,108,109,0,0, + 0,1,0,5,116,117,7,8,9,46, + 47,48,12,50,51,52,53,54,55,56, + 57,58,59,60,61,62,63,64,65,0, + 0,0,0,0,0,87,73,0,1,2, + 3,4,5,6,12,82,0,10,11,12, + 13,14,15,16,17,18,19,20,21,22, + 23,24,25,26,27,28,29,30,31,32, + 0,0,0,0,1,2,3,4,0,79, + 7,8,9,46,47,48,13,50,51,52, + 53,54,55,56,57,58,59,60,61,62, + 63,64,65,0,1,2,3,4,5,6, + 78,79,83,10,11,12,13,14,15,16, + 17,18,19,20,21,22,23,24,25,26, + 27,28,29,30,31,32,103,66,105,0, + 67,104,0,1,2,3,4,0,0,46, + 47,48,5,50,51,52,53,54,55,56, + 57,58,59,60,61,62,63,64,65,0, + 1,2,3,4,5,6,130,0,0,10, + 11,0,13,14,15,16,17,18,19,20, + 21,22,23,24,25,26,27,28,29,30, + 31,32,0,1,2,3,4,104,6,67, + 71,0,10,11,0,46,47,48,0,50, + 51,52,53,54,55,56,57,58,59,60, + 61,62,63,64,65,0,1,2,3,4, + 5,6,73,0,0,10,11,0,13,14, + 15,16,17,18,19,20,21,22,23,24, + 25,26,27,28,29,30,31,32,0,67, + 0,0,0,0,0,1,2,3,4,6, + 0,46,47,48,0,50,51,52,53,54, + 55,56,57,58,59,60,61,62,63,64, + 65,83,0,0,1,2,3,4,5,6, + 0,130,77,10,11,5,13,14,15,16, + 17,18,19,20,21,22,23,24,25,26, + 27,28,29,30,31,32,0,1,2,3, + 4,67,6,0,71,0,10,11,5,46, + 47,48,0,50,51,52,53,54,55,56, + 57,58,59,60,61,62,63,64,65,0, + 1,2,3,4,5,6,73,130,0,10, + 11,0,13,14,15,16,17,18,19,20, + 21,22,23,24,25,26,27,28,29,30, + 31,32,130,67,0,1,2,3,4,0, + 1,2,3,4,0,46,47,48,0,50, + 51,52,53,54,55,56,57,58,59,60, + 61,62,63,64,65,0,1,2,3,4, + 5,6,0,0,0,10,11,5,13,14, + 15,16,17,18,19,20,21,22,23,24, + 25,26,27,28,29,30,31,32,0,0, + 0,67,0,5,0,0,67,7,8,9, + 6,46,47,48,0,50,51,52,53,54, + 55,56,57,58,59,60,61,62,63,64, + 65,0,1,2,3,4,5,6,0,0, + 0,10,11,5,13,14,15,16,17,18, + 19,20,21,22,23,24,25,26,27,28, + 29,30,31,32,0,1,2,3,4,0, + 1,2,3,4,0,71,71,46,47,48, + 0,50,51,52,53,54,55,56,57,58, + 59,60,61,62,63,64,65,0,1,2, + 3,4,5,6,0,0,0,10,11,5, + 13,14,15,16,17,18,19,20,21,22, + 23,24,25,26,27,28,29,30,31,32, + 0,67,0,0,0,0,67,7,8,9, + 7,8,9,46,47,48,0,50,51,52, + 53,54,55,56,57,58,59,60,61,62, + 63,64,65,0,1,2,3,4,5,6, + 0,0,0,10,11,0,13,14,15,16, + 17,18,19,20,21,22,23,24,25,26, + 27,28,29,30,31,32,0,0,0,0, + 0,0,0,7,8,9,7,8,9,46, + 47,48,0,50,51,52,53,54,55,56, + 57,58,59,60,61,62,63,64,65,0, + 1,2,3,4,5,6,0,0,0,10, + 11,0,13,14,15,16,17,18,19,20, + 21,22,23,24,25,26,27,28,29,30, + 31,32,0,0,0,0,0,0,0,7, + 8,9,0,6,0,46,47,48,0,50, + 51,52,53,54,55,56,57,58,59,60, + 61,62,63,64,65,0,1,2,3,4, + 5,6,0,0,0,10,11,0,13,14, + 15,16,17,18,19,20,21,22,23,24, + 25,26,27,28,29,30,31,32,0,22, + 0,0,0,5,0,0,0,5,71,0, + 12,46,47,48,12,50,51,52,53,54, + 55,56,57,58,59,60,61,62,63,64, + 65,0,1,2,3,4,0,6,7,8, + 9,0,0,66,67,0,15,16,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,79,78,77, + 78,79,0,0,84,0,84,0,1,2, + 3,4,0,6,7,8,9,66,0,68, + 69,70,15,16,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,79,0,0,49,33,34,35, - 36,37,38,39,40,41,42,43,44,45, - 79,78,79,49,86,0,102,0,1,2, - 3,4,5,6,77,0,79,10,11,12, - 0,0,0,0,0,5,0,12,0,0, - 0,77,12,79,12,12,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, + 43,44,45,0,0,0,0,0,0,47, + 48,0,0,0,1,2,3,4,0,6, + 7,8,9,66,0,68,69,70,15,16, + 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,0, + 0,0,0,0,0,47,48,0,0,0, + 1,2,3,4,0,6,7,8,9,66, + 12,68,69,70,15,16,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,0,0,0,0,0, + 5,0,0,0,0,10,5,0,13,14, + 71,12,71,12,0,66,12,68,69,70, + 0,0,0,84,0,84,12,79,7,8, + 9,83,0,12,12,0,0,0,0,0, + 0,0,47,48,12,50,51,108,109,108, + 109,12,12,58,0,116,117,116,117,0, + 0,0,0,49,0,0,71,0,0,0, + 49,49,77,78,12,80,81,78,77,84, + 79,86,78,79,86,78,87,0,49,49, + 0,84,78,0,0,100,101,0,103,78, + 0,106,107,108,109,110,111,112,113,114, + 115,79,0,118,0,120,121,122,123,124, + 125,126,127,128,129,0,1,2,3,4, + 5,6,7,8,9,10,11,12,13,14, + 78,79,0,1,2,3,4,5,6,7, + 8,9,10,11,12,13,14,0,33,34, + 35,36,37,38,39,40,41,42,43,44, + 45,0,0,86,49,33,34,35,36,37, + 38,39,40,41,42,43,44,45,0,0, + 0,49,0,0,0,0,71,0,86,0, + 0,12,77,0,79,0,0,0,0,0, + 0,12,0,0,0,0,0,0,12,77, + 12,79,0,1,2,3,4,5,6,7, + 8,9,10,11,12,13,14,0,0,0, + 1,2,3,4,5,6,7,8,9,10, + 11,12,13,14,0,33,34,35,36,37, + 38,39,40,41,42,43,44,45,79,0, + 0,49,33,34,35,36,37,38,39,40, + 41,42,43,44,45,79,87,79,49,0, + 0,102,0,1,2,3,4,5,6,77, + 0,79,10,11,12,0,0,0,0,0, + 5,0,12,0,0,0,77,12,79,12, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,77,78,79,0,0,0, - 0,84,0,86,79,0,0,77,78,79, - 0,79,79,0,84,0,0,0,0,102, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,77, + 78,79,0,0,0,0,84,0,86,79, + 0,0,77,78,79,0,79,0,0,84, + 0,0,0,0,102,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,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; @@ -2202,569 +2203,570 @@ public class XlcCPPParserprs implements lpg.lpgjavaruntime.ParseTable, XlcCPPPar public interface TermAction { public final static char termAction[] = {0, - 8285,7392,7392,7392,7392,7392,7392,7392,7392,7392, - 7392,7392,7392,7392,7392,7392,7392,7392,7392,7392, - 7392,7392,7392,7392,7392,7392,7392,7392,7392,7392, - 7392,7392,7392,7392,7392,7392,7392,7392,7392,7392, - 7392,7392,7392,7392,7392,7392,7392,7392,7392,7392, - 7392,7392,7392,7392,7392,7392,7392,7392,7392,7392, - 7392,7392,7392,7392,7392,7392,7392,299,7392,7392, - 7392,7392,1,7392,1141,1089,1095,7392,7392,7392, - 7392,7392,7392,7392,7392,7392,7392,7392,1,7322, - 7310,7314,7318,3154,7307,7341,7335,7338,735,2740, - 7392,7392,7392,7392,7392,7392,7392,7392,7392,7392, - 7392,7392,7392,7392,7392,7392,7392,7392,7392,7392, - 7392,7392,7392,7392,7392,7392,7392,7392,7392,7392, - 29,8285,3440,7392,8285,8090,7288,7288,7288,7288, - 7288,7281,7288,7288,7288,7288,8145,7288,7288,1, - 1,1,1,1,1,1,1,1,1,1, + 8290,7394,7394,7394,7394,7394,7394,7394,7394,7394, + 7394,7394,7394,7394,7394,7394,7394,7394,7394,7394, + 7394,7394,7394,7394,7394,7394,7394,7394,7394,7394, + 7394,7394,7394,7394,7394,7394,7394,7394,7394,7394, + 7394,7394,7394,7394,7394,7394,7394,7394,7394,7394, + 7394,7394,7394,7394,7394,7394,7394,7394,7394,7394, + 7394,7394,7394,7394,7394,7394,7394,300,7394,7394, + 7394,7394,1,7394,1143,1091,1097,7394,7394,7394, + 7394,7394,7394,7394,7394,7394,7394,7394,1,7324, + 7312,7316,7320,3156,7309,7343,7337,7340,737,2742, + 7394,7394,7394,7394,7394,7394,7394,7394,7394,7394, + 7394,7394,7394,7394,7394,7394,7394,7394,7394,7394, + 7394,7394,7394,7394,7394,7394,7394,7394,7394,7394, + 8290,29,387,763,7394,8290,8092,7290,7290,7290, + 7290,7290,7283,7290,7290,7290,7290,8147,7290,7290, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,8094,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1899,1,1,1,115,1318,1,730,739, - 8460,386,8285,426,1,1,8296,3713,5838,1108, - 8285,8292,3886,2264,2548,2156,3792,3918,1,3875, - 852,3841,3636,3830,10,8148,8148,8148,8148,8148, - 8148,8148,8148,8148,8148,8148,8148,8148,8148,8148, - 8148,8148,8148,8148,8148,8148,8148,8148,8148,8148, - 8148,8148,8148,8148,8148,8148,8148,8148,8148,8148, - 8148,8148,8148,8148,8148,8148,8148,8148,8148,8148, - 8148,8148,8148,8148,8148,8148,8148,8148,8148,8148, - 8148,8148,8148,8148,8148,8148,8148,8148,8148,8148, - 8148,8285,8148,8148,8148,117,8148,8148,8148,8148, - 8148,5803,5064,1914,8148,8148,8148,8285,5838,8148, - 761,8148,8148,8148,8148,8148,8148,8148,8285,8148, - 8148,8148,8148,8148,8,8172,8172,8172,8172,8172, - 8172,8172,8172,8172,8172,8172,8172,8172,8172,8172, - 8172,8172,8172,8172,8172,8172,8172,8172,8172,8172, - 8172,8172,8172,8172,8172,8172,8172,8172,8172,8172, - 8172,8172,8172,8172,8172,8172,8172,8172,8172,8172, - 8172,8172,8172,8172,8172,8172,8172,8172,8172,8172, - 8172,8172,8172,8172,8172,8172,8172,8172,8172,8172, - 8172,8285,8172,8172,8172,116,8172,8172,8172,8172, - 8172,5803,5064,8289,8172,8172,8172,121,5838,8172, - 580,8172,8172,8172,8172,8172,8172,8172,8285,8172, - 8172,8172,8172,8172,8285,8090,7288,7288,7288,7288, - 7288,7281,7288,7288,7288,7288,8097,7288,7288,1, + 1,1,1,1,8096,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1901,1,1,1,115,1320,1,732, + 741,8465,8290,8290,427,1,1,8301,3715,5840, + 1110,8290,8297,3888,2266,2550,2158,3794,3920,1, + 3877,854,3843,3638,3832,10,8150,8150,8150,8150, + 8150,8150,8150,8150,8150,8150,8150,8150,8150,8150, + 8150,8150,8150,8150,8150,8150,8150,8150,8150,8150, + 8150,8150,8150,8150,8150,8150,8150,8150,8150,8150, + 8150,8150,8150,8150,8150,8150,8150,8150,8150,8150, + 8150,8150,8150,8150,8150,8150,8150,8150,8150,8150, + 8150,8150,8150,8150,8150,8150,8150,8150,8150,8150, + 8150,8150,8290,8150,8150,8150,117,8150,8150,8150, + 8150,8150,5805,5066,1916,8150,8150,8150,8290,5840, + 8150,8290,8150,8150,8150,8150,8150,8150,8150,8290, + 8150,8150,8150,8150,8150,8,8174,8174,8174,8174, + 8174,8174,8174,8174,8174,8174,8174,8174,8174,8174, + 8174,8174,8174,8174,8174,8174,8174,8174,8174,8174, + 8174,8174,8174,8174,8174,8174,8174,8174,8174,8174, + 8174,8174,8174,8174,8174,8174,8174,8174,8174,8174, + 8174,8174,8174,8174,8174,8174,8174,8174,8174,8174, + 8174,8174,8174,8174,8174,8174,8174,8174,8174,8174, + 8174,8174,8290,8174,8174,8174,116,8174,8174,8174, + 8174,8174,5805,5066,8294,8174,8174,8174,121,5840, + 8174,582,8174,8174,8174,8174,8174,8174,8174,8290, + 8174,8174,8174,8174,8174,8290,8092,7290,7290,7290, + 7290,7290,7283,7290,7290,7290,7290,8099,7290,7290, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,8094,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,129,1,1,1,8288,1318,1,730,739, - 8460,5803,5064,8285,1,1,8296,5186,5227,1108, - 5186,5227,3886,2264,2548,2156,3792,3918,321,3875, - 852,3841,3636,3830,8285,8090,7288,7288,7288,7288, - 7288,7281,7288,7288,7288,7288,8097,7288,7288,1, + 1,1,1,1,8096,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,129,1,1,1,8293,1320,1,732, + 741,8465,5805,5066,8290,1,1,8301,5188,5229, + 1110,5188,5229,3888,2266,2550,2158,3794,3920,322, + 3877,854,3843,3638,3832,8290,8092,7290,7290,7290, + 7290,7290,7283,7290,7290,7290,7290,8099,7290,7290, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,8094,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,133,1,1,1,1580,1318,1,730,739, - 8460,4714,4660,8285,1,1,8296,579,787,1108, - 125,8285,3886,2264,2548,2156,3792,3918,8285,3875, - 852,3841,3636,3830,8285,8090,7288,7288,7288,7288, - 7288,7281,7288,7288,7288,7288,8097,7288,7288,1, + 1,1,1,1,8096,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,133,1,1,1,1582,1320,1,732, + 741,8465,4716,4662,8290,1,1,8301,581,789, + 1110,125,8290,3888,2266,2550,2158,3794,3920,8290, + 3877,854,3843,3638,3832,8290,8092,7290,7290,7290, + 7290,7290,7283,7290,7290,7290,7290,8099,7290,7290, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,8094,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,8285,1,1,1,6286,1318,1,730,739, - 8460,124,8799,3548,1,1,8296,5186,5227,1108, - 5186,5227,3886,2264,2548,2156,3792,3918,460,3875, - 852,3841,3636,3830,8285,8090,7288,7288,7288,7288, - 7288,7281,7288,7288,7288,7288,8097,7288,7288,1, + 1,1,1,1,8096,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,8290,1,1,1,6288,1320,1,732, + 741,8465,124,8805,3550,1,1,8301,5188,5229, + 1110,5188,5229,3888,2266,2550,2158,3794,3920,461, + 3877,854,3843,3638,3832,8290,8092,7290,7290,7290, + 7290,7290,7283,7290,7290,7290,7290,8099,7290,7290, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,8094,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,130,1,1,1,7856,1318,1,730,739, - 8460,5186,5227,8285,1,1,8296,123,1504,1108, - 122,8285,3886,2264,2548,2156,3792,3918,459,3875, - 852,3841,3636,3830,8285,8090,7288,7288,7288,7288, - 7288,7281,7288,7288,7288,7288,8097,7288,7288,1, + 1,1,1,1,8096,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,130,1,1,1,7858,1320,1,732, + 741,8465,5188,5229,8290,1,1,8301,123,1506, + 1110,122,8290,3888,2266,2550,2158,3794,3920,460, + 3877,854,3843,3638,3832,8290,8092,7290,7290,7290, + 7290,7290,7283,7290,7290,7290,7290,8099,7290,7290, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,8094,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,134,1,1,1,7859,1318,1,730,739, - 8460,4714,4660,8285,1,1,8296,5186,5227,1108, - 5186,5227,3886,2264,2548,2156,3792,3918,8285,3875, - 852,3841,3636,3830,8285,8090,7288,7288,7288,7288, - 7288,7281,7288,7288,7288,7288,8097,7288,7288,1, - 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,8096,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,134,1,1,1,7861,1320,1,732, + 741,8465,4716,4662,194,1,1,8301,5188,5229, + 1110,5188,5229,3888,2266,2550,2158,3794,3920,8290, + 3877,854,3843,3638,3832,8290,8092,7290,7290,7290, + 7290,7290,7283,7290,7290,7290,7290,8099,7290,7290, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,8094,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,4003,1,1,1,39,1318,1,730,739, - 8460,8323,8285,3548,1,1,8296,1623,8285,1108, - 8285,8285,3886,2264,2548,2156,3792,3918,8285,3875, - 852,3841,3636,3830,8285,8090,7288,7288,7288,7288, - 7288,7281,7288,7288,7288,7288,8097,7288,7288,1, + 1,1,1,1,8096,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,8178,1,1,1,39,1320,1,732, + 741,8465,8328,8290,3550,1,1,8301,1625,8290, + 1110,8290,3442,3888,2266,2550,2158,3794,3920,8290, + 3877,854,3843,3638,3832,8290,8092,7290,7290,7290, + 7290,7290,7283,7290,7290,7290,7290,8099,7290,7290, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,8094,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,4183,1,1,1,8285,1318,1,730,739, - 8460,989,8285,8285,1,1,8296,1676,2058,1108, - 2979,8285,3886,2264,2548,2156,3792,3918,450,3875, - 852,3841,3636,3830,8285,8090,7288,7288,7288,7288, - 7288,7281,7288,7288,7288,7288,8097,7288,7288,1, + 1,1,1,1,8096,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,8094,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,8285,1,1,1,135,1318,1,730,739, - 8460,857,8285,8285,1,1,8296,3361,1360,1108, - 8285,8285,3886,2264,2548,2156,3792,3918,1,3875, - 852,3841,3636,3830,8285,8090,7288,7288,7288,7288, - 7288,7281,7288,7288,7288,7288,8097,7288,7288,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,8094,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,8285,1,1,1,3888,1318,1,730,739, - 8460,2,572,8285,1,1,8296,3224,3511,1108, - 8285,8285,3886,2264,2548,2156,3792,3918,8285,3875, - 852,3841,3636,3830,8285,8090,7288,7288,7288,7288, - 7288,7281,7288,7288,7288,7288,8097,7288,7288,1, + 1,1,4185,1,1,1,8290,1320,1,732, + 741,8465,991,8290,8290,1,1,8301,1678,2060, + 1110,2981,8290,3888,2266,2550,2158,3794,3920,451, + 3877,854,3843,3638,3832,8290,8092,7290,7290,7290, + 7290,7290,7283,7290,7290,7290,7290,8099,7290,7290, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,8094,1,1,1,1,1,1, + 1,1,1,1,8096,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,8290,1,1,1,135,1320,1,732, + 741,8465,859,8290,8290,1,1,8301,3363,1362, + 1110,8290,8290,3888,2266,2550,2158,3794,3920,1, + 3877,854,3843,3638,3832,8290,8092,7290,7290,7290, + 7290,7290,7283,7290,7290,7290,7290,8099,7290,7290, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,8096,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,8290,1,1,1,3890,1320,1,732, + 741,8465,2,574,8290,1,1,8301,3226,3513, + 1110,8290,8290,3888,2266,2550,2158,3794,3920,8290, + 3877,854,3843,3638,3832,8290,8092,7290,7290,7290, + 7290,7290,7283,7290,7290,7290,7290,8099,7290,7290, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,8096,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,8285,1,1,1,3894,1318,1,730,739, - 8460,8688,559,91,1,1,8296,2492,7990,1108, - 8285,8285,3886,2264,2548,2156,3792,3918,8285,3875, - 852,3841,3636,3830,8285,8090,7288,7288,7288,7288, - 7288,7281,7288,7288,7288,7288,8097,7288,7288,1, + 1,1,8290,1,1,1,3896,1320,1,732, + 741,8465,8694,561,91,1,1,8301,2494,7992, + 1110,8290,8290,3888,2266,2550,2158,3794,3920,8290, + 3877,854,3843,3638,3832,8290,8092,7290,7290,7290, + 7290,7290,7283,7290,7290,7290,7290,8099,7290,7290, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,8094,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,137,1,1,1,8285,1318,1,730,739, - 8460,3228,39,8285,1,1,8296,8285,8323,1108, - 571,8285,3886,2264,2548,2156,3792,3918,185,3875, - 852,3841,3636,3830,8285,7862,7862,7862,7862,7862, - 7862,7862,7862,7862,7862,7862,7862,7862,7862,3081, - 8623,8624,1172,224,38,7799,7790,7793,7796,1245, - 7407,7401,7404,7280,7787,2740,3005,7862,7862,7862, - 7862,7862,7862,7862,7862,7862,7862,7862,7862,7862, - 6029,7862,7862,7862,7862,7862,7416,7413,7410,7434, - 7422,7440,7419,7431,7398,7425,7428,7437,7395,8285, - 289,7551,7551,7551,7551,7862,284,1141,1089,1095, - 8285,7862,7862,7862,389,3448,7862,7862,7862,7862, - 7862,7862,332,7301,7291,7605,7298,3154,748,1141, - 1089,1095,735,2740,7862,7862,7862,7862,7862,7862, - 7862,7862,7862,7862,7862,7862,7862,7862,7862,7862, - 7862,7862,7862,7862,7862,7862,7862,7862,7862,7862, - 7862,7862,7862,7862,8282,8285,1451,7862,8285,7993, - 7993,7993,7993,7993,7993,7993,7993,7993,7993,7993, - 7993,7993,7993,8285,39,7602,8285,225,2188,2743, - 8323,1141,1089,1095,7455,7449,7452,332,332,7007, - 4740,7993,7993,7993,7993,7993,7993,7993,7993,7993, - 7993,7993,7993,7993,566,7993,7993,7993,7993,7993, - 7464,7461,7458,7482,7470,7488,7467,7479,7446,7473, - 7476,7485,7443,8285,599,7829,7829,7829,7829,7993, - 604,1141,1089,1095,546,7993,7993,7993,8850,1480, - 7993,7993,7993,7993,7993,7993,602,7301,7291,7605, - 7298,3154,748,1141,1089,1095,735,2740,7993,7993, - 7993,7993,7993,7993,7993,7993,7993,7993,7993,7993, - 7993,7993,7993,7993,7993,7993,7993,7993,7993,7993, - 7993,7993,7993,7993,7993,7993,7993,7993,456,4023, - 5923,7993,39,7301,7291,7294,7298,4216,748,1141, - 1089,1095,6263,2740,8285,6171,6194,8550,8548,8556, - 8552,8553,8551,8554,1062,8555,8891,8892,8557,8558, - 8549,8897,8898,8899,6631,8623,8624,1172,8541,8545, - 8539,8546,8542,8518,8544,8543,8540,8519,8304,6148, - 6125,303,6240,6217,8306,8307,8305,8301,8302,8303, - 3852,1780,1962,1863,6609,1898,1760,6518,8685,7802, - 4322,8686,8687,8587,131,1923,39,7301,7291,7605, - 7298,4216,748,1141,1089,1095,6263,2740,3890,6171, - 6194,8550,8548,8556,8552,8553,8551,8554,1062,8555, - 8891,8892,8557,8558,8549,8897,8898,8899,6631,8623, - 8624,1172,8541,8545,8539,8546,8542,8518,8544,8543, - 8540,8519,8304,6148,6125,303,6240,6217,8306,8307, - 8305,8301,8302,8303,3852,1780,1962,1863,6609,1898, - 1760,6518,8685,8285,4322,8686,8687,8587,8285,1923, - 8285,7908,7908,7908,7908,229,7904,7288,7288,7288, - 229,229,7912,229,229,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,47,695,8285,229, - 346,7301,7291,7605,7298,5036,748,1141,1089,1095, - 735,2740,37,332,332,5984,1,7901,1,1, - 1,397,5968,8285,841,739,8699,390,1141,1089, - 1095,223,8285,229,605,136,7101,418,7356,7350, - 7353,1141,1089,1095,8787,8285,8550,8548,8556,8552, - 8553,8551,8554,8285,8555,8891,8892,8557,8558,8549, - 8897,8898,8899,773,7365,7362,7359,7383,7371,7389, - 7368,7380,7347,7374,7377,7386,7344,1580,2256,8321, - 8722,8723,8724,8285,7908,7908,7908,7908,229,7904, - 7288,7288,7288,229,229,8087,229,229,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,3916, - 8285,118,229,310,7322,7310,7314,7318,3154,7307, - 7341,7335,7338,735,2740,8285,7784,7784,3511,1, - 7901,1,1,1,132,5968,8285,841,739,8699, - 8285,7617,7608,7611,7614,634,229,7898,3890,8285, - 417,8285,7895,7889,7892,1,3005,8787,5638,5608, - 8907,8910,8906,8912,8913,8911,8908,7987,8909,8285, - 7301,7291,7605,7298,8285,8323,1,441,8623,8624, - 1172,8541,8545,8539,8546,8542,8518,8544,8543,8540, - 8519,309,35,8722,8723,8724,8285,7288,7288,7288, - 7288,229,7288,7281,7288,7288,229,229,7332,229, - 229,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,11886,1,1,1,14346,1,11136,1, - 1,1,8292,759,8285,229,8285,7322,7310,7314, - 7318,3154,7307,7341,7335,7338,735,2740,3938,7784, - 7784,8285,1,7285,1,1,1,314,5277,4583, - 730,739,8496,602,1141,1089,1095,633,2235,8078, - 7880,7886,7883,219,8075,8069,8072,8285,8285,3090, - 8787,359,8907,8910,8906,8912,8913,8911,8908,8285, - 8909,3768,8285,8299,8927,8926,8300,8722,8723,8724, - 8623,8624,1172,8541,8545,8539,8546,8542,8518,8544, - 8543,8540,8519,442,8285,7301,7291,7605,7298,1372, - 8323,219,8285,7288,7288,7288,7288,229,7288,7281, - 7288,7288,229,229,229,229,229,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,11886,1, - 1,1,14346,1,11136,1,1,1,226,237, - 8285,229,6398,842,8106,7515,7509,7512,299,8299, - 8927,8926,8300,8643,7805,1141,1089,1095,1,7285, - 1,1,1,8285,5277,1,730,739,8496,2935, - 7161,7524,7521,7518,7542,7530,7548,7527,7539,7506, - 7533,7536,7545,7503,8285,8285,8787,8285,8299,8927, - 8926,8300,8285,7322,7310,7314,7318,3154,7307,7341, - 7335,7338,735,2740,8285,7850,7850,8285,8225,8225, - 8225,8225,8225,8225,8225,8225,8225,8225,8225,294, - 8225,8225,37,7865,7865,7865,7865,220,8285,7288, - 7288,7288,7288,229,7288,7281,7288,7288,229,229, - 229,229,229,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,11886,1,1,1,14346,1, - 11136,1,1,1,227,1372,8285,229,8285,8285, - 8285,7566,7560,7563,8285,13792,11704,11879,13791,8321, - 8225,111,157,569,1,7285,1,1,1,1462, - 5277,8285,730,739,8496,2841,2683,7575,7572,7569, - 7593,7581,7599,7578,7590,7557,7584,7587,7596,7554, - 8285,8285,8787,8285,7288,7288,7288,7288,229,7288, - 7281,7288,7288,229,229,8018,229,229,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,11886, - 1,1,1,14346,1,11136,1,1,1,8285, - 7868,998,229,8285,7322,7310,7314,7318,3154,7307, - 7341,7335,7338,735,2740,8285,7850,7850,517,1, - 7285,1,1,1,6421,5277,6444,730,739,8496, - 1,8154,8154,8154,8154,451,8151,7341,7335,7338, - 220,8285,364,332,332,8285,7113,8787,8285,7288, - 7288,7288,7288,229,7288,7281,7288,7288,229,229, - 8018,229,229,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,11886,1,1,1,14346,1, - 11136,1,1,1,8285,8285,1179,229,446,7853, - 7853,7853,7853,312,7853,7853,7853,7853,1415,364, - 8285,7853,7853,2816,1,7285,1,1,1,398, - 5277,319,730,739,8496,389,7814,8285,7301,7291, - 7605,7298,364,748,48,220,8285,735,2740,8285, - 8927,7129,8787,8285,7288,7288,7288,7288,229,7288, - 7281,7288,7288,229,229,8018,229,229,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,11886, - 1,1,1,14346,1,11136,1,1,1,1423, - 1899,8285,229,447,8127,8127,8127,8127,1580,8124, - 8115,8121,8118,371,8285,8927,8130,8130,1,1, - 7285,1,1,1,29,5277,8297,730,739,8496, - 7811,1,7322,7310,7314,7318,5036,7307,1,8285, - 220,735,2740,8100,5864,8285,8285,8787,8285,7288, - 7288,7288,7288,229,7288,7281,7288,7288,229,229, - 229,229,229,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,11886,1,1,1,14346,1, - 11136,1,1,1,590,7808,8296,229,593,1776, - 8296,7632,7626,7629,594,1141,1089,1095,1580,1, - 8103,1141,1089,1095,1,7285,1,1,1,48, - 5277,8297,730,739,8496,8926,1,7641,7638,7635, - 7659,7647,7665,7644,7656,7623,7650,7653,7662,7620, - 8645,8285,8787,8285,7288,7288,7288,7288,229,7288, - 7281,7288,7288,229,229,229,229,229,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,11886, - 1,1,1,14346,1,11136,1,1,1,630, - 8926,8296,229,770,8285,114,8033,8027,8030,7142, - 139,8285,8285,8299,8927,8926,8300,3402,349,1, - 7285,1,1,1,8297,5277,8285,730,739,8496, - 8285,3767,8042,8039,8036,8060,8048,8066,8045,8057, - 8024,8051,8054,8063,8021,8285,8285,8787,8285,7288, - 7288,7288,7288,229,7288,7281,7288,7288,229,229, - 229,229,229,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,11886,1,1,1,14346,1, - 11136,1,1,1,8296,1580,2500,229,92,8160, - 8160,8160,8160,39,8160,8160,8160,8160,6421,8323, - 6444,8160,8160,363,1,7285,1,1,1,397, - 5277,8285,730,739,8496,3270,1141,1089,1095,4016, - 2452,2404,2356,2308,2260,2212,2164,2116,2068,2019, - 2477,8285,8787,8285,7288,7288,7288,7288,229,7288, - 7281,7288,7288,229,229,229,229,229,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,11886, - 1,1,1,14346,1,11136,1,1,1,8285, - 1899,3223,229,95,8249,8249,8249,8249,369,8246, - 8237,8243,8240,548,8834,8742,8252,8252,286,1, - 7285,1,1,1,8285,5277,39,730,739,8496, - 100,3982,8323,1141,1089,1095,8293,8285,346,332, - 332,8285,8285,8722,8723,8724,8835,8787,8285,7288, - 7288,7288,7288,229,7288,7281,7288,7288,229,229, - 229,229,229,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,11886,1,1,1,14346,1, - 11136,1,1,1,1824,8285,8570,229,8285,8299, - 8927,8926,8300,1580,346,346,8285,8204,735,2740, - 346,8292,2059,4254,1,7285,1,1,1,8285, - 5277,8728,730,739,8496,1,7322,7310,7314,7318, - 3154,7307,7341,7335,7338,735,2740,48,7617,7608, - 7611,7614,8787,8285,7288,7288,7288,7288,229,7288, - 7281,7288,7288,229,229,229,229,229,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,11886, - 1,1,1,14346,1,11136,1,1,1,2591, - 6775,8285,229,113,1,7322,7310,7314,7318,3154, - 7307,7341,7335,7338,735,2740,8285,8285,1372,1, - 7285,1,1,1,8285,5277,8285,730,739,8496, - 8285,7617,7608,7611,7614,8285,8295,8285,1,7301, - 7291,7605,7298,4216,748,1946,8285,8787,6263,2740, - 8289,4622,6194,8550,8548,8556,8552,8553,8551,8554, - 1864,8555,8891,8892,8557,8558,8549,8897,8898,8899, - 5668,8285,8304,8294,1627,376,4276,8285,8306,8307, - 8305,8301,8302,8303,8304,6148,6125,1372,6240,6217, - 8306,8307,8305,8301,8302,8303,3852,1780,1962,1863, - 6609,1898,1760,6518,651,8285,6421,8905,6444,138, - 6398,842,8285,7978,7969,7972,7975,8,39,39, - 8907,8910,8906,8912,8913,8911,8908,8285,8909,8279, - 1,7322,7310,7314,7318,4216,7307,8623,8624,1172, - 6263,2740,8288,6171,6194,7951,7957,7933,7945,7942, - 7948,7939,7915,7936,7963,7960,7930,7927,7954,7924, - 7921,7918,7966,1,7322,7310,7314,7318,3154,7307, - 7341,7335,7338,735,2740,310,8304,6148,6125,8321, - 6240,6217,8306,8307,8305,8301,8302,8303,3852,1780, - 1962,1863,6609,1898,1760,6518,1,7322,7310,7314, - 7318,7304,7307,1923,8279,120,7329,7326,8285,4023, - 39,39,310,4313,518,39,7301,7291,7605,7298, - 4216,748,8285,3448,8285,6263,2740,8289,4787,6194, - 8550,8548,8556,8552,8553,8551,8554,1864,8555,8891, - 8892,8557,8558,8549,8897,8898,8899,5668,8285,8285, - 8285,2745,5638,5608,37,7865,7865,7865,7865,8285, - 8285,8304,6148,6125,7865,6240,6217,8306,8307,8305, - 8301,8302,8303,3852,1780,1962,1863,6609,1898,1760, - 6518,39,7301,7291,7605,7298,4216,748,1923,8285, - 8285,6263,2740,8258,6171,6194,8550,8548,8556,8552, - 8553,8551,8554,1864,8555,8891,8892,8557,8558,8549, - 8897,8898,8899,5668,8285,7301,7291,7605,7298,8288, - 748,2091,8285,292,735,2740,8285,8304,6148,6125, - 7080,6240,6217,8306,8307,8305,8301,8302,8303,3852, - 1780,1962,1863,6609,1898,1760,6518,399,8299,8927, - 8926,8300,8285,3187,1923,8285,141,7301,7291,7605, - 7298,4216,748,7877,8291,8285,6263,2740,8292,6171, - 6194,8550,8548,8556,8552,8553,8551,8554,1864,8555, - 8891,8892,8557,8558,8549,8897,8898,8899,5668,1, - 7322,7310,7314,7318,3154,7307,8285,7128,3144,735, - 2740,13039,8304,6148,6125,2643,6240,6217,8306,8307, - 8305,8301,8302,8303,3852,1780,1962,1863,6609,1898, - 1760,6518,1,7322,7310,7314,7318,7304,7307,1923, - 8285,8290,7329,7326,8295,4379,39,39,39,7301, - 7291,7605,7298,4216,748,1,337,8285,6263,2740, - 7874,6171,6194,8550,8548,8556,8552,8553,8551,8554, - 1864,8555,8891,8892,8557,8558,8549,8897,8898,8899, - 5668,8294,1,7322,7310,7314,7318,5036,7307,8169, - 8166,8163,735,2740,8304,6148,6125,8285,6240,6217, - 8306,8307,8305,8301,8302,8303,3852,1780,1962,1863, - 6609,1898,1760,6518,8285,13792,11704,11879,13791,8285, - 8285,1923,1,7301,7291,7605,7298,4216,748,8285, - 7877,8285,6263,2740,1,6171,6194,8550,8548,8556, - 8552,8553,8551,8554,1864,8555,8891,8892,8557,8558, - 8549,8897,8898,8899,5668,397,8012,3915,8285,1580, - 348,75,1141,1089,1095,2769,7844,8285,8304,6148, - 6125,8285,6240,6217,8306,8307,8305,8301,8302,8303, - 3852,1780,1962,1863,6609,1898,1760,6518,1,7322, - 7310,7314,7318,3154,7307,1923,510,8285,735,2740, - 8015,3534,39,39,554,7301,7291,7605,7298,4216, - 748,7835,7832,8285,6263,2740,139,6171,6194,8550, - 8548,8556,8552,8553,8551,8554,1864,8555,8891,8892, - 8557,8558,8549,8897,8898,8899,5668,1580,7847,8285, - 8299,8927,8926,8300,293,8299,8927,8926,8300,1946, - 8304,6148,6125,112,6240,6217,8306,8307,8305,8301, - 8302,8303,3852,1780,1962,1863,6609,1898,1760,6518, - 36,8201,8192,8195,8198,3188,8285,1923,119,7838, - 8285,6513,7162,8285,39,39,1,7322,7310,7314, - 7318,4216,7307,126,7841,337,6263,2740,428,6171, - 6194,7951,7957,7933,7945,7942,7948,7939,7915,7936, - 7963,7960,7930,7927,7954,7924,7921,7918,7966,292, - 1703,1703,1703,1703,8285,5638,5608,8285,8623,8624, - 1172,3270,8304,6148,6125,4016,6240,6217,8306,8307, - 8305,8301,8302,8303,3852,1780,1962,1863,6609,1898, - 1760,6518,430,332,1899,8285,6421,8285,6444,1923, - 7999,8005,8002,8285,4989,8285,39,39,39,7301, - 7291,7605,7298,4216,748,8285,3018,7871,6263,2740, - 7874,6171,6194,8550,8548,8556,8552,8553,8551,8554, - 1864,8555,8891,8892,8557,8558,8549,8897,8898,8899, - 5668,4925,4893,8285,332,8285,8285,8285,2730,4861, - 4825,1141,1089,1095,8304,6148,6125,8285,6240,6217, - 8306,8307,8305,8301,8302,8303,3852,1780,1962,1863, - 6609,1898,1760,6518,1462,4210,3119,8285,3985,99, - 4051,1923,39,7301,7291,7605,7298,4216,748,8295, - 7877,8285,6263,2740,8289,6171,6194,8550,8548,8556, - 8552,8553,8551,8554,1864,8555,8891,8892,8557,8558, - 8549,8897,8898,8899,5668,396,7500,7500,7500,7500, - 100,284,7491,7497,7494,3188,8294,8285,8304,6148, - 6125,4031,6240,6217,8306,8307,8305,8301,8302,8303, - 3852,1780,1962,1863,6609,1898,1760,6518,39,7301, - 7291,7605,7298,4216,748,4583,8234,8285,6263,2740, - 8289,6171,6194,8550,8548,8556,8552,8553,8551,8554, - 1864,8555,8891,8892,8557,8558,8549,8897,8898,8899, - 5668,595,284,8285,601,8285,8288,73,1141,1089, - 1095,1141,1089,1095,8304,6148,6125,8204,6240,6217, - 8306,8307,8305,8301,8302,8303,3852,1780,1962,1863, - 6609,1898,1760,6518,39,7301,7291,7605,7298,4216, - 748,8285,523,8285,6263,2740,2731,6171,6194,8550, - 8548,8556,8552,8553,8551,8554,1864,8555,8891,8892, - 8557,8558,8549,8897,8898,8899,5668,600,7826,7826, - 7826,7826,8288,604,7817,7823,7820,8285,8255,8285, - 8304,6148,6125,8285,6240,6217,8306,8307,8305,8301, - 8302,8303,3852,1780,1962,1863,6609,1898,1760,6518, - 39,7301,7291,7605,7298,4216,748,1923,8285,8285, - 6263,2740,8285,6171,6194,8550,8548,8556,8552,8553, - 8551,8554,1864,8555,8891,8892,8557,8558,8549,8897, - 8898,8899,5668,8285,604,8285,37,7865,7865,7865, - 7865,8285,8285,1141,1089,1095,8304,6148,6125,332, - 6240,6217,8306,8307,8305,8301,8302,8303,3852,1780, - 1962,1863,6609,1898,1760,6518,2884,8285,39,7301, - 7291,7605,7298,4216,748,8285,4023,2669,6263,2740, - 4612,6171,6194,8550,8548,8556,8552,8553,8551,8554, - 1864,8555,8891,8892,8557,8558,8549,8897,8898,8899, - 5668,8285,534,8321,419,43,7984,7984,7984,7984, - 8285,1141,1089,1095,8304,6148,6125,8285,6240,6217, - 8306,8307,8305,8301,8302,8303,3852,1780,1962,1863, - 6609,1898,1760,6518,39,7301,7291,7605,7298,3298, - 748,1923,8285,8285,6263,2740,8285,6171,6194,8550, - 8548,8556,8552,8553,8551,8554,1864,8555,8891,8892, - 8557,8558,8549,8897,8898,8899,5668,8285,7301,7291, - 7605,7298,7981,748,103,4046,8285,7996,2740,8231, - 8304,6148,6125,8285,6240,6217,8306,8307,8305,8301, - 8302,8303,3852,1780,1962,1863,6609,1898,1760,6518, - 39,7301,7291,7605,7298,5950,748,8285,8285,8285, - 6263,2740,3362,6171,6194,8550,8548,8556,8552,8553, - 8551,8554,1864,8555,8891,8892,8557,8558,8549,8897, - 8898,8899,5668,8285,703,597,2,8285,13596,13596, - 13596,13596,8207,8213,8210,8285,8304,6148,6125,8285, - 6240,6217,8306,8307,8305,8301,8302,8303,3852,1780, - 1962,1863,6609,1898,1760,6518,39,7301,7291,7605, - 7298,6705,748,279,8285,8285,6263,2740,8276,6171, - 6194,8550,8548,8556,8552,8553,8551,8554,1864,8555, - 8891,8892,8557,8558,8549,8897,8898,8899,5668,8285, - 7301,7291,7605,7298,8321,748,103,37,8285,7996, - 2740,8231,8304,6148,6125,8285,6240,6217,8306,8307, - 8305,8301,8302,8303,3852,1780,1962,1863,6609,1898, - 1760,6518,39,7301,7291,7605,7298,6759,748,8285, - 8285,8285,6263,2740,3990,6171,6194,8550,8548,8556, - 8552,8553,8551,8554,1864,8555,8891,8892,8557,8558, - 8549,8897,8898,8899,5668,8285,1091,45,8142,8142, - 8142,8142,37,7865,7865,7865,7865,8285,8304,6148, - 6125,8285,6240,6217,8306,8307,8305,8301,8302,8303, - 3852,1780,1962,1863,6609,1898,1760,6518,39,7301, - 7291,7605,7298,4216,748,8285,8285,8285,6263,2740, - 8285,6171,6194,8550,8548,8556,8552,8553,8551,8554, - 1864,8555,8891,8892,8557,8558,8549,8897,8898,8899, - 5668,48,48,596,8139,8285,8285,8300,8299,1799, - 8216,8222,8219,8285,8304,6148,6125,8285,6240,6217, - 8306,8307,8305,8301,8302,8303,3852,1780,1962,1863, - 6609,1898,1760,6518,39,7301,7291,7605,7298,6761, - 748,8285,8285,8285,6263,2740,8285,6171,6194,8550, - 8548,8556,8552,8553,8551,8554,1864,8555,8891,8892, - 8557,8558,8549,8897,8898,8899,5668,8285,8188,8176, - 8180,8184,8300,8299,8285,8285,8285,8285,8285,8285, - 8304,6148,6125,8285,6240,6217,8306,8307,8305,8301, - 8302,8303,3852,1780,1962,1863,6609,1898,1760,6518, - 39,7301,7291,7605,7298,4216,748,8285,8285,8285, - 6263,2740,8285,6171,6194,8550,8548,8556,8552,8553, - 8551,8554,1864,8555,8891,8892,8557,8558,8549,8897, - 8898,8899,5668,8285,8321,8285,8285,1,1677,8285, - 8285,508,3982,8285,8285,8291,8304,6148,6125,615, - 6240,6217,8306,8307,8305,8301,8302,8303,3852,1780, - 1962,1863,6609,1898,1760,6518,8285,7301,7291,7294, - 7298,420,8323,1141,1089,1095,8285,8285,1141,1089, - 1095,8550,8548,8556,8552,8553,8551,8554,790,8555, - 8891,8892,8557,8558,8549,8897,8898,8899,3486,8623, - 8624,1172,8541,8545,8539,8546,8542,8518,8544,8543, - 8540,8519,8290,8285,1580,615,615,8285,4117,8285, - 8285,615,241,7777,7764,7768,7773,7176,7781,7680, - 7674,7677,8685,8285,4322,8686,8687,7749,7755,7731, - 7743,7740,7746,7737,790,7734,7761,7758,7728,7725, - 7752,7722,7719,7716,3486,7689,7686,7683,7707,7695, - 7713,7692,7704,7671,7698,7701,7710,7668,8285,8285, - 8285,8285,8285,8285,8285,8285,8285,8285,8285,7301, - 7291,7605,7298,8285,8323,1141,1089,1095,8685,8285, - 4322,8686,8687,8550,8548,8556,8552,8553,8551,8554, - 790,8555,8891,8892,8557,8558,8549,8897,8898,8899, - 3486,8623,8624,1172,8541,8545,8539,8546,8542,8518, - 8544,8543,8540,8519,128,8285,127,8285,8285,8285, - 8285,8285,8285,8285,241,7777,7764,8008,7773,8285, - 7781,7680,7674,7677,8685,8291,4322,8686,8687,7749, - 7755,7731,7743,7740,7746,7737,790,7734,7761,7758, - 7728,7725,7752,7722,7719,7716,3486,7689,7686,7683, - 7707,7695,7713,7692,7704,7671,7698,7701,7710,7668, - 1,8285,8285,1,8285,2010,1,8285,8285,8285, - 8756,3982,8285,8750,8754,4989,8293,4989,8100,8285, - 8685,8291,4322,8686,8687,8012,8285,8285,8133,8285, - 8136,8291,8290,8261,8269,8265,1068,8285,8273,8295, - 8285,8285,8285,8285,407,1,8285,8748,8749,8291, - 8779,8780,4925,4893,4925,4893,8081,8295,8757,422, - 4861,4825,4861,4825,8285,8285,8285,8285,3055,8015, - 3534,8759,8285,8285,8285,8273,8294,899,8781,8291, - 2255,2300,1321,1580,8760,8103,8758,687,8290,8285, - 8285,8292,8285,8084,8294,8285,8285,1875,8290,8285, - 8770,8769,8285,8782,8273,3925,8751,8752,8775,8776, - 8773,8774,8753,8755,8777,8778,8290,8285,8783,8285, - 8763,8764,8765,8761,8762,8771,8772,8767,8766,8768, - 29,389,389,389,389,8112,389,389,389,389, - 389,389,8112,8112,8112,2936,8290,32,390,390, - 390,390,8109,390,390,390,390,390,390,8109, - 8109,8109,8285,389,389,389,389,389,389,389, - 389,389,389,389,389,389,1,8285,2235,8112, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,8096,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,136,1,1,1,8290,1320,1,732, + 741,8465,3230,39,8290,1,1,8301,8290,8328, + 1110,573,8290,3888,2266,2550,2158,3794,3920,390, + 3877,854,3843,3638,3832,8290,7864,7864,7864,7864, + 7864,7864,7864,7864,7864,7864,7864,7864,7864,7864, + 3083,8629,8630,1174,225,38,7801,7792,7795,7798, + 1247,7409,7403,7406,7282,7789,2742,3007,7864,7864, + 7864,7864,7864,7864,7864,7864,7864,7864,7864,7864, + 7864,6031,7864,7864,7864,7864,7864,7418,7415,7412, + 7436,7424,7442,7421,7433,7400,7427,7430,7439,7397, + 7604,397,7502,7502,7502,7502,7864,285,7493,7499, + 7496,320,7864,7864,7864,3513,7816,7864,7864,7864, + 7864,7864,7864,333,7303,7293,7607,7300,3156,750, + 1143,1091,1097,737,2742,7864,7864,7864,7864,7864, + 7864,7864,7864,7864,7864,7864,7864,7864,7864,7864, + 7864,7864,7864,7864,7864,7864,7864,7864,7864,7864, + 7864,7864,7864,7864,7864,35,8290,568,285,7864, + 8290,7995,7995,7995,7995,7995,7995,7995,7995,7995, + 7995,7995,7995,7995,7995,548,39,8290,1582,226, + 1482,8290,8328,1143,1091,1097,7457,7451,7454,333, + 333,8857,131,7995,7995,7995,7995,7995,7995,7995, + 7995,7995,7995,7995,7995,7995,3892,7995,7995,7995, + 7995,7995,7466,7463,7460,7484,7472,7490,7469,7481, + 7448,7475,7478,7487,7445,8290,602,7828,7828,7828, + 7828,7995,606,7819,7825,7822,8290,7995,7995,7995, + 8290,2237,7995,7995,7995,7995,7995,7995,604,7303, + 7293,7607,7300,3156,750,1143,1091,1097,737,2742, + 7995,7995,7995,7995,7995,7995,7995,7995,7995,7995, + 7995,7995,7995,7995,7995,7995,7995,7995,7995,7995, + 7995,7995,7995,7995,7995,7995,7995,7995,7995,7995, + 350,457,1453,606,7995,39,7303,7293,7296,7300, + 4218,750,1143,1091,1097,6265,2742,5925,6173,6196, + 8556,8554,8562,8558,8559,8557,8560,1064,8561,8898, + 8899,8563,8564,8555,8904,8905,8906,6633,8629,8630, + 1174,8547,8551,8545,8552,8548,8524,8550,8549,8546, + 8525,8309,6150,6127,304,6242,6219,8311,8312,8310, + 8306,8307,8308,3854,1782,1964,1865,6611,1900,1762, + 6520,8691,7804,4324,8692,8693,8593,1582,1925,39, + 7303,7293,7607,7300,4218,750,1143,1091,1097,6265, + 2742,8290,6173,6196,8556,8554,8562,8558,8559,8557, + 8560,1064,8561,8898,8899,8563,8564,8555,8904,8905, + 8906,6633,8629,8630,1174,8547,8551,8545,8552,8548, + 8524,8550,8549,8546,8525,8309,6150,6127,304,6242, + 6219,8311,8312,8310,8306,8307,8308,3854,1782,1964, + 1865,6611,1900,1762,6520,8691,8290,4324,8692,8693, + 8593,8290,1925,8290,7910,7910,7910,7910,230,7906, + 7290,7290,7290,230,230,7914,230,230,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,47, + 697,132,230,347,7303,7293,7607,7300,5038,750, + 1143,1091,1097,737,2742,3892,333,333,5986,1, + 7903,1,1,1,398,5970,8290,843,741,8705, + 391,1143,1091,1097,224,137,230,607,138,7103, + 419,7358,7352,7355,1143,1091,1097,8793,652,8556, + 8554,8562,8558,8559,8557,8560,8290,8561,8898,8899, + 8563,8564,8555,8904,8905,8906,775,7367,7364,7361, + 7385,7373,7391,7370,7382,7349,7376,7379,7388,7346, + 1582,8629,8630,1174,8728,8729,8730,8290,7910,7910, + 7910,7910,230,7906,7290,7290,7290,230,230,8089, + 230,230,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,2190,8290,230,311,7324,7312, + 7316,7320,3156,7309,7343,7337,7340,737,2742,3450, + 7786,7786,3450,1,7903,1,1,1,185,5970, + 8290,843,741,8705,8290,7619,7610,7613,7616,636, + 230,7900,8290,8290,418,238,7897,7891,7894,808, + 8108,8793,338,8290,8914,8917,8913,8919,8920,8918, + 8915,100,8916,8290,7303,7293,7607,7300,443,8328, + 808,442,8629,8630,1174,8547,8551,8545,8552,8548, + 8524,8550,8549,8546,8525,8171,8168,8165,8728,8729, + 8730,8290,7290,7290,7290,7290,230,7290,7283,7290, + 7290,230,230,7334,230,230,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,11913,1,1, + 1,11080,1,11898,1,1,1,3918,8209,7807, + 230,8290,7324,7312,7316,7320,3156,7309,7343,7337, + 7340,737,2742,8290,7786,7786,8290,1,7287,1, + 1,1,315,5279,8287,732,741,8502,604,1143, + 1091,1097,635,360,8080,7882,7888,7885,220,8077, + 8071,8074,8290,8290,3092,8793,1,8914,8917,8913, + 8919,8920,8918,8915,8290,8916,3770,8290,8304,8933, + 8932,8305,8728,8729,8730,8629,8630,1174,8547,8551, + 8545,8552,8548,8524,8550,8549,8546,8525,295,8290, + 7303,7293,7607,7300,1374,8328,220,8290,7290,7290, + 7290,7290,230,7290,7283,7290,7290,230,230,230, + 230,230,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,11913,1,1,1,11080,1,11898, + 1,1,1,227,8290,8649,230,6400,844,8290, + 7517,7511,7514,290,7553,7553,7553,7553,8651,285, + 1143,1091,1097,1,7287,1,1,1,8290,5279, + 1,732,741,8502,2843,7163,7526,7523,7520,7544, + 7532,7550,7529,7541,7508,7535,7538,7547,7505,8290, + 2258,8793,8290,8304,8933,8932,8305,8290,7324,7312, + 7316,7320,3156,7309,7343,7337,7340,737,2742,1, + 7852,7852,8290,8230,8230,8230,8230,8230,8230,8230, + 8230,8230,8230,8230,372,8230,8230,37,7867,7867, + 7867,7867,221,8290,7290,7290,7290,7290,230,7290, + 7283,7290,7290,230,230,230,230,230,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,11913, + 1,1,1,11080,1,11898,1,1,1,228, + 1374,8290,230,8290,8290,8290,7568,7562,7565,300, + 8304,8933,8932,8305,8326,8230,1143,1091,1097,1, + 7287,1,1,1,1464,5279,8290,732,741,8502, + 1778,3917,7577,7574,7571,7595,7583,7601,7580,7592, + 7559,7586,7589,7598,7556,8290,8290,8793,8290,7290, + 7290,7290,7290,230,7290,7283,7290,7290,230,230, + 8020,230,230,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,11913,1,1,1,11080,1, + 11898,1,1,1,8290,8290,8290,230,8290,7324, + 7312,7316,7320,3156,7309,7343,7337,7340,737,2742, + 3940,7852,7852,310,1,7287,1,1,1,29, + 5279,8290,732,741,8502,1,8156,8156,8156,8156, + 157,8153,7343,7337,7340,221,8290,365,333,333, + 3007,2685,8793,8290,7290,7290,7290,7290,230,7290, + 7283,7290,7290,230,230,8020,230,230,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,11913, + 1,1,1,11080,1,11898,1,1,1,8290, + 7810,4585,230,447,7855,7855,7855,7855,313,7855, + 7855,7855,7855,1417,365,8748,7855,7855,7870,1, + 7287,1,1,1,399,5279,99,732,741,8502, + 390,8290,8290,7303,7293,7607,7300,365,750,8290, + 221,37,737,2742,7009,4742,8290,8793,8290,7290, + 7290,7290,7290,230,7290,7283,7290,7290,230,230, + 8020,230,230,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,11913,1,1,1,11080,1, + 11898,1,1,1,1425,1901,8290,230,448,8129, + 8129,8129,8129,8239,8126,8117,8123,8120,8326,8290, + 2061,8132,8132,1,1,7287,1,1,1,8290, + 5279,8302,732,741,8502,7813,1,7324,7312,7316, + 7320,5038,7309,8290,8290,221,737,2742,8102,7115, + 8290,8290,8793,8290,7290,7290,7290,7290,230,7290, + 7283,7290,7290,230,230,230,230,230,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,11913, + 1,1,1,11080,1,11898,1,1,1,592, + 4256,8301,230,595,8290,8301,7634,7628,7631,596, + 1143,1091,1097,1582,1,8105,1143,1091,1097,1, + 7287,1,1,1,48,5279,8302,732,741,8502, + 8933,1,7643,7640,7637,7661,7649,7667,7646,7658, + 7625,7652,7655,7664,7622,8290,1,8793,8290,7290, + 7290,7290,7290,230,7290,7283,7290,7290,230,230, + 230,230,230,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,11913,1,1,1,11080,1, + 11898,1,1,1,632,8933,8301,230,761,8290, + 111,8035,8029,8032,7131,139,8290,8290,8304,8933, + 8932,8305,571,772,1,7287,1,1,1,8302, + 5279,8290,732,741,8502,8290,5866,8044,8041,8038, + 8062,8050,8068,8047,8059,8026,8053,8056,8065,8023, + 8290,8290,8793,8290,7290,7290,7290,7290,230,7290, + 7283,7290,7290,230,230,230,230,230,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,11913, + 1,1,1,11080,1,11898,1,1,1,8301, + 1000,2502,230,92,8162,8162,8162,8162,39,8162, + 8162,8162,8162,6423,8328,6446,8162,8162,518,1, + 7287,1,1,1,398,5279,8290,732,741,8502, + 3272,1143,1091,1097,4018,2454,2406,2358,2310,2262, + 2214,2166,2118,2070,2021,2479,370,8793,8290,7290, + 7290,7290,7290,230,7290,7283,7290,7290,230,230, + 230,230,230,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,11913,1,1,1,11080,1, + 11898,1,1,1,8290,1901,1181,230,95,8254, + 8254,8254,8254,338,8251,8242,8248,8245,8290,8290, + 8734,8257,8257,452,1,7287,1,1,1,1, + 5279,39,732,741,8502,8290,3984,8328,1143,1091, + 1097,7989,1826,347,333,333,8629,8630,1174,8728, + 8729,8730,8793,8290,7290,7290,7290,7290,230,7290, + 7283,7290,7290,230,230,230,230,230,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,11913, + 1,1,1,11080,1,11898,1,1,1,8290, + 8290,2818,230,8290,8304,8933,8932,8305,1582,347, + 347,8290,8290,737,2742,347,8297,7144,2593,1, + 7287,1,1,1,8290,5279,511,732,741,8502, + 1,7324,7312,7316,7320,3156,7309,7343,7337,7340, + 737,2742,8290,13874,11891,13410,13611,8793,8290,7290, + 7290,7290,7290,230,7290,7283,7290,7290,230,230, + 230,230,230,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,11913,1,1,1,11080,1, + 11898,1,1,1,364,6777,114,230,8290,1, + 7324,7312,7316,7320,3156,7309,7343,7337,7340,737, + 2742,8290,7164,1374,1,7287,1,1,1,8290, + 5279,8290,732,741,8502,48,7619,7610,7613,7616, + 287,8300,8290,1,7303,7293,7607,7300,4218,750, + 8290,8290,8793,6265,2742,8294,4624,6196,8556,8554, + 8562,8558,8559,8557,8560,1866,8561,8898,8899,8563, + 8564,8555,8904,8905,8906,5670,8290,8309,8299,1629, + 8290,3769,3225,8311,8312,8310,8306,8307,8308,8309, + 6150,6127,1374,6242,6219,8311,8312,8310,8306,8307, + 8308,3854,1782,1964,1865,6611,1900,1762,6520,6423, + 8290,6446,8912,601,7831,7831,7831,7831,8576,606, + 1143,1091,1097,39,39,8914,8917,8913,8919,8920, + 8918,8915,509,8916,2645,1,7324,7312,7316,7320, + 4218,7309,8290,8290,431,6265,2742,8293,6173,6196, + 7953,7959,7935,7947,7944,7950,7941,7917,7938,7965, + 7962,7932,7929,7956,7926,7923,7920,7968,1,7324, + 7312,7316,7320,3156,7309,7343,7337,7340,737,2742, + 311,8309,6150,6127,8290,6242,6219,8311,8312,8310, + 8306,8307,8308,3854,1782,1964,1865,6611,1900,1762, + 6520,1,7324,7312,7316,7320,7306,7309,1925,8290, + 118,7331,7328,7082,7130,39,39,311,7178,519, + 39,7303,7293,7607,7300,4218,750,4212,8290,8290, + 6265,2742,8294,4789,6196,8556,8554,8562,8558,8559, + 8557,8560,1866,8561,8898,8899,8563,8564,8555,8904, + 8905,8906,5670,8290,8290,1901,2747,5640,5610,37, + 7867,7867,7867,7867,8290,8290,8309,6150,6127,7867, + 6242,6219,8311,8312,8310,8306,8307,8308,3854,1782, + 1964,1865,6611,1900,1762,6520,39,7303,7293,7607, + 7300,4218,750,1925,550,8841,6265,2742,8263,6173, + 6196,8556,8554,8562,8558,8559,8557,8560,1866,8561, + 8898,8899,8563,8564,8555,8904,8905,8906,5670,8290, + 7303,7293,7607,7300,8293,750,2093,8842,293,737, + 2742,8290,8309,6150,6127,1464,6242,6219,8311,8312, + 8310,8306,8307,8308,3854,1782,1964,1865,6611,1900, + 1762,6520,400,8304,8933,8932,8305,8290,3189,1925, + 8290,141,7303,7293,7607,7300,4218,750,7879,8296, + 1948,6265,2742,8297,6173,6196,8556,8554,8562,8558, + 8559,8557,8560,1866,8561,8898,8899,8563,8564,8555, + 8904,8905,8906,5670,1,7324,7312,7316,7320,3156, + 7309,8290,3121,3146,737,2742,13056,8309,6150,6127, + 8290,6242,6219,8311,8312,8310,8306,8307,8308,3854, + 1782,1964,1865,6611,1900,1762,6520,1,7324,7312, + 7316,7320,7306,7309,1925,8290,8295,7331,7328,8300, + 4278,39,39,39,7303,7293,7607,7300,4218,750, + 113,536,8290,6265,2742,7876,6173,6196,8556,8554, + 8562,8558,8559,8557,8560,1866,8561,8898,8899,8563, + 8564,8555,8904,8905,8906,5670,8299,1,7324,7312, + 7316,7320,5038,7309,3987,8290,8290,737,2742,8309, + 6150,6127,2745,6242,6219,8311,8312,8310,8306,8307, + 8308,3854,1782,1964,1865,6611,1900,1762,6520,8290, + 8290,8290,7619,7610,7613,7616,1925,1,7303,7293, + 7607,7300,4218,750,4048,7879,8290,6265,2742,1, + 6173,6196,8556,8554,8562,8558,8559,8557,8560,1866, + 8561,8898,8899,8563,8564,8555,8904,8905,8906,5670, + 398,8014,8290,6423,1582,6446,75,1143,1091,1097, + 8290,7846,423,8309,6150,6127,2937,6242,6219,8311, + 8312,8310,8306,8307,8308,3854,1782,1964,1865,6611, + 1900,1762,6520,1,7324,7312,7316,7320,3156,7309, + 1925,6400,844,737,2742,8017,3536,39,39,556, + 7303,7293,7607,7300,4218,750,7837,7834,8290,6265, + 2742,8290,6173,6196,8556,8554,8562,8558,8559,8557, + 8560,1866,8561,8898,8899,8563,8564,8555,8904,8905, + 8906,5670,139,7849,8290,8304,8933,8932,8305,8290, + 13874,11891,13410,13611,1948,8309,6150,6127,2938,6242, + 6219,8311,8312,8310,8306,8307,8308,3854,1782,1964, + 1865,6611,1900,1762,6520,294,8304,8933,8932,8305, + 8290,8290,1925,349,7840,100,4315,8290,2771,39, + 39,1,7324,7312,7316,7320,4218,7309,126,8300, + 7843,6265,2742,429,6173,6196,7953,7959,7935,7947, + 7944,7950,7941,7917,7938,7965,7962,7932,7929,7956, + 7926,7923,7920,7968,36,8206,8197,8200,8203,293, + 1705,1705,1705,1705,8290,8290,8299,8309,6150,6127, + 4381,6242,6219,8311,8312,8310,8306,8307,8308,3854, + 1782,1964,1865,6611,1900,1762,6520,3272,8290,333, + 1582,4018,8209,4053,1925,4585,8001,8007,8004,4991, + 8298,39,39,39,7303,7293,7607,7300,4218,750, + 8290,3020,7873,6265,2742,7876,6173,6196,8556,8554, + 8562,8558,8559,8557,8560,1866,8561,8898,8899,8563, + 8564,8555,8904,8905,8906,5670,4927,4895,8290,333, + 8290,3057,8290,2732,4863,4827,1143,1091,1097,8309, + 6150,6127,8296,6242,6219,8311,8312,8310,8306,8307, + 8308,3854,1782,1964,1865,6611,1900,1762,6520,8290, + 8290,8290,8290,112,8290,8297,1925,39,7303,7293, + 7607,7300,4218,750,8296,7879,525,6265,2742,8294, + 6173,6196,8556,8554,8562,8558,8559,8557,8560,1866, + 8561,8898,8899,8563,8564,8555,8904,8905,8906,5670, + 8290,8290,8290,37,7867,7867,7867,7867,8290,8295, + 1143,1091,1097,8309,6150,6127,333,6242,6219,8311, + 8312,8310,8306,8307,8308,3854,1782,1964,1865,6611, + 1900,1762,6520,39,7303,7293,7607,7300,4218,750, + 689,8295,2886,6265,2742,8294,6173,6196,8556,8554, + 8562,8558,8559,8557,8560,1866,8561,8898,8899,8563, + 8564,8555,8904,8905,8906,5670,6423,3404,6446,73, + 8326,8293,8290,7980,7971,7974,7977,8290,8290,8309, + 6150,6127,2733,6242,6219,8311,8312,8310,8306,8307, + 8308,3854,1782,1964,1865,6611,1900,1762,6520,39, + 7303,7293,7607,7300,4218,750,1,8290,8290,6265, + 2742,8290,6173,6196,8556,8554,8562,8558,8559,8557, + 8560,1866,8561,8898,8899,8563,8564,8555,8904,8905, + 8906,5670,8290,7303,7293,7607,7300,8293,750,8326, + 8260,8290,7998,2742,8290,8309,6150,6127,8290,6242, + 6219,8311,8312,8310,8306,8307,8308,3854,1782,1964, + 1865,6611,1900,1762,6520,39,7303,7293,7607,7300, + 4218,750,1925,8290,8290,6265,2742,377,6173,6196, + 8556,8554,8562,8558,8559,8557,8560,1866,8561,8898, + 8899,8563,8564,8555,8904,8905,8906,5670,8290,705, + 8290,8290,524,48,43,7986,7986,7986,7986,8932, + 8290,8309,6150,6127,8290,6242,6219,8311,8312,8310, + 8306,8307,8308,3854,1782,1964,1865,6611,1900,1762, + 6520,4119,8290,39,7303,7293,7607,7300,4218,750, + 8290,4025,2671,6265,2742,4614,6173,6196,8556,8554, + 8562,8558,8559,8557,8560,1866,8561,8898,8899,8563, + 8564,8555,8904,8905,8906,5670,8290,7303,7293,7607, + 7300,7983,750,103,8932,8290,7998,2742,8236,8309, + 6150,6127,8290,6242,6219,8311,8312,8310,8306,8307, + 8308,3854,1782,1964,1865,6611,1900,1762,6520,39, + 7303,7293,7607,7300,3300,750,1925,4025,8290,6265, + 2742,8290,6173,6196,8556,8554,8562,8558,8559,8557, + 8560,1866,8561,8898,8899,8563,8564,8555,8904,8905, + 8906,5670,4025,1093,8290,13612,13612,13612,13612,45, + 8144,8144,8144,8144,8290,8309,6150,6127,8290,6242, + 6219,8311,8312,8310,8306,8307,8308,3854,1782,1964, + 1865,6611,1900,1762,6520,39,7303,7293,7607,7300, + 5952,750,8290,8290,8290,6265,2742,3364,6173,6196, + 8556,8554,8562,8558,8559,8557,8560,1866,8561,8898, + 8899,8563,8564,8555,8904,8905,8906,5670,280,8290, + 597,8326,8290,8281,48,2,8141,1143,1091,1097, + 8305,8309,6150,6127,8290,6242,6219,8311,8312,8310, + 8306,8307,8308,3854,1782,1964,1865,6611,1900,1762, + 6520,39,7303,7293,7607,7300,6707,750,103,8290, + 8290,6265,2742,8236,6173,6196,8556,8554,8562,8558, + 8559,8557,8560,1866,8561,8898,8899,8563,8564,8555, + 8904,8905,8906,5670,37,7867,7867,7867,7867,8290, + 8193,8181,8185,8189,8290,8305,37,8309,6150,6127, + 8290,6242,6219,8311,8312,8310,8306,8307,8308,3854, + 1782,1964,1865,6611,1900,1762,6520,39,7303,7293, + 7607,7300,6761,750,8290,8290,8290,6265,2742,3992, + 6173,6196,8556,8554,8562,8558,8559,8557,8560,1866, + 8561,8898,8899,8563,8564,8555,8904,8905,8906,5670, + 603,1801,8290,420,8290,8290,8326,1143,1091,1097, + 1143,1091,1097,8309,6150,6127,8290,6242,6219,8311, + 8312,8310,8306,8307,8308,3854,1782,1964,1865,6611, + 1900,1762,6520,39,7303,7293,7607,7300,4218,750, + 8290,8290,8290,6265,2742,8290,6173,6196,8556,8554, + 8562,8558,8559,8557,8560,1866,8561,8898,8899,8563, + 8564,8555,8904,8905,8906,5670,599,8290,8290,598, + 8290,8290,8290,8212,8218,8215,8221,8227,8224,8309, + 6150,6127,8290,6242,6219,8311,8312,8310,8306,8307, + 8308,3854,1782,1964,1865,6611,1900,1762,6520,39, + 7303,7293,7607,7300,6763,750,8290,8290,8290,6265, + 2742,8290,6173,6196,8556,8554,8562,8558,8559,8557, + 8560,1866,8561,8898,8899,8563,8564,8555,8904,8905, + 8906,5670,421,8290,8290,8290,8290,48,8290,1143, + 1091,1097,8290,8304,8290,8309,6150,6127,8290,6242, + 6219,8311,8312,8310,8306,8307,8308,3854,1782,1964, + 1865,6611,1900,1762,6520,39,7303,7293,7607,7300, + 4218,750,8290,8290,8290,6265,2742,1,6173,6196, + 8556,8554,8562,8558,8559,8557,8560,1866,8561,8898, + 8899,8563,8564,8555,8904,8905,8906,5670,8290,8014, + 8290,8290,1,1679,8290,8290,8290,3984,8304,8290, + 8296,8309,6150,6127,617,6242,6219,8311,8312,8310, + 8306,8307,8308,3854,1782,1964,1865,6611,1900,1762, + 6520,8290,7303,7293,7296,7300,8290,8328,1143,1091, + 1097,8290,8290,8017,3536,8290,8556,8554,8562,8558, + 8559,8557,8560,792,8561,8898,8899,8563,8564,8555, + 8904,8905,8906,3488,8629,8630,1174,8547,8551,8545, + 8552,8548,8524,8550,8549,8546,8525,8295,3190,1582, + 617,617,8290,8290,6515,8290,617,242,7779,7766, + 7770,7775,120,7783,7682,7676,7679,8691,8290,4324, + 8692,8693,7751,7757,7733,7745,7742,7748,7739,792, + 7736,7763,7760,7730,7727,7754,7724,7721,7718,3488, + 7691,7688,7685,7709,7697,7715,7694,7706,7673,7700, + 7703,7712,7670,8290,8290,8290,8290,8290,8290,5640, + 5610,8290,8290,8290,7303,7293,7607,7300,119,8328, + 1143,1091,1097,8691,8290,4324,8692,8693,8556,8554, + 8562,8558,8559,8557,8560,792,8561,8898,8899,8563, + 8564,8555,8904,8905,8906,3488,8629,8630,1174,8547, + 8551,8545,8552,8548,8524,8550,8549,8546,8525,128, + 8290,127,8290,8290,8290,5640,5610,8290,8290,242, + 7779,7766,8010,7775,8290,7783,7682,7676,7679,8691, + 8296,4324,8692,8693,7751,7757,7733,7745,7742,7748, + 7739,792,7736,7763,7760,7730,7727,7754,7724,7721, + 7718,3488,7691,7688,7685,7709,7697,7715,7694,7706, + 7673,7700,7703,7712,7670,1,8290,8290,8290,8290, + 2012,1,8290,8290,8290,8762,3984,8290,8756,8760, + 4991,8298,4991,8102,8290,8691,8296,4324,8692,8693, + 8290,8290,408,8135,8290,8138,8300,8295,8266,8274, + 8270,1070,8290,8278,8083,8290,8290,8290,8290,1, + 1,8290,8754,8755,8296,8785,8786,4927,4895,4927, + 4895,8300,191,8763,8290,4863,4827,4863,4827,8290, + 8290,8290,8290,8299,8290,8290,8765,8290,8290,8290, + 8278,8086,901,8787,8296,2257,2302,1323,1582,8766, + 8105,8764,1877,8295,2237,3190,8297,8290,8299,191, + 8290,4033,3927,8290,8290,8776,8775,8290,8788,8278, + 8290,8757,8758,8781,8782,8779,8780,8759,8761,8783, + 8784,8295,513,8789,8290,8769,8770,8771,8767,8768, + 8777,8778,8773,8772,8774,29,390,390,390,390, + 8114,390,390,390,390,390,390,8114,8114,8114, + 7211,8295,32,391,391,391,391,8111,391,391, + 391,391,391,391,8111,8111,8111,8290,390,390, 390,390,390,390,390,390,390,390,390,390, - 390,390,390,1,1,8285,8109,8285,8285,8285, - 8285,7808,8285,2793,8285,191,364,8112,512,8112, - 8285,1,8285,8285,8285,8285,8285,8285,8285,8285, - 8285,8285,806,161,8109,8291,8109,577,588,588, - 588,588,588,588,588,588,588,588,588,8157, - 8157,8157,191,806,578,589,589,589,589,589, - 589,589,589,589,589,589,8228,8228,8228,8285, - 588,588,588,588,588,588,588,588,588,588, - 588,588,588,364,8285,8285,8157,589,589,589, - 589,589,589,589,589,589,589,589,589,589, - 161,7209,8290,8228,1231,8285,364,1,7322,7310, - 7314,7318,5036,7307,588,1,8157,735,2740,368, - 1,8285,1,1,8285,3982,8285,163,8285,8285, - 8285,589,342,8228,530,8291,8285,8285,8285,8285, - 8285,8285,8285,8285,8285,8285,8285,8285,8285,8285, - 8285,8285,8285,8285,8285,8285,8285,8285,8285,8285, - 8285,8285,8285,8285,8285,8285,8285,8285,8285,8285, - 8285,8285,8285,8285,8285,8285,8285,8285,8285,8285, - 8285,8285,8285,8285,1580,368,368,8285,8285,8285, - 8285,368,8285,1728,163,8285,8285,1580,342,342, - 8285,530,8290,8285,342,8285,8285,8285,8285,368 + 390,8290,8290,2795,8114,391,391,391,391,391, + 391,391,391,391,391,391,391,391,8290,1, + 8290,8111,8290,8290,8290,8290,7810,8290,1233,8, + 8290,365,8114,8290,8114,8290,1,8290,1,8290, + 8290,8284,8290,8290,8290,8290,8290,8290,161,8111, + 163,8111,579,590,590,590,590,590,590,590, + 590,590,590,590,8159,8159,8159,8290,8290,580, + 591,591,591,591,591,591,591,591,591,591, + 591,8233,8233,8233,8290,590,590,590,590,590, + 590,590,590,590,590,590,590,590,365,8290, + 8290,8159,591,591,591,591,591,591,591,591, + 591,591,591,591,591,161,8284,163,8233,8290, + 8290,365,1,7324,7312,7316,7320,5038,7309,590, + 1,8159,737,2742,369,1,8290,1,8290,8290, + 3984,8290,532,8290,8290,8290,591,343,8233,8296, + 8290,8290,8290,8290,8290,8290,8290,8290,8290,8290, + 8290,8290,8290,8290,8290,8290,8290,8290,8290,8290, + 8290,8290,8290,8290,8290,8290,8290,8290,8290,8290, + 8290,8290,8290,8290,8290,8290,8290,8290,8290,8290, + 8290,8290,8290,8290,8290,8290,8290,8290,8290,1582, + 369,369,8290,8290,8290,8290,369,8290,1730,532, + 8290,8290,1582,343,343,8290,8295,8290,8290,343, + 8290,8290,8290,8290,369 }; }; public final static char termAction[] = TermAction.termAction; @@ -2772,72 +2774,72 @@ public class XlcCPPParserprs implements lpg.lpgjavaruntime.ParseTable, XlcCPPPar public interface Asb { public final static char asb[] = {0, - 1429,1,1536,144,1418,19,736,1471,332,332, - 332,1370,27,1352,1428,1091,144,152,931,1536, - 546,68,1536,1536,1536,44,84,267,84,1349, - 84,1209,84,84,152,153,84,1092,1294,30, - 1471,144,539,84,84,696,153,84,153,1536, + 1427,1,1534,144,1416,19,736,1469,332,332, + 332,1368,27,1350,1426,1091,144,152,931,1534, + 546,68,1534,1534,1534,44,84,267,84,1347, + 84,1207,84,84,152,153,84,1092,1292,30, + 1469,144,539,84,84,696,153,84,153,1534, 270,277,277,952,277,158,267,13,334,13, - 1576,1091,472,1035,147,3,3,144,803,153, - 932,22,1132,789,1345,609,272,1351,327,1349, - 263,152,1209,476,153,153,328,778,1092,1092, + 1574,1091,472,1035,147,3,3,144,803,153, + 932,22,1132,789,1343,609,272,1349,327,1347, + 263,152,1207,476,153,153,328,778,1092,1092, 1092,1092,1092,1092,1092,1092,1092,1092,866,541, - 1092,1536,270,270,270,270,152,1536,84,817, - 817,473,472,144,144,153,1004,1346,476,476, - 84,736,398,1346,84,84,270,84,153,208, - 1247,289,277,277,276,276,267,152,603,689, + 1092,1534,270,270,270,270,152,1534,84,817, + 817,473,472,144,144,153,1004,1344,476,476, + 84,736,398,1344,84,84,270,84,153,208, + 1245,289,277,277,276,276,267,152,603,689, 866,430,435,432,439,437,446,444,448,447, 449,548,450,144,1091,886,144,84,153,620, - 803,803,153,932,692,787,691,1538,341,1345, - 1344,1346,272,153,12,1362,812,328,267,676, - 153,476,328,153,204,866,866,866,1346,1346, - 1346,1051,1561,1561,1071,1487,735,208,84,1071, + 803,803,153,932,692,787,691,1536,341,1343, + 1342,1344,272,153,12,1360,812,328,267,676, + 153,476,328,153,204,866,866,866,1344,1344, + 1344,1051,1559,1559,1071,1485,735,208,84,1071, 736,736,736,736,153,558,35,35,558,1091, 817,267,152,204,84,84,476,476,147,62, - 398,398,932,1247,289,276,276,276,153,1346, - 1091,1346,1092,1092,1092,1092,1092,1092,1092,1092, + 398,398,932,1245,289,276,276,276,153,1344, + 1091,1344,1092,1092,1092,1092,1092,1092,1092,1092, 1092,1092,1092,1092,1092,1092,1092,1092,1092,1092, 1092,1092,1092,1091,1091,1091,1091,1091,1091,1091, - 1091,1091,1091,1091,1147,1092,1346,681,267,144, - 1482,1088,1290,398,624,463,803,473,473,22, - 473,673,609,1538,1538,1574,1573,684,681,153, - 272,1197,1352,270,930,1012,272,12,813,817, + 1091,1091,1091,1091,1145,1092,1344,681,267,144, + 1480,1088,1288,398,624,463,803,473,473,22, + 473,673,609,1536,1536,1572,1571,684,681,153, + 272,1195,1350,270,930,1012,272,12,813,817, 12,817,328,676,676,153,952,951,153,778, - 153,1346,1346,1346,1052,147,1243,1233,1232,1302, - 90,90,152,541,1092,398,735,1091,1346,1346, - 952,952,952,952,328,1346,931,933,931,1346, - 398,267,939,153,1536,1485,84,952,952,84, - 1346,1237,1220,1236,951,270,611,611,681,681, + 153,1344,1344,1344,1052,147,1241,1231,1230,1300, + 90,90,152,541,1092,398,735,1091,1344,1344, + 952,952,952,952,328,1344,931,933,931,1344, + 398,267,939,153,1534,1483,84,952,952,84, + 1344,1235,1218,1234,951,270,611,611,681,681, 276,153,473,1092,432,432,430,430,430,437, 437,437,437,437,437,435,435,444,439,439, - 447,446,448,1197,1197,449,681,886,1290,398, - 347,619,156,1346,341,1346,557,1346,1346,208, + 447,446,448,1195,1195,449,681,886,1288,398, + 347,619,156,1344,341,1344,557,1344,1344,208, 1014,817,817,817,817,153,676,680,1007,680, - 1071,204,1051,1197,1092,1197,473,1050,1536,1536, - 1536,1052,1536,153,954,473,473,153,267,1561, - 1346,1245,1247,153,208,94,866,1092,736,84, - 84,1346,1536,1536,1536,1536,153,153,153,933, - 208,785,152,153,558,84,84,793,1091,1234, - 1234,1241,147,821,289,277,289,950,950,681, - 473,1091,1091,886,1091,1091,398,624,1346,1574, - 932,472,1092,1197,804,1029,469,1014,817,817, - 1199,680,681,1092,153,1041,1052,1197,1142,1052, - 1071,1071,1069,1145,1071,473,473,810,785,1346, - 1247,328,932,1346,1346,84,147,1091,1091,1091, - 1091,1536,1536,778,153,932,785,1346,84,401, - 793,1091,1091,1245,1220,289,736,736,680,398, + 1071,204,1051,1195,1092,1195,473,1050,1534,1534, + 1534,1052,1534,153,954,473,473,153,267,1559, + 1344,1243,1245,153,208,94,866,1092,736,84, + 84,1344,1534,1534,1534,1534,153,153,153,933, + 208,785,152,153,558,84,84,793,1091,1232, + 1232,1239,147,821,289,277,289,950,950,681, + 473,1091,1091,886,1091,1091,398,624,1344,1572, + 932,472,1092,1195,804,1029,469,1014,817,817, + 1197,680,681,1092,153,1041,1052,1195,1142,1052, + 1071,1071,1069,1050,1071,473,473,810,1049,1344, + 1245,328,932,1344,1344,84,147,1091,1091,1091, + 1091,1534,1534,778,153,932,785,1344,84,401, + 793,1091,1091,1243,1218,289,736,736,680,398, 398,557,473,1014,1092,1092,469,469,1014,1014, - 939,773,1200,153,681,1052,1092,1052,1346,144, - 1071,1346,1069,1471,1536,1346,785,943,1346,153, - 94,84,84,84,1091,84,1346,1346,1346,1346, - 558,558,937,84,778,1042,1536,84,796,951, - 780,216,469,469,1199,153,152,152,153,1052, - 810,1052,473,1471,1091,1052,1049,943,943,127, - 84,558,1092,398,1346,1346,937,821,796,864, - 780,780,153,153,153,1091,1050,558,473,1346, - 946,943,84,1346,398,1346,1346,141,1536,611, - 153,153,1052,1346,473,946,946,267,267,143, - 1248,950,1052,946,1574,931,736 + 939,773,1198,153,681,1052,1092,1052,1344,144, + 1071,1344,1069,1469,1534,1344,785,943,1344,153, + 94,84,84,84,1091,84,1344,1344,1344,1344, + 558,558,937,84,778,1042,1534,84,796,951, + 780,216,469,469,1197,153,152,152,153,1052, + 810,1052,473,1469,1091,1052,1049,943,943,127, + 84,558,1092,398,1344,1344,937,821,796,864, + 780,780,153,153,153,1091,1050,558,473,1344, + 946,943,84,1344,398,1344,1344,141,1534,611, + 153,153,1052,1344,473,946,946,267,267,143, + 1246,950,1052,946,1572,931,736 }; }; public final static char asb[] = Asb.asb; @@ -2853,7 +2855,7 @@ public class XlcCPPParserprs implements lpg.lpgjavaruntime.ParseTable, XlcCPPPar 63,53,73,54,64,55,56,57,46,58, 65,32,22,68,66,69,70,16,28,15, 20,18,19,21,23,17,26,27,29,30, - 31,24,25,85,83,102,104,87,82,133, + 31,24,25,85,83,102,104,87,82,134, 118,50,51,105,103,47,48,106,107,100, 101,71,84,108,109,110,111,112,113,114, 115,119,86,120,121,122,123,124,125,126, @@ -2872,7 +2874,7 @@ public class XlcCPPParserprs implements lpg.lpgjavaruntime.ParseTable, XlcCPPPar 25,16,28,15,20,18,19,21,23,17, 26,27,29,30,31,22,60,63,61,59, 64,87,1,4,3,2,82,12,0,71, - 0,130,131,132,83,87,11,12,5,14, + 0,131,132,133,83,87,11,12,5,14, 13,10,49,76,72,94,74,75,24,25, 35,7,38,15,16,66,33,26,68,39, 40,17,41,42,18,19,43,44,20,21, @@ -2886,7 +2888,7 @@ public class XlcCPPParserprs implements lpg.lpgjavaruntime.ParseTable, XlcCPPPar 6,50,51,14,13,47,48,58,62,65, 32,73,36,1,4,3,2,104,12,0, 38,39,40,41,42,43,11,44,36,73, - 85,45,37,1,4,77,5,133,118,50, + 85,45,37,1,4,77,5,134,118,50, 51,10,6,82,3,2,33,34,35,105, 103,13,106,107,47,48,101,100,71,108, 109,116,117,110,111,14,112,113,114,84, @@ -2923,7 +2925,7 @@ public class XlcCPPParserprs implements lpg.lpgjavaruntime.ParseTable, XlcCPPPar 23,17,26,27,29,30,31,38,44,36, 40,43,42,39,33,34,35,7,9,8, 41,45,1,4,3,2,37,6,0,12, - 78,87,49,0,134,0,83,78,79,12, + 78,87,49,0,130,0,83,78,79,12, 5,0,35,33,34,73,85,84,83,102, 79,82,5,7,12,78,49,8,9,86, 0,6,8,9,7,71,12,83,82,0, @@ -2949,7 +2951,7 @@ public class XlcCPPParserprs implements lpg.lpgjavaruntime.ParseTable, XlcCPPPar 0,49,12,5,11,10,83,14,13,6, 1,4,3,2,8,9,7,0,83,7, 77,8,9,71,12,78,49,86,5,0, - 79,94,130,131,132,67,83,135,134,136, + 79,94,131,132,133,67,83,135,130,136, 87,76,85,75,74,72,89,91,98,96, 88,93,95,97,99,82,90,92,49,12, 68,66,69,70,38,44,36,40,43,42, @@ -2959,50 +2961,50 @@ public class XlcCPPParserprs implements lpg.lpgjavaruntime.ParseTable, XlcCPPPar 46,54,52,53,10,11,6,5,50,51, 14,13,47,48,58,62,65,32,1,4, 3,2,17,15,21,23,16,20,18,19, - 0,83,102,0,88,0,24,25,15,16, - 59,80,26,60,52,17,18,19,81,11, - 61,20,21,62,63,53,73,54,64,22, - 23,27,28,55,56,57,46,1,4,5, - 50,51,14,13,47,48,10,58,6,32, - 65,3,2,29,30,31,83,0,37,1, - 4,6,3,2,130,131,132,0,6,12, - 82,8,9,7,1,4,3,2,0,7, - 14,13,8,9,11,10,6,1,4,3, - 2,5,77,84,86,78,12,79,102,0, - 10,11,5,77,13,14,102,24,25,7, - 38,15,16,66,26,68,39,40,17,41, - 42,18,19,43,44,20,21,36,69,45, - 22,70,23,37,27,28,1,4,6,32, - 8,9,3,2,29,30,31,79,12,33, - 34,35,0,84,78,32,22,68,66,69, - 70,24,25,35,7,38,15,16,33,26, - 39,40,17,41,42,18,19,43,11,44, - 20,21,36,45,23,37,27,34,28,4, - 77,14,13,10,6,49,8,9,3,2, - 29,30,31,5,1,79,12,0,6,67, - 83,12,82,8,9,7,1,4,3,2, - 0,6,12,83,82,8,9,7,0,33, - 26,68,39,17,41,18,19,43,44,20, - 21,69,45,70,23,37,27,34,28,66, - 16,15,32,38,35,25,24,29,30,31, - 12,5,14,13,49,75,74,94,40,36, - 42,76,71,8,9,7,67,11,1,4, - 10,6,3,2,22,72,0,87,24,25, - 35,38,15,16,66,33,26,68,39,17, - 41,18,19,43,44,20,21,69,45,22, - 70,23,37,27,34,28,32,29,30,31, - 135,76,72,40,36,42,94,74,75,67, - 12,14,49,10,11,1,4,3,2,6, - 5,8,9,7,13,0,80,81,50,51, - 14,13,47,48,10,58,62,65,32,6, - 11,55,56,57,46,54,52,53,24,25, - 16,28,15,20,18,19,21,23,17,26, - 27,29,30,31,22,60,63,61,59,64, - 77,1,4,3,2,5,0,11,10,17, - 15,21,23,16,20,18,19,38,44,36, - 40,43,42,37,39,33,34,35,41,45, - 84,7,1,4,14,13,6,8,9,3, - 2,77,5,79,12,78,0 + 0,83,102,0,24,25,15,16,59,80, + 26,60,52,17,18,19,81,11,61,20, + 21,62,63,53,73,54,64,22,23,27, + 28,55,56,57,46,1,4,5,50,51, + 14,13,47,48,10,58,6,32,65,3, + 2,29,30,31,83,0,37,1,4,6, + 3,2,131,132,133,0,6,12,82,8, + 9,7,1,4,3,2,0,7,14,13, + 8,9,11,10,6,1,4,3,2,5, + 77,84,86,78,12,79,102,0,10,11, + 5,77,13,14,102,24,25,7,38,15, + 16,66,26,68,39,40,17,41,42,18, + 19,43,44,20,21,36,69,45,22,70, + 23,37,27,28,1,4,6,32,8,9, + 3,2,29,30,31,79,12,33,34,35, + 0,84,78,32,22,68,66,69,70,24, + 25,35,7,38,15,16,33,26,39,40, + 17,41,42,18,19,43,11,44,20,21, + 36,45,23,37,27,34,28,4,77,14, + 13,10,6,49,8,9,3,2,29,30, + 31,5,1,79,12,0,6,67,83,12, + 82,8,9,7,1,4,3,2,0,6, + 12,83,82,8,9,7,0,33,26,68, + 39,17,41,18,19,43,44,20,21,69, + 45,70,23,37,27,34,28,66,16,15, + 32,38,35,25,24,29,30,31,12,5, + 14,13,49,75,74,94,40,36,42,76, + 71,8,9,7,67,11,1,4,10,6, + 3,2,22,72,0,87,24,25,35,38, + 15,16,66,33,26,68,39,17,41,18, + 19,43,44,20,21,69,45,22,70,23, + 37,27,34,28,32,29,30,31,135,76, + 72,40,36,42,94,74,75,67,12,14, + 49,10,11,1,4,3,2,6,5,8, + 9,7,13,0,80,81,50,51,14,13, + 47,48,10,58,62,65,32,6,11,55, + 56,57,46,54,52,53,24,25,16,28, + 15,20,18,19,21,23,17,26,27,29, + 30,31,22,60,63,61,59,64,77,1, + 4,3,2,5,0,11,10,17,15,21, + 23,16,20,18,19,38,44,36,40,43, + 42,37,39,33,34,35,41,45,84,7, + 1,4,14,13,6,8,9,3,2,77, + 5,79,12,78,0 }; }; public final static char asr[] = Asr.asr; @@ -3135,8 +3137,8 @@ public class XlcCPPParserprs implements lpg.lpgjavaruntime.ParseTable, XlcCPPPar 61,62,64,70,74,76,77,90,97,17, 18,32,6,122,4,15,16,21,22,23, 24,25,26,27,28,45,46,5,29,34, - 35,36,37,38,39,40,41,42,43,85, - 86,87,3,56,138,67,121 + 35,36,37,38,39,40,41,42,43,56, + 85,86,87,3,138,67,121 }; }; public final static char terminalIndex[] = TerminalIndex.terminalIndex; @@ -3176,14 +3178,14 @@ public class XlcCPPParserprs implements lpg.lpgjavaruntime.ParseTable, XlcCPPPar public interface ScopePrefix { public final static char scopePrefix[] = { 293,455,754,773,444,473,705,721,732,743, - 540,1,9,399,413,430,493,163,424,560, - 598,301,762,648,19,141,172,192,201,206, + 540,10,18,399,413,430,493,163,424,560, + 598,301,762,648,28,141,172,192,201,206, 211,264,329,486,501,506,116,278,405,419, - 676,148,278,550,506,781,148,351,380,15, + 676,148,278,550,506,781,148,351,380,24, 40,52,84,84,108,112,124,135,182,197, 225,511,529,533,616,641,670,697,701,791, 795,799,216,128,216,578,594,607,625,689, - 24,235,235,363,451,607,712,728,739,750, + 1,235,235,363,451,607,712,728,739,750, 341,659,64,76,105,177,177,290,356,58, 177,377,396,58,58,177,537,638,645,290, 177,814,46,58,99,229,515,582,622,632, @@ -3199,16 +3201,16 @@ public class XlcCPPParserprs implements lpg.lpgjavaruntime.ParseTable, XlcCPPPar public interface ScopeSuffix { public final static char scopeSuffix[] = { 139,269,88,88,269,269,88,88,88,88, - 547,7,7,269,44,269,499,169,410,566, - 604,307,188,654,7,146,146,146,180,180, + 547,16,16,269,44,269,499,169,410,566, + 604,307,188,654,16,146,146,146,180,180, 44,269,334,491,491,499,121,283,410,220, - 681,159,286,555,768,786,153,345,345,7, + 681,159,286,555,768,786,153,345,345,16, 44,56,88,88,88,88,88,139,88,180, - 44,491,44,44,269,7,88,88,88,88, - 88,7,812,132,220,547,547,547,629,681, - 28,239,253,367,439,611,716,716,716,716, + 44,491,44,44,269,16,88,88,88,88, + 88,16,812,132,220,547,547,547,629,681, + 5,239,253,367,439,611,716,716,716,716, 345,663,67,67,88,180,180,88,88,359, - 361,7,88,56,56,361,44,88,7,88, + 361,16,88,56,56,361,44,88,16,88, 674,88,49,61,102,232,518,585,102,635, 36,693,239,439,684,247,258,480,572,314, 466,74,82,92,44,521,523,525,527,44, @@ -3244,12 +3246,12 @@ public class XlcCPPParserprs implements lpg.lpgjavaruntime.ParseTable, XlcCPPPar public interface ScopeLa { public final static char scopeLa[] = { - 134,87,79,79,87,87,79,79,79,79, + 130,87,79,79,87,87,79,79,79,79, 79,104,104,87,49,87,1,84,1,79, 136,82,5,79,104,84,84,84,1,1, 49,87,82,1,1,1,79,87,1,1, 6,84,78,49,1,1,84,79,79,104, - 49,1,79,79,79,79,79,134,79,1, + 49,1,79,79,79,79,79,130,79,1, 49,1,49,49,87,104,79,79,79,79, 79,104,1,79,1,79,79,79,83,6, 78,1,1,13,82,79,84,84,84,84, @@ -3290,10 +3292,10 @@ public class XlcCPPParserprs implements lpg.lpgjavaruntime.ParseTable, XlcCPPPar public interface ScopeRhs { public final static char scopeRhs[] = {0, - 183,36,334,141,77,0,139,0,183,334, - 141,36,77,0,183,36,77,0,183,334, - 141,77,0,182,5,75,0,44,145,140, - 142,0,332,141,0,131,269,0,0,286, + 182,5,75,0,44,145,140,142,0,183, + 36,334,141,77,0,139,0,183,334,141, + 36,77,0,183,36,77,0,183,334,141, + 77,0,332,141,0,131,269,0,0,286, 141,176,0,142,0,141,176,0,212,142, 0,180,237,141,0,216,0,237,141,0, 260,216,0,274,180,0,260,0,180,0, @@ -3302,7 +3304,7 @@ public class XlcCPPParserprs implements lpg.lpgjavaruntime.ParseTable, XlcCPPPar 0,267,0,236,0,32,172,0,366,90, 0,30,186,0,202,5,0,206,5,65, 0,362,5,328,0,361,5,5,8,0, - 140,140,0,360,5,73,0,359,5,134, + 140,140,0,360,5,73,0,359,5,130, 0,140,187,0,141,202,85,0,231,0, 292,141,71,139,0,20,0,326,141,71, 67,0,20,58,0,33,147,0,20,58, @@ -3379,52 +3381,52 @@ public class XlcCPPParserprs implements lpg.lpgjavaruntime.ParseTable, XlcCPPPar public interface ScopeState { public final static char scopeState[] = {0, - 3210,3168,1016,0,3238,2447,0,3294,3204,3059, - 2912,0,2619,1828,0,6929,7142,7129,7113,0, - 3018,4210,0,2548,0,4748,3925,717,3371,0, - 4513,4447,4381,4315,4249,4183,4117,4051,3985,3918, - 3638,3572,5864,0,7038,3188,4292,0,2816,857, - 0,1070,1000,0,842,0,3228,989,0,687, - 1677,0,2187,1296,6761,1108,1346,796,6759,6705, - 5950,4216,3298,4513,4447,4381,4315,4249,4183,4117, - 4051,3985,3918,3638,3572,0,1907,1804,908,698, - 3731,6692,3253,5036,5021,3982,3603,3133,0,1416, - 0,7026,7021,7014,7009,7104,7096,6993,6981,6923, - 7059,6916,6666,6911,6898,6308,6884,5484,5051,5427, - 6877,5290,5056,3027,0,3731,3778,5154,5383,5307, - 4122,3253,3643,4748,3925,717,5036,3371,5021,5761, - 5726,3154,3813,4583,3103,864,0,3778,4122,0, - 5398,5250,802,655,3309,3074,0,3672,3589,7026, - 7021,3205,2864,7014,2139,7009,2091,1946,1799,2571, - 1202,7104,1555,7096,1446,6993,6981,6923,3668,891, - 7059,6916,5398,6666,773,6911,6898,744,6308,1528, - 3309,6884,5484,1132,5051,5427,6877,5290,5056,735, - 5250,3027,3074,1251,1161,895,748,1231,3253,3813, - 3643,4748,3925,3731,717,5036,3371,5021,1091,703, - 3778,5154,1070,1000,5383,4583,5761,5307,5726,3154, - 3103,864,4122,6631,6609,6518,5668,3486,4787,6490, - 6467,4622,3270,3448,3548,3511,4714,4660,3890,5227, - 5186,4989,4957,4925,4893,4861,4825,5838,5803,5064, - 5638,5608,6444,6421,6398,6263,6240,6217,6194,6171, - 6148,6125,3852,2793,3031,802,2979,2936,2884,1875, - 1824,1776,2841,1372,2745,2691,2643,2591,1728,2548, - 1179,1480,1680,1627,2500,2452,2404,2356,2308,2260, - 2212,2164,2116,2068,2019,1971,1109,1019,655,949, - 1580,1923,1532,1321,1268,1423,0,3813,5529,6848, - 802,4748,6562,5440,3925,717,6350,7101,5346,6558, - 6554,5968,3189,5519,5272,7068,5154,5398,7007,4740, - 6030,655,5753,5299,6659,4683,6292,4522,4583,3309, - 5761,3218,2907,3316,5726,2616,3573,5250,5260,4502, - 4322,3770,5533,3116,860,3070,864,5277,3074,6840, - 3731,6653,6833,6827,4388,6692,3371,6026,6792,5413, - 5383,5307,4454,3103,0,4513,4447,4381,4315,4249, - 4183,4117,4051,3985,3918,3638,3572,6513,5662,5512, - 5441,6302,6286,6029,5984,5923,5878,5862,5090,6660, - 4144,0,7209,3990,7176,7162,7161,6761,1179,1109, - 1019,7128,7080,6775,4254,3361,6759,6705,5950,949, - 4216,3298,4513,4447,4381,4315,4249,4183,4117,4051, - 3985,3918,3638,3572,6513,5662,5512,5441,6302,6286, - 6029,5984,5923,5878,5862,5090,0 + 3212,3170,1018,0,3240,2449,0,3296,3206,3061, + 2914,0,2621,1830,0,6931,7144,7131,7115,0, + 3020,4212,0,2550,0,4750,3927,719,3373,0, + 4515,4449,4383,4317,4251,4185,4119,4053,3987,3920, + 3640,3574,5866,0,7040,3190,4294,0,2818,859, + 0,1072,1002,0,844,0,3230,991,0,689, + 1679,0,2189,1298,6763,1110,1348,798,6761,6707, + 5952,4218,3300,4515,4449,4383,4317,4251,4185,4119, + 4053,3987,3920,3640,3574,0,1909,1806,910,700, + 3733,6694,3255,5038,5023,3984,3605,3135,0,1418, + 0,7028,7023,7016,7011,7106,7098,6995,6983,6925, + 7061,6918,6668,6913,6900,6310,6886,5486,5053,5429, + 6879,5292,5058,3029,0,3733,3780,5156,5385,5309, + 4124,3255,3645,4750,3927,719,5038,3373,5023,5763, + 5728,3156,3815,4585,3105,866,0,3780,4124,0, + 5400,5252,804,657,3311,3076,0,3674,3591,7028, + 7023,3207,2866,7016,2141,7011,2093,1948,1801,2573, + 1204,7106,1557,7098,1448,6995,6983,6925,3670,893, + 7061,6918,5400,6668,775,6913,6900,746,6310,1530, + 3311,6886,5486,1134,5053,5429,6879,5292,5058,737, + 5252,3029,3076,1253,1163,897,750,1233,3255,3815, + 3645,4750,3927,3733,719,5038,3373,5023,1093,705, + 3780,5156,1072,1002,5385,4585,5763,5309,5728,3156, + 3105,866,4124,6633,6611,6520,5670,3488,4789,6492, + 6469,4624,3272,3450,3550,3513,4716,4662,3892,5229, + 5188,4991,4959,4927,4895,4863,4827,5840,5805,5066, + 5640,5610,6446,6423,6400,6265,6242,6219,6196,6173, + 6150,6127,3854,2795,3033,804,2981,2938,2886,1877, + 1826,1778,2843,1374,2747,2693,2645,2593,1730,2550, + 1181,1482,1682,1629,2502,2454,2406,2358,2310,2262, + 2214,2166,2118,2070,2021,1973,1111,1021,657,951, + 1582,1925,1534,1323,1270,1425,0,3815,5531,6850, + 804,4750,6564,5442,3927,719,6352,7103,5348,6560, + 6556,5970,3191,5521,5274,7070,5156,5400,7009,4742, + 6032,657,5755,5301,6661,4685,6294,4524,4585,3311, + 5763,3220,2909,3318,5728,2618,3575,5252,5262,4504, + 4324,3772,5535,3118,862,3072,866,5279,3076,6842, + 3733,6655,6835,6829,4390,6694,3373,6028,6794,5415, + 5385,5309,4456,3105,0,4515,4449,4383,4317,4251, + 4185,4119,4053,3987,3920,3640,3574,6515,5664,5514, + 5443,6304,6288,6031,5986,5925,5880,5864,5092,6662, + 4146,0,7211,3992,7178,7164,7163,6763,1181,1111, + 1021,7130,7082,6777,4256,3363,6761,6707,5952,951, + 4218,3300,4515,4449,4383,4317,4251,4185,4119,4053, + 3987,3920,3640,3574,6515,5664,5514,5443,6304,6288, + 6031,5986,5925,5880,5864,5092,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -3452,7 +3454,7 @@ public class XlcCPPParserprs implements lpg.lpgjavaruntime.ParseTable, XlcCPPPar 1,46,141,201,271,140,139,142,138,186, 142,141,201,67,6,5,5,5,206,202, 182,186,176,187,141,80,81,201,140,5, - 71,71,71,71,142,5,118,133,5,77, + 71,71,71,71,142,5,118,134,5,77, 141,315,83,201,14,13,141,141,141,244, 77,77,222,141,141,141,141,186,142,152, 78,206,103,105,48,47,107,106,13,117, @@ -3490,7 +3492,7 @@ public class XlcCPPParserprs implements lpg.lpgjavaruntime.ParseTable, XlcCPPPar 354,255,37,142,310,83,102,83,257,187, 141,257,343,165,88,257,141,169,268,222, 169,169,303,306,77,212,182,182,182,182, - 5,5,6,138,140,317,134,141,250,326, + 5,5,6,138,140,317,130,141,250,326, 234,78,274,180,78,142,37,355,211,169, 213,169,342,141,5,169,317,141,169,140, 141,5,77,182,243,243,6,5,141,84, @@ -3805,18 +3807,18 @@ public class XlcCPPParserprs implements lpg.lpgjavaruntime.ParseTable, XlcCPPPar public final static int NUM_STATES = 657, NT_OFFSET = 137, - LA_STATE_OFFSET = 8939, + LA_STATE_OFFSET = 8946, MAX_LA = 2147483647, - NUM_RULES = 654, + NUM_RULES = 656, NUM_NONTERMINALS = 235, NUM_SYMBOLS = 372, SEGMENT_SIZE = 8192, - START_STATE = 5090, + START_STATE = 5092, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 135, EOLT_SYMBOL = 135, - ACCEPT_ACTION = 7280, - ERROR_ACTION = 8285; + ACCEPT_ACTION = 7282, + ERROR_ACTION = 8290; public final static boolean BACKTRACK = true; diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/cpp/XlcCPPParsersym.java b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/cpp/XlcCPPParsersym.java index 7417f530c4b..6683ec67e76 100644 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/cpp/XlcCPPParsersym.java +++ b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/cpp/XlcCPPParsersym.java @@ -23,7 +23,7 @@ public interface XlcCPPParsersym { TK_bool = 15, TK_break = 89, TK_case = 90, - TK_catch = 134, + TK_catch = 130, TK_char = 16, TK_class = 66, TK_const = 33, @@ -52,9 +52,9 @@ public interface XlcCPPParsersym { TK_namespace = 72, TK_new = 81, TK_operator = 11, - TK_private = 130, - TK_protected = 131, - TK_public = 132, + TK_private = 131, + TK_protected = 132, + TK_public = 133, TK_register = 44, TK_reinterpret_cast = 61, TK_return = 98, @@ -91,7 +91,7 @@ public interface XlcCPPParsersym { TK_Invalid = 137, TK_LeftBracket = 77, TK_LeftParen = 5, - TK_Dot = 133, + TK_Dot = 134, TK_DotStar = 105, TK_Arrow = 118, TK_ArrowStar = 103, @@ -284,11 +284,11 @@ public interface XlcCPPParsersym { "AndAssign", "CaretAssign", "OrAssign", + "catch", "private", "protected", "public", "Dot", - "catch", "EOF_TOKEN", "else", "Invalid" diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/parserBuild.properties b/xlc/org.eclipse.cdt.core.lrparser.xlc/parserBuild.properties new file mode 100644 index 00000000000..2dcd86a6273 --- /dev/null +++ b/xlc/org.eclipse.cdt.core.lrparser.xlc/parserBuild.properties @@ -0,0 +1,15 @@ +############################################################################### +# Copyright (c) 2010 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 +############################################################################### + + +lpg_exe=D:/lpg/lpgdistribution/lpgexe/lpg.exe +lpg_template=D:/rtc_efs_prototype_workspace/org.eclipse.cdt.core.lrparser/grammar/template +lpg_include=D:/rtc_efs_prototype_workspace/org.eclipse.cdt.core.lrparser/grammar/gpp |