Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'upc/org.eclipse.cdt.core.parser.upc')
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/META-INF/MANIFEST.MF2
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/build.properties15
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/grammar/build.xml32
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCExpressionParser.g2
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCGrammarExtensions.g12
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCNoCastExpressionParser.g2
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCParser.g2
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCSizeofExpressionParser.g10
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/plugin.properties16
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/plugin.xml3
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/DOMToUPCTokenMap.java18
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/IUPCNodeFactory.java54
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/UPCASTNodeFactory.java53
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/UPCKeyword.java58
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/UPCLanguageKeywords.java32
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/UPCParserAction.java39
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/UPCSecondaryParserFactory.java44
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/UPCLanguage.java76
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTCompositeTypeSpecifier.java14
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTDeclSpecifier.java15
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTElaboratedTypeSpecifier.java15
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTEnumerationSpecifier.java15
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTForallStatement.java15
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTKeywordExpression.java15
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTLayoutQualifier.java15
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTSimpleDeclSpecifier.java15
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTSynchronizationStatement.java16
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTTypeIdSizeofExpression.java2
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTTypedefNameSpecifier.java16
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTUnarySizeofExpression.java1
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParser.java946
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParserprs.java1621
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParsersym.java124
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParser.java942
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParserprs.java1553
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParsersym.java116
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParser.java957
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParserprs.java2661
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParsersym.java42
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCSizeofExpressionParser.java930
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCSizeofExpressionParserprs.java1524
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCSizeofExpressionParsersym.java124
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTCompositeTypeSpecifier.java19
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTElaboratedTypeSpecifier.java16
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTEnumerationSpecifier.java18
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTForallStatement.java17
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTKeywordExpression.java24
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTLayoutQualifier.java18
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTSimpleDeclSpecifier.java15
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTSynchronizationStatement.java19
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTTypeIdSizeofExpression.java1
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTTypedefNameSpecifier.java24
-rw-r--r--upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTUnarySizeofExpression.java1
53 files changed, 6237 insertions, 6099 deletions
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 3208da69b7e..59d655a778e 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.0.qualifier
+Bundle-Version: 5.1.0.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/build.properties b/upc/org.eclipse.cdt.core.parser.upc/build.properties
index f476dcb6733..4dd55390af9 100644
--- a/upc/org.eclipse.cdt.core.parser.upc/build.properties
+++ b/upc/org.eclipse.cdt.core.parser.upc/build.properties
@@ -1,11 +1,11 @@
###############################################################################
-# Copyright (c) 2007, 2008 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:
+# Copyright (c) 2007, 2009 IBM Corporation and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
# IBM Corporation - initial API and implementation
###############################################################################
source.. = src/
@@ -20,3 +20,4 @@ bin.includes = META-INF/,\
about.properties,\
eclipse32.gif,\
templates/
+src.includes = about.html
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 fb3fb979f0b..14946c96cc2 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, 2008 IBM Corporation and others.
+ Copyright (c) 2006, 2009 IBM Corporation and others.
All rights reserved. This program and the accompanying materials
are made available under the terms of the Eclipse Public License v1.0
which accompanies this distribution, and is available at
@@ -12,15 +12,7 @@
<project name="UPC Parser" default="upc" basedir=".">
<description>Generates the UPC parser from LPG grammar files</description>
- <fail unless="lpg_exe">
- Property $${lpg_exe} not set.
- This property must be set to the full path to the LPG generator executable.
- </fail>
-
- <fail unless="lpg_template">
- Property $${lpg_template} not set.
- This property must be set to the full path to the LPG templates folder.
- </fail>
+ <import file="../../org.eclipse.cdt.core.lrparser/grammar/generate.xml"/>
<property name="upc_location" value="../src/org/eclipse/cdt/internal/core/dom/parser/upc"/>
@@ -52,25 +44,5 @@
<param name="grammar_name" value="${grammar_name}"/>
</antcall>
</target>
-
-
- <target name="generate">
- <property name="grammar_file" value="${grammar_dir}/${grammar_name}.g"/>
- <echo message="lpg_exe=${lpg_exe}"/>
- <echo message="lpg_template=${lpg_template}"/>
- <echo message="grammar_file=${grammar_file}.g"/>
- <echo message="output_dir=${output_dir}"/>
-
- <exec executable="${lpg_exe}">
- <arg value="${grammar_file}"/>
- <env key="LPG_TEMPLATE" path="${lpg_template}"/>
- </exec>
-
- <move overwrite="true" toDir="${output_dir}">
- <fileset dir=".">
- <include name="${grammar_name}*.*"/>
- </fileset>
- </move>
- </target>
</project> \ No newline at end of file
diff --git a/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCExpressionParser.g b/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCExpressionParser.g
index 5aebaa7dbc6..b7be58100af 100644
--- a/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCExpressionParser.g
+++ b/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCExpressionParser.g
@@ -11,7 +11,7 @@
%options la=2
%options package=org.eclipse.cdt.internal.core.dom.parser.upc
-%options template=FixedBtParserTemplateD.g
+%options template=LRSecondaryParserTemplate.g
$Import
diff --git a/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCGrammarExtensions.g b/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCGrammarExtensions.g
index 48655f6df88..c000634cdeb 100644
--- a/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCGrammarExtensions.g
+++ b/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCGrammarExtensions.g
@@ -1,5 +1,5 @@
-----------------------------------------------------------------------------------
--- Copyright (c) 2006, 2007 IBM Corporation and others.
+-- Copyright (c) 2006, 2009 IBM Corporation and others.
-- All rights reserved. This program and the accompanying materials
-- are made available under the terms of the Eclipse Public License v1.0
-- which accompanies this distribution, and is available at
@@ -12,13 +12,15 @@
$Define
$build_action_class /. UPCParserAction ./
- $node_factory_create_expression /. UPCASTNodeFactory.DEFAULT_INSTANCE ./
+ $node_factory_create_expression /. new UPCASTNodeFactory() ./
+ $parser_factory_create_expression /. UPCSecondaryParserFactory.getDefault() ./
$End
$Globals
/.
import org.eclipse.cdt.core.dom.parser.upc.UPCASTNodeFactory;
+import org.eclipse.cdt.core.dom.parser.upc.UPCSecondaryParserFactory;
import org.eclipse.cdt.core.dom.parser.upc.UPCParserAction;
import org.eclipse.cdt.core.dom.upc.ast.IUPCASTKeywordExpression;
import org.eclipse.cdt.core.dom.upc.ast.IUPCASTSynchronizationStatement;
@@ -67,15 +69,15 @@ literal
unary_expression
::= 'upc_localsizeof' unary_expression
/. $Build consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_localsizeof); $EndBuild ./
- | 'upc_localsizeof' '(' type_name ')'
+ | 'upc_localsizeof' '(' type_id ')'
/. $Build consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_localsizeof); $EndBuild ./
| 'upc_blocksizeof' unary_expression
/. $Build consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_blocksizeof); $EndBuild ./
- | 'upc_blocksizeof' '(' type_name ')'
+ | 'upc_blocksizeof' '(' type_id ')'
/. $Build consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_blocksizeof); $EndBuild ./
| 'upc_elemsizeof' unary_expression
/. $Build consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_elemsizeof); $EndBuild ./
- | 'upc_elemsizeof' '(' type_name ')'
+ | 'upc_elemsizeof' '(' type_id ')'
/. $Build consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_elemsizeof); $EndBuild ./
diff --git a/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCNoCastExpressionParser.g b/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCNoCastExpressionParser.g
index c17364f890d..635c9aee76c 100644
--- a/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCNoCastExpressionParser.g
+++ b/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCNoCastExpressionParser.g
@@ -11,7 +11,7 @@
%options la=2
%options package=org.eclipse.cdt.internal.core.dom.parser.upc
-%options template=FixedBtParserTemplateD.g
+%options template=LRSecondaryParserTemplate.g
$Import
diff --git a/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCParser.g b/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCParser.g
index ea1e78c3a89..8f4d84d2563 100644
--- a/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCParser.g
+++ b/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCParser.g
@@ -11,7 +11,7 @@
%options la=2
%options package=org.eclipse.cdt.internal.core.dom.parser.upc
-%options template=FixedBtParserTemplateD.g
+%options template=LRParserTemplate.g
$Import
diff --git a/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCSizeofExpressionParser.g b/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCSizeofExpressionParser.g
index 369ab99e88d..564b1637ca5 100644
--- a/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCSizeofExpressionParser.g
+++ b/upc/org.eclipse.cdt.core.parser.upc/grammar/upc/UPCSizeofExpressionParser.g
@@ -1,5 +1,5 @@
-----------------------------------------------------------------------------------
--- Copyright (c) 2006, 2008 IBM Corporation and others.
+-- Copyright (c) 2006, 2009 IBM Corporation and others.
-- All rights reserved. This program and the accompanying materials
-- are made available under the terms of the Eclipse Public License v1.0
-- which accompanies this distribution, and is available at
@@ -11,7 +11,7 @@
%options la=2
%options package=org.eclipse.cdt.internal.core.dom.parser.upc
-%options template=FixedBtParserTemplateD.g
+%options template=LRSecondaryParserTemplate.g
$Import
@@ -23,8 +23,8 @@ $Import
$DropRules
unary_expression
- ::= 'upc_localsizeof' '(' type_name ')'
- | 'upc_blocksizeof' '(' type_name ')'
- | 'upc_elemsizeof' '(' type_name ')'
+ ::= 'upc_localsizeof' '(' type_id ')'
+ | 'upc_blocksizeof' '(' type_id ')'
+ | 'upc_elemsizeof' '(' type_id ')'
$End \ No newline at end of file
diff --git a/upc/org.eclipse.cdt.core.parser.upc/plugin.properties b/upc/org.eclipse.cdt.core.parser.upc/plugin.properties
index f1adfa0dd5e..c61c0c1935f 100644
--- a/upc/org.eclipse.cdt.core.parser.upc/plugin.properties
+++ b/upc/org.eclipse.cdt.core.parser.upc/plugin.properties
@@ -1,15 +1,15 @@
###############################################################################
-# Copyright (c) 2007 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:
+# Copyright (c) 2007, 2009 IBM Corporation and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
# IBM Corporation - initial API and implementation
###############################################################################
# properties file for org.eclipse.cdt.core.parser.upc
Bundle-Name.0 = UPC Parser Plug-in
-Bundle-Vendor.0 = Eclipse.org
+Bundle-Vendor.0 = Eclipse CDT
Bundle-Name.1 = UPC Parser Plug-in
upcSourceName = UPC Source File \ No newline at end of file
diff --git a/upc/org.eclipse.cdt.core.parser.upc/plugin.xml b/upc/org.eclipse.cdt.core.parser.upc/plugin.xml
index 98703b78a5b..c1469b3df4b 100644
--- a/upc/org.eclipse.cdt.core.parser.upc/plugin.xml
+++ b/upc/org.eclipse.cdt.core.parser.upc/plugin.xml
@@ -17,9 +17,6 @@
name="UPC">
<contentType id="org.eclipse.cdt.core.parser.upc.upcSource"/>
</language>
- <pdomLinkageFactory
- class="org.eclipse.cdt.internal.core.pdom.dom.c.PDOMCLinkageFactory"
- id="upc"/>
</extension>
<extension point="org.eclipse.ui.editors.templates">
diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/DOMToUPCTokenMap.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/DOMToUPCTokenMap.java
index d626097072b..be9f2490e4e 100644
--- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/DOMToUPCTokenMap.java
+++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/DOMToUPCTokenMap.java
@@ -1,11 +1,11 @@
/*******************************************************************************
- * Copyright (c) 2006, 2007 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:
+ * Copyright (c) 2006, 2009 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.cdt.core.dom.parser.upc;
@@ -130,8 +130,12 @@ public class DOMToUPCTokenMap implements IDOMTokenMap {
case tFLOATINGPT : return TK_floating;
case tSTRING : return TK_stringlit;
case tLSTRING : return TK_stringlit;
+ //case tUTF16STRING : return TK_stringlit;
+ //case tUTF32STRING : return TK_stringlit;
case tCHAR : return TK_charconst;
case tLCHAR : return TK_charconst;
+ //case tUTF16CHAR : return TK_charconst;
+ //case tUTF32CHAR : return TK_charconst;
case t__Bool : return TK__Bool;
case t__Complex : return TK__Complex;
case t__Imaginary : return TK__Imaginary;
diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/IUPCNodeFactory.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/IUPCNodeFactory.java
new file mode 100644
index 00000000000..91c2996a782
--- /dev/null
+++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/IUPCNodeFactory.java
@@ -0,0 +1,54 @@
+/*******************************************************************************
+ * Copyright (c) 2009 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.cdt.core.dom.parser.upc;
+
+import org.eclipse.cdt.core.dom.ast.IASTExpression;
+import org.eclipse.cdt.core.dom.ast.IASTName;
+import org.eclipse.cdt.core.dom.ast.IASTStatement;
+
+import org.eclipse.cdt.core.dom.lrparser.action.c99.ICNodeFactory;
+import org.eclipse.cdt.core.dom.upc.ast.IUPCASTCompositeTypeSpecifier;
+import org.eclipse.cdt.core.dom.upc.ast.IUPCASTElaboratedTypeSpecifier;
+import org.eclipse.cdt.core.dom.upc.ast.IUPCASTEnumerationSpecifier;
+import org.eclipse.cdt.core.dom.upc.ast.IUPCASTForallStatement;
+import org.eclipse.cdt.core.dom.upc.ast.IUPCASTKeywordExpression;
+import org.eclipse.cdt.core.dom.upc.ast.IUPCASTSimpleDeclSpecifier;
+import org.eclipse.cdt.core.dom.upc.ast.IUPCASTSynchronizationStatement;
+import org.eclipse.cdt.core.dom.upc.ast.IUPCASTTypedefNameSpecifier;
+
+public interface IUPCNodeFactory extends ICNodeFactory {
+
+ public void setUseUPCSizeofExpressions(int op);
+
+ public void setUseC99SizeofExpressions();
+
+ public IUPCASTKeywordExpression newKeywordExpression(int keywordKind);
+
+ public IUPCASTSynchronizationStatement newSyncronizationStatment(
+ IASTExpression barrierExpression, int statmentKind);
+
+ public IUPCASTForallStatement newForallStatement(IASTStatement init,
+ IASTExpression condition, IASTExpression iterationExpression,
+ IASTStatement body, IASTExpression affinity);
+
+ public IUPCASTSimpleDeclSpecifier newSimpleDeclSpecifier();
+
+ public IUPCASTCompositeTypeSpecifier newCompositeTypeSpecifier(int key,
+ IASTName name);
+
+ public IUPCASTElaboratedTypeSpecifier newElaboratedTypeSpecifier(int kind,
+ IASTName name);
+
+ public IUPCASTEnumerationSpecifier newEnumerationSpecifier(IASTName name);
+
+ public IUPCASTTypedefNameSpecifier newTypedefNameSpecifier(IASTName name);
+
+} \ No newline at end of file
diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/UPCASTNodeFactory.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/UPCASTNodeFactory.java
index 5b7f3c54c15..1a4f9359030 100644
--- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/UPCASTNodeFactory.java
+++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/UPCASTNodeFactory.java
@@ -1,11 +1,11 @@
/*******************************************************************************
- * Copyright (c) 2006, 2008 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:
+ * Copyright (c) 2006, 2009 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.cdt.core.dom.parser.upc;
@@ -16,15 +16,15 @@ import org.eclipse.cdt.core.dom.ast.IASTStatement;
import org.eclipse.cdt.core.dom.ast.IASTTypeId;
import org.eclipse.cdt.core.dom.ast.IASTTypeIdExpression;
import org.eclipse.cdt.core.dom.ast.IASTUnaryExpression;
-import org.eclipse.cdt.core.dom.ast.c.ICASTCompositeTypeSpecifier;
-import org.eclipse.cdt.core.dom.ast.c.ICASTElaboratedTypeSpecifier;
-import org.eclipse.cdt.core.dom.ast.c.ICASTEnumerationSpecifier;
-import org.eclipse.cdt.core.dom.ast.c.ICASTSimpleDeclSpecifier;
-import org.eclipse.cdt.core.dom.ast.c.ICASTTypedefNameSpecifier;
-import org.eclipse.cdt.core.dom.lrparser.action.c99.C99ASTNodeFactory;
+import org.eclipse.cdt.core.dom.lrparser.action.c99.CNodeFactory;
+import org.eclipse.cdt.core.dom.upc.ast.IUPCASTCompositeTypeSpecifier;
+import org.eclipse.cdt.core.dom.upc.ast.IUPCASTElaboratedTypeSpecifier;
+import org.eclipse.cdt.core.dom.upc.ast.IUPCASTEnumerationSpecifier;
import org.eclipse.cdt.core.dom.upc.ast.IUPCASTForallStatement;
import org.eclipse.cdt.core.dom.upc.ast.IUPCASTKeywordExpression;
+import org.eclipse.cdt.core.dom.upc.ast.IUPCASTSimpleDeclSpecifier;
import org.eclipse.cdt.core.dom.upc.ast.IUPCASTSynchronizationStatement;
+import org.eclipse.cdt.core.dom.upc.ast.IUPCASTTypedefNameSpecifier;
import org.eclipse.cdt.internal.core.dom.parser.upc.ast.UPCASTCompositeTypeSpecifier;
import org.eclipse.cdt.internal.core.dom.parser.upc.ast.UPCASTElaboratedTypeSpecifier;
import org.eclipse.cdt.internal.core.dom.parser.upc.ast.UPCASTEnumerationSpecifier;
@@ -45,9 +45,8 @@ import org.eclipse.cdt.internal.core.dom.parser.upc.ast.UPCASTUnarySizeofExpress
* declaration specifiers. These UPC specific nodes add support
* for 'strict', 'relaxed' and 'shared'.
*/
-public class UPCASTNodeFactory extends C99ASTNodeFactory {
+public class UPCASTNodeFactory extends CNodeFactory implements IUPCNodeFactory {
- public static final UPCASTNodeFactory DEFAULT_INSTANCE = new UPCASTNodeFactory();
private boolean useUPCSizeofExpressions = false;
private int currentUPCSizofExpressionOperator = 0;
@@ -74,6 +73,7 @@ public class UPCASTNodeFactory extends C99ASTNodeFactory {
return super.newTypeIdExpression(operator, typeId);
}
+
@Override
public IASTUnaryExpression newUnaryExpression(int operator, IASTExpression operand) {
if(useUPCSizeofExpressions) {
@@ -84,45 +84,50 @@ public class UPCASTNodeFactory extends C99ASTNodeFactory {
return super.newUnaryExpression(operator, operand);
}
+
public IUPCASTKeywordExpression newKeywordExpression(int keywordKind) {
return new UPCASTKeywordExpression(keywordKind);
}
+
public IUPCASTSynchronizationStatement newSyncronizationStatment(IASTExpression barrierExpression, int statmentKind) {
return new UPCASTSynchronizationStatement(barrierExpression, statmentKind);
}
+
public IUPCASTForallStatement newForallStatement(IASTStatement init, IASTExpression condition,
IASTExpression iterationExpression, IASTStatement body, IASTExpression affinity) {
return new UPCASTForallStatement(init, condition, iterationExpression, body, affinity);
}
- /**
- * Override to return UPC version of decl specifier.
- */
+
@Override
- public ICASTSimpleDeclSpecifier newCSimpleDeclSpecifier() {
+ public IUPCASTSimpleDeclSpecifier newSimpleDeclSpecifier() {
return new UPCASTSimpleDeclSpecifier();
}
+
@Override
- public ICASTCompositeTypeSpecifier newCCompositeTypeSpecifier(int key, IASTName name) {
+ public IUPCASTCompositeTypeSpecifier newCompositeTypeSpecifier(int key, IASTName name) {
return new UPCASTCompositeTypeSpecifier(key, name);
}
+
@Override
- public ICASTElaboratedTypeSpecifier newElaboratedTypeSpecifier(int kind, IASTName name) {
+ public IUPCASTElaboratedTypeSpecifier newElaboratedTypeSpecifier(int kind, IASTName name) {
return new UPCASTElaboratedTypeSpecifier(kind, name);
}
+
@Override
- public ICASTEnumerationSpecifier newEnumerationSpecifier(IASTName name) {
+ public IUPCASTEnumerationSpecifier newEnumerationSpecifier(IASTName name) {
return new UPCASTEnumerationSpecifier(name);
}
+
@Override
- public ICASTTypedefNameSpecifier newCTypedefNameSpecifier() {
- return new UPCASTTypedefNameSpecifier();
+ public IUPCASTTypedefNameSpecifier newTypedefNameSpecifier(IASTName name) {
+ return new UPCASTTypedefNameSpecifier(name);
}
}
diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/UPCKeyword.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/UPCKeyword.java
index 30cd0d1d91b..c3b850fa03a 100644
--- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/UPCKeyword.java
+++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/UPCKeyword.java
@@ -1,12 +1,32 @@
+/*******************************************************************************
+ * Copyright (c) 2008, 2009 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
package org.eclipse.cdt.core.dom.parser.upc;
-import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.*;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
+import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_MYTHREAD;
+import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_THREADS;
+import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_UPC_MAX_BLOCKSIZE;
+import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_relaxed;
+import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_shared;
+import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_strict;
+import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_upc_barrier;
+import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_upc_blocksizeof;
+import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_upc_elemsizeof;
+import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_upc_fence;
+import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_upc_forall;
+import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_upc_localsizeof;
+import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_upc_notify;
+import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_upc_wait;
import org.eclipse.cdt.core.dom.lrparser.c99.C99Language;
+import org.eclipse.cdt.core.model.ICLanguageKeywords;
import org.eclipse.cdt.core.parser.util.CharArrayMap;
/**
@@ -34,19 +54,31 @@ public enum UPCKeyword {
private final int tokenKind;
- private static List<String> names = new ArrayList<String>();
+
private static final CharArrayMap<Integer> tokenMap = new CharArrayMap<Integer>();
+ private static final String[] upcKeywords;
+ private static final String[] allKeywords;
UPCKeyword(int tokenKind) {
this.tokenKind = tokenKind;
}
- static { // cannot refer to static fields from constructor
- for(UPCKeyword keyword : values()) {
+ static {
+ UPCKeyword[] keywords = values();
+ upcKeywords = new String[keywords.length];
+ for(int i = 0; i < keywords.length; i++) {
+ UPCKeyword keyword = keywords[i];
String name = keyword.name();
- names.add(name);
+ upcKeywords[i] = name;
tokenMap.put(name.toCharArray(), keyword.tokenKind);
}
+
+ // TODO change to GCC language when gcc support is added
+ ICLanguageKeywords c99Keywords = (ICLanguageKeywords) C99Language.getDefault().getAdapter(ICLanguageKeywords.class);
+ String[] c99ks = c99Keywords.getKeywords();
+ allKeywords = new String[upcKeywords.length + c99ks.length];
+ System.arraycopy(c99ks, 0, allKeywords, 0, c99ks.length);
+ System.arraycopy(upcKeywords, 0, allKeywords, c99ks.length, upcKeywords.length);
}
public int getTokenKind() {
@@ -54,16 +86,16 @@ public enum UPCKeyword {
}
public static String[] getUPCOnlyKeywords() {
- return names.toArray(new String[names.size()]);
+ return upcKeywords;
}
public static String[] getAllKeywords() {
- List<String> allKeywords = new ArrayList<String>(names);
- allKeywords.addAll(Arrays.asList(C99Language.getDefault().getKeywords()));
- return allKeywords.toArray(new String[allKeywords.size()]);
+ return allKeywords;
}
public static Integer getTokenKind(char[] image) {
+ if(image == null)
+ return null;
return tokenMap.get(image);
}
}
diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/UPCLanguageKeywords.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/UPCLanguageKeywords.java
new file mode 100644
index 00000000000..95fddf31495
--- /dev/null
+++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/UPCLanguageKeywords.java
@@ -0,0 +1,32 @@
+/*******************************************************************************
+ * Copyright (c) 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.cdt.core.dom.parser.upc;
+
+import org.eclipse.cdt.core.dom.lrparser.CLanguageKeywords;
+import org.eclipse.cdt.core.dom.lrparser.ScannerExtensionConfiguration;
+import org.eclipse.cdt.core.dom.parser.IScannerExtensionConfiguration;
+import org.eclipse.cdt.core.parser.ParserLanguage;
+
+public class UPCLanguageKeywords extends CLanguageKeywords {
+
+ public static final UPCLanguageKeywords DEFAULT_ALL_KEYWORDS = new UPCLanguageKeywords(ScannerExtensionConfiguration.createC());
+
+ public UPCLanguageKeywords(IScannerExtensionConfiguration config) {
+ super(ParserLanguage.C, config);
+ }
+
+ private static String[] upcKeywords = UPCKeyword.getAllKeywords();
+
+ @Override
+ public String[] getKeywords() {
+ return upcKeywords;
+ }
+}
diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/UPCParserAction.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/UPCParserAction.java
index 1c7ed626755..5900bd8747f 100644
--- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/UPCParserAction.java
+++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/UPCParserAction.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
+ * Copyright (c) 2006, 2009 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -11,26 +11,26 @@
package org.eclipse.cdt.core.dom.parser.upc;
-import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.*;
+import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_Completion;
+import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_relaxed;
+import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_shared;
+import static org.eclipse.cdt.internal.core.dom.parser.upc.UPCParsersym.TK_strict;
import lpg.lpgjavaruntime.IToken;
import org.eclipse.cdt.core.dom.ast.IASTDeclaration;
import org.eclipse.cdt.core.dom.ast.IASTExpression;
import org.eclipse.cdt.core.dom.ast.IASTStatement;
-import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit;
import org.eclipse.cdt.core.dom.ast.IASTTypeIdExpression;
import org.eclipse.cdt.core.dom.ast.IASTUnaryExpression;
import org.eclipse.cdt.core.dom.ast.c.ICASTDeclSpecifier;
-import org.eclipse.cdt.core.dom.lrparser.IParser;
-import org.eclipse.cdt.core.dom.lrparser.IParserActionTokenProvider;
+import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream;
+import org.eclipse.cdt.core.dom.lrparser.action.ISecondaryParserFactory;
+import org.eclipse.cdt.core.dom.lrparser.action.ScopedStack;
import org.eclipse.cdt.core.dom.lrparser.action.c99.C99BuildASTParserAction;
import org.eclipse.cdt.core.dom.upc.ast.IUPCASTDeclSpecifier;
import org.eclipse.cdt.core.dom.upc.ast.IUPCASTForallStatement;
import org.eclipse.cdt.core.dom.upc.ast.IUPCASTKeywordExpression;
import org.eclipse.cdt.core.dom.upc.ast.IUPCASTSynchronizationStatement;
-import org.eclipse.cdt.internal.core.dom.parser.upc.UPCExpressionParser;
-import org.eclipse.cdt.internal.core.dom.parser.upc.UPCNoCastExpressionParser;
-import org.eclipse.cdt.internal.core.dom.parser.upc.UPCSizeofExpressionParser;
/**
@@ -39,7 +39,7 @@ import org.eclipse.cdt.internal.core.dom.parser.upc.UPCSizeofExpressionParser;
*/
public class UPCParserAction extends C99BuildASTParserAction {
- private UPCASTNodeFactory nodeFactory;
+ private IUPCNodeFactory nodeFactory;
/**
@@ -48,8 +48,8 @@ public class UPCParserAction extends C99BuildASTParserAction {
* @param parser
* @param tu
*/
- public UPCParserAction(UPCASTNodeFactory nodeFactory, IParserActionTokenProvider parser, IASTTranslationUnit tu) {
- super(nodeFactory, parser, tu);
+ public UPCParserAction(ITokenStream parser, ScopedStack<Object> astStack, IUPCNodeFactory nodeFactory, ISecondaryParserFactory parserFactory) {
+ super(parser, astStack, nodeFactory, parserFactory);
this.nodeFactory = nodeFactory;
nodeFactory.setUseC99SizeofExpressions();
}
@@ -60,20 +60,7 @@ public class UPCParserAction extends C99BuildASTParserAction {
return token.getKind() == TK_Completion;
}
- @Override
- protected IParser getExpressionParser() {
- return new UPCExpressionParser(parser.getOrderedTerminalSymbols());
- }
-
- @Override
- protected IParser getNoCastExpressionParser() {
- return new UPCNoCastExpressionParser(parser.getOrderedTerminalSymbols());
- }
-
- @Override
- protected IParser getSizeofExpressionParser() {
- return new UPCSizeofExpressionParser(parser.getOrderedTerminalSymbols());
- }
+
/**************************************************************************************
@@ -193,7 +180,7 @@ public class UPCParserAction extends C99BuildASTParserAction {
* Overrides setSpecifier to add support for temporary layout qualifier nodes.
*/
@Override
- protected void setSpecifier(ICASTDeclSpecifier declSpec, Object specifier) {
+ public void setSpecifier(ICASTDeclSpecifier declSpec, Object specifier) {
if(specifier instanceof IToken)
setTokenSpecifier((IUPCASTDeclSpecifier)declSpec, (IToken)specifier);
else
diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/UPCSecondaryParserFactory.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/UPCSecondaryParserFactory.java
new file mode 100644
index 00000000000..de52c1b1d3f
--- /dev/null
+++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/UPCSecondaryParserFactory.java
@@ -0,0 +1,44 @@
+/*******************************************************************************
+ * Copyright (c) 2006, 2009 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.cdt.core.dom.parser.upc;
+
+import java.util.Map;
+
+import org.eclipse.cdt.core.dom.ast.IASTExpression;
+import org.eclipse.cdt.core.dom.lrparser.ISecondaryParser;
+import org.eclipse.cdt.core.dom.lrparser.action.ISecondaryParserFactory;
+import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream;
+import org.eclipse.cdt.internal.core.dom.parser.upc.UPCExpressionParser;
+import org.eclipse.cdt.internal.core.dom.parser.upc.UPCNoCastExpressionParser;
+import org.eclipse.cdt.internal.core.dom.parser.upc.UPCSizeofExpressionParser;
+
+public class UPCSecondaryParserFactory implements ISecondaryParserFactory{
+
+ private static final UPCSecondaryParserFactory DEFAULT_INSTANCE = new UPCSecondaryParserFactory();
+
+ public static UPCSecondaryParserFactory getDefault() {
+ return DEFAULT_INSTANCE;
+ }
+
+ public ISecondaryParser<IASTExpression> getExpressionParser(ITokenStream stream, Map<String,String> properties) {
+ return new UPCExpressionParser(stream, properties);
+ }
+
+ public ISecondaryParser<IASTExpression> getNoCastExpressionParser(ITokenStream stream, Map<String,String> properties) {
+ return new UPCNoCastExpressionParser(stream, properties);
+ }
+
+ public ISecondaryParser<IASTExpression> getSizeofExpressionParser(ITokenStream stream, Map<String,String> properties) {
+ return new UPCSizeofExpressionParser(stream, properties);
+ }
+
+}
diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/UPCLanguage.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/UPCLanguage.java
index 90fd09b0470..4cf855ae5e9 100644
--- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/UPCLanguage.java
+++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/UPCLanguage.java
@@ -1,31 +1,31 @@
/*******************************************************************************
- * Copyright (c) 2006, 2007 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:
+ * Copyright (c) 2006, 2009 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.cdt.core.dom.upc;
+import java.util.Map;
+
import org.eclipse.cdt.core.dom.ILinkage;
import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit;
import org.eclipse.cdt.core.dom.lrparser.BaseExtensibleLanguage;
-import org.eclipse.cdt.core.dom.lrparser.IDOMTokenMap;
import org.eclipse.cdt.core.dom.lrparser.IParser;
import org.eclipse.cdt.core.dom.lrparser.ScannerExtensionConfiguration;
-import org.eclipse.cdt.core.dom.lrparser.action.c99.C99ASTNodeFactory;
+import org.eclipse.cdt.core.dom.parser.IBuiltinBindingsProvider;
import org.eclipse.cdt.core.dom.parser.IScannerExtensionConfiguration;
+import org.eclipse.cdt.core.dom.parser.c.ANSICParserExtensionConfiguration;
import org.eclipse.cdt.core.dom.parser.upc.DOMToUPCTokenMap;
-import org.eclipse.cdt.core.dom.parser.upc.UPCKeyword;
+import org.eclipse.cdt.core.dom.parser.upc.UPCLanguageKeywords;
import org.eclipse.cdt.core.index.IIndex;
-import org.eclipse.cdt.core.model.IContributedModelBuilder;
-import org.eclipse.cdt.core.model.ITranslationUnit;
+import org.eclipse.cdt.core.model.ICLanguageKeywords;
import org.eclipse.cdt.core.parser.IScanner;
import org.eclipse.cdt.core.parser.ParserLanguage;
-import org.eclipse.cdt.internal.core.dom.parser.c.CASTTranslationUnit;
import org.eclipse.cdt.internal.core.dom.parser.upc.UPCParser;
@@ -34,39 +34,21 @@ import org.eclipse.cdt.internal.core.dom.parser.upc.UPCParser;
*
* @author Mike Kucera
*/
-@SuppressWarnings("restriction")
public class UPCLanguage extends BaseExtensibleLanguage {
- public static final String PLUGIN_ID = "org.eclipse.cdt.core.parser.upc"; //$NON-NLS-1$
- public static final String ID = PLUGIN_ID + ".upc"; //$NON-NLS-1$
+ public static final String ID = "org.eclipse.cdt.core.parser.upc.upc"; //$NON-NLS-1$
- private static final IDOMTokenMap TOKEN_MAP = new DOMToUPCTokenMap();
+ public static final String UPC_CONTENT_TYPE_ID = "org.eclipse.cdt.core.parser.upc.upcSource"; //$NON-NLS-1$
private static final UPCLanguage myDefault = new UPCLanguage();
- private static final String[] upcKeywords = UPCKeyword.getAllKeywords();
- private static final IScannerExtensionConfiguration SCANNER_CONFIGURATION = new ScannerExtensionConfiguration();
-
-
public static UPCLanguage getDefault() {
return myDefault;
}
@Override
- protected IDOMTokenMap getTokenMap() {
- return TOKEN_MAP;
- }
-
- @Override
- public IParser getParser() {
- return new UPCParser();
- }
-
- /**
- * @param tu Not used, default model builder used.
- */
- public IContributedModelBuilder createModelBuilder(ITranslationUnit tu) {
- return null;
+ protected IParser<IASTTranslationUnit> getParser(IScanner scanner, IIndex index, Map<String,String> properties) {
+ return new UPCParser(scanner, new DOMToUPCTokenMap(), getBuiltinBindingsProvider(), index, properties);
}
public String getId() {
@@ -76,10 +58,10 @@ public class UPCLanguage extends BaseExtensibleLanguage {
public int getLinkageID() {
return ILinkage.C_LINKAGE_ID;
}
-
+
@Override
- public String[] getKeywords() {
- return upcKeywords;
+ protected ICLanguageKeywords getCLanguageKeywords() {
+ return UPCLanguageKeywords.DEFAULT_ALL_KEYWORDS;
}
@Override
@@ -87,22 +69,12 @@ public class UPCLanguage extends BaseExtensibleLanguage {
return ParserLanguage.C;
}
- /**
- * Gets the translation unit object and sets the index and the location resolver.
- */
- @Override
- protected IASTTranslationUnit createASTTranslationUnit(IIndex index, IScanner preprocessor) {
- IASTTranslationUnit tu = C99ASTNodeFactory.DEFAULT_INSTANCE.newTranslationUnit();
- tu.setIndex(index);
- if(tu instanceof CASTTranslationUnit) {
- ((CASTTranslationUnit)tu).setLocationResolver(preprocessor.getLocationResolver());
- }
- return tu;
- }
-
@Override
protected IScannerExtensionConfiguration getScannerExtensionConfiguration() {
- return SCANNER_CONFIGURATION;
+ return ScannerExtensionConfiguration.createC();
}
+ protected IBuiltinBindingsProvider getBuiltinBindingsProvider() {
+ return new ANSICParserExtensionConfiguration().getBuiltinBindingsProvider();
+ }
}
diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTCompositeTypeSpecifier.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTCompositeTypeSpecifier.java
index c6c1976a0a3..d425b1ba848 100644
--- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTCompositeTypeSpecifier.java
+++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTCompositeTypeSpecifier.java
@@ -1,11 +1,11 @@
/*******************************************************************************
- * Copyright (c) 2006, 2007 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:
+ * Copyright (c) 2006, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.cdt.core.dom.upc.ast;
diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTDeclSpecifier.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTDeclSpecifier.java
index c49fd6665d5..efd83bc51c8 100644
--- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTDeclSpecifier.java
+++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTDeclSpecifier.java
@@ -1,11 +1,11 @@
/*******************************************************************************
- * Copyright (c) 2006, 2007 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:
+ * Copyright (c) 2006, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.cdt.core.dom.upc.ast;
@@ -55,4 +55,5 @@ public interface IUPCASTDeclSpecifier extends ICASTDeclSpecifier {
public IASTExpression getBlockSizeExpression();
public void setBlockSizeExpression(IASTExpression expr);
+
}
diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTElaboratedTypeSpecifier.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTElaboratedTypeSpecifier.java
index a4fa878a3ad..4aad4bb3e9f 100644
--- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTElaboratedTypeSpecifier.java
+++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTElaboratedTypeSpecifier.java
@@ -1,11 +1,11 @@
/*******************************************************************************
- * Copyright (c) 2006, 2007 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:
+ * Copyright (c) 2006, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.cdt.core.dom.upc.ast;
@@ -15,4 +15,5 @@ import org.eclipse.cdt.core.dom.ast.c.ICASTElaboratedTypeSpecifier;
public interface IUPCASTElaboratedTypeSpecifier extends IUPCASTDeclSpecifier,
ICASTElaboratedTypeSpecifier {
+
}
diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTEnumerationSpecifier.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTEnumerationSpecifier.java
index 86335227ac0..0e54c8efb00 100644
--- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTEnumerationSpecifier.java
+++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTEnumerationSpecifier.java
@@ -1,11 +1,11 @@
/*******************************************************************************
- * Copyright (c) 2006, 2007 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:
+ * Copyright (c) 2006, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.cdt.core.dom.upc.ast;
@@ -15,4 +15,5 @@ import org.eclipse.cdt.core.dom.ast.c.ICASTEnumerationSpecifier;
public interface IUPCASTEnumerationSpecifier extends IUPCASTDeclSpecifier,
ICASTEnumerationSpecifier {
+
}
diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTForallStatement.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTForallStatement.java
index 2b10ba6f7b8..7ccf5e450f6 100644
--- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTForallStatement.java
+++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTForallStatement.java
@@ -1,11 +1,11 @@
/*******************************************************************************
- * Copyright (c) 2006, 2007 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:
+ * Copyright (c) 2006, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.cdt.core.dom.upc.ast;
@@ -44,4 +44,5 @@ public interface IUPCASTForallStatement extends IASTForStatement {
public IASTStatement getBody();
public void setBody(IASTStatement statement);
+
}
diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTKeywordExpression.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTKeywordExpression.java
index 5ef9c3da333..885a1458dc5 100644
--- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTKeywordExpression.java
+++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTKeywordExpression.java
@@ -1,11 +1,11 @@
/*******************************************************************************
- * Copyright (c) 2006, 2007 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:
+ * Copyright (c) 2006, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.cdt.core.dom.upc.ast;
@@ -25,4 +25,5 @@ public interface IUPCASTKeywordExpression extends IASTExpression {
public void setKeywordKind(int kind);
+
}
diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTLayoutQualifier.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTLayoutQualifier.java
index 49a61e49f57..9c3d0a56dd5 100644
--- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTLayoutQualifier.java
+++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTLayoutQualifier.java
@@ -1,11 +1,11 @@
/*******************************************************************************
- * Copyright (c) 2006, 2007 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:
+ * Copyright (c) 2006, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.cdt.core.dom.upc.ast;
@@ -30,4 +30,5 @@ public interface IUPCASTLayoutQualifier {
public void setBlockSizeExpression(IASTExpression expr);
+
}
diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTSimpleDeclSpecifier.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTSimpleDeclSpecifier.java
index c2a347341d0..753cb10dc4e 100644
--- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTSimpleDeclSpecifier.java
+++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTSimpleDeclSpecifier.java
@@ -1,11 +1,11 @@
/*******************************************************************************
- * Copyright (c) 2006, 2007 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:
+ * Copyright (c) 2006, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.cdt.core.dom.upc.ast;
@@ -15,4 +15,5 @@ import org.eclipse.cdt.core.dom.ast.c.ICASTSimpleDeclSpecifier;
public interface IUPCASTSimpleDeclSpecifier extends IUPCASTDeclSpecifier,
ICASTSimpleDeclSpecifier {
+
}
diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTSynchronizationStatement.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTSynchronizationStatement.java
index 2c388c991da..4e959770643 100644
--- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTSynchronizationStatement.java
+++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTSynchronizationStatement.java
@@ -1,11 +1,11 @@
/*******************************************************************************
- * Copyright (c) 2006, 2007 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:
+ * Copyright (c) 2006, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.cdt.core.dom.upc.ast;
@@ -37,4 +37,6 @@ public interface IUPCASTSynchronizationStatement extends IASTStatement {
public int getStatementKind();
public void setStatementKind(int kind);
+
+
}
diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTTypeIdSizeofExpression.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTTypeIdSizeofExpression.java
index 53d71f43c67..f7b23a26594 100644
--- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTTypeIdSizeofExpression.java
+++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTTypeIdSizeofExpression.java
@@ -24,4 +24,6 @@ public interface IUPCASTTypeIdSizeofExpression extends IASTTypeIdExpression {
public int getUPCSizeofOperator();
public void setUPCSizeofOperator(int upcSizeofOperator);
+
+
}
diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTTypedefNameSpecifier.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTTypedefNameSpecifier.java
index 5c571380b00..e050194eb70 100644
--- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTTypedefNameSpecifier.java
+++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTTypedefNameSpecifier.java
@@ -1,11 +1,11 @@
/*******************************************************************************
- * Copyright (c) 2006, 2007 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:
+ * Copyright (c) 2006, 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.cdt.core.dom.upc.ast;
@@ -14,5 +14,5 @@ import org.eclipse.cdt.core.dom.ast.c.ICASTTypedefNameSpecifier;
public interface IUPCASTTypedefNameSpecifier extends IUPCASTDeclSpecifier,
ICASTTypedefNameSpecifier {
-
+
}
diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTUnarySizeofExpression.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTUnarySizeofExpression.java
index 32996f1d21d..abed98db83a 100644
--- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTUnarySizeofExpression.java
+++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/ast/IUPCASTUnarySizeofExpression.java
@@ -25,4 +25,5 @@ public interface IUPCASTUnarySizeofExpression extends IASTUnaryExpression {
public void setUPCSizeofOperator(int upcSizeofOperator);
+
} \ No newline at end of file
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 414f4b808ca..91a93e2d902 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, 2008 IBM Corporation and others.
+* Copyright (c) 2006, 2009 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -17,24 +17,36 @@ import lpg.lpgjavaruntime.*;
import java.util.*;
import org.eclipse.cdt.core.dom.ast.*;
+import org.eclipse.cdt.core.dom.lrparser.IDOMTokenMap;
import org.eclipse.cdt.core.dom.lrparser.IParser;
-import org.eclipse.cdt.core.dom.lrparser.IParserActionTokenProvider;
+import org.eclipse.cdt.core.dom.lrparser.ITokenCollector;
+import org.eclipse.cdt.core.dom.lrparser.CPreprocessorAdapter;
+import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream;
import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser;
+import org.eclipse.cdt.core.dom.lrparser.action.ScopedStack;
+import org.eclipse.cdt.core.parser.IScanner;
+import org.eclipse.cdt.core.dom.parser.IBuiltinBindingsProvider;
+import org.eclipse.cdt.core.index.IIndex;
import org.eclipse.cdt.core.dom.lrparser.action.ITokenMap;
import org.eclipse.cdt.core.dom.lrparser.action.TokenMap;
+import org.eclipse.cdt.core.dom.lrparser.ISecondaryParser;
-import org.eclipse.cdt.core.dom.lrparser.action.c99.C99ASTNodeFactory;
+import org.eclipse.cdt.core.dom.lrparser.action.c99.CNodeFactory;
import org.eclipse.cdt.core.dom.lrparser.action.c99.C99BuildASTParserAction;
+import org.eclipse.cdt.core.dom.lrparser.action.c99.C99SecondaryParserFactory;
import org.eclipse.cdt.core.dom.parser.upc.UPCASTNodeFactory;
+import org.eclipse.cdt.core.dom.parser.upc.UPCSecondaryParserFactory;
import org.eclipse.cdt.core.dom.parser.upc.UPCParserAction;
import org.eclipse.cdt.core.dom.upc.ast.IUPCASTKeywordExpression;
import org.eclipse.cdt.core.dom.upc.ast.IUPCASTSynchronizationStatement;
import org.eclipse.cdt.core.dom.upc.ast.IUPCASTUnarySizeofExpression;
import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser;
-public class UPCExpressionParser extends PrsStream implements RuleAction , IParserActionTokenProvider, IParser
+public class UPCExpressionParser extends PrsStream implements RuleAction, ITokenStream,
+ ITokenCollector, IParser< IASTExpression >
+ , ISecondaryParser< IASTExpression >
{
private static ParseTable prs = new UPCExpressionParserprs();
private FixedBacktrackingParser btParser;
@@ -125,22 +137,22 @@ public class UPCExpressionParser extends PrsStream implements RuleAction , IPars
super.reportError((firsttok > lasttok ? ParseErrorCodes.INSERTION_CODE : ParseErrorCodes.SUBSTITUTION_CODE), location, msg);
}
- public Object parser()
+ public void parser()
{
- return parser(null, 0);
+ parser(null, 0);
}
- public Object parser(Monitor monitor)
+ public void parser(Monitor monitor)
{
- return parser(monitor, 0);
+ parser(monitor, 0);
}
- public Object parser(int error_repair_count)
+ public void parser(int error_repair_count)
{
- return parser(null, error_repair_count);
+ parser(null, error_repair_count);
}
- public Object parser(Monitor monitor, int error_repair_count)
+ public void parser(Monitor monitor, int error_repair_count)
{
try
{
@@ -158,7 +170,7 @@ public class UPCExpressionParser extends PrsStream implements RuleAction , IPars
try
{
- return (Object) btParser.parse(error_repair_count);
+ btParser.parse(error_repair_count);
}
catch (BadParseException e)
{
@@ -166,18 +178,26 @@ public class UPCExpressionParser extends PrsStream implements RuleAction , IPars
DiagnoseParser diagnoseParser = new DiagnoseParser(this, prs);
diagnoseParser.diagnose(e.error_token);
}
-
- return null;
}
private UPCParserAction action;
+private IASTCompletionNode compNode;
+
-public UPCExpressionParser() { // constructor
+public UPCExpressionParser(IScanner scanner, IDOMTokenMap tokenMap, IBuiltinBindingsProvider builtinBindingsProvider, IIndex index, Map<String,String> properties) {
+ initActions(properties);
+ action.initializeTranslationUnit(scanner, builtinBindingsProvider, index);
+ CPreprocessorAdapter.runCPreprocessor(scanner, this, tokenMap);
}
-private void initActions(IASTTranslationUnit tu) {
- action = new UPCParserAction ( UPCASTNodeFactory.DEFAULT_INSTANCE , this, tu);
+private void initActions(Map<String,String> properties) {
+ ScopedStack<Object> astStack = new ScopedStack<Object>();
+
+ action = new UPCParserAction (this, astStack, new UPCASTNodeFactory() , UPCSecondaryParserFactory.getDefault() );
+ action.setParserProperties(properties);
+
+
}
@@ -187,39 +207,35 @@ public void addToken(IToken token) {
}
-public IASTCompletionNode parse(IASTTranslationUnit tu) {
+public IASTExpression parse() {
// this has to be done, or... kaboom!
setStreamLength(getSize());
- initActions(tu);
final int errorRepairCount = -1; // -1 means full error handling
parser(null, errorRepairCount); // do the actual parse
super.resetTokenStream(); // allow tokens to be garbage collected
- // the completion node may be null
- IASTCompletionNode compNode = action.getASTCompletionNode();
+ compNode = action.getASTCompletionNode(); // the completion node may be null
+ return ( IASTExpression ) action.getParseResult();
+}
+
- //action = null;
- //parserAction = null;
+public IASTCompletionNode getCompletionNode() {
return compNode;
}
// uncomment this method to use with backtracking parser
-public List getRuleTokens() {
- return Collections.unmodifiableList(getTokens().subList(getLeftSpan(), getRightSpan() + 1));
-}
-
-
-public IASTNode getSecondaryParseResult() {
- return action.getSecondaryParseResult();
+public List<IToken> getRuleTokens() {
+ return getTokens().subList(getLeftSpan(), getRightSpan() + 1);
}
public String[] getOrderedTerminalSymbols() {
return UPCExpressionParsersym.orderedTerminalSymbols;
}
+@SuppressWarnings("nls")
public String getName() {
- return "UPCExpressionParser"; //$NON-NLS-1$
+ return "UPCExpressionParser";
}
@@ -236,12 +252,12 @@ public void setTokens(List<IToken> tokens) {
addToken(new Token(null, 0, 0, UPCExpressionParsersym.TK_EOF_TOKEN));
}
-public UPCExpressionParser(String[] mapFrom) { // constructor
- tokenMap = new TokenMap(UPCExpressionParsersym.orderedTerminalSymbols, mapFrom);
+public UPCExpressionParser(ITokenStream stream, Map<String,String> properties) { // constructor for creating secondary parser
+ initActions(properties);
+ tokenMap = new TokenMap(UPCExpressionParsersym.orderedTerminalSymbols, stream.getOrderedTerminalSymbols());
}
-
public void ruleAction(int ruleNumber)
{
switch (ruleNumber)
@@ -254,1293 +270,1299 @@ public UPCExpressionParser(String[] mapFrom) { // constructor
}
//
- // Rule 10: literal ::= integer
+ // Rule 2: <empty> ::= $Empty
//
- case 10: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_integer_constant); break;
+ case 2: { action. consumeEmpty(); break;
}
//
- // Rule 11: literal ::= floating
+ // Rule 13: literal ::= integer
//
- case 11: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_float_constant); break;
+ case 13: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_integer_constant); break;
}
//
- // Rule 12: literal ::= charconst
+ // Rule 14: literal ::= floating
//
- case 12: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_char_constant); break;
+ case 14: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_float_constant); break;
}
//
- // Rule 13: literal ::= stringlit
+ // Rule 15: literal ::= charconst
//
- case 13: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_string_literal); break;
+ case 15: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_char_constant); break;
}
//
- // Rule 15: primary_expression ::= primary_expression_id
+ // Rule 16: literal ::= stringlit
//
- case 15: { action. consumeExpressionID(); break;
+ case 16: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_string_literal); break;
}
//
- // Rule 16: primary_expression ::= ( expression )
+ // Rule 18: primary_expression ::= primary_expression_id
//
- case 16: { action. consumeExpressionBracketed(); break;
+ case 18: { action. consumeExpressionID(); break;
}
//
- // Rule 20: postfix_expression ::= postfix_expression [ expression ]
+ // Rule 19: primary_expression ::= ( expression )
//
- case 20: { action. consumeExpressionArraySubscript(); break;
+ case 19: { action. consumeExpressionBracketed(); break;
}
//
- // Rule 21: postfix_expression ::= postfix_expression ( expression_list_opt )
+ // Rule 22: postfix_expression ::= postfix_expression [ expression ]
//
- case 21: { action. consumeExpressionFunctionCall(); break;
+ case 22: { action. consumeExpressionArraySubscript(); break;
}
//
- // Rule 22: postfix_expression ::= postfix_expression . member_name
+ // Rule 23: postfix_expression ::= postfix_expression ( expression_list_opt )
//
- case 22: { action. consumeExpressionFieldReference(false); break;
+ case 23: { action. consumeExpressionFunctionCall(); break;
}
//
- // Rule 23: postfix_expression ::= postfix_expression -> member_name
+ // Rule 24: postfix_expression ::= postfix_expression . member_name
//
- case 23: { action. consumeExpressionFieldReference(true); break;
+ case 24: { action. consumeExpressionFieldReference(false); break;
}
//
- // Rule 24: postfix_expression ::= postfix_expression ++
+ // Rule 25: postfix_expression ::= postfix_expression -> member_name
//
- case 24: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break;
+ case 25: { action. consumeExpressionFieldReference(true); break;
}
//
- // Rule 25: postfix_expression ::= postfix_expression --
+ // Rule 26: postfix_expression ::= postfix_expression ++
//
- case 25: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break;
+ case 26: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break;
}
//
- // Rule 26: postfix_expression ::= ( type_name ) { <openscope-ast> initializer_list comma_opt }
+ // Rule 27: postfix_expression ::= postfix_expression --
//
- case 26: { action. consumeExpressionTypeIdInitializer(); break;
+ case 27: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break;
}
//
- // Rule 32: unary_expression ::= ++ unary_expression
+ // Rule 28: postfix_expression ::= ( type_id ) initializer_list
//
- case 32: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixIncr); break;
+ case 28: { action. consumeExpressionTypeIdInitializer(); break;
}
//
- // Rule 33: unary_expression ::= -- unary_expression
+ // Rule 33: unary_expression ::= ++ unary_expression
//
- case 33: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixDecr); break;
+ case 33: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixIncr); break;
}
//
- // Rule 34: unary_expression ::= & cast_expression
+ // Rule 34: unary_expression ::= -- unary_expression
//
- case 34: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_amper); break;
+ case 34: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixDecr); break;
}
//
- // Rule 35: unary_expression ::= * cast_expression
+ // Rule 35: unary_expression ::= & cast_expression
//
- case 35: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_star); break;
+ case 35: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_amper); break;
}
//
- // Rule 36: unary_expression ::= + cast_expression
+ // Rule 36: unary_expression ::= * cast_expression
//
- case 36: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_plus); break;
+ case 36: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_star); break;
}
//
- // Rule 37: unary_expression ::= - cast_expression
+ // Rule 37: unary_expression ::= + cast_expression
//
- case 37: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_minus); break;
+ case 37: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_plus); break;
}
//
- // Rule 38: unary_expression ::= ~ cast_expression
+ // Rule 38: unary_expression ::= - cast_expression
//
- case 38: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_tilde); break;
+ case 38: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_minus); break;
}
//
- // Rule 39: unary_expression ::= ! cast_expression
+ // Rule 39: unary_expression ::= ~ cast_expression
//
- case 39: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_not); break;
+ case 39: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_tilde); break;
}
//
- // Rule 40: unary_expression ::= sizeof unary_expression
+ // Rule 40: unary_expression ::= ! cast_expression
//
- case 40: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof); break;
+ case 40: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_not); break;
}
//
- // Rule 41: unary_expression ::= sizeof ( type_name )
+ // Rule 41: unary_expression ::= sizeof unary_expression
//
- case 41: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_sizeof); break;
+ case 41: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof); break;
}
//
- // Rule 43: cast_expression ::= ( type_name ) cast_expression
+ // Rule 42: unary_expression ::= sizeof ( type_id )
//
- case 43: { action. consumeExpressionCast(IASTCastExpression.op_cast); break;
+ case 42: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_sizeof); break;
}
//
- // Rule 45: multiplicative_expression ::= multiplicative_expression * cast_expression
+ // Rule 44: cast_expression ::= ( type_id ) cast_expression
//
- case 45: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_multiply); break;
+ case 44: { action. consumeExpressionCast(IASTCastExpression.op_cast); break;
}
//
- // Rule 46: multiplicative_expression ::= multiplicative_expression / cast_expression
+ // Rule 46: multiplicative_expression ::= multiplicative_expression * cast_expression
//
- case 46: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_divide); break;
+ case 46: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_multiply); break;
}
//
- // Rule 47: multiplicative_expression ::= multiplicative_expression % cast_expression
+ // Rule 47: multiplicative_expression ::= multiplicative_expression / cast_expression
//
- case 47: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_modulo); break;
+ case 47: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_divide); break;
}
//
- // Rule 49: additive_expression ::= additive_expression + multiplicative_expression
+ // Rule 48: multiplicative_expression ::= multiplicative_expression % cast_expression
//
- case 49: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_plus); break;
+ case 48: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_modulo); break;
}
//
- // Rule 50: additive_expression ::= additive_expression - multiplicative_expression
+ // Rule 50: additive_expression ::= additive_expression + multiplicative_expression
//
- case 50: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_minus); break;
+ case 50: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_plus); break;
}
//
- // Rule 52: shift_expression ::= shift_expression << additive_expression
+ // Rule 51: additive_expression ::= additive_expression - multiplicative_expression
//
- case 52: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftLeft); break;
+ case 51: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_minus); break;
}
//
- // Rule 53: shift_expression ::= shift_expression >> additive_expression
+ // Rule 53: shift_expression ::= shift_expression << additive_expression
//
- case 53: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftRight); break;
+ case 53: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftLeft); break;
}
//
- // Rule 55: relational_expression ::= relational_expression < shift_expression
+ // Rule 54: shift_expression ::= shift_expression >> additive_expression
//
- case 55: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_lessThan); break;
+ case 54: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftRight); break;
}
//
- // Rule 56: relational_expression ::= relational_expression > shift_expression
+ // Rule 56: relational_expression ::= relational_expression < shift_expression
//
- case 56: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_greaterThan); break;
+ case 56: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_lessThan); break;
}
//
- // Rule 57: relational_expression ::= relational_expression <= shift_expression
+ // Rule 57: relational_expression ::= relational_expression > shift_expression
//
- case 57: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_lessEqual); break;
+ case 57: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_greaterThan); break;
}
//
- // Rule 58: relational_expression ::= relational_expression >= shift_expression
+ // Rule 58: relational_expression ::= relational_expression <= shift_expression
//
- case 58: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_greaterEqual); break;
+ case 58: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_lessEqual); break;
}
//
- // Rule 60: equality_expression ::= equality_expression == relational_expression
+ // Rule 59: relational_expression ::= relational_expression >= shift_expression
//
- case 60: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_equals); break;
+ case 59: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_greaterEqual); break;
}
//
- // Rule 61: equality_expression ::= equality_expression != relational_expression
+ // Rule 61: equality_expression ::= equality_expression == relational_expression
//
- case 61: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_notequals); break;
+ case 61: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_equals); break;
}
//
- // Rule 63: AND_expression ::= AND_expression & equality_expression
+ // Rule 62: equality_expression ::= equality_expression != relational_expression
//
- case 63: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryAnd); break;
+ case 62: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_notequals); break;
}
//
- // Rule 65: exclusive_OR_expression ::= exclusive_OR_expression ^ AND_expression
+ // Rule 64: and_expression ::= and_expression & equality_expression
//
- case 65: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryXor); break;
+ case 64: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryAnd); break;
}
//
- // Rule 67: inclusive_OR_expression ::= inclusive_OR_expression | exclusive_OR_expression
+ // Rule 66: exclusive_or_expression ::= exclusive_or_expression ^ and_expression
//
- case 67: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryOr); break;
+ case 66: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryXor); break;
}
//
- // Rule 69: logical_AND_expression ::= logical_AND_expression && inclusive_OR_expression
+ // Rule 68: inclusive_or_expression ::= inclusive_or_expression | exclusive_or_expression
//
- case 69: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_logicalAnd); break;
+ case 68: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryOr); break;
}
//
- // Rule 71: logical_OR_expression ::= logical_OR_expression || logical_AND_expression
+ // Rule 70: logical_and_expression ::= logical_and_expression && inclusive_or_expression
//
- case 71: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_logicalOr); break;
+ case 70: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_logicalAnd); break;
}
//
- // Rule 73: conditional_expression ::= logical_OR_expression ? expression : conditional_expression
+ // Rule 72: logical_or_expression ::= logical_or_expression || logical_and_expression
//
- case 73: { action. consumeExpressionConditional(); break;
+ case 72: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_logicalOr); break;
}
//
- // Rule 75: assignment_expression ::= unary_expression = assignment_expression
+ // Rule 74: conditional_expression ::= logical_or_expression ? expression : assignment_expression
//
- case 75: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_assign); break;
+ case 74: { action. consumeExpressionConditional(); break;
}
//
- // Rule 76: assignment_expression ::= unary_expression *= assignment_expression
+ // Rule 76: assignment_expression ::= unary_expression = assignment_expression
//
- case 76: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_multiplyAssign); break;
+ case 76: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_assign); break;
}
//
- // Rule 77: assignment_expression ::= unary_expression /= assignment_expression
+ // Rule 77: assignment_expression ::= unary_expression *= assignment_expression
//
- case 77: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_divideAssign); break;
+ case 77: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_multiplyAssign); break;
}
//
- // Rule 78: assignment_expression ::= unary_expression %= assignment_expression
+ // Rule 78: assignment_expression ::= unary_expression /= assignment_expression
//
- case 78: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_moduloAssign); break;
+ case 78: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_divideAssign); break;
}
//
- // Rule 79: assignment_expression ::= unary_expression += assignment_expression
+ // Rule 79: assignment_expression ::= unary_expression %= assignment_expression
//
- case 79: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_plusAssign); break;
+ case 79: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_moduloAssign); break;
}
//
- // Rule 80: assignment_expression ::= unary_expression -= assignment_expression
+ // Rule 80: assignment_expression ::= unary_expression += assignment_expression
//
- case 80: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_minusAssign); break;
+ case 80: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_plusAssign); break;
}
//
- // Rule 81: assignment_expression ::= unary_expression <<= assignment_expression
+ // Rule 81: assignment_expression ::= unary_expression -= assignment_expression
//
- case 81: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftLeftAssign); break;
+ case 81: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_minusAssign); break;
}
//
- // Rule 82: assignment_expression ::= unary_expression >>= assignment_expression
+ // Rule 82: assignment_expression ::= unary_expression <<= assignment_expression
//
- case 82: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftRightAssign); break;
+ case 82: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftLeftAssign); break;
}
//
- // Rule 83: assignment_expression ::= unary_expression &= assignment_expression
+ // Rule 83: assignment_expression ::= unary_expression >>= assignment_expression
//
- case 83: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryAndAssign); break;
+ case 83: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftRightAssign); break;
}
//
- // Rule 84: assignment_expression ::= unary_expression ^= assignment_expression
+ // Rule 84: assignment_expression ::= unary_expression &= assignment_expression
//
- case 84: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryXorAssign); break;
+ case 84: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryAndAssign); break;
}
//
- // Rule 85: assignment_expression ::= unary_expression |= assignment_expression
+ // Rule 85: assignment_expression ::= unary_expression ^= assignment_expression
//
- case 85: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryOrAssign); break;
+ case 85: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryXorAssign); break;
}
//
- // Rule 88: expression_list ::= <openscope-ast> expression_list_actual
+ // Rule 86: assignment_expression ::= unary_expression |= assignment_expression
//
- case 88: { action. consumeExpressionList(); break;
+ case 86: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryOrAssign); break;
}
//
- // Rule 90: expression_list_opt ::= $Empty
+ // Rule 89: expression_list ::= <openscope-ast> expression_list_actual
//
- case 90: { action. consumeEmpty(); break;
+ case 89: { action. consumeExpressionList(); break;
}
//
- // Rule 100: statement ::= ERROR_TOKEN
+ // Rule 91: expression_list_opt ::= $Empty
//
- case 100: { action. consumeStatementProblem(); break;
+ case 91: { action. consumeEmpty(); break;
}
//
- // Rule 101: labeled_statement ::= identifier_or_typedefname : statement
+ // Rule 101: statement ::= ERROR_TOKEN
//
- case 101: { action. consumeStatementLabeled(); break;
+ case 101: { action. consumeStatementProblem(); break;
}
//
- // Rule 102: labeled_statement ::= case constant_expression :
+ // Rule 102: labeled_statement ::= identifier_token : statement
//
- case 102: { action. consumeStatementCase(); break;
+ case 102: { action. consumeStatementLabeled(); break;
}
//
- // Rule 103: labeled_statement ::= default :
+ // Rule 103: labeled_statement ::= case constant_expression : statement
//
- case 103: { action. consumeStatementDefault(); break;
+ case 103: { action. consumeStatementCase(); break;
}
//
- // Rule 104: compound_statement ::= { }
+ // Rule 104: labeled_statement ::= default : statement
//
- case 104: { action. consumeStatementCompoundStatement(false); break;
+ case 104: { action. consumeStatementDefault(); break;
}
//
- // Rule 105: compound_statement ::= { <openscope-ast> block_item_list }
+ // Rule 105: compound_statement ::= { }
//
- case 105: { action. consumeStatementCompoundStatement(true); break;
+ case 105: { action. consumeStatementCompoundStatement(false); break;
}
//
- // Rule 109: block_item ::= declaration
+ // Rule 106: compound_statement ::= { <openscope-ast> block_item_list }
//
- case 109: { action. consumeStatementDeclarationWithDisambiguation(); break;
+ case 106: { action. consumeStatementCompoundStatement(true); break;
}
//
- // Rule 110: expression_statement ::= ;
+ // Rule 110: block_item ::= declaration
//
- case 110: { action. consumeStatementNull(); break;
+ case 110: { action. consumeStatementDeclarationWithDisambiguation(); break;
}
//
- // Rule 111: expression_statement ::= expression_in_statement ;
+ // Rule 111: expression_statement ::= ;
//
- case 111: { action. consumeStatementExpression(); break;
+ case 111: { action. consumeStatementNull(); break;
}
//
- // Rule 112: selection_statement ::= if ( expression ) statement
+ // Rule 112: expression_statement ::= expression_in_statement ;
//
- case 112: { action. consumeStatementIf(false); break;
+ case 112: { action. consumeStatementExpression(); break;
}
//
- // Rule 113: selection_statement ::= if ( expression ) statement else statement
+ // Rule 113: selection_statement ::= if ( expression ) statement
//
- case 113: { action. consumeStatementIf(true); break;
+ case 113: { action. consumeStatementIf(false); break;
}
//
- // Rule 114: selection_statement ::= switch ( expression ) statement
+ // Rule 114: selection_statement ::= if ( expression ) statement else statement
//
- case 114: { action. consumeStatementSwitch(); break;
+ case 114: { action. consumeStatementIf(true); break;
}
//
- // Rule 116: expression_opt ::= $Empty
+ // Rule 115: selection_statement ::= switch ( expression ) statement
//
- case 116: { action. consumeEmpty(); break;
+ case 115: { action. consumeStatementSwitch(); break;
}
//
- // Rule 117: iteration_statement ::= do statement while ( expression ) ;
+ // Rule 117: expression_opt ::= $Empty
//
- case 117: { action. consumeStatementDoLoop(); break;
+ case 117: { action. consumeEmpty(); break;
}
//
- // Rule 118: iteration_statement ::= while ( expression ) statement
+ // Rule 118: iteration_statement ::= do statement while ( expression ) ;
//
- case 118: { action. consumeStatementWhileLoop(); break;
+ case 118: { action. consumeStatementDoLoop(); 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_or_typedefname ;
+ // 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. consumeDeclSpecToken(); 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. consumeDeclSpecToken(); break;
+ case 160: { action. consumeToken(); break;
}
//
- // Rule 178: typedef_name_in_declspec ::= Completion
+ // Rule 166: simple_type_specifier ::= simple_type_specifier_token
//
- case 178: { action. consumeDeclSpecToken(); break;
+ case 166: { action. consumeToken(); break;
}
//
- // Rule 179: typedef_name_in_declspec ::= identifier
+ // Rule 179: type_name_specifier ::= identifier_token
//
- case 179: { action. consumeDeclSpecToken(); break;
+ case 179: { action. consumeToken(); break;
}
//
- // Rule 182: struct_or_union_specifier ::= struct { <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 182: { action. consumeTypeSpecifierComposite(false, IASTCompositeTypeSpecifier.k_struct); break;
+ case 180: { action. consumeTypeSpecifierComposite(false); break;
}
//
- // Rule 183: struct_or_union_specifier ::= union { <openscope-ast> struct_declaration_list_opt }
+ // 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 183: { action. consumeTypeSpecifierComposite(false, IASTCompositeTypeSpecifier.k_union); break;
+ case 181: { action. consumeTypeSpecifierComposite(true); break;
}
//
- // Rule 184: struct_or_union_specifier ::= struct identifier_or_typedefname { <openscope-ast> struct_declaration_list_opt }
+ // Rule 186: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token
//
- case 184: { action. consumeTypeSpecifierComposite(true, IASTCompositeTypeSpecifier.k_struct); break;
+ case 186: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break;
}
//
- // Rule 185: struct_or_union_specifier ::= union identifier_or_typedefname { <openscope-ast> struct_declaration_list_opt }
+ // Rule 187: elaborated_specifier ::= union elaborated_specifier_hook identifier_token
//
- case 185: { action. consumeTypeSpecifierComposite(true, IASTCompositeTypeSpecifier.k_union); break;
+ case 187: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break;
}
//
- // Rule 186: elaborated_specifier ::= struct identifier_or_typedefname
+ // Rule 188: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token
//
- case 186: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break;
+ case 188: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break;
}
//
- // Rule 187: elaborated_specifier ::= union identifier_or_typedefname
+ // Rule 194: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ;
//
- case 187: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break;
+ case 194: { action. consumeStructDeclaration(true); break;
}
//
- // Rule 188: elaborated_specifier ::= enum identifier_or_typedefname
+ // Rule 195: struct_declaration ::= specifier_qualifier_list ;
//
- case 188: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break;
+ case 195: { action. consumeStructDeclaration(false); break;
}
//
- // Rule 193: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ;
+ // Rule 196: struct_declaration ::= ERROR_TOKEN
//
- case 193: { action. consumeStructDeclaration(true); break;
+ case 196: { action. consumeDeclarationProblem(); break;
}
//
- // Rule 194: struct_declaration ::= specifier_qualifier_list ;
+ // Rule 202: struct_declarator ::= : constant_expression
//
- case 194: { action. consumeStructDeclaration(false); break;
+ case 202: { action. consumeBitField(false); break;
}
//
- // Rule 195: struct_declaration ::= ERROR_TOKEN
+ // Rule 203: struct_declarator ::= declarator : constant_expression
//
- case 195: { action. consumeDeclarationProblem(); break;
+ case 203: { action. consumeBitField(true); break;
}
//
- // Rule 201: struct_declarator ::= : constant_expression
+ // Rule 204: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt }
//
- case 201: { action. consumeBitField(false); break;
+ case 204: { action. consumeTypeSpecifierEnumeration(false); break;
}
//
- // Rule 202: struct_declarator ::= declarator : constant_expression
+ // Rule 205: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt }
//
- case 202: { action. consumeBitField(true); break;
+ case 205: { action. consumeTypeSpecifierEnumeration(true); break;
}
//
- // Rule 203: enum_specifier ::= enum { <openscope-ast> enumerator_list_opt comma_opt }
+ // Rule 211: enumerator ::= identifier_token
//
- case 203: { action. consumeTypeSpecifierEnumeration(false); break;
+ case 211: { action. consumeEnumerator(false); break;
}
//
- // Rule 204: enum_specifier ::= enum identifier_or_typedefname { <openscope-ast> enumerator_list_opt comma_opt }
+ // Rule 212: enumerator ::= identifier_token = constant_expression
//
- case 204: { action. consumeTypeSpecifierEnumeration(true); break;
+ case 212: { action. consumeEnumerator(true); break;
}
//
- // Rule 209: enumerator ::= identifier_or_typedefname
+ // Rule 213: type_qualifier ::= type_qualifier_token
//
- case 209: { action. consumeEnumerator(false); break;
+ case 213: { action. consumeToken(); break;
}
//
- // Rule 210: enumerator ::= identifier_or_typedefname = constant_expression
+ // Rule 217: function_specifier ::= inline
//
- case 210: { action. consumeEnumerator(true); break;
+ case 217: { action. consumeToken(); break;
}
//
- // Rule 211: type_qualifier ::= type_qualifier_token
+ // Rule 219: declarator ::= <openscope-ast> pointer_seq direct_declarator
//
- case 211: { action. consumeDeclSpecToken(); break;
+ case 219: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 215: function_specifier ::= inline
+ // Rule 224: basic_direct_declarator ::= declarator_id_name
//
- case 215: { action. consumeDeclSpecToken(); break;
+ case 224: { action. consumeDirectDeclaratorIdentifier(); break;
}
//
- // Rule 217: declarator ::= <openscope-ast> pointer_seq direct_declarator
+ // Rule 225: basic_direct_declarator ::= ( declarator )
//
- case 217: { action. consumeDeclaratorWithPointer(true); break;
+ case 225: { action. consumeDirectDeclaratorBracketed(); break;
}
//
- // Rule 222: basic_direct_declarator ::= declarator_id_name
+ // Rule 226: declarator_id_name ::= identifier
//
- case 222: { action. consumeDirectDeclaratorIdentifier(); break;
+ case 226: { action. consumeIdentifierName(); break;
}
//
- // Rule 223: basic_direct_declarator ::= ( declarator )
+ // Rule 227: array_direct_declarator ::= basic_direct_declarator array_modifier
//
- case 223: { action. consumeDirectDeclaratorBracketed(); break;
+ case 227: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 224: declarator_id_name ::= identifier
+ // Rule 228: array_direct_declarator ::= array_direct_declarator array_modifier
//
- case 224: { action. consumeIdentifierName(); break;
+ case 228: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 225: array_direct_declarator ::= basic_direct_declarator array_modifier
+ // Rule 230: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list )
//
- case 225: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 230: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
}
//
- // Rule 226: array_direct_declarator ::= array_direct_declarator array_modifier
+ // Rule 231: function_direct_declarator ::= basic_direct_declarator ( )
//
- case 226: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 231: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
}
//
- // Rule 228: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list )
+ // Rule 233: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator
//
- case 228: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
+ case 233: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 229: function_direct_declarator ::= basic_direct_declarator ( )
+ // Rule 234: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list )
//
- case 229: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
+ case 234: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break;
}
//
- // Rule 231: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator
+ // Rule 236: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator
//
- case 231: { action. consumeDeclaratorWithPointer(true); break;
+ case 236: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 232: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list )
+ // Rule 237: identifier_list ::= identifier
//
- case 232: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break;
+ case 237: { action. consumeIdentifierKnR(); break;
}
//
- // Rule 234: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator
+ // Rule 238: identifier_list ::= identifier_list , identifier
//
- case 234: { action. consumeDeclaratorWithPointer(true); break;
+ case 238: { action. consumeIdentifierKnR(); break;
}
//
- // Rule 235: identifier_list ::= identifier
+ // Rule 239: array_modifier ::= [ ]
//
- case 235: { action. consumeIdentifierKnR(); break;
+ case 239: { action. consumeDirectDeclaratorArrayModifier(false); break;
}
//
- // Rule 236: identifier_list ::= identifier_list , identifier
+ // Rule 240: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ]
//
- case 236: { action. consumeIdentifierKnR(); break;
+ case 240: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break;
}
//
- // Rule 237: array_modifier ::= [ ]
+ // Rule 241: array_modifier ::= [ assignment_expression ]
//
- case 237: { action. consumeDirectDeclaratorArrayModifier(false); break;
+ case 241: { action. consumeDirectDeclaratorArrayModifier(true); break;
}
//
- // Rule 238: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ]
+ // Rule 242: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
//
- case 238: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break;
+ case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break;
}
//
- // Rule 239: array_modifier ::= [ assignment_expression ]
+ // Rule 243: array_modifier ::= [ static assignment_expression ]
//
- case 239: { action. consumeDirectDeclaratorArrayModifier(true); break;
+ case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break;
}
//
- // Rule 240: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
+ // Rule 244: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
//
- case 240: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break;
+ case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break;
}
//
- // Rule 241: array_modifier ::= [ static assignment_expression ]
+ // Rule 245: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ]
//
- case 241: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break;
+ case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break;
}
//
- // Rule 242: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
+ // Rule 246: array_modifier ::= [ * ]
//
- case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break;
+ case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break;
}
//
- // Rule 243: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ]
+ // Rule 247: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ]
//
- case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break;
+ case 247: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break;
}
//
- // Rule 244: array_modifier ::= [ * ]
+ // Rule 249: pointer_seq ::= pointer_hook * pointer_hook
//
- case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break;
+ case 249: { action. consumePointer(); break;
}
//
- // Rule 245: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ]
+ // Rule 250: pointer_seq ::= pointer_seq pointer_hook * pointer_hook
//
- case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break;
+ case 250: { action. consumePointer(); break;
}
//
- // Rule 247: pointer_seq ::= *
+ // Rule 251: pointer_seq ::= pointer_hook * pointer_hook <openscope-ast> type_qualifier_list
//
- case 247: { action. consumePointer(); break;
+ case 251: { action. consumePointerTypeQualifierList(); break;
}
//
- // Rule 248: pointer_seq ::= pointer_seq *
+ // Rule 252: pointer_seq ::= pointer_seq pointer_hook * pointer_hook <openscope-ast> type_qualifier_list
//
- case 248: { action. consumePointer(); break;
+ case 252: { action. consumePointerTypeQualifierList(); break;
}
//
- // Rule 249: pointer_seq ::= * <openscope-ast> type_qualifier_list
+ // Rule 256: parameter_type_list ::= parameter_list
//
- case 249: { action. consumePointerTypeQualifierList(); break;
+ case 256: { action. consumeEmpty(); break;
}
//
- // Rule 250: pointer_seq ::= pointer_seq * <openscope-ast> type_qualifier_list
+ // Rule 257: parameter_type_list ::= parameter_list , ...
//
- case 250: { action. consumePointerTypeQualifierList(); break;
+ case 257: { action. consumePlaceHolder(); break;
}
//
- // Rule 253: parameter_type_list ::= parameter_list
+ // Rule 258: parameter_type_list ::= ...
//
- case 253: { action. consumeEmpty(); break;
+ case 258: { action. consumePlaceHolder(); break;
}
//
- // Rule 254: parameter_type_list ::= parameter_list , ...
+ // Rule 261: parameter_declaration ::= declaration_specifiers complete_parameter_declarator
//
- case 254: { action. consumePlaceHolder(); break;
+ case 261: { action. consumeParameterDeclaration(); break;
}
//
- // Rule 255: parameter_type_list ::= ...
+ // Rule 262: parameter_declaration ::= declaration_specifiers
//
- case 255: { action. consumePlaceHolder(); break;
+ case 262: { action. consumeParameterDeclarationWithoutDeclarator(); break;
}
//
- // Rule 258: parameter_declaration ::= declaration_specifiers complete_parameter_declarator
+ // Rule 265: type_id ::= specifier_qualifier_list
//
- case 258: { action. consumeParameterDeclaration(); break;
+ case 265: { action. consumeTypeId(false); break;
}
//
- // Rule 259: parameter_declaration ::= declaration_specifiers
+ // Rule 266: type_id ::= specifier_qualifier_list abstract_declarator
//
- case 259: { action. consumeParameterDeclarationWithoutDeclarator(); break;
+ case 266: { action. consumeTypeId(true); break;
}
//
- // Rule 262: type_name ::= specifier_qualifier_list
+ // Rule 268: abstract_declarator ::= <openscope-ast> pointer_seq
//
- case 262: { action. consumeTypeId(false); break;
+ case 268: { action. consumeDeclaratorWithPointer(false); break;
}
//
- // Rule 263: type_name ::= specifier_qualifier_list abstract_declarator
+ // Rule 269: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator
//
- case 263: { action. consumeTypeId(true); break;
+ case 269: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 265: abstract_declarator ::= <openscope-ast> pointer_seq
+ // Rule 273: basic_direct_abstract_declarator ::= ( abstract_declarator )
//
- case 265: { action. consumeDeclaratorWithPointer(false); break;
+ case 273: { action. consumeDirectDeclaratorBracketed(); break;
}
//
- // Rule 266: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator
+ // Rule 274: array_direct_abstract_declarator ::= array_modifier
//
- case 266: { action. consumeDeclaratorWithPointer(false); break;
+ case 274: { action. consumeDirectDeclaratorArrayDeclarator(false); break;
}
//
- // Rule 270: basic_direct_abstract_declarator ::= ( abstract_declarator )
+ // Rule 275: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
//
- case 270: { action. consumeDirectDeclaratorBracketed(); break;
+ case 275: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 271: array_direct_abstract_declarator ::= array_modifier
+ // Rule 276: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
//
- case 271: { action. consumeDirectDeclaratorArrayDeclarator(false); break;
+ case 276: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 272: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
+ // Rule 277: function_direct_abstract_declarator ::= ( )
//
- case 272: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 277: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break;
+ }
+
+ //
+ // Rule 278: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( )
+ //
+ case 278: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
}
//
- // Rule 273: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
+ // Rule 279: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list )
//
- case 273: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 279: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break;
}
//
- // Rule 274: function_direct_abstract_declarator ::= ( )
+ // Rule 280: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list )
//
- case 274: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break;
- }
+ case 280: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
+ }
//
- // Rule 275: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( )
+ // Rule 281: initializer ::= assignment_expression
//
- case 275: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
+ case 281: { action. consumeInitializer(); break;
}
//
- // Rule 276: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list )
+ // Rule 283: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq comma_opt } end_initializer_list
//
- case 276: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break;
+ case 283: { action. consumeInitializerList(); break;
}
//
- // Rule 277: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list )
+ // Rule 284: initializer_list ::= { <openscope-ast> }
//
- case 277: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
+ case 284: { action. consumeInitializerList(); break;
}
//
- // Rule 278: initializer ::= assignment_expression
+ // Rule 285: start_initializer_list ::= $Empty
//
- case 278: { action. consumeInitializer(); break;
+ case 285: { action. initializerListStart(); break;
}
//
- // Rule 279: initializer ::= { <openscope-ast> initializer_list comma_opt }
+ // Rule 286: end_initializer_list ::= $Empty
//
- case 279: { action. consumeInitializerList(); break;
+ case 286: { action. initializerListEnd(); break;
}
//
- // Rule 284: designated_initializer ::= <openscope-ast> designation = initializer
+ // Rule 291: designated_initializer ::= <openscope-ast> designation = initializer
//
- case 284: { action. consumeInitializerDesignated(); break;
+ case 291: { action. consumeInitializerDesignated(); break;
}
//
- // Rule 288: designator_base ::= [ constant_expression ]
+ // Rule 295: designator_base ::= [ constant_expression ]
//
- case 288: { action. consumeDesignatorArray(); break;
+ case 295: { action. consumeDesignatorArray(); break;
}
//
- // Rule 289: designator_base ::= . identifier_or_typedefname
+ // Rule 296: designator_base ::= . identifier_token
//
- case 289: { action. consumeDesignatorField(); break;
+ case 296: { action. consumeDesignatorField(); break;
}
//
- // Rule 290: designator ::= [ constant_expression ]
+ // Rule 297: designator ::= [ constant_expression ]
//
- case 290: { action. consumeDesignatorArray(); break;
+ case 297: { action. consumeDesignatorArray(); break;
}
//
- // Rule 291: designator ::= . identifier_or_typedefname
+ // Rule 298: designator ::= . identifier_token
//
- case 291: { action. consumeDesignatorField(); break;
+ case 298: { action. consumeDesignatorField(); break;
}
//
- // Rule 292: translation_unit ::= external_declaration_list
+ // Rule 299: translation_unit ::= external_declaration_list
//
- case 292: { action. consumeTranslationUnit(); break;
+ case 299: { action. consumeTranslationUnit(); break;
}
//
- // Rule 293: translation_unit ::= $Empty
+ // Rule 300: translation_unit ::= $Empty
//
- case 293: { action. consumeTranslationUnit(); break;
+ case 300: { action. consumeTranslationUnit(); break;
}
//
- // Rule 298: external_declaration ::= ;
+ // Rule 305: external_declaration ::= ;
//
- case 298: { action. consumeDeclarationEmpty(); break;
+ case 305: { action. consumeDeclarationEmpty(); break;
}
//
- // Rule 299: external_declaration ::= ERROR_TOKEN
+ // Rule 306: external_declaration ::= ERROR_TOKEN
//
- case 299: { action. consumeDeclarationProblem(); break;
+ case 306: { action. consumeDeclarationProblem(); break;
}
//
- // Rule 302: function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body
+ // Rule 310: function_definition ::= <openscope-ast> function_declarator function_body
//
- case 302: { action. consumeFunctionDefinition(true); break;
+ case 310: { action. consumeFunctionDefinition(false); break;
}
//
- // Rule 303: function_definition ::= <openscope-ast> function_declarator function_body
+ // Rule 311: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement
//
- case 303: { action. consumeFunctionDefinition(false); break;
+ case 311: { action. consumeFunctionDefinitionKnR(); break;
}
//
- // Rule 304: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement
+ // Rule 312: normal_function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body
//
- case 304: { action. consumeFunctionDefinitionKnR(); break;
+ case 312: { action. consumeFunctionDefinition(true); break;
}
//
- // Rule 305: function_body ::= { }
+ // Rule 313: function_body ::= { }
//
- case 305: { action. consumeStatementCompoundStatement(false); break;
+ case 313: { action. consumeStatementCompoundStatement(false); break;
}
//
- // Rule 306: function_body ::= { <openscope-ast> block_item_list }
+ // Rule 314: function_body ::= { <openscope-ast> block_item_list }
//
- case 306: { action. consumeStatementCompoundStatement(true); break;
+ case 314: { action. consumeStatementCompoundStatement(true); break;
}
//
- // Rule 308: expression_parser_start ::= ERROR_TOKEN
+ // Rule 316: expression_parser_start ::= ERROR_TOKEN
//
- case 308: { action. consumeExpressionProblem(); break;
+ case 316: { action. consumeEmpty(); break;
}
//
- // Rule 309: literal ::= MYTHREAD
+ // Rule 317: literal ::= MYTHREAD
//
- case 309: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_mythread); break;
+ case 317: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_mythread); break;
}
//
- // Rule 310: literal ::= THREADS
+ // Rule 318: literal ::= THREADS
//
- case 310: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_threads); break;
+ case 318: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_threads); break;
}
//
- // Rule 311: literal ::= UPC_MAX_BLOCKSIZE
+ // Rule 319: literal ::= UPC_MAX_BLOCKSIZE
//
- case 311: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_upc_max_block_size); break;
+ case 319: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_upc_max_block_size); break;
}
//
- // Rule 312: unary_expression ::= upc_localsizeof unary_expression
+ // Rule 320: unary_expression ::= upc_localsizeof unary_expression
//
- case 312: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_localsizeof); break;
+ case 320: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_localsizeof); break;
}
//
- // Rule 313: unary_expression ::= upc_localsizeof ( type_name )
+ // Rule 321: unary_expression ::= upc_localsizeof ( type_id )
//
- case 313: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_localsizeof); break;
+ case 321: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_localsizeof); break;
}
//
- // Rule 314: unary_expression ::= upc_blocksizeof unary_expression
+ // Rule 322: unary_expression ::= upc_blocksizeof unary_expression
//
- case 314: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_blocksizeof); break;
+ case 322: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_blocksizeof); break;
}
//
- // Rule 315: unary_expression ::= upc_blocksizeof ( type_name )
+ // Rule 323: unary_expression ::= upc_blocksizeof ( type_id )
//
- case 315: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_blocksizeof); break;
+ case 323: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_blocksizeof); break;
}
//
- // Rule 316: unary_expression ::= upc_elemsizeof unary_expression
+ // Rule 324: unary_expression ::= upc_elemsizeof unary_expression
//
- case 316: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_elemsizeof); break;
+ case 324: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_elemsizeof); break;
}
//
- // Rule 317: unary_expression ::= upc_elemsizeof ( type_name )
+ // Rule 325: unary_expression ::= upc_elemsizeof ( type_id )
//
- case 317: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_elemsizeof); break;
+ case 325: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_elemsizeof); break;
}
//
- // Rule 321: shared_type_qualifier ::= shared
+ // Rule 329: shared_type_qualifier ::= shared
//
- case 321: { action. consumeToken(); break;
+ case 329: { action. consumeToken(); break;
}
//
- // Rule 322: reference_type_qualifier ::= relaxed
+ // Rule 330: reference_type_qualifier ::= relaxed
//
- case 322: { action. consumeToken(); break;
+ case 330: { action. consumeToken(); break;
}
//
- // Rule 323: reference_type_qualifier ::= strict
+ // Rule 331: reference_type_qualifier ::= strict
//
- case 323: { action. consumeToken(); break;
+ case 331: { action. consumeToken(); break;
}
//
- // Rule 324: layout_qualifier ::= [ constant_expression ]
+ // Rule 332: layout_qualifier ::= [ constant_expression ]
//
- case 324: { action. consumeLayoutQualifier(true, false); break;
+ case 332: { action. consumeLayoutQualifier(true, false); break;
}
//
- // Rule 325: layout_qualifier ::= [ * ]
+ // Rule 333: layout_qualifier ::= [ * ]
//
- case 325: { action. consumeLayoutQualifier(false, true); break;
+ case 333: { action. consumeLayoutQualifier(false, true); break;
}
//
- // Rule 326: layout_qualifier ::= [ ]
+ // Rule 334: layout_qualifier ::= [ ]
//
- case 326: { action. consumeLayoutQualifier(false, false); break;
+ case 334: { action. consumeLayoutQualifier(false, false); break;
}
//
- // Rule 328: synchronization_statement ::= upc_notify expression ;
+ // Rule 336: synchronization_statement ::= upc_notify expression ;
//
- case 328: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, true); break;
+ case 336: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, true); break;
}
//
- // Rule 329: synchronization_statement ::= upc_notify ;
+ // Rule 337: synchronization_statement ::= upc_notify ;
//
- case 329: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, false); break;
+ case 337: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, false); break;
}
//
- // Rule 330: synchronization_statement ::= upc_wait expression ;
+ // Rule 338: synchronization_statement ::= upc_wait expression ;
//
- case 330: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, true); break;
+ case 338: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, true); break;
}
//
- // Rule 331: synchronization_statement ::= upc_wait ;
+ // Rule 339: synchronization_statement ::= upc_wait ;
//
- case 331: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, false); break;
+ case 339: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, false); break;
}
//
- // Rule 332: synchronization_statement ::= upc_barrier expression ;
+ // Rule 340: synchronization_statement ::= upc_barrier expression ;
//
- case 332: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, true); break;
+ case 340: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, true); break;
}
//
- // Rule 333: synchronization_statement ::= upc_barrier ;
+ // Rule 341: synchronization_statement ::= upc_barrier ;
//
- case 333: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, false); break;
+ case 341: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, false); break;
}
//
- // Rule 334: synchronization_statement ::= upc_fence ;
+ // Rule 342: synchronization_statement ::= upc_fence ;
//
- case 334: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_fence, false); break;
+ case 342: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_fence, false); break;
}
//
- // Rule 335: iteration_statement ::= upc_forall ( expression ; expression ; expression ; affinity ) statement
+ // Rule 343: iteration_statement ::= upc_forall ( expression ; expression ; expression ; affinity ) statement
//
- case 335: { action. consumeStatementUPCForallLoop(true, true, true, true); break;
+ case 343: { action. consumeStatementUPCForallLoop(true, true, true, true); break;
}
//
- // Rule 336: iteration_statement ::= upc_forall ( expression ; expression ; expression ; ) statement
+ // Rule 344: iteration_statement ::= upc_forall ( expression ; expression ; expression ; ) statement
//
- case 336: { action. consumeStatementUPCForallLoop(true, true, true, false); break;
+ case 344: { action. consumeStatementUPCForallLoop(true, true, true, false); break;
}
//
- // Rule 337: iteration_statement ::= upc_forall ( expression ; expression ; ; affinity ) statement
+ // Rule 345: iteration_statement ::= upc_forall ( expression ; expression ; ; affinity ) statement
//
- case 337: { action. consumeStatementUPCForallLoop(true, true, false, true); break;
+ case 345: { action. consumeStatementUPCForallLoop(true, true, false, true); break;
}
//
- // Rule 338: iteration_statement ::= upc_forall ( expression ; expression ; ; ) statement
+ // Rule 346: iteration_statement ::= upc_forall ( expression ; expression ; ; ) statement
//
- case 338: { action. consumeStatementUPCForallLoop(true, true, false, false); break;
+ case 346: { action. consumeStatementUPCForallLoop(true, true, false, false); break;
}
//
- // Rule 339: iteration_statement ::= upc_forall ( expression ; ; expression ; affinity ) statement
+ // Rule 347: iteration_statement ::= upc_forall ( expression ; ; expression ; affinity ) statement
//
- case 339: { action. consumeStatementUPCForallLoop(true, false, true, true); break;
+ case 347: { action. consumeStatementUPCForallLoop(true, false, true, true); break;
}
//
- // Rule 340: iteration_statement ::= upc_forall ( expression ; ; expression ; ) statement
+ // Rule 348: iteration_statement ::= upc_forall ( expression ; ; expression ; ) statement
//
- case 340: { action. consumeStatementUPCForallLoop(true, false, true, false); break;
+ case 348: { action. consumeStatementUPCForallLoop(true, false, true, false); break;
}
//
- // Rule 341: iteration_statement ::= upc_forall ( expression ; ; ; affinity ) statement
+ // Rule 349: iteration_statement ::= upc_forall ( expression ; ; ; affinity ) statement
//
- case 341: { action. consumeStatementUPCForallLoop(true, false, false, true); break;
+ case 349: { action. consumeStatementUPCForallLoop(true, false, false, true); break;
}
//
- // Rule 342: iteration_statement ::= upc_forall ( expression ; ; ; ) statement
+ // Rule 350: iteration_statement ::= upc_forall ( expression ; ; ; ) statement
//
- case 342: { action. consumeStatementUPCForallLoop(true, false, false, false); break;
+ case 350: { action. consumeStatementUPCForallLoop(true, false, false, false); break;
}
//
- // Rule 343: iteration_statement ::= upc_forall ( ; expression ; expression ; affinity ) statement
+ // Rule 351: iteration_statement ::= upc_forall ( ; expression ; expression ; affinity ) statement
//
- case 343: { action. consumeStatementUPCForallLoop(false, true, true, true); break;
+ case 351: { action. consumeStatementUPCForallLoop(false, true, true, true); break;
}
//
- // Rule 344: iteration_statement ::= upc_forall ( ; expression ; expression ; ) statement
+ // Rule 352: iteration_statement ::= upc_forall ( ; expression ; expression ; ) statement
//
- case 344: { action. consumeStatementUPCForallLoop(false, true, true, false); break;
+ case 352: { action. consumeStatementUPCForallLoop(false, true, true, false); break;
}
//
- // Rule 345: iteration_statement ::= upc_forall ( ; expression ; ; affinity ) statement
+ // Rule 353: iteration_statement ::= upc_forall ( ; expression ; ; affinity ) statement
//
- case 345: { action. consumeStatementUPCForallLoop(false, true, false, true); break;
+ case 353: { action. consumeStatementUPCForallLoop(false, true, false, true); break;
}
//
- // Rule 346: iteration_statement ::= upc_forall ( ; expression ; ; ) statement
+ // Rule 354: iteration_statement ::= upc_forall ( ; expression ; ; ) statement
//
- case 346: { action. consumeStatementUPCForallLoop(false, true, false, false); break;
+ case 354: { action. consumeStatementUPCForallLoop(false, true, false, false); break;
}
//
- // Rule 347: iteration_statement ::= upc_forall ( ; ; expression ; affinity ) statement
+ // Rule 355: iteration_statement ::= upc_forall ( ; ; expression ; affinity ) statement
//
- case 347: { action. consumeStatementUPCForallLoop(false, false, true, true); break;
+ case 355: { action. consumeStatementUPCForallLoop(false, false, true, true); break;
}
//
- // Rule 348: iteration_statement ::= upc_forall ( ; ; expression ; ) statement
+ // Rule 356: iteration_statement ::= upc_forall ( ; ; expression ; ) statement
//
- case 348: { action. consumeStatementUPCForallLoop(false, false, true, false); break;
+ case 356: { action. consumeStatementUPCForallLoop(false, false, true, false); break;
}
//
- // Rule 349: iteration_statement ::= upc_forall ( ; ; ; affinity ) statement
+ // Rule 357: iteration_statement ::= upc_forall ( ; ; ; affinity ) statement
//
- case 349: { action. consumeStatementUPCForallLoop(false, false, false, true); break;
+ case 357: { action. consumeStatementUPCForallLoop(false, false, false, true); break;
}
//
- // Rule 350: iteration_statement ::= upc_forall ( ; ; ; ) statement
+ // Rule 358: iteration_statement ::= upc_forall ( ; ; ; ) statement
//
- case 350: { action. consumeStatementUPCForallLoop(false, false, false, false); break;
+ case 358: { action. consumeStatementUPCForallLoop(false, false, false, false); break;
}
//
- // Rule 351: iteration_statement ::= upc_forall ( declaration expression ; expression ; affinity ) statement
+ // Rule 359: iteration_statement ::= upc_forall ( declaration expression ; expression ; affinity ) statement
//
- case 351: { action. consumeStatementUPCForallLoop(true, true, true, true); break;
+ case 359: { action. consumeStatementUPCForallLoop(true, true, true, true); break;
}
//
- // Rule 352: iteration_statement ::= upc_forall ( declaration expression ; expression ; ) statement
+ // Rule 360: iteration_statement ::= upc_forall ( declaration expression ; expression ; ) statement
//
- case 352: { action. consumeStatementUPCForallLoop(true, true, true, false); break;
+ case 360: { action. consumeStatementUPCForallLoop(true, true, true, false); break;
}
//
- // Rule 353: iteration_statement ::= upc_forall ( declaration expression ; ; affinity ) statement
+ // Rule 361: iteration_statement ::= upc_forall ( declaration expression ; ; affinity ) statement
//
- case 353: { action. consumeStatementUPCForallLoop(true, true, false, true); break;
+ case 361: { action. consumeStatementUPCForallLoop(true, true, false, true); break;
}
//
- // Rule 354: iteration_statement ::= upc_forall ( declaration expression ; ; ) statement
+ // Rule 362: iteration_statement ::= upc_forall ( declaration expression ; ; ) statement
//
- case 354: { action. consumeStatementUPCForallLoop(true, true, false, false); break;
+ case 362: { action. consumeStatementUPCForallLoop(true, true, false, false); break;
}
//
- // Rule 355: iteration_statement ::= upc_forall ( declaration ; expression ; affinity ) statement
+ // Rule 363: iteration_statement ::= upc_forall ( declaration ; expression ; affinity ) statement
//
- case 355: { action. consumeStatementUPCForallLoop(true, false, true, true); break;
+ case 363: { action. consumeStatementUPCForallLoop(true, false, true, true); break;
}
//
- // Rule 356: iteration_statement ::= upc_forall ( declaration ; expression ; ) statement
+ // Rule 364: iteration_statement ::= upc_forall ( declaration ; expression ; ) statement
//
- case 356: { action. consumeStatementUPCForallLoop(true, false, true, false); break;
+ case 364: { action. consumeStatementUPCForallLoop(true, false, true, false); break;
}
//
- // Rule 357: iteration_statement ::= upc_forall ( declaration ; ; affinity ) statement
+ // Rule 365: iteration_statement ::= upc_forall ( declaration ; ; affinity ) statement
//
- case 357: { action. consumeStatementUPCForallLoop(true, false, false, true); break;
+ case 365: { action. consumeStatementUPCForallLoop(true, false, false, true); break;
}
//
- // Rule 358: iteration_statement ::= upc_forall ( declaration ; ; ) statement
+ // Rule 366: iteration_statement ::= upc_forall ( declaration ; ; ) statement
//
- case 358: { action. consumeStatementUPCForallLoop(true, false, false, false); break;
+ case 366: { action. consumeStatementUPCForallLoop(true, false, false, false); break;
}
//
- // Rule 360: affinity ::= continue
+ // Rule 368: affinity ::= continue
//
- case 360: { 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/UPCExpressionParserprs.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParserprs.java
index 9d802d02b0b..cff6fd915ea 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, 2008 IBM Corporation and others.
+* Copyright (c) 2006, 2009 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -35,197 +35,199 @@ public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UP
public interface BaseCheck {
public final static short baseCheck[] = {0,
- 0,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,3,1,1,1,4,
- 4,3,3,2,2,8,1,0,1,1,
- 1,2,2,2,2,2,2,2,2,2,
- 4,1,4,1,3,3,3,1,3,3,
- 1,3,3,1,3,3,3,3,1,3,
- 3,1,3,1,3,1,3,1,3,1,
- 3,1,5,1,3,3,3,3,3,3,
- 3,3,3,3,3,1,1,2,1,0,
- 1,3,1,1,1,1,1,1,1,1,
- 3,3,2,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,
+ 0,0,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,3,1,
+ 1,4,4,3,3,2,2,4,1,0,
+ 1,1,2,2,2,2,2,2,2,2,
+ 2,4,1,4,1,3,3,3,1,3,
+ 3,1,3,3,1,3,3,3,3,1,
+ 3,3,1,3,1,3,1,3,1,3,
+ 1,3,1,5,1,3,3,3,3,3,
+ 3,3,3,3,3,3,1,1,2,1,
+ 0,1,3,1,1,1,1,1,1,1,
+ 1,3,4,3,2,4,1,2,1,1,
+ 1,2,5,7,5,1,0,7,5,9,
+ 8,3,2,2,2,3,2,4,2,2,
+ 2,2,2,1,1,1,1,2,1,2,
+ 2,2,1,2,2,1,2,2,1,2,
+ 2,1,2,2,1,3,1,3,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,5,5,6,6,2,2,2,1,0,
- 1,2,4,2,1,1,1,3,1,1,
- 2,3,6,7,1,0,1,3,1,3,
- 1,1,1,1,1,1,3,1,1,1,
- 1,1,3,1,2,2,1,5,3,1,
- 3,5,1,3,1,3,2,4,3,5,
- 4,6,6,3,5,1,1,2,3,4,
- 1,2,1,3,1,1,3,2,1,1,
- 1,1,2,1,2,3,1,1,1,3,
- 1,2,2,2,3,4,5,1,5,1,
- 1,3,3,4,1,1,2,3,2,3,
- 2,1,0,1,2,1,1,1,1,1,
- 2,4,3,6,2,4,1,1,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,-2,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- -82,-4,-80,0,0,0,0,-5,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,-17,0,-36,0,-6,0,
- 0,0,0,0,0,0,0,0,-19,-20,
- -88,-21,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,
- -189,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,-143,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- -22,0,0,-159,-23,-24,0,-56,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,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,
- -37,-25,0,-184,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-83,0,0,0,0,0,0,
+ -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,-147,-170,0,-7,0,0,0,
- 0,0,-59,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,0,
- -85,0,0,0,0,0,0,0,0,0,
- -62,0,0,0,0,0,0,-26,0,0,
- 0,0,0,0,0,0,0,-27,0,0,
- 0,-8,0,0,0,0,0,0,0,0,
- 0,-15,0,0,0,0,0,0,0,0,
- 0,0,0,-3,0,0,0,0,0,0,
- -158,0,0,0,0,0,0,0,0,0,
- 0,0,0,-123,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,-130,0,0,0,0,0,0,
- -28,0,0,0,0,0,0,0,0,0,
- 0,0,-29,-97,0,0,-98,-99,-100,-57,
+ 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,
- 0,-204,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-49,
0,0,0,0,0,0,0,0,0,0,
- 0,-30,0,0,0,0,0,0,-40,0,
+ 0,0,-83,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-45,0,0,0,0,0,0,0,0,
- -63,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,0,0,
- -64,0,0,0,0,0,0,-41,0,0,
+ 0,0,0,0,0,0,-124,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -65,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-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,
- -66,0,0,0,0,0,0,-74,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,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,
- -68,0,0,0,0,0,0,-75,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,0,0,0,0,0,
- -69,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,0,
- -70,0,0,0,0,0,0,-76,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,
- -71,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,
0,0,0,0,0,0,0,0,0,0,
- -72,0,0,0,0,0,0,-77,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,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,
- -163,0,0,0,0,0,0,-78,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,
0,0,0,0,0,0,0,0,0,0,
- -164,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,0,0,0,0,0,0,0,0,
- -187,0,0,0,0,0,0,-101,0,0,
- 0,0,0,0,0,0,0,0,0,-201,
- 0,0,0,0,0,0,-102,0,0,0,
- 0,0,0,0,0,0,0,0,-207,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,-211,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,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-221,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,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-137,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,-174,-146,-144,-86,-79,-202,
- -168,0,0,-58,0,0,0,0,0,0,
- -103,0,0,0,0,0,0,0,0,0,
- 0,0,0,-213,0,0,0,-104,-210,0,
- 0,0,0,0,0,0,0,0,0,-167,
- -91,0,0,0,0,0,0,-49,0,0,
- 0,0,0,0,-127,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-92,
- -96,-196,0,0,0,-105,0,0,0,0,
- 0,0,0,-106,0,0,0,0,0,0,
- -175,-94,-120,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-125,0,0,
- 0,0,0,0,0,-198,-107,0,0,0,
- 0,-122,0,0,-188,0,-108,0,0,-124,
- 0,0,0,0,0,0,0,0,-55,0,
- 0,0,0,0,0,-142,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-109,
- 0,-145,-132,-134,-87,0,-220,0,0,0,
- 0,-110,-150,0,-50,0,0,0,0,0,
- 0,0,0,0,0,-135,-139,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,0,0,0,0,0,0,0,0,0,
- 0,-111,0,0,0,0,0,0,0,0,
- -16,0,0,0,0,0,0,0,-165,0,
- -112,0,-51,0,0,0,0,0,0,-113,
- 0,0,0,-52,0,0,0,0,0,0,
- 0,0,0,0,-114,-89,0,0,-53,0,
- 0,0,0,0,0,-121,0,0,-54,0,
- 0,0,0,0,0,-84,0,0,0,0,
- 0,0,0,-90,-178,-129,-152,-179,0,0,
- 0,0,0,0,0,0,-9,0,0,0,
- 0,0,0,-214,0,0,0,0,0,0,
- -93,0,0,0,0,0,0,0,0,0,
- -186,0,0,0,0,-95,-10,0,0,0,
- 0,0,0,0,0,0,0,-172,0,-115,
- -42,0,-203,0,0,0,0,0,0,0,
- 0,0,0,-116,-117,0,-118,0,0,0,
- 0,0,-126,0,0,0,0,0,0,0,
- -151,0,0,0,0,0,0,-166,0,0,
- 0,0,0,0,0,-222,0,0,0,0,
- -154,-157,0,-160,-208,-140,0,0,0,0,
- 0,-119,-131,0,-11,0,0,0,0,0,
- 0,-12,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-13,
- 0,0,0,0,0,0,-14,0,0,0,
- 0,0,0,-18,-133,-171,-136,-31,0,-193,
- 0,-32,0,-183,0,-33,0,-206,0,-169,
- -195,-197,0,-199,0,-200,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,0,0,0,0,
- 0,0,0,0,0,0,-34,0,0,0,
- -35,0,0,0,0,0,0,0,0,0,
- -46,0,0,0,0,0,0,0,-128,-191,
- -192,0,-148,0,0,0,0,0,0,-180,
- 0,-47,0,0,0,0,0,0,-141,0,
- 0,0,0,-215,0,-48,0,0,0,0,
- 0,0,-81,0,0,0,0,0,0,-218,
- -153,0,0,0,0,-155,-205,0,-181,-173,
- 0,0,0,-216,0,-156,0,-194,0,0,
- 0,0,-177,-185,0,-219,0,0,0,0,
- 0,-212,0,-209,-149,0,0,-223,0,0,
- 0,0,0,0,-217,0,-1,0,0,0,
- -182,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-161,0,0,0,0,
- 0,0,0,0,0,0,0,0,-162,0,
- 0,0,0,0,-190,-176,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,
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,0,0,0,0,0,0,0,0,
- 0,0,0,-38,0,-39,-60,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,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;
@@ -235,198 +237,200 @@ public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UP
public interface BaseAction {
public final static char baseAction[] = {
- 85,7,22,22,20,20,31,31,70,70,
- 1,1,1,1,2,2,2,3,3,4,
- 4,4,4,4,4,4,4,54,54,71,
- 71,5,5,5,5,5,5,5,5,5,
- 5,5,6,6,8,8,8,8,9,9,
- 9,10,10,10,11,11,11,11,11,12,
- 12,12,13,13,14,14,15,15,16,16,
- 17,17,18,18,19,19,19,19,19,19,
- 19,19,19,19,19,19,96,30,28,86,
- 86,73,73,45,97,97,97,97,97,97,
- 97,98,98,98,99,99,104,104,105,105,
- 100,100,101,101,101,107,107,102,102,102,
- 102,103,103,103,103,103,106,106,21,21,
- 21,21,21,33,33,33,79,79,74,74,
- 74,74,75,75,75,76,76,76,77,77,
- 77,78,78,78,108,108,109,109,110,34,
- 36,36,36,36,36,55,57,57,57,57,
- 57,57,57,57,57,57,57,57,67,67,
- 32,32,64,64,64,64,65,65,65,58,
- 58,59,59,51,51,51,27,87,87,80,
- 81,81,81,66,66,82,82,83,83,68,
- 68,23,24,24,24,35,50,50,37,37,
- 37,37,40,40,42,38,38,39,43,43,
- 111,111,41,112,112,88,88,29,29,29,
- 29,29,29,29,29,29,84,52,52,52,
- 52,61,61,60,60,60,62,62,53,53,
- 89,89,44,44,63,63,63,46,46,46,
- 47,48,48,48,49,49,49,49,56,56,
- 72,72,72,72,69,90,91,91,92,92,
- 93,93,113,113,114,114,115,115,115,115,
- 117,117,116,116,116,118,118,85,85,1,
- 1,1,5,5,5,5,5,5,23,23,
- 25,25,26,26,94,94,94,97,119,119,
- 119,119,119,119,119,102,102,102,102,102,
- 102,102,102,102,102,102,102,102,102,102,
- 102,102,102,102,102,102,102,102,102,120,
- 120,1,14,19,15,415,713,44,33,430,
- 429,511,432,516,515,618,532,701,628,74,
- 91,65,51,472,134,211,318,319,830,14,
- 19,15,415,316,136,133,135,159,800,14,
- 19,15,415,42,44,20,430,429,511,432,
- 516,515,618,532,1390,1149,138,138,165,860,
- 14,19,15,415,314,142,145,148,151,74,
- 430,359,186,1416,382,1325,1406,1434,1461,1476,
- 1231,734,14,19,15,415,713,44,514,430,
- 429,511,432,516,515,618,532,701,628,74,
- 278,734,14,19,15,415,713,44,514,430,
- 429,511,432,516,515,618,532,701,628,74,
- 278,800,14,19,15,415,42,44,23,718,
- 440,14,19,15,415,713,44,280,430,429,
- 511,432,516,515,618,532,701,628,74,1379,
- 281,73,238,661,780,173,184,280,800,14,
- 19,15,415,42,44,320,430,429,511,1287,
- 281,138,285,1545,486,14,19,15,415,713,
- 44,514,430,429,511,432,516,515,618,532,
- 701,628,74,278,394,14,19,15,415,713,
- 44,1268,430,429,511,432,516,515,618,532,
- 701,628,74,1290,340,65,237,890,14,19,
- 15,415,312,800,14,19,15,415,42,44,
- 282,430,429,511,432,516,1362,134,211,318,
- 319,302,22,283,1724,1285,286,136,133,135,
- 159,800,14,19,15,415,42,44,126,430,
- 429,511,432,516,515,618,1405,1232,350,138,
- 272,165,920,14,19,15,415,40,142,145,
- 148,151,950,14,19,15,415,33,1325,1406,
- 1434,1461,1476,1231,800,14,19,15,415,713,
- 44,654,430,429,511,432,516,515,618,532,
- 701,628,74,91,980,14,19,15,415,713,
- 44,1679,430,429,511,432,516,515,618,532,
- 701,628,74,1306,612,14,19,15,415,42,
- 44,162,430,429,511,432,516,515,618,532,
- 701,628,93,109,1010,1604,326,1050,435,471,
- 800,14,19,15,415,42,44,382,430,429,
- 511,1320,767,14,19,15,415,713,44,1333,
- 430,429,511,432,516,515,618,532,701,628,
- 74,278,800,14,19,15,415,713,44,573,
- 430,429,511,432,516,515,618,532,701,628,
- 74,92,800,14,19,15,415,42,44,1693,
- 719,800,14,19,15,415,713,44,284,430,
- 429,511,432,516,515,618,532,701,628,74,
- 85,800,14,19,15,415,713,44,573,430,
- 429,511,432,516,515,618,532,701,628,74,
- 84,800,14,19,15,415,713,44,16,430,
- 429,511,432,516,515,618,532,701,628,74,
- 83,800,14,19,15,415,713,44,573,430,
- 429,511,432,516,515,618,532,701,628,74,
- 82,800,14,19,15,415,713,44,1490,430,
- 429,511,432,516,515,618,532,701,628,74,
- 81,800,14,19,15,415,713,44,573,430,
- 429,511,432,516,515,618,532,701,628,74,
- 80,800,14,19,15,415,713,44,1504,430,
- 429,511,432,516,515,618,532,701,628,74,
- 79,800,14,19,15,415,713,44,573,430,
- 429,511,432,516,515,618,532,701,628,74,
- 78,800,14,19,15,415,713,44,1505,430,
- 429,511,432,516,515,618,532,701,628,74,
- 77,800,14,19,15,415,713,44,573,430,
- 429,511,432,516,515,618,532,701,628,74,
- 76,800,14,19,15,415,713,44,1507,430,
- 429,511,432,516,515,618,532,701,628,74,
- 75,800,14,19,15,415,713,44,573,430,
- 429,511,432,516,515,618,532,701,628,74,
- 1660,800,14,19,15,415,713,44,1552,430,
- 429,511,432,516,515,618,532,701,628,74,
- 1661,800,14,19,15,415,42,44,86,430,
- 429,511,432,516,515,618,532,701,628,93,
- 800,14,19,15,415,42,44,200,430,429,
- 511,432,516,515,618,532,701,628,93,800,
- 14,19,15,415,42,44,1707,430,429,511,
- 432,516,515,618,532,701,628,93,800,14,
- 19,15,415,42,44,210,430,429,511,432,
- 516,515,618,532,701,628,93,800,14,19,
- 15,415,42,44,1714,430,429,511,432,516,
- 515,618,532,701,628,93,800,14,19,15,
- 415,42,44,201,430,429,511,432,516,515,
- 618,532,701,628,73,480,543,292,369,573,
- 605,709,202,575,800,14,19,15,415,42,
- 44,249,430,429,511,432,516,515,1332,21,
- 252,211,318,319,446,271,183,273,287,525,
- 226,1454,1670,216,1161,219,1610,221,222,227,
- 135,663,264,1158,601,269,260,1718,800,14,
- 19,15,415,42,44,573,430,429,1048,261,
- 274,216,1161,219,1610,221,222,227,208,271,
- 805,340,1033,1553,1600,270,354,216,1161,219,
- 1610,221,222,227,474,258,264,1158,601,269,
- 1600,240,835,6,134,211,318,319,1276,193,
- 441,271,1595,1215,137,133,135,159,121,217,
- 1161,219,1610,221,222,227,405,532,266,1158,
- 601,269,64,1454,1597,812,139,244,165,1546,
- 472,251,211,318,319,143,146,149,152,800,
- 14,19,15,415,42,44,472,430,429,511,
- 432,1277,239,216,1161,219,1610,221,222,227,
- 301,194,573,6,6,516,1732,405,241,1157,
- 1701,1706,572,472,1454,800,14,19,15,415,
- 42,44,276,430,429,1067,6,235,134,211,
- 318,319,490,1716,1766,324,197,199,141,133,
- 135,159,610,1189,216,1161,219,1610,221,222,
- 227,950,14,19,15,415,32,1732,287,472,
- 140,426,165,800,14,19,15,415,42,44,
- 219,430,429,1171,800,14,19,15,415,42,
- 44,240,430,429,1188,618,1059,198,199,800,
- 14,19,15,415,42,44,1074,430,1236,800,
- 14,19,15,415,42,44,1148,430,1244,134,
- 211,318,319,1659,1091,480,599,6,692,144,
- 133,135,159,1735,1710,271,274,800,14,19,
- 15,415,42,39,65,271,275,134,211,318,
- 319,1101,266,1158,601,269,182,147,133,135,
- 159,605,264,1158,601,269,1133,800,14,19,
- 15,415,42,38,134,211,318,319,573,1215,
- 280,517,1616,692,150,133,135,159,381,134,
- 211,318,319,289,577,619,1536,620,277,153,
- 133,135,159,566,14,19,15,415,42,35,
- 271,566,14,19,15,415,42,35,566,14,
- 19,15,415,42,35,244,78,264,1158,601,
- 269,6,6,325,6,654,121,1684,1723,1751,
- 245,461,656,665,263,800,14,19,15,415,
- 42,37,800,14,19,15,415,42,36,251,
- 211,318,319,217,1161,219,1610,221,222,227,
- 800,14,19,15,415,42,35,800,14,19,
- 15,415,42,34,6,699,712,700,6,1745,
- 573,361,6,574,480,361,6,1779,605,361,
- 866,599,480,361,480,196,480,1156,1734,196,
- 223,1491,87,196,808,1491,87,196,808,1491,
- 87,229,808,1491,87,26,808,6,759,225,
- 291,6,848,185,361,184,888,203,361,257,
- 928,800,14,19,15,415,42,47,196,478,
- 472,472,196,653,1491,87,574,808,1491,87,
- 114,808,800,14,19,15,415,42,46,121,
- 1156,968,242,243,480,1008,800,14,19,15,
- 415,42,45,701,14,19,15,415,42,43,
- 573,55,251,211,318,319,112,472,574,693,
- 169,1416,256,574,472,204,536,574,478,1322,
- 228,1663,196,283,228,574,596,196,1251,288,
- 574,196,452,1251,597,342,290,1251,647,1156,
- 1157,574,574,1918,196,480,232,658,1670,1918,
- 1251,536,191,1918,654,1156,1156,191,1918,1155,
- 1786,191,1918,1001,1435,1786,121,1918,1612,1786,
- 1232,256,1918,1918,191,87,279,307,1322,349,
- 1663,1614,1786,1670,207,425,226,256,256,251,
- 211,318,319,574,1700,1488,1663,1663,1438,1709,
- 1918,1918,252,211,318,319,1918,196,252,211,
- 318,319,1918,1251,476,1918,6,6,1918,207,
- 1918,654,1726,654,654,1918,1918,1785,1918,1918,
- 1918,1918,368,1493,1709,1918,1918,192,1918,1918,
- 1918,1918,89,1918,87,87,383,1381,1918,1918,
- 1918,1918,1918,1918,1918,1918,1918,1918,1918,1918,
- 1918,1918,1918,1918,1918,1918,1918,1918,1918,1918,
- 1918,1918,1918,1918,1918,1918,1918,1918,1918,1918,
- 1918,1918,1918,1918,1918,1918,1918,1918,1918,1918,
- 1918,1918,1918,1918,1918,1918,1918,1918,1918,1918,
- 1159,1918,0,321,694,0,17,179,0,18,
- 178,0,1,2142,0,1,2153,0
+ 89,10,105,22,22,21,21,46,46,72,
+ 72,1,1,2,2,2,2,3,3,3,
+ 4,5,5,5,5,5,5,5,5,62,
+ 62,73,6,6,6,6,6,6,6,6,
+ 6,6,6,7,7,8,8,8,8,9,
+ 9,9,11,11,11,12,12,12,12,12,
+ 13,13,13,14,14,15,15,16,16,17,
+ 17,18,18,19,19,20,20,20,20,20,
+ 20,20,20,20,20,20,20,106,31,28,
+ 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,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
};
};
public final static char baseAction[] = BaseAction.baseAction;
@@ -437,131 +441,119 @@ public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UP
public interface TermCheck {
public final static byte termCheck[] = {0,
0,1,2,3,4,0,6,7,8,9,
- 10,11,12,13,14,15,16,17,18,19,
+ 10,11,12,13,14,15,16,17,18,0,
20,21,22,23,24,25,26,27,28,29,
- 30,0,0,33,34,35,36,37,38,39,
+ 30,0,32,33,34,35,36,37,0,0,
40,41,42,43,44,45,46,47,48,49,
- 0,51,52,53,0,1,0,3,0,5,
- 6,7,8,0,0,11,12,13,4,6,
- 7,8,0,0,11,12,13,0,1,2,
- 0,4,9,10,30,0,0,33,34,35,
- 36,37,38,39,40,41,42,43,44,45,
- 46,47,48,49,54,51,52,53,0,55,
- 56,0,1,0,3,0,5,6,7,8,
- 0,89,11,12,13,0,6,7,8,57,
- 58,11,12,13,0,1,2,0,1,5,
- 3,30,57,58,33,34,35,36,37,38,
- 39,40,41,42,43,44,45,46,47,48,
- 49,0,51,52,53,31,55,56,0,1,
- 0,3,0,5,6,7,8,69,0,11,
- 12,13,69,0,50,0,14,79,80,81,
- 82,83,84,85,86,87,88,72,30,0,
- 0,33,34,35,36,37,38,39,40,41,
- 42,43,44,45,46,47,48,49,0,51,
- 52,53,0,55,56,0,1,0,3,0,
- 5,6,7,8,0,74,11,12,13,0,
- 6,7,8,0,5,11,12,13,0,64,
- 65,66,67,70,71,30,57,58,33,34,
- 35,36,37,38,39,40,41,42,43,44,
- 45,46,47,48,49,0,51,52,53,0,
- 55,56,0,1,0,3,0,5,6,7,
- 8,0,74,11,12,13,69,6,7,8,
- 0,0,11,12,13,57,58,64,65,66,
- 67,32,30,0,75,33,34,35,36,37,
- 38,39,40,41,42,43,44,45,46,47,
- 48,49,31,51,52,53,0,55,56,0,
- 1,0,3,57,58,6,7,8,0,0,
- 11,12,13,0,6,7,8,73,0,11,
- 12,13,9,10,64,65,66,67,0,30,
- 2,0,33,34,35,36,37,38,39,40,
- 41,42,43,44,45,46,47,48,49,31,
- 51,52,53,0,1,2,3,4,5,31,
- 0,60,9,10,0,1,2,14,15,16,
- 17,18,19,20,21,22,23,24,25,26,
- 27,28,29,30,0,0,77,78,0,0,
- 6,7,8,4,0,11,12,13,4,0,
- 1,2,3,4,5,0,1,2,9,10,
- 0,0,59,14,15,16,17,18,19,20,
- 21,22,23,24,25,26,27,28,29,30,
- 0,0,68,0,4,0,5,0,0,0,
- 5,4,9,10,5,0,1,2,3,4,
- 5,62,63,68,9,10,62,63,59,14,
+ 50,51,0,53,54,55,0,1,0,3,
+ 8,5,4,0,0,0,2,11,12,0,
+ 14,6,7,9,10,0,1,38,3,0,
+ 0,25,26,27,4,6,7,68,32,33,
+ 34,35,36,37,19,31,40,41,42,43,
+ 44,45,46,47,48,49,50,51,52,53,
+ 54,55,0,1,0,3,60,5,4,0,
+ 62,63,0,11,12,61,14,64,65,66,
+ 67,0,0,64,65,66,67,25,26,27,
+ 76,0,62,63,32,33,34,35,36,37,
+ 0,19,40,41,42,43,44,45,46,47,
+ 48,49,50,51,52,53,54,55,0,1,
+ 0,3,60,5,0,0,62,63,4,11,
+ 12,31,14,64,65,66,67,0,1,0,
+ 3,0,0,25,26,27,5,56,57,0,
+ 32,33,34,35,36,37,19,8,40,41,
+ 42,43,44,45,46,47,48,49,50,51,
+ 52,53,54,55,0,1,0,3,60,38,
+ 39,0,1,2,0,11,12,0,14,5,
+ 70,71,0,1,0,3,0,1,0,25,
+ 26,27,77,78,6,7,32,33,34,35,
+ 36,37,70,71,40,41,42,43,44,45,
+ 46,47,48,49,50,51,0,53,54,55,
+ 0,1,2,3,4,5,6,7,8,9,
+ 10,0,58,13,0,15,16,17,18,68,
+ 20,21,22,23,24,59,0,31,28,29,
+ 30,74,32,0,1,2,3,4,5,6,
+ 7,8,9,10,0,1,13,3,15,16,
+ 17,18,0,20,21,22,23,24,58,0,
+ 0,28,29,30,5,32,0,1,2,3,
+ 4,5,6,7,8,9,10,0,1,13,
+ 3,15,16,17,18,19,20,21,22,23,
+ 24,58,0,1,28,29,30,0,39,0,
+ 1,0,3,89,0,0,2,2,11,12,
+ 0,14,11,12,4,14,56,57,52,0,
+ 0,0,25,26,27,73,25,26,27,32,
+ 33,34,35,36,37,31,31,40,41,42,
+ 43,44,45,46,47,48,49,50,51,0,
+ 1,2,3,4,5,6,7,8,9,10,
+ 0,1,13,3,15,16,17,18,0,20,
+ 21,22,23,24,0,56,57,28,29,30,
+ 0,1,2,3,4,5,6,7,8,9,
+ 10,0,1,13,3,15,16,17,18,0,
+ 20,21,22,23,24,0,0,58,28,29,
+ 30,0,1,2,3,4,0,6,7,8,
+ 9,10,0,0,13,0,15,16,17,18,
+ 0,20,21,22,23,24,68,0,58,28,
+ 29,30,5,38,0,1,2,3,4,0,
+ 6,7,8,9,10,56,57,13,0,15,
+ 16,17,18,19,20,21,22,23,24,0,
+ 0,60,28,29,30,0,1,2,3,4,
+ 74,6,7,8,9,10,56,57,13,52,
15,16,17,18,19,20,21,22,23,24,
- 25,26,27,28,29,0,0,32,2,68,
- 4,6,7,8,0,50,11,12,13,5,
- 59,0,62,63,55,0,1,60,3,0,
- 55,0,0,1,2,30,4,31,33,34,
- 35,36,37,38,39,40,41,42,43,44,
- 45,46,47,48,49,0,1,2,3,4,
- 5,0,0,31,9,10,0,5,54,14,
- 15,16,17,18,19,20,21,22,23,24,
- 25,26,27,28,29,0,0,1,0,75,
- 5,70,71,5,0,1,0,3,32,0,
- 0,0,1,2,3,4,5,0,0,0,
- 9,10,50,14,59,14,15,16,17,18,
- 19,20,21,22,23,24,25,26,27,28,
- 29,0,1,72,3,50,0,1,50,54,
- 32,32,0,0,0,0,60,0,1,2,
- 3,4,0,1,0,3,9,10,0,0,
- 59,14,15,16,17,18,19,20,21,22,
- 23,24,25,26,27,28,29,32,0,0,
- 73,0,0,0,32,0,32,0,0,0,
- 0,1,2,3,4,0,54,54,0,9,
- 10,0,0,56,14,15,16,17,18,19,
- 20,21,22,23,24,25,26,27,28,29,
- 32,32,32,0,1,2,3,4,0,31,
- 0,0,9,10,0,54,54,14,15,16,
- 17,18,19,20,21,22,23,24,25,26,
- 27,28,29,0,0,32,0,1,2,3,
- 4,60,0,0,0,9,10,0,0,0,
- 14,15,16,17,18,19,20,21,22,23,
- 24,25,26,27,28,29,0,0,32,0,
- 1,2,3,4,0,1,0,3,9,10,
- 31,0,0,14,15,16,17,18,19,20,
- 21,22,23,24,25,26,27,28,29,0,
- 1,2,3,4,0,1,32,3,9,10,
- 61,0,31,14,15,16,17,18,19,20,
- 21,22,23,24,25,26,27,28,29,0,
- 1,2,3,4,0,0,32,2,9,10,
- 0,0,61,14,15,16,17,18,19,20,
- 21,22,23,24,25,26,27,28,29,0,
- 1,2,3,4,0,0,31,0,9,10,
- 0,0,0,14,15,16,17,18,19,20,
- 21,22,23,24,25,26,27,28,29,0,
- 1,2,3,4,0,0,0,0,9,10,
- 0,0,0,14,15,16,17,18,19,20,
- 21,22,23,24,25,26,27,28,29,0,
- 1,2,3,4,0,0,0,0,9,10,
- 0,0,0,14,15,16,17,18,19,20,
- 21,22,23,24,25,26,27,28,29,0,
- 1,2,3,4,0,0,0,0,9,10,
- 0,0,0,14,15,16,17,18,19,20,
- 21,22,23,24,25,26,27,28,29,0,
- 0,2,0,4,5,6,7,8,0,0,
- 11,12,13,0,0,0,0,0,0,0,
- 0,0,0,1,2,0,4,0,0,30,
- 31,0,33,34,35,36,37,0,0,0,
- 0,2,0,4,5,6,7,8,0,50,
- 11,12,13,31,6,7,8,0,0,11,
- 12,13,0,0,0,2,0,4,0,30,
- 31,0,33,34,35,36,37,0,30,0,
- 0,33,34,35,36,37,6,7,8,50,
- 0,11,12,13,31,0,6,7,8,0,
- 0,11,12,13,0,0,0,0,0,0,
- 30,0,0,33,34,35,36,37,0,0,
- 30,0,0,33,34,35,36,37,6,7,
- 8,0,0,11,12,13,0,0,0,2,
- 2,0,5,0,0,0,0,0,0,0,
- 0,0,30,15,16,33,34,35,36,37,
- 0,0,0,0,0,0,0,0,31,31,
+ 0,31,0,28,29,30,0,1,2,3,
+ 4,0,6,7,8,9,10,59,0,13,
+ 0,15,16,17,18,19,20,21,22,23,
+ 24,61,0,31,28,29,30,0,1,2,
+ 3,4,73,6,7,8,9,10,0,31,
+ 13,0,15,16,17,18,5,20,21,22,
+ 23,24,0,61,0,28,29,30,0,1,
+ 2,3,4,0,6,7,8,9,10,59,
+ 0,13,0,15,16,17,18,0,20,21,
+ 22,23,24,0,1,2,28,29,30,0,
+ 1,2,3,4,72,6,7,8,9,10,
+ 0,38,13,0,15,16,17,18,38,20,
+ 21,22,23,24,0,0,75,28,29,30,
+ 0,1,2,3,4,0,6,7,8,9,
+ 10,0,0,13,0,15,16,17,18,0,
+ 20,21,22,23,24,0,1,2,28,29,
+ 30,0,1,2,3,4,0,6,7,8,
+ 9,10,0,0,13,0,15,16,17,18,
+ 38,20,21,22,23,24,0,0,0,28,
+ 29,30,0,1,2,3,4,72,6,7,
+ 8,9,10,0,69,13,19,15,16,17,
+ 18,0,20,21,22,23,24,0,0,0,
+ 28,29,30,0,1,2,3,4,0,6,
+ 7,8,9,10,0,69,13,19,15,16,
+ 17,18,0,20,21,22,23,24,0,0,
+ 0,28,29,30,0,0,2,0,4,5,
+ 11,12,5,14,0,11,12,0,14,2,
+ 0,0,5,0,25,26,27,0,0,25,
+ 26,27,5,0,0,31,32,33,34,35,
+ 36,37,19,39,11,12,39,14,31,0,
+ 0,2,0,4,0,0,39,5,25,26,
+ 27,11,12,0,14,32,33,34,35,36,
+ 37,0,0,0,19,25,26,27,0,52,
+ 31,0,32,33,34,35,36,37,0,11,
+ 12,39,14,0,0,0,2,4,4,0,
+ 19,0,0,25,26,27,11,12,0,14,
+ 32,33,34,35,36,37,0,0,19,0,
+ 25,26,27,69,0,31,0,32,33,34,
+ 35,36,37,79,80,81,82,83,84,85,
+ 86,87,88,0,0,19,0,0,0,1,
+ 2,0,59,5,11,12,0,14,11,12,
+ 0,14,11,12,0,14,0,0,25,26,
+ 27,0,25,26,27,0,25,26,27,31,
+ 5,0,11,12,0,14,19,39,0,1,
+ 2,0,4,0,0,0,25,26,27,0,
+ 1,2,0,4,0,0,0,0,0,0,
+ 19,0,19,38,0,0,0,0,0,31,
+ 0,0,0,0,0,0,0,0,0,0,
+ 31,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,50,0,0,
- 0,0,0,0,0,0,0,0,0,61,
+ 75,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,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,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;
@@ -569,129 +561,115 @@ public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UP
public interface TermAction {
public final static char termAction[] = {0,
- 1918,714,1594,717,1580,1,2130,2131,2132,1562,
- 1555,2240,431,2241,1587,1371,642,632,1928,1929,
- 1930,1931,1477,1447,2227,2228,2229,577,419,388,
- 2080,1918,1918,2081,2079,2133,2082,2078,2085,2090,
- 2089,2087,2088,2086,2091,2092,2084,2093,2094,2095,
- 88,1252,1230,1201,1918,1,1918,1,1918,190,
- 1,1,1,247,1918,1,1,1,1282,1,
- 1,1,54,51,1,1,1,1918,2142,1184,
- 1918,1347,772,481,1,58,1918,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,752,1,1,1,42,190,
- 2113,1918,1,209,1,1918,190,1,1,1,
- 1918,1902,1,1,1,66,2130,2131,2132,1409,
- 1419,2240,431,2241,1,1912,1200,1918,1947,1923,
- 1948,1,1409,1419,1,1,1,1,1,1,
+ 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,
1,1,1,1,1,1,1,1,1,1,
- 1,70,1,1,1,554,190,2113,1918,1,
- 1918,1,64,190,1,1,1,981,1918,1,
- 1,1,1060,62,1922,59,1299,961,941,921,
- 901,881,841,861,821,801,781,583,1,57,
- 1918,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,71,1,
- 1,1,1918,190,2113,1918,1,1918,1,1918,
- 189,1,1,1,248,611,1,1,1,1,
- 1,1,1,61,1927,1,1,1,56,1394,
- 1383,1335,1208,720,518,1,1409,1419,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1918,1,1,1,317,
- 189,2113,1918,1,68,1,55,190,1,1,
- 1,246,611,1,1,1,732,2130,2131,2132,
- 60,268,2240,431,2241,1409,1419,1394,1383,1335,
- 1208,1253,1,1918,1926,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,554,1,1,1,1918,190,2113,1918,
- 2097,1,2096,1409,1419,2130,2131,2132,249,72,
- 2240,431,2241,53,2130,2131,2132,1164,321,2240,
- 431,2241,772,481,1394,1383,1335,1208,267,2080,
- 1436,1918,2081,2079,2133,2082,2078,2085,2090,2089,
- 2087,2088,2086,2091,2092,2084,2093,2094,2095,1903,
- 1252,1230,1201,1,1935,1594,1936,1513,1921,554,
- 1918,2173,1562,1555,1,2142,1184,1587,1371,642,
- 632,1928,1929,1930,1931,1477,1447,2227,2228,2229,
- 577,419,388,674,250,1918,398,1817,1918,48,
- 2130,2131,2132,1686,50,2240,431,2241,1686,1918,
- 1935,1594,1936,1528,1921,1,2142,1184,1562,1555,
- 1918,200,1920,1587,1371,642,632,1928,1929,1930,
- 1931,1477,1447,2227,2228,2229,577,419,388,1021,
- 49,1918,1098,52,1686,1,1921,1,1918,1918,
- 90,1282,772,481,1925,1,1935,1594,1936,1580,
- 27,1672,1651,1136,1562,1555,1672,1651,1920,1587,
- 1371,642,632,1928,1929,1930,1931,1477,1447,2227,
- 2228,2229,577,419,388,128,262,1544,1426,1117,
- 1,2130,2131,2132,1918,90,2240,431,2241,1927,
- 1920,63,1672,1651,1924,206,2098,2173,2099,1918,
- 27,1918,259,2142,1200,2080,1,554,2081,2079,
- 2133,2082,2078,2085,2090,2089,2087,2088,2086,2091,
- 2092,2084,2093,2094,2095,1918,1935,1594,1936,1580,
- 1921,67,1918,554,1562,1555,315,1923,1327,1587,
- 1371,642,632,1928,1929,1930,1931,1477,1447,2227,
- 2228,2229,577,419,388,1918,1,1915,1,1926,
- 1923,720,518,1923,1918,2098,1918,2099,1253,65,
- 1918,1918,1935,1594,1936,1521,1921,69,313,41,
- 1562,1555,1922,1299,1920,1587,1371,642,632,1928,
- 1929,1930,1931,1477,1447,2227,2228,2229,577,419,
- 388,205,1160,583,1160,1922,1918,2154,1922,1738,
- 1253,1253,253,28,1918,1918,2173,1918,1,1,
- 1,1,1918,2098,187,2099,1,1,1918,1918,
- 1920,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1253,1918,1918,
- 1164,28,205,1918,1323,1918,1437,1918,186,188,
- 1918,1935,1594,1936,1580,1918,1596,534,218,1562,
- 1555,1,1918,2226,1587,1371,642,632,1928,1929,
- 1930,1931,1477,1447,2227,2228,2229,577,419,388,
- 1541,1542,1253,1,1935,1594,1936,1580,1918,554,
- 1918,1918,1562,1555,1918,1945,2920,1587,1371,642,
- 632,1928,1929,1930,1931,1477,1447,2227,2228,2229,
- 577,419,388,1918,1918,1544,1918,1935,1594,1936,
- 1580,2172,1918,1918,1918,1562,1555,1918,1918,1918,
- 1587,1371,642,632,1928,1929,1930,1931,1477,1447,
- 2227,2228,2229,577,419,388,1918,1918,1544,1918,
- 1935,1594,1936,1580,1918,2098,1918,2099,1562,1555,
- 1041,285,1918,1587,1371,642,632,1928,1929,1930,
- 1931,1477,1447,2227,2228,2229,577,419,388,1918,
- 1935,1598,1936,1580,1918,2098,1324,2099,1562,1555,
- 1471,1918,1079,1587,1371,642,632,1928,1929,1930,
- 1931,1477,1447,2227,2228,2229,577,419,388,1918,
- 1935,1602,1936,1580,1918,220,1346,1611,1562,1555,
- 1918,1918,1608,1587,1371,642,632,1928,1929,1930,
- 1931,1477,1447,2227,2228,2229,577,419,388,1918,
- 1935,1606,1936,1580,1918,1918,554,1918,1562,1555,
- 1918,1918,1918,1587,1371,642,632,1928,1929,1930,
- 1931,1477,1447,2227,2228,2229,577,419,388,1918,
- 1935,1637,1936,1580,1918,1918,1918,1918,1562,1555,
- 1918,1918,1918,1587,1371,642,632,1928,1929,1930,
- 1931,1477,1447,2227,2228,2229,577,419,388,1918,
- 1935,1641,1936,1580,1918,1918,1918,1918,1562,1555,
- 1918,1918,1918,1587,1371,642,632,1928,1929,1930,
- 1931,1477,1447,2227,2228,2229,577,419,388,1,
- 1935,1594,1936,1580,1918,1918,1918,1918,1562,1555,
- 1918,1918,1918,1587,1371,642,632,1928,1929,1930,
- 1931,1477,1447,2227,2228,2229,577,419,388,17,
- 1918,1906,1918,1906,1906,179,179,179,1918,1918,
- 179,179,179,1918,1918,1918,1918,1918,1918,1918,
- 1918,1918,265,2142,1200,1918,1347,1918,1918,179,
- 1906,1918,179,179,179,179,179,1918,1918,18,
- 1918,1909,1918,1909,1909,178,178,178,129,1906,
- 178,178,178,554,2130,2131,2132,1918,1918,2240,
- 431,2241,1918,265,1918,1426,1918,1347,1918,178,
- 1909,1918,178,178,178,178,178,1918,2080,1918,
- 130,2081,2079,2133,2082,2078,2130,2131,2132,1909,
- 131,2240,431,2241,554,1918,2130,2131,2132,1918,
- 1918,2240,431,2241,1918,1918,1918,1918,1918,1918,
- 2080,1918,1918,2081,2079,2133,2082,2078,1918,1918,
- 2080,1918,132,2081,2079,2133,2082,2078,2130,2131,
- 2132,1918,1918,2240,431,2241,1918,1,31,1426,
- 1814,1918,1923,1918,1918,1918,1918,1918,1918,1918,
- 1918,1918,2080,1942,1943,2081,2079,2133,2082,2078,
- 1918,1918,1918,1918,1918,1918,1918,1918,554,1816,
- 1918,1918,1918,1918,1918,1918,1918,1918,1918,1918,
- 1918,1918,1918,1918,1918,1918,1918,1922,1918,1918,
- 1918,1918,1918,1918,1918,1918,1918,1918,1918,531,
- 1918,1918,1918,1918,1918,1918,1918,1918,1918,1918,
- 1918,1918,1918,1918,417
+ 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
};
};
public final static char termAction[] = TermAction.termAction;
@@ -699,29 +677,29 @@ public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UP
public interface Asb {
public final static char asb[] = {0,
- 463,1,168,41,168,168,168,168,168,168,
- 168,168,168,168,168,168,3,55,378,375,
- 382,380,388,386,390,389,392,391,10,168,
- 55,55,55,55,55,360,360,487,168,240,
- 240,315,55,168,168,168,168,168,168,168,
- 168,168,168,168,168,168,168,168,168,168,
- 168,168,168,168,168,168,168,168,168,168,
- 168,168,168,240,240,240,240,240,240,45,
- 135,319,159,327,238,237,287,48,299,299,
- 155,155,299,155,299,75,191,191,375,375,
- 380,380,380,380,378,378,386,382,382,389,
- 388,424,391,390,363,363,363,363,157,133,
- 315,307,162,45,98,106,240,426,330,106,
- 403,254,403,254,321,403,168,133,307,98,
- 98,45,105,159,240,313,75,239,332,45,
- 106,254,254,254,254,321,321,323,251,133,
- 98,307,168,168,45,106,327,419,418,319,
- 332,240,254,284,243,254,254,284,323,458,
- 323,321,284,131,461,360,168,250,133,307,
- 45,45,240,426,330,313,284,245,284,284,
- 168,360,323,135,45,360,168,323,332,399,
- 168,398,187,319,284,45,284,240,239,245,
- 168,187,361
+ 133,1,206,98,206,206,206,206,206,206,
+ 206,206,206,206,206,206,60,10,80,77,
+ 84,82,90,88,92,91,94,93,66,206,
+ 10,10,10,10,10,418,418,459,206,304,
+ 304,339,10,206,206,206,206,206,206,206,
+ 206,206,206,206,206,206,206,206,206,206,
+ 206,206,206,206,206,206,206,206,206,206,
+ 206,206,206,304,304,304,304,304,304,102,
+ 109,343,197,385,302,301,311,3,323,129,
+ 323,129,129,323,129,323,30,255,77,77,
+ 82,82,82,82,80,80,88,84,84,91,
+ 90,490,93,92,157,157,157,157,131,382,
+ 131,339,343,200,102,53,230,304,427,388,
+ 230,129,418,418,129,418,206,382,107,343,
+ 331,53,102,229,197,304,337,30,303,390,
+ 102,230,131,352,131,421,107,331,331,206,
+ 206,102,230,385,485,484,343,390,304,131,
+ 352,421,421,423,308,331,53,102,102,304,
+ 427,388,337,352,382,345,352,421,423,492,
+ 423,382,105,495,418,206,307,53,331,390,
+ 352,347,423,382,206,418,60,109,102,418,
+ 206,331,304,303,382,193,206,192,225,343,
+ 382,102,419,347,206,225
};
};
public final static char asb[] = Asb.asb;
@@ -729,58 +707,56 @@ public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UP
public interface Asr {
public final static byte asr[] = {0,
- 89,0,75,31,2,61,76,15,16,14,
- 4,9,10,62,63,57,58,64,65,66,
- 67,70,71,72,73,74,77,78,55,69,
- 79,80,81,82,83,85,84,86,87,88,
- 68,50,89,54,59,5,0,5,68,54,
- 59,50,75,31,17,18,19,20,21,2,
- 15,16,14,4,9,10,22,23,24,25,
- 26,27,28,29,3,1,51,52,53,46,
- 38,43,41,42,40,39,44,45,47,48,
- 49,37,34,30,33,36,35,6,7,8,
- 12,11,13,0,30,59,5,15,16,14,
- 4,9,10,22,23,17,27,28,29,2,
- 1,3,18,19,20,21,24,25,26,0,
- 5,55,31,61,15,16,14,4,9,10,
- 22,23,17,27,28,29,2,18,19,20,
- 21,24,25,26,1,3,32,0,59,5,
- 30,6,7,8,11,12,13,18,19,20,
- 21,24,25,26,3,15,16,14,9,10,
- 22,23,17,27,28,29,4,2,1,0,
- 7,30,37,8,36,35,34,6,33,11,
- 12,13,61,76,15,16,14,9,10,62,
- 63,57,58,64,65,66,67,70,71,72,
- 73,74,77,78,69,79,80,81,82,83,
- 84,85,86,87,88,4,2,31,54,50,
- 5,0,75,5,4,1,2,68,0,69,
- 31,61,0,33,38,6,39,51,34,40,
- 35,41,42,36,7,43,44,30,52,37,
- 53,45,46,8,47,48,49,1,3,11,
- 12,13,56,55,5,0,46,38,43,41,
- 42,40,39,44,45,47,48,49,68,75,
- 37,34,30,33,36,35,6,7,8,11,
- 12,13,54,1,5,50,2,31,4,0,
- 1,3,5,55,54,0,4,2,31,50,
- 5,33,38,6,39,51,34,40,35,41,
- 42,36,7,43,44,30,52,37,53,45,
- 46,8,47,48,49,11,12,13,60,3,
- 1,0,69,79,80,81,82,83,84,85,
- 86,87,88,32,4,62,63,9,10,58,
- 57,64,65,66,67,70,71,14,72,73,
- 74,59,50,55,89,77,78,68,75,5,
- 54,0,33,6,34,35,36,7,30,37,
- 8,1,4,11,12,13,32,2,5,54,
- 50,75,31,68,0,33,38,6,39,51,
- 34,40,35,41,42,36,7,43,44,30,
- 52,37,53,45,46,8,47,48,49,1,
- 3,11,12,13,60,4,0,5,54,55,
- 69,0,17,18,19,20,21,1,3,2,
- 15,16,14,4,9,10,22,23,24,25,
- 26,27,28,29,56,0,5,50,17,18,
- 19,20,21,1,3,2,15,16,14,4,
- 9,10,22,23,24,25,26,27,28,29,
- 0
+ 89,0,5,68,38,58,39,75,31,13,
+ 15,16,17,18,2,9,10,8,4,6,
+ 7,20,21,22,23,24,28,29,30,1,
+ 3,53,54,55,48,40,45,43,44,42,
+ 41,46,47,49,50,51,37,34,32,33,
+ 36,35,11,12,14,26,25,27,0,31,
+ 2,61,76,9,10,69,79,80,81,82,
+ 83,85,84,86,87,88,4,62,63,6,
+ 7,57,56,64,65,66,67,70,71,8,
+ 72,73,74,52,75,77,78,68,39,89,
+ 38,58,5,0,5,52,31,61,9,10,
+ 8,4,6,7,20,21,13,28,29,30,
+ 2,15,16,17,18,22,23,24,1,3,
+ 19,0,13,15,16,17,18,1,3,2,
+ 9,10,8,4,6,7,20,21,22,23,
+ 24,28,29,30,60,0,8,4,6,7,
+ 62,63,56,57,64,65,66,67,70,71,
+ 72,73,74,77,78,69,79,80,81,82,
+ 83,84,85,86,87,88,58,39,52,89,
+ 19,68,75,5,38,0,58,5,32,11,
+ 12,14,25,26,27,15,16,17,18,22,
+ 23,24,3,9,10,8,6,7,20,21,
+ 13,28,29,30,4,2,1,0,32,58,
+ 5,9,10,8,4,6,7,20,21,13,
+ 28,29,30,2,1,3,15,16,17,18,
+ 22,23,24,0,12,32,37,14,36,35,
+ 34,11,33,25,26,27,61,76,9,10,
+ 8,6,7,62,63,56,57,64,65,66,
+ 67,70,71,72,73,74,77,78,69,79,
+ 80,81,82,83,84,85,86,87,88,4,
+ 2,31,38,39,5,0,69,31,61,0,
+ 48,40,45,43,44,42,41,46,47,49,
+ 50,51,68,75,37,34,32,33,36,35,
+ 11,12,14,25,26,27,38,1,5,39,
+ 2,31,4,0,75,5,4,1,2,68,
+ 0,33,40,11,41,53,34,42,35,43,
+ 44,36,12,45,46,32,54,37,55,47,
+ 48,14,49,50,51,1,3,25,26,27,
+ 60,5,52,0,4,2,31,39,5,33,
+ 40,11,41,53,34,42,35,43,44,36,
+ 12,45,46,32,54,37,55,47,48,14,
+ 49,50,51,25,26,27,59,3,1,0,
+ 1,3,5,52,38,0,4,33,40,11,
+ 41,53,34,42,35,43,44,36,12,45,
+ 46,32,54,37,55,47,48,14,49,50,
+ 51,1,3,25,26,27,59,0,5,39,
+ 13,15,16,17,18,1,3,2,9,10,
+ 8,4,6,7,20,21,22,23,24,28,
+ 29,30,0,2,5,38,39,75,31,68,
+ 0,5,38,52,69,0
};
};
public final static byte asr[] = Asr.asr;
@@ -788,29 +764,29 @@ public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UP
public interface Nasb {
public final static byte nasb[] = {0,
- 82,8,17,8,17,17,17,17,17,17,
- 17,17,17,17,17,17,8,66,8,8,
- 8,8,8,8,8,8,8,8,8,17,
- 66,66,66,66,66,9,9,89,67,64,
- 64,59,1,17,17,17,17,17,17,17,
- 17,17,17,17,17,17,17,17,17,67,
- 17,17,17,17,17,17,17,17,17,17,
- 17,17,17,64,64,64,64,64,64,21,
- 17,72,19,58,23,23,44,11,45,45,
- 38,38,45,38,45,40,8,8,8,8,
- 8,8,8,8,8,8,8,8,8,8,
- 8,8,8,8,8,8,8,8,8,80,
- 60,80,16,21,50,20,64,70,63,20,
- 8,80,8,80,80,8,17,16,80,50,
- 50,21,20,29,64,32,2,8,79,21,
- 20,80,74,80,74,38,80,25,13,80,
- 50,29,17,17,21,20,31,23,23,72,
- 79,64,74,27,47,85,74,27,25,8,
- 8,38,27,15,8,38,17,56,16,29,
- 21,21,64,70,63,33,27,52,27,27,
- 17,38,25,17,21,38,17,25,78,48,
- 17,8,52,72,27,21,27,64,64,52,
- 17,35,8
+ 36,35,26,35,26,26,26,26,26,26,
+ 26,26,26,26,26,26,35,105,35,35,
+ 35,35,35,35,35,35,35,35,35,26,
+ 105,105,105,105,105,66,66,109,106,87,
+ 87,90,1,26,26,26,26,26,26,26,
+ 26,26,26,26,26,26,26,26,26,106,
+ 26,26,26,26,26,26,26,26,26,26,
+ 26,26,26,87,87,87,87,87,87,48,
+ 9,39,46,89,44,44,58,17,59,19,
+ 59,62,62,59,61,59,53,35,35,35,
+ 35,35,35,35,35,35,35,35,35,35,
+ 35,35,35,35,10,10,10,10,10,73,
+ 35,112,35,50,48,124,47,87,94,86,
+ 47,7,7,7,7,7,26,103,73,35,
+ 79,124,48,47,42,87,69,28,35,96,
+ 48,47,15,73,35,73,24,79,73,26,
+ 26,48,47,68,44,44,39,96,87,35,
+ 120,73,7,64,13,73,124,48,48,87,
+ 94,86,75,73,103,83,99,7,64,35,
+ 35,103,23,35,7,26,81,124,42,116,
+ 120,71,64,103,26,7,21,25,48,7,
+ 26,42,87,87,103,84,26,35,71,39,
+ 103,48,35,71,26,77
};
};
public final static byte nasb[] = Nasb.nasb;
@@ -818,16 +794,19 @@ public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UP
public interface Nasr {
public final static char nasr[] = {0,
- 4,79,78,77,76,75,74,0,71,0,
- 94,0,91,0,69,7,4,0,7,4,
- 22,0,29,0,54,0,31,0,23,0,
- 20,7,48,47,40,38,0,32,0,64,
- 65,66,67,55,33,0,7,70,0,61,
- 0,7,40,38,0,93,0,20,7,48,
- 47,0,7,20,0,27,7,30,0,7,
- 21,52,0,59,7,27,0,88,21,7,
- 0,7,85,0,7,27,51,0,7,86,
- 0
+ 80,78,77,68,76,75,1,0,5,34,
+ 32,0,100,0,92,0,103,0,91,0,
+ 98,0,88,10,34,5,0,80,79,78,
+ 77,68,76,75,0,10,89,0,30,54,
+ 0,23,0,29,0,10,5,22,0,5,
+ 10,0,68,63,64,65,66,56,35,0,
+ 94,69,0,62,0,73,0,21,51,50,
+ 42,40,10,0,51,50,42,40,30,0,
+ 102,0,10,72,0,10,21,0,21,50,
+ 51,10,0,30,54,10,27,0,10,33,
+ 70,0,46,0,33,10,31,0,10,90,
+ 0,51,50,30,0,95,10,27,0,82,
+ 10,33,0,59,0
};
};
public final static char nasr[] = Nasr.nasr;
@@ -835,12 +814,12 @@ public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UP
public interface TerminalIndex {
public final static char terminalIndex[] = {0,
- 85,2,86,9,87,48,64,76,10,11,
- 96,97,98,8,6,7,68,81,82,83,
- 84,12,13,93,94,95,100,101,102,69,
- 1,3,44,55,60,63,72,47,52,56,
- 61,62,66,67,74,75,78,79,80,90,
- 54,70,73,42,91,107,16,17,89,30,
+ 85,2,86,9,87,10,11,8,6,7,
+ 48,64,68,76,81,82,83,84,3,12,
+ 13,93,94,95,96,97,98,100,101,102,
+ 1,69,44,55,60,63,72,42,90,47,
+ 52,56,61,62,66,67,74,75,78,79,
+ 80,91,54,70,73,16,17,89,30,107,
4,14,15,18,19,20,21,29,31,22,
23,24,25,26,92,5,27,28,32,33,
34,35,36,37,38,39,40,41,108,45,
@@ -853,18 +832,20 @@ public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UP
public interface NonterminalIndex {
public final static char nonterminalIndex[] = {0,
- 0,0,0,115,119,120,0,121,122,123,
- 124,125,126,127,128,129,130,131,132,111,
- 136,110,143,0,0,0,154,0,163,114,
- 112,135,142,0,0,0,159,161,0,162,
- 0,0,0,117,134,172,173,174,0,151,
- 153,160,169,0,145,150,0,0,152,164,
- 167,168,171,146,147,148,149,158,175,113,
- 116,118,133,137,138,139,140,141,144,156,
- 0,0,157,166,109,0,155,165,170,176,
- 177,0,178,179,0,0,0,0,0,0,
+ 114,0,0,0,116,120,121,122,123,0,
+ 124,125,126,127,128,129,130,131,0,132,
+ 111,110,142,0,0,0,135,0,163,0,
+ 115,119,154,0,141,0,0,0,159,161,
+ 0,162,0,0,0,112,118,134,172,173,
+ 174,0,150,160,169,144,0,164,167,168,
+ 171,0,145,146,147,148,149,151,0,153,
+ 158,113,117,133,136,137,138,139,140,143,
+ 0,152,156,0,0,157,166,176,109,0,
+ 0,0,155,0,165,170,175,0,177,178,
+ 0,179,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,
- 0,0,0,0,0,0,0,0,0,0
+ 0
};
};
public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex;
@@ -872,12 +853,11 @@ public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UP
public interface ScopePrefix {
public final static char scopePrefix[] = {
- 214,118,57,67,125,145,151,188,26,33,
- 85,103,157,162,73,6,12,16,38,81,
- 50,135,210,229,233,50,50,197,50,1,
- 1,1,42,45,90,113,45,237,20,139,
- 204,179,204,131,167,167,167,167,167,93,
- 93,93
+ 120,151,130,59,69,159,26,186,35,87,
+ 105,75,6,12,16,40,83,52,141,208,
+ 215,219,52,52,195,52,1,1,1,44,
+ 47,92,115,47,223,20,145,202,202,177,
+ 137,165,165,165,165,165,95,95,95
};
};
public final static char scopePrefix[] = ScopePrefix.scopePrefix;
@@ -885,12 +865,11 @@ public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UP
public interface ScopeSuffix {
public final static char scopeSuffix[] = {
- 31,31,4,4,31,31,31,194,31,10,
- 4,10,31,31,78,10,10,10,10,4,
- 4,133,10,10,4,54,78,201,63,4,
- 4,4,10,48,4,10,116,10,23,142,
- 207,182,222,133,169,171,173,175,177,100,
- 95,108
+ 128,128,128,4,4,128,32,192,10,4,
+ 10,80,10,10,10,10,4,4,139,10,
+ 10,4,56,80,199,65,4,4,4,10,
+ 50,4,10,118,10,23,148,205,212,180,
+ 139,167,169,171,173,175,102,97,110
};
};
public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix;
@@ -898,12 +877,11 @@ public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UP
public interface ScopeLhs {
public final static char scopeLhs[] = {
- 4,66,29,29,66,64,64,101,56,49,
- 29,43,64,64,29,5,5,5,49,29,
- 29,51,5,4,4,29,29,18,29,94,
- 93,92,47,63,29,40,50,2,69,51,
- 6,102,4,51,78,77,76,75,74,43,
- 41,43
+ 65,63,65,29,29,63,32,111,52,29,
+ 45,29,6,6,6,52,29,29,70,6,
+ 5,5,29,29,19,29,103,102,101,50,
+ 61,29,42,53,3,88,70,7,5,112,
+ 70,79,78,77,76,75,45,43,45
};
};
public final static char scopeLhs[] = ScopeLhs.scopeLhs;
@@ -911,12 +889,11 @@ public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UP
public interface ScopeLa {
public final static byte scopeLa[] = {
- 55,55,59,59,55,55,55,95,55,50,
- 59,50,55,55,18,50,50,50,50,59,
- 59,75,50,50,59,4,18,68,30,59,
- 59,59,50,2,59,50,1,50,69,1,
- 50,101,50,75,3,51,52,52,46,2,
- 2,2
+ 52,52,52,58,58,52,52,95,39,58,
+ 39,15,39,39,39,39,58,58,75,39,
+ 39,58,4,15,68,32,58,58,58,39,
+ 2,58,39,1,39,69,1,39,39,101,
+ 75,1,53,54,54,48,2,2,2
};
};
public final static byte scopeLa[] = ScopeLa.scopeLa;
@@ -924,12 +901,11 @@ public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UP
public interface ScopeStateSet {
public final static byte scopeStateSet[] = {
- 36,21,25,25,21,21,21,-1,96,29,
- 25,11,21,21,25,36,36,36,29,25,
- 25,5,36,36,36,25,25,70,25,19,
- 1,3,29,31,25,11,13,36,97,5,
- 42,-1,36,5,22,22,22,22,22,11,
- 11,11
+ 29,29,29,33,33,29,19,-1,37,33,
+ 9,33,44,44,44,37,33,33,5,44,
+ 44,44,33,33,78,33,17,1,3,37,
+ 39,33,9,11,44,105,5,50,44,-1,
+ 5,30,30,30,30,30,9,9,9
};
};
public final static byte scopeStateSet[] = ScopeStateSet.scopeStateSet;
@@ -937,30 +913,29 @@ public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UP
public interface ScopeRhs {
public final static char scopeRhs[] = {0,
- 152,31,0,110,0,151,2,29,0,111,
- 0,151,2,28,0,151,2,27,0,197,
- 114,0,31,150,0,161,179,114,32,0,
- 112,0,167,114,2,154,0,167,114,2,
- 0,170,2,0,159,114,0,172,0,191,
- 114,31,0,9,110,0,126,30,191,114,
- 31,0,69,132,110,0,126,191,114,30,
- 31,0,191,114,30,31,0,132,110,0,
- 126,30,31,0,126,191,114,31,0,126,
- 31,0,147,0,2,0,165,111,0,2,
- 111,0,167,114,2,147,0,2,0,164,
- 111,0,157,2,0,159,0,161,189,114,
- 32,139,51,0,161,189,114,32,51,0,
- 134,0,113,0,194,114,134,0,114,134,
- 0,155,113,0,165,114,32,139,53,0,
- 165,114,32,139,52,0,165,114,32,53,
- 0,165,114,32,52,0,186,0,149,0,
- 148,0,147,0,146,0,145,0,204,94,
- 0,77,2,114,111,113,0,204,127,137,
- 2,98,0,53,0,0,137,78,124,0,
- 29,131,0,151,2,0,111,120,0,151,
- 2,17,0,161,179,114,32,127,151,2,
- 0,111,3,0,118,0,112,0,193,2,
- 111,0,137,31,111,0,137,2,0
+ 155,31,0,110,0,154,2,30,0,111,
+ 0,154,2,29,0,154,2,28,0,206,
+ 117,0,31,149,0,169,204,117,19,141,
+ 0,112,0,0,165,117,2,157,0,165,
+ 117,2,0,168,2,0,161,117,0,172,
+ 0,194,117,31,0,9,110,0,127,32,
+ 194,117,31,0,69,132,110,0,127,194,
+ 117,32,31,0,194,117,32,31,0,132,
+ 110,0,127,32,31,0,127,194,117,31,
+ 0,127,31,0,149,0,2,0,165,111,
+ 0,2,111,0,165,117,2,149,0,2,
+ 0,164,111,0,160,2,0,159,0,169,
+ 192,117,19,108,201,53,0,112,0,169,
+ 192,117,19,201,53,0,140,0,113,0,
+ 200,117,140,0,117,140,0,155,113,0,
+ 188,117,19,199,108,198,175,0,188,117,
+ 19,198,175,0,187,0,148,0,147,0,
+ 146,0,145,0,144,0,214,94,0,77,
+ 2,115,111,113,0,214,128,138,2,98,
+ 0,53,0,0,138,78,125,0,29,132,
+ 0,154,2,0,111,121,0,154,2,13,
+ 0,111,119,0,197,2,112,0,138,31,
+ 112,0,138,2,0
};
};
public final static char scopeRhs[] = ScopeRhs.scopeRhs;
@@ -968,16 +943,17 @@ public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UP
public interface ScopeState {
public final static char scopeState[] = {0,
- 1285,0,514,0,1723,1786,1710,1706,1701,0,
- 1536,1232,1327,1184,1276,1200,1156,0,431,0,
- 1231,574,361,0,1610,1161,1158,601,1232,1416,
- 1200,1156,1426,1491,0,1371,642,632,577,419,
- 388,1528,1521,1513,1693,611,398,583,1164,720,
- 518,1299,1419,1409,1394,1383,1335,1208,1686,1672,
- 1651,772,481,1587,1580,1562,1555,1477,1447,1117,
- 1098,1079,1060,1041,1021,1001,490,1136,694,674,
- 554,981,961,941,921,901,881,861,841,821,
- 801,781,361,752,654,732,461,534,441,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
};
};
public final static char scopeState[] = ScopeState.scopeState;
@@ -985,29 +961,29 @@ public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UP
public interface InSymb {
public final static char inSymb[] = {0,
- 0,192,114,180,29,28,27,17,23,22,
- 10,9,4,14,16,15,111,2,116,115,
- 118,117,120,119,122,121,124,123,112,54,
- 2,2,2,2,2,76,61,2,31,151,
- 137,134,114,10,9,63,62,4,67,66,
- 65,64,57,58,14,71,70,73,72,78,
+ 0,196,117,181,30,29,28,13,21,20,
+ 7,6,4,8,10,9,112,2,116,115,
+ 119,118,121,120,123,122,125,124,113,38,
+ 2,2,2,2,2,76,61,2,31,154,
+ 138,140,117,7,6,63,62,4,67,66,
+ 65,64,56,57,8,71,70,73,72,78,
77,74,88,87,86,84,85,83,82,81,
- 80,79,69,151,151,151,151,151,193,137,
- 127,114,31,2,155,154,181,12,182,183,
- 53,52,184,51,185,186,1,3,115,115,
- 117,117,117,117,116,116,119,118,118,121,
- 120,137,123,122,127,127,127,127,127,32,
- 159,4,30,126,114,4,170,114,2,31,
- 139,32,139,32,32,139,68,114,4,114,
- 114,126,191,168,167,128,114,169,114,152,
- 4,32,114,32,114,114,32,179,114,32,
- 114,168,191,30,126,4,2,145,147,114,
- 54,167,114,165,134,166,114,165,189,139,
- 190,114,161,54,197,61,31,198,114,168,
- 126,126,157,114,2,159,165,114,165,161,
- 69,54,189,69,152,61,31,179,114,194,
- 68,157,2,114,161,152,161,167,195,54,
- 68,159,54
+ 80,79,69,154,154,154,154,154,197,138,
+ 128,117,31,2,158,157,182,26,183,175,
+ 184,55,54,185,53,186,187,108,115,115,
+ 118,118,118,118,116,116,120,119,119,122,
+ 121,138,124,123,128,128,128,128,128,19,
+ 141,161,137,32,127,117,4,168,117,2,
+ 31,198,176,176,201,176,68,117,19,137,
+ 4,117,127,194,166,165,134,117,167,117,
+ 155,4,108,19,108,19,117,4,137,194,
+ 32,127,4,2,147,149,117,38,165,199,
+ 117,19,117,204,117,137,117,127,127,160,
+ 117,2,161,19,188,140,189,117,192,108,
+ 193,169,38,206,61,31,207,117,166,117,
+ 117,117,192,169,69,38,153,69,155,61,
+ 31,166,165,202,188,200,68,160,2,117,
+ 169,155,38,38,68,161
};
};
public final static char inSymb[] = InSymb.inSymb;
@@ -1129,10 +1105,11 @@ public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UP
")",
"}",
";",
+ "identifier_token",
"expression",
"postfix_expression",
"member_name",
- "type_name",
+ "type_id",
"initializer_list",
"unary_expression",
"cast_expression",
@@ -1141,16 +1118,14 @@ public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UP
"shift_expression",
"relational_expression",
"equality_expression",
- "AND_expression",
- "exclusive_OR_expression",
- "inclusive_OR_expression",
- "logical_AND_expression",
- "logical_OR_expression",
- "conditional_expression",
+ "and_expression",
+ "exclusive_or_expression",
+ "inclusive_or_expression",
+ "logical_and_expression",
+ "logical_or_expression",
"assignment_expression",
"expression_list_actual",
"constant_expression",
- "identifier_or_typedefname",
"declaration_specifiers",
"simple_declaration_specifiers",
"struct_or_union_declaration_sp" +
@@ -1167,9 +1142,10 @@ public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UP
"struct_or_union_specifier",
"elaborated_specifier",
"enum_specifier",
- "typedef_name_in_declspec",
+ "type_name_specifier",
"initializer",
"declarator",
+ "struct_or_union",
"struct_declaration_list",
"struct_declaration",
"specifier_qualifier_list",
@@ -1195,6 +1171,7 @@ public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UP
"or",
"array_direct_abstract_declarat" +
"or",
+ "initializer_seq",
"designated_initializer",
"designation",
"designator_list",
@@ -1206,9 +1183,9 @@ public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UP
public final String name(int index) { return name[index]; }
public final static int
- ERROR_SYMBOL = 56,
- SCOPE_UBOUND = 51,
- SCOPE_SIZE = 52,
+ ERROR_SYMBOL = 60,
+ SCOPE_UBOUND = 48,
+ SCOPE_SIZE = 49,
MAX_NAME_LENGTH = 38;
public final int getErrorSymbol() { return ERROR_SYMBOL; }
@@ -1217,20 +1194,20 @@ public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UP
public final int getMaxNameLength() { return MAX_NAME_LENGTH; }
public final static int
- NUM_STATES = 223,
+ NUM_STATES = 226,
NT_OFFSET = 107,
- LA_STATE_OFFSET = 2278,
+ LA_STATE_OFFSET = 2307,
MAX_LA = 2,
- NUM_RULES = 360,
- NUM_NONTERMINALS = 120,
- NUM_SYMBOLS = 227,
+ NUM_RULES = 368,
+ NUM_NONTERMINALS = 131,
+ NUM_SYMBOLS = 238,
SEGMENT_SIZE = 8192,
- START_STATE = 1747,
+ START_STATE = 509,
IDENTIFIER_SYMBOL = 0,
EOFT_SYMBOL = 89,
EOLT_SYMBOL = 89,
- ACCEPT_ACTION = 1902,
- ERROR_ACTION = 1918;
+ ACCEPT_ACTION = 1926,
+ ERROR_ACTION = 1939;
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 c9c99f54e91..bc39f383e2b 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, 2008 IBM Corporation and others.
+* Copyright (c) 2006, 2009 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -18,65 +18,65 @@ public interface UPCExpressionParsersym {
TK_auto = 33,
TK_break = 90,
TK_case = 91,
- TK_char = 38,
- TK_const = 6,
+ TK_char = 40,
+ TK_const = 11,
TK_continue = 92,
TK_default = 93,
TK_do = 94,
- TK_double = 39,
+ TK_double = 41,
TK_else = 95,
- TK_enum = 51,
+ TK_enum = 53,
TK_extern = 34,
- TK_float = 40,
+ TK_float = 42,
TK_for = 96,
TK_goto = 97,
TK_if = 98,
TK_inline = 35,
- TK_int = 41,
- TK_long = 42,
+ TK_int = 43,
+ TK_long = 44,
TK_register = 36,
- TK_restrict = 7,
+ TK_restrict = 12,
TK_return = 99,
- TK_short = 43,
- TK_signed = 44,
- TK_sizeof = 17,
- TK_static = 30,
- TK_struct = 52,
+ TK_short = 45,
+ TK_signed = 46,
+ TK_sizeof = 13,
+ TK_static = 32,
+ TK_struct = 54,
TK_switch = 100,
TK_typedef = 37,
- TK_union = 53,
- TK_unsigned = 45,
- TK_void = 46,
- TK_volatile = 8,
+ TK_union = 55,
+ TK_unsigned = 47,
+ TK_void = 48,
+ TK_volatile = 14,
TK_while = 101,
- TK__Bool = 47,
- TK__Complex = 48,
- TK__Imaginary = 49,
- TK_integer = 18,
- TK_floating = 19,
- TK_charconst = 20,
- TK_stringlit = 21,
+ TK__Bool = 49,
+ TK__Complex = 50,
+ TK__Imaginary = 51,
+ TK_integer = 15,
+ TK_floating = 16,
+ TK_charconst = 17,
+ TK_stringlit = 18,
TK_identifier = 1,
TK_Completion = 3,
TK_EndOfCompletion = 5,
TK_Invalid = 102,
TK_LeftBracket = 31,
TK_LeftParen = 2,
- TK_LeftBrace = 32,
+ TK_LeftBrace = 19,
TK_Dot = 61,
TK_Arrow = 76,
- TK_PlusPlus = 15,
- TK_MinusMinus = 16,
- TK_And = 14,
+ TK_PlusPlus = 9,
+ TK_MinusMinus = 10,
+ TK_And = 8,
TK_Star = 4,
- TK_Plus = 9,
- TK_Minus = 10,
- TK_Tilde = 22,
- TK_Bang = 23,
+ TK_Plus = 6,
+ TK_Minus = 7,
+ TK_Tilde = 20,
+ TK_Bang = 21,
TK_Slash = 62,
TK_Percent = 63,
- TK_RightShift = 57,
- TK_LeftShift = 58,
+ TK_RightShift = 56,
+ TK_LeftShift = 57,
TK_LT = 64,
TK_GT = 65,
TK_LE = 66,
@@ -89,7 +89,7 @@ public interface UPCExpressionParsersym {
TK_OrOr = 77,
TK_Question = 78,
TK_Colon = 68,
- TK_DotDotDot = 60,
+ TK_DotDotDot = 59,
TK_Assign = 69,
TK_StarAssign = 79,
TK_SlashAssign = 80,
@@ -101,26 +101,26 @@ public interface UPCExpressionParsersym {
TK_AndAssign = 86,
TK_CaretAssign = 87,
TK_OrAssign = 88,
- TK_Comma = 54,
- TK_RightBracket = 59,
- TK_RightParen = 50,
- TK_RightBrace = 55,
+ TK_Comma = 38,
+ TK_RightBracket = 58,
+ TK_RightParen = 39,
+ TK_RightBrace = 52,
TK_SemiColon = 75,
- TK_MYTHREAD = 24,
- TK_THREADS = 25,
- TK_UPC_MAX_BLOCKSIZE = 26,
- TK_relaxed = 11,
- TK_shared = 12,
- TK_strict = 13,
+ TK_MYTHREAD = 22,
+ TK_THREADS = 23,
+ TK_UPC_MAX_BLOCKSIZE = 24,
+ TK_relaxed = 25,
+ TK_shared = 26,
+ TK_strict = 27,
TK_upc_barrier = 103,
- TK_upc_localsizeof = 27,
- TK_upc_blocksizeof = 28,
- TK_upc_elemsizeof = 29,
+ TK_upc_localsizeof = 28,
+ TK_upc_blocksizeof = 29,
+ TK_upc_elemsizeof = 30,
TK_upc_notify = 104,
TK_upc_fence = 105,
TK_upc_wait = 106,
TK_upc_forall = 107,
- TK_ERROR_TOKEN = 56,
+ TK_ERROR_TOKEN = 60,
TK_EOF_TOKEN = 89;
public final static String orderedTerminalSymbols[] = {
@@ -130,38 +130,40 @@ public interface UPCExpressionParsersym {
"Completion",
"Star",
"EndOfCompletion",
- "const",
- "restrict",
- "volatile",
"Plus",
"Minus",
- "relaxed",
- "shared",
- "strict",
"And",
"PlusPlus",
"MinusMinus",
+ "const",
+ "restrict",
"sizeof",
+ "volatile",
"integer",
"floating",
"charconst",
"stringlit",
+ "LeftBrace",
"Tilde",
"Bang",
"MYTHREAD",
"THREADS",
"UPC_MAX_BLOCKSIZE",
+ "relaxed",
+ "shared",
+ "strict",
"upc_localsizeof",
"upc_blocksizeof",
"upc_elemsizeof",
- "static",
"LeftBracket",
- "LeftBrace",
+ "static",
"auto",
"extern",
"inline",
"register",
"typedef",
+ "Comma",
+ "RightParen",
"char",
"double",
"float",
@@ -174,17 +176,15 @@ public interface UPCExpressionParsersym {
"_Bool",
"_Complex",
"_Imaginary",
- "RightParen",
+ "RightBrace",
"enum",
"struct",
"union",
- "Comma",
- "RightBrace",
- "ERROR_TOKEN",
"RightShift",
"LeftShift",
"RightBracket",
"DotDotDot",
+ "ERROR_TOKEN",
"Dot",
"Slash",
"Percent",
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 db15600741c..43338901f0f 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, 2008 IBM Corporation and others.
+* Copyright (c) 2006, 2009 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -17,24 +17,36 @@ import lpg.lpgjavaruntime.*;
import java.util.*;
import org.eclipse.cdt.core.dom.ast.*;
+import org.eclipse.cdt.core.dom.lrparser.IDOMTokenMap;
import org.eclipse.cdt.core.dom.lrparser.IParser;
-import org.eclipse.cdt.core.dom.lrparser.IParserActionTokenProvider;
+import org.eclipse.cdt.core.dom.lrparser.ITokenCollector;
+import org.eclipse.cdt.core.dom.lrparser.CPreprocessorAdapter;
+import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream;
import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser;
+import org.eclipse.cdt.core.dom.lrparser.action.ScopedStack;
+import org.eclipse.cdt.core.parser.IScanner;
+import org.eclipse.cdt.core.dom.parser.IBuiltinBindingsProvider;
+import org.eclipse.cdt.core.index.IIndex;
import org.eclipse.cdt.core.dom.lrparser.action.ITokenMap;
import org.eclipse.cdt.core.dom.lrparser.action.TokenMap;
+import org.eclipse.cdt.core.dom.lrparser.ISecondaryParser;
-import org.eclipse.cdt.core.dom.lrparser.action.c99.C99ASTNodeFactory;
+import org.eclipse.cdt.core.dom.lrparser.action.c99.CNodeFactory;
import org.eclipse.cdt.core.dom.lrparser.action.c99.C99BuildASTParserAction;
+import org.eclipse.cdt.core.dom.lrparser.action.c99.C99SecondaryParserFactory;
import org.eclipse.cdt.core.dom.parser.upc.UPCASTNodeFactory;
+import org.eclipse.cdt.core.dom.parser.upc.UPCSecondaryParserFactory;
import org.eclipse.cdt.core.dom.parser.upc.UPCParserAction;
import org.eclipse.cdt.core.dom.upc.ast.IUPCASTKeywordExpression;
import org.eclipse.cdt.core.dom.upc.ast.IUPCASTSynchronizationStatement;
import org.eclipse.cdt.core.dom.upc.ast.IUPCASTUnarySizeofExpression;
import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser;
-public class UPCNoCastExpressionParser extends PrsStream implements RuleAction , IParserActionTokenProvider, IParser
+public class UPCNoCastExpressionParser extends PrsStream implements RuleAction, ITokenStream,
+ ITokenCollector, IParser< IASTExpression >
+ , ISecondaryParser< IASTExpression >
{
private static ParseTable prs = new UPCNoCastExpressionParserprs();
private FixedBacktrackingParser btParser;
@@ -125,22 +137,22 @@ public class UPCNoCastExpressionParser extends PrsStream implements RuleAction ,
super.reportError((firsttok > lasttok ? ParseErrorCodes.INSERTION_CODE : ParseErrorCodes.SUBSTITUTION_CODE), location, msg);
}
- public Object parser()
+ public void parser()
{
- return parser(null, 0);
+ parser(null, 0);
}
- public Object parser(Monitor monitor)
+ public void parser(Monitor monitor)
{
- return parser(monitor, 0);
+ parser(monitor, 0);
}
- public Object parser(int error_repair_count)
+ public void parser(int error_repair_count)
{
- return parser(null, error_repair_count);
+ parser(null, error_repair_count);
}
- public Object parser(Monitor monitor, int error_repair_count)
+ public void parser(Monitor monitor, int error_repair_count)
{
try
{
@@ -158,7 +170,7 @@ public class UPCNoCastExpressionParser extends PrsStream implements RuleAction ,
try
{
- return (Object) btParser.parse(error_repair_count);
+ btParser.parse(error_repair_count);
}
catch (BadParseException e)
{
@@ -166,18 +178,26 @@ public class UPCNoCastExpressionParser extends PrsStream implements RuleAction ,
DiagnoseParser diagnoseParser = new DiagnoseParser(this, prs);
diagnoseParser.diagnose(e.error_token);
}
-
- return null;
}
private UPCParserAction action;
+private IASTCompletionNode compNode;
+
-public UPCNoCastExpressionParser() { // constructor
+public UPCNoCastExpressionParser(IScanner scanner, IDOMTokenMap tokenMap, IBuiltinBindingsProvider builtinBindingsProvider, IIndex index, Map<String,String> properties) {
+ initActions(properties);
+ action.initializeTranslationUnit(scanner, builtinBindingsProvider, index);
+ CPreprocessorAdapter.runCPreprocessor(scanner, this, tokenMap);
}
-private void initActions(IASTTranslationUnit tu) {
- action = new UPCParserAction ( UPCASTNodeFactory.DEFAULT_INSTANCE , this, tu);
+private void initActions(Map<String,String> properties) {
+ ScopedStack<Object> astStack = new ScopedStack<Object>();
+
+ action = new UPCParserAction (this, astStack, new UPCASTNodeFactory() , UPCSecondaryParserFactory.getDefault() );
+ action.setParserProperties(properties);
+
+
}
@@ -187,39 +207,35 @@ public void addToken(IToken token) {
}
-public IASTCompletionNode parse(IASTTranslationUnit tu) {
+public IASTExpression parse() {
// this has to be done, or... kaboom!
setStreamLength(getSize());
- initActions(tu);
final int errorRepairCount = -1; // -1 means full error handling
parser(null, errorRepairCount); // do the actual parse
super.resetTokenStream(); // allow tokens to be garbage collected
- // the completion node may be null
- IASTCompletionNode compNode = action.getASTCompletionNode();
+ compNode = action.getASTCompletionNode(); // the completion node may be null
+ return ( IASTExpression ) action.getParseResult();
+}
+
- //action = null;
- //parserAction = null;
+public IASTCompletionNode getCompletionNode() {
return compNode;
}
// uncomment this method to use with backtracking parser
-public List getRuleTokens() {
- return Collections.unmodifiableList(getTokens().subList(getLeftSpan(), getRightSpan() + 1));
-}
-
-
-public IASTNode getSecondaryParseResult() {
- return action.getSecondaryParseResult();
+public List<IToken> getRuleTokens() {
+ return getTokens().subList(getLeftSpan(), getRightSpan() + 1);
}
public String[] getOrderedTerminalSymbols() {
return UPCNoCastExpressionParsersym.orderedTerminalSymbols;
}
+@SuppressWarnings("nls")
public String getName() {
- return "UPCNoCastExpressionParser"; //$NON-NLS-1$
+ return "UPCNoCastExpressionParser";
}
@@ -236,12 +252,12 @@ public void setTokens(List<IToken> tokens) {
addToken(new Token(null, 0, 0, UPCNoCastExpressionParsersym.TK_EOF_TOKEN));
}
-public UPCNoCastExpressionParser(String[] mapFrom) { // constructor
- tokenMap = new TokenMap(UPCNoCastExpressionParsersym.orderedTerminalSymbols, mapFrom);
+public UPCNoCastExpressionParser(ITokenStream stream, Map<String,String> properties) { // constructor for creating secondary parser
+ initActions(properties);
+ tokenMap = new TokenMap(UPCNoCastExpressionParsersym.orderedTerminalSymbols, stream.getOrderedTerminalSymbols());
}
-
public void ruleAction(int ruleNumber)
{
switch (ruleNumber)
@@ -254,1287 +270,1293 @@ public UPCNoCastExpressionParser(String[] mapFrom) { // constructor
}
//
- // Rule 10: literal ::= integer
+ // Rule 2: <empty> ::= $Empty
//
- case 10: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_integer_constant); break;
+ case 2: { action. consumeEmpty(); break;
}
//
- // Rule 11: literal ::= floating
+ // Rule 13: literal ::= integer
//
- case 11: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_float_constant); break;
+ case 13: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_integer_constant); break;
}
//
- // Rule 12: literal ::= charconst
+ // Rule 14: literal ::= floating
//
- case 12: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_char_constant); break;
+ case 14: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_float_constant); break;
}
//
- // Rule 13: literal ::= stringlit
+ // Rule 15: literal ::= charconst
//
- case 13: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_string_literal); break;
+ case 15: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_char_constant); break;
}
//
- // Rule 15: primary_expression ::= primary_expression_id
+ // Rule 16: literal ::= stringlit
//
- case 15: { action. consumeExpressionID(); break;
+ case 16: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_string_literal); break;
}
//
- // Rule 16: primary_expression ::= ( expression )
+ // Rule 18: primary_expression ::= primary_expression_id
//
- case 16: { action. consumeExpressionBracketed(); break;
+ case 18: { action. consumeExpressionID(); break;
}
//
- // Rule 20: postfix_expression ::= postfix_expression [ expression ]
+ // Rule 19: primary_expression ::= ( expression )
//
- case 20: { action. consumeExpressionArraySubscript(); break;
+ case 19: { action. consumeExpressionBracketed(); break;
}
//
- // Rule 21: postfix_expression ::= postfix_expression ( expression_list_opt )
+ // Rule 22: postfix_expression ::= postfix_expression [ expression ]
//
- case 21: { action. consumeExpressionFunctionCall(); break;
+ case 22: { action. consumeExpressionArraySubscript(); break;
}
//
- // Rule 22: postfix_expression ::= postfix_expression . member_name
+ // Rule 23: postfix_expression ::= postfix_expression ( expression_list_opt )
//
- case 22: { action. consumeExpressionFieldReference(false); break;
+ case 23: { action. consumeExpressionFunctionCall(); break;
}
//
- // Rule 23: postfix_expression ::= postfix_expression -> member_name
+ // Rule 24: postfix_expression ::= postfix_expression . member_name
//
- case 23: { action. consumeExpressionFieldReference(true); break;
+ case 24: { action. consumeExpressionFieldReference(false); break;
}
//
- // Rule 24: postfix_expression ::= postfix_expression ++
+ // Rule 25: postfix_expression ::= postfix_expression -> member_name
//
- case 24: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break;
+ case 25: { action. consumeExpressionFieldReference(true); break;
}
//
- // Rule 25: postfix_expression ::= postfix_expression --
+ // Rule 26: postfix_expression ::= postfix_expression ++
//
- case 25: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break;
+ case 26: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break;
}
//
- // Rule 26: postfix_expression ::= ( type_name ) { <openscope-ast> initializer_list comma_opt }
+ // Rule 27: postfix_expression ::= postfix_expression --
//
- case 26: { action. consumeExpressionTypeIdInitializer(); break;
+ case 27: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break;
}
//
- // Rule 32: unary_expression ::= ++ unary_expression
+ // Rule 28: postfix_expression ::= ( type_id ) initializer_list
//
- case 32: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixIncr); break;
+ case 28: { action. consumeExpressionTypeIdInitializer(); break;
}
//
- // Rule 33: unary_expression ::= -- unary_expression
+ // Rule 33: unary_expression ::= ++ unary_expression
//
- case 33: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixDecr); break;
+ case 33: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixIncr); break;
}
//
- // Rule 34: unary_expression ::= & cast_expression
+ // Rule 34: unary_expression ::= -- unary_expression
//
- case 34: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_amper); break;
+ case 34: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixDecr); break;
}
//
- // Rule 35: unary_expression ::= * cast_expression
+ // Rule 35: unary_expression ::= & cast_expression
//
- case 35: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_star); break;
+ case 35: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_amper); break;
}
//
- // Rule 36: unary_expression ::= + cast_expression
+ // Rule 36: unary_expression ::= * cast_expression
//
- case 36: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_plus); break;
+ case 36: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_star); break;
}
//
- // Rule 37: unary_expression ::= - cast_expression
+ // Rule 37: unary_expression ::= + cast_expression
//
- case 37: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_minus); break;
+ case 37: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_plus); break;
}
//
- // Rule 38: unary_expression ::= ~ cast_expression
+ // Rule 38: unary_expression ::= - cast_expression
//
- case 38: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_tilde); break;
+ case 38: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_minus); break;
}
//
- // Rule 39: unary_expression ::= ! cast_expression
+ // Rule 39: unary_expression ::= ~ cast_expression
//
- case 39: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_not); break;
+ case 39: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_tilde); break;
}
//
- // Rule 40: unary_expression ::= sizeof unary_expression
+ // Rule 40: unary_expression ::= ! cast_expression
//
- case 40: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof); break;
+ case 40: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_not); break;
}
//
- // Rule 41: unary_expression ::= sizeof ( type_name )
+ // Rule 41: unary_expression ::= sizeof unary_expression
//
- case 41: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_sizeof); break;
+ case 41: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof); break;
}
//
- // Rule 44: multiplicative_expression ::= multiplicative_expression * cast_expression
+ // Rule 42: unary_expression ::= sizeof ( type_id )
//
- case 44: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_multiply); break;
+ case 42: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_sizeof); break;
}
//
- // Rule 45: multiplicative_expression ::= multiplicative_expression / cast_expression
+ // Rule 45: multiplicative_expression ::= multiplicative_expression * cast_expression
//
- case 45: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_divide); break;
+ case 45: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_multiply); break;
}
//
- // Rule 46: multiplicative_expression ::= multiplicative_expression % cast_expression
+ // Rule 46: multiplicative_expression ::= multiplicative_expression / cast_expression
//
- case 46: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_modulo); break;
+ case 46: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_divide); break;
}
//
- // Rule 48: additive_expression ::= additive_expression + multiplicative_expression
+ // Rule 47: multiplicative_expression ::= multiplicative_expression % cast_expression
//
- case 48: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_plus); break;
+ case 47: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_modulo); break;
}
//
- // Rule 49: additive_expression ::= additive_expression - multiplicative_expression
+ // Rule 49: additive_expression ::= additive_expression + multiplicative_expression
//
- case 49: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_minus); break;
+ case 49: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_plus); break;
}
//
- // Rule 51: shift_expression ::= shift_expression << additive_expression
+ // Rule 50: additive_expression ::= additive_expression - multiplicative_expression
//
- case 51: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftLeft); break;
+ case 50: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_minus); break;
}
//
- // Rule 52: shift_expression ::= shift_expression >> additive_expression
+ // Rule 52: shift_expression ::= shift_expression << additive_expression
//
- case 52: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftRight); break;
+ case 52: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftLeft); break;
}
//
- // Rule 54: relational_expression ::= relational_expression < shift_expression
+ // Rule 53: shift_expression ::= shift_expression >> additive_expression
//
- case 54: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_lessThan); break;
+ case 53: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftRight); break;
}
//
- // Rule 55: relational_expression ::= relational_expression > shift_expression
+ // Rule 55: relational_expression ::= relational_expression < shift_expression
//
- case 55: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_greaterThan); break;
+ case 55: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_lessThan); break;
}
//
- // Rule 56: relational_expression ::= relational_expression <= shift_expression
+ // Rule 56: relational_expression ::= relational_expression > shift_expression
//
- case 56: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_lessEqual); break;
+ case 56: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_greaterThan); break;
}
//
- // Rule 57: relational_expression ::= relational_expression >= shift_expression
+ // Rule 57: relational_expression ::= relational_expression <= shift_expression
//
- case 57: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_greaterEqual); break;
+ case 57: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_lessEqual); break;
}
//
- // Rule 59: equality_expression ::= equality_expression == relational_expression
+ // Rule 58: relational_expression ::= relational_expression >= shift_expression
//
- case 59: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_equals); break;
+ case 58: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_greaterEqual); break;
}
//
- // Rule 60: equality_expression ::= equality_expression != relational_expression
+ // Rule 60: equality_expression ::= equality_expression == relational_expression
//
- case 60: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_notequals); break;
+ case 60: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_equals); break;
}
//
- // Rule 62: AND_expression ::= AND_expression & equality_expression
+ // Rule 61: equality_expression ::= equality_expression != relational_expression
//
- case 62: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryAnd); break;
+ case 61: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_notequals); break;
}
//
- // Rule 64: exclusive_OR_expression ::= exclusive_OR_expression ^ AND_expression
+ // Rule 63: and_expression ::= and_expression & equality_expression
//
- case 64: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryXor); break;
+ case 63: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryAnd); break;
}
//
- // Rule 66: inclusive_OR_expression ::= inclusive_OR_expression | exclusive_OR_expression
+ // Rule 65: exclusive_or_expression ::= exclusive_or_expression ^ and_expression
//
- case 66: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryOr); break;
+ case 65: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryXor); break;
}
//
- // Rule 68: logical_AND_expression ::= logical_AND_expression && inclusive_OR_expression
+ // Rule 67: inclusive_or_expression ::= inclusive_or_expression | exclusive_or_expression
//
- case 68: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_logicalAnd); break;
+ case 67: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryOr); break;
}
//
- // Rule 70: logical_OR_expression ::= logical_OR_expression || logical_AND_expression
+ // Rule 69: logical_and_expression ::= logical_and_expression && inclusive_or_expression
//
- case 70: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_logicalOr); break;
+ case 69: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_logicalAnd); break;
}
//
- // Rule 72: conditional_expression ::= logical_OR_expression ? expression : conditional_expression
+ // Rule 71: logical_or_expression ::= logical_or_expression || logical_and_expression
//
- case 72: { action. consumeExpressionConditional(); break;
+ case 71: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_logicalOr); break;
}
//
- // Rule 74: assignment_expression ::= unary_expression = assignment_expression
+ // Rule 73: conditional_expression ::= logical_or_expression ? expression : assignment_expression
//
- case 74: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_assign); break;
+ case 73: { action. consumeExpressionConditional(); break;
}
//
- // Rule 75: assignment_expression ::= unary_expression *= assignment_expression
+ // Rule 75: assignment_expression ::= unary_expression = assignment_expression
//
- case 75: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_multiplyAssign); break;
+ case 75: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_assign); break;
}
//
- // Rule 76: assignment_expression ::= unary_expression /= assignment_expression
+ // Rule 76: assignment_expression ::= unary_expression *= assignment_expression
//
- case 76: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_divideAssign); break;
+ case 76: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_multiplyAssign); break;
}
//
- // Rule 77: assignment_expression ::= unary_expression %= assignment_expression
+ // Rule 77: assignment_expression ::= unary_expression /= assignment_expression
//
- case 77: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_moduloAssign); break;
+ case 77: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_divideAssign); break;
}
//
- // Rule 78: assignment_expression ::= unary_expression += assignment_expression
+ // Rule 78: assignment_expression ::= unary_expression %= assignment_expression
//
- case 78: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_plusAssign); break;
+ case 78: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_moduloAssign); break;
}
//
- // Rule 79: assignment_expression ::= unary_expression -= assignment_expression
+ // Rule 79: assignment_expression ::= unary_expression += assignment_expression
//
- case 79: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_minusAssign); break;
+ case 79: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_plusAssign); break;
}
//
- // Rule 80: assignment_expression ::= unary_expression <<= assignment_expression
+ // Rule 80: assignment_expression ::= unary_expression -= assignment_expression
//
- case 80: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftLeftAssign); break;
+ case 80: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_minusAssign); break;
}
//
- // Rule 81: assignment_expression ::= unary_expression >>= assignment_expression
+ // Rule 81: assignment_expression ::= unary_expression <<= assignment_expression
//
- case 81: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftRightAssign); break;
+ case 81: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftLeftAssign); break;
}
//
- // Rule 82: assignment_expression ::= unary_expression &= assignment_expression
+ // Rule 82: assignment_expression ::= unary_expression >>= assignment_expression
//
- case 82: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryAndAssign); break;
+ case 82: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftRightAssign); break;
}
//
- // Rule 83: assignment_expression ::= unary_expression ^= assignment_expression
+ // Rule 83: assignment_expression ::= unary_expression &= assignment_expression
//
- case 83: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryXorAssign); break;
+ case 83: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryAndAssign); break;
}
//
- // Rule 84: assignment_expression ::= unary_expression |= assignment_expression
+ // Rule 84: assignment_expression ::= unary_expression ^= assignment_expression
//
- case 84: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryOrAssign); break;
+ case 84: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryXorAssign); break;
}
//
- // Rule 87: expression_list ::= <openscope-ast> expression_list_actual
+ // Rule 85: assignment_expression ::= unary_expression |= assignment_expression
//
- case 87: { action. consumeExpressionList(); break;
+ case 85: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryOrAssign); break;
}
//
- // Rule 89: expression_list_opt ::= $Empty
+ // Rule 88: expression_list ::= <openscope-ast> expression_list_actual
//
- case 89: { action. consumeEmpty(); break;
+ case 88: { action. consumeExpressionList(); break;
}
//
- // Rule 99: statement ::= ERROR_TOKEN
+ // Rule 90: expression_list_opt ::= $Empty
//
- case 99: { action. consumeStatementProblem(); break;
+ case 90: { action. consumeEmpty(); break;
}
//
- // Rule 100: labeled_statement ::= identifier_or_typedefname : statement
+ // Rule 100: statement ::= ERROR_TOKEN
//
- case 100: { action. consumeStatementLabeled(); break;
+ case 100: { action. consumeStatementProblem(); break;
}
//
- // Rule 101: labeled_statement ::= case constant_expression :
+ // Rule 101: labeled_statement ::= identifier_token : statement
//
- case 101: { action. consumeStatementCase(); break;
+ case 101: { action. consumeStatementLabeled(); break;
}
//
- // Rule 102: labeled_statement ::= default :
+ // Rule 102: labeled_statement ::= case constant_expression : statement
//
- case 102: { action. consumeStatementDefault(); break;
+ case 102: { action. consumeStatementCase(); break;
}
//
- // Rule 103: compound_statement ::= { }
+ // Rule 103: labeled_statement ::= default : statement
//
- case 103: { action. consumeStatementCompoundStatement(false); break;
+ case 103: { action. consumeStatementDefault(); break;
}
//
- // Rule 104: compound_statement ::= { <openscope-ast> block_item_list }
+ // Rule 104: compound_statement ::= { }
//
- case 104: { action. consumeStatementCompoundStatement(true); break;
+ case 104: { action. consumeStatementCompoundStatement(false); break;
}
//
- // Rule 108: block_item ::= declaration
+ // Rule 105: compound_statement ::= { <openscope-ast> block_item_list }
//
- case 108: { action. consumeStatementDeclarationWithDisambiguation(); break;
+ case 105: { action. consumeStatementCompoundStatement(true); break;
}
//
- // Rule 109: expression_statement ::= ;
+ // Rule 109: block_item ::= declaration
//
- case 109: { action. consumeStatementNull(); break;
+ case 109: { action. consumeStatementDeclarationWithDisambiguation(); break;
}
//
- // Rule 110: expression_statement ::= expression_in_statement ;
+ // Rule 110: expression_statement ::= ;
//
- case 110: { action. consumeStatementExpression(); break;
+ case 110: { action. consumeStatementNull(); break;
}
//
- // Rule 111: selection_statement ::= if ( expression ) statement
+ // Rule 111: expression_statement ::= expression_in_statement ;
//
- case 111: { action. consumeStatementIf(false); break;
+ case 111: { action. consumeStatementExpression(); break;
}
//
- // Rule 112: selection_statement ::= if ( expression ) statement else statement
+ // Rule 112: selection_statement ::= if ( expression ) statement
//
- case 112: { action. consumeStatementIf(true); break;
+ case 112: { action. consumeStatementIf(false); break;
}
//
- // Rule 113: selection_statement ::= switch ( expression ) statement
+ // Rule 113: selection_statement ::= if ( expression ) statement else statement
//
- case 113: { action. consumeStatementSwitch(); break;
+ case 113: { action. consumeStatementIf(true); break;
}
//
- // Rule 115: expression_opt ::= $Empty
+ // Rule 114: selection_statement ::= switch ( expression ) statement
//
- case 115: { action. consumeEmpty(); break;
+ case 114: { action. consumeStatementSwitch(); break;
}
//
- // Rule 116: iteration_statement ::= do statement while ( expression ) ;
+ // Rule 116: expression_opt ::= $Empty
//
- case 116: { action. consumeStatementDoLoop(); break;
+ case 116: { action. consumeEmpty(); break;
}
//
- // Rule 117: iteration_statement ::= while ( expression ) statement
+ // Rule 117: iteration_statement ::= do statement while ( expression ) ;
//
- case 117: { action. consumeStatementWhileLoop(); break;
+ case 117: { action. consumeStatementDoLoop(); break;
}
//
- // Rule 118: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement
+ // Rule 118: iteration_statement ::= while ( expression ) statement
//
- case 118: { action. consumeStatementForLoop(); break;
+ case 118: { action. consumeStatementWhileLoop(); break;
}
//
- // Rule 119: iteration_statement ::= for ( declaration expression_opt ; expression_opt ) statement
+ // Rule 119: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement
//
case 119: { action. consumeStatementForLoop(); break;
}
//
- // Rule 120: jump_statement ::= goto identifier_or_typedefname ;
+ // Rule 120: iteration_statement ::= for ( declaration expression_opt ; expression_opt ) statement
//
- case 120: { action. consumeStatementGoto(); break;
+ case 120: { action. consumeStatementForLoop(); break;
}
//
- // Rule 121: jump_statement ::= continue ;
+ // Rule 121: jump_statement ::= goto identifier_token ;
//
- case 121: { action. consumeStatementContinue(); break;
+ case 121: { action. consumeStatementGoto(); break;
}
//
- // Rule 122: jump_statement ::= break ;
+ // Rule 122: jump_statement ::= continue ;
//
- case 122: { action. consumeStatementBreak(); break;
+ case 122: { action. consumeStatementContinue(); break;
}
//
- // Rule 123: jump_statement ::= return ;
+ // Rule 123: jump_statement ::= break ;
//
- case 123: { action. consumeStatementReturn(false); break;
+ case 123: { action. consumeStatementBreak(); break;
}
//
- // Rule 124: jump_statement ::= return expression ;
+ // Rule 124: jump_statement ::= return ;
//
- case 124: { action. consumeStatementReturn(true); break;
+ case 124: { action. consumeStatementReturn(false); break;
}
//
- // Rule 125: declaration ::= declaration_specifiers ;
+ // Rule 125: jump_statement ::= return expression ;
//
- case 125: { action. consumeDeclarationSimple(false); break;
+ case 125: { action. consumeStatementReturn(true); break;
}
//
- // Rule 126: declaration ::= declaration_specifiers <openscope-ast> init_declarator_list ;
+ // Rule 126: declaration ::= declaration_specifiers ;
//
- case 126: { action. consumeDeclarationSimple(true); break;
+ case 126: { action. consumeDeclarationSimple(false); break;
}
//
- // Rule 127: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers
+ // Rule 127: declaration ::= declaration_specifiers <openscope-ast> init_declarator_list ;
//
- case 127: { action. consumeDeclarationSpecifiersSimple(); break;
+ case 127: { action. consumeDeclarationSimple(true); break;
}
//
- // Rule 128: declaration_specifiers ::= <openscope-ast> struct_or_union_declaration_specifiers
+ // Rule 128: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers
//
- case 128: { action. consumeDeclarationSpecifiersStructUnionEnum(); break;
+ case 128: { action. consumeDeclarationSpecifiersSimple(); break;
}
//
- // Rule 129: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers
+ // Rule 129: declaration_specifiers ::= <openscope-ast> struct_or_union_declaration_specifiers
//
case 129: { action. consumeDeclarationSpecifiersStructUnionEnum(); break;
}
//
- // Rule 130: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers
+ // Rule 130: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers
//
case 130: { action. consumeDeclarationSpecifiersStructUnionEnum(); break;
}
//
- // Rule 131: declaration_specifiers ::= <openscope-ast> typdef_name_declaration_specifiers
+ // Rule 131: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers
//
- case 131: { action. consumeDeclarationSpecifiersTypedefName(); break;
+ case 131: { action. consumeDeclarationSpecifiersStructUnionEnum(); break;
}
//
- // Rule 156: init_declarator ::= complete_declarator = initializer
+ // Rule 132: declaration_specifiers ::= <openscope-ast> typdef_name_declaration_specifiers
//
- case 156: { action. consumeDeclaratorWithInitializer(true); break;
+ case 132: { action. consumeDeclarationSpecifiersTypedefName(); break;
}
//
- // Rule 158: storage_class_specifier ::= storage_class_specifier_token
+ // Rule 157: init_declarator ::= complete_declarator = initializer
//
- case 158: { action. consumeDeclSpecToken(); break;
+ case 157: { action. consumeDeclaratorWithInitializer(true); break;
}
//
- // Rule 164: simple_type_specifier ::= simple_type_specifier_token
+ // Rule 159: storage_class_specifier ::= storage_class_specifier_token
//
- case 164: { action. consumeDeclSpecToken(); break;
+ case 159: { action. consumeToken(); break;
}
//
- // Rule 177: typedef_name_in_declspec ::= Completion
+ // Rule 165: simple_type_specifier ::= simple_type_specifier_token
//
- case 177: { action. consumeDeclSpecToken(); break;
+ case 165: { action. consumeToken(); break;
}
//
- // Rule 178: typedef_name_in_declspec ::= identifier
+ // Rule 178: type_name_specifier ::= identifier_token
//
- case 178: { action. consumeDeclSpecToken(); break;
+ case 178: { action. consumeToken(); break;
}
//
- // Rule 181: struct_or_union_specifier ::= struct { <openscope-ast> struct_declaration_list_opt }
+ // Rule 179: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt }
//
- case 181: { action. consumeTypeSpecifierComposite(false, IASTCompositeTypeSpecifier.k_struct); break;
+ case 179: { action. consumeTypeSpecifierComposite(false); break;
}
//
- // Rule 182: struct_or_union_specifier ::= union { <openscope-ast> struct_declaration_list_opt }
+ // Rule 180: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook identifier_token struct_or_union_specifier_suffix_hook { <openscope-ast> struct_declaration_list_opt }
//
- case 182: { action. consumeTypeSpecifierComposite(false, IASTCompositeTypeSpecifier.k_union); break;
+ case 180: { action. consumeTypeSpecifierComposite(true); break;
}
//
- // Rule 183: struct_or_union_specifier ::= struct identifier_or_typedefname { <openscope-ast> struct_declaration_list_opt }
+ // Rule 185: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token
//
- case 183: { action. consumeTypeSpecifierComposite(true, IASTCompositeTypeSpecifier.k_struct); break;
+ case 185: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break;
}
//
- // Rule 184: struct_or_union_specifier ::= union identifier_or_typedefname { <openscope-ast> struct_declaration_list_opt }
+ // Rule 186: elaborated_specifier ::= union elaborated_specifier_hook identifier_token
//
- case 184: { action. consumeTypeSpecifierComposite(true, IASTCompositeTypeSpecifier.k_union); break;
+ case 186: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break;
}
//
- // Rule 185: elaborated_specifier ::= struct identifier_or_typedefname
+ // Rule 187: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token
//
- case 185: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break;
+ case 187: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break;
}
//
- // Rule 186: elaborated_specifier ::= union identifier_or_typedefname
+ // Rule 193: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ;
//
- case 186: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break;
+ case 193: { action. consumeStructDeclaration(true); break;
}
//
- // Rule 187: elaborated_specifier ::= enum identifier_or_typedefname
+ // Rule 194: struct_declaration ::= specifier_qualifier_list ;
//
- case 187: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break;
+ case 194: { action. consumeStructDeclaration(false); break;
}
//
- // Rule 192: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ;
+ // Rule 195: struct_declaration ::= ERROR_TOKEN
//
- case 192: { action. consumeStructDeclaration(true); break;
+ case 195: { action. consumeDeclarationProblem(); break;
}
//
- // Rule 193: struct_declaration ::= specifier_qualifier_list ;
+ // Rule 201: struct_declarator ::= : constant_expression
//
- case 193: { action. consumeStructDeclaration(false); break;
+ case 201: { action. consumeBitField(false); break;
}
//
- // Rule 194: struct_declaration ::= ERROR_TOKEN
+ // Rule 202: struct_declarator ::= declarator : constant_expression
//
- case 194: { action. consumeDeclarationProblem(); break;
+ case 202: { action. consumeBitField(true); break;
}
//
- // Rule 200: struct_declarator ::= : constant_expression
+ // Rule 203: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt }
//
- case 200: { action. consumeBitField(false); break;
+ case 203: { action. consumeTypeSpecifierEnumeration(false); break;
}
//
- // Rule 201: struct_declarator ::= declarator : constant_expression
+ // Rule 204: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt }
//
- case 201: { action. consumeBitField(true); break;
+ case 204: { action. consumeTypeSpecifierEnumeration(true); break;
}
//
- // Rule 202: enum_specifier ::= enum { <openscope-ast> enumerator_list_opt comma_opt }
+ // Rule 210: enumerator ::= identifier_token
//
- case 202: { action. consumeTypeSpecifierEnumeration(false); break;
+ case 210: { action. consumeEnumerator(false); break;
}
//
- // Rule 203: enum_specifier ::= enum identifier_or_typedefname { <openscope-ast> enumerator_list_opt comma_opt }
+ // Rule 211: enumerator ::= identifier_token = constant_expression
//
- case 203: { action. consumeTypeSpecifierEnumeration(true); break;
+ case 211: { action. consumeEnumerator(true); break;
}
//
- // Rule 208: enumerator ::= identifier_or_typedefname
+ // Rule 212: type_qualifier ::= type_qualifier_token
//
- case 208: { action. consumeEnumerator(false); break;
+ case 212: { action. consumeToken(); break;
}
//
- // Rule 209: enumerator ::= identifier_or_typedefname = constant_expression
+ // Rule 216: function_specifier ::= inline
//
- case 209: { action. consumeEnumerator(true); break;
+ case 216: { action. consumeToken(); break;
}
//
- // Rule 210: type_qualifier ::= type_qualifier_token
+ // Rule 218: declarator ::= <openscope-ast> pointer_seq direct_declarator
//
- case 210: { action. consumeDeclSpecToken(); break;
+ case 218: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 214: function_specifier ::= inline
+ // Rule 223: basic_direct_declarator ::= declarator_id_name
//
- case 214: { action. consumeDeclSpecToken(); break;
+ case 223: { action. consumeDirectDeclaratorIdentifier(); break;
}
//
- // Rule 216: declarator ::= <openscope-ast> pointer_seq direct_declarator
+ // Rule 224: basic_direct_declarator ::= ( declarator )
//
- case 216: { action. consumeDeclaratorWithPointer(true); break;
+ case 224: { action. consumeDirectDeclaratorBracketed(); break;
}
//
- // Rule 221: basic_direct_declarator ::= declarator_id_name
+ // Rule 225: declarator_id_name ::= identifier
//
- case 221: { action. consumeDirectDeclaratorIdentifier(); break;
+ case 225: { action. consumeIdentifierName(); break;
}
//
- // Rule 222: basic_direct_declarator ::= ( declarator )
+ // Rule 226: array_direct_declarator ::= basic_direct_declarator array_modifier
//
- case 222: { action. consumeDirectDeclaratorBracketed(); break;
+ case 226: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 223: declarator_id_name ::= identifier
+ // Rule 227: array_direct_declarator ::= array_direct_declarator array_modifier
//
- case 223: { action. consumeIdentifierName(); break;
+ case 227: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 224: array_direct_declarator ::= basic_direct_declarator array_modifier
+ // Rule 229: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list )
//
- case 224: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 229: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
}
//
- // Rule 225: array_direct_declarator ::= array_direct_declarator array_modifier
+ // Rule 230: function_direct_declarator ::= basic_direct_declarator ( )
//
- case 225: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 230: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
}
//
- // Rule 227: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list )
+ // Rule 232: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator
//
- case 227: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
+ case 232: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 228: function_direct_declarator ::= basic_direct_declarator ( )
+ // Rule 233: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list )
//
- case 228: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
+ case 233: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break;
}
//
- // Rule 230: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator
+ // Rule 235: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator
//
- case 230: { action. consumeDeclaratorWithPointer(true); break;
+ case 235: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 231: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list )
+ // Rule 236: identifier_list ::= identifier
//
- case 231: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break;
+ case 236: { action. consumeIdentifierKnR(); break;
}
//
- // Rule 233: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator
+ // Rule 237: identifier_list ::= identifier_list , identifier
//
- case 233: { action. consumeDeclaratorWithPointer(true); break;
+ case 237: { action. consumeIdentifierKnR(); break;
}
//
- // Rule 234: identifier_list ::= identifier
+ // Rule 238: array_modifier ::= [ ]
//
- case 234: { action. consumeIdentifierKnR(); break;
+ case 238: { action. consumeDirectDeclaratorArrayModifier(false); break;
}
//
- // Rule 235: identifier_list ::= identifier_list , identifier
+ // Rule 239: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ]
//
- case 235: { action. consumeIdentifierKnR(); break;
+ case 239: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break;
}
//
- // Rule 236: array_modifier ::= [ ]
+ // Rule 240: array_modifier ::= [ assignment_expression ]
//
- case 236: { action. consumeDirectDeclaratorArrayModifier(false); break;
+ case 240: { action. consumeDirectDeclaratorArrayModifier(true); break;
}
//
- // Rule 237: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ]
+ // Rule 241: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
//
- case 237: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break;
+ case 241: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break;
}
//
- // Rule 238: array_modifier ::= [ assignment_expression ]
+ // Rule 242: array_modifier ::= [ static assignment_expression ]
//
- case 238: { action. consumeDirectDeclaratorArrayModifier(true); break;
+ case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break;
}
//
- // Rule 239: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
+ // Rule 243: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
//
- case 239: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break;
+ case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break;
}
//
- // Rule 240: array_modifier ::= [ static assignment_expression ]
+ // Rule 244: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ]
//
- case 240: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break;
+ case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break;
}
//
- // Rule 241: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
+ // Rule 245: array_modifier ::= [ * ]
//
- case 241: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break;
+ case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break;
}
//
- // Rule 242: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ]
+ // Rule 246: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ]
//
- case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break;
+ case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break;
}
//
- // Rule 243: array_modifier ::= [ * ]
+ // Rule 248: pointer_seq ::= pointer_hook * pointer_hook
//
- case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break;
+ case 248: { action. consumePointer(); break;
}
//
- // Rule 244: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ]
+ // Rule 249: pointer_seq ::= pointer_seq pointer_hook * pointer_hook
//
- case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break;
+ case 249: { action. consumePointer(); break;
}
//
- // Rule 246: pointer_seq ::= *
+ // Rule 250: pointer_seq ::= pointer_hook * pointer_hook <openscope-ast> type_qualifier_list
//
- case 246: { action. consumePointer(); break;
+ case 250: { action. consumePointerTypeQualifierList(); break;
}
//
- // Rule 247: pointer_seq ::= pointer_seq *
+ // Rule 251: pointer_seq ::= pointer_seq pointer_hook * pointer_hook <openscope-ast> type_qualifier_list
//
- case 247: { action. consumePointer(); break;
+ case 251: { action. consumePointerTypeQualifierList(); break;
}
//
- // Rule 248: pointer_seq ::= * <openscope-ast> type_qualifier_list
+ // Rule 255: parameter_type_list ::= parameter_list
//
- case 248: { action. consumePointerTypeQualifierList(); break;
+ case 255: { action. consumeEmpty(); break;
}
//
- // Rule 249: pointer_seq ::= pointer_seq * <openscope-ast> type_qualifier_list
+ // Rule 256: parameter_type_list ::= parameter_list , ...
//
- case 249: { action. consumePointerTypeQualifierList(); break;
+ case 256: { action. consumePlaceHolder(); break;
}
//
- // Rule 252: parameter_type_list ::= parameter_list
+ // Rule 257: parameter_type_list ::= ...
//
- case 252: { action. consumeEmpty(); break;
+ case 257: { action. consumePlaceHolder(); break;
}
//
- // Rule 253: parameter_type_list ::= parameter_list , ...
+ // Rule 260: parameter_declaration ::= declaration_specifiers complete_parameter_declarator
//
- case 253: { action. consumePlaceHolder(); break;
+ case 260: { action. consumeParameterDeclaration(); break;
}
//
- // Rule 254: parameter_type_list ::= ...
+ // Rule 261: parameter_declaration ::= declaration_specifiers
//
- case 254: { action. consumePlaceHolder(); break;
+ case 261: { action. consumeParameterDeclarationWithoutDeclarator(); break;
}
//
- // Rule 257: parameter_declaration ::= declaration_specifiers complete_parameter_declarator
+ // Rule 264: type_id ::= specifier_qualifier_list
//
- case 257: { action. consumeParameterDeclaration(); break;
+ case 264: { action. consumeTypeId(false); break;
}
//
- // Rule 258: parameter_declaration ::= declaration_specifiers
+ // Rule 265: type_id ::= specifier_qualifier_list abstract_declarator
//
- case 258: { action. consumeParameterDeclarationWithoutDeclarator(); break;
+ case 265: { action. consumeTypeId(true); break;
}
//
- // Rule 261: type_name ::= specifier_qualifier_list
+ // Rule 267: abstract_declarator ::= <openscope-ast> pointer_seq
//
- case 261: { action. consumeTypeId(false); break;
+ case 267: { action. consumeDeclaratorWithPointer(false); break;
}
//
- // Rule 262: type_name ::= specifier_qualifier_list abstract_declarator
+ // Rule 268: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator
//
- case 262: { action. consumeTypeId(true); break;
+ case 268: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 264: abstract_declarator ::= <openscope-ast> pointer_seq
+ // Rule 272: basic_direct_abstract_declarator ::= ( abstract_declarator )
//
- case 264: { action. consumeDeclaratorWithPointer(false); break;
+ case 272: { action. consumeDirectDeclaratorBracketed(); break;
}
//
- // Rule 265: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator
+ // Rule 273: array_direct_abstract_declarator ::= array_modifier
//
- case 265: { action. consumeDeclaratorWithPointer(false); break;
+ case 273: { action. consumeDirectDeclaratorArrayDeclarator(false); break;
}
//
- // Rule 269: basic_direct_abstract_declarator ::= ( abstract_declarator )
+ // Rule 274: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
//
- case 269: { action. consumeDirectDeclaratorBracketed(); break;
+ case 274: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 270: array_direct_abstract_declarator ::= array_modifier
+ // Rule 275: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
//
- case 270: { action. consumeDirectDeclaratorArrayDeclarator(false); break;
+ case 275: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 271: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
+ // Rule 276: function_direct_abstract_declarator ::= ( )
//
- case 271: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 276: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break;
+ }
+
+ //
+ // Rule 277: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( )
+ //
+ case 277: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
}
//
- // Rule 272: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
+ // Rule 278: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list )
//
- case 272: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 278: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break;
}
//
- // Rule 273: function_direct_abstract_declarator ::= ( )
+ // Rule 279: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list )
//
- case 273: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break;
- }
+ case 279: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
+ }
//
- // Rule 274: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( )
+ // Rule 280: initializer ::= assignment_expression
//
- case 274: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
+ case 280: { action. consumeInitializer(); break;
}
//
- // Rule 275: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list )
+ // Rule 282: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq comma_opt } end_initializer_list
//
- case 275: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break;
+ case 282: { action. consumeInitializerList(); break;
}
//
- // Rule 276: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list )
+ // Rule 283: initializer_list ::= { <openscope-ast> }
//
- case 276: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
+ case 283: { action. consumeInitializerList(); break;
}
//
- // Rule 277: initializer ::= assignment_expression
+ // Rule 284: start_initializer_list ::= $Empty
//
- case 277: { action. consumeInitializer(); break;
+ case 284: { action. initializerListStart(); break;
}
//
- // Rule 278: initializer ::= { <openscope-ast> initializer_list comma_opt }
+ // Rule 285: end_initializer_list ::= $Empty
//
- case 278: { action. consumeInitializerList(); break;
+ case 285: { action. initializerListEnd(); break;
}
//
- // Rule 283: designated_initializer ::= <openscope-ast> designation = initializer
+ // Rule 290: designated_initializer ::= <openscope-ast> designation = initializer
//
- case 283: { action. consumeInitializerDesignated(); break;
+ case 290: { action. consumeInitializerDesignated(); break;
}
//
- // Rule 287: designator_base ::= [ constant_expression ]
+ // Rule 294: designator_base ::= [ constant_expression ]
//
- case 287: { action. consumeDesignatorArray(); break;
+ case 294: { action. consumeDesignatorArray(); break;
}
//
- // Rule 288: designator_base ::= . identifier_or_typedefname
+ // Rule 295: designator_base ::= . identifier_token
//
- case 288: { action. consumeDesignatorField(); break;
+ case 295: { action. consumeDesignatorField(); break;
}
//
- // Rule 289: designator ::= [ constant_expression ]
+ // Rule 296: designator ::= [ constant_expression ]
//
- case 289: { action. consumeDesignatorArray(); break;
+ case 296: { action. consumeDesignatorArray(); break;
}
//
- // Rule 290: designator ::= . identifier_or_typedefname
+ // Rule 297: designator ::= . identifier_token
//
- case 290: { action. consumeDesignatorField(); break;
+ case 297: { action. consumeDesignatorField(); break;
}
//
- // Rule 291: translation_unit ::= external_declaration_list
+ // Rule 298: translation_unit ::= external_declaration_list
//
- case 291: { action. consumeTranslationUnit(); break;
+ case 298: { action. consumeTranslationUnit(); break;
}
//
- // Rule 292: translation_unit ::= $Empty
+ // Rule 299: translation_unit ::= $Empty
//
- case 292: { action. consumeTranslationUnit(); break;
+ case 299: { action. consumeTranslationUnit(); break;
}
//
- // Rule 297: external_declaration ::= ;
+ // Rule 304: external_declaration ::= ;
//
- case 297: { action. consumeDeclarationEmpty(); break;
+ case 304: { action. consumeDeclarationEmpty(); break;
}
//
- // Rule 298: external_declaration ::= ERROR_TOKEN
+ // Rule 305: external_declaration ::= ERROR_TOKEN
//
- case 298: { action. consumeDeclarationProblem(); break;
+ case 305: { action. consumeDeclarationProblem(); break;
}
//
- // Rule 301: function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body
+ // Rule 309: function_definition ::= <openscope-ast> function_declarator function_body
//
- case 301: { action. consumeFunctionDefinition(true); break;
+ case 309: { action. consumeFunctionDefinition(false); break;
}
//
- // Rule 302: function_definition ::= <openscope-ast> function_declarator function_body
+ // Rule 310: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement
//
- case 302: { action. consumeFunctionDefinition(false); break;
+ case 310: { action. consumeFunctionDefinitionKnR(); break;
}
//
- // Rule 303: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement
+ // Rule 311: normal_function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body
//
- case 303: { action. consumeFunctionDefinitionKnR(); break;
+ case 311: { action. consumeFunctionDefinition(true); break;
}
//
- // Rule 304: function_body ::= { }
+ // Rule 312: function_body ::= { }
//
- case 304: { action. consumeStatementCompoundStatement(false); break;
+ case 312: { action. consumeStatementCompoundStatement(false); break;
}
//
- // Rule 305: function_body ::= { <openscope-ast> block_item_list }
+ // Rule 313: function_body ::= { <openscope-ast> block_item_list }
//
- case 305: { action. consumeStatementCompoundStatement(true); break;
+ case 313: { action. consumeStatementCompoundStatement(true); break;
}
//
- // Rule 307: no_cast_start ::= ERROR_TOKEN
+ // Rule 315: no_cast_start ::= ERROR_TOKEN
//
- case 307: { action. consumeExpressionProblem(); break;
+ case 315: { action. consumeEmpty(); break;
}
//
- // Rule 308: literal ::= MYTHREAD
+ // Rule 316: literal ::= MYTHREAD
//
- case 308: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_mythread); break;
+ case 316: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_mythread); break;
}
//
- // Rule 309: literal ::= THREADS
+ // Rule 317: literal ::= THREADS
//
- case 309: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_threads); break;
+ case 317: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_threads); break;
}
//
- // Rule 310: literal ::= UPC_MAX_BLOCKSIZE
+ // Rule 318: literal ::= UPC_MAX_BLOCKSIZE
//
- case 310: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_upc_max_block_size); break;
+ case 318: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_upc_max_block_size); break;
}
//
- // Rule 311: unary_expression ::= upc_localsizeof unary_expression
+ // Rule 319: unary_expression ::= upc_localsizeof unary_expression
//
- case 311: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_localsizeof); break;
+ case 319: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_localsizeof); break;
}
//
- // Rule 312: unary_expression ::= upc_localsizeof ( type_name )
+ // Rule 320: unary_expression ::= upc_localsizeof ( type_id )
//
- case 312: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_localsizeof); break;
+ case 320: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_localsizeof); break;
}
//
- // Rule 313: unary_expression ::= upc_blocksizeof unary_expression
+ // Rule 321: unary_expression ::= upc_blocksizeof unary_expression
//
- case 313: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_blocksizeof); break;
+ case 321: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_blocksizeof); break;
}
//
- // Rule 314: unary_expression ::= upc_blocksizeof ( type_name )
+ // Rule 322: unary_expression ::= upc_blocksizeof ( type_id )
//
- case 314: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_blocksizeof); break;
+ case 322: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_blocksizeof); break;
}
//
- // Rule 315: unary_expression ::= upc_elemsizeof unary_expression
+ // Rule 323: unary_expression ::= upc_elemsizeof unary_expression
//
- case 315: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_elemsizeof); break;
+ case 323: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_elemsizeof); break;
}
//
- // Rule 316: unary_expression ::= upc_elemsizeof ( type_name )
+ // Rule 324: unary_expression ::= upc_elemsizeof ( type_id )
//
- case 316: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_elemsizeof); break;
+ case 324: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_elemsizeof); break;
}
//
- // Rule 320: shared_type_qualifier ::= shared
+ // Rule 328: shared_type_qualifier ::= shared
//
- case 320: { action. consumeToken(); break;
+ case 328: { action. consumeToken(); break;
}
//
- // Rule 321: reference_type_qualifier ::= relaxed
+ // Rule 329: reference_type_qualifier ::= relaxed
//
- case 321: { action. consumeToken(); break;
+ case 329: { action. consumeToken(); break;
}
//
- // Rule 322: reference_type_qualifier ::= strict
+ // Rule 330: reference_type_qualifier ::= strict
//
- case 322: { action. consumeToken(); break;
+ case 330: { action. consumeToken(); break;
}
//
- // Rule 323: layout_qualifier ::= [ constant_expression ]
+ // Rule 331: layout_qualifier ::= [ constant_expression ]
//
- case 323: { action. consumeLayoutQualifier(true, false); break;
+ case 331: { action. consumeLayoutQualifier(true, false); break;
}
//
- // Rule 324: layout_qualifier ::= [ * ]
+ // Rule 332: layout_qualifier ::= [ * ]
//
- case 324: { action. consumeLayoutQualifier(false, true); break;
+ case 332: { action. consumeLayoutQualifier(false, true); break;
}
//
- // Rule 325: layout_qualifier ::= [ ]
+ // Rule 333: layout_qualifier ::= [ ]
//
- case 325: { action. consumeLayoutQualifier(false, false); break;
+ case 333: { action. consumeLayoutQualifier(false, false); break;
}
//
- // Rule 327: synchronization_statement ::= upc_notify expression ;
+ // Rule 335: synchronization_statement ::= upc_notify expression ;
//
- case 327: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, true); break;
+ case 335: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, true); break;
}
//
- // Rule 328: synchronization_statement ::= upc_notify ;
+ // Rule 336: synchronization_statement ::= upc_notify ;
//
- case 328: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, false); break;
+ case 336: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, false); break;
}
//
- // Rule 329: synchronization_statement ::= upc_wait expression ;
+ // Rule 337: synchronization_statement ::= upc_wait expression ;
//
- case 329: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, true); break;
+ case 337: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, true); break;
}
//
- // Rule 330: synchronization_statement ::= upc_wait ;
+ // Rule 338: synchronization_statement ::= upc_wait ;
//
- case 330: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, false); break;
+ case 338: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, false); break;
}
//
- // Rule 331: synchronization_statement ::= upc_barrier expression ;
+ // Rule 339: synchronization_statement ::= upc_barrier expression ;
//
- case 331: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, true); break;
+ case 339: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, true); break;
}
//
- // Rule 332: synchronization_statement ::= upc_barrier ;
+ // Rule 340: synchronization_statement ::= upc_barrier ;
//
- case 332: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, false); break;
+ case 340: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, false); break;
}
//
- // Rule 333: synchronization_statement ::= upc_fence ;
+ // Rule 341: synchronization_statement ::= upc_fence ;
//
- case 333: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_fence, false); break;
+ case 341: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_fence, false); break;
}
//
- // Rule 334: iteration_statement ::= upc_forall ( expression ; expression ; expression ; affinity ) statement
+ // Rule 342: iteration_statement ::= upc_forall ( expression ; expression ; expression ; affinity ) statement
//
- case 334: { action. consumeStatementUPCForallLoop(true, true, true, true); break;
+ case 342: { action. consumeStatementUPCForallLoop(true, true, true, true); break;
}
//
- // Rule 335: iteration_statement ::= upc_forall ( expression ; expression ; expression ; ) statement
+ // Rule 343: iteration_statement ::= upc_forall ( expression ; expression ; expression ; ) statement
//
- case 335: { action. consumeStatementUPCForallLoop(true, true, true, false); break;
+ case 343: { action. consumeStatementUPCForallLoop(true, true, true, false); break;
}
//
- // Rule 336: iteration_statement ::= upc_forall ( expression ; expression ; ; affinity ) statement
+ // Rule 344: iteration_statement ::= upc_forall ( expression ; expression ; ; affinity ) statement
//
- case 336: { action. consumeStatementUPCForallLoop(true, true, false, true); break;
+ case 344: { action. consumeStatementUPCForallLoop(true, true, false, true); break;
}
//
- // Rule 337: iteration_statement ::= upc_forall ( expression ; expression ; ; ) statement
+ // Rule 345: iteration_statement ::= upc_forall ( expression ; expression ; ; ) statement
//
- case 337: { action. consumeStatementUPCForallLoop(true, true, false, false); break;
+ case 345: { action. consumeStatementUPCForallLoop(true, true, false, false); break;
}
//
- // Rule 338: iteration_statement ::= upc_forall ( expression ; ; expression ; affinity ) statement
+ // Rule 346: iteration_statement ::= upc_forall ( expression ; ; expression ; affinity ) statement
//
- case 338: { action. consumeStatementUPCForallLoop(true, false, true, true); break;
+ case 346: { action. consumeStatementUPCForallLoop(true, false, true, true); break;
}
//
- // Rule 339: iteration_statement ::= upc_forall ( expression ; ; expression ; ) statement
+ // Rule 347: iteration_statement ::= upc_forall ( expression ; ; expression ; ) statement
//
- case 339: { action. consumeStatementUPCForallLoop(true, false, true, false); break;
+ case 347: { action. consumeStatementUPCForallLoop(true, false, true, false); break;
}
//
- // Rule 340: iteration_statement ::= upc_forall ( expression ; ; ; affinity ) statement
+ // Rule 348: iteration_statement ::= upc_forall ( expression ; ; ; affinity ) statement
//
- case 340: { action. consumeStatementUPCForallLoop(true, false, false, true); break;
+ case 348: { action. consumeStatementUPCForallLoop(true, false, false, true); break;
}
//
- // Rule 341: iteration_statement ::= upc_forall ( expression ; ; ; ) statement
+ // Rule 349: iteration_statement ::= upc_forall ( expression ; ; ; ) statement
//
- case 341: { action. consumeStatementUPCForallLoop(true, false, false, false); break;
+ case 349: { action. consumeStatementUPCForallLoop(true, false, false, false); break;
}
//
- // Rule 342: iteration_statement ::= upc_forall ( ; expression ; expression ; affinity ) statement
+ // Rule 350: iteration_statement ::= upc_forall ( ; expression ; expression ; affinity ) statement
//
- case 342: { action. consumeStatementUPCForallLoop(false, true, true, true); break;
+ case 350: { action. consumeStatementUPCForallLoop(false, true, true, true); break;
}
//
- // Rule 343: iteration_statement ::= upc_forall ( ; expression ; expression ; ) statement
+ // Rule 351: iteration_statement ::= upc_forall ( ; expression ; expression ; ) statement
//
- case 343: { action. consumeStatementUPCForallLoop(false, true, true, false); break;
+ case 351: { action. consumeStatementUPCForallLoop(false, true, true, false); break;
}
//
- // Rule 344: iteration_statement ::= upc_forall ( ; expression ; ; affinity ) statement
+ // Rule 352: iteration_statement ::= upc_forall ( ; expression ; ; affinity ) statement
//
- case 344: { action. consumeStatementUPCForallLoop(false, true, false, true); break;
+ case 352: { action. consumeStatementUPCForallLoop(false, true, false, true); break;
}
//
- // Rule 345: iteration_statement ::= upc_forall ( ; expression ; ; ) statement
+ // Rule 353: iteration_statement ::= upc_forall ( ; expression ; ; ) statement
//
- case 345: { action. consumeStatementUPCForallLoop(false, true, false, false); break;
+ case 353: { action. consumeStatementUPCForallLoop(false, true, false, false); break;
}
//
- // Rule 346: iteration_statement ::= upc_forall ( ; ; expression ; affinity ) statement
+ // Rule 354: iteration_statement ::= upc_forall ( ; ; expression ; affinity ) statement
//
- case 346: { action. consumeStatementUPCForallLoop(false, false, true, true); break;
+ case 354: { action. consumeStatementUPCForallLoop(false, false, true, true); break;
}
//
- // Rule 347: iteration_statement ::= upc_forall ( ; ; expression ; ) statement
+ // Rule 355: iteration_statement ::= upc_forall ( ; ; expression ; ) statement
//
- case 347: { action. consumeStatementUPCForallLoop(false, false, true, false); break;
+ case 355: { action. consumeStatementUPCForallLoop(false, false, true, false); break;
}
//
- // Rule 348: iteration_statement ::= upc_forall ( ; ; ; affinity ) statement
+ // Rule 356: iteration_statement ::= upc_forall ( ; ; ; affinity ) statement
//
- case 348: { action. consumeStatementUPCForallLoop(false, false, false, true); break;
+ case 356: { action. consumeStatementUPCForallLoop(false, false, false, true); break;
}
//
- // Rule 349: iteration_statement ::= upc_forall ( ; ; ; ) statement
+ // Rule 357: iteration_statement ::= upc_forall ( ; ; ; ) statement
//
- case 349: { action. consumeStatementUPCForallLoop(false, false, false, false); break;
+ case 357: { action. consumeStatementUPCForallLoop(false, false, false, false); break;
}
//
- // Rule 350: iteration_statement ::= upc_forall ( declaration expression ; expression ; affinity ) statement
+ // Rule 358: iteration_statement ::= upc_forall ( declaration expression ; expression ; affinity ) statement
//
- case 350: { action. consumeStatementUPCForallLoop(true, true, true, true); break;
+ case 358: { action. consumeStatementUPCForallLoop(true, true, true, true); break;
}
//
- // Rule 351: iteration_statement ::= upc_forall ( declaration expression ; expression ; ) statement
+ // Rule 359: iteration_statement ::= upc_forall ( declaration expression ; expression ; ) statement
//
- case 351: { action. consumeStatementUPCForallLoop(true, true, true, false); break;
+ case 359: { action. consumeStatementUPCForallLoop(true, true, true, false); break;
}
//
- // Rule 352: iteration_statement ::= upc_forall ( declaration expression ; ; affinity ) statement
+ // Rule 360: iteration_statement ::= upc_forall ( declaration expression ; ; affinity ) statement
//
- case 352: { action. consumeStatementUPCForallLoop(true, true, false, true); break;
+ case 360: { action. consumeStatementUPCForallLoop(true, true, false, true); break;
}
//
- // Rule 353: iteration_statement ::= upc_forall ( declaration expression ; ; ) statement
+ // Rule 361: iteration_statement ::= upc_forall ( declaration expression ; ; ) statement
//
- case 353: { action. consumeStatementUPCForallLoop(true, true, false, false); break;
+ case 361: { action. consumeStatementUPCForallLoop(true, true, false, false); break;
}
//
- // Rule 354: iteration_statement ::= upc_forall ( declaration ; expression ; affinity ) statement
+ // Rule 362: iteration_statement ::= upc_forall ( declaration ; expression ; affinity ) statement
//
- case 354: { action. consumeStatementUPCForallLoop(true, false, true, true); break;
+ case 362: { action. consumeStatementUPCForallLoop(true, false, true, true); break;
}
//
- // Rule 355: iteration_statement ::= upc_forall ( declaration ; expression ; ) statement
+ // Rule 363: iteration_statement ::= upc_forall ( declaration ; expression ; ) statement
//
- case 355: { action. consumeStatementUPCForallLoop(true, false, true, false); break;
+ case 363: { action. consumeStatementUPCForallLoop(true, false, true, false); break;
}
//
- // Rule 356: iteration_statement ::= upc_forall ( declaration ; ; affinity ) statement
+ // Rule 364: iteration_statement ::= upc_forall ( declaration ; ; affinity ) statement
//
- case 356: { action. consumeStatementUPCForallLoop(true, false, false, true); break;
+ case 364: { action. consumeStatementUPCForallLoop(true, false, false, true); break;
}
//
- // Rule 357: iteration_statement ::= upc_forall ( declaration ; ; ) statement
+ // Rule 365: iteration_statement ::= upc_forall ( declaration ; ; ) statement
//
- case 357: { action. consumeStatementUPCForallLoop(true, false, false, false); break;
+ case 365: { action. consumeStatementUPCForallLoop(true, false, false, false); break;
}
//
- // Rule 359: affinity ::= continue
+ // Rule 367: affinity ::= continue
//
- case 359: { 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/UPCNoCastExpressionParserprs.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParserprs.java
index c919965ad79..f46352be62a 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, 2008 IBM Corporation and others.
+* Copyright (c) 2006, 2009 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -35,191 +35,197 @@ public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface BaseCheck {
public final static short baseCheck[] = {0,
- 0,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,3,1,1,1,4,
- 4,3,3,2,2,8,1,0,1,1,
- 1,2,2,2,2,2,2,2,2,2,
- 4,1,1,3,3,3,1,3,3,1,
- 3,3,1,3,3,3,3,1,3,3,
- 1,3,1,3,1,3,1,3,1,3,
- 1,5,1,3,3,3,3,3,3,3,
- 3,3,3,3,1,1,2,1,0,1,
- 3,1,1,1,1,1,1,1,1,3,
- 3,2,2,4,1,2,1,1,1,2,
- 5,7,5,1,0,7,5,9,8,3,
- 2,2,2,3,2,4,2,2,2,2,
- 2,1,1,1,1,2,1,2,2,2,
- 1,2,2,1,2,2,1,2,2,1,
- 2,2,1,3,1,3,1,1,1,1,
+ 0,0,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,3,1,
+ 1,4,4,3,3,2,2,4,1,0,
+ 1,1,2,2,2,2,2,2,2,2,
+ 2,4,1,1,3,3,3,1,3,3,
+ 1,3,3,1,3,3,3,3,1,3,
+ 3,1,3,1,3,1,3,1,3,1,
+ 3,1,5,1,3,3,3,3,3,3,
+ 3,3,3,3,3,1,1,2,1,0,
+ 1,3,1,1,1,1,1,1,1,1,
+ 3,4,3,2,4,1,2,1,1,1,
+ 2,5,7,5,1,0,7,5,9,8,
+ 3,2,2,2,3,2,4,2,2,2,
+ 2,2,1,1,1,1,2,1,2,2,
+ 2,1,2,2,1,2,2,1,2,2,
+ 1,2,2,1,3,1,3,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 5,5,6,6,2,2,2,1,0,1,
- 2,4,2,1,1,1,3,1,1,2,
- 3,6,7,1,0,1,3,1,3,1,
- 1,1,1,1,1,3,1,1,1,1,
- 1,3,1,2,2,1,5,3,1,3,
- 5,1,3,1,3,2,4,3,5,4,
- 6,6,3,5,1,1,2,3,4,1,
- 2,1,3,1,1,3,2,1,1,1,
- 1,2,1,2,3,1,1,1,3,1,
- 2,2,2,3,4,5,1,5,1,1,
- 3,3,4,1,1,2,3,2,3,2,
- 1,0,1,2,1,1,1,1,1,2,
- 4,3,6,2,4,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,-2,0,0,
- 0,0,0,0,0,0,0,0,0,-78,
- -4,-87,0,0,0,0,-5,0,0,0,
- 0,0,0,0,0,0,-60,0,0,0,
- 0,0,0,0,-141,0,0,0,0,0,
- 0,0,0,0,0,-18,0,-6,0,0,
+ 1,1,1,1,1,1,1,1,6,8,
+ 0,0,1,1,3,3,3,0,1,0,
+ 1,2,4,2,1,1,1,3,1,1,
+ 2,3,7,8,0,1,0,1,3,1,
+ 3,1,1,1,1,1,1,3,1,1,
+ 1,1,1,3,1,2,2,1,5,3,
+ 1,3,5,1,3,1,3,2,4,3,
+ 5,4,6,6,3,5,1,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,0,-61,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-135,
+ 0,0,0,0,0,0,0,-190,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-186,
+ 0,0,0,0,0,0,0,0,-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,0,0,0,0,0,0,0,-193,
- -9,0,0,0,0,0,0,-30,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,0,0,0,-35,
- -36,0,-156,-19,-20,0,0,0,0,0,
- 0,0,0,-84,0,0,0,0,0,0,
- 0,0,-181,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,0,0,
- 0,0,-79,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-144,0,-7,0,0,0,0,0,
-57,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-21,
- -81,0,0,0,0,0,0,0,0,-61,
+ 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,-22,-23,0,0,0,
- -8,0,0,0,0,0,0,0,0,0,
- -15,0,0,0,0,0,0,0,0,0,
- 0,0,-3,0,0,0,0,0,0,0,
- -167,0,0,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,0,-127,0,0,0,0,0,0,0,
- -24,0,0,0,0,0,0,0,0,0,
- 0,-25,0,0,-48,0,0,0,0,0,
- 0,0,-26,0,0,0,-27,-96,-140,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,0,-128,
0,0,0,0,0,0,0,0,0,0,
- -201,0,0,0,0,0,0,0,-73,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,
- -62,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,0,
- -43,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,0,0,-64,0,
- 0,0,0,0,0,0,-74,0,0,0,
- 0,0,0,0,0,0,0,0,-65,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,0,0,0,0,0,0,0,-66,0,
- 0,0,0,0,0,0,-75,0,0,0,
- 0,0,0,0,0,0,0,0,-67,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,0,0,0,0,0,-68,0,
- 0,0,0,0,0,0,-76,0,0,0,
- 0,0,0,0,0,0,0,0,-69,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,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,0,-70,0,
- 0,0,0,0,0,0,-95,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,0,
- 0,0,0,0,0,0,0,0,-72,0,
- 0,0,0,0,0,0,-124,0,0,0,
- 0,0,0,0,0,0,0,0,-160,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-161,0,
- 0,0,0,0,0,0,-142,0,0,0,
- 0,0,0,0,0,0,0,0,-184,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,0,0,0,0,0,0,-198,0,0,
- 0,0,0,0,0,-39,0,0,0,0,
- 0,0,0,0,0,0,-16,0,0,0,
- 0,0,0,-52,0,0,0,0,0,0,
- 0,-28,0,-204,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,-208,0,0,0,0,0,0,0,
- -40,0,0,0,0,0,0,0,0,0,
- 0,-29,-77,-93,-94,-155,0,0,-53,0,
- 0,0,0,0,0,0,-97,0,-218,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,-134,0,0,
- 0,0,0,0,0,-82,0,0,0,0,
- 0,0,0,0,0,0,-143,-122,-88,0,
- -98,0,0,-159,0,-58,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-165,
- 0,0,0,0,0,-187,0,0,0,0,
- 0,-85,-164,0,0,0,0,0,0,0,
- 0,0,0,0,0,-99,0,0,0,0,
- 0,0,0,-172,0,0,0,0,0,0,
- 0,0,-171,-92,0,0,0,0,-90,0,
- 0,0,0,0,0,0,-117,0,0,0,
- 0,0,0,-119,0,0,0,0,0,0,
- -199,0,0,-37,-195,0,0,0,0,0,
- 0,0,0,-54,0,0,0,0,0,0,
- 0,-217,0,0,0,0,-1,-100,0,0,
- 0,0,0,0,0,-121,-101,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,-102,-185,0,0,0,0,0,0,
- 0,0,0,0,0,-139,0,-169,0,-147,
- -176,0,-55,0,0,0,0,0,0,0,
- -129,0,0,0,0,0,0,0,0,-175,
- 0,0,-83,-44,0,0,0,0,0,0,
- 0,0,0,-56,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,
- -162,-188,-189,-202,0,0,0,0,0,-49,
- 0,0,0,0,0,0,0,-210,0,0,
- -41,0,0,0,0,0,0,0,0,0,
- -50,0,0,0,0,0,0,0,-211,0,
- 0,-51,0,0,0,0,0,0,0,0,
- 0,0,-86,-80,0,0,0,0,0,0,
- 0,0,-126,-192,-131,-183,-132,0,-166,-89,
- 0,0,0,0,0,0,0,0,0,-103,
- -104,0,0,0,-91,0,0,0,0,-137,
- 0,-190,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,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-123,0,0,0,0,0,0,-148,0,
- 0,0,0,0,0,-163,0,0,0,0,
- 0,0,0,-219,-136,-149,-151,-154,-180,0,
- 0,-200,0,0,0,0,0,-10,0,0,
- 0,0,0,0,-11,0,0,0,0,0,
- 0,-12,0,0,0,0,0,0,0,-105,
- 0,0,0,0,0,0,0,-13,0,0,
- 0,0,0,0,-14,0,0,0,0,0,
- 0,-17,-31,-157,-213,0,-106,-215,-107,0,
- 0,0,-32,-33,-168,-207,-203,-108,-42,-109,
+ -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,0,0,0,0,0,-34,-125,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,
- 0,0,-45,0,0,0,0,0,0,0,
- 0,0,0,-194,0,-196,0,0,0,-46,
- 0,0,0,0,0,0,-47,0,0,0,
- 0,0,0,-138,-197,0,0,-205,-150,-110,
- 0,0,-212,0,-152,0,0,-170,0,-111,
- 0,-112,0,-174,-113,0,0,0,0,0,
- 0,0,-191,-214,0,0,0,-114,-206,0,
- 0,0,0,-115,0,0,0,-153,-146,-59,
- 0,-179,-116,-128,0,-130,0,0,-118,0,
- 0,0,-133,0,0,0,0,0,0,-216,
- 0,-145,0,0,0,0,0,-177,0,0,
- 0,0,0,0,0,0,0,0,-158,0,
- -178,0,0,-182,0,-209,-220,0,0,0,
- 0,0,0,0,0,0,0,0,0,-173,
+ -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,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,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
};
};
public final static short baseCheck[] = BaseCheck.baseCheck;
@@ -229,192 +235,198 @@ public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface BaseAction {
public final static char baseAction[] = {
- 85,8,21,21,20,20,30,30,70,70,
- 1,1,1,1,2,2,2,3,3,4,
- 4,4,4,4,4,4,4,54,54,71,
- 71,5,5,5,5,5,5,5,5,5,
- 5,5,6,7,7,7,7,9,9,9,
- 10,10,10,11,11,11,11,11,12,12,
- 12,13,13,14,14,15,15,16,16,17,
- 17,18,18,19,19,19,19,19,19,19,
- 19,19,19,19,19,96,31,29,86,86,
- 73,73,44,97,97,97,97,97,97,97,
- 98,98,98,99,99,104,104,105,105,100,
- 100,101,101,101,107,107,102,102,102,102,
- 103,103,103,103,103,106,106,22,22,22,
- 22,22,33,33,33,79,79,74,74,74,
- 74,75,75,75,76,76,76,77,77,77,
- 78,78,78,108,108,109,109,110,34,36,
- 36,36,36,36,55,57,57,57,57,57,
- 57,57,57,57,57,57,57,67,67,32,
- 32,64,64,64,64,65,65,65,58,58,
- 59,59,51,51,51,27,87,87,80,81,
- 81,81,66,66,82,82,83,83,68,68,
- 23,24,24,24,35,50,50,37,37,37,
- 37,40,40,42,38,38,39,43,43,111,
- 111,41,112,112,88,88,28,28,28,28,
- 28,28,28,28,28,84,52,52,52,52,
- 61,61,60,60,60,62,62,53,53,89,
- 89,49,49,63,63,63,45,45,45,46,
- 47,47,47,48,48,48,48,56,56,72,
- 72,72,72,69,90,91,91,92,92,93,
- 93,113,113,114,114,115,115,115,115,117,
- 117,116,116,116,118,118,85,85,1,1,
- 1,5,5,5,5,5,5,23,23,25,
- 25,26,26,94,94,94,97,119,119,119,
- 119,119,119,119,102,102,102,102,102,102,
- 102,102,102,102,102,102,102,102,102,102,
- 102,102,102,102,102,102,102,102,120,120,
- 1,14,19,15,416,1132,43,515,314,514,
- 626,600,701,627,723,712,1092,727,73,90,
- 105,38,182,133,210,317,318,784,14,19,
- 15,416,315,135,132,134,158,752,14,19,
- 15,416,42,43,515,238,514,626,600,701,
- 627,723,712,1700,1734,137,67,164,816,14,
- 19,15,416,313,141,144,147,150,251,210,
- 317,318,1739,381,1373,1222,1453,1470,1485,1254,
- 688,14,19,15,416,1132,43,515,513,514,
- 626,600,701,627,723,712,1092,727,73,277,
- 688,14,19,15,416,1132,43,515,513,514,
- 626,600,701,627,723,712,1092,727,73,277,
- 595,752,14,19,15,416,42,39,752,14,
- 19,15,416,1132,43,515,279,514,626,600,
- 701,627,723,712,1092,727,73,91,270,280,
- 528,528,1136,516,243,307,279,216,1210,218,
- 1469,220,221,226,525,265,1176,601,268,280,
- 1133,16,1688,480,14,19,15,416,1132,43,
- 515,513,514,626,600,701,627,723,712,1092,
- 727,73,277,394,14,19,15,416,1132,43,
- 515,1188,514,626,600,701,627,723,712,1092,
- 727,73,1316,340,236,848,14,19,15,416,
- 311,752,14,19,15,416,42,43,515,281,
- 514,626,600,701,627,1618,133,210,317,318,
- 72,514,282,1774,1334,285,135,132,134,158,
- 752,14,19,15,416,42,43,515,319,514,
- 626,600,701,627,723,1702,140,357,137,271,
- 164,880,14,19,15,416,40,141,144,147,
- 150,752,14,19,15,416,33,1373,1222,1453,
- 1470,1485,1254,752,14,19,15,416,1132,43,
- 515,105,514,626,600,701,627,723,712,1092,
- 727,73,90,912,14,19,15,416,1132,43,
- 515,1684,514,626,600,701,627,723,712,1092,
- 727,73,1346,605,14,19,15,416,42,43,
- 515,71,514,626,600,701,627,723,712,1092,
- 727,92,126,480,325,752,14,19,15,416,
- 42,43,515,228,514,1236,381,287,598,437,
- 14,19,15,416,1132,43,515,1350,514,626,
- 600,701,627,723,712,1092,727,73,1401,20,
- 237,720,14,19,15,416,1132,43,515,528,
- 514,626,600,701,627,723,712,1092,727,73,
- 277,752,14,19,15,416,1132,43,515,1705,
- 514,626,600,701,627,723,712,1092,727,73,
- 84,752,14,19,15,416,42,43,1147,752,
- 14,19,15,416,1132,43,515,283,514,626,
- 600,701,627,723,712,1092,727,73,83,752,
- 14,19,15,416,1132,43,515,528,514,626,
- 600,701,627,723,712,1092,727,73,82,752,
- 14,19,15,416,1132,43,515,1718,514,626,
- 600,701,627,723,712,1092,727,73,81,752,
- 14,19,15,416,1132,43,515,528,514,626,
- 600,701,627,723,712,1092,727,73,80,752,
- 14,19,15,416,1132,43,515,1724,514,626,
- 600,701,627,723,712,1092,727,73,79,752,
- 14,19,15,416,1132,43,515,528,514,626,
- 600,701,627,723,712,1092,727,73,78,752,
- 14,19,15,416,1132,43,515,1733,514,626,
- 600,701,627,723,712,1092,727,73,77,752,
- 14,19,15,416,1132,43,515,528,514,626,
- 600,701,627,723,712,1092,727,73,76,752,
- 14,19,15,416,1132,43,515,21,514,626,
- 600,701,627,723,712,1092,727,73,75,752,
- 14,19,15,416,1132,43,515,528,514,626,
- 600,701,627,723,712,1092,727,73,74,752,
- 14,19,15,416,1132,43,515,269,514,626,
- 600,701,627,723,712,1092,727,73,1402,752,
- 14,19,15,416,1132,43,515,528,514,626,
- 600,701,627,723,712,1092,727,73,1403,752,
- 14,19,15,416,42,43,515,275,514,626,
- 600,701,627,723,712,1092,727,92,752,14,
- 19,15,416,42,43,515,353,514,626,600,
- 701,627,723,712,1092,727,92,752,14,19,
- 15,416,32,1404,752,14,19,15,416,42,
- 43,515,51,1480,752,14,19,15,416,42,
- 43,515,209,514,626,600,701,627,723,712,
- 1092,727,92,752,14,19,15,416,42,43,
- 515,353,514,626,600,701,627,723,712,1092,
- 727,92,887,531,944,981,495,23,1605,752,
- 14,19,15,416,42,43,515,426,1481,752,
- 14,19,15,416,42,43,515,200,514,626,
- 600,701,627,723,712,1092,727,92,752,14,
- 19,15,416,42,43,515,57,514,626,600,
- 701,627,723,712,1092,727,72,471,124,239,
- 1549,538,22,201,295,661,752,14,19,15,
- 416,42,43,515,272,514,626,600,701,1620,
- 1006,250,210,317,318,270,352,251,210,317,
- 318,1736,993,427,215,1210,218,1469,220,221,
- 226,1713,263,1176,601,268,344,259,225,251,
- 210,317,318,273,529,133,210,317,318,405,
- 260,270,1285,1005,340,143,132,134,158,296,
- 215,1210,218,1469,220,221,226,6,263,1176,
- 601,268,729,1492,68,440,257,133,210,317,
- 318,726,1490,182,431,366,987,136,132,134,
- 158,1743,380,1439,752,14,19,15,416,42,
- 43,515,366,514,626,600,1580,648,513,138,
- 1439,164,270,1758,193,653,598,515,142,145,
- 148,151,215,1210,218,1469,220,221,226,263,
- 1176,601,268,638,982,1776,86,238,306,215,
- 1210,218,1469,220,221,226,598,262,528,207,
- 598,640,1776,752,14,19,15,416,42,43,
- 515,6,514,626,1607,196,198,240,276,1689,
- 1005,323,1616,512,752,14,19,15,416,42,
- 43,1191,197,198,752,14,19,15,416,42,
- 43,515,368,514,626,1609,133,210,317,318,
- 181,598,598,598,598,1685,140,132,134,158,
- 752,14,19,15,416,42,43,515,80,514,
- 1308,680,239,241,242,287,1439,286,139,653,
- 164,752,14,19,15,416,42,43,515,105,
- 514,1317,752,14,19,15,416,42,43,515,
- 88,514,1333,1030,474,215,1210,218,1469,220,
- 221,226,1639,681,681,6,726,6,1492,945,
- 1042,1729,1719,1695,273,1728,133,210,317,318,
- 602,642,270,274,228,1073,146,132,134,158,
- 124,1544,528,133,210,317,318,224,288,263,
- 1176,601,268,149,132,134,158,947,133,210,
- 317,318,222,250,210,317,318,987,152,132,
- 134,158,562,14,19,15,416,42,35,562,
- 14,19,15,416,42,35,562,14,19,15,
- 416,42,35,243,308,181,6,6,6,1005,
- 324,1194,640,1769,1698,1704,1732,244,752,14,
- 19,15,416,42,38,752,14,19,15,416,
- 42,37,752,14,19,15,416,42,36,26,
- 612,216,1210,218,1469,220,221,226,752,14,
- 19,15,416,42,35,752,14,19,15,416,
- 42,34,6,6,6,598,1693,129,528,186,
- 360,360,460,6,6,793,957,726,656,6,
- 390,360,360,573,195,195,289,653,227,1284,
- 1284,86,86,511,511,195,195,1187,6,643,
- 1284,1284,86,86,511,511,360,573,86,290,
- 728,510,759,752,14,19,15,416,42,46,
- 195,1187,827,867,1005,1284,1005,86,256,511,
- 752,14,19,15,416,42,45,752,14,19,
- 15,416,42,44,124,1005,192,907,495,55,
- 162,1739,255,1005,184,112,183,573,169,1027,
- 149,1752,337,573,283,763,573,250,210,317,
- 318,195,573,643,1005,202,1244,195,789,698,
- 195,573,1244,203,790,1244,195,573,445,285,
- 6,1244,445,794,795,1187,821,573,653,637,
- 190,1187,1714,822,278,405,190,1253,1790,190,
- 486,1187,200,1370,1790,190,1664,1790,17,86,
- 1758,1690,1666,1790,1758,480,255,270,999,124,
- 231,863,255,1027,400,1752,526,644,1859,1608,
- 1859,1752,255,1859,265,1176,601,268,1859,1348,
- 226,1752,250,210,317,318,206,1859,573,1859,
- 206,1859,1859,1859,1859,1859,1859,1750,1859,1859,
- 1351,1771,195,1859,1552,1771,1859,1244,1859,1859,
- 1859,1859,1859,1859,1859,1859,1859,1859,1859,1859,
- 1216,1859,1859,1859,1859,1859,1859,1859,1859,1859,
- 1859,191,1859,0,320,693,0,17,178,0,
- 18,177,0,1,2082,0,1,2093,0
+ 89,11,105,22,22,21,21,46,46,72,
+ 72,1,1,2,2,2,2,3,3,3,
+ 4,5,5,5,5,5,5,5,5,62,
+ 62,73,6,6,6,6,6,6,6,6,
+ 6,6,6,7,8,8,8,8,9,9,
+ 9,10,10,10,12,12,12,12,12,13,
+ 13,13,14,14,15,15,16,16,17,17,
+ 18,18,19,19,20,20,20,20,20,20,
+ 20,20,20,20,20,20,106,31,30,90,
+ 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,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
};
};
public final static char baseAction[] = BaseAction.baseAction;
@@ -425,123 +437,111 @@ public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface TermCheck {
public final static byte termCheck[] = {0,
0,1,2,3,4,0,6,7,8,9,
- 10,11,12,13,14,15,0,17,18,19,
- 20,21,22,23,24,25,26,27,28,29,
- 30,31,32,33,34,35,36,0,38,39,
+ 10,11,12,13,14,0,16,17,18,19,
+ 20,21,22,0,24,25,26,27,28,29,
+ 30,31,32,33,34,35,36,37,0,1,
40,41,42,43,44,45,46,47,48,49,
- 0,51,52,53,0,1,0,3,2,5,
- 6,7,8,9,10,11,0,0,2,15,
- 0,0,16,6,7,8,9,10,11,0,
- 1,2,16,17,18,69,32,33,34,35,
- 36,54,38,39,40,41,42,43,44,45,
- 46,47,48,49,0,51,52,53,4,55,
- 56,0,1,0,3,0,5,6,7,8,
- 9,10,11,0,74,0,15,61,0,6,
- 7,8,9,10,11,64,65,66,67,0,
- 70,71,76,32,33,34,35,36,0,38,
- 39,40,41,42,43,44,45,46,47,48,
- 49,0,51,52,53,0,55,56,0,1,
- 0,3,0,5,6,7,8,9,10,11,
- 0,0,1,15,3,0,6,7,8,9,
- 10,11,64,65,66,67,57,58,73,0,
- 32,33,34,35,36,0,38,39,40,41,
- 42,43,44,45,46,47,48,49,37,51,
- 52,53,74,55,56,0,1,0,3,68,
- 5,6,7,8,9,10,11,0,0,1,
- 15,3,0,6,7,8,9,10,11,64,
- 65,66,67,54,12,13,0,32,33,34,
- 35,36,0,38,39,40,41,42,43,44,
- 45,46,47,48,49,37,51,52,53,0,
- 55,56,0,1,0,3,0,5,6,7,
- 8,9,10,11,0,0,1,15,3,72,
- 6,7,8,9,10,11,0,0,1,2,
- 4,4,0,0,32,33,34,35,36,0,
- 38,39,40,41,42,43,44,45,46,47,
- 48,49,37,51,52,53,0,55,56,0,
- 1,0,3,0,60,6,7,8,9,10,
- 11,0,0,1,15,3,0,6,7,8,
- 9,10,11,77,78,0,1,2,62,63,
- 14,32,33,34,35,36,0,38,39,40,
- 41,42,43,44,45,46,47,48,49,0,
- 51,52,53,0,1,2,3,4,5,0,
- 57,58,89,14,0,12,13,14,15,73,
- 17,18,19,20,21,22,23,24,25,26,
- 27,28,29,30,31,0,0,1,2,4,
- 0,5,2,68,4,0,0,1,2,3,
- 4,5,16,0,0,1,16,3,12,13,
- 14,15,59,17,18,19,20,21,22,23,
- 24,25,26,27,28,29,30,31,69,0,
- 0,1,2,0,4,2,50,0,5,0,
- 1,2,3,4,5,0,16,62,63,16,
- 5,12,13,14,0,59,17,18,19,20,
- 21,22,23,24,25,26,27,28,29,30,
- 31,0,0,0,0,0,37,6,7,8,
- 9,10,11,50,0,0,15,0,0,16,
- 0,16,5,5,55,50,0,0,0,54,
- 16,4,0,32,33,34,35,36,54,38,
- 39,40,41,42,43,44,45,46,47,48,
- 49,0,1,2,3,4,5,37,0,57,
- 58,57,58,12,13,14,61,50,17,18,
- 19,20,21,22,23,24,25,26,27,28,
- 29,30,31,68,0,1,2,0,4,62,
- 63,0,5,75,0,1,2,3,4,5,
- 16,0,0,12,13,0,12,13,14,0,
- 59,17,18,19,20,21,22,23,24,25,
- 26,27,28,29,30,31,0,0,2,0,
- 4,0,0,0,1,0,4,0,1,2,
- 3,4,16,12,13,0,59,0,0,12,
- 13,14,0,59,17,18,19,20,21,22,
- 23,24,25,26,27,28,29,30,31,0,
- 0,70,71,0,5,5,0,0,1,2,
- 3,4,0,54,57,58,0,0,1,12,
- 13,14,60,56,17,18,19,20,21,22,
- 23,24,25,26,27,28,29,30,31,0,
- 1,2,3,4,37,0,1,72,3,50,
- 50,12,13,14,0,0,17,18,19,20,
- 21,22,23,24,25,26,27,28,29,30,
- 31,0,1,2,3,4,37,60,0,1,
- 0,3,0,12,13,14,0,0,17,18,
- 19,20,21,22,23,24,25,26,27,28,
- 29,30,31,0,1,2,3,4,0,0,
- 0,0,0,0,0,12,13,14,0,37,
- 17,18,19,20,21,22,23,24,25,26,
+ 50,51,0,53,54,55,0,1,0,3,
+ 2,5,0,0,8,9,10,5,12,13,
+ 14,0,1,2,16,17,0,0,73,0,
+ 1,23,3,6,7,70,71,0,32,33,
+ 34,35,36,37,15,72,40,41,42,43,
+ 44,45,46,47,48,49,50,51,52,53,
+ 54,55,0,1,52,3,60,5,0,61,
+ 8,9,10,0,12,13,14,64,65,66,
+ 67,8,9,10,76,12,13,14,0,68,
+ 64,65,66,67,32,33,34,35,36,37,
+ 0,0,40,41,42,43,44,45,46,47,
+ 48,49,50,51,52,53,54,55,0,1,
+ 0,3,60,5,0,0,8,9,10,0,
+ 12,13,14,8,9,10,0,12,13,14,
+ 0,1,0,3,56,57,4,23,0,0,
+ 32,33,34,35,36,37,56,57,40,41,
+ 42,43,44,45,46,47,48,49,50,51,
+ 52,53,54,55,0,1,0,3,60,0,
+ 4,0,8,9,10,61,12,13,14,8,
+ 9,10,0,12,13,14,4,77,78,0,
+ 64,65,66,67,62,63,32,33,34,35,
+ 36,37,0,0,40,41,42,43,44,45,
+ 46,47,48,49,50,51,0,53,54,55,
+ 0,1,2,3,4,5,6,7,62,63,
+ 0,11,2,0,0,5,16,17,18,19,
+ 20,21,22,74,24,25,26,27,28,29,
+ 30,31,32,23,38,0,1,2,3,4,
+ 5,6,7,0,0,0,11,4,0,39,
+ 5,16,17,18,19,20,21,22,58,24,
+ 25,26,27,28,29,30,31,32,0,0,
+ 0,1,2,3,4,5,6,7,0,11,
+ 0,11,2,38,4,15,16,17,18,19,
+ 20,21,22,58,24,25,26,27,28,29,
+ 30,31,0,23,0,62,63,59,4,0,
+ 8,9,10,69,12,13,14,0,1,2,
+ 75,4,52,79,80,81,82,83,84,85,
+ 86,87,88,0,32,33,34,35,36,37,
+ 23,72,40,41,42,43,44,45,46,47,
+ 48,49,50,51,0,1,2,3,4,5,
+ 6,7,0,59,0,11,2,5,4,0,
+ 16,17,18,19,20,21,22,0,24,25,
+ 26,27,28,29,30,31,0,23,0,0,
+ 1,2,3,4,5,6,7,11,0,0,
+ 11,39,0,5,5,16,17,18,19,20,
+ 21,22,58,24,25,26,27,28,29,30,
+ 31,0,1,2,0,1,2,3,4,0,
+ 6,7,0,56,57,11,38,39,39,0,
+ 16,17,18,19,20,21,22,58,24,25,
+ 26,27,28,29,30,31,0,1,89,3,
+ 0,0,1,2,3,4,0,6,7,0,
+ 68,15,11,0,1,2,15,16,17,18,
+ 19,20,21,22,60,24,25,26,27,28,
+ 29,30,31,0,1,2,3,4,38,6,
+ 7,0,0,1,11,3,74,0,15,16,
+ 17,18,19,20,21,22,15,24,25,26,
27,28,29,30,31,0,1,2,3,4,
- 0,0,0,0,0,37,37,12,13,14,
- 37,37,17,18,19,20,21,22,23,24,
+ 23,6,7,0,0,1,11,3,69,6,
+ 7,16,17,18,19,20,21,22,0,24,
25,26,27,28,29,30,31,0,1,2,
- 3,4,60,0,0,0,0,37,37,12,
- 13,14,0,0,17,18,19,20,21,22,
- 23,24,25,26,27,28,29,30,31,0,
- 1,2,3,4,0,0,0,0,0,0,
- 0,12,13,14,0,0,17,18,19,20,
- 21,22,23,24,25,26,27,28,29,30,
- 31,0,1,2,3,4,54,0,0,0,
- 0,0,0,12,13,14,0,0,17,18,
- 19,20,21,22,23,24,25,26,27,28,
- 29,30,31,0,0,2,2,4,5,6,
- 7,8,9,10,11,69,0,0,15,16,
- 16,5,0,0,0,79,80,81,82,83,
- 84,85,86,87,88,32,33,34,35,36,
- 0,0,2,0,4,5,6,7,8,9,
- 10,11,0,50,0,15,16,16,6,7,
- 8,9,10,11,0,0,0,15,0,5,
- 54,0,32,33,34,35,36,0,0,0,
- 0,16,0,0,32,33,34,35,36,0,
- 50,75,0,0,0,6,7,8,9,10,
- 11,0,61,0,15,0,0,6,7,8,
- 9,10,11,0,0,0,15,0,0,55,
- 0,32,33,34,35,36,0,0,0,0,
- 0,0,0,32,33,34,35,36,6,7,
- 8,9,10,11,0,0,0,15,0,0,
+ 3,4,0,6,7,0,0,1,11,3,
+ 0,6,7,16,17,18,19,20,21,22,
+ 0,24,25,26,27,28,29,30,31,0,
+ 1,2,3,4,0,6,7,0,0,5,
+ 11,0,1,23,3,16,17,18,19,20,
+ 21,22,15,24,25,26,27,28,29,30,
+ 31,0,1,2,3,4,0,6,7,0,
+ 4,0,11,39,0,1,38,16,17,18,
+ 19,20,21,22,0,24,25,26,27,28,
+ 29,30,31,0,1,2,3,4,0,6,
+ 7,0,0,0,11,0,1,5,3,16,
+ 17,18,19,20,21,22,15,24,25,26,
+ 27,28,29,30,31,0,1,2,3,4,
+ 59,6,7,59,0,0,11,2,0,70,
+ 71,16,17,18,19,20,21,22,0,24,
+ 25,26,27,28,29,30,31,0,23,2,
+ 58,4,5,0,0,8,9,10,0,12,
+ 13,14,0,0,0,1,2,0,4,0,
+ 23,8,9,10,5,12,13,14,0,32,
+ 33,34,35,36,37,23,39,23,0,0,
+ 2,0,38,0,0,32,33,34,35,36,
+ 37,8,9,10,0,12,13,14,0,56,
+ 57,23,8,9,10,0,12,13,14,0,
+ 0,52,0,56,57,32,33,34,35,36,
+ 37,73,38,0,0,15,32,33,34,35,
+ 36,37,8,9,10,0,12,13,14,0,
+ 0,0,0,8,9,10,5,12,13,14,
+ 69,0,0,0,0,15,32,33,34,35,
+ 36,37,8,9,10,0,12,13,14,0,
+ 0,0,0,8,9,10,23,12,13,14,
+ 0,1,2,0,15,5,15,15,0,0,
+ 0,68,0,0,0,0,0,0,15,0,
+ 0,0,0,23,15,15,0,0,0,0,
+ 0,0,0,0,61,0,75,0,0,39,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,32,33,34,35,36,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,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;
@@ -549,117 +549,104 @@ public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface TermAction {
public final static char termAction[] = {0,
- 1859,1134,1602,1135,1588,1,2070,2071,2072,2180,
- 524,2181,1572,1565,1595,2020,208,1077,641,631,
- 1869,1870,1871,1872,1558,481,2167,2168,2169,575,
- 418,387,2021,2019,2073,2022,2018,87,2025,2030,
- 2029,2027,2028,2026,2031,2032,2024,2033,2034,2035,
- 69,1259,1189,382,1859,1,266,1,1463,189,
- 1,1,1,1,1,1,31,246,1421,1,
- 61,58,553,1,1,1,1,1,1,1,
- 2082,1418,1619,1883,1884,1058,1,1,1,1,
- 1,488,1,1,1,1,1,1,1,1,
- 1,1,1,1,1859,1,1,1,1274,189,
- 2053,1859,1,1859,1,1859,189,1,1,1,
- 1,1,1,1859,610,67,1,1121,60,2070,
- 2071,2072,2180,524,2181,1442,1431,1410,715,53,
- 1384,1353,1066,1,1,1,1,1,70,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1859,1,1,1,1859,189,2053,1859,1,
- 1859,1,1859,189,1,1,1,1,1,1,
- 247,1859,2038,1,2039,59,1,1,1,1,
- 1,1,1442,1431,1410,715,1084,1139,581,252,
- 1,1,1,1,1,1859,1,1,1,1,
- 1,1,1,1,1,1,1,1,1361,1,
- 1,1,610,189,2053,1859,1,65,1,1168,
- 188,1,1,1,1,1,1,245,1859,2038,
- 1,2039,50,2070,2071,2072,2180,524,2181,1442,
- 1431,1410,715,1615,1374,791,1859,1,1,1,
- 1,1,1859,1,1,1,1,1,1,1,
- 1,1,1,1,1,1465,1,1,1,1859,
- 188,2053,1859,1,1,1,71,189,1,1,
- 1,1,1,1,248,1859,2038,1,2039,1196,
- 2070,2071,2072,2180,524,2181,47,1859,2082,1418,
- 1677,1545,1859,1859,1,1,1,1,1,1859,
+ 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,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1467,1,1,1,68,189,2053,1859,
- 2037,1859,2036,57,2113,2070,2071,2072,2180,524,
- 2181,249,1859,1888,2020,1889,63,2070,2071,2072,
- 2180,524,2181,397,1730,1,2082,1418,1670,1653,
- 1294,2021,2019,2073,2022,2018,1859,2025,2030,2029,
- 2027,2028,2026,2031,2032,2024,2033,2034,2035,64,
- 1259,1189,382,1,1876,1602,1877,1522,1862,1859,
- 1084,1139,1843,1294,1859,1572,1565,1595,673,581,
- 1077,641,631,1869,1870,1871,1872,1558,481,2167,
- 2168,2169,575,418,387,49,1,1853,1223,1677,
- 261,1864,1454,1113,1,1859,1859,1876,1602,1877,
- 1536,1862,553,1859,205,2038,553,2039,1572,1565,
- 1595,1019,1861,1077,641,631,1869,1870,1871,1872,
- 1558,481,2167,2168,2169,575,418,387,751,1859,
- 258,2082,1223,1,1,1454,1863,1859,1864,1,
- 1876,1602,1877,1588,27,1859,553,1670,1653,553,
- 1864,1572,1565,1595,28,1861,1077,641,631,1869,
- 1870,1871,1872,1558,481,2167,2168,2169,575,418,
- 387,127,56,267,55,1859,1604,2070,2071,2072,
- 2180,524,2181,1863,320,199,2020,1859,1,553,
- 1859,1039,1864,1868,27,1863,1859,48,1859,1777,
- 1844,1677,1859,2021,2019,2073,2022,2018,533,2025,
- 2030,2029,2027,2028,2026,2031,2032,2024,2033,2034,
- 2035,1859,1876,1602,1877,1588,1862,1267,1859,1084,
- 1139,1084,1139,1572,1565,1595,1466,1863,1077,641,
- 631,1869,1870,1871,1872,1558,481,2167,2168,2169,
- 575,418,387,1149,264,2082,1223,1859,1545,1670,
- 1653,52,1862,1867,1859,1876,1602,1877,1529,1862,
- 553,62,1859,1374,791,1859,1572,1565,1595,1859,
- 1861,1077,641,631,1869,1870,1871,1872,1558,481,
- 2167,2168,2169,575,418,387,264,54,1454,28,
- 1545,51,1,1859,2094,1859,1274,1859,1,1,
- 1,1,553,1374,791,66,1861,1859,1859,1,
- 1,1,1859,1861,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1384,1353,1859,89,1864,1859,1,1876,1602,
- 1877,1588,1859,1886,1084,1139,1859,1,1856,1572,
- 1565,1595,2113,2166,1077,641,631,1869,1870,1871,
- 1872,1558,481,2167,2168,2169,575,418,387,1859,
- 1876,1602,1877,1588,1604,1859,2038,1196,2039,89,
- 1863,1572,1565,1595,1859,1859,1077,641,631,1869,
- 1870,1871,1872,1558,481,2167,2168,2169,575,418,
- 387,1859,1876,1602,1877,1588,1604,2113,204,1281,
- 1859,1281,316,1572,1565,1595,1859,1859,1077,641,
- 631,1869,1870,1871,1872,1558,481,2167,2168,2169,
- 575,418,387,1859,1876,1603,1877,1588,314,312,
- 1859,1859,1,41,186,1572,1565,1595,1859,1267,
- 1077,641,631,1869,1870,1871,1872,1558,481,2167,
- 2168,2169,575,418,387,1859,1876,1613,1877,1588,
- 185,187,1859,1859,1859,1267,1267,1572,1565,1595,
- 1267,1546,1077,641,631,1869,1870,1871,1872,1558,
- 481,2167,2168,2169,575,418,387,1859,1876,1614,
- 1877,1588,2112,1859,1859,1859,1859,1547,1548,1572,
- 1565,1595,204,1859,1077,641,631,1869,1870,1871,
- 1872,1558,481,2167,2168,2169,575,418,387,1859,
- 1876,1638,1877,1588,1859,1859,42,1859,1859,1859,
- 1859,1572,1565,1595,1859,1859,1077,641,631,1869,
- 1870,1871,1872,1558,481,2167,2168,2169,575,418,
- 387,1,1876,1602,1877,1588,2977,1859,1859,1859,
- 1859,1859,1859,1572,1565,1595,1859,1859,1077,641,
- 631,1869,1870,1871,1872,1558,481,2167,2168,2169,
- 575,418,387,17,219,1847,1464,1847,1847,178,
- 178,178,178,178,178,979,1859,1859,178,1847,
- 553,1868,1859,1859,1859,959,939,919,899,879,
- 839,859,819,799,771,178,178,178,178,178,
- 18,284,1850,1859,1850,1850,177,177,177,177,
- 177,177,128,1847,1859,177,1850,1094,2070,2071,
- 2072,2180,524,2181,1859,217,1859,2020,1859,1866,
- 1302,1859,177,177,177,177,177,1859,1859,1859,
- 1859,553,1859,1859,2021,2019,2073,2022,2018,129,
- 1850,1867,1859,1859,1859,2070,2071,2072,2180,524,
- 2181,130,1617,1859,2020,1859,1859,2070,2071,2072,
- 2180,524,2181,1859,1859,1859,2020,1859,1859,1865,
- 1859,2021,2019,2073,2022,2018,1859,1859,1859,1859,
- 1859,1859,131,2021,2019,2073,2022,2018,2070,2071,
- 2072,2180,524,2181,1859,1859,1859,2020,1859,1859,
- 1859,1859,1859,1859,1859,1859,1859,1859,1859,1859,
- 1859,1859,1859,1859,2021,2019,2073,2022,2018
+ 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
};
};
public final static char termAction[] = TermAction.termAction;
@@ -667,28 +654,29 @@ public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface Asb {
public final static char asb[] = {0,
- 250,1,142,41,142,142,142,142,142,142,
- 142,142,142,142,142,142,55,3,459,456,
- 463,461,469,467,471,470,473,472,10,142,
- 55,55,55,55,240,240,339,55,403,403,
- 345,142,142,142,142,142,142,142,142,142,
- 142,142,142,142,142,142,142,142,142,142,
- 142,142,142,142,142,142,142,142,142,142,
- 142,142,240,240,240,240,131,343,133,370,
- 238,237,311,48,323,323,129,129,323,129,
- 323,75,191,191,240,45,456,456,461,461,
- 461,461,459,459,467,463,463,470,469,505,
- 472,471,444,444,444,444,107,339,331,136,
- 45,98,166,240,412,373,166,484,278,484,
- 278,406,484,142,107,331,98,98,45,165,
- 133,240,337,75,239,375,45,166,278,278,
- 278,278,406,406,408,275,107,98,331,142,
- 142,45,166,370,500,499,343,375,240,278,
- 308,243,278,278,308,408,507,408,406,308,
- 105,510,403,142,274,107,331,45,45,240,
- 412,373,337,308,245,308,308,142,403,408,
- 109,45,403,142,408,375,480,142,479,161,
- 343,308,45,308,240,239,245,142,161,404
+ 443,1,89,69,89,89,89,89,89,89,
+ 89,89,89,89,89,89,119,31,51,48,
+ 55,53,61,59,63,62,65,64,37,89,
+ 119,119,119,119,318,318,263,119,354,354,
+ 472,89,89,89,89,89,89,89,89,89,
+ 89,89,89,89,89,89,89,89,89,89,
+ 89,89,89,89,89,89,89,89,89,89,
+ 89,89,318,318,318,318,29,267,80,321,
+ 316,315,235,112,247,27,247,27,27,247,
+ 27,247,139,269,318,73,48,48,53,53,
+ 53,53,51,51,59,55,55,62,61,402,
+ 64,63,195,195,195,195,387,29,263,267,
+ 83,73,162,170,318,404,324,170,27,354,
+ 354,27,354,89,387,5,267,255,162,73,
+ 169,80,318,261,139,317,326,73,170,29,
+ 357,29,390,5,255,255,89,89,73,170,
+ 321,397,396,267,326,318,29,357,390,390,
+ 392,77,255,162,73,73,318,404,324,261,
+ 357,387,436,357,390,392,467,392,387,3,
+ 470,354,89,76,162,255,326,357,438,392,
+ 387,89,354,31,7,73,354,89,255,318,
+ 317,387,231,89,230,108,267,387,73,355,
+ 438,89,108
};
};
public final static char asb[] = Asb.asb;
@@ -696,58 +684,56 @@ public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface Asr {
public final static byte asr[] = {0,
- 89,0,75,16,2,61,76,17,18,14,
- 4,12,13,62,63,57,58,64,65,66,
- 67,70,71,72,73,74,77,78,55,69,
- 79,80,81,82,83,85,84,86,87,88,
- 68,50,89,54,59,5,0,5,68,54,
- 59,50,75,16,19,20,21,22,23,2,
- 17,18,14,4,12,13,24,25,26,27,
- 28,29,30,31,3,1,51,52,53,46,
- 38,43,41,42,40,39,44,45,47,48,
- 49,36,33,15,32,35,34,6,7,8,
- 10,9,11,0,5,55,16,61,17,18,
- 14,4,12,13,24,25,19,29,30,31,
- 2,20,21,22,23,26,27,28,1,3,
- 37,0,59,5,15,6,7,8,9,10,
- 11,20,21,22,23,26,27,28,3,17,
- 18,14,12,13,24,25,19,29,30,31,
- 4,2,1,0,15,59,5,17,18,14,
- 4,12,13,24,25,19,29,30,31,2,
- 1,3,20,21,22,23,26,27,28,0,
- 7,15,36,8,35,34,33,6,32,9,
- 10,11,61,76,17,18,14,12,13,62,
- 63,57,58,64,65,66,67,70,71,72,
- 73,74,77,78,69,79,80,81,82,83,
- 84,85,86,87,88,4,2,16,54,50,
- 5,0,75,5,4,1,2,68,0,19,
- 20,21,22,23,1,3,2,17,18,14,
- 4,12,13,24,25,26,27,28,29,30,
- 31,56,0,69,16,61,0,32,38,6,
- 39,51,33,40,34,41,42,35,7,43,
- 44,15,52,36,53,45,46,8,47,48,
- 49,1,3,9,10,11,56,55,5,0,
- 46,38,43,41,42,40,39,44,45,47,
- 48,49,68,75,36,33,15,32,35,34,
- 6,7,8,9,10,11,54,1,5,50,
- 2,16,4,0,5,50,19,20,21,22,
- 23,1,3,2,17,18,14,4,12,13,
- 24,25,26,27,28,29,30,31,0,4,
- 2,16,50,5,32,38,6,39,51,33,
- 40,34,41,42,35,7,43,44,15,52,
- 36,53,45,46,8,47,48,49,9,10,
- 11,60,3,1,0,1,3,5,55,54,
- 0,32,38,6,39,51,33,40,34,41,
- 42,35,7,43,44,15,52,36,53,45,
- 46,8,47,48,49,1,3,9,10,11,
- 60,4,0,69,79,80,81,82,83,84,
- 85,86,87,88,37,4,62,63,12,13,
- 58,57,64,65,66,67,70,71,14,72,
- 73,74,59,50,55,89,77,78,68,75,
- 5,54,0,32,6,33,34,35,7,15,
- 36,8,1,4,9,10,11,37,2,5,
- 54,50,75,16,68,0,5,54,55,69,
- 0
+ 89,0,5,52,23,61,16,17,11,4,
+ 6,7,24,25,18,29,30,31,2,19,
+ 20,21,22,26,27,28,1,3,15,0,
+ 23,2,61,76,16,17,69,79,80,81,
+ 82,83,85,84,86,87,88,4,62,63,
+ 6,7,57,56,64,65,66,67,70,71,
+ 11,72,73,74,52,75,77,78,68,39,
+ 89,38,58,5,0,69,23,61,0,58,
+ 5,32,8,9,10,12,13,14,19,20,
+ 21,22,26,27,28,3,16,17,11,6,
+ 7,24,25,18,29,30,31,4,2,1,
+ 0,5,68,38,58,39,75,23,18,19,
+ 20,21,22,2,16,17,11,4,6,7,
+ 24,25,26,27,28,29,30,31,1,3,
+ 53,54,55,48,40,45,43,44,42,41,
+ 46,47,49,50,51,37,34,32,33,36,
+ 35,8,9,10,13,12,14,0,32,58,
+ 5,16,17,11,4,6,7,24,25,18,
+ 29,30,31,2,1,3,19,20,21,22,
+ 26,27,28,0,11,4,6,7,62,63,
+ 56,57,64,65,66,67,70,71,72,73,
+ 74,77,78,69,79,80,81,82,83,84,
+ 85,86,87,88,58,39,52,89,15,68,
+ 75,5,38,0,48,40,45,43,44,42,
+ 41,46,47,49,50,51,68,75,37,34,
+ 32,33,36,35,8,9,10,12,13,14,
+ 38,1,5,39,2,23,4,0,9,32,
+ 37,10,36,35,34,8,33,12,13,14,
+ 61,76,16,17,11,6,7,62,63,56,
+ 57,64,65,66,67,70,71,72,73,74,
+ 77,78,69,79,80,81,82,83,84,85,
+ 86,87,88,4,2,23,38,39,5,0,
+ 4,2,23,39,5,33,40,8,41,53,
+ 34,42,35,43,44,36,9,45,46,32,
+ 54,37,55,47,48,10,49,50,51,12,
+ 13,14,59,3,1,0,33,40,8,41,
+ 53,34,42,35,43,44,36,9,45,46,
+ 32,54,37,55,47,48,10,49,50,51,
+ 1,3,12,13,14,60,5,52,0,1,
+ 3,5,52,38,0,2,5,38,39,75,
+ 23,68,0,4,33,40,8,41,53,34,
+ 42,35,43,44,36,9,45,46,32,54,
+ 37,55,47,48,10,49,50,51,1,3,
+ 12,13,14,59,0,75,5,4,1,2,
+ 68,0,18,19,20,21,22,1,3,2,
+ 16,17,11,4,6,7,24,25,26,27,
+ 28,29,30,31,60,0,5,38,52,69,
+ 0,5,39,18,19,20,21,22,1,3,
+ 2,16,17,11,4,6,7,24,25,26,
+ 27,28,29,30,31,0
};
};
public final static byte asr[] = Asr.asr;
@@ -755,28 +741,29 @@ public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface Nasb {
public final static byte nasb[] = {0,
- 56,8,19,8,19,19,19,19,19,19,
- 19,19,19,19,19,19,72,8,8,8,
- 8,8,8,8,8,8,8,8,8,19,
- 72,72,72,72,70,70,65,1,27,27,
- 61,73,19,19,19,19,19,19,19,19,
- 19,19,19,19,19,19,19,19,73,19,
- 19,19,19,19,19,19,19,19,19,19,
- 19,19,70,70,70,70,8,78,21,64,
- 25,25,49,15,50,50,9,9,50,9,
- 50,45,8,8,70,23,8,8,8,8,
- 8,8,8,8,8,8,8,8,8,8,
- 8,8,8,8,8,8,86,66,86,18,
- 23,31,22,70,76,69,22,8,86,8,
- 86,86,8,19,18,86,31,31,23,22,
- 11,70,34,2,8,85,23,22,86,80,
- 86,80,9,86,29,13,86,31,11,19,
- 19,23,22,33,25,25,78,85,70,80,
- 43,40,88,80,43,29,8,8,9,43,
- 17,8,9,19,59,18,11,23,23,70,
- 76,69,35,43,52,43,43,19,9,29,
- 19,23,9,19,29,84,41,19,8,52,
- 78,43,23,43,70,70,52,19,37,8
+ 99,35,26,35,26,26,26,26,26,26,
+ 26,26,26,26,26,26,102,35,35,35,
+ 35,35,35,35,35,35,35,35,35,26,
+ 102,102,102,102,10,10,85,1,21,21,
+ 122,103,26,26,26,26,26,26,26,26,
+ 26,26,26,26,26,26,26,26,103,26,
+ 26,26,26,26,26,26,26,26,26,26,
+ 26,26,10,10,10,10,12,57,48,84,
+ 15,15,65,52,66,19,66,82,82,66,
+ 81,66,60,35,10,50,35,35,35,35,
+ 35,35,35,35,35,35,35,35,35,35,
+ 35,35,12,12,12,12,79,35,106,35,
+ 54,50,110,49,10,89,9,49,7,7,
+ 7,7,7,26,44,79,35,42,110,50,
+ 49,36,10,75,28,35,91,50,49,68,
+ 79,35,79,24,42,79,26,26,50,49,
+ 74,15,15,57,91,10,35,114,79,7,
+ 97,17,79,110,50,50,10,89,9,38,
+ 79,44,94,70,7,97,35,35,44,23,
+ 35,7,26,46,110,36,118,114,77,97,
+ 44,26,7,112,25,50,7,26,36,10,
+ 10,44,95,26,35,77,57,44,50,35,
+ 77,26,40
};
};
public final static byte nasb[] = Nasb.nasb;
@@ -784,16 +771,19 @@ public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface Nasr {
public final static char nasr[] = {0,
- 4,79,78,77,76,75,74,0,32,0,
- 23,0,91,0,94,0,69,8,4,0,
- 8,4,21,0,28,0,71,0,54,0,
- 61,0,20,8,47,46,40,38,0,8,
- 70,0,30,0,64,65,66,67,55,33,
- 0,8,40,38,0,8,85,0,93,0,
- 8,86,0,20,8,47,46,0,8,20,
- 0,27,8,31,0,8,22,52,0,59,
- 8,27,0,88,22,8,0,8,27,51,
- 0
+ 80,78,77,68,76,75,1,0,11,21,
+ 0,38,32,0,28,0,100,0,91,0,
+ 73,0,88,11,38,5,0,80,79,78,
+ 77,68,76,75,0,23,0,50,49,42,
+ 40,29,0,46,0,102,0,11,5,22,
+ 0,103,0,5,11,0,29,54,0,68,
+ 63,64,65,66,56,33,0,92,0,11,
+ 37,70,0,21,50,49,42,40,11,0,
+ 94,69,0,21,49,50,11,0,29,54,
+ 11,27,0,11,72,0,62,0,11,89,
+ 0,37,11,31,0,50,49,29,0,59,
+ 0,98,0,82,11,37,0,95,11,27,
+ 0,11,90,0
};
};
public final static char nasr[] = Nasr.nasr;
@@ -801,12 +791,12 @@ public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface TerminalIndex {
public final static char terminalIndex[] = {0,
- 85,2,86,9,87,48,64,76,96,97,
- 98,10,11,8,69,1,6,7,68,81,
- 82,83,84,12,13,93,94,95,100,101,
- 102,44,55,60,63,72,3,47,52,56,
- 61,62,66,67,74,75,78,79,80,90,
- 54,70,73,42,91,107,16,17,89,30,
+ 85,2,86,9,87,10,11,48,64,76,
+ 8,96,97,98,3,6,7,68,81,82,
+ 83,84,1,12,13,93,94,95,100,101,
+ 102,69,44,55,60,63,72,42,90,47,
+ 52,56,61,62,66,67,74,75,78,79,
+ 80,91,54,70,73,16,17,89,30,107,
4,14,15,18,19,20,21,29,31,22,
23,24,25,26,92,5,27,28,32,33,
34,35,36,37,38,39,40,41,108,45,
@@ -819,18 +809,20 @@ public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface NonterminalIndex {
public final static char nonterminalIndex[] = {0,
- 0,0,0,115,119,120,121,0,122,123,
- 124,125,126,127,128,129,130,131,132,111,
- 110,136,143,0,0,0,154,163,0,112,
- 114,135,142,0,0,0,159,161,0,162,
- 0,0,0,134,172,173,174,0,117,151,
- 153,160,169,0,145,150,0,0,152,164,
- 167,168,171,146,147,148,149,158,175,113,
- 116,118,133,137,138,139,140,141,144,156,
- 0,0,157,166,109,0,155,165,170,176,
- 177,0,178,179,0,0,0,0,0,0,
+ 114,0,0,0,116,120,121,122,123,124,
+ 0,125,126,127,128,129,130,131,0,132,
+ 111,110,142,0,0,0,135,163,0,0,
+ 115,119,141,0,0,0,154,0,159,161,
+ 0,162,0,0,0,112,134,172,173,174,
+ 0,118,150,160,169,144,0,164,167,168,
+ 171,0,145,146,147,148,149,151,0,153,
+ 158,113,117,133,136,137,138,139,140,143,
+ 0,152,156,0,0,157,166,176,109,0,
+ 0,0,155,0,165,170,175,0,177,178,
+ 0,179,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,
- 0,0,0,0,0,0,0,0,0,0
+ 0
};
};
public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex;
@@ -838,12 +830,11 @@ public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface ScopePrefix {
public final static char scopePrefix[] = {
- 208,118,57,67,125,145,151,188,26,33,
- 85,103,157,162,73,6,12,16,38,81,
- 50,135,204,226,230,50,50,197,50,1,
- 1,1,42,45,90,113,45,234,20,139,
- 179,216,131,167,167,167,167,167,93,93,
- 93
+ 120,151,130,59,69,159,26,186,35,87,
+ 105,75,6,12,16,40,83,52,141,202,
+ 212,216,52,52,195,52,1,1,1,44,
+ 47,92,115,47,220,20,145,206,177,137,
+ 165,165,165,165,165,95,95,95
};
};
public final static char scopePrefix[] = ScopePrefix.scopePrefix;
@@ -851,12 +842,11 @@ public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface ScopeSuffix {
public final static char scopeSuffix[] = {
- 31,31,4,4,31,31,31,194,31,10,
- 4,10,31,31,78,10,10,10,10,4,
- 4,133,10,10,4,54,78,201,63,4,
- 4,4,10,48,4,10,116,10,23,142,
- 182,219,133,169,171,173,175,177,100,95,
- 108
+ 128,128,128,4,4,128,32,192,10,4,
+ 10,80,10,10,10,10,4,4,139,10,
+ 10,4,56,80,199,65,4,4,4,10,
+ 50,4,10,118,10,23,148,209,180,139,
+ 167,169,171,173,175,102,97,110
};
};
public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix;
@@ -864,12 +854,11 @@ public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface ScopeLhs {
public final static char scopeLhs[] = {
- 4,66,28,28,66,64,64,101,56,48,
- 28,43,64,64,28,5,5,5,48,28,
- 28,51,5,4,4,28,28,18,28,94,
- 93,92,46,63,28,40,50,2,69,51,
- 102,4,51,78,77,76,75,74,43,41,
- 43
+ 65,63,65,28,28,63,32,111,51,28,
+ 45,28,6,6,6,51,28,28,70,6,
+ 5,5,28,28,19,28,103,102,101,49,
+ 61,28,42,53,3,88,70,5,112,70,
+ 79,78,77,76,75,45,43,45
};
};
public final static char scopeLhs[] = ScopeLhs.scopeLhs;
@@ -877,12 +866,11 @@ public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface ScopeLa {
public final static byte scopeLa[] = {
- 55,55,59,59,55,55,55,95,55,50,
- 59,50,55,55,20,50,50,50,50,59,
- 59,75,50,50,59,4,20,68,15,59,
- 59,59,50,2,59,50,1,50,69,1,
- 101,50,75,3,51,52,52,46,2,2,
- 2
+ 52,52,52,58,58,52,52,95,39,58,
+ 39,19,39,39,39,39,58,58,75,39,
+ 39,58,4,19,68,32,58,58,58,39,
+ 2,58,39,1,39,69,1,39,101,75,
+ 1,53,54,54,48,2,2,2
};
};
public final static byte scopeLa[] = ScopeLa.scopeLa;
@@ -890,12 +878,11 @@ public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface ScopeStateSet {
public final static byte scopeStateSet[] = {
- 36,21,25,25,21,21,21,-1,95,29,
- 25,11,21,21,25,36,36,36,29,25,
- 25,5,36,36,36,25,25,69,25,19,
- 1,3,29,31,25,11,13,36,96,5,
- -1,36,5,22,22,22,22,22,11,11,
- 11
+ 28,28,28,32,32,28,19,-1,36,32,
+ 9,32,43,43,43,36,32,32,5,43,
+ 43,43,32,32,76,32,17,1,3,36,
+ 38,32,9,11,43,103,5,43,-1,5,
+ 29,29,29,29,29,9,9,9
};
};
public final static byte scopeStateSet[] = ScopeStateSet.scopeStateSet;
@@ -903,30 +890,29 @@ public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface ScopeRhs {
public final static char scopeRhs[] = {0,
- 151,16,0,110,0,156,2,31,0,111,
- 0,156,2,30,0,156,2,29,0,197,
- 115,0,31,150,0,161,179,115,37,0,
- 112,0,167,115,2,153,0,167,115,2,
- 0,170,2,0,159,115,0,172,0,191,
- 115,16,0,9,110,0,126,15,191,115,
- 16,0,69,132,110,0,126,191,115,15,
- 16,0,191,115,15,16,0,132,110,0,
- 126,15,16,0,126,191,115,16,0,126,
- 16,0,147,0,2,0,165,111,0,2,
- 111,0,167,115,2,147,0,2,0,164,
- 111,0,157,2,0,159,0,161,189,115,
- 37,139,51,0,161,189,115,37,51,0,
- 134,0,113,0,194,115,134,0,115,134,
- 0,155,113,0,165,115,37,139,53,0,
- 165,115,37,139,52,0,165,115,37,53,
- 0,165,115,37,52,0,186,0,149,0,
- 148,0,147,0,146,0,145,0,204,94,
- 0,77,2,114,111,113,0,204,127,138,
- 2,98,0,53,0,0,138,78,124,0,
- 29,131,0,156,2,19,0,161,179,115,
- 37,127,156,2,0,156,2,0,111,3,
- 0,118,0,112,0,193,2,111,0,138,
- 16,111,0,138,2,0
+ 154,23,0,110,0,159,2,31,0,111,
+ 0,159,2,30,0,159,2,29,0,206,
+ 118,0,31,149,0,169,204,118,15,145,
+ 0,112,0,0,165,118,2,156,0,165,
+ 118,2,0,168,2,0,161,118,0,172,
+ 0,194,118,23,0,9,110,0,127,32,
+ 194,118,23,0,69,132,110,0,127,194,
+ 118,32,23,0,194,118,32,23,0,132,
+ 110,0,127,32,23,0,127,194,118,23,
+ 0,127,23,0,149,0,2,0,165,111,
+ 0,2,111,0,165,118,2,149,0,2,
+ 0,164,111,0,160,2,0,159,0,169,
+ 192,118,15,108,201,53,0,112,0,169,
+ 192,118,15,201,53,0,144,0,113,0,
+ 200,118,144,0,118,144,0,155,113,0,
+ 188,118,15,199,108,198,175,0,188,118,
+ 15,198,175,0,187,0,148,0,147,0,
+ 146,0,145,0,144,0,214,94,0,77,
+ 2,115,111,113,0,214,128,138,2,98,
+ 0,53,0,0,138,78,125,0,29,132,
+ 0,159,2,18,0,159,2,0,111,119,
+ 0,197,2,112,0,138,23,112,0,138,
+ 2,0
};
};
public final static char scopeRhs[] = ScopeRhs.scopeRhs;
@@ -934,16 +920,17 @@ public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface ScopeState {
public final static char scopeState[] = {0,
- 1334,0,513,0,1704,1790,1698,1695,1689,0,
- 1544,480,1302,1418,1285,1223,1187,0,524,0,
- 1254,573,360,0,1469,1210,1176,601,480,1739,
- 1223,1187,1454,1284,0,1536,1529,1522,610,397,
- 1196,581,1384,1353,1294,1139,1084,1442,1431,1410,
- 715,1677,1670,1653,1374,791,1077,641,1595,1588,
- 1572,1565,1558,481,631,575,418,387,1149,1113,
- 1094,1058,1039,1019,999,729,1168,693,673,553,
- 979,959,939,919,899,879,859,839,819,799,
- 771,360,488,653,751,460,533,440,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
};
};
public final static char scopeState[] = ScopeState.scopeState;
@@ -951,28 +938,29 @@ public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface InSymb {
public final static char inSymb[] = {0,
- 0,192,115,180,31,30,29,19,25,24,
- 13,12,4,14,18,17,2,111,116,114,
- 118,117,120,119,122,121,124,123,112,54,
- 2,2,2,2,156,138,134,115,76,61,
- 2,16,13,12,63,62,4,67,66,65,
- 64,57,58,14,71,70,73,72,78,77,
+ 0,196,118,181,31,30,29,18,25,24,
+ 7,6,4,11,17,16,2,112,116,115,
+ 119,117,121,120,123,122,125,124,113,38,
+ 2,2,2,2,159,138,144,118,76,61,
+ 2,23,7,6,63,62,4,67,66,65,
+ 64,56,57,11,71,70,73,72,78,77,
74,88,87,86,84,85,83,82,81,80,
- 79,69,156,156,156,156,127,115,16,2,
- 154,153,181,10,182,183,53,52,184,51,
- 185,186,1,3,193,138,114,114,117,117,
- 117,117,116,116,119,118,118,121,120,138,
- 123,122,127,127,127,127,37,159,4,15,
- 126,115,4,170,115,2,16,139,37,139,
- 37,37,139,68,115,4,115,115,126,191,
- 168,167,129,115,169,115,151,4,37,115,
- 37,115,115,37,179,115,37,115,168,191,
- 15,126,4,2,145,147,115,54,167,115,
- 165,134,166,115,165,189,139,190,115,161,
- 54,197,61,16,198,115,168,126,126,157,
- 115,2,159,165,115,165,161,69,54,189,
- 69,151,61,16,179,115,194,68,157,2,
- 115,161,151,161,167,195,54,68,159,54
+ 79,69,159,159,159,159,128,118,23,2,
+ 157,156,182,13,183,175,184,55,54,185,
+ 53,186,187,108,197,138,115,115,117,117,
+ 117,117,116,116,120,119,119,122,121,138,
+ 124,123,128,128,128,128,15,145,161,136,
+ 32,127,118,4,168,118,2,23,198,176,
+ 176,201,176,68,118,15,136,4,118,127,
+ 194,166,165,134,118,167,118,154,4,108,
+ 15,108,15,118,4,136,194,32,127,4,
+ 2,147,149,118,38,165,199,118,15,118,
+ 204,118,136,118,127,127,160,118,2,161,
+ 15,188,144,189,118,192,108,193,169,38,
+ 206,61,23,207,118,166,118,118,118,192,
+ 169,69,38,153,69,154,61,23,166,165,
+ 202,188,200,68,160,2,118,169,154,38,
+ 38,68,161
};
};
public final static char inSymb[] = InSymb.inSymb;
@@ -1094,10 +1082,11 @@ public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
")",
"}",
";",
+ "identifier_token",
"expression",
"postfix_expression",
"member_name",
- "type_name",
+ "type_id",
"initializer_list",
"unary_expression",
"cast_expression",
@@ -1106,16 +1095,14 @@ public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
"shift_expression",
"relational_expression",
"equality_expression",
- "AND_expression",
- "exclusive_OR_expression",
- "inclusive_OR_expression",
- "logical_AND_expression",
- "logical_OR_expression",
- "conditional_expression",
+ "and_expression",
+ "exclusive_or_expression",
+ "inclusive_or_expression",
+ "logical_and_expression",
+ "logical_or_expression",
"assignment_expression",
"expression_list_actual",
"constant_expression",
- "identifier_or_typedefname",
"declaration_specifiers",
"simple_declaration_specifiers",
"struct_or_union_declaration_sp" +
@@ -1132,9 +1119,10 @@ public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
"struct_or_union_specifier",
"elaborated_specifier",
"enum_specifier",
- "typedef_name_in_declspec",
+ "type_name_specifier",
"initializer",
"declarator",
+ "struct_or_union",
"struct_declaration_list",
"struct_declaration",
"specifier_qualifier_list",
@@ -1160,6 +1148,7 @@ public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
"or",
"array_direct_abstract_declarat" +
"or",
+ "initializer_seq",
"designated_initializer",
"designation",
"designator_list",
@@ -1171,9 +1160,9 @@ public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public final String name(int index) { return name[index]; }
public final static int
- ERROR_SYMBOL = 56,
- SCOPE_UBOUND = 50,
- SCOPE_SIZE = 51,
+ ERROR_SYMBOL = 60,
+ SCOPE_UBOUND = 47,
+ SCOPE_SIZE = 48,
MAX_NAME_LENGTH = 38;
public final int getErrorSymbol() { return ERROR_SYMBOL; }
@@ -1182,20 +1171,20 @@ public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public final int getMaxNameLength() { return MAX_NAME_LENGTH; }
public final static int
- NUM_STATES = 220,
+ NUM_STATES = 223,
NT_OFFSET = 107,
- LA_STATE_OFFSET = 2218,
+ LA_STATE_OFFSET = 2287,
MAX_LA = 2,
- NUM_RULES = 359,
- NUM_NONTERMINALS = 120,
- NUM_SYMBOLS = 227,
+ NUM_RULES = 367,
+ NUM_NONTERMINALS = 131,
+ NUM_SYMBOLS = 238,
SEGMENT_SIZE = 8192,
- START_STATE = 1307,
+ START_STATE = 1602,
IDENTIFIER_SYMBOL = 0,
EOFT_SYMBOL = 89,
EOLT_SYMBOL = 89,
- ACCEPT_ACTION = 1843,
- ERROR_ACTION = 1859;
+ ACCEPT_ACTION = 1907,
+ ERROR_ACTION = 1920;
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 7ff98639ba5..2128315502a 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, 2008 IBM Corporation and others.
+* Copyright (c) 2006, 2009 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -15,68 +15,68 @@ package org.eclipse.cdt.internal.core.dom.parser.upc;
public interface UPCNoCastExpressionParsersym {
public final static int
- TK_auto = 32,
+ TK_auto = 33,
TK_break = 90,
TK_case = 91,
- TK_char = 38,
- TK_const = 6,
+ TK_char = 40,
+ TK_const = 8,
TK_continue = 92,
TK_default = 93,
TK_do = 94,
- TK_double = 39,
+ TK_double = 41,
TK_else = 95,
- TK_enum = 51,
- TK_extern = 33,
- TK_float = 40,
+ TK_enum = 53,
+ TK_extern = 34,
+ TK_float = 42,
TK_for = 96,
TK_goto = 97,
TK_if = 98,
- TK_inline = 34,
- TK_int = 41,
- TK_long = 42,
- TK_register = 35,
- TK_restrict = 7,
+ TK_inline = 35,
+ TK_int = 43,
+ TK_long = 44,
+ TK_register = 36,
+ TK_restrict = 9,
TK_return = 99,
- TK_short = 43,
- TK_signed = 44,
- TK_sizeof = 19,
- TK_static = 15,
- TK_struct = 52,
+ TK_short = 45,
+ TK_signed = 46,
+ TK_sizeof = 18,
+ TK_static = 32,
+ TK_struct = 54,
TK_switch = 100,
- TK_typedef = 36,
- TK_union = 53,
- TK_unsigned = 45,
- TK_void = 46,
- TK_volatile = 8,
+ TK_typedef = 37,
+ TK_union = 55,
+ TK_unsigned = 47,
+ TK_void = 48,
+ TK_volatile = 10,
TK_while = 101,
- TK__Bool = 47,
- TK__Complex = 48,
- TK__Imaginary = 49,
- TK_integer = 20,
- TK_floating = 21,
- TK_charconst = 22,
- TK_stringlit = 23,
+ TK__Bool = 49,
+ TK__Complex = 50,
+ TK__Imaginary = 51,
+ TK_integer = 19,
+ TK_floating = 20,
+ TK_charconst = 21,
+ TK_stringlit = 22,
TK_identifier = 1,
TK_Completion = 3,
TK_EndOfCompletion = 5,
TK_Invalid = 102,
- TK_LeftBracket = 16,
+ TK_LeftBracket = 23,
TK_LeftParen = 2,
- TK_LeftBrace = 37,
+ TK_LeftBrace = 15,
TK_Dot = 61,
TK_Arrow = 76,
- TK_PlusPlus = 17,
- TK_MinusMinus = 18,
- TK_And = 14,
+ TK_PlusPlus = 16,
+ TK_MinusMinus = 17,
+ TK_And = 11,
TK_Star = 4,
- TK_Plus = 12,
- TK_Minus = 13,
+ TK_Plus = 6,
+ TK_Minus = 7,
TK_Tilde = 24,
TK_Bang = 25,
TK_Slash = 62,
TK_Percent = 63,
- TK_RightShift = 57,
- TK_LeftShift = 58,
+ TK_RightShift = 56,
+ TK_LeftShift = 57,
TK_LT = 64,
TK_GT = 65,
TK_LE = 66,
@@ -89,7 +89,7 @@ public interface UPCNoCastExpressionParsersym {
TK_OrOr = 77,
TK_Question = 78,
TK_Colon = 68,
- TK_DotDotDot = 60,
+ TK_DotDotDot = 59,
TK_Assign = 69,
TK_StarAssign = 79,
TK_SlashAssign = 80,
@@ -101,17 +101,17 @@ public interface UPCNoCastExpressionParsersym {
TK_AndAssign = 86,
TK_CaretAssign = 87,
TK_OrAssign = 88,
- TK_Comma = 54,
- TK_RightBracket = 59,
- TK_RightParen = 50,
- TK_RightBrace = 55,
+ TK_Comma = 38,
+ TK_RightBracket = 58,
+ TK_RightParen = 39,
+ TK_RightBrace = 52,
TK_SemiColon = 75,
TK_MYTHREAD = 26,
TK_THREADS = 27,
TK_UPC_MAX_BLOCKSIZE = 28,
- TK_relaxed = 9,
- TK_shared = 10,
- TK_strict = 11,
+ TK_relaxed = 12,
+ TK_shared = 13,
+ TK_strict = 14,
TK_upc_barrier = 103,
TK_upc_localsizeof = 29,
TK_upc_blocksizeof = 30,
@@ -120,7 +120,7 @@ public interface UPCNoCastExpressionParsersym {
TK_upc_fence = 105,
TK_upc_wait = 106,
TK_upc_forall = 107,
- TK_ERROR_TOKEN = 56,
+ TK_ERROR_TOKEN = 60,
TK_EOF_TOKEN = 89;
public final static String orderedTerminalSymbols[] = {
@@ -130,17 +130,16 @@ public interface UPCNoCastExpressionParsersym {
"Completion",
"Star",
"EndOfCompletion",
+ "Plus",
+ "Minus",
"const",
"restrict",
"volatile",
+ "And",
"relaxed",
"shared",
"strict",
- "Plus",
- "Minus",
- "And",
- "static",
- "LeftBracket",
+ "LeftBrace",
"PlusPlus",
"MinusMinus",
"sizeof",
@@ -148,6 +147,7 @@ public interface UPCNoCastExpressionParsersym {
"floating",
"charconst",
"stringlit",
+ "LeftBracket",
"Tilde",
"Bang",
"MYTHREAD",
@@ -156,12 +156,14 @@ public interface UPCNoCastExpressionParsersym {
"upc_localsizeof",
"upc_blocksizeof",
"upc_elemsizeof",
+ "static",
"auto",
"extern",
"inline",
"register",
"typedef",
- "LeftBrace",
+ "Comma",
+ "RightParen",
"char",
"double",
"float",
@@ -174,17 +176,15 @@ public interface UPCNoCastExpressionParsersym {
"_Bool",
"_Complex",
"_Imaginary",
- "RightParen",
+ "RightBrace",
"enum",
"struct",
"union",
- "Comma",
- "RightBrace",
- "ERROR_TOKEN",
"RightShift",
"LeftShift",
"RightBracket",
"DotDotDot",
+ "ERROR_TOKEN",
"Dot",
"Slash",
"Percent",
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 c3ec37202a3..914bc5ba4b8 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, 2008 IBM Corporation and others.
+* Copyright (c) 2006, 2009 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -17,24 +17,32 @@ import lpg.lpgjavaruntime.*;
import java.util.*;
import org.eclipse.cdt.core.dom.ast.*;
+import org.eclipse.cdt.core.dom.lrparser.IDOMTokenMap;
import org.eclipse.cdt.core.dom.lrparser.IParser;
-import org.eclipse.cdt.core.dom.lrparser.IParserActionTokenProvider;
+import org.eclipse.cdt.core.dom.lrparser.ITokenCollector;
+import org.eclipse.cdt.core.dom.lrparser.CPreprocessorAdapter;
+import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream;
import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser;
+import org.eclipse.cdt.core.dom.lrparser.action.ScopedStack;
+import org.eclipse.cdt.core.parser.IScanner;
+import org.eclipse.cdt.core.dom.parser.IBuiltinBindingsProvider;
+import org.eclipse.cdt.core.index.IIndex;
-import org.eclipse.cdt.core.dom.lrparser.action.ITokenMap;
-import org.eclipse.cdt.core.dom.lrparser.action.TokenMap;
-
-import org.eclipse.cdt.core.dom.lrparser.action.c99.C99ASTNodeFactory;
+import org.eclipse.cdt.core.dom.lrparser.action.c99.CNodeFactory;
import org.eclipse.cdt.core.dom.lrparser.action.c99.C99BuildASTParserAction;
+import org.eclipse.cdt.core.dom.lrparser.action.c99.C99SecondaryParserFactory;
import org.eclipse.cdt.core.dom.parser.upc.UPCASTNodeFactory;
+import org.eclipse.cdt.core.dom.parser.upc.UPCSecondaryParserFactory;
import org.eclipse.cdt.core.dom.parser.upc.UPCParserAction;
import org.eclipse.cdt.core.dom.upc.ast.IUPCASTKeywordExpression;
import org.eclipse.cdt.core.dom.upc.ast.IUPCASTSynchronizationStatement;
import org.eclipse.cdt.core.dom.upc.ast.IUPCASTUnarySizeofExpression;
import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser;
-public class UPCParser extends PrsStream implements RuleAction , IParserActionTokenProvider, IParser
+public class UPCParser extends PrsStream implements RuleAction, ITokenStream,
+ ITokenCollector, IParser< IASTTranslationUnit >
+
{
private static ParseTable prs = new UPCParserprs();
private FixedBacktrackingParser btParser;
@@ -125,22 +133,22 @@ public class UPCParser extends PrsStream implements RuleAction , IParserActionTo
super.reportError((firsttok > lasttok ? ParseErrorCodes.INSERTION_CODE : ParseErrorCodes.SUBSTITUTION_CODE), location, msg);
}
- public Object parser()
+ public void parser()
{
- return parser(null, 0);
+ parser(null, 0);
}
- public Object parser(Monitor monitor)
+ public void parser(Monitor monitor)
{
- return parser(monitor, 0);
+ parser(monitor, 0);
}
- public Object parser(int error_repair_count)
+ public void parser(int error_repair_count)
{
- return parser(null, error_repair_count);
+ parser(null, error_repair_count);
}
- public Object parser(Monitor monitor, int error_repair_count)
+ public void parser(Monitor monitor, int error_repair_count)
{
try
{
@@ -158,7 +166,7 @@ public class UPCParser extends PrsStream implements RuleAction , IParserActionTo
try
{
- return (Object) btParser.parse(error_repair_count);
+ btParser.parse(error_repair_count);
}
catch (BadParseException e)
{
@@ -166,18 +174,26 @@ public class UPCParser extends PrsStream implements RuleAction , IParserActionTo
DiagnoseParser diagnoseParser = new DiagnoseParser(this, prs);
diagnoseParser.diagnose(e.error_token);
}
-
- return null;
}
private UPCParserAction action;
+private IASTCompletionNode compNode;
-public UPCParser() { // constructor
+
+public UPCParser(IScanner scanner, IDOMTokenMap tokenMap, IBuiltinBindingsProvider builtinBindingsProvider, IIndex index, Map<String,String> properties) {
+ initActions(properties);
+ action.initializeTranslationUnit(scanner, builtinBindingsProvider, index);
+ CPreprocessorAdapter.runCPreprocessor(scanner, this, tokenMap);
}
-private void initActions(IASTTranslationUnit tu) {
- action = new UPCParserAction ( UPCASTNodeFactory.DEFAULT_INSTANCE , this, tu);
+private void initActions(Map<String,String> properties) {
+ ScopedStack<Object> astStack = new ScopedStack<Object>();
+
+ action = new UPCParserAction (this, astStack, new UPCASTNodeFactory() , UPCSecondaryParserFactory.getDefault() );
+ action.setParserProperties(properties);
+
+
}
@@ -187,60 +203,37 @@ public void addToken(IToken token) {
}
-public IASTCompletionNode parse(IASTTranslationUnit tu) {
+public IASTTranslationUnit parse() {
// this has to be done, or... kaboom!
setStreamLength(getSize());
- initActions(tu);
final int errorRepairCount = -1; // -1 means full error handling
parser(null, errorRepairCount); // do the actual parse
super.resetTokenStream(); // allow tokens to be garbage collected
- // the completion node may be null
- IASTCompletionNode compNode = action.getASTCompletionNode();
+ compNode = action.getASTCompletionNode(); // the completion node may be null
+ return ( IASTTranslationUnit ) action.getParseResult();
+}
+
- //action = null;
- //parserAction = null;
+public IASTCompletionNode getCompletionNode() {
return compNode;
}
// uncomment this method to use with backtracking parser
-public List getRuleTokens() {
- return Collections.unmodifiableList(getTokens().subList(getLeftSpan(), getRightSpan() + 1));
-}
-
-
-public IASTNode getSecondaryParseResult() {
- return action.getSecondaryParseResult();
+public List<IToken> getRuleTokens() {
+ return getTokens().subList(getLeftSpan(), getRightSpan() + 1);
}
public String[] getOrderedTerminalSymbols() {
return UPCParsersym.orderedTerminalSymbols;
}
+@SuppressWarnings("nls")
public String getName() {
- return "UPCParser"; //$NON-NLS-1$
-}
-
-
-
-private ITokenMap tokenMap = null;
-
-public void setTokens(List<IToken> tokens) {
- resetTokenStream();
- addToken(new Token(null, 0, 0, 0)); // dummy token
- for(IToken token : tokens) {
- token.setKind(tokenMap.mapKind(token.getKind()));
- addToken(token);
- }
- addToken(new Token(null, 0, 0, UPCParsersym.TK_EOF_TOKEN));
+ return "UPCParser";
}
-public UPCParser(String[] mapFrom) { // constructor
- tokenMap = new TokenMap(UPCParsersym.orderedTerminalSymbols, mapFrom);
-}
-
-
public void ruleAction(int ruleNumber)
{
@@ -254,1287 +247,1293 @@ public UPCParser(String[] mapFrom) { // constructor
}
//
- // Rule 10: literal ::= integer
+ // Rule 2: <empty> ::= $Empty
//
- case 10: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_integer_constant); break;
+ case 2: { action. consumeEmpty(); break;
}
//
- // Rule 11: literal ::= floating
+ // Rule 13: literal ::= integer
//
- case 11: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_float_constant); break;
+ case 13: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_integer_constant); break;
}
//
- // Rule 12: literal ::= charconst
+ // Rule 14: literal ::= floating
//
- case 12: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_char_constant); break;
+ case 14: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_float_constant); break;
}
//
- // Rule 13: literal ::= stringlit
+ // Rule 15: literal ::= charconst
//
- case 13: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_string_literal); break;
+ case 15: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_char_constant); break;
}
//
- // Rule 15: primary_expression ::= primary_expression_id
+ // Rule 16: literal ::= stringlit
//
- case 15: { action. consumeExpressionID(); break;
+ case 16: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_string_literal); break;
}
//
- // Rule 16: primary_expression ::= ( expression )
+ // Rule 18: primary_expression ::= primary_expression_id
//
- case 16: { action. consumeExpressionBracketed(); break;
+ case 18: { action. consumeExpressionID(); break;
}
//
- // Rule 20: postfix_expression ::= postfix_expression [ expression ]
+ // Rule 19: primary_expression ::= ( expression )
//
- case 20: { action. consumeExpressionArraySubscript(); break;
+ case 19: { action. consumeExpressionBracketed(); break;
}
//
- // Rule 21: postfix_expression ::= postfix_expression ( expression_list_opt )
+ // Rule 22: postfix_expression ::= postfix_expression [ expression ]
//
- case 21: { action. consumeExpressionFunctionCall(); break;
+ case 22: { action. consumeExpressionArraySubscript(); break;
}
//
- // Rule 22: postfix_expression ::= postfix_expression . member_name
+ // Rule 23: postfix_expression ::= postfix_expression ( expression_list_opt )
//
- case 22: { action. consumeExpressionFieldReference(false); break;
+ case 23: { action. consumeExpressionFunctionCall(); break;
}
//
- // Rule 23: postfix_expression ::= postfix_expression -> member_name
+ // Rule 24: postfix_expression ::= postfix_expression . member_name
//
- case 23: { action. consumeExpressionFieldReference(true); break;
+ case 24: { action. consumeExpressionFieldReference(false); break;
}
//
- // Rule 24: postfix_expression ::= postfix_expression ++
+ // Rule 25: postfix_expression ::= postfix_expression -> member_name
//
- case 24: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break;
+ case 25: { action. consumeExpressionFieldReference(true); break;
}
//
- // Rule 25: postfix_expression ::= postfix_expression --
+ // Rule 26: postfix_expression ::= postfix_expression ++
//
- case 25: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break;
+ case 26: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break;
}
//
- // Rule 26: postfix_expression ::= ( type_name ) { <openscope-ast> initializer_list comma_opt }
+ // Rule 27: postfix_expression ::= postfix_expression --
//
- case 26: { action. consumeExpressionTypeIdInitializer(); break;
+ case 27: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break;
}
//
- // Rule 32: unary_expression ::= ++ unary_expression
+ // Rule 28: postfix_expression ::= ( type_id ) initializer_list
//
- case 32: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixIncr); break;
+ case 28: { action. consumeExpressionTypeIdInitializer(); break;
}
//
- // Rule 33: unary_expression ::= -- unary_expression
+ // Rule 33: unary_expression ::= ++ unary_expression
//
- case 33: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixDecr); break;
+ case 33: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixIncr); break;
}
//
- // Rule 34: unary_expression ::= & cast_expression
+ // Rule 34: unary_expression ::= -- unary_expression
//
- case 34: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_amper); break;
+ case 34: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixDecr); break;
}
//
- // Rule 35: unary_expression ::= * cast_expression
+ // Rule 35: unary_expression ::= & cast_expression
//
- case 35: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_star); break;
+ case 35: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_amper); break;
}
//
- // Rule 36: unary_expression ::= + cast_expression
+ // Rule 36: unary_expression ::= * cast_expression
//
- case 36: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_plus); break;
+ case 36: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_star); break;
}
//
- // Rule 37: unary_expression ::= - cast_expression
+ // Rule 37: unary_expression ::= + cast_expression
//
- case 37: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_minus); break;
+ case 37: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_plus); break;
}
//
- // Rule 38: unary_expression ::= ~ cast_expression
+ // Rule 38: unary_expression ::= - cast_expression
//
- case 38: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_tilde); break;
+ case 38: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_minus); break;
}
//
- // Rule 39: unary_expression ::= ! cast_expression
+ // Rule 39: unary_expression ::= ~ cast_expression
//
- case 39: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_not); break;
+ case 39: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_tilde); break;
}
//
- // Rule 40: unary_expression ::= sizeof unary_expression
+ // Rule 40: unary_expression ::= ! cast_expression
//
- case 40: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof); break;
+ case 40: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_not); break;
}
//
- // Rule 41: unary_expression ::= sizeof ( type_name )
+ // Rule 41: unary_expression ::= sizeof unary_expression
//
- case 41: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_sizeof); break;
+ case 41: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof); break;
}
//
- // Rule 43: cast_expression ::= ( type_name ) cast_expression
+ // Rule 42: unary_expression ::= sizeof ( type_id )
//
- case 43: { action. consumeExpressionCast(IASTCastExpression.op_cast); break;
+ case 42: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_sizeof); break;
}
//
- // Rule 45: multiplicative_expression ::= multiplicative_expression * cast_expression
+ // Rule 44: cast_expression ::= ( type_id ) cast_expression
//
- case 45: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_multiply); break;
+ case 44: { action. consumeExpressionCast(IASTCastExpression.op_cast); break;
}
//
- // Rule 46: multiplicative_expression ::= multiplicative_expression / cast_expression
+ // Rule 46: multiplicative_expression ::= multiplicative_expression * cast_expression
//
- case 46: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_divide); break;
+ case 46: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_multiply); break;
}
//
- // Rule 47: multiplicative_expression ::= multiplicative_expression % cast_expression
+ // Rule 47: multiplicative_expression ::= multiplicative_expression / cast_expression
//
- case 47: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_modulo); break;
+ case 47: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_divide); break;
}
//
- // Rule 49: additive_expression ::= additive_expression + multiplicative_expression
+ // Rule 48: multiplicative_expression ::= multiplicative_expression % cast_expression
//
- case 49: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_plus); break;
+ case 48: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_modulo); break;
}
//
- // Rule 50: additive_expression ::= additive_expression - multiplicative_expression
+ // Rule 50: additive_expression ::= additive_expression + multiplicative_expression
//
- case 50: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_minus); break;
+ case 50: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_plus); break;
}
//
- // Rule 52: shift_expression ::= shift_expression << additive_expression
+ // Rule 51: additive_expression ::= additive_expression - multiplicative_expression
//
- case 52: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftLeft); break;
+ case 51: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_minus); break;
}
//
- // Rule 53: shift_expression ::= shift_expression >> additive_expression
+ // Rule 53: shift_expression ::= shift_expression << additive_expression
//
- case 53: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftRight); break;
+ case 53: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftLeft); break;
}
//
- // Rule 55: relational_expression ::= relational_expression < shift_expression
+ // Rule 54: shift_expression ::= shift_expression >> additive_expression
//
- case 55: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_lessThan); break;
+ case 54: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftRight); break;
}
//
- // Rule 56: relational_expression ::= relational_expression > shift_expression
+ // Rule 56: relational_expression ::= relational_expression < shift_expression
//
- case 56: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_greaterThan); break;
+ case 56: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_lessThan); break;
}
//
- // Rule 57: relational_expression ::= relational_expression <= shift_expression
+ // Rule 57: relational_expression ::= relational_expression > shift_expression
//
- case 57: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_lessEqual); break;
+ case 57: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_greaterThan); break;
}
//
- // Rule 58: relational_expression ::= relational_expression >= shift_expression
+ // Rule 58: relational_expression ::= relational_expression <= shift_expression
//
- case 58: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_greaterEqual); break;
+ case 58: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_lessEqual); break;
}
//
- // Rule 60: equality_expression ::= equality_expression == relational_expression
+ // Rule 59: relational_expression ::= relational_expression >= shift_expression
//
- case 60: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_equals); break;
+ case 59: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_greaterEqual); break;
}
//
- // Rule 61: equality_expression ::= equality_expression != relational_expression
+ // Rule 61: equality_expression ::= equality_expression == relational_expression
//
- case 61: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_notequals); break;
+ case 61: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_equals); break;
}
//
- // Rule 63: AND_expression ::= AND_expression & equality_expression
+ // Rule 62: equality_expression ::= equality_expression != relational_expression
//
- case 63: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryAnd); break;
+ case 62: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_notequals); break;
}
//
- // Rule 65: exclusive_OR_expression ::= exclusive_OR_expression ^ AND_expression
+ // Rule 64: and_expression ::= and_expression & equality_expression
//
- case 65: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryXor); break;
+ case 64: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryAnd); break;
}
//
- // Rule 67: inclusive_OR_expression ::= inclusive_OR_expression | exclusive_OR_expression
+ // Rule 66: exclusive_or_expression ::= exclusive_or_expression ^ and_expression
//
- case 67: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryOr); break;
+ case 66: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryXor); break;
}
//
- // Rule 69: logical_AND_expression ::= logical_AND_expression && inclusive_OR_expression
+ // Rule 68: inclusive_or_expression ::= inclusive_or_expression | exclusive_or_expression
//
- case 69: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_logicalAnd); break;
+ case 68: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryOr); break;
}
//
- // Rule 71: logical_OR_expression ::= logical_OR_expression || logical_AND_expression
+ // Rule 70: logical_and_expression ::= logical_and_expression && inclusive_or_expression
//
- case 71: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_logicalOr); break;
+ case 70: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_logicalAnd); break;
}
//
- // Rule 73: conditional_expression ::= logical_OR_expression ? expression : conditional_expression
+ // Rule 72: logical_or_expression ::= logical_or_expression || logical_and_expression
//
- case 73: { action. consumeExpressionConditional(); break;
+ case 72: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_logicalOr); break;
}
//
- // Rule 75: assignment_expression ::= unary_expression = assignment_expression
+ // Rule 74: conditional_expression ::= logical_or_expression ? expression : assignment_expression
//
- case 75: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_assign); break;
+ case 74: { action. consumeExpressionConditional(); break;
}
//
- // Rule 76: assignment_expression ::= unary_expression *= assignment_expression
+ // Rule 76: assignment_expression ::= unary_expression = assignment_expression
//
- case 76: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_multiplyAssign); break;
+ case 76: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_assign); break;
}
//
- // Rule 77: assignment_expression ::= unary_expression /= assignment_expression
+ // Rule 77: assignment_expression ::= unary_expression *= assignment_expression
//
- case 77: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_divideAssign); break;
+ case 77: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_multiplyAssign); break;
}
//
- // Rule 78: assignment_expression ::= unary_expression %= assignment_expression
+ // Rule 78: assignment_expression ::= unary_expression /= assignment_expression
//
- case 78: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_moduloAssign); break;
+ case 78: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_divideAssign); break;
}
//
- // Rule 79: assignment_expression ::= unary_expression += assignment_expression
+ // Rule 79: assignment_expression ::= unary_expression %= assignment_expression
//
- case 79: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_plusAssign); break;
+ case 79: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_moduloAssign); break;
}
//
- // Rule 80: assignment_expression ::= unary_expression -= assignment_expression
+ // Rule 80: assignment_expression ::= unary_expression += assignment_expression
//
- case 80: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_minusAssign); break;
+ case 80: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_plusAssign); break;
}
//
- // Rule 81: assignment_expression ::= unary_expression <<= assignment_expression
+ // Rule 81: assignment_expression ::= unary_expression -= assignment_expression
//
- case 81: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftLeftAssign); break;
+ case 81: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_minusAssign); break;
}
//
- // Rule 82: assignment_expression ::= unary_expression >>= assignment_expression
+ // Rule 82: assignment_expression ::= unary_expression <<= assignment_expression
//
- case 82: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftRightAssign); break;
+ case 82: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftLeftAssign); break;
}
//
- // Rule 83: assignment_expression ::= unary_expression &= assignment_expression
+ // Rule 83: assignment_expression ::= unary_expression >>= assignment_expression
//
- case 83: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryAndAssign); break;
+ case 83: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftRightAssign); break;
}
//
- // Rule 84: assignment_expression ::= unary_expression ^= assignment_expression
+ // Rule 84: assignment_expression ::= unary_expression &= assignment_expression
//
- case 84: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryXorAssign); break;
+ case 84: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryAndAssign); break;
}
//
- // Rule 85: assignment_expression ::= unary_expression |= assignment_expression
+ // Rule 85: assignment_expression ::= unary_expression ^= assignment_expression
//
- case 85: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryOrAssign); break;
+ case 85: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryXorAssign); break;
}
//
- // Rule 88: expression_list ::= <openscope-ast> expression_list_actual
+ // Rule 86: assignment_expression ::= unary_expression |= assignment_expression
//
- case 88: { action. consumeExpressionList(); break;
+ case 86: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryOrAssign); break;
}
//
- // Rule 90: expression_list_opt ::= $Empty
+ // Rule 89: expression_list ::= <openscope-ast> expression_list_actual
//
- case 90: { action. consumeEmpty(); break;
+ case 89: { action. consumeExpressionList(); break;
}
//
- // Rule 100: statement ::= ERROR_TOKEN
+ // Rule 91: expression_list_opt ::= $Empty
//
- case 100: { action. consumeStatementProblem(); break;
+ case 91: { action. consumeEmpty(); break;
}
//
- // Rule 101: labeled_statement ::= identifier_or_typedefname : statement
+ // Rule 101: statement ::= ERROR_TOKEN
//
- case 101: { action. consumeStatementLabeled(); break;
+ case 101: { action. consumeStatementProblem(); break;
}
//
- // Rule 102: labeled_statement ::= case constant_expression :
+ // Rule 102: labeled_statement ::= identifier_token : statement
//
- case 102: { action. consumeStatementCase(); break;
+ case 102: { action. consumeStatementLabeled(); break;
}
//
- // Rule 103: labeled_statement ::= default :
+ // Rule 103: labeled_statement ::= case constant_expression : statement
//
- case 103: { action. consumeStatementDefault(); break;
+ case 103: { action. consumeStatementCase(); break;
}
//
- // Rule 104: compound_statement ::= { }
+ // Rule 104: labeled_statement ::= default : statement
//
- case 104: { action. consumeStatementCompoundStatement(false); break;
+ case 104: { action. consumeStatementDefault(); break;
}
//
- // Rule 105: compound_statement ::= { <openscope-ast> block_item_list }
+ // Rule 105: compound_statement ::= { }
//
- case 105: { action. consumeStatementCompoundStatement(true); break;
+ case 105: { action. consumeStatementCompoundStatement(false); break;
}
//
- // Rule 109: block_item ::= declaration
+ // Rule 106: compound_statement ::= { <openscope-ast> block_item_list }
//
- case 109: { action. consumeStatementDeclarationWithDisambiguation(); break;
+ case 106: { action. consumeStatementCompoundStatement(true); break;
}
//
- // Rule 110: expression_statement ::= ;
+ // Rule 110: block_item ::= declaration
//
- case 110: { action. consumeStatementNull(); break;
+ case 110: { action. consumeStatementDeclarationWithDisambiguation(); break;
}
//
- // Rule 111: expression_statement ::= expression_in_statement ;
+ // Rule 111: expression_statement ::= ;
//
- case 111: { action. consumeStatementExpression(); break;
+ case 111: { action. consumeStatementNull(); break;
}
//
- // Rule 112: selection_statement ::= if ( expression ) statement
+ // Rule 112: expression_statement ::= expression_in_statement ;
//
- case 112: { action. consumeStatementIf(false); break;
+ case 112: { action. consumeStatementExpression(); break;
}
//
- // Rule 113: selection_statement ::= if ( expression ) statement else statement
+ // Rule 113: selection_statement ::= if ( expression ) statement
//
- case 113: { action. consumeStatementIf(true); break;
+ case 113: { action. consumeStatementIf(false); break;
}
//
- // Rule 114: selection_statement ::= switch ( expression ) statement
+ // Rule 114: selection_statement ::= if ( expression ) statement else statement
//
- case 114: { action. consumeStatementSwitch(); break;
+ case 114: { action. consumeStatementIf(true); break;
}
//
- // Rule 116: expression_opt ::= $Empty
+ // Rule 115: selection_statement ::= switch ( expression ) statement
//
- case 116: { action. consumeEmpty(); break;
+ case 115: { action. consumeStatementSwitch(); break;
}
//
- // Rule 117: iteration_statement ::= do statement while ( expression ) ;
+ // Rule 117: expression_opt ::= $Empty
//
- case 117: { action. consumeStatementDoLoop(); break;
+ case 117: { action. consumeEmpty(); break;
}
//
- // Rule 118: iteration_statement ::= while ( expression ) statement
+ // Rule 118: iteration_statement ::= do statement while ( expression ) ;
//
- case 118: { action. consumeStatementWhileLoop(); break;
+ case 118: { action. consumeStatementDoLoop(); 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_or_typedefname ;
+ // 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. consumeDeclSpecToken(); 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. consumeDeclSpecToken(); break;
+ case 160: { action. consumeToken(); break;
}
//
- // Rule 178: typedef_name_in_declspec ::= Completion
+ // Rule 166: simple_type_specifier ::= simple_type_specifier_token
//
- case 178: { action. consumeDeclSpecToken(); break;
+ case 166: { action. consumeToken(); break;
}
//
- // Rule 179: typedef_name_in_declspec ::= identifier
+ // Rule 179: type_name_specifier ::= identifier_token
//
- case 179: { action. consumeDeclSpecToken(); break;
+ case 179: { action. consumeToken(); break;
}
//
- // Rule 182: struct_or_union_specifier ::= struct { <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 182: { action. consumeTypeSpecifierComposite(false, IASTCompositeTypeSpecifier.k_struct); break;
+ case 180: { action. consumeTypeSpecifierComposite(false); break;
}
//
- // Rule 183: struct_or_union_specifier ::= union { <openscope-ast> struct_declaration_list_opt }
+ // 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 183: { action. consumeTypeSpecifierComposite(false, IASTCompositeTypeSpecifier.k_union); break;
+ case 181: { action. consumeTypeSpecifierComposite(true); break;
}
//
- // Rule 184: struct_or_union_specifier ::= struct identifier_or_typedefname { <openscope-ast> struct_declaration_list_opt }
+ // Rule 186: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token
//
- case 184: { action. consumeTypeSpecifierComposite(true, IASTCompositeTypeSpecifier.k_struct); break;
+ case 186: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break;
}
//
- // Rule 185: struct_or_union_specifier ::= union identifier_or_typedefname { <openscope-ast> struct_declaration_list_opt }
+ // Rule 187: elaborated_specifier ::= union elaborated_specifier_hook identifier_token
//
- case 185: { action. consumeTypeSpecifierComposite(true, IASTCompositeTypeSpecifier.k_union); break;
+ case 187: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break;
}
//
- // Rule 186: elaborated_specifier ::= struct identifier_or_typedefname
+ // Rule 188: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token
//
- case 186: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break;
+ case 188: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break;
}
//
- // Rule 187: elaborated_specifier ::= union identifier_or_typedefname
+ // Rule 194: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ;
//
- case 187: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break;
+ case 194: { action. consumeStructDeclaration(true); break;
}
//
- // Rule 188: elaborated_specifier ::= enum identifier_or_typedefname
+ // Rule 195: struct_declaration ::= specifier_qualifier_list ;
//
- case 188: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break;
+ case 195: { action. consumeStructDeclaration(false); break;
}
//
- // Rule 193: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ;
+ // Rule 196: struct_declaration ::= ERROR_TOKEN
//
- case 193: { action. consumeStructDeclaration(true); break;
+ case 196: { action. consumeDeclarationProblem(); break;
}
//
- // Rule 194: struct_declaration ::= specifier_qualifier_list ;
+ // Rule 202: struct_declarator ::= : constant_expression
//
- case 194: { action. consumeStructDeclaration(false); break;
+ case 202: { action. consumeBitField(false); break;
}
//
- // Rule 195: struct_declaration ::= ERROR_TOKEN
+ // Rule 203: struct_declarator ::= declarator : constant_expression
//
- case 195: { action. consumeDeclarationProblem(); break;
+ case 203: { action. consumeBitField(true); break;
}
//
- // Rule 201: struct_declarator ::= : constant_expression
+ // Rule 204: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt }
//
- case 201: { action. consumeBitField(false); break;
+ case 204: { action. consumeTypeSpecifierEnumeration(false); break;
}
//
- // Rule 202: struct_declarator ::= declarator : constant_expression
+ // Rule 205: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt }
//
- case 202: { action. consumeBitField(true); break;
+ case 205: { action. consumeTypeSpecifierEnumeration(true); break;
}
//
- // Rule 203: enum_specifier ::= enum { <openscope-ast> enumerator_list_opt comma_opt }
+ // Rule 211: enumerator ::= identifier_token
//
- case 203: { action. consumeTypeSpecifierEnumeration(false); break;
+ case 211: { action. consumeEnumerator(false); break;
}
//
- // Rule 204: enum_specifier ::= enum identifier_or_typedefname { <openscope-ast> enumerator_list_opt comma_opt }
+ // Rule 212: enumerator ::= identifier_token = constant_expression
//
- case 204: { action. consumeTypeSpecifierEnumeration(true); break;
+ case 212: { action. consumeEnumerator(true); break;
}
//
- // Rule 209: enumerator ::= identifier_or_typedefname
+ // Rule 213: type_qualifier ::= type_qualifier_token
//
- case 209: { action. consumeEnumerator(false); break;
+ case 213: { action. consumeToken(); break;
}
//
- // Rule 210: enumerator ::= identifier_or_typedefname = constant_expression
+ // Rule 217: function_specifier ::= inline
//
- case 210: { action. consumeEnumerator(true); break;
+ case 217: { action. consumeToken(); break;
}
//
- // Rule 211: type_qualifier ::= type_qualifier_token
+ // Rule 219: declarator ::= <openscope-ast> pointer_seq direct_declarator
//
- case 211: { action. consumeDeclSpecToken(); break;
+ case 219: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 215: function_specifier ::= inline
+ // Rule 224: basic_direct_declarator ::= declarator_id_name
//
- case 215: { action. consumeDeclSpecToken(); break;
+ case 224: { action. consumeDirectDeclaratorIdentifier(); break;
}
//
- // Rule 217: declarator ::= <openscope-ast> pointer_seq direct_declarator
+ // Rule 225: basic_direct_declarator ::= ( declarator )
//
- case 217: { action. consumeDeclaratorWithPointer(true); break;
+ case 225: { action. consumeDirectDeclaratorBracketed(); break;
}
//
- // Rule 222: basic_direct_declarator ::= declarator_id_name
+ // Rule 226: declarator_id_name ::= identifier
//
- case 222: { action. consumeDirectDeclaratorIdentifier(); break;
+ case 226: { action. consumeIdentifierName(); break;
}
//
- // Rule 223: basic_direct_declarator ::= ( declarator )
+ // Rule 227: array_direct_declarator ::= basic_direct_declarator array_modifier
//
- case 223: { action. consumeDirectDeclaratorBracketed(); break;
+ case 227: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 224: declarator_id_name ::= identifier
+ // Rule 228: array_direct_declarator ::= array_direct_declarator array_modifier
//
- case 224: { action. consumeIdentifierName(); break;
+ case 228: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 225: array_direct_declarator ::= basic_direct_declarator array_modifier
+ // Rule 230: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list )
//
- case 225: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 230: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
}
//
- // Rule 226: array_direct_declarator ::= array_direct_declarator array_modifier
+ // Rule 231: function_direct_declarator ::= basic_direct_declarator ( )
//
- case 226: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 231: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
}
//
- // Rule 228: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list )
+ // Rule 233: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator
//
- case 228: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
+ case 233: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 229: function_direct_declarator ::= basic_direct_declarator ( )
+ // Rule 234: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list )
//
- case 229: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
+ case 234: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break;
}
//
- // Rule 231: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator
+ // Rule 236: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator
//
- case 231: { action. consumeDeclaratorWithPointer(true); break;
+ case 236: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 232: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list )
+ // Rule 237: identifier_list ::= identifier
//
- case 232: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break;
+ case 237: { action. consumeIdentifierKnR(); break;
}
//
- // Rule 234: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator
+ // Rule 238: identifier_list ::= identifier_list , identifier
//
- case 234: { action. consumeDeclaratorWithPointer(true); break;
+ case 238: { action. consumeIdentifierKnR(); break;
}
//
- // Rule 235: identifier_list ::= identifier
+ // Rule 239: array_modifier ::= [ ]
//
- case 235: { action. consumeIdentifierKnR(); break;
+ case 239: { action. consumeDirectDeclaratorArrayModifier(false); break;
}
//
- // Rule 236: identifier_list ::= identifier_list , identifier
+ // Rule 240: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ]
//
- case 236: { action. consumeIdentifierKnR(); break;
+ case 240: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break;
}
//
- // Rule 237: array_modifier ::= [ ]
+ // Rule 241: array_modifier ::= [ assignment_expression ]
//
- case 237: { action. consumeDirectDeclaratorArrayModifier(false); break;
+ case 241: { action. consumeDirectDeclaratorArrayModifier(true); break;
}
//
- // Rule 238: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ]
+ // Rule 242: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
//
- case 238: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break;
+ case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break;
}
//
- // Rule 239: array_modifier ::= [ assignment_expression ]
+ // Rule 243: array_modifier ::= [ static assignment_expression ]
//
- case 239: { action. consumeDirectDeclaratorArrayModifier(true); break;
+ case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break;
}
//
- // Rule 240: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
+ // Rule 244: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
//
- case 240: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break;
+ case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break;
}
//
- // Rule 241: array_modifier ::= [ static assignment_expression ]
+ // Rule 245: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ]
//
- case 241: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break;
+ case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break;
}
//
- // Rule 242: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
+ // Rule 246: array_modifier ::= [ * ]
//
- case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break;
+ case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break;
}
//
- // Rule 243: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ]
+ // Rule 247: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ]
//
- case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break;
+ case 247: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break;
}
//
- // Rule 244: array_modifier ::= [ * ]
+ // Rule 249: pointer_seq ::= pointer_hook * pointer_hook
//
- case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break;
+ case 249: { action. consumePointer(); break;
}
//
- // Rule 245: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ]
+ // Rule 250: pointer_seq ::= pointer_seq pointer_hook * pointer_hook
//
- case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break;
+ case 250: { action. consumePointer(); break;
}
//
- // Rule 247: pointer_seq ::= *
+ // Rule 251: pointer_seq ::= pointer_hook * pointer_hook <openscope-ast> type_qualifier_list
//
- case 247: { action. consumePointer(); break;
+ case 251: { action. consumePointerTypeQualifierList(); break;
}
//
- // Rule 248: pointer_seq ::= pointer_seq *
+ // Rule 252: pointer_seq ::= pointer_seq pointer_hook * pointer_hook <openscope-ast> type_qualifier_list
//
- case 248: { action. consumePointer(); break;
+ case 252: { action. consumePointerTypeQualifierList(); break;
}
//
- // Rule 249: pointer_seq ::= * <openscope-ast> type_qualifier_list
+ // Rule 256: parameter_type_list ::= parameter_list
//
- case 249: { action. consumePointerTypeQualifierList(); break;
+ case 256: { action. consumeEmpty(); break;
}
//
- // Rule 250: pointer_seq ::= pointer_seq * <openscope-ast> type_qualifier_list
+ // Rule 257: parameter_type_list ::= parameter_list , ...
//
- case 250: { action. consumePointerTypeQualifierList(); break;
+ case 257: { action. consumePlaceHolder(); break;
}
//
- // Rule 253: parameter_type_list ::= parameter_list
+ // Rule 258: parameter_type_list ::= ...
//
- case 253: { action. consumeEmpty(); break;
+ case 258: { action. consumePlaceHolder(); break;
}
//
- // Rule 254: parameter_type_list ::= parameter_list , ...
+ // Rule 261: parameter_declaration ::= declaration_specifiers complete_parameter_declarator
//
- case 254: { action. consumePlaceHolder(); break;
+ case 261: { action. consumeParameterDeclaration(); break;
}
//
- // Rule 255: parameter_type_list ::= ...
+ // Rule 262: parameter_declaration ::= declaration_specifiers
//
- case 255: { action. consumePlaceHolder(); break;
+ case 262: { action. consumeParameterDeclarationWithoutDeclarator(); break;
}
//
- // Rule 258: parameter_declaration ::= declaration_specifiers complete_parameter_declarator
+ // Rule 265: type_id ::= specifier_qualifier_list
//
- case 258: { action. consumeParameterDeclaration(); break;
+ case 265: { action. consumeTypeId(false); break;
}
//
- // Rule 259: parameter_declaration ::= declaration_specifiers
+ // Rule 266: type_id ::= specifier_qualifier_list abstract_declarator
//
- case 259: { action. consumeParameterDeclarationWithoutDeclarator(); break;
+ case 266: { action. consumeTypeId(true); break;
}
//
- // Rule 262: type_name ::= specifier_qualifier_list
+ // Rule 268: abstract_declarator ::= <openscope-ast> pointer_seq
//
- case 262: { action. consumeTypeId(false); break;
+ case 268: { action. consumeDeclaratorWithPointer(false); break;
}
//
- // Rule 263: type_name ::= specifier_qualifier_list abstract_declarator
+ // Rule 269: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator
//
- case 263: { action. consumeTypeId(true); break;
+ case 269: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 265: abstract_declarator ::= <openscope-ast> pointer_seq
+ // Rule 273: basic_direct_abstract_declarator ::= ( abstract_declarator )
//
- case 265: { action. consumeDeclaratorWithPointer(false); break;
+ case 273: { action. consumeDirectDeclaratorBracketed(); break;
}
//
- // Rule 266: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator
+ // Rule 274: array_direct_abstract_declarator ::= array_modifier
//
- case 266: { action. consumeDeclaratorWithPointer(false); break;
+ case 274: { action. consumeDirectDeclaratorArrayDeclarator(false); break;
}
//
- // Rule 270: basic_direct_abstract_declarator ::= ( abstract_declarator )
+ // Rule 275: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
//
- case 270: { action. consumeDirectDeclaratorBracketed(); break;
+ case 275: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 271: array_direct_abstract_declarator ::= array_modifier
+ // Rule 276: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
//
- case 271: { action. consumeDirectDeclaratorArrayDeclarator(false); break;
+ case 276: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 272: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
+ // Rule 277: function_direct_abstract_declarator ::= ( )
+ //
+ case 277: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break;
+ }
+
//
- case 272: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ // Rule 278: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( )
+ //
+ case 278: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
}
//
- // Rule 273: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
+ // Rule 279: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list )
//
- case 273: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 279: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break;
}
//
- // Rule 274: function_direct_abstract_declarator ::= ( )
+ // Rule 280: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list )
//
- case 274: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break;
- }
+ case 280: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
+ }
//
- // Rule 275: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( )
+ // Rule 281: initializer ::= assignment_expression
//
- case 275: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
+ case 281: { action. consumeInitializer(); break;
}
//
- // Rule 276: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list )
+ // Rule 283: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq comma_opt } end_initializer_list
//
- case 276: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break;
+ case 283: { action. consumeInitializerList(); break;
}
//
- // Rule 277: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list )
+ // Rule 284: initializer_list ::= { <openscope-ast> }
//
- case 277: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
+ case 284: { action. consumeInitializerList(); break;
}
//
- // Rule 278: initializer ::= assignment_expression
+ // Rule 285: start_initializer_list ::= $Empty
//
- case 278: { action. consumeInitializer(); break;
+ case 285: { action. initializerListStart(); break;
}
//
- // Rule 279: initializer ::= { <openscope-ast> initializer_list comma_opt }
+ // Rule 286: end_initializer_list ::= $Empty
//
- case 279: { action. consumeInitializerList(); break;
+ case 286: { action. initializerListEnd(); break;
}
//
- // Rule 284: designated_initializer ::= <openscope-ast> designation = initializer
+ // Rule 291: designated_initializer ::= <openscope-ast> designation = initializer
//
- case 284: { action. consumeInitializerDesignated(); break;
+ case 291: { action. consumeInitializerDesignated(); break;
}
//
- // Rule 288: designator_base ::= [ constant_expression ]
+ // Rule 295: designator_base ::= [ constant_expression ]
//
- case 288: { action. consumeDesignatorArray(); break;
+ case 295: { action. consumeDesignatorArray(); break;
}
//
- // Rule 289: designator_base ::= . identifier_or_typedefname
+ // Rule 296: designator_base ::= . identifier_token
//
- case 289: { action. consumeDesignatorField(); break;
+ case 296: { action. consumeDesignatorField(); break;
}
//
- // Rule 290: designator ::= [ constant_expression ]
+ // Rule 297: designator ::= [ constant_expression ]
//
- case 290: { action. consumeDesignatorArray(); break;
+ case 297: { action. consumeDesignatorArray(); break;
}
//
- // Rule 291: designator ::= . identifier_or_typedefname
+ // Rule 298: designator ::= . identifier_token
//
- case 291: { action. consumeDesignatorField(); break;
+ case 298: { action. consumeDesignatorField(); break;
}
//
- // Rule 292: translation_unit ::= external_declaration_list
+ // Rule 299: translation_unit ::= external_declaration_list
//
- case 292: { action. consumeTranslationUnit(); break;
+ case 299: { action. consumeTranslationUnit(); break;
}
//
- // Rule 293: translation_unit ::= $Empty
+ // Rule 300: translation_unit ::= $Empty
//
- case 293: { action. consumeTranslationUnit(); break;
+ case 300: { action. consumeTranslationUnit(); break;
}
//
- // Rule 298: external_declaration ::= ;
+ // Rule 305: external_declaration ::= ;
//
- case 298: { action. consumeDeclarationEmpty(); break;
+ case 305: { action. consumeDeclarationEmpty(); break;
}
//
- // Rule 299: external_declaration ::= ERROR_TOKEN
+ // Rule 306: external_declaration ::= ERROR_TOKEN
//
- case 299: { action. consumeDeclarationProblem(); break;
+ case 306: { action. consumeDeclarationProblem(); break;
}
//
- // Rule 302: function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body
+ // Rule 310: function_definition ::= <openscope-ast> function_declarator function_body
//
- case 302: { action. consumeFunctionDefinition(true); break;
+ case 310: { action. consumeFunctionDefinition(false); break;
}
//
- // Rule 303: function_definition ::= <openscope-ast> function_declarator function_body
+ // Rule 311: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement
//
- case 303: { action. consumeFunctionDefinition(false); break;
+ case 311: { action. consumeFunctionDefinitionKnR(); break;
}
//
- // Rule 304: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement
+ // Rule 312: normal_function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body
//
- case 304: { action. consumeFunctionDefinitionKnR(); break;
+ case 312: { action. consumeFunctionDefinition(true); break;
}
//
- // Rule 305: function_body ::= { }
+ // Rule 313: function_body ::= { }
//
- case 305: { action. consumeStatementCompoundStatement(false); break;
+ case 313: { action. consumeStatementCompoundStatement(false); break;
}
//
- // Rule 306: function_body ::= { <openscope-ast> block_item_list }
+ // Rule 314: function_body ::= { <openscope-ast> block_item_list }
//
- case 306: { action. consumeStatementCompoundStatement(true); break;
+ case 314: { action. consumeStatementCompoundStatement(true); break;
}
//
- // Rule 307: literal ::= MYTHREAD
+ // Rule 315: literal ::= MYTHREAD
//
- case 307: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_mythread); break;
+ case 315: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_mythread); break;
}
//
- // Rule 308: literal ::= THREADS
+ // Rule 316: literal ::= THREADS
//
- case 308: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_threads); break;
+ case 316: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_threads); break;
}
//
- // Rule 309: literal ::= UPC_MAX_BLOCKSIZE
+ // Rule 317: literal ::= UPC_MAX_BLOCKSIZE
//
- case 309: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_upc_max_block_size); break;
+ case 317: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_upc_max_block_size); break;
}
//
- // Rule 310: unary_expression ::= upc_localsizeof unary_expression
+ // Rule 318: unary_expression ::= upc_localsizeof unary_expression
//
- case 310: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_localsizeof); break;
+ case 318: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_localsizeof); break;
}
//
- // Rule 311: unary_expression ::= upc_localsizeof ( type_name )
+ // Rule 319: unary_expression ::= upc_localsizeof ( type_id )
//
- case 311: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_localsizeof); break;
+ case 319: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_localsizeof); break;
}
//
- // Rule 312: unary_expression ::= upc_blocksizeof unary_expression
+ // Rule 320: unary_expression ::= upc_blocksizeof unary_expression
//
- case 312: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_blocksizeof); break;
+ case 320: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_blocksizeof); break;
}
//
- // Rule 313: unary_expression ::= upc_blocksizeof ( type_name )
+ // Rule 321: unary_expression ::= upc_blocksizeof ( type_id )
//
- case 313: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_blocksizeof); break;
+ case 321: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_blocksizeof); break;
}
//
- // Rule 314: unary_expression ::= upc_elemsizeof unary_expression
+ // Rule 322: unary_expression ::= upc_elemsizeof unary_expression
//
- case 314: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_elemsizeof); break;
+ case 322: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_elemsizeof); break;
}
//
- // Rule 315: unary_expression ::= upc_elemsizeof ( type_name )
+ // Rule 323: unary_expression ::= upc_elemsizeof ( type_id )
//
- case 315: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_elemsizeof); break;
+ case 323: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_elemsizeof); break;
}
//
- // Rule 319: shared_type_qualifier ::= shared
+ // Rule 327: shared_type_qualifier ::= shared
//
- case 319: { action. consumeToken(); break;
+ case 327: { action. consumeToken(); break;
}
//
- // Rule 320: reference_type_qualifier ::= relaxed
+ // Rule 328: reference_type_qualifier ::= relaxed
//
- case 320: { action. consumeToken(); break;
+ case 328: { action. consumeToken(); break;
}
//
- // Rule 321: reference_type_qualifier ::= strict
+ // Rule 329: reference_type_qualifier ::= strict
//
- case 321: { action. consumeToken(); break;
+ case 329: { action. consumeToken(); break;
}
//
- // Rule 322: layout_qualifier ::= [ constant_expression ]
+ // Rule 330: layout_qualifier ::= [ constant_expression ]
//
- case 322: { action. consumeLayoutQualifier(true, false); break;
+ case 330: { action. consumeLayoutQualifier(true, false); break;
}
//
- // Rule 323: layout_qualifier ::= [ * ]
+ // Rule 331: layout_qualifier ::= [ * ]
//
- case 323: { action. consumeLayoutQualifier(false, true); break;
+ case 331: { action. consumeLayoutQualifier(false, true); break;
}
//
- // Rule 324: layout_qualifier ::= [ ]
+ // Rule 332: layout_qualifier ::= [ ]
//
- case 324: { action. consumeLayoutQualifier(false, false); break;
+ case 332: { action. consumeLayoutQualifier(false, false); break;
}
//
- // Rule 326: synchronization_statement ::= upc_notify expression ;
+ // Rule 334: synchronization_statement ::= upc_notify expression ;
//
- case 326: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, true); break;
+ case 334: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, true); break;
}
//
- // Rule 327: synchronization_statement ::= upc_notify ;
+ // Rule 335: synchronization_statement ::= upc_notify ;
//
- case 327: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, false); break;
+ case 335: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, false); break;
}
//
- // Rule 328: synchronization_statement ::= upc_wait expression ;
+ // Rule 336: synchronization_statement ::= upc_wait expression ;
//
- case 328: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, true); break;
+ case 336: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, true); break;
}
//
- // Rule 329: synchronization_statement ::= upc_wait ;
+ // Rule 337: synchronization_statement ::= upc_wait ;
//
- case 329: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, false); break;
+ case 337: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, false); break;
}
//
- // Rule 330: synchronization_statement ::= upc_barrier expression ;
+ // Rule 338: synchronization_statement ::= upc_barrier expression ;
//
- case 330: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, true); break;
+ case 338: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, true); break;
}
//
- // Rule 331: synchronization_statement ::= upc_barrier ;
+ // Rule 339: synchronization_statement ::= upc_barrier ;
//
- case 331: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, false); break;
+ case 339: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, false); break;
}
//
- // Rule 332: synchronization_statement ::= upc_fence ;
+ // Rule 340: synchronization_statement ::= upc_fence ;
//
- case 332: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_fence, false); break;
+ case 340: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_fence, false); break;
}
//
- // Rule 333: iteration_statement ::= upc_forall ( expression ; expression ; expression ; affinity ) statement
+ // Rule 341: iteration_statement ::= upc_forall ( expression ; expression ; expression ; affinity ) statement
//
- case 333: { action. consumeStatementUPCForallLoop(true, true, true, true); break;
+ case 341: { action. consumeStatementUPCForallLoop(true, true, true, true); break;
}
//
- // Rule 334: iteration_statement ::= upc_forall ( expression ; expression ; expression ; ) statement
+ // Rule 342: iteration_statement ::= upc_forall ( expression ; expression ; expression ; ) statement
//
- case 334: { action. consumeStatementUPCForallLoop(true, true, true, false); break;
+ case 342: { action. consumeStatementUPCForallLoop(true, true, true, false); break;
}
//
- // Rule 335: iteration_statement ::= upc_forall ( expression ; expression ; ; affinity ) statement
+ // Rule 343: iteration_statement ::= upc_forall ( expression ; expression ; ; affinity ) statement
//
- case 335: { action. consumeStatementUPCForallLoop(true, true, false, true); break;
+ case 343: { action. consumeStatementUPCForallLoop(true, true, false, true); break;
}
//
- // Rule 336: iteration_statement ::= upc_forall ( expression ; expression ; ; ) statement
+ // Rule 344: iteration_statement ::= upc_forall ( expression ; expression ; ; ) statement
//
- case 336: { action. consumeStatementUPCForallLoop(true, true, false, false); break;
+ case 344: { action. consumeStatementUPCForallLoop(true, true, false, false); break;
}
//
- // Rule 337: iteration_statement ::= upc_forall ( expression ; ; expression ; affinity ) statement
+ // Rule 345: iteration_statement ::= upc_forall ( expression ; ; expression ; affinity ) statement
//
- case 337: { action. consumeStatementUPCForallLoop(true, false, true, true); break;
+ case 345: { action. consumeStatementUPCForallLoop(true, false, true, true); break;
}
//
- // Rule 338: iteration_statement ::= upc_forall ( expression ; ; expression ; ) statement
+ // Rule 346: iteration_statement ::= upc_forall ( expression ; ; expression ; ) statement
//
- case 338: { action. consumeStatementUPCForallLoop(true, false, true, false); break;
+ case 346: { action. consumeStatementUPCForallLoop(true, false, true, false); break;
}
//
- // Rule 339: iteration_statement ::= upc_forall ( expression ; ; ; affinity ) statement
+ // Rule 347: iteration_statement ::= upc_forall ( expression ; ; ; affinity ) statement
//
- case 339: { action. consumeStatementUPCForallLoop(true, false, false, true); break;
+ case 347: { action. consumeStatementUPCForallLoop(true, false, false, true); break;
}
//
- // Rule 340: iteration_statement ::= upc_forall ( expression ; ; ; ) statement
+ // Rule 348: iteration_statement ::= upc_forall ( expression ; ; ; ) statement
//
- case 340: { action. consumeStatementUPCForallLoop(true, false, false, false); break;
+ case 348: { action. consumeStatementUPCForallLoop(true, false, false, false); break;
}
//
- // Rule 341: iteration_statement ::= upc_forall ( ; expression ; expression ; affinity ) statement
+ // Rule 349: iteration_statement ::= upc_forall ( ; expression ; expression ; affinity ) statement
//
- case 341: { action. consumeStatementUPCForallLoop(false, true, true, true); break;
+ case 349: { action. consumeStatementUPCForallLoop(false, true, true, true); break;
}
//
- // Rule 342: iteration_statement ::= upc_forall ( ; expression ; expression ; ) statement
+ // Rule 350: iteration_statement ::= upc_forall ( ; expression ; expression ; ) statement
//
- case 342: { action. consumeStatementUPCForallLoop(false, true, true, false); break;
+ case 350: { action. consumeStatementUPCForallLoop(false, true, true, false); break;
}
//
- // Rule 343: iteration_statement ::= upc_forall ( ; expression ; ; affinity ) statement
+ // Rule 351: iteration_statement ::= upc_forall ( ; expression ; ; affinity ) statement
//
- case 343: { action. consumeStatementUPCForallLoop(false, true, false, true); break;
+ case 351: { action. consumeStatementUPCForallLoop(false, true, false, true); break;
}
//
- // Rule 344: iteration_statement ::= upc_forall ( ; expression ; ; ) statement
+ // Rule 352: iteration_statement ::= upc_forall ( ; expression ; ; ) statement
//
- case 344: { action. consumeStatementUPCForallLoop(false, true, false, false); break;
+ case 352: { action. consumeStatementUPCForallLoop(false, true, false, false); break;
}
//
- // Rule 345: iteration_statement ::= upc_forall ( ; ; expression ; affinity ) statement
+ // Rule 353: iteration_statement ::= upc_forall ( ; ; expression ; affinity ) statement
//
- case 345: { action. consumeStatementUPCForallLoop(false, false, true, true); break;
+ case 353: { action. consumeStatementUPCForallLoop(false, false, true, true); break;
}
//
- // Rule 346: iteration_statement ::= upc_forall ( ; ; expression ; ) statement
+ // Rule 354: iteration_statement ::= upc_forall ( ; ; expression ; ) statement
//
- case 346: { action. consumeStatementUPCForallLoop(false, false, true, false); break;
+ case 354: { action. consumeStatementUPCForallLoop(false, false, true, false); break;
}
//
- // Rule 347: iteration_statement ::= upc_forall ( ; ; ; affinity ) statement
+ // Rule 355: iteration_statement ::= upc_forall ( ; ; ; affinity ) statement
//
- case 347: { action. consumeStatementUPCForallLoop(false, false, false, true); break;
+ case 355: { action. consumeStatementUPCForallLoop(false, false, false, true); break;
}
//
- // Rule 348: iteration_statement ::= upc_forall ( ; ; ; ) statement
+ // Rule 356: iteration_statement ::= upc_forall ( ; ; ; ) statement
//
- case 348: { action. consumeStatementUPCForallLoop(false, false, false, false); break;
+ case 356: { action. consumeStatementUPCForallLoop(false, false, false, false); break;
}
//
- // Rule 349: iteration_statement ::= upc_forall ( declaration expression ; expression ; affinity ) statement
+ // Rule 357: iteration_statement ::= upc_forall ( declaration expression ; expression ; affinity ) statement
//
- case 349: { action. consumeStatementUPCForallLoop(true, true, true, true); break;
+ case 357: { action. consumeStatementUPCForallLoop(true, true, true, true); break;
}
//
- // Rule 350: iteration_statement ::= upc_forall ( declaration expression ; expression ; ) statement
+ // Rule 358: iteration_statement ::= upc_forall ( declaration expression ; expression ; ) statement
//
- case 350: { action. consumeStatementUPCForallLoop(true, true, true, false); break;
+ case 358: { action. consumeStatementUPCForallLoop(true, true, true, false); break;
}
//
- // Rule 351: iteration_statement ::= upc_forall ( declaration expression ; ; affinity ) statement
+ // Rule 359: iteration_statement ::= upc_forall ( declaration expression ; ; affinity ) statement
//
- case 351: { action. consumeStatementUPCForallLoop(true, true, false, true); break;
+ case 359: { action. consumeStatementUPCForallLoop(true, true, false, true); break;
}
//
- // Rule 352: iteration_statement ::= upc_forall ( declaration expression ; ; ) statement
+ // Rule 360: iteration_statement ::= upc_forall ( declaration expression ; ; ) statement
//
- case 352: { action. consumeStatementUPCForallLoop(true, true, false, false); break;
+ case 360: { action. consumeStatementUPCForallLoop(true, true, false, false); break;
}
//
- // Rule 353: iteration_statement ::= upc_forall ( declaration ; expression ; affinity ) statement
+ // Rule 361: iteration_statement ::= upc_forall ( declaration ; expression ; affinity ) statement
//
- case 353: { action. consumeStatementUPCForallLoop(true, false, true, true); break;
+ case 361: { action. consumeStatementUPCForallLoop(true, false, true, true); break;
}
//
- // Rule 354: iteration_statement ::= upc_forall ( declaration ; expression ; ) statement
+ // Rule 362: iteration_statement ::= upc_forall ( declaration ; expression ; ) statement
//
- case 354: { action. consumeStatementUPCForallLoop(true, false, true, false); break;
+ case 362: { action. consumeStatementUPCForallLoop(true, false, true, false); break;
}
//
- // Rule 355: iteration_statement ::= upc_forall ( declaration ; ; affinity ) statement
+ // Rule 363: iteration_statement ::= upc_forall ( declaration ; ; affinity ) statement
//
- case 355: { action. consumeStatementUPCForallLoop(true, false, false, true); break;
+ case 363: { action. consumeStatementUPCForallLoop(true, false, false, true); break;
}
//
- // Rule 356: iteration_statement ::= upc_forall ( declaration ; ; ) statement
+ // Rule 364: iteration_statement ::= upc_forall ( declaration ; ; ) statement
//
- case 356: { action. consumeStatementUPCForallLoop(true, false, false, false); break;
+ case 364: { action. consumeStatementUPCForallLoop(true, false, false, false); break;
}
//
- // Rule 358: affinity ::= continue
+ // Rule 366: affinity ::= continue
//
- case 358: { action. consumeToken(); break;
+ case 366: { 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 2bcb9843a89..9415bcb29f2 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, 2008 IBM Corporation and others.
+* Copyright (c) 2006, 2009 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -35,342 +35,330 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym
public interface BaseCheck {
public final static short baseCheck[] = {0,
- 0,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,3,1,1,1,4,
- 4,3,3,2,2,8,1,0,1,1,
- 1,2,2,2,2,2,2,2,2,2,
- 4,1,4,1,3,3,3,1,3,3,
- 1,3,3,1,3,3,3,3,1,3,
- 3,1,3,1,3,1,3,1,3,1,
- 3,1,5,1,3,3,3,3,3,3,
- 3,3,3,3,3,1,1,2,1,0,
- 1,3,1,1,1,1,1,1,1,1,
- 3,3,2,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,
+ 0,0,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,3,1,
+ 1,4,4,3,3,2,2,4,1,0,
+ 1,1,2,2,2,2,2,2,2,2,
+ 2,4,1,4,1,3,3,3,1,3,
+ 3,1,3,3,1,3,3,3,3,1,
+ 3,3,1,3,1,3,1,3,1,3,
+ 1,3,1,5,1,3,3,3,3,3,
+ 3,3,3,3,3,3,1,1,2,1,
+ 0,1,3,1,1,1,1,1,1,1,
+ 1,3,4,3,2,4,1,2,1,1,
+ 1,2,5,7,5,1,0,7,5,9,
+ 8,3,2,2,2,3,2,4,2,2,
+ 2,2,2,1,1,1,1,2,1,2,
+ 2,2,1,2,2,1,2,2,1,2,
+ 2,1,2,2,1,3,1,3,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,5,5,6,6,2,2,2,1,0,
- 1,2,4,2,1,1,1,3,1,1,
- 2,3,6,7,1,0,1,3,1,3,
- 1,1,1,1,1,1,3,1,1,1,
- 1,1,3,1,2,2,1,5,3,1,
- 3,5,1,3,1,3,2,4,3,5,
- 4,6,6,3,5,1,1,2,3,4,
- 1,2,1,3,1,1,3,2,1,1,
- 1,1,2,1,2,3,1,1,1,3,
- 1,2,2,2,3,4,5,1,5,1,
- 1,3,3,4,1,1,2,3,2,3,
- 2,1,0,1,2,1,1,1,1,1,
- 2,4,3,6,2,4,1,1,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,-107,-83,
- 0,-2,0,0,0,0,0,0,-19,0,
- 0,-22,0,0,0,0,-20,0,-4,0,
- 0,-215,0,-39,-276,0,0,0,0,0,
- 0,-74,0,0,0,0,0,-24,-8,0,
- 0,0,-26,-6,0,0,0,0,0,-29,
- 0,0,0,0,0,0,-25,0,-3,0,
- -40,0,0,0,0,-11,0,0,0,0,
- 0,-41,0,0,0,0,-32,0,0,-43,
- 0,0,0,0,0,0,0,0,0,-162,
- 0,-17,0,0,0,0,0,-124,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-88,0,0,0,0,0,
- -59,0,0,-87,0,0,0,-60,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,
- -61,0,0,0,-51,0,-12,-141,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,-30,-89,0,0,0,-288,0,-27,0,
- 0,0,0,0,0,0,0,0,0,-254,
- -33,0,0,0,-62,0,-98,0,0,0,
- 0,-102,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-14,0,0,0,0,
- 0,0,0,0,-106,0,0,0,0,0,
- -296,0,-110,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-42,-1,0,0,0,0,
- 0,0,0,-146,0,-28,0,0,-214,0,
- -80,0,-31,0,0,0,0,0,0,0,
- -143,0,0,0,-38,0,0,0,0,0,
- -9,-37,0,0,0,0,0,0,0,0,
- 0,0,0,-117,0,0,0,-119,0,0,
- 0,0,0,0,-152,0,0,0,0,-36,
- 0,0,-142,0,0,0,0,0,0,0,
- -79,0,0,0,0,0,-5,0,0,-34,
- 0,-63,0,0,0,0,0,-150,0,0,
- 0,0,0,-64,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-23,0,
- -65,0,0,0,0,0,0,0,-45,0,
- 0,-70,0,0,0,0,0,0,-66,0,
- 0,-173,0,0,0,0,0,0,0,0,
- 0,-72,0,-35,-84,0,-67,0,0,0,
- 0,0,0,0,0,0,0,0,-68,0,
- 0,0,-52,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,-75,0,-154,0,0,0,0,0,
- 0,0,0,0,0,0,0,-76,0,0,
- 0,0,-47,0,-147,-220,0,0,0,0,
- 0,0,0,0,0,0,0,-168,0,-144,
- 0,0,0,0,0,0,0,-69,0,0,
- -71,0,0,0,0,-55,0,-82,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- -225,0,0,-189,0,0,0,0,0,0,
- -95,0,0,0,0,0,0,0,-96,0,
- 0,-92,-219,0,0,0,0,0,0,0,
- 0,0,0,-94,0,0,-315,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- -108,0,0,0,0,0,-240,0,0,0,
- 0,0,-257,0,0,0,0,0,0,-104,
- 0,-97,0,0,0,0,0,0,0,-118,
- 0,0,-163,0,0,0,0,-53,0,0,
- -187,0,0,0,0,0,0,0,0,0,
- 0,0,-218,0,0,-109,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- -221,0,-90,0,0,0,0,-93,-159,0,
- 0,0,0,0,0,-227,0,-99,0,0,
- 0,0,0,0,0,-239,0,0,0,-155,
- 0,0,0,-190,0,0,0,0,0,0,
- -101,-100,0,0,0,0,0,0,-228,0,
- -103,0,0,0,0,0,0,0,-300,0,
- 0,-253,0,0,0,0,-158,0,0,-197,
- 0,0,0,0,0,0,0,0,0,0,
- 0,-229,0,0,0,0,0,0,0,0,
- 0,-105,0,0,-298,-148,0,0,0,-167,
- 0,0,-149,-245,0,0,0,0,0,0,
- 0,0,0,0,-230,0,-157,0,0,0,
- 0,0,0,0,-191,0,0,-161,-164,0,
- 0,0,-272,0,0,-224,0,0,0,0,
- 0,0,0,0,0,0,0,-231,0,-165,
- -192,0,0,0,0,0,0,-166,0,0,
- 0,-176,0,0,0,-169,0,0,0,-120,
- 0,0,0,0,0,0,0,0,0,0,
- -232,0,-180,0,0,0,0,0,0,0,
- -193,0,0,-183,-184,0,0,0,-54,0,
- 0,-185,0,0,0,0,0,0,0,0,
- 0,0,0,-233,0,-198,-194,0,0,0,
- 0,0,0,-199,0,0,0,-200,0,0,
- 0,-56,0,-81,0,0,0,0,0,0,
- 0,0,0,0,0,0,-234,0,-201,-195,
- 0,0,0,0,0,0,-202,0,0,0,
- -203,0,0,0,-204,0,0,-271,-317,-73,
- 0,-170,-196,0,0,0,0,0,0,-235,
- 0,0,0,0,0,0,0,0,0,-205,
- 0,0,-206,0,0,0,0,-226,0,-171,
- -207,0,0,0,0,-208,0,0,0,0,
- 0,0,-236,0,0,-216,0,0,0,0,
- 0,0,-217,0,0,-209,-222,0,0,0,
- -210,0,0,0,0,0,0,-172,0,0,
- 0,0,0,0,0,-237,0,0,0,0,
- 0,0,0,0,0,-211,0,0,0,-212,
- 0,0,0,-111,0,0,-213,0,0,0,
- 0,0,0,0,0,0,0,0,-252,0,
- -248,-247,0,0,0,0,0,0,-249,0,
- 0,0,-258,0,0,0,-121,0,0,-275,
- 0,0,0,0,0,0,0,0,0,0,
- 0,-265,0,-259,-250,0,0,0,0,0,
- 0,-255,0,0,0,-260,0,0,0,-122,
- 0,0,-261,0,0,0,0,0,0,0,
- 0,0,0,0,-269,-244,-262,0,0,0,
- 0,0,0,0,-266,0,0,-268,-297,0,
- 0,0,-312,0,-290,0,-283,0,0,0,
- -267,0,0,0,0,0,0,-270,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-123,0,0,-293,0,
- 0,0,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,-246,0,
- 0,0,-140,0,0,0,0,0,0,0,
- 0,0,0,-299,-264,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,-278,0,0,-280,0,0,0,-282,-289,
- 0,0,0,0,0,0,-318,0,0,0,
- 0,0,0,0,0,0,0,0,0,-294,
- -313,0,0,0,0,0,-44,0,0,0,
- 0,0,-274,0,0,0,0,0,0,0,
- 0,0,0,-302,0,0,0,0,0,0,
- 0,0,0,0,-91,0,0,0,0,0,
- -305,0,0,0,-86,0,0,0,0,-308,
- -78,0,0,0,0,0,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,-179,0,0,0,-310,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- -295,-316,0,0,-311,0,0,0,-251,0,
- 0,0,-48,-314,0,0,0,0,0,0,
- 0,0,0,0,-138,0,0,0,0,0,
- 0,0,0,0,0,0,-320,-325,0,0,
- 0,0,-323,0,0,0,0,0,0,0,
- -332,0,-160,0,-328,0,0,-263,0,-336,
- 0,0,0,0,0,0,0,0,0,0,
- -337,0,0,0,0,-330,0,0,-18,0,
- -334,0,0,0,0,0,0,0,0,0,
- -256,0,0,0,0,-238,0,-340,0,0,
- 0,0,0,0,-354,0,0,0,0,0,
- 0,-342,-346,0,0,0,0,-156,0,0,
- 0,0,0,0,0,0,0,0,-348,-351,
- -356,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-16,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,-139,0,0,-360,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-21,0,-364,0,
- 0,0,0,-301,0,-367,0,0,0,0,
- 0,0,0,0,-369,0,-377,0,-188,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,-136,
- -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,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,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,-284,0,0,0,-49,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,-286,0,0,0,-50,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- -287,0,0,0,-57,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-319,0,
- 0,0,-58,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-324,0,0,0,
- 0,-242,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-335,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,-338,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,
- -339,0,0,0,0,-279,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,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,
+ 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,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,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,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,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,
+ 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,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,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,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,-341,0,
- 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,-344,0,0,0,
- 0,-303,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-345,0,0,0,0,-306,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,-347,0,0,0,0,-307,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,-309,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,-331,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-357,0,0,0,
- 0,-333,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-358,0,0,0,0,-175,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,-359,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,0,
- -361,0,0,0,0,-178,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,-285,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,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-365,0,0,0,0,0,
+ 0,0,0,0,0,-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,
- 0,0,-366,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,0,-377,0,0,
+ 0,0,0,-372,0,0,0,-378,0,0,
0,0,0,0,0,0,0,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,0,0,0,-371,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,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,-372,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,0,0,0,0,
- 0,0,0,0,-373,0,0,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,-374,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,
0,0,0,0,0,0,0,0,0,0,
- -375,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,-376,0,
- 0,0,0,0,0,-151,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-378,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,-134,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-291,0,
- 0,0,0,0,0,0,0,-135,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,
- -7,-128,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,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-125,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-126,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,-129,0,0,0,0,0,0,
- 0,0,0,0,0,0,-130,0,0,0,
- 0,0,0,0,0,0,0,0,0,-131,
- 0,0,0,0,0,0,0,0,0,-13,
- 0,0,-132,-15,0,0,0,0,0,0,
- 0,0,0,0,0,-133,0,0,0,0,
- 0,0,0,0,0,-85,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,-46,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-186,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-305,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-127,0,0,0,0,
- 0,0,0,0,0,0,0,0,-112,0,
- 0,0,-113,0,0,0,-114,0,0,0,
- 0,0,0,0,0,0,0,0,-304,0,
- 0,0,-115,0,0,0,-116,0,0,0,
- 0,0,0,0,0,0,0,-273,0,0,
- 0,0,0,0,0,0,0,0,0,-174,
- 0,0,0,-223,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-186,0,
0,0,0,0,0,0,0,0,0,0,
+ -308,0,-228,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,-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,-321,0,0,0,0,0,0,0,-322,
- 0,0,0,0,0,0,0,-326,0,0,
- 0,0,0,0,0,-327,0,0,0,0,
- 0,0,0,0,0,0,0,-329,0,0,
- 0,0,0,0,0,0,0,0,0,-343,
- 0,0,0,0,0,0,0,-349,0,0,
- 0,0,0,0,0,-352,0,0,0,0,
- 0,0,0,-353,0,0,0,0,0,0,
- 0,0,0,0,0,-370,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
};
};
public final static short baseCheck[] = BaseCheck.baseCheck;
@@ -380,344 +368,332 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym
public interface BaseAction {
public final static char baseAction[] = {
- 106,1,39,39,10,10,43,43,2,2,
- 4,4,4,4,5,5,5,6,6,7,
- 7,7,7,7,7,7,7,72,72,92,
- 92,8,8,8,8,8,8,8,8,8,
- 8,8,9,9,11,11,11,11,12,12,
- 12,15,15,15,16,16,16,16,16,17,
- 17,17,19,19,28,28,29,29,30,30,
- 31,31,32,32,34,34,34,34,34,34,
- 34,34,34,34,34,34,20,14,3,107,
- 107,94,94,57,21,21,21,21,21,21,
- 21,22,22,22,18,18,95,95,73,73,
- 23,23,24,24,24,65,65,25,25,25,
- 25,26,26,26,26,26,50,50,33,33,
- 33,33,33,52,52,52,87,87,82,82,
- 82,82,83,83,83,84,84,84,85,85,
- 85,86,86,86,96,96,88,88,89,53,
- 55,55,55,55,55,66,68,68,68,68,
- 68,68,68,68,68,68,68,68,77,77,
- 13,13,74,74,74,74,75,75,75,78,
- 78,79,79,69,69,69,45,108,108,97,
- 98,98,98,76,76,99,99,100,100,90,
- 90,35,36,36,36,54,56,56,46,46,
- 46,46,40,40,41,47,47,48,42,42,
- 101,101,49,110,110,109,109,51,51,51,
- 51,51,51,51,51,51,102,58,58,58,
- 58,80,80,70,70,70,71,71,60,60,
- 111,111,59,59,81,81,81,61,61,61,
- 62,63,63,63,64,64,64,64,67,67,
- 93,93,93,93,91,112,113,113,114,114,
- 115,115,106,106,116,116,103,103,103,103,
- 117,117,104,104,104,105,105,4,4,4,
- 8,8,8,8,8,8,35,35,37,37,
- 38,38,118,118,118,21,27,27,27,27,
- 27,27,27,25,25,25,25,25,25,25,
- 25,25,25,25,25,25,25,25,25,25,
- 25,25,25,25,25,25,25,44,44,359,
- 399,561,1814,14,19,15,481,1117,44,363,
- 488,565,2117,1597,521,724,712,2270,759,1822,
- 1887,126,1977,561,1950,2053,127,741,789,777,
- 858,74,2129,91,134,211,316,317,2039,1840,
- 710,222,227,2271,1815,1096,216,774,219,221,
- 2435,136,133,135,159,305,158,355,861,2265,
- 452,1963,710,222,227,138,384,165,216,774,
- 219,221,2442,142,145,148,151,2055,1455,398,
- 1819,2921,661,1926,3030,3034,1848,223,155,421,
- 2598,651,1967,1194,134,211,316,317,2771,377,
- 222,230,14,19,15,481,42,44,304,488,
- 1216,136,133,135,159,1822,848,331,87,197,
- 199,1825,207,595,2253,138,332,165,1966,1100,
- 1545,835,1103,142,145,148,151,1459,1059,286,
- 301,2921,661,1926,3030,3034,1848,2646,385,303,
- 542,14,19,15,481,1117,44,318,488,565,
- 404,1885,521,724,712,2771,759,388,2269,14,
- 19,15,481,42,39,741,789,777,858,74,
- 403,278,1955,1822,848,329,87,2646,385,355,
- 1270,14,19,15,481,1117,44,1166,488,565,
- 2114,1967,521,724,712,1980,759,430,848,110,
- 86,183,2117,1673,280,741,789,777,858,74,
- 1092,278,377,222,231,95,392,1041,1162,94,
- 96,97,98,99,325,1822,2855,126,281,410,
- 1400,2457,385,1841,971,14,19,15,481,1117,
- 44,271,488,565,280,104,521,724,712,1641,
- 759,266,1034,884,269,1967,1806,419,298,741,
- 789,777,858,74,2269,278,355,392,281,2269,
- 1591,2354,1818,2303,2798,14,19,15,481,1117,
- 44,2336,488,565,271,1815,521,724,712,379,
- 759,1982,355,868,264,1034,884,269,282,741,
- 789,777,858,74,2196,1030,297,182,2185,848,
- 237,89,185,3056,263,2926,134,211,316,317,
- 2111,1234,283,1822,382,194,134,211,316,317,
- 229,2111,1941,136,133,135,159,1877,419,298,
- 2060,229,2112,144,133,135,159,138,2129,165,
- 252,211,316,317,1813,142,145,148,151,294,
- 296,1096,362,2921,661,1926,3030,3034,1848,2522,
- 379,2513,707,14,19,15,481,42,44,2183,
- 488,565,355,1533,521,724,712,297,759,2122,
- 302,225,1822,359,2180,87,23,741,789,777,
- 858,93,355,1671,2445,2572,1446,2094,324,14,
- 19,15,481,1117,44,1273,488,565,322,1970,
- 521,724,712,2771,759,595,749,14,19,15,
- 481,42,38,741,789,777,858,74,207,278,
- 295,296,2152,355,718,2821,3174,836,1103,14,
- 19,15,481,1117,44,226,488,565,2914,2826,
- 521,724,712,2671,759,68,68,14,19,15,
- 481,314,157,741,789,777,858,74,2771,1136,
- 2164,651,14,19,15,481,1117,44,2110,488,
- 565,1948,651,521,724,712,2547,759,355,651,
- 14,19,15,481,42,35,741,789,777,858,
- 74,2407,91,196,2553,14,19,15,481,1117,
- 44,2447,488,565,196,693,521,724,712,2450,
- 759,595,2253,2191,123,323,693,1323,1471,741,
- 789,777,858,74,2191,1268,1096,2572,300,192,
- 238,14,19,15,481,1117,44,1338,488,565,
- 191,2055,521,724,712,272,759,2775,651,528,
- 850,3189,1194,2111,1465,741,789,777,858,74,
- 2771,278,2451,275,14,19,15,481,42,44,
- 2196,488,565,355,507,521,724,712,2771,759,
- 1753,1967,14,19,15,481,42,37,741,789,
- 777,858,93,2771,284,450,2055,14,19,15,
- 481,42,44,208,488,565,16,257,521,724,
- 712,2932,759,1822,848,327,87,1183,2253,2055,
- 122,741,789,777,858,93,2771,1272,2482,228,
- 14,19,15,481,1117,44,1967,488,565,560,
- 2183,521,724,712,2274,759,252,211,316,317,
- 210,2253,2519,111,741,789,777,858,74,2771,
- 85,2446,22,14,19,15,481,1117,44,2800,
- 488,565,355,547,521,724,712,2547,759,239,
- 2183,14,19,15,481,42,35,741,789,777,
- 858,74,2771,84,1603,273,14,19,15,481,
- 1117,44,2576,488,565,2191,2602,521,724,712,
- 2253,759,330,212,2109,848,244,87,289,20,
- 741,789,777,858,74,2771,83,1812,115,14,
- 19,15,481,1117,44,2055,488,565,1834,1965,
- 521,724,712,2547,759,1393,2183,14,19,15,
- 481,42,35,741,789,777,858,74,2771,82,
- 2599,2055,14,19,15,481,1117,44,73,488,
- 565,1414,1845,521,724,712,2253,759,328,1569,
- 355,848,245,87,287,241,741,789,777,858,
- 74,2771,81,2601,1070,14,19,15,481,1117,
- 44,2055,488,565,2015,2846,521,724,712,2771,
- 759,1426,2858,14,19,15,481,42,36,741,
- 789,777,858,74,2771,80,2195,2055,14,19,
- 15,481,1117,44,2256,488,565,1433,1968,521,
- 724,712,2771,759,2159,651,14,19,15,481,
- 42,34,741,789,777,858,74,2771,79,1976,
- 2055,14,19,15,481,1117,44,1900,488,565,
- 1447,1958,521,724,712,2360,759,1753,2183,2191,
- 2020,651,2253,2055,326,741,789,777,858,74,
- 2771,78,291,21,14,19,15,481,1117,44,
- 2434,488,565,2438,256,521,724,712,2938,759,
- 2253,2440,125,196,1009,1128,2344,240,741,789,
- 777,858,74,2771,77,693,2269,14,19,15,
- 481,1117,44,2269,488,565,2166,2052,521,724,
- 712,2609,759,252,211,316,317,232,2253,191,
- 121,741,789,777,858,74,2771,76,634,850,
- 14,19,15,481,1117,44,2612,488,565,184,
- 2802,521,724,712,2771,759,203,2777,14,19,
- 15,481,42,35,741,789,777,858,74,2771,
- 75,2606,2055,14,19,15,481,1117,44,2055,
- 488,565,2035,2607,521,724,712,2771,759,2063,
- 2852,14,19,15,481,42,47,741,789,777,
- 858,74,2771,92,2610,2055,14,19,15,481,
- 42,44,2055,488,565,2091,2611,521,724,712,
- 2771,759,270,2864,14,19,15,481,42,46,
- 741,789,777,858,93,2771,2253,2866,2264,14,
- 19,15,481,1117,44,2855,488,565,396,2750,
- 521,724,712,2856,759,2159,651,2109,848,201,
- 87,2269,1701,741,789,777,858,74,2771,1499,
- 3380,115,14,19,15,481,1117,44,3380,488,
- 565,3380,3380,521,724,712,2771,759,1753,2183,
- 14,19,15,481,42,45,741,789,777,858,
- 74,2771,1590,3380,204,14,19,15,481,42,
- 44,3380,488,565,3380,256,521,724,712,2253,
- 759,1467,1677,2092,651,1714,1128,3380,242,741,
- 789,777,858,93,2771,2849,3380,193,14,19,
- 15,481,42,44,3380,488,565,3380,3380,521,
- 724,712,2253,759,2292,2253,196,2320,202,2253,
- 2055,2376,741,789,777,858,93,2771,693,3380,
- 276,14,19,15,481,42,44,3380,488,565,
- 2183,2852,521,724,712,3380,759,217,359,110,
- 86,1702,191,1837,3380,741,789,777,858,93,
- 1092,639,850,3380,2253,95,3222,1041,108,94,
- 96,97,98,99,325,1822,848,124,87,243,
- 595,2253,3380,3238,1771,1,359,110,86,1300,
- 2253,1955,2404,710,222,227,3380,109,1092,217,
- 774,219,221,95,271,1041,108,94,96,97,
- 98,99,325,1760,266,1034,884,269,595,3380,
- 106,2236,651,288,359,110,86,2253,306,2432,
- 3380,710,222,227,3380,109,1092,217,774,219,
- 221,95,1635,1041,108,94,96,97,98,99,
- 325,2269,2183,3380,196,2055,595,3380,107,145,
- 359,110,86,2696,2055,1781,693,14,19,15,
- 481,312,1092,109,277,355,848,95,87,1041,
- 108,94,96,97,98,99,325,2055,2055,1360,
- 191,288,595,2253,279,3270,106,2203,2287,1316,
- 850,2055,105,1828,1026,2253,3380,3278,2771,109,
- 2269,2399,14,19,15,481,42,44,1709,488,
- 565,2183,3380,521,724,712,2253,759,3286,399,
- 561,2253,107,117,3380,3380,741,789,777,858,
- 73,2439,651,710,222,227,1816,3158,2055,216,
- 774,219,221,26,271,2253,274,3306,2427,260,
- 290,3380,2055,2055,264,1034,884,269,2920,710,
- 222,227,2455,2511,1753,216,774,219,221,2055,
- 2055,2055,3380,3380,261,437,710,222,227,2539,
- 2595,2679,216,774,219,221,3380,271,2336,560,
- 3380,256,437,251,211,316,317,264,1034,884,
- 269,1570,1128,2771,258,3380,2055,14,19,15,
- 481,42,44,3380,488,565,2707,1422,521,724,
- 712,3380,759,134,211,316,317,399,625,2055,
- 3380,741,789,1367,2857,848,2055,87,1298,2735,
- 137,133,135,159,2119,2055,2763,2055,357,1886,
- 1791,3380,3380,3380,139,2791,165,2847,3380,274,
- 881,3380,143,146,149,152,2054,710,222,432,
- 3380,3380,3380,216,774,219,440,3380,1737,3380,
- 2771,2259,651,158,14,19,15,481,42,44,
- 3380,488,565,3380,3380,521,724,712,3380,759,
- 271,134,211,316,317,3380,3380,3380,741,1331,
- 264,1034,884,269,1753,154,421,3380,147,133,
- 135,159,3380,384,3380,3380,3380,2771,655,3380,
- 1422,14,19,15,481,42,44,662,488,565,
- 3380,256,521,724,712,3380,759,473,848,110,
- 86,1009,1128,3380,3380,1356,3380,3380,3380,3380,
- 1092,3380,3380,3380,3380,95,3380,1041,101,94,
- 96,97,98,99,325,516,848,110,86,2721,
- 3380,3380,3380,14,19,15,481,310,1092,3380,
- 1327,3380,3380,95,3380,1041,118,94,96,97,
- 98,99,325,559,848,110,86,2746,3380,3380,
- 3380,14,19,15,481,40,1092,3380,3380,3380,
- 3380,95,3380,1041,114,94,96,97,98,99,
- 325,602,848,110,86,2796,3380,3380,3380,14,
- 19,15,481,33,1092,3380,3380,3380,3380,95,
- 3380,1041,1463,94,96,97,98,99,325,645,
- 848,110,86,2796,3380,3380,3380,14,19,15,
- 481,32,1092,3380,3380,3380,3380,95,3380,1041,
- 356,94,96,97,98,99,325,688,848,110,
- 86,3380,1822,848,2208,87,3380,3380,3380,3380,
- 1092,3380,3380,3380,3380,95,1562,1041,348,94,
- 96,97,98,99,325,731,848,110,86,3380,
- 1822,848,2236,87,3380,3380,3380,3380,1092,3380,
- 3380,3380,3380,95,1565,1041,113,94,96,97,
- 98,99,325,774,848,110,86,3380,1822,848,
- 1894,87,3380,3380,3380,3380,1092,3380,3380,3380,
- 3380,95,1614,1041,355,94,96,97,98,99,
- 325,817,848,110,86,3380,1822,848,3139,87,
- 3380,3380,3380,3380,1092,3380,3380,3380,3380,95,
- 1631,1041,354,94,96,97,98,99,325,860,
- 848,110,86,3380,1822,848,2348,87,3380,3380,
- 3380,3380,1092,3380,3380,3380,3380,95,1640,1041,
- 352,94,96,97,98,99,325,903,848,110,
- 86,3380,1822,848,3230,87,3380,3380,3380,3380,
- 1092,3380,3380,3380,3380,95,1743,1041,347,94,
- 96,97,98,99,325,946,848,110,86,3380,
- 1822,848,3246,87,3380,3380,3380,3380,1092,3380,
- 3380,3380,3380,95,1755,1041,346,94,96,97,
- 98,99,325,989,848,110,86,3380,1822,848,
- 3258,87,3380,3380,3380,3380,1092,3380,3380,3380,
- 3380,95,1776,1041,344,94,96,97,98,99,
- 325,1032,848,110,86,3380,2109,848,3380,87,
- 3380,3380,3380,3380,1092,3380,3380,3380,3380,95,
- 115,1041,340,94,96,97,98,99,325,1075,
- 848,110,86,3380,1822,848,3294,87,3380,3380,
- 3380,3380,1092,3380,3380,3380,3380,95,1805,1041,
- 120,94,96,97,98,99,325,1118,848,110,
- 86,3380,2109,848,3380,87,3380,3380,3380,3380,
- 1092,1751,3380,3380,3380,95,115,1041,353,94,
- 96,97,98,99,325,1161,848,110,86,3380,
- 355,848,3380,87,3380,3380,3380,3380,1092,3380,
- 3380,3380,3380,95,1382,1041,351,94,96,97,
- 98,99,325,1204,848,110,86,3380,355,848,
- 3380,87,3380,3380,3380,3380,1092,1831,3380,3380,
- 3380,95,1389,1041,350,94,96,97,98,99,
- 325,1247,848,110,86,3380,355,848,3380,87,
- 3380,3380,3380,3380,1092,3380,3380,3380,3380,95,
- 1415,1041,345,94,96,97,98,99,325,1290,
- 848,110,86,3380,355,848,3380,87,3380,3380,
- 3380,3380,1092,3380,3380,3380,3380,95,1705,1041,
- 343,94,96,97,98,99,325,1333,848,110,
- 86,3380,3380,3380,3380,3380,3380,3380,3380,3380,
- 1092,3380,3380,3380,3380,95,3380,1041,342,94,
- 96,97,98,99,325,1376,848,110,86,3380,
- 3380,3380,3380,3380,3380,3380,3380,3380,1092,3380,
- 3380,3380,3380,95,3380,1041,339,94,96,97,
- 98,99,325,1419,848,110,86,3380,3380,3380,
- 3380,3380,3380,3380,3380,3380,1092,3380,3380,3380,
- 3380,95,3380,1041,338,94,96,97,98,99,
- 325,1462,848,110,86,3380,3380,3380,3380,3380,
- 3380,3380,3380,3380,1092,3380,3380,3380,3380,95,
- 3380,1041,336,94,96,97,98,99,325,1505,
- 848,110,86,3380,3380,3380,3380,3380,3380,3380,
- 3380,3380,1092,3380,3380,3380,3380,95,3380,1041,
- 119,94,96,97,98,99,325,1548,848,110,
- 86,3380,3380,3380,3380,3380,3380,3380,3380,3380,
- 1092,3380,3380,3380,3380,95,3380,1041,349,94,
- 96,97,98,99,325,1591,848,110,86,3380,
- 3380,3380,3380,3380,3380,3380,3380,3380,1092,3380,
- 3380,3380,3380,95,3380,1041,341,94,96,97,
- 98,99,325,1634,848,110,86,3380,3380,3380,
- 3380,3380,3380,3380,3380,3380,1092,3380,3380,3380,
- 3380,95,3380,1041,337,94,96,97,98,99,
- 325,1677,848,110,86,3380,3380,3380,2920,3380,
- 3380,3380,3380,3380,1092,3380,3380,3380,3380,95,
- 3380,1041,335,94,96,97,98,99,325,1720,
- 848,110,86,3380,3380,3380,2920,3380,3380,3380,
- 3380,3380,1092,251,211,316,317,95,3380,1041,
- 334,94,96,97,98,99,325,1763,848,110,
- 86,3380,3380,3380,3380,399,561,3380,3380,3380,
- 1092,251,211,316,317,95,3380,1041,333,94,
- 96,97,98,99,325,2771,3380,3380,685,14,
- 19,15,481,42,44,3380,488,565,3380,3380,
- 521,724,712,3380,1306,710,222,227,3380,1977,
- 561,216,774,219,221,3380,1001,3380,2771,3380,
- 3380,158,14,19,15,481,42,44,3380,488,
- 565,2443,2771,521,724,1326,14,19,15,481,
- 42,44,3380,488,565,3380,3380,521,1257,710,
- 222,227,3380,154,421,216,774,219,221,3380,
- 3380,384,3380,3380,3380,1455,134,211,316,317,
- 2771,3380,3380,3380,14,19,15,481,42,44,
- 3380,488,1224,141,133,135,159,2771,3380,3380,
- 3380,14,19,15,481,42,44,140,1228,165,
- 3380,3380,3380,3380,2771,3380,198,199,14,19,
- 15,481,42,44,3380,488,565,2771,3380,521,
- 1261,14,19,15,481,42,44,3380,488,565,
- 2771,3380,1265,3380,14,19,15,481,42,44,
- 2126,488,565,2771,2198,1290,3380,14,19,15,
- 481,42,44,3380,488,565,2771,3380,1293,3380,
- 14,19,15,481,42,44,1955,488,565,3380,
- 3380,1301,3380,3380,3380,134,211,316,317,134,
- 211,316,317,3380,3380,3380,355,359,3380,87,
- 3380,3380,150,133,135,159,153,133,135,159,
- 986,3380,3380,3380,3380,3380,710,222,1150,3380,
- 3380,3380,217,774,219,1129,2771,3380,3380,196,
- 14,19,15,481,42,44,3380,1249,3380,355,
- 359,603,87,355,359,3380,87,355,359,3380,
- 87,3380,3380,986,3380,931,3380,986,3380,2857,
- 848,986,87,355,359,3380,87,355,359,2147,
- 87,3380,196,357,3380,3380,196,986,2439,651,
- 196,986,3380,3380,603,3380,3380,3380,603,3380,
- 2109,359,603,87,2920,3380,196,3380,1125,3380,
- 196,3380,1151,1738,115,3380,1191,3380,603,2621,
- 3380,1753,603,14,19,15,481,42,43,3380,
- 3380,3380,1217,595,3380,3380,1250,3380,3380,251,
- 211,316,317,3380,3380,3380,1603,3380,256,3380,
- 1104,3380,2857,848,3380,87,3380,3380,1570,1128,
- 2857,848,2231,87,3380,1529,357,3380,2857,848,
- 2259,87,3380,3380,357,3380,2857,848,2315,87,
- 3380,3380,357,3380,1298,3380,2343,3380,2857,848,
- 357,87,3380,3380,3380,3380,1798,3380,2371,3380,
- 2857,848,357,87,1812,3380,1445,3380,2857,848,
- 2483,87,1813,3380,357,3380,2857,848,2567,87,
- 1829,3380,357,3380,2857,848,2623,87,3380,3380,
- 357,3380,1830,3380,2651,3380,2857,848,357,87,
- 3380,3380,3380,3380,1866,3380,2819,3380,3380,3380,
- 357,3380,1889,3380,3380,3380,3380,3380,3380,3380,
- 1896,3380,3380,3380,3380,3380,3380,3380,1905,3380,
- 3380,3380,3380,3380,3380,3380,3380,3380,3380,3380,
- 1907,3380,0,319,739,0,179,224,0,3387,
- 1,0,1,3615,0,7,9,0,179,17,
- 0,178,18,0,1,3604,0,112,2175,0
+ 111,1,130,39,39,11,11,49,49,3,
+ 3,2,2,5,5,5,5,6,6,6,
+ 7,8,8,8,8,8,8,8,8,82,
+ 82,94,9,9,9,9,9,9,9,9,
+ 9,9,9,10,10,12,12,12,12,13,
+ 13,13,15,15,15,17,17,17,17,17,
+ 26,26,26,27,27,28,28,29,29,30,
+ 30,31,31,32,32,34,34,34,34,34,
+ 34,34,34,34,34,34,34,18,14,4,
+ 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,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
};
};
public final static char baseAction[] = BaseAction.baseAction;
@@ -732,49 +708,45 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym
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,71,0,1,2,3,4,5,6,7,
- 8,9,10,11,12,13,14,15,16,17,
- 18,19,20,21,22,23,24,25,26,27,
- 28,29,30,31,32,33,34,35,36,37,
- 38,39,40,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,72,
- 68,69,70,71,0,1,2,3,4,5,
- 6,7,8,9,10,11,12,13,14,15,
- 16,17,18,19,20,21,22,23,24,25,
- 26,27,28,29,30,31,32,33,34,35,
- 36,37,38,39,40,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,71,0,1,2,3,
+ 50,51,52,53,54,0,56,57,58,59,
+ 60,61,62,63,64,65,66,67,68,69,
+ 70,0,72,0,1,2,3,4,5,6,
+ 7,8,9,10,11,12,13,14,15,16,
+ 17,18,19,20,21,22,23,24,25,26,
+ 27,28,29,30,31,32,33,34,35,36,
+ 37,38,39,40,41,42,43,44,45,46,
+ 47,48,49,50,51,52,53,54,0,56,
+ 57,58,59,60,61,62,63,64,65,66,
+ 67,68,69,70,0,72,0,1,2,3,
4,5,6,7,8,9,10,11,12,13,
14,15,16,17,18,19,20,21,22,23,
24,25,26,27,28,29,30,31,32,33,
34,35,36,37,38,39,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,72,68,69,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,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,1,
- 2,3,0,5,2,7,8,9,10,11,
- 12,13,14,15,16,17,18,19,20,21,
- 22,23,24,0,1,0,3,0,1,6,
- 3,0,1,6,3,0,1,6,0,1,
- 2,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,
+ 54,0,56,57,58,59,60,61,62,63,
+ 64,65,66,67,68,69,70,0,72,0,
1,2,3,4,5,6,7,8,9,10,
11,12,13,14,15,16,17,18,19,20,
21,22,23,24,25,26,27,28,29,30,
31,32,33,34,35,36,37,38,39,40,
- 41,42,0,1,2,3,4,5,6,7,
+ 41,42,43,44,45,46,47,48,49,50,
+ 51,52,53,54,0,56,57,58,59,60,
+ 61,62,63,64,65,66,67,68,69,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,42,43,44,45,46,47,48,49,
+ 50,51,52,53,54,0,56,57,58,59,
+ 60,61,62,63,64,65,66,67,68,69,
+ 70,0,1,2,3,4,92,0,7,8,
+ 9,10,11,12,13,14,15,16,17,18,
+ 19,20,21,22,23,24,0,1,43,44,
+ 45,46,47,48,49,50,51,52,53,54,
+ 0,1,2,0,43,44,45,46,47,48,
+ 49,50,51,52,53,54,0,56,57,58,
+ 59,60,61,62,63,64,65,66,67,68,
+ 69,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,
@@ -908,130 +880,137 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym
18,19,20,21,22,23,24,25,26,27,
28,29,30,31,32,33,34,35,36,37,
38,39,40,41,42,0,1,2,3,4,
- 5,0,0,0,0,0,1,2,0,4,
- 6,0,4,0,0,4,2,0,1,2,
- 25,26,5,0,10,11,0,1,2,0,
- 0,5,2,25,0,5,25,0,43,44,
+ 5,6,7,8,9,10,11,12,13,14,
+ 15,16,17,18,19,20,21,22,23,24,
+ 25,26,27,28,29,30,31,32,33,34,
+ 35,36,37,38,39,40,41,42,0,1,
+ 2,3,4,5,6,7,8,9,10,11,
+ 12,13,14,15,16,17,18,19,20,21,
+ 22,23,24,25,26,27,28,29,30,31,
+ 32,33,34,35,36,37,38,39,40,41,
+ 42,0,1,2,3,4,5,6,7,8,
+ 9,10,11,12,13,14,15,16,17,18,
+ 19,20,21,22,23,24,25,26,27,28,
+ 29,30,31,32,33,34,35,36,37,38,
+ 39,40,41,42,0,1,2,3,4,5,
+ 0,1,0,3,0,1,6,3,0,0,
+ 6,0,1,2,5,0,1,2,0,25,
+ 26,0,0,1,2,0,4,6,0,0,
+ 0,0,1,2,25,0,5,43,44,45,
+ 46,47,48,49,50,51,52,53,54,0,
+ 56,57,58,59,60,61,62,63,64,65,
+ 66,67,68,69,70,0,1,2,3,4,
+ 5,43,44,45,46,47,48,55,76,77,
+ 71,87,0,0,75,2,55,5,5,74,
+ 25,26,43,44,45,46,47,48,49,50,
+ 51,52,53,54,73,76,77,25,43,44,
45,46,47,48,49,50,51,52,53,54,
- 55,56,57,58,59,60,61,62,63,64,
- 65,66,28,68,69,70,0,1,2,3,
- 4,5,67,0,0,0,75,2,73,4,
- 72,67,87,75,67,83,84,85,86,0,
- 87,25,26,67,80,72,67,67,97,98,
- 99,100,101,102,103,104,105,106,94,43,
+ 0,56,57,58,59,60,61,62,63,64,
+ 65,66,67,68,69,70,0,1,55,3,
+ 0,5,0,1,0,3,2,0,0,1,
+ 0,3,87,71,0,0,73,75,0,1,
+ 6,3,26,43,44,45,46,47,48,49,
+ 50,51,52,53,54,0,0,0,2,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,1,0,
- 3,4,67,4,0,1,2,0,73,5,
- 76,77,0,87,0,0,0,0,4,0,
- 5,5,5,26,25,0,0,1,2,0,
- 5,0,83,84,85,86,7,8,0,25,
- 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,71,0,
- 1,72,3,4,43,44,45,46,47,48,
- 49,50,51,52,53,54,72,75,0,75,
- 83,84,85,86,6,26,81,82,81,82,
- 74,0,0,0,0,4,81,82,4,0,
- 91,2,43,44,45,46,47,48,49,50,
- 51,52,53,54,55,56,57,58,59,60,
- 61,62,63,64,65,66,72,68,69,70,
- 71,0,1,0,3,4,43,44,45,46,
- 47,48,49,50,51,52,53,54,0,0,
- 0,0,4,0,4,2,0,26,5,67,
- 4,0,0,72,73,0,67,73,0,1,
- 9,3,80,25,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,71,0,1,0,3,4,43,44,
+ 54,0,56,57,58,59,60,61,62,63,
+ 64,65,66,67,68,69,70,0,72,0,
+ 1,4,3,0,5,75,0,0,43,44,
45,46,47,48,49,50,51,52,53,54,
- 67,73,0,73,0,92,4,71,4,26,
- 0,1,0,3,0,0,1,0,3,88,
- 89,7,8,0,95,96,43,44,45,46,
- 47,48,49,50,51,52,53,54,55,56,
+ 83,84,85,86,0,26,0,97,98,99,
+ 100,101,102,103,104,105,106,0,93,0,
+ 0,2,43,44,45,46,47,48,49,50,
+ 51,52,53,54,87,56,57,58,59,60,
+ 61,62,63,64,65,66,67,68,69,70,
+ 0,72,0,1,4,3,0,5,81,82,
+ 43,44,45,46,47,48,83,84,85,86,
+ 83,84,85,86,55,55,0,91,26,0,
+ 4,75,0,1,2,3,0,1,9,3,
+ 0,0,88,89,4,43,44,45,46,47,
+ 48,49,50,51,52,53,54,0,56,57,
+ 58,59,60,61,62,63,64,65,66,67,
+ 68,69,70,0,72,43,44,45,46,47,
+ 48,49,50,51,52,53,54,0,56,57,
+ 58,59,60,61,62,63,64,65,66,67,
+ 68,69,70,0,1,0,3,81,82,0,
+ 1,2,3,4,5,0,7,8,9,10,
+ 11,12,13,14,15,16,17,18,19,20,
+ 21,22,23,24,0,0,0,0,4,0,
+ 5,5,5,0,5,2,43,44,45,46,
+ 47,48,49,50,51,52,53,54,49,56,
57,58,59,60,61,62,63,64,65,66,
- 0,68,69,70,71,0,1,79,3,4,
- 43,44,45,46,47,48,49,50,51,52,
- 53,54,0,88,89,0,4,73,0,1,
- 78,26,7,8,0,1,2,3,0,0,
- 0,2,4,0,0,2,6,25,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,71,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,1,79,3,71,
- 67,0,1,0,3,43,44,45,46,47,
- 48,0,9,0,1,2,3,4,5,0,
- 7,8,9,10,11,12,13,14,15,16,
- 17,18,19,20,21,22,23,24,43,44,
- 45,46,47,48,49,50,51,52,53,54,
- 55,56,57,58,59,60,61,62,63,64,
- 65,66,49,68,69,70,0,1,2,3,
- 4,5,0,7,8,9,10,11,12,13,
- 14,15,16,17,18,19,20,21,22,23,
- 24,78,0,0,0,76,77,0,0,0,
- 6,0,0,5,0,0,0,6,2,0,
- 0,2,2,0,0,49,0,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,2,78,43,44,45,46,47,
- 48,49,50,51,52,53,54,55,56,57,
- 58,59,60,61,62,63,64,65,66,76,
- 77,67,0,76,77,76,77,79,0,74,
- 2,0,1,2,3,4,5,71,7,8,
+ 67,68,69,70,0,0,2,90,4,0,
+ 1,0,1,2,3,4,5,78,7,8,
9,10,11,12,13,14,15,16,17,18,
- 19,20,21,22,23,24,0,1,2,3,
- 4,5,0,7,8,9,10,11,12,13,
- 14,15,16,17,18,19,20,21,22,23,
- 24,0,1,2,3,0,5,6,7,8,
+ 19,20,21,22,23,24,71,0,73,72,
+ 95,96,73,0,78,81,82,0,43,44,
+ 45,46,47,48,0,1,0,3,2,55,
+ 49,0,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,0,78,
- 0,0,90,6,6,0,0,2,0,0,
- 0,0,6,0,0,6,6,0,0,67,
- 0,1,2,3,78,5,6,7,8,9,
+ 19,20,21,22,23,24,0,0,79,78,
+ 43,44,45,46,47,48,49,50,51,52,
+ 53,54,0,56,57,58,59,60,61,62,
+ 63,64,65,66,67,0,79,0,0,76,
+ 77,0,7,8,7,8,0,0,1,2,
+ 3,4,5,72,7,8,9,10,11,12,
+ 13,14,15,16,17,18,19,20,21,22,
+ 23,24,0,1,2,3,4,5,0,7,
+ 8,9,10,11,12,13,14,15,16,17,
+ 18,19,20,21,22,23,24,0,1,2,
+ 3,4,0,6,7,8,9,10,11,12,
+ 13,14,15,16,17,18,19,20,21,22,
+ 23,24,0,0,1,78,3,0,90,7,
+ 8,0,5,55,88,89,0,6,0,0,
+ 0,2,6,0,6,0,1,2,3,4,
+ 78,6,7,8,9,10,11,12,13,14,
+ 15,16,17,18,19,20,21,22,23,24,
+ 0,1,2,3,4,0,6,7,8,9,
10,11,12,13,14,15,16,17,18,19,
- 20,21,22,23,24,0,1,2,3,74,
- 5,6,7,8,9,10,11,12,13,14,
+ 20,21,22,23,24,0,1,2,3,4,
+ 73,6,7,8,9,10,11,12,13,14,
15,16,17,18,19,20,21,22,23,24,
- 0,1,2,3,74,5,75,7,8,9,
+ 0,1,2,3,4,0,0,7,8,9,
10,11,12,13,14,15,16,17,18,19,
- 20,21,22,23,24,0,1,2,3,91,
- 5,90,7,8,9,10,11,12,13,14,
+ 20,21,22,23,24,0,1,2,3,4,
+ 75,0,7,8,9,10,11,12,13,14,
15,16,17,18,19,20,21,22,23,24,
- 0,1,2,3,0,5,0,7,8,9,
+ 0,1,2,3,4,0,0,7,8,9,
10,11,12,13,14,15,16,17,18,19,
- 20,21,22,23,24,0,1,2,3,0,
- 5,0,7,8,9,10,11,12,13,14,
+ 20,21,22,23,24,0,1,2,3,4,
+ 74,0,7,8,9,10,11,12,13,14,
15,16,17,18,19,20,21,22,23,24,
- 0,1,2,3,0,5,0,7,8,9,
+ 0,1,2,3,4,74,0,7,8,9,
10,11,12,13,14,15,16,17,18,19,
- 20,21,22,23,24,0,1,2,3,0,
- 5,0,7,8,9,10,11,12,13,14,
+ 20,21,22,23,24,0,1,2,3,4,
+ 74,0,7,8,9,10,11,12,13,14,
15,16,17,18,19,20,21,22,23,24,
- 0,1,2,3,75,5,0,7,8,9,
+ 0,1,2,3,4,74,0,7,8,9,
10,11,12,13,14,15,16,17,18,19,
20,21,22,23,24,0,1,2,0,4,
- 5,0,4,79,0,0,0,0,1,2,
- 4,4,5,0,0,0,67,0,92,6,
- 25,6,0,25,0,74,0,0,0,80,
- 0,0,25,27,0,0,0,0,43,44,
+ 5,0,0,2,6,0,0,2,0,0,
+ 0,10,11,5,0,6,0,0,2,0,
+ 25,4,71,0,5,0,0,0,1,2,
+ 0,4,0,25,28,5,0,0,43,44,
45,46,47,48,49,50,51,52,53,54,
- 43,44,45,46,47,48,49,50,51,52,
- 53,54,67,0,0,0,0,0,73,0,
- 72,0,0,72,67,0,0,0,74,73,
- 73,0,0,0,0,0,0,0,74,0,
- 0,74,0,0,0,0,0,0,93,0,
- 0,0,0,0,0,0,43,44,45,46,
- 47,48,43,44,45,46,47,48,43,44,
- 45,46,47,48,43,44,45,46,47,48,
- 43,44,45,46,47,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,
- 0,0,0,0,0,0,0,0,0,0,
- 0,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,2,0,25,55,43,44,45,
+ 46,47,48,0,0,2,0,4,73,43,
+ 44,45,46,47,48,43,44,45,46,47,
+ 48,80,55,0,0,0,0,0,5,5,
+ 5,5,73,0,0,94,79,0,5,76,
+ 77,71,5,9,0,0,55,55,25,25,
+ 0,25,27,76,77,0,91,2,55,55,
+ 0,55,0,0,0,71,6,0,92,6,
+ 6,0,80,6,0,0,0,6,0,0,
+ 0,6,6,0,80,6,0,0,0,0,
+ 0,0,0,0,0,71,73,0,73,0,
+ 0,0,0,0,0,72,79,0,0,72,
+ 0,0,0,0,0,71,71,0,0,0,
+ 0,71,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,75,
+ 0,0,74,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
};
};
public final static byte termCheck[] = TermCheck.termCheck;
@@ -1039,305 +1018,311 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym
public interface TermAction {
public final static char termAction[] = {0,
- 3380,6606,1,6603,1158,1,572,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,3388,3480,1008,952,902,
- 950,1051,567,899,914,1042,1625,1018,475,1003,
- 484,543,891,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,28,1,1,
- 1,3386,7,3365,3365,3365,3365,3365,3365,3365,
- 3365,3365,3365,3365,3365,3365,3365,3365,3365,3365,
- 3365,3365,3365,3365,3365,3365,3365,3365,3365,3365,
- 3365,3365,3365,3365,3365,3365,3365,3365,3365,3365,
- 3365,3365,3365,3365,3365,3365,3365,3365,3365,3365,
- 3365,3365,3365,3365,3365,3365,3365,3365,3365,3365,
- 3365,3365,3365,3365,3365,3365,3365,3365,3365,3407,
- 3365,3365,3365,3365,3380,6606,1,6603,1158,1,
- 572,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,3388,
- 3480,1008,952,902,950,1051,567,899,914,1042,
- 1625,1018,475,1003,484,543,891,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,205,1,1,1,3386,3380,6606,1,6603,
- 3389,1,572,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,3388,3480,1008,952,902,950,1051,567,899,
- 914,1042,1625,1018,475,1003,484,543,891,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,6080,1,1,1,3380,6606,1,
- 6603,3389,1,572,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,3388,3480,1008,952,902,950,1051,567,
- 899,914,1042,1625,1018,475,1003,484,543,891,
+ 3258,6595,1,6593,1,1218,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,1,1,1,1,1,1,1,
+ 1,1,1,1,1,182,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,3380,1195,
- 3076,1202,179,1364,3356,1199,968,1232,2123,2095,
- 2067,3390,3391,3392,3393,793,525,3687,3688,3689,
- 2039,1713,833,3380,3560,3380,3561,3380,3560,417,
- 3561,3380,3560,549,3561,3380,3616,636,1,3604,
- 1779,3592,3593,3594,3700,399,3701,3542,3543,3541,
- 3595,3544,3540,3547,3552,3551,3549,3550,3548,3553,
- 3554,3546,3555,3556,3557,3380,586,527,426,3380,
- 6606,1,6603,3389,1,572,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,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,3388,3480,1008,952,902,950,
- 1051,567,899,914,1042,1625,1018,475,1003,484,
- 543,891,3380,6606,1,6603,3389,1,572,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,1,1,1,1,1,1,3388,3480,1008,
- 952,902,950,1051,567,899,914,1042,1625,1018,
- 475,1003,484,543,891,3380,6606,1,6603,3389,
- 1,572,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,1,1,1,1,1,1,1,1,1,
- 3388,3480,1008,952,902,950,1051,567,899,914,
- 1042,1625,1018,475,1003,484,543,891,3380,6606,
- 1,6603,3389,1,572,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,71,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,3388,3480,1008,952,902,950,1051,
- 567,899,914,1042,1625,1018,475,1003,484,543,
- 891,3380,6606,1,6603,3389,1,572,1,1,
+ 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,1,3388,3480,1008,952,
- 902,950,1051,567,899,914,1042,1625,1018,475,
- 1003,484,543,891,3380,6606,1,6603,3389,1,
- 572,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,3388,
- 3480,1008,952,902,950,1051,567,899,914,1042,
- 1625,1018,475,1003,484,543,891,3380,6606,1,
- 6603,3389,1,572,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,1,1,1,1,1,
- 1,1,3388,3480,1008,952,902,950,1051,567,
- 899,914,1042,1625,1018,475,1003,484,543,891,
- 3380,6606,1,6603,3389,1,572,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,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,3388,3480,1008,952,902,
- 950,1051,567,899,914,1042,1625,1018,475,1003,
- 484,543,891,3380,6606,1,6603,3389,1,572,
+ 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,
- 1,1,1,1,1,1,1,1,3388,3480,
- 1008,952,902,950,1051,567,899,914,1042,1625,
- 1018,475,1003,484,543,891,3380,6606,1,6603,
- 3389,1,572,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,3388,3480,1008,952,902,950,1051,567,899,
- 914,1042,1625,1018,475,1003,484,543,891,3380,
- 6606,1,6603,3389,1,572,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,3388,3480,1008,952,902,950,
- 1051,567,899,914,1042,1625,1018,475,1003,484,
- 543,891,3380,6606,1,6603,3389,1,572,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,1,1,1,1,
- 1,1,1,1,1,1,1,3388,3480,1008,
- 952,902,950,1051,567,899,914,1042,1625,1018,
- 475,1003,484,543,891,3380,6606,1,6603,3389,
- 1,572,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,
- 3388,3480,1008,952,902,950,1051,567,899,914,
- 1042,1625,1018,475,1003,484,543,891,3380,6606,
- 1,6603,3389,1,572,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,3388,3480,1008,952,902,950,1051,
- 567,899,914,1042,1625,1018,475,1003,484,543,
- 891,3380,6606,1,6603,3389,1,572,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,1,1,1,1,1,3388,3480,1008,952,
- 902,950,1051,567,899,914,1042,1625,1018,475,
- 1003,484,543,891,3380,6606,1,6603,3389,1,
- 572,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,3388,
- 3480,1008,952,902,950,1051,567,899,914,1042,
- 1625,1018,475,1003,484,543,891,3380,6606,1,
- 6603,3389,1,572,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,3388,3480,1008,952,902,950,1051,567,
- 899,914,1042,1625,1018,475,1003,484,543,891,
- 3380,6606,1,6603,3389,1,572,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,3388,3480,1008,952,902,
- 950,1051,567,899,914,1042,1625,1018,475,1003,
- 484,543,891,3380,6606,1,6603,3389,1,572,
+ 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,
- 1,1,1,1,1,1,1,1,3388,3480,
- 1008,952,902,950,1051,567,899,914,1042,1625,
- 1018,475,1003,484,543,891,3380,6606,1,6603,
- 3389,1,572,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,3388,3480,1008,952,902,950,1051,567,899,
- 914,1042,1625,1018,475,1003,484,543,891,3380,
- 6606,1,6603,3389,1,572,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,3388,3480,1008,952,902,950,
- 1051,567,899,914,1042,1625,1018,475,1003,484,
- 543,891,3380,6606,1,6603,3389,1,572,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,1,1,1,1,
- 1,1,1,1,1,1,1,3388,3480,1008,
- 952,902,950,1051,567,899,914,1042,1625,1018,
- 475,1003,484,543,891,3380,6606,1,6603,3389,
- 1,572,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,
- 3388,3480,1008,952,902,950,1051,567,899,914,
- 1042,1625,1018,475,1003,484,543,891,3380,6606,
- 1,6603,3389,1,572,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,3388,3480,1008,952,902,950,1051,
- 567,899,914,1042,1625,1018,475,1003,484,543,
- 891,3380,6606,1,6603,3389,1,572,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,1,1,1,1,1,3388,3480,1008,952,
- 902,950,1051,567,899,914,1042,1625,1018,475,
- 1003,484,543,891,3380,6606,1,6603,3389,1,
- 572,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,3388,
- 3480,1008,952,902,950,1051,567,899,914,1042,
- 1625,1018,475,1003,484,543,891,3380,6606,1,
- 6603,3389,1,572,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,3388,3480,1008,952,902,950,1051,567,
- 899,914,1042,1625,1018,475,1003,484,543,891,
- 3380,6606,1,6603,3389,1,572,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,3388,3480,1008,952,902,
- 950,1051,567,899,914,1042,1625,1018,475,1003,
- 484,543,891,3380,6606,1,6603,3389,1,572,
+ 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,
- 1,1,1,1,1,1,1,1,3388,3480,
- 1008,952,902,950,1051,567,899,914,1042,1625,
- 1018,475,1003,484,543,891,3380,6606,1,6603,
- 3389,1,572,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,3388,3480,1008,952,902,950,1051,567,899,
- 914,1042,1625,1018,475,1003,484,543,891,3380,
- 6606,1,6603,3389,1,572,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,3388,3480,1008,952,902,950,
- 1051,567,899,914,1042,1625,1018,475,1003,484,
- 543,891,3380,6606,1,6603,3389,1,572,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,1,1,1,1,
- 1,1,1,1,1,1,1,3388,3480,1008,
- 952,902,950,1051,567,899,914,1042,1625,1018,
- 475,1003,484,543,891,3380,1,1,1,3389,
- 1,42,59,3380,3380,1,3374,1796,233,3385,
- 372,1,221,3380,31,3389,678,259,3604,1796,
- 3388,3679,1,253,3404,3405,265,3604,1796,319,
- 262,828,1909,221,3380,1,3388,3380,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,1381,1,1,1,3380,1,1,1,
- 3389,1,641,3380,54,1,1346,1909,3384,3385,
- 221,1170,293,221,641,3046,3033,3020,3007,61,
- 3352,3388,3679,641,960,937,3353,641,1313,1280,
- 1247,1214,1181,1115,1148,1082,1049,1016,674,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,1,1,
- 1,1,1,3380,1,1,1,3380,1,3380,
- 1,190,641,3389,3380,3604,1779,60,3384,828,
- 458,2960,156,292,234,48,3380,50,221,68,
- 1496,643,1496,3575,3388,49,1,3604,1779,51,
- 1496,129,3046,3033,3020,3007,3106,2977,3380,221,
+ 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,1,1,1,1,1,1,
- 1,1,1,1,88,1,1,1,190,3380,
- 1,360,1,190,3592,3593,3594,3700,399,3701,
- 3542,3543,3541,3595,3544,3540,221,775,187,221,
- 3046,3033,3020,3007,752,3575,1430,1397,1430,1397,
- 1412,3380,3380,130,3380,3385,1430,1397,3385,220,
- 1987,701,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,1,1,1,1379,1,1,1,
- 190,3380,1,70,1,190,3592,3593,3594,3700,
- 399,3701,3542,3543,3541,3595,3544,3540,1,72,
- 1,62,116,265,3385,1909,1,3575,828,1544,
- 3359,64,3380,1458,3384,131,641,3384,206,3560,
- 2908,3561,1095,116,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,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,1,1,1,1,
- 1,1,190,3380,1,63,1,189,3592,3593,
- 3594,3700,399,3701,3542,3543,3541,3595,3544,3540,
- 641,116,3380,3384,1,1940,3383,3386,90,3575,
- 3380,3560,3380,3561,53,3380,3409,132,3410,2994,
- 2922,3106,2977,3380,1863,1725,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,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,
1,1,1,1,1,1,1,1,1,1,
- 3380,1,1,1,189,3380,1,3635,1,190,
- 3592,3593,3594,3700,399,3701,3542,3543,3541,3595,
- 3544,3540,3380,2994,2922,52,3389,90,1,3362,
- 3382,3575,3106,2977,1,369,1779,3558,3380,3380,
- 186,690,3387,267,3380,943,772,3388,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,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,
1,1,1,1,1,1,1,1,1,1,
- 1,1,247,1,1,1,190,3592,3593,3594,
- 3700,399,3701,3542,3543,3541,3595,3544,3540,3547,
- 3552,3551,3549,3550,3548,3553,3554,3546,3555,3556,
- 3557,3380,586,527,426,3380,3559,3635,3558,3386,
- 641,205,903,65,903,1,1,1,1,1,
- 1,3380,2908,1,3397,3076,3398,3383,1067,58,
- 1199,968,1232,2123,2095,2067,3390,3391,3392,3393,
- 793,525,3687,3688,3689,2039,1713,833,3592,3593,
- 3594,3700,399,3701,3542,3543,3541,3595,3544,3540,
- 3547,3552,3551,3549,3550,3548,3553,3554,3546,3555,
- 3556,3557,815,586,527,426,3380,3397,3076,3398,
- 3383,1133,3380,1199,968,1232,2123,2095,2067,3390,
- 3391,3392,3393,793,525,3687,3688,3689,2039,1713,
- 833,3382,3380,57,188,458,2960,56,1,55,
- 813,227,128,643,218,3380,3380,230,762,3380,
- 3380,3170,2460,3380,3380,1478,1,3397,3076,3398,
- 27,1364,963,1199,968,1232,2123,2095,2067,3390,
- 3391,3392,3393,793,525,3687,3688,3689,2039,1713,
- 833,3380,3380,2488,3382,3592,3593,3594,3700,399,
- 3701,3542,3543,3541,3595,3544,3540,3547,3552,3551,
- 3549,3550,3548,3553,3554,3546,3555,3556,3557,458,
- 2960,641,66,458,2960,458,2960,3635,3380,3483,
- 2516,3380,3397,3076,3398,3383,866,27,1199,968,
- 1232,2123,2095,2067,3390,3391,3392,3393,793,525,
- 3687,3688,3689,2039,1713,833,3380,3397,3076,3398,
- 3383,1364,268,1199,968,1232,2123,2095,2067,3390,
- 3391,3392,3393,793,525,3687,3688,3689,2039,1713,
- 833,3380,3397,3076,3398,3380,1364,963,1199,968,
- 1232,2123,2095,2067,3390,3391,3392,3393,793,525,
- 3687,3688,3689,2039,1713,833,3380,1,227,3382,
- 3380,209,2875,572,231,3380,315,2544,69,313,
- 311,67,1062,3380,3380,1062,1062,3380,3380,641,
- 3380,3397,3076,3398,3382,1364,1062,1199,968,1232,
- 2123,2095,2067,3390,3391,3392,3393,793,525,3687,
- 3688,3689,2039,1713,833,1,3397,3076,3398,2007,
- 1364,963,1199,968,1232,2123,2095,2067,3390,3391,
- 3392,3393,793,525,3687,3688,3689,2039,1713,833,
- 3380,3397,3119,3398,3482,1364,983,1199,968,1232,
- 2123,2095,2067,3390,3391,3392,3393,793,525,3687,
- 3688,3689,2039,1713,833,3380,3397,3123,3398,1987,
- 1364,2875,1199,968,1232,2123,2095,2067,3390,3391,
- 3392,3393,793,525,3687,3688,3689,2039,1713,833,
- 3380,3397,3127,3398,3380,1364,3380,1199,968,1232,
- 2123,2095,2067,3390,3391,3392,3393,793,525,3687,
- 3688,3689,2039,1713,833,3380,3397,3143,3398,3380,
- 1364,3380,1199,968,1232,2123,2095,2067,3390,3391,
- 3392,3393,793,525,3687,3688,3689,2039,1713,833,
- 3380,3397,3076,3398,1,1364,71,1199,968,1232,
- 2123,2095,2067,3390,3391,3392,3393,793,525,3687,
- 3688,3689,2039,1713,833,3380,3397,3147,3398,285,
- 1364,3380,1199,968,1232,2123,2095,2067,3390,3391,
- 3392,3393,793,525,3687,3688,3689,2039,1713,833,
- 1,3397,3076,3398,917,1364,3380,1199,968,1232,
- 2123,2095,2067,3390,3391,3392,3393,793,525,3687,
- 3688,3689,2039,1713,833,17,179,3368,3380,3368,
- 3368,28,3389,3634,200,112,1,18,178,3371,
- 3385,3371,3371,41,1,3380,1577,1,1940,1062,
- 3368,1062,3380,3388,3380,1758,3380,3380,3380,1269,
- 3380,3380,3371,3738,3380,3380,3380,3380,179,179,
+ 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,
- 178,178,178,178,178,178,178,178,178,178,
- 178,178,3368,248,3380,3380,3380,3380,3368,3380,
- 2899,3380,3380,601,3371,249,3380,3380,1511,3384,
- 3371,250,3380,3380,3380,3380,3380,246,3561,3380,
- 3380,3560,3380,3380,3380,3380,3380,3380,3377,3380,
- 3380,3380,3380,3380,3380,3380,1,1,1,1,
- 1,1,3592,3593,3594,3700,399,3701,3592,3593,
- 3594,3700,399,3701,3592,3593,3594,3700,399,3701,
- 3592,3593,3594,3700,399,3701
+ 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
};
};
public final static char termAction[] = TermAction.termAction;
@@ -1345,44 +1330,45 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym
public interface Asb {
public final static char asb[] = {0,
- 302,1,461,77,302,179,49,26,61,61,
- 177,177,61,177,61,463,618,79,65,336,
- 79,422,386,3,83,3,83,338,3,79,
- 535,546,618,376,377,649,463,179,221,583,
- 582,618,116,423,408,443,245,245,245,245,
- 245,245,245,245,386,245,245,245,181,198,
- 203,201,209,205,212,211,214,213,215,83,
- 83,83,83,338,338,535,486,79,649,344,
- 651,463,79,272,79,422,222,243,243,243,
- 243,222,222,265,336,336,336,225,336,336,
- 222,422,24,245,24,77,443,546,546,296,
- 245,443,443,443,443,443,265,265,621,245,
- 245,245,245,245,245,245,245,245,245,245,
- 245,245,245,245,245,245,245,245,245,83,
- 113,19,463,83,83,113,340,415,340,338,
- 486,535,651,347,408,486,187,386,546,541,
- 545,150,270,116,582,420,222,245,222,222,
- 222,222,441,441,245,493,245,245,423,24,
- 225,79,218,495,495,272,618,646,544,543,
- 546,546,546,546,546,546,408,201,201,198,
- 198,205,205,203,203,203,203,211,209,213,
- 212,24,214,113,21,113,113,245,265,340,
- 535,545,486,408,385,344,245,245,245,245,
- 245,245,245,245,245,245,245,646,618,651,
- 270,243,243,222,243,222,546,336,546,546,
- 422,245,270,296,546,588,649,549,549,549,
- 549,179,245,221,245,220,113,81,245,245,
- 408,386,588,541,340,412,243,222,243,222,
- 243,222,243,225,245,225,225,270,546,651,
- 21,245,408,408,113,268,586,265,245,411,
- 620,222,243,620,222,243,243,222,621,222,
- 546,421,340,546,272,408,265,245,225,546,
- 620,620,222,225,546,620,620,222,620,222,
- 243,546,621,222,225,113,408,225,225,546,
- 225,546,620,225,225,546,225,546,620,225,
- 546,620,620,222,225,546,225,225,225,546,
- 225,225,225,546,225,225,546,225,546,620,
- 225,225,225,225,225,225,546,225
+ 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,
+ 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,
+ 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,
+ 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,
+ 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,
+ 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
};
};
public final static char asb[] = Asb.asb;
@@ -1390,75 +1376,73 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym
public interface Asr {
public final static byte asr[] = {0,
- 87,0,50,43,51,52,53,44,49,54,
- 45,67,72,73,46,47,48,6,25,4,
- 5,1,2,74,0,68,12,69,70,13,
- 14,15,16,3,10,11,9,7,8,17,
- 18,78,19,20,21,22,23,24,63,55,
- 60,58,59,57,56,61,62,64,65,66,
- 67,74,72,73,50,43,51,52,53,44,
- 49,54,45,46,47,48,25,4,5,2,
- 1,0,50,55,43,56,68,51,57,52,
- 58,59,53,44,60,61,49,69,54,70,
- 62,63,45,64,65,66,1,3,46,47,
- 48,26,71,4,0,50,55,43,56,68,
- 51,57,52,58,59,53,44,60,61,49,
- 69,54,70,62,63,45,64,65,66,1,
- 3,46,47,48,4,75,72,25,0,50,
- 55,43,56,68,51,57,52,58,59,53,
- 44,60,61,49,69,54,70,62,63,45,
- 64,65,66,46,47,48,1,3,6,0,
- 67,2,80,94,10,11,75,97,98,99,
- 100,101,103,102,104,105,106,5,81,82,
+ 75,55,80,0,87,0,68,12,69,70,
+ 13,14,15,16,3,10,11,9,7,8,
+ 17,18,78,19,20,21,22,23,24,64,
+ 56,61,59,60,58,57,62,63,65,66,
+ 67,55,74,71,73,50,43,51,52,53,
+ 44,49,54,45,46,47,48,25,5,4,
+ 2,1,0,30,31,6,35,37,32,28,
+ 33,42,34,27,29,36,39,41,38,40,
+ 26,25,5,2,13,14,15,16,19,20,
+ 21,10,11,9,4,7,8,17,18,12,
+ 22,23,24,1,3,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,5,75,71,25,0,
+ 55,2,80,94,10,11,75,97,98,99,
+ 100,101,103,102,104,105,106,4,81,82,
7,8,77,76,83,84,85,86,88,89,
- 9,90,91,92,71,95,96,78,73,74,
- 72,25,4,0,30,31,6,35,37,32,
- 28,33,42,34,27,29,36,39,41,38,
- 40,26,25,4,2,13,14,15,16,19,
- 20,21,10,11,9,5,7,8,17,18,
- 12,22,23,24,1,3,0,4,71,67,
- 80,2,13,14,15,16,19,20,21,1,
- 3,10,11,9,5,7,8,17,18,12,
- 22,23,24,6,0,4,73,5,2,67,
- 0,87,50,55,43,56,68,51,57,52,
- 58,59,53,44,60,61,49,69,54,70,
- 62,63,45,64,65,66,1,3,5,46,
- 47,48,25,4,26,2,0,1,3,4,
- 71,72,0,78,4,49,43,44,45,46,
- 47,48,10,11,9,5,7,8,17,18,
- 12,22,23,24,2,1,3,13,14,15,
- 16,19,20,21,0,2,4,74,75,72,
- 73,25,67,0,49,10,11,9,5,7,
- 8,17,18,12,22,23,24,2,1,3,
- 13,14,15,16,19,20,21,78,4,0,
- 75,67,80,0,4,72,71,75,0,87,
- 93,71,30,31,6,35,37,32,28,33,
- 42,34,27,29,36,39,41,38,40,26,
- 25,4,12,13,14,15,16,10,11,9,
- 7,8,17,18,19,20,21,22,23,24,
- 5,2,3,1,68,69,70,63,55,60,
- 58,59,57,56,61,62,64,65,66,54,
- 51,49,50,53,52,46,48,47,43,44,
- 45,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,
- 5,1,2,67,72,73,4,0,9,5,
- 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,
- 71,6,4,72,25,75,0,50,55,43,
- 56,68,51,57,52,58,59,53,44,60,
- 61,49,69,54,70,62,63,45,64,65,
- 66,1,3,46,47,48,79,5,0,27,
- 4,73,12,13,14,15,16,1,3,2,
- 10,11,9,5,7,8,17,18,19,20,
- 21,22,23,24,0,5,2,67,73,4,
- 50,55,43,56,68,51,57,52,58,59,
- 53,44,60,61,49,69,54,70,62,63,
- 45,64,65,66,1,3,46,47,48,79,
- 0
+ 9,90,91,92,72,95,96,78,73,74,
+ 71,25,5,0,2,5,75,71,73,25,
+ 55,74,0,5,72,55,80,2,13,14,
+ 15,16,19,20,21,1,3,10,11,9,
+ 4,7,8,17,18,12,22,23,24,6,
+ 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,
+ 26,5,72,0,1,3,5,72,71,0,
+ 25,5,4,1,2,74,0,78,5,49,
+ 43,44,45,46,47,48,10,11,9,4,
+ 7,8,17,18,12,22,23,24,2,1,
+ 3,13,14,15,16,19,20,21,0,49,
+ 10,11,9,4,7,8,17,18,12,22,
+ 23,24,2,1,3,13,14,15,16,19,
+ 20,21,78,5,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,46,
+ 47,48,1,3,6,0,87,93,72,30,
+ 31,6,35,37,32,28,33,42,34,27,
+ 29,36,39,41,38,40,26,25,5,12,
+ 13,14,15,16,10,11,9,7,8,17,
+ 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
};
};
public final static byte asr[] = Asr.asr;
@@ -1466,44 +1450,45 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym
public interface Nasb {
public final static char nasb[] = {0,
- 48,30,21,12,63,19,123,17,124,124,
- 95,95,124,95,124,119,110,104,30,30,
- 126,9,53,30,102,30,102,102,30,36,
- 102,134,110,67,67,133,102,19,13,30,
- 30,110,30,91,54,147,7,7,7,7,
- 7,7,7,7,53,7,7,7,30,30,
- 30,30,30,30,30,30,30,30,30,102,
- 81,102,81,95,102,102,145,129,133,52,
- 101,85,104,7,127,97,13,71,71,71,
- 71,13,13,95,30,30,30,39,30,30,
- 13,9,30,7,30,12,1,134,134,137,
- 7,147,147,147,147,147,56,56,58,72,
- 7,7,7,7,7,7,7,7,7,7,
- 7,7,7,7,7,7,7,72,7,81,
- 10,12,24,77,81,10,75,30,30,95,
- 145,61,141,45,54,145,30,53,134,113,
- 30,31,102,30,30,30,13,7,13,13,
- 13,13,69,151,72,30,72,72,91,30,
- 39,104,30,30,30,7,110,136,67,67,
- 134,134,134,134,134,134,54,30,30,30,
- 30,30,30,30,30,30,30,30,30,30,
- 30,30,30,10,104,10,10,7,95,75,
- 61,134,145,54,53,61,7,7,7,7,
- 7,7,7,7,7,7,7,112,110,101,
- 45,71,71,13,153,13,134,30,134,134,
- 97,7,102,116,134,108,133,30,30,30,
- 30,30,7,13,7,30,10,30,7,7,
- 54,53,108,114,75,15,71,13,71,13,
- 71,13,153,39,72,39,39,45,134,101,
- 104,7,54,54,10,44,30,95,7,89,
- 132,13,71,132,13,71,71,13,153,13,
- 134,30,75,134,7,54,95,7,39,134,
- 132,132,13,39,134,132,132,13,132,13,
- 71,134,153,13,39,10,54,39,39,134,
- 39,134,132,39,39,134,39,134,132,39,
- 134,132,132,13,39,134,39,39,39,134,
- 39,39,39,134,39,39,134,39,134,132,
- 39,39,39,39,39,39,134,39
+ 105,34,64,24,88,145,20,124,37,125,
+ 22,125,16,16,125,15,125,119,142,147,
+ 34,34,20,138,65,44,44,34,34,142,
+ 34,55,83,7,7,7,7,7,46,34,
+ 158,142,157,115,147,82,157,61,127,109,
+ 84,164,53,53,53,53,53,53,53,53,
+ 83,53,53,53,34,34,34,34,34,34,
+ 34,34,34,34,34,86,138,34,138,34,
+ 13,129,79,94,27,64,52,84,103,34,
+ 83,160,138,34,53,34,34,75,65,71,
+ 71,71,71,65,65,7,34,34,34,39,
+ 34,34,65,55,34,53,34,1,158,158,
+ 136,164,164,164,164,164,92,92,58,72,
+ 53,53,53,53,53,53,53,53,53,53,
+ 53,53,53,53,53,53,53,72,53,34,
+ 168,138,7,13,138,158,134,34,147,103,
+ 84,83,99,53,53,53,53,53,53,53,
+ 53,53,53,53,158,56,138,34,65,53,
+ 65,65,65,65,69,172,72,34,72,72,
+ 109,39,34,39,34,34,151,142,155,44,
+ 44,158,158,158,158,158,158,84,34,34,
+ 34,34,34,34,34,34,34,34,34,34,
+ 34,34,34,34,138,56,64,181,7,101,
+ 34,34,138,103,133,142,79,53,53,84,
+ 83,34,51,71,71,65,174,65,158,34,
+ 158,158,75,39,53,11,158,140,157,152,
+ 152,152,152,152,53,168,147,101,56,53,
+ 7,103,99,140,9,84,84,101,35,71,
+ 65,71,65,71,65,174,39,72,39,39,
+ 158,79,56,65,53,34,56,99,56,50,
+ 34,7,53,18,177,65,71,177,65,71,
+ 71,65,174,65,158,34,158,147,53,67,
+ 61,84,7,53,39,158,177,177,65,39,
+ 158,177,177,65,177,65,71,158,174,65,
+ 39,84,39,39,158,39,158,177,39,39,
+ 158,39,158,177,39,158,177,177,65,39,
+ 158,39,39,39,158,39,39,39,158,39,
+ 39,158,39,158,177,39,39,39,39,39,
+ 39,158,39
};
};
public final static char nasb[] = Nasb.nasb;
@@ -1511,22 +1496,25 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym
public interface Nasr {
public final static char nasr[] = {0,
- 87,86,85,84,83,82,7,0,1,43,
- 0,1,2,0,113,0,118,0,105,0,
- 40,1,101,87,86,85,84,83,82,0,
- 1,33,50,18,0,40,42,0,13,20,
- 1,21,0,91,7,1,0,116,33,1,
- 0,1,7,39,0,92,0,1,107,0,
- 35,0,33,1,103,0,51,0,33,50,
- 2,1,14,0,72,0,1,45,69,0,
- 79,1,45,0,33,1,117,0,115,0,
- 1,33,20,95,13,0,20,13,73,43,
- 33,1,0,47,40,1,0,1,33,58,
- 0,10,1,40,47,63,62,0,74,75,
- 76,77,66,52,0,1,42,49,40,47,
- 0,44,1,10,0,10,62,63,1,0,
- 109,1,33,0,80,0,1,45,14,0,
- 33,50,1,65,0
+ 88,86,85,79,84,83,2,0,41,46,
+ 66,65,40,0,116,91,0,125,0,110,
+ 0,113,0,41,1,104,88,87,86,85,
+ 79,84,83,0,123,0,128,0,2,18,
+ 1,19,0,52,0,41,43,40,0,106,
+ 53,1,8,0,1,49,0,1,112,0,
+ 8,53,0,1,3,0,121,0,33,51,
+ 3,1,14,0,18,2,73,49,1,33,
+ 0,1,8,39,0,114,0,1,33,107,
+ 0,94,0,1,33,51,16,0,35,0,
+ 82,0,80,0,126,1,33,0,1,33,
+ 2,18,96,0,33,1,127,0,79,74,
+ 75,76,77,69,54,0,43,48,41,46,
+ 40,0,11,41,46,65,66,1,0,1,
+ 33,40,61,0,43,48,46,41,1,0,
+ 8,53,50,0,65,66,1,11,0,117,
+ 1,33,0,1,58,14,0,99,1,58,
+ 0,33,51,1,68,0,1,44,11,0,
+ 1,58,92,0
};
};
public final static char nasr[] = Nasr.nasr;
@@ -1534,14 +1522,14 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym
public interface TerminalIndex {
public final static char terminalIndex[] = {0,
- 85,2,86,87,9,3,10,11,8,6,
+ 85,2,86,9,87,3,10,11,8,6,
7,68,81,82,83,84,12,13,93,94,
95,100,101,102,92,107,49,77,45,46,
50,51,57,58,59,65,71,99,103,104,
105,106,48,64,76,96,97,98,69,44,
- 55,60,63,72,47,52,56,61,62,66,
- 67,74,75,78,79,80,1,54,70,73,
- 91,42,90,29,31,16,17,89,30,4,
+ 55,60,63,72,1,47,52,56,61,62,
+ 66,67,74,75,78,79,80,54,70,73,
+ 42,91,90,29,31,16,17,89,30,4,
14,15,18,19,20,21,108,22,23,24,
25,26,53,5,27,28,32,33,34,35,
36,37,38,39,40,41,88
@@ -1552,18 +1540,19 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym
public interface NonterminalIndex {
public final static char nonterminalIndex[] = {0,
- 0,112,0,0,0,0,114,118,119,110,
- 120,121,137,113,122,123,124,136,125,132,
- 135,0,0,0,0,0,0,126,127,128,
- 129,130,141,131,149,0,0,0,109,170,
- 0,173,111,196,162,167,169,0,171,140,
- 172,148,0,0,0,159,134,168,116,181,
- 184,185,186,0,0,151,158,0,161,174,
- 180,0,139,152,153,154,155,0,160,179,
- 183,143,144,145,146,147,150,156,157,166,
- 187,115,117,133,138,142,164,0,0,165,
- 175,178,192,0,194,0,0,163,176,177,
- 182,188,189,0,190,191,193,195,0
+ 0,113,112,0,0,0,0,115,119,120,
+ 110,121,122,114,123,136,124,132,135,0,
+ 0,0,0,0,0,125,126,127,128,129,
+ 130,0,140,131,148,0,0,0,109,0,
+ 170,0,173,197,167,169,0,171,111,118,
+ 139,172,0,147,0,0,0,162,158,134,
+ 168,117,181,184,185,186,0,0,150,0,
+ 174,180,138,151,152,153,154,157,159,179,
+ 183,0,142,143,144,145,146,149,155,156,
+ 0,161,166,116,133,137,141,0,160,164,
+ 0,0,165,175,178,188,193,0,0,195,
+ 0,0,0,0,163,0,176,177,182,187,
+ 0,189,190,0,191,192,194,196,0,0
};
};
public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex;
@@ -1571,12 +1560,11 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym
public interface ScopePrefix {
public final static char scopePrefix[] = {
- 218,118,57,67,125,145,151,188,26,33,
- 85,103,157,162,73,6,12,16,38,81,
- 50,135,197,214,233,237,50,50,201,50,
- 1,1,1,42,45,90,113,45,241,20,
- 139,208,179,208,131,167,167,167,167,167,
- 93,93,93
+ 120,151,130,59,69,159,26,186,35,87,
+ 105,75,6,12,16,40,83,52,141,195,
+ 212,219,223,52,52,199,52,1,1,1,
+ 44,47,92,115,47,227,20,145,206,206,
+ 177,137,165,165,165,165,165,95,95,95
};
};
public final static char scopePrefix[] = ScopePrefix.scopePrefix;
@@ -1584,12 +1572,11 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym
public interface ScopeSuffix {
public final static char scopeSuffix[] = {
- 31,31,4,4,31,31,31,194,31,10,
- 4,10,31,31,78,10,10,10,10,4,
- 4,133,31,10,10,4,54,78,205,63,
- 4,4,4,10,48,4,10,116,10,23,
- 142,211,182,226,133,169,171,173,175,177,
- 100,95,108
+ 128,128,128,4,4,128,32,192,10,4,
+ 10,80,10,10,10,10,4,4,139,128,
+ 10,10,4,56,80,203,65,4,4,4,
+ 10,50,4,10,118,10,23,148,209,216,
+ 180,139,167,169,171,173,175,102,97,110
};
};
public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix;
@@ -1597,12 +1584,11 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym
public interface ScopeLhs {
public final static char scopeLhs[] = {
- 7,76,51,51,76,74,74,24,67,64,
- 51,42,74,74,51,8,8,8,64,51,
- 51,69,18,8,7,7,51,51,32,51,
- 118,115,114,62,81,51,40,56,5,91,
- 69,9,25,7,69,86,85,84,83,82,
- 42,49,42
+ 76,74,76,52,52,74,50,22,67,52,
+ 43,52,9,9,9,67,52,52,92,16,
+ 9,8,8,52,52,32,52,128,125,124,
+ 65,81,52,41,59,6,106,92,10,8,
+ 23,92,87,86,85,84,83,43,48,43
};
};
public final static char scopeLhs[] = ScopeLhs.scopeLhs;
@@ -1610,12 +1596,11 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym
public interface ScopeLa {
public final static byte scopeLa[] = {
- 71,71,78,78,71,71,71,93,71,73,
- 78,73,71,71,13,73,73,73,73,78,
- 78,25,71,73,73,78,5,13,74,49,
- 78,78,78,73,2,78,73,1,73,75,
- 1,73,28,73,25,3,68,69,69,63,
- 2,2,2
+ 72,72,72,78,78,72,72,93,73,78,
+ 73,13,73,73,73,73,78,78,25,72,
+ 73,73,78,4,13,74,49,78,78,78,
+ 73,2,78,73,1,73,75,1,73,73,
+ 28,25,1,68,69,69,64,2,2,2
};
};
public final static byte scopeLa[] = ScopeLa.scopeLa;
@@ -1623,12 +1608,11 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym
public interface ScopeStateSet {
public final static char scopeStateSet[] = {
- 60,143,49,49,143,143,143,12,121,53,
- 49,129,143,143,49,60,60,60,53,49,
- 49,5,11,60,60,60,49,49,94,49,
- 127,1,3,53,55,49,129,134,60,123,
- 5,66,12,60,5,144,144,144,144,144,
- 129,131,129
+ 153,153,153,126,126,153,49,10,130,126,
+ 139,126,60,60,60,130,126,126,5,9,
+ 60,60,60,126,126,94,126,137,1,3,
+ 130,132,126,139,144,60,123,5,66,60,
+ 10,5,154,154,154,154,154,139,141,139
};
};
public final static char scopeStateSet[] = ScopeStateSet.scopeStateSet;
@@ -1636,31 +1620,29 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym
public interface ScopeRhs {
public final static char scopeRhs[] = {0,
- 164,67,0,109,0,166,2,24,0,110,
- 0,166,2,23,0,166,2,22,0,219,
- 108,0,31,158,0,179,200,108,6,0,
- 111,0,177,108,2,169,0,177,108,2,
- 0,188,2,0,165,108,0,184,0,209,
- 108,67,0,9,109,0,141,49,209,108,
- 67,0,69,131,109,0,141,209,108,49,
- 67,0,209,108,49,67,0,131,109,0,
- 141,49,67,0,141,209,108,67,0,141,
- 67,0,147,0,2,0,176,110,0,2,
- 110,0,177,108,2,147,0,2,0,174,
- 110,0,163,2,0,167,0,179,206,108,
- 6,120,68,0,179,206,108,6,68,0,
- 152,0,112,0,215,108,152,0,108,152,
- 0,163,112,0,185,108,6,120,70,0,
- 185,108,6,120,69,0,185,108,6,70,
- 0,185,108,6,69,0,194,0,155,0,
- 154,0,153,0,152,0,151,0,128,32,
- 0,77,2,113,110,112,0,128,117,121,
- 2,35,0,53,135,0,202,108,6,0,
- 121,96,138,0,29,130,0,166,2,0,
- 110,119,0,166,2,12,0,179,200,108,
- 6,117,166,2,0,110,3,0,117,0,
- 111,0,214,2,114,0,121,67,114,0,
- 121,2,0
+ 167,55,0,109,0,169,2,24,0,110,
+ 0,169,2,23,0,169,2,22,0,229,
+ 108,0,31,157,0,189,227,108,6,160,
+ 0,111,0,0,178,108,2,172,0,178,
+ 108,2,0,188,2,0,168,108,0,184,
+ 0,212,108,55,0,9,109,0,141,49,
+ 212,108,55,0,69,131,109,0,141,212,
+ 108,49,55,0,212,108,49,55,0,131,
+ 109,0,141,49,55,0,141,212,108,55,
+ 0,141,55,0,148,0,2,0,176,110,
+ 0,2,110,0,178,108,2,148,0,2,
+ 0,174,110,0,166,2,0,167,0,189,
+ 209,108,6,109,223,68,0,111,0,189,
+ 209,108,6,223,68,0,165,0,112,0,
+ 222,108,165,0,108,165,0,163,112,0,
+ 205,108,6,221,109,220,186,0,205,108,
+ 6,220,186,0,195,0,154,0,153,0,
+ 152,0,151,0,150,0,126,32,0,77,
+ 2,114,110,112,0,126,118,121,2,35,
+ 0,53,135,0,203,108,6,0,121,96,
+ 138,0,29,131,0,169,2,0,110,120,
+ 0,169,2,12,0,110,118,0,219,2,
+ 115,0,121,55,115,0,121,2,0
};
};
public final static char scopeRhs[] = ScopeRhs.scopeRhs;
@@ -1668,21 +1650,22 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym
public interface ScopeState {
public final static char scopeState[] = {0,
- 1059,0,385,0,1671,850,1533,1270,861,0,
- 450,2847,2819,2791,2763,2735,2707,2679,2651,2623,
- 2595,2567,2539,2511,2483,2455,2427,2399,2371,2343,
- 2315,2287,2259,2231,2203,2175,2147,2119,2091,2063,
- 2035,1709,2007,1673,567,1635,1597,0,1034,884,
- 774,710,1603,560,1796,1909,1753,603,0,2123,
- 2095,2067,2039,1713,833,1133,3189,1067,1863,1987,
- 1940,2908,2875,3046,3033,3020,3007,2994,2922,3106,
- 2977,2960,458,1496,1430,1397,1364,1232,866,1199,
- 968,793,525,1577,1544,1511,1478,1445,1412,1758,
- 1379,1346,1313,1280,1247,1214,1181,1148,1115,1082,
- 1049,1016,881,983,848,815,359,950,641,739,
- 917,775,601,547,507,0,399,0,542,419,
- 1603,3056,1641,2899,1796,382,2855,1753,360,1887,
- 1779,0,1848,651,359,419,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
};
};
public final static char scopeState[] = ScopeState.scopeState;
@@ -1690,44 +1673,45 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym
public interface InSymb {
public final static char inSymb[] = {0,
- 0,213,108,140,223,208,189,47,190,191,
- 70,69,192,68,193,194,108,2,1,147,
- 108,6,67,120,6,120,6,6,120,165,
- 5,163,108,147,154,2,217,208,203,196,
- 149,108,156,108,164,2,24,23,22,12,
- 18,17,8,7,5,9,11,10,114,118,
- 122,119,124,123,135,126,137,136,138,6,
- 108,6,108,108,6,5,108,165,2,67,
- 108,108,72,75,165,202,40,38,41,39,
- 36,29,27,34,42,33,28,32,37,35,
- 127,6,31,30,120,140,108,166,121,152,
- 5,2,2,2,2,2,94,80,2,67,
- 82,81,5,76,77,8,7,89,88,86,
- 85,84,83,90,9,92,91,96,95,108,
- 185,152,108,186,108,185,206,120,207,108,
- 108,187,108,49,141,108,115,5,177,140,
- 178,224,6,156,149,4,121,108,121,121,
- 121,120,2,2,2,128,2,2,108,164,
- 74,108,201,1,3,117,108,2,170,169,
- 166,166,166,166,166,214,121,119,119,118,
- 118,123,123,122,122,122,122,126,124,136,
- 135,121,137,185,108,185,179,75,72,206,
- 187,216,108,141,209,187,106,105,104,102,
- 103,101,100,99,98,97,75,2,108,72,
- 108,157,109,121,157,172,121,28,121,121,
- 202,72,6,165,188,108,2,117,117,117,
- 117,117,74,215,74,163,179,72,209,49,
- 141,5,108,165,200,108,109,121,109,121,
- 109,172,109,117,2,117,117,108,177,108,
- 72,74,141,141,179,72,219,80,67,220,
- 109,121,109,109,121,109,109,121,109,172,
- 121,128,200,177,75,164,80,67,117,151,
- 109,109,121,117,151,109,109,121,109,121,
- 109,172,109,117,93,179,164,117,117,151,
- 117,151,109,117,117,151,117,151,109,117,
- 151,109,109,121,117,172,117,117,117,151,
- 117,117,117,151,117,117,151,117,151,109,
- 117,117,117,117,117,117,151,117
+ 0,218,140,108,233,108,211,190,47,191,
+ 186,192,70,69,193,68,194,195,108,2,
+ 1,148,211,225,204,153,148,197,155,108,
+ 150,6,55,220,198,198,223,198,168,147,
+ 166,108,2,108,71,55,2,75,168,108,
+ 167,2,24,23,22,12,18,17,8,7,
+ 4,9,11,10,115,119,122,120,133,124,
+ 135,134,137,136,138,109,6,109,6,147,
+ 4,168,108,234,108,140,49,141,108,116,
+ 4,108,6,160,4,155,150,203,40,38,
+ 41,39,36,29,27,34,42,33,28,32,
+ 37,35,125,6,31,30,109,108,169,121,
+ 165,2,2,2,2,2,94,80,2,55,
+ 82,81,4,76,77,8,7,89,88,86,
+ 85,84,83,90,9,92,91,96,95,221,
+ 108,6,108,4,147,178,140,179,108,108,
+ 141,212,187,106,105,104,102,103,101,100,
+ 99,98,97,75,224,108,6,5,121,108,
+ 121,121,121,109,2,2,2,126,2,2,
+ 108,74,167,74,202,109,118,108,2,173,
+ 172,169,169,169,169,169,219,121,120,120,
+ 119,119,124,124,122,122,122,122,134,133,
+ 136,135,121,137,6,205,165,206,108,209,
+ 109,210,147,108,2,108,71,212,49,141,
+ 4,71,108,158,110,121,158,175,121,28,
+ 121,121,203,74,71,168,188,108,2,118,
+ 118,118,118,118,74,108,108,209,189,75,
+ 71,108,187,108,168,141,141,227,108,110,
+ 121,110,121,110,175,110,118,2,118,118,
+ 178,108,205,222,74,166,189,187,189,71,
+ 229,80,55,230,110,121,110,110,121,110,
+ 110,121,110,175,121,126,178,71,74,156,
+ 75,167,80,55,118,151,110,110,121,118,
+ 151,110,110,121,110,121,110,175,110,118,
+ 93,167,118,118,151,118,151,110,118,118,
+ 151,118,151,110,118,151,110,110,121,118,
+ 175,118,118,118,151,118,118,118,151,118,
+ 118,151,118,151,110,118,118,118,118,118,
+ 118,151,118
};
};
public final static char inSymb[] = InSymb.inSymb;
@@ -1848,10 +1832,11 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym
")",
"}",
";",
+ "identifier_token",
"expression",
"postfix_expression",
"member_name",
- "type_name",
+ "type_id",
"initializer_list",
"unary_expression",
"cast_expression",
@@ -1860,19 +1845,17 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym
"shift_expression",
"relational_expression",
"equality_expression",
- "AND_expression",
- "exclusive_OR_expression",
- "inclusive_OR_expression",
- "logical_AND_expression",
- "logical_OR_expression",
- "conditional_expression",
+ "and_expression",
+ "exclusive_or_expression",
+ "inclusive_or_expression",
+ "logical_and_expression",
+ "logical_or_expression",
"assignment_expression",
"expression_in_statement",
"expression_list_actual",
"constant_expression",
"statement",
"compound_statement",
- "identifier_or_typedefname",
"block_item_list",
"block_item",
"declaration",
@@ -1893,11 +1876,12 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym
"struct_or_union_specifier",
"elaborated_specifier",
"enum_specifier",
- "typedef_name_in_declspec",
+ "type_name_specifier",
"init_declarator",
"complete_declarator",
"initializer",
"declarator",
+ "struct_or_union",
"struct_declaration_list",
"struct_declaration",
"specifier_qualifier_list",
@@ -1927,6 +1911,7 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym
"or",
"array_direct_abstract_declarat" +
"or",
+ "initializer_seq",
"designated_initializer",
"designation",
"designator_list",
@@ -1944,8 +1929,8 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym
public final static int
ERROR_SYMBOL = 26,
- SCOPE_UBOUND = 52,
- SCOPE_SIZE = 53,
+ SCOPE_UBOUND = 49,
+ SCOPE_SIZE = 50,
MAX_NAME_LENGTH = 38;
public final int getErrorSymbol() { return ERROR_SYMBOL; }
@@ -1954,20 +1939,20 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym
public final int getMaxNameLength() { return MAX_NAME_LENGTH; }
public final static int
- NUM_STATES = 378,
+ NUM_STATES = 383,
NT_OFFSET = 107,
- LA_STATE_OFFSET = 3738,
+ LA_STATE_OFFSET = 3624,
MAX_LA = 2147483647,
- NUM_RULES = 358,
- NUM_NONTERMINALS = 119,
- NUM_SYMBOLS = 226,
+ NUM_RULES = 366,
+ NUM_NONTERMINALS = 130,
+ NUM_SYMBOLS = 237,
SEGMENT_SIZE = 8192,
- START_STATE = 626,
+ START_STATE = 1522,
IDENTIFIER_SYMBOL = 0,
EOFT_SYMBOL = 87,
EOLT_SYMBOL = 87,
- ACCEPT_ACTION = 3352,
- ERROR_ACTION = 3380;
+ ACCEPT_ACTION = 3233,
+ ERROR_ACTION = 3258;
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 85523c6498c..a6ac488f3af 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, 2008 IBM Corporation and others.
+* Copyright (c) 2006, 2009 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -18,49 +18,49 @@ public interface UPCParsersym {
TK_auto = 50,
TK_break = 29,
TK_case = 30,
- TK_char = 55,
+ TK_char = 56,
TK_const = 43,
TK_continue = 27,
TK_default = 31,
TK_do = 32,
- TK_double = 56,
+ TK_double = 57,
TK_else = 93,
TK_enum = 68,
TK_extern = 51,
- TK_float = 57,
+ TK_float = 58,
TK_for = 33,
TK_goto = 34,
TK_if = 35,
TK_inline = 52,
- TK_int = 58,
- TK_long = 59,
+ TK_int = 59,
+ TK_long = 60,
TK_register = 53,
TK_restrict = 44,
TK_return = 36,
- TK_short = 60,
- TK_signed = 61,
+ TK_short = 61,
+ TK_signed = 62,
TK_sizeof = 12,
TK_static = 49,
TK_struct = 69,
TK_switch = 37,
TK_typedef = 54,
TK_union = 70,
- TK_unsigned = 62,
- TK_void = 63,
+ TK_unsigned = 63,
+ TK_void = 64,
TK_volatile = 45,
TK_while = 28,
- TK__Bool = 64,
- TK__Complex = 65,
- TK__Imaginary = 66,
+ TK__Bool = 65,
+ TK__Complex = 66,
+ TK__Imaginary = 67,
TK_integer = 13,
TK_floating = 14,
TK_charconst = 15,
TK_stringlit = 16,
TK_identifier = 1,
TK_Completion = 3,
- TK_EndOfCompletion = 4,
+ TK_EndOfCompletion = 5,
TK_Invalid = 107,
- TK_LeftBracket = 67,
+ TK_LeftBracket = 55,
TK_LeftParen = 2,
TK_LeftBrace = 6,
TK_Dot = 80,
@@ -68,7 +68,7 @@ public interface UPCParsersym {
TK_PlusPlus = 10,
TK_MinusMinus = 11,
TK_And = 9,
- TK_Star = 5,
+ TK_Star = 4,
TK_Plus = 7,
TK_Minus = 8,
TK_Tilde = 17,
@@ -101,10 +101,10 @@ public interface UPCParsersym {
TK_AndAssign = 104,
TK_CaretAssign = 105,
TK_OrAssign = 106,
- TK_Comma = 72,
+ TK_Comma = 71,
TK_RightBracket = 78,
TK_RightParen = 73,
- TK_RightBrace = 71,
+ TK_RightBrace = 72,
TK_SemiColon = 25,
TK_MYTHREAD = 19,
TK_THREADS = 20,
@@ -128,8 +128,8 @@ public interface UPCParsersym {
"identifier",
"LeftParen",
"Completion",
- "EndOfCompletion",
"Star",
+ "EndOfCompletion",
"LeftBrace",
"Plus",
"Minus",
@@ -179,6 +179,7 @@ public interface UPCParsersym {
"inline",
"register",
"typedef",
+ "LeftBracket",
"char",
"double",
"float",
@@ -191,12 +192,11 @@ public interface UPCParsersym {
"_Bool",
"_Complex",
"_Imaginary",
- "LeftBracket",
"enum",
"struct",
"union",
- "RightBrace",
"Comma",
+ "RightBrace",
"RightParen",
"Colon",
"Assign",
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 9440f5a5b62..31f2e5b444e 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, 2008 IBM Corporation and others.
+* Copyright (c) 2006, 2009 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -17,24 +17,36 @@ import lpg.lpgjavaruntime.*;
import java.util.*;
import org.eclipse.cdt.core.dom.ast.*;
+import org.eclipse.cdt.core.dom.lrparser.IDOMTokenMap;
import org.eclipse.cdt.core.dom.lrparser.IParser;
-import org.eclipse.cdt.core.dom.lrparser.IParserActionTokenProvider;
+import org.eclipse.cdt.core.dom.lrparser.ITokenCollector;
+import org.eclipse.cdt.core.dom.lrparser.CPreprocessorAdapter;
+import org.eclipse.cdt.core.dom.lrparser.action.ITokenStream;
import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser;
+import org.eclipse.cdt.core.dom.lrparser.action.ScopedStack;
+import org.eclipse.cdt.core.parser.IScanner;
+import org.eclipse.cdt.core.dom.parser.IBuiltinBindingsProvider;
+import org.eclipse.cdt.core.index.IIndex;
import org.eclipse.cdt.core.dom.lrparser.action.ITokenMap;
import org.eclipse.cdt.core.dom.lrparser.action.TokenMap;
+import org.eclipse.cdt.core.dom.lrparser.ISecondaryParser;
-import org.eclipse.cdt.core.dom.lrparser.action.c99.C99ASTNodeFactory;
+import org.eclipse.cdt.core.dom.lrparser.action.c99.CNodeFactory;
import org.eclipse.cdt.core.dom.lrparser.action.c99.C99BuildASTParserAction;
+import org.eclipse.cdt.core.dom.lrparser.action.c99.C99SecondaryParserFactory;
import org.eclipse.cdt.core.dom.parser.upc.UPCASTNodeFactory;
+import org.eclipse.cdt.core.dom.parser.upc.UPCSecondaryParserFactory;
import org.eclipse.cdt.core.dom.parser.upc.UPCParserAction;
import org.eclipse.cdt.core.dom.upc.ast.IUPCASTKeywordExpression;
import org.eclipse.cdt.core.dom.upc.ast.IUPCASTSynchronizationStatement;
import org.eclipse.cdt.core.dom.upc.ast.IUPCASTUnarySizeofExpression;
import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser;
-public class UPCSizeofExpressionParser extends PrsStream implements RuleAction , IParserActionTokenProvider, IParser
+public class UPCSizeofExpressionParser extends PrsStream implements RuleAction, ITokenStream,
+ ITokenCollector, IParser< IASTExpression >
+ , ISecondaryParser< IASTExpression >
{
private static ParseTable prs = new UPCSizeofExpressionParserprs();
private FixedBacktrackingParser btParser;
@@ -125,22 +137,22 @@ public class UPCSizeofExpressionParser extends PrsStream implements RuleAction ,
super.reportError((firsttok > lasttok ? ParseErrorCodes.INSERTION_CODE : ParseErrorCodes.SUBSTITUTION_CODE), location, msg);
}
- public Object parser()
+ public void parser()
{
- return parser(null, 0);
+ parser(null, 0);
}
- public Object parser(Monitor monitor)
+ public void parser(Monitor monitor)
{
- return parser(monitor, 0);
+ parser(monitor, 0);
}
- public Object parser(int error_repair_count)
+ public void parser(int error_repair_count)
{
- return parser(null, error_repair_count);
+ parser(null, error_repair_count);
}
- public Object parser(Monitor monitor, int error_repair_count)
+ public void parser(Monitor monitor, int error_repair_count)
{
try
{
@@ -158,7 +170,7 @@ public class UPCSizeofExpressionParser extends PrsStream implements RuleAction ,
try
{
- return (Object) btParser.parse(error_repair_count);
+ btParser.parse(error_repair_count);
}
catch (BadParseException e)
{
@@ -166,18 +178,26 @@ public class UPCSizeofExpressionParser extends PrsStream implements RuleAction ,
DiagnoseParser diagnoseParser = new DiagnoseParser(this, prs);
diagnoseParser.diagnose(e.error_token);
}
-
- return null;
}
private UPCParserAction action;
+private IASTCompletionNode compNode;
+
-public UPCSizeofExpressionParser() { // constructor
+public UPCSizeofExpressionParser(IScanner scanner, IDOMTokenMap tokenMap, IBuiltinBindingsProvider builtinBindingsProvider, IIndex index, Map<String,String> properties) {
+ initActions(properties);
+ action.initializeTranslationUnit(scanner, builtinBindingsProvider, index);
+ CPreprocessorAdapter.runCPreprocessor(scanner, this, tokenMap);
}
-private void initActions(IASTTranslationUnit tu) {
- action = new UPCParserAction ( UPCASTNodeFactory.DEFAULT_INSTANCE , this, tu);
+private void initActions(Map<String,String> properties) {
+ ScopedStack<Object> astStack = new ScopedStack<Object>();
+
+ action = new UPCParserAction (this, astStack, new UPCASTNodeFactory() , UPCSecondaryParserFactory.getDefault() );
+ action.setParserProperties(properties);
+
+
}
@@ -187,39 +207,35 @@ public void addToken(IToken token) {
}
-public IASTCompletionNode parse(IASTTranslationUnit tu) {
+public IASTExpression parse() {
// this has to be done, or... kaboom!
setStreamLength(getSize());
- initActions(tu);
final int errorRepairCount = -1; // -1 means full error handling
parser(null, errorRepairCount); // do the actual parse
super.resetTokenStream(); // allow tokens to be garbage collected
- // the completion node may be null
- IASTCompletionNode compNode = action.getASTCompletionNode();
+ compNode = action.getASTCompletionNode(); // the completion node may be null
+ return ( IASTExpression ) action.getParseResult();
+}
+
- //action = null;
- //parserAction = null;
+public IASTCompletionNode getCompletionNode() {
return compNode;
}
// uncomment this method to use with backtracking parser
-public List getRuleTokens() {
- return Collections.unmodifiableList(getTokens().subList(getLeftSpan(), getRightSpan() + 1));
-}
-
-
-public IASTNode getSecondaryParseResult() {
- return action.getSecondaryParseResult();
+public List<IToken> getRuleTokens() {
+ return getTokens().subList(getLeftSpan(), getRightSpan() + 1);
}
public String[] getOrderedTerminalSymbols() {
return UPCSizeofExpressionParsersym.orderedTerminalSymbols;
}
+@SuppressWarnings("nls")
public String getName() {
- return "UPCSizeofExpressionParser"; //$NON-NLS-1$
+ return "UPCSizeofExpressionParser";
}
@@ -236,12 +252,12 @@ public void setTokens(List<IToken> tokens) {
addToken(new Token(null, 0, 0, UPCSizeofExpressionParsersym.TK_EOF_TOKEN));
}
-public UPCSizeofExpressionParser(String[] mapFrom) { // constructor
- tokenMap = new TokenMap(UPCSizeofExpressionParsersym.orderedTerminalSymbols, mapFrom);
+public UPCSizeofExpressionParser(ITokenStream stream, Map<String,String> properties) { // constructor for creating secondary parser
+ initActions(properties);
+ tokenMap = new TokenMap(UPCSizeofExpressionParsersym.orderedTerminalSymbols, stream.getOrderedTerminalSymbols());
}
-
public void ruleAction(int ruleNumber)
{
switch (ruleNumber)
@@ -254,1269 +270,1275 @@ public UPCSizeofExpressionParser(String[] mapFrom) { // constructor
}
//
- // Rule 10: literal ::= integer
+ // Rule 2: <empty> ::= $Empty
//
- case 10: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_integer_constant); break;
+ case 2: { action. consumeEmpty(); break;
}
//
- // Rule 11: literal ::= floating
+ // Rule 13: literal ::= integer
//
- case 11: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_float_constant); break;
+ case 13: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_integer_constant); break;
}
//
- // Rule 12: literal ::= charconst
+ // Rule 14: literal ::= floating
//
- case 12: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_char_constant); break;
+ case 14: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_float_constant); break;
}
//
- // Rule 13: literal ::= stringlit
+ // Rule 15: literal ::= charconst
//
- case 13: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_string_literal); break;
+ case 15: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_char_constant); break;
}
//
- // Rule 15: primary_expression ::= primary_expression_id
+ // Rule 16: literal ::= stringlit
//
- case 15: { action. consumeExpressionID(); break;
+ case 16: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_string_literal); break;
}
//
- // Rule 16: primary_expression ::= ( expression )
+ // Rule 18: primary_expression ::= primary_expression_id
//
- case 16: { action. consumeExpressionBracketed(); break;
+ case 18: { action. consumeExpressionID(); break;
}
//
- // Rule 20: postfix_expression ::= postfix_expression [ expression ]
+ // Rule 19: primary_expression ::= ( expression )
//
- case 20: { action. consumeExpressionArraySubscript(); break;
+ case 19: { action. consumeExpressionBracketed(); break;
}
//
- // Rule 21: postfix_expression ::= postfix_expression ( expression_list_opt )
+ // Rule 22: postfix_expression ::= postfix_expression [ expression ]
//
- case 21: { action. consumeExpressionFunctionCall(); break;
+ case 22: { action. consumeExpressionArraySubscript(); break;
}
//
- // Rule 22: postfix_expression ::= postfix_expression . member_name
+ // Rule 23: postfix_expression ::= postfix_expression ( expression_list_opt )
//
- case 22: { action. consumeExpressionFieldReference(false); break;
+ case 23: { action. consumeExpressionFunctionCall(); break;
}
//
- // Rule 23: postfix_expression ::= postfix_expression -> member_name
+ // Rule 24: postfix_expression ::= postfix_expression . member_name
//
- case 23: { action. consumeExpressionFieldReference(true); break;
+ case 24: { action. consumeExpressionFieldReference(false); break;
}
//
- // Rule 24: postfix_expression ::= postfix_expression ++
+ // Rule 25: postfix_expression ::= postfix_expression -> member_name
//
- case 24: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break;
+ case 25: { action. consumeExpressionFieldReference(true); break;
}
//
- // Rule 25: postfix_expression ::= postfix_expression --
+ // Rule 26: postfix_expression ::= postfix_expression ++
//
- case 25: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break;
+ case 26: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break;
}
//
- // Rule 26: postfix_expression ::= ( type_name ) { <openscope-ast> initializer_list comma_opt }
+ // Rule 27: postfix_expression ::= postfix_expression --
//
- case 26: { action. consumeExpressionTypeIdInitializer(); break;
+ case 27: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break;
}
//
- // Rule 32: unary_expression ::= ++ unary_expression
+ // Rule 28: postfix_expression ::= ( type_id ) initializer_list
//
- case 32: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixIncr); break;
+ case 28: { action. consumeExpressionTypeIdInitializer(); break;
}
//
- // Rule 33: unary_expression ::= -- unary_expression
+ // Rule 33: unary_expression ::= ++ unary_expression
//
- case 33: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixDecr); break;
+ case 33: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixIncr); break;
}
//
- // Rule 34: unary_expression ::= & cast_expression
+ // Rule 34: unary_expression ::= -- unary_expression
//
- case 34: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_amper); break;
+ case 34: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixDecr); break;
}
//
- // Rule 35: unary_expression ::= * cast_expression
+ // Rule 35: unary_expression ::= & cast_expression
//
- case 35: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_star); break;
+ case 35: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_amper); break;
}
//
- // Rule 36: unary_expression ::= + cast_expression
+ // Rule 36: unary_expression ::= * cast_expression
//
- case 36: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_plus); break;
+ case 36: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_star); break;
}
//
- // Rule 37: unary_expression ::= - cast_expression
+ // Rule 37: unary_expression ::= + cast_expression
//
- case 37: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_minus); break;
+ case 37: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_plus); break;
}
//
- // Rule 38: unary_expression ::= ~ cast_expression
+ // Rule 38: unary_expression ::= - cast_expression
//
- case 38: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_tilde); break;
+ case 38: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_minus); break;
}
//
- // Rule 39: unary_expression ::= ! cast_expression
+ // Rule 39: unary_expression ::= ~ cast_expression
//
- case 39: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_not); break;
+ case 39: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_tilde); break;
}
//
- // Rule 40: unary_expression ::= sizeof unary_expression
+ // Rule 40: unary_expression ::= ! cast_expression
//
- case 40: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof); break;
+ case 40: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_not); break;
}
//
- // Rule 42: cast_expression ::= ( type_name ) cast_expression
+ // Rule 41: unary_expression ::= sizeof unary_expression
//
- case 42: { action. consumeExpressionCast(IASTCastExpression.op_cast); break;
+ case 41: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof); break;
}
//
- // Rule 44: multiplicative_expression ::= multiplicative_expression * cast_expression
+ // Rule 43: cast_expression ::= ( type_id ) cast_expression
//
- case 44: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_multiply); break;
+ case 43: { action. consumeExpressionCast(IASTCastExpression.op_cast); break;
}
//
- // Rule 45: multiplicative_expression ::= multiplicative_expression / cast_expression
+ // Rule 45: multiplicative_expression ::= multiplicative_expression * cast_expression
//
- case 45: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_divide); break;
+ case 45: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_multiply); break;
}
//
- // Rule 46: multiplicative_expression ::= multiplicative_expression % cast_expression
+ // Rule 46: multiplicative_expression ::= multiplicative_expression / cast_expression
//
- case 46: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_modulo); break;
+ case 46: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_divide); break;
}
//
- // Rule 48: additive_expression ::= additive_expression + multiplicative_expression
+ // Rule 47: multiplicative_expression ::= multiplicative_expression % cast_expression
//
- case 48: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_plus); break;
+ case 47: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_modulo); break;
}
//
- // Rule 49: additive_expression ::= additive_expression - multiplicative_expression
+ // Rule 49: additive_expression ::= additive_expression + multiplicative_expression
//
- case 49: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_minus); break;
+ case 49: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_plus); break;
}
//
- // Rule 51: shift_expression ::= shift_expression << additive_expression
+ // Rule 50: additive_expression ::= additive_expression - multiplicative_expression
//
- case 51: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftLeft); break;
+ case 50: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_minus); break;
}
//
- // Rule 52: shift_expression ::= shift_expression >> additive_expression
+ // Rule 52: shift_expression ::= shift_expression << additive_expression
//
- case 52: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftRight); break;
+ case 52: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftLeft); break;
}
//
- // Rule 54: relational_expression ::= relational_expression < shift_expression
+ // Rule 53: shift_expression ::= shift_expression >> additive_expression
//
- case 54: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_lessThan); break;
+ case 53: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftRight); break;
}
//
- // Rule 55: relational_expression ::= relational_expression > shift_expression
+ // Rule 55: relational_expression ::= relational_expression < shift_expression
//
- case 55: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_greaterThan); break;
+ case 55: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_lessThan); break;
}
//
- // Rule 56: relational_expression ::= relational_expression <= shift_expression
+ // Rule 56: relational_expression ::= relational_expression > shift_expression
//
- case 56: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_lessEqual); break;
+ case 56: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_greaterThan); break;
}
//
- // Rule 57: relational_expression ::= relational_expression >= shift_expression
+ // Rule 57: relational_expression ::= relational_expression <= shift_expression
//
- case 57: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_greaterEqual); break;
+ case 57: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_lessEqual); break;
}
//
- // Rule 59: equality_expression ::= equality_expression == relational_expression
+ // Rule 58: relational_expression ::= relational_expression >= shift_expression
//
- case 59: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_equals); break;
+ case 58: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_greaterEqual); break;
}
//
- // Rule 60: equality_expression ::= equality_expression != relational_expression
+ // Rule 60: equality_expression ::= equality_expression == relational_expression
//
- case 60: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_notequals); break;
+ case 60: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_equals); break;
}
//
- // Rule 62: AND_expression ::= AND_expression & equality_expression
+ // Rule 61: equality_expression ::= equality_expression != relational_expression
//
- case 62: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryAnd); break;
+ case 61: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_notequals); break;
}
//
- // Rule 64: exclusive_OR_expression ::= exclusive_OR_expression ^ AND_expression
+ // Rule 63: and_expression ::= and_expression & equality_expression
//
- case 64: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryXor); break;
+ case 63: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryAnd); break;
}
//
- // Rule 66: inclusive_OR_expression ::= inclusive_OR_expression | exclusive_OR_expression
+ // Rule 65: exclusive_or_expression ::= exclusive_or_expression ^ and_expression
//
- case 66: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryOr); break;
+ case 65: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryXor); break;
}
//
- // Rule 68: logical_AND_expression ::= logical_AND_expression && inclusive_OR_expression
+ // Rule 67: inclusive_or_expression ::= inclusive_or_expression | exclusive_or_expression
//
- case 68: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_logicalAnd); break;
+ case 67: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryOr); break;
}
//
- // Rule 70: logical_OR_expression ::= logical_OR_expression || logical_AND_expression
+ // Rule 69: logical_and_expression ::= logical_and_expression && inclusive_or_expression
//
- case 70: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_logicalOr); break;
+ case 69: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_logicalAnd); break;
}
//
- // Rule 72: conditional_expression ::= logical_OR_expression ? expression : conditional_expression
+ // Rule 71: logical_or_expression ::= logical_or_expression || logical_and_expression
//
- case 72: { action. consumeExpressionConditional(); break;
+ case 71: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_logicalOr); break;
}
//
- // Rule 74: assignment_expression ::= unary_expression = assignment_expression
+ // Rule 73: conditional_expression ::= logical_or_expression ? expression : assignment_expression
//
- case 74: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_assign); break;
+ case 73: { action. consumeExpressionConditional(); break;
}
//
- // Rule 75: assignment_expression ::= unary_expression *= assignment_expression
+ // Rule 75: assignment_expression ::= unary_expression = assignment_expression
//
- case 75: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_multiplyAssign); break;
+ case 75: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_assign); break;
}
//
- // Rule 76: assignment_expression ::= unary_expression /= assignment_expression
+ // Rule 76: assignment_expression ::= unary_expression *= assignment_expression
//
- case 76: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_divideAssign); break;
+ case 76: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_multiplyAssign); break;
}
//
- // Rule 77: assignment_expression ::= unary_expression %= assignment_expression
+ // Rule 77: assignment_expression ::= unary_expression /= assignment_expression
//
- case 77: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_moduloAssign); break;
+ case 77: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_divideAssign); break;
}
//
- // Rule 78: assignment_expression ::= unary_expression += assignment_expression
+ // Rule 78: assignment_expression ::= unary_expression %= assignment_expression
//
- case 78: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_plusAssign); break;
+ case 78: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_moduloAssign); break;
}
//
- // Rule 79: assignment_expression ::= unary_expression -= assignment_expression
+ // Rule 79: assignment_expression ::= unary_expression += assignment_expression
//
- case 79: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_minusAssign); break;
+ case 79: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_plusAssign); break;
}
//
- // Rule 80: assignment_expression ::= unary_expression <<= assignment_expression
+ // Rule 80: assignment_expression ::= unary_expression -= assignment_expression
//
- case 80: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftLeftAssign); break;
+ case 80: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_minusAssign); break;
}
//
- // Rule 81: assignment_expression ::= unary_expression >>= assignment_expression
+ // Rule 81: assignment_expression ::= unary_expression <<= assignment_expression
//
- case 81: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftRightAssign); break;
+ case 81: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftLeftAssign); break;
}
//
- // Rule 82: assignment_expression ::= unary_expression &= assignment_expression
+ // Rule 82: assignment_expression ::= unary_expression >>= assignment_expression
//
- case 82: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryAndAssign); break;
+ case 82: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftRightAssign); break;
}
//
- // Rule 83: assignment_expression ::= unary_expression ^= assignment_expression
+ // Rule 83: assignment_expression ::= unary_expression &= assignment_expression
//
- case 83: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryXorAssign); break;
+ case 83: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryAndAssign); break;
}
//
- // Rule 84: assignment_expression ::= unary_expression |= assignment_expression
+ // Rule 84: assignment_expression ::= unary_expression ^= assignment_expression
//
- case 84: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryOrAssign); break;
+ case 84: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryXorAssign); break;
}
//
- // Rule 87: expression_list ::= <openscope-ast> expression_list_actual
+ // Rule 85: assignment_expression ::= unary_expression |= assignment_expression
//
- case 87: { action. consumeExpressionList(); break;
+ case 85: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryOrAssign); break;
}
//
- // Rule 89: expression_list_opt ::= $Empty
+ // Rule 88: expression_list ::= <openscope-ast> expression_list_actual
//
- case 89: { action. consumeEmpty(); break;
+ case 88: { action. consumeExpressionList(); break;
}
//
- // Rule 99: statement ::= ERROR_TOKEN
+ // Rule 90: expression_list_opt ::= $Empty
//
- case 99: { action. consumeStatementProblem(); break;
+ case 90: { action. consumeEmpty(); break;
}
//
- // Rule 100: labeled_statement ::= identifier_or_typedefname : statement
+ // Rule 100: statement ::= ERROR_TOKEN
//
- case 100: { action. consumeStatementLabeled(); break;
+ case 100: { action. consumeStatementProblem(); break;
}
//
- // Rule 101: labeled_statement ::= case constant_expression :
+ // Rule 101: labeled_statement ::= identifier_token : statement
//
- case 101: { action. consumeStatementCase(); break;
+ case 101: { action. consumeStatementLabeled(); break;
}
//
- // Rule 102: labeled_statement ::= default :
+ // Rule 102: labeled_statement ::= case constant_expression : statement
//
- case 102: { action. consumeStatementDefault(); break;
+ case 102: { action. consumeStatementCase(); break;
}
//
- // Rule 103: compound_statement ::= { }
+ // Rule 103: labeled_statement ::= default : statement
//
- case 103: { action. consumeStatementCompoundStatement(false); break;
+ case 103: { action. consumeStatementDefault(); break;
}
//
- // Rule 104: compound_statement ::= { <openscope-ast> block_item_list }
+ // Rule 104: compound_statement ::= { }
//
- case 104: { action. consumeStatementCompoundStatement(true); break;
+ case 104: { action. consumeStatementCompoundStatement(false); break;
}
//
- // Rule 108: block_item ::= declaration
+ // Rule 105: compound_statement ::= { <openscope-ast> block_item_list }
//
- case 108: { action. consumeStatementDeclarationWithDisambiguation(); break;
+ case 105: { action. consumeStatementCompoundStatement(true); break;
}
//
- // Rule 109: expression_statement ::= ;
+ // Rule 109: block_item ::= declaration
//
- case 109: { action. consumeStatementNull(); break;
+ case 109: { action. consumeStatementDeclarationWithDisambiguation(); break;
}
//
- // Rule 110: expression_statement ::= expression_in_statement ;
+ // Rule 110: expression_statement ::= ;
//
- case 110: { action. consumeStatementExpression(); break;
+ case 110: { action. consumeStatementNull(); break;
}
//
- // Rule 111: selection_statement ::= if ( expression ) statement
+ // Rule 111: expression_statement ::= expression_in_statement ;
//
- case 111: { action. consumeStatementIf(false); break;
+ case 111: { action. consumeStatementExpression(); break;
}
//
- // Rule 112: selection_statement ::= if ( expression ) statement else statement
+ // Rule 112: selection_statement ::= if ( expression ) statement
//
- case 112: { action. consumeStatementIf(true); break;
+ case 112: { action. consumeStatementIf(false); break;
}
//
- // Rule 113: selection_statement ::= switch ( expression ) statement
+ // Rule 113: selection_statement ::= if ( expression ) statement else statement
//
- case 113: { action. consumeStatementSwitch(); break;
+ case 113: { action. consumeStatementIf(true); break;
}
//
- // Rule 115: expression_opt ::= $Empty
+ // Rule 114: selection_statement ::= switch ( expression ) statement
//
- case 115: { action. consumeEmpty(); break;
+ case 114: { action. consumeStatementSwitch(); break;
}
//
- // Rule 116: iteration_statement ::= do statement while ( expression ) ;
+ // Rule 116: expression_opt ::= $Empty
//
- case 116: { action. consumeStatementDoLoop(); break;
+ case 116: { action. consumeEmpty(); break;
}
//
- // Rule 117: iteration_statement ::= while ( expression ) statement
+ // Rule 117: iteration_statement ::= do statement while ( expression ) ;
//
- case 117: { action. consumeStatementWhileLoop(); break;
+ case 117: { action. consumeStatementDoLoop(); break;
}
//
- // Rule 118: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement
+ // Rule 118: iteration_statement ::= while ( expression ) statement
//
- case 118: { action. consumeStatementForLoop(); break;
+ case 118: { action. consumeStatementWhileLoop(); break;
}
//
- // Rule 119: iteration_statement ::= for ( declaration expression_opt ; expression_opt ) statement
+ // Rule 119: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement
//
case 119: { action. consumeStatementForLoop(); break;
}
//
- // Rule 120: jump_statement ::= goto identifier_or_typedefname ;
+ // Rule 120: iteration_statement ::= for ( declaration expression_opt ; expression_opt ) statement
//
- case 120: { action. consumeStatementGoto(); break;
+ case 120: { action. consumeStatementForLoop(); break;
}
//
- // Rule 121: jump_statement ::= continue ;
+ // Rule 121: jump_statement ::= goto identifier_token ;
//
- case 121: { action. consumeStatementContinue(); break;
+ case 121: { action. consumeStatementGoto(); break;
}
//
- // Rule 122: jump_statement ::= break ;
+ // Rule 122: jump_statement ::= continue ;
//
- case 122: { action. consumeStatementBreak(); break;
+ case 122: { action. consumeStatementContinue(); break;
}
//
- // Rule 123: jump_statement ::= return ;
+ // Rule 123: jump_statement ::= break ;
//
- case 123: { action. consumeStatementReturn(false); break;
+ case 123: { action. consumeStatementBreak(); break;
}
//
- // Rule 124: jump_statement ::= return expression ;
+ // Rule 124: jump_statement ::= return ;
//
- case 124: { action. consumeStatementReturn(true); break;
+ case 124: { action. consumeStatementReturn(false); break;
}
//
- // Rule 125: declaration ::= declaration_specifiers ;
+ // Rule 125: jump_statement ::= return expression ;
//
- case 125: { action. consumeDeclarationSimple(false); break;
+ case 125: { action. consumeStatementReturn(true); break;
}
//
- // Rule 126: declaration ::= declaration_specifiers <openscope-ast> init_declarator_list ;
+ // Rule 126: declaration ::= declaration_specifiers ;
//
- case 126: { action. consumeDeclarationSimple(true); break;
+ case 126: { action. consumeDeclarationSimple(false); break;
}
//
- // Rule 127: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers
+ // Rule 127: declaration ::= declaration_specifiers <openscope-ast> init_declarator_list ;
//
- case 127: { action. consumeDeclarationSpecifiersSimple(); break;
+ case 127: { action. consumeDeclarationSimple(true); break;
}
//
- // Rule 128: declaration_specifiers ::= <openscope-ast> struct_or_union_declaration_specifiers
+ // Rule 128: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers
//
- case 128: { action. consumeDeclarationSpecifiersStructUnionEnum(); break;
+ case 128: { action. consumeDeclarationSpecifiersSimple(); break;
}
//
- // Rule 129: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers
+ // Rule 129: declaration_specifiers ::= <openscope-ast> struct_or_union_declaration_specifiers
//
case 129: { action. consumeDeclarationSpecifiersStructUnionEnum(); break;
}
//
- // Rule 130: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers
+ // Rule 130: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers
//
case 130: { action. consumeDeclarationSpecifiersStructUnionEnum(); break;
}
//
- // Rule 131: declaration_specifiers ::= <openscope-ast> typdef_name_declaration_specifiers
+ // Rule 131: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers
//
- case 131: { action. consumeDeclarationSpecifiersTypedefName(); break;
+ case 131: { action. consumeDeclarationSpecifiersStructUnionEnum(); break;
}
//
- // Rule 156: init_declarator ::= complete_declarator = initializer
+ // Rule 132: declaration_specifiers ::= <openscope-ast> typdef_name_declaration_specifiers
//
- case 156: { action. consumeDeclaratorWithInitializer(true); break;
+ case 132: { action. consumeDeclarationSpecifiersTypedefName(); break;
}
//
- // Rule 158: storage_class_specifier ::= storage_class_specifier_token
+ // Rule 157: init_declarator ::= complete_declarator = initializer
//
- case 158: { action. consumeDeclSpecToken(); break;
+ case 157: { action. consumeDeclaratorWithInitializer(true); break;
}
//
- // Rule 164: simple_type_specifier ::= simple_type_specifier_token
+ // Rule 159: storage_class_specifier ::= storage_class_specifier_token
//
- case 164: { action. consumeDeclSpecToken(); break;
+ case 159: { action. consumeToken(); break;
}
//
- // Rule 177: typedef_name_in_declspec ::= Completion
+ // Rule 165: simple_type_specifier ::= simple_type_specifier_token
//
- case 177: { action. consumeDeclSpecToken(); break;
+ case 165: { action. consumeToken(); break;
}
//
- // Rule 178: typedef_name_in_declspec ::= identifier
+ // Rule 178: type_name_specifier ::= identifier_token
//
- case 178: { action. consumeDeclSpecToken(); break;
+ case 178: { action. consumeToken(); break;
}
//
- // Rule 181: struct_or_union_specifier ::= struct { <openscope-ast> struct_declaration_list_opt }
+ // Rule 179: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt }
//
- case 181: { action. consumeTypeSpecifierComposite(false, IASTCompositeTypeSpecifier.k_struct); break;
+ case 179: { action. consumeTypeSpecifierComposite(false); break;
}
//
- // Rule 182: struct_or_union_specifier ::= union { <openscope-ast> struct_declaration_list_opt }
+ // Rule 180: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook identifier_token struct_or_union_specifier_suffix_hook { <openscope-ast> struct_declaration_list_opt }
//
- case 182: { action. consumeTypeSpecifierComposite(false, IASTCompositeTypeSpecifier.k_union); break;
+ case 180: { action. consumeTypeSpecifierComposite(true); break;
}
//
- // Rule 183: struct_or_union_specifier ::= struct identifier_or_typedefname { <openscope-ast> struct_declaration_list_opt }
+ // Rule 185: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token
//
- case 183: { action. consumeTypeSpecifierComposite(true, IASTCompositeTypeSpecifier.k_struct); break;
+ case 185: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break;
}
//
- // Rule 184: struct_or_union_specifier ::= union identifier_or_typedefname { <openscope-ast> struct_declaration_list_opt }
+ // Rule 186: elaborated_specifier ::= union elaborated_specifier_hook identifier_token
//
- case 184: { action. consumeTypeSpecifierComposite(true, IASTCompositeTypeSpecifier.k_union); break;
+ case 186: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break;
}
//
- // Rule 185: elaborated_specifier ::= struct identifier_or_typedefname
+ // Rule 187: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token
//
- case 185: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break;
+ case 187: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break;
}
//
- // Rule 186: elaborated_specifier ::= union identifier_or_typedefname
+ // Rule 193: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ;
//
- case 186: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break;
+ case 193: { action. consumeStructDeclaration(true); break;
}
//
- // Rule 187: elaborated_specifier ::= enum identifier_or_typedefname
+ // Rule 194: struct_declaration ::= specifier_qualifier_list ;
//
- case 187: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break;
+ case 194: { action. consumeStructDeclaration(false); break;
}
//
- // Rule 192: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ;
+ // Rule 195: struct_declaration ::= ERROR_TOKEN
//
- case 192: { action. consumeStructDeclaration(true); break;
+ case 195: { action. consumeDeclarationProblem(); break;
}
//
- // Rule 193: struct_declaration ::= specifier_qualifier_list ;
+ // Rule 201: struct_declarator ::= : constant_expression
//
- case 193: { action. consumeStructDeclaration(false); break;
+ case 201: { action. consumeBitField(false); break;
}
//
- // Rule 194: struct_declaration ::= ERROR_TOKEN
+ // Rule 202: struct_declarator ::= declarator : constant_expression
//
- case 194: { action. consumeDeclarationProblem(); break;
+ case 202: { action. consumeBitField(true); break;
}
//
- // Rule 200: struct_declarator ::= : constant_expression
+ // Rule 203: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt }
//
- case 200: { action. consumeBitField(false); break;
+ case 203: { action. consumeTypeSpecifierEnumeration(false); break;
}
//
- // Rule 201: struct_declarator ::= declarator : constant_expression
+ // Rule 204: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt }
//
- case 201: { action. consumeBitField(true); break;
+ case 204: { action. consumeTypeSpecifierEnumeration(true); break;
}
//
- // Rule 202: enum_specifier ::= enum { <openscope-ast> enumerator_list_opt comma_opt }
+ // Rule 210: enumerator ::= identifier_token
//
- case 202: { action. consumeTypeSpecifierEnumeration(false); break;
+ case 210: { action. consumeEnumerator(false); break;
}
//
- // Rule 203: enum_specifier ::= enum identifier_or_typedefname { <openscope-ast> enumerator_list_opt comma_opt }
+ // Rule 211: enumerator ::= identifier_token = constant_expression
//
- case 203: { action. consumeTypeSpecifierEnumeration(true); break;
+ case 211: { action. consumeEnumerator(true); break;
}
//
- // Rule 208: enumerator ::= identifier_or_typedefname
+ // Rule 212: type_qualifier ::= type_qualifier_token
//
- case 208: { action. consumeEnumerator(false); break;
+ case 212: { action. consumeToken(); break;
}
//
- // Rule 209: enumerator ::= identifier_or_typedefname = constant_expression
+ // Rule 216: function_specifier ::= inline
//
- case 209: { action. consumeEnumerator(true); break;
+ case 216: { action. consumeToken(); break;
}
//
- // Rule 210: type_qualifier ::= type_qualifier_token
+ // Rule 218: declarator ::= <openscope-ast> pointer_seq direct_declarator
//
- case 210: { action. consumeDeclSpecToken(); break;
+ case 218: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 214: function_specifier ::= inline
+ // Rule 223: basic_direct_declarator ::= declarator_id_name
//
- case 214: { action. consumeDeclSpecToken(); break;
+ case 223: { action. consumeDirectDeclaratorIdentifier(); break;
}
//
- // Rule 216: declarator ::= <openscope-ast> pointer_seq direct_declarator
+ // Rule 224: basic_direct_declarator ::= ( declarator )
//
- case 216: { action. consumeDeclaratorWithPointer(true); break;
+ case 224: { action. consumeDirectDeclaratorBracketed(); break;
}
//
- // Rule 221: basic_direct_declarator ::= declarator_id_name
+ // Rule 225: declarator_id_name ::= identifier
//
- case 221: { action. consumeDirectDeclaratorIdentifier(); break;
+ case 225: { action. consumeIdentifierName(); break;
}
//
- // Rule 222: basic_direct_declarator ::= ( declarator )
+ // Rule 226: array_direct_declarator ::= basic_direct_declarator array_modifier
//
- case 222: { action. consumeDirectDeclaratorBracketed(); break;
+ case 226: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 223: declarator_id_name ::= identifier
+ // Rule 227: array_direct_declarator ::= array_direct_declarator array_modifier
//
- case 223: { action. consumeIdentifierName(); break;
+ case 227: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 224: array_direct_declarator ::= basic_direct_declarator array_modifier
+ // Rule 229: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list )
//
- case 224: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 229: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
}
//
- // Rule 225: array_direct_declarator ::= array_direct_declarator array_modifier
+ // Rule 230: function_direct_declarator ::= basic_direct_declarator ( )
//
- case 225: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 230: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
}
//
- // Rule 227: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list )
+ // Rule 232: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator
//
- case 227: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
+ case 232: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 228: function_direct_declarator ::= basic_direct_declarator ( )
+ // Rule 233: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list )
//
- case 228: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
+ case 233: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break;
}
//
- // Rule 230: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator
+ // Rule 235: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator
//
- case 230: { action. consumeDeclaratorWithPointer(true); break;
+ case 235: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 231: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list )
+ // Rule 236: identifier_list ::= identifier
//
- case 231: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break;
+ case 236: { action. consumeIdentifierKnR(); break;
}
//
- // Rule 233: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator
+ // Rule 237: identifier_list ::= identifier_list , identifier
//
- case 233: { action. consumeDeclaratorWithPointer(true); break;
+ case 237: { action. consumeIdentifierKnR(); break;
}
//
- // Rule 234: identifier_list ::= identifier
+ // Rule 238: array_modifier ::= [ ]
//
- case 234: { action. consumeIdentifierKnR(); break;
+ case 238: { action. consumeDirectDeclaratorArrayModifier(false); break;
}
//
- // Rule 235: identifier_list ::= identifier_list , identifier
+ // Rule 239: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ]
//
- case 235: { action. consumeIdentifierKnR(); break;
+ case 239: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break;
}
//
- // Rule 236: array_modifier ::= [ ]
+ // Rule 240: array_modifier ::= [ assignment_expression ]
//
- case 236: { action. consumeDirectDeclaratorArrayModifier(false); break;
+ case 240: { action. consumeDirectDeclaratorArrayModifier(true); break;
}
//
- // Rule 237: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ]
+ // Rule 241: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
//
- case 237: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break;
+ case 241: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break;
}
//
- // Rule 238: array_modifier ::= [ assignment_expression ]
+ // Rule 242: array_modifier ::= [ static assignment_expression ]
//
- case 238: { action. consumeDirectDeclaratorArrayModifier(true); break;
+ case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break;
}
//
- // Rule 239: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
+ // Rule 243: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
//
- case 239: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break;
+ case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break;
}
//
- // Rule 240: array_modifier ::= [ static assignment_expression ]
+ // Rule 244: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ]
//
- case 240: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break;
+ case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break;
}
//
- // Rule 241: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
+ // Rule 245: array_modifier ::= [ * ]
//
- case 241: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break;
+ case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break;
}
//
- // Rule 242: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ]
+ // Rule 246: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ]
//
- case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break;
+ case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break;
}
//
- // Rule 243: array_modifier ::= [ * ]
+ // Rule 248: pointer_seq ::= pointer_hook * pointer_hook
//
- case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break;
+ case 248: { action. consumePointer(); break;
}
//
- // Rule 244: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ]
+ // Rule 249: pointer_seq ::= pointer_seq pointer_hook * pointer_hook
//
- case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break;
+ case 249: { action. consumePointer(); break;
}
//
- // Rule 246: pointer_seq ::= *
+ // Rule 250: pointer_seq ::= pointer_hook * pointer_hook <openscope-ast> type_qualifier_list
//
- case 246: { action. consumePointer(); break;
+ case 250: { action. consumePointerTypeQualifierList(); break;
}
//
- // Rule 247: pointer_seq ::= pointer_seq *
+ // Rule 251: pointer_seq ::= pointer_seq pointer_hook * pointer_hook <openscope-ast> type_qualifier_list
//
- case 247: { action. consumePointer(); break;
+ case 251: { action. consumePointerTypeQualifierList(); break;
}
//
- // Rule 248: pointer_seq ::= * <openscope-ast> type_qualifier_list
+ // Rule 255: parameter_type_list ::= parameter_list
//
- case 248: { action. consumePointerTypeQualifierList(); break;
+ case 255: { action. consumeEmpty(); break;
}
//
- // Rule 249: pointer_seq ::= pointer_seq * <openscope-ast> type_qualifier_list
+ // Rule 256: parameter_type_list ::= parameter_list , ...
//
- case 249: { action. consumePointerTypeQualifierList(); break;
+ case 256: { action. consumePlaceHolder(); break;
}
//
- // Rule 252: parameter_type_list ::= parameter_list
+ // Rule 257: parameter_type_list ::= ...
//
- case 252: { action. consumeEmpty(); break;
+ case 257: { action. consumePlaceHolder(); break;
}
//
- // Rule 253: parameter_type_list ::= parameter_list , ...
+ // Rule 260: parameter_declaration ::= declaration_specifiers complete_parameter_declarator
//
- case 253: { action. consumePlaceHolder(); break;
+ case 260: { action. consumeParameterDeclaration(); break;
}
//
- // Rule 254: parameter_type_list ::= ...
+ // Rule 261: parameter_declaration ::= declaration_specifiers
//
- case 254: { action. consumePlaceHolder(); break;
+ case 261: { action. consumeParameterDeclarationWithoutDeclarator(); break;
}
//
- // Rule 257: parameter_declaration ::= declaration_specifiers complete_parameter_declarator
+ // Rule 264: type_id ::= specifier_qualifier_list
//
- case 257: { action. consumeParameterDeclaration(); break;
+ case 264: { action. consumeTypeId(false); break;
}
//
- // Rule 258: parameter_declaration ::= declaration_specifiers
+ // Rule 265: type_id ::= specifier_qualifier_list abstract_declarator
//
- case 258: { action. consumeParameterDeclarationWithoutDeclarator(); break;
+ case 265: { action. consumeTypeId(true); break;
}
//
- // Rule 261: type_name ::= specifier_qualifier_list
+ // Rule 267: abstract_declarator ::= <openscope-ast> pointer_seq
//
- case 261: { action. consumeTypeId(false); break;
+ case 267: { action. consumeDeclaratorWithPointer(false); break;
}
//
- // Rule 262: type_name ::= specifier_qualifier_list abstract_declarator
+ // Rule 268: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator
//
- case 262: { action. consumeTypeId(true); break;
+ case 268: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 264: abstract_declarator ::= <openscope-ast> pointer_seq
+ // Rule 272: basic_direct_abstract_declarator ::= ( abstract_declarator )
//
- case 264: { action. consumeDeclaratorWithPointer(false); break;
+ case 272: { action. consumeDirectDeclaratorBracketed(); break;
}
//
- // Rule 265: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator
+ // Rule 273: array_direct_abstract_declarator ::= array_modifier
//
- case 265: { action. consumeDeclaratorWithPointer(false); break;
+ case 273: { action. consumeDirectDeclaratorArrayDeclarator(false); break;
}
//
- // Rule 269: basic_direct_abstract_declarator ::= ( abstract_declarator )
+ // Rule 274: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
//
- case 269: { action. consumeDirectDeclaratorBracketed(); break;
+ case 274: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 270: array_direct_abstract_declarator ::= array_modifier
+ // Rule 275: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
//
- case 270: { action. consumeDirectDeclaratorArrayDeclarator(false); break;
+ case 275: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 271: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
+ // Rule 276: function_direct_abstract_declarator ::= ( )
//
- case 271: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 276: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break;
+ }
+
+ //
+ // Rule 277: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( )
+ //
+ case 277: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
}
//
- // Rule 272: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
+ // Rule 278: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list )
//
- case 272: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 278: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break;
}
//
- // Rule 273: function_direct_abstract_declarator ::= ( )
+ // Rule 279: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list )
//
- case 273: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break;
- }
+ case 279: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
+ }
//
- // Rule 274: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( )
+ // Rule 280: initializer ::= assignment_expression
//
- case 274: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
+ case 280: { action. consumeInitializer(); break;
}
//
- // Rule 275: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list )
+ // Rule 282: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq comma_opt } end_initializer_list
//
- case 275: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break;
+ case 282: { action. consumeInitializerList(); break;
}
//
- // Rule 276: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list )
+ // Rule 283: initializer_list ::= { <openscope-ast> }
//
- case 276: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
+ case 283: { action. consumeInitializerList(); break;
}
//
- // Rule 277: initializer ::= assignment_expression
+ // Rule 284: start_initializer_list ::= $Empty
//
- case 277: { action. consumeInitializer(); break;
+ case 284: { action. initializerListStart(); break;
}
//
- // Rule 278: initializer ::= { <openscope-ast> initializer_list comma_opt }
+ // Rule 285: end_initializer_list ::= $Empty
//
- case 278: { action. consumeInitializerList(); break;
+ case 285: { action. initializerListEnd(); break;
}
//
- // Rule 283: designated_initializer ::= <openscope-ast> designation = initializer
+ // Rule 290: designated_initializer ::= <openscope-ast> designation = initializer
//
- case 283: { action. consumeInitializerDesignated(); break;
+ case 290: { action. consumeInitializerDesignated(); break;
}
//
- // Rule 287: designator_base ::= [ constant_expression ]
+ // Rule 294: designator_base ::= [ constant_expression ]
//
- case 287: { action. consumeDesignatorArray(); break;
+ case 294: { action. consumeDesignatorArray(); break;
}
//
- // Rule 288: designator_base ::= . identifier_or_typedefname
+ // Rule 295: designator_base ::= . identifier_token
//
- case 288: { action. consumeDesignatorField(); break;
+ case 295: { action. consumeDesignatorField(); break;
}
//
- // Rule 289: designator ::= [ constant_expression ]
+ // Rule 296: designator ::= [ constant_expression ]
//
- case 289: { action. consumeDesignatorArray(); break;
+ case 296: { action. consumeDesignatorArray(); break;
}
//
- // Rule 290: designator ::= . identifier_or_typedefname
+ // Rule 297: designator ::= . identifier_token
//
- case 290: { action. consumeDesignatorField(); break;
+ case 297: { action. consumeDesignatorField(); break;
}
//
- // Rule 291: translation_unit ::= external_declaration_list
+ // Rule 298: translation_unit ::= external_declaration_list
//
- case 291: { action. consumeTranslationUnit(); break;
+ case 298: { action. consumeTranslationUnit(); break;
}
//
- // Rule 292: translation_unit ::= $Empty
+ // Rule 299: translation_unit ::= $Empty
//
- case 292: { action. consumeTranslationUnit(); break;
+ case 299: { action. consumeTranslationUnit(); break;
}
//
- // Rule 297: external_declaration ::= ;
+ // Rule 304: external_declaration ::= ;
//
- case 297: { action. consumeDeclarationEmpty(); break;
+ case 304: { action. consumeDeclarationEmpty(); break;
}
//
- // Rule 298: external_declaration ::= ERROR_TOKEN
+ // Rule 305: external_declaration ::= ERROR_TOKEN
//
- case 298: { action. consumeDeclarationProblem(); break;
+ case 305: { action. consumeDeclarationProblem(); break;
}
//
- // Rule 301: function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body
+ // Rule 309: function_definition ::= <openscope-ast> function_declarator function_body
//
- case 301: { action. consumeFunctionDefinition(true); break;
+ case 309: { action. consumeFunctionDefinition(false); break;
}
//
- // Rule 302: function_definition ::= <openscope-ast> function_declarator function_body
+ // Rule 310: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement
//
- case 302: { action. consumeFunctionDefinition(false); break;
+ case 310: { action. consumeFunctionDefinitionKnR(); break;
}
//
- // Rule 303: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement
+ // Rule 311: normal_function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body
//
- case 303: { action. consumeFunctionDefinitionKnR(); break;
+ case 311: { action. consumeFunctionDefinition(true); break;
}
//
- // Rule 304: function_body ::= { }
+ // Rule 312: function_body ::= { }
//
- case 304: { action. consumeStatementCompoundStatement(false); break;
+ case 312: { action. consumeStatementCompoundStatement(false); break;
}
//
- // Rule 305: function_body ::= { <openscope-ast> block_item_list }
+ // Rule 313: function_body ::= { <openscope-ast> block_item_list }
//
- case 305: { action. consumeStatementCompoundStatement(true); break;
+ case 313: { action. consumeStatementCompoundStatement(true); break;
}
//
- // Rule 307: no_sizeof_type_name_start ::= ERROR_TOKEN
+ // Rule 315: no_sizeof_type_id_start ::= ERROR_TOKEN
//
- case 307: { action. consumeExpressionProblem(); break;
+ case 315: { action. consumeEmpty(); break;
}
//
- // Rule 308: literal ::= MYTHREAD
+ // Rule 316: literal ::= MYTHREAD
//
- case 308: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_mythread); break;
+ case 316: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_mythread); break;
}
//
- // Rule 309: literal ::= THREADS
+ // Rule 317: literal ::= THREADS
//
- case 309: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_threads); break;
+ case 317: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_threads); break;
}
//
- // Rule 310: literal ::= UPC_MAX_BLOCKSIZE
+ // Rule 318: literal ::= UPC_MAX_BLOCKSIZE
//
- case 310: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_upc_max_block_size); break;
+ case 318: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_upc_max_block_size); break;
}
//
- // Rule 311: unary_expression ::= upc_localsizeof unary_expression
+ // Rule 319: unary_expression ::= upc_localsizeof unary_expression
//
- case 311: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_localsizeof); break;
+ case 319: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_localsizeof); break;
}
//
- // Rule 312: unary_expression ::= upc_blocksizeof unary_expression
+ // Rule 320: unary_expression ::= upc_blocksizeof unary_expression
//
- case 312: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_blocksizeof); break;
+ case 320: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_blocksizeof); break;
}
//
- // Rule 313: unary_expression ::= upc_elemsizeof unary_expression
+ // Rule 321: unary_expression ::= upc_elemsizeof unary_expression
//
- case 313: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_elemsizeof); break;
+ case 321: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_elemsizeof); break;
}
//
- // Rule 317: shared_type_qualifier ::= shared
+ // Rule 325: shared_type_qualifier ::= shared
//
- case 317: { action. consumeToken(); break;
+ case 325: { action. consumeToken(); break;
}
//
- // Rule 318: reference_type_qualifier ::= relaxed
+ // Rule 326: reference_type_qualifier ::= relaxed
//
- case 318: { action. consumeToken(); break;
+ case 326: { action. consumeToken(); break;
}
//
- // Rule 319: reference_type_qualifier ::= strict
+ // Rule 327: reference_type_qualifier ::= strict
//
- case 319: { action. consumeToken(); break;
+ case 327: { action. consumeToken(); break;
}
//
- // Rule 320: layout_qualifier ::= [ constant_expression ]
+ // Rule 328: layout_qualifier ::= [ constant_expression ]
//
- case 320: { action. consumeLayoutQualifier(true, false); break;
+ case 328: { action. consumeLayoutQualifier(true, false); break;
}
//
- // Rule 321: layout_qualifier ::= [ * ]
+ // Rule 329: layout_qualifier ::= [ * ]
//
- case 321: { action. consumeLayoutQualifier(false, true); break;
+ case 329: { action. consumeLayoutQualifier(false, true); break;
}
//
- // Rule 322: layout_qualifier ::= [ ]
+ // Rule 330: layout_qualifier ::= [ ]
//
- case 322: { action. consumeLayoutQualifier(false, false); break;
+ case 330: { action. consumeLayoutQualifier(false, false); break;
}
//
- // Rule 324: synchronization_statement ::= upc_notify expression ;
+ // Rule 332: synchronization_statement ::= upc_notify expression ;
//
- case 324: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, true); break;
+ case 332: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, true); break;
}
//
- // Rule 325: synchronization_statement ::= upc_notify ;
+ // Rule 333: synchronization_statement ::= upc_notify ;
//
- case 325: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, false); break;
+ case 333: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, false); break;
}
//
- // Rule 326: synchronization_statement ::= upc_wait expression ;
+ // Rule 334: synchronization_statement ::= upc_wait expression ;
//
- case 326: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, true); break;
+ case 334: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, true); break;
}
//
- // Rule 327: synchronization_statement ::= upc_wait ;
+ // Rule 335: synchronization_statement ::= upc_wait ;
//
- case 327: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, false); break;
+ case 335: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, false); break;
}
//
- // Rule 328: synchronization_statement ::= upc_barrier expression ;
+ // Rule 336: synchronization_statement ::= upc_barrier expression ;
//
- case 328: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, true); break;
+ case 336: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, true); break;
}
//
- // Rule 329: synchronization_statement ::= upc_barrier ;
+ // Rule 337: synchronization_statement ::= upc_barrier ;
//
- case 329: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, false); break;
+ case 337: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, false); break;
}
//
- // Rule 330: synchronization_statement ::= upc_fence ;
+ // Rule 338: synchronization_statement ::= upc_fence ;
//
- case 330: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_fence, false); break;
+ case 338: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_fence, false); break;
}
//
- // Rule 331: iteration_statement ::= upc_forall ( expression ; expression ; expression ; affinity ) statement
+ // Rule 339: iteration_statement ::= upc_forall ( expression ; expression ; expression ; affinity ) statement
//
- case 331: { action. consumeStatementUPCForallLoop(true, true, true, true); break;
+ case 339: { action. consumeStatementUPCForallLoop(true, true, true, true); break;
}
//
- // Rule 332: iteration_statement ::= upc_forall ( expression ; expression ; expression ; ) statement
+ // Rule 340: iteration_statement ::= upc_forall ( expression ; expression ; expression ; ) statement
//
- case 332: { action. consumeStatementUPCForallLoop(true, true, true, false); break;
+ case 340: { action. consumeStatementUPCForallLoop(true, true, true, false); break;
}
//
- // Rule 333: iteration_statement ::= upc_forall ( expression ; expression ; ; affinity ) statement
+ // Rule 341: iteration_statement ::= upc_forall ( expression ; expression ; ; affinity ) statement
//
- case 333: { action. consumeStatementUPCForallLoop(true, true, false, true); break;
+ case 341: { action. consumeStatementUPCForallLoop(true, true, false, true); break;
}
//
- // Rule 334: iteration_statement ::= upc_forall ( expression ; expression ; ; ) statement
+ // Rule 342: iteration_statement ::= upc_forall ( expression ; expression ; ; ) statement
//
- case 334: { action. consumeStatementUPCForallLoop(true, true, false, false); break;
+ case 342: { action. consumeStatementUPCForallLoop(true, true, false, false); break;
}
//
- // Rule 335: iteration_statement ::= upc_forall ( expression ; ; expression ; affinity ) statement
+ // Rule 343: iteration_statement ::= upc_forall ( expression ; ; expression ; affinity ) statement
//
- case 335: { action. consumeStatementUPCForallLoop(true, false, true, true); break;
+ case 343: { action. consumeStatementUPCForallLoop(true, false, true, true); break;
}
//
- // Rule 336: iteration_statement ::= upc_forall ( expression ; ; expression ; ) statement
+ // Rule 344: iteration_statement ::= upc_forall ( expression ; ; expression ; ) statement
//
- case 336: { action. consumeStatementUPCForallLoop(true, false, true, false); break;
+ case 344: { action. consumeStatementUPCForallLoop(true, false, true, false); break;
}
//
- // Rule 337: iteration_statement ::= upc_forall ( expression ; ; ; affinity ) statement
+ // Rule 345: iteration_statement ::= upc_forall ( expression ; ; ; affinity ) statement
//
- case 337: { action. consumeStatementUPCForallLoop(true, false, false, true); break;
+ case 345: { action. consumeStatementUPCForallLoop(true, false, false, true); break;
}
//
- // Rule 338: iteration_statement ::= upc_forall ( expression ; ; ; ) statement
+ // Rule 346: iteration_statement ::= upc_forall ( expression ; ; ; ) statement
//
- case 338: { action. consumeStatementUPCForallLoop(true, false, false, false); break;
+ case 346: { action. consumeStatementUPCForallLoop(true, false, false, false); break;
}
//
- // Rule 339: iteration_statement ::= upc_forall ( ; expression ; expression ; affinity ) statement
+ // Rule 347: iteration_statement ::= upc_forall ( ; expression ; expression ; affinity ) statement
//
- case 339: { action. consumeStatementUPCForallLoop(false, true, true, true); break;
+ case 347: { action. consumeStatementUPCForallLoop(false, true, true, true); break;
}
//
- // Rule 340: iteration_statement ::= upc_forall ( ; expression ; expression ; ) statement
+ // Rule 348: iteration_statement ::= upc_forall ( ; expression ; expression ; ) statement
//
- case 340: { action. consumeStatementUPCForallLoop(false, true, true, false); break;
+ case 348: { action. consumeStatementUPCForallLoop(false, true, true, false); break;
}
//
- // Rule 341: iteration_statement ::= upc_forall ( ; expression ; ; affinity ) statement
+ // Rule 349: iteration_statement ::= upc_forall ( ; expression ; ; affinity ) statement
//
- case 341: { action. consumeStatementUPCForallLoop(false, true, false, true); break;
+ case 349: { action. consumeStatementUPCForallLoop(false, true, false, true); break;
}
//
- // Rule 342: iteration_statement ::= upc_forall ( ; expression ; ; ) statement
+ // Rule 350: iteration_statement ::= upc_forall ( ; expression ; ; ) statement
//
- case 342: { action. consumeStatementUPCForallLoop(false, true, false, false); break;
+ case 350: { action. consumeStatementUPCForallLoop(false, true, false, false); break;
}
//
- // Rule 343: iteration_statement ::= upc_forall ( ; ; expression ; affinity ) statement
+ // Rule 351: iteration_statement ::= upc_forall ( ; ; expression ; affinity ) statement
//
- case 343: { action. consumeStatementUPCForallLoop(false, false, true, true); break;
+ case 351: { action. consumeStatementUPCForallLoop(false, false, true, true); break;
}
//
- // Rule 344: iteration_statement ::= upc_forall ( ; ; expression ; ) statement
+ // Rule 352: iteration_statement ::= upc_forall ( ; ; expression ; ) statement
//
- case 344: { action. consumeStatementUPCForallLoop(false, false, true, false); break;
+ case 352: { action. consumeStatementUPCForallLoop(false, false, true, false); break;
}
//
- // Rule 345: iteration_statement ::= upc_forall ( ; ; ; affinity ) statement
+ // Rule 353: iteration_statement ::= upc_forall ( ; ; ; affinity ) statement
//
- case 345: { action. consumeStatementUPCForallLoop(false, false, false, true); break;
+ case 353: { action. consumeStatementUPCForallLoop(false, false, false, true); break;
}
//
- // Rule 346: iteration_statement ::= upc_forall ( ; ; ; ) statement
+ // Rule 354: iteration_statement ::= upc_forall ( ; ; ; ) statement
//
- case 346: { action. consumeStatementUPCForallLoop(false, false, false, false); break;
+ case 354: { action. consumeStatementUPCForallLoop(false, false, false, false); break;
}
//
- // Rule 347: iteration_statement ::= upc_forall ( declaration expression ; expression ; affinity ) statement
+ // Rule 355: iteration_statement ::= upc_forall ( declaration expression ; expression ; affinity ) statement
//
- case 347: { action. consumeStatementUPCForallLoop(true, true, true, true); break;
+ case 355: { action. consumeStatementUPCForallLoop(true, true, true, true); break;
}
//
- // Rule 348: iteration_statement ::= upc_forall ( declaration expression ; expression ; ) statement
+ // Rule 356: iteration_statement ::= upc_forall ( declaration expression ; expression ; ) statement
//
- case 348: { action. consumeStatementUPCForallLoop(true, true, true, false); break;
+ case 356: { action. consumeStatementUPCForallLoop(true, true, true, false); break;
}
//
- // Rule 349: iteration_statement ::= upc_forall ( declaration expression ; ; affinity ) statement
+ // Rule 357: iteration_statement ::= upc_forall ( declaration expression ; ; affinity ) statement
//
- case 349: { action. consumeStatementUPCForallLoop(true, true, false, true); break;
+ case 357: { action. consumeStatementUPCForallLoop(true, true, false, true); break;
}
//
- // Rule 350: iteration_statement ::= upc_forall ( declaration expression ; ; ) statement
+ // Rule 358: iteration_statement ::= upc_forall ( declaration expression ; ; ) statement
//
- case 350: { action. consumeStatementUPCForallLoop(true, true, false, false); break;
+ case 358: { action. consumeStatementUPCForallLoop(true, true, false, false); break;
}
//
- // Rule 351: iteration_statement ::= upc_forall ( declaration ; expression ; affinity ) statement
+ // Rule 359: iteration_statement ::= upc_forall ( declaration ; expression ; affinity ) statement
//
- case 351: { action. consumeStatementUPCForallLoop(true, false, true, true); break;
+ case 359: { action. consumeStatementUPCForallLoop(true, false, true, true); break;
}
//
- // Rule 352: iteration_statement ::= upc_forall ( declaration ; expression ; ) statement
+ // Rule 360: iteration_statement ::= upc_forall ( declaration ; expression ; ) statement
//
- case 352: { action. consumeStatementUPCForallLoop(true, false, true, false); break;
+ case 360: { action. consumeStatementUPCForallLoop(true, false, true, false); break;
}
//
- // Rule 353: iteration_statement ::= upc_forall ( declaration ; ; affinity ) statement
+ // Rule 361: iteration_statement ::= upc_forall ( declaration ; ; affinity ) statement
//
- case 353: { action. consumeStatementUPCForallLoop(true, false, false, true); break;
+ case 361: { action. consumeStatementUPCForallLoop(true, false, false, true); break;
}
//
- // Rule 354: iteration_statement ::= upc_forall ( declaration ; ; ) statement
+ // Rule 362: iteration_statement ::= upc_forall ( declaration ; ; ) statement
//
- case 354: { action. consumeStatementUPCForallLoop(true, false, false, false); break;
+ case 362: { action. consumeStatementUPCForallLoop(true, false, false, false); break;
}
//
- // Rule 356: affinity ::= continue
+ // Rule 364: affinity ::= continue
//
- case 356: { action. consumeToken(); break;
+ case 364: { 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 06762d0bdf5..3af252ab07d 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, 2008 IBM Corporation and others.
+* Copyright (c) 2006, 2009 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -35,187 +35,196 @@ public class UPCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface BaseCheck {
public final static short baseCheck[] = {0,
- 0,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,3,1,1,1,4,
- 4,3,3,2,2,8,1,0,1,1,
- 1,2,2,2,2,2,2,2,2,2,
- 1,4,1,3,3,3,1,3,3,1,
- 3,3,1,3,3,3,3,1,3,3,
- 1,3,1,3,1,3,1,3,1,3,
- 1,5,1,3,3,3,3,3,3,3,
- 3,3,3,3,1,1,2,1,0,1,
- 3,1,1,1,1,1,1,1,1,3,
- 3,2,2,4,1,2,1,1,1,2,
- 5,7,5,1,0,7,5,9,8,3,
- 2,2,2,3,2,4,2,2,2,2,
- 2,1,1,1,1,2,1,2,2,2,
- 1,2,2,1,2,2,1,2,2,1,
- 2,2,1,3,1,3,1,1,1,1,
+ 0,0,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,3,1,
+ 1,4,4,3,3,2,2,4,1,0,
+ 1,1,2,2,2,2,2,2,2,2,
+ 2,1,4,1,3,3,3,1,3,3,
+ 1,3,3,1,3,3,3,3,1,3,
+ 3,1,3,1,3,1,3,1,3,1,
+ 3,1,5,1,3,3,3,3,3,3,
+ 3,3,3,3,3,1,1,2,1,0,
+ 1,3,1,1,1,1,1,1,1,1,
+ 3,4,3,2,4,1,2,1,1,1,
+ 2,5,7,5,1,0,7,5,9,8,
+ 3,2,2,2,3,2,4,2,2,2,
+ 2,2,1,1,1,1,2,1,2,2,
+ 2,1,2,2,1,2,2,1,2,2,
+ 1,2,2,1,3,1,3,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 5,5,6,6,2,2,2,1,0,1,
- 2,4,2,1,1,1,3,1,1,2,
- 3,6,7,1,0,1,3,1,3,1,
- 1,1,1,1,1,3,1,1,1,1,
- 1,3,1,2,2,1,5,3,1,3,
- 5,1,3,1,3,2,4,3,5,4,
- 6,6,3,5,1,1,2,3,4,1,
- 2,1,3,1,1,3,2,1,1,1,
- 1,2,1,2,3,1,1,1,3,1,
- 2,2,2,3,4,5,1,5,1,1,
- 3,3,4,1,1,2,3,2,3,2,
- 1,0,1,2,1,1,1,1,1,2,
- 4,3,6,2,4,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,-72,0,0,0,0,
- 0,0,0,0,0,0,-2,0,0,0,
- 0,-4,-17,-19,-77,0,0,0,0,0,
- -126,0,0,0,0,0,0,0,0,0,
+ 1,1,1,1,1,1,1,1,6,8,
+ 0,0,1,1,3,3,3,0,1,0,
+ 1,2,4,2,1,1,1,3,1,1,
+ 2,3,7,8,0,1,0,1,3,1,
+ 3,1,1,1,1,1,1,3,1,1,
+ 1,1,1,3,1,2,2,1,5,3,
+ 1,3,5,1,3,1,3,2,4,3,
+ 5,4,6,6,3,5,1,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,
+ 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,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,0,0,-5,0,0,0,0,0,0,
- 0,0,0,-6,0,0,0,0,0,0,
- 0,0,0,0,0,0,-3,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,0,
- 0,0,0,0,0,0,-20,-21,0,-22,
- -23,-24,0,-177,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,-172,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,-7,0,0,0,0,0,0,
- -40,0,0,0,0,0,0,0,0,-25,
- -26,-27,-51,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-28,-29,0,-52,
- 0,0,0,0,0,0,0,0,-74,0,
- 0,0,-75,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,0,0,
- 0,0,0,-135,-111,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-89,0,
- -90,-78,-32,0,0,0,0,-192,0,0,
- 0,0,0,0,0,0,-91,0,0,0,
+ -112,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,
- -9,0,0,0,0,0,0,0,0,0,
- 0,0,0,-118,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,-131,0,0,0,0,0,
- 0,0,0,-92,0,0,0,0,0,0,
- 0,0,0,0,0,-93,0,-30,0,0,
- 0,0,0,0,0,0,-112,0,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,-60,0,0,
- 0,0,0,0,0,0,-130,0,0,0,
- 0,0,0,0,0,0,0,-61,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,0,
- 0,0,0,0,0,0,0,-62,0,0,
- 0,0,0,0,0,0,-138,0,0,0,
- 0,0,0,0,0,0,0,-63,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,
- 0,0,0,0,0,0,0,-64,0,0,
- 0,0,0,0,0,0,-153,0,0,0,
- 0,0,0,0,0,0,0,-65,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,0,0,0,0,0,-66,0,0,
- 0,0,0,0,0,0,-179,0,0,0,
- 0,0,0,0,0,0,0,-67,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,0,0,0,-68,0,0,
- 0,0,0,0,0,0,-94,0,0,0,
- 0,0,0,0,0,0,0,-69,0,0,
- 0,0,0,0,0,0,-147,0,0,0,
- 0,0,0,0,0,0,0,-151,0,0,
- 0,0,0,0,0,0,-95,0,0,0,
- 0,0,0,0,0,0,0,-152,0,0,
- 0,0,0,0,0,0,-146,0,0,0,
- 0,0,0,0,0,0,0,-175,0,0,
- 0,0,0,0,0,0,-83,0,0,0,
- 0,0,0,0,0,0,-189,0,0,0,
- 0,0,0,0,0,-167,0,0,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,-49,0,0,0,0,0,0,0,0,
- -195,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-199,
+ 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,-96,-97,
- -33,-158,-191,0,-50,0,0,0,0,0,
- 0,0,0,-209,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,0,
- 0,0,-125,0,0,0,0,0,0,0,
- 0,-98,0,0,0,0,0,0,0,0,
- 0,-134,0,-99,-84,0,0,-100,-128,-101,
- 0,-57,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,
- 0,0,0,0,-155,-117,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-162,
- 0,-41,0,0,0,0,0,0,0,0,
- 0,0,-180,0,-196,-86,-36,-159,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,0,-15,0,0,0,0,0,
- 0,0,-88,0,0,-37,0,-58,0,0,
- 0,0,0,0,0,0,-174,0,0,0,
- 0,0,0,0,0,0,0,0,-194,0,
- 0,-81,0,0,0,0,-54,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-184,0,0,0,0,0,0,0,-102,
- -103,0,0,0,0,0,0,0,0,-55,
+ 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,0,0,-82,-186,-76,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-208,
- -108,-70,-183,-71,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-115,-133,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,-104,0,0,-190,-79,-166,0,0,-53,
- 0,0,0,0,0,0,0,0,-105,0,
- 0,-110,-106,-120,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,0,0,0,0,0,0,
- 0,-45,0,0,0,0,0,0,0,0,
- -80,0,-10,0,0,0,0,0,0,0,
- -210,0,-46,0,0,0,0,0,0,0,
- 0,0,0,-47,0,0,0,0,0,0,
- 0,0,-85,0,-48,0,0,0,0,0,
- 0,0,0,-201,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-107,-38,-122,
- -123,-127,0,0,0,0,-87,0,0,0,
- 0,-114,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-140,0,0,0,
- 0,0,0,-119,0,0,0,0,0,0,
- -132,-121,0,0,0,0,-139,0,0,0,
- 0,0,0,-154,0,0,0,0,0,0,
- 0,0,0,0,0,-124,0,-16,0,0,
- 0,0,0,0,-11,0,0,0,0,0,
- 0,-12,0,0,0,0,0,0,-13,0,
- 0,0,0,0,0,-14,0,0,0,0,
- 0,0,-18,-31,-42,0,0,0,0,0,
- 0,0,0,-43,0,0,0,0,0,0,
- -44,0,0,0,0,0,0,-193,0,0,
- -142,-176,-145,-148,-163,-136,0,0,-113,0,
- -116,0,0,0,0,0,-129,0,-168,0,
- 0,0,-73,0,0,0,0,0,0,0,
- 0,0,0,-141,-169,-171,0,0,0,0,
- 0,-160,0,0,0,-34,-143,-1,-161,-173,
- -204,-165,-156,-181,0,0,0,0,-200,0,
- 0,0,0,0,-211,0,0,0,0,0,
- 0,0,0,0,0,-109,0,0,0,0,
- 0,0,0,0,-182,0,-157,0,-197,0,
- 0,0,0,0,0,0,0,0,0,-185,
- 0,0,0,0,0,0,0,-137,0,0,
- 0,-187,-144,0,0,-170,0,-198,-188,0,
- 0,0,0,0,-202,0,0,0,-164,-149,
- 0,0,0,0,-150,0,0,0,0,0,
- 0,0,-206,0,0,0,0,0,-178,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,
+ 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,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,
- -203,0,0,-205,-35,-56,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,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,
+ 0,0
};
};
public final static short baseCheck[] = BaseCheck.baseCheck;
@@ -225,189 +234,197 @@ public class UPCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface BaseAction {
public final static char baseAction[] = {
- 85,9,20,20,25,25,28,28,69,69,
- 1,1,1,1,2,2,2,3,3,4,
- 4,4,4,4,4,4,4,53,53,70,
- 70,5,5,5,5,5,5,5,5,5,
- 5,6,6,7,7,7,7,8,8,8,
- 10,10,10,11,11,11,11,11,12,12,
- 12,13,13,14,14,15,15,16,16,17,
- 17,18,18,19,19,19,19,19,19,19,
- 19,19,19,19,19,96,48,42,86,86,
- 73,73,43,97,97,97,97,97,97,97,
- 98,98,98,99,99,104,104,105,105,100,
- 100,101,101,101,107,107,102,102,102,102,
- 103,103,103,103,103,106,106,26,26,26,
- 26,26,30,30,30,79,79,74,74,74,
- 74,75,75,75,76,76,76,77,77,77,
- 78,78,78,108,108,109,109,110,31,33,
- 33,33,33,33,54,56,56,56,56,56,
- 56,56,56,56,56,56,56,66,66,29,
- 29,63,63,63,63,64,64,64,57,57,
- 58,58,50,50,50,34,87,87,80,81,
- 81,81,65,65,82,82,83,83,67,67,
- 21,22,22,22,32,49,49,35,35,35,
- 35,38,38,40,36,36,37,41,41,111,
- 111,39,112,112,88,88,27,27,27,27,
- 27,27,27,27,27,84,51,51,51,51,
- 60,60,59,59,59,61,61,52,52,89,
- 89,71,71,62,62,62,44,44,44,45,
- 46,46,46,47,47,47,47,55,55,72,
- 72,72,72,68,90,91,91,92,92,93,
- 93,113,113,114,114,115,115,115,115,117,
- 117,116,116,116,118,118,85,85,1,1,
- 1,5,5,5,21,21,23,23,24,24,
- 94,94,94,97,119,119,119,119,119,119,
- 119,102,102,102,102,102,102,102,102,102,
- 102,102,102,102,102,102,102,102,102,102,
- 102,102,102,102,102,120,120,1,14,19,
- 15,383,538,43,457,384,982,460,458,462,
- 461,521,520,537,522,73,90,230,133,210,
- 314,315,353,920,70,38,20,135,132,134,
- 158,710,14,19,15,383,538,43,457,384,
- 927,460,458,462,461,521,520,537,522,73,
- 277,137,271,164,823,14,19,15,383,313,
- 141,144,147,150,823,14,19,15,383,312,
- 382,1356,1242,1294,1433,1467,1213,786,14,19,
- 15,383,538,43,457,384,279,460,458,462,
- 461,521,520,537,522,73,90,483,305,280,
- 68,223,333,967,710,14,19,15,383,538,
- 43,457,384,927,460,458,462,461,521,520,
- 537,522,73,277,470,14,19,15,383,538,
- 43,457,384,927,460,458,462,461,521,520,
- 537,522,73,277,823,14,19,15,383,311,
- 382,786,14,19,15,383,41,43,617,279,
- 14,296,105,786,14,19,15,383,41,43,
- 457,384,280,460,458,1124,1185,166,228,281,
- 786,14,19,15,383,41,43,457,384,441,
- 460,1128,282,394,14,19,15,383,538,43,
- 457,384,1599,460,458,462,461,521,520,537,
- 522,73,707,236,340,860,14,19,15,383,
- 538,43,457,384,1607,460,458,462,461,521,
- 520,537,522,73,747,133,210,314,315,897,
- 1666,919,114,141,135,132,134,158,748,14,
- 19,15,383,538,43,457,384,803,460,458,
- 462,461,521,520,537,522,73,277,137,272,
- 164,823,14,19,15,383,40,141,144,147,
- 150,786,14,19,15,383,41,39,1356,1242,
- 1294,1433,1467,1213,597,14,19,15,383,41,
- 43,457,384,283,460,458,462,461,521,520,
- 537,522,92,23,322,432,14,19,15,383,
- 538,43,457,384,941,460,458,462,461,521,
- 520,537,522,73,827,237,143,787,786,14,
- 19,15,383,538,43,457,384,982,460,458,
- 462,461,521,520,537,522,73,91,786,14,
- 19,15,383,538,43,457,384,238,460,458,
- 462,461,521,520,537,522,73,84,786,14,
- 19,15,383,538,43,457,384,982,460,458,
- 462,461,521,520,537,522,73,83,786,14,
- 19,15,383,538,43,457,384,240,460,458,
- 462,461,521,520,537,522,73,82,786,14,
- 19,15,383,538,43,457,384,982,460,458,
- 462,461,521,520,537,522,73,81,786,14,
- 19,15,383,538,43,457,384,320,460,458,
- 462,461,521,520,537,522,73,80,786,14,
- 19,15,383,538,43,457,384,982,460,458,
- 462,461,521,520,537,522,73,79,786,14,
- 19,15,383,538,43,457,384,239,460,458,
- 462,461,521,520,537,522,73,78,786,14,
- 19,15,383,538,43,457,384,982,460,458,
- 462,461,521,520,537,522,73,77,786,14,
- 19,15,383,538,43,457,384,241,460,458,
- 462,461,521,520,537,522,73,76,786,14,
- 19,15,383,538,43,457,384,198,460,458,
- 462,461,521,520,537,522,73,75,786,14,
- 19,15,383,538,43,457,384,898,460,458,
- 462,461,521,520,537,522,73,74,786,14,
- 19,15,383,538,43,457,384,241,460,458,
- 462,461,521,520,537,522,73,867,786,14,
- 19,15,383,538,43,457,384,880,460,458,
- 462,461,521,520,537,522,73,1183,786,14,
- 19,15,383,41,43,457,384,317,460,458,
- 462,461,521,520,537,522,92,786,14,19,
- 15,383,41,43,457,384,946,460,458,462,
- 461,521,520,537,522,92,1494,1640,1592,285,
- 1626,1588,786,14,19,15,383,41,43,457,
- 1070,786,14,19,15,383,41,43,457,384,
- 209,460,458,462,461,521,520,537,522,92,
- 786,14,19,15,383,41,43,457,384,1709,
- 460,458,462,461,521,520,537,522,92,287,
- 753,141,441,946,1641,786,14,19,15,383,
- 41,43,457,1112,786,14,19,15,383,41,
- 43,457,384,200,460,458,462,461,521,520,
- 537,522,92,786,14,19,15,383,41,43,
- 457,384,791,460,458,462,461,521,520,537,
- 522,72,510,1262,544,374,1751,201,412,531,
- 469,1072,786,14,19,15,383,41,43,457,
- 384,22,460,458,462,461,521,520,1369,270,
- 250,210,314,315,1502,400,754,215,1643,218,
- 1677,220,221,226,1675,1698,263,602,385,268,
- 983,259,786,14,19,15,383,41,43,684,
- 273,274,270,982,260,880,652,716,935,1725,
- 215,1643,218,1677,220,221,226,574,182,263,
- 602,385,268,242,1644,823,14,19,15,383,
- 33,257,1613,340,1122,1526,716,1328,786,14,
- 19,15,383,41,43,457,384,755,460,458,
- 462,461,521,1373,133,210,314,315,1754,755,
- 256,16,71,136,132,134,158,786,14,19,
- 15,383,41,43,457,384,288,460,458,462,
- 461,1270,565,133,210,314,315,138,290,164,
- 342,415,143,132,134,158,142,145,148,151,
- 786,14,19,15,383,41,43,457,384,270,
- 460,458,462,1271,128,727,438,216,1643,218,
- 1677,220,221,226,1715,1601,265,602,385,268,
- 727,6,716,754,716,133,210,314,315,1715,
- 391,273,1679,270,146,132,134,158,716,716,
- 215,1643,218,1677,220,221,226,1458,228,21,
- 263,602,385,268,1649,215,1643,218,1677,220,
- 221,226,580,269,275,755,509,983,1328,1649,
- 786,14,19,15,383,41,43,457,384,522,
- 460,1130,356,376,6,196,198,133,210,314,
- 315,1129,1708,1624,1609,181,140,132,134,158,
- 197,198,786,14,19,15,383,41,43,457,
- 384,439,696,786,14,19,15,383,41,38,
- 139,677,164,786,14,19,15,383,41,43,
- 457,384,207,907,786,14,19,15,383,41,
- 43,457,384,185,947,786,14,19,15,383,
- 41,43,457,384,480,1069,216,1643,218,1677,
- 220,221,226,1715,133,210,314,315,162,603,
- 6,6,634,149,132,134,158,242,549,1637,
- 1703,1720,559,14,19,15,383,41,35,215,
- 1643,218,1677,220,221,226,270,6,133,210,
- 314,315,243,1644,572,316,1639,152,132,134,
- 158,944,610,263,602,385,268,559,14,19,
- 15,383,41,35,559,14,19,15,383,41,
- 35,262,251,210,314,315,646,321,823,14,
- 19,15,383,32,244,786,14,19,15,383,
- 41,37,786,14,19,15,383,41,36,786,
- 14,19,15,383,41,35,786,14,19,15,
- 383,41,34,6,6,786,14,19,15,383,
- 41,46,357,357,786,14,19,15,383,41,
- 45,786,14,19,15,383,41,44,982,195,
- 195,6,948,6,6,280,489,1459,1459,531,
- 1642,840,1706,464,1295,86,86,531,287,373,
- 574,1216,1216,672,14,19,15,383,41,42,
- 250,210,314,315,55,957,983,1122,250,210,
- 314,315,716,574,1187,1312,680,112,635,169,
- 654,982,283,718,716,437,574,437,574,692,
- 195,574,1666,255,26,257,1822,276,1595,1501,
- 1329,289,1596,195,193,195,604,1501,195,222,
- 225,1595,1822,1595,190,840,1595,171,88,912,
- 86,1170,1719,675,574,286,306,190,574,190,
- 983,938,190,270,1357,1719,1690,1719,508,1702,
- 1719,1122,983,576,224,1122,576,574,980,983,
- 265,602,385,268,1822,441,1822,1822,184,226,
- 531,1822,1314,377,1122,956,1262,255,574,1822,
- 183,255,1609,716,1329,1609,1596,202,1733,968,
- 1596,250,210,314,315,195,251,210,314,315,
- 255,983,1822,1595,983,6,6,1632,227,1596,
- 251,210,314,315,437,437,1411,1768,715,191,
- 206,1822,1822,206,1822,1822,1822,192,1822,203,
- 1739,1822,278,1822,1822,1006,1625,1822,1073,1625,
- 1822,1822,1822,231,1822,1822,1822,86,86,1822,
- 1822,1822,1822,366,1352,1822,0,317,654,0,
- 17,178,0,18,177,0,1,2045,0,1,
- 2056,0
+ 89,11,105,21,21,26,26,41,41,71,
+ 71,1,1,2,2,2,2,3,3,3,
+ 4,5,5,5,5,5,5,5,5,61,
+ 61,72,6,6,6,6,6,6,6,6,
+ 6,6,7,7,8,8,8,8,9,9,
+ 9,10,10,10,12,12,12,12,12,13,
+ 13,13,14,14,15,15,16,16,17,17,
+ 18,18,19,19,20,20,20,20,20,20,
+ 20,20,20,20,20,20,106,48,42,90,
+ 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,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
};
};
public final static char baseAction[] = BaseAction.baseAction;
@@ -418,114 +435,104 @@ public class UPCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface TermCheck {
public final static byte termCheck[] = {0,
0,1,2,3,4,0,6,7,8,9,
- 10,11,12,0,14,15,16,17,18,19,
- 20,21,22,23,24,25,26,27,28,29,
- 30,31,32,33,34,35,36,0,38,39,
+ 10,11,12,13,0,15,16,17,18,19,
+ 20,21,22,23,0,25,26,27,28,29,
+ 30,31,32,33,34,35,36,37,0,0,
40,41,42,43,44,45,46,47,48,49,
- 13,51,52,53,0,1,0,3,0,5,
- 6,7,8,9,10,11,12,0,0,0,
- 0,17,18,19,20,21,6,7,8,9,
- 10,11,12,14,15,0,73,17,18,19,
- 20,21,38,39,40,41,42,43,44,45,
- 46,47,48,49,0,51,52,53,0,55,
- 56,0,1,0,3,2,5,6,7,8,
- 9,10,11,12,57,58,13,0,17,18,
- 19,20,21,6,7,8,9,10,11,12,
- 0,1,0,3,17,18,19,20,21,38,
- 39,40,41,42,43,44,45,46,47,48,
- 49,0,51,52,53,0,55,56,0,1,
- 0,3,2,5,6,7,8,9,10,11,
- 12,77,78,13,0,17,18,19,20,21,
- 6,7,8,9,10,11,12,0,37,57,
- 58,17,18,19,20,21,38,39,40,41,
- 42,43,44,45,46,47,48,49,0,51,
- 52,53,0,55,56,0,1,0,3,0,
- 5,6,7,8,9,10,11,12,16,74,
- 0,0,17,18,19,20,21,6,7,8,
- 9,10,11,12,57,58,0,1,17,18,
- 19,20,21,38,39,40,41,42,43,44,
- 45,46,47,48,49,0,51,52,53,0,
- 55,56,0,1,5,3,0,5,6,7,
- 8,9,10,11,12,0,69,57,58,17,
- 18,19,20,21,0,0,79,80,81,82,
- 83,84,85,86,87,88,0,1,89,3,
- 38,39,40,41,42,43,44,45,46,47,
- 48,49,0,51,52,53,0,55,56,0,
- 1,0,3,57,58,6,7,8,9,10,
- 11,12,0,37,75,0,17,18,19,20,
- 21,6,7,8,9,10,11,72,64,65,
- 66,67,0,0,1,0,3,38,39,40,
- 41,42,43,44,45,46,47,48,49,0,
- 51,52,53,0,1,2,3,4,5,0,
- 1,2,70,71,5,12,54,14,15,16,
- 37,0,13,72,0,22,23,24,25,26,
- 27,28,29,30,31,32,33,34,35,36,
- 16,0,1,2,3,4,5,0,0,2,
- 0,69,5,12,4,14,15,16,73,50,
- 13,13,59,22,23,24,25,26,27,28,
- 29,30,31,32,33,34,35,36,0,0,
- 1,2,3,4,5,64,65,66,67,0,
- 1,2,0,14,15,16,4,50,0,0,
- 59,22,23,24,25,26,27,28,29,30,
- 31,32,33,34,35,36,37,0,0,0,
- 1,2,0,4,6,7,8,9,10,11,
- 12,0,13,0,55,17,18,19,20,21,
- 0,0,64,65,66,67,6,7,8,9,
- 10,11,54,0,62,63,38,39,40,41,
- 42,43,44,45,46,47,48,49,0,1,
- 2,3,4,5,0,1,2,60,4,0,
- 0,0,14,15,16,0,1,13,3,0,
+ 50,51,0,53,54,55,0,1,0,3,
+ 0,5,6,7,8,9,10,11,0,0,
+ 2,2,0,4,0,19,0,38,64,65,
+ 66,67,14,14,16,17,0,1,2,33,
+ 34,35,36,37,56,57,40,41,42,43,
+ 44,45,46,47,48,49,50,51,52,53,
+ 54,55,0,1,0,3,60,5,6,7,
+ 8,9,10,11,0,1,0,3,0,61,
+ 0,19,6,7,8,9,10,11,64,65,
+ 66,67,70,71,76,33,34,35,36,37,
+ 74,0,40,41,42,43,44,45,46,47,
+ 48,49,50,51,52,53,54,55,0,1,
+ 0,3,60,5,6,7,8,9,10,11,
+ 0,1,0,0,1,0,3,19,6,7,
+ 8,9,10,11,64,65,66,67,70,71,
+ 0,33,34,35,36,37,0,24,40,41,
+ 42,43,44,45,46,47,48,49,50,51,
+ 52,53,54,55,0,1,0,3,60,59,
+ 6,7,8,9,10,11,0,0,0,2,
+ 14,5,5,19,6,7,8,9,10,11,
+ 0,14,0,1,2,5,0,33,34,35,
+ 36,37,77,78,40,41,42,43,44,45,
+ 46,47,48,49,50,51,39,53,54,55,
+ 0,1,2,3,4,5,0,61,38,39,
+ 0,5,12,13,58,15,16,17,18,19,
+ 20,21,22,23,14,25,26,27,28,29,
+ 30,31,32,0,0,1,2,3,4,5,
+ 68,0,1,0,3,39,12,13,5,15,
+ 16,17,18,19,20,21,22,23,58,25,
+ 26,27,28,29,30,31,32,0,1,2,
+ 0,61,5,0,1,2,3,4,5,0,
+ 0,14,39,0,4,12,13,4,15,16,
+ 17,18,58,20,21,22,23,24,25,26,
+ 27,28,29,30,31,32,39,0,0,1,
+ 2,0,4,6,7,8,9,10,11,0,
+ 0,0,14,12,13,52,19,6,7,8,
+ 9,10,11,0,1,15,3,0,68,59,
+ 33,34,35,36,37,62,63,40,41,42,
+ 43,44,45,46,47,48,49,50,51,0,
+ 1,2,3,4,5,0,1,0,3,0,
+ 0,12,13,0,15,16,17,18,5,20,
+ 21,22,23,0,25,26,27,28,29,30,
+ 31,32,73,0,1,2,3,4,5,0,
+ 0,0,1,4,3,12,13,0,15,16,
+ 17,18,39,20,21,22,23,58,25,26,
+ 27,28,29,30,31,32,0,0,1,2,
+ 3,4,6,7,8,9,10,11,38,12,
+ 13,72,15,16,17,18,0,20,21,22,
+ 23,58,25,26,27,28,29,30,31,32,
+ 0,62,63,56,57,5,0,0,0,1,
+ 2,3,4,6,7,8,9,10,11,0,
+ 12,13,0,15,16,17,18,60,20,21,
22,23,24,25,26,27,28,29,30,31,
- 32,33,34,35,36,74,0,1,2,3,
- 4,5,0,0,2,2,4,4,37,0,
- 14,15,16,70,71,13,13,59,22,23,
- 24,25,26,27,28,29,30,31,32,33,
- 34,35,36,0,0,1,2,3,4,6,
- 7,8,9,10,11,0,37,68,14,15,
- 16,0,1,0,3,59,22,23,24,25,
- 26,27,28,29,30,31,32,33,34,35,
- 36,0,1,2,3,4,0,1,2,0,
- 4,0,37,0,5,14,15,16,37,0,
- 56,0,0,22,23,24,25,26,27,28,
- 29,30,31,32,33,34,35,36,37,0,
- 1,2,3,4,0,0,0,0,0,5,
- 5,0,69,14,15,16,0,1,2,50,
- 13,22,23,24,25,26,27,28,29,30,
- 31,32,33,34,35,36,37,0,1,2,
- 3,4,0,0,0,1,0,3,5,68,
- 0,14,15,16,50,50,14,15,54,22,
- 23,24,25,26,27,28,29,30,31,32,
- 33,34,35,36,37,0,1,2,3,4,
- 0,0,0,1,68,3,0,0,0,14,
- 15,16,0,50,14,15,4,22,23,24,
- 25,26,27,28,29,30,31,32,33,34,
- 35,36,0,1,2,3,4,0,0,0,
- 0,0,0,0,0,0,14,15,16,0,
- 0,0,0,4,22,23,24,25,26,27,
- 28,29,30,31,32,33,34,35,36,0,
- 1,2,3,4,62,63,0,0,0,0,
- 0,0,0,14,15,16,0,0,0,0,
- 0,22,23,24,25,26,27,28,29,30,
- 31,32,33,34,35,36,0,0,2,60,
- 4,5,6,7,8,9,10,11,12,13,
- 13,0,1,17,18,19,20,21,0,0,
- 2,2,4,5,6,7,8,9,10,11,
- 12,13,13,54,0,17,18,19,20,21,
- 0,22,23,0,4,0,50,0,0,6,
- 7,8,9,10,11,0,0,0,61,0,
- 13,6,7,8,9,10,11,0,50,0,
- 0,60,0,6,7,8,9,10,11,0,
- 61,0,0,0,5,0,5,5,0,0,
- 0,0,0,0,60,76,0,0,0,54,
- 0,0,62,63,0,0,0,0,61,0,
- 54,0,0,0,0,0,0,0,0,0,
+ 32,0,1,2,3,4,0,1,2,0,
+ 4,0,52,12,13,4,15,16,17,18,
+ 14,20,21,22,23,24,25,26,27,28,
+ 29,30,31,32,0,1,2,3,4,0,
+ 74,2,0,4,0,0,12,13,4,15,
+ 16,17,18,14,20,21,22,23,24,25,
+ 26,27,28,29,30,31,32,0,1,2,
+ 3,4,0,62,63,0,1,5,3,12,
+ 13,72,15,16,17,18,0,20,21,22,
+ 23,0,25,26,27,28,29,30,31,32,
+ 0,1,2,3,4,0,15,2,0,0,
+ 38,69,12,13,5,15,16,17,18,14,
+ 20,21,22,23,0,25,26,27,28,29,
+ 30,31,32,0,1,2,3,4,0,1,
+ 2,0,56,57,0,12,13,75,15,16,
+ 17,18,0,20,21,22,23,0,25,26,
+ 27,28,29,30,31,32,0,59,2,0,
+ 4,5,6,7,8,9,10,11,0,0,
+ 14,12,13,5,75,19,0,0,0,1,
+ 0,3,0,6,7,8,9,10,11,33,
+ 34,35,36,37,0,39,19,0,56,57,
+ 24,0,24,6,7,8,9,10,11,0,
+ 33,34,35,36,37,14,19,0,0,1,
+ 52,12,13,6,7,8,9,10,11,0,
+ 33,34,35,36,37,0,19,0,56,57,
+ 0,0,0,6,7,8,9,10,11,69,
+ 33,34,35,36,37,0,19,2,89,79,
+ 80,81,82,83,84,85,86,87,88,14,
+ 33,34,35,36,37,0,0,59,0,0,
+ 0,0,4,0,0,0,0,0,0,14,
+ 0,0,0,0,14,0,0,0,0,0,
+ 24,0,73,24,69,24,0,0,68,0,
+ 24,24,24,0,0,0,0,0,0,0,
+ 0,38,38,38,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,54,0,0,0,55,0,0,
- 59,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,
- 0,0,0,0,0,0,0,0,0,0
+ 0,0,0,0,0,0
};
};
public final static byte termCheck[] = TermCheck.termCheck;
@@ -533,112 +540,98 @@ public class UPCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface TermAction {
public final static char termAction[] = {0,
- 1822,599,1563,601,1549,1,2033,2034,2035,2140,
- 1401,2141,1983,67,1542,1535,1556,1984,1982,2036,
- 1985,1981,1528,1205,631,1832,1833,1834,1835,1403,
- 641,2130,2131,2132,504,424,414,267,1988,1993,
- 1992,1990,1991,1989,1994,1995,1987,1996,1997,1998,
- 553,1186,1125,987,1822,1,1822,1,1822,189,
- 1,1,1,1,1,1,1,53,1822,50,
- 128,1,1,1,1,1,2033,2034,2035,2140,
- 1401,2141,1983,1172,511,1822,1247,1984,1982,2036,
- 1985,1981,1,1,1,1,1,1,1,1,
- 1,1,1,1,71,1,1,1,1822,189,
- 2016,1822,1,266,1,1156,189,1,1,1,
- 1,1,1,1,1022,1075,553,129,1,1,
- 1,1,1,2033,2034,2035,2140,1401,2141,1983,
- 1822,1851,57,1852,1984,1982,2036,1985,1981,1,
+ 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,
1,1,1,1,1,1,1,1,1,1,
- 1,1822,1,1,1,69,189,2016,1822,1,
- 219,1,1313,189,1,1,1,1,1,1,
- 1,1132,1756,553,130,1,1,1,1,1,
- 2033,2034,2035,2140,1401,2141,1983,56,1311,1022,
- 1075,1984,1982,2036,1985,1981,1,1,1,1,
- 1,1,1,1,1,1,1,1,1822,1,
- 1,1,63,189,2016,1822,1,41,1,1822,
- 188,1,1,1,1,1,1,1,523,1218,
- 55,131,1,1,1,1,1,2033,2034,2035,
- 2140,1401,2141,1983,1022,1075,1822,2057,1984,1982,
- 2036,1985,1981,1,1,1,1,1,1,1,
- 1,1,1,1,1,1822,1,1,1,1,
- 188,2016,1822,1,1831,1,54,189,1,1,
- 1,1,1,1,1,65,918,1022,1075,1,
- 1,1,1,1,58,1822,898,878,858,838,
- 818,778,798,758,738,718,1822,2001,1806,2002,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,61,1,1,1,1822,189,2016,1822,
- 2000,66,1999,1022,1075,2033,2034,2035,2140,1401,
- 2141,1983,87,1374,1830,246,1984,1982,2036,1985,
- 1981,1,1,1,1,1,1,1280,1435,1424,
- 1413,1392,208,1822,2001,68,2002,1988,1993,1992,
- 1990,1991,1989,1994,1995,1987,1996,1997,1998,1822,
- 1186,1125,987,1,1839,1563,1840,1472,1825,1,
- 1816,1155,1360,540,1827,575,698,1542,1535,1556,
- 1460,60,553,1280,64,1528,1205,631,1832,1833,
- 1834,1835,1403,641,2130,2131,2132,504,424,414,
- 523,1822,1839,1563,1840,1514,1825,1,317,1296,
- 1822,997,1827,958,1372,1542,1535,1556,1247,1826,
- 553,1807,1824,1528,1205,631,1832,1833,1834,1835,
- 1403,641,2130,2131,2132,504,424,414,59,1,
- 1839,1563,1840,1549,27,1435,1424,1413,1392,1,
- 2045,1444,47,1542,1535,1556,1581,1826,252,1822,
- 1824,1528,1205,631,1832,1833,1834,1835,1403,641,
- 2130,2131,2132,504,424,414,1594,1,127,258,
- 2045,1155,1822,1,2033,2034,2035,2140,1401,2141,
- 1983,70,553,1822,27,1984,1982,2036,1985,1981,
- 1822,1822,1435,1424,1413,1392,2033,2034,2035,2140,
- 1401,2141,1188,62,1574,1565,1988,1993,1992,1990,
- 1991,1989,1994,1995,1987,1996,1997,1998,1822,1839,
- 1563,1840,1549,1825,264,2045,1155,2076,1462,1822,
- 1822,186,1542,1535,1556,205,2001,553,2002,1822,
- 1528,1205,631,1832,1833,1834,1835,1403,641,2130,
- 2131,2132,504,424,414,1218,1822,1839,1563,1840,
- 1507,1825,261,264,1296,1296,1,1462,1487,185,
- 1542,1535,1556,1360,540,553,553,1824,1528,1205,
- 631,1832,1833,1834,1835,1403,641,2130,2131,2132,
- 504,424,414,247,1822,1,1,1,1,1,
- 1,1,1,1,1,187,1591,1103,1,1,
- 1,1822,2001,1822,2002,1824,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1822,1839,1563,1840,1549,1822,2045,1444,1,
- 1462,1822,1593,1822,89,1542,1535,1556,1461,1822,
- 2129,199,1822,1528,1205,631,1832,1833,1834,1835,
- 1403,641,2130,2131,2132,504,424,414,1311,1,
- 1839,1563,1840,1549,1822,1822,1822,217,1822,1827,
- 1827,1822,608,1542,1535,1556,1,2045,1444,89,
- 553,1528,1205,631,1832,1833,1834,1835,1403,641,
- 2130,2131,2132,504,424,414,1594,1822,1839,1563,
- 1840,1549,52,1,1822,2001,1822,2002,1827,1084,
- 1822,1542,1535,1556,1826,1826,1172,511,1655,1528,
- 1205,631,1832,1833,1834,1835,1403,641,2130,2131,
- 2132,504,424,414,1594,1822,1839,1563,1840,1549,
- 51,1822,204,1355,1050,1355,1822,1822,1822,1542,
- 1535,1556,49,1826,1172,511,1581,1528,1205,631,
- 1832,1833,1834,1835,1403,641,2130,2131,2132,504,
- 424,414,1822,1839,1564,1840,1549,1822,1822,1822,
- 1822,1822,1822,1822,1822,1822,1542,1535,1556,1,
- 1822,1822,1822,1372,1528,1205,631,1832,1833,1834,
- 1835,1403,641,2130,2131,2132,504,424,414,1,
- 1839,1563,1840,1549,1574,1565,1822,1822,1822,1822,
- 1822,1822,1822,1542,1535,1556,1822,1822,1822,28,
- 1822,1528,1205,631,1832,1833,1834,1835,1403,641,
- 2130,2131,2132,504,424,414,17,1822,1810,2076,
- 1810,1810,178,178,178,178,178,178,178,1810,
- 978,1,1819,178,178,178,178,178,18,31,
- 1813,1636,1813,1813,177,177,177,177,177,177,
- 177,1813,1755,484,1,177,177,177,177,177,
- 48,1846,1847,245,1581,28,1810,284,1822,2033,
- 2034,2035,2140,1401,2141,248,204,1822,1227,1822,
- 1031,2033,2034,2035,2140,1401,2141,249,1813,1822,
- 1822,2076,1822,2033,2034,2035,2140,1401,2141,1822,
- 1071,1822,1822,1822,1831,1822,1825,1829,1822,1822,
- 1822,1822,1822,1822,2075,603,1822,1822,1822,1849,
- 1822,1822,1574,1565,1822,1822,1822,1822,1239,1822,
- 2971,1822,1822,1822,1822,1822,1822,1822,1822,1822,
- 1822,1822,1822,1822,1822,1822,1822,1822,1822,1822,
- 1822,1822,1822,1310,1822,1822,1822,1828,1822,1822,
- 1824,1822,1822,1822,1822,1822,1822,1822,1822,1822,
- 1822,1822,1822,1822,1830
+ 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
};
};
public final static char termAction[] = TermAction.termAction;
@@ -646,28 +639,28 @@ public class UPCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface Asb {
public final static char asb[] = {0,
- 476,1,113,41,113,113,113,113,113,113,
- 113,113,113,113,113,113,3,324,51,48,
- 55,53,61,59,63,62,65,64,10,113,
- 324,247,247,451,113,185,185,278,324,113,
- 113,113,113,113,113,113,113,113,113,113,
- 113,113,113,113,113,113,113,113,113,113,
- 113,113,113,113,113,113,113,113,113,185,
- 185,45,80,282,104,214,183,182,250,317,
- 262,262,100,100,262,100,262,344,136,136,
- 48,48,53,53,53,53,51,51,59,55,
- 55,62,61,401,64,63,102,78,278,270,
- 107,45,367,189,185,414,217,189,380,284,
- 380,284,374,380,113,78,270,367,367,45,
- 188,104,185,276,344,184,219,45,189,284,
- 284,284,284,374,374,376,404,78,367,270,
- 113,113,45,189,214,396,395,282,219,185,
- 284,314,407,284,284,314,376,446,376,374,
- 314,76,449,247,113,403,78,270,45,45,
- 185,414,217,276,314,409,314,314,113,247,
- 376,80,45,247,113,376,219,72,113,71,
- 132,282,314,45,314,185,184,409,113,132,
- 248
+ 403,1,149,105,149,149,149,149,149,149,
+ 149,149,149,149,149,149,67,10,87,84,
+ 91,89,97,95,99,98,101,100,73,149,
+ 10,368,368,432,149,286,286,329,10,149,
+ 149,149,149,149,149,149,149,149,149,149,
+ 149,149,149,149,149,149,149,149,149,149,
+ 149,149,149,149,149,149,149,149,149,286,
+ 286,109,116,333,140,335,284,283,301,3,
+ 313,136,313,136,136,313,136,313,30,237,
+ 84,84,89,89,89,89,87,87,95,91,
+ 91,98,97,65,100,99,138,228,138,329,
+ 333,143,109,53,173,286,371,338,173,136,
+ 368,368,136,368,149,228,114,333,321,53,
+ 109,172,140,286,327,30,285,340,109,173,
+ 138,198,138,231,114,321,321,149,149,109,
+ 173,335,290,289,333,340,286,138,198,231,
+ 231,233,298,321,53,109,109,286,371,338,
+ 327,198,228,60,198,231,233,427,233,228,
+ 112,430,368,149,297,53,321,340,198,62,
+ 233,228,149,368,67,116,109,368,149,321,
+ 286,285,228,293,149,292,168,333,228,109,
+ 369,62,149,168
};
};
public final static char asb[] = Asb.asb;
@@ -675,56 +668,52 @@ public class UPCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface Asr {
public final static byte asr[] = {0,
- 89,0,75,13,2,61,76,22,23,16,
- 4,14,15,62,63,57,58,64,65,66,
- 67,70,71,72,73,74,77,78,55,69,
- 79,80,81,82,83,85,84,86,87,88,
- 68,50,89,54,59,5,0,4,62,63,
- 14,15,58,57,64,65,66,67,70,71,
- 16,72,73,74,59,50,55,89,77,78,
- 68,75,5,54,0,5,55,13,61,22,
- 23,16,4,14,15,29,30,24,34,35,
- 36,2,25,26,27,28,31,32,33,1,
- 3,37,0,59,5,12,6,7,8,9,
- 10,11,25,26,27,28,31,32,33,3,
- 22,23,16,14,15,29,30,24,34,35,
- 36,4,2,1,0,7,12,21,8,20,
- 19,18,6,17,9,10,11,61,76,22,
- 23,16,14,15,62,63,57,58,64,65,
- 66,67,70,71,72,73,74,77,78,69,
- 79,80,81,82,83,84,85,86,87,88,
- 4,2,13,54,50,5,0,12,59,5,
- 22,23,16,4,14,15,29,30,24,34,
- 35,36,2,1,3,25,26,27,28,31,
- 32,33,0,4,2,13,50,5,17,38,
- 6,39,51,18,40,19,41,42,20,7,
- 43,44,12,52,21,53,45,46,8,47,
- 48,49,9,10,11,60,3,1,0,46,
- 38,43,41,42,40,39,44,45,47,48,
- 49,68,75,21,18,12,17,20,19,6,
- 7,8,9,10,11,54,1,5,50,2,
- 13,4,0,17,38,6,39,51,18,40,
- 19,41,42,20,7,43,44,12,52,21,
- 53,45,46,8,47,48,49,1,3,9,
- 10,11,56,55,5,0,5,68,54,59,
- 50,75,13,24,25,26,27,28,2,22,
- 23,16,4,14,15,29,30,31,32,33,
- 34,35,36,3,1,51,52,53,46,38,
- 43,41,42,40,39,44,45,47,48,49,
- 21,18,12,17,20,19,6,7,8,10,
- 9,11,0,1,3,5,55,54,0,17,
- 6,18,19,20,7,12,21,8,1,4,
- 9,10,11,37,2,5,54,50,75,13,
- 68,0,69,13,61,0,75,5,4,1,
- 2,68,0,17,38,6,39,51,18,40,
- 19,41,42,20,7,43,44,12,52,21,
- 53,45,46,8,47,48,49,1,3,9,
- 10,11,60,4,0,5,54,55,69,0,
- 5,50,24,25,26,27,28,1,3,2,
- 22,23,16,4,14,15,29,30,31,32,
- 33,34,35,36,0,24,25,26,27,28,
- 1,3,2,22,23,16,4,14,15,29,
- 30,31,32,33,34,35,36,56,0
+ 89,0,5,68,38,58,39,75,14,18,
+ 20,21,22,23,2,16,17,15,4,12,
+ 13,25,26,27,28,29,30,31,32,1,
+ 3,53,54,55,48,40,45,43,44,42,
+ 41,46,47,49,50,51,37,34,19,33,
+ 36,35,6,7,8,10,9,11,0,75,
+ 5,4,1,2,68,0,14,2,61,76,
+ 16,17,69,79,80,81,82,83,85,84,
+ 86,87,88,4,62,63,12,13,57,56,
+ 64,65,66,67,70,71,15,72,73,74,
+ 52,75,77,78,68,39,89,38,58,5,
+ 0,5,52,14,61,16,17,15,4,12,
+ 13,25,26,18,30,31,32,2,20,21,
+ 22,23,27,28,29,1,3,24,0,58,
+ 5,19,6,7,8,9,10,11,20,21,
+ 22,23,27,28,29,3,16,17,15,12,
+ 13,25,26,18,30,31,32,4,2,1,
+ 0,19,58,5,16,17,15,4,12,13,
+ 25,26,18,30,31,32,2,1,3,20,
+ 21,22,23,27,28,29,0,33,40,6,
+ 41,53,34,42,35,43,44,36,7,45,
+ 46,19,54,37,55,47,48,8,49,50,
+ 51,1,3,9,10,11,60,5,52,0,
+ 1,3,5,52,38,0,7,19,37,8,
+ 36,35,34,6,33,9,10,11,61,76,
+ 16,17,15,12,13,62,63,56,57,64,
+ 65,66,67,70,71,72,73,74,77,78,
+ 69,79,80,81,82,83,84,85,86,87,
+ 88,4,2,14,38,39,5,0,2,39,
+ 14,68,75,5,38,0,69,14,61,0,
+ 48,40,45,43,44,42,41,46,47,49,
+ 50,51,68,75,37,34,19,33,36,35,
+ 6,7,8,9,10,11,38,1,5,39,
+ 2,14,4,0,4,2,14,39,5,33,
+ 40,6,41,53,34,42,35,43,44,36,
+ 7,45,46,19,54,37,55,47,48,8,
+ 49,50,51,9,10,11,59,3,1,0,
+ 4,33,40,6,41,53,34,42,35,43,
+ 44,36,7,45,46,19,54,37,55,47,
+ 48,8,49,50,51,1,3,9,10,11,
+ 59,0,18,20,21,22,23,1,3,2,
+ 16,17,15,4,12,13,25,26,27,28,
+ 29,30,31,32,60,0,5,38,52,69,
+ 0,5,39,18,20,21,22,23,1,3,
+ 2,16,17,15,4,12,13,25,26,27,
+ 28,29,30,31,32,0
};
};
public final static byte asr[] = Asr.asr;
@@ -732,28 +721,28 @@ public class UPCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface Nasb {
public final static byte nasb[] = {0,
- 81,8,13,8,13,13,13,13,13,13,
- 13,13,13,13,13,13,8,59,8,8,
- 8,8,8,8,8,8,8,8,8,13,
- 59,19,19,78,60,35,35,51,1,13,
- 13,13,13,13,13,13,13,13,13,13,
- 13,13,13,13,13,60,13,13,13,13,
- 13,13,13,13,13,13,13,13,13,35,
- 35,17,13,72,15,50,9,9,43,55,
- 44,44,25,25,44,25,44,39,8,8,
- 8,8,8,8,8,8,8,8,8,8,
- 8,8,8,8,8,8,8,86,52,86,
- 12,17,68,16,35,70,34,16,8,86,
- 8,86,86,8,13,12,86,68,68,17,
- 16,57,35,28,2,8,85,17,16,86,
- 74,86,74,25,86,23,21,86,68,57,
- 13,13,17,16,27,9,9,72,85,35,
- 74,37,65,88,74,37,23,8,8,25,
- 37,11,8,25,13,63,12,57,17,17,
- 35,70,34,29,37,46,37,37,13,25,
- 23,13,17,25,13,23,84,66,13,8,
- 46,72,37,17,37,35,35,46,13,31,
- 8
+ 100,37,28,37,28,28,28,28,28,28,
+ 28,28,28,28,28,28,37,103,37,37,
+ 37,37,37,37,37,37,37,37,37,28,
+ 103,21,21,121,104,78,78,85,1,28,
+ 28,28,28,28,28,28,28,28,28,28,
+ 28,28,28,28,28,104,28,28,28,28,
+ 28,28,28,28,28,28,28,28,28,78,
+ 78,42,47,13,40,84,51,51,58,9,
+ 59,19,59,69,69,59,68,59,53,37,
+ 37,37,37,37,37,37,37,37,37,37,
+ 37,37,37,37,37,37,48,66,37,89,
+ 37,44,42,107,41,78,95,77,41,7,
+ 7,7,7,7,28,23,66,37,75,107,
+ 42,41,124,78,62,30,37,97,42,41,
+ 38,66,37,66,26,75,66,28,28,42,
+ 41,61,51,51,13,97,78,37,109,66,
+ 7,82,11,66,107,42,42,78,95,77,
+ 71,66,23,16,113,7,82,37,37,23,
+ 25,37,7,28,80,107,124,117,109,64,
+ 82,23,28,7,93,27,42,7,28,124,
+ 78,78,23,17,28,37,64,13,23,42,
+ 37,64,28,73
};
};
public final static byte nasb[] = Nasb.nasb;
@@ -761,16 +750,19 @@ public class UPCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface Nasr {
public final static char nasr[] = {0,
- 4,79,78,77,76,75,74,0,27,0,
- 68,9,4,0,9,4,20,0,70,0,
- 91,0,53,0,29,0,25,9,46,45,
- 38,36,0,9,25,0,28,0,63,64,
- 65,66,54,30,0,9,38,36,0,25,
- 9,46,45,0,94,0,21,0,34,9,
- 48,0,93,0,9,69,0,60,0,9,
- 26,51,0,58,9,34,0,9,86,0,
- 9,85,0,88,26,9,0,9,34,50,
- 0
+ 80,78,77,67,76,75,1,0,103,0,
+ 100,0,29,52,0,11,71,0,91,0,
+ 72,0,41,0,88,11,54,5,0,80,
+ 79,78,77,67,76,75,0,92,0,11,
+ 5,21,0,5,11,0,5,54,49,0,
+ 28,0,67,62,63,64,65,55,30,0,
+ 26,46,45,37,35,11,0,94,68,0,
+ 46,45,37,35,29,0,11,26,0,102,
+ 0,61,0,26,45,46,11,0,46,45,
+ 29,0,98,0,29,52,11,27,0,11,
+ 89,0,51,11,48,0,58,0,82,11,
+ 51,0,11,51,69,0,95,11,27,0,
+ 11,90,0,22,0
};
};
public final static char nasr[] = Nasr.nasr;
@@ -779,11 +771,11 @@ public class UPCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface TerminalIndex {
public final static char terminalIndex[] = {0,
85,2,86,9,87,48,64,76,96,97,
- 98,69,1,10,11,8,44,55,60,63,
- 72,6,7,68,81,82,83,84,12,13,
- 93,94,95,100,101,102,3,47,52,56,
- 61,62,66,67,74,75,78,79,80,90,
- 54,70,73,42,91,107,16,17,89,30,
+ 98,10,11,1,8,6,7,68,69,81,
+ 82,83,84,3,12,13,93,94,95,100,
+ 101,102,44,55,60,63,72,42,90,47,
+ 52,56,61,62,66,67,74,75,78,79,
+ 80,91,54,70,73,16,17,89,30,107,
4,14,15,18,19,20,21,29,31,22,
23,24,25,26,92,5,27,28,32,33,
34,35,36,37,38,39,40,41,108,45,
@@ -796,18 +788,20 @@ public class UPCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface NonterminalIndex {
public final static char nonterminalIndex[] = {0,
- 0,0,0,115,119,120,121,122,0,123,
- 124,125,126,127,128,129,130,131,132,110,
- 143,0,0,0,111,136,163,112,135,142,
- 0,0,0,154,159,161,0,162,0,0,
- 0,0,134,172,173,174,0,114,151,153,
- 160,169,0,145,150,0,0,152,164,167,
- 168,171,146,147,148,149,158,175,113,116,
- 117,118,133,137,138,139,140,141,144,156,
- 0,0,157,166,109,0,155,165,170,176,
- 177,0,178,179,0,0,0,0,0,0,
+ 114,0,0,0,116,120,121,122,123,124,
+ 0,125,126,127,128,129,130,131,0,132,
+ 110,142,0,0,0,111,135,163,0,141,
+ 0,0,0,159,161,0,162,0,0,0,
+ 112,0,134,172,173,174,0,115,119,150,
+ 154,160,169,0,144,0,164,167,168,171,
+ 0,145,146,147,148,149,151,0,153,158,
+ 113,117,118,133,136,137,138,139,140,143,
+ 0,152,156,0,0,157,166,176,109,0,
+ 0,0,155,0,165,170,175,0,177,178,
+ 0,179,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
+ 0,0,0,0,0,0,0,0,0,0,
+ 0
};
};
public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex;
@@ -815,11 +809,11 @@ public class UPCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface ScopePrefix {
public final static char scopePrefix[] = {
- 198,106,45,55,113,133,139,176,12,19,
- 73,91,145,150,61,26,69,38,123,213,
- 217,38,38,185,38,1,1,1,30,33,
- 78,101,33,221,6,127,192,167,192,119,
- 155,155,155,155,155,81,81,81
+ 108,139,118,47,57,147,12,174,21,75,
+ 93,63,28,71,40,129,199,203,40,40,
+ 183,40,1,1,1,32,35,80,103,35,
+ 207,6,133,190,190,165,125,153,153,153,
+ 153,153,83,83,83
};
};
public final static char scopePrefix[] = ScopePrefix.scopePrefix;
@@ -827,11 +821,11 @@ public class UPCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface ScopeSuffix {
public final static char scopeSuffix[] = {
- 17,17,4,4,17,17,17,182,17,24,
- 4,24,17,17,66,24,4,4,121,24,
- 4,42,66,189,51,4,4,4,24,36,
- 4,24,104,24,9,130,195,170,206,121,
- 157,159,161,163,165,88,83,96
+ 116,116,116,4,4,116,18,180,26,4,
+ 26,68,26,4,4,127,26,4,44,68,
+ 187,53,4,4,4,26,38,4,26,106,
+ 26,9,136,193,196,168,127,155,157,159,
+ 161,163,90,85,98
};
};
public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix;
@@ -839,11 +833,11 @@ public class UPCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface ScopeLhs {
public final static char scopeLhs[] = {
- 4,65,27,27,65,63,63,101,55,47,
- 27,41,63,63,27,47,27,27,50,4,
- 4,27,27,18,27,94,93,92,45,62,
- 27,38,49,2,68,50,6,102,4,50,
- 78,77,76,75,74,41,39,41
+ 64,62,64,28,28,62,49,111,47,28,
+ 40,28,47,28,28,69,5,5,28,28,
+ 19,28,103,102,101,45,60,28,37,50,
+ 3,88,69,7,5,112,69,79,78,77,
+ 76,75,40,38,40
};
};
public final static char scopeLhs[] = ScopeLhs.scopeLhs;
@@ -851,11 +845,11 @@ public class UPCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface ScopeLa {
public final static byte scopeLa[] = {
- 55,55,59,59,55,55,55,95,55,50,
- 59,50,55,55,25,50,59,59,75,50,
- 59,4,25,68,12,59,59,59,50,2,
- 59,50,1,50,69,1,50,101,50,75,
- 3,51,52,52,46,2,2,2
+ 52,52,52,58,58,52,52,95,39,58,
+ 39,20,39,58,58,75,39,58,4,20,
+ 68,19,58,58,58,39,2,58,39,1,
+ 39,69,1,39,39,101,75,1,53,54,
+ 54,48,2,2,2
};
};
public final static byte scopeLa[] = ScopeLa.scopeLa;
@@ -863,11 +857,11 @@ public class UPCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface ScopeStateSet {
public final static byte scopeStateSet[] = {
- 36,21,25,25,21,21,21,-1,96,29,
- 25,11,21,21,25,29,25,25,5,36,
- 36,25,25,70,25,19,1,3,29,31,
- 25,11,13,36,97,5,42,-1,36,5,
- 22,22,22,22,22,11,11,11
+ 25,25,25,29,29,25,19,-1,33,29,
+ 9,29,33,29,29,5,40,40,29,29,
+ 74,29,17,1,3,33,35,29,9,11,
+ 40,101,5,46,40,-1,5,26,26,26,
+ 26,26,9,9,9
};
};
public final static byte scopeStateSet[] = ScopeStateSet.scopeStateSet;
@@ -875,29 +869,27 @@ public class UPCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface ScopeRhs {
public final static char scopeRhs[] = {0,
- 150,13,0,110,0,197,116,0,31,150,
- 0,160,179,116,37,0,112,0,166,116,
- 2,152,0,111,0,166,116,2,0,169,
- 2,0,158,116,0,172,0,191,116,13,
- 0,9,110,0,126,12,191,116,13,0,
- 69,132,110,0,126,191,116,12,13,0,
- 191,116,12,13,0,132,110,0,126,12,
- 13,0,126,191,116,13,0,126,13,0,
- 145,0,2,0,165,111,0,2,111,0,
- 166,116,2,145,0,2,0,164,111,0,
- 156,2,0,159,0,160,189,116,37,136,
- 51,0,160,189,116,37,51,0,141,0,
- 113,0,194,116,141,0,116,141,0,155,
- 113,0,164,116,37,136,53,0,164,116,
- 37,136,52,0,164,116,37,53,0,164,
- 116,37,52,0,186,0,149,0,148,0,
- 147,0,146,0,145,0,204,94,0,77,
- 2,114,111,113,0,204,132,155,2,98,
- 0,53,0,0,155,78,124,0,29,131,
- 0,178,2,0,111,120,0,160,179,116,
- 37,132,178,2,0,111,3,0,118,0,
- 112,0,193,2,111,0,155,13,111,0,
- 155,2,0
+ 150,14,0,110,0,206,118,0,31,149,
+ 0,168,204,118,24,161,0,112,0,0,
+ 164,118,2,152,0,111,0,164,118,2,
+ 0,167,2,0,159,118,0,172,0,194,
+ 118,14,0,9,110,0,127,19,194,118,
+ 14,0,69,132,110,0,127,194,118,19,
+ 14,0,194,118,19,14,0,132,110,0,
+ 127,19,14,0,127,194,118,14,0,127,
+ 14,0,144,0,2,0,165,111,0,2,
+ 111,0,164,118,2,144,0,2,0,164,
+ 111,0,157,2,0,159,0,168,192,118,
+ 24,108,201,53,0,112,0,168,192,118,
+ 24,201,53,0,158,0,113,0,200,118,
+ 158,0,118,158,0,155,113,0,188,118,
+ 24,199,108,198,174,0,188,118,24,198,
+ 174,0,187,0,148,0,147,0,146,0,
+ 145,0,144,0,214,94,0,77,2,115,
+ 111,113,0,214,133,155,2,98,0,53,
+ 0,0,155,78,125,0,29,132,0,180,
+ 2,0,111,121,0,111,119,0,197,2,
+ 112,0,155,14,112,0,155,2,0
};
};
public final static char scopeRhs[] = ScopeRhs.scopeRhs;
@@ -905,16 +897,17 @@ public class UPCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface ScopeState {
public final static char scopeState[] = {0,
- 1592,0,927,0,1642,1719,1639,1637,1624,0,
- 1411,1262,1310,1444,1295,1155,1122,0,1401,0,
- 1213,574,357,0,1677,1643,602,385,1262,1666,
- 1155,1122,1296,1459,0,1528,1205,631,504,424,
- 414,1514,1507,1472,1613,1218,1132,1280,1247,1360,
- 540,523,1075,1022,1435,1424,1413,1392,1581,1574,
- 1565,1172,511,1556,1549,1542,1535,1403,641,1084,
- 1050,1031,997,978,958,938,675,1103,654,575,
- 553,918,898,878,858,838,818,798,778,758,
- 738,718,357,698,437,608,464,484,391,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
};
};
public final static char scopeState[] = ScopeState.scopeState;
@@ -922,28 +915,28 @@ public class UPCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface InSymb {
public final static char inSymb[] = {0,
- 0,192,116,180,36,35,34,24,30,29,
- 15,14,4,16,23,22,111,2,115,114,
- 118,117,120,119,122,121,124,123,112,54,
- 2,76,61,2,13,178,155,141,116,15,
- 14,63,62,4,67,66,65,64,57,58,
- 16,71,70,73,72,78,77,74,88,87,
- 86,84,85,83,82,81,80,79,69,178,
- 193,155,132,116,13,2,153,152,181,10,
- 182,183,53,52,184,51,185,186,1,3,
- 114,114,117,117,117,117,115,115,119,118,
- 118,121,120,155,123,122,132,37,158,4,
- 12,126,116,4,169,116,2,13,136,37,
- 136,37,37,136,68,116,4,116,116,126,
- 191,167,166,133,116,168,116,150,4,37,
- 116,37,116,116,37,179,116,37,116,167,
- 191,12,126,4,2,143,145,116,54,166,
- 116,164,141,165,116,164,189,136,190,116,
- 160,54,197,61,13,198,116,167,126,126,
- 156,116,2,158,164,116,164,160,69,54,
- 189,69,150,61,13,179,116,194,68,156,
- 2,116,160,150,160,166,195,54,68,158,
- 54
+ 0,196,118,181,32,31,30,18,26,25,
+ 13,12,4,15,17,16,112,2,116,115,
+ 119,117,121,120,123,122,125,124,113,38,
+ 2,76,61,2,14,180,155,158,118,13,
+ 12,63,62,4,67,66,65,64,56,57,
+ 15,71,70,73,72,78,77,74,88,87,
+ 86,84,85,83,82,81,80,79,69,180,
+ 197,155,133,118,14,2,153,152,182,10,
+ 183,174,184,55,54,185,53,186,187,108,
+ 115,115,117,117,117,117,116,116,120,119,
+ 119,122,121,155,124,123,133,24,161,159,
+ 136,19,127,118,4,167,118,2,14,198,
+ 175,175,201,175,68,118,24,136,4,118,
+ 127,194,165,164,134,118,166,118,150,4,
+ 108,24,108,24,118,4,136,194,19,127,
+ 4,2,142,144,118,38,164,199,118,24,
+ 118,204,118,136,118,127,127,157,118,2,
+ 159,24,188,158,189,118,192,108,193,168,
+ 38,206,61,14,207,118,165,118,118,118,
+ 192,168,69,38,148,69,150,61,14,165,
+ 164,202,188,200,68,157,2,118,168,150,
+ 38,38,68,159
};
};
public final static char inSymb[] = InSymb.inSymb;
@@ -1060,15 +1053,16 @@ public class UPCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
"upc_forall",
"ERROR_TOKEN",
"EOF_TOKEN",
- "no_sizeof_type_name_start",
+ "no_sizeof_type_id_start",
"]",
")",
"}",
";",
+ "identifier_token",
"expression",
"postfix_expression",
"member_name",
- "type_name",
+ "type_id",
"initializer_list",
"unary_expression",
"cast_expression",
@@ -1077,16 +1071,14 @@ public class UPCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
"shift_expression",
"relational_expression",
"equality_expression",
- "AND_expression",
- "exclusive_OR_expression",
- "inclusive_OR_expression",
- "logical_AND_expression",
- "logical_OR_expression",
- "conditional_expression",
+ "and_expression",
+ "exclusive_or_expression",
+ "inclusive_or_expression",
+ "logical_and_expression",
+ "logical_or_expression",
"assignment_expression",
"expression_list_actual",
"constant_expression",
- "identifier_or_typedefname",
"declaration_specifiers",
"simple_declaration_specifiers",
"struct_or_union_declaration_sp" +
@@ -1103,9 +1095,10 @@ public class UPCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
"struct_or_union_specifier",
"elaborated_specifier",
"enum_specifier",
- "typedef_name_in_declspec",
+ "type_name_specifier",
"initializer",
"declarator",
+ "struct_or_union",
"struct_declaration_list",
"struct_declaration",
"specifier_qualifier_list",
@@ -1131,6 +1124,7 @@ public class UPCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
"or",
"array_direct_abstract_declarat" +
"or",
+ "initializer_seq",
"designated_initializer",
"designation",
"designator_list",
@@ -1142,9 +1136,9 @@ public class UPCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public final String name(int index) { return name[index]; }
public final static int
- ERROR_SYMBOL = 56,
- SCOPE_UBOUND = 47,
- SCOPE_SIZE = 48,
+ ERROR_SYMBOL = 60,
+ SCOPE_UBOUND = 44,
+ SCOPE_SIZE = 45,
MAX_NAME_LENGTH = 38;
public final int getErrorSymbol() { return ERROR_SYMBOL; }
@@ -1153,20 +1147,20 @@ public class UPCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public final int getMaxNameLength() { return MAX_NAME_LENGTH; }
public final static int
- NUM_STATES = 211,
+ NUM_STATES = 214,
NT_OFFSET = 107,
- LA_STATE_OFFSET = 2178,
+ LA_STATE_OFFSET = 2270,
MAX_LA = 2,
- NUM_RULES = 356,
- NUM_NONTERMINALS = 120,
- NUM_SYMBOLS = 227,
+ NUM_RULES = 364,
+ NUM_NONTERMINALS = 131,
+ NUM_SYMBOLS = 238,
SEGMENT_SIZE = 8192,
- START_STATE = 1638,
+ START_STATE = 1699,
IDENTIFIER_SYMBOL = 0,
EOFT_SYMBOL = 89,
EOLT_SYMBOL = 89,
- ACCEPT_ACTION = 1806,
- ERROR_ACTION = 1822;
+ ACCEPT_ACTION = 1893,
+ ERROR_ACTION = 1906;
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 62f3c15c294..6b8b4262020 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, 2008 IBM Corporation and others.
+* Copyright (c) 2006, 2009 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -15,68 +15,68 @@ package org.eclipse.cdt.internal.core.dom.parser.upc;
public interface UPCSizeofExpressionParsersym {
public final static int
- TK_auto = 17,
+ TK_auto = 33,
TK_break = 90,
TK_case = 91,
- TK_char = 38,
+ TK_char = 40,
TK_const = 6,
TK_continue = 92,
TK_default = 93,
TK_do = 94,
- TK_double = 39,
+ TK_double = 41,
TK_else = 95,
- TK_enum = 51,
- TK_extern = 18,
- TK_float = 40,
+ TK_enum = 53,
+ TK_extern = 34,
+ TK_float = 42,
TK_for = 96,
TK_goto = 97,
TK_if = 98,
- TK_inline = 19,
- TK_int = 41,
- TK_long = 42,
- TK_register = 20,
+ TK_inline = 35,
+ TK_int = 43,
+ TK_long = 44,
+ TK_register = 36,
TK_restrict = 7,
TK_return = 99,
- TK_short = 43,
- TK_signed = 44,
- TK_sizeof = 24,
- TK_static = 12,
- TK_struct = 52,
+ TK_short = 45,
+ TK_signed = 46,
+ TK_sizeof = 18,
+ TK_static = 19,
+ TK_struct = 54,
TK_switch = 100,
- TK_typedef = 21,
- TK_union = 53,
- TK_unsigned = 45,
- TK_void = 46,
+ TK_typedef = 37,
+ TK_union = 55,
+ TK_unsigned = 47,
+ TK_void = 48,
TK_volatile = 8,
TK_while = 101,
- TK__Bool = 47,
- TK__Complex = 48,
- TK__Imaginary = 49,
- TK_integer = 25,
- TK_floating = 26,
- TK_charconst = 27,
- TK_stringlit = 28,
+ TK__Bool = 49,
+ TK__Complex = 50,
+ TK__Imaginary = 51,
+ TK_integer = 20,
+ TK_floating = 21,
+ TK_charconst = 22,
+ TK_stringlit = 23,
TK_identifier = 1,
TK_Completion = 3,
TK_EndOfCompletion = 5,
TK_Invalid = 102,
- TK_LeftBracket = 13,
+ TK_LeftBracket = 14,
TK_LeftParen = 2,
- TK_LeftBrace = 37,
+ TK_LeftBrace = 24,
TK_Dot = 61,
TK_Arrow = 76,
- TK_PlusPlus = 22,
- TK_MinusMinus = 23,
- TK_And = 16,
+ TK_PlusPlus = 16,
+ TK_MinusMinus = 17,
+ TK_And = 15,
TK_Star = 4,
- TK_Plus = 14,
- TK_Minus = 15,
- TK_Tilde = 29,
- TK_Bang = 30,
+ TK_Plus = 12,
+ TK_Minus = 13,
+ TK_Tilde = 25,
+ TK_Bang = 26,
TK_Slash = 62,
TK_Percent = 63,
- TK_RightShift = 57,
- TK_LeftShift = 58,
+ TK_RightShift = 56,
+ TK_LeftShift = 57,
TK_LT = 64,
TK_GT = 65,
TK_LE = 66,
@@ -89,7 +89,7 @@ public interface UPCSizeofExpressionParsersym {
TK_OrOr = 77,
TK_Question = 78,
TK_Colon = 68,
- TK_DotDotDot = 60,
+ TK_DotDotDot = 59,
TK_Assign = 69,
TK_StarAssign = 79,
TK_SlashAssign = 80,
@@ -101,26 +101,26 @@ public interface UPCSizeofExpressionParsersym {
TK_AndAssign = 86,
TK_CaretAssign = 87,
TK_OrAssign = 88,
- TK_Comma = 54,
- TK_RightBracket = 59,
- TK_RightParen = 50,
- TK_RightBrace = 55,
+ TK_Comma = 38,
+ TK_RightBracket = 58,
+ TK_RightParen = 39,
+ TK_RightBrace = 52,
TK_SemiColon = 75,
- TK_MYTHREAD = 31,
- TK_THREADS = 32,
- TK_UPC_MAX_BLOCKSIZE = 33,
+ TK_MYTHREAD = 27,
+ TK_THREADS = 28,
+ TK_UPC_MAX_BLOCKSIZE = 29,
TK_relaxed = 9,
TK_shared = 10,
TK_strict = 11,
TK_upc_barrier = 103,
- TK_upc_localsizeof = 34,
- TK_upc_blocksizeof = 35,
- TK_upc_elemsizeof = 36,
+ TK_upc_localsizeof = 30,
+ TK_upc_blocksizeof = 31,
+ TK_upc_elemsizeof = 32,
TK_upc_notify = 104,
TK_upc_fence = 105,
TK_upc_wait = 106,
TK_upc_forall = 107,
- TK_ERROR_TOKEN = 56,
+ TK_ERROR_TOKEN = 60,
TK_EOF_TOKEN = 89;
public final static String orderedTerminalSymbols[] = {
@@ -136,23 +136,19 @@ public interface UPCSizeofExpressionParsersym {
"relaxed",
"shared",
"strict",
- "static",
- "LeftBracket",
"Plus",
"Minus",
+ "LeftBracket",
"And",
- "auto",
- "extern",
- "inline",
- "register",
- "typedef",
"PlusPlus",
"MinusMinus",
"sizeof",
+ "static",
"integer",
"floating",
"charconst",
"stringlit",
+ "LeftBrace",
"Tilde",
"Bang",
"MYTHREAD",
@@ -161,7 +157,13 @@ public interface UPCSizeofExpressionParsersym {
"upc_localsizeof",
"upc_blocksizeof",
"upc_elemsizeof",
- "LeftBrace",
+ "auto",
+ "extern",
+ "inline",
+ "register",
+ "typedef",
+ "Comma",
+ "RightParen",
"char",
"double",
"float",
@@ -174,17 +176,15 @@ public interface UPCSizeofExpressionParsersym {
"_Bool",
"_Complex",
"_Imaginary",
- "RightParen",
+ "RightBrace",
"enum",
"struct",
"union",
- "Comma",
- "RightBrace",
- "ERROR_TOKEN",
"RightShift",
"LeftShift",
"RightBracket",
"DotDotDot",
+ "ERROR_TOKEN",
"Dot",
"Slash",
"Percent",
diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTCompositeTypeSpecifier.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTCompositeTypeSpecifier.java
index bab284dadd8..472ebfd6300 100644
--- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTCompositeTypeSpecifier.java
+++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTCompositeTypeSpecifier.java
@@ -1,11 +1,11 @@
/*******************************************************************************
- * Copyright (c) 2006, 2007 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:
+ * Copyright (c) 2006, 2008 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.internal.core.dom.parser.upc.ast;
@@ -18,9 +18,7 @@ import org.eclipse.cdt.core.dom.upc.ast.IUPCASTCompositeTypeSpecifier;
import org.eclipse.cdt.internal.core.dom.parser.c.CASTCompositeTypeSpecifier;
@SuppressWarnings("restriction")
-public class UPCASTCompositeTypeSpecifier extends CASTCompositeTypeSpecifier implements
- IUPCASTCompositeTypeSpecifier {
-
+public class UPCASTCompositeTypeSpecifier extends CASTCompositeTypeSpecifier implements IUPCASTCompositeTypeSpecifier {
private int referenceType;
private int sharedQualifier;
@@ -37,6 +35,7 @@ public class UPCASTCompositeTypeSpecifier extends CASTCompositeTypeSpecifier imp
super(key, name);
setBlockSizeExpression(blockSizeExpression);
}
+
public IASTExpression getBlockSizeExpression() {
return blockSizeExpression;
diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTElaboratedTypeSpecifier.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTElaboratedTypeSpecifier.java
index 2c1fe06e17d..605d813de18 100644
--- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTElaboratedTypeSpecifier.java
+++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTElaboratedTypeSpecifier.java
@@ -1,11 +1,11 @@
/*******************************************************************************
- * Copyright (c) 2006, 2007 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:
+ * Copyright (c) 2006, 2008 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.internal.core.dom.parser.upc.ast;
@@ -35,7 +35,7 @@ public class UPCASTElaboratedTypeSpecifier extends CASTElaboratedTypeSpecifier i
super(kind, name);
setBlockSizeExpression(blockSizeExpression);
}
-
+
public IASTExpression getBlockSizeExpression() {
return blockSizeExpression;
}
diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTEnumerationSpecifier.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTEnumerationSpecifier.java
index 1e6893ac4e6..f4e4915f4e4 100644
--- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTEnumerationSpecifier.java
+++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTEnumerationSpecifier.java
@@ -1,11 +1,11 @@
/*******************************************************************************
- * Copyright (c) 2006, 2007 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:
+ * Copyright (c) 2006, 2008 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.internal.core.dom.parser.upc.ast;
@@ -17,8 +17,7 @@ import org.eclipse.cdt.core.dom.upc.ast.IUPCASTEnumerationSpecifier;
import org.eclipse.cdt.internal.core.dom.parser.c.CASTEnumerationSpecifier;
@SuppressWarnings("restriction")
-public class UPCASTEnumerationSpecifier extends CASTEnumerationSpecifier
- implements IUPCASTEnumerationSpecifier {
+public class UPCASTEnumerationSpecifier extends CASTEnumerationSpecifier implements IUPCASTEnumerationSpecifier {
private int referenceType;
private int sharedQualifier;
@@ -37,6 +36,7 @@ public class UPCASTEnumerationSpecifier extends CASTEnumerationSpecifier
setBlockSizeExpression(blockSizeExpression);
}
+
public IASTExpression getBlockSizeExpression() {
return blockSizeExpression;
}
diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTForallStatement.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTForallStatement.java
index 55e29f94039..34e10f8a66c 100644
--- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTForallStatement.java
+++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTForallStatement.java
@@ -1,11 +1,11 @@
/*******************************************************************************
- * Copyright (c) 2006, 2007 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:
+ * Copyright (c) 2006, 2008 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.internal.core.dom.parser.upc.ast;
@@ -31,7 +31,8 @@ public class UPCASTForallStatement extends CASTForStatement implements IUPCASTFo
super(init, condition, iterationExpression, body);
setAffinityExpression(affinity);
}
-
+
+
public boolean isAffinityContinue() {
return affinityContinue;
}
diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTKeywordExpression.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTKeywordExpression.java
index 3514a366db8..0bef33b65c1 100644
--- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTKeywordExpression.java
+++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTKeywordExpression.java
@@ -1,11 +1,11 @@
/*******************************************************************************
- * Copyright (c) 2006, 2007 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:
+ * Copyright (c) 2006, 2008 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.internal.core.dom.parser.upc.ast;
@@ -14,11 +14,11 @@ import org.eclipse.cdt.core.dom.ast.ASTVisitor;
import org.eclipse.cdt.core.dom.ast.IBasicType;
import org.eclipse.cdt.core.dom.ast.IType;
import org.eclipse.cdt.core.dom.upc.ast.IUPCASTKeywordExpression;
-import org.eclipse.cdt.internal.core.dom.parser.c.CASTNode;
+import org.eclipse.cdt.internal.core.dom.parser.ASTNode;
import org.eclipse.cdt.internal.core.dom.parser.c.CBasicType;
@SuppressWarnings("restriction")
-public class UPCASTKeywordExpression extends CASTNode implements IUPCASTKeywordExpression {
+public class UPCASTKeywordExpression extends ASTNode implements IUPCASTKeywordExpression {
private int keywordKind;
@@ -29,6 +29,12 @@ public class UPCASTKeywordExpression extends CASTNode implements IUPCASTKeywordE
public UPCASTKeywordExpression(int keywordKind) {
this.keywordKind = keywordKind;
}
+
+ public UPCASTKeywordExpression copy() {
+ UPCASTKeywordExpression copy = new UPCASTKeywordExpression(keywordKind);
+ copy.setOffsetAndLength(this);
+ return copy;
+ }
public int getKeywordKind() {
return keywordKind;
diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTLayoutQualifier.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTLayoutQualifier.java
index 66b955eb09d..5e210f665bc 100644
--- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTLayoutQualifier.java
+++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTLayoutQualifier.java
@@ -1,19 +1,21 @@
/*******************************************************************************
- * Copyright (c) 2006, 2007 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:
+ * Copyright (c) 2006, 2008 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.internal.core.dom.parser.upc.ast;
import org.eclipse.cdt.core.dom.ast.IASTExpression;
import org.eclipse.cdt.core.dom.upc.ast.IUPCASTLayoutQualifier;
+import org.eclipse.cdt.internal.core.dom.parser.ASTNode;
-public class UPCASTLayoutQualifier implements IUPCASTLayoutQualifier {
+@SuppressWarnings("restriction")
+public class UPCASTLayoutQualifier extends ASTNode implements IUPCASTLayoutQualifier {
private boolean isPure;
diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTSimpleDeclSpecifier.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTSimpleDeclSpecifier.java
index cd9e135027d..7825e63ed82 100644
--- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTSimpleDeclSpecifier.java
+++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTSimpleDeclSpecifier.java
@@ -1,11 +1,11 @@
/*******************************************************************************
- * Copyright (c) 2006, 2007 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:
+ * Copyright (c) 2006, 2008 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.internal.core.dom.parser.upc.ast;
@@ -31,6 +31,7 @@ public class UPCASTSimpleDeclSpecifier extends CASTSimpleDeclSpecifier
setBlockSizeExpression(blockSizeExpression);
}
+
public IASTExpression getBlockSizeExpression() {
return blockSizeExpression;
}
diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTSynchronizationStatement.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTSynchronizationStatement.java
index 4f8692543de..0102e5afebf 100644
--- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTSynchronizationStatement.java
+++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTSynchronizationStatement.java
@@ -1,11 +1,11 @@
/*******************************************************************************
- * Copyright (c) 2006, 2007 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:
+ * Copyright (c) 2006, 2008 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.internal.core.dom.parser.upc.ast;
@@ -13,10 +13,10 @@ package org.eclipse.cdt.internal.core.dom.parser.upc.ast;
import org.eclipse.cdt.core.dom.ast.ASTVisitor;
import org.eclipse.cdt.core.dom.ast.IASTExpression;
import org.eclipse.cdt.core.dom.upc.ast.IUPCASTSynchronizationStatement;
-import org.eclipse.cdt.internal.core.dom.parser.c.CASTNode;
+import org.eclipse.cdt.internal.core.dom.parser.ASTNode;
@SuppressWarnings("restriction")
-public class UPCASTSynchronizationStatement extends CASTNode implements IUPCASTSynchronizationStatement {
+public class UPCASTSynchronizationStatement extends ASTNode implements IUPCASTSynchronizationStatement {
private int statmentKind;
private IASTExpression barrierExpression = null;
@@ -30,6 +30,7 @@ public class UPCASTSynchronizationStatement extends CASTNode implements IUPCASTS
this.statmentKind = statmentKind;
}
+
public IASTExpression getBarrierExpression() {
return barrierExpression;
}
diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTTypeIdSizeofExpression.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTTypeIdSizeofExpression.java
index 1efcafc9a32..aac3570e37d 100644
--- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTTypeIdSizeofExpression.java
+++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTTypeIdSizeofExpression.java
@@ -21,6 +21,7 @@ public class UPCASTTypeIdSizeofExpression extends CASTTypeIdExpression implement
private int upcSizeofOperator;
public UPCASTTypeIdSizeofExpression() {
+ this(null);
}
public UPCASTTypeIdSizeofExpression(IASTTypeId typeId) {
diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTTypedefNameSpecifier.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTTypedefNameSpecifier.java
index d50615945f6..2b620c8f007 100644
--- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTTypedefNameSpecifier.java
+++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTTypedefNameSpecifier.java
@@ -1,11 +1,11 @@
/*******************************************************************************
- * Copyright (c) 2006, 2007 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:
+ * Copyright (c) 2006, 2008 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.internal.core.dom.parser.upc.ast;
@@ -17,9 +17,7 @@ import org.eclipse.cdt.core.dom.upc.ast.IUPCASTTypedefNameSpecifier;
import org.eclipse.cdt.internal.core.dom.parser.c.CASTTypedefNameSpecifier;
@SuppressWarnings("restriction")
-public class UPCASTTypedefNameSpecifier extends CASTTypedefNameSpecifier
- implements IUPCASTTypedefNameSpecifier {
-
+public class UPCASTTypedefNameSpecifier extends CASTTypedefNameSpecifier implements IUPCASTTypedefNameSpecifier {
private int referenceType;
private int sharedQualifier;
@@ -29,11 +27,15 @@ public class UPCASTTypedefNameSpecifier extends CASTTypedefNameSpecifier
public UPCASTTypedefNameSpecifier() {
}
+ public UPCASTTypedefNameSpecifier(IASTName name) {
+ super(name);
+ }
+
public UPCASTTypedefNameSpecifier(IASTName name, IASTExpression blockSizeExpression) {
super(name);
setBlockSizeExpression(blockSizeExpression);
}
-
+
public IASTExpression getBlockSizeExpression() {
return blockSizeExpression;
}
diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTUnarySizeofExpression.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTUnarySizeofExpression.java
index 5844a586edd..6048b4ca925 100644
--- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTUnarySizeofExpression.java
+++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTUnarySizeofExpression.java
@@ -22,6 +22,7 @@ public class UPCASTUnarySizeofExpression extends CASTUnaryExpression implements
public UPCASTUnarySizeofExpression() {
+ this(null);
}
public UPCASTUnarySizeofExpression(IASTExpression operand) {

Back to the top