Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'lrparser')
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/grammar/build.xml8
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99Grammar.g12
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99NoCastExpressionParser.g4
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99SizeofExpressionParser.g8
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPGrammar.g6
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPSizeofExpressionParser.g6
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/grammar/gcc/GCCGrammar.g106
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/grammar/gcc/GCCParser.g88
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/grammar/gcc/GCCSizeofExpressionParser.g40
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/grammar/gnu/GNUExtensions.g17
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/grammar/gpp/GPPGrammar.g89
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/grammar/gpp/GPPParser.g79
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/grammar/gpp/GPPSizeofExpressionParser.g42
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/grammar/template/FixedBtParserTemplateD.g11
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/IParser.java4
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/BuildASTParserAction.java37
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/ISecondaryParserFactory.java46
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/c99/C99BuildASTParserAction.java25
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/c99/C99SecondaryParserFactory.java40
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPBuildASTParserAction.java42
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPSecondaryParserFactory.java51
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/ICPPSecondaryParserFactory.java29
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/gnu/GCCBuildASTParserAction.java14
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/gnu/GCCSecondaryParserFactory.java40
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/gnu/GNUBuildASTParserAction.java12
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/gnu/GPPSecondaryParserFactory.java52
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParser.java17
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParserprs.java2
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParser.java15
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParserprs.java2
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parser.java17
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parserprs.java2
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParser.java575
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParserprs.java1277
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParsersym.java18
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParser.java1077
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParserprs.java3726
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParsersym.java138
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParser.java1073
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParserprs.java3710
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParsersym.java138
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParser.java1073
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParserprs.java3686
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParsersym.java136
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParser.java1073
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParserprs.java3762
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParsersym.java130
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParser.java1069
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParserprs.java3714
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParsersym.java138
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParser.java1077
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParserprs.java3726
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParsersym.java136
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCParser.java58
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCParserprs.java2385
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCParsersym.java170
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCSizeofExpressionParser.java1322
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCSizeofExpressionParserprs.java1369
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCSizeofExpressionParsersym.java224
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPParser.java1104
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPParserprs.java4615
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPParsersym.java214
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPSizeofExpressionParser.java2007
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPSizeofExpressionParserprs.java3039
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPSizeofExpressionParsersym.java280
65 files changed, 28933 insertions, 20269 deletions
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/build.xml b/lrparser/org.eclipse.cdt.core.lrparser/grammar/build.xml
index 98ca77680a5..f1a71b9c8de 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/build.xml
+++ b/lrparser/org.eclipse.cdt.core.lrparser/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
@@ -75,6 +75,9 @@
<antcall target="generate_gcc">
<param name="grammar_name" value="GCCParser"/>
</antcall>
+ <antcall target="generate_gcc">
+ <param name="grammar_name" value="GCCSizeofExpressionParser"/>
+ </antcall>
</target>
@@ -129,6 +132,9 @@
<antcall target="generate_gpp">
<param name="grammar_name" value="GPPParser"/>
</antcall>
+ <antcall target="generate_gpp">
+ <param name="grammar_name" value="GPPSizeofExpressionParser"/>
+ </antcall>
</target>
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99Grammar.g b/lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99Grammar.g
index 07e488b50fc..b76e4234546 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99Grammar.g
+++ b/lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99Grammar.g
@@ -1,5 +1,5 @@
-----------------------------------------------------------------------------------
--- Copyright (c) 2006, 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
@@ -96,6 +96,7 @@ $Globals
/.
import org.eclipse.cdt.internal.core.dom.parser.c.CNodeFactory;
import org.eclipse.cdt.core.dom.lrparser.action.c99.C99BuildASTParserAction;
+ import org.eclipse.cdt.core.dom.lrparser.action.c99.C99SecondaryParserFactory;
./
$End
@@ -104,6 +105,7 @@ $End
$Define
$build_action_class /. C99BuildASTParserAction ./
$node_factory_create_expression /. CNodeFactory.getDefault() ./
+ $parser_factory_create_expression /. C99SecondaryParserFactory.getDefault() ./
$End
@@ -186,7 +188,7 @@ postfix_expression
/. $Build consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); $EndBuild ./
| postfix_expression '--'
/. $Build consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); $EndBuild ./
- | '(' type_name ')' '{' <openscope-ast> initializer_list comma_opt '}'
+ | '(' type_id ')' '{' <openscope-ast> initializer_list comma_opt '}'
/. $Build consumeExpressionTypeIdInitializer(); $EndBuild ./
@@ -220,13 +222,13 @@ unary_expression
/. $Build consumeExpressionUnaryOperator(IASTUnaryExpression.op_not); $EndBuild ./
| 'sizeof' unary_expression
/. $Build consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof); $EndBuild ./
- | 'sizeof' '(' type_name ')'
+ | 'sizeof' '(' type_id ')'
/. $Build consumeExpressionTypeId(IASTTypeIdExpression.op_sizeof); $EndBuild ./
cast_expression
::= unary_expression
- | '(' type_name ')' cast_expression
+ | '(' type_id ')' cast_expression
/. $Build consumeExpressionCast(IASTCastExpression.op_cast); $EndBuild ./
@@ -845,7 +847,7 @@ complete_parameter_declarator
-- only used in expressions, eg) sizeof, casts etc...
-type_name
+type_id
::= specifier_qualifier_list
/. $Build consumeTypeId(false); $EndBuild ./
| specifier_qualifier_list abstract_declarator
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99NoCastExpressionParser.g b/lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99NoCastExpressionParser.g
index 3d63ced995f..a09c257f449 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99NoCastExpressionParser.g
+++ b/lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99NoCastExpressionParser.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
@@ -18,7 +18,7 @@ $Import
$DropRules
cast_expression
- ::= '(' type_name ')' cast_expression
+ ::= '(' type_id ')' cast_expression
$End
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99SizeofExpressionParser.g b/lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99SizeofExpressionParser.g
index a4f28e80ca3..764953a5ad2 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99SizeofExpressionParser.g
+++ b/lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99SizeofExpressionParser.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
@@ -19,17 +19,17 @@ $Import
$DropRules
unary_expression
- ::= 'sizeof' '(' type_name ')'
+ ::= 'sizeof' '(' type_id ')'
$End
$Start
- no_sizeof_type_name_start
+ no_sizeof_type_id_start
$End
$Rules
- no_sizeof_type_name_start
+ no_sizeof_type_id_start
::= expression
| ERROR_TOKEN
/. $Build consumeExpressionProblem(); $EndBuild ./
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPGrammar.g b/lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPGrammar.g
index 0fdc046318d..69a2b608f54 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPGrammar.g
+++ b/lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPGrammar.g
@@ -1,5 +1,5 @@
----------------------------------------------------------------------------------
--- Copyright (c) 2006, 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
@@ -103,6 +103,7 @@ $Globals
import org.eclipse.cdt.core.dom.ast.cpp.*;
import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPNodeFactory;
import org.eclipse.cdt.core.dom.lrparser.action.cpp.CPPBuildASTParserAction;
+ import org.eclipse.cdt.core.dom.lrparser.action.cpp.CPPSecondaryParserFactory;
./
$End
@@ -110,6 +111,7 @@ $End
$Define
$build_action_class /. CPPBuildASTParserAction ./
$node_factory_create_expression /. CPPNodeFactory.getDefault() ./
+ $parser_factory_create_expression /. CPPSecondaryParserFactory.getDefault() ./
$End
@@ -178,8 +180,6 @@ identifier_token
literal
::= 'integer'
/. $Build consumeExpressionLiteral(ICPPASTLiteralExpression.lk_integer_constant); $EndBuild ./
- | '0'
- /. $Build consumeExpressionLiteral(ICPPASTLiteralExpression.lk_integer_constant); $EndBuild ./
| 'floating'
/. $Build consumeExpressionLiteral(ICPPASTLiteralExpression.lk_float_constant); $EndBuild ./
| 'charconst'
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPSizeofExpressionParser.g b/lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPSizeofExpressionParser.g
index a98badc4ff3..ac3994d60c3 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPSizeofExpressionParser.g
+++ b/lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPSizeofExpressionParser.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
@@ -27,12 +27,12 @@ $DropRules
$End
$Start
- no_sizeof_type_name_start
+ no_sizeof_type_id_start
$End
$Rules
- no_sizeof_type_name_start
+ no_sizeof_type_id_start
::= expression
| ERROR_TOKEN
/. $Build consumeExpressionProblem(); $EndBuild ./
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/gcc/GCCGrammar.g b/lrparser/org.eclipse.cdt.core.lrparser/grammar/gcc/GCCGrammar.g
new file mode 100644
index 00000000000..a4e8a03f248
--- /dev/null
+++ b/lrparser/org.eclipse.cdt.core.lrparser/grammar/gcc/GCCGrammar.g
@@ -0,0 +1,106 @@
+-----------------------------------------------------------------------------------
+-- 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
+-----------------------------------------------------------------------------------
+
+
+-- For this to work the environment variable LPG_INCLUDE must be set up
+-- to point at the directory where the C99Parser.g file is located.
+$Import
+ ../c99/C99Grammar.g
+$End
+
+$Import
+ ../gnu/GNUExtensions.g
+$End
+
+
+-- Tokens used by GCC but not part of the C99 spec
+$Terminals
+
+ asm
+
+$End
+
+
+$Globals
+/.
+ import org.eclipse.cdt.core.dom.lrparser.action.gnu.GCCBuildASTParserAction;
+ import org.eclipse.cdt.core.dom.lrparser.action.gnu.GCCSecondaryParserFactory;
+./
+$End
+
+$Define
+
+ $gnu_action_class /. GCCBuildASTParserAction ./
+ $parser_factory_create_expression /. GCCSecondaryParserFactory.getDefault() ./
+
+$End
+
+
+$Rules
+
+
+declaration
+ ::= extended_asm_declaration
+
+
+no_type_declaration_specifier
+ ::= attribute_or_decl_specifier
+
+complete_declarator
+ ::= attribute_or_decl_specifier_seq declarator
+ | declarator attribute_or_decl_specifier_seq
+ | attribute_or_decl_specifier_seq declarator attribute_or_decl_specifier_seq
+
+complete_struct_declarator
+ ::= attribute_or_decl_specifier_seq struct_declarator
+ | struct_declarator attribute_or_decl_specifier_seq
+ | attribute_or_decl_specifier_seq struct_declarator attribute_or_decl_specifier_seq
+
+enum_specifier_hook
+ ::= attribute_or_decl_specifier_seq
+
+struct_or_union_specifier_hook
+ ::= attribute_or_decl_specifier_seq
+
+struct_or_union_specifier_suffix_hook
+ ::= attribute_or_decl_specifier_seq
+
+pointer_hook
+ ::= attribute_or_decl_specifier_seq
+
+elaborated_specifier_hook
+ ::= attribute_or_decl_specifier_seq
+
+
+
+
+
+-- GCC extensions to designated initializers
+
+designator_base
+ ::= field_name_designator
+ | array_range_designator
+
+field_name_designator
+ ::= identifier_token ':'
+ /. $BeginAction gnuAction.consumeDesignatorField(); $EndAction ./
+
+array_range_designator
+ ::= '[' constant_expression '...' constant_expression ']'
+ /. $BeginAction gnuAction.consumeDesignatorArray(); $EndAction ./
+
+designated_initializer
+ ::= <openscope-ast> field_name_designator initializer
+ /. $Build consumeInitializerDesignated(); $EndBuild ./
+
+
+
+$End \ No newline at end of file
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/gcc/GCCParser.g b/lrparser/org.eclipse.cdt.core.lrparser/grammar/gcc/GCCParser.g
index 422301e7999..b93fb6a77cb 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/gcc/GCCParser.g
+++ b/lrparser/org.eclipse.cdt.core.lrparser/grammar/gcc/GCCParser.g
@@ -1,5 +1,5 @@
-----------------------------------------------------------------------------------
--- Copyright (c) 2006, 2008 IBM Corporation and others.
+-- 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
@@ -14,89 +14,13 @@
%options template=FixedBtParserTemplateD.g
--- For this to work the environment variable LPG_INCLUDE must be set up
--- to point at the directory where the C99Parser.g file is located.
-$Import
- ../c99/C99Parser.g
-$End
+-- This file is needed because LPG won't allow redefinition of the
+-- start symbol, so C99Grammar.g cannot define a start symbol.
$Import
- ../gnu/GNUExtensions.g
-$End
-
-
--- Tokens used by GCC but not part of the C99 spec
-$Terminals
-
- asm
-
-$End
-
-
-$Globals
-/.
- import org.eclipse.cdt.core.dom.lrparser.action.gnu.GCCBuildASTParserAction;
-./
+ GCCGrammar.g
$End
-$Define
-
- $gnu_action_class /. GCCBuildASTParserAction ./
-
-$End
-
-
-$Rules
-
-
-declaration
- ::= extended_asm_declaration
-
-
-no_type_declaration_specifier
- ::= attribute_or_decl_specifier
-
-complete_declarator
- ::= attribute_or_decl_specifier_seq declarator
- | declarator attribute_or_decl_specifier_seq
- | attribute_or_decl_specifier_seq declarator attribute_or_decl_specifier_seq
-
-complete_struct_declarator
- ::= attribute_or_decl_specifier_seq struct_declarator
- | struct_declarator attribute_or_decl_specifier_seq
- | attribute_or_decl_specifier_seq struct_declarator attribute_or_decl_specifier_seq
-
-enum_specifier_hook
- ::= attribute_or_decl_specifier_seq
-
-struct_or_union_specifier_hook
- ::= attribute_or_decl_specifier_seq
-
-struct_or_union_specifier_suffix_hook
- ::= attribute_or_decl_specifier_seq
-
-pointer_hook
- ::= attribute_or_decl_specifier_seq
-
-elaborated_specifier_hook
- ::= attribute_or_decl_specifier_seq
-
-
-
-
-
-
-
-designator_base
- ::= identifier_token ':'
- /. $BeginAction gnuAction.consumeDesignatorField(); $EndAction ./
- | '[' constant_expression '...' constant_expression ']'
- /. $BeginAction gnuAction.consumeDesignatorArray(); $EndAction ./
-
-
-
-
-
-
-
+$Start
+ translation_unit
$End \ No newline at end of file
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/gcc/GCCSizeofExpressionParser.g b/lrparser/org.eclipse.cdt.core.lrparser/grammar/gcc/GCCSizeofExpressionParser.g
new file mode 100644
index 00000000000..36eac42269d
--- /dev/null
+++ b/lrparser/org.eclipse.cdt.core.lrparser/grammar/gcc/GCCSizeofExpressionParser.g
@@ -0,0 +1,40 @@
+-----------------------------------------------------------------------------------
+-- 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
+-----------------------------------------------------------------------------------
+
+%options la=2
+%options package=org.eclipse.cdt.internal.core.dom.lrparser.gcc
+%options template=FixedBtParserTemplateD.g
+
+
+$Import
+ GCCGrammar.g
+$DropRules
+
+ unary_expression
+ ::= 'sizeof' '(' type_id ')'
+ | '__alignof__' '(' type_id ')'
+ | 'typeof' '(' type_id ')'
+
+$End
+
+
+$Start
+ no_sizeof_type_name_start
+$End
+
+$Rules
+
+ no_sizeof_type_name_start
+ ::= expression
+ | ERROR_TOKEN
+ /. $Build consumeExpressionProblem(); $EndBuild ./
+
+$End \ No newline at end of file
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/gnu/GNUExtensions.g b/lrparser/org.eclipse.cdt.core.lrparser/grammar/gnu/GNUExtensions.g
index 9690df45e44..b7acd7c967a 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/gnu/GNUExtensions.g
+++ b/lrparser/org.eclipse.cdt.core.lrparser/grammar/gnu/GNUExtensions.g
@@ -1,5 +1,5 @@
-----------------------------------------------------------------------------------
--- Copyright (c) 2006, 2008 IBM Corporation and others.
+-- 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
@@ -40,7 +40,7 @@ $Define
$action_initializations /.
- gnuAction = new $gnu_action_class ($node_factory_create_expression, this, tu, astStack);
+ gnuAction = new $gnu_action_class (this, tu, astStack, $node_factory_create_expression);
gnuAction.setParserOptions(options);
./
@@ -135,5 +135,18 @@ extended_asm_param
| 'stringlit' '(' '*' 'identifier' ')'
+
+unary_expression
+ ::= '__alignof__' unary_expression
+ /. $Build consumeExpressionUnaryOperator(IASTUnaryExpression.op_alignOf); $EndBuild ./
+ | '__alignof__' '(' type_id ')'
+ /. $Build consumeExpressionTypeId(IASTTypeIdExpression.op_alignof); $EndBuild ./
+ | 'typeof' unary_expression
+ /. $Build consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); $EndBuild ./
+ | 'typeof' '(' type_id ')'
+ /. $Build consumeExpressionTypeId(IASTTypeIdExpression.op_typeof); $EndBuild ./
+
+
+
$End
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/gpp/GPPGrammar.g b/lrparser/org.eclipse.cdt.core.lrparser/grammar/gpp/GPPGrammar.g
new file mode 100644
index 00000000000..ad1d14a61ef
--- /dev/null
+++ b/lrparser/org.eclipse.cdt.core.lrparser/grammar/gpp/GPPGrammar.g
@@ -0,0 +1,89 @@
+-----------------------------------------------------------------------------------
+-- 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
+-----------------------------------------------------------------------------------
+
+%options la=2
+%options package=org.eclipse.cdt.internal.core.dom.lrparser.gpp
+%options template=FixedBtParserTemplateD.g
+
+
+-- For this to work the environment variable LPG_INCLUDE must be set up
+-- to point at the directory where the CPPParser.g file is located.
+$Import
+ ../cpp/CPPGrammar.g
+
+$DropRules
+
+-- will be replaced by extended asm syntax
+asm_definition
+ ::= 'asm' '(' 'stringlit' ')' ';'
+
+
+$End
+
+
+$Import
+ ../gnu/GNUExtensions.g
+$End
+
+$Globals
+/.
+ import org.eclipse.cdt.core.dom.lrparser.action.gnu.GNUBuildASTParserAction;
+ import org.eclipse.cdt.core.dom.lrparser.action.gnu.GPPSecondaryParserFactory;
+./
+$End
+
+$Define
+
+ $gnu_action_class /. GNUBuildASTParserAction ./
+ $parser_factory_create_expression /. GPPSecondaryParserFactory.getDefault() ./
+
+$End
+
+$Rules
+
+
+asm_definition
+ ::= extended_asm_declaration
+
+
+no_type_declaration_specifier
+ ::= attribute_or_decl_specifier
+
+complete_declarator
+ ::= attribute_or_decl_specifier_seq declarator
+ | declarator attribute_or_decl_specifier_seq
+ | attribute_or_decl_specifier_seq declarator attribute_or_decl_specifier_seq
+
+member_declarator_complete
+ ::= attribute_or_decl_specifier_seq member_declarator_complete
+ | member_declarator_complete attribute_or_decl_specifier_seq
+ | attribute_or_decl_specifier_seq member_declarator_complete attribute_or_decl_specifier_seq
+
+enum_specifier_hook
+ ::= attribute_or_decl_specifier_seq
+
+composite_specifier_hook
+ ::= attribute_or_decl_specifier_seq
+
+class_name_suffix_hook
+ ::= attribute_or_decl_specifier_seq
+
+pointer_hook
+ ::= attribute_or_decl_specifier_seq
+
+declarator
+ ::= <openscope-ast> ptr_operator_seq attribute_or_decl_specifier_seq direct_declarator
+ /. $Build consumeDeclaratorWithPointer(true); $EndBuild ./
+
+elaborated_specifier_hook
+ ::= attribute_or_decl_specifier_seq
+
+$End \ No newline at end of file
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/gpp/GPPParser.g b/lrparser/org.eclipse.cdt.core.lrparser/grammar/gpp/GPPParser.g
index 0939288b92a..22c2ad79dc1 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/gpp/GPPParser.g
+++ b/lrparser/org.eclipse.cdt.core.lrparser/grammar/gpp/GPPParser.g
@@ -1,87 +1,26 @@
------------------------------------------------------------------------------------
--- Copyright (c) 2008 IBM Corporation and others.
+----------------------------------------------------------------------------------
+-- 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
+-- http://www.eclipse.org/legal/epl_v10.html
--
-- Contributors:
-- IBM Corporation - initial API and implementation
------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------
%options la=2
%options package=org.eclipse.cdt.internal.core.dom.lrparser.gpp
%options template=FixedBtParserTemplateD.g
--- For this to work the environment variable LPG_INCLUDE must be set up
--- to point at the directory where the CPPParser.g file is located.
-$Import
- ../cpp/CPPParser.g
-
-$DropRules
-
--- will be replaced by extended asm syntax
-asm_definition
- ::= 'asm' '(' 'stringlit' ')' ';'
-
-
-$End
-
+-- This file is needed because LPG won't allow redefinition of the
+-- start symbol, so CPPGrammar.g cannot define a start symbol.
$Import
- ../gnu/GNUExtensions.g
+ GPPGrammar.g
$End
-$Globals
-/.
- import org.eclipse.cdt.core.dom.lrparser.action.gnu.GNUBuildASTParserAction;
-./
-$End
-
-$Define
-
- $gnu_action_class /. GNUBuildASTParserAction ./
-
-$End
-
-$Rules
-
-
-asm_definition
- ::= extended_asm_declaration
-
-
-no_type_declaration_specifier
- ::= attribute_or_decl_specifier
-
-complete_declarator
- ::= attribute_or_decl_specifier_seq declarator
- | declarator attribute_or_decl_specifier_seq
- | attribute_or_decl_specifier_seq declarator attribute_or_decl_specifier_seq
-
-member_declarator_complete
- ::= attribute_or_decl_specifier_seq member_declarator_complete
- | member_declarator_complete attribute_or_decl_specifier_seq
- | attribute_or_decl_specifier_seq member_declarator_complete attribute_or_decl_specifier_seq
-
-enum_specifier_hook
- ::= attribute_or_decl_specifier_seq
-
-composite_specifier_hook
- ::= attribute_or_decl_specifier_seq
-
-class_name_suffix_hook
- ::= attribute_or_decl_specifier_seq
-
-pointer_hook
- ::= attribute_or_decl_specifier_seq
-
-declarator
- ::= <openscope-ast> ptr_operator_seq attribute_or_decl_specifier_seq direct_declarator
- /. $Build consumeDeclaratorWithPointer(true); $EndBuild ./
-
-elaborated_specifier_hook
- ::= attribute_or_decl_specifier_seq
-
+$Start
+ translation_unit
$End \ No newline at end of file
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/gpp/GPPSizeofExpressionParser.g b/lrparser/org.eclipse.cdt.core.lrparser/grammar/gpp/GPPSizeofExpressionParser.g
new file mode 100644
index 00000000000..285a2391385
--- /dev/null
+++ b/lrparser/org.eclipse.cdt.core.lrparser/grammar/gpp/GPPSizeofExpressionParser.g
@@ -0,0 +1,42 @@
+-----------------------------------------------------------------------------------
+-- 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
+-----------------------------------------------------------------------------------
+
+%options la=2
+%options package=org.eclipse.cdt.internal.core.dom.lrparser.gpp
+%options template=FixedBtParserTemplateD.g
+
+
+$Import
+ GPPGrammar.g
+$DropRules
+
+ unary_expression
+ ::= 'sizeof' '(' type_id ')'
+ | '__alignof__' '(' type_id ')'
+ | 'typeof' '(' type_id ')'
+
+ postfix_expression
+ ::= 'typeid' '(' type_id ')'
+
+$End
+
+$Start
+ no_sizeof_type_id_start
+$End
+
+$Rules
+
+ no_sizeof_type_id_start
+ ::= expression
+ | ERROR_TOKEN
+ /. $Build consumeExpressionProblem(); $EndBuild ./
+
+$End \ No newline at end of file
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/template/FixedBtParserTemplateD.g b/lrparser/org.eclipse.cdt.core.lrparser/grammar/template/FixedBtParserTemplateD.g
index bc5892463c1..42935081266 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/template/FixedBtParserTemplateD.g
+++ b/lrparser/org.eclipse.cdt.core.lrparser/grammar/template/FixedBtParserTemplateD.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
@@ -320,7 +320,8 @@ $Define
$additional_interfaces /. , IParserActionTokenProvider, IParser $extra_interfaces ./
$build_action_class /. ./ -- name of the class that has the AST building callbacks
- $node_factory_create_expression /. ./ -- expression that will create the node factory
+ $node_factory_create_expression /. ./ -- expression that will create the INodeFactory
+ $parser_factory_create_expression /. ./ -- expression that will create the ISecondaryParserFactory
$action_initializations /. ./
@@ -349,7 +350,7 @@ $Headers
}
private void initActions(IASTTranslationUnit tu, Set<IParser.Options> options) {
- action = new $build_action_class($node_factory_create_expression, this, tu, astStack);
+ action = new $build_action_class(this, tu, astStack, $node_factory_create_expression, $parser_factory_create_expression);
action.setParserOptions(options);
$action_initializations
@@ -422,8 +423,8 @@ $Headers
addToken(new Token(null, 0, 0, $sym_type.TK_EOF_TOKEN));
}
- public $action_type(String[] mapFrom) { // constructor
- tokenMap = new TokenMap($sym_type.orderedTerminalSymbols, mapFrom);
+ public $action_type(IParserActionTokenProvider parser) { // constructor
+ tokenMap = new TokenMap($sym_type.orderedTerminalSymbols, parser.getOrderedTerminalSymbols());
}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/IParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/IParser.java
index 61ffd482daa..3ccb1b18c2a 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/IParser.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/IParser.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
@@ -37,6 +37,8 @@ public interface IParser extends ITokenCollector {
* The LR parsers do not actually skip the parsing of function bodies,
* but this option does have the effect of not generating AST nodes
* for function bodies.
+ *
+ * TODO Implement this
*/
//OPTION_SKIP_FUNCTION_BODIES,
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/BuildASTParserAction.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/BuildASTParserAction.java
index 401388ec4da..d66e66389c3 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/BuildASTParserAction.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/BuildASTParserAction.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2006, 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
@@ -91,6 +91,9 @@ public abstract class BuildASTParserAction extends AbstractParserAction {
/** Abstract factory for creating AST node objects */
private final INodeFactory nodeFactory;
+ /** Abstract factory for creating secondary parsers */
+ private final ISecondaryParserFactory parserFactory;
+
/**
* Returns true if the token is an identifier.
@@ -98,39 +101,23 @@ public abstract class BuildASTParserAction extends AbstractParserAction {
protected abstract boolean isIdentifierToken(IToken token);
- /**
- * Get the parser that will recognize expressions.
- */
- protected abstract IParser getExpressionParser();
-
-
- /**
- * Expression parser that does not recognize cast expressions,
- * used to disambiguate casts.
- */
- protected abstract IParser getNoCastExpressionParser();
-
-
- /**
- * Expression parser that treats all sizeof and typeid expressions
- * as unary expressions.
- */
- protected abstract IParser getSizeofExpressionParser();
-
-
+
/**
* Create a new parser action.
* @param tu Root node of the AST, its list of declarations should be empty.
* @throws NullPointerException if any of the parameters are null
*/
- public BuildASTParserAction(INodeFactory nodeFactory, IParserActionTokenProvider parser, IASTTranslationUnit tu, ScopedStack<Object> astStack) {
+ public BuildASTParserAction(IParserActionTokenProvider parser, IASTTranslationUnit tu, ScopedStack<Object> astStack, INodeFactory nodeFactory, ISecondaryParserFactory parserFactory) {
super(parser, tu, astStack);
if(nodeFactory == null)
throw new NullPointerException("nodeFactory is null"); //$NON-NLS-1$
+ if(parserFactory == null)
+ throw new NullPointerException("parserFactory is null"); //$NON-NLS-1$
this.nodeFactory = nodeFactory;
+ this.parserFactory = parserFactory;
}
@@ -188,7 +175,7 @@ public abstract class BuildASTParserAction extends AbstractParserAction {
List<IToken> expressionTokens = parser.getRuleTokens();
expressionTokens = expressionTokens.subList(0, expressionTokens.size()-1); // remove the semicolon at the end
- IParser expressionParser = getExpressionParser();
+ IParser expressionParser = parserFactory.getExpressionParser(parser);
IASTExpression expr = (IASTExpression) runSecondaryParser(expressionParser, expressionTokens);
if(expr != null && !(expr instanceof IASTProblemExpression)) { // the parse may fail
@@ -365,7 +352,7 @@ public abstract class BuildASTParserAction extends AbstractParserAction {
IASTNode alternateExpr = null;
if(operator == IASTCastExpression.op_cast) { // don't reparse for dynamic_cast etc as those are not ambiguous
// try parsing as non-cast to resolve ambiguities
- IParser secondaryParser = getNoCastExpressionParser();
+ IParser secondaryParser = parserFactory.getNoCastExpressionParser(parser);
alternateExpr = runSecondaryParser(secondaryParser);
}
@@ -405,7 +392,7 @@ public abstract class BuildASTParserAction extends AbstractParserAction {
setOffsetAndLength(expr);
// try parsing as an expression to resolve ambiguities
- IParser secondaryParser = getSizeofExpressionParser();
+ IParser secondaryParser = parserFactory.getSizeofExpressionParser(parser);
IASTNode alternateExpr = runSecondaryParser(secondaryParser);
if(alternateExpr == null || alternateExpr instanceof IASTProblemExpression)
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/ISecondaryParserFactory.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/ISecondaryParserFactory.java
new file mode 100644
index 00000000000..cf028512340
--- /dev/null
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/ISecondaryParserFactory.java
@@ -0,0 +1,46 @@
+/*******************************************************************************
+ * Copyright (c) 2009 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.cdt.core.dom.lrparser.action;
+
+import org.eclipse.cdt.core.dom.lrparser.IParser;
+import org.eclipse.cdt.core.dom.lrparser.IParserActionTokenProvider;
+
+
+/**
+ * Some ambiguities are resolved by spawning a secondary parser
+ * to re-parse a sequence of tokens using a modified grammar.
+ * This factory is used to create these secondary parsers.
+ *
+ * @author Mike Kucera
+ */
+public interface ISecondaryParserFactory {
+
+
+ /**
+ * Get the parser that will recognize expressions.
+ */
+ IParser getExpressionParser(IParserActionTokenProvider parser);
+
+
+ /**
+ * Expression parser that does not recognize cast expressions,
+ * used to disambiguate casts.
+ */
+ IParser getNoCastExpressionParser(IParserActionTokenProvider parser);
+
+
+ /**
+ * Expression parser that treats all sizeof and typeid expressions
+ * as unary expressions.
+ */
+ IParser getSizeofExpressionParser(IParserActionTokenProvider parser);
+
+}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/c99/C99BuildASTParserAction.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/c99/C99BuildASTParserAction.java
index 825794313e3..400e84ad133 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/c99/C99BuildASTParserAction.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/c99/C99BuildASTParserAction.java
@@ -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
@@ -62,18 +62,15 @@ import org.eclipse.cdt.core.dom.ast.c.ICASTTypeIdInitializerExpression;
import org.eclipse.cdt.core.dom.ast.c.ICASTTypedefNameSpecifier;
import org.eclipse.cdt.core.dom.ast.c.ICNodeFactory;
import org.eclipse.cdt.core.dom.ast.gnu.c.ICASTKnRFunctionDeclarator;
-import org.eclipse.cdt.core.dom.lrparser.IParser;
import org.eclipse.cdt.core.dom.lrparser.IParserActionTokenProvider;
import org.eclipse.cdt.core.dom.lrparser.action.BuildASTParserAction;
+import org.eclipse.cdt.core.dom.lrparser.action.ISecondaryParserFactory;
import org.eclipse.cdt.core.dom.lrparser.action.ITokenMap;
import org.eclipse.cdt.core.dom.lrparser.action.ParserUtil;
import org.eclipse.cdt.core.dom.lrparser.action.ScopedStack;
import org.eclipse.cdt.core.dom.lrparser.action.TokenMap;
import org.eclipse.cdt.core.parser.util.CollectionUtils;
-import org.eclipse.cdt.internal.core.dom.lrparser.c99.C99ExpressionParser;
-import org.eclipse.cdt.internal.core.dom.lrparser.c99.C99NoCastExpressionParser;
import org.eclipse.cdt.internal.core.dom.lrparser.c99.C99Parsersym;
-import org.eclipse.cdt.internal.core.dom.lrparser.c99.C99SizeofExpressionParser;
import org.eclipse.cdt.internal.core.dom.parser.ASTNode;
import org.eclipse.cdt.internal.core.dom.parser.IASTAmbiguousExpression;
import org.eclipse.cdt.internal.core.dom.parser.IASTAmbiguousStatement;
@@ -98,8 +95,8 @@ public class C99BuildASTParserAction extends BuildASTParserAction {
* @param orderedTerminalSymbols When an instance of this class is created for a parser
* that parsers token kinds will be mapped back to the base C99 parser's token kinds.
*/
- public C99BuildASTParserAction(ICNodeFactory nodeFactory, IParserActionTokenProvider parser, IASTTranslationUnit tu, ScopedStack<Object> astStack) {
- super(nodeFactory, parser, tu, astStack);
+ public C99BuildASTParserAction(IParserActionTokenProvider parser, IASTTranslationUnit tu, ScopedStack<Object> astStack, ICNodeFactory nodeFactory, ISecondaryParserFactory parserFactory) {
+ super(parser, tu, astStack, nodeFactory, parserFactory);
this.nodeFactory = nodeFactory;
this.tokenMap = new TokenMap(C99Parsersym.orderedTerminalSymbols, parser.getOrderedTerminalSymbols());
@@ -121,20 +118,6 @@ public class C99BuildASTParserAction extends BuildASTParserAction {
return baseKind(token) == TK_identifier;
}
- @Override
- protected IParser getExpressionParser() {
- return new C99ExpressionParser(parser.getOrderedTerminalSymbols());
- }
-
- @Override
- protected IParser getNoCastExpressionParser() {
- return new C99NoCastExpressionParser(parser.getOrderedTerminalSymbols());
- }
-
- @Override
- protected IParser getSizeofExpressionParser() {
- return new C99SizeofExpressionParser(parser.getOrderedTerminalSymbols());
- }
@Override
protected IASTName createName(char[] image) {
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/c99/C99SecondaryParserFactory.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/c99/C99SecondaryParserFactory.java
new file mode 100644
index 00000000000..6f9127c7a13
--- /dev/null
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/c99/C99SecondaryParserFactory.java
@@ -0,0 +1,40 @@
+/*******************************************************************************
+ * Copyright (c) 2009 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.cdt.core.dom.lrparser.action.c99;
+
+import org.eclipse.cdt.core.dom.lrparser.IParser;
+import org.eclipse.cdt.core.dom.lrparser.IParserActionTokenProvider;
+import org.eclipse.cdt.core.dom.lrparser.action.ISecondaryParserFactory;
+import org.eclipse.cdt.internal.core.dom.lrparser.c99.C99ExpressionParser;
+import org.eclipse.cdt.internal.core.dom.lrparser.c99.C99NoCastExpressionParser;
+import org.eclipse.cdt.internal.core.dom.lrparser.c99.C99SizeofExpressionParser;
+
+public class C99SecondaryParserFactory implements ISecondaryParserFactory {
+
+ public static final C99SecondaryParserFactory DEFAULT_INSTANCE = new C99SecondaryParserFactory();
+
+ public static C99SecondaryParserFactory getDefault() {
+ return DEFAULT_INSTANCE;
+ }
+
+
+ public IParser getExpressionParser(IParserActionTokenProvider parser) {
+ return new C99ExpressionParser(parser);
+ }
+
+ public IParser getNoCastExpressionParser(IParserActionTokenProvider parser) {
+ return new C99NoCastExpressionParser(parser);
+ }
+
+ public IParser getSizeofExpressionParser(IParserActionTokenProvider parser) {
+ return new C99SizeofExpressionParser(parser);
+ }
+} \ No newline at end of file
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPBuildASTParserAction.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPBuildASTParserAction.java
index a80fead2b3e..946ef393964 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPBuildASTParserAction.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPBuildASTParserAction.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2006, 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
@@ -145,12 +145,7 @@ import org.eclipse.cdt.core.dom.lrparser.action.ITokenMap;
import org.eclipse.cdt.core.dom.lrparser.action.ParserUtil;
import org.eclipse.cdt.core.dom.lrparser.action.ScopedStack;
import org.eclipse.cdt.core.dom.lrparser.action.TokenMap;
-import org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPExpressionParser;
-import org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPNoCastExpressionParser;
-import org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPNoFunctionDeclaratorParser;
import org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPParsersym;
-import org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPSizeofExpressionParser;
-import org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPTemplateTypeParameterParser;
import org.eclipse.cdt.internal.core.dom.parser.IASTAmbiguityParent;
import org.eclipse.cdt.internal.core.dom.parser.IASTAmbiguousExpression;
import org.eclipse.cdt.internal.core.dom.parser.IASTAmbiguousStatement;
@@ -177,6 +172,8 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
/** Used to create the AST node objects */
protected final ICPPNodeFactory nodeFactory;
+ protected final ICPPSecondaryParserFactory parserFactory;
+
/** Stack that provides easy access to the current class name, used to disambiguate declarators. */
protected final LinkedList<IASTName> classNames = new LinkedList<IASTName>();
@@ -186,10 +183,11 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
* @param orderedTerminalSymbols When an instance of this class is created for a parser
* that parsers token kinds will be mapped back to the base C99 parser's token kinds.
*/
- public CPPBuildASTParserAction(ICPPNodeFactory nodeFactory, IParserActionTokenProvider parser, IASTTranslationUnit tu, ScopedStack<Object> astStack) {
- super(nodeFactory, parser, tu, astStack);
+ public CPPBuildASTParserAction(IParserActionTokenProvider parser, IASTTranslationUnit tu, ScopedStack<Object> astStack, ICPPNodeFactory nodeFactory, ICPPSecondaryParserFactory parserFactory) {
+ super(parser, tu, astStack, nodeFactory, parserFactory);
this.nodeFactory = nodeFactory;
+ this.parserFactory = parserFactory;
this.tokenMap = new TokenMap(CPPParsersym.orderedTerminalSymbols, parser.getOrderedTerminalSymbols());
}
@@ -213,28 +211,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
return nodeFactory.newName(image);
}
- @Override
- protected IParser getExpressionParser() {
- return new CPPExpressionParser(parser.getOrderedTerminalSymbols());
- }
-
- @Override
- protected IParser getNoCastExpressionParser() {
- return new CPPNoCastExpressionParser(parser.getOrderedTerminalSymbols());
- }
-
- @Override
- protected IParser getSizeofExpressionParser() {
- return new CPPSizeofExpressionParser(parser.getOrderedTerminalSymbols());
- }
-
- protected IParser getTemplateTypeParameterParser() {
- return new CPPTemplateTypeParameterParser(parser.getOrderedTerminalSymbols());
- }
-
- protected IParser getNoFunctionDeclaratorParser() {
- return new CPPNoFunctionDeclaratorParser(parser.getOrderedTerminalSymbols());
- }
public void consumeNewInitializer() {
@@ -481,7 +457,7 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
*/
public void consumeTemplateArgumentTypeId() {
// TODO is this necessary? It should be able to tell if it looks like an id expression
- IParser secondaryParser = getExpressionParser();
+ IParser secondaryParser = parserFactory.getExpressionParser(parser);
IASTNode result = runSecondaryParser(secondaryParser);
// The grammar rule allows assignment_expression, but the ambiguity
@@ -1383,7 +1359,7 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
if(!(declarator instanceof IASTFunctionDeclarator))
return;
- IParser secondaryParser = getNoFunctionDeclaratorParser();
+ IParser secondaryParser = parserFactory.getNoFunctionDeclaratorParser(parser);
IASTNode notFunctionDeclarator = runSecondaryParser(secondaryParser);
if(notFunctionDeclarator == null || notFunctionDeclarator instanceof IASTProblemDeclaration)
@@ -1792,7 +1768,7 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
* Yes its a hack.
*/
public void consumeTemplateParamterDeclaration() {
- IParser typeParameterParser = getTemplateTypeParameterParser();
+ IParser typeParameterParser = parserFactory.getTemplateTypeParameterParser(parser);
IASTNode alternate = runSecondaryParser(typeParameterParser);
if(alternate == null || alternate instanceof IASTProblemDeclaration)
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPSecondaryParserFactory.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPSecondaryParserFactory.java
new file mode 100644
index 00000000000..f5e109bda23
--- /dev/null
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPSecondaryParserFactory.java
@@ -0,0 +1,51 @@
+/*******************************************************************************
+ * Copyright (c) 2009 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.cdt.core.dom.lrparser.action.cpp;
+
+import org.eclipse.cdt.core.dom.lrparser.IParser;
+import org.eclipse.cdt.core.dom.lrparser.IParserActionTokenProvider;
+import org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPExpressionParser;
+import org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPNoCastExpressionParser;
+import org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPNoFunctionDeclaratorParser;
+import org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPSizeofExpressionParser;
+import org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPTemplateTypeParameterParser;
+
+public class CPPSecondaryParserFactory implements ICPPSecondaryParserFactory {
+
+
+ private static final CPPSecondaryParserFactory DEFAULT_INSTANCE = new CPPSecondaryParserFactory();
+
+ public static CPPSecondaryParserFactory getDefault() {
+ return DEFAULT_INSTANCE;
+ }
+
+
+ public IParser getTemplateTypeParameterParser(IParserActionTokenProvider parser) {
+ return new CPPTemplateTypeParameterParser(parser);
+ }
+
+ public IParser getNoFunctionDeclaratorParser(IParserActionTokenProvider parser) {
+ return new CPPNoFunctionDeclaratorParser(parser);
+ }
+
+ public IParser getExpressionParser(IParserActionTokenProvider parser) {
+ return new CPPExpressionParser(parser);
+ }
+
+ public IParser getNoCastExpressionParser(IParserActionTokenProvider parser) {
+ return new CPPNoCastExpressionParser(parser);
+ }
+
+ public IParser getSizeofExpressionParser(IParserActionTokenProvider parser) {
+ return new CPPSizeofExpressionParser(parser);
+ }
+
+}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/ICPPSecondaryParserFactory.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/ICPPSecondaryParserFactory.java
new file mode 100644
index 00000000000..84f31f9ccfc
--- /dev/null
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/ICPPSecondaryParserFactory.java
@@ -0,0 +1,29 @@
+/*******************************************************************************
+ * Copyright (c) 2009 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.cdt.core.dom.lrparser.action.cpp;
+
+import org.eclipse.cdt.core.dom.lrparser.IParser;
+import org.eclipse.cdt.core.dom.lrparser.IParserActionTokenProvider;
+import org.eclipse.cdt.core.dom.lrparser.action.ISecondaryParserFactory;
+
+
+/**
+ * Secondary parsers for resolving ambiguities specific to C++.
+ *
+ * @author Mike Kucera
+ */
+public interface ICPPSecondaryParserFactory extends ISecondaryParserFactory {
+
+ IParser getTemplateTypeParameterParser(IParserActionTokenProvider parser);
+
+ IParser getNoFunctionDeclaratorParser(IParserActionTokenProvider parser);
+
+}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/gnu/GCCBuildASTParserAction.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/gnu/GCCBuildASTParserAction.java
index ae6c01b5099..497068be605 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/gnu/GCCBuildASTParserAction.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/gnu/GCCBuildASTParserAction.java
@@ -1,3 +1,13 @@
+/*******************************************************************************
+ * Copyright (c) 2009 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
package org.eclipse.cdt.core.dom.lrparser.action.gnu;
import org.eclipse.cdt.core.dom.ast.IASTExpression;
@@ -13,8 +23,8 @@ public class GCCBuildASTParserAction extends GNUBuildASTParserAction {
private final ICNodeFactory nodeFactory;
- public GCCBuildASTParserAction(ICNodeFactory nodeFactory, IParserActionTokenProvider parser, IASTTranslationUnit tu, ScopedStack<Object> astStack) {
- super(nodeFactory, parser, tu, astStack);
+ public GCCBuildASTParserAction(IParserActionTokenProvider parser, IASTTranslationUnit tu, ScopedStack<Object> astStack, ICNodeFactory nodeFactory) {
+ super(parser, tu, astStack, nodeFactory);
this.nodeFactory = nodeFactory;
}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/gnu/GCCSecondaryParserFactory.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/gnu/GCCSecondaryParserFactory.java
new file mode 100644
index 00000000000..62c3cfc4b39
--- /dev/null
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/gnu/GCCSecondaryParserFactory.java
@@ -0,0 +1,40 @@
+/*******************************************************************************
+ * Copyright (c) 2009 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.cdt.core.dom.lrparser.action.gnu;
+
+import org.eclipse.cdt.core.dom.lrparser.IParser;
+import org.eclipse.cdt.core.dom.lrparser.IParserActionTokenProvider;
+import org.eclipse.cdt.core.dom.lrparser.action.ISecondaryParserFactory;
+import org.eclipse.cdt.internal.core.dom.lrparser.c99.C99ExpressionParser;
+import org.eclipse.cdt.internal.core.dom.lrparser.c99.C99NoCastExpressionParser;
+import org.eclipse.cdt.internal.core.dom.lrparser.gcc.GCCSizeofExpressionParser;
+
+public class GCCSecondaryParserFactory implements ISecondaryParserFactory {
+
+ public static final GCCSecondaryParserFactory DEFAULT_INSTANCE = new GCCSecondaryParserFactory();
+
+ public static GCCSecondaryParserFactory getDefault() {
+ return DEFAULT_INSTANCE;
+ }
+
+
+ public IParser getExpressionParser(IParserActionTokenProvider parser) {
+ return new C99ExpressionParser(parser);
+ }
+
+ public IParser getNoCastExpressionParser(IParserActionTokenProvider parser) {
+ return new C99NoCastExpressionParser(parser);
+ }
+
+ public IParser getSizeofExpressionParser(IParserActionTokenProvider parser) {
+ return new GCCSizeofExpressionParser(parser);
+ }
+} \ No newline at end of file
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/gnu/GNUBuildASTParserAction.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/gnu/GNUBuildASTParserAction.java
index e68ec83abf2..40d1ed867ed 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/gnu/GNUBuildASTParserAction.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/gnu/GNUBuildASTParserAction.java
@@ -1,3 +1,13 @@
+/*******************************************************************************
+ * Copyright (c) 2009 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
package org.eclipse.cdt.core.dom.lrparser.action.gnu;
import java.util.List;
@@ -20,7 +30,7 @@ public class GNUBuildASTParserAction extends AbstractParserAction {
private final TokenMap tokenMap;
- public GNUBuildASTParserAction(INodeFactory nodeFactory, IParserActionTokenProvider parser, IASTTranslationUnit tu, ScopedStack<Object> astStack) {
+ public GNUBuildASTParserAction(IParserActionTokenProvider parser, IASTTranslationUnit tu, ScopedStack<Object> astStack, INodeFactory nodeFactory) {
super(parser, tu, astStack);
this.nodeFactory = nodeFactory;
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/gnu/GPPSecondaryParserFactory.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/gnu/GPPSecondaryParserFactory.java
new file mode 100644
index 00000000000..50368557b65
--- /dev/null
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/gnu/GPPSecondaryParserFactory.java
@@ -0,0 +1,52 @@
+/*******************************************************************************
+ * Copyright (c) 2009 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.cdt.core.dom.lrparser.action.gnu;
+
+import org.eclipse.cdt.core.dom.lrparser.IParser;
+import org.eclipse.cdt.core.dom.lrparser.IParserActionTokenProvider;
+import org.eclipse.cdt.core.dom.lrparser.action.cpp.ICPPSecondaryParserFactory;
+import org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPExpressionParser;
+import org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPNoCastExpressionParser;
+import org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPNoFunctionDeclaratorParser;
+import org.eclipse.cdt.internal.core.dom.lrparser.cpp.CPPTemplateTypeParameterParser;
+import org.eclipse.cdt.internal.core.dom.lrparser.gpp.GPPSizeofExpressionParser;
+
+public class GPPSecondaryParserFactory implements ICPPSecondaryParserFactory {
+
+
+ private static final GPPSecondaryParserFactory DEFAULT_INSTANCE = new GPPSecondaryParserFactory();
+
+ public static GPPSecondaryParserFactory getDefault() {
+ return DEFAULT_INSTANCE;
+ }
+
+
+ public IParser getTemplateTypeParameterParser(IParserActionTokenProvider parser) {
+ return new CPPTemplateTypeParameterParser(parser);
+ }
+
+ public IParser getNoFunctionDeclaratorParser(IParserActionTokenProvider parser) {
+ return new CPPNoFunctionDeclaratorParser(parser);
+ }
+
+ public IParser getExpressionParser(IParserActionTokenProvider parser) {
+ return new CPPExpressionParser(parser);
+ }
+
+ public IParser getNoCastExpressionParser(IParserActionTokenProvider parser) {
+ return new CPPNoCastExpressionParser(parser);
+ }
+
+ public IParser getSizeofExpressionParser(IParserActionTokenProvider parser) {
+ return new GPPSizeofExpressionParser(parser);
+ }
+
+}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParser.java
index 22f5f9a4896..5b63944e071 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParser.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParser.java
@@ -27,6 +27,7 @@ import org.eclipse.cdt.core.dom.lrparser.action.TokenMap;
import org.eclipse.cdt.internal.core.dom.parser.c.CNodeFactory;
import org.eclipse.cdt.core.dom.lrparser.action.c99.C99BuildASTParserAction;
+import org.eclipse.cdt.core.dom.lrparser.action.c99.C99SecondaryParserFactory;
public class C99ExpressionParser extends PrsStream implements RuleAction , IParserActionTokenProvider, IParser
{
@@ -172,7 +173,7 @@ public C99ExpressionParser() { // constructor
}
private void initActions(IASTTranslationUnit tu, Set<IParser.Options> options) {
- action = new C99BuildASTParserAction ( CNodeFactory.getDefault() , this, tu, astStack);
+ action = new C99BuildASTParserAction (this, tu, astStack, CNodeFactory.getDefault() , C99SecondaryParserFactory.getDefault() );
action.setParserOptions(options);
@@ -234,8 +235,8 @@ public void setTokens(List<IToken> tokens) {
addToken(new Token(null, 0, 0, C99ExpressionParsersym.TK_EOF_TOKEN));
}
-public C99ExpressionParser(String[] mapFrom) { // constructor
- tokenMap = new TokenMap(C99ExpressionParsersym.orderedTerminalSymbols, mapFrom);
+public C99ExpressionParser(IParserActionTokenProvider parser) { // constructor
+ tokenMap = new TokenMap(C99ExpressionParsersym.orderedTerminalSymbols, parser.getOrderedTerminalSymbols());
}
@@ -324,7 +325,7 @@ public C99ExpressionParser(String[] mapFrom) { // constructor
}
//
- // Rule 26: postfix_expression ::= ( type_name ) { <openscope-ast> initializer_list comma_opt }
+ // Rule 26: postfix_expression ::= ( type_id ) { <openscope-ast> initializer_list comma_opt }
//
case 26: { action. consumeExpressionTypeIdInitializer(); break;
}
@@ -384,13 +385,13 @@ public C99ExpressionParser(String[] mapFrom) { // constructor
}
//
- // Rule 41: unary_expression ::= sizeof ( type_name )
+ // Rule 41: unary_expression ::= sizeof ( type_id )
//
case 41: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_sizeof); break;
}
//
- // Rule 43: cast_expression ::= ( type_name ) cast_expression
+ // Rule 43: cast_expression ::= ( type_id ) cast_expression
//
case 43: { action. consumeExpressionCast(IASTCastExpression.op_cast); break;
}
@@ -1074,13 +1075,13 @@ public C99ExpressionParser(String[] mapFrom) { // constructor
}
//
- // Rule 267: type_name ::= specifier_qualifier_list
+ // Rule 267: type_id ::= specifier_qualifier_list
//
case 267: { action. consumeTypeId(false); break;
}
//
- // Rule 268: type_name ::= specifier_qualifier_list abstract_declarator
+ // Rule 268: type_id ::= specifier_qualifier_list abstract_declarator
//
case 268: { action. consumeTypeId(true); break;
}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParserprs.java
index 57c08b832f4..e0c4a215cd4 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParserprs.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParserprs.java
@@ -972,7 +972,7 @@ public class C99ExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, C9
"expression",
"postfix_expression",
"member_name",
- "type_name",
+ "type_id",
"initializer_list",
"unary_expression",
"cast_expression",
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParser.java
index 044093e8dd5..10de8cb725e 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParser.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParser.java
@@ -27,6 +27,7 @@ import org.eclipse.cdt.core.dom.lrparser.action.TokenMap;
import org.eclipse.cdt.internal.core.dom.parser.c.CNodeFactory;
import org.eclipse.cdt.core.dom.lrparser.action.c99.C99BuildASTParserAction;
+import org.eclipse.cdt.core.dom.lrparser.action.c99.C99SecondaryParserFactory;
public class C99NoCastExpressionParser extends PrsStream implements RuleAction , IParserActionTokenProvider, IParser
{
@@ -172,7 +173,7 @@ public C99NoCastExpressionParser() { // constructor
}
private void initActions(IASTTranslationUnit tu, Set<IParser.Options> options) {
- action = new C99BuildASTParserAction ( CNodeFactory.getDefault() , this, tu, astStack);
+ action = new C99BuildASTParserAction (this, tu, astStack, CNodeFactory.getDefault() , C99SecondaryParserFactory.getDefault() );
action.setParserOptions(options);
@@ -234,8 +235,8 @@ public void setTokens(List<IToken> tokens) {
addToken(new Token(null, 0, 0, C99NoCastExpressionParsersym.TK_EOF_TOKEN));
}
-public C99NoCastExpressionParser(String[] mapFrom) { // constructor
- tokenMap = new TokenMap(C99NoCastExpressionParsersym.orderedTerminalSymbols, mapFrom);
+public C99NoCastExpressionParser(IParserActionTokenProvider parser) { // constructor
+ tokenMap = new TokenMap(C99NoCastExpressionParsersym.orderedTerminalSymbols, parser.getOrderedTerminalSymbols());
}
@@ -324,7 +325,7 @@ public C99NoCastExpressionParser(String[] mapFrom) { // constructor
}
//
- // Rule 26: postfix_expression ::= ( type_name ) { <openscope-ast> initializer_list comma_opt }
+ // Rule 26: postfix_expression ::= ( type_id ) { <openscope-ast> initializer_list comma_opt }
//
case 26: { action. consumeExpressionTypeIdInitializer(); break;
}
@@ -384,7 +385,7 @@ public C99NoCastExpressionParser(String[] mapFrom) { // constructor
}
//
- // Rule 41: unary_expression ::= sizeof ( type_name )
+ // Rule 41: unary_expression ::= sizeof ( type_id )
//
case 41: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_sizeof); break;
}
@@ -1068,13 +1069,13 @@ public C99NoCastExpressionParser(String[] mapFrom) { // constructor
}
//
- // Rule 266: type_name ::= specifier_qualifier_list
+ // Rule 266: type_id ::= specifier_qualifier_list
//
case 266: { action. consumeTypeId(false); break;
}
//
- // Rule 267: type_name ::= specifier_qualifier_list abstract_declarator
+ // Rule 267: type_id ::= specifier_qualifier_list abstract_declarator
//
case 267: { action. consumeTypeId(true); break;
}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParserprs.java
index b21ab65784e..75b026f1349 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParserprs.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParserprs.java
@@ -968,7 +968,7 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
"expression",
"postfix_expression",
"member_name",
- "type_name",
+ "type_id",
"initializer_list",
"unary_expression",
"cast_expression",
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parser.java
index b75d93191ed..fbf44378196 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parser.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parser.java
@@ -27,6 +27,7 @@ import org.eclipse.cdt.core.dom.lrparser.action.TokenMap;
import org.eclipse.cdt.internal.core.dom.parser.c.CNodeFactory;
import org.eclipse.cdt.core.dom.lrparser.action.c99.C99BuildASTParserAction;
+import org.eclipse.cdt.core.dom.lrparser.action.c99.C99SecondaryParserFactory;
public class C99Parser extends PrsStream implements RuleAction , IParserActionTokenProvider, IParser
{
@@ -172,7 +173,7 @@ public C99Parser() { // constructor
}
private void initActions(IASTTranslationUnit tu, Set<IParser.Options> options) {
- action = new C99BuildASTParserAction ( CNodeFactory.getDefault() , this, tu, astStack);
+ action = new C99BuildASTParserAction (this, tu, astStack, CNodeFactory.getDefault() , C99SecondaryParserFactory.getDefault() );
action.setParserOptions(options);
@@ -234,8 +235,8 @@ public void setTokens(List<IToken> tokens) {
addToken(new Token(null, 0, 0, C99Parsersym.TK_EOF_TOKEN));
}
-public C99Parser(String[] mapFrom) { // constructor
- tokenMap = new TokenMap(C99Parsersym.orderedTerminalSymbols, mapFrom);
+public C99Parser(IParserActionTokenProvider parser) { // constructor
+ tokenMap = new TokenMap(C99Parsersym.orderedTerminalSymbols, parser.getOrderedTerminalSymbols());
}
@@ -324,7 +325,7 @@ public C99Parser(String[] mapFrom) { // constructor
}
//
- // Rule 26: postfix_expression ::= ( type_name ) { <openscope-ast> initializer_list comma_opt }
+ // Rule 26: postfix_expression ::= ( type_id ) { <openscope-ast> initializer_list comma_opt }
//
case 26: { action. consumeExpressionTypeIdInitializer(); break;
}
@@ -384,13 +385,13 @@ public C99Parser(String[] mapFrom) { // constructor
}
//
- // Rule 41: unary_expression ::= sizeof ( type_name )
+ // Rule 41: unary_expression ::= sizeof ( type_id )
//
case 41: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_sizeof); break;
}
//
- // Rule 43: cast_expression ::= ( type_name ) cast_expression
+ // Rule 43: cast_expression ::= ( type_id ) cast_expression
//
case 43: { action. consumeExpressionCast(IASTCastExpression.op_cast); break;
}
@@ -1074,13 +1075,13 @@ public C99Parser(String[] mapFrom) { // constructor
}
//
- // Rule 267: type_name ::= specifier_qualifier_list
+ // Rule 267: type_id ::= specifier_qualifier_list
//
case 267: { action. consumeTypeId(false); break;
}
//
- // Rule 268: type_name ::= specifier_qualifier_list abstract_declarator
+ // Rule 268: type_id ::= specifier_qualifier_list abstract_declarator
//
case 268: { action. consumeTypeId(true); break;
}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parserprs.java
index f877cc39a8e..ec677be0c14 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parserprs.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parserprs.java
@@ -1280,7 +1280,7 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym
"expression",
"postfix_expression",
"member_name",
- "type_name",
+ "type_id",
"initializer_list",
"unary_expression",
"cast_expression",
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParser.java
index 7bc098faf11..35e436f3503 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParser.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParser.java
@@ -27,6 +27,7 @@ import org.eclipse.cdt.core.dom.lrparser.action.TokenMap;
import org.eclipse.cdt.internal.core.dom.parser.c.CNodeFactory;
import org.eclipse.cdt.core.dom.lrparser.action.c99.C99BuildASTParserAction;
+import org.eclipse.cdt.core.dom.lrparser.action.c99.C99SecondaryParserFactory;
public class C99SizeofExpressionParser extends PrsStream implements RuleAction , IParserActionTokenProvider, IParser
{
@@ -172,7 +173,7 @@ public C99SizeofExpressionParser() { // constructor
}
private void initActions(IASTTranslationUnit tu, Set<IParser.Options> options) {
- action = new C99BuildASTParserAction ( CNodeFactory.getDefault() , this, tu, astStack);
+ action = new C99BuildASTParserAction (this, tu, astStack, CNodeFactory.getDefault() , C99SecondaryParserFactory.getDefault() );
action.setParserOptions(options);
@@ -234,8 +235,8 @@ public void setTokens(List<IToken> tokens) {
addToken(new Token(null, 0, 0, C99SizeofExpressionParsersym.TK_EOF_TOKEN));
}
-public C99SizeofExpressionParser(String[] mapFrom) { // constructor
- tokenMap = new TokenMap(C99SizeofExpressionParsersym.orderedTerminalSymbols, mapFrom);
+public C99SizeofExpressionParser(IParserActionTokenProvider parser) { // constructor
+ tokenMap = new TokenMap(C99SizeofExpressionParsersym.orderedTerminalSymbols, parser.getOrderedTerminalSymbols());
}
@@ -324,7 +325,7 @@ public C99SizeofExpressionParser(String[] mapFrom) { // constructor
}
//
- // Rule 26: postfix_expression ::= ( type_name ) { <openscope-ast> initializer_list comma_opt }
+ // Rule 26: postfix_expression ::= ( type_id ) { <openscope-ast> initializer_list comma_opt }
//
case 26: { action. consumeExpressionTypeIdInitializer(); break;
}
@@ -384,879 +385,885 @@ public C99SizeofExpressionParser(String[] mapFrom) { // constructor
}
//
- // Rule 42: cast_expression ::= ( type_name ) cast_expression
+ // Rule 41: unary_expression ::= sizeof ( type_id )
//
- case 42: { action. consumeExpressionCast(IASTCastExpression.op_cast); break;
+ case 41: { action. consumeExpressionTypeId(IASTTypeIdExpression.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 : conditional_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_token : statement
+ // Rule 100: statement ::= ERROR_TOKEN
//
- case 100: { action. consumeStatementLabeled(); break;
+ case 100: { action. consumeStatementProblem(); break;
}
//
- // Rule 101: labeled_statement ::= case constant_expression : statement
+ // Rule 101: labeled_statement ::= identifier_token : statement
//
- case 101: { action. consumeStatementCase(); break;
+ case 101: { action. consumeStatementLabeled(); break;
}
//
- // Rule 102: labeled_statement ::= default : statement
+ // 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_token ;
+ // 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. consumeToken(); 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. consumeToken(); 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. consumeToken(); break;
+ case 165: { action. consumeToken(); break;
}
//
- // Rule 178: typedef_name_in_declspec ::= identifier
+ // Rule 178: typedef_name_in_declspec ::= Completion
//
case 178: { action. consumeToken(); break;
}
//
- // Rule 181: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt }
+ // Rule 179: typedef_name_in_declspec ::= identifier
//
- case 181: { action. consumeTypeSpecifierComposite(false); break;
+ case 179: { action. consumeToken(); break;
}
//
- // Rule 182: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook identifier_token struct_or_union_specifier_suffix_hook { <openscope-ast> struct_declaration_list_opt }
+ // Rule 182: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt }
//
- case 182: { action. consumeTypeSpecifierComposite(true); break;
+ case 182: { action. consumeTypeSpecifierComposite(false); break;
}
//
- // Rule 187: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token
+ // Rule 183: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook identifier_token struct_or_union_specifier_suffix_hook { <openscope-ast> struct_declaration_list_opt }
//
- case 187: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break;
+ case 183: { action. consumeTypeSpecifierComposite(true); break;
}
//
- // Rule 188: elaborated_specifier ::= union elaborated_specifier_hook identifier_token
+ // Rule 188: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token
//
- case 188: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break;
+ case 188: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break;
}
//
- // Rule 189: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token
+ // Rule 189: elaborated_specifier ::= union elaborated_specifier_hook identifier_token
//
- case 189: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break;
+ case 189: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break;
}
//
- // Rule 195: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ;
+ // Rule 190: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token
//
- case 195: { action. consumeStructDeclaration(true); break;
+ case 190: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break;
}
//
- // Rule 196: struct_declaration ::= specifier_qualifier_list ;
+ // Rule 196: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ;
//
- case 196: { action. consumeStructDeclaration(false); break;
+ case 196: { action. consumeStructDeclaration(true); break;
}
//
- // Rule 197: struct_declaration ::= ERROR_TOKEN
+ // Rule 197: struct_declaration ::= specifier_qualifier_list ;
//
- case 197: { action. consumeDeclarationProblem(); break;
+ case 197: { action. consumeStructDeclaration(false); break;
}
//
- // Rule 203: struct_declarator ::= : constant_expression
+ // Rule 198: struct_declaration ::= ERROR_TOKEN
//
- case 203: { action. consumeBitField(false); break;
+ case 198: { action. consumeDeclarationProblem(); break;
}
//
- // Rule 204: struct_declarator ::= declarator : constant_expression
+ // Rule 204: struct_declarator ::= : constant_expression
//
- case 204: { action. consumeBitField(true); break;
+ case 204: { action. consumeBitField(false); break;
}
//
- // Rule 205: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt }
+ // Rule 205: struct_declarator ::= declarator : constant_expression
//
- case 205: { action. consumeTypeSpecifierEnumeration(false); break;
+ case 205: { action. consumeBitField(true); break;
}
//
- // Rule 206: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt }
+ // Rule 206: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt }
//
- case 206: { action. consumeTypeSpecifierEnumeration(true); break;
+ case 206: { action. consumeTypeSpecifierEnumeration(false); break;
}
//
- // Rule 212: enumerator ::= identifier_token
+ // Rule 207: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt }
//
- case 212: { action. consumeEnumerator(false); break;
+ case 207: { action. consumeTypeSpecifierEnumeration(true); break;
}
//
- // Rule 213: enumerator ::= identifier_token = constant_expression
+ // Rule 213: enumerator ::= identifier_token
//
- case 213: { action. consumeEnumerator(true); break;
+ case 213: { action. consumeEnumerator(false); break;
}
//
- // Rule 214: type_qualifier ::= type_qualifier_token
+ // Rule 214: enumerator ::= identifier_token = constant_expression
//
- case 214: { action. consumeToken(); break;
+ case 214: { action. consumeEnumerator(true); break;
}
//
- // Rule 218: function_specifier ::= inline
+ // Rule 215: type_qualifier ::= type_qualifier_token
//
- case 218: { action. consumeToken(); break;
+ case 215: { action. consumeToken(); break;
}
//
- // Rule 220: declarator ::= <openscope-ast> pointer_seq direct_declarator
+ // Rule 219: function_specifier ::= inline
//
- case 220: { action. consumeDeclaratorWithPointer(true); break;
+ case 219: { action. consumeToken(); break;
}
//
- // Rule 225: basic_direct_declarator ::= declarator_id_name
+ // Rule 221: declarator ::= <openscope-ast> pointer_seq direct_declarator
//
- case 225: { action. consumeDirectDeclaratorIdentifier(); break;
+ case 221: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 226: basic_direct_declarator ::= ( declarator )
+ // Rule 226: basic_direct_declarator ::= declarator_id_name
//
- case 226: { action. consumeDirectDeclaratorBracketed(); break;
+ case 226: { action. consumeDirectDeclaratorIdentifier(); break;
}
//
- // Rule 227: declarator_id_name ::= identifier
+ // Rule 227: basic_direct_declarator ::= ( declarator )
//
- case 227: { action. consumeIdentifierName(); break;
+ case 227: { action. consumeDirectDeclaratorBracketed(); break;
}
//
- // Rule 228: array_direct_declarator ::= basic_direct_declarator array_modifier
+ // Rule 228: declarator_id_name ::= identifier
//
- case 228: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 228: { action. consumeIdentifierName(); break;
}
//
- // Rule 229: array_direct_declarator ::= array_direct_declarator array_modifier
+ // Rule 229: array_direct_declarator ::= basic_direct_declarator array_modifier
//
case 229: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 231: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list )
+ // Rule 230: array_direct_declarator ::= array_direct_declarator array_modifier
//
- case 231: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
+ case 230: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 232: function_direct_declarator ::= basic_direct_declarator ( )
+ // Rule 232: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list )
//
- case 232: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
+ case 232: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
}
//
- // Rule 234: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator
+ // Rule 233: function_direct_declarator ::= basic_direct_declarator ( )
//
- case 234: { action. consumeDeclaratorWithPointer(true); break;
+ case 233: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
}
//
- // Rule 235: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list )
+ // Rule 235: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator
//
- case 235: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break;
+ case 235: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 237: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator
+ // Rule 236: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list )
//
- case 237: { action. consumeDeclaratorWithPointer(true); break;
+ case 236: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break;
}
//
- // Rule 238: identifier_list ::= identifier
+ // Rule 238: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator
//
- case 238: { action. consumeIdentifierKnR(); break;
+ case 238: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 239: identifier_list ::= identifier_list , identifier
+ // Rule 239: identifier_list ::= identifier
//
case 239: { action. consumeIdentifierKnR(); break;
}
//
- // Rule 240: array_modifier ::= [ ]
+ // Rule 240: identifier_list ::= identifier_list , identifier
//
- case 240: { action. consumeDirectDeclaratorArrayModifier(false); break;
+ case 240: { action. consumeIdentifierKnR(); break;
}
//
- // Rule 241: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ]
+ // Rule 241: array_modifier ::= [ ]
//
- case 241: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break;
+ case 241: { action. consumeDirectDeclaratorArrayModifier(false); break;
}
//
- // Rule 242: array_modifier ::= [ assignment_expression ]
+ // Rule 242: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ]
//
- case 242: { action. consumeDirectDeclaratorArrayModifier(true); break;
+ case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break;
}
//
- // Rule 243: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
+ // Rule 243: array_modifier ::= [ assignment_expression ]
//
- case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break;
+ case 243: { action. consumeDirectDeclaratorArrayModifier(true); break;
}
//
- // Rule 244: array_modifier ::= [ static assignment_expression ]
+ // Rule 244: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
//
- case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break;
+ case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break;
}
//
- // Rule 245: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
+ // Rule 245: array_modifier ::= [ static assignment_expression ]
//
- case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break;
+ case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break;
}
//
- // Rule 246: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ]
+ // Rule 246: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
//
case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break;
}
//
- // Rule 247: array_modifier ::= [ * ]
+ // Rule 247: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ]
//
- case 247: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break;
+ case 247: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break;
}
//
- // Rule 248: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ]
+ // Rule 248: array_modifier ::= [ * ]
//
- case 248: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break;
+ case 248: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break;
}
//
- // Rule 250: pointer_seq ::= pointer_hook *
+ // Rule 249: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ]
//
- case 250: { action. consumePointer(); break;
+ case 249: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break;
}
//
- // Rule 251: pointer_seq ::= pointer_seq pointer_hook *
+ // Rule 251: pointer_seq ::= pointer_hook *
//
case 251: { action. consumePointer(); break;
}
//
- // Rule 252: pointer_seq ::= pointer_hook * <openscope-ast> type_qualifier_list
+ // Rule 252: pointer_seq ::= pointer_seq pointer_hook *
//
- case 252: { action. consumePointerTypeQualifierList(); break;
+ case 252: { action. consumePointer(); break;
}
//
- // Rule 253: pointer_seq ::= pointer_seq pointer_hook * <openscope-ast> type_qualifier_list
+ // Rule 253: pointer_seq ::= pointer_hook * <openscope-ast> type_qualifier_list
//
case 253: { action. consumePointerTypeQualifierList(); break;
}
//
- // Rule 257: parameter_type_list ::= parameter_list
+ // Rule 254: pointer_seq ::= pointer_seq pointer_hook * <openscope-ast> type_qualifier_list
//
- case 257: { action. consumeEmpty(); break;
+ case 254: { action. consumePointerTypeQualifierList(); break;
}
//
- // Rule 258: parameter_type_list ::= parameter_list , ...
+ // Rule 258: parameter_type_list ::= parameter_list
//
- case 258: { action. consumePlaceHolder(); break;
+ case 258: { action. consumeEmpty(); break;
}
//
- // Rule 259: parameter_type_list ::= ...
+ // Rule 259: parameter_type_list ::= parameter_list , ...
//
case 259: { action. consumePlaceHolder(); break;
}
//
- // Rule 262: parameter_declaration ::= declaration_specifiers complete_parameter_declarator
+ // Rule 260: parameter_type_list ::= ...
//
- case 262: { action. consumeParameterDeclaration(); break;
+ case 260: { action. consumePlaceHolder(); break;
}
//
- // Rule 263: parameter_declaration ::= declaration_specifiers
+ // Rule 263: parameter_declaration ::= declaration_specifiers complete_parameter_declarator
//
- case 263: { action. consumeParameterDeclarationWithoutDeclarator(); break;
+ case 263: { action. consumeParameterDeclaration(); break;
}
//
- // Rule 266: type_name ::= specifier_qualifier_list
+ // Rule 264: parameter_declaration ::= declaration_specifiers
//
- case 266: { action. consumeTypeId(false); break;
+ case 264: { action. consumeParameterDeclarationWithoutDeclarator(); break;
}
//
- // Rule 267: type_name ::= specifier_qualifier_list abstract_declarator
+ // Rule 267: type_id ::= specifier_qualifier_list
//
- case 267: { action. consumeTypeId(true); break;
+ case 267: { action. consumeTypeId(false); break;
}
//
- // Rule 269: abstract_declarator ::= <openscope-ast> pointer_seq
+ // Rule 268: type_id ::= specifier_qualifier_list abstract_declarator
//
- case 269: { action. consumeDeclaratorWithPointer(false); break;
+ case 268: { action. consumeTypeId(true); break;
}
//
- // Rule 270: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator
+ // Rule 270: abstract_declarator ::= <openscope-ast> pointer_seq
//
case 270: { action. consumeDeclaratorWithPointer(false); break;
}
//
- // Rule 274: basic_direct_abstract_declarator ::= ( abstract_declarator )
+ // Rule 271: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator
//
- case 274: { action. consumeDirectDeclaratorBracketed(); break;
+ case 271: { action. consumeDeclaratorWithPointer(false); break;
}
//
- // Rule 275: array_direct_abstract_declarator ::= array_modifier
+ // Rule 275: basic_direct_abstract_declarator ::= ( abstract_declarator )
//
- case 275: { action. consumeDirectDeclaratorArrayDeclarator(false); break;
+ case 275: { action. consumeDirectDeclaratorBracketed(); break;
}
//
- // Rule 276: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
+ // Rule 276: array_direct_abstract_declarator ::= array_modifier
//
- case 276: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 276: { action. consumeDirectDeclaratorArrayDeclarator(false); break;
}
//
- // Rule 277: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
+ // Rule 277: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
//
case 277: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 278: function_direct_abstract_declarator ::= ( )
+ // Rule 278: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
//
- case 278: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break;
+ case 278: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ }
+
+ //
+ // Rule 279: function_direct_abstract_declarator ::= ( )
+ //
+ case 279: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break;
}
//
- // Rule 279: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( )
+ // Rule 280: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( )
//
- case 279: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
+ case 280: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
}
//
- // Rule 280: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list )
+ // Rule 281: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list )
//
- case 280: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break;
+ case 281: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break;
}
//
- // Rule 281: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list )
+ // Rule 282: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list )
//
- case 281: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
+ case 282: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
}
//
- // Rule 282: initializer ::= assignment_expression
+ // Rule 283: initializer ::= assignment_expression
//
- case 282: { action. consumeInitializer(); break;
+ case 283: { action. consumeInitializer(); break;
}
//
- // Rule 283: initializer ::= start_initializer_list { <openscope-ast> initializer_list comma_opt } end_initializer_list
+ // Rule 284: initializer ::= start_initializer_list { <openscope-ast> initializer_list comma_opt } end_initializer_list
//
- case 283: { action. consumeInitializerList(); break;
+ case 284: { action. consumeInitializerList(); break;
}
//
- // Rule 284: initializer ::= { <openscope-ast> }
+ // Rule 285: initializer ::= { <openscope-ast> }
//
- case 284: { action. consumeInitializerList(); break;
+ case 285: { action. consumeInitializerList(); break;
}
//
- // Rule 285: start_initializer_list ::= $Empty
+ // Rule 286: start_initializer_list ::= $Empty
//
- case 285: { action. initializerListStart(); break;
+ case 286: { action. initializerListStart(); break;
}
//
- // Rule 286: end_initializer_list ::= $Empty
+ // Rule 287: end_initializer_list ::= $Empty
//
- case 286: { action. initializerListEnd(); break;
+ case 287: { action. initializerListEnd(); break;
}
//
- // Rule 291: designated_initializer ::= <openscope-ast> designation = initializer
+ // Rule 292: designated_initializer ::= <openscope-ast> designation = initializer
//
- case 291: { action. consumeInitializerDesignated(); break;
+ case 292: { action. consumeInitializerDesignated(); break;
}
//
- // Rule 295: designator_base ::= [ constant_expression ]
+ // Rule 296: designator_base ::= [ constant_expression ]
//
- case 295: { action. consumeDesignatorArray(); break;
+ case 296: { action. consumeDesignatorArray(); break;
}
//
- // Rule 296: designator_base ::= . identifier_token
+ // Rule 297: designator_base ::= . identifier_token
//
- case 296: { action. consumeDesignatorField(); break;
+ case 297: { action. consumeDesignatorField(); break;
}
//
- // Rule 297: designator ::= [ constant_expression ]
+ // Rule 298: designator ::= [ constant_expression ]
//
- case 297: { action. consumeDesignatorArray(); break;
+ case 298: { action. consumeDesignatorArray(); break;
}
//
- // Rule 298: designator ::= . identifier_token
+ // Rule 299: designator ::= . identifier_token
//
- case 298: { action. consumeDesignatorField(); break;
+ case 299: { action. consumeDesignatorField(); break;
}
//
- // Rule 299: translation_unit ::= external_declaration_list
+ // Rule 300: translation_unit ::= external_declaration_list
//
- case 299: { action. consumeTranslationUnit(); break;
+ case 300: { action. consumeTranslationUnit(); break;
}
//
- // Rule 300: translation_unit ::= $Empty
+ // Rule 301: translation_unit ::= $Empty
//
- case 300: { action. consumeTranslationUnit(); break;
+ case 301: { action. consumeTranslationUnit(); break;
}
//
- // Rule 305: external_declaration ::= ;
+ // Rule 306: external_declaration ::= ;
//
- case 305: { action. consumeDeclarationEmpty(); break;
+ case 306: { action. consumeDeclarationEmpty(); break;
}
//
- // Rule 306: external_declaration ::= ERROR_TOKEN
+ // Rule 307: external_declaration ::= ERROR_TOKEN
//
- case 306: { action. consumeDeclarationProblem(); break;
+ case 307: { action. consumeDeclarationProblem(); break;
}
//
- // Rule 309: function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body
+ // Rule 310: function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body
//
- case 309: { action. consumeFunctionDefinition(true); break;
+ case 310: { action. consumeFunctionDefinition(true); break;
}
//
- // Rule 310: function_definition ::= <openscope-ast> function_declarator function_body
+ // Rule 311: function_definition ::= <openscope-ast> function_declarator function_body
//
- case 310: { action. consumeFunctionDefinition(false); break;
+ case 311: { action. consumeFunctionDefinition(false); break;
}
//
- // Rule 311: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement
+ // Rule 312: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement
//
- case 311: { action. consumeFunctionDefinitionKnR(); break;
+ case 312: { action. consumeFunctionDefinitionKnR(); break;
}
//
- // Rule 312: function_body ::= { }
+ // Rule 313: function_body ::= { }
//
- case 312: { action. consumeStatementCompoundStatement(false); break;
+ case 313: { action. consumeStatementCompoundStatement(false); break;
}
//
- // Rule 313: function_body ::= { <openscope-ast> block_item_list }
+ // Rule 314: function_body ::= { <openscope-ast> block_item_list }
//
- case 313: { action. consumeStatementCompoundStatement(true); break;
+ case 314: { action. consumeStatementCompoundStatement(true); break;
}
//
- // Rule 315: no_sizeof_type_name_start ::= ERROR_TOKEN
+ // Rule 316: no_sizeof_type_name_start ::= ERROR_TOKEN
//
- case 315: { action. consumeExpressionProblem(); break;
+ case 316: { action. consumeExpressionProblem(); break;
}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParserprs.java
index 27f3a067803..c1904a80c43 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParserprs.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParserprs.java
@@ -38,173 +38,173 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
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,
- 4,3,2,4,1,2,1,1,1,2,
- 5,7,5,1,0,7,5,9,8,3,
- 2,2,2,3,2,4,2,2,2,2,
- 2,1,1,1,1,2,1,2,2,2,
- 1,2,2,1,2,2,1,2,2,1,
- 2,2,1,3,1,3,1,1,1,1,
+ 4,1,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,
- 6,8,0,0,1,1,3,3,3,0,
- 1,0,1,2,4,2,1,1,1,3,
- 1,1,2,3,7,8,0,1,0,1,
- 3,1,3,1,1,1,1,1,1,3,
- 1,1,1,1,1,3,1,2,2,1,
- 5,3,1,3,5,1,3,1,3,2,
- 4,3,5,4,6,6,3,5,1,2,
- 3,4,5,0,1,2,1,3,1,1,
- 3,2,1,1,1,1,2,1,2,3,
- 1,1,1,3,1,2,2,2,3,4,
- 5,1,7,3,0,0,1,1,3,3,
- 4,1,1,2,3,2,3,2,1,0,
- 1,2,1,1,1,1,1,2,4,3,
- 6,2,4,1,1,-36,0,0,0,0,
- 0,0,0,0,0,-2,0,0,0,0,
- 0,0,0,0,0,0,0,-80,-81,-4,
- -74,-14,0,0,0,0,-121,0,0,0,
+ 1,6,8,0,0,1,1,3,3,3,
+ 0,1,0,1,2,4,2,1,1,1,
+ 3,1,1,2,3,7,8,0,1,0,
+ 1,3,1,3,1,1,1,1,1,1,
+ 3,1,1,1,1,1,3,1,2,2,
+ 1,5,3,1,3,5,1,3,1,3,
+ 2,4,3,5,4,6,6,3,5,1,
+ 2,3,4,5,0,1,2,1,3,1,
+ 1,3,2,1,1,1,1,2,1,2,
+ 3,1,1,1,3,1,2,2,2,3,
+ 4,5,1,7,3,0,0,1,1,3,
+ 3,4,1,1,2,3,2,3,2,1,
+ 0,1,2,1,1,1,1,1,2,4,
+ 3,6,2,4,1,1,-37,0,0,0,
+ 0,0,0,0,0,0,-30,0,0,0,
+ 0,0,0,0,0,0,-82,0,0,-2,
+ -4,-76,-14,0,0,0,0,-124,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-16,0,
- -17,-78,-75,-209,-18,0,0,0,0,0,
- -37,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-127,-83,-138,0,0,
- -133,-19,0,0,0,0,0,0,0,0,
- 0,0,0,-20,0,0,0,-21,0,-185,
+ 0,0,0,0,0,0,0,0,0,-16,
+ 0,-5,0,0,0,0,0,0,0,0,
+ 0,0,-114,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-130,0,-141,-17,
+ 0,-80,0,-18,-19,0,0,-47,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-158,
+ -188,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-29,
- 0,0,-55,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-38,
- 0,0,0,0,0,0,0,0,0,-22,
- 0,0,0,0,0,0,-157,-23,0,-6,
- 0,0,0,0,0,0,-193,0,-72,0,
+ -161,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ -31,-20,-202,-56,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-181,0,0,0,0,0,0,0,
- 0,0,-30,0,0,0,0,0,0,0,
- 0,0,-3,0,0,0,0,0,0,0,
- 0,0,-105,0,0,0,0,0,0,0,
- 0,0,0,0,-24,-51,0,0,0,0,
+ -48,0,0,0,0,0,0,0,0,0,
+ 0,-21,0,0,0,0,0,-22,-160,0,
+ -38,0,0,0,0,0,0,0,-83,0,
+ -74,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -69,0,-108,0,0,0,0,0,0,0,
+ 0,0,0,0,-184,0,0,0,0,0,
+ 0,0,0,0,-34,0,0,0,0,0,
+ 0,0,0,0,-3,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-33,-126,0,0,0,0,
+ 0,0,0,0,0,-85,-23,-52,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-130,0,-142,0,-52,
- 0,0,0,0,0,0,0,0,0,-123,
- 0,0,0,-25,-26,0,0,0,0,0,
- -163,-86,0,0,0,0,-27,0,0,0,
- 0,0,0,0,0,0,-175,0,0,0,
- 0,0,0,0,0,0,0,0,-87,0,
- -210,-88,0,0,-89,0,0,0,0,0,
- -46,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-56,0,0,0,0,
- 0,0,0,0,0,-90,0,0,0,0,
- 0,0,0,0,0,-57,0,0,0,0,
+ 0,0,-71,0,-111,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-58,0,0,0,0,
- 0,0,0,0,0,-91,0,0,0,0,
- 0,0,0,0,0,-59,0,0,0,0,
+ 0,0,0,0,-118,0,-133,-129,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-60,0,0,0,0,
- 0,0,0,0,0,-92,0,0,0,0,
- 0,0,0,0,0,-61,0,0,0,0,
- 0,0,0,0,0,-93,0,0,0,0,
- 0,0,0,0,0,-62,0,0,0,0,
- 0,0,0,0,0,-94,0,0,0,0,
- 0,0,0,0,0,-63,0,0,0,0,
- 0,0,0,0,0,-95,0,0,0,0,
- 0,0,0,0,0,-64,0,0,0,0,
- 0,0,0,0,0,-96,0,0,0,0,
- 0,0,0,0,0,-65,0,0,0,0,
- 0,0,0,0,0,-162,0,0,0,0,
- 0,0,0,0,0,-66,0,0,0,0,
- 0,0,0,0,0,-97,0,0,0,0,
- 0,0,0,0,0,-143,0,0,0,0,
- 0,0,0,0,0,-98,0,0,0,0,
- 0,0,0,0,0,-144,0,0,0,0,
- 0,0,0,0,0,-99,0,0,0,0,
- 0,0,0,0,0,-161,0,0,0,0,
- 0,0,0,0,0,-100,0,0,0,0,
- 0,0,0,0,-184,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-7,0,0,0,0,0,0,
- -101,0,-8,0,0,0,0,0,0,-102,
- -192,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-200,
- 0,0,0,0,0,0,0,0,0,-103,
- 0,0,0,0,0,0,0,0,-9,0,
- 0,0,0,0,0,-104,0,-10,0,0,
- 0,0,0,0,-107,-208,0,0,0,0,
+ 0,0,-24,0,0,0,0,-27,0,0,
+ 0,0,0,0,0,0,0,-25,0,0,
+ 0,0,0,0,0,0,0,0,0,-26,
+ 0,-12,0,0,0,0,0,0,0,0,
+ 0,0,-39,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-57,0,0,0,
+ 0,0,0,0,0,0,-35,0,0,0,
+ 0,0,0,0,0,0,-58,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-120,0,0,0,0,0,
- 0,0,0,0,-129,0,0,0,0,0,
- 0,0,0,-34,0,-5,0,0,0,0,
- 0,0,-11,0,0,0,0,0,0,-165,
- 0,-137,-109,-110,-147,0,-67,0,0,0,
+ 0,0,0,0,0,0,-59,0,0,0,
+ 0,0,0,0,0,0,-68,0,0,0,
+ 0,0,0,0,0,0,-60,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-68,0,0,0,0,-122,0,-166,
- 0,-131,0,-186,-115,-148,-85,0,0,0,
+ 0,0,0,0,0,0,-61,0,0,0,
+ 0,0,0,0,0,0,-69,0,0,0,
+ 0,0,0,0,0,0,-62,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-63,0,0,0,
+ 0,0,0,0,0,0,-70,0,0,0,
+ 0,0,0,0,0,0,-64,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -135,0,0,0,0,0,0,-140,0,-54,
- 0,0,0,0,0,0,0,0,0,-172,
- 0,0,0,0,0,0,-112,-116,0,0,
- 0,-189,-134,-136,-139,-117,0,0,0,0,
- 0,0,0,0,0,0,-153,-159,0,-179,
+ 0,0,0,0,0,0,-65,0,0,0,
+ 0,0,0,0,0,0,-115,0,0,0,
+ 0,0,0,0,0,0,-66,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-67,0,0,0,
+ 0,0,0,0,0,0,-131,0,0,0,
+ 0,0,0,0,0,0,-146,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-39,0,0,0,0,0,0,0,-48,
- 0,0,0,0,0,0,0,0,0,-180,
- 0,0,-207,-47,0,0,0,0,0,0,
- 0,0,0,-42,0,0,0,0,0,0,
- 0,0,0,0,0,-111,0,0,0,0,
- 0,0,0,-201,-149,0,0,0,0,0,
- 0,0,-12,0,0,0,0,0,0,0,
- -49,0,0,0,0,0,0,0,0,0,
- 0,0,-50,0,0,0,0,0,0,0,
- 0,0,-206,0,-43,0,0,0,0,0,
- 0,0,0,0,0,0,-44,0,0,0,
- 0,0,0,0,0,0,-45,0,0,0,
- 0,0,0,0,0,0,-202,-73,-146,0,
- 0,0,0,0,0,-114,0,0,-40,0,
- 0,0,0,0,0,0,-35,0,0,0,
- 0,0,0,0,-76,-118,0,0,-128,0,
- 0,0,0,0,0,0,-113,-32,0,0,
- 0,0,0,0,0,0,0,0,-125,0,
- 0,0,0,0,0,0,-170,0,0,0,
- 0,0,-171,-53,-119,-141,0,0,-152,-15,
- -28,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-145,
- 0,0,-160,0,0,0,-41,0,0,0,
- 0,0,0,0,0,0,0,-77,0,0,
- 0,0,0,0,0,0,0,0,0,-70,
- 0,0,0,0,0,0,-79,0,0,-167,
- -82,0,0,-155,0,0,0,0,0,-154,
- 0,0,-84,0,-168,-174,0,0,-106,0,
+ 0,0,0,0,0,0,-147,0,0,0,
+ 0,0,0,0,0,0,-155,0,0,0,
+ 0,0,0,0,0,0,-164,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-187,0,0,0,0,
+ 0,0,0,0,0,-77,0,0,0,0,
+ 0,0,0,0,-6,0,0,0,0,0,
+ 0,-88,-89,0,-7,0,0,0,0,0,
+ 0,0,-195,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-124,0,0,0,-164,-71,0,-187,0,
- 0,0,0,-188,0,0,-178,0,0,0,
- 0,0,0,0,-1,-132,-176,0,-156,0,
- 0,0,0,0,0,0,0,0,0,-13,
- 0,0,0,0,0,0,-31,-177,-169,-190,
- 0,0,0,-150,-203,0,0,0,0,0,
- 0,0,-173,0,0,0,-151,0,-195,0,
- 0,0,0,-182,0,0,0,-191,-199,0,
- 0,-183,0,-194,0,0,0,0,-196,-198,
- -204,0,0,0,0,0,0,-205,-197,0,
+ 0,-203,0,0,0,0,0,0,0,0,
+ 0,-90,0,0,0,0,0,0,0,0,
+ -8,0,0,0,0,0,0,-108,-91,0,
+ -9,0,0,0,0,0,0,0,-211,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-123,0,0,
+ 0,0,0,0,0,0,0,-132,0,0,
+ 0,0,0,0,0,0,-33,0,-10,0,
+ 0,0,0,0,0,0,0,-54,-92,-126,
+ -116,-119,-93,0,-166,-94,-112,0,-150,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,-95,-177,0,0,0,-113,0,-196,
+ -87,-96,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0
+ -73,0,0,-151,0,0,0,0,0,0,
+ 0,0,-55,0,0,0,0,0,0,0,
+ 0,0,-175,0,0,0,0,0,0,0,
+ -127,0,0,0,0,-13,0,0,0,0,
+ 0,0,0,0,0,0,-97,0,0,0,
+ -98,0,0,0,-192,-99,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-53,
+ 0,0,0,0,0,0,0,0,0,-145,
+ 0,0,0,-100,-101,-210,0,-137,0,0,
+ 0,0,0,0,0,0,-169,0,-102,-103,
+ 0,0,0,-49,0,0,0,0,0,0,
+ 0,0,0,-140,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-11,0,0,0,
+ 0,0,0,0,-120,0,0,0,-149,0,
+ 0,0,0,0,0,0,-50,0,0,0,
+ 0,0,0,0,0,0,-128,0,-104,0,
+ -105,0,-106,-107,0,-110,-125,0,0,-51,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,-43,0,0,0,0,0,0,0,0,
+ 0,-44,0,0,0,0,0,0,0,0,
+ 0,-45,0,0,0,0,0,0,0,0,
+ 0,-46,0,0,0,0,0,0,0,0,
+ 0,-205,-75,-78,-40,0,0,0,0,0,
+ 0,0,0,-41,0,0,0,0,0,0,
+ -148,-134,0,-136,0,0,-138,-212,0,-189,
+ 0,0,0,0,-117,0,0,0,0,0,
+ 0,0,-36,0,0,0,0,0,0,0,
+ 0,0,0,-109,0,0,-181,0,0,-173,
+ 0,0,0,0,0,0,0,0,0,0,
+ -15,-42,0,0,0,0,0,0,-143,0,
+ 0,-174,-28,0,0,0,0,0,0,-153,
+ 0,0,0,-121,0,-29,0,0,0,0,
+ 0,0,-172,0,-79,0,0,0,0,0,
+ -122,0,0,0,0,0,0,-178,0,0,
+ 0,-199,0,0,0,0,0,0,0,-81,
+ 0,0,0,0,0,0,0,0,0,-84,
+ -193,0,0,-72,0,0,0,0,0,0,
+ 0,0,-86,-157,-190,0,0,0,0,0,
+ 0,0,-135,0,0,-191,0,0,0,0,
+ -165,-159,0,0,0,0,-180,0,0,0,
+ 0,0,0,-1,-179,-156,0,0,-32,0,
+ -154,0,-206,0,0,0,0,-163,0,-213,
+ 0,0,-162,-139,0,-142,-168,0,0,0,
+ -152,0,0,0,0,0,0,0,-182,0,
+ 0,0,0,0,0,-144,0,0,0,-198,
+ -170,-171,0,0,0,0,0,-183,-158,0,
+ 0,0,-167,-185,0,0,0,0,0,-176,
+ -186,0,0,0,0,0,0,-194,-197,0,
+ 0,0,0,-200,-201,-207,0,-208,-204,0,
+ 0,-209,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0
};
};
public final static short baseCheck[] = BaseCheck.baseCheck;
@@ -214,179 +214,178 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface BaseAction {
public final static char baseAction[] = {
- 87,10,23,23,22,22,32,32,69,69,
+ 87,10,23,23,20,20,32,32,70,70,
1,1,1,1,2,2,2,3,3,4,
- 4,4,4,4,4,4,4,51,51,70,
- 70,5,5,5,5,5,5,5,5,5,
- 5,6,6,7,7,7,7,8,8,8,
- 9,9,9,11,11,11,11,11,12,12,
- 12,13,13,14,14,15,15,16,16,17,
- 17,18,18,19,19,19,19,19,19,19,
- 19,19,19,19,19,101,45,40,88,88,
- 73,73,46,102,102,102,102,102,102,102,
- 103,103,103,104,104,109,109,110,110,105,
- 105,106,106,106,112,112,107,107,107,107,
- 108,108,108,108,108,111,111,25,25,25,
- 25,25,27,27,27,79,79,74,74,74,
- 74,75,75,75,76,76,76,77,77,77,
- 78,78,78,113,113,114,114,115,28,30,
- 30,30,30,30,52,54,54,54,54,54,
- 54,54,54,54,54,54,54,63,63,24,
- 24,60,60,89,90,64,64,61,61,61,
- 65,80,80,81,81,66,66,66,48,91,
- 91,82,83,83,83,62,62,92,84,84,
- 85,85,67,67,20,21,21,21,29,47,
- 47,33,33,33,33,36,36,38,34,34,
- 35,39,39,116,116,37,117,117,93,93,
- 26,26,26,26,26,26,26,26,26,86,
- 49,49,49,49,31,56,56,55,55,55,
- 57,57,50,50,94,94,71,71,58,58,
- 58,41,41,41,42,43,43,43,44,44,
- 44,44,53,53,53,59,95,72,72,72,
- 72,68,96,97,97,98,98,99,99,118,
- 118,119,119,120,120,120,120,122,122,121,
- 121,121,123,123,87,87,1,14,19,15,
- 342,655,43,371,369,402,31,375,418,414,
- 498,490,654,575,73,90,133,214,360,470,
- 394,323,649,135,132,134,158,441,14,19,
- 15,342,655,43,371,369,402,398,375,418,
- 414,498,490,654,575,73,282,276,137,413,
- 164,194,97,729,628,12,141,144,147,150,
- 372,513,14,19,15,342,41,43,692,340,
- 1425,1508,1527,1531,1543,1177,650,518,575,277,
- 287,171,30,1228,1236,1168,1208,220,1176,222,
- 1325,224,225,230,741,288,256,214,63,1142,
- 489,14,19,15,342,655,43,371,369,402,
- 398,375,418,414,498,490,654,575,73,282,
- 336,14,19,15,342,655,43,371,369,402,
- 398,375,418,414,498,490,654,575,73,282,
- 241,1175,1465,513,14,19,15,342,41,43,
- 371,369,402,287,375,418,414,498,1060,1208,
- 513,14,19,15,342,41,43,695,288,1426,
- 333,1247,1629,289,1248,906,293,730,313,1208,
- 513,14,19,15,342,41,39,542,290,275,
- 14,19,15,342,655,43,371,369,402,1144,
- 375,418,414,498,490,654,575,73,1143,26,
- 23,1250,240,465,14,19,15,342,655,43,
- 371,369,402,241,375,418,414,498,490,654,
- 575,73,282,513,14,19,15,342,655,43,
- 371,369,402,15,375,418,414,498,490,654,
- 575,73,90,347,211,327,513,14,19,15,
- 342,41,43,371,369,402,291,375,418,414,
- 966,447,1208,561,14,19,15,342,655,43,
- 371,369,402,1562,375,418,414,498,490,654,
- 575,73,1449,22,20,373,299,14,19,15,
- 342,655,43,371,369,402,340,375,418,414,
- 498,490,654,575,73,1490,189,1520,243,241,
- 513,14,19,15,342,41,43,371,369,402,
- 625,375,418,986,172,566,133,214,255,214,
- 638,730,585,135,132,134,158,513,14,19,
- 15,342,655,43,371,369,402,569,375,418,
- 414,498,490,654,575,73,91,1232,137,595,
- 164,191,199,284,1170,201,141,144,147,150,
- 372,513,14,19,15,342,41,43,371,846,
- 1425,1508,1527,1531,1543,1177,513,14,19,15,
- 342,655,43,371,369,402,110,375,418,414,
- 498,490,654,575,73,84,513,14,19,15,
- 342,655,43,371,369,402,196,375,418,414,
- 498,490,654,575,73,83,513,14,19,15,
- 342,655,43,371,369,402,117,375,418,414,
- 498,490,654,575,73,82,513,14,19,15,
- 342,655,43,371,369,402,283,375,418,414,
- 498,490,654,575,73,81,513,14,19,15,
- 342,655,43,371,369,402,448,375,418,414,
- 498,490,654,575,73,80,513,14,19,15,
- 342,655,43,371,369,402,520,375,418,414,
- 498,490,654,575,73,79,513,14,19,15,
- 342,655,43,371,369,402,699,375,418,414,
- 498,490,654,575,73,78,513,14,19,15,
- 342,655,43,371,369,402,733,375,418,414,
- 498,490,654,575,73,77,513,14,19,15,
- 342,655,43,371,369,402,200,375,418,414,
- 498,490,654,575,73,76,513,14,19,15,
- 342,655,43,371,369,402,738,375,418,414,
- 498,490,654,575,73,75,513,14,19,15,
- 342,655,43,371,369,402,57,375,418,414,
- 498,490,654,575,73,74,513,14,19,15,
- 342,655,43,371,369,402,104,375,418,414,
- 498,490,654,575,73,1530,513,14,19,15,
- 342,655,43,371,369,402,647,375,418,414,
- 498,490,654,575,73,1545,513,14,19,15,
- 342,41,43,371,369,402,751,375,418,414,
- 498,490,654,575,92,513,14,19,15,342,
- 41,43,371,369,402,294,375,418,414,498,
- 490,654,575,92,513,14,19,15,342,41,
- 38,6,1634,513,14,19,15,342,41,37,
- 362,513,14,19,15,342,41,43,371,369,
- 402,1644,375,418,414,498,490,654,575,92,
- 513,14,19,15,342,41,43,371,369,402,
- 524,375,418,414,498,490,654,575,92,513,
- 14,19,15,342,41,36,44,213,513,14,
- 19,15,342,41,35,206,513,14,19,15,
- 342,41,43,371,369,402,203,375,418,414,
- 498,490,654,575,92,513,14,19,15,342,
- 41,43,371,369,402,105,375,418,414,498,
- 490,654,575,72,373,1614,537,14,19,15,
- 342,40,204,513,14,19,15,342,41,34,
- 243,275,755,447,243,207,16,373,219,1176,
- 222,1325,224,225,230,1457,268,373,341,273,
- 255,214,264,373,255,214,242,278,472,1076,
- 690,275,754,265,718,329,756,189,219,1176,
- 222,1325,224,225,230,21,268,373,341,273,
- 256,214,1609,497,256,214,1174,133,214,401,
- 396,52,229,1227,136,132,134,158,400,262,
- 513,14,19,15,342,41,43,371,369,402,
- 152,375,418,414,498,490,1030,373,542,138,
- 616,164,305,15,15,15,542,142,145,148,
- 151,372,1615,1540,1589,661,275,634,144,274,
- 151,1168,188,220,1176,222,1325,224,225,230,
- 187,270,373,341,273,219,1176,222,1325,224,
- 225,230,513,14,19,15,342,41,46,1324,
- 513,14,19,15,342,41,43,371,369,402,
- 759,375,886,305,513,14,19,15,342,41,
- 43,371,866,1615,513,14,19,15,342,41,
- 43,371,369,726,199,201,365,14,19,15,
- 342,41,35,1639,59,734,219,1176,222,1325,
- 224,225,230,537,14,19,15,342,33,247,
- 1324,513,14,19,15,342,41,43,371,369,
- 402,228,926,513,14,19,15,342,41,43,
- 371,369,402,526,946,513,14,19,15,342,
- 41,43,371,369,766,200,201,513,14,19,
- 15,342,41,43,371,369,806,513,14,19,
- 15,342,41,43,371,369,826,615,717,365,
- 14,19,15,342,41,35,449,1615,1437,513,
- 14,19,15,342,41,45,1586,60,1723,1723,
- 278,1723,248,1723,275,232,604,1567,279,373,
- 219,1176,222,1325,224,225,230,688,15,268,
- 373,341,273,275,1609,133,214,636,553,447,
- 1201,280,140,132,134,158,1227,688,268,373,
- 341,273,1115,449,15,542,669,636,1085,373,
- 15,15,244,1569,553,267,1140,139,86,164,
- 316,316,1115,591,1723,232,1549,260,1085,189,
- 447,281,1429,542,1172,198,198,513,14,19,
- 15,342,41,44,86,1723,1220,260,646,1021,
- 86,86,1429,243,1172,1124,1124,296,1417,1417,
- 416,14,19,15,342,41,42,655,133,214,
- 447,678,1723,1723,15,143,132,134,158,1723,
- 48,615,1147,687,1608,447,730,133,214,324,
- 636,133,214,245,146,132,134,158,149,132,
- 134,158,243,133,214,198,15,50,246,282,
- 152,132,134,158,142,275,420,758,181,636,
- 1168,1723,255,214,636,389,502,95,677,720,
- 270,373,341,273,1115,553,636,636,1085,198,
- 537,14,19,15,342,32,193,281,720,373,
- 758,1115,198,1250,50,50,1549,553,396,260,
- 1546,1587,677,15,1649,86,1172,752,1638,755,
- 314,226,1250,1574,447,677,260,636,730,727,
- 193,1469,542,1172,447,1085,1085,88,936,373,
- 730,730,1115,194,1650,1587,210,295,730,342,
- 1723,1651,1659,1220,374,1723,298,297,1723,1723,
- 205,231,326,1577,1290,210,1723,261,1723,1723,
- 1658,235,182,206,1723,1723,1723,1723,1723,1723,
- 691,1723,1610,1290,1723,1163,1723,1723,1723,1723,
- 1723,1723,1723,1723,1723,1723,1723,1723,195,1723,
- 0,17,178,0,18,177,0,1,1950,0,
- 1,1961,0
+ 4,4,4,4,4,4,4,51,51,71,
+ 71,5,5,5,5,5,5,5,5,5,
+ 5,5,6,6,7,7,7,7,8,8,
+ 8,9,9,9,11,11,11,11,11,12,
+ 12,12,13,13,14,14,15,15,16,16,
+ 17,17,18,18,19,19,19,19,19,19,
+ 19,19,19,19,19,19,101,41,33,88,
+ 88,73,73,47,102,102,102,102,102,102,
+ 102,103,103,103,104,104,109,109,110,110,
+ 105,105,106,106,106,112,112,107,107,107,
+ 107,108,108,108,108,108,111,111,24,24,
+ 24,24,24,27,27,27,79,79,74,74,
+ 74,74,75,75,75,76,76,76,77,77,
+ 77,78,78,78,113,113,114,114,115,28,
+ 30,30,30,30,30,52,54,54,54,54,
+ 54,54,54,54,54,54,54,54,64,64,
+ 25,25,61,61,89,90,65,65,62,62,
+ 62,66,80,80,81,81,67,67,67,42,
+ 91,91,82,83,83,83,63,63,92,84,
+ 84,85,85,68,68,21,22,22,22,29,
+ 48,48,34,34,34,34,37,37,39,35,
+ 35,36,40,40,116,116,38,117,117,93,
+ 93,26,26,26,26,26,26,26,26,26,
+ 86,49,49,49,49,31,56,56,55,55,
+ 55,57,57,50,50,94,94,60,60,58,
+ 58,58,43,43,43,44,45,45,45,46,
+ 46,46,46,53,53,53,59,95,72,72,
+ 72,72,69,96,97,97,98,98,99,99,
+ 118,118,119,119,120,120,120,120,122,122,
+ 121,121,121,123,123,87,87,1,14,19,
+ 15,343,670,44,400,370,405,201,404,492,
+ 462,577,498,658,643,74,91,387,134,215,
+ 31,14,144,743,136,133,135,159,434,14,
+ 19,15,343,670,44,400,370,405,399,404,
+ 492,462,577,498,658,643,74,283,277,138,
+ 57,165,530,14,19,15,343,40,142,145,
+ 148,151,402,358,14,19,15,343,42,35,
+ 341,1404,1505,1530,1540,1553,1161,744,23,312,
+ 157,288,191,1122,6,30,248,1479,506,14,
+ 19,15,343,42,44,400,1162,289,257,215,
+ 1294,482,14,19,15,343,670,44,400,370,
+ 405,399,404,492,462,577,498,658,643,74,
+ 283,332,14,19,15,343,670,44,400,370,
+ 405,399,404,492,462,577,498,658,643,74,
+ 283,201,605,421,506,14,19,15,343,42,
+ 44,400,370,405,288,404,492,462,577,1341,
+ 1479,506,14,19,15,343,42,44,400,1227,
+ 289,615,200,1630,290,1603,1571,294,684,323,
+ 1479,506,14,19,15,343,42,44,1042,414,
+ 291,275,14,19,15,343,670,44,400,370,
+ 405,1158,404,492,462,577,498,658,643,74,
+ 1127,26,22,196,241,458,14,19,15,343,
+ 670,44,400,370,405,489,404,492,462,577,
+ 498,658,643,74,283,506,14,19,15,343,
+ 670,44,400,370,405,1544,404,492,462,577,
+ 498,658,643,74,91,1315,439,344,506,14,
+ 19,15,343,42,44,400,370,405,292,404,
+ 492,462,1265,104,1479,578,14,19,15,343,
+ 670,44,400,370,405,1211,404,492,462,577,
+ 498,658,643,74,1337,326,20,189,299,14,
+ 19,15,343,670,44,400,370,405,341,404,
+ 492,462,577,498,658,643,74,1421,134,215,
+ 1424,242,1511,237,136,133,135,159,506,14,
+ 19,15,343,670,44,400,370,405,713,404,
+ 492,462,577,498,658,643,74,92,1494,138,
+ 595,165,554,14,19,15,343,33,142,145,
+ 148,151,402,506,14,19,15,343,42,44,
+ 1059,1404,1505,1530,1540,1553,1161,506,14,19,
+ 15,343,670,44,400,370,405,489,404,492,
+ 462,577,498,658,643,74,85,506,14,19,
+ 15,343,670,44,400,370,405,16,404,492,
+ 462,577,498,658,643,74,84,506,14,19,
+ 15,343,670,44,400,370,405,489,404,492,
+ 462,577,498,658,643,74,83,506,14,19,
+ 15,343,670,44,400,370,405,1343,404,492,
+ 462,577,498,658,643,74,82,506,14,19,
+ 15,343,670,44,400,370,405,489,404,492,
+ 462,577,498,658,643,74,81,506,14,19,
+ 15,343,670,44,400,370,405,1344,404,492,
+ 462,577,498,658,643,74,80,506,14,19,
+ 15,343,670,44,400,370,405,489,404,492,
+ 462,577,498,658,643,74,79,506,14,19,
+ 15,343,670,44,400,370,405,21,404,492,
+ 462,577,498,658,643,74,78,506,14,19,
+ 15,343,670,44,400,370,405,489,404,492,
+ 462,577,498,658,643,74,77,506,14,19,
+ 15,343,670,44,400,370,405,275,404,492,
+ 462,577,498,658,643,74,76,506,14,19,
+ 15,343,670,44,400,370,405,489,404,492,
+ 462,577,498,658,643,74,75,506,14,19,
+ 15,343,670,44,400,370,405,281,404,492,
+ 462,577,498,658,643,74,1631,506,14,19,
+ 15,343,670,44,400,370,405,489,404,492,
+ 462,577,498,658,643,74,1632,506,14,19,
+ 15,343,42,44,400,370,405,282,404,492,
+ 462,577,498,658,643,93,506,14,19,15,
+ 343,42,44,400,370,405,243,404,492,462,
+ 577,498,658,643,93,506,14,19,15,343,
+ 42,39,602,632,1644,506,14,19,15,343,
+ 42,38,278,506,14,19,15,343,42,44,
+ 400,370,405,1659,404,492,462,577,498,658,
+ 643,93,506,14,19,15,343,42,44,400,
+ 370,405,194,404,492,462,577,498,658,643,
+ 93,506,14,19,15,343,42,37,118,199,
+ 214,506,14,19,15,343,42,36,348,506,
+ 14,19,15,343,42,44,400,370,405,204,
+ 404,492,462,577,498,658,643,93,506,14,
+ 19,15,343,42,44,400,370,405,113,404,
+ 492,462,577,498,658,643,73,118,1490,506,
+ 14,19,15,343,42,35,205,555,118,416,
+ 645,307,583,465,276,323,488,104,555,207,
+ 1260,617,220,1184,223,1611,225,226,231,1460,
+ 87,269,986,342,274,1098,265,189,593,279,
+ 243,87,1346,490,323,276,266,285,52,1280,
+ 583,189,241,220,1184,223,1611,225,226,231,
+ 1454,261,269,986,342,274,907,1503,1422,256,
+ 215,124,134,215,511,1619,182,867,137,133,
+ 135,159,263,506,14,19,15,343,42,44,
+ 400,370,405,151,404,492,462,577,498,1339,
+ 230,52,1346,139,397,165,554,14,19,15,
+ 343,32,143,146,149,152,402,654,212,276,
+ 1454,499,256,215,1347,281,13,221,1184,223,
+ 1611,225,226,231,618,1593,271,986,342,274,
+ 506,14,19,15,343,42,44,400,370,405,
+ 52,404,492,1279,50,622,281,397,118,220,
+ 1184,223,1611,225,226,231,1593,756,1554,624,
+ 330,256,215,1669,506,14,19,15,343,42,
+ 44,400,370,405,746,404,1231,917,257,215,
+ 220,1184,223,1611,225,226,231,506,14,19,
+ 15,343,42,34,1669,583,1277,200,202,358,
+ 14,19,15,343,42,35,463,506,14,19,
+ 15,343,42,44,400,370,405,104,1236,723,
+ 188,690,249,97,158,499,562,728,201,202,
+ 506,14,19,15,343,42,44,400,370,405,
+ 245,1264,506,14,19,15,343,42,44,400,
+ 370,1119,506,14,19,15,343,42,44,400,
+ 370,1123,506,14,19,15,343,42,44,400,
+ 370,1126,506,14,19,15,343,42,44,400,
+ 370,1153,693,613,232,506,14,19,15,343,
+ 42,47,1593,1121,506,14,19,15,343,42,
+ 46,104,646,279,331,134,215,205,710,276,
+ 765,141,133,135,159,514,220,1184,223,1611,
+ 225,226,231,160,244,1563,269,986,342,274,
+ 1503,257,215,1181,242,280,140,747,165,1347,
+ 307,867,221,1184,223,1611,225,226,231,276,
+ 617,118,506,14,19,15,343,42,45,590,
+ 276,317,514,118,1098,1347,269,986,342,274,
+ 124,1346,1555,317,620,199,118,271,986,342,
+ 274,268,233,489,87,675,317,199,1658,1203,
+ 261,583,707,1443,1586,907,87,1422,612,1427,
+ 199,1346,489,227,707,1443,134,215,1235,87,
+ 680,545,144,133,135,159,190,707,1443,1203,
+ 709,747,232,747,409,14,19,15,343,42,
+ 43,134,215,714,48,718,787,147,133,135,
+ 159,134,215,116,617,617,142,150,133,135,
+ 159,559,647,617,134,215,617,647,199,1098,
+ 153,133,135,159,382,95,766,1098,197,441,
+ 199,357,1666,124,555,617,1518,1619,583,555,
+ 338,617,1619,729,118,261,118,52,1518,199,
+ 1522,677,1422,261,1572,1098,1125,87,947,730,
+ 1422,194,89,297,1346,315,753,1518,256,215,
+ 746,104,104,194,1154,1585,1607,229,768,118,
+ 211,262,1428,118,104,211,1665,1585,1664,1577,
+ 118,583,195,421,246,247,1457,1638,323,104,
+ 1566,1541,1638,1430,365,323,323,296,323,749,
+ 295,340,287,1715,1715,1715,299,827,1715,1715,
+ 1715,1668,298,1715,236,1715,1715,1715,1715,1715,
+ 206,1715,1715,1715,1715,284,1715,183,207,1715,
+ 1600,1715,0,17,179,0,18,178,0,1,
+ 1943,0,1,1954,0
};
};
public final static char baseAction[] = BaseAction.baseAction;
@@ -397,91 +396,92 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface TermCheck {
public final static byte termCheck[] = {0,
0,1,2,3,4,0,6,7,8,9,
- 10,0,12,13,0,15,16,17,18,19,
+ 10,11,0,0,14,15,16,17,18,19,
20,21,22,23,24,25,26,27,28,0,
0,31,32,33,34,35,36,37,38,39,
- 40,41,42,0,44,45,46,0,1,0,
- 3,0,5,6,7,8,0,14,0,0,
- 13,2,0,4,59,14,55,56,57,58,
- 11,24,25,26,27,28,47,48,31,32,
+ 40,41,42,30,44,45,46,0,1,0,
+ 3,0,5,6,7,8,0,6,7,8,
+ 55,56,57,58,17,9,10,55,56,57,
+ 58,24,25,26,27,28,47,48,31,32,
33,34,35,36,37,38,39,40,41,42,
43,44,45,46,0,1,0,3,51,5,
- 6,7,8,0,0,1,2,13,4,0,
- 80,55,56,57,58,11,0,59,24,25,
- 26,27,28,61,62,31,32,33,34,35,
+ 6,7,8,0,55,56,57,58,5,13,
+ 80,17,0,1,2,0,4,0,24,25,
+ 26,27,28,0,12,31,32,33,34,35,
36,37,38,39,40,41,42,43,44,45,
46,0,1,0,3,51,5,6,7,8,
- 0,0,1,2,13,4,47,48,55,56,
- 57,58,11,47,48,24,25,26,27,28,
- 0,0,31,32,33,34,35,36,37,38,
+ 0,1,2,50,4,12,0,0,17,0,
+ 4,2,12,4,49,24,25,26,27,28,
+ 13,12,31,32,33,34,35,36,37,38,
39,40,41,42,43,44,45,46,0,1,
0,3,51,0,6,7,8,4,0,0,
- 0,13,4,60,4,0,0,1,2,4,
- 60,5,24,25,26,27,28,11,0,31,
+ 0,1,4,3,0,17,0,1,2,53,
+ 54,5,24,25,26,27,28,13,12,31,
32,33,34,35,36,37,38,39,40,41,
- 42,0,44,45,46,29,65,6,7,8,
- 0,1,0,3,13,0,53,54,6,7,
- 8,53,54,53,54,24,25,26,27,28,
+ 42,0,44,45,46,29,0,6,7,8,
+ 0,0,0,2,2,4,53,54,17,9,
+ 10,53,54,12,12,24,25,26,27,28,
61,62,31,32,33,34,35,36,37,38,
39,40,41,42,0,1,2,3,4,5,
- 0,0,1,9,10,5,12,13,0,15,
- 16,17,18,19,20,21,22,23,0,1,
- 2,3,4,5,0,1,2,9,10,29,
- 12,13,0,15,16,17,18,19,20,21,
- 22,23,0,0,50,2,0,4,0,1,
- 49,3,0,11,11,0,1,2,3,4,
- 5,0,14,0,9,10,5,12,50,14,
- 15,16,17,18,19,20,21,22,23,0,
- 1,0,3,59,0,1,2,3,4,5,
- 29,30,0,9,10,63,12,5,43,15,
+ 0,1,2,9,10,11,0,1,14,15,
16,17,18,19,20,21,22,23,0,1,
- 2,3,4,0,68,69,64,9,10,0,
- 12,29,0,15,16,17,18,19,20,21,
- 22,23,0,14,50,0,1,2,3,4,
- 0,9,10,30,9,10,65,12,0,14,
- 15,16,17,18,19,20,21,22,23,51,
- 0,1,2,3,4,0,0,0,0,9,
- 10,5,12,5,14,15,16,17,18,19,
- 20,21,22,23,0,1,2,3,4,0,
- 1,0,3,9,10,4,12,29,14,15,
- 16,17,18,19,20,21,22,23,0,1,
- 2,3,4,0,47,48,50,9,10,0,
- 12,0,14,15,16,17,18,19,20,21,
- 22,23,0,1,2,3,4,0,1,0,
- 3,9,10,0,12,0,1,15,16,17,
- 18,19,20,21,22,23,0,1,2,3,
- 4,0,1,0,3,9,10,0,12,0,
- 49,15,16,17,18,19,20,21,22,23,
- 0,1,2,3,4,0,47,48,0,9,
- 10,0,12,5,0,15,16,17,18,19,
- 20,21,22,23,0,11,2,64,4,5,
- 6,7,8,0,0,11,2,13,4,5,
- 6,7,8,0,1,11,3,13,24,25,
- 26,27,28,29,0,1,2,14,24,25,
- 26,27,28,29,0,60,52,0,1,2,
- 6,7,8,0,66,70,71,72,73,74,
- 75,76,77,78,79,0,0,14,0,0,
- 2,6,7,8,0,6,7,8,13,11,
- 6,7,8,15,16,0,0,13,0,24,
- 25,26,27,28,6,7,8,0,24,25,
- 26,27,28,6,7,8,0,0,0,0,
- 13,4,6,7,8,6,7,8,0,13,
- 52,24,25,26,27,28,0,9,10,63,
- 24,25,26,27,28,67,0,0,2,0,
- 1,5,3,6,7,8,0,11,0,0,
- 2,5,0,0,5,2,49,0,0,11,
- 0,9,10,5,11,29,0,1,11,3,
- 0,0,12,0,0,0,30,0,0,0,
- 0,0,12,0,0,0,11,0,0,0,
- 0,0,43,14,14,14,0,0,0,0,
- 0,43,0,30,30,0,0,30,30,52,
- 0,0,66,0,0,0,0,0,0,0,
- 49,0,0,0,0,0,0,0,0,0,
+ 2,3,4,5,68,69,0,9,10,11,
+ 4,0,14,15,16,17,18,19,20,21,
+ 22,23,0,12,50,0,1,5,3,0,
+ 0,0,1,2,3,4,5,0,13,59,
+ 9,10,11,0,13,14,15,16,50,18,
+ 19,20,21,22,23,49,0,0,1,2,
+ 3,4,5,52,0,43,9,10,11,5,
+ 0,14,15,16,43,18,19,20,21,22,
+ 23,0,1,2,3,4,0,1,59,3,
+ 9,10,11,29,30,14,15,16,0,18,
+ 19,20,21,22,23,49,63,50,0,1,
+ 2,3,4,0,1,0,3,9,10,11,
+ 0,13,14,15,16,5,18,19,20,21,
+ 22,23,51,0,1,2,3,4,0,1,
+ 0,3,9,10,11,5,13,14,15,16,
+ 30,18,19,20,21,22,23,0,1,2,
+ 3,4,47,48,0,0,9,10,11,29,
+ 13,14,15,16,0,18,19,20,21,22,
+ 23,0,1,2,3,4,66,0,0,0,
+ 9,10,11,5,13,14,15,16,0,18,
+ 19,20,21,22,23,0,1,2,3,4,
+ 0,47,48,0,9,10,11,29,5,14,
+ 15,16,12,18,19,20,21,22,23,0,
+ 1,2,3,4,47,48,47,48,9,10,
+ 11,0,29,14,15,16,5,18,19,20,
+ 21,22,23,0,1,2,3,4,0,61,
+ 62,0,9,10,11,4,0,14,15,16,
+ 12,18,19,20,21,22,23,0,1,2,
+ 3,4,0,1,43,3,9,10,11,0,
+ 0,14,15,16,0,18,19,20,21,22,
+ 23,0,13,2,0,4,5,6,7,8,
+ 52,0,0,12,2,11,5,5,17,0,
+ 1,0,3,0,12,24,25,26,27,28,
+ 29,0,13,2,11,4,5,6,7,8,
+ 0,29,0,12,0,0,0,1,17,3,
+ 6,7,8,0,60,24,25,26,27,28,
+ 29,0,9,10,70,71,72,73,74,75,
+ 76,77,78,79,0,30,0,66,2,0,
+ 6,7,8,0,63,6,7,8,12,0,
+ 0,17,0,1,2,0,17,0,24,25,
+ 26,27,28,24,25,26,27,28,0,0,
+ 1,2,0,0,6,7,8,0,1,6,
+ 7,8,0,0,1,17,3,0,0,0,
+ 17,4,24,25,26,27,28,24,25,26,
+ 27,28,0,0,2,0,0,64,0,6,
+ 7,8,0,64,12,0,14,15,6,7,
+ 8,6,7,8,0,0,49,0,0,0,
+ 6,7,8,0,0,30,30,65,13,0,
+ 0,13,13,0,0,0,13,65,60,60,
+ 0,0,0,0,52,0,0,30,0,0,
+ 0,0,0,0,0,0,0,59,0,67,
+ 0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0
+ 0,0,0,0,0,0,0
};
};
public final static byte termCheck[] = TermCheck.termCheck;
@@ -489,87 +489,87 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface TermAction {
public final static char termAction[] = {0,
- 1723,662,1470,689,1078,1723,1938,1939,1940,1069,
- 1023,58,1133,1884,1,1600,1333,1126,1733,1734,
- 1735,1736,1014,500,1885,1883,1941,1886,1882,53,
- 1723,1889,1894,1893,1891,1892,1890,1895,1896,1888,
- 1897,1898,1899,1723,397,339,338,1723,1,254,
- 1,1723,192,1,1,1,60,563,202,266,
- 1,1398,61,1,1105,1534,1387,1377,1365,1304,
- 509,1,1,1,1,1,701,1294,1,1,
+ 1715,1002,1471,1003,1109,59,1931,1932,1933,1061,
+ 1051,1307,61,88,1216,672,372,1877,1725,1726,
+ 1727,1728,1005,995,1878,1876,1934,1879,1875,54,
+ 1715,1882,1887,1886,1884,1885,1883,1888,1889,1881,
+ 1890,1891,1892,648,576,509,337,1715,1,60,
+ 1,1715,193,1,1,1,51,1931,1932,1933,
+ 1392,1382,1372,1362,1,683,501,1392,1382,1372,
+ 1362,1,1,1,1,1,408,481,1,1,
1,1,1,1,1,1,1,1,1,1,
- 192,1,1,1,1723,1,183,1,1920,191,
- 1,1,1,59,263,1950,1145,1,1,57,
- 1710,1387,1377,1365,1304,509,56,1086,1,1,
- 1,1,1,1353,1341,1,1,1,1,1,
- 1,1,1,1,1,1,1,191,1,1,
- 1,1723,1,1723,1,1920,192,1,1,1,
- 212,269,1950,1145,1,254,701,1294,1387,1377,
- 1365,1304,509,701,1294,1,1,1,1,1,
- 184,69,1,1,1,1,1,1,1,1,
- 1,1,1,1,192,1,1,1,1723,1901,
- 286,1900,1920,47,1938,1939,1940,1497,49,62,
- 48,1884,1497,533,1497,1723,1,1717,1145,650,
- 1031,1728,1885,1883,1941,1886,1882,509,1723,1889,
- 1894,1893,1891,1892,1890,1895,1896,1888,1897,1898,
- 1899,127,397,339,338,1727,463,1938,1939,1940,
- 1723,1752,1723,1753,1884,1723,1409,1272,1938,1939,
- 1940,1409,1272,1409,1272,1885,1883,1941,1886,1882,
- 1353,1341,1889,1894,1893,1891,1892,1890,1895,1896,
- 1888,1897,1898,1899,1,1740,1470,1741,1316,1726,
- 1,1,1720,1069,1023,89,1133,593,1723,1600,
- 1333,1126,1733,1734,1735,1736,1014,500,1723,1740,
- 1470,1741,1399,1726,1,1950,1397,1069,1023,89,
- 1133,956,65,1600,1333,1126,1733,1734,1735,1736,
- 1014,500,272,269,1725,1398,71,254,1723,1902,
- 1982,1903,67,509,509,1,1740,1470,1741,1078,
- 27,1723,1233,1723,1069,1023,1728,1133,1725,2777,
- 1600,1333,1126,1733,1734,1735,1736,1014,500,186,
- 2798,70,2798,1050,1723,1740,1470,1741,1078,1726,
- 1727,1363,1723,1069,1023,640,1133,1728,27,1600,
- 1333,1126,1733,1734,1735,1736,1014,500,1723,1,
- 1,1,1,87,1210,1464,576,1,1,1723,
- 1,1727,1723,1,1,1,1,1,1,1,
- 1,1,50,1566,1725,1723,1740,1470,1741,1078,
- 1723,480,381,667,1069,1023,463,1133,1723,563,
- 1600,1333,1126,1733,1734,1735,1736,1014,500,2038,
- 1,1740,1470,1741,1078,1723,1723,55,1,1069,
- 1023,1726,1133,1728,2777,1600,1333,1126,1733,1734,
- 1735,1736,1014,500,1723,1740,1470,1741,1078,185,
- 2799,1723,2799,1069,1023,1466,1133,1727,2777,1600,
- 1333,1126,1733,1734,1735,1736,1014,500,1,1740,
- 1470,1741,1078,1723,701,1294,1725,1069,1023,1723,
- 1133,1,2777,1600,1333,1126,1733,1734,1735,1736,
- 1014,500,1723,1740,1470,1741,1078,207,2800,54,
- 2800,1069,1023,68,1133,1723,1962,1600,1333,1126,
- 1733,1734,1735,1736,1014,500,1723,1740,1471,1741,
- 1078,1723,1902,1723,1903,1069,1023,1723,1133,1723,
- 1982,1600,1333,1126,1733,1734,1735,1736,1014,500,
- 1,1740,1470,1741,1078,41,701,1294,1,1069,
- 1023,1723,1133,1732,1723,1600,1333,1126,1733,1734,
- 1735,1736,1014,500,17,976,1711,576,1711,1711,
- 178,178,178,1723,18,1711,1714,178,1714,1714,
- 177,177,177,1723,1902,1714,1903,177,178,178,
- 178,178,178,1711,1,1950,1397,1234,177,177,
- 177,177,177,1714,250,916,1493,254,1950,1397,
- 1,1,1,1723,1731,896,876,856,836,816,
- 776,796,756,736,716,128,66,1623,31,249,
- 1607,1938,1939,1940,129,1938,1939,1940,1884,1438,
- 1938,1939,1940,1747,1748,1723,1723,1884,251,1885,
- 1883,1941,1886,1882,1,1,1,130,1885,1883,
- 1941,1886,1882,1938,1939,1940,131,1,1723,252,
- 1884,254,1938,1939,1940,1938,1939,1940,52,1884,
- 543,1885,1883,1941,1886,1882,1723,480,381,640,
- 1885,1883,1941,1886,1882,460,1,253,1398,209,
- 1902,1728,1903,1938,1939,1940,1723,509,271,1723,
- 1406,1732,51,223,1730,1463,1982,292,285,509,
- 63,480,381,1235,509,1727,208,507,995,507,
- 64,1,1280,257,28,221,1293,28,208,190,
- 190,190,1280,1723,1723,1723,509,1723,1723,1723,
- 1723,1723,1729,186,185,207,1723,1723,1723,1723,
- 1723,1235,1723,1627,440,1723,1723,1750,2785,1642,
- 1723,1723,1731,1723,1723,1723,1723,1723,1723,1723,
- 1981
+ 193,1,1,1,1715,1,41,1,1913,192,
+ 1,1,1,1715,1392,1382,1372,1362,1718,1058,
+ 1702,1,264,1943,1129,1,1,1,1,1,
+ 1,1,1,255,511,1,1,1,1,1,
+ 1,1,1,1,1,1,1,192,1,1,
+ 1,1715,1,273,1,1913,193,1,1,1,
+ 270,1943,1129,1717,255,511,48,1715,1,267,
+ 1472,1403,511,1,1975,1,1,1,1,1,
+ 1058,511,1,1,1,1,1,1,1,1,
+ 1,1,1,1,193,1,1,1,1715,1894,
+ 184,1893,1913,50,1931,1932,1933,1472,49,62,
+ 1715,1744,1472,1745,1715,1877,1,1709,1129,1414,
+ 1405,1720,1878,1876,1934,1879,1875,1639,511,1882,
+ 1887,1886,1884,1885,1883,1888,1889,1881,1890,1891,
+ 1892,128,576,509,337,1719,72,1931,1932,1933,
+ 53,270,272,1403,1435,255,1414,1405,1877,683,
+ 501,1414,1405,511,511,1878,1876,1934,1879,1875,
+ 1350,1327,1882,1887,1886,1884,1885,1883,1888,1889,
+ 1881,1890,1891,1892,1,1732,1471,1733,383,1718,
+ 1,1943,1402,1061,1051,1307,1715,1955,1216,672,
+ 372,595,1725,1726,1727,1728,1005,995,1715,1732,
+ 1471,1733,1319,1718,1193,1118,1,1061,1051,1307,
+ 255,1715,1216,672,372,937,1725,1726,1727,1728,
+ 1005,995,1715,957,1717,1715,1895,1722,1896,1715,
+ 185,1,1732,1471,1733,1109,27,287,1268,1032,
+ 1061,1051,1307,66,2573,1216,672,372,1717,1725,
+ 1726,1727,1728,1005,995,1975,1,1715,1732,1471,
+ 1733,1109,1718,1598,1715,1721,1061,1051,1307,1720,
+ 1715,1216,672,372,27,1725,1726,1727,1728,1005,
+ 995,1715,1,1,1,1,187,2800,1088,2800,
+ 1,1,1,1719,1672,1,1,1,1715,1,
+ 1,1,1,1,1,1974,1250,1717,1715,1732,
+ 1471,1733,1109,186,2801,58,2801,1061,1051,1307,
+ 1715,1058,1216,672,372,1724,1725,1726,1727,1728,
+ 1005,995,2031,1,1732,1471,1733,1109,208,2805,
+ 1,2805,1061,1051,1307,90,2573,1216,672,372,
+ 1266,1725,1726,1727,1728,1005,995,1715,1732,1471,
+ 1733,1109,408,481,57,1715,1061,1051,1307,90,
+ 2573,1216,672,372,1715,1725,1726,1727,1728,1005,
+ 995,1,1732,1471,1733,1109,1723,56,1715,55,
+ 1061,1051,1307,1720,2573,1216,672,372,63,1725,
+ 1726,1727,1728,1005,995,1715,1732,1471,1733,1109,
+ 222,408,481,1,1061,1051,1307,1719,1720,1216,
+ 672,372,511,1725,1726,1727,1728,1005,995,1715,
+ 1732,1483,1733,1109,408,481,408,481,1061,1051,
+ 1307,286,1719,1216,672,372,1606,1725,1726,1727,
+ 1728,1005,995,1715,1732,1496,1733,1109,293,1350,
+ 1327,1715,1061,1051,1307,1120,1715,1216,672,372,
+ 976,1725,1726,1727,1728,1005,995,1,1732,1471,
+ 1733,1109,1715,1895,1606,1896,1061,1051,1307,1715,
+ 1715,1216,672,372,42,1725,1726,1727,1728,1005,
+ 995,17,1643,1703,64,1703,1703,179,179,179,
+ 1651,1,1,1703,1403,1284,1724,1720,179,1715,
+ 1895,67,1896,65,511,179,179,179,179,179,
+ 1703,18,1604,1706,1284,1706,1706,178,178,178,
+ 1715,1719,1715,1706,251,258,210,1895,178,1896,
+ 1,1,1,52,897,178,178,178,178,178,
+ 1706,1715,683,501,877,857,837,817,797,757,
+ 777,737,717,697,129,1591,224,1723,1482,130,
+ 1931,1932,1933,68,1250,1931,1932,1933,511,69,
+ 1715,1877,1,1943,1402,1715,1877,1715,1878,1876,
+ 1934,1879,1875,1878,1876,1934,1879,1875,131,255,
+ 1943,1402,70,132,1931,1932,1933,1,1712,1931,
+ 1932,1933,71,209,1160,1877,1160,1715,1715,213,
+ 1877,1626,1878,1876,1934,1879,1875,1878,1876,1934,
+ 1879,1875,31,250,1589,28,28,578,203,1931,
+ 1932,1933,252,578,1107,253,1739,1740,1,1,
+ 1,1931,1932,1933,254,1715,1975,209,191,191,
+ 1931,1932,1933,191,1715,441,1742,464,1650,1715,
+ 1715,187,186,1715,1715,1715,208,464,535,1013,
+ 1715,1715,1715,1715,461,1715,1715,2755,1715,1715,
+ 1715,1715,1715,1715,1715,1715,1715,1069,1715,327
};
};
public final static char termAction[] = TermAction.termAction;
@@ -577,27 +577,28 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface Asb {
public final static char asb[] = {0,
- 384,1,104,41,104,104,104,104,104,104,
- 104,104,104,3,343,51,48,55,53,61,
- 59,63,62,65,64,10,104,343,280,280,
- 402,104,187,187,308,343,104,104,104,104,
- 104,104,104,104,104,104,104,104,104,104,
- 104,104,104,104,104,104,104,104,104,104,
- 104,104,104,104,104,104,187,187,45,80,
- 312,98,250,185,184,283,295,94,295,94,
- 94,295,94,295,357,141,141,48,48,53,
- 53,53,53,51,51,59,55,55,62,61,
- 248,64,63,96,78,308,312,121,45,380,
- 102,187,314,253,94,280,280,94,280,104,
- 78,312,303,380,45,101,98,187,306,357,
- 186,255,96,201,96,231,233,198,228,96,
- 303,380,104,104,45,102,250,243,242,312,
- 255,187,96,201,231,231,228,76,240,280,
- 104,197,228,78,380,303,45,45,187,314,
- 253,306,201,228,190,201,231,233,237,233,
- 80,45,280,104,78,303,255,201,192,233,
- 228,104,280,45,233,187,186,228,72,104,
- 71,117,312,228,228,281,192,104,117,233
+ 377,1,76,41,76,76,76,76,76,76,
+ 76,76,76,3,325,236,233,240,238,246,
+ 244,248,247,250,249,10,76,325,325,291,
+ 291,395,76,159,159,319,325,76,76,76,
+ 76,76,76,76,76,76,76,76,76,76,
+ 76,76,76,76,76,76,76,76,76,76,
+ 76,76,76,76,76,76,76,159,159,159,
+ 45,52,323,70,261,157,156,294,306,66,
+ 306,66,66,306,66,306,339,113,113,233,
+ 233,238,238,238,238,236,236,244,240,240,
+ 247,246,426,249,248,221,68,50,319,323,
+ 93,45,362,74,159,162,264,66,291,291,
+ 66,291,76,50,323,314,362,45,73,70,
+ 159,317,339,158,266,68,191,68,414,416,
+ 374,218,68,314,362,76,76,45,74,261,
+ 421,420,323,266,159,68,191,414,414,218,
+ 48,431,291,76,373,218,50,362,314,45,
+ 45,159,162,264,317,191,218,366,191,414,
+ 416,428,416,52,45,291,76,50,314,266,
+ 191,368,416,218,76,291,45,416,159,158,
+ 218,257,76,256,89,323,218,218,292,368,
+ 76,89,416
};
};
public final static char asb[] = Asb.asb;
@@ -605,48 +606,50 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface Asr {
public final static byte asr[] = {0,
- 80,0,66,11,2,52,67,15,16,12,
+ 80,0,66,12,2,52,67,14,15,11,
4,9,10,53,54,47,48,55,56,57,
58,61,62,63,64,65,68,69,43,60,
70,71,72,73,74,76,75,77,78,79,
- 59,29,80,30,50,5,0,4,53,54,
- 9,10,48,47,55,56,57,58,61,62,
- 12,63,64,65,50,29,43,80,68,69,
- 59,66,5,30,0,5,43,11,52,15,
- 16,12,4,9,10,22,23,17,2,18,
- 19,20,21,1,3,14,0,6,7,8,
- 13,50,5,18,19,20,21,3,15,16,
- 12,9,10,22,23,17,4,2,1,0,
- 6,7,8,2,18,19,20,21,1,3,
- 15,16,12,4,9,10,22,23,17,0,
- 7,13,28,8,27,26,25,6,24,52,
- 67,15,16,12,9,10,53,54,47,48,
- 55,56,57,58,61,62,63,64,65,68,
- 69,60,70,71,72,73,74,75,76,77,
- 78,79,4,2,11,30,29,5,0,66,
- 5,4,1,2,59,0,60,11,52,0,
+ 59,29,80,30,50,5,0,5,43,12,
+ 52,14,15,11,4,9,10,22,23,16,
+ 2,18,19,20,21,1,3,13,0,6,
+ 7,8,17,50,5,18,19,20,21,3,
+ 14,15,11,9,10,22,23,16,4,2,
+ 1,0,6,7,8,2,18,19,20,21,
+ 1,3,14,15,11,4,9,10,22,23,
+ 16,0,7,17,28,8,27,26,25,6,
+ 24,52,67,14,15,11,9,10,53,54,
+ 47,48,55,56,57,58,61,62,63,64,
+ 65,68,69,60,70,71,72,73,74,75,
+ 76,77,78,79,4,2,12,30,29,5,
+ 0,4,24,31,6,32,44,25,33,26,
+ 34,35,27,7,36,37,17,45,28,46,
+ 38,39,8,40,41,42,1,3,49,0,
24,31,6,32,44,25,33,26,34,35,
- 27,7,36,37,13,45,28,46,38,39,
+ 27,7,36,37,17,45,28,46,38,39,
8,40,41,42,1,3,51,5,43,0,
- 1,3,5,43,30,0,5,30,43,60,
- 0,2,5,30,29,66,11,59,0,4,
- 2,11,29,5,24,31,6,32,44,25,
- 33,26,34,35,27,7,36,37,13,45,
- 28,46,38,39,8,40,41,42,49,3,
- 1,0,39,31,36,34,35,33,32,37,
- 38,40,41,42,59,66,28,25,13,24,
- 27,26,6,7,8,30,1,5,29,2,
- 11,4,0,4,24,31,6,32,44,25,
- 33,26,34,35,27,7,36,37,13,45,
- 28,46,38,39,8,40,41,42,1,3,
- 49,0,17,18,19,20,21,2,15,16,
- 12,4,9,10,22,23,3,1,44,45,
- 46,39,31,36,34,35,33,32,37,38,
- 40,41,42,28,25,13,24,27,26,6,
- 7,8,0,17,18,19,20,21,1,3,
- 2,15,16,12,4,9,10,22,23,51,
- 0,5,29,17,18,19,20,21,1,3,
- 2,15,16,12,4,9,10,22,23,0
+ 60,70,71,72,73,74,75,76,77,78,
+ 79,13,4,53,54,9,10,48,47,55,
+ 56,57,58,61,62,11,63,64,65,50,
+ 29,43,80,68,69,59,66,5,30,0,
+ 4,2,12,29,5,24,31,6,32,44,
+ 25,33,26,34,35,27,7,36,37,17,
+ 45,28,46,38,39,8,40,41,42,49,
+ 3,1,0,39,31,36,34,35,33,32,
+ 37,38,40,41,42,59,66,28,25,17,
+ 24,27,26,6,7,8,30,1,5,29,
+ 2,12,4,0,16,18,19,20,21,2,
+ 14,15,11,4,9,10,22,23,3,1,
+ 44,45,46,39,31,36,34,35,33,32,
+ 37,38,40,41,42,28,25,17,24,27,
+ 26,6,7,8,0,66,5,4,1,2,
+ 59,0,60,12,52,0,16,18,19,20,
+ 21,1,3,2,14,15,11,4,9,10,
+ 22,23,51,0,5,29,16,18,19,20,
+ 21,1,3,2,14,15,11,4,9,10,
+ 22,23,0,1,3,5,43,30,0,2,
+ 5,30,29,66,12,59,0,5,30,43,
+ 60,0
};
};
public final static byte asr[] = Asr.asr;
@@ -654,27 +657,28 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface Nasb {
public final static byte nasb[] = {0,
- 105,9,26,9,26,26,26,26,26,26,
- 26,26,26,9,86,9,9,9,9,9,
- 9,9,9,9,9,9,26,86,28,28,
- 112,87,79,79,74,1,26,26,26,26,
- 26,26,26,26,26,26,26,26,26,26,
- 26,26,87,26,26,26,26,26,26,26,
- 26,26,26,26,26,26,79,79,34,26,
- 98,32,73,10,10,64,65,12,65,17,
- 17,65,16,65,59,9,9,9,9,9,
+ 103,9,23,9,23,23,23,23,23,23,
+ 23,23,23,9,86,9,9,9,9,9,
+ 9,9,9,9,9,9,23,86,86,10,
+ 10,110,87,80,80,73,1,23,23,23,
+ 23,23,23,23,23,23,23,23,23,23,
+ 23,23,23,87,23,23,23,23,23,23,
+ 23,23,23,23,23,23,23,80,80,80,
+ 29,23,61,27,72,12,12,58,59,18,
+ 59,32,32,59,31,59,53,9,9,9,
9,9,9,9,9,9,9,9,9,9,
- 9,9,9,9,55,94,9,36,34,48,
- 33,79,81,78,57,57,57,57,57,26,
- 24,9,55,48,34,33,14,79,51,2,
- 9,83,21,55,9,55,46,19,55,9,
- 55,48,26,26,34,33,50,10,10,98,
- 83,79,9,90,55,57,30,23,9,57,
- 26,44,30,55,48,14,34,34,79,81,
- 78,67,55,30,39,108,57,46,9,9,
- 25,34,57,26,24,14,101,90,53,46,
- 30,26,57,34,46,79,79,30,40,26,
- 9,53,98,30,30,9,53,26,69,42
+ 9,9,9,9,9,9,9,49,82,9,
+ 34,29,51,28,80,39,79,37,37,37,
+ 37,37,23,21,9,49,51,29,28,14,
+ 80,45,2,9,41,77,49,9,49,70,
+ 16,49,9,49,51,23,23,29,28,44,
+ 12,12,61,41,80,9,93,49,37,25,
+ 20,9,37,23,101,25,49,51,14,29,
+ 29,80,39,79,64,49,25,90,106,37,
+ 70,9,9,22,29,37,23,21,14,97,
+ 93,47,70,25,23,37,29,70,80,80,
+ 25,91,23,9,47,61,25,25,9,47,
+ 23,66,113
};
};
public final static byte nasb[] = Nasb.nasb;
@@ -682,18 +686,18 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface Nasr {
public final static char nasr[] = {0,
- 4,79,78,77,76,64,75,74,0,26,
- 0,89,0,20,0,92,65,0,97,0,
- 90,0,68,10,59,4,0,70,0,32,
- 0,10,4,23,0,4,10,0,10,69,
- 0,95,0,99,0,51,0,56,0,22,
- 43,42,36,34,10,0,24,0,64,60,
- 61,62,63,52,27,0,43,42,36,34,
- 31,0,22,42,43,10,0,10,22,0,
- 31,49,10,25,0,48,10,45,0,81,
- 10,48,0,43,42,31,0,31,49,0,
- 93,10,25,0,10,87,0,10,48,66,
- 0,10,88,0
+ 4,79,78,77,76,65,75,74,0,71,
+ 0,26,0,21,0,97,0,89,0,69,
+ 10,59,4,0,32,0,10,4,23,0,
+ 92,66,0,4,10,0,25,0,31,49,
+ 10,24,0,20,45,44,37,35,10,0,
+ 56,0,65,61,62,63,64,52,27,0,
+ 31,49,0,45,44,37,35,31,0,51,
+ 0,20,44,45,10,0,90,0,10,20,
+ 0,45,44,31,0,42,10,41,0,10,
+ 70,0,81,10,42,0,93,10,24,0,
+ 99,0,10,87,0,10,42,67,0,10,
+ 88,0,95,0
};
};
public final static char nasr[] = Nasr.nasr;
@@ -702,7 +706,7 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface TerminalIndex {
public final static char terminalIndex[] = {0,
85,2,86,9,87,48,64,76,10,11,
- 1,8,69,3,6,7,68,81,82,83,
+ 8,1,3,6,7,68,69,81,82,83,
84,12,13,44,55,60,63,72,90,42,
47,52,56,61,62,66,67,74,75,78,
79,80,91,54,70,73,16,17,30,89,
@@ -719,13 +723,13 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface NonterminalIndex {
public final static char nonterminalIndex[] = {0,
0,0,0,101,105,106,107,108,109,0,
- 110,111,112,113,114,115,116,117,118,129,
- 0,97,96,121,122,150,128,0,0,0,
- 0,98,146,148,0,149,0,0,0,0,
- 159,160,161,0,100,120,137,141,147,156,
- 0,131,136,0,151,154,155,158,0,132,
- 133,134,135,138,0,140,145,162,99,102,
- 103,104,119,123,124,125,126,127,130,0,
+ 110,111,112,113,114,115,116,117,118,97,
+ 129,0,96,122,121,150,128,0,0,0,
+ 0,98,0,146,148,0,149,0,0,0,
+ 100,141,159,160,161,0,120,137,147,156,
+ 0,131,136,0,151,154,155,158,0,103,
+ 132,133,134,135,138,0,140,145,162,99,
+ 102,104,119,123,124,125,126,127,130,0,
139,143,0,0,144,153,95,0,0,0,
142,0,152,157,0,163,164,0,165,0,
0,0,0,0,0,0,0,0,0,0,
@@ -738,10 +742,10 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface ScopePrefix {
public final static char scopePrefix[] = {
- 82,113,158,92,35,41,121,12,136,21,
- 51,69,28,47,103,173,177,145,1,1,
- 32,56,79,181,6,107,152,127,152,99,
- 59,59,59
+ 82,113,162,92,35,41,121,12,136,21,
+ 51,69,28,47,103,158,177,181,145,1,
+ 1,32,56,79,185,6,107,152,127,152,
+ 99,59,59,59
};
};
public final static char scopePrefix[] = ScopePrefix.scopePrefix;
@@ -750,9 +754,9 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface ScopeSuffix {
public final static char scopeSuffix[] = {
90,90,90,90,4,4,90,18,142,26,
- 4,26,26,4,101,26,4,149,4,4,
- 26,4,26,26,9,110,155,130,166,101,
- 66,61,74
+ 4,26,26,4,101,26,26,4,149,4,
+ 4,26,4,26,26,9,110,155,130,170,
+ 101,66,61,74
};
};
public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix;
@@ -760,10 +764,10 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface ScopeLhs {
public final static char scopeLhs[] = {
- 62,60,4,62,26,26,60,53,106,44,
- 26,39,44,26,66,4,4,18,99,98,
- 42,26,36,2,68,66,6,107,4,66,
- 39,37,39
+ 63,61,4,63,26,26,61,53,106,46,
+ 26,40,46,26,67,5,4,4,18,99,
+ 98,44,26,37,2,69,67,6,107,4,
+ 67,40,38,40
};
};
public final static char scopeLhs[] = ScopeLhs.scopeLhs;
@@ -772,9 +776,9 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface ScopeLa {
public final static byte scopeLa[] = {
43,43,43,43,50,50,43,43,86,29,
- 50,29,29,50,66,29,50,59,50,50,
- 29,50,29,29,60,1,29,92,29,66,
- 2,2,2
+ 50,29,29,50,66,29,29,50,59,50,
+ 50,29,50,29,29,60,1,29,92,29,
+ 66,2,2,2
};
};
public final static byte scopeLa[] = ScopeLa.scopeLa;
@@ -783,9 +787,9 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface ScopeStateSet {
public final static byte scopeStateSet[] = {
17,17,32,17,21,21,17,87,-1,25,
- 21,9,25,21,3,32,32,62,1,7,
- 25,21,9,32,88,3,35,-1,32,3,
- 9,9,9
+ 21,9,25,21,3,32,32,32,62,1,
+ 7,25,21,9,32,88,3,35,-1,32,
+ 3,9,9,9
};
};
public final static byte scopeStateSet[] = ScopeStateSet.scopeStateSet;
@@ -793,25 +797,25 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface ScopeRhs {
public final static char scopeRhs[] = {0,
- 139,11,0,96,0,189,103,0,31,136,
- 0,144,165,103,14,152,0,98,0,0,
- 148,103,2,135,0,97,0,148,103,2,
- 0,151,2,0,112,13,179,103,11,0,
- 112,179,103,13,11,0,112,13,11,0,
- 112,179,103,11,0,112,11,0,129,0,
+ 140,12,0,96,0,189,103,0,31,136,
+ 0,144,165,103,13,152,0,98,0,0,
+ 148,103,2,137,0,97,0,148,103,2,
+ 0,151,2,0,112,17,179,103,12,0,
+ 112,179,103,17,12,0,112,17,12,0,
+ 112,179,103,12,0,112,12,0,130,0,
2,0,152,97,0,2,97,0,148,103,
- 2,129,0,2,0,151,97,0,140,2,
- 0,144,177,103,14,117,185,44,0,98,
- 0,144,177,103,14,185,44,0,141,0,
- 99,0,184,103,141,0,103,141,0,142,
- 99,0,173,103,14,183,117,182,157,0,
- 173,103,14,182,157,0,195,85,0,77,
- 2,100,97,99,0,195,115,138,2,89,
- 0,53,0,0,138,69,110,0,29,117,
- 0,164,2,0,97,106,0,144,165,103,
- 14,115,164,2,0,97,3,0,104,0,
- 98,0,181,2,97,0,138,11,97,0,
- 138,2,0
+ 2,130,0,2,0,151,97,0,141,2,
+ 0,144,177,103,13,118,185,44,0,98,
+ 0,144,177,103,13,185,44,0,135,0,
+ 99,0,184,103,135,0,103,135,0,142,
+ 99,0,173,103,13,183,118,182,158,0,
+ 173,103,13,182,158,0,195,85,0,77,
+ 2,100,97,99,0,195,113,134,2,89,
+ 0,53,0,0,134,69,110,0,29,117,
+ 0,153,2,0,97,106,0,153,2,16,
+ 0,144,165,103,13,113,153,2,0,97,
+ 3,0,104,0,98,0,181,2,97,0,
+ 134,12,97,0,134,2,0
};
};
public final static char scopeRhs[] = ScopeRhs.scopeRhs;
@@ -819,15 +823,15 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface ScopeState {
public final static char scopeState[] = {0,
- 906,0,1574,1587,1540,0,398,0,374,1293,
- 1397,1232,1220,1145,1115,0,636,1177,316,0,
- 1325,1176,373,341,1220,1145,1115,1549,1398,1417,
- 0,1600,1333,1126,1399,1316,1520,463,1210,640,
- 576,1353,1341,1280,1294,701,1387,1377,1365,1304,
- 1497,1409,1272,480,381,1133,1078,1069,1023,1014,
- 500,1086,1050,1031,995,976,956,936,616,1105,
- 593,509,916,896,876,856,836,816,796,776,
- 756,736,716,316,667,553,533,420,440,347,
+ 1571,0,1566,1585,1554,0,399,0,1428,1266,
+ 1402,1235,1203,1129,1098,0,617,1161,317,0,
+ 1611,1184,986,342,1203,1129,1098,1454,1403,1443,
+ 0,1216,672,372,1319,383,1544,464,1193,1250,
+ 578,1350,1327,1284,481,408,1392,1382,1372,1362,
+ 1472,1414,1405,683,501,1307,1109,1061,1051,1005,
+ 995,1069,1032,1013,976,957,937,917,618,1088,
+ 595,511,897,877,857,837,817,797,777,757,
+ 737,717,697,317,648,555,535,421,441,348,
0
};
};
@@ -836,27 +840,28 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface InSymb {
public final static char inSymb[] = {0,
- 0,180,103,166,17,23,22,10,9,4,
- 12,16,15,97,2,101,100,104,102,106,
- 105,108,107,110,109,98,30,2,67,52,
- 2,11,164,138,141,103,10,9,54,53,
- 4,58,57,56,55,47,48,12,62,61,
- 64,63,69,68,65,79,78,77,75,76,
- 74,73,72,71,70,60,164,181,138,115,
- 103,11,2,136,135,167,168,157,169,46,
- 45,170,44,171,172,1,3,100,100,102,
- 102,102,102,101,101,105,104,104,107,106,
- 138,109,108,115,14,142,124,13,112,103,
- 4,151,103,2,182,158,158,185,158,59,
- 103,124,4,103,112,179,149,148,118,103,
- 150,103,117,14,117,14,165,103,14,152,
- 4,103,179,13,112,4,2,127,129,103,
- 30,148,183,103,14,103,144,30,189,52,
- 11,190,103,14,103,149,112,112,140,103,
- 2,142,14,173,141,174,103,177,117,178,
- 60,139,52,11,103,149,103,103,103,177,
- 144,60,30,139,165,148,186,173,184,59,
- 140,2,103,144,144,30,30,59,142,125
+ 0,180,103,166,16,23,22,10,9,4,
+ 11,15,14,97,2,101,100,104,102,106,
+ 105,108,107,110,109,98,30,2,2,67,
+ 52,2,12,153,134,135,103,10,9,54,
+ 53,4,58,57,56,55,47,48,11,62,
+ 61,64,63,69,68,65,79,78,77,75,
+ 76,74,73,72,71,70,60,153,153,181,
+ 134,113,103,12,2,138,137,167,168,158,
+ 169,46,45,170,44,171,172,1,3,100,
+ 100,102,102,102,102,101,101,105,104,104,
+ 107,106,134,109,108,113,113,13,142,124,
+ 17,112,103,4,151,103,2,182,159,159,
+ 185,159,59,103,124,4,103,112,179,149,
+ 148,117,103,150,103,118,13,118,13,165,
+ 103,13,152,4,103,179,17,112,4,2,
+ 128,130,103,30,148,183,103,13,103,144,
+ 30,189,52,12,190,103,13,103,149,112,
+ 112,141,103,2,142,13,173,135,174,103,
+ 177,118,178,60,140,52,12,103,149,103,
+ 103,103,177,144,60,30,140,165,148,186,
+ 173,184,59,141,2,103,144,144,30,30,
+ 59,142,125
};
};
public final static char inSymb[] = InSymb.inSymb;
@@ -967,7 +972,7 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
"expression",
"postfix_expression",
"member_name",
- "type_name",
+ "type_id",
"initializer_list",
"unary_expression",
"cast_expression",
@@ -1042,8 +1047,8 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public final static int
ERROR_SYMBOL = 51,
- SCOPE_UBOUND = 32,
- SCOPE_SIZE = 33,
+ SCOPE_UBOUND = 33,
+ SCOPE_SIZE = 34,
MAX_NAME_LENGTH = 38;
public final int getErrorSymbol() { return ERROR_SYMBOL; }
@@ -1052,20 +1057,20 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public final int getMaxNameLength() { return MAX_NAME_LENGTH; }
public final static int
- NUM_STATES = 210,
+ NUM_STATES = 213,
NT_OFFSET = 93,
- LA_STATE_OFFSET = 2038,
+ LA_STATE_OFFSET = 2031,
MAX_LA = 2,
- NUM_RULES = 315,
+ NUM_RULES = 316,
NUM_NONTERMINALS = 123,
NUM_SYMBOLS = 216,
SEGMENT_SIZE = 8192,
- START_STATE = 1585,
+ START_STATE = 1584,
IDENTIFIER_SYMBOL = 0,
EOFT_SYMBOL = 80,
EOLT_SYMBOL = 80,
- ACCEPT_ACTION = 1710,
- ERROR_ACTION = 1723;
+ ACCEPT_ACTION = 1702,
+ ERROR_ACTION = 1715;
public final static boolean BACKTRACK = true;
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParsersym.java
index ffcd02efe9d..16c72ffc98e 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParsersym.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParsersym.java
@@ -39,8 +39,8 @@ public interface C99SizeofExpressionParsersym {
TK_return = 90,
TK_short = 36,
TK_signed = 37,
- TK_sizeof = 17,
- TK_static = 13,
+ TK_sizeof = 16,
+ TK_static = 17,
TK_struct = 45,
TK_switch = 91,
TK_typedef = 28,
@@ -60,14 +60,14 @@ public interface C99SizeofExpressionParsersym {
TK_Completion = 3,
TK_EndOfCompletion = 5,
TK_Invalid = 93,
- TK_LeftBracket = 11,
+ TK_LeftBracket = 12,
TK_LeftParen = 2,
- TK_LeftBrace = 14,
+ TK_LeftBrace = 13,
TK_Dot = 52,
TK_Arrow = 67,
- TK_PlusPlus = 15,
- TK_MinusMinus = 16,
- TK_And = 12,
+ TK_PlusPlus = 14,
+ TK_MinusMinus = 15,
+ TK_And = 11,
TK_Star = 4,
TK_Plus = 9,
TK_Minus = 10,
@@ -121,13 +121,13 @@ public interface C99SizeofExpressionParsersym {
"volatile",
"Plus",
"Minus",
- "LeftBracket",
"And",
- "static",
+ "LeftBracket",
"LeftBrace",
"PlusPlus",
"MinusMinus",
"sizeof",
+ "static",
"integer",
"floating",
"charconst",
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParser.java
index dd430004489..317285d79db 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParser.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParser.java
@@ -28,6 +28,7 @@ import org.eclipse.cdt.core.dom.lrparser.action.TokenMap;
import org.eclipse.cdt.core.dom.ast.cpp.*;
import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPNodeFactory;
import org.eclipse.cdt.core.dom.lrparser.action.cpp.CPPBuildASTParserAction;
+import org.eclipse.cdt.core.dom.lrparser.action.cpp.CPPSecondaryParserFactory;
public class CPPExpressionParser extends PrsStream implements RuleAction , IParserActionTokenProvider, IParser
{
@@ -173,7 +174,7 @@ public CPPExpressionParser() { // constructor
}
private void initActions(IASTTranslationUnit tu, Set<IParser.Options> options) {
- action = new CPPBuildASTParserAction ( CPPNodeFactory.getDefault() , this, tu, astStack);
+ action = new CPPBuildASTParserAction (this, tu, astStack, CPPNodeFactory.getDefault() , CPPSecondaryParserFactory.getDefault() );
action.setParserOptions(options);
@@ -235,8 +236,8 @@ public void setTokens(List<IToken> tokens) {
addToken(new Token(null, 0, 0, CPPExpressionParsersym.TK_EOF_TOKEN));
}
-public CPPExpressionParser(String[] mapFrom) { // constructor
- tokenMap = new TokenMap(CPPExpressionParsersym.orderedTerminalSymbols, mapFrom);
+public CPPExpressionParser(IParserActionTokenProvider parser) { // constructor
+ tokenMap = new TokenMap(CPPExpressionParsersym.orderedTerminalSymbols, parser.getOrderedTerminalSymbols());
}
@@ -271,1713 +272,1707 @@ public CPPExpressionParser(String[] mapFrom) { // constructor
}
//
- // Rule 17: literal ::= 0
+ // Rule 17: literal ::= floating
//
- case 17: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_integer_constant); break;
+ case 17: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_float_constant); break;
}
//
- // Rule 18: literal ::= floating
+ // Rule 18: literal ::= charconst
//
- case 18: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_float_constant); break;
+ case 18: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_char_constant); break;
}
//
- // Rule 19: literal ::= charconst
+ // Rule 19: literal ::= stringlit
//
- case 19: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_char_constant); break;
+ case 19: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_string_literal); break;
}
//
- // Rule 20: literal ::= stringlit
+ // Rule 20: literal ::= true
//
- case 20: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_string_literal); break;
+ case 20: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_true); break;
}
//
- // Rule 21: literal ::= true
+ // Rule 21: literal ::= false
//
- case 21: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_true); break;
+ case 21: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_false); break;
}
//
- // Rule 22: literal ::= false
+ // Rule 22: literal ::= this
//
- case 22: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_false); break;
+ case 22: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_this); break;
}
//
- // Rule 23: literal ::= this
+ // Rule 24: primary_expression ::= ( expression )
//
- case 23: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_this); break;
+ case 24: { action. consumeExpressionBracketed(); break;
}
//
- // Rule 25: primary_expression ::= ( expression )
+ // Rule 26: id_expression ::= qualified_or_unqualified_name
//
- case 25: { action. consumeExpressionBracketed(); break;
+ case 26: { action. consumeExpressionName(); break;
}
//
- // Rule 27: id_expression ::= qualified_or_unqualified_name
+ // Rule 33: unqualified_id_name ::= ~ identifier_token
//
- case 27: { action. consumeExpressionName(); break;
+ case 33: { action. consumeDestructorName(); break;
}
//
- // Rule 34: unqualified_id_name ::= ~ identifier_token
+ // Rule 34: unqualified_id_name ::= ~ template_id_name
//
- case 34: { action. consumeDestructorName(); break;
+ case 34: { action. consumeDestructorNameTemplateId(); break;
}
//
- // Rule 35: unqualified_id_name ::= ~ template_id_name
+ // Rule 35: identifier_name ::= identifier_token
//
- case 35: { action. consumeDestructorNameTemplateId(); break;
+ case 35: { action. consumeIdentifierName(); break;
}
//
- // Rule 36: identifier_name ::= identifier_token
+ // Rule 36: template_opt ::= template
//
- case 36: { action. consumeIdentifierName(); break;
+ case 36: { action. consumePlaceHolder(); break;
}
//
- // Rule 37: template_opt ::= template
+ // Rule 37: template_opt ::= $Empty
//
- case 37: { action. consumePlaceHolder(); break;
+ case 37: { action. consumeEmpty(); break;
}
//
- // Rule 38: template_opt ::= $Empty
+ // Rule 38: dcolon_opt ::= ::
//
- case 38: { action. consumeEmpty(); break;
+ case 38: { action. consumeToken(); break;
}
//
- // Rule 39: dcolon_opt ::= ::
+ // Rule 39: dcolon_opt ::= $Empty
//
- case 39: { action. consumeToken(); break;
+ case 39: { action. consumeEmpty(); break;
}
//
- // Rule 40: dcolon_opt ::= $Empty
+ // Rule 40: qualified_id_name ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name
//
- case 40: { action. consumeEmpty(); break;
+ case 40: { action. consumeQualifiedId(true); break;
}
//
- // Rule 41: qualified_id_name ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name
+ // Rule 41: qualified_id_name ::= :: unqualified_id_name
//
- case 41: { action. consumeQualifiedId(true); break;
+ case 41: { action. consumeGlobalQualifiedId(); break;
}
//
- // Rule 42: qualified_id_name ::= :: unqualified_id_name
+ // Rule 42: nested_name_specifier ::= class_or_namespace_name :: nested_name_specifier_with_template
//
- case 42: { action. consumeGlobalQualifiedId(); break;
+ case 42: { action. consumeNestedNameSpecifier(true); break;
}
//
- // Rule 43: nested_name_specifier ::= class_or_namespace_name :: nested_name_specifier_with_template
+ // Rule 43: nested_name_specifier ::= class_or_namespace_name ::
//
- case 43: { action. consumeNestedNameSpecifier(true); break;
+ case 43: { action. consumeNestedNameSpecifier(false); break;
}
//
- // Rule 44: nested_name_specifier ::= class_or_namespace_name ::
+ // Rule 44: nested_name_specifier_with_template ::= class_or_namespace_name_with_template :: nested_name_specifier_with_template
//
- case 44: { action. consumeNestedNameSpecifier(false); break;
+ case 44: { action. consumeNestedNameSpecifier(true); break;
}
//
- // Rule 45: nested_name_specifier_with_template ::= class_or_namespace_name_with_template :: nested_name_specifier_with_template
+ // Rule 45: nested_name_specifier_with_template ::= class_or_namespace_name_with_template ::
//
- case 45: { action. consumeNestedNameSpecifier(true); break;
+ case 45: { action. consumeNestedNameSpecifier(false); break;
}
//
- // Rule 46: nested_name_specifier_with_template ::= class_or_namespace_name_with_template ::
+ // Rule 46: class_or_namespace_name_with_template ::= template_opt class_or_namespace_name
//
- case 46: { action. consumeNestedNameSpecifier(false); break;
+ case 46: { action. consumeNameWithTemplateKeyword(); break;
}
//
- // Rule 47: class_or_namespace_name_with_template ::= template_opt class_or_namespace_name
+ // Rule 48: nested_name_specifier_opt ::= $Empty
//
- case 47: { action. consumeNameWithTemplateKeyword(); break;
+ case 48: { action. consumeNestedNameSpecifierEmpty(); break;
}
//
- // Rule 49: nested_name_specifier_opt ::= $Empty
+ // Rule 51: postfix_expression ::= postfix_expression [ expression ]
//
- case 49: { action. consumeNestedNameSpecifierEmpty(); break;
+ case 51: { action. consumeExpressionArraySubscript(); break;
}
//
- // Rule 52: postfix_expression ::= postfix_expression [ expression ]
+ // Rule 52: postfix_expression ::= postfix_expression ( expression_list_opt )
//
- case 52: { action. consumeExpressionArraySubscript(); break;
+ case 52: { action. consumeExpressionFunctionCall(); break;
}
//
- // Rule 53: postfix_expression ::= postfix_expression ( expression_list_opt )
+ // Rule 53: postfix_expression ::= simple_type_specifier ( expression_list_opt )
//
- case 53: { action. consumeExpressionFunctionCall(); break;
+ case 53: { action. consumeExpressionSimpleTypeConstructor(); break;
}
//
- // Rule 54: postfix_expression ::= simple_type_specifier ( expression_list_opt )
+ // Rule 54: postfix_expression ::= typename dcolon_opt nested_name_specifier <empty> identifier_name ( expression_list_opt )
//
- case 54: { action. consumeExpressionSimpleTypeConstructor(); break;
+ case 54: { action. consumeExpressionTypeName(); break;
}
//
- // Rule 55: postfix_expression ::= typename dcolon_opt nested_name_specifier <empty> identifier_name ( expression_list_opt )
+ // Rule 55: postfix_expression ::= typename dcolon_opt nested_name_specifier template_opt template_id_name ( expression_list_opt )
//
case 55: { action. consumeExpressionTypeName(); break;
}
//
- // Rule 56: postfix_expression ::= typename dcolon_opt nested_name_specifier template_opt template_id_name ( expression_list_opt )
+ // Rule 56: postfix_expression ::= postfix_expression . qualified_or_unqualified_name
//
- case 56: { action. consumeExpressionTypeName(); break;
+ case 56: { action. consumeExpressionFieldReference(false, false); break;
}
//
- // Rule 57: postfix_expression ::= postfix_expression . qualified_or_unqualified_name
+ // Rule 57: postfix_expression ::= postfix_expression -> qualified_or_unqualified_name
//
- case 57: { action. consumeExpressionFieldReference(false, false); break;
+ case 57: { action. consumeExpressionFieldReference(true, false); break;
}
//
- // Rule 58: postfix_expression ::= postfix_expression -> qualified_or_unqualified_name
+ // Rule 58: postfix_expression ::= postfix_expression . template qualified_or_unqualified_name
//
- case 58: { action. consumeExpressionFieldReference(true, false); break;
+ case 58: { action. consumeExpressionFieldReference(false, true); break;
}
//
- // Rule 59: postfix_expression ::= postfix_expression . template qualified_or_unqualified_name
+ // Rule 59: postfix_expression ::= postfix_expression -> template qualified_or_unqualified_name
//
- case 59: { action. consumeExpressionFieldReference(false, true); break;
+ case 59: { action. consumeExpressionFieldReference(true, true); break;
}
//
- // Rule 60: postfix_expression ::= postfix_expression -> template qualified_or_unqualified_name
+ // Rule 60: postfix_expression ::= postfix_expression . pseudo_destructor_name
//
- case 60: { action. consumeExpressionFieldReference(true, true); break;
+ case 60: { action. consumeExpressionFieldReference(false, false); break;
}
//
- // Rule 61: postfix_expression ::= postfix_expression . pseudo_destructor_name
+ // Rule 61: postfix_expression ::= postfix_expression -> pseudo_destructor_name
//
- case 61: { action. consumeExpressionFieldReference(false, false); break;
+ case 61: { action. consumeExpressionFieldReference(true, false); break;
}
//
- // Rule 62: postfix_expression ::= postfix_expression -> pseudo_destructor_name
+ // Rule 62: postfix_expression ::= postfix_expression ++
//
- case 62: { action. consumeExpressionFieldReference(true, false); break;
+ case 62: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break;
}
//
- // Rule 63: postfix_expression ::= postfix_expression ++
+ // Rule 63: postfix_expression ::= postfix_expression --
//
- case 63: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break;
+ case 63: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break;
}
//
- // Rule 64: postfix_expression ::= postfix_expression --
+ // Rule 64: postfix_expression ::= dynamic_cast < type_id > ( expression )
//
- case 64: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break;
+ case 64: { action. consumeExpressionCast(ICPPASTCastExpression.op_dynamic_cast); break;
}
//
- // Rule 65: postfix_expression ::= dynamic_cast < type_id > ( expression )
+ // Rule 65: postfix_expression ::= static_cast < type_id > ( expression )
//
- case 65: { action. consumeExpressionCast(ICPPASTCastExpression.op_dynamic_cast); break;
+ case 65: { action. consumeExpressionCast(ICPPASTCastExpression.op_static_cast); break;
}
//
- // Rule 66: postfix_expression ::= static_cast < type_id > ( expression )
+ // Rule 66: postfix_expression ::= reinterpret_cast < type_id > ( expression )
//
- case 66: { action. consumeExpressionCast(ICPPASTCastExpression.op_static_cast); break;
+ case 66: { action. consumeExpressionCast(ICPPASTCastExpression.op_reinterpret_cast); break;
}
//
- // Rule 67: postfix_expression ::= reinterpret_cast < type_id > ( expression )
+ // Rule 67: postfix_expression ::= const_cast < type_id > ( expression )
//
- case 67: { action. consumeExpressionCast(ICPPASTCastExpression.op_reinterpret_cast); break;
+ case 67: { action. consumeExpressionCast(ICPPASTCastExpression.op_const_cast); break;
}
//
- // Rule 68: postfix_expression ::= const_cast < type_id > ( expression )
+ // Rule 68: postfix_expression ::= typeid ( expression )
//
- case 68: { action. consumeExpressionCast(ICPPASTCastExpression.op_const_cast); break;
+ case 68: { action. consumeExpressionUnaryOperator(ICPPASTUnaryExpression.op_typeid); break;
}
//
- // Rule 69: postfix_expression ::= typeid ( expression )
+ // Rule 69: postfix_expression ::= typeid ( type_id )
//
- case 69: { action. consumeExpressionUnaryOperator(ICPPASTUnaryExpression.op_typeid); break;
+ case 69: { action. consumeExpressionTypeId(ICPPASTTypeIdExpression.op_typeid); break;
}
//
- // Rule 70: postfix_expression ::= typeid ( type_id )
+ // Rule 70: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt type_name :: destructor_type_name
//
- case 70: { action. consumeExpressionTypeId(ICPPASTTypeIdExpression.op_typeid); break;
+ case 70: { action. consumePsudoDestructorName(true); break;
}
//
- // Rule 71: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt type_name :: destructor_type_name
+ // Rule 71: pseudo_destructor_name ::= dcolon_opt nested_name_specifier template template_id_name :: destructor_type_name
//
case 71: { action. consumePsudoDestructorName(true); break;
}
//
- // Rule 72: pseudo_destructor_name ::= dcolon_opt nested_name_specifier template template_id_name :: destructor_type_name
+ // Rule 72: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt destructor_type_name
//
- case 72: { action. consumePsudoDestructorName(true); break;
+ case 72: { action. consumePsudoDestructorName(false); break;
}
//
- // Rule 73: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt destructor_type_name
+ // Rule 73: destructor_type_name ::= ~ identifier_token
//
- case 73: { action. consumePsudoDestructorName(false); break;
+ case 73: { action. consumeDestructorName(); break;
}
//
- // Rule 74: destructor_type_name ::= ~ identifier_token
+ // Rule 74: destructor_type_name ::= ~ template_id_name
//
- case 74: { action. consumeDestructorName(); break;
+ case 74: { action. consumeDestructorNameTemplateId(); break;
}
//
- // Rule 75: destructor_type_name ::= ~ template_id_name
+ // Rule 78: unary_expression ::= ++ cast_expression
//
- case 75: { action. consumeDestructorNameTemplateId(); break;
+ case 78: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixIncr); break;
}
//
- // Rule 79: unary_expression ::= ++ cast_expression
+ // Rule 79: unary_expression ::= -- cast_expression
//
- case 79: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixIncr); break;
+ case 79: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixDecr); break;
}
//
- // Rule 80: unary_expression ::= -- cast_expression
+ // Rule 80: unary_expression ::= & cast_expression
//
- case 80: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixDecr); break;
+ case 80: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_amper); break;
}
//
- // Rule 81: unary_expression ::= & cast_expression
+ // Rule 81: unary_expression ::= * cast_expression
//
- case 81: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_amper); break;
+ case 81: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_star); break;
}
//
- // Rule 82: unary_expression ::= * cast_expression
+ // Rule 82: unary_expression ::= + cast_expression
//
- case 82: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_star); break;
+ case 82: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_plus); break;
}
//
- // Rule 83: unary_expression ::= + cast_expression
+ // Rule 83: unary_expression ::= - cast_expression
//
- case 83: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_plus); break;
+ case 83: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_minus); break;
}
//
- // Rule 84: unary_expression ::= - cast_expression
+ // Rule 84: unary_expression ::= ~ cast_expression
//
- case 84: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_minus); break;
+ case 84: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_tilde); break;
}
//
- // Rule 85: unary_expression ::= ~ cast_expression
+ // Rule 85: unary_expression ::= ! cast_expression
//
- case 85: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_tilde); break;
+ case 85: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_not); break;
}
//
- // Rule 86: unary_expression ::= ! cast_expression
+ // Rule 86: unary_expression ::= sizeof unary_expression
//
- case 86: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_not); break;
+ case 86: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof); break;
}
//
- // Rule 87: unary_expression ::= sizeof unary_expression
+ // Rule 87: unary_expression ::= sizeof ( type_id )
//
- case 87: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof); break;
+ case 87: { action. consumeExpressionTypeId(ICPPASTTypeIdExpression.op_sizeof); break;
}
//
- // Rule 88: unary_expression ::= sizeof ( type_id )
+ // Rule 88: new_expression ::= dcolon_opt new new_placement_opt new_type_id <openscope-ast> new_array_expressions_opt new_initializer_opt
//
- case 88: { action. consumeExpressionTypeId(ICPPASTTypeIdExpression.op_sizeof); break;
+ case 88: { action. consumeExpressionNew(true); break;
}
//
- // Rule 89: new_expression ::= dcolon_opt new new_placement_opt new_type_id <openscope-ast> new_array_expressions_opt new_initializer_opt
+ // Rule 89: new_expression ::= dcolon_opt new new_placement_opt ( type_id ) <openscope-ast> new_array_expressions_opt new_initializer_opt
//
- case 89: { action. consumeExpressionNew(true); break;
+ case 89: { action. consumeExpressionNew(false); break;
}
//
- // Rule 90: new_expression ::= dcolon_opt new new_placement_opt ( type_id ) <openscope-ast> new_array_expressions_opt new_initializer_opt
+ // Rule 91: new_placement_opt ::= $Empty
//
- case 90: { action. consumeExpressionNew(false); break;
+ case 91: { action. consumeEmpty(); break;
}
//
- // Rule 92: new_placement_opt ::= $Empty
+ // Rule 92: new_type_id ::= type_specifier_seq
//
- case 92: { action. consumeEmpty(); break;
+ case 92: { action. consumeTypeId(false); break;
}
//
- // Rule 93: new_type_id ::= type_specifier_seq
+ // Rule 93: new_type_id ::= type_specifier_seq new_declarator
//
- case 93: { action. consumeTypeId(false); break;
+ case 93: { action. consumeTypeId(true); break;
}
//
- // Rule 94: new_type_id ::= type_specifier_seq new_declarator
+ // Rule 94: new_declarator ::= <openscope-ast> new_pointer_operators
//
- case 94: { action. consumeTypeId(true); break;
+ case 94: { action. consumeNewDeclarator(); break;
}
//
- // Rule 95: new_declarator ::= <openscope-ast> new_pointer_operators
+ // Rule 101: new_initializer ::= ( expression_list_opt )
//
- case 95: { action. consumeNewDeclarator(); break;
+ case 101: { action. consumeNewInitializer(); break;
}
//
- // Rule 102: new_initializer ::= ( expression_list_opt )
+ // Rule 103: new_initializer_opt ::= $Empty
//
- case 102: { action. consumeNewInitializer(); break;
+ case 103: { action. consumeEmpty(); break;
}
//
- // Rule 104: new_initializer_opt ::= $Empty
+ // Rule 104: delete_expression ::= dcolon_opt delete cast_expression
//
- case 104: { action. consumeEmpty(); break;
+ case 104: { action. consumeExpressionDelete(false); break;
}
//
- // Rule 105: delete_expression ::= dcolon_opt delete cast_expression
+ // Rule 105: delete_expression ::= dcolon_opt delete [ ] cast_expression
//
- case 105: { action. consumeExpressionDelete(false); break;
+ case 105: { action. consumeExpressionDelete(true); break;
}
//
- // Rule 106: delete_expression ::= dcolon_opt delete [ ] cast_expression
+ // Rule 107: cast_expression ::= ( type_id ) cast_expression
//
- case 106: { action. consumeExpressionDelete(true); break;
+ case 107: { action. consumeExpressionCast(ICPPASTCastExpression.op_cast); break;
}
//
- // Rule 108: cast_expression ::= ( type_id ) cast_expression
+ // Rule 109: pm_expression ::= pm_expression .* cast_expression
//
- case 108: { action. consumeExpressionCast(ICPPASTCastExpression.op_cast); break;
+ case 109: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmdot); break;
}
//
- // Rule 110: pm_expression ::= pm_expression .* cast_expression
+ // Rule 110: pm_expression ::= pm_expression ->* cast_expression
//
- case 110: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmdot); break;
+ case 110: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmarrow); break;
}
//
- // Rule 111: pm_expression ::= pm_expression ->* cast_expression
+ // Rule 112: multiplicative_expression ::= multiplicative_expression * pm_expression
//
- case 111: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmarrow); break;
+ case 112: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiply); break;
}
//
- // Rule 113: multiplicative_expression ::= multiplicative_expression * pm_expression
+ // Rule 113: multiplicative_expression ::= multiplicative_expression / pm_expression
//
- case 113: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiply); break;
+ case 113: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divide); break;
}
//
- // Rule 114: multiplicative_expression ::= multiplicative_expression / pm_expression
+ // Rule 114: multiplicative_expression ::= multiplicative_expression % pm_expression
//
- case 114: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divide); break;
+ case 114: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_modulo); break;
}
//
- // Rule 115: multiplicative_expression ::= multiplicative_expression % pm_expression
+ // Rule 116: additive_expression ::= additive_expression + multiplicative_expression
//
- case 115: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_modulo); break;
+ case 116: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plus); break;
}
//
- // Rule 117: additive_expression ::= additive_expression + multiplicative_expression
+ // Rule 117: additive_expression ::= additive_expression - multiplicative_expression
//
- case 117: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plus); break;
+ case 117: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minus); break;
}
//
- // Rule 118: additive_expression ::= additive_expression - multiplicative_expression
+ // Rule 119: shift_expression ::= shift_expression << additive_expression
//
- case 118: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minus); break;
+ case 119: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeft); break;
}
//
- // Rule 120: shift_expression ::= shift_expression << additive_expression
+ // Rule 120: shift_expression ::= shift_expression >> additive_expression
//
- case 120: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeft); break;
+ case 120: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRight); break;
}
//
- // Rule 121: shift_expression ::= shift_expression >> additive_expression
+ // Rule 122: relational_expression ::= relational_expression < shift_expression
//
- case 121: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRight); break;
+ case 122: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessThan); break;
}
//
- // Rule 123: relational_expression ::= relational_expression < shift_expression
+ // Rule 123: relational_expression ::= relational_expression > shift_expression
//
- case 123: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessThan); break;
+ case 123: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterThan); break;
}
//
- // Rule 124: relational_expression ::= relational_expression > shift_expression
+ // Rule 124: relational_expression ::= relational_expression <= shift_expression
//
- case 124: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterThan); break;
+ case 124: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessEqual); break;
}
//
- // Rule 125: relational_expression ::= relational_expression <= shift_expression
+ // Rule 125: relational_expression ::= relational_expression >= shift_expression
//
- case 125: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessEqual); break;
+ case 125: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterEqual); break;
}
//
- // Rule 126: relational_expression ::= relational_expression >= shift_expression
+ // Rule 127: equality_expression ::= equality_expression == relational_expression
//
- case 126: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterEqual); break;
+ case 127: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_equals); break;
}
//
- // Rule 128: equality_expression ::= equality_expression == relational_expression
+ // Rule 128: equality_expression ::= equality_expression != relational_expression
//
- case 128: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_equals); break;
+ case 128: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_notequals); break;
}
//
- // Rule 129: equality_expression ::= equality_expression != relational_expression
+ // Rule 130: and_expression ::= and_expression & equality_expression
//
- case 129: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_notequals); break;
+ case 130: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAnd); break;
}
//
- // Rule 131: and_expression ::= and_expression & equality_expression
+ // Rule 132: exclusive_or_expression ::= exclusive_or_expression ^ and_expression
//
- case 131: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAnd); break;
+ case 132: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXor); break;
}
//
- // Rule 133: exclusive_or_expression ::= exclusive_or_expression ^ and_expression
+ // Rule 134: inclusive_or_expression ::= inclusive_or_expression | exclusive_or_expression
//
- case 133: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXor); break;
+ case 134: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOr); break;
}
//
- // Rule 135: inclusive_or_expression ::= inclusive_or_expression | exclusive_or_expression
+ // Rule 136: logical_and_expression ::= logical_and_expression && inclusive_or_expression
//
- case 135: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOr); break;
+ case 136: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalAnd); break;
}
//
- // Rule 137: logical_and_expression ::= logical_and_expression && inclusive_or_expression
+ // Rule 138: logical_or_expression ::= logical_or_expression || logical_and_expression
//
- case 137: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalAnd); break;
+ case 138: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalOr); break;
}
//
- // Rule 139: logical_or_expression ::= logical_or_expression || logical_and_expression
+ // Rule 140: conditional_expression ::= logical_or_expression ? expression : assignment_expression
//
- case 139: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalOr); break;
+ case 140: { action. consumeExpressionConditional(); break;
}
//
- // Rule 141: conditional_expression ::= logical_or_expression ? expression : assignment_expression
+ // Rule 141: throw_expression ::= throw
//
- case 141: { action. consumeExpressionConditional(); break;
+ case 141: { action. consumeExpressionThrow(false); break;
}
//
- // Rule 142: throw_expression ::= throw
+ // Rule 142: throw_expression ::= throw assignment_expression
//
- case 142: { action. consumeExpressionThrow(false); break;
+ case 142: { action. consumeExpressionThrow(true); break;
}
//
- // Rule 143: throw_expression ::= throw assignment_expression
+ // Rule 145: assignment_expression ::= logical_or_expression = assignment_expression
//
- case 143: { action. consumeExpressionThrow(true); break;
+ case 145: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_assign); break;
}
//
- // Rule 146: assignment_expression ::= logical_or_expression = assignment_expression
+ // Rule 146: assignment_expression ::= logical_or_expression *= assignment_expression
//
- case 146: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_assign); break;
+ case 146: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiplyAssign); break;
}
//
- // Rule 147: assignment_expression ::= logical_or_expression *= assignment_expression
+ // Rule 147: assignment_expression ::= logical_or_expression /= assignment_expression
//
- case 147: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiplyAssign); break;
+ case 147: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divideAssign); break;
}
//
- // Rule 148: assignment_expression ::= logical_or_expression /= assignment_expression
+ // Rule 148: assignment_expression ::= logical_or_expression %= assignment_expression
//
- case 148: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divideAssign); break;
+ case 148: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_moduloAssign); break;
}
//
- // Rule 149: assignment_expression ::= logical_or_expression %= assignment_expression
+ // Rule 149: assignment_expression ::= logical_or_expression += assignment_expression
//
- case 149: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_moduloAssign); break;
+ case 149: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plusAssign); break;
}
//
- // Rule 150: assignment_expression ::= logical_or_expression += assignment_expression
+ // Rule 150: assignment_expression ::= logical_or_expression -= assignment_expression
//
- case 150: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plusAssign); break;
+ case 150: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minusAssign); break;
}
//
- // Rule 151: assignment_expression ::= logical_or_expression -= assignment_expression
+ // Rule 151: assignment_expression ::= logical_or_expression >>= assignment_expression
//
- case 151: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minusAssign); break;
+ case 151: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRightAssign); break;
}
//
- // Rule 152: assignment_expression ::= logical_or_expression >>= assignment_expression
+ // Rule 152: assignment_expression ::= logical_or_expression <<= assignment_expression
//
- case 152: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRightAssign); break;
+ case 152: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeftAssign); break;
}
//
- // Rule 153: assignment_expression ::= logical_or_expression <<= assignment_expression
+ // Rule 153: assignment_expression ::= logical_or_expression &= assignment_expression
//
- case 153: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeftAssign); break;
+ case 153: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAndAssign); break;
}
//
- // Rule 154: assignment_expression ::= logical_or_expression &= assignment_expression
+ // Rule 154: assignment_expression ::= logical_or_expression ^= assignment_expression
//
- case 154: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAndAssign); break;
+ case 154: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXorAssign); break;
}
//
- // Rule 155: assignment_expression ::= logical_or_expression ^= assignment_expression
+ // Rule 155: assignment_expression ::= logical_or_expression |= assignment_expression
//
- case 155: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXorAssign); break;
+ case 155: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOrAssign); break;
}
//
- // Rule 156: assignment_expression ::= logical_or_expression |= assignment_expression
+ // Rule 157: expression_list ::= <openscope-ast> expression_list_actual
//
- case 156: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOrAssign); break;
+ case 157: { action. consumeExpressionList(); break;
}
//
- // Rule 158: expression_list ::= <openscope-ast> expression_list_actual
+ // Rule 161: expression_list_opt ::= $Empty
//
- case 158: { action. consumeExpressionList(); break;
+ case 161: { action. consumeEmpty(); break;
}
//
- // Rule 162: expression_list_opt ::= $Empty
+ // Rule 163: expression_opt ::= $Empty
//
- case 162: { action. consumeEmpty(); break;
+ case 163: { action. consumeEmpty(); break;
}
//
- // Rule 164: expression_opt ::= $Empty
+ // Rule 166: constant_expression_opt ::= $Empty
//
- case 164: { action. consumeEmpty(); break;
+ case 166: { action. consumeEmpty(); break;
}
//
- // Rule 167: constant_expression_opt ::= $Empty
+ // Rule 175: statement ::= ERROR_TOKEN
//
- case 167: { action. consumeEmpty(); break;
+ case 175: { action. consumeStatementProblem(); break;
}
//
- // Rule 176: statement ::= ERROR_TOKEN
+ // Rule 176: labeled_statement ::= identifier : statement
//
- case 176: { action. consumeStatementProblem(); break;
+ case 176: { action. consumeStatementLabeled(); break;
}
//
- // Rule 177: labeled_statement ::= identifier : statement
+ // Rule 177: labeled_statement ::= case constant_expression : statement
//
- case 177: { action. consumeStatementLabeled(); break;
+ case 177: { action. consumeStatementCase(); break;
}
//
- // Rule 178: labeled_statement ::= case constant_expression : statement
+ // Rule 178: labeled_statement ::= default : statement
//
- case 178: { action. consumeStatementCase(); break;
+ case 178: { action. consumeStatementDefault(); break;
}
//
- // Rule 179: labeled_statement ::= default : statement
+ // Rule 179: expression_statement ::= expression ;
//
- case 179: { action. consumeStatementDefault(); break;
+ case 179: { action. consumeStatementExpression(); break;
}
//
- // Rule 180: expression_statement ::= expression ;
+ // Rule 180: expression_statement ::= ;
//
- case 180: { action. consumeStatementExpression(); break;
+ case 180: { action. consumeStatementNull(); break;
}
//
- // Rule 181: expression_statement ::= ;
+ // Rule 181: compound_statement ::= { <openscope-ast> statement_seq }
//
- case 181: { action. consumeStatementNull(); break;
+ case 181: { action. consumeStatementCompoundStatement(true); break;
}
//
- // Rule 182: compound_statement ::= { <openscope-ast> statement_seq }
+ // Rule 182: compound_statement ::= { }
//
- case 182: { action. consumeStatementCompoundStatement(true); break;
+ case 182: { action. consumeStatementCompoundStatement(false); break;
}
//
- // Rule 183: compound_statement ::= { }
+ // Rule 185: selection_statement ::= if ( condition ) statement
//
- case 183: { action. consumeStatementCompoundStatement(false); break;
+ case 185: { action. consumeStatementIf(false); break;
}
//
- // Rule 186: selection_statement ::= if ( condition ) statement
+ // Rule 186: selection_statement ::= if ( condition ) statement else statement
//
- case 186: { action. consumeStatementIf(false); break;
+ case 186: { action. consumeStatementIf(true); break;
}
//
- // Rule 187: selection_statement ::= if ( condition ) statement else statement
+ // Rule 187: selection_statement ::= switch ( condition ) statement
//
- case 187: { action. consumeStatementIf(true); break;
+ case 187: { action. consumeStatementSwitch(); break;
}
//
- // Rule 188: selection_statement ::= switch ( condition ) statement
+ // Rule 189: condition ::= type_specifier_seq declarator = assignment_expression
//
- case 188: { action. consumeStatementSwitch(); break;
+ case 189: { action. consumeConditionDeclaration(); break;
}
//
- // Rule 190: condition ::= type_specifier_seq declarator = assignment_expression
+ // Rule 191: condition_opt ::= $Empty
//
- case 190: { action. consumeConditionDeclaration(); break;
+ case 191: { action. consumeEmpty(); break;
}
//
- // Rule 192: condition_opt ::= $Empty
+ // Rule 192: iteration_statement ::= while ( condition ) statement
//
- case 192: { action. consumeEmpty(); break;
+ case 192: { action. consumeStatementWhileLoop(); break;
}
//
- // Rule 193: iteration_statement ::= while ( condition ) statement
+ // Rule 193: iteration_statement ::= do statement while ( expression ) ;
//
- case 193: { action. consumeStatementWhileLoop(); break;
+ case 193: { action. consumeStatementDoLoop(); break;
}
//
- // Rule 194: iteration_statement ::= do statement while ( expression ) ;
+ // Rule 194: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement
//
- case 194: { action. consumeStatementDoLoop(); break;
+ case 194: { action. consumeStatementForLoop(); break;
}
//
- // Rule 195: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement
+ // Rule 196: for_init_statement ::= simple_declaration_with_declspec
//
- case 195: { action. consumeStatementForLoop(); break;
+ case 196: { action. consumeStatementDeclaration(); break;
}
//
- // Rule 197: for_init_statement ::= simple_declaration_with_declspec
+ // Rule 197: jump_statement ::= break ;
//
- case 197: { action. consumeStatementDeclaration(); break;
+ case 197: { action. consumeStatementBreak(); break;
}
//
- // Rule 198: jump_statement ::= break ;
+ // Rule 198: jump_statement ::= continue ;
//
- case 198: { action. consumeStatementBreak(); break;
+ case 198: { action. consumeStatementContinue(); break;
}
//
- // Rule 199: jump_statement ::= continue ;
+ // Rule 199: jump_statement ::= return expression ;
//
- case 199: { action. consumeStatementContinue(); break;
+ case 199: { action. consumeStatementReturn(true); break;
}
//
- // Rule 200: jump_statement ::= return expression ;
+ // Rule 200: jump_statement ::= return ;
//
- case 200: { action. consumeStatementReturn(true); break;
+ case 200: { action. consumeStatementReturn(false); break;
}
//
- // Rule 201: jump_statement ::= return ;
+ // Rule 201: jump_statement ::= goto identifier_token ;
//
- case 201: { action. consumeStatementReturn(false); break;
+ case 201: { action. consumeStatementGoto(); break;
}
//
- // Rule 202: jump_statement ::= goto identifier_token ;
+ // Rule 202: declaration_statement ::= block_declaration
//
- case 202: { action. consumeStatementGoto(); break;
+ case 202: { action. consumeStatementDeclarationWithDisambiguation(); break;
}
//
- // Rule 203: declaration_statement ::= block_declaration
+ // Rule 203: declaration_statement ::= function_definition
//
- case 203: { action. consumeStatementDeclarationWithDisambiguation(); break;
+ case 203: { action. consumeStatementDeclaration(); break;
}
//
- // Rule 204: declaration_statement ::= function_definition
+ // Rule 211: declaration ::= ERROR_TOKEN
//
- case 204: { action. consumeStatementDeclaration(); break;
+ case 211: { action. consumeDeclarationProblem(); break;
}
//
- // Rule 212: declaration ::= ERROR_TOKEN
+ // Rule 221: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ;
//
- case 212: { action. consumeDeclarationProblem(); break;
+ case 221: { action. consumeDeclarationSimple(true); break;
}
//
- // Rule 222: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ;
+ // Rule 222: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ;
//
case 222: { action. consumeDeclarationSimple(true); break;
}
//
- // Rule 223: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ;
+ // Rule 223: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers
//
- case 223: { action. consumeDeclarationSimple(true); break;
+ case 223: { action. consumeDeclarationSpecifiersSimple(); break;
}
//
- // Rule 224: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers
+ // Rule 224: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers
//
- case 224: { action. consumeDeclarationSpecifiersSimple(); break;
+ case 224: { action. consumeDeclarationSpecifiersComposite(); break;
}
//
- // Rule 225: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers
+ // Rule 225: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers
//
case 225: { action. consumeDeclarationSpecifiersComposite(); break;
}
//
- // Rule 226: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers
+ // Rule 226: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers
//
case 226: { action. consumeDeclarationSpecifiersComposite(); break;
}
//
- // Rule 227: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers
+ // Rule 227: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers
//
- case 227: { action. consumeDeclarationSpecifiersComposite(); break;
+ case 227: { action. consumeDeclarationSpecifiersTypeName(); break;
}
//
- // Rule 228: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers
+ // Rule 229: declaration_specifiers_opt ::= $Empty
//
- case 228: { action. consumeDeclarationSpecifiersTypeName(); break;
+ case 229: { action. consumeEmpty(); break;
}
//
- // Rule 230: declaration_specifiers_opt ::= $Empty
+ // Rule 233: no_type_declaration_specifier ::= friend
//
- case 230: { action. consumeEmpty(); break;
+ case 233: { action. consumeToken(); break;
}
//
- // Rule 234: no_type_declaration_specifier ::= friend
+ // Rule 234: no_type_declaration_specifier ::= typedef
//
case 234: { action. consumeToken(); break;
}
//
- // Rule 235: no_type_declaration_specifier ::= typedef
+ // Rule 254: storage_class_specifier ::= auto
//
- case 235: { action. consumeToken(); break;
+ case 254: { action. consumeToken(); break;
}
//
- // Rule 255: storage_class_specifier ::= auto
+ // Rule 255: storage_class_specifier ::= register
//
case 255: { action. consumeToken(); break;
}
//
- // Rule 256: storage_class_specifier ::= register
+ // Rule 256: storage_class_specifier ::= static
//
case 256: { action. consumeToken(); break;
}
//
- // Rule 257: storage_class_specifier ::= static
+ // Rule 257: storage_class_specifier ::= extern
//
case 257: { action. consumeToken(); break;
}
//
- // Rule 258: storage_class_specifier ::= extern
+ // Rule 258: storage_class_specifier ::= mutable
//
case 258: { action. consumeToken(); break;
}
//
- // Rule 259: storage_class_specifier ::= mutable
+ // Rule 259: function_specifier ::= inline
//
case 259: { action. consumeToken(); break;
}
//
- // Rule 260: function_specifier ::= inline
+ // Rule 260: function_specifier ::= virtual
//
case 260: { action. consumeToken(); break;
}
//
- // Rule 261: function_specifier ::= virtual
+ // Rule 261: function_specifier ::= explicit
//
case 261: { action. consumeToken(); break;
}
//
- // Rule 262: function_specifier ::= explicit
+ // Rule 262: simple_type_specifier ::= char
//
case 262: { action. consumeToken(); break;
}
//
- // Rule 263: simple_type_specifier ::= char
+ // Rule 263: simple_type_specifier ::= wchar_t
//
case 263: { action. consumeToken(); break;
}
//
- // Rule 264: simple_type_specifier ::= wchar_t
+ // Rule 264: simple_type_specifier ::= bool
//
case 264: { action. consumeToken(); break;
}
//
- // Rule 265: simple_type_specifier ::= bool
+ // Rule 265: simple_type_specifier ::= short
//
case 265: { action. consumeToken(); break;
}
//
- // Rule 266: simple_type_specifier ::= short
+ // Rule 266: simple_type_specifier ::= int
//
case 266: { action. consumeToken(); break;
}
//
- // Rule 267: simple_type_specifier ::= int
+ // Rule 267: simple_type_specifier ::= long
//
case 267: { action. consumeToken(); break;
}
//
- // Rule 268: simple_type_specifier ::= long
+ // Rule 268: simple_type_specifier ::= signed
//
case 268: { action. consumeToken(); break;
}
//
- // Rule 269: simple_type_specifier ::= signed
+ // Rule 269: simple_type_specifier ::= unsigned
//
case 269: { action. consumeToken(); break;
}
//
- // Rule 270: simple_type_specifier ::= unsigned
+ // Rule 270: simple_type_specifier ::= float
//
case 270: { action. consumeToken(); break;
}
//
- // Rule 271: simple_type_specifier ::= float
+ // Rule 271: simple_type_specifier ::= double
//
case 271: { action. consumeToken(); break;
}
//
- // Rule 272: simple_type_specifier ::= double
+ // Rule 272: simple_type_specifier ::= void
//
case 272: { action. consumeToken(); break;
}
//
- // Rule 273: simple_type_specifier ::= void
+ // Rule 275: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name
//
- case 273: { action. consumeToken(); break;
+ case 275: { action. consumeQualifiedId(false); break;
}
//
- // Rule 276: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name
+ // Rule 276: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name
//
case 276: { action. consumeQualifiedId(false); break;
}
//
- // Rule 277: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name
+ // Rule 277: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name
//
case 277: { action. consumeQualifiedId(false); break;
}
//
- // Rule 278: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name
+ // Rule 278: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name
//
- case 278: { action. consumeQualifiedId(false); break;
+ case 278: { action. consumeQualifiedId(true); break;
}
//
- // Rule 279: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name
+ // Rule 280: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name
//
- case 279: { action. consumeQualifiedId(true); break;
+ case 280: { action. consumeTypeSpecifierElaborated(false); break;
}
//
- // Rule 281: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name
+ // Rule 281: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt template_opt template_id_name
//
- case 281: { action. consumeTypeSpecifierElaborated(false); break;
+ case 281: { action. consumeTypeSpecifierElaborated(true); break;
}
//
- // Rule 282: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt template_opt template_id_name
+ // Rule 282: elaborated_type_specifier ::= enum elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name
//
- case 282: { action. consumeTypeSpecifierElaborated(true); break;
+ case 282: { action. consumeTypeSpecifierElaborated(false); break;
}
//
- // Rule 283: elaborated_type_specifier ::= enum elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name
+ // Rule 284: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt }
//
- case 283: { action. consumeTypeSpecifierElaborated(false); break;
+ case 284: { action. consumeTypeSpecifierEnumeration(false); break;
}
//
- // Rule 285: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt }
+ // Rule 285: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt }
//
- case 285: { action. consumeTypeSpecifierEnumeration(false); break;
+ case 285: { action. consumeTypeSpecifierEnumeration(true); break;
}
//
- // Rule 286: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt }
+ // Rule 291: enumerator_definition ::= identifier_token
//
- case 286: { action. consumeTypeSpecifierEnumeration(true); break;
+ case 291: { action. consumeEnumerator(false); break;
}
//
- // Rule 292: enumerator_definition ::= identifier_token
+ // Rule 292: enumerator_definition ::= identifier_token = constant_expression
//
- case 292: { action. consumeEnumerator(false); break;
+ case 292: { action. consumeEnumerator(true); break;
}
//
- // Rule 293: enumerator_definition ::= identifier_token = constant_expression
+ // Rule 296: named_namespace_definition ::= namespace namespace_name { <openscope-ast> declaration_seq_opt }
//
- case 293: { action. consumeEnumerator(true); break;
+ case 296: { action. consumeNamespaceDefinition(true); break;
}
//
- // Rule 297: named_namespace_definition ::= namespace namespace_name { <openscope-ast> declaration_seq_opt }
+ // Rule 297: unnamed_namespace_definition ::= namespace { <openscope-ast> declaration_seq_opt }
//
- case 297: { action. consumeNamespaceDefinition(true); break;
+ case 297: { action. consumeNamespaceDefinition(false); break;
}
//
- // Rule 298: unnamed_namespace_definition ::= namespace { <openscope-ast> declaration_seq_opt }
+ // Rule 298: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ;
//
- case 298: { action. consumeNamespaceDefinition(false); break;
+ case 298: { action. consumeNamespaceAliasDefinition(); break;
}
//
- // Rule 299: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ;
+ // Rule 299: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ;
//
- case 299: { action. consumeNamespaceAliasDefinition(); break;
+ case 299: { action. consumeUsingDeclaration(); break;
}
//
- // Rule 300: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ;
+ // Rule 300: typename_opt ::= typename
//
- case 300: { action. consumeUsingDeclaration(); break;
+ case 300: { action. consumePlaceHolder(); break;
}
//
- // Rule 301: typename_opt ::= typename
+ // Rule 301: typename_opt ::= $Empty
//
- case 301: { action. consumePlaceHolder(); break;
+ case 301: { action. consumeEmpty(); break;
}
//
- // Rule 302: typename_opt ::= $Empty
+ // Rule 302: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ;
//
- case 302: { action. consumeEmpty(); break;
+ case 302: { action. consumeUsingDirective(); break;
}
//
- // Rule 303: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ;
+ // Rule 303: asm_definition ::= asm ( stringlit ) ;
//
- case 303: { action. consumeUsingDirective(); break;
+ case 303: { action. consumeDeclarationASM(); break;
}
//
- // Rule 304: asm_definition ::= asm ( stringlit ) ;
+ // Rule 304: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt }
//
- case 304: { action. consumeDeclarationASM(); break;
+ case 304: { action. consumeLinkageSpecification(); break;
}
//
- // Rule 305: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt }
+ // Rule 305: linkage_specification ::= extern stringlit <openscope-ast> declaration
//
case 305: { action. consumeLinkageSpecification(); break;
}
//
- // Rule 306: linkage_specification ::= extern stringlit <openscope-ast> declaration
+ // Rule 310: init_declarator_complete ::= init_declarator
//
- case 306: { action. consumeLinkageSpecification(); break;
+ case 310: { action. consumeInitDeclaratorComplete(); break;
}
//
- // Rule 311: init_declarator_complete ::= init_declarator
+ // Rule 312: init_declarator ::= complete_declarator initializer
//
- case 311: { action. consumeInitDeclaratorComplete(); break;
+ case 312: { action. consumeDeclaratorWithInitializer(true); break;
}
//
- // Rule 313: init_declarator ::= complete_declarator initializer
+ // Rule 315: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
//
- case 313: { action. consumeDeclaratorWithInitializer(true); break;
+ case 315: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 316: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
+ // Rule 317: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
//
- case 316: { action. consumeDeclaratorWithPointer(true); break;
+ case 317: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 318: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
+ // Rule 321: basic_direct_declarator ::= declarator_id_name
//
- case 318: { action. consumeDeclaratorWithPointer(true); break;
+ case 321: { action. consumeDirectDeclaratorIdentifier(); break;
}
//
- // Rule 322: basic_direct_declarator ::= declarator_id_name
+ // Rule 322: basic_direct_declarator ::= ( declarator )
//
- case 322: { action. consumeDirectDeclaratorIdentifier(); break;
+ case 322: { action. consumeDirectDeclaratorBracketed(); break;
}
//
- // Rule 323: basic_direct_declarator ::= ( declarator )
+ // Rule 323: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
//
- case 323: { action. consumeDirectDeclaratorBracketed(); break;
+ case 323: { action. consumeDirectDeclaratorFunctionDeclarator(true); break;
}
//
- // Rule 324: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
+ // Rule 324: array_direct_declarator ::= array_direct_declarator array_modifier
//
- case 324: { action. consumeDirectDeclaratorFunctionDeclarator(true); break;
+ case 324: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 325: array_direct_declarator ::= array_direct_declarator array_modifier
+ // Rule 325: array_direct_declarator ::= basic_direct_declarator array_modifier
//
case 325: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 326: array_direct_declarator ::= basic_direct_declarator array_modifier
+ // Rule 326: array_modifier ::= [ constant_expression ]
//
- case 326: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 326: { action. consumeDirectDeclaratorArrayModifier(true); break;
}
//
- // Rule 327: array_modifier ::= [ constant_expression ]
+ // Rule 327: array_modifier ::= [ ]
//
- case 327: { action. consumeDirectDeclaratorArrayModifier(true); break;
+ case 327: { action. consumeDirectDeclaratorArrayModifier(false); break;
}
//
- // Rule 328: array_modifier ::= [ ]
+ // Rule 328: ptr_operator ::= pointer_hook * <openscope-ast> cv_qualifier_seq_opt
//
- case 328: { action. consumeDirectDeclaratorArrayModifier(false); break;
+ case 328: { action. consumePointer(); break;
}
//
- // Rule 329: ptr_operator ::= pointer_hook * <openscope-ast> cv_qualifier_seq_opt
+ // Rule 329: ptr_operator ::= pointer_hook &
//
- case 329: { action. consumePointer(); break;
+ case 329: { action. consumeReferenceOperator(); break;
}
//
- // Rule 330: ptr_operator ::= pointer_hook &
+ // Rule 330: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * <openscope-ast> cv_qualifier_seq_opt
//
- case 330: { action. consumeReferenceOperator(); break;
+ case 330: { action. consumePointerToMember(); break;
}
//
- // Rule 331: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * <openscope-ast> cv_qualifier_seq_opt
+ // Rule 337: cv_qualifier ::= const
//
- case 331: { action. consumePointerToMember(); break;
+ case 337: { action. consumeToken(); break;
}
//
- // Rule 338: cv_qualifier ::= const
+ // Rule 338: cv_qualifier ::= volatile
//
case 338: { action. consumeToken(); break;
}
//
- // Rule 339: cv_qualifier ::= volatile
+ // Rule 340: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name
//
- case 339: { action. consumeToken(); break;
+ case 340: { action. consumeQualifiedId(false); break;
}
//
- // Rule 341: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name
+ // Rule 341: type_id ::= type_specifier_seq
//
- case 341: { action. consumeQualifiedId(false); break;
+ case 341: { action. consumeTypeId(false); break;
}
//
- // Rule 342: type_id ::= type_specifier_seq
+ // Rule 342: type_id ::= type_specifier_seq abstract_declarator
//
- case 342: { action. consumeTypeId(false); break;
+ case 342: { action. consumeTypeId(true); break;
}
//
- // Rule 343: type_id ::= type_specifier_seq abstract_declarator
+ // Rule 345: abstract_declarator ::= <openscope-ast> ptr_operator_seq
//
- case 343: { action. consumeTypeId(true); break;
+ case 345: { action. consumeDeclaratorWithPointer(false); break;
}
//
- // Rule 346: abstract_declarator ::= <openscope-ast> ptr_operator_seq
+ // Rule 346: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator
//
- case 346: { action. consumeDeclaratorWithPointer(false); break;
+ case 346: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 347: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator
+ // Rule 350: basic_direct_abstract_declarator ::= ( abstract_declarator )
//
- case 347: { action. consumeDeclaratorWithPointer(true); break;
+ case 350: { action. consumeDirectDeclaratorBracketed(); break;
}
//
- // Rule 351: basic_direct_abstract_declarator ::= ( abstract_declarator )
+ // Rule 351: basic_direct_abstract_declarator ::= ( )
//
- case 351: { action. consumeDirectDeclaratorBracketed(); break;
+ case 351: { action. consumeAbstractDeclaratorEmpty(); break;
}
//
- // Rule 352: basic_direct_abstract_declarator ::= ( )
+ // Rule 352: array_direct_abstract_declarator ::= array_modifier
//
- case 352: { action. consumeAbstractDeclaratorEmpty(); break;
+ case 352: { action. consumeDirectDeclaratorArrayDeclarator(false); break;
}
//
- // Rule 353: array_direct_abstract_declarator ::= array_modifier
+ // Rule 353: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
//
- case 353: { action. consumeDirectDeclaratorArrayDeclarator(false); break;
+ case 353: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 354: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
+ // Rule 354: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
//
case 354: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 355: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
+ // Rule 355: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
//
- case 355: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 355: { action. consumeDirectDeclaratorFunctionDeclarator(true); break;
}
//
- // Rule 356: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
+ // Rule 356: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
//
- case 356: { action. consumeDirectDeclaratorFunctionDeclarator(true); break;
+ case 356: { action. consumeDirectDeclaratorFunctionDeclarator(false); break;
}
//
- // Rule 357: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
+ // Rule 357: parameter_declaration_clause ::= parameter_declaration_list_opt ...
//
- case 357: { action. consumeDirectDeclaratorFunctionDeclarator(false); break;
+ case 357: { action. consumePlaceHolder(); break;
}
//
- // Rule 358: parameter_declaration_clause ::= parameter_declaration_list_opt ...
+ // Rule 358: parameter_declaration_clause ::= parameter_declaration_list_opt
//
- case 358: { action. consumePlaceHolder(); break;
+ case 358: { action. consumeEmpty(); break;
}
//
- // Rule 359: parameter_declaration_clause ::= parameter_declaration_list_opt
+ // Rule 359: parameter_declaration_clause ::= parameter_declaration_list , ...
//
- case 359: { action. consumeEmpty(); break;
+ case 359: { action. consumePlaceHolder(); break;
}
//
- // Rule 360: parameter_declaration_clause ::= parameter_declaration_list , ...
+ // Rule 365: abstract_declarator_opt ::= $Empty
//
- case 360: { action. consumePlaceHolder(); break;
+ case 365: { action. consumeEmpty(); break;
}
//
- // Rule 366: abstract_declarator_opt ::= $Empty
+ // Rule 366: parameter_declaration ::= declaration_specifiers parameter_init_declarator
//
- case 366: { action. consumeEmpty(); break;
+ case 366: { action. consumeParameterDeclaration(); break;
}
//
- // Rule 367: parameter_declaration ::= declaration_specifiers parameter_init_declarator
+ // Rule 367: parameter_declaration ::= declaration_specifiers
//
- case 367: { action. consumeParameterDeclaration(); break;
+ case 367: { action. consumeParameterDeclarationWithoutDeclarator(); break;
}
//
- // Rule 368: parameter_declaration ::= declaration_specifiers
+ // Rule 369: parameter_init_declarator ::= declarator = parameter_initializer
//
- case 368: { action. consumeParameterDeclarationWithoutDeclarator(); break;
+ case 369: { action. consumeDeclaratorWithInitializer(true); break;
}
//
- // Rule 370: parameter_init_declarator ::= declarator = parameter_initializer
+ // Rule 371: parameter_init_declarator ::= abstract_declarator = parameter_initializer
//
- case 370: { action. consumeDeclaratorWithInitializer(true); break;
+ case 371: { action. consumeDeclaratorWithInitializer(true); break;
}
//
- // Rule 372: parameter_init_declarator ::= abstract_declarator = parameter_initializer
+ // Rule 372: parameter_init_declarator ::= = parameter_initializer
//
- case 372: { action. consumeDeclaratorWithInitializer(true); break;
+ case 372: { action. consumeDeclaratorWithInitializer(false); break;
}
//
- // Rule 373: parameter_init_declarator ::= = parameter_initializer
+ // Rule 373: parameter_initializer ::= assignment_expression
//
- case 373: { action. consumeDeclaratorWithInitializer(false); break;
+ case 373: { action. consumeInitializer(); break;
}
//
- // Rule 374: parameter_initializer ::= assignment_expression
+ // Rule 374: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body
//
- case 374: { action. consumeInitializer(); break;
+ case 374: { action. consumeFunctionDefinition(false); break;
}
//
- // Rule 375: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body
+ // Rule 375: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq
//
- case 375: { action. consumeFunctionDefinition(false); break;
+ case 375: { action. consumeFunctionDefinition(true); break;
}
//
- // Rule 376: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq
+ // Rule 378: initializer ::= ( expression_list )
//
- case 376: { action. consumeFunctionDefinition(true); break;
+ case 378: { action. consumeInitializerConstructor(); break;
}
//
- // Rule 379: initializer ::= ( expression_list )
+ // Rule 379: initializer_clause ::= assignment_expression
//
- case 379: { action. consumeInitializerConstructor(); break;
+ case 379: { action. consumeInitializer(); break;
}
//
- // Rule 380: initializer_clause ::= assignment_expression
+ // Rule 380: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list , } end_initializer_list
//
- case 380: { action. consumeInitializer(); break;
+ case 380: { action. consumeInitializerList(); break;
}
//
- // Rule 381: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list , } end_initializer_list
+ // Rule 381: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list } end_initializer_list
//
case 381: { action. consumeInitializerList(); break;
}
//
- // Rule 382: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list } end_initializer_list
+ // Rule 382: initializer_clause ::= { <openscope-ast> }
//
case 382: { action. consumeInitializerList(); break;
}
//
- // Rule 383: initializer_clause ::= { <openscope-ast> }
+ // Rule 383: start_initializer_list ::= $Empty
//
- case 383: { action. consumeInitializerList(); break;
+ case 383: { action. initializerListStart(); break;
}
//
- // Rule 384: start_initializer_list ::= $Empty
+ // Rule 384: end_initializer_list ::= $Empty
//
- case 384: { action. initializerListStart(); break;
+ case 384: { action. initializerListEnd(); break;
}
//
- // Rule 385: end_initializer_list ::= $Empty
+ // Rule 389: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt }
//
- case 385: { action. initializerListEnd(); break;
+ case 389: { action. consumeClassSpecifier(); break;
}
//
- // Rule 390: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt }
+ // Rule 390: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook <openscope-ast> base_clause_opt
//
- case 390: { action. consumeClassSpecifier(); break;
+ case 390: { action. consumeClassHead(false); break;
}
//
- // Rule 391: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook <openscope-ast> base_clause_opt
+ // Rule 391: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt
//
case 391: { action. consumeClassHead(false); break;
}
//
- // Rule 392: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt
+ // Rule 392: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook <openscope-ast> base_clause_opt
//
- case 392: { action. consumeClassHead(false); break;
+ case 392: { action. consumeClassHead(true); break;
}
//
- // Rule 393: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook <openscope-ast> base_clause_opt
+ // Rule 393: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt
//
case 393: { action. consumeClassHead(true); break;
}
//
- // Rule 394: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt
+ // Rule 397: identifier_name_opt ::= $Empty
//
- case 394: { action. consumeClassHead(true); break;
- }
+ case 397: { action. consumeEmpty(); break;
+ }
//
- // Rule 398: identifier_name_opt ::= $Empty
+ // Rule 401: visibility_label ::= access_specifier_keyword :
//
- case 398: { action. consumeEmpty(); break;
- }
+ case 401: { action. consumeVisibilityLabel(); break;
+ }
//
- // Rule 402: visibility_label ::= access_specifier_keyword :
+ // Rule 402: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ;
//
- case 402: { action. consumeVisibilityLabel(); break;
+ case 402: { action. consumeDeclarationSimple(true); break;
}
//
- // Rule 403: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ;
+ // Rule 403: member_declaration ::= declaration_specifiers_opt ;
//
- case 403: { action. consumeDeclarationSimple(true); break;
+ case 403: { action. consumeDeclarationSimple(false); break;
}
//
- // Rule 404: member_declaration ::= declaration_specifiers_opt ;
+ // Rule 406: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ;
//
- case 404: { action. consumeDeclarationSimple(false); break;
+ case 406: { action. consumeMemberDeclarationQualifiedId(); break;
}
//
- // Rule 407: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ;
+ // Rule 412: member_declaration ::= ERROR_TOKEN
//
- case 407: { action. consumeMemberDeclarationQualifiedId(); break;
+ case 412: { action. consumeDeclarationProblem(); break;
}
//
- // Rule 413: member_declaration ::= ERROR_TOKEN
+ // Rule 421: member_declarator ::= declarator constant_initializer
//
- case 413: { action. consumeDeclarationProblem(); break;
+ case 421: { action. consumeMemberDeclaratorWithInitializer(); break;
}
//
- // Rule 422: member_declarator ::= declarator constant_initializer
+ // Rule 422: member_declarator ::= bit_field_declarator : constant_expression
//
- case 422: { action. consumeMemberDeclaratorWithInitializer(); break;
+ case 422: { action. consumeBitField(true); break;
}
//
- // Rule 423: member_declarator ::= bit_field_declarator : constant_expression
+ // Rule 423: member_declarator ::= : constant_expression
//
- case 423: { action. consumeBitField(true); break;
+ case 423: { action. consumeBitField(false); break;
}
//
- // Rule 424: member_declarator ::= : constant_expression
+ // Rule 424: bit_field_declarator ::= identifier_name
//
- case 424: { action. consumeBitField(false); break;
+ case 424: { action. consumeDirectDeclaratorIdentifier(); break;
}
//
- // Rule 425: bit_field_declarator ::= identifier_name
+ // Rule 425: constant_initializer ::= = constant_expression
//
- case 425: { action. consumeDirectDeclaratorIdentifier(); break;
+ case 425: { action. consumeInitializer(); break;
}
//
- // Rule 426: constant_initializer ::= = constant_expression
+ // Rule 431: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name
//
- case 426: { action. consumeInitializer(); break;
+ case 431: { action. consumeBaseSpecifier(false, false); break;
}
//
- // Rule 432: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name
+ // Rule 432: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name
//
- case 432: { action. consumeBaseSpecifier(false, false); break;
+ case 432: { action. consumeBaseSpecifier(true, true); break;
}
//
- // Rule 433: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name
+ // Rule 433: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name
//
case 433: { action. consumeBaseSpecifier(true, true); break;
}
//
- // Rule 434: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name
+ // Rule 434: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name
//
- case 434: { action. consumeBaseSpecifier(true, true); break;
+ case 434: { action. consumeBaseSpecifier(true, false); break;
}
//
- // Rule 435: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name
+ // Rule 435: access_specifier_keyword ::= private
//
- case 435: { action. consumeBaseSpecifier(true, false); break;
+ case 435: { action. consumeToken(); break;
}
//
- // Rule 436: access_specifier_keyword ::= private
+ // Rule 436: access_specifier_keyword ::= protected
//
case 436: { action. consumeToken(); break;
}
//
- // Rule 437: access_specifier_keyword ::= protected
+ // Rule 437: access_specifier_keyword ::= public
//
case 437: { action. consumeToken(); break;
}
//
- // Rule 438: access_specifier_keyword ::= public
+ // Rule 439: access_specifier_keyword_opt ::= $Empty
//
- case 438: { action. consumeToken(); break;
+ case 439: { action. consumeEmpty(); break;
}
//
- // Rule 440: access_specifier_keyword_opt ::= $Empty
+ // Rule 441: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt >
//
- case 440: { action. consumeEmpty(); break;
+ case 441: { action. consumeTemplateId(); break;
}
//
- // Rule 442: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt >
+ // Rule 442: conversion_function_id ::= operator conversion_type_id
//
- case 442: { action. consumeTemplateId(); break;
+ case 442: { action. consumeConversionName(); break;
}
//
- // Rule 443: conversion_function_id ::= operator conversion_type_id
+ // Rule 443: conversion_type_id ::= type_specifier_seq conversion_declarator
//
- case 443: { action. consumeConversionName(); break;
+ case 443: { action. consumeTypeId(true); break;
}
//
- // Rule 444: conversion_type_id ::= type_specifier_seq conversion_declarator
+ // Rule 444: conversion_type_id ::= type_specifier_seq
//
- case 444: { action. consumeTypeId(true); break;
+ case 444: { action. consumeTypeId(false); break;
}
//
- // Rule 445: conversion_type_id ::= type_specifier_seq
+ // Rule 445: conversion_declarator ::= <openscope-ast> ptr_operator_seq
//
- case 445: { action. consumeTypeId(false); break;
+ case 445: { action. consumeDeclaratorWithPointer(false); break;
}
//
- // Rule 446: conversion_declarator ::= <openscope-ast> ptr_operator_seq
+ // Rule 451: mem_initializer ::= mem_initializer_name ( expression_list_opt )
//
- case 446: { action. consumeDeclaratorWithPointer(false); break;
+ case 451: { action. consumeConstructorChainInitializer(); break;
}
//
- // Rule 452: mem_initializer ::= mem_initializer_name ( expression_list_opt )
+ // Rule 452: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name
//
- case 452: { action. consumeConstructorChainInitializer(); break;
+ case 452: { action. consumeQualifiedId(false); break;
}
//
- // Rule 453: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name
+ // Rule 455: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt >
//
- case 453: { action. consumeQualifiedId(false); break;
+ case 455: { action. consumeTemplateId(); break;
}
//
- // Rule 456: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt >
+ // Rule 456: operator_id_name ::= operator overloadable_operator
//
- case 456: { action. consumeTemplateId(); break;
+ case 456: { action. consumeOperatorName(); break;
}
//
- // Rule 457: operator_id_name ::= operator overloadable_operator
+ // Rule 499: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration
//
- case 457: { action. consumeOperatorName(); break;
+ case 499: { action. consumeTemplateDeclaration(); break;
}
//
- // Rule 500: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration
+ // Rule 500: export_opt ::= export
//
- case 500: { action. consumeTemplateDeclaration(); break;
+ case 500: { action. consumePlaceHolder(); break;
}
//
- // Rule 501: export_opt ::= export
+ // Rule 501: export_opt ::= $Empty
//
- case 501: { action. consumePlaceHolder(); break;
+ case 501: { action. consumeEmpty(); break;
}
//
- // Rule 502: export_opt ::= $Empty
+ // Rule 505: template_parameter ::= parameter_declaration
//
- case 502: { action. consumeEmpty(); break;
+ case 505: { action. consumeTemplateParamterDeclaration(); break;
}
//
- // Rule 506: template_parameter ::= parameter_declaration
+ // Rule 506: type_parameter ::= class identifier_name_opt
//
- case 506: { action. consumeTemplateParamterDeclaration(); break;
+ case 506: { action. consumeSimpleTypeTemplateParameter(false); break;
}
//
- // Rule 507: type_parameter ::= class identifier_name_opt
+ // Rule 507: type_parameter ::= class identifier_name_opt = type_id
//
- case 507: { action. consumeSimpleTypeTemplateParameter(false); break;
+ case 507: { action. consumeSimpleTypeTemplateParameter(true); break;
}
//
- // Rule 508: type_parameter ::= class identifier_name_opt = type_id
+ // Rule 508: type_parameter ::= typename identifier_name_opt
//
- case 508: { action. consumeSimpleTypeTemplateParameter(true); break;
+ case 508: { action. consumeSimpleTypeTemplateParameter(false); break;
}
//
- // Rule 509: type_parameter ::= typename identifier_name_opt
+ // Rule 509: type_parameter ::= typename identifier_name_opt = type_id
//
- case 509: { action. consumeSimpleTypeTemplateParameter(false); break;
+ case 509: { action. consumeSimpleTypeTemplateParameter(true); break;
}
//
- // Rule 510: type_parameter ::= typename identifier_name_opt = type_id
+ // Rule 510: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt
//
- case 510: { action. consumeSimpleTypeTemplateParameter(true); break;
+ case 510: { action. consumeTemplatedTypeTemplateParameter(false); break;
}
//
- // Rule 511: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt
+ // Rule 511: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression
//
- case 511: { action. consumeTemplatedTypeTemplateParameter(false); break;
+ case 511: { action. consumeTemplatedTypeTemplateParameter(true); break;
}
//
- // Rule 512: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression
+ // Rule 512: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt >
//
- case 512: { action. consumeTemplatedTypeTemplateParameter(true); break;
+ case 512: { action. consumeTemplateId(); break;
}
//
- // Rule 513: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt >
+ // Rule 517: template_argument ::= assignment_expression
//
- case 513: { action. consumeTemplateId(); break;
+ case 517: { action. consumeTemplateArgumentExpression(); break;
}
//
- // Rule 518: template_argument ::= assignment_expression
+ // Rule 518: template_argument ::= type_id
//
- case 518: { action. consumeTemplateArgumentExpression(); break;
+ case 518: { action. consumeTemplateArgumentTypeId(); break;
}
//
- // Rule 519: template_argument ::= type_id
+ // Rule 519: explicit_instantiation ::= template declaration
//
- case 519: { action. consumeTemplateArgumentTypeId(); break;
+ case 519: { action. consumeTemplateExplicitInstantiation(); break;
}
//
- // Rule 520: explicit_instantiation ::= template declaration
+ // Rule 520: explicit_specialization ::= template < > declaration
//
- case 520: { action. consumeTemplateExplicitInstantiation(); break;
+ case 520: { action. consumeTemplateExplicitSpecialization(); break;
}
//
- // Rule 521: explicit_specialization ::= template < > declaration
+ // Rule 521: try_block ::= try compound_statement <openscope-ast> handler_seq
//
- case 521: { action. consumeTemplateExplicitSpecialization(); break;
+ case 521: { action. consumeStatementTryBlock(); break;
}
//
- // Rule 522: try_block ::= try compound_statement <openscope-ast> handler_seq
+ // Rule 524: handler ::= catch ( exception_declaration ) compound_statement
//
- case 522: { action. consumeStatementTryBlock(); break;
+ case 524: { action. consumeStatementCatchHandler(false); break;
}
//
- // Rule 525: handler ::= catch ( exception_declaration ) compound_statement
+ // Rule 525: handler ::= catch ( ... ) compound_statement
//
- case 525: { action. consumeStatementCatchHandler(false); break;
+ case 525: { action. consumeStatementCatchHandler(true); break;
}
//
- // Rule 526: handler ::= catch ( ... ) compound_statement
+ // Rule 526: exception_declaration ::= type_specifier_seq <openscope-ast> declarator
//
- case 526: { action. consumeStatementCatchHandler(true); break;
+ case 526: { action. consumeDeclarationSimple(true); break;
}
//
- // Rule 527: exception_declaration ::= type_specifier_seq <openscope-ast> declarator
+ // Rule 527: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator
//
case 527: { action. consumeDeclarationSimple(true); break;
}
//
- // Rule 528: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator
- //
- case 528: { action. consumeDeclarationSimple(true); break;
- }
-
- //
- // Rule 529: exception_declaration ::= type_specifier_seq
+ // Rule 528: exception_declaration ::= type_specifier_seq
//
- case 529: { action. consumeDeclarationSimple(false); break;
+ case 528: { action. consumeDeclarationSimple(false); break;
}
//
- // Rule 531: exception_specification ::= throw ( )
+ // Rule 530: exception_specification ::= throw ( )
//
- case 531: { action. consumePlaceHolder(); break;
+ case 530: { action. consumePlaceHolder(); break;
}
//
- // Rule 537: expression_parser_start ::= ERROR_TOKEN
+ // Rule 536: expression_parser_start ::= ERROR_TOKEN
//
- case 537: { action. consumeExpressionProblem(); break;
+ case 536: { action. consumeExpressionProblem(); break;
}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParserprs.java
index 3d95f7c52f9..c18c485cd7a 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParserprs.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParserprs.java
@@ -29,7 +29,7 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0
+ 0,0
};
};
public final static byte isKeyword[] = IsKeyword.isKeyword;
@@ -39,496 +39,496 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP
public final static short baseCheck[] = {0,
0,0,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,3,1,1,1,1,1,
- 1,1,1,2,2,1,1,0,1,0,
- 4,2,3,2,3,2,2,1,0,1,
- 1,4,4,4,8,8,3,3,4,4,
- 3,3,2,2,7,7,7,7,4,4,
- 5,6,3,2,2,1,1,1,2,2,
- 2,2,2,2,2,2,2,4,7,9,
- 3,0,1,2,2,1,2,3,4,1,
- 0,3,1,0,3,5,1,4,1,3,
- 3,1,3,3,3,1,3,3,1,3,
- 3,1,3,3,3,3,1,3,3,1,
- 3,1,3,1,3,1,3,1,3,1,
- 5,1,2,1,1,3,3,3,3,3,
- 3,3,3,3,3,3,1,2,1,3,
- 1,0,1,0,1,1,0,1,1,1,
- 1,1,1,1,1,1,3,4,3,2,
- 1,4,2,1,2,5,7,5,1,4,
- 1,0,5,7,8,1,1,2,2,3,
- 2,3,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,2,1,
- 0,4,4,2,2,2,2,2,1,0,
- 1,1,1,1,1,1,2,1,2,2,
- 2,1,1,2,2,1,2,2,1,2,
- 2,1,2,2,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,3,4,4,5,2,
- 5,6,5,0,6,7,0,1,3,1,
- 0,1,3,1,1,1,6,5,7,6,
- 1,0,6,5,6,4,1,3,1,0,
- 1,1,2,1,1,3,1,3,1,1,
- 1,1,3,9,2,2,3,2,4,2,
- 6,0,1,2,2,1,0,1,1,1,
- 3,1,2,1,1,2,3,1,1,1,
- 3,2,1,2,2,9,8,2,1,3,
- 1,3,1,0,1,0,2,1,1,3,
- 1,3,2,1,5,8,1,2,3,1,
- 7,6,3,0,0,1,3,1,1,5,
- 6,6,7,7,0,0,1,0,1,1,
- 1,2,4,2,2,1,5,1,1,1,
- 1,1,1,1,2,1,0,1,3,1,
- 1,2,3,2,1,2,2,1,0,1,
- 3,3,5,5,4,1,1,1,1,0,
- 1,5,2,2,1,2,2,1,0,1,
- 3,4,3,1,1,5,2,1,1,3,
+ 1,1,1,3,1,1,1,1,1,1,
+ 1,1,2,2,1,1,0,1,0,4,
+ 2,3,2,3,2,2,1,0,1,1,
+ 4,4,4,8,8,3,3,4,4,3,
+ 3,2,2,7,7,7,7,4,4,5,
+ 6,3,2,2,1,1,1,2,2,2,
+ 2,2,2,2,2,2,4,7,9,3,
+ 0,1,2,2,1,2,3,4,1,0,
+ 3,1,0,3,5,1,4,1,3,3,
+ 1,3,3,3,1,3,3,1,3,3,
+ 1,3,3,3,3,1,3,3,1,3,
+ 1,3,1,3,1,3,1,3,1,5,
+ 1,2,1,1,3,3,3,3,3,3,
+ 3,3,3,3,3,1,2,1,3,1,
+ 0,1,0,1,1,0,1,1,1,1,
+ 1,1,1,1,1,3,4,3,2,1,
+ 4,2,1,2,5,7,5,1,4,1,
+ 0,5,7,8,1,1,2,2,3,2,
3,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,2,1,0,
+ 4,4,2,2,2,2,2,1,0,1,
+ 1,1,1,1,1,2,1,2,2,2,
+ 1,1,2,2,1,2,2,1,2,2,
+ 1,2,2,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,3,4,4,5,2,5,
+ 6,5,0,6,7,0,1,3,1,0,
+ 1,3,1,1,1,6,5,7,6,1,
+ 0,6,5,6,4,1,3,1,0,1,
+ 1,2,1,1,3,1,3,1,1,1,
+ 1,3,9,2,2,3,2,4,2,6,
+ 0,1,2,2,1,0,1,1,1,3,
+ 1,2,1,1,2,3,1,1,1,3,
+ 2,1,2,2,9,8,2,1,3,1,
+ 3,1,0,1,0,2,1,1,3,1,
+ 3,2,1,5,8,1,2,3,1,7,
+ 6,3,0,0,1,3,1,1,5,6,
+ 6,7,7,0,0,1,0,1,1,1,
+ 2,4,2,2,1,5,1,1,1,1,
+ 1,1,1,2,1,0,1,3,1,1,
+ 2,3,2,1,2,2,1,0,1,3,
+ 3,5,5,4,1,1,1,1,0,1,
+ 5,2,2,1,2,2,1,0,1,3,
+ 4,3,1,1,5,2,1,1,3,3,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,2,2,7,
- 1,0,1,3,1,1,2,4,2,4,
- 7,9,5,1,3,1,0,1,1,2,
- 4,4,1,2,5,5,3,3,1,4,
- 3,1,0,1,3,1,1,-62,0,0,
- 0,-2,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-477,
- 0,0,0,0,0,0,-263,0,0,-4,
- 0,0,0,0,0,-398,0,0,0,0,
- -71,0,0,0,-5,0,0,0,0,0,
- 0,0,0,-459,0,-88,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-6,0,0,
- 0,0,0,0,0,0,0,-58,0,0,
- 0,-20,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-7,0,0,0,0,0,-239,
- 0,0,-49,-8,-272,0,0,0,-72,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,-417,0,0,0,0,0,0,0,0,
- -115,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,2,2,7,1,
+ 0,1,3,1,1,2,4,2,4,7,
+ 9,5,1,3,1,0,1,1,2,4,
+ 4,1,2,5,5,3,3,1,4,3,
+ 1,0,1,3,1,1,-62,0,0,0,
+ -2,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-477,0,
+ 0,0,0,0,0,-263,0,0,-4,0,
+ 0,0,0,0,-398,0,0,0,0,-71,
+ 0,0,0,-5,0,0,0,0,0,0,
+ 0,0,-459,0,-88,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-127,0,
- 0,0,0,0,-113,0,-178,0,0,0,
- -387,-128,0,0,0,0,-116,0,0,0,
+ 0,0,0,0,0,0,-6,0,0,0,
+ 0,0,0,0,0,0,-58,0,0,0,
+ -20,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,-7,0,0,0,0,0,-239,0,
+ 0,-49,-8,-272,0,0,0,-72,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-258,0,
- -9,0,0,0,0,0,0,0,0,-356,
- 0,0,-142,0,0,0,-51,0,0,0,
- 0,0,0,-533,0,0,0,0,0,0,
+ -417,0,0,0,0,0,0,0,0,-115,
0,0,0,0,0,0,0,0,0,0,
- -183,0,-11,-54,0,0,-131,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-127,0,0,
+ 0,0,0,-113,0,-178,0,0,0,-387,
+ -128,0,0,0,0,-116,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -61,0,0,0,0,0,0,0,0,-402,
- 0,0,-206,0,0,0,0,0,0,-64,
- 0,0,-220,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-258,0,-9,
+ 0,0,0,0,0,0,0,0,-356,0,
+ 0,-142,0,0,0,-51,0,0,0,0,
+ 0,0,-533,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-183,
+ 0,-11,-54,0,0,-131,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-12,0,-13,0,0,0,
- -179,0,0,0,0,-353,-53,0,-225,-15,
- 0,-224,0,0,0,0,0,0,0,-150,
- 0,0,0,-28,0,0,0,0,0,0,
- 0,0,-59,0,0,0,0,0,-463,0,
- 0,0,-508,0,0,0,-447,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-61,
+ 0,0,0,0,0,0,0,0,-402,0,
+ 0,-206,0,0,0,0,0,0,-64,0,
+ 0,-220,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-10,0,0,0,
- -29,0,0,0,0,-532,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-12,0,-13,0,0,0,-179,
+ 0,0,0,0,-353,-53,0,-225,-15,0,
+ -224,0,0,0,0,0,0,0,-150,0,
+ 0,0,-28,0,0,0,0,0,0,0,
+ 0,-59,0,0,0,0,0,-463,0,0,
+ 0,-508,0,0,0,-447,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-117,0,0,0,0,0,
- 0,0,0,-30,-390,0,0,0,0,0,
- -331,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-10,0,0,0,-29,
+ 0,0,0,0,-532,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-31,0,0,0,0,0,0,-406,
- 0,0,0,0,0,-439,0,0,0,-256,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-117,0,0,0,0,0,0,
+ 0,0,-30,-390,0,0,0,0,0,-331,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-32,
- 0,0,0,0,0,0,0,0,-233,0,
- 0,0,0,-347,-3,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-288,0,0,-122,0,-33,0,
- 0,0,-232,0,0,0,0,-106,0,0,
+ 0,-31,0,0,0,0,0,0,-406,0,
+ 0,0,0,0,-439,0,0,0,-256,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-34,
- 0,0,0,0,0,0,-188,0,0,-242,
- 0,0,0,0,0,-276,0,0,0,-35,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-32,0,
+ 0,0,0,0,0,0,0,-233,0,0,
+ 0,0,-347,-3,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-65,0,0,0,0,-311,
- 0,0,0,-270,0,0,0,0,-152,0,
- 0,0,-36,0,0,0,0,0,0,0,
- 0,-240,0,0,0,-319,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-37,0,0,
+ 0,0,-288,0,0,-122,0,-33,0,0,
+ 0,-232,0,0,0,0,-106,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-273,0,0,0,0,0,0,
- -320,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-34,0,
+ 0,0,0,0,0,-188,0,0,-242,0,
+ 0,0,0,0,-276,0,0,0,-35,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-38,0,
- 0,0,0,-39,0,0,0,-40,0,0,
+ 0,0,0,-65,0,0,0,0,-311,0,
+ 0,0,-270,0,0,0,0,-152,0,0,
+ 0,-36,0,0,0,0,0,0,0,0,
+ -240,0,0,0,-319,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-55,0,0,0,0,
- 0,0,-221,0,0,-56,0,-50,0,0,
- 0,0,0,-66,0,0,-342,-41,0,0,
- 0,-67,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-69,
- 0,0,0,0,0,0,-70,0,0,-120,
- 0,-57,0,0,0,0,0,0,0,0,
- -94,0,0,0,-109,0,0,0,0,0,
+ 0,0,0,0,0,0,-37,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-110,0,0,0,0,0,0,0,
- 0,0,-413,0,-186,0,0,0,0,-111,
- -60,0,0,-95,0,0,0,-112,0,0,
+ 0,0,-273,0,0,0,0,0,0,-320,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-132,0,0,0,0,
- 0,0,0,0,0,-493,0,-190,0,0,
- 0,-370,0,-139,0,0,-96,0,0,0,
- -140,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-141,0,
- 0,0,0,0,0,0,0,0,-531,0,
- -200,0,0,0,0,0,-155,0,0,-97,
- 0,0,0,-156,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-157,0,0,0,0,0,0,0,0,
- 0,-537,0,-304,0,0,0,0,0,-158,
- 0,0,-98,0,0,0,-159,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-160,0,0,0,0,0,
- 0,0,0,0,-161,0,-384,0,0,0,
- 0,0,-107,0,0,-99,0,0,0,-162,
+ 0,0,0,0,0,0,0,-38,0,0,
+ 0,0,-39,0,0,0,-40,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-55,0,0,0,0,0,
+ 0,-221,0,0,-56,0,-50,0,0,0,
+ 0,0,-66,0,0,-342,-41,0,0,0,
+ -67,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-69,0,
+ 0,0,0,0,0,-70,0,0,-120,0,
+ -57,0,0,0,0,0,0,0,0,-94,
+ 0,0,0,-109,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-163,0,-205,
- 0,0,0,0,-164,-108,0,0,-100,0,
- 0,0,-165,0,0,0,0,0,0,0,
+ 0,-110,0,0,0,0,0,0,0,0,
+ 0,-413,0,-186,0,0,0,0,-111,-60,
+ 0,0,-95,0,0,0,-112,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-132,0,0,0,0,0,
+ 0,0,0,0,-493,0,-190,0,0,0,
+ -370,0,-139,0,0,-96,0,0,0,-140,
0,0,0,0,0,0,0,0,0,0,
- -129,0,-222,0,0,0,0,-166,-114,0,
- 0,-101,0,0,0,-167,0,0,0,0,
+ 0,0,0,0,0,0,0,-141,0,0,
+ 0,0,0,0,0,0,0,-531,0,-200,
+ 0,0,0,0,0,-155,0,0,-97,0,
+ 0,0,-156,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ -157,0,0,0,0,0,0,0,0,0,
+ -537,0,-304,0,0,0,0,0,-158,0,
+ 0,-98,0,0,0,-159,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-168,0,-230,0,0,0,0,
- -344,-169,0,0,-102,0,0,0,-170,0,
+ 0,0,0,-160,0,0,0,0,0,0,
+ 0,0,0,-161,0,-384,0,0,0,0,
+ 0,-107,0,0,-99,0,0,0,-162,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-385,0,0,0,
- 0,0,0,0,0,0,-130,0,0,0,
- 0,0,-507,-363,-171,0,0,-103,0,0,
- 0,-172,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-173,
- 0,0,0,0,0,0,-360,0,0,-144,
- 0,0,0,0,0,-399,0,0,0,0,
- -104,0,0,0,-292,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-174,0,0,0,0,0,0,0,
- 0,0,-175,0,-394,0,0,0,0,0,
- -137,0,0,-135,0,0,0,-375,0,0,
+ 0,0,0,0,0,0,-163,0,-205,0,
+ 0,0,0,-164,-108,0,0,-100,0,0,
+ 0,-165,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-129,
+ 0,-222,0,0,0,0,-166,-114,0,0,
+ -101,0,0,0,-167,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-176,0,-177,0,0,
- 0,-213,0,0,0,-180,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,-168,0,-230,0,0,0,0,-344,
+ -169,0,0,-102,0,0,0,-170,0,0,
0,0,0,0,0,0,0,0,0,0,
- -181,0,0,0,0,0,0,0,0,0,
- -189,0,0,0,-74,-154,0,0,0,0,
- 0,-526,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-385,0,0,0,0,
+ 0,0,0,0,0,-130,0,0,0,0,
+ 0,-507,-363,-171,0,0,-103,0,0,0,
+ -172,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-173,0,
+ 0,0,0,0,0,-360,0,0,-144,0,
+ 0,0,0,0,-399,0,0,0,0,-104,
+ 0,0,0,-292,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,-174,0,0,0,0,0,0,0,0,
+ 0,-175,0,-394,0,0,0,0,0,-137,
+ 0,0,-135,0,0,0,-375,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-408,0,0,0,-138,
- 0,-149,0,0,-345,0,0,0,-196,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-124,0,0,0,
+ 0,0,0,0,-176,0,-177,0,0,0,
+ -213,0,0,0,-180,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-355,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,-189,
+ 0,0,0,-74,-154,0,0,0,0,0,
+ -526,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-226,0,0,0,0,0,
- 0,-182,0,0,0,0,-332,0,0,0,
- -16,0,0,0,-229,-315,0,0,0,0,
- 0,0,-379,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-185,0,0,0,0,0,
- 0,-193,0,0,0,0,-400,0,0,0,
- -380,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-408,0,0,0,-138,0,
+ -149,0,0,-345,0,0,0,-196,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-124,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-194,0,0,0,0,0,-147,0,
- 0,0,-279,0,0,0,0,0,0,0,
- -450,0,0,0,0,0,0,0,0,0,
+ 0,-355,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-381,0,0,0,0,0,0,0,
- 0,0,-416,0,-333,0,0,0,-93,0,
+ 0,0,0,-226,0,0,0,0,0,0,
+ -182,0,0,0,0,-332,0,0,0,-16,
+ 0,0,0,-229,-315,0,0,0,0,0,
+ 0,-379,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-185,0,0,0,0,0,0,
+ -193,0,0,0,0,-400,0,0,0,-380,
0,0,0,0,0,0,0,0,0,0,
- -197,0,0,0,0,0,0,0,0,0,
- 0,0,-335,0,0,0,0,-266,0,0,
- 0,0,0,-410,0,0,0,0,-91,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -153,0,0,0,0,0,0,0,0,0,
- -92,0,0,0,-208,0,0,0,0,0,
+ 0,-194,0,0,0,0,0,-147,0,0,
+ 0,-279,0,0,0,0,0,0,0,-450,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-391,0,0,0,0,0,0,0,0,
- 0,0,0,0,-89,0,0,0,-255,0,
+ 0,-381,0,0,0,0,0,0,0,0,
+ 0,-416,0,-333,0,0,0,-93,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-197,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-218,-409,-377,0,0,-136,0,0,
- -219,0,-509,0,0,0,-202,-118,-420,0,
- 0,0,0,0,0,0,-374,0,0,0,
- 0,-267,0,0,0,0,0,0,-227,0,
- 0,-211,0,0,0,-314,0,-90,0,0,
+ 0,-335,0,0,0,0,-266,0,0,0,
+ 0,0,-410,0,0,0,0,-91,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-280,
- 0,0,0,0,0,0,-212,0,0,0,
- -235,0,0,-119,0,0,0,-236,0,0,
+ 0,0,0,0,0,0,0,0,0,-153,
+ 0,0,0,0,0,0,0,0,0,-92,
+ 0,0,0,-208,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-143,
- 0,0,0,-146,-429,0,0,0,0,0,
- 0,-151,0,0,0,-198,-282,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-237,
- 0,0,0,0,-245,0,0,0,0,-254,
- -207,-259,0,0,0,0,0,0,-261,-238,
- 0,0,0,0,0,0,0,-312,0,-262,
- 0,0,0,0,-277,0,0,0,0,0,
- 0,0,0,-121,-246,0,0,0,-354,0,
- 0,0,0,-306,0,0,0,0,0,0,
- 0,0,0,0,0,0,-260,0,0,0,
- 0,0,0,-82,0,0,0,0,0,0,
+ -391,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-89,0,0,0,-255,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-278,0,0,0,0,
- -247,0,0,0,-438,0,0,0,0,-289,
- 0,0,0,0,0,0,0,0,-274,0,
- 0,0,0,-299,0,0,0,-329,-293,0,
- 0,0,0,0,0,0,0,0,0,-83,
0,0,0,0,0,0,0,0,0,0,
+ 0,-218,-409,-377,0,0,-136,0,0,-219,
+ 0,-509,0,0,0,-202,-118,-420,0,0,
+ 0,0,0,0,0,-374,0,0,0,0,
+ -267,0,0,0,0,0,0,-227,0,0,
+ -211,0,0,0,-314,0,-90,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-520,0,0,0,0,-84,0,0,0,
+ 0,0,0,0,0,0,0,0,-280,0,
+ 0,0,0,0,0,-212,0,0,0,-235,
+ 0,0,-119,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,-143,0,
+ 0,0,-146,-429,0,0,0,0,0,0,
+ -151,0,0,0,-198,-282,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-77,0,0,0,-294,0,0,
+ 0,0,0,0,0,0,0,0,-237,0,
+ 0,0,0,-245,0,0,0,0,-254,-207,
+ -259,0,0,0,0,0,0,-261,-238,0,
+ 0,0,0,0,0,0,-312,0,-262,0,
+ 0,0,0,-277,0,0,0,0,0,0,
+ 0,0,-121,-246,0,0,0,-354,0,0,
+ 0,0,-306,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-260,0,0,0,0,
+ 0,0,-82,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-302,0,0,0,0,
- 0,-440,0,0,0,0,0,0,0,0,
- 0,0,0,0,-187,0,0,0,-85,0,
+ 0,0,0,0,-278,0,0,0,0,-247,
+ 0,0,0,-438,0,0,0,0,-289,0,
+ 0,0,0,0,0,0,0,-274,0,0,
+ 0,0,-299,0,0,0,-329,-293,0,0,
+ 0,0,0,0,0,0,0,0,-83,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -234,0,0,0,0,-428,-123,0,0,0,
- 0,-199,-441,-303,0,0,0,0,0,-268,
- 0,0,0,0,0,0,-323,0,-430,0,
- 0,0,0,0,0,-241,-308,0,-14,-148,
- -248,-316,0,0,0,0,-228,0,0,0,
- 0,0,0,0,0,0,0,0,0,-448,
- 0,0,0,0,-249,0,-269,0,0,0,
+ -520,0,0,0,0,-84,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-250,0,0,
- 0,0,-362,0,0,0,0,0,0,0,
- -317,0,0,0,0,0,0,0,0,0,
- 0,0,0,-328,-346,0,0,0,0,0,
- -348,-432,0,0,0,0,0,0,0,0,
- 0,0,0,0,-525,0,0,0,0,0,
- 0,0,0,0,0,0,0,-452,-195,-52,
- 0,0,0,0,0,0,-301,-365,-326,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-18,0,0,0,0,0,0,-364,-466,
- 0,0,0,0,0,0,-467,0,0,0,
- -395,-473,-251,0,0,0,0,0,0,-464,
- -523,-368,0,-43,-44,0,0,0,0,0,
+ 0,0,-77,0,0,0,-294,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-302,0,0,0,0,0,
+ -440,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-187,0,0,0,-85,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-234,
+ 0,0,0,0,-428,-123,0,0,0,0,
+ -199,-441,-303,0,0,0,0,0,-268,0,
+ 0,0,0,0,0,-323,0,-430,0,0,
+ 0,0,0,0,-241,-308,0,-14,-148,-248,
+ -316,0,0,0,0,-228,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-448,0,
+ 0,0,0,-249,0,-269,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-271,0,0,0,
+ 0,0,0,0,0,0,-250,0,0,0,
+ 0,-362,0,0,0,0,0,0,0,-317,
0,0,0,0,0,0,0,0,0,0,
- -286,0,0,0,-383,-392,0,0,0,0,
- 0,-313,0,0,0,-19,0,0,0,0,
+ 0,0,-328,-346,0,0,0,0,0,-348,
+ -432,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-525,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-452,-195,-52,0,
+ 0,0,0,0,0,-301,-365,-326,0,0,
0,0,0,0,0,0,0,0,0,0,
+ -18,0,0,0,0,0,0,-364,-466,0,
+ 0,0,0,0,0,-467,0,0,0,-395,
+ -473,-251,0,0,0,0,0,0,-464,-523,
+ -368,0,-43,-44,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-86,0,0,0,-393,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-125,0,0,0,-87,0,
- 0,0,-285,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -457,0,0,0,0,-284,-422,-275,-358,0,
- 0,0,0,-470,0,-396,-1,-298,-397,-318,
- 0,-461,0,-192,0,0,0,0,0,0,
- 0,-322,0,0,0,-295,0,-403,0,0,
- 0,-231,0,0,0,0,0,0,0,0,
- 0,0,0,0,-480,0,0,0,0,0,
- -287,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-134,-405,0,
- 0,0,0,0,0,0,-297,-45,-411,-418,
- 0,0,0,0,0,-462,0,0,0,0,
- 0,0,0,0,0,0,0,0,-482,0,
- 0,-296,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-271,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-286,
+ 0,0,0,-383,-392,0,0,0,0,0,
+ -313,0,0,0,-19,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-425,0,-494,0,0,0,
- -48,-46,0,0,0,0,0,0,0,-281,
- 0,0,0,-426,0,0,0,0,0,0,
- 0,0,-499,0,0,-243,0,0,-105,0,
- 0,-300,0,-324,0,0,0,0,0,0,
- 0,0,0,0,0,-524,0,-244,-449,-283,
- 0,0,0,0,0,-145,0,0,-451,0,
- 0,0,0,0,-453,0,0,0,0,0,
- 0,0,0,0,0,0,-513,0,0,0,
- 0,-454,-325,0,-455,0,0,0,0,-361,
- 0,0,0,0,0,0,0,0,0,-521,
- 0,0,-305,0,0,0,0,0,-456,-204,
- -458,-388,0,0,0,0,0,-340,0,0,
0,0,0,0,0,0,0,0,0,0,
- -515,0,0,-73,0,-476,0,0,-478,0,
- 0,-479,0,0,0,0,0,0,0,0,
- 0,0,0,-481,0,-369,0,0,-486,0,
- 0,0,0,-490,0,-419,0,0,0,0,
- 0,-497,0,0,0,-334,0,0,0,0,
+ 0,-86,0,0,0,-393,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -349,0,0,0,-465,0,0,0,0,0,
- 0,0,0,0,0,-517,0,0,0,0,
- 0,0,0,0,0,0,0,0,-359,-47,
- 0,0,0,-351,0,-309,0,-505,-514,0,
- 0,0,-485,0,0,-310,0,0,-519,0,
- -321,-350,0,-522,0,-527,0,0,-538,-184,
- 0,0,0,0,0,-443,0,0,0,0,
+ 0,0,0,-125,0,0,0,-87,0,0,
+ 0,-285,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-457,
+ 0,0,0,0,-284,-422,-275,-358,0,0,
+ 0,0,-470,0,-396,-1,-298,-397,-318,0,
+ -461,0,-192,0,0,0,0,0,0,0,
+ -322,0,0,0,-295,0,-403,0,0,0,
+ -231,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-480,0,0,0,0,0,-287,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-134,-405,0,0,
+ 0,0,0,0,0,-297,-45,-411,-418,0,
+ 0,0,0,0,-462,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-482,0,0,
+ -296,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-425,0,-494,0,0,0,-48,
+ -46,0,0,0,0,0,0,0,-281,0,
+ 0,0,-426,0,0,0,0,0,0,0,
+ 0,-499,0,0,-243,0,0,-105,0,0,
+ -300,0,-324,0,0,0,0,0,0,0,
+ 0,0,0,0,-524,0,-244,-449,-283,0,
+ 0,0,0,0,-145,0,0,-451,0,0,
+ 0,0,0,-453,0,0,0,0,0,0,
+ 0,0,0,0,0,-513,0,0,0,0,
+ -454,-325,0,-455,0,0,0,0,-361,0,
+ 0,0,0,0,0,0,0,0,-521,0,
+ 0,-305,0,0,0,0,0,-456,-204,-458,
+ -388,0,0,0,0,0,-340,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-515,
+ 0,0,-73,0,-476,0,0,-478,0,0,
+ -479,0,0,0,0,0,0,0,0,0,
+ 0,0,-481,0,-369,0,0,-486,0,0,
+ 0,0,-490,0,-419,0,0,0,0,0,
+ -497,0,0,0,-334,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-349,
+ 0,0,0,-465,0,0,0,0,0,0,
+ 0,0,0,0,-517,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-359,-47,0,
+ 0,0,-351,0,-309,0,-505,-514,0,0,
+ 0,-485,0,0,-310,0,0,-519,0,-321,
+ -350,0,-522,0,-527,0,0,-538,-184,0,
+ 0,0,0,0,-443,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-252,-534,0,0,
- 0,0,0,0,0,-352,0,0,0,0,
- 0,0,0,-474,0,0,0,0,0,0,
- -376,-209,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-401,-386,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-539,0,-327,0,0,-337,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-339,0,0,0,0,
- -528,0,0,0,0,-341,0,0,0,0,
+ 0,0,0,0,0,-252,-534,0,0,0,
+ 0,0,0,0,-352,0,0,0,0,0,
+ 0,0,-474,0,0,0,0,0,0,-376,
+ -209,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-401,-386,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-357,-389,0,0,
+ 0,-539,0,-327,0,0,-337,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-78,0,0,
+ 0,0,0,0,-339,0,0,0,0,-528,
+ 0,0,0,0,-341,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-357,-389,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-79,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-78,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-80,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,-79,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -81,0,0,0,-475,0,0,0,0,0,
+ 0,0,0,0,0,-80,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-336,0,-373,-412,0,-468,0,0,
- -415,-445,-372,-291,0,0,0,0,0,0,
- 0,-444,0,-446,0,0,0,0,-253,0,
- 0,-424,0,0,0,0,-427,-469,0,0,
- 0,0,-471,0,0,0,0,-488,0,0,
+ 0,0,0,0,0,0,0,0,0,-81,
+ 0,0,0,-475,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-472,
- 0,0,0,0,0,0,-489,-496,0,0,
+ 0,-336,0,-373,-412,0,-468,0,0,-415,
+ -445,-372,-291,0,0,0,0,0,0,0,
+ -444,0,-446,0,0,0,0,-253,0,0,
+ -424,0,0,0,0,-427,-469,0,0,0,
+ 0,-471,0,0,0,0,-488,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-378,
+ 0,0,0,0,0,0,0,0,-472,0,
+ 0,0,0,0,0,-489,-496,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-330,0,0,0,0,0,-437,
- -491,0,0,0,0,0,0,0,0,-436,
- -404,0,0,0,-495,-492,0,0,0,0,
- 0,0,0,0,-500,-407,0,0,0,-191,
+ 0,0,0,0,0,0,0,0,-378,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,-330,0,0,0,0,0,-437,-491,
+ 0,0,0,0,0,0,0,0,-436,-404,
+ 0,0,0,-495,-492,0,0,0,0,0,
+ 0,0,0,-500,-407,0,0,0,-191,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-504,0,
- 0,-512,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-21,0,0,0,
+ 0,0,0,0,0,0,0,-504,0,0,
+ -512,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-21,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -502,-506,0,0,0,0,-22,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-502,
+ -506,0,0,0,0,-22,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-510,0,0,0,0,0,-23,0,0,
+ -510,0,0,0,0,0,-23,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-24,
+ 0,0,0,0,0,0,0,0,-24,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-25,0,0,0,0,0,0,0,0,
+ -25,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-26,0,0,0,0,0,0,
+ 0,0,-26,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-27,0,0,0,0,
+ 0,0,0,0,-27,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-63,0,0,
+ 0,0,0,0,0,0,-63,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-75,
+ 0,0,0,0,0,0,0,0,-75,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,
+ -76,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-133,0,0,0,0,0,0,
+ 0,0,-133,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-203,0,0,0,0,
+ 0,0,0,0,-203,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-338,-460,-214,
- -511,0,0,0,-516,0,0,-366,-530,0,
- 0,0,-215,0,-529,0,0,-371,0,0,
- 0,0,0,-536,0,0,0,0,0,0,
- -535,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-338,-460,-214,-511,
+ 0,0,0,-516,0,0,-366,-530,0,0,
+ 0,-215,0,-529,0,0,-371,0,0,0,
+ 0,0,-536,0,0,0,0,0,0,-535,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -414,0,0,0,0,0,0,0,0,-498,
- -423,0,0,0,0,0,-216,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-414,
+ 0,0,0,0,0,0,0,0,-498,-423,
+ 0,0,0,0,0,-216,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-307,0,0,0,0,0,
+ 0,0,0,-307,0,0,0,0,0,0,
0,0,0,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,0,0,0,0,-343,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-382,
0,0,0,0,0,0,0,0,0,0,
- -382,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-126,
- 0,0,0,-217,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-126,0,
+ 0,0,-217,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-501,0,0,0,0,
+ 0,0,0,0,-501,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-483,0,-290,0,0,-223,0,0,
- -431,0,0,-518,0,0,0,0,0,0,
+ 0,-483,0,-290,0,0,-223,0,0,-431,
+ 0,0,-518,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-264,
0,0,0,0,0,0,0,0,0,0,
- -264,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-367,
0,0,0,0,0,0,0,0,0,0,
- -367,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-265,0,0,0,
- 0,0,-421,0,0,0,0,0,0,0,
- 0,0,0,-433,0,0,0,0,0,0,
- 0,0,0,0,-434,0,0,0,-442,0,
+ 0,0,0,0,0,-265,0,0,0,0,
+ 0,-421,0,0,0,0,0,0,0,0,
+ 0,0,-433,0,0,0,0,0,0,0,
+ 0,0,0,-434,0,0,0,-442,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-201,
+ 0,0,0,0,0,0,0,0,-201,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-503,0,0,0,0,0,0,0,
- -17,-42,0,0,0,0,0,0,0,0,
- 0,0,-68,0,0,0,0,0,0,0,
+ 0,-503,0,0,0,0,0,0,0,-17,
+ -42,0,0,0,0,0,0,0,0,0,
+ 0,-68,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-435,
- 0,0,0,0,0,0,0,0,-210,0,
- 0,0,-257,0,0,0,0,0,-484,0,
+ 0,0,0,0,0,0,0,0,-435,0,
+ 0,0,0,0,0,0,0,-210,0,0,
+ 0,-257,0,0,0,0,0,-484,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-487,0,0,
+ 0,0,0,0,0,0,-487,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
@@ -544,7 +544,7 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0
+ 0,0,0,0,0,0,0,0
};
};
public final static short baseCheck[] = BaseCheck.baseCheck;
@@ -556,549 +556,549 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP
public final static char baseAction[] = {
174,4,136,83,83,32,32,67,67,38,
38,40,40,200,1,1,15,15,15,15,
- 15,15,15,15,16,16,16,14,11,11,
- 6,6,6,6,6,6,2,65,65,5,
- 5,12,12,44,44,137,137,138,57,57,
- 43,17,17,17,17,17,17,17,17,17,
+ 15,15,15,16,16,16,14,11,11,6,
+ 6,6,6,6,6,2,65,65,5,5,
+ 12,12,44,44,137,137,138,57,57,43,
17,17,17,17,17,17,17,17,17,17,
- 17,139,139,139,115,115,18,18,18,18,
- 18,18,18,18,18,18,18,18,18,19,
- 19,175,175,176,176,177,142,142,143,143,
- 140,140,144,141,141,20,20,21,21,23,
- 23,23,24,24,24,24,25,25,25,26,
- 26,26,27,27,27,27,27,28,28,28,
- 30,30,31,31,33,33,35,35,36,36,
- 37,37,42,42,41,41,41,41,41,41,
- 41,41,41,41,41,41,41,39,29,145,
- 145,97,97,178,178,92,201,201,68,68,
- 68,68,68,68,68,68,68,69,69,69,
- 66,66,56,56,179,179,70,70,70,103,
- 103,180,180,71,71,71,181,181,72,72,
- 72,72,72,73,73,84,84,84,84,84,
- 84,84,84,49,49,49,49,49,116,116,
- 114,114,50,182,22,22,22,22,22,48,
- 48,87,87,87,87,87,152,152,147,147,
- 147,147,147,148,148,148,149,149,149,150,
- 150,150,151,151,151,88,88,88,88,88,
- 89,89,89,13,13,13,13,13,13,13,
- 13,13,13,13,98,120,120,120,120,120,
- 120,118,118,118,153,119,119,183,155,155,
- 154,154,122,122,104,79,79,80,81,52,
- 47,156,156,53,51,86,86,157,157,146,
- 146,123,124,124,125,76,76,158,158,63,
- 63,63,60,60,59,64,64,75,75,58,
- 58,58,54,90,90,100,99,99,62,62,
- 61,61,55,55,45,101,101,101,93,93,
- 93,94,94,95,95,95,96,96,105,105,
- 105,107,107,106,106,202,202,91,91,185,
- 185,185,185,185,127,46,46,160,184,184,
- 128,128,128,128,129,162,186,186,34,34,
- 117,130,130,130,130,188,109,108,108,121,
- 121,121,163,164,164,164,164,164,164,164,
- 164,164,164,164,190,190,187,187,189,189,
- 165,166,166,166,166,167,191,111,110,110,
- 192,192,168,168,168,168,102,102,102,193,
- 193,8,8,9,194,194,195,169,159,159,
- 170,170,171,172,172,7,7,10,196,196,
- 196,196,196,196,196,196,196,196,196,196,
+ 17,17,17,17,17,17,17,17,17,17,
+ 139,139,139,115,115,18,18,18,18,18,
+ 18,18,18,18,18,18,18,18,19,19,
+ 175,175,176,176,177,142,142,143,143,140,
+ 140,144,141,141,20,20,21,21,23,23,
+ 23,24,24,24,24,25,25,25,26,26,
+ 26,27,27,27,27,27,28,28,28,30,
+ 30,31,31,33,33,35,35,36,36,37,
+ 37,42,42,41,41,41,41,41,41,41,
+ 41,41,41,41,41,41,39,29,145,145,
+ 97,97,178,178,92,201,201,68,68,68,
+ 68,68,68,68,68,68,69,69,69,66,
+ 66,56,56,179,179,70,70,70,103,103,
+ 180,180,71,71,71,181,181,72,72,72,
+ 72,72,73,73,84,84,84,84,84,84,
+ 84,84,49,49,49,49,49,116,116,114,
+ 114,50,182,22,22,22,22,22,48,48,
+ 87,87,87,87,87,152,152,147,147,147,
+ 147,147,148,148,148,149,149,149,150,150,
+ 150,151,151,151,88,88,88,88,88,89,
+ 89,89,13,13,13,13,13,13,13,13,
+ 13,13,13,98,120,120,120,120,120,120,
+ 118,118,118,153,119,119,183,155,155,154,
+ 154,122,122,104,79,79,80,81,52,47,
+ 156,156,53,51,86,86,157,157,146,146,
+ 123,124,124,125,76,76,158,158,63,63,
+ 63,60,60,59,64,64,75,75,58,58,
+ 58,54,90,90,100,99,99,62,62,61,
+ 61,55,55,45,101,101,101,93,93,93,
+ 94,94,95,95,95,96,96,105,105,105,
+ 107,107,106,106,202,202,91,91,185,185,
+ 185,185,185,127,46,46,160,184,184,128,
+ 128,128,128,129,162,186,186,34,34,117,
+ 130,130,130,130,188,109,108,108,121,121,
+ 121,163,164,164,164,164,164,164,164,164,
+ 164,164,164,190,190,187,187,189,189,165,
+ 166,166,166,166,167,191,111,110,110,192,
+ 192,168,168,168,168,102,102,102,193,193,
+ 8,8,9,194,194,195,169,159,159,170,
+ 170,171,172,172,7,7,10,196,196,196,
196,196,196,196,196,196,196,196,196,196,
196,196,196,196,196,196,196,196,196,196,
196,196,196,196,196,196,196,196,196,196,
- 77,82,82,173,173,132,132,133,133,133,
- 133,133,133,3,134,134,131,131,112,112,
- 85,78,74,161,161,113,113,197,197,197,
- 135,135,126,126,198,198,174,174,1132,36,
- 1569,1551,1116,2540,28,31,32,917,930,27,
- 29,1544,26,24,51,944,107,77,78,109,
- 2758,1001,1083,1044,1179,1130,1230,2065,1210,1308,
- 152,1273,274,1369,1378,144,1292,36,397,159,
- 145,1621,36,915,33,1028,2552,28,31,32,
- 917,930,58,29,595,3898,3172,36,915,33,
- 233,3012,28,31,32,917,930,27,29,823,
- 26,24,51,944,107,77,78,109,1239,1001,
- 1083,1044,1179,1130,1758,236,231,232,595,1440,
- 1526,35,3172,36,915,33,275,3012,28,31,
- 32,917,930,27,29,823,26,24,51,944,
- 107,77,78,86,1511,243,246,249,252,1177,
- 2106,36,278,70,1525,1408,2882,691,1450,1738,
- 36,915,33,524,2552,28,31,32,917,930,
- 57,29,2375,570,3325,2448,2514,2624,2847,3165,
- 4570,2347,36,915,33,2990,3012,28,31,32,
- 917,930,27,29,823,26,24,51,944,107,
- 77,78,109,344,1001,1083,1044,1179,1130,1230,
- 62,1210,1308,1624,1273,3101,1369,1378,144,331,
- 36,280,518,145,4000,1446,861,595,36,1526,
- 2433,2192,940,36,1422,389,519,2347,36,915,
- 33,2990,3012,28,31,32,917,930,27,29,
- 823,26,24,51,944,107,77,78,109,344,
- 1001,1083,1044,1179,1130,1230,50,1210,1308,2156,
- 1273,1670,1369,1378,144,1414,2182,288,518,145,
- 595,2882,861,331,36,280,921,1885,4790,3214,
- 737,1035,519,514,1337,36,915,33,61,4889,
- 28,31,32,917,930,27,29,405,512,2146,
- 2941,1973,1976,1379,1356,2001,3580,2347,36,915,
- 33,2990,3012,28,31,32,917,930,27,29,
- 823,26,24,51,944,107,77,78,109,344,
- 1001,1083,1044,1179,1130,1230,498,1210,1308,514,
- 1273,2173,1369,1378,144,3268,313,357,518,145,
- 2374,921,861,2149,2846,2175,532,3356,2132,334,
- 1627,2001,519,2558,36,915,33,2990,3012,28,
- 31,32,917,930,27,29,823,26,24,51,
- 944,107,77,78,109,344,1001,1083,1044,1179,
- 1130,1230,289,1210,1308,2194,1273,2315,1369,1378,
- 144,595,36,2441,518,145,2163,1022,861,144,
- 2465,3670,595,36,2462,2318,353,183,519,514,
- 1231,36,915,33,2275,4889,28,31,32,917,
- 930,60,29,1356,345,2060,1931,350,2223,595,
- 3494,2001,343,2695,36,915,33,1101,3012,28,
- 31,32,917,930,27,29,823,26,24,51,
- 944,107,77,78,109,4294,1001,1083,1044,1179,
- 1130,1230,444,1210,1308,515,1273,505,1369,1378,
- 144,418,3550,3920,380,145,2417,36,915,33,
- 499,3012,28,31,32,917,930,27,29,823,
- 26,24,51,944,107,77,78,109,1667,1001,
- 1083,1044,1179,1130,1230,1983,1210,1308,2860,1273,
- 3580,1369,1378,144,49,2335,3920,380,145,4441,
- 94,3172,36,915,33,3386,3012,28,31,32,
- 917,930,27,29,823,26,24,51,944,107,
- 77,78,109,1622,1001,1083,1044,1179,1130,1230,
- 523,1210,1308,65,1273,3861,1369,2301,165,2175,
- 2163,386,3032,333,430,3670,2626,36,915,33,
- 2013,3012,28,31,32,917,930,27,29,823,
- 26,24,51,944,107,77,78,109,3105,1001,
- 1083,1044,1179,1130,1230,821,1210,1308,560,1273,
- 2314,1369,1378,144,387,3032,3920,380,145,595,
- 36,1526,277,2933,2623,2820,36,915,33,3430,
- 3012,28,31,32,917,930,27,29,823,26,
- 24,51,944,107,77,78,109,390,1001,1083,
- 1044,1179,1130,1230,2477,1210,1308,1914,1273,594,
- 1369,1378,144,2090,36,278,159,145,3172,36,
- 915,33,1667,3012,28,31,32,917,930,27,
- 29,823,26,24,51,944,107,77,78,109,
- 761,1001,1083,1044,1179,1130,1230,505,1210,1308,
- 2161,1273,2887,1870,378,3032,2820,36,915,33,
- 1280,3012,28,31,32,917,930,27,29,823,
- 26,24,51,944,107,77,78,109,2699,1001,
- 1083,1044,1179,1130,1230,1650,1210,1308,431,1273,
- 2588,1369,1378,144,2307,36,281,374,145,1231,
- 36,915,33,57,4889,28,31,32,917,930,
- 59,29,1365,36,1526,277,2820,36,915,33,
- 570,3012,28,31,32,917,930,27,29,823,
- 26,24,51,944,107,77,78,109,1159,1001,
- 1083,1044,1179,1130,1230,89,1210,1308,103,1273,
- 2229,1369,1378,144,595,36,283,374,145,3112,
- 1217,2820,36,915,33,422,3012,28,31,32,
- 917,930,27,29,823,26,24,51,944,107,
- 77,78,109,373,1001,1083,1044,1179,1130,1230,
- 1174,1210,1308,2690,1273,2815,1369,1378,144,1723,
- 391,428,374,145,2490,36,915,33,1639,3012,
- 28,31,32,917,930,27,29,823,26,24,
- 51,944,107,77,78,109,420,1001,1083,1044,
- 1179,1130,1230,72,1210,1308,1473,1273,70,1369,
- 1378,144,747,372,1188,143,145,2615,2820,36,
- 915,33,2524,3012,28,31,32,917,930,27,
- 29,823,26,24,51,944,107,77,78,109,
- 1343,1001,1083,1044,1179,1130,1230,1462,1210,1308,
- 1893,1273,70,1369,1378,144,827,2590,370,160,
- 145,2820,36,915,33,336,3012,28,31,32,
- 917,930,27,29,823,26,24,51,944,107,
- 77,78,109,684,1001,1083,1044,1179,1130,1230,
- 1495,1210,1308,2192,1273,70,1369,1378,144,4638,
- 858,1356,156,145,2820,36,915,33,1180,3012,
- 28,31,32,917,930,27,29,823,26,24,
- 51,944,107,77,78,109,2530,1001,1083,1044,
- 1179,1130,1230,25,1210,1308,2192,1273,505,1369,
- 1378,144,2251,3232,1645,155,145,2820,36,915,
- 33,3375,3012,28,31,32,917,930,27,29,
- 823,26,24,51,944,107,77,78,109,1474,
- 1001,1083,1044,1179,1130,1230,3651,1210,1308,231,
- 1273,70,1369,1378,144,2600,448,413,154,145,
- 2820,36,915,33,587,3012,28,31,32,917,
- 930,27,29,823,26,24,51,944,107,77,
- 78,109,1027,1001,1083,1044,1179,1130,1230,356,
- 1210,1308,231,1273,505,1369,1378,144,532,3448,
- 1296,153,145,2820,36,915,33,1722,3012,28,
- 31,32,917,930,27,29,823,26,24,51,
- 944,107,77,78,109,1521,1001,1083,1044,1179,
- 1130,1230,324,1210,1308,1566,1273,2252,1369,1378,
- 144,532,3996,1356,152,145,2820,36,915,33,
- 1785,3012,28,31,32,917,930,27,29,823,
- 26,24,51,944,107,77,78,109,1624,1001,
- 1083,1044,1179,1130,1230,70,1210,1308,1990,1273,
- 70,1369,1378,144,1220,136,1356,151,145,2820,
- 36,915,33,1350,3012,28,31,32,917,930,
- 27,29,823,26,24,51,944,107,77,78,
- 109,382,1001,1083,1044,1179,1130,1230,69,1210,
- 1308,1022,1273,70,1369,1378,144,2409,1713,1356,
- 150,145,2820,36,915,33,2457,3012,28,31,
- 32,917,930,27,29,823,26,24,51,944,
- 107,77,78,109,381,1001,1083,1044,1179,1130,
- 1230,54,1210,1308,2525,1273,70,1369,1378,144,
- 665,1347,1736,149,145,2820,36,915,33,1486,
- 3012,28,31,32,917,930,27,29,823,26,
- 24,51,944,107,77,78,109,318,1001,1083,
- 1044,1179,1130,1230,461,1210,1308,1022,1273,403,
- 1369,1378,144,1101,2590,492,148,145,2820,36,
- 915,33,1844,3012,28,31,32,917,930,27,
- 29,823,26,24,51,944,107,77,78,109,
- 2137,1001,1083,1044,1179,1130,1230,2477,1210,1308,
- 1022,1273,407,1369,1378,144,1292,36,397,147,
- 145,2820,36,915,33,674,3012,28,31,32,
- 917,930,27,29,823,26,24,51,944,107,
- 77,78,109,1798,1001,1083,1044,1179,1130,1230,
- 460,1210,1308,1988,1273,505,1369,1378,144,439,
- 4743,1757,146,145,2764,36,915,33,2615,3012,
- 28,31,32,917,930,27,29,823,26,24,
- 51,944,107,77,78,109,523,1001,1083,1044,
- 1179,1130,1230,4316,1210,1308,2100,1273,2303,1369,
- 2301,165,2820,36,915,33,1912,3012,28,31,
- 32,917,930,27,29,823,26,24,51,944,
- 107,77,78,109,3344,1001,1083,1044,1179,1130,
- 1230,239,1210,1308,2742,1273,354,1369,1378,144,
- 71,2269,2145,141,145,70,1022,328,90,1145,
- 2434,103,3054,36,915,33,2069,3012,28,31,
- 32,917,930,27,29,823,26,24,51,944,
- 107,77,78,109,157,1001,1083,1044,1179,1130,
- 1230,1796,1210,1308,2016,1273,505,1369,1378,144,
- 1029,4754,1356,190,145,3172,36,915,33,1022,
- 3012,28,31,32,917,930,27,29,823,26,
- 24,51,944,107,77,78,109,244,1001,1083,
- 1044,1179,1130,1230,88,1210,1308,3669,1273,52,
- 1369,2301,165,3172,36,915,33,448,3012,28,
- 31,32,917,930,27,29,823,26,24,51,
- 944,107,77,78,109,2519,1001,1083,1044,1179,
- 1130,1230,1931,1210,1308,355,1273,1022,1369,2301,
- 165,1522,36,915,33,1893,2013,42,31,32,
- 917,930,327,3172,36,915,33,424,3012,28,
- 31,32,917,930,27,29,823,26,24,51,
- 944,107,77,78,109,1109,1001,1083,1044,1179,
- 1130,1230,1710,1210,1308,3087,1273,2590,1369,2301,
- 165,3172,36,915,33,293,3012,28,31,32,
- 917,930,27,29,823,26,24,51,944,107,
- 77,78,109,285,1001,1083,1044,1179,1130,1230,
- 98,1210,1308,2157,1273,300,1369,2301,165,1897,
- 36,915,33,2591,2907,41,31,32,917,930,
- 1538,3228,36,915,33,423,3012,28,31,32,
- 917,930,27,29,823,26,24,51,944,107,
- 77,78,109,2405,1001,1083,1044,1179,1130,1230,
- 2011,1210,1308,2590,1273,674,1369,2301,165,3172,
- 36,915,33,426,3012,28,31,32,917,930,
- 27,29,823,26,24,51,944,107,77,78,
- 109,1895,1001,1083,1044,1179,1130,1230,325,1210,
- 1308,222,1845,1897,36,915,33,2590,144,1844,
- 31,32,917,930,595,36,1422,389,2229,3172,
- 36,915,33,3484,3012,28,31,32,917,930,
- 27,29,823,26,24,51,944,107,77,78,
- 109,1356,1001,1083,1044,1179,1130,1230,432,1210,
- 1802,3172,36,915,33,2272,3012,28,31,32,
- 917,930,27,29,823,26,24,51,944,107,
- 77,78,109,53,1001,1083,1044,1179,1130,1230,
- 72,1809,1540,36,915,33,3572,3521,28,31,
- 32,917,930,340,29,3172,36,915,33,2165,
- 3012,28,31,32,917,930,27,29,823,26,
- 24,51,944,107,77,78,109,3556,1001,1083,
- 1044,1179,1766,2376,505,331,36,454,2190,4765,
- 3981,2377,2852,1292,36,397,2175,2061,2879,505,
- 333,320,2500,322,4769,315,2233,1897,36,915,
- 33,240,2592,2187,31,32,917,930,314,2245,
- 352,3208,766,36,1422,389,1408,2882,3172,36,
- 915,33,4538,3012,28,31,32,917,930,27,
- 29,823,26,24,51,944,107,77,78,109,
- 2102,1001,1083,1044,1179,1794,274,2439,329,336,
- 233,1919,2229,353,1240,307,311,682,1420,36,
- 915,33,3380,3340,28,31,32,917,930,340,
- 29,345,2060,1931,350,241,231,232,2273,2556,
- 1400,36,1422,389,70,853,36,454,1145,3280,
- 3981,3574,943,36,1422,389,1356,1826,36,915,
- 33,3413,3340,28,31,32,917,930,340,29,
- 2585,3566,2229,2591,50,326,233,320,2500,322,
- 326,315,2233,1414,2447,2585,50,73,351,352,
- 2162,1356,2415,353,2676,1414,2507,3214,288,2566,
- 1725,245,231,232,2990,447,3228,3269,2588,2472,
- 2191,345,2060,1931,350,2447,320,2500,322,2615,
- 315,2233,2518,91,1255,595,2709,1526,75,2013,
- 2629,2941,353,3364,1836,36,2961,33,3572,3521,
- 28,31,32,917,930,340,29,2269,36,294,
- 345,2060,1931,350,3172,36,915,33,2556,3012,
- 28,31,32,917,930,27,29,823,26,24,
- 51,944,107,77,78,109,2448,1001,1083,1044,
- 1655,1365,36,1526,2778,70,233,3362,2175,1145,
- 2653,361,333,320,2500,322,286,315,2233,595,
- 36,1526,279,367,1650,3173,2511,2580,2161,2618,
- 1144,248,231,232,3893,451,3228,3269,392,428,
- 3172,36,915,33,4538,3012,28,31,32,917,
- 930,27,29,823,26,24,51,944,107,77,
- 78,109,2800,1001,1083,1044,1665,3172,36,915,
- 33,2997,3012,28,31,32,917,930,27,29,
- 823,26,24,51,944,107,77,78,109,2313,
- 1001,1083,1044,1680,3172,36,915,33,2650,3012,
- 28,31,32,917,930,27,29,823,26,24,
- 51,944,107,77,78,109,2186,1001,1587,418,
- 420,2955,1243,36,915,33,3572,3340,28,31,
- 32,917,930,340,29,1292,36,2469,2125,3172,
- 36,915,33,1801,3012,28,31,32,917,930,
- 27,29,823,26,24,51,944,107,77,78,
- 109,1356,1001,1083,1044,1708,262,1361,1877,50,
- 538,2690,2003,2590,2662,524,2990,3580,1414,932,
- 70,320,2500,322,1260,315,2233,2450,229,595,
- 36,1422,389,3198,2518,157,1356,2656,314,2880,
- 1932,1356,2546,2990,181,2988,870,943,36,1422,
- 389,304,204,216,4721,203,213,214,215,217,
- 1,344,170,453,538,1356,2175,70,3251,233,
- 333,2608,169,68,184,168,171,172,173,174,
- 175,50,229,929,797,308,311,682,1356,157,
- 1414,48,2229,1022,251,231,232,67,181,2988,
- 870,500,2989,361,1264,3652,204,216,4721,203,
- 213,214,215,217,2657,2686,170,2841,2511,2580,
- 66,2246,595,36,1422,389,169,182,185,168,
- 171,172,173,174,175,1633,36,915,33,3380,
- 3340,28,31,32,917,930,340,29,2590,2095,
- 3284,36,1422,389,3580,742,435,1893,2689,1921,
- 36,915,33,238,3521,28,31,32,917,930,
- 340,29,1259,36,1422,389,99,43,2365,2013,
- 595,36,1422,389,274,2900,180,595,36,1422,
- 389,2013,1893,1356,320,2500,322,3688,315,2233,
- 1893,1893,2723,2175,70,70,50,334,2990,2990,
- 353,527,233,2175,434,1414,1255,334,320,2500,
- 322,433,316,2233,353,65,344,344,345,2060,
- 1931,350,3985,443,353,457,528,236,231,232,
- 870,870,347,2060,1931,350,298,70,275,861,
- 861,2476,347,2060,1931,350,3971,526,297,1465,
- 1483,595,36,1526,2954,769,2690,243,246,249,
- 252,1177,595,36,1526,282,3116,36,915,33,
- 1450,3012,28,31,32,917,930,27,29,823,
- 26,24,51,944,87,77,78,2448,2514,2624,
- 2847,3165,4570,3172,36,915,33,2649,3012,28,
- 31,32,917,930,27,29,823,26,24,51,
- 944,107,77,78,109,1629,1001,1083,1715,3172,
- 36,915,33,1356,3012,28,31,32,917,930,
- 27,29,823,26,24,51,944,107,77,78,
- 109,349,1001,1083,1723,538,2593,2474,70,1725,
- 2990,2990,3210,2990,2013,3685,1744,2279,2165,2731,
- 2165,1145,2590,229,595,36,1422,389,2518,2518,
- 157,2518,595,36,1422,389,1356,233,848,181,
- 2988,870,940,36,1422,389,157,204,216,4721,
- 203,213,214,215,217,436,536,170,274,538,
- 199,70,254,231,232,2708,274,169,56,3489,
- 168,171,172,173,174,175,50,229,1983,2752,
- 3208,305,3208,3580,157,1414,48,70,70,2757,
- 935,3506,2990,181,2988,870,2590,362,506,1324,
- 361,204,216,4721,203,213,214,215,217,523,
- 344,170,1356,538,3442,2511,2580,335,336,3737,
- 336,169,276,179,168,171,172,173,174,175,
- 341,229,2175,861,198,2683,333,2013,157,504,
- 505,1345,70,1500,55,1145,2990,181,2988,870,
- 940,36,1422,389,2691,204,216,4721,203,213,
- 214,215,217,610,344,170,1983,538,2989,70,
- 161,3580,70,1145,1356,169,3853,177,168,171,
- 172,173,174,175,50,229,1893,861,2195,2724,
- 1983,542,157,1414,2867,3580,1724,1508,157,2725,
- 2990,181,2988,870,383,88,323,3222,1852,204,
- 216,4721,203,213,214,215,217,697,344,170,
- 2175,538,2788,2003,3864,2792,870,2990,3580,169,
- 1356,178,168,171,172,173,174,175,1759,229,
- 1978,873,525,2512,2175,2518,157,1417,333,2793,
- 70,2844,1356,3652,2990,181,2988,870,943,36,
- 1422,389,102,204,216,4721,203,213,214,215,
- 217,784,344,170,1345,538,2273,2175,1145,2848,
- 2999,333,175,169,3856,188,168,171,172,173,
- 174,175,50,229,2843,861,2269,3147,294,2479,
- 157,1414,48,161,2786,2876,1356,1579,95,181,
- 2988,870,1371,2999,361,2457,2165,204,216,4721,
- 203,213,214,215,217,45,2365,170,2841,2511,
- 2580,940,36,1422,389,1356,3362,169,2853,3576,
- 168,171,172,173,174,175,2066,36,915,33,
- 3572,3340,28,31,32,917,930,340,29,2165,
- 595,36,1422,389,2588,50,70,452,2849,2850,
- 3554,2351,1710,2658,1414,2263,70,538,3208,871,
- 3636,70,1983,538,2853,3199,2327,3580,3222,2404,
- 595,36,1422,389,50,4029,595,36,294,5445,
- 2997,229,157,1414,735,320,2500,322,157,315,
- 2233,181,2988,5445,5445,331,336,181,2988,870,
- 5445,3208,314,5445,50,204,216,4721,203,213,
- 214,215,217,1414,1403,170,2175,1345,958,196,
- 333,1145,538,5445,5445,169,2588,193,168,171,
- 172,173,174,175,595,36,294,5445,3738,336,
- 229,1893,595,36,1422,389,161,157,5445,307,
- 311,682,4551,5445,394,428,181,2988,870,1893,
- 940,36,1422,389,204,216,4721,203,213,214,
- 215,217,4355,1045,170,70,50,538,70,3549,
- 3835,870,3863,3280,169,47,187,168,171,172,
- 173,174,175,5445,50,229,70,377,5445,870,
- 3855,2475,157,1414,48,1145,70,5445,5445,5445,
- 1938,181,2988,870,3226,377,5445,2324,5445,204,
- 216,4721,203,213,214,215,217,70,70,170,
- 157,741,1493,5445,4823,197,393,428,3928,169,
- 163,195,168,171,172,173,174,175,3172,36,
- 915,33,5445,3012,28,31,32,917,930,27,
- 29,823,26,24,51,944,107,77,78,109,
- 5445,1001,1594,3172,36,915,33,5445,3012,28,
- 31,32,917,930,27,29,823,26,24,51,
- 944,107,77,78,109,5445,1612,3172,36,915,
- 33,375,3012,28,31,32,917,930,27,29,
- 823,26,24,51,944,107,77,78,109,3887,
- 1630,3172,36,915,33,2590,3012,28,31,32,
- 917,930,27,29,823,26,24,51,944,107,
- 77,78,109,1584,1637,2474,70,2990,1398,2990,
- 3980,70,70,1848,2178,3970,2990,2990,5445,3580,
- 5445,5445,2682,303,70,229,2990,2518,2990,1345,
- 5445,5445,70,1145,344,229,3872,70,70,4371,
- 530,967,1536,1356,2518,5445,344,5445,2590,206,
- 216,4721,205,213,214,215,217,861,161,206,
- 216,4721,205,213,214,215,217,510,2175,861,
- 70,5445,3864,5445,3327,379,5445,2590,2590,508,
- 207,209,211,295,296,2610,202,218,208,210,
- 207,209,211,295,296,2610,506,218,208,210,
- 2015,36,2961,33,3572,3340,28,31,32,917,
- 930,340,29,506,1345,200,299,3019,1145,4358,
- 1936,70,5445,5445,2990,1843,3302,3031,5445,4358,
- 2165,940,36,1422,389,70,70,503,505,963,
- 2990,5445,229,161,5445,1356,940,36,1422,389,
- 595,36,1422,389,503,505,97,5445,344,320,
- 2500,322,5445,315,2233,50,206,216,4721,205,
- 213,214,215,217,1414,48,1144,3407,3206,70,
- 50,861,2473,3536,50,5445,2975,5445,2869,1414,
- 48,535,3208,1414,1183,3466,5445,207,209,211,
- 295,296,2610,2962,218,208,210,3172,1440,915,
- 1447,3420,3012,28,31,32,917,930,27,29,
- 823,26,24,51,944,107,77,78,85,3888,
- 336,1356,1356,5445,3204,5445,4358,3172,36,915,
- 33,5445,3012,28,31,32,917,930,27,29,
- 823,26,24,51,944,107,77,78,84,5445,
- 5445,5445,1356,3461,3569,419,420,2955,3172,36,
- 915,33,5445,3012,28,31,32,917,930,27,
- 29,823,26,24,51,944,107,77,78,83,
- 3172,36,915,33,3041,3012,28,31,32,917,
- 930,27,29,823,26,24,51,944,107,77,
- 78,82,3172,36,915,33,5445,3012,28,31,
- 32,917,930,27,29,823,26,24,51,944,
- 107,77,78,81,3172,36,915,33,5445,3012,
- 28,31,32,917,930,27,29,823,26,24,
- 51,944,107,77,78,80,3172,36,915,33,
- 5445,3012,28,31,32,917,930,27,29,823,
- 26,24,51,944,107,77,78,79,2998,36,
- 915,33,5445,3012,28,31,32,917,930,27,
- 29,823,26,24,51,944,107,77,78,105,
- 3172,36,915,33,5445,3012,28,31,32,917,
- 930,27,29,823,26,24,51,944,107,77,
- 78,111,3172,36,915,33,5445,3012,28,31,
- 32,917,930,27,29,823,26,24,51,944,
- 107,77,78,110,3172,36,915,33,5445,3012,
- 28,31,32,917,930,27,29,823,26,24,
- 51,944,107,77,78,108,3172,36,915,33,
- 5445,3012,28,31,32,917,930,27,29,823,
- 26,24,51,944,107,77,78,106,2024,2658,
- 70,1356,2990,1145,1145,2590,5445,5445,1672,1356,
- 5445,5445,2990,70,5445,2590,5445,1145,1760,5445,
- 229,5445,2990,5445,2590,5445,5445,5445,157,157,
- 229,1356,5445,3376,5445,5445,5445,201,3927,2881,
- 229,4364,157,3711,206,216,4721,205,213,214,
- 215,217,2905,223,206,216,4721,205,213,214,
- 215,217,194,3683,206,216,4721,205,213,214,
- 215,217,5445,5445,5445,207,209,211,295,296,
- 2610,5445,521,208,210,207,209,211,295,296,
- 2610,5445,520,208,210,207,209,211,295,296,
- 2610,2112,219,208,210,2990,5445,5445,5445,5445,
- 2751,2200,5445,5445,2990,2990,5445,70,5445,5445,
- 5445,1145,5445,229,5445,5445,5445,5445,5445,5445,
- 5445,5445,344,229,5445,5445,5445,5445,5445,5445,
- 5445,5445,5445,5445,5445,5445,157,206,216,4721,
- 205,213,214,215,217,4032,2928,206,216,4721,
- 205,213,214,215,217,1243,36,915,33,3572,
- 3340,28,31,32,917,930,340,29,207,209,
- 211,295,296,2610,5445,306,208,210,207,209,
- 211,295,296,2610,5445,500,208,210,1714,36,
- 915,33,5445,3521,28,31,32,917,930,340,
- 29,1714,36,915,33,5445,3521,28,31,32,
- 917,930,340,29,320,2500,322,5445,315,2233,
- 3334,36,1422,389,70,742,5445,5445,1145,5445,
- 5445,3364,5445,239,5445,5445,5445,5445,5445,5445,
- 5445,5445,2175,5445,5445,5445,334,320,2500,322,
- 5445,318,2233,157,274,2175,5445,5445,5445,334,
- 320,2500,322,3033,316,2233,1243,36,915,33,
- 3572,3340,28,31,32,917,930,340,29,5445,
- 5445,5445,233,70,5445,70,5445,538,1194,1145,
- 5445,1345,2990,4893,70,1145,5445,4341,1145,5445,
- 5445,5445,5445,5445,5445,344,5445,237,231,232,
- 229,5445,157,5445,157,5445,5445,5445,275,5445,
- 161,5445,189,157,2137,320,2500,322,4616,315,
- 2233,5445,5445,4349,779,408,4701,244,247,250,
- 253,1177,3559,5445,5445,5445,5445,5445,5445,5445,
- 1450,1512,36,915,33,2634,3340,28,31,32,
- 917,930,340,29,5445,409,410,411,295,296,
- 2610,1802,36,915,33,2392,3340,28,31,32,
- 917,930,340,29,5445,5445,3995,1300,3525,404,
- 2592,2990,4893,1491,36,1422,389,5445,5445,5445,
- 5445,5445,5445,5445,940,36,1422,389,5445,229,
- 317,2877,322,5445,5445,940,36,1422,389,1666,
- 36,1422,389,5445,5445,5445,5445,50,5445,5445,
- 317,2877,322,779,408,4701,1414,48,50,5445,
- 595,36,1422,389,5445,5445,5445,1414,48,50,
- 3586,412,414,50,5445,5445,5445,5445,1414,48,
- 5445,3020,1414,48,409,410,411,295,296,2610,
- 5445,5445,3027,2727,50,1100,3644,538,4737,5445,
- 5445,70,70,1414,660,538,538,5445,5445,2592,
- 5445,5445,5445,70,5445,344,5445,538,5445,5445,
- 5445,5445,157,344,344,5445,5445,5445,5445,3433,
- 157,157,189,5445,5445,344,5445,5445,4616,5445,
- 1501,1716,157,5445,5445,5445,861,861,5445,3433,
- 2006,5445,1501,5445,2990,5445,953,1673,861,595,
- 36,1422,389,595,36,1422,389,5445,2062,70,
- 412,415,344,538,5445,5445,5445,5445,5445,5445,
- 5445,5445,531,5445,5445,5445,5445,5445,70,5445,
- 5445,344,538,50,5445,861,191,50,157,5445,
- 5445,5445,1414,1255,5445,534,1414,2704,189,5445,
- 344,5445,5445,5445,4616,5445,5445,157,5445,5445,
- 5445,5445,5445,5445,5445,5445,5445,189,5445,5445,
- 5445,5445,5445,4616,5445,5445,5445,5445,5445,5445,
- 5445,5445,5445,5445,5445,5445,5445,5445,5445,5445,
- 5445,5445,5445,5445,5445,5445,5445,5445,5445,5445,
- 5445,5445,5445,5445,5445,5445,5445,5445,5445,5445,
- 5445,5445,4081,4345,5445,5445,5445,5445,5445,5445,
- 5445,5445,5445,5445,5445,5445,5445,5445,5445,5445,
- 5445,4082,5445,5445,5445,5445,5445,5445,5445,5445,
- 5445,5445,5445,5445,5445,5445,5445,5445,5445,5445,
- 5445,5445,5445,5445,5445,5445,5445,5445,5445,5445,
- 5445,5445,5445,5445,5445,5445,5445,5445,5445,5445,
- 5445,5445,5445,5445,5445,5445,5445,5445,5445,5445,
- 5445,5445,5445,5445,5445,5445,5445,5445,3858,5445,
- 0,40,5460,0,40,5459,0,663,30,0,
- 441,1408,0,455,1452,0,39,628,0,39,
- 5460,0,39,5459,0,2747,127,0,1,445,
- 0,459,1751,0,458,1837,0,2544,92,0,
- 663,388,0,36,34,0,33,35,0,40,
- 628,0,1,997,0,1,5718,0,1,5717,
- 0,1,5716,0,1,5715,0,1,5714,0,
- 1,5713,0,1,5712,0,1,5711,0,1,
- 5710,0,1,5709,0,1,5708,0,40,1,
- 5460,0,40,1,5459,0,2141,1,0,284,
- 395,0,284,287,0,5680,242,0,5679,242,
- 0,5784,242,0,5783,242,0,5707,242,0,
- 5706,242,0,5705,242,0,5704,242,0,5703,
- 242,0,5702,242,0,5701,242,0,5700,242,
- 0,5718,242,0,5717,242,0,5716,242,0,
- 5715,242,0,5714,242,0,5713,242,0,5712,
- 242,0,5711,242,0,5710,242,0,5709,242,
- 0,5708,242,0,40,5460,242,0,40,5459,
- 242,0,5484,242,0,5460,49,0,5459,49,
- 0,5451,1,0,5450,1,0,3331,238,0,
- 33,389,0,30,388,0,44,5482,0,44,
- 38,0,2747,129,0,2747,128,0,332,446,
- 0,5484,1,0,40,1,0,48,38,0,
- 1,93,0,502,2599,0,5484,1,230,0,
- 40,1,230,0,230,417,0,5460,38,0,
- 5459,38,0,5460,2,38,0,5459,2,38,
- 0,5460,37,0,5459,37,0,5482,46,0,
- 38,46,0,5455,406,0,5454,406,0,1,
- 4505,0,1,2879,0,1,628,0,230,416,
- 0,3571,319,0,332,96,0,36,74,0,
- 1,332,0,3627,279,0,502,4348,0,1,
- 230,0,230,221,0,230,220,0,1,576,
- 0,1,1886,0,5457,1,0,5453,1,0,
- 1,230,3389,0,5454,230,0,3395,230,0,
- 5457,384,0,5456,384,0,3472,230,0,10,
- 12,0,8,10,12,0,186,3628,0,3579,
- 384,0,8,12,0
+ 196,196,196,196,196,196,196,196,196,77,
+ 82,82,173,173,132,132,133,133,133,133,
+ 133,133,3,134,134,131,131,112,112,85,
+ 78,74,161,161,113,113,197,197,197,135,
+ 135,126,126,198,198,174,174,1119,35,1568,
+ 1550,1278,2539,27,30,31,916,929,26,28,
+ 1543,25,23,50,943,106,76,77,108,1964,
+ 1000,1082,1043,1178,1129,1229,236,1209,1307,1982,
+ 1272,273,1368,1377,143,1243,35,396,158,144,
+ 1217,35,914,32,71,2551,27,30,31,916,
+ 929,57,28,588,3897,3121,35,914,32,232,
+ 3011,27,30,31,916,929,26,28,822,25,
+ 23,50,943,106,76,77,108,1267,1000,1082,
+ 1043,1178,1129,1757,235,230,231,588,1439,1525,
+ 34,3121,35,914,32,274,3011,27,30,31,
+ 916,929,26,28,822,25,23,50,943,106,
+ 76,77,85,2023,242,245,248,251,1176,2079,
+ 35,277,56,2168,1643,2881,690,1449,1860,35,
+ 914,32,523,2551,27,30,31,916,929,56,
+ 28,2244,569,3324,2447,2513,2623,2846,3164,4569,
+ 2316,35,914,32,2989,3011,27,30,31,916,
+ 929,26,28,822,25,23,50,943,106,76,
+ 77,108,343,1000,1082,1043,1178,1129,1229,61,
+ 1209,1307,1623,1272,3100,1368,1377,143,327,35,
+ 279,517,144,3999,1279,860,588,35,1525,2432,
+ 1721,929,35,1421,388,518,2316,35,914,32,
+ 2989,3011,27,30,31,916,929,26,28,822,
+ 25,23,50,943,106,76,77,108,343,1000,
+ 1082,1043,1178,1129,1229,49,1209,1307,2049,1272,
+ 2493,1368,1377,143,1413,2181,287,517,144,588,
+ 2881,860,327,35,279,920,1599,4789,3213,736,
+ 1034,518,513,2344,35,914,32,60,4888,27,
+ 30,31,916,929,26,28,404,511,2145,2940,
+ 1773,1975,1016,1614,2000,3579,2316,35,914,32,
+ 2989,3011,27,30,31,916,929,26,28,822,
+ 25,23,50,943,106,76,77,108,343,1000,
+ 1082,1043,1178,1129,1229,497,1209,1307,513,1272,
+ 2147,1368,1377,143,3267,312,356,517,144,838,
+ 920,860,1868,2845,2174,531,3355,2131,333,1017,
+ 2000,518,2524,35,914,32,2989,3011,27,30,
+ 31,916,929,26,28,822,25,23,50,943,
+ 106,76,77,108,343,1000,1082,1043,1178,1129,
+ 1229,288,1209,1307,2681,1272,2682,1368,1377,143,
+ 588,35,2440,517,144,2122,1010,860,142,2683,
+ 3669,588,35,2461,2317,352,182,518,513,1715,
+ 35,914,32,2245,4888,27,30,31,916,929,
+ 59,28,1614,344,2059,1930,349,2222,588,3493,
+ 2000,342,2659,35,914,32,1088,3011,27,30,
+ 31,916,929,26,28,822,25,23,50,943,
+ 106,76,77,108,4293,1000,1082,1043,1178,1129,
+ 1229,443,1209,1307,514,1272,69,1368,1377,143,
+ 413,3549,3919,379,144,2385,35,914,32,498,
+ 3011,27,30,31,916,929,26,28,822,25,
+ 23,50,943,106,76,77,108,1666,1000,1082,
+ 1043,1178,1129,1229,1607,1209,1307,2859,1272,3579,
+ 1368,1377,143,1445,2154,3919,379,144,4440,93,
+ 3121,35,914,32,3385,3011,27,30,31,916,
+ 929,26,28,822,25,23,50,943,106,76,
+ 77,108,1621,1000,1082,1043,1178,1129,1229,522,
+ 1209,1307,64,1272,3860,1368,2300,164,2174,2122,
+ 385,3031,332,429,3669,2591,35,914,32,322,
+ 3011,27,30,31,916,929,26,28,822,25,
+ 23,50,943,106,76,77,108,3104,1000,1082,
+ 1043,1178,1129,1229,820,1209,1307,559,1272,2284,
+ 1368,1377,143,386,3031,3919,379,144,588,35,
+ 1525,276,2932,2750,2887,35,914,32,3429,3011,
+ 27,30,31,916,929,26,28,822,25,23,
+ 50,943,106,76,77,108,389,1000,1082,1043,
+ 1178,1129,1229,2580,1209,1307,1229,1272,587,1368,
+ 1377,143,1947,35,277,158,144,3121,35,914,
+ 32,1666,3011,27,30,31,916,929,26,28,
+ 822,25,23,50,943,106,76,77,108,494,
+ 1000,1082,1043,1178,1129,1229,69,1209,1307,1988,
+ 1272,2886,1869,377,3031,2887,35,914,32,1355,
+ 3011,27,30,31,916,929,26,28,822,25,
+ 23,50,943,106,76,77,108,2698,1000,1082,
+ 1043,1178,1129,1229,2121,1209,1307,430,1272,2433,
+ 1368,1377,143,2449,35,280,373,144,1715,35,
+ 914,32,400,4888,27,30,31,916,929,58,
+ 28,1543,35,1525,276,2887,35,914,32,569,
+ 3011,27,30,31,916,929,26,28,822,25,
+ 23,50,943,106,76,77,108,1226,1000,1082,
+ 1043,1178,1129,1229,88,1209,1307,102,1272,2228,
+ 1368,1377,143,588,35,282,373,144,3111,1216,
+ 2887,35,914,32,421,3011,27,30,31,916,
+ 929,26,28,822,25,23,50,943,106,76,
+ 77,108,372,1000,1082,1043,1178,1129,1229,1173,
+ 1209,1307,2689,1272,2814,1368,1377,143,1146,390,
+ 427,373,144,2457,35,914,32,1617,3011,27,
+ 30,31,916,929,26,28,822,25,23,50,
+ 943,106,76,77,108,1625,1000,1082,1043,1178,
+ 1129,1229,135,1209,1307,1627,1272,56,1368,1377,
+ 143,746,371,1174,142,144,2728,2887,35,914,
+ 32,2690,3011,27,30,31,916,929,26,28,
+ 822,25,23,50,943,106,76,77,108,1323,
+ 1000,1082,1043,1178,1129,1229,1441,1209,1307,1330,
+ 1272,56,1368,1377,143,826,2589,369,159,144,
+ 2887,35,914,32,160,3011,27,30,31,916,
+ 929,26,28,822,25,23,50,943,106,76,
+ 77,108,676,1000,1082,1043,1178,1129,1229,1494,
+ 1209,1307,1721,1272,56,1368,1377,143,4637,848,
+ 1614,155,144,2887,35,914,32,1167,3011,27,
+ 30,31,916,929,26,28,822,25,23,50,
+ 943,106,76,77,108,2691,1000,1082,1043,1178,
+ 1129,1229,24,1209,1307,1721,1272,69,1368,1377,
+ 143,2050,3231,1503,154,144,2887,35,914,32,
+ 3321,3011,27,30,31,916,929,26,28,822,
+ 25,23,50,943,106,76,77,108,1453,1000,
+ 1082,1043,1178,1129,1229,3650,1209,1307,159,1272,
+ 56,1368,1377,143,2599,447,408,153,144,2887,
+ 35,914,32,580,3011,27,30,31,916,929,
+ 26,28,822,25,23,50,943,106,76,77,
+ 108,1015,1000,1082,1043,1178,1129,1229,355,1209,
+ 1307,159,1272,69,1368,1377,143,531,3447,1700,
+ 152,144,2887,35,914,32,1787,3011,27,30,
+ 31,916,929,26,28,822,25,23,50,943,
+ 106,76,77,108,1223,1000,1082,1043,1178,1129,
+ 1229,323,1209,1307,1385,1272,2627,1368,1377,143,
+ 531,3995,1614,151,144,2887,35,914,32,1559,
+ 3011,27,30,31,916,929,26,28,822,25,
+ 23,50,943,106,76,77,108,1623,1000,1082,
+ 1043,1178,1129,1229,69,1209,1307,1875,1272,56,
+ 1368,1377,143,1219,1965,1614,150,144,2887,35,
+ 914,32,2022,3011,27,30,31,916,929,26,
+ 28,822,25,23,50,943,106,76,77,108,
+ 381,1000,1082,1043,1178,1129,1229,68,1209,1307,
+ 1010,1272,56,1368,1377,143,2408,1709,1614,149,
+ 144,2887,35,914,32,2491,3011,27,30,31,
+ 916,929,26,28,822,25,23,50,943,106,
+ 76,77,108,380,1000,1082,1043,1178,1129,1229,
+ 53,1209,1307,2558,1272,56,1368,1377,143,664,
+ 1604,1701,148,144,2887,35,914,32,1703,3011,
+ 27,30,31,916,929,26,28,822,25,23,
+ 50,943,106,76,77,108,314,1000,1082,1043,
+ 1178,1129,1229,460,1209,1307,1010,1272,402,1368,
+ 1377,143,1088,2552,486,147,144,2887,35,914,
+ 32,1374,3011,27,30,31,916,929,26,28,
+ 822,25,23,50,943,106,76,77,108,1515,
+ 1000,1082,1043,1178,1129,1229,2580,1209,1307,1010,
+ 1272,406,1368,1377,143,1243,35,396,146,144,
+ 2887,35,914,32,666,3011,27,30,31,916,
+ 929,26,28,822,25,23,50,943,106,76,
+ 77,108,1883,1000,1082,1043,1178,1129,1229,459,
+ 1209,1307,2125,1272,69,1368,1377,143,438,4742,
+ 1873,145,144,2832,35,914,32,2728,3011,27,
+ 30,31,916,929,26,28,822,25,23,50,
+ 943,106,76,77,108,522,1000,1082,1043,1178,
+ 1129,1229,4315,1209,1307,2276,1272,2413,1368,2300,
+ 164,2887,35,914,32,2306,3011,27,30,31,
+ 916,929,26,28,822,25,23,50,943,106,
+ 76,77,108,3343,1000,1082,1043,1178,1129,1229,
+ 2139,1209,1307,2741,1272,353,1368,1377,143,70,
+ 2129,2144,140,144,56,1010,327,89,1144,2433,
+ 102,3005,35,914,32,2068,3011,27,30,31,
+ 916,929,26,28,822,25,23,50,943,106,
+ 76,77,108,156,1000,1082,1043,1178,1129,1229,
+ 1795,1209,1307,2015,1272,69,1368,1377,143,1699,
+ 4753,1614,189,144,3121,35,914,32,1010,3011,
+ 27,30,31,916,929,26,28,822,25,23,
+ 50,943,106,76,77,108,241,1000,1082,1043,
+ 1178,1129,1229,87,1209,1307,3668,1272,51,1368,
+ 2300,164,3121,35,914,32,447,3011,27,30,
+ 31,916,929,26,28,822,25,23,50,943,
+ 106,76,77,108,2551,1000,1082,1043,1178,1129,
+ 1229,2347,1209,1307,354,1272,1010,1368,2300,164,
+ 1500,35,914,32,1330,322,41,30,31,916,
+ 929,326,3121,35,914,32,423,3011,27,30,
+ 31,916,929,26,28,822,25,23,50,943,
+ 106,76,77,108,1096,1000,1082,1043,1178,1129,
+ 1229,2149,1209,1307,3086,1272,2552,1368,2300,164,
+ 3121,35,914,32,292,3011,27,30,31,916,
+ 929,26,28,822,25,23,50,943,106,76,
+ 77,108,284,1000,1082,1043,1178,1129,1229,97,
+ 1209,1307,2453,1272,299,1368,2300,164,2407,35,
+ 914,32,2556,2906,40,30,31,916,929,1537,
+ 3176,35,914,32,422,3011,27,30,31,916,
+ 929,26,28,822,25,23,50,943,106,76,
+ 77,108,2371,1000,1082,1043,1178,1129,1229,2010,
+ 1209,1307,2552,1272,666,1368,2300,164,3121,35,
+ 914,32,425,3011,27,30,31,916,929,26,
+ 28,822,25,23,50,943,106,76,77,108,
+ 49,1000,1082,1043,1178,1129,1229,324,1209,1307,
+ 221,1844,2407,35,914,32,2589,142,1843,30,
+ 31,916,929,588,35,1421,388,2228,3121,35,
+ 914,32,3483,3011,27,30,31,916,929,26,
+ 28,822,25,23,50,943,106,76,77,108,
+ 1614,1000,1082,1043,1178,1129,1229,431,1209,1801,
+ 3121,35,914,32,1817,3011,27,30,31,916,
+ 929,26,28,822,25,23,50,943,106,76,
+ 77,108,52,1000,1082,1043,1178,1129,1229,71,
+ 1808,1518,35,914,32,3571,3520,27,30,31,
+ 916,929,339,28,3121,35,914,32,737,3011,
+ 27,30,31,916,929,26,28,822,25,23,
+ 50,943,106,76,77,108,3555,1000,1082,1043,
+ 1178,1765,2418,69,327,35,453,2417,4764,3980,
+ 2515,2851,1243,35,396,2174,1818,3347,69,332,
+ 319,2499,321,4768,314,2232,2407,35,914,32,
+ 239,2699,2186,30,31,916,929,313,2218,351,
+ 3207,757,35,1421,388,1643,2881,3121,35,914,
+ 32,4537,3011,27,30,31,916,929,26,28,
+ 822,25,23,50,943,106,76,77,108,2380,
+ 1000,1082,1043,1178,1793,273,1334,328,335,232,
+ 1250,2228,352,1225,306,310,681,1400,35,914,
+ 32,3379,3339,27,30,31,916,929,339,28,
+ 344,2059,1930,349,240,230,231,2272,2555,2212,
+ 35,1421,388,56,843,35,453,1144,3279,3980,
+ 3573,932,35,1421,388,1614,1888,35,914,32,
+ 3412,3339,27,30,31,916,929,339,28,2584,
+ 3565,2228,2590,49,325,232,319,2499,321,2305,
+ 314,2232,1413,2446,2553,49,72,350,351,1790,
+ 1614,2271,352,2675,1413,2506,3213,287,2693,2234,
+ 244,230,231,2989,446,3227,3268,2433,2471,2465,
+ 344,2059,1930,349,1714,319,2499,321,2614,314,
+ 2232,2517,90,1240,588,2708,1525,74,322,2628,
+ 2940,352,3363,1898,35,2960,32,3571,3520,27,
+ 30,31,916,929,339,28,2129,35,293,344,
+ 2059,1930,349,3121,35,914,32,2555,3011,27,
+ 30,31,916,929,26,28,822,25,23,50,
+ 943,106,76,77,108,1906,1000,1082,1043,1654,
+ 1543,35,1525,2777,56,232,3361,2174,1144,2587,
+ 360,332,319,2499,321,285,314,2232,588,35,
+ 1525,278,366,2121,3172,2510,2579,1988,2707,1143,
+ 247,230,231,3892,450,3227,3268,391,427,3121,
+ 35,914,32,4537,3011,27,30,31,916,929,
+ 26,28,822,25,23,50,943,106,76,77,
+ 108,2615,1000,1082,1043,1664,3121,35,914,32,
+ 2996,3011,27,30,31,916,929,26,28,822,
+ 25,23,50,943,106,76,77,108,2312,1000,
+ 1082,1043,1679,3121,35,914,32,2614,3011,27,
+ 30,31,916,929,26,28,822,25,23,50,
+ 943,106,76,77,108,2621,1000,1586,417,419,
+ 2954,1691,35,914,32,3571,3339,27,30,31,
+ 916,929,339,28,1243,35,2468,2124,3121,35,
+ 914,32,1800,3011,27,30,31,916,929,26,
+ 28,822,25,23,50,943,106,76,77,108,
+ 1614,1000,1082,1043,1707,259,1606,1876,49,537,
+ 2689,1375,2552,2716,523,2989,3579,1413,931,56,
+ 319,2499,321,1259,314,2232,2484,228,588,35,
+ 1421,388,3197,2517,156,1614,2620,313,2715,1351,
+ 1614,2654,2989,180,2987,869,932,35,1421,388,
+ 303,203,215,4720,202,212,213,214,216,1,
+ 343,169,452,537,1614,2174,56,3250,232,332,
+ 2607,168,67,183,167,170,171,172,173,174,
+ 49,228,928,796,307,310,681,1614,156,1413,
+ 47,2228,1010,250,230,231,66,180,2987,869,
+ 2727,2988,360,1263,3651,203,215,4720,202,212,
+ 213,214,216,2622,2729,169,2840,2510,2579,65,
+ 2492,588,35,1421,388,168,181,184,167,170,
+ 171,172,173,174,2070,35,914,32,3379,3339,
+ 27,30,31,916,929,339,28,2552,1983,3231,
+ 35,1421,388,3579,741,434,1330,2272,1363,35,
+ 914,32,237,3520,27,30,31,916,929,339,
+ 28,1976,35,1421,388,98,42,2364,322,588,
+ 35,1421,388,273,2899,179,588,35,1421,388,
+ 322,1330,1614,319,2499,321,3687,314,2232,1330,
+ 1330,2731,2174,56,56,49,333,2989,2989,352,
+ 526,232,2174,433,1413,1254,333,319,2499,321,
+ 432,315,2232,352,64,343,343,344,2059,1930,
+ 349,3984,442,352,456,527,235,230,231,869,
+ 869,346,2059,1930,349,297,56,274,860,860,
+ 2475,346,2059,1930,349,3970,525,296,1464,1482,
+ 588,35,1525,2953,2735,2448,242,245,248,251,
+ 1176,588,35,1525,281,3066,35,914,32,1449,
+ 3011,27,30,31,916,929,26,28,822,25,
+ 23,50,943,86,76,77,2447,2513,2623,2846,
+ 3164,4569,3121,35,914,32,2786,3011,27,30,
+ 31,916,929,26,28,822,25,23,50,943,
+ 106,76,77,108,1780,1000,1082,1714,3121,35,
+ 914,32,1614,3011,27,30,31,916,929,26,
+ 28,822,25,23,50,943,106,76,77,108,
+ 345,1000,1082,1722,537,2624,2646,56,2234,2989,
+ 2989,3209,2989,322,3684,2068,2249,737,2732,737,
+ 1144,2552,228,588,35,1421,388,2517,2517,156,
+ 2517,588,35,1421,388,1614,232,2747,180,2987,
+ 869,929,35,1421,388,156,203,215,4720,202,
+ 212,213,214,216,431,535,169,273,537,198,
+ 56,253,230,231,2707,273,168,55,3488,167,
+ 170,171,172,173,174,49,228,1607,2739,3207,
+ 304,3207,3579,156,1413,47,56,56,2755,2751,
+ 3505,2989,180,2987,869,2552,361,505,1323,360,
+ 203,215,4720,202,212,213,214,216,517,343,
+ 169,1614,537,3441,2510,2579,334,335,3736,335,
+ 168,275,178,167,170,171,172,173,174,340,
+ 228,2174,860,197,2790,332,322,156,503,504,
+ 1354,56,1499,54,1144,2989,180,2987,869,929,
+ 35,1421,388,2791,203,215,4720,202,212,213,
+ 214,216,603,343,169,1607,537,2988,56,160,
+ 3579,56,1144,1614,168,3852,176,167,170,171,
+ 172,173,174,49,228,1330,860,2440,2782,1607,
+ 541,156,1413,2866,3579,1785,1507,156,2789,2989,
+ 180,2987,869,382,87,322,3221,1851,203,215,
+ 4720,202,212,213,214,216,689,343,169,2174,
+ 537,2757,1375,3863,2761,869,2989,3579,168,1614,
+ 177,167,170,171,172,173,174,1758,228,1778,
+ 872,524,1390,2174,2517,156,1416,332,2763,56,
+ 2765,1614,3651,2989,180,2987,869,932,35,1421,
+ 388,101,203,215,4720,202,212,213,214,216,
+ 775,343,169,1354,537,2444,2174,1144,2769,2998,
+ 332,173,168,3855,187,167,170,171,172,173,
+ 174,49,228,2792,860,2129,3146,293,2788,156,
+ 1413,47,160,2793,2875,1614,1578,94,180,2987,
+ 869,1761,2998,360,2456,737,203,215,4720,202,
+ 212,213,214,216,44,2364,169,2840,2510,2579,
+ 929,35,1421,388,1614,3361,168,2852,3575,167,
+ 170,171,172,173,174,1952,35,914,32,3571,
+ 3339,27,30,31,916,929,339,28,737,588,
+ 35,1421,388,2433,49,56,451,2773,2798,3553,
+ 2350,1709,2717,1413,2262,56,537,3207,861,3635,
+ 56,1607,537,2799,3198,2110,3579,3221,1337,588,
+ 35,1421,388,49,4028,588,35,293,5444,2996,
+ 228,156,1413,734,319,2499,321,156,314,2232,
+ 180,2987,5444,5444,330,335,180,2987,869,5444,
+ 3207,313,5444,49,203,215,4720,202,212,213,
+ 214,216,1413,1402,169,2174,1354,947,195,332,
+ 1144,537,5444,5444,168,2433,192,167,170,171,
+ 172,173,174,588,35,293,5444,3737,335,228,
+ 1330,588,35,1421,388,160,156,5444,306,310,
+ 681,4550,5444,393,427,180,2987,869,1330,929,
+ 35,1421,388,203,215,4720,202,212,213,214,
+ 216,4354,1033,169,56,49,537,56,3548,3834,
+ 869,3862,3279,168,46,186,167,170,171,172,
+ 173,174,5444,49,228,56,376,5444,869,3854,
+ 2481,156,1413,47,1144,56,5444,5444,5444,1937,
+ 180,2987,869,3225,376,5444,2323,5444,203,215,
+ 4720,202,212,213,214,216,56,56,169,156,
+ 740,1492,5444,4822,196,392,427,3927,168,162,
+ 194,167,170,171,172,173,174,3121,35,914,
+ 32,5444,3011,27,30,31,916,929,26,28,
+ 822,25,23,50,943,106,76,77,108,5444,
+ 1000,1593,3121,35,914,32,5444,3011,27,30,
+ 31,916,929,26,28,822,25,23,50,943,
+ 106,76,77,108,5444,1611,3121,35,914,32,
+ 374,3011,27,30,31,916,929,26,28,822,
+ 25,23,50,943,106,76,77,108,3886,1629,
+ 3121,35,914,32,2552,3011,27,30,31,916,
+ 929,26,28,822,25,23,50,943,106,76,
+ 77,108,1562,1636,2646,56,2989,2446,2989,3979,
+ 56,56,1823,2034,3969,2989,2989,5444,3579,5444,
+ 5444,2647,302,56,228,2989,2517,2989,1354,5444,
+ 5444,56,1144,343,228,3871,56,56,4370,529,
+ 966,1535,1614,2517,5444,343,5444,2552,205,215,
+ 4720,204,212,213,214,216,860,160,205,215,
+ 4720,204,212,213,214,216,509,2174,860,56,
+ 5444,3863,5444,3326,378,5444,2552,2552,507,206,
+ 208,210,294,295,2609,201,217,207,209,206,
+ 208,210,294,295,2609,505,217,207,209,2062,
+ 35,2960,32,3571,3339,27,30,31,916,929,
+ 339,28,505,1354,199,298,3018,1144,4357,1910,
+ 56,5444,5444,2989,1842,3301,3030,5444,4357,737,
+ 929,35,1421,388,56,56,502,504,962,2989,
+ 5444,228,160,5444,1614,929,35,1421,388,588,
+ 35,1421,388,502,504,96,5444,343,319,2499,
+ 321,5444,314,2232,49,205,215,4720,204,212,
+ 213,214,216,1413,47,1143,3406,3205,56,49,
+ 860,2447,3535,49,5444,2974,5444,2868,1413,47,
+ 534,3207,1413,1182,3465,5444,206,208,210,294,
+ 295,2609,2961,217,207,209,3121,1439,914,1446,
+ 3419,3011,27,30,31,916,929,26,28,822,
+ 25,23,50,943,106,76,77,84,3887,335,
+ 1614,1614,5444,3203,5444,4357,3121,35,914,32,
+ 5444,3011,27,30,31,916,929,26,28,822,
+ 25,23,50,943,106,76,77,83,5444,5444,
+ 5444,1614,3460,3568,418,419,2954,3121,35,914,
+ 32,5444,3011,27,30,31,916,929,26,28,
+ 822,25,23,50,943,106,76,77,82,3121,
+ 35,914,32,3040,3011,27,30,31,916,929,
+ 26,28,822,25,23,50,943,106,76,77,
+ 81,3121,35,914,32,5444,3011,27,30,31,
+ 916,929,26,28,822,25,23,50,943,106,
+ 76,77,80,3121,35,914,32,5444,3011,27,
+ 30,31,916,929,26,28,822,25,23,50,
+ 943,106,76,77,79,3121,35,914,32,5444,
+ 3011,27,30,31,916,929,26,28,822,25,
+ 23,50,943,106,76,77,78,2950,35,914,
+ 32,5444,3011,27,30,31,916,929,26,28,
+ 822,25,23,50,943,106,76,77,104,3121,
+ 35,914,32,5444,3011,27,30,31,916,929,
+ 26,28,822,25,23,50,943,106,76,77,
+ 110,3121,35,914,32,5444,3011,27,30,31,
+ 916,929,26,28,822,25,23,50,943,106,
+ 76,77,109,3121,35,914,32,5444,3011,27,
+ 30,31,916,929,26,28,822,25,23,50,
+ 943,106,76,77,107,3121,35,914,32,5444,
+ 3011,27,30,31,916,929,26,28,822,25,
+ 23,50,943,106,76,77,105,1997,2717,56,
+ 1614,2989,1144,1144,2552,5444,5444,1649,1614,5444,
+ 5444,2989,56,5444,2552,5444,1144,1736,5444,228,
+ 5444,2989,5444,2552,5444,5444,5444,156,156,228,
+ 1614,5444,3375,5444,5444,5444,200,3926,2880,228,
+ 4363,156,3710,205,215,4720,204,212,213,214,
+ 216,2904,222,205,215,4720,204,212,213,214,
+ 216,193,3682,205,215,4720,204,212,213,214,
+ 216,5444,5444,5444,206,208,210,294,295,2609,
+ 5444,520,207,209,206,208,210,294,295,2609,
+ 5444,519,207,209,206,208,210,294,295,2609,
+ 2084,218,207,209,2989,5444,5444,5444,5444,2775,
+ 2171,5444,5444,2989,2989,5444,56,5444,5444,5444,
+ 1144,5444,228,5444,5444,5444,5444,5444,5444,5444,
+ 5444,343,228,5444,5444,5444,5444,5444,5444,5444,
+ 5444,5444,5444,5444,5444,156,205,215,4720,204,
+ 212,213,214,216,4031,2927,205,215,4720,204,
+ 212,213,214,216,1691,35,914,32,3571,3339,
+ 27,30,31,916,929,339,28,206,208,210,
+ 294,295,2609,5444,305,207,209,206,208,210,
+ 294,295,2609,5444,499,207,209,2156,35,914,
+ 32,5444,3520,27,30,31,916,929,339,28,
+ 2156,35,914,32,5444,3520,27,30,31,916,
+ 929,339,28,319,2499,321,5444,314,2232,3280,
+ 35,1421,388,56,741,5444,5444,1144,5444,5444,
+ 3363,5444,238,5444,5444,5444,5444,5444,5444,5444,
+ 5444,2174,5444,5444,5444,333,319,2499,321,5444,
+ 317,2232,156,273,2174,5444,5444,5444,333,319,
+ 2499,321,3032,315,2232,1691,35,914,32,3571,
+ 3339,27,30,31,916,929,339,28,5444,5444,
+ 5444,232,56,5444,56,5444,537,1180,1144,5444,
+ 1354,2989,4892,56,1144,5444,4340,1144,5444,5444,
+ 5444,5444,5444,5444,343,5444,236,230,231,228,
+ 5444,156,5444,156,5444,5444,5444,274,5444,160,
+ 5444,188,156,2136,319,2499,321,4615,314,2232,
+ 5444,5444,4348,778,407,4700,243,246,249,252,
+ 1176,3558,5444,5444,5444,5444,5444,5444,5444,1449,
+ 1490,35,914,32,2633,3339,27,30,31,916,
+ 929,339,28,5444,408,409,410,294,295,2609,
+ 2236,35,914,32,2391,3339,27,30,31,916,
+ 929,339,28,5444,5444,3994,1285,3524,403,2591,
+ 2989,4892,2151,35,1421,388,5444,5444,5444,5444,
+ 5444,5444,5444,929,35,1421,388,5444,228,316,
+ 2876,321,5444,5444,929,35,1421,388,2164,35,
+ 1421,388,5444,5444,5444,5444,49,5444,5444,316,
+ 2876,321,778,407,4700,1413,47,49,5444,588,
+ 35,1421,388,5444,5444,5444,1413,47,49,3585,
+ 411,413,49,5444,5444,5444,5444,1413,47,5444,
+ 3019,1413,47,408,409,410,294,295,2609,5444,
+ 5444,3026,2722,49,1099,3643,537,4736,5444,5444,
+ 56,56,1413,659,537,537,5444,5444,2591,5444,
+ 5444,5444,56,5444,343,5444,537,5444,5444,5444,
+ 5444,156,343,343,5444,5444,5444,5444,3432,156,
+ 156,188,5444,5444,343,5444,5444,4615,5444,1500,
+ 1715,156,5444,5444,5444,860,860,5444,3432,2208,
+ 5444,1500,5444,2989,5444,952,1672,860,588,35,
+ 1421,388,588,35,1421,388,5444,2061,56,411,
+ 414,343,537,5444,5444,5444,5444,5444,5444,5444,
+ 5444,530,5444,5444,5444,5444,5444,56,5444,5444,
+ 343,537,49,5444,860,190,49,156,5444,5444,
+ 5444,1413,1254,5444,533,1413,2703,188,5444,343,
+ 5444,5444,5444,4615,5444,5444,156,5444,5444,5444,
+ 5444,5444,5444,5444,5444,5444,188,5444,5444,5444,
+ 5444,5444,4615,5444,5444,5444,5444,5444,5444,5444,
+ 5444,5444,5444,5444,5444,5444,5444,5444,5444,5444,
+ 5444,5444,5444,5444,5444,5444,5444,5444,5444,5444,
+ 5444,5444,5444,5444,5444,5444,5444,5444,5444,5444,
+ 5444,4080,4344,5444,5444,5444,5444,5444,5444,5444,
+ 5444,5444,5444,5444,5444,5444,5444,5444,5444,5444,
+ 4081,5444,5444,5444,5444,5444,5444,5444,5444,5444,
+ 5444,5444,5444,5444,5444,5444,5444,5444,5444,5444,
+ 5444,5444,5444,5444,5444,5444,5444,5444,5444,5444,
+ 5444,5444,5444,5444,5444,5444,5444,5444,5444,5444,
+ 5444,5444,5444,5444,5444,5444,5444,5444,5444,5444,
+ 5444,5444,5444,5444,5444,5444,5444,3857,5444,0,
+ 39,5459,0,39,5458,0,662,29,0,440,
+ 1407,0,454,1451,0,38,627,0,38,5459,
+ 0,38,5458,0,2746,126,0,1,444,0,
+ 458,1750,0,457,1836,0,2543,91,0,662,
+ 387,0,35,33,0,32,34,0,39,627,
+ 0,1,996,0,1,5716,0,1,5715,0,
+ 1,5714,0,1,5713,0,1,5712,0,1,
+ 5711,0,1,5710,0,1,5709,0,1,5708,
+ 0,1,5707,0,1,5706,0,39,1,5459,
+ 0,39,1,5458,0,2140,1,0,283,394,
+ 0,283,286,0,5678,241,0,5677,241,0,
+ 5782,241,0,5781,241,0,5705,241,0,5704,
+ 241,0,5703,241,0,5702,241,0,5701,241,
+ 0,5700,241,0,5699,241,0,5698,241,0,
+ 5716,241,0,5715,241,0,5714,241,0,5713,
+ 241,0,5712,241,0,5711,241,0,5710,241,
+ 0,5709,241,0,5708,241,0,5707,241,0,
+ 5706,241,0,39,5459,241,0,39,5458,241,
+ 0,5482,241,0,5459,48,0,5458,48,0,
+ 5450,1,0,5449,1,0,3330,237,0,32,
+ 388,0,29,387,0,43,5480,0,43,37,
+ 0,2746,128,0,2746,127,0,331,445,0,
+ 5482,1,0,39,1,0,47,37,0,1,
+ 92,0,501,2598,0,5482,1,229,0,39,
+ 1,229,0,229,416,0,5459,37,0,5458,
+ 37,0,5459,2,37,0,5458,2,37,0,
+ 5459,36,0,5458,36,0,5480,45,0,37,
+ 45,0,5454,405,0,5453,405,0,1,4504,
+ 0,1,2878,0,1,627,0,229,415,0,
+ 3570,318,0,331,95,0,35,73,0,1,
+ 331,0,3626,278,0,501,4347,0,1,229,
+ 0,229,220,0,229,219,0,1,575,0,
+ 1,1885,0,5456,1,0,5452,1,0,1,
+ 229,3388,0,5453,229,0,3394,229,0,5456,
+ 383,0,5455,383,0,3471,229,0,10,12,
+ 0,8,10,12,0,185,3627,0,3578,383,
+ 0,8,12,0
};
};
public final static char baseAction[] = BaseAction.baseAction;
@@ -1113,351 +1113,348 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP
20,21,22,23,24,25,26,27,28,29,
30,31,32,33,34,35,36,37,38,39,
40,41,42,43,44,45,46,47,0,49,
- 50,51,52,53,54,55,0,57,58,59,
- 60,61,62,63,0,65,66,67,68,0,
- 6,0,72,25,26,75,76,77,78,79,
- 80,81,82,83,84,85,86,0,1,2,
- 3,4,5,6,7,8,9,10,11,12,
- 13,14,15,16,17,18,19,20,21,22,
- 23,24,25,26,27,28,29,30,31,32,
- 33,34,35,36,37,38,39,40,41,42,
- 43,44,45,46,47,0,49,50,51,52,
- 53,54,55,0,57,58,59,60,61,62,
- 63,0,65,66,67,68,100,93,94,72,
- 25,26,75,76,77,78,79,80,81,82,
- 83,84,85,86,0,1,2,3,4,5,
+ 50,51,52,53,54,0,56,57,58,59,
+ 60,61,62,0,64,65,66,67,0,6,
+ 0,71,4,3,74,75,76,77,78,79,
+ 80,81,82,83,84,85,0,1,2,3,
+ 4,5,6,7,8,9,10,11,12,13,
+ 14,15,16,17,18,19,20,21,22,23,
+ 24,25,26,27,28,29,30,31,32,33,
+ 34,35,36,37,38,39,40,41,42,43,
+ 44,45,46,47,0,49,50,51,52,53,
+ 54,0,56,57,58,59,60,61,62,101,
+ 64,65,66,67,106,92,93,71,0,0,
+ 74,75,76,77,78,79,80,81,82,83,
+ 84,85,0,1,2,3,4,5,6,7,
+ 8,9,10,11,12,13,14,15,16,17,
+ 18,19,20,21,22,23,24,25,26,27,
+ 28,29,30,31,32,33,34,35,36,37,
+ 38,39,40,41,42,43,44,45,46,47,
+ 0,49,50,51,52,53,54,68,56,57,
+ 58,59,60,61,62,0,64,65,66,67,
+ 0,1,2,71,4,10,74,75,76,77,
+ 78,79,80,81,82,83,84,85,0,1,
+ 2,3,4,5,6,7,8,9,10,11,
+ 12,13,14,15,16,17,18,19,20,21,
+ 22,23,24,25,26,27,28,29,30,31,
+ 32,33,34,35,36,37,38,39,40,41,
+ 42,43,44,45,46,47,0,49,50,51,
+ 52,53,54,0,56,57,58,59,60,61,
+ 62,0,64,65,66,67,0,1,2,8,
+ 4,0,74,75,76,77,78,79,80,81,
+ 82,83,84,85,0,1,2,3,4,5,
6,7,8,9,10,11,12,13,14,15,
16,17,18,19,20,21,22,23,24,25,
26,27,28,29,30,31,32,33,34,35,
36,37,38,39,40,41,42,43,44,45,
- 46,47,71,49,50,51,52,53,54,55,
- 0,57,58,59,60,61,62,63,0,65,
- 66,67,68,0,1,2,72,4,0,75,
+ 46,47,71,49,50,51,52,53,54,0,
+ 56,57,58,59,60,61,62,0,64,65,
+ 66,67,0,6,0,102,103,104,74,75,
76,77,78,79,80,81,82,83,84,85,
- 86,0,1,2,3,4,5,6,7,8,
- 9,10,11,12,13,14,15,16,17,18,
- 19,20,21,22,23,24,25,26,27,28,
- 29,30,31,32,33,34,35,36,37,38,
- 39,40,41,42,43,44,45,46,47,71,
- 49,50,51,52,53,54,55,0,57,58,
- 59,60,61,62,63,0,65,66,67,68,
- 0,1,2,0,4,0,75,76,77,78,
- 79,80,81,82,83,84,85,86,0,1,
- 2,3,4,5,6,7,8,9,10,11,
- 12,13,14,15,16,17,18,19,20,21,
- 22,23,24,25,26,27,28,29,30,31,
- 32,33,34,35,36,37,38,39,40,41,
- 42,43,44,45,46,47,71,49,50,51,
- 52,53,54,55,69,57,58,59,60,61,
- 62,63,0,65,66,67,68,0,6,0,
- 103,104,105,75,76,77,78,79,80,81,
- 82,83,84,85,86,0,1,2,3,4,
- 5,6,7,8,9,10,11,12,13,14,
- 15,16,17,18,19,20,21,22,23,24,
- 25,26,27,28,29,30,31,32,33,34,
- 35,36,37,38,39,40,41,42,43,44,
- 45,46,47,64,49,50,51,52,53,54,
- 55,0,57,58,59,60,61,62,63,0,
- 65,66,67,68,0,93,94,90,4,92,
- 75,76,77,78,79,80,81,82,83,84,
- 85,86,0,1,2,3,4,5,6,7,
- 8,9,10,11,12,13,14,15,16,17,
- 18,19,20,21,22,23,24,25,26,27,
- 28,29,30,31,32,33,34,35,36,37,
- 38,39,40,41,42,43,44,45,46,47,
- 71,49,50,51,52,53,54,55,0,57,
- 58,59,60,61,62,63,0,65,66,67,
- 68,100,6,0,0,1,2,75,76,77,
- 78,79,80,81,82,83,84,85,86,0,
- 1,2,3,4,5,6,7,8,9,10,
- 11,12,13,14,15,16,17,18,19,20,
- 21,22,23,24,25,26,27,28,29,30,
- 31,32,33,34,35,36,37,38,39,40,
- 41,42,43,44,45,46,47,0,49,50,
- 51,52,53,54,55,0,57,58,59,60,
- 61,62,63,0,65,66,67,68,5,93,
- 94,88,89,0,75,76,77,78,79,80,
- 81,82,83,84,85,86,0,1,2,3,
+ 0,1,2,3,4,5,6,7,8,9,
+ 10,11,12,13,14,15,16,17,18,19,
+ 20,21,22,23,24,25,26,27,28,29,
+ 30,31,32,33,34,35,36,37,38,39,
+ 40,41,42,43,44,45,46,47,0,49,
+ 50,51,52,53,54,0,56,57,58,59,
+ 60,61,62,0,64,65,66,67,99,92,
+ 93,89,9,91,74,75,76,77,78,79,
+ 80,81,82,83,84,85,0,1,2,3,
4,5,6,7,8,9,10,11,12,13,
14,15,16,17,18,19,20,21,22,23,
24,25,26,27,28,29,30,31,32,33,
34,35,36,37,38,39,40,41,42,43,
44,45,46,47,0,49,50,51,52,53,
- 54,55,69,57,58,59,60,61,62,63,
- 0,65,66,67,68,0,1,2,0,9,
- 5,75,76,77,78,79,80,81,82,83,
- 84,85,86,0,1,2,3,4,5,6,
- 7,8,9,10,11,12,13,14,15,16,
- 17,18,19,20,21,22,23,24,25,26,
- 27,28,29,30,31,32,33,34,35,36,
- 37,38,39,40,41,42,43,44,45,46,
- 47,0,49,50,51,52,53,54,55,71,
- 57,58,59,60,61,62,63,0,65,66,
- 67,68,0,1,2,0,4,0,75,76,
- 77,78,79,80,81,82,83,84,85,86,
- 0,1,2,3,4,5,6,7,8,9,
- 10,11,12,13,14,15,16,17,18,19,
- 20,21,22,23,24,25,26,27,28,29,
- 30,31,32,33,34,35,36,37,38,39,
- 40,41,42,43,44,45,46,47,71,49,
- 50,51,52,53,54,55,69,57,58,59,
- 60,61,62,63,0,65,66,67,68,0,
- 1,2,0,1,2,75,76,77,78,79,
- 80,81,82,83,84,85,86,0,1,2,
- 3,4,5,6,7,8,9,10,11,12,
- 13,14,15,16,17,18,19,20,21,22,
- 23,24,25,26,27,28,29,30,31,32,
- 33,34,35,36,37,38,39,40,41,42,
- 43,44,45,46,47,71,49,50,51,52,
- 53,54,55,0,57,58,59,60,61,62,
- 63,0,65,66,67,68,0,0,0,8,
- 3,3,75,76,77,78,79,80,81,82,
- 83,84,85,86,0,1,2,3,4,5,
+ 54,0,56,57,58,59,60,61,62,0,
+ 64,65,66,67,99,6,0,0,1,2,
+ 74,75,76,77,78,79,80,81,82,83,
+ 84,85,0,1,2,3,4,5,6,7,
+ 8,9,10,11,12,13,14,15,16,17,
+ 18,19,20,21,22,23,24,25,26,27,
+ 28,29,30,31,32,33,34,35,36,37,
+ 38,39,40,41,42,43,44,45,46,47,
+ 0,49,50,51,52,53,54,0,56,57,
+ 58,59,60,61,62,0,64,65,66,67,
+ 5,92,93,87,88,0,74,75,76,77,
+ 78,79,80,81,82,83,84,85,0,1,
+ 2,3,4,5,6,7,8,9,10,11,
+ 12,13,14,15,16,17,18,19,20,21,
+ 22,23,24,25,26,27,28,29,30,31,
+ 32,33,34,35,36,37,38,39,40,41,
+ 42,43,44,45,46,47,0,49,50,51,
+ 52,53,54,68,56,57,58,59,60,61,
+ 62,0,64,65,66,67,0,1,2,23,
+ 24,5,74,75,76,77,78,79,80,81,
+ 82,83,84,85,0,1,2,3,4,5,
6,7,8,9,10,11,12,13,14,15,
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,64,49,50,51,52,53,54,55,
- 0,57,58,59,60,61,62,63,0,65,
- 66,67,68,0,6,0,90,9,92,75,
+ 46,47,0,49,50,51,52,53,54,0,
+ 56,57,58,59,60,61,62,0,64,65,
+ 66,67,0,1,2,8,4,0,74,75,
76,77,78,79,80,81,82,83,84,85,
- 86,0,1,2,3,4,5,6,7,118,
- 9,10,11,12,13,14,15,16,17,18,
- 19,20,21,22,23,24,25,26,0,28,
- 29,30,31,32,33,34,35,36,37,38,
- 39,40,41,42,43,44,45,46,47,0,
- 49,50,51,52,53,54,55,0,57,58,
- 59,4,61,0,1,2,3,4,5,6,
- 7,8,9,10,11,12,13,14,15,16,
- 17,18,19,20,21,22,23,24,0,119,
- 27,28,29,30,31,32,33,34,35,36,
- 0,1,2,40,4,5,121,7,0,0,
- 0,48,0,1,2,3,4,5,69,7,
- 57,58,59,60,0,62,63,99,0,1,
- 2,22,23,24,0,72,73,28,29,30,
- 31,32,33,34,35,36,22,23,24,0,
- 87,0,28,29,30,31,32,33,34,35,
- 36,0,1,2,56,0,103,104,105,0,
+ 0,1,2,3,4,5,6,7,8,9,
+ 10,11,12,13,14,15,16,17,18,19,
+ 20,21,22,23,24,25,26,27,28,29,
+ 30,31,32,33,34,35,36,37,38,39,
+ 40,41,42,43,44,45,46,47,71,49,
+ 50,51,52,53,54,68,56,57,58,59,
+ 60,61,62,0,64,65,66,67,0,1,
+ 2,0,1,2,74,75,76,77,78,79,
+ 80,81,82,83,84,85,0,1,2,3,
+ 4,5,6,7,8,9,10,11,12,13,
+ 14,15,16,17,18,19,20,21,22,23,
+ 24,25,26,27,28,29,30,31,32,33,
+ 34,35,36,37,38,39,40,41,42,43,
+ 44,45,46,47,0,49,50,51,52,53,
+ 54,0,56,57,58,59,60,61,62,0,
+ 64,65,66,67,0,0,0,8,3,3,
+ 74,75,76,77,78,79,80,81,82,83,
+ 84,85,0,1,2,3,4,5,6,7,
+ 8,9,10,11,12,13,14,15,16,17,
+ 18,19,20,21,22,23,24,25,26,27,
+ 28,29,30,31,32,33,34,35,36,37,
+ 38,39,40,41,42,43,44,45,46,47,
+ 0,49,50,51,52,53,54,0,56,57,
+ 58,59,60,61,62,0,64,65,66,67,
+ 0,6,0,89,9,91,74,75,76,77,
+ 78,79,80,81,82,83,84,85,0,1,
+ 2,3,4,5,6,7,117,9,10,11,
+ 12,13,14,15,16,17,18,19,20,21,
+ 22,23,24,25,26,0,28,29,30,31,
+ 32,33,34,35,36,37,38,39,40,41,
+ 42,43,44,45,46,47,0,49,50,51,
+ 52,53,54,0,56,57,58,4,60,0,
1,2,3,4,5,6,7,8,9,10,
11,12,13,14,15,16,17,18,19,20,
- 21,22,23,24,66,67,27,28,29,30,
+ 21,22,23,24,0,118,27,28,29,30,
31,32,33,34,35,36,0,1,2,40,
- 4,5,0,7,0,3,0,48,6,0,
- 8,9,8,0,8,0,57,58,59,60,
- 0,62,63,8,0,1,2,25,26,27,
- 0,72,73,27,25,26,97,98,0,37,
- 38,3,22,23,24,90,87,92,28,29,
- 30,31,32,33,34,35,36,0,56,0,
- 1,2,103,104,105,8,64,0,1,2,
- 40,69,70,71,72,73,74,71,74,0,
- 1,2,3,4,5,6,7,0,9,74,
+ 4,5,0,7,0,0,0,48,0,1,
+ 2,0,4,0,68,56,57,58,59,0,
+ 61,62,0,1,2,100,22,23,24,0,
+ 71,72,28,29,30,31,32,33,34,35,
+ 36,22,23,24,48,86,0,28,29,30,
+ 31,32,33,34,35,36,48,0,0,1,
+ 2,102,103,104,0,1,2,3,4,5,
+ 6,7,8,9,10,11,12,13,14,15,
+ 16,17,18,19,20,21,22,23,24,87,
+ 88,27,28,29,30,31,32,33,34,35,
+ 36,55,0,98,40,3,48,0,6,0,
+ 8,9,48,0,1,2,0,8,5,90,
+ 56,57,58,59,8,61,62,25,26,27,
+ 0,1,2,0,0,71,72,0,0,37,
+ 38,8,0,1,2,3,4,5,6,7,
+ 86,9,0,0,0,1,2,55,4,0,
+ 6,48,8,9,0,63,102,103,104,0,
+ 68,69,70,71,72,73,67,120,48,0,
+ 1,2,3,4,5,6,7,71,9,87,
88,89,90,91,92,93,94,95,96,97,
- 98,99,100,101,102,0,1,2,106,107,
+ 98,99,100,101,0,63,73,105,106,107,
108,109,110,111,112,113,114,115,116,117,
- 118,0,120,121,3,66,67,6,71,8,
- 9,74,0,0,1,2,3,4,5,6,
- 7,8,9,64,0,0,25,26,27,70,
- 0,1,2,48,9,22,23,24,37,38,
- 27,28,29,30,31,32,33,34,35,36,
- 0,0,1,2,3,4,5,56,7,8,
- 0,0,1,2,0,64,5,0,7,56,
- 69,70,71,72,73,74,64,64,27,0,
- 1,2,3,4,5,6,7,74,9,88,
- 89,90,91,92,93,94,95,96,97,98,
- 99,100,101,102,0,0,56,106,107,108,
- 109,110,111,112,113,114,115,116,117,118,
- 56,120,121,0,1,2,3,4,5,6,
- 7,8,9,10,11,12,13,14,15,16,
- 17,18,19,20,21,22,23,24,88,89,
- 27,28,29,30,31,32,33,34,35,36,
- 0,1,2,40,4,5,0,7,0,3,
- 0,48,0,1,2,3,4,5,0,7,
- 57,58,59,60,0,62,63,3,65,0,
- 22,23,24,88,89,72,28,29,30,31,
- 32,33,34,35,36,0,1,2,48,0,
- 87,0,1,2,3,4,5,6,7,8,
+ 0,119,120,3,0,72,6,73,8,9,
+ 96,97,0,1,2,3,4,5,6,7,
+ 8,9,63,74,90,25,26,27,69,25,
+ 26,87,88,0,22,23,24,37,38,27,
+ 28,29,30,31,32,33,34,35,36,0,
+ 1,2,3,4,5,55,7,8,0,0,
+ 1,2,0,63,5,3,7,55,68,69,
+ 70,71,72,73,0,63,27,0,1,2,
+ 3,4,5,6,7,73,9,87,88,89,
+ 90,91,92,93,94,95,96,97,98,99,
+ 100,101,0,1,2,105,106,107,108,109,
+ 110,111,112,113,114,115,116,117,0,119,
+ 120,0,1,2,3,4,5,6,7,8,
9,10,11,12,13,14,15,16,17,18,
- 19,20,21,22,23,24,64,48,27,28,
- 29,30,31,32,33,34,35,36,70,0,
- 0,40,0,0,1,2,3,4,5,48,
- 7,0,0,0,0,56,3,56,57,58,
- 59,60,8,62,63,0,65,0,1,2,
- 102,4,5,0,7,107,108,109,110,111,
- 112,113,114,115,116,117,0,48,87,0,
- 1,2,3,4,5,6,7,8,9,10,
- 11,12,13,14,15,16,17,18,19,20,
- 21,22,23,24,0,48,27,28,29,30,
- 31,32,33,34,35,36,0,0,74,40,
- 3,0,1,2,3,4,5,48,7,97,
- 98,90,69,92,71,91,57,58,59,60,
- 64,62,63,101,65,0,1,2,3,4,
- 5,72,7,8,99,0,1,2,3,4,
- 5,6,7,0,9,0,87,0,1,2,
- 3,4,5,6,7,8,9,10,11,12,
- 13,14,15,16,17,18,19,20,21,22,
- 23,24,88,89,27,28,29,30,31,32,
- 33,34,35,36,0,1,2,40,4,64,
- 6,0,0,9,0,48,0,1,2,74,
- 8,5,0,7,57,58,59,60,73,62,
- 63,0,65,0,1,2,73,4,0,72,
- 0,1,2,3,4,5,6,7,0,9,
- 0,0,1,2,87,0,1,2,3,4,
+ 19,20,21,22,23,24,0,0,27,28,
+ 29,30,31,32,33,34,35,36,0,1,
+ 2,40,4,0,6,0,0,9,0,48,
+ 4,8,6,0,100,9,0,56,57,58,
+ 59,8,61,62,0,64,0,22,23,24,
+ 27,0,71,28,29,30,31,32,33,34,
+ 35,36,0,1,2,87,88,86,0,1,
+ 2,3,4,5,6,7,8,9,10,11,
+ 12,13,14,15,16,17,18,19,20,21,
+ 22,23,24,70,0,27,28,29,30,31,
+ 32,33,34,35,36,69,73,63,40,63,
+ 0,1,2,3,4,5,48,7,0,0,
+ 0,3,0,55,56,57,58,59,0,61,
+ 62,9,64,0,0,1,2,101,4,5,
+ 0,7,106,107,108,109,110,111,112,113,
+ 114,115,116,0,86,0,1,2,3,4,
5,6,7,8,9,10,11,12,13,14,
15,16,17,18,19,20,21,22,23,24,
- 68,48,27,28,29,30,31,32,33,34,
- 35,36,0,1,2,40,4,0,6,48,
- 69,9,0,48,64,8,4,0,6,0,
- 3,9,57,58,59,60,102,62,63,69,
- 65,107,0,1,2,0,4,72,6,91,
- 8,9,0,8,0,1,2,3,4,5,
- 8,7,87,0,1,2,3,4,5,6,
- 7,8,9,10,11,12,13,14,15,16,
- 17,18,19,20,21,22,23,24,71,72,
- 27,28,29,30,31,32,33,34,35,36,
- 0,1,2,40,0,0,1,2,3,4,
- 5,48,7,8,10,0,74,88,89,74,
- 57,58,59,60,72,62,63,73,65,0,
- 1,2,27,91,0,1,2,3,4,0,
- 6,0,3,9,3,0,1,2,48,0,
- 87,0,1,2,3,4,5,6,7,8,
- 9,10,11,12,13,14,15,16,17,18,
- 19,20,21,22,23,24,0,48,27,28,
- 29,30,31,32,33,34,35,36,0,1,
- 2,40,4,48,6,0,0,9,64,48,
- 0,0,0,8,0,64,4,6,57,58,
- 59,60,0,62,63,3,65,0,1,2,
- 8,4,27,6,22,0,9,23,24,0,
- 0,0,3,0,0,1,2,8,87,0,
+ 0,63,27,28,29,30,31,32,33,34,
+ 35,36,0,1,2,40,4,0,6,0,
+ 60,9,69,48,0,8,0,3,89,0,
+ 91,56,57,58,59,6,61,62,98,64,
+ 40,22,23,24,96,97,71,28,29,30,
+ 31,32,33,34,35,36,0,0,1,2,
+ 4,86,0,1,2,3,4,5,6,7,
+ 8,9,10,11,12,13,14,15,16,17,
+ 18,19,20,21,22,23,24,70,71,27,
+ 28,29,30,31,32,33,34,35,36,0,
+ 1,2,40,4,5,48,7,0,1,2,
+ 48,4,0,6,0,89,9,91,56,57,
+ 58,59,0,61,62,3,64,0,1,2,
+ 3,4,5,71,7,8,0,0,1,2,
+ 3,4,5,6,7,0,9,48,86,0,
1,2,3,4,5,6,7,8,9,10,
11,12,13,14,15,16,17,18,19,20,
- 21,22,23,24,64,69,27,28,29,30,
- 31,32,33,34,35,36,64,101,48,40,
- 0,69,48,71,0,0,74,48,4,56,
- 0,0,61,64,69,4,57,58,59,60,
- 10,62,63,74,65,103,104,105,0,1,
- 2,0,0,22,0,4,8,3,0,1,
- 2,3,4,5,6,7,87,9,10,11,
+ 21,22,23,24,0,63,27,28,29,30,
+ 31,32,33,34,35,36,0,1,2,40,
+ 63,0,1,2,3,4,5,48,7,8,
+ 73,87,88,0,0,56,57,58,59,72,
+ 61,62,0,64,69,0,1,2,27,0,
+ 71,0,0,1,2,3,4,0,6,25,
+ 26,9,0,0,48,86,0,1,2,3,
+ 4,5,6,7,8,9,10,11,12,13,
+ 14,15,16,17,18,19,20,21,22,23,
+ 24,0,0,27,28,29,30,31,32,33,
+ 34,35,36,0,1,2,40,4,0,6,
+ 65,66,9,0,48,63,25,26,0,0,
+ 63,70,56,57,58,59,8,61,62,10,
+ 64,0,1,2,3,4,5,0,7,0,
+ 1,2,3,4,5,27,7,55,0,1,
+ 2,118,86,0,1,2,3,4,5,6,
+ 7,8,9,10,11,12,13,14,15,16,
+ 17,18,19,20,21,22,23,24,59,0,
+ 27,28,29,30,31,32,33,34,35,36,
+ 0,0,0,40,0,4,48,3,0,1,
+ 2,48,63,72,0,68,8,70,0,56,
+ 57,58,59,22,61,62,0,64,0,3,
+ 0,1,2,0,8,0,1,2,3,4,
+ 5,8,7,0,1,2,0,0,48,86,
+ 0,1,2,3,4,5,6,7,8,9,
+ 10,11,12,13,14,15,16,17,18,19,
+ 20,21,22,23,24,67,48,27,28,29,
+ 30,31,32,33,34,35,36,0,70,63,
+ 40,0,1,2,68,8,70,0,48,73,
+ 67,4,55,102,103,104,56,57,58,59,
+ 121,61,62,0,64,0,1,2,3,4,
+ 5,8,7,0,0,0,3,3,0,1,
+ 2,3,4,5,6,7,86,9,10,11,
12,13,14,15,16,17,18,19,20,21,
- 56,56,0,25,26,3,0,1,2,0,
- 60,37,38,0,0,37,38,39,73,41,
+ 0,0,55,25,26,0,65,66,3,0,
+ 73,37,38,0,0,37,38,39,4,41,
42,43,44,45,46,47,0,49,50,51,
- 52,53,54,55,0,0,68,0,64,61,
- 62,69,8,71,66,67,0,1,2,3,
- 4,5,6,7,48,9,10,11,12,13,
- 14,15,16,17,18,19,20,21,0,56,
- 56,25,26,0,0,0,0,3,3,3,
- 106,8,69,37,38,39,0,41,42,43,
- 44,45,46,47,120,49,50,51,52,53,
- 54,55,68,0,0,1,2,61,95,96,
- 6,8,66,67,0,69,0,1,2,3,
- 4,5,6,7,8,9,10,11,12,13,
- 14,15,16,17,18,19,20,21,0,1,
- 2,25,26,5,70,72,0,0,122,0,
- 1,2,48,37,38,39,0,41,42,43,
- 44,45,46,47,0,49,50,51,52,53,
- 54,55,0,0,0,72,0,61,0,3,
- 8,0,8,10,68,4,48,73,72,0,
- 1,2,3,4,5,6,7,48,9,10,
- 11,12,13,14,15,16,17,18,19,20,
- 21,0,56,40,25,26,70,70,0,0,
- 56,48,4,0,0,69,37,38,39,0,
- 41,42,43,44,45,46,47,56,49,50,
- 51,52,53,54,55,0,74,0,74,0,
- 61,95,96,4,76,66,67,0,1,2,
- 3,4,5,6,7,0,9,10,11,12,
- 13,14,15,16,17,18,19,20,21,56,
- 56,0,25,26,0,56,75,0,4,0,
- 0,0,0,69,37,38,39,8,41,42,
- 43,44,45,46,47,56,49,50,51,52,
- 53,54,55,0,0,70,27,0,61,95,
- 96,56,0,66,67,0,1,2,3,4,
- 5,6,7,8,9,10,11,12,13,14,
- 15,16,17,18,19,20,21,56,0,0,
- 25,26,0,4,64,0,0,0,3,3,
- 73,0,37,38,39,8,41,42,43,44,
- 45,46,47,56,49,50,51,52,53,54,
- 55,0,0,91,27,0,61,73,0,0,
- 0,10,70,68,0,1,2,3,4,5,
+ 52,53,54,0,0,0,73,63,60,61,
+ 39,0,69,65,66,0,1,2,3,4,
+ 5,6,7,90,9,10,11,12,13,14,
+ 15,16,17,18,19,20,21,0,55,55,
+ 25,26,72,0,1,2,0,4,5,105,
+ 7,68,37,38,39,0,41,42,43,44,
+ 45,46,47,119,49,50,51,52,53,54,
+ 0,1,2,68,70,60,6,94,95,0,
+ 65,66,3,68,0,1,2,3,4,5,
6,7,8,9,10,11,12,13,14,15,
- 16,17,18,19,20,21,64,56,70,25,
- 26,40,0,0,0,3,0,39,39,48,
- 0,37,38,39,8,41,42,43,44,45,
- 46,47,0,49,50,51,52,53,54,55,
- 0,0,70,27,3,61,0,0,73,3,
- 70,0,68,0,1,2,3,4,5,6,
- 7,8,9,10,11,12,13,14,15,16,
- 17,18,19,20,21,0,56,0,25,26,
- 3,0,0,0,3,3,73,73,56,0,
- 37,38,39,0,41,42,43,44,45,46,
- 47,0,49,50,51,52,53,54,55,0,
+ 16,17,18,19,20,21,0,1,2,25,
+ 26,5,0,7,68,3,0,0,48,3,
+ 3,37,38,39,8,41,42,43,44,45,
+ 46,47,0,49,50,51,52,53,54,0,
+ 1,2,63,0,60,0,0,0,0,1,
+ 2,67,0,8,8,71,0,1,2,3,
+ 4,5,6,7,0,9,10,11,12,13,
+ 14,15,16,17,18,19,20,21,0,63,
+ 0,25,26,0,1,2,39,48,8,73,
+ 0,0,0,37,38,39,48,41,42,43,
+ 44,45,46,47,72,49,50,51,52,53,
+ 54,68,48,70,0,70,60,3,73,73,
+ 68,65,66,0,1,2,3,4,5,6,
+ 7,48,9,10,11,12,13,14,15,16,
+ 17,18,19,20,21,55,55,55,25,26,
+ 0,0,0,73,4,0,4,0,68,8,
+ 37,38,39,72,41,42,43,44,45,46,
+ 47,0,49,50,51,52,53,54,27,0,
+ 0,0,3,60,94,95,0,0,65,66,
+ 0,1,2,3,4,5,6,7,8,9,
+ 10,11,12,13,14,15,16,17,18,19,
+ 20,21,55,0,0,25,26,4,63,0,
+ 0,0,3,0,3,68,0,37,38,39,
+ 4,41,42,43,44,45,46,47,0,49,
+ 50,51,52,53,54,0,0,0,22,63,
+ 60,94,95,0,0,10,10,67,0,1,
+ 2,3,4,5,6,7,8,9,10,11,
+ 12,13,14,15,16,17,18,19,20,21,
+ 0,0,0,25,26,40,40,0,68,0,
+ 0,4,0,48,48,37,38,39,0,41,
+ 42,43,44,45,46,47,0,49,50,51,
+ 52,53,54,90,0,0,0,3,60,5,
+ 6,0,69,9,8,67,0,0,0,8,
+ 0,0,118,3,0,55,55,55,0,25,
+ 26,3,55,27,55,55,0,55,27,0,
+ 0,37,38,55,0,41,0,3,0,3,
+ 0,55,0,3,0,3,0,3,0,55,
+ 55,3,0,0,0,3,0,63,0,65,
+ 66,0,68,69,70,0,55,0,0,0,
+ 0,0,0,0,0,0,70,0,0,72,
+ 72,87,88,89,70,39,92,93,94,95,
+ 96,97,98,99,100,101,70,0,69,105,
+ 70,107,108,109,110,111,112,113,114,115,
+ 116,0,1,2,3,4,5,6,7,8,
+ 9,10,11,12,13,14,15,16,17,18,
+ 19,20,21,72,69,0,25,26,69,69,
+ 72,69,75,72,90,0,69,69,37,38,
+ 39,0,41,42,43,44,45,46,47,0,
+ 49,50,51,52,53,54,0,1,2,3,
+ 4,5,6,7,0,9,10,11,12,13,
+ 14,15,16,17,18,19,20,21,0,0,
+ 55,25,26,0,0,0,0,0,0,0,
+ 0,0,0,37,38,39,0,41,42,43,
+ 44,45,46,47,0,49,50,51,52,53,
+ 54,0,0,0,0,0,60,0,117,0,
1,2,3,4,5,6,7,0,9,10,
11,12,13,14,15,16,17,18,19,20,
- 21,91,0,0,25,26,3,0,0,0,
- 3,3,0,0,0,70,37,38,39,0,
+ 21,0,0,0,25,26,0,0,0,0,
+ 0,0,0,0,0,0,37,38,39,0,
41,42,43,44,45,46,47,0,49,50,
- 51,52,53,54,55,0,119,0,0,0,
- 61,118,3,0,5,6,0,0,9,11,
- 12,13,14,15,16,17,18,19,20,21,
- 22,23,24,0,25,26,28,29,30,31,
- 32,33,34,35,36,73,37,38,119,70,
- 41,0,70,0,0,39,0,0,0,0,
- 0,0,0,0,0,56,0,0,0,0,
- 0,0,0,64,0,66,67,0,69,70,
- 71,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,88,89,90,
- 0,0,93,94,95,96,97,98,99,100,
- 101,102,0,0,0,106,0,108,109,110,
- 111,112,113,114,115,116,117,0,1,2,
- 3,4,5,6,7,0,9,10,11,12,
- 13,14,15,16,17,18,19,20,21,0,
- 0,0,25,26,0,0,0,0,0,0,
- 0,0,0,0,37,38,39,0,41,42,
- 43,44,45,46,47,0,49,50,51,52,
- 53,54,55,0,1,2,3,4,5,6,
- 7,64,9,10,11,12,13,14,15,16,
- 17,18,19,20,21,0,0,0,25,26,
- 0,0,0,0,0,0,0,0,0,0,
- 37,38,39,0,41,42,43,44,45,46,
- 47,0,49,50,51,52,53,54,55,0,
- 0,0,0,0,61,0,1,2,3,4,
+ 51,52,53,54,0,1,2,3,4,5,
+ 6,7,63,9,10,11,12,13,14,15,
+ 16,17,18,19,20,21,0,0,0,25,
+ 26,0,0,0,0,0,0,0,0,0,
+ 0,37,38,39,0,41,42,43,44,45,
+ 46,47,0,49,50,51,52,53,54,0,
+ 0,0,0,0,60,0,1,2,3,4,
5,6,7,0,9,10,11,12,13,14,
15,16,17,18,19,20,21,0,0,0,
25,26,0,0,0,0,0,0,0,0,
0,0,37,38,39,0,41,42,43,44,
45,46,47,0,49,50,51,52,53,54,
- 55,0,1,2,3,4,5,6,7,0,
- 9,10,11,12,13,14,15,16,17,18,
- 19,20,21,0,0,0,25,26,0,0,
- 0,0,0,0,0,0,0,0,37,38,
- 39,0,41,42,43,44,45,46,47,0,
- 49,50,51,52,53,54,55,0,1,2,
- 3,4,5,6,7,0,9,10,11,12,
- 13,14,15,16,17,18,19,20,21,0,
- 0,0,25,26,0,0,0,0,0,0,
- 0,0,0,0,37,38,39,0,41,42,
- 43,44,45,46,47,0,49,50,51,52,
- 53,54,55,0,1,2,0,4,0,0,
- 0,0,0,10,11,12,13,14,15,16,
- 17,18,19,20,21,22,23,24,0,0,
- 0,28,29,30,31,32,33,34,35,36,
- 0,0,0,40,0,0,0,0,0,0,
- 0,0,0,0,1,2,0,4,0,0,
- 57,58,59,10,11,12,13,14,15,16,
- 17,18,19,20,21,22,23,24,0,0,
- 0,28,29,30,31,32,33,34,35,36,
- 0,0,0,40,0,1,2,3,4,5,
- 6,7,8,9,0,0,0,0,0,0,
- 57,58,59,0,0,0,22,23,24,0,
- 0,27,28,29,30,31,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,64,0,
- 0,0,0,0,0,0,0,0,74,0,
+ 0,1,2,3,4,5,6,7,0,9,
+ 10,11,12,13,14,15,16,17,18,19,
+ 20,21,0,0,0,25,26,0,0,0,
+ 0,0,0,0,0,0,0,37,38,39,
+ 0,41,42,43,44,45,46,47,0,49,
+ 50,51,52,53,54,0,1,2,3,4,
+ 5,6,7,0,9,10,11,12,13,14,
+ 15,16,17,18,19,20,21,0,0,0,
+ 25,26,0,0,0,0,0,0,0,0,
+ 0,0,37,38,39,0,41,42,43,44,
+ 45,46,47,0,49,50,51,52,53,54,
+ 0,1,2,0,4,0,0,0,0,0,
+ 10,11,12,13,14,15,16,17,18,19,
+ 20,21,22,23,24,0,0,0,28,29,
+ 30,31,32,33,34,35,36,0,0,0,
+ 40,0,0,0,0,0,0,0,0,0,
+ 1,2,0,4,0,0,56,57,58,10,
+ 11,12,13,14,15,16,17,18,19,20,
+ 21,22,23,24,0,0,0,28,29,30,
+ 31,32,33,34,35,36,0,0,0,40,
+ 0,1,2,3,4,5,6,7,8,9,
+ 0,0,0,0,0,56,57,58,0,0,
+ 0,0,22,23,24,0,0,27,28,29,
+ 30,31,32,33,34,35,36,11,12,13,
+ 14,15,16,17,18,19,20,21,22,23,
+ 24,0,0,0,28,29,30,31,32,33,
+ 34,35,36,63,0,0,0,0,0,0,
+ 0,0,0,73,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0
};
};
public final static byte termCheck[] = TermCheck.termCheck;
@@ -1465,351 +1462,346 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP
public interface TermAction {
public final static char termAction[] = {0,
- 5445,5410,5389,5389,5389,5389,5389,5389,5426,5389,
+ 5444,5409,5388,5388,5388,5388,5388,5388,5425,5388,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,5414,1,1,
+ 1,1,1,1,1,1,1,5413,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,119,1,
- 1,1,1,1,1,1,136,1,1,1,
- 959,1,5621,1542,116,3042,1,1,5456,1,
- 3831,332,5452,3758,2774,3040,3441,3286,2241,3212,
- 3379,3191,3439,594,3415,4339,3412,10,5429,5429,
- 5429,5429,5429,5429,5429,5429,5429,5429,5429,5429,
- 5429,5429,5429,5429,5429,5429,5429,5429,5429,5429,
- 5429,5429,5429,5429,5429,5429,5429,5429,5429,5429,
- 5429,5429,5429,5429,5429,5429,5429,5429,5429,5429,
- 5429,5429,5429,5429,5429,121,5429,5429,5429,5429,
- 5429,5429,5429,396,5429,5429,5429,5429,5429,5429,
- 5429,158,5429,5429,5429,5429,2329,3807,3783,5429,
- 3758,2774,5429,5429,5429,5429,5429,5429,5429,5429,
- 5429,5429,5429,5429,8,5432,5432,5432,5432,5432,
- 5432,5432,5432,5432,5432,5432,5432,5432,5432,5432,
- 5432,5432,5432,5432,5432,5432,5432,5432,5432,5432,
- 5432,5432,5432,5432,5432,5432,5432,5432,5432,5432,
- 5432,5432,5432,5432,5432,5432,5432,5432,5432,5432,
- 5432,5432,1418,5432,5432,5432,5432,5432,5432,5432,
- 385,5432,5432,5432,5432,5432,5432,5432,516,5432,
- 5432,5432,5432,287,5182,5182,5432,284,5445,5432,
- 5432,5432,5432,5432,5432,5432,5432,5432,5432,5432,
- 5432,5445,5410,5389,5389,5389,5389,5389,5389,5417,
- 5389,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,5414,1,
+ 1,1,1,1,1,1,1,1,139,1,
+ 1,1,1,1,1,1,1,1,1,958,
+ 1,5619,1541,115,3041,1,1,5455,39,3830,
+ 5444,5451,5482,4831,3039,3440,3285,2240,3211,3378,
+ 3190,3438,593,3414,4338,3411,10,5428,5428,5428,
+ 5428,5428,5428,5428,5428,5428,5428,5428,5428,5428,
+ 5428,5428,5428,5428,5428,5428,5428,5428,5428,5428,
+ 5428,5428,5428,5428,5428,5428,5428,5428,5428,5428,
+ 5428,5428,5428,5428,5428,5428,5428,5428,5428,5428,
+ 5428,5428,5428,5428,331,5428,5428,5428,5428,5428,
+ 5428,395,5428,5428,5428,5428,5428,5428,5428,1187,
+ 5428,5428,5428,5428,3358,3806,3782,5428,384,5444,
+ 5428,5428,5428,5428,5428,5428,5428,5428,5428,5428,
+ 5428,5428,8,5431,5431,5431,5431,5431,5431,5431,
+ 5431,5431,5431,5431,5431,5431,5431,5431,5431,5431,
+ 5431,5431,5431,5431,5431,5431,5431,5431,5431,5431,
+ 5431,5431,5431,5431,5431,5431,5431,5431,5431,5431,
+ 5431,5431,5431,5431,5431,5431,5431,5431,5431,5431,
+ 5444,5431,5431,5431,5431,5431,5431,1912,5431,5431,
+ 5431,5431,5431,5431,5431,301,5431,5431,5431,5431,
+ 286,5181,5181,5431,283,5744,5431,5431,5431,5431,
+ 5431,5431,5431,5431,5431,5431,5431,5431,5444,5409,
+ 5388,5388,5388,5388,5388,5388,5416,5388,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,883,
- 1,1,1,1,1,1,1,440,1,1,
- 1,959,1,5621,1542,363,3042,1,1,5456,
- 5445,5084,5081,5445,5484,5445,3040,3441,3286,2241,
- 3212,3379,3191,3439,594,3415,4339,3412,5445,5410,
- 5389,5389,5389,5389,5389,5389,5417,5389,1,1,
+ 1,1,1,1,1,5413,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,5414,1,1,1,1,
+ 1,1,1,1,1,1,5444,1,1,1,
+ 1,1,1,439,1,1,1,958,1,5619,
+ 1541,5444,3041,1,1,5455,5444,5083,5080,5452,
+ 5482,5444,3039,3440,3285,2240,3211,3378,3190,3438,
+ 593,3414,4338,3411,5444,5409,5388,5388,5388,5388,
+ 5388,5388,5416,5388,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,3196,1,1,1,
- 1,1,1,1,1913,1,1,1,959,1,
- 5621,1542,118,3042,1,1,5456,112,3831,459,
- 5881,5882,5883,3040,3441,3286,2241,3212,3379,3191,
- 3439,594,3415,4339,3412,5445,5410,5389,5389,5389,
- 5389,5389,5389,5417,5389,1,1,1,1,1,
+ 1,5413,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,5414,1,1,1,1,1,1,1,
+ 1,1,5451,1,1,1,1,1,1,135,
+ 1,1,1,958,1,5619,1541,117,3041,1,
+ 1,5455,111,3830,5444,5879,5880,5881,3039,3440,
+ 3285,2240,3211,3378,3190,3438,593,3414,4338,3411,
+ 5444,5409,5388,5388,5388,5388,5388,5388,5416,5388,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,5111,1,1,1,1,1,1,
- 1,137,1,1,1,959,1,5621,1542,290,
- 3042,1,1,5456,40,3807,3783,4250,5484,4272,
- 3040,3441,3286,2241,3212,3379,3191,3439,594,3415,
- 4339,3412,5445,5410,5389,5389,5389,5389,5389,5389,
- 5417,5389,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,5414,
+ 1,1,1,1,1,1,1,5413,1,1,
1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,5444,1,
+ 1,1,1,1,1,136,1,1,1,958,
+ 1,5619,1541,131,3041,1,1,5455,2328,3806,
+ 3782,4249,595,4271,3039,3440,3285,2240,3211,3378,
+ 3190,3438,593,3414,4338,3411,5444,5409,5388,5388,
+ 5388,5388,5388,5388,5416,5388,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 790,1,1,1,1,1,1,1,5445,1,
- 1,1,959,1,5621,1542,117,3042,1,1,
- 5456,2329,3831,122,5445,5459,5460,3040,3441,3286,
- 2241,3212,3379,3191,3439,594,3415,4339,3412,5445,
- 5410,5389,5389,5389,5389,5389,5389,5417,5389,1,
+ 1,1,1,5413,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,5414,1,1,1,
+ 1,1,1,1,5444,1,1,1,1,1,
+ 1,5444,1,1,1,958,1,5619,1541,116,
+ 3041,1,1,5455,2328,3830,121,5444,5458,5459,
+ 3039,3440,3285,2240,3211,3378,3190,3438,593,3414,
+ 4338,3411,5444,5409,5388,5388,5388,5388,5388,5388,
+ 5416,5388,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,5413,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,5445,1,1,
- 1,1,1,1,1,5445,1,1,1,959,
- 1,5621,1542,5445,3042,1,1,5456,2625,3807,
- 3783,3143,3169,5445,3040,3441,3286,2241,3212,3379,
- 3191,3439,594,3415,4339,3412,5445,5410,5389,5389,
- 5389,5389,5389,5389,5417,5389,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,5414,1,1,1,1,1,1,
+ 5444,1,1,1,1,1,1,5444,1,1,
+ 1,958,1,5619,1541,5444,3041,1,1,5455,
+ 2624,3806,3782,3142,3168,5444,3039,3440,3285,2240,
+ 3211,3378,3190,3438,593,3414,4338,3411,5444,5409,
+ 5388,5388,5388,5388,5388,5388,5416,5388,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,5445,1,1,1,1,1,
- 1,1,1923,1,1,1,959,1,5621,1542,
- 132,3042,1,1,5456,5445,5459,5460,427,596,
- 2625,3040,3441,3286,2241,3212,3379,3191,3439,594,
- 3415,4339,3412,5445,5410,5389,5389,5389,5389,5389,
- 5389,5417,5389,1,1,1,1,1,1,1,
+ 1,1,1,1,1,5413,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 5414,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,336,1,1,1,
+ 1,1,1,1922,1,1,1,958,1,5619,
+ 1541,5444,3041,1,1,5455,5444,5458,5459,5781,
+ 5782,2624,3039,3440,3285,2240,3211,3378,3190,3438,
+ 593,3414,4338,3411,5444,5409,5388,5388,5388,5388,
+ 5388,5388,5416,5388,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,5445,1,1,1,1,1,1,1,1090,
- 1,1,1,959,1,5621,1542,450,3042,1,
- 1,5456,5445,5084,5081,5445,5484,5445,3040,3441,
- 3286,2241,3212,3379,3191,3439,594,3415,4339,3412,
- 5445,5410,5389,5389,5389,5389,5389,5389,5417,5389,
+ 1,5413,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,5414,1,1,
+ 1,1,5444,1,1,1,1,1,1,5444,
+ 1,1,1,958,1,5619,1541,1,3041,1,
+ 1,5455,5444,5083,5080,5406,5482,5444,3039,3440,
+ 3285,2240,3211,3378,3190,3438,593,3414,4338,3411,
+ 5444,5409,5388,5388,5388,5388,5388,5388,5416,5388,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,2545,1,
- 1,1,1,1,1,1,1966,1,1,1,
- 959,1,5621,1542,309,3042,1,1,5456,5445,
- 5268,5265,49,5268,5265,3040,3441,3286,2241,3212,
- 3379,3191,3439,594,3415,4339,3412,5445,5410,5389,
- 5389,5389,5389,5389,5389,5417,5389,1,1,1,
+ 1,1,1,1,1,1,1,5413,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,5414,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,5451,1,
+ 1,1,1,1,1,1965,1,1,1,958,
+ 1,5619,1541,5444,3041,1,1,5455,5444,5267,
+ 5264,48,5267,5264,3039,3440,3285,2240,3211,3378,
+ 3190,3438,593,3414,4338,3411,5444,5409,5388,5388,
+ 5388,5388,5388,5388,5416,5388,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,2802,1,1,1,1,
- 1,1,1,5445,1,1,1,959,1,5621,
- 1542,5445,3042,1,1,5456,115,5445,348,5449,
- 4832,1581,3040,3441,3286,2241,3212,3379,3191,3439,
- 594,3415,4339,3412,5445,3389,1,1,1,1,
- 1,1,3395,1,1,1,1,1,1,1,
+ 1,1,1,5413,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,5454,1,1,1,1,1,1,1,1,
+ 1,1,1,1,5444,1,1,1,1,1,
+ 1,5444,1,1,1,958,1,5619,1541,5444,
+ 3041,1,1,5455,114,5444,91,5448,3330,5116,
+ 3039,3440,3285,2240,3211,3378,3190,3438,593,3414,
+ 4338,3411,5444,3388,1,1,1,1,1,1,
+ 3394,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,5453,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1934,1,1,1,1,1,1,1,
- 5445,1,1,1,959,1,5621,1542,5445,3042,
- 1,1,5456,5445,1753,5445,4250,5775,4272,3040,
- 3441,3286,2241,3212,3379,3191,3439,594,3415,4339,
- 3412,40,5084,5081,4831,2141,4057,4140,2879,5448,
- 4162,793,5710,5708,5717,5716,5712,5713,5711,5714,
- 5715,5718,5709,5706,5783,5784,4118,4087,134,5700,
- 5707,5703,5679,5705,5704,5701,5702,5680,4206,4184,
- 5465,5844,632,618,781,5467,654,3116,664,5445,
- 5468,5466,585,5461,5463,5464,5462,5445,2087,5845,
- 5846,2880,1374,5445,5320,5320,230,5316,230,230,
- 230,5324,230,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,5445,3469,
- 230,1,1,1,1,1,1,1,1,1,
- 5445,5084,5081,1,2141,628,5080,2879,5445,225,
- 5445,5313,1,5172,5168,4505,5176,628,1968,2879,
- 1,1,1,2647,226,5858,567,2361,5445,5459,
- 5460,5706,5783,5784,5445,417,230,5700,5707,5703,
- 5679,5705,5704,5701,5702,5680,5706,5783,5784,130,
- 5946,5445,5700,5707,5703,5679,5705,5704,5701,5702,
- 5680,398,5459,5460,3044,114,5881,5882,5883,5445,
- 5320,5320,230,5316,230,230,230,5368,230,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,4228,880,230,1,1,1,
- 1,1,1,1,1,1,5445,5084,5081,1,
- 2141,628,34,2879,1,5123,5445,5313,5123,120,
- 5123,5123,162,5445,5455,5445,1,1,1,2647,
- 227,5858,567,5451,37,5344,5341,5123,5123,5123,
- 5445,416,230,5454,3758,2774,2478,2405,5445,5123,
- 5123,3331,5706,5783,5784,4250,5946,4272,5700,5707,
- 5703,5679,5705,5704,5701,5702,5680,5445,5123,5445,
- 5268,5265,5881,5882,5883,5451,5123,291,5459,5460,
- 2443,5123,5123,5123,5123,5123,5123,3950,162,368,
- 5172,5168,2557,5176,628,1,2879,5445,1,5450,
- 5123,5123,5123,5123,5123,5123,5123,5123,5123,5123,
- 5123,5123,5123,5123,5123,5445,8725,8725,5123,5123,
- 5123,5123,5123,5123,5123,5123,5123,5123,5123,5123,
- 5123,5445,5123,5123,5126,4228,880,5126,3986,5126,
- 5126,5450,458,30,388,388,5283,388,388,5283,
- 388,5283,5283,1934,5445,133,5126,5126,5126,1226,
- 5445,8532,8464,5482,596,388,388,388,5126,5126,
- 5283,388,388,388,388,388,388,388,388,388,
- 5445,1,5172,5168,5359,5176,5365,5126,5362,5455,
- 126,39,5102,5099,5445,5126,5096,5445,2879,5087,
- 5126,5126,5126,5126,5126,5126,5114,5283,5454,310,
- 5172,5168,4505,5176,628,5380,2879,5283,5380,5126,
- 5126,5126,5126,5126,5126,5126,5126,5126,5126,5126,
- 5126,5126,5126,5126,5445,125,3045,5126,5126,5126,
- 5126,5126,5126,5126,5126,5126,5126,5126,5126,5126,
- 3278,5126,5126,5445,5389,5389,230,5389,230,230,
- 230,5392,230,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,3143,3169,
- 230,1,1,8869,1,1,1,1,1,1,
- 5445,5084,5081,1,2141,5129,92,2879,228,5117,
- 5445,5386,1,5172,5168,2557,5176,628,140,2879,
- 1,1,1,3486,238,5657,1542,5277,3042,38,
- 5706,5783,5784,3143,3169,221,5700,5707,5703,5679,
- 5705,5704,5701,5702,5680,5445,8532,8464,940,5445,
- 5946,5445,5389,5389,230,5389,230,230,230,230,
- 230,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1934,5482,230,1,
- 1,8869,1,1,1,1,1,1,1891,48,
- 5445,1,131,332,5084,5081,4505,2141,628,5386,
- 2879,113,138,1,1,3332,3440,2796,1,1,
- 1,3486,364,5657,1542,135,3042,5445,5084,5081,
- 1188,2141,5129,5445,2879,3359,1848,1805,1762,1719,
- 1676,1633,1590,1547,1504,1461,349,1139,5946,5445,
- 5389,5389,230,5389,230,230,230,5395,230,1,
+ 5444,1,1,1,1,1,1,5444,1,1,
+ 1,958,1,5619,1541,5444,3041,1,1,5455,
+ 5444,1752,5444,4249,5773,4271,3039,3440,3285,2240,
+ 3211,3378,3190,3438,593,3414,4338,3411,39,5083,
+ 5080,4830,2140,4056,4139,2878,5447,4161,792,5708,
+ 5706,5715,5714,5710,5711,5709,5712,5713,5716,5707,
+ 5704,5781,5782,4117,4086,137,5698,5705,5701,5677,
+ 5703,5702,5699,5700,5678,4205,4183,5463,5842,631,
+ 617,780,5465,653,3115,663,5444,5466,5464,584,
+ 5460,5461,5462,5444,2086,5843,5844,2879,1373,5444,
+ 5319,5319,229,5315,229,229,229,5323,229,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,124,1269,230,1,1,8869,
- 1,1,1,1,1,1,5445,5445,364,1,
- 4340,1,5172,5168,5359,5176,5365,5386,5362,2478,
- 2405,4250,4451,4272,3197,364,1,1,1,3486,
- 1934,5657,1542,2279,3042,1,5172,5168,2557,5176,
- 628,220,2879,5271,2361,5445,5172,5168,4505,5176,
- 628,5380,2879,5445,5380,5445,5946,5445,5389,5389,
- 230,5389,230,230,230,5392,230,1,1,1,
+ 1,1,1,1,5444,3468,229,1,1,1,
+ 1,1,1,1,1,1,5444,5083,5080,1,
+ 2140,5128,125,2878,224,133,5444,5312,394,5178,
+ 5178,5444,283,5444,1967,1,1,1,2646,225,
+ 5856,566,397,5458,5459,2278,5704,5781,5782,358,
+ 416,229,5698,5705,5701,5677,5703,5702,5699,5700,
+ 5678,5704,5781,5782,939,5944,5444,5698,5705,5701,
+ 5677,5703,5702,5699,5700,5678,283,5444,5444,8836,
+ 8836,5879,5880,5881,5444,5319,5319,229,5315,229,
+ 229,229,5367,229,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,3142,
+ 3168,229,1,1,1,1,1,1,1,1,
+ 1,3043,33,2360,1,5122,5480,5444,5122,5444,
+ 5122,5122,5312,37,5306,5306,8,5456,5306,5801,
+ 1,1,1,2646,5441,5856,566,5122,5122,5122,
+ 43,5288,5288,1,129,415,229,5444,5444,5122,
+ 5122,161,345,5083,5080,2556,2140,627,331,2878,
+ 5944,331,5444,5444,1,5303,5303,5122,5300,5444,
+ 331,2680,363,331,124,5122,5879,5880,5881,1,
+ 5122,5122,5122,5122,5122,5122,5455,5079,5285,367,
+ 5171,5167,2556,5175,627,1,2878,5441,1,5122,
+ 5122,5122,5122,5122,5122,5122,5122,5122,5122,5122,
+ 5122,5122,5122,5122,5444,1933,161,5122,5122,5122,
+ 5122,5122,5122,5122,5122,5122,5122,5122,5122,5122,
+ 5444,5122,5122,5125,118,1971,5125,363,5125,5125,
+ 2477,2404,29,387,387,5282,387,387,5282,387,
+ 5282,5282,1933,3715,363,5125,5125,5125,1225,3757,
+ 2773,3142,3168,5444,387,387,387,5125,5125,5282,
+ 387,387,387,387,387,387,387,387,387,1,
+ 5171,5167,5358,5175,5364,5125,5361,5454,5444,38,
+ 5101,5098,237,5125,5095,5276,2878,5086,5125,5125,
+ 5125,5125,5125,5125,138,5282,5453,309,5171,5167,
+ 4504,5175,627,5379,2878,5282,5379,5125,5125,5125,
+ 5125,5125,5125,5125,5125,5125,5125,5125,5125,5125,
+ 5125,5125,36,5343,5340,5125,5125,5125,5125,5125,
+ 5125,5125,5125,5125,5125,5125,5125,5125,123,5125,
+ 5125,5444,5388,5388,229,5388,229,229,229,5391,
+ 229,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,5444,5444,229,1,
+ 1,8747,1,1,1,1,1,1,444,1,
+ 1,1,1,5444,5107,226,39,5107,5444,5385,
+ 5482,5454,331,5444,2278,331,139,1,1,1,
+ 3485,5450,5655,1541,458,3041,457,5704,5781,5782,
+ 5453,5444,220,5698,5705,5701,5677,5703,5702,5699,
+ 5700,5678,290,5458,5459,3142,3168,5944,5444,5388,
+ 5388,229,5388,229,229,229,229,229,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,3143,3169,230,1,1,8869,1,1,
- 1,1,1,1,445,1,1,1,1,1934,
- 5108,5445,5445,5108,140,5386,5445,5459,5460,5274,
- 5457,628,5445,2879,1,1,1,3486,2065,5657,
- 1542,5445,3042,395,5179,5179,1972,284,359,221,
- 346,5084,5081,2557,2141,628,332,2879,5445,332,
- 5445,44,5289,5289,5946,5445,5389,5389,230,5389,
- 230,230,230,5392,230,1,1,1,1,1,
+ 1,1,1,3949,5444,229,1,1,8747,1,
+ 1,1,1,1,1,1890,5449,5110,1,5113,
+ 1,5171,5167,4504,5175,627,5385,2878,347,113,
+ 134,1580,132,2795,1,1,1,3485,130,5655,
+ 1541,595,3041,370,5444,5083,5080,1187,2140,627,
+ 532,2878,3358,1847,1804,1761,1718,1675,1632,1589,
+ 1546,1503,1460,5444,5944,5444,5388,5388,229,5388,
+ 229,229,229,5394,229,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 5456,284,230,1,1,8869,1,1,1,1,
- 1,1,446,40,40,1,5484,5445,5298,5286,
- 5958,5298,40,5386,1934,5453,5484,5445,332,123,
- 4353,332,1,1,1,3486,1188,5657,1542,5887,
- 3042,3359,1,5304,5304,1,5301,221,332,5803,
- 364,332,5445,5451,1,5172,5168,4505,5176,628,
- 5453,2879,5946,5445,5389,5389,230,5389,230,230,
- 230,230,230,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1006,5452,
- 230,1,1,8869,1,1,1,1,1,1,
- 38,5307,5307,1,302,1,5172,5168,4505,5176,
- 628,5386,2879,310,5746,5445,364,3143,3169,5450,
- 1,1,1,3486,5452,5657,1542,2065,3042,5445,
- 5330,5327,310,364,346,40,40,2438,5484,5445,
- 332,319,4457,332,5371,5445,5337,5333,1282,5445,
- 5946,5445,5389,5389,230,5389,230,230,230,230,
- 230,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,139,5482,230,1,
- 1,8869,1,1,1,1,1,1,93,1,
- 1,1,1,5482,5310,406,5445,5310,1934,5386,
- 101,5445,40,5353,337,1934,5484,3277,1,1,
- 1,3486,1,5657,1542,2438,3042,96,40,40,
- 342,5484,5356,5374,1827,5445,5374,5783,5784,1,
- 5445,533,2438,30,46,5350,5350,5271,5946,5445,
- 5389,5389,230,5389,230,230,230,230,230,1,
+ 5444,1933,229,1,1,8747,1,1,1,1,
+ 1,1,445,39,39,1,5482,5444,5297,227,
+ 3278,5297,1285,5385,1,5452,112,3439,4249,5444,
+ 4271,1,1,1,3485,3276,5655,1541,2360,3041,
+ 2442,5704,5781,5782,2477,2404,219,5698,5705,5701,
+ 5677,5703,5702,5699,5700,5678,5444,37,5306,5306,
+ 3377,5944,5444,5388,5388,229,5388,229,229,229,
+ 5391,229,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1005,5451,229,
+ 1,1,8747,1,1,1,1,1,1,5444,
+ 5083,5080,1,2140,5128,1281,2878,92,1,1,
+ 5385,1,348,5309,122,4249,5309,4271,1,1,
+ 1,3485,5444,5655,1541,4339,3041,1,5171,5167,
+ 2556,5175,627,220,2878,5270,5444,5444,5171,5167,
+ 4504,5175,627,5379,2878,368,5379,1268,5944,5444,
+ 5388,5388,229,5388,229,229,229,5391,229,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,4635,5901,230,1,1,8869,
- 1,1,1,1,1,1,1934,2279,2854,1,
- 5445,342,5347,342,397,30,342,5386,388,5087,
- 302,40,3279,1934,4338,5484,1,1,1,3486,
- 5746,5657,1542,5274,3042,5881,5882,5883,5445,5459,
- 5460,5445,5445,2056,76,3378,5457,3464,5445,1,
- 1,1,1,1,1,1,5946,1,1,1,
+ 1,1,1,1,5444,1933,229,1,1,8747,
+ 1,1,1,1,1,1,5444,5329,5326,1,
+ 1933,1,5171,5167,4504,5175,627,5385,2878,309,
+ 5273,3142,3168,375,120,1,1,1,3485,2064,
+ 5655,1541,5444,3041,1330,5444,5458,5459,309,5444,
+ 220,157,345,39,39,2437,5482,100,331,3757,
+ 2773,331,5444,5444,5480,5944,5444,5388,5388,229,
+ 5388,229,229,229,229,229,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 663,663,5445,1,1,4574,5445,5330,5327,5445,
- 1925,5508,5509,127,441,1,1,1,425,1,
- 1,1,1,1,1,1,186,1,1,1,
- 1,1,1,1,1,5445,5456,5445,2015,1,
- 5982,3502,5404,3197,1,1,1,5172,5168,4831,
- 5176,4057,4140,2879,5482,4162,5132,5159,5165,5138,
- 5141,5153,5150,5156,5147,5144,5135,5162,5445,2819,
- 5090,4118,4087,1,312,5445,5445,2685,3627,3879,
- 581,5407,5105,4206,4184,5465,5445,632,618,781,
- 5467,654,3116,664,669,5468,5466,585,5461,5463,
- 5464,5462,5456,8,38,5307,5307,1374,2720,2654,
- 332,5442,40,40,5445,517,40,5084,5081,4831,
- 2141,4057,4140,2879,5439,4162,997,5710,5708,5717,
- 5716,5712,5713,5711,5714,5715,5718,5709,38,5307,
- 5307,4118,4087,5307,1096,5452,371,369,5436,38,
- 5307,5307,5482,4206,4184,5465,129,632,618,781,
- 5467,654,3116,664,455,5468,5466,585,5461,5463,
- 5464,5462,1,1,1,5442,104,1374,5445,3964,
- 529,49,164,5398,5423,5460,2681,5847,5452,142,
- 5084,5081,4831,2141,4057,4140,2879,5482,4162,997,
- 5710,5708,5717,5716,5712,5713,5711,5714,5715,5718,
- 5709,1,2819,5401,4118,4087,1286,1331,396,5445,
- 5093,3209,389,388,128,5292,4206,4184,5465,5445,
- 632,618,781,5467,654,3116,664,5460,5468,5466,
- 585,5461,5463,5464,5462,292,529,5445,164,49,
- 1374,2720,2654,5459,3558,40,40,1,5172,5168,
- 4831,5176,4057,4140,2879,5445,4162,5132,5159,5165,
- 5138,5141,5153,5150,5156,5147,5144,5135,5162,5120,
- 2819,5445,4118,4087,5445,663,3716,429,1895,5445,
- 321,396,1,5295,4206,4184,5465,5455,632,618,
- 781,5467,654,3116,664,5459,5468,5466,585,5461,
- 5463,5464,5462,5445,449,2103,5454,74,1374,2720,
- 2654,2796,421,40,40,40,5084,5081,4831,2141,
- 4057,4140,2879,5420,4162,997,5710,5708,5717,5716,
- 5712,5713,5711,5714,5715,5718,5709,663,36,5445,
- 4118,4087,100,2275,1934,5445,279,1,3571,5383,
- 926,5445,4206,4184,5465,5455,632,618,781,5467,
- 654,3116,664,5377,5468,5466,585,5461,5463,5464,
- 5462,1,509,5805,5454,5445,1374,2435,5445,5445,
- 507,5398,2191,5423,40,5084,5081,4831,2141,4057,
- 4140,2879,5420,4162,997,5710,5708,5717,5716,5712,
- 5713,5711,5714,5715,5718,5709,1051,3706,2449,4118,
- 4087,5401,5445,5445,5445,3106,1,1045,3496,3209,
- 5445,4206,4184,5465,192,632,618,781,5467,654,
- 3116,664,2,5468,5466,585,5461,5463,5464,5462,
- 1,5445,3862,192,4641,1374,5445,376,2153,4880,
- 3874,5445,5423,40,5084,5081,4831,2141,4057,4140,
- 2879,5449,4162,997,5710,5708,5717,5716,5712,5713,
- 5711,5714,5715,5718,5709,5445,3882,5445,4118,4087,
- 4633,5445,5445,5445,4899,3563,3245,3299,38,522,
- 4206,4184,5465,5445,632,618,781,5467,654,3116,
- 664,5445,5468,5466,585,5461,5463,5464,5462,40,
- 5084,5081,4831,2141,4057,4140,2879,5445,4162,997,
- 5710,5708,5717,5716,5712,5713,5711,5714,5715,5718,
- 5709,4112,5445,5445,4118,4087,4918,5445,5445,5445,
- 4450,4644,511,5445,5445,2449,4206,4184,5465,5445,
- 632,618,781,5467,654,3116,664,5445,5468,5466,
- 585,5461,5463,5464,5462,5445,3469,5445,224,1,
- 1374,5448,824,5445,5915,5909,1,5445,5913,5710,
- 5708,5717,5716,5712,5713,5711,5714,5715,5718,5709,
- 5706,5783,5784,5445,5907,5908,5700,5707,5703,5679,
- 5705,5704,5701,5702,5680,3353,5938,5939,3469,2022,
- 5916,5445,804,5445,5445,2998,5445,5445,5445,5445,
- 5445,5445,5445,5445,5445,5918,5445,5445,5445,5445,
- 5445,5445,5445,927,5445,1396,1406,5445,5919,5917,
- 5940,5445,5445,5445,5445,5445,5445,5445,5445,5445,
- 5445,5445,5445,5445,5445,5445,5445,5929,5928,5941,
- 5445,5445,5910,5911,5934,5935,5932,5933,5912,5914,
- 5936,5937,5445,5445,5445,5942,5445,5922,5923,5924,
- 5920,5921,5930,5931,5926,5925,5927,40,5084,5081,
- 4831,2141,4057,4140,2879,5445,4162,997,5710,5708,
- 5717,5716,5712,5713,5711,5714,5715,5718,5709,5445,
- 5445,5445,4118,4087,5445,5445,5445,5445,5445,5445,
- 5445,5445,5445,5445,4206,4184,5465,5445,632,618,
- 781,5467,654,3116,664,5445,5468,5466,585,5461,
- 5463,5464,5462,40,5084,5081,4831,2141,4057,4140,
- 2879,1880,4162,997,5710,5708,5717,5716,5712,5713,
- 5711,5714,5715,5718,5709,5445,5445,5445,4118,4087,
- 5445,5445,5445,5445,5445,5445,5445,5445,5445,5445,
- 4206,4184,5465,5445,632,618,781,5467,654,3116,
- 664,5445,5468,5466,585,5461,5463,5464,5462,5445,
- 5445,5445,5445,5445,1374,40,5084,5081,4843,2141,
- 4057,4140,2879,5445,4162,997,5710,5708,5717,5716,
- 5712,5713,5711,5714,5715,5718,5709,5445,5445,5445,
- 4118,4087,5445,5445,5445,5445,5445,5445,5445,5445,
- 5445,5445,4206,4184,5465,5445,632,618,781,5467,
- 654,3116,664,5445,5468,5466,585,5461,5463,5464,
- 5462,40,5084,5081,4831,2141,4057,4140,2879,5445,
- 4162,997,5710,5708,5717,5716,5712,5713,5711,5714,
- 5715,5718,5709,5445,5445,5445,4118,4087,5445,5445,
- 5445,5445,5445,5445,5445,5445,5445,5445,4206,4184,
- 5465,5445,632,618,781,5467,654,3116,664,5445,
- 5468,5466,585,5461,5463,5464,5462,40,5084,5081,
- 4831,2141,4057,4140,2879,5445,4162,997,5710,5708,
- 5717,5716,5712,5713,5711,5714,5715,5718,5709,5445,
- 5445,5445,4118,4087,5445,5445,5445,5445,5445,5445,
- 5445,5445,5445,5445,4206,4184,5465,5445,632,618,
- 781,5467,654,3116,664,5445,5468,5466,585,5461,
- 5463,5464,5462,5445,5084,5081,5445,5484,5445,5445,
- 5445,5445,5445,729,5710,5708,5717,5716,5712,5713,
- 5711,5714,5715,5718,5709,5706,5783,5784,5445,5445,
- 5445,5700,5707,5703,5679,5705,5704,5701,5702,5680,
- 5445,5445,5445,5844,5445,5445,5445,5445,5445,5445,
- 5445,5445,5445,242,5258,5254,5445,5262,5445,5445,
- 2087,5845,5846,729,5245,5251,5224,5227,5239,5236,
- 5242,5233,5230,5221,5248,5200,5194,5191,5445,5445,
- 5445,5218,5197,5209,5188,5203,5206,5215,5212,5185,
- 5445,5445,5445,5844,33,389,389,5280,389,389,
- 5280,389,5280,5280,5445,5445,5445,5445,5445,5445,
- 2087,5845,5846,5445,5445,5445,389,389,389,5445,
- 5445,5280,389,389,389,389,389,389,389,389,
- 389,5445,5445,5445,5445,5445,5445,5445,5445,5445,
- 5445,5445,5445,5445,5445,5445,5445,5445,5445,5445,
- 5445,5445,5445,5445,5445,5445,5445,5445,5280,5445,
- 5445,5445,5445,5445,5445,5445,5445,5445,5280
+ 1,119,5444,229,1,1,8747,1,1,1,
+ 1,1,1,95,39,39,1,5482,5444,5373,
+ 4227,879,5373,5444,5385,1933,3757,2773,405,301,
+ 4634,1417,1,1,1,3485,5352,5655,1541,5744,
+ 3041,1,5171,5167,4504,5175,627,5444,2878,1,
+ 5171,5167,2556,5175,627,5355,2878,3044,5444,5336,
+ 5332,3468,5944,5444,5388,5388,229,5388,229,229,
+ 229,229,229,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1924,185,
+ 229,1,1,8747,1,1,1,1,1,1,
+ 37,39,5444,1,5444,5482,5480,4352,5444,5458,
+ 5459,5385,1933,2064,5444,4450,5456,3196,515,1,
+ 1,1,3485,1826,5655,1541,1,3041,47,2437,
+ 5444,8668,8265,1,341,331,5083,5080,4504,2140,
+ 627,5403,2878,5444,8668,8265,5444,5444,5480,5944,
+ 5444,5388,5388,229,5388,229,229,229,229,229,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,5455,1138,229,1,1,
+ 8747,1,1,1,1,1,1,1,882,1933,
+ 1,5444,5267,5264,341,5450,341,396,5385,341,
+ 5455,387,3277,5879,5880,5881,1,1,1,3485,
+ 5435,5655,1541,1,3041,1,5171,5167,5358,5175,
+ 5364,363,5361,311,75,5444,2684,3463,5444,1,
+ 1,1,1,1,1,1,5944,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 5444,5444,662,1,1,5444,4227,879,4456,5444,
+ 5449,5506,5507,126,48,1,1,1,5459,1,
+ 1,1,1,1,1,1,5444,1,1,1,
+ 1,1,1,5444,362,5444,363,2014,1,5980,
+ 1044,5444,1095,1,1,1,5171,5167,4830,5175,
+ 4056,4139,2878,363,4161,5131,5158,5164,5137,5140,
+ 5152,5149,5155,5146,5143,5134,5161,5444,2818,5459,
+ 4117,4086,5845,5444,5083,5080,5444,2140,627,580,
+ 2878,5104,4205,4183,5463,5444,631,617,780,5465,
+ 653,3115,663,668,5466,5464,584,5460,5461,5462,
+ 37,5306,5306,5956,3195,1373,331,2719,2653,318,
+ 39,39,5370,516,39,5083,5080,4830,2140,4056,
+ 4139,2878,5438,4161,996,5708,5706,5715,5714,5710,
+ 5711,5709,5712,5713,5716,5707,5444,5458,5459,4117,
+ 4086,627,5444,2878,5885,4573,1,5444,5480,2437,
+ 3626,4205,4183,5463,5270,631,617,780,5465,653,
+ 3115,663,428,5466,5464,584,5460,5461,5462,45,
+ 5349,5349,1933,5444,1373,5444,1,5444,5444,5329,
+ 5326,5422,5444,5450,528,5451,141,5083,5080,4830,
+ 2140,4056,4139,2878,5444,4161,996,5708,5706,5715,
+ 5714,5710,5711,5709,5712,5713,5716,5707,5444,1933,
+ 1,4117,4086,37,5306,5306,3495,5346,163,5273,
+ 128,29,5444,4205,4183,5463,5480,631,617,780,
+ 5465,653,3115,663,925,5466,5464,584,5460,5461,
+ 5462,3501,2853,3196,5444,3985,1373,3878,5449,528,
+ 5899,39,39,1,5171,5167,4830,5175,4056,4139,
+ 2878,5480,4161,5131,5158,5164,5137,5140,5152,5149,
+ 5155,5146,5143,5134,5161,2818,662,3331,4117,4086,
+ 395,5444,5444,163,388,320,1894,127,5291,5454,
+ 4205,4183,5463,424,631,617,780,5465,653,3115,
+ 663,5444,5466,5464,584,5460,5461,5462,5453,103,
+ 5444,5444,3963,1373,2719,2653,99,5444,39,39,
+ 39,5083,5080,4830,2140,4056,4139,2878,5419,4161,
+ 996,5708,5706,5715,5714,5710,5711,5709,5712,5713,
+ 5716,5707,2818,5444,521,4117,4086,2274,1933,5444,
+ 5444,278,3570,1,5382,5294,39,4205,4183,5463,
+ 5482,631,617,780,5465,653,3115,663,5444,5466,
+ 5464,584,5460,5461,5462,1,1,5444,2055,1050,
+ 1373,2719,2653,291,5444,5397,5397,5422,39,5083,
+ 5080,4830,2140,4056,4139,2878,5419,4161,996,5708,
+ 5706,5715,5714,5710,5711,5709,5712,5713,5716,5707,
+ 29,440,454,4117,4086,5400,5400,48,4337,387,
+ 5444,5458,5444,3208,3208,4205,4183,5463,395,631,
+ 617,780,5465,653,3115,663,73,5466,5464,584,
+ 5460,5461,5462,5803,1,5444,1,823,1373,5913,
+ 5907,1,2102,5911,5454,5422,289,448,5444,191,
+ 5444,5444,3468,3105,426,5086,5089,5092,5444,5905,
+ 5906,4640,5458,5453,5119,662,449,2795,191,420,
+ 308,5936,5937,662,5444,5914,5444,4879,5444,4632,
+ 5444,5376,5444,4898,5444,3562,1,4917,5444,5916,
+ 3705,4449,5444,5444,1,4643,5444,926,5444,1395,
+ 1405,5444,5917,5915,5938,35,3881,5444,5444,508,
+ 506,5444,5444,5444,5444,5444,789,5444,510,2434,
+ 2152,5927,5926,5939,1089,2997,5908,5909,5932,5933,
+ 5930,5931,5910,5912,5934,5935,2544,5444,2190,5940,
+ 2801,5920,5921,5922,5918,5919,5928,5929,5924,5923,
+ 5925,39,5083,5080,4830,2140,4056,4139,2878,5448,
+ 4161,996,5708,5706,5715,5714,5710,5711,5709,5712,
+ 5713,5716,5707,3244,2448,2,4117,4086,3861,3873,
+ 3298,2448,3557,3352,4111,5444,2021,803,4205,4183,
+ 5463,5444,631,617,780,5465,653,3115,663,5444,
+ 5466,5464,584,5460,5461,5462,39,5083,5080,4830,
+ 2140,4056,4139,2878,5444,4161,996,5708,5706,5715,
+ 5714,5710,5711,5709,5712,5713,5716,5707,5444,5444,
+ 37,4117,4086,5444,5444,5444,5444,5444,5444,5444,
+ 5444,5444,5444,4205,4183,5463,5444,631,617,780,
+ 5465,653,3115,663,5444,5466,5464,584,5460,5461,
+ 5462,5444,5444,5444,5444,5444,1373,5444,5447,39,
+ 5083,5080,4830,2140,4056,4139,2878,5444,4161,996,
+ 5708,5706,5715,5714,5710,5711,5709,5712,5713,5716,
+ 5707,5444,5444,5444,4117,4086,5444,5444,5444,5444,
+ 5444,5444,5444,5444,5444,5444,4205,4183,5463,5444,
+ 631,617,780,5465,653,3115,663,5444,5466,5464,
+ 584,5460,5461,5462,39,5083,5080,4830,2140,4056,
+ 4139,2878,1879,4161,996,5708,5706,5715,5714,5710,
+ 5711,5709,5712,5713,5716,5707,5444,5444,5444,4117,
+ 4086,5444,5444,5444,5444,5444,5444,5444,5444,5444,
+ 5444,4205,4183,5463,5444,631,617,780,5465,653,
+ 3115,663,5444,5466,5464,584,5460,5461,5462,5444,
+ 5444,5444,5444,5444,1373,39,5083,5080,4842,2140,
+ 4056,4139,2878,5444,4161,996,5708,5706,5715,5714,
+ 5710,5711,5709,5712,5713,5716,5707,5444,5444,5444,
+ 4117,4086,5444,5444,5444,5444,5444,5444,5444,5444,
+ 5444,5444,4205,4183,5463,5444,631,617,780,5465,
+ 653,3115,663,5444,5466,5464,584,5460,5461,5462,
+ 39,5083,5080,4830,2140,4056,4139,2878,5444,4161,
+ 996,5708,5706,5715,5714,5710,5711,5709,5712,5713,
+ 5716,5707,5444,5444,5444,4117,4086,5444,5444,5444,
+ 5444,5444,5444,5444,5444,5444,5444,4205,4183,5463,
+ 5444,631,617,780,5465,653,3115,663,5444,5466,
+ 5464,584,5460,5461,5462,39,5083,5080,4830,2140,
+ 4056,4139,2878,5444,4161,996,5708,5706,5715,5714,
+ 5710,5711,5709,5712,5713,5716,5707,5444,5444,5444,
+ 4117,4086,5444,5444,5444,5444,5444,5444,5444,5444,
+ 5444,5444,4205,4183,5463,5444,631,617,780,5465,
+ 653,3115,663,5444,5466,5464,584,5460,5461,5462,
+ 5444,5083,5080,5444,5482,5444,5444,5444,5444,5444,
+ 728,5708,5706,5715,5714,5710,5711,5709,5712,5713,
+ 5716,5707,5704,5781,5782,5444,5444,5444,5698,5705,
+ 5701,5677,5703,5702,5699,5700,5678,5444,5444,5444,
+ 5842,5444,5444,5444,5444,5444,5444,5444,5444,241,
+ 5257,5253,5444,5261,5444,5444,2086,5843,5844,728,
+ 5244,5250,5223,5226,5238,5235,5241,5232,5229,5220,
+ 5247,5199,5193,5190,5444,5444,5444,5217,5196,5208,
+ 5187,5202,5205,5214,5211,5184,5444,5444,5444,5842,
+ 32,388,388,5279,388,388,5279,388,5279,5279,
+ 5444,5444,5444,5444,5444,2086,5843,5844,5444,5444,
+ 5444,5444,388,388,388,5444,223,5279,388,388,
+ 388,388,388,388,388,388,388,5708,5706,5715,
+ 5714,5710,5711,5709,5712,5713,5716,5707,5704,5781,
+ 5782,5444,5444,5444,5698,5705,5701,5677,5703,5702,
+ 5699,5700,5678,5279,5444,5444,5444,5444,5444,5444,
+ 5444,5444,5444,5279
};
};
public final static char termAction[] = TermAction.termAction;
@@ -1817,60 +1809,60 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP
public interface Asb {
public final static char asb[] = {0,
- 728,94,45,88,770,675,675,675,675,1113,
- 770,780,780,591,780,256,29,258,46,46,
- 46,46,46,46,46,46,46,782,788,793,
- 790,797,795,802,800,804,803,805,317,806,
- 45,29,631,631,631,631,85,830,102,102,
- 777,631,501,206,780,780,102,85,206,206,
- 197,29,945,630,1028,1115,1050,29,780,782,
- 914,914,830,45,46,46,46,46,46,46,
+ 723,93,45,87,764,670,670,670,670,1105,
+ 764,774,774,586,774,253,29,255,46,46,
+ 46,46,46,46,46,46,46,776,782,787,
+ 784,791,789,796,794,798,797,799,314,800,
+ 45,29,626,626,626,626,84,824,101,101,
+ 771,626,496,204,774,774,101,84,204,204,
+ 195,29,938,625,1020,1107,1042,29,774,776,
+ 907,907,824,45,46,46,46,46,46,46,
46,46,46,46,46,46,46,46,46,46,
46,46,46,45,45,45,45,45,45,45,
- 45,45,45,45,45,46,206,206,941,941,
- 941,941,415,206,102,102,1111,1039,1050,314,
- 1050,309,1050,504,1050,1034,1113,85,501,501,
- 102,675,46,1111,460,552,542,541,419,1057,
- 1057,1113,258,501,630,45,83,1027,206,82,
- 84,82,206,501,790,790,788,788,788,795,
- 795,795,795,793,793,800,797,797,803,802,
- 804,1127,805,770,770,770,770,85,85,941,
- 940,941,777,85,367,370,311,414,312,1113,
- 85,85,415,941,197,501,821,206,554,556,
- 85,1028,46,631,786,162,206,1115,85,85,
- 84,1028,45,45,45,45,45,770,770,29,
- 368,773,370,85,530,510,528,415,314,455,
- 85,415,85,206,546,534,545,556,415,83,
- 206,786,1111,1027,1115,85,83,206,206,206,
- 206,830,830,368,773,665,85,370,1127,312,
- 675,417,155,1117,370,530,529,530,530,415,
- 455,455,85,85,718,45,543,543,515,515,
- 85,550,1111,685,206,85,786,787,786,45,
- 162,160,782,1115,206,206,773,772,1028,875,
- 314,941,675,82,921,1119,79,770,530,530,
- 530,530,85,455,665,663,664,718,45,45,
- 556,85,1028,206,554,534,718,1092,786,830,
- 46,501,160,773,83,875,875,264,386,83,
- 530,530,79,826,46,1127,523,668,85,1111,
- 530,530,209,665,46,85,935,556,718,787,
- 206,501,827,665,873,988,359,770,312,301,
- 875,875,386,83,530,314,1113,1119,46,46,
- 1027,79,677,658,210,85,935,206,935,263,
- 359,873,681,1113,665,940,675,96,96,827,
- 314,9,677,85,770,209,85,1113,1113,85,
- 770,928,935,264,875,827,522,826,206,1113,
- 85,386,264,386,939,939,943,10,1113,85,
- 830,85,85,85,557,928,875,45,218,79,
- 827,85,85,386,631,631,943,9,1127,46,
- 1127,827,8,770,770,770,10,770,85,325,
- 827,827,85,314,206,85,85,205,930,665,
- 206,665,314,85,827,940,1,770,1,10,
- 1127,10,29,29,27,926,29,827,827,526,
- 943,631,930,665,218,827,589,685,10,206,
- 79,206,27,359,770,206,943,218,96,206,
- 206,1105,10,526,10,827,359,45,10,7,
- 664,939,314,314,1107,45,8,830,827,206,
- 825,217,82,10,206,827,825,825,10
+ 45,45,45,45,45,46,204,204,934,934,
+ 934,934,411,204,101,101,1103,1031,1042,311,
+ 1042,306,1042,499,1042,1026,1105,84,496,496,
+ 101,670,46,1103,456,547,537,536,415,1049,
+ 1049,1105,255,496,625,45,82,1019,204,81,
+ 83,81,204,496,784,784,782,782,782,789,
+ 789,789,789,787,787,794,791,791,797,796,
+ 798,1119,799,764,764,764,764,84,84,934,
+ 933,934,771,84,363,366,308,410,309,1105,
+ 84,84,411,934,195,496,815,204,549,551,
+ 84,1020,46,626,780,160,204,1107,84,84,
+ 83,1020,45,45,45,45,45,764,764,29,
+ 364,767,366,84,525,505,523,411,311,451,
+ 84,411,84,204,541,529,540,551,411,82,
+ 204,780,1103,1019,1107,84,82,204,204,204,
+ 204,824,824,364,767,660,84,366,1119,309,
+ 670,413,153,1109,366,525,524,525,525,411,
+ 451,451,84,84,713,45,538,538,510,510,
+ 84,545,1103,680,204,84,780,781,780,45,
+ 160,158,776,1107,204,204,767,766,1020,868,
+ 311,934,670,81,914,1111,78,764,525,525,
+ 525,525,84,451,660,658,659,713,45,45,
+ 551,84,1020,204,549,529,713,1084,780,824,
+ 46,496,158,767,82,868,868,261,382,82,
+ 525,525,78,820,46,1119,518,663,84,1103,
+ 525,525,207,660,46,84,928,551,713,781,
+ 204,496,821,660,866,980,355,764,309,298,
+ 868,868,382,82,525,311,1105,1111,46,46,
+ 1019,78,672,653,208,84,928,204,928,260,
+ 355,866,676,1105,660,933,670,95,95,821,
+ 311,9,672,84,764,207,84,1105,1105,84,
+ 764,921,928,261,868,821,517,820,204,1105,
+ 84,382,261,382,932,932,936,10,1105,84,
+ 824,84,84,84,552,921,868,45,216,78,
+ 821,84,84,382,626,626,936,9,1119,46,
+ 1119,821,8,764,764,764,10,764,84,322,
+ 821,821,84,311,204,84,84,203,923,660,
+ 204,660,311,84,821,933,1,764,1,10,
+ 1119,10,29,29,27,919,29,821,821,521,
+ 936,626,923,660,216,821,584,680,10,204,
+ 78,204,27,355,764,204,936,216,95,204,
+ 204,1097,10,521,10,821,355,45,10,7,
+ 659,932,311,311,1099,45,8,824,821,204,
+ 819,215,81,10,204,821,819,819,10
};
};
public final static char asb[] = Asb.asb;
@@ -1878,119 +1870,118 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP
public interface Asr {
public final static byte asr[] = {0,
- 87,103,104,105,48,73,119,122,72,62,
- 75,63,60,65,77,79,85,83,76,81,
- 82,84,86,68,78,80,27,8,28,40,
- 23,57,29,30,31,32,33,34,35,58,
- 36,59,22,24,61,66,67,10,43,47,
+ 86,102,103,104,48,72,118,121,71,61,
+ 74,62,59,64,76,78,84,82,75,80,
+ 81,83,85,67,77,79,27,8,28,40,
+ 23,56,29,30,31,32,33,34,35,57,
+ 36,58,22,24,60,65,66,10,43,47,
45,42,51,12,21,11,17,15,16,18,
- 19,14,13,20,52,55,53,54,39,50,
- 44,49,37,38,25,26,41,46,9,6,
- 3,4,7,5,1,2,0,8,73,118,
- 74,27,71,121,0,69,70,71,1,2,
- 0,28,11,12,40,23,42,66,13,43,
- 57,29,30,44,14,31,32,15,16,33,
- 67,34,45,17,18,46,35,47,58,49,
- 61,50,36,51,59,19,22,20,24,21,
- 52,53,54,39,3,37,38,9,6,25,
- 26,41,69,55,7,1,2,4,10,5,
- 0,92,90,25,26,93,94,88,89,56,
- 95,96,97,98,99,100,101,102,107,73,
- 91,70,108,109,110,111,112,113,114,115,
- 116,117,118,72,27,121,69,1,2,9,
- 6,4,3,64,71,74,8,0,22,1,
- 2,4,103,104,105,0,72,61,37,38,
- 9,6,25,26,41,46,3,4,52,55,
- 53,54,39,50,44,49,12,21,11,17,
- 15,16,18,19,14,13,20,10,43,47,
- 45,42,51,68,8,7,5,1,2,67,
- 66,0,68,40,23,13,57,29,14,31,
- 32,15,16,33,34,17,18,35,58,36,
- 59,19,22,20,24,21,12,11,28,8,
- 3,9,6,27,63,65,87,30,62,48,
- 7,1,2,5,4,10,60,0,48,4,
- 73,1,2,68,8,0,69,73,91,71,
- 118,74,72,121,11,12,42,66,13,43,
- 44,14,15,16,67,45,17,18,46,47,
- 49,61,50,51,10,19,20,21,52,53,
- 54,39,37,38,25,26,41,55,8,27,
- 5,7,1,2,4,3,9,6,0,87,
- 60,7,103,104,105,63,8,3,9,6,
- 5,73,72,27,62,28,11,12,40,23,
- 13,57,29,30,14,31,32,15,16,33,
- 34,17,18,35,58,36,10,59,19,22,
- 20,24,21,4,1,2,48,0,28,11,
- 12,23,13,29,30,14,31,32,15,16,
- 33,7,34,17,18,35,36,19,22,20,
- 24,21,1,2,8,64,9,6,5,4,
- 74,27,3,0,1,2,8,72,0,66,
- 67,3,10,43,47,45,42,51,12,21,
- 11,17,15,16,18,19,14,13,20,52,
- 55,53,54,39,50,44,49,5,7,4,
- 37,38,9,6,25,26,41,46,1,2,
- 118,8,0,4,8,68,1,2,0,4,
- 8,73,68,0,75,69,73,91,74,68,
- 64,3,8,71,27,70,0,4,56,8,
- 73,68,0,9,6,7,5,4,1,2,
- 3,64,69,70,71,8,74,91,0,5,
- 7,3,64,6,9,91,28,11,12,23,
- 13,57,29,30,14,31,32,15,16,33,
- 34,17,18,35,58,36,10,59,19,22,
- 20,24,21,1,2,4,74,8,40,0,
- 67,66,25,26,6,93,94,99,9,100,
- 5,41,70,56,69,111,112,108,109,110,
- 116,115,117,89,88,113,114,97,98,95,
- 96,101,102,37,38,71,90,106,64,3,
- 28,11,12,40,23,13,57,29,30,14,
- 31,32,15,16,33,34,17,18,35,58,
- 36,10,59,19,20,24,21,1,2,4,
- 22,0,70,71,72,8,0,73,8,64,
- 3,70,71,27,56,0,8,68,71,0,
- 8,68,70,0,28,11,12,40,23,13,
- 57,29,30,14,31,32,15,16,33,34,
- 17,18,35,58,36,10,59,19,22,20,
- 24,21,1,2,4,91,0,23,61,24,
- 8,69,91,70,71,74,0,11,12,42,
- 66,13,43,44,14,15,16,67,7,45,
- 17,18,46,47,49,61,50,51,10,19,
- 20,21,52,53,54,39,1,2,37,38,
- 9,6,25,26,5,41,4,55,62,3,
- 0,61,23,7,24,5,1,2,4,75,
- 68,120,106,37,38,64,3,92,90,6,
- 93,94,25,26,89,88,56,95,96,97,
- 98,9,99,100,101,69,91,74,121,70,
- 108,109,110,111,112,113,114,115,116,117,
- 73,118,102,107,72,71,27,8,0,8,
- 74,11,12,42,66,13,43,44,14,15,
- 16,67,7,45,17,18,46,47,49,61,
- 50,51,10,19,20,21,52,53,54,1,
- 2,3,37,38,9,6,25,26,5,41,
- 4,55,39,0,65,28,11,12,40,23,
- 13,57,29,87,30,14,31,32,15,16,
- 33,60,34,17,18,35,58,36,10,59,
- 19,63,22,20,24,21,8,3,9,6,
- 72,27,62,7,4,48,5,1,2,0,
- 8,73,68,75,0,76,0,23,24,75,
- 3,73,27,68,61,8,91,74,70,71,
- 69,0,119,0,66,67,37,38,9,6,
- 25,26,5,41,46,3,4,7,52,55,
- 53,54,39,50,44,49,12,21,11,17,
- 15,16,18,19,14,13,20,10,43,47,
- 45,42,51,64,1,2,0,40,23,13,
- 57,29,14,31,32,15,16,33,34,17,
- 18,35,58,36,10,59,19,22,20,24,
- 21,12,11,28,8,3,9,27,63,60,
- 65,87,30,62,56,4,6,7,1,2,
- 5,48,0,10,57,40,58,59,12,21,
- 11,17,15,16,18,19,14,13,20,75,
- 73,91,118,72,68,121,120,92,106,90,
- 37,38,25,26,93,94,88,89,56,69,
- 95,96,97,98,99,100,101,102,107,70,
- 108,109,110,111,112,113,114,115,116,117,
- 71,28,23,29,30,31,32,33,34,35,
- 36,22,24,27,8,74,3,64,7,5,
- 9,6,1,2,4,0,27,8,3,7,
- 5,9,6,4,1,2,73,0
+ 19,14,13,20,52,53,54,39,50,44,
+ 49,37,38,25,26,41,46,9,6,3,
+ 4,7,5,1,2,0,8,72,117,73,
+ 27,70,120,0,68,69,70,1,2,0,
+ 28,11,12,40,23,42,65,13,43,56,
+ 29,30,44,14,31,32,15,16,33,66,
+ 34,45,17,18,46,35,47,57,49,60,
+ 50,36,51,58,19,22,20,24,21,52,
+ 53,54,39,3,37,38,9,6,25,26,
+ 41,68,7,1,2,4,10,5,0,91,
+ 89,25,26,92,93,87,88,55,94,95,
+ 96,97,98,99,100,101,106,72,90,69,
+ 107,108,109,110,111,112,113,114,115,116,
+ 117,71,27,120,68,1,2,9,6,4,
+ 3,63,70,73,8,0,22,1,2,4,
+ 102,103,104,0,71,60,37,38,9,6,
+ 25,26,41,46,3,4,52,53,54,39,
+ 50,44,49,12,21,11,17,15,16,18,
+ 19,14,13,20,10,43,47,45,42,51,
+ 67,8,7,5,1,2,66,65,0,67,
+ 40,23,13,56,29,14,31,32,15,16,
+ 33,34,17,18,35,57,36,58,19,22,
+ 20,24,21,12,11,28,8,3,9,6,
+ 27,62,64,86,30,61,48,7,1,2,
+ 5,4,10,59,0,48,4,72,1,2,
+ 67,8,0,68,72,90,70,117,73,71,
+ 120,11,12,42,65,13,43,44,14,15,
+ 16,66,45,17,18,46,47,49,60,50,
+ 51,10,19,20,21,52,53,54,39,37,
+ 38,25,26,41,8,27,5,7,1,2,
+ 4,3,9,6,0,86,59,7,102,103,
+ 104,62,8,3,9,6,5,72,71,27,
+ 61,28,11,12,40,23,13,56,29,30,
+ 14,31,32,15,16,33,34,17,18,35,
+ 57,36,10,58,19,22,20,24,21,4,
+ 1,2,48,0,28,11,12,23,13,29,
+ 30,14,31,32,15,16,33,7,34,17,
+ 18,35,36,19,22,20,24,21,1,2,
+ 8,63,9,6,5,4,73,27,3,0,
+ 1,2,8,71,0,65,66,3,10,43,
+ 47,45,42,51,12,21,11,17,15,16,
+ 18,19,14,13,20,52,53,54,39,50,
+ 44,49,5,7,4,37,38,9,6,25,
+ 26,41,46,1,2,117,8,0,4,8,
+ 67,1,2,0,4,8,72,67,0,74,
+ 68,72,90,73,67,63,3,8,70,27,
+ 69,0,4,55,8,72,67,0,9,6,
+ 7,5,4,1,2,3,63,68,69,70,
+ 8,73,90,0,5,7,3,63,6,9,
+ 90,28,11,12,23,13,56,29,30,14,
+ 31,32,15,16,33,34,17,18,35,57,
+ 36,10,58,19,22,20,24,21,1,2,
+ 4,73,8,40,0,66,65,25,26,6,
+ 92,93,98,9,99,5,41,69,55,68,
+ 110,111,107,108,109,115,114,116,88,87,
+ 112,113,96,97,94,95,100,101,37,38,
+ 70,89,105,63,3,28,11,12,40,23,
+ 13,56,29,30,14,31,32,15,16,33,
+ 34,17,18,35,57,36,10,58,19,20,
+ 24,21,1,2,4,22,0,69,70,71,
+ 8,0,72,8,63,3,69,70,27,55,
+ 0,8,67,70,0,8,67,69,0,28,
+ 11,12,40,23,13,56,29,30,14,31,
+ 32,15,16,33,34,17,18,35,57,36,
+ 10,58,19,22,20,24,21,1,2,4,
+ 90,0,23,60,24,8,68,90,69,70,
+ 73,0,11,12,42,65,13,43,44,14,
+ 15,16,66,7,45,17,18,46,47,49,
+ 60,50,51,10,19,20,21,52,53,54,
+ 39,1,2,37,38,9,6,25,26,5,
+ 41,4,61,3,0,60,23,7,24,5,
+ 1,2,4,74,67,119,105,37,38,63,
+ 3,91,89,6,92,93,25,26,88,87,
+ 55,94,95,96,97,9,98,99,100,68,
+ 90,73,120,69,107,108,109,110,111,112,
+ 113,114,115,116,72,117,101,106,71,70,
+ 27,8,0,8,73,11,12,42,65,13,
+ 43,44,14,15,16,66,7,45,17,18,
+ 46,47,49,60,50,51,10,19,20,21,
+ 52,53,54,1,2,3,37,38,9,6,
+ 25,26,5,41,4,39,0,64,28,11,
+ 12,40,23,13,56,29,86,30,14,31,
+ 32,15,16,33,59,34,17,18,35,57,
+ 36,10,58,19,62,22,20,24,21,8,
+ 3,9,6,71,27,61,7,4,48,5,
+ 1,2,0,8,72,67,74,0,75,0,
+ 23,24,74,3,72,27,67,60,8,90,
+ 73,69,70,68,0,118,0,65,66,37,
+ 38,9,6,25,26,5,41,46,3,4,
+ 7,52,53,54,39,50,44,49,12,21,
+ 11,17,15,16,18,19,14,13,20,10,
+ 43,47,45,42,51,63,1,2,0,40,
+ 23,13,56,29,14,31,32,15,16,33,
+ 34,17,18,35,57,36,10,58,19,22,
+ 20,24,21,12,11,28,8,3,9,27,
+ 62,59,64,86,30,61,55,4,6,7,
+ 1,2,5,48,0,10,56,40,57,58,
+ 12,21,11,17,15,16,18,19,14,13,
+ 20,74,72,90,117,71,67,120,119,91,
+ 105,89,37,38,25,26,92,93,87,88,
+ 55,68,94,95,96,97,98,99,100,101,
+ 106,69,107,108,109,110,111,112,113,114,
+ 115,116,70,28,23,29,30,31,32,33,
+ 34,35,36,22,24,27,8,73,3,63,
+ 7,5,9,6,1,2,4,0,27,8,
+ 3,7,5,9,6,4,1,2,72,0
};
};
public final static byte asr[] = Asr.asr;
@@ -2100,14 +2091,14 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP
107,104,54,106,11,12,120,47,64,66,
70,73,76,83,89,98,7,8,112,53,
14,55,61,67,84,88,90,93,94,97,
- 99,109,110,111,123,19,63,91,101,77,
- 95,122,103,1,46,58,78,121,20,33,
- 44,119,30,118,96,108,49,50,56,57,
- 59,69,71,72,85,92,65,17,18,6,
- 32,4,15,16,21,22,23,24,25,26,
- 27,28,80,81,82,5,29,34,35,36,
- 37,38,39,40,41,42,43,117,51,3,
- 124,62,116
+ 99,109,110,111,19,63,91,101,77,95,
+ 122,103,1,46,58,78,121,20,33,44,
+ 119,30,118,96,108,49,50,56,57,59,
+ 69,71,72,85,92,65,17,18,6,32,
+ 4,15,16,21,22,23,24,25,26,27,
+ 28,80,81,82,5,29,34,35,36,37,
+ 38,39,40,41,42,43,117,51,3,123,
+ 62,116
};
};
public final static char terminalIndex[] = TerminalIndex.terminalIndex;
@@ -2115,26 +2106,26 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP
public interface NonterminalIndex {
public final static char nonterminalIndex[] = {0,
- 131,136,137,0,0,135,0,0,230,236,
- 134,0,144,133,0,0,143,149,0,0,
- 150,181,159,160,161,162,163,164,152,165,
- 166,127,167,142,168,169,0,129,132,130,
- 170,0,139,138,153,178,0,0,0,0,
- 0,0,0,0,146,173,0,156,0,205,
- 0,188,202,206,0,0,128,172,0,0,
- 0,0,0,0,207,176,0,0,0,0,
- 0,0,126,179,0,0,187,0,0,203,
- 213,158,209,210,211,0,0,147,0,0,
- 208,221,175,197,0,0,212,0,0,0,
- 0,241,242,0,148,180,190,191,192,193,
- 194,196,199,0,200,0,215,218,0,220,
- 0,239,0,240,0,0,140,141,145,0,
- 0,155,157,0,171,0,182,183,184,185,
- 186,189,0,0,195,0,198,204,0,216,
- 217,0,0,222,225,0,227,229,0,233,
- 234,235,238,125,0,151,154,0,174,0,
- 177,0,0,201,214,219,0,0,223,224,
- 226,228,0,231,232,237,243,244,0,0,
+ 130,135,136,0,0,134,0,0,229,235,
+ 133,0,143,132,0,0,142,148,0,0,
+ 149,180,158,159,160,161,162,163,151,164,
+ 165,126,166,141,167,168,0,128,131,129,
+ 169,0,138,137,152,177,0,0,0,0,
+ 0,0,0,0,145,172,0,155,0,204,
+ 0,187,201,205,0,0,127,171,0,0,
+ 0,0,0,0,206,175,0,0,0,0,
+ 0,0,125,178,0,0,186,0,0,202,
+ 212,157,208,209,210,0,0,146,0,0,
+ 207,220,174,196,0,0,211,0,0,0,
+ 0,240,241,0,147,179,189,190,191,192,
+ 193,195,198,0,199,0,214,217,0,219,
+ 0,238,0,239,0,0,139,140,144,0,
+ 0,154,156,0,170,0,181,182,183,184,
+ 185,188,0,0,194,0,197,203,0,215,
+ 216,0,0,221,224,0,226,228,0,232,
+ 233,234,237,124,0,150,153,0,173,0,
+ 176,0,0,200,213,218,0,0,222,223,
+ 225,227,0,230,231,236,242,243,0,0,
0,0
};
};
@@ -2200,18 +2191,18 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP
public interface ScopeLa {
public final static byte scopeLa[] = {
- 119,74,74,72,74,74,74,74,74,72,
- 27,72,72,1,69,1,74,122,68,3,
- 74,69,69,69,1,1,27,72,68,72,
- 1,1,1,72,1,1,4,69,71,27,
- 1,1,69,74,74,74,119,74,1,27,
- 1,27,27,72,118,74,74,74,74,74,
- 118,1,74,1,74,74,74,73,4,6,
- 1,1,74,69,69,69,69,74,3,1,
- 1,74,74,3,1,118,74,1,1,1,
- 27,74,118,74,5,74,1,48,70,73,
- 74,1,48,76,75,27,27,4,4,4,
- 4,3,1,68,1,1,3
+ 118,73,73,71,73,73,73,73,73,71,
+ 27,71,71,1,68,1,73,121,67,3,
+ 73,68,68,68,1,1,27,71,67,71,
+ 1,1,1,71,1,1,4,68,70,27,
+ 1,1,68,73,73,73,118,73,1,27,
+ 1,27,27,71,117,73,73,73,73,73,
+ 117,1,73,1,73,73,73,72,4,6,
+ 1,1,73,68,68,68,68,73,3,1,
+ 1,73,73,3,1,117,73,1,1,1,
+ 27,73,117,73,5,73,1,48,69,72,
+ 73,1,48,75,74,27,27,4,4,4,
+ 4,3,1,67,1,1,3
};
};
public final static byte scopeLa[] = ScopeLa.scopeLa;
@@ -2238,71 +2229,71 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP
public interface ScopeRhs {
public final static char scopeRhs[] = {0,
- 321,3,61,0,127,0,320,3,119,0,
- 127,173,0,127,179,75,0,217,0,254,
- 127,56,125,0,20,0,296,127,56,48,
- 0,20,53,0,33,133,0,20,53,0,
- 0,296,127,56,48,205,0,20,179,0,
- 254,127,56,133,0,180,128,0,142,0,
- 220,3,295,0,295,0,2,0,127,0,
- 254,127,56,132,0,180,128,225,0,180,
- 128,22,225,0,180,128,316,22,0,129,
- 188,167,128,0,129,0,188,167,128,0,
- 135,129,0,171,0,312,127,171,0,127,
- 171,0,223,129,0,167,311,244,0,137,
- 0,0,0,0,136,0,0,0,0,310,
- 127,163,253,0,128,0,253,0,130,0,
- 0,128,0,309,127,163,252,0,128,0,
- 0,44,128,0,0,152,3,0,127,283,
- 282,127,75,281,171,0,282,127,75,281,
- 171,0,216,0,217,0,281,171,0,96,
- 0,0,216,0,217,0,204,96,0,0,
- 216,0,217,0,282,127,281,171,0,216,
- 0,204,0,0,216,0,228,127,3,0,
- 127,0,0,0,0,0,228,127,3,217,
- 0,224,3,0,213,127,0,209,0,147,
- 0,177,167,128,0,10,0,0,0,215,
- 64,0,126,0,228,127,3,183,0,183,
- 0,2,0,0,127,0,0,0,0,0,
- 199,3,0,202,0,237,127,163,39,30,
- 0,180,128,60,63,0,197,129,0,129,
- 180,128,279,63,0,180,128,279,63,0,
- 180,128,70,124,60,0,237,127,163,60,
- 0,237,127,163,227,60,0,277,127,163,
- 124,306,57,0,277,127,163,306,57,0,
- 180,128,276,57,0,136,0,188,180,128,
- 276,244,0,137,0,180,128,276,244,0,
- 188,167,128,10,0,167,128,10,0,167,
- 128,0,93,137,0,269,127,145,0,269,
- 127,171,0,162,85,0,301,161,303,304,
- 3,82,0,127,172,0,303,304,3,82,
- 0,129,0,127,172,0,162,3,76,191,
- 81,0,127,129,0,191,81,0,108,2,
- 132,127,129,0,226,3,76,0,199,168,
- 0,33,170,0,168,0,176,33,170,0,
- 226,3,86,0,191,155,226,3,84,0,
- 62,172,0,226,3,84,0,127,172,62,
- 172,0,302,127,163,0,162,0,215,78,
- 0,30,172,0,162,107,159,0,30,170,
- 0,178,3,0,127,150,0,220,3,0,
- 215,64,266,0,162,64,0,178,3,298,
- 67,128,0,127,0,0,0,0,298,67,
- 128,0,2,146,127,0,0,0,0,178,
- 3,46,0,148,0,126,48,167,128,0,
- 31,148,0,93,137,31,148,0,221,180,
- 128,0,147,31,148,0,178,3,51,0,
- 162,3,51,0,162,3,69,178,56,42,
- 0,178,56,42,0,20,2,132,127,0,
- 162,3,69,178,56,45,0,178,56,45,
- 0,162,3,69,178,56,47,0,178,56,
- 47,0,162,3,69,178,56,43,0,178,
- 56,43,0,220,3,126,188,167,128,10,
- 0,126,188,167,128,10,0,137,2,0,
- 127,0,220,3,125,259,167,128,10,0,
- 259,167,128,10,0,136,2,0,127,0,
- 220,3,136,0,220,3,140,0,162,64,
- 140,0,261,0,31,0,31,140,0,166,
- 0,135,0,162,3,0
+ 320,3,60,0,126,0,319,3,118,0,
+ 126,172,0,126,178,74,0,216,0,253,
+ 126,55,124,0,20,0,295,126,55,48,
+ 0,20,53,0,33,132,0,20,53,0,
+ 0,295,126,55,48,204,0,20,178,0,
+ 253,126,55,132,0,179,127,0,141,0,
+ 219,3,294,0,294,0,2,0,126,0,
+ 253,126,55,131,0,179,127,224,0,179,
+ 127,22,224,0,179,127,315,22,0,128,
+ 187,166,127,0,128,0,187,166,127,0,
+ 134,128,0,170,0,311,126,170,0,126,
+ 170,0,222,128,0,166,310,243,0,136,
+ 0,0,0,0,135,0,0,0,0,309,
+ 126,162,252,0,127,0,252,0,129,0,
+ 0,127,0,308,126,162,251,0,127,0,
+ 0,44,127,0,0,151,3,0,126,282,
+ 281,126,74,280,170,0,281,126,74,280,
+ 170,0,215,0,216,0,280,170,0,96,
+ 0,0,215,0,216,0,203,96,0,0,
+ 215,0,216,0,281,126,280,170,0,215,
+ 0,203,0,0,215,0,227,126,3,0,
+ 126,0,0,0,0,0,227,126,3,216,
+ 0,223,3,0,212,126,0,208,0,146,
+ 0,176,166,127,0,10,0,0,0,214,
+ 63,0,125,0,227,126,3,182,0,182,
+ 0,2,0,0,126,0,0,0,0,0,
+ 198,3,0,201,0,236,126,162,39,30,
+ 0,179,127,59,62,0,196,128,0,128,
+ 179,127,278,62,0,179,127,278,62,0,
+ 179,127,69,123,59,0,236,126,162,59,
+ 0,236,126,162,226,59,0,276,126,162,
+ 123,305,56,0,276,126,162,305,56,0,
+ 179,127,275,56,0,135,0,187,179,127,
+ 275,243,0,136,0,179,127,275,243,0,
+ 187,166,127,10,0,166,127,10,0,166,
+ 127,0,93,136,0,268,126,144,0,268,
+ 126,170,0,161,84,0,300,160,302,303,
+ 3,81,0,126,171,0,302,303,3,81,
+ 0,128,0,126,171,0,161,3,75,190,
+ 80,0,126,128,0,190,80,0,108,2,
+ 131,126,128,0,225,3,75,0,198,167,
+ 0,33,169,0,167,0,175,33,169,0,
+ 225,3,85,0,190,154,225,3,83,0,
+ 62,171,0,225,3,83,0,126,171,62,
+ 171,0,301,126,162,0,161,0,214,77,
+ 0,30,171,0,161,106,158,0,30,169,
+ 0,177,3,0,126,149,0,219,3,0,
+ 214,63,265,0,161,63,0,177,3,297,
+ 66,127,0,126,0,0,0,0,297,66,
+ 127,0,2,145,126,0,0,0,0,177,
+ 3,46,0,147,0,125,48,166,127,0,
+ 31,147,0,93,136,31,147,0,220,179,
+ 127,0,146,31,147,0,177,3,51,0,
+ 161,3,51,0,161,3,68,177,55,42,
+ 0,177,55,42,0,20,2,131,126,0,
+ 161,3,68,177,55,45,0,177,55,45,
+ 0,161,3,68,177,55,47,0,177,55,
+ 47,0,161,3,68,177,55,43,0,177,
+ 55,43,0,219,3,125,187,166,127,10,
+ 0,125,187,166,127,10,0,136,2,0,
+ 126,0,219,3,124,258,166,127,10,0,
+ 258,166,127,10,0,135,2,0,126,0,
+ 219,3,135,0,219,3,139,0,161,63,
+ 139,0,260,0,31,0,31,139,0,165,
+ 0,134,0,161,3,0
};
};
public final static char scopeRhs[] = ScopeRhs.scopeRhs;
@@ -2310,38 +2301,38 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP
public interface ScopeState {
public final static char scopeState[] = {0,
- 4823,4918,4899,4633,0,2742,1843,560,967,0,
- 3683,3628,3569,3461,3407,3353,3299,3245,3191,2900,
- 2846,3563,0,682,0,1536,1493,741,0,2545,
- 2435,0,3683,3628,3376,3041,3569,3461,3407,3353,
- 3299,3245,3040,3191,2900,2846,3669,3651,0,3872,
- 3197,3855,0,1090,926,0,1877,1174,0,4721,
- 4701,0,2708,1220,0,4551,4721,4538,2999,4701,
- 2975,3536,4616,2802,2392,3950,4505,2634,2557,2518,
- 0,4737,4638,0,4737,4638,3970,4451,4441,3863,
- 4358,4348,4338,3853,0,4737,4638,3970,4451,4441,
- 3863,4358,4348,4338,3853,3683,3628,3569,3461,3407,
- 3353,3299,3245,3191,2900,2846,0,3378,2880,0,
- 2392,4551,3572,4538,2999,3413,2634,3864,3380,3356,
- 2852,2989,821,3268,1035,0,669,581,0,880,
- 0,2500,2233,2060,1931,2999,2989,2975,2557,2518,
- 2438,861,0,4570,538,2990,0,4769,4765,4754,
- 4743,3996,3981,3670,3521,3448,3340,4893,3232,2887,
- 4889,4790,4000,2815,3580,2552,2540,742,3550,3012,
- 0,3027,3020,4769,4765,4754,2962,2869,4743,2324,
- 3996,3981,3670,3521,3448,3222,3112,3101,3340,2699,
- 4893,2681,2625,1282,1139,3232,2887,932,2472,4889,
- 3652,4790,3214,4000,2815,3580,737,2552,2540,742,
- 4570,628,2990,3550,3012,2457,2313,2229,2141,804,
- 2975,3536,4616,2802,2392,4551,3950,4721,4538,2999,
- 4505,2634,2557,4701,2518,1269,940,669,581,3116,
- 4316,4294,1188,2279,2361,2329,2478,2405,596,3169,
- 3143,2819,2747,2720,2654,3831,3807,3783,3758,2774,
- 4272,4250,4228,4206,4184,4162,4140,4118,4087,4057,
- 632,2022,2241,2191,2153,2103,2065,1051,1331,1286,
- 1226,883,1972,1934,827,747,691,1891,1848,1805,
- 1762,1719,1676,1633,1590,1547,1504,1461,538,1418,
- 1374,1145,1006,963,1096,0
+ 4822,4917,4898,4632,0,2741,1842,559,966,0,
+ 3682,3627,3568,3460,3406,3352,3298,3244,3190,2899,
+ 2845,3562,0,681,0,1535,1492,740,0,2544,
+ 2434,0,3682,3627,3375,3040,3568,3460,3406,3352,
+ 3298,3244,3039,3190,2899,2845,3668,3650,0,3871,
+ 3196,3854,0,1089,925,0,1876,1173,0,4720,
+ 4700,0,2707,1219,0,4550,4720,4537,2998,4700,
+ 2974,3535,4615,2801,2391,3949,4504,2633,2556,2517,
+ 0,4736,4637,0,4736,4637,3969,4450,4440,3862,
+ 4357,4347,4337,3852,0,4736,4637,3969,4450,4440,
+ 3862,4357,4347,4337,3852,3682,3627,3568,3460,3406,
+ 3352,3298,3244,3190,2899,2845,0,3377,2879,0,
+ 2391,4550,3571,4537,2998,3412,2633,3863,3379,3355,
+ 2851,2988,820,3267,1034,0,668,580,0,879,
+ 0,2499,2232,2059,1930,2998,2988,2974,2556,2517,
+ 2437,860,0,4569,537,2989,0,4768,4764,4753,
+ 4742,3995,3980,3669,3520,3447,3339,4892,3231,2886,
+ 4888,4789,3999,2814,3579,2551,2539,741,3549,3011,
+ 0,3026,3019,4768,4764,4753,2961,2868,4742,2323,
+ 3995,3980,3669,3520,3447,3221,3111,3100,3339,2698,
+ 4892,2680,2624,1281,1138,3231,2886,931,2471,4888,
+ 3651,4789,3213,3999,2814,3579,736,2551,2539,741,
+ 4569,627,2989,3549,3011,2456,2312,2228,2140,803,
+ 2974,3535,4615,2801,2391,4550,3949,4720,4537,2998,
+ 4504,2633,2556,4700,2517,1268,939,668,580,3115,
+ 4315,4293,1187,2278,2360,2328,2477,2404,595,3168,
+ 3142,2818,2746,2719,2653,3830,3806,3782,3757,2773,
+ 4271,4249,4227,4205,4183,4161,4139,4117,4086,4056,
+ 631,2021,2240,2190,2152,2102,2064,1050,1330,1285,
+ 1225,882,1971,1933,826,746,690,1890,1847,1804,
+ 1761,1718,1675,1632,1589,1546,1503,1460,537,1417,
+ 1373,1144,1005,962,1095,0
};
};
public final static char scopeState[] = ScopeState.scopeState;
@@ -2349,60 +2340,60 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP
public interface InSymb {
public final static char inSymb[] = {0,
- 0,297,127,268,51,42,45,47,43,10,
- 136,125,132,7,133,4,3,128,46,41,
- 5,26,25,6,9,38,37,140,146,148,
- 147,150,149,153,151,156,154,158,61,159,
- 71,3,56,56,56,56,128,3,56,56,
- 168,127,64,3,66,67,56,5,178,162,
- 168,127,66,67,167,166,125,3,124,126,
- 106,120,3,64,90,92,26,25,94,93,
- 6,96,95,69,56,88,89,9,98,97,
- 100,99,101,117,116,115,114,113,112,111,
- 110,109,108,70,107,102,178,162,178,178,
- 178,178,167,220,127,127,127,270,271,253,
- 272,244,273,57,274,275,10,128,64,64,
- 127,125,155,127,64,3,218,217,136,126,
- 125,10,128,64,298,3,188,4,178,48,
- 128,48,220,162,147,147,146,146,146,149,
- 149,149,149,148,148,151,150,150,154,153,
- 156,162,158,69,69,69,69,188,259,254,
- 257,254,213,128,177,163,311,276,306,276,
- 128,180,167,254,213,215,159,224,127,3,
- 128,167,206,3,299,168,152,261,188,128,
- 180,167,73,3,3,3,3,126,125,71,
- 167,6,127,167,231,126,125,128,124,163,
- 128,167,48,228,229,145,230,127,167,48,
- 178,127,127,4,221,5,48,162,162,162,
- 162,3,3,177,127,310,128,169,225,60,
- 48,205,63,171,313,126,125,232,232,180,
- 163,127,180,188,155,70,224,199,187,183,
- 128,3,127,71,228,188,155,263,266,64,
- 181,4,124,126,220,220,6,185,167,163,
- 227,56,48,279,281,127,3,183,232,232,
- 127,127,188,127,277,124,278,127,70,70,
- 3,180,167,199,127,213,155,126,127,3,
- 64,162,4,127,188,127,163,69,56,128,
- 75,127,213,312,73,290,199,125,128,127,
- 127,127,73,277,70,71,222,127,127,263,
- 220,215,129,237,30,48,171,65,60,63,
- 239,127,127,180,127,282,73,71,73,70,
- 167,213,315,225,22,128,127,228,222,39,
- 127,3,124,60,237,296,48,10,40,129,
- 282,163,294,128,295,71,128,22,316,180,
- 61,155,127,127,163,269,248,280,39,70,
- 128,71,69,56,231,231,283,127,71,180,
- 3,180,128,128,3,127,127,3,70,71,
- 155,128,180,127,70,70,127,302,80,78,
- 1,162,8,86,84,82,81,76,83,85,
- 79,77,60,75,220,180,180,321,222,237,
- 152,163,252,180,227,296,284,119,8,73,
- 215,73,3,3,3,191,3,124,162,124,
- 179,71,127,127,163,227,69,3,73,226,
- 168,226,304,145,76,226,127,127,40,91,
- 320,168,155,199,155,303,127,3,155,284,
- 309,231,155,155,127,70,191,161,269,162,
- 190,71,70,122,301,155,190,8,155
+ 0,296,126,267,51,42,45,47,43,10,
+ 135,124,131,7,132,4,3,127,46,41,
+ 5,26,25,6,9,38,37,139,145,147,
+ 146,149,148,152,150,155,153,157,60,158,
+ 70,3,55,55,55,55,127,3,55,55,
+ 167,126,63,3,65,66,55,5,177,161,
+ 167,126,65,66,166,165,124,3,123,125,
+ 105,119,3,63,89,91,26,25,93,92,
+ 6,95,94,68,55,87,88,9,97,96,
+ 99,98,100,116,115,114,113,112,111,110,
+ 109,108,107,69,106,101,177,161,177,177,
+ 177,177,166,219,126,126,126,269,270,252,
+ 271,243,272,56,273,274,10,127,63,63,
+ 126,124,154,126,63,3,217,216,135,125,
+ 124,10,127,63,297,3,187,4,177,48,
+ 127,48,219,161,146,146,145,145,145,148,
+ 148,148,148,147,147,150,149,149,153,152,
+ 155,161,157,68,68,68,68,187,258,253,
+ 256,253,212,127,176,162,310,275,305,275,
+ 127,179,166,253,212,214,158,223,126,3,
+ 127,166,205,3,298,167,151,260,187,127,
+ 179,166,72,3,3,3,3,125,124,70,
+ 166,6,126,166,230,125,124,127,123,162,
+ 127,166,48,227,228,144,229,126,166,48,
+ 177,126,126,4,220,5,48,161,161,161,
+ 161,3,3,176,126,309,127,168,224,59,
+ 48,204,62,170,312,125,124,231,231,179,
+ 162,126,179,187,154,69,223,198,186,182,
+ 127,3,126,70,227,187,154,262,265,63,
+ 180,4,123,125,219,219,6,184,166,162,
+ 226,55,48,278,280,126,3,182,231,231,
+ 126,126,187,126,276,123,277,126,69,69,
+ 3,179,166,198,126,212,154,125,126,3,
+ 63,161,4,126,187,126,162,68,55,127,
+ 74,126,212,311,72,289,198,124,127,126,
+ 126,126,72,276,69,70,221,126,126,262,
+ 219,214,128,236,30,48,170,64,59,62,
+ 238,126,126,179,126,281,72,70,72,69,
+ 166,212,314,224,22,127,126,227,221,39,
+ 126,3,123,59,236,295,48,10,40,128,
+ 281,162,293,127,294,70,127,22,315,179,
+ 60,154,126,126,162,268,247,279,39,69,
+ 127,70,68,55,230,230,282,126,70,179,
+ 3,179,127,127,3,126,126,3,69,70,
+ 154,127,179,126,69,69,126,301,79,77,
+ 1,161,8,85,83,81,80,75,82,84,
+ 78,76,59,74,219,179,179,320,221,236,
+ 151,162,251,179,226,295,283,118,8,72,
+ 214,72,3,3,3,190,3,123,161,123,
+ 178,70,126,126,162,226,68,3,72,225,
+ 167,225,303,144,75,225,126,126,40,90,
+ 319,167,154,198,154,302,126,3,154,283,
+ 308,230,154,154,126,69,190,160,268,161,
+ 189,70,69,121,300,154,189,8,154
};
};
public final static char inSymb[] = InSymb.inSymb;
@@ -2533,7 +2524,6 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP
"SemiColon",
"LeftBrace",
"ERROR_TOKEN",
- "0",
"EOF_TOKEN",
"expression_parser_start",
"]",
@@ -2667,7 +2657,7 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP
public final String name(int index) { return name[index]; }
public final static int
- ERROR_SYMBOL = 62,
+ ERROR_SYMBOL = 61,
SCOPE_UBOUND = 116,
SCOPE_SIZE = 117,
MAX_NAME_LENGTH = 37;
@@ -2679,19 +2669,19 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP
public final static int
NUM_STATES = 539,
- NT_OFFSET = 123,
- LA_STATE_OFFSET = 5982,
+ NT_OFFSET = 122,
+ LA_STATE_OFFSET = 5980,
MAX_LA = 2147483647,
- NUM_RULES = 537,
+ NUM_RULES = 536,
NUM_NONTERMINALS = 202,
- NUM_SYMBOLS = 325,
+ NUM_SYMBOLS = 324,
SEGMENT_SIZE = 8192,
- START_STATE = 3207,
+ START_STATE = 3206,
IDENTIFIER_SYMBOL = 0,
- EOFT_SYMBOL = 121,
- EOLT_SYMBOL = 121,
- ACCEPT_ACTION = 5080,
- ERROR_ACTION = 5445;
+ EOFT_SYMBOL = 120,
+ EOLT_SYMBOL = 120,
+ ACCEPT_ACTION = 5079,
+ ERROR_ACTION = 5444;
public final static boolean BACKTRACK = true;
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParsersym.java
index 5566e9c2bec..3b82dd6b104 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParsersym.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParsersym.java
@@ -15,69 +15,69 @@ package org.eclipse.cdt.internal.core.dom.lrparser.cpp;
public interface CPPExpressionParsersym {
public final static int
- TK_asm = 65,
+ TK_asm = 64,
TK_auto = 28,
TK_bool = 11,
- TK_break = 77,
- TK_case = 78,
- TK_catch = 119,
+ TK_break = 76,
+ TK_case = 77,
+ TK_catch = 118,
TK_char = 12,
TK_class = 40,
TK_const = 23,
TK_const_cast = 42,
- TK_continue = 79,
- TK_default = 80,
- TK_delete = 66,
- TK_do = 81,
+ TK_continue = 78,
+ TK_default = 79,
+ TK_delete = 65,
+ TK_do = 80,
TK_double = 13,
TK_dynamic_cast = 43,
- TK_else = 122,
- TK_enum = 57,
+ TK_else = 121,
+ TK_enum = 56,
TK_explicit = 29,
- TK_export = 87,
+ TK_export = 86,
TK_extern = 30,
TK_false = 44,
TK_float = 14,
- TK_for = 82,
+ TK_for = 81,
TK_friend = 31,
- TK_goto = 83,
- TK_if = 84,
+ TK_goto = 82,
+ TK_if = 83,
TK_inline = 32,
TK_int = 15,
TK_long = 16,
TK_mutable = 33,
- TK_namespace = 60,
- TK_new = 67,
+ TK_namespace = 59,
+ TK_new = 66,
TK_operator = 7,
- TK_private = 103,
- TK_protected = 104,
- TK_public = 105,
+ TK_private = 102,
+ TK_protected = 103,
+ TK_public = 104,
TK_register = 34,
TK_reinterpret_cast = 45,
- TK_return = 85,
+ TK_return = 84,
TK_short = 17,
TK_signed = 18,
TK_sizeof = 46,
TK_static = 35,
TK_static_cast = 47,
- TK_struct = 58,
- TK_switch = 86,
+ TK_struct = 57,
+ TK_switch = 85,
TK_template = 48,
TK_this = 49,
- TK_throw = 61,
- TK_try = 75,
+ TK_throw = 60,
+ TK_try = 74,
TK_true = 50,
TK_typedef = 36,
TK_typeid = 51,
TK_typename = 10,
- TK_union = 59,
+ TK_union = 58,
TK_unsigned = 19,
- TK_using = 63,
+ TK_using = 62,
TK_virtual = 22,
TK_void = 20,
TK_volatile = 24,
TK_wchar_t = 21,
- TK_while = 76,
+ TK_while = 75,
TK_integer = 52,
TK_floating = 53,
TK_charconst = 54,
@@ -85,13 +85,13 @@ public interface CPPExpressionParsersym {
TK_identifier = 1,
TK_Completion = 2,
TK_EndOfCompletion = 8,
- TK_Invalid = 123,
- TK_LeftBracket = 64,
+ TK_Invalid = 122,
+ TK_LeftBracket = 63,
TK_LeftParen = 3,
- TK_Dot = 120,
- TK_DotStar = 92,
- TK_Arrow = 106,
- TK_ArrowStar = 90,
+ TK_Dot = 119,
+ TK_DotStar = 91,
+ TK_Arrow = 105,
+ TK_ArrowStar = 89,
TK_PlusPlus = 37,
TK_MinusMinus = 38,
TK_And = 9,
@@ -100,44 +100,43 @@ public interface CPPExpressionParsersym {
TK_Minus = 26,
TK_Tilde = 5,
TK_Bang = 41,
- TK_Slash = 93,
- TK_Percent = 94,
- TK_RightShift = 88,
- TK_LeftShift = 89,
- TK_LT = 56,
- TK_GT = 69,
- TK_LE = 95,
- TK_GE = 96,
- TK_EQ = 97,
- TK_NE = 98,
- TK_Caret = 99,
- TK_Or = 100,
- TK_AndAnd = 101,
- TK_OrOr = 102,
- TK_Question = 107,
- TK_Colon = 73,
+ TK_Slash = 92,
+ TK_Percent = 93,
+ TK_RightShift = 87,
+ TK_LeftShift = 88,
+ TK_LT = 55,
+ TK_GT = 68,
+ TK_LE = 94,
+ TK_GE = 95,
+ TK_EQ = 96,
+ TK_NE = 97,
+ TK_Caret = 98,
+ TK_Or = 99,
+ TK_AndAnd = 100,
+ TK_OrOr = 101,
+ TK_Question = 106,
+ TK_Colon = 72,
TK_ColonColon = 4,
- TK_DotDotDot = 91,
- TK_Assign = 70,
- TK_StarAssign = 108,
- TK_SlashAssign = 109,
- TK_PercentAssign = 110,
- TK_PlusAssign = 111,
- TK_MinusAssign = 112,
- TK_RightShiftAssign = 113,
- TK_LeftShiftAssign = 114,
- TK_AndAssign = 115,
- TK_CaretAssign = 116,
- TK_OrAssign = 117,
- TK_Comma = 71,
- TK_RightBracket = 118,
- TK_RightParen = 74,
- TK_RightBrace = 72,
+ TK_DotDotDot = 90,
+ TK_Assign = 69,
+ TK_StarAssign = 107,
+ TK_SlashAssign = 108,
+ TK_PercentAssign = 109,
+ TK_PlusAssign = 110,
+ TK_MinusAssign = 111,
+ TK_RightShiftAssign = 112,
+ TK_LeftShiftAssign = 113,
+ TK_AndAssign = 114,
+ TK_CaretAssign = 115,
+ TK_OrAssign = 116,
+ TK_Comma = 70,
+ TK_RightBracket = 117,
+ TK_RightParen = 73,
+ TK_RightBrace = 71,
TK_SemiColon = 27,
- TK_LeftBrace = 68,
- TK_ERROR_TOKEN = 62,
- TK_0 = 55,
- TK_EOF_TOKEN = 121;
+ TK_LeftBrace = 67,
+ TK_ERROR_TOKEN = 61,
+ TK_EOF_TOKEN = 120;
public final static String orderedTerminalSymbols[] = {
"",
@@ -195,7 +194,6 @@ public interface CPPExpressionParsersym {
"integer",
"floating",
"charconst",
- "0",
"LT",
"enum",
"struct",
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParser.java
index f097e86450f..ce4b0ccfcaf 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParser.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParser.java
@@ -28,6 +28,7 @@ import org.eclipse.cdt.core.dom.lrparser.action.TokenMap;
import org.eclipse.cdt.core.dom.ast.cpp.*;
import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPNodeFactory;
import org.eclipse.cdt.core.dom.lrparser.action.cpp.CPPBuildASTParserAction;
+import org.eclipse.cdt.core.dom.lrparser.action.cpp.CPPSecondaryParserFactory;
public class CPPNoCastExpressionParser extends PrsStream implements RuleAction , IParserActionTokenProvider, IParser
{
@@ -173,7 +174,7 @@ public CPPNoCastExpressionParser() { // constructor
}
private void initActions(IASTTranslationUnit tu, Set<IParser.Options> options) {
- action = new CPPBuildASTParserAction ( CPPNodeFactory.getDefault() , this, tu, astStack);
+ action = new CPPBuildASTParserAction (this, tu, astStack, CPPNodeFactory.getDefault() , CPPSecondaryParserFactory.getDefault() );
action.setParserOptions(options);
@@ -235,8 +236,8 @@ public void setTokens(List<IToken> tokens) {
addToken(new Token(null, 0, 0, CPPNoCastExpressionParsersym.TK_EOF_TOKEN));
}
-public CPPNoCastExpressionParser(String[] mapFrom) { // constructor
- tokenMap = new TokenMap(CPPNoCastExpressionParsersym.orderedTerminalSymbols, mapFrom);
+public CPPNoCastExpressionParser(IParserActionTokenProvider parser) { // constructor
+ tokenMap = new TokenMap(CPPNoCastExpressionParsersym.orderedTerminalSymbols, parser.getOrderedTerminalSymbols());
}
@@ -271,1707 +272,1701 @@ public CPPNoCastExpressionParser(String[] mapFrom) { // constructor
}
//
- // Rule 17: literal ::= 0
+ // Rule 17: literal ::= floating
//
- case 17: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_integer_constant); break;
+ case 17: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_float_constant); break;
}
//
- // Rule 18: literal ::= floating
+ // Rule 18: literal ::= charconst
//
- case 18: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_float_constant); break;
+ case 18: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_char_constant); break;
}
//
- // Rule 19: literal ::= charconst
+ // Rule 19: literal ::= stringlit
//
- case 19: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_char_constant); break;
+ case 19: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_string_literal); break;
}
//
- // Rule 20: literal ::= stringlit
+ // Rule 20: literal ::= true
//
- case 20: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_string_literal); break;
+ case 20: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_true); break;
}
//
- // Rule 21: literal ::= true
+ // Rule 21: literal ::= false
//
- case 21: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_true); break;
+ case 21: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_false); break;
}
//
- // Rule 22: literal ::= false
+ // Rule 22: literal ::= this
//
- case 22: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_false); break;
+ case 22: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_this); break;
}
//
- // Rule 23: literal ::= this
+ // Rule 24: primary_expression ::= ( expression )
//
- case 23: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_this); break;
+ case 24: { action. consumeExpressionBracketed(); break;
}
//
- // Rule 25: primary_expression ::= ( expression )
+ // Rule 26: id_expression ::= qualified_or_unqualified_name
//
- case 25: { action. consumeExpressionBracketed(); break;
+ case 26: { action. consumeExpressionName(); break;
}
//
- // Rule 27: id_expression ::= qualified_or_unqualified_name
+ // Rule 33: unqualified_id_name ::= ~ identifier_token
//
- case 27: { action. consumeExpressionName(); break;
+ case 33: { action. consumeDestructorName(); break;
}
//
- // Rule 34: unqualified_id_name ::= ~ identifier_token
+ // Rule 34: unqualified_id_name ::= ~ template_id_name
//
- case 34: { action. consumeDestructorName(); break;
+ case 34: { action. consumeDestructorNameTemplateId(); break;
}
//
- // Rule 35: unqualified_id_name ::= ~ template_id_name
+ // Rule 35: identifier_name ::= identifier_token
//
- case 35: { action. consumeDestructorNameTemplateId(); break;
+ case 35: { action. consumeIdentifierName(); break;
}
//
- // Rule 36: identifier_name ::= identifier_token
+ // Rule 36: template_opt ::= template
//
- case 36: { action. consumeIdentifierName(); break;
+ case 36: { action. consumePlaceHolder(); break;
}
//
- // Rule 37: template_opt ::= template
+ // Rule 37: template_opt ::= $Empty
//
- case 37: { action. consumePlaceHolder(); break;
+ case 37: { action. consumeEmpty(); break;
}
//
- // Rule 38: template_opt ::= $Empty
+ // Rule 38: dcolon_opt ::= ::
//
- case 38: { action. consumeEmpty(); break;
+ case 38: { action. consumeToken(); break;
}
//
- // Rule 39: dcolon_opt ::= ::
+ // Rule 39: dcolon_opt ::= $Empty
//
- case 39: { action. consumeToken(); break;
+ case 39: { action. consumeEmpty(); break;
}
//
- // Rule 40: dcolon_opt ::= $Empty
+ // Rule 40: qualified_id_name ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name
//
- case 40: { action. consumeEmpty(); break;
+ case 40: { action. consumeQualifiedId(true); break;
}
//
- // Rule 41: qualified_id_name ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name
+ // Rule 41: qualified_id_name ::= :: unqualified_id_name
//
- case 41: { action. consumeQualifiedId(true); break;
+ case 41: { action. consumeGlobalQualifiedId(); break;
}
//
- // Rule 42: qualified_id_name ::= :: unqualified_id_name
+ // Rule 42: nested_name_specifier ::= class_or_namespace_name :: nested_name_specifier_with_template
//
- case 42: { action. consumeGlobalQualifiedId(); break;
+ case 42: { action. consumeNestedNameSpecifier(true); break;
}
//
- // Rule 43: nested_name_specifier ::= class_or_namespace_name :: nested_name_specifier_with_template
+ // Rule 43: nested_name_specifier ::= class_or_namespace_name ::
//
- case 43: { action. consumeNestedNameSpecifier(true); break;
+ case 43: { action. consumeNestedNameSpecifier(false); break;
}
//
- // Rule 44: nested_name_specifier ::= class_or_namespace_name ::
+ // Rule 44: nested_name_specifier_with_template ::= class_or_namespace_name_with_template :: nested_name_specifier_with_template
//
- case 44: { action. consumeNestedNameSpecifier(false); break;
+ case 44: { action. consumeNestedNameSpecifier(true); break;
}
//
- // Rule 45: nested_name_specifier_with_template ::= class_or_namespace_name_with_template :: nested_name_specifier_with_template
+ // Rule 45: nested_name_specifier_with_template ::= class_or_namespace_name_with_template ::
//
- case 45: { action. consumeNestedNameSpecifier(true); break;
+ case 45: { action. consumeNestedNameSpecifier(false); break;
}
//
- // Rule 46: nested_name_specifier_with_template ::= class_or_namespace_name_with_template ::
+ // Rule 46: class_or_namespace_name_with_template ::= template_opt class_or_namespace_name
//
- case 46: { action. consumeNestedNameSpecifier(false); break;
+ case 46: { action. consumeNameWithTemplateKeyword(); break;
}
//
- // Rule 47: class_or_namespace_name_with_template ::= template_opt class_or_namespace_name
+ // Rule 48: nested_name_specifier_opt ::= $Empty
//
- case 47: { action. consumeNameWithTemplateKeyword(); break;
+ case 48: { action. consumeNestedNameSpecifierEmpty(); break;
}
//
- // Rule 49: nested_name_specifier_opt ::= $Empty
+ // Rule 51: postfix_expression ::= postfix_expression [ expression ]
//
- case 49: { action. consumeNestedNameSpecifierEmpty(); break;
+ case 51: { action. consumeExpressionArraySubscript(); break;
}
//
- // Rule 52: postfix_expression ::= postfix_expression [ expression ]
+ // Rule 52: postfix_expression ::= postfix_expression ( expression_list_opt )
//
- case 52: { action. consumeExpressionArraySubscript(); break;
+ case 52: { action. consumeExpressionFunctionCall(); break;
}
//
- // Rule 53: postfix_expression ::= postfix_expression ( expression_list_opt )
+ // Rule 53: postfix_expression ::= simple_type_specifier ( expression_list_opt )
//
- case 53: { action. consumeExpressionFunctionCall(); break;
+ case 53: { action. consumeExpressionSimpleTypeConstructor(); break;
}
//
- // Rule 54: postfix_expression ::= simple_type_specifier ( expression_list_opt )
+ // Rule 54: postfix_expression ::= typename dcolon_opt nested_name_specifier <empty> identifier_name ( expression_list_opt )
//
- case 54: { action. consumeExpressionSimpleTypeConstructor(); break;
+ case 54: { action. consumeExpressionTypeName(); break;
}
//
- // Rule 55: postfix_expression ::= typename dcolon_opt nested_name_specifier <empty> identifier_name ( expression_list_opt )
+ // Rule 55: postfix_expression ::= typename dcolon_opt nested_name_specifier template_opt template_id_name ( expression_list_opt )
//
case 55: { action. consumeExpressionTypeName(); break;
}
//
- // Rule 56: postfix_expression ::= typename dcolon_opt nested_name_specifier template_opt template_id_name ( expression_list_opt )
+ // Rule 56: postfix_expression ::= postfix_expression . qualified_or_unqualified_name
//
- case 56: { action. consumeExpressionTypeName(); break;
+ case 56: { action. consumeExpressionFieldReference(false, false); break;
}
//
- // Rule 57: postfix_expression ::= postfix_expression . qualified_or_unqualified_name
+ // Rule 57: postfix_expression ::= postfix_expression -> qualified_or_unqualified_name
//
- case 57: { action. consumeExpressionFieldReference(false, false); break;
+ case 57: { action. consumeExpressionFieldReference(true, false); break;
}
//
- // Rule 58: postfix_expression ::= postfix_expression -> qualified_or_unqualified_name
+ // Rule 58: postfix_expression ::= postfix_expression . template qualified_or_unqualified_name
//
- case 58: { action. consumeExpressionFieldReference(true, false); break;
+ case 58: { action. consumeExpressionFieldReference(false, true); break;
}
//
- // Rule 59: postfix_expression ::= postfix_expression . template qualified_or_unqualified_name
+ // Rule 59: postfix_expression ::= postfix_expression -> template qualified_or_unqualified_name
//
- case 59: { action. consumeExpressionFieldReference(false, true); break;
+ case 59: { action. consumeExpressionFieldReference(true, true); break;
}
//
- // Rule 60: postfix_expression ::= postfix_expression -> template qualified_or_unqualified_name
+ // Rule 60: postfix_expression ::= postfix_expression . pseudo_destructor_name
//
- case 60: { action. consumeExpressionFieldReference(true, true); break;
+ case 60: { action. consumeExpressionFieldReference(false, false); break;
}
//
- // Rule 61: postfix_expression ::= postfix_expression . pseudo_destructor_name
+ // Rule 61: postfix_expression ::= postfix_expression -> pseudo_destructor_name
//
- case 61: { action. consumeExpressionFieldReference(false, false); break;
+ case 61: { action. consumeExpressionFieldReference(true, false); break;
}
//
- // Rule 62: postfix_expression ::= postfix_expression -> pseudo_destructor_name
+ // Rule 62: postfix_expression ::= postfix_expression ++
//
- case 62: { action. consumeExpressionFieldReference(true, false); break;
+ case 62: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break;
}
//
- // Rule 63: postfix_expression ::= postfix_expression ++
+ // Rule 63: postfix_expression ::= postfix_expression --
//
- case 63: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break;
+ case 63: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break;
}
//
- // Rule 64: postfix_expression ::= postfix_expression --
+ // Rule 64: postfix_expression ::= dynamic_cast < type_id > ( expression )
//
- case 64: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break;
+ case 64: { action. consumeExpressionCast(ICPPASTCastExpression.op_dynamic_cast); break;
}
//
- // Rule 65: postfix_expression ::= dynamic_cast < type_id > ( expression )
+ // Rule 65: postfix_expression ::= static_cast < type_id > ( expression )
//
- case 65: { action. consumeExpressionCast(ICPPASTCastExpression.op_dynamic_cast); break;
+ case 65: { action. consumeExpressionCast(ICPPASTCastExpression.op_static_cast); break;
}
//
- // Rule 66: postfix_expression ::= static_cast < type_id > ( expression )
+ // Rule 66: postfix_expression ::= reinterpret_cast < type_id > ( expression )
//
- case 66: { action. consumeExpressionCast(ICPPASTCastExpression.op_static_cast); break;
+ case 66: { action. consumeExpressionCast(ICPPASTCastExpression.op_reinterpret_cast); break;
}
//
- // Rule 67: postfix_expression ::= reinterpret_cast < type_id > ( expression )
+ // Rule 67: postfix_expression ::= const_cast < type_id > ( expression )
//
- case 67: { action. consumeExpressionCast(ICPPASTCastExpression.op_reinterpret_cast); break;
+ case 67: { action. consumeExpressionCast(ICPPASTCastExpression.op_const_cast); break;
}
//
- // Rule 68: postfix_expression ::= const_cast < type_id > ( expression )
+ // Rule 68: postfix_expression ::= typeid ( expression )
//
- case 68: { action. consumeExpressionCast(ICPPASTCastExpression.op_const_cast); break;
+ case 68: { action. consumeExpressionUnaryOperator(ICPPASTUnaryExpression.op_typeid); break;
}
//
- // Rule 69: postfix_expression ::= typeid ( expression )
+ // Rule 69: postfix_expression ::= typeid ( type_id )
//
- case 69: { action. consumeExpressionUnaryOperator(ICPPASTUnaryExpression.op_typeid); break;
+ case 69: { action. consumeExpressionTypeId(ICPPASTTypeIdExpression.op_typeid); break;
}
//
- // Rule 70: postfix_expression ::= typeid ( type_id )
+ // Rule 70: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt type_name :: destructor_type_name
//
- case 70: { action. consumeExpressionTypeId(ICPPASTTypeIdExpression.op_typeid); break;
+ case 70: { action. consumePsudoDestructorName(true); break;
}
//
- // Rule 71: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt type_name :: destructor_type_name
+ // Rule 71: pseudo_destructor_name ::= dcolon_opt nested_name_specifier template template_id_name :: destructor_type_name
//
case 71: { action. consumePsudoDestructorName(true); break;
}
//
- // Rule 72: pseudo_destructor_name ::= dcolon_opt nested_name_specifier template template_id_name :: destructor_type_name
+ // Rule 72: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt destructor_type_name
//
- case 72: { action. consumePsudoDestructorName(true); break;
+ case 72: { action. consumePsudoDestructorName(false); break;
}
//
- // Rule 73: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt destructor_type_name
+ // Rule 73: destructor_type_name ::= ~ identifier_token
//
- case 73: { action. consumePsudoDestructorName(false); break;
+ case 73: { action. consumeDestructorName(); break;
}
//
- // Rule 74: destructor_type_name ::= ~ identifier_token
+ // Rule 74: destructor_type_name ::= ~ template_id_name
//
- case 74: { action. consumeDestructorName(); break;
+ case 74: { action. consumeDestructorNameTemplateId(); break;
}
//
- // Rule 75: destructor_type_name ::= ~ template_id_name
+ // Rule 78: unary_expression ::= ++ cast_expression
//
- case 75: { action. consumeDestructorNameTemplateId(); break;
+ case 78: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixIncr); break;
}
//
- // Rule 79: unary_expression ::= ++ cast_expression
+ // Rule 79: unary_expression ::= -- cast_expression
//
- case 79: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixIncr); break;
+ case 79: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixDecr); break;
}
//
- // Rule 80: unary_expression ::= -- cast_expression
+ // Rule 80: unary_expression ::= & cast_expression
//
- case 80: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixDecr); break;
+ case 80: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_amper); break;
}
//
- // Rule 81: unary_expression ::= & cast_expression
+ // Rule 81: unary_expression ::= * cast_expression
//
- case 81: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_amper); break;
+ case 81: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_star); break;
}
//
- // Rule 82: unary_expression ::= * cast_expression
+ // Rule 82: unary_expression ::= + cast_expression
//
- case 82: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_star); break;
+ case 82: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_plus); break;
}
//
- // Rule 83: unary_expression ::= + cast_expression
+ // Rule 83: unary_expression ::= - cast_expression
//
- case 83: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_plus); break;
+ case 83: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_minus); break;
}
//
- // Rule 84: unary_expression ::= - cast_expression
+ // Rule 84: unary_expression ::= ~ cast_expression
//
- case 84: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_minus); break;
+ case 84: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_tilde); break;
}
//
- // Rule 85: unary_expression ::= ~ cast_expression
+ // Rule 85: unary_expression ::= ! cast_expression
//
- case 85: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_tilde); break;
+ case 85: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_not); break;
}
//
- // Rule 86: unary_expression ::= ! cast_expression
+ // Rule 86: unary_expression ::= sizeof unary_expression
//
- case 86: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_not); break;
+ case 86: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof); break;
}
//
- // Rule 87: unary_expression ::= sizeof unary_expression
+ // Rule 87: unary_expression ::= sizeof ( type_id )
//
- case 87: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof); break;
+ case 87: { action. consumeExpressionTypeId(ICPPASTTypeIdExpression.op_sizeof); break;
}
//
- // Rule 88: unary_expression ::= sizeof ( type_id )
+ // Rule 88: new_expression ::= dcolon_opt new new_placement_opt new_type_id <openscope-ast> new_array_expressions_opt new_initializer_opt
//
- case 88: { action. consumeExpressionTypeId(ICPPASTTypeIdExpression.op_sizeof); break;
+ case 88: { action. consumeExpressionNew(true); break;
}
//
- // Rule 89: new_expression ::= dcolon_opt new new_placement_opt new_type_id <openscope-ast> new_array_expressions_opt new_initializer_opt
+ // Rule 89: new_expression ::= dcolon_opt new new_placement_opt ( type_id ) <openscope-ast> new_array_expressions_opt new_initializer_opt
//
- case 89: { action. consumeExpressionNew(true); break;
+ case 89: { action. consumeExpressionNew(false); break;
}
//
- // Rule 90: new_expression ::= dcolon_opt new new_placement_opt ( type_id ) <openscope-ast> new_array_expressions_opt new_initializer_opt
+ // Rule 91: new_placement_opt ::= $Empty
//
- case 90: { action. consumeExpressionNew(false); break;
+ case 91: { action. consumeEmpty(); break;
}
//
- // Rule 92: new_placement_opt ::= $Empty
+ // Rule 92: new_type_id ::= type_specifier_seq
//
- case 92: { action. consumeEmpty(); break;
+ case 92: { action. consumeTypeId(false); break;
}
//
- // Rule 93: new_type_id ::= type_specifier_seq
+ // Rule 93: new_type_id ::= type_specifier_seq new_declarator
//
- case 93: { action. consumeTypeId(false); break;
+ case 93: { action. consumeTypeId(true); break;
}
//
- // Rule 94: new_type_id ::= type_specifier_seq new_declarator
+ // Rule 94: new_declarator ::= <openscope-ast> new_pointer_operators
//
- case 94: { action. consumeTypeId(true); break;
+ case 94: { action. consumeNewDeclarator(); break;
}
//
- // Rule 95: new_declarator ::= <openscope-ast> new_pointer_operators
+ // Rule 101: new_initializer ::= ( expression_list_opt )
//
- case 95: { action. consumeNewDeclarator(); break;
+ case 101: { action. consumeNewInitializer(); break;
}
//
- // Rule 102: new_initializer ::= ( expression_list_opt )
+ // Rule 103: new_initializer_opt ::= $Empty
//
- case 102: { action. consumeNewInitializer(); break;
+ case 103: { action. consumeEmpty(); break;
}
//
- // Rule 104: new_initializer_opt ::= $Empty
+ // Rule 104: delete_expression ::= dcolon_opt delete cast_expression
//
- case 104: { action. consumeEmpty(); break;
+ case 104: { action. consumeExpressionDelete(false); break;
}
//
- // Rule 105: delete_expression ::= dcolon_opt delete cast_expression
+ // Rule 105: delete_expression ::= dcolon_opt delete [ ] cast_expression
//
- case 105: { action. consumeExpressionDelete(false); break;
+ case 105: { action. consumeExpressionDelete(true); break;
}
//
- // Rule 106: delete_expression ::= dcolon_opt delete [ ] cast_expression
+ // Rule 108: pm_expression ::= pm_expression .* cast_expression
//
- case 106: { action. consumeExpressionDelete(true); break;
+ case 108: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmdot); break;
}
//
- // Rule 109: pm_expression ::= pm_expression .* cast_expression
+ // Rule 109: pm_expression ::= pm_expression ->* cast_expression
//
- case 109: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmdot); break;
+ case 109: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmarrow); break;
}
//
- // Rule 110: pm_expression ::= pm_expression ->* cast_expression
+ // Rule 111: multiplicative_expression ::= multiplicative_expression * pm_expression
//
- case 110: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmarrow); break;
+ case 111: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiply); break;
}
//
- // Rule 112: multiplicative_expression ::= multiplicative_expression * pm_expression
+ // Rule 112: multiplicative_expression ::= multiplicative_expression / pm_expression
//
- case 112: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiply); break;
+ case 112: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divide); break;
}
//
- // Rule 113: multiplicative_expression ::= multiplicative_expression / pm_expression
+ // Rule 113: multiplicative_expression ::= multiplicative_expression % pm_expression
//
- case 113: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divide); break;
+ case 113: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_modulo); break;
}
//
- // Rule 114: multiplicative_expression ::= multiplicative_expression % pm_expression
+ // Rule 115: additive_expression ::= additive_expression + multiplicative_expression
//
- case 114: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_modulo); break;
+ case 115: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plus); break;
}
//
- // Rule 116: additive_expression ::= additive_expression + multiplicative_expression
+ // Rule 116: additive_expression ::= additive_expression - multiplicative_expression
//
- case 116: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plus); break;
+ case 116: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minus); break;
}
//
- // Rule 117: additive_expression ::= additive_expression - multiplicative_expression
+ // Rule 118: shift_expression ::= shift_expression << additive_expression
//
- case 117: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minus); break;
+ case 118: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeft); break;
}
//
- // Rule 119: shift_expression ::= shift_expression << additive_expression
+ // Rule 119: shift_expression ::= shift_expression >> additive_expression
//
- case 119: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeft); break;
+ case 119: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRight); break;
}
//
- // Rule 120: shift_expression ::= shift_expression >> additive_expression
+ // Rule 121: relational_expression ::= relational_expression < shift_expression
//
- case 120: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRight); break;
+ case 121: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessThan); break;
}
//
- // Rule 122: relational_expression ::= relational_expression < shift_expression
+ // Rule 122: relational_expression ::= relational_expression > shift_expression
//
- case 122: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessThan); break;
+ case 122: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterThan); break;
}
//
- // Rule 123: relational_expression ::= relational_expression > shift_expression
+ // Rule 123: relational_expression ::= relational_expression <= shift_expression
//
- case 123: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterThan); break;
+ case 123: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessEqual); break;
}
//
- // Rule 124: relational_expression ::= relational_expression <= shift_expression
+ // Rule 124: relational_expression ::= relational_expression >= shift_expression
//
- case 124: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessEqual); break;
+ case 124: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterEqual); break;
}
//
- // Rule 125: relational_expression ::= relational_expression >= shift_expression
+ // Rule 126: equality_expression ::= equality_expression == relational_expression
//
- case 125: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterEqual); break;
+ case 126: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_equals); break;
}
//
- // Rule 127: equality_expression ::= equality_expression == relational_expression
+ // Rule 127: equality_expression ::= equality_expression != relational_expression
//
- case 127: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_equals); break;
+ case 127: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_notequals); break;
}
//
- // Rule 128: equality_expression ::= equality_expression != relational_expression
+ // Rule 129: and_expression ::= and_expression & equality_expression
//
- case 128: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_notequals); break;
+ case 129: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAnd); break;
}
//
- // Rule 130: and_expression ::= and_expression & equality_expression
+ // Rule 131: exclusive_or_expression ::= exclusive_or_expression ^ and_expression
//
- case 130: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAnd); break;
+ case 131: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXor); break;
}
//
- // Rule 132: exclusive_or_expression ::= exclusive_or_expression ^ and_expression
+ // Rule 133: inclusive_or_expression ::= inclusive_or_expression | exclusive_or_expression
//
- case 132: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXor); break;
+ case 133: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOr); break;
}
//
- // Rule 134: inclusive_or_expression ::= inclusive_or_expression | exclusive_or_expression
+ // Rule 135: logical_and_expression ::= logical_and_expression && inclusive_or_expression
//
- case 134: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOr); break;
+ case 135: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalAnd); break;
}
//
- // Rule 136: logical_and_expression ::= logical_and_expression && inclusive_or_expression
+ // Rule 137: logical_or_expression ::= logical_or_expression || logical_and_expression
//
- case 136: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalAnd); break;
+ case 137: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalOr); break;
}
//
- // Rule 138: logical_or_expression ::= logical_or_expression || logical_and_expression
+ // Rule 139: conditional_expression ::= logical_or_expression ? expression : assignment_expression
//
- case 138: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalOr); break;
+ case 139: { action. consumeExpressionConditional(); break;
}
//
- // Rule 140: conditional_expression ::= logical_or_expression ? expression : assignment_expression
+ // Rule 140: throw_expression ::= throw
//
- case 140: { action. consumeExpressionConditional(); break;
+ case 140: { action. consumeExpressionThrow(false); break;
}
//
- // Rule 141: throw_expression ::= throw
+ // Rule 141: throw_expression ::= throw assignment_expression
//
- case 141: { action. consumeExpressionThrow(false); break;
+ case 141: { action. consumeExpressionThrow(true); break;
}
//
- // Rule 142: throw_expression ::= throw assignment_expression
+ // Rule 144: assignment_expression ::= logical_or_expression = assignment_expression
//
- case 142: { action. consumeExpressionThrow(true); break;
+ case 144: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_assign); break;
}
//
- // Rule 145: assignment_expression ::= logical_or_expression = assignment_expression
+ // Rule 145: assignment_expression ::= logical_or_expression *= assignment_expression
//
- case 145: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_assign); break;
+ case 145: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiplyAssign); break;
}
//
- // Rule 146: assignment_expression ::= logical_or_expression *= assignment_expression
+ // Rule 146: assignment_expression ::= logical_or_expression /= assignment_expression
//
- case 146: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiplyAssign); break;
+ case 146: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divideAssign); break;
}
//
- // Rule 147: assignment_expression ::= logical_or_expression /= assignment_expression
+ // Rule 147: assignment_expression ::= logical_or_expression %= assignment_expression
//
- case 147: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divideAssign); break;
+ case 147: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_moduloAssign); break;
}
//
- // Rule 148: assignment_expression ::= logical_or_expression %= assignment_expression
+ // Rule 148: assignment_expression ::= logical_or_expression += assignment_expression
//
- case 148: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_moduloAssign); break;
+ case 148: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plusAssign); break;
}
//
- // Rule 149: assignment_expression ::= logical_or_expression += assignment_expression
+ // Rule 149: assignment_expression ::= logical_or_expression -= assignment_expression
//
- case 149: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plusAssign); break;
+ case 149: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minusAssign); break;
}
//
- // Rule 150: assignment_expression ::= logical_or_expression -= assignment_expression
+ // Rule 150: assignment_expression ::= logical_or_expression >>= assignment_expression
//
- case 150: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minusAssign); break;
+ case 150: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRightAssign); break;
}
//
- // Rule 151: assignment_expression ::= logical_or_expression >>= assignment_expression
+ // Rule 151: assignment_expression ::= logical_or_expression <<= assignment_expression
//
- case 151: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRightAssign); break;
+ case 151: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeftAssign); break;
}
//
- // Rule 152: assignment_expression ::= logical_or_expression <<= assignment_expression
+ // Rule 152: assignment_expression ::= logical_or_expression &= assignment_expression
//
- case 152: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeftAssign); break;
+ case 152: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAndAssign); break;
}
//
- // Rule 153: assignment_expression ::= logical_or_expression &= assignment_expression
+ // Rule 153: assignment_expression ::= logical_or_expression ^= assignment_expression
//
- case 153: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAndAssign); break;
+ case 153: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXorAssign); break;
}
//
- // Rule 154: assignment_expression ::= logical_or_expression ^= assignment_expression
+ // Rule 154: assignment_expression ::= logical_or_expression |= assignment_expression
//
- case 154: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXorAssign); break;
+ case 154: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOrAssign); break;
}
//
- // Rule 155: assignment_expression ::= logical_or_expression |= assignment_expression
+ // Rule 156: expression_list ::= <openscope-ast> expression_list_actual
//
- case 155: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOrAssign); break;
+ case 156: { action. consumeExpressionList(); break;
}
//
- // Rule 157: expression_list ::= <openscope-ast> expression_list_actual
+ // Rule 160: expression_list_opt ::= $Empty
//
- case 157: { action. consumeExpressionList(); break;
+ case 160: { action. consumeEmpty(); break;
}
//
- // Rule 161: expression_list_opt ::= $Empty
+ // Rule 162: expression_opt ::= $Empty
//
- case 161: { action. consumeEmpty(); break;
+ case 162: { action. consumeEmpty(); break;
}
//
- // Rule 163: expression_opt ::= $Empty
+ // Rule 165: constant_expression_opt ::= $Empty
//
- case 163: { action. consumeEmpty(); break;
+ case 165: { action. consumeEmpty(); break;
}
//
- // Rule 166: constant_expression_opt ::= $Empty
+ // Rule 174: statement ::= ERROR_TOKEN
//
- case 166: { action. consumeEmpty(); break;
+ case 174: { action. consumeStatementProblem(); break;
}
//
- // Rule 175: statement ::= ERROR_TOKEN
+ // Rule 175: labeled_statement ::= identifier : statement
//
- case 175: { action. consumeStatementProblem(); break;
+ case 175: { action. consumeStatementLabeled(); break;
}
//
- // Rule 176: labeled_statement ::= identifier : statement
+ // Rule 176: labeled_statement ::= case constant_expression : statement
//
- case 176: { action. consumeStatementLabeled(); break;
+ case 176: { action. consumeStatementCase(); break;
}
//
- // Rule 177: labeled_statement ::= case constant_expression : statement
+ // Rule 177: labeled_statement ::= default : statement
//
- case 177: { action. consumeStatementCase(); break;
+ case 177: { action. consumeStatementDefault(); break;
}
//
- // Rule 178: labeled_statement ::= default : statement
+ // Rule 178: expression_statement ::= expression ;
//
- case 178: { action. consumeStatementDefault(); break;
+ case 178: { action. consumeStatementExpression(); break;
}
//
- // Rule 179: expression_statement ::= expression ;
+ // Rule 179: expression_statement ::= ;
//
- case 179: { action. consumeStatementExpression(); break;
+ case 179: { action. consumeStatementNull(); break;
}
//
- // Rule 180: expression_statement ::= ;
+ // Rule 180: compound_statement ::= { <openscope-ast> statement_seq }
//
- case 180: { action. consumeStatementNull(); break;
+ case 180: { action. consumeStatementCompoundStatement(true); break;
}
//
- // Rule 181: compound_statement ::= { <openscope-ast> statement_seq }
+ // Rule 181: compound_statement ::= { }
//
- case 181: { action. consumeStatementCompoundStatement(true); break;
+ case 181: { action. consumeStatementCompoundStatement(false); break;
}
//
- // Rule 182: compound_statement ::= { }
+ // Rule 184: selection_statement ::= if ( condition ) statement
//
- case 182: { action. consumeStatementCompoundStatement(false); break;
+ case 184: { action. consumeStatementIf(false); break;
}
//
- // Rule 185: selection_statement ::= if ( condition ) statement
+ // Rule 185: selection_statement ::= if ( condition ) statement else statement
//
- case 185: { action. consumeStatementIf(false); break;
+ case 185: { action. consumeStatementIf(true); break;
}
//
- // Rule 186: selection_statement ::= if ( condition ) statement else statement
+ // Rule 186: selection_statement ::= switch ( condition ) statement
//
- case 186: { action. consumeStatementIf(true); break;
+ case 186: { action. consumeStatementSwitch(); break;
}
//
- // Rule 187: selection_statement ::= switch ( condition ) statement
+ // Rule 188: condition ::= type_specifier_seq declarator = assignment_expression
//
- case 187: { action. consumeStatementSwitch(); break;
+ case 188: { action. consumeConditionDeclaration(); break;
}
//
- // Rule 189: condition ::= type_specifier_seq declarator = assignment_expression
+ // Rule 190: condition_opt ::= $Empty
//
- case 189: { action. consumeConditionDeclaration(); break;
+ case 190: { action. consumeEmpty(); break;
}
//
- // Rule 191: condition_opt ::= $Empty
+ // Rule 191: iteration_statement ::= while ( condition ) statement
//
- case 191: { action. consumeEmpty(); break;
+ case 191: { action. consumeStatementWhileLoop(); break;
}
//
- // Rule 192: iteration_statement ::= while ( condition ) statement
+ // Rule 192: iteration_statement ::= do statement while ( expression ) ;
//
- case 192: { action. consumeStatementWhileLoop(); break;
+ case 192: { action. consumeStatementDoLoop(); break;
}
//
- // Rule 193: iteration_statement ::= do statement while ( expression ) ;
+ // Rule 193: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement
//
- case 193: { action. consumeStatementDoLoop(); break;
+ case 193: { action. consumeStatementForLoop(); break;
}
//
- // Rule 194: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement
+ // Rule 195: for_init_statement ::= simple_declaration_with_declspec
//
- case 194: { action. consumeStatementForLoop(); break;
+ case 195: { action. consumeStatementDeclaration(); break;
}
//
- // Rule 196: for_init_statement ::= simple_declaration_with_declspec
+ // Rule 196: jump_statement ::= break ;
//
- case 196: { action. consumeStatementDeclaration(); break;
+ case 196: { action. consumeStatementBreak(); break;
}
//
- // Rule 197: jump_statement ::= break ;
+ // Rule 197: jump_statement ::= continue ;
//
- case 197: { action. consumeStatementBreak(); break;
+ case 197: { action. consumeStatementContinue(); break;
}
//
- // Rule 198: jump_statement ::= continue ;
+ // Rule 198: jump_statement ::= return expression ;
//
- case 198: { action. consumeStatementContinue(); break;
+ case 198: { action. consumeStatementReturn(true); break;
}
//
- // Rule 199: jump_statement ::= return expression ;
+ // Rule 199: jump_statement ::= return ;
//
- case 199: { action. consumeStatementReturn(true); break;
+ case 199: { action. consumeStatementReturn(false); break;
}
//
- // Rule 200: jump_statement ::= return ;
+ // Rule 200: jump_statement ::= goto identifier_token ;
//
- case 200: { action. consumeStatementReturn(false); break;
+ case 200: { action. consumeStatementGoto(); break;
}
//
- // Rule 201: jump_statement ::= goto identifier_token ;
+ // Rule 201: declaration_statement ::= block_declaration
//
- case 201: { action. consumeStatementGoto(); break;
+ case 201: { action. consumeStatementDeclarationWithDisambiguation(); break;
}
//
- // Rule 202: declaration_statement ::= block_declaration
+ // Rule 202: declaration_statement ::= function_definition
//
- case 202: { action. consumeStatementDeclarationWithDisambiguation(); break;
+ case 202: { action. consumeStatementDeclaration(); break;
}
//
- // Rule 203: declaration_statement ::= function_definition
+ // Rule 210: declaration ::= ERROR_TOKEN
//
- case 203: { action. consumeStatementDeclaration(); break;
+ case 210: { action. consumeDeclarationProblem(); break;
}
//
- // Rule 211: declaration ::= ERROR_TOKEN
+ // Rule 220: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ;
//
- case 211: { action. consumeDeclarationProblem(); break;
+ case 220: { action. consumeDeclarationSimple(true); break;
}
//
- // Rule 221: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ;
+ // Rule 221: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ;
//
case 221: { action. consumeDeclarationSimple(true); break;
}
//
- // Rule 222: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ;
+ // Rule 222: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers
//
- case 222: { action. consumeDeclarationSimple(true); break;
+ case 222: { action. consumeDeclarationSpecifiersSimple(); break;
}
//
- // Rule 223: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers
+ // Rule 223: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers
//
- case 223: { action. consumeDeclarationSpecifiersSimple(); break;
+ case 223: { action. consumeDeclarationSpecifiersComposite(); break;
}
//
- // Rule 224: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers
+ // Rule 224: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers
//
case 224: { action. consumeDeclarationSpecifiersComposite(); break;
}
//
- // Rule 225: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers
+ // Rule 225: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers
//
case 225: { action. consumeDeclarationSpecifiersComposite(); break;
}
//
- // Rule 226: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers
+ // Rule 226: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers
//
- case 226: { action. consumeDeclarationSpecifiersComposite(); break;
+ case 226: { action. consumeDeclarationSpecifiersTypeName(); break;
}
//
- // Rule 227: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers
+ // Rule 228: declaration_specifiers_opt ::= $Empty
//
- case 227: { action. consumeDeclarationSpecifiersTypeName(); break;
+ case 228: { action. consumeEmpty(); break;
}
//
- // Rule 229: declaration_specifiers_opt ::= $Empty
+ // Rule 232: no_type_declaration_specifier ::= friend
//
- case 229: { action. consumeEmpty(); break;
+ case 232: { action. consumeToken(); break;
}
//
- // Rule 233: no_type_declaration_specifier ::= friend
+ // Rule 233: no_type_declaration_specifier ::= typedef
//
case 233: { action. consumeToken(); break;
}
//
- // Rule 234: no_type_declaration_specifier ::= typedef
+ // Rule 253: storage_class_specifier ::= auto
//
- case 234: { action. consumeToken(); break;
+ case 253: { action. consumeToken(); break;
}
//
- // Rule 254: storage_class_specifier ::= auto
+ // Rule 254: storage_class_specifier ::= register
//
case 254: { action. consumeToken(); break;
}
//
- // Rule 255: storage_class_specifier ::= register
+ // Rule 255: storage_class_specifier ::= static
//
case 255: { action. consumeToken(); break;
}
//
- // Rule 256: storage_class_specifier ::= static
+ // Rule 256: storage_class_specifier ::= extern
//
case 256: { action. consumeToken(); break;
}
//
- // Rule 257: storage_class_specifier ::= extern
+ // Rule 257: storage_class_specifier ::= mutable
//
case 257: { action. consumeToken(); break;
}
//
- // Rule 258: storage_class_specifier ::= mutable
+ // Rule 258: function_specifier ::= inline
//
case 258: { action. consumeToken(); break;
}
//
- // Rule 259: function_specifier ::= inline
+ // Rule 259: function_specifier ::= virtual
//
case 259: { action. consumeToken(); break;
}
//
- // Rule 260: function_specifier ::= virtual
+ // Rule 260: function_specifier ::= explicit
//
case 260: { action. consumeToken(); break;
}
//
- // Rule 261: function_specifier ::= explicit
+ // Rule 261: simple_type_specifier ::= char
//
case 261: { action. consumeToken(); break;
}
//
- // Rule 262: simple_type_specifier ::= char
+ // Rule 262: simple_type_specifier ::= wchar_t
//
case 262: { action. consumeToken(); break;
}
//
- // Rule 263: simple_type_specifier ::= wchar_t
+ // Rule 263: simple_type_specifier ::= bool
//
case 263: { action. consumeToken(); break;
}
//
- // Rule 264: simple_type_specifier ::= bool
+ // Rule 264: simple_type_specifier ::= short
//
case 264: { action. consumeToken(); break;
}
//
- // Rule 265: simple_type_specifier ::= short
+ // Rule 265: simple_type_specifier ::= int
//
case 265: { action. consumeToken(); break;
}
//
- // Rule 266: simple_type_specifier ::= int
+ // Rule 266: simple_type_specifier ::= long
//
case 266: { action. consumeToken(); break;
}
//
- // Rule 267: simple_type_specifier ::= long
+ // Rule 267: simple_type_specifier ::= signed
//
case 267: { action. consumeToken(); break;
}
//
- // Rule 268: simple_type_specifier ::= signed
+ // Rule 268: simple_type_specifier ::= unsigned
//
case 268: { action. consumeToken(); break;
}
//
- // Rule 269: simple_type_specifier ::= unsigned
+ // Rule 269: simple_type_specifier ::= float
//
case 269: { action. consumeToken(); break;
}
//
- // Rule 270: simple_type_specifier ::= float
+ // Rule 270: simple_type_specifier ::= double
//
case 270: { action. consumeToken(); break;
}
//
- // Rule 271: simple_type_specifier ::= double
+ // Rule 271: simple_type_specifier ::= void
//
case 271: { action. consumeToken(); break;
}
//
- // Rule 272: simple_type_specifier ::= void
+ // Rule 274: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name
//
- case 272: { action. consumeToken(); break;
+ case 274: { action. consumeQualifiedId(false); break;
}
//
- // Rule 275: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name
+ // Rule 275: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name
//
case 275: { action. consumeQualifiedId(false); break;
}
//
- // Rule 276: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name
+ // Rule 276: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name
//
case 276: { action. consumeQualifiedId(false); break;
}
//
- // Rule 277: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name
+ // Rule 277: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name
//
- case 277: { action. consumeQualifiedId(false); break;
+ case 277: { action. consumeQualifiedId(true); break;
}
//
- // Rule 278: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name
+ // Rule 279: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name
//
- case 278: { action. consumeQualifiedId(true); break;
+ case 279: { action. consumeTypeSpecifierElaborated(false); break;
}
//
- // Rule 280: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name
+ // Rule 280: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt template_opt template_id_name
//
- case 280: { action. consumeTypeSpecifierElaborated(false); break;
+ case 280: { action. consumeTypeSpecifierElaborated(true); break;
}
//
- // Rule 281: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt template_opt template_id_name
+ // Rule 281: elaborated_type_specifier ::= enum elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name
//
- case 281: { action. consumeTypeSpecifierElaborated(true); break;
+ case 281: { action. consumeTypeSpecifierElaborated(false); break;
}
//
- // Rule 282: elaborated_type_specifier ::= enum elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name
+ // Rule 283: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt }
//
- case 282: { action. consumeTypeSpecifierElaborated(false); break;
+ case 283: { action. consumeTypeSpecifierEnumeration(false); break;
}
//
- // Rule 284: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt }
+ // Rule 284: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt }
//
- case 284: { action. consumeTypeSpecifierEnumeration(false); break;
+ case 284: { action. consumeTypeSpecifierEnumeration(true); break;
}
//
- // Rule 285: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt }
+ // Rule 290: enumerator_definition ::= identifier_token
//
- case 285: { action. consumeTypeSpecifierEnumeration(true); break;
+ case 290: { action. consumeEnumerator(false); break;
}
//
- // Rule 291: enumerator_definition ::= identifier_token
+ // Rule 291: enumerator_definition ::= identifier_token = constant_expression
//
- case 291: { action. consumeEnumerator(false); break;
+ case 291: { action. consumeEnumerator(true); break;
}
//
- // Rule 292: enumerator_definition ::= identifier_token = constant_expression
+ // Rule 295: named_namespace_definition ::= namespace namespace_name { <openscope-ast> declaration_seq_opt }
//
- case 292: { action. consumeEnumerator(true); break;
+ case 295: { action. consumeNamespaceDefinition(true); break;
}
//
- // Rule 296: named_namespace_definition ::= namespace namespace_name { <openscope-ast> declaration_seq_opt }
+ // Rule 296: unnamed_namespace_definition ::= namespace { <openscope-ast> declaration_seq_opt }
//
- case 296: { action. consumeNamespaceDefinition(true); break;
+ case 296: { action. consumeNamespaceDefinition(false); break;
}
//
- // Rule 297: unnamed_namespace_definition ::= namespace { <openscope-ast> declaration_seq_opt }
+ // Rule 297: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ;
//
- case 297: { action. consumeNamespaceDefinition(false); break;
+ case 297: { action. consumeNamespaceAliasDefinition(); break;
}
//
- // Rule 298: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ;
+ // Rule 298: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ;
//
- case 298: { action. consumeNamespaceAliasDefinition(); break;
+ case 298: { action. consumeUsingDeclaration(); break;
}
//
- // Rule 299: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ;
+ // Rule 299: typename_opt ::= typename
//
- case 299: { action. consumeUsingDeclaration(); break;
+ case 299: { action. consumePlaceHolder(); break;
}
//
- // Rule 300: typename_opt ::= typename
+ // Rule 300: typename_opt ::= $Empty
//
- case 300: { action. consumePlaceHolder(); break;
+ case 300: { action. consumeEmpty(); break;
}
//
- // Rule 301: typename_opt ::= $Empty
+ // Rule 301: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ;
//
- case 301: { action. consumeEmpty(); break;
+ case 301: { action. consumeUsingDirective(); break;
}
//
- // Rule 302: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ;
+ // Rule 302: asm_definition ::= asm ( stringlit ) ;
//
- case 302: { action. consumeUsingDirective(); break;
+ case 302: { action. consumeDeclarationASM(); break;
}
//
- // Rule 303: asm_definition ::= asm ( stringlit ) ;
+ // Rule 303: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt }
//
- case 303: { action. consumeDeclarationASM(); break;
+ case 303: { action. consumeLinkageSpecification(); break;
}
//
- // Rule 304: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt }
+ // Rule 304: linkage_specification ::= extern stringlit <openscope-ast> declaration
//
case 304: { action. consumeLinkageSpecification(); break;
}
//
- // Rule 305: linkage_specification ::= extern stringlit <openscope-ast> declaration
+ // Rule 309: init_declarator_complete ::= init_declarator
//
- case 305: { action. consumeLinkageSpecification(); break;
+ case 309: { action. consumeInitDeclaratorComplete(); break;
}
//
- // Rule 310: init_declarator_complete ::= init_declarator
+ // Rule 311: init_declarator ::= complete_declarator initializer
//
- case 310: { action. consumeInitDeclaratorComplete(); break;
+ case 311: { action. consumeDeclaratorWithInitializer(true); break;
}
//
- // Rule 312: init_declarator ::= complete_declarator initializer
+ // Rule 314: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
//
- case 312: { action. consumeDeclaratorWithInitializer(true); break;
+ case 314: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 315: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
+ // Rule 316: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
//
- case 315: { action. consumeDeclaratorWithPointer(true); break;
+ case 316: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 317: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
+ // Rule 320: basic_direct_declarator ::= declarator_id_name
//
- case 317: { action. consumeDeclaratorWithPointer(true); break;
+ case 320: { action. consumeDirectDeclaratorIdentifier(); break;
}
//
- // Rule 321: basic_direct_declarator ::= declarator_id_name
+ // Rule 321: basic_direct_declarator ::= ( declarator )
//
- case 321: { action. consumeDirectDeclaratorIdentifier(); break;
+ case 321: { action. consumeDirectDeclaratorBracketed(); break;
}
//
- // Rule 322: basic_direct_declarator ::= ( declarator )
+ // Rule 322: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
//
- case 322: { action. consumeDirectDeclaratorBracketed(); break;
+ case 322: { action. consumeDirectDeclaratorFunctionDeclarator(true); break;
}
//
- // Rule 323: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
+ // Rule 323: array_direct_declarator ::= array_direct_declarator array_modifier
//
- case 323: { action. consumeDirectDeclaratorFunctionDeclarator(true); break;
+ case 323: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 324: array_direct_declarator ::= array_direct_declarator array_modifier
+ // Rule 324: array_direct_declarator ::= basic_direct_declarator array_modifier
//
case 324: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 325: array_direct_declarator ::= basic_direct_declarator array_modifier
+ // Rule 325: array_modifier ::= [ constant_expression ]
//
- case 325: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 325: { action. consumeDirectDeclaratorArrayModifier(true); break;
}
//
- // Rule 326: array_modifier ::= [ constant_expression ]
+ // Rule 326: array_modifier ::= [ ]
//
- case 326: { action. consumeDirectDeclaratorArrayModifier(true); break;
+ case 326: { action. consumeDirectDeclaratorArrayModifier(false); break;
}
//
- // Rule 327: array_modifier ::= [ ]
+ // Rule 327: ptr_operator ::= pointer_hook * <openscope-ast> cv_qualifier_seq_opt
//
- case 327: { action. consumeDirectDeclaratorArrayModifier(false); break;
+ case 327: { action. consumePointer(); break;
}
//
- // Rule 328: ptr_operator ::= pointer_hook * <openscope-ast> cv_qualifier_seq_opt
+ // Rule 328: ptr_operator ::= pointer_hook &
//
- case 328: { action. consumePointer(); break;
+ case 328: { action. consumeReferenceOperator(); break;
}
//
- // Rule 329: ptr_operator ::= pointer_hook &
+ // Rule 329: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * <openscope-ast> cv_qualifier_seq_opt
//
- case 329: { action. consumeReferenceOperator(); break;
+ case 329: { action. consumePointerToMember(); break;
}
//
- // Rule 330: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * <openscope-ast> cv_qualifier_seq_opt
+ // Rule 336: cv_qualifier ::= const
//
- case 330: { action. consumePointerToMember(); break;
+ case 336: { action. consumeToken(); break;
}
//
- // Rule 337: cv_qualifier ::= const
+ // Rule 337: cv_qualifier ::= volatile
//
case 337: { action. consumeToken(); break;
}
//
- // Rule 338: cv_qualifier ::= volatile
+ // Rule 339: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name
//
- case 338: { action. consumeToken(); break;
+ case 339: { action. consumeQualifiedId(false); break;
}
//
- // Rule 340: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name
+ // Rule 340: type_id ::= type_specifier_seq
//
- case 340: { action. consumeQualifiedId(false); break;
+ case 340: { action. consumeTypeId(false); break;
}
//
- // Rule 341: type_id ::= type_specifier_seq
+ // Rule 341: type_id ::= type_specifier_seq abstract_declarator
//
- case 341: { action. consumeTypeId(false); break;
+ case 341: { action. consumeTypeId(true); break;
}
//
- // Rule 342: type_id ::= type_specifier_seq abstract_declarator
+ // Rule 344: abstract_declarator ::= <openscope-ast> ptr_operator_seq
//
- case 342: { action. consumeTypeId(true); break;
+ case 344: { action. consumeDeclaratorWithPointer(false); break;
}
//
- // Rule 345: abstract_declarator ::= <openscope-ast> ptr_operator_seq
+ // Rule 345: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator
//
- case 345: { action. consumeDeclaratorWithPointer(false); break;
+ case 345: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 346: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator
+ // Rule 349: basic_direct_abstract_declarator ::= ( abstract_declarator )
//
- case 346: { action. consumeDeclaratorWithPointer(true); break;
+ case 349: { action. consumeDirectDeclaratorBracketed(); break;
}
//
- // Rule 350: basic_direct_abstract_declarator ::= ( abstract_declarator )
+ // Rule 350: basic_direct_abstract_declarator ::= ( )
//
- case 350: { action. consumeDirectDeclaratorBracketed(); break;
+ case 350: { action. consumeAbstractDeclaratorEmpty(); break;
}
//
- // Rule 351: basic_direct_abstract_declarator ::= ( )
+ // Rule 351: array_direct_abstract_declarator ::= array_modifier
//
- case 351: { action. consumeAbstractDeclaratorEmpty(); break;
+ case 351: { action. consumeDirectDeclaratorArrayDeclarator(false); break;
}
//
- // Rule 352: array_direct_abstract_declarator ::= array_modifier
+ // Rule 352: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
//
- case 352: { action. consumeDirectDeclaratorArrayDeclarator(false); break;
+ case 352: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 353: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
+ // Rule 353: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
//
case 353: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 354: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
+ // Rule 354: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
//
- case 354: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 354: { action. consumeDirectDeclaratorFunctionDeclarator(true); break;
}
//
- // Rule 355: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
+ // Rule 355: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
//
- case 355: { action. consumeDirectDeclaratorFunctionDeclarator(true); break;
+ case 355: { action. consumeDirectDeclaratorFunctionDeclarator(false); break;
}
//
- // Rule 356: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
+ // Rule 356: parameter_declaration_clause ::= parameter_declaration_list_opt ...
//
- case 356: { action. consumeDirectDeclaratorFunctionDeclarator(false); break;
+ case 356: { action. consumePlaceHolder(); break;
}
//
- // Rule 357: parameter_declaration_clause ::= parameter_declaration_list_opt ...
+ // Rule 357: parameter_declaration_clause ::= parameter_declaration_list_opt
//
- case 357: { action. consumePlaceHolder(); break;
+ case 357: { action. consumeEmpty(); break;
}
//
- // Rule 358: parameter_declaration_clause ::= parameter_declaration_list_opt
+ // Rule 358: parameter_declaration_clause ::= parameter_declaration_list , ...
//
- case 358: { action. consumeEmpty(); break;
+ case 358: { action. consumePlaceHolder(); break;
}
//
- // Rule 359: parameter_declaration_clause ::= parameter_declaration_list , ...
+ // Rule 364: abstract_declarator_opt ::= $Empty
//
- case 359: { action. consumePlaceHolder(); break;
+ case 364: { action. consumeEmpty(); break;
}
//
- // Rule 365: abstract_declarator_opt ::= $Empty
+ // Rule 365: parameter_declaration ::= declaration_specifiers parameter_init_declarator
//
- case 365: { action. consumeEmpty(); break;
+ case 365: { action. consumeParameterDeclaration(); break;
}
//
- // Rule 366: parameter_declaration ::= declaration_specifiers parameter_init_declarator
+ // Rule 366: parameter_declaration ::= declaration_specifiers
//
- case 366: { action. consumeParameterDeclaration(); break;
+ case 366: { action. consumeParameterDeclarationWithoutDeclarator(); break;
}
//
- // Rule 367: parameter_declaration ::= declaration_specifiers
+ // Rule 368: parameter_init_declarator ::= declarator = parameter_initializer
//
- case 367: { action. consumeParameterDeclarationWithoutDeclarator(); break;
+ case 368: { action. consumeDeclaratorWithInitializer(true); break;
}
//
- // Rule 369: parameter_init_declarator ::= declarator = parameter_initializer
+ // Rule 370: parameter_init_declarator ::= abstract_declarator = parameter_initializer
//
- case 369: { action. consumeDeclaratorWithInitializer(true); break;
+ case 370: { action. consumeDeclaratorWithInitializer(true); break;
}
//
- // Rule 371: parameter_init_declarator ::= abstract_declarator = parameter_initializer
+ // Rule 371: parameter_init_declarator ::= = parameter_initializer
//
- case 371: { action. consumeDeclaratorWithInitializer(true); break;
+ case 371: { action. consumeDeclaratorWithInitializer(false); break;
}
//
- // Rule 372: parameter_init_declarator ::= = parameter_initializer
+ // Rule 372: parameter_initializer ::= assignment_expression
//
- case 372: { action. consumeDeclaratorWithInitializer(false); break;
+ case 372: { action. consumeInitializer(); break;
}
//
- // Rule 373: parameter_initializer ::= assignment_expression
+ // Rule 373: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body
//
- case 373: { action. consumeInitializer(); break;
+ case 373: { action. consumeFunctionDefinition(false); break;
}
//
- // Rule 374: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body
+ // Rule 374: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq
//
- case 374: { action. consumeFunctionDefinition(false); break;
+ case 374: { action. consumeFunctionDefinition(true); break;
}
//
- // Rule 375: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq
+ // Rule 377: initializer ::= ( expression_list )
//
- case 375: { action. consumeFunctionDefinition(true); break;
+ case 377: { action. consumeInitializerConstructor(); break;
}
//
- // Rule 378: initializer ::= ( expression_list )
+ // Rule 378: initializer_clause ::= assignment_expression
//
- case 378: { action. consumeInitializerConstructor(); break;
+ case 378: { action. consumeInitializer(); break;
}
//
- // Rule 379: initializer_clause ::= assignment_expression
+ // Rule 379: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list , } end_initializer_list
//
- case 379: { action. consumeInitializer(); break;
+ case 379: { action. consumeInitializerList(); break;
}
//
- // Rule 380: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list , } end_initializer_list
+ // Rule 380: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list } end_initializer_list
//
case 380: { action. consumeInitializerList(); break;
}
//
- // Rule 381: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list } end_initializer_list
+ // Rule 381: initializer_clause ::= { <openscope-ast> }
//
case 381: { action. consumeInitializerList(); break;
}
//
- // Rule 382: initializer_clause ::= { <openscope-ast> }
+ // Rule 382: start_initializer_list ::= $Empty
//
- case 382: { action. consumeInitializerList(); break;
+ case 382: { action. initializerListStart(); break;
}
//
- // Rule 383: start_initializer_list ::= $Empty
+ // Rule 383: end_initializer_list ::= $Empty
//
- case 383: { action. initializerListStart(); break;
+ case 383: { action. initializerListEnd(); break;
}
//
- // Rule 384: end_initializer_list ::= $Empty
+ // Rule 388: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt }
//
- case 384: { action. initializerListEnd(); break;
+ case 388: { action. consumeClassSpecifier(); break;
}
//
- // Rule 389: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt }
+ // Rule 389: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook <openscope-ast> base_clause_opt
//
- case 389: { action. consumeClassSpecifier(); break;
+ case 389: { action. consumeClassHead(false); break;
}
//
- // Rule 390: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook <openscope-ast> base_clause_opt
+ // Rule 390: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt
//
case 390: { action. consumeClassHead(false); break;
}
//
- // Rule 391: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt
+ // Rule 391: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook <openscope-ast> base_clause_opt
//
- case 391: { action. consumeClassHead(false); break;
+ case 391: { action. consumeClassHead(true); break;
}
//
- // Rule 392: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook <openscope-ast> base_clause_opt
+ // Rule 392: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt
//
case 392: { action. consumeClassHead(true); break;
}
//
- // Rule 393: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt
+ // Rule 396: identifier_name_opt ::= $Empty
//
- case 393: { action. consumeClassHead(true); break;
- }
+ case 396: { action. consumeEmpty(); break;
+ }
//
- // Rule 397: identifier_name_opt ::= $Empty
+ // Rule 400: visibility_label ::= access_specifier_keyword :
//
- case 397: { action. consumeEmpty(); break;
- }
+ case 400: { action. consumeVisibilityLabel(); break;
+ }
//
- // Rule 401: visibility_label ::= access_specifier_keyword :
+ // Rule 401: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ;
//
- case 401: { action. consumeVisibilityLabel(); break;
+ case 401: { action. consumeDeclarationSimple(true); break;
}
//
- // Rule 402: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ;
+ // Rule 402: member_declaration ::= declaration_specifiers_opt ;
//
- case 402: { action. consumeDeclarationSimple(true); break;
+ case 402: { action. consumeDeclarationSimple(false); break;
}
//
- // Rule 403: member_declaration ::= declaration_specifiers_opt ;
+ // Rule 405: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ;
//
- case 403: { action. consumeDeclarationSimple(false); break;
+ case 405: { action. consumeMemberDeclarationQualifiedId(); break;
}
//
- // Rule 406: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ;
+ // Rule 411: member_declaration ::= ERROR_TOKEN
//
- case 406: { action. consumeMemberDeclarationQualifiedId(); break;
+ case 411: { action. consumeDeclarationProblem(); break;
}
//
- // Rule 412: member_declaration ::= ERROR_TOKEN
+ // Rule 420: member_declarator ::= declarator constant_initializer
//
- case 412: { action. consumeDeclarationProblem(); break;
+ case 420: { action. consumeMemberDeclaratorWithInitializer(); break;
}
//
- // Rule 421: member_declarator ::= declarator constant_initializer
+ // Rule 421: member_declarator ::= bit_field_declarator : constant_expression
//
- case 421: { action. consumeMemberDeclaratorWithInitializer(); break;
+ case 421: { action. consumeBitField(true); break;
}
//
- // Rule 422: member_declarator ::= bit_field_declarator : constant_expression
+ // Rule 422: member_declarator ::= : constant_expression
//
- case 422: { action. consumeBitField(true); break;
+ case 422: { action. consumeBitField(false); break;
}
//
- // Rule 423: member_declarator ::= : constant_expression
+ // Rule 423: bit_field_declarator ::= identifier_name
//
- case 423: { action. consumeBitField(false); break;
+ case 423: { action. consumeDirectDeclaratorIdentifier(); break;
}
//
- // Rule 424: bit_field_declarator ::= identifier_name
+ // Rule 424: constant_initializer ::= = constant_expression
//
- case 424: { action. consumeDirectDeclaratorIdentifier(); break;
+ case 424: { action. consumeInitializer(); break;
}
//
- // Rule 425: constant_initializer ::= = constant_expression
+ // Rule 430: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name
//
- case 425: { action. consumeInitializer(); break;
+ case 430: { action. consumeBaseSpecifier(false, false); break;
}
//
- // Rule 431: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name
+ // Rule 431: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name
//
- case 431: { action. consumeBaseSpecifier(false, false); break;
+ case 431: { action. consumeBaseSpecifier(true, true); break;
}
//
- // Rule 432: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name
+ // Rule 432: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name
//
case 432: { action. consumeBaseSpecifier(true, true); break;
}
//
- // Rule 433: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name
+ // Rule 433: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name
//
- case 433: { action. consumeBaseSpecifier(true, true); break;
+ case 433: { action. consumeBaseSpecifier(true, false); break;
}
//
- // Rule 434: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name
+ // Rule 434: access_specifier_keyword ::= private
//
- case 434: { action. consumeBaseSpecifier(true, false); break;
+ case 434: { action. consumeToken(); break;
}
//
- // Rule 435: access_specifier_keyword ::= private
+ // Rule 435: access_specifier_keyword ::= protected
//
case 435: { action. consumeToken(); break;
}
//
- // Rule 436: access_specifier_keyword ::= protected
+ // Rule 436: access_specifier_keyword ::= public
//
case 436: { action. consumeToken(); break;
}
//
- // Rule 437: access_specifier_keyword ::= public
+ // Rule 438: access_specifier_keyword_opt ::= $Empty
//
- case 437: { action. consumeToken(); break;
+ case 438: { action. consumeEmpty(); break;
}
//
- // Rule 439: access_specifier_keyword_opt ::= $Empty
+ // Rule 440: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt >
//
- case 439: { action. consumeEmpty(); break;
+ case 440: { action. consumeTemplateId(); break;
}
//
- // Rule 441: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt >
+ // Rule 441: conversion_function_id ::= operator conversion_type_id
//
- case 441: { action. consumeTemplateId(); break;
+ case 441: { action. consumeConversionName(); break;
}
//
- // Rule 442: conversion_function_id ::= operator conversion_type_id
+ // Rule 442: conversion_type_id ::= type_specifier_seq conversion_declarator
//
- case 442: { action. consumeConversionName(); break;
+ case 442: { action. consumeTypeId(true); break;
}
//
- // Rule 443: conversion_type_id ::= type_specifier_seq conversion_declarator
+ // Rule 443: conversion_type_id ::= type_specifier_seq
//
- case 443: { action. consumeTypeId(true); break;
+ case 443: { action. consumeTypeId(false); break;
}
//
- // Rule 444: conversion_type_id ::= type_specifier_seq
+ // Rule 444: conversion_declarator ::= <openscope-ast> ptr_operator_seq
//
- case 444: { action. consumeTypeId(false); break;
+ case 444: { action. consumeDeclaratorWithPointer(false); break;
}
//
- // Rule 445: conversion_declarator ::= <openscope-ast> ptr_operator_seq
+ // Rule 450: mem_initializer ::= mem_initializer_name ( expression_list_opt )
//
- case 445: { action. consumeDeclaratorWithPointer(false); break;
+ case 450: { action. consumeConstructorChainInitializer(); break;
}
//
- // Rule 451: mem_initializer ::= mem_initializer_name ( expression_list_opt )
+ // Rule 451: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name
//
- case 451: { action. consumeConstructorChainInitializer(); break;
+ case 451: { action. consumeQualifiedId(false); break;
}
//
- // Rule 452: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name
+ // Rule 454: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt >
//
- case 452: { action. consumeQualifiedId(false); break;
+ case 454: { action. consumeTemplateId(); break;
}
//
- // Rule 455: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt >
+ // Rule 455: operator_id_name ::= operator overloadable_operator
//
- case 455: { action. consumeTemplateId(); break;
+ case 455: { action. consumeOperatorName(); break;
}
//
- // Rule 456: operator_id_name ::= operator overloadable_operator
+ // Rule 498: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration
//
- case 456: { action. consumeOperatorName(); break;
+ case 498: { action. consumeTemplateDeclaration(); break;
}
//
- // Rule 499: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration
+ // Rule 499: export_opt ::= export
//
- case 499: { action. consumeTemplateDeclaration(); break;
+ case 499: { action. consumePlaceHolder(); break;
}
//
- // Rule 500: export_opt ::= export
+ // Rule 500: export_opt ::= $Empty
//
- case 500: { action. consumePlaceHolder(); break;
+ case 500: { action. consumeEmpty(); break;
}
//
- // Rule 501: export_opt ::= $Empty
+ // Rule 504: template_parameter ::= parameter_declaration
//
- case 501: { action. consumeEmpty(); break;
+ case 504: { action. consumeTemplateParamterDeclaration(); break;
}
//
- // Rule 505: template_parameter ::= parameter_declaration
+ // Rule 505: type_parameter ::= class identifier_name_opt
//
- case 505: { action. consumeTemplateParamterDeclaration(); break;
+ case 505: { action. consumeSimpleTypeTemplateParameter(false); break;
}
//
- // Rule 506: type_parameter ::= class identifier_name_opt
+ // Rule 506: type_parameter ::= class identifier_name_opt = type_id
//
- case 506: { action. consumeSimpleTypeTemplateParameter(false); break;
+ case 506: { action. consumeSimpleTypeTemplateParameter(true); break;
}
//
- // Rule 507: type_parameter ::= class identifier_name_opt = type_id
+ // Rule 507: type_parameter ::= typename identifier_name_opt
//
- case 507: { action. consumeSimpleTypeTemplateParameter(true); break;
+ case 507: { action. consumeSimpleTypeTemplateParameter(false); break;
}
//
- // Rule 508: type_parameter ::= typename identifier_name_opt
+ // Rule 508: type_parameter ::= typename identifier_name_opt = type_id
//
- case 508: { action. consumeSimpleTypeTemplateParameter(false); break;
+ case 508: { action. consumeSimpleTypeTemplateParameter(true); break;
}
//
- // Rule 509: type_parameter ::= typename identifier_name_opt = type_id
+ // Rule 509: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt
//
- case 509: { action. consumeSimpleTypeTemplateParameter(true); break;
+ case 509: { action. consumeTemplatedTypeTemplateParameter(false); break;
}
//
- // Rule 510: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt
+ // Rule 510: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression
//
- case 510: { action. consumeTemplatedTypeTemplateParameter(false); break;
+ case 510: { action. consumeTemplatedTypeTemplateParameter(true); break;
}
//
- // Rule 511: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression
+ // Rule 511: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt >
//
- case 511: { action. consumeTemplatedTypeTemplateParameter(true); break;
+ case 511: { action. consumeTemplateId(); break;
}
//
- // Rule 512: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt >
+ // Rule 516: template_argument ::= assignment_expression
//
- case 512: { action. consumeTemplateId(); break;
+ case 516: { action. consumeTemplateArgumentExpression(); break;
}
//
- // Rule 517: template_argument ::= assignment_expression
+ // Rule 517: template_argument ::= type_id
//
- case 517: { action. consumeTemplateArgumentExpression(); break;
+ case 517: { action. consumeTemplateArgumentTypeId(); break;
}
//
- // Rule 518: template_argument ::= type_id
+ // Rule 518: explicit_instantiation ::= template declaration
//
- case 518: { action. consumeTemplateArgumentTypeId(); break;
+ case 518: { action. consumeTemplateExplicitInstantiation(); break;
}
//
- // Rule 519: explicit_instantiation ::= template declaration
+ // Rule 519: explicit_specialization ::= template < > declaration
//
- case 519: { action. consumeTemplateExplicitInstantiation(); break;
+ case 519: { action. consumeTemplateExplicitSpecialization(); break;
}
//
- // Rule 520: explicit_specialization ::= template < > declaration
+ // Rule 520: try_block ::= try compound_statement <openscope-ast> handler_seq
//
- case 520: { action. consumeTemplateExplicitSpecialization(); break;
+ case 520: { action. consumeStatementTryBlock(); break;
}
//
- // Rule 521: try_block ::= try compound_statement <openscope-ast> handler_seq
+ // Rule 523: handler ::= catch ( exception_declaration ) compound_statement
//
- case 521: { action. consumeStatementTryBlock(); break;
+ case 523: { action. consumeStatementCatchHandler(false); break;
}
//
- // Rule 524: handler ::= catch ( exception_declaration ) compound_statement
+ // Rule 524: handler ::= catch ( ... ) compound_statement
//
- case 524: { action. consumeStatementCatchHandler(false); break;
+ case 524: { action. consumeStatementCatchHandler(true); break;
}
//
- // Rule 525: handler ::= catch ( ... ) compound_statement
+ // Rule 525: exception_declaration ::= type_specifier_seq <openscope-ast> declarator
//
- case 525: { action. consumeStatementCatchHandler(true); break;
+ case 525: { action. consumeDeclarationSimple(true); break;
}
//
- // Rule 526: exception_declaration ::= type_specifier_seq <openscope-ast> declarator
+ // Rule 526: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator
//
case 526: { action. consumeDeclarationSimple(true); break;
}
//
- // Rule 527: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator
- //
- case 527: { action. consumeDeclarationSimple(true); break;
- }
-
- //
- // Rule 528: exception_declaration ::= type_specifier_seq
+ // Rule 527: exception_declaration ::= type_specifier_seq
//
- case 528: { action. consumeDeclarationSimple(false); break;
+ case 527: { action. consumeDeclarationSimple(false); break;
}
//
- // Rule 530: exception_specification ::= throw ( )
+ // Rule 529: exception_specification ::= throw ( )
//
- case 530: { action. consumePlaceHolder(); break;
+ case 529: { action. consumePlaceHolder(); break;
}
//
- // Rule 536: no_cast_start ::= ERROR_TOKEN
+ // Rule 535: no_cast_start ::= ERROR_TOKEN
//
- case 536: { action. consumeExpressionProblem(); break;
+ case 535: { action. consumeExpressionProblem(); break;
}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParserprs.java
index efca17a6f39..bacdda50ccb 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParserprs.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParserprs.java
@@ -29,7 +29,7 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0
+ 0,0
};
};
public final static byte isKeyword[] = IsKeyword.isKeyword;
@@ -39,437 +39,437 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public final static short baseCheck[] = {0,
0,0,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,3,1,1,1,1,1,
- 1,1,1,2,2,1,1,0,1,0,
- 4,2,3,2,3,2,2,1,0,1,
- 1,4,4,4,8,8,3,3,4,4,
- 3,3,2,2,7,7,7,7,4,4,
- 5,6,3,2,2,1,1,1,2,2,
- 2,2,2,2,2,2,2,4,7,9,
- 3,0,1,2,2,1,2,3,4,1,
- 0,3,1,0,3,5,1,1,3,3,
- 1,3,3,3,1,3,3,1,3,3,
- 1,3,3,3,3,1,3,3,1,3,
- 1,3,1,3,1,3,1,3,1,5,
- 1,2,1,1,3,3,3,3,3,3,
- 3,3,3,3,3,1,2,1,3,1,
- 0,1,0,1,1,0,1,1,1,1,
- 1,1,1,1,1,3,4,3,2,1,
- 4,2,1,2,5,7,5,1,4,1,
- 0,5,7,8,1,1,2,2,3,2,
- 3,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,2,1,0,
- 4,4,2,2,2,2,2,1,0,1,
- 1,1,1,1,1,2,1,2,2,2,
- 1,1,2,2,1,2,2,1,2,2,
- 1,2,2,1,1,1,1,1,1,1,
+ 1,1,1,3,1,1,1,1,1,1,
+ 1,1,2,2,1,1,0,1,0,4,
+ 2,3,2,3,2,2,1,0,1,1,
+ 4,4,4,8,8,3,3,4,4,3,
+ 3,2,2,7,7,7,7,4,4,5,
+ 6,3,2,2,1,1,1,2,2,2,
+ 2,2,2,2,2,2,4,7,9,3,
+ 0,1,2,2,1,2,3,4,1,0,
+ 3,1,0,3,5,1,1,3,3,1,
+ 3,3,3,1,3,3,1,3,3,1,
+ 3,3,3,3,1,3,3,1,3,1,
+ 3,1,3,1,3,1,3,1,5,1,
+ 2,1,1,3,3,3,3,3,3,3,
+ 3,3,3,3,1,2,1,3,1,0,
+ 1,0,1,1,0,1,1,1,1,1,
+ 1,1,1,1,3,4,3,2,1,4,
+ 2,1,2,5,7,5,1,4,1,0,
+ 5,7,8,1,1,2,2,3,2,3,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,2,1,0,4,
+ 4,2,2,2,2,2,1,0,1,1,
+ 1,1,1,1,2,1,2,2,2,1,
+ 1,2,2,1,2,2,1,2,2,1,
+ 2,2,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,3,4,4,5,2,5,
- 6,5,0,6,7,0,1,3,1,0,
- 1,3,1,1,1,6,5,7,6,1,
- 0,6,5,6,4,1,3,1,0,1,
- 1,2,1,1,3,1,3,1,1,1,
- 1,3,9,2,2,3,2,4,2,6,
- 0,1,2,2,1,0,1,1,1,3,
- 1,2,1,1,2,3,1,1,1,3,
- 2,1,2,2,9,8,2,1,3,1,
- 3,1,0,1,0,2,1,1,3,1,
- 3,2,1,5,8,1,2,3,1,7,
- 6,3,0,0,1,3,1,1,5,6,
- 6,7,7,0,0,1,0,1,1,1,
- 2,4,2,2,1,5,1,1,1,1,
- 1,1,1,2,1,0,1,3,1,1,
- 2,3,2,1,2,2,1,0,1,3,
- 3,5,5,4,1,1,1,1,0,1,
- 5,2,2,1,2,2,1,0,1,3,
- 4,3,1,1,5,2,1,1,3,3,
+ 1,1,1,3,4,4,5,2,5,6,
+ 5,0,6,7,0,1,3,1,0,1,
+ 3,1,1,1,6,5,7,6,1,0,
+ 6,5,6,4,1,3,1,0,1,1,
+ 2,1,1,3,1,3,1,1,1,1,
+ 3,9,2,2,3,2,4,2,6,0,
+ 1,2,2,1,0,1,1,1,3,1,
+ 2,1,1,2,3,1,1,1,3,2,
+ 1,2,2,9,8,2,1,3,1,3,
+ 1,0,1,0,2,1,1,3,1,3,
+ 2,1,5,8,1,2,3,1,7,6,
+ 3,0,0,1,3,1,1,5,6,6,
+ 7,7,0,0,1,0,1,1,1,2,
+ 4,2,2,1,5,1,1,1,1,1,
+ 1,1,2,1,0,1,3,1,1,2,
+ 3,2,1,2,2,1,0,1,3,3,
+ 5,5,4,1,1,1,1,0,1,5,
+ 2,2,1,2,2,1,0,1,3,4,
+ 3,1,1,5,2,1,1,3,3,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,2,2,7,1,
- 0,1,3,1,1,2,4,2,4,7,
- 9,5,1,3,1,0,1,1,2,4,
- 4,1,2,5,5,3,3,1,4,3,
- 1,0,1,3,1,1,-107,0,0,0,
- -2,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-54,
- 0,0,0,0,0,-49,0,0,0,0,
- 0,0,0,0,-396,0,0,0,0,-68,
- 0,0,0,-4,0,0,0,0,0,0,
- 0,0,0,-5,-85,0,0,0,0,0,
+ 1,1,1,1,1,2,2,7,1,0,
+ 1,3,1,1,2,4,2,4,7,9,
+ 5,1,3,1,0,1,1,2,4,4,
+ 1,2,5,5,3,3,1,4,3,1,
+ 0,1,3,1,1,-107,0,0,0,-2,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-54,0,
+ 0,0,0,0,-49,0,0,0,0,0,
+ 0,0,0,-396,0,0,0,0,-68,0,
+ 0,0,-4,0,0,0,0,0,0,0,
+ 0,0,-5,-85,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-6,0,0,0,
+ 0,0,0,0,0,-58,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,-6,0,0,
- 0,0,0,0,0,0,-58,0,0,0,
- -76,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-244,0,0,
+ -176,0,0,0,-7,0,-69,0,0,0,
+ -123,0,0,0,0,0,0,0,0,-8,
+ 0,0,0,0,0,0,0,0,-114,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-244,0,
- 0,-176,0,0,0,-7,0,-69,0,0,
- 0,-123,0,0,0,0,0,0,0,0,
- -8,0,0,0,0,0,0,0,0,-114,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,-234,0,0,0,0,0,-50,-9,0,
+ 0,0,-112,0,-16,0,0,0,-53,-62,
+ 0,0,0,0,0,0,-115,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-234,0,0,0,0,0,-50,-9,
- 0,0,0,-112,0,-16,0,0,0,-53,
- -62,0,0,0,0,0,0,-115,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ -11,0,0,0,-126,0,0,0,0,0,
+ -12,0,-136,0,-170,0,0,0,-51,0,
+ 0,-121,0,0,0,0,-531,0,0,0,
+ -379,0,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,0,0,0,
- 0,-11,0,0,0,-126,0,0,0,0,
- 0,-12,0,-136,0,-170,0,0,0,-51,
- 0,0,-121,0,0,0,0,-531,0,0,
- 0,-379,0,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,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,-10,0,0,0,0,0,0,0,
+ -222,0,0,0,-116,0,-462,0,-165,0,
+ 0,0,-218,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-10,0,0,0,0,0,0,
- 0,-222,0,0,0,-116,0,-462,0,-165,
- 0,0,0,-218,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,-133,0,0,0,0,0,0,0,0,
+ -375,0,0,0,0,0,-59,0,0,0,
+ 0,0,0,-186,0,-13,0,-253,0,0,
+ -138,0,0,0,-383,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-340,0,0,
+ -506,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-133,0,0,0,0,0,0,0,
- 0,-375,0,0,0,0,0,-59,0,0,
- 0,0,0,0,-186,0,-13,0,-253,0,
- 0,-138,0,0,0,-383,0,0,0,0,
- 0,0,0,0,0,0,0,0,-340,0,
- 0,-506,0,0,0,0,0,0,0,0,
+ 0,0,0,-15,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-233,0,
+ 0,0,0,-530,0,0,0,-61,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-15,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-233,
- 0,0,0,0,-530,0,0,0,-61,0,
+ 0,0,0,0,0,0,-28,0,0,0,
+ 0,0,-202,0,0,0,0,0,0,0,
+ 0,-187,0,0,0,0,0,-318,0,0,
+ 0,-29,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-28,0,0,
- 0,0,0,-202,0,0,0,0,0,0,
- 0,0,-187,0,0,0,0,0,-318,0,
- 0,0,-29,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-57,0,0,0,
+ 0,0,0,0,0,-457,0,0,0,0,
+ 0,0,0,-437,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-57,0,0,
- 0,0,0,0,0,0,-457,0,0,0,
- 0,0,0,0,-437,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,-277,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-17,0,0,0,
+ 0,0,-3,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-277,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-17,0,0,
- 0,0,0,-3,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,-119,0,0,0,0,0,0,0,0,
+ 0,-219,0,0,0,-441,0,0,-282,0,
+ 0,0,-345,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-119,0,0,0,0,0,0,0,
- 0,0,-219,0,0,0,-441,0,0,-282,
- 0,0,0,-345,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-223,0,0,
+ 0,0,0,0,0,0,-230,0,0,0,
+ 0,-322,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-223,0,
- 0,0,0,0,0,0,0,-230,0,0,
- 0,0,-322,0,0,0,0,0,0,0,
+ 0,0,0,0,-30,0,0,0,0,0,
+ -188,0,0,0,0,0,0,0,0,-296,
+ -261,-31,0,0,-140,0,0,0,-32,0,
+ 0,0,0,0,0,0,0,0,-33,0,
+ -34,0,-323,0,0,0,-35,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-30,0,0,0,0,
- 0,-188,0,0,0,0,0,0,0,0,
- -296,-261,-31,0,0,-140,0,0,0,-32,
- 0,0,0,0,0,0,0,0,0,-33,
- 0,-34,0,-323,0,0,0,-35,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,-196,0,0,0,0,0,0,0,0,
+ -128,0,-529,0,0,-39,0,0,0,-36,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-196,0,0,0,0,0,0,0,
- 0,-128,0,-529,0,0,-39,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,0,-415,0,0,0,0,
- 0,0,0,0,-177,0,0,0,0,-373,
- -41,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-415,0,0,0,0,0,
+ 0,0,0,-177,0,0,0,0,-373,-41,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-254,0,0,0,0,0,-37,
- 0,0,0,-104,0,0,0,0,-38,-105,
- 0,0,0,-91,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,-254,0,0,0,0,0,-37,0,
+ 0,0,-104,0,0,0,0,-38,-105,0,
+ 0,0,-91,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-113,-166,0,0,
- 0,-271,0,0,0,0,-92,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-113,-166,0,0,0,
+ -271,0,0,0,0,-92,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -184,0,0,0,0,-40,-285,0,0,-93,
- 0,0,0,-55,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-184,
+ 0,0,0,0,-40,-285,0,0,-93,0,
+ 0,0,-55,0,0,0,0,0,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,-195,0,0,0,0,0,0,
- 0,0,-94,0,0,0,-56,0,0,0,
+ 0,-137,-195,0,0,0,0,0,0,0,
+ 0,-94,0,0,0,-56,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-141,-209,0,0,0,
- 0,-197,-63,0,0,-95,0,0,0,-64,
+ 0,0,0,0,-141,-209,0,0,0,0,
+ -197,-63,0,0,-95,0,0,0,-64,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-207,-220,
- 0,0,0,0,-256,-66,0,0,-96,0,
- 0,0,-67,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-207,-220,0,
+ 0,0,0,-256,-66,0,0,-96,0,0,
+ 0,-67,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-228,0,0,
- 0,0,0,0,0,0,-108,-232,-109,0,
- 0,-97,0,0,0,-278,0,0,0,0,
+ 0,0,0,0,0,0,-228,0,0,0,
+ 0,0,0,0,0,-108,-232,-109,0,0,
+ -97,0,0,0,-278,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-313,0,0,0,0,0,
- 0,0,0,0,-239,-266,0,0,0,0,
- -246,-110,0,0,-98,0,0,0,-111,0,
+ 0,0,0,-313,0,0,0,0,0,0,
+ 0,0,0,-239,-266,0,0,0,0,-246,
+ -110,0,0,-98,0,0,0,-111,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-247,-267,0,
- 0,0,0,-248,-131,0,0,-99,0,0,
+ 0,0,0,0,0,0,-247,-267,0,0,
+ 0,0,-248,-131,0,0,-99,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-269,0,0,0,0,-461,0,0,0,
- -100,0,0,0,-320,0,0,0,0,0,
+ -269,0,0,0,0,-461,0,0,0,-100,
+ 0,0,0,-320,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-274,0,0,0,0,0,-355,
- 0,0,0,-249,-273,0,0,0,0,-342,
- -286,0,0,-101,0,0,0,-309,0,0,
+ 0,0,-274,0,0,0,0,0,-355,0,
+ 0,0,-249,-273,0,0,0,0,-342,-286,
+ 0,0,-101,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,0,
- 0,0,-281,0,0,0,0,0,0,0,
- 0,-354,0,-143,0,0,-163,0,0,0,
- -361,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-144,
+ 0,-281,0,0,0,0,0,0,0,0,
+ -354,0,-143,0,0,-163,0,0,0,-361,
0,0,0,0,0,0,0,0,0,0,
- -291,0,0,0,-203,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-144,0,
+ 0,0,0,0,0,0,0,0,0,-291,
+ 0,0,0,-203,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-211,0,0,
+ 0,0,0,0,0,0,-211,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-385,-411,0,0,0,0,-71,0,
- 0,-475,0,0,-524,0,0,0,0,0,
+ 0,-385,-411,0,0,0,0,-71,0,0,
+ -475,0,0,-524,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-145,0,
- 0,0,0,-293,-146,0,0,-343,0,0,
- 0,-129,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-145,0,0,
+ 0,0,-293,-146,0,0,-343,0,0,0,
+ -129,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-398,
+ 0,0,0,0,0,0,0,0,0,-491,
+ -132,0,0,0,-353,0,0,0,-518,0,
0,0,0,0,0,0,0,0,0,0,
- -398,0,0,0,0,0,0,0,0,0,
- -491,-132,0,0,0,-353,0,0,0,-518,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,-135,0,0,0,0,0,0,0,
+ 0,0,0,0,-377,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-135,0,0,0,0,0,0,
- 0,0,0,0,0,-377,0,0,0,0,
+ 0,0,0,0,0,0,0,-414,0,0,
+ 0,0,0,0,0,0,0,-147,-142,0,
+ 0,0,-378,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-414,0,
- 0,0,0,0,0,0,0,0,-147,-142,
- 0,0,0,-378,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-205,0,0,0,
+ -333,0,0,0,0,-227,0,0,0,0,
+ 0,-148,-448,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-205,0,0,
- 0,-333,0,0,0,0,-227,0,0,0,
- 0,0,-148,-448,0,0,0,0,0,0,
+ 0,0,0,0,0,-439,0,0,0,0,
+ 0,0,0,0,0,0,-450,0,0,0,
+ -103,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-439,0,0,0,
- 0,0,0,0,0,0,0,-450,0,0,
- 0,-103,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-149,0,0,-372,0,0,0,
+ -150,-297,0,0,0,0,0,-268,0,0,
+ -90,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-149,0,0,-372,0,0,
- 0,-150,-297,0,0,0,0,0,-268,0,
- 0,-90,0,0,0,0,0,0,0,0,
+ 0,0,0,-224,0,0,0,0,0,-299,
+ 0,0,0,-88,0,0,0,-151,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-224,0,0,0,0,0,
- -299,0,0,0,-88,0,0,0,-151,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-89,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-89,0,0,0,
+ 0,0,0,0,0,0,0,0,-152,0,
+ 0,0,0,0,-153,0,-389,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-86,
+ 0,0,0,-535,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-152,
- 0,0,0,0,0,-153,0,-389,0,0,
+ 0,0,0,0,0,0,0,-18,0,0,
+ 0,-294,-164,-264,-154,-265,0,-397,0,0,
+ 0,-321,-117,-316,0,0,0,0,-155,0,
+ 0,-427,0,0,-156,0,0,-231,0,0,
+ 0,0,0,-157,0,0,-201,0,0,0,
+ 0,0,-87,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -86,0,0,0,-535,0,0,0,0,0,
+ 0,0,0,0,0,-158,0,0,0,0,
+ 0,-326,-106,0,0,-118,0,0,-159,0,
+ 0,0,-241,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-18,0,
- 0,0,-294,-164,-264,-154,-265,0,-397,0,
- 0,0,-321,-117,-316,0,0,0,0,-155,
- 0,0,-427,0,0,-156,0,0,-231,0,
- 0,0,0,0,-157,0,0,-201,0,0,
- 0,0,0,-87,0,0,0,0,0,0,
+ 0,0,0,0,-319,-127,0,0,0,-235,
+ 0,0,0,0,0,0,-139,0,0,0,
+ -160,-288,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-310,0,
+ -102,0,0,0,0,0,0,0,0,0,
+ 0,0,-161,0,0,-349,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-158,0,0,0,
- 0,0,-326,-106,0,0,-118,0,0,-159,
- 0,0,0,-241,0,0,0,0,0,0,
+ -167,-350,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-295,0,-120,-302,
+ 0,0,0,0,0,-357,0,0,-304,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-319,-127,0,0,0,
- -235,0,0,0,0,0,0,-139,0,0,
- 0,-160,-288,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-310,
- 0,-102,0,0,0,0,0,0,0,0,
- 0,0,0,-161,0,0,-349,0,0,0,
+ 0,-258,0,0,0,0,0,0,-79,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-167,-350,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-295,0,-120,
- -302,0,0,0,0,0,-357,0,0,-304,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-258,0,0,0,0,0,0,-79,
+ 0,-483,0,0,0,0,0,0,0,0,
+ 0,0,0,-507,0,0,0,0,0,0,
+ -168,0,0,-368,0,0,0,0,-298,-303,
+ 0,-169,0,0,0,0,0,0,0,0,
+ 0,0,0,-172,-80,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-483,0,0,0,0,0,0,0,
- 0,0,0,0,-507,0,0,0,0,0,
- 0,-168,0,0,-368,0,0,0,0,-298,
- -303,0,-169,0,0,0,0,0,0,0,
- 0,0,0,0,-172,-80,0,0,0,0,
+ 0,-81,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-173,0,0,0,-74,0,
+ 0,0,-174,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-81,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-352,-438,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-173,0,0,0,-74,
- 0,0,0,-174,0,0,0,0,0,0,
+ -367,0,0,-82,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-352,-438,0,
+ 0,0,0,0,0,0,-426,0,0,0,
+ 0,-208,-351,-459,-243,0,0,0,0,0,
+ 0,-400,0,0,-175,0,0,0,0,0,
+ 0,0,-307,0,0,0,0,0,-327,-199,
+ 0,0,0,0,0,0,0,-408,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-367,0,0,-82,0,0,0,0,0,
+ -446,0,-308,-324,0,0,0,0,-178,0,
+ -179,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-180,-270,0,0,0,
+ 0,0,0,-237,0,0,0,-183,0,0,
+ 0,0,0,-312,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-426,0,0,
- 0,0,-208,-351,-459,-243,0,0,0,0,
- 0,0,-400,0,0,-175,0,0,0,0,
- 0,0,0,-307,0,0,0,0,0,-327,
- -199,0,0,0,0,0,0,0,-408,0,
+ 0,0,-428,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-523,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-356,-204,
+ -52,0,0,0,0,0,0,-191,-386,-329,
0,0,0,0,0,0,0,0,0,0,
- 0,-446,0,-308,-324,0,0,0,0,-178,
- 0,-179,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-180,-270,0,0,
- 0,0,0,0,-237,0,0,0,-183,0,
- 0,0,0,0,-312,0,0,0,0,0,
+ 0,0,-47,0,0,0,-238,0,0,0,
+ 0,0,-14,-192,0,0,0,-430,0,0,
+ 0,0,-181,-417,0,0,0,0,0,0,
+ -463,-198,-466,0,0,0,0,0,0,-382,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-428,0,0,0,0,0,0,
- 0,0,0,0,0,0,-523,0,0,0,
- 0,0,0,0,0,0,0,0,0,-356,
- -204,-52,0,0,0,0,0,0,-191,-386,
- -329,0,0,0,0,0,0,0,0,0,
- 0,0,0,-47,0,0,0,-238,0,0,
- 0,0,0,-14,-192,0,0,0,-430,0,
- 0,0,0,-181,-417,0,0,0,0,0,
- 0,-463,-198,-466,0,0,0,0,0,0,
- -382,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-206,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-330,0,
- -216,0,0,0,0,0,0,-217,0,0,
- -245,0,0,0,-272,0,0,0,0,0,
- 0,0,0,-292,0,0,0,-19,0,0,
+ 0,0,-206,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-330,0,-216,
+ 0,0,0,0,0,0,-217,0,0,-245,
+ 0,0,0,-272,0,0,0,0,0,0,
+ 0,0,-292,0,0,0,-19,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-83,0,0,0,-225,0,
+ 0,0,0,-83,0,0,0,-225,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-122,0,0,
- -84,0,0,0,-236,0,0,0,0,0,
+ 0,0,0,0,0,0,-122,0,0,-84,
+ 0,0,0,-236,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-455,0,0,-240,0,-134,-526,
- -420,-359,0,0,0,0,-311,0,0,0,
- -332,-335,-360,-242,-337,0,0,0,0,0,
- -460,-212,0,0,0,0,-43,0,0,0,
- 0,0,0,0,-171,0,0,0,0,0,
- 0,0,0,0,0,0,0,-478,0,0,
- 0,0,-252,-436,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-362,
- 0,0,0,-124,0,-213,0,0,0,0,
- -44,-257,0,0,0,0,0,0,-471,-259,
+ 0,0,-455,0,0,-240,0,-134,-526,-420,
+ -359,0,0,0,0,-311,0,0,0,-332,
+ -335,-360,-242,-337,0,0,0,0,0,-460,
+ -212,0,0,0,0,-43,0,0,0,0,
+ 0,0,0,-171,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-478,0,0,0,
+ 0,-252,-436,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-362,0,
+ 0,0,-124,0,-213,0,0,0,0,-44,
+ -257,0,0,0,0,0,0,-471,-259,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-480,0,0,0,0,0,0,0,0,
+ -480,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-393,-45,0,0,-521,0,0,-260,
- 0,-469,0,0,-46,0,0,0,0,0,
- 0,0,-185,0,0,0,0,0,0,0,
- 0,0,0,0,0,-497,0,0,-392,0,
- 0,0,0,0,0,-275,0,0,0,0,
+ 0,-393,-45,0,0,-521,0,0,-260,0,
+ -469,0,0,-46,0,0,0,0,0,0,
+ 0,-185,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-497,0,0,-392,0,0,
+ 0,0,0,0,-275,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-279,-1,0,0,0,0,-194,0,
- -280,0,0,0,0,0,-226,0,0,0,
- -283,0,0,0,0,0,0,0,0,-511,
- 0,0,0,0,-328,-473,-339,-468,0,0,
+ 0,-279,-1,0,0,0,0,-194,0,-280,
+ 0,0,0,0,0,-226,0,0,0,-283,
+ 0,0,0,0,0,0,0,0,-511,0,
+ 0,0,0,-328,-473,-339,-468,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-443,0,0,-284,0,-406,0,0,0,
- 0,0,-444,-300,-301,0,0,0,0,0,
- 0,-445,0,0,0,0,0,0,0,0,
- 0,0,0,-513,0,0,-388,0,0,-458,
- 0,-306,0,0,-314,0,0,0,0,0,
- 0,0,0,0,0,-404,0,0,0,-434,
- 0,-315,0,-190,0,0,0,-331,0,0,
- -344,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-492,0,0,
- 0,0,-229,0,0,0,-358,0,-374,0,
- 0,0,0,0,0,0,0,0,-515,0,
+ -443,0,0,-284,0,-406,0,0,0,0,
+ 0,-444,-300,-301,0,0,0,0,0,0,
+ -445,0,0,0,0,0,0,0,0,0,
+ 0,0,-513,0,0,-388,0,0,-458,0,
+ -306,0,0,-314,0,0,0,0,0,0,
+ 0,0,0,0,-404,0,0,0,-434,0,
+ -315,0,-190,0,0,0,-331,0,0,-344,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-287,0,0,0,0,0,-325,0,
- 0,0,-346,-387,0,0,0,0,0,-410,
- -490,-517,-407,0,0,0,-399,0,0,-464,
- 0,0,0,0,0,-418,0,0,0,0,
+ 0,0,0,0,0,0,-492,0,0,0,
+ 0,-229,0,0,0,-358,0,-374,0,0,
+ 0,0,0,0,0,0,0,-515,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-498,-338,0,0,0,0,0,
+ 0,-287,0,0,0,0,0,-325,0,0,
+ 0,-346,-387,0,0,0,0,0,-410,-490,
+ -517,-407,0,0,0,-399,0,0,-464,0,
+ 0,0,0,0,-418,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-363,0,0,-532,-48,
- -70,0,0,0,0,-486,0,0,0,0,
- 0,0,0,0,0,0,-366,0,0,-487,
- -162,0,-500,0,-381,0,0,0,0,0,
- 0,0,0,0,-390,-391,0,0,0,-347,
+ 0,0,-498,-338,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-537,0,0,0,0,0,0,-465,
- 0,0,0,-394,0,0,0,0,0,0,
- 0,0,0,0,0,0,-395,-401,0,-494,
- -214,0,0,0,0,-413,-403,-409,-416,0,
- 0,0,0,0,-423,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-371,0,
- 0,-505,0,-472,0,0,-424,0,0,0,
- 0,0,0,0,0,0,0,-75,0,0,
+ 0,0,0,0,-363,0,0,-532,-48,-70,
+ 0,0,0,0,-486,0,0,0,0,0,
+ 0,0,0,0,0,-366,0,0,-487,-162,
+ 0,-500,0,-381,0,0,0,0,0,0,
+ 0,0,0,-390,-391,0,0,0,-347,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,-537,0,0,0,0,0,0,-465,0,
+ 0,0,-394,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-395,-401,0,-494,-214,
+ 0,0,0,0,-413,-403,-409,-416,0,0,
+ 0,0,0,-423,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-371,0,0,
+ -505,0,-472,0,0,-424,0,0,0,0,
+ 0,0,0,0,0,0,-75,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -447,0,-77,0,0,0,-449,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-447,
+ 0,-77,0,0,0,-449,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-78,0,0,0,-522,
+ 0,0,0,0,-78,0,0,0,-522,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-334,0,
- -290,-422,0,-215,0,0,-425,0,-370,-467,
- 0,-470,0,0,-276,0,-489,0,0,0,
- 0,0,-493,0,0,-451,0,-514,-452,-496,
- -453,0,0,0,0,-502,-504,-508,-509,0,
+ 0,0,0,0,0,0,0,-334,0,-290,
+ -422,0,-215,0,0,-425,0,-370,-467,0,
+ -470,0,0,-276,0,-489,0,0,0,0,
+ 0,-493,0,0,-451,0,-514,-452,-496,-453,
+ 0,0,0,0,-502,-504,-508,-509,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-510,-289,-454,0,0,-456,0,0,
- 0,0,0,-519,0,0,0,0,0,0,
+ 0,-510,-289,-454,0,0,-456,0,0,0,
+ 0,0,-519,0,0,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,0,0,0,0,0,0,-182,0,
- 0,0,0,-528,0,-435,-474,0,-476,0,
- -477,0,0,-479,0,-341,0,0,0,-484,
- 0,0,0,0,0,0,0,0,0,-527,
- 0,-516,0,-533,-534,0,0,-189,0,0,
- 0,0,0,0,0,0,0,-488,0,0,
- -495,0,0,0,0,0,0,0,0,-503,
- 0,0,-512,-520,-525,-536,0,0,0,0,
+ 0,0,0,0,-376,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-182,0,0,
+ 0,0,-528,0,-435,-474,0,-476,0,-477,
+ 0,0,-479,0,-341,0,0,0,-484,0,
+ 0,0,0,0,0,0,0,0,-527,0,
+ -516,0,-533,-534,0,0,-189,0,0,0,
+ 0,0,0,0,0,0,-488,0,0,-495,
+ 0,0,0,0,0,0,0,0,-503,0,
+ 0,-512,-520,-525,-536,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-20,0,0,0,0,0,0,0,
+ 0,-20,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-21,0,0,0,0,0,0,0,
+ 0,-21,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-22,0,0,0,0,0,0,
+ 0,0,-22,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-23,0,0,0,0,
+ 0,0,0,0,-23,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-24,0,0,
+ 0,0,0,0,0,0,-24,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-25,
+ 0,0,0,0,0,0,0,0,-25,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-26,0,0,0,0,0,0,0,0,
+ -26,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-27,0,0,0,0,0,0,
+ 0,0,-27,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-60,0,0,0,0,
+ 0,0,0,0,-60,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-72,0,0,
+ 0,0,0,0,0,0,-72,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-73,
+ 0,0,0,0,0,0,0,0,-73,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-193,0,0,0,0,0,0,0,0,
+ -193,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-336,0,0,0,0,0,0,
- 0,0,0,-364,-250,-251,-317,0,0,0,
- 0,0,0,-369,0,0,0,0,-429,0,
+ 0,0,-336,0,0,0,0,0,0,0,
+ 0,0,-364,-250,-251,-317,0,0,0,0,
+ 0,0,-369,0,0,0,0,-429,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
@@ -477,52 +477,51 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-412,0,0,0,
- 0,0,0,0,0,0,-421,0,0,0,
+ 0,0,0,0,0,-412,0,0,0,0,
+ 0,0,0,0,0,-421,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-305,
0,0,0,0,0,0,0,0,0,0,
- -305,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-380,0,0,0,0,0,0,
- 0,0,0,0,0,0,-499,0,0,0,
+ 0,0,-380,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-499,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,-125,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-221,0,
+ 0,0,0,0,0,0,0,-221,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-348,-384,0,0,0,0,0,
- -481,0,0,0,0,0,0,0,-262,0,
+ 0,0,-348,-384,0,0,0,0,0,-481,
+ 0,0,0,0,0,0,0,-262,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-263,0,0,0,0,0,0,0,0,
+ -263,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-402,0,0,0,0,0,0,0,0,
- 0,0,0,0,-365,0,0,0,0,0,
+ -402,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-365,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-405,0,0,0,
- -419,0,0,0,0,0,0,0,-501,0,
- 0,0,0,0,0,-431,0,0,0,0,
- 0,0,0,0,0,0,-432,0,0,0,
- 0,0,-442,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-405,0,0,0,-419,
+ 0,0,0,0,0,0,0,-501,0,0,
+ 0,0,0,0,-431,0,0,0,0,0,
+ 0,0,0,0,0,-432,0,0,0,0,
+ 0,-442,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-440,0,0,0,0,0,0,-42,0,
- 0,0,0,-65,0,0,0,0,0,0,
- 0,0,0,0,0,-200,0,0,0,0,
- 0,0,0,0,0,0,0,0,-210,0,
+ -440,0,0,0,0,0,0,-42,0,0,
+ 0,0,-65,0,0,0,0,0,0,0,
+ 0,0,0,0,-200,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-210,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-433,0,0,0,
- 0,0,0,0,0,0,0,-482,0,0,
- 0,0,0,-255,0,0,0,0,0,0,
- -485,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-433,0,0,0,0,
+ 0,0,0,0,0,0,-482,0,0,0,
+ 0,0,-255,0,0,0,0,0,0,-485,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
@@ -539,7 +538,8 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0
};
};
public final static short baseCheck[] = BaseCheck.baseCheck;
@@ -551,544 +551,544 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public final static char baseAction[] = {
174,4,136,83,83,33,33,67,67,38,
38,40,40,200,1,1,15,15,15,15,
- 15,15,15,15,16,16,16,14,11,11,
- 6,6,6,6,6,6,2,65,65,5,
- 5,12,12,44,44,137,137,138,56,56,
- 43,17,17,17,17,17,17,17,17,17,
+ 15,15,15,16,16,16,14,11,11,6,
+ 6,6,6,6,6,2,65,65,5,5,
+ 12,12,44,44,137,137,138,56,56,43,
+ 17,17,17,17,17,17,17,17,17,17,
17,17,17,17,17,17,17,17,17,17,
- 17,139,139,139,115,115,18,18,18,18,
- 18,18,18,18,18,18,18,18,18,19,
- 19,175,175,176,176,177,142,142,143,143,
- 140,140,144,141,141,20,20,21,22,22,
- 22,24,24,24,24,25,25,25,26,26,
- 26,27,27,27,27,27,28,28,28,30,
- 30,31,31,32,32,35,35,36,36,37,
- 37,42,42,41,41,41,41,41,41,41,
- 41,41,41,41,41,41,39,29,145,145,
- 97,97,178,178,92,201,201,68,68,68,
- 68,68,68,68,68,68,69,69,69,66,
- 66,55,55,179,179,70,70,70,103,103,
- 180,180,71,71,71,181,181,72,72,72,
- 72,72,73,73,84,84,84,84,84,84,
- 84,84,49,49,49,49,49,116,116,114,
- 114,50,182,23,23,23,23,23,48,48,
- 87,87,87,87,87,152,152,147,147,147,
- 147,147,148,148,148,149,149,149,150,150,
- 150,151,151,151,88,88,88,88,88,89,
- 89,89,13,13,13,13,13,13,13,13,
- 13,13,13,98,120,120,120,120,120,120,
- 118,118,118,153,119,119,183,155,155,154,
- 154,122,122,104,79,79,80,81,52,47,
- 156,156,53,51,86,86,157,157,146,146,
- 123,124,124,125,76,76,158,158,63,63,
- 63,60,60,59,64,64,75,75,58,58,
- 58,54,90,90,100,99,99,62,62,61,
- 61,57,57,45,101,101,101,93,93,93,
- 94,94,95,95,95,96,96,105,105,105,
- 107,107,106,106,202,202,91,91,185,185,
- 185,185,185,127,46,46,160,184,184,128,
- 128,128,128,129,162,186,186,34,34,117,
- 130,130,130,130,188,109,108,108,121,121,
- 121,163,164,164,164,164,164,164,164,164,
- 164,164,164,190,190,187,187,189,189,165,
- 166,166,166,166,167,191,111,110,110,192,
- 192,168,168,168,168,102,102,102,193,193,
- 8,8,9,194,194,195,169,159,159,170,
- 170,171,172,172,7,7,10,196,196,196,
+ 139,139,139,115,115,18,18,18,18,18,
+ 18,18,18,18,18,18,18,18,19,19,
+ 175,175,176,176,177,142,142,143,143,140,
+ 140,144,141,141,20,20,21,22,22,22,
+ 24,24,24,24,25,25,25,26,26,26,
+ 27,27,27,27,27,28,28,28,30,30,
+ 31,31,32,32,35,35,36,36,37,37,
+ 42,42,41,41,41,41,41,41,41,41,
+ 41,41,41,41,41,39,29,145,145,97,
+ 97,178,178,92,201,201,68,68,68,68,
+ 68,68,68,68,68,69,69,69,66,66,
+ 55,55,179,179,70,70,70,103,103,180,
+ 180,71,71,71,181,181,72,72,72,72,
+ 72,73,73,84,84,84,84,84,84,84,
+ 84,49,49,49,49,49,116,116,114,114,
+ 50,182,23,23,23,23,23,48,48,87,
+ 87,87,87,87,152,152,147,147,147,147,
+ 147,148,148,148,149,149,149,150,150,150,
+ 151,151,151,88,88,88,88,88,89,89,
+ 89,13,13,13,13,13,13,13,13,13,
+ 13,13,98,120,120,120,120,120,120,118,
+ 118,118,153,119,119,183,155,155,154,154,
+ 122,122,104,79,79,80,81,52,47,156,
+ 156,53,51,86,86,157,157,146,146,123,
+ 124,124,125,76,76,158,158,63,63,63,
+ 60,60,59,64,64,75,75,58,58,58,
+ 54,90,90,100,99,99,62,62,61,61,
+ 57,57,45,101,101,101,93,93,93,94,
+ 94,95,95,95,96,96,105,105,105,107,
+ 107,106,106,202,202,91,91,185,185,185,
+ 185,185,127,46,46,160,184,184,128,128,
+ 128,128,129,162,186,186,34,34,117,130,
+ 130,130,130,188,109,108,108,121,121,121,
+ 163,164,164,164,164,164,164,164,164,164,
+ 164,164,190,190,187,187,189,189,165,166,
+ 166,166,166,167,191,111,110,110,192,192,
+ 168,168,168,168,102,102,102,193,193,8,
+ 8,9,194,194,195,169,159,159,170,170,
+ 171,172,172,7,7,10,196,196,196,196,
196,196,196,196,196,196,196,196,196,196,
196,196,196,196,196,196,196,196,196,196,
196,196,196,196,196,196,196,196,196,196,
- 196,196,196,196,196,196,196,196,196,77,
- 82,82,173,173,132,132,133,133,133,133,
- 133,133,3,134,134,131,131,112,112,85,
- 78,74,161,161,113,113,197,197,197,135,
- 135,126,126,198,198,174,174,1132,36,2703,
- 2692,1116,3225,28,31,32,937,985,27,29,
- 2602,26,24,51,1028,107,77,78,108,1053,
- 1356,1273,1256,1290,1280,1298,70,1292,1410,1341,
- 690,273,1419,1506,143,1292,36,396,158,144,
- 1621,36,792,33,152,2548,28,31,32,937,
- 985,58,29,497,1376,3172,36,792,33,232,
- 2429,28,31,32,937,985,27,29,782,26,
- 24,51,1028,107,77,78,108,1053,1239,1273,
- 1256,1290,1280,2436,235,230,231,595,1636,1765,
- 35,3172,36,792,33,274,2429,28,31,32,
- 937,985,27,29,782,26,24,51,1028,107,
- 77,78,108,2019,242,245,248,251,803,2195,
- 36,277,595,36,1765,3081,1511,1173,1738,36,
- 792,33,244,2548,28,31,32,937,985,57,
- 29,1525,584,3715,2444,2507,2620,3158,3264,4536,
- 2347,36,792,33,2982,2429,28,31,32,937,
- 985,27,29,782,26,24,51,1028,107,77,
- 78,108,1053,343,1273,1256,1290,1280,1298,62,
- 1292,1410,1341,1983,3104,1419,1506,143,3929,70,
- 1670,517,144,748,1446,2504,1522,36,792,33,
- 1022,1650,42,31,32,937,985,518,2347,36,
- 792,33,2982,2429,28,31,32,937,985,27,
- 29,782,26,24,51,1028,107,77,78,108,
- 1053,343,1273,1256,1290,1280,1298,2929,1292,1410,
- 1341,1124,1627,1419,1506,143,331,36,279,517,
- 144,3968,2315,2504,1932,1375,331,36,279,662,
- 1885,4809,513,1914,876,518,2104,61,1337,36,
- 792,33,2405,4796,28,31,32,937,985,27,
- 29,2900,511,498,2902,1262,2347,36,792,33,
- 2982,2429,28,31,32,937,985,27,29,782,
- 26,24,51,1028,107,77,78,108,1053,343,
- 1273,1256,1290,1280,1298,1043,1292,1410,1341,2871,
- 513,1419,1506,143,505,95,3243,517,144,3004,
- 1375,2504,595,36,2437,2435,1983,2104,1893,2917,
- 1757,3929,2902,518,2558,36,792,33,2982,2429,
- 28,31,32,937,985,27,29,782,26,24,
- 51,1028,107,77,78,108,1053,343,1273,1256,
- 1290,1280,1298,1724,1292,1410,1341,2982,2853,1419,
- 1506,143,331,36,453,517,144,4662,1356,2504,
- 2929,43,3033,3837,332,505,343,2465,513,2165,
- 3387,518,1231,36,792,33,318,4796,28,31,
- 32,937,985,60,29,353,935,3015,1323,2655,
- 2902,25,2695,36,792,33,3024,2429,28,31,
- 32,937,985,27,29,782,26,24,51,1028,
- 107,77,78,108,1053,2566,1273,1256,1290,1280,
- 1298,3333,1292,1410,1341,443,514,1419,1506,143,
- 2415,1271,3832,379,144,2417,36,792,33,1645,
- 2429,28,31,32,937,985,27,29,782,26,
- 24,51,1028,107,77,78,108,1053,2275,1273,
- 1256,1290,1280,1298,2439,1292,1410,1341,328,335,
- 1419,1506,143,2269,2197,3832,379,144,438,3172,
- 36,792,33,418,2429,28,31,32,937,985,
- 27,29,782,26,24,51,1028,107,77,78,
- 108,1053,2405,1273,1256,1290,1280,1298,70,1292,
- 1410,1341,826,1668,1419,3064,164,595,3626,1544,
- 385,3279,446,3698,3707,2626,36,792,33,2104,
- 2429,28,31,32,937,985,27,29,782,26,
- 24,51,1028,107,77,78,108,1053,3519,1273,
- 1256,1290,1280,1298,2178,1292,1410,1341,447,3929,
- 1419,1506,143,386,3279,3832,379,144,70,3563,
- 1834,2627,1144,3356,2820,36,792,33,3894,2429,
- 28,31,32,937,985,27,29,782,26,24,
- 51,1028,107,77,78,108,1053,156,1273,1256,
- 1290,1280,1298,1893,1292,1410,1341,928,2929,1419,
- 1506,143,1124,72,913,158,144,595,36,293,
- 2820,36,792,33,2683,2429,28,31,32,937,
- 985,27,29,782,26,24,51,1028,107,77,
- 78,108,1053,1501,1273,1256,1290,1280,1298,144,
- 1292,1410,1341,377,3279,1419,1506,143,2090,36,
- 277,373,144,2820,36,792,33,3243,2429,28,
- 31,32,937,985,27,29,782,26,24,51,
- 1028,107,77,78,108,1053,49,1273,1256,1290,
- 1280,1298,505,1292,1410,1341,97,3513,1419,1506,
- 143,2165,848,65,373,144,1231,36,792,33,
- 2314,4796,28,31,32,937,985,59,29,584,
- 594,3406,761,3095,2820,36,792,33,1280,2429,
- 28,31,32,937,985,27,29,782,26,24,
- 51,1028,107,77,78,108,1053,372,1273,1256,
- 1290,1280,1298,2149,1292,1410,1341,723,1716,1419,
- 1506,143,1022,1271,231,373,144,2490,36,792,
- 33,57,2429,28,31,32,937,985,27,29,
- 782,26,24,51,1028,107,77,78,108,1053,
- 371,1273,1256,1290,1280,1298,2191,1292,1410,1341,
- 334,335,1419,1506,143,595,36,3088,142,144,
- 2655,2820,36,792,33,421,2429,28,31,32,
- 937,985,27,29,782,26,24,51,1028,107,
- 77,78,108,1053,2013,1273,1256,1290,1280,1298,
- 1093,1292,1410,1341,1356,460,1419,1506,143,927,
- 1356,369,159,144,2820,36,792,33,2621,2429,
- 28,31,32,937,985,27,29,782,26,24,
- 51,1028,107,77,78,108,1053,70,1273,1256,
- 1290,1280,1298,69,1292,1410,1341,1356,2100,1419,
- 1506,143,595,36,282,155,144,2820,36,792,
- 33,389,2429,28,31,32,937,985,27,29,
- 782,26,24,51,1028,107,77,78,108,1053,
- 54,1273,1256,1290,1280,1298,381,1292,1410,1341,
- 94,70,1419,1506,143,4569,1639,2524,154,144,
- 2820,36,792,33,420,2429,28,31,32,937,
- 985,27,29,782,26,24,51,1028,107,77,
- 78,108,1053,354,1273,1256,1290,1280,1298,3567,
- 1292,1410,1341,1356,70,1419,1506,143,1000,447,
- 312,153,144,2820,36,792,33,1473,2429,28,
- 31,32,937,985,27,29,782,26,24,51,
- 1028,107,77,78,108,1053,88,1273,1256,1290,
- 1280,1298,324,1292,1410,1341,1356,70,1419,1506,
- 143,2846,1356,1350,152,144,2820,36,792,33,
- 2592,2429,28,31,32,937,985,27,29,782,
- 26,24,51,1028,107,77,78,108,1053,53,
- 1273,1256,1290,1280,1298,91,1292,1410,1341,1356,
- 70,1419,1506,143,939,2311,1343,151,144,2820,
- 36,792,33,1462,2429,28,31,32,937,985,
- 27,29,782,26,24,51,1028,107,77,78,
- 108,1053,350,1273,1256,1290,1280,1298,70,1292,
- 1410,1341,2918,404,1419,1506,143,336,1356,684,
- 150,144,2820,36,792,33,674,2429,28,31,
- 32,937,985,27,29,782,26,24,51,1028,
- 107,77,78,108,1053,2013,1273,1256,1290,1280,
- 1298,1845,1292,1410,1341,1356,70,1419,1506,143,
- 1858,1356,1180,149,144,2820,36,792,33,1912,
- 2429,28,31,32,937,985,27,29,782,26,
- 24,51,1028,107,77,78,108,1053,1883,1273,
- 1256,1290,1280,1298,68,1292,1410,1341,1356,70,
- 1419,1506,143,2570,1356,2593,148,144,2820,36,
- 792,33,284,2429,28,31,32,937,985,27,
- 29,782,26,24,51,1028,107,77,78,108,
- 1053,67,1273,1256,1290,1280,1298,66,1292,1410,
- 1341,71,70,1419,1506,143,2935,595,3978,147,
- 144,2820,36,792,33,674,2429,28,31,32,
- 937,985,27,29,782,26,24,51,1028,107,
- 77,78,108,1053,2477,1273,1256,1290,1280,1298,
- 2477,1292,1410,1341,1356,70,1419,1506,143,2445,
- 1347,2102,146,144,2820,36,792,33,2615,2429,
- 28,31,32,937,985,27,29,782,26,24,
- 51,1028,107,77,78,108,1053,65,1273,1256,
- 1290,1280,1298,70,1292,1410,1341,2443,402,1419,
- 1506,143,595,3465,413,145,144,2764,36,792,
- 33,2590,2429,28,31,32,937,985,27,29,
- 782,26,24,51,1028,107,77,78,108,1053,
- 587,1273,1256,1290,1280,1298,325,1292,1410,1341,
- 72,1356,1419,3064,164,2820,36,792,33,406,
- 2429,28,31,32,937,985,27,29,782,26,
- 24,51,1028,107,77,78,108,1053,2061,1273,
- 1256,1290,1280,1298,3079,1292,1410,1341,390,427,
- 1419,1506,143,1736,1736,89,140,144,103,70,
- 327,90,2369,1144,103,3054,36,792,33,2188,
- 2429,28,31,32,937,985,27,29,782,26,
- 24,51,1028,107,77,78,108,1053,156,1273,
- 1256,1290,1280,1298,288,1292,1410,1341,2150,1027,
- 1419,1506,143,2104,1356,1296,189,144,3172,36,
- 792,33,1022,2429,28,31,32,937,985,27,
- 29,782,26,24,51,1028,107,77,78,108,
- 1053,2590,1273,1256,1290,1280,1298,56,1292,1410,
- 1341,1736,1022,1419,3064,164,3172,36,792,33,
- 2693,2429,28,31,32,937,985,27,29,782,
- 26,24,51,1028,107,77,78,108,1053,299,
- 1273,1256,1290,1280,1298,523,1292,1410,1341,356,
- 355,1419,3064,164,1897,36,792,33,531,531,
- 41,31,32,937,985,459,3172,36,792,33,
- 423,2429,28,31,32,937,985,27,29,782,
- 26,24,51,1028,107,77,78,108,1053,2590,
- 1273,1256,1290,1280,1298,4282,1292,1410,1341,1722,
- 1022,1419,3064,164,3172,36,792,33,292,2429,
- 28,31,32,937,985,27,29,782,26,24,
- 51,1028,107,77,78,108,1053,221,1273,1256,
- 1290,1280,1298,523,1292,1410,1341,323,1022,1419,
- 3064,164,1897,36,792,33,531,1893,1901,31,
- 32,937,985,1521,3228,36,792,33,422,2429,
- 28,31,32,937,985,27,29,782,26,24,
- 51,1028,107,77,78,108,1053,2590,1273,1256,
- 1290,1280,1298,52,1292,1410,1341,1802,2590,1419,
- 3064,164,3172,36,792,33,425,2429,28,31,
- 32,937,985,27,29,782,26,24,51,1028,
- 107,77,78,108,1053,303,1273,1256,1290,1280,
- 1298,326,1292,1410,1341,1566,179,2584,1897,36,
- 792,33,1785,1650,2051,31,32,937,985,2307,
- 36,280,3172,36,792,33,3944,2429,28,31,
- 32,937,985,27,29,782,26,24,51,1028,
- 107,77,78,108,1053,2272,1273,1256,1290,1280,
- 1298,1893,1292,1410,2510,3172,36,792,33,1990,
- 2429,28,31,32,937,985,27,29,782,26,
- 24,51,1028,107,77,78,108,1053,2192,1273,
- 1256,1290,1280,1298,3197,1292,2465,3172,36,792,
- 33,3202,2429,28,31,32,937,985,27,29,
- 782,26,24,51,1028,107,77,78,108,1053,
- 136,1273,1256,1290,1280,1298,1006,2497,1540,36,
- 792,33,4584,3660,28,31,32,937,985,339,
- 29,3172,36,792,33,231,2429,28,31,32,
- 937,985,27,29,782,26,24,51,1028,107,
- 77,78,108,1053,1759,1273,1256,1290,2450,1259,
- 36,1600,388,1356,2190,144,1713,2661,2843,1292,
- 36,396,2929,2165,2879,2415,332,319,1851,321,
- 2457,314,1507,853,36,453,2525,239,4662,595,
- 36,1765,276,50,313,1159,55,351,766,36,
- 1600,388,1593,741,3172,36,792,33,3946,2429,
- 28,31,32,937,985,27,29,782,26,24,
- 51,1028,107,77,78,108,1053,1486,1273,1256,
- 1290,2456,273,2450,2173,1271,232,1240,3641,352,
- 492,306,310,1366,1420,36,792,33,3884,3543,
- 28,31,32,937,985,339,29,344,1458,880,
- 349,240,230,231,2139,1629,1022,940,36,1600,
- 388,2106,3517,335,2864,3709,2894,3737,943,36,
- 1600,388,1844,1826,36,792,33,3405,3543,28,
- 31,32,937,985,339,29,3165,380,2104,232,
- 2615,50,70,319,1851,321,1144,314,1507,352,
- 1593,2989,50,73,1723,1840,351,2615,3356,352,
- 3425,1593,1034,3484,244,230,231,344,1458,880,
- 349,156,1798,2615,2468,342,2871,344,1458,880,
- 349,2552,319,1851,321,3391,314,1507,70,98,
- 1255,505,3201,450,3698,3707,3595,1022,352,2870,
- 1836,36,3553,33,4584,3660,28,31,32,937,
- 985,339,29,2269,36,293,344,1458,880,349,
- 3172,36,792,33,1629,2429,28,31,32,937,
- 985,27,29,782,26,24,51,1028,107,77,
- 78,108,1053,2658,1273,1256,2203,537,45,3033,
- 391,427,232,2700,2929,1292,36,396,332,319,
- 1851,321,3375,314,1507,2520,3856,393,427,366,
- 70,2548,156,1474,3819,959,1194,247,230,231,
- 99,180,2238,392,427,1988,3172,36,792,33,
- 3946,2429,28,31,32,937,985,27,29,782,
- 26,24,51,1028,107,77,78,108,1053,195,
- 1273,1256,2275,3172,36,792,33,2321,2429,28,
- 31,32,937,985,27,29,782,26,24,51,
- 1028,107,77,78,108,1053,2250,1273,1256,2282,
- 3172,36,792,33,2375,2429,28,31,32,937,
- 985,27,29,782,26,24,51,1028,107,77,
- 78,108,1053,3994,1894,417,419,3491,2013,1243,
- 36,792,33,4584,3543,28,31,32,937,985,
- 339,29,2269,3656,293,3172,36,792,33,1850,
- 2429,28,31,32,937,985,27,29,782,26,
- 24,51,1028,107,77,78,108,1053,262,1273,
- 1256,2329,537,2003,2163,2590,1725,2982,3929,4585,
- 2982,2621,2700,2302,4719,196,2377,2838,319,1851,
- 321,228,314,1507,70,285,2514,156,2587,2514,
- 1356,595,36,1600,388,313,180,2238,2853,595,
- 36,1600,388,198,203,215,4675,202,212,213,
- 214,216,1,169,70,70,537,2929,2603,3192,
- 1931,332,239,322,168,50,183,167,170,171,
- 172,173,174,431,47,228,2321,2156,1408,3465,
- 182,156,307,310,1366,595,3373,1765,75,1109,
- 180,2238,2853,2981,360,1408,3465,360,203,215,
- 4675,202,212,213,214,216,3041,169,1715,3187,
- 3204,1931,3187,3204,595,36,1600,388,168,181,
- 184,167,170,171,172,173,174,1633,36,792,
- 33,3884,3543,28,31,32,937,985,339,29,
- 1356,2095,3284,36,1600,388,3929,2537,452,1710,
- 1356,1921,36,792,33,237,3660,28,31,32,
- 937,985,339,29,595,36,1600,388,1365,36,
- 1765,3381,429,102,2880,2157,273,2892,2982,595,
- 36,1600,388,3560,1973,1356,319,1851,321,3929,
- 314,1507,1356,1371,1398,2929,3645,343,50,333,
- 287,2251,352,526,232,2929,4707,1593,734,333,
- 319,1851,321,434,315,1507,352,287,2227,800,
- 344,1458,880,349,1895,451,352,529,527,235,
- 230,231,1705,3482,346,1458,880,349,2929,70,
- 274,2379,333,3203,346,1458,880,349,2446,2798,
- 3482,1365,36,1765,276,595,36,1765,278,242,
- 245,248,251,803,595,36,1765,3488,3116,36,
- 792,33,1173,2429,28,31,32,937,985,27,
- 29,782,26,24,51,1028,87,77,78,2444,
- 2507,2620,3158,3264,4536,3172,36,792,33,2245,
- 2429,28,31,32,937,985,27,29,782,26,
- 24,51,1028,107,77,78,108,1053,1361,1273,
- 2380,3172,36,792,33,2519,2429,28,31,32,
- 937,985,27,29,782,26,24,51,1028,107,
- 77,78,108,1053,349,1273,2386,1919,537,70,
- 2475,2474,1725,1144,1144,2982,2982,595,36,1765,
- 281,2165,70,2165,326,70,3829,228,442,3729,
- 456,2590,70,156,2514,2514,1144,70,1592,156,
- 232,2982,180,2238,2853,1400,36,1600,388,162,
- 203,215,4675,202,212,213,214,216,436,169,
- 343,156,537,2162,70,250,230,231,1144,197,
- 168,1721,3950,167,170,171,172,173,174,50,
- 2013,228,2504,1271,1629,1271,70,156,1593,1958,
- 1144,70,2512,3322,1677,2982,180,2238,2853,1893,
- 2618,3484,505,360,203,215,4675,202,212,213,
- 214,216,523,169,343,156,537,2990,3187,3204,
- 330,335,3554,335,168,1758,178,167,170,171,
- 172,173,174,2013,70,228,2504,1893,2982,3843,
- 2614,156,1356,503,504,70,232,297,1679,2982,
- 180,2238,2853,1292,36,3139,2315,343,203,215,
- 4675,202,212,213,214,216,610,169,343,505,
- 537,253,230,231,4711,378,2518,2853,168,2504,
- 176,167,170,171,172,173,174,50,3964,228,
- 2504,1722,525,2731,2279,156,1593,872,1144,70,
- 296,2587,1729,2982,180,2238,2853,943,36,1600,
- 388,2274,203,215,4675,202,212,213,214,216,
- 697,169,343,156,537,2003,2590,70,2013,2982,
- 3929,1380,168,535,177,167,170,171,172,173,
- 174,50,70,228,2504,2546,2982,505,2514,156,
- 1593,48,4726,70,2448,2743,1678,2982,180,2238,
- 2853,1219,1101,2289,302,343,203,215,4675,202,
- 212,213,214,216,784,169,343,2238,537,2929,
- 2658,4407,2586,332,1144,2653,168,2504,187,167,
- 170,171,172,173,174,304,2163,228,2504,509,
- 2165,4585,500,156,595,36,1600,388,2654,156,
- 507,2656,180,2238,2853,2991,360,3706,200,3640,
- 203,215,4675,202,212,213,214,216,2013,169,
- 1715,3187,3204,940,36,1600,388,70,273,1893,
- 168,1973,3995,167,170,171,172,173,174,2066,
- 36,792,33,4584,3543,28,31,32,937,985,
- 339,29,1271,940,36,1600,388,50,541,595,
- 36,1600,388,2183,70,522,1593,48,1974,2853,
- 70,70,871,505,3480,2982,537,1893,4737,1462,
- 595,36,1600,388,376,382,505,50,3041,3830,
- 335,4772,275,273,343,228,1593,2503,319,1851,
- 321,156,314,1507,1356,943,36,1600,388,3549,
- 180,2238,2853,1982,433,313,2504,2853,203,215,
- 4675,202,212,213,214,216,2303,169,534,958,
- 1345,1345,376,537,1144,1144,2590,3400,168,50,
- 192,167,170,171,172,173,174,2686,1593,48,
- 2590,1983,228,1356,430,769,3929,340,156,160,
- 160,2278,306,310,1366,2718,2690,180,2238,2853,
- 940,36,1600,388,201,203,215,4675,202,212,
- 213,214,216,1045,169,3960,3454,537,199,374,
- 595,36,1600,388,1744,168,3709,186,167,170,
- 171,172,173,174,50,2929,228,2786,2684,332,
- 2590,70,156,1593,812,1144,70,2758,2759,2724,
- 3936,180,2238,2853,432,2726,3549,1457,1586,203,
- 215,4675,202,212,213,214,216,3827,169,2474,
- 156,2981,1101,2982,595,36,293,2798,298,168,
- 1764,194,167,170,171,172,173,174,3172,36,
- 792,33,2514,2429,28,31,32,937,985,27,
- 29,782,26,24,51,1028,107,77,78,108,
- 1053,2719,1920,3172,36,792,33,2804,2429,28,
- 31,32,937,985,27,29,782,26,24,51,
- 1028,107,77,78,108,2025,3172,36,792,33,
- 1893,2429,28,31,32,937,985,27,29,782,
- 26,24,51,1028,107,77,78,108,2149,1584,
- 505,2161,70,2982,70,2982,4743,70,1144,1848,
- 70,3442,70,2982,2061,70,3508,70,3700,1144,
- 2853,3732,228,70,2514,522,88,962,2590,2788,
- 2660,2794,228,156,2982,524,70,1356,1356,1356,
- 3529,502,504,1844,156,205,215,4675,204,212,
- 213,214,216,343,2536,205,215,4675,204,212,
- 213,214,216,2473,1983,2844,3190,2967,2848,3929,
- 3562,3317,3800,2070,1978,3883,206,208,210,294,
- 295,3320,3684,217,207,209,206,208,210,294,
- 295,3320,361,217,207,209,2015,36,3553,33,
- 4584,3543,28,31,32,937,985,339,29,595,
- 36,1600,388,3260,1356,4324,1936,2376,2929,2849,
- 2982,175,332,3313,2843,4324,1714,36,792,33,
- 2110,3660,28,31,32,937,985,339,29,228,
- 2590,1334,70,50,1356,2590,1144,3965,595,36,
- 1600,388,1593,1183,2991,319,1851,321,2850,314,
- 1507,2884,205,215,4675,204,212,213,214,216,
- 2853,156,1194,2855,2860,2800,2404,3673,222,5392,
- 2929,3934,50,193,333,319,1851,321,5392,317,
- 1507,1593,1228,206,208,210,294,295,3320,5392,
- 217,207,209,3172,36,792,33,5392,2429,28,
- 31,32,937,985,27,29,782,26,24,51,
- 1028,107,77,78,86,5392,5392,3859,5392,5392,
- 3408,5392,4324,3172,1636,792,1643,5392,2429,28,
- 31,32,937,985,27,29,782,26,24,51,
- 1028,107,77,78,85,5392,5392,5392,5392,5392,
- 5392,418,419,3491,3172,36,792,33,5392,2429,
- 28,31,32,937,985,27,29,782,26,24,
- 51,1028,107,77,78,84,3172,36,792,33,
- 5392,2429,28,31,32,937,985,27,29,782,
- 26,24,51,1028,107,77,78,83,3172,36,
- 792,33,5392,2429,28,31,32,937,985,27,
- 29,782,26,24,51,1028,107,77,78,82,
- 3172,36,792,33,5392,2429,28,31,32,937,
- 985,27,29,782,26,24,51,1028,107,77,
- 78,81,3172,36,792,33,5392,2429,28,31,
- 32,937,985,27,29,782,26,24,51,1028,
- 107,77,78,80,3172,36,792,33,5392,2429,
- 28,31,32,937,985,27,29,782,26,24,
- 51,1028,107,77,78,79,2998,36,792,33,
- 5392,2429,28,31,32,937,985,27,29,782,
- 26,24,51,1028,107,77,78,105,3172,36,
- 792,33,5392,2429,28,31,32,937,985,27,
- 29,782,26,24,51,1028,107,77,78,110,
- 3172,36,792,33,5392,2429,28,31,32,937,
- 985,27,29,782,26,24,51,1028,107,77,
- 78,109,3172,36,792,33,5392,2429,28,31,
- 32,937,985,27,29,782,26,24,51,1028,
- 107,77,78,106,2024,5392,5392,5392,2982,5392,
- 5392,5392,5392,5392,1672,1345,1345,1345,2982,1144,
- 1144,1144,5392,5392,1760,5392,5392,228,2982,1345,
- 5392,5392,5392,1144,5392,5392,5392,228,5392,5392,
- 5392,5392,5392,5392,160,160,160,228,5392,5392,
- 205,215,4675,204,212,213,214,216,160,5392,
- 205,215,4675,204,212,213,214,216,5392,5392,
- 205,215,4675,204,212,213,214,216,5392,5392,
- 5392,206,208,210,294,295,3320,5392,520,207,
- 209,206,208,210,294,295,3320,5392,519,207,
- 209,206,208,210,294,295,3320,2112,218,207,
- 209,2982,2024,2433,2980,5392,5392,2200,5392,5392,
- 5392,2982,5392,5392,5392,5392,3032,5392,5392,5392,
- 228,5392,5392,5392,5392,5392,5392,5392,5392,5392,
- 228,5392,5392,5392,5392,5392,5392,5392,5392,5392,
- 5392,5392,5392,205,215,4675,204,212,213,214,
- 216,5392,5392,205,215,4675,204,212,213,214,
- 216,1243,36,792,33,4584,3543,28,31,32,
- 937,985,339,29,206,208,210,294,295,3320,
- 5392,305,207,209,206,208,210,294,295,3320,
- 5392,499,207,209,1714,36,792,33,5392,3660,
- 28,31,32,937,985,339,29,1243,36,792,
- 33,4584,3543,28,31,32,937,985,339,29,
- 319,1851,321,5392,314,1507,3334,36,1600,388,
- 5392,2537,5392,5392,5392,5392,5392,2870,5392,238,
- 5392,5392,5392,5392,5392,5392,5392,5392,2929,5392,
- 5392,5392,333,319,1851,321,5392,315,1507,1194,
- 273,5392,5392,2982,4844,5392,319,1851,321,5392,
- 314,1507,5392,5392,1983,940,36,1600,388,3929,
- 5392,70,228,3993,5392,537,5392,5392,232,1512,
- 36,792,33,2630,3543,28,31,32,937,985,
- 339,29,5392,5392,343,1635,407,4599,5392,50,
- 156,5392,1300,236,230,231,2982,4844,1593,48,
- 188,5392,5392,5392,274,5392,4517,403,2929,5392,
- 5392,2879,332,5392,5392,228,408,409,410,294,
- 295,3320,5392,243,246,249,252,803,316,3462,
- 321,5392,940,36,1600,388,1173,5392,1635,407,
- 4599,3272,5392,5392,4504,1802,36,792,33,2388,
- 3543,28,31,32,937,985,339,29,5392,5392,
- 5392,5392,5392,5392,3594,5392,50,5392,5392,408,
- 409,410,294,295,3320,1593,48,940,36,1600,
- 388,1491,36,1600,388,5392,5392,5392,2954,2727,
- 5392,5392,5392,537,3272,5392,940,36,1600,388,
- 5392,5392,411,413,316,3462,321,940,36,1600,
- 388,50,343,2682,5392,50,5392,2982,156,5392,
- 1593,48,5392,5392,1593,48,1404,2701,188,4622,
- 50,5392,5392,3019,4517,5392,2514,1187,5392,1593,
- 48,50,1666,36,1600,388,5392,5392,5392,70,
- 1593,48,3570,537,70,411,414,5392,537,5392,
- 5392,5392,5392,3680,5392,5392,595,36,1600,388,
- 5392,5392,343,5392,5392,5392,50,343,156,595,
- 36,1600,388,156,5392,1593,48,5392,1420,5392,
- 5392,5392,190,928,2504,5392,5392,2006,3734,2504,
- 50,2982,5392,2701,505,5392,1414,5392,70,1593,
- 741,1543,537,50,595,36,1600,388,5392,5392,
- 343,70,1593,659,5392,537,5392,5392,5392,5392,
- 530,343,5392,5392,5392,5392,5392,156,5392,5392,
- 5392,5392,2504,5392,343,502,504,188,50,5392,
- 156,5392,5392,4517,533,5392,5392,1593,2283,5392,
- 188,5392,5392,5392,5392,5392,4517,5392,5392,3848,
- 5392,5392,5392,5392,5392,5392,5392,5392,5392,5392,
- 5392,5392,5392,5392,5392,5392,3937,5392,5392,5392,
- 5392,5392,5392,5392,5392,5392,5392,5392,5392,5392,
- 5392,5392,5392,5392,5392,5392,5392,5392,5392,5392,
- 5392,3643,5392,5392,5392,5392,5392,5392,5392,5392,
- 5392,5392,5392,5392,3857,5392,5392,5392,5392,5392,
- 5392,5392,5392,5392,5392,5392,5392,5392,5392,5392,
- 5392,5392,5392,5392,5392,5392,5392,5392,5392,5392,
- 5392,5392,5392,5392,5392,5392,5392,5392,5392,5392,
- 5392,5392,5392,5392,5392,5392,5392,5392,5392,5392,
- 5392,5392,5392,5392,5392,5392,5392,5392,5392,5392,
- 5392,5392,5392,5392,5392,5392,5392,5392,5392,5392,
- 5392,5392,5392,5392,5392,3034,5392,0,40,5407,
- 0,40,5406,0,566,30,0,440,729,0,
- 454,1078,0,39,627,0,39,5407,0,39,
- 5406,0,2743,126,0,1,444,0,458,1332,
- 0,457,2032,0,3189,92,0,566,387,0,
- 36,34,0,33,35,0,40,627,0,1,
- 864,0,1,5664,0,1,5663,0,1,5662,
- 0,1,5661,0,1,5660,0,1,5659,0,
- 1,5658,0,1,5657,0,1,5656,0,1,
- 5655,0,1,5654,0,40,1,5407,0,40,
- 1,5406,0,736,1,0,283,394,0,283,
- 286,0,5626,241,0,5625,241,0,5730,241,
- 0,5729,241,0,5653,241,0,5652,241,0,
- 5651,241,0,5650,241,0,5649,241,0,5648,
- 241,0,5647,241,0,5646,241,0,5664,241,
- 0,5663,241,0,5662,241,0,5661,241,0,
- 5660,241,0,5659,241,0,5658,241,0,5657,
- 241,0,5656,241,0,5655,241,0,5654,241,
- 0,40,5407,241,0,40,5406,241,0,5431,
- 241,0,5407,49,0,5406,49,0,44,5429,
- 0,44,38,0,2743,128,0,2743,127,0,
- 5398,1,0,5397,1,0,3620,237,0,33,
- 388,0,30,387,0,331,445,0,1,93,
- 0,48,38,0,5431,1,0,40,1,0,
- 501,3280,0,5431,1,229,0,40,1,229,
- 0,229,416,0,5407,38,0,5406,38,0,
- 5429,46,0,38,46,0,5407,37,0,5406,
- 37,0,5407,2,38,0,5406,2,38,0,
- 5402,405,0,5401,405,0,1,4471,0,1,
- 3014,0,1,627,0,229,415,0,331,96,
- 0,36,74,0,2895,318,0,1,331,0,
- 4315,278,0,501,4314,0,1,229,0,229,
- 220,0,229,219,0,1,575,0,1,2439,
- 0,5404,1,0,5400,1,0,1,229,3777,
- 0,5401,229,0,3846,229,0,5404,383,0,
- 5403,383,0,3941,229,0,10,12,0,8,
- 10,12,0,185,3619,0,3996,383,0,8,
- 12,0
+ 196,196,196,196,196,196,196,196,77,82,
+ 82,173,173,132,132,133,133,133,133,133,
+ 133,3,134,134,131,131,112,112,85,78,
+ 74,161,161,113,113,197,197,197,135,135,
+ 126,126,198,198,174,174,1119,35,2702,2691,
+ 1278,3224,27,30,31,936,984,26,28,2601,
+ 25,23,50,1027,106,76,77,107,1052,1614,
+ 1272,1255,1289,1279,1297,56,1291,1409,1340,689,
+ 272,1418,1505,142,1243,35,395,157,143,1217,
+ 35,791,32,1982,2547,27,30,31,936,984,
+ 57,28,496,71,3121,35,791,32,231,2428,
+ 27,30,31,936,984,26,28,781,25,23,
+ 50,1027,106,76,77,107,1052,1267,1272,1255,
+ 1289,1279,2435,234,229,230,588,1635,1764,34,
+ 3121,35,791,32,273,2428,27,30,31,936,
+ 984,26,28,781,25,23,50,1027,106,76,
+ 77,107,2018,241,244,247,250,802,2164,35,
+ 276,588,35,1764,3080,1762,1172,1860,35,791,
+ 32,241,2547,27,30,31,936,984,56,28,
+ 2023,583,3714,2443,2506,2619,3157,3263,4535,2316,
+ 35,791,32,2981,2428,27,30,31,936,984,
+ 26,28,781,25,23,50,1027,106,76,77,
+ 107,1052,342,1272,1255,1289,1279,1297,61,1291,
+ 1409,1340,1607,3103,1418,1505,142,3928,56,2222,
+ 516,143,747,1279,2503,1500,35,791,32,1010,
+ 2417,41,30,31,936,984,517,2316,35,791,
+ 32,2981,2428,27,30,31,936,984,26,28,
+ 781,25,23,50,1027,106,76,77,107,1052,
+ 342,1272,1255,1289,1279,1297,2928,1291,1409,1340,
+ 1123,1016,1418,1505,142,327,35,278,516,143,
+ 3967,2532,2503,1351,1374,327,35,278,661,1599,
+ 4808,512,1229,875,517,2103,60,2344,35,791,
+ 32,2371,4795,27,30,31,936,984,26,28,
+ 2899,510,497,2901,1261,2316,35,791,32,2981,
+ 2428,27,30,31,936,984,26,28,781,25,
+ 23,50,1027,106,76,77,107,1052,342,1272,
+ 1255,1289,1279,1297,1042,1291,1409,1340,2870,512,
+ 1418,1505,142,69,94,3242,516,143,3003,1374,
+ 2503,588,35,2436,2434,1607,2103,1330,2916,1988,
+ 3928,2901,517,2524,35,791,32,2981,2428,27,
+ 30,31,936,984,26,28,781,25,23,50,
+ 1027,106,76,77,107,1052,342,1272,1255,1289,
+ 1279,1297,1503,1291,1409,1340,2981,2852,1418,1505,
+ 142,327,35,452,516,143,4661,1614,2503,2928,
+ 42,3032,3836,331,69,342,2558,512,737,3386,
+ 517,1715,35,791,32,314,4795,27,30,31,
+ 936,984,59,28,352,934,3014,1322,2716,2901,
+ 24,2659,35,791,32,3023,2428,27,30,31,
+ 936,984,26,28,781,25,23,50,1027,106,
+ 76,77,107,1052,2626,1272,1255,1289,1279,1297,
+ 3332,1291,1409,1340,442,513,1418,1505,142,2280,
+ 1270,3831,378,143,2385,35,791,32,1017,2428,
+ 27,30,31,936,984,26,28,781,25,23,
+ 50,1027,106,76,77,107,1052,2245,1272,1255,
+ 1289,1279,1297,1334,1291,1409,1340,327,334,1418,
+ 1505,142,2129,2196,3831,378,143,437,3121,35,
+ 791,32,413,2428,27,30,31,936,984,26,
+ 28,781,25,23,50,1027,106,76,77,107,
+ 1052,2404,1272,1255,1289,1279,1297,56,1291,1409,
+ 1340,825,1667,1418,3063,163,588,3625,1543,384,
+ 3278,445,3697,3706,2591,35,791,32,2103,2428,
+ 27,30,31,936,984,26,28,781,25,23,
+ 50,1027,106,76,77,107,1052,3518,1272,1255,
+ 1289,1279,1297,2034,1291,1409,1340,446,3928,1418,
+ 1505,142,385,3278,3831,378,143,56,3562,1833,
+ 2626,1143,3355,2887,35,791,32,3893,2428,27,
+ 30,31,936,984,26,28,781,25,23,50,
+ 1027,106,76,77,107,1052,155,1272,1255,1289,
+ 1279,1297,1330,1291,1409,1340,927,2928,1418,1505,
+ 142,1123,135,912,157,143,588,35,292,2887,
+ 35,791,32,2729,2428,27,30,31,936,984,
+ 26,28,781,25,23,50,1027,106,76,77,
+ 107,1052,1500,1272,1255,1289,1279,1297,142,1291,
+ 1409,1340,376,3278,1418,1505,142,1947,35,276,
+ 372,143,2887,35,791,32,3242,2428,27,30,
+ 31,936,984,26,28,781,25,23,50,1027,
+ 106,76,77,107,1052,1445,1272,1255,1289,1279,
+ 1297,69,1291,1409,1340,96,3512,1418,1505,142,
+ 737,236,64,372,143,1715,35,791,32,2284,
+ 4795,27,30,31,936,984,58,28,583,587,
+ 3405,494,3094,2887,35,791,32,1355,2428,27,
+ 30,31,936,984,26,28,781,25,23,50,
+ 1027,106,76,77,107,1052,371,1272,1255,1289,
+ 1279,1297,1868,1291,1409,1340,722,1715,1418,1505,
+ 142,1010,1270,159,372,143,2457,35,791,32,
+ 400,2428,27,30,31,936,984,26,28,781,
+ 25,23,50,1027,106,76,77,107,1052,370,
+ 1272,1255,1289,1279,1297,2149,1291,1409,1340,333,
+ 334,1418,1505,142,588,35,3087,141,143,2716,
+ 2887,35,791,32,420,2428,27,30,31,936,
+ 984,26,28,781,25,23,50,1027,106,76,
+ 77,107,1052,322,1272,1255,1289,1279,1297,1226,
+ 1291,1409,1340,1614,459,1418,1505,142,1146,1614,
+ 368,158,143,2887,35,791,32,2620,2428,27,
+ 30,31,936,984,26,28,781,25,23,50,
+ 1027,106,76,77,107,1052,69,1272,1255,1289,
+ 1279,1297,68,1291,1409,1340,1614,1873,1418,1505,
+ 142,588,35,281,154,143,2887,35,791,32,
+ 388,2428,27,30,31,936,984,26,28,781,
+ 25,23,50,1027,106,76,77,107,1052,53,
+ 1272,1255,1289,1279,1297,380,1291,1409,1340,93,
+ 56,1418,1505,142,4568,1617,2490,153,143,2887,
+ 35,791,32,1625,2428,27,30,31,936,984,
+ 26,28,781,25,23,50,1027,106,76,77,
+ 107,1052,353,1272,1255,1289,1279,1297,3566,1291,
+ 1409,1340,1614,56,1418,1505,142,999,446,311,
+ 152,143,2887,35,791,32,1627,2428,27,30,
+ 31,936,984,26,28,781,25,23,50,1027,
+ 106,76,77,107,1052,87,1272,1255,1289,1279,
+ 1297,323,1291,1409,1340,1614,56,1418,1505,142,
+ 2845,1614,1174,151,143,2887,35,791,32,2652,
+ 2428,27,30,31,936,984,26,28,781,25,
+ 23,50,1027,106,76,77,107,1052,52,1272,
+ 1255,1289,1279,1297,90,1291,1409,1340,1614,56,
+ 1418,1505,142,938,2049,1323,150,143,2887,35,
+ 791,32,1441,2428,27,30,31,936,984,26,
+ 28,781,25,23,50,1027,106,76,77,107,
+ 1052,349,1272,1255,1289,1279,1297,56,1291,1409,
+ 1340,2917,403,1418,1505,142,160,1614,676,149,
+ 143,2887,35,791,32,666,2428,27,30,31,
+ 936,984,26,28,781,25,23,50,1027,106,
+ 76,77,107,1052,322,1272,1255,1289,1279,1297,
+ 1844,1291,1409,1340,1614,56,1418,1505,142,1857,
+ 1614,848,148,143,2887,35,791,32,1167,2428,
+ 27,30,31,936,984,26,28,781,25,23,
+ 50,1027,106,76,77,107,1052,1882,1272,1255,
+ 1289,1279,1297,67,1291,1409,1340,1614,56,1418,
+ 1505,142,2569,1614,2683,147,143,2887,35,791,
+ 32,283,2428,27,30,31,936,984,26,28,
+ 781,25,23,50,1027,106,76,77,107,1052,
+ 66,1272,1255,1289,1279,1297,65,1291,1409,1340,
+ 70,56,1418,1505,142,2934,588,3977,146,143,
+ 2887,35,791,32,666,2428,27,30,31,936,
+ 984,26,28,781,25,23,50,1027,106,76,
+ 77,107,1052,2619,1272,1255,1289,1279,1297,2619,
+ 1291,1409,1340,1614,56,1418,1505,142,2444,1604,
+ 2151,145,143,2887,35,791,32,2582,2428,27,
+ 30,31,936,984,26,28,781,25,23,50,
+ 1027,106,76,77,107,1052,64,1272,1255,1289,
+ 1279,1297,56,1291,1409,1340,2442,401,1418,1505,
+ 142,588,3464,408,144,143,2832,35,791,32,
+ 2552,2428,27,30,31,936,984,26,28,781,
+ 25,23,50,1027,106,76,77,107,1052,580,
+ 1272,1255,1289,1279,1297,324,1291,1409,1340,71,
+ 1614,1418,3063,163,2887,35,791,32,405,2428,
+ 27,30,31,936,984,26,28,781,25,23,
+ 50,1027,106,76,77,107,1052,1818,1272,1255,
+ 1289,1279,1297,3078,1291,1409,1340,389,426,1418,
+ 1505,142,1761,1761,88,139,143,102,56,326,
+ 89,2044,1143,102,3005,35,791,32,2187,2428,
+ 27,30,31,936,984,26,28,781,25,23,
+ 50,1027,106,76,77,107,1052,155,1272,1255,
+ 1289,1279,1297,287,1291,1409,1340,2149,1015,1418,
+ 1505,142,2103,1614,1699,188,143,3121,35,791,
+ 32,1010,2428,27,30,31,936,984,26,28,
+ 781,25,23,50,1027,106,76,77,107,1052,
+ 2552,1272,1255,1289,1279,1297,55,1291,1409,1340,
+ 1761,1010,1418,3063,163,3121,35,791,32,2742,
+ 2428,27,30,31,936,984,26,28,781,25,
+ 23,50,1027,106,76,77,107,1052,298,1272,
+ 1255,1289,1279,1297,522,1291,1409,1340,355,354,
+ 1418,3063,163,2271,35,791,32,530,530,40,
+ 30,31,936,984,458,3121,35,791,32,422,
+ 2428,27,30,31,936,984,26,28,781,25,
+ 23,50,1027,106,76,77,107,1052,2552,1272,
+ 1255,1289,1279,1297,4281,1291,1409,1340,1700,1010,
+ 1418,3063,163,3121,35,791,32,291,2428,27,
+ 30,31,936,984,26,28,781,25,23,50,
+ 1027,106,76,77,107,1052,220,1272,1255,1289,
+ 1279,1297,522,1291,1409,1340,322,1010,1418,3063,
+ 163,2271,35,791,32,530,1330,1900,30,31,
+ 936,984,1223,3176,35,791,32,421,2428,27,
+ 30,31,936,984,26,28,781,25,23,50,
+ 1027,106,76,77,107,1052,2552,1272,1255,1289,
+ 1279,1297,51,1291,1409,1340,1801,2552,1418,3063,
+ 163,3121,35,791,32,424,2428,27,30,31,
+ 936,984,26,28,781,25,23,50,1027,106,
+ 76,77,107,1052,302,1272,1255,1289,1279,1297,
+ 325,1291,1409,1340,1385,178,2583,2271,35,791,
+ 32,1559,2417,2050,30,31,936,984,2407,35,
+ 279,3121,35,791,32,3943,2428,27,30,31,
+ 936,984,26,28,781,25,23,50,1027,106,
+ 76,77,107,1052,2135,1272,1255,1289,1279,1297,
+ 1330,1291,1409,2509,3121,35,791,32,1615,2428,
+ 27,30,31,936,984,26,28,781,25,23,
+ 50,1027,106,76,77,107,1052,2191,1272,1255,
+ 1289,1279,1297,3196,1291,2464,3121,35,791,32,
+ 3201,2428,27,30,31,936,984,26,28,781,
+ 25,23,50,1027,106,76,77,107,1052,1965,
+ 1272,1255,1289,1279,1297,2022,2496,1518,35,791,
+ 32,4583,3659,27,30,31,936,984,338,28,
+ 3121,35,791,32,159,2428,27,30,31,936,
+ 984,26,28,781,25,23,50,1027,106,76,
+ 77,107,1052,1758,1272,1255,1289,2449,1976,35,
+ 1599,387,1614,2484,142,1709,2690,2842,1243,35,
+ 395,2928,737,3347,2280,331,318,1850,320,2425,
+ 313,1506,843,35,452,2491,238,4661,588,35,
+ 1764,275,49,312,1701,54,350,757,35,1599,
+ 387,1592,740,3121,35,791,32,3945,2428,27,
+ 30,31,936,984,26,28,781,25,23,50,
+ 1027,106,76,77,107,1052,1712,1272,1255,1289,
+ 2455,272,2440,2147,1270,231,1225,3640,351,486,
+ 305,309,1365,1400,35,791,32,3883,3542,27,
+ 30,31,936,984,338,28,343,1457,879,348,
+ 239,229,230,2138,1628,1010,929,35,1599,387,
+ 2079,3516,334,2863,3708,2893,3736,932,35,1599,
+ 387,1374,1888,35,791,32,3404,3542,27,30,
+ 31,936,984,338,28,3164,379,2103,231,2582,
+ 49,56,318,1850,320,1143,313,1506,351,1592,
+ 2988,49,72,1783,1839,350,2582,3355,351,3424,
+ 1592,1033,3483,243,229,230,343,1457,879,348,
+ 155,1875,2582,2467,341,2870,343,1457,879,348,
+ 2551,318,1850,320,3390,313,1506,56,97,1240,
+ 69,3200,449,3697,3706,3594,1010,351,2869,1898,
+ 35,3552,32,4583,3659,27,30,31,936,984,
+ 338,28,2129,35,292,343,1457,879,348,3121,
+ 35,791,32,1628,2428,27,30,31,936,984,
+ 26,28,781,25,23,50,1027,106,76,77,
+ 107,1052,2556,1272,1255,2202,536,44,3032,390,
+ 426,231,2699,2928,1243,35,395,331,318,1850,
+ 320,3321,313,1506,2050,3855,392,426,365,56,
+ 1390,155,1453,3818,958,1193,246,229,230,98,
+ 179,2237,391,426,2125,3121,35,791,32,3945,
+ 2428,27,30,31,936,984,26,28,781,25,
+ 23,50,1027,106,76,77,107,1052,194,1272,
+ 1255,2274,3121,35,791,32,2320,2428,27,30,
+ 31,936,984,26,28,781,25,23,50,1027,
+ 106,76,77,107,1052,2244,1272,1255,2281,3121,
+ 35,791,32,2380,2428,27,30,31,936,984,
+ 26,28,781,25,23,50,1027,106,76,77,
+ 107,1052,3993,1893,416,418,3490,322,1691,35,
+ 791,32,4583,3542,27,30,31,936,984,338,
+ 28,2129,3655,292,3121,35,791,32,1849,2428,
+ 27,30,31,936,984,26,28,781,25,23,
+ 50,1027,106,76,77,107,1052,259,1272,1255,
+ 2328,536,1375,2122,2552,2234,2981,3928,4584,2981,
+ 2620,2699,838,4718,195,2415,2837,318,1850,320,
+ 227,313,1506,56,284,2513,155,2586,2513,1614,
+ 588,35,1599,387,312,179,2237,2852,588,35,
+ 1599,387,197,202,214,4674,201,211,212,213,
+ 215,1,168,56,56,536,2928,2602,3191,2279,
+ 331,2304,321,167,49,182,166,169,170,171,
+ 172,173,430,46,227,2320,2446,1643,3464,181,
+ 155,306,309,1365,588,3372,1764,74,1096,179,
+ 2237,2852,2980,359,1643,3464,359,202,214,4674,
+ 201,211,212,213,215,3040,168,1714,3186,3203,
+ 1930,3186,3203,588,35,1599,387,167,180,183,
+ 166,169,170,171,172,173,2070,35,791,32,
+ 3883,3542,27,30,31,936,984,338,28,1614,
+ 1983,3231,35,1599,387,3928,2536,451,2572,1614,
+ 1363,35,791,32,236,3659,27,30,31,936,
+ 984,338,28,588,35,1599,387,1543,35,1764,
+ 3380,428,101,2715,2453,272,2891,2981,588,35,
+ 1599,387,3559,1773,1614,318,1850,320,3928,313,
+ 1506,1614,1781,2481,2928,3644,342,49,332,286,
+ 2209,351,525,231,2928,4706,1592,733,332,318,
+ 1850,320,433,314,1506,351,286,2226,799,343,
+ 1457,879,348,49,450,351,528,526,234,229,
+ 230,1704,3481,345,1457,879,348,2928,56,273,
+ 2515,332,3202,345,1457,879,348,2615,2797,3481,
+ 1543,35,1764,275,588,35,1764,277,241,244,
+ 247,250,802,588,35,1764,3487,3066,35,791,
+ 32,1172,2428,27,30,31,936,984,26,28,
+ 781,25,23,50,1027,86,76,77,2443,2506,
+ 2619,3157,3263,4535,3121,35,791,32,2285,2428,
+ 27,30,31,936,984,26,28,781,25,23,
+ 50,1027,106,76,77,107,1052,1606,1272,2379,
+ 3121,35,791,32,2621,2428,27,30,31,936,
+ 984,26,28,781,25,23,50,1027,106,76,
+ 77,107,1052,345,1272,2385,1250,536,56,2443,
+ 2646,2234,1143,1143,2981,2981,588,35,1764,280,
+ 737,56,737,2305,56,3828,227,441,3728,455,
+ 2552,56,155,2513,2513,1143,56,1591,155,231,
+ 2981,179,2237,2852,2447,35,1599,387,161,202,
+ 214,4674,201,211,212,213,215,431,168,342,
+ 155,536,2306,56,249,229,230,1143,196,167,
+ 1720,3949,166,169,170,171,172,173,49,322,
+ 227,2503,1270,1780,1270,56,155,1592,1957,1143,
+ 56,1515,3321,1676,2981,179,2237,2852,1330,2689,
+ 3483,504,359,202,214,4674,201,211,212,213,
+ 215,517,168,342,155,536,2989,3186,3203,329,
+ 334,3553,334,167,1757,177,166,169,170,171,
+ 172,173,322,56,227,2503,1330,2981,3842,2691,
+ 155,1614,502,503,56,231,296,1678,2981,179,
+ 2237,2852,1243,35,3138,2314,342,202,214,4674,
+ 201,211,212,213,215,603,168,342,69,536,
+ 252,229,230,4710,377,2485,2852,167,2503,175,
+ 166,169,170,171,172,173,49,3963,227,2503,
+ 1721,524,2693,2249,155,1592,871,1143,56,295,
+ 2649,1728,2981,179,2237,2852,932,35,1599,387,
+ 1906,202,214,4674,201,211,212,213,215,689,
+ 168,342,155,536,1375,2552,56,322,2981,3928,
+ 1379,167,534,176,166,169,170,171,172,173,
+ 49,56,227,2503,2555,2981,69,2513,155,1592,
+ 47,4725,56,2580,2714,1677,2981,179,2237,2852,
+ 1218,1088,2288,301,342,202,214,4674,201,211,
+ 212,213,215,775,168,342,2412,536,2928,2556,
+ 4406,2722,331,1143,2717,167,2503,186,166,169,
+ 170,171,172,173,303,2122,227,2503,508,737,
+ 4584,2723,155,588,35,1599,387,2727,155,506,
+ 2728,179,2237,2852,2990,359,3705,199,3639,202,
+ 214,4674,201,211,212,213,215,322,168,1714,
+ 3186,3203,929,35,1599,387,56,272,1330,167,
+ 1972,3994,166,169,170,171,172,173,1952,35,
+ 791,32,4583,3542,27,30,31,936,984,338,
+ 28,1270,929,35,1599,387,49,540,588,35,
+ 1599,387,2627,56,521,1592,47,1973,2852,56,
+ 56,861,69,3479,2981,536,1330,4736,1461,588,
+ 35,1599,387,375,381,69,49,3040,3829,334,
+ 4771,274,272,342,227,1592,2502,318,1850,320,
+ 155,313,1506,1614,932,35,1599,387,3548,179,
+ 2237,2852,1981,432,312,2503,2852,202,214,4674,
+ 201,211,212,213,215,1675,168,533,947,1354,
+ 1354,375,536,1143,1143,2552,3399,167,49,191,
+ 166,169,170,171,172,173,2731,1592,47,2552,
+ 1607,227,1614,429,2735,3928,339,155,159,159,
+ 2277,305,309,1365,2082,2732,179,2237,2852,929,
+ 35,1599,387,200,202,214,4674,201,211,212,
+ 213,215,1033,168,3959,3453,536,198,373,588,
+ 35,1599,387,2068,167,3708,185,166,169,170,
+ 171,172,173,49,2928,227,2736,2747,331,2552,
+ 56,155,1592,811,1143,56,2746,2751,2789,3935,
+ 179,2237,2852,431,2737,3548,1456,1585,202,214,
+ 4674,201,211,212,213,215,3826,168,2646,155,
+ 2980,1088,2981,588,35,292,2750,297,167,1763,
+ 193,166,169,170,171,172,173,3121,35,791,
+ 32,2513,2428,27,30,31,936,984,26,28,
+ 781,25,23,50,1027,106,76,77,107,1052,
+ 2782,1919,3121,35,791,32,2790,2428,27,30,
+ 31,936,984,26,28,781,25,23,50,1027,
+ 106,76,77,107,2024,3121,35,791,32,1330,
+ 2428,27,30,31,936,984,26,28,781,25,
+ 23,50,1027,106,76,77,107,2148,1562,504,
+ 1796,56,2981,56,2981,4742,56,1143,1823,56,
+ 3441,56,2981,2060,56,3507,56,3699,1143,2852,
+ 3731,227,56,2513,521,87,961,2552,2755,2765,
+ 2757,227,155,2981,523,56,1614,1614,1614,3528,
+ 501,503,1843,155,204,214,4674,203,211,212,
+ 213,215,342,2535,204,214,4674,203,211,212,
+ 213,215,2413,1607,2759,3189,2966,2761,3928,3561,
+ 3316,3799,2069,1778,3882,205,207,209,293,294,
+ 3319,3683,216,206,208,205,207,209,293,294,
+ 3319,360,216,206,208,2062,35,3552,32,4583,
+ 3542,27,30,31,936,984,338,28,588,35,
+ 1599,387,3259,1614,4323,1910,2153,2928,2763,2981,
+ 173,331,3312,2792,4323,2156,35,791,32,2797,
+ 3659,27,30,31,936,984,338,28,227,2552,
+ 1333,56,49,1614,2552,1143,3964,588,35,1599,
+ 387,1592,1182,2990,318,1850,320,2787,313,1506,
+ 2733,204,214,4674,203,211,212,213,215,2768,
+ 155,1193,2794,2796,2655,1337,3672,221,5391,2928,
+ 3933,49,192,332,318,1850,320,5391,316,1506,
+ 1592,1227,205,207,209,293,294,3319,5391,216,
+ 206,208,3121,35,791,32,5391,2428,27,30,
+ 31,936,984,26,28,781,25,23,50,1027,
+ 106,76,77,85,5391,5391,3858,5391,5391,3407,
+ 5391,4323,3121,1635,791,1642,5391,2428,27,30,
+ 31,936,984,26,28,781,25,23,50,1027,
+ 106,76,77,84,5391,5391,5391,5391,5391,5391,
+ 417,418,3490,3121,35,791,32,5391,2428,27,
+ 30,31,936,984,26,28,781,25,23,50,
+ 1027,106,76,77,83,3121,35,791,32,5391,
+ 2428,27,30,31,936,984,26,28,781,25,
+ 23,50,1027,106,76,77,82,3121,35,791,
+ 32,5391,2428,27,30,31,936,984,26,28,
+ 781,25,23,50,1027,106,76,77,81,3121,
+ 35,791,32,5391,2428,27,30,31,936,984,
+ 26,28,781,25,23,50,1027,106,76,77,
+ 80,3121,35,791,32,5391,2428,27,30,31,
+ 936,984,26,28,781,25,23,50,1027,106,
+ 76,77,79,3121,35,791,32,5391,2428,27,
+ 30,31,936,984,26,28,781,25,23,50,
+ 1027,106,76,77,78,2950,35,791,32,5391,
+ 2428,27,30,31,936,984,26,28,781,25,
+ 23,50,1027,106,76,77,104,3121,35,791,
+ 32,5391,2428,27,30,31,936,984,26,28,
+ 781,25,23,50,1027,106,76,77,109,3121,
+ 35,791,32,5391,2428,27,30,31,936,984,
+ 26,28,781,25,23,50,1027,106,76,77,
+ 108,3121,35,791,32,5391,2428,27,30,31,
+ 936,984,26,28,781,25,23,50,1027,106,
+ 76,77,105,1997,5391,5391,5391,2981,5391,5391,
+ 5391,5391,5391,1649,1354,1354,1354,2981,1143,1143,
+ 1143,5391,5391,1736,5391,5391,227,2981,1354,5391,
+ 5391,5391,1143,5391,5391,5391,227,5391,5391,5391,
+ 5391,5391,5391,159,159,159,227,5391,5391,204,
+ 214,4674,203,211,212,213,215,159,5391,204,
+ 214,4674,203,211,212,213,215,5391,5391,204,
+ 214,4674,203,211,212,213,215,5391,5391,5391,
+ 205,207,209,293,294,3319,5391,519,206,208,
+ 205,207,209,293,294,3319,5391,518,206,208,
+ 205,207,209,293,294,3319,2084,217,206,208,
+ 2981,2023,2432,2979,5391,5391,2171,5391,5391,5391,
+ 2981,5391,5391,5391,5391,3031,5391,5391,5391,227,
+ 5391,5391,5391,5391,5391,5391,5391,5391,5391,227,
+ 5391,5391,5391,5391,5391,5391,5391,5391,5391,5391,
+ 5391,5391,204,214,4674,203,211,212,213,215,
+ 5391,5391,204,214,4674,203,211,212,213,215,
+ 1691,35,791,32,4583,3542,27,30,31,936,
+ 984,338,28,205,207,209,293,294,3319,5391,
+ 304,206,208,205,207,209,293,294,3319,5391,
+ 498,206,208,2156,35,791,32,5391,3659,27,
+ 30,31,936,984,338,28,1691,35,791,32,
+ 4583,3542,27,30,31,936,984,338,28,318,
+ 1850,320,5391,313,1506,3280,35,1599,387,5391,
+ 2536,5391,5391,5391,5391,5391,2869,5391,237,5391,
+ 5391,5391,5391,5391,5391,5391,5391,2928,5391,5391,
+ 5391,332,318,1850,320,5391,314,1506,1180,272,
+ 5391,5391,2981,4843,5391,318,1850,320,5391,313,
+ 1506,5391,5391,1607,929,35,1599,387,3928,5391,
+ 56,227,3992,5391,536,5391,5391,231,1490,35,
+ 791,32,2629,3542,27,30,31,936,984,338,
+ 28,5391,5391,342,1634,406,4598,5391,49,155,
+ 5391,1285,235,229,230,2981,4843,1592,47,187,
+ 5391,5391,5391,273,5391,4516,402,2928,5391,5391,
+ 2878,331,5391,5391,227,407,408,409,293,294,
+ 3319,5391,242,245,248,251,802,315,3461,320,
+ 5391,929,35,1599,387,1172,5391,1634,406,4598,
+ 3271,5391,5391,4503,2236,35,791,32,2387,3542,
+ 27,30,31,936,984,338,28,5391,5391,5391,
+ 5391,5391,5391,3593,5391,49,5391,5391,407,408,
+ 409,293,294,3319,1592,47,929,35,1599,387,
+ 1962,35,1599,387,5391,5391,5391,2953,2623,5391,
+ 5391,5391,536,3271,5391,929,35,1599,387,5391,
+ 5391,410,412,315,3461,320,929,35,1599,387,
+ 49,342,2647,5391,49,5391,2981,155,5391,1592,
+ 47,5391,5391,1592,47,1403,2700,187,4621,49,
+ 5391,5391,3018,4516,5391,2513,1186,5391,1592,47,
+ 49,2167,35,1599,387,5391,5391,5391,56,1592,
+ 47,3569,536,56,410,413,5391,536,5391,5391,
+ 5391,5391,3679,5391,5391,588,35,1599,387,5391,
+ 5391,342,5391,5391,5391,49,342,155,588,35,
+ 1599,387,155,5391,1592,47,5391,1419,5391,5391,
+ 5391,189,927,2503,5391,5391,2208,3733,2503,49,
+ 2981,5391,2700,504,5391,1413,5391,56,1592,740,
+ 1542,536,49,588,35,1599,387,5391,5391,342,
+ 56,1592,658,5391,536,5391,5391,5391,5391,529,
+ 342,5391,5391,5391,5391,5391,155,5391,5391,5391,
+ 5391,2503,5391,342,501,503,187,49,5391,155,
+ 5391,5391,4516,532,5391,5391,1592,2282,5391,187,
+ 5391,5391,5391,5391,5391,4516,5391,5391,3847,5391,
+ 5391,5391,5391,5391,5391,5391,5391,5391,5391,5391,
+ 5391,5391,5391,5391,5391,3936,5391,5391,5391,5391,
+ 5391,5391,5391,5391,5391,5391,5391,5391,5391,5391,
+ 5391,5391,5391,5391,5391,5391,5391,5391,5391,5391,
+ 3642,5391,5391,5391,5391,5391,5391,5391,5391,5391,
+ 5391,5391,5391,3856,5391,5391,5391,5391,5391,5391,
+ 5391,5391,5391,5391,5391,5391,5391,5391,5391,5391,
+ 5391,5391,5391,5391,5391,5391,5391,5391,5391,5391,
+ 5391,5391,5391,5391,5391,5391,5391,5391,5391,5391,
+ 5391,5391,5391,5391,5391,5391,5391,5391,5391,5391,
+ 5391,5391,5391,5391,5391,5391,5391,5391,5391,5391,
+ 5391,5391,5391,5391,5391,5391,5391,5391,5391,5391,
+ 5391,5391,5391,5391,3033,5391,0,39,5406,0,
+ 39,5405,0,565,29,0,439,728,0,453,
+ 1077,0,38,626,0,38,5406,0,38,5405,
+ 0,2742,125,0,1,443,0,457,1331,0,
+ 456,2031,0,3188,91,0,565,386,0,35,
+ 33,0,32,34,0,39,626,0,1,863,
+ 0,1,5662,0,1,5661,0,1,5660,0,
+ 1,5659,0,1,5658,0,1,5657,0,1,
+ 5656,0,1,5655,0,1,5654,0,1,5653,
+ 0,1,5652,0,39,1,5406,0,39,1,
+ 5405,0,735,1,0,282,393,0,282,285,
+ 0,5624,240,0,5623,240,0,5728,240,0,
+ 5727,240,0,5651,240,0,5650,240,0,5649,
+ 240,0,5648,240,0,5647,240,0,5646,240,
+ 0,5645,240,0,5644,240,0,5662,240,0,
+ 5661,240,0,5660,240,0,5659,240,0,5658,
+ 240,0,5657,240,0,5656,240,0,5655,240,
+ 0,5654,240,0,5653,240,0,5652,240,0,
+ 39,5406,240,0,39,5405,240,0,5429,240,
+ 0,5406,48,0,5405,48,0,43,5427,0,
+ 43,37,0,2742,127,0,2742,126,0,5397,
+ 1,0,5396,1,0,3619,236,0,32,387,
+ 0,29,386,0,330,444,0,1,92,0,
+ 47,37,0,5429,1,0,39,1,0,500,
+ 3279,0,5429,1,228,0,39,1,228,0,
+ 228,415,0,5406,37,0,5405,37,0,5427,
+ 45,0,37,45,0,5406,36,0,5405,36,
+ 0,5406,2,37,0,5405,2,37,0,5401,
+ 404,0,5400,404,0,1,4470,0,1,3013,
+ 0,1,626,0,228,414,0,330,95,0,
+ 35,73,0,2894,317,0,1,330,0,4314,
+ 277,0,500,4313,0,1,228,0,228,219,
+ 0,228,218,0,1,574,0,1,2438,0,
+ 5403,1,0,5399,1,0,1,228,3776,0,
+ 5400,228,0,3845,228,0,5403,382,0,5402,
+ 382,0,3940,228,0,10,12,0,8,10,
+ 12,0,184,3618,0,3995,382,0,8,12,
+ 0
};
};
public final static char baseAction[] = BaseAction.baseAction;
@@ -1103,351 +1103,348 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
20,21,22,23,24,25,26,27,28,29,
30,31,32,33,34,35,36,37,38,39,
40,41,42,43,44,45,46,47,0,49,
- 50,51,52,53,54,55,0,57,58,59,
- 60,61,62,63,0,65,66,67,68,0,
- 6,0,72,25,26,75,76,77,78,79,
- 80,81,82,83,84,85,86,0,1,2,
- 3,4,5,6,7,8,9,10,11,12,
- 13,14,15,16,17,18,19,20,21,22,
- 23,24,25,26,27,28,29,30,31,32,
- 33,34,35,36,37,38,39,40,41,42,
- 43,44,45,46,47,0,49,50,51,52,
- 53,54,55,0,57,58,59,60,61,62,
- 63,0,65,66,67,68,100,93,94,72,
- 25,26,75,76,77,78,79,80,81,82,
- 83,84,85,86,0,1,2,3,4,5,
- 6,7,8,9,10,11,12,13,14,15,
- 16,17,18,19,20,21,22,23,24,25,
- 26,27,28,29,30,31,32,33,34,35,
- 36,37,38,39,40,41,42,43,44,45,
- 46,47,71,49,50,51,52,53,54,55,
- 0,57,58,59,60,61,62,63,0,65,
- 66,67,68,0,1,2,72,4,0,75,
- 76,77,78,79,80,81,82,83,84,85,
- 86,0,1,2,3,4,5,6,7,8,
- 9,10,11,12,13,14,15,16,17,18,
- 19,20,21,22,23,24,25,26,27,28,
- 29,30,31,32,33,34,35,36,37,38,
- 39,40,41,42,43,44,45,46,47,71,
- 49,50,51,52,53,54,55,0,57,58,
- 59,60,61,62,63,0,65,66,67,68,
- 0,1,2,0,4,0,75,76,77,78,
- 79,80,81,82,83,84,85,86,0,1,
- 2,3,4,5,6,7,8,9,10,11,
- 12,13,14,15,16,17,18,19,20,21,
- 22,23,24,25,26,27,28,29,30,31,
- 32,33,34,35,36,37,38,39,40,41,
- 42,43,44,45,46,47,71,49,50,51,
- 52,53,54,55,69,57,58,59,60,61,
- 62,63,0,65,66,67,68,0,6,0,
- 103,104,105,75,76,77,78,79,80,81,
- 82,83,84,85,86,0,1,2,3,4,
- 5,6,7,8,9,10,11,12,13,14,
- 15,16,17,18,19,20,21,22,23,24,
- 25,26,27,28,29,30,31,32,33,34,
- 35,36,37,38,39,40,41,42,43,44,
- 45,46,47,64,49,50,51,52,53,54,
- 55,0,57,58,59,60,61,62,63,0,
- 65,66,67,68,0,93,94,90,4,92,
- 75,76,77,78,79,80,81,82,83,84,
- 85,86,0,1,2,3,4,5,6,7,
- 8,9,10,11,12,13,14,15,16,17,
- 18,19,20,21,22,23,24,25,26,27,
- 28,29,30,31,32,33,34,35,36,37,
- 38,39,40,41,42,43,44,45,46,47,
- 71,49,50,51,52,53,54,55,0,57,
- 58,59,60,61,62,63,0,65,66,67,
- 68,100,6,0,0,1,2,75,76,77,
- 78,79,80,81,82,83,84,85,86,0,
- 1,2,3,4,5,6,7,8,9,10,
- 11,12,13,14,15,16,17,18,19,20,
- 21,22,23,24,25,26,27,28,29,30,
- 31,32,33,34,35,36,37,38,39,40,
- 41,42,43,44,45,46,47,0,49,50,
- 51,52,53,54,55,0,57,58,59,60,
- 61,62,63,0,65,66,67,68,5,93,
- 94,88,89,0,75,76,77,78,79,80,
- 81,82,83,84,85,86,0,1,2,3,
+ 50,51,52,53,54,0,56,57,58,59,
+ 60,61,62,0,64,65,66,67,0,6,
+ 0,71,4,3,74,75,76,77,78,79,
+ 80,81,82,83,84,85,0,1,2,3,
4,5,6,7,8,9,10,11,12,13,
14,15,16,17,18,19,20,21,22,23,
24,25,26,27,28,29,30,31,32,33,
34,35,36,37,38,39,40,41,42,43,
44,45,46,47,0,49,50,51,52,53,
- 54,55,69,57,58,59,60,61,62,63,
- 0,65,66,67,68,0,1,2,0,9,
- 5,75,76,77,78,79,80,81,82,83,
- 84,85,86,0,1,2,3,4,5,6,
- 7,8,9,10,11,12,13,14,15,16,
- 17,18,19,20,21,22,23,24,25,26,
- 27,28,29,30,31,32,33,34,35,36,
- 37,38,39,40,41,42,43,44,45,46,
- 47,0,49,50,51,52,53,54,55,71,
- 57,58,59,60,61,62,63,0,65,66,
- 67,68,0,1,2,0,4,10,75,76,
- 77,78,79,80,81,82,83,84,85,86,
+ 54,0,56,57,58,59,60,61,62,101,
+ 64,65,66,67,106,92,93,71,0,0,
+ 74,75,76,77,78,79,80,81,82,83,
+ 84,85,0,1,2,3,4,5,6,7,
+ 8,9,10,11,12,13,14,15,16,17,
+ 18,19,20,21,22,23,24,25,26,27,
+ 28,29,30,31,32,33,34,35,36,37,
+ 38,39,40,41,42,43,44,45,46,47,
+ 0,49,50,51,52,53,54,68,56,57,
+ 58,59,60,61,62,0,64,65,66,67,
+ 0,1,2,71,4,10,74,75,76,77,
+ 78,79,80,81,82,83,84,85,0,1,
+ 2,3,4,5,6,7,8,9,10,11,
+ 12,13,14,15,16,17,18,19,20,21,
+ 22,23,24,25,26,27,28,29,30,31,
+ 32,33,34,35,36,37,38,39,40,41,
+ 42,43,44,45,46,47,0,49,50,51,
+ 52,53,54,0,56,57,58,59,60,61,
+ 62,0,64,65,66,67,0,1,2,8,
+ 4,0,74,75,76,77,78,79,80,81,
+ 82,83,84,85,0,1,2,3,4,5,
+ 6,7,8,9,10,11,12,13,14,15,
+ 16,17,18,19,20,21,22,23,24,25,
+ 26,27,28,29,30,31,32,33,34,35,
+ 36,37,38,39,40,41,42,43,44,45,
+ 46,47,71,49,50,51,52,53,54,0,
+ 56,57,58,59,60,61,62,0,64,65,
+ 66,67,0,6,0,102,103,104,74,75,
+ 76,77,78,79,80,81,82,83,84,85,
0,1,2,3,4,5,6,7,8,9,
10,11,12,13,14,15,16,17,18,19,
20,21,22,23,24,25,26,27,28,29,
30,31,32,33,34,35,36,37,38,39,
40,41,42,43,44,45,46,47,0,49,
- 50,51,52,53,54,55,0,57,58,59,
- 60,61,62,63,0,65,66,67,68,0,
- 1,2,0,1,2,75,76,77,78,79,
- 80,81,82,83,84,85,86,0,1,2,
- 3,4,5,6,7,8,9,10,11,12,
- 13,14,15,16,17,18,19,20,21,22,
- 23,24,25,26,27,28,29,30,31,32,
- 33,34,35,36,37,38,39,40,41,42,
- 43,44,45,46,47,0,49,50,51,52,
- 53,54,55,0,57,58,59,60,61,62,
- 63,0,65,66,67,68,0,101,0,8,
- 25,26,75,76,77,78,79,80,81,82,
- 83,84,85,86,0,1,2,3,4,5,
+ 50,51,52,53,54,0,56,57,58,59,
+ 60,61,62,0,64,65,66,67,99,92,
+ 93,89,9,91,74,75,76,77,78,79,
+ 80,81,82,83,84,85,0,1,2,3,
+ 4,5,6,7,8,9,10,11,12,13,
+ 14,15,16,17,18,19,20,21,22,23,
+ 24,25,26,27,28,29,30,31,32,33,
+ 34,35,36,37,38,39,40,41,42,43,
+ 44,45,46,47,0,49,50,51,52,53,
+ 54,0,56,57,58,59,60,61,62,0,
+ 64,65,66,67,99,6,0,0,1,2,
+ 74,75,76,77,78,79,80,81,82,83,
+ 84,85,0,1,2,3,4,5,6,7,
+ 8,9,10,11,12,13,14,15,16,17,
+ 18,19,20,21,22,23,24,25,26,27,
+ 28,29,30,31,32,33,34,35,36,37,
+ 38,39,40,41,42,43,44,45,46,47,
+ 0,49,50,51,52,53,54,0,56,57,
+ 58,59,60,61,62,0,64,65,66,67,
+ 5,92,93,87,88,0,74,75,76,77,
+ 78,79,80,81,82,83,84,85,0,1,
+ 2,3,4,5,6,7,8,9,10,11,
+ 12,13,14,15,16,17,18,19,20,21,
+ 22,23,24,25,26,27,28,29,30,31,
+ 32,33,34,35,36,37,38,39,40,41,
+ 42,43,44,45,46,47,0,49,50,51,
+ 52,53,54,68,56,57,58,59,60,61,
+ 62,0,64,65,66,67,0,1,2,23,
+ 24,5,74,75,76,77,78,79,80,81,
+ 82,83,84,85,0,1,2,3,4,5,
6,7,8,9,10,11,12,13,14,15,
16,17,18,19,20,21,22,23,24,25,
26,27,28,29,30,31,32,33,34,35,
36,37,38,39,40,41,42,43,44,45,
- 46,47,0,49,50,51,52,53,54,55,
- 0,57,58,59,60,61,62,63,0,65,
- 66,67,68,0,6,0,90,9,92,75,
+ 46,47,0,49,50,51,52,53,54,0,
+ 56,57,58,59,60,61,62,0,64,65,
+ 66,67,0,1,2,8,4,0,74,75,
76,77,78,79,80,81,82,83,84,85,
- 86,0,1,2,3,4,5,6,7,118,
- 9,10,11,12,13,14,15,16,17,18,
- 19,20,21,22,23,24,25,26,0,28,
- 29,30,31,32,33,34,35,36,37,38,
- 39,40,41,42,43,44,45,46,47,0,
- 49,50,51,52,53,54,55,0,57,58,
- 59,99,61,0,1,2,3,4,5,6,
- 7,8,9,10,11,12,13,14,15,16,
- 17,18,19,20,21,22,23,24,0,119,
- 27,28,29,30,31,32,33,34,35,36,
- 0,1,2,40,4,5,121,7,0,0,
- 0,48,0,1,2,3,4,5,69,7,
- 57,58,59,60,0,62,63,99,0,1,
- 2,22,23,24,0,72,73,28,29,30,
- 31,32,33,34,35,36,22,23,24,0,
- 87,0,28,29,30,31,32,33,34,35,
- 36,0,1,2,56,0,103,104,105,0,
+ 0,1,2,3,4,5,6,7,8,9,
+ 10,11,12,13,14,15,16,17,18,19,
+ 20,21,22,23,24,25,26,27,28,29,
+ 30,31,32,33,34,35,36,37,38,39,
+ 40,41,42,43,44,45,46,47,71,49,
+ 50,51,52,53,54,68,56,57,58,59,
+ 60,61,62,0,64,65,66,67,0,1,
+ 2,0,1,2,74,75,76,77,78,79,
+ 80,81,82,83,84,85,0,1,2,3,
+ 4,5,6,7,8,9,10,11,12,13,
+ 14,15,16,17,18,19,20,21,22,23,
+ 24,25,26,27,28,29,30,31,32,33,
+ 34,35,36,37,38,39,40,41,42,43,
+ 44,45,46,47,0,49,50,51,52,53,
+ 54,0,56,57,58,59,60,61,62,0,
+ 64,65,66,67,0,0,0,8,3,3,
+ 74,75,76,77,78,79,80,81,82,83,
+ 84,85,0,1,2,3,4,5,6,7,
+ 8,9,10,11,12,13,14,15,16,17,
+ 18,19,20,21,22,23,24,25,26,27,
+ 28,29,30,31,32,33,34,35,36,37,
+ 38,39,40,41,42,43,44,45,46,47,
+ 0,49,50,51,52,53,54,0,56,57,
+ 58,59,60,61,62,0,64,65,66,67,
+ 0,6,0,89,9,91,74,75,76,77,
+ 78,79,80,81,82,83,84,85,0,1,
+ 2,3,4,5,6,7,117,9,10,11,
+ 12,13,14,15,16,17,18,19,20,21,
+ 22,23,24,25,26,0,28,29,30,31,
+ 32,33,34,35,36,37,38,39,40,41,
+ 42,43,44,45,46,47,0,49,50,51,
+ 52,53,54,0,56,57,58,4,60,0,
1,2,3,4,5,6,7,8,9,10,
11,12,13,14,15,16,17,18,19,20,
- 21,22,23,24,66,67,27,28,29,30,
+ 21,22,23,24,0,118,27,28,29,30,
31,32,33,34,35,36,0,1,2,40,
- 4,5,0,7,0,3,0,48,6,0,
- 8,9,8,4,8,0,57,58,59,60,
- 0,62,63,8,0,1,2,25,26,27,
- 0,72,73,27,4,0,97,98,3,37,
- 38,0,22,23,24,90,87,92,28,29,
- 30,31,32,33,34,35,36,0,56,0,
- 1,2,103,104,105,8,64,0,1,2,
- 0,69,70,71,72,73,74,71,74,0,
- 1,2,3,4,5,6,7,0,9,74,
+ 4,5,0,7,0,0,0,48,0,1,
+ 2,0,4,0,68,56,57,58,59,0,
+ 61,62,0,1,2,100,22,23,24,0,
+ 71,72,28,29,30,31,32,33,34,35,
+ 36,22,23,24,48,86,0,28,29,30,
+ 31,32,33,34,35,36,48,0,0,1,
+ 2,102,103,104,0,1,2,3,4,5,
+ 6,7,8,9,10,11,12,13,14,15,
+ 16,17,18,19,20,21,22,23,24,87,
+ 88,27,28,29,30,31,32,33,34,35,
+ 36,55,0,98,40,3,48,0,6,0,
+ 8,9,48,0,1,2,0,8,5,90,
+ 56,57,58,59,8,61,62,25,26,27,
+ 0,1,2,0,0,71,72,0,0,37,
+ 38,8,0,1,2,3,4,5,6,7,
+ 86,9,0,0,0,1,2,55,4,0,
+ 6,48,8,9,0,63,102,103,104,0,
+ 68,69,70,71,72,73,67,120,48,0,
+ 1,2,3,4,5,6,7,71,9,87,
88,89,90,91,92,93,94,95,96,97,
- 98,99,100,101,102,0,1,2,106,107,
+ 98,99,100,101,0,63,73,105,106,107,
108,109,110,111,112,113,114,115,116,117,
- 118,0,120,121,3,66,67,6,71,8,
- 9,74,0,0,1,2,3,4,5,6,
- 7,8,9,64,0,0,25,26,27,70,
- 0,1,2,48,9,22,23,24,37,38,
- 27,28,29,30,31,32,33,34,35,36,
- 0,0,1,2,3,4,5,56,7,8,
- 0,0,1,2,0,64,5,0,7,56,
- 69,70,71,72,73,74,64,64,27,0,
- 1,2,3,4,5,6,7,74,9,88,
- 89,90,91,92,93,94,95,96,97,98,
- 99,100,101,102,0,0,56,106,107,108,
- 109,110,111,112,113,114,115,116,117,118,
- 56,120,121,0,1,2,3,4,5,6,
- 7,8,9,10,11,12,13,14,15,16,
- 17,18,19,20,21,22,23,24,88,89,
- 27,28,29,30,31,32,33,34,35,36,
- 0,1,2,40,4,5,0,7,0,3,
- 0,48,0,1,2,3,4,5,0,7,
- 57,58,59,60,0,62,63,3,65,0,
- 22,23,24,88,89,72,28,29,30,31,
- 32,33,34,35,36,0,1,2,48,0,
- 87,0,1,2,3,4,5,6,7,8,
+ 0,119,120,3,0,72,6,73,8,9,
+ 96,97,0,1,2,3,4,5,6,7,
+ 8,9,63,74,90,25,26,27,69,25,
+ 26,87,88,0,22,23,24,37,38,27,
+ 28,29,30,31,32,33,34,35,36,0,
+ 1,2,3,4,5,55,7,8,0,0,
+ 1,2,0,63,5,3,7,55,68,69,
+ 70,71,72,73,0,63,27,0,1,2,
+ 3,4,5,6,7,73,9,87,88,89,
+ 90,91,92,93,94,95,96,97,98,99,
+ 100,101,0,1,2,105,106,107,108,109,
+ 110,111,112,113,114,115,116,117,0,119,
+ 120,0,1,2,3,4,5,6,7,8,
9,10,11,12,13,14,15,16,17,18,
- 19,20,21,22,23,24,64,48,27,28,
- 29,30,31,32,33,34,35,36,70,0,
- 0,40,0,0,1,2,3,4,5,48,
- 7,0,0,0,0,56,3,56,57,58,
- 59,60,8,62,63,0,65,0,1,2,
- 102,4,5,0,7,107,108,109,110,111,
- 112,113,114,115,116,117,0,48,87,0,
- 1,2,3,4,5,6,7,8,9,10,
- 11,12,13,14,15,16,17,18,19,20,
- 21,22,23,24,0,48,27,28,29,30,
- 31,32,33,34,35,36,61,0,74,40,
- 3,0,1,2,3,4,5,48,7,97,
- 98,90,69,92,71,91,57,58,59,60,
- 64,62,63,101,65,0,1,2,3,4,
- 5,72,7,8,0,0,1,2,3,4,
- 5,6,7,0,9,0,87,0,1,2,
- 3,4,5,6,7,8,9,10,11,12,
- 13,14,15,16,17,18,19,20,21,22,
- 23,24,88,89,27,28,29,30,31,32,
- 33,34,35,36,0,1,2,40,4,64,
- 6,0,0,9,0,48,0,1,2,74,
- 8,5,0,7,57,58,59,60,73,62,
- 63,0,65,0,1,2,73,4,0,72,
- 0,1,2,3,4,5,6,7,0,9,
- 0,0,1,2,87,0,1,2,3,4,
+ 19,20,21,22,23,24,72,0,27,28,
+ 29,30,31,32,33,34,35,36,0,1,
+ 2,40,4,0,6,0,0,9,0,48,
+ 4,8,6,0,0,9,0,56,57,58,
+ 59,8,61,62,0,64,0,22,23,24,
+ 27,0,71,28,29,30,31,32,33,34,
+ 35,36,0,1,2,87,88,86,0,1,
+ 2,3,4,5,6,7,8,9,10,11,
+ 12,13,14,15,16,17,18,19,20,21,
+ 22,23,24,70,0,27,28,29,30,31,
+ 32,33,34,35,36,69,73,63,40,63,
+ 0,1,2,3,4,5,48,7,0,0,
+ 0,87,88,55,56,57,58,59,0,61,
+ 62,0,64,39,0,1,2,101,4,5,
+ 9,7,106,107,108,109,110,111,112,113,
+ 114,115,116,0,86,0,1,2,3,4,
5,6,7,8,9,10,11,12,13,14,
15,16,17,18,19,20,21,22,23,24,
- 68,48,27,28,29,30,31,32,33,34,
- 35,36,0,1,2,40,4,0,6,48,
- 69,9,0,48,64,8,4,0,6,0,
- 3,9,57,58,59,60,102,62,63,69,
- 65,107,0,1,2,0,4,72,6,91,
- 8,9,0,8,0,1,2,3,4,5,
- 8,7,87,0,1,2,3,4,5,6,
- 7,8,9,10,11,12,13,14,15,16,
- 17,18,19,20,21,22,23,24,71,72,
- 27,28,29,30,31,32,33,34,35,36,
- 0,1,2,40,0,0,1,2,3,4,
- 5,48,7,8,0,0,74,88,89,74,
- 57,58,59,60,72,62,63,73,65,0,
- 1,2,27,91,0,1,2,3,4,0,
- 6,0,3,9,3,0,1,2,48,0,
- 87,0,1,2,3,4,5,6,7,8,
- 9,10,11,12,13,14,15,16,17,18,
- 19,20,21,22,23,24,0,48,27,28,
- 29,30,31,32,33,34,35,36,0,1,
- 2,40,4,48,6,0,0,9,64,48,
- 0,0,0,64,0,64,4,6,57,58,
- 59,60,0,62,63,3,65,0,1,2,
- 8,4,0,6,22,76,9,23,24,0,
- 0,0,3,3,0,1,2,8,87,0,
+ 0,0,27,28,29,30,31,32,33,34,
+ 35,36,0,1,2,40,4,0,6,0,
+ 0,9,0,48,4,8,0,89,89,91,
+ 91,56,57,58,59,0,61,62,98,64,
+ 0,22,23,24,96,97,71,28,29,30,
+ 31,32,33,34,35,36,55,0,1,2,
+ 60,86,0,1,2,3,4,5,6,7,
+ 8,9,10,11,12,13,14,15,16,17,
+ 18,19,20,21,22,23,24,70,71,27,
+ 28,29,30,31,32,33,34,35,36,0,
+ 1,2,40,4,5,48,7,0,1,2,
+ 48,4,0,6,0,3,9,3,56,57,
+ 58,59,100,61,62,90,64,0,1,2,
+ 3,4,5,71,7,8,0,0,1,2,
+ 3,4,5,6,7,0,9,48,86,0,
1,2,3,4,5,6,7,8,9,10,
11,12,13,14,15,16,17,18,19,20,
- 21,22,23,24,69,69,27,28,29,30,
- 31,32,33,34,35,36,64,0,56,40,
- 0,69,48,71,0,8,74,48,4,0,
- 0,91,3,64,4,73,57,58,59,60,
- 70,62,63,74,65,103,104,105,0,1,
- 2,0,22,0,0,4,8,3,0,1,
- 2,3,4,5,6,7,87,9,10,11,
+ 21,22,23,24,0,63,27,28,29,30,
+ 31,32,33,34,35,36,0,1,2,40,
+ 63,0,1,2,3,4,5,48,7,8,
+ 73,0,1,2,0,56,57,58,59,72,
+ 61,62,0,64,69,0,1,2,27,0,
+ 71,0,0,1,2,3,4,0,6,25,
+ 26,9,0,0,48,86,0,1,2,3,
+ 4,5,6,7,8,9,10,11,12,13,
+ 14,15,16,17,18,19,20,21,22,23,
+ 24,0,0,27,28,29,30,31,32,33,
+ 34,35,36,0,1,2,40,4,0,6,
+ 65,66,9,0,48,63,25,26,0,0,
+ 63,70,56,57,58,59,8,61,62,10,
+ 64,0,1,2,3,4,5,0,7,0,
+ 1,2,3,4,5,27,7,55,0,1,
+ 2,0,86,0,1,2,3,4,5,6,
+ 7,8,9,10,11,12,13,14,15,16,
+ 17,18,19,20,21,22,23,24,59,0,
+ 27,28,29,30,31,32,33,34,35,36,
+ 39,0,0,40,0,4,48,3,0,1,
+ 2,48,63,72,0,68,8,70,4,56,
+ 57,58,59,22,61,62,0,64,0,3,
+ 0,3,0,3,8,0,1,2,3,4,
+ 5,118,7,0,1,2,0,1,2,86,
+ 0,1,2,3,4,5,6,7,8,9,
+ 10,11,12,13,14,15,16,17,18,19,
+ 20,21,22,23,24,67,0,27,28,29,
+ 30,31,32,33,34,35,36,0,0,63,
+ 40,48,4,63,68,8,70,69,48,73,
+ 68,0,70,102,103,104,56,57,58,59,
+ 22,61,62,0,64,0,1,2,3,4,
+ 5,8,7,0,0,0,3,3,0,1,
+ 2,3,4,5,6,7,86,9,10,11,
12,13,14,15,16,17,18,19,20,21,
- 56,0,0,25,26,68,0,1,2,8,
- 0,37,38,0,0,37,38,39,8,41,
+ 0,1,2,25,26,5,55,7,0,0,
+ 73,37,38,0,0,37,38,39,4,41,
42,43,44,45,46,47,0,49,50,51,
- 52,53,54,55,0,0,68,27,64,61,
- 62,39,0,70,66,67,0,1,2,3,
+ 52,53,54,0,0,0,73,63,60,61,
+ 0,6,0,65,66,0,1,2,3,4,
+ 5,6,7,90,9,10,11,12,13,14,
+ 15,16,17,18,19,20,21,0,55,55,
+ 25,26,63,0,1,2,68,4,5,105,
+ 7,68,37,38,39,0,41,42,43,44,
+ 45,46,47,119,49,50,51,52,53,54,
+ 0,1,2,70,70,60,6,94,95,0,
+ 65,66,3,68,0,1,2,3,4,5,
+ 6,7,8,9,10,11,12,13,14,15,
+ 16,17,18,19,20,21,0,1,2,25,
+ 26,0,0,0,0,0,0,3,48,8,
+ 8,37,38,39,0,41,42,43,44,45,
+ 46,47,0,49,50,51,52,53,54,0,
+ 1,2,0,0,60,0,0,1,2,0,
+ 8,67,0,4,48,71,0,1,2,3,
4,5,6,7,48,9,10,11,12,13,
- 14,15,16,17,18,19,20,21,0,56,
- 56,25,26,72,0,0,0,3,0,3,
- 106,3,69,37,38,39,0,41,42,43,
- 44,45,46,47,120,49,50,51,52,53,
- 54,55,0,0,0,1,2,61,95,96,
- 6,8,66,67,0,69,0,1,2,3,
- 4,5,6,7,8,9,10,11,12,13,
- 14,15,16,17,18,19,20,21,0,1,
- 2,25,26,5,69,0,71,0,3,0,
- 1,2,48,37,38,39,0,41,42,43,
+ 14,15,16,17,18,19,20,21,67,55,
+ 0,25,26,0,0,73,3,48,8,0,
+ 0,8,68,37,38,39,0,41,42,43,
+ 44,45,46,47,55,49,50,51,52,53,
+ 54,65,66,68,0,73,60,3,94,95,
+ 68,65,66,0,1,2,3,4,5,6,
+ 7,0,9,10,11,12,13,14,15,16,
+ 17,18,19,20,21,55,63,63,25,26,
+ 70,0,63,73,0,0,73,0,68,8,
+ 37,38,39,8,41,42,43,44,45,46,
+ 47,0,49,50,51,52,53,54,27,0,
+ 0,0,27,60,94,95,55,0,65,66,
+ 0,1,2,3,4,5,6,7,8,9,
+ 10,11,12,13,14,15,16,17,18,19,
+ 20,21,55,0,0,25,26,3,0,48,
+ 0,3,0,69,4,0,0,37,38,39,
+ 8,41,42,43,44,45,46,47,0,49,
+ 50,51,52,53,54,0,0,68,0,27,
+ 60,0,4,72,0,10,10,67,0,1,
+ 2,3,4,5,6,7,8,9,10,11,
+ 12,13,14,15,16,17,18,19,20,21,
+ 55,55,0,25,26,40,40,0,0,0,
+ 0,4,0,48,48,37,38,39,72,41,
+ 42,43,44,45,46,47,55,49,50,51,
+ 52,53,54,0,0,0,0,3,60,5,
+ 6,0,0,9,3,67,0,0,0,3,
+ 0,0,0,3,0,0,0,55,48,25,
+ 26,0,55,55,55,0,0,55,3,0,
+ 0,37,38,3,0,41,0,3,0,3,
+ 0,3,0,3,0,3,0,0,55,55,
+ 3,0,40,0,0,121,0,63,0,65,
+ 66,0,68,69,70,69,0,72,0,0,
+ 55,0,70,0,0,0,0,69,0,72,
+ 69,87,88,89,70,69,92,93,94,95,
+ 96,97,98,99,100,101,70,39,69,105,
+ 0,107,108,109,110,111,112,113,114,115,
+ 116,0,1,2,3,4,5,6,7,8,
+ 9,10,11,12,13,14,15,16,17,18,
+ 19,20,21,72,90,69,25,26,70,118,
+ 0,72,69,72,69,0,0,0,37,38,
+ 39,75,41,42,43,44,45,46,47,0,
+ 49,50,51,52,53,54,0,1,2,3,
+ 4,5,6,7,0,9,10,11,12,13,
+ 14,15,16,17,18,19,20,21,0,0,
+ 0,25,26,0,0,55,0,0,0,0,
+ 0,0,0,37,38,39,0,41,42,43,
44,45,46,47,0,49,50,51,52,53,
- 54,55,0,0,0,72,0,61,64,3,
- 8,0,8,10,68,4,48,119,72,0,
- 1,2,3,4,5,6,7,48,9,10,
- 11,12,13,14,15,16,17,18,19,20,
- 21,0,56,40,25,26,69,0,0,0,
- 56,48,4,0,0,69,37,38,39,10,
- 41,42,43,44,45,46,47,56,49,50,
- 51,52,53,54,55,0,74,0,74,0,
- 61,95,96,4,0,66,67,0,1,2,
- 3,4,5,6,7,0,9,10,11,12,
- 13,14,15,16,17,18,19,20,21,60,
- 56,64,25,26,73,0,0,64,3,0,
- 4,0,0,69,37,38,39,8,41,42,
- 43,44,45,46,47,56,49,50,51,52,
- 53,54,55,0,0,70,27,0,61,95,
- 96,56,75,66,67,0,1,2,3,4,
- 5,6,7,8,9,10,11,12,13,14,
- 15,16,17,18,19,20,21,56,56,0,
- 25,26,0,0,0,0,3,0,0,0,
- 0,48,37,38,39,8,41,42,43,44,
- 45,46,47,56,49,50,51,52,53,54,
- 55,0,0,0,27,0,61,73,3,0,
- 0,10,0,68,0,1,2,3,4,5,
- 6,7,8,9,10,11,12,13,14,15,
- 16,17,18,19,20,21,56,0,0,25,
- 26,40,70,0,0,0,0,73,73,48,
- 0,37,38,39,8,41,42,43,44,45,
- 46,47,0,49,50,51,52,53,54,55,
- 91,0,70,27,71,61,39,0,0,70,
- 3,3,68,0,1,2,3,4,5,6,
- 7,8,9,10,11,12,13,14,15,16,
- 17,18,19,20,21,0,56,0,25,26,
- 3,73,0,0,71,70,3,0,56,0,
- 37,38,39,0,41,42,43,44,45,46,
- 47,119,49,50,51,52,53,54,55,0,
+ 54,0,0,0,0,0,60,0,117,0,
1,2,3,4,5,6,7,0,9,10,
11,12,13,14,15,16,17,18,19,20,
- 21,56,0,0,25,26,3,0,0,0,
- 3,3,0,0,0,3,37,38,39,0,
- 41,42,43,44,45,46,47,70,49,50,
- 51,52,53,54,55,0,73,0,0,0,
- 61,118,3,0,5,6,0,0,9,11,
- 12,13,14,15,16,17,18,19,20,21,
- 22,23,24,0,25,26,28,29,30,31,
- 32,33,34,35,36,73,37,38,0,70,
- 41,122,0,40,70,39,0,0,0,70,
- 0,56,0,0,0,56,0,0,0,0,
- 0,0,0,64,0,66,67,0,69,70,
- 71,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,88,89,90,
- 0,0,93,94,95,96,97,98,99,100,
- 101,102,0,0,0,106,0,108,109,110,
- 111,112,113,114,115,116,117,0,1,2,
- 3,4,5,6,7,0,9,10,11,12,
- 13,14,15,16,17,18,19,20,21,0,
- 0,0,25,26,0,0,0,0,0,0,
- 0,0,0,0,37,38,39,0,41,42,
- 43,44,45,46,47,0,49,50,51,52,
- 53,54,55,0,1,2,3,4,5,6,
- 7,64,9,10,11,12,13,14,15,16,
- 17,18,19,20,21,0,0,0,25,26,
- 0,0,0,0,0,0,0,0,0,0,
- 37,38,39,0,41,42,43,44,45,46,
- 47,0,49,50,51,52,53,54,55,0,
- 0,0,0,0,61,0,1,2,3,4,
+ 21,0,0,0,25,26,0,0,0,0,
+ 0,0,0,0,0,0,37,38,39,0,
+ 41,42,43,44,45,46,47,0,49,50,
+ 51,52,53,54,0,1,2,3,4,5,
+ 6,7,63,9,10,11,12,13,14,15,
+ 16,17,18,19,20,21,0,0,0,25,
+ 26,0,0,0,0,0,0,0,0,0,
+ 0,37,38,39,0,41,42,43,44,45,
+ 46,47,0,49,50,51,52,53,54,0,
+ 0,0,0,0,60,0,1,2,3,4,
5,6,7,0,9,10,11,12,13,14,
15,16,17,18,19,20,21,0,0,0,
25,26,0,0,0,0,0,0,0,0,
0,0,37,38,39,0,41,42,43,44,
45,46,47,0,49,50,51,52,53,54,
- 55,0,1,2,3,4,5,6,7,0,
- 9,10,11,12,13,14,15,16,17,18,
- 19,20,21,0,0,0,25,26,0,0,
- 0,0,0,0,0,0,0,0,37,38,
- 39,0,41,42,43,44,45,46,47,0,
- 49,50,51,52,53,54,55,0,1,2,
- 3,4,5,6,7,0,9,10,11,12,
- 13,14,15,16,17,18,19,20,21,0,
- 0,0,25,26,0,0,0,0,0,0,
- 0,0,0,0,37,38,39,0,41,42,
- 43,44,45,46,47,0,49,50,51,52,
- 53,54,55,0,1,2,0,4,0,0,
- 0,0,0,10,11,12,13,14,15,16,
- 17,18,19,20,21,22,23,24,0,0,
- 0,28,29,30,31,32,33,34,35,36,
- 0,0,0,40,0,0,0,0,0,0,
- 0,0,0,0,1,2,0,4,0,0,
- 57,58,59,10,11,12,13,14,15,16,
- 17,18,19,20,21,22,23,24,0,0,
- 0,28,29,30,31,32,33,34,35,36,
- 0,0,0,40,0,1,2,3,4,5,
- 6,7,8,9,0,0,0,0,0,0,
- 57,58,59,0,0,0,22,23,24,0,
- 0,27,28,29,30,31,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,64,0,
- 0,0,0,0,0,0,0,0,74,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0
+ 0,1,2,3,4,5,6,7,0,9,
+ 10,11,12,13,14,15,16,17,18,19,
+ 20,21,0,0,0,25,26,0,0,0,
+ 0,0,0,0,0,0,0,37,38,39,
+ 0,41,42,43,44,45,46,47,0,49,
+ 50,51,52,53,54,0,1,2,3,4,
+ 5,6,7,0,9,10,11,12,13,14,
+ 15,16,17,18,19,20,21,0,0,0,
+ 25,26,0,0,0,0,0,0,0,0,
+ 0,0,37,38,39,0,41,42,43,44,
+ 45,46,47,0,49,50,51,52,53,54,
+ 0,1,2,0,4,0,0,0,0,0,
+ 10,11,12,13,14,15,16,17,18,19,
+ 20,21,22,23,24,0,0,0,28,29,
+ 30,31,32,33,34,35,36,0,0,0,
+ 40,0,0,0,0,0,0,0,0,0,
+ 1,2,0,4,0,0,56,57,58,10,
+ 11,12,13,14,15,16,17,18,19,20,
+ 21,22,23,24,0,0,0,28,29,30,
+ 31,32,33,34,35,36,0,0,0,40,
+ 0,1,2,3,4,5,6,7,8,9,
+ 0,0,0,0,0,56,57,58,0,0,
+ 0,0,22,23,24,0,0,27,28,29,
+ 30,31,32,33,34,35,36,11,12,13,
+ 14,15,16,17,18,19,20,21,22,23,
+ 24,0,0,0,28,29,30,31,32,33,
+ 34,35,36,63,0,0,0,0,0,0,
+ 0,0,0,73,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0
};
};
public final static byte termCheck[] = TermCheck.termCheck;
@@ -1455,351 +1452,346 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface TermAction {
public final static char termAction[] = {0,
- 5392,5357,5336,5336,5336,5336,5336,5336,5373,5336,
+ 5391,5356,5335,5335,5335,5335,5335,5335,5372,5335,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,5360,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,5361,1,1,
+ 1,1,1,1,1,1,1,1,138,1,
+ 1,1,1,1,1,1,1,1,1,1806,
+ 1,5565,2694,114,3636,1,1,5402,39,3795,
+ 5391,5398,5429,4778,877,3887,3210,2203,2844,3770,
+ 3183,3884,1086,3850,3459,3848,10,5375,5375,5375,
+ 5375,5375,5375,5375,5375,5375,5375,5375,5375,5375,
+ 5375,5375,5375,5375,5375,5375,5375,5375,5375,5375,
+ 5375,5375,5375,5375,5375,5375,5375,5375,5375,5375,
+ 5375,5375,5375,5375,5375,5375,5375,5375,5375,5375,
+ 5375,5375,5375,5375,330,5375,5375,5375,5375,5375,
+ 5375,394,5375,5375,5375,5375,5375,5375,5375,2241,
+ 5375,5375,5375,5375,2571,3772,630,5375,383,5391,
+ 5375,5375,5375,5375,5375,5375,5375,5375,5375,5375,
+ 5375,5375,8,5378,5378,5378,5378,5378,5378,5378,
+ 5378,5378,5378,5378,5378,5378,5378,5378,5378,5378,
+ 5378,5378,5378,5378,5378,5378,5378,5378,5378,5378,
+ 5378,5378,5378,5378,5378,5378,5378,5378,5378,5378,
+ 5378,5378,5378,5378,5378,5378,5378,5378,5378,5378,
+ 5391,5378,5378,5378,5378,5378,5378,2714,5378,5378,
+ 5378,5378,5378,5378,5378,300,5378,5378,5378,5378,
+ 285,5128,5128,5378,282,5690,5378,5378,5378,5378,
+ 5378,5378,5378,5378,5378,5378,5378,5378,5391,5356,
+ 5335,5335,5335,5335,5335,5335,5363,5335,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,118,1,
- 1,1,1,1,1,1,135,1,1,1,
- 1807,1,5567,2695,115,3637,1,1,5403,1,
- 3796,331,5399,3748,2770,878,3888,3211,2204,2845,
- 3771,3184,3885,1087,3851,3460,3849,10,5376,5376,
- 5376,5376,5376,5376,5376,5376,5376,5376,5376,5376,
- 5376,5376,5376,5376,5376,5376,5376,5376,5376,5376,
- 5376,5376,5376,5376,5376,5376,5376,5376,5376,5376,
- 5376,5376,5376,5376,5376,5376,5376,5376,5376,5376,
- 5376,5376,5376,5376,5376,120,5376,5376,5376,5376,
- 5376,5376,5376,395,5376,5376,5376,5376,5376,5376,
- 5376,157,5376,5376,5376,5376,2325,3773,631,5376,
- 3748,2770,5376,5376,5376,5376,5376,5376,5376,5376,
- 5376,5376,5376,5376,8,5379,5379,5379,5379,5379,
- 5379,5379,5379,5379,5379,5379,5379,5379,5379,5379,
- 5379,5379,5379,5379,5379,5379,5379,5379,5379,5379,
- 5379,5379,5379,5379,5379,5379,5379,5379,5379,5379,
- 5379,5379,5379,5379,5379,5379,5379,5379,5379,5379,
- 5379,5379,1381,5379,5379,5379,5379,5379,5379,5379,
- 384,5379,5379,5379,5379,5379,5379,5379,515,5379,
- 5379,5379,5379,286,5129,5129,5379,283,5392,5379,
- 5379,5379,5379,5379,5379,5379,5379,5379,5379,5379,
- 5379,5392,5357,5336,5336,5336,5336,5336,5336,5364,
- 5336,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,5361,1,
+ 1,1,1,1,1,5360,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,884,
- 1,1,1,1,1,1,1,439,1,1,
- 1,1807,1,5567,2695,362,3637,1,1,5403,
- 5392,5031,5028,5392,5431,5392,878,3888,3211,2204,
- 2845,3771,3184,3885,1087,3851,3460,3849,5392,5357,
- 5336,5336,5336,5336,5336,5336,5364,5336,1,1,
+ 1,1,1,1,1,1,5391,1,1,1,
+ 1,1,1,438,1,1,1,1806,1,5565,
+ 2694,5391,3636,1,1,5402,5391,5030,5027,5399,
+ 5429,5391,877,3887,3210,2203,2844,3770,3183,3884,
+ 1086,3850,3459,3848,5391,5356,5335,5335,5335,5335,
+ 5335,5335,5363,5335,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,5361,1,1,1,1,
+ 1,5360,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,3821,1,1,1,
- 1,1,1,1,2715,1,1,1,1807,1,
- 5567,2695,117,3637,1,1,5403,111,3796,458,
- 5827,5828,5829,878,3888,3211,2204,2845,3771,3184,
- 3885,1087,3851,3460,3849,5392,5357,5336,5336,5336,
- 5336,5336,5336,5364,5336,1,1,1,1,1,
+ 1,1,5398,1,1,1,1,1,1,134,
+ 1,1,1,1806,1,5565,2694,116,3636,1,
+ 1,5402,110,3795,5391,5825,5826,5827,877,3887,
+ 3210,2203,2844,3770,3183,3884,1086,3850,3459,3848,
+ 5391,5356,5335,5335,5335,5335,5335,5335,5363,5335,
1,1,1,1,1,1,1,1,1,1,
- 1,1,5361,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,5360,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,5058,1,1,1,1,1,1,
- 1,136,1,1,1,1807,1,5567,2695,289,
- 3637,1,1,5403,40,3773,631,4238,5431,4260,
- 878,3888,3211,2204,2845,3771,3184,3885,1087,3851,
- 3460,3849,5392,5357,5336,5336,5336,5336,5336,5336,
- 5364,5336,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,5361,
+ 1,1,1,1,1,1,1,1,5391,1,
+ 1,1,1,1,1,135,1,1,1,1806,
+ 1,5565,2694,130,3636,1,1,5402,2324,3772,
+ 630,4237,594,4259,877,3887,3210,2203,2844,3770,
+ 3183,3884,1086,3850,3459,3848,5391,5356,5335,5335,
+ 5335,5335,5335,5335,5363,5335,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,5360,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1892,1,1,1,1,1,1,1,5392,1,
- 1,1,1807,1,5567,2695,116,3637,1,1,
- 5403,2325,3796,121,5392,5406,5407,878,3888,3211,
- 2204,2845,3771,3184,3885,1087,3851,3460,3849,5392,
- 5357,5336,5336,5336,5336,5336,5336,5364,5336,1,
+ 1,1,1,1,5391,1,1,1,1,1,
+ 1,5391,1,1,1,1806,1,5565,2694,115,
+ 3636,1,1,5402,2324,3795,120,5391,5405,5406,
+ 877,3887,3210,2203,2844,3770,3183,3884,1086,3850,
+ 3459,3848,5391,5356,5335,5335,5335,5335,5335,5335,
+ 5363,5335,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,5360,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,5361,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,5392,1,1,
- 1,1,1,1,1,5392,1,1,1,1807,
- 1,5567,2695,5392,3637,1,1,5403,2925,3773,
- 631,3135,3161,5392,878,3888,3211,2204,2845,3771,
- 3184,3885,1087,3851,3460,3849,5392,5357,5336,5336,
- 5336,5336,5336,5336,5364,5336,1,1,1,1,
+ 5391,1,1,1,1,1,1,5391,1,1,
+ 1,1806,1,5565,2694,5391,3636,1,1,5402,
+ 2924,3772,630,3134,3160,5391,877,3887,3210,2203,
+ 2844,3770,3183,3884,1086,3850,3459,3848,5391,5356,
+ 5335,5335,5335,5335,5335,5335,5363,5335,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,5361,1,1,1,1,1,1,
+ 1,1,1,1,1,5360,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,5392,1,1,1,1,1,
- 1,1,2766,1,1,1,1807,1,5567,2695,
- 131,3637,1,1,5403,5392,5406,5407,426,595,
- 2925,878,3888,3211,2204,2845,3771,3184,3885,1087,
- 3851,3460,3849,5392,5357,5336,5336,5336,5336,5336,
- 5336,5364,5336,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,335,1,1,1,
+ 1,1,1,2765,1,1,1,1806,1,5565,
+ 2694,5391,3636,1,1,5402,5391,5405,5406,5727,
+ 5728,2924,877,3887,3210,2203,2844,3770,3183,3884,
+ 1086,3850,3459,3848,5391,5356,5335,5335,5335,5335,
+ 5335,5335,5363,5335,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 5361,1,1,1,1,1,1,1,1,1,
+ 1,5360,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,5392,1,1,1,1,1,1,1,3476,
- 1,1,1,1807,1,5567,2695,301,3637,1,
- 1,5403,5392,5031,5028,5392,5431,5692,878,3888,
- 3211,2204,2845,3771,3184,3885,1087,3851,3460,3849,
- 5392,5357,5336,5336,5336,5336,5336,5336,5364,5336,
+ 1,1,5391,1,1,1,1,1,1,5391,
+ 1,1,1,1806,1,5565,2694,1,3636,1,
+ 1,5402,5391,5030,5027,5353,5429,5391,877,3887,
+ 3210,2203,2844,3770,3183,3884,1086,3850,3459,3848,
+ 5391,5356,5335,5335,5335,5335,5335,5335,5363,5335,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,5361,1,1,
+ 1,1,1,1,1,1,1,5360,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,5392,1,
- 1,1,1,1,1,1,137,1,1,1,
- 1807,1,5567,2695,5392,3637,1,1,5403,5392,
- 5215,5212,49,5215,5212,878,3888,3211,2204,2845,
- 3771,3184,3885,1087,3851,3460,3849,5392,5357,5336,
- 5336,5336,5336,5336,5336,5364,5336,1,1,1,
+ 1,1,1,1,1,1,1,1,5398,1,
+ 1,1,1,1,1,2773,1,1,1,1806,
+ 1,5565,2694,5391,3636,1,1,5402,5391,5214,
+ 5211,48,5214,5211,877,3887,3210,2203,2844,3770,
+ 3183,3884,1086,3850,3459,3848,5391,5356,5335,5335,
+ 5335,5335,5335,5335,5363,5335,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,5361,1,1,1,1,1,
+ 1,1,1,5360,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,119,1,1,1,1,
- 1,1,1,5392,1,1,1,1807,1,5567,
- 2695,5392,3637,1,1,5403,114,2292,5392,5396,
- 3748,2770,878,3888,3211,2204,2845,3771,3184,3885,
- 1087,3851,3460,3849,5392,3777,1,1,1,1,
- 1,1,3846,1,1,1,1,1,1,1,
+ 1,1,1,1,5391,1,1,1,1,1,
+ 1,5391,1,1,1,1806,1,5565,2694,5391,
+ 3636,1,1,5402,113,5391,91,5395,3619,5063,
+ 877,3887,3210,2203,2844,3770,3183,3884,1086,3850,
+ 3459,3848,5391,3776,1,1,1,1,1,1,
+ 3845,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,5400,
1,1,1,1,1,1,1,1,1,1,
- 1,5401,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,133,1,1,1,1,1,1,1,
- 5392,1,1,1,1807,1,5567,2695,5392,3637,
- 1,1,5403,5392,1630,5392,4238,5721,4260,878,
- 3888,3211,2204,2845,3771,3184,3885,1087,3851,3460,
- 3849,40,5031,5028,1138,736,4053,4128,3014,5395,
- 4150,796,5656,5654,5663,5662,5658,5659,5657,5660,
- 5661,5664,5655,5652,5729,5730,4106,4084,134,5646,
- 5653,5649,5625,5651,5650,5647,5648,5626,4194,4172,
- 5412,5790,4023,618,730,5414,666,3108,681,5392,
- 5415,5413,594,5408,5410,5411,5409,5392,672,5791,
- 5792,2357,1337,5392,5267,5267,229,5263,229,229,
- 229,5271,229,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,5392,3939,
- 229,1,1,1,1,1,1,1,1,1,
- 5392,5031,5028,1,736,627,5027,3014,5392,224,
- 5392,5260,1,5119,5115,4471,5123,627,2774,3014,
- 1,1,1,2643,225,5804,1272,2357,5392,5406,
- 5407,5652,5729,5730,5392,416,229,5646,5653,5649,
- 5625,5651,5650,5647,5648,5626,5652,5729,5730,129,
- 5892,5392,5646,5653,5649,5625,5651,5650,5647,5648,
- 5626,397,5406,5407,3217,113,5827,5828,5829,5392,
- 5267,5267,229,5263,229,229,229,5315,229,1,
+ 5391,1,1,1,1,1,1,5391,1,1,
+ 1,1806,1,5565,2694,5391,3636,1,1,5402,
+ 5391,1629,5391,4237,5719,4259,877,3887,3210,2203,
+ 2844,3770,3183,3884,1086,3850,3459,3848,39,5030,
+ 5027,1137,735,4052,4127,3013,5394,4149,795,5654,
+ 5652,5661,5660,5656,5657,5655,5658,5659,5662,5653,
+ 5650,5727,5728,4105,4083,136,5644,5651,5647,5623,
+ 5649,5648,5645,5646,5624,4193,4171,5410,5788,4022,
+ 617,729,5412,665,3107,680,5391,5413,5411,593,
+ 5407,5408,5409,5391,671,5789,5790,793,1336,5391,
+ 5266,5266,228,5262,228,228,228,5270,228,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,4216,1009,229,1,1,1,
- 1,1,1,1,1,1,5392,5031,5028,1,
- 736,627,34,3014,1,5070,5392,5260,5070,5392,
- 5070,5070,161,794,5402,5392,1,1,1,2643,
- 226,5804,1272,5398,37,5289,5286,5070,5070,5070,
- 5392,415,229,5401,2541,5392,2474,2401,4779,5070,
- 5070,5392,5652,5729,5730,4238,5892,4260,5646,5653,
- 5649,5625,5651,5650,5647,5648,5626,5392,5070,5392,
- 5215,5212,5827,5828,5829,5398,5070,290,5406,5407,
- 5392,5070,5070,5070,5070,5070,5070,3916,161,367,
- 5119,5115,2553,5123,627,1,3014,5392,1,5397,
- 5070,5070,5070,5070,5070,5070,5070,5070,5070,5070,
- 5070,5070,5070,5070,5070,5392,8804,8804,5070,5070,
- 5070,5070,5070,5070,5070,5070,5070,5070,5070,5070,
- 5070,5392,5070,5070,5073,4216,1009,5073,3561,5073,
- 5073,5397,457,30,387,387,5242,387,387,5242,
- 387,5242,5242,1897,5392,132,5073,5073,5073,1190,
- 5392,8478,8410,5429,595,387,387,387,5073,5073,
- 5242,387,387,387,387,387,387,387,387,387,
- 5392,1,5119,5115,5306,5123,5312,5073,5309,5402,
- 125,39,5049,5046,5392,5073,5043,5392,3014,5034,
- 5073,5073,5073,5073,5073,5073,5061,5242,5401,309,
- 5119,5115,4471,5123,627,5327,3014,5242,5327,5073,
- 5073,5073,5073,5073,5073,5073,5073,5073,5073,5073,
- 5073,5073,5073,5073,5392,124,3271,5073,5073,5073,
- 5073,5073,5073,5073,5073,5073,5073,5073,5073,5073,
- 3314,5073,5073,5392,5336,5336,229,5336,229,229,
- 229,5339,229,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,3135,3161,
- 229,1,1,8815,1,1,1,1,1,1,
- 5392,5031,5028,1,736,5076,5392,3014,227,3620,
- 5392,5333,1,5119,5115,2553,5123,627,139,3014,
- 1,1,1,2812,92,5603,2695,5064,3637,38,
- 5652,5729,5730,3135,3161,220,5646,5653,5649,5625,
- 5651,5650,5647,5648,5626,5392,8478,8410,942,5392,
- 5892,5392,5336,5336,229,5336,229,229,229,229,
- 229,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1897,5429,229,1,
- 1,8815,1,1,1,1,1,1,1854,48,
- 5392,1,130,331,5031,5028,4471,736,627,5333,
- 3014,112,138,1,1,3325,3379,3434,1,1,
- 1,2812,363,5603,2695,532,3637,5392,5031,5028,
- 2242,736,5076,5392,3014,2572,1811,1768,1725,1682,
- 1639,1596,1553,1510,1467,1424,348,2459,5892,5392,
- 5336,5336,229,5336,229,229,229,5342,229,1,
+ 1,1,1,1,5391,3938,228,1,1,1,
+ 1,1,1,1,1,1,5391,5030,5027,1,
+ 735,5075,124,3013,223,132,5391,5259,393,5125,
+ 5125,5391,282,5391,2855,1,1,1,2642,224,
+ 5802,1271,396,5405,5406,2291,5650,5727,5728,357,
+ 415,228,5644,5651,5647,5623,5649,5648,5645,5646,
+ 5624,5650,5727,5728,941,5890,5391,5644,5651,5647,
+ 5623,5649,5648,5645,5646,5624,282,5391,5391,8787,
+ 8787,5825,5826,5827,5391,5266,5266,228,5262,228,
+ 228,228,5314,228,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,3134,
+ 3160,228,1,1,1,1,1,1,1,1,
+ 1,3216,33,2356,1,5069,5427,5391,5069,5391,
+ 5069,5069,5259,37,5250,5250,8,5403,5250,5747,
+ 1,1,1,2642,5388,5802,1271,5069,5069,5069,
+ 43,5220,5220,1,128,414,228,5391,5391,5069,
+ 5069,160,344,5030,5027,2552,735,626,330,3013,
+ 5890,330,5391,5391,1,5256,5256,5069,5253,5391,
+ 330,3007,362,330,123,5069,5825,5826,5827,1,
+ 5069,5069,5069,5069,5069,5069,5402,5026,5217,366,
+ 5118,5114,2552,5122,626,1,3013,5388,1,5069,
+ 5069,5069,5069,5069,5069,5069,5069,5069,5069,5069,
+ 5069,5069,5069,5069,5391,1896,160,5069,5069,5069,
+ 5069,5069,5069,5069,5069,5069,5069,5069,5069,5069,
+ 5391,5069,5069,5072,117,1934,5072,362,5072,5072,
+ 2473,2400,29,386,386,5241,386,386,5241,386,
+ 5241,5241,1896,3406,362,5072,5072,5072,1189,3747,
+ 2769,3134,3160,5391,386,386,386,5072,5072,5241,
+ 386,386,386,386,386,386,386,386,386,1,
+ 5118,5114,5305,5122,5311,5072,5308,5401,5391,38,
+ 5048,5045,1,5072,5042,3378,3013,5033,5072,5072,
+ 5072,5072,5072,5072,5391,5241,5400,308,5118,5114,
+ 4470,5122,626,5326,3013,5241,5326,5072,5072,5072,
+ 5072,5072,5072,5072,5072,5072,5072,5072,5072,5072,
+ 5072,5072,36,5288,5285,5072,5072,5072,5072,5072,
+ 5072,5072,5072,5072,5072,5072,5072,5072,122,5072,
+ 5072,5391,5335,5335,228,5335,228,228,228,5338,
+ 228,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,5791,5391,228,1,
+ 1,8705,1,1,1,1,1,1,443,1,
+ 1,1,1,5391,5054,225,39,5054,5391,5332,
+ 5429,5401,330,5391,121,330,138,1,1,1,
+ 2811,5397,5601,2694,457,3636,456,5650,5727,5728,
+ 5400,5391,219,5644,5651,5647,5623,5649,5648,5645,
+ 5646,5624,289,5405,5406,3134,3160,5890,5391,5335,
+ 5335,228,5335,228,228,228,228,228,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,123,1276,229,1,1,8815,
- 1,1,1,1,1,1,3708,237,363,1,
- 5236,1,5119,5115,5306,5123,5312,5333,5309,2474,
- 2401,4238,4417,4260,3191,363,1,1,1,2812,
- 1897,5603,2695,2292,3637,1,5119,5115,2553,5123,
- 627,219,3014,5230,5392,5392,5119,5115,4471,5123,
- 627,5327,3014,5392,5327,5392,5892,5392,5336,5336,
- 229,5336,229,229,229,5339,229,1,1,1,
+ 1,1,1,3915,5391,228,1,1,8705,1,
+ 1,1,1,1,1,1853,5396,5057,1,5060,
+ 1,5118,5114,4470,5122,626,5332,3013,112,111,
+ 133,3134,3160,3433,1,1,1,2811,129,5601,
+ 2694,131,3636,3456,5391,5030,5027,2241,735,626,
+ 594,3013,2571,1810,1767,1724,1681,1638,1595,1552,
+ 1509,1466,1423,5391,5890,5391,5335,5335,228,5335,
+ 228,228,228,5341,228,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,3135,3161,229,1,1,8815,1,1,
- 1,1,1,1,444,1,1,1,1,1897,
- 5055,5392,5392,5055,139,5333,5392,5406,5407,5233,
- 5404,627,5392,3014,1,1,1,2812,2028,5603,
- 2695,5392,3637,394,5126,5126,1935,283,358,220,
- 345,5031,5028,2553,736,627,331,3014,5392,331,
- 5392,44,5221,5221,5892,5392,5336,5336,229,5336,
- 229,229,229,5339,229,1,1,1,1,1,
+ 531,5391,228,1,1,8705,1,1,1,1,
+ 1,1,444,39,39,1,5429,5391,5244,226,
+ 5391,5244,137,5332,2540,5399,5391,4237,4237,4259,
+ 4259,1,1,1,2811,1,5601,2694,2356,3636,
+ 5391,5650,5727,5728,2473,2400,218,5644,5651,5647,
+ 5623,5649,5648,5645,5646,5624,3270,37,5250,5250,
+ 3707,5890,5391,5335,5335,228,5335,228,228,228,
+ 5338,228,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1004,5398,228,
+ 1,1,8705,1,1,1,1,1,1,5391,
+ 5030,5027,1,735,5075,3090,3013,92,1,1,
+ 5332,1,346,5247,236,1586,5247,5235,1,1,
+ 1,2811,2291,5601,2694,5749,3636,1,5118,5114,
+ 2552,5122,626,219,3013,5229,5391,5391,5118,5114,
+ 4470,5122,626,5326,3013,369,5326,1275,5890,5391,
+ 5335,5335,228,5335,228,228,228,5338,228,1,
1,1,1,1,1,1,1,1,1,1,
- 5403,283,229,1,1,8815,1,1,1,1,
- 1,1,445,40,40,1,5431,5392,5245,5218,
- 2856,5245,40,5333,1897,5400,5431,5392,331,122,
- 3212,331,1,1,1,2812,2242,5603,2695,5904,
- 3637,2572,1,5257,5257,1,5254,220,331,5749,
- 363,331,5392,5398,1,5119,5115,4471,5123,627,
- 5400,3014,5892,5392,5336,5336,229,5336,229,229,
- 229,229,229,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1005,5399,
- 229,1,1,8815,1,1,1,1,1,1,
- 38,5251,5251,1,5392,1,5119,5115,4471,5123,
- 627,5333,3014,309,5392,5392,363,3135,3161,5397,
- 1,1,1,2812,5399,5603,2695,2028,3637,5392,
- 5277,5274,309,363,345,40,40,2434,5431,347,
- 331,318,1587,331,5324,46,5283,5283,3091,5392,
- 5892,5392,5336,5336,229,5336,229,229,229,229,
- 229,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,5392,5429,229,1,
- 1,8815,1,1,1,1,1,1,93,1,
- 1,1,1,5280,5248,5392,5392,5248,1897,5333,
- 1,5392,40,1897,336,1897,5431,2618,1,1,
- 1,2812,1,5603,2695,2434,3637,96,40,40,
- 341,5431,30,5318,946,3990,5318,5729,5730,1,
- 311,5392,2434,3244,5392,5296,5292,5230,5892,5392,
- 5336,5336,229,5336,229,229,229,229,229,1,
+ 1,1,1,1,5391,1896,228,1,1,8705,
+ 1,1,1,1,1,1,5391,5276,5273,1,
+ 1896,1,5118,5114,4470,5122,626,5332,3013,308,
+ 5232,5391,8614,8376,119,1,1,1,2811,2027,
+ 5601,2694,5391,3636,1232,5391,5405,5406,308,5391,
+ 219,156,344,39,39,2433,5429,347,330,3747,
+ 2769,330,5391,5391,5427,5890,5391,5335,5335,228,
+ 5335,228,228,228,228,228,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,5833,5847,229,1,1,8815,
- 1,1,1,1,1,1,1897,1,566,1,
- 5392,341,5429,341,396,5351,341,5333,387,5392,
- 40,5751,3266,1897,5431,424,1,1,1,2812,
- 1095,5603,2695,5233,3637,5827,5828,5829,5392,5406,
- 5407,395,3427,370,76,388,5404,3621,5392,1,
- 1,1,1,1,1,1,5892,1,1,1,
+ 1,118,5391,228,1,1,8705,1,1,1,
+ 1,1,1,95,39,39,1,5429,5391,5317,
+ 4215,1008,5317,374,5332,1896,3747,2769,404,300,
+ 1896,1380,1,1,1,2811,5299,5601,2694,5690,
+ 3636,1,5118,5114,4470,5122,626,5391,3013,1,
+ 5118,5114,2552,5122,626,5302,3013,3313,45,5282,
+ 5282,5391,5890,5391,5335,5335,228,5335,228,228,
+ 228,228,228,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,3348,5391,
+ 228,1,1,8705,1,1,1,1,1,1,
+ 3024,39,5391,1,5391,5429,5279,3211,5391,5405,
+ 5406,5332,1896,2027,394,4416,5403,3190,387,1,
+ 1,1,2811,945,5601,2694,1,3636,310,2433,
+ 317,3243,5391,5323,340,330,5030,5027,4470,735,
+ 626,3938,3013,5391,5295,5291,5391,8614,8376,5890,
+ 5391,5335,5335,228,5335,228,228,228,228,228,
1,1,1,1,1,1,1,1,1,1,
- 566,1,5392,1,1,5403,5392,5277,5274,5354,
- 405,5455,5456,126,30,1,1,1,5300,1,
- 1,1,1,1,1,1,5392,1,1,1,
- 1,1,1,1,5392,5392,5403,5303,1979,1,
- 5928,3457,5392,1233,1,1,1,5119,5115,1138,
- 5123,4053,4128,3014,5429,4150,5079,5106,5112,5085,
- 5088,5100,5097,5103,5094,5091,5082,5109,375,2815,
- 5034,4106,4084,5399,5392,5392,5392,3701,5392,3824,
- 580,4315,5052,4194,4172,5412,5392,4023,618,730,
- 5414,666,3108,681,668,5415,5413,594,5408,5410,
- 5411,5409,5392,8,38,5251,5251,1337,2716,2650,
- 331,5389,40,40,101,516,40,5031,5028,1138,
- 736,4053,4128,3014,5386,4150,864,5656,5654,5663,
- 5662,5658,5659,5657,5660,5661,5664,5655,38,5251,
- 5251,4106,4084,5251,3981,5392,3191,5392,4316,38,
- 5251,5251,5429,4194,4172,5412,128,4023,618,730,
- 5414,666,3108,681,440,5415,5413,594,5408,5410,
- 5411,5409,1,1,1,5389,104,1337,3835,4317,
- 528,49,163,5345,5370,5407,3008,3939,5399,141,
- 5031,5028,1138,736,4053,4128,3014,5429,4150,864,
- 5656,5654,5663,5662,5658,5659,5657,5660,5661,5664,
- 5655,5392,2815,5348,4106,4084,4304,100,5392,301,
- 5037,3697,1686,320,127,5224,4194,4172,5412,5692,
- 4023,618,730,5414,666,3108,681,5407,5415,5413,
- 594,5408,5410,5411,5409,368,528,1,163,49,
- 1337,2716,2650,5406,5392,40,40,1,5119,5115,
- 1138,5123,4053,4128,3014,454,4150,5079,5106,5112,
- 5085,5088,5100,5097,5103,5094,5091,5082,5109,3349,
- 2815,1049,4106,4084,5793,5392,5392,1897,2895,5392,
- 1815,387,5392,5227,4194,4172,5412,5402,4023,618,
- 730,5414,666,3108,681,5406,5415,5413,594,5408,
- 5410,5411,5409,5392,428,1294,5401,5392,1337,2716,
- 2650,5040,3407,40,40,40,5031,5028,1138,736,
- 4053,4128,3014,5367,4150,864,5656,5654,5663,5662,
- 5658,5659,5657,5660,5661,5664,5655,5067,566,5392,
- 4106,4084,291,278,448,5392,5330,1,5392,1,
- 395,3435,4194,4172,5412,5402,4023,618,730,5414,
- 666,3108,681,3434,5415,5413,594,5408,5410,5411,
- 5409,1,420,449,5401,5392,1337,2844,3655,36,
- 5392,5345,521,5370,40,5031,5028,1138,736,4053,
- 4128,3014,5367,4150,864,5656,5654,5663,5662,5658,
- 5659,5657,5660,5661,5664,5655,566,5392,5392,4106,
- 4084,5348,2066,308,5392,508,1,922,2116,3697,
- 74,4194,4172,5412,191,4023,618,730,5414,666,
- 3108,681,5392,5415,5413,594,5408,5410,5411,5409,
- 3858,5392,2154,191,2453,1337,3025,5392,5392,3576,
- 4329,4827,5370,40,5031,5028,1138,736,4053,4128,
- 3014,5396,4150,864,5656,5654,5663,5662,5658,5659,
- 5657,5660,5661,5664,5655,5392,5321,5392,4106,4084,
- 4591,3238,5392,5392,2799,3422,4838,506,3205,185,
- 4194,4172,5412,5392,4023,618,730,5414,666,3108,
- 681,3939,5415,5413,594,5408,5410,5411,5409,40,
- 5031,5028,1138,736,4053,4128,3014,5392,4150,864,
- 5656,5654,5663,5662,5658,5659,5657,5660,5661,5664,
- 5655,3822,5392,5392,4106,4084,2673,5392,5392,5392,
- 4851,3850,5392,5392,5392,3962,4194,4172,5412,510,
- 4023,618,730,5414,666,3108,681,3433,5415,5413,
- 594,5408,5410,5411,5409,2,3292,5392,223,1,
- 1337,5395,560,5392,5861,5855,1,5392,5859,5656,
- 5654,5663,5662,5658,5659,5657,5660,5661,5664,5655,
- 5652,5729,5730,5392,5853,5854,5646,5653,5649,5625,
- 5651,5650,5647,5648,5626,3346,5884,5885,5392,3576,
- 5862,5383,5392,2685,1985,3616,5392,5392,5392,808,
- 5392,38,5392,5392,5392,5864,5392,5392,5392,5392,
- 5392,5392,5392,740,5392,1514,1557,5392,5865,5863,
- 5886,5392,5392,5392,5392,5392,5392,5392,5392,5392,
- 5392,5392,5392,5392,5392,5392,5392,5875,5874,5887,
- 5392,5392,5856,5857,5880,5881,5878,5879,5858,5860,
- 5882,5883,5392,5392,5392,5888,5392,5868,5869,5870,
- 5866,5867,5876,5877,5872,5871,5873,40,5031,5028,
- 1138,736,4053,4128,3014,5392,4150,864,5656,5654,
- 5663,5662,5658,5659,5657,5660,5661,5664,5655,5392,
- 5392,5392,4106,4084,5392,5392,5392,5392,5392,5392,
- 5392,5392,5392,5392,4194,4172,5412,5392,4023,618,
- 730,5414,666,3108,681,5392,5415,5413,594,5408,
- 5410,5411,5409,40,5031,5028,1138,736,4053,4128,
- 3014,2062,4150,864,5656,5654,5663,5662,5658,5659,
- 5657,5660,5661,5664,5655,5392,5392,5392,4106,4084,
- 5392,5392,5392,5392,5392,5392,5392,5392,5392,5392,
- 4194,4172,5412,5392,4023,618,730,5414,666,3108,
- 681,5392,5415,5413,594,5408,5410,5411,5409,5392,
- 5392,5392,5392,5392,1337,40,5031,5028,4784,736,
- 4053,4128,3014,5392,4150,864,5656,5654,5663,5662,
- 5658,5659,5657,5660,5661,5664,5655,5392,5392,5392,
- 4106,4084,5392,5392,5392,5392,5392,5392,5392,5392,
- 5392,5392,4194,4172,5412,5392,4023,618,730,5414,
- 666,3108,681,5392,5415,5413,594,5408,5410,5411,
- 5409,40,5031,5028,1138,736,4053,4128,3014,5392,
- 4150,864,5656,5654,5663,5662,5658,5659,5657,5660,
- 5661,5664,5655,5392,5392,5392,4106,4084,5392,5392,
- 5392,5392,5392,5392,5392,5392,5392,5392,4194,4172,
- 5412,5392,4023,618,730,5414,666,3108,681,5392,
- 5415,5413,594,5408,5410,5411,5409,40,5031,5028,
- 1138,736,4053,4128,3014,5392,4150,864,5656,5654,
- 5663,5662,5658,5659,5657,5660,5661,5664,5655,5392,
- 5392,5392,4106,4084,5392,5392,5392,5392,5392,5392,
- 5392,5392,5392,5392,4194,4172,5412,5392,4023,618,
- 730,5414,666,3108,681,5392,5415,5413,594,5408,
- 5410,5411,5409,5392,5031,5028,5392,5431,5392,5392,
- 5392,5392,5392,786,5656,5654,5663,5662,5658,5659,
- 5657,5660,5661,5664,5655,5652,5729,5730,5392,5392,
- 5392,5646,5653,5649,5625,5651,5650,5647,5648,5626,
- 5392,5392,5392,5790,5392,5392,5392,5392,5392,5392,
- 5392,5392,5392,241,5205,5201,5392,5209,5392,5392,
- 672,5791,5792,786,5192,5198,5171,5174,5186,5183,
- 5189,5180,5177,5168,5195,5147,5141,5138,5392,5392,
- 5392,5165,5144,5156,5135,5150,5153,5162,5159,5132,
- 5392,5392,5392,5790,33,388,388,5239,388,388,
- 5239,388,5239,5239,5392,5392,5392,5392,5392,5392,
- 672,5791,5792,5392,5392,5392,388,388,388,5392,
- 5392,5239,388,388,388,388,388,388,388,388,
- 388,5392,5392,5392,5392,5392,5392,5392,5392,5392,
- 5392,5392,5392,5392,5392,5392,5392,5392,5392,5392,
- 5392,5392,5392,5392,5392,5392,5392,5392,5239,5392,
- 5392,5392,5392,5392,5392,5392,5392,5392,5239
+ 1,1,1,1,1,5402,5391,228,1,1,
+ 8705,1,1,1,1,1,1,1,39,1896,
+ 1,5427,5429,1896,340,5397,340,1094,5332,340,
+ 3980,5391,3190,5825,5826,5827,1,1,1,2811,
+ 3426,5601,2694,1,3636,1,5118,5114,5305,5122,
+ 5311,362,5308,5391,75,5391,3265,3620,5391,1,
+ 1,1,1,1,1,1,5890,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 5391,5405,5406,1,1,626,3324,3013,5391,100,
+ 5396,5453,5454,125,395,1,1,1,386,1,
+ 1,1,1,1,1,1,5391,1,1,1,
+ 1,1,1,514,361,5391,362,1978,1,5926,
+ 5391,2617,5391,1,1,1,5118,5114,1137,5122,
+ 4052,4127,3013,362,4149,5078,5105,5111,5084,5087,
+ 5099,5096,5102,5093,5090,5081,5108,5391,2814,565,
+ 4105,4083,3834,5391,5030,5027,5902,735,626,579,
+ 3013,5051,4193,4171,5410,5391,4022,617,729,5412,
+ 665,3107,680,667,5413,5411,593,5407,5408,5409,
+ 37,5250,5250,883,3820,1336,330,2715,2649,5391,
+ 39,39,3700,515,39,5030,5027,1137,735,4052,
+ 4127,3013,5385,4149,863,5654,5652,5661,5660,5656,
+ 5657,5655,5658,5659,5662,5653,5391,5276,5273,4105,
+ 4083,1,1,5391,5391,5391,37,3823,5427,5350,
+ 527,4193,4171,5410,127,4022,617,729,5412,665,
+ 3107,680,5391,5413,5411,593,5407,5408,5409,37,
+ 5250,5250,1,5391,1336,5391,5391,5214,5211,48,
+ 162,5369,5391,5406,5427,5398,140,5030,5027,1137,
+ 735,4052,4127,3013,5427,4149,863,5654,5652,5661,
+ 5660,5656,5657,5655,5658,5659,5662,5653,5402,2814,
+ 5391,4105,4083,1,99,527,2433,5427,5397,319,
+ 126,5229,5223,4193,4171,5410,5391,4022,617,729,
+ 5412,665,3107,680,5406,5413,5411,593,5407,5408,
+ 5409,4215,1008,5831,5391,162,1336,4314,2715,2649,
+ 5845,39,39,1,5118,5114,1137,5122,4052,4127,
+ 3013,29,4149,5078,5105,5111,5084,5087,5099,5096,
+ 5102,5093,5090,5081,5108,2814,1896,1048,4105,4083,
+ 3560,5391,1896,5396,367,1,5232,439,5226,5401,
+ 4193,4171,5410,5401,4022,617,729,5412,665,3107,
+ 680,47,5413,5411,593,5407,5408,5409,5400,5391,
+ 5391,427,5400,1336,2715,2649,5033,5391,39,39,
+ 39,5030,5027,1137,735,4052,4127,3013,5366,4149,
+ 863,5654,5652,5661,5660,5656,5657,5655,5658,5659,
+ 5662,5653,5036,5391,5391,4105,4083,4315,103,2458,
+ 5391,4316,1,1293,1685,453,29,4193,4171,5410,
+ 190,4022,617,729,5412,665,3107,680,5391,5413,
+ 5411,593,5407,5408,5409,1,1,4303,5391,190,
+ 1336,386,1814,2843,184,5344,5344,5369,39,5030,
+ 5027,1137,735,4052,4127,3013,5366,4149,863,5654,
+ 5652,5661,5660,5656,5657,5655,5658,5659,5662,5653,
+ 5039,565,5391,4105,4083,5347,5347,48,5391,394,
+ 5391,5405,73,3696,3696,4193,4171,5410,423,4022,
+ 617,729,5412,665,3107,680,5066,5413,5411,593,
+ 5407,5408,5409,5391,1,447,290,559,1336,5859,
+ 5853,5391,288,5857,2894,5369,277,5391,419,5329,
+ 5391,35,5391,3654,425,5391,507,565,3434,5851,
+ 5852,520,5405,3433,565,5391,448,5320,4328,505,
+ 5391,5882,5883,4826,5391,5860,5391,4590,5391,4837,
+ 5391,2672,5391,4850,1,3849,5391,5391,3204,5862,
+ 3961,5391,2684,5391,5391,5382,5391,739,1,1513,
+ 1556,5391,5863,5861,5884,2065,5391,921,307,5391,
+ 3821,5391,1891,5391,5391,509,5391,2153,5391,2115,
+ 3575,5873,5872,5885,3475,3421,5854,5855,5878,5879,
+ 5876,5877,5856,5858,5880,5881,2452,3615,3432,5886,
+ 5391,5866,5867,5868,5864,5865,5874,5875,5870,5869,
+ 5871,39,5030,5027,1137,735,4052,4127,3013,5395,
+ 4149,863,5654,5652,5661,5660,5656,5657,5655,5658,
+ 5659,5662,5653,3237,3857,3575,4105,4083,2798,3938,
+ 2,3291,1984,3345,807,5391,5391,5391,4193,4171,
+ 5410,3989,4022,617,729,5412,665,3107,680,5391,
+ 5413,5411,593,5407,5408,5409,39,5030,5027,1137,
+ 735,4052,4127,3013,5391,4149,863,5654,5652,5661,
+ 5660,5656,5657,5655,5658,5659,5662,5653,5391,5391,
+ 5391,4105,4083,5391,5391,37,5391,5391,5391,5391,
+ 5391,5391,5391,4193,4171,5410,5391,4022,617,729,
+ 5412,665,3107,680,5391,5413,5411,593,5407,5408,
+ 5409,5391,5391,5391,5391,5391,1336,5391,5394,39,
+ 5030,5027,1137,735,4052,4127,3013,5391,4149,863,
+ 5654,5652,5661,5660,5656,5657,5655,5658,5659,5662,
+ 5653,5391,5391,5391,4105,4083,5391,5391,5391,5391,
+ 5391,5391,5391,5391,5391,5391,4193,4171,5410,5391,
+ 4022,617,729,5412,665,3107,680,5391,5413,5411,
+ 593,5407,5408,5409,39,5030,5027,1137,735,4052,
+ 4127,3013,2061,4149,863,5654,5652,5661,5660,5656,
+ 5657,5655,5658,5659,5662,5653,5391,5391,5391,4105,
+ 4083,5391,5391,5391,5391,5391,5391,5391,5391,5391,
+ 5391,4193,4171,5410,5391,4022,617,729,5412,665,
+ 3107,680,5391,5413,5411,593,5407,5408,5409,5391,
+ 5391,5391,5391,5391,1336,39,5030,5027,4783,735,
+ 4052,4127,3013,5391,4149,863,5654,5652,5661,5660,
+ 5656,5657,5655,5658,5659,5662,5653,5391,5391,5391,
+ 4105,4083,5391,5391,5391,5391,5391,5391,5391,5391,
+ 5391,5391,4193,4171,5410,5391,4022,617,729,5412,
+ 665,3107,680,5391,5413,5411,593,5407,5408,5409,
+ 39,5030,5027,1137,735,4052,4127,3013,5391,4149,
+ 863,5654,5652,5661,5660,5656,5657,5655,5658,5659,
+ 5662,5653,5391,5391,5391,4105,4083,5391,5391,5391,
+ 5391,5391,5391,5391,5391,5391,5391,4193,4171,5410,
+ 5391,4022,617,729,5412,665,3107,680,5391,5413,
+ 5411,593,5407,5408,5409,39,5030,5027,1137,735,
+ 4052,4127,3013,5391,4149,863,5654,5652,5661,5660,
+ 5656,5657,5655,5658,5659,5662,5653,5391,5391,5391,
+ 4105,4083,5391,5391,5391,5391,5391,5391,5391,5391,
+ 5391,5391,4193,4171,5410,5391,4022,617,729,5412,
+ 665,3107,680,5391,5413,5411,593,5407,5408,5409,
+ 5391,5030,5027,5391,5429,5391,5391,5391,5391,5391,
+ 785,5654,5652,5661,5660,5656,5657,5655,5658,5659,
+ 5662,5653,5650,5727,5728,5391,5391,5391,5644,5651,
+ 5647,5623,5649,5648,5645,5646,5624,5391,5391,5391,
+ 5788,5391,5391,5391,5391,5391,5391,5391,5391,240,
+ 5204,5200,5391,5208,5391,5391,671,5789,5790,785,
+ 5191,5197,5170,5173,5185,5182,5188,5179,5176,5167,
+ 5194,5146,5140,5137,5391,5391,5391,5164,5143,5155,
+ 5134,5149,5152,5161,5158,5131,5391,5391,5391,5788,
+ 32,387,387,5238,387,387,5238,387,5238,5238,
+ 5391,5391,5391,5391,5391,671,5789,5790,5391,5391,
+ 5391,5391,387,387,387,5391,222,5238,387,387,
+ 387,387,387,387,387,387,387,5654,5652,5661,
+ 5660,5656,5657,5655,5658,5659,5662,5653,5650,5727,
+ 5728,5391,5391,5391,5644,5651,5647,5623,5649,5648,
+ 5645,5646,5624,5238,5391,5391,5391,5391,5391,5391,
+ 5391,5391,5391,5238
};
};
public final static char termAction[] = TermAction.termAction;
@@ -1807,60 +1799,60 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface Asb {
public final static char asb[] = {0,
- 736,73,458,67,778,838,838,838,838,1113,
- 778,143,143,658,143,128,458,130,459,459,
- 459,459,459,459,459,459,459,145,151,156,
- 153,160,158,165,163,167,166,168,240,169,
- 458,442,698,698,698,698,498,855,1,1,
- 140,698,411,237,143,143,1,498,237,945,
- 697,1028,1115,1050,442,143,145,638,638,855,
- 458,459,459,459,459,459,459,459,459,459,
- 459,459,459,459,459,459,459,459,459,459,
- 458,458,458,458,458,458,458,458,458,458,
- 458,458,459,237,237,228,442,853,853,853,
- 853,338,237,1,1,1111,1039,1050,86,1050,
- 81,1050,75,1050,1034,1113,498,411,411,1,
- 838,411,697,458,496,1027,237,495,497,495,
- 237,411,153,153,151,151,151,158,158,158,
- 158,156,156,163,160,160,166,165,167,1127,
- 168,1111,370,524,514,513,563,1057,1057,1113,
- 130,778,778,778,778,498,498,853,852,853,
- 140,498,290,293,83,337,84,1113,498,498,
- 338,853,459,698,149,193,237,1115,498,498,
- 497,1028,458,228,411,184,237,526,528,498,
- 1028,458,458,458,458,778,778,442,291,136,
- 293,498,732,501,730,338,86,355,498,338,
- 498,237,149,1111,1027,1115,498,496,237,518,
- 506,517,528,338,496,237,237,237,237,855,
- 855,291,136,828,498,293,1127,84,838,340,
- 54,1117,293,732,731,732,732,338,355,355,
- 498,498,149,150,149,458,193,59,145,1115,
- 360,458,515,515,342,342,498,522,1111,908,
- 237,498,237,237,136,135,1028,599,86,853,
- 838,495,645,1119,492,778,732,732,732,732,
- 498,355,828,826,827,149,855,459,411,59,
- 360,458,458,528,498,1028,237,526,506,360,
- 1092,136,496,599,599,781,309,496,732,732,
- 492,189,459,1127,350,831,498,1111,732,732,
- 650,828,459,498,150,237,411,847,528,360,
- 190,828,898,988,282,778,84,818,599,599,
- 309,496,732,86,1113,1119,459,459,1027,492,
- 900,725,651,498,847,237,847,780,282,898,
- 904,1113,828,852,838,61,61,190,86,422,
- 900,498,778,650,498,1113,1113,498,778,840,
- 847,781,599,190,349,189,237,1113,498,309,
- 781,309,851,851,941,423,1113,498,855,498,
- 498,498,529,840,599,458,90,492,190,498,
- 498,309,698,698,941,422,1127,459,1127,190,
- 421,778,778,778,423,778,498,248,190,190,
- 498,86,237,498,498,236,842,828,237,828,
- 86,498,190,852,414,778,414,423,1127,423,
- 442,442,440,943,442,190,190,353,941,698,
- 842,828,90,190,561,908,423,237,492,237,
- 440,282,778,237,941,90,61,237,237,1105,
- 423,353,423,190,282,458,423,420,827,851,
- 86,86,1107,458,421,855,190,237,188,89,
- 495,423,237,190,188,188,423
+ 731,72,454,66,772,832,832,832,832,1105,
+ 772,141,141,653,141,126,454,128,455,455,
+ 455,455,455,455,455,455,455,143,149,154,
+ 151,158,156,163,161,165,164,166,238,167,
+ 454,438,693,693,693,693,493,849,1,1,
+ 138,693,407,235,141,141,1,493,235,938,
+ 692,1020,1107,1042,438,141,143,633,633,849,
+ 454,455,455,455,455,455,455,455,455,455,
+ 455,455,455,455,455,455,455,455,455,455,
+ 454,454,454,454,454,454,454,454,454,454,
+ 454,454,455,235,235,226,438,847,847,847,
+ 847,335,235,1,1,1103,1031,1042,85,1042,
+ 80,1042,74,1042,1026,1105,493,407,407,1,
+ 832,407,692,454,491,1019,235,490,492,490,
+ 235,407,151,151,149,149,149,156,156,156,
+ 156,154,154,161,158,158,164,163,165,1119,
+ 166,1103,367,519,509,508,558,1049,1049,1105,
+ 128,772,772,772,772,493,493,847,846,847,
+ 138,493,287,290,82,334,83,1105,493,493,
+ 335,847,455,693,147,191,235,1107,493,493,
+ 492,1020,454,226,407,182,235,521,523,493,
+ 1020,454,454,454,454,772,772,438,288,134,
+ 290,493,727,496,725,335,85,352,493,335,
+ 493,235,147,1103,1019,1107,493,491,235,513,
+ 501,512,523,335,491,235,235,235,235,849,
+ 849,288,134,822,493,290,1119,83,832,337,
+ 53,1109,290,727,726,727,727,335,352,352,
+ 493,493,147,148,147,454,191,58,143,1107,
+ 357,454,510,510,339,339,493,517,1103,901,
+ 235,493,235,235,134,133,1020,594,85,847,
+ 832,490,640,1111,487,772,727,727,727,727,
+ 493,352,822,820,821,147,849,455,407,58,
+ 357,454,454,523,493,1020,235,521,501,357,
+ 1084,134,491,594,594,775,306,491,727,727,
+ 487,187,455,1119,347,825,493,1103,727,727,
+ 645,822,455,493,148,235,407,841,523,357,
+ 188,822,891,980,279,772,83,812,594,594,
+ 306,491,727,85,1105,1111,455,455,1019,487,
+ 893,720,646,493,841,235,841,774,279,891,
+ 897,1105,822,846,832,60,60,188,85,418,
+ 893,493,772,645,493,1105,1105,493,772,834,
+ 841,775,594,188,346,187,235,1105,493,306,
+ 775,306,845,845,934,419,1105,493,849,493,
+ 493,493,524,834,594,454,89,487,188,493,
+ 493,306,693,693,934,418,1119,455,1119,188,
+ 417,772,772,772,419,772,493,246,188,188,
+ 493,85,235,493,493,234,836,822,235,822,
+ 85,493,188,846,410,772,410,419,1119,419,
+ 438,438,436,936,438,188,188,350,934,693,
+ 836,822,89,188,556,901,419,235,487,235,
+ 436,279,772,235,934,89,60,235,235,1097,
+ 419,350,419,188,279,454,419,416,821,845,
+ 85,85,1099,454,417,849,188,235,186,88,
+ 490,419,235,188,186,186,419
};
};
public final static char asb[] = Asb.asb;
@@ -1868,119 +1860,118 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface Asr {
public final static byte asr[] = {0,
- 28,11,12,40,23,42,66,13,43,57,
- 29,30,44,14,31,32,15,16,33,67,
- 34,45,17,18,46,35,47,58,49,61,
- 50,36,51,59,19,22,20,24,21,52,
+ 28,11,12,40,23,42,65,13,43,56,
+ 29,30,44,14,31,32,15,16,33,66,
+ 34,45,17,18,46,35,47,57,49,60,
+ 50,36,51,58,19,22,20,24,21,52,
53,54,39,3,37,38,9,6,25,26,
- 41,69,55,7,1,2,4,10,5,0,
- 69,70,71,1,2,0,8,73,118,74,
- 27,71,121,0,4,8,68,1,2,0,
- 48,4,73,1,2,68,8,0,72,61,
- 37,38,9,6,25,26,41,46,3,4,
- 52,55,53,54,39,50,44,49,12,21,
- 11,17,15,16,18,19,14,13,20,10,
- 43,47,45,42,51,68,8,7,5,1,
- 2,67,66,0,61,23,7,24,5,1,
- 2,4,75,68,120,106,37,38,64,3,
- 92,90,6,93,94,25,26,89,88,56,
- 95,96,97,98,9,99,100,101,69,91,
- 74,121,70,108,109,110,111,112,113,114,
- 115,116,117,73,118,102,107,72,71,27,
- 8,0,92,90,25,26,93,94,88,89,
- 56,95,96,97,98,99,100,101,102,107,
- 73,91,70,108,109,110,111,112,113,114,
- 115,116,117,118,72,27,121,69,1,2,
- 9,6,4,3,64,71,74,8,0,69,
- 73,91,71,118,74,72,121,11,12,42,
- 66,13,43,44,14,15,16,67,45,17,
- 18,46,47,49,61,50,51,10,19,20,
- 21,52,53,54,39,37,38,25,26,41,
- 55,8,27,5,7,1,2,4,3,9,
- 6,0,87,60,7,103,104,105,63,8,
- 3,9,6,5,73,72,27,62,28,11,
- 12,40,23,13,57,29,30,14,31,32,
- 15,16,33,34,17,18,35,58,36,10,
- 59,19,22,20,24,21,4,1,2,48,
- 0,75,69,73,91,74,68,64,3,8,
- 71,27,70,0,1,2,8,72,0,23,
- 61,24,8,69,91,70,71,74,0,66,
- 67,10,43,47,45,42,51,12,21,11,
- 17,15,16,18,19,14,13,20,52,55,
- 53,54,39,50,44,49,5,7,4,3,
- 37,38,9,6,25,26,41,46,1,2,
- 118,8,0,87,103,104,105,48,73,119,
- 122,72,62,75,63,60,65,77,79,85,
- 83,76,81,82,84,86,68,78,80,27,
- 8,28,40,23,57,29,30,31,32,33,
- 34,35,58,36,59,22,24,61,66,67,
- 10,43,47,45,42,51,12,21,11,17,
- 15,16,18,19,14,13,20,52,55,53,
- 54,39,50,44,49,37,38,25,26,41,
- 46,9,6,3,4,7,5,1,2,0,
- 4,8,73,68,0,9,6,7,5,4,
- 1,2,3,64,69,70,71,8,74,91,
- 0,5,7,3,64,6,9,91,28,11,
- 12,23,13,57,29,30,14,31,32,15,
- 16,33,34,17,18,35,58,36,10,59,
- 19,22,20,24,21,1,2,4,74,8,
- 40,0,28,11,12,23,13,29,30,14,
- 31,32,15,16,33,7,34,17,18,35,
- 36,19,22,20,24,21,1,2,8,64,
- 9,6,5,4,74,27,3,0,65,28,
- 11,12,40,23,13,57,29,87,30,14,
- 31,32,15,16,33,60,34,17,18,35,
- 58,36,10,59,19,63,22,20,24,21,
- 8,3,9,6,72,27,62,7,4,48,
- 5,1,2,0,8,73,68,75,0,22,
- 1,2,4,103,104,105,0,67,66,25,
- 26,6,93,94,99,9,100,5,41,70,
- 56,69,111,112,108,109,110,116,115,117,
- 89,88,113,114,97,98,95,96,101,102,
- 37,38,71,90,106,64,3,28,11,12,
- 40,23,13,57,29,30,14,31,32,15,
- 16,33,34,17,18,35,58,36,10,59,
- 19,20,24,21,1,2,4,22,0,4,
- 56,8,73,68,0,11,12,42,66,13,
- 43,44,14,15,16,67,7,45,17,18,
- 46,47,49,61,50,51,10,19,20,21,
- 52,53,54,39,1,2,37,38,9,6,
- 25,26,5,41,4,55,62,3,0,68,
- 40,23,13,57,29,14,31,32,15,16,
- 33,34,17,18,35,58,36,59,19,22,
- 20,24,21,12,11,28,8,3,9,6,
- 27,63,65,87,30,62,48,7,1,2,
- 5,4,10,60,0,70,71,72,8,0,
- 73,8,64,3,70,71,27,56,0,23,
- 24,75,3,73,27,68,61,8,91,74,
- 70,71,69,0,8,74,11,12,42,66,
- 13,43,44,14,15,16,67,7,45,17,
- 18,46,47,49,61,50,51,10,19,20,
- 21,52,53,54,1,2,3,37,38,9,
- 6,25,26,5,41,4,55,39,0,8,
- 68,71,0,8,68,70,0,28,11,12,
- 40,23,13,57,29,30,14,31,32,15,
- 16,33,34,17,18,35,58,36,10,59,
- 19,22,20,24,21,1,2,4,91,0,
- 119,0,76,0,66,67,37,38,9,6,
- 25,26,5,41,46,3,4,7,52,55,
+ 41,68,7,1,2,4,10,5,0,68,
+ 69,70,1,2,0,8,72,117,73,27,
+ 70,120,0,4,8,67,1,2,0,48,
+ 4,72,1,2,67,8,0,71,60,37,
+ 38,9,6,25,26,41,46,3,4,52,
53,54,39,50,44,49,12,21,11,17,
15,16,18,19,14,13,20,10,43,47,
- 45,42,51,64,1,2,0,40,23,13,
- 57,29,14,31,32,15,16,33,34,17,
- 18,35,58,36,10,59,19,22,20,24,
- 21,12,11,28,8,3,9,27,63,60,
- 65,87,30,62,56,4,6,7,1,2,
- 5,48,0,10,57,40,58,59,12,21,
- 11,17,15,16,18,19,14,13,20,75,
- 73,91,118,72,68,121,120,92,106,90,
- 37,38,25,26,93,94,88,89,56,69,
- 95,96,97,98,99,100,101,102,107,70,
- 108,109,110,111,112,113,114,115,116,117,
- 71,28,23,29,30,31,32,33,34,35,
- 36,22,24,27,8,74,3,64,7,5,
- 9,6,1,2,4,0,27,8,3,7,
- 5,9,6,4,1,2,73,0
+ 45,42,51,67,8,7,5,1,2,66,
+ 65,0,60,23,7,24,5,1,2,4,
+ 74,67,119,105,37,38,63,3,91,89,
+ 6,92,93,25,26,88,87,55,94,95,
+ 96,97,9,98,99,100,68,90,73,120,
+ 69,107,108,109,110,111,112,113,114,115,
+ 116,72,117,101,106,71,70,27,8,0,
+ 91,89,25,26,92,93,87,88,55,94,
+ 95,96,97,98,99,100,101,106,72,90,
+ 69,107,108,109,110,111,112,113,114,115,
+ 116,117,71,27,120,68,1,2,9,6,
+ 4,3,63,70,73,8,0,68,72,90,
+ 70,117,73,71,120,11,12,42,65,13,
+ 43,44,14,15,16,66,45,17,18,46,
+ 47,49,60,50,51,10,19,20,21,52,
+ 53,54,39,37,38,25,26,41,8,27,
+ 5,7,1,2,4,3,9,6,0,86,
+ 59,7,102,103,104,62,8,3,9,6,
+ 5,72,71,27,61,28,11,12,40,23,
+ 13,56,29,30,14,31,32,15,16,33,
+ 34,17,18,35,57,36,10,58,19,22,
+ 20,24,21,4,1,2,48,0,74,68,
+ 72,90,73,67,63,3,8,70,27,69,
+ 0,1,2,8,71,0,23,60,24,8,
+ 68,90,69,70,73,0,65,66,10,43,
+ 47,45,42,51,12,21,11,17,15,16,
+ 18,19,14,13,20,52,53,54,39,50,
+ 44,49,5,7,4,3,37,38,9,6,
+ 25,26,41,46,1,2,117,8,0,86,
+ 102,103,104,48,72,118,121,71,61,74,
+ 62,59,64,76,78,84,82,75,80,81,
+ 83,85,67,77,79,27,8,28,40,23,
+ 56,29,30,31,32,33,34,35,57,36,
+ 58,22,24,60,65,66,10,43,47,45,
+ 42,51,12,21,11,17,15,16,18,19,
+ 14,13,20,52,53,54,39,50,44,49,
+ 37,38,25,26,41,46,9,6,3,4,
+ 7,5,1,2,0,4,8,72,67,0,
+ 9,6,7,5,4,1,2,3,63,68,
+ 69,70,8,73,90,0,5,7,3,63,
+ 6,9,90,28,11,12,23,13,56,29,
+ 30,14,31,32,15,16,33,34,17,18,
+ 35,57,36,10,58,19,22,20,24,21,
+ 1,2,4,73,8,40,0,28,11,12,
+ 23,13,29,30,14,31,32,15,16,33,
+ 7,34,17,18,35,36,19,22,20,24,
+ 21,1,2,8,63,9,6,5,4,73,
+ 27,3,0,64,28,11,12,40,23,13,
+ 56,29,86,30,14,31,32,15,16,33,
+ 59,34,17,18,35,57,36,10,58,19,
+ 62,22,20,24,21,8,3,9,6,71,
+ 27,61,7,4,48,5,1,2,0,8,
+ 72,67,74,0,22,1,2,4,102,103,
+ 104,0,66,65,25,26,6,92,93,98,
+ 9,99,5,41,69,55,68,110,111,107,
+ 108,109,115,114,116,88,87,112,113,96,
+ 97,94,95,100,101,37,38,70,89,105,
+ 63,3,28,11,12,40,23,13,56,29,
+ 30,14,31,32,15,16,33,34,17,18,
+ 35,57,36,10,58,19,20,24,21,1,
+ 2,4,22,0,4,55,8,72,67,0,
+ 11,12,42,65,13,43,44,14,15,16,
+ 66,7,45,17,18,46,47,49,60,50,
+ 51,10,19,20,21,52,53,54,39,1,
+ 2,37,38,9,6,25,26,5,41,4,
+ 61,3,0,67,40,23,13,56,29,14,
+ 31,32,15,16,33,34,17,18,35,57,
+ 36,58,19,22,20,24,21,12,11,28,
+ 8,3,9,6,27,62,64,86,30,61,
+ 48,7,1,2,5,4,10,59,0,69,
+ 70,71,8,0,72,8,63,3,69,70,
+ 27,55,0,23,24,74,3,72,27,67,
+ 60,8,90,73,69,70,68,0,8,73,
+ 11,12,42,65,13,43,44,14,15,16,
+ 66,7,45,17,18,46,47,49,60,50,
+ 51,10,19,20,21,52,53,54,1,2,
+ 3,37,38,9,6,25,26,5,41,4,
+ 39,0,8,67,70,0,8,67,69,0,
+ 28,11,12,40,23,13,56,29,30,14,
+ 31,32,15,16,33,34,17,18,35,57,
+ 36,10,58,19,22,20,24,21,1,2,
+ 4,90,0,118,0,75,0,65,66,37,
+ 38,9,6,25,26,5,41,46,3,4,
+ 7,52,53,54,39,50,44,49,12,21,
+ 11,17,15,16,18,19,14,13,20,10,
+ 43,47,45,42,51,63,1,2,0,40,
+ 23,13,56,29,14,31,32,15,16,33,
+ 34,17,18,35,57,36,10,58,19,22,
+ 20,24,21,12,11,28,8,3,9,27,
+ 62,59,64,86,30,61,55,4,6,7,
+ 1,2,5,48,0,10,56,40,57,58,
+ 12,21,11,17,15,16,18,19,14,13,
+ 20,74,72,90,117,71,67,120,119,91,
+ 105,89,37,38,25,26,92,93,87,88,
+ 55,68,94,95,96,97,98,99,100,101,
+ 106,69,107,108,109,110,111,112,113,114,
+ 115,116,70,28,23,29,30,31,32,33,
+ 34,35,36,22,24,27,8,73,3,63,
+ 7,5,9,6,1,2,4,0,27,8,
+ 3,7,5,9,6,4,1,2,72,0
};
};
public final static byte asr[] = Asr.asr;
@@ -2090,14 +2081,14 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
107,104,54,106,11,12,120,47,64,66,
70,73,76,83,89,98,7,8,112,53,
14,55,61,67,84,88,90,93,94,97,
- 99,109,110,111,123,19,63,91,101,77,
- 95,122,103,1,46,58,78,121,20,33,
- 44,119,30,118,96,108,49,50,56,57,
- 59,69,71,72,85,92,65,17,18,6,
- 32,4,15,16,21,22,23,24,25,26,
- 27,28,80,81,82,5,29,34,35,36,
- 37,38,39,40,41,42,43,117,51,3,
- 124,62,116
+ 99,109,110,111,19,63,91,101,77,95,
+ 122,103,1,46,58,78,121,20,33,44,
+ 119,30,118,96,108,49,50,56,57,59,
+ 69,71,72,85,92,65,17,18,6,32,
+ 4,15,16,21,22,23,24,25,26,27,
+ 28,80,81,82,5,29,34,35,36,37,
+ 38,39,40,41,42,43,117,51,3,123,
+ 62,116
};
};
public final static char terminalIndex[] = TerminalIndex.terminalIndex;
@@ -2105,26 +2096,26 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface NonterminalIndex {
public final static char nonterminalIndex[] = {0,
- 131,136,137,0,0,135,0,0,230,236,
- 134,0,144,133,0,0,143,149,0,0,
- 150,159,181,160,161,162,163,164,152,165,
- 166,167,127,142,168,169,0,129,132,130,
- 170,0,139,138,153,178,0,0,0,0,
- 0,0,0,0,173,0,146,156,0,205,
- 0,188,202,206,0,0,128,172,0,0,
- 0,0,0,0,207,176,0,0,0,0,
- 0,0,126,179,0,0,187,0,0,203,
- 213,158,209,210,211,0,0,147,0,0,
- 208,221,175,197,0,0,212,0,0,0,
- 0,241,242,0,148,180,190,191,192,193,
- 194,196,199,0,200,0,215,218,0,220,
- 0,239,0,240,0,0,140,141,145,0,
- 0,155,157,0,171,0,182,183,184,185,
- 186,189,0,0,195,0,198,204,0,216,
- 217,0,0,222,225,0,227,229,0,233,
- 234,235,238,125,0,151,154,0,174,0,
- 177,0,0,201,214,219,0,0,223,224,
- 226,228,0,231,232,237,243,244,0,0,
+ 130,135,136,0,0,134,0,0,229,235,
+ 133,0,143,132,0,0,142,148,0,0,
+ 149,158,180,159,160,161,162,163,151,164,
+ 165,166,126,141,167,168,0,128,131,129,
+ 169,0,138,137,152,177,0,0,0,0,
+ 0,0,0,0,172,0,145,155,0,204,
+ 0,187,201,205,0,0,127,171,0,0,
+ 0,0,0,0,206,175,0,0,0,0,
+ 0,0,125,178,0,0,186,0,0,202,
+ 212,157,208,209,210,0,0,146,0,0,
+ 207,220,174,196,0,0,211,0,0,0,
+ 0,240,241,0,147,179,189,190,191,192,
+ 193,195,198,0,199,0,214,217,0,219,
+ 0,238,0,239,0,0,139,140,144,0,
+ 0,154,156,0,170,0,181,182,183,184,
+ 185,188,0,0,194,0,197,203,0,215,
+ 216,0,0,221,224,0,226,228,0,232,
+ 233,234,237,124,0,150,153,0,173,0,
+ 176,0,0,200,213,218,0,0,222,223,
+ 225,227,0,230,231,236,242,243,0,0,
0,0
};
};
@@ -2190,18 +2181,18 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface ScopeLa {
public final static byte scopeLa[] = {
- 119,74,74,72,74,74,74,74,74,72,
- 27,72,72,1,69,1,74,122,68,3,
- 74,69,69,69,1,1,27,72,68,72,
- 1,1,1,72,1,1,4,69,71,27,
- 1,1,69,74,74,74,119,74,1,27,
- 1,27,27,72,118,74,74,74,74,74,
- 118,1,74,1,74,74,74,73,4,6,
- 1,1,74,69,69,69,69,74,3,1,
- 1,74,74,3,1,118,74,1,1,1,
- 27,74,118,74,5,74,1,48,70,73,
- 1,48,76,75,27,27,4,4,4,4,
- 3,1,68,1,1,3
+ 118,73,73,71,73,73,73,73,73,71,
+ 27,71,71,1,68,1,73,121,67,3,
+ 73,68,68,68,1,1,27,71,67,71,
+ 1,1,1,71,1,1,4,68,70,27,
+ 1,1,68,73,73,73,118,73,1,27,
+ 1,27,27,71,117,73,73,73,73,73,
+ 117,1,73,1,73,73,73,72,4,6,
+ 1,1,73,68,68,68,68,73,3,1,
+ 1,73,73,3,1,117,73,1,1,1,
+ 27,73,117,73,5,73,1,48,69,72,
+ 1,48,75,74,27,27,4,4,4,4,
+ 3,1,67,1,1,3
};
};
public final static byte scopeLa[] = ScopeLa.scopeLa;
@@ -2228,70 +2219,70 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface ScopeRhs {
public final static char scopeRhs[] = {0,
- 321,3,61,0,127,0,320,3,119,0,
- 127,173,0,127,178,75,0,217,0,254,
- 127,56,125,0,20,0,296,127,56,48,
- 0,20,53,0,33,133,0,20,53,0,
- 0,296,127,56,48,205,0,20,179,0,
- 254,127,56,133,0,179,128,0,142,0,
- 220,3,295,0,295,0,2,0,127,0,
- 254,127,56,132,0,179,128,225,0,179,
- 128,22,225,0,179,128,316,22,0,129,
- 188,167,128,0,129,0,188,167,128,0,
- 135,129,0,171,0,312,127,171,0,127,
- 171,0,223,129,0,167,311,244,0,137,
- 0,0,0,0,136,0,0,0,0,310,
- 127,163,253,0,128,0,253,0,130,0,
- 0,128,0,309,127,163,252,0,128,0,
- 0,44,128,0,0,152,3,0,127,283,
- 282,127,75,281,171,0,282,127,75,281,
- 171,0,216,0,217,0,281,171,0,96,
- 0,0,216,0,217,0,204,96,0,0,
- 216,0,217,0,282,127,281,171,0,216,
- 0,204,0,0,216,0,228,127,3,0,
- 127,0,0,0,0,0,228,127,3,217,
- 0,224,3,0,213,127,0,209,0,147,
- 0,177,167,128,0,10,0,0,0,215,
- 64,0,126,0,228,127,3,183,0,183,
- 0,2,0,0,127,0,0,0,0,0,
- 199,3,0,202,0,237,127,163,39,30,
- 0,179,128,60,63,0,197,129,0,129,
- 179,128,279,63,0,179,128,279,63,0,
- 179,128,70,124,60,0,237,127,163,60,
- 0,237,127,163,227,60,0,277,127,163,
- 124,306,57,0,277,127,163,306,57,0,
- 179,128,276,57,0,136,0,188,179,128,
- 276,244,0,137,0,179,128,276,244,0,
- 188,167,128,10,0,167,128,10,0,167,
- 128,0,93,137,0,269,127,146,0,269,
- 127,171,0,162,85,0,301,161,303,304,
- 3,82,0,127,172,0,303,304,3,82,
- 0,129,0,127,172,0,162,3,76,191,
- 81,0,127,129,0,191,81,0,108,2,
- 132,127,129,0,226,3,76,0,199,168,
- 0,33,170,0,168,0,176,33,170,0,
- 226,3,86,0,191,156,226,3,84,0,
- 62,172,0,226,3,84,0,127,172,62,
- 172,0,302,127,163,0,162,0,215,78,
- 0,30,172,0,162,107,159,0,30,170,
- 0,220,3,0,215,64,266,0,162,64,
- 0,180,3,298,67,128,0,127,0,0,
- 0,0,298,67,128,0,2,146,127,0,
- 0,0,0,180,3,46,0,148,0,126,
- 48,167,128,0,31,148,0,93,137,31,
- 148,0,221,179,128,0,147,31,148,0,
- 180,3,51,0,162,3,51,0,162,3,
- 69,180,56,42,0,180,56,42,0,20,
- 2,132,127,0,162,3,69,180,56,45,
- 0,180,56,45,0,162,3,69,180,56,
- 47,0,180,56,47,0,162,3,69,180,
- 56,43,0,180,56,43,0,220,3,126,
- 188,167,128,10,0,126,188,167,128,10,
- 0,137,2,0,127,0,220,3,125,259,
- 167,128,10,0,259,167,128,10,0,136,
- 2,0,127,0,220,3,136,0,220,3,
- 140,0,162,64,140,0,261,0,31,0,
- 31,140,0,166,0,135,0,162,3,0
+ 320,3,60,0,126,0,319,3,118,0,
+ 126,172,0,126,177,74,0,216,0,253,
+ 126,55,124,0,20,0,295,126,55,48,
+ 0,20,53,0,33,132,0,20,53,0,
+ 0,295,126,55,48,204,0,20,178,0,
+ 253,126,55,132,0,178,127,0,141,0,
+ 219,3,294,0,294,0,2,0,126,0,
+ 253,126,55,131,0,178,127,224,0,178,
+ 127,22,224,0,178,127,315,22,0,128,
+ 187,166,127,0,128,0,187,166,127,0,
+ 134,128,0,170,0,311,126,170,0,126,
+ 170,0,222,128,0,166,310,243,0,136,
+ 0,0,0,0,135,0,0,0,0,309,
+ 126,162,252,0,127,0,252,0,129,0,
+ 0,127,0,308,126,162,251,0,127,0,
+ 0,44,127,0,0,151,3,0,126,282,
+ 281,126,74,280,170,0,281,126,74,280,
+ 170,0,215,0,216,0,280,170,0,96,
+ 0,0,215,0,216,0,203,96,0,0,
+ 215,0,216,0,281,126,280,170,0,215,
+ 0,203,0,0,215,0,227,126,3,0,
+ 126,0,0,0,0,0,227,126,3,216,
+ 0,223,3,0,212,126,0,208,0,146,
+ 0,176,166,127,0,10,0,0,0,214,
+ 63,0,125,0,227,126,3,182,0,182,
+ 0,2,0,0,126,0,0,0,0,0,
+ 198,3,0,201,0,236,126,162,39,30,
+ 0,178,127,59,62,0,196,128,0,128,
+ 178,127,278,62,0,178,127,278,62,0,
+ 178,127,69,123,59,0,236,126,162,59,
+ 0,236,126,162,226,59,0,276,126,162,
+ 123,305,56,0,276,126,162,305,56,0,
+ 178,127,275,56,0,135,0,187,178,127,
+ 275,243,0,136,0,178,127,275,243,0,
+ 187,166,127,10,0,166,127,10,0,166,
+ 127,0,93,136,0,268,126,145,0,268,
+ 126,170,0,161,84,0,300,160,302,303,
+ 3,81,0,126,171,0,302,303,3,81,
+ 0,128,0,126,171,0,161,3,75,190,
+ 80,0,126,128,0,190,80,0,108,2,
+ 131,126,128,0,225,3,75,0,198,167,
+ 0,33,169,0,167,0,175,33,169,0,
+ 225,3,85,0,190,155,225,3,83,0,
+ 62,171,0,225,3,83,0,126,171,62,
+ 171,0,301,126,162,0,161,0,214,77,
+ 0,30,171,0,161,106,158,0,30,169,
+ 0,219,3,0,214,63,265,0,161,63,
+ 0,179,3,297,66,127,0,126,0,0,
+ 0,0,297,66,127,0,2,145,126,0,
+ 0,0,0,179,3,46,0,147,0,125,
+ 48,166,127,0,31,147,0,93,136,31,
+ 147,0,220,178,127,0,146,31,147,0,
+ 179,3,51,0,161,3,51,0,161,3,
+ 68,179,55,42,0,179,55,42,0,20,
+ 2,131,126,0,161,3,68,179,55,45,
+ 0,179,55,45,0,161,3,68,179,55,
+ 47,0,179,55,47,0,161,3,68,179,
+ 55,43,0,179,55,43,0,219,3,125,
+ 187,166,127,10,0,125,187,166,127,10,
+ 0,136,2,0,126,0,219,3,124,258,
+ 166,127,10,0,258,166,127,10,0,135,
+ 2,0,126,0,219,3,135,0,219,3,
+ 139,0,161,63,139,0,260,0,31,0,
+ 31,139,0,165,0,134,0,161,3,0
};
};
public final static char scopeRhs[] = ScopeRhs.scopeRhs;
@@ -2299,38 +2290,38 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface ScopeState {
public final static char scopeState[] = {0,
- 4719,4851,4838,4591,0,2070,3732,1982,3442,0,
- 3673,3619,3562,3454,3400,3346,3292,3238,3184,2892,
- 2838,2673,0,1366,0,2061,1974,1973,0,2453,
- 922,0,3673,3619,3800,3317,3562,3454,3400,3346,
- 3292,3238,878,3184,2892,2838,3567,3519,0,4743,
- 3191,3729,0,3476,2844,0,1840,1834,0,4675,
- 4599,0,4504,4675,3946,2991,4599,2967,3529,4517,
- 2799,2388,3916,4471,2630,2553,2514,0,2445,1000,
- 0,4622,4569,0,4622,4569,3936,4417,4407,3829,
- 4324,4314,4304,3819,0,4622,4569,3936,4417,4407,
- 3829,4324,4314,4304,3819,3673,3619,3562,3454,3400,
- 3346,3292,3238,3184,2892,2838,0,2541,794,0,
- 2388,4504,4584,3946,2991,3405,2630,3884,1124,723,
- 2843,2981,3024,3641,876,0,1851,1507,1458,880,
- 2991,2981,2967,2553,2514,2434,2504,0,668,580,
- 0,1009,0,4536,537,2982,0,4772,4737,4726,
- 4711,4707,4662,4585,3660,3595,3543,4844,3513,3387,
- 4809,4796,3968,3333,3929,3225,2548,2537,3004,2429,
- 0,3680,3570,4772,4737,4726,3019,2954,4711,2879,
- 4707,4662,4585,3660,3595,3549,3197,3104,3543,3095,
- 4844,3091,3008,2925,2459,3513,3387,872,4809,2468,
- 4796,2871,3484,3968,3333,3929,662,3225,2548,2537,
- 4536,627,2982,3004,2429,2278,2192,2104,736,808,
- 2967,3529,4517,2799,2388,4504,3916,4675,3946,2991,
- 4471,2630,2553,4599,2514,1276,942,668,580,4282,
- 2242,2292,2357,2325,2474,2401,595,3161,3135,2815,
- 2743,2716,2650,3796,3773,631,3748,2770,4260,4238,
- 4216,4194,4172,4150,4128,4106,4084,4053,4023,3108,
- 1985,2204,2154,2116,2066,2028,1294,1233,1049,1190,
- 884,1935,1897,826,748,690,537,1854,1811,1768,
- 1725,1682,1639,1596,1553,1510,1467,1424,1381,1337,
- 1144,1005,962,1095,0
+ 4718,4850,4837,4590,0,2069,3731,1981,3441,0,
+ 3672,3618,3561,3453,3399,3345,3291,3237,3183,2891,
+ 2837,2672,0,1365,0,2060,1973,1972,0,2452,
+ 921,0,3672,3618,3799,3316,3561,3453,3399,3345,
+ 3291,3237,877,3183,2891,2837,3566,3518,0,4742,
+ 3190,3728,0,3475,2843,0,1839,1833,0,4674,
+ 4598,0,4503,4674,3945,2990,4598,2966,3528,4516,
+ 2798,2387,3915,4470,2629,2552,2513,0,2444,999,
+ 0,4621,4568,0,4621,4568,3935,4416,4406,3828,
+ 4323,4313,4303,3818,0,4621,4568,3935,4416,4406,
+ 3828,4323,4313,4303,3818,3672,3618,3561,3453,3399,
+ 3345,3291,3237,3183,2891,2837,0,2540,793,0,
+ 2387,4503,4583,3945,2990,3404,2629,3883,1123,722,
+ 2842,2980,3023,3640,875,0,1850,1506,1457,879,
+ 2990,2980,2966,2552,2513,2433,2503,0,667,579,
+ 0,1008,0,4535,536,2981,0,4771,4736,4725,
+ 4710,4706,4661,4584,3659,3594,3542,4843,3512,3386,
+ 4808,4795,3967,3332,3928,3224,2547,2536,3003,2428,
+ 0,3679,3569,4771,4736,4725,3018,2953,4710,2878,
+ 4706,4661,4584,3659,3594,3548,3196,3103,3542,3094,
+ 4843,3090,3007,2924,2458,3512,3386,871,4808,2467,
+ 4795,2870,3483,3967,3332,3928,661,3224,2547,2536,
+ 4535,626,2981,3003,2428,2277,2191,2103,735,807,
+ 2966,3528,4516,2798,2387,4503,3915,4674,3945,2990,
+ 4470,2629,2552,4598,2513,1275,941,667,579,4281,
+ 2241,2291,2356,2324,2473,2400,594,3160,3134,2814,
+ 2742,2715,2649,3795,3772,630,3747,2769,4259,4237,
+ 4215,4193,4171,4149,4127,4105,4083,4052,4022,3107,
+ 1984,2203,2153,2115,2065,2027,1293,1232,1048,1189,
+ 883,1934,1896,825,747,689,536,1853,1810,1767,
+ 1724,1681,1638,1595,1552,1509,1466,1423,1380,1336,
+ 1143,1004,961,1094,0
};
};
public final static char scopeState[] = ScopeState.scopeState;
@@ -2338,60 +2329,60 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface InSymb {
public final static char inSymb[] = {0,
- 0,297,127,268,51,42,45,47,43,10,
- 136,125,132,7,133,4,3,128,46,41,
- 5,26,25,6,9,38,37,140,145,148,
- 147,150,149,153,151,155,154,158,61,159,
- 71,3,56,56,56,56,128,3,56,56,
- 168,127,64,3,66,67,56,5,162,66,
- 67,167,166,125,3,124,126,106,120,3,
- 64,90,92,26,25,94,93,6,96,95,
- 69,56,88,89,9,98,97,100,99,101,
- 117,116,115,114,113,112,111,110,109,108,
- 70,107,102,180,162,168,127,180,180,180,
- 180,167,220,127,127,127,270,271,253,272,
- 244,273,57,274,275,10,128,64,64,127,
- 125,64,298,3,188,4,180,48,128,48,
- 220,162,147,147,145,145,145,149,149,149,
- 149,148,148,151,150,150,154,153,155,162,
- 158,127,64,3,218,217,136,126,125,10,
- 128,69,69,69,69,188,259,254,257,254,
- 213,128,177,163,311,276,306,276,128,179,
- 167,254,206,3,299,168,152,261,188,128,
- 179,167,73,213,215,159,224,127,3,128,
- 167,3,3,3,3,126,125,71,167,6,
- 127,167,231,126,125,128,124,163,128,167,
- 48,180,127,127,4,221,5,48,228,229,
- 146,230,127,167,48,162,162,162,162,3,
- 3,177,127,310,128,169,225,60,48,205,
- 63,171,313,126,125,232,232,179,163,127,
- 179,188,156,263,266,64,181,4,124,126,
- 156,70,224,199,187,183,128,3,127,71,
- 228,188,220,220,6,185,167,163,227,56,
- 48,279,281,127,3,183,232,232,127,127,
- 188,127,277,124,278,127,3,64,162,4,
- 127,70,70,3,179,167,199,127,213,156,
- 126,127,188,127,163,69,56,128,75,127,
- 213,312,73,290,199,125,128,127,127,127,
- 73,277,70,71,263,220,215,222,127,127,
- 129,237,30,48,171,65,60,63,239,127,
- 127,179,127,282,73,71,73,70,167,213,
- 315,225,22,128,127,228,222,39,127,3,
- 124,60,237,296,48,10,40,129,282,163,
- 294,128,295,71,128,22,316,179,61,156,
- 127,127,163,269,248,280,39,70,128,71,
- 69,56,231,231,283,127,71,179,3,179,
- 128,128,3,127,127,3,70,71,156,128,
- 179,127,70,70,127,302,80,78,1,162,
- 8,86,84,82,81,76,83,85,79,77,
- 60,75,220,179,179,321,222,237,152,163,
- 252,179,227,296,284,119,8,73,215,73,
- 3,3,3,191,3,124,162,124,178,71,
- 127,127,163,227,69,3,73,226,168,226,
- 304,146,76,226,127,127,40,91,320,168,
- 156,199,156,303,127,3,156,284,309,231,
- 156,156,127,70,191,161,269,162,190,71,
- 70,122,301,156,190,8,156
+ 0,296,126,267,51,42,45,47,43,10,
+ 135,124,131,7,132,4,3,127,46,41,
+ 5,26,25,6,9,38,37,139,144,147,
+ 146,149,148,152,150,154,153,157,60,158,
+ 70,3,55,55,55,55,127,3,55,55,
+ 167,126,63,3,65,66,55,5,161,65,
+ 66,166,165,124,3,123,125,105,119,3,
+ 63,89,91,26,25,93,92,6,95,94,
+ 68,55,87,88,9,97,96,99,98,100,
+ 116,115,114,113,112,111,110,109,108,107,
+ 69,106,101,179,161,167,126,179,179,179,
+ 179,166,219,126,126,126,269,270,252,271,
+ 243,272,56,273,274,10,127,63,63,126,
+ 124,63,297,3,187,4,179,48,127,48,
+ 219,161,146,146,144,144,144,148,148,148,
+ 148,147,147,150,149,149,153,152,154,161,
+ 157,126,63,3,217,216,135,125,124,10,
+ 127,68,68,68,68,187,258,253,256,253,
+ 212,127,176,162,310,275,305,275,127,178,
+ 166,253,205,3,298,167,151,260,187,127,
+ 178,166,72,212,214,158,223,126,3,127,
+ 166,3,3,3,3,125,124,70,166,6,
+ 126,166,230,125,124,127,123,162,127,166,
+ 48,179,126,126,4,220,5,48,227,228,
+ 145,229,126,166,48,161,161,161,161,3,
+ 3,176,126,309,127,168,224,59,48,204,
+ 62,170,312,125,124,231,231,178,162,126,
+ 178,187,155,262,265,63,180,4,123,125,
+ 155,69,223,198,186,182,127,3,126,70,
+ 227,187,219,219,6,184,166,162,226,55,
+ 48,278,280,126,3,182,231,231,126,126,
+ 187,126,276,123,277,126,3,63,161,4,
+ 126,69,69,3,178,166,198,126,212,155,
+ 125,126,187,126,162,68,55,127,74,126,
+ 212,311,72,289,198,124,127,126,126,126,
+ 72,276,69,70,262,219,214,221,126,126,
+ 128,236,30,48,170,64,59,62,238,126,
+ 126,178,126,281,72,70,72,69,166,212,
+ 314,224,22,127,126,227,221,39,126,3,
+ 123,59,236,295,48,10,40,128,281,162,
+ 293,127,294,70,127,22,315,178,60,155,
+ 126,126,162,268,247,279,39,69,127,70,
+ 68,55,230,230,282,126,70,178,3,178,
+ 127,127,3,126,126,3,69,70,155,127,
+ 178,126,69,69,126,301,79,77,1,161,
+ 8,85,83,81,80,75,82,84,78,76,
+ 59,74,219,178,178,320,221,236,151,162,
+ 251,178,226,295,283,118,8,72,214,72,
+ 3,3,3,190,3,123,161,123,177,70,
+ 126,126,162,226,68,3,72,225,167,225,
+ 303,145,75,225,126,126,40,90,319,167,
+ 155,198,155,302,126,3,155,283,308,230,
+ 155,155,126,69,190,160,268,161,189,70,
+ 69,121,300,155,189,8,155
};
};
public final static char inSymb[] = InSymb.inSymb;
@@ -2522,7 +2513,6 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
"SemiColon",
"LeftBrace",
"ERROR_TOKEN",
- "0",
"EOF_TOKEN",
"no_cast_start",
"]",
@@ -2656,7 +2646,7 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public final String name(int index) { return name[index]; }
public final static int
- ERROR_SYMBOL = 62,
+ ERROR_SYMBOL = 61,
SCOPE_UBOUND = 115,
SCOPE_SIZE = 116,
MAX_NAME_LENGTH = 37;
@@ -2668,19 +2658,19 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public final static int
NUM_STATES = 537,
- NT_OFFSET = 123,
- LA_STATE_OFFSET = 5928,
+ NT_OFFSET = 122,
+ LA_STATE_OFFSET = 5926,
MAX_LA = 2147483647,
- NUM_RULES = 536,
+ NUM_RULES = 535,
NUM_NONTERMINALS = 202,
- NUM_SYMBOLS = 325,
+ NUM_SYMBOLS = 324,
SEGMENT_SIZE = 8192,
- START_STATE = 3374,
+ START_STATE = 3373,
IDENTIFIER_SYMBOL = 0,
- EOFT_SYMBOL = 121,
- EOLT_SYMBOL = 121,
- ACCEPT_ACTION = 5027,
- ERROR_ACTION = 5392;
+ EOFT_SYMBOL = 120,
+ EOLT_SYMBOL = 120,
+ ACCEPT_ACTION = 5026,
+ ERROR_ACTION = 5391;
public final static boolean BACKTRACK = true;
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParsersym.java
index 3e02ac804da..7b5b52d8c09 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParsersym.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParsersym.java
@@ -15,69 +15,69 @@ package org.eclipse.cdt.internal.core.dom.lrparser.cpp;
public interface CPPNoCastExpressionParsersym {
public final static int
- TK_asm = 65,
+ TK_asm = 64,
TK_auto = 28,
TK_bool = 11,
- TK_break = 77,
- TK_case = 78,
- TK_catch = 119,
+ TK_break = 76,
+ TK_case = 77,
+ TK_catch = 118,
TK_char = 12,
TK_class = 40,
TK_const = 23,
TK_const_cast = 42,
- TK_continue = 79,
- TK_default = 80,
- TK_delete = 66,
- TK_do = 81,
+ TK_continue = 78,
+ TK_default = 79,
+ TK_delete = 65,
+ TK_do = 80,
TK_double = 13,
TK_dynamic_cast = 43,
- TK_else = 122,
- TK_enum = 57,
+ TK_else = 121,
+ TK_enum = 56,
TK_explicit = 29,
- TK_export = 87,
+ TK_export = 86,
TK_extern = 30,
TK_false = 44,
TK_float = 14,
- TK_for = 82,
+ TK_for = 81,
TK_friend = 31,
- TK_goto = 83,
- TK_if = 84,
+ TK_goto = 82,
+ TK_if = 83,
TK_inline = 32,
TK_int = 15,
TK_long = 16,
TK_mutable = 33,
- TK_namespace = 60,
- TK_new = 67,
+ TK_namespace = 59,
+ TK_new = 66,
TK_operator = 7,
- TK_private = 103,
- TK_protected = 104,
- TK_public = 105,
+ TK_private = 102,
+ TK_protected = 103,
+ TK_public = 104,
TK_register = 34,
TK_reinterpret_cast = 45,
- TK_return = 85,
+ TK_return = 84,
TK_short = 17,
TK_signed = 18,
TK_sizeof = 46,
TK_static = 35,
TK_static_cast = 47,
- TK_struct = 58,
- TK_switch = 86,
+ TK_struct = 57,
+ TK_switch = 85,
TK_template = 48,
TK_this = 49,
- TK_throw = 61,
- TK_try = 75,
+ TK_throw = 60,
+ TK_try = 74,
TK_true = 50,
TK_typedef = 36,
TK_typeid = 51,
TK_typename = 10,
- TK_union = 59,
+ TK_union = 58,
TK_unsigned = 19,
- TK_using = 63,
+ TK_using = 62,
TK_virtual = 22,
TK_void = 20,
TK_volatile = 24,
TK_wchar_t = 21,
- TK_while = 76,
+ TK_while = 75,
TK_integer = 52,
TK_floating = 53,
TK_charconst = 54,
@@ -85,13 +85,13 @@ public interface CPPNoCastExpressionParsersym {
TK_identifier = 1,
TK_Completion = 2,
TK_EndOfCompletion = 8,
- TK_Invalid = 123,
- TK_LeftBracket = 64,
+ TK_Invalid = 122,
+ TK_LeftBracket = 63,
TK_LeftParen = 3,
- TK_Dot = 120,
- TK_DotStar = 92,
- TK_Arrow = 106,
- TK_ArrowStar = 90,
+ TK_Dot = 119,
+ TK_DotStar = 91,
+ TK_Arrow = 105,
+ TK_ArrowStar = 89,
TK_PlusPlus = 37,
TK_MinusMinus = 38,
TK_And = 9,
@@ -100,44 +100,43 @@ public interface CPPNoCastExpressionParsersym {
TK_Minus = 26,
TK_Tilde = 5,
TK_Bang = 41,
- TK_Slash = 93,
- TK_Percent = 94,
- TK_RightShift = 88,
- TK_LeftShift = 89,
- TK_LT = 56,
- TK_GT = 69,
- TK_LE = 95,
- TK_GE = 96,
- TK_EQ = 97,
- TK_NE = 98,
- TK_Caret = 99,
- TK_Or = 100,
- TK_AndAnd = 101,
- TK_OrOr = 102,
- TK_Question = 107,
- TK_Colon = 73,
+ TK_Slash = 92,
+ TK_Percent = 93,
+ TK_RightShift = 87,
+ TK_LeftShift = 88,
+ TK_LT = 55,
+ TK_GT = 68,
+ TK_LE = 94,
+ TK_GE = 95,
+ TK_EQ = 96,
+ TK_NE = 97,
+ TK_Caret = 98,
+ TK_Or = 99,
+ TK_AndAnd = 100,
+ TK_OrOr = 101,
+ TK_Question = 106,
+ TK_Colon = 72,
TK_ColonColon = 4,
- TK_DotDotDot = 91,
- TK_Assign = 70,
- TK_StarAssign = 108,
- TK_SlashAssign = 109,
- TK_PercentAssign = 110,
- TK_PlusAssign = 111,
- TK_MinusAssign = 112,
- TK_RightShiftAssign = 113,
- TK_LeftShiftAssign = 114,
- TK_AndAssign = 115,
- TK_CaretAssign = 116,
- TK_OrAssign = 117,
- TK_Comma = 71,
- TK_RightBracket = 118,
- TK_RightParen = 74,
- TK_RightBrace = 72,
+ TK_DotDotDot = 90,
+ TK_Assign = 69,
+ TK_StarAssign = 107,
+ TK_SlashAssign = 108,
+ TK_PercentAssign = 109,
+ TK_PlusAssign = 110,
+ TK_MinusAssign = 111,
+ TK_RightShiftAssign = 112,
+ TK_LeftShiftAssign = 113,
+ TK_AndAssign = 114,
+ TK_CaretAssign = 115,
+ TK_OrAssign = 116,
+ TK_Comma = 70,
+ TK_RightBracket = 117,
+ TK_RightParen = 73,
+ TK_RightBrace = 71,
TK_SemiColon = 27,
- TK_LeftBrace = 68,
- TK_ERROR_TOKEN = 62,
- TK_0 = 55,
- TK_EOF_TOKEN = 121;
+ TK_LeftBrace = 67,
+ TK_ERROR_TOKEN = 61,
+ TK_EOF_TOKEN = 120;
public final static String orderedTerminalSymbols[] = {
"",
@@ -195,7 +194,6 @@ public interface CPPNoCastExpressionParsersym {
"integer",
"floating",
"charconst",
- "0",
"LT",
"enum",
"struct",
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParser.java
index 8bbfe08c2e2..e3ae530ddc1 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParser.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParser.java
@@ -28,6 +28,7 @@ import org.eclipse.cdt.core.dom.lrparser.action.TokenMap;
import org.eclipse.cdt.core.dom.ast.cpp.*;
import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPNodeFactory;
import org.eclipse.cdt.core.dom.lrparser.action.cpp.CPPBuildASTParserAction;
+import org.eclipse.cdt.core.dom.lrparser.action.cpp.CPPSecondaryParserFactory;
public class CPPNoFunctionDeclaratorParser extends PrsStream implements RuleAction , IParserActionTokenProvider, IParser
{
@@ -173,7 +174,7 @@ public CPPNoFunctionDeclaratorParser() { // constructor
}
private void initActions(IASTTranslationUnit tu, Set<IParser.Options> options) {
- action = new CPPBuildASTParserAction ( CPPNodeFactory.getDefault() , this, tu, astStack);
+ action = new CPPBuildASTParserAction (this, tu, astStack, CPPNodeFactory.getDefault() , CPPSecondaryParserFactory.getDefault() );
action.setParserOptions(options);
@@ -235,8 +236,8 @@ public void setTokens(List<IToken> tokens) {
addToken(new Token(null, 0, 0, CPPNoFunctionDeclaratorParsersym.TK_EOF_TOKEN));
}
-public CPPNoFunctionDeclaratorParser(String[] mapFrom) { // constructor
- tokenMap = new TokenMap(CPPNoFunctionDeclaratorParsersym.orderedTerminalSymbols, mapFrom);
+public CPPNoFunctionDeclaratorParser(IParserActionTokenProvider parser) { // constructor
+ tokenMap = new TokenMap(CPPNoFunctionDeclaratorParsersym.orderedTerminalSymbols, parser.getOrderedTerminalSymbols());
}
@@ -271,1707 +272,1701 @@ public CPPNoFunctionDeclaratorParser(String[] mapFrom) { // constructor
}
//
- // Rule 17: literal ::= 0
+ // Rule 17: literal ::= floating
//
- case 17: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_integer_constant); break;
+ case 17: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_float_constant); break;
}
//
- // Rule 18: literal ::= floating
+ // Rule 18: literal ::= charconst
//
- case 18: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_float_constant); break;
+ case 18: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_char_constant); break;
}
//
- // Rule 19: literal ::= charconst
+ // Rule 19: literal ::= stringlit
//
- case 19: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_char_constant); break;
+ case 19: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_string_literal); break;
}
//
- // Rule 20: literal ::= stringlit
+ // Rule 20: literal ::= true
//
- case 20: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_string_literal); break;
+ case 20: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_true); break;
}
//
- // Rule 21: literal ::= true
+ // Rule 21: literal ::= false
//
- case 21: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_true); break;
+ case 21: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_false); break;
}
//
- // Rule 22: literal ::= false
+ // Rule 22: literal ::= this
//
- case 22: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_false); break;
+ case 22: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_this); break;
}
//
- // Rule 23: literal ::= this
+ // Rule 24: primary_expression ::= ( expression )
//
- case 23: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_this); break;
+ case 24: { action. consumeExpressionBracketed(); break;
}
//
- // Rule 25: primary_expression ::= ( expression )
+ // Rule 26: id_expression ::= qualified_or_unqualified_name
//
- case 25: { action. consumeExpressionBracketed(); break;
+ case 26: { action. consumeExpressionName(); break;
}
//
- // Rule 27: id_expression ::= qualified_or_unqualified_name
+ // Rule 33: unqualified_id_name ::= ~ identifier_token
//
- case 27: { action. consumeExpressionName(); break;
+ case 33: { action. consumeDestructorName(); break;
}
//
- // Rule 34: unqualified_id_name ::= ~ identifier_token
+ // Rule 34: unqualified_id_name ::= ~ template_id_name
//
- case 34: { action. consumeDestructorName(); break;
+ case 34: { action. consumeDestructorNameTemplateId(); break;
}
//
- // Rule 35: unqualified_id_name ::= ~ template_id_name
+ // Rule 35: identifier_name ::= identifier_token
//
- case 35: { action. consumeDestructorNameTemplateId(); break;
+ case 35: { action. consumeIdentifierName(); break;
}
//
- // Rule 36: identifier_name ::= identifier_token
+ // Rule 36: template_opt ::= template
//
- case 36: { action. consumeIdentifierName(); break;
+ case 36: { action. consumePlaceHolder(); break;
}
//
- // Rule 37: template_opt ::= template
+ // Rule 37: template_opt ::= $Empty
//
- case 37: { action. consumePlaceHolder(); break;
+ case 37: { action. consumeEmpty(); break;
}
//
- // Rule 38: template_opt ::= $Empty
+ // Rule 38: dcolon_opt ::= ::
//
- case 38: { action. consumeEmpty(); break;
+ case 38: { action. consumeToken(); break;
}
//
- // Rule 39: dcolon_opt ::= ::
+ // Rule 39: dcolon_opt ::= $Empty
//
- case 39: { action. consumeToken(); break;
+ case 39: { action. consumeEmpty(); break;
}
//
- // Rule 40: dcolon_opt ::= $Empty
+ // Rule 40: qualified_id_name ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name
//
- case 40: { action. consumeEmpty(); break;
+ case 40: { action. consumeQualifiedId(true); break;
}
//
- // Rule 41: qualified_id_name ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name
+ // Rule 41: qualified_id_name ::= :: unqualified_id_name
//
- case 41: { action. consumeQualifiedId(true); break;
+ case 41: { action. consumeGlobalQualifiedId(); break;
}
//
- // Rule 42: qualified_id_name ::= :: unqualified_id_name
+ // Rule 42: nested_name_specifier ::= class_or_namespace_name :: nested_name_specifier_with_template
//
- case 42: { action. consumeGlobalQualifiedId(); break;
+ case 42: { action. consumeNestedNameSpecifier(true); break;
}
//
- // Rule 43: nested_name_specifier ::= class_or_namespace_name :: nested_name_specifier_with_template
+ // Rule 43: nested_name_specifier ::= class_or_namespace_name ::
//
- case 43: { action. consumeNestedNameSpecifier(true); break;
+ case 43: { action. consumeNestedNameSpecifier(false); break;
}
//
- // Rule 44: nested_name_specifier ::= class_or_namespace_name ::
+ // Rule 44: nested_name_specifier_with_template ::= class_or_namespace_name_with_template :: nested_name_specifier_with_template
//
- case 44: { action. consumeNestedNameSpecifier(false); break;
+ case 44: { action. consumeNestedNameSpecifier(true); break;
}
//
- // Rule 45: nested_name_specifier_with_template ::= class_or_namespace_name_with_template :: nested_name_specifier_with_template
+ // Rule 45: nested_name_specifier_with_template ::= class_or_namespace_name_with_template ::
//
- case 45: { action. consumeNestedNameSpecifier(true); break;
+ case 45: { action. consumeNestedNameSpecifier(false); break;
}
//
- // Rule 46: nested_name_specifier_with_template ::= class_or_namespace_name_with_template ::
+ // Rule 46: class_or_namespace_name_with_template ::= template_opt class_or_namespace_name
//
- case 46: { action. consumeNestedNameSpecifier(false); break;
+ case 46: { action. consumeNameWithTemplateKeyword(); break;
}
//
- // Rule 47: class_or_namespace_name_with_template ::= template_opt class_or_namespace_name
+ // Rule 48: nested_name_specifier_opt ::= $Empty
//
- case 47: { action. consumeNameWithTemplateKeyword(); break;
+ case 48: { action. consumeNestedNameSpecifierEmpty(); break;
}
//
- // Rule 49: nested_name_specifier_opt ::= $Empty
+ // Rule 51: postfix_expression ::= postfix_expression [ expression ]
//
- case 49: { action. consumeNestedNameSpecifierEmpty(); break;
+ case 51: { action. consumeExpressionArraySubscript(); break;
}
//
- // Rule 52: postfix_expression ::= postfix_expression [ expression ]
+ // Rule 52: postfix_expression ::= postfix_expression ( expression_list_opt )
//
- case 52: { action. consumeExpressionArraySubscript(); break;
+ case 52: { action. consumeExpressionFunctionCall(); break;
}
//
- // Rule 53: postfix_expression ::= postfix_expression ( expression_list_opt )
+ // Rule 53: postfix_expression ::= simple_type_specifier ( expression_list_opt )
//
- case 53: { action. consumeExpressionFunctionCall(); break;
+ case 53: { action. consumeExpressionSimpleTypeConstructor(); break;
}
//
- // Rule 54: postfix_expression ::= simple_type_specifier ( expression_list_opt )
+ // Rule 54: postfix_expression ::= typename dcolon_opt nested_name_specifier <empty> identifier_name ( expression_list_opt )
//
- case 54: { action. consumeExpressionSimpleTypeConstructor(); break;
+ case 54: { action. consumeExpressionTypeName(); break;
}
//
- // Rule 55: postfix_expression ::= typename dcolon_opt nested_name_specifier <empty> identifier_name ( expression_list_opt )
+ // Rule 55: postfix_expression ::= typename dcolon_opt nested_name_specifier template_opt template_id_name ( expression_list_opt )
//
case 55: { action. consumeExpressionTypeName(); break;
}
//
- // Rule 56: postfix_expression ::= typename dcolon_opt nested_name_specifier template_opt template_id_name ( expression_list_opt )
+ // Rule 56: postfix_expression ::= postfix_expression . qualified_or_unqualified_name
//
- case 56: { action. consumeExpressionTypeName(); break;
+ case 56: { action. consumeExpressionFieldReference(false, false); break;
}
//
- // Rule 57: postfix_expression ::= postfix_expression . qualified_or_unqualified_name
+ // Rule 57: postfix_expression ::= postfix_expression -> qualified_or_unqualified_name
//
- case 57: { action. consumeExpressionFieldReference(false, false); break;
+ case 57: { action. consumeExpressionFieldReference(true, false); break;
}
//
- // Rule 58: postfix_expression ::= postfix_expression -> qualified_or_unqualified_name
+ // Rule 58: postfix_expression ::= postfix_expression . template qualified_or_unqualified_name
//
- case 58: { action. consumeExpressionFieldReference(true, false); break;
+ case 58: { action. consumeExpressionFieldReference(false, true); break;
}
//
- // Rule 59: postfix_expression ::= postfix_expression . template qualified_or_unqualified_name
+ // Rule 59: postfix_expression ::= postfix_expression -> template qualified_or_unqualified_name
//
- case 59: { action. consumeExpressionFieldReference(false, true); break;
+ case 59: { action. consumeExpressionFieldReference(true, true); break;
}
//
- // Rule 60: postfix_expression ::= postfix_expression -> template qualified_or_unqualified_name
+ // Rule 60: postfix_expression ::= postfix_expression . pseudo_destructor_name
//
- case 60: { action. consumeExpressionFieldReference(true, true); break;
+ case 60: { action. consumeExpressionFieldReference(false, false); break;
}
//
- // Rule 61: postfix_expression ::= postfix_expression . pseudo_destructor_name
+ // Rule 61: postfix_expression ::= postfix_expression -> pseudo_destructor_name
//
- case 61: { action. consumeExpressionFieldReference(false, false); break;
+ case 61: { action. consumeExpressionFieldReference(true, false); break;
}
//
- // Rule 62: postfix_expression ::= postfix_expression -> pseudo_destructor_name
+ // Rule 62: postfix_expression ::= postfix_expression ++
//
- case 62: { action. consumeExpressionFieldReference(true, false); break;
+ case 62: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break;
}
//
- // Rule 63: postfix_expression ::= postfix_expression ++
+ // Rule 63: postfix_expression ::= postfix_expression --
//
- case 63: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break;
+ case 63: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break;
}
//
- // Rule 64: postfix_expression ::= postfix_expression --
+ // Rule 64: postfix_expression ::= dynamic_cast < type_id > ( expression )
//
- case 64: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break;
+ case 64: { action. consumeExpressionCast(ICPPASTCastExpression.op_dynamic_cast); break;
}
//
- // Rule 65: postfix_expression ::= dynamic_cast < type_id > ( expression )
+ // Rule 65: postfix_expression ::= static_cast < type_id > ( expression )
//
- case 65: { action. consumeExpressionCast(ICPPASTCastExpression.op_dynamic_cast); break;
+ case 65: { action. consumeExpressionCast(ICPPASTCastExpression.op_static_cast); break;
}
//
- // Rule 66: postfix_expression ::= static_cast < type_id > ( expression )
+ // Rule 66: postfix_expression ::= reinterpret_cast < type_id > ( expression )
//
- case 66: { action. consumeExpressionCast(ICPPASTCastExpression.op_static_cast); break;
+ case 66: { action. consumeExpressionCast(ICPPASTCastExpression.op_reinterpret_cast); break;
}
//
- // Rule 67: postfix_expression ::= reinterpret_cast < type_id > ( expression )
+ // Rule 67: postfix_expression ::= const_cast < type_id > ( expression )
//
- case 67: { action. consumeExpressionCast(ICPPASTCastExpression.op_reinterpret_cast); break;
+ case 67: { action. consumeExpressionCast(ICPPASTCastExpression.op_const_cast); break;
}
//
- // Rule 68: postfix_expression ::= const_cast < type_id > ( expression )
+ // Rule 68: postfix_expression ::= typeid ( expression )
//
- case 68: { action. consumeExpressionCast(ICPPASTCastExpression.op_const_cast); break;
+ case 68: { action. consumeExpressionUnaryOperator(ICPPASTUnaryExpression.op_typeid); break;
}
//
- // Rule 69: postfix_expression ::= typeid ( expression )
+ // Rule 69: postfix_expression ::= typeid ( type_id )
//
- case 69: { action. consumeExpressionUnaryOperator(ICPPASTUnaryExpression.op_typeid); break;
+ case 69: { action. consumeExpressionTypeId(ICPPASTTypeIdExpression.op_typeid); break;
}
//
- // Rule 70: postfix_expression ::= typeid ( type_id )
+ // Rule 70: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt type_name :: destructor_type_name
//
- case 70: { action. consumeExpressionTypeId(ICPPASTTypeIdExpression.op_typeid); break;
+ case 70: { action. consumePsudoDestructorName(true); break;
}
//
- // Rule 71: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt type_name :: destructor_type_name
+ // Rule 71: pseudo_destructor_name ::= dcolon_opt nested_name_specifier template template_id_name :: destructor_type_name
//
case 71: { action. consumePsudoDestructorName(true); break;
}
//
- // Rule 72: pseudo_destructor_name ::= dcolon_opt nested_name_specifier template template_id_name :: destructor_type_name
+ // Rule 72: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt destructor_type_name
//
- case 72: { action. consumePsudoDestructorName(true); break;
+ case 72: { action. consumePsudoDestructorName(false); break;
}
//
- // Rule 73: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt destructor_type_name
+ // Rule 73: destructor_type_name ::= ~ identifier_token
//
- case 73: { action. consumePsudoDestructorName(false); break;
+ case 73: { action. consumeDestructorName(); break;
}
//
- // Rule 74: destructor_type_name ::= ~ identifier_token
+ // Rule 74: destructor_type_name ::= ~ template_id_name
//
- case 74: { action. consumeDestructorName(); break;
+ case 74: { action. consumeDestructorNameTemplateId(); break;
}
//
- // Rule 75: destructor_type_name ::= ~ template_id_name
+ // Rule 78: unary_expression ::= ++ cast_expression
//
- case 75: { action. consumeDestructorNameTemplateId(); break;
+ case 78: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixIncr); break;
}
//
- // Rule 79: unary_expression ::= ++ cast_expression
+ // Rule 79: unary_expression ::= -- cast_expression
//
- case 79: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixIncr); break;
+ case 79: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixDecr); break;
}
//
- // Rule 80: unary_expression ::= -- cast_expression
+ // Rule 80: unary_expression ::= & cast_expression
//
- case 80: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixDecr); break;
+ case 80: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_amper); break;
}
//
- // Rule 81: unary_expression ::= & cast_expression
+ // Rule 81: unary_expression ::= * cast_expression
//
- case 81: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_amper); break;
+ case 81: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_star); break;
}
//
- // Rule 82: unary_expression ::= * cast_expression
+ // Rule 82: unary_expression ::= + cast_expression
//
- case 82: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_star); break;
+ case 82: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_plus); break;
}
//
- // Rule 83: unary_expression ::= + cast_expression
+ // Rule 83: unary_expression ::= - cast_expression
//
- case 83: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_plus); break;
+ case 83: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_minus); break;
}
//
- // Rule 84: unary_expression ::= - cast_expression
+ // Rule 84: unary_expression ::= ~ cast_expression
//
- case 84: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_minus); break;
+ case 84: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_tilde); break;
}
//
- // Rule 85: unary_expression ::= ~ cast_expression
+ // Rule 85: unary_expression ::= ! cast_expression
//
- case 85: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_tilde); break;
+ case 85: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_not); break;
}
//
- // Rule 86: unary_expression ::= ! cast_expression
+ // Rule 86: unary_expression ::= sizeof unary_expression
//
- case 86: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_not); break;
+ case 86: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof); break;
}
//
- // Rule 87: unary_expression ::= sizeof unary_expression
+ // Rule 87: unary_expression ::= sizeof ( type_id )
//
- case 87: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof); break;
+ case 87: { action. consumeExpressionTypeId(ICPPASTTypeIdExpression.op_sizeof); break;
}
//
- // Rule 88: unary_expression ::= sizeof ( type_id )
+ // Rule 88: new_expression ::= dcolon_opt new new_placement_opt new_type_id <openscope-ast> new_array_expressions_opt new_initializer_opt
//
- case 88: { action. consumeExpressionTypeId(ICPPASTTypeIdExpression.op_sizeof); break;
+ case 88: { action. consumeExpressionNew(true); break;
}
//
- // Rule 89: new_expression ::= dcolon_opt new new_placement_opt new_type_id <openscope-ast> new_array_expressions_opt new_initializer_opt
+ // Rule 89: new_expression ::= dcolon_opt new new_placement_opt ( type_id ) <openscope-ast> new_array_expressions_opt new_initializer_opt
//
- case 89: { action. consumeExpressionNew(true); break;
+ case 89: { action. consumeExpressionNew(false); break;
}
//
- // Rule 90: new_expression ::= dcolon_opt new new_placement_opt ( type_id ) <openscope-ast> new_array_expressions_opt new_initializer_opt
+ // Rule 91: new_placement_opt ::= $Empty
//
- case 90: { action. consumeExpressionNew(false); break;
+ case 91: { action. consumeEmpty(); break;
}
//
- // Rule 92: new_placement_opt ::= $Empty
+ // Rule 92: new_type_id ::= type_specifier_seq
//
- case 92: { action. consumeEmpty(); break;
+ case 92: { action. consumeTypeId(false); break;
}
//
- // Rule 93: new_type_id ::= type_specifier_seq
+ // Rule 93: new_type_id ::= type_specifier_seq new_declarator
//
- case 93: { action. consumeTypeId(false); break;
+ case 93: { action. consumeTypeId(true); break;
}
//
- // Rule 94: new_type_id ::= type_specifier_seq new_declarator
+ // Rule 94: new_declarator ::= <openscope-ast> new_pointer_operators
//
- case 94: { action. consumeTypeId(true); break;
+ case 94: { action. consumeNewDeclarator(); break;
}
//
- // Rule 95: new_declarator ::= <openscope-ast> new_pointer_operators
+ // Rule 101: new_initializer ::= ( expression_list_opt )
//
- case 95: { action. consumeNewDeclarator(); break;
+ case 101: { action. consumeNewInitializer(); break;
}
//
- // Rule 102: new_initializer ::= ( expression_list_opt )
+ // Rule 103: new_initializer_opt ::= $Empty
//
- case 102: { action. consumeNewInitializer(); break;
+ case 103: { action. consumeEmpty(); break;
}
//
- // Rule 104: new_initializer_opt ::= $Empty
+ // Rule 104: delete_expression ::= dcolon_opt delete cast_expression
//
- case 104: { action. consumeEmpty(); break;
+ case 104: { action. consumeExpressionDelete(false); break;
}
//
- // Rule 105: delete_expression ::= dcolon_opt delete cast_expression
+ // Rule 105: delete_expression ::= dcolon_opt delete [ ] cast_expression
//
- case 105: { action. consumeExpressionDelete(false); break;
+ case 105: { action. consumeExpressionDelete(true); break;
}
//
- // Rule 106: delete_expression ::= dcolon_opt delete [ ] cast_expression
+ // Rule 107: cast_expression ::= ( type_id ) cast_expression
//
- case 106: { action. consumeExpressionDelete(true); break;
+ case 107: { action. consumeExpressionCast(ICPPASTCastExpression.op_cast); break;
}
//
- // Rule 108: cast_expression ::= ( type_id ) cast_expression
+ // Rule 109: pm_expression ::= pm_expression .* cast_expression
//
- case 108: { action. consumeExpressionCast(ICPPASTCastExpression.op_cast); break;
+ case 109: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmdot); break;
}
//
- // Rule 110: pm_expression ::= pm_expression .* cast_expression
+ // Rule 110: pm_expression ::= pm_expression ->* cast_expression
//
- case 110: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmdot); break;
+ case 110: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmarrow); break;
}
//
- // Rule 111: pm_expression ::= pm_expression ->* cast_expression
+ // Rule 112: multiplicative_expression ::= multiplicative_expression * pm_expression
//
- case 111: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmarrow); break;
+ case 112: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiply); break;
}
//
- // Rule 113: multiplicative_expression ::= multiplicative_expression * pm_expression
+ // Rule 113: multiplicative_expression ::= multiplicative_expression / pm_expression
//
- case 113: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiply); break;
+ case 113: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divide); break;
}
//
- // Rule 114: multiplicative_expression ::= multiplicative_expression / pm_expression
+ // Rule 114: multiplicative_expression ::= multiplicative_expression % pm_expression
//
- case 114: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divide); break;
+ case 114: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_modulo); break;
}
//
- // Rule 115: multiplicative_expression ::= multiplicative_expression % pm_expression
+ // Rule 116: additive_expression ::= additive_expression + multiplicative_expression
//
- case 115: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_modulo); break;
+ case 116: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plus); break;
}
//
- // Rule 117: additive_expression ::= additive_expression + multiplicative_expression
+ // Rule 117: additive_expression ::= additive_expression - multiplicative_expression
//
- case 117: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plus); break;
+ case 117: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minus); break;
}
//
- // Rule 118: additive_expression ::= additive_expression - multiplicative_expression
+ // Rule 119: shift_expression ::= shift_expression << additive_expression
//
- case 118: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minus); break;
+ case 119: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeft); break;
}
//
- // Rule 120: shift_expression ::= shift_expression << additive_expression
+ // Rule 120: shift_expression ::= shift_expression >> additive_expression
//
- case 120: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeft); break;
+ case 120: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRight); break;
}
//
- // Rule 121: shift_expression ::= shift_expression >> additive_expression
+ // Rule 122: relational_expression ::= relational_expression < shift_expression
//
- case 121: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRight); break;
+ case 122: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessThan); break;
}
//
- // Rule 123: relational_expression ::= relational_expression < shift_expression
+ // Rule 123: relational_expression ::= relational_expression > shift_expression
//
- case 123: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessThan); break;
+ case 123: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterThan); break;
}
//
- // Rule 124: relational_expression ::= relational_expression > shift_expression
+ // Rule 124: relational_expression ::= relational_expression <= shift_expression
//
- case 124: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterThan); break;
+ case 124: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessEqual); break;
}
//
- // Rule 125: relational_expression ::= relational_expression <= shift_expression
+ // Rule 125: relational_expression ::= relational_expression >= shift_expression
//
- case 125: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessEqual); break;
+ case 125: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterEqual); break;
}
//
- // Rule 126: relational_expression ::= relational_expression >= shift_expression
+ // Rule 127: equality_expression ::= equality_expression == relational_expression
//
- case 126: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterEqual); break;
+ case 127: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_equals); break;
}
//
- // Rule 128: equality_expression ::= equality_expression == relational_expression
+ // Rule 128: equality_expression ::= equality_expression != relational_expression
//
- case 128: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_equals); break;
+ case 128: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_notequals); break;
}
//
- // Rule 129: equality_expression ::= equality_expression != relational_expression
+ // Rule 130: and_expression ::= and_expression & equality_expression
//
- case 129: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_notequals); break;
+ case 130: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAnd); break;
}
//
- // Rule 131: and_expression ::= and_expression & equality_expression
+ // Rule 132: exclusive_or_expression ::= exclusive_or_expression ^ and_expression
//
- case 131: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAnd); break;
+ case 132: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXor); break;
}
//
- // Rule 133: exclusive_or_expression ::= exclusive_or_expression ^ and_expression
+ // Rule 134: inclusive_or_expression ::= inclusive_or_expression | exclusive_or_expression
//
- case 133: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXor); break;
+ case 134: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOr); break;
}
//
- // Rule 135: inclusive_or_expression ::= inclusive_or_expression | exclusive_or_expression
+ // Rule 136: logical_and_expression ::= logical_and_expression && inclusive_or_expression
//
- case 135: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOr); break;
+ case 136: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalAnd); break;
}
//
- // Rule 137: logical_and_expression ::= logical_and_expression && inclusive_or_expression
+ // Rule 138: logical_or_expression ::= logical_or_expression || logical_and_expression
//
- case 137: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalAnd); break;
+ case 138: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalOr); break;
}
//
- // Rule 139: logical_or_expression ::= logical_or_expression || logical_and_expression
+ // Rule 140: conditional_expression ::= logical_or_expression ? expression : assignment_expression
//
- case 139: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalOr); break;
+ case 140: { action. consumeExpressionConditional(); break;
}
//
- // Rule 141: conditional_expression ::= logical_or_expression ? expression : assignment_expression
+ // Rule 141: throw_expression ::= throw
//
- case 141: { action. consumeExpressionConditional(); break;
+ case 141: { action. consumeExpressionThrow(false); break;
}
//
- // Rule 142: throw_expression ::= throw
+ // Rule 142: throw_expression ::= throw assignment_expression
//
- case 142: { action. consumeExpressionThrow(false); break;
+ case 142: { action. consumeExpressionThrow(true); break;
}
//
- // Rule 143: throw_expression ::= throw assignment_expression
+ // Rule 145: assignment_expression ::= logical_or_expression = assignment_expression
//
- case 143: { action. consumeExpressionThrow(true); break;
+ case 145: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_assign); break;
}
//
- // Rule 146: assignment_expression ::= logical_or_expression = assignment_expression
+ // Rule 146: assignment_expression ::= logical_or_expression *= assignment_expression
//
- case 146: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_assign); break;
+ case 146: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiplyAssign); break;
}
//
- // Rule 147: assignment_expression ::= logical_or_expression *= assignment_expression
+ // Rule 147: assignment_expression ::= logical_or_expression /= assignment_expression
//
- case 147: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiplyAssign); break;
+ case 147: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divideAssign); break;
}
//
- // Rule 148: assignment_expression ::= logical_or_expression /= assignment_expression
+ // Rule 148: assignment_expression ::= logical_or_expression %= assignment_expression
//
- case 148: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divideAssign); break;
+ case 148: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_moduloAssign); break;
}
//
- // Rule 149: assignment_expression ::= logical_or_expression %= assignment_expression
+ // Rule 149: assignment_expression ::= logical_or_expression += assignment_expression
//
- case 149: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_moduloAssign); break;
+ case 149: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plusAssign); break;
}
//
- // Rule 150: assignment_expression ::= logical_or_expression += assignment_expression
+ // Rule 150: assignment_expression ::= logical_or_expression -= assignment_expression
//
- case 150: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plusAssign); break;
+ case 150: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minusAssign); break;
}
//
- // Rule 151: assignment_expression ::= logical_or_expression -= assignment_expression
+ // Rule 151: assignment_expression ::= logical_or_expression >>= assignment_expression
//
- case 151: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minusAssign); break;
+ case 151: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRightAssign); break;
}
//
- // Rule 152: assignment_expression ::= logical_or_expression >>= assignment_expression
+ // Rule 152: assignment_expression ::= logical_or_expression <<= assignment_expression
//
- case 152: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRightAssign); break;
+ case 152: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeftAssign); break;
}
//
- // Rule 153: assignment_expression ::= logical_or_expression <<= assignment_expression
+ // Rule 153: assignment_expression ::= logical_or_expression &= assignment_expression
//
- case 153: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeftAssign); break;
+ case 153: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAndAssign); break;
}
//
- // Rule 154: assignment_expression ::= logical_or_expression &= assignment_expression
+ // Rule 154: assignment_expression ::= logical_or_expression ^= assignment_expression
//
- case 154: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAndAssign); break;
+ case 154: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXorAssign); break;
}
//
- // Rule 155: assignment_expression ::= logical_or_expression ^= assignment_expression
+ // Rule 155: assignment_expression ::= logical_or_expression |= assignment_expression
//
- case 155: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXorAssign); break;
+ case 155: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOrAssign); break;
}
//
- // Rule 156: assignment_expression ::= logical_or_expression |= assignment_expression
+ // Rule 157: expression_list ::= <openscope-ast> expression_list_actual
//
- case 156: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOrAssign); break;
+ case 157: { action. consumeExpressionList(); break;
}
//
- // Rule 158: expression_list ::= <openscope-ast> expression_list_actual
+ // Rule 161: expression_list_opt ::= $Empty
//
- case 158: { action. consumeExpressionList(); break;
+ case 161: { action. consumeEmpty(); break;
}
//
- // Rule 162: expression_list_opt ::= $Empty
+ // Rule 163: expression_opt ::= $Empty
//
- case 162: { action. consumeEmpty(); break;
+ case 163: { action. consumeEmpty(); break;
}
//
- // Rule 164: expression_opt ::= $Empty
+ // Rule 166: constant_expression_opt ::= $Empty
//
- case 164: { action. consumeEmpty(); break;
+ case 166: { action. consumeEmpty(); break;
}
//
- // Rule 167: constant_expression_opt ::= $Empty
+ // Rule 175: statement ::= ERROR_TOKEN
//
- case 167: { action. consumeEmpty(); break;
+ case 175: { action. consumeStatementProblem(); break;
}
//
- // Rule 176: statement ::= ERROR_TOKEN
+ // Rule 176: labeled_statement ::= identifier : statement
//
- case 176: { action. consumeStatementProblem(); break;
+ case 176: { action. consumeStatementLabeled(); break;
}
//
- // Rule 177: labeled_statement ::= identifier : statement
+ // Rule 177: labeled_statement ::= case constant_expression : statement
//
- case 177: { action. consumeStatementLabeled(); break;
+ case 177: { action. consumeStatementCase(); break;
}
//
- // Rule 178: labeled_statement ::= case constant_expression : statement
+ // Rule 178: labeled_statement ::= default : statement
//
- case 178: { action. consumeStatementCase(); break;
+ case 178: { action. consumeStatementDefault(); break;
}
//
- // Rule 179: labeled_statement ::= default : statement
+ // Rule 179: expression_statement ::= expression ;
//
- case 179: { action. consumeStatementDefault(); break;
+ case 179: { action. consumeStatementExpression(); break;
}
//
- // Rule 180: expression_statement ::= expression ;
+ // Rule 180: expression_statement ::= ;
//
- case 180: { action. consumeStatementExpression(); break;
+ case 180: { action. consumeStatementNull(); break;
}
//
- // Rule 181: expression_statement ::= ;
+ // Rule 181: compound_statement ::= { <openscope-ast> statement_seq }
//
- case 181: { action. consumeStatementNull(); break;
+ case 181: { action. consumeStatementCompoundStatement(true); break;
}
//
- // Rule 182: compound_statement ::= { <openscope-ast> statement_seq }
+ // Rule 182: compound_statement ::= { }
//
- case 182: { action. consumeStatementCompoundStatement(true); break;
+ case 182: { action. consumeStatementCompoundStatement(false); break;
}
//
- // Rule 183: compound_statement ::= { }
+ // Rule 185: selection_statement ::= if ( condition ) statement
//
- case 183: { action. consumeStatementCompoundStatement(false); break;
+ case 185: { action. consumeStatementIf(false); break;
}
//
- // Rule 186: selection_statement ::= if ( condition ) statement
+ // Rule 186: selection_statement ::= if ( condition ) statement else statement
//
- case 186: { action. consumeStatementIf(false); break;
+ case 186: { action. consumeStatementIf(true); break;
}
//
- // Rule 187: selection_statement ::= if ( condition ) statement else statement
+ // Rule 187: selection_statement ::= switch ( condition ) statement
//
- case 187: { action. consumeStatementIf(true); break;
+ case 187: { action. consumeStatementSwitch(); break;
}
//
- // Rule 188: selection_statement ::= switch ( condition ) statement
+ // Rule 189: condition ::= type_specifier_seq declarator = assignment_expression
//
- case 188: { action. consumeStatementSwitch(); break;
+ case 189: { action. consumeConditionDeclaration(); break;
}
//
- // Rule 190: condition ::= type_specifier_seq declarator = assignment_expression
+ // Rule 191: condition_opt ::= $Empty
//
- case 190: { action. consumeConditionDeclaration(); break;
+ case 191: { action. consumeEmpty(); break;
}
//
- // Rule 192: condition_opt ::= $Empty
+ // Rule 192: iteration_statement ::= while ( condition ) statement
//
- case 192: { action. consumeEmpty(); break;
+ case 192: { action. consumeStatementWhileLoop(); break;
}
//
- // Rule 193: iteration_statement ::= while ( condition ) statement
+ // Rule 193: iteration_statement ::= do statement while ( expression ) ;
//
- case 193: { action. consumeStatementWhileLoop(); break;
+ case 193: { action. consumeStatementDoLoop(); break;
}
//
- // Rule 194: iteration_statement ::= do statement while ( expression ) ;
+ // Rule 194: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement
//
- case 194: { action. consumeStatementDoLoop(); break;
+ case 194: { action. consumeStatementForLoop(); break;
}
//
- // Rule 195: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement
+ // Rule 196: for_init_statement ::= simple_declaration_with_declspec
//
- case 195: { action. consumeStatementForLoop(); break;
+ case 196: { action. consumeStatementDeclaration(); break;
}
//
- // Rule 197: for_init_statement ::= simple_declaration_with_declspec
+ // Rule 197: jump_statement ::= break ;
//
- case 197: { action. consumeStatementDeclaration(); break;
+ case 197: { action. consumeStatementBreak(); break;
}
//
- // Rule 198: jump_statement ::= break ;
+ // Rule 198: jump_statement ::= continue ;
//
- case 198: { action. consumeStatementBreak(); break;
+ case 198: { action. consumeStatementContinue(); break;
}
//
- // Rule 199: jump_statement ::= continue ;
+ // Rule 199: jump_statement ::= return expression ;
//
- case 199: { action. consumeStatementContinue(); break;
+ case 199: { action. consumeStatementReturn(true); break;
}
//
- // Rule 200: jump_statement ::= return expression ;
+ // Rule 200: jump_statement ::= return ;
//
- case 200: { action. consumeStatementReturn(true); break;
+ case 200: { action. consumeStatementReturn(false); break;
}
//
- // Rule 201: jump_statement ::= return ;
+ // Rule 201: jump_statement ::= goto identifier_token ;
//
- case 201: { action. consumeStatementReturn(false); break;
+ case 201: { action. consumeStatementGoto(); break;
}
//
- // Rule 202: jump_statement ::= goto identifier_token ;
+ // Rule 202: declaration_statement ::= block_declaration
//
- case 202: { action. consumeStatementGoto(); break;
+ case 202: { action. consumeStatementDeclarationWithDisambiguation(); break;
}
//
- // Rule 203: declaration_statement ::= block_declaration
+ // Rule 203: declaration_statement ::= function_definition
//
- case 203: { action. consumeStatementDeclarationWithDisambiguation(); break;
+ case 203: { action. consumeStatementDeclaration(); break;
}
//
- // Rule 204: declaration_statement ::= function_definition
+ // Rule 211: declaration ::= ERROR_TOKEN
//
- case 204: { action. consumeStatementDeclaration(); break;
+ case 211: { action. consumeDeclarationProblem(); break;
}
//
- // Rule 212: declaration ::= ERROR_TOKEN
+ // Rule 221: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ;
//
- case 212: { action. consumeDeclarationProblem(); break;
+ case 221: { action. consumeDeclarationSimple(true); break;
}
//
- // Rule 222: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ;
+ // Rule 222: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ;
//
case 222: { action. consumeDeclarationSimple(true); break;
}
//
- // Rule 223: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ;
+ // Rule 223: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers
//
- case 223: { action. consumeDeclarationSimple(true); break;
+ case 223: { action. consumeDeclarationSpecifiersSimple(); break;
}
//
- // Rule 224: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers
+ // Rule 224: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers
//
- case 224: { action. consumeDeclarationSpecifiersSimple(); break;
+ case 224: { action. consumeDeclarationSpecifiersComposite(); break;
}
//
- // Rule 225: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers
+ // Rule 225: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers
//
case 225: { action. consumeDeclarationSpecifiersComposite(); break;
}
//
- // Rule 226: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers
+ // Rule 226: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers
//
case 226: { action. consumeDeclarationSpecifiersComposite(); break;
}
//
- // Rule 227: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers
+ // Rule 227: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers
//
- case 227: { action. consumeDeclarationSpecifiersComposite(); break;
+ case 227: { action. consumeDeclarationSpecifiersTypeName(); break;
}
//
- // Rule 228: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers
+ // Rule 229: declaration_specifiers_opt ::= $Empty
//
- case 228: { action. consumeDeclarationSpecifiersTypeName(); break;
+ case 229: { action. consumeEmpty(); break;
}
//
- // Rule 230: declaration_specifiers_opt ::= $Empty
+ // Rule 233: no_type_declaration_specifier ::= friend
//
- case 230: { action. consumeEmpty(); break;
+ case 233: { action. consumeToken(); break;
}
//
- // Rule 234: no_type_declaration_specifier ::= friend
+ // Rule 234: no_type_declaration_specifier ::= typedef
//
case 234: { action. consumeToken(); break;
}
//
- // Rule 235: no_type_declaration_specifier ::= typedef
+ // Rule 254: storage_class_specifier ::= auto
//
- case 235: { action. consumeToken(); break;
+ case 254: { action. consumeToken(); break;
}
//
- // Rule 255: storage_class_specifier ::= auto
+ // Rule 255: storage_class_specifier ::= register
//
case 255: { action. consumeToken(); break;
}
//
- // Rule 256: storage_class_specifier ::= register
+ // Rule 256: storage_class_specifier ::= static
//
case 256: { action. consumeToken(); break;
}
//
- // Rule 257: storage_class_specifier ::= static
+ // Rule 257: storage_class_specifier ::= extern
//
case 257: { action. consumeToken(); break;
}
//
- // Rule 258: storage_class_specifier ::= extern
+ // Rule 258: storage_class_specifier ::= mutable
//
case 258: { action. consumeToken(); break;
}
//
- // Rule 259: storage_class_specifier ::= mutable
+ // Rule 259: function_specifier ::= inline
//
case 259: { action. consumeToken(); break;
}
//
- // Rule 260: function_specifier ::= inline
+ // Rule 260: function_specifier ::= virtual
//
case 260: { action. consumeToken(); break;
}
//
- // Rule 261: function_specifier ::= virtual
+ // Rule 261: function_specifier ::= explicit
//
case 261: { action. consumeToken(); break;
}
//
- // Rule 262: function_specifier ::= explicit
+ // Rule 262: simple_type_specifier ::= char
//
case 262: { action. consumeToken(); break;
}
//
- // Rule 263: simple_type_specifier ::= char
+ // Rule 263: simple_type_specifier ::= wchar_t
//
case 263: { action. consumeToken(); break;
}
//
- // Rule 264: simple_type_specifier ::= wchar_t
+ // Rule 264: simple_type_specifier ::= bool
//
case 264: { action. consumeToken(); break;
}
//
- // Rule 265: simple_type_specifier ::= bool
+ // Rule 265: simple_type_specifier ::= short
//
case 265: { action. consumeToken(); break;
}
//
- // Rule 266: simple_type_specifier ::= short
+ // Rule 266: simple_type_specifier ::= int
//
case 266: { action. consumeToken(); break;
}
//
- // Rule 267: simple_type_specifier ::= int
+ // Rule 267: simple_type_specifier ::= long
//
case 267: { action. consumeToken(); break;
}
//
- // Rule 268: simple_type_specifier ::= long
+ // Rule 268: simple_type_specifier ::= signed
//
case 268: { action. consumeToken(); break;
}
//
- // Rule 269: simple_type_specifier ::= signed
+ // Rule 269: simple_type_specifier ::= unsigned
//
case 269: { action. consumeToken(); break;
}
//
- // Rule 270: simple_type_specifier ::= unsigned
+ // Rule 270: simple_type_specifier ::= float
//
case 270: { action. consumeToken(); break;
}
//
- // Rule 271: simple_type_specifier ::= float
+ // Rule 271: simple_type_specifier ::= double
//
case 271: { action. consumeToken(); break;
}
//
- // Rule 272: simple_type_specifier ::= double
+ // Rule 272: simple_type_specifier ::= void
//
case 272: { action. consumeToken(); break;
}
//
- // Rule 273: simple_type_specifier ::= void
+ // Rule 275: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name
//
- case 273: { action. consumeToken(); break;
+ case 275: { action. consumeQualifiedId(false); break;
}
//
- // Rule 276: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name
+ // Rule 276: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name
//
case 276: { action. consumeQualifiedId(false); break;
}
//
- // Rule 277: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name
+ // Rule 277: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name
//
case 277: { action. consumeQualifiedId(false); break;
}
//
- // Rule 278: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name
+ // Rule 278: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name
//
- case 278: { action. consumeQualifiedId(false); break;
+ case 278: { action. consumeQualifiedId(true); break;
}
//
- // Rule 279: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name
+ // Rule 280: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name
//
- case 279: { action. consumeQualifiedId(true); break;
+ case 280: { action. consumeTypeSpecifierElaborated(false); break;
}
//
- // Rule 281: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name
+ // Rule 281: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt template_opt template_id_name
//
- case 281: { action. consumeTypeSpecifierElaborated(false); break;
+ case 281: { action. consumeTypeSpecifierElaborated(true); break;
}
//
- // Rule 282: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt template_opt template_id_name
+ // Rule 282: elaborated_type_specifier ::= enum elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name
//
- case 282: { action. consumeTypeSpecifierElaborated(true); break;
+ case 282: { action. consumeTypeSpecifierElaborated(false); break;
}
//
- // Rule 283: elaborated_type_specifier ::= enum elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name
+ // Rule 284: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt }
//
- case 283: { action. consumeTypeSpecifierElaborated(false); break;
+ case 284: { action. consumeTypeSpecifierEnumeration(false); break;
}
//
- // Rule 285: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt }
+ // Rule 285: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt }
//
- case 285: { action. consumeTypeSpecifierEnumeration(false); break;
+ case 285: { action. consumeTypeSpecifierEnumeration(true); break;
}
//
- // Rule 286: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt }
+ // Rule 291: enumerator_definition ::= identifier_token
//
- case 286: { action. consumeTypeSpecifierEnumeration(true); break;
+ case 291: { action. consumeEnumerator(false); break;
}
//
- // Rule 292: enumerator_definition ::= identifier_token
+ // Rule 292: enumerator_definition ::= identifier_token = constant_expression
//
- case 292: { action. consumeEnumerator(false); break;
+ case 292: { action. consumeEnumerator(true); break;
}
//
- // Rule 293: enumerator_definition ::= identifier_token = constant_expression
+ // Rule 296: named_namespace_definition ::= namespace namespace_name { <openscope-ast> declaration_seq_opt }
//
- case 293: { action. consumeEnumerator(true); break;
+ case 296: { action. consumeNamespaceDefinition(true); break;
}
//
- // Rule 297: named_namespace_definition ::= namespace namespace_name { <openscope-ast> declaration_seq_opt }
+ // Rule 297: unnamed_namespace_definition ::= namespace { <openscope-ast> declaration_seq_opt }
//
- case 297: { action. consumeNamespaceDefinition(true); break;
+ case 297: { action. consumeNamespaceDefinition(false); break;
}
//
- // Rule 298: unnamed_namespace_definition ::= namespace { <openscope-ast> declaration_seq_opt }
+ // Rule 298: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ;
//
- case 298: { action. consumeNamespaceDefinition(false); break;
+ case 298: { action. consumeNamespaceAliasDefinition(); break;
}
//
- // Rule 299: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ;
+ // Rule 299: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ;
//
- case 299: { action. consumeNamespaceAliasDefinition(); break;
+ case 299: { action. consumeUsingDeclaration(); break;
}
//
- // Rule 300: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ;
+ // Rule 300: typename_opt ::= typename
//
- case 300: { action. consumeUsingDeclaration(); break;
+ case 300: { action. consumePlaceHolder(); break;
}
//
- // Rule 301: typename_opt ::= typename
+ // Rule 301: typename_opt ::= $Empty
//
- case 301: { action. consumePlaceHolder(); break;
+ case 301: { action. consumeEmpty(); break;
}
//
- // Rule 302: typename_opt ::= $Empty
+ // Rule 302: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ;
//
- case 302: { action. consumeEmpty(); break;
+ case 302: { action. consumeUsingDirective(); break;
}
//
- // Rule 303: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ;
+ // Rule 303: asm_definition ::= asm ( stringlit ) ;
//
- case 303: { action. consumeUsingDirective(); break;
+ case 303: { action. consumeDeclarationASM(); break;
}
//
- // Rule 304: asm_definition ::= asm ( stringlit ) ;
+ // Rule 304: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt }
//
- case 304: { action. consumeDeclarationASM(); break;
+ case 304: { action. consumeLinkageSpecification(); break;
}
//
- // Rule 305: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt }
+ // Rule 305: linkage_specification ::= extern stringlit <openscope-ast> declaration
//
case 305: { action. consumeLinkageSpecification(); break;
}
//
- // Rule 306: linkage_specification ::= extern stringlit <openscope-ast> declaration
+ // Rule 311: init_declarator ::= complete_declarator initializer
//
- case 306: { action. consumeLinkageSpecification(); break;
+ case 311: { action. consumeDeclaratorWithInitializer(true); break;
}
//
- // Rule 312: init_declarator ::= complete_declarator initializer
+ // Rule 314: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
//
- case 312: { action. consumeDeclaratorWithInitializer(true); break;
+ case 314: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 315: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
+ // Rule 316: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
//
- case 315: { action. consumeDeclaratorWithPointer(true); break;
+ case 316: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 317: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
+ // Rule 319: basic_direct_declarator ::= declarator_id_name
//
- case 317: { action. consumeDeclaratorWithPointer(true); break;
+ case 319: { action. consumeDirectDeclaratorIdentifier(); break;
}
//
- // Rule 320: basic_direct_declarator ::= declarator_id_name
+ // Rule 320: basic_direct_declarator ::= ( declarator )
//
- case 320: { action. consumeDirectDeclaratorIdentifier(); break;
+ case 320: { action. consumeDirectDeclaratorBracketed(); break;
}
//
- // Rule 321: basic_direct_declarator ::= ( declarator )
+ // Rule 321: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
//
- case 321: { action. consumeDirectDeclaratorBracketed(); break;
+ case 321: { action. consumeDirectDeclaratorFunctionDeclarator(true); break;
}
//
- // Rule 322: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
+ // Rule 322: array_direct_declarator ::= array_direct_declarator array_modifier
//
- case 322: { action. consumeDirectDeclaratorFunctionDeclarator(true); break;
+ case 322: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 323: array_direct_declarator ::= array_direct_declarator array_modifier
+ // Rule 323: array_direct_declarator ::= basic_direct_declarator array_modifier
//
case 323: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 324: array_direct_declarator ::= basic_direct_declarator array_modifier
+ // Rule 324: array_modifier ::= [ constant_expression ]
//
- case 324: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 324: { action. consumeDirectDeclaratorArrayModifier(true); break;
}
//
- // Rule 325: array_modifier ::= [ constant_expression ]
+ // Rule 325: array_modifier ::= [ ]
//
- case 325: { action. consumeDirectDeclaratorArrayModifier(true); break;
+ case 325: { action. consumeDirectDeclaratorArrayModifier(false); break;
}
//
- // Rule 326: array_modifier ::= [ ]
+ // Rule 326: ptr_operator ::= pointer_hook * <openscope-ast> cv_qualifier_seq_opt
//
- case 326: { action. consumeDirectDeclaratorArrayModifier(false); break;
+ case 326: { action. consumePointer(); break;
}
//
- // Rule 327: ptr_operator ::= pointer_hook * <openscope-ast> cv_qualifier_seq_opt
+ // Rule 327: ptr_operator ::= pointer_hook &
//
- case 327: { action. consumePointer(); break;
+ case 327: { action. consumeReferenceOperator(); break;
}
//
- // Rule 328: ptr_operator ::= pointer_hook &
+ // Rule 328: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * <openscope-ast> cv_qualifier_seq_opt
//
- case 328: { action. consumeReferenceOperator(); break;
+ case 328: { action. consumePointerToMember(); break;
}
//
- // Rule 329: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * <openscope-ast> cv_qualifier_seq_opt
+ // Rule 335: cv_qualifier ::= const
//
- case 329: { action. consumePointerToMember(); break;
+ case 335: { action. consumeToken(); break;
}
//
- // Rule 336: cv_qualifier ::= const
+ // Rule 336: cv_qualifier ::= volatile
//
case 336: { action. consumeToken(); break;
}
//
- // Rule 337: cv_qualifier ::= volatile
+ // Rule 338: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name
//
- case 337: { action. consumeToken(); break;
+ case 338: { action. consumeQualifiedId(false); break;
}
//
- // Rule 339: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name
+ // Rule 339: type_id ::= type_specifier_seq
//
- case 339: { action. consumeQualifiedId(false); break;
+ case 339: { action. consumeTypeId(false); break;
}
//
- // Rule 340: type_id ::= type_specifier_seq
+ // Rule 340: type_id ::= type_specifier_seq abstract_declarator
//
- case 340: { action. consumeTypeId(false); break;
+ case 340: { action. consumeTypeId(true); break;
}
//
- // Rule 341: type_id ::= type_specifier_seq abstract_declarator
+ // Rule 343: abstract_declarator ::= <openscope-ast> ptr_operator_seq
//
- case 341: { action. consumeTypeId(true); break;
+ case 343: { action. consumeDeclaratorWithPointer(false); break;
}
//
- // Rule 344: abstract_declarator ::= <openscope-ast> ptr_operator_seq
+ // Rule 344: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator
//
- case 344: { action. consumeDeclaratorWithPointer(false); break;
+ case 344: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 345: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator
+ // Rule 348: basic_direct_abstract_declarator ::= ( abstract_declarator )
//
- case 345: { action. consumeDeclaratorWithPointer(true); break;
+ case 348: { action. consumeDirectDeclaratorBracketed(); break;
}
//
- // Rule 349: basic_direct_abstract_declarator ::= ( abstract_declarator )
+ // Rule 349: basic_direct_abstract_declarator ::= ( )
//
- case 349: { action. consumeDirectDeclaratorBracketed(); break;
+ case 349: { action. consumeAbstractDeclaratorEmpty(); break;
}
//
- // Rule 350: basic_direct_abstract_declarator ::= ( )
+ // Rule 350: array_direct_abstract_declarator ::= array_modifier
//
- case 350: { action. consumeAbstractDeclaratorEmpty(); break;
+ case 350: { action. consumeDirectDeclaratorArrayDeclarator(false); break;
}
//
- // Rule 351: array_direct_abstract_declarator ::= array_modifier
+ // Rule 351: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
//
- case 351: { action. consumeDirectDeclaratorArrayDeclarator(false); break;
+ case 351: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 352: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
+ // Rule 352: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
//
case 352: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 353: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
+ // Rule 353: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
//
- case 353: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 353: { action. consumeDirectDeclaratorFunctionDeclarator(true); break;
}
//
- // Rule 354: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
+ // Rule 354: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
//
- case 354: { action. consumeDirectDeclaratorFunctionDeclarator(true); break;
+ case 354: { action. consumeDirectDeclaratorFunctionDeclarator(false); break;
}
//
- // Rule 355: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
+ // Rule 355: parameter_declaration_clause ::= parameter_declaration_list_opt ...
//
- case 355: { action. consumeDirectDeclaratorFunctionDeclarator(false); break;
+ case 355: { action. consumePlaceHolder(); break;
}
//
- // Rule 356: parameter_declaration_clause ::= parameter_declaration_list_opt ...
+ // Rule 356: parameter_declaration_clause ::= parameter_declaration_list_opt
//
- case 356: { action. consumePlaceHolder(); break;
+ case 356: { action. consumeEmpty(); break;
}
//
- // Rule 357: parameter_declaration_clause ::= parameter_declaration_list_opt
+ // Rule 357: parameter_declaration_clause ::= parameter_declaration_list , ...
//
- case 357: { action. consumeEmpty(); break;
+ case 357: { action. consumePlaceHolder(); break;
}
//
- // Rule 358: parameter_declaration_clause ::= parameter_declaration_list , ...
+ // Rule 363: abstract_declarator_opt ::= $Empty
//
- case 358: { action. consumePlaceHolder(); break;
+ case 363: { action. consumeEmpty(); break;
}
//
- // Rule 364: abstract_declarator_opt ::= $Empty
+ // Rule 364: parameter_declaration ::= declaration_specifiers parameter_init_declarator
//
- case 364: { action. consumeEmpty(); break;
+ case 364: { action. consumeParameterDeclaration(); break;
}
//
- // Rule 365: parameter_declaration ::= declaration_specifiers parameter_init_declarator
+ // Rule 365: parameter_declaration ::= declaration_specifiers
//
- case 365: { action. consumeParameterDeclaration(); break;
+ case 365: { action. consumeParameterDeclarationWithoutDeclarator(); break;
}
//
- // Rule 366: parameter_declaration ::= declaration_specifiers
+ // Rule 367: parameter_init_declarator ::= declarator = parameter_initializer
//
- case 366: { action. consumeParameterDeclarationWithoutDeclarator(); break;
+ case 367: { action. consumeDeclaratorWithInitializer(true); break;
}
//
- // Rule 368: parameter_init_declarator ::= declarator = parameter_initializer
+ // Rule 369: parameter_init_declarator ::= abstract_declarator = parameter_initializer
//
- case 368: { action. consumeDeclaratorWithInitializer(true); break;
+ case 369: { action. consumeDeclaratorWithInitializer(true); break;
}
//
- // Rule 370: parameter_init_declarator ::= abstract_declarator = parameter_initializer
+ // Rule 370: parameter_init_declarator ::= = parameter_initializer
//
- case 370: { action. consumeDeclaratorWithInitializer(true); break;
+ case 370: { action. consumeDeclaratorWithInitializer(false); break;
}
//
- // Rule 371: parameter_init_declarator ::= = parameter_initializer
+ // Rule 371: parameter_initializer ::= assignment_expression
//
- case 371: { action. consumeDeclaratorWithInitializer(false); break;
+ case 371: { action. consumeInitializer(); break;
}
//
- // Rule 372: parameter_initializer ::= assignment_expression
+ // Rule 372: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body
//
- case 372: { action. consumeInitializer(); break;
+ case 372: { action. consumeFunctionDefinition(false); break;
}
//
- // Rule 373: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body
+ // Rule 373: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq
//
- case 373: { action. consumeFunctionDefinition(false); break;
+ case 373: { action. consumeFunctionDefinition(true); break;
}
//
- // Rule 374: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq
+ // Rule 376: initializer ::= ( expression_list )
//
- case 374: { action. consumeFunctionDefinition(true); break;
+ case 376: { action. consumeInitializerConstructor(); break;
}
//
- // Rule 377: initializer ::= ( expression_list )
+ // Rule 377: initializer_clause ::= assignment_expression
//
- case 377: { action. consumeInitializerConstructor(); break;
+ case 377: { action. consumeInitializer(); break;
}
//
- // Rule 378: initializer_clause ::= assignment_expression
+ // Rule 378: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list , } end_initializer_list
//
- case 378: { action. consumeInitializer(); break;
+ case 378: { action. consumeInitializerList(); break;
}
//
- // Rule 379: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list , } end_initializer_list
+ // Rule 379: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list } end_initializer_list
//
case 379: { action. consumeInitializerList(); break;
}
//
- // Rule 380: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list } end_initializer_list
+ // Rule 380: initializer_clause ::= { <openscope-ast> }
//
case 380: { action. consumeInitializerList(); break;
}
//
- // Rule 381: initializer_clause ::= { <openscope-ast> }
+ // Rule 381: start_initializer_list ::= $Empty
//
- case 381: { action. consumeInitializerList(); break;
+ case 381: { action. initializerListStart(); break;
}
//
- // Rule 382: start_initializer_list ::= $Empty
+ // Rule 382: end_initializer_list ::= $Empty
//
- case 382: { action. initializerListStart(); break;
+ case 382: { action. initializerListEnd(); break;
}
//
- // Rule 383: end_initializer_list ::= $Empty
+ // Rule 387: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt }
//
- case 383: { action. initializerListEnd(); break;
+ case 387: { action. consumeClassSpecifier(); break;
}
//
- // Rule 388: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt }
+ // Rule 388: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook <openscope-ast> base_clause_opt
//
- case 388: { action. consumeClassSpecifier(); break;
+ case 388: { action. consumeClassHead(false); break;
}
//
- // Rule 389: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook <openscope-ast> base_clause_opt
+ // Rule 389: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt
//
case 389: { action. consumeClassHead(false); break;
}
//
- // Rule 390: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt
+ // Rule 390: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook <openscope-ast> base_clause_opt
//
- case 390: { action. consumeClassHead(false); break;
+ case 390: { action. consumeClassHead(true); break;
}
//
- // Rule 391: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook <openscope-ast> base_clause_opt
+ // Rule 391: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt
//
case 391: { action. consumeClassHead(true); break;
}
//
- // Rule 392: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt
+ // Rule 395: identifier_name_opt ::= $Empty
//
- case 392: { action. consumeClassHead(true); break;
- }
+ case 395: { action. consumeEmpty(); break;
+ }
//
- // Rule 396: identifier_name_opt ::= $Empty
+ // Rule 399: visibility_label ::= access_specifier_keyword :
//
- case 396: { action. consumeEmpty(); break;
- }
+ case 399: { action. consumeVisibilityLabel(); break;
+ }
//
- // Rule 400: visibility_label ::= access_specifier_keyword :
+ // Rule 400: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ;
//
- case 400: { action. consumeVisibilityLabel(); break;
+ case 400: { action. consumeDeclarationSimple(true); break;
}
//
- // Rule 401: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ;
+ // Rule 401: member_declaration ::= declaration_specifiers_opt ;
//
- case 401: { action. consumeDeclarationSimple(true); break;
+ case 401: { action. consumeDeclarationSimple(false); break;
}
//
- // Rule 402: member_declaration ::= declaration_specifiers_opt ;
+ // Rule 404: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ;
//
- case 402: { action. consumeDeclarationSimple(false); break;
+ case 404: { action. consumeMemberDeclarationQualifiedId(); break;
}
//
- // Rule 405: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ;
+ // Rule 410: member_declaration ::= ERROR_TOKEN
//
- case 405: { action. consumeMemberDeclarationQualifiedId(); break;
+ case 410: { action. consumeDeclarationProblem(); break;
}
//
- // Rule 411: member_declaration ::= ERROR_TOKEN
+ // Rule 419: member_declarator ::= declarator constant_initializer
//
- case 411: { action. consumeDeclarationProblem(); break;
+ case 419: { action. consumeMemberDeclaratorWithInitializer(); break;
}
//
- // Rule 420: member_declarator ::= declarator constant_initializer
+ // Rule 420: member_declarator ::= bit_field_declarator : constant_expression
//
- case 420: { action. consumeMemberDeclaratorWithInitializer(); break;
+ case 420: { action. consumeBitField(true); break;
}
//
- // Rule 421: member_declarator ::= bit_field_declarator : constant_expression
+ // Rule 421: member_declarator ::= : constant_expression
//
- case 421: { action. consumeBitField(true); break;
+ case 421: { action. consumeBitField(false); break;
}
//
- // Rule 422: member_declarator ::= : constant_expression
+ // Rule 422: bit_field_declarator ::= identifier_name
//
- case 422: { action. consumeBitField(false); break;
+ case 422: { action. consumeDirectDeclaratorIdentifier(); break;
}
//
- // Rule 423: bit_field_declarator ::= identifier_name
+ // Rule 423: constant_initializer ::= = constant_expression
//
- case 423: { action. consumeDirectDeclaratorIdentifier(); break;
+ case 423: { action. consumeInitializer(); break;
}
//
- // Rule 424: constant_initializer ::= = constant_expression
+ // Rule 429: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name
//
- case 424: { action. consumeInitializer(); break;
+ case 429: { action. consumeBaseSpecifier(false, false); break;
}
//
- // Rule 430: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name
+ // Rule 430: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name
//
- case 430: { action. consumeBaseSpecifier(false, false); break;
+ case 430: { action. consumeBaseSpecifier(true, true); break;
}
//
- // Rule 431: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name
+ // Rule 431: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name
//
case 431: { action. consumeBaseSpecifier(true, true); break;
}
//
- // Rule 432: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name
+ // Rule 432: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name
//
- case 432: { action. consumeBaseSpecifier(true, true); break;
+ case 432: { action. consumeBaseSpecifier(true, false); break;
}
//
- // Rule 433: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name
+ // Rule 433: access_specifier_keyword ::= private
//
- case 433: { action. consumeBaseSpecifier(true, false); break;
+ case 433: { action. consumeToken(); break;
}
//
- // Rule 434: access_specifier_keyword ::= private
+ // Rule 434: access_specifier_keyword ::= protected
//
case 434: { action. consumeToken(); break;
}
//
- // Rule 435: access_specifier_keyword ::= protected
+ // Rule 435: access_specifier_keyword ::= public
//
case 435: { action. consumeToken(); break;
}
//
- // Rule 436: access_specifier_keyword ::= public
+ // Rule 437: access_specifier_keyword_opt ::= $Empty
//
- case 436: { action. consumeToken(); break;
+ case 437: { action. consumeEmpty(); break;
}
//
- // Rule 438: access_specifier_keyword_opt ::= $Empty
+ // Rule 439: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt >
//
- case 438: { action. consumeEmpty(); break;
+ case 439: { action. consumeTemplateId(); break;
}
//
- // Rule 440: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt >
+ // Rule 440: conversion_function_id ::= operator conversion_type_id
//
- case 440: { action. consumeTemplateId(); break;
+ case 440: { action. consumeConversionName(); break;
}
//
- // Rule 441: conversion_function_id ::= operator conversion_type_id
+ // Rule 441: conversion_type_id ::= type_specifier_seq conversion_declarator
//
- case 441: { action. consumeConversionName(); break;
+ case 441: { action. consumeTypeId(true); break;
}
//
- // Rule 442: conversion_type_id ::= type_specifier_seq conversion_declarator
+ // Rule 442: conversion_type_id ::= type_specifier_seq
//
- case 442: { action. consumeTypeId(true); break;
+ case 442: { action. consumeTypeId(false); break;
}
//
- // Rule 443: conversion_type_id ::= type_specifier_seq
+ // Rule 443: conversion_declarator ::= <openscope-ast> ptr_operator_seq
//
- case 443: { action. consumeTypeId(false); break;
+ case 443: { action. consumeDeclaratorWithPointer(false); break;
}
//
- // Rule 444: conversion_declarator ::= <openscope-ast> ptr_operator_seq
+ // Rule 449: mem_initializer ::= mem_initializer_name ( expression_list_opt )
//
- case 444: { action. consumeDeclaratorWithPointer(false); break;
+ case 449: { action. consumeConstructorChainInitializer(); break;
}
//
- // Rule 450: mem_initializer ::= mem_initializer_name ( expression_list_opt )
+ // Rule 450: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name
//
- case 450: { action. consumeConstructorChainInitializer(); break;
+ case 450: { action. consumeQualifiedId(false); break;
}
//
- // Rule 451: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name
+ // Rule 453: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt >
//
- case 451: { action. consumeQualifiedId(false); break;
+ case 453: { action. consumeTemplateId(); break;
}
//
- // Rule 454: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt >
+ // Rule 454: operator_id_name ::= operator overloadable_operator
//
- case 454: { action. consumeTemplateId(); break;
+ case 454: { action. consumeOperatorName(); break;
}
//
- // Rule 455: operator_id_name ::= operator overloadable_operator
+ // Rule 497: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration
//
- case 455: { action. consumeOperatorName(); break;
+ case 497: { action. consumeTemplateDeclaration(); break;
}
//
- // Rule 498: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration
+ // Rule 498: export_opt ::= export
//
- case 498: { action. consumeTemplateDeclaration(); break;
+ case 498: { action. consumePlaceHolder(); break;
}
//
- // Rule 499: export_opt ::= export
+ // Rule 499: export_opt ::= $Empty
//
- case 499: { action. consumePlaceHolder(); break;
+ case 499: { action. consumeEmpty(); break;
}
//
- // Rule 500: export_opt ::= $Empty
+ // Rule 503: template_parameter ::= parameter_declaration
//
- case 500: { action. consumeEmpty(); break;
+ case 503: { action. consumeTemplateParamterDeclaration(); break;
}
//
- // Rule 504: template_parameter ::= parameter_declaration
+ // Rule 504: type_parameter ::= class identifier_name_opt
//
- case 504: { action. consumeTemplateParamterDeclaration(); break;
+ case 504: { action. consumeSimpleTypeTemplateParameter(false); break;
}
//
- // Rule 505: type_parameter ::= class identifier_name_opt
+ // Rule 505: type_parameter ::= class identifier_name_opt = type_id
//
- case 505: { action. consumeSimpleTypeTemplateParameter(false); break;
+ case 505: { action. consumeSimpleTypeTemplateParameter(true); break;
}
//
- // Rule 506: type_parameter ::= class identifier_name_opt = type_id
+ // Rule 506: type_parameter ::= typename identifier_name_opt
//
- case 506: { action. consumeSimpleTypeTemplateParameter(true); break;
+ case 506: { action. consumeSimpleTypeTemplateParameter(false); break;
}
//
- // Rule 507: type_parameter ::= typename identifier_name_opt
+ // Rule 507: type_parameter ::= typename identifier_name_opt = type_id
//
- case 507: { action. consumeSimpleTypeTemplateParameter(false); break;
+ case 507: { action. consumeSimpleTypeTemplateParameter(true); break;
}
//
- // Rule 508: type_parameter ::= typename identifier_name_opt = type_id
+ // Rule 508: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt
//
- case 508: { action. consumeSimpleTypeTemplateParameter(true); break;
+ case 508: { action. consumeTemplatedTypeTemplateParameter(false); break;
}
//
- // Rule 509: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt
+ // Rule 509: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression
//
- case 509: { action. consumeTemplatedTypeTemplateParameter(false); break;
+ case 509: { action. consumeTemplatedTypeTemplateParameter(true); break;
}
//
- // Rule 510: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression
+ // Rule 510: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt >
//
- case 510: { action. consumeTemplatedTypeTemplateParameter(true); break;
+ case 510: { action. consumeTemplateId(); break;
}
//
- // Rule 511: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt >
+ // Rule 515: template_argument ::= assignment_expression
//
- case 511: { action. consumeTemplateId(); break;
+ case 515: { action. consumeTemplateArgumentExpression(); break;
}
//
- // Rule 516: template_argument ::= assignment_expression
+ // Rule 516: template_argument ::= type_id
//
- case 516: { action. consumeTemplateArgumentExpression(); break;
+ case 516: { action. consumeTemplateArgumentTypeId(); break;
}
//
- // Rule 517: template_argument ::= type_id
+ // Rule 517: explicit_instantiation ::= template declaration
//
- case 517: { action. consumeTemplateArgumentTypeId(); break;
+ case 517: { action. consumeTemplateExplicitInstantiation(); break;
}
//
- // Rule 518: explicit_instantiation ::= template declaration
+ // Rule 518: explicit_specialization ::= template < > declaration
//
- case 518: { action. consumeTemplateExplicitInstantiation(); break;
+ case 518: { action. consumeTemplateExplicitSpecialization(); break;
}
//
- // Rule 519: explicit_specialization ::= template < > declaration
+ // Rule 519: try_block ::= try compound_statement <openscope-ast> handler_seq
//
- case 519: { action. consumeTemplateExplicitSpecialization(); break;
+ case 519: { action. consumeStatementTryBlock(); break;
}
//
- // Rule 520: try_block ::= try compound_statement <openscope-ast> handler_seq
+ // Rule 522: handler ::= catch ( exception_declaration ) compound_statement
//
- case 520: { action. consumeStatementTryBlock(); break;
+ case 522: { action. consumeStatementCatchHandler(false); break;
}
//
- // Rule 523: handler ::= catch ( exception_declaration ) compound_statement
+ // Rule 523: handler ::= catch ( ... ) compound_statement
//
- case 523: { action. consumeStatementCatchHandler(false); break;
+ case 523: { action. consumeStatementCatchHandler(true); break;
}
//
- // Rule 524: handler ::= catch ( ... ) compound_statement
+ // Rule 524: exception_declaration ::= type_specifier_seq <openscope-ast> declarator
//
- case 524: { action. consumeStatementCatchHandler(true); break;
+ case 524: { action. consumeDeclarationSimple(true); break;
}
//
- // Rule 525: exception_declaration ::= type_specifier_seq <openscope-ast> declarator
+ // Rule 525: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator
//
case 525: { action. consumeDeclarationSimple(true); break;
}
//
- // Rule 526: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator
- //
- case 526: { action. consumeDeclarationSimple(true); break;
- }
-
- //
- // Rule 527: exception_declaration ::= type_specifier_seq
+ // Rule 526: exception_declaration ::= type_specifier_seq
//
- case 527: { action. consumeDeclarationSimple(false); break;
+ case 526: { action. consumeDeclarationSimple(false); break;
}
//
- // Rule 529: exception_specification ::= throw ( )
+ // Rule 528: exception_specification ::= throw ( )
//
- case 529: { action. consumePlaceHolder(); break;
+ case 528: { action. consumePlaceHolder(); break;
}
//
- // Rule 535: no_function_declarator_start ::= ERROR_TOKEN
+ // Rule 534: no_function_declarator_start ::= ERROR_TOKEN
//
- case 535: { action. consumeDeclarationProblem(); break;
+ case 534: { action. consumeDeclarationProblem(); break;
}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParserprs.java
index a40c73c82ba..e43bad0f389 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParserprs.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParserprs.java
@@ -29,7 +29,7 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0
+ 0,0
};
};
public final static byte isKeyword[] = IsKeyword.isKeyword;
@@ -39,498 +39,496 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars
public final static short baseCheck[] = {0,
0,0,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,3,1,1,1,1,1,
- 1,1,1,2,2,1,1,0,1,0,
- 4,2,3,2,3,2,2,1,0,1,
- 1,4,4,4,8,8,3,3,4,4,
- 3,3,2,2,7,7,7,7,4,4,
- 5,6,3,2,2,1,1,1,2,2,
- 2,2,2,2,2,2,2,4,7,9,
- 3,0,1,2,2,1,2,3,4,1,
- 0,3,1,0,3,5,1,4,1,3,
- 3,1,3,3,3,1,3,3,1,3,
- 3,1,3,3,3,3,1,3,3,1,
- 3,1,3,1,3,1,3,1,3,1,
- 5,1,2,1,1,3,3,3,3,3,
- 3,3,3,3,3,3,1,2,1,3,
- 1,0,1,0,1,1,0,1,1,1,
- 1,1,1,1,1,1,3,4,3,2,
- 1,4,2,1,2,5,7,5,1,4,
- 1,0,5,7,8,1,1,2,2,3,
- 2,3,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,2,1,
- 0,4,4,2,2,2,2,2,1,0,
- 1,1,1,1,1,1,2,1,2,2,
- 2,1,1,2,2,1,2,2,1,2,
- 2,1,2,2,1,1,1,1,1,1,
+ 1,1,1,3,1,1,1,1,1,1,
+ 1,1,2,2,1,1,0,1,0,4,
+ 2,3,2,3,2,2,1,0,1,1,
+ 4,4,4,8,8,3,3,4,4,3,
+ 3,2,2,7,7,7,7,4,4,5,
+ 6,3,2,2,1,1,1,2,2,2,
+ 2,2,2,2,2,2,4,7,9,3,
+ 0,1,2,2,1,2,3,4,1,0,
+ 3,1,0,3,5,1,4,1,3,3,
+ 1,3,3,3,1,3,3,1,3,3,
+ 1,3,3,3,3,1,3,3,1,3,
+ 1,3,1,3,1,3,1,3,1,5,
+ 1,2,1,1,3,3,3,3,3,3,
+ 3,3,3,3,3,1,2,1,3,1,
+ 0,1,0,1,1,0,1,1,1,1,
+ 1,1,1,1,1,3,4,3,2,1,
+ 4,2,1,2,5,7,5,1,4,1,
+ 0,5,7,8,1,1,2,2,3,2,
+ 3,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,2,1,0,
+ 4,4,2,2,2,2,2,1,0,1,
+ 1,1,1,1,1,2,1,2,2,2,
+ 1,1,2,2,1,2,2,1,2,2,
+ 1,2,2,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,3,4,4,5,2,
- 5,6,5,0,6,7,0,1,3,1,
- 0,1,3,1,1,1,6,5,7,6,
- 1,0,6,5,6,4,1,3,1,0,
- 1,2,1,1,3,1,3,1,1,1,
- 3,9,2,2,3,2,4,2,6,0,
- 1,2,2,1,0,1,1,1,3,1,
- 2,1,1,2,3,1,1,1,3,2,
- 1,2,2,9,8,2,1,3,1,3,
- 1,0,1,0,2,1,1,3,1,3,
- 2,1,5,8,1,2,3,1,7,6,
- 3,0,0,1,3,1,1,5,6,6,
- 7,7,0,0,1,0,1,1,1,2,
- 4,2,2,1,5,1,1,1,1,1,
- 1,1,2,1,0,1,3,1,1,2,
- 3,2,1,2,2,1,0,1,3,3,
- 5,5,4,1,1,1,1,0,1,5,
- 2,2,1,2,2,1,0,1,3,4,
- 3,1,1,5,2,1,1,3,3,1,
+ 1,1,1,1,3,4,4,5,2,5,
+ 6,5,0,6,7,0,1,3,1,0,
+ 1,3,1,1,1,6,5,7,6,1,
+ 0,6,5,6,4,1,3,1,0,1,
+ 2,1,1,3,1,3,1,1,1,3,
+ 9,2,2,3,2,4,2,6,0,1,
+ 2,2,1,0,1,1,1,3,1,2,
+ 1,1,2,3,1,1,1,3,2,1,
+ 2,2,9,8,2,1,3,1,3,1,
+ 0,1,0,2,1,1,3,1,3,2,
+ 1,5,8,1,2,3,1,7,6,3,
+ 0,0,1,3,1,1,5,6,6,7,
+ 7,0,0,1,0,1,1,1,2,4,
+ 2,2,1,5,1,1,1,1,1,1,
+ 1,2,1,0,1,3,1,1,2,3,
+ 2,1,2,2,1,0,1,3,3,5,
+ 5,4,1,1,1,1,0,1,5,2,
+ 2,1,2,2,1,0,1,3,4,3,
+ 1,1,5,2,1,1,3,3,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,2,2,7,1,0,
- 1,3,1,1,2,4,2,4,7,9,
- 5,1,3,1,0,1,1,2,4,4,
- 1,2,5,5,3,3,1,4,3,1,
- 0,1,3,1,1,1,-109,0,0,0,
- -13,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-2,0,
- 0,0,0,0,0,0,-7,0,-222,0,
- 0,0,0,0,-87,0,0,0,0,0,
- -115,0,0,0,-8,0,0,0,0,0,
- 0,0,0,-132,0,0,0,0,0,0,
+ 1,1,1,1,2,2,7,1,0,1,
+ 3,1,1,2,4,2,4,7,9,5,
+ 1,3,1,0,1,1,2,4,4,1,
+ 2,5,5,3,3,1,4,3,1,0,
+ 1,3,1,1,1,-109,0,0,0,-13,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-2,0,0,
+ 0,0,0,0,0,-7,0,-222,0,0,
+ 0,0,0,-87,0,0,0,0,0,-115,
+ 0,0,0,-8,0,0,0,0,0,0,
+ 0,0,-132,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-10,0,0,0,-130,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-10,0,0,0,-130,
0,0,0,0,0,0,0,0,0,0,
+ -11,0,0,0,0,0,0,0,0,-14,
+ -19,-287,0,0,0,-116,0,0,0,-3,
0,0,0,0,0,0,0,0,0,0,
- 0,-11,0,0,0,0,0,0,0,0,
- -14,-19,-287,0,0,0,-116,0,0,0,
- -3,0,0,0,0,0,0,0,0,0,
- 0,-111,0,0,0,0,0,0,-75,0,
+ -111,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,-151,
+ 0,-291,0,0,0,0,0,-23,0,0,
+ -92,0,0,-4,0,-157,-35,-401,0,-25,
+ 0,0,0,-76,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -151,0,-291,0,0,0,0,0,-23,0,
- 0,-92,0,0,-4,0,-157,-35,-401,0,
- -25,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,-21,0,0,0,0,0,0,0,
+ -238,0,0,0,0,0,0,-177,0,-231,
+ 0,0,-182,0,-535,0,0,0,-423,0,
+ 0,0,0,0,0,0,0,0,0,-223,
+ 0,0,0,-91,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-21,0,0,0,0,0,0,
- 0,-238,0,0,0,0,0,0,-177,0,
- -231,0,0,-182,0,-535,0,0,0,-423,
0,0,0,0,0,0,0,0,0,0,
- -223,0,0,0,-91,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-77,
+ -187,0,0,0,0,0,0,0,0,-219,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-190,
+ 0,-27,0,0,0,0,0,-229,0,0,
+ 0,0,0,0,0,-221,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-193,0,
0,0,0,0,0,0,0,0,0,0,
- -77,-187,0,0,0,0,0,0,0,0,
- -219,0,0,0,0,0,0,0,0,0,
+ 0,-161,0,0,0,-28,0,-20,0,-170,
+ 0,0,0,-29,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -190,0,-27,0,0,0,0,0,-229,0,
- 0,0,0,0,0,0,-221,0,0,0,
- 0,0,0,0,0,0,0,0,0,-193,
+ 0,0,0,0,0,0,0,-290,-483,0,
+ 0,0,-275,0,0,0,-525,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-161,0,0,0,-28,0,-20,0,
- -170,0,0,0,-29,0,0,0,0,0,
+ 0,0,0,0,-73,0,0,0,0,0,
+ 0,0,-30,0,-33,0,-82,0,0,0,
+ -34,-22,0,0,0,0,-348,0,0,0,
+ -41,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-31,0,0,0,
+ 0,0,0,0,-42,0,0,0,-272,0,
+ 0,-16,0,0,0,-265,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-290,-483,
- 0,0,0,-275,0,0,0,-525,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-73,0,0,0,0,
- 0,0,0,-30,0,-33,0,-82,0,0,
- 0,-34,-22,0,0,0,0,-348,0,0,
- 0,-41,0,0,0,0,0,0,0,0,
+ 0,0,0,-473,0,-447,0,0,0,0,
+ 0,0,0,0,-358,0,0,0,-43,0,
+ -40,-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,-31,0,0,
- 0,0,0,0,0,-42,0,0,0,-272,
- 0,0,-16,0,0,0,-265,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,-39,0,-262,0,0,0,0,0,0,
+ 0,-380,0,0,-137,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-473,0,-447,0,0,0,
- 0,0,0,0,0,-358,0,0,0,-43,
- 0,-40,-38,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-257,0,-44,0,0,0,
+ -322,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-39,0,-262,0,0,0,0,0,
- 0,0,-380,0,0,-137,0,0,0,0,
+ 0,0,-266,0,0,0,0,0,0,0,
+ 0,0,0,0,-512,0,0,0,0,0,
+ -45,0,0,-362,0,0,0,-47,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-257,0,-44,0,0,
- 0,-322,0,0,0,0,0,0,0,0,
+ 0,0,0,-248,0,-59,0,0,0,0,
+ 0,-468,0,-60,0,0,-363,0,0,0,
+ -350,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-266,0,0,0,0,0,0,
- 0,0,0,0,0,-512,0,0,0,0,
- 0,-45,0,0,-362,0,0,0,-47,0,
+ 0,0,0,0,0,0,0,0,-61,0,
+ -46,0,0,0,-62,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,0,-248,0,-59,0,0,0,
- 0,0,-468,0,-60,0,0,-363,0,0,
- 0,-350,0,0,0,0,0,0,0,0,
+ 0,-63,0,0,0,0,0,0,0,0,
+ 0,-64,0,-74,0,0,0,0,0,0,
+ -26,-160,-70,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-61,
- 0,-46,0,0,0,-62,0,0,0,0,
- -36,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-65,0,0,0,0,0,
+ 0,0,0,0,-66,0,-37,0,0,0,
+ -67,0,0,0,0,-80,-138,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-63,0,0,0,0,0,0,0,
- 0,0,-64,0,-74,0,0,0,0,0,
- 0,-26,-160,-70,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-65,0,0,0,0,
- 0,0,0,0,0,-66,0,-37,0,0,
- 0,-67,0,0,0,0,-80,-138,0,0,
+ 0,0,0,0,0,0,-68,0,-274,0,
+ 0,0,0,0,-89,0,-69,0,0,-139,
+ 0,0,0,-71,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-95,
+ 0,-313,0,-90,0,0,0,-94,-472,0,
+ 0,0,-140,0,0,0,-96,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-68,0,-274,
- 0,0,0,0,0,-89,0,-69,0,0,
- -139,0,0,0,-71,0,0,0,0,0,
+ 0,0,0,0,-114,0,0,0,0,0,
+ 0,0,-152,0,-154,0,0,0,0,0,
+ -155,-156,-165,0,0,-141,0,0,0,-166,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-167,0,0,
+ 0,0,0,0,0,0,0,-173,0,0,
+ 0,0,0,-174,-175,-176,0,0,-142,0,
+ 0,0,-184,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -95,0,-313,0,-90,0,0,0,-94,-472,
- 0,0,0,-140,0,0,0,-96,0,0,
+ 0,0,0,0,0,0,0,0,-98,0,
+ -185,0,0,0,0,0,-186,-198,-199,0,
+ 0,-143,0,0,0,-200,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-114,0,0,0,0,
- 0,0,0,-152,0,-154,0,0,0,0,
- 0,-155,-156,-165,0,0,-141,0,0,0,
- -166,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-167,0,
- 0,0,0,0,0,0,0,0,-173,0,
- 0,0,0,0,-174,-175,-176,0,0,-142,
- 0,0,0,-184,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-98,
- 0,-185,0,0,0,0,0,-186,-198,-199,
- 0,0,-143,0,0,0,-200,0,0,0,
+ 0,-158,0,-201,0,0,0,0,0,-189,
+ -202,-203,0,0,-144,0,0,0,-204,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-205,0,0,0,
+ 0,0,0,0,-206,0,-207,0,-162,0,
+ 0,0,-197,0,-208,0,0,-145,0,0,
+ 0,-209,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-210,
+ 0,0,0,0,0,0,0,-211,0,-212,
+ 0,0,0,0,0,-213,-214,-215,0,0,
+ -146,0,0,0,-216,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-158,0,-201,0,0,0,0,0,
- -189,-202,-203,0,0,-144,0,0,0,-204,
+ 0,0,-224,0,0,0,0,0,0,0,
+ -233,0,-234,0,0,0,0,0,-235,-236,
+ -258,0,0,-147,0,0,0,-260,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-205,0,0,
- 0,0,0,0,0,-206,0,-207,0,-162,
- 0,0,0,-197,0,-208,0,0,-145,0,
- 0,0,-209,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-261,0,0,0,0,
+ 0,0,0,-217,0,-280,0,0,0,0,
+ 0,-281,-283,-285,0,0,-148,0,0,0,
+ -292,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-298,0,
+ 0,0,0,0,0,0,-227,0,-299,0,
+ 0,0,0,0,-303,-311,-312,0,0,-169,
+ 0,0,0,-314,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -210,0,0,0,0,0,0,0,-211,0,
- -212,0,0,0,0,0,-213,-214,-215,0,
- 0,-146,0,0,0,-216,0,0,0,0,
+ 0,-323,0,0,0,0,0,0,0,-242,
+ 0,-324,0,0,0,0,0,-332,-336,-345,
+ 0,0,-253,0,0,0,-337,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-224,0,0,0,0,0,0,
- 0,-233,0,-234,0,0,0,0,0,-235,
- -236,-258,0,0,-147,0,0,0,-260,0,
+ 0,0,0,0,-349,0,0,0,0,0,
+ 0,0,-247,0,-351,0,0,0,0,0,
+ -367,-375,-378,0,0,-530,0,0,0,-392,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-261,0,0,0,
- 0,0,0,0,-217,0,-280,0,0,0,
- 0,0,-281,-283,-285,0,0,-148,0,0,
- 0,-292,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-298,
- 0,0,0,0,0,0,0,-227,0,-299,
- 0,0,0,0,0,-303,-311,-312,0,0,
- -169,0,0,0,-314,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-403,0,0,
+ 0,0,0,0,0,-267,0,-404,0,0,
+ 0,0,0,-407,-408,-183,0,0,-357,0,
+ 0,0,-112,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-323,0,0,0,0,0,0,0,
- -242,0,-324,0,0,0,0,0,-332,-336,
- -345,0,0,-253,0,0,0,-337,0,0,
+ -414,0,0,0,0,0,0,0,-15,0,
+ -416,0,0,0,0,0,-370,0,0,0,
+ -428,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-349,0,0,0,0,
- 0,0,0,-247,0,-351,0,0,0,0,
- 0,-367,-375,-378,0,0,-530,0,0,0,
- -392,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-403,0,
- 0,0,0,0,0,0,-267,0,-404,0,
- 0,0,0,0,-407,-408,-183,0,0,-357,
- 0,0,0,-112,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-414,0,0,0,0,0,0,0,-15,
- 0,-416,0,0,0,0,0,-370,0,0,
- 0,-428,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-6,0,0,0,0,-456,
+ 0,0,0,0,0,-389,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-435,0,0,
+ 0,0,0,0,0,-191,0,-226,0,0,
+ 0,0,0,-390,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-6,0,0,0,0,
- -456,0,0,0,0,0,-389,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-435,0,
- 0,0,0,0,0,0,-191,0,-226,0,
- 0,0,0,0,-390,0,0,0,0,0,
+ 0,0,0,-436,0,-446,0,0,0,0,
+ 0,-93,0,0,0,-458,-97,0,0,0,
+ 0,0,-459,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-436,0,-446,0,0,0,
- 0,0,-93,0,0,0,-458,-97,0,0,
- 0,0,0,-459,0,0,0,0,0,0,
+ 0,0,-268,0,-297,0,0,0,0,0,
+ -150,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-268,0,-297,0,0,0,0,
- 0,-150,0,0,0,0,0,0,0,0,
+ 0,0,-460,0,0,0,-195,0,0,0,
+ -462,0,0,0,0,0,0,0,0,-135,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-460,0,0,0,-195,0,0,
- 0,-462,0,0,0,0,0,0,0,0,
- -135,0,0,0,0,0,0,0,0,0,
+ 0,-84,0,0,0,0,0,0,0,-244,
+ 0,-136,0,0,0,-463,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-84,0,0,0,0,0,0,0,
- -244,0,-136,0,0,0,-463,0,0,0,
+ 0,0,0,-335,0,0,0,0,0,0,
+ 0,-133,0,0,0,-464,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-335,0,0,0,0,0,
- 0,0,-133,0,0,0,-464,0,0,0,
+ 0,0,0,-465,0,0,0,0,0,-134,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-465,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,-79,0,0,0,0,0,-402,0,
+ 0,-79,0,0,0,0,0,-402,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-126,0,0,0,-467,0,0,0,0,
+ -126,0,0,0,-467,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-232,0,0,0,0,-17,0,
- 0,0,-482,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-484,0,-106,
- 0,0,-107,-422,0,0,0,-338,0,0,
- 0,-255,0,0,0,0,0,0,0,0,
- 0,-230,0,0,0,0,-485,0,-387,0,
+ 0,0,-232,0,0,0,0,-17,0,0,
+ 0,-482,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-484,0,-106,0,
+ 0,-107,-422,0,0,0,-338,0,0,0,
+ -255,0,0,0,0,0,0,0,0,0,
+ -230,0,0,0,0,-485,0,-387,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-127,0,0,0,-487,
+ 0,0,0,0,-127,0,0,0,-487,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-492,0,0,
- 0,0,-384,0,0,0,-496,0,0,0,
- 0,0,0,0,-237,0,0,0,-368,-501,
- -128,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-492,0,0,0,
+ 0,-384,0,0,0,-496,0,0,0,0,
+ 0,0,0,-237,0,0,0,-368,-501,-128,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-385,0,0,0,0,-129,0,0,
- 0,-331,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-509,
- 0,0,0,0,-284,0,0,0,0,0,
- 0,0,0,0,0,0,0,-259,0,0,
- -300,-269,0,0,-398,0,-302,0,0,0,
- 0,0,0,0,0,0,0,0,0,-440,
- 0,0,0,-347,-325,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-439,0,0,0,0,0,-12,
- 0,0,0,0,-519,-511,0,-171,0,0,
- 0,0,-78,0,0,0,0,0,0,0,
- 0,-159,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-371,0,0,-526,0,
- -438,-239,0,0,0,0,0,-400,0,0,
- 0,0,-270,-286,0,0,0,0,0,-9,
- -531,0,0,0,0,0,0,0,0,0,
- 0,0,-296,0,0,0,0,-394,0,0,
- 0,0,-273,0,0,0,0,0,0,0,
+ 0,-385,0,0,0,0,-129,0,0,0,
+ -331,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-509,0,
+ 0,0,0,-284,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-259,0,0,-300,
+ -269,0,0,-398,0,-302,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-440,0,
+ 0,0,-347,-325,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-457,0,0,0,0,0,0,0,
- 0,0,0,0,-105,-172,0,0,0,0,
- 0,0,0,0,0,-24,0,0,0,0,
+ 0,0,-439,0,0,0,0,0,-12,0,
+ 0,0,0,-519,-511,0,-171,0,0,0,
+ 0,-78,0,0,0,0,0,0,0,0,
+ -159,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-371,0,0,-526,0,-438,
+ -239,0,0,0,0,0,-400,0,0,0,
+ 0,-270,-286,0,0,0,0,0,-9,-531,
0,0,0,0,0,0,0,0,0,0,
+ 0,-296,0,0,0,0,-394,0,0,0,
+ 0,-273,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-252,-310,0,0,
+ 0,-457,0,0,0,0,0,0,0,0,
+ 0,0,0,-105,-172,0,0,0,0,0,
+ 0,0,0,0,-24,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-178,-81,0,0,
- -83,-527,-131,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-373,0,0,0,0,-393,
- 0,0,0,0,0,-18,0,0,0,0,
- 0,0,0,0,-263,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-466,
+ 0,0,0,0,0,-252,-310,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -452,0,0,0,0,0,-301,0,0,0,
+ 0,0,0,0,0,-178,-81,0,0,-83,
+ -527,-131,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-373,0,0,0,0,-393,0,
+ 0,0,0,0,-18,0,0,0,0,0,
+ 0,0,0,-263,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-466,0,
+ 0,0,0,0,0,0,0,0,0,-452,
+ 0,0,0,0,0,-301,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -108,0,0,0,0,0,0,0,0,0,
- 0,0,0,-486,-372,0,-304,0,-432,-391,
- 0,-413,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-251,0,0,0,
- 0,0,-306,0,-334,-168,0,0,0,0,
- -307,0,0,0,-327,0,-271,0,0,0,
- 0,0,0,0,0,0,0,-488,-383,0,
- 0,0,0,0,0,0,0,-295,0,0,
+ 0,0,0,0,0,0,0,0,0,-108,
0,0,0,0,0,0,0,0,0,0,
- 0,-353,0,0,0,0,-85,0,0,-117,
+ 0,0,-486,-372,0,-304,0,-432,-391,0,
+ -413,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-251,0,0,0,0,
+ 0,-306,0,-334,-168,0,0,0,0,-307,
+ 0,0,0,-327,0,-271,0,0,0,0,
+ 0,0,0,0,0,0,-488,-383,0,0,
+ 0,0,0,0,0,0,-295,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -309,0,-356,0,0,0,0,0,0,0,
- 0,-503,0,0,0,0,0,0,0,0,
+ -353,0,0,0,0,-85,0,0,-117,0,
+ 0,0,0,0,0,0,0,0,0,-309,
+ 0,-356,0,0,0,0,0,0,0,0,
+ -503,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-453,0,0,0,0,-180,0,0,
- 0,0,0,0,0,0,-386,0,0,0,
- 0,0,0,0,0,0,-192,0,0,0,
- 0,0,0,0,0,-518,-354,0,0,0,
+ 0,-453,0,0,0,0,-180,0,0,0,
+ 0,0,0,0,0,-386,0,0,0,0,
+ 0,0,0,0,0,-192,0,0,0,0,
+ 0,0,0,0,-518,-354,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-326,0,0,0,
- 0,0,0,0,0,0,-100,-379,0,0,
- 0,0,0,0,0,0,0,0,0,-520,
- -196,0,0,0,0,-305,0,-374,0,0,
+ 0,0,0,0,0,-326,0,0,0,0,
+ 0,0,0,0,0,-100,-379,0,0,0,
+ 0,0,0,0,0,0,0,0,-520,-196,
+ 0,0,0,0,-305,0,-374,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-32,0,0,0,0,0,0,0,
- 0,0,0,0,0,-405,0,0,0,0,
- 0,0,-240,0,0,0,0,0,0,0,
- 0,0,0,-524,0,0,0,0,0,0,
- -443,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-164,0,0,0,
- 0,-249,-355,0,-319,0,0,0,0,0,
- 0,0,0,0,0,-288,0,0,0,0,
- 0,0,0,0,0,0,0,-321,-406,0,
- 0,0,-181,0,0,-479,0,0,0,0,
- 0,0,0,0,0,0,0,-529,0,0,
+ 0,-32,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-405,0,0,0,0,0,
+ 0,-240,0,0,0,0,0,0,0,0,
+ 0,0,-524,0,0,0,0,0,0,-443,
0,0,0,0,0,0,0,0,0,0,
- -121,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-164,0,0,0,0,
+ -249,-355,0,-319,0,0,0,0,0,0,
+ 0,0,0,0,-288,0,0,0,0,0,
+ 0,0,0,0,0,0,-321,-406,0,0,
+ 0,-181,0,0,-479,0,0,0,0,0,
+ 0,0,0,0,0,0,-529,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-121,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-282,0,0,-72,0,0,0,-476,
- 0,0,0,0,0,0,-477,0,0,0,
- 0,0,-330,0,0,0,0,0,-320,0,
- 0,-502,0,-536,0,0,-289,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-420,0,0,-528,0,0,0,0,0,
- 0,0,0,0,0,-340,-101,0,0,0,
- 0,0,0,0,-102,-315,0,-411,0,0,
- 0,0,0,0,0,0,0,-539,0,0,
- 0,0,-427,-469,0,-342,0,0,0,0,
- 0,0,0,0,0,0,0,0,-421,0,
- 0,0,-118,0,0,0,0,0,-344,0,
+ 0,-282,0,0,-72,0,0,0,-476,0,
+ 0,0,0,0,0,-477,0,0,0,0,
+ 0,-330,0,0,0,0,0,-320,0,0,
+ -502,0,-536,0,0,-289,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ -420,0,0,-528,0,0,0,0,0,0,
+ 0,0,0,0,-340,-101,0,0,0,0,
+ 0,0,0,-102,-315,0,-411,0,0,0,
+ 0,0,0,0,0,0,-539,0,0,0,
+ 0,-427,-469,0,-342,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-421,0,0,
+ 0,-118,0,0,0,0,0,-344,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-293,0,0,0,-480,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-122,0,0,0,0,0,0,0,0,
+ 0,0,0,-293,0,0,0,-480,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-365,0,0,0,
- 0,0,0,0,0,0,0,0,0,-316,
- -522,0,0,0,0,0,0,0,0,0,
- 0,0,0,-1,0,0,0,0,0,0,
- 0,0,0,0,0,0,-149,0,0,-532,
- 0,0,-352,0,-276,-317,0,-318,0,0,
- 0,0,-430,0,0,-328,0,0,0,0,
- -153,0,-218,0,0,0,0,0,0,0,
+ -122,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-365,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-316,-522,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-359,-50,0,0,0,0,0,0,
+ 0,0,-1,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-149,0,0,-532,0,
+ 0,-352,0,-276,-317,0,-318,0,0,0,
+ 0,-430,0,0,-328,0,0,0,0,-153,
+ 0,-218,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-294,0,0,
- 0,0,-369,0,0,-254,0,0,0,0,
- -123,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-450,0,0,0,0,0,
- 0,0,-124,0,0,0,0,0,0,0,
+ 0,-359,-50,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-461,0,0,-88,0,0,
- 0,0,0,-125,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-294,0,0,0,
+ 0,-369,0,0,-254,0,0,0,0,-123,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-339,0,0,0,0,
- -360,0,0,0,0,-382,-409,0,0,0,
- 0,0,-470,0,-103,-448,-361,0,0,0,
- -308,0,0,0,0,0,0,0,-329,0,
- 0,0,0,0,-366,-396,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-450,0,0,0,0,0,0,
+ 0,-124,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-461,0,0,-88,0,0,0,
+ 0,0,-125,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -399,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-417,0,0,
- 0,0,0,0,0,0,0,-424,0,0,
- 0,0,0,-426,0,-434,-437,0,-441,0,
- 0,0,0,0,0,0,0,0,-442,0,
- -497,0,0,0,0,-498,-508,0,-429,0,
- 0,0,0,0,-51,0,0,0,0,0,
+ 0,0,0,0,-339,0,0,0,0,-360,
+ 0,0,0,0,-382,-409,0,0,0,0,
+ 0,-470,0,-103,-448,-361,0,0,0,-308,
+ 0,0,0,0,0,0,0,-329,0,0,
+ 0,0,0,-366,-396,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-52,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-53,0,
+ 0,0,0,0,0,0,0,0,0,-399,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-417,0,0,0,
+ 0,0,0,0,0,0,-424,0,0,0,
+ 0,0,-426,0,-434,-437,0,-441,0,0,
+ 0,0,0,0,0,0,0,-442,0,-497,
+ 0,0,0,0,-498,-508,0,-429,0,0,
+ 0,0,0,-51,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -54,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-52,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-55,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-53,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-56,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-54,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-57,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-58,0,
+ 0,-55,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-56,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -110,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-57,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-119,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-58,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-120,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-110,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-179,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-245,0,
+ 0,-119,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-120,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -388,0,0,0,0,0,0,0,0,0,
- 0,0,0,-449,0,0,0,0,0,0,
- 0,0,0,0,0,0,-471,0,0,-277,
- -278,-341,-418,0,0,0,0,0,-517,-397,
- -474,-499,0,-246,-376,-241,0,0,0,0,
- 0,-481,0,0,-410,0,0,0,0,0,
+ 0,0,0,0,0,-179,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-245,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-388,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,-449,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-471,0,0,-277,-278,
+ -341,-418,0,0,0,0,0,-517,-397,-474,
+ -499,0,-246,-376,-241,0,0,0,0,0,
+ -481,0,0,-410,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-494,-279,-412,-495,0,0,0,0,0,
- 0,0,0,-504,0,0,0,0,0,0,
- 0,0,0,0,0,0,-381,0,0,0,
- 0,-500,0,0,0,0,-425,0,0,0,
- 0,0,0,0,0,0,-433,0,0,0,
- 0,-333,0,0,0,0,0,0,0,0,
- 0,-514,0,0,0,0,0,0,0,0,
- -521,0,0,0,0,0,0,0,0,0,
- -533,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-538,0,
- 0,0,-5,0,0,0,0,0,0,0,
- 0,0,0,0,0,-506,-86,0,0,0,
- -220,0,-510,-515,0,0,-478,-454,0,0,
- 0,0,0,0,0,0,0,-516,0,0,
- -491,0,0,-534,0,-475,0,0,0,0,
+ -494,-279,-412,-495,0,0,0,0,0,0,
+ 0,0,-504,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-381,0,0,0,0,
+ -500,0,0,0,0,-425,0,0,0,0,
+ 0,0,0,0,0,-433,0,0,0,0,
+ -333,0,0,0,0,0,0,0,0,0,
+ -514,0,0,0,0,0,0,0,0,-521,
+ 0,0,0,0,0,0,0,0,0,-533,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -537,0,0,-377,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-538,0,0,
+ 0,-5,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-506,-86,0,0,0,-220,
+ 0,-510,-515,0,0,-478,-454,0,0,0,
+ 0,0,0,0,0,0,-516,0,0,-491,
+ 0,0,-534,0,-475,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -364,0,0,0,0,0,0,-346,0,0,
0,0,0,0,0,0,0,0,0,0,
- -523,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-505,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-537,
+ 0,0,-377,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-264,0,
+ 0,0,0,0,0,0,0,0,0,-364,
+ 0,0,0,0,0,0,-346,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-523,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-505,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-188,0,0,0,-194,0,0,0,0,
+ 0,0,0,0,0,0,0,-264,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ -188,0,0,0,-194,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -225,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-228,0,0,0,
- -343,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-395,0,0,
- 0,0,-415,0,0,0,0,0,-507,0,
- 0,0,0,0,0,-419,0,0,0,0,
- 0,0,0,0,0,0,-431,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-225,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-455,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-444,0,0,0,0,0,0,0,
- 0,0,0,0,0,-445,0,0,0,-451,
- 0,0,0,0,0,0,-48,0,0,0,
- 0,0,-49,0,0,0,0,0,-99,0,
+ 0,0,0,0,0,-228,0,0,0,-343,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-395,0,0,0,
+ 0,-415,0,0,0,0,0,-507,0,0,
+ 0,0,0,0,-419,0,0,0,0,0,
+ 0,0,0,0,0,-431,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-113,
+ 0,0,0,-455,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-104,0,0,0,
+ 0,-444,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-445,0,0,0,-451,0,
+ 0,0,0,0,0,-48,0,0,0,0,
+ 0,-49,0,0,0,0,0,-99,0,0,
0,0,0,0,0,0,0,0,0,0,
- -163,0,0,0,-243,0,0,0,0,-513,
- 0,0,0,0,0,-250,0,0,0,0,
- 0,0,0,-489,0,0,0,0,0,0,
- 0,0,0,-490,0,0,0,0,0,-256,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-493,0,0,
+ 0,0,0,0,0,0,0,0,-113,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-104,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-163,
+ 0,0,0,-243,0,0,0,0,-513,0,
+ 0,0,0,0,-250,0,0,0,0,0,
+ 0,0,-489,0,0,0,0,0,0,0,
+ 0,0,-490,0,0,0,0,0,-256,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-493,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
@@ -539,7 +537,8 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,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;
@@ -551,543 +550,543 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars
public final static char baseAction[] = {
174,4,135,82,82,32,32,66,66,38,
38,40,40,200,1,1,15,15,15,15,
- 15,15,15,15,16,16,16,14,11,11,
- 6,6,6,6,6,6,2,64,64,5,
- 5,12,12,44,44,136,136,137,59,59,
- 43,17,17,17,17,17,17,17,17,17,
+ 15,15,15,16,16,16,14,11,11,6,
+ 6,6,6,6,6,2,64,64,5,5,
+ 12,12,44,44,136,136,137,59,59,43,
17,17,17,17,17,17,17,17,17,17,
- 17,138,138,138,117,117,18,18,18,18,
- 18,18,18,18,18,18,18,18,18,19,
- 19,175,175,176,176,177,141,141,142,142,
- 139,139,143,140,140,20,20,21,21,23,
- 23,23,24,24,24,24,25,25,25,26,
- 26,26,27,27,27,27,27,28,28,28,
- 29,29,31,31,33,33,35,35,36,36,
- 37,37,42,42,41,41,41,41,41,41,
- 41,41,41,41,41,41,41,39,30,144,
- 144,96,96,178,178,91,201,201,67,67,
- 67,67,67,67,67,67,67,68,68,68,
- 65,65,56,56,179,179,69,69,69,102,
- 102,180,180,70,70,70,181,181,71,71,
- 71,71,71,72,72,83,83,83,83,83,
- 83,83,83,49,49,49,49,49,118,118,
- 116,116,50,182,22,22,22,22,22,48,
- 48,86,86,86,86,86,151,151,146,146,
- 146,146,146,147,147,147,148,148,148,149,
- 149,149,150,150,150,87,87,87,87,87,
- 88,88,88,13,13,13,13,13,13,13,
- 13,13,13,13,97,122,122,122,122,122,
- 122,120,120,120,152,121,121,183,154,154,
- 153,153,124,124,103,78,78,79,80,52,
- 47,155,155,53,51,85,85,156,156,145,
- 145,105,105,106,74,74,157,157,62,62,
- 57,57,158,63,63,75,75,60,60,60,
- 54,89,89,99,98,98,61,61,58,58,
- 55,55,45,100,100,100,92,92,92,93,
- 93,94,94,94,95,95,107,107,107,109,
- 109,108,108,202,202,90,90,185,185,185,
- 185,185,126,46,46,160,184,184,127,127,
- 127,127,128,162,186,186,34,34,119,129,
- 129,129,129,188,111,110,110,123,123,123,
- 163,164,164,164,164,164,164,164,164,164,
- 164,164,190,190,187,187,189,189,165,166,
- 166,166,166,167,191,113,112,112,192,192,
- 168,168,168,168,101,101,101,193,193,8,
- 8,9,194,194,195,169,159,159,170,170,
- 171,172,172,7,7,10,196,196,196,196,
+ 17,17,17,17,17,17,17,17,17,17,
+ 138,138,138,117,117,18,18,18,18,18,
+ 18,18,18,18,18,18,18,18,19,19,
+ 175,175,176,176,177,141,141,142,142,139,
+ 139,143,140,140,20,20,21,21,23,23,
+ 23,24,24,24,24,25,25,25,26,26,
+ 26,27,27,27,27,27,28,28,28,29,
+ 29,31,31,33,33,35,35,36,36,37,
+ 37,42,42,41,41,41,41,41,41,41,
+ 41,41,41,41,41,41,39,30,144,144,
+ 96,96,178,178,91,201,201,67,67,67,
+ 67,67,67,67,67,67,68,68,68,65,
+ 65,56,56,179,179,69,69,69,102,102,
+ 180,180,70,70,70,181,181,71,71,71,
+ 71,71,72,72,83,83,83,83,83,83,
+ 83,83,49,49,49,49,49,118,118,116,
+ 116,50,182,22,22,22,22,22,48,48,
+ 86,86,86,86,86,151,151,146,146,146,
+ 146,146,147,147,147,148,148,148,149,149,
+ 149,150,150,150,87,87,87,87,87,88,
+ 88,88,13,13,13,13,13,13,13,13,
+ 13,13,13,97,122,122,122,122,122,122,
+ 120,120,120,152,121,121,183,154,154,153,
+ 153,124,124,103,78,78,79,80,52,47,
+ 155,155,53,51,85,85,156,156,145,145,
+ 105,105,106,74,74,157,157,62,62,57,
+ 57,158,63,63,75,75,60,60,60,54,
+ 89,89,99,98,98,61,61,58,58,55,
+ 55,45,100,100,100,92,92,92,93,93,
+ 94,94,94,95,95,107,107,107,109,109,
+ 108,108,202,202,90,90,185,185,185,185,
+ 185,126,46,46,160,184,184,127,127,127,
+ 127,128,162,186,186,34,34,119,129,129,
+ 129,129,188,111,110,110,123,123,123,163,
+ 164,164,164,164,164,164,164,164,164,164,
+ 164,190,190,187,187,189,189,165,166,166,
+ 166,166,167,191,113,112,112,192,192,168,
+ 168,168,168,101,101,101,193,193,8,8,
+ 9,194,194,195,169,159,159,170,170,171,
+ 172,172,7,7,10,196,196,196,196,196,
196,196,196,196,196,196,196,196,196,196,
196,196,196,196,196,196,196,196,196,196,
196,196,196,196,196,196,196,196,196,196,
- 196,196,196,196,196,196,196,196,76,81,
- 81,173,173,131,131,132,132,132,132,132,
- 132,3,133,133,130,130,114,114,84,77,
- 73,161,161,115,115,197,197,197,134,134,
- 125,125,198,198,174,174,104,1132,36,1648,
- 1642,1187,4612,28,31,32,585,567,27,29,
- 1614,26,24,51,1297,107,77,78,109,1409,
- 1305,1346,1340,1383,1373,1426,1416,1429,1468,162,
- 1432,274,1478,1485,144,331,36,280,159,145,
- 4861,1622,36,652,33,1832,4616,28,31,32,
- 585,567,58,29,3118,36,652,33,233,4793,
- 28,31,32,585,567,27,29,1269,26,24,
- 51,1297,107,77,78,109,323,1305,1346,1340,
- 1383,1373,1743,236,231,232,508,1034,965,35,
- 3118,36,652,33,275,4793,28,31,32,585,
- 567,27,29,1269,26,24,51,1297,107,77,
- 78,109,1844,1305,1346,1728,243,246,249,252,
- 1038,1346,935,2407,36,278,1437,1710,36,652,
- 33,1726,4616,28,31,32,585,567,57,29,
- 2027,1528,1503,2703,2413,2868,2871,3067,4437,2280,
- 36,652,33,2816,4793,28,31,32,585,567,
- 27,29,1269,26,24,51,1297,107,77,78,
- 109,342,1305,1346,1340,1383,1373,1426,1416,62,
- 1468,1401,1432,2156,1478,1485,144,3799,2906,1336,
- 516,145,2149,871,2971,2156,324,1366,2109,1747,
- 2906,1022,2906,4327,517,2280,36,652,33,2816,
- 4793,28,31,32,585,567,27,29,1269,26,
- 24,51,1297,107,77,78,109,342,1305,1346,
- 1340,1383,1373,1426,1416,1554,1468,662,1432,3874,
- 1478,1485,144,3015,49,2203,516,145,689,662,
- 2971,662,508,36,1863,331,3016,332,792,2188,
- 517,2272,2203,512,2384,61,1982,36,652,33,
- 2556,4876,28,31,32,585,567,27,29,1556,
- 510,1975,1562,497,2459,2280,36,652,33,2816,
- 4793,28,31,32,585,567,27,29,1269,26,
- 24,51,1297,107,77,78,109,342,1305,1346,
- 1340,1383,1373,1426,1416,312,1468,911,1432,512,
- 1478,1485,144,2565,95,3016,516,145,43,1589,
- 2971,2156,331,36,280,1563,2906,4865,1562,352,
- 517,2629,36,652,33,2816,4793,28,31,32,
- 585,567,27,29,1269,26,24,51,1297,107,
- 77,78,109,342,1305,1346,1340,1383,1373,1426,
- 1416,2078,1468,1652,1432,2816,1478,1485,144,2254,
- 36,278,516,145,442,662,2971,508,36,1244,
- 1097,331,2244,342,792,355,517,45,1589,512,
- 1718,36,652,33,530,4876,28,31,32,585,
- 567,60,29,2183,2159,1571,1295,1671,1562,1357,
- 737,2560,36,652,33,2021,4793,28,31,32,
- 585,567,27,29,1269,26,24,51,1297,107,
- 77,78,109,2773,1305,1346,1340,1383,1373,1426,
- 1416,321,1468,1898,1432,513,1478,1485,144,2452,
- 2652,1173,378,145,2350,36,652,33,2677,4793,
- 28,31,32,585,567,27,29,1269,26,24,
- 51,1297,107,77,78,109,56,1305,1346,1340,
- 1383,1373,1426,1416,1344,1468,70,1432,2100,1478,
- 1485,144,2463,49,1173,378,145,745,3118,36,
- 652,33,1233,4793,28,31,32,585,567,27,
- 29,1269,26,24,51,1297,107,77,78,109,
- 1513,1305,1346,1340,1383,1373,1426,1416,49,1468,
- 1554,1432,825,1478,1511,165,2582,1984,384,1142,
- 508,36,283,2423,36,652,33,162,4793,28,
- 31,32,585,567,27,29,1269,26,24,51,
- 1297,107,77,78,109,522,1305,1346,1340,1383,
- 1373,1426,1416,522,1468,1343,1432,2556,1478,1485,
- 144,385,1142,1173,378,145,508,1907,2602,422,
- 2600,1949,1343,2870,36,652,33,2454,4793,28,
- 31,32,585,567,27,29,1269,26,24,51,
- 1297,107,77,78,109,2992,1305,1346,1340,1383,
- 1373,1426,1416,49,1468,848,1432,2208,1478,1485,
- 144,3891,1640,2247,159,145,3118,36,652,33,
- 1393,4793,28,31,32,585,567,27,29,1269,
- 26,24,51,1297,107,77,78,109,2987,1305,
- 1346,1340,1383,1373,1426,1416,2390,1468,2669,1778,
- 376,1142,2870,36,652,33,2712,4793,28,31,
- 32,585,567,27,29,1269,26,24,51,1297,
- 107,77,78,109,2723,1305,1346,1340,1383,1373,
- 1426,1416,354,1468,403,1432,2556,1478,1485,144,
- 289,530,2719,372,145,2870,36,652,33,1427,
- 4793,28,31,32,585,567,27,29,1269,26,
- 24,51,1297,107,77,78,109,1528,1305,1346,
- 1340,1383,1373,1426,1416,1884,1468,2656,1432,723,
- 1478,1485,144,508,4292,592,372,145,2870,36,
- 652,33,2550,4793,28,31,32,585,567,27,
- 29,1269,26,24,51,1297,107,77,78,109,
- 2641,1305,1346,1340,1383,1373,1426,1416,2641,1468,
- 1157,1432,157,1478,1485,144,65,4847,371,372,
- 145,2697,36,652,33,3206,4793,28,31,32,
- 585,567,27,29,1269,26,24,51,1297,107,
- 77,78,109,2097,1305,1346,1340,1383,1373,1426,
- 1416,322,1468,940,1432,49,1478,1511,165,3611,
- 530,370,1357,157,2492,36,652,33,4651,4793,
- 28,31,32,585,567,27,29,1269,26,24,
- 51,1297,107,77,78,109,143,1305,1346,1340,
- 1383,1373,1426,1416,496,1468,1257,1432,1357,1478,
- 1485,144,1727,326,368,143,145,1343,2870,36,
- 652,33,1519,4793,28,31,32,585,567,27,
- 29,1269,26,24,51,1297,107,77,78,109,
- 377,1305,1346,1340,1383,1373,1426,1416,1272,1468,
- 223,1432,94,1478,1485,144,1022,1683,404,156,
- 145,2870,36,652,33,1400,4793,28,31,32,
- 585,567,27,29,1269,26,24,51,1297,107,
- 77,78,109,420,1305,1346,1340,1383,1373,1426,
- 1416,1915,1468,223,1432,1022,1478,1485,144,1022,
- 508,2557,155,145,2870,36,652,33,239,4793,
- 28,31,32,585,567,27,29,1269,26,24,
- 51,1297,107,77,78,109,1463,1305,1346,1340,
- 1383,1373,1426,1416,1260,1468,683,1432,459,1478,
- 1485,144,326,770,1582,154,145,2870,36,652,
- 33,1031,4793,28,31,32,585,567,27,29,
- 1269,26,24,51,1297,107,77,78,109,1649,
- 1305,1346,1340,1383,1373,1426,1416,458,1468,1668,
- 1432,325,1478,1485,144,1911,1919,2108,153,145,
- 2870,36,652,33,1628,4793,28,31,32,585,
- 567,27,29,1269,26,24,51,1297,107,77,
- 78,109,380,1305,1346,1340,1383,1373,1426,1416,
- 49,1468,3398,1432,961,1478,1485,144,3323,413,
- 587,152,145,2870,36,652,33,1724,4793,28,
- 31,32,585,567,27,29,1269,26,24,51,
- 1297,107,77,78,109,379,1305,1346,1340,1383,
- 1373,1426,1416,49,1468,1812,1432,4441,1478,1485,
- 144,1022,1842,1398,151,145,2870,36,652,33,
- 1620,4793,28,31,32,585,567,27,29,1269,
- 26,24,51,1297,107,77,78,109,1903,1305,
- 1346,1340,1383,1373,1426,1416,2180,1468,1531,1432,
- 157,1478,1485,144,1022,4677,2163,150,145,2870,
- 36,652,33,2008,4793,28,31,32,585,567,
- 27,29,1269,26,24,51,1297,107,77,78,
- 109,2099,1305,1346,1340,1383,1373,1426,1416,2690,
- 1468,2060,1432,4169,1478,1485,144,491,2069,2303,
- 149,145,2870,36,652,33,578,4793,28,31,
- 32,585,567,27,29,1269,26,24,51,1297,
- 107,77,78,109,2103,1305,1346,1340,1383,1373,
- 1426,1416,2410,1468,2416,1432,52,1478,1485,144,
- 2447,2453,2338,148,145,2870,36,652,33,2722,
- 4793,28,31,32,585,567,27,29,1269,26,
- 24,51,1297,107,77,78,109,1846,1305,1346,
- 1340,1383,1373,1426,1416,49,1468,2478,1432,3676,
- 1478,1485,144,2480,1286,674,147,145,2870,36,
- 652,33,2240,4793,28,31,32,585,567,27,
- 29,1269,26,24,51,1297,107,77,78,109,
- 2382,1305,1346,1340,1383,1373,1426,1416,49,1468,
- 2725,1432,3027,1478,1485,144,2484,856,761,146,
- 145,2870,36,652,33,2167,4793,28,31,32,
- 585,567,27,29,1269,26,24,51,1297,107,
- 77,78,109,2267,1305,1346,1340,1383,1373,1426,
- 1416,49,1468,2482,1432,2744,1478,1485,144,2457,
- 2726,2517,160,145,2870,36,652,33,2547,4793,
- 28,31,32,585,567,27,29,1269,26,24,
- 51,1297,107,77,78,109,2519,1305,1346,1340,
- 1383,1373,1426,1416,49,1468,1412,1432,999,1478,
- 1485,144,2522,1339,2583,141,145,2998,36,652,
- 33,1109,4793,28,31,32,585,567,27,29,
- 1269,26,24,51,1297,107,77,78,109,1505,
- 1305,1346,1340,1383,1373,1426,1416,49,1468,2555,
- 1432,3013,1478,1485,144,2270,2727,72,190,145,
- 3118,36,652,33,1481,4793,28,31,32,585,
- 567,27,29,1269,26,24,51,1297,107,77,
- 78,109,1550,1305,1346,1340,1383,1373,1426,1416,
- 49,1468,2584,1432,1143,1478,1511,165,3118,36,
- 652,33,2181,4793,28,31,32,585,567,27,
- 29,1269,26,24,51,1297,107,77,78,109,
- 1428,1305,1346,1340,1383,1373,1426,1416,2203,1468,
- 3127,1432,353,1478,1511,165,2061,36,652,33,
- 446,1640,42,31,32,585,567,3118,36,652,
- 33,293,4793,28,31,32,585,567,27,29,
- 1269,26,24,51,1297,107,77,78,109,2588,
- 1305,1346,1340,1383,1373,1426,1416,49,1468,1343,
- 1432,1143,1478,1511,165,3118,36,652,33,2738,
- 4793,28,31,32,585,567,27,29,1269,26,
- 24,51,1297,107,77,78,109,3282,1305,1346,
- 1340,1383,1373,1426,1416,2591,1468,2621,1432,2743,
- 1478,1511,165,2070,36,652,33,2520,1496,41,
- 31,32,585,567,3175,36,652,33,421,4793,
- 28,31,32,585,567,27,29,1269,26,24,
- 51,1297,107,77,78,109,521,1305,1346,1340,
- 1383,1373,1426,1416,49,1468,1343,1432,3021,1478,
- 1511,165,3118,36,652,33,424,4793,28,31,
- 32,585,567,27,29,1269,26,24,51,1297,
- 107,77,78,109,381,1305,1346,1340,1383,1373,
- 1426,1416,1000,1468,2615,1432,3426,1786,1718,36,
- 652,33,88,4876,28,31,32,585,567,59,
- 29,3118,36,652,33,2530,4793,28,31,32,
- 585,567,27,29,1269,26,24,51,1297,107,
- 77,78,109,244,1305,1346,1340,1383,1373,1426,
- 1416,2372,1771,3118,36,652,33,2623,4793,28,
- 31,32,585,567,27,29,1269,26,24,51,
- 1297,107,77,78,109,418,1305,1346,1340,1383,
- 1373,1426,1777,3118,36,652,33,2651,4793,28,
- 31,32,585,567,27,29,1269,26,24,51,
- 1297,107,77,78,109,2657,1305,1346,1340,1383,
- 1761,3118,36,652,33,2203,4793,28,31,32,
- 585,567,27,29,1269,26,24,51,1297,107,
- 77,78,109,1247,1305,1346,1340,1383,1769,1519,
- 36,652,33,735,3366,28,31,32,585,567,
- 338,29,3118,36,652,33,2684,4793,28,31,
- 32,585,567,27,29,1269,26,24,51,1297,
- 107,77,78,109,1376,1305,1346,1340,1693,1538,
- 36,652,33,2308,3366,28,31,32,585,567,
- 338,29,71,662,233,1730,661,320,2686,331,
- 1357,314,541,1357,508,36,1042,387,2070,36,
- 652,33,1496,313,2895,31,32,585,567,245,
- 231,232,508,36,965,277,953,175,4538,331,
- 36,452,4147,662,4703,25,661,320,430,332,
- 1470,315,541,307,536,671,3118,36,652,33,
- 2619,4793,28,31,32,585,567,27,29,1269,
- 26,24,51,1297,107,77,78,109,2653,1305,
- 1346,1340,1700,2070,36,652,33,2721,388,3438,
- 31,32,585,567,3453,508,36,965,1857,2452,
- 2381,3118,36,652,33,2082,4793,28,31,32,
- 585,567,27,29,1269,26,24,51,1297,107,
- 77,78,109,2517,1305,1346,1340,1718,3118,36,
- 652,33,2486,4793,28,31,32,585,567,27,
- 29,1269,26,24,51,1297,107,77,78,109,
- 2728,1305,1346,1340,1726,1419,36,652,33,3177,
- 2690,28,31,32,585,567,338,29,2183,36,
- 294,157,2254,36,281,2486,4681,1473,36,1986,
- 33,735,3366,28,31,32,585,567,338,29,
- 508,36,1042,387,2238,1749,36,652,33,4531,
- 2690,28,31,32,585,567,338,29,2763,445,
- 2062,2072,661,320,853,36,452,314,541,4703,
- 594,36,1042,387,451,2730,1640,350,1357,1943,
- 351,662,401,3437,661,320,3791,331,2645,314,
- 541,1949,1114,36,1804,821,240,343,2037,804,
- 348,1312,661,320,50,1933,1022,314,541,2756,
- 70,262,2010,1036,738,537,4538,2906,1022,959,
- 351,2246,89,49,2237,103,50,3081,2816,3223,
- 2752,1234,4294,229,2816,1036,927,343,2037,804,
- 348,157,446,49,233,3243,2625,3766,317,181,
- 3735,2992,342,508,36,965,279,204,216,4504,
- 203,213,214,215,217,90,662,170,103,241,
- 231,232,332,1,5384,729,169,537,184,168,
- 171,172,173,174,175,1817,1357,351,98,1143,
- 365,521,416,418,1976,229,3232,36,1042,387,
- 99,3738,569,157,345,2037,804,348,5384,238,
- 5384,181,3735,2992,359,161,2664,5384,69,204,
- 216,4504,203,213,214,215,217,1797,1496,170,
- 274,3606,1864,1865,449,2062,2072,1008,169,182,
- 185,168,171,172,173,174,175,1357,1261,437,
- 5384,1363,1343,3118,36,652,33,233,4793,28,
- 31,32,585,567,27,29,1269,26,24,51,
- 1297,107,77,78,109,2446,1305,1346,1736,54,
- 1647,2867,236,231,232,4716,508,36,1042,387,
- 2793,2203,2992,275,285,1237,36,652,33,2647,
- 2690,28,31,32,585,567,338,29,524,233,
- 349,5384,233,405,537,243,246,249,252,1038,
- 50,508,36,294,441,1437,455,2514,5384,1036,
- 1026,1951,229,402,248,231,232,251,231,232,
- 157,3469,2703,2413,2868,2871,3067,4437,181,3735,
- 2992,2179,1906,320,5384,3118,204,216,4504,203,
- 213,214,215,217,436,418,170,49,537,2265,
- 2237,3062,2271,2816,2816,169,2731,2548,168,171,
- 172,173,174,175,5384,5384,229,766,36,1042,
- 387,2625,2625,2344,157,1972,508,36,1042,387,
- 2906,2344,181,3735,2992,2526,5384,1248,1907,2816,
- 204,216,4504,203,213,214,215,217,523,2265,
- 170,274,537,2816,4242,5384,351,2625,1481,169,
- 50,179,168,171,172,173,174,175,183,47,
- 229,2625,2344,343,2037,804,348,1632,157,662,
- 1817,341,2947,316,1143,3015,181,3735,2992,504,
- 359,1248,1907,1496,204,216,4504,203,213,214,
- 215,217,610,5384,170,5384,537,3858,1864,1865,
- 161,5384,72,169,1872,177,168,171,172,173,
- 174,175,2488,2335,229,360,5384,2816,2156,5384,
- 502,503,157,2906,73,389,426,1343,233,504,
- 181,3735,2992,390,426,2625,5384,1357,204,216,
- 4504,203,213,214,215,217,697,2344,170,286,
- 537,288,5384,254,231,232,97,169,5384,178,
- 168,171,172,173,174,175,3201,2992,229,88,
- 501,503,662,5384,392,426,157,2156,331,5384,
- 2848,1908,2906,375,181,3735,2992,49,2183,2029,
- 294,2816,204,216,4504,203,213,214,215,217,
- 784,1357,170,504,537,288,49,2732,1496,342,
- 3147,169,2035,188,168,171,172,173,174,175,
- 5384,5384,229,508,36,1042,387,5384,2763,5384,
- 157,662,2971,53,3083,1908,157,331,181,3735,
- 2992,4727,1599,1357,501,503,204,216,4504,203,
- 213,214,215,217,871,5384,170,274,537,391,
- 426,508,36,1042,387,169,3547,2751,168,171,
- 172,173,174,175,298,349,229,508,36,1042,
- 387,5384,1357,1901,157,1817,2463,373,4698,1143,
- 5384,2246,181,3735,2992,433,1263,36,965,277,
- 204,216,4504,203,213,214,215,217,49,1496,
- 170,274,3787,2015,91,161,1496,4236,5384,169,
- 339,193,168,171,172,173,174,175,2091,36,
- 652,33,3177,2690,28,31,32,585,567,338,
- 29,3118,36,652,33,350,4793,28,31,32,
- 585,567,27,29,1269,26,24,51,1297,107,
- 77,78,109,1357,1305,1649,594,36,1042,387,
- 508,36,1042,387,276,297,5384,508,36,1042,
- 387,3643,305,49,2900,661,320,2569,351,1817,
- 314,541,2663,1143,958,3308,2816,1357,537,5384,
- 50,5384,525,351,432,343,2037,804,348,1036,
- 721,431,157,3243,342,1343,229,4763,5384,161,
- 343,2037,804,348,157,3223,49,49,526,3383,
- 3776,2816,181,3735,2992,49,1357,4229,2446,2816,
- 204,216,4504,203,213,214,215,217,1045,342,
- 170,428,537,2446,2515,2992,49,342,1143,169,
- 3039,187,168,171,172,173,174,175,68,157,
- 229,523,2971,49,4776,2001,300,1143,157,49,
- 2971,5384,1605,2593,157,3771,181,3735,2992,5384,
- 1606,222,201,4295,204,216,4504,203,213,214,
- 215,217,5384,157,170,508,1950,965,75,508,
- 36,294,1734,169,5384,195,168,171,172,173,
- 174,175,3118,36,652,33,5384,4793,28,31,
- 32,585,567,27,29,1269,26,24,51,1297,
- 107,77,78,109,5384,1305,1650,1834,36,652,
- 33,5384,3366,28,31,32,585,567,338,29,
- 1357,1803,36,652,33,735,2690,28,31,32,
- 585,567,338,29,1739,36,652,33,735,2690,
- 28,31,32,585,567,338,29,49,5384,4458,
- 2340,1143,67,49,1143,49,1357,2990,1357,1143,
- 5384,662,5384,157,661,320,1357,332,4780,315,
- 541,919,4322,919,5384,5384,5384,157,661,320,
- 157,5384,351,314,541,157,1779,5384,66,163,
- 65,661,320,5384,3436,313,314,541,3805,345,
- 2037,804,348,1357,3061,36,652,33,313,4793,
- 28,31,32,585,567,27,29,1269,26,24,
- 51,1297,87,77,78,307,536,671,1263,36,
- 965,1958,3613,1817,3613,56,919,1143,534,536,
- 671,3118,36,652,33,5384,4793,28,31,32,
- 585,567,27,29,1269,26,24,51,1297,107,
- 77,78,109,161,1657,2446,4371,5384,5384,327,
- 334,333,334,3118,36,652,33,2082,4793,28,
- 31,32,585,567,27,29,1269,26,24,51,
- 1297,107,77,78,109,2446,1685,3613,594,36,
- 1042,387,5384,304,3118,36,652,33,559,4793,
- 28,31,32,585,567,27,29,1269,26,24,
- 51,1297,107,77,78,109,1585,1692,4501,3841,
- 2816,1357,50,180,329,334,1849,1114,36,395,
- 2816,1036,1564,2446,5384,49,1937,919,229,2816,
- 2816,508,36,965,282,5384,5384,3277,229,508,
- 36,965,1992,55,5384,49,49,342,229,4230,
- 810,5384,206,216,4504,205,213,214,215,217,
- 5384,199,206,216,4504,205,213,214,215,217,
- 2971,5384,206,216,4504,205,213,214,215,217,
- 1607,1357,207,209,211,295,296,1847,3613,218,
- 208,210,207,209,211,295,296,1847,1357,218,
- 208,210,207,209,211,295,296,1847,49,218,
- 208,210,1127,102,49,5384,49,49,3786,1817,
- 3113,2121,3208,1143,4317,3806,334,2149,5384,49,
- 3889,49,3309,4466,4317,2696,49,49,5384,1357,
- 1256,3561,3316,5384,4317,3118,36,652,33,161,
- 4793,28,31,32,585,567,27,29,1269,26,
- 24,51,1297,107,77,78,86,3118,1034,652,
- 1546,3705,4793,28,31,32,585,567,27,29,
- 1269,26,24,51,1297,107,77,78,85,3118,
- 36,652,33,5384,4793,28,31,32,585,567,
- 27,29,1269,26,24,51,1297,107,77,78,
- 84,3118,36,652,33,4231,4793,28,31,32,
- 585,567,27,29,1269,26,24,51,1297,107,
- 77,78,83,3118,36,652,33,5384,4793,28,
- 31,32,585,567,27,29,1269,26,24,51,
- 1297,107,77,78,82,3118,36,652,33,5384,
- 4793,28,31,32,585,567,27,29,1269,26,
- 24,51,1297,107,77,78,81,3118,36,652,
- 33,5384,4793,28,31,32,585,567,27,29,
- 1269,26,24,51,1297,107,77,78,80,3118,
- 36,652,33,5384,4793,28,31,32,585,567,
- 27,29,1269,26,24,51,1297,107,77,78,
- 79,2933,36,652,33,5384,4793,28,31,32,
- 585,567,27,29,1269,26,24,51,1297,107,
- 77,78,105,3118,36,652,33,5384,4793,28,
- 31,32,585,567,27,29,1269,26,24,51,
- 1297,107,77,78,111,3118,36,652,33,5384,
- 4793,28,31,32,585,567,27,29,1269,26,
- 24,51,1297,107,77,78,110,3118,36,652,
- 33,5384,4793,28,31,32,585,567,27,29,
- 1269,26,24,51,1297,107,77,78,108,3118,
- 36,652,33,5384,4793,28,31,32,585,567,
- 27,29,1269,26,24,51,1297,107,77,78,
- 106,1926,36,1986,33,735,2690,28,31,32,
- 585,567,338,29,1490,36,652,33,735,2690,
- 28,31,32,585,567,338,29,2446,5384,5384,
- 49,49,2025,1901,1143,1143,2816,5384,4698,2306,
- 919,1357,1993,3328,49,1673,1916,5384,2816,2816,
- 2816,2906,2446,5384,229,1114,36,395,661,320,
- 157,157,5384,314,541,198,342,229,2625,3560,
- 3596,661,320,450,528,1312,314,541,206,216,
- 4504,205,213,214,215,217,5384,5384,313,2971,
- 303,206,216,4504,205,213,214,215,217,3397,
- 662,3613,2446,49,1343,2446,331,1143,207,209,
- 211,295,296,1847,1357,519,208,210,308,536,
- 671,207,209,211,295,296,1847,1761,518,208,
- 210,2816,2446,157,2900,2732,359,2113,3868,334,
- 202,2816,3598,200,2992,5384,3146,2201,5384,229,
- 5384,2816,49,3363,1864,1865,1143,5384,5384,229,
- 375,5384,1114,36,395,2195,417,418,1976,229,
- 299,2446,5384,206,216,4504,205,213,214,215,
- 217,2446,157,206,216,4504,205,213,214,215,
- 217,2726,5384,206,216,4504,205,213,214,215,
- 217,429,5384,207,209,211,295,296,1847,3590,
- 219,208,210,207,209,211,295,296,1847,223,
- 306,208,210,207,209,211,295,296,1847,2446,
- 498,208,210,1490,36,652,33,735,2690,28,
- 31,32,585,567,338,29,1357,3282,36,1042,
- 387,1195,3738,1357,1357,2816,4900,2304,49,5384,
- 239,2816,2816,5384,3877,5384,5384,194,1357,5384,
- 5384,2515,2729,229,1357,537,919,5384,3200,342,
- 342,274,5384,5384,5384,3254,2872,5384,5384,529,
- 661,320,5384,3897,5384,314,541,1216,406,2915,
- 3415,157,2971,2971,5384,5384,4419,959,233,181,
- 3735,1357,532,508,1634,36,652,33,2419,2690,
- 28,31,32,585,567,338,29,407,408,409,
- 295,296,1847,237,231,232,196,3613,5384,5384,
- 5384,1916,5384,3448,275,2816,2906,5384,1538,36,
- 652,33,1822,3366,28,31,32,585,567,338,
- 29,49,5384,2625,5384,1143,244,247,250,253,
- 1038,1906,320,5384,3896,334,1437,1490,36,652,
- 33,735,2690,28,31,32,585,567,338,29,
- 5384,157,5384,5384,5384,662,5384,5384,5384,1301,
- 4464,331,662,2816,4900,661,320,5384,332,5384,
- 317,541,5384,5384,410,412,5384,5384,5384,5384,
- 5384,229,1829,36,1042,387,1117,36,1042,387,
- 3547,359,5384,5384,661,320,5384,5384,2492,314,
- 541,4589,5384,5384,5384,1216,406,2915,3363,1864,
- 1865,2695,4709,197,5384,4232,50,5384,5384,5384,
- 50,1117,36,1042,387,1036,2331,5384,5384,1036,
- 2847,2947,316,5384,5384,407,408,409,295,296,
- 1847,3277,5384,5384,5384,3007,5384,594,36,1042,
- 387,1117,36,1042,387,50,5384,5384,5384,5384,
- 1822,5384,5384,5384,1036,48,5384,5384,594,36,
- 1042,387,5384,594,36,1042,387,5384,5384,2524,
- 2642,50,5384,537,5384,50,594,36,1042,387,
- 1036,48,5384,5384,1036,48,5384,1547,36,1042,
- 387,342,50,5384,5384,5384,1090,50,5384,157,
- 2553,1036,48,5384,5384,49,1036,48,189,2816,
- 50,5384,410,413,4567,5384,5384,2484,5384,1036,
- 48,50,2660,594,36,1042,387,342,5384,5384,
- 1036,48,5384,5384,5384,3261,594,36,1042,387,
- 2276,36,1042,387,5384,5384,2941,49,5384,5384,
- 2971,537,5384,1230,36,1042,387,50,5384,49,
- 506,5384,5384,537,5384,5384,1036,48,5384,342,
- 50,191,5384,5384,50,5384,5384,157,5384,1036,
- 48,342,3370,1036,48,5384,2483,50,5384,157,
- 49,5384,2971,5384,537,3377,1036,2044,2806,3509,
- 5384,5384,2480,5384,2971,5384,5384,508,36,1042,
- 387,5384,342,5384,2698,5384,5384,5384,5384,5384,
- 157,508,36,1042,387,508,36,1042,387,2483,
- 49,5384,5384,5384,2816,2971,508,36,1042,387,
- 5384,50,5384,5384,49,3137,5384,5384,537,4361,
- 1036,799,342,5384,49,50,5384,5384,537,50,
- 508,36,1042,387,1036,919,342,5384,1036,663,
- 50,5384,5384,5384,157,2971,342,5384,49,1036,
- 2044,5384,537,189,157,533,5384,5384,5384,4567,
- 5384,5384,5384,189,50,5384,5384,5384,5384,4567,
- 342,5384,5384,1036,3048,5384,5384,5384,157,5384,
- 5384,5384,5384,5384,5384,5384,5384,189,5384,5384,
- 5384,5384,5384,4567,5384,5384,5384,5384,5384,5384,
- 5384,5384,5384,5384,5384,5384,5384,5384,5384,5384,
- 5384,5384,5384,5384,5384,5384,4304,5384,5384,5384,
- 5384,5384,5384,5384,5384,5384,4436,5384,5384,5384,
- 5384,5384,5384,5384,5384,5384,5384,5384,5384,5384,
- 5384,5384,5384,5384,5384,5384,5384,5384,5384,5384,
- 4443,5384,0,2116,1,0,40,5399,1,0,
- 40,5398,1,0,39,626,0,39,5399,0,
- 39,5398,0,453,784,0,439,1043,0,1078,
- 30,0,5399,49,0,5398,49,0,5396,382,
- 0,5395,382,0,40,5399,0,40,5398,0,
- 1,443,0,457,1476,0,456,1515,0,36,
- 34,0,1078,386,0,48,38,0,2571,127,
- 0,1,1342,0,1,5657,0,1,5656,0,
- 1,5655,0,1,5654,0,1,5653,0,1,
- 5652,0,1,5651,0,1,5650,0,1,5649,
- 0,1,5648,0,1,5647,0,284,393,0,
- 284,287,0,5619,242,0,5618,242,0,5721,
- 242,0,5720,242,0,5646,242,0,5645,242,
- 0,5644,242,0,5643,242,0,5642,242,0,
- 5641,242,0,5640,242,0,5639,242,0,5657,
- 242,0,5656,242,0,5655,242,0,5654,242,
- 0,5653,242,0,5652,242,0,5651,242,0,
- 5650,242,0,5649,242,0,5648,242,0,5647,
- 242,0,40,5399,242,0,40,5398,242,0,
- 5423,242,0,44,5421,0,44,38,0,2157,
- 92,0,33,35,0,40,626,0,330,444,
- 0,5390,1,0,5389,1,0,238,2805,0,
- 33,387,0,30,386,0,2571,129,0,2571,
- 128,0,500,1829,0,5423,1,230,0,40,
- 1,230,0,230,415,0,5399,38,0,5398,
- 38,0,5421,46,0,38,46,0,5423,1,
- 0,40,1,0,1,93,0,5394,404,0,
- 5393,404,0,4423,1,0,2750,1,0,626,
- 1,0,230,414,0,1915,382,0,5399,2,
- 38,0,5398,2,38,0,5399,37,0,5398,
- 37,0,1,330,0,8,12,0,330,96,
- 0,36,74,0,500,4235,0,1,230,0,
- 230,221,0,279,3285,0,230,220,0,1,
- 3777,0,1,4245,0,5396,1,0,5392,1,
- 0,1,230,2284,0,5393,230,0,2292,230,
- 0,2507,230,0,10,12,0,8,10,12,
- 0,186,3394,0
+ 196,196,196,196,196,196,196,76,81,81,
+ 173,173,131,131,132,132,132,132,132,132,
+ 3,133,133,130,130,114,114,84,77,73,
+ 161,161,115,115,197,197,197,134,134,125,
+ 125,198,198,174,174,104,1119,35,1647,1641,
+ 1179,4611,27,30,31,584,566,26,28,1613,
+ 25,23,50,1296,106,76,77,108,1234,1304,
+ 1345,1339,1382,1372,1425,1415,1167,1467,142,1431,
+ 273,1477,1484,143,327,35,279,158,144,4860,
+ 1600,35,651,32,2077,4615,27,30,31,584,
+ 566,57,28,3023,35,651,32,232,4792,27,
+ 30,31,584,566,26,28,1268,25,23,50,
+ 1296,106,76,77,108,322,1304,1345,1339,1382,
+ 1372,1742,235,230,231,502,1033,964,34,3023,
+ 35,651,32,274,4792,27,30,31,584,566,
+ 26,28,1268,25,23,50,1296,106,76,77,
+ 108,2164,1304,1345,1727,242,245,248,251,1037,
+ 1446,924,2377,35,277,1436,2035,35,651,32,
+ 1322,4615,27,30,31,584,566,56,28,2026,
+ 1527,1525,2702,2412,2867,2870,3066,4436,2250,35,
+ 651,32,2815,4792,27,30,31,584,566,26,
+ 28,1268,25,23,50,1296,106,76,77,108,
+ 341,1304,1345,1339,1382,1372,1425,1415,61,1467,
+ 2242,1431,1347,1477,1484,143,3798,2905,1517,515,
+ 144,1993,870,2970,1347,323,1867,1859,2053,2905,
+ 1010,2905,4326,516,2250,35,651,32,2815,4792,
+ 27,30,31,584,566,26,28,1268,25,23,
+ 50,1296,106,76,77,108,341,1304,1345,1339,
+ 1382,1372,1425,1415,1553,1467,661,1431,3873,1477,
+ 1484,143,3014,56,2202,515,144,688,661,2970,
+ 661,502,35,1862,330,3015,331,791,2080,516,
+ 2305,2202,511,2217,60,2122,35,651,32,2237,
+ 4875,27,30,31,584,566,26,28,1555,509,
+ 2223,1561,496,2458,2250,35,651,32,2815,4792,
+ 27,30,31,584,566,26,28,1268,25,23,
+ 50,1296,106,76,77,108,341,1304,1345,1339,
+ 1382,1372,1425,1415,311,1467,910,1431,511,1477,
+ 1484,143,2564,94,3015,515,144,42,1588,2970,
+ 1347,327,35,279,1562,2905,4864,1561,351,516,
+ 2594,35,651,32,2815,4792,27,30,31,584,
+ 566,26,28,1268,25,23,50,1296,106,76,
+ 77,108,341,1304,1345,1339,1382,1372,1425,1415,
+ 2344,1467,1725,1431,2815,1477,1484,143,2224,35,
+ 277,515,144,441,661,2970,502,35,1243,1096,
+ 330,2243,341,791,354,516,44,1588,511,1956,
+ 35,651,32,529,4875,27,30,31,584,566,
+ 59,28,2207,2158,1570,1294,1903,1561,1355,736,
+ 2526,35,651,32,2467,4792,27,30,31,584,
+ 566,26,28,1268,25,23,50,1296,106,76,
+ 77,108,2772,1304,1345,1339,1382,1372,1425,1415,
+ 320,1467,1897,1431,512,1477,1484,143,2383,2583,
+ 1172,377,144,2319,35,651,32,2700,4792,27,
+ 30,31,584,566,26,28,1268,25,23,50,
+ 1296,106,76,77,108,135,1304,1345,1339,1382,
+ 1372,1425,1415,1324,1467,69,1431,1335,1477,1484,
+ 143,2493,56,1172,377,144,744,3023,35,651,
+ 32,71,4792,27,30,31,584,566,26,28,
+ 1268,25,23,50,1296,106,76,77,108,1512,
+ 1304,1345,1339,1382,1372,1425,1415,56,1467,1553,
+ 1431,824,1477,1510,164,2499,1983,383,1141,502,
+ 35,282,2391,35,651,32,142,4792,27,30,
+ 31,584,566,26,28,1268,25,23,50,1296,
+ 106,76,77,108,521,1304,1345,1339,1382,1372,
+ 1425,1415,521,1467,1618,1431,2237,1477,1484,143,
+ 384,1141,1172,377,144,502,1906,2601,421,2617,
+ 1948,1618,2788,35,651,32,2453,4792,27,30,
+ 31,584,566,26,28,1268,25,23,50,1296,
+ 106,76,77,108,2991,1304,1345,1339,1382,1372,
+ 1425,1415,56,1467,236,1431,2207,1477,1484,143,
+ 3890,1639,1713,158,144,3023,35,651,32,1392,
+ 4792,27,30,31,584,566,26,28,1268,25,
+ 23,50,1296,106,76,77,108,2986,1304,1345,
+ 1339,1382,1372,1425,1415,2130,1467,2623,1777,375,
+ 1141,2788,35,651,32,2711,4792,27,30,31,
+ 584,566,26,28,1268,25,23,50,1296,106,
+ 76,77,108,2663,1304,1345,1339,1382,1372,1425,
+ 1415,353,1467,402,1431,2237,1477,1484,143,288,
+ 529,2634,371,144,2788,35,651,32,931,4792,
+ 27,30,31,584,566,26,28,1268,25,23,
+ 50,1296,106,76,77,108,1527,1304,1345,1339,
+ 1382,1372,1425,1415,1946,1467,3270,1431,722,1477,
+ 1484,143,502,4291,585,371,144,2788,35,651,
+ 32,2515,4792,27,30,31,584,566,26,28,
+ 1268,25,23,50,1296,106,76,77,108,2640,
+ 1304,1345,1339,1382,1372,1425,1415,2640,1467,1350,
+ 1431,671,1477,1484,143,64,4846,370,371,144,
+ 2733,35,651,32,3205,4792,27,30,31,584,
+ 566,26,28,1268,25,23,50,1296,106,76,
+ 77,108,1811,1304,1345,1339,1382,1372,1425,1415,
+ 321,1467,929,1431,56,1477,1510,164,3610,529,
+ 369,1355,671,2459,35,651,32,4650,4792,27,
+ 30,31,584,566,26,28,1268,25,23,50,
+ 1296,106,76,77,108,1236,1304,1345,1339,1382,
+ 1372,1425,1415,495,1467,1244,1431,1355,1477,1484,
+ 143,400,325,367,142,144,1618,2788,35,651,
+ 32,1518,4792,27,30,31,584,566,26,28,
+ 1268,25,23,50,1296,106,76,77,108,376,
+ 1304,1345,1339,1382,1372,1425,1415,1328,1467,159,
+ 1431,93,1477,1484,143,1010,1682,1352,155,144,
+ 2788,35,651,32,1380,4792,27,30,31,584,
+ 566,26,28,1268,25,23,50,1296,106,76,
+ 77,108,419,1304,1345,1339,1382,1372,1425,1415,
+ 49,1467,159,1431,1010,1477,1484,143,1010,502,
+ 2556,154,144,2788,35,651,32,1476,4792,27,
+ 30,31,584,566,26,28,1268,25,23,50,
+ 1296,106,76,77,108,1442,1304,1345,1339,1382,
+ 1372,1425,1415,1375,1467,160,1431,458,1477,1484,
+ 143,2163,590,1774,153,144,2788,35,651,32,
+ 848,4792,27,30,31,584,566,26,28,1268,
+ 25,23,50,1296,106,76,77,108,1174,1304,
+ 1345,1339,1382,1372,1425,1415,457,1467,1560,1431,
+ 324,1477,1484,143,1965,1991,2146,152,144,2788,
+ 35,651,32,2310,4792,27,30,31,584,566,
+ 26,28,1268,25,23,50,1296,106,76,77,
+ 108,379,1304,1345,1339,1382,1372,1425,1415,56,
+ 1467,3297,1431,960,1477,1484,143,3223,408,580,
+ 151,144,2788,35,651,32,1144,4792,27,30,
+ 31,584,566,26,28,1268,25,23,50,1296,
+ 106,76,77,108,378,1304,1345,1339,1382,1372,
+ 1425,1415,56,1467,1613,1431,4440,1477,1484,143,
+ 1010,1700,932,150,144,2788,35,651,32,1378,
+ 4792,27,30,31,584,566,26,28,1268,25,
+ 23,50,1296,106,76,77,108,1527,1304,1345,
+ 1339,1382,1372,1425,1415,1790,1467,1610,1431,671,
+ 1477,1484,143,1010,4676,2246,149,144,2788,35,
+ 651,32,1954,4792,27,30,31,584,566,26,
+ 28,1268,25,23,50,1296,106,76,77,108,
+ 3217,1304,1345,1339,1382,1372,1425,1415,3219,1467,
+ 1508,1431,4168,1477,1484,143,1778,1949,1629,148,
+ 144,2788,35,651,32,1498,4792,27,30,31,
+ 584,566,26,28,1268,25,23,50,1296,106,
+ 76,77,108,1815,1304,1345,1339,1382,1372,1425,
+ 1415,2345,1467,2346,1431,51,1477,1484,143,2385,
+ 2414,1900,147,144,2788,35,651,32,2642,4792,
+ 27,30,31,584,566,26,28,1268,25,23,
+ 50,1296,106,76,77,108,2439,1304,1345,1339,
+ 1382,1372,1425,1415,56,1467,2415,1431,3675,1477,
+ 1484,143,2421,1887,2350,146,144,2788,35,651,
+ 32,2447,4792,27,30,31,584,566,26,28,
+ 1268,25,23,50,1296,106,76,77,108,2284,
+ 1304,1345,1339,1382,1372,1425,1415,56,1467,2664,
+ 1431,3026,1477,1484,143,2450,2387,2413,145,144,
+ 2788,35,651,32,838,4792,27,30,31,584,
+ 566,26,28,1268,25,23,50,1296,106,76,
+ 77,108,2419,1304,1345,1339,1382,1372,1425,1415,
+ 56,1467,2449,1431,2743,1477,1484,143,2486,2665,
+ 2514,159,144,2788,35,651,32,2481,4792,27,
+ 30,31,584,566,26,28,1268,25,23,50,
+ 1296,106,76,77,108,2516,1304,1345,1339,1382,
+ 1372,1425,1415,56,1467,1329,1431,998,1477,1484,
+ 143,2550,1338,2552,140,144,2906,35,651,32,
+ 2521,4792,27,30,31,584,566,26,28,1268,
+ 25,23,50,1296,106,76,77,108,2517,1304,
+ 1345,1339,1382,1372,1425,1415,56,1467,2557,1431,
+ 3012,1477,1484,143,1908,2667,2210,189,144,3023,
+ 35,651,32,1599,4792,27,30,31,584,566,
+ 26,28,1268,25,23,50,1296,106,76,77,
+ 108,2592,1304,1345,1339,1382,1372,1425,1415,56,
+ 1467,2582,1431,1142,1477,1510,164,3023,35,651,
+ 32,2687,4792,27,30,31,584,566,26,28,
+ 1268,25,23,50,1296,106,76,77,108,1427,
+ 1304,1345,1339,1382,1372,1425,1415,2202,1467,3126,
+ 1431,352,1477,1510,164,2152,35,651,32,445,
+ 2551,41,30,31,584,566,3023,35,651,32,
+ 292,4792,27,30,31,584,566,26,28,1268,
+ 25,23,50,1296,106,76,77,108,2558,1304,
+ 1345,1339,1382,1372,1425,1415,56,1467,1618,1431,
+ 1142,1477,1510,164,3023,35,651,32,2737,4792,
+ 27,30,31,584,566,26,28,1268,25,23,
+ 50,1296,106,76,77,108,3281,1304,1345,1339,
+ 1382,1372,1425,1415,2690,1467,2670,1431,2742,1477,
+ 1510,164,2160,35,651,32,2589,322,40,30,
+ 31,584,566,3078,35,651,32,420,4792,27,
+ 30,31,584,566,26,28,1268,25,23,50,
+ 1296,106,76,77,108,520,1304,1345,1339,1382,
+ 1372,1425,1415,56,1467,1618,1431,3020,1477,1510,
+ 164,3023,35,651,32,423,4792,27,30,31,
+ 584,566,26,28,1268,25,23,50,1296,106,
+ 76,77,108,380,1304,1345,1339,1382,1372,1425,
+ 1415,999,1467,2602,1431,3425,1785,1956,35,651,
+ 32,87,4875,27,30,31,584,566,58,28,
+ 3023,35,651,32,2529,4792,27,30,31,584,
+ 566,26,28,1268,25,23,50,1296,106,76,
+ 77,108,241,1304,1345,1339,1382,1372,1425,1415,
+ 2374,1770,3023,35,651,32,2677,4792,27,30,
+ 31,584,566,26,28,1268,25,23,50,1296,
+ 106,76,77,108,2484,1304,1345,1339,1382,1372,
+ 1425,1776,3023,35,651,32,2688,4792,27,30,
+ 31,584,566,26,28,1268,25,23,50,1296,
+ 106,76,77,108,2692,1304,1345,1339,1382,1760,
+ 3023,35,651,32,2202,4792,27,30,31,584,
+ 566,26,28,1268,25,23,50,1296,106,76,
+ 77,108,1232,1304,1345,1339,1382,1768,1983,35,
+ 651,32,734,3365,27,30,31,584,566,337,
+ 28,3023,35,651,32,2693,4792,27,30,31,
+ 584,566,26,28,1268,25,23,50,1296,106,
+ 76,77,108,1474,1304,1345,1339,1692,1692,35,
+ 651,32,2069,3365,27,30,31,584,566,337,
+ 28,70,661,232,1729,660,319,2699,330,1355,
+ 313,540,1355,502,35,1041,386,2160,35,651,
+ 32,322,312,2894,30,31,584,566,244,230,
+ 231,502,35,964,276,952,173,4537,327,35,
+ 451,4146,661,4702,24,660,319,429,331,1469,
+ 314,540,306,535,670,3023,35,651,32,2683,
+ 4792,27,30,31,584,566,26,28,1268,25,
+ 23,50,1296,106,76,77,108,2314,1304,1345,
+ 1339,1699,2160,35,651,32,2694,387,3437,30,
+ 31,584,566,3452,502,35,964,1856,2383,2756,
+ 3023,35,651,32,2081,4792,27,30,31,584,
+ 566,26,28,1268,25,23,50,1296,106,76,
+ 77,108,2514,1304,1345,1339,1717,3023,35,651,
+ 32,2454,4792,27,30,31,584,566,26,28,
+ 1268,25,23,50,1296,106,76,77,108,2758,
+ 1304,1345,1339,1725,1453,35,651,32,3176,2689,
+ 27,30,31,584,566,337,28,2207,35,293,
+ 671,2224,35,280,2454,4680,1726,35,1985,32,
+ 734,3365,27,30,31,584,566,337,28,502,
+ 35,1041,386,1792,1802,35,651,32,4530,2689,
+ 27,30,31,584,566,337,28,2762,444,2061,
+ 2071,660,319,843,35,451,313,540,4702,587,
+ 35,1041,386,450,2698,2551,349,1355,1942,350,
+ 661,400,3335,660,319,3790,330,2644,313,540,
+ 1948,1101,35,1803,820,239,342,2036,803,347,
+ 1311,660,319,49,1932,1010,313,540,2810,69,
+ 259,1890,1035,737,536,4537,2905,1010,958,350,
+ 2245,88,56,1374,102,49,3080,2815,3222,2616,
+ 2707,4293,228,2815,1035,926,342,2036,803,347,
+ 156,445,56,232,3242,2624,3765,314,180,3734,
+ 2991,341,502,35,964,278,203,215,4503,202,
+ 212,213,214,216,89,661,169,102,240,230,
+ 231,331,1,5383,728,168,536,183,167,170,
+ 171,172,173,174,1616,1355,350,97,1142,364,
+ 520,415,417,1975,228,3133,35,1041,386,98,
+ 3737,568,156,344,2036,803,347,5383,237,5383,
+ 180,3734,2991,358,160,2663,5383,68,203,215,
+ 4503,202,212,213,214,216,1686,322,169,273,
+ 3605,1863,1864,448,2061,2071,1007,168,181,184,
+ 167,170,171,172,173,174,1355,1246,436,5383,
+ 1376,1618,3023,35,651,32,232,4792,27,30,
+ 31,584,566,26,28,1268,25,23,50,1296,
+ 106,76,77,108,2359,1304,1345,1735,53,1608,
+ 2866,235,230,231,4715,502,35,1041,386,2792,
+ 2202,2991,274,284,1223,35,651,32,2646,2689,
+ 27,30,31,584,566,337,28,523,232,345,
+ 5383,232,404,536,242,245,248,251,1037,49,
+ 502,35,293,440,1436,454,1247,5383,1035,1025,
+ 1950,228,401,247,230,231,250,230,231,156,
+ 3468,2702,2412,2867,2870,3066,4436,180,3734,2991,
+ 2148,1905,319,5383,3117,203,215,4503,202,212,
+ 213,214,216,431,2484,169,56,536,2235,1374,
+ 3061,2241,2815,2815,168,2730,2547,167,170,171,
+ 172,173,174,5383,5383,228,757,35,1041,386,
+ 2624,2624,2150,156,2043,502,35,1041,386,2905,
+ 2150,180,3734,2991,2491,5383,1249,1906,2815,203,
+ 215,4503,202,212,213,214,216,517,2235,169,
+ 273,536,2815,4241,5383,350,2624,1599,168,49,
+ 178,167,170,171,172,173,174,182,46,228,
+ 2624,2150,342,2036,803,347,1609,156,661,1616,
+ 340,2946,315,1142,3014,180,3734,2991,503,358,
+ 1249,1906,322,203,215,4503,202,212,213,214,
+ 216,603,5383,169,5383,536,3857,1863,1864,160,
+ 5383,71,168,1871,176,167,170,171,172,173,
+ 174,2487,2618,228,359,5383,2815,1347,5383,501,
+ 502,156,2905,72,388,425,1618,232,503,180,
+ 3734,2991,389,425,2624,5383,1355,203,215,4503,
+ 202,212,213,214,216,689,2150,169,285,536,
+ 287,5383,253,230,231,96,168,5383,177,167,
+ 170,171,172,173,174,3200,2991,228,87,500,
+ 502,661,5383,391,425,156,1347,330,5383,2847,
+ 1907,2905,374,180,3734,2991,56,2207,2028,293,
+ 2815,203,215,4503,202,212,213,214,216,775,
+ 1355,169,503,536,287,56,2731,322,341,3146,
+ 168,2034,187,167,170,171,172,173,174,5383,
+ 5383,228,502,35,1041,386,5383,2762,5383,156,
+ 661,2970,52,3082,1907,671,330,180,3734,2991,
+ 4726,1598,1355,500,502,203,215,4503,202,212,
+ 213,214,216,861,5383,169,273,536,390,425,
+ 502,35,1041,386,168,3546,2750,167,170,171,
+ 172,173,174,297,348,228,502,35,1041,386,
+ 5383,1355,2136,156,1616,2462,372,4697,1142,5383,
+ 2245,180,3734,2991,432,1483,35,964,276,203,
+ 215,4503,202,212,213,214,216,56,322,169,
+ 273,3786,1901,90,160,322,4235,5383,168,338,
+ 192,167,170,171,172,173,174,2071,35,651,
+ 32,3176,2689,27,30,31,584,566,337,28,
+ 3023,35,651,32,349,4792,27,30,31,584,
+ 566,26,28,1268,25,23,50,1296,106,76,
+ 77,108,1355,1304,1648,587,35,1041,386,502,
+ 35,1041,386,275,296,5383,502,35,1041,386,
+ 3642,304,56,2899,660,319,2568,350,1616,313,
+ 540,2559,1142,947,3307,2815,1355,536,5383,49,
+ 5383,524,350,431,342,2036,803,347,1035,720,
+ 430,671,3242,341,1618,228,4762,5383,160,342,
+ 2036,803,347,156,3222,56,56,525,3382,3775,
+ 2815,180,3734,2991,56,1355,4228,2359,2815,203,
+ 215,4503,202,212,213,214,216,1033,341,169,
+ 427,536,2359,2423,2991,56,341,1142,168,3038,
+ 186,167,170,171,172,173,174,67,671,228,
+ 522,2970,56,4775,2000,299,1142,156,56,2970,
+ 5383,1604,2592,156,3770,180,3734,2991,5383,1605,
+ 221,200,4294,203,215,4503,202,212,213,214,
+ 216,5383,156,169,502,1949,964,74,502,35,
+ 293,1733,168,5383,194,167,170,171,172,173,
+ 174,3023,35,651,32,5383,4792,27,30,31,
+ 584,566,26,28,1268,25,23,50,1296,106,
+ 76,77,108,5383,1304,1649,1364,35,651,32,
+ 5383,3365,27,30,31,584,566,337,28,1355,
+ 1499,35,651,32,734,2689,27,30,31,584,
+ 566,337,28,1715,35,651,32,734,2689,27,
+ 30,31,584,566,337,28,56,5383,4457,2343,
+ 1142,66,56,1142,56,1355,2989,1355,1142,5383,
+ 661,5383,671,660,319,1355,331,4779,314,540,
+ 737,4321,737,5383,5383,5383,156,660,319,156,
+ 5383,350,313,540,156,1778,5383,65,162,64,
+ 660,319,5383,3435,312,313,540,3804,344,2036,
+ 803,347,1355,2968,35,651,32,312,4792,27,
+ 30,31,584,566,26,28,1268,25,23,50,
+ 1296,86,76,77,306,535,670,1483,35,964,
+ 1957,3612,1616,3612,55,737,1142,533,535,670,
+ 3023,35,651,32,5383,4792,27,30,31,584,
+ 566,26,28,1268,25,23,50,1296,106,76,
+ 77,108,160,1656,2359,4370,5383,5383,326,333,
+ 332,333,3023,35,651,32,2081,4792,27,30,
+ 31,584,566,26,28,1268,25,23,50,1296,
+ 106,76,77,108,2359,1684,3612,587,35,1041,
+ 386,5383,303,3023,35,651,32,558,4792,27,
+ 30,31,584,566,26,28,1268,25,23,50,
+ 1296,106,76,77,108,1563,1691,4500,3840,2815,
+ 1355,49,179,328,333,1824,1101,35,394,2815,
+ 1035,1563,2359,5383,56,1911,737,228,2815,2815,
+ 502,35,964,281,5383,5383,3276,228,502,35,
+ 964,1991,54,5383,56,56,341,228,4229,809,
+ 5383,205,215,4503,204,212,213,214,216,5383,
+ 198,205,215,4503,204,212,213,214,216,2970,
+ 5383,205,215,4503,204,212,213,214,216,1606,
+ 1355,206,208,210,294,295,1846,3612,217,207,
+ 209,206,208,210,294,295,1846,1355,217,207,
+ 209,206,208,210,294,295,1846,56,217,207,
+ 209,1126,101,56,5383,56,56,3785,1616,3112,
+ 2120,3207,1142,4316,3805,333,2148,5383,56,3888,
+ 56,3308,4465,4316,2695,56,56,5383,1355,1255,
+ 3560,3315,5383,4316,3023,35,651,32,160,4792,
+ 27,30,31,584,566,26,28,1268,25,23,
+ 50,1296,106,76,77,85,3023,1033,651,1545,
+ 3704,4792,27,30,31,584,566,26,28,1268,
+ 25,23,50,1296,106,76,77,84,3023,35,
+ 651,32,5383,4792,27,30,31,584,566,26,
+ 28,1268,25,23,50,1296,106,76,77,83,
+ 3023,35,651,32,4230,4792,27,30,31,584,
+ 566,26,28,1268,25,23,50,1296,106,76,
+ 77,82,3023,35,651,32,5383,4792,27,30,
+ 31,584,566,26,28,1268,25,23,50,1296,
+ 106,76,77,81,3023,35,651,32,5383,4792,
+ 27,30,31,584,566,26,28,1268,25,23,
+ 50,1296,106,76,77,80,3023,35,651,32,
+ 5383,4792,27,30,31,584,566,26,28,1268,
+ 25,23,50,1296,106,76,77,79,3023,35,
+ 651,32,5383,4792,27,30,31,584,566,26,
+ 28,1268,25,23,50,1296,106,76,77,78,
+ 2851,35,651,32,5383,4792,27,30,31,584,
+ 566,26,28,1268,25,23,50,1296,106,76,
+ 77,104,3023,35,651,32,5383,4792,27,30,
+ 31,584,566,26,28,1268,25,23,50,1296,
+ 106,76,77,110,3023,35,651,32,5383,4792,
+ 27,30,31,584,566,26,28,1268,25,23,
+ 50,1296,106,76,77,109,3023,35,651,32,
+ 5383,4792,27,30,31,584,566,26,28,1268,
+ 25,23,50,1296,106,76,77,107,3023,35,
+ 651,32,5383,4792,27,30,31,584,566,26,
+ 28,1268,25,23,50,1296,106,76,77,105,
+ 2063,35,1985,32,734,2689,27,30,31,584,
+ 566,337,28,1468,35,651,32,734,2689,27,
+ 30,31,584,566,337,28,2359,5383,5383,56,
+ 56,1998,2136,1142,1142,2815,5383,4697,2309,737,
+ 1355,1703,3327,56,1650,1812,5383,2815,2815,2815,
+ 2905,2359,5383,228,1101,35,394,660,319,156,
+ 156,5383,313,540,197,341,228,2624,3559,3595,
+ 660,319,449,527,1311,313,540,205,215,4503,
+ 204,212,213,214,216,5383,5383,312,2970,302,
+ 205,215,4503,204,212,213,214,216,3396,661,
+ 3612,2359,56,1618,2359,330,1142,206,208,210,
+ 294,295,1846,1355,518,207,209,307,535,670,
+ 206,208,210,294,295,1846,1737,517,207,209,
+ 2815,2359,156,2899,2731,358,2085,3867,333,201,
+ 2815,3597,199,2991,5383,3145,2172,5383,228,5383,
+ 2815,56,3362,1863,1864,1142,5383,5383,228,374,
+ 5383,1101,35,394,2194,416,417,1975,228,298,
+ 2359,5383,205,215,4503,204,212,213,214,216,
+ 2359,156,205,215,4503,204,212,213,214,216,
+ 2725,5383,205,215,4503,204,212,213,214,216,
+ 428,5383,206,208,210,294,295,1846,3589,218,
+ 207,209,206,208,210,294,295,1846,222,305,
+ 207,209,206,208,210,294,295,1846,2359,497,
+ 207,209,1468,35,651,32,734,2689,27,30,
+ 31,584,566,337,28,1355,3182,35,1041,386,
+ 1181,3737,1355,1355,2815,4899,1889,56,5383,238,
+ 2815,2815,5383,3876,5383,5383,193,1355,5383,5383,
+ 2423,2728,228,1355,536,737,5383,3199,341,341,
+ 273,5383,5383,5383,3253,2871,5383,5383,528,660,
+ 319,5383,3896,5383,313,540,1215,405,2914,3414,
+ 156,2970,2970,5383,5383,4418,958,232,180,3734,
+ 1355,531,507,1779,35,651,32,2418,2689,27,
+ 30,31,584,566,337,28,406,407,408,294,
+ 295,1846,236,230,231,195,3612,5383,5383,5383,
+ 1812,5383,3447,274,2815,2905,5383,1692,35,651,
+ 32,1821,3365,27,30,31,584,566,337,28,
+ 56,5383,2624,5383,1142,243,246,249,252,1037,
+ 1905,319,5383,3895,333,1436,1468,35,651,32,
+ 734,2689,27,30,31,584,566,337,28,5383,
+ 156,5383,5383,5383,661,5383,5383,5383,1286,4463,
+ 330,661,2815,4899,660,319,5383,331,5383,316,
+ 540,5383,5383,409,411,5383,5383,5383,5383,5383,
+ 228,2276,35,1041,386,1104,35,1041,386,3546,
+ 358,5383,5383,660,319,5383,5383,2491,313,540,
+ 4588,5383,5383,5383,1215,405,2914,3362,1863,1864,
+ 2694,4708,196,5383,4231,49,5383,5383,5383,49,
+ 1104,35,1041,386,1035,2330,5383,5383,1035,2846,
+ 2946,315,5383,5383,406,407,408,294,295,1846,
+ 3276,5383,5383,5383,3006,5383,587,35,1041,386,
+ 1104,35,1041,386,49,5383,5383,5383,5383,1821,
+ 5383,5383,5383,1035,47,5383,5383,587,35,1041,
+ 386,5383,587,35,1041,386,5383,5383,2482,2641,
+ 49,5383,536,5383,49,587,35,1041,386,1035,
+ 47,5383,5383,1035,47,5383,1979,35,1041,386,
+ 341,49,5383,5383,5383,1089,49,5383,156,2552,
+ 1035,47,5383,5383,56,1035,47,188,2815,49,
+ 5383,409,412,4566,5383,5383,2483,5383,1035,47,
+ 49,2659,587,35,1041,386,341,5383,5383,1035,
+ 47,5383,5383,5383,3260,587,35,1041,386,2168,
+ 35,1041,386,5383,5383,2940,56,5383,5383,2970,
+ 536,5383,1216,35,1041,386,49,5383,56,505,
+ 5383,5383,536,5383,5383,1035,47,5383,341,49,
+ 190,5383,5383,49,5383,5383,156,5383,1035,47,
+ 341,3369,1035,47,5383,2482,49,5383,156,56,
+ 5383,2970,5383,536,3376,1035,2043,2805,3508,5383,
+ 5383,2479,5383,2970,5383,5383,502,35,1041,386,
+ 5383,341,5383,2697,5383,5383,5383,5383,5383,156,
+ 502,35,1041,386,502,35,1041,386,2482,56,
+ 5383,5383,5383,2815,2970,502,35,1041,386,5383,
+ 49,5383,5383,56,3136,5383,5383,536,4360,1035,
+ 798,341,5383,56,49,5383,5383,536,49,502,
+ 35,1041,386,1035,918,341,5383,1035,662,49,
+ 5383,5383,5383,156,2970,341,5383,56,1035,2043,
+ 5383,536,188,156,532,5383,5383,5383,4566,5383,
+ 5383,5383,188,49,5383,5383,5383,5383,4566,341,
+ 5383,5383,1035,3047,5383,5383,5383,156,5383,5383,
+ 5383,5383,5383,5383,5383,5383,188,5383,5383,5383,
+ 5383,5383,4566,5383,5383,5383,5383,5383,5383,5383,
+ 5383,5383,5383,5383,5383,5383,5383,5383,5383,5383,
+ 5383,5383,5383,5383,5383,4303,5383,5383,5383,5383,
+ 5383,5383,5383,5383,5383,4435,5383,5383,5383,5383,
+ 5383,5383,5383,5383,5383,5383,5383,5383,5383,5383,
+ 5383,5383,5383,5383,5383,5383,5383,5383,5383,4442,
+ 5383,0,2115,1,0,39,5398,1,0,39,
+ 5397,1,0,38,625,0,38,5398,0,38,
+ 5397,0,452,783,0,438,1042,0,1077,29,
+ 0,5398,48,0,5397,48,0,5395,381,0,
+ 5394,381,0,39,5398,0,39,5397,0,1,
+ 442,0,456,1475,0,455,1514,0,35,33,
+ 0,1077,385,0,47,37,0,2570,126,0,
+ 1,1341,0,1,5655,0,1,5654,0,1,
+ 5653,0,1,5652,0,1,5651,0,1,5650,
+ 0,1,5649,0,1,5648,0,1,5647,0,
+ 1,5646,0,1,5645,0,283,392,0,283,
+ 286,0,5617,241,0,5616,241,0,5719,241,
+ 0,5718,241,0,5644,241,0,5643,241,0,
+ 5642,241,0,5641,241,0,5640,241,0,5639,
+ 241,0,5638,241,0,5637,241,0,5655,241,
+ 0,5654,241,0,5653,241,0,5652,241,0,
+ 5651,241,0,5650,241,0,5649,241,0,5648,
+ 241,0,5647,241,0,5646,241,0,5645,241,
+ 0,39,5398,241,0,39,5397,241,0,5421,
+ 241,0,43,5419,0,43,37,0,2156,91,
+ 0,32,34,0,39,625,0,329,443,0,
+ 5389,1,0,5388,1,0,237,2804,0,32,
+ 386,0,29,385,0,2570,128,0,2570,127,
+ 0,499,1828,0,5421,1,229,0,39,1,
+ 229,0,229,414,0,5398,37,0,5397,37,
+ 0,5419,45,0,37,45,0,5421,1,0,
+ 39,1,0,1,92,0,5393,403,0,5392,
+ 403,0,4422,1,0,2749,1,0,625,1,
+ 0,229,413,0,1914,381,0,5398,2,37,
+ 0,5397,2,37,0,5398,36,0,5397,36,
+ 0,1,329,0,8,12,0,329,95,0,
+ 35,73,0,499,4234,0,1,229,0,229,
+ 220,0,278,3284,0,229,219,0,1,3776,
+ 0,1,4244,0,5395,1,0,5391,1,0,
+ 1,229,2283,0,5392,229,0,2291,229,0,
+ 2506,229,0,10,12,0,8,10,12,0,
+ 185,3393,0
};
};
public final static char baseAction[] = BaseAction.baseAction;
@@ -1103,356 +1102,346 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars
30,31,32,33,34,35,36,37,38,39,
40,41,42,43,44,45,46,47,0,49,
50,51,52,53,54,0,56,57,58,59,
- 60,61,62,63,0,65,66,67,68,0,
- 6,0,72,4,3,75,76,77,78,79,
- 80,81,82,83,84,85,86,0,1,2,
- 3,4,5,6,7,8,9,10,11,12,
- 13,14,15,16,17,18,19,20,21,22,
- 23,24,25,26,27,28,29,30,31,32,
- 33,34,35,36,37,38,39,40,41,42,
- 43,44,45,46,47,64,49,50,51,52,
- 53,54,0,56,57,58,59,60,61,62,
- 63,9,65,66,67,68,0,93,94,72,
- 4,0,75,76,77,78,79,80,81,82,
- 83,84,85,86,0,1,2,3,4,5,
+ 60,61,62,0,64,65,66,67,0,6,
+ 0,71,4,3,74,75,76,77,78,79,
+ 80,81,82,83,84,85,0,1,2,3,
+ 4,5,6,7,8,9,10,11,12,13,
+ 14,15,16,17,18,19,20,21,22,23,
+ 24,25,26,27,28,29,30,31,32,33,
+ 34,35,36,37,38,39,40,41,42,43,
+ 44,45,46,47,0,49,50,51,52,53,
+ 54,0,56,57,58,59,60,61,62,101,
+ 64,65,66,67,106,92,93,71,0,0,
+ 74,75,76,77,78,79,80,81,82,83,
+ 84,85,0,1,2,3,4,5,6,7,
+ 8,9,10,11,12,13,14,15,16,17,
+ 18,19,20,21,22,23,24,25,26,27,
+ 28,29,30,31,32,33,34,35,36,37,
+ 38,39,40,41,42,43,44,45,46,47,
+ 0,49,50,51,52,53,54,68,56,57,
+ 58,59,60,61,62,0,64,65,66,67,
+ 0,1,2,71,4,10,74,75,76,77,
+ 78,79,80,81,82,83,84,85,0,1,
+ 2,3,4,5,6,7,8,9,10,11,
+ 12,13,14,15,16,17,18,19,20,21,
+ 22,23,24,25,26,27,28,29,30,31,
+ 32,33,34,35,36,37,38,39,40,41,
+ 42,43,44,45,46,47,0,49,50,51,
+ 52,53,54,0,56,57,58,59,60,61,
+ 62,0,64,65,66,67,0,1,2,8,
+ 4,0,74,75,76,77,78,79,80,81,
+ 82,83,84,85,0,1,2,3,4,5,
6,7,8,9,10,11,12,13,14,15,
16,17,18,19,20,21,22,23,24,25,
26,27,28,29,30,31,32,33,34,35,
36,37,38,39,40,41,42,43,44,45,
- 46,47,0,49,50,51,52,53,54,0,
- 56,57,58,59,60,61,62,63,0,65,
- 66,67,68,0,1,2,72,4,0,75,
+ 46,47,71,49,50,51,52,53,54,0,
+ 56,57,58,59,60,61,62,0,64,65,
+ 66,67,0,6,0,102,103,104,74,75,
76,77,78,79,80,81,82,83,84,85,
- 86,0,1,2,3,4,5,6,7,8,
- 9,10,11,12,13,14,15,16,17,18,
- 19,20,21,22,23,24,25,26,27,28,
- 29,30,31,32,33,34,35,36,37,38,
- 39,40,41,42,43,44,45,46,47,71,
- 49,50,51,52,53,54,0,56,57,58,
- 59,60,61,62,63,0,65,66,67,68,
- 0,1,2,0,4,0,75,76,77,78,
- 79,80,81,82,83,84,85,86,0,1,
+ 0,1,2,3,4,5,6,7,8,9,
+ 10,11,12,13,14,15,16,17,18,19,
+ 20,21,22,23,24,25,26,27,28,29,
+ 30,31,32,33,34,35,36,37,38,39,
+ 40,41,42,43,44,45,46,47,0,49,
+ 50,51,52,53,54,0,56,57,58,59,
+ 60,61,62,0,64,65,66,67,99,92,
+ 93,0,1,2,74,75,76,77,78,79,
+ 80,81,82,83,84,85,0,1,2,3,
+ 4,5,6,7,8,9,10,11,12,13,
+ 14,15,16,17,18,19,20,21,22,23,
+ 24,25,26,27,28,29,30,31,32,33,
+ 34,35,36,37,38,39,40,41,42,43,
+ 44,45,46,47,0,49,50,51,52,53,
+ 54,0,56,57,58,59,60,61,62,0,
+ 64,65,66,67,0,6,0,1,2,0,
+ 74,75,76,77,78,79,80,81,82,83,
+ 84,85,0,1,2,3,4,5,6,7,
+ 8,9,10,11,12,13,14,15,16,17,
+ 18,19,20,21,22,23,24,25,26,27,
+ 28,29,30,31,32,33,34,35,36,37,
+ 38,39,40,41,42,43,44,45,46,47,
+ 0,49,50,51,52,53,54,68,56,57,
+ 58,59,60,61,62,0,64,65,66,67,
+ 0,92,93,89,4,91,74,75,76,77,
+ 78,79,80,81,82,83,84,85,0,1,
2,3,4,5,6,7,8,9,10,11,
12,13,14,15,16,17,18,19,20,21,
22,23,24,25,26,27,28,29,30,31,
32,33,34,35,36,37,38,39,40,41,
- 42,43,44,45,46,47,71,49,50,51,
+ 42,43,44,45,46,47,0,49,50,51,
52,53,54,0,56,57,58,59,60,61,
- 62,63,0,65,66,67,68,0,6,103,
- 104,105,5,75,76,77,78,79,80,81,
- 82,83,84,85,86,0,1,2,3,4,
- 5,6,7,8,9,10,11,12,13,14,
- 15,16,17,18,19,20,21,22,23,24,
- 25,26,27,28,29,30,31,32,33,34,
- 35,36,37,38,39,40,41,42,43,44,
- 45,46,47,0,49,50,51,52,53,54,
- 0,56,57,58,59,60,61,62,63,9,
- 65,66,67,68,101,93,94,0,1,2,
- 75,76,77,78,79,80,81,82,83,84,
- 85,86,0,1,2,3,4,5,6,7,
+ 62,0,64,65,66,67,0,1,2,23,
+ 24,5,74,75,76,77,78,79,80,81,
+ 82,83,84,85,0,1,2,3,4,5,
+ 6,7,8,9,10,11,12,13,14,15,
+ 16,17,18,19,20,21,22,23,24,25,
+ 26,27,28,29,30,31,32,33,34,35,
+ 36,37,38,39,40,41,42,43,44,45,
+ 46,47,0,49,50,51,52,53,54,0,
+ 56,57,58,59,60,61,62,0,64,65,
+ 66,67,0,1,2,8,4,0,74,75,
+ 76,77,78,79,80,81,82,83,84,85,
+ 0,1,2,3,4,5,6,7,8,9,
+ 10,11,12,13,14,15,16,17,18,19,
+ 20,21,22,23,24,25,26,27,28,29,
+ 30,31,32,33,34,35,36,37,38,39,
+ 40,41,42,43,44,45,46,47,71,49,
+ 50,51,52,53,54,68,56,57,58,59,
+ 60,61,62,0,64,65,66,67,0,6,
+ 0,0,9,3,74,75,76,77,78,79,
+ 80,81,82,83,84,85,0,1,2,3,
+ 4,5,6,7,8,9,10,11,12,13,
+ 14,15,16,17,18,19,20,21,22,23,
+ 24,25,26,27,28,29,30,31,32,33,
+ 34,35,36,37,38,39,40,41,42,43,
+ 44,45,46,47,0,49,50,51,52,53,
+ 54,0,56,57,58,59,60,61,62,0,
+ 64,65,66,67,0,87,88,8,87,88,
+ 74,75,76,77,78,79,80,81,82,83,
+ 84,85,0,1,2,3,4,5,6,7,
8,9,10,11,12,13,14,15,16,17,
18,19,20,21,22,23,24,25,26,27,
28,29,30,31,32,33,34,35,36,37,
38,39,40,41,42,43,44,45,46,47,
0,49,50,51,52,53,54,0,56,57,
- 58,59,60,61,62,63,0,65,66,67,
- 68,0,6,0,1,2,0,75,76,77,
- 78,79,80,81,82,83,84,85,86,0,
+ 58,59,60,61,62,0,64,65,66,67,
+ 0,1,2,0,1,2,74,75,76,77,
+ 78,79,80,81,82,83,84,85,0,1,
+ 2,3,4,5,6,7,117,9,10,11,
+ 12,13,14,15,16,17,18,19,20,21,
+ 22,23,24,0,26,27,28,29,30,31,
+ 32,33,34,35,36,37,38,39,40,41,
+ 42,43,44,45,46,47,0,49,50,51,
+ 52,53,54,0,56,57,58,4,0,61,
+ 0,1,2,3,4,5,6,7,8,9,
+ 10,11,12,13,14,15,16,17,18,19,
+ 20,21,22,23,24,25,26,27,28,29,
+ 30,31,32,33,34,0,1,2,0,0,
+ 40,55,0,1,2,3,4,5,48,7,
+ 8,0,89,0,91,0,56,57,58,59,
+ 60,63,62,0,9,0,0,25,0,1,
+ 2,71,72,22,23,24,0,26,27,28,
+ 29,30,31,32,33,34,86,22,23,24,
+ 0,26,27,28,29,30,31,32,33,34,
+ 65,66,102,103,104,0,1,2,3,4,
+ 5,6,7,8,9,10,11,12,13,14,
+ 15,16,17,18,19,20,21,22,23,24,
+ 25,26,27,28,29,30,31,32,33,34,
+ 74,0,0,0,3,40,3,0,0,6,
+ 0,8,9,48,0,1,2,0,4,96,
+ 97,56,57,58,59,60,0,62,25,0,
+ 4,0,6,120,0,9,71,72,35,36,
+ 37,38,8,0,1,2,3,4,5,6,
+ 7,86,9,0,0,0,39,0,55,0,
+ 6,8,48,55,35,36,63,102,103,104,
+ 69,68,69,70,71,72,73,22,23,24,
+ 72,26,27,28,29,30,31,32,33,34,
+ 87,88,89,90,91,92,93,94,95,96,
+ 97,98,99,100,101,98,63,73,105,106,
+ 107,108,109,110,111,112,113,114,115,116,
+ 117,0,119,120,3,0,73,6,69,8,
+ 9,100,0,1,2,3,4,5,6,7,
+ 0,9,0,90,87,88,25,0,1,2,
+ 3,4,5,0,7,0,35,36,37,38,
+ 101,8,0,1,2,106,107,108,109,110,
+ 111,112,113,114,115,116,55,0,0,1,
+ 2,3,4,5,63,7,8,0,63,68,
+ 69,70,71,72,73,63,0,1,2,0,
+ 4,69,6,25,0,9,0,3,87,88,
+ 89,90,91,92,93,94,95,96,97,98,
+ 99,100,101,70,71,70,105,106,107,108,
+ 109,110,111,112,113,114,115,116,117,0,
+ 119,120,0,1,2,3,4,5,6,7,
+ 8,9,10,11,12,13,14,15,16,17,
+ 18,19,20,21,22,23,24,25,26,27,
+ 28,29,30,31,32,33,34,100,0,0,
+ 1,2,40,4,5,98,7,0,0,0,
+ 48,4,0,87,88,0,0,0,56,57,
+ 58,59,60,8,62,8,64,68,0,22,
+ 22,23,24,71,26,27,28,29,30,31,
+ 32,33,34,0,35,36,48,48,86,0,
1,2,3,4,5,6,7,8,9,10,
11,12,13,14,15,16,17,18,19,20,
21,22,23,24,25,26,27,28,29,30,
- 31,32,33,34,35,36,37,38,39,40,
- 41,42,43,44,45,46,47,0,49,50,
- 51,52,53,54,0,56,57,58,59,60,
- 61,62,63,0,65,66,67,68,101,93,
- 94,90,0,92,75,76,77,78,79,80,
- 81,82,83,84,85,86,0,1,2,3,
+ 31,32,33,34,67,0,1,2,73,40,
+ 5,0,1,2,3,4,5,48,7,0,
+ 72,89,0,91,55,56,57,58,59,60,
+ 8,62,0,64,0,1,2,3,4,5,
+ 6,7,10,9,0,0,1,2,3,4,
+ 5,6,7,48,9,86,0,1,2,3,
4,5,6,7,8,9,10,11,12,13,
14,15,16,17,18,19,20,21,22,23,
24,25,26,27,28,29,30,31,32,33,
- 34,35,36,37,38,39,40,41,42,43,
- 44,45,46,47,71,49,50,51,52,53,
- 54,69,56,57,58,59,60,61,62,63,
- 0,65,66,67,68,0,1,2,0,0,
- 5,75,76,77,78,79,80,81,82,83,
- 84,85,86,0,1,2,3,4,5,6,
+ 34,59,70,0,60,73,40,0,0,1,
+ 2,3,4,5,48,7,9,63,89,0,
+ 91,0,56,57,58,59,60,72,62,8,
+ 64,0,1,2,3,4,5,71,7,8,
+ 0,0,1,2,0,4,25,6,4,8,
+ 9,48,86,0,1,2,3,4,5,6,
7,8,9,10,11,12,13,14,15,16,
17,18,19,20,21,22,23,24,25,26,
- 27,28,29,30,31,32,33,34,35,36,
- 37,38,39,40,41,42,43,44,45,46,
- 47,71,49,50,51,52,53,54,69,56,
- 57,58,59,60,61,62,63,0,65,66,
- 67,68,0,1,2,0,4,10,75,76,
- 77,78,79,80,81,82,83,84,85,86,
+ 27,28,29,30,31,32,33,34,0,1,
+ 2,70,0,40,63,55,0,1,2,55,
+ 4,48,6,0,73,9,87,88,68,56,
+ 57,58,59,60,73,62,0,64,0,0,
+ 1,2,3,4,71,6,8,0,9,0,
+ 0,90,0,3,94,95,48,0,8,86,
0,1,2,3,4,5,6,7,8,9,
10,11,12,13,14,15,16,17,18,19,
20,21,22,23,24,25,26,27,28,29,
- 30,31,32,33,34,35,36,37,38,39,
- 40,41,42,43,44,45,46,47,0,49,
- 50,51,52,53,54,70,56,57,58,59,
- 60,61,62,63,0,65,66,67,68,0,
- 6,23,24,9,0,75,76,77,78,79,
- 80,81,82,83,84,85,86,0,1,2,
+ 30,31,32,33,34,0,1,2,0,4,
+ 40,6,63,0,9,0,1,2,48,4,
+ 5,73,7,63,0,63,56,57,58,59,
+ 60,72,62,73,64,68,90,70,0,1,
+ 2,71,0,1,2,3,4,5,6,7,
+ 0,9,0,1,2,0,86,0,1,2,
3,4,5,6,7,8,9,10,11,12,
13,14,15,16,17,18,19,20,21,22,
23,24,25,26,27,28,29,30,31,32,
- 33,34,35,36,37,38,39,40,41,42,
- 43,44,45,46,47,0,49,50,51,52,
- 53,54,0,56,57,58,59,60,61,62,
- 63,0,65,66,67,68,0,88,89,8,
- 0,0,75,76,77,78,79,80,81,82,
- 83,84,85,86,0,1,2,3,4,5,
+ 33,34,68,0,0,1,2,40,4,5,
+ 48,7,0,1,2,48,4,99,6,96,
+ 97,9,0,56,57,58,59,60,68,62,
+ 8,64,0,1,2,3,4,5,0,7,
+ 0,1,2,3,4,5,0,7,0,0,
+ 1,2,48,86,0,1,2,3,4,5,
6,7,8,9,10,11,12,13,14,15,
16,17,18,19,20,21,22,23,24,25,
- 26,27,28,29,30,31,32,33,34,35,
- 36,37,38,39,40,41,42,43,44,45,
- 46,47,0,49,50,51,52,53,54,69,
- 56,57,58,59,60,61,62,63,0,65,
- 66,67,68,0,1,2,0,1,2,75,
- 76,77,78,79,80,81,82,83,84,85,
- 86,0,1,2,3,4,5,6,7,118,
+ 26,27,28,29,30,31,32,33,34,67,
+ 0,0,1,2,40,4,5,48,7,0,
+ 0,55,48,63,72,0,68,8,70,4,
+ 56,57,58,59,60,0,62,0,64,0,
+ 3,0,1,2,25,8,5,22,7,0,
+ 1,2,0,0,5,0,7,0,1,2,
+ 86,0,1,2,3,4,5,6,7,8,
9,10,11,12,13,14,15,16,17,18,
- 19,20,21,22,23,24,0,26,27,28,
- 29,30,31,32,33,34,35,36,37,38,
- 39,40,41,42,43,44,45,46,47,71,
- 49,50,51,52,53,54,0,56,57,58,
- 59,35,36,62,0,1,2,3,4,5,
- 6,7,8,9,10,11,12,13,14,15,
- 16,17,18,19,20,21,22,23,24,25,
- 26,27,28,29,30,31,32,33,34,0,
- 1,2,0,0,40,3,0,1,2,3,
- 4,5,48,7,8,0,0,0,1,2,
- 64,57,58,59,60,61,0,63,0,0,
- 0,25,0,1,2,6,72,73,22,23,
- 24,0,26,27,28,29,30,31,32,33,
- 34,87,22,23,24,0,26,27,28,29,
- 30,31,32,33,34,66,67,103,104,105,
- 0,1,2,3,4,5,6,7,8,9,
- 10,11,12,13,14,15,16,17,18,19,
- 20,21,22,23,24,25,26,27,28,29,
- 30,31,32,33,34,0,1,2,0,4,
- 40,6,0,0,9,0,3,0,48,6,
- 8,8,9,97,98,122,0,57,58,59,
- 60,61,0,63,8,0,1,2,25,4,
- 99,6,72,73,9,0,91,39,35,36,
- 37,38,0,8,22,23,24,87,26,27,
- 28,29,30,31,32,33,34,0,55,0,
- 0,1,2,103,104,105,6,64,0,64,
- 68,0,69,70,71,72,73,74,0,1,
- 2,3,4,5,6,7,0,9,0,3,
- 74,88,89,90,91,92,93,94,95,96,
- 97,98,99,100,101,102,71,72,48,106,
- 107,108,109,110,111,112,113,114,115,116,
- 117,118,0,120,121,3,55,0,6,70,
- 8,9,0,1,2,3,4,5,6,7,
- 0,9,64,55,73,88,89,25,70,0,
- 1,2,3,4,5,0,7,35,36,37,
- 38,102,0,8,0,3,107,108,109,110,
- 111,112,113,114,115,116,117,55,0,1,
- 2,3,4,5,6,7,64,9,48,121,
- 0,69,70,71,72,73,74,0,1,2,
- 3,4,5,39,7,73,0,1,2,0,
- 88,89,90,91,92,93,94,95,96,97,
- 98,99,100,101,102,35,36,72,106,107,
- 108,109,110,111,112,113,114,115,116,117,
- 118,0,120,121,0,1,2,3,4,5,
- 6,7,8,9,10,11,12,13,14,15,
- 16,17,18,19,20,21,22,23,24,25,
- 26,27,28,29,30,31,32,33,34,0,
- 71,0,1,2,40,4,5,0,7,48,
- 3,0,48,0,1,2,3,4,5,0,
- 7,57,58,59,60,61,0,63,0,65,
- 4,0,4,22,23,24,72,26,27,28,
- 29,30,31,32,33,34,0,0,22,48,
- 0,87,0,1,2,3,4,5,6,7,
- 8,9,10,11,12,13,14,15,16,17,
- 18,19,20,21,22,23,24,25,26,27,
- 28,29,30,31,32,33,34,88,89,0,
- 1,2,40,4,5,64,7,0,1,2,
- 48,4,5,0,7,0,0,55,3,57,
- 58,59,60,61,64,63,69,65,0,1,
- 2,3,4,5,6,7,0,9,0,1,
- 2,3,4,5,8,7,8,48,119,87,
- 0,1,2,3,4,5,6,7,8,9,
- 10,11,12,13,14,15,16,17,18,19,
- 20,21,22,23,24,25,26,27,28,29,
- 30,31,32,33,34,70,0,1,2,61,
- 40,5,0,1,2,3,4,5,48,7,
- 8,0,64,90,68,92,0,57,58,59,
- 60,61,74,63,8,65,100,25,0,1,
- 2,0,72,0,1,2,3,4,5,6,
- 7,0,9,0,48,0,0,87,0,1,
+ 19,20,21,22,23,24,25,26,27,28,
+ 29,30,31,32,33,34,0,1,2,0,
+ 63,40,3,68,8,68,0,70,55,48,
+ 73,72,0,0,1,2,4,56,57,58,
+ 59,60,70,62,0,64,0,102,103,104,
+ 0,0,1,2,10,0,0,6,8,0,
+ 1,2,3,4,5,6,7,86,9,10,
+ 11,12,13,14,15,16,17,18,19,20,
+ 21,48,63,67,40,0,1,2,0,63,
+ 35,36,48,0,35,36,37,38,39,48,
+ 41,42,43,44,45,46,47,61,49,50,
+ 51,52,53,54,0,1,2,0,0,0,
+ 61,71,3,0,65,66,8,68,0,1,
2,3,4,5,6,7,8,9,10,11,
12,13,14,15,16,17,18,19,20,21,
- 22,23,24,25,26,27,28,29,30,31,
- 32,33,34,0,1,2,55,4,40,6,
- 74,0,9,48,66,67,48,64,55,0,
- 0,90,0,92,4,57,58,59,60,61,
- 0,63,0,65,0,0,1,2,0,4,
- 72,6,22,8,9,0,1,2,3,4,
- 5,90,7,92,0,87,0,1,2,3,
- 4,5,6,7,8,9,10,11,12,13,
- 14,15,16,17,18,19,20,21,22,23,
- 24,25,26,27,28,29,30,31,32,33,
- 34,0,1,2,0,4,40,6,4,69,
- 9,0,1,2,48,4,5,69,7,74,
- 88,89,0,57,58,59,60,61,73,63,
- 8,65,0,103,104,105,91,0,72,0,
- 1,2,3,4,0,6,102,3,9,0,
- 0,107,8,87,0,1,2,3,4,5,
- 6,7,8,9,10,11,12,13,14,15,
- 16,17,18,19,20,21,22,23,24,25,
- 26,27,28,29,30,31,32,33,34,0,
- 0,1,2,71,40,5,74,7,0,0,
- 1,2,48,64,5,55,7,0,64,0,
- 3,57,58,59,60,61,0,63,74,65,
- 0,1,2,3,4,5,0,7,0,0,
- 1,2,0,4,97,98,4,0,0,1,
- 2,87,0,1,2,3,4,5,6,7,
- 8,9,10,11,12,13,14,15,16,17,
- 18,19,20,21,22,23,24,25,26,27,
- 28,29,30,31,32,33,34,48,0,1,
- 2,55,40,55,64,0,48,55,99,4,
- 48,6,0,0,9,69,0,69,100,57,
- 58,59,60,61,8,63,69,65,0,0,
- 0,3,0,1,2,0,8,0,1,2,
- 8,95,96,95,96,0,48,35,36,87,
+ 65,66,0,0,0,0,3,3,3,0,
+ 8,68,48,35,36,37,38,39,0,41,
+ 42,43,44,45,46,47,8,49,50,51,
+ 52,53,54,0,1,2,0,1,2,61,
+ 0,73,0,25,0,67,0,3,75,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,48,0,0,72,0,
- 40,0,64,4,8,8,0,69,48,71,
- 68,71,74,0,1,2,10,57,58,59,
- 60,61,25,63,0,65,0,88,89,0,
- 0,0,1,2,10,0,1,2,8,0,
- 1,2,3,4,5,6,7,87,9,10,
- 11,12,13,14,15,16,17,18,19,20,
- 21,48,0,0,40,0,60,0,71,0,
- 74,8,48,8,35,36,37,38,39,48,
- 41,42,43,44,45,46,47,91,49,50,
- 51,52,53,54,0,56,70,0,69,0,
- 71,62,72,0,10,66,67,8,69,0,
- 1,2,3,4,5,6,7,8,9,10,
- 11,12,13,14,15,16,17,18,19,20,
- 21,0,1,2,40,73,69,74,71,74,
- 0,0,48,0,35,36,37,38,39,0,
- 41,42,43,44,45,46,47,8,49,50,
- 51,52,53,54,0,56,0,1,2,0,
- 73,62,3,74,25,0,73,68,3,48,
- 40,72,0,1,2,3,4,5,6,7,
- 8,9,10,11,12,13,14,15,16,17,
- 18,19,20,21,0,0,0,64,4,3,
- 69,0,0,8,48,3,0,35,36,37,
- 38,39,0,41,42,43,44,45,46,47,
- 25,49,50,51,52,53,54,0,56,0,
- 3,0,3,0,62,0,3,0,3,0,
- 68,0,1,2,3,4,5,6,7,55,
- 9,10,11,12,13,14,15,16,17,18,
- 19,20,21,0,0,64,0,55,0,0,
- 64,0,8,0,3,0,35,36,37,38,
- 39,8,41,42,43,44,45,46,47,25,
- 49,50,51,52,53,54,0,56,25,0,
- 4,70,0,62,0,0,4,66,67,0,
- 1,2,3,4,5,6,7,8,9,10,
- 11,12,13,14,15,16,17,18,19,20,
- 21,0,0,0,0,3,3,0,75,73,
- 0,73,73,0,35,36,37,38,39,0,
- 41,42,43,44,45,46,47,55,49,50,
- 51,52,53,54,0,56,91,62,0,70,
- 0,62,0,3,70,3,0,68,0,1,
- 2,3,4,5,6,7,55,9,10,11,
+ 20,21,0,0,0,73,3,3,0,70,
+ 0,48,0,3,48,35,36,37,38,39,
+ 8,41,42,43,44,45,46,47,0,49,
+ 50,51,52,53,54,63,0,25,0,0,
+ 4,61,3,0,0,69,3,67,0,1,
+ 2,3,4,5,6,7,0,9,10,11,
12,13,14,15,16,17,18,19,20,21,
- 0,0,0,3,55,0,0,70,3,3,
- 70,0,0,35,36,37,38,39,0,41,
- 42,43,44,45,46,47,0,49,50,51,
- 52,53,54,0,56,0,3,73,3,0,
- 62,73,37,38,66,67,0,1,2,3,
- 4,5,6,7,8,9,10,11,12,13,
- 14,15,16,17,18,19,20,21,0,64,
- 0,0,0,55,0,0,0,0,76,0,
- 3,35,36,37,38,39,0,41,42,43,
- 44,45,46,47,55,49,50,51,52,53,
- 54,0,56,91,3,0,5,6,69,0,
- 9,106,0,0,0,0,0,0,0,0,
- 119,0,0,55,0,120,55,55,0,55,
- 55,55,0,0,95,96,35,36,37,38,
- 70,55,41,0,0,119,0,0,39,70,
- 0,0,0,0,0,0,55,0,0,0,
- 0,0,0,0,118,64,0,66,67,0,
- 69,70,71,0,0,70,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,88,
- 89,90,0,0,93,94,95,96,97,98,
- 99,100,101,102,0,0,0,106,0,108,
- 109,110,111,112,113,114,115,116,117,0,
- 1,2,3,4,5,6,7,0,9,10,
- 11,12,13,14,15,16,17,18,19,20,
- 21,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,35,36,37,38,39,0,
- 41,42,43,44,45,46,47,0,49,50,
- 51,52,53,54,0,56,0,0,0,0,
- 0,62,0,1,2,3,4,5,6,7,
- 0,9,10,11,12,13,14,15,16,17,
- 18,19,20,21,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,35,36,37,
+ 0,0,70,0,4,0,48,69,5,8,
+ 0,0,0,35,36,37,38,39,0,41,
+ 42,43,44,45,46,47,25,49,50,51,
+ 52,53,54,0,0,0,0,69,0,61,
+ 0,55,4,65,66,0,1,2,3,4,
+ 5,6,7,8,9,10,11,12,13,14,
+ 15,16,17,18,19,20,21,55,63,0,
+ 0,0,3,55,3,39,0,0,0,0,
+ 35,36,37,38,39,0,41,42,43,44,
+ 45,46,47,55,49,50,51,52,53,54,
+ 90,0,0,69,3,72,61,72,0,0,
+ 70,0,67,0,1,2,3,4,5,6,
+ 7,0,9,10,11,12,13,14,15,16,
+ 17,18,19,20,21,0,0,0,3,0,
+ 5,6,0,4,9,69,69,10,35,36,
+ 37,38,39,0,41,42,43,44,45,46,
+ 47,0,49,50,51,52,53,54,90,0,
+ 35,36,37,38,61,0,41,40,65,66,
+ 72,70,0,0,0,48,0,0,118,0,
+ 55,55,3,72,55,0,0,55,63,3,
+ 65,66,0,68,69,70,0,0,55,0,
+ 3,0,0,0,3,3,55,0,0,0,
+ 118,3,87,88,89,0,0,92,93,94,
+ 95,96,97,98,99,100,101,55,55,55,
+ 105,55,107,108,109,110,111,112,113,114,
+ 115,116,0,1,2,3,4,5,6,7,
+ 8,9,10,11,12,13,14,15,16,17,
+ 18,19,20,21,72,0,70,0,69,0,
+ 3,0,69,0,0,0,69,35,36,37,
38,39,0,41,42,43,44,45,46,47,
- 0,49,50,51,52,53,54,0,56,0,
- 0,0,0,0,0,0,64,0,1,2,
- 3,4,5,6,7,0,9,10,11,12,
+ 0,49,50,51,52,53,54,0,1,2,
+ 3,4,5,6,7,40,9,10,11,12,
13,14,15,16,17,18,19,20,21,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,35,36,37,38,39,0,41,42,
+ 0,39,0,0,55,0,0,118,0,0,
+ 0,0,35,36,37,38,39,121,41,42,
43,44,45,46,47,0,49,50,51,52,
- 53,54,0,56,0,0,0,0,0,62,
+ 53,54,0,0,0,0,0,0,61,117,
0,1,2,3,4,5,6,7,0,9,
10,11,12,13,14,15,16,17,18,19,
- 20,21,0,0,0,0,0,0,0,0,
+ 20,21,0,0,0,0,0,0,69,0,
0,0,0,0,0,35,36,37,38,39,
0,41,42,43,44,45,46,47,0,49,
- 50,51,52,53,54,0,56,0,1,2,
+ 50,51,52,53,54,0,1,2,3,4,
+ 5,6,7,63,9,10,11,12,13,14,
+ 15,16,17,18,19,20,21,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 35,36,37,38,39,0,41,42,43,44,
+ 45,46,47,0,49,50,51,52,53,54,
+ 0,0,0,0,0,0,61,0,1,2,
3,4,5,6,7,0,9,10,11,12,
13,14,15,16,17,18,19,20,21,0,
0,0,0,0,0,0,0,0,0,0,
0,0,35,36,37,38,39,0,41,42,
43,44,45,46,47,0,49,50,51,52,
- 53,54,0,56,0,1,2,3,4,5,
- 6,7,0,9,10,11,12,13,14,15,
- 16,17,18,19,20,21,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,35,
- 36,37,38,39,0,41,42,43,44,45,
- 46,47,0,49,50,51,52,53,54,0,
- 56,0,1,2,0,4,0,0,0,0,
- 0,10,11,12,13,14,15,16,17,18,
- 19,20,21,22,23,24,0,26,27,28,
- 29,30,31,32,33,34,0,0,0,0,
- 0,40,0,0,0,0,0,0,0,0,
- 0,0,1,2,0,4,0,0,57,58,
- 59,10,11,12,13,14,15,16,17,18,
+ 53,54,0,1,2,3,4,5,6,7,
+ 0,9,10,11,12,13,14,15,16,17,
+ 18,19,20,21,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,35,36,37,
+ 38,39,0,41,42,43,44,45,46,47,
+ 0,49,50,51,52,53,54,0,1,2,
+ 3,4,5,6,7,0,9,10,11,12,
+ 13,14,15,16,17,18,19,20,21,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,35,36,37,38,39,0,41,42,
+ 43,44,45,46,47,0,49,50,51,52,
+ 53,54,0,1,2,0,4,0,0,0,
+ 0,0,10,11,12,13,14,15,16,17,
+ 18,19,20,21,22,23,24,0,26,27,
+ 28,29,30,31,32,33,34,0,0,0,
+ 0,0,40,0,0,0,0,0,0,0,
+ 0,0,1,2,0,4,0,0,56,57,
+ 58,10,11,12,13,14,15,16,17,18,
19,20,21,22,23,24,0,26,27,28,
29,30,31,32,33,34,0,0,0,0,
0,40,0,1,2,3,4,5,6,7,
- 8,9,0,0,0,0,0,0,57,58,
- 59,0,0,0,22,23,24,25,26,27,
+ 8,9,0,0,0,0,0,56,57,58,
+ 0,0,0,0,22,23,24,25,26,27,
28,29,30,31,32,33,34,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,55,0,0,
- 0,0,0,0,0,0,64,0,0,0,
- 0,0,0,0,0,0,74,0,1,2,
- 3,4,5,6,7,8,9,0,0,0,
- 0,0,0,0,0,0,0,0,0,22,
- 23,24,25,26,27,28,29,30,31,32,
- 33,34,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,11,12,13,
- 14,15,16,17,18,19,20,21,22,23,
- 24,64,26,27,28,29,30,31,32,33,
- 34,74,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
+ 0,55,3,55,0,0,0,55,0,0,
+ 0,0,0,0,68,63,68,0,0,0,
+ 0,0,0,0,0,73,0,1,2,3,
+ 4,5,6,7,8,9,37,38,0,0,
+ 94,95,94,95,0,0,0,0,22,23,
+ 24,25,26,27,28,29,30,31,32,33,
+ 34,0,63,0,0,0,0,0,0,0,
+ 0,0,0,0,0,11,12,13,14,15,
+ 16,17,18,19,20,21,22,23,24,63,
+ 26,27,28,29,30,31,32,33,34,73,
+ 0,0,0,0,105,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,119,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0
+ 0,0,0,0,0,0,0
};
};
public final static byte termCheck[] = TermCheck.termCheck;
@@ -1460,354 +1449,345 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars
public interface TermAction {
public final static char termAction[] = {0,
- 5384,5361,5337,5337,5337,5337,5337,5337,5371,5337,
+ 5383,5360,5336,5336,5336,5336,5336,5336,5370,5336,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,5364,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,5365,1,1,1,1,
+ 1,1,1,1,1,1,1,1,139,1,
+ 1,1,1,1,1,1,1,1,1,1519,
+ 5558,1,1182,115,1993,1,1,5394,5383,3743,
+ 5383,5390,731,4798,1124,2435,4216,2213,3782,2206,
+ 2929,2384,1302,2366,3453,2336,10,5373,5373,5373,
+ 5373,5373,5373,5373,5373,5373,5373,5373,5373,5373,
+ 5373,5373,5373,5373,5373,5373,5373,5373,5373,5373,
+ 5373,5373,5373,5373,5373,5373,5373,5373,5373,5373,
+ 5373,5373,5373,5373,5373,5373,5373,5373,5373,5373,
+ 5373,5373,5373,5373,329,5373,5373,5373,5373,5373,
+ 5373,393,5373,5373,5373,5373,5373,5373,5373,2251,
+ 5373,5373,5373,5373,3586,3712,3680,5373,382,5383,
+ 5373,5373,5373,5373,5373,5373,5373,5373,5373,5373,
+ 5373,5373,8,5376,5376,5376,5376,5376,5376,5376,
+ 5376,5376,5376,5376,5376,5376,5376,5376,5376,5376,
+ 5376,5376,5376,5376,5376,5376,5376,5376,5376,5376,
+ 5376,5376,5376,5376,5376,5376,5376,5376,5376,5376,
+ 5376,5376,5376,5376,5376,5376,5376,5376,5376,5376,
+ 5383,5376,5376,5376,5376,5376,5376,5836,5376,5376,
+ 5376,5376,5376,5376,5376,301,5376,5376,5376,5376,
+ 286,5129,5129,5376,283,5683,5376,5376,5376,5376,
+ 5376,5376,5376,5376,5376,5376,5376,5376,5383,5360,
+ 5336,5336,5336,5336,5336,5336,5367,5336,1,1,
1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,5364,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,330,1,1,1,1,
- 1520,5560,1,1183,116,1994,1,1,5395,5384,
- 3744,346,5391,732,1941,1125,2436,4217,2214,3783,
- 2207,2930,2385,1303,2367,3454,2337,10,5374,5374,
- 5374,5374,5374,5374,5374,5374,5374,5374,5374,5374,
- 5374,5374,5374,5374,5374,5374,5374,5374,5374,5374,
- 5374,5374,5374,5374,5374,5374,5374,5374,5374,5374,
- 5374,5374,5374,5374,5374,5374,5374,5374,5374,5374,
- 5374,5374,5374,5374,5374,1351,5374,5374,5374,5374,
- 5374,5374,132,5374,5374,5374,5374,5374,5374,5374,
- 5374,594,5374,5374,5374,5374,40,3713,3681,5374,
- 5423,394,5374,5374,5374,5374,5374,5374,5374,5374,
- 5374,5374,5374,5374,8,5377,5377,5377,5377,5377,
- 5377,5377,5377,5377,5377,5377,5377,5377,5377,5377,
- 5377,5377,5377,5377,5377,5377,5377,5377,5377,5377,
- 5377,5377,5377,5377,5377,5377,5377,5377,5377,5377,
- 5377,5377,5377,5377,5377,5377,5377,5377,5377,5377,
- 5377,5377,383,5377,5377,5377,5377,5377,5377,5384,
- 5377,5377,5377,5377,5377,5377,5377,5377,158,5377,
- 5377,5377,5377,287,5130,5130,5377,284,5384,5377,
- 5377,5377,5377,5377,5377,5377,5377,5377,5377,5377,
- 5377,5384,5361,5337,5337,5337,5337,5337,5337,5368,
- 5337,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,5365,1,1,1,
+ 1,1,1,1,1,1,5383,1,1,1,
+ 1,1,1,437,1,1,1,1519,5558,1,
+ 1182,5383,1993,1,1,5394,5383,5066,5063,5391,
+ 5421,5383,1124,2435,4216,2213,3782,2206,2929,2384,
+ 1302,2366,3453,2336,5383,5360,5336,5336,5336,5336,
+ 5336,5336,5367,5336,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,5364,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1911,
- 1,1,1,1,1,1,438,1,1,1,
- 1,1520,5560,1,1183,514,1994,1,1,5395,
- 5384,5067,5064,5384,5423,5384,1125,2436,4217,2214,
- 3783,2207,2930,2385,1303,2367,3454,2337,5384,5361,
- 5337,5337,5337,5337,5337,5337,5368,5337,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,5365,1,1,1,1,1,1,
+ 1,1,5390,1,1,1,1,1,1,135,
+ 1,1,1,1519,5558,1,1182,117,1993,1,
+ 1,5394,5383,3743,5383,5816,5817,5818,1124,2435,
+ 4216,2213,3782,2206,2929,2384,1302,2366,3453,2336,
+ 5383,5360,5336,5336,5336,5336,5336,5336,5367,5336,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,881,1,1,1,
- 1,1,1,138,1,1,1,1,1520,5560,
- 1,1183,118,1994,1,1,5395,5384,3744,5818,
- 5819,5820,3505,1125,2436,4217,2214,3783,2207,2930,
- 2385,1303,2367,3454,2337,5384,5361,5337,5337,5337,
- 5337,5337,5337,5368,5337,1,1,1,1,1,
+ 1,1,1,1,1,5364,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 5365,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,5383,1,
+ 1,1,1,1,1,5383,1,1,1,1519,
+ 5558,1,1182,5383,1993,1,1,5394,2300,3712,
+ 3680,5383,5397,5398,1124,2435,4216,2213,3782,2206,
+ 2929,2384,1302,2366,3453,2336,5383,5360,5336,5336,
+ 5336,5336,5336,5336,5367,5336,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,5384,1,1,1,1,1,1,
- 133,1,1,1,1,1520,5560,1,1183,594,
- 1994,1,1,5395,1186,3713,3681,5384,5398,5399,
- 1125,2436,4217,2214,3783,2207,2930,2385,1303,2367,
- 3454,2337,5384,5361,5337,5337,5337,5337,5337,5337,
- 5368,5337,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,5365,1,1,
+ 1,5364,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,5383,1,1,1,1,1,
+ 1,5383,1,1,1,1519,5558,1,1182,116,
+ 1993,1,1,5394,111,3743,5383,5054,5051,5383,
+ 1124,2435,4216,2213,3782,2206,2929,2384,1302,2366,
+ 3453,2336,5383,5360,5336,5336,5336,5336,5336,5336,
+ 5367,5336,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,5364,1,1,
1,1,1,1,1,1,1,1,1,1,
- 5384,1,1,1,1,1,1,139,1,1,
- 1,1,1520,5560,1,1183,117,1994,1,1,
- 5395,112,3744,5384,5055,5052,5384,1125,2436,4217,
- 2214,3783,2207,2930,2385,1303,2367,3454,2337,5384,
- 5361,5337,5337,5337,5337,5337,5337,5368,5337,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,5365,1,1,1,1,1,
+ 5383,1,1,1,1,1,1,5822,1,1,
+ 1,1519,5558,1,1182,5383,1993,1,1,5394,
+ 39,3712,3680,4102,5421,4124,1124,2435,4216,2213,
+ 3782,2206,2929,2384,1302,2366,3453,2336,5383,5360,
+ 5336,5336,5336,5336,5336,5336,5367,5336,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,5384,1,1,
- 1,1,1,1,5384,1,1,1,1,1520,
- 5560,1,1183,361,1994,1,1,5395,1186,3713,
- 3681,4103,5384,4125,1125,2436,4217,2214,3783,2207,
- 2930,2385,1303,2367,3454,2337,5384,5361,5337,5337,
- 5337,5337,5337,5337,5368,5337,1,1,1,1,
+ 1,1,1,5364,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,5365,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,334,1,1,1,
+ 1,1,1,5383,1,1,1,1519,5558,1,
+ 1182,5383,1993,1,1,5394,5383,5397,5398,5718,
+ 5719,3504,1124,2435,4216,2213,3782,2206,2929,2384,
+ 1302,2366,3453,2336,5383,5360,5336,5336,5336,5336,
+ 5336,5336,5367,5336,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,5364,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,3025,1,1,1,1,1,
- 1,5838,1,1,1,1,1520,5560,1,1183,
- 290,1994,1,1,5395,5384,5398,5399,5384,5384,
- 3505,1125,2436,4217,2214,3783,2207,2930,2385,1303,
- 2367,3454,2337,5384,5361,5337,5337,5337,5337,5337,
- 5337,5368,5337,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,5365,1,
1,1,1,1,1,1,1,1,1,1,
+ 1,1,5383,1,1,1,1,1,1,5383,
+ 1,1,1,1519,5558,1,1182,8,1993,1,
+ 1,5394,5383,5066,5063,5324,5421,5383,1124,2435,
+ 4216,2213,3782,2206,2929,2384,1302,2366,3453,2336,
+ 5383,5360,5336,5336,5336,5336,5336,5336,5367,5336,
1,1,1,1,1,1,1,1,1,1,
- 1,1136,1,1,1,1,1,1,5824,1,
- 1,1,1,1520,5560,1,1183,302,1994,1,
- 1,5395,5384,5067,5064,292,5423,5685,1125,2436,
- 4217,2214,3783,2207,2930,2385,1303,2367,3454,2337,
- 5384,5361,5337,5337,5337,5337,5337,5337,5368,5337,
+ 1,1,1,1,1,5364,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,5365,1,1,1,1,
+ 1,1,1,1,1,1,1,1,5324,1,
+ 1,1,1,1,1,5893,1,1,1,1519,
+ 5558,1,1182,5383,1993,1,1,5394,121,1384,
+ 5383,125,5710,2804,1124,2435,4216,2213,3782,2206,
+ 2929,2384,1302,2366,3453,2336,5383,5360,5336,5336,
+ 5336,5336,5336,5336,5367,5336,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,335,1,
- 1,1,1,1,1,2040,1,1,1,1,
- 1520,5560,1,1183,5384,1994,1,1,5395,122,
- 1385,5720,5721,5712,5384,1125,2436,4217,2214,3783,
- 2207,2930,2385,1303,2367,3454,2337,5384,5361,5337,
- 5337,5337,5337,5337,5337,5368,5337,1,1,1,
+ 1,5364,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,5365,1,1,1,1,1,1,1,
+ 1,1,1,1,5383,1,1,1,1,1,
+ 1,5383,1,1,1,1519,5558,1,1182,5383,
+ 1993,1,1,5394,5383,629,2872,5387,629,2872,
+ 1124,2435,4216,2213,3782,2206,2929,2384,1302,2366,
+ 3453,2336,5383,2283,1,1,1,1,1,1,
+ 2291,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,5392,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,5384,1,1,1,1,
- 1,1,5384,1,1,1,1,1520,5560,1,
- 1183,5384,1994,1,1,5395,5384,630,2873,5388,
- 5384,5384,1125,2436,4217,2214,3783,2207,2930,2385,
- 1303,2367,3454,2337,5384,2284,1,1,1,1,
- 1,1,2292,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,5393,
1,1,1,1,1,1,1,1,1,1,
+ 5383,1,1,1,1,1,1,5383,1,1,
+ 1,1519,5558,1,1182,5383,1993,1,1,5394,
+ 395,5397,5398,48,5054,5051,1124,2435,4216,2213,
+ 3782,2206,2929,2384,1302,2366,3453,2336,39,5066,
+ 5063,4786,2115,3926,3992,2749,5386,4014,871,5647,
+ 5645,5654,5653,5649,5650,5648,5651,5652,5655,5646,
+ 5643,5718,5719,114,5637,5644,5640,5616,5642,5641,
+ 5638,5639,5617,3970,3948,4058,4036,5402,5779,3904,
+ 1085,1261,5404,1139,3643,1217,452,5405,5403,1051,
+ 5399,5400,5401,5383,2322,5780,5781,800,318,1393,
+ 5383,5258,5258,229,5254,229,229,229,5262,229,
1,1,1,1,1,1,1,1,1,1,
- 1,1,5384,1,1,1,1,1,1,5895,
- 1,1,1,1,1520,5560,1,1183,425,1994,
- 1,1,5395,396,5398,5399,49,5055,5052,1125,
- 2436,4217,2214,3783,2207,2930,2385,1303,2367,3454,
- 2337,40,5067,5064,4787,2116,3927,3993,2750,5387,
- 4015,872,5649,5647,5656,5655,5651,5652,5650,5653,
- 5654,5657,5648,5645,5720,5721,119,5639,5646,5642,
- 5618,5644,5643,5640,5641,5619,3971,3949,4059,4037,
- 5404,5781,3905,1086,1262,5406,1140,3644,1218,4223,
- 5407,5405,1052,5400,5402,5403,319,5401,2323,5782,
- 5783,3522,3341,1394,5384,5259,5259,230,5255,230,
- 230,230,5263,230,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,230,
- 1,1,1,1,1,1,1,1,1,5384,
- 5398,5399,5384,186,1,4799,1,5030,5026,5293,
- 5023,5299,5252,5296,5394,5384,225,291,5398,5399,
- 1351,1,1,1,2638,5795,130,1175,5384,5384,
- 226,5393,37,5319,5316,1855,415,230,5645,5720,
- 5721,134,5639,5646,5642,5618,5644,5643,5640,5641,
- 5619,5883,5645,5720,5721,357,5639,5646,5642,5618,
- 5644,5643,5640,5641,5619,4081,682,5818,5819,5820,
- 5384,5259,5259,230,5255,230,230,230,5302,230,
+ 1,1,1,1,1,229,1,1,1,1,
+ 1,1,1,1,1,5383,5397,5398,5383,5383,
+ 1,5042,1,5029,5025,5292,5022,5298,5251,5295,
+ 5393,224,4102,5383,4124,131,1,1,1,2637,
+ 5793,1350,1174,129,593,225,1,5392,290,5397,
+ 5398,414,229,5643,5718,5719,5383,5637,5644,5640,
+ 5616,5642,5641,5638,5639,5617,5881,5643,5718,5719,
+ 5383,5637,5644,5640,5616,5642,5641,5638,5639,5617,
+ 4080,681,5816,5817,5818,5383,5258,5258,229,5254,
+ 229,229,229,5301,229,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,230,1,1,1,1,
- 1,1,1,1,1,443,1,1,5384,1,
- 1,5070,5384,34,5070,318,5079,5384,5252,5079,
- 5396,5079,5079,2391,2363,5381,5384,1,1,1,
- 2638,5795,227,1175,5390,444,40,40,5079,5423,
- 2333,5228,414,230,5228,5384,5740,739,5079,5079,
- 5079,5079,5384,5392,5645,5720,5721,5883,5639,5646,
- 5642,5618,5644,5643,5640,5641,5619,126,5079,140,
- 38,5085,5085,5818,5819,5820,330,5079,5384,1351,
- 5395,30,5079,5079,5079,5079,5079,5079,366,5030,
- 5026,2665,5023,626,1,2750,5384,1,453,2805,
- 5389,5079,5079,5079,5079,5079,5079,5079,5079,5079,
- 5079,5079,5079,5079,5079,5079,1004,5391,5421,5079,
- 5079,5079,5079,5079,5079,5079,5079,5079,5079,5079,
- 5079,5079,5384,5079,5079,5222,1078,5384,5222,1868,
- 5222,5222,5384,5030,5026,4423,5023,626,5322,2750,
- 38,5322,1351,5043,423,630,2873,5222,1222,1,
- 5030,5026,4423,5023,626,5384,2750,5222,5222,5222,
- 5222,2252,92,5392,5384,5219,3587,1825,1782,1739,
- 1696,1653,1610,1567,1524,1481,1438,5222,310,5030,
- 5026,4423,5023,626,5322,2750,5222,5322,5421,5022,
- 121,5222,5222,5222,5222,5222,5222,330,5067,5064,
- 4423,2116,626,3899,2750,1048,5384,8473,8365,448,
- 5222,5222,5222,5222,5222,5222,5222,5222,5222,5222,
- 5222,5222,5222,5222,5222,3522,3341,5391,5222,5222,
- 5222,5222,5222,5222,5222,5222,5222,5222,5222,5222,
- 5222,48,5222,5222,5384,5337,5337,230,5337,230,
- 230,230,5340,230,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,230,
- 1,1,8680,1,1,1,1,1,1,125,
- 2684,5384,5067,5064,1,2116,5225,238,2750,2502,
- 5237,228,5334,1,5030,5026,5293,5023,5299,5384,
- 5296,1,1,1,3188,5596,40,1183,5384,1994,
- 5423,457,801,5645,5720,5721,221,5639,5646,5642,
- 5618,5644,5643,5640,5641,5619,5384,5384,3412,940,
- 456,5883,5384,5337,5337,230,5337,230,230,230,
- 230,230,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,230,1,1,
- 8680,1,1,1,1,1,1,630,2873,5384,
- 5067,5064,1,2116,5225,5073,2750,5384,5067,5064,
- 5334,2116,626,115,2750,311,136,1890,2070,1,
- 1,1,3188,5596,5076,1183,1812,1994,5384,5030,
- 5026,4423,5023,626,1,2750,1,1,1,5030,
- 5026,2665,5023,626,5355,2750,5231,2288,2478,5883,
- 5384,5337,5337,230,5337,230,230,230,5346,230,
+ 229,1,1,1,1,1,1,1,1,1,
+ 3478,310,5383,33,2069,1,5078,133,29,5078,
+ 5383,5078,5078,5251,392,5126,5126,5383,283,2390,
+ 2362,1,1,1,2637,5793,39,1174,5078,118,
+ 5421,137,329,5021,5383,329,413,229,5078,5078,
+ 5078,5078,5389,343,5066,5063,2664,2115,625,329,
+ 2749,5881,329,1,5383,226,738,124,5078,139,
+ 1854,361,283,1077,3521,3340,5078,5816,5817,5818,
+ 1092,5078,5078,5078,5078,5078,5078,5643,5718,5719,
+ 422,5637,5644,5640,5616,5642,5641,5638,5639,5617,
+ 5078,5078,5078,5078,5078,5078,5078,5078,5078,5078,
+ 5078,5078,5078,5078,5078,2332,1350,5388,5078,5078,
+ 5078,5078,5078,5078,5078,5078,5078,5078,5078,5078,
+ 5078,5383,5078,5078,5221,317,361,5221,1867,5221,
+ 5221,1185,365,5029,5025,2664,5022,625,1,2749,
+ 5383,1,5383,361,629,2872,5221,1,5029,5025,
+ 4422,5022,625,5383,2749,157,5221,5221,5221,5221,
+ 2251,5391,36,5318,5315,3586,1824,1781,1738,1695,
+ 1652,1609,1566,1523,1480,1437,5221,138,1,5029,
+ 5025,4422,5022,625,5221,2749,309,134,1350,5221,
+ 5221,5221,5221,5221,5221,1350,442,1,1,5383,
+ 1,1221,5069,309,91,5069,123,5218,5221,5221,
+ 5221,5221,5221,5221,5221,5221,5221,5221,5221,5221,
+ 5221,5221,5221,1003,5390,1910,5221,5221,5221,5221,
+ 5221,5221,5221,5221,5221,5221,5221,5221,5221,5383,
+ 5221,5221,5383,5336,5336,229,5336,229,229,229,
+ 5339,229,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,229,1,1,
+ 8691,1,1,1,1,1,1,1185,37,5383,
+ 5066,5063,1,2115,5224,2332,2749,39,227,120,
+ 5333,5421,113,629,2872,1,5383,5383,1,1,
+ 1,3187,5594,161,1182,5395,1993,1811,5383,3411,
+ 5643,5718,5719,220,5637,5644,5640,5616,5642,5641,
+ 5638,5639,5617,5383,3521,3340,5419,939,5881,5383,
+ 5336,5336,229,5336,229,229,229,229,229,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,230,1,1,8680,1,
- 1,1,1,1,1,1093,38,5085,5085,5919,
- 1,5085,1,5030,5026,4423,5023,626,5334,2750,
- 310,114,1351,4103,5395,4125,1,1,1,1,
- 3188,5596,5234,1183,162,1994,2301,310,5384,5055,
- 5052,439,220,344,5067,5064,2665,2116,626,330,
- 2750,113,330,30,3668,5384,5384,5883,5384,5337,
- 5337,230,5337,230,230,230,5340,230,1,1,
+ 1,1,1,1,229,1,1,8691,1,1,
+ 1,1,1,1,5394,37,5084,5084,161,1,
+ 5084,329,5066,5063,4422,2115,625,5333,2749,112,
+ 1953,4102,5383,4124,1889,1,1,1,3187,5594,
+ 5389,1182,301,1993,5383,5029,5025,4422,5022,625,
+ 1,2749,5683,1,456,5383,5029,5025,4422,5022,
+ 625,5321,2749,3667,5321,5881,5383,5336,5336,229,
+ 5336,229,229,229,5345,229,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,230,1,1,8680,1,1,1,
- 1,1,1,93,1,1,5046,1,1,5284,
- 162,5384,5284,1900,4081,682,5334,1351,5049,5384,
- 40,4103,124,4125,5423,1,1,1,3188,5596,
- 5384,1183,5384,1994,140,1,5281,5281,5384,5278,
- 221,330,2768,362,330,1,5030,5026,4423,5023,
- 626,4103,2750,4125,5384,5883,5384,5337,5337,230,
- 5337,230,230,230,5340,230,1,1,1,1,
+ 1,229,1,1,8691,1,1,1,1,1,
+ 1,3235,4869,47,5917,5388,1,132,1,5029,
+ 5025,5292,5022,5298,5333,5295,593,5072,4102,122,
+ 4124,5383,1,1,1,3187,5594,1047,1182,5393,
+ 1993,1,5029,5025,2664,5022,625,219,2749,5230,
+ 126,1,5280,5280,394,5277,5392,329,385,361,
+ 329,2501,5881,5383,5336,5336,229,5336,229,229,
+ 229,5339,229,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,229,1,
+ 1,8691,1,1,1,1,1,1,37,5084,
+ 5084,4190,5383,1,1350,2597,443,39,39,1077,
+ 5421,5333,5227,5383,5233,5227,629,2872,5087,1,
+ 1,1,3187,5594,361,1182,356,1993,1,343,
+ 39,39,3312,5421,220,329,5389,5383,329,5383,
+ 1,361,455,3312,2525,2431,5419,5383,5230,5881,
+ 5383,5336,5336,229,5336,229,229,229,5339,229,
1,1,1,1,1,1,1,1,1,1,
- 1,230,1,1,8680,1,1,1,1,1,
- 1,96,40,40,394,5423,1,5328,387,1814,
- 5328,5384,5067,5064,5334,2116,626,1820,2750,362,
- 630,2873,5384,1,1,1,3188,5596,1048,1183,
- 5390,1994,5384,5818,5819,5820,362,131,221,344,
- 40,40,3313,5423,1,330,2252,3313,330,5384,
- 5384,3587,5231,5883,5384,5337,5337,230,5337,230,
- 230,230,230,230,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,230,
- 1,1,8680,1,1,1,1,1,1,135,
- 39,5040,5037,4870,1,5034,5389,2750,137,5384,
- 5398,5399,5334,1351,626,1078,2750,1,1351,5384,
- 4234,1,1,1,3188,5596,5384,1183,5234,1994,
- 1,5030,5026,2665,5023,626,127,2750,129,393,
- 5127,5127,395,284,2391,2363,386,5384,38,5085,
- 5085,5883,5384,5337,5337,230,5337,230,230,230,
- 230,230,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,230,1,1,
- 8680,1,1,1,1,1,1,284,44,5216,
- 5216,2598,1,2598,1351,40,5421,1078,2333,5423,
- 5334,330,120,5384,330,5088,8,5246,2301,1,
- 1,1,3188,5596,5325,1183,1821,1994,1,123,
- 309,3313,5384,5398,5399,5384,340,5384,8657,8657,
- 5396,2526,2432,2526,2432,5384,5213,3522,3341,5883,
- 5384,5337,5337,230,5337,230,230,230,230,230,
+ 1,1,1,1,1,229,1,1,8691,1,
+ 1,1,1,1,1,92,1,1,136,1,
+ 1,5283,1350,130,5283,5383,5066,5063,5333,2115,
+ 625,5388,2749,1350,5383,5075,1,1,1,3187,
+ 5594,5782,1182,5233,1993,4336,5738,2988,5383,8538,
+ 8437,220,309,5029,5025,4422,5022,625,5321,2749,
+ 5383,5321,43,5215,5215,5383,5881,5383,5336,5336,
+ 229,5336,229,229,229,229,229,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,230,1,1,8680,1,
- 1,1,1,1,1,5421,1,5384,5325,5384,
- 1,5384,1351,2355,362,5394,302,340,5334,340,
- 5395,4204,340,5384,5269,5266,5685,1,1,1,
- 3188,5596,5393,1183,1,1994,369,630,2873,5384,
- 1,46,5275,5275,5349,5384,8473,8365,5358,1,
- 5030,5026,4787,5023,3927,3993,2750,5883,4015,5091,
- 5118,5124,5097,5100,5112,5109,5115,5106,5103,5094,
- 5121,5421,5384,1,5352,1,3236,5384,4191,5384,
- 362,5390,2036,527,3971,3949,4059,4037,5404,5272,
- 3905,1086,1262,5406,1140,3644,1218,362,5407,5405,
- 1052,5400,5402,5403,1,5401,1265,5384,4337,1,
- 2989,1394,5391,427,5349,40,40,164,515,40,
- 5067,5064,4787,2116,3927,3993,2750,5305,4015,1342,
- 5649,5647,5656,5655,5651,5652,5650,5653,5654,5657,
- 5648,38,5085,5085,5352,1954,2570,5389,2989,527,
- 5384,5384,2036,347,3971,3949,4059,4037,5404,404,
- 3905,1086,1262,5406,1140,3644,1218,5287,5407,5405,
- 1052,5400,5402,5403,5384,5401,5384,5312,5308,5384,
- 5784,1394,3595,164,5290,5384,3283,5061,4220,3296,
- 4352,5391,40,5067,5064,4787,2116,3927,3993,2750,
- 5058,4015,1342,5649,5647,5656,5655,5651,5652,5650,
- 5653,5654,5657,5648,49,5384,5384,1351,5399,4221,
- 4222,101,5384,5394,5421,4293,100,3971,3949,4059,
- 4037,5404,386,3905,1086,1262,5406,1140,3644,1218,
- 5393,5407,5405,1052,5400,5402,5403,5384,5401,5384,
- 3285,367,3389,5384,1394,104,3593,5384,3673,5384,
- 5061,142,5067,5064,4787,2116,3927,3993,2750,5399,
- 4015,1342,5649,5647,5656,5655,5651,5652,5650,5653,
- 5654,5657,5648,1,1,4342,447,5082,5384,5384,
- 2078,279,5394,1,5343,1,3971,3949,4059,4037,
- 5404,192,3905,1086,1262,5406,1140,3644,1218,5393,
- 5407,5405,1052,5400,5402,5403,5384,5401,192,419,
- 2985,1308,49,1394,36,531,5398,40,40,40,
- 5067,5064,4787,2116,3927,3993,2750,5058,4015,1342,
- 5649,5647,5656,5655,5651,5652,5650,5653,5654,5657,
- 5648,5384,5384,5384,5384,2019,3879,507,3479,2509,
- 505,2127,2984,5384,3971,3949,4059,4037,5404,5384,
- 3905,1086,1262,5406,1140,3644,1218,5398,5407,5405,
- 1052,5400,5402,5403,5384,5401,5742,2197,5384,2165,
- 5384,1394,5384,4447,3603,4884,5384,5061,1,5030,
- 5026,4787,5023,3927,3993,2750,3187,4015,5091,5118,
- 5124,5097,5100,5112,5109,5115,5106,5103,5094,5121,
- 5384,374,5384,4894,3427,76,5384,4448,3070,4461,
- 4745,5384,1,3971,3949,4059,4037,5404,5384,3905,
- 1086,1262,5406,1140,3644,1218,520,5407,5405,1052,
- 5400,5402,5403,5384,5401,5384,4918,3038,3392,128,
- 1394,3092,5447,5448,40,40,40,5067,5064,4787,
- 2116,3927,3993,2750,5388,4015,1342,5649,5647,5656,
- 5655,5651,5652,5650,5653,5654,5657,5648,5384,3473,
- 5384,5384,394,3435,5384,74,5384,5384,2620,5384,
- 4551,3971,3949,4059,4037,5404,2,3905,1086,1262,
- 5406,1140,3644,1218,2598,5407,5405,1052,5400,5402,
- 5403,1,5401,4444,1392,509,5852,5846,5249,1,
- 5850,581,5384,5384,5384,5384,5384,5384,5384,5384,
- 2478,5384,5384,3785,5384,667,1890,1078,5384,3456,
- 5331,3876,5384,5384,2526,2432,5844,5845,5875,5876,
- 3603,38,5853,5384,5384,2478,5384,5384,1993,1997,
- 5384,5384,5384,5384,5384,5384,5855,5384,5384,5384,
- 5384,5384,5384,5384,5387,741,5384,913,957,5384,
- 5856,5854,5877,5384,5384,806,5384,5384,5384,5384,
- 5384,5384,5384,5384,5384,5384,5384,5384,5384,5866,
- 5865,5878,5384,5384,5847,5848,5871,5872,5869,5870,
- 5849,5851,5873,5874,5384,5384,5384,5879,5384,5859,
- 5860,5861,5857,5858,5867,5868,5863,5862,5864,40,
- 5067,5064,4787,2116,3927,3993,2750,5384,4015,1342,
- 5649,5647,5656,5655,5651,5652,5650,5653,5654,5657,
- 5648,5384,5384,5384,5384,5384,5384,5384,5384,5384,
- 5384,5384,5384,5384,3971,3949,4059,4037,5404,5384,
- 3905,1086,1262,5406,1140,3644,1218,5384,5407,5405,
- 1052,5400,5402,5403,5384,5401,5384,5384,5384,5384,
- 5384,1394,40,5067,5064,4787,2116,3927,3993,2750,
- 5384,4015,1342,5649,5647,5656,5655,5651,5652,5650,
- 5653,5654,5657,5648,5384,5384,5384,5384,5384,5384,
- 5384,5384,5384,5384,5384,5384,5384,3971,3949,4059,
- 4037,5404,5384,3905,1086,1262,5406,1140,3644,1218,
- 5384,5407,5405,1052,5400,5402,5403,5384,5401,5384,
- 5384,5384,5384,5384,5384,5384,1691,40,5067,5064,
- 4787,2116,3927,3993,2750,5384,4015,1342,5649,5647,
- 5656,5655,5651,5652,5650,5653,5654,5657,5648,5384,
- 5384,5384,5384,5384,5384,5384,5384,5384,5384,5384,
- 5384,5384,3971,3949,4059,4037,5404,5384,3905,1086,
- 1262,5406,1140,3644,1218,5384,5407,5405,1052,5400,
- 5402,5403,5384,5401,5384,5384,5384,5384,5384,1394,
- 40,5067,5064,4830,2116,3927,3993,2750,5384,4015,
- 1342,5649,5647,5656,5655,5651,5652,5650,5653,5654,
- 5657,5648,5384,5384,5384,5384,5384,5384,5384,5384,
- 5384,5384,5384,5384,5384,3971,3949,4059,4037,5404,
- 5384,3905,1086,1262,5406,1140,3644,1218,5384,5407,
- 5405,1052,5400,5402,5403,5384,5401,40,5067,5064,
- 4787,2116,3927,3993,2750,5384,4015,1342,5649,5647,
- 5656,5655,5651,5652,5650,5653,5654,5657,5648,5384,
- 5384,5384,5384,5384,5384,5384,5384,5384,5384,5384,
- 5384,5384,3971,3949,4059,4037,5404,5384,3905,1086,
- 1262,5406,1140,3644,1218,5384,5407,5405,1052,5400,
- 5402,5403,5384,5401,40,5067,5064,4787,2116,3927,
- 3993,2750,5384,4015,1342,5649,5647,5656,5655,5651,
- 5652,5650,5653,5654,5657,5648,5384,5384,5384,5384,
- 5384,5384,5384,5384,5384,5384,5384,5384,5384,3971,
- 3949,4059,4037,5404,5384,3905,1086,1262,5406,1140,
- 3644,1218,5384,5407,5405,1052,5400,5402,5403,5384,
- 5401,5384,5067,5064,5384,5423,5384,5384,5384,5384,
- 5384,575,5649,5647,5656,5655,5651,5652,5650,5653,
- 5654,5657,5648,5645,5720,5721,5384,5639,5646,5642,
- 5618,5644,5643,5640,5641,5619,5384,5384,5384,5384,
- 5384,5781,5384,5384,5384,5384,5384,5384,5384,5384,
- 5384,242,5206,5202,5384,5210,5384,5384,2323,5782,
- 5783,575,5193,5199,5172,5175,5187,5184,5190,5181,
- 5178,5169,5196,5148,5142,5139,5384,5166,5145,5157,
- 5136,5151,5154,5163,5160,5133,5384,5384,5384,5384,
- 5384,5781,30,386,386,5243,386,386,5243,386,
- 5243,5243,5384,5384,5384,5384,5384,5384,2323,5782,
- 5783,5384,5384,5384,386,386,386,5243,386,386,
- 386,386,386,386,386,386,386,5384,5384,5384,
- 5384,5384,5384,5384,5384,5384,5384,5384,5384,5384,
- 5384,5384,5384,5384,5384,5384,5384,5049,5384,5384,
- 5384,5384,5384,5384,5384,5384,5243,5384,5384,5384,
- 5384,5384,5384,5384,5384,5384,5243,33,387,387,
- 5240,387,387,5240,387,5240,5240,5384,5384,5384,
- 5384,5384,5384,5384,5384,5384,5384,5384,5384,387,
- 387,387,5240,387,387,387,387,387,387,387,
- 387,387,5384,5384,5384,5384,224,5384,5384,5384,
- 5384,5384,5384,5384,5384,5384,5384,5649,5647,5656,
- 5655,5651,5652,5650,5653,5654,5657,5648,5645,5720,
- 5721,5240,5639,5646,5642,5618,5644,5643,5640,5641,
- 5619,5240
+ 1,1,229,1,1,8691,1,1,1,1,
+ 1,1,1813,5383,5383,5066,5063,1,2115,5224,
+ 5212,2749,95,39,39,5333,5421,2300,5327,2390,
+ 2362,5327,1,1,1,1,3187,5594,1819,1182,
+ 5354,1993,1,5029,5025,4422,5022,625,5383,2749,
+ 1,5029,5025,2664,5022,625,438,2749,5383,5383,
+ 8678,8678,2287,5881,5383,5336,5336,229,5336,229,
+ 229,229,229,229,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,229,
+ 1,1,8691,1,1,1,1,1,1,5394,
+ 5383,5383,5066,5063,1,2115,625,5419,2749,403,
+ 5383,5045,5333,1350,1047,39,2569,5286,2988,5421,
+ 1,1,1,3187,5594,5383,1182,1,1993,426,
+ 3312,38,5039,5036,5289,339,5033,2767,2749,5383,
+ 5397,5398,513,29,625,5383,2749,5383,8538,8437,
+ 5881,5383,5336,5336,229,5336,229,229,229,229,
+ 229,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,229,1,1,8691,
+ 1,1,1,1,1,1,5383,5397,5398,345,
+ 1350,1,1940,1820,5395,339,346,339,5048,5333,
+ 339,3282,393,5383,5268,5265,386,1,1,1,
+ 3187,5594,880,1182,1,1993,530,5816,5817,5818,
+ 1,37,5084,5084,5348,119,5383,329,5357,1,
+ 5029,5025,4786,5022,3926,3992,2749,5881,4014,5090,
+ 5117,5123,5096,5099,5111,5108,5114,5105,5102,5093,
+ 5120,5419,1350,5394,5351,5383,5054,5051,5383,1350,
+ 3521,3340,2035,5383,3970,3948,4058,4036,5402,5419,
+ 3904,1085,1261,5404,1139,3643,1217,2196,5405,5403,
+ 1051,5399,5400,5401,45,5274,5274,5383,1,237,
+ 1393,5390,5236,5383,39,39,526,514,39,5066,
+ 5063,4786,2115,3926,3992,2749,5304,4014,1341,5647,
+ 5645,5654,5653,5649,5650,5648,5651,5652,5655,5646,
+ 4080,681,1,1,5383,5383,4233,3594,4219,360,
+ 163,4221,5271,3970,3948,4058,4036,5402,5383,3904,
+ 1085,1261,5404,1139,3643,1217,5393,5405,5403,1051,
+ 5399,5400,5401,37,5084,5084,5383,5311,5307,1393,
+ 5383,526,100,5392,5383,5060,291,4220,2619,5390,
+ 39,5066,5063,4786,2115,3926,3992,2749,5057,4014,
+ 1341,5647,5645,5654,5653,5649,5650,5648,5651,5652,
+ 5655,5646,289,5383,5383,163,4292,3284,368,3024,
+ 5383,3295,1,3388,5419,3970,3948,4058,4036,5402,
+ 5393,3904,1085,1261,5404,1139,3643,1217,5383,5405,
+ 5403,1051,5399,5400,5401,4341,5383,5392,366,5383,
+ 2354,1393,3592,103,5383,2039,3672,5060,141,5066,
+ 5063,4786,2115,3926,3992,2749,5383,4014,1341,5647,
+ 5645,5654,5653,5649,5650,5648,5651,5652,5655,5646,
+ 5383,1,1135,5383,2984,99,1899,1264,3504,191,
+ 1,5383,385,3970,3948,4058,4036,5402,5383,3904,
+ 1085,1261,5404,1139,3643,1217,191,5405,5403,1051,
+ 5399,5400,5401,446,418,5383,5383,1307,48,1393,
+ 424,1077,5398,39,39,39,5066,5063,4786,2115,
+ 3926,3992,2749,5057,4014,1341,5647,5645,5654,5653,
+ 5649,5650,5648,5651,5652,5655,5646,5081,2077,278,
+ 5383,5383,5342,3186,2018,3898,35,506,1,5383,
+ 3970,3948,4058,4036,5402,5383,3904,1085,1261,5404,
+ 1139,3643,1217,5398,5405,5403,1051,5399,5400,5401,
+ 5740,5383,373,2164,3878,2508,1393,2126,5383,5383,
+ 4222,447,5060,1,5029,5025,4786,5022,3926,3992,
+ 2749,5383,4014,5090,5117,5123,5096,5099,5111,5108,
+ 5114,5105,5102,5093,5120,1,5383,1,1391,48,
+ 5850,5844,5383,5397,5848,3602,4447,5348,3970,3948,
+ 4058,4036,5402,5383,3904,1085,1261,5404,1139,3643,
+ 1217,5383,5405,5403,1051,5399,5400,5401,4443,5383,
+ 5842,5843,5873,5874,1393,5383,5851,5351,39,39,
+ 2983,2683,393,5383,73,2035,5383,5383,2477,5383,
+ 5853,3426,4446,3037,5397,5383,5383,3434,740,4883,
+ 912,956,5383,5854,5852,5875,308,5383,3784,504,
+ 4893,5383,5383,5383,4460,4917,1889,5383,5383,519,
+ 2477,3391,5864,5863,5876,5383,185,5845,5846,5869,
+ 5870,5867,5868,5847,5849,5871,5872,1077,3455,5330,
+ 5877,3875,5857,5858,5859,5855,5856,5865,5866,5861,
+ 5860,5862,39,5066,5063,4786,2115,3926,3992,2749,
+ 5387,4014,1341,5647,5645,5654,5653,5649,5650,5648,
+ 5651,5652,5655,5646,3091,5383,4203,5383,4744,2,
+ 4550,5383,3602,5383,5383,5383,1996,3970,3948,4058,
+ 4036,5402,1,3904,1085,1261,5404,1139,3643,1217,
+ 5383,5405,5403,1051,5399,5400,5401,39,5066,5063,
+ 4786,2115,3926,3992,2749,4351,4014,1341,5647,5645,
+ 5654,5653,5649,5650,5648,5651,5652,5655,5646,508,
+ 5383,1992,5383,5383,37,5383,5383,2477,5383,5383,
+ 5383,5383,3970,3948,4058,4036,5402,5380,3904,1085,
+ 1261,5404,1139,3643,1217,5383,5405,5403,1051,5399,
+ 5400,5401,5383,5383,5383,5383,5383,5383,1393,5386,
+ 39,5066,5063,4786,2115,3926,3992,2749,5383,4014,
+ 1341,5647,5645,5654,5653,5649,5650,5648,5651,5652,
+ 5655,5646,5383,5383,5383,5383,5383,5383,805,5383,
+ 5383,5383,5383,5383,5383,3970,3948,4058,4036,5402,
+ 5383,3904,1085,1261,5404,1139,3643,1217,5383,5405,
+ 5403,1051,5399,5400,5401,39,5066,5063,4786,2115,
+ 3926,3992,2749,1690,4014,1341,5647,5645,5654,5653,
+ 5649,5650,5648,5651,5652,5655,5646,5383,5383,5383,
+ 5383,5383,5383,5383,5383,5383,5383,5383,5383,5383,
+ 3970,3948,4058,4036,5402,5383,3904,1085,1261,5404,
+ 1139,3643,1217,5383,5405,5403,1051,5399,5400,5401,
+ 5383,5383,5383,5383,5383,5383,1393,39,5066,5063,
+ 4829,2115,3926,3992,2749,5383,4014,1341,5647,5645,
+ 5654,5653,5649,5650,5648,5651,5652,5655,5646,5383,
+ 5383,5383,5383,5383,5383,5383,5383,5383,5383,5383,
+ 5383,5383,3970,3948,4058,4036,5402,5383,3904,1085,
+ 1261,5404,1139,3643,1217,5383,5405,5403,1051,5399,
+ 5400,5401,39,5066,5063,4786,2115,3926,3992,2749,
+ 5383,4014,1341,5647,5645,5654,5653,5649,5650,5648,
+ 5651,5652,5655,5646,5383,5383,5383,5383,5383,5383,
+ 5383,5383,5383,5383,5383,5383,5383,3970,3948,4058,
+ 4036,5402,5383,3904,1085,1261,5404,1139,3643,1217,
+ 5383,5405,5403,1051,5399,5400,5401,39,5066,5063,
+ 4786,2115,3926,3992,2749,5383,4014,1341,5647,5645,
+ 5654,5653,5649,5650,5648,5651,5652,5655,5646,5383,
+ 5383,5383,5383,5383,5383,5383,5383,5383,5383,5383,
+ 5383,5383,3970,3948,4058,4036,5402,5383,3904,1085,
+ 1261,5404,1139,3643,1217,5383,5405,5403,1051,5399,
+ 5400,5401,5383,5066,5063,5383,5421,5383,5383,5383,
+ 5383,5383,574,5647,5645,5654,5653,5649,5650,5648,
+ 5651,5652,5655,5646,5643,5718,5719,5383,5637,5644,
+ 5640,5616,5642,5641,5638,5639,5617,5383,5383,5383,
+ 5383,5383,5779,5383,5383,5383,5383,5383,5383,5383,
+ 5383,241,5205,5201,5383,5209,5383,5383,2322,5780,
+ 5781,574,5192,5198,5171,5174,5186,5183,5189,5180,
+ 5177,5168,5195,5147,5141,5138,5383,5165,5144,5156,
+ 5135,5150,5153,5162,5159,5132,128,5383,127,5383,
+ 5383,5779,29,385,385,5242,385,385,5242,385,
+ 5242,5242,5383,5383,5383,5383,5383,2322,5780,5781,
+ 5383,5383,5383,5383,385,385,385,5242,385,385,
+ 385,385,385,385,385,385,385,5383,5383,5383,
+ 5383,5383,5383,5383,5383,5383,5383,5383,5383,75,
+ 5383,2597,3069,2597,5383,5383,5383,5048,5383,5383,
+ 5383,5383,5383,5383,5245,5242,5248,5383,5383,5383,
+ 5383,5383,5383,5383,5383,5242,32,386,386,5239,
+ 386,386,5239,386,5239,5239,5445,5446,5383,5383,
+ 2525,2431,2525,2431,5383,5383,5383,5383,386,386,
+ 386,5239,386,386,386,386,386,386,386,386,
+ 386,5383,3472,5383,223,5383,5383,5383,5383,5383,
+ 5383,5383,5383,5383,5383,5647,5645,5654,5653,5649,
+ 5650,5648,5651,5652,5655,5646,5643,5718,5719,5239,
+ 5637,5644,5640,5616,5642,5641,5638,5639,5617,5239,
+ 5383,5383,5383,5383,580,5383,5383,5383,5383,5383,
+ 5383,5383,5383,5383,5383,5383,5383,5383,666
};
};
public final static char termAction[] = TermAction.termAction;
@@ -1815,60 +1795,60 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars
public interface Asb {
public final static char asb[] = {0,
- 60,15,8,1081,213,261,849,849,615,219,
- 849,219,1,1,179,223,213,219,417,320,
- 70,70,846,655,364,320,849,849,540,849,
- 70,219,1085,1020,727,323,320,179,423,912,
- 68,540,540,540,540,1083,68,163,263,180,
- 180,180,180,180,180,180,180,180,851,857,
- 862,859,866,864,871,869,873,872,874,367,
- 875,219,418,842,70,70,1081,1009,1020,912,
- 1020,268,1020,550,1020,1004,1083,219,364,364,
- 70,17,217,364,890,426,423,223,163,655,
- 655,655,655,219,733,320,320,311,163,915,
- 654,727,163,851,726,726,733,179,180,180,
- 180,180,180,180,180,180,180,180,180,180,
- 180,180,180,180,180,180,180,179,179,179,
- 179,179,179,179,179,179,179,179,179,180,
- 17,418,842,839,838,839,846,469,270,513,
- 271,1083,219,219,514,839,1085,219,179,223,
- 320,320,839,839,839,839,514,320,180,1081,
- 576,566,565,433,1027,1027,1083,263,364,654,
- 179,320,216,218,216,320,364,859,859,857,
- 857,857,864,864,864,864,862,862,869,866,
- 866,872,871,873,788,874,842,841,163,469,
- 219,911,130,518,514,912,524,219,514,219,
- 17,422,68,68,68,68,219,219,311,320,
- 578,580,219,727,180,655,855,276,320,219,
- 218,727,179,842,423,219,469,788,271,540,
- 516,123,778,469,911,519,911,911,514,524,
- 524,219,219,420,222,179,179,179,179,68,
- 68,320,570,558,569,580,514,217,320,855,
- 1081,1085,219,217,727,687,912,839,540,216,
- 910,780,68,911,911,911,911,219,524,423,
- 529,422,420,420,320,320,320,320,733,733,
- 831,179,567,567,574,1081,790,320,219,855,
- 856,855,179,276,128,851,1085,217,687,687,
- 25,485,217,911,911,213,895,180,788,10,
- 534,580,911,911,823,423,180,219,320,320,
- 831,179,179,578,558,831,1062,855,733,180,
- 364,128,896,423,776,958,409,68,271,996,
- 687,687,485,217,911,912,1083,780,180,180,
- 580,542,682,824,219,833,831,856,320,364,
- 24,409,776,546,1083,423,838,540,899,899,
- 896,912,143,542,219,68,320,823,219,1083,
- 1083,219,833,833,25,687,896,895,320,1083,
- 219,485,25,485,837,837,905,144,1083,219,
- 733,907,219,219,219,68,833,687,213,896,
- 219,219,485,655,655,905,143,788,180,788,
- 896,142,68,68,68,144,68,219,375,896,
- 896,219,912,320,907,219,219,581,423,219,
- 896,838,135,68,135,144,788,144,163,163,
- 161,556,163,896,896,13,905,909,319,896,
- 613,790,144,320,213,320,161,409,68,320,
- 905,909,655,899,320,320,1075,144,13,144,
- 896,409,179,144,141,837,912,912,1077,179,
- 142,733,896,320,216,144,320,896,144
+ 60,15,8,1074,211,258,843,843,610,217,
+ 843,217,1,1,178,221,211,217,412,317,
+ 70,70,840,650,360,317,843,843,535,843,
+ 70,217,1078,1013,722,320,317,178,418,906,
+ 68,535,535,535,535,1076,68,162,260,179,
+ 179,179,179,179,179,179,179,179,845,851,
+ 856,853,860,858,865,863,867,866,868,363,
+ 869,217,413,836,70,70,1074,1002,1013,906,
+ 1013,265,1013,545,1013,997,1076,217,360,360,
+ 70,17,215,360,884,421,418,221,162,650,
+ 650,650,650,217,728,317,317,308,162,909,
+ 649,722,162,845,721,721,728,178,179,179,
+ 179,179,179,179,179,179,179,179,179,179,
+ 179,179,179,179,179,179,179,178,178,178,
+ 178,178,178,178,178,178,178,178,178,179,
+ 17,413,836,833,832,833,840,464,267,508,
+ 268,1076,217,217,509,833,1078,217,178,221,
+ 317,317,833,833,833,833,509,317,179,1074,
+ 571,561,560,428,1020,1020,1076,260,360,649,
+ 178,317,214,216,214,317,360,853,853,851,
+ 851,851,858,858,858,858,856,856,863,860,
+ 860,866,865,867,782,868,836,835,162,464,
+ 217,905,129,513,509,906,519,217,509,217,
+ 17,417,68,68,68,68,217,217,308,317,
+ 573,575,217,722,179,650,849,273,317,217,
+ 216,722,178,836,418,217,464,782,268,535,
+ 511,122,772,464,905,514,905,905,509,519,
+ 519,217,217,415,220,178,178,178,178,68,
+ 68,317,565,553,564,575,509,215,317,849,
+ 1074,1078,217,215,722,682,906,833,535,214,
+ 904,774,68,905,905,905,905,217,519,418,
+ 524,417,415,415,317,317,317,317,728,728,
+ 825,178,562,562,569,1074,784,317,217,849,
+ 850,849,178,273,127,845,1078,215,682,682,
+ 25,480,215,905,905,211,889,179,782,10,
+ 529,575,905,905,817,418,179,217,317,317,
+ 825,178,178,573,553,825,1055,849,728,179,
+ 360,127,890,418,770,951,404,68,268,989,
+ 682,682,480,215,905,906,1076,774,179,179,
+ 575,537,677,818,217,827,825,850,317,360,
+ 24,404,770,541,1076,418,832,535,893,893,
+ 890,906,142,537,217,68,317,817,217,1076,
+ 1076,217,827,827,25,682,890,889,317,1076,
+ 217,480,25,480,831,831,899,143,1076,217,
+ 728,901,217,217,217,68,827,682,211,890,
+ 217,217,480,650,650,899,142,782,179,782,
+ 890,141,68,68,68,143,68,217,371,890,
+ 890,217,906,317,901,217,217,576,418,217,
+ 890,832,134,68,134,143,782,143,162,162,
+ 160,551,162,890,890,13,899,903,316,890,
+ 608,784,143,317,211,317,160,404,68,317,
+ 899,903,650,893,317,317,1068,143,13,143,
+ 890,404,178,143,140,831,906,906,1070,178,
+ 141,728,890,317,214,143,317,890,143
};
};
public final static char asb[] = Asb.asb;
@@ -1876,115 +1856,114 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars
public interface Asr {
public final static byte asr[] = {0,
- 75,69,73,91,74,68,64,121,3,8,
- 71,25,70,0,121,0,7,6,5,1,
- 2,48,0,68,40,23,13,57,27,14,
- 29,30,15,16,31,32,17,18,33,58,
- 34,10,59,19,22,20,24,21,12,11,
- 26,8,25,63,60,65,87,28,48,9,
- 6,5,7,61,1,2,4,3,0,26,
- 11,12,40,23,42,66,13,43,57,27,
- 28,44,14,29,30,15,16,31,67,32,
- 45,17,18,46,33,47,58,49,62,50,
- 34,51,59,19,22,20,24,21,52,53,
+ 74,68,72,90,73,67,63,120,3,8,
+ 70,25,69,0,120,0,7,6,5,1,
+ 2,48,0,67,40,23,13,56,27,14,
+ 29,30,15,16,31,32,17,18,33,57,
+ 34,10,58,19,22,20,24,21,12,11,
+ 26,8,25,62,59,64,86,28,48,9,
+ 6,5,7,60,1,2,4,3,0,26,
+ 11,12,40,23,42,65,13,43,56,27,
+ 28,44,14,29,30,15,16,31,66,32,
+ 45,17,18,46,33,47,57,49,61,50,
+ 34,51,58,19,22,20,24,21,52,53,
54,39,3,37,38,9,6,35,36,41,
- 69,56,7,1,2,4,10,5,0,4,
- 8,73,68,0,87,103,104,105,48,73,
- 119,122,72,61,75,63,60,65,77,79,
- 85,83,76,81,82,84,86,68,78,80,
- 25,8,26,40,23,57,27,28,29,30,
- 31,32,33,58,34,59,22,24,62,66,
- 67,10,43,47,45,42,51,12,21,11,
- 17,15,16,18,19,14,13,20,52,56,
- 53,54,39,50,44,49,37,38,35,36,
- 41,46,9,6,3,4,7,5,1,2,
- 0,72,62,37,38,9,6,35,36,41,
- 46,3,4,52,56,53,54,39,50,44,
- 49,12,21,11,17,15,16,18,19,14,
- 13,20,10,43,47,45,42,51,68,8,
- 7,5,1,2,67,66,0,48,4,73,
- 1,2,68,8,0,92,90,35,36,93,
- 94,88,89,55,95,96,97,98,99,100,
- 101,102,107,73,91,70,108,109,110,111,
- 112,113,114,115,116,117,118,72,25,121,
- 69,1,2,9,6,4,3,64,71,74,
- 8,0,66,67,3,10,43,47,45,42,
- 51,12,21,11,17,15,16,18,19,14,
- 13,20,52,56,53,54,39,50,44,49,
- 5,7,4,37,38,9,6,35,36,41,
- 46,1,2,118,8,0,69,73,91,71,
- 118,74,72,121,11,12,42,66,13,43,
- 44,14,15,16,67,45,17,18,46,47,
- 49,62,50,51,10,19,20,21,52,53,
- 54,39,37,38,35,36,41,56,8,25,
- 5,7,1,2,4,3,9,6,0,25,
- 121,71,8,72,0,8,73,118,74,25,
- 71,0,26,11,12,23,13,27,28,14,
- 29,30,15,16,31,7,32,17,18,33,
- 34,19,22,20,24,21,1,2,8,64,
- 9,6,5,4,74,25,3,0,87,60,
- 7,103,104,105,63,8,3,9,6,5,
- 73,72,25,61,26,11,12,40,23,13,
- 57,27,28,14,29,30,15,16,31,32,
- 17,18,33,58,34,10,59,19,22,20,
- 24,21,4,1,2,48,0,4,8,73,
- 68,55,0,1,2,8,72,0,8,71,
- 72,70,0,73,8,64,70,71,25,55,
- 0,8,68,71,0,8,68,70,0,4,
- 8,68,1,2,0,76,0,9,6,7,
- 5,4,1,2,3,64,69,70,71,8,
- 74,91,0,5,7,3,64,6,9,91,
- 26,11,12,23,13,57,27,28,14,29,
- 30,15,16,31,32,17,18,33,58,34,
- 10,59,19,22,20,24,21,1,2,4,
- 74,8,40,0,67,66,35,36,6,93,
- 94,99,9,100,5,41,70,55,69,111,
- 112,108,109,110,116,115,117,89,88,113,
- 114,97,98,95,96,101,102,37,38,71,
- 90,106,64,3,10,57,40,58,59,12,
+ 68,7,1,2,4,10,5,0,4,8,
+ 72,67,0,86,102,103,104,48,72,118,
+ 121,71,60,74,62,59,64,76,78,84,
+ 82,75,80,81,83,85,67,77,79,25,
+ 8,26,40,23,56,27,28,29,30,31,
+ 32,33,57,34,58,22,24,61,65,66,
+ 10,43,47,45,42,51,12,21,11,17,
+ 15,16,18,19,14,13,20,52,53,54,
+ 39,50,44,49,37,38,35,36,41,46,
+ 9,6,3,4,7,5,1,2,0,71,
+ 61,37,38,9,6,35,36,41,46,3,
+ 4,52,53,54,39,50,44,49,12,21,
+ 11,17,15,16,18,19,14,13,20,10,
+ 43,47,45,42,51,67,8,7,5,1,
+ 2,66,65,0,48,4,72,1,2,67,
+ 8,0,91,89,35,36,92,93,87,88,
+ 55,94,95,96,97,98,99,100,101,106,
+ 72,90,69,107,108,109,110,111,112,113,
+ 114,115,116,117,71,25,120,68,1,2,
+ 9,6,4,3,63,70,73,8,0,65,
+ 66,3,10,43,47,45,42,51,12,21,
+ 11,17,15,16,18,19,14,13,20,52,
+ 53,54,39,50,44,49,5,7,4,37,
+ 38,9,6,35,36,41,46,1,2,117,
+ 8,0,68,72,90,70,117,73,71,120,
+ 11,12,42,65,13,43,44,14,15,16,
+ 66,45,17,18,46,47,49,61,50,51,
+ 10,19,20,21,52,53,54,39,37,38,
+ 35,36,41,8,25,5,7,1,2,4,
+ 3,9,6,0,25,120,70,8,71,0,
+ 8,72,117,73,25,70,0,26,11,12,
+ 23,13,27,28,14,29,30,15,16,31,
+ 7,32,17,18,33,34,19,22,20,24,
+ 21,1,2,8,63,9,6,5,4,73,
+ 25,3,0,86,59,7,102,103,104,62,
+ 8,3,9,6,5,72,71,25,60,26,
+ 11,12,40,23,13,56,27,28,14,29,
+ 30,15,16,31,32,17,18,33,57,34,
+ 10,58,19,22,20,24,21,4,1,2,
+ 48,0,4,8,72,67,55,0,1,2,
+ 8,71,0,8,70,71,69,0,72,8,
+ 63,69,70,25,55,0,8,67,70,0,
+ 8,67,69,0,4,8,67,1,2,0,
+ 75,0,9,6,7,5,4,1,2,3,
+ 63,68,69,70,8,73,90,0,5,7,
+ 3,63,6,9,90,26,11,12,23,13,
+ 56,27,28,14,29,30,15,16,31,32,
+ 17,18,33,57,34,10,58,19,22,20,
+ 24,21,1,2,4,73,8,40,0,66,
+ 65,35,36,6,92,93,98,9,99,5,
+ 41,69,55,68,110,111,107,108,109,115,
+ 114,116,88,87,112,113,96,97,94,95,
+ 100,101,37,38,70,89,105,63,3,10,
+ 56,40,57,58,12,21,11,17,15,16,
+ 18,19,14,13,20,26,32,33,28,31,
+ 30,27,23,24,29,34,1,2,4,22,
+ 0,64,26,11,12,40,23,13,56,27,
+ 86,28,14,29,30,15,16,31,59,32,
+ 17,18,33,57,34,10,58,19,62,22,
+ 20,24,21,8,3,9,6,71,25,60,
+ 4,7,5,48,1,2,0,8,73,11,
+ 12,42,65,13,43,44,14,15,16,66,
+ 7,45,17,18,46,47,49,61,50,51,
+ 10,19,20,21,52,53,54,1,2,3,
+ 37,38,9,6,35,36,5,41,4,39,
+ 0,25,8,3,7,5,9,6,4,1,
+ 2,72,0,26,11,12,40,23,13,56,
+ 27,28,14,29,30,15,16,31,32,17,
+ 18,33,57,34,10,58,19,22,20,24,
+ 21,1,2,4,90,0,22,1,2,4,
+ 102,103,104,0,23,24,61,8,90,73,
+ 69,70,68,0,61,23,7,24,5,1,
+ 2,4,74,67,119,105,37,38,63,3,
+ 91,89,6,92,93,35,36,88,87,55,
+ 94,95,96,97,9,98,99,100,68,90,
+ 73,120,69,107,108,109,110,111,112,113,
+ 114,115,116,72,117,71,101,106,70,25,
+ 8,0,68,69,70,1,2,0,118,0,
+ 23,24,61,74,72,67,8,0,65,66,
+ 37,38,9,6,35,36,5,41,46,3,
+ 4,7,52,53,54,39,50,44,49,12,
21,11,17,15,16,18,19,14,13,20,
- 26,32,33,28,31,30,27,23,24,29,
- 34,1,2,4,22,0,65,26,11,12,
- 40,23,13,57,27,87,28,14,29,30,
- 15,16,31,60,32,17,18,33,58,34,
- 10,59,19,63,22,20,24,21,8,3,
- 9,6,72,25,61,4,7,5,48,1,
- 2,0,8,74,11,12,42,66,13,43,
- 44,14,15,16,67,7,45,17,18,46,
- 47,49,62,50,51,10,19,20,21,52,
- 53,54,1,2,3,37,38,9,6,35,
- 36,5,41,4,56,39,0,25,8,3,
- 7,5,9,6,4,1,2,73,0,26,
- 11,12,40,23,13,57,27,28,14,29,
- 30,15,16,31,32,17,18,33,58,34,
- 10,59,19,22,20,24,21,1,2,4,
- 91,0,22,1,2,4,103,104,105,0,
- 23,24,62,8,91,74,70,71,69,0,
- 62,23,7,24,5,1,2,4,75,68,
- 120,106,37,38,64,3,92,90,6,93,
- 94,35,36,89,88,55,95,96,97,98,
- 9,99,100,101,69,91,74,121,70,108,
- 109,110,111,112,113,114,115,116,117,73,
- 118,72,102,107,71,25,8,0,69,70,
- 71,1,2,0,119,0,23,24,62,75,
- 73,68,8,0,66,67,37,38,9,6,
- 35,36,5,41,46,3,4,7,52,56,
- 53,54,39,50,44,49,12,21,11,17,
- 15,16,18,19,14,13,20,10,43,47,
- 45,42,51,64,1,2,0,40,23,13,
- 57,27,14,29,30,15,16,31,32,17,
- 18,33,58,34,59,19,22,20,24,21,
- 12,11,26,8,3,9,6,25,63,65,
- 87,28,61,55,48,7,1,2,5,4,
- 10,60,0,10,57,40,58,59,12,21,
- 11,17,15,16,18,19,14,13,20,75,
- 73,91,118,72,68,121,120,92,106,90,
- 37,38,35,36,93,94,88,89,55,69,
- 95,96,97,98,99,100,101,102,107,70,
- 108,109,110,111,112,113,114,115,116,117,
- 71,26,23,27,28,29,30,31,32,33,
- 34,22,24,25,8,74,3,64,7,5,
- 9,6,1,2,4,0
+ 10,43,47,45,42,51,63,1,2,0,
+ 40,23,13,56,27,14,29,30,15,16,
+ 31,32,17,18,33,57,34,58,19,22,
+ 20,24,21,12,11,26,8,3,9,6,
+ 25,62,64,86,28,60,55,48,7,1,
+ 2,5,4,10,59,0,10,56,40,57,
+ 58,12,21,11,17,15,16,18,19,14,
+ 13,20,74,72,90,117,71,67,120,119,
+ 91,105,89,37,38,35,36,92,93,87,
+ 88,55,68,94,95,96,97,98,99,100,
+ 101,106,69,107,108,109,110,111,112,113,
+ 114,115,116,70,26,23,27,28,29,30,
+ 31,32,33,34,22,24,25,8,73,3,
+ 63,7,5,9,6,1,2,4,0
};
};
public final static byte asr[] = Asr.asr;
@@ -2093,14 +2072,14 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars
107,104,54,106,120,47,64,66,70,73,
76,83,89,98,11,12,7,8,112,53,
14,55,61,67,84,88,90,93,94,97,
- 99,109,110,111,19,123,63,91,101,77,
- 122,95,103,1,46,58,78,121,20,33,
- 44,119,30,118,96,108,49,50,56,57,
- 59,69,71,72,85,92,65,17,18,6,
- 32,4,15,16,21,22,23,24,25,26,
- 27,28,80,81,82,5,29,34,35,36,
- 37,38,39,40,41,42,43,117,51,3,
- 124,62,116
+ 99,109,110,111,19,63,91,101,77,122,
+ 95,103,1,46,58,78,121,20,33,44,
+ 119,30,118,96,108,49,50,56,57,59,
+ 69,71,72,85,92,65,17,18,6,32,
+ 4,15,16,21,22,23,24,25,26,27,
+ 28,80,81,82,5,29,34,35,36,37,
+ 38,39,40,41,42,43,117,51,3,123,
+ 62,116
};
};
public final static char terminalIndex[] = TerminalIndex.terminalIndex;
@@ -2108,26 +2087,26 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars
public interface NonterminalIndex {
public final static char nonterminalIndex[] = {0,
- 131,136,137,0,0,135,0,0,230,236,
- 134,0,144,133,0,0,143,149,0,0,
- 150,181,159,160,161,162,163,164,165,152,
- 166,127,167,142,168,169,0,129,132,130,
- 170,0,139,138,153,178,0,0,0,0,
- 0,0,0,0,146,173,205,0,0,156,
- 188,202,206,0,0,128,172,0,0,0,
- 0,0,0,176,207,0,0,0,0,0,
- 0,126,179,0,0,187,0,0,203,213,
- 158,209,210,211,0,0,147,0,0,208,
- 221,175,197,199,0,200,0,0,212,0,
- 0,0,0,241,242,0,148,180,190,191,
- 192,193,194,196,0,215,218,0,220,0,
- 239,0,240,0,0,140,141,145,0,0,
- 155,157,0,171,0,182,183,184,185,186,
- 189,0,0,195,0,198,204,0,0,216,
- 217,0,0,222,225,0,227,229,0,233,
- 234,235,238,125,0,151,154,0,174,0,
- 177,0,0,201,214,219,0,0,223,224,
- 226,228,0,231,232,237,243,244,0,0,
+ 130,135,136,0,0,134,0,0,229,235,
+ 133,0,143,132,0,0,142,148,0,0,
+ 149,180,158,159,160,161,162,163,164,151,
+ 165,126,166,141,167,168,0,128,131,129,
+ 169,0,138,137,152,177,0,0,0,0,
+ 0,0,0,0,145,172,204,0,0,155,
+ 187,201,205,0,0,127,171,0,0,0,
+ 0,0,0,175,206,0,0,0,0,0,
+ 0,125,178,0,0,186,0,0,202,212,
+ 157,208,209,210,0,0,146,0,0,207,
+ 220,174,196,198,0,199,0,0,211,0,
+ 0,0,0,240,241,0,147,179,189,190,
+ 191,192,193,195,0,214,217,0,219,0,
+ 238,0,239,0,0,139,140,144,0,0,
+ 154,156,0,170,0,181,182,183,184,185,
+ 188,0,0,194,0,197,203,0,0,215,
+ 216,0,0,221,224,0,226,228,0,232,
+ 233,234,237,124,0,150,153,0,173,0,
+ 176,0,0,200,213,218,0,0,222,223,
+ 225,227,0,230,231,236,242,243,0,0,
0,0
};
};
@@ -2193,18 +2172,18 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars
public interface ScopeLa {
public final static byte scopeLa[] = {
- 119,74,74,72,74,74,74,74,74,72,
- 25,72,72,1,69,1,74,122,68,3,
- 74,69,69,69,1,1,25,72,68,72,
- 1,1,1,72,1,1,4,69,71,25,
- 1,1,69,74,74,74,119,74,1,25,
- 1,25,25,72,118,74,74,74,74,74,
- 118,1,74,1,74,74,74,73,4,6,
- 1,1,74,69,69,69,69,74,3,1,
- 1,74,74,3,1,118,74,1,1,1,
- 25,74,118,74,5,74,1,48,70,73,
- 74,1,48,76,75,25,25,4,4,4,
- 4,3,1,68,1,1,3
+ 118,73,73,71,73,73,73,73,73,71,
+ 25,71,71,1,68,1,73,121,67,3,
+ 73,68,68,68,1,1,25,71,67,71,
+ 1,1,1,71,1,1,4,68,70,25,
+ 1,1,68,73,73,73,118,73,1,25,
+ 1,25,25,71,117,73,73,73,73,73,
+ 117,1,73,1,73,73,73,72,4,6,
+ 1,1,73,68,68,68,68,73,3,1,
+ 1,73,73,3,1,117,73,1,1,1,
+ 25,73,117,73,5,73,1,48,69,72,
+ 73,1,48,75,74,25,25,4,4,4,
+ 4,3,1,67,1,1,3
};
};
public final static byte scopeLa[] = ScopeLa.scopeLa;
@@ -2231,71 +2210,71 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars
public interface ScopeRhs {
public final static char scopeRhs[] = {0,
- 321,3,62,0,127,0,320,3,119,0,
- 127,173,0,127,179,75,0,217,0,253,
- 127,55,125,0,20,0,296,127,55,48,
- 0,20,53,0,33,133,0,20,53,0,
- 0,296,127,55,48,204,0,20,179,0,
- 253,127,55,133,0,182,128,0,142,0,
- 219,3,295,0,295,0,2,0,127,0,
- 253,127,55,132,0,182,128,224,0,182,
- 128,22,224,0,182,128,316,22,0,129,
- 187,167,128,0,129,0,187,167,128,0,
- 135,129,0,171,0,312,127,171,0,127,
- 171,0,223,129,0,167,311,246,0,137,
- 0,0,0,0,136,0,0,0,0,310,
- 127,163,252,0,128,0,252,0,130,0,
- 0,128,0,309,127,163,251,0,128,0,
- 0,44,128,0,0,153,3,0,127,283,
- 282,127,75,280,171,0,282,127,75,280,
- 171,0,216,0,217,0,280,171,0,96,
- 0,0,216,0,217,0,204,96,0,0,
- 216,0,217,0,282,127,280,171,0,216,
- 0,204,0,0,216,0,230,127,3,0,
- 127,0,0,0,0,0,230,127,3,216,
- 0,223,3,0,212,127,0,209,0,147,
- 0,177,167,128,0,10,0,0,0,214,
- 64,0,126,0,230,127,3,180,0,180,
- 0,2,0,0,127,0,0,0,0,0,
- 197,3,0,202,0,239,127,163,39,28,
- 0,182,128,60,63,0,197,129,0,129,
- 182,128,278,63,0,182,128,278,63,0,
- 182,128,70,124,60,0,239,127,163,60,
- 0,239,127,163,226,60,0,276,127,163,
- 124,306,57,0,276,127,163,306,57,0,
- 182,128,275,57,0,136,0,187,182,128,
- 275,246,0,137,0,182,128,275,246,0,
- 187,167,128,10,0,167,128,10,0,167,
- 128,0,93,137,0,268,127,145,0,268,
- 127,171,0,162,85,0,301,161,303,304,
- 3,82,0,127,172,0,303,304,3,82,
- 0,129,0,127,172,0,162,3,76,190,
- 81,0,127,129,0,190,81,0,108,2,
- 132,127,129,0,225,3,76,0,197,168,
- 0,33,170,0,168,0,176,33,170,0,
- 225,3,86,0,190,155,225,3,84,0,
- 62,172,0,225,3,84,0,127,172,62,
- 172,0,302,127,163,0,162,0,214,78,
- 0,30,172,0,162,107,159,0,30,170,
- 0,178,3,0,127,150,0,219,3,0,
- 214,64,265,0,162,64,0,178,3,298,
- 67,128,0,127,0,0,0,0,298,67,
- 128,0,2,146,127,0,0,0,0,178,
- 3,46,0,148,0,126,48,167,128,0,
- 31,148,0,93,137,31,148,0,220,182,
- 128,0,147,31,148,0,178,3,51,0,
- 162,3,51,0,162,3,69,178,55,42,
- 0,178,55,42,0,20,2,132,127,0,
- 162,3,69,178,55,45,0,178,55,45,
- 0,162,3,69,178,55,47,0,178,55,
- 47,0,162,3,69,178,55,43,0,178,
- 55,43,0,219,3,126,187,167,128,10,
- 0,126,187,167,128,10,0,137,2,0,
- 127,0,219,3,125,258,167,128,10,0,
- 258,167,128,10,0,136,2,0,127,0,
- 219,3,136,0,219,3,140,0,162,64,
- 140,0,260,0,31,0,31,140,0,166,
- 0,135,0,162,3,0
+ 320,3,61,0,126,0,319,3,118,0,
+ 126,172,0,126,178,74,0,216,0,252,
+ 126,55,124,0,20,0,295,126,55,48,
+ 0,20,53,0,33,132,0,20,53,0,
+ 0,295,126,55,48,203,0,20,178,0,
+ 252,126,55,132,0,181,127,0,141,0,
+ 218,3,294,0,294,0,2,0,126,0,
+ 252,126,55,131,0,181,127,223,0,181,
+ 127,22,223,0,181,127,315,22,0,128,
+ 186,166,127,0,128,0,186,166,127,0,
+ 134,128,0,170,0,311,126,170,0,126,
+ 170,0,222,128,0,166,310,245,0,136,
+ 0,0,0,0,135,0,0,0,0,309,
+ 126,162,251,0,127,0,251,0,129,0,
+ 0,127,0,308,126,162,250,0,127,0,
+ 0,44,127,0,0,152,3,0,126,282,
+ 281,126,74,279,170,0,281,126,74,279,
+ 170,0,215,0,216,0,279,170,0,96,
+ 0,0,215,0,216,0,203,96,0,0,
+ 215,0,216,0,281,126,279,170,0,215,
+ 0,203,0,0,215,0,229,126,3,0,
+ 126,0,0,0,0,0,229,126,3,215,
+ 0,222,3,0,211,126,0,208,0,146,
+ 0,176,166,127,0,10,0,0,0,213,
+ 63,0,125,0,229,126,3,179,0,179,
+ 0,2,0,0,126,0,0,0,0,0,
+ 196,3,0,201,0,238,126,162,39,28,
+ 0,181,127,59,62,0,196,128,0,128,
+ 181,127,277,62,0,181,127,277,62,0,
+ 181,127,69,123,59,0,238,126,162,59,
+ 0,238,126,162,225,59,0,275,126,162,
+ 123,305,56,0,275,126,162,305,56,0,
+ 181,127,274,56,0,135,0,186,181,127,
+ 274,245,0,136,0,181,127,274,245,0,
+ 186,166,127,10,0,166,127,10,0,166,
+ 127,0,93,136,0,267,126,144,0,267,
+ 126,170,0,161,84,0,300,160,302,303,
+ 3,81,0,126,171,0,302,303,3,81,
+ 0,128,0,126,171,0,161,3,75,189,
+ 80,0,126,128,0,189,80,0,108,2,
+ 131,126,128,0,224,3,75,0,196,167,
+ 0,33,169,0,167,0,175,33,169,0,
+ 224,3,85,0,189,154,224,3,83,0,
+ 62,171,0,224,3,83,0,126,171,62,
+ 171,0,301,126,162,0,161,0,213,77,
+ 0,30,171,0,161,106,158,0,30,169,
+ 0,177,3,0,126,149,0,218,3,0,
+ 213,63,264,0,161,63,0,177,3,297,
+ 66,127,0,126,0,0,0,0,297,66,
+ 127,0,2,145,126,0,0,0,0,177,
+ 3,46,0,147,0,125,48,166,127,0,
+ 31,147,0,93,136,31,147,0,219,181,
+ 127,0,146,31,147,0,177,3,51,0,
+ 161,3,51,0,161,3,68,177,55,42,
+ 0,177,55,42,0,20,2,131,126,0,
+ 161,3,68,177,55,45,0,177,55,45,
+ 0,161,3,68,177,55,47,0,177,55,
+ 47,0,161,3,68,177,55,43,0,177,
+ 55,43,0,218,3,125,186,166,127,10,
+ 0,125,186,166,127,10,0,136,2,0,
+ 126,0,218,3,124,257,166,127,10,0,
+ 257,166,127,10,0,135,2,0,126,0,
+ 218,3,135,0,218,3,139,0,161,63,
+ 139,0,259,0,31,0,31,139,0,165,
+ 0,134,0,161,3,0
};
};
public final static char scopeRhs[] = ScopeRhs.scopeRhs;
@@ -2303,38 +2282,38 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars
public interface ScopeState {
public final static char scopeState[] = {0,
- 4709,4918,4894,4884,0,1008,2696,1000,2121,0,
- 3448,3394,3254,3200,3146,3092,3038,2984,2930,2793,
- 2731,4461,0,1256,1127,810,0,2684,2509,0,
- 3448,3394,3415,2872,3254,3200,3146,3092,3038,2984,
- 1125,2930,2793,2731,4294,3127,0,3113,2989,3039,
- 0,4223,3283,0,2645,2602,0,2569,999,0,
- 4504,2915,0,4589,4441,0,4589,4441,3786,4337,
- 4327,3776,4317,4235,4222,3766,0,4589,4441,3786,
- 4337,4327,3776,4317,4235,4222,3766,3448,3394,3254,
- 3200,3146,3092,3038,2984,2930,2793,2731,0,667,
- 581,0,682,0,801,732,0,537,4437,2816,
- 0,2037,804,661,541,3547,2732,3328,2665,2625,
- 3313,2971,0,4780,4776,4763,4727,4716,4703,4698,
- 4681,4900,4876,4865,4677,4651,4616,4612,4861,2712,
- 4847,3738,3366,4793,2906,2690,0,2419,3547,4531,
- 4538,3015,3177,2647,723,4236,2732,3118,737,871,
- 2459,735,0,671,0,4504,3547,4538,2915,2459,
- 3328,3561,4567,4204,2419,4191,2665,2647,2625,4423,
- 3574,0,3377,3370,4780,4776,4763,3261,2660,4727,
- 2484,4716,4703,4698,4681,3799,3791,3668,3505,3296,
- 2773,4900,3007,4876,4865,2565,2502,4677,4651,927,
- 4616,4612,3016,3277,4861,2712,4847,3738,4437,3366,
- 4793,3223,2816,2906,2690,626,2553,2488,2203,2116,
- 806,3328,3561,4567,4204,2419,4191,4504,3547,4538,
- 2665,2647,2625,2915,2288,940,667,581,2459,4423,
- 3574,3644,4169,4147,2252,1186,2333,2301,2391,2363,
- 594,2873,630,2598,2571,2526,2432,3744,3713,3681,
- 3522,3341,4125,4103,4081,4059,4037,4015,3993,3971,
- 3949,3927,3905,1997,2214,2165,2127,2078,1308,1265,
- 2040,1048,1222,1954,881,1911,1868,1825,1782,1739,
- 1696,1653,1610,1567,1524,1481,1438,537,825,745,
- 689,1394,1143,1351,1004,961,1093,0
+ 4708,4917,4893,4883,0,1007,2695,999,2120,0,
+ 3447,3393,3253,3199,3145,3091,3037,2983,2929,2792,
+ 2730,4460,0,1255,1126,809,0,2683,2508,0,
+ 3447,3393,3414,2871,3253,3199,3145,3091,3037,2983,
+ 1124,2929,2792,2730,4293,3126,0,3112,2988,3038,
+ 0,4222,3282,0,2644,2601,0,2568,998,0,
+ 4503,2914,0,4588,4440,0,4588,4440,3785,4336,
+ 4326,3775,4316,4234,4221,3765,0,4588,4440,3785,
+ 4336,4326,3775,4316,4234,4221,3765,3447,3393,3253,
+ 3199,3145,3091,3037,2983,2929,2792,2730,0,666,
+ 580,0,681,0,800,731,0,536,4436,2815,
+ 0,2036,803,660,540,3546,2731,3327,2664,2624,
+ 3312,2970,0,4779,4775,4762,4726,4715,4702,4697,
+ 4680,4899,4875,4864,4676,4650,4615,4611,4860,2711,
+ 4846,3737,3365,4792,2905,2689,0,2418,3546,4530,
+ 4537,3014,3176,2646,722,4235,2731,3117,736,870,
+ 2458,734,0,670,0,4503,3546,4537,2914,2458,
+ 3327,3560,4566,4203,2418,4190,2664,2646,2624,4422,
+ 3573,0,3376,3369,4779,4775,4762,3260,2659,4726,
+ 2483,4715,4702,4697,4680,3798,3790,3667,3504,3295,
+ 2772,4899,3006,4875,4864,2564,2501,4676,4650,926,
+ 4615,4611,3015,3276,4860,2711,4846,3737,4436,3365,
+ 4792,3222,2815,2905,2689,625,2552,2487,2202,2115,
+ 805,3327,3560,4566,4203,2418,4190,4503,3546,4537,
+ 2664,2646,2624,2914,2287,939,666,580,2458,4422,
+ 3573,3643,4168,4146,2251,1185,2332,2300,2390,2362,
+ 593,2872,629,2597,2570,2525,2431,3743,3712,3680,
+ 3521,3340,4124,4102,4080,4058,4036,4014,3992,3970,
+ 3948,3926,3904,1996,2213,2164,2126,2077,1307,1264,
+ 2039,1047,1221,1953,880,1910,1867,1824,1781,1738,
+ 1695,1652,1609,1566,1523,1480,1437,536,824,744,
+ 688,1393,1142,1350,1003,960,1092,0
};
};
public final static char scopeState[] = ScopeState.scopeState;
@@ -2342,60 +2321,60 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars
public interface InSymb {
public final static char inSymb[] = {0,
- 0,297,229,127,3,4,133,132,7,5,
- 125,128,186,180,3,70,212,128,177,197,
- 55,55,168,127,64,3,66,67,125,124,
- 55,182,166,125,167,64,153,127,163,251,
- 51,42,45,47,43,10,136,3,128,46,
- 41,5,36,35,6,9,38,37,140,146,
- 148,147,150,149,152,151,156,154,158,62,
- 159,128,167,6,127,127,127,269,270,252,
- 271,246,272,57,273,274,10,128,64,64,
- 127,4,187,214,159,267,127,163,3,55,
- 55,55,55,128,3,178,162,168,127,66,
- 67,167,3,126,106,120,3,64,90,92,
- 36,35,94,93,6,96,95,69,55,88,
- 89,9,98,97,100,99,101,117,116,115,
- 114,113,112,111,110,109,108,70,107,102,
- 167,177,127,253,256,253,212,163,311,275,
- 306,275,128,182,167,253,260,187,71,127,
- 178,162,178,178,178,178,167,219,155,127,
- 3,217,216,136,126,125,10,128,64,298,
- 3,178,48,128,48,219,162,147,147,146,
- 146,146,149,149,149,149,148,148,151,150,
- 150,154,152,156,162,158,6,184,71,127,
- 167,233,126,125,128,124,163,128,167,48,
- 4,309,69,69,69,69,187,258,212,223,
- 127,3,128,167,205,3,299,168,153,128,
- 182,167,73,127,310,128,169,224,60,48,
- 204,63,171,313,126,125,234,234,182,163,
- 127,182,187,189,71,3,3,3,3,126,
- 125,230,231,145,232,127,167,48,178,127,
- 127,220,5,48,167,163,226,55,48,278,
- 280,127,180,234,234,127,127,187,127,276,
- 124,277,189,8,162,162,162,162,3,3,
- 155,70,223,197,3,127,71,230,187,155,
- 262,265,64,183,4,124,126,187,127,163,
- 69,55,128,75,127,212,312,73,290,197,
- 125,3,127,127,73,276,70,71,219,219,
- 127,70,70,127,212,155,126,127,3,64,
- 162,4,129,239,28,48,171,65,60,63,
- 241,127,127,182,127,282,73,71,73,70,
- 127,315,224,22,128,221,127,262,219,214,
- 39,127,3,124,60,239,296,48,10,40,
- 129,282,163,294,128,295,230,71,128,22,
- 316,182,127,221,127,163,268,279,39,70,
- 128,71,69,55,233,233,283,127,71,182,
- 3,155,182,128,128,62,127,127,71,155,
- 128,182,127,70,70,127,302,80,78,1,
- 162,8,86,84,82,81,76,83,85,79,
- 77,60,75,219,127,182,182,3,239,182,
- 226,296,284,119,8,73,214,73,3,3,
- 3,190,3,124,162,124,179,221,321,226,
- 69,3,73,225,168,225,304,145,76,225,
- 127,127,71,40,91,320,168,155,197,155,
- 303,127,3,155,284,233,155,155,127,70,
- 190,161,268,162,70,122,301,155,155
+ 0,296,228,126,3,4,132,131,7,5,
+ 124,127,185,179,3,69,211,127,176,196,
+ 55,55,167,126,63,3,65,66,124,123,
+ 55,181,165,124,166,63,152,126,162,250,
+ 51,42,45,47,43,10,135,3,127,46,
+ 41,5,36,35,6,9,38,37,139,145,
+ 147,146,149,148,151,150,155,153,157,61,
+ 158,127,166,6,126,126,126,268,269,251,
+ 270,245,271,56,272,273,10,127,63,63,
+ 126,4,186,213,158,266,126,162,3,55,
+ 55,55,55,127,3,177,161,167,126,65,
+ 66,166,3,125,105,119,3,63,89,91,
+ 36,35,93,92,6,95,94,68,55,87,
+ 88,9,97,96,99,98,100,116,115,114,
+ 113,112,111,110,109,108,107,69,106,101,
+ 166,176,126,252,255,252,211,162,310,274,
+ 305,274,127,181,166,252,259,186,70,126,
+ 177,161,177,177,177,177,166,218,154,126,
+ 3,216,215,135,125,124,10,127,63,297,
+ 3,177,48,127,48,218,161,146,146,145,
+ 145,145,148,148,148,148,147,147,150,149,
+ 149,153,151,155,161,157,6,183,70,126,
+ 166,232,125,124,127,123,162,127,166,48,
+ 4,308,68,68,68,68,186,257,211,222,
+ 126,3,127,166,204,3,298,167,152,127,
+ 181,166,72,126,309,127,168,223,59,48,
+ 203,62,170,312,125,124,233,233,181,162,
+ 126,181,186,188,70,3,3,3,3,125,
+ 124,229,230,144,231,126,166,48,177,126,
+ 126,219,5,48,166,162,225,55,48,277,
+ 279,126,179,233,233,126,126,186,126,275,
+ 123,276,188,8,161,161,161,161,3,3,
+ 154,69,222,196,3,126,70,229,186,154,
+ 261,264,63,182,4,123,125,186,126,162,
+ 68,55,127,74,126,211,311,72,289,196,
+ 124,3,126,126,72,275,69,70,218,218,
+ 126,69,69,126,211,154,125,126,3,63,
+ 161,4,128,238,28,48,170,64,59,62,
+ 240,126,126,181,126,281,72,70,72,69,
+ 126,314,223,22,127,220,126,261,218,213,
+ 39,126,3,123,59,238,295,48,10,40,
+ 128,281,162,293,127,294,229,70,127,22,
+ 315,181,126,220,126,162,267,278,39,69,
+ 127,70,68,55,232,232,282,126,70,181,
+ 3,154,181,127,127,61,126,126,70,154,
+ 127,181,126,69,69,126,301,79,77,1,
+ 161,8,85,83,81,80,75,82,84,78,
+ 76,59,74,218,126,181,181,3,238,181,
+ 225,295,283,118,8,72,213,72,3,3,
+ 3,189,3,123,161,123,178,220,320,225,
+ 68,3,72,224,167,224,303,144,75,224,
+ 126,126,70,40,90,319,167,154,196,154,
+ 302,126,3,154,283,232,154,154,126,69,
+ 189,160,267,161,69,121,300,154,154
};
};
public final static char inSymb[] = InSymb.inSymb;
@@ -2526,7 +2505,6 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars
"SemiColon",
"LeftBrace",
"ERROR_TOKEN",
- "0",
"EOF_TOKEN",
"no_function_declarator_start",
"]",
@@ -2660,7 +2638,7 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars
public final String name(int index) { return name[index]; }
public final static int
- ERROR_SYMBOL = 61,
+ ERROR_SYMBOL = 60,
SCOPE_UBOUND = 116,
SCOPE_SIZE = 117,
MAX_NAME_LENGTH = 37;
@@ -2672,19 +2650,19 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars
public final static int
NUM_STATES = 539,
- NT_OFFSET = 123,
- LA_STATE_OFFSET = 5920,
+ NT_OFFSET = 122,
+ LA_STATE_OFFSET = 5918,
MAX_LA = 2147483647,
- NUM_RULES = 536,
+ NUM_RULES = 535,
NUM_NONTERMINALS = 202,
- NUM_SYMBOLS = 325,
+ NUM_SYMBOLS = 324,
SEGMENT_SIZE = 8192,
- START_STATE = 3574,
+ START_STATE = 3573,
IDENTIFIER_SYMBOL = 0,
- EOFT_SYMBOL = 121,
- EOLT_SYMBOL = 121,
- ACCEPT_ACTION = 5022,
- ERROR_ACTION = 5384;
+ EOFT_SYMBOL = 120,
+ EOLT_SYMBOL = 120,
+ ACCEPT_ACTION = 5021,
+ ERROR_ACTION = 5383;
public final static boolean BACKTRACK = true;
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParsersym.java
index 09e123a5dbf..8bc901613bd 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParsersym.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParsersym.java
@@ -15,69 +15,69 @@ package org.eclipse.cdt.internal.core.dom.lrparser.cpp;
public interface CPPNoFunctionDeclaratorParsersym {
public final static int
- TK_asm = 65,
+ TK_asm = 64,
TK_auto = 26,
TK_bool = 11,
- TK_break = 77,
- TK_case = 78,
- TK_catch = 119,
+ TK_break = 76,
+ TK_case = 77,
+ TK_catch = 118,
TK_char = 12,
TK_class = 40,
TK_const = 23,
TK_const_cast = 42,
- TK_continue = 79,
- TK_default = 80,
- TK_delete = 66,
- TK_do = 81,
+ TK_continue = 78,
+ TK_default = 79,
+ TK_delete = 65,
+ TK_do = 80,
TK_double = 13,
TK_dynamic_cast = 43,
- TK_else = 122,
- TK_enum = 57,
+ TK_else = 121,
+ TK_enum = 56,
TK_explicit = 27,
- TK_export = 87,
+ TK_export = 86,
TK_extern = 28,
TK_false = 44,
TK_float = 14,
- TK_for = 82,
+ TK_for = 81,
TK_friend = 29,
- TK_goto = 83,
- TK_if = 84,
+ TK_goto = 82,
+ TK_if = 83,
TK_inline = 30,
TK_int = 15,
TK_long = 16,
TK_mutable = 31,
- TK_namespace = 60,
- TK_new = 67,
+ TK_namespace = 59,
+ TK_new = 66,
TK_operator = 7,
- TK_private = 103,
- TK_protected = 104,
- TK_public = 105,
+ TK_private = 102,
+ TK_protected = 103,
+ TK_public = 104,
TK_register = 32,
TK_reinterpret_cast = 45,
- TK_return = 85,
+ TK_return = 84,
TK_short = 17,
TK_signed = 18,
TK_sizeof = 46,
TK_static = 33,
TK_static_cast = 47,
- TK_struct = 58,
- TK_switch = 86,
+ TK_struct = 57,
+ TK_switch = 85,
TK_template = 48,
TK_this = 49,
- TK_throw = 62,
- TK_try = 75,
+ TK_throw = 61,
+ TK_try = 74,
TK_true = 50,
TK_typedef = 34,
TK_typeid = 51,
TK_typename = 10,
- TK_union = 59,
+ TK_union = 58,
TK_unsigned = 19,
- TK_using = 63,
+ TK_using = 62,
TK_virtual = 22,
TK_void = 20,
TK_volatile = 24,
TK_wchar_t = 21,
- TK_while = 76,
+ TK_while = 75,
TK_integer = 52,
TK_floating = 53,
TK_charconst = 54,
@@ -85,13 +85,13 @@ public interface CPPNoFunctionDeclaratorParsersym {
TK_identifier = 1,
TK_Completion = 2,
TK_EndOfCompletion = 8,
- TK_Invalid = 123,
- TK_LeftBracket = 64,
+ TK_Invalid = 122,
+ TK_LeftBracket = 63,
TK_LeftParen = 3,
- TK_Dot = 120,
- TK_DotStar = 92,
- TK_Arrow = 106,
- TK_ArrowStar = 90,
+ TK_Dot = 119,
+ TK_DotStar = 91,
+ TK_Arrow = 105,
+ TK_ArrowStar = 89,
TK_PlusPlus = 37,
TK_MinusMinus = 38,
TK_And = 9,
@@ -100,44 +100,43 @@ public interface CPPNoFunctionDeclaratorParsersym {
TK_Minus = 36,
TK_Tilde = 5,
TK_Bang = 41,
- TK_Slash = 93,
- TK_Percent = 94,
- TK_RightShift = 88,
- TK_LeftShift = 89,
+ TK_Slash = 92,
+ TK_Percent = 93,
+ TK_RightShift = 87,
+ TK_LeftShift = 88,
TK_LT = 55,
- TK_GT = 69,
- TK_LE = 95,
- TK_GE = 96,
- TK_EQ = 97,
- TK_NE = 98,
- TK_Caret = 99,
- TK_Or = 100,
- TK_AndAnd = 101,
- TK_OrOr = 102,
- TK_Question = 107,
- TK_Colon = 73,
+ TK_GT = 68,
+ TK_LE = 94,
+ TK_GE = 95,
+ TK_EQ = 96,
+ TK_NE = 97,
+ TK_Caret = 98,
+ TK_Or = 99,
+ TK_AndAnd = 100,
+ TK_OrOr = 101,
+ TK_Question = 106,
+ TK_Colon = 72,
TK_ColonColon = 4,
- TK_DotDotDot = 91,
- TK_Assign = 70,
- TK_StarAssign = 108,
- TK_SlashAssign = 109,
- TK_PercentAssign = 110,
- TK_PlusAssign = 111,
- TK_MinusAssign = 112,
- TK_RightShiftAssign = 113,
- TK_LeftShiftAssign = 114,
- TK_AndAssign = 115,
- TK_CaretAssign = 116,
- TK_OrAssign = 117,
- TK_Comma = 71,
- TK_RightBracket = 118,
- TK_RightParen = 74,
- TK_RightBrace = 72,
+ TK_DotDotDot = 90,
+ TK_Assign = 69,
+ TK_StarAssign = 107,
+ TK_SlashAssign = 108,
+ TK_PercentAssign = 109,
+ TK_PlusAssign = 110,
+ TK_MinusAssign = 111,
+ TK_RightShiftAssign = 112,
+ TK_LeftShiftAssign = 113,
+ TK_AndAssign = 114,
+ TK_CaretAssign = 115,
+ TK_OrAssign = 116,
+ TK_Comma = 70,
+ TK_RightBracket = 117,
+ TK_RightParen = 73,
+ TK_RightBrace = 71,
TK_SemiColon = 25,
- TK_LeftBrace = 68,
- TK_ERROR_TOKEN = 61,
- TK_0 = 56,
- TK_EOF_TOKEN = 121;
+ TK_LeftBrace = 67,
+ TK_ERROR_TOKEN = 60,
+ TK_EOF_TOKEN = 120;
public final static String orderedTerminalSymbols[] = {
"",
@@ -196,7 +195,6 @@ public interface CPPNoFunctionDeclaratorParsersym {
"floating",
"charconst",
"LT",
- "0",
"enum",
"struct",
"union",
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParser.java
index 8d5a94fc2fa..37fceff4298 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParser.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParser.java
@@ -28,6 +28,7 @@ import org.eclipse.cdt.core.dom.lrparser.action.TokenMap;
import org.eclipse.cdt.core.dom.ast.cpp.*;
import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPNodeFactory;
import org.eclipse.cdt.core.dom.lrparser.action.cpp.CPPBuildASTParserAction;
+import org.eclipse.cdt.core.dom.lrparser.action.cpp.CPPSecondaryParserFactory;
public class CPPParser extends PrsStream implements RuleAction , IParserActionTokenProvider, IParser
{
@@ -173,7 +174,7 @@ public CPPParser() { // constructor
}
private void initActions(IASTTranslationUnit tu, Set<IParser.Options> options) {
- action = new CPPBuildASTParserAction ( CPPNodeFactory.getDefault() , this, tu, astStack);
+ action = new CPPBuildASTParserAction (this, tu, astStack, CPPNodeFactory.getDefault() , CPPSecondaryParserFactory.getDefault() );
action.setParserOptions(options);
@@ -235,8 +236,8 @@ public void setTokens(List<IToken> tokens) {
addToken(new Token(null, 0, 0, CPPParsersym.TK_EOF_TOKEN));
}
-public CPPParser(String[] mapFrom) { // constructor
- tokenMap = new TokenMap(CPPParsersym.orderedTerminalSymbols, mapFrom);
+public CPPParser(IParserActionTokenProvider parser) { // constructor
+ tokenMap = new TokenMap(CPPParsersym.orderedTerminalSymbols, parser.getOrderedTerminalSymbols());
}
@@ -271,1707 +272,1701 @@ public CPPParser(String[] mapFrom) { // constructor
}
//
- // Rule 17: literal ::= 0
+ // Rule 17: literal ::= floating
//
- case 17: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_integer_constant); break;
+ case 17: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_float_constant); break;
}
//
- // Rule 18: literal ::= floating
+ // Rule 18: literal ::= charconst
//
- case 18: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_float_constant); break;
+ case 18: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_char_constant); break;
}
//
- // Rule 19: literal ::= charconst
+ // Rule 19: literal ::= stringlit
//
- case 19: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_char_constant); break;
+ case 19: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_string_literal); break;
}
//
- // Rule 20: literal ::= stringlit
+ // Rule 20: literal ::= true
//
- case 20: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_string_literal); break;
+ case 20: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_true); break;
}
//
- // Rule 21: literal ::= true
+ // Rule 21: literal ::= false
//
- case 21: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_true); break;
+ case 21: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_false); break;
}
//
- // Rule 22: literal ::= false
+ // Rule 22: literal ::= this
//
- case 22: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_false); break;
+ case 22: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_this); break;
}
//
- // Rule 23: literal ::= this
+ // Rule 24: primary_expression ::= ( expression )
//
- case 23: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_this); break;
+ case 24: { action. consumeExpressionBracketed(); break;
}
//
- // Rule 25: primary_expression ::= ( expression )
+ // Rule 26: id_expression ::= qualified_or_unqualified_name
//
- case 25: { action. consumeExpressionBracketed(); break;
+ case 26: { action. consumeExpressionName(); break;
}
//
- // Rule 27: id_expression ::= qualified_or_unqualified_name
+ // Rule 33: unqualified_id_name ::= ~ identifier_token
//
- case 27: { action. consumeExpressionName(); break;
+ case 33: { action. consumeDestructorName(); break;
}
//
- // Rule 34: unqualified_id_name ::= ~ identifier_token
+ // Rule 34: unqualified_id_name ::= ~ template_id_name
//
- case 34: { action. consumeDestructorName(); break;
+ case 34: { action. consumeDestructorNameTemplateId(); break;
}
//
- // Rule 35: unqualified_id_name ::= ~ template_id_name
+ // Rule 35: identifier_name ::= identifier_token
//
- case 35: { action. consumeDestructorNameTemplateId(); break;
+ case 35: { action. consumeIdentifierName(); break;
}
//
- // Rule 36: identifier_name ::= identifier_token
+ // Rule 36: template_opt ::= template
//
- case 36: { action. consumeIdentifierName(); break;
+ case 36: { action. consumePlaceHolder(); break;
}
//
- // Rule 37: template_opt ::= template
+ // Rule 37: template_opt ::= $Empty
//
- case 37: { action. consumePlaceHolder(); break;
+ case 37: { action. consumeEmpty(); break;
}
//
- // Rule 38: template_opt ::= $Empty
+ // Rule 38: dcolon_opt ::= ::
//
- case 38: { action. consumeEmpty(); break;
+ case 38: { action. consumeToken(); break;
}
//
- // Rule 39: dcolon_opt ::= ::
+ // Rule 39: dcolon_opt ::= $Empty
//
- case 39: { action. consumeToken(); break;
+ case 39: { action. consumeEmpty(); break;
}
//
- // Rule 40: dcolon_opt ::= $Empty
+ // Rule 40: qualified_id_name ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name
//
- case 40: { action. consumeEmpty(); break;
+ case 40: { action. consumeQualifiedId(true); break;
}
//
- // Rule 41: qualified_id_name ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name
+ // Rule 41: qualified_id_name ::= :: unqualified_id_name
//
- case 41: { action. consumeQualifiedId(true); break;
+ case 41: { action. consumeGlobalQualifiedId(); break;
}
//
- // Rule 42: qualified_id_name ::= :: unqualified_id_name
+ // Rule 42: nested_name_specifier ::= class_or_namespace_name :: nested_name_specifier_with_template
//
- case 42: { action. consumeGlobalQualifiedId(); break;
+ case 42: { action. consumeNestedNameSpecifier(true); break;
}
//
- // Rule 43: nested_name_specifier ::= class_or_namespace_name :: nested_name_specifier_with_template
+ // Rule 43: nested_name_specifier ::= class_or_namespace_name ::
//
- case 43: { action. consumeNestedNameSpecifier(true); break;
+ case 43: { action. consumeNestedNameSpecifier(false); break;
}
//
- // Rule 44: nested_name_specifier ::= class_or_namespace_name ::
+ // Rule 44: nested_name_specifier_with_template ::= class_or_namespace_name_with_template :: nested_name_specifier_with_template
//
- case 44: { action. consumeNestedNameSpecifier(false); break;
+ case 44: { action. consumeNestedNameSpecifier(true); break;
}
//
- // Rule 45: nested_name_specifier_with_template ::= class_or_namespace_name_with_template :: nested_name_specifier_with_template
+ // Rule 45: nested_name_specifier_with_template ::= class_or_namespace_name_with_template ::
//
- case 45: { action. consumeNestedNameSpecifier(true); break;
+ case 45: { action. consumeNestedNameSpecifier(false); break;
}
//
- // Rule 46: nested_name_specifier_with_template ::= class_or_namespace_name_with_template ::
+ // Rule 46: class_or_namespace_name_with_template ::= template_opt class_or_namespace_name
//
- case 46: { action. consumeNestedNameSpecifier(false); break;
+ case 46: { action. consumeNameWithTemplateKeyword(); break;
}
//
- // Rule 47: class_or_namespace_name_with_template ::= template_opt class_or_namespace_name
+ // Rule 48: nested_name_specifier_opt ::= $Empty
//
- case 47: { action. consumeNameWithTemplateKeyword(); break;
+ case 48: { action. consumeNestedNameSpecifierEmpty(); break;
}
//
- // Rule 49: nested_name_specifier_opt ::= $Empty
+ // Rule 51: postfix_expression ::= postfix_expression [ expression ]
//
- case 49: { action. consumeNestedNameSpecifierEmpty(); break;
+ case 51: { action. consumeExpressionArraySubscript(); break;
}
//
- // Rule 52: postfix_expression ::= postfix_expression [ expression ]
+ // Rule 52: postfix_expression ::= postfix_expression ( expression_list_opt )
//
- case 52: { action. consumeExpressionArraySubscript(); break;
+ case 52: { action. consumeExpressionFunctionCall(); break;
}
//
- // Rule 53: postfix_expression ::= postfix_expression ( expression_list_opt )
+ // Rule 53: postfix_expression ::= simple_type_specifier ( expression_list_opt )
//
- case 53: { action. consumeExpressionFunctionCall(); break;
+ case 53: { action. consumeExpressionSimpleTypeConstructor(); break;
}
//
- // Rule 54: postfix_expression ::= simple_type_specifier ( expression_list_opt )
+ // Rule 54: postfix_expression ::= typename dcolon_opt nested_name_specifier <empty> identifier_name ( expression_list_opt )
//
- case 54: { action. consumeExpressionSimpleTypeConstructor(); break;
+ case 54: { action. consumeExpressionTypeName(); break;
}
//
- // Rule 55: postfix_expression ::= typename dcolon_opt nested_name_specifier <empty> identifier_name ( expression_list_opt )
+ // Rule 55: postfix_expression ::= typename dcolon_opt nested_name_specifier template_opt template_id_name ( expression_list_opt )
//
case 55: { action. consumeExpressionTypeName(); break;
}
//
- // Rule 56: postfix_expression ::= typename dcolon_opt nested_name_specifier template_opt template_id_name ( expression_list_opt )
+ // Rule 56: postfix_expression ::= postfix_expression . qualified_or_unqualified_name
//
- case 56: { action. consumeExpressionTypeName(); break;
+ case 56: { action. consumeExpressionFieldReference(false, false); break;
}
//
- // Rule 57: postfix_expression ::= postfix_expression . qualified_or_unqualified_name
+ // Rule 57: postfix_expression ::= postfix_expression -> qualified_or_unqualified_name
//
- case 57: { action. consumeExpressionFieldReference(false, false); break;
+ case 57: { action. consumeExpressionFieldReference(true, false); break;
}
//
- // Rule 58: postfix_expression ::= postfix_expression -> qualified_or_unqualified_name
+ // Rule 58: postfix_expression ::= postfix_expression . template qualified_or_unqualified_name
//
- case 58: { action. consumeExpressionFieldReference(true, false); break;
+ case 58: { action. consumeExpressionFieldReference(false, true); break;
}
//
- // Rule 59: postfix_expression ::= postfix_expression . template qualified_or_unqualified_name
+ // Rule 59: postfix_expression ::= postfix_expression -> template qualified_or_unqualified_name
//
- case 59: { action. consumeExpressionFieldReference(false, true); break;
+ case 59: { action. consumeExpressionFieldReference(true, true); break;
}
//
- // Rule 60: postfix_expression ::= postfix_expression -> template qualified_or_unqualified_name
+ // Rule 60: postfix_expression ::= postfix_expression . pseudo_destructor_name
//
- case 60: { action. consumeExpressionFieldReference(true, true); break;
+ case 60: { action. consumeExpressionFieldReference(false, false); break;
}
//
- // Rule 61: postfix_expression ::= postfix_expression . pseudo_destructor_name
+ // Rule 61: postfix_expression ::= postfix_expression -> pseudo_destructor_name
//
- case 61: { action. consumeExpressionFieldReference(false, false); break;
+ case 61: { action. consumeExpressionFieldReference(true, false); break;
}
//
- // Rule 62: postfix_expression ::= postfix_expression -> pseudo_destructor_name
+ // Rule 62: postfix_expression ::= postfix_expression ++
//
- case 62: { action. consumeExpressionFieldReference(true, false); break;
+ case 62: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break;
}
//
- // Rule 63: postfix_expression ::= postfix_expression ++
+ // Rule 63: postfix_expression ::= postfix_expression --
//
- case 63: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break;
+ case 63: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break;
}
//
- // Rule 64: postfix_expression ::= postfix_expression --
+ // Rule 64: postfix_expression ::= dynamic_cast < type_id > ( expression )
//
- case 64: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break;
+ case 64: { action. consumeExpressionCast(ICPPASTCastExpression.op_dynamic_cast); break;
}
//
- // Rule 65: postfix_expression ::= dynamic_cast < type_id > ( expression )
+ // Rule 65: postfix_expression ::= static_cast < type_id > ( expression )
//
- case 65: { action. consumeExpressionCast(ICPPASTCastExpression.op_dynamic_cast); break;
+ case 65: { action. consumeExpressionCast(ICPPASTCastExpression.op_static_cast); break;
}
//
- // Rule 66: postfix_expression ::= static_cast < type_id > ( expression )
+ // Rule 66: postfix_expression ::= reinterpret_cast < type_id > ( expression )
//
- case 66: { action. consumeExpressionCast(ICPPASTCastExpression.op_static_cast); break;
+ case 66: { action. consumeExpressionCast(ICPPASTCastExpression.op_reinterpret_cast); break;
}
//
- // Rule 67: postfix_expression ::= reinterpret_cast < type_id > ( expression )
+ // Rule 67: postfix_expression ::= const_cast < type_id > ( expression )
//
- case 67: { action. consumeExpressionCast(ICPPASTCastExpression.op_reinterpret_cast); break;
+ case 67: { action. consumeExpressionCast(ICPPASTCastExpression.op_const_cast); break;
}
//
- // Rule 68: postfix_expression ::= const_cast < type_id > ( expression )
+ // Rule 68: postfix_expression ::= typeid ( expression )
//
- case 68: { action. consumeExpressionCast(ICPPASTCastExpression.op_const_cast); break;
+ case 68: { action. consumeExpressionUnaryOperator(ICPPASTUnaryExpression.op_typeid); break;
}
//
- // Rule 69: postfix_expression ::= typeid ( expression )
+ // Rule 69: postfix_expression ::= typeid ( type_id )
//
- case 69: { action. consumeExpressionUnaryOperator(ICPPASTUnaryExpression.op_typeid); break;
+ case 69: { action. consumeExpressionTypeId(ICPPASTTypeIdExpression.op_typeid); break;
}
//
- // Rule 70: postfix_expression ::= typeid ( type_id )
+ // Rule 70: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt type_name :: destructor_type_name
//
- case 70: { action. consumeExpressionTypeId(ICPPASTTypeIdExpression.op_typeid); break;
+ case 70: { action. consumePsudoDestructorName(true); break;
}
//
- // Rule 71: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt type_name :: destructor_type_name
+ // Rule 71: pseudo_destructor_name ::= dcolon_opt nested_name_specifier template template_id_name :: destructor_type_name
//
case 71: { action. consumePsudoDestructorName(true); break;
}
//
- // Rule 72: pseudo_destructor_name ::= dcolon_opt nested_name_specifier template template_id_name :: destructor_type_name
+ // Rule 72: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt destructor_type_name
//
- case 72: { action. consumePsudoDestructorName(true); break;
+ case 72: { action. consumePsudoDestructorName(false); break;
}
//
- // Rule 73: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt destructor_type_name
+ // Rule 73: destructor_type_name ::= ~ identifier_token
//
- case 73: { action. consumePsudoDestructorName(false); break;
+ case 73: { action. consumeDestructorName(); break;
}
//
- // Rule 74: destructor_type_name ::= ~ identifier_token
+ // Rule 74: destructor_type_name ::= ~ template_id_name
//
- case 74: { action. consumeDestructorName(); break;
+ case 74: { action. consumeDestructorNameTemplateId(); break;
}
//
- // Rule 75: destructor_type_name ::= ~ template_id_name
+ // Rule 78: unary_expression ::= ++ cast_expression
//
- case 75: { action. consumeDestructorNameTemplateId(); break;
+ case 78: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixIncr); break;
}
//
- // Rule 79: unary_expression ::= ++ cast_expression
+ // Rule 79: unary_expression ::= -- cast_expression
//
- case 79: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixIncr); break;
+ case 79: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixDecr); break;
}
//
- // Rule 80: unary_expression ::= -- cast_expression
+ // Rule 80: unary_expression ::= & cast_expression
//
- case 80: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixDecr); break;
+ case 80: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_amper); break;
}
//
- // Rule 81: unary_expression ::= & cast_expression
+ // Rule 81: unary_expression ::= * cast_expression
//
- case 81: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_amper); break;
+ case 81: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_star); break;
}
//
- // Rule 82: unary_expression ::= * cast_expression
+ // Rule 82: unary_expression ::= + cast_expression
//
- case 82: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_star); break;
+ case 82: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_plus); break;
}
//
- // Rule 83: unary_expression ::= + cast_expression
+ // Rule 83: unary_expression ::= - cast_expression
//
- case 83: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_plus); break;
+ case 83: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_minus); break;
}
//
- // Rule 84: unary_expression ::= - cast_expression
+ // Rule 84: unary_expression ::= ~ cast_expression
//
- case 84: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_minus); break;
+ case 84: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_tilde); break;
}
//
- // Rule 85: unary_expression ::= ~ cast_expression
+ // Rule 85: unary_expression ::= ! cast_expression
//
- case 85: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_tilde); break;
+ case 85: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_not); break;
}
//
- // Rule 86: unary_expression ::= ! cast_expression
+ // Rule 86: unary_expression ::= sizeof unary_expression
//
- case 86: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_not); break;
+ case 86: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof); break;
}
//
- // Rule 87: unary_expression ::= sizeof unary_expression
+ // Rule 87: unary_expression ::= sizeof ( type_id )
//
- case 87: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof); break;
+ case 87: { action. consumeExpressionTypeId(ICPPASTTypeIdExpression.op_sizeof); break;
}
//
- // Rule 88: unary_expression ::= sizeof ( type_id )
+ // Rule 88: new_expression ::= dcolon_opt new new_placement_opt new_type_id <openscope-ast> new_array_expressions_opt new_initializer_opt
//
- case 88: { action. consumeExpressionTypeId(ICPPASTTypeIdExpression.op_sizeof); break;
+ case 88: { action. consumeExpressionNew(true); break;
}
//
- // Rule 89: new_expression ::= dcolon_opt new new_placement_opt new_type_id <openscope-ast> new_array_expressions_opt new_initializer_opt
+ // Rule 89: new_expression ::= dcolon_opt new new_placement_opt ( type_id ) <openscope-ast> new_array_expressions_opt new_initializer_opt
//
- case 89: { action. consumeExpressionNew(true); break;
+ case 89: { action. consumeExpressionNew(false); break;
}
//
- // Rule 90: new_expression ::= dcolon_opt new new_placement_opt ( type_id ) <openscope-ast> new_array_expressions_opt new_initializer_opt
+ // Rule 91: new_placement_opt ::= $Empty
//
- case 90: { action. consumeExpressionNew(false); break;
+ case 91: { action. consumeEmpty(); break;
}
//
- // Rule 92: new_placement_opt ::= $Empty
+ // Rule 92: new_type_id ::= type_specifier_seq
//
- case 92: { action. consumeEmpty(); break;
+ case 92: { action. consumeTypeId(false); break;
}
//
- // Rule 93: new_type_id ::= type_specifier_seq
+ // Rule 93: new_type_id ::= type_specifier_seq new_declarator
//
- case 93: { action. consumeTypeId(false); break;
+ case 93: { action. consumeTypeId(true); break;
}
//
- // Rule 94: new_type_id ::= type_specifier_seq new_declarator
+ // Rule 94: new_declarator ::= <openscope-ast> new_pointer_operators
//
- case 94: { action. consumeTypeId(true); break;
+ case 94: { action. consumeNewDeclarator(); break;
}
//
- // Rule 95: new_declarator ::= <openscope-ast> new_pointer_operators
+ // Rule 101: new_initializer ::= ( expression_list_opt )
//
- case 95: { action. consumeNewDeclarator(); break;
+ case 101: { action. consumeNewInitializer(); break;
}
//
- // Rule 102: new_initializer ::= ( expression_list_opt )
+ // Rule 103: new_initializer_opt ::= $Empty
//
- case 102: { action. consumeNewInitializer(); break;
+ case 103: { action. consumeEmpty(); break;
}
//
- // Rule 104: new_initializer_opt ::= $Empty
+ // Rule 104: delete_expression ::= dcolon_opt delete cast_expression
//
- case 104: { action. consumeEmpty(); break;
+ case 104: { action. consumeExpressionDelete(false); break;
}
//
- // Rule 105: delete_expression ::= dcolon_opt delete cast_expression
+ // Rule 105: delete_expression ::= dcolon_opt delete [ ] cast_expression
//
- case 105: { action. consumeExpressionDelete(false); break;
+ case 105: { action. consumeExpressionDelete(true); break;
}
//
- // Rule 106: delete_expression ::= dcolon_opt delete [ ] cast_expression
+ // Rule 107: cast_expression ::= ( type_id ) cast_expression
//
- case 106: { action. consumeExpressionDelete(true); break;
+ case 107: { action. consumeExpressionCast(ICPPASTCastExpression.op_cast); break;
}
//
- // Rule 108: cast_expression ::= ( type_id ) cast_expression
+ // Rule 109: pm_expression ::= pm_expression .* cast_expression
//
- case 108: { action. consumeExpressionCast(ICPPASTCastExpression.op_cast); break;
+ case 109: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmdot); break;
}
//
- // Rule 110: pm_expression ::= pm_expression .* cast_expression
+ // Rule 110: pm_expression ::= pm_expression ->* cast_expression
//
- case 110: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmdot); break;
+ case 110: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmarrow); break;
}
//
- // Rule 111: pm_expression ::= pm_expression ->* cast_expression
+ // Rule 112: multiplicative_expression ::= multiplicative_expression * pm_expression
//
- case 111: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmarrow); break;
+ case 112: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiply); break;
}
//
- // Rule 113: multiplicative_expression ::= multiplicative_expression * pm_expression
+ // Rule 113: multiplicative_expression ::= multiplicative_expression / pm_expression
//
- case 113: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiply); break;
+ case 113: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divide); break;
}
//
- // Rule 114: multiplicative_expression ::= multiplicative_expression / pm_expression
+ // Rule 114: multiplicative_expression ::= multiplicative_expression % pm_expression
//
- case 114: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divide); break;
+ case 114: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_modulo); break;
}
//
- // Rule 115: multiplicative_expression ::= multiplicative_expression % pm_expression
+ // Rule 116: additive_expression ::= additive_expression + multiplicative_expression
//
- case 115: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_modulo); break;
+ case 116: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plus); break;
}
//
- // Rule 117: additive_expression ::= additive_expression + multiplicative_expression
+ // Rule 117: additive_expression ::= additive_expression - multiplicative_expression
//
- case 117: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plus); break;
+ case 117: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minus); break;
}
//
- // Rule 118: additive_expression ::= additive_expression - multiplicative_expression
+ // Rule 119: shift_expression ::= shift_expression << additive_expression
//
- case 118: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minus); break;
+ case 119: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeft); break;
}
//
- // Rule 120: shift_expression ::= shift_expression << additive_expression
+ // Rule 120: shift_expression ::= shift_expression >> additive_expression
//
- case 120: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeft); break;
+ case 120: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRight); break;
}
//
- // Rule 121: shift_expression ::= shift_expression >> additive_expression
+ // Rule 122: relational_expression ::= relational_expression < shift_expression
//
- case 121: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRight); break;
+ case 122: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessThan); break;
}
//
- // Rule 123: relational_expression ::= relational_expression < shift_expression
+ // Rule 123: relational_expression ::= relational_expression > shift_expression
//
- case 123: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessThan); break;
+ case 123: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterThan); break;
}
//
- // Rule 124: relational_expression ::= relational_expression > shift_expression
+ // Rule 124: relational_expression ::= relational_expression <= shift_expression
//
- case 124: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterThan); break;
+ case 124: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessEqual); break;
}
//
- // Rule 125: relational_expression ::= relational_expression <= shift_expression
+ // Rule 125: relational_expression ::= relational_expression >= shift_expression
//
- case 125: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessEqual); break;
+ case 125: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterEqual); break;
}
//
- // Rule 126: relational_expression ::= relational_expression >= shift_expression
+ // Rule 127: equality_expression ::= equality_expression == relational_expression
//
- case 126: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterEqual); break;
+ case 127: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_equals); break;
}
//
- // Rule 128: equality_expression ::= equality_expression == relational_expression
+ // Rule 128: equality_expression ::= equality_expression != relational_expression
//
- case 128: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_equals); break;
+ case 128: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_notequals); break;
}
//
- // Rule 129: equality_expression ::= equality_expression != relational_expression
+ // Rule 130: and_expression ::= and_expression & equality_expression
//
- case 129: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_notequals); break;
+ case 130: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAnd); break;
}
//
- // Rule 131: and_expression ::= and_expression & equality_expression
+ // Rule 132: exclusive_or_expression ::= exclusive_or_expression ^ and_expression
//
- case 131: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAnd); break;
+ case 132: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXor); break;
}
//
- // Rule 133: exclusive_or_expression ::= exclusive_or_expression ^ and_expression
+ // Rule 134: inclusive_or_expression ::= inclusive_or_expression | exclusive_or_expression
//
- case 133: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXor); break;
+ case 134: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOr); break;
}
//
- // Rule 135: inclusive_or_expression ::= inclusive_or_expression | exclusive_or_expression
+ // Rule 136: logical_and_expression ::= logical_and_expression && inclusive_or_expression
//
- case 135: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOr); break;
+ case 136: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalAnd); break;
}
//
- // Rule 137: logical_and_expression ::= logical_and_expression && inclusive_or_expression
+ // Rule 138: logical_or_expression ::= logical_or_expression || logical_and_expression
//
- case 137: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalAnd); break;
+ case 138: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalOr); break;
}
//
- // Rule 139: logical_or_expression ::= logical_or_expression || logical_and_expression
+ // Rule 140: conditional_expression ::= logical_or_expression ? expression : assignment_expression
//
- case 139: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalOr); break;
+ case 140: { action. consumeExpressionConditional(); break;
}
//
- // Rule 141: conditional_expression ::= logical_or_expression ? expression : assignment_expression
+ // Rule 141: throw_expression ::= throw
//
- case 141: { action. consumeExpressionConditional(); break;
+ case 141: { action. consumeExpressionThrow(false); break;
}
//
- // Rule 142: throw_expression ::= throw
+ // Rule 142: throw_expression ::= throw assignment_expression
//
- case 142: { action. consumeExpressionThrow(false); break;
+ case 142: { action. consumeExpressionThrow(true); break;
}
//
- // Rule 143: throw_expression ::= throw assignment_expression
+ // Rule 145: assignment_expression ::= logical_or_expression = assignment_expression
//
- case 143: { action. consumeExpressionThrow(true); break;
+ case 145: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_assign); break;
}
//
- // Rule 146: assignment_expression ::= logical_or_expression = assignment_expression
+ // Rule 146: assignment_expression ::= logical_or_expression *= assignment_expression
//
- case 146: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_assign); break;
+ case 146: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiplyAssign); break;
}
//
- // Rule 147: assignment_expression ::= logical_or_expression *= assignment_expression
+ // Rule 147: assignment_expression ::= logical_or_expression /= assignment_expression
//
- case 147: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiplyAssign); break;
+ case 147: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divideAssign); break;
}
//
- // Rule 148: assignment_expression ::= logical_or_expression /= assignment_expression
+ // Rule 148: assignment_expression ::= logical_or_expression %= assignment_expression
//
- case 148: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divideAssign); break;
+ case 148: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_moduloAssign); break;
}
//
- // Rule 149: assignment_expression ::= logical_or_expression %= assignment_expression
+ // Rule 149: assignment_expression ::= logical_or_expression += assignment_expression
//
- case 149: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_moduloAssign); break;
+ case 149: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plusAssign); break;
}
//
- // Rule 150: assignment_expression ::= logical_or_expression += assignment_expression
+ // Rule 150: assignment_expression ::= logical_or_expression -= assignment_expression
//
- case 150: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plusAssign); break;
+ case 150: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minusAssign); break;
}
//
- // Rule 151: assignment_expression ::= logical_or_expression -= assignment_expression
+ // Rule 151: assignment_expression ::= logical_or_expression >>= assignment_expression
//
- case 151: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minusAssign); break;
+ case 151: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRightAssign); break;
}
//
- // Rule 152: assignment_expression ::= logical_or_expression >>= assignment_expression
+ // Rule 152: assignment_expression ::= logical_or_expression <<= assignment_expression
//
- case 152: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRightAssign); break;
+ case 152: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeftAssign); break;
}
//
- // Rule 153: assignment_expression ::= logical_or_expression <<= assignment_expression
+ // Rule 153: assignment_expression ::= logical_or_expression &= assignment_expression
//
- case 153: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeftAssign); break;
+ case 153: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAndAssign); break;
}
//
- // Rule 154: assignment_expression ::= logical_or_expression &= assignment_expression
+ // Rule 154: assignment_expression ::= logical_or_expression ^= assignment_expression
//
- case 154: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAndAssign); break;
+ case 154: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXorAssign); break;
}
//
- // Rule 155: assignment_expression ::= logical_or_expression ^= assignment_expression
+ // Rule 155: assignment_expression ::= logical_or_expression |= assignment_expression
//
- case 155: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXorAssign); break;
+ case 155: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOrAssign); break;
}
//
- // Rule 156: assignment_expression ::= logical_or_expression |= assignment_expression
+ // Rule 157: expression_list ::= <openscope-ast> expression_list_actual
//
- case 156: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOrAssign); break;
+ case 157: { action. consumeExpressionList(); break;
}
//
- // Rule 158: expression_list ::= <openscope-ast> expression_list_actual
+ // Rule 161: expression_list_opt ::= $Empty
//
- case 158: { action. consumeExpressionList(); break;
+ case 161: { action. consumeEmpty(); break;
}
//
- // Rule 162: expression_list_opt ::= $Empty
+ // Rule 163: expression_opt ::= $Empty
//
- case 162: { action. consumeEmpty(); break;
+ case 163: { action. consumeEmpty(); break;
}
//
- // Rule 164: expression_opt ::= $Empty
+ // Rule 166: constant_expression_opt ::= $Empty
//
- case 164: { action. consumeEmpty(); break;
+ case 166: { action. consumeEmpty(); break;
}
//
- // Rule 167: constant_expression_opt ::= $Empty
+ // Rule 175: statement ::= ERROR_TOKEN
//
- case 167: { action. consumeEmpty(); break;
+ case 175: { action. consumeStatementProblem(); break;
}
//
- // Rule 176: statement ::= ERROR_TOKEN
+ // Rule 176: labeled_statement ::= identifier : statement
//
- case 176: { action. consumeStatementProblem(); break;
+ case 176: { action. consumeStatementLabeled(); break;
}
//
- // Rule 177: labeled_statement ::= identifier : statement
+ // Rule 177: labeled_statement ::= case constant_expression : statement
//
- case 177: { action. consumeStatementLabeled(); break;
+ case 177: { action. consumeStatementCase(); break;
}
//
- // Rule 178: labeled_statement ::= case constant_expression : statement
+ // Rule 178: labeled_statement ::= default : statement
//
- case 178: { action. consumeStatementCase(); break;
+ case 178: { action. consumeStatementDefault(); break;
}
//
- // Rule 179: labeled_statement ::= default : statement
+ // Rule 179: expression_statement ::= expression ;
//
- case 179: { action. consumeStatementDefault(); break;
+ case 179: { action. consumeStatementExpression(); break;
}
//
- // Rule 180: expression_statement ::= expression ;
+ // Rule 180: expression_statement ::= ;
//
- case 180: { action. consumeStatementExpression(); break;
+ case 180: { action. consumeStatementNull(); break;
}
//
- // Rule 181: expression_statement ::= ;
+ // Rule 181: compound_statement ::= { <openscope-ast> statement_seq }
//
- case 181: { action. consumeStatementNull(); break;
+ case 181: { action. consumeStatementCompoundStatement(true); break;
}
//
- // Rule 182: compound_statement ::= { <openscope-ast> statement_seq }
+ // Rule 182: compound_statement ::= { }
//
- case 182: { action. consumeStatementCompoundStatement(true); break;
+ case 182: { action. consumeStatementCompoundStatement(false); break;
}
//
- // Rule 183: compound_statement ::= { }
+ // Rule 185: selection_statement ::= if ( condition ) statement
//
- case 183: { action. consumeStatementCompoundStatement(false); break;
+ case 185: { action. consumeStatementIf(false); break;
}
//
- // Rule 186: selection_statement ::= if ( condition ) statement
+ // Rule 186: selection_statement ::= if ( condition ) statement else statement
//
- case 186: { action. consumeStatementIf(false); break;
+ case 186: { action. consumeStatementIf(true); break;
}
//
- // Rule 187: selection_statement ::= if ( condition ) statement else statement
+ // Rule 187: selection_statement ::= switch ( condition ) statement
//
- case 187: { action. consumeStatementIf(true); break;
+ case 187: { action. consumeStatementSwitch(); break;
}
//
- // Rule 188: selection_statement ::= switch ( condition ) statement
+ // Rule 189: condition ::= type_specifier_seq declarator = assignment_expression
//
- case 188: { action. consumeStatementSwitch(); break;
+ case 189: { action. consumeConditionDeclaration(); break;
}
//
- // Rule 190: condition ::= type_specifier_seq declarator = assignment_expression
+ // Rule 191: condition_opt ::= $Empty
//
- case 190: { action. consumeConditionDeclaration(); break;
+ case 191: { action. consumeEmpty(); break;
}
//
- // Rule 192: condition_opt ::= $Empty
+ // Rule 192: iteration_statement ::= while ( condition ) statement
//
- case 192: { action. consumeEmpty(); break;
+ case 192: { action. consumeStatementWhileLoop(); break;
}
//
- // Rule 193: iteration_statement ::= while ( condition ) statement
+ // Rule 193: iteration_statement ::= do statement while ( expression ) ;
//
- case 193: { action. consumeStatementWhileLoop(); break;
+ case 193: { action. consumeStatementDoLoop(); break;
}
//
- // Rule 194: iteration_statement ::= do statement while ( expression ) ;
+ // Rule 194: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement
//
- case 194: { action. consumeStatementDoLoop(); break;
+ case 194: { action. consumeStatementForLoop(); break;
}
//
- // Rule 195: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement
+ // Rule 196: for_init_statement ::= simple_declaration_with_declspec
//
- case 195: { action. consumeStatementForLoop(); break;
+ case 196: { action. consumeStatementDeclaration(); break;
}
//
- // Rule 197: for_init_statement ::= simple_declaration_with_declspec
+ // Rule 197: jump_statement ::= break ;
//
- case 197: { action. consumeStatementDeclaration(); break;
+ case 197: { action. consumeStatementBreak(); break;
}
//
- // Rule 198: jump_statement ::= break ;
+ // Rule 198: jump_statement ::= continue ;
//
- case 198: { action. consumeStatementBreak(); break;
+ case 198: { action. consumeStatementContinue(); break;
}
//
- // Rule 199: jump_statement ::= continue ;
+ // Rule 199: jump_statement ::= return expression ;
//
- case 199: { action. consumeStatementContinue(); break;
+ case 199: { action. consumeStatementReturn(true); break;
}
//
- // Rule 200: jump_statement ::= return expression ;
+ // Rule 200: jump_statement ::= return ;
//
- case 200: { action. consumeStatementReturn(true); break;
+ case 200: { action. consumeStatementReturn(false); break;
}
//
- // Rule 201: jump_statement ::= return ;
+ // Rule 201: jump_statement ::= goto identifier_token ;
//
- case 201: { action. consumeStatementReturn(false); break;
+ case 201: { action. consumeStatementGoto(); break;
}
//
- // Rule 202: jump_statement ::= goto identifier_token ;
+ // Rule 202: declaration_statement ::= block_declaration
//
- case 202: { action. consumeStatementGoto(); break;
+ case 202: { action. consumeStatementDeclarationWithDisambiguation(); break;
}
//
- // Rule 203: declaration_statement ::= block_declaration
+ // Rule 203: declaration_statement ::= function_definition
//
- case 203: { action. consumeStatementDeclarationWithDisambiguation(); break;
+ case 203: { action. consumeStatementDeclaration(); break;
}
//
- // Rule 204: declaration_statement ::= function_definition
+ // Rule 211: declaration ::= ERROR_TOKEN
//
- case 204: { action. consumeStatementDeclaration(); break;
+ case 211: { action. consumeDeclarationProblem(); break;
}
//
- // Rule 212: declaration ::= ERROR_TOKEN
+ // Rule 221: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ;
//
- case 212: { action. consumeDeclarationProblem(); break;
+ case 221: { action. consumeDeclarationSimple(true); break;
}
//
- // Rule 222: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ;
+ // Rule 222: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ;
//
case 222: { action. consumeDeclarationSimple(true); break;
}
//
- // Rule 223: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ;
+ // Rule 223: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers
//
- case 223: { action. consumeDeclarationSimple(true); break;
+ case 223: { action. consumeDeclarationSpecifiersSimple(); break;
}
//
- // Rule 224: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers
+ // Rule 224: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers
//
- case 224: { action. consumeDeclarationSpecifiersSimple(); break;
+ case 224: { action. consumeDeclarationSpecifiersComposite(); break;
}
//
- // Rule 225: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers
+ // Rule 225: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers
//
case 225: { action. consumeDeclarationSpecifiersComposite(); break;
}
//
- // Rule 226: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers
+ // Rule 226: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers
//
case 226: { action. consumeDeclarationSpecifiersComposite(); break;
}
//
- // Rule 227: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers
+ // Rule 227: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers
//
- case 227: { action. consumeDeclarationSpecifiersComposite(); break;
+ case 227: { action. consumeDeclarationSpecifiersTypeName(); break;
}
//
- // Rule 228: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers
+ // Rule 229: declaration_specifiers_opt ::= $Empty
//
- case 228: { action. consumeDeclarationSpecifiersTypeName(); break;
+ case 229: { action. consumeEmpty(); break;
}
//
- // Rule 230: declaration_specifiers_opt ::= $Empty
+ // Rule 233: no_type_declaration_specifier ::= friend
//
- case 230: { action. consumeEmpty(); break;
+ case 233: { action. consumeToken(); break;
}
//
- // Rule 234: no_type_declaration_specifier ::= friend
+ // Rule 234: no_type_declaration_specifier ::= typedef
//
case 234: { action. consumeToken(); break;
}
//
- // Rule 235: no_type_declaration_specifier ::= typedef
+ // Rule 254: storage_class_specifier ::= auto
//
- case 235: { action. consumeToken(); break;
+ case 254: { action. consumeToken(); break;
}
//
- // Rule 255: storage_class_specifier ::= auto
+ // Rule 255: storage_class_specifier ::= register
//
case 255: { action. consumeToken(); break;
}
//
- // Rule 256: storage_class_specifier ::= register
+ // Rule 256: storage_class_specifier ::= static
//
case 256: { action. consumeToken(); break;
}
//
- // Rule 257: storage_class_specifier ::= static
+ // Rule 257: storage_class_specifier ::= extern
//
case 257: { action. consumeToken(); break;
}
//
- // Rule 258: storage_class_specifier ::= extern
+ // Rule 258: storage_class_specifier ::= mutable
//
case 258: { action. consumeToken(); break;
}
//
- // Rule 259: storage_class_specifier ::= mutable
+ // Rule 259: function_specifier ::= inline
//
case 259: { action. consumeToken(); break;
}
//
- // Rule 260: function_specifier ::= inline
+ // Rule 260: function_specifier ::= virtual
//
case 260: { action. consumeToken(); break;
}
//
- // Rule 261: function_specifier ::= virtual
+ // Rule 261: function_specifier ::= explicit
//
case 261: { action. consumeToken(); break;
}
//
- // Rule 262: function_specifier ::= explicit
+ // Rule 262: simple_type_specifier ::= char
//
case 262: { action. consumeToken(); break;
}
//
- // Rule 263: simple_type_specifier ::= char
+ // Rule 263: simple_type_specifier ::= wchar_t
//
case 263: { action. consumeToken(); break;
}
//
- // Rule 264: simple_type_specifier ::= wchar_t
+ // Rule 264: simple_type_specifier ::= bool
//
case 264: { action. consumeToken(); break;
}
//
- // Rule 265: simple_type_specifier ::= bool
+ // Rule 265: simple_type_specifier ::= short
//
case 265: { action. consumeToken(); break;
}
//
- // Rule 266: simple_type_specifier ::= short
+ // Rule 266: simple_type_specifier ::= int
//
case 266: { action. consumeToken(); break;
}
//
- // Rule 267: simple_type_specifier ::= int
+ // Rule 267: simple_type_specifier ::= long
//
case 267: { action. consumeToken(); break;
}
//
- // Rule 268: simple_type_specifier ::= long
+ // Rule 268: simple_type_specifier ::= signed
//
case 268: { action. consumeToken(); break;
}
//
- // Rule 269: simple_type_specifier ::= signed
+ // Rule 269: simple_type_specifier ::= unsigned
//
case 269: { action. consumeToken(); break;
}
//
- // Rule 270: simple_type_specifier ::= unsigned
+ // Rule 270: simple_type_specifier ::= float
//
case 270: { action. consumeToken(); break;
}
//
- // Rule 271: simple_type_specifier ::= float
+ // Rule 271: simple_type_specifier ::= double
//
case 271: { action. consumeToken(); break;
}
//
- // Rule 272: simple_type_specifier ::= double
+ // Rule 272: simple_type_specifier ::= void
//
case 272: { action. consumeToken(); break;
}
//
- // Rule 273: simple_type_specifier ::= void
+ // Rule 275: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name
//
- case 273: { action. consumeToken(); break;
+ case 275: { action. consumeQualifiedId(false); break;
}
//
- // Rule 276: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name
+ // Rule 276: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name
//
case 276: { action. consumeQualifiedId(false); break;
}
//
- // Rule 277: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name
+ // Rule 277: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name
//
case 277: { action. consumeQualifiedId(false); break;
}
//
- // Rule 278: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name
+ // Rule 278: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name
//
- case 278: { action. consumeQualifiedId(false); break;
+ case 278: { action. consumeQualifiedId(true); break;
}
//
- // Rule 279: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name
+ // Rule 280: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name
//
- case 279: { action. consumeQualifiedId(true); break;
+ case 280: { action. consumeTypeSpecifierElaborated(false); break;
}
//
- // Rule 281: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name
+ // Rule 281: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt template_opt template_id_name
//
- case 281: { action. consumeTypeSpecifierElaborated(false); break;
+ case 281: { action. consumeTypeSpecifierElaborated(true); break;
}
//
- // Rule 282: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt template_opt template_id_name
+ // Rule 282: elaborated_type_specifier ::= enum elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name
//
- case 282: { action. consumeTypeSpecifierElaborated(true); break;
+ case 282: { action. consumeTypeSpecifierElaborated(false); break;
}
//
- // Rule 283: elaborated_type_specifier ::= enum elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name
+ // Rule 284: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt }
//
- case 283: { action. consumeTypeSpecifierElaborated(false); break;
+ case 284: { action. consumeTypeSpecifierEnumeration(false); break;
}
//
- // Rule 285: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt }
+ // Rule 285: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt }
//
- case 285: { action. consumeTypeSpecifierEnumeration(false); break;
+ case 285: { action. consumeTypeSpecifierEnumeration(true); break;
}
//
- // Rule 286: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt }
+ // Rule 291: enumerator_definition ::= identifier_token
//
- case 286: { action. consumeTypeSpecifierEnumeration(true); break;
+ case 291: { action. consumeEnumerator(false); break;
}
//
- // Rule 292: enumerator_definition ::= identifier_token
+ // Rule 292: enumerator_definition ::= identifier_token = constant_expression
//
- case 292: { action. consumeEnumerator(false); break;
+ case 292: { action. consumeEnumerator(true); break;
}
//
- // Rule 293: enumerator_definition ::= identifier_token = constant_expression
+ // Rule 296: named_namespace_definition ::= namespace namespace_name { <openscope-ast> declaration_seq_opt }
//
- case 293: { action. consumeEnumerator(true); break;
+ case 296: { action. consumeNamespaceDefinition(true); break;
}
//
- // Rule 297: named_namespace_definition ::= namespace namespace_name { <openscope-ast> declaration_seq_opt }
+ // Rule 297: unnamed_namespace_definition ::= namespace { <openscope-ast> declaration_seq_opt }
//
- case 297: { action. consumeNamespaceDefinition(true); break;
+ case 297: { action. consumeNamespaceDefinition(false); break;
}
//
- // Rule 298: unnamed_namespace_definition ::= namespace { <openscope-ast> declaration_seq_opt }
+ // Rule 298: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ;
//
- case 298: { action. consumeNamespaceDefinition(false); break;
+ case 298: { action. consumeNamespaceAliasDefinition(); break;
}
//
- // Rule 299: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ;
+ // Rule 299: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ;
//
- case 299: { action. consumeNamespaceAliasDefinition(); break;
+ case 299: { action. consumeUsingDeclaration(); break;
}
//
- // Rule 300: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ;
+ // Rule 300: typename_opt ::= typename
//
- case 300: { action. consumeUsingDeclaration(); break;
+ case 300: { action. consumePlaceHolder(); break;
}
//
- // Rule 301: typename_opt ::= typename
+ // Rule 301: typename_opt ::= $Empty
//
- case 301: { action. consumePlaceHolder(); break;
+ case 301: { action. consumeEmpty(); break;
}
//
- // Rule 302: typename_opt ::= $Empty
+ // Rule 302: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ;
//
- case 302: { action. consumeEmpty(); break;
+ case 302: { action. consumeUsingDirective(); break;
}
//
- // Rule 303: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ;
+ // Rule 303: asm_definition ::= asm ( stringlit ) ;
//
- case 303: { action. consumeUsingDirective(); break;
+ case 303: { action. consumeDeclarationASM(); break;
}
//
- // Rule 304: asm_definition ::= asm ( stringlit ) ;
+ // Rule 304: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt }
//
- case 304: { action. consumeDeclarationASM(); break;
+ case 304: { action. consumeLinkageSpecification(); break;
}
//
- // Rule 305: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt }
+ // Rule 305: linkage_specification ::= extern stringlit <openscope-ast> declaration
//
case 305: { action. consumeLinkageSpecification(); break;
}
//
- // Rule 306: linkage_specification ::= extern stringlit <openscope-ast> declaration
+ // Rule 310: init_declarator_complete ::= init_declarator
//
- case 306: { action. consumeLinkageSpecification(); break;
+ case 310: { action. consumeInitDeclaratorComplete(); break;
}
//
- // Rule 311: init_declarator_complete ::= init_declarator
+ // Rule 312: init_declarator ::= complete_declarator initializer
//
- case 311: { action. consumeInitDeclaratorComplete(); break;
+ case 312: { action. consumeDeclaratorWithInitializer(true); break;
}
//
- // Rule 313: init_declarator ::= complete_declarator initializer
+ // Rule 315: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
//
- case 313: { action. consumeDeclaratorWithInitializer(true); break;
+ case 315: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 316: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
+ // Rule 317: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
//
- case 316: { action. consumeDeclaratorWithPointer(true); break;
+ case 317: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 318: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
+ // Rule 321: basic_direct_declarator ::= declarator_id_name
//
- case 318: { action. consumeDeclaratorWithPointer(true); break;
+ case 321: { action. consumeDirectDeclaratorIdentifier(); break;
}
//
- // Rule 322: basic_direct_declarator ::= declarator_id_name
+ // Rule 322: basic_direct_declarator ::= ( declarator )
//
- case 322: { action. consumeDirectDeclaratorIdentifier(); break;
+ case 322: { action. consumeDirectDeclaratorBracketed(); break;
}
//
- // Rule 323: basic_direct_declarator ::= ( declarator )
+ // Rule 323: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
//
- case 323: { action. consumeDirectDeclaratorBracketed(); break;
+ case 323: { action. consumeDirectDeclaratorFunctionDeclarator(true); break;
}
//
- // Rule 324: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
+ // Rule 324: array_direct_declarator ::= array_direct_declarator array_modifier
//
- case 324: { action. consumeDirectDeclaratorFunctionDeclarator(true); break;
+ case 324: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 325: array_direct_declarator ::= array_direct_declarator array_modifier
+ // Rule 325: array_direct_declarator ::= basic_direct_declarator array_modifier
//
case 325: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 326: array_direct_declarator ::= basic_direct_declarator array_modifier
+ // Rule 326: array_modifier ::= [ constant_expression ]
//
- case 326: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 326: { action. consumeDirectDeclaratorArrayModifier(true); break;
}
//
- // Rule 327: array_modifier ::= [ constant_expression ]
+ // Rule 327: array_modifier ::= [ ]
//
- case 327: { action. consumeDirectDeclaratorArrayModifier(true); break;
+ case 327: { action. consumeDirectDeclaratorArrayModifier(false); break;
}
//
- // Rule 328: array_modifier ::= [ ]
+ // Rule 328: ptr_operator ::= pointer_hook * <openscope-ast> cv_qualifier_seq_opt
//
- case 328: { action. consumeDirectDeclaratorArrayModifier(false); break;
+ case 328: { action. consumePointer(); break;
}
//
- // Rule 329: ptr_operator ::= pointer_hook * <openscope-ast> cv_qualifier_seq_opt
+ // Rule 329: ptr_operator ::= pointer_hook &
//
- case 329: { action. consumePointer(); break;
+ case 329: { action. consumeReferenceOperator(); break;
}
//
- // Rule 330: ptr_operator ::= pointer_hook &
+ // Rule 330: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * <openscope-ast> cv_qualifier_seq_opt
//
- case 330: { action. consumeReferenceOperator(); break;
+ case 330: { action. consumePointerToMember(); break;
}
//
- // Rule 331: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * <openscope-ast> cv_qualifier_seq_opt
+ // Rule 337: cv_qualifier ::= const
//
- case 331: { action. consumePointerToMember(); break;
+ case 337: { action. consumeToken(); break;
}
//
- // Rule 338: cv_qualifier ::= const
+ // Rule 338: cv_qualifier ::= volatile
//
case 338: { action. consumeToken(); break;
}
//
- // Rule 339: cv_qualifier ::= volatile
+ // Rule 340: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name
//
- case 339: { action. consumeToken(); break;
+ case 340: { action. consumeQualifiedId(false); break;
}
//
- // Rule 341: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name
+ // Rule 341: type_id ::= type_specifier_seq
//
- case 341: { action. consumeQualifiedId(false); break;
+ case 341: { action. consumeTypeId(false); break;
}
//
- // Rule 342: type_id ::= type_specifier_seq
+ // Rule 342: type_id ::= type_specifier_seq abstract_declarator
//
- case 342: { action. consumeTypeId(false); break;
+ case 342: { action. consumeTypeId(true); break;
}
//
- // Rule 343: type_id ::= type_specifier_seq abstract_declarator
+ // Rule 345: abstract_declarator ::= <openscope-ast> ptr_operator_seq
//
- case 343: { action. consumeTypeId(true); break;
+ case 345: { action. consumeDeclaratorWithPointer(false); break;
}
//
- // Rule 346: abstract_declarator ::= <openscope-ast> ptr_operator_seq
+ // Rule 346: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator
//
- case 346: { action. consumeDeclaratorWithPointer(false); break;
+ case 346: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 347: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator
+ // Rule 350: basic_direct_abstract_declarator ::= ( abstract_declarator )
//
- case 347: { action. consumeDeclaratorWithPointer(true); break;
+ case 350: { action. consumeDirectDeclaratorBracketed(); break;
}
//
- // Rule 351: basic_direct_abstract_declarator ::= ( abstract_declarator )
+ // Rule 351: basic_direct_abstract_declarator ::= ( )
//
- case 351: { action. consumeDirectDeclaratorBracketed(); break;
+ case 351: { action. consumeAbstractDeclaratorEmpty(); break;
}
//
- // Rule 352: basic_direct_abstract_declarator ::= ( )
+ // Rule 352: array_direct_abstract_declarator ::= array_modifier
//
- case 352: { action. consumeAbstractDeclaratorEmpty(); break;
+ case 352: { action. consumeDirectDeclaratorArrayDeclarator(false); break;
}
//
- // Rule 353: array_direct_abstract_declarator ::= array_modifier
+ // Rule 353: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
//
- case 353: { action. consumeDirectDeclaratorArrayDeclarator(false); break;
+ case 353: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 354: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
+ // Rule 354: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
//
case 354: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 355: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
+ // Rule 355: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
//
- case 355: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 355: { action. consumeDirectDeclaratorFunctionDeclarator(true); break;
}
//
- // Rule 356: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
+ // Rule 356: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
//
- case 356: { action. consumeDirectDeclaratorFunctionDeclarator(true); break;
+ case 356: { action. consumeDirectDeclaratorFunctionDeclarator(false); break;
}
//
- // Rule 357: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
+ // Rule 357: parameter_declaration_clause ::= parameter_declaration_list_opt ...
//
- case 357: { action. consumeDirectDeclaratorFunctionDeclarator(false); break;
+ case 357: { action. consumePlaceHolder(); break;
}
//
- // Rule 358: parameter_declaration_clause ::= parameter_declaration_list_opt ...
+ // Rule 358: parameter_declaration_clause ::= parameter_declaration_list_opt
//
- case 358: { action. consumePlaceHolder(); break;
+ case 358: { action. consumeEmpty(); break;
}
//
- // Rule 359: parameter_declaration_clause ::= parameter_declaration_list_opt
+ // Rule 359: parameter_declaration_clause ::= parameter_declaration_list , ...
//
- case 359: { action. consumeEmpty(); break;
+ case 359: { action. consumePlaceHolder(); break;
}
//
- // Rule 360: parameter_declaration_clause ::= parameter_declaration_list , ...
+ // Rule 365: abstract_declarator_opt ::= $Empty
//
- case 360: { action. consumePlaceHolder(); break;
+ case 365: { action. consumeEmpty(); break;
}
//
- // Rule 366: abstract_declarator_opt ::= $Empty
+ // Rule 366: parameter_declaration ::= declaration_specifiers parameter_init_declarator
//
- case 366: { action. consumeEmpty(); break;
+ case 366: { action. consumeParameterDeclaration(); break;
}
//
- // Rule 367: parameter_declaration ::= declaration_specifiers parameter_init_declarator
+ // Rule 367: parameter_declaration ::= declaration_specifiers
//
- case 367: { action. consumeParameterDeclaration(); break;
+ case 367: { action. consumeParameterDeclarationWithoutDeclarator(); break;
}
//
- // Rule 368: parameter_declaration ::= declaration_specifiers
+ // Rule 369: parameter_init_declarator ::= declarator = parameter_initializer
//
- case 368: { action. consumeParameterDeclarationWithoutDeclarator(); break;
+ case 369: { action. consumeDeclaratorWithInitializer(true); break;
}
//
- // Rule 370: parameter_init_declarator ::= declarator = parameter_initializer
+ // Rule 371: parameter_init_declarator ::= abstract_declarator = parameter_initializer
//
- case 370: { action. consumeDeclaratorWithInitializer(true); break;
+ case 371: { action. consumeDeclaratorWithInitializer(true); break;
}
//
- // Rule 372: parameter_init_declarator ::= abstract_declarator = parameter_initializer
+ // Rule 372: parameter_init_declarator ::= = parameter_initializer
//
- case 372: { action. consumeDeclaratorWithInitializer(true); break;
+ case 372: { action. consumeDeclaratorWithInitializer(false); break;
}
//
- // Rule 373: parameter_init_declarator ::= = parameter_initializer
+ // Rule 373: parameter_initializer ::= assignment_expression
//
- case 373: { action. consumeDeclaratorWithInitializer(false); break;
+ case 373: { action. consumeInitializer(); break;
}
//
- // Rule 374: parameter_initializer ::= assignment_expression
+ // Rule 374: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body
//
- case 374: { action. consumeInitializer(); break;
+ case 374: { action. consumeFunctionDefinition(false); break;
}
//
- // Rule 375: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body
+ // Rule 375: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq
//
- case 375: { action. consumeFunctionDefinition(false); break;
+ case 375: { action. consumeFunctionDefinition(true); break;
}
//
- // Rule 376: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq
+ // Rule 378: initializer ::= ( expression_list )
//
- case 376: { action. consumeFunctionDefinition(true); break;
+ case 378: { action. consumeInitializerConstructor(); break;
}
//
- // Rule 379: initializer ::= ( expression_list )
+ // Rule 379: initializer_clause ::= assignment_expression
//
- case 379: { action. consumeInitializerConstructor(); break;
+ case 379: { action. consumeInitializer(); break;
}
//
- // Rule 380: initializer_clause ::= assignment_expression
+ // Rule 380: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list , } end_initializer_list
//
- case 380: { action. consumeInitializer(); break;
+ case 380: { action. consumeInitializerList(); break;
}
//
- // Rule 381: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list , } end_initializer_list
+ // Rule 381: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list } end_initializer_list
//
case 381: { action. consumeInitializerList(); break;
}
//
- // Rule 382: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list } end_initializer_list
+ // Rule 382: initializer_clause ::= { <openscope-ast> }
//
case 382: { action. consumeInitializerList(); break;
}
//
- // Rule 383: initializer_clause ::= { <openscope-ast> }
+ // Rule 383: start_initializer_list ::= $Empty
//
- case 383: { action. consumeInitializerList(); break;
+ case 383: { action. initializerListStart(); break;
}
//
- // Rule 384: start_initializer_list ::= $Empty
+ // Rule 384: end_initializer_list ::= $Empty
//
- case 384: { action. initializerListStart(); break;
+ case 384: { action. initializerListEnd(); break;
}
//
- // Rule 385: end_initializer_list ::= $Empty
+ // Rule 389: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt }
//
- case 385: { action. initializerListEnd(); break;
+ case 389: { action. consumeClassSpecifier(); break;
}
//
- // Rule 390: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt }
+ // Rule 390: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook <openscope-ast> base_clause_opt
//
- case 390: { action. consumeClassSpecifier(); break;
+ case 390: { action. consumeClassHead(false); break;
}
//
- // Rule 391: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook <openscope-ast> base_clause_opt
+ // Rule 391: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt
//
case 391: { action. consumeClassHead(false); break;
}
//
- // Rule 392: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt
+ // Rule 392: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook <openscope-ast> base_clause_opt
//
- case 392: { action. consumeClassHead(false); break;
+ case 392: { action. consumeClassHead(true); break;
}
//
- // Rule 393: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook <openscope-ast> base_clause_opt
+ // Rule 393: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt
//
case 393: { action. consumeClassHead(true); break;
}
//
- // Rule 394: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt
+ // Rule 397: identifier_name_opt ::= $Empty
//
- case 394: { action. consumeClassHead(true); break;
- }
+ case 397: { action. consumeEmpty(); break;
+ }
//
- // Rule 398: identifier_name_opt ::= $Empty
+ // Rule 401: visibility_label ::= access_specifier_keyword :
//
- case 398: { action. consumeEmpty(); break;
- }
+ case 401: { action. consumeVisibilityLabel(); break;
+ }
//
- // Rule 402: visibility_label ::= access_specifier_keyword :
+ // Rule 402: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ;
//
- case 402: { action. consumeVisibilityLabel(); break;
+ case 402: { action. consumeDeclarationSimple(true); break;
}
//
- // Rule 403: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ;
+ // Rule 403: member_declaration ::= declaration_specifiers_opt ;
//
- case 403: { action. consumeDeclarationSimple(true); break;
+ case 403: { action. consumeDeclarationSimple(false); break;
}
//
- // Rule 404: member_declaration ::= declaration_specifiers_opt ;
+ // Rule 406: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ;
//
- case 404: { action. consumeDeclarationSimple(false); break;
+ case 406: { action. consumeMemberDeclarationQualifiedId(); break;
}
//
- // Rule 407: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ;
+ // Rule 412: member_declaration ::= ERROR_TOKEN
//
- case 407: { action. consumeMemberDeclarationQualifiedId(); break;
+ case 412: { action. consumeDeclarationProblem(); break;
}
//
- // Rule 413: member_declaration ::= ERROR_TOKEN
+ // Rule 421: member_declarator ::= declarator constant_initializer
//
- case 413: { action. consumeDeclarationProblem(); break;
+ case 421: { action. consumeMemberDeclaratorWithInitializer(); break;
}
//
- // Rule 422: member_declarator ::= declarator constant_initializer
+ // Rule 422: member_declarator ::= bit_field_declarator : constant_expression
//
- case 422: { action. consumeMemberDeclaratorWithInitializer(); break;
+ case 422: { action. consumeBitField(true); break;
}
//
- // Rule 423: member_declarator ::= bit_field_declarator : constant_expression
+ // Rule 423: member_declarator ::= : constant_expression
//
- case 423: { action. consumeBitField(true); break;
+ case 423: { action. consumeBitField(false); break;
}
//
- // Rule 424: member_declarator ::= : constant_expression
+ // Rule 424: bit_field_declarator ::= identifier_name
//
- case 424: { action. consumeBitField(false); break;
+ case 424: { action. consumeDirectDeclaratorIdentifier(); break;
}
//
- // Rule 425: bit_field_declarator ::= identifier_name
+ // Rule 425: constant_initializer ::= = constant_expression
//
- case 425: { action. consumeDirectDeclaratorIdentifier(); break;
+ case 425: { action. consumeInitializer(); break;
}
//
- // Rule 426: constant_initializer ::= = constant_expression
+ // Rule 431: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name
//
- case 426: { action. consumeInitializer(); break;
+ case 431: { action. consumeBaseSpecifier(false, false); break;
}
//
- // Rule 432: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name
+ // Rule 432: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name
//
- case 432: { action. consumeBaseSpecifier(false, false); break;
+ case 432: { action. consumeBaseSpecifier(true, true); break;
}
//
- // Rule 433: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name
+ // Rule 433: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name
//
case 433: { action. consumeBaseSpecifier(true, true); break;
}
//
- // Rule 434: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name
+ // Rule 434: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name
//
- case 434: { action. consumeBaseSpecifier(true, true); break;
+ case 434: { action. consumeBaseSpecifier(true, false); break;
}
//
- // Rule 435: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name
+ // Rule 435: access_specifier_keyword ::= private
//
- case 435: { action. consumeBaseSpecifier(true, false); break;
+ case 435: { action. consumeToken(); break;
}
//
- // Rule 436: access_specifier_keyword ::= private
+ // Rule 436: access_specifier_keyword ::= protected
//
case 436: { action. consumeToken(); break;
}
//
- // Rule 437: access_specifier_keyword ::= protected
+ // Rule 437: access_specifier_keyword ::= public
//
case 437: { action. consumeToken(); break;
}
//
- // Rule 438: access_specifier_keyword ::= public
+ // Rule 439: access_specifier_keyword_opt ::= $Empty
//
- case 438: { action. consumeToken(); break;
+ case 439: { action. consumeEmpty(); break;
}
//
- // Rule 440: access_specifier_keyword_opt ::= $Empty
+ // Rule 441: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt >
//
- case 440: { action. consumeEmpty(); break;
+ case 441: { action. consumeTemplateId(); break;
}
//
- // Rule 442: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt >
+ // Rule 442: conversion_function_id ::= operator conversion_type_id
//
- case 442: { action. consumeTemplateId(); break;
+ case 442: { action. consumeConversionName(); break;
}
//
- // Rule 443: conversion_function_id ::= operator conversion_type_id
+ // Rule 443: conversion_type_id ::= type_specifier_seq conversion_declarator
//
- case 443: { action. consumeConversionName(); break;
+ case 443: { action. consumeTypeId(true); break;
}
//
- // Rule 444: conversion_type_id ::= type_specifier_seq conversion_declarator
+ // Rule 444: conversion_type_id ::= type_specifier_seq
//
- case 444: { action. consumeTypeId(true); break;
+ case 444: { action. consumeTypeId(false); break;
}
//
- // Rule 445: conversion_type_id ::= type_specifier_seq
+ // Rule 445: conversion_declarator ::= <openscope-ast> ptr_operator_seq
//
- case 445: { action. consumeTypeId(false); break;
+ case 445: { action. consumeDeclaratorWithPointer(false); break;
}
//
- // Rule 446: conversion_declarator ::= <openscope-ast> ptr_operator_seq
+ // Rule 451: mem_initializer ::= mem_initializer_name ( expression_list_opt )
//
- case 446: { action. consumeDeclaratorWithPointer(false); break;
+ case 451: { action. consumeConstructorChainInitializer(); break;
}
//
- // Rule 452: mem_initializer ::= mem_initializer_name ( expression_list_opt )
+ // Rule 452: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name
//
- case 452: { action. consumeConstructorChainInitializer(); break;
+ case 452: { action. consumeQualifiedId(false); break;
}
//
- // Rule 453: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name
+ // Rule 455: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt >
//
- case 453: { action. consumeQualifiedId(false); break;
+ case 455: { action. consumeTemplateId(); break;
}
//
- // Rule 456: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt >
+ // Rule 456: operator_id_name ::= operator overloadable_operator
//
- case 456: { action. consumeTemplateId(); break;
+ case 456: { action. consumeOperatorName(); break;
}
//
- // Rule 457: operator_id_name ::= operator overloadable_operator
+ // Rule 499: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration
//
- case 457: { action. consumeOperatorName(); break;
+ case 499: { action. consumeTemplateDeclaration(); break;
}
//
- // Rule 500: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration
+ // Rule 500: export_opt ::= export
//
- case 500: { action. consumeTemplateDeclaration(); break;
+ case 500: { action. consumePlaceHolder(); break;
}
//
- // Rule 501: export_opt ::= export
+ // Rule 501: export_opt ::= $Empty
//
- case 501: { action. consumePlaceHolder(); break;
+ case 501: { action. consumeEmpty(); break;
}
//
- // Rule 502: export_opt ::= $Empty
+ // Rule 505: template_parameter ::= parameter_declaration
//
- case 502: { action. consumeEmpty(); break;
+ case 505: { action. consumeTemplateParamterDeclaration(); break;
}
//
- // Rule 506: template_parameter ::= parameter_declaration
+ // Rule 506: type_parameter ::= class identifier_name_opt
//
- case 506: { action. consumeTemplateParamterDeclaration(); break;
+ case 506: { action. consumeSimpleTypeTemplateParameter(false); break;
}
//
- // Rule 507: type_parameter ::= class identifier_name_opt
+ // Rule 507: type_parameter ::= class identifier_name_opt = type_id
//
- case 507: { action. consumeSimpleTypeTemplateParameter(false); break;
+ case 507: { action. consumeSimpleTypeTemplateParameter(true); break;
}
//
- // Rule 508: type_parameter ::= class identifier_name_opt = type_id
+ // Rule 508: type_parameter ::= typename identifier_name_opt
//
- case 508: { action. consumeSimpleTypeTemplateParameter(true); break;
+ case 508: { action. consumeSimpleTypeTemplateParameter(false); break;
}
//
- // Rule 509: type_parameter ::= typename identifier_name_opt
+ // Rule 509: type_parameter ::= typename identifier_name_opt = type_id
//
- case 509: { action. consumeSimpleTypeTemplateParameter(false); break;
+ case 509: { action. consumeSimpleTypeTemplateParameter(true); break;
}
//
- // Rule 510: type_parameter ::= typename identifier_name_opt = type_id
+ // Rule 510: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt
//
- case 510: { action. consumeSimpleTypeTemplateParameter(true); break;
+ case 510: { action. consumeTemplatedTypeTemplateParameter(false); break;
}
//
- // Rule 511: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt
+ // Rule 511: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression
//
- case 511: { action. consumeTemplatedTypeTemplateParameter(false); break;
+ case 511: { action. consumeTemplatedTypeTemplateParameter(true); break;
}
//
- // Rule 512: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression
+ // Rule 512: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt >
//
- case 512: { action. consumeTemplatedTypeTemplateParameter(true); break;
+ case 512: { action. consumeTemplateId(); break;
}
//
- // Rule 513: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt >
+ // Rule 517: template_argument ::= assignment_expression
//
- case 513: { action. consumeTemplateId(); break;
+ case 517: { action. consumeTemplateArgumentExpression(); break;
}
//
- // Rule 518: template_argument ::= assignment_expression
+ // Rule 518: template_argument ::= type_id
//
- case 518: { action. consumeTemplateArgumentExpression(); break;
+ case 518: { action. consumeTemplateArgumentTypeId(); break;
}
//
- // Rule 519: template_argument ::= type_id
+ // Rule 519: explicit_instantiation ::= template declaration
//
- case 519: { action. consumeTemplateArgumentTypeId(); break;
+ case 519: { action. consumeTemplateExplicitInstantiation(); break;
}
//
- // Rule 520: explicit_instantiation ::= template declaration
+ // Rule 520: explicit_specialization ::= template < > declaration
//
- case 520: { action. consumeTemplateExplicitInstantiation(); break;
+ case 520: { action. consumeTemplateExplicitSpecialization(); break;
}
//
- // Rule 521: explicit_specialization ::= template < > declaration
+ // Rule 521: try_block ::= try compound_statement <openscope-ast> handler_seq
//
- case 521: { action. consumeTemplateExplicitSpecialization(); break;
+ case 521: { action. consumeStatementTryBlock(); break;
}
//
- // Rule 522: try_block ::= try compound_statement <openscope-ast> handler_seq
+ // Rule 524: handler ::= catch ( exception_declaration ) compound_statement
//
- case 522: { action. consumeStatementTryBlock(); break;
+ case 524: { action. consumeStatementCatchHandler(false); break;
}
//
- // Rule 525: handler ::= catch ( exception_declaration ) compound_statement
+ // Rule 525: handler ::= catch ( ... ) compound_statement
//
- case 525: { action. consumeStatementCatchHandler(false); break;
+ case 525: { action. consumeStatementCatchHandler(true); break;
}
//
- // Rule 526: handler ::= catch ( ... ) compound_statement
+ // Rule 526: exception_declaration ::= type_specifier_seq <openscope-ast> declarator
//
- case 526: { action. consumeStatementCatchHandler(true); break;
+ case 526: { action. consumeDeclarationSimple(true); break;
}
//
- // Rule 527: exception_declaration ::= type_specifier_seq <openscope-ast> declarator
+ // Rule 527: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator
//
case 527: { action. consumeDeclarationSimple(true); break;
}
//
- // Rule 528: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator
- //
- case 528: { action. consumeDeclarationSimple(true); break;
- }
-
- //
- // Rule 529: exception_declaration ::= type_specifier_seq
+ // Rule 528: exception_declaration ::= type_specifier_seq
//
- case 529: { action. consumeDeclarationSimple(false); break;
+ case 528: { action. consumeDeclarationSimple(false); break;
}
//
- // Rule 531: exception_specification ::= throw ( )
+ // Rule 530: exception_specification ::= throw ( )
//
- case 531: { action. consumePlaceHolder(); break;
+ case 530: { action. consumePlaceHolder(); break;
}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParserprs.java
index da56f7fa2d6..c065f48663a 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParserprs.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParserprs.java
@@ -29,7 +29,7 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0
+ 0,0
};
};
public final static byte isKeyword[] = IsKeyword.isKeyword;
@@ -39,494 +39,494 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym
public final static short baseCheck[] = {0,
0,0,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,3,1,1,1,1,1,
- 1,1,1,2,2,1,1,0,1,0,
- 4,2,3,2,3,2,2,1,0,1,
- 1,4,4,4,8,8,3,3,4,4,
- 3,3,2,2,7,7,7,7,4,4,
- 5,6,3,2,2,1,1,1,2,2,
- 2,2,2,2,2,2,2,4,7,9,
- 3,0,1,2,2,1,2,3,4,1,
- 0,3,1,0,3,5,1,4,1,3,
- 3,1,3,3,3,1,3,3,1,3,
- 3,1,3,3,3,3,1,3,3,1,
- 3,1,3,1,3,1,3,1,3,1,
- 5,1,2,1,1,3,3,3,3,3,
- 3,3,3,3,3,3,1,2,1,3,
- 1,0,1,0,1,1,0,1,1,1,
- 1,1,1,1,1,1,3,4,3,2,
- 1,4,2,1,2,5,7,5,1,4,
- 1,0,5,7,8,1,1,2,2,3,
- 2,3,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,2,1,
- 0,4,4,2,2,2,2,2,1,0,
- 1,1,1,1,1,1,2,1,2,2,
- 2,1,1,2,2,1,2,2,1,2,
- 2,1,2,2,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,3,4,4,5,2,
- 5,6,5,0,6,7,0,1,3,1,
- 0,1,3,1,1,1,6,5,7,6,
- 1,0,6,5,6,4,1,3,1,0,
- 1,1,2,1,1,3,1,3,1,1,
- 1,1,3,9,2,2,3,2,4,2,
- 6,0,1,2,2,1,0,1,1,1,
- 3,1,2,1,1,2,3,1,1,1,
- 3,2,1,2,2,9,8,2,1,3,
- 1,3,1,0,1,0,2,1,1,3,
- 1,3,2,1,5,8,1,2,3,1,
- 7,6,3,0,0,1,3,1,1,5,
- 6,6,7,7,0,0,1,0,1,1,
- 1,2,4,2,2,1,5,1,1,1,
- 1,1,1,1,2,1,0,1,3,1,
- 1,2,3,2,1,2,2,1,0,1,
- 3,3,5,5,4,1,1,1,1,0,
- 1,5,2,2,1,2,2,1,0,1,
- 3,4,3,1,1,5,2,1,1,3,
+ 1,1,1,3,1,1,1,1,1,1,
+ 1,1,2,2,1,1,0,1,0,4,
+ 2,3,2,3,2,2,1,0,1,1,
+ 4,4,4,8,8,3,3,4,4,3,
+ 3,2,2,7,7,7,7,4,4,5,
+ 6,3,2,2,1,1,1,2,2,2,
+ 2,2,2,2,2,2,4,7,9,3,
+ 0,1,2,2,1,2,3,4,1,0,
+ 3,1,0,3,5,1,4,1,3,3,
+ 1,3,3,3,1,3,3,1,3,3,
+ 1,3,3,3,3,1,3,3,1,3,
+ 1,3,1,3,1,3,1,3,1,5,
+ 1,2,1,1,3,3,3,3,3,3,
+ 3,3,3,3,3,1,2,1,3,1,
+ 0,1,0,1,1,0,1,1,1,1,
+ 1,1,1,1,1,3,4,3,2,1,
+ 4,2,1,2,5,7,5,1,4,1,
+ 0,5,7,8,1,1,2,2,3,2,
3,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,2,1,0,
+ 4,4,2,2,2,2,2,1,0,1,
+ 1,1,1,1,1,2,1,2,2,2,
+ 1,1,2,2,1,2,2,1,2,2,
+ 1,2,2,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,3,4,4,5,2,5,
+ 6,5,0,6,7,0,1,3,1,0,
+ 1,3,1,1,1,6,5,7,6,1,
+ 0,6,5,6,4,1,3,1,0,1,
+ 1,2,1,1,3,1,3,1,1,1,
+ 1,3,9,2,2,3,2,4,2,6,
+ 0,1,2,2,1,0,1,1,1,3,
+ 1,2,1,1,2,3,1,1,1,3,
+ 2,1,2,2,9,8,2,1,3,1,
+ 3,1,0,1,0,2,1,1,3,1,
+ 3,2,1,5,8,1,2,3,1,7,
+ 6,3,0,0,1,3,1,1,5,6,
+ 6,7,7,0,0,1,0,1,1,1,
+ 2,4,2,2,1,5,1,1,1,1,
+ 1,1,1,2,1,0,1,3,1,1,
+ 2,3,2,1,2,2,1,0,1,3,
+ 3,5,5,4,1,1,1,1,0,1,
+ 5,2,2,1,2,2,1,0,1,3,
+ 4,3,1,1,5,2,1,1,3,3,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,2,2,7,
- 1,0,1,3,1,1,2,4,2,4,
- 7,9,5,1,3,1,0,1,1,2,
- 4,4,1,2,5,5,3,3,1,4,
- 3,1,0,1,3,-235,0,0,0,-2,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-4,0,0,
- 0,0,0,0,0,-7,0,-124,0,0,
- 0,0,0,-145,0,0,0,0,-519,0,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,2,2,7,1,
+ 0,1,3,1,1,2,4,2,4,7,
+ 9,5,1,3,1,0,1,1,2,4,
+ 4,1,2,5,5,3,3,1,4,3,
+ 1,0,1,3,-235,0,0,0,-2,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-9,-324,-258,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-4,0,0,0,
+ 0,0,0,0,-7,0,-124,0,0,0,
+ 0,0,-145,0,0,0,0,-519,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-58,0,0,0,0,
- 0,0,0,0,0,-48,0,0,0,-54,
- 0,0,0,0,0,-50,0,0,0,0,
- -295,0,0,-72,0,-12,-106,0,0,-118,
+ -9,-324,-258,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-14,0,0,-24,0,-144,0,0,0,
- -31,0,0,0,0,0,-25,0,0,0,
- 0,0,0,0,0,0,0,0,-100,0,
+ 0,0,0,0,-58,0,0,0,0,0,
+ 0,0,0,0,-48,0,0,0,-54,0,
+ 0,0,0,0,-50,0,0,0,0,-295,
+ 0,0,-72,0,-12,-106,0,0,-118,0,
0,0,0,0,0,0,0,0,0,0,
+ -14,0,0,-24,0,-144,0,0,0,-31,
+ 0,0,0,0,0,-25,0,0,0,0,
+ 0,0,0,0,0,0,0,-100,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-3,0,
- -32,0,-113,0,0,0,0,0,0,0,
- 0,0,0,0,-63,0,-448,0,0,-34,
- 0,0,0,0,-115,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-3,0,-32,
+ 0,-113,0,0,0,0,0,0,0,0,
+ 0,0,0,-63,0,-448,0,0,-34,0,
+ 0,0,0,-115,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-333,0,
- 0,0,0,-135,0,0,0,0,0,0,
- -92,0,0,0,-102,0,0,0,-35,0,
- 0,0,0,-241,0,0,0,-215,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-116,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-333,0,0,
+ 0,0,-135,0,0,0,0,0,0,-92,
+ 0,0,0,-102,0,0,0,-35,0,0,
+ 0,0,-241,0,0,0,-215,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-116,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-396,0,-60,0,0,0,
- 0,0,-101,0,0,0,0,-184,-13,0,
- -37,0,0,0,0,0,-313,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,-396,0,-60,0,0,0,0,
+ 0,-101,0,0,0,0,-184,-13,0,-37,
+ 0,0,0,0,0,-313,0,0,0,-277,
0,0,0,0,0,0,0,0,0,0,
- -232,0,-38,0,0,0,0,0,0,0,
- 0,0,0,-310,-49,0,-417,0,0,0,
- -282,0,0,0,0,0,0,-227,0,0,
- 0,0,0,-30,0,0,0,-372,0,0,
- 0,0,0,0,0,0,0,-39,0,0,
- -380,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-232,
+ 0,-38,0,0,0,0,0,0,0,0,
+ 0,0,-310,-49,0,-417,0,0,0,-282,
+ 0,0,0,0,0,0,-227,0,0,0,
+ 0,0,-30,0,0,0,-372,0,0,0,
+ 0,0,0,0,0,0,-39,0,0,-380,
0,0,0,0,0,0,0,0,0,0,
- -43,0,0,0,0,0,0,0,0,-55,
- 0,0,0,-467,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-43,
+ 0,0,0,0,0,0,0,0,-55,0,
+ 0,0,-467,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-27,0,-56,0,0,0,0,
- 0,0,-40,0,0,0,0,0,-304,0,
- 0,0,-237,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-64,0,
- -67,0,0,0,0,0,-41,-435,0,0,
- 0,0,0,-111,0,0,0,-129,0,0,
+ 0,0,-27,0,-56,0,0,0,0,0,
+ 0,-40,0,0,0,0,0,-304,0,0,
+ 0,-237,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-64,0,-67,
+ 0,0,0,0,0,-41,-435,0,0,0,
+ 0,0,-111,0,0,0,-129,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-47,0,-74,0,0,0,0,
- 0,0,0,0,0,0,-180,0,0,0,
- 0,-306,-192,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,-47,0,-74,0,0,0,0,0,
+ 0,0,0,0,0,-180,0,0,0,0,
+ -306,-192,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-52,0,-19,0,0,0,0,0,
- -142,0,0,0,0,-276,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-75,0,0,
- 0,0,0,0,0,-57,0,-17,0,0,
- 0,0,0,-290,0,0,0,0,0,0,
+ 0,-52,0,-19,0,0,0,0,0,-142,
+ 0,0,0,0,-276,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-75,0,0,0,
+ 0,0,0,0,-57,0,-17,0,0,0,
+ 0,0,-290,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-500,0,0,0,0,0,0,
- 0,-88,0,0,0,0,-242,0,0,0,
- -76,0,0,0,0,0,0,0,0,-53,
- 0,0,0,-383,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-77,0,0,0,0,
- 0,0,0,0,0,-95,0,-132,0,0,
- 0,-61,0,0,0,0,-42,0,-384,0,
+ 0,0,-500,0,0,0,0,0,0,0,
+ -88,0,0,0,0,-242,0,0,0,-76,
+ 0,0,0,0,0,0,0,0,-53,0,
+ 0,0,-383,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-77,0,0,0,0,0,
+ 0,0,0,0,-95,0,-132,0,0,0,
+ -61,0,0,0,0,-42,0,-384,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-134,0,
- -146,0,0,0,0,0,0,0,0,0,
- 0,-107,0,0,0,-97,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-377,0,0,0,0,0,0,
- 0,0,0,-148,0,0,0,0,0,-224,
- 0,-177,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-134,0,-146,
0,0,0,0,0,0,0,0,0,0,
+ -107,0,0,0,-97,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-411,0,-59,0,0,0,0,0,0,
- -149,-104,0,0,0,0,-405,0,0,-264,
+ 0,0,-377,0,0,0,0,0,0,0,
+ 0,0,-148,0,0,0,0,0,-224,0,
+ -177,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ -411,0,-59,0,0,0,0,0,0,-149,
+ -104,0,0,0,0,-405,0,0,-264,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-150,0,-51,0,0,0,-225,0,-151,
- 0,0,-265,0,0,0,-152,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-93,0,0,0,0,0,
- 0,0,-69,0,-154,0,0,0,0,0,
- -376,0,-94,0,0,-266,0,0,0,-166,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-138,0,0,
- 0,0,0,0,0,-70,0,0,0,0,
- 0,0,0,-167,-168,-139,0,0,-267,0,
- 0,0,-169,0,0,0,0,0,0,0,
+ -150,0,-51,0,0,0,-225,0,-151,0,
+ 0,-265,0,0,0,-152,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-93,0,0,0,0,0,0,
+ 0,-69,0,-154,0,0,0,0,0,-376,
+ 0,-94,0,0,-266,0,0,0,-166,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-80,0,0,0,0,-170,-466,0,
- 0,-268,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-138,0,0,0,
+ 0,0,0,0,-70,0,0,0,0,0,
+ 0,0,-167,-168,-139,0,0,-267,0,0,
+ 0,-169,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-81,0,-501,0,0,0,0,0,-171,
- -172,-173,0,0,-269,0,0,0,0,0,
+ 0,-80,0,0,0,0,-170,-466,0,0,
+ -268,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-84,0,-174,0,0,0,
- 0,0,-175,-176,-178,0,0,-270,0,0,
- 0,-179,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,-86,0,-185,
- 0,0,0,0,0,-187,-189,-195,0,0,
- -271,0,0,0,-197,0,0,0,0,0,
+ -81,0,-501,0,0,0,0,0,-171,-172,
+ -173,0,0,-269,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-198,0,0,0,0,0,0,0,
- 0,0,-201,0,-87,0,0,0,-203,0,
- -204,0,0,-272,0,0,0,-205,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-84,0,-174,0,0,0,0,
+ 0,-175,-176,-178,0,0,-270,0,0,0,
+ -179,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,-86,0,-185,0,
+ 0,0,0,0,-187,-189,-195,0,0,-271,
+ 0,0,0,-197,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-98,0,-220,0,0,0,0,
- 0,-221,-90,-240,0,0,-273,0,0,0,
- -284,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,-292,0,-299,0,
- 0,0,0,0,-300,-305,-307,0,0,-274,
- 0,0,0,-320,0,0,0,0,0,0,
+ 0,-198,0,0,0,0,0,0,0,0,
+ 0,-201,0,-87,0,0,0,-203,0,-204,
+ 0,0,-272,0,0,0,-205,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-321,0,0,0,0,0,0,0,-114,
- 0,-322,0,0,0,0,0,-323,-127,-327,
- 0,0,-379,0,0,0,-328,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-329,0,0,0,0,0,
- 0,0,-341,0,-342,0,0,0,0,0,
- -343,-128,-344,0,0,-416,0,0,0,-345,
+ 0,0,-98,0,-220,0,0,0,0,0,
+ -221,-90,-240,0,0,-273,0,0,0,-284,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-346,0,0,
- 0,0,0,0,0,-347,0,-348,0,0,
- 0,0,0,-349,-131,-350,0,0,-520,0,
- 0,0,-351,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-291,0,0,
+ 0,0,0,0,0,-292,0,-299,0,0,
+ 0,0,0,-300,-305,-307,0,0,-274,0,
+ 0,0,-320,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -352,0,0,0,0,0,0,0,-119,0,
- -353,0,0,0,0,0,-360,-354,-188,0,
- 0,-312,0,0,0,-301,0,0,0,0,
+ -321,0,0,0,0,0,0,0,-114,0,
+ -322,0,0,0,0,0,-323,-127,-327,0,
+ 0,-379,0,0,0,-328,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-79,0,0,0,0,0,0,
- 0,-110,0,-355,0,0,0,0,0,-363,
+ 0,0,0,-329,0,0,0,0,0,0,
+ 0,-341,0,-342,0,0,0,0,0,-343,
+ -128,-344,0,0,-416,0,0,0,-345,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-346,0,0,0,
+ 0,0,0,0,-347,0,-348,0,0,0,
+ 0,0,-349,-131,-350,0,0,-520,0,0,
+ 0,-351,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-352,
+ 0,0,0,0,0,0,0,-119,0,-353,
+ 0,0,0,0,0,-360,-354,-188,0,0,
+ -312,0,0,0,-301,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-71,
- 0,0,0,0,0,0,0,-89,0,0,
- 0,0,-356,0,0,0,0,0,0,-392,
+ 0,0,-79,0,0,0,0,0,0,0,
+ -110,0,-355,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,0,0,0,-334,
- 0,-194,0,0,0,0,0,-393,0,0,
+ 0,0,0,0,0,0,0,0,-71,0,
+ 0,0,0,0,0,0,-89,0,0,0,
+ 0,-356,0,0,0,0,0,0,-392,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-357,
- 0,0,0,0,0,-120,0,0,0,-358,
- -208,0,0,0,0,0,-359,-514,0,0,
+ 0,0,0,0,0,0,0,0,-334,0,
+ -194,0,0,0,0,0,-393,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-190,
- 0,0,0,0,0,0,0,-140,0,-303,
- 0,0,0,0,0,-263,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-357,0,
+ 0,0,0,0,-120,0,0,0,-358,-208,
+ 0,0,0,0,0,-359,-514,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-362,0,0,0,-536,
+ 0,0,0,0,0,0,0,0,-190,0,
+ 0,0,0,0,0,0,-140,0,-303,0,
+ 0,0,0,0,-263,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-364,0,0,-261,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-451,0,0,
- 0,0,0,0,0,-366,0,-262,0,0,
- 0,-367,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-216,
- 0,0,0,0,0,0,0,-28,0,0,
+ 0,0,0,0,-362,0,0,0,-536,0,
0,0,0,0,0,0,0,0,0,0,
- -202,0,0,0,0,0,0,0,0,0,
- 0,0,0,-302,0,0,0,-218,0,0,
- 0,0,0,0,-368,-212,0,0,0,0,
- 0,0,0,0,0,0,0,0,-141,-369,
- -365,0,0,-15,-452,0,0,0,0,0,
- 0,0,-217,0,0,0,0,-308,-143,0,
- 0,0,0,0,0,-109,0,0,0,0,
- -130,0,0,0,-206,0,0,0,0,0,
- 0,-371,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-46,0,0,
- -16,0,0,-394,0,0,-68,0,0,0,
- 0,0,0,0,0,0,-29,0,0,0,
+ 0,-364,0,0,-261,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-78,0,0,0,0,0,
- -259,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-451,0,0,0,
+ 0,0,0,0,-366,0,-262,0,0,0,
+ -367,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-216,0,
+ 0,0,0,0,0,0,-28,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-202,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,-302,0,0,0,-218,0,0,0,
+ 0,0,0,-368,-212,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-141,-369,-365,
+ 0,0,-15,-452,0,0,0,0,0,0,
+ 0,-217,0,0,0,0,-308,-143,0,0,
+ 0,0,0,0,-109,0,0,0,0,-130,
+ 0,0,0,-206,0,0,0,0,0,0,
+ -371,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-46,0,0,-16,
+ 0,0,-394,0,0,-68,0,0,0,0,
+ 0,0,0,0,0,-29,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-400,-401,0,0,0,-468,0,
- 0,-527,-402,-403,0,0,0,0,0,0,
- 0,0,0,-537,-336,0,0,0,0,0,
- 0,0,0,0,0,0,0,-207,0,0,
- -260,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-78,0,0,0,0,0,-259,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-293,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-65,0,0,0,-209,0,0,0,0,
- 0,0,0,0,-21,-211,-252,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-418,0,
- 0,0,0,-439,0,0,0,0,0,0,
- -419,0,0,-153,0,0,-421,0,0,0,
+ 0,0,-400,-401,0,0,0,-468,0,0,
+ -527,-402,-403,0,0,0,0,0,0,0,
+ 0,0,-537,-336,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-207,0,0,-260,
0,0,0,0,0,0,0,0,0,0,
- 0,-487,0,-426,-281,0,0,0,0,0,
- 0,0,0,0,0,-253,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-430,0,0,
- 0,0,-254,0,0,0,-309,0,0,0,
+ 0,0,0,0,0,0,0,-293,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-434,0,0,0,0,-255,
- 0,0,0,-73,0,0,0,0,0,0,
+ -65,0,0,0,-209,0,0,0,0,0,
+ 0,0,0,-21,-211,-252,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-446,0,0,0,0,-280,0,-196,-447,
- 0,-338,0,0,0,0,0,0,0,0,
- 0,0,0,0,-10,0,0,0,0,-414,
- 0,0,0,-330,0,0,0,0,0,-404,
- 0,0,0,-361,0,0,0,0,-449,0,
+ 0,0,0,0,0,0,0,-418,0,0,
+ 0,0,-439,0,0,0,0,0,0,-419,
+ 0,0,-153,0,0,-421,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -103,-238,0,0,0,0,-191,-373,0,0,
+ -487,0,-426,-281,0,0,0,0,0,0,
+ 0,0,0,0,-253,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-332,-453,0,
+ 0,0,0,0,0,0,-430,0,0,0,
+ 0,-254,0,0,0,-309,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -454,0,0,0,-200,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-5,0,
- 0,0,-18,0,-316,0,0,0,0,0,
- 0,0,-386,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-340,-256,0,
+ 0,0,0,-434,0,0,0,0,-255,0,
+ 0,0,-73,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ -446,0,0,0,0,-280,0,-196,-447,0,
+ -338,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-10,0,0,0,0,-414,0,
+ 0,0,-330,0,0,0,0,0,-404,0,
+ 0,0,-361,0,0,0,0,-449,0,0,
+ 0,0,0,0,0,0,0,0,0,-103,
+ -238,0,0,0,0,-191,-373,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-182,0,0,0,0,-33,
- 0,-463,0,0,0,0,0,-469,-233,-234,
- 0,0,0,0,-465,0,0,0,0,-484,
- -488,0,-133,0,0,0,0,0,0,0,
- 0,0,0,-512,0,0,0,0,-147,-121,
- 0,0,0,0,0,0,0,0,0,-489,
- 0,0,0,0,-278,0,0,0,0,0,
- -494,0,0,-315,-157,0,0,0,0,0,
+ 0,0,0,0,0,0,-332,-453,0,0,
+ 0,0,0,0,0,0,0,0,0,-454,
+ 0,0,0,-200,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-5,0,0,
+ 0,-18,0,-316,0,0,0,0,0,0,
+ 0,-386,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-340,-256,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-257,0,0,0,0,0,0,0,0,
+ 0,0,0,-182,0,0,0,0,-33,0,
+ -463,0,0,0,0,0,-469,-233,-234,0,
+ 0,0,0,-465,0,0,0,0,-484,-488,
+ 0,-133,0,0,0,0,0,0,0,0,
+ 0,0,-512,0,0,0,0,-147,-121,0,
+ 0,0,0,0,0,0,0,0,-489,0,
+ 0,0,0,-278,0,0,0,0,0,-494,
+ 0,0,-315,-157,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-370,0,0,0,0,0,0,
- -385,-502,-456,-399,0,0,0,0,0,0,
- 0,0,0,0,0,0,-193,-213,-219,0,
- 0,0,0,0,0,0,0,0,0,-503,
- -420,0,0,0,0,-210,0,0,-285,0,
- 0,0,0,0,0,0,0,0,-407,0,
- -511,-521,0,0,0,0,0,-20,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-415,0,0,0,0,0,
- 0,0,0,0,-422,0,0,-395,0,-483,
- 0,0,0,-214,0,-526,0,0,0,0,
+ -257,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-470,0,0,0,0,
- 0,-457,0,0,0,0,-455,0,0,0,
+ 0,0,-370,0,0,0,0,0,0,-385,
+ -502,-456,-399,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-193,-213,-219,0,0,
+ 0,0,0,0,0,0,0,0,-503,-420,
+ 0,0,0,0,-210,0,0,-285,0,0,
+ 0,0,0,0,0,0,0,-407,0,-511,
+ -521,0,0,0,0,0,-20,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-62,0,0,0,0,0,-22,0,
+ 0,0,0,-415,0,0,0,0,0,0,
+ 0,0,0,-422,0,0,-395,0,-483,0,
+ 0,0,-214,0,-526,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-228,-105,0,0,0,0,0,0,
- 0,0,0,0,0,-493,-223,0,-279,0,
- 0,-244,0,0,0,0,-318,0,-529,0,
- 0,0,0,0,0,0,0,0,-183,0,
- 0,-374,-286,0,-288,0,0,0,0,0,
- 0,0,-495,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-375,
+ 0,0,0,0,-470,0,0,0,0,0,
+ -457,0,0,0,0,-455,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,-62,0,0,0,0,0,-22,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-287,0,-311,0,0,0,0,
+ 0,-228,-105,0,0,0,0,0,0,0,
+ 0,0,0,0,-493,-223,0,-279,0,0,
+ -244,0,0,0,0,-318,0,-529,0,0,
+ 0,0,0,0,0,0,0,-183,0,0,
+ -374,-286,0,-288,0,0,0,0,0,0,
+ 0,-495,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-375,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-26,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-497,0,0,
0,0,0,0,0,0,0,0,0,0,
- -437,-314,0,0,0,0,0,0,-505,0,
- 0,0,0,-516,-499,-438,0,0,0,-117,
- 0,0,0,0,0,-481,0,0,0,0,
- 0,0,0,-289,-296,-199,0,0,0,-298,
- 0,-317,0,0,0,0,0,0,0,0,
+ 0,0,-287,0,-311,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-532,0,
- 0,0,0,0,-222,-390,-432,0,0,0,
+ 0,0,-26,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-497,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-437,
+ -314,0,0,0,0,0,0,-505,0,0,
+ 0,0,-516,-499,-438,0,0,0,-117,0,
+ 0,0,0,0,-481,0,0,0,0,0,
+ 0,0,-289,-296,-199,0,0,0,-298,0,
+ -317,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-517,0,0,0,0,0,0,0,0,
- -294,-506,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-532,0,0,
+ 0,0,0,-222,-390,-432,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-381,-538,0,0,-275,0,0,0,
+ -517,0,0,0,0,0,0,0,0,-294,
+ -506,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-410,0,-243,0,
- 0,-382,0,0,0,-1,0,0,0,0,
- 0,0,0,0,0,0,0,0,-319,0,
+ 0,-381,-538,0,0,-275,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -36,0,0,0,0,-44,0,0,0,0,
- 0,0,0,0,0,0,0,0,-518,0,
- 0,0,0,0,0,0,0,0,0,-156,
- 0,0,0,0,0,-325,-442,-335,-428,0,
- 0,0,0,0,0,-504,0,0,0,0,
+ 0,0,0,0,0,-410,0,-243,0,0,
+ -382,0,0,0,-1,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-319,0,0,
+ 0,0,0,0,0,0,0,0,0,-36,
+ 0,0,0,0,-44,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-518,0,0,
+ 0,0,0,0,0,0,0,0,-156,0,
+ 0,0,0,0,-325,-442,-335,-428,0,0,
+ 0,0,0,0,-504,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-431,0,0,0,0,0,
+ 0,0,0,-431,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-247,0,0,0,0,0,0,0,0,
+ -247,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-515,0,0,-248,0,0,0,
- -429,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-85,0,
- 0,0,0,-112,0,0,0,0,0,0,
- 0,0,0,0,0,0,-531,0,0,0,
- 0,-158,0,0,0,0,0,0,0,0,
+ 0,0,-515,0,0,-248,0,0,0,-429,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-496,0,0,0,0,0,0,
- 0,0,-45,0,0,0,0,-433,0,0,
- -339,0,0,0,0,-123,0,0,-443,0,
- -378,0,0,0,0,0,0,0,-398,0,
- 0,0,0,0,0,0,0,0,-66,0,
- 0,0,0,-283,0,0,0,0,0,0,
- -444,0,0,0,0,-412,-441,0,0,0,
+ 0,0,0,0,0,0,0,-85,0,0,
+ 0,0,-112,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-531,0,0,0,0,
+ -158,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -440,0,0,0,0,-125,0,0,0,0,
- 0,0,0,0,-450,-458,0,0,0,0,
- 0,0,0,0,0,0,0,0,-460,0,
- 0,0,0,-391,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-523,
+ 0,0,-496,0,0,0,0,0,0,0,
+ 0,-45,0,0,0,0,-433,0,0,-339,
+ 0,0,0,0,-123,0,0,-443,0,-378,
+ 0,0,0,0,0,0,0,-398,0,0,
+ 0,0,0,0,0,0,0,-66,0,0,
+ 0,0,-283,0,0,0,0,0,0,-444,
+ 0,0,0,0,-412,-441,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-440,
+ 0,0,0,0,-125,0,0,0,0,0,
+ 0,0,0,-450,-458,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-460,0,0,
+ 0,0,-391,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-523,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-231,0,0,0,-462,0,-464,-445,0,
- 0,-474,0,0,-475,0,0,-476,0,0,
+ -231,0,0,0,-462,0,-464,-445,0,0,
+ -474,0,0,-475,0,0,-476,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-477,0,0,0,0,0,0,0,0,
- 0,-249,0,0,0,0,0,0,0,0,
+ -477,0,0,0,0,0,0,0,0,0,
+ -249,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-250,0,0,0,0,
+ 0,0,0,0,-250,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-478,0,-251,
- 0,0,0,-490,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-478,0,-251,0,
+ 0,0,-490,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-482,0,-492,-507,0,-528,0,0,0,
+ -482,0,-492,-507,0,-528,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-159,0,0,0,0,0,0,0,0,
+ -159,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-160,0,0,0,0,0,0,
+ 0,0,-160,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-161,0,0,0,0,
+ 0,0,0,0,-161,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-162,0,0,
+ 0,0,0,0,0,0,-162,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-163,
+ 0,0,0,0,0,0,0,0,-163,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-164,0,0,0,0,0,0,0,0,
+ -164,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-165,0,0,0,0,0,0,
+ 0,0,-165,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-236,0,0,0,0,
+ 0,0,0,0,-236,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-245,0,0,
+ 0,0,0,0,0,0,-245,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-246,
+ 0,0,0,0,0,0,0,0,-246,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-326,0,0,0,0,0,0,0,0,
+ -326,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-408,0,0,0,-491,0,0,
+ 0,0,-408,0,0,0,-491,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-8,-425,0,-509,0,
- 0,-473,0,0,0,-510,-122,-11,-479,0,
- 0,0,0,0,0,0,0,0,0,-524,
- -530,0,0,-534,0,0,0,0,0,0,
- 0,0,0,0,0,0,-522,0,0,0,
+ 0,0,0,0,-8,-425,0,-509,0,0,
+ -473,0,0,0,-510,-122,-11,-479,0,0,
+ 0,0,0,0,0,0,0,0,-524,-530,
+ 0,0,-534,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-522,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-480,-82,0,-508,0,0,
- 0,0,0,0,0,0,0,-533,0,0,
- 0,0,0,0,0,0,0,0,0,-535,
- 0,0,0,0,0,-485,0,0,0,0,
- 0,0,0,0,-387,0,-83,0,0,0,
+ 0,0,0,-480,-82,0,-508,0,0,0,
+ 0,0,0,0,0,0,-533,0,0,0,
+ 0,0,0,0,0,0,0,0,-535,0,
+ 0,0,0,0,-485,0,0,0,0,0,
+ 0,0,0,-387,0,-83,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-297,0,0,0,0,0,0,
+ 0,0,-297,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-406,0,0,0,0,0,0,0,
+ 0,-406,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-486,0,
+ 0,0,0,0,0,0,0,-486,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-108,
0,0,0,0,0,0,0,0,0,0,
- -108,0,0,0,0,0,0,0,0,0,
- 0,0,0,-459,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-23,0,
+ 0,0,-459,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-23,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-229,0,0,0,0,-413,0,
+ 0,0,-229,0,0,0,0,-413,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-91,0,0,0,0,
- 0,0,0,0,-96,0,0,0,0,0,
+ 0,0,0,0,-91,0,0,0,0,0,
+ 0,0,0,-96,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-136,
0,0,0,0,0,0,0,0,0,0,
- -136,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-230,0,-137,0,0,0,0,
+ 0,0,-230,0,-137,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-6,0,0,0,0,0,0,0,
- 0,0,0,0,0,-388,0,0,0,0,
- 0,0,0,0,-99,0,0,0,0,0,
- -126,0,0,0,0,-513,-498,0,0,0,
- 0,0,-186,0,0,0,-331,0,0,0,
+ 0,-6,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-388,0,0,0,0,0,
+ 0,0,0,-99,0,0,0,0,0,-126,
+ 0,0,0,0,-513,-498,0,0,0,0,
+ 0,-186,0,0,0,-331,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-337,0,0,0,0,0,-461,0,0,
- 0,0,0,0,0,0,-397,0,0,0,
- -436,0,0,0,0,0,0,0,0,0,
- 0,-471,0,0,0,0,0,0,-472,0,
+ -337,0,0,0,0,0,-461,0,0,0,
+ 0,0,0,0,0,-397,0,0,0,-436,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-155,0,0,
- 0,0,-226,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-239,0,0,0,
+ -471,0,0,0,0,0,0,-472,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-155,0,0,0,
+ 0,-226,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-239,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -423,0,0,0,0,-424,0,0,0,0,
- -427,0,0,0,0,0,-525,0,0,-389,
- 0,0,0,0,-409,-539,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-423,
+ 0,0,0,0,-424,0,0,0,0,-427,
+ 0,0,0,0,0,-525,0,0,-389,0,
+ 0,0,0,-409,-539,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
@@ -545,7 +545,7 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0
+ 0,0,0,0,0
};
};
public final static short baseCheck[] = BaseCheck.baseCheck;
@@ -557,550 +557,550 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym
public final static char baseAction[] = {
174,4,136,83,83,32,32,67,67,38,
38,40,40,174,1,1,15,15,15,15,
- 15,15,15,15,16,16,16,14,11,11,
- 6,6,6,6,6,6,2,65,65,5,
- 5,12,12,44,44,137,137,138,57,57,
- 43,17,17,17,17,17,17,17,17,17,
+ 15,15,15,16,16,16,14,11,11,6,
+ 6,6,6,6,6,2,65,65,5,5,
+ 12,12,44,44,137,137,138,57,57,43,
17,17,17,17,17,17,17,17,17,17,
- 17,139,139,139,116,116,18,18,18,18,
- 18,18,18,18,18,18,18,18,18,19,
- 19,175,175,176,176,177,142,142,143,143,
- 140,140,144,141,141,20,20,21,21,23,
- 23,23,24,24,24,24,25,25,25,26,
- 26,26,27,27,27,27,27,28,28,28,
- 29,29,31,31,33,33,35,35,36,36,
- 37,37,42,42,41,41,41,41,41,41,
- 41,41,41,41,41,41,41,39,30,145,
- 145,97,97,178,178,92,200,200,68,68,
- 68,68,68,68,68,68,68,69,69,69,
- 66,66,56,56,179,179,70,70,70,104,
- 104,180,180,71,71,71,181,181,72,72,
- 72,72,72,73,73,84,84,84,84,84,
- 84,84,84,49,49,49,49,49,105,105,
- 103,103,50,182,22,22,22,22,22,48,
- 48,87,87,87,87,87,152,152,147,147,
- 147,147,147,148,148,148,149,149,149,150,
- 150,150,151,151,151,88,88,88,88,88,
- 89,89,89,13,13,13,13,13,13,13,
- 13,13,13,13,98,120,120,120,120,120,
- 120,118,118,118,153,119,119,183,155,155,
- 154,154,122,122,106,77,77,78,79,52,
- 47,156,156,53,51,86,86,157,157,146,
- 146,123,124,124,125,82,82,158,158,63,
- 63,63,60,60,59,64,64,80,80,58,
- 58,58,54,90,90,100,99,99,62,62,
- 61,61,55,55,45,101,101,101,93,93,
- 93,94,94,95,95,95,96,96,107,107,
- 107,109,109,108,108,201,201,91,91,185,
- 185,185,185,185,127,46,46,160,184,184,
- 128,128,128,128,129,162,186,186,34,34,
- 117,130,130,130,130,188,111,110,110,121,
- 121,121,163,164,164,164,164,164,164,164,
- 164,164,164,164,190,190,187,187,189,189,
- 165,166,166,166,166,167,191,113,112,112,
- 192,192,168,168,168,168,102,102,102,193,
- 193,8,8,9,194,194,195,169,159,159,
- 170,170,171,172,172,7,7,10,196,196,
- 196,196,196,196,196,196,196,196,196,196,
+ 17,17,17,17,17,17,17,17,17,17,
+ 139,139,139,116,116,18,18,18,18,18,
+ 18,18,18,18,18,18,18,18,19,19,
+ 175,175,176,176,177,142,142,143,143,140,
+ 140,144,141,141,20,20,21,21,23,23,
+ 23,24,24,24,24,25,25,25,26,26,
+ 26,27,27,27,27,27,28,28,28,29,
+ 29,31,31,33,33,35,35,36,36,37,
+ 37,42,42,41,41,41,41,41,41,41,
+ 41,41,41,41,41,41,39,30,145,145,
+ 97,97,178,178,92,200,200,68,68,68,
+ 68,68,68,68,68,68,69,69,69,66,
+ 66,56,56,179,179,70,70,70,104,104,
+ 180,180,71,71,71,181,181,72,72,72,
+ 72,72,73,73,84,84,84,84,84,84,
+ 84,84,49,49,49,49,49,105,105,103,
+ 103,50,182,22,22,22,22,22,48,48,
+ 87,87,87,87,87,152,152,147,147,147,
+ 147,147,148,148,148,149,149,149,150,150,
+ 150,151,151,151,88,88,88,88,88,89,
+ 89,89,13,13,13,13,13,13,13,13,
+ 13,13,13,98,120,120,120,120,120,120,
+ 118,118,118,153,119,119,183,155,155,154,
+ 154,122,122,106,77,77,78,79,52,47,
+ 156,156,53,51,86,86,157,157,146,146,
+ 123,124,124,125,82,82,158,158,63,63,
+ 63,60,60,59,64,64,80,80,58,58,
+ 58,54,90,90,100,99,99,62,62,61,
+ 61,55,55,45,101,101,101,93,93,93,
+ 94,94,95,95,95,96,96,107,107,107,
+ 109,109,108,108,201,201,91,91,185,185,
+ 185,185,185,127,46,46,160,184,184,128,
+ 128,128,128,129,162,186,186,34,34,117,
+ 130,130,130,130,188,111,110,110,121,121,
+ 121,163,164,164,164,164,164,164,164,164,
+ 164,164,164,190,190,187,187,189,189,165,
+ 166,166,166,166,167,191,113,112,112,192,
+ 192,168,168,168,168,102,102,102,193,193,
+ 8,8,9,194,194,195,169,159,159,170,
+ 170,171,172,172,7,7,10,196,196,196,
196,196,196,196,196,196,196,196,196,196,
196,196,196,196,196,196,196,196,196,196,
196,196,196,196,196,196,196,196,196,196,
- 75,81,81,173,173,132,132,133,133,133,
- 133,133,133,3,134,134,131,131,114,114,
- 85,76,74,161,161,115,115,197,197,197,
- 135,135,126,126,198,198,1132,36,1955,1937,
- 1115,4727,28,31,32,721,671,27,29,1930,
- 26,24,51,1550,107,77,78,109,245,1584,
- 1593,1585,1670,1628,1672,1671,1404,1713,1444,1707,
- 274,1714,1715,144,595,36,283,159,145,1487,
- 36,799,33,3511,3591,28,31,32,721,671,
- 340,29,1194,2292,3250,36,799,33,233,3620,
- 28,31,32,721,671,27,29,1535,26,24,
- 51,1550,107,77,78,109,943,1584,1593,1585,
- 1670,1628,2041,236,231,232,1030,36,1316,1543,
- 595,36,665,389,275,298,2041,1376,320,1322,
- 322,501,315,857,1933,2929,675,157,36,454,
- 1933,3596,4723,243,246,249,252,1175,2850,353,
- 50,527,1726,2401,274,332,1218,1369,1836,1036,
- 791,767,345,1498,1410,350,1834,157,36,280,
- 528,1851,1280,2444,2501,2933,3168,3259,4549,2403,
- 36,799,33,2929,3620,28,31,32,721,671,
- 27,29,1535,26,24,51,1550,107,77,78,
- 109,344,1584,1593,1585,1670,1628,1672,1671,2057,
- 1713,1532,1707,2110,1714,1715,144,499,276,1457,
- 518,145,362,461,3029,1373,1525,2385,36,278,
- 595,1306,1271,35,519,2403,36,799,33,2929,
- 3620,28,31,32,721,671,27,29,1535,26,
- 24,51,1550,107,77,78,109,344,1584,1593,
- 1585,1670,1628,1672,1671,3274,1713,1758,1707,2540,
- 1714,1715,144,2929,1455,448,518,145,2226,288,
- 3029,595,36,1586,1568,595,36,1271,277,1577,
- 519,344,3436,514,1578,36,799,33,1862,4772,
- 28,31,32,721,671,58,29,447,1750,1756,
- 1361,3129,1842,1722,1442,2403,36,799,33,2929,
- 3620,28,31,32,721,671,27,29,1535,26,
- 24,51,1550,107,77,78,109,344,1584,1593,
- 1585,1670,1628,1672,1671,1254,1713,1338,1707,514,
- 1714,1715,144,2157,36,278,518,145,2147,675,
- 3029,1245,2817,1457,3773,869,1765,595,1836,1722,
- 519,2683,36,799,33,2929,3620,28,31,32,
- 721,671,27,29,1535,26,24,51,1550,107,
- 77,78,109,344,1584,1593,1585,1670,1628,1672,
- 1671,2231,1713,1808,1707,1143,1714,1715,144,313,
- 391,428,518,145,1950,675,3029,2654,1137,4787,
- 4605,595,36,665,389,183,519,325,42,514,
- 869,161,2929,62,1739,36,799,33,595,3629,
- 42,31,32,721,671,3557,1783,439,1601,1722,
- 344,2751,36,799,33,453,3620,28,31,32,
- 721,671,27,29,1535,26,24,51,1550,107,
- 77,78,109,3029,1584,1593,1585,1670,1628,1672,
- 1671,59,1713,1894,1707,515,1714,1715,144,289,
- 1806,3127,380,145,2473,36,799,33,3626,3620,
- 28,31,32,721,671,27,29,1535,26,24,
- 51,1550,107,77,78,109,3198,1584,1593,1585,
- 1670,1628,1672,1671,593,1713,849,1707,616,1714,
- 1715,144,524,1976,3127,380,145,4417,3426,3250,
- 36,799,33,2504,3620,28,31,32,721,671,
- 27,29,1535,26,24,51,1550,107,77,78,
- 109,1664,1584,1593,1585,1670,1628,1672,1671,75,
- 1713,1243,1707,1705,1714,1757,165,42,1950,386,
- 2182,3719,430,4787,2546,36,799,33,1444,3620,
- 28,31,32,721,671,27,29,1535,26,24,
- 51,1550,107,77,78,109,2504,1584,1593,1585,
- 1670,1628,1672,1671,42,1713,1869,1707,4596,1714,
- 1715,144,387,2182,3127,380,145,595,36,1271,
- 279,424,1883,2996,36,799,33,3487,3620,28,
- 31,32,721,671,27,29,1535,26,24,51,
- 1550,107,77,78,109,390,1584,1593,1585,1670,
- 1628,1672,1671,42,1713,2022,1707,689,1714,1715,
- 144,2157,36,281,159,145,3250,36,799,33,
- 3198,3620,28,31,32,721,671,27,29,1535,
- 26,24,51,1550,107,77,78,109,2313,1584,
- 1593,1585,1670,1628,1672,1671,42,1713,1523,1707,
- 1452,2237,378,2182,2996,36,799,33,779,3620,
- 28,31,32,721,671,27,29,1535,26,24,
- 51,1550,107,77,78,109,2453,1584,1593,1585,
- 1670,1628,1672,1671,2660,1713,431,1707,1124,1714,
- 1715,144,595,36,294,374,145,1730,36,799,
- 33,2153,4772,28,31,32,721,671,57,29,
- 595,36,665,389,2996,36,799,33,1851,3620,
- 28,31,32,721,671,27,29,1535,26,24,
- 51,1550,107,77,78,109,1448,1584,1593,1585,
- 1670,1628,1672,1671,50,1713,419,1707,1119,1714,
- 1715,144,1190,1036,863,374,145,1523,925,2996,
- 36,799,33,422,3620,28,31,32,721,671,
- 27,29,1535,26,24,51,1550,107,77,78,
- 109,373,1584,1593,1585,1670,1628,1672,1671,2244,
- 1713,2045,1707,626,1714,1715,144,1748,1929,524,
- 374,145,2820,36,799,33,1523,3620,28,31,
- 32,721,671,27,29,1535,26,24,51,1550,
- 107,77,78,109,1523,1584,1593,1585,1670,1628,
- 1672,1671,326,1713,2326,1707,61,1714,1757,165,
- 2468,372,2615,36,799,33,2459,3620,28,31,
- 32,721,671,27,29,1535,26,24,51,1550,
- 107,77,78,109,868,1584,1593,1585,1670,1628,
- 1672,1671,1852,1713,2123,1707,2445,1714,1715,144,
- 3655,2332,943,143,145,328,370,595,36,2820,
- 2996,36,799,33,2059,3620,28,31,32,721,
- 671,27,29,1535,26,24,51,1550,107,77,
- 78,109,222,1584,1593,1585,1670,1628,1672,1671,
- 354,1713,2437,1707,675,1714,1715,144,1621,4705,
- 2512,156,145,2996,36,799,33,2514,3620,28,
- 31,32,721,671,27,29,1535,26,24,51,
- 1550,107,77,78,109,66,1584,1593,1585,1670,
- 1628,1672,1671,42,1713,2391,1707,745,1714,1715,
- 144,595,2758,1110,155,145,2996,36,799,33,
- 2604,3620,28,31,32,721,671,27,29,1535,
- 26,24,51,1550,107,77,78,109,66,1584,
- 1593,1585,1670,1628,1672,1671,42,1713,355,1707,
- 825,1714,1715,144,418,1551,2324,154,145,2996,
- 36,799,33,327,3620,28,31,32,721,671,
- 27,29,1535,26,24,51,1550,107,77,78,
- 109,3309,1584,1593,1585,1670,1628,1672,1671,94,
- 1713,448,1707,42,1714,1715,144,3030,1790,320,
- 153,145,2996,36,799,33,2268,3620,28,31,
- 32,721,671,27,29,1535,26,24,51,1550,
- 107,77,78,109,2439,1584,1593,1585,1670,1628,
- 1672,1671,42,1713,320,1707,4317,1714,1715,144,
- 1446,153,1574,152,145,2996,36,799,33,3128,
- 3620,28,31,32,721,671,27,29,1535,26,
- 24,51,1550,107,77,78,109,3204,1584,1593,
- 1585,1670,1628,1672,1671,42,1713,1393,1707,3786,
- 1714,1715,144,1751,1287,1270,151,145,2996,36,
- 799,33,1482,3620,28,31,32,721,671,27,
- 29,1535,26,24,51,1550,107,77,78,109,
- 1267,1584,1593,1585,1670,1628,1672,1671,42,1713,
- 1894,1707,3846,1714,1715,144,2464,1253,1951,150,
- 145,2996,36,799,33,2133,3620,28,31,32,
- 721,671,27,29,1535,26,24,51,1550,107,
- 77,78,109,2373,1584,1593,1585,1670,1628,1672,
- 1671,382,1713,331,1707,675,1714,1715,144,2318,
- 4711,1280,149,145,2996,36,799,33,2518,3620,
- 28,31,32,721,671,27,29,1535,26,24,
- 51,1550,107,77,78,109,381,1584,1593,1585,
- 1670,1628,1672,1671,42,1713,233,1707,667,1714,
- 1715,144,2463,2123,1567,148,145,2996,36,799,
- 33,2471,3620,28,31,32,721,671,27,29,
- 1535,26,24,51,1550,107,77,78,109,494,
- 1584,1593,1585,1670,1628,1672,1671,581,1713,929,
- 1707,304,1714,1715,144,1103,2052,2230,147,145,
- 2996,36,799,33,2527,3620,28,31,32,721,
- 671,27,29,1535,26,24,51,1550,107,77,
- 78,109,2531,1584,1593,1585,1670,1628,1672,1671,
- 42,1713,2537,1707,2819,1714,1715,144,2539,2123,
- 2535,146,145,2996,36,799,33,3547,3620,28,
- 31,32,721,671,27,29,1535,26,24,51,
- 1550,107,77,78,109,3472,1584,1593,1585,1670,
- 1628,1672,1671,588,1713,762,1707,303,1714,1715,
- 144,1773,2123,1846,160,145,2996,36,799,33,
- 2209,3620,28,31,32,721,671,27,29,1535,
- 26,24,51,1550,107,77,78,109,1857,1584,
- 1593,1585,1670,1628,1672,1671,1892,1713,1983,1707,
- 300,1714,1715,144,2132,2217,2285,141,145,3126,
- 36,799,33,2461,3620,28,31,32,721,671,
- 27,29,1535,26,24,51,1550,107,77,78,
- 109,1968,1584,1593,1585,1670,1628,1672,1671,1933,
- 1713,2139,1707,405,1714,1715,144,2587,2141,1933,
- 190,145,3250,36,799,33,2123,3620,28,31,
- 32,721,671,27,29,1535,26,24,51,1550,
- 107,77,78,109,1116,1584,1593,1585,1670,1628,
- 1672,1671,42,1713,1845,1707,1143,1714,1757,165,
- 3250,36,799,33,299,3620,28,31,32,721,
- 671,27,29,1535,26,24,51,1550,107,77,
- 78,109,2877,1584,1593,1585,1670,1628,1672,1671,
- 1238,1713,460,1707,3430,1714,1757,165,1767,36,
- 799,33,327,1736,1972,31,32,721,671,2226,
- 3250,36,799,33,293,3620,28,31,32,721,
- 671,27,29,1535,26,24,51,1550,107,77,
- 78,109,523,1584,1593,1585,1670,1628,1672,1671,
- 42,1713,1523,1707,1143,1714,1757,165,3250,36,
- 799,33,2707,3620,28,31,32,721,671,27,
- 29,1535,26,24,51,1550,107,77,78,109,
- 3826,1584,1593,1585,1670,1628,1672,1671,927,1713,
- 1471,1707,3313,1714,1757,165,1767,36,799,33,
- 2160,1444,41,31,32,721,671,2544,3310,36,
- 799,33,423,3620,28,31,32,721,671,27,
- 29,1535,26,24,51,1550,107,77,78,109,
- 216,1584,1593,1585,1670,1628,1672,1671,42,1713,
- 2129,1707,808,1714,1757,165,3250,36,799,33,
- 426,3620,28,31,32,721,671,27,29,1535,
- 26,24,51,1550,107,77,78,109,305,1584,
- 1593,1585,1670,1628,1672,1671,2571,1713,403,2220,
- 1459,36,799,33,1758,4569,28,31,32,721,
- 671,27,29,2573,512,444,3250,36,799,33,
- 3737,3620,28,31,32,721,671,27,29,1535,
- 26,24,51,1550,107,77,78,109,2591,1584,
- 1593,1585,1670,1628,1672,1671,88,2094,3250,36,
- 799,33,2574,3620,28,31,32,721,671,27,
- 29,1535,26,24,51,1550,107,77,78,109,
- 1862,1584,1593,1585,1670,1628,1672,2143,1753,36,
- 799,33,3253,3809,28,31,32,721,671,340,
- 29,1272,36,799,33,3511,3591,28,31,32,
- 721,671,340,29,1767,36,799,33,1369,1836,
- 3486,31,32,721,671,2575,1496,36,1887,33,
- 3253,3809,28,31,32,721,671,340,29,42,
- 2610,2123,1081,2380,1765,240,333,320,1322,322,
- 2466,315,857,595,36,1271,282,240,1862,42,
- 320,1322,322,2418,315,857,595,36,665,389,
- 314,595,36,665,389,1030,36,397,2652,180,
- 1081,353,2637,1877,333,320,1322,322,3200,315,
- 857,3010,392,428,345,1498,1410,350,1956,1081,
- 50,1262,1869,4499,2568,50,233,1956,1142,1036,
- 2260,307,311,735,1036,2666,2652,1593,36,799,
- 33,3253,3591,28,31,32,721,671,340,29,
- 1843,241,231,232,1444,595,36,665,389,323,
- 288,3250,36,799,33,1079,3620,28,31,32,
- 721,671,27,29,1535,26,24,51,1550,107,
- 77,78,109,233,1584,1593,1585,1670,2051,274,
- 394,428,3366,1842,2673,2677,320,1322,322,1023,
- 315,857,1023,2705,2709,1879,367,95,245,231,
- 232,418,420,1886,1023,1259,36,799,33,2507,
- 4569,28,31,32,721,671,60,29,1030,36,
- 397,3250,36,799,33,2270,3620,28,31,32,
- 721,671,27,29,1535,26,24,51,1550,107,
- 77,78,109,341,1584,1593,1585,1670,2058,1507,
- 36,799,33,3111,3591,28,31,32,721,671,
- 340,29,1626,36,799,33,1444,3809,28,31,
- 32,721,671,340,29,70,2393,3250,36,799,
- 33,352,3620,28,31,32,721,671,27,29,
- 1535,26,24,51,1550,107,77,78,109,2711,
- 1584,1593,1585,1998,595,36,665,389,320,1322,
- 322,175,315,857,675,324,1081,2643,357,3902,
- 334,320,1322,322,532,318,857,532,1885,353,
- 356,2507,2580,297,766,157,36,454,432,532,
- 4723,2414,345,1498,1410,350,3250,36,799,33,
- 3054,3620,28,31,32,721,671,27,29,1535,
- 26,24,51,1550,107,77,78,109,2374,1584,
- 1593,1585,2006,3250,36,799,33,1862,3620,28,
- 31,32,721,671,27,29,1535,26,24,51,
- 1550,107,77,78,109,2238,1584,1593,1585,2008,
- 3250,36,799,33,1956,3620,28,31,32,721,
- 671,27,29,1535,26,24,51,1550,107,77,
- 78,109,2741,1584,1593,1585,2014,262,1494,1599,
- 2745,536,1259,36,799,33,498,4569,28,31,
- 32,721,671,59,29,2041,991,294,71,229,
- 940,36,665,389,505,36,280,157,636,4473,
- 595,36,1271,2812,1,181,2441,868,536,2227,
- 36,1271,277,204,216,4683,203,213,214,215,
- 217,2204,2393,170,274,1087,229,1956,2290,393,
- 428,3315,1143,169,157,184,168,171,172,173,
- 174,175,181,2441,868,451,1750,1756,1933,1743,
- 204,216,4683,203,213,214,215,217,157,379,
- 170,595,3011,1271,75,1956,201,3701,329,336,
- 169,182,185,168,171,172,173,174,175,3370,
- 36,665,389,1368,3384,1887,2985,2226,2899,2929,
- 2466,1327,238,1875,36,799,33,3444,3809,28,
- 31,32,721,671,340,29,73,2401,1933,3250,
- 36,799,33,274,3620,28,31,32,721,671,
- 27,29,1535,26,24,51,1550,107,77,78,
- 109,4284,1584,1593,2016,595,36,665,389,1081,
- 2878,233,2774,333,2929,233,2854,1081,2737,1956,
- 1956,334,320,1322,322,2587,316,857,43,1740,
- 2648,2649,344,2041,36,294,236,231,232,50,
- 248,231,232,353,2591,3412,361,275,47,1963,
- 1947,4262,25,3485,2929,2130,347,1498,1410,350,
- 2145,52,3799,1793,1799,2246,243,246,249,252,
- 1175,2395,2401,1087,1956,3190,36,799,33,1218,
- 3620,28,31,32,721,671,27,29,1535,26,
- 24,51,1550,87,77,78,2444,2501,2933,3168,
- 3259,4549,3250,36,799,33,351,3620,28,31,
- 32,721,671,27,29,1535,26,24,51,1550,
- 107,77,78,109,349,1584,1593,2023,536,353,
- 2985,1887,2308,1942,1947,2929,2466,2929,2929,1327,
- 523,361,345,1498,1410,350,229,42,42,1444,
- 343,3149,2458,2401,157,344,2401,2915,1793,1799,
- 2780,436,181,2441,868,536,595,36,294,1444,
- 204,216,4683,203,213,214,215,217,4024,2334,
- 170,2781,2457,229,3299,1081,1254,3010,1584,333,
- 169,157,2724,168,171,172,173,174,175,181,
- 2441,868,45,1740,443,1723,457,204,216,4683,
- 203,213,214,215,217,523,285,170,2118,536,
- 2775,2943,361,4791,42,361,2647,169,2767,179,
- 168,171,172,173,174,175,383,229,3799,1793,
- 1799,3827,1793,1799,2226,157,595,36,665,389,
- 233,5452,610,181,2441,868,536,2227,36,1271,
- 3040,204,216,4683,203,213,214,215,217,5452,
- 2226,170,2066,240,229,251,231,232,2466,1620,
- 435,169,157,177,168,171,172,173,174,175,
- 181,2441,868,42,1523,5452,5452,2929,204,216,
- 4683,203,213,214,215,217,697,2056,170,42,
- 536,2935,42,2057,5452,344,1143,1956,169,2775,
- 178,168,171,172,173,174,175,1081,229,1523,
- 4288,333,2123,42,868,1599,157,961,3029,352,
- 5452,233,157,784,181,2441,868,536,1912,70,
- 377,2958,204,216,4683,203,213,214,215,217,
- 2123,89,170,4521,103,229,254,231,232,868,
- 199,5452,169,157,188,168,171,172,173,174,
- 175,181,2441,868,42,377,1444,353,3533,204,
- 216,4683,203,213,214,215,217,3315,198,170,
- 345,1498,1410,350,334,36,665,389,3054,169,
- 5452,3162,168,171,172,173,174,175,2498,36,
- 799,33,3253,3591,28,31,32,721,671,340,
- 29,675,1524,5452,335,336,4802,2466,50,595,
- 36,665,389,5452,2580,871,675,1036,1000,536,
- 240,4809,5452,286,375,2466,595,36,1271,3161,
- 90,630,5452,103,42,2029,1344,229,3562,2929,
- 42,2466,42,434,4415,157,3114,320,1322,322,
- 5452,315,857,181,2441,868,1081,2401,5452,3289,
- 334,204,216,4683,203,213,214,215,217,958,
- 314,170,5452,536,1081,240,2123,2142,333,5452,
- 2466,169,353,193,168,171,172,173,174,175,
- 1081,229,1523,5452,334,347,1498,1410,350,157,
- 5452,240,595,36,665,389,2466,181,2441,868,
- 3446,307,311,735,407,204,216,4683,203,213,
- 214,215,217,1599,1045,170,506,42,536,1081,
- 72,1143,868,333,3890,169,433,187,168,171,
- 172,173,174,175,1629,1079,229,42,526,2231,
- 5452,2348,1599,1143,157,1081,1688,157,5452,333,
- 2929,5452,181,2441,868,3412,2230,504,505,1956,
- 204,216,4683,203,213,214,215,217,229,161,
- 170,334,36,665,389,3315,769,36,665,389,
- 169,2943,195,168,171,172,173,174,175,1523,
- 5452,69,206,216,4683,205,213,214,215,217,
- 1231,36,665,389,3315,50,1956,42,1956,2123,
- 50,1143,331,336,1036,2084,1030,36,397,1036,
- 48,207,209,211,295,296,5452,566,2535,868,
- 218,208,210,1262,50,42,3781,157,54,3005,
- 88,3778,336,1036,2872,525,3915,202,5452,13,
- 5452,4318,3250,36,799,33,5452,3620,28,31,
- 32,721,671,27,29,1535,26,24,51,1550,
- 107,77,78,109,1933,1584,1963,3250,36,799,
- 33,2123,3620,28,31,32,721,671,27,29,
- 1535,26,24,51,1550,107,77,78,109,1898,
- 1584,1965,5452,2929,1593,36,799,33,3253,3591,
- 28,31,32,721,671,340,29,1933,5452,200,
- 540,229,3250,36,799,33,3206,3620,28,31,
- 32,721,671,27,29,1535,26,24,51,1550,
- 107,77,78,86,2123,206,216,4683,205,213,
- 214,215,217,1027,36,665,389,98,42,5452,
- 5452,1956,2579,320,1322,322,1986,315,857,42,
- 2929,1956,5452,1143,207,209,211,295,296,1956,
- 566,5452,4347,218,208,210,314,50,229,334,
- 36,665,389,53,2231,5452,1036,48,1143,157,
- 99,42,568,452,4318,1143,1956,1956,3918,5452,
- 2138,3841,206,216,4683,205,213,214,215,217,
- 5452,42,5452,50,161,4312,2074,308,311,735,
- 2929,157,1036,723,5452,1956,1956,5452,91,3912,
- 3942,207,209,211,295,296,2535,566,229,1956,
- 218,208,210,5452,1800,36,1887,33,3253,3591,
- 28,31,32,721,671,340,29,4022,3286,2231,
- 2123,4318,206,216,4683,205,213,214,215,217,
- 5452,3323,595,36,665,389,42,5452,1956,42,
- 3398,3791,42,1143,5452,1956,4378,5452,1956,5452,
- 5452,207,209,211,295,296,5452,566,223,5452,
- 218,208,210,320,1322,322,50,315,857,157,
- 3425,5452,1956,5452,5452,1036,593,68,3998,2656,
- 67,4318,3250,36,799,33,1142,3620,28,31,
- 32,721,671,27,29,1535,26,24,51,1550,
- 107,77,78,109,66,1971,3250,36,799,33,
- 5452,3620,28,31,32,721,671,27,29,1535,
- 26,24,51,1550,107,77,78,109,1956,1973,
- 3250,36,799,33,1956,3620,28,31,32,721,
- 671,27,29,1535,26,24,51,1550,107,77,
- 78,109,42,1980,2232,42,3024,42,579,2582,
- 65,2594,5452,5452,5452,5452,3502,5452,5452,419,
- 420,1886,3250,1306,799,1844,5452,3620,28,31,
- 32,721,671,27,29,1535,26,24,51,1550,
- 107,77,78,85,3250,36,799,33,5452,3620,
- 28,31,32,721,671,27,29,1535,26,24,
- 51,1550,107,77,78,84,3250,36,799,33,
- 5452,3620,28,31,32,721,671,27,29,1535,
- 26,24,51,1550,107,77,78,83,3250,36,
- 799,33,5452,3620,28,31,32,721,671,27,
- 29,1535,26,24,51,1550,107,77,78,82,
- 3250,36,799,33,5452,3620,28,31,32,721,
- 671,27,29,1535,26,24,51,1550,107,77,
- 78,81,3250,36,799,33,5452,3620,28,31,
- 32,721,671,27,29,1535,26,24,51,1550,
- 107,77,78,80,3250,36,799,33,5452,3620,
- 28,31,32,721,671,27,29,1535,26,24,
- 51,1550,107,77,78,79,3060,36,799,33,
- 5452,3620,28,31,32,721,671,27,29,1535,
- 26,24,51,1550,107,77,78,105,3250,36,
- 799,33,5452,3620,28,31,32,721,671,27,
- 29,1535,26,24,51,1550,107,77,78,111,
- 3250,36,799,33,5452,3620,28,31,32,721,
- 671,27,29,1535,26,24,51,1550,107,77,
- 78,110,3250,36,799,33,5452,3620,28,31,
- 32,721,671,27,29,1535,26,24,51,1550,
- 107,77,78,108,3250,36,799,33,1956,3620,
- 28,31,32,721,671,27,29,1535,26,24,
- 51,1550,107,77,78,106,1810,2290,5452,1956,
- 2929,536,1599,5452,5452,5452,1956,2029,1408,2231,
- 3609,2929,2929,1143,5452,5452,5452,5452,229,3906,
- 1956,1956,5452,5452,2123,5452,5452,157,5452,2401,
- 229,56,5452,5452,5452,181,2441,2322,55,161,
- 5452,1143,206,216,4683,205,213,214,215,217,
- 5452,5452,4334,102,206,216,4683,205,213,214,
- 215,217,194,196,3315,2231,2162,157,1599,1143,
- 2929,207,209,211,295,296,163,566,1956,5452,
- 520,208,210,207,209,211,295,296,229,566,
- 2144,5452,219,208,210,161,42,5452,506,5452,
- 1143,4025,336,5452,5452,2286,4309,2250,5452,2929,
- 3534,2929,206,216,4683,205,213,214,215,217,
- 5452,5452,530,5452,2338,5452,157,2401,2929,229,
- 3315,5452,5452,5452,5452,3694,5452,5452,5452,503,
- 505,207,209,211,295,296,229,566,5452,5452,
- 521,208,210,206,216,4683,205,213,214,215,
- 217,5452,4316,595,36,665,389,4027,336,5452,
- 206,216,4683,205,213,214,215,217,4778,197,
- 1801,5452,207,209,211,295,296,5452,566,1973,
- 5452,306,208,210,2466,5452,506,50,5452,207,
- 209,211,295,296,5452,566,1036,737,500,208,
- 210,1626,36,799,33,4388,3809,28,31,32,
- 721,671,340,29,1593,36,799,33,3253,3591,
- 28,31,32,721,671,340,29,503,505,3417,
- 36,665,389,1081,3384,5452,5452,4499,5452,5452,
- 5452,5452,239,5452,42,5452,5452,5452,2929,595,
- 36,665,389,5452,5452,1081,5452,5452,5452,334,
- 320,1322,322,274,316,857,344,5452,2785,5452,
- 5452,5452,5452,320,1322,322,1196,315,857,5452,
- 2929,2471,5452,50,5452,1027,36,665,389,3029,
- 5452,233,1036,2872,5452,5452,3051,5452,229,1922,
- 5452,2428,36,799,33,2426,3591,28,31,32,
- 721,671,340,29,5452,5452,237,231,232,50,
- 5452,97,2015,408,4621,5452,5452,275,1036,48,
- 5452,5452,5452,5452,42,5452,1302,5452,2929,404,
- 2929,2471,1181,5452,5452,5452,244,247,250,253,
- 1175,409,410,411,295,296,344,566,229,1218,
- 317,871,322,1474,36,799,33,2388,3591,28,
- 31,32,721,671,340,29,42,5452,1318,3029,
- 2929,5452,2015,408,4621,334,36,665,389,1928,
- 5452,1365,36,665,389,5452,2231,42,344,5452,
- 1143,1143,5452,334,36,665,389,2060,36,665,
- 389,409,410,411,295,296,5452,566,5452,50,
- 5452,3029,317,871,322,50,161,157,1036,48,
- 5452,510,5452,5452,1036,48,4330,50,1318,412,
- 414,50,574,5452,5452,5452,1036,48,3146,5452,
- 1036,3159,1027,36,665,389,5452,5452,2376,1034,
- 931,5452,536,1098,630,5452,4656,334,36,665,
- 389,334,36,665,389,5452,5452,5452,5452,5452,
- 344,5452,334,36,665,389,50,5452,157,334,
- 36,665,389,4331,5452,1036,3185,189,5452,412,
- 415,50,5452,4534,5452,50,5452,5452,42,2840,
- 1036,48,536,42,1036,48,50,536,5452,5452,
- 5452,1034,5452,50,2694,1036,48,42,3226,5452,
- 344,536,1036,48,5452,344,5452,5452,157,3419,
- 5452,5452,5452,157,5452,5452,3512,3000,5452,344,
- 5452,42,3579,3029,5452,536,42,157,3029,5452,
- 536,42,191,2999,5452,536,3000,2323,3297,5452,
- 42,2929,3029,344,2929,42,42,5452,344,2929,
- 2929,157,3628,344,5452,5452,157,5452,5452,344,
- 189,157,344,5452,5452,189,4534,344,344,531,
- 189,4534,5452,5452,5452,5452,4534,5452,5452,5452,
- 5452,5452,3029,5452,5452,3029,5452,5452,5452,5452,
- 3029,3029,534,5452,5452,508,5452,5452,5452,5452,
- 3855,535,5452,5452,5452,5452,5452,5452,3764,5452,
- 5452,5452,5452,5452,5452,5452,5452,5452,5452,5452,
- 5452,5452,5452,5452,5452,3856,5452,5452,5452,5452,
- 3869,5452,5452,5452,5452,3908,5452,5452,5452,5452,
- 5452,5452,5452,5452,5452,5452,5452,5452,5452,5452,
- 5452,5452,5452,5452,5452,5452,5452,5452,5452,5452,
- 5452,5452,5452,5452,5452,5452,5452,5452,5452,5452,
- 5452,5452,5452,5452,5452,5452,5452,5452,5452,5452,
- 5452,5452,5452,5452,5452,5452,5452,5452,5452,5452,
- 5452,5452,5452,5452,5452,5452,5452,5452,5452,5452,
- 5452,5452,5452,5452,5452,5452,5452,5452,5452,5452,
- 5452,5452,5452,5452,5452,5452,5452,5452,5452,5452,
- 5452,5452,5452,5452,5452,5452,5452,5452,5452,5452,
- 5452,5452,5452,5452,5452,4400,5452,0,502,4306,
- 0,1,230,0,40,5467,0,40,5466,0,
- 1,2517,0,944,1,0,40,1,5467,0,
- 40,1,5466,0,1,2990,0,1,740,0,
- 230,220,0,284,395,0,284,287,0,5687,
- 242,0,5686,242,0,5791,242,0,5790,242,
- 0,5714,242,0,5713,242,0,5712,242,0,
- 5711,242,0,5710,242,0,5709,242,0,5708,
- 242,0,5707,242,0,5725,242,0,5724,242,
- 0,5723,242,0,5722,242,0,5721,242,0,
- 5720,242,0,5719,242,0,5718,242,0,5717,
- 242,0,5716,242,0,5715,242,0,40,242,
- 5467,0,40,242,5466,0,5491,242,0,1173,
- 388,0,5467,49,0,5466,49,0,1,332,
- 0,39,740,0,39,5467,0,39,5466,0,
- 455,1533,0,441,1576,0,1173,30,0,5464,
- 1,0,1623,319,0,1,445,0,459,650,
- 0,458,2049,0,36,34,0,48,38,0,
- 230,221,0,502,1359,0,5491,1,230,0,
- 40,1,230,0,230,417,0,1,2704,0,
- 1,5725,0,1,5724,0,1,5723,0,1,
- 5722,0,1,5721,0,1,5720,0,1,5719,
- 0,1,5718,0,1,5717,0,1,5716,0,
- 1,5715,0,5467,38,0,5466,38,0,44,
- 5489,0,44,38,0,5464,384,0,5463,384,
- 0,1,2475,0,1,2608,0,5462,406,0,
- 5461,406,0,230,416,0,2763,127,0,5460,
- 1,0,332,446,0,5458,1,0,5457,1,
- 0,2180,92,0,33,35,0,40,740,0,
- 5489,46,0,38,46,0,1,230,2323,0,
- 5461,230,0,2356,230,0,5491,1,0,40,
- 1,0,238,911,0,389,33,0,388,30,
- 0,2763,129,0,2763,128,0,2701,230,0,
- 10,12,0,1,93,0,8,10,12,0,
- 5467,2,38,0,5466,2,38,0,5467,37,
- 0,5466,37,0,3112,384,0,332,96,0,
- 36,74,0,8,12,0,279,4319,0,186,
- 3479,0
+ 196,196,196,196,196,196,196,196,196,75,
+ 81,81,173,173,132,132,133,133,133,133,
+ 133,133,3,134,134,131,131,114,114,85,
+ 76,74,161,161,115,115,197,197,197,135,
+ 135,126,126,198,198,1119,35,1954,1936,1102,
+ 4726,27,30,31,720,670,26,28,1929,25,
+ 23,50,1549,106,76,77,108,242,1583,1592,
+ 1584,1669,1627,1671,1670,1456,1712,1943,1706,273,
+ 1713,1714,143,588,35,282,158,144,1472,35,
+ 798,32,3510,3590,27,30,31,720,670,339,
+ 28,1180,2262,3167,35,798,32,232,3619,27,
+ 30,31,720,670,26,28,1534,25,23,50,
+ 1549,106,76,77,108,675,1583,1592,1584,1669,
+ 1627,2040,235,230,231,1018,35,1315,1542,588,
+ 35,664,388,274,297,1428,1375,319,1321,321,
+ 2311,314,856,1349,2928,667,155,35,453,1349,
+ 3595,4722,242,245,248,251,1174,2849,352,49,
+ 526,1517,2400,273,758,1217,1353,1835,1035,790,
+ 1569,344,1497,1409,349,1833,155,35,279,527,
+ 1850,1279,2443,2500,2932,3167,3258,4548,2377,35,
+ 798,32,2928,3619,27,30,31,720,670,26,
+ 28,1534,25,23,50,1549,106,76,77,108,
+ 343,1583,1592,1584,1669,1627,1671,1670,1439,1712,
+ 1789,1706,2001,1713,1714,143,498,275,1456,517,
+ 144,361,460,3028,2047,1524,2436,35,277,588,
+ 1305,1270,34,518,2377,35,798,32,2928,3619,
+ 27,30,31,720,670,26,28,1534,25,23,
+ 50,1549,106,76,77,108,343,1583,1592,1584,
+ 1669,1627,1671,1670,3273,1712,1757,1706,2541,1713,
+ 1714,143,2928,1708,447,517,144,2225,287,3028,
+ 588,35,1585,1567,588,35,1270,276,2119,518,
+ 343,3435,513,1576,35,798,32,933,4771,27,
+ 30,31,720,670,57,28,446,1749,1755,1360,
+ 3128,1841,1721,1441,2377,35,798,32,2928,3619,
+ 27,30,31,720,670,26,28,1534,25,23,
+ 50,1549,106,76,77,108,343,1583,1592,1584,
+ 1669,1627,1671,1670,1240,1712,1471,1706,513,1713,
+ 1714,143,1959,35,277,517,144,2201,667,3028,
+ 1515,2816,1456,3772,868,1764,588,1835,1721,518,
+ 2653,35,798,32,2928,3619,27,30,31,720,
+ 670,26,28,1534,25,23,50,1549,106,76,
+ 77,108,343,1583,1592,1584,1669,1627,1671,1670,
+ 2122,1712,2136,1706,1142,1713,1714,143,312,390,
+ 427,517,144,1914,667,3028,988,1136,4786,4604,
+ 588,35,664,388,182,518,324,214,513,868,
+ 160,2928,61,1721,35,798,32,588,3628,41,
+ 30,31,720,670,3556,1782,438,1492,1721,343,
+ 2720,35,798,32,452,3619,27,30,31,720,
+ 670,26,28,1534,25,23,50,1549,106,76,
+ 77,108,3028,1583,1592,1584,1669,1627,1671,1670,
+ 59,1712,1893,1706,514,1713,1714,143,288,1613,
+ 3126,379,144,2446,35,798,32,3625,3619,27,
+ 30,31,720,670,26,28,1534,25,23,50,
+ 1549,106,76,77,108,3197,1583,1592,1584,1669,
+ 1627,1671,1670,1360,1712,839,1706,615,1713,1714,
+ 143,523,1954,3126,379,144,4416,3425,3167,35,
+ 798,32,2348,3619,27,30,31,720,670,26,
+ 28,1534,25,23,50,1549,106,76,77,108,
+ 1663,1583,1592,1584,1669,1627,1671,1670,1582,1712,
+ 1229,1706,1704,1713,1756,164,214,1914,385,2181,
+ 3718,429,4786,2518,35,798,32,1943,3619,27,
+ 30,31,720,670,26,28,1534,25,23,50,
+ 1549,106,76,77,108,2503,1583,1592,1584,1669,
+ 1627,1671,1670,214,1712,1668,1706,4595,1713,1714,
+ 143,386,2181,3126,379,144,588,35,1270,278,
+ 423,2431,2918,35,798,32,3486,3619,27,30,
+ 31,720,670,26,28,1534,25,23,50,1549,
+ 106,76,77,108,389,1583,1592,1584,1669,1627,
+ 1671,1670,214,1712,1458,1706,688,1713,1714,143,
+ 1959,35,280,158,144,3167,35,798,32,3197,
+ 3619,27,30,31,720,670,26,28,1534,25,
+ 23,50,1549,106,76,77,108,2224,1583,1592,
+ 1584,1669,1627,1671,1670,214,1712,1866,1706,1451,
+ 2236,377,2181,2918,35,798,32,778,3619,27,
+ 30,31,720,670,26,28,1534,25,23,50,
+ 1549,106,76,77,108,2452,1583,1592,1584,1669,
+ 1627,1671,1670,1838,1712,430,1706,1123,1713,1714,
+ 143,588,35,293,373,144,1712,35,798,32,
+ 2217,4771,27,30,31,720,670,56,28,588,
+ 35,664,388,2918,35,798,32,1850,3619,27,
+ 30,31,720,670,26,28,1534,25,23,50,
+ 1549,106,76,77,108,1432,1583,1592,1584,1669,
+ 1627,1671,1670,49,1712,414,1706,847,1713,1714,
+ 143,1491,1035,862,373,144,1866,924,2918,35,
+ 798,32,421,3619,27,30,31,720,670,26,
+ 28,1534,25,23,50,1549,106,76,77,108,
+ 372,1583,1592,1584,1669,1627,1671,1670,2299,1712,
+ 1787,1706,625,1713,1714,143,1747,1928,523,373,
+ 144,2860,35,798,32,1866,3619,27,30,31,
+ 720,670,26,28,1534,25,23,50,1549,106,
+ 76,77,108,1866,1583,1592,1584,1669,1627,1671,
+ 1670,325,1712,1826,1706,60,1713,1756,164,2302,
+ 371,2586,35,798,32,2458,3619,27,30,31,
+ 720,670,26,28,1534,25,23,50,1549,106,
+ 76,77,108,867,1583,1592,1584,1669,1627,1671,
+ 1670,1603,1712,1231,1706,2444,1713,1714,143,3654,
+ 2350,675,142,144,327,369,588,35,2819,2918,
+ 35,798,32,2058,3619,27,30,31,720,670,
+ 26,28,1534,25,23,50,1549,106,76,77,
+ 108,221,1583,1592,1584,1669,1627,1671,1670,353,
+ 1712,2411,1706,667,1713,1714,143,1707,4704,2422,
+ 155,144,2918,35,798,32,2487,3619,27,30,
+ 31,720,670,26,28,1534,25,23,50,1549,
+ 106,76,77,108,300,1583,1592,1584,1669,1627,
+ 1671,1670,214,1712,2009,1706,744,1713,1714,143,
+ 588,2757,1097,154,144,2918,35,798,32,2512,
+ 3619,27,30,31,720,670,26,28,1534,25,
+ 23,50,1549,106,76,77,108,300,1583,1592,
+ 1584,1669,1627,1671,1670,214,1712,354,1706,824,
+ 1713,1714,143,413,2098,2310,153,144,2918,35,
+ 798,32,323,3619,27,30,31,720,670,26,
+ 28,1534,25,23,50,1549,106,76,77,108,
+ 3308,1583,1592,1584,1669,1627,1671,1670,93,1712,
+ 447,1706,214,1713,1714,143,3029,1516,403,152,
+ 144,2918,35,798,32,2267,3619,27,30,31,
+ 720,670,26,28,1534,25,23,50,1549,106,
+ 76,77,108,2438,1583,1592,1584,1669,1627,1671,
+ 1670,214,1712,403,1706,4316,1713,1714,143,1252,
+ 65,231,151,144,2918,35,798,32,3127,3619,
+ 27,30,31,720,670,26,28,1534,25,23,
+ 50,1549,106,76,77,108,3203,1583,1592,1584,
+ 1669,1627,1671,1670,214,1712,833,1706,3785,1713,
+ 1714,143,1745,317,1255,150,144,2918,35,798,
+ 32,1952,3619,27,30,31,720,670,26,28,
+ 1534,25,23,50,1549,106,76,77,108,1827,
+ 1583,1592,1584,1669,1627,1671,1670,214,1712,2029,
+ 1706,3845,1713,1714,143,2203,1387,145,149,144,
+ 2918,35,798,32,2216,3619,27,30,31,720,
+ 670,26,28,1534,25,23,50,1549,106,76,
+ 77,108,2294,1583,1592,1584,1669,1627,1671,1670,
+ 381,1712,1160,1706,667,1713,1714,143,2127,4710,
+ 1266,148,144,2918,35,798,32,2505,3619,27,
+ 30,31,720,670,26,28,1534,25,23,50,
+ 1549,106,76,77,108,380,1583,1592,1584,1669,
+ 1627,1671,1670,214,1712,575,1706,666,1713,1714,
+ 143,2279,1231,1550,147,144,2918,35,798,32,
+ 2295,3619,27,30,31,720,670,26,28,1534,
+ 25,23,50,1549,106,76,77,108,1942,1583,
+ 1592,1584,1669,1627,1671,1670,2306,1712,2371,1706,
+ 303,1713,1714,143,2416,1534,1955,146,144,2918,
+ 35,798,32,2441,3619,27,30,31,720,670,
+ 26,28,1534,25,23,50,1549,106,76,77,
+ 108,2491,1583,1592,1584,1669,1627,1671,1670,214,
+ 1712,2504,1706,2818,1713,1714,143,2510,1231,2511,
+ 145,144,2918,35,798,32,3459,3619,27,30,
+ 31,720,670,26,28,1534,25,23,50,1549,
+ 106,76,77,108,3385,1583,1592,1584,1669,1627,
+ 1671,1670,581,1712,753,1706,302,1713,1714,143,
+ 1234,1231,1653,159,144,2918,35,798,32,1755,
+ 3619,27,30,31,720,670,26,28,1534,25,
+ 23,50,1549,106,76,77,108,1377,1583,1592,
+ 1584,1669,1627,1671,1670,1828,1712,1958,1706,299,
+ 1713,1714,143,2020,2183,2175,140,144,3046,35,
+ 798,32,2179,3619,27,30,31,720,670,26,
+ 28,1534,25,23,50,1549,106,76,77,108,
+ 489,1583,1592,1584,1669,1627,1671,1670,1349,1712,
+ 2118,1706,404,1713,1714,143,42,2124,1349,189,
+ 144,3167,35,798,32,1231,3619,27,30,31,
+ 720,670,26,28,1534,25,23,50,1549,106,
+ 76,77,108,1103,1583,1592,1584,1669,1627,1671,
+ 1670,214,1712,2023,1706,1142,1713,1756,164,3167,
+ 35,798,32,298,3619,27,30,31,720,670,
+ 26,28,1534,25,23,50,1549,106,76,77,
+ 108,2876,1583,1592,1584,1669,1627,1671,1670,1224,
+ 1712,459,1706,3429,1713,1756,164,1924,35,798,
+ 32,326,2435,1971,30,31,720,670,2225,3167,
+ 35,798,32,292,3619,27,30,31,720,670,
+ 26,28,1534,25,23,50,1549,106,76,77,
+ 108,522,1583,1592,1584,1669,1627,1671,1670,214,
+ 1712,1866,1706,1142,1713,1756,164,3167,35,798,
+ 32,2706,3619,27,30,31,720,670,26,28,
+ 1534,25,23,50,1549,106,76,77,108,3825,
+ 1583,1592,1584,1669,1627,1671,1670,926,1712,2516,
+ 1706,3312,1713,1756,164,1924,35,798,32,2468,
+ 1943,40,30,31,720,670,1272,3225,35,798,
+ 32,422,3619,27,30,31,720,670,26,28,
+ 1534,25,23,50,1549,106,76,77,108,386,
+ 1583,1592,1584,1669,1627,1671,1670,214,1712,2283,
+ 1706,807,1713,1756,164,3167,35,798,32,425,
+ 3619,27,30,31,720,670,26,28,1534,25,
+ 23,50,1549,106,76,77,108,304,1583,1592,
+ 1584,1669,1627,1671,1670,2470,1712,402,2219,1443,
+ 35,798,32,1757,4568,27,30,31,720,670,
+ 26,28,2507,511,443,3167,35,798,32,3736,
+ 3619,27,30,31,720,670,26,28,1534,25,
+ 23,50,1549,106,76,77,108,2650,1583,1592,
+ 1584,1669,1627,1671,1670,87,2093,3167,35,798,
+ 32,2581,3619,27,30,31,720,670,26,28,
+ 1534,25,23,50,1549,106,76,77,108,933,
+ 1583,1592,1584,1669,1627,1671,2142,1734,35,798,
+ 32,3252,3808,27,30,31,720,670,339,28,
+ 1258,35,798,32,3510,3590,27,30,31,720,
+ 670,339,28,1924,35,798,32,1353,1835,3485,
+ 30,31,720,670,2608,1480,35,1886,32,3252,
+ 3808,27,30,31,720,670,339,28,214,2609,
+ 1231,1080,2379,1746,237,332,319,1321,321,2465,
+ 314,856,588,35,1270,281,239,933,214,319,
+ 1321,321,2417,314,856,588,35,664,388,313,
+ 588,35,664,388,1018,35,396,2651,179,1080,
+ 352,2610,1876,332,319,1321,321,3199,314,856,
+ 3009,391,427,344,1497,1409,349,2101,1080,49,
+ 1247,1868,4498,2546,49,232,2101,1141,1035,2259,
+ 306,310,734,1035,2665,2651,1747,35,798,32,
+ 3252,3590,27,30,31,720,670,339,28,1842,
+ 240,230,231,1443,588,35,664,388,322,287,
+ 3167,35,798,32,1078,3619,27,30,31,720,
+ 670,26,28,1534,25,23,50,1549,106,76,
+ 77,108,232,1583,1592,1584,1669,2050,273,393,
+ 427,3365,1841,2644,2646,319,1321,321,2048,314,
+ 856,2048,2675,2676,1878,366,94,244,230,231,
+ 417,419,1885,2048,1244,35,798,32,2506,4568,
+ 27,30,31,720,670,59,28,1018,35,396,
+ 3167,35,798,32,2269,3619,27,30,31,720,
+ 670,26,28,1534,25,23,50,1549,106,76,
+ 77,108,340,1583,1592,1584,1669,2057,1506,35,
+ 798,32,3110,3590,27,30,31,720,670,339,
+ 28,2030,35,798,32,1943,3808,27,30,31,
+ 720,670,339,28,69,1922,3167,35,798,32,
+ 351,3619,27,30,31,720,670,26,28,1534,
+ 25,23,50,1549,106,76,77,108,2677,1583,
+ 1592,1584,1997,588,35,664,388,319,1321,321,
+ 173,314,856,667,323,1080,2547,356,3901,333,
+ 319,1321,321,531,317,856,531,1884,352,355,
+ 2506,1345,296,2552,155,35,453,431,531,4722,
+ 2413,344,1497,1409,349,3167,35,798,32,3053,
+ 3619,27,30,31,720,670,26,28,1534,25,
+ 23,50,1549,106,76,77,108,2614,1583,1592,
+ 1584,2005,3167,35,798,32,933,3619,27,30,
+ 31,720,670,26,28,1534,25,23,50,1549,
+ 106,76,77,108,2137,1583,1592,1584,2007,3167,
+ 35,798,32,2101,3619,27,30,31,720,670,
+ 26,28,1534,25,23,50,1549,106,76,77,
+ 108,2681,1583,1592,1584,2013,259,1493,1592,2682,
+ 535,1244,35,798,32,497,4568,27,30,31,
+ 720,670,58,28,1428,990,293,70,228,929,
+ 35,664,388,499,35,279,156,635,4472,588,
+ 35,1270,2811,1,180,2440,867,535,1571,35,
+ 1270,276,203,215,4682,202,212,213,214,216,
+ 2094,1922,169,273,1086,228,2101,2273,392,427,
+ 3314,1142,168,156,183,167,170,171,172,173,
+ 174,180,2440,867,450,1749,1755,1349,2636,203,
+ 215,4682,202,212,213,214,216,156,378,169,
+ 588,3010,1270,74,2101,200,3700,328,335,168,
+ 181,184,167,170,171,172,173,174,3283,35,
+ 664,388,1352,3383,1867,2984,2225,2898,2928,2465,
+ 1326,237,1856,35,798,32,3443,3808,27,30,
+ 31,720,670,339,28,72,2400,1349,3167,35,
+ 798,32,273,3619,27,30,31,720,670,26,
+ 28,1534,25,23,50,1549,106,76,77,108,
+ 4283,1583,1592,2015,588,35,664,388,1080,2743,
+ 232,2713,332,2928,232,2853,1080,1388,2101,2101,
+ 333,319,1321,321,42,315,856,42,1739,2686,
+ 2645,343,1428,35,293,235,230,231,49,247,
+ 230,231,352,2650,3411,360,274,46,2117,1840,
+ 4261,24,3484,2928,2129,346,1497,1409,349,2694,
+ 51,3798,1792,1798,2220,242,245,248,251,1174,
+ 2618,2400,1086,2101,3109,35,798,32,1217,3619,
+ 27,30,31,720,670,26,28,1534,25,23,
+ 50,1549,86,76,77,2443,2500,2932,3167,3258,
+ 4548,3167,35,798,32,350,3619,27,30,31,
+ 720,670,26,28,1534,25,23,50,1549,106,
+ 76,77,108,345,1583,1592,2022,535,352,2984,
+ 1867,2293,2661,1840,2928,2465,2928,2928,1326,522,
+ 360,344,1497,1409,349,228,214,214,1943,342,
+ 3148,2457,2400,156,343,2400,2914,1792,1798,2744,
+ 431,180,2440,867,535,588,35,293,1943,203,
+ 215,4682,202,212,213,214,216,4023,2359,169,
+ 2783,2005,228,3298,1080,1253,3009,1567,332,168,
+ 156,2723,167,170,171,172,173,174,180,2440,
+ 867,44,1739,442,2087,456,203,215,4682,202,
+ 212,213,214,216,517,284,169,2270,535,2742,
+ 2942,360,4790,214,360,2692,168,2766,178,167,
+ 170,171,172,173,174,382,228,3798,1792,1798,
+ 3826,1792,1798,2225,156,588,35,664,388,232,
+ 5451,603,180,2440,867,535,1571,35,1270,3039,
+ 203,215,4682,202,212,213,214,216,5451,2225,
+ 169,2065,237,228,250,230,231,2465,1602,434,
+ 168,156,176,167,170,171,172,173,174,180,
+ 2440,867,214,1866,5451,5451,2928,203,215,4682,
+ 202,212,213,214,216,689,2041,169,214,535,
+ 2934,214,2056,5451,343,1142,2101,168,2742,177,
+ 167,170,171,172,173,174,1080,228,1866,4287,
+ 332,1231,214,867,1592,156,960,3028,351,5451,
+ 232,156,775,180,2440,867,535,1911,69,376,
+ 2957,203,215,4682,202,212,213,214,216,1231,
+ 88,169,4520,102,228,253,230,231,867,198,
+ 5451,168,156,187,167,170,171,172,173,174,
+ 180,2440,867,214,376,1943,352,3532,203,215,
+ 4682,202,212,213,214,216,3314,197,169,344,
+ 1497,1409,349,330,35,664,388,3053,168,5451,
+ 3161,167,170,171,172,173,174,2471,35,798,
+ 32,3252,3590,27,30,31,720,670,339,28,
+ 667,1944,5451,334,335,4801,2465,49,588,35,
+ 664,388,5451,1345,861,667,1035,999,535,237,
+ 4808,5451,285,374,2465,588,35,1270,3160,89,
+ 629,5451,102,214,2090,1329,228,3561,2928,214,
+ 2465,214,433,4414,156,3113,319,1321,321,5451,
+ 314,856,180,2440,867,1080,2400,5451,3288,333,
+ 203,215,4682,202,212,213,214,216,947,313,
+ 169,5451,535,1080,237,1231,1864,332,5451,2465,
+ 168,352,192,167,170,171,172,173,174,1080,
+ 228,1866,5451,333,346,1497,1409,349,156,5451,
+ 237,588,35,664,388,2465,180,2440,867,3445,
+ 306,310,734,406,203,215,4682,202,212,213,
+ 214,216,1592,1033,169,505,214,535,1080,71,
+ 1142,867,332,3889,168,432,186,167,170,171,
+ 172,173,174,1628,1078,228,214,525,2122,5451,
+ 2347,1592,1142,156,1080,1670,156,5451,332,2928,
+ 5451,180,2440,867,3411,2229,503,504,2101,203,
+ 215,4682,202,212,213,214,216,228,160,169,
+ 330,35,664,388,3314,760,35,664,388,168,
+ 2942,194,167,170,171,172,173,174,1866,5451,
+ 68,205,215,4682,204,212,213,214,216,1217,
+ 35,664,388,3314,49,2101,214,2101,1231,49,
+ 1142,330,335,1035,2083,1018,35,396,1035,47,
+ 206,208,210,294,295,5451,565,2534,867,217,
+ 207,209,1261,49,214,3780,156,53,3004,87,
+ 3777,335,1035,2871,524,3914,201,5451,13,5451,
+ 4317,3167,35,798,32,5451,3619,27,30,31,
+ 720,670,26,28,1534,25,23,50,1549,106,
+ 76,77,108,1349,1583,1962,3167,35,798,32,
+ 1231,3619,27,30,31,720,670,26,28,1534,
+ 25,23,50,1549,106,76,77,108,1878,1583,
+ 1964,5451,2928,1747,35,798,32,3252,3590,27,
+ 30,31,720,670,339,28,1349,5451,199,539,
+ 228,3167,35,798,32,3205,3619,27,30,31,
+ 720,670,26,28,1534,25,23,50,1549,106,
+ 76,77,85,1231,205,215,4682,204,212,213,
+ 214,216,1015,35,664,388,97,214,5451,5451,
+ 2101,2578,319,1321,321,1965,314,856,214,2928,
+ 2101,5451,1142,206,208,210,294,295,2101,565,
+ 5451,4346,217,207,209,313,49,228,330,35,
+ 664,388,52,2122,5451,1035,47,1142,156,98,
+ 214,567,451,4317,1142,2101,2101,3917,5451,2137,
+ 3840,205,215,4682,204,212,213,214,216,5451,
+ 214,5451,49,160,4311,2052,307,310,734,2928,
+ 156,1035,722,5451,2101,2101,5451,90,3911,3941,
+ 206,208,210,294,295,2534,565,228,2101,217,
+ 207,209,5451,1781,35,1886,32,3252,3590,27,
+ 30,31,720,670,339,28,4021,3285,2230,1231,
+ 4317,205,215,4682,204,212,213,214,216,5451,
+ 3322,588,35,664,388,214,5451,2101,214,3397,
+ 3790,214,1142,5451,2101,4377,5451,2101,5451,5451,
+ 206,208,210,294,295,5451,565,222,5451,217,
+ 207,209,319,1321,321,49,314,856,156,3424,
+ 5451,2101,5451,5451,1035,592,67,3997,2655,66,
+ 4317,3167,35,798,32,1141,3619,27,30,31,
+ 720,670,26,28,1534,25,23,50,1549,106,
+ 76,77,108,65,1970,3167,35,798,32,5451,
+ 3619,27,30,31,720,670,26,28,1534,25,
+ 23,50,1549,106,76,77,108,2101,1972,3167,
+ 35,798,32,2101,3619,27,30,31,720,670,
+ 26,28,1534,25,23,50,1549,106,76,77,
+ 108,214,1979,2282,214,3023,214,578,2581,64,
+ 2593,5451,5451,5451,5451,3501,5451,5451,418,419,
+ 1885,3167,1305,798,1843,5451,3619,27,30,31,
+ 720,670,26,28,1534,25,23,50,1549,106,
+ 76,77,84,3167,35,798,32,5451,3619,27,
+ 30,31,720,670,26,28,1534,25,23,50,
+ 1549,106,76,77,83,3167,35,798,32,5451,
+ 3619,27,30,31,720,670,26,28,1534,25,
+ 23,50,1549,106,76,77,82,3167,35,798,
+ 32,5451,3619,27,30,31,720,670,26,28,
+ 1534,25,23,50,1549,106,76,77,81,3167,
+ 35,798,32,5451,3619,27,30,31,720,670,
+ 26,28,1534,25,23,50,1549,106,76,77,
+ 80,3167,35,798,32,5451,3619,27,30,31,
+ 720,670,26,28,1534,25,23,50,1549,106,
+ 76,77,79,3167,35,798,32,5451,3619,27,
+ 30,31,720,670,26,28,1534,25,23,50,
+ 1549,106,76,77,78,2981,35,798,32,5451,
+ 3619,27,30,31,720,670,26,28,1534,25,
+ 23,50,1549,106,76,77,104,3167,35,798,
+ 32,5451,3619,27,30,31,720,670,26,28,
+ 1534,25,23,50,1549,106,76,77,110,3167,
+ 35,798,32,5451,3619,27,30,31,720,670,
+ 26,28,1534,25,23,50,1549,106,76,77,
+ 109,3167,35,798,32,5451,3619,27,30,31,
+ 720,670,26,28,1534,25,23,50,1549,106,
+ 76,77,107,3167,35,798,32,2101,3619,27,
+ 30,31,720,670,26,28,1534,25,23,50,
+ 1549,106,76,77,105,1791,2273,5451,2101,2928,
+ 535,1592,5451,5451,5451,2101,2090,1392,2122,3608,
+ 2928,2928,1142,5451,5451,5451,5451,228,3905,2101,
+ 2101,5451,5451,1231,5451,5451,156,5451,2400,228,
+ 55,5451,5451,5451,180,2440,2296,54,160,5451,
+ 1142,205,215,4682,204,212,213,214,216,5451,
+ 5451,4333,101,205,215,4682,204,212,213,214,
+ 216,193,195,3314,2122,2139,156,1592,1142,2928,
+ 206,208,210,294,295,162,565,2101,5451,519,
+ 207,209,206,208,210,294,295,228,565,2196,
+ 5451,218,207,209,160,214,5451,505,5451,1142,
+ 4024,335,5451,5451,2268,4308,2226,5451,2928,3533,
+ 2928,205,215,4682,204,212,213,214,216,5451,
+ 5451,529,5451,2313,5451,156,2400,2928,228,3314,
+ 5451,5451,5451,5451,3693,5451,5451,5451,502,504,
+ 206,208,210,294,295,228,565,5451,5451,520,
+ 207,209,205,215,4682,204,212,213,214,216,
+ 5451,4315,588,35,664,388,4026,335,5451,205,
+ 215,4682,204,212,213,214,216,4777,196,1800,
+ 5451,206,208,210,294,295,5451,565,1833,5451,
+ 305,207,209,2465,5451,505,49,5451,206,208,
+ 210,294,295,5451,565,1035,736,499,207,209,
+ 2030,35,798,32,4387,3808,27,30,31,720,
+ 670,339,28,1747,35,798,32,3252,3590,27,
+ 30,31,720,670,339,28,502,504,3330,35,
+ 664,388,1080,3383,5451,5451,4498,5451,5451,5451,
+ 5451,238,5451,214,5451,5451,5451,2928,588,35,
+ 664,388,5451,5451,1080,5451,5451,5451,333,319,
+ 1321,321,273,315,856,343,5451,2784,5451,5451,
+ 5451,5451,319,1321,321,1182,314,856,5451,2928,
+ 2470,5451,49,5451,1015,35,664,388,3028,5451,
+ 232,1035,2871,5451,5451,3050,5451,228,1921,5451,
+ 2402,35,798,32,2425,3590,27,30,31,720,
+ 670,339,28,5451,5451,236,230,231,49,5451,
+ 96,2014,407,4620,5451,5451,274,1035,47,5451,
+ 5451,5451,5451,214,5451,1287,5451,2928,403,2928,
+ 2470,1180,5451,5451,5451,243,246,249,252,1174,
+ 408,409,410,294,295,343,565,228,1217,316,
+ 870,321,1561,35,798,32,2387,3590,27,30,
+ 31,720,670,339,28,214,5451,1317,3028,2928,
+ 5451,2014,407,4620,330,35,664,388,1927,5451,
+ 1177,35,664,388,5451,2122,214,343,5451,1142,
+ 1142,5451,330,35,664,388,2038,35,664,388,
+ 408,409,410,294,295,5451,565,5451,49,5451,
+ 3028,316,870,321,49,160,156,1035,47,5451,
+ 509,5451,5451,1035,47,4329,49,1317,411,413,
+ 49,573,5451,5451,5451,1035,47,3145,5451,1035,
+ 3158,1015,35,664,388,5451,5451,2543,1033,930,
+ 5451,535,1097,629,5451,4655,330,35,664,388,
+ 330,35,664,388,5451,5451,5451,5451,5451,343,
+ 5451,330,35,664,388,49,5451,156,330,35,
+ 664,388,4330,5451,1035,3184,188,5451,411,414,
+ 49,5451,4533,5451,49,5451,5451,214,2839,1035,
+ 47,535,214,1035,47,49,535,5451,5451,5451,
+ 1033,5451,49,2693,1035,47,214,3225,5451,343,
+ 535,1035,47,5451,343,5451,5451,156,3418,5451,
+ 5451,5451,156,5451,5451,3511,2999,5451,343,5451,
+ 214,3578,3028,5451,535,214,156,3028,5451,535,
+ 214,190,2998,5451,535,2999,2297,3296,5451,214,
+ 2928,3028,343,2928,214,214,5451,343,2928,2928,
+ 156,3627,343,5451,5451,156,5451,5451,343,188,
+ 156,343,5451,5451,188,4533,343,343,530,188,
+ 4533,5451,5451,5451,5451,4533,5451,5451,5451,5451,
+ 5451,3028,5451,5451,3028,5451,5451,5451,5451,3028,
+ 3028,533,5451,5451,507,5451,5451,5451,5451,3854,
+ 534,5451,5451,5451,5451,5451,5451,3763,5451,5451,
+ 5451,5451,5451,5451,5451,5451,5451,5451,5451,5451,
+ 5451,5451,5451,5451,3855,5451,5451,5451,5451,3868,
+ 5451,5451,5451,5451,3907,5451,5451,5451,5451,5451,
+ 5451,5451,5451,5451,5451,5451,5451,5451,5451,5451,
+ 5451,5451,5451,5451,5451,5451,5451,5451,5451,5451,
+ 5451,5451,5451,5451,5451,5451,5451,5451,5451,5451,
+ 5451,5451,5451,5451,5451,5451,5451,5451,5451,5451,
+ 5451,5451,5451,5451,5451,5451,5451,5451,5451,5451,
+ 5451,5451,5451,5451,5451,5451,5451,5451,5451,5451,
+ 5451,5451,5451,5451,5451,5451,5451,5451,5451,5451,
+ 5451,5451,5451,5451,5451,5451,5451,5451,5451,5451,
+ 5451,5451,5451,5451,5451,5451,5451,5451,5451,5451,
+ 5451,5451,5451,5451,4399,5451,0,501,4305,0,
+ 1,229,0,39,5466,0,39,5465,0,1,
+ 2516,0,943,1,0,39,1,5466,0,39,
+ 1,5465,0,1,2989,0,1,739,0,229,
+ 219,0,283,394,0,283,286,0,5685,241,
+ 0,5684,241,0,5789,241,0,5788,241,0,
+ 5712,241,0,5711,241,0,5710,241,0,5709,
+ 241,0,5708,241,0,5707,241,0,5706,241,
+ 0,5705,241,0,5723,241,0,5722,241,0,
+ 5721,241,0,5720,241,0,5719,241,0,5718,
+ 241,0,5717,241,0,5716,241,0,5715,241,
+ 0,5714,241,0,5713,241,0,39,241,5466,
+ 0,39,241,5465,0,5489,241,0,1172,387,
+ 0,5466,48,0,5465,48,0,1,331,0,
+ 38,739,0,38,5466,0,38,5465,0,454,
+ 1532,0,440,1575,0,1172,29,0,5463,1,
+ 0,1622,318,0,1,444,0,458,649,0,
+ 457,2048,0,35,33,0,47,37,0,229,
+ 220,0,501,1358,0,5489,1,229,0,39,
+ 1,229,0,229,416,0,1,2703,0,1,
+ 5723,0,1,5722,0,1,5721,0,1,5720,
+ 0,1,5719,0,1,5718,0,1,5717,0,
+ 1,5716,0,1,5715,0,1,5714,0,1,
+ 5713,0,5466,37,0,5465,37,0,43,5487,
+ 0,43,37,0,5463,383,0,5462,383,0,
+ 1,2474,0,1,2607,0,5461,405,0,5460,
+ 405,0,229,415,0,2762,126,0,5459,1,
+ 0,331,445,0,5457,1,0,5456,1,0,
+ 2179,91,0,32,34,0,39,739,0,5487,
+ 45,0,37,45,0,1,229,2322,0,5460,
+ 229,0,2355,229,0,5489,1,0,39,1,
+ 0,237,910,0,388,32,0,387,29,0,
+ 2762,128,0,2762,127,0,2700,229,0,10,
+ 12,0,1,92,0,8,10,12,0,5466,
+ 2,37,0,5465,2,37,0,5466,36,0,
+ 5465,36,0,3111,383,0,331,95,0,35,
+ 73,0,8,12,0,278,4318,0,185,3478,
+ 0
};
};
public final static char baseAction[] = BaseAction.baseAction;
@@ -1116,367 +1116,359 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym
30,31,32,33,34,35,36,37,38,39,
40,0,42,43,44,45,46,47,48,49,
50,51,52,53,54,55,56,57,0,59,
- 60,61,62,63,64,0,66,67,68,0,
- 1,2,72,4,0,75,76,77,78,79,
- 80,81,82,83,84,85,86,0,1,2,
- 3,4,5,6,7,8,9,10,11,12,
- 13,14,15,16,17,18,19,20,21,22,
- 23,24,25,26,27,28,29,30,31,32,
- 33,34,35,36,37,38,39,40,70,42,
- 43,44,45,46,47,48,49,50,51,52,
- 53,54,55,56,57,71,59,60,61,62,
- 63,64,0,66,67,68,0,1,2,72,
- 4,9,75,76,77,78,79,80,81,82,
- 83,84,85,86,0,1,2,3,4,5,
+ 60,61,62,63,0,65,66,67,0,1,
+ 2,71,4,9,74,75,76,77,78,79,
+ 80,81,82,83,84,85,0,1,2,3,
+ 4,5,6,7,8,9,10,11,12,13,
+ 14,15,16,17,18,19,20,21,22,23,
+ 24,25,26,27,28,29,30,31,32,33,
+ 34,35,36,37,38,39,40,69,42,43,
+ 44,45,46,47,48,49,50,51,52,53,
+ 54,55,56,57,0,59,60,61,62,63,
+ 6,65,66,67,0,1,2,71,4,118,
+ 74,75,76,77,78,79,80,81,82,83,
+ 84,85,0,1,2,3,4,5,6,7,
+ 8,9,10,11,12,13,14,15,16,17,
+ 18,19,20,21,22,23,24,25,26,27,
+ 28,29,30,31,32,33,34,35,36,37,
+ 38,39,40,0,42,43,44,45,46,47,
+ 48,49,50,51,52,53,54,55,56,57,
+ 0,59,60,61,62,63,0,65,66,67,
+ 4,0,6,71,3,9,74,75,76,77,
+ 78,79,80,81,82,83,84,85,0,1,
+ 2,3,4,5,6,7,8,9,10,11,
+ 12,13,14,15,16,17,18,19,20,21,
+ 22,23,24,25,26,27,28,29,30,31,
+ 32,33,34,35,36,37,38,39,40,0,
+ 42,43,44,45,46,47,48,49,50,51,
+ 52,53,54,55,56,57,0,59,60,61,
+ 62,63,0,65,66,67,96,97,6,0,
+ 1,2,74,75,76,77,78,79,80,81,
+ 82,83,84,85,0,1,2,3,4,5,
6,7,8,9,10,11,12,13,14,15,
16,17,18,19,20,21,22,23,24,25,
26,27,28,29,30,31,32,33,34,35,
36,37,38,39,40,0,42,43,44,45,
46,47,48,49,50,51,52,53,54,55,
- 56,57,0,59,60,61,62,63,64,0,
- 66,67,68,4,0,6,72,3,9,75,
+ 56,57,0,59,60,61,62,63,0,65,
+ 66,67,0,0,92,93,100,4,74,75,
76,77,78,79,80,81,82,83,84,85,
- 86,0,1,2,3,4,5,6,7,8,
- 9,10,11,12,13,14,15,16,17,18,
- 19,20,21,22,23,24,25,26,27,28,
- 29,30,31,32,33,34,35,36,37,38,
- 39,40,70,42,43,44,45,46,47,48,
- 49,50,51,52,53,54,55,56,57,0,
- 59,60,61,62,63,64,0,66,67,68,
- 0,0,6,0,1,2,75,76,77,78,
- 79,80,81,82,83,84,85,86,0,1,
+ 0,1,2,3,4,5,6,7,8,9,
+ 10,11,12,13,14,15,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,58,42,43,44,45,46,47,48,49,
+ 50,51,52,53,54,55,56,57,0,59,
+ 60,61,62,63,0,65,66,67,0,1,
+ 2,89,4,91,74,75,76,77,78,79,
+ 80,81,82,83,84,85,0,1,2,3,
+ 4,5,6,7,8,9,10,11,12,13,
+ 14,15,16,17,18,19,20,21,22,23,
+ 24,25,26,27,28,29,30,31,32,33,
+ 34,35,36,37,38,39,40,0,42,43,
+ 44,45,46,47,48,49,50,51,52,53,
+ 54,55,56,57,0,59,60,61,62,63,
+ 0,65,66,67,96,97,6,0,1,2,
+ 74,75,76,77,78,79,80,81,82,83,
+ 84,85,0,1,2,3,4,5,6,7,
+ 8,9,10,11,12,13,14,15,16,17,
+ 18,19,20,21,22,23,24,25,26,27,
+ 28,29,30,31,32,33,34,35,36,37,
+ 38,39,40,69,42,43,44,45,46,47,
+ 48,49,50,51,52,53,54,55,56,57,
+ 0,59,60,61,62,63,0,65,66,67,
+ 4,0,92,93,0,4,74,75,76,77,
+ 78,79,80,81,82,83,84,85,0,1,
2,3,4,5,6,7,8,9,10,11,
12,13,14,15,16,17,18,19,20,21,
22,23,24,25,26,27,28,29,30,31,
32,33,34,35,36,37,38,39,40,58,
42,43,44,45,46,47,48,49,50,51,
- 52,53,54,55,56,57,0,59,60,61,
- 62,63,64,0,66,67,68,0,0,93,
- 94,91,4,75,76,77,78,79,80,81,
- 82,83,84,85,86,0,1,2,3,4,
- 5,6,7,8,9,10,11,12,13,14,
- 15,16,17,18,19,20,21,22,23,24,
- 25,26,27,28,29,30,31,32,33,34,
- 35,36,37,38,39,40,58,42,43,44,
- 45,46,47,48,49,50,51,52,53,54,
- 55,56,57,0,59,60,61,62,63,64,
- 0,66,67,68,0,1,2,90,4,92,
- 75,76,77,78,79,80,81,82,83,84,
- 85,86,0,1,2,3,4,5,6,7,
+ 52,53,54,55,56,57,72,59,60,61,
+ 62,63,0,65,66,67,0,0,6,0,
+ 1,2,74,75,76,77,78,79,80,81,
+ 82,83,84,85,0,1,2,3,4,5,
+ 6,7,8,9,10,11,12,13,14,15,
+ 16,17,18,19,20,21,22,23,24,25,
+ 26,27,28,29,30,31,32,33,34,35,
+ 36,37,38,39,40,58,42,43,44,45,
+ 46,47,48,49,50,51,52,53,54,55,
+ 56,57,0,59,60,61,62,63,0,65,
+ 66,67,4,0,92,93,0,4,74,75,
+ 76,77,78,79,80,81,82,83,84,85,
+ 0,1,2,3,4,5,6,7,8,9,
+ 10,11,12,13,14,15,16,17,18,19,
+ 20,21,22,23,24,25,26,27,28,29,
+ 30,31,32,33,34,35,36,37,38,39,
+ 40,58,42,43,44,45,46,47,48,49,
+ 50,51,52,53,54,55,56,57,72,59,
+ 60,61,62,63,0,65,66,67,0,1,
+ 2,99,0,5,74,75,76,77,78,79,
+ 80,81,82,83,84,85,0,1,2,3,
+ 4,5,6,7,8,9,10,11,12,13,
+ 14,15,16,17,18,19,20,21,22,23,
+ 24,25,26,27,28,29,30,31,32,33,
+ 34,35,36,37,38,39,40,0,42,43,
+ 44,45,46,47,48,49,50,51,52,53,
+ 54,55,56,57,72,59,60,61,62,63,
+ 0,65,66,67,0,1,2,0,1,2,
+ 74,75,76,77,78,79,80,81,82,83,
+ 84,85,0,1,2,3,4,5,6,7,
8,9,10,11,12,13,14,15,16,17,
18,19,20,21,22,23,24,25,26,27,
28,29,30,31,32,33,34,35,36,37,
- 38,39,40,70,42,43,44,45,46,47,
+ 38,39,40,0,42,43,44,45,46,47,
48,49,50,51,52,53,54,55,56,57,
- 0,59,60,61,62,63,64,0,66,67,
- 68,91,0,6,0,1,2,75,76,77,
- 78,79,80,81,82,83,84,85,86,0,
- 1,2,3,4,5,6,7,8,9,10,
- 11,12,13,14,15,16,17,18,19,20,
- 21,22,23,24,25,26,27,28,29,30,
- 31,32,33,34,35,36,37,38,39,40,
- 70,42,43,44,45,46,47,48,49,50,
- 51,52,53,54,55,56,57,75,59,60,
- 61,62,63,64,0,66,67,68,4,0,
- 93,94,0,4,75,76,77,78,79,80,
- 81,82,83,84,85,86,0,1,2,3,
+ 0,59,60,61,62,63,0,65,66,67,
+ 4,0,0,1,2,118,74,75,76,77,
+ 78,79,80,81,82,83,84,85,0,1,
+ 2,3,4,5,6,7,0,9,10,11,
+ 12,13,14,15,16,17,18,19,20,21,
+ 22,23,24,41,26,27,28,29,30,31,
+ 32,33,34,35,36,37,38,39,40,0,
+ 42,43,44,45,46,47,48,49,50,51,
+ 52,53,54,55,56,57,0,1,2,0,
+ 62,0,1,2,3,4,5,6,7,8,
+ 9,10,11,12,13,14,15,16,17,18,
+ 19,20,21,22,23,24,25,26,27,28,
+ 29,30,31,32,33,34,0,1,2,40,
+ 39,120,41,0,1,2,45,4,0,6,
+ 0,50,9,0,6,54,0,9,8,0,
+ 59,60,61,0,1,2,0,4,5,90,
+ 7,0,71,72,0,25,0,0,1,2,
+ 3,4,5,6,7,0,9,86,22,23,
+ 24,0,26,27,28,29,30,31,32,33,
+ 34,65,66,102,103,104,0,1,2,3,
4,5,6,7,8,9,10,11,12,13,
14,15,16,17,18,19,20,21,22,23,
24,25,26,27,28,29,30,31,32,33,
- 34,35,36,37,38,39,40,58,42,43,
- 44,45,46,47,48,49,50,51,52,53,
- 54,55,56,57,0,59,60,61,62,63,
- 64,0,66,67,68,0,0,6,0,1,
- 2,75,76,77,78,79,80,81,82,83,
- 84,85,86,0,1,2,3,4,5,6,
- 7,8,9,10,11,12,13,14,15,16,
- 17,18,19,20,21,22,23,24,25,26,
- 27,28,29,30,31,32,33,34,35,36,
- 37,38,39,40,58,42,43,44,45,46,
- 47,48,49,50,51,52,53,54,55,56,
- 57,76,59,60,61,62,63,64,0,66,
- 67,68,4,0,93,94,0,4,75,76,
- 77,78,79,80,81,82,83,84,85,86,
+ 34,64,89,69,91,39,69,41,0,1,
+ 2,45,4,68,6,70,50,9,87,88,
+ 54,102,103,104,0,59,60,61,0,5,
+ 0,0,0,1,2,101,8,71,72,0,
+ 106,107,108,109,110,111,112,113,114,115,
+ 116,100,86,22,23,24,0,26,27,28,
+ 29,30,31,32,33,34,0,0,102,103,
+ 104,0,1,2,3,4,5,6,7,8,
+ 9,10,11,12,13,14,15,16,17,18,
+ 19,20,21,22,23,24,25,26,27,28,
+ 29,30,31,32,33,34,39,0,1,2,
+ 39,0,41,74,3,8,45,6,0,8,
+ 9,50,0,1,2,54,4,5,10,7,
+ 59,60,61,0,63,0,25,0,1,2,
+ 0,4,71,87,88,117,35,36,37,38,
+ 0,0,1,2,3,4,5,86,7,0,
+ 1,2,3,4,5,6,7,101,9,58,
+ 0,0,106,3,67,64,41,59,41,68,
+ 69,70,71,72,73,0,1,2,3,4,
+ 5,120,7,8,0,0,0,3,87,88,
+ 89,90,91,92,93,94,95,96,97,98,
+ 99,100,101,0,64,64,105,106,107,108,
+ 109,110,111,112,113,114,115,116,117,0,
+ 119,72,3,0,64,6,40,8,9,68,
+ 0,1,2,3,4,5,0,7,0,64,
+ 0,1,2,58,25,0,1,2,73,4,
+ 5,0,7,68,35,36,37,38,22,23,
+ 24,0,26,27,28,29,30,31,32,33,
+ 34,0,0,1,2,72,4,58,6,94,
+ 95,9,0,64,23,24,41,68,69,70,
+ 71,72,73,22,23,24,58,26,27,28,
+ 29,30,31,32,33,34,87,88,89,90,
+ 91,92,93,94,95,96,97,98,99,100,
+ 101,70,0,41,105,106,107,108,109,110,
+ 111,112,113,114,115,116,117,0,119,0,
+ 1,2,3,4,5,6,7,8,9,10,
+ 11,12,13,14,15,16,17,18,19,20,
+ 21,22,23,24,25,26,27,28,29,30,
+ 31,32,33,34,0,0,0,0,39,3,
+ 41,0,1,2,45,4,5,10,7,50,
+ 0,1,2,54,0,5,0,7,59,60,
+ 61,64,63,0,1,2,3,4,5,6,
+ 7,89,9,91,0,0,0,1,2,3,
+ 4,5,41,7,0,86,11,12,13,14,
+ 15,16,17,18,19,20,21,22,23,24,
+ 64,26,27,28,29,30,31,32,33,34,
+ 0,1,2,3,4,5,0,7,0,120,
0,1,2,3,4,5,6,7,8,9,
10,11,12,13,14,15,16,17,18,19,
20,21,22,23,24,25,26,27,28,29,
- 30,31,32,33,34,35,36,37,38,39,
- 40,58,42,43,44,45,46,47,48,49,
- 50,51,52,53,54,55,56,57,0,59,
- 60,61,62,63,64,0,66,67,68,0,
- 1,2,0,0,5,75,76,77,78,79,
- 80,81,82,83,84,85,86,0,1,2,
+ 30,31,32,33,34,0,0,0,3,39,
+ 4,41,0,1,2,45,4,0,6,0,
+ 50,9,98,89,54,91,58,8,58,59,
+ 60,61,72,63,68,0,1,2,3,4,
+ 5,6,7,0,9,0,0,1,2,0,
+ 4,8,6,8,8,9,86,0,1,2,
3,4,5,6,7,8,9,10,11,12,
13,14,15,16,17,18,19,20,21,22,
23,24,25,26,27,28,29,30,31,32,
- 33,34,35,36,37,38,39,40,70,42,
- 43,44,45,46,47,48,49,50,51,52,
- 53,54,55,56,57,73,59,60,61,62,
- 63,64,0,66,67,68,0,1,2,0,
- 1,2,75,76,77,78,79,80,81,82,
- 83,84,85,86,0,1,2,3,4,5,
+ 33,34,73,0,87,88,39,4,41,64,
+ 0,0,45,0,1,2,0,50,5,90,
+ 7,54,67,70,71,22,59,60,61,73,
+ 63,0,0,0,1,2,3,4,71,6,
+ 8,0,9,0,0,118,90,0,0,1,
+ 2,8,41,86,0,1,2,3,4,5,
6,7,8,9,10,11,12,13,14,15,
16,17,18,19,20,21,22,23,24,25,
- 26,27,28,29,30,31,32,33,34,35,
- 36,37,38,39,40,63,42,43,44,45,
- 46,47,48,49,50,51,52,53,54,55,
- 56,57,0,59,60,61,62,63,64,0,
- 66,67,68,4,0,0,1,2,0,75,
- 76,77,78,79,80,81,82,83,84,85,
- 86,0,1,2,3,4,5,6,7,0,
- 9,10,11,12,13,14,15,16,17,18,
- 19,20,21,22,23,24,41,26,27,28,
- 29,30,31,32,33,34,35,36,37,38,
- 39,40,70,42,43,44,45,46,47,48,
- 49,50,51,52,53,54,55,56,57,0,
- 59,73,3,0,63,0,1,2,3,4,
- 5,6,7,8,9,10,11,12,13,14,
- 15,16,17,18,19,20,21,22,23,24,
- 25,26,27,28,29,30,31,32,33,34,
- 0,1,2,40,39,121,41,0,1,2,
- 45,4,0,6,0,50,9,3,6,54,
- 0,9,0,0,65,60,61,62,0,1,
- 2,0,4,5,0,7,0,72,73,0,
- 4,0,1,2,3,4,5,6,7,0,
- 9,0,87,22,23,24,0,26,27,28,
- 29,30,31,32,33,34,66,67,103,104,
- 105,0,1,2,3,4,5,6,7,8,
+ 26,27,28,29,30,31,32,33,34,41,
+ 0,1,2,39,0,41,6,64,0,45,
+ 69,3,58,71,50,102,103,104,54,0,
+ 67,70,0,59,60,61,72,63,0,0,
+ 1,2,3,4,5,71,7,0,1,2,
+ 0,41,0,3,87,88,0,0,8,3,
+ 86,0,1,2,3,4,5,6,7,8,
9,10,11,12,13,14,15,16,17,18,
19,20,21,22,23,24,25,26,27,28,
- 29,30,31,32,33,34,65,0,0,70,
- 39,70,41,0,1,2,45,4,69,6,
- 71,50,9,0,102,54,103,104,105,107,
- 0,60,61,62,0,1,2,0,0,1,
- 2,102,0,72,73,3,107,108,109,110,
- 111,112,113,114,115,116,117,101,87,22,
- 23,24,0,26,27,28,29,30,31,32,
- 33,34,65,0,103,104,105,0,1,2,
- 3,4,5,6,7,8,9,10,11,12,
- 13,14,15,16,17,18,19,20,21,22,
- 23,24,25,26,27,28,29,30,31,32,
- 33,34,70,0,41,0,39,0,41,0,
- 3,8,45,6,0,8,9,50,0,1,
- 2,54,4,5,10,7,0,60,61,62,
- 0,64,25,0,1,2,3,4,5,72,
- 7,0,35,36,37,38,0,1,2,3,
- 4,5,100,7,87,0,1,2,3,4,
- 5,6,7,0,9,58,0,1,2,3,
- 4,5,65,7,8,72,69,70,71,72,
- 73,74,0,0,1,2,3,4,121,6,
- 8,0,9,88,89,88,89,90,91,92,
- 93,94,95,96,97,98,99,100,101,102,
- 0,65,71,106,107,108,109,110,111,112,
- 113,114,115,116,117,118,0,120,73,3,
- 100,65,6,0,8,9,0,0,1,2,
- 74,4,5,0,7,35,36,0,65,58,
- 68,25,0,1,2,3,4,5,0,7,
- 0,35,36,37,38,22,23,24,0,26,
- 27,28,29,30,31,32,33,34,41,0,
- 0,23,24,3,58,0,1,2,3,4,
- 5,65,7,0,58,69,70,71,72,73,
- 74,22,23,24,0,26,27,28,29,30,
- 31,32,33,34,88,89,90,91,92,93,
- 94,95,96,97,98,99,100,101,102,69,
- 97,98,106,107,108,109,110,111,112,113,
- 114,115,116,117,118,65,120,0,1,2,
- 3,4,5,6,7,8,9,10,11,12,
- 13,14,15,16,17,18,19,20,21,22,
- 23,24,25,26,27,28,29,30,31,32,
- 33,34,0,1,2,0,39,5,41,0,
- 1,2,45,4,5,0,7,50,0,1,
- 2,54,0,5,9,7,4,60,61,62,
- 0,64,0,1,2,3,4,5,6,7,
- 0,9,0,41,0,40,0,1,2,0,
- 41,5,0,7,87,11,12,13,14,15,
- 16,17,18,19,20,21,22,23,24,0,
- 26,27,28,29,30,31,32,33,34,0,
- 1,2,3,4,5,0,7,0,121,0,
- 1,2,3,4,5,6,7,8,9,10,
- 11,12,13,14,15,16,17,18,19,20,
- 21,22,23,24,25,26,27,28,29,30,
- 31,32,33,34,0,0,41,58,39,99,
- 41,0,1,2,45,4,0,6,69,50,
- 9,0,90,54,92,58,0,58,0,60,
- 61,62,73,64,0,1,2,3,4,5,
- 6,7,0,9,95,96,0,1,2,0,
- 4,0,6,0,8,9,87,0,1,2,
- 3,4,5,6,7,8,9,10,11,12,
- 13,14,15,16,17,18,19,20,21,22,
- 23,24,25,26,27,28,29,30,31,32,
- 33,34,0,65,73,90,39,92,41,65,
- 8,0,45,99,88,89,0,50,0,0,
- 0,54,70,4,8,0,6,60,61,62,
- 74,64,0,8,71,3,0,0,0,72,
- 8,22,0,1,2,0,4,91,6,88,
- 89,9,0,8,87,0,1,2,3,4,
+ 29,30,31,32,33,34,0,1,2,0,
+ 39,5,41,0,1,2,45,0,70,10,
+ 0,50,65,66,64,54,87,88,8,62,
+ 59,60,61,73,63,69,0,0,0,3,
+ 98,0,71,0,8,121,0,41,39,8,
+ 41,0,35,36,41,0,0,86,0,1,
+ 2,3,4,5,6,7,8,9,10,11,
+ 12,13,14,15,16,17,18,19,20,21,
+ 22,23,24,25,26,27,28,29,30,31,
+ 32,33,34,73,0,58,58,39,0,41,
+ 64,58,0,45,68,68,70,0,50,73,
+ 8,68,54,58,73,0,70,59,60,61,
+ 0,63,0,8,68,3,70,25,8,35,
+ 36,94,95,35,36,0,0,94,95,0,
+ 1,2,0,0,86,0,1,2,3,4,
5,6,7,8,9,10,11,12,13,14,
15,16,17,18,19,20,21,22,23,24,
25,26,27,28,29,30,31,32,33,34,
- 74,0,1,2,39,4,41,65,0,74,
- 45,69,91,71,0,50,74,91,10,54,
- 0,1,2,68,0,60,61,62,8,64,
- 118,0,103,104,105,0,0,72,3,0,
- 1,2,41,8,97,98,10,39,0,41,
- 88,89,87,0,1,2,3,4,5,6,
- 7,8,9,10,11,12,13,14,15,16,
- 17,18,19,20,21,22,23,24,25,26,
- 27,28,29,30,31,32,33,34,68,0,
- 1,2,39,69,41,6,60,0,45,0,
- 65,4,0,50,73,66,67,54,0,74,
- 8,0,0,60,61,62,8,64,0,22,
- 0,0,0,0,0,72,0,25,4,8,
- 41,8,0,25,8,0,0,1,2,0,
- 87,0,1,2,3,4,5,6,7,8,
- 9,10,11,12,13,14,15,16,17,18,
- 19,20,21,22,23,24,25,26,27,28,
- 29,30,31,32,33,34,58,41,58,71,
- 39,69,41,0,1,2,45,69,0,69,
- 58,50,71,72,71,54,0,74,72,88,
- 89,60,61,62,8,64,0,1,2,0,
- 0,0,73,95,96,95,96,0,8,8,
- 0,25,0,0,41,0,1,2,87,0,
- 1,2,3,4,5,6,7,8,9,10,
- 11,12,13,14,15,16,17,18,19,20,
- 21,22,23,24,25,26,27,28,29,30,
- 31,32,33,34,0,0,41,58,39,0,
- 41,0,1,2,45,10,0,8,90,50,
- 92,58,73,54,74,74,69,0,71,60,
- 61,62,0,64,25,8,0,0,0,35,
- 36,0,0,0,39,0,41,0,3,8,
- 8,0,41,0,1,2,87,0,1,2,
- 3,4,5,6,7,8,9,10,11,12,
- 13,14,15,16,17,18,19,20,21,22,
- 23,24,25,26,27,28,29,30,31,32,
- 33,34,0,0,41,0,39,65,41,72,
- 0,58,45,8,0,1,2,50,71,58,
- 0,54,0,3,0,74,74,60,61,62,
- 25,64,0,1,2,3,4,5,6,7,
- 0,9,10,11,12,13,14,15,16,17,
- 18,19,20,21,87,41,0,0,1,2,
- 3,4,5,41,7,8,0,35,36,37,
- 38,69,40,70,42,43,44,0,46,47,
- 48,49,25,51,52,53,0,55,56,57,
- 0,59,0,0,70,63,3,0,66,67,
- 0,69,0,1,2,3,4,5,6,7,
+ 41,0,1,2,39,70,41,0,73,0,
+ 45,71,0,4,58,50,0,10,0,54,
+ 8,0,0,68,59,60,61,64,63,8,
+ 8,22,0,0,0,0,0,25,0,0,
+ 8,0,41,8,8,0,39,25,41,0,
+ 0,86,0,1,2,3,4,5,6,7,
8,9,10,11,12,13,14,15,16,17,
- 18,19,20,21,58,35,36,0,1,2,
- 3,4,5,0,7,8,3,35,36,37,
- 38,0,40,0,42,43,44,0,46,47,
- 48,49,25,51,52,53,0,55,56,57,
- 0,59,65,71,0,63,0,3,0,0,
- 68,71,3,0,72,0,1,2,3,4,
+ 18,19,20,21,22,23,24,25,26,27,
+ 28,29,30,31,32,33,34,0,70,0,
+ 3,39,70,41,73,0,58,45,0,1,
+ 2,68,50,71,70,64,54,58,73,73,
+ 0,59,60,61,69,63,0,1,2,3,
+ 4,5,6,7,0,9,10,11,12,13,
+ 14,15,16,17,18,19,20,21,86,41,
+ 90,0,1,2,3,4,5,58,7,8,
+ 0,35,36,37,38,0,40,0,42,43,
+ 44,0,46,47,48,49,25,51,52,53,
+ 0,55,56,57,0,0,1,2,62,69,
+ 0,65,66,9,68,0,1,2,3,4,
5,6,7,8,9,10,11,12,13,14,
- 15,16,17,18,19,20,21,0,0,58,
- 0,58,0,0,0,58,3,3,122,0,
- 35,36,37,38,5,40,0,42,43,44,
- 0,46,47,48,49,69,51,52,53,69,
- 55,56,57,0,59,69,3,69,63,0,
- 0,0,3,68,0,1,2,3,4,5,
- 6,7,0,9,10,11,12,13,14,15,
- 16,17,18,19,20,21,0,0,71,3,
- 37,38,0,73,101,73,0,0,0,35,
- 36,37,38,0,40,65,42,43,44,0,
- 46,47,48,49,0,51,52,53,65,55,
- 56,57,0,59,0,3,0,63,0,3,
- 66,67,0,1,2,3,4,5,6,7,
+ 15,16,17,18,19,20,21,0,58,0,
+ 0,1,2,3,4,5,41,7,8,58,
+ 35,36,37,38,69,40,0,42,43,44,
+ 0,46,47,48,49,25,51,52,53,69,
+ 55,56,57,0,0,0,0,62,68,0,
+ 0,0,67,3,3,0,71,0,1,2,
+ 3,4,5,6,7,8,9,10,11,12,
+ 13,14,15,16,17,18,19,20,21,72,
+ 0,72,0,3,58,0,0,0,37,38,
+ 8,0,35,36,37,38,0,40,68,42,
+ 43,44,58,46,47,48,49,25,51,52,
+ 53,68,55,56,57,64,0,68,72,62,
+ 0,0,0,3,67,0,1,2,3,4,
+ 5,6,7,0,9,10,11,12,13,14,
+ 15,16,17,18,19,20,21,0,0,0,
+ 3,3,3,0,99,70,105,0,72,0,
+ 35,36,37,38,0,40,75,42,43,44,
+ 119,46,47,48,49,0,51,52,53,4,
+ 55,56,57,0,0,0,3,62,3,0,
+ 65,66,0,1,2,3,4,5,6,7,
0,9,10,11,12,13,14,15,16,17,
- 18,19,20,21,0,119,58,3,0,106,
- 0,3,65,3,40,73,70,35,36,37,
- 38,0,40,120,42,43,44,0,46,47,
- 48,49,0,51,52,53,0,55,56,57,
- 0,59,0,3,0,63,0,3,66,67,
- 0,1,2,3,4,5,6,7,8,9,
- 10,11,12,13,14,15,16,17,18,19,
- 20,21,119,0,0,39,3,3,119,0,
- 0,0,3,3,0,35,36,37,38,0,
- 40,0,42,43,44,0,46,47,48,49,
- 58,51,52,53,0,55,56,57,0,59,
- 0,0,0,63,0,0,0,0,68,0,
+ 18,19,20,21,0,0,0,3,3,3,
+ 0,0,69,3,3,0,69,35,36,37,
+ 38,0,40,0,42,43,44,4,46,47,
+ 48,49,58,51,52,53,0,55,56,57,
+ 0,0,0,64,62,3,0,65,66,0,
1,2,3,4,5,6,7,8,9,10,
11,12,13,14,15,16,17,18,19,20,
- 21,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,35,36,37,38,0,40,
- 0,42,43,44,0,46,47,48,49,0,
- 51,52,53,0,55,56,57,0,59,0,
- 3,0,5,6,0,0,9,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,35,36,37,38,0,0,0,42,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,58,0,118,0,0,
- 0,0,65,66,67,0,69,70,71,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,88,89,90,0,0,
- 93,94,95,96,97,98,99,100,101,102,
- 0,0,0,106,0,108,109,110,111,112,
- 113,114,115,116,117,0,1,2,3,4,
- 5,6,7,0,9,10,11,12,13,14,
- 15,16,17,18,19,20,21,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 35,36,37,38,0,40,0,42,43,44,
- 0,46,47,48,49,0,51,52,53,0,
- 55,56,57,0,59,0,0,0,63,0,
- 1,2,3,4,5,6,7,0,9,10,
+ 21,0,0,0,3,3,3,5,6,64,
+ 90,9,0,0,35,36,37,38,0,40,
+ 69,42,43,44,58,46,47,48,49,0,
+ 51,52,53,0,55,56,57,35,36,37,
+ 38,62,0,0,42,3,67,0,0,0,
+ 0,0,40,0,0,0,0,0,0,0,
+ 58,0,0,0,0,0,64,65,66,0,
+ 68,69,70,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,87,
+ 88,89,0,0,92,93,94,95,96,97,
+ 98,99,100,101,0,0,0,105,0,107,
+ 108,109,110,111,112,113,114,115,116,0,
+ 1,2,3,4,5,6,7,8,9,10,
11,12,13,14,15,16,17,18,19,20,
21,0,0,0,0,0,0,0,0,0,
0,0,0,0,35,36,37,38,0,40,
0,42,43,44,0,46,47,48,49,0,
- 51,52,53,0,55,56,57,0,59,0,
- 0,0,0,0,65,0,1,2,3,4,
+ 51,52,53,0,55,56,57,0,1,2,
+ 3,4,5,6,7,0,9,10,11,12,
+ 13,14,15,16,17,18,19,20,21,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,35,36,37,38,0,40,0,42,
+ 43,44,0,46,47,48,49,0,51,52,
+ 53,0,55,56,57,0,117,0,0,62,
+ 0,1,2,3,4,5,6,7,0,9,
+ 10,11,12,13,14,15,16,17,18,19,
+ 20,21,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,35,36,37,38,0,
+ 40,0,42,43,44,0,46,47,48,49,
+ 0,51,52,53,0,55,56,57,0,0,
+ 0,0,0,0,64,0,1,2,3,4,
5,6,7,0,9,10,11,12,13,14,
15,16,17,18,19,20,21,0,0,0,
0,0,0,0,0,0,0,0,0,0,
35,36,37,38,0,40,0,42,43,44,
0,46,47,48,49,0,51,52,53,0,
- 55,56,57,0,59,0,0,0,63,0,
- 1,2,3,4,5,6,7,0,9,10,
- 11,12,13,14,15,16,17,18,19,20,
- 21,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,35,36,37,38,0,40,
- 0,42,43,44,0,46,47,48,49,0,
- 51,52,53,0,55,56,57,0,59,0,
- 1,2,3,4,5,6,7,0,9,10,
- 11,12,13,14,15,16,17,18,19,20,
- 21,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,35,36,37,38,0,40,
- 0,42,43,44,0,46,47,48,49,0,
- 51,52,53,0,55,56,57,0,59,0,
- 1,2,3,4,5,6,7,0,9,10,
- 11,12,13,14,15,16,17,18,19,20,
- 21,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,35,36,37,38,0,40,
- 0,42,43,44,0,46,47,48,49,0,
- 51,52,53,0,55,56,57,0,59,0,
- 1,2,0,4,0,0,0,0,0,10,
+ 55,56,57,0,0,0,0,62,0,1,
+ 2,3,4,5,6,7,0,9,10,11,
+ 12,13,14,15,16,17,18,19,20,21,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,35,36,37,38,0,40,0,
+ 42,43,44,0,46,47,48,49,0,51,
+ 52,53,0,55,56,57,0,1,2,3,
+ 4,5,6,7,0,9,10,11,12,13,
+ 14,15,16,17,18,19,20,21,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,35,36,37,38,0,40,0,42,43,
+ 44,0,46,47,48,49,0,51,52,53,
+ 0,55,56,57,0,1,2,3,4,5,
+ 6,7,0,9,10,11,12,13,14,15,
+ 16,17,18,19,20,21,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,35,
+ 36,37,38,0,40,0,42,43,44,0,
+ 46,47,48,49,0,51,52,53,0,55,
+ 56,57,0,1,2,0,4,0,0,0,
+ 0,0,10,11,12,13,14,15,16,17,
+ 18,19,20,21,22,23,24,0,26,27,
+ 28,29,30,31,32,33,34,0,0,0,
+ 0,39,0,0,0,0,0,45,0,0,
+ 1,2,50,4,0,0,54,0,0,10,
11,12,13,14,15,16,17,18,19,20,
21,22,23,24,0,26,27,28,29,30,
31,32,33,34,0,0,0,0,39,0,
- 0,0,0,0,45,0,0,1,2,50,
- 4,0,0,54,0,0,10,11,12,13,
- 14,15,16,17,18,19,20,21,22,23,
- 24,0,26,27,28,29,30,31,32,33,
- 34,0,0,0,0,39,0,0,0,0,
- 0,45,0,0,0,0,50,0,0,0,
- 54,0,1,2,3,4,5,6,7,8,
- 9,0,0,0,0,0,0,0,0,0,
- 0,0,0,22,23,24,25,26,27,28,
- 29,30,31,32,33,34,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,58,
- 0,0,0,0,0,0,65,0,0,0,
- 0,0,0,0,0,74,0,1,2,3,
- 4,5,6,7,8,9,0,0,0,0,
- 0,0,0,0,0,0,0,0,22,23,
- 24,25,26,27,28,29,30,31,32,33,
- 34,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,45,0,0,0,0,50,
+ 0,0,0,54,0,1,2,3,4,5,
+ 6,7,8,9,0,0,0,0,0,0,
+ 0,0,0,0,0,0,22,23,24,25,
+ 26,27,28,29,30,31,32,33,34,0,
+ 0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,58,0,0,0,0,0,64,0,
+ 0,0,0,0,0,0,0,73,0,1,
+ 2,3,4,5,6,7,8,9,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 22,23,24,25,26,27,28,29,30,31,
+ 32,33,34,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,65,0,0,0,0,0,0,0,0,
- 74,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,64,0,0,0,0,0,0,0,
+ 0,73,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0
};
};
public final static byte termCheck[] = TermCheck.termCheck;
@@ -1484,369 +1476,360 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym
public interface TermAction {
public final static char termAction[] = {0,
- 5452,5376,5091,5091,5091,5091,5091,5091,5407,5091,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,5380,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
+ 5451,5375,5090,5090,5090,5090,5090,5090,5406,5090,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,36,1,
- 1541,719,5628,1,558,396,1,1,5463,287,
- 5126,5126,5459,284,309,1394,2482,3340,2100,3312,
- 2306,3104,2440,948,2425,2878,2362,10,5410,5410,
- 5410,5410,5410,5410,5410,5410,5410,5410,5410,5410,
- 5410,5410,5410,5410,5410,5410,5410,5410,5410,5410,
- 5410,5410,5410,5410,5410,5410,5410,5410,5410,5410,
- 5410,5410,5410,5410,5410,5410,5410,5410,1795,5410,
- 5410,5410,5410,5410,5410,5410,5410,5410,5410,5410,
- 5410,5410,5410,5410,5410,3724,5410,5410,5410,5410,
- 5410,5410,132,5410,5410,5410,5452,5097,5094,5410,
- 5491,594,5410,5410,5410,5410,5410,5410,5410,5410,
- 5410,5410,5410,5410,8,5416,5416,5416,5416,5416,
- 5416,5416,5416,5416,5416,5416,5416,5416,5416,5416,
- 5416,5416,5416,5416,5416,5416,5416,5416,5416,5416,
- 5416,5416,5416,5416,5416,5416,5416,5416,5416,5416,
- 5416,5416,5416,5416,5416,332,5416,5416,5416,5416,
- 5416,5416,5416,5416,5416,5416,5416,5416,5416,5416,
- 5416,5416,292,5416,5416,5416,5416,5416,5416,40,
- 5416,5416,5416,5491,5452,332,5416,662,332,5416,
- 5416,5416,5416,5416,5416,5416,5416,5416,5416,5416,
- 5416,5452,5376,5091,5091,5091,5091,5091,5091,5383,
- 5091,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,5380,1,1,1,
+ 1,1,1,1,1,5379,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,2062,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,385,
- 1,1541,719,5628,1,558,116,1,1,5463,
- 359,388,4000,5452,5215,5212,1394,2482,3340,2100,
- 3312,2306,3104,2440,948,2425,2878,2362,5452,5376,
- 5091,5091,5091,5091,5091,5091,5383,5091,1,1,
+ 1,5451,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,35,1540,
+ 718,5626,1,557,131,1,1,5462,286,5125,
+ 5125,5458,283,593,1393,2481,3339,2099,3311,2305,
+ 3103,2439,947,2424,2877,2361,10,5409,5409,5409,
+ 5409,5409,5409,5409,5409,5409,5409,5409,5409,5409,
+ 5409,5409,5409,5409,5409,5409,5409,5409,5409,5409,
+ 5409,5409,5409,5409,5409,5409,5409,5409,5409,5409,
+ 5409,5409,5409,5409,5409,5409,5409,1794,5409,5409,
+ 5409,5409,5409,5409,5409,5409,5409,5409,5409,5409,
+ 5409,5409,5409,5409,5451,5409,5409,5409,5409,5409,
+ 3363,5409,5409,5409,5451,5096,5093,5409,5489,2688,
+ 5409,5409,5409,5409,5409,5409,5409,5409,5409,5409,
+ 5409,5409,8,5415,5415,5415,5415,5415,5415,5415,
+ 5415,5415,5415,5415,5415,5415,5415,5415,5415,5415,
+ 5415,5415,5415,5415,5415,5415,5415,5415,5415,5415,
+ 5415,5415,5415,5415,5415,5415,5415,5415,5415,5415,
+ 5415,5415,5415,1,5415,5415,5415,5415,5415,5415,
+ 5415,5415,5415,5415,5415,5415,5415,5415,5415,5415,
+ 129,5415,5415,5415,5415,5415,39,5415,5415,5415,
+ 5489,5451,331,5415,661,331,5415,5415,5415,5415,
+ 5415,5415,5415,5415,5415,5415,5415,5415,5451,5375,
+ 5090,5090,5090,5090,5090,5090,5382,5090,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,5380,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,5209,
+ 1,1,1,5379,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,395,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,5452,1,1541,719,
- 5628,1,558,5452,1,1,5463,112,397,3976,
- 3952,5810,388,1394,2482,3340,2100,3312,2306,3104,
- 2440,948,2425,2878,2362,5452,5376,5091,5091,5091,
- 5091,5091,5091,5383,5091,1,1,1,1,1,
+ 1,1,1,1,1,1,137,1540,718,5626,
+ 1,557,115,1,1,5462,2610,2540,3999,5451,
+ 5214,5211,1393,2481,3339,2099,3311,2305,3103,2439,
+ 947,2424,2877,2361,5451,5375,5090,5090,5090,5090,
+ 5090,5090,5382,5090,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,5379,
1,1,1,1,1,1,1,1,1,1,
- 5380,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1173,1,1,1,
+ 1,1,1,1,1,331,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,371,1,1541,719,5628,1,558,
- 1,1,1,5463,5452,5097,5094,4218,5491,4240,
- 1394,2482,3340,2100,3312,2306,3104,2440,948,2425,
- 2878,2362,5452,5376,5091,5091,5091,5091,5091,5091,
- 5383,5091,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,5380,1,1,
+ 1,1,384,1540,718,5626,1,557,5451,1,
+ 1,5462,111,396,3975,3951,2275,387,1393,2481,
+ 3339,2099,3311,2305,3103,2439,947,2424,2877,2361,
+ 5451,5375,5090,5090,5090,5090,5090,5090,5382,5090,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1284,1,1,1,1,1,1,
+ 1,1,1,1,1,5379,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 369,1,1541,719,5628,1,558,118,1,1,
- 5463,5812,1,4000,5452,5466,5467,1394,2482,3340,
- 2100,3312,2306,3104,2440,948,2425,2878,2362,5452,
- 5376,5091,5091,5091,5091,5091,5091,5383,5091,1,
+ 1,1172,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,130,1540,
+ 718,5626,1,557,5451,1,1,5462,5451,5096,
+ 5093,4217,5489,4239,1393,2481,3339,2099,3311,2305,
+ 3103,2439,947,2424,2877,2361,5451,5375,5090,5090,
+ 5090,5090,5090,5090,5382,5090,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,5380,1,1,1,1,1,
+ 1,5379,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,5451,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1329,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1216,1,1541,
- 719,5628,1,558,40,1,1,5463,5491,49,
- 3976,3952,5452,5467,1394,2482,3340,2100,3312,2306,
- 3104,2440,948,2425,2878,2362,5452,5376,5091,5091,
- 5091,5091,5091,5091,5383,5091,1,1,1,1,
+ 1,1,1,1,291,1540,718,5626,1,557,
+ 117,1,1,5462,2610,2540,3999,5451,5465,5466,
+ 1393,2481,3339,2099,3311,2305,3103,2439,947,2424,
+ 2877,2361,5451,5375,5090,5090,5090,5090,5090,5090,
+ 5382,5090,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,5379,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,5380,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,5467,1,1,
+ 1,1,1,2061,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,5452,1,1541,719,5628,1,
- 558,117,1,1,5463,5452,455,4000,5452,6841,
- 6667,1394,2482,3340,2100,3312,2306,3104,2440,948,
- 2425,2878,2362,5452,5376,5091,5091,5091,5091,5091,
- 5091,5383,5091,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,5380,1,
+ 5451,1540,718,5626,1,557,39,1,1,5462,
+ 5489,48,3975,3951,448,5466,1393,2481,3339,2099,
+ 3311,2305,3103,2439,947,2424,2877,2361,5451,5375,
+ 5090,5090,5090,5090,5090,5090,5382,5090,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,5230,1,1,1,1,1,
+ 1,1,1,5379,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,5466,
1,1,1,1,1,1,1,1,1,1,
- 1,2992,1,1541,719,5628,1,558,5452,1,
- 1,5463,2871,49,3976,3952,5452,5466,1394,2482,
- 3340,2100,3312,2306,3104,2440,948,2425,2878,2362,
- 5452,5376,5091,5091,5091,5091,5091,5091,5383,5091,
+ 1,1,1,1,1,1,646,1540,718,5626,
+ 1,557,116,1,1,5462,5451,387,3999,5451,
+ 6829,6657,1393,2481,3339,2099,3311,2305,3103,2439,
+ 947,2424,2877,2361,5451,5375,5090,5090,5090,5090,
+ 5090,5090,5382,5090,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,5379,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,5380,1,1,1,1,
+ 1,1,1,1,1,5208,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,5466,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,509,1,
- 1541,719,5628,1,558,5452,1,1,5463,5452,
- 5466,5467,449,5452,2911,1394,2482,3340,2100,3312,
- 2306,3104,2440,948,2425,2878,2362,5452,5376,5091,
- 5091,5091,5091,5091,5091,5383,5091,1,1,1,
+ 1,1,135,1540,718,5626,1,557,5451,1,
+ 1,5462,2870,48,3975,3951,5451,5465,1393,2481,
+ 3339,2099,3311,2305,3103,2439,947,2424,2877,2361,
+ 5451,5375,5090,5090,5090,5090,5090,5090,5382,5090,
1,1,1,1,1,1,1,1,1,1,
- 1,1,5380,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,4696,1,
+ 1,1,1,1,1,5379,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,647,1,1541,719,5628,
- 1,558,533,1,1,5463,49,5215,5212,398,
- 5466,5467,1394,2482,3340,2100,3312,2306,3104,2440,
- 948,2425,2878,2362,5452,5376,5091,5091,5091,5091,
- 5091,5091,5383,5091,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,5380,
+ 1,5465,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,5852,1540,
+ 718,5626,1,557,5451,1,1,5462,5451,5465,
+ 5466,2325,428,2910,1393,2481,3339,2099,3311,2305,
+ 3103,2439,947,2424,2877,2361,5451,5375,5090,5090,
+ 5090,5090,5090,5090,5382,5090,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,3140,1,1,1,1,
+ 1,5379,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,375,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,507,1,1541,719,5628,1,558,396,
- 1,1,5463,389,5452,38,5257,5257,5452,1394,
- 2482,3340,2100,3312,2306,3104,2440,948,2425,2878,
- 2362,40,5097,5094,4828,944,4042,4108,2990,5452,
- 4130,2844,5717,5715,5724,5723,5719,5720,5718,5721,
- 5722,5725,5716,5713,5790,5791,5489,5707,5714,5710,
- 5686,5712,5711,5708,5709,5687,4086,4064,4174,4152,
- 5851,5472,4890,3742,1451,1507,2665,5474,1492,3055,
- 1500,5852,5475,5473,1404,5853,5468,5470,5471,319,
- 5469,5854,5242,5452,1412,5452,5270,5270,230,5266,
- 230,230,230,5274,230,1,1,1,1,1,
+ 1,1,1,1,923,1540,718,5626,1,557,
+ 5451,1,1,5462,48,5214,5211,397,5465,5466,
+ 1393,2481,3339,2099,3311,2305,3103,2439,947,2424,
+ 2877,2361,5451,5375,5090,5090,5090,5090,5090,5090,
+ 5382,5090,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,5379,1,1,
1,1,1,1,1,1,1,1,1,1,
- 230,1,1,1,1,1,1,1,1,1,
- 5452,5466,5467,1043,1,5087,5263,445,1,1,
- 1,1,5452,5245,5452,1,5245,1623,1920,1,
- 5452,5782,140,440,1372,3013,784,5865,5452,5097,
- 5094,225,944,740,5452,2990,5452,417,230,140,
- 3045,368,5110,5106,2639,5103,740,1,2990,5452,
- 1,5452,5953,5713,5790,5791,138,5707,5714,5710,
- 5686,5712,5711,5708,5709,5687,4196,1053,5888,5889,
- 5890,5452,5270,5270,230,5266,230,230,230,5343,
- 230,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,230,1,1,1,
- 1,1,1,1,1,1,1372,321,5452,1890,
- 1,1224,5263,446,40,40,1,5491,4434,5352,
- 3445,1,5352,5452,1186,1,5888,5889,5890,3537,
- 5452,3013,784,5865,5452,6841,6667,226,291,5466,
- 5467,1186,312,416,230,2092,3537,1847,1804,1761,
- 1718,1675,1632,1589,1546,1503,1460,2276,5953,5713,
- 5790,5791,136,5707,5714,5710,5686,5712,5711,5708,
- 5709,5687,1372,5452,5888,5889,5890,5452,5091,5091,
- 230,5091,230,230,230,5120,230,1,1,1,
+ 1,1,1,5451,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,230,1,1,8662,1,1,1,1,
- 1,1,1094,5452,913,122,1,34,5088,5452,
- 5254,5460,1,5254,302,5254,5254,1,5452,5097,
- 5094,1,944,740,5753,2990,5452,2835,719,5664,
- 137,558,5254,1,5110,5106,5100,5103,5117,220,
- 5114,516,5254,5254,5254,5254,1,5110,5106,2639,
- 5103,740,2326,2990,5953,5452,5110,5106,2517,5103,
- 740,5218,2990,5452,5218,5254,1,5110,5106,2639,
- 5103,740,5254,2990,5355,5459,5254,5254,5254,5254,
- 5254,5254,5452,346,40,40,3287,5491,220,332,
- 5464,441,332,2959,3082,5254,5254,5254,5254,5254,
- 5254,5254,5254,5254,5254,5254,5254,5254,5254,5254,
- 119,1372,881,5254,5254,5254,5254,5254,5254,5254,
- 5254,5254,5254,5254,5254,5254,5452,5254,1049,5364,
- 2326,1372,5364,130,5364,5364,30,5452,5097,5094,
- 5358,944,5367,227,2990,3697,3672,5452,1372,5233,
- 5463,5364,1,5110,5106,2517,5103,740,337,2990,
- 5452,5364,5364,5364,5364,5713,5790,5791,5452,5707,
- 5714,5710,5686,5712,5711,5708,5709,5687,2595,228,
- 348,5790,5791,3452,5364,332,5097,5094,2517,944,
- 740,5364,2990,5452,5236,5364,5364,5364,5364,5364,
- 5364,5713,5790,5791,5452,5707,5714,5710,5686,5712,
- 5711,5708,5709,5687,5364,5364,5364,5364,5364,5364,
- 5364,5364,5364,5364,5364,5364,5364,5364,5364,4376,
- 2611,2541,5364,5364,5364,5364,5364,5364,5364,5364,
- 5364,5364,5364,5364,5364,1372,5364,5452,5091,5091,
- 230,5091,230,230,230,230,230,1,1,1,
+ 5451,1540,718,5626,1,557,395,1,1,5462,
+ 388,5451,37,5256,5256,2688,1393,2481,3339,2099,
+ 3311,2305,3103,2439,947,2424,2877,2361,39,5096,
+ 5093,4827,943,4041,4107,2989,5451,4129,2843,5715,
+ 5713,5722,5721,5717,5718,5716,5719,5720,5723,5714,
+ 5711,5788,5789,5487,5705,5712,5708,5684,5710,5709,
+ 5706,5707,5685,4085,4063,4173,4151,5849,5470,358,
+ 3741,1450,1506,2664,5472,1491,3054,1499,5850,5473,
+ 5471,1403,5851,5467,5468,5469,5451,6829,6657,5451,
+ 1411,5451,5269,5269,229,5265,229,229,229,5273,
+ 229,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,229,1,1,1,
+ 1,1,1,1,1,1,5451,5465,5466,1042,
+ 1,5086,5262,444,1,1,1,1,5451,5244,
+ 5451,1,5244,114,1919,1,5451,5780,5461,439,
+ 3012,783,5863,5451,5096,5093,224,943,739,5808,
+ 2989,121,416,229,139,5460,5451,367,5109,5105,
+ 2638,5102,739,1,2989,5451,1,5951,5711,5788,
+ 5789,138,5705,5712,5708,5684,5710,5709,5706,5707,
+ 5685,4195,1052,5886,5887,5888,5451,5269,5269,229,
+ 5265,229,229,229,5342,229,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,230,1,1,8662,1,1,1,1,
- 1,1,38,5257,5257,5452,1,5257,5088,5452,
- 5097,5094,1,944,5367,133,2990,1,39,5227,
- 5224,1,5452,5221,594,2990,2722,2835,719,5664,
- 134,558,310,5110,5106,2517,5103,740,5218,2990,
- 5452,5218,5452,3237,224,2498,5452,5466,5467,5452,
- 2822,740,115,2990,5953,5717,5715,5724,5723,5719,
- 5720,5718,5721,5722,5725,5716,5713,5790,5791,127,
- 5707,5714,5710,5686,5712,5711,5708,5709,5687,1,
- 5110,5106,2517,5103,740,48,2990,5452,221,5452,
- 5091,5091,230,5091,230,230,230,230,230,1,
+ 1,229,1,1,1,1,1,1,1,1,
+ 1,1371,4217,1889,4239,1,1223,5262,445,39,
+ 39,1,5489,4433,5351,3444,1,5351,2958,3081,
+ 1,5886,5887,5888,5451,3012,783,5863,5451,2910,
+ 5451,225,290,5465,5466,1185,5455,415,229,1,
+ 3536,1846,1803,1760,1717,1674,1631,1588,1545,1502,
+ 1459,2275,5951,5711,5788,5789,125,5705,5712,5708,
+ 5684,5710,5709,5706,5707,5685,139,5451,5886,5887,
+ 5888,5451,5090,5090,229,5090,229,229,229,5119,
+ 229,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,229,1,1,8738,
+ 1,1,1,1,1,1,3635,5451,5465,5466,
+ 1,33,5087,1215,5253,5463,1,5253,301,5253,
+ 5253,1,5451,5096,5093,1,943,739,5751,2989,
+ 2834,718,5662,5451,557,5451,5253,394,5122,5122,
+ 5451,283,219,2958,3081,5454,5253,5253,5253,5253,
+ 320,1,5109,5105,2638,5102,739,5951,2989,5451,
+ 5109,5105,2516,5102,739,5217,2989,1185,5217,5253,
+ 318,5451,3536,5241,5462,5253,912,645,283,5253,
+ 5253,5253,5253,5253,5253,1,5109,5105,2638,5102,
+ 739,219,2989,5354,5451,126,5451,1622,5253,5253,
+ 5253,5253,5253,5253,5253,5253,5253,5253,5253,5253,
+ 5253,5253,5253,5451,1371,1371,5253,5253,5253,5253,
+ 5253,5253,5253,5253,5253,5253,5253,5253,5253,5451,
+ 5253,1048,5363,5451,1371,5363,2497,5363,5363,4375,
+ 1,5109,5105,5099,5102,5116,226,5113,454,1371,
+ 36,5430,5427,2789,5363,5451,5096,5093,5357,943,
+ 5366,308,2989,5345,5363,5363,5363,5363,5711,5788,
+ 5789,336,5705,5712,5708,5684,5710,5709,5706,5707,
+ 5685,227,92,1,1,2149,1,5363,5412,2735,
+ 2666,5412,47,5363,5788,5789,2594,5363,5363,5363,
+ 5363,5363,5363,5711,5788,5789,5229,5705,5712,5708,
+ 5684,5710,5709,5706,5707,5685,5363,5363,5363,5363,
+ 5363,5363,5363,5363,5363,5363,5363,5363,5363,5363,
+ 5363,3723,113,794,5363,5363,5363,5363,5363,5363,
+ 5363,5363,5363,5363,5363,5363,5363,458,5363,5451,
+ 5090,5090,229,5090,229,229,229,229,229,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,230,1,1,8662,1,1,
- 1,1,1,1,135,114,795,2790,1,2358,
- 5088,93,1,1,1,1,126,5413,5346,1,
- 5413,429,4218,1,4240,1662,5452,958,459,2835,
- 719,5664,1049,558,346,5097,5094,2639,944,740,
- 332,2990,421,332,2736,2667,1,5389,5389,5452,
- 5386,125,332,450,364,332,5953,5452,5091,5091,
- 230,5091,230,230,230,5260,230,1,1,1,
+ 1,1,1,1,229,1,1,8738,1,1,
+ 1,1,1,1,5451,5451,347,301,1,3451,
+ 5087,5451,5096,5093,1,943,5366,5751,2989,1,
+ 38,5226,5223,1,5451,5220,5451,2989,2834,718,
+ 5662,5247,557,309,5109,5105,2516,5102,739,5217,
+ 2989,4217,5217,4239,133,223,1,5109,5105,2516,
+ 5102,739,2821,2989,112,5951,5715,5713,5722,5721,
+ 5717,5718,5716,5719,5720,5723,5714,5711,5788,5789,
+ 1371,5705,5712,5708,5684,5710,5709,5706,5707,5685,
+ 1,5109,5105,2516,5102,739,5451,2989,440,220,
+ 5451,5090,5090,229,5090,229,229,229,229,229,
1,1,1,1,1,1,1,1,1,1,
- 1,1,230,1,1,8662,1,1,1,1,
- 1,1,5452,5248,924,4218,1,4240,5088,1372,
- 5456,1,1,2358,2959,3082,1,1,5452,40,
- 5452,1,2188,5491,364,5452,3364,2835,719,5664,
- 364,558,1,5458,2725,3287,5452,131,5452,221,
- 342,855,96,40,40,1,5491,364,5437,2959,
- 3082,5437,124,5239,5953,5452,5091,5091,230,5091,
- 230,230,230,5260,230,1,1,1,1,1,
+ 1,1,1,1,1,229,1,1,8738,1,
+ 1,1,1,1,1,5451,5451,124,4832,1,
+ 3044,5087,95,39,39,1,5489,521,5436,1,
+ 1,5436,2357,4217,1,4239,5232,363,957,2834,
+ 718,5662,1048,557,5963,345,5096,5093,2638,943,
+ 739,331,2989,5451,331,5451,1,5388,5388,5451,
+ 5385,5459,331,5463,363,331,5951,5451,5090,5090,
+ 229,5090,229,229,229,5259,229,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 230,1,1,8662,1,1,1,1,1,1,
- 364,395,5123,5123,1,284,5088,1372,1,5457,
- 1,342,4004,342,5452,1,342,364,5331,1,
- 5452,5466,5467,5463,5452,2835,719,5664,5464,558,
- 5455,5452,5888,5889,5890,1,302,221,3287,5452,
- 5215,5212,284,5355,2611,2541,5753,5334,5452,1808,
- 2959,3082,5953,5452,5091,5091,230,5091,230,230,
- 230,5260,230,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,230,1,
- 1,8662,1,1,1,1,1,1,5463,38,
- 5257,5257,1,5965,5088,332,646,40,1,5452,
- 1372,5491,5452,1,2150,4196,1053,1,5452,5358,
- 5462,123,5452,2835,719,5664,5462,558,129,3411,
- 128,5452,5452,5452,5452,221,1,5461,3424,5460,
- 5489,5458,5452,5461,5349,5452,5452,5316,5313,5452,
- 5953,5452,5091,5091,230,5091,230,230,230,230,
- 230,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,230,1,1,8662,
- 1,1,1,1,1,1,2790,5489,2790,3874,
- 1,5908,5088,44,5322,5322,1,5401,113,5404,
- 1173,1,1004,5459,4896,1,406,5457,5459,2959,
- 3082,2835,719,5664,5337,558,37,5431,5428,30,
- 1,1,1976,2736,2667,2736,2667,5452,162,529,
- 5452,5340,5452,5452,5319,46,5373,5373,5953,5452,
- 5091,5091,230,5091,230,230,230,230,230,1,
+ 1,1,229,1,1,8738,1,1,1,1,
+ 1,1,363,39,2958,3081,1,5489,5087,1371,
+ 5451,37,1,5451,5465,5466,5451,1,739,363,
+ 2989,1,5462,1003,5458,854,2834,718,5662,363,
+ 557,370,5451,345,39,39,3286,5489,220,331,
+ 5459,515,331,1,29,2688,363,123,5451,5315,
+ 5312,5238,5487,5951,5451,5090,5090,229,5090,229,
+ 229,229,5259,229,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,229,
+ 1,1,8738,1,1,1,1,1,1,5487,
+ 37,5256,5256,1,185,5087,331,1371,5451,1,
+ 1283,910,1172,5458,1,5886,5887,5888,1,122,
+ 5462,880,134,2834,718,5662,424,557,449,331,
+ 5096,5093,2516,943,739,220,2989,5451,5214,5211,
+ 1,5487,5451,3286,2958,3081,311,532,5354,2091,
+ 5951,5451,5090,5090,229,5090,229,229,229,5259,
+ 229,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,229,1,1,8738,
+ 1,1,1,1,1,1,37,5256,5256,1,
+ 1,5256,5087,43,5321,5321,1,118,2724,5330,
+ 5451,1,4195,1052,1371,1,2958,3081,5457,3139,
+ 2834,718,5662,5357,557,1093,1,128,29,3286,
+ 2357,1,220,127,341,5448,362,3236,5333,161,
+ 1807,5451,3696,3671,5318,5451,5451,5951,5451,5090,
+ 5090,229,5090,229,229,229,229,229,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,230,1,1,8662,1,1,
- 1,1,1,1,121,1,5370,1173,1,1,
- 5088,5452,8730,8730,1,5331,5452,5462,4218,1,
- 4240,958,425,1,162,529,2998,8,3445,2835,
- 719,5664,458,558,5461,5443,5452,363,5452,3697,
- 3672,1,1,396,5334,5452,1808,5452,4833,164,
- 5458,5452,5489,38,5257,5257,5953,5452,5091,5091,
- 230,5091,230,230,230,230,230,1,1,1,
+ 1,1,1,229,1,1,8738,1,1,1,
+ 1,1,1,5456,120,2789,5235,1,119,5087,
+ 1371,2789,405,1,341,5400,341,5451,1,341,
+ 5336,5403,1,1661,161,5451,640,2834,718,5662,
+ 1,557,5451,5457,2997,3813,3444,5339,5348,3696,
+ 3671,2735,2666,3696,3671,5451,5451,2735,2666,45,
+ 5372,5372,5451,457,5951,5451,5090,5090,229,5090,
+ 229,229,229,229,229,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,230,1,1,8662,1,1,1,1,
- 1,1,5452,5452,2859,1,1,5251,5088,5443,
- 5452,1173,1,192,5452,5424,5420,1,641,938,
- 5452,1,38,911,5452,164,5457,2835,719,5664,
- 192,558,1,5110,5106,4828,5103,4042,4108,2990,
- 5452,4130,5277,5304,5310,5283,5286,5298,5295,5301,
- 5292,5289,5280,5307,5953,5489,5452,1,5110,5106,
- 5100,5103,5117,5489,5114,5462,5452,4086,4064,4174,
- 4152,5894,5472,1795,3742,1451,1507,5452,5474,1492,
- 3055,1500,5461,5475,5473,1404,186,5468,5470,5471,
- 120,5469,290,5452,2019,1412,3814,349,40,40,
- 158,517,40,5097,5094,4828,944,4042,4108,2990,
- 5434,4130,2704,5717,5715,5724,5723,5719,5720,5718,
- 5721,5722,5725,5716,3273,3697,3672,1,5110,5106,
- 2517,5103,740,92,2990,310,5361,4086,4064,4174,
- 4152,5452,5472,5452,3742,1451,1507,5452,5474,1492,
- 3055,1500,310,5475,5473,1404,5452,5468,5470,5471,
- 5452,5469,1372,877,238,1412,5452,5392,5452,1,
- 5328,1933,4895,139,5459,40,5097,5094,4828,944,
- 4042,4108,2990,5325,4130,2704,5717,5715,5724,5723,
- 5719,5720,5718,5721,5722,5725,5716,427,5452,4564,
- 5452,4654,5452,5452,5452,3450,4871,4876,5449,5452,
- 4086,4064,4174,4152,2911,5472,5452,3742,1451,1507,
- 101,5474,1492,3055,1500,2574,5475,5473,1404,2575,
- 5468,5470,5471,76,5469,2583,3559,2584,1412,5452,
- 5452,5452,4307,5328,142,5097,5094,4828,944,4042,
- 4108,2990,5452,4130,2704,5717,5715,5724,5723,5719,
- 5720,5718,5721,5722,5725,5716,5452,5452,1088,4881,
- 5515,5516,5452,3141,2276,3195,511,100,74,4086,
- 4064,4174,4152,376,5472,4406,3742,1451,1507,522,
- 5474,1492,3055,1500,5452,5475,5473,1404,3292,5468,
- 5470,5471,5452,5469,1,3627,5452,1412,5452,3789,
- 40,40,1,5110,5106,4828,5103,4042,4108,2990,
- 5452,4130,5277,5304,5310,5283,5286,5298,5295,5301,
- 5292,5289,5280,5307,5452,2689,5440,3821,5452,804,
- 5452,3909,2238,3113,592,3232,2310,4086,4064,4174,
- 4152,5452,5472,1267,3742,1451,1507,5452,5474,1492,
- 3055,1500,5452,5475,5473,1404,5452,5468,5470,5471,
- 5452,5469,2,4319,5452,1412,5452,4375,40,40,
- 40,5097,5094,4828,944,4042,4108,2990,5325,4130,
- 2704,5717,5715,5724,5723,5719,5720,5718,5721,5722,
- 5725,5716,2689,5452,104,3636,4717,4716,2689,5452,
- 279,5452,4887,5446,5452,4086,4064,4174,4152,5452,
- 5472,5452,3742,1451,1507,5452,5474,1492,3055,1500,
- 38,5475,5473,1404,5452,5468,5470,5471,5452,5469,
- 5452,5452,5452,1412,5452,5452,5452,5452,5328,40,
- 5097,5094,4828,944,4042,4108,2990,5456,4130,2704,
- 5717,5715,5724,5723,5719,5720,5718,5721,5722,5725,
- 5716,5452,5452,5452,5452,5452,5452,5452,5452,5452,
- 5452,5452,5452,5452,4086,4064,4174,4152,5452,5472,
- 5452,3742,1451,1507,5452,5474,1492,3055,1500,5452,
- 5475,5473,1404,5452,5468,5470,5471,1,5469,5452,
- 2794,5452,5922,5916,5452,5452,5920,5452,5452,5452,
- 5452,5452,5452,5452,5452,5452,5452,5452,5452,5452,
- 5452,5452,5452,5452,5452,5452,5452,5452,5452,5452,
- 5452,5452,5914,5915,5945,5946,5452,5452,5452,5923,
- 5452,5452,5452,5452,5452,5452,5452,5452,5452,5452,
- 5452,5452,5452,5452,5452,5925,5452,5455,5452,5452,
- 5452,5452,644,1126,1208,5452,5926,5924,5947,5452,
- 5452,5452,5452,5452,5452,5452,5452,5452,5452,5452,
- 5452,5452,5452,5452,5452,5936,5935,5948,5452,5452,
- 5917,5918,5941,5942,5939,5940,5919,5921,5943,5944,
- 5452,5452,5452,5949,5452,5929,5930,5931,5927,5928,
- 5937,5938,5933,5932,5934,40,5097,5094,4828,944,
- 4042,4108,2990,5452,4130,2704,5717,5715,5724,5723,
- 5719,5720,5718,5721,5722,5725,5716,5452,5452,5452,
- 5452,5452,5452,5452,5452,5452,5452,5452,5452,5452,
- 4086,4064,4174,4152,5452,5472,5452,3742,1451,1507,
- 5452,5474,1492,3055,1500,5452,5475,5473,1404,5452,
- 5468,5470,5471,5452,5469,5452,5452,5452,1412,40,
- 5097,5094,4828,944,4042,4108,2990,5452,4130,2704,
- 5717,5715,5724,5723,5719,5720,5718,5721,5722,5725,
- 5716,5452,5452,5452,5452,5452,5452,5452,5452,5452,
- 5452,5452,5452,5452,4086,4064,4174,4152,5452,5472,
- 5452,3742,1451,1507,5452,5474,1492,3055,1500,5452,
- 5475,5473,1404,5452,5468,5470,5471,5452,5469,5452,
- 5452,5452,5452,5452,2898,40,5097,5094,4828,944,
- 4042,4108,2990,5452,4130,2704,5717,5715,5724,5723,
- 5719,5720,5718,5721,5722,5725,5716,5452,5452,5452,
- 5452,5452,5452,5452,5452,5452,5452,5452,5452,5452,
- 4086,4064,4174,4152,5452,5472,5452,3742,1451,1507,
- 5452,5474,1492,3055,1500,5452,5475,5473,1404,5452,
- 5468,5470,5471,5452,5469,5452,5452,5452,1412,40,
- 5097,5094,4847,944,4042,4108,2990,5452,4130,2704,
- 5717,5715,5724,5723,5719,5720,5718,5721,5722,5725,
- 5716,5452,5452,5452,5452,5452,5452,5452,5452,5452,
- 5452,5452,5452,5452,4086,4064,4174,4152,5452,5472,
- 5452,3742,1451,1507,5452,5474,1492,3055,1500,5452,
- 5475,5473,1404,5452,5468,5470,5471,5452,5469,40,
- 5097,5094,4828,944,4042,4108,2990,5452,4130,2704,
- 5717,5715,5724,5723,5719,5720,5718,5721,5722,5725,
- 5716,5452,5452,5452,5452,5452,5452,5452,5452,5452,
- 5452,5452,5452,5452,4086,4064,4174,4152,5452,5472,
- 5452,3742,1451,1507,5452,5474,1492,3055,1500,5452,
- 5475,5473,1404,5452,5468,5470,5471,5452,5469,40,
- 5097,5094,4828,944,4042,4108,2990,5452,4130,2704,
- 5717,5715,5724,5723,5719,5720,5718,5721,5722,5725,
- 5716,5452,5452,5452,5452,5452,5452,5452,5452,5452,
- 5452,5452,5452,5452,4086,4064,4174,4152,5452,5472,
- 5452,3742,1451,1507,5452,5474,1492,3055,1500,5452,
- 5475,5473,1404,5452,5468,5470,5471,5452,5469,5452,
- 5097,5094,5452,5491,5452,5452,5452,5452,5452,677,
- 5717,5715,5724,5723,5719,5720,5718,5721,5722,5725,
- 5716,5713,5790,5791,5452,5707,5714,5710,5686,5712,
- 5711,5708,5709,5687,5452,5452,5452,5452,5851,5452,
- 5452,5452,5452,5452,2665,5452,242,5202,5198,5852,
- 5206,5452,5452,5853,5452,5452,677,5189,5195,5168,
- 5171,5183,5180,5186,5177,5174,5165,5192,5144,5138,
- 5135,5452,5162,5141,5153,5132,5147,5150,5159,5156,
- 5129,5452,5452,5452,5452,5851,5452,5452,5452,5452,
- 5452,2665,5452,5452,5452,5452,5852,5452,5452,5452,
- 5853,30,388,388,5398,388,388,5398,388,5398,
- 5398,5452,5452,5452,5452,5452,5452,5452,5452,5452,
- 5452,5452,5452,388,388,388,5398,388,388,388,
- 388,388,388,388,388,388,5452,5452,5452,5452,
- 5452,5452,5452,5452,5452,5452,5452,5452,5452,5452,
- 5452,5452,5452,5452,5452,5452,5452,5452,5452,5236,
- 5452,5452,5452,5452,5452,5452,5398,5452,5452,5452,
- 5452,5452,5452,5452,5452,5398,33,389,389,5395,
- 389,389,5395,389,5395,5395,5452,5452,5452,5452,
- 5452,5452,5452,5452,5452,5452,5452,5452,389,389,
- 389,5395,389,389,389,389,389,389,389,389,
- 389,5452,5452,5452,5452,5452,5452,5452,5452,5452,
- 5452,5452,5452,5452,5452,5452,5452,5452,5452,5452,
- 5452,5452,5452,5452,5452,5452,5452,5452,5452,5452,
- 5452,5395,5452,5452,5452,5452,5452,5452,5452,5452,
- 5395
+ 229,1,1,8738,1,1,1,1,1,1,
+ 5369,5451,8692,8692,1,4895,5087,1,5456,39,
+ 1,5458,1,5489,1172,1,5451,5330,289,1,
+ 5461,1,5451,5906,2834,718,5662,5250,557,528,
+ 5461,3410,8,5451,157,1,1,5460,5451,5451,
+ 5442,348,5487,163,5457,368,5333,5460,1807,395,
+ 1,5951,5451,5090,5090,229,5090,229,229,229,
+ 229,229,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,229,1,1,
+ 8738,1,1,1,1,1,1,91,876,5451,
+ 5360,1,3873,5087,528,5451,957,1,37,5256,
+ 5256,5892,1,5442,1932,1371,1,1172,163,5456,
+ 508,2834,718,5662,1328,557,1,5109,5105,4827,
+ 5102,4041,4107,2989,5451,4129,5276,5303,5309,5282,
+ 5285,5297,5294,5300,5291,5288,5279,5306,5951,2858,
+ 5810,1,5109,5105,5099,5102,5116,937,5113,5461,
+ 5451,4085,4063,4173,4151,506,5470,5451,3741,1450,
+ 1506,5451,5472,1491,3054,1499,5460,5473,5471,1403,
+ 420,5467,5468,5469,132,5451,5423,5419,1411,4695,
+ 5451,39,39,593,516,39,5096,5093,4827,943,
+ 4041,4107,2989,5433,4129,2703,5715,5713,5722,5721,
+ 5717,5718,5716,5719,5720,5723,5714,5451,3272,5451,
+ 1,5109,5105,2516,5102,739,5487,2989,309,4563,
+ 4085,4063,4173,4151,4889,5470,5451,3741,1450,1506,
+ 5451,5472,1491,3054,1499,309,5473,5471,1403,2187,
+ 5467,5468,5469,5451,5451,5451,5451,1411,2573,5451,
+ 237,75,5327,5391,3558,136,5458,39,5096,5093,
+ 4827,943,4041,4107,2989,5324,4129,2703,5715,5713,
+ 5722,5721,5717,5718,5716,5719,5720,5723,5714,1975,
+ 1,3140,1,4894,4653,426,5451,5451,5513,5514,
+ 191,5451,4085,4063,4173,4151,5451,5470,2574,3741,
+ 1450,1506,3449,5472,1491,3054,1499,191,5473,5471,
+ 1403,2582,5467,5468,5469,3291,5451,2583,3194,1411,
+ 5451,5451,5451,4870,5327,141,5096,5093,4827,943,
+ 4041,4107,2989,5451,4129,2703,5715,5713,5722,5721,
+ 5717,5718,5716,5719,5720,5723,5714,5451,5451,5451,
+ 4875,4306,4880,5451,2325,1087,803,5451,3231,5451,
+ 4085,4063,4173,4151,5451,5470,2991,3741,1450,1506,
+ 1266,5472,1491,3054,1499,5451,5473,5471,1403,2721,
+ 5467,5468,5469,5451,73,5451,3626,1411,3788,100,
+ 39,39,1,5109,5105,4827,5102,4041,4107,2989,
+ 1,4129,5276,5303,5309,5282,5285,5297,5294,5300,
+ 5291,5288,5279,5306,5451,5451,5451,3820,3908,3112,
+ 5451,5451,1794,4318,4374,99,2018,4085,4063,4173,
+ 4151,510,5470,5451,3741,1450,1506,3423,5472,1491,
+ 3054,1499,5439,5473,5471,1403,2,5467,5468,5469,
+ 5451,5451,5451,4405,1411,4716,5451,39,39,39,
+ 5096,5093,4827,943,4041,4107,2989,5324,4129,2703,
+ 5715,5713,5722,5721,5717,5718,5716,5719,5720,5723,
+ 5714,103,1,5451,4715,2793,4886,5920,5914,2237,
+ 4003,5918,1,5451,4085,4063,4173,4151,5451,5470,
+ 2309,3741,1450,1506,37,5472,1491,3054,1499,5451,
+ 5473,5471,1403,5451,5467,5468,5469,5912,5913,5943,
+ 5944,1411,278,5451,5921,5445,5327,5451,5451,5451,
+ 5451,5451,591,5451,5451,5451,5451,5451,5451,5451,
+ 5923,5451,5451,5451,5451,5451,643,1125,1207,5451,
+ 5924,5922,5945,5451,5451,5451,5451,5451,5451,5451,
+ 5451,5451,5451,5451,5451,5451,5451,5451,5451,5934,
+ 5933,5946,5451,5451,5915,5916,5939,5940,5937,5938,
+ 5917,5919,5941,5942,5451,5451,5451,5947,5451,5927,
+ 5928,5929,5925,5926,5935,5936,5931,5930,5932,39,
+ 5096,5093,4827,943,4041,4107,2989,5455,4129,2703,
+ 5715,5713,5722,5721,5717,5718,5716,5719,5720,5723,
+ 5714,5451,5451,5451,5451,5451,5451,5451,5451,5451,
+ 5451,5451,5451,5451,4085,4063,4173,4151,5451,5470,
+ 5451,3741,1450,1506,5451,5472,1491,3054,1499,5451,
+ 5473,5471,1403,5451,5467,5468,5469,39,5096,5093,
+ 4827,943,4041,4107,2989,5451,4129,2703,5715,5713,
+ 5722,5721,5717,5718,5716,5719,5720,5723,5714,5451,
+ 5451,5451,5451,5451,5451,5451,5451,5451,5451,5451,
+ 5451,5451,4085,4063,4173,4151,5451,5470,5451,3741,
+ 1450,1506,5451,5472,1491,3054,1499,5451,5473,5471,
+ 1403,5451,5467,5468,5469,5451,5454,5451,5451,1411,
+ 39,5096,5093,4827,943,4041,4107,2989,5451,4129,
+ 2703,5715,5713,5722,5721,5717,5718,5716,5719,5720,
+ 5723,5714,5451,5451,5451,5451,5451,5451,5451,5451,
+ 5451,5451,5451,5451,5451,4085,4063,4173,4151,5451,
+ 5470,5451,3741,1450,1506,5451,5472,1491,3054,1499,
+ 5451,5473,5471,1403,5451,5467,5468,5469,5451,5451,
+ 5451,5451,5451,5451,2897,39,5096,5093,4827,943,
+ 4041,4107,2989,5451,4129,2703,5715,5713,5722,5721,
+ 5717,5718,5716,5719,5720,5723,5714,5451,5451,5451,
+ 5451,5451,5451,5451,5451,5451,5451,5451,5451,5451,
+ 4085,4063,4173,4151,5451,5470,5451,3741,1450,1506,
+ 5451,5472,1491,3054,1499,5451,5473,5471,1403,5451,
+ 5467,5468,5469,5451,5451,5451,5451,1411,39,5096,
+ 5093,4846,943,4041,4107,2989,5451,4129,2703,5715,
+ 5713,5722,5721,5717,5718,5716,5719,5720,5723,5714,
+ 5451,5451,5451,5451,5451,5451,5451,5451,5451,5451,
+ 5451,5451,5451,4085,4063,4173,4151,5451,5470,5451,
+ 3741,1450,1506,5451,5472,1491,3054,1499,5451,5473,
+ 5471,1403,5451,5467,5468,5469,39,5096,5093,4827,
+ 943,4041,4107,2989,5451,4129,2703,5715,5713,5722,
+ 5721,5717,5718,5716,5719,5720,5723,5714,5451,5451,
+ 5451,5451,5451,5451,5451,5451,5451,5451,5451,5451,
+ 5451,4085,4063,4173,4151,5451,5470,5451,3741,1450,
+ 1506,5451,5472,1491,3054,1499,5451,5473,5471,1403,
+ 5451,5467,5468,5469,39,5096,5093,4827,943,4041,
+ 4107,2989,5451,4129,2703,5715,5713,5722,5721,5717,
+ 5718,5716,5719,5720,5723,5714,5451,5451,5451,5451,
+ 5451,5451,5451,5451,5451,5451,5451,5451,5451,4085,
+ 4063,4173,4151,5451,5470,5451,3741,1450,1506,5451,
+ 5472,1491,3054,1499,5451,5473,5471,1403,5451,5467,
+ 5468,5469,5451,5096,5093,5451,5489,5451,5451,5451,
+ 5451,5451,676,5715,5713,5722,5721,5717,5718,5716,
+ 5719,5720,5723,5714,5711,5788,5789,5451,5705,5712,
+ 5708,5684,5710,5709,5706,5707,5685,5451,5451,5451,
+ 5451,5849,5451,5451,5451,5451,5451,2664,5451,241,
+ 5201,5197,5850,5205,5451,5451,5851,5451,5451,676,
+ 5188,5194,5167,5170,5182,5179,5185,5176,5173,5164,
+ 5191,5143,5137,5134,5451,5161,5140,5152,5131,5146,
+ 5149,5158,5155,5128,5451,5451,5451,5451,5849,5451,
+ 5451,5451,5451,5451,2664,5451,5451,5451,5451,5850,
+ 5451,5451,5451,5851,29,387,387,5397,387,387,
+ 5397,387,5397,5397,5451,5451,5451,5451,5451,5451,
+ 5451,5451,5451,5451,5451,5451,387,387,387,5397,
+ 387,387,387,387,387,387,387,387,387,5451,
+ 5451,5451,5451,5451,5451,5451,5451,5451,5451,5451,
+ 5451,5451,5451,5451,5451,5451,5451,5451,5451,5451,
+ 5451,5451,5235,5451,5451,5451,5451,5451,5397,5451,
+ 5451,5451,5451,5451,5451,5451,5451,5397,32,388,
+ 388,5394,388,388,5394,388,5394,5394,5451,5451,
+ 5451,5451,5451,5451,5451,5451,5451,5451,5451,5451,
+ 388,388,388,5394,388,388,388,388,388,388,
+ 388,388,388,5451,5451,5451,5451,5451,5451,5451,
+ 5451,5451,5451,5451,5451,5451,5451,5451,5451,5451,
+ 5451,5451,5451,5451,5451,5451,5451,5451,5451,5451,
+ 5451,5451,5394,5451,5451,5451,5451,5451,5451,5451,
+ 5451,5394
};
};
public final static char termAction[] = TermAction.termAction;
@@ -1854,60 +1837,60 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym
public interface Asb {
public final static char asb[] = {0,
- 844,1,1028,941,738,499,338,943,92,403,
- 989,186,1112,92,1041,1052,405,1052,400,1052,
- 690,1052,1036,1052,186,187,240,499,181,233,
- 780,780,698,187,780,187,941,589,842,245,
- 990,405,190,187,1113,553,291,402,335,403,
- 186,340,187,187,336,768,410,410,887,36,
- 36,184,43,45,181,187,507,553,340,340,
- 777,455,553,780,780,589,780,187,285,655,
- 307,991,991,990,990,990,186,187,1113,887,
- 291,187,410,556,408,336,405,565,187,340,
- 336,187,982,410,405,186,414,181,187,147,
- 195,181,982,773,340,340,184,455,455,1113,
- 655,307,990,826,990,187,887,887,826,187,
- 291,1128,403,589,393,1118,291,410,409,410,
- 410,336,565,565,187,842,544,941,589,589,
- 589,589,186,941,131,235,148,148,148,148,
- 148,148,148,148,148,782,788,793,790,797,
- 795,802,800,804,803,805,458,806,841,187,
- 768,187,405,111,561,187,941,455,820,508,
- 553,147,826,405,508,773,842,842,777,553,
- 639,627,638,841,589,643,643,826,826,187,
- 285,1120,410,410,410,410,187,565,826,570,
- 825,184,651,635,634,131,738,738,738,738,
- 187,49,553,553,131,900,737,285,131,782,
- 284,284,49,147,148,148,148,148,148,148,
- 148,148,148,148,148,148,148,148,148,148,
- 148,148,148,147,147,147,147,147,147,147,
- 147,147,147,147,147,148,131,982,770,112,
- 186,187,49,575,826,195,773,772,829,147,
- 636,636,649,184,3,307,991,307,840,840,
- 887,1113,45,148,1128,44,582,410,410,94,
- 826,148,187,544,553,653,655,553,553,842,
- 842,842,842,336,553,148,591,1058,1058,186,
- 235,455,737,147,553,1112,1114,1112,553,455,
- 790,790,788,788,788,795,795,795,795,793,
- 793,800,797,797,803,802,804,1128,805,770,
- 111,1128,148,1128,887,110,941,941,941,112,
- 941,187,465,887,887,187,405,553,147,195,
- 773,829,147,147,653,627,307,738,738,887,
- 1120,148,148,561,765,95,187,553,655,941,
- 941,941,941,187,187,187,285,148,738,786,
- 510,553,187,1114,285,147,102,941,102,112,
- 1128,112,131,131,129,696,131,887,887,898,
- 770,825,831,841,94,187,186,186,187,890,
- 553,147,147,147,147,941,941,336,1113,553,
- 786,184,768,187,1113,3,112,553,181,553,
- 129,499,941,553,770,824,194,831,688,187,
- 187,187,890,890,553,553,553,553,49,49,
- 187,786,787,786,147,510,1116,782,768,553,
- 553,1106,112,898,112,887,499,147,112,109,
- 824,824,941,643,187,187,836,890,553,553,
- 1093,786,49,148,455,1116,405,405,1108,147,
- 110,49,887,553,656,840,836,836,787,553,
- 455,112,553,887,552,1112,836,112,738
+ 838,1,1021,934,732,493,335,936,91,399,
+ 982,184,1105,91,1034,1045,401,1045,396,1045,
+ 684,1045,1029,1045,184,185,237,493,179,230,
+ 774,774,692,185,774,185,934,583,836,242,
+ 983,401,188,185,1106,547,288,398,332,399,
+ 184,337,185,185,333,762,406,406,881,36,
+ 36,182,43,45,179,185,501,547,337,337,
+ 771,450,547,774,774,583,774,185,282,649,
+ 304,984,984,983,983,983,184,185,1106,881,
+ 288,185,406,550,404,333,401,559,185,337,
+ 333,185,975,406,401,184,410,179,185,146,
+ 193,179,975,767,337,337,182,450,450,1106,
+ 649,304,983,820,983,185,881,881,820,185,
+ 288,1121,399,583,389,1111,288,406,405,406,
+ 406,333,559,559,185,836,538,934,583,583,
+ 583,583,184,934,130,232,147,147,147,147,
+ 147,147,147,147,147,776,782,787,784,791,
+ 789,796,794,798,797,799,453,800,835,185,
+ 762,185,401,110,555,185,934,450,814,502,
+ 547,146,820,401,502,767,836,836,771,547,
+ 633,621,632,835,583,637,637,820,820,185,
+ 282,1113,406,406,406,406,185,559,820,564,
+ 819,182,645,629,628,130,732,732,732,732,
+ 185,49,547,547,130,894,731,282,130,776,
+ 281,281,49,146,147,147,147,147,147,147,
+ 147,147,147,147,147,147,147,147,147,147,
+ 147,147,147,146,146,146,146,146,146,146,
+ 146,146,146,146,146,147,130,975,764,111,
+ 184,185,49,569,820,193,767,766,823,146,
+ 630,630,643,182,3,304,984,304,834,834,
+ 881,1106,45,147,1121,44,576,406,406,93,
+ 820,147,185,538,547,647,649,547,547,836,
+ 836,836,836,333,547,147,585,1051,1051,184,
+ 232,450,731,146,547,1105,1107,1105,547,450,
+ 784,784,782,782,782,789,789,789,789,787,
+ 787,794,791,791,797,796,798,1121,799,764,
+ 110,1121,147,1121,881,109,934,934,934,111,
+ 934,185,460,881,881,185,401,547,146,193,
+ 767,823,146,146,647,621,304,732,732,881,
+ 1113,147,147,555,759,94,185,547,649,934,
+ 934,934,934,185,185,185,282,147,732,780,
+ 504,547,185,1107,282,146,101,934,101,111,
+ 1121,111,130,130,128,690,130,881,881,892,
+ 764,819,825,835,93,185,184,184,185,884,
+ 547,146,146,146,146,934,934,333,1106,547,
+ 780,182,762,185,1106,3,111,547,179,547,
+ 128,493,934,547,764,818,192,825,682,185,
+ 185,185,884,884,547,547,547,547,49,49,
+ 185,780,781,780,146,504,1109,776,762,547,
+ 547,1099,111,892,111,881,493,146,111,108,
+ 818,818,934,637,185,185,830,884,547,547,
+ 1086,780,49,147,450,1109,401,401,1101,146,
+ 109,49,881,547,650,834,830,830,781,547,
+ 450,111,547,881,546,1105,830,111,732
};
};
public final static char asb[] = Asb.asb;
@@ -1915,119 +1898,119 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym
public interface Asr {
public final static byte asr[] = {0,
- 121,0,26,11,12,39,23,13,45,27,
+ 120,0,26,11,12,39,23,13,45,27,
28,14,29,30,15,16,31,32,17,18,
33,50,34,10,54,19,22,20,24,21,
- 1,2,4,91,0,75,69,73,91,74,
- 68,65,3,70,8,25,71,0,8,74,
- 11,12,43,66,13,44,46,14,15,16,
- 67,7,47,17,18,48,49,51,63,52,
+ 1,2,4,90,0,74,68,72,90,73,
+ 67,64,3,69,8,25,70,0,8,73,
+ 11,12,43,65,13,44,46,14,15,16,
+ 66,7,47,17,18,48,49,51,62,52,
53,10,19,20,21,55,56,57,1,2,
3,37,38,9,6,35,36,5,42,4,
- 59,40,0,22,1,2,4,103,104,105,
- 0,87,103,104,105,41,73,121,119,122,
- 72,62,75,61,60,64,77,79,85,83,
- 76,81,82,84,86,68,78,80,25,8,
- 26,39,23,45,27,28,29,30,31,32,
- 33,50,34,54,22,24,63,66,67,10,
- 44,49,47,43,53,12,21,11,17,15,
- 16,18,19,14,13,20,55,59,56,57,
- 40,52,46,51,37,38,35,36,42,48,
- 5,7,3,9,6,4,1,2,0,8,
- 68,70,0,72,63,37,38,9,6,35,
- 36,42,48,3,4,55,59,56,57,40,
- 52,46,51,12,21,11,17,15,16,18,
- 19,14,13,20,10,44,49,47,43,53,
- 68,8,7,5,1,2,67,66,0,8,
- 73,68,75,0,64,26,11,12,39,23,
- 13,45,27,87,28,14,29,30,15,16,
- 31,60,32,17,18,33,50,34,10,54,
- 19,61,22,20,24,21,3,9,6,25,
- 62,68,8,4,7,5,41,1,2,0,
- 87,60,7,103,104,105,61,8,3,9,
- 6,5,73,72,25,62,26,11,12,39,
- 23,13,45,27,28,14,29,30,15,16,
- 31,32,17,18,33,50,34,10,54,19,
- 22,20,24,21,4,1,2,41,0,26,
- 11,12,39,23,43,66,13,44,45,27,
- 28,46,14,29,30,15,16,31,67,32,
- 47,17,18,48,33,49,50,51,63,52,
- 34,53,54,19,22,20,24,21,55,56,
- 57,40,3,37,38,9,6,35,36,42,
- 69,59,7,1,2,5,4,10,0,41,
- 4,73,1,2,68,8,0,4,58,8,
- 73,68,0,66,67,3,10,44,49,47,
- 43,53,12,21,11,17,15,16,18,19,
- 14,13,20,55,59,56,57,40,52,46,
- 51,5,7,4,37,38,9,6,35,36,
- 42,48,1,2,118,8,0,69,73,91,
- 71,118,74,72,11,12,43,66,13,44,
- 46,14,15,16,67,47,17,18,48,49,
- 51,63,52,53,10,19,20,21,55,56,
- 57,40,37,38,35,36,42,59,8,25,
- 5,7,1,2,4,3,9,6,0,92,
- 90,35,36,93,94,88,89,58,95,96,
- 97,98,99,100,101,102,107,73,91,70,
- 108,109,110,111,112,113,114,115,116,117,
- 118,72,25,69,1,2,9,6,4,3,
- 65,71,74,8,0,4,8,73,68,0,
- 8,68,71,0,1,2,8,72,0,8,
- 71,72,70,0,8,73,118,74,25,71,
- 0,73,8,65,3,70,71,25,58,0,
- 26,11,12,23,13,27,28,14,29,30,
- 15,16,31,7,32,17,18,33,34,19,
- 22,20,24,21,1,2,8,65,9,6,
- 5,4,74,25,3,0,9,6,7,5,
- 4,1,2,3,65,69,70,71,8,74,
- 91,0,69,70,71,1,2,0,5,7,
- 3,65,6,9,91,26,11,12,23,13,
- 45,27,28,14,29,30,15,16,31,32,
- 17,18,33,50,34,10,54,19,22,20,
- 24,21,1,2,4,74,8,39,0,4,
- 8,68,1,2,0,76,0,67,66,35,
- 36,6,93,94,99,9,100,5,42,70,
- 58,69,111,112,108,109,110,116,115,117,
- 89,88,113,114,97,98,95,96,101,102,
- 37,38,71,90,106,65,3,10,45,39,
- 50,54,12,21,11,17,15,16,18,19,
- 14,13,20,26,32,33,28,31,30,27,
- 23,24,29,34,1,2,22,4,0,119,
- 0,63,23,7,24,5,1,2,4,75,
- 68,120,106,37,38,65,3,92,90,6,
- 93,94,35,36,89,88,58,95,96,97,
- 98,9,99,100,101,69,91,74,70,108,
- 109,110,111,112,113,114,115,116,117,73,
- 118,102,107,25,71,72,8,0,23,24,
- 75,3,73,25,68,63,8,91,74,70,
- 71,69,0,3,9,6,5,7,26,11,
- 12,39,23,13,45,27,14,29,30,15,
- 16,31,32,17,18,33,50,34,10,54,
- 19,22,20,24,21,121,62,60,28,87,
- 64,61,1,2,4,41,25,8,0,23,
- 63,24,8,69,91,71,74,70,0,66,
- 67,37,38,9,6,35,36,5,42,48,
- 4,7,55,59,56,57,40,52,46,51,
+ 40,0,22,1,2,4,102,103,104,0,
+ 86,102,103,104,41,72,120,118,121,71,
+ 61,74,60,59,63,76,78,84,82,75,
+ 80,81,83,85,67,77,79,25,8,26,
+ 39,23,45,27,28,29,30,31,32,33,
+ 50,34,54,22,24,62,65,66,10,44,
+ 49,47,43,53,12,21,11,17,15,16,
+ 18,19,14,13,20,55,56,57,40,52,
+ 46,51,37,38,35,36,42,48,5,7,
+ 3,9,6,4,1,2,0,8,67,69,
+ 0,71,62,37,38,9,6,35,36,42,
+ 48,3,4,55,56,57,40,52,46,51,
12,21,11,17,15,16,18,19,14,13,
- 20,10,44,49,47,43,53,65,1,2,
- 3,0,39,23,13,45,27,14,29,30,
+ 20,10,44,49,47,43,53,67,8,7,
+ 5,1,2,66,65,0,8,72,67,74,
+ 0,63,26,11,12,39,23,13,45,27,
+ 86,28,14,29,30,15,16,31,59,32,
+ 17,18,33,50,34,10,54,19,60,22,
+ 20,24,21,3,9,6,25,61,67,8,
+ 4,7,5,41,1,2,0,86,59,7,
+ 102,103,104,60,8,3,9,6,5,72,
+ 71,25,61,26,11,12,39,23,13,45,
+ 27,28,14,29,30,15,16,31,32,17,
+ 18,33,50,34,10,54,19,22,20,24,
+ 21,4,1,2,41,0,26,11,12,39,
+ 23,43,65,13,44,45,27,28,46,14,
+ 29,30,15,16,31,66,32,47,17,18,
+ 48,33,49,50,51,62,52,34,53,54,
+ 19,22,20,24,21,55,56,57,40,3,
+ 37,38,9,6,35,36,42,68,7,1,
+ 2,5,4,10,0,41,4,72,1,2,
+ 67,8,0,4,58,8,72,67,0,65,
+ 66,3,10,44,49,47,43,53,12,21,
+ 11,17,15,16,18,19,14,13,20,55,
+ 56,57,40,52,46,51,5,7,4,37,
+ 38,9,6,35,36,42,48,1,2,117,
+ 8,0,68,72,90,70,117,73,71,11,
+ 12,43,65,13,44,46,14,15,16,66,
+ 47,17,18,48,49,51,62,52,53,10,
+ 19,20,21,55,56,57,40,37,38,35,
+ 36,42,8,25,5,7,1,2,4,3,
+ 9,6,0,91,89,35,36,92,93,87,
+ 88,58,94,95,96,97,98,99,100,101,
+ 106,72,90,69,107,108,109,110,111,112,
+ 113,114,115,116,117,71,25,68,1,2,
+ 9,6,4,3,64,70,73,8,0,4,
+ 8,72,67,0,8,67,70,0,1,2,
+ 8,71,0,8,70,71,69,0,8,72,
+ 117,73,25,70,0,72,8,64,3,69,
+ 70,25,58,0,26,11,12,23,13,27,
+ 28,14,29,30,15,16,31,7,32,17,
+ 18,33,34,19,22,20,24,21,1,2,
+ 8,64,9,6,5,4,73,25,3,0,
+ 9,6,7,5,4,1,2,3,64,68,
+ 69,70,8,73,90,0,68,69,70,1,
+ 2,0,5,7,3,64,6,9,90,26,
+ 11,12,23,13,45,27,28,14,29,30,
15,16,31,32,17,18,33,50,34,10,
+ 54,19,22,20,24,21,1,2,4,73,
+ 8,39,0,4,8,67,1,2,0,75,
+ 0,66,65,35,36,6,92,93,98,9,
+ 99,5,42,69,58,68,110,111,107,108,
+ 109,115,114,116,88,87,112,113,96,97,
+ 94,95,100,101,37,38,70,89,105,64,
+ 3,10,45,39,50,54,12,21,11,17,
+ 15,16,18,19,14,13,20,26,32,33,
+ 28,31,30,27,23,24,29,34,1,2,
+ 22,4,0,118,0,62,23,7,24,5,
+ 1,2,4,74,67,119,105,37,38,64,
+ 3,91,89,6,92,93,35,36,88,87,
+ 58,94,95,96,97,9,98,99,100,68,
+ 90,73,69,107,108,109,110,111,112,113,
+ 114,115,116,72,117,101,106,25,70,71,
+ 8,0,23,24,74,3,72,25,67,62,
+ 8,90,73,69,70,68,0,3,9,6,
+ 5,7,26,11,12,39,23,13,45,27,
+ 14,29,30,15,16,31,32,17,18,33,
+ 50,34,10,54,19,22,20,24,21,120,
+ 61,59,28,86,63,60,1,2,4,41,
+ 25,8,0,23,62,24,8,68,90,70,
+ 73,69,0,65,66,37,38,9,6,35,
+ 36,5,42,48,4,7,55,56,57,40,
+ 52,46,51,12,21,11,17,15,16,18,
+ 19,14,13,20,10,44,49,47,43,53,
+ 64,1,2,3,0,39,23,13,45,27,
+ 14,29,30,15,16,31,32,17,18,33,
+ 50,34,10,54,19,22,20,24,21,12,
+ 11,26,8,3,9,25,60,59,63,86,
+ 28,61,58,4,7,6,5,1,2,41,
+ 0,120,71,39,23,13,45,27,14,29,
+ 30,15,16,31,32,17,18,33,50,34,
54,19,22,20,24,21,12,11,26,8,
- 3,9,25,61,60,64,87,28,62,58,
- 4,7,6,5,1,2,41,0,121,72,
- 39,23,13,45,27,14,29,30,15,16,
- 31,32,17,18,33,50,34,54,19,22,
- 20,24,21,12,11,26,8,3,9,6,
- 25,62,28,87,64,61,41,7,1,2,
- 5,4,10,60,0,10,45,39,50,54,
- 12,21,11,17,15,16,18,19,14,13,
- 20,75,73,91,118,72,68,120,92,106,
- 90,37,38,35,36,93,94,88,89,58,
- 69,95,96,97,98,99,100,101,102,107,
- 70,108,109,110,111,112,113,114,115,116,
- 117,71,26,23,27,28,29,30,31,32,
- 33,34,22,24,25,8,74,9,6,3,
- 65,4,7,1,2,5,0,25,8,3,
- 7,5,9,6,4,1,2,73,0
+ 3,9,6,25,61,28,86,63,60,41,
+ 7,1,2,5,4,10,59,0,10,45,
+ 39,50,54,12,21,11,17,15,16,18,
+ 19,14,13,20,74,72,90,117,71,67,
+ 119,91,105,89,37,38,35,36,92,93,
+ 87,88,58,68,94,95,96,97,98,99,
+ 100,101,106,69,107,108,109,110,111,112,
+ 113,114,115,116,70,26,23,27,28,29,
+ 30,31,32,33,34,22,24,25,8,73,
+ 9,6,3,64,4,7,1,2,5,0,
+ 25,8,3,7,5,9,6,4,1,2,
+ 72,0
};
};
public final static byte asr[] = Asr.asr;
@@ -2136,14 +2119,14 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym
107,104,54,106,120,47,64,66,70,73,
76,83,89,98,11,12,7,8,53,112,
93,14,55,61,63,67,84,88,90,91,
- 94,97,99,101,109,110,111,19,123,77,
- 103,122,95,46,1,58,78,121,20,33,
- 44,119,30,118,96,108,49,50,56,57,
- 59,69,71,72,85,92,65,17,18,6,
- 32,4,15,16,21,22,23,24,25,26,
- 27,28,80,81,82,5,29,34,35,36,
- 37,38,39,40,41,42,43,117,51,3,
- 124,62,116
+ 94,97,99,101,109,110,111,19,77,103,
+ 122,95,46,1,58,78,121,20,33,44,
+ 119,30,118,96,108,49,50,56,57,59,
+ 69,71,72,85,92,65,17,18,6,32,
+ 4,15,16,21,22,23,24,25,26,27,
+ 28,80,81,82,5,29,34,35,36,37,
+ 38,39,40,41,42,43,117,51,3,123,
+ 62,116
};
};
public final static char terminalIndex[] = TerminalIndex.terminalIndex;
@@ -2151,26 +2134,26 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym
public interface NonterminalIndex {
public final static char nonterminalIndex[] = {0,
- 130,135,136,0,0,134,0,0,229,235,
- 133,0,143,132,0,0,142,148,0,0,
- 149,180,158,159,160,161,162,163,164,151,
- 165,126,166,141,167,168,0,128,131,129,
- 169,0,138,137,152,177,0,0,0,0,
- 0,0,0,0,145,172,0,155,0,204,
- 0,187,201,205,0,0,127,171,0,0,
- 0,0,0,0,0,0,0,0,0,206,
- 0,175,125,178,0,0,186,0,0,202,
- 212,157,208,209,210,0,0,146,0,0,
- 207,220,0,174,179,196,0,0,211,0,
- 0,0,0,240,241,147,189,190,191,192,
- 193,195,198,0,199,0,214,217,0,219,
- 0,238,0,239,0,0,139,140,144,0,
- 0,154,156,0,170,0,181,182,183,184,
- 185,188,0,0,194,0,197,203,0,215,
- 216,0,0,221,224,0,226,228,0,232,
- 233,234,237,0,0,150,153,0,173,0,
- 176,0,0,200,213,218,0,0,222,223,
- 225,227,0,230,231,236,242,243,0,0,
+ 129,134,135,0,0,133,0,0,228,234,
+ 132,0,142,131,0,0,141,147,0,0,
+ 148,179,157,158,159,160,161,162,163,150,
+ 164,125,165,140,166,167,0,127,130,128,
+ 168,0,137,136,151,176,0,0,0,0,
+ 0,0,0,0,144,171,0,154,0,203,
+ 0,186,200,204,0,0,126,170,0,0,
+ 0,0,0,0,0,0,0,0,0,205,
+ 0,174,124,177,0,0,185,0,0,201,
+ 211,156,207,208,209,0,0,145,0,0,
+ 206,219,0,173,178,195,0,0,210,0,
+ 0,0,0,239,240,146,188,189,190,191,
+ 192,194,197,0,198,0,213,216,0,218,
+ 0,237,0,238,0,0,138,139,143,0,
+ 0,153,155,0,169,0,180,181,182,183,
+ 184,187,0,0,193,0,196,202,0,214,
+ 215,0,0,220,223,0,225,227,0,231,
+ 232,233,236,0,0,149,152,0,172,0,
+ 175,0,0,199,212,217,0,0,221,222,
+ 224,226,0,229,230,235,241,242,0,0,
0
};
};
@@ -2236,18 +2219,18 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym
public interface ScopeLa {
public final static byte scopeLa[] = {
- 119,74,74,72,74,74,74,74,74,72,
- 25,72,72,1,69,1,74,122,68,3,
- 74,69,69,69,1,1,25,72,68,72,
- 1,1,1,72,1,1,4,69,71,25,
- 1,1,69,74,74,74,119,74,1,25,
- 1,25,25,72,118,74,74,74,74,74,
- 118,1,74,1,74,74,74,73,4,6,
- 1,1,74,69,69,69,69,74,3,1,
- 1,74,74,3,1,118,74,1,1,1,
- 25,74,118,74,5,74,1,41,70,73,
- 74,1,41,76,75,25,25,4,4,4,
- 4,3,1,68,1,1,3
+ 118,73,73,71,73,73,73,73,73,71,
+ 25,71,71,1,68,1,73,121,67,3,
+ 73,68,68,68,1,1,25,71,67,71,
+ 1,1,1,71,1,1,4,68,70,25,
+ 1,1,68,73,73,73,118,73,1,25,
+ 1,25,25,71,117,73,73,73,73,73,
+ 117,1,73,1,73,73,73,72,4,6,
+ 1,1,73,68,68,68,68,73,3,1,
+ 1,73,73,3,1,117,73,1,1,1,
+ 25,73,117,73,5,73,1,41,69,72,
+ 73,1,41,75,74,25,25,4,4,4,
+ 4,3,1,67,1,1,3
};
};
public final static byte scopeLa[] = ScopeLa.scopeLa;
@@ -2274,71 +2257,71 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym
public interface ScopeRhs {
public final static char scopeRhs[] = {0,
- 321,3,63,0,126,0,320,3,119,0,
- 126,172,0,127,179,75,0,216,0,254,
- 127,58,125,0,20,0,296,127,58,41,
- 0,20,53,0,33,132,0,20,53,0,
- 0,296,127,58,41,204,0,20,178,0,
- 254,127,58,133,0,180,128,0,141,0,
- 220,3,295,0,295,0,2,0,126,0,
- 254,127,58,132,0,180,128,225,0,180,
- 128,22,225,0,180,128,316,22,0,129,
- 188,167,128,0,128,0,188,167,128,0,
- 134,128,0,171,0,312,127,171,0,127,
- 171,0,222,128,0,167,311,244,0,136,
- 0,0,0,0,135,0,0,0,0,310,
- 127,163,253,0,127,0,253,0,129,0,
- 0,127,0,309,127,163,252,0,127,0,
- 0,44,127,0,0,153,3,0,127,283,
- 282,127,75,281,171,0,282,127,75,281,
- 171,0,215,0,216,0,281,171,0,96,
- 0,0,215,0,216,0,203,96,0,0,
- 215,0,216,0,282,127,281,171,0,215,
- 0,203,0,0,215,0,230,127,3,0,
- 126,0,0,0,0,0,230,127,3,217,
- 0,224,3,0,213,127,0,208,0,146,
- 0,177,167,128,0,10,0,0,0,215,
- 65,0,125,0,230,127,3,183,0,183,
- 0,2,0,0,126,0,0,0,0,0,
- 205,3,0,201,0,226,127,163,40,28,
- 0,180,128,60,61,0,196,128,0,129,
- 180,128,279,61,0,180,128,279,61,0,
- 180,128,70,124,60,0,226,127,163,60,
- 0,226,127,163,229,60,0,277,127,163,
- 124,306,45,0,277,127,163,306,45,0,
- 180,128,276,45,0,135,0,188,180,128,
- 276,244,0,136,0,180,128,276,244,0,
- 188,167,128,10,0,167,128,10,0,167,
- 128,0,93,136,0,269,127,145,0,269,
- 127,171,0,162,85,0,301,161,303,304,
- 3,82,0,126,171,0,303,304,3,82,
- 0,128,0,126,171,0,162,3,76,191,
- 81,0,126,128,0,191,81,0,108,2,
- 131,126,128,0,227,3,76,0,205,168,
- 0,33,169,0,168,0,175,33,169,0,
- 227,3,86,0,191,155,227,3,84,0,
- 62,171,0,227,3,84,0,126,171,62,
- 171,0,302,127,163,0,162,0,215,78,
- 0,30,171,0,162,107,159,0,30,169,
- 0,178,3,0,126,149,0,220,3,0,
- 215,65,266,0,162,65,0,178,3,298,
- 67,128,0,126,0,0,0,0,298,67,
- 128,0,2,145,126,0,0,0,0,178,
- 3,48,0,147,0,126,41,167,128,0,
- 31,147,0,93,136,31,147,0,221,180,
- 128,0,146,31,147,0,178,3,53,0,
- 162,3,53,0,162,3,69,178,58,43,
- 0,178,58,43,0,20,2,131,126,0,
- 162,3,69,178,58,47,0,178,58,47,
- 0,162,3,69,178,58,49,0,178,58,
- 49,0,162,3,69,178,58,44,0,178,
- 58,44,0,220,3,126,188,167,128,10,
- 0,126,188,167,128,10,0,136,2,0,
- 126,0,220,3,125,259,167,128,10,0,
- 259,167,128,10,0,135,2,0,126,0,
- 220,3,136,0,220,3,140,0,162,65,
- 140,0,261,0,31,0,31,139,0,166,
- 0,134,0,162,3,0
+ 320,3,62,0,125,0,319,3,118,0,
+ 125,171,0,126,178,74,0,215,0,253,
+ 126,58,124,0,20,0,295,126,58,41,
+ 0,20,53,0,33,131,0,20,53,0,
+ 0,295,126,58,41,203,0,20,177,0,
+ 253,126,58,132,0,179,127,0,140,0,
+ 219,3,294,0,294,0,2,0,125,0,
+ 253,126,58,131,0,179,127,224,0,179,
+ 127,22,224,0,179,127,315,22,0,128,
+ 187,166,127,0,127,0,187,166,127,0,
+ 133,127,0,170,0,311,126,170,0,126,
+ 170,0,221,127,0,166,310,243,0,135,
+ 0,0,0,0,134,0,0,0,0,309,
+ 126,162,252,0,126,0,252,0,128,0,
+ 0,126,0,308,126,162,251,0,126,0,
+ 0,44,126,0,0,152,3,0,126,282,
+ 281,126,74,280,170,0,281,126,74,280,
+ 170,0,214,0,215,0,280,170,0,96,
+ 0,0,214,0,215,0,202,96,0,0,
+ 214,0,215,0,281,126,280,170,0,214,
+ 0,202,0,0,214,0,229,126,3,0,
+ 125,0,0,0,0,0,229,126,3,216,
+ 0,223,3,0,212,126,0,207,0,145,
+ 0,176,166,127,0,10,0,0,0,214,
+ 64,0,124,0,229,126,3,182,0,182,
+ 0,2,0,0,125,0,0,0,0,0,
+ 204,3,0,200,0,225,126,162,40,28,
+ 0,179,127,59,60,0,195,127,0,128,
+ 179,127,278,60,0,179,127,278,60,0,
+ 179,127,69,123,59,0,225,126,162,59,
+ 0,225,126,162,228,59,0,276,126,162,
+ 123,305,45,0,276,126,162,305,45,0,
+ 179,127,275,45,0,134,0,187,179,127,
+ 275,243,0,135,0,179,127,275,243,0,
+ 187,166,127,10,0,166,127,10,0,166,
+ 127,0,93,135,0,268,126,144,0,268,
+ 126,170,0,161,84,0,300,160,302,303,
+ 3,81,0,125,170,0,302,303,3,81,
+ 0,127,0,125,170,0,161,3,75,190,
+ 80,0,125,127,0,190,80,0,108,2,
+ 130,125,127,0,226,3,75,0,204,167,
+ 0,33,168,0,167,0,174,33,168,0,
+ 226,3,85,0,190,154,226,3,83,0,
+ 62,170,0,226,3,83,0,125,170,62,
+ 170,0,301,126,162,0,161,0,214,77,
+ 0,30,170,0,161,106,158,0,30,168,
+ 0,177,3,0,125,148,0,219,3,0,
+ 214,64,265,0,161,64,0,177,3,297,
+ 66,127,0,125,0,0,0,0,297,66,
+ 127,0,2,144,125,0,0,0,0,177,
+ 3,48,0,146,0,125,41,166,127,0,
+ 31,146,0,93,135,31,146,0,220,179,
+ 127,0,145,31,146,0,177,3,53,0,
+ 161,3,53,0,161,3,68,177,58,43,
+ 0,177,58,43,0,20,2,130,125,0,
+ 161,3,68,177,58,47,0,177,58,47,
+ 0,161,3,68,177,58,49,0,177,58,
+ 49,0,161,3,68,177,58,44,0,177,
+ 58,44,0,219,3,125,187,166,127,10,
+ 0,125,187,166,127,10,0,135,2,0,
+ 125,0,219,3,124,258,166,127,10,0,
+ 258,166,127,10,0,134,2,0,125,0,
+ 219,3,135,0,219,3,139,0,161,64,
+ 139,0,260,0,31,0,31,138,0,165,
+ 0,133,0,161,3,0
};
};
public final static char scopeRhs[] = ScopeRhs.scopeRhs;
@@ -2346,38 +2329,38 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym
public interface ScopeState {
public final static char scopeState[] = {0,
- 3299,3200,0,2594,2582,2579,0,3024,2348,0,
- 4778,4881,4876,4871,0,1254,3005,927,2057,0,
- 1088,924,0,3534,3479,3425,3323,3286,3232,3195,
- 3141,3104,2854,2817,4307,0,1267,804,0,1053,
- 0,4415,3445,4317,0,2725,647,0,3534,3479,
- 3609,3502,3425,3323,3286,3232,3195,3141,1394,3104,
- 2854,2817,3309,3274,0,3045,2871,0,4656,4596,
- 0,735,0,1498,1410,1322,857,2943,3412,579,
- 2639,3287,2401,3029,0,4499,2445,2943,3111,2935,
- 3412,3511,3485,2426,3446,3430,4521,2652,3253,2388,
- 0,4809,4802,4791,4569,4473,4787,4772,4727,3902,
- 4723,3620,2471,4711,2466,4705,4605,3809,1280,626,
- 3773,3596,3591,3384,0,2943,4621,4521,2652,4683,
- 579,3398,4534,3874,2639,2426,2401,3724,2517,2388,
- 0,4621,4683,0,3512,3419,3436,4809,4802,3226,
- 3237,2911,2859,2694,4791,2840,4569,4473,2850,4787,
- 4772,4727,931,3902,2453,4723,2985,1137,3620,2471,
- 4711,2466,795,4705,4605,791,2535,3809,630,1280,
- 626,3773,3596,3591,740,3384,4549,2929,2414,2226,
- 2138,944,2310,579,3398,4534,3874,2943,2822,2595,
- 2639,1267,804,2426,2401,4621,3724,4521,2652,2517,
- 2388,4683,3055,4284,4262,1186,2276,2358,2326,2611,
- 2541,594,3082,2959,2790,2763,2736,2667,4000,3976,
- 3952,3697,3672,4240,4218,4196,4174,4152,4130,4108,
- 4086,4064,4042,3742,2019,2238,1976,2188,2150,1329,
- 1284,1933,2100,2062,1049,1224,881,1890,1847,1804,
- 1761,1718,1675,1632,1589,1546,1503,1460,536,1143,
- 1412,825,745,1372,689,1004,961,1094,0,536,
- 4549,2929,0,4656,4596,4434,3846,3786,3719,4417,
- 4376,4318,4306,3566,3534,3479,3425,3323,3286,3232,
- 3195,3141,3104,2854,2817,0,4656,4596,4434,3846,
- 3786,3719,4417,4376,4318,4306,3566,0
+ 3298,3199,0,2593,2581,2578,0,3023,2347,0,
+ 4777,4880,4875,4870,0,1253,3004,926,2056,0,
+ 1087,923,0,3533,3478,3424,3322,3285,3231,3194,
+ 3140,3103,2853,2816,4306,0,1266,803,0,1052,
+ 0,4414,3444,4316,0,2724,646,0,3533,3478,
+ 3608,3501,3424,3322,3285,3231,3194,3140,1393,3103,
+ 2853,2816,3308,3273,0,3044,2870,0,4655,4595,
+ 0,734,0,1497,1409,1321,856,2942,3411,578,
+ 2638,3286,2400,3028,0,4498,2444,2942,3110,2934,
+ 3411,3510,3484,2425,3445,3429,4520,2651,3252,2387,
+ 0,4808,4801,4790,4568,4472,4786,4771,4726,3901,
+ 4722,3619,2470,4710,2465,4704,4604,3808,1279,625,
+ 3772,3595,3590,3383,0,2942,4620,4520,2651,4682,
+ 578,3397,4533,3873,2638,2425,2400,3723,2516,2387,
+ 0,4620,4682,0,3511,3418,3435,4808,4801,3225,
+ 3236,2910,2858,2693,4790,2839,4568,4472,2849,4786,
+ 4771,4726,930,3901,2452,4722,2984,1136,3619,2470,
+ 4710,2465,794,4704,4604,790,2534,3808,629,1279,
+ 625,3772,3595,3590,739,3383,4548,2928,2413,2225,
+ 2137,943,2309,578,3397,4533,3873,2942,2821,2594,
+ 2638,1266,803,2425,2400,4620,3723,4520,2651,2516,
+ 2387,4682,3054,4283,4261,1185,2275,2357,2325,2610,
+ 2540,593,3081,2958,2789,2762,2735,2666,3999,3975,
+ 3951,3696,3671,4239,4217,4195,4173,4151,4129,4107,
+ 4085,4063,4041,3741,2018,2237,1975,2187,2149,1328,
+ 1283,1932,2099,2061,1048,1223,880,1889,1846,1803,
+ 1760,1717,1674,1631,1588,1545,1502,1459,535,1142,
+ 1411,824,744,1371,688,1003,960,1093,0,535,
+ 4548,2928,0,4655,4595,4433,3845,3785,3718,4416,
+ 4375,4317,4305,3565,3533,3478,3424,3322,3285,3231,
+ 3194,3140,3103,2853,2816,0,4655,4595,4433,3845,
+ 3785,3718,4416,4375,4317,4305,3565,0
};
};
public final static char scopeState[] = ScopeState.scopeState;
@@ -2385,60 +2368,60 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym
public interface InSymb {
public final static char inSymb[] = {0,
- 0,297,61,64,127,171,204,41,28,60,
- 228,60,279,3,270,271,253,272,244,273,
- 45,274,275,125,10,128,281,127,3,4,
- 133,132,7,5,125,128,183,41,58,40,
- 163,229,124,128,128,40,163,311,276,306,
- 276,58,128,180,167,166,75,127,269,187,
- 183,127,248,280,213,128,177,205,58,58,
- 168,65,3,66,67,125,124,180,167,3,
- 58,69,127,163,127,163,70,180,180,155,
- 127,167,233,126,125,128,124,163,128,127,
- 167,41,4,127,282,73,65,213,128,3,
- 70,71,167,6,127,127,127,65,65,188,
- 127,127,127,226,127,128,229,129,310,128,
- 169,225,60,41,61,171,313,126,125,234,
- 234,180,163,127,180,254,168,53,43,47,
- 49,44,10,136,3,128,48,42,5,36,
- 35,6,9,38,37,140,146,148,147,150,
- 149,152,151,156,154,158,63,159,257,188,
- 261,188,282,163,294,128,295,215,159,167,
- 153,127,163,252,177,127,254,254,213,230,
- 231,145,232,296,41,10,39,226,226,180,
- 167,127,234,234,127,127,188,127,277,124,
- 278,127,3,218,217,3,58,58,58,58,
- 128,3,178,162,127,66,67,167,3,126,
- 106,120,3,65,90,92,36,35,94,93,
- 6,96,95,69,58,88,89,9,98,97,
- 100,99,101,117,116,115,114,113,112,111,
- 110,109,108,70,107,102,71,4,283,127,
- 71,180,3,268,127,163,6,185,155,70,
- 224,205,3,127,71,71,69,58,233,233,
- 229,188,312,73,290,205,125,127,127,73,
- 277,70,71,213,224,127,3,178,162,178,
- 178,178,178,167,220,155,136,126,125,10,
- 128,65,298,3,178,41,128,41,220,162,
- 147,147,146,146,146,149,149,149,149,148,
- 148,151,150,150,154,152,156,162,158,127,
- 302,80,78,1,162,8,86,84,82,81,
- 76,83,85,79,77,60,75,220,71,127,
- 127,127,70,70,127,213,127,70,70,129,
- 71,73,70,315,225,22,128,230,127,69,
- 69,69,69,188,259,128,167,206,3,299,
- 168,153,128,180,167,73,284,119,8,73,
- 215,73,3,3,3,191,3,124,162,124,
- 179,309,222,296,71,128,22,316,180,155,
- 230,3,3,3,3,126,125,167,41,178,
- 127,127,221,5,41,3,73,227,168,227,
- 304,145,76,227,127,190,71,127,69,180,
- 128,128,127,155,162,162,162,162,3,3,
- 188,155,263,266,65,181,4,124,126,91,
- 320,168,155,205,155,303,127,3,155,284,
- 190,8,63,39,180,180,222,127,220,220,
- 126,127,3,65,162,4,155,155,127,70,
- 191,161,269,162,3,233,127,222,263,220,
- 215,122,301,155,321,70,127,155,71
+ 0,296,60,63,126,170,203,41,28,59,
+ 227,59,278,3,269,270,252,271,243,272,
+ 45,273,274,124,10,127,280,126,3,4,
+ 132,131,7,5,124,127,182,41,58,40,
+ 162,228,123,127,127,40,162,310,275,305,
+ 275,58,127,179,166,165,74,126,268,186,
+ 182,126,247,279,212,127,176,204,58,58,
+ 167,64,3,65,66,124,123,179,166,3,
+ 58,68,126,162,126,162,69,179,179,154,
+ 126,166,232,125,124,127,123,162,127,126,
+ 166,41,4,126,281,72,64,212,127,3,
+ 69,70,166,6,126,126,126,64,64,187,
+ 126,126,126,225,126,127,228,128,309,127,
+ 168,224,59,41,60,170,312,125,124,233,
+ 233,179,162,126,179,253,167,53,43,47,
+ 49,44,10,135,3,127,48,42,5,36,
+ 35,6,9,38,37,139,145,147,146,149,
+ 148,151,150,155,153,157,62,158,256,187,
+ 260,187,281,162,293,127,294,214,158,166,
+ 152,126,162,251,176,126,253,253,212,229,
+ 230,144,231,295,41,10,39,225,225,179,
+ 166,126,233,233,126,126,187,126,276,123,
+ 277,126,3,217,216,3,58,58,58,58,
+ 127,3,177,161,126,65,66,166,3,125,
+ 105,119,3,64,89,91,36,35,93,92,
+ 6,95,94,68,58,87,88,9,97,96,
+ 99,98,100,116,115,114,113,112,111,110,
+ 109,108,107,69,106,101,70,4,282,126,
+ 70,179,3,267,126,162,6,184,154,69,
+ 223,204,3,126,70,70,68,58,232,232,
+ 228,187,311,72,289,204,124,126,126,72,
+ 276,69,70,212,223,126,3,177,161,177,
+ 177,177,177,166,219,154,135,125,124,10,
+ 127,64,297,3,177,41,127,41,219,161,
+ 146,146,145,145,145,148,148,148,148,147,
+ 147,150,149,149,153,151,155,161,157,126,
+ 301,79,77,1,161,8,85,83,81,80,
+ 75,82,84,78,76,59,74,219,70,126,
+ 126,126,69,69,126,212,126,69,69,128,
+ 70,72,69,314,224,22,127,229,126,68,
+ 68,68,68,187,258,127,166,205,3,298,
+ 167,152,127,179,166,72,283,118,8,72,
+ 214,72,3,3,3,190,3,123,161,123,
+ 178,308,221,295,70,127,22,315,179,154,
+ 229,3,3,3,3,125,124,166,41,177,
+ 126,126,220,5,41,3,72,226,167,226,
+ 303,144,75,226,126,189,70,126,68,179,
+ 127,127,126,154,161,161,161,161,3,3,
+ 187,154,262,265,64,180,4,123,125,90,
+ 319,167,154,204,154,302,126,3,154,283,
+ 189,8,62,39,179,179,221,126,219,219,
+ 125,126,3,64,161,4,154,154,126,69,
+ 190,160,268,161,3,232,126,221,262,219,
+ 214,121,300,154,320,69,126,154,70
};
};
public final static char inSymb[] = InSymb.inSymb;
@@ -2569,7 +2552,6 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym
"SemiColon",
"LeftBrace",
"ERROR_TOKEN",
- "0",
"EOF_TOKEN",
"]",
")",
@@ -2702,7 +2684,7 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym
public final String name(int index) { return name[index]; }
public final static int
- ERROR_SYMBOL = 62,
+ ERROR_SYMBOL = 61,
SCOPE_UBOUND = 116,
SCOPE_SIZE = 117,
MAX_NAME_LENGTH = 37;
@@ -2714,19 +2696,19 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym
public final static int
NUM_STATES = 539,
- NT_OFFSET = 123,
- LA_STATE_OFFSET = 5987,
+ NT_OFFSET = 122,
+ LA_STATE_OFFSET = 5985,
MAX_LA = 2147483647,
- NUM_RULES = 535,
+ NUM_RULES = 534,
NUM_NONTERMINALS = 201,
- NUM_SYMBOLS = 324,
+ NUM_SYMBOLS = 323,
SEGMENT_SIZE = 8192,
- START_STATE = 3566,
+ START_STATE = 3565,
IDENTIFIER_SYMBOL = 0,
- EOFT_SYMBOL = 121,
- EOLT_SYMBOL = 121,
- ACCEPT_ACTION = 5087,
- ERROR_ACTION = 5452;
+ EOFT_SYMBOL = 120,
+ EOLT_SYMBOL = 120,
+ ACCEPT_ACTION = 5086,
+ ERROR_ACTION = 5451;
public final static boolean BACKTRACK = true;
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParsersym.java
index 8d30143c051..e9634a2b8a4 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParsersym.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParsersym.java
@@ -15,69 +15,69 @@ package org.eclipse.cdt.internal.core.dom.lrparser.cpp;
public interface CPPParsersym {
public final static int
- TK_asm = 64,
+ TK_asm = 63,
TK_auto = 26,
TK_bool = 11,
- TK_break = 77,
- TK_case = 78,
- TK_catch = 119,
+ TK_break = 76,
+ TK_case = 77,
+ TK_catch = 118,
TK_char = 12,
TK_class = 39,
TK_const = 23,
TK_const_cast = 43,
- TK_continue = 79,
- TK_default = 80,
- TK_delete = 66,
- TK_do = 81,
+ TK_continue = 78,
+ TK_default = 79,
+ TK_delete = 65,
+ TK_do = 80,
TK_double = 13,
TK_dynamic_cast = 44,
- TK_else = 122,
+ TK_else = 121,
TK_enum = 45,
TK_explicit = 27,
- TK_export = 87,
+ TK_export = 86,
TK_extern = 28,
TK_false = 46,
TK_float = 14,
- TK_for = 82,
+ TK_for = 81,
TK_friend = 29,
- TK_goto = 83,
- TK_if = 84,
+ TK_goto = 82,
+ TK_if = 83,
TK_inline = 30,
TK_int = 15,
TK_long = 16,
TK_mutable = 31,
- TK_namespace = 60,
- TK_new = 67,
+ TK_namespace = 59,
+ TK_new = 66,
TK_operator = 7,
- TK_private = 103,
- TK_protected = 104,
- TK_public = 105,
+ TK_private = 102,
+ TK_protected = 103,
+ TK_public = 104,
TK_register = 32,
TK_reinterpret_cast = 47,
- TK_return = 85,
+ TK_return = 84,
TK_short = 17,
TK_signed = 18,
TK_sizeof = 48,
TK_static = 33,
TK_static_cast = 49,
TK_struct = 50,
- TK_switch = 86,
+ TK_switch = 85,
TK_template = 41,
TK_this = 51,
- TK_throw = 63,
- TK_try = 75,
+ TK_throw = 62,
+ TK_try = 74,
TK_true = 52,
TK_typedef = 34,
TK_typeid = 53,
TK_typename = 10,
TK_union = 54,
TK_unsigned = 19,
- TK_using = 61,
+ TK_using = 60,
TK_virtual = 22,
TK_void = 20,
TK_volatile = 24,
TK_wchar_t = 21,
- TK_while = 76,
+ TK_while = 75,
TK_integer = 55,
TK_floating = 56,
TK_charconst = 57,
@@ -85,13 +85,13 @@ public interface CPPParsersym {
TK_identifier = 1,
TK_Completion = 2,
TK_EndOfCompletion = 8,
- TK_Invalid = 123,
- TK_LeftBracket = 65,
+ TK_Invalid = 122,
+ TK_LeftBracket = 64,
TK_LeftParen = 3,
- TK_Dot = 120,
- TK_DotStar = 92,
- TK_Arrow = 106,
- TK_ArrowStar = 90,
+ TK_Dot = 119,
+ TK_DotStar = 91,
+ TK_Arrow = 105,
+ TK_ArrowStar = 89,
TK_PlusPlus = 37,
TK_MinusMinus = 38,
TK_And = 9,
@@ -100,44 +100,43 @@ public interface CPPParsersym {
TK_Minus = 36,
TK_Tilde = 5,
TK_Bang = 42,
- TK_Slash = 93,
- TK_Percent = 94,
- TK_RightShift = 88,
- TK_LeftShift = 89,
+ TK_Slash = 92,
+ TK_Percent = 93,
+ TK_RightShift = 87,
+ TK_LeftShift = 88,
TK_LT = 58,
- TK_GT = 69,
- TK_LE = 95,
- TK_GE = 96,
- TK_EQ = 97,
- TK_NE = 98,
- TK_Caret = 99,
- TK_Or = 100,
- TK_AndAnd = 101,
- TK_OrOr = 102,
- TK_Question = 107,
- TK_Colon = 73,
+ TK_GT = 68,
+ TK_LE = 94,
+ TK_GE = 95,
+ TK_EQ = 96,
+ TK_NE = 97,
+ TK_Caret = 98,
+ TK_Or = 99,
+ TK_AndAnd = 100,
+ TK_OrOr = 101,
+ TK_Question = 106,
+ TK_Colon = 72,
TK_ColonColon = 4,
- TK_DotDotDot = 91,
- TK_Assign = 70,
- TK_StarAssign = 108,
- TK_SlashAssign = 109,
- TK_PercentAssign = 110,
- TK_PlusAssign = 111,
- TK_MinusAssign = 112,
- TK_RightShiftAssign = 113,
- TK_LeftShiftAssign = 114,
- TK_AndAssign = 115,
- TK_CaretAssign = 116,
- TK_OrAssign = 117,
- TK_Comma = 71,
- TK_RightBracket = 118,
- TK_RightParen = 74,
- TK_RightBrace = 72,
+ TK_DotDotDot = 90,
+ TK_Assign = 69,
+ TK_StarAssign = 107,
+ TK_SlashAssign = 108,
+ TK_PercentAssign = 109,
+ TK_PlusAssign = 110,
+ TK_MinusAssign = 111,
+ TK_RightShiftAssign = 112,
+ TK_LeftShiftAssign = 113,
+ TK_AndAssign = 114,
+ TK_CaretAssign = 115,
+ TK_OrAssign = 116,
+ TK_Comma = 70,
+ TK_RightBracket = 117,
+ TK_RightParen = 73,
+ TK_RightBrace = 71,
TK_SemiColon = 25,
- TK_LeftBrace = 68,
- TK_ERROR_TOKEN = 62,
- TK_0 = 59,
- TK_EOF_TOKEN = 121;
+ TK_LeftBrace = 67,
+ TK_ERROR_TOKEN = 61,
+ TK_EOF_TOKEN = 120;
public final static String orderedTerminalSymbols[] = {
"",
@@ -199,7 +198,6 @@ public interface CPPParsersym {
"floating",
"charconst",
"LT",
- "0",
"namespace",
"using",
"ERROR_TOKEN",
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParser.java
index 1f068d5311a..974ec54d590 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParser.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParser.java
@@ -28,6 +28,7 @@ import org.eclipse.cdt.core.dom.lrparser.action.TokenMap;
import org.eclipse.cdt.core.dom.ast.cpp.*;
import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPNodeFactory;
import org.eclipse.cdt.core.dom.lrparser.action.cpp.CPPBuildASTParserAction;
+import org.eclipse.cdt.core.dom.lrparser.action.cpp.CPPSecondaryParserFactory;
public class CPPSizeofExpressionParser extends PrsStream implements RuleAction , IParserActionTokenProvider, IParser
{
@@ -173,7 +174,7 @@ public CPPSizeofExpressionParser() { // constructor
}
private void initActions(IASTTranslationUnit tu, Set<IParser.Options> options) {
- action = new CPPBuildASTParserAction ( CPPNodeFactory.getDefault() , this, tu, astStack);
+ action = new CPPBuildASTParserAction (this, tu, astStack, CPPNodeFactory.getDefault() , CPPSecondaryParserFactory.getDefault() );
action.setParserOptions(options);
@@ -235,8 +236,8 @@ public void setTokens(List<IToken> tokens) {
addToken(new Token(null, 0, 0, CPPSizeofExpressionParsersym.TK_EOF_TOKEN));
}
-public CPPSizeofExpressionParser(String[] mapFrom) { // constructor
- tokenMap = new TokenMap(CPPSizeofExpressionParsersym.orderedTerminalSymbols, mapFrom);
+public CPPSizeofExpressionParser(IParserActionTokenProvider parser) { // constructor
+ tokenMap = new TokenMap(CPPSizeofExpressionParsersym.orderedTerminalSymbols, parser.getOrderedTerminalSymbols());
}
@@ -271,1701 +272,1695 @@ public CPPSizeofExpressionParser(String[] mapFrom) { // constructor
}
//
- // Rule 17: literal ::= 0
+ // Rule 17: literal ::= floating
//
- case 17: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_integer_constant); break;
+ case 17: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_float_constant); break;
}
//
- // Rule 18: literal ::= floating
+ // Rule 18: literal ::= charconst
//
- case 18: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_float_constant); break;
+ case 18: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_char_constant); break;
}
//
- // Rule 19: literal ::= charconst
+ // Rule 19: literal ::= stringlit
//
- case 19: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_char_constant); break;
+ case 19: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_string_literal); break;
}
//
- // Rule 20: literal ::= stringlit
+ // Rule 20: literal ::= true
//
- case 20: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_string_literal); break;
+ case 20: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_true); break;
}
//
- // Rule 21: literal ::= true
+ // Rule 21: literal ::= false
//
- case 21: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_true); break;
+ case 21: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_false); break;
}
//
- // Rule 22: literal ::= false
+ // Rule 22: literal ::= this
//
- case 22: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_false); break;
+ case 22: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_this); break;
}
//
- // Rule 23: literal ::= this
+ // Rule 24: primary_expression ::= ( expression )
//
- case 23: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_this); break;
+ case 24: { action. consumeExpressionBracketed(); break;
}
//
- // Rule 25: primary_expression ::= ( expression )
+ // Rule 26: id_expression ::= qualified_or_unqualified_name
//
- case 25: { action. consumeExpressionBracketed(); break;
+ case 26: { action. consumeExpressionName(); break;
}
//
- // Rule 27: id_expression ::= qualified_or_unqualified_name
+ // Rule 33: unqualified_id_name ::= ~ identifier_token
//
- case 27: { action. consumeExpressionName(); break;
+ case 33: { action. consumeDestructorName(); break;
}
//
- // Rule 34: unqualified_id_name ::= ~ identifier_token
+ // Rule 34: unqualified_id_name ::= ~ template_id_name
//
- case 34: { action. consumeDestructorName(); break;
+ case 34: { action. consumeDestructorNameTemplateId(); break;
}
//
- // Rule 35: unqualified_id_name ::= ~ template_id_name
+ // Rule 35: identifier_name ::= identifier_token
//
- case 35: { action. consumeDestructorNameTemplateId(); break;
+ case 35: { action. consumeIdentifierName(); break;
}
//
- // Rule 36: identifier_name ::= identifier_token
+ // Rule 36: template_opt ::= template
//
- case 36: { action. consumeIdentifierName(); break;
+ case 36: { action. consumePlaceHolder(); break;
}
//
- // Rule 37: template_opt ::= template
+ // Rule 37: template_opt ::= $Empty
//
- case 37: { action. consumePlaceHolder(); break;
+ case 37: { action. consumeEmpty(); break;
}
//
- // Rule 38: template_opt ::= $Empty
+ // Rule 38: dcolon_opt ::= ::
//
- case 38: { action. consumeEmpty(); break;
+ case 38: { action. consumeToken(); break;
}
//
- // Rule 39: dcolon_opt ::= ::
+ // Rule 39: dcolon_opt ::= $Empty
//
- case 39: { action. consumeToken(); break;
+ case 39: { action. consumeEmpty(); break;
}
//
- // Rule 40: dcolon_opt ::= $Empty
+ // Rule 40: qualified_id_name ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name
//
- case 40: { action. consumeEmpty(); break;
+ case 40: { action. consumeQualifiedId(true); break;
}
//
- // Rule 41: qualified_id_name ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name
+ // Rule 41: qualified_id_name ::= :: unqualified_id_name
//
- case 41: { action. consumeQualifiedId(true); break;
+ case 41: { action. consumeGlobalQualifiedId(); break;
}
//
- // Rule 42: qualified_id_name ::= :: unqualified_id_name
+ // Rule 42: nested_name_specifier ::= class_or_namespace_name :: nested_name_specifier_with_template
//
- case 42: { action. consumeGlobalQualifiedId(); break;
+ case 42: { action. consumeNestedNameSpecifier(true); break;
}
//
- // Rule 43: nested_name_specifier ::= class_or_namespace_name :: nested_name_specifier_with_template
+ // Rule 43: nested_name_specifier ::= class_or_namespace_name ::
//
- case 43: { action. consumeNestedNameSpecifier(true); break;
+ case 43: { action. consumeNestedNameSpecifier(false); break;
}
//
- // Rule 44: nested_name_specifier ::= class_or_namespace_name ::
+ // Rule 44: nested_name_specifier_with_template ::= class_or_namespace_name_with_template :: nested_name_specifier_with_template
//
- case 44: { action. consumeNestedNameSpecifier(false); break;
+ case 44: { action. consumeNestedNameSpecifier(true); break;
}
//
- // Rule 45: nested_name_specifier_with_template ::= class_or_namespace_name_with_template :: nested_name_specifier_with_template
+ // Rule 45: nested_name_specifier_with_template ::= class_or_namespace_name_with_template ::
//
- case 45: { action. consumeNestedNameSpecifier(true); break;
+ case 45: { action. consumeNestedNameSpecifier(false); break;
}
//
- // Rule 46: nested_name_specifier_with_template ::= class_or_namespace_name_with_template ::
+ // Rule 46: class_or_namespace_name_with_template ::= template_opt class_or_namespace_name
//
- case 46: { action. consumeNestedNameSpecifier(false); break;
+ case 46: { action. consumeNameWithTemplateKeyword(); break;
}
//
- // Rule 47: class_or_namespace_name_with_template ::= template_opt class_or_namespace_name
+ // Rule 48: nested_name_specifier_opt ::= $Empty
//
- case 47: { action. consumeNameWithTemplateKeyword(); break;
+ case 48: { action. consumeNestedNameSpecifierEmpty(); break;
}
//
- // Rule 49: nested_name_specifier_opt ::= $Empty
+ // Rule 51: postfix_expression ::= postfix_expression [ expression ]
//
- case 49: { action. consumeNestedNameSpecifierEmpty(); break;
+ case 51: { action. consumeExpressionArraySubscript(); break;
}
//
- // Rule 52: postfix_expression ::= postfix_expression [ expression ]
+ // Rule 52: postfix_expression ::= postfix_expression ( expression_list_opt )
//
- case 52: { action. consumeExpressionArraySubscript(); break;
+ case 52: { action. consumeExpressionFunctionCall(); break;
}
//
- // Rule 53: postfix_expression ::= postfix_expression ( expression_list_opt )
+ // Rule 53: postfix_expression ::= simple_type_specifier ( expression_list_opt )
//
- case 53: { action. consumeExpressionFunctionCall(); break;
+ case 53: { action. consumeExpressionSimpleTypeConstructor(); break;
}
//
- // Rule 54: postfix_expression ::= simple_type_specifier ( expression_list_opt )
+ // Rule 54: postfix_expression ::= typename dcolon_opt nested_name_specifier <empty> identifier_name ( expression_list_opt )
//
- case 54: { action. consumeExpressionSimpleTypeConstructor(); break;
+ case 54: { action. consumeExpressionTypeName(); break;
}
//
- // Rule 55: postfix_expression ::= typename dcolon_opt nested_name_specifier <empty> identifier_name ( expression_list_opt )
+ // Rule 55: postfix_expression ::= typename dcolon_opt nested_name_specifier template_opt template_id_name ( expression_list_opt )
//
case 55: { action. consumeExpressionTypeName(); break;
}
//
- // Rule 56: postfix_expression ::= typename dcolon_opt nested_name_specifier template_opt template_id_name ( expression_list_opt )
+ // Rule 56: postfix_expression ::= postfix_expression . qualified_or_unqualified_name
//
- case 56: { action. consumeExpressionTypeName(); break;
+ case 56: { action. consumeExpressionFieldReference(false, false); break;
}
//
- // Rule 57: postfix_expression ::= postfix_expression . qualified_or_unqualified_name
+ // Rule 57: postfix_expression ::= postfix_expression -> qualified_or_unqualified_name
//
- case 57: { action. consumeExpressionFieldReference(false, false); break;
+ case 57: { action. consumeExpressionFieldReference(true, false); break;
}
//
- // Rule 58: postfix_expression ::= postfix_expression -> qualified_or_unqualified_name
+ // Rule 58: postfix_expression ::= postfix_expression . template qualified_or_unqualified_name
//
- case 58: { action. consumeExpressionFieldReference(true, false); break;
+ case 58: { action. consumeExpressionFieldReference(false, true); break;
}
//
- // Rule 59: postfix_expression ::= postfix_expression . template qualified_or_unqualified_name
+ // Rule 59: postfix_expression ::= postfix_expression -> template qualified_or_unqualified_name
//
- case 59: { action. consumeExpressionFieldReference(false, true); break;
+ case 59: { action. consumeExpressionFieldReference(true, true); break;
}
//
- // Rule 60: postfix_expression ::= postfix_expression -> template qualified_or_unqualified_name
+ // Rule 60: postfix_expression ::= postfix_expression . pseudo_destructor_name
//
- case 60: { action. consumeExpressionFieldReference(true, true); break;
+ case 60: { action. consumeExpressionFieldReference(false, false); break;
}
//
- // Rule 61: postfix_expression ::= postfix_expression . pseudo_destructor_name
+ // Rule 61: postfix_expression ::= postfix_expression -> pseudo_destructor_name
//
- case 61: { action. consumeExpressionFieldReference(false, false); break;
+ case 61: { action. consumeExpressionFieldReference(true, false); break;
}
//
- // Rule 62: postfix_expression ::= postfix_expression -> pseudo_destructor_name
+ // Rule 62: postfix_expression ::= postfix_expression ++
//
- case 62: { action. consumeExpressionFieldReference(true, false); break;
+ case 62: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break;
}
//
- // Rule 63: postfix_expression ::= postfix_expression ++
+ // Rule 63: postfix_expression ::= postfix_expression --
//
- case 63: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break;
+ case 63: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break;
}
//
- // Rule 64: postfix_expression ::= postfix_expression --
+ // Rule 64: postfix_expression ::= dynamic_cast < type_id > ( expression )
//
- case 64: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break;
+ case 64: { action. consumeExpressionCast(ICPPASTCastExpression.op_dynamic_cast); break;
}
//
- // Rule 65: postfix_expression ::= dynamic_cast < type_id > ( expression )
+ // Rule 65: postfix_expression ::= static_cast < type_id > ( expression )
//
- case 65: { action. consumeExpressionCast(ICPPASTCastExpression.op_dynamic_cast); break;
+ case 65: { action. consumeExpressionCast(ICPPASTCastExpression.op_static_cast); break;
}
//
- // Rule 66: postfix_expression ::= static_cast < type_id > ( expression )
+ // Rule 66: postfix_expression ::= reinterpret_cast < type_id > ( expression )
//
- case 66: { action. consumeExpressionCast(ICPPASTCastExpression.op_static_cast); break;
+ case 66: { action. consumeExpressionCast(ICPPASTCastExpression.op_reinterpret_cast); break;
}
//
- // Rule 67: postfix_expression ::= reinterpret_cast < type_id > ( expression )
+ // Rule 67: postfix_expression ::= const_cast < type_id > ( expression )
//
- case 67: { action. consumeExpressionCast(ICPPASTCastExpression.op_reinterpret_cast); break;
+ case 67: { action. consumeExpressionCast(ICPPASTCastExpression.op_const_cast); break;
}
//
- // Rule 68: postfix_expression ::= const_cast < type_id > ( expression )
+ // Rule 68: postfix_expression ::= typeid ( expression )
//
- case 68: { action. consumeExpressionCast(ICPPASTCastExpression.op_const_cast); break;
+ case 68: { action. consumeExpressionUnaryOperator(ICPPASTUnaryExpression.op_typeid); break;
}
//
- // Rule 69: postfix_expression ::= typeid ( expression )
+ // Rule 69: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt type_name :: destructor_type_name
//
- case 69: { action. consumeExpressionUnaryOperator(ICPPASTUnaryExpression.op_typeid); break;
+ case 69: { action. consumePsudoDestructorName(true); break;
}
//
- // Rule 70: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt type_name :: destructor_type_name
+ // Rule 70: pseudo_destructor_name ::= dcolon_opt nested_name_specifier template template_id_name :: destructor_type_name
//
case 70: { action. consumePsudoDestructorName(true); break;
}
//
- // Rule 71: pseudo_destructor_name ::= dcolon_opt nested_name_specifier template template_id_name :: destructor_type_name
+ // Rule 71: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt destructor_type_name
//
- case 71: { action. consumePsudoDestructorName(true); break;
+ case 71: { action. consumePsudoDestructorName(false); break;
}
//
- // Rule 72: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt destructor_type_name
+ // Rule 72: destructor_type_name ::= ~ identifier_token
//
- case 72: { action. consumePsudoDestructorName(false); break;
+ case 72: { action. consumeDestructorName(); break;
}
//
- // Rule 73: destructor_type_name ::= ~ identifier_token
+ // Rule 73: destructor_type_name ::= ~ template_id_name
//
- case 73: { action. consumeDestructorName(); break;
+ case 73: { action. consumeDestructorNameTemplateId(); break;
}
//
- // Rule 74: destructor_type_name ::= ~ template_id_name
+ // Rule 77: unary_expression ::= ++ cast_expression
//
- case 74: { action. consumeDestructorNameTemplateId(); break;
+ case 77: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixIncr); break;
}
//
- // Rule 78: unary_expression ::= ++ cast_expression
+ // Rule 78: unary_expression ::= -- cast_expression
//
- case 78: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixIncr); break;
+ case 78: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixDecr); break;
}
//
- // Rule 79: unary_expression ::= -- cast_expression
+ // Rule 79: unary_expression ::= & cast_expression
//
- case 79: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixDecr); break;
+ case 79: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_amper); break;
}
//
- // Rule 80: unary_expression ::= & cast_expression
+ // Rule 80: unary_expression ::= * cast_expression
//
- case 80: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_amper); break;
+ case 80: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_star); break;
}
//
- // Rule 81: unary_expression ::= * cast_expression
+ // Rule 81: unary_expression ::= + cast_expression
//
- case 81: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_star); break;
+ case 81: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_plus); break;
}
//
- // Rule 82: unary_expression ::= + cast_expression
+ // Rule 82: unary_expression ::= - cast_expression
//
- case 82: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_plus); break;
+ case 82: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_minus); break;
}
//
- // Rule 83: unary_expression ::= - cast_expression
+ // Rule 83: unary_expression ::= ~ cast_expression
//
- case 83: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_minus); break;
+ case 83: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_tilde); break;
}
//
- // Rule 84: unary_expression ::= ~ cast_expression
+ // Rule 84: unary_expression ::= ! cast_expression
//
- case 84: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_tilde); break;
+ case 84: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_not); break;
}
//
- // Rule 85: unary_expression ::= ! cast_expression
+ // Rule 85: unary_expression ::= sizeof unary_expression
//
- case 85: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_not); break;
+ case 85: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof); break;
}
//
- // Rule 86: unary_expression ::= sizeof unary_expression
+ // Rule 86: new_expression ::= dcolon_opt new new_placement_opt new_type_id <openscope-ast> new_array_expressions_opt new_initializer_opt
//
- case 86: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof); break;
+ case 86: { action. consumeExpressionNew(true); break;
}
//
- // Rule 87: new_expression ::= dcolon_opt new new_placement_opt new_type_id <openscope-ast> new_array_expressions_opt new_initializer_opt
+ // Rule 87: new_expression ::= dcolon_opt new new_placement_opt ( type_id ) <openscope-ast> new_array_expressions_opt new_initializer_opt
//
- case 87: { action. consumeExpressionNew(true); break;
+ case 87: { action. consumeExpressionNew(false); break;
}
//
- // Rule 88: new_expression ::= dcolon_opt new new_placement_opt ( type_id ) <openscope-ast> new_array_expressions_opt new_initializer_opt
+ // Rule 89: new_placement_opt ::= $Empty
//
- case 88: { action. consumeExpressionNew(false); break;
+ case 89: { action. consumeEmpty(); break;
}
//
- // Rule 90: new_placement_opt ::= $Empty
+ // Rule 90: new_type_id ::= type_specifier_seq
//
- case 90: { action. consumeEmpty(); break;
+ case 90: { action. consumeTypeId(false); break;
}
//
- // Rule 91: new_type_id ::= type_specifier_seq
+ // Rule 91: new_type_id ::= type_specifier_seq new_declarator
//
- case 91: { action. consumeTypeId(false); break;
+ case 91: { action. consumeTypeId(true); break;
}
//
- // Rule 92: new_type_id ::= type_specifier_seq new_declarator
+ // Rule 92: new_declarator ::= <openscope-ast> new_pointer_operators
//
- case 92: { action. consumeTypeId(true); break;
+ case 92: { action. consumeNewDeclarator(); break;
}
//
- // Rule 93: new_declarator ::= <openscope-ast> new_pointer_operators
+ // Rule 99: new_initializer ::= ( expression_list_opt )
//
- case 93: { action. consumeNewDeclarator(); break;
+ case 99: { action. consumeNewInitializer(); break;
}
//
- // Rule 100: new_initializer ::= ( expression_list_opt )
+ // Rule 101: new_initializer_opt ::= $Empty
//
- case 100: { action. consumeNewInitializer(); break;
+ case 101: { action. consumeEmpty(); break;
}
//
- // Rule 102: new_initializer_opt ::= $Empty
+ // Rule 102: delete_expression ::= dcolon_opt delete cast_expression
//
- case 102: { action. consumeEmpty(); break;
+ case 102: { action. consumeExpressionDelete(false); break;
}
//
- // Rule 103: delete_expression ::= dcolon_opt delete cast_expression
+ // Rule 103: delete_expression ::= dcolon_opt delete [ ] cast_expression
//
- case 103: { action. consumeExpressionDelete(false); break;
+ case 103: { action. consumeExpressionDelete(true); break;
}
//
- // Rule 104: delete_expression ::= dcolon_opt delete [ ] cast_expression
+ // Rule 105: cast_expression ::= ( type_id ) cast_expression
//
- case 104: { action. consumeExpressionDelete(true); break;
+ case 105: { action. consumeExpressionCast(ICPPASTCastExpression.op_cast); break;
}
//
- // Rule 106: cast_expression ::= ( type_id ) cast_expression
+ // Rule 107: pm_expression ::= pm_expression .* cast_expression
//
- case 106: { action. consumeExpressionCast(ICPPASTCastExpression.op_cast); break;
+ case 107: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmdot); break;
}
//
- // Rule 108: pm_expression ::= pm_expression .* cast_expression
+ // Rule 108: pm_expression ::= pm_expression ->* cast_expression
//
- case 108: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmdot); break;
+ case 108: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmarrow); break;
}
//
- // Rule 109: pm_expression ::= pm_expression ->* cast_expression
+ // Rule 110: multiplicative_expression ::= multiplicative_expression * pm_expression
//
- case 109: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmarrow); break;
+ case 110: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiply); break;
}
//
- // Rule 111: multiplicative_expression ::= multiplicative_expression * pm_expression
+ // Rule 111: multiplicative_expression ::= multiplicative_expression / pm_expression
//
- case 111: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiply); break;
+ case 111: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divide); break;
}
//
- // Rule 112: multiplicative_expression ::= multiplicative_expression / pm_expression
+ // Rule 112: multiplicative_expression ::= multiplicative_expression % pm_expression
//
- case 112: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divide); break;
+ case 112: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_modulo); break;
}
//
- // Rule 113: multiplicative_expression ::= multiplicative_expression % pm_expression
+ // Rule 114: additive_expression ::= additive_expression + multiplicative_expression
//
- case 113: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_modulo); break;
+ case 114: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plus); break;
}
//
- // Rule 115: additive_expression ::= additive_expression + multiplicative_expression
+ // Rule 115: additive_expression ::= additive_expression - multiplicative_expression
//
- case 115: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plus); break;
+ case 115: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minus); break;
}
//
- // Rule 116: additive_expression ::= additive_expression - multiplicative_expression
+ // Rule 117: shift_expression ::= shift_expression << additive_expression
//
- case 116: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minus); break;
+ case 117: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeft); break;
}
//
- // Rule 118: shift_expression ::= shift_expression << additive_expression
+ // Rule 118: shift_expression ::= shift_expression >> additive_expression
//
- case 118: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeft); break;
+ case 118: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRight); break;
}
//
- // Rule 119: shift_expression ::= shift_expression >> additive_expression
+ // Rule 120: relational_expression ::= relational_expression < shift_expression
//
- case 119: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRight); break;
+ case 120: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessThan); break;
}
//
- // Rule 121: relational_expression ::= relational_expression < shift_expression
+ // Rule 121: relational_expression ::= relational_expression > shift_expression
//
- case 121: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessThan); break;
+ case 121: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterThan); break;
}
//
- // Rule 122: relational_expression ::= relational_expression > shift_expression
+ // Rule 122: relational_expression ::= relational_expression <= shift_expression
//
- case 122: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterThan); break;
+ case 122: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessEqual); break;
}
//
- // Rule 123: relational_expression ::= relational_expression <= shift_expression
+ // Rule 123: relational_expression ::= relational_expression >= shift_expression
//
- case 123: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessEqual); break;
+ case 123: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterEqual); break;
}
//
- // Rule 124: relational_expression ::= relational_expression >= shift_expression
+ // Rule 125: equality_expression ::= equality_expression == relational_expression
//
- case 124: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterEqual); break;
+ case 125: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_equals); break;
}
//
- // Rule 126: equality_expression ::= equality_expression == relational_expression
+ // Rule 126: equality_expression ::= equality_expression != relational_expression
//
- case 126: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_equals); break;
+ case 126: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_notequals); break;
}
//
- // Rule 127: equality_expression ::= equality_expression != relational_expression
+ // Rule 128: and_expression ::= and_expression & equality_expression
//
- case 127: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_notequals); break;
+ case 128: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAnd); break;
}
//
- // Rule 129: and_expression ::= and_expression & equality_expression
+ // Rule 130: exclusive_or_expression ::= exclusive_or_expression ^ and_expression
//
- case 129: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAnd); break;
+ case 130: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXor); break;
}
//
- // Rule 131: exclusive_or_expression ::= exclusive_or_expression ^ and_expression
+ // Rule 132: inclusive_or_expression ::= inclusive_or_expression | exclusive_or_expression
//
- case 131: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXor); break;
+ case 132: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOr); break;
}
//
- // Rule 133: inclusive_or_expression ::= inclusive_or_expression | exclusive_or_expression
+ // Rule 134: logical_and_expression ::= logical_and_expression && inclusive_or_expression
//
- case 133: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOr); break;
+ case 134: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalAnd); break;
}
//
- // Rule 135: logical_and_expression ::= logical_and_expression && inclusive_or_expression
+ // Rule 136: logical_or_expression ::= logical_or_expression || logical_and_expression
//
- case 135: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalAnd); break;
+ case 136: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalOr); break;
}
//
- // Rule 137: logical_or_expression ::= logical_or_expression || logical_and_expression
+ // Rule 138: conditional_expression ::= logical_or_expression ? expression : assignment_expression
//
- case 137: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalOr); break;
+ case 138: { action. consumeExpressionConditional(); break;
}
//
- // Rule 139: conditional_expression ::= logical_or_expression ? expression : assignment_expression
+ // Rule 139: throw_expression ::= throw
//
- case 139: { action. consumeExpressionConditional(); break;
+ case 139: { action. consumeExpressionThrow(false); break;
}
//
- // Rule 140: throw_expression ::= throw
+ // Rule 140: throw_expression ::= throw assignment_expression
//
- case 140: { action. consumeExpressionThrow(false); break;
+ case 140: { action. consumeExpressionThrow(true); break;
}
//
- // Rule 141: throw_expression ::= throw assignment_expression
+ // Rule 143: assignment_expression ::= logical_or_expression = assignment_expression
//
- case 141: { action. consumeExpressionThrow(true); break;
+ case 143: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_assign); break;
}
//
- // Rule 144: assignment_expression ::= logical_or_expression = assignment_expression
+ // Rule 144: assignment_expression ::= logical_or_expression *= assignment_expression
//
- case 144: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_assign); break;
+ case 144: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiplyAssign); break;
}
//
- // Rule 145: assignment_expression ::= logical_or_expression *= assignment_expression
+ // Rule 145: assignment_expression ::= logical_or_expression /= assignment_expression
//
- case 145: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiplyAssign); break;
+ case 145: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divideAssign); break;
}
//
- // Rule 146: assignment_expression ::= logical_or_expression /= assignment_expression
+ // Rule 146: assignment_expression ::= logical_or_expression %= assignment_expression
//
- case 146: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divideAssign); break;
+ case 146: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_moduloAssign); break;
}
//
- // Rule 147: assignment_expression ::= logical_or_expression %= assignment_expression
+ // Rule 147: assignment_expression ::= logical_or_expression += assignment_expression
//
- case 147: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_moduloAssign); break;
+ case 147: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plusAssign); break;
}
//
- // Rule 148: assignment_expression ::= logical_or_expression += assignment_expression
+ // Rule 148: assignment_expression ::= logical_or_expression -= assignment_expression
//
- case 148: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plusAssign); break;
+ case 148: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minusAssign); break;
}
//
- // Rule 149: assignment_expression ::= logical_or_expression -= assignment_expression
+ // Rule 149: assignment_expression ::= logical_or_expression >>= assignment_expression
//
- case 149: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minusAssign); break;
+ case 149: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRightAssign); break;
}
//
- // Rule 150: assignment_expression ::= logical_or_expression >>= assignment_expression
+ // Rule 150: assignment_expression ::= logical_or_expression <<= assignment_expression
//
- case 150: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRightAssign); break;
+ case 150: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeftAssign); break;
}
//
- // Rule 151: assignment_expression ::= logical_or_expression <<= assignment_expression
+ // Rule 151: assignment_expression ::= logical_or_expression &= assignment_expression
//
- case 151: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeftAssign); break;
+ case 151: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAndAssign); break;
}
//
- // Rule 152: assignment_expression ::= logical_or_expression &= assignment_expression
+ // Rule 152: assignment_expression ::= logical_or_expression ^= assignment_expression
//
- case 152: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAndAssign); break;
+ case 152: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXorAssign); break;
}
//
- // Rule 153: assignment_expression ::= logical_or_expression ^= assignment_expression
+ // Rule 153: assignment_expression ::= logical_or_expression |= assignment_expression
//
- case 153: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXorAssign); break;
+ case 153: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOrAssign); break;
}
//
- // Rule 154: assignment_expression ::= logical_or_expression |= assignment_expression
+ // Rule 155: expression_list ::= <openscope-ast> expression_list_actual
//
- case 154: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOrAssign); break;
+ case 155: { action. consumeExpressionList(); break;
}
//
- // Rule 156: expression_list ::= <openscope-ast> expression_list_actual
+ // Rule 159: expression_list_opt ::= $Empty
//
- case 156: { action. consumeExpressionList(); break;
+ case 159: { action. consumeEmpty(); break;
}
//
- // Rule 160: expression_list_opt ::= $Empty
+ // Rule 161: expression_opt ::= $Empty
//
- case 160: { action. consumeEmpty(); break;
+ case 161: { action. consumeEmpty(); break;
}
//
- // Rule 162: expression_opt ::= $Empty
+ // Rule 164: constant_expression_opt ::= $Empty
//
- case 162: { action. consumeEmpty(); break;
+ case 164: { action. consumeEmpty(); break;
}
//
- // Rule 165: constant_expression_opt ::= $Empty
+ // Rule 173: statement ::= ERROR_TOKEN
//
- case 165: { action. consumeEmpty(); break;
+ case 173: { action. consumeStatementProblem(); break;
}
//
- // Rule 174: statement ::= ERROR_TOKEN
+ // Rule 174: labeled_statement ::= identifier : statement
//
- case 174: { action. consumeStatementProblem(); break;
+ case 174: { action. consumeStatementLabeled(); break;
}
//
- // Rule 175: labeled_statement ::= identifier : statement
+ // Rule 175: labeled_statement ::= case constant_expression : statement
//
- case 175: { action. consumeStatementLabeled(); break;
+ case 175: { action. consumeStatementCase(); break;
}
//
- // Rule 176: labeled_statement ::= case constant_expression : statement
+ // Rule 176: labeled_statement ::= default : statement
//
- case 176: { action. consumeStatementCase(); break;
+ case 176: { action. consumeStatementDefault(); break;
}
//
- // Rule 177: labeled_statement ::= default : statement
+ // Rule 177: expression_statement ::= expression ;
//
- case 177: { action. consumeStatementDefault(); break;
+ case 177: { action. consumeStatementExpression(); break;
}
//
- // Rule 178: expression_statement ::= expression ;
+ // Rule 178: expression_statement ::= ;
//
- case 178: { action. consumeStatementExpression(); break;
+ case 178: { action. consumeStatementNull(); break;
}
//
- // Rule 179: expression_statement ::= ;
+ // Rule 179: compound_statement ::= { <openscope-ast> statement_seq }
//
- case 179: { action. consumeStatementNull(); break;
+ case 179: { action. consumeStatementCompoundStatement(true); break;
}
//
- // Rule 180: compound_statement ::= { <openscope-ast> statement_seq }
+ // Rule 180: compound_statement ::= { }
//
- case 180: { action. consumeStatementCompoundStatement(true); break;
+ case 180: { action. consumeStatementCompoundStatement(false); break;
}
//
- // Rule 181: compound_statement ::= { }
+ // Rule 183: selection_statement ::= if ( condition ) statement
//
- case 181: { action. consumeStatementCompoundStatement(false); break;
+ case 183: { action. consumeStatementIf(false); break;
}
//
- // Rule 184: selection_statement ::= if ( condition ) statement
+ // Rule 184: selection_statement ::= if ( condition ) statement else statement
//
- case 184: { action. consumeStatementIf(false); break;
+ case 184: { action. consumeStatementIf(true); break;
}
//
- // Rule 185: selection_statement ::= if ( condition ) statement else statement
+ // Rule 185: selection_statement ::= switch ( condition ) statement
//
- case 185: { action. consumeStatementIf(true); break;
+ case 185: { action. consumeStatementSwitch(); break;
}
//
- // Rule 186: selection_statement ::= switch ( condition ) statement
+ // Rule 187: condition ::= type_specifier_seq declarator = assignment_expression
//
- case 186: { action. consumeStatementSwitch(); break;
+ case 187: { action. consumeConditionDeclaration(); break;
}
//
- // Rule 188: condition ::= type_specifier_seq declarator = assignment_expression
+ // Rule 189: condition_opt ::= $Empty
//
- case 188: { action. consumeConditionDeclaration(); break;
+ case 189: { action. consumeEmpty(); break;
}
//
- // Rule 190: condition_opt ::= $Empty
+ // Rule 190: iteration_statement ::= while ( condition ) statement
//
- case 190: { action. consumeEmpty(); break;
+ case 190: { action. consumeStatementWhileLoop(); break;
}
//
- // Rule 191: iteration_statement ::= while ( condition ) statement
+ // Rule 191: iteration_statement ::= do statement while ( expression ) ;
//
- case 191: { action. consumeStatementWhileLoop(); break;
+ case 191: { action. consumeStatementDoLoop(); break;
}
//
- // Rule 192: iteration_statement ::= do statement while ( expression ) ;
+ // Rule 192: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement
//
- case 192: { action. consumeStatementDoLoop(); break;
+ case 192: { action. consumeStatementForLoop(); break;
}
//
- // Rule 193: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement
+ // Rule 194: for_init_statement ::= simple_declaration_with_declspec
//
- case 193: { action. consumeStatementForLoop(); break;
+ case 194: { action. consumeStatementDeclaration(); break;
}
//
- // Rule 195: for_init_statement ::= simple_declaration_with_declspec
+ // Rule 195: jump_statement ::= break ;
//
- case 195: { action. consumeStatementDeclaration(); break;
+ case 195: { action. consumeStatementBreak(); break;
}
//
- // Rule 196: jump_statement ::= break ;
+ // Rule 196: jump_statement ::= continue ;
//
- case 196: { action. consumeStatementBreak(); break;
+ case 196: { action. consumeStatementContinue(); break;
}
//
- // Rule 197: jump_statement ::= continue ;
+ // Rule 197: jump_statement ::= return expression ;
//
- case 197: { action. consumeStatementContinue(); break;
+ case 197: { action. consumeStatementReturn(true); break;
}
//
- // Rule 198: jump_statement ::= return expression ;
+ // Rule 198: jump_statement ::= return ;
//
- case 198: { action. consumeStatementReturn(true); break;
+ case 198: { action. consumeStatementReturn(false); break;
}
//
- // Rule 199: jump_statement ::= return ;
+ // Rule 199: jump_statement ::= goto identifier_token ;
//
- case 199: { action. consumeStatementReturn(false); break;
+ case 199: { action. consumeStatementGoto(); break;
}
//
- // Rule 200: jump_statement ::= goto identifier_token ;
+ // Rule 200: declaration_statement ::= block_declaration
//
- case 200: { action. consumeStatementGoto(); break;
+ case 200: { action. consumeStatementDeclarationWithDisambiguation(); break;
}
//
- // Rule 201: declaration_statement ::= block_declaration
+ // Rule 201: declaration_statement ::= function_definition
//
- case 201: { action. consumeStatementDeclarationWithDisambiguation(); break;
+ case 201: { action. consumeStatementDeclaration(); break;
}
//
- // Rule 202: declaration_statement ::= function_definition
+ // Rule 209: declaration ::= ERROR_TOKEN
//
- case 202: { action. consumeStatementDeclaration(); break;
+ case 209: { action. consumeDeclarationProblem(); break;
}
//
- // Rule 210: declaration ::= ERROR_TOKEN
+ // Rule 219: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ;
//
- case 210: { action. consumeDeclarationProblem(); break;
+ case 219: { action. consumeDeclarationSimple(true); break;
}
//
- // Rule 220: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ;
+ // Rule 220: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ;
//
case 220: { action. consumeDeclarationSimple(true); break;
}
//
- // Rule 221: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ;
+ // Rule 221: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers
//
- case 221: { action. consumeDeclarationSimple(true); break;
+ case 221: { action. consumeDeclarationSpecifiersSimple(); break;
}
//
- // Rule 222: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers
+ // Rule 222: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers
//
- case 222: { action. consumeDeclarationSpecifiersSimple(); break;
+ case 222: { action. consumeDeclarationSpecifiersComposite(); break;
}
//
- // Rule 223: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers
+ // Rule 223: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers
//
case 223: { action. consumeDeclarationSpecifiersComposite(); break;
}
//
- // Rule 224: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers
+ // Rule 224: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers
//
case 224: { action. consumeDeclarationSpecifiersComposite(); break;
}
//
- // Rule 225: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers
+ // Rule 225: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers
//
- case 225: { action. consumeDeclarationSpecifiersComposite(); break;
+ case 225: { action. consumeDeclarationSpecifiersTypeName(); break;
}
//
- // Rule 226: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers
+ // Rule 227: declaration_specifiers_opt ::= $Empty
//
- case 226: { action. consumeDeclarationSpecifiersTypeName(); break;
+ case 227: { action. consumeEmpty(); break;
}
//
- // Rule 228: declaration_specifiers_opt ::= $Empty
+ // Rule 231: no_type_declaration_specifier ::= friend
//
- case 228: { action. consumeEmpty(); break;
+ case 231: { action. consumeToken(); break;
}
//
- // Rule 232: no_type_declaration_specifier ::= friend
+ // Rule 232: no_type_declaration_specifier ::= typedef
//
case 232: { action. consumeToken(); break;
}
//
- // Rule 233: no_type_declaration_specifier ::= typedef
+ // Rule 252: storage_class_specifier ::= auto
//
- case 233: { action. consumeToken(); break;
+ case 252: { action. consumeToken(); break;
}
//
- // Rule 253: storage_class_specifier ::= auto
+ // Rule 253: storage_class_specifier ::= register
//
case 253: { action. consumeToken(); break;
}
//
- // Rule 254: storage_class_specifier ::= register
+ // Rule 254: storage_class_specifier ::= static
//
case 254: { action. consumeToken(); break;
}
//
- // Rule 255: storage_class_specifier ::= static
+ // Rule 255: storage_class_specifier ::= extern
//
case 255: { action. consumeToken(); break;
}
//
- // Rule 256: storage_class_specifier ::= extern
+ // Rule 256: storage_class_specifier ::= mutable
//
case 256: { action. consumeToken(); break;
}
//
- // Rule 257: storage_class_specifier ::= mutable
+ // Rule 257: function_specifier ::= inline
//
case 257: { action. consumeToken(); break;
}
//
- // Rule 258: function_specifier ::= inline
+ // Rule 258: function_specifier ::= virtual
//
case 258: { action. consumeToken(); break;
}
//
- // Rule 259: function_specifier ::= virtual
+ // Rule 259: function_specifier ::= explicit
//
case 259: { action. consumeToken(); break;
}
//
- // Rule 260: function_specifier ::= explicit
+ // Rule 260: simple_type_specifier ::= char
//
case 260: { action. consumeToken(); break;
}
//
- // Rule 261: simple_type_specifier ::= char
+ // Rule 261: simple_type_specifier ::= wchar_t
//
case 261: { action. consumeToken(); break;
}
//
- // Rule 262: simple_type_specifier ::= wchar_t
+ // Rule 262: simple_type_specifier ::= bool
//
case 262: { action. consumeToken(); break;
}
//
- // Rule 263: simple_type_specifier ::= bool
+ // Rule 263: simple_type_specifier ::= short
//
case 263: { action. consumeToken(); break;
}
//
- // Rule 264: simple_type_specifier ::= short
+ // Rule 264: simple_type_specifier ::= int
//
case 264: { action. consumeToken(); break;
}
//
- // Rule 265: simple_type_specifier ::= int
+ // Rule 265: simple_type_specifier ::= long
//
case 265: { action. consumeToken(); break;
}
//
- // Rule 266: simple_type_specifier ::= long
+ // Rule 266: simple_type_specifier ::= signed
//
case 266: { action. consumeToken(); break;
}
//
- // Rule 267: simple_type_specifier ::= signed
+ // Rule 267: simple_type_specifier ::= unsigned
//
case 267: { action. consumeToken(); break;
}
//
- // Rule 268: simple_type_specifier ::= unsigned
+ // Rule 268: simple_type_specifier ::= float
//
case 268: { action. consumeToken(); break;
}
//
- // Rule 269: simple_type_specifier ::= float
+ // Rule 269: simple_type_specifier ::= double
//
case 269: { action. consumeToken(); break;
}
//
- // Rule 270: simple_type_specifier ::= double
+ // Rule 270: simple_type_specifier ::= void
//
case 270: { action. consumeToken(); break;
}
//
- // Rule 271: simple_type_specifier ::= void
+ // Rule 273: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name
//
- case 271: { action. consumeToken(); break;
+ case 273: { action. consumeQualifiedId(false); break;
}
//
- // Rule 274: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name
+ // Rule 274: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name
//
case 274: { action. consumeQualifiedId(false); break;
}
//
- // Rule 275: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name
+ // Rule 275: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name
//
case 275: { action. consumeQualifiedId(false); break;
}
//
- // Rule 276: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name
+ // Rule 276: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name
//
- case 276: { action. consumeQualifiedId(false); break;
+ case 276: { action. consumeQualifiedId(true); break;
}
//
- // Rule 277: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name
+ // Rule 278: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name
//
- case 277: { action. consumeQualifiedId(true); break;
+ case 278: { action. consumeTypeSpecifierElaborated(false); break;
}
//
- // Rule 279: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name
+ // Rule 279: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt template_opt template_id_name
//
- case 279: { action. consumeTypeSpecifierElaborated(false); break;
+ case 279: { action. consumeTypeSpecifierElaborated(true); break;
}
//
- // Rule 280: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt template_opt template_id_name
+ // Rule 280: elaborated_type_specifier ::= enum elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name
//
- case 280: { action. consumeTypeSpecifierElaborated(true); break;
+ case 280: { action. consumeTypeSpecifierElaborated(false); break;
}
//
- // Rule 281: elaborated_type_specifier ::= enum elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name
+ // Rule 282: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt }
//
- case 281: { action. consumeTypeSpecifierElaborated(false); break;
+ case 282: { action. consumeTypeSpecifierEnumeration(false); break;
}
//
- // Rule 283: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt }
+ // Rule 283: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt }
//
- case 283: { action. consumeTypeSpecifierEnumeration(false); break;
+ case 283: { action. consumeTypeSpecifierEnumeration(true); break;
}
//
- // Rule 284: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt }
+ // Rule 289: enumerator_definition ::= identifier_token
//
- case 284: { action. consumeTypeSpecifierEnumeration(true); break;
+ case 289: { action. consumeEnumerator(false); break;
}
//
- // Rule 290: enumerator_definition ::= identifier_token
+ // Rule 290: enumerator_definition ::= identifier_token = constant_expression
//
- case 290: { action. consumeEnumerator(false); break;
+ case 290: { action. consumeEnumerator(true); break;
}
//
- // Rule 291: enumerator_definition ::= identifier_token = constant_expression
+ // Rule 294: named_namespace_definition ::= namespace namespace_name { <openscope-ast> declaration_seq_opt }
//
- case 291: { action. consumeEnumerator(true); break;
+ case 294: { action. consumeNamespaceDefinition(true); break;
}
//
- // Rule 295: named_namespace_definition ::= namespace namespace_name { <openscope-ast> declaration_seq_opt }
+ // Rule 295: unnamed_namespace_definition ::= namespace { <openscope-ast> declaration_seq_opt }
//
- case 295: { action. consumeNamespaceDefinition(true); break;
+ case 295: { action. consumeNamespaceDefinition(false); break;
}
//
- // Rule 296: unnamed_namespace_definition ::= namespace { <openscope-ast> declaration_seq_opt }
+ // Rule 296: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ;
//
- case 296: { action. consumeNamespaceDefinition(false); break;
+ case 296: { action. consumeNamespaceAliasDefinition(); break;
}
//
- // Rule 297: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ;
+ // Rule 297: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ;
//
- case 297: { action. consumeNamespaceAliasDefinition(); break;
+ case 297: { action. consumeUsingDeclaration(); break;
}
//
- // Rule 298: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ;
+ // Rule 298: typename_opt ::= typename
//
- case 298: { action. consumeUsingDeclaration(); break;
+ case 298: { action. consumePlaceHolder(); break;
}
//
- // Rule 299: typename_opt ::= typename
+ // Rule 299: typename_opt ::= $Empty
//
- case 299: { action. consumePlaceHolder(); break;
+ case 299: { action. consumeEmpty(); break;
}
//
- // Rule 300: typename_opt ::= $Empty
+ // Rule 300: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ;
//
- case 300: { action. consumeEmpty(); break;
+ case 300: { action. consumeUsingDirective(); break;
}
//
- // Rule 301: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ;
+ // Rule 301: asm_definition ::= asm ( stringlit ) ;
//
- case 301: { action. consumeUsingDirective(); break;
+ case 301: { action. consumeDeclarationASM(); break;
}
//
- // Rule 302: asm_definition ::= asm ( stringlit ) ;
+ // Rule 302: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt }
//
- case 302: { action. consumeDeclarationASM(); break;
+ case 302: { action. consumeLinkageSpecification(); break;
}
//
- // Rule 303: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt }
+ // Rule 303: linkage_specification ::= extern stringlit <openscope-ast> declaration
//
case 303: { action. consumeLinkageSpecification(); break;
}
//
- // Rule 304: linkage_specification ::= extern stringlit <openscope-ast> declaration
+ // Rule 308: init_declarator_complete ::= init_declarator
//
- case 304: { action. consumeLinkageSpecification(); break;
+ case 308: { action. consumeInitDeclaratorComplete(); break;
}
//
- // Rule 309: init_declarator_complete ::= init_declarator
+ // Rule 310: init_declarator ::= complete_declarator initializer
//
- case 309: { action. consumeInitDeclaratorComplete(); break;
+ case 310: { action. consumeDeclaratorWithInitializer(true); break;
}
//
- // Rule 311: init_declarator ::= complete_declarator initializer
+ // Rule 313: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
//
- case 311: { action. consumeDeclaratorWithInitializer(true); break;
+ case 313: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 314: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
+ // Rule 315: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
//
- case 314: { action. consumeDeclaratorWithPointer(true); break;
+ case 315: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 316: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
+ // Rule 319: basic_direct_declarator ::= declarator_id_name
//
- case 316: { action. consumeDeclaratorWithPointer(true); break;
+ case 319: { action. consumeDirectDeclaratorIdentifier(); break;
}
//
- // Rule 320: basic_direct_declarator ::= declarator_id_name
+ // Rule 320: basic_direct_declarator ::= ( declarator )
//
- case 320: { action. consumeDirectDeclaratorIdentifier(); break;
+ case 320: { action. consumeDirectDeclaratorBracketed(); break;
}
//
- // Rule 321: basic_direct_declarator ::= ( declarator )
+ // Rule 321: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
//
- case 321: { action. consumeDirectDeclaratorBracketed(); break;
+ case 321: { action. consumeDirectDeclaratorFunctionDeclarator(true); break;
}
//
- // Rule 322: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
+ // Rule 322: array_direct_declarator ::= array_direct_declarator array_modifier
//
- case 322: { action. consumeDirectDeclaratorFunctionDeclarator(true); break;
+ case 322: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 323: array_direct_declarator ::= array_direct_declarator array_modifier
+ // Rule 323: array_direct_declarator ::= basic_direct_declarator array_modifier
//
case 323: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 324: array_direct_declarator ::= basic_direct_declarator array_modifier
+ // Rule 324: array_modifier ::= [ constant_expression ]
//
- case 324: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 324: { action. consumeDirectDeclaratorArrayModifier(true); break;
}
//
- // Rule 325: array_modifier ::= [ constant_expression ]
+ // Rule 325: array_modifier ::= [ ]
//
- case 325: { action. consumeDirectDeclaratorArrayModifier(true); break;
+ case 325: { action. consumeDirectDeclaratorArrayModifier(false); break;
}
//
- // Rule 326: array_modifier ::= [ ]
+ // Rule 326: ptr_operator ::= pointer_hook * <openscope-ast> cv_qualifier_seq_opt
//
- case 326: { action. consumeDirectDeclaratorArrayModifier(false); break;
+ case 326: { action. consumePointer(); break;
}
//
- // Rule 327: ptr_operator ::= pointer_hook * <openscope-ast> cv_qualifier_seq_opt
+ // Rule 327: ptr_operator ::= pointer_hook &
//
- case 327: { action. consumePointer(); break;
+ case 327: { action. consumeReferenceOperator(); break;
}
//
- // Rule 328: ptr_operator ::= pointer_hook &
+ // Rule 328: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * <openscope-ast> cv_qualifier_seq_opt
//
- case 328: { action. consumeReferenceOperator(); break;
+ case 328: { action. consumePointerToMember(); break;
}
//
- // Rule 329: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * <openscope-ast> cv_qualifier_seq_opt
+ // Rule 335: cv_qualifier ::= const
//
- case 329: { action. consumePointerToMember(); break;
+ case 335: { action. consumeToken(); break;
}
//
- // Rule 336: cv_qualifier ::= const
+ // Rule 336: cv_qualifier ::= volatile
//
case 336: { action. consumeToken(); break;
}
//
- // Rule 337: cv_qualifier ::= volatile
+ // Rule 338: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name
//
- case 337: { action. consumeToken(); break;
+ case 338: { action. consumeQualifiedId(false); break;
}
//
- // Rule 339: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name
+ // Rule 339: type_id ::= type_specifier_seq
//
- case 339: { action. consumeQualifiedId(false); break;
+ case 339: { action. consumeTypeId(false); break;
}
//
- // Rule 340: type_id ::= type_specifier_seq
+ // Rule 340: type_id ::= type_specifier_seq abstract_declarator
//
- case 340: { action. consumeTypeId(false); break;
+ case 340: { action. consumeTypeId(true); break;
}
//
- // Rule 341: type_id ::= type_specifier_seq abstract_declarator
+ // Rule 343: abstract_declarator ::= <openscope-ast> ptr_operator_seq
//
- case 341: { action. consumeTypeId(true); break;
+ case 343: { action. consumeDeclaratorWithPointer(false); break;
}
//
- // Rule 344: abstract_declarator ::= <openscope-ast> ptr_operator_seq
+ // Rule 344: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator
//
- case 344: { action. consumeDeclaratorWithPointer(false); break;
+ case 344: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 345: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator
+ // Rule 348: basic_direct_abstract_declarator ::= ( abstract_declarator )
//
- case 345: { action. consumeDeclaratorWithPointer(true); break;
+ case 348: { action. consumeDirectDeclaratorBracketed(); break;
}
//
- // Rule 349: basic_direct_abstract_declarator ::= ( abstract_declarator )
+ // Rule 349: basic_direct_abstract_declarator ::= ( )
//
- case 349: { action. consumeDirectDeclaratorBracketed(); break;
+ case 349: { action. consumeAbstractDeclaratorEmpty(); break;
}
//
- // Rule 350: basic_direct_abstract_declarator ::= ( )
+ // Rule 350: array_direct_abstract_declarator ::= array_modifier
//
- case 350: { action. consumeAbstractDeclaratorEmpty(); break;
+ case 350: { action. consumeDirectDeclaratorArrayDeclarator(false); break;
}
//
- // Rule 351: array_direct_abstract_declarator ::= array_modifier
+ // Rule 351: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
//
- case 351: { action. consumeDirectDeclaratorArrayDeclarator(false); break;
+ case 351: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 352: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
+ // Rule 352: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
//
case 352: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 353: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
+ // Rule 353: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
//
- case 353: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 353: { action. consumeDirectDeclaratorFunctionDeclarator(true); break;
}
//
- // Rule 354: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
+ // Rule 354: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
//
- case 354: { action. consumeDirectDeclaratorFunctionDeclarator(true); break;
+ case 354: { action. consumeDirectDeclaratorFunctionDeclarator(false); break;
}
//
- // Rule 355: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
+ // Rule 355: parameter_declaration_clause ::= parameter_declaration_list_opt ...
//
- case 355: { action. consumeDirectDeclaratorFunctionDeclarator(false); break;
+ case 355: { action. consumePlaceHolder(); break;
}
//
- // Rule 356: parameter_declaration_clause ::= parameter_declaration_list_opt ...
+ // Rule 356: parameter_declaration_clause ::= parameter_declaration_list_opt
//
- case 356: { action. consumePlaceHolder(); break;
+ case 356: { action. consumeEmpty(); break;
}
//
- // Rule 357: parameter_declaration_clause ::= parameter_declaration_list_opt
+ // Rule 357: parameter_declaration_clause ::= parameter_declaration_list , ...
//
- case 357: { action. consumeEmpty(); break;
+ case 357: { action. consumePlaceHolder(); break;
}
//
- // Rule 358: parameter_declaration_clause ::= parameter_declaration_list , ...
+ // Rule 363: abstract_declarator_opt ::= $Empty
//
- case 358: { action. consumePlaceHolder(); break;
+ case 363: { action. consumeEmpty(); break;
}
//
- // Rule 364: abstract_declarator_opt ::= $Empty
+ // Rule 364: parameter_declaration ::= declaration_specifiers parameter_init_declarator
//
- case 364: { action. consumeEmpty(); break;
+ case 364: { action. consumeParameterDeclaration(); break;
}
//
- // Rule 365: parameter_declaration ::= declaration_specifiers parameter_init_declarator
+ // Rule 365: parameter_declaration ::= declaration_specifiers
//
- case 365: { action. consumeParameterDeclaration(); break;
+ case 365: { action. consumeParameterDeclarationWithoutDeclarator(); break;
}
//
- // Rule 366: parameter_declaration ::= declaration_specifiers
+ // Rule 367: parameter_init_declarator ::= declarator = parameter_initializer
//
- case 366: { action. consumeParameterDeclarationWithoutDeclarator(); break;
+ case 367: { action. consumeDeclaratorWithInitializer(true); break;
}
//
- // Rule 368: parameter_init_declarator ::= declarator = parameter_initializer
+ // Rule 369: parameter_init_declarator ::= abstract_declarator = parameter_initializer
//
- case 368: { action. consumeDeclaratorWithInitializer(true); break;
+ case 369: { action. consumeDeclaratorWithInitializer(true); break;
}
//
- // Rule 370: parameter_init_declarator ::= abstract_declarator = parameter_initializer
+ // Rule 370: parameter_init_declarator ::= = parameter_initializer
//
- case 370: { action. consumeDeclaratorWithInitializer(true); break;
+ case 370: { action. consumeDeclaratorWithInitializer(false); break;
}
//
- // Rule 371: parameter_init_declarator ::= = parameter_initializer
+ // Rule 371: parameter_initializer ::= assignment_expression
//
- case 371: { action. consumeDeclaratorWithInitializer(false); break;
+ case 371: { action. consumeInitializer(); break;
}
//
- // Rule 372: parameter_initializer ::= assignment_expression
+ // Rule 372: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body
//
- case 372: { action. consumeInitializer(); break;
+ case 372: { action. consumeFunctionDefinition(false); break;
}
//
- // Rule 373: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body
+ // Rule 373: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq
//
- case 373: { action. consumeFunctionDefinition(false); break;
+ case 373: { action. consumeFunctionDefinition(true); break;
}
//
- // Rule 374: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq
+ // Rule 376: initializer ::= ( expression_list )
//
- case 374: { action. consumeFunctionDefinition(true); break;
+ case 376: { action. consumeInitializerConstructor(); break;
}
//
- // Rule 377: initializer ::= ( expression_list )
+ // Rule 377: initializer_clause ::= assignment_expression
//
- case 377: { action. consumeInitializerConstructor(); break;
+ case 377: { action. consumeInitializer(); break;
}
//
- // Rule 378: initializer_clause ::= assignment_expression
+ // Rule 378: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list , } end_initializer_list
//
- case 378: { action. consumeInitializer(); break;
+ case 378: { action. consumeInitializerList(); break;
}
//
- // Rule 379: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list , } end_initializer_list
+ // Rule 379: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list } end_initializer_list
//
case 379: { action. consumeInitializerList(); break;
}
//
- // Rule 380: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list } end_initializer_list
+ // Rule 380: initializer_clause ::= { <openscope-ast> }
//
case 380: { action. consumeInitializerList(); break;
}
//
- // Rule 381: initializer_clause ::= { <openscope-ast> }
+ // Rule 381: start_initializer_list ::= $Empty
//
- case 381: { action. consumeInitializerList(); break;
+ case 381: { action. initializerListStart(); break;
}
//
- // Rule 382: start_initializer_list ::= $Empty
+ // Rule 382: end_initializer_list ::= $Empty
//
- case 382: { action. initializerListStart(); break;
+ case 382: { action. initializerListEnd(); break;
}
//
- // Rule 383: end_initializer_list ::= $Empty
+ // Rule 387: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt }
//
- case 383: { action. initializerListEnd(); break;
+ case 387: { action. consumeClassSpecifier(); break;
}
//
- // Rule 388: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt }
+ // Rule 388: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook <openscope-ast> base_clause_opt
//
- case 388: { action. consumeClassSpecifier(); break;
+ case 388: { action. consumeClassHead(false); break;
}
//
- // Rule 389: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook <openscope-ast> base_clause_opt
+ // Rule 389: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt
//
case 389: { action. consumeClassHead(false); break;
}
//
- // Rule 390: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt
+ // Rule 390: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook <openscope-ast> base_clause_opt
//
- case 390: { action. consumeClassHead(false); break;
+ case 390: { action. consumeClassHead(true); break;
}
//
- // Rule 391: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook <openscope-ast> base_clause_opt
+ // Rule 391: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt
//
case 391: { action. consumeClassHead(true); break;
}
//
- // Rule 392: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt
+ // Rule 395: identifier_name_opt ::= $Empty
//
- case 392: { action. consumeClassHead(true); break;
- }
+ case 395: { action. consumeEmpty(); break;
+ }
//
- // Rule 396: identifier_name_opt ::= $Empty
+ // Rule 399: visibility_label ::= access_specifier_keyword :
//
- case 396: { action. consumeEmpty(); break;
- }
+ case 399: { action. consumeVisibilityLabel(); break;
+ }
//
- // Rule 400: visibility_label ::= access_specifier_keyword :
+ // Rule 400: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ;
//
- case 400: { action. consumeVisibilityLabel(); break;
+ case 400: { action. consumeDeclarationSimple(true); break;
}
//
- // Rule 401: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ;
+ // Rule 401: member_declaration ::= declaration_specifiers_opt ;
//
- case 401: { action. consumeDeclarationSimple(true); break;
+ case 401: { action. consumeDeclarationSimple(false); break;
}
//
- // Rule 402: member_declaration ::= declaration_specifiers_opt ;
+ // Rule 404: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ;
//
- case 402: { action. consumeDeclarationSimple(false); break;
+ case 404: { action. consumeMemberDeclarationQualifiedId(); break;
}
//
- // Rule 405: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ;
+ // Rule 410: member_declaration ::= ERROR_TOKEN
//
- case 405: { action. consumeMemberDeclarationQualifiedId(); break;
+ case 410: { action. consumeDeclarationProblem(); break;
}
//
- // Rule 411: member_declaration ::= ERROR_TOKEN
+ // Rule 419: member_declarator ::= declarator constant_initializer
//
- case 411: { action. consumeDeclarationProblem(); break;
+ case 419: { action. consumeMemberDeclaratorWithInitializer(); break;
}
//
- // Rule 420: member_declarator ::= declarator constant_initializer
+ // Rule 420: member_declarator ::= bit_field_declarator : constant_expression
//
- case 420: { action. consumeMemberDeclaratorWithInitializer(); break;
+ case 420: { action. consumeBitField(true); break;
}
//
- // Rule 421: member_declarator ::= bit_field_declarator : constant_expression
+ // Rule 421: member_declarator ::= : constant_expression
//
- case 421: { action. consumeBitField(true); break;
+ case 421: { action. consumeBitField(false); break;
}
//
- // Rule 422: member_declarator ::= : constant_expression
+ // Rule 422: bit_field_declarator ::= identifier_name
//
- case 422: { action. consumeBitField(false); break;
+ case 422: { action. consumeDirectDeclaratorIdentifier(); break;
}
//
- // Rule 423: bit_field_declarator ::= identifier_name
+ // Rule 423: constant_initializer ::= = constant_expression
//
- case 423: { action. consumeDirectDeclaratorIdentifier(); break;
+ case 423: { action. consumeInitializer(); break;
}
//
- // Rule 424: constant_initializer ::= = constant_expression
+ // Rule 429: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name
//
- case 424: { action. consumeInitializer(); break;
+ case 429: { action. consumeBaseSpecifier(false, false); break;
}
//
- // Rule 430: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name
+ // Rule 430: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name
//
- case 430: { action. consumeBaseSpecifier(false, false); break;
+ case 430: { action. consumeBaseSpecifier(true, true); break;
}
//
- // Rule 431: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name
+ // Rule 431: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name
//
case 431: { action. consumeBaseSpecifier(true, true); break;
}
//
- // Rule 432: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name
+ // Rule 432: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name
//
- case 432: { action. consumeBaseSpecifier(true, true); break;
+ case 432: { action. consumeBaseSpecifier(true, false); break;
}
//
- // Rule 433: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name
+ // Rule 433: access_specifier_keyword ::= private
//
- case 433: { action. consumeBaseSpecifier(true, false); break;
+ case 433: { action. consumeToken(); break;
}
//
- // Rule 434: access_specifier_keyword ::= private
+ // Rule 434: access_specifier_keyword ::= protected
//
case 434: { action. consumeToken(); break;
}
//
- // Rule 435: access_specifier_keyword ::= protected
+ // Rule 435: access_specifier_keyword ::= public
//
case 435: { action. consumeToken(); break;
}
//
- // Rule 436: access_specifier_keyword ::= public
+ // Rule 437: access_specifier_keyword_opt ::= $Empty
//
- case 436: { action. consumeToken(); break;
+ case 437: { action. consumeEmpty(); break;
}
//
- // Rule 438: access_specifier_keyword_opt ::= $Empty
+ // Rule 439: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt >
//
- case 438: { action. consumeEmpty(); break;
+ case 439: { action. consumeTemplateId(); break;
}
//
- // Rule 440: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt >
+ // Rule 440: conversion_function_id ::= operator conversion_type_id
//
- case 440: { action. consumeTemplateId(); break;
+ case 440: { action. consumeConversionName(); break;
}
//
- // Rule 441: conversion_function_id ::= operator conversion_type_id
+ // Rule 441: conversion_type_id ::= type_specifier_seq conversion_declarator
//
- case 441: { action. consumeConversionName(); break;
+ case 441: { action. consumeTypeId(true); break;
}
//
- // Rule 442: conversion_type_id ::= type_specifier_seq conversion_declarator
+ // Rule 442: conversion_type_id ::= type_specifier_seq
//
- case 442: { action. consumeTypeId(true); break;
+ case 442: { action. consumeTypeId(false); break;
}
//
- // Rule 443: conversion_type_id ::= type_specifier_seq
+ // Rule 443: conversion_declarator ::= <openscope-ast> ptr_operator_seq
//
- case 443: { action. consumeTypeId(false); break;
+ case 443: { action. consumeDeclaratorWithPointer(false); break;
}
//
- // Rule 444: conversion_declarator ::= <openscope-ast> ptr_operator_seq
+ // Rule 449: mem_initializer ::= mem_initializer_name ( expression_list_opt )
//
- case 444: { action. consumeDeclaratorWithPointer(false); break;
+ case 449: { action. consumeConstructorChainInitializer(); break;
}
//
- // Rule 450: mem_initializer ::= mem_initializer_name ( expression_list_opt )
+ // Rule 450: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name
//
- case 450: { action. consumeConstructorChainInitializer(); break;
+ case 450: { action. consumeQualifiedId(false); break;
}
//
- // Rule 451: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name
+ // Rule 453: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt >
//
- case 451: { action. consumeQualifiedId(false); break;
+ case 453: { action. consumeTemplateId(); break;
}
//
- // Rule 454: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt >
+ // Rule 454: operator_id_name ::= operator overloadable_operator
//
- case 454: { action. consumeTemplateId(); break;
+ case 454: { action. consumeOperatorName(); break;
}
//
- // Rule 455: operator_id_name ::= operator overloadable_operator
+ // Rule 497: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration
//
- case 455: { action. consumeOperatorName(); break;
+ case 497: { action. consumeTemplateDeclaration(); break;
}
//
- // Rule 498: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration
+ // Rule 498: export_opt ::= export
//
- case 498: { action. consumeTemplateDeclaration(); break;
+ case 498: { action. consumePlaceHolder(); break;
}
//
- // Rule 499: export_opt ::= export
+ // Rule 499: export_opt ::= $Empty
//
- case 499: { action. consumePlaceHolder(); break;
+ case 499: { action. consumeEmpty(); break;
}
//
- // Rule 500: export_opt ::= $Empty
+ // Rule 503: template_parameter ::= parameter_declaration
//
- case 500: { action. consumeEmpty(); break;
+ case 503: { action. consumeTemplateParamterDeclaration(); break;
}
//
- // Rule 504: template_parameter ::= parameter_declaration
+ // Rule 504: type_parameter ::= class identifier_name_opt
//
- case 504: { action. consumeTemplateParamterDeclaration(); break;
+ case 504: { action. consumeSimpleTypeTemplateParameter(false); break;
}
//
- // Rule 505: type_parameter ::= class identifier_name_opt
+ // Rule 505: type_parameter ::= class identifier_name_opt = type_id
//
- case 505: { action. consumeSimpleTypeTemplateParameter(false); break;
+ case 505: { action. consumeSimpleTypeTemplateParameter(true); break;
}
//
- // Rule 506: type_parameter ::= class identifier_name_opt = type_id
+ // Rule 506: type_parameter ::= typename identifier_name_opt
//
- case 506: { action. consumeSimpleTypeTemplateParameter(true); break;
+ case 506: { action. consumeSimpleTypeTemplateParameter(false); break;
}
//
- // Rule 507: type_parameter ::= typename identifier_name_opt
+ // Rule 507: type_parameter ::= typename identifier_name_opt = type_id
//
- case 507: { action. consumeSimpleTypeTemplateParameter(false); break;
+ case 507: { action. consumeSimpleTypeTemplateParameter(true); break;
}
//
- // Rule 508: type_parameter ::= typename identifier_name_opt = type_id
+ // Rule 508: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt
//
- case 508: { action. consumeSimpleTypeTemplateParameter(true); break;
+ case 508: { action. consumeTemplatedTypeTemplateParameter(false); break;
}
//
- // Rule 509: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt
+ // Rule 509: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression
//
- case 509: { action. consumeTemplatedTypeTemplateParameter(false); break;
+ case 509: { action. consumeTemplatedTypeTemplateParameter(true); break;
}
//
- // Rule 510: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression
+ // Rule 510: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt >
//
- case 510: { action. consumeTemplatedTypeTemplateParameter(true); break;
+ case 510: { action. consumeTemplateId(); break;
}
//
- // Rule 511: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt >
+ // Rule 515: template_argument ::= assignment_expression
//
- case 511: { action. consumeTemplateId(); break;
+ case 515: { action. consumeTemplateArgumentExpression(); break;
}
//
- // Rule 516: template_argument ::= assignment_expression
+ // Rule 516: template_argument ::= type_id
//
- case 516: { action. consumeTemplateArgumentExpression(); break;
+ case 516: { action. consumeTemplateArgumentTypeId(); break;
}
//
- // Rule 517: template_argument ::= type_id
+ // Rule 517: explicit_instantiation ::= template declaration
//
- case 517: { action. consumeTemplateArgumentTypeId(); break;
+ case 517: { action. consumeTemplateExplicitInstantiation(); break;
}
//
- // Rule 518: explicit_instantiation ::= template declaration
+ // Rule 518: explicit_specialization ::= template < > declaration
//
- case 518: { action. consumeTemplateExplicitInstantiation(); break;
+ case 518: { action. consumeTemplateExplicitSpecialization(); break;
}
//
- // Rule 519: explicit_specialization ::= template < > declaration
+ // Rule 519: try_block ::= try compound_statement <openscope-ast> handler_seq
//
- case 519: { action. consumeTemplateExplicitSpecialization(); break;
+ case 519: { action. consumeStatementTryBlock(); break;
}
//
- // Rule 520: try_block ::= try compound_statement <openscope-ast> handler_seq
+ // Rule 522: handler ::= catch ( exception_declaration ) compound_statement
//
- case 520: { action. consumeStatementTryBlock(); break;
+ case 522: { action. consumeStatementCatchHandler(false); break;
}
//
- // Rule 523: handler ::= catch ( exception_declaration ) compound_statement
+ // Rule 523: handler ::= catch ( ... ) compound_statement
//
- case 523: { action. consumeStatementCatchHandler(false); break;
+ case 523: { action. consumeStatementCatchHandler(true); break;
}
//
- // Rule 524: handler ::= catch ( ... ) compound_statement
+ // Rule 524: exception_declaration ::= type_specifier_seq <openscope-ast> declarator
//
- case 524: { action. consumeStatementCatchHandler(true); break;
+ case 524: { action. consumeDeclarationSimple(true); break;
}
//
- // Rule 525: exception_declaration ::= type_specifier_seq <openscope-ast> declarator
+ // Rule 525: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator
//
case 525: { action. consumeDeclarationSimple(true); break;
}
//
- // Rule 526: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator
- //
- case 526: { action. consumeDeclarationSimple(true); break;
- }
-
- //
- // Rule 527: exception_declaration ::= type_specifier_seq
+ // Rule 526: exception_declaration ::= type_specifier_seq
//
- case 527: { action. consumeDeclarationSimple(false); break;
+ case 526: { action. consumeDeclarationSimple(false); break;
}
//
- // Rule 529: exception_specification ::= throw ( )
+ // Rule 528: exception_specification ::= throw ( )
//
- case 529: { action. consumePlaceHolder(); break;
+ case 528: { action. consumePlaceHolder(); break;
}
//
- // Rule 535: no_sizeof_type_name_start ::= ERROR_TOKEN
+ // Rule 534: no_sizeof_type_name_start ::= ERROR_TOKEN
//
- case 535: { action. consumeExpressionProblem(); break;
+ case 534: { action. consumeExpressionProblem(); break;
}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParserprs.java
index ce8710f651d..c34b4f634fe 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParserprs.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParserprs.java
@@ -29,7 +29,7 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0
+ 0,0
};
};
public final static byte isKeyword[] = IsKeyword.isKeyword;
@@ -39,491 +39,491 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public final static short baseCheck[] = {0,
0,0,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,3,1,1,1,1,1,
- 1,1,1,2,2,1,1,0,1,0,
- 4,2,3,2,3,2,2,1,0,1,
- 1,4,4,4,8,8,3,3,4,4,
- 3,3,2,2,7,7,7,7,4,5,
- 6,3,2,2,1,1,1,2,2,2,
- 2,2,2,2,2,2,7,9,3,0,
- 1,2,2,1,2,3,4,1,0,3,
- 1,0,3,5,1,4,1,3,3,1,
- 3,3,3,1,3,3,1,3,3,1,
- 3,3,3,3,1,3,3,1,3,1,
- 3,1,3,1,3,1,3,1,5,1,
- 2,1,1,3,3,3,3,3,3,3,
- 3,3,3,3,1,2,1,3,1,0,
- 1,0,1,1,0,1,1,1,1,1,
- 1,1,1,1,3,4,3,2,1,4,
- 2,1,2,5,7,5,1,4,1,0,
- 5,7,8,1,1,2,2,3,2,3,
+ 1,1,1,3,1,1,1,1,1,1,
+ 1,1,2,2,1,1,0,1,0,4,
+ 2,3,2,3,2,2,1,0,1,1,
+ 4,4,4,8,8,3,3,4,4,3,
+ 3,2,2,7,7,7,7,4,5,6,
+ 3,2,2,1,1,1,2,2,2,2,
+ 2,2,2,2,2,7,9,3,0,1,
+ 2,2,1,2,3,4,1,0,3,1,
+ 0,3,5,1,4,1,3,3,1,3,
+ 3,3,1,3,3,1,3,3,1,3,
+ 3,3,3,1,3,3,1,3,1,3,
+ 1,3,1,3,1,3,1,5,1,2,
+ 1,1,3,3,3,3,3,3,3,3,
+ 3,3,3,1,2,1,3,1,0,1,
+ 0,1,1,0,1,1,1,1,1,1,
+ 1,1,1,3,4,3,2,1,4,2,
+ 1,2,5,7,5,1,4,1,0,5,
+ 7,8,1,1,2,2,3,2,3,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,2,1,0,4,
- 4,2,2,2,2,2,1,0,1,1,
- 1,1,1,1,2,1,2,2,2,1,
- 1,2,2,1,2,2,1,2,2,1,
- 2,2,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,2,1,0,4,4,
+ 2,2,2,2,2,1,0,1,1,1,
+ 1,1,1,2,1,2,2,2,1,1,
+ 2,2,1,2,2,1,2,2,1,2,
+ 2,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,3,4,4,5,2,5,6,
- 5,0,6,7,0,1,3,1,0,1,
- 3,1,1,1,6,5,7,6,1,0,
- 6,5,6,4,1,3,1,0,1,1,
- 2,1,1,3,1,3,1,1,1,1,
- 3,9,2,2,3,2,4,2,6,0,
- 1,2,2,1,0,1,1,1,3,1,
- 2,1,1,2,3,1,1,1,3,2,
- 1,2,2,9,8,2,1,3,1,3,
- 1,0,1,0,2,1,1,3,1,3,
- 2,1,5,8,1,2,3,1,7,6,
- 3,0,0,1,3,1,1,5,6,6,
- 7,7,0,0,1,0,1,1,1,2,
- 4,2,2,1,5,1,1,1,1,1,
- 1,1,2,1,0,1,3,1,1,2,
- 3,2,1,2,2,1,0,1,3,3,
- 5,5,4,1,1,1,1,0,1,5,
- 2,2,1,2,2,1,0,1,3,4,
- 3,1,1,5,2,1,1,3,3,1,
+ 1,1,3,4,4,5,2,5,6,5,
+ 0,6,7,0,1,3,1,0,1,3,
+ 1,1,1,6,5,7,6,1,0,6,
+ 5,6,4,1,3,1,0,1,1,2,
+ 1,1,3,1,3,1,1,1,1,3,
+ 9,2,2,3,2,4,2,6,0,1,
+ 2,2,1,0,1,1,1,3,1,2,
+ 1,1,2,3,1,1,1,3,2,1,
+ 2,2,9,8,2,1,3,1,3,1,
+ 0,1,0,2,1,1,3,1,3,2,
+ 1,5,8,1,2,3,1,7,6,3,
+ 0,0,1,3,1,1,5,6,6,7,
+ 7,0,0,1,0,1,1,1,2,4,
+ 2,2,1,5,1,1,1,1,1,1,
+ 1,2,1,0,1,3,1,1,2,3,
+ 2,1,2,2,1,0,1,3,3,5,
+ 5,4,1,1,1,1,0,1,5,2,
+ 2,1,2,2,1,0,1,3,4,3,
+ 1,1,5,2,1,1,3,3,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,2,2,7,1,0,
- 1,3,1,1,2,4,2,4,7,9,
- 5,1,3,1,0,1,1,2,4,4,
- 1,2,5,5,3,3,1,4,3,1,
- 0,1,3,1,1,-62,0,0,0,-2,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-4,0,
- 0,0,0,0,-5,0,0,0,0,0,
- -223,0,0,-396,0,0,0,0,-71,0,
- 0,0,-261,0,0,0,0,0,0,0,
- 0,-368,-112,-88,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-219,0,0,0,
- 0,0,0,0,0,-190,0,0,0,-79,
- 0,0,0,0,0,0,0,0,0,0,
+ 1,1,1,1,2,2,7,1,0,1,
+ 3,1,1,2,4,2,4,7,9,5,
+ 1,3,1,0,1,1,2,4,4,1,
+ 2,5,5,3,3,1,4,3,1,0,
+ 1,3,1,1,-62,0,0,0,-2,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-10,
- -286,-237,0,0,0,0,-72,0,0,0,
+ 0,0,0,0,0,0,0,-4,0,0,
+ 0,0,0,-5,0,0,0,0,0,-223,
+ 0,0,-396,0,0,0,0,-71,0,0,
+ 0,-261,0,0,0,0,0,0,0,0,
+ -368,-112,-88,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-114,0,
+ 0,0,0,0,0,-219,0,0,0,0,
+ 0,0,0,0,-190,0,0,0,-79,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-10,-286,
+ -237,0,0,0,0,-72,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-253,0,0,0,0,0,-49,0,0,
- 0,0,-6,0,-531,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-114,0,0,
0,0,0,0,0,0,0,0,0,0,
- -115,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-415,
- 0,0,0,0,0,-358,0,0,-126,0,
- 0,0,0,0,-145,0,-7,0,0,-53,
- 0,0,-270,0,0,0,-16,0,0,0,
- -8,0,0,0,0,0,0,-187,0,0,
- 0,0,0,0,-130,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ -253,0,0,0,0,0,-49,0,0,0,
+ 0,-6,0,-531,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-115,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-121,0,0,0,0,0,-9,
- 0,0,0,-204,-50,0,0,0,0,0,
- -146,0,0,0,-11,-374,0,0,0,0,
- 0,0,0,-65,0,0,-218,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-415,0,
+ 0,0,0,0,-358,0,0,-126,0,0,
+ 0,0,0,-145,0,-7,0,0,-53,0,
+ 0,-270,0,0,0,-16,0,0,0,-8,
+ 0,0,0,0,0,0,-187,0,0,0,
+ 0,0,0,-130,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-136,
- 0,-400,0,0,0,0,0,0,0,0,
- 0,0,-148,0,0,0,0,0,0,0,
- 0,0,0,0,0,-457,0,0,0,-207,
- 0,0,0,-354,0,0,0,0,0,-506,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,-121,0,0,0,0,0,-9,0,
+ 0,0,-204,-50,0,0,0,0,0,-146,
+ 0,0,0,-11,-374,0,0,0,0,0,
+ 0,0,-65,0,0,-218,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-240,0,0,
- 0,0,-530,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-136,0,
+ -400,0,0,0,0,0,0,0,0,0,
+ 0,-148,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-457,0,0,0,-207,0,
+ 0,0,-354,0,0,0,0,0,-506,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-12,0,0,0,0,
- 0,-379,0,0,0,0,0,-13,0,0,
- 0,0,0,0,0,-186,-329,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-188,
- 0,-462,0,0,0,0,-1,0,0,-256,
- 0,-15,-437,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-240,0,0,0,
+ 0,-530,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-12,0,0,0,0,0,
+ -379,0,0,0,0,0,-13,0,0,0,
+ 0,0,0,0,-186,-329,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-42,0,0,0,0,
- 0,-3,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-188,0,
+ -462,0,0,0,0,-1,0,0,-256,0,
+ -15,-437,0,0,0,0,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,-28,0,0,-177,
- 0,0,0,0,-106,0,0,0,-29,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-345,0,0,
- 0,0,0,-51,0,0,0,0,0,-30,
- 0,0,-274,0,0,0,-54,0,0,0,
+ 0,0,0,0,-42,0,0,0,0,0,
+ -3,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-137,
+ 0,0,0,0,0,-28,0,0,-177,0,
+ 0,0,0,-106,0,0,0,-29,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-57,0,0,0,0,0,-302,0,0,
- 0,0,0,0,0,-150,0,0,0,-31,
- 0,0,0,0,0,0,0,0,-18,0,
- 0,0,-317,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-345,0,0,0,
+ 0,0,-51,0,0,0,0,0,-30,0,
+ 0,-274,0,0,0,-54,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-32,0,0,0,0,
- 0,0,0,0,0,-119,0,-277,0,0,
- -340,0,0,0,0,-385,-318,0,0,0,
- -33,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-411,
- 0,-278,0,0,-271,0,0,0,0,-39,
- 0,0,0,-34,0,0,0,0,0,0,
+ -57,0,0,0,0,0,-302,0,0,0,
+ 0,0,0,0,-150,0,0,0,-31,0,
+ 0,0,0,0,0,0,0,-18,0,0,
+ 0,-317,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-32,0,0,0,0,0,
+ 0,0,0,0,-119,0,-277,0,0,-340,
+ 0,0,0,0,-385,-318,0,0,0,-33,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-491,0,-35,0,0,-59,0,0,
- 0,0,-373,-41,0,0,0,-60,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-411,0,
+ -278,0,0,-271,0,0,0,0,-39,0,
+ 0,0,-34,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-529,0,-64,0,
- 0,0,0,0,0,0,-94,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,-491,0,-35,0,0,-59,0,0,0,
+ 0,-373,-41,0,0,0,-60,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-184,0,0,0,0,-342,0,0,-95,
- 0,0,0,-107,0,0,0,0,0,0,
+ 0,0,0,0,0,-529,0,-64,0,0,
+ 0,0,0,0,0,-94,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-36,0,0,0,0,0,0,0,
- 0,0,-535,0,0,0,0,0,0,-361,
- 0,0,-96,0,0,0,-37,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-38,0,0,0,0,
- 0,0,0,0,0,-40,0,0,0,0,
- -128,0,-55,0,0,-97,0,0,0,-113,
0,0,0,0,0,0,0,0,0,0,
+ -184,0,0,0,0,-342,0,0,-95,0,
+ 0,0,-107,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-198,0,0,0,0,0,
- -382,0,0,0,0,0,0,0,-98,0,
- 0,0,-151,0,0,0,0,0,0,0,
+ 0,-36,0,0,0,0,0,0,0,0,
+ 0,-535,0,0,0,0,0,0,-361,0,
+ 0,-96,0,0,0,-37,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-56,0,0,0,0,0,-203,0,0,
- 0,0,0,0,0,0,-129,0,-66,0,
- 0,-99,0,0,0,-196,0,0,0,0,
+ 0,0,0,0,-38,0,0,0,0,0,
+ 0,0,0,0,-40,0,0,0,0,-128,
+ 0,-55,0,0,-97,0,0,0,-113,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -220,0,0,0,0,0,-392,0,0,-143,
- 0,0,0,0,-100,0,0,0,-205,0,
+ 0,0,0,-198,0,0,0,0,0,-382,
+ 0,0,0,0,0,0,0,-98,0,0,
+ 0,-151,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-254,0,0,
- 0,0,0,-228,0,0,0,0,0,0,
- 0,0,-152,0,-67,0,0,-101,0,0,
- 0,-232,0,0,0,0,0,0,0,0,
+ -56,0,0,0,0,0,-203,0,0,0,
+ 0,0,0,0,0,-129,0,-66,0,0,
+ -99,0,0,0,-196,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -69,0,0,0,0,0,-266,0,0,0,
- 0,0,0,0,0,-194,0,-70,0,0,
- -102,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-220,
+ 0,0,0,0,0,-392,0,0,-143,0,
+ 0,0,0,-100,0,0,0,-205,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-313,0,0,0,0,0,-267,
- 0,0,0,0,0,0,0,0,-108,-445,
- -109,0,0,-103,0,0,0,-239,0,0,
+ 0,0,0,0,0,0,-254,0,0,0,
+ 0,0,-228,0,0,0,0,0,0,0,
+ 0,-152,0,-67,0,0,-101,0,0,0,
+ -232,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-69,
+ 0,0,0,0,0,-266,0,0,0,0,
+ 0,0,0,0,-194,0,-70,0,0,-102,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-352,0,0,0,
- 0,0,-269,0,0,0,0,0,0,0,
- 0,-227,0,-475,0,0,-104,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-383,
- 0,0,0,0,0,-273,0,0,0,0,
- 0,0,0,0,-299,-200,-110,0,0,-134,
+ 0,0,-313,0,0,0,0,0,-267,0,
+ 0,0,0,0,0,0,0,-108,-445,-109,
+ 0,0,-103,0,0,0,-239,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-352,0,0,0,0,
+ 0,-269,0,0,0,0,0,0,0,0,
+ -227,0,-475,0,0,-104,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-285,0,
- 0,0,0,0,0,0,0,-211,0,0,
- 0,-111,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-383,0,
+ 0,0,0,0,-273,0,0,0,0,0,
+ 0,0,0,-299,-200,-110,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,-398,0,0,-141,0,0,0,0,
- 0,0,0,-185,0,0,0,-524,0,0,
+ 0,0,0,0,0,0,0,-285,0,0,
+ 0,0,0,0,0,0,-211,0,0,0,
+ -111,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,-398,0,0,-141,0,0,0,0,0,
+ 0,0,-185,0,0,0,-524,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -330,0,-131,0,0,-471,0,0,0,0,
- -343,0,0,0,-360,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-138,0,0,0,0,0,-295,
- 0,0,0,0,0,0,0,0,-353,0,
+ 0,0,0,0,0,0,0,0,0,-330,
+ 0,-131,0,0,-471,0,0,0,0,-343,
+ 0,0,0,-360,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,-138,0,0,0,0,0,-295,0,
+ 0,0,0,0,0,0,0,-353,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-298,0,0,
- 0,0,0,0,0,0,-333,0,0,0,
- -461,0,0,0,0,0,0,0,-377,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-298,0,0,0,
+ 0,0,0,0,0,-333,0,0,0,-461,
+ 0,0,0,0,0,0,0,-377,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-139,0,0,0,0,0,-303,0,0,
- 0,0,0,-414,0,0,-378,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-296,
- 0,0,0,0,0,-307,0,0,0,0,
- 0,0,0,0,-372,0,0,0,-140,-153,
- 0,0,0,0,0,-154,-448,0,0,0,
+ -139,0,0,0,0,0,-303,0,0,0,
+ 0,0,-414,0,0,-378,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-439,
- 0,0,0,0,0,-308,0,0,0,0,
- 0,0,0,0,-93,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-296,0,
+ 0,0,0,0,-307,0,0,0,0,0,
+ 0,0,0,-372,0,0,0,-140,-153,0,
+ 0,0,0,0,-154,-448,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-439,0,
+ 0,0,0,0,-308,0,0,0,0,0,
+ 0,0,0,-93,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-319,0,0,0,0,0,0,
- -312,0,-362,-123,-408,0,0,0,-393,-290,
- -428,0,0,0,-91,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,-319,0,0,0,0,0,0,-312,
+ 0,-362,-123,-408,0,0,0,-393,-290,-428,
+ 0,0,0,-91,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-92,0,0,0,
- -155,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-389,0,0,
+ 0,0,0,0,0,-92,0,0,0,-155,
0,0,0,0,0,0,0,0,0,0,
- -89,0,0,0,-210,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-156,0,0,0,0,-47,0,
- 0,0,0,-135,0,-246,-297,0,-48,-224,
- -157,0,0,-117,0,0,0,0,-158,-159,
- 0,0,-375,0,0,-160,0,0,-397,0,
- 0,0,-161,0,0,0,0,0,0,0,
- 0,0,0,-90,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-389,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-89,
+ 0,0,0,-210,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,-156,0,0,0,0,-47,0,0,
+ 0,0,-135,0,-246,-297,0,-48,-224,-157,
+ 0,0,-117,0,0,0,0,-158,-159,0,
+ 0,-375,0,0,-160,0,0,-397,0,0,
+ 0,-161,0,0,0,0,0,0,0,0,
+ 0,0,-90,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-331,-61,-264,0,-118,0,0,-265,
- 0,0,0,-234,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-127,0,0,0,
- -58,0,0,0,0,-73,-458,-162,0,0,
- 0,-327,-280,0,0,0,0,0,0,0,
- 0,0,0,0,0,-163,0,-309,0,0,
- -247,0,0,0,0,0,0,0,0,0,
- 0,-258,0,0,0,0,-310,0,0,0,
- -248,-249,0,0,0,0,0,0,0,0,
- -176,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-164,
- -120,0,0,0,0,0,0,0,0,-304,
+ 0,-331,-61,-264,0,-118,0,0,-265,0,
+ 0,0,-234,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-165,-166,0,0,0,0,-82,
+ 0,0,0,0,0,-127,0,0,0,-58,
+ 0,0,0,0,-73,-458,-162,0,0,0,
+ -327,-280,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-163,0,-309,0,0,-247,
0,0,0,0,0,0,0,0,0,0,
+ -258,0,0,0,0,-310,0,0,0,-248,
+ -249,0,0,0,0,0,0,0,0,-176,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-483,0,0,0,0,0,0,-427,
+ 0,0,0,0,0,0,0,0,-164,-120,
+ 0,0,0,0,0,0,0,0,-304,0,
0,0,0,0,0,0,0,0,0,0,
- -167,0,0,0,0,0,0,0,0,-325,
- -321,0,-335,0,-168,0,0,0,0,0,
- 0,0,-169,-170,-171,-83,0,0,0,0,
+ 0,0,-165,-166,0,0,0,0,-82,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-84,0,0,0,-172,0,0,0,
+ 0,-483,0,0,0,0,0,0,-427,0,
+ 0,0,0,0,0,0,0,0,0,-167,
+ 0,0,0,0,0,0,0,0,-325,-321,
+ 0,-335,0,-168,0,0,0,0,0,0,
+ 0,-169,-170,-171,-83,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-77,
- 0,0,0,-173,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-406,0,0,0,0,0,-438,0,
+ 0,-84,0,0,0,-172,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-441,0,0,-85,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-77,0,
+ 0,0,-173,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-426,0,0,
- 0,0,-197,-351,-174,-175,0,0,0,0,
- 0,0,-178,0,0,-179,0,0,0,-193,
- 0,0,0,-180,0,0,0,-430,0,0,
- 0,-183,-191,-407,0,0,0,0,0,-464,
+ 0,-406,0,0,0,0,0,-438,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-446,0,-283,-505,0,0,-68,-436,0,
- 0,0,0,0,-192,0,0,0,0,0,
- 0,0,0,0,0,0,0,-122,-450,-418,
- 0,0,0,0,0,-195,0,0,0,0,
- 0,0,0,0,0,-349,0,0,0,0,
+ -441,0,0,-85,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -124,-206,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-523,0,0,0,
+ 0,0,0,0,0,0,-426,0,0,0,
+ 0,-197,-351,-174,-175,0,0,0,0,0,
+ 0,-178,0,0,-179,0,0,0,-193,0,
+ 0,0,-180,0,0,0,-430,0,0,0,
+ -183,-191,-407,0,0,0,0,0,-464,0,
0,0,0,0,0,0,0,0,0,0,
- -293,-52,0,0,0,-236,0,-294,-216,0,
- -324,0,0,0,0,0,0,0,0,0,
- 0,0,0,-217,0,0,0,0,0,-225,
- -233,0,0,-14,0,0,0,0,-465,0,
- 0,0,0,-181,0,0,0,-235,0,0,
- 0,-142,0,0,0,0,0,0,0,0,
- -243,0,0,0,0,0,0,0,0,0,
- 0,0,-337,0,0,0,0,-252,0,0,
- 0,0,0,-257,0,0,-259,0,0,0,
- 0,-468,-260,-275,0,0,0,0,-350,0,
- 0,-518,-276,0,0,0,0,0,-287,-291,
- 0,0,0,-222,0,0,0,-292,0,0,
- 0,0,0,-231,0,0,0,-19,0,0,
+ -446,0,-283,-505,0,0,-68,-436,0,0,
+ 0,0,0,-192,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-122,-450,-418,0,
+ 0,0,0,0,-195,0,0,0,0,0,
+ 0,0,0,0,-349,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-124,
+ -206,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-523,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-293,
+ -52,0,0,0,-236,0,-294,-216,0,-324,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,-217,0,0,0,0,0,-225,-233,
+ 0,0,-14,0,0,0,0,-465,0,0,
+ 0,0,-181,0,0,0,-235,0,0,0,
+ -142,0,0,0,0,0,0,0,0,-243,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-86,0,0,0,0,0,
+ 0,-337,0,0,0,0,-252,0,0,0,
+ 0,0,-257,0,0,-259,0,0,0,0,
+ -468,-260,-275,0,0,0,0,-350,0,0,
+ -518,-276,0,0,0,0,0,-287,-291,0,
+ 0,0,-222,0,0,0,-292,0,0,0,
+ 0,0,-231,0,0,0,-19,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-322,0,0,
- -87,0,0,0,-459,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-455,0,0,-339,0,0,0,
- 0,-323,0,-355,0,0,0,0,-230,0,
- 0,-43,0,-300,-359,0,0,0,-301,0,
- -116,-133,0,-306,0,0,0,-209,0,0,
- 0,0,0,0,0,-320,0,0,0,0,
- 0,0,0,0,0,0,0,-478,0,0,
- -314,0,-507,0,0,0,0,-315,0,0,
- 0,0,0,0,0,0,0,0,0,-386,
- 0,-460,0,0,0,0,0,0,0,-149,
- 0,0,0,-326,-344,0,0,0,-367,0,
+ 0,0,0,-86,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-480,0,-346,0,0,0,0,0,0,
- 0,0,0,0,-147,0,0,0,0,0,
- 0,0,0,0,0,0,-241,-473,0,-417,
- 0,0,-363,0,-366,0,-472,0,0,0,
- 0,0,0,-226,0,0,0,0,0,0,
- 0,0,0,0,0,-497,0,-388,-289,0,
- 0,0,-420,0,0,0,0,0,-242,0,
- 0,0,0,0,0,0,0,-144,0,0,
- 0,0,-486,0,0,0,0,0,-238,0,
- 0,0,0,0,0,0,-463,0,-381,0,
- 0,0,0,0,0,0,0,0,0,-511,
- 0,-390,0,0,-391,0,-244,0,0,0,
+ 0,0,0,0,0,0,-322,0,0,-87,
+ 0,0,0,-459,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -466,0,0,0,-245,0,0,0,0,-394,
- 0,-229,0,0,0,-395,-44,0,0,0,
- 0,0,0,0,-401,0,0,0,0,0,
- 0,0,0,-513,0,0,-356,0,0,0,
- 0,-403,-387,-409,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-416,-423,0,
- -424,0,0,-447,0,0,-449,0,-451,-452,
- 0,0,0,0,-282,0,0,0,0,0,
- 0,0,0,0,0,0,0,-453,0,-279,
- 0,0,0,-338,0,0,0,0,-521,0,
- -454,0,0,0,0,0,0,0,-515,0,
+ 0,0,-455,0,0,-339,0,0,0,0,
+ -323,0,-355,0,0,0,0,-230,0,0,
+ -43,0,-300,-359,0,0,0,-301,0,-116,
+ -133,0,-306,0,0,0,-209,0,0,0,
+ 0,0,0,0,-320,0,0,0,0,0,
+ 0,0,0,0,0,0,-478,0,0,-314,
+ 0,-507,0,0,0,0,-315,0,0,0,
+ 0,0,0,0,0,0,0,0,-386,0,
+ -460,0,0,0,0,0,0,0,-149,0,
+ 0,0,-326,-344,0,0,0,-367,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-456,0,0,-410,-481,0,0,0,0,
- -413,-422,0,0,0,0,0,0,0,-474,
- -517,0,0,0,0,0,-476,-469,0,0,
- -268,0,0,0,0,-425,-467,-470,-45,0,
+ -480,0,-346,0,0,0,0,0,0,0,
+ 0,0,0,-147,0,0,0,0,0,0,
+ 0,0,0,0,0,-241,-473,0,-417,0,
+ 0,-363,0,-366,0,-472,0,0,0,0,
+ 0,0,-226,0,0,0,0,0,0,0,
+ 0,0,0,0,-497,0,-388,-289,0,0,
+ 0,-420,0,0,0,0,0,-242,0,0,
+ 0,0,0,0,0,0,-144,0,0,0,
+ 0,-486,0,0,0,0,0,-238,0,0,
+ 0,0,0,0,0,-463,0,-381,0,0,
+ 0,0,0,0,0,0,0,0,-511,0,
+ -390,0,0,-391,0,-244,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-466,
+ 0,0,0,-245,0,0,0,0,-394,0,
+ -229,0,0,0,-395,-44,0,0,0,0,
+ 0,0,0,-401,0,0,0,0,0,0,
+ 0,0,-513,0,0,-356,0,0,0,0,
+ -403,-387,-409,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-416,-423,0,-424,
+ 0,0,-447,0,0,-449,0,-451,-452,0,
+ 0,0,0,-282,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-453,0,-279,0,
+ 0,0,-338,0,0,0,0,-521,0,-454,
+ 0,0,0,0,0,0,0,-515,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-477,-347,0,0,0,0,0,
- 0,0,0,-479,0,-487,0,0,0,0,
- 0,0,0,0,-498,0,-74,-250,-532,-484,
- 0,0,0,0,-488,-495,0,0,0,0,
- 0,0,0,0,0,0,-46,0,0,0,
- 0,0,-494,0,-503,0,0,0,0,0,
- 0,0,0,0,-522,0,0,0,0,0,
- -384,0,0,0,0,0,0,0,0,0,
- 0,0,-537,0,0,-399,0,-512,-526,-251,
+ -456,0,0,-410,-481,0,0,0,0,-413,
+ -422,0,0,0,0,0,0,0,-474,-517,
+ 0,0,0,0,0,-476,-469,0,0,-268,
+ 0,0,0,0,-425,-467,-470,-45,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-489,0,-493,-520,
- 0,0,0,0,0,-525,-536,0,0,0,
+ 0,0,-477,-347,0,0,0,0,0,0,
+ 0,0,-479,0,-487,0,0,0,0,0,
+ 0,0,0,-498,0,-74,-250,-532,-484,0,
+ 0,0,0,-488,-495,0,0,0,0,0,
+ 0,0,0,0,0,-46,0,0,0,0,
+ 0,-494,0,-503,0,0,0,0,0,0,
+ 0,0,0,-522,0,0,0,0,0,-384,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-371,0,
- 0,0,0,-272,0,0,0,-316,0,0,
- 0,0,0,0,0,0,0,-78,0,0,
+ 0,-537,0,0,-399,0,-512,-526,-251,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-489,0,-493,-520,0,
+ 0,0,0,0,-525,-536,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-80,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-371,0,0,
+ 0,0,-272,0,0,0,-316,0,0,0,
+ 0,0,0,0,0,0,-78,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-81,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-334,0,
- -105,-502,0,-492,0,0,-510,-202,-370,0,
- 0,0,0,0,-212,0,0,0,0,0,
- 0,0,-284,0,0,0,-514,-527,0,0,
- 0,0,-500,-213,-214,0,0,0,0,0,
+ 0,-80,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-81,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-281,0,0,0,
+ 0,0,0,0,0,0,0,-334,0,-105,
+ -502,0,-492,0,0,-510,-202,-370,0,0,
+ 0,0,0,-212,0,0,0,0,0,0,
+ 0,-284,0,0,0,-514,-527,0,0,0,
+ 0,-500,-213,-214,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-534,0,0,0,-376,0,0,0,0,
- 0,0,0,0,0,0,0,0,-182,0,
- 0,0,0,0,0,-435,-348,0,0,0,
- 0,0,0,0,0,-341,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-504,
- -508,0,-509,-189,0,0,0,-199,0,0,
+ 0,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,0,-519,
0,0,0,0,0,0,0,0,0,0,
+ -534,0,0,0,-376,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-182,0,0,
+ 0,0,0,0,-435,-348,0,0,0,0,
+ 0,0,0,0,-341,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-504,-508,
+ 0,-509,-189,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,-519,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-20,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-311,0,0,0,0,0,
- 0,0,-21,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-528,0,0,0,0,0,
- 0,0,0,-22,0,0,0,0,0,0,
+ 0,-20,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-23,0,0,0,0,
+ 0,0,0,-311,0,0,0,0,0,0,
+ 0,-21,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-24,0,0,
+ 0,0,0,-528,0,0,0,0,0,0,
+ 0,0,-22,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-25,
+ 0,0,0,0,-23,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-24,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-26,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-25,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-27,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-63,0,0,0,0,
+ -26,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-75,0,0,
+ 0,0,-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,-76,
+ 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,-75,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-132,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-76,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-201,0,0,0,-533,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-336,-215,0,-288,0,
- 0,0,0,0,0,-364,0,-328,0,0,
- -429,0,0,0,0,-369,-332,0,0,0,
- 0,0,0,0,0,0,-496,0,0,0,
+ -132,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,-201,0,0,0,-533,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-336,-215,0,-288,0,0,
+ 0,0,0,0,-364,0,-328,0,0,-429,
+ 0,0,0,0,-369,-332,0,0,0,0,
+ 0,0,0,0,0,-496,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-412,0,
- 0,0,0,0,0,0,-404,0,-421,0,
- 0,0,0,-516,0,0,0,0,-442,-357,
- 0,0,0,0,0,0,0,0,0,-434,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-412,0,0,
+ 0,0,0,0,0,-404,0,-421,0,0,
+ 0,0,-516,0,0,0,0,-442,-357,0,
+ 0,0,0,0,0,0,0,0,-434,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,0,0,0,0,0,0,
- 0,0,0,0,0,-380,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,-125,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-380,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-402,0,0,0,0,
+ -125,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -499,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-221,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-402,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-499,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-221,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-262,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-365,0,0,0,0,0,0,0,
- 0,0,0,0,0,-405,0,0,0,0,
- 0,0,-263,0,0,0,0,0,0,0,
- -419,0,0,0,-431,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-432,0,0,0,0,0,0,0,0,
+ 0,-262,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,-365,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-405,0,0,0,0,0,
+ 0,-263,0,0,0,0,0,0,0,-419,
+ 0,0,0,-431,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-443,0,0,0,0,
- 0,0,-501,0,0,0,0,0,0,0,
+ -432,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -440,0,0,0,0,0,-17,0,-482,-444,
- 0,0,0,0,0,-208,0,0,0,0,
- 0,0,-255,0,0,0,0,0,0,0,
- 0,0,0,0,-433,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-443,0,0,0,0,0,
+ 0,-501,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-440,
+ 0,0,0,0,0,-17,0,-482,-444,0,
+ 0,0,0,0,-208,0,0,0,0,0,
+ 0,-255,0,0,0,0,0,0,0,0,
+ 0,0,0,-433,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -485,0,0,0,0,0,0,0,-490,0,
+ 0,0,0,0,0,0,0,0,0,-485,
+ 0,0,0,0,0,0,0,-490,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
@@ -540,7 +540,7 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0
+ 0,0,0
};
};
public final static short baseCheck[] = BaseCheck.baseCheck;
@@ -552,544 +552,544 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public final static char baseAction[] = {
174,4,136,83,83,35,35,67,67,38,
38,40,40,200,1,1,15,15,15,15,
- 15,15,15,15,16,16,16,14,11,11,
- 6,6,6,6,6,6,2,65,65,5,
- 5,12,12,44,44,137,137,138,56,56,
- 43,17,17,17,17,17,17,17,17,17,
+ 15,15,15,16,16,16,14,11,11,6,
+ 6,6,6,6,6,2,65,65,5,5,
+ 12,12,44,44,137,137,138,56,56,43,
17,17,17,17,17,17,17,17,17,17,
- 139,139,139,115,115,18,18,18,18,18,
- 18,18,18,18,18,18,18,19,19,175,
- 175,176,176,177,142,142,143,143,140,140,
- 144,141,141,20,20,21,21,22,22,22,
- 24,24,24,24,25,25,25,26,26,26,
- 27,27,27,27,27,28,28,28,30,30,
- 31,31,32,32,34,34,36,36,37,37,
- 42,42,41,41,41,41,41,41,41,41,
- 41,41,41,41,41,39,29,145,145,97,
- 97,178,178,92,201,201,68,68,68,68,
- 68,68,68,68,68,69,69,69,66,66,
- 55,55,179,179,70,70,70,103,103,180,
- 180,71,71,71,181,181,72,72,72,72,
- 72,73,73,84,84,84,84,84,84,84,
- 84,49,49,49,49,49,116,116,114,114,
- 50,182,23,23,23,23,23,48,48,87,
- 87,87,87,87,152,152,147,147,147,147,
- 147,148,148,148,149,149,149,150,150,150,
- 151,151,151,88,88,88,88,88,89,89,
- 89,13,13,13,13,13,13,13,13,13,
- 13,13,98,120,120,120,120,120,120,118,
- 118,118,153,119,119,183,155,155,154,154,
- 122,122,104,79,79,80,81,52,47,156,
- 156,53,51,86,86,157,157,146,146,123,
- 124,124,125,76,76,158,158,63,63,63,
- 59,59,58,64,64,75,75,57,57,57,
- 54,90,90,100,99,99,62,62,60,60,
- 61,61,45,101,101,101,93,93,93,94,
- 94,95,95,95,96,96,105,105,105,107,
- 107,106,106,202,202,91,91,185,185,185,
- 185,185,127,46,46,160,184,184,128,128,
- 128,128,129,162,186,186,33,33,117,130,
- 130,130,130,188,109,108,108,121,121,121,
- 163,164,164,164,164,164,164,164,164,164,
- 164,164,190,190,187,187,189,189,165,166,
- 166,166,166,167,191,111,110,110,192,192,
- 168,168,168,168,102,102,102,193,193,8,
- 8,9,194,194,195,169,159,159,170,170,
- 171,172,172,7,7,10,196,196,196,196,
+ 17,17,17,17,17,17,17,17,17,139,
+ 139,139,115,115,18,18,18,18,18,18,
+ 18,18,18,18,18,18,19,19,175,175,
+ 176,176,177,142,142,143,143,140,140,144,
+ 141,141,20,20,21,21,22,22,22,24,
+ 24,24,24,25,25,25,26,26,26,27,
+ 27,27,27,27,28,28,28,30,30,31,
+ 31,32,32,34,34,36,36,37,37,42,
+ 42,41,41,41,41,41,41,41,41,41,
+ 41,41,41,41,39,29,145,145,97,97,
+ 178,178,92,201,201,68,68,68,68,68,
+ 68,68,68,68,69,69,69,66,66,55,
+ 55,179,179,70,70,70,103,103,180,180,
+ 71,71,71,181,181,72,72,72,72,72,
+ 73,73,84,84,84,84,84,84,84,84,
+ 49,49,49,49,49,116,116,114,114,50,
+ 182,23,23,23,23,23,48,48,87,87,
+ 87,87,87,152,152,147,147,147,147,147,
+ 148,148,148,149,149,149,150,150,150,151,
+ 151,151,88,88,88,88,88,89,89,89,
+ 13,13,13,13,13,13,13,13,13,13,
+ 13,98,120,120,120,120,120,120,118,118,
+ 118,153,119,119,183,155,155,154,154,122,
+ 122,104,79,79,80,81,52,47,156,156,
+ 53,51,86,86,157,157,146,146,123,124,
+ 124,125,76,76,158,158,63,63,63,59,
+ 59,58,64,64,75,75,57,57,57,54,
+ 90,90,100,99,99,62,62,60,60,61,
+ 61,45,101,101,101,93,93,93,94,94,
+ 95,95,95,96,96,105,105,105,107,107,
+ 106,106,202,202,91,91,185,185,185,185,
+ 185,127,46,46,160,184,184,128,128,128,
+ 128,129,162,186,186,33,33,117,130,130,
+ 130,130,188,109,108,108,121,121,121,163,
+ 164,164,164,164,164,164,164,164,164,164,
+ 164,190,190,187,187,189,189,165,166,166,
+ 166,166,167,191,111,110,110,192,192,168,
+ 168,168,168,102,102,102,193,193,8,8,
+ 9,194,194,195,169,159,159,170,170,171,
+ 172,172,7,7,10,196,196,196,196,196,
196,196,196,196,196,196,196,196,196,196,
196,196,196,196,196,196,196,196,196,196,
196,196,196,196,196,196,196,196,196,196,
- 196,196,196,196,196,196,196,196,77,82,
- 82,173,173,132,132,133,133,133,133,133,
- 133,3,134,134,131,131,112,112,85,78,
- 74,161,161,113,113,197,197,197,135,135,
- 126,126,198,198,174,174,1132,36,2229,2172,
- 1116,3032,28,31,32,1038,1092,27,29,2084,
- 26,24,51,1177,105,76,77,107,1189,152,
- 1270,1220,1331,1306,1405,1028,1374,1547,1523,272,
- 1566,144,1576,142,1292,36,395,157,143,1621,
- 36,1026,33,2065,3270,28,31,32,1038,1092,
- 58,29,2251,1446,3172,36,1026,33,231,1279,
- 28,31,32,1038,1092,27,29,875,26,24,
- 51,1177,105,76,77,107,1189,72,1270,1220,
- 1331,1306,2620,234,229,230,595,36,1755,387,
- 3172,36,1026,33,273,1279,28,31,32,1038,
- 1092,27,29,875,26,24,51,1177,105,76,
- 77,107,2361,241,244,247,250,854,2601,272,
- 505,2477,2106,36,276,2429,1316,1738,36,1026,
- 33,3058,3270,28,31,32,1038,1092,57,29,
- 1787,559,3479,2444,2507,2621,2918,2951,4542,2347,
- 36,1026,33,2982,1279,28,31,32,1038,1092,
- 27,29,875,26,24,51,1177,105,76,77,
- 107,1189,342,1270,1220,1331,1306,1405,62,1374,
- 1547,1523,2165,1566,274,1576,142,3843,70,1180,
- 516,143,689,1239,2504,1337,36,1026,33,1258,
- 4816,28,31,32,1038,1092,27,29,1258,510,
- 517,2347,36,1026,33,2982,1279,28,31,32,
- 1038,1092,27,29,875,26,24,51,1177,105,
- 76,77,107,1189,342,1270,1220,1331,1306,1405,
- 2375,1374,1547,1523,2210,1566,2477,1576,142,331,
- 36,278,516,143,3964,70,2504,1511,1180,1142,
- 1022,512,87,1408,3241,101,61,1522,36,1026,
- 33,1525,517,42,31,32,1038,1092,2269,1882,
- 2853,327,334,2856,1719,2347,36,1026,33,2982,
- 1279,28,31,32,1038,1092,27,29,875,26,
- 24,51,1177,105,76,77,107,1189,342,1270,
- 1220,1331,1306,1405,1914,1374,1547,1523,1744,1566,
- 1670,1576,142,512,2149,70,516,143,3317,751,
- 2504,1897,36,1026,33,1379,1893,41,31,32,
- 1038,1092,2864,497,1650,2856,517,2558,36,1026,
- 33,2982,1279,28,31,32,1038,1092,27,29,
- 875,26,24,51,1177,105,76,77,107,1189,
- 342,1270,1220,1331,1306,1405,922,1374,1547,1523,
- 1757,1566,2374,1576,142,286,2838,88,516,143,
- 101,375,2504,1231,36,1026,33,512,4816,28,
- 31,32,1038,1092,60,29,595,3373,517,871,
- 595,36,1755,387,595,3241,2905,1824,3248,2856,
- 2695,36,1026,33,311,1279,28,31,32,1038,
- 1092,27,29,875,26,24,51,1177,105,76,
- 77,107,1189,50,1270,1220,1331,1306,1405,181,
- 1374,1547,1523,47,1566,352,1576,142,2161,513,
- 3578,378,143,2417,36,1026,33,1046,1279,28,
- 31,32,1038,1092,27,29,875,26,24,51,
- 1177,105,76,77,107,1189,2194,1270,1220,1331,
- 1306,1405,2405,1374,1547,1523,373,1566,2315,1576,
- 142,92,2014,3578,378,143,505,3172,36,1026,
- 33,3334,1279,28,31,32,1038,1092,27,29,
- 875,26,24,51,1177,105,76,77,107,1189,
- 1533,1270,1220,1331,1306,1405,287,1374,1547,1523,
- 505,1566,1893,2926,163,3432,3058,2279,384,2056,
- 2156,1142,2465,2626,36,1026,33,871,1279,28,
- 31,32,1038,1092,27,29,875,26,24,51,
- 1177,105,76,77,107,1189,155,1270,1220,1331,
- 1306,1405,922,1374,1547,1523,534,1566,403,1576,
- 142,385,2056,3578,378,143,70,3697,661,2065,
- 1142,3089,2820,36,1026,33,3990,1279,28,31,
- 32,1038,1092,27,29,875,26,24,51,1177,
- 105,76,77,107,1189,155,1270,1220,1331,1306,
- 1405,1029,1374,1547,1523,1504,1566,2275,1576,142,
- 595,36,3004,157,143,3172,36,1026,33,418,
- 1279,28,31,32,1038,1092,27,29,875,26,
- 24,51,1177,105,76,77,107,1189,2623,1270,
- 1220,1331,1306,1405,1885,1374,1547,1523,3211,2715,
- 49,376,2056,2820,36,1026,33,1356,1279,28,
- 31,32,1038,1092,27,29,875,26,24,51,
- 1177,105,76,77,107,1189,353,1270,1220,1331,
- 1306,1405,70,1374,1547,1523,825,1566,505,1576,
- 142,540,496,3514,372,143,1231,36,1026,33,
- 65,4816,28,31,32,1038,1092,59,29,1259,
- 36,1755,387,2820,36,1026,33,559,1279,28,
- 31,32,1038,1092,27,29,875,26,24,51,
- 1177,105,76,77,107,1189,2314,1270,1220,1331,
- 1306,1405,50,1374,1547,1523,1893,1566,2591,1576,
- 142,2615,1669,884,372,143,2192,2820,36,1026,
- 33,594,1279,28,31,32,1038,1092,27,29,
- 875,26,24,51,1177,105,76,77,107,1189,
- 371,1270,1220,1331,1306,1405,1492,1374,1547,1523,
- 2192,1566,2102,1576,142,595,36,281,372,143,
- 2490,36,1026,33,761,1279,28,31,32,1038,
- 1092,27,29,875,26,24,51,1177,105,76,
- 77,107,1189,323,1270,1220,1331,1306,1405,420,
- 1374,1547,1523,2192,1566,1280,1576,142,1356,442,
- 370,141,143,2615,2820,36,1026,33,1356,1279,
- 28,31,32,1038,1092,27,29,875,26,24,
- 51,1177,105,76,77,107,1189,324,1270,1220,
- 1331,1306,1405,4282,1374,1547,1523,231,1566,1627,
- 1576,142,355,25,368,158,143,2820,36,1026,
- 33,530,1279,28,31,32,1038,1092,27,29,
- 875,26,24,51,1177,105,76,77,107,1189,
- 876,1270,1220,1331,1306,1405,354,1374,1547,1523,
- 446,1566,70,1576,142,530,4610,1347,154,143,
- 2820,36,1026,33,1356,1279,28,31,32,1038,
- 1092,27,29,875,26,24,51,1177,105,76,
- 77,107,1189,57,1270,1220,1331,1306,1405,322,
- 1374,1547,1523,231,1566,401,1576,142,530,69,
- 2590,153,143,2820,36,1026,33,1159,1279,28,
- 31,32,1038,1092,27,29,875,26,24,51,
- 1177,105,76,77,107,1189,1723,1270,1220,1331,
- 1306,1405,3676,1374,1547,1523,1639,1566,405,1576,
- 142,1022,446,420,152,143,2820,36,1026,33,
- 1356,1279,28,31,32,1038,1092,27,29,875,
- 26,24,51,1177,105,76,77,107,1189,380,
- 1270,1220,1331,1306,1405,70,1374,1547,1523,2986,
- 1566,2252,1576,142,3368,54,4706,151,143,2820,
- 36,1026,33,1356,1279,28,31,32,1038,1092,
- 27,29,875,26,24,51,1177,105,76,77,
- 107,1189,1473,1270,1220,1331,1306,1405,70,1374,
- 1547,1523,998,1566,459,1576,142,1022,53,1188,
- 150,143,2820,36,1026,33,1356,1279,28,31,
- 32,1038,1092,27,29,875,26,24,51,1177,
- 105,76,77,107,1189,379,1270,1220,1331,1306,
- 1405,70,1374,1547,1523,722,1566,505,1576,142,
- 1022,349,4721,149,143,2820,36,1026,33,1356,
- 1279,28,31,32,1038,1092,27,29,875,26,
- 24,51,1177,105,76,77,107,1189,2013,1270,
- 1220,1331,1306,1405,70,1374,1547,1523,803,1566,
- 458,1576,142,1022,89,2524,148,143,2820,36,
- 1026,33,1356,1279,28,31,32,1038,1092,27,
- 29,875,26,24,51,1177,105,76,77,107,
- 1189,1343,1270,1220,1331,1306,1405,70,1374,1547,
- 1523,2568,1566,4304,1576,142,1022,1916,1462,147,
- 143,2820,36,1026,33,388,1279,28,31,32,
- 1038,1092,27,29,875,26,24,51,1177,105,
- 76,77,107,1189,2013,1270,1220,1331,1306,1405,
- 70,1374,1547,1523,2587,1566,52,1576,142,336,
- 1101,684,146,143,2820,36,1026,33,1356,1279,
- 28,31,32,1038,1092,27,29,875,26,24,
- 51,1177,105,76,77,107,1189,2013,1270,1220,
- 1331,1306,1405,70,1374,1547,1523,2311,1566,325,
- 1576,142,1893,1959,2758,145,143,2820,36,1026,
- 33,283,1279,28,31,32,1038,1092,27,29,
- 875,26,24,51,1177,105,76,77,107,1189,
- 318,1270,1220,1331,1306,1405,70,1374,1547,1523,
- 3738,1566,1873,1576,142,1893,2061,858,144,143,
- 2764,36,1026,33,284,1279,28,31,32,1038,
- 1092,27,29,875,26,24,51,1177,105,76,
- 77,107,1189,521,1270,1220,1331,1306,1405,70,
- 1374,1547,1523,2552,1566,2703,2926,163,2820,36,
- 1026,33,1180,1279,28,31,32,1038,1092,27,
- 29,875,26,24,51,1177,105,76,77,107,
- 1189,871,1270,1220,1331,1306,1405,522,1374,1547,
- 1523,1884,1566,2590,1576,142,331,36,278,139,
- 143,3968,437,326,1292,36,3010,2440,3054,36,
- 1026,33,1796,1279,28,31,32,1038,1092,27,
- 29,875,26,24,51,1177,105,76,77,107,
- 1189,298,1270,1220,1331,1306,1405,50,1374,1547,
- 1523,1022,1566,2530,1576,142,1893,1669,3094,188,
- 143,3172,36,1026,33,1022,1279,28,31,32,
- 1038,1092,27,29,875,26,24,51,1177,105,
- 76,77,107,1189,1645,1270,1220,1331,1306,1405,
- 70,1374,1547,1523,4347,1566,3699,2926,163,3172,
- 36,1026,33,2874,1279,28,31,32,1038,1092,
- 27,29,875,26,24,51,1177,105,76,77,
- 107,1189,571,1270,1220,1331,1306,1405,70,1374,
- 1547,1523,3819,1566,96,2926,163,1897,36,1026,
- 33,595,3625,1540,31,32,1038,1092,97,3172,
- 36,1026,33,422,1279,28,31,32,1038,1092,
- 27,29,875,26,24,51,1177,105,76,77,
- 107,1189,3375,1270,1220,1331,1306,1405,2512,1374,
- 1547,1523,1321,1566,2590,2926,163,3172,36,1026,
- 33,291,1279,28,31,32,1038,1092,27,29,
- 875,26,24,51,1177,105,76,77,107,1189,
- 2165,1270,1220,1331,1306,1405,70,1374,1547,1523,
- 2936,1566,220,2926,163,1897,36,1026,33,1474,
- 413,2003,31,32,1038,1092,587,3228,36,1026,
- 33,421,1279,28,31,32,1038,1092,27,29,
- 875,26,24,51,1177,105,76,77,107,1189,
- 2590,1270,1220,1331,1306,1405,70,1374,1547,1523,
- 3079,1566,2210,2926,163,3172,36,1026,33,424,
- 1279,28,31,32,1038,1092,27,29,875,26,
- 24,51,1177,105,76,77,107,1189,302,1270,
- 1220,1331,1306,1405,70,1374,1547,2713,3457,333,
- 334,1408,3241,2013,244,595,36,1755,387,2013,
- 674,595,36,1755,387,3172,36,1026,33,3604,
- 1279,28,31,32,1038,1092,27,29,875,26,
- 24,51,1177,105,76,77,107,1189,430,1270,
- 1220,1331,1306,1405,451,1374,2691,3172,36,1026,
- 33,1027,1279,28,31,32,1038,1092,27,29,
- 875,26,24,51,1177,105,76,77,107,1189,
- 296,1270,1220,1331,1306,1405,295,2705,1540,36,
- 1026,33,3937,3595,28,31,32,1038,1092,338,
- 29,3172,36,1026,33,2439,1279,28,31,32,
- 1038,1092,27,29,875,26,24,51,1177,105,
- 76,77,107,1189,1296,1270,1220,1331,2644,595,
- 36,1755,387,286,2190,70,1356,1650,2843,1345,
- 2519,1722,2872,1142,2879,331,318,1362,320,1521,
- 1566,313,1318,331,36,452,1785,238,4576,1292,
- 36,395,50,1990,312,1867,3248,1080,159,350,
- 871,68,1669,593,3172,36,1026,33,3946,1279,
- 28,31,32,1038,1092,27,29,875,26,24,
- 51,1177,105,76,77,107,1189,818,1270,1220,
- 1331,2645,2137,674,2173,144,231,1240,3212,351,
- 2592,305,309,780,1420,36,1026,33,3887,3510,
- 28,31,32,1038,1092,338,29,343,1171,920,
- 348,239,229,230,2184,1676,1590,940,36,1755,
- 387,595,1781,2053,35,3478,1345,2658,136,1830,
- 1142,1142,2161,1826,36,1026,33,3192,3510,28,
- 31,32,1038,1092,338,29,1350,3481,2588,231,
- 50,1356,318,1362,320,159,155,313,1318,351,
- 1669,2873,2269,36,292,199,3606,2588,350,351,
- 3083,1356,1356,626,243,229,230,343,1171,920,
- 348,595,36,2053,2989,341,67,343,1171,920,
- 348,318,1362,320,2216,3074,313,1318,71,2266,
- 1713,1255,2128,445,3445,3462,66,65,351,3158,
- 1836,36,3294,33,3937,3595,28,31,32,1038,
- 1092,338,29,1633,2457,2525,343,1171,920,348,
- 3172,36,1026,33,1676,1279,28,31,32,1038,
- 1092,27,29,875,26,24,51,1177,105,76,
- 77,107,1189,2658,1270,1220,2449,536,389,426,
- 853,36,452,231,2872,4576,1925,331,318,1362,
- 320,1736,786,313,1318,3089,3822,390,426,365,
- 70,2450,155,70,4450,1486,1208,3829,246,229,
- 230,179,2919,492,1844,2137,3172,36,1026,33,
- 3946,1279,28,31,32,1038,1092,27,29,875,
- 26,24,51,1177,105,76,77,107,1189,194,
- 1270,1220,2450,3172,36,1026,33,1798,1279,28,
- 31,32,1038,1092,27,29,875,26,24,51,
- 1177,105,76,77,107,1189,871,1270,1220,2456,
- 3172,36,1026,33,1988,1279,28,31,32,1038,
- 1092,27,29,875,26,24,51,1177,105,76,
- 77,107,1189,505,2230,416,418,3275,4725,1243,
- 36,1026,33,3937,3510,28,31,32,1038,1092,
- 338,29,595,36,292,3172,36,1026,33,1497,
- 1279,28,31,32,1038,1092,27,29,875,26,
- 24,51,1177,105,76,77,107,1189,262,1270,
- 1220,2463,536,2003,2163,2100,2303,2982,3929,3661,
- 449,3445,3462,1912,4783,195,239,318,1362,320,
- 2095,227,313,1318,1931,3929,2514,155,595,36,
- 1755,387,1109,1710,505,312,179,2919,922,4742,
- 595,36,1755,387,202,214,4693,201,211,212,
- 213,215,1,168,1356,1101,536,2872,70,70,
- 331,433,1142,1142,167,2157,182,166,169,170,
- 171,172,173,432,2872,227,3318,332,1361,2590,
- 505,155,306,309,780,4801,1895,155,3568,2700,
- 179,2919,922,2860,359,351,2588,1418,202,214,
- 4693,201,211,212,213,215,1621,168,1762,3011,
- 3028,1629,2272,345,1171,920,348,178,167,180,
- 183,166,169,170,171,172,173,1633,36,1026,
- 33,3887,3510,28,31,32,1038,1092,338,29,
- 231,1356,3284,36,1755,387,1725,2537,1356,2376,
- 2982,1921,36,1026,33,236,3595,28,31,32,
- 1038,1092,338,29,2377,249,229,230,521,2514,
- 2245,1919,428,231,2880,272,56,2892,2982,595,
- 36,1755,387,55,1973,318,1362,320,326,3929,
- 313,1318,1400,36,1755,387,3389,342,252,229,
- 230,2585,351,525,231,2872,392,426,332,318,
- 1362,320,431,70,314,1318,3082,3729,2162,1214,
- 343,1171,920,348,2415,50,351,2566,526,234,
- 229,230,2013,2191,2447,1669,1926,359,2872,2588,
- 273,332,2800,2448,345,1171,920,348,626,2653,
- 2618,2894,3011,3028,595,36,2510,2505,2650,241,
- 244,247,250,854,595,36,2053,275,3116,36,
- 1026,33,1316,1279,28,31,32,1038,1092,27,
- 29,875,26,24,51,1177,86,76,77,2444,
- 2507,2621,2918,2951,4542,3172,36,1026,33,303,
- 1279,28,31,32,1038,1092,27,29,875,26,
- 24,51,1177,105,76,77,107,1189,1356,1270,
- 2548,3172,36,1026,33,2590,1279,28,31,32,
- 1038,1092,27,29,875,26,24,51,1177,105,
- 76,77,107,1189,349,1270,2566,70,536,391,
- 426,1413,2003,321,70,522,2982,3929,1326,2090,
- 36,276,70,197,2186,1356,2982,227,441,2662,
- 455,1983,1983,155,2656,2514,3929,3929,766,36,
- 1755,387,179,2919,922,342,595,36,1755,387,
- 202,214,4693,201,211,212,213,215,436,168,
- 100,2546,536,1292,36,395,2872,2504,500,331,
- 167,272,3620,166,169,170,171,172,173,272,
- 1356,227,2590,1839,3734,2872,2872,155,331,331,
- 943,36,1755,387,2657,2686,179,2919,922,2269,
- 3405,292,2991,359,202,214,4693,201,211,212,
- 213,215,523,168,2246,3545,536,1762,3011,3028,
- 196,3024,2860,50,167,1932,177,166,169,170,
- 171,172,173,1669,2405,227,3041,1983,2590,2128,
- 1356,155,3929,2689,339,2723,3218,595,36,292,
- 179,2919,922,72,943,36,1755,387,202,214,
- 4693,201,211,212,213,215,610,168,2335,2178,
- 536,3700,4429,2474,3929,2260,301,2982,167,2195,
- 175,166,169,170,171,172,173,50,1724,227,
- 950,2872,2982,2590,3349,155,2514,1669,48,1365,
- 36,2053,275,1925,179,2919,922,1356,3551,769,
- 3571,342,202,214,4693,201,211,212,213,215,
- 697,168,2690,2872,536,2649,3349,595,3090,2053,
- 74,200,167,864,176,166,169,170,171,172,
- 173,1398,450,227,950,1365,36,2053,3098,155,
- 1744,3643,940,36,1755,387,2731,70,179,2919,
- 922,2982,43,2952,504,848,202,214,4693,201,
- 211,212,213,215,784,168,528,1725,536,93,
- 342,2982,2752,70,2757,50,167,1360,186,166,
- 169,170,171,172,173,1669,48,227,935,2683,
- 2514,2691,2504,155,2724,502,503,2725,1365,88,
- 2788,95,179,2919,922,2593,45,2952,1841,2982,
- 202,214,4693,201,211,212,213,215,2792,168,
- 940,36,1755,387,943,36,1755,387,2514,1893,
- 167,2793,3706,166,169,170,171,172,173,2066,
- 36,1026,33,3937,3510,28,31,32,1038,1092,
- 338,29,2844,50,1658,70,70,50,359,4460,
- 536,70,70,1669,2701,3936,4449,1669,48,922,
- 2273,871,3260,3011,3028,536,3226,2848,1356,342,
- 2225,2307,36,279,524,155,70,70,70,70,
- 1840,1403,3824,2982,227,187,360,318,1362,320,
- 155,4591,313,1318,175,940,36,1755,387,179,
- 2919,922,342,377,2843,312,2590,202,214,4693,
- 201,211,212,213,215,1356,168,70,1345,958,
- 2479,1142,1142,536,2504,2786,1371,167,50,191,
- 166,169,170,171,172,173,4045,70,1669,1032,
- 1927,2982,227,2590,198,2849,155,159,155,3615,
- 3400,3226,305,309,780,1893,1753,179,2919,922,
- 342,940,36,1755,387,202,214,4693,201,211,
- 212,213,215,1045,168,3848,1893,536,2850,2475,
- 1345,297,2504,1142,1142,167,3478,185,166,169,
- 170,171,172,173,50,922,227,70,1972,70,
- 2853,2895,155,960,1669,48,2327,2404,155,159,
- 523,179,2919,922,5400,2981,922,2315,161,202,
- 214,4693,201,211,212,213,215,5400,168,2474,
- 5400,375,5400,2982,595,36,2053,277,2165,167,
- 5400,193,166,169,170,171,172,173,3172,36,
- 1026,33,2514,1279,28,31,32,1038,1092,27,
- 29,875,26,24,51,1177,105,76,77,107,
- 1189,5400,2236,3172,36,1026,33,2988,1279,28,
- 31,32,1038,1092,27,29,875,26,24,51,
- 1177,105,76,77,107,2424,3172,36,1026,33,
- 2210,1279,28,31,32,1038,1092,27,29,875,
- 26,24,51,1177,105,76,77,107,2441,1584,
- 504,70,70,2982,2013,1142,3529,2473,70,1848,
- 5400,2967,2982,2982,5400,70,3576,3194,334,1142,
- 5400,5400,227,595,36,2053,3274,2590,2590,5400,
- 155,342,227,1356,70,70,5400,4308,1142,1142,
- 2714,501,503,5400,155,204,214,4693,203,211,
- 212,213,215,2504,2436,204,214,4693,203,211,
- 212,213,215,155,155,3679,221,1983,3454,1848,
- 5400,381,3929,2571,2591,5400,205,207,209,293,
- 294,3073,3430,216,206,208,205,207,209,293,
- 294,3073,2590,216,206,208,2015,36,3294,33,
- 3937,3510,28,31,32,1038,1092,338,29,595,
- 36,1755,387,2313,5400,4346,1936,1983,5400,5400,
- 2982,2872,3929,2319,331,4346,1714,36,1026,33,
- 192,3595,28,31,32,1038,1092,338,29,227,
- 1356,1356,50,1356,595,36,1755,387,595,36,
- 1755,387,1669,617,318,1362,320,2991,5400,313,
- 1318,5400,204,214,4693,203,211,212,213,215,
- 1978,2872,1208,5400,331,3561,3519,50,3655,5400,
- 2872,50,5400,332,318,1362,320,1669,3199,316,
- 1318,1669,662,205,207,209,293,294,3073,5400,
- 216,206,208,3172,36,1026,33,4526,1279,28,
- 31,32,1038,1092,27,29,875,26,24,51,
- 1177,105,76,77,85,595,36,2053,280,5400,
- 3072,5400,4346,3172,1781,1026,1798,1447,1279,28,
- 31,32,1038,1092,27,29,875,26,24,51,
- 1177,105,76,77,84,1356,5400,5400,5400,5400,
- 5400,417,418,3275,3172,36,1026,33,5400,1279,
- 28,31,32,1038,1092,27,29,875,26,24,
- 51,1177,105,76,77,83,3172,36,1026,33,
- 3912,1279,28,31,32,1038,1092,27,29,875,
- 26,24,51,1177,105,76,77,82,3172,36,
- 1026,33,5400,1279,28,31,32,1038,1092,27,
- 29,875,26,24,51,1177,105,76,77,81,
- 3172,36,1026,33,5400,1279,28,31,32,1038,
- 1092,27,29,875,26,24,51,1177,105,76,
- 77,80,3172,36,1026,33,5400,1279,28,31,
- 32,1038,1092,27,29,875,26,24,51,1177,
- 105,76,77,79,3172,36,1026,33,5400,1279,
- 28,31,32,1038,1092,27,29,875,26,24,
- 51,1177,105,76,77,78,2998,36,1026,33,
- 5400,1279,28,31,32,1038,1092,27,29,875,
- 26,24,51,1177,105,76,77,103,3172,36,
- 1026,33,5400,1279,28,31,32,1038,1092,27,
- 29,875,26,24,51,1177,105,76,77,109,
- 3172,36,1026,33,5400,1279,28,31,32,1038,
- 1092,27,29,875,26,24,51,1177,105,76,
- 77,108,3172,36,1026,33,5400,1279,28,31,
- 32,1038,1092,27,29,875,26,24,51,1177,
- 105,76,77,106,3172,36,1026,33,1356,1279,
- 28,31,32,1038,1092,27,29,875,26,24,
- 51,1177,105,76,77,104,2024,70,5400,70,
- 2982,1142,5400,1142,5400,5400,1672,5400,1345,5400,
- 2982,1345,1142,3673,5400,1142,1760,2165,5400,227,
- 2982,5400,5400,5400,5400,5400,155,2751,155,227,
- 5400,2982,5400,5400,5400,5400,2592,159,2051,227,
- 159,5400,204,214,4693,203,211,212,213,215,
- 342,5400,204,214,4693,203,211,212,213,215,
- 5400,5400,204,214,4693,203,211,212,213,215,
- 5400,5400,3827,205,207,209,293,294,3073,2210,
- 519,206,208,205,207,209,293,294,3073,5400,
- 518,206,208,205,207,209,293,294,3073,2112,
- 217,206,208,2982,5400,3205,5400,2163,3387,2200,
- 5400,5400,3661,2982,70,5400,329,334,1142,2682,
- 2165,5400,227,2982,5400,5400,5400,5400,5400,5400,
- 2165,5400,227,5400,5400,5400,5400,5400,5400,5400,
- 5400,5400,2514,155,5400,204,214,4693,203,211,
- 212,213,215,4075,5400,204,214,4693,203,211,
- 212,213,215,1243,36,1026,33,3937,3510,28,
- 31,32,1038,1092,338,29,205,207,209,293,
- 294,3073,2210,304,206,208,205,207,209,293,
- 294,3073,2210,498,206,208,1714,36,1026,33,
- 5400,3595,28,31,32,1038,1092,338,29,1621,
- 504,5400,3334,36,1755,387,5400,2537,5400,3463,
- 334,318,1362,320,3963,237,313,1318,5400,3577,
- 334,5400,5400,5400,5400,5400,5400,5400,5400,3158,
- 5400,5400,5400,5400,5400,272,940,36,1755,387,
- 2872,501,503,332,318,1362,320,5400,5400,314,
- 1318,1243,36,1026,33,3937,3510,28,31,32,
- 1038,1092,338,29,231,429,5400,5400,5400,50,
- 1194,5400,5400,5400,2982,4823,5400,5400,5400,1669,
- 48,5400,3560,5400,5400,5400,5400,5400,5400,235,
- 229,230,2321,227,5400,5400,5400,5400,5400,5400,
- 273,5400,5400,5400,5400,5400,5400,5400,5400,318,
- 1362,320,5400,5400,313,1318,1090,406,4673,242,
- 245,248,251,854,5400,5400,5400,3678,5400,5400,
- 5400,5400,1316,1512,36,1026,33,2630,3510,28,
- 31,32,1038,1092,338,29,5400,407,408,409,
- 293,294,3073,1802,36,1026,33,2388,3510,28,
- 31,32,1038,1092,338,29,940,36,1755,387,
- 5400,402,3064,1300,5400,5400,5400,2982,4823,5400,
- 5400,1491,36,1755,387,940,36,1755,387,5400,
- 5400,315,3214,320,5400,5400,227,5400,5400,50,
- 5400,5400,940,36,1755,387,5400,5400,5400,1669,
- 48,315,3214,320,50,5400,5400,5400,50,1090,
- 406,4673,2868,5400,1669,48,5400,5400,1669,48,
- 5400,5400,5400,410,412,50,70,2812,5400,5400,
- 2982,2880,5400,2727,5400,1669,48,536,5400,5400,
- 407,408,409,293,294,3073,5400,1738,3019,342,
- 4713,1666,36,1755,387,5400,342,70,5400,70,
- 70,536,155,536,2982,3064,595,36,1755,387,
- 5400,2504,187,595,36,1755,387,5400,4591,5400,
- 342,2178,342,342,50,2006,155,508,155,2982,
- 5400,5400,5400,5400,1669,48,1418,5400,187,50,
- 5400,2178,2504,5400,4591,2504,50,3327,342,1669,
- 884,70,5400,5400,5400,536,1669,2437,1408,70,
- 529,506,5400,2982,5400,5400,410,413,5400,5400,
- 2504,5400,5400,5400,342,5400,189,5400,5400,5400,
- 155,5400,342,5400,5400,5400,532,5400,5400,5400,
- 187,5400,5400,5400,5400,5400,4591,5400,5400,5400,
- 5400,5400,3853,5400,2504,5400,5400,5400,5400,5400,
- 5400,5400,5400,5400,5400,5400,5400,5400,5400,5400,
- 533,5400,5400,5400,5400,5400,5400,5400,5400,5400,
- 5400,5400,5400,5400,5400,5400,5400,5400,5400,5400,
- 5400,5400,5400,5400,5400,5400,5400,5400,5400,5400,
- 5400,5400,5400,3847,3960,5400,5400,5400,5400,5400,
- 5400,5400,5400,5400,5400,5400,5400,5400,5400,5400,
- 5400,5400,5400,5400,5400,5400,5400,5400,5400,5400,
- 5400,5400,5400,5400,5400,5400,5400,5400,5400,5400,
- 5400,5400,5400,5400,5400,5400,5400,5400,5400,5400,
- 5400,5400,5400,5400,5400,5400,5400,5400,5400,5400,
- 5400,5400,5400,5400,5400,5400,5400,5400,5400,5400,
- 5400,5400,5400,3421,5400,0,40,5415,0,40,
- 5414,0,728,30,0,439,865,0,453,1252,
- 0,39,2541,0,39,5415,0,39,5414,0,
- 2743,125,0,1,443,0,457,1581,0,456,
- 1667,0,795,90,0,728,386,0,36,34,
- 0,33,35,0,40,2541,0,1,660,0,
- 1,5671,0,1,5670,0,1,5669,0,1,
- 5668,0,1,5667,0,1,5666,0,1,5665,
- 0,1,5664,0,1,5663,0,1,5662,0,
- 1,5661,0,40,1,5415,0,40,1,5414,
- 0,807,1,0,282,393,0,282,285,0,
- 5633,240,0,5632,240,0,5737,240,0,5736,
- 240,0,5660,240,0,5659,240,0,5658,240,
- 0,5657,240,0,5656,240,0,5655,240,0,
- 5654,240,0,5653,240,0,5671,240,0,5670,
- 240,0,5669,240,0,5668,240,0,5667,240,
- 0,5666,240,0,5665,240,0,5664,240,0,
- 5663,240,0,5662,240,0,5661,240,0,40,
- 5415,240,0,40,5414,240,0,5439,240,0,
- 5415,49,0,5414,49,0,5406,1,0,5405,
- 1,0,2439,236,0,33,387,0,30,386,
- 0,44,5437,0,44,38,0,2743,127,0,
- 2743,126,0,330,444,0,5439,1,0,40,
- 1,0,48,38,0,1,91,0,500,3067,
- 0,5439,1,228,0,40,1,228,0,228,
- 415,0,5415,38,0,5414,38,0,5415,2,
- 38,0,5414,2,38,0,5415,37,0,5414,
- 37,0,5437,46,0,38,46,0,5410,404,
- 0,5409,404,0,1,4493,0,1,3014,0,
- 1,2541,0,228,414,0,2304,317,0,330,
- 94,0,36,73,0,1,330,0,3618,277,
- 0,500,4336,0,1,228,0,228,219,0,
- 228,218,0,1,574,0,1,2459,0,5412,
- 1,0,5408,1,0,1,228,3487,0,5409,
- 228,0,3489,228,0,5412,382,0,5411,382,
- 0,3594,228,0,10,12,0,8,10,12,
- 0,184,3619,0,3707,382,0,8,12,0
+ 196,196,196,196,196,196,196,77,82,82,
+ 173,173,132,132,133,133,133,133,133,133,
+ 3,134,134,131,131,112,112,85,78,74,
+ 161,161,113,113,197,197,197,135,135,126,
+ 126,198,198,174,174,1119,35,2228,2171,1278,
+ 3031,27,30,31,1037,1091,26,28,2083,25,
+ 23,50,1176,104,75,76,106,1188,1982,1269,
+ 1219,1330,1305,1404,71,1373,1546,1522,271,1565,
+ 142,1575,141,1243,35,394,156,142,1217,35,
+ 1025,32,236,3269,27,30,31,1037,1091,57,
+ 28,2050,1279,3121,35,1025,32,230,1278,27,
+ 30,31,1037,1091,26,28,874,25,23,50,
+ 1176,104,75,76,106,1188,135,1269,1219,1330,
+ 1305,2619,233,228,229,588,35,1754,386,3121,
+ 35,1025,32,272,1278,27,30,31,1037,1091,
+ 26,28,874,25,23,50,1176,104,75,76,
+ 106,2360,240,243,246,249,853,2600,271,69,
+ 2580,2079,35,275,2428,1315,1860,35,1025,32,
+ 3057,3269,27,30,31,1037,1091,56,28,1786,
+ 558,3478,2443,2506,2620,2917,2950,4541,2316,35,
+ 1025,32,2981,1278,27,30,31,1037,1091,26,
+ 28,874,25,23,50,1176,104,75,76,106,
+ 1188,341,1269,1219,1330,1305,1404,61,1373,1546,
+ 1522,737,1565,273,1575,141,3842,56,1179,515,
+ 142,688,1267,2503,2344,35,1025,32,1257,4815,
+ 27,30,31,1037,1091,26,28,1257,509,516,
+ 2316,35,1025,32,2981,1278,27,30,31,1037,
+ 1091,26,28,874,25,23,50,1176,104,75,
+ 76,106,1188,341,1269,1219,1330,1305,1404,2244,
+ 1373,1546,1522,2209,1565,2580,1575,141,327,35,
+ 277,515,142,3963,56,2503,2023,1179,1141,1010,
+ 511,86,1643,3240,100,60,1500,35,1025,32,
+ 2168,516,41,30,31,1037,1091,2129,1881,2852,
+ 326,333,2855,1718,2316,35,1025,32,2981,1278,
+ 27,30,31,1037,1091,26,28,874,25,23,
+ 50,1176,104,75,76,106,1188,341,1269,1219,
+ 1330,1305,1404,1229,1373,1546,1522,1743,1565,2493,
+ 1575,141,511,1868,56,515,142,3316,750,2503,
+ 2407,35,1025,32,1016,1330,40,30,31,1037,
+ 1091,2863,496,2121,2855,516,2524,35,1025,32,
+ 2981,1278,27,30,31,1037,1091,26,28,874,
+ 25,23,50,1176,104,75,76,106,1188,341,
+ 1269,1219,1330,1305,1404,921,1373,1546,1522,1873,
+ 1565,838,1575,141,285,2837,87,515,142,100,
+ 374,2503,1715,35,1025,32,511,4815,27,30,
+ 31,1037,1091,59,28,588,3372,516,870,588,
+ 35,1754,386,588,3240,2904,1823,3247,2855,2659,
+ 35,1025,32,310,1278,27,30,31,1037,1091,
+ 26,28,874,25,23,50,1176,104,75,76,
+ 106,1188,49,1269,1219,1330,1305,1404,180,1373,
+ 1546,1522,46,1565,351,1575,141,1988,512,3577,
+ 377,142,2385,35,1025,32,1045,1278,27,30,
+ 31,1037,1091,26,28,874,25,23,50,1176,
+ 104,75,76,106,1188,2681,1269,1219,1330,1305,
+ 1404,2371,1373,1546,1522,372,1565,2682,1575,141,
+ 91,2013,3577,377,142,69,3121,35,1025,32,
+ 3333,1278,27,30,31,1037,1091,26,28,874,
+ 25,23,50,1176,104,75,76,106,1188,1532,
+ 1269,1219,1330,1305,1404,286,1373,1546,1522,69,
+ 1565,1330,2925,162,3431,3057,2249,383,2055,2049,
+ 1141,2683,2591,35,1025,32,870,1278,27,30,
+ 31,1037,1091,26,28,874,25,23,50,1176,
+ 104,75,76,106,1188,154,1269,1219,1330,1305,
+ 1404,921,1373,1546,1522,533,1565,402,1575,141,
+ 384,2055,3577,377,142,56,3696,660,2064,1141,
+ 3088,2887,35,1025,32,3989,1278,27,30,31,
+ 1037,1091,26,28,874,25,23,50,1176,104,
+ 75,76,106,1188,154,1269,1219,1330,1305,1404,
+ 1699,1373,1546,1522,1503,1565,2245,1575,141,588,
+ 35,3003,156,142,3121,35,1025,32,413,1278,
+ 27,30,31,1037,1091,26,28,874,25,23,
+ 50,1176,104,75,76,106,1188,2750,1269,1219,
+ 1330,1305,1404,1599,1373,1546,1522,3210,2714,1445,
+ 375,2055,2887,35,1025,32,1614,1278,27,30,
+ 31,1037,1091,26,28,874,25,23,50,1176,
+ 104,75,76,106,1188,352,1269,1219,1330,1305,
+ 1404,56,1373,1546,1522,824,1565,69,1575,141,
+ 539,495,3513,371,142,1715,35,1025,32,64,
+ 4815,27,30,31,1037,1091,58,28,1976,35,
+ 1754,386,2887,35,1025,32,558,1278,27,30,
+ 31,1037,1091,26,28,874,25,23,50,1176,
+ 104,75,76,106,1188,2284,1269,1219,1330,1305,
+ 1404,49,1373,1546,1522,1330,1565,2556,1575,141,
+ 2728,1668,883,371,142,1721,2887,35,1025,32,
+ 587,1278,27,30,31,1037,1091,26,28,874,
+ 25,23,50,1176,104,75,76,106,1188,370,
+ 1269,1219,1330,1305,1404,1491,1373,1546,1522,1721,
+ 1565,2380,1575,141,588,35,280,371,142,2457,
+ 35,1025,32,494,1278,27,30,31,1037,1091,
+ 26,28,874,25,23,50,1176,104,75,76,
+ 106,1188,322,1269,1219,1330,1305,1404,419,1373,
+ 1546,1522,1721,1565,1355,1575,141,1614,441,369,
+ 140,142,2728,2887,35,1025,32,1614,1278,27,
+ 30,31,1037,1091,26,28,874,25,23,50,
+ 1176,104,75,76,106,1188,323,1269,1219,1330,
+ 1305,1404,4281,1373,1546,1522,159,1565,1017,1575,
+ 141,354,24,367,157,142,2887,35,1025,32,
+ 529,1278,27,30,31,1037,1091,26,28,874,
+ 25,23,50,1176,104,75,76,106,1188,875,
+ 1269,1219,1330,1305,1404,353,1373,1546,1522,445,
+ 1565,56,1575,141,529,4609,1604,153,142,2887,
+ 35,1025,32,1614,1278,27,30,31,1037,1091,
+ 26,28,874,25,23,50,1176,104,75,76,
+ 106,1188,400,1269,1219,1330,1305,1404,321,1373,
+ 1546,1522,159,1565,400,1575,141,529,68,2552,
+ 152,142,2887,35,1025,32,1226,1278,27,30,
+ 31,1037,1091,26,28,874,25,23,50,1176,
+ 104,75,76,106,1188,1146,1269,1219,1330,1305,
+ 1404,3675,1373,1546,1522,1617,1565,404,1575,141,
+ 1010,445,1625,151,142,2887,35,1025,32,1614,
+ 1278,27,30,31,1037,1091,26,28,874,25,
+ 23,50,1176,104,75,76,106,1188,379,1269,
+ 1219,1330,1305,1404,56,1373,1546,1522,2985,1565,
+ 2627,1575,141,3367,53,4705,150,142,2887,35,
+ 1025,32,1614,1278,27,30,31,1037,1091,26,
+ 28,874,25,23,50,1176,104,75,76,106,
+ 1188,1627,1269,1219,1330,1305,1404,56,1373,1546,
+ 1522,997,1565,458,1575,141,1010,52,1174,149,
+ 142,2887,35,1025,32,1614,1278,27,30,31,
+ 1037,1091,26,28,874,25,23,50,1176,104,
+ 75,76,106,1188,378,1269,1219,1330,1305,1404,
+ 56,1373,1546,1522,721,1565,69,1575,141,1010,
+ 348,4720,148,142,2887,35,1025,32,1614,1278,
+ 27,30,31,1037,1091,26,28,874,25,23,
+ 50,1176,104,75,76,106,1188,322,1269,1219,
+ 1330,1305,1404,56,1373,1546,1522,802,1565,457,
+ 1575,141,1010,88,2690,147,142,2887,35,1025,
+ 32,1614,1278,27,30,31,1037,1091,26,28,
+ 874,25,23,50,1176,104,75,76,106,1188,
+ 1323,1269,1219,1330,1305,1404,56,1373,1546,1522,
+ 2567,1565,4303,1575,141,1010,1915,1441,146,142,
+ 2887,35,1025,32,387,1278,27,30,31,1037,
+ 1091,26,28,874,25,23,50,1176,104,75,
+ 76,106,1188,322,1269,1219,1330,1305,1404,56,
+ 1373,1546,1522,2586,1565,51,1575,141,160,1088,
+ 676,145,142,2887,35,1025,32,1614,1278,27,
+ 30,31,1037,1091,26,28,874,25,23,50,
+ 1176,104,75,76,106,1188,322,1269,1219,1330,
+ 1305,1404,56,1373,1546,1522,2310,1565,324,1575,
+ 141,1330,1958,1964,144,142,2887,35,1025,32,
+ 282,1278,27,30,31,1037,1091,26,28,874,
+ 25,23,50,1176,104,75,76,106,1188,314,
+ 1269,1219,1330,1305,1404,56,1373,1546,1522,3737,
+ 1565,1872,1575,141,1330,1818,848,143,142,2832,
+ 35,1025,32,283,1278,27,30,31,1037,1091,
+ 26,28,874,25,23,50,1176,104,75,76,
+ 106,1188,520,1269,1219,1330,1305,1404,56,1373,
+ 1546,1522,2551,1565,2702,2925,162,2887,35,1025,
+ 32,1167,1278,27,30,31,1037,1091,26,28,
+ 874,25,23,50,1176,104,75,76,106,1188,
+ 870,1269,1219,1330,1305,1404,521,1373,1546,1522,
+ 1883,1565,2552,1575,141,327,35,277,138,142,
+ 3967,436,325,1243,35,3009,2439,3005,35,1025,
+ 32,1795,1278,27,30,31,1037,1091,26,28,
+ 874,25,23,50,1176,104,75,76,106,1188,
+ 297,1269,1219,1330,1305,1404,49,1373,1546,1522,
+ 1010,1565,2691,1575,141,1330,1668,3093,187,142,
+ 3121,35,1025,32,1010,1278,27,30,31,1037,
+ 1091,26,28,874,25,23,50,1176,104,75,
+ 76,106,1188,1503,1269,1219,1330,1305,1404,56,
+ 1373,1546,1522,4346,1565,3698,2925,162,3121,35,
+ 1025,32,2873,1278,27,30,31,1037,1091,26,
+ 28,874,25,23,50,1176,104,75,76,106,
+ 1188,570,1269,1219,1330,1305,1404,56,1373,1546,
+ 1522,3818,1565,95,2925,162,2407,35,1025,32,
+ 588,3624,1539,30,31,1037,1091,96,3121,35,
+ 1025,32,421,1278,27,30,31,1037,1091,26,
+ 28,874,25,23,50,1176,104,75,76,106,
+ 1188,3321,1269,1219,1330,1305,1404,1390,1373,1546,
+ 1522,1320,1565,2552,2925,162,3121,35,1025,32,
+ 290,1278,27,30,31,1037,1091,26,28,874,
+ 25,23,50,1176,104,75,76,106,1188,737,
+ 1269,1219,1330,1305,1404,56,1373,1546,1522,2935,
+ 1565,219,2925,162,2407,35,1025,32,1453,408,
+ 2002,30,31,1037,1091,580,3176,35,1025,32,
+ 420,1278,27,30,31,1037,1091,26,28,874,
+ 25,23,50,1176,104,75,76,106,1188,2552,
+ 1269,1219,1330,1305,1404,56,1373,1546,1522,3078,
+ 1565,2209,2925,162,3121,35,1025,32,423,1278,
+ 27,30,31,1037,1091,26,28,874,25,23,
+ 50,1176,104,75,76,106,1188,301,1269,1219,
+ 1330,1305,1404,56,1373,1546,2712,3456,332,333,
+ 1643,3240,322,241,588,35,1754,386,322,666,
+ 588,35,1754,386,3121,35,1025,32,3603,1278,
+ 27,30,31,1037,1091,26,28,874,25,23,
+ 50,1176,104,75,76,106,1188,429,1269,1219,
+ 1330,1305,1404,450,1373,2690,3121,35,1025,32,
+ 1015,1278,27,30,31,1037,1091,26,28,874,
+ 25,23,50,1176,104,75,76,106,1188,295,
+ 1269,1219,1330,1305,1404,294,2704,1518,35,1025,
+ 32,3936,3594,27,30,31,1037,1091,337,28,
+ 3121,35,1025,32,1334,1278,27,30,31,1037,
+ 1091,26,28,874,25,23,50,1176,104,75,
+ 76,106,1188,1700,1269,1219,1330,2643,588,35,
+ 1754,386,285,2417,69,1614,2121,2842,1354,2551,
+ 1787,2871,1141,3347,330,317,1361,319,1223,1385,
+ 312,1317,327,35,451,1559,237,4575,1243,35,
+ 394,49,1875,311,1866,3247,1079,158,349,870,
+ 67,1668,592,3121,35,1025,32,3945,1278,27,
+ 30,31,1037,1091,26,28,874,25,23,50,
+ 1176,104,75,76,106,1188,817,1269,1219,1330,
+ 2644,2136,666,2147,142,230,1225,3211,350,2699,
+ 304,308,779,1400,35,1025,32,3886,3509,27,
+ 30,31,1037,1091,337,28,342,1170,919,347,
+ 238,228,229,2183,1675,1589,929,35,1754,386,
+ 588,1780,2052,34,3477,1354,2717,1965,1829,1141,
+ 1141,1988,1888,35,1025,32,3191,3509,27,30,
+ 31,1037,1091,337,28,2022,3480,2433,230,49,
+ 1614,317,1361,319,158,154,312,1317,350,1668,
+ 2872,2129,35,291,198,3605,2433,349,350,3082,
+ 1614,1614,625,242,228,229,342,1170,919,347,
+ 588,35,2052,2988,340,66,342,1170,919,347,
+ 317,1361,319,2215,3073,312,1317,70,2265,1709,
+ 1240,2127,444,3444,3461,65,64,350,3157,1898,
+ 35,3293,32,3936,3594,27,30,31,1037,1091,
+ 337,28,1632,2491,2558,342,1170,919,347,3121,
+ 35,1025,32,1675,1278,27,30,31,1037,1091,
+ 26,28,874,25,23,50,1176,104,75,76,
+ 106,1188,2717,1269,1219,2448,535,388,425,843,
+ 35,451,230,2871,4575,1924,330,317,1361,319,
+ 1701,785,312,1317,3088,3821,389,425,364,56,
+ 2484,154,56,4449,1703,1207,3828,245,228,229,
+ 178,2918,486,1374,1515,3121,35,1025,32,3945,
+ 1278,27,30,31,1037,1091,26,28,874,25,
+ 23,50,1176,104,75,76,106,1188,193,1269,
+ 1219,2449,3121,35,1025,32,1883,1278,27,30,
+ 31,1037,1091,26,28,874,25,23,50,1176,
+ 104,75,76,106,1188,870,1269,1219,2455,3121,
+ 35,1025,32,2125,1278,27,30,31,1037,1091,
+ 26,28,874,25,23,50,1176,104,75,76,
+ 106,1188,69,2229,415,417,3274,4724,1691,35,
+ 1025,32,3936,3509,27,30,31,1037,1091,337,
+ 28,588,35,291,3121,35,1025,32,1496,1278,
+ 27,30,31,1037,1091,26,28,874,25,23,
+ 50,1176,104,75,76,106,1188,259,1269,1219,
+ 2462,535,1375,2122,2276,2413,2981,3928,3660,448,
+ 3444,3461,2306,4782,194,2139,317,1361,319,1983,
+ 226,312,1317,2347,3928,2513,154,588,35,1754,
+ 386,1096,2149,69,311,178,2918,921,4741,588,
+ 35,1754,386,201,213,4692,200,210,211,212,
+ 214,1,167,1614,1088,535,2871,56,56,330,
+ 432,1141,1141,166,2453,181,165,168,169,170,
+ 171,172,431,2871,226,3317,331,1606,2552,69,
+ 154,305,308,779,4800,49,154,3567,2699,178,
+ 2918,921,2859,358,350,2433,1417,201,213,4692,
+ 200,210,211,212,214,1620,167,1761,3010,3027,
+ 1780,1817,344,1170,919,347,177,166,179,182,
+ 165,168,169,170,171,172,2070,35,1025,32,
+ 3886,3509,27,30,31,1037,1091,337,28,230,
+ 1614,3231,35,1754,386,2234,2536,1614,2418,2981,
+ 1363,35,1025,32,235,3594,27,30,31,1037,
+ 1091,337,28,2515,248,228,229,520,2513,2218,
+ 1250,427,230,2715,271,55,2891,2981,588,35,
+ 1754,386,54,1773,317,1361,319,2305,3928,312,
+ 1317,2212,35,1754,386,3388,341,251,228,229,
+ 2553,350,524,230,2871,391,425,331,317,1361,
+ 319,430,56,313,1317,3081,3728,1790,1213,342,
+ 1170,919,347,2271,49,350,2693,525,233,228,
+ 229,322,2465,1714,1668,1925,358,2871,2433,272,
+ 331,2615,1906,344,1170,919,347,625,2587,2707,
+ 2893,3010,3027,588,35,2509,2504,2614,240,243,
+ 246,249,853,588,35,2052,274,3066,35,1025,
+ 32,1315,1278,27,30,31,1037,1091,26,28,
+ 874,25,23,50,1176,85,75,76,2443,2506,
+ 2620,2917,2950,4541,3121,35,1025,32,302,1278,
+ 27,30,31,1037,1091,26,28,874,25,23,
+ 50,1176,104,75,76,106,1188,1614,1269,2547,
+ 3121,35,1025,32,2552,1278,27,30,31,1037,
+ 1091,26,28,874,25,23,50,1176,104,75,
+ 76,106,1188,345,1269,2565,56,535,390,425,
+ 1412,1375,320,56,521,2981,3928,1325,1947,35,
+ 275,56,196,2621,1614,2981,226,440,2716,454,
+ 1607,1607,154,2620,2513,3928,3928,757,35,1754,
+ 386,178,2918,921,341,588,35,1754,386,201,
+ 213,4692,200,210,211,212,214,431,167,99,
+ 2654,535,1243,35,394,2871,2503,2727,330,166,
+ 271,3619,165,168,169,170,171,172,271,1614,
+ 226,2552,1838,3733,2871,2871,154,330,330,932,
+ 35,1754,386,2622,2729,178,2918,921,2129,3404,
+ 291,2990,358,201,213,4692,200,210,211,212,
+ 214,517,167,2492,3544,535,1761,3010,3027,195,
+ 3023,2859,49,166,1351,176,165,168,169,170,
+ 171,172,1668,2404,226,3040,1607,2552,2127,1614,
+ 154,3928,2272,338,2731,3217,588,35,291,178,
+ 2918,921,71,932,35,1754,386,201,213,4692,
+ 200,210,211,212,214,603,167,2154,2034,535,
+ 3699,4428,2646,3928,2259,300,2981,166,2440,174,
+ 165,168,169,170,171,172,49,1785,226,949,
+ 2871,2981,2552,3348,154,2513,1668,47,1543,35,
+ 2052,274,1924,178,2918,921,1614,3550,2735,3570,
+ 341,201,213,4692,200,210,211,212,214,689,
+ 167,2448,2871,535,2786,3348,588,3089,2052,73,
+ 199,166,863,175,165,168,169,170,171,172,
+ 2446,449,226,949,1543,35,2052,3097,154,2068,
+ 3642,929,35,1754,386,2732,56,178,2918,921,
+ 2981,42,2951,503,2747,201,213,4692,200,210,
+ 211,212,214,775,167,527,2234,535,92,341,
+ 2981,2739,56,2755,49,166,1359,185,165,168,
+ 169,170,171,172,1668,47,226,2751,2790,2513,
+ 2791,2503,154,2782,501,502,2789,1364,87,2757,
+ 94,178,2918,921,2624,44,2951,1840,2981,201,
+ 213,4692,200,210,211,212,214,2761,167,929,
+ 35,1754,386,932,35,1754,386,2513,1330,166,
+ 2763,3705,165,168,169,170,171,172,1952,35,
+ 1025,32,3936,3509,27,30,31,1037,1091,337,
+ 28,2765,49,1657,56,56,49,358,4459,535,
+ 56,56,1668,2700,3935,4448,1668,47,921,2444,
+ 861,3259,3010,3027,535,3225,2769,1614,341,2224,
+ 2449,35,278,523,154,56,56,56,56,1839,
+ 1402,3823,2981,226,186,359,317,1361,319,154,
+ 4590,312,1317,173,929,35,1754,386,178,2918,
+ 921,341,376,2792,311,2552,201,213,4692,200,
+ 210,211,212,214,1614,167,56,1354,947,2788,
+ 1141,1141,535,2503,2793,1761,166,49,190,165,
+ 168,169,170,171,172,4044,56,1668,1031,1926,
+ 2981,226,2552,197,2773,154,158,154,3614,3399,
+ 3225,304,308,779,1330,1752,178,2918,921,341,
+ 929,35,1754,386,201,213,4692,200,210,211,
+ 212,214,1033,167,3847,1330,535,2798,2481,1354,
+ 296,2503,1141,1141,166,3477,184,165,168,169,
+ 170,171,172,49,921,226,56,1971,56,2799,
+ 2894,154,959,1668,47,2110,1337,154,158,522,
+ 178,2918,921,5399,2980,921,2314,160,201,213,
+ 4692,200,210,211,212,214,5399,167,2646,5399,
+ 374,5399,2981,588,35,2052,276,737,166,5399,
+ 192,165,168,169,170,171,172,3121,35,1025,
+ 32,2513,1278,27,30,31,1037,1091,26,28,
+ 874,25,23,50,1176,104,75,76,106,1188,
+ 5399,2235,3121,35,1025,32,2987,1278,27,30,
+ 31,1037,1091,26,28,874,25,23,50,1176,
+ 104,75,76,106,2423,3121,35,1025,32,2209,
+ 1278,27,30,31,1037,1091,26,28,874,25,
+ 23,50,1176,104,75,76,106,2440,1562,503,
+ 56,56,2981,322,1141,3528,2447,56,1823,5399,
+ 2966,2981,2981,5399,56,3575,3193,333,1141,5399,
+ 5399,226,588,35,2052,3273,2552,2552,5399,154,
+ 341,226,1614,56,56,5399,4307,1141,1141,2713,
+ 500,502,5399,154,203,213,4692,202,210,211,
+ 212,214,2503,2435,203,213,4692,202,210,211,
+ 212,214,154,154,3678,220,1607,3453,1847,5399,
+ 380,3928,2570,2590,5399,204,206,208,292,293,
+ 3072,3429,215,205,207,204,206,208,292,293,
+ 3072,2552,215,205,207,2062,35,3293,32,3936,
+ 3509,27,30,31,1037,1091,337,28,588,35,
+ 1754,386,2312,5399,4345,1910,1607,5399,5399,2981,
+ 2871,3928,2318,330,4345,2156,35,1025,32,191,
+ 3594,27,30,31,1037,1091,337,28,226,1614,
+ 1614,49,1614,588,35,1754,386,588,35,1754,
+ 386,1668,616,317,1361,319,2990,5399,312,1317,
+ 5399,203,213,4692,202,210,211,212,214,1778,
+ 2871,1207,5399,330,3560,3518,49,3654,5399,2871,
+ 49,5399,331,317,1361,319,1668,3198,315,1317,
+ 1668,661,204,206,208,292,293,3072,5399,215,
+ 205,207,3121,35,1025,32,4525,1278,27,30,
+ 31,1037,1091,26,28,874,25,23,50,1176,
+ 104,75,76,84,588,35,2052,279,5399,3071,
+ 5399,4345,3121,1780,1025,1797,1446,1278,27,30,
+ 31,1037,1091,26,28,874,25,23,50,1176,
+ 104,75,76,83,1614,5399,5399,5399,5399,5399,
+ 416,417,3274,3121,35,1025,32,5399,1278,27,
+ 30,31,1037,1091,26,28,874,25,23,50,
+ 1176,104,75,76,82,3121,35,1025,32,3911,
+ 1278,27,30,31,1037,1091,26,28,874,25,
+ 23,50,1176,104,75,76,81,3121,35,1025,
+ 32,5399,1278,27,30,31,1037,1091,26,28,
+ 874,25,23,50,1176,104,75,76,80,3121,
+ 35,1025,32,5399,1278,27,30,31,1037,1091,
+ 26,28,874,25,23,50,1176,104,75,76,
+ 79,3121,35,1025,32,5399,1278,27,30,31,
+ 1037,1091,26,28,874,25,23,50,1176,104,
+ 75,76,78,3121,35,1025,32,5399,1278,27,
+ 30,31,1037,1091,26,28,874,25,23,50,
+ 1176,104,75,76,77,2950,35,1025,32,5399,
+ 1278,27,30,31,1037,1091,26,28,874,25,
+ 23,50,1176,104,75,76,102,3121,35,1025,
+ 32,5399,1278,27,30,31,1037,1091,26,28,
+ 874,25,23,50,1176,104,75,76,108,3121,
+ 35,1025,32,5399,1278,27,30,31,1037,1091,
+ 26,28,874,25,23,50,1176,104,75,76,
+ 107,3121,35,1025,32,5399,1278,27,30,31,
+ 1037,1091,26,28,874,25,23,50,1176,104,
+ 75,76,105,3121,35,1025,32,1614,1278,27,
+ 30,31,1037,1091,26,28,874,25,23,50,
+ 1176,104,75,76,103,1997,56,5399,56,2981,
+ 1141,5399,1141,5399,5399,1649,5399,1354,5399,2981,
+ 1354,1141,3672,5399,1141,1736,737,5399,226,2981,
+ 5399,5399,5399,5399,5399,154,2775,154,226,5399,
+ 2981,5399,5399,5399,5399,2591,158,2050,226,158,
+ 5399,203,213,4692,202,210,211,212,214,341,
+ 5399,203,213,4692,202,210,211,212,214,5399,
+ 5399,203,213,4692,202,210,211,212,214,5399,
+ 5399,3826,204,206,208,292,293,3072,2209,518,
+ 205,207,204,206,208,292,293,3072,5399,517,
+ 205,207,204,206,208,292,293,3072,2084,216,
+ 205,207,2981,5399,3204,5399,2122,3386,2171,5399,
+ 5399,3660,2981,56,5399,328,333,1141,2647,737,
+ 5399,226,2981,5399,5399,5399,5399,5399,5399,737,
+ 5399,226,5399,5399,5399,5399,5399,5399,5399,5399,
+ 5399,2513,154,5399,203,213,4692,202,210,211,
+ 212,214,4074,5399,203,213,4692,202,210,211,
+ 212,214,1691,35,1025,32,3936,3509,27,30,
+ 31,1037,1091,337,28,204,206,208,292,293,
+ 3072,2209,303,205,207,204,206,208,292,293,
+ 3072,2209,497,205,207,2156,35,1025,32,5399,
+ 3594,27,30,31,1037,1091,337,28,1620,503,
+ 5399,3280,35,1754,386,5399,2536,5399,3462,333,
+ 317,1361,319,3962,236,312,1317,5399,3576,333,
+ 5399,5399,5399,5399,5399,5399,5399,5399,3157,5399,
+ 5399,5399,5399,5399,271,929,35,1754,386,2871,
+ 500,502,331,317,1361,319,5399,5399,313,1317,
+ 1691,35,1025,32,3936,3509,27,30,31,1037,
+ 1091,337,28,230,428,5399,5399,5399,49,1180,
+ 5399,5399,5399,2981,4822,5399,5399,5399,1668,47,
+ 5399,3559,5399,5399,5399,5399,5399,5399,234,228,
+ 229,2320,226,5399,5399,5399,5399,5399,5399,272,
+ 5399,5399,5399,5399,5399,5399,5399,5399,317,1361,
+ 319,5399,5399,312,1317,1089,405,4672,241,244,
+ 247,250,853,5399,5399,5399,3677,5399,5399,5399,
+ 5399,1315,1490,35,1025,32,2629,3509,27,30,
+ 31,1037,1091,337,28,5399,406,407,408,292,
+ 293,3072,2236,35,1025,32,2387,3509,27,30,
+ 31,1037,1091,337,28,929,35,1754,386,5399,
+ 401,3063,1285,5399,5399,5399,2981,4822,5399,5399,
+ 2151,35,1754,386,929,35,1754,386,5399,5399,
+ 314,3213,319,5399,5399,226,5399,5399,49,5399,
+ 5399,929,35,1754,386,5399,5399,5399,1668,47,
+ 314,3213,319,49,5399,5399,5399,49,1089,405,
+ 4672,2867,5399,1668,47,5399,5399,1668,47,5399,
+ 5399,5399,409,411,49,56,2811,5399,5399,2981,
+ 2879,5399,2722,5399,1668,47,535,5399,5399,406,
+ 407,408,292,293,3072,5399,1737,3018,341,4712,
+ 2164,35,1754,386,5399,341,56,5399,56,56,
+ 535,154,535,2981,3063,588,35,1754,386,5399,
+ 2503,186,588,35,1754,386,5399,4590,5399,341,
+ 2177,341,341,49,2208,154,507,154,2981,5399,
+ 5399,5399,5399,1668,47,1417,5399,186,49,5399,
+ 2177,2503,5399,4590,2503,49,3326,341,1668,883,
+ 56,5399,5399,5399,535,1668,2436,1407,56,528,
+ 505,5399,2981,5399,5399,409,412,5399,5399,2503,
+ 5399,5399,5399,341,5399,188,5399,5399,5399,154,
+ 5399,341,5399,5399,5399,531,5399,5399,5399,186,
+ 5399,5399,5399,5399,5399,4590,5399,5399,5399,5399,
+ 5399,3852,5399,2503,5399,5399,5399,5399,5399,5399,
+ 5399,5399,5399,5399,5399,5399,5399,5399,5399,532,
+ 5399,5399,5399,5399,5399,5399,5399,5399,5399,5399,
+ 5399,5399,5399,5399,5399,5399,5399,5399,5399,5399,
+ 5399,5399,5399,5399,5399,5399,5399,5399,5399,5399,
+ 5399,5399,3846,3959,5399,5399,5399,5399,5399,5399,
+ 5399,5399,5399,5399,5399,5399,5399,5399,5399,5399,
+ 5399,5399,5399,5399,5399,5399,5399,5399,5399,5399,
+ 5399,5399,5399,5399,5399,5399,5399,5399,5399,5399,
+ 5399,5399,5399,5399,5399,5399,5399,5399,5399,5399,
+ 5399,5399,5399,5399,5399,5399,5399,5399,5399,5399,
+ 5399,5399,5399,5399,5399,5399,5399,5399,5399,5399,
+ 5399,5399,3420,5399,0,39,5414,0,39,5413,
+ 0,727,29,0,438,864,0,452,1251,0,
+ 38,2540,0,38,5414,0,38,5413,0,2742,
+ 124,0,1,442,0,456,1580,0,455,1666,
+ 0,794,89,0,727,385,0,35,33,0,
+ 32,34,0,39,2540,0,1,659,0,1,
+ 5669,0,1,5668,0,1,5667,0,1,5666,
+ 0,1,5665,0,1,5664,0,1,5663,0,
+ 1,5662,0,1,5661,0,1,5660,0,1,
+ 5659,0,39,1,5414,0,39,1,5413,0,
+ 806,1,0,281,392,0,281,284,0,5631,
+ 239,0,5630,239,0,5735,239,0,5734,239,
+ 0,5658,239,0,5657,239,0,5656,239,0,
+ 5655,239,0,5654,239,0,5653,239,0,5652,
+ 239,0,5651,239,0,5669,239,0,5668,239,
+ 0,5667,239,0,5666,239,0,5665,239,0,
+ 5664,239,0,5663,239,0,5662,239,0,5661,
+ 239,0,5660,239,0,5659,239,0,39,5414,
+ 239,0,39,5413,239,0,5437,239,0,5414,
+ 48,0,5413,48,0,5405,1,0,5404,1,
+ 0,2438,235,0,32,386,0,29,385,0,
+ 43,5435,0,43,37,0,2742,126,0,2742,
+ 125,0,329,443,0,5437,1,0,39,1,
+ 0,47,37,0,1,90,0,499,3066,0,
+ 5437,1,227,0,39,1,227,0,227,414,
+ 0,5414,37,0,5413,37,0,5414,2,37,
+ 0,5413,2,37,0,5414,36,0,5413,36,
+ 0,5435,45,0,37,45,0,5409,403,0,
+ 5408,403,0,1,4492,0,1,3013,0,1,
+ 2540,0,227,413,0,2303,316,0,329,93,
+ 0,35,72,0,1,329,0,3617,276,0,
+ 499,4335,0,1,227,0,227,218,0,227,
+ 217,0,1,573,0,1,2458,0,5411,1,
+ 0,5407,1,0,1,227,3486,0,5408,227,
+ 0,3488,227,0,5411,381,0,5410,381,0,
+ 3593,227,0,10,12,0,8,10,12,0,
+ 183,3618,0,3706,381,0,8,12,0
};
};
public final static char baseAction[] = BaseAction.baseAction;
@@ -1104,351 +1104,348 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
20,21,22,23,24,25,26,27,28,29,
30,31,32,33,34,35,36,37,38,39,
40,41,42,43,44,45,46,47,0,49,
- 50,51,52,53,54,55,0,57,58,59,
- 60,61,62,63,0,65,66,67,68,0,
- 6,0,72,25,26,75,76,77,78,79,
- 80,81,82,83,84,85,86,0,1,2,
- 3,4,5,6,7,8,9,10,11,12,
- 13,14,15,16,17,18,19,20,21,22,
- 23,24,25,26,27,28,29,30,31,32,
- 33,34,35,36,37,38,39,40,41,42,
- 43,44,45,46,47,0,49,50,51,52,
- 53,54,55,0,57,58,59,60,61,62,
- 63,0,65,66,67,68,100,93,94,72,
- 25,26,75,76,77,78,79,80,81,82,
- 83,84,85,86,0,1,2,3,4,5,
+ 50,51,52,53,54,0,56,57,58,59,
+ 60,61,62,0,64,65,66,67,0,6,
+ 0,71,4,3,74,75,76,77,78,79,
+ 80,81,82,83,84,85,0,1,2,3,
+ 4,5,6,7,8,9,10,11,12,13,
+ 14,15,16,17,18,19,20,21,22,23,
+ 24,25,26,27,28,29,30,31,32,33,
+ 34,35,36,37,38,39,40,41,42,43,
+ 44,45,46,47,0,49,50,51,52,53,
+ 54,0,56,57,58,59,60,61,62,101,
+ 64,65,66,67,106,92,93,71,0,0,
+ 74,75,76,77,78,79,80,81,82,83,
+ 84,85,0,1,2,3,4,5,6,7,
+ 8,9,10,11,12,13,14,15,16,17,
+ 18,19,20,21,22,23,24,25,26,27,
+ 28,29,30,31,32,33,34,35,36,37,
+ 38,39,40,41,42,43,44,45,46,47,
+ 0,49,50,51,52,53,54,68,56,57,
+ 58,59,60,61,62,0,64,65,66,67,
+ 0,1,2,71,4,10,74,75,76,77,
+ 78,79,80,81,82,83,84,85,0,1,
+ 2,3,4,5,6,7,8,9,10,11,
+ 12,13,14,15,16,17,18,19,20,21,
+ 22,23,24,25,26,27,28,29,30,31,
+ 32,33,34,35,36,37,38,39,40,41,
+ 42,43,44,45,46,47,0,49,50,51,
+ 52,53,54,0,56,57,58,59,60,61,
+ 62,0,64,65,66,67,0,1,2,8,
+ 4,0,74,75,76,77,78,79,80,81,
+ 82,83,84,85,0,1,2,3,4,5,
6,7,8,9,10,11,12,13,14,15,
16,17,18,19,20,21,22,23,24,25,
26,27,28,29,30,31,32,33,34,35,
36,37,38,39,40,41,42,43,44,45,
- 46,47,71,49,50,51,52,53,54,55,
- 0,57,58,59,60,61,62,63,0,65,
- 66,67,68,0,1,2,72,4,0,75,
+ 46,47,71,49,50,51,52,53,54,0,
+ 56,57,58,59,60,61,62,0,64,65,
+ 66,67,0,6,0,102,103,104,74,75,
76,77,78,79,80,81,82,83,84,85,
- 86,0,1,2,3,4,5,6,7,8,
- 9,10,11,12,13,14,15,16,17,18,
- 19,20,21,22,23,24,25,26,27,28,
- 29,30,31,32,33,34,35,36,37,38,
- 39,40,41,42,43,44,45,46,47,71,
- 49,50,51,52,53,54,55,0,57,58,
- 59,60,61,62,63,0,65,66,67,68,
- 0,1,2,0,4,0,75,76,77,78,
- 79,80,81,82,83,84,85,86,0,1,
- 2,3,4,5,6,7,8,9,10,11,
- 12,13,14,15,16,17,18,19,20,21,
- 22,23,24,25,26,27,28,29,30,31,
- 32,33,34,35,36,37,38,39,40,41,
- 42,43,44,45,46,47,71,49,50,51,
- 52,53,54,55,69,57,58,59,60,61,
- 62,63,0,65,66,67,68,0,6,0,
- 103,104,105,75,76,77,78,79,80,81,
- 82,83,84,85,86,0,1,2,3,4,
- 5,6,7,8,9,10,11,12,13,14,
- 15,16,17,18,19,20,21,22,23,24,
- 25,26,27,28,29,30,31,32,33,34,
- 35,36,37,38,39,40,41,42,43,44,
- 45,46,47,64,49,50,51,52,53,54,
- 55,0,57,58,59,60,61,62,63,0,
- 65,66,67,68,0,93,94,90,4,92,
- 75,76,77,78,79,80,81,82,83,84,
- 85,86,0,1,2,3,4,5,6,7,
- 8,9,10,11,12,13,14,15,16,17,
- 18,19,20,21,22,23,24,25,26,27,
- 28,29,30,31,32,33,34,35,36,37,
- 38,39,40,41,42,43,44,45,46,47,
- 71,49,50,51,52,53,54,55,0,57,
- 58,59,60,61,62,63,0,65,66,67,
- 68,100,6,0,0,1,2,75,76,77,
- 78,79,80,81,82,83,84,85,86,0,
- 1,2,3,4,5,6,7,8,9,10,
- 11,12,13,14,15,16,17,18,19,20,
- 21,22,23,24,25,26,27,28,29,30,
- 31,32,33,34,35,36,37,38,39,40,
- 41,42,43,44,45,46,47,0,49,50,
- 51,52,53,54,55,0,57,58,59,60,
- 61,62,63,0,65,66,67,68,5,93,
- 94,88,89,0,75,76,77,78,79,80,
- 81,82,83,84,85,86,0,1,2,3,
+ 0,1,2,3,4,5,6,7,8,9,
+ 10,11,12,13,14,15,16,17,18,19,
+ 20,21,22,23,24,25,26,27,28,29,
+ 30,31,32,33,34,35,36,37,38,39,
+ 40,41,42,43,44,45,46,47,0,49,
+ 50,51,52,53,54,0,56,57,58,59,
+ 60,61,62,0,64,65,66,67,99,92,
+ 93,89,9,91,74,75,76,77,78,79,
+ 80,81,82,83,84,85,0,1,2,3,
4,5,6,7,8,9,10,11,12,13,
14,15,16,17,18,19,20,21,22,23,
24,25,26,27,28,29,30,31,32,33,
34,35,36,37,38,39,40,41,42,43,
44,45,46,47,0,49,50,51,52,53,
- 54,55,69,57,58,59,60,61,62,63,
- 0,65,66,67,68,0,1,2,0,9,
- 5,75,76,77,78,79,80,81,82,83,
- 84,85,86,0,1,2,3,4,5,6,
- 7,8,9,10,11,12,13,14,15,16,
- 17,18,19,20,21,22,23,24,25,26,
- 27,28,29,30,31,32,33,34,35,36,
- 37,38,39,40,41,42,43,44,45,46,
- 47,0,49,50,51,52,53,54,55,71,
- 57,58,59,60,61,62,63,0,65,66,
- 67,68,0,1,2,0,4,0,75,76,
- 77,78,79,80,81,82,83,84,85,86,
- 0,1,2,3,4,5,6,7,8,9,
- 10,11,12,13,14,15,16,17,18,19,
- 20,21,22,23,24,25,26,27,28,29,
- 30,31,32,33,34,35,36,37,38,39,
- 40,41,42,43,44,45,46,47,71,49,
- 50,51,52,53,54,55,69,57,58,59,
- 60,61,62,63,0,65,66,67,68,0,
- 1,2,0,1,2,75,76,77,78,79,
- 80,81,82,83,84,85,86,0,1,2,
- 3,4,5,6,7,8,9,10,11,12,
- 13,14,15,16,17,18,19,20,21,22,
- 23,24,25,26,27,28,29,30,31,32,
- 33,34,35,36,37,38,39,40,41,42,
- 43,44,45,46,47,71,49,50,51,52,
- 53,54,55,0,57,58,59,60,61,62,
- 63,0,65,66,67,68,0,0,0,8,
- 3,3,75,76,77,78,79,80,81,82,
- 83,84,85,86,0,1,2,3,4,5,
+ 54,0,56,57,58,59,60,61,62,0,
+ 64,65,66,67,99,6,0,0,1,2,
+ 74,75,76,77,78,79,80,81,82,83,
+ 84,85,0,1,2,3,4,5,6,7,
+ 8,9,10,11,12,13,14,15,16,17,
+ 18,19,20,21,22,23,24,25,26,27,
+ 28,29,30,31,32,33,34,35,36,37,
+ 38,39,40,41,42,43,44,45,46,47,
+ 0,49,50,51,52,53,54,0,56,57,
+ 58,59,60,61,62,0,64,65,66,67,
+ 5,92,93,87,88,0,74,75,76,77,
+ 78,79,80,81,82,83,84,85,0,1,
+ 2,3,4,5,6,7,8,9,10,11,
+ 12,13,14,15,16,17,18,19,20,21,
+ 22,23,24,25,26,27,28,29,30,31,
+ 32,33,34,35,36,37,38,39,40,41,
+ 42,43,44,45,46,47,0,49,50,51,
+ 52,53,54,68,56,57,58,59,60,61,
+ 62,0,64,65,66,67,0,1,2,23,
+ 24,5,74,75,76,77,78,79,80,81,
+ 82,83,84,85,0,1,2,3,4,5,
6,7,8,9,10,11,12,13,14,15,
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,64,49,50,51,52,53,54,55,
- 0,57,58,59,60,61,62,63,0,65,
- 66,67,68,0,6,0,90,9,92,75,
+ 46,47,0,49,50,51,52,53,54,0,
+ 56,57,58,59,60,61,62,0,64,65,
+ 66,67,0,1,2,8,4,0,74,75,
76,77,78,79,80,81,82,83,84,85,
- 86,0,1,2,3,4,5,6,7,118,
- 9,10,11,12,13,14,15,16,17,18,
- 19,20,21,22,23,24,25,26,0,28,
- 29,30,31,32,33,34,35,36,37,38,
- 39,40,41,42,43,44,45,46,47,0,
- 49,50,51,52,53,54,55,0,57,58,
- 59,4,61,0,1,2,3,4,5,6,
- 7,8,9,10,11,12,13,14,15,16,
- 17,18,19,20,21,22,23,24,0,119,
- 27,28,29,30,31,32,33,34,35,36,
- 0,1,2,40,4,5,121,7,0,0,
- 0,48,0,1,2,3,4,5,69,7,
- 57,58,59,60,0,62,63,99,0,1,
- 2,22,23,24,0,72,73,28,29,30,
- 31,32,33,34,35,36,22,23,24,0,
- 87,0,28,29,30,31,32,33,34,35,
- 36,0,1,2,56,0,103,104,105,0,
+ 0,1,2,3,4,5,6,7,8,9,
+ 10,11,12,13,14,15,16,17,18,19,
+ 20,21,22,23,24,25,26,27,28,29,
+ 30,31,32,33,34,35,36,37,38,39,
+ 40,41,42,43,44,45,46,47,71,49,
+ 50,51,52,53,54,68,56,57,58,59,
+ 60,61,62,0,64,65,66,67,0,1,
+ 2,0,1,2,74,75,76,77,78,79,
+ 80,81,82,83,84,85,0,1,2,3,
+ 4,5,6,7,8,9,10,11,12,13,
+ 14,15,16,17,18,19,20,21,22,23,
+ 24,25,26,27,28,29,30,31,32,33,
+ 34,35,36,37,38,39,40,41,42,43,
+ 44,45,46,47,0,49,50,51,52,53,
+ 54,0,56,57,58,59,60,61,62,0,
+ 64,65,66,67,0,0,0,8,3,3,
+ 74,75,76,77,78,79,80,81,82,83,
+ 84,85,0,1,2,3,4,5,6,7,
+ 8,9,10,11,12,13,14,15,16,17,
+ 18,19,20,21,22,23,24,25,26,27,
+ 28,29,30,31,32,33,34,35,36,37,
+ 38,39,40,41,42,43,44,45,46,47,
+ 0,49,50,51,52,53,54,0,56,57,
+ 58,59,60,61,62,0,64,65,66,67,
+ 0,6,0,89,9,91,74,75,76,77,
+ 78,79,80,81,82,83,84,85,0,1,
+ 2,3,4,5,6,7,117,9,10,11,
+ 12,13,14,15,16,17,18,19,20,21,
+ 22,23,24,25,26,0,28,29,30,31,
+ 32,33,34,35,36,37,38,39,40,41,
+ 42,43,44,45,46,47,0,49,50,51,
+ 52,53,54,0,56,57,58,4,60,0,
1,2,3,4,5,6,7,8,9,10,
11,12,13,14,15,16,17,18,19,20,
- 21,22,23,24,66,67,27,28,29,30,
+ 21,22,23,24,0,118,27,28,29,30,
31,32,33,34,35,36,0,1,2,40,
- 4,5,0,7,0,3,0,48,6,0,
- 8,9,8,0,8,0,57,58,59,60,
- 0,62,63,8,0,1,2,25,26,27,
- 0,72,73,27,25,26,97,98,0,37,
- 38,3,22,23,24,90,87,92,28,29,
- 30,31,32,33,34,35,36,0,56,0,
- 1,2,103,104,105,8,64,0,1,2,
- 40,69,70,71,72,73,74,71,74,0,
- 1,2,3,4,5,6,7,0,9,74,
+ 4,5,0,7,0,0,0,48,0,1,
+ 2,0,4,0,68,56,57,58,59,0,
+ 61,62,0,1,2,100,22,23,24,0,
+ 71,72,28,29,30,31,32,33,34,35,
+ 36,22,23,24,48,86,0,28,29,30,
+ 31,32,33,34,35,36,48,0,0,1,
+ 2,102,103,104,0,1,2,3,4,5,
+ 6,7,8,9,10,11,12,13,14,15,
+ 16,17,18,19,20,21,22,23,24,87,
+ 88,27,28,29,30,31,32,33,34,35,
+ 36,55,0,98,40,3,48,0,6,0,
+ 8,9,48,0,1,2,0,8,5,90,
+ 56,57,58,59,8,61,62,25,26,27,
+ 0,1,2,0,0,71,72,0,0,37,
+ 38,8,0,1,2,3,4,5,6,7,
+ 86,9,0,0,0,1,2,55,4,0,
+ 6,48,8,9,0,63,102,103,104,0,
+ 68,69,70,71,72,73,67,120,48,0,
+ 1,2,3,4,5,6,7,71,9,87,
88,89,90,91,92,93,94,95,96,97,
- 98,99,100,101,102,0,1,2,106,107,
+ 98,99,100,101,0,63,73,105,106,107,
108,109,110,111,112,113,114,115,116,117,
- 118,0,120,121,3,66,67,6,71,8,
- 9,74,0,0,1,2,3,4,5,6,
- 7,8,9,64,0,0,25,26,27,70,
- 0,1,2,48,9,22,23,24,37,38,
- 27,28,29,30,31,32,33,34,35,36,
- 0,0,1,2,3,4,5,56,7,8,
- 0,0,1,2,0,64,5,0,7,56,
- 69,70,71,72,73,74,64,64,27,0,
- 1,2,3,4,5,6,7,74,9,88,
- 89,90,91,92,93,94,95,96,97,98,
- 99,100,101,102,0,0,56,106,107,108,
- 109,110,111,112,113,114,115,116,117,118,
- 56,120,121,0,1,2,3,4,5,6,
- 7,8,9,10,11,12,13,14,15,16,
- 17,18,19,20,21,22,23,24,88,89,
- 27,28,29,30,31,32,33,34,35,36,
- 0,1,2,40,4,5,0,7,0,3,
- 0,48,0,1,2,3,4,5,0,7,
- 57,58,59,60,0,62,63,3,65,0,
- 22,23,24,88,89,72,28,29,30,31,
- 32,33,34,35,36,0,1,2,48,0,
- 87,0,1,2,3,4,5,6,7,8,
+ 0,119,120,3,0,72,6,73,8,9,
+ 96,97,0,1,2,3,4,5,6,7,
+ 8,9,63,74,90,25,26,27,69,25,
+ 26,87,88,0,22,23,24,37,38,27,
+ 28,29,30,31,32,33,34,35,36,0,
+ 1,2,3,4,5,55,7,8,0,0,
+ 1,2,0,63,5,3,7,55,68,69,
+ 70,71,72,73,0,63,27,0,1,2,
+ 3,4,5,6,7,73,9,87,88,89,
+ 90,91,92,93,94,95,96,97,98,99,
+ 100,101,0,1,2,105,106,107,108,109,
+ 110,111,112,113,114,115,116,117,0,119,
+ 120,0,1,2,3,4,5,6,7,8,
9,10,11,12,13,14,15,16,17,18,
- 19,20,21,22,23,24,64,48,27,28,
- 29,30,31,32,33,34,35,36,70,0,
- 0,40,0,0,1,2,3,4,5,48,
- 7,0,0,0,0,56,3,56,57,58,
- 59,60,8,62,63,0,65,0,1,2,
- 102,4,5,0,7,107,108,109,110,111,
- 112,113,114,115,116,117,0,48,87,0,
- 1,2,3,4,5,6,7,8,9,10,
- 11,12,13,14,15,16,17,18,19,20,
- 21,22,23,24,0,48,27,28,29,30,
- 31,32,33,34,35,36,0,0,74,40,
- 3,0,1,2,3,4,5,48,7,97,
- 98,90,69,92,71,91,57,58,59,60,
- 64,62,63,101,65,0,1,2,3,4,
- 5,72,7,8,99,0,1,2,3,4,
- 5,6,7,0,9,0,87,0,1,2,
- 3,4,5,6,7,8,9,10,11,12,
- 13,14,15,16,17,18,19,20,21,22,
- 23,24,88,89,27,28,29,30,31,32,
- 33,34,35,36,0,1,2,40,4,64,
- 6,0,0,9,0,48,0,1,2,74,
- 8,5,0,7,57,58,59,60,73,62,
- 63,0,65,0,1,2,73,4,0,72,
- 0,1,2,3,4,5,6,7,0,9,
- 0,0,1,2,87,0,1,2,3,4,
+ 19,20,21,22,23,24,0,0,27,28,
+ 29,30,31,32,33,34,35,36,0,1,
+ 2,40,4,0,6,0,0,9,0,48,
+ 4,8,6,0,100,9,0,56,57,58,
+ 59,8,61,62,0,64,0,22,23,24,
+ 27,0,71,28,29,30,31,32,33,34,
+ 35,36,0,1,2,87,88,86,0,1,
+ 2,3,4,5,6,7,8,9,10,11,
+ 12,13,14,15,16,17,18,19,20,21,
+ 22,23,24,70,0,27,28,29,30,31,
+ 32,33,34,35,36,69,73,63,40,63,
+ 0,1,2,3,4,5,48,7,0,0,
+ 0,3,0,55,56,57,58,59,0,61,
+ 62,9,64,0,0,1,2,101,4,5,
+ 0,7,106,107,108,109,110,111,112,113,
+ 114,115,116,0,86,0,1,2,3,4,
5,6,7,8,9,10,11,12,13,14,
15,16,17,18,19,20,21,22,23,24,
- 68,48,27,28,29,30,31,32,33,34,
- 35,36,0,1,2,40,4,0,6,48,
- 69,9,0,48,64,8,4,0,6,0,
- 3,9,57,58,59,60,102,62,63,69,
- 65,107,0,1,2,0,4,72,6,91,
- 8,9,0,8,0,1,2,3,4,5,
- 8,7,87,0,1,2,3,4,5,6,
- 7,8,9,10,11,12,13,14,15,16,
- 17,18,19,20,21,22,23,24,71,72,
- 27,28,29,30,31,32,33,34,35,36,
- 0,1,2,40,0,0,1,2,3,4,
- 5,48,7,8,10,0,74,88,89,74,
- 57,58,59,60,72,62,63,73,65,0,
- 1,2,27,91,0,1,2,3,4,0,
- 6,0,3,9,3,0,1,2,48,0,
- 87,0,1,2,3,4,5,6,7,8,
- 9,10,11,12,13,14,15,16,17,18,
- 19,20,21,22,23,24,0,48,27,28,
- 29,30,31,32,33,34,35,36,0,1,
- 2,40,4,48,6,0,0,9,64,48,
- 0,0,0,8,0,64,4,6,57,58,
- 59,60,0,62,63,3,65,0,1,2,
- 8,4,27,6,22,0,9,23,24,0,
- 0,0,3,0,0,1,2,8,87,0,
+ 0,63,27,28,29,30,31,32,33,34,
+ 35,36,0,1,2,40,4,0,6,0,
+ 60,9,69,48,0,8,0,3,89,0,
+ 91,56,57,58,59,6,61,62,98,64,
+ 40,22,23,24,96,97,71,28,29,30,
+ 31,32,33,34,35,36,0,0,1,2,
+ 4,86,0,1,2,3,4,5,6,7,
+ 8,9,10,11,12,13,14,15,16,17,
+ 18,19,20,21,22,23,24,70,71,27,
+ 28,29,30,31,32,33,34,35,36,0,
+ 1,2,40,4,5,48,7,0,1,2,
+ 48,4,0,6,0,89,9,91,56,57,
+ 58,59,0,61,62,3,64,0,1,2,
+ 3,4,5,71,7,8,0,0,1,2,
+ 3,4,5,6,7,0,9,48,86,0,
1,2,3,4,5,6,7,8,9,10,
11,12,13,14,15,16,17,18,19,20,
- 21,22,23,24,64,69,27,28,29,30,
- 31,32,33,34,35,36,64,101,48,40,
- 0,69,48,71,0,0,74,48,4,56,
- 0,0,61,64,69,4,57,58,59,60,
- 10,62,63,74,65,103,104,105,0,1,
- 2,0,0,22,0,4,8,3,0,1,
- 2,3,4,5,6,7,87,9,10,11,
+ 21,22,23,24,0,63,27,28,29,30,
+ 31,32,33,34,35,36,0,1,2,40,
+ 63,0,1,2,3,4,5,48,7,8,
+ 73,87,88,0,0,56,57,58,59,72,
+ 61,62,0,64,69,0,1,2,27,0,
+ 71,0,0,1,2,3,4,0,6,25,
+ 26,9,0,0,48,86,0,1,2,3,
+ 4,5,6,7,8,9,10,11,12,13,
+ 14,15,16,17,18,19,20,21,22,23,
+ 24,0,0,27,28,29,30,31,32,33,
+ 34,35,36,0,1,2,40,4,0,6,
+ 65,66,9,0,48,63,25,26,0,0,
+ 63,70,56,57,58,59,8,61,62,10,
+ 64,0,1,2,3,4,5,0,7,0,
+ 1,2,3,4,5,27,7,55,0,1,
+ 2,118,86,0,1,2,3,4,5,6,
+ 7,8,9,10,11,12,13,14,15,16,
+ 17,18,19,20,21,22,23,24,59,0,
+ 27,28,29,30,31,32,33,34,35,36,
+ 0,0,0,40,0,4,48,3,0,1,
+ 2,48,63,72,0,68,8,70,0,56,
+ 57,58,59,22,61,62,0,64,0,3,
+ 0,1,2,0,8,0,1,2,3,4,
+ 5,8,7,0,1,2,0,0,48,86,
+ 0,1,2,3,4,5,6,7,8,9,
+ 10,11,12,13,14,15,16,17,18,19,
+ 20,21,22,23,24,67,48,27,28,29,
+ 30,31,32,33,34,35,36,0,70,63,
+ 40,0,1,2,68,8,70,0,48,73,
+ 67,4,55,102,103,104,56,57,58,59,
+ 121,61,62,0,64,0,1,2,3,4,
+ 5,8,7,0,0,0,3,3,0,1,
+ 2,3,4,5,6,7,86,9,10,11,
12,13,14,15,16,17,18,19,20,21,
- 56,56,0,25,26,3,0,1,2,0,
- 60,37,38,0,0,37,38,39,73,41,
+ 0,0,55,25,26,0,65,66,3,0,
+ 73,37,38,0,0,37,38,39,4,41,
42,43,44,45,46,47,0,49,50,51,
- 52,53,54,55,0,0,68,0,64,61,
- 62,69,8,71,66,67,0,1,2,3,
- 4,5,6,7,48,9,10,11,12,13,
- 14,15,16,17,18,19,20,21,0,56,
- 56,25,26,0,0,0,0,3,3,3,
- 106,8,69,37,38,39,0,41,42,43,
- 44,45,46,47,120,49,50,51,52,53,
- 54,55,68,0,0,1,2,61,95,96,
- 6,8,66,67,0,69,0,1,2,3,
- 4,5,6,7,8,9,10,11,12,13,
- 14,15,16,17,18,19,20,21,0,1,
- 2,25,26,5,70,72,0,0,122,0,
- 1,2,48,37,38,39,0,41,42,43,
- 44,45,46,47,0,49,50,51,52,53,
- 54,55,0,0,0,72,0,61,0,3,
- 8,0,8,10,68,4,48,73,72,0,
- 1,2,3,4,5,6,7,48,9,10,
- 11,12,13,14,15,16,17,18,19,20,
- 21,0,56,40,25,26,70,70,0,0,
- 56,48,4,0,0,69,37,38,39,0,
- 41,42,43,44,45,46,47,56,49,50,
- 51,52,53,54,55,0,74,0,74,0,
- 61,95,96,4,76,66,67,0,1,2,
- 3,4,5,6,7,0,9,10,11,12,
- 13,14,15,16,17,18,19,20,21,56,
- 56,0,25,26,0,56,75,0,4,0,
- 0,0,0,69,37,38,39,8,41,42,
- 43,44,45,46,47,56,49,50,51,52,
- 53,54,55,0,0,70,27,0,61,95,
- 96,56,0,66,67,0,1,2,3,4,
- 5,6,7,8,9,10,11,12,13,14,
- 15,16,17,18,19,20,21,56,0,0,
- 25,26,0,4,64,0,0,0,3,3,
- 73,0,37,38,39,8,41,42,43,44,
- 45,46,47,56,49,50,51,52,53,54,
- 55,0,0,91,27,0,61,73,0,0,
- 0,10,70,68,0,1,2,3,4,5,
+ 52,53,54,0,0,0,73,63,60,61,
+ 39,0,69,65,66,0,1,2,3,4,
+ 5,6,7,90,9,10,11,12,13,14,
+ 15,16,17,18,19,20,21,0,55,55,
+ 25,26,72,0,1,2,0,4,5,105,
+ 7,68,37,38,39,0,41,42,43,44,
+ 45,46,47,119,49,50,51,52,53,54,
+ 0,1,2,68,70,60,6,94,95,0,
+ 65,66,3,68,0,1,2,3,4,5,
6,7,8,9,10,11,12,13,14,15,
- 16,17,18,19,20,21,64,56,70,25,
- 26,40,0,0,0,3,0,39,39,48,
- 0,37,38,39,8,41,42,43,44,45,
- 46,47,0,49,50,51,52,53,54,55,
- 0,0,70,27,3,61,0,0,73,3,
- 70,0,68,0,1,2,3,4,5,6,
- 7,8,9,10,11,12,13,14,15,16,
- 17,18,19,20,21,0,56,0,25,26,
- 3,0,0,0,3,3,73,73,56,0,
- 37,38,39,0,41,42,43,44,45,46,
- 47,0,49,50,51,52,53,54,55,0,
+ 16,17,18,19,20,21,0,1,2,25,
+ 26,5,0,7,68,3,0,0,48,3,
+ 3,37,38,39,8,41,42,43,44,45,
+ 46,47,0,49,50,51,52,53,54,0,
+ 1,2,63,0,60,0,0,0,0,1,
+ 2,67,0,8,8,71,0,1,2,3,
+ 4,5,6,7,0,9,10,11,12,13,
+ 14,15,16,17,18,19,20,21,0,63,
+ 0,25,26,0,1,2,39,48,8,73,
+ 0,0,0,37,38,39,48,41,42,43,
+ 44,45,46,47,72,49,50,51,52,53,
+ 54,68,48,70,0,70,60,3,73,73,
+ 68,65,66,0,1,2,3,4,5,6,
+ 7,48,9,10,11,12,13,14,15,16,
+ 17,18,19,20,21,55,55,55,25,26,
+ 0,0,0,73,4,0,4,0,68,8,
+ 37,38,39,72,41,42,43,44,45,46,
+ 47,0,49,50,51,52,53,54,27,0,
+ 0,0,3,60,94,95,0,0,65,66,
+ 0,1,2,3,4,5,6,7,8,9,
+ 10,11,12,13,14,15,16,17,18,19,
+ 20,21,55,0,0,25,26,4,63,0,
+ 0,0,3,0,3,68,0,37,38,39,
+ 4,41,42,43,44,45,46,47,0,49,
+ 50,51,52,53,54,0,0,0,22,63,
+ 60,94,95,0,0,10,10,67,0,1,
+ 2,3,4,5,6,7,8,9,10,11,
+ 12,13,14,15,16,17,18,19,20,21,
+ 0,0,0,25,26,40,40,0,68,0,
+ 0,4,0,48,48,37,38,39,0,41,
+ 42,43,44,45,46,47,0,49,50,51,
+ 52,53,54,90,0,0,0,3,60,5,
+ 6,0,69,9,8,67,0,0,0,8,
+ 0,0,118,3,0,55,55,55,0,25,
+ 26,3,55,27,55,55,0,55,27,0,
+ 0,37,38,55,0,41,0,3,0,3,
+ 0,55,0,3,0,3,0,3,0,55,
+ 55,3,0,0,0,3,0,63,0,65,
+ 66,0,68,69,70,0,55,0,0,0,
+ 0,0,0,0,0,0,70,0,0,72,
+ 72,87,88,89,70,39,92,93,94,95,
+ 96,97,98,99,100,101,70,0,69,105,
+ 70,107,108,109,110,111,112,113,114,115,
+ 116,0,1,2,3,4,5,6,7,8,
+ 9,10,11,12,13,14,15,16,17,18,
+ 19,20,21,72,69,0,25,26,69,69,
+ 72,69,75,72,90,0,69,69,37,38,
+ 39,0,41,42,43,44,45,46,47,0,
+ 49,50,51,52,53,54,0,1,2,3,
+ 4,5,6,7,0,9,10,11,12,13,
+ 14,15,16,17,18,19,20,21,0,0,
+ 55,25,26,0,0,0,0,0,0,0,
+ 0,0,0,37,38,39,0,41,42,43,
+ 44,45,46,47,0,49,50,51,52,53,
+ 54,0,0,0,0,0,60,0,117,0,
1,2,3,4,5,6,7,0,9,10,
11,12,13,14,15,16,17,18,19,20,
- 21,91,0,0,25,26,3,0,0,0,
- 3,3,0,0,0,70,37,38,39,0,
+ 21,0,0,0,25,26,0,0,0,0,
+ 0,0,0,0,0,0,37,38,39,0,
41,42,43,44,45,46,47,0,49,50,
- 51,52,53,54,55,0,119,0,0,0,
- 61,118,3,0,5,6,0,0,9,11,
- 12,13,14,15,16,17,18,19,20,21,
- 22,23,24,0,25,26,28,29,30,31,
- 32,33,34,35,36,73,37,38,119,70,
- 41,0,70,0,0,39,0,0,0,0,
- 0,0,0,0,0,56,0,0,0,0,
- 0,0,0,64,0,66,67,0,69,70,
- 71,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,88,89,90,
- 0,0,93,94,95,96,97,98,99,100,
- 101,102,0,0,0,106,0,108,109,110,
- 111,112,113,114,115,116,117,0,1,2,
- 3,4,5,6,7,0,9,10,11,12,
- 13,14,15,16,17,18,19,20,21,0,
- 0,0,25,26,0,0,0,0,0,0,
- 0,0,0,0,37,38,39,0,41,42,
- 43,44,45,46,47,0,49,50,51,52,
- 53,54,55,0,1,2,3,4,5,6,
- 7,64,9,10,11,12,13,14,15,16,
- 17,18,19,20,21,0,0,0,25,26,
- 0,0,0,0,0,0,0,0,0,0,
- 37,38,39,0,41,42,43,44,45,46,
- 47,0,49,50,51,52,53,54,55,0,
- 0,0,0,0,61,0,1,2,3,4,
+ 51,52,53,54,0,1,2,3,4,5,
+ 6,7,63,9,10,11,12,13,14,15,
+ 16,17,18,19,20,21,0,0,0,25,
+ 26,0,0,0,0,0,0,0,0,0,
+ 0,37,38,39,0,41,42,43,44,45,
+ 46,47,0,49,50,51,52,53,54,0,
+ 0,0,0,0,60,0,1,2,3,4,
5,6,7,0,9,10,11,12,13,14,
15,16,17,18,19,20,21,0,0,0,
25,26,0,0,0,0,0,0,0,0,
0,0,37,38,39,0,41,42,43,44,
45,46,47,0,49,50,51,52,53,54,
- 55,0,1,2,3,4,5,6,7,0,
- 9,10,11,12,13,14,15,16,17,18,
- 19,20,21,0,0,0,25,26,0,0,
- 0,0,0,0,0,0,0,0,37,38,
- 39,0,41,42,43,44,45,46,47,0,
- 49,50,51,52,53,54,55,0,1,2,
- 3,4,5,6,7,0,9,10,11,12,
- 13,14,15,16,17,18,19,20,21,0,
- 0,0,25,26,0,0,0,0,0,0,
- 0,0,0,0,37,38,39,0,41,42,
- 43,44,45,46,47,0,49,50,51,52,
- 53,54,55,0,1,2,0,4,0,0,
- 0,0,0,10,11,12,13,14,15,16,
- 17,18,19,20,21,22,23,24,0,0,
- 0,28,29,30,31,32,33,34,35,36,
- 0,0,0,40,0,0,0,0,0,0,
- 0,0,0,0,1,2,0,4,0,0,
- 57,58,59,10,11,12,13,14,15,16,
- 17,18,19,20,21,22,23,24,0,0,
- 0,28,29,30,31,32,33,34,35,36,
- 0,0,0,40,0,1,2,3,4,5,
- 6,7,8,9,0,0,0,0,0,0,
- 57,58,59,0,0,0,22,23,24,0,
- 0,27,28,29,30,31,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,64,0,
- 0,0,0,0,0,0,0,0,74,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0
+ 0,1,2,3,4,5,6,7,0,9,
+ 10,11,12,13,14,15,16,17,18,19,
+ 20,21,0,0,0,25,26,0,0,0,
+ 0,0,0,0,0,0,0,37,38,39,
+ 0,41,42,43,44,45,46,47,0,49,
+ 50,51,52,53,54,0,1,2,3,4,
+ 5,6,7,0,9,10,11,12,13,14,
+ 15,16,17,18,19,20,21,0,0,0,
+ 25,26,0,0,0,0,0,0,0,0,
+ 0,0,37,38,39,0,41,42,43,44,
+ 45,46,47,0,49,50,51,52,53,54,
+ 0,1,2,0,4,0,0,0,0,0,
+ 10,11,12,13,14,15,16,17,18,19,
+ 20,21,22,23,24,0,0,0,28,29,
+ 30,31,32,33,34,35,36,0,0,0,
+ 40,0,0,0,0,0,0,0,0,0,
+ 1,2,0,4,0,0,56,57,58,10,
+ 11,12,13,14,15,16,17,18,19,20,
+ 21,22,23,24,0,0,0,28,29,30,
+ 31,32,33,34,35,36,0,0,0,40,
+ 0,1,2,3,4,5,6,7,8,9,
+ 0,0,0,0,0,56,57,58,0,0,
+ 0,0,22,23,24,0,0,27,28,29,
+ 30,31,32,33,34,35,36,11,12,13,
+ 14,15,16,17,18,19,20,21,22,23,
+ 24,0,0,0,28,29,30,31,32,33,
+ 34,35,36,63,0,0,0,0,0,0,
+ 0,0,0,73,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0
};
};
public final static byte termCheck[] = TermCheck.termCheck;
@@ -1456,351 +1453,346 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface TermAction {
public final static char termAction[] = {0,
- 5400,5365,5344,5344,5344,5344,5344,5344,5381,5344,
+ 5399,5364,5343,5343,5343,5343,5343,5343,5380,5343,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,5368,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,5369,1,1,
+ 1,1,1,1,1,1,1,1,137,1,
+ 1,1,1,1,1,1,1,1,1,2140,
+ 1,5572,591,113,3324,1,1,5410,39,3795,
+ 5399,5406,5437,1135,1081,3541,3261,2236,3164,3483,
+ 3183,3520,945,3507,2546,3489,10,5383,5383,5383,
+ 5383,5383,5383,5383,5383,5383,5383,5383,5383,5383,
+ 5383,5383,5383,5383,5383,5383,5383,5383,5383,5383,
+ 5383,5383,5383,5383,5383,5383,5383,5383,5383,5383,
+ 5383,5383,5383,5383,5383,5383,5383,5383,5383,5383,
+ 5383,5383,5383,5383,329,5383,5383,5383,5383,5383,
+ 5383,393,5383,5383,5383,5383,5383,5383,5383,1184,
+ 5383,5383,5383,5383,3820,3772,629,5383,382,5399,
+ 5383,5383,5383,5383,5383,5383,5383,5383,5383,5383,
+ 5383,5383,8,5386,5386,5386,5386,5386,5386,5386,
+ 5386,5386,5386,5386,5386,5386,5386,5386,5386,5386,
+ 5386,5386,5386,5386,5386,5386,5386,5386,5386,5386,
+ 5386,5386,5386,5386,5386,5386,5386,5386,5386,5386,
+ 5386,5386,5386,5386,5386,5386,5386,5386,5386,5386,
+ 5399,5386,5386,5386,5386,5386,5386,2746,5386,5386,
+ 5386,5386,5386,5386,5386,299,5386,5386,5386,5386,
+ 284,5136,5136,5386,281,5697,5386,5386,5386,5386,
+ 5386,5386,5386,5386,5386,5386,5386,5386,5399,5364,
+ 5343,5343,5343,5343,5343,5343,5371,5343,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,117,1,
- 1,1,1,1,1,1,134,1,1,1,
- 2141,1,5574,592,114,3325,1,1,5411,1,
- 3796,330,5407,3748,2770,1082,3542,3262,2237,3165,
- 3484,3184,3521,946,3508,2547,3490,10,5384,5384,
- 5384,5384,5384,5384,5384,5384,5384,5384,5384,5384,
- 5384,5384,5384,5384,5384,5384,5384,5384,5384,5384,
- 5384,5384,5384,5384,5384,5384,5384,5384,5384,5384,
- 5384,5384,5384,5384,5384,5384,5384,5384,5384,5384,
- 5384,5384,5384,5384,5384,119,5384,5384,5384,5384,
- 5384,5384,5384,394,5384,5384,5384,5384,5384,5384,
- 5384,156,5384,5384,5384,5384,2325,3773,630,5384,
- 3748,2770,5384,5384,5384,5384,5384,5384,5384,5384,
- 5384,5384,5384,5384,8,5387,5387,5387,5387,5387,
- 5387,5387,5387,5387,5387,5387,5387,5387,5387,5387,
- 5387,5387,5387,5387,5387,5387,5387,5387,5387,5387,
- 5387,5387,5387,5387,5387,5387,5387,5387,5387,5387,
- 5387,5387,5387,5387,5387,5387,5387,5387,5387,5387,
- 5387,5387,1414,5387,5387,5387,5387,5387,5387,5387,
- 383,5387,5387,5387,5387,5387,5387,5387,514,5387,
- 5387,5387,5387,285,5137,5137,5387,282,5400,5387,
- 5387,5387,5387,5387,5387,5387,5387,5387,5387,5387,
- 5387,5400,5365,5344,5344,5344,5344,5344,5344,5372,
- 5344,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,5369,1,
+ 1,1,1,1,1,5368,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,887,
- 1,1,1,1,1,1,1,438,1,1,
- 1,2141,1,5574,592,361,3325,1,1,5411,
- 5400,5039,5036,5400,5439,5400,1082,3542,3262,2237,
- 3165,3484,3184,3521,946,3508,2547,3490,5400,5365,
- 5344,5344,5344,5344,5344,5344,5372,5344,1,1,
+ 1,1,1,1,1,1,5399,1,1,1,
+ 1,1,1,437,1,1,1,2140,1,5572,
+ 591,5399,3324,1,1,5410,5399,5038,5035,5407,
+ 5437,5399,1081,3541,3261,2236,3164,3483,3183,3520,
+ 945,3507,2546,3489,5399,5364,5343,5343,5343,5343,
+ 5343,5343,5371,5343,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,5369,1,1,1,1,
+ 1,5368,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,3495,1,1,1,
- 1,1,1,1,2747,1,1,1,2141,1,
- 5574,592,116,3325,1,1,5411,110,3796,457,
- 5834,5835,5836,1082,3542,3262,2237,3165,3484,3184,
- 3521,946,3508,2547,3490,5400,5365,5344,5344,5344,
- 5344,5344,5344,5372,5344,1,1,1,1,1,
+ 1,1,5406,1,1,1,1,1,1,133,
+ 1,1,1,2140,1,5572,591,115,3324,1,
+ 1,5410,109,3795,5399,5832,5833,5834,1081,3541,
+ 3261,2236,3164,3483,3183,3520,945,3507,2546,3489,
+ 5399,5364,5343,5343,5343,5343,5343,5343,5371,5343,
1,1,1,1,1,1,1,1,1,1,
- 1,1,5369,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,5368,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,5066,1,1,1,1,1,1,
- 1,135,1,1,1,2141,1,5574,592,288,
- 3325,1,1,5411,40,3773,630,4238,5439,4260,
- 1082,3542,3262,2237,3165,3484,3184,3521,946,3508,
- 2547,3490,5400,5365,5344,5344,5344,5344,5344,5344,
- 5372,5344,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,5369,
+ 1,1,1,1,1,1,1,1,5399,1,
+ 1,1,1,1,1,134,1,1,1,2140,
+ 1,5572,591,129,3324,1,1,5410,2324,3772,
+ 629,4237,593,4259,1081,3541,3261,2236,3164,3483,
+ 3183,3520,945,3507,2546,3489,5399,5364,5343,5343,
+ 5343,5343,5343,5343,5371,5343,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,5368,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 954,1,1,1,1,1,1,1,5400,1,
- 1,1,2141,1,5574,592,115,3325,1,1,
- 5411,2325,3796,120,5400,5414,5415,1082,3542,3262,
- 2237,3165,3484,3184,3521,946,3508,2547,3490,5400,
- 5365,5344,5344,5344,5344,5344,5344,5372,5344,1,
+ 1,1,1,1,5399,1,1,1,1,1,
+ 1,5399,1,1,1,2140,1,5572,591,114,
+ 3324,1,1,5410,2324,3795,119,5399,5413,5414,
+ 1081,3541,3261,2236,3164,3483,3183,3520,945,3507,
+ 2546,3489,5399,5364,5343,5343,5343,5343,5343,5343,
+ 5371,5343,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,5368,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,5369,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,5400,1,1,
- 1,1,1,1,1,5400,1,1,1,2141,
- 1,5574,592,5400,3325,1,1,5411,3407,3773,
- 630,3135,3161,5400,1082,3542,3262,2237,3165,3484,
- 3184,3521,946,3508,2547,3490,5400,5365,5344,5344,
- 5344,5344,5344,5344,5372,5344,1,1,1,1,
+ 5399,1,1,1,1,1,1,5399,1,1,
+ 1,2140,1,5572,591,5399,3324,1,1,5410,
+ 3406,3772,629,3134,3160,5399,1081,3541,3261,2236,
+ 3164,3483,3183,3520,945,3507,2546,3489,5399,5364,
+ 5343,5343,5343,5343,5343,5343,5371,5343,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,5369,1,1,1,1,1,1,
+ 1,1,1,1,1,5368,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,5400,1,1,1,1,1,
- 1,1,2774,1,1,1,2141,1,5574,592,
- 130,3325,1,1,5411,5400,5414,5415,425,594,
- 3407,1082,3542,3262,2237,3165,3484,3184,3521,946,
- 3508,2547,3490,5400,5365,5344,5344,5344,5344,5344,
- 5344,5372,5344,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,334,1,1,1,
+ 1,1,1,2773,1,1,1,2140,1,5572,
+ 591,5399,3324,1,1,5410,5399,5413,5414,5734,
+ 5735,3406,1081,3541,3261,2236,3164,3483,3183,3520,
+ 945,3507,2546,3489,5399,5364,5343,5343,5343,5343,
+ 5343,5343,5371,5343,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 5369,1,1,1,1,1,1,1,1,1,
+ 1,5368,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,5400,1,1,1,1,1,1,1,4437,
- 1,1,1,2141,1,5574,592,448,3325,1,
- 1,5411,5400,5039,5036,5400,5439,5400,1082,3542,
- 3262,2237,3165,3484,3184,3521,946,3508,2547,3490,
- 5400,5365,5344,5344,5344,5344,5344,5344,5372,5344,
+ 1,1,5399,1,1,1,1,1,1,5399,
+ 1,1,1,2140,1,5572,591,1,3324,1,
+ 1,5410,5399,5038,5035,5361,5437,5399,1081,3541,
+ 3261,2236,3164,3483,3183,3520,945,3507,2546,3489,
+ 5399,5364,5343,5343,5343,5343,5343,5343,5371,5343,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,5369,1,1,
+ 1,1,1,1,1,1,1,5368,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,2680,1,
- 1,1,1,1,1,1,2845,1,1,1,
- 2141,1,5574,592,307,3325,1,1,5411,5400,
- 5223,5220,49,5223,5220,1082,3542,3262,2237,3165,
- 3484,3184,3521,946,3508,2547,3490,5400,5365,5344,
- 5344,5344,5344,5344,5344,5372,5344,1,1,1,
+ 1,1,1,1,1,1,1,1,5406,1,
+ 1,1,1,1,1,2844,1,1,1,2140,
+ 1,5572,591,5399,3324,1,1,5410,5399,5222,
+ 5219,48,5222,5219,1081,3541,3261,2236,3164,3483,
+ 3183,3520,945,3507,2546,3489,5399,5364,5343,5343,
+ 5343,5343,5343,5343,5371,5343,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,5369,1,1,1,1,1,
+ 1,1,1,5368,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,2799,1,1,1,1,
- 1,1,1,5400,1,1,1,2141,1,5574,
- 592,5400,3325,1,1,5411,113,5400,346,5404,
- 1136,1615,1082,3542,3262,2237,3165,3484,3184,3521,
- 946,3508,2547,3490,5400,3487,1,1,1,1,
- 1,1,3489,1,1,1,1,1,1,1,
+ 1,1,1,1,5399,1,1,1,1,1,
+ 1,5399,1,1,1,2140,1,5572,591,5399,
+ 3324,1,1,5410,112,5399,89,5403,2438,5071,
+ 1081,3541,3261,2236,3164,3483,3183,3520,945,3507,
+ 2546,3489,5399,3486,1,1,1,1,1,1,
+ 3488,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,5408,
1,1,1,1,1,1,1,1,1,1,
- 1,5409,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1930,1,1,1,1,1,1,1,
- 5400,1,1,1,2141,1,5574,592,5400,3325,
- 1,1,5411,5400,1701,5400,4238,5728,4260,1082,
- 3542,3262,2237,3165,3484,3184,3521,946,3508,2547,
- 3490,40,5039,5036,4807,807,4053,4128,3014,5403,
- 4150,2006,5663,5661,5670,5669,5665,5666,5664,5667,
- 5668,5671,5662,5659,5736,5737,4106,4084,132,5653,
- 5660,5656,5632,5658,5657,5654,5655,5633,4194,4172,
- 5420,5797,4023,733,860,5422,797,3108,811,5400,
- 5423,5421,565,5416,5418,5419,5417,5400,2314,5798,
- 5799,3305,1370,5400,5275,5275,228,5271,228,228,
- 228,5279,228,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,5400,3567,
- 228,1,1,1,1,1,1,1,1,1,
- 5400,5039,5036,1,807,2541,5035,3014,5400,223,
- 5400,5268,1,5127,5123,4493,5131,2541,2846,3014,
- 1,1,1,2582,224,5811,583,2357,5400,5414,
- 5415,5659,5736,5737,5400,415,228,5653,5660,5656,
- 5632,5658,5657,5654,5655,5633,5659,5736,5737,128,
- 5899,5400,5653,5660,5656,5632,5658,5657,5654,5655,
- 5633,396,5414,5415,3202,112,5834,5835,5836,5400,
- 5275,5275,228,5271,228,228,228,5323,228,1,
+ 5399,1,1,1,1,1,1,5399,1,1,
+ 1,2140,1,5572,591,5399,3324,1,1,5410,
+ 5399,1700,5399,4237,5726,4259,1081,3541,3261,2236,
+ 3164,3483,3183,3520,945,3507,2546,3489,39,5038,
+ 5035,4806,806,4052,4127,3013,5402,4149,2005,5661,
+ 5659,5668,5667,5663,5664,5662,5665,5666,5669,5660,
+ 5657,5734,5735,4105,4083,135,5651,5658,5654,5630,
+ 5656,5655,5652,5653,5631,4193,4171,5418,5795,4022,
+ 732,859,5420,796,3107,810,5399,5421,5419,564,
+ 5415,5416,5417,5399,2313,5796,5797,3304,1369,5399,
+ 5274,5274,227,5270,227,227,227,5278,227,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,4216,1449,228,1,1,1,
- 1,1,1,1,1,1,5400,5039,5036,1,
- 807,2541,34,3014,1,5078,5400,5268,5078,118,
- 5078,5078,160,5400,5410,5400,1,1,1,2582,
- 225,5811,583,5406,37,5299,5296,5078,5078,5078,
- 5400,414,228,5409,3748,2770,2474,2401,5400,5078,
- 5078,2439,5659,5736,5737,4238,5899,4260,5653,5660,
- 5656,5632,5658,5657,5654,5655,5633,5400,5078,5400,
- 5223,5220,5834,5835,5836,5406,5078,289,5414,5415,
- 3243,5078,5078,5078,5078,5078,5078,3916,160,366,
- 5127,5123,2553,5131,2541,1,3014,5400,1,5405,
- 5078,5078,5078,5078,5078,5078,5078,5078,5078,5078,
- 5078,5078,5078,5078,5078,5400,8678,8678,5078,5078,
- 5078,5078,5078,5078,5078,5078,5078,5078,5078,5078,
- 5078,5400,5078,5078,5081,4216,1449,5081,4869,5081,
- 5081,5405,456,30,386,386,5238,386,386,5238,
- 386,5238,5238,1930,5400,131,5081,5081,5081,1223,
- 5400,8485,8417,5437,594,386,386,386,5081,5081,
- 5238,386,386,386,386,386,386,386,386,386,
- 5400,1,5127,5123,5314,5131,5320,5081,5317,5410,
- 124,39,5057,5054,5400,5081,5051,5400,3014,5042,
- 5081,5081,5081,5081,5081,5081,5069,5238,5409,308,
- 5127,5123,4493,5131,2541,5335,3014,5238,5335,5081,
- 5081,5081,5081,5081,5081,5081,5081,5081,5081,5081,
- 5081,5081,5081,5081,5400,123,3437,5081,5081,5081,
- 5081,5081,5081,5081,5081,5081,5081,5081,5081,5081,
- 3579,5081,5081,5400,5344,5344,228,5344,228,228,
- 228,5347,228,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,3135,3161,
- 228,1,1,8822,1,1,1,1,1,1,
- 5400,5039,5036,1,807,5084,90,3014,226,5072,
- 5400,5341,1,5127,5123,2553,5131,2541,138,3014,
- 1,1,1,3279,236,5610,592,5232,3325,38,
- 5659,5736,5737,3135,3161,219,5653,5660,5656,5632,
- 5658,5657,5654,5655,5633,5400,8485,8417,933,5400,
- 5899,5400,5344,5344,228,5344,228,228,228,228,
- 228,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1930,5437,228,1,
- 1,8822,1,1,1,1,1,1,1887,48,
- 5400,1,129,330,5039,5036,4493,807,2541,5341,
- 3014,111,136,1,1,3637,3828,3204,1,1,
- 1,3279,362,5610,592,133,3325,5400,5039,5036,
- 1185,807,5084,5400,3014,3821,1844,1801,1758,1715,
- 1672,1629,1586,1543,1500,1457,347,3104,5899,5400,
- 5344,5344,228,5344,228,228,228,5350,228,1,
+ 1,1,1,1,5399,3566,227,1,1,1,
+ 1,1,1,1,1,1,5399,5038,5035,1,
+ 806,5083,123,3013,222,131,5399,5267,392,5133,
+ 5133,5399,281,5399,2845,1,1,1,2581,223,
+ 5809,582,395,5413,5414,2274,5657,5734,5735,356,
+ 414,227,5651,5658,5654,5630,5656,5655,5652,5653,
+ 5631,5657,5734,5735,932,5897,5399,5651,5658,5654,
+ 5630,5656,5655,5652,5653,5631,281,5399,5399,8789,
+ 8789,5832,5833,5834,5399,5274,5274,227,5270,227,
+ 227,227,5322,227,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,3134,
+ 3160,227,1,1,1,1,1,1,1,1,
+ 1,3201,33,2356,1,5077,5435,5399,5077,5399,
+ 5077,5077,5267,37,5261,5261,8,5411,5261,5754,
+ 1,1,1,2581,5396,5809,582,5077,5077,5077,
+ 43,5243,5243,1,127,413,227,5399,5399,5077,
+ 5077,159,343,5038,5035,2552,806,2540,329,3013,
+ 5897,329,5399,5399,1,5258,5258,5077,5255,5399,
+ 329,3424,361,329,122,5077,5832,5833,5834,1,
+ 5077,5077,5077,5077,5077,5077,5410,5034,5240,365,
+ 5126,5122,2552,5130,2540,1,3013,5396,1,5077,
+ 5077,5077,5077,5077,5077,5077,5077,5077,5077,5077,
+ 5077,5077,5077,5077,5399,1929,159,5077,5077,5077,
+ 5077,5077,5077,5077,5077,5077,5077,5077,5077,5077,
+ 5399,5077,5077,5080,116,1967,5080,361,5080,5080,
+ 2473,2400,29,385,385,5237,385,385,5237,385,
+ 5237,5237,1929,3186,361,5080,5080,5080,1222,3747,
+ 2769,3134,3160,5399,385,385,385,5080,5080,5237,
+ 385,385,385,385,385,385,385,385,385,1,
+ 5126,5122,5313,5130,5319,5080,5316,5409,5399,38,
+ 5056,5053,235,5080,5050,5231,3013,5041,5080,5080,
+ 5080,5080,5080,5080,136,5237,5408,307,5126,5122,
+ 4492,5130,2540,5334,3013,5237,5334,5080,5080,5080,
+ 5080,5080,5080,5080,5080,5080,5080,5080,5080,5080,
+ 5080,5080,36,5298,5295,5080,5080,5080,5080,5080,
+ 5080,5080,5080,5080,5080,5080,5080,5080,121,5080,
+ 5080,5399,5343,5343,227,5343,227,227,227,5346,
+ 227,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,5399,5399,227,1,
+ 1,8700,1,1,1,1,1,1,442,1,
+ 1,1,1,5399,5062,224,39,5062,5399,5340,
+ 5437,5409,329,5399,2274,329,137,1,1,1,
+ 3278,5405,5608,591,456,3324,455,5657,5734,5735,
+ 5408,5399,218,5651,5658,5654,5630,5656,5655,5652,
+ 5653,5631,288,5413,5414,3134,3160,5897,5399,5343,
+ 5343,227,5343,227,227,227,227,227,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,122,1266,228,1,1,8822,
- 1,1,1,1,1,1,5400,5400,362,1,
- 3835,1,5127,5123,5314,5131,5320,5341,5317,2474,
- 2401,4238,4439,4260,3353,362,1,1,1,3279,
- 1930,5610,592,2275,3325,1,5127,5123,2553,5131,
- 2541,218,3014,5226,2357,5400,5127,5123,4493,5131,
- 2541,5335,3014,5400,5335,5400,5899,5400,5344,5344,
- 228,5344,228,228,228,5347,228,1,1,1,
+ 1,1,1,3915,5399,227,1,1,8700,1,
+ 1,1,1,1,1,1886,5404,5065,1,5068,
+ 1,5126,5122,4492,5130,2540,5340,3013,345,111,
+ 132,1614,130,3203,1,1,1,3278,128,5608,
+ 591,593,3324,368,5399,5038,5035,1184,806,2540,
+ 530,3013,3820,1843,1800,1757,1714,1671,1628,1585,
+ 1542,1499,1456,5399,5897,5399,5343,5343,227,5343,
+ 227,227,227,5349,227,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,3135,3161,228,1,1,8822,1,1,
- 1,1,1,1,443,1,1,1,1,1930,
- 5063,5400,5400,5063,138,5341,5400,5414,5415,5229,
- 5412,2541,5400,3014,1,1,1,3279,2061,5610,
- 592,5400,3325,393,5134,5134,1968,282,357,219,
- 344,5039,5036,2553,807,2541,330,3014,5400,330,
- 5400,44,5244,5244,5899,5400,5344,5344,228,5344,
- 228,228,228,5347,228,1,1,1,1,1,
+ 5399,1929,227,1,1,8700,1,1,1,1,
+ 1,1,443,39,39,1,5437,5399,5252,225,
+ 3463,5252,1282,5340,1,5407,110,3827,4237,5399,
+ 4259,1,1,1,3278,2089,5608,591,2356,3324,
+ 3242,5657,5734,5735,2473,2400,217,5651,5658,5654,
+ 5630,5656,5655,5652,5653,5631,5399,37,5261,5261,
+ 3358,5897,5399,5343,5343,227,5343,227,227,227,
+ 5346,227,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1002,5406,227,
+ 1,1,8700,1,1,1,1,1,1,5399,
+ 5038,5035,1,806,5083,3378,3013,90,1,1,
+ 5340,1,346,5264,120,4237,5264,4259,1,1,
+ 1,3278,5399,5608,591,3834,3324,1,5126,5122,
+ 2552,5130,2540,218,3013,5225,5399,5399,5126,5122,
+ 4492,5130,2540,5334,3013,366,5334,1265,5897,5399,
+ 5343,5343,227,5343,227,227,227,5346,227,1,
1,1,1,1,1,1,1,1,1,1,
- 5411,282,228,1,1,8822,1,1,1,1,
- 1,1,444,40,40,1,5439,5400,5253,5241,
- 5911,5253,40,5341,1930,5408,5439,5400,330,121,
- 3854,330,1,1,1,3279,1185,5610,592,5840,
- 3325,3821,1,5259,5259,1,5256,219,330,5756,
- 362,330,5400,5406,1,5127,5123,4493,5131,2541,
- 5408,3014,5899,5400,5344,5344,228,5344,228,228,
- 228,228,228,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1003,5407,
- 228,1,1,8822,1,1,1,1,1,1,
- 38,5262,5262,1,300,1,5127,5123,4493,5131,
- 2541,5341,3014,308,5699,5400,362,3135,3161,5405,
- 1,1,1,3279,5407,5610,592,2061,3325,5400,
- 5285,5282,308,362,344,40,40,2434,5439,5400,
- 330,317,3855,330,5326,5400,5292,5288,3379,5400,
- 5899,5400,5344,5344,228,5344,228,228,228,228,
- 228,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,137,5437,228,1,
- 1,8822,1,1,1,1,1,1,91,1,
- 1,1,1,5437,5265,404,5400,5265,1930,5341,
- 99,5400,40,5308,335,1930,5439,2090,1,1,
- 1,3279,1,5610,592,2434,3325,94,40,40,
- 340,5439,5311,5329,1910,5400,5329,5736,5737,1,
- 5400,531,2434,30,46,5305,5305,5226,5899,5400,
- 5344,5344,228,5344,228,228,228,228,228,1,
+ 1,1,1,1,5399,1929,227,1,1,8700,
+ 1,1,1,1,1,1,5399,5284,5281,1,
+ 1929,1,5126,5122,4492,5130,2540,5340,3013,307,
+ 5228,3134,3160,373,118,1,1,1,3278,2060,
+ 5608,591,5399,3324,1326,5399,5413,5414,307,5399,
+ 218,155,343,39,39,2433,5437,98,329,3747,
+ 2769,329,5399,5399,5435,5897,5399,5343,5343,227,
+ 5343,227,227,227,227,227,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,4329,5854,228,1,1,8822,
- 1,1,1,1,1,1,1930,2275,3209,1,
- 5400,340,5302,340,395,30,340,5341,386,5042,
- 300,40,3464,1930,4326,5439,1,1,1,3279,
- 5699,5610,592,5229,3325,5834,5835,5836,5400,5414,
- 5415,5400,5400,2793,75,3359,5412,2546,5400,1,
- 1,1,1,1,1,1,5899,1,1,1,
+ 1,117,5399,227,1,1,8700,1,1,1,
+ 1,1,1,93,39,39,1,5437,5399,5328,
+ 4215,1448,5328,5399,5340,1929,3747,2769,403,299,
+ 4328,1413,1,1,1,3278,5307,5608,591,5697,
+ 3324,1,5126,5122,4492,5130,2540,5399,3013,1,
+ 5126,5122,2552,5130,2540,5310,3013,3436,5399,5291,
+ 5287,3566,5897,5399,5343,5343,227,5343,227,227,
+ 227,227,227,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1706,183,
+ 227,1,1,8700,1,1,1,1,1,1,
+ 37,39,5399,1,5399,5437,5435,3853,5399,5413,
+ 5414,5340,1929,2060,5399,4438,5411,3352,513,1,
+ 1,1,3278,1909,5608,591,1,3324,47,2433,
+ 5399,8621,8218,1,339,329,5038,5035,4492,806,
+ 2540,5358,3013,5399,8621,8218,5399,5399,5435,5897,
+ 5399,5343,5343,227,5343,227,227,227,227,227,
1,1,1,1,1,1,1,1,1,1,
- 728,728,5400,1,1,4327,5400,5285,5282,5400,
- 1707,5463,5464,125,439,1,1,1,423,1,
- 1,1,1,1,1,1,184,1,1,1,
- 1,1,1,1,1,5400,5411,5400,3617,1,
- 5935,3626,5359,3353,1,1,1,5127,5123,4807,
- 5131,4053,4128,3014,5437,4150,5087,5114,5120,5093,
- 5096,5108,5105,5111,5102,5099,5090,5117,5400,2815,
- 5045,4106,4084,1,310,5400,5400,2899,3618,3680,
- 579,5362,5060,4194,4172,5420,5400,4023,733,860,
- 5422,797,3108,811,667,5423,5421,565,5416,5418,
- 5419,5417,5411,8,38,5262,5262,1370,2716,2650,
- 330,5397,40,40,5400,515,40,5039,5036,4807,
- 807,4053,4128,3014,5394,4150,660,5663,5661,5670,
- 5669,5665,5666,5664,5667,5668,5671,5662,38,5262,
- 5262,4106,4084,5262,1093,5407,369,367,5391,38,
- 5262,5262,5437,4194,4172,5420,127,4023,733,860,
- 5422,797,3108,811,453,5423,5421,565,5416,5418,
- 5419,5417,1,1,1,5397,102,1370,5400,4338,
- 527,49,162,5353,5378,5415,3425,5800,5407,140,
- 5039,5036,4807,807,4053,4128,3014,5437,4150,660,
- 5663,5661,5670,5669,5665,5666,5664,5667,5668,5671,
- 5662,1,2815,5356,4106,4084,1283,1327,394,5400,
- 5048,3436,387,386,126,5247,4194,4172,5420,5400,
- 4023,733,860,5422,797,3108,811,5415,5423,5421,
- 565,5416,5418,5419,5417,290,527,5400,162,49,
- 1370,2716,2650,5414,3645,40,40,1,5127,5123,
- 4807,5131,4053,4128,3014,5400,4150,5087,5114,5120,
- 5093,5096,5108,5105,5111,5102,5099,5090,5117,5075,
- 2815,5400,4106,4084,5400,728,3187,427,2320,5400,
- 319,394,1,5250,4194,4172,5420,5410,4023,733,
- 860,5422,797,3108,811,5414,5423,5421,565,5416,
- 5418,5419,5417,5400,447,2099,5409,73,1370,2716,
- 2650,3204,419,40,40,40,5039,5036,4807,807,
- 4053,4128,3014,5375,4150,660,5663,5661,5670,5669,
- 5665,5666,5664,5667,5668,5671,5662,728,36,5400,
- 4106,4084,98,2503,1930,5400,277,1,2304,5338,
- 2844,5400,4194,4172,5420,5410,4023,733,860,5422,
- 797,3108,811,5332,5423,5421,565,5416,5418,5419,
- 5417,1,507,5758,5409,5400,1370,2453,5400,5400,
- 505,5353,2187,5378,40,5039,5036,4807,807,4053,
- 4128,3014,5375,4150,660,5663,5661,5670,5669,5665,
- 5666,5664,5667,5668,5671,5662,1047,3053,2920,4106,
- 4084,5356,5400,5400,5400,3402,1,3348,3320,3436,
- 5400,4194,4172,5420,190,4023,733,860,5422,797,
- 3108,811,2,5423,5421,565,5416,5418,5419,5417,
- 1,5400,4776,190,4341,1370,5400,374,2149,4835,
- 4810,5400,5378,40,5039,5036,4807,807,4053,4128,
- 3014,5404,4150,660,5663,5661,5670,5669,5665,5666,
- 5664,5667,5668,5671,5662,5400,3552,5400,4106,4084,
- 3546,5400,5400,5400,4809,2673,3238,3292,38,520,
- 4194,4172,5420,5400,4023,733,860,5422,797,3108,
- 811,5400,5423,5421,565,5416,5418,5419,5417,40,
- 5039,5036,4807,807,4053,4128,3014,5400,4150,660,
- 5663,5661,5670,5669,5665,5666,5664,5667,5668,5671,
- 5662,3961,5400,5400,4106,4084,4861,5400,5400,5400,
- 4357,4444,509,5400,5400,2920,4194,4172,5420,5400,
- 4023,733,860,5422,797,3108,811,5400,5423,5421,
- 565,5416,5418,5419,5417,5400,3567,5400,222,1,
- 1370,5403,1227,5400,5868,5862,1,5400,5866,5663,
- 5661,5670,5669,5665,5666,5664,5667,5668,5671,5662,
- 5659,5736,5737,5400,5860,5861,5653,5660,5656,5632,
- 5658,5657,5654,5655,5633,3346,5891,5892,3567,2018,
- 5869,5400,735,5400,5400,3323,5400,5400,5400,5400,
- 5400,5400,5400,5400,5400,5871,5400,5400,5400,5400,
- 5400,5400,5400,800,5400,1583,1652,5400,5872,5870,
- 5893,5400,5400,5400,5400,5400,5400,5400,5400,5400,
- 5400,5400,5400,5400,5400,5400,5400,5882,5881,5894,
- 5400,5400,5863,5864,5887,5888,5885,5886,5865,5867,
- 5889,5890,5400,5400,5400,5895,5400,5875,5876,5877,
- 5873,5874,5883,5884,5879,5878,5880,40,5039,5036,
- 4807,807,4053,4128,3014,5400,4150,660,5663,5661,
- 5670,5669,5665,5666,5664,5667,5668,5671,5662,5400,
- 5400,5400,4106,4084,5400,5400,5400,5400,5400,5400,
- 5400,5400,5400,5400,4194,4172,5420,5400,4023,733,
- 860,5422,797,3108,811,5400,5423,5421,565,5416,
- 5418,5419,5417,40,5039,5036,4807,807,4053,4128,
- 3014,1710,4150,660,5663,5661,5670,5669,5665,5666,
- 5664,5667,5668,5671,5662,5400,5400,5400,4106,4084,
- 5400,5400,5400,5400,5400,5400,5400,5400,5400,5400,
- 4194,4172,5420,5400,4023,733,860,5422,797,3108,
- 811,5400,5423,5421,565,5416,5418,5419,5417,5400,
- 5400,5400,5400,5400,1370,40,5039,5036,2898,807,
- 4053,4128,3014,5400,4150,660,5663,5661,5670,5669,
- 5665,5666,5664,5667,5668,5671,5662,5400,5400,5400,
- 4106,4084,5400,5400,5400,5400,5400,5400,5400,5400,
- 5400,5400,4194,4172,5420,5400,4023,733,860,5422,
- 797,3108,811,5400,5423,5421,565,5416,5418,5419,
- 5417,40,5039,5036,4807,807,4053,4128,3014,5400,
- 4150,660,5663,5661,5670,5669,5665,5666,5664,5667,
- 5668,5671,5662,5400,5400,5400,4106,4084,5400,5400,
- 5400,5400,5400,5400,5400,5400,5400,5400,4194,4172,
- 5420,5400,4023,733,860,5422,797,3108,811,5400,
- 5423,5421,565,5416,5418,5419,5417,40,5039,5036,
- 4807,807,4053,4128,3014,5400,4150,660,5663,5661,
- 5670,5669,5665,5666,5664,5667,5668,5671,5662,5400,
- 5400,5400,4106,4084,5400,5400,5400,5400,5400,5400,
- 5400,5400,5400,5400,4194,4172,5420,5400,4023,733,
- 860,5422,797,3108,811,5400,5423,5421,565,5416,
- 5418,5419,5417,5400,5039,5036,5400,5439,5400,5400,
- 5400,5400,5400,789,5663,5661,5670,5669,5665,5666,
- 5664,5667,5668,5671,5662,5659,5736,5737,5400,5400,
- 5400,5653,5660,5656,5632,5658,5657,5654,5655,5633,
- 5400,5400,5400,5797,5400,5400,5400,5400,5400,5400,
- 5400,5400,5400,240,5213,5209,5400,5217,5400,5400,
- 2314,5798,5799,789,5200,5206,5179,5182,5194,5191,
- 5197,5188,5185,5176,5203,5155,5149,5146,5400,5400,
- 5400,5173,5152,5164,5143,5158,5161,5170,5167,5140,
- 5400,5400,5400,5797,33,387,387,5235,387,387,
- 5235,387,5235,5235,5400,5400,5400,5400,5400,5400,
- 2314,5798,5799,5400,5400,5400,387,387,387,5400,
- 5400,5235,387,387,387,387,387,387,387,387,
- 387,5400,5400,5400,5400,5400,5400,5400,5400,5400,
- 5400,5400,5400,5400,5400,5400,5400,5400,5400,5400,
- 5400,5400,5400,5400,5400,5400,5400,5400,5235,5400,
- 5400,5400,5400,5400,5400,5400,5400,5400,5235
+ 1,1,1,1,1,5410,3103,227,1,1,
+ 8700,1,1,1,1,1,1,1,886,1929,
+ 1,5399,5222,5219,339,5405,339,394,5340,339,
+ 5410,385,3578,5832,5833,5834,1,1,1,3278,
+ 5390,5608,591,1,3324,1,5126,5122,5313,5130,
+ 5319,361,5316,309,74,5399,2898,2545,5399,1,
+ 1,1,1,1,1,1,5897,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 5399,5399,727,1,1,5399,4215,1448,3854,5399,
+ 5404,5461,5462,124,48,1,1,1,5414,1,
+ 1,1,1,1,1,1,5399,1,1,1,
+ 1,1,1,5399,360,5399,361,3616,1,5933,
+ 3347,5399,1092,1,1,1,5126,5122,4806,5130,
+ 4052,4127,3013,361,4149,5086,5113,5119,5092,5095,
+ 5107,5104,5110,5101,5098,5089,5116,5399,2814,5414,
+ 4105,4083,5798,5399,5038,5035,5399,806,2540,578,
+ 3013,5059,4193,4171,5418,5399,4022,732,859,5420,
+ 796,3107,810,666,5421,5419,564,5415,5416,5417,
+ 37,5261,5261,5909,3494,1369,329,2715,2649,316,
+ 39,39,5325,514,39,5038,5035,4806,806,4052,
+ 4127,3013,5393,4149,659,5661,5659,5668,5667,5663,
+ 5664,5662,5665,5666,5669,5660,5399,5413,5414,4105,
+ 4083,2540,5399,3013,5838,4326,1,5399,5435,2433,
+ 3617,4193,4171,5418,5225,4022,732,859,5420,796,
+ 3107,810,426,5421,5419,564,5415,5416,5417,45,
+ 5304,5304,1929,5399,1369,5399,1,5399,5399,5284,
+ 5281,5377,5399,5405,526,5406,139,5038,5035,4806,
+ 806,4052,4127,3013,5399,4149,659,5661,5659,5668,
+ 5667,5663,5664,5662,5665,5666,5669,5660,5399,1929,
+ 1,4105,4083,37,5261,5261,3319,5301,161,5228,
+ 126,29,5399,4193,4171,5418,5435,4022,732,859,
+ 5420,796,3107,810,2843,5421,5419,564,5415,5416,
+ 5417,3625,3208,3352,5399,4868,1369,3679,5404,526,
+ 5852,39,39,1,5126,5122,4806,5130,4052,4127,
+ 3013,5435,4149,5086,5113,5119,5092,5095,5107,5104,
+ 5110,5101,5098,5089,5116,2814,727,3636,4105,4083,
+ 393,5399,5399,161,386,318,2319,125,5246,5409,
+ 4193,4171,5418,422,4022,732,859,5420,796,3107,
+ 810,5399,5421,5419,564,5415,5416,5417,5408,101,
+ 5399,5399,4337,1369,2715,2649,97,5399,39,39,
+ 39,5038,5035,4806,806,4052,4127,3013,5374,4149,
+ 659,5661,5659,5668,5667,5663,5664,5662,5665,5666,
+ 5669,5660,2814,5399,519,4105,4083,2502,1929,5399,
+ 5399,276,2303,1,5337,5249,39,4193,4171,5418,
+ 5437,4022,732,859,5420,796,3107,810,5399,5421,
+ 5419,564,5415,5416,5417,1,1,5399,2792,1046,
+ 1369,2715,2649,289,5399,5352,5352,5377,39,5038,
+ 5035,4806,806,4052,4127,3013,5374,4149,659,5661,
+ 5659,5668,5667,5663,5664,5662,5665,5666,5669,5660,
+ 29,438,452,4105,4083,5355,5355,48,4325,385,
+ 5399,5413,5399,3435,3435,4193,4171,5418,393,4022,
+ 732,859,5420,796,3107,810,72,5421,5419,564,
+ 5415,5416,5417,5756,1,5399,1,1226,1369,5866,
+ 5860,1,2098,5864,5409,5377,287,446,5399,189,
+ 5399,5399,3566,3401,424,5041,5044,5047,5399,5858,
+ 5859,4340,5413,5408,5074,727,447,3203,189,418,
+ 306,5889,5890,727,5399,5867,5399,4834,5399,3545,
+ 5399,5331,5399,4808,5399,2672,1,4860,5399,5869,
+ 3052,4356,5399,5399,1,4443,5399,799,5399,1582,
+ 1651,5399,5870,5868,5891,35,3551,5399,5399,506,
+ 504,5399,5399,5399,5399,5399,953,5399,508,2452,
+ 2148,5880,5879,5892,4436,3322,5861,5862,5885,5886,
+ 5883,5884,5863,5865,5887,5888,2679,5399,2186,5893,
+ 2798,5873,5874,5875,5871,5872,5881,5882,5877,5876,
+ 5878,39,5038,5035,4806,806,4052,4127,3013,5403,
+ 4149,659,5661,5659,5668,5667,5663,5664,5662,5665,
+ 5666,5669,5660,3237,2919,2,4105,4083,4775,4809,
+ 3291,2919,3644,3345,3960,5399,2017,734,4193,4171,
+ 5418,5399,4022,732,859,5420,796,3107,810,5399,
+ 5421,5419,564,5415,5416,5417,39,5038,5035,4806,
+ 806,4052,4127,3013,5399,4149,659,5661,5659,5668,
+ 5667,5663,5664,5662,5665,5666,5669,5660,5399,5399,
+ 37,4105,4083,5399,5399,5399,5399,5399,5399,5399,
+ 5399,5399,5399,4193,4171,5418,5399,4022,732,859,
+ 5420,796,3107,810,5399,5421,5419,564,5415,5416,
+ 5417,5399,5399,5399,5399,5399,1369,5399,5402,39,
+ 5038,5035,4806,806,4052,4127,3013,5399,4149,659,
+ 5661,5659,5668,5667,5663,5664,5662,5665,5666,5669,
+ 5660,5399,5399,5399,4105,4083,5399,5399,5399,5399,
+ 5399,5399,5399,5399,5399,5399,4193,4171,5418,5399,
+ 4022,732,859,5420,796,3107,810,5399,5421,5419,
+ 564,5415,5416,5417,39,5038,5035,4806,806,4052,
+ 4127,3013,1709,4149,659,5661,5659,5668,5667,5663,
+ 5664,5662,5665,5666,5669,5660,5399,5399,5399,4105,
+ 4083,5399,5399,5399,5399,5399,5399,5399,5399,5399,
+ 5399,4193,4171,5418,5399,4022,732,859,5420,796,
+ 3107,810,5399,5421,5419,564,5415,5416,5417,5399,
+ 5399,5399,5399,5399,1369,39,5038,5035,2897,806,
+ 4052,4127,3013,5399,4149,659,5661,5659,5668,5667,
+ 5663,5664,5662,5665,5666,5669,5660,5399,5399,5399,
+ 4105,4083,5399,5399,5399,5399,5399,5399,5399,5399,
+ 5399,5399,4193,4171,5418,5399,4022,732,859,5420,
+ 796,3107,810,5399,5421,5419,564,5415,5416,5417,
+ 39,5038,5035,4806,806,4052,4127,3013,5399,4149,
+ 659,5661,5659,5668,5667,5663,5664,5662,5665,5666,
+ 5669,5660,5399,5399,5399,4105,4083,5399,5399,5399,
+ 5399,5399,5399,5399,5399,5399,5399,4193,4171,5418,
+ 5399,4022,732,859,5420,796,3107,810,5399,5421,
+ 5419,564,5415,5416,5417,39,5038,5035,4806,806,
+ 4052,4127,3013,5399,4149,659,5661,5659,5668,5667,
+ 5663,5664,5662,5665,5666,5669,5660,5399,5399,5399,
+ 4105,4083,5399,5399,5399,5399,5399,5399,5399,5399,
+ 5399,5399,4193,4171,5418,5399,4022,732,859,5420,
+ 796,3107,810,5399,5421,5419,564,5415,5416,5417,
+ 5399,5038,5035,5399,5437,5399,5399,5399,5399,5399,
+ 788,5661,5659,5668,5667,5663,5664,5662,5665,5666,
+ 5669,5660,5657,5734,5735,5399,5399,5399,5651,5658,
+ 5654,5630,5656,5655,5652,5653,5631,5399,5399,5399,
+ 5795,5399,5399,5399,5399,5399,5399,5399,5399,239,
+ 5212,5208,5399,5216,5399,5399,2313,5796,5797,788,
+ 5199,5205,5178,5181,5193,5190,5196,5187,5184,5175,
+ 5202,5154,5148,5145,5399,5399,5399,5172,5151,5163,
+ 5142,5157,5160,5169,5166,5139,5399,5399,5399,5795,
+ 32,386,386,5234,386,386,5234,386,5234,5234,
+ 5399,5399,5399,5399,5399,2313,5796,5797,5399,5399,
+ 5399,5399,386,386,386,5399,221,5234,386,386,
+ 386,386,386,386,386,386,386,5661,5659,5668,
+ 5667,5663,5664,5662,5665,5666,5669,5660,5657,5734,
+ 5735,5399,5399,5399,5651,5658,5654,5630,5656,5655,
+ 5652,5653,5631,5234,5399,5399,5399,5399,5399,5399,
+ 5399,5399,5399,5234
};
};
public final static char termAction[] = TermAction.termAction;
@@ -1808,60 +1800,60 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface Asb {
public final static char asb[] = {0,
- 176,7,384,1,218,837,837,837,837,1113,
- 218,576,576,753,576,169,368,171,385,385,
- 385,385,385,385,385,385,385,578,584,589,
- 586,593,591,598,596,600,599,601,233,602,
- 384,384,793,793,793,793,424,632,15,15,
- 573,793,478,127,576,576,15,424,127,127,
- 118,368,945,792,1028,1115,1050,384,576,578,
- 556,556,632,384,385,385,385,385,385,385,
- 385,385,385,385,385,385,385,385,385,385,
- 385,385,385,384,384,384,384,384,384,384,
- 384,384,384,384,384,385,127,939,939,939,
- 939,331,127,15,15,1111,1039,1050,80,1050,
- 75,1050,626,1050,1034,1113,424,478,478,15,
- 837,385,1111,437,700,690,689,481,1057,1057,
- 1113,171,478,792,384,422,1027,421,423,421,
- 127,478,586,586,584,584,584,591,591,591,
- 591,589,589,596,593,593,599,598,600,1127,
- 601,218,218,218,218,424,424,939,938,939,
- 573,424,283,286,77,330,78,1113,424,424,
- 331,939,118,478,617,127,702,704,424,1028,
- 385,793,582,83,127,1115,424,424,423,1028,
- 384,384,384,384,384,218,218,368,284,569,
- 286,424,749,677,747,331,80,335,424,331,
- 424,127,694,682,693,704,331,422,127,582,
- 1111,1027,1115,424,422,127,127,127,127,632,
- 632,284,569,827,424,286,1127,78,837,333,
- 68,1117,286,749,748,749,749,331,335,335,
- 424,424,427,384,691,691,220,220,424,698,
- 1111,893,127,424,582,583,582,384,83,73,
- 578,1115,127,127,569,568,1028,517,80,939,
- 837,421,563,1119,418,218,749,749,749,749,
- 424,335,827,825,826,427,384,384,704,424,
- 1028,127,702,682,427,1092,582,632,385,478,
- 73,569,422,517,517,840,302,422,749,749,
- 418,622,385,1127,228,830,424,1111,749,749,
- 739,827,385,424,933,704,427,583,127,478,
- 623,827,675,988,275,218,78,877,517,517,
- 302,422,749,80,1113,1119,385,385,1027,418,
- 885,820,740,424,933,127,933,839,275,675,
- 889,1113,827,938,837,9,9,623,80,348,
- 885,424,218,739,424,1113,1113,424,218,926,
- 933,840,517,623,227,622,127,1113,424,302,
- 840,302,937,937,941,349,1113,424,632,424,
- 424,424,705,926,517,384,131,418,623,424,
- 424,302,793,793,941,348,1127,385,1127,623,
- 347,218,218,218,349,218,424,241,623,623,
- 424,80,127,424,424,126,928,827,127,827,
- 80,424,623,938,340,218,340,349,1127,349,
- 368,368,366,943,368,623,623,231,941,793,
- 928,827,131,623,737,893,349,127,418,127,
- 366,275,218,127,941,131,9,127,127,1105,
- 349,231,349,623,275,384,349,346,826,937,
- 80,80,1107,384,347,632,623,127,621,130,
- 421,349,127,623,621,621,349
+ 174,7,380,1,215,830,830,830,830,1105,
+ 215,570,570,746,570,167,364,169,381,381,
+ 381,381,381,381,381,381,381,572,578,583,
+ 580,587,585,592,590,594,593,595,230,596,
+ 380,380,786,786,786,786,419,626,15,15,
+ 567,786,472,126,570,570,15,419,126,126,
+ 117,364,938,785,1020,1107,1042,380,570,572,
+ 550,550,626,380,381,381,381,381,381,381,
+ 381,381,381,381,381,381,381,381,381,381,
+ 381,381,381,380,380,380,380,380,380,380,
+ 380,380,380,380,380,381,126,932,932,932,
+ 932,327,126,15,15,1103,1031,1042,79,1042,
+ 74,1042,620,1042,1026,1105,419,472,472,15,
+ 830,381,1103,432,693,683,682,475,1049,1049,
+ 1105,169,472,785,380,417,1019,416,418,416,
+ 126,472,580,580,578,578,578,585,585,585,
+ 585,583,583,590,587,587,593,592,594,1119,
+ 595,215,215,215,215,419,419,932,931,932,
+ 567,419,279,282,76,326,77,1105,419,419,
+ 327,932,117,472,611,126,695,697,419,1020,
+ 381,786,576,82,126,1107,419,419,418,1020,
+ 380,380,380,380,380,215,215,364,280,563,
+ 282,419,742,670,740,327,79,331,419,327,
+ 419,126,687,675,686,697,327,417,126,576,
+ 1103,1019,1107,419,417,126,126,126,126,626,
+ 626,280,563,820,419,282,1119,77,830,329,
+ 67,1109,282,742,741,742,742,327,331,331,
+ 419,419,422,380,684,684,217,217,419,691,
+ 1103,886,126,419,576,577,576,380,82,72,
+ 572,1107,126,126,563,562,1020,511,79,932,
+ 830,416,557,1111,413,215,742,742,742,742,
+ 419,331,820,818,819,422,380,380,697,419,
+ 1020,126,695,675,422,1084,576,626,381,472,
+ 72,563,417,511,511,833,298,417,742,742,
+ 413,616,381,1119,225,823,419,1103,742,742,
+ 732,820,381,419,926,697,422,577,126,472,
+ 617,820,668,980,271,215,77,870,511,511,
+ 298,417,742,79,1105,1111,381,381,1019,413,
+ 878,813,733,419,926,126,926,832,271,668,
+ 882,1105,820,931,830,9,9,617,79,344,
+ 878,419,215,732,419,1105,1105,419,215,919,
+ 926,833,511,617,224,616,126,1105,419,298,
+ 833,298,930,930,934,345,1105,419,626,419,
+ 419,419,698,919,511,380,130,413,617,419,
+ 419,298,786,786,934,344,1119,381,1119,617,
+ 343,215,215,215,345,215,419,238,617,617,
+ 419,79,126,419,419,125,921,820,126,820,
+ 79,419,617,931,336,215,336,345,1119,345,
+ 364,364,362,936,364,617,617,228,934,786,
+ 921,820,130,617,730,886,345,126,413,126,
+ 362,271,215,126,934,130,9,126,126,1097,
+ 345,228,345,617,271,380,345,342,819,930,
+ 79,79,1099,380,343,626,617,126,615,129,
+ 416,345,126,617,615,615,345
};
};
public final static char asb[] = Asb.asb;
@@ -1869,119 +1861,118 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface Asr {
public final static byte asr[] = {0,
- 8,73,118,74,27,71,121,0,69,70,
- 71,1,2,0,28,11,12,40,23,42,
- 66,13,43,57,29,30,44,14,31,32,
- 15,16,33,67,34,45,17,18,46,35,
- 47,58,49,61,50,36,51,59,19,22,
+ 8,72,117,73,27,70,120,0,68,69,
+ 70,1,2,0,28,11,12,40,23,42,
+ 65,13,43,56,29,30,44,14,31,32,
+ 15,16,33,66,34,45,17,18,46,35,
+ 47,57,49,60,50,36,51,58,19,22,
20,24,21,52,53,54,39,3,37,38,
- 9,6,25,26,41,69,55,7,1,2,
- 4,10,5,0,48,4,73,1,2,68,
- 8,0,92,90,25,26,93,94,88,89,
- 56,95,96,97,98,99,100,101,102,107,
- 73,91,70,108,109,110,111,112,113,114,
- 115,116,117,118,72,27,121,69,1,2,
- 9,6,4,3,64,71,74,8,0,72,
- 61,37,38,9,6,25,26,41,46,3,
- 4,52,55,53,54,39,50,44,49,12,
- 21,11,17,15,16,18,19,14,13,20,
- 10,43,47,45,42,51,68,8,7,5,
- 1,2,67,66,0,11,12,42,66,13,
- 43,44,14,15,16,67,7,45,17,18,
- 46,47,49,61,50,51,10,19,20,21,
- 52,53,54,39,1,2,37,38,9,6,
- 25,26,5,41,4,55,62,3,0,75,
- 69,73,91,74,68,64,3,8,71,27,
- 70,0,69,73,91,71,118,74,72,121,
- 11,12,42,66,13,43,44,14,15,16,
- 67,45,17,18,46,47,49,61,50,51,
- 10,19,20,21,52,53,54,39,37,38,
- 25,26,41,55,8,27,5,7,1,2,
- 4,3,9,6,0,87,60,7,103,104,
- 105,63,8,3,9,6,5,73,72,27,
- 62,28,11,12,40,23,13,57,29,30,
- 14,31,32,15,16,33,34,17,18,35,
- 58,36,10,59,19,22,20,24,21,4,
- 1,2,48,0,1,2,8,72,0,87,
- 103,104,105,48,73,119,122,72,62,75,
- 63,60,65,77,79,85,83,76,81,82,
- 84,86,68,78,80,27,8,28,40,23,
- 57,29,30,31,32,33,34,35,58,36,
- 59,22,24,61,66,67,10,43,47,45,
- 42,51,12,21,11,17,15,16,18,19,
- 14,13,20,52,55,53,54,39,50,44,
- 49,37,38,25,26,41,46,9,6,3,
- 4,7,5,1,2,0,23,61,24,8,
- 69,91,70,71,74,0,66,67,3,10,
- 43,47,45,42,51,12,21,11,17,15,
- 16,18,19,14,13,20,52,55,53,54,
- 39,50,44,49,5,7,4,37,38,9,
- 6,25,26,41,46,1,2,118,8,0,
- 28,11,12,23,13,29,30,14,31,32,
- 15,16,33,7,34,17,18,35,36,19,
- 22,20,24,21,1,2,8,64,9,6,
- 5,4,74,27,3,0,65,28,11,12,
- 40,23,13,57,29,87,30,14,31,32,
- 15,16,33,60,34,17,18,35,58,36,
- 10,59,19,63,22,20,24,21,8,3,
- 9,6,72,27,62,7,4,48,5,1,
- 2,0,8,73,68,75,0,61,23,7,
- 24,5,1,2,4,75,68,120,106,37,
- 38,64,3,92,90,6,93,94,25,26,
- 89,88,56,95,96,97,98,9,99,100,
- 101,69,91,74,121,70,108,109,110,111,
- 112,113,114,115,116,117,73,118,102,107,
- 72,71,27,8,0,4,8,68,1,2,
- 0,8,74,11,12,42,66,13,43,44,
- 14,15,16,67,7,45,17,18,46,47,
- 49,61,50,51,10,19,20,21,52,53,
- 54,1,2,3,37,38,9,6,25,26,
- 5,41,4,55,39,0,4,8,73,68,
- 0,9,6,7,5,4,1,2,3,64,
- 69,70,71,8,74,91,0,5,7,3,
- 64,6,9,91,28,11,12,23,13,57,
- 29,30,14,31,32,15,16,33,34,17,
- 18,35,58,36,10,59,19,22,20,24,
- 21,1,2,4,74,8,40,0,22,1,
- 2,4,103,104,105,0,4,56,8,73,
- 68,0,67,66,25,26,6,93,94,99,
- 9,100,5,41,70,56,69,111,112,108,
- 109,110,116,115,117,89,88,113,114,97,
- 98,95,96,101,102,37,38,71,90,106,
- 64,3,28,11,12,40,23,13,57,29,
- 30,14,31,32,15,16,33,34,17,18,
- 35,58,36,10,59,19,20,24,21,1,
- 2,4,22,0,70,71,72,8,0,73,
- 8,64,3,70,71,27,56,0,68,40,
- 23,13,57,29,14,31,32,15,16,33,
- 34,17,18,35,58,36,59,19,22,20,
- 24,21,12,11,28,8,3,9,6,27,
- 63,65,87,30,62,48,7,1,2,5,
- 4,10,60,0,8,68,71,0,8,68,
- 70,0,28,11,12,40,23,13,57,29,
- 30,14,31,32,15,16,33,34,17,18,
- 35,58,36,10,59,19,22,20,24,21,
- 1,2,4,91,0,23,24,75,3,73,
- 27,68,61,8,91,74,70,71,69,0,
- 119,0,76,0,66,67,37,38,9,6,
- 25,26,5,41,46,3,4,7,52,55,
- 53,54,39,50,44,49,12,21,11,17,
- 15,16,18,19,14,13,20,10,43,47,
- 45,42,51,64,1,2,0,40,23,13,
- 57,29,14,31,32,15,16,33,34,17,
- 18,35,58,36,10,59,19,22,20,24,
- 21,12,11,28,8,3,9,27,63,60,
- 65,87,30,62,56,4,6,7,1,2,
- 5,48,0,10,57,40,58,59,12,21,
- 11,17,15,16,18,19,14,13,20,75,
- 73,91,118,72,68,121,120,92,106,90,
- 37,38,25,26,93,94,88,89,56,69,
- 95,96,97,98,99,100,101,102,107,70,
- 108,109,110,111,112,113,114,115,116,117,
- 71,28,23,29,30,31,32,33,34,35,
- 36,22,24,27,8,74,3,64,7,5,
- 9,6,1,2,4,0,27,8,3,7,
- 5,9,6,4,1,2,73,0
+ 9,6,25,26,41,68,7,1,2,4,
+ 10,5,0,48,4,72,1,2,67,8,
+ 0,91,89,25,26,92,93,87,88,55,
+ 94,95,96,97,98,99,100,101,106,72,
+ 90,69,107,108,109,110,111,112,113,114,
+ 115,116,117,71,27,120,68,1,2,9,
+ 6,4,3,63,70,73,8,0,71,60,
+ 37,38,9,6,25,26,41,46,3,4,
+ 52,53,54,39,50,44,49,12,21,11,
+ 17,15,16,18,19,14,13,20,10,43,
+ 47,45,42,51,67,8,7,5,1,2,
+ 66,65,0,11,12,42,65,13,43,44,
+ 14,15,16,66,7,45,17,18,46,47,
+ 49,60,50,51,10,19,20,21,52,53,
+ 54,39,1,2,37,38,9,6,25,26,
+ 5,41,4,61,3,0,74,68,72,90,
+ 73,67,63,3,8,70,27,69,0,68,
+ 72,90,70,117,73,71,120,11,12,42,
+ 65,13,43,44,14,15,16,66,45,17,
+ 18,46,47,49,60,50,51,10,19,20,
+ 21,52,53,54,39,37,38,25,26,41,
+ 8,27,5,7,1,2,4,3,9,6,
+ 0,86,59,7,102,103,104,62,8,3,
+ 9,6,5,72,71,27,61,28,11,12,
+ 40,23,13,56,29,30,14,31,32,15,
+ 16,33,34,17,18,35,57,36,10,58,
+ 19,22,20,24,21,4,1,2,48,0,
+ 1,2,8,71,0,86,102,103,104,48,
+ 72,118,121,71,61,74,62,59,64,76,
+ 78,84,82,75,80,81,83,85,67,77,
+ 79,27,8,28,40,23,56,29,30,31,
+ 32,33,34,35,57,36,58,22,24,60,
+ 65,66,10,43,47,45,42,51,12,21,
+ 11,17,15,16,18,19,14,13,20,52,
+ 53,54,39,50,44,49,37,38,25,26,
+ 41,46,9,6,3,4,7,5,1,2,
+ 0,23,60,24,8,68,90,69,70,73,
+ 0,65,66,3,10,43,47,45,42,51,
+ 12,21,11,17,15,16,18,19,14,13,
+ 20,52,53,54,39,50,44,49,5,7,
+ 4,37,38,9,6,25,26,41,46,1,
+ 2,117,8,0,28,11,12,23,13,29,
+ 30,14,31,32,15,16,33,7,34,17,
+ 18,35,36,19,22,20,24,21,1,2,
+ 8,63,9,6,5,4,73,27,3,0,
+ 64,28,11,12,40,23,13,56,29,86,
+ 30,14,31,32,15,16,33,59,34,17,
+ 18,35,57,36,10,58,19,62,22,20,
+ 24,21,8,3,9,6,71,27,61,7,
+ 4,48,5,1,2,0,8,72,67,74,
+ 0,60,23,7,24,5,1,2,4,74,
+ 67,119,105,37,38,63,3,91,89,6,
+ 92,93,25,26,88,87,55,94,95,96,
+ 97,9,98,99,100,68,90,73,120,69,
+ 107,108,109,110,111,112,113,114,115,116,
+ 72,117,101,106,71,70,27,8,0,4,
+ 8,67,1,2,0,8,73,11,12,42,
+ 65,13,43,44,14,15,16,66,7,45,
+ 17,18,46,47,49,60,50,51,10,19,
+ 20,21,52,53,54,1,2,3,37,38,
+ 9,6,25,26,5,41,4,39,0,4,
+ 8,72,67,0,9,6,7,5,4,1,
+ 2,3,63,68,69,70,8,73,90,0,
+ 5,7,3,63,6,9,90,28,11,12,
+ 23,13,56,29,30,14,31,32,15,16,
+ 33,34,17,18,35,57,36,10,58,19,
+ 22,20,24,21,1,2,4,73,8,40,
+ 0,22,1,2,4,102,103,104,0,4,
+ 55,8,72,67,0,66,65,25,26,6,
+ 92,93,98,9,99,5,41,69,55,68,
+ 110,111,107,108,109,115,114,116,88,87,
+ 112,113,96,97,94,95,100,101,37,38,
+ 70,89,105,63,3,28,11,12,40,23,
+ 13,56,29,30,14,31,32,15,16,33,
+ 34,17,18,35,57,36,10,58,19,20,
+ 24,21,1,2,4,22,0,69,70,71,
+ 8,0,72,8,63,3,69,70,27,55,
+ 0,67,40,23,13,56,29,14,31,32,
+ 15,16,33,34,17,18,35,57,36,58,
+ 19,22,20,24,21,12,11,28,8,3,
+ 9,6,27,62,64,86,30,61,48,7,
+ 1,2,5,4,10,59,0,8,67,70,
+ 0,8,67,69,0,28,11,12,40,23,
+ 13,56,29,30,14,31,32,15,16,33,
+ 34,17,18,35,57,36,10,58,19,22,
+ 20,24,21,1,2,4,90,0,23,24,
+ 74,3,72,27,67,60,8,90,73,69,
+ 70,68,0,118,0,75,0,65,66,37,
+ 38,9,6,25,26,5,41,46,3,4,
+ 7,52,53,54,39,50,44,49,12,21,
+ 11,17,15,16,18,19,14,13,20,10,
+ 43,47,45,42,51,63,1,2,0,40,
+ 23,13,56,29,14,31,32,15,16,33,
+ 34,17,18,35,57,36,10,58,19,22,
+ 20,24,21,12,11,28,8,3,9,27,
+ 62,59,64,86,30,61,55,4,6,7,
+ 1,2,5,48,0,10,56,40,57,58,
+ 12,21,11,17,15,16,18,19,14,13,
+ 20,74,72,90,117,71,67,120,119,91,
+ 105,89,37,38,25,26,92,93,87,88,
+ 55,68,94,95,96,97,98,99,100,101,
+ 106,69,107,108,109,110,111,112,113,114,
+ 115,116,70,28,23,29,30,31,32,33,
+ 34,35,36,22,24,27,8,73,3,63,
+ 7,5,9,6,1,2,4,0,27,8,
+ 3,7,5,9,6,4,1,2,72,0
};
};
public final static byte asr[] = Asr.asr;
@@ -2091,14 +2082,14 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
107,104,54,106,11,12,120,47,64,66,
70,73,76,83,89,98,7,8,112,53,
14,55,61,67,84,88,90,93,94,97,
- 99,109,110,111,123,19,63,91,101,77,
- 95,122,103,1,46,58,78,121,20,33,
- 44,119,30,118,96,108,49,50,56,57,
- 59,69,71,72,85,92,65,17,18,6,
- 32,4,15,16,21,22,23,24,25,26,
- 27,28,80,81,82,5,29,34,35,36,
- 37,38,39,40,41,42,43,117,51,3,
- 124,62,116
+ 99,109,110,111,19,63,91,101,77,95,
+ 122,103,1,46,58,78,121,20,33,44,
+ 119,30,118,96,108,49,50,56,57,59,
+ 69,71,72,85,92,65,17,18,6,32,
+ 4,15,16,21,22,23,24,25,26,27,
+ 28,80,81,82,5,29,34,35,36,37,
+ 38,39,40,41,42,43,117,51,3,123,
+ 62,116
};
};
public final static char terminalIndex[] = TerminalIndex.terminalIndex;
@@ -2106,26 +2097,26 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface NonterminalIndex {
public final static char nonterminalIndex[] = {0,
- 131,136,137,0,0,135,0,0,230,236,
- 134,0,144,133,0,0,143,149,0,0,
- 150,159,181,160,161,162,163,164,152,165,
- 166,167,142,168,127,169,0,129,132,130,
- 170,0,139,138,153,178,0,0,0,0,
- 0,0,0,0,173,0,156,0,205,0,
- 146,188,202,206,0,0,128,172,0,0,
- 0,0,0,0,207,176,0,0,0,0,
- 0,0,126,179,0,0,187,0,0,203,
- 213,158,209,210,211,0,0,147,0,0,
- 208,221,175,197,0,0,212,0,0,0,
- 0,241,242,0,148,180,190,191,192,193,
- 194,196,199,0,200,0,215,218,0,220,
- 0,239,0,240,0,0,140,141,145,0,
- 0,155,157,0,171,0,182,183,184,185,
- 186,189,0,0,195,0,198,204,0,216,
- 217,0,0,222,225,0,227,229,0,233,
- 234,235,238,125,0,151,154,0,174,0,
- 177,0,0,201,214,219,0,0,223,224,
- 226,228,0,231,232,237,243,244,0,0,
+ 130,135,136,0,0,134,0,0,229,235,
+ 133,0,143,132,0,0,142,148,0,0,
+ 149,158,180,159,160,161,162,163,151,164,
+ 165,166,141,167,126,168,0,128,131,129,
+ 169,0,138,137,152,177,0,0,0,0,
+ 0,0,0,0,172,0,155,0,204,0,
+ 145,187,201,205,0,0,127,171,0,0,
+ 0,0,0,0,206,175,0,0,0,0,
+ 0,0,125,178,0,0,186,0,0,202,
+ 212,157,208,209,210,0,0,146,0,0,
+ 207,220,174,196,0,0,211,0,0,0,
+ 0,240,241,0,147,179,189,190,191,192,
+ 193,195,198,0,199,0,214,217,0,219,
+ 0,238,0,239,0,0,139,140,144,0,
+ 0,154,156,0,170,0,181,182,183,184,
+ 185,188,0,0,194,0,197,203,0,215,
+ 216,0,0,221,224,0,226,228,0,232,
+ 233,234,237,124,0,150,153,0,173,0,
+ 176,0,0,200,213,218,0,0,222,223,
+ 225,227,0,230,231,236,242,243,0,0,
0,0
};
};
@@ -2191,18 +2182,18 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface ScopeLa {
public final static byte scopeLa[] = {
- 119,74,74,72,74,74,74,74,74,72,
- 27,72,72,1,69,1,74,122,68,3,
- 74,69,69,69,1,1,27,72,68,72,
- 1,1,1,72,1,1,4,69,71,27,
- 1,1,69,74,74,74,119,74,1,27,
- 1,27,27,72,118,74,74,74,118,1,
- 74,1,74,74,74,73,4,6,1,1,
- 74,69,69,69,69,74,3,1,1,74,
- 74,3,1,118,74,1,1,1,27,74,
- 118,74,5,74,1,48,70,73,74,1,
- 48,76,75,27,27,4,4,4,4,3,
- 1,68,1,1,3
+ 118,73,73,71,73,73,73,73,73,71,
+ 27,71,71,1,68,1,73,121,67,3,
+ 73,68,68,68,1,1,27,71,67,71,
+ 1,1,1,71,1,1,4,68,70,27,
+ 1,1,68,73,73,73,118,73,1,27,
+ 1,27,27,71,117,73,73,73,117,1,
+ 73,1,73,73,73,72,4,6,1,1,
+ 73,68,68,68,68,73,3,1,1,73,
+ 73,3,1,117,73,1,1,1,27,73,
+ 117,73,5,73,1,48,69,72,73,1,
+ 48,75,74,27,27,4,4,4,4,3,
+ 1,67,1,1,3
};
};
public final static byte scopeLa[] = ScopeLa.scopeLa;
@@ -2229,70 +2220,70 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface ScopeRhs {
public final static char scopeRhs[] = {0,
- 321,3,61,0,127,0,320,3,119,0,
- 127,173,0,127,178,75,0,217,0,254,
- 127,56,125,0,20,0,296,127,56,48,
- 0,20,53,0,33,133,0,20,53,0,
- 0,296,127,56,48,205,0,20,179,0,
- 254,127,56,133,0,179,128,0,142,0,
- 220,3,295,0,295,0,2,0,127,0,
- 254,127,56,132,0,179,128,225,0,179,
- 128,22,225,0,179,128,316,22,0,129,
- 188,167,128,0,129,0,188,167,128,0,
- 135,129,0,171,0,312,127,171,0,127,
- 171,0,223,129,0,167,311,244,0,137,
- 0,0,0,0,136,0,0,0,0,310,
- 127,163,253,0,128,0,253,0,130,0,
- 0,128,0,309,127,163,252,0,128,0,
- 0,44,128,0,0,152,3,0,127,283,
- 282,127,75,281,171,0,282,127,75,281,
- 171,0,216,0,217,0,281,171,0,96,
- 0,0,216,0,217,0,204,96,0,0,
- 216,0,217,0,282,127,281,171,0,216,
- 0,204,0,0,216,0,228,127,3,0,
- 127,0,0,0,0,0,228,127,3,217,
- 0,224,3,0,213,127,0,209,0,147,
- 0,177,167,128,0,10,0,0,0,215,
- 64,0,126,0,228,127,3,182,0,182,
- 0,2,0,0,127,0,0,0,0,0,
- 199,3,0,202,0,237,127,163,39,30,
- 0,179,128,60,63,0,197,129,0,129,
- 179,128,279,63,0,179,128,279,63,0,
- 179,128,70,124,60,0,237,127,163,60,
- 0,237,127,163,227,60,0,277,127,163,
- 124,306,57,0,277,127,163,306,57,0,
- 179,128,276,57,0,136,0,188,179,128,
- 276,244,0,137,0,179,128,276,244,0,
- 188,167,128,10,0,167,128,10,0,167,
- 128,0,93,137,0,269,127,146,0,269,
- 127,171,0,162,85,0,301,161,303,304,
- 3,82,0,127,172,0,303,304,3,82,
- 0,129,0,127,172,0,162,3,76,191,
- 81,0,127,129,0,191,81,0,108,2,
- 132,127,129,0,226,3,76,0,199,168,
- 0,33,170,0,168,0,176,33,170,0,
- 226,3,86,0,191,158,226,3,84,0,
- 62,172,0,226,3,84,0,127,172,62,
- 172,0,302,127,163,0,162,0,215,78,
- 0,30,172,0,162,107,159,0,30,170,
- 0,184,3,0,127,150,0,220,3,0,
- 215,64,266,0,162,64,0,184,3,298,
- 67,128,0,127,0,0,0,0,298,67,
- 128,0,2,146,127,0,0,0,0,148,
- 0,126,48,167,128,0,31,148,0,93,
- 137,31,148,0,221,179,128,0,147,31,
- 148,0,162,3,51,0,162,3,69,184,
- 56,42,0,184,56,42,0,20,2,132,
- 127,0,162,3,69,184,56,45,0,184,
- 56,45,0,162,3,69,184,56,47,0,
- 184,56,47,0,162,3,69,184,56,43,
- 0,184,56,43,0,220,3,126,188,167,
- 128,10,0,126,188,167,128,10,0,137,
- 2,0,127,0,220,3,125,259,167,128,
- 10,0,259,167,128,10,0,136,2,0,
- 127,0,220,3,136,0,220,3,140,0,
- 162,64,140,0,261,0,31,0,31,140,
- 0,166,0,135,0,162,3,0
+ 320,3,60,0,126,0,319,3,118,0,
+ 126,172,0,126,177,74,0,216,0,253,
+ 126,55,124,0,20,0,295,126,55,48,
+ 0,20,53,0,33,132,0,20,53,0,
+ 0,295,126,55,48,204,0,20,178,0,
+ 253,126,55,132,0,178,127,0,141,0,
+ 219,3,294,0,294,0,2,0,126,0,
+ 253,126,55,131,0,178,127,224,0,178,
+ 127,22,224,0,178,127,315,22,0,128,
+ 187,166,127,0,128,0,187,166,127,0,
+ 134,128,0,170,0,311,126,170,0,126,
+ 170,0,222,128,0,166,310,243,0,136,
+ 0,0,0,0,135,0,0,0,0,309,
+ 126,162,252,0,127,0,252,0,129,0,
+ 0,127,0,308,126,162,251,0,127,0,
+ 0,44,127,0,0,151,3,0,126,282,
+ 281,126,74,280,170,0,281,126,74,280,
+ 170,0,215,0,216,0,280,170,0,96,
+ 0,0,215,0,216,0,203,96,0,0,
+ 215,0,216,0,281,126,280,170,0,215,
+ 0,203,0,0,215,0,227,126,3,0,
+ 126,0,0,0,0,0,227,126,3,216,
+ 0,223,3,0,212,126,0,208,0,146,
+ 0,176,166,127,0,10,0,0,0,214,
+ 63,0,125,0,227,126,3,181,0,181,
+ 0,2,0,0,126,0,0,0,0,0,
+ 198,3,0,201,0,236,126,162,39,30,
+ 0,178,127,59,62,0,196,128,0,128,
+ 178,127,278,62,0,178,127,278,62,0,
+ 178,127,69,123,59,0,236,126,162,59,
+ 0,236,126,162,226,59,0,276,126,162,
+ 123,305,56,0,276,126,162,305,56,0,
+ 178,127,275,56,0,135,0,187,178,127,
+ 275,243,0,136,0,178,127,275,243,0,
+ 187,166,127,10,0,166,127,10,0,166,
+ 127,0,93,136,0,268,126,145,0,268,
+ 126,170,0,161,84,0,300,160,302,303,
+ 3,81,0,126,171,0,302,303,3,81,
+ 0,128,0,126,171,0,161,3,75,190,
+ 80,0,126,128,0,190,80,0,108,2,
+ 131,126,128,0,225,3,75,0,198,167,
+ 0,33,169,0,167,0,175,33,169,0,
+ 225,3,85,0,190,157,225,3,83,0,
+ 62,171,0,225,3,83,0,126,171,62,
+ 171,0,301,126,162,0,161,0,214,77,
+ 0,30,171,0,161,106,158,0,30,169,
+ 0,183,3,0,126,149,0,219,3,0,
+ 214,63,265,0,161,63,0,183,3,297,
+ 66,127,0,126,0,0,0,0,297,66,
+ 127,0,2,145,126,0,0,0,0,147,
+ 0,125,48,166,127,0,31,147,0,93,
+ 136,31,147,0,220,178,127,0,146,31,
+ 147,0,161,3,51,0,161,3,68,183,
+ 55,42,0,183,55,42,0,20,2,131,
+ 126,0,161,3,68,183,55,45,0,183,
+ 55,45,0,161,3,68,183,55,47,0,
+ 183,55,47,0,161,3,68,183,55,43,
+ 0,183,55,43,0,219,3,125,187,166,
+ 127,10,0,125,187,166,127,10,0,136,
+ 2,0,126,0,219,3,124,258,166,127,
+ 10,0,258,166,127,10,0,135,2,0,
+ 126,0,219,3,135,0,219,3,139,0,
+ 161,63,139,0,260,0,31,0,31,139,
+ 0,165,0,134,0,161,3,0
};
};
public final static char scopeRhs[] = ScopeRhs.scopeRhs;
@@ -2300,38 +2291,38 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface ScopeState {
public final static char scopeState[] = {0,
- 4783,4861,4809,3546,0,3082,2895,1884,1840,0,
- 3673,3619,3561,3454,3400,3346,3292,3238,3184,2892,
- 2838,2673,0,780,0,1403,1360,1326,0,2680,
- 2453,0,3673,3619,3655,3519,3561,3454,3400,3346,
- 3292,3238,1082,3184,2892,2838,3676,876,0,4449,
- 3353,3729,0,4437,2844,0,786,661,0,4693,
- 4673,0,2552,998,0,4526,4693,3946,2991,4673,
- 2967,3529,4591,2799,2388,3916,4493,2630,2553,2514,
- 0,4713,4610,0,4713,4610,3936,4439,4429,3829,
- 4346,4336,4326,3819,0,4713,4610,3936,4439,4429,
- 3829,4346,4336,4326,3819,3673,3619,3561,3454,3400,
- 3346,3292,3238,3184,2892,2838,0,3359,3305,0,
- 2388,4526,3937,3946,2991,3192,2630,3349,3887,3317,
- 2843,2860,3024,3212,3211,0,667,579,0,1449,
- 0,1362,1318,1171,920,2991,2860,2967,2553,2514,
- 2434,2504,0,4542,536,2982,0,4801,4742,4725,
- 4721,4706,4576,3661,3595,3514,3510,4823,3432,3334,
- 4816,3968,3964,2014,3929,3270,3032,2537,2429,1279,
- 0,3019,2880,4801,4742,4725,2868,2321,4721,2315,
- 4706,4576,3661,3595,3514,3226,4045,3843,3510,3734,
- 4823,3425,3407,3379,3104,3432,3334,3094,3218,4816,
- 950,3968,626,3964,2014,3929,2601,3270,3032,2537,
- 4542,2541,2982,2429,1279,2225,2137,871,807,735,
- 2967,3529,4591,2799,2388,4526,3916,4693,3946,2991,
- 4493,2630,2553,4673,2514,1266,933,667,579,3108,
- 4304,4282,1185,2275,2357,2325,2474,2401,594,3161,
- 3135,2815,2743,2716,2650,3796,3773,630,3748,2770,
- 4260,4238,4216,4194,4172,4150,4128,4106,4084,4053,
- 4023,2018,2237,2187,2149,2099,2061,1047,1327,1283,
- 1223,887,1968,1930,825,751,689,1887,1844,1801,
- 1758,1715,1672,1629,1586,1543,1500,1457,536,1414,
- 1370,1142,1003,960,1093,0
+ 4782,4860,4808,3545,0,3081,2894,1883,1839,0,
+ 3672,3618,3560,3453,3399,3345,3291,3237,3183,2891,
+ 2837,2672,0,779,0,1402,1359,1325,0,2679,
+ 2452,0,3672,3618,3654,3518,3560,3453,3399,3345,
+ 3291,3237,1081,3183,2891,2837,3675,875,0,4448,
+ 3352,3728,0,4436,2843,0,785,660,0,4692,
+ 4672,0,2551,997,0,4525,4692,3945,2990,4672,
+ 2966,3528,4590,2798,2387,3915,4492,2629,2552,2513,
+ 0,4712,4609,0,4712,4609,3935,4438,4428,3828,
+ 4345,4335,4325,3818,0,4712,4609,3935,4438,4428,
+ 3828,4345,4335,4325,3818,3672,3618,3560,3453,3399,
+ 3345,3291,3237,3183,2891,2837,0,3358,3304,0,
+ 2387,4525,3936,3945,2990,3191,2629,3348,3886,3316,
+ 2842,2859,3023,3211,3210,0,666,578,0,1448,
+ 0,1361,1317,1170,919,2990,2859,2966,2552,2513,
+ 2433,2503,0,4541,535,2981,0,4800,4741,4724,
+ 4720,4705,4575,3660,3594,3513,3509,4822,3431,3333,
+ 4815,3967,3963,2013,3928,3269,3031,2536,2428,1278,
+ 0,3018,2879,4800,4741,4724,2867,2320,4720,2314,
+ 4705,4575,3660,3594,3513,3225,4044,3842,3509,3733,
+ 4822,3424,3406,3378,3103,3431,3333,3093,3217,4815,
+ 949,3967,625,3963,2013,3928,2600,3269,3031,2536,
+ 4541,2540,2981,2428,1278,2224,2136,870,806,734,
+ 2966,3528,4590,2798,2387,4525,3915,4692,3945,2990,
+ 4492,2629,2552,4672,2513,1265,932,666,578,3107,
+ 4303,4281,1184,2274,2356,2324,2473,2400,593,3160,
+ 3134,2814,2742,2715,2649,3795,3772,629,3747,2769,
+ 4259,4237,4215,4193,4171,4149,4127,4105,4083,4052,
+ 4022,2017,2236,2186,2148,2098,2060,1046,1326,1282,
+ 1222,886,1967,1929,824,750,688,1886,1843,1800,
+ 1757,1714,1671,1628,1585,1542,1499,1456,535,1413,
+ 1369,1141,1002,959,1092,0
};
};
public final static char scopeState[] = ScopeState.scopeState;
@@ -2339,60 +2330,60 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface InSymb {
public final static char inSymb[] = {0,
- 0,297,127,268,51,42,45,47,43,10,
- 136,125,132,7,133,4,3,128,46,41,
- 5,26,25,6,9,38,37,140,145,148,
- 147,150,149,153,151,155,154,157,61,159,
- 71,3,56,56,56,56,128,3,56,56,
- 168,127,64,3,66,67,56,5,184,162,
- 168,127,66,67,167,166,125,3,124,126,
- 106,120,3,64,90,92,26,25,94,93,
- 6,96,95,69,56,88,89,9,98,97,
- 100,99,101,117,116,115,114,113,112,111,
- 110,109,108,70,107,102,162,184,184,184,
- 184,167,220,127,127,127,270,271,253,272,
- 244,273,57,274,275,10,128,64,64,127,
- 125,158,127,64,3,218,217,136,126,125,
- 10,128,64,298,3,188,4,48,128,48,
- 220,162,147,147,145,145,145,149,149,149,
- 149,148,148,151,150,150,154,153,155,162,
- 157,69,69,69,69,188,259,254,257,254,
- 213,128,177,163,311,276,306,276,128,179,
- 167,254,213,215,159,224,127,3,128,167,
- 206,3,299,168,152,261,188,128,179,167,
- 73,3,3,3,3,126,125,71,167,6,
- 127,167,231,126,125,128,124,163,128,167,
- 48,228,229,146,230,127,167,48,184,127,
- 127,4,221,5,48,162,162,162,162,3,
- 3,177,127,310,128,169,225,60,48,205,
- 63,171,313,126,125,232,232,179,163,127,
- 179,188,158,70,224,199,187,182,128,3,
- 127,71,228,188,158,263,266,64,180,4,
- 124,126,220,220,6,185,167,163,227,56,
- 48,279,281,127,3,182,232,232,127,127,
- 188,127,277,124,278,127,70,70,3,179,
- 167,199,127,213,158,126,127,3,64,162,
- 4,127,188,127,163,69,56,128,75,127,
- 213,312,73,290,199,125,128,127,127,127,
- 73,277,70,71,222,127,127,263,220,215,
- 129,237,30,48,171,65,60,63,239,127,
- 127,179,127,282,73,71,73,70,167,213,
- 315,225,22,128,127,228,222,39,127,3,
- 124,60,237,296,48,10,40,129,282,163,
- 294,128,295,71,128,22,316,179,61,158,
- 127,127,163,269,248,280,39,70,128,71,
- 69,56,231,231,283,127,71,179,3,179,
- 128,128,3,127,127,3,70,71,158,128,
- 179,127,70,70,127,302,80,78,1,162,
- 8,86,84,82,81,76,83,85,79,77,
- 60,75,220,179,179,321,222,237,152,163,
- 252,179,227,296,284,119,8,73,215,73,
- 3,3,3,191,3,124,162,124,178,71,
- 127,127,163,227,69,3,73,226,168,226,
- 304,146,76,226,127,127,40,91,320,168,
- 158,199,158,303,127,3,158,284,309,231,
- 158,158,127,70,191,161,269,162,190,71,
- 70,122,301,158,190,8,158
+ 0,296,126,267,51,42,45,47,43,10,
+ 135,124,131,7,132,4,3,127,46,41,
+ 5,26,25,6,9,38,37,139,144,147,
+ 146,149,148,152,150,154,153,156,60,158,
+ 70,3,55,55,55,55,127,3,55,55,
+ 167,126,63,3,65,66,55,5,183,161,
+ 167,126,65,66,166,165,124,3,123,125,
+ 105,119,3,63,89,91,26,25,93,92,
+ 6,95,94,68,55,87,88,9,97,96,
+ 99,98,100,116,115,114,113,112,111,110,
+ 109,108,107,69,106,101,161,183,183,183,
+ 183,166,219,126,126,126,269,270,252,271,
+ 243,272,56,273,274,10,127,63,63,126,
+ 124,157,126,63,3,217,216,135,125,124,
+ 10,127,63,297,3,187,4,48,127,48,
+ 219,161,146,146,144,144,144,148,148,148,
+ 148,147,147,150,149,149,153,152,154,161,
+ 156,68,68,68,68,187,258,253,256,253,
+ 212,127,176,162,310,275,305,275,127,178,
+ 166,253,212,214,158,223,126,3,127,166,
+ 205,3,298,167,151,260,187,127,178,166,
+ 72,3,3,3,3,125,124,70,166,6,
+ 126,166,230,125,124,127,123,162,127,166,
+ 48,227,228,145,229,126,166,48,183,126,
+ 126,4,220,5,48,161,161,161,161,3,
+ 3,176,126,309,127,168,224,59,48,204,
+ 62,170,312,125,124,231,231,178,162,126,
+ 178,187,157,69,223,198,186,181,127,3,
+ 126,70,227,187,157,262,265,63,179,4,
+ 123,125,219,219,6,184,166,162,226,55,
+ 48,278,280,126,3,181,231,231,126,126,
+ 187,126,276,123,277,126,69,69,3,178,
+ 166,198,126,212,157,125,126,3,63,161,
+ 4,126,187,126,162,68,55,127,74,126,
+ 212,311,72,289,198,124,127,126,126,126,
+ 72,276,69,70,221,126,126,262,219,214,
+ 128,236,30,48,170,64,59,62,238,126,
+ 126,178,126,281,72,70,72,69,166,212,
+ 314,224,22,127,126,227,221,39,126,3,
+ 123,59,236,295,48,10,40,128,281,162,
+ 293,127,294,70,127,22,315,178,60,157,
+ 126,126,162,268,247,279,39,69,127,70,
+ 68,55,230,230,282,126,70,178,3,178,
+ 127,127,3,126,126,3,69,70,157,127,
+ 178,126,69,69,126,301,79,77,1,161,
+ 8,85,83,81,80,75,82,84,78,76,
+ 59,74,219,178,178,320,221,236,151,162,
+ 251,178,226,295,283,118,8,72,214,72,
+ 3,3,3,190,3,123,161,123,177,70,
+ 126,126,162,226,68,3,72,225,167,225,
+ 303,145,75,225,126,126,40,90,319,167,
+ 157,198,157,302,126,3,157,283,308,230,
+ 157,157,126,69,190,160,268,161,189,70,
+ 69,121,300,157,189,8,157
};
};
public final static char inSymb[] = InSymb.inSymb;
@@ -2523,7 +2514,6 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
"SemiColon",
"LeftBrace",
"ERROR_TOKEN",
- "0",
"EOF_TOKEN",
"no_sizeof_type_name_start",
"]",
@@ -2657,7 +2647,7 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public final String name(int index) { return name[index]; }
public final static int
- ERROR_SYMBOL = 62,
+ ERROR_SYMBOL = 61,
SCOPE_UBOUND = 114,
SCOPE_SIZE = 115,
MAX_NAME_LENGTH = 37;
@@ -2669,19 +2659,19 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public final static int
NUM_STATES = 537,
- NT_OFFSET = 123,
- LA_STATE_OFFSET = 5935,
+ NT_OFFSET = 122,
+ LA_STATE_OFFSET = 5933,
MAX_LA = 2147483647,
- NUM_RULES = 535,
+ NUM_RULES = 534,
NUM_NONTERMINALS = 202,
- NUM_SYMBOLS = 325,
+ NUM_SYMBOLS = 324,
SEGMENT_SIZE = 8192,
- START_STATE = 1087,
+ START_STATE = 1086,
IDENTIFIER_SYMBOL = 0,
- EOFT_SYMBOL = 121,
- EOLT_SYMBOL = 121,
- ACCEPT_ACTION = 5035,
- ERROR_ACTION = 5400;
+ EOFT_SYMBOL = 120,
+ EOLT_SYMBOL = 120,
+ ACCEPT_ACTION = 5034,
+ ERROR_ACTION = 5399;
public final static boolean BACKTRACK = true;
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParsersym.java
index 157abfae657..cd49ee14c8d 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParsersym.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParsersym.java
@@ -15,69 +15,69 @@ package org.eclipse.cdt.internal.core.dom.lrparser.cpp;
public interface CPPSizeofExpressionParsersym {
public final static int
- TK_asm = 65,
+ TK_asm = 64,
TK_auto = 28,
TK_bool = 11,
- TK_break = 77,
- TK_case = 78,
- TK_catch = 119,
+ TK_break = 76,
+ TK_case = 77,
+ TK_catch = 118,
TK_char = 12,
TK_class = 40,
TK_const = 23,
TK_const_cast = 42,
- TK_continue = 79,
- TK_default = 80,
- TK_delete = 66,
- TK_do = 81,
+ TK_continue = 78,
+ TK_default = 79,
+ TK_delete = 65,
+ TK_do = 80,
TK_double = 13,
TK_dynamic_cast = 43,
- TK_else = 122,
- TK_enum = 57,
+ TK_else = 121,
+ TK_enum = 56,
TK_explicit = 29,
- TK_export = 87,
+ TK_export = 86,
TK_extern = 30,
TK_false = 44,
TK_float = 14,
- TK_for = 82,
+ TK_for = 81,
TK_friend = 31,
- TK_goto = 83,
- TK_if = 84,
+ TK_goto = 82,
+ TK_if = 83,
TK_inline = 32,
TK_int = 15,
TK_long = 16,
TK_mutable = 33,
- TK_namespace = 60,
- TK_new = 67,
+ TK_namespace = 59,
+ TK_new = 66,
TK_operator = 7,
- TK_private = 103,
- TK_protected = 104,
- TK_public = 105,
+ TK_private = 102,
+ TK_protected = 103,
+ TK_public = 104,
TK_register = 34,
TK_reinterpret_cast = 45,
- TK_return = 85,
+ TK_return = 84,
TK_short = 17,
TK_signed = 18,
TK_sizeof = 46,
TK_static = 35,
TK_static_cast = 47,
- TK_struct = 58,
- TK_switch = 86,
+ TK_struct = 57,
+ TK_switch = 85,
TK_template = 48,
TK_this = 49,
- TK_throw = 61,
- TK_try = 75,
+ TK_throw = 60,
+ TK_try = 74,
TK_true = 50,
TK_typedef = 36,
TK_typeid = 51,
TK_typename = 10,
- TK_union = 59,
+ TK_union = 58,
TK_unsigned = 19,
- TK_using = 63,
+ TK_using = 62,
TK_virtual = 22,
TK_void = 20,
TK_volatile = 24,
TK_wchar_t = 21,
- TK_while = 76,
+ TK_while = 75,
TK_integer = 52,
TK_floating = 53,
TK_charconst = 54,
@@ -85,13 +85,13 @@ public interface CPPSizeofExpressionParsersym {
TK_identifier = 1,
TK_Completion = 2,
TK_EndOfCompletion = 8,
- TK_Invalid = 123,
- TK_LeftBracket = 64,
+ TK_Invalid = 122,
+ TK_LeftBracket = 63,
TK_LeftParen = 3,
- TK_Dot = 120,
- TK_DotStar = 92,
- TK_Arrow = 106,
- TK_ArrowStar = 90,
+ TK_Dot = 119,
+ TK_DotStar = 91,
+ TK_Arrow = 105,
+ TK_ArrowStar = 89,
TK_PlusPlus = 37,
TK_MinusMinus = 38,
TK_And = 9,
@@ -100,44 +100,43 @@ public interface CPPSizeofExpressionParsersym {
TK_Minus = 26,
TK_Tilde = 5,
TK_Bang = 41,
- TK_Slash = 93,
- TK_Percent = 94,
- TK_RightShift = 88,
- TK_LeftShift = 89,
- TK_LT = 56,
- TK_GT = 69,
- TK_LE = 95,
- TK_GE = 96,
- TK_EQ = 97,
- TK_NE = 98,
- TK_Caret = 99,
- TK_Or = 100,
- TK_AndAnd = 101,
- TK_OrOr = 102,
- TK_Question = 107,
- TK_Colon = 73,
+ TK_Slash = 92,
+ TK_Percent = 93,
+ TK_RightShift = 87,
+ TK_LeftShift = 88,
+ TK_LT = 55,
+ TK_GT = 68,
+ TK_LE = 94,
+ TK_GE = 95,
+ TK_EQ = 96,
+ TK_NE = 97,
+ TK_Caret = 98,
+ TK_Or = 99,
+ TK_AndAnd = 100,
+ TK_OrOr = 101,
+ TK_Question = 106,
+ TK_Colon = 72,
TK_ColonColon = 4,
- TK_DotDotDot = 91,
- TK_Assign = 70,
- TK_StarAssign = 108,
- TK_SlashAssign = 109,
- TK_PercentAssign = 110,
- TK_PlusAssign = 111,
- TK_MinusAssign = 112,
- TK_RightShiftAssign = 113,
- TK_LeftShiftAssign = 114,
- TK_AndAssign = 115,
- TK_CaretAssign = 116,
- TK_OrAssign = 117,
- TK_Comma = 71,
- TK_RightBracket = 118,
- TK_RightParen = 74,
- TK_RightBrace = 72,
+ TK_DotDotDot = 90,
+ TK_Assign = 69,
+ TK_StarAssign = 107,
+ TK_SlashAssign = 108,
+ TK_PercentAssign = 109,
+ TK_PlusAssign = 110,
+ TK_MinusAssign = 111,
+ TK_RightShiftAssign = 112,
+ TK_LeftShiftAssign = 113,
+ TK_AndAssign = 114,
+ TK_CaretAssign = 115,
+ TK_OrAssign = 116,
+ TK_Comma = 70,
+ TK_RightBracket = 117,
+ TK_RightParen = 73,
+ TK_RightBrace = 71,
TK_SemiColon = 27,
- TK_LeftBrace = 68,
- TK_ERROR_TOKEN = 62,
- TK_0 = 55,
- TK_EOF_TOKEN = 121;
+ TK_LeftBrace = 67,
+ TK_ERROR_TOKEN = 61,
+ TK_EOF_TOKEN = 120;
public final static String orderedTerminalSymbols[] = {
"",
@@ -195,7 +194,6 @@ public interface CPPSizeofExpressionParsersym {
"integer",
"floating",
"charconst",
- "0",
"LT",
"enum",
"struct",
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParser.java
index 8849971b658..d138047ed64 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParser.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParser.java
@@ -28,6 +28,7 @@ import org.eclipse.cdt.core.dom.lrparser.action.TokenMap;
import org.eclipse.cdt.core.dom.ast.cpp.*;
import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPNodeFactory;
import org.eclipse.cdt.core.dom.lrparser.action.cpp.CPPBuildASTParserAction;
+import org.eclipse.cdt.core.dom.lrparser.action.cpp.CPPSecondaryParserFactory;
public class CPPTemplateTypeParameterParser extends PrsStream implements RuleAction , IParserActionTokenProvider, IParser
{
@@ -173,7 +174,7 @@ public CPPTemplateTypeParameterParser() { // constructor
}
private void initActions(IASTTranslationUnit tu, Set<IParser.Options> options) {
- action = new CPPBuildASTParserAction ( CPPNodeFactory.getDefault() , this, tu, astStack);
+ action = new CPPBuildASTParserAction (this, tu, astStack, CPPNodeFactory.getDefault() , CPPSecondaryParserFactory.getDefault() );
action.setParserOptions(options);
@@ -235,8 +236,8 @@ public void setTokens(List<IToken> tokens) {
addToken(new Token(null, 0, 0, CPPTemplateTypeParameterParsersym.TK_EOF_TOKEN));
}
-public CPPTemplateTypeParameterParser(String[] mapFrom) { // constructor
- tokenMap = new TokenMap(CPPTemplateTypeParameterParsersym.orderedTerminalSymbols, mapFrom);
+public CPPTemplateTypeParameterParser(IParserActionTokenProvider parser) { // constructor
+ tokenMap = new TokenMap(CPPTemplateTypeParameterParsersym.orderedTerminalSymbols, parser.getOrderedTerminalSymbols());
}
@@ -271,1713 +272,1707 @@ public CPPTemplateTypeParameterParser(String[] mapFrom) { // constructor
}
//
- // Rule 17: literal ::= 0
+ // Rule 17: literal ::= floating
//
- case 17: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_integer_constant); break;
+ case 17: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_float_constant); break;
}
//
- // Rule 18: literal ::= floating
+ // Rule 18: literal ::= charconst
//
- case 18: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_float_constant); break;
+ case 18: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_char_constant); break;
}
//
- // Rule 19: literal ::= charconst
+ // Rule 19: literal ::= stringlit
//
- case 19: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_char_constant); break;
+ case 19: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_string_literal); break;
}
//
- // Rule 20: literal ::= stringlit
+ // Rule 20: literal ::= true
//
- case 20: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_string_literal); break;
+ case 20: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_true); break;
}
//
- // Rule 21: literal ::= true
+ // Rule 21: literal ::= false
//
- case 21: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_true); break;
+ case 21: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_false); break;
}
//
- // Rule 22: literal ::= false
+ // Rule 22: literal ::= this
//
- case 22: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_false); break;
+ case 22: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_this); break;
}
//
- // Rule 23: literal ::= this
+ // Rule 24: primary_expression ::= ( expression )
//
- case 23: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_this); break;
+ case 24: { action. consumeExpressionBracketed(); break;
}
//
- // Rule 25: primary_expression ::= ( expression )
+ // Rule 26: id_expression ::= qualified_or_unqualified_name
//
- case 25: { action. consumeExpressionBracketed(); break;
+ case 26: { action. consumeExpressionName(); break;
}
//
- // Rule 27: id_expression ::= qualified_or_unqualified_name
+ // Rule 33: unqualified_id_name ::= ~ identifier_token
//
- case 27: { action. consumeExpressionName(); break;
+ case 33: { action. consumeDestructorName(); break;
}
//
- // Rule 34: unqualified_id_name ::= ~ identifier_token
+ // Rule 34: unqualified_id_name ::= ~ template_id_name
//
- case 34: { action. consumeDestructorName(); break;
+ case 34: { action. consumeDestructorNameTemplateId(); break;
}
//
- // Rule 35: unqualified_id_name ::= ~ template_id_name
+ // Rule 35: identifier_name ::= identifier_token
//
- case 35: { action. consumeDestructorNameTemplateId(); break;
+ case 35: { action. consumeIdentifierName(); break;
}
//
- // Rule 36: identifier_name ::= identifier_token
+ // Rule 36: template_opt ::= template
//
- case 36: { action. consumeIdentifierName(); break;
+ case 36: { action. consumePlaceHolder(); break;
}
//
- // Rule 37: template_opt ::= template
+ // Rule 37: template_opt ::= $Empty
//
- case 37: { action. consumePlaceHolder(); break;
+ case 37: { action. consumeEmpty(); break;
}
//
- // Rule 38: template_opt ::= $Empty
+ // Rule 38: dcolon_opt ::= ::
//
- case 38: { action. consumeEmpty(); break;
+ case 38: { action. consumeToken(); break;
}
//
- // Rule 39: dcolon_opt ::= ::
+ // Rule 39: dcolon_opt ::= $Empty
//
- case 39: { action. consumeToken(); break;
+ case 39: { action. consumeEmpty(); break;
}
//
- // Rule 40: dcolon_opt ::= $Empty
+ // Rule 40: qualified_id_name ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name
//
- case 40: { action. consumeEmpty(); break;
+ case 40: { action. consumeQualifiedId(true); break;
}
//
- // Rule 41: qualified_id_name ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name
+ // Rule 41: qualified_id_name ::= :: unqualified_id_name
//
- case 41: { action. consumeQualifiedId(true); break;
+ case 41: { action. consumeGlobalQualifiedId(); break;
}
//
- // Rule 42: qualified_id_name ::= :: unqualified_id_name
+ // Rule 42: nested_name_specifier ::= class_or_namespace_name :: nested_name_specifier_with_template
//
- case 42: { action. consumeGlobalQualifiedId(); break;
+ case 42: { action. consumeNestedNameSpecifier(true); break;
}
//
- // Rule 43: nested_name_specifier ::= class_or_namespace_name :: nested_name_specifier_with_template
+ // Rule 43: nested_name_specifier ::= class_or_namespace_name ::
//
- case 43: { action. consumeNestedNameSpecifier(true); break;
+ case 43: { action. consumeNestedNameSpecifier(false); break;
}
//
- // Rule 44: nested_name_specifier ::= class_or_namespace_name ::
+ // Rule 44: nested_name_specifier_with_template ::= class_or_namespace_name_with_template :: nested_name_specifier_with_template
//
- case 44: { action. consumeNestedNameSpecifier(false); break;
+ case 44: { action. consumeNestedNameSpecifier(true); break;
}
//
- // Rule 45: nested_name_specifier_with_template ::= class_or_namespace_name_with_template :: nested_name_specifier_with_template
+ // Rule 45: nested_name_specifier_with_template ::= class_or_namespace_name_with_template ::
//
- case 45: { action. consumeNestedNameSpecifier(true); break;
+ case 45: { action. consumeNestedNameSpecifier(false); break;
}
//
- // Rule 46: nested_name_specifier_with_template ::= class_or_namespace_name_with_template ::
+ // Rule 46: class_or_namespace_name_with_template ::= template_opt class_or_namespace_name
//
- case 46: { action. consumeNestedNameSpecifier(false); break;
+ case 46: { action. consumeNameWithTemplateKeyword(); break;
}
//
- // Rule 47: class_or_namespace_name_with_template ::= template_opt class_or_namespace_name
+ // Rule 48: nested_name_specifier_opt ::= $Empty
//
- case 47: { action. consumeNameWithTemplateKeyword(); break;
+ case 48: { action. consumeNestedNameSpecifierEmpty(); break;
}
//
- // Rule 49: nested_name_specifier_opt ::= $Empty
+ // Rule 51: postfix_expression ::= postfix_expression [ expression ]
//
- case 49: { action. consumeNestedNameSpecifierEmpty(); break;
+ case 51: { action. consumeExpressionArraySubscript(); break;
}
//
- // Rule 52: postfix_expression ::= postfix_expression [ expression ]
+ // Rule 52: postfix_expression ::= postfix_expression ( expression_list_opt )
//
- case 52: { action. consumeExpressionArraySubscript(); break;
+ case 52: { action. consumeExpressionFunctionCall(); break;
}
//
- // Rule 53: postfix_expression ::= postfix_expression ( expression_list_opt )
+ // Rule 53: postfix_expression ::= simple_type_specifier ( expression_list_opt )
//
- case 53: { action. consumeExpressionFunctionCall(); break;
+ case 53: { action. consumeExpressionSimpleTypeConstructor(); break;
}
//
- // Rule 54: postfix_expression ::= simple_type_specifier ( expression_list_opt )
+ // Rule 54: postfix_expression ::= typename dcolon_opt nested_name_specifier <empty> identifier_name ( expression_list_opt )
//
- case 54: { action. consumeExpressionSimpleTypeConstructor(); break;
+ case 54: { action. consumeExpressionTypeName(); break;
}
//
- // Rule 55: postfix_expression ::= typename dcolon_opt nested_name_specifier <empty> identifier_name ( expression_list_opt )
+ // Rule 55: postfix_expression ::= typename dcolon_opt nested_name_specifier template_opt template_id_name ( expression_list_opt )
//
case 55: { action. consumeExpressionTypeName(); break;
}
//
- // Rule 56: postfix_expression ::= typename dcolon_opt nested_name_specifier template_opt template_id_name ( expression_list_opt )
+ // Rule 56: postfix_expression ::= postfix_expression . qualified_or_unqualified_name
//
- case 56: { action. consumeExpressionTypeName(); break;
+ case 56: { action. consumeExpressionFieldReference(false, false); break;
}
//
- // Rule 57: postfix_expression ::= postfix_expression . qualified_or_unqualified_name
+ // Rule 57: postfix_expression ::= postfix_expression -> qualified_or_unqualified_name
//
- case 57: { action. consumeExpressionFieldReference(false, false); break;
+ case 57: { action. consumeExpressionFieldReference(true, false); break;
}
//
- // Rule 58: postfix_expression ::= postfix_expression -> qualified_or_unqualified_name
+ // Rule 58: postfix_expression ::= postfix_expression . template qualified_or_unqualified_name
//
- case 58: { action. consumeExpressionFieldReference(true, false); break;
+ case 58: { action. consumeExpressionFieldReference(false, true); break;
}
//
- // Rule 59: postfix_expression ::= postfix_expression . template qualified_or_unqualified_name
+ // Rule 59: postfix_expression ::= postfix_expression -> template qualified_or_unqualified_name
//
- case 59: { action. consumeExpressionFieldReference(false, true); break;
+ case 59: { action. consumeExpressionFieldReference(true, true); break;
}
//
- // Rule 60: postfix_expression ::= postfix_expression -> template qualified_or_unqualified_name
+ // Rule 60: postfix_expression ::= postfix_expression . pseudo_destructor_name
//
- case 60: { action. consumeExpressionFieldReference(true, true); break;
+ case 60: { action. consumeExpressionFieldReference(false, false); break;
}
//
- // Rule 61: postfix_expression ::= postfix_expression . pseudo_destructor_name
+ // Rule 61: postfix_expression ::= postfix_expression -> pseudo_destructor_name
//
- case 61: { action. consumeExpressionFieldReference(false, false); break;
+ case 61: { action. consumeExpressionFieldReference(true, false); break;
}
//
- // Rule 62: postfix_expression ::= postfix_expression -> pseudo_destructor_name
+ // Rule 62: postfix_expression ::= postfix_expression ++
//
- case 62: { action. consumeExpressionFieldReference(true, false); break;
+ case 62: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break;
}
//
- // Rule 63: postfix_expression ::= postfix_expression ++
+ // Rule 63: postfix_expression ::= postfix_expression --
//
- case 63: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break;
+ case 63: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break;
}
//
- // Rule 64: postfix_expression ::= postfix_expression --
+ // Rule 64: postfix_expression ::= dynamic_cast < type_id > ( expression )
//
- case 64: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break;
+ case 64: { action. consumeExpressionCast(ICPPASTCastExpression.op_dynamic_cast); break;
}
//
- // Rule 65: postfix_expression ::= dynamic_cast < type_id > ( expression )
+ // Rule 65: postfix_expression ::= static_cast < type_id > ( expression )
//
- case 65: { action. consumeExpressionCast(ICPPASTCastExpression.op_dynamic_cast); break;
+ case 65: { action. consumeExpressionCast(ICPPASTCastExpression.op_static_cast); break;
}
//
- // Rule 66: postfix_expression ::= static_cast < type_id > ( expression )
+ // Rule 66: postfix_expression ::= reinterpret_cast < type_id > ( expression )
//
- case 66: { action. consumeExpressionCast(ICPPASTCastExpression.op_static_cast); break;
+ case 66: { action. consumeExpressionCast(ICPPASTCastExpression.op_reinterpret_cast); break;
}
//
- // Rule 67: postfix_expression ::= reinterpret_cast < type_id > ( expression )
+ // Rule 67: postfix_expression ::= const_cast < type_id > ( expression )
//
- case 67: { action. consumeExpressionCast(ICPPASTCastExpression.op_reinterpret_cast); break;
+ case 67: { action. consumeExpressionCast(ICPPASTCastExpression.op_const_cast); break;
}
//
- // Rule 68: postfix_expression ::= const_cast < type_id > ( expression )
+ // Rule 68: postfix_expression ::= typeid ( expression )
//
- case 68: { action. consumeExpressionCast(ICPPASTCastExpression.op_const_cast); break;
+ case 68: { action. consumeExpressionUnaryOperator(ICPPASTUnaryExpression.op_typeid); break;
}
//
- // Rule 69: postfix_expression ::= typeid ( expression )
+ // Rule 69: postfix_expression ::= typeid ( type_id )
//
- case 69: { action. consumeExpressionUnaryOperator(ICPPASTUnaryExpression.op_typeid); break;
+ case 69: { action. consumeExpressionTypeId(ICPPASTTypeIdExpression.op_typeid); break;
}
//
- // Rule 70: postfix_expression ::= typeid ( type_id )
+ // Rule 70: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt type_name :: destructor_type_name
//
- case 70: { action. consumeExpressionTypeId(ICPPASTTypeIdExpression.op_typeid); break;
+ case 70: { action. consumePsudoDestructorName(true); break;
}
//
- // Rule 71: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt type_name :: destructor_type_name
+ // Rule 71: pseudo_destructor_name ::= dcolon_opt nested_name_specifier template template_id_name :: destructor_type_name
//
case 71: { action. consumePsudoDestructorName(true); break;
}
//
- // Rule 72: pseudo_destructor_name ::= dcolon_opt nested_name_specifier template template_id_name :: destructor_type_name
+ // Rule 72: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt destructor_type_name
//
- case 72: { action. consumePsudoDestructorName(true); break;
+ case 72: { action. consumePsudoDestructorName(false); break;
}
//
- // Rule 73: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt destructor_type_name
+ // Rule 73: destructor_type_name ::= ~ identifier_token
//
- case 73: { action. consumePsudoDestructorName(false); break;
+ case 73: { action. consumeDestructorName(); break;
}
//
- // Rule 74: destructor_type_name ::= ~ identifier_token
+ // Rule 74: destructor_type_name ::= ~ template_id_name
//
- case 74: { action. consumeDestructorName(); break;
+ case 74: { action. consumeDestructorNameTemplateId(); break;
}
//
- // Rule 75: destructor_type_name ::= ~ template_id_name
+ // Rule 78: unary_expression ::= ++ cast_expression
//
- case 75: { action. consumeDestructorNameTemplateId(); break;
+ case 78: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixIncr); break;
}
//
- // Rule 79: unary_expression ::= ++ cast_expression
+ // Rule 79: unary_expression ::= -- cast_expression
//
- case 79: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixIncr); break;
+ case 79: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixDecr); break;
}
//
- // Rule 80: unary_expression ::= -- cast_expression
+ // Rule 80: unary_expression ::= & cast_expression
//
- case 80: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixDecr); break;
+ case 80: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_amper); break;
}
//
- // Rule 81: unary_expression ::= & cast_expression
+ // Rule 81: unary_expression ::= * cast_expression
//
- case 81: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_amper); break;
+ case 81: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_star); break;
}
//
- // Rule 82: unary_expression ::= * cast_expression
+ // Rule 82: unary_expression ::= + cast_expression
//
- case 82: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_star); break;
+ case 82: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_plus); break;
}
//
- // Rule 83: unary_expression ::= + cast_expression
+ // Rule 83: unary_expression ::= - cast_expression
//
- case 83: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_plus); break;
+ case 83: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_minus); break;
}
//
- // Rule 84: unary_expression ::= - cast_expression
+ // Rule 84: unary_expression ::= ~ cast_expression
//
- case 84: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_minus); break;
+ case 84: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_tilde); break;
}
//
- // Rule 85: unary_expression ::= ~ cast_expression
+ // Rule 85: unary_expression ::= ! cast_expression
//
- case 85: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_tilde); break;
+ case 85: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_not); break;
}
//
- // Rule 86: unary_expression ::= ! cast_expression
+ // Rule 86: unary_expression ::= sizeof unary_expression
//
- case 86: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_not); break;
+ case 86: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof); break;
}
//
- // Rule 87: unary_expression ::= sizeof unary_expression
+ // Rule 87: unary_expression ::= sizeof ( type_id )
//
- case 87: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof); break;
+ case 87: { action. consumeExpressionTypeId(ICPPASTTypeIdExpression.op_sizeof); break;
}
//
- // Rule 88: unary_expression ::= sizeof ( type_id )
+ // Rule 88: new_expression ::= dcolon_opt new new_placement_opt new_type_id <openscope-ast> new_array_expressions_opt new_initializer_opt
//
- case 88: { action. consumeExpressionTypeId(ICPPASTTypeIdExpression.op_sizeof); break;
+ case 88: { action. consumeExpressionNew(true); break;
}
//
- // Rule 89: new_expression ::= dcolon_opt new new_placement_opt new_type_id <openscope-ast> new_array_expressions_opt new_initializer_opt
+ // Rule 89: new_expression ::= dcolon_opt new new_placement_opt ( type_id ) <openscope-ast> new_array_expressions_opt new_initializer_opt
//
- case 89: { action. consumeExpressionNew(true); break;
+ case 89: { action. consumeExpressionNew(false); break;
}
//
- // Rule 90: new_expression ::= dcolon_opt new new_placement_opt ( type_id ) <openscope-ast> new_array_expressions_opt new_initializer_opt
+ // Rule 91: new_placement_opt ::= $Empty
//
- case 90: { action. consumeExpressionNew(false); break;
+ case 91: { action. consumeEmpty(); break;
}
//
- // Rule 92: new_placement_opt ::= $Empty
+ // Rule 92: new_type_id ::= type_specifier_seq
//
- case 92: { action. consumeEmpty(); break;
+ case 92: { action. consumeTypeId(false); break;
}
//
- // Rule 93: new_type_id ::= type_specifier_seq
+ // Rule 93: new_type_id ::= type_specifier_seq new_declarator
//
- case 93: { action. consumeTypeId(false); break;
+ case 93: { action. consumeTypeId(true); break;
}
//
- // Rule 94: new_type_id ::= type_specifier_seq new_declarator
+ // Rule 94: new_declarator ::= <openscope-ast> new_pointer_operators
//
- case 94: { action. consumeTypeId(true); break;
+ case 94: { action. consumeNewDeclarator(); break;
}
//
- // Rule 95: new_declarator ::= <openscope-ast> new_pointer_operators
+ // Rule 101: new_initializer ::= ( expression_list_opt )
//
- case 95: { action. consumeNewDeclarator(); break;
+ case 101: { action. consumeNewInitializer(); break;
}
//
- // Rule 102: new_initializer ::= ( expression_list_opt )
+ // Rule 103: new_initializer_opt ::= $Empty
//
- case 102: { action. consumeNewInitializer(); break;
+ case 103: { action. consumeEmpty(); break;
}
//
- // Rule 104: new_initializer_opt ::= $Empty
+ // Rule 104: delete_expression ::= dcolon_opt delete cast_expression
//
- case 104: { action. consumeEmpty(); break;
+ case 104: { action. consumeExpressionDelete(false); break;
}
//
- // Rule 105: delete_expression ::= dcolon_opt delete cast_expression
+ // Rule 105: delete_expression ::= dcolon_opt delete [ ] cast_expression
//
- case 105: { action. consumeExpressionDelete(false); break;
+ case 105: { action. consumeExpressionDelete(true); break;
}
//
- // Rule 106: delete_expression ::= dcolon_opt delete [ ] cast_expression
+ // Rule 107: cast_expression ::= ( type_id ) cast_expression
//
- case 106: { action. consumeExpressionDelete(true); break;
+ case 107: { action. consumeExpressionCast(ICPPASTCastExpression.op_cast); break;
}
//
- // Rule 108: cast_expression ::= ( type_id ) cast_expression
+ // Rule 109: pm_expression ::= pm_expression .* cast_expression
//
- case 108: { action. consumeExpressionCast(ICPPASTCastExpression.op_cast); break;
+ case 109: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmdot); break;
}
//
- // Rule 110: pm_expression ::= pm_expression .* cast_expression
+ // Rule 110: pm_expression ::= pm_expression ->* cast_expression
//
- case 110: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmdot); break;
+ case 110: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmarrow); break;
}
//
- // Rule 111: pm_expression ::= pm_expression ->* cast_expression
+ // Rule 112: multiplicative_expression ::= multiplicative_expression * pm_expression
//
- case 111: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmarrow); break;
+ case 112: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiply); break;
}
//
- // Rule 113: multiplicative_expression ::= multiplicative_expression * pm_expression
+ // Rule 113: multiplicative_expression ::= multiplicative_expression / pm_expression
//
- case 113: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiply); break;
+ case 113: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divide); break;
}
//
- // Rule 114: multiplicative_expression ::= multiplicative_expression / pm_expression
+ // Rule 114: multiplicative_expression ::= multiplicative_expression % pm_expression
//
- case 114: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divide); break;
+ case 114: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_modulo); break;
}
//
- // Rule 115: multiplicative_expression ::= multiplicative_expression % pm_expression
+ // Rule 116: additive_expression ::= additive_expression + multiplicative_expression
//
- case 115: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_modulo); break;
+ case 116: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plus); break;
}
//
- // Rule 117: additive_expression ::= additive_expression + multiplicative_expression
+ // Rule 117: additive_expression ::= additive_expression - multiplicative_expression
//
- case 117: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plus); break;
+ case 117: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minus); break;
}
//
- // Rule 118: additive_expression ::= additive_expression - multiplicative_expression
+ // Rule 119: shift_expression ::= shift_expression << additive_expression
//
- case 118: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minus); break;
+ case 119: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeft); break;
}
//
- // Rule 120: shift_expression ::= shift_expression << additive_expression
+ // Rule 120: shift_expression ::= shift_expression >> additive_expression
//
- case 120: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeft); break;
+ case 120: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRight); break;
}
//
- // Rule 121: shift_expression ::= shift_expression >> additive_expression
+ // Rule 122: relational_expression ::= relational_expression < shift_expression
//
- case 121: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRight); break;
+ case 122: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessThan); break;
}
//
- // Rule 123: relational_expression ::= relational_expression < shift_expression
+ // Rule 123: relational_expression ::= relational_expression > shift_expression
//
- case 123: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessThan); break;
+ case 123: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterThan); break;
}
//
- // Rule 124: relational_expression ::= relational_expression > shift_expression
+ // Rule 124: relational_expression ::= relational_expression <= shift_expression
//
- case 124: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterThan); break;
+ case 124: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessEqual); break;
}
//
- // Rule 125: relational_expression ::= relational_expression <= shift_expression
+ // Rule 125: relational_expression ::= relational_expression >= shift_expression
//
- case 125: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessEqual); break;
+ case 125: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterEqual); break;
}
//
- // Rule 126: relational_expression ::= relational_expression >= shift_expression
+ // Rule 127: equality_expression ::= equality_expression == relational_expression
//
- case 126: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterEqual); break;
+ case 127: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_equals); break;
}
//
- // Rule 128: equality_expression ::= equality_expression == relational_expression
+ // Rule 128: equality_expression ::= equality_expression != relational_expression
//
- case 128: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_equals); break;
+ case 128: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_notequals); break;
}
//
- // Rule 129: equality_expression ::= equality_expression != relational_expression
+ // Rule 130: and_expression ::= and_expression & equality_expression
//
- case 129: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_notequals); break;
+ case 130: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAnd); break;
}
//
- // Rule 131: and_expression ::= and_expression & equality_expression
+ // Rule 132: exclusive_or_expression ::= exclusive_or_expression ^ and_expression
//
- case 131: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAnd); break;
+ case 132: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXor); break;
}
//
- // Rule 133: exclusive_or_expression ::= exclusive_or_expression ^ and_expression
+ // Rule 134: inclusive_or_expression ::= inclusive_or_expression | exclusive_or_expression
//
- case 133: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXor); break;
+ case 134: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOr); break;
}
//
- // Rule 135: inclusive_or_expression ::= inclusive_or_expression | exclusive_or_expression
+ // Rule 136: logical_and_expression ::= logical_and_expression && inclusive_or_expression
//
- case 135: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOr); break;
+ case 136: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalAnd); break;
}
//
- // Rule 137: logical_and_expression ::= logical_and_expression && inclusive_or_expression
+ // Rule 138: logical_or_expression ::= logical_or_expression || logical_and_expression
//
- case 137: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalAnd); break;
+ case 138: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalOr); break;
}
//
- // Rule 139: logical_or_expression ::= logical_or_expression || logical_and_expression
+ // Rule 140: conditional_expression ::= logical_or_expression ? expression : assignment_expression
//
- case 139: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalOr); break;
+ case 140: { action. consumeExpressionConditional(); break;
}
//
- // Rule 141: conditional_expression ::= logical_or_expression ? expression : assignment_expression
+ // Rule 141: throw_expression ::= throw
//
- case 141: { action. consumeExpressionConditional(); break;
+ case 141: { action. consumeExpressionThrow(false); break;
}
//
- // Rule 142: throw_expression ::= throw
+ // Rule 142: throw_expression ::= throw assignment_expression
//
- case 142: { action. consumeExpressionThrow(false); break;
+ case 142: { action. consumeExpressionThrow(true); break;
}
//
- // Rule 143: throw_expression ::= throw assignment_expression
+ // Rule 145: assignment_expression ::= logical_or_expression = assignment_expression
//
- case 143: { action. consumeExpressionThrow(true); break;
+ case 145: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_assign); break;
}
//
- // Rule 146: assignment_expression ::= logical_or_expression = assignment_expression
+ // Rule 146: assignment_expression ::= logical_or_expression *= assignment_expression
//
- case 146: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_assign); break;
+ case 146: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiplyAssign); break;
}
//
- // Rule 147: assignment_expression ::= logical_or_expression *= assignment_expression
+ // Rule 147: assignment_expression ::= logical_or_expression /= assignment_expression
//
- case 147: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiplyAssign); break;
+ case 147: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divideAssign); break;
}
//
- // Rule 148: assignment_expression ::= logical_or_expression /= assignment_expression
+ // Rule 148: assignment_expression ::= logical_or_expression %= assignment_expression
//
- case 148: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divideAssign); break;
+ case 148: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_moduloAssign); break;
}
//
- // Rule 149: assignment_expression ::= logical_or_expression %= assignment_expression
+ // Rule 149: assignment_expression ::= logical_or_expression += assignment_expression
//
- case 149: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_moduloAssign); break;
+ case 149: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plusAssign); break;
}
//
- // Rule 150: assignment_expression ::= logical_or_expression += assignment_expression
+ // Rule 150: assignment_expression ::= logical_or_expression -= assignment_expression
//
- case 150: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plusAssign); break;
+ case 150: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minusAssign); break;
}
//
- // Rule 151: assignment_expression ::= logical_or_expression -= assignment_expression
+ // Rule 151: assignment_expression ::= logical_or_expression >>= assignment_expression
//
- case 151: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minusAssign); break;
+ case 151: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRightAssign); break;
}
//
- // Rule 152: assignment_expression ::= logical_or_expression >>= assignment_expression
+ // Rule 152: assignment_expression ::= logical_or_expression <<= assignment_expression
//
- case 152: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRightAssign); break;
+ case 152: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeftAssign); break;
}
//
- // Rule 153: assignment_expression ::= logical_or_expression <<= assignment_expression
+ // Rule 153: assignment_expression ::= logical_or_expression &= assignment_expression
//
- case 153: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeftAssign); break;
+ case 153: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAndAssign); break;
}
//
- // Rule 154: assignment_expression ::= logical_or_expression &= assignment_expression
+ // Rule 154: assignment_expression ::= logical_or_expression ^= assignment_expression
//
- case 154: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAndAssign); break;
+ case 154: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXorAssign); break;
}
//
- // Rule 155: assignment_expression ::= logical_or_expression ^= assignment_expression
+ // Rule 155: assignment_expression ::= logical_or_expression |= assignment_expression
//
- case 155: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXorAssign); break;
+ case 155: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOrAssign); break;
}
//
- // Rule 156: assignment_expression ::= logical_or_expression |= assignment_expression
+ // Rule 157: expression_list ::= <openscope-ast> expression_list_actual
//
- case 156: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOrAssign); break;
+ case 157: { action. consumeExpressionList(); break;
}
//
- // Rule 158: expression_list ::= <openscope-ast> expression_list_actual
+ // Rule 161: expression_list_opt ::= $Empty
//
- case 158: { action. consumeExpressionList(); break;
+ case 161: { action. consumeEmpty(); break;
}
//
- // Rule 162: expression_list_opt ::= $Empty
+ // Rule 163: expression_opt ::= $Empty
//
- case 162: { action. consumeEmpty(); break;
+ case 163: { action. consumeEmpty(); break;
}
//
- // Rule 164: expression_opt ::= $Empty
+ // Rule 166: constant_expression_opt ::= $Empty
//
- case 164: { action. consumeEmpty(); break;
+ case 166: { action. consumeEmpty(); break;
}
//
- // Rule 167: constant_expression_opt ::= $Empty
+ // Rule 175: statement ::= ERROR_TOKEN
//
- case 167: { action. consumeEmpty(); break;
+ case 175: { action. consumeStatementProblem(); break;
}
//
- // Rule 176: statement ::= ERROR_TOKEN
+ // Rule 176: labeled_statement ::= identifier : statement
//
- case 176: { action. consumeStatementProblem(); break;
+ case 176: { action. consumeStatementLabeled(); break;
}
//
- // Rule 177: labeled_statement ::= identifier : statement
+ // Rule 177: labeled_statement ::= case constant_expression : statement
//
- case 177: { action. consumeStatementLabeled(); break;
+ case 177: { action. consumeStatementCase(); break;
}
//
- // Rule 178: labeled_statement ::= case constant_expression : statement
+ // Rule 178: labeled_statement ::= default : statement
//
- case 178: { action. consumeStatementCase(); break;
+ case 178: { action. consumeStatementDefault(); break;
}
//
- // Rule 179: labeled_statement ::= default : statement
+ // Rule 179: expression_statement ::= expression ;
//
- case 179: { action. consumeStatementDefault(); break;
+ case 179: { action. consumeStatementExpression(); break;
}
//
- // Rule 180: expression_statement ::= expression ;
+ // Rule 180: expression_statement ::= ;
//
- case 180: { action. consumeStatementExpression(); break;
+ case 180: { action. consumeStatementNull(); break;
}
//
- // Rule 181: expression_statement ::= ;
+ // Rule 181: compound_statement ::= { <openscope-ast> statement_seq }
//
- case 181: { action. consumeStatementNull(); break;
+ case 181: { action. consumeStatementCompoundStatement(true); break;
}
//
- // Rule 182: compound_statement ::= { <openscope-ast> statement_seq }
+ // Rule 182: compound_statement ::= { }
//
- case 182: { action. consumeStatementCompoundStatement(true); break;
+ case 182: { action. consumeStatementCompoundStatement(false); break;
}
//
- // Rule 183: compound_statement ::= { }
+ // Rule 185: selection_statement ::= if ( condition ) statement
//
- case 183: { action. consumeStatementCompoundStatement(false); break;
+ case 185: { action. consumeStatementIf(false); break;
}
//
- // Rule 186: selection_statement ::= if ( condition ) statement
+ // Rule 186: selection_statement ::= if ( condition ) statement else statement
//
- case 186: { action. consumeStatementIf(false); break;
+ case 186: { action. consumeStatementIf(true); break;
}
//
- // Rule 187: selection_statement ::= if ( condition ) statement else statement
+ // Rule 187: selection_statement ::= switch ( condition ) statement
//
- case 187: { action. consumeStatementIf(true); break;
+ case 187: { action. consumeStatementSwitch(); break;
}
//
- // Rule 188: selection_statement ::= switch ( condition ) statement
+ // Rule 189: condition ::= type_specifier_seq declarator = assignment_expression
//
- case 188: { action. consumeStatementSwitch(); break;
+ case 189: { action. consumeConditionDeclaration(); break;
}
//
- // Rule 190: condition ::= type_specifier_seq declarator = assignment_expression
+ // Rule 191: condition_opt ::= $Empty
//
- case 190: { action. consumeConditionDeclaration(); break;
+ case 191: { action. consumeEmpty(); break;
}
//
- // Rule 192: condition_opt ::= $Empty
+ // Rule 192: iteration_statement ::= while ( condition ) statement
//
- case 192: { action. consumeEmpty(); break;
+ case 192: { action. consumeStatementWhileLoop(); break;
}
//
- // Rule 193: iteration_statement ::= while ( condition ) statement
+ // Rule 193: iteration_statement ::= do statement while ( expression ) ;
//
- case 193: { action. consumeStatementWhileLoop(); break;
+ case 193: { action. consumeStatementDoLoop(); break;
}
//
- // Rule 194: iteration_statement ::= do statement while ( expression ) ;
+ // Rule 194: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement
//
- case 194: { action. consumeStatementDoLoop(); break;
+ case 194: { action. consumeStatementForLoop(); break;
}
//
- // Rule 195: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement
+ // Rule 196: for_init_statement ::= simple_declaration_with_declspec
//
- case 195: { action. consumeStatementForLoop(); break;
+ case 196: { action. consumeStatementDeclaration(); break;
}
//
- // Rule 197: for_init_statement ::= simple_declaration_with_declspec
+ // Rule 197: jump_statement ::= break ;
//
- case 197: { action. consumeStatementDeclaration(); break;
+ case 197: { action. consumeStatementBreak(); break;
}
//
- // Rule 198: jump_statement ::= break ;
+ // Rule 198: jump_statement ::= continue ;
//
- case 198: { action. consumeStatementBreak(); break;
+ case 198: { action. consumeStatementContinue(); break;
}
//
- // Rule 199: jump_statement ::= continue ;
+ // Rule 199: jump_statement ::= return expression ;
//
- case 199: { action. consumeStatementContinue(); break;
+ case 199: { action. consumeStatementReturn(true); break;
}
//
- // Rule 200: jump_statement ::= return expression ;
+ // Rule 200: jump_statement ::= return ;
//
- case 200: { action. consumeStatementReturn(true); break;
+ case 200: { action. consumeStatementReturn(false); break;
}
//
- // Rule 201: jump_statement ::= return ;
+ // Rule 201: jump_statement ::= goto identifier_token ;
//
- case 201: { action. consumeStatementReturn(false); break;
+ case 201: { action. consumeStatementGoto(); break;
}
//
- // Rule 202: jump_statement ::= goto identifier_token ;
+ // Rule 202: declaration_statement ::= block_declaration
//
- case 202: { action. consumeStatementGoto(); break;
+ case 202: { action. consumeStatementDeclarationWithDisambiguation(); break;
}
//
- // Rule 203: declaration_statement ::= block_declaration
+ // Rule 203: declaration_statement ::= function_definition
//
- case 203: { action. consumeStatementDeclarationWithDisambiguation(); break;
+ case 203: { action. consumeStatementDeclaration(); break;
}
//
- // Rule 204: declaration_statement ::= function_definition
+ // Rule 211: declaration ::= ERROR_TOKEN
//
- case 204: { action. consumeStatementDeclaration(); break;
+ case 211: { action. consumeDeclarationProblem(); break;
}
//
- // Rule 212: declaration ::= ERROR_TOKEN
+ // Rule 221: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ;
//
- case 212: { action. consumeDeclarationProblem(); break;
+ case 221: { action. consumeDeclarationSimple(true); break;
}
//
- // Rule 222: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ;
+ // Rule 222: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ;
//
case 222: { action. consumeDeclarationSimple(true); break;
}
//
- // Rule 223: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ;
+ // Rule 223: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers
//
- case 223: { action. consumeDeclarationSimple(true); break;
+ case 223: { action. consumeDeclarationSpecifiersSimple(); break;
}
//
- // Rule 224: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers
+ // Rule 224: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers
//
- case 224: { action. consumeDeclarationSpecifiersSimple(); break;
+ case 224: { action. consumeDeclarationSpecifiersComposite(); break;
}
//
- // Rule 225: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers
+ // Rule 225: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers
//
case 225: { action. consumeDeclarationSpecifiersComposite(); break;
}
//
- // Rule 226: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers
+ // Rule 226: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers
//
case 226: { action. consumeDeclarationSpecifiersComposite(); break;
}
//
- // Rule 227: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers
+ // Rule 227: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers
//
- case 227: { action. consumeDeclarationSpecifiersComposite(); break;
+ case 227: { action. consumeDeclarationSpecifiersTypeName(); break;
}
//
- // Rule 228: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers
+ // Rule 229: declaration_specifiers_opt ::= $Empty
//
- case 228: { action. consumeDeclarationSpecifiersTypeName(); break;
+ case 229: { action. consumeEmpty(); break;
}
//
- // Rule 230: declaration_specifiers_opt ::= $Empty
+ // Rule 233: no_type_declaration_specifier ::= friend
//
- case 230: { action. consumeEmpty(); break;
+ case 233: { action. consumeToken(); break;
}
//
- // Rule 234: no_type_declaration_specifier ::= friend
+ // Rule 234: no_type_declaration_specifier ::= typedef
//
case 234: { action. consumeToken(); break;
}
//
- // Rule 235: no_type_declaration_specifier ::= typedef
+ // Rule 254: storage_class_specifier ::= auto
//
- case 235: { action. consumeToken(); break;
+ case 254: { action. consumeToken(); break;
}
//
- // Rule 255: storage_class_specifier ::= auto
+ // Rule 255: storage_class_specifier ::= register
//
case 255: { action. consumeToken(); break;
}
//
- // Rule 256: storage_class_specifier ::= register
+ // Rule 256: storage_class_specifier ::= static
//
case 256: { action. consumeToken(); break;
}
//
- // Rule 257: storage_class_specifier ::= static
+ // Rule 257: storage_class_specifier ::= extern
//
case 257: { action. consumeToken(); break;
}
//
- // Rule 258: storage_class_specifier ::= extern
+ // Rule 258: storage_class_specifier ::= mutable
//
case 258: { action. consumeToken(); break;
}
//
- // Rule 259: storage_class_specifier ::= mutable
+ // Rule 259: function_specifier ::= inline
//
case 259: { action. consumeToken(); break;
}
//
- // Rule 260: function_specifier ::= inline
+ // Rule 260: function_specifier ::= virtual
//
case 260: { action. consumeToken(); break;
}
//
- // Rule 261: function_specifier ::= virtual
+ // Rule 261: function_specifier ::= explicit
//
case 261: { action. consumeToken(); break;
}
//
- // Rule 262: function_specifier ::= explicit
+ // Rule 262: simple_type_specifier ::= char
//
case 262: { action. consumeToken(); break;
}
//
- // Rule 263: simple_type_specifier ::= char
+ // Rule 263: simple_type_specifier ::= wchar_t
//
case 263: { action. consumeToken(); break;
}
//
- // Rule 264: simple_type_specifier ::= wchar_t
+ // Rule 264: simple_type_specifier ::= bool
//
case 264: { action. consumeToken(); break;
}
//
- // Rule 265: simple_type_specifier ::= bool
+ // Rule 265: simple_type_specifier ::= short
//
case 265: { action. consumeToken(); break;
}
//
- // Rule 266: simple_type_specifier ::= short
+ // Rule 266: simple_type_specifier ::= int
//
case 266: { action. consumeToken(); break;
}
//
- // Rule 267: simple_type_specifier ::= int
+ // Rule 267: simple_type_specifier ::= long
//
case 267: { action. consumeToken(); break;
}
//
- // Rule 268: simple_type_specifier ::= long
+ // Rule 268: simple_type_specifier ::= signed
//
case 268: { action. consumeToken(); break;
}
//
- // Rule 269: simple_type_specifier ::= signed
+ // Rule 269: simple_type_specifier ::= unsigned
//
case 269: { action. consumeToken(); break;
}
//
- // Rule 270: simple_type_specifier ::= unsigned
+ // Rule 270: simple_type_specifier ::= float
//
case 270: { action. consumeToken(); break;
}
//
- // Rule 271: simple_type_specifier ::= float
+ // Rule 271: simple_type_specifier ::= double
//
case 271: { action. consumeToken(); break;
}
//
- // Rule 272: simple_type_specifier ::= double
+ // Rule 272: simple_type_specifier ::= void
//
case 272: { action. consumeToken(); break;
}
//
- // Rule 273: simple_type_specifier ::= void
+ // Rule 275: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name
//
- case 273: { action. consumeToken(); break;
+ case 275: { action. consumeQualifiedId(false); break;
}
//
- // Rule 276: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name
+ // Rule 276: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name
//
case 276: { action. consumeQualifiedId(false); break;
}
//
- // Rule 277: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name
+ // Rule 277: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name
//
case 277: { action. consumeQualifiedId(false); break;
}
//
- // Rule 278: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name
+ // Rule 278: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name
//
- case 278: { action. consumeQualifiedId(false); break;
+ case 278: { action. consumeQualifiedId(true); break;
}
//
- // Rule 279: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name
+ // Rule 280: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name
//
- case 279: { action. consumeQualifiedId(true); break;
+ case 280: { action. consumeTypeSpecifierElaborated(false); break;
}
//
- // Rule 281: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name
+ // Rule 281: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt template_opt template_id_name
//
- case 281: { action. consumeTypeSpecifierElaborated(false); break;
+ case 281: { action. consumeTypeSpecifierElaborated(true); break;
}
//
- // Rule 282: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt template_opt template_id_name
+ // Rule 282: elaborated_type_specifier ::= enum elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name
//
- case 282: { action. consumeTypeSpecifierElaborated(true); break;
+ case 282: { action. consumeTypeSpecifierElaborated(false); break;
}
//
- // Rule 283: elaborated_type_specifier ::= enum elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name
+ // Rule 284: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt }
//
- case 283: { action. consumeTypeSpecifierElaborated(false); break;
+ case 284: { action. consumeTypeSpecifierEnumeration(false); break;
}
//
- // Rule 285: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt }
+ // Rule 285: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt }
//
- case 285: { action. consumeTypeSpecifierEnumeration(false); break;
+ case 285: { action. consumeTypeSpecifierEnumeration(true); break;
}
//
- // Rule 286: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt }
+ // Rule 291: enumerator_definition ::= identifier_token
//
- case 286: { action. consumeTypeSpecifierEnumeration(true); break;
+ case 291: { action. consumeEnumerator(false); break;
}
//
- // Rule 292: enumerator_definition ::= identifier_token
+ // Rule 292: enumerator_definition ::= identifier_token = constant_expression
//
- case 292: { action. consumeEnumerator(false); break;
+ case 292: { action. consumeEnumerator(true); break;
}
//
- // Rule 293: enumerator_definition ::= identifier_token = constant_expression
+ // Rule 296: named_namespace_definition ::= namespace namespace_name { <openscope-ast> declaration_seq_opt }
//
- case 293: { action. consumeEnumerator(true); break;
+ case 296: { action. consumeNamespaceDefinition(true); break;
}
//
- // Rule 297: named_namespace_definition ::= namespace namespace_name { <openscope-ast> declaration_seq_opt }
+ // Rule 297: unnamed_namespace_definition ::= namespace { <openscope-ast> declaration_seq_opt }
//
- case 297: { action. consumeNamespaceDefinition(true); break;
+ case 297: { action. consumeNamespaceDefinition(false); break;
}
//
- // Rule 298: unnamed_namespace_definition ::= namespace { <openscope-ast> declaration_seq_opt }
+ // Rule 298: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ;
//
- case 298: { action. consumeNamespaceDefinition(false); break;
+ case 298: { action. consumeNamespaceAliasDefinition(); break;
}
//
- // Rule 299: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ;
+ // Rule 299: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ;
//
- case 299: { action. consumeNamespaceAliasDefinition(); break;
+ case 299: { action. consumeUsingDeclaration(); break;
}
//
- // Rule 300: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ;
+ // Rule 300: typename_opt ::= typename
//
- case 300: { action. consumeUsingDeclaration(); break;
+ case 300: { action. consumePlaceHolder(); break;
}
//
- // Rule 301: typename_opt ::= typename
+ // Rule 301: typename_opt ::= $Empty
//
- case 301: { action. consumePlaceHolder(); break;
+ case 301: { action. consumeEmpty(); break;
}
//
- // Rule 302: typename_opt ::= $Empty
+ // Rule 302: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ;
//
- case 302: { action. consumeEmpty(); break;
+ case 302: { action. consumeUsingDirective(); break;
}
//
- // Rule 303: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ;
+ // Rule 303: asm_definition ::= asm ( stringlit ) ;
//
- case 303: { action. consumeUsingDirective(); break;
+ case 303: { action. consumeDeclarationASM(); break;
}
//
- // Rule 304: asm_definition ::= asm ( stringlit ) ;
+ // Rule 304: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt }
//
- case 304: { action. consumeDeclarationASM(); break;
+ case 304: { action. consumeLinkageSpecification(); break;
}
//
- // Rule 305: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt }
+ // Rule 305: linkage_specification ::= extern stringlit <openscope-ast> declaration
//
case 305: { action. consumeLinkageSpecification(); break;
}
//
- // Rule 306: linkage_specification ::= extern stringlit <openscope-ast> declaration
+ // Rule 310: init_declarator_complete ::= init_declarator
//
- case 306: { action. consumeLinkageSpecification(); break;
+ case 310: { action. consumeInitDeclaratorComplete(); break;
}
//
- // Rule 311: init_declarator_complete ::= init_declarator
+ // Rule 312: init_declarator ::= complete_declarator initializer
//
- case 311: { action. consumeInitDeclaratorComplete(); break;
+ case 312: { action. consumeDeclaratorWithInitializer(true); break;
}
//
- // Rule 313: init_declarator ::= complete_declarator initializer
+ // Rule 315: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
//
- case 313: { action. consumeDeclaratorWithInitializer(true); break;
+ case 315: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 316: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
+ // Rule 317: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
//
- case 316: { action. consumeDeclaratorWithPointer(true); break;
+ case 317: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 318: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
+ // Rule 321: basic_direct_declarator ::= declarator_id_name
//
- case 318: { action. consumeDeclaratorWithPointer(true); break;
+ case 321: { action. consumeDirectDeclaratorIdentifier(); break;
}
//
- // Rule 322: basic_direct_declarator ::= declarator_id_name
+ // Rule 322: basic_direct_declarator ::= ( declarator )
//
- case 322: { action. consumeDirectDeclaratorIdentifier(); break;
+ case 322: { action. consumeDirectDeclaratorBracketed(); break;
}
//
- // Rule 323: basic_direct_declarator ::= ( declarator )
+ // Rule 323: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
//
- case 323: { action. consumeDirectDeclaratorBracketed(); break;
+ case 323: { action. consumeDirectDeclaratorFunctionDeclarator(true); break;
}
//
- // Rule 324: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
+ // Rule 324: array_direct_declarator ::= array_direct_declarator array_modifier
//
- case 324: { action. consumeDirectDeclaratorFunctionDeclarator(true); break;
+ case 324: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 325: array_direct_declarator ::= array_direct_declarator array_modifier
+ // Rule 325: array_direct_declarator ::= basic_direct_declarator array_modifier
//
case 325: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 326: array_direct_declarator ::= basic_direct_declarator array_modifier
+ // Rule 326: array_modifier ::= [ constant_expression ]
//
- case 326: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 326: { action. consumeDirectDeclaratorArrayModifier(true); break;
}
//
- // Rule 327: array_modifier ::= [ constant_expression ]
+ // Rule 327: array_modifier ::= [ ]
//
- case 327: { action. consumeDirectDeclaratorArrayModifier(true); break;
+ case 327: { action. consumeDirectDeclaratorArrayModifier(false); break;
}
//
- // Rule 328: array_modifier ::= [ ]
+ // Rule 328: ptr_operator ::= pointer_hook * <openscope-ast> cv_qualifier_seq_opt
//
- case 328: { action. consumeDirectDeclaratorArrayModifier(false); break;
+ case 328: { action. consumePointer(); break;
}
//
- // Rule 329: ptr_operator ::= pointer_hook * <openscope-ast> cv_qualifier_seq_opt
+ // Rule 329: ptr_operator ::= pointer_hook &
//
- case 329: { action. consumePointer(); break;
+ case 329: { action. consumeReferenceOperator(); break;
}
//
- // Rule 330: ptr_operator ::= pointer_hook &
+ // Rule 330: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * <openscope-ast> cv_qualifier_seq_opt
//
- case 330: { action. consumeReferenceOperator(); break;
+ case 330: { action. consumePointerToMember(); break;
}
//
- // Rule 331: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * <openscope-ast> cv_qualifier_seq_opt
+ // Rule 337: cv_qualifier ::= const
//
- case 331: { action. consumePointerToMember(); break;
+ case 337: { action. consumeToken(); break;
}
//
- // Rule 338: cv_qualifier ::= const
+ // Rule 338: cv_qualifier ::= volatile
//
case 338: { action. consumeToken(); break;
}
//
- // Rule 339: cv_qualifier ::= volatile
+ // Rule 340: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name
//
- case 339: { action. consumeToken(); break;
+ case 340: { action. consumeQualifiedId(false); break;
}
//
- // Rule 341: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name
+ // Rule 341: type_id ::= type_specifier_seq
//
- case 341: { action. consumeQualifiedId(false); break;
+ case 341: { action. consumeTypeId(false); break;
}
//
- // Rule 342: type_id ::= type_specifier_seq
+ // Rule 342: type_id ::= type_specifier_seq abstract_declarator
//
- case 342: { action. consumeTypeId(false); break;
+ case 342: { action. consumeTypeId(true); break;
}
//
- // Rule 343: type_id ::= type_specifier_seq abstract_declarator
+ // Rule 345: abstract_declarator ::= <openscope-ast> ptr_operator_seq
//
- case 343: { action. consumeTypeId(true); break;
+ case 345: { action. consumeDeclaratorWithPointer(false); break;
}
//
- // Rule 346: abstract_declarator ::= <openscope-ast> ptr_operator_seq
+ // Rule 346: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator
//
- case 346: { action. consumeDeclaratorWithPointer(false); break;
+ case 346: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 347: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator
+ // Rule 350: basic_direct_abstract_declarator ::= ( abstract_declarator )
//
- case 347: { action. consumeDeclaratorWithPointer(true); break;
+ case 350: { action. consumeDirectDeclaratorBracketed(); break;
}
//
- // Rule 351: basic_direct_abstract_declarator ::= ( abstract_declarator )
+ // Rule 351: basic_direct_abstract_declarator ::= ( )
//
- case 351: { action. consumeDirectDeclaratorBracketed(); break;
+ case 351: { action. consumeAbstractDeclaratorEmpty(); break;
}
//
- // Rule 352: basic_direct_abstract_declarator ::= ( )
+ // Rule 352: array_direct_abstract_declarator ::= array_modifier
//
- case 352: { action. consumeAbstractDeclaratorEmpty(); break;
+ case 352: { action. consumeDirectDeclaratorArrayDeclarator(false); break;
}
//
- // Rule 353: array_direct_abstract_declarator ::= array_modifier
+ // Rule 353: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
//
- case 353: { action. consumeDirectDeclaratorArrayDeclarator(false); break;
+ case 353: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 354: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
+ // Rule 354: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
//
case 354: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 355: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
+ // Rule 355: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
//
- case 355: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 355: { action. consumeDirectDeclaratorFunctionDeclarator(true); break;
}
//
- // Rule 356: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
+ // Rule 356: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
//
- case 356: { action. consumeDirectDeclaratorFunctionDeclarator(true); break;
+ case 356: { action. consumeDirectDeclaratorFunctionDeclarator(false); break;
}
//
- // Rule 357: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
+ // Rule 357: parameter_declaration_clause ::= parameter_declaration_list_opt ...
//
- case 357: { action. consumeDirectDeclaratorFunctionDeclarator(false); break;
+ case 357: { action. consumePlaceHolder(); break;
}
//
- // Rule 358: parameter_declaration_clause ::= parameter_declaration_list_opt ...
+ // Rule 358: parameter_declaration_clause ::= parameter_declaration_list_opt
//
- case 358: { action. consumePlaceHolder(); break;
+ case 358: { action. consumeEmpty(); break;
}
//
- // Rule 359: parameter_declaration_clause ::= parameter_declaration_list_opt
+ // Rule 359: parameter_declaration_clause ::= parameter_declaration_list , ...
//
- case 359: { action. consumeEmpty(); break;
+ case 359: { action. consumePlaceHolder(); break;
}
//
- // Rule 360: parameter_declaration_clause ::= parameter_declaration_list , ...
+ // Rule 365: abstract_declarator_opt ::= $Empty
//
- case 360: { action. consumePlaceHolder(); break;
+ case 365: { action. consumeEmpty(); break;
}
//
- // Rule 366: abstract_declarator_opt ::= $Empty
+ // Rule 366: parameter_declaration ::= declaration_specifiers parameter_init_declarator
//
- case 366: { action. consumeEmpty(); break;
+ case 366: { action. consumeParameterDeclaration(); break;
}
//
- // Rule 367: parameter_declaration ::= declaration_specifiers parameter_init_declarator
+ // Rule 367: parameter_declaration ::= declaration_specifiers
//
- case 367: { action. consumeParameterDeclaration(); break;
+ case 367: { action. consumeParameterDeclarationWithoutDeclarator(); break;
}
//
- // Rule 368: parameter_declaration ::= declaration_specifiers
+ // Rule 369: parameter_init_declarator ::= declarator = parameter_initializer
//
- case 368: { action. consumeParameterDeclarationWithoutDeclarator(); break;
+ case 369: { action. consumeDeclaratorWithInitializer(true); break;
}
//
- // Rule 370: parameter_init_declarator ::= declarator = parameter_initializer
+ // Rule 371: parameter_init_declarator ::= abstract_declarator = parameter_initializer
//
- case 370: { action. consumeDeclaratorWithInitializer(true); break;
+ case 371: { action. consumeDeclaratorWithInitializer(true); break;
}
//
- // Rule 372: parameter_init_declarator ::= abstract_declarator = parameter_initializer
+ // Rule 372: parameter_init_declarator ::= = parameter_initializer
//
- case 372: { action. consumeDeclaratorWithInitializer(true); break;
+ case 372: { action. consumeDeclaratorWithInitializer(false); break;
}
//
- // Rule 373: parameter_init_declarator ::= = parameter_initializer
+ // Rule 373: parameter_initializer ::= assignment_expression
//
- case 373: { action. consumeDeclaratorWithInitializer(false); break;
+ case 373: { action. consumeInitializer(); break;
}
//
- // Rule 374: parameter_initializer ::= assignment_expression
+ // Rule 374: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body
//
- case 374: { action. consumeInitializer(); break;
+ case 374: { action. consumeFunctionDefinition(false); break;
}
//
- // Rule 375: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body
+ // Rule 375: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq
//
- case 375: { action. consumeFunctionDefinition(false); break;
+ case 375: { action. consumeFunctionDefinition(true); break;
}
//
- // Rule 376: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq
+ // Rule 378: initializer ::= ( expression_list )
//
- case 376: { action. consumeFunctionDefinition(true); break;
+ case 378: { action. consumeInitializerConstructor(); break;
}
//
- // Rule 379: initializer ::= ( expression_list )
+ // Rule 379: initializer_clause ::= assignment_expression
//
- case 379: { action. consumeInitializerConstructor(); break;
+ case 379: { action. consumeInitializer(); break;
}
//
- // Rule 380: initializer_clause ::= assignment_expression
+ // Rule 380: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list , } end_initializer_list
//
- case 380: { action. consumeInitializer(); break;
+ case 380: { action. consumeInitializerList(); break;
}
//
- // Rule 381: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list , } end_initializer_list
+ // Rule 381: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list } end_initializer_list
//
case 381: { action. consumeInitializerList(); break;
}
//
- // Rule 382: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list } end_initializer_list
+ // Rule 382: initializer_clause ::= { <openscope-ast> }
//
case 382: { action. consumeInitializerList(); break;
}
//
- // Rule 383: initializer_clause ::= { <openscope-ast> }
+ // Rule 383: start_initializer_list ::= $Empty
//
- case 383: { action. consumeInitializerList(); break;
+ case 383: { action. initializerListStart(); break;
}
//
- // Rule 384: start_initializer_list ::= $Empty
+ // Rule 384: end_initializer_list ::= $Empty
//
- case 384: { action. initializerListStart(); break;
+ case 384: { action. initializerListEnd(); break;
}
//
- // Rule 385: end_initializer_list ::= $Empty
+ // Rule 389: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt }
//
- case 385: { action. initializerListEnd(); break;
+ case 389: { action. consumeClassSpecifier(); break;
}
//
- // Rule 390: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt }
+ // Rule 390: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook <openscope-ast> base_clause_opt
//
- case 390: { action. consumeClassSpecifier(); break;
+ case 390: { action. consumeClassHead(false); break;
}
//
- // Rule 391: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook <openscope-ast> base_clause_opt
+ // Rule 391: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt
//
case 391: { action. consumeClassHead(false); break;
}
//
- // Rule 392: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt
+ // Rule 392: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook <openscope-ast> base_clause_opt
//
- case 392: { action. consumeClassHead(false); break;
+ case 392: { action. consumeClassHead(true); break;
}
//
- // Rule 393: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook <openscope-ast> base_clause_opt
+ // Rule 393: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt
//
case 393: { action. consumeClassHead(true); break;
}
//
- // Rule 394: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt
+ // Rule 397: identifier_name_opt ::= $Empty
//
- case 394: { action. consumeClassHead(true); break;
- }
+ case 397: { action. consumeEmpty(); break;
+ }
//
- // Rule 398: identifier_name_opt ::= $Empty
+ // Rule 401: visibility_label ::= access_specifier_keyword :
//
- case 398: { action. consumeEmpty(); break;
- }
+ case 401: { action. consumeVisibilityLabel(); break;
+ }
//
- // Rule 402: visibility_label ::= access_specifier_keyword :
+ // Rule 402: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ;
//
- case 402: { action. consumeVisibilityLabel(); break;
+ case 402: { action. consumeDeclarationSimple(true); break;
}
//
- // Rule 403: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ;
+ // Rule 403: member_declaration ::= declaration_specifiers_opt ;
//
- case 403: { action. consumeDeclarationSimple(true); break;
+ case 403: { action. consumeDeclarationSimple(false); break;
}
//
- // Rule 404: member_declaration ::= declaration_specifiers_opt ;
+ // Rule 406: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ;
//
- case 404: { action. consumeDeclarationSimple(false); break;
+ case 406: { action. consumeMemberDeclarationQualifiedId(); break;
}
//
- // Rule 407: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ;
+ // Rule 412: member_declaration ::= ERROR_TOKEN
//
- case 407: { action. consumeMemberDeclarationQualifiedId(); break;
+ case 412: { action. consumeDeclarationProblem(); break;
}
//
- // Rule 413: member_declaration ::= ERROR_TOKEN
+ // Rule 421: member_declarator ::= declarator constant_initializer
//
- case 413: { action. consumeDeclarationProblem(); break;
+ case 421: { action. consumeMemberDeclaratorWithInitializer(); break;
}
//
- // Rule 422: member_declarator ::= declarator constant_initializer
+ // Rule 422: member_declarator ::= bit_field_declarator : constant_expression
//
- case 422: { action. consumeMemberDeclaratorWithInitializer(); break;
+ case 422: { action. consumeBitField(true); break;
}
//
- // Rule 423: member_declarator ::= bit_field_declarator : constant_expression
+ // Rule 423: member_declarator ::= : constant_expression
//
- case 423: { action. consumeBitField(true); break;
+ case 423: { action. consumeBitField(false); break;
}
//
- // Rule 424: member_declarator ::= : constant_expression
+ // Rule 424: bit_field_declarator ::= identifier_name
//
- case 424: { action. consumeBitField(false); break;
+ case 424: { action. consumeDirectDeclaratorIdentifier(); break;
}
//
- // Rule 425: bit_field_declarator ::= identifier_name
+ // Rule 425: constant_initializer ::= = constant_expression
//
- case 425: { action. consumeDirectDeclaratorIdentifier(); break;
+ case 425: { action. consumeInitializer(); break;
}
//
- // Rule 426: constant_initializer ::= = constant_expression
+ // Rule 431: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name
//
- case 426: { action. consumeInitializer(); break;
+ case 431: { action. consumeBaseSpecifier(false, false); break;
}
//
- // Rule 432: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name
+ // Rule 432: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name
//
- case 432: { action. consumeBaseSpecifier(false, false); break;
+ case 432: { action. consumeBaseSpecifier(true, true); break;
}
//
- // Rule 433: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name
+ // Rule 433: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name
//
case 433: { action. consumeBaseSpecifier(true, true); break;
}
//
- // Rule 434: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name
+ // Rule 434: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name
//
- case 434: { action. consumeBaseSpecifier(true, true); break;
+ case 434: { action. consumeBaseSpecifier(true, false); break;
}
//
- // Rule 435: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name
+ // Rule 435: access_specifier_keyword ::= private
//
- case 435: { action. consumeBaseSpecifier(true, false); break;
+ case 435: { action. consumeToken(); break;
}
//
- // Rule 436: access_specifier_keyword ::= private
+ // Rule 436: access_specifier_keyword ::= protected
//
case 436: { action. consumeToken(); break;
}
//
- // Rule 437: access_specifier_keyword ::= protected
+ // Rule 437: access_specifier_keyword ::= public
//
case 437: { action. consumeToken(); break;
}
//
- // Rule 438: access_specifier_keyword ::= public
+ // Rule 439: access_specifier_keyword_opt ::= $Empty
//
- case 438: { action. consumeToken(); break;
+ case 439: { action. consumeEmpty(); break;
}
//
- // Rule 440: access_specifier_keyword_opt ::= $Empty
+ // Rule 441: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt >
//
- case 440: { action. consumeEmpty(); break;
+ case 441: { action. consumeTemplateId(); break;
}
//
- // Rule 442: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt >
+ // Rule 442: conversion_function_id ::= operator conversion_type_id
//
- case 442: { action. consumeTemplateId(); break;
+ case 442: { action. consumeConversionName(); break;
}
//
- // Rule 443: conversion_function_id ::= operator conversion_type_id
+ // Rule 443: conversion_type_id ::= type_specifier_seq conversion_declarator
//
- case 443: { action. consumeConversionName(); break;
+ case 443: { action. consumeTypeId(true); break;
}
//
- // Rule 444: conversion_type_id ::= type_specifier_seq conversion_declarator
+ // Rule 444: conversion_type_id ::= type_specifier_seq
//
- case 444: { action. consumeTypeId(true); break;
+ case 444: { action. consumeTypeId(false); break;
}
//
- // Rule 445: conversion_type_id ::= type_specifier_seq
+ // Rule 445: conversion_declarator ::= <openscope-ast> ptr_operator_seq
//
- case 445: { action. consumeTypeId(false); break;
+ case 445: { action. consumeDeclaratorWithPointer(false); break;
}
//
- // Rule 446: conversion_declarator ::= <openscope-ast> ptr_operator_seq
+ // Rule 451: mem_initializer ::= mem_initializer_name ( expression_list_opt )
//
- case 446: { action. consumeDeclaratorWithPointer(false); break;
+ case 451: { action. consumeConstructorChainInitializer(); break;
}
//
- // Rule 452: mem_initializer ::= mem_initializer_name ( expression_list_opt )
+ // Rule 452: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name
//
- case 452: { action. consumeConstructorChainInitializer(); break;
+ case 452: { action. consumeQualifiedId(false); break;
}
//
- // Rule 453: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name
+ // Rule 455: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt >
//
- case 453: { action. consumeQualifiedId(false); break;
+ case 455: { action. consumeTemplateId(); break;
}
//
- // Rule 456: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt >
+ // Rule 456: operator_id_name ::= operator overloadable_operator
//
- case 456: { action. consumeTemplateId(); break;
+ case 456: { action. consumeOperatorName(); break;
}
//
- // Rule 457: operator_id_name ::= operator overloadable_operator
+ // Rule 499: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration
//
- case 457: { action. consumeOperatorName(); break;
+ case 499: { action. consumeTemplateDeclaration(); break;
}
//
- // Rule 500: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration
+ // Rule 500: export_opt ::= export
//
- case 500: { action. consumeTemplateDeclaration(); break;
+ case 500: { action. consumePlaceHolder(); break;
}
//
- // Rule 501: export_opt ::= export
+ // Rule 501: export_opt ::= $Empty
//
- case 501: { action. consumePlaceHolder(); break;
+ case 501: { action. consumeEmpty(); break;
}
//
- // Rule 502: export_opt ::= $Empty
+ // Rule 505: template_parameter ::= parameter_declaration
//
- case 502: { action. consumeEmpty(); break;
+ case 505: { action. consumeTemplateParamterDeclaration(); break;
}
//
- // Rule 506: template_parameter ::= parameter_declaration
+ // Rule 506: type_parameter ::= class identifier_name_opt
//
- case 506: { action. consumeTemplateParamterDeclaration(); break;
+ case 506: { action. consumeSimpleTypeTemplateParameter(false); break;
}
//
- // Rule 507: type_parameter ::= class identifier_name_opt
+ // Rule 507: type_parameter ::= class identifier_name_opt = type_id
//
- case 507: { action. consumeSimpleTypeTemplateParameter(false); break;
+ case 507: { action. consumeSimpleTypeTemplateParameter(true); break;
}
//
- // Rule 508: type_parameter ::= class identifier_name_opt = type_id
+ // Rule 508: type_parameter ::= typename identifier_name_opt
//
- case 508: { action. consumeSimpleTypeTemplateParameter(true); break;
+ case 508: { action. consumeSimpleTypeTemplateParameter(false); break;
}
//
- // Rule 509: type_parameter ::= typename identifier_name_opt
+ // Rule 509: type_parameter ::= typename identifier_name_opt = type_id
//
- case 509: { action. consumeSimpleTypeTemplateParameter(false); break;
+ case 509: { action. consumeSimpleTypeTemplateParameter(true); break;
}
//
- // Rule 510: type_parameter ::= typename identifier_name_opt = type_id
+ // Rule 510: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt
//
- case 510: { action. consumeSimpleTypeTemplateParameter(true); break;
+ case 510: { action. consumeTemplatedTypeTemplateParameter(false); break;
}
//
- // Rule 511: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt
+ // Rule 511: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression
//
- case 511: { action. consumeTemplatedTypeTemplateParameter(false); break;
+ case 511: { action. consumeTemplatedTypeTemplateParameter(true); break;
}
//
- // Rule 512: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression
+ // Rule 512: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt >
//
- case 512: { action. consumeTemplatedTypeTemplateParameter(true); break;
+ case 512: { action. consumeTemplateId(); break;
}
//
- // Rule 513: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt >
+ // Rule 517: template_argument ::= assignment_expression
//
- case 513: { action. consumeTemplateId(); break;
+ case 517: { action. consumeTemplateArgumentExpression(); break;
}
//
- // Rule 518: template_argument ::= assignment_expression
+ // Rule 518: template_argument ::= type_id
//
- case 518: { action. consumeTemplateArgumentExpression(); break;
+ case 518: { action. consumeTemplateArgumentTypeId(); break;
}
//
- // Rule 519: template_argument ::= type_id
+ // Rule 519: explicit_instantiation ::= template declaration
//
- case 519: { action. consumeTemplateArgumentTypeId(); break;
+ case 519: { action. consumeTemplateExplicitInstantiation(); break;
}
//
- // Rule 520: explicit_instantiation ::= template declaration
+ // Rule 520: explicit_specialization ::= template < > declaration
//
- case 520: { action. consumeTemplateExplicitInstantiation(); break;
+ case 520: { action. consumeTemplateExplicitSpecialization(); break;
}
//
- // Rule 521: explicit_specialization ::= template < > declaration
+ // Rule 521: try_block ::= try compound_statement <openscope-ast> handler_seq
//
- case 521: { action. consumeTemplateExplicitSpecialization(); break;
+ case 521: { action. consumeStatementTryBlock(); break;
}
//
- // Rule 522: try_block ::= try compound_statement <openscope-ast> handler_seq
+ // Rule 524: handler ::= catch ( exception_declaration ) compound_statement
//
- case 522: { action. consumeStatementTryBlock(); break;
+ case 524: { action. consumeStatementCatchHandler(false); break;
}
//
- // Rule 525: handler ::= catch ( exception_declaration ) compound_statement
+ // Rule 525: handler ::= catch ( ... ) compound_statement
//
- case 525: { action. consumeStatementCatchHandler(false); break;
+ case 525: { action. consumeStatementCatchHandler(true); break;
}
//
- // Rule 526: handler ::= catch ( ... ) compound_statement
+ // Rule 526: exception_declaration ::= type_specifier_seq <openscope-ast> declarator
//
- case 526: { action. consumeStatementCatchHandler(true); break;
+ case 526: { action. consumeDeclarationSimple(true); break;
}
//
- // Rule 527: exception_declaration ::= type_specifier_seq <openscope-ast> declarator
+ // Rule 527: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator
//
case 527: { action. consumeDeclarationSimple(true); break;
}
//
- // Rule 528: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator
- //
- case 528: { action. consumeDeclarationSimple(true); break;
- }
-
- //
- // Rule 529: exception_declaration ::= type_specifier_seq
+ // Rule 528: exception_declaration ::= type_specifier_seq
//
- case 529: { action. consumeDeclarationSimple(false); break;
+ case 528: { action. consumeDeclarationSimple(false); break;
}
//
- // Rule 531: exception_specification ::= throw ( )
+ // Rule 530: exception_specification ::= throw ( )
//
- case 531: { action. consumePlaceHolder(); break;
+ case 530: { action. consumePlaceHolder(); break;
}
//
- // Rule 537: type_parameter_start ::= ERROR_TOKEN
+ // Rule 536: type_parameter_start ::= ERROR_TOKEN
//
- case 537: { action. consumeDeclarationProblem(); break;
+ case 536: { action. consumeDeclarationProblem(); break;
}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParserprs.java
index 2f6b20d5bf9..b153907df19 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParserprs.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParserprs.java
@@ -29,7 +29,7 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0
+ 0,0
};
};
public final static byte isKeyword[] = IsKeyword.isKeyword;
@@ -39,498 +39,497 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par
public final static short baseCheck[] = {0,
0,0,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,3,1,1,1,1,1,
- 1,1,1,2,2,1,1,0,1,0,
- 4,2,3,2,3,2,2,1,0,1,
- 1,4,4,4,8,8,3,3,4,4,
- 3,3,2,2,7,7,7,7,4,4,
- 5,6,3,2,2,1,1,1,2,2,
- 2,2,2,2,2,2,2,4,7,9,
- 3,0,1,2,2,1,2,3,4,1,
- 0,3,1,0,3,5,1,4,1,3,
- 3,1,3,3,3,1,3,3,1,3,
- 3,1,3,3,3,3,1,3,3,1,
- 3,1,3,1,3,1,3,1,3,1,
- 5,1,2,1,1,3,3,3,3,3,
- 3,3,3,3,3,3,1,2,1,3,
- 1,0,1,0,1,1,0,1,1,1,
- 1,1,1,1,1,1,3,4,3,2,
- 1,4,2,1,2,5,7,5,1,4,
- 1,0,5,7,8,1,1,2,2,3,
- 2,3,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,2,1,
- 0,4,4,2,2,2,2,2,1,0,
- 1,1,1,1,1,1,2,1,2,2,
- 2,1,1,2,2,1,2,2,1,2,
- 2,1,2,2,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,3,4,4,5,2,
- 5,6,5,0,6,7,0,1,3,1,
- 0,1,3,1,1,1,6,5,7,6,
- 1,0,6,5,6,4,1,3,1,0,
- 1,1,2,1,1,3,1,3,1,1,
- 1,1,3,9,2,2,3,2,4,2,
- 6,0,1,2,2,1,0,1,1,1,
- 3,1,2,1,1,2,3,1,1,1,
- 3,2,1,2,2,9,8,2,1,3,
- 1,3,1,0,1,0,2,1,1,3,
- 1,3,2,1,5,8,1,2,3,1,
- 7,6,3,0,0,1,3,1,1,5,
- 6,6,7,7,0,0,1,0,1,1,
- 1,2,4,2,2,1,5,1,1,1,
- 1,1,1,1,2,1,0,1,3,1,
- 1,2,3,2,1,2,2,1,0,1,
- 3,3,5,5,4,1,1,1,1,0,
- 1,5,2,2,1,2,2,1,0,1,
- 3,4,3,1,1,5,2,1,1,3,
+ 1,1,1,3,1,1,1,1,1,1,
+ 1,1,2,2,1,1,0,1,0,4,
+ 2,3,2,3,2,2,1,0,1,1,
+ 4,4,4,8,8,3,3,4,4,3,
+ 3,2,2,7,7,7,7,4,4,5,
+ 6,3,2,2,1,1,1,2,2,2,
+ 2,2,2,2,2,2,4,7,9,3,
+ 0,1,2,2,1,2,3,4,1,0,
+ 3,1,0,3,5,1,4,1,3,3,
+ 1,3,3,3,1,3,3,1,3,3,
+ 1,3,3,3,3,1,3,3,1,3,
+ 1,3,1,3,1,3,1,3,1,5,
+ 1,2,1,1,3,3,3,3,3,3,
+ 3,3,3,3,3,1,2,1,3,1,
+ 0,1,0,1,1,0,1,1,1,1,
+ 1,1,1,1,1,3,4,3,2,1,
+ 4,2,1,2,5,7,5,1,4,1,
+ 0,5,7,8,1,1,2,2,3,2,
3,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,2,1,0,
+ 4,4,2,2,2,2,2,1,0,1,
+ 1,1,1,1,1,2,1,2,2,2,
+ 1,1,2,2,1,2,2,1,2,2,
+ 1,2,2,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,3,4,4,5,2,5,
+ 6,5,0,6,7,0,1,3,1,0,
+ 1,3,1,1,1,6,5,7,6,1,
+ 0,6,5,6,4,1,3,1,0,1,
+ 1,2,1,1,3,1,3,1,1,1,
+ 1,3,9,2,2,3,2,4,2,6,
+ 0,1,2,2,1,0,1,1,1,3,
+ 1,2,1,1,2,3,1,1,1,3,
+ 2,1,2,2,9,8,2,1,3,1,
+ 3,1,0,1,0,2,1,1,3,1,
+ 3,2,1,5,8,1,2,3,1,7,
+ 6,3,0,0,1,3,1,1,5,6,
+ 6,7,7,0,0,1,0,1,1,1,
+ 2,4,2,2,1,5,1,1,1,1,
+ 1,1,1,2,1,0,1,3,1,1,
+ 2,3,2,1,2,2,1,0,1,3,
+ 3,5,5,4,1,1,1,1,0,1,
+ 5,2,2,1,2,2,1,0,1,3,
+ 4,3,1,1,5,2,1,1,3,3,
+ 1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,2,2,7,
- 1,0,1,3,1,1,2,4,2,4,
- 7,9,5,1,3,1,0,1,1,2,
- 4,4,1,2,5,5,3,3,1,4,
- 3,1,0,1,3,1,1,-126,0,0,
- 0,-2,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-483,
- 0,0,0,0,0,0,0,-3,0,-7,
- 0,0,0,0,0,-4,0,0,0,0,
- -8,-132,0,0,0,-22,0,0,0,0,
- 0,0,0,0,-433,-149,0,0,0,0,
+ 1,1,1,1,1,1,2,2,7,1,
+ 0,1,3,1,1,2,4,2,4,7,
+ 9,5,1,3,1,0,1,1,2,4,
+ 4,1,2,5,5,3,3,1,4,3,
+ 1,0,1,3,1,1,-126,0,0,0,
+ -2,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-483,0,
+ 0,0,0,0,0,0,-3,0,-7,0,
+ 0,0,0,0,-4,0,0,0,0,-8,
+ -132,0,0,0,-22,0,0,0,0,0,
+ 0,0,0,-433,-149,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-12,0,0,
- 0,0,0,0,0,0,0,-425,0,0,
- 0,-140,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-12,0,0,0,
+ 0,0,0,0,0,0,-425,0,0,0,
+ -140,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-16,0,0,0,0,0,0,
- 0,0,-91,-323,0,0,0,-261,0,-133,
+ 0,0,-16,0,0,0,0,0,0,0,
+ 0,-91,-323,0,0,0,-261,0,-133,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-170,
0,0,0,0,0,0,0,0,0,0,
- -170,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-19,0,-55,0,0,0,0,0,
- -20,0,0,-176,-326,0,-34,-26,0,0,
- 0,0,-271,0,0,0,-171,0,0,0,
+ 0,-19,0,-55,0,0,0,0,0,-20,
+ 0,0,-176,-326,0,-34,-26,0,0,0,
+ 0,-271,0,0,0,-171,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-6,0,0,0,
- 0,0,0,0,-388,0,0,0,0,0,
- 0,0,-355,0,0,-45,0,0,0,0,
- 0,0,-373,0,-195,0,0,0,0,0,
- 0,0,0,0,0,0,0,-400,0,-5,
- 0,0,0,0,0,-128,0,-175,0,0,
+ 0,0,0,0,0,-6,0,0,0,0,
+ 0,0,0,-388,0,0,0,0,0,0,
+ 0,-355,0,0,-45,0,0,0,0,0,
+ 0,-373,0,-195,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-400,0,-5,0,
+ 0,0,0,0,-128,0,-175,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-23,0,0,0,-279,0,0,0,0,
- 0,0,0,-532,0,-85,-47,0,0,0,
- 0,0,0,-293,0,0,0,0,0,0,
+ -23,0,0,0,-279,0,0,0,0,0,
+ 0,0,-532,0,-85,-47,0,0,0,0,
+ 0,0,-293,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-213,0,0,0,0,0,0,
- 0,-210,0,0,0,0,0,0,0,0,
- 0,-49,0,0,0,0,0,0,0,-27,
- 0,-216,0,0,0,-186,0,0,0,0,
+ 0,0,-213,0,0,0,0,0,0,0,
+ -210,0,0,0,0,0,0,0,0,0,
+ -49,0,0,0,0,0,0,0,-27,0,
+ -216,0,0,0,-186,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-511,0,0,0,0,0,0,0,
+ 0,-511,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-310,0,0,0,0,0,
- 0,0,-28,0,-30,0,0,0,0,0,
- 0,-44,0,0,0,-533,0,0,0,-50,
+ 0,0,0,-310,0,0,0,0,0,0,
+ 0,-28,0,-30,0,0,0,0,0,0,
+ -44,0,0,0,-533,0,0,0,-50,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-368,0,0,
- 0,0,0,0,0,0,0,-395,0,0,
- 0,0,0,-51,-472,0,0,0,-109,0,
- -345,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-368,0,0,0,
+ 0,0,0,0,0,0,-395,0,0,0,
+ 0,0,-51,-472,0,0,0,-109,0,-345,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -381,0,-405,0,0,0,0,0,0,0,
- -37,0,0,-83,0,0,-450,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-381,
+ 0,-405,0,0,0,0,0,0,0,-37,
+ 0,0,-83,0,0,-450,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-202,0,
- 0,0,0,0,0,0,-39,0,-182,0,
+ 0,0,0,0,0,0,0,-202,0,0,
+ 0,0,0,0,0,-39,0,-182,0,0,
+ 0,0,0,0,0,0,0,0,0,-467,
+ 0,0,0,-18,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -467,0,0,0,-18,0,0,0,0,0,
+ 0,0,0,0,0,-52,0,0,0,0,
+ 0,0,0,-53,0,0,0,-406,0,0,
+ 0,0,0,-54,0,0,-81,0,0,0,
+ -24,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-52,0,0,0,
- 0,0,0,0,-53,0,0,0,-406,0,
- 0,0,0,0,-54,0,0,-81,0,0,
- 0,-24,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-56,0,
+ -68,0,0,0,0,0,-69,0,0,0,
+ -342,-82,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-56,
- 0,-68,0,0,0,0,0,-69,0,0,
- 0,-342,-82,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,-70,0,-347,0,0,0,0,0,-404,
+ -256,0,0,0,-204,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-70,0,-347,0,0,0,0,0,
- -404,-256,0,0,0,-204,0,0,0,0,
+ 0,0,0,0,0,0,-71,0,0,0,
+ 0,0,0,0,0,0,-72,0,0,0,
+ 0,0,0,0,0,0,0,-21,0,0,
+ 0,-386,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-73,
+ 0,0,0,0,0,0,0,-214,0,-74,
+ 0,0,0,0,0,-79,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-71,0,0,
- 0,0,0,0,0,0,0,-72,0,0,
- 0,0,0,0,0,0,0,0,-21,0,
- 0,0,-386,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -73,0,0,0,0,0,0,0,-214,0,
- -74,0,0,0,0,0,-79,0,0,0,
+ 0,0,0,0,0,0,0,-25,0,0,
+ 0,0,0,-454,0,0,0,0,-75,0,
+ 0,-481,0,0,-32,0,0,0,-76,0,
+ 0,0,0,0,0,-155,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-77,0,0,
+ 0,0,0,0,0,-78,0,-537,0,-286,
+ 0,0,0,0,0,-80,0,0,-156,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-25,0,
- 0,0,0,0,-454,0,0,0,0,-75,
- 0,0,-481,0,0,-32,0,0,0,-76,
- 0,0,0,0,0,0,-155,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-77,0,
- 0,0,0,0,0,0,-78,0,-537,0,
- -286,0,0,0,0,0,-80,0,0,-156,
+ 0,0,0,0,0,0,0,0,-86,0,
+ 0,0,0,0,0,0,-84,0,-87,0,
+ 0,-157,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-88,0,0,0,0,0,0,
+ 0,-89,0,-94,0,0,0,0,0,-471,
+ 0,-95,0,0,-158,0,0,0,-522,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-86,
- 0,0,0,0,0,0,0,-84,0,-87,
- 0,0,-157,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-98,0,0,0,
+ 0,0,0,0,-90,0,-105,0,0,0,
+ 0,0,-113,-116,-131,0,0,-159,0,0,
+ 0,-179,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-88,0,0,0,0,0,
- 0,0,-89,0,-94,0,0,0,0,0,
- -471,0,-95,0,0,-158,0,0,0,-522,
+ 0,0,0,0,0,0,0,-96,0,-180,
+ 0,0,0,0,0,-188,0,-198,0,0,
+ -160,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,-98,0,0,
- 0,0,0,0,0,-90,0,-105,0,0,
- 0,0,0,-113,-116,-131,0,0,-159,0,
- 0,0,-179,0,0,0,0,0,0,0,
+ 0,0,-200,0,0,0,0,0,0,0,
+ -106,0,0,0,0,0,0,0,-201,-206,
+ -207,0,0,-161,0,0,0,-208,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-96,0,
- -180,0,0,0,0,0,-188,0,-198,0,
- 0,-160,0,0,0,-199,0,0,0,0,
+ 0,0,0,0,0,-209,0,0,0,0,
+ 0,0,0,-221,0,-222,0,-108,0,0,
+ 0,-223,0,-224,0,0,-162,0,0,0,
+ -225,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-226,0,
+ 0,0,0,0,0,0,-227,0,-228,0,
+ -110,0,0,0,-229,0,-230,0,0,-163,
+ 0,0,0,-231,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-200,0,0,0,0,0,0,
- 0,-106,0,0,0,0,0,0,0,-201,
- -206,-207,0,0,-161,0,0,0,-208,0,
+ 0,-232,0,0,0,0,0,0,0,-183,
+ 0,-233,0,0,0,0,0,-234,-235,-236,
+ 0,0,-164,0,0,0,-237,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-209,0,0,0,
- 0,0,0,0,-221,0,-222,0,-108,0,
- 0,0,-223,0,-224,0,0,-162,0,0,
- 0,-225,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-226,
- 0,0,0,0,0,0,0,-227,0,-228,
- 0,-110,0,0,0,-229,0,-230,0,0,
- -163,0,0,0,-231,0,0,0,0,0,
+ 0,0,0,0,-238,0,0,0,0,0,
+ 0,0,-191,0,-239,0,0,0,0,0,
+ -242,-243,-244,0,0,-165,0,0,0,-246,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-232,0,0,0,0,0,0,0,
- -183,0,-233,0,0,0,0,0,-234,-235,
- -236,0,0,-164,0,0,0,-237,0,0,
+ 0,0,0,0,0,0,0,-247,0,0,
+ 0,0,0,0,0,-249,0,-252,0,0,
+ 0,0,0,-257,-259,-260,0,0,-280,0,
+ 0,0,-274,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-238,0,0,0,0,
- 0,0,0,-191,0,-239,0,0,0,0,
- 0,-242,-243,-244,0,0,-165,0,0,0,
- -246,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-247,0,
- 0,0,0,0,0,0,-249,0,-252,0,
- 0,0,0,0,-257,-259,-260,0,0,-280,
- 0,0,0,-274,0,0,0,0,0,0,
+ -275,0,0,0,0,0,0,0,-266,0,
+ -276,0,0,0,0,0,-277,-301,-302,0,
+ 0,-290,0,0,0,-307,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-275,0,0,0,0,0,0,0,-266,
- 0,-276,0,0,0,0,0,-277,-301,-302,
- 0,0,-290,0,0,0,-307,0,0,0,
+ 0,0,0,-315,0,0,0,0,0,0,
+ 0,-267,0,-316,0,0,0,0,0,-321,
+ -322,-328,0,0,-527,0,0,0,-346,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-315,0,0,0,0,0,
- 0,0,-267,0,-316,0,0,0,0,0,
- -321,-322,-328,0,0,-527,0,0,0,-346,
+ 0,0,0,0,0,0,-348,0,0,0,
+ 0,0,0,0,-269,0,-92,0,0,0,
+ 0,0,-193,0,0,0,0,-354,0,0,
+ 0,-344,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-99,
+ 0,0,0,0,0,0,0,-408,0,-365,
+ 0,0,0,0,0,-390,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-348,0,0,
- 0,0,0,0,0,-269,0,-92,0,0,
- 0,0,0,-193,0,0,0,0,-354,0,
- 0,0,-344,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -99,0,0,0,0,0,0,0,-408,0,
- -365,0,0,0,0,0,-390,0,0,0,
+ 0,0,0,0,0,-369,0,0,0,0,
+ 0,0,0,-177,0,0,0,-190,-370,0,
+ 0,0,0,0,0,-391,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-129,0,0,
+ 0,0,0,0,0,-449,0,0,0,0,
+ 0,0,0,-402,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-369,0,0,0,
- 0,0,0,0,-177,0,0,0,-190,-370,
- 0,0,0,0,0,0,-391,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-129,0,
- 0,0,0,0,0,0,-449,0,0,0,
- 0,0,0,0,-402,0,0,0,0,0,
+ 0,0,0,-285,0,-376,0,0,0,0,
+ 0,-335,0,0,0,-300,-254,0,0,0,
+ 0,0,0,-458,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-282,0,0,0,0,
+ 0,0,0,-291,0,0,0,0,0,0,
+ 0,-167,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-285,0,-376,0,0,0,
- 0,0,-335,0,0,0,-300,-254,0,0,
- 0,0,0,0,-458,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-282,0,0,0,
- 0,0,0,0,-291,0,0,0,0,0,
- 0,0,-167,0,0,0,0,0,0,0,
+ 0,-292,0,-524,0,0,0,-218,0,0,
+ 0,-379,0,0,0,0,0,0,0,0,
+ 0,-154,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-292,0,-524,0,0,0,-218,0,
- 0,0,-379,0,0,0,0,0,0,0,
- 0,0,-154,0,0,0,0,0,0,0,
+ 0,-173,0,-93,0,-152,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-311,0,0,
+ 0,0,0,0,0,0,0,-153,0,0,
+ 0,-393,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-399,
+ 0,0,0,0,0,0,0,-409,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-173,0,-93,0,-152,0,0,0,
+ -185,0,0,0,0,-13,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-289,-298,
+ -36,-114,-442,0,0,0,0,-33,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-311,0,
- 0,0,0,0,0,0,0,0,-153,0,
- 0,0,-393,0,0,0,0,0,0,0,
+ -10,0,-100,-314,0,0,0,0,0,-525,
+ 0,0,-194,0,0,0,0,0,0,0,
+ -407,-410,0,0,0,0,0,-353,0,0,
+ -444,0,0,0,0,0,-411,0,-41,0,
0,0,0,0,0,0,0,0,0,0,
- -399,0,0,0,0,0,0,0,-409,0,
+ 0,0,-441,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-185,0,0,0,0,-13,0,0,0,
- 0,0,0,0,0,0,0,0,0,-289,
- -298,-36,-114,-442,0,0,0,0,-33,0,
+ 0,0,0,0,0,0,0,0,-414,-418,
+ 0,0,0,0,-272,0,0,0,0,-385,
0,0,0,0,0,0,0,0,0,0,
- 0,-10,0,-100,-314,0,0,0,0,0,
- -525,0,0,-194,0,0,0,0,0,0,
- 0,-407,-410,0,0,0,0,0,-353,0,
- 0,-444,0,0,0,0,0,-411,0,-41,
+ -150,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-441,0,0,0,0,0,0,
+ 0,0,-187,0,0,0,0,0,-151,0,
+ 0,0,-264,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-414,
- -418,0,0,0,0,-272,0,0,0,0,
- -385,0,0,0,0,0,0,0,0,0,
- 0,-150,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,-143,
+ 0,0,0,-374,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-187,0,0,0,0,0,-151,
- 0,0,0,-264,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-58,0,0,0,
+ -420,-101,-288,0,0,0,-278,0,0,0,
+ 0,0,-434,-303,0,0,0,0,0,0,
+ 0,0,0,0,0,-296,-268,0,0,0,
+ 0,0,0,0,-135,-457,0,-459,0,0,
+ 0,0,-144,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-305,0,0,
+ 0,0,0,0,0,0,0,0,0,-145,
0,0,0,0,0,0,0,0,0,0,
- -143,0,0,0,-374,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-58,0,0,
- 0,-420,-101,-288,0,0,0,-278,0,0,
- 0,0,0,-434,-303,0,0,0,0,0,
- 0,0,0,0,0,0,-296,-268,0,0,
- 0,0,0,0,0,-135,-457,0,-459,0,
- 0,0,0,-144,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-138,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -145,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-451,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-31,0,0,
+ 0,-146,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-138,0,0,
+ 0,0,0,-124,0,0,0,0,-440,-125,
+ -178,0,0,-468,-172,-415,-461,0,-196,0,
+ 0,0,-174,0,0,0,-462,0,0,-463,
+ 0,-197,-529,-417,0,0,0,0,0,-375,
+ 0,0,0,0,-464,-456,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-466,-15,0,0,-166,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-451,0,0,0,0,
- 0,0,0,0,0,0,0,0,-31,0,
- 0,0,-146,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-484,-485,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-124,0,0,0,0,-440,
- -125,-178,0,0,-468,-172,-415,-461,0,-196,
- 0,0,0,-174,0,0,0,-462,0,0,
- -463,0,-197,-529,-417,0,0,0,0,0,
- -375,0,0,0,0,-464,-456,0,0,0,
+ 0,0,-38,-123,0,0,0,0,0,-270,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-466,-15,0,0,
- -166,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-484,-485,0,
+ -526,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-487,-14,0,0,0,-40,
+ 0,0,-492,-496,-103,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-508,-394,0,
+ 0,0,0,0,0,-516,-29,0,-212,0,
+ 0,-102,-253,-528,-48,0,0,-245,0,0,
+ 0,0,0,0,0,-203,-538,0,0,0,
+ 0,0,-413,0,-412,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-220,
+ 0,0,-364,0,0,0,0,0,-387,0,
+ -215,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-38,-123,0,0,0,0,0,
- -270,0,0,0,0,0,0,0,0,0,
- 0,-526,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-487,-14,0,0,0,
- -40,0,0,-492,-496,-103,0,0,0,0,
- 0,0,0,0,0,0,0,0,-508,-394,
- 0,0,0,0,0,0,-516,-29,0,-212,
- 0,0,-102,-253,-528,-48,0,0,-245,0,
- 0,0,0,0,0,0,-203,-538,0,0,
- 0,0,0,-413,0,-412,0,0,0,0,
+ 0,-258,0,0,0,-97,0,0,0,0,
+ -265,0,0,0,0,0,0,0,0,0,
+ -350,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -220,0,0,-364,0,0,0,0,0,-387,
- 0,-215,0,0,0,0,0,0,0,0,
+ -42,0,0,0,0,0,0,0,-147,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-258,0,0,0,-97,0,0,0,
- 0,-265,0,0,0,0,0,0,0,0,
- 0,-350,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-42,0,0,0,0,0,0,0,-147,
+ -403,0,0,0,-148,0,0,0,-295,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-465,0,0,0,
+ 0,-423,0,0,0,0,0,-107,0,0,
+ 0,-1,-428,0,-297,0,0,-17,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-403,0,0,0,-148,0,0,0,-295,
+ 0,0,0,-486,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-465,0,0,
- 0,0,-423,0,0,0,0,0,-107,0,
- 0,0,-1,-428,0,-297,0,0,-17,0,
+ 0,0,0,0,0,0,-313,0,-474,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-486,0,0,0,0,0,
+ 0,0,0,0,-477,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-488,-219,0,
+ -250,0,0,-349,0,0,-168,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-313,0,-474,
+ -240,-352,0,0,0,0,0,0,0,0,
+ 0,-294,-351,0,-502,0,0,0,0,0,
+ -432,-452,-498,0,0,0,0,0,0,0,
+ 0,0,0,0,-9,-384,0,0,0,0,
+ 0,0,-35,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-477,0,0,0,0,
- 0,0,0,0,0,0,0,0,-488,-219,
- 0,-250,0,0,-349,0,0,-168,0,0,
+ 0,0,0,0,0,0,0,0,-515,0,
+ 0,0,0,0,-299,0,0,0,0,0,
+ 0,-241,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-475,0,0,0,0,0,
+ 0,0,0,0,0,-517,0,0,0,0,
+ -380,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-240,-352,0,0,0,0,0,0,0,
- 0,0,-294,-351,0,-502,0,0,0,0,
- 0,-432,-452,-498,0,0,0,0,0,0,
- 0,0,0,0,0,-9,-384,0,0,0,
- 0,0,0,-35,0,0,0,0,0,0,
+ 0,0,0,-426,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-515,
- 0,0,0,0,0,-299,0,0,0,0,
- 0,0,-241,0,0,0,0,0,0,0,
- 0,0,0,0,0,-475,0,0,0,0,
- 0,0,0,0,0,0,-517,0,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,-426,0,0,0,0,0,
+ 0,0,-312,0,0,0,-304,0,0,0,
+ 0,0,-460,0,0,0,0,0,0,0,
+ -519,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-262,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-169,
+ 0,-469,-521,0,0,-455,0,-324,0,0,
+ 0,0,0,-104,0,0,0,-329,0,0,
+ 0,0,0,0,0,-112,0,0,0,0,
+ 0,0,0,0,0,-111,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-312,0,0,0,-304,0,0,
- 0,0,0,-460,0,0,0,0,0,0,
- 0,-519,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-262,0,0,0,0,
+ -331,-134,-534,-332,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-480,0,0,
+ -330,0,0,0,0,-362,0,0,0,-251,
+ 0,0,0,-308,0,0,0,0,0,-539,
+ 0,0,0,0,0,0,0,-510,0,0,
0,0,0,0,0,0,0,0,0,0,
- -169,0,-469,-521,0,0,-455,0,-324,0,
- 0,0,0,0,-104,0,0,0,-329,0,
- 0,0,0,0,0,0,-112,0,0,0,
- 0,0,0,0,0,0,-111,0,0,0,
+ 0,0,0,0,-287,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ -309,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-333,0,0,0,0,0,0,
+ 0,0,0,0,-325,0,0,0,0,0,
+ 0,0,0,0,-139,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-331,-134,-534,-332,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-480,0,
- 0,-330,0,0,0,0,-362,0,0,0,
- -251,0,0,0,-308,0,0,0,0,0,
- -539,0,0,0,0,0,0,0,-510,0,
+ 0,0,0,0,0,0,0,0,0,-141,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-287,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-309,0,0,0,0,0,0,0,0,
- 0,0,0,0,-333,0,0,0,0,0,
- 0,0,0,0,0,-325,0,0,0,0,
- 0,0,0,0,0,-139,0,0,0,0,
+ 0,0,0,-142,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-336,0,-337,-491,0,
+ -356,0,0,0,-11,-383,-334,-421,0,0,
+ -360,-339,0,0,0,0,0,0,0,-341,
+ 0,-363,-416,0,0,0,0,0,0,-371,
+ 0,-317,0,0,-357,0,0,0,0,-358,
0,0,0,0,0,0,0,0,0,0,
- -141,0,0,0,0,0,0,0,0,0,
+ -470,0,0,0,0,0,0,0,0,0,
+ -327,0,0,-372,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-142,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-336,0,-337,-491,
- 0,-356,0,0,0,-11,-383,-334,-421,0,
- 0,-360,-339,0,0,0,0,0,0,0,
- -341,0,-363,-416,0,0,0,0,0,0,
- -371,0,-317,0,0,-357,0,0,0,0,
- -358,0,0,0,0,0,0,0,0,0,
- 0,-470,0,0,0,0,0,0,0,0,
- 0,-327,0,0,-372,0,0,0,0,0,
+ 0,0,-389,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-424,0,
+ 0,-448,0,0,0,0,-523,-431,0,-436,
+ 0,0,0,-439,0,0,0,0,-482,-60,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-389,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-424,
- 0,0,-448,0,0,0,0,-523,-431,0,
- -436,0,0,0,-439,0,0,0,0,-482,
- -60,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-359,0,0,0,0,0,
+ 0,0,0,0,0,-479,0,-497,0,0,
+ -499,0,-507,-514,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-494,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,-359,0,0,0,0,
- 0,0,0,0,0,0,-479,0,-497,0,
- 0,-499,0,-507,-514,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-494,0,
- 0,0,0,0,0,0,0,0,0,-61,
0,0,0,0,0,0,0,0,0,0,
+ -397,-248,0,0,0,0,0,0,0,-62,
0,0,0,0,0,0,0,0,0,0,
- 0,-397,-248,0,0,0,0,0,0,0,
- -62,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-398,0,0,0,0,
- 0,-63,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-398,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,-64,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,-65,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,-66,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-67,
+ 0,0,0,0,0,0,0,0,-67,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-127,0,0,0,0,0,0,0,0,
+ -127,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-136,0,0,0,0,0,0,
+ 0,0,-136,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-137,0,0,0,0,
+ 0,0,0,0,-137,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-205,0,0,
+ 0,0,0,0,0,0,-205,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-283,
+ 0,0,0,0,0,0,0,0,-283,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-59,0,0,0,-427,0,0,0,0,
+ -59,0,0,0,-427,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-338,-435,-447,-495,0,-473,-478,-500,
- -503,-118,-377,-505,-509,0,0,0,0,0,
- 0,0,-382,0,0,-512,0,0,0,0,
- 0,0,0,0,0,0,0,-318,0,0,
+ 0,-338,-435,-447,-495,0,-473,-478,-500,-503,
+ -118,-377,-505,-509,0,0,0,0,0,0,
+ 0,-382,0,0,-512,0,0,0,0,0,
+ 0,0,0,0,0,0,-318,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-518,0,
- 0,0,0,0,0,-513,0,0,0,0,
- 0,0,0,0,0,-530,0,0,0,0,
- 0,0,0,0,0,-430,0,0,0,0,
- -319,-531,-535,0,0,-438,0,0,0,0,
- -320,0,-536,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-518,0,0,
+ 0,0,0,0,-513,0,0,0,0,0,
+ 0,0,0,0,-530,0,0,0,0,0,
+ 0,0,0,0,-430,0,0,0,0,-319,
+ -531,-535,0,0,-438,0,0,0,0,-320,
+ 0,-536,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-306,
+ 0,0,0,0,0,0,0,0,-306,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-343,0,0,0,0,0,0,0,
- 0,0,0,0,0,-392,0,0,0,0,
+ 0,-343,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-392,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-361,0,0,
+ 0,0,0,0,0,0,-361,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-501,0,0,0,0,
+ 0,0,0,0,-501,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-504,
0,0,0,0,0,0,0,0,0,0,
- -504,0,0,0,0,0,0,0,0,0,
- 0,0,0,-43,0,0,0,0,0,0,
- 0,0,0,-119,0,0,0,0,-46,0,
- 0,0,0,0,0,-184,0,0,0,0,
+ 0,0,-43,0,0,0,0,0,0,0,
+ 0,0,-119,0,0,0,0,-46,0,0,
+ 0,0,0,0,-184,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-115,0,0,0,0,0,0,0,0,
+ -115,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-378,0,0,0,
+ 0,0,0,0,0,-378,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-263,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-181,0,
- 0,0,0,0,-401,0,0,0,0,0,
+ 0,0,-263,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-181,0,0,
+ 0,0,0,-401,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-189,0,0,0,-192,0,0,
- 0,0,0,-366,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-211,
- 0,0,0,-217,0,0,0,0,0,0,
- 0,0,0,0,-506,0,0,0,0,0,
- 0,0,0,-340,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-396,0,
- 0,0,0,0,0,0,0,0,0,-419,
+ 0,0,-189,0,0,0,-192,0,0,0,
+ 0,0,-366,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-211,0,
+ 0,0,-217,0,0,0,0,0,0,0,
+ 0,0,0,-506,0,0,0,0,0,0,
+ 0,0,-340,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-396,0,0,
+ 0,0,0,0,0,0,0,0,-419,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-422,0,
+ 0,0,0,0,0,0,0,-422,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-437,0,0,0,-445,0,
- 0,0,0,0,0,0,-446,0,0,0,
- 0,0,0,0,-57,0,0,0,0,0,
- 0,0,0,-453,0,0,0,0,0,0,
+ 0,0,0,-437,0,0,0,-445,0,0,
+ 0,0,0,0,0,-446,0,0,0,0,
+ 0,0,0,-57,0,0,0,0,0,0,
+ 0,0,-453,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-117,0,0,0,0,-130,0,
- 0,0,0,0,-443,0,0,0,0,0,
+ 0,0,-117,0,0,0,0,-130,0,0,
+ 0,0,0,-443,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-122,0,0,0,0,0,
- 0,-367,0,0,0,0,0,0,0,-255,
- 0,0,0,0,-273,0,0,0,0,0,
- 0,0,-429,0,0,0,0,0,0,-281,
+ 0,0,0,-122,0,0,0,0,0,0,
+ -367,0,0,0,0,0,0,0,-255,0,
+ 0,0,0,-273,0,0,0,0,0,0,
+ 0,-429,0,0,0,0,0,0,-281,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-489,-120,0,0,
- 0,0,0,0,0,0,-490,0,0,0,
- 0,-121,0,0,0,0,-493,0,0,0,
- 0,0,0,0,0,-284,0,0,0,0,
- -520,0,0,0,0,0,0,0,0,0,
- -476,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-489,-120,0,0,0,
+ 0,0,0,0,0,-490,0,0,0,0,
+ -121,0,0,0,0,-493,0,0,0,0,
+ 0,0,0,0,-284,0,0,0,0,-520,
+ 0,0,0,0,0,0,0,0,0,-476,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
@@ -543,7 +542,8 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,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;
@@ -555,547 +555,547 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par
public final static char baseAction[] = {
174,4,136,83,83,32,32,67,67,38,
38,40,40,200,1,1,15,15,15,15,
- 15,15,15,15,16,16,16,14,11,11,
- 6,6,6,6,6,6,2,65,65,5,
- 5,12,12,44,44,137,137,138,57,57,
- 43,17,17,17,17,17,17,17,17,17,
+ 15,15,15,16,16,16,14,11,11,6,
+ 6,6,6,6,6,2,65,65,5,5,
+ 12,12,44,44,137,137,138,57,57,43,
17,17,17,17,17,17,17,17,17,17,
- 17,139,139,139,116,116,18,18,18,18,
- 18,18,18,18,18,18,18,18,18,19,
- 19,175,175,176,176,177,142,142,143,143,
- 140,140,144,141,141,20,20,21,21,23,
- 23,23,24,24,24,24,25,25,25,26,
- 26,26,27,27,27,27,27,28,28,28,
- 29,29,31,31,33,33,35,35,36,36,
- 37,37,42,42,41,41,41,41,41,41,
- 41,41,41,41,41,41,41,39,30,145,
- 145,97,97,178,178,92,201,201,68,68,
- 68,68,68,68,68,68,68,69,69,69,
- 66,66,56,56,179,179,70,70,70,103,
- 103,180,180,71,71,71,181,181,72,72,
- 72,72,72,73,73,84,84,84,84,84,
- 84,84,84,49,49,49,49,49,117,117,
- 115,115,50,182,22,22,22,22,22,48,
- 48,87,87,87,87,87,152,152,147,147,
- 147,147,147,148,148,148,149,149,149,150,
- 150,150,151,151,151,88,88,88,88,88,
- 89,89,89,13,13,13,13,13,13,13,
- 13,13,13,13,98,121,121,121,121,121,
- 121,119,119,119,153,120,120,183,155,155,
- 154,154,123,123,104,79,79,80,81,52,
- 47,156,156,53,51,86,86,157,157,146,
- 146,124,125,125,126,76,76,158,158,63,
- 63,63,60,60,59,64,64,75,75,58,
- 58,58,54,90,90,100,99,99,62,62,
- 61,61,55,55,45,101,101,101,93,93,
- 93,94,94,95,95,95,96,96,105,105,
- 105,107,107,106,106,202,202,91,91,185,
- 185,185,185,185,128,46,46,160,184,184,
- 129,129,129,129,130,162,186,186,34,34,
- 118,131,131,131,131,188,109,108,108,122,
- 122,122,163,164,164,164,164,164,164,164,
- 164,164,164,164,190,190,187,187,189,189,
- 165,166,166,166,166,167,191,111,110,110,
- 192,192,168,168,168,168,102,102,102,193,
- 193,8,8,9,194,194,195,169,159,159,
- 170,170,171,172,172,7,7,10,196,196,
- 196,196,196,196,196,196,196,196,196,196,
+ 17,17,17,17,17,17,17,17,17,17,
+ 139,139,139,116,116,18,18,18,18,18,
+ 18,18,18,18,18,18,18,18,19,19,
+ 175,175,176,176,177,142,142,143,143,140,
+ 140,144,141,141,20,20,21,21,23,23,
+ 23,24,24,24,24,25,25,25,26,26,
+ 26,27,27,27,27,27,28,28,28,29,
+ 29,31,31,33,33,35,35,36,36,37,
+ 37,42,42,41,41,41,41,41,41,41,
+ 41,41,41,41,41,41,39,30,145,145,
+ 97,97,178,178,92,201,201,68,68,68,
+ 68,68,68,68,68,68,69,69,69,66,
+ 66,56,56,179,179,70,70,70,103,103,
+ 180,180,71,71,71,181,181,72,72,72,
+ 72,72,73,73,84,84,84,84,84,84,
+ 84,84,49,49,49,49,49,117,117,115,
+ 115,50,182,22,22,22,22,22,48,48,
+ 87,87,87,87,87,152,152,147,147,147,
+ 147,147,148,148,148,149,149,149,150,150,
+ 150,151,151,151,88,88,88,88,88,89,
+ 89,89,13,13,13,13,13,13,13,13,
+ 13,13,13,98,121,121,121,121,121,121,
+ 119,119,119,153,120,120,183,155,155,154,
+ 154,123,123,104,79,79,80,81,52,47,
+ 156,156,53,51,86,86,157,157,146,146,
+ 124,125,125,126,76,76,158,158,63,63,
+ 63,60,60,59,64,64,75,75,58,58,
+ 58,54,90,90,100,99,99,62,62,61,
+ 61,55,55,45,101,101,101,93,93,93,
+ 94,94,95,95,95,96,96,105,105,105,
+ 107,107,106,106,202,202,91,91,185,185,
+ 185,185,185,128,46,46,160,184,184,129,
+ 129,129,129,130,162,186,186,34,34,118,
+ 131,131,131,131,188,109,108,108,122,122,
+ 122,163,164,164,164,164,164,164,164,164,
+ 164,164,164,190,190,187,187,189,189,165,
+ 166,166,166,166,167,191,111,110,110,192,
+ 192,168,168,168,168,102,102,102,193,193,
+ 8,8,9,194,194,195,169,159,159,170,
+ 170,171,172,172,7,7,10,196,196,196,
196,196,196,196,196,196,196,196,196,196,
196,196,196,196,196,196,196,196,196,196,
196,196,196,196,196,196,196,196,196,196,
- 77,82,82,173,173,133,133,112,112,112,
- 112,112,112,3,134,134,132,132,113,113,
- 85,78,74,161,161,114,114,197,197,197,
- 135,135,127,127,198,198,174,174,1132,36,
- 1697,1679,1530,4670,28,31,32,993,995,27,
- 29,1672,26,24,51,1222,107,77,78,109,
- 2717,1228,1298,1263,1341,1308,1400,1351,248,1439,
- 769,1410,274,1447,1457,144,334,36,397,159,
- 145,1173,1488,36,940,33,2015,4674,28,31,
- 32,993,995,58,29,1929,3077,36,940,33,
- 233,2628,28,31,32,993,995,27,29,1220,
- 26,24,51,1222,107,77,78,109,1377,1228,
- 1298,1263,1341,1308,1783,236,231,232,508,36,
- 1002,389,3077,36,940,33,275,2628,28,31,
- 32,993,995,27,29,1220,26,24,51,1222,
- 107,77,78,109,1382,1713,243,246,249,252,
- 1127,355,432,2002,2373,36,278,2806,2010,1091,
- 1715,36,940,33,524,4674,28,31,32,993,
- 995,57,29,1671,570,3284,2412,2894,2931,3072,
- 4494,2278,36,940,33,2927,2628,28,31,32,
- 993,995,27,29,1220,26,24,51,1222,107,
- 77,78,109,344,1228,1298,1263,1341,1308,1400,
- 1351,62,1439,1193,1410,1115,1447,1457,144,3537,
- 4835,1397,518,145,1354,2522,2858,1341,508,1525,
- 1500,35,3465,508,36,283,519,2278,36,940,
- 33,2927,2628,28,31,32,993,995,27,29,
- 1220,26,24,51,1222,107,77,78,109,344,
- 1228,1298,1263,1341,1308,1400,1351,56,1439,313,
- 1410,3276,1447,1457,144,157,36,454,518,145,
- 4720,1578,2858,508,1955,333,157,36,280,3923,
- 866,3487,519,2621,514,1365,36,940,33,61,
- 4855,28,31,32,993,995,27,29,2522,512,
- 334,36,397,1842,2645,1843,1794,2936,2278,36,
- 940,33,2927,2628,28,31,32,993,995,27,
- 29,1220,26,24,51,1222,107,77,78,109,
- 344,1228,1298,1263,1341,1308,1400,1351,444,1439,
- 514,1410,65,1447,1457,144,508,36,1972,518,
- 145,43,1869,2858,230,3004,56,1341,2051,1844,
- 3228,1843,3465,519,2489,36,940,33,2927,2628,
- 28,31,32,993,995,27,29,1220,26,24,
- 51,1222,107,77,78,109,344,1228,1298,1263,
- 1341,1308,1400,1351,2163,1439,289,1410,2927,1447,
- 1457,144,157,36,280,518,145,4870,581,2858,
- 357,1578,334,36,397,333,344,354,532,519,
- 683,514,1365,36,940,33,162,4855,28,31,
- 32,993,995,60,29,447,2511,2632,3375,1451,
- 1851,2051,1843,2626,36,940,33,2413,2628,28,
- 31,32,993,995,27,29,1220,26,24,51,
- 1222,107,77,78,109,926,1228,1298,1263,1341,
- 1308,1400,1351,770,1439,1566,1410,515,1447,1457,
- 144,914,1829,3867,380,145,2348,36,940,33,
- 246,2628,28,31,32,993,995,27,29,1220,
- 26,24,51,1222,107,77,78,109,418,1228,
- 1298,1263,1341,1308,1400,1351,382,1439,317,1410,
- 1585,1447,1457,144,1918,1815,3867,380,145,1401,
- 2099,3077,36,940,33,1920,2628,28,31,32,
- 993,995,27,29,1220,26,24,51,1222,107,
- 77,78,109,1449,1228,1298,1263,1341,1308,1400,
- 1351,2520,1439,2621,1410,2825,1447,1498,165,1834,
- 2175,1815,386,3529,1022,391,428,2557,36,940,
- 33,3869,2628,28,31,32,993,995,27,29,
- 1220,26,24,51,1222,107,77,78,109,2105,
- 1228,1298,1263,1341,1308,1400,1351,1231,1439,75,
- 1410,1662,1447,1457,144,387,3529,3867,380,145,
- 439,508,3889,424,71,2752,36,940,33,3818,
- 2628,28,31,32,993,995,27,29,1220,26,
- 24,51,1222,107,77,78,109,2021,1228,1298,
- 1263,1341,1308,1400,1351,2255,1439,327,1410,2621,
- 1447,1457,144,1879,2638,2720,374,145,2752,36,
- 940,33,152,2628,28,31,32,993,995,27,
- 29,1220,26,24,51,1222,107,77,78,109,
- 356,1228,1298,1263,1341,1308,1400,1351,532,1439,
- 1491,1410,3292,1447,1457,144,378,3529,592,374,
- 145,3810,1013,2752,36,940,33,2645,2628,28,
- 31,32,993,995,27,29,1220,26,24,51,
- 1222,107,77,78,109,866,1228,1298,1263,1341,
- 1308,1400,1351,1230,1439,2546,1410,325,1447,1457,
- 144,418,1631,373,374,145,2752,36,940,33,
- 1709,2628,28,31,32,993,995,27,29,1220,
- 26,24,51,1222,107,77,78,109,239,1228,
- 1298,1263,1341,1308,1400,1351,324,1439,2096,1410,
- 405,1447,1457,144,532,3139,372,159,145,2695,
- 36,940,33,1013,2628,28,31,32,993,995,
- 27,29,1220,26,24,51,1222,107,77,78,
- 109,856,1228,1298,1263,1341,1308,1400,1351,56,
- 1439,491,1410,1276,1447,1498,165,2421,36,940,
- 33,370,2628,28,31,32,993,995,27,29,
- 1220,26,24,51,1222,107,77,78,109,3576,
- 1228,1298,1263,1341,1308,1400,1351,72,1439,2100,
- 1410,3010,1447,1457,144,508,36,294,143,145,
- 1649,448,328,508,36,294,1706,36,940,33,
- 1989,1094,42,31,32,993,995,2752,36,940,
- 33,1671,2628,28,31,32,993,995,27,29,
- 1220,26,24,51,1222,107,77,78,109,1187,
- 1228,1298,1263,1341,1308,1400,1351,42,1439,230,
- 1410,2069,1447,1457,144,3762,422,1394,156,145,
- 2752,36,940,33,326,2628,28,31,32,993,
- 995,27,29,1220,26,24,51,1222,107,77,
- 78,109,3724,1228,1298,1263,1341,1308,1400,1351,
- 56,1439,448,1410,3451,1447,1457,144,1246,3830,
- 2723,155,145,2752,36,940,33,4210,2628,28,
- 31,32,993,995,27,29,1220,26,24,51,
- 1222,107,77,78,109,1343,1228,1298,1263,1341,
- 1308,1400,1351,56,1439,326,1410,691,1447,1457,
- 144,508,2935,848,154,145,2752,36,940,33,
- 2832,2628,28,31,32,993,995,27,29,1220,
- 26,24,51,1222,107,77,78,109,1619,1228,
- 1298,1263,1341,1308,1400,1351,56,1439,1251,1410,
- 747,1447,1457,144,1844,1665,1462,153,145,2752,
- 36,940,33,1842,2628,28,31,32,993,995,
- 27,29,1220,26,24,51,1222,107,77,78,
- 109,381,1228,1298,1263,1341,1308,1400,1351,56,
- 1439,1581,1410,828,1447,1457,144,1512,94,1813,
- 152,145,2752,36,940,33,2005,2628,28,31,
- 32,993,995,27,29,1220,26,24,51,1222,
- 107,77,78,109,2239,1228,1298,1263,1341,1308,
- 1400,1351,56,1439,524,1410,4516,1447,1457,144,
- 2242,2190,2158,151,145,2752,36,940,33,2243,
- 2628,28,31,32,993,995,27,29,1220,26,
- 24,51,1222,107,77,78,109,3281,1228,1298,
- 1263,1341,1308,1400,1351,413,1439,587,1410,1115,
- 1447,1457,144,1528,4644,1718,150,145,2752,36,
- 940,33,1898,2628,28,31,32,993,995,27,
- 29,1220,26,24,51,1222,107,77,78,109,
- 943,1228,1298,1263,1341,1308,1400,1351,1249,1439,
- 1565,1410,1115,1447,1457,144,1635,4648,1895,149,
- 145,2752,36,940,33,2147,2628,28,31,32,
- 993,995,27,29,1220,26,24,51,1222,107,
- 77,78,109,2087,1228,1298,1263,1341,1308,1400,
- 1351,56,1439,2098,1410,2964,1447,1457,144,2596,
- 1264,665,148,145,2752,36,940,33,2312,2628,
- 28,31,32,993,995,27,29,1220,26,24,
- 51,1222,107,77,78,109,331,1228,1298,1263,
- 1341,1308,1400,1351,56,1439,477,1410,2901,1447,
- 1457,144,2309,2305,2339,147,145,2752,36,940,
- 33,2380,2628,28,31,32,993,995,27,29,
- 1220,26,24,51,1222,107,77,78,109,2342,
- 1228,1298,1263,1341,1308,1400,1351,56,1439,2180,
- 1410,3110,1447,1457,144,679,2726,2407,146,145,
- 2752,36,940,33,2482,2628,28,31,32,993,
- 995,27,29,1220,26,24,51,1222,107,77,
- 78,109,2513,1228,1298,1263,1341,1308,1400,1351,
- 56,1439,2514,1410,985,1447,1457,144,2544,2480,
- 2729,160,145,2752,36,940,33,2579,2628,28,
- 31,32,993,995,27,29,1220,26,24,51,
- 1222,107,77,78,109,2263,1228,1298,1263,1341,
- 1308,1400,1351,56,1439,2518,1410,2339,1447,1457,
- 144,2581,2585,2587,141,145,2957,36,940,33,
- 2450,2628,28,31,32,993,995,27,29,1220,
- 26,24,51,1222,107,77,78,109,1411,1228,
- 1298,1263,1341,1308,1400,1351,56,1439,1022,1410,
- 3188,1447,1457,144,1472,36,278,190,145,3077,
- 36,940,33,2381,2628,28,31,32,993,995,
- 27,29,1220,26,24,51,1222,107,77,78,
- 109,1116,1228,1298,1263,1341,1308,1400,1351,2173,
- 1439,2548,1410,4306,1447,1498,165,3077,36,940,
- 33,403,2628,28,31,32,993,995,27,29,
- 1220,26,24,51,1222,107,77,78,109,2516,
- 1228,1298,1263,1341,1308,1400,1351,2791,1439,3819,
- 1410,499,1447,1498,165,1970,36,940,33,1815,
- 2618,41,31,32,993,995,2095,3077,36,940,
- 33,293,2628,28,31,32,993,995,27,29,
- 1220,26,24,51,1222,107,77,78,109,2196,
- 1228,1298,1263,1341,1308,1400,1351,56,1439,2006,
- 1410,1276,1447,1498,165,3077,36,940,33,423,
- 2628,28,31,32,993,995,27,29,1220,26,
- 24,51,1222,107,77,78,109,4209,1228,1298,
- 1263,1341,1308,1400,1351,56,1439,2620,1410,735,
- 1447,1498,165,1970,36,940,33,1815,2409,2605,
- 31,32,993,995,2095,3134,36,940,33,426,
- 2628,28,31,32,993,995,27,29,1220,26,
- 24,51,1222,107,77,78,109,2302,1228,1298,
- 1263,1341,1308,1400,1351,56,1439,3699,1410,3512,
- 1447,1498,165,3077,36,940,33,3144,2628,28,
- 31,32,993,995,27,29,1220,26,24,51,
- 1222,107,77,78,109,390,1228,1298,1263,1341,
- 1308,1400,1351,56,1439,1815,1410,3515,1836,2012,
- 36,940,33,2649,4855,28,31,32,993,995,
- 59,29,2095,3077,36,940,33,2926,2628,28,
- 31,32,993,995,27,29,1220,26,24,51,
- 1222,107,77,78,109,2825,1228,1298,1263,1341,
- 1308,1400,1351,1022,1439,2101,1808,3077,36,940,
- 33,526,2628,28,31,32,993,995,27,29,
- 1220,26,24,51,1222,107,77,78,109,926,
- 1228,1298,1263,1341,1308,1400,1351,498,1800,3077,
- 36,940,33,2553,2628,28,31,32,993,995,
- 27,29,1220,26,24,51,1222,107,77,78,
- 109,2650,1228,1298,1263,1341,1308,1400,1801,1518,
- 36,940,33,3225,4599,28,31,32,993,995,
- 340,29,508,36,3042,2564,461,1657,36,940,
- 33,737,2769,28,31,32,993,995,340,29,
- 2336,2196,1247,1383,508,36,1002,389,3465,1737,
- 36,940,33,2963,2769,28,31,32,993,995,
- 340,29,56,1578,2101,2409,2927,333,320,1389,
- 322,1815,315,1192,508,36,1500,277,453,392,
- 428,352,2654,2785,344,314,320,1389,322,2409,
- 315,1192,508,36,1002,389,351,1578,2623,4403,
- 70,334,353,731,233,2095,2183,2858,320,1389,
- 322,2825,315,1192,853,36,454,510,353,4720,
- 345,586,862,350,353,2633,435,525,723,245,
- 231,232,285,307,311,595,347,586,862,350,
- 1743,2648,345,586,862,350,508,36,1500,279,
- 2434,1970,36,940,33,3262,286,2807,31,32,
- 993,995,3077,36,940,33,2644,2628,28,31,
- 32,993,995,27,29,1220,26,24,51,1222,
- 107,77,78,109,1997,1228,1298,1263,1341,1793,
- 3077,36,940,33,162,2628,28,31,32,993,
- 995,27,29,1220,26,24,51,1222,107,77,
- 78,109,367,1228,1298,1263,1341,1799,1748,36,
- 1998,33,3225,4599,28,31,32,993,995,340,
- 29,3077,36,940,33,2454,2628,28,31,32,
- 993,995,27,29,1220,26,24,51,1222,107,
- 77,78,109,1752,1228,1298,1263,1740,2187,36,
- 1002,389,2655,2101,766,36,1002,389,508,36,
- 1500,1971,1578,407,2689,1115,333,320,1389,322,
- 4694,315,1192,1049,451,2511,2632,56,1472,36,
- 281,3708,50,1963,1265,323,56,2734,274,2750,
- 1276,1568,2129,3545,3077,36,940,33,4403,2628,
- 28,31,32,993,995,27,29,1220,26,24,
- 51,1222,107,77,78,109,157,1228,1298,1263,
- 1748,3077,36,940,33,3001,2628,28,31,32,
- 993,995,27,29,1220,26,24,51,1222,107,
- 77,78,109,3404,1228,1298,1263,1750,3077,36,
- 940,33,1973,2628,28,31,32,993,995,27,
- 29,1220,26,24,51,1222,107,77,78,109,
- 73,1228,1705,418,420,1980,1802,36,940,33,
- 3225,2769,28,31,32,993,995,340,29,594,
- 36,1002,389,3077,36,940,33,2023,2628,28,
- 31,32,993,995,27,29,1220,26,24,51,
- 1222,107,77,78,109,2101,1228,1298,1263,1756,
- 262,2101,2101,50,538,2590,1341,2454,88,1276,
- 2101,3465,1568,2041,1022,320,1389,322,2687,315,
- 1192,2718,229,2101,2478,2443,3037,4138,1276,2800,
- 157,2409,314,25,1877,157,2722,1,181,3414,
- 2825,538,70,201,4206,300,204,216,4567,203,
- 213,214,215,217,157,69,170,2818,2979,229,
- 1578,56,877,163,333,1276,169,157,184,168,
- 171,172,173,174,175,181,3414,2825,2819,175,
- 308,311,595,204,216,4567,203,213,214,215,
- 217,157,183,170,1261,2379,2969,460,298,1276,
- 1826,1027,1955,169,182,185,168,171,172,173,
- 174,175,1920,36,940,33,737,2769,28,31,
- 32,993,995,340,29,161,2793,3191,36,1002,
- 389,1396,4509,353,1399,2830,1476,36,940,33,
- 238,4599,28,31,32,993,995,340,29,2828,
- 1371,345,586,862,350,4739,233,2847,2774,343,
- 1022,274,2927,1826,1645,2197,1336,2927,3465,2059,
- 4532,320,1389,322,3465,315,1192,2101,2511,2837,
- 344,248,231,232,2409,2397,1115,353,527,233,
- 1578,4755,2977,233,334,320,1389,322,352,316,
- 1192,1022,4313,663,2614,345,586,862,350,54,
- 1815,353,2101,528,236,231,232,1578,251,231,
- 232,333,5428,1578,288,275,3146,334,5428,347,
- 586,862,350,1401,36,294,5428,508,36,1002,
- 389,353,2727,4160,88,243,246,249,252,1127,
- 2825,297,926,2936,361,2435,1965,5428,1091,345,
- 586,862,350,329,336,5428,377,2434,2802,1593,
- 1621,274,1515,3316,3284,2412,2894,2931,3072,4494,
- 3077,36,940,33,52,2628,28,31,32,993,
- 995,27,29,1220,26,24,51,1222,107,77,
- 78,109,1022,1228,1298,1758,3077,36,940,33,
- 1645,2628,28,31,32,993,995,27,29,1220,
- 26,24,51,1222,107,77,78,109,349,1228,
- 1298,1765,538,1115,233,341,5428,2187,4759,334,
- 36,1627,2554,2776,1022,89,1645,5428,103,1887,
- 229,3592,443,2927,457,5428,5428,5428,157,254,
- 231,232,394,428,5428,436,181,3414,2825,538,
- 375,2397,3146,50,204,216,4567,203,213,214,
- 215,217,1568,2392,170,98,5428,229,1027,1955,
- 508,36,1002,389,169,157,2934,168,171,172,
- 173,174,175,181,3414,2825,2409,5428,3146,3605,
- 336,204,216,4567,203,213,214,215,217,523,
- 2101,170,2066,538,434,1341,2927,99,1825,5428,
- 3465,169,2927,179,168,171,172,173,174,175,
- 506,229,2101,1987,2397,335,336,946,4709,157,
- 2397,5428,53,2370,926,536,610,181,3414,2825,
- 538,505,2454,2454,2409,204,216,4567,203,213,
- 214,215,217,305,2225,170,1887,2405,229,1578,
- 2927,2927,504,333,3346,169,157,177,168,171,
- 172,173,174,175,181,3414,2825,240,2397,2397,
- 222,304,204,216,4567,203,213,214,215,217,
- 697,288,170,362,538,4416,56,542,3923,361,
- 3697,5428,169,2101,178,168,171,172,173,174,
- 175,383,229,3242,1593,1621,508,36,1002,389,
- 157,5428,2459,1965,5428,2950,233,784,181,3414,
- 2825,538,1401,2468,294,2263,204,216,4567,203,
- 213,214,215,217,393,428,170,506,506,229,
- 433,241,231,232,5428,2614,169,157,188,168,
- 171,172,173,174,175,181,3414,2825,505,505,
- 45,1869,3316,204,216,4567,203,213,214,215,
- 217,5428,5428,170,508,36,1500,282,1634,503,
- 503,430,1232,169,2454,2965,168,171,172,173,
- 174,175,1625,36,940,33,3225,2769,28,31,
- 32,993,995,340,29,2353,1237,36,940,33,
- 2588,2769,28,31,32,993,995,340,29,618,
- 2510,1825,180,2454,871,2927,2187,2058,538,1636,
- 36,1500,277,5428,5428,508,36,1002,389,508,
- 2087,1500,75,2397,404,5428,229,508,36,1002,
- 389,320,1389,322,157,315,1192,508,36,1002,
- 389,199,181,3414,2825,317,1937,322,314,50,
- 204,216,4567,203,213,214,215,217,1568,1129,
- 170,274,1645,2379,958,1645,90,1276,538,103,
- 169,50,193,168,171,172,173,174,175,1815,
- 1568,2014,1636,36,1500,2100,229,508,36,1500,
- 2371,2154,361,161,157,56,307,311,595,3052,
- 5428,1045,181,3414,2825,538,3323,1593,1621,2058,
- 204,216,4567,203,213,214,215,217,4296,3872,
- 170,523,5428,229,3146,276,2101,3146,5428,2644,
- 169,157,187,168,171,172,173,174,175,181,
- 3414,2825,56,5428,3408,1879,3254,204,216,4567,
- 203,213,214,215,217,56,2095,170,91,803,
- 3220,3731,336,5428,3765,336,2101,169,560,195,
- 168,171,172,173,174,175,3077,36,940,33,
- 5428,2628,28,31,32,993,995,27,29,1220,
- 26,24,51,1222,107,77,78,109,3723,1228,
- 1707,3077,36,940,33,5428,2628,28,31,32,
- 993,995,27,29,1220,26,24,51,1222,107,
- 77,78,109,523,1715,3077,36,940,33,5428,
- 2628,28,31,32,993,995,27,29,1220,26,
- 24,51,1222,107,77,78,109,1583,1722,56,
- 2590,2927,2101,3707,538,5428,56,1847,1645,1987,
- 2927,2927,2379,56,4709,5428,1276,3277,5428,229,
- 1550,56,3874,56,1815,1323,5428,818,344,229,
- 157,56,5428,56,68,1083,2101,1276,181,3414,
- 5428,2101,161,206,216,4567,205,213,214,215,
- 217,2858,2454,206,216,4567,205,213,214,215,
- 217,508,1341,157,2825,56,196,3465,67,1179,
- 3146,5428,3702,66,207,209,211,295,296,1887,
- 377,218,208,210,207,209,211,295,296,1887,
- 198,218,208,210,1836,36,1998,33,3225,2769,
- 28,31,32,993,995,340,29,331,336,3922,
- 1115,2950,2831,1935,4223,4767,1578,2927,2077,56,
- 4842,1115,2984,3813,4223,56,4784,5428,5428,3457,
- 2454,3077,36,940,33,229,2628,28,31,32,
- 993,995,27,29,1220,26,24,51,1222,107,
- 77,78,86,320,1389,322,2101,315,1192,206,
- 216,4567,205,213,214,215,217,56,303,56,
- 1265,3264,56,3559,56,2476,963,431,3422,2912,
- 5428,4685,197,5428,3825,874,5428,5428,65,2454,
- 207,209,211,295,296,1887,5428,218,208,210,
- 3077,1525,940,1586,95,2628,28,31,32,993,
- 995,27,29,1220,26,24,51,1222,107,77,
- 78,85,2101,508,36,1002,389,202,3206,5428,
- 4223,3077,36,940,33,5428,2628,28,31,32,
- 993,995,27,29,1220,26,24,51,1222,107,
- 77,78,84,5428,56,5428,2101,50,5428,419,
- 420,1980,3077,36,940,33,47,2628,28,31,
- 32,993,995,27,29,1220,26,24,51,1222,
- 107,77,78,83,3077,36,940,33,55,2628,
- 28,31,32,993,995,27,29,1220,26,24,
- 51,1222,107,77,78,82,3077,36,940,33,
- 5428,2628,28,31,32,993,995,27,29,1220,
- 26,24,51,1222,107,77,78,81,3077,36,
- 940,33,5428,2628,28,31,32,993,995,27,
- 29,1220,26,24,51,1222,107,77,78,80,
- 3077,36,940,33,5428,2628,28,31,32,993,
- 995,27,29,1220,26,24,51,1222,107,77,
- 78,79,2892,36,940,33,5428,2628,28,31,
- 32,993,995,27,29,1220,26,24,51,1222,
- 107,77,78,105,3077,36,940,33,5428,2628,
- 28,31,32,993,995,27,29,1220,26,24,
- 51,1222,107,77,78,111,3077,36,940,33,
- 5428,2628,28,31,32,993,995,27,29,1220,
- 26,24,51,1222,107,77,78,110,3077,36,
- 940,33,5428,2628,28,31,32,993,995,27,
- 29,1220,26,24,51,1222,107,77,78,108,
- 3077,36,940,33,5428,2628,28,31,32,993,
- 995,27,29,1220,26,24,51,1222,107,77,
- 78,106,3020,36,940,33,2101,2628,28,31,
- 32,993,995,27,29,1220,26,24,51,1222,
- 87,77,78,2023,2101,1725,2454,2927,2101,2101,
- 2454,2101,56,1671,2101,2101,2927,2927,102,5428,
- 5428,5428,5428,1759,5428,229,2101,2927,5428,5428,
- 5428,5428,5428,5428,344,229,3263,530,56,5428,
- 452,379,1276,3310,200,229,3347,3454,299,206,
- 216,4567,205,213,214,215,217,2858,2265,206,
- 216,4567,205,213,214,215,217,1629,157,206,
- 216,4567,205,213,214,215,217,3736,5428,2454,
- 207,209,211,295,296,1887,2101,521,208,210,
- 207,209,211,295,296,1887,2454,520,208,210,
- 207,209,211,295,296,1887,2111,219,208,210,
- 2927,56,2101,2101,5428,1276,2199,2824,2441,5428,
- 2927,56,5428,2454,5428,1276,5428,5428,229,5428,
- 5428,5428,5428,5428,223,5428,5428,5428,229,5428,
- 5428,157,5428,5428,4323,3551,5428,5428,5428,5428,
- 3741,157,206,216,4567,205,213,214,215,217,
- 3856,194,206,216,4567,205,213,214,215,217,
- 1802,36,940,33,3225,2769,28,31,32,993,
- 995,340,29,207,209,211,295,296,1887,5428,
- 306,208,210,207,209,211,295,296,1887,5428,
- 500,208,210,1889,36,940,33,5428,4599,28,
- 31,32,993,995,340,29,1889,36,940,33,
- 5428,4599,28,31,32,993,995,340,29,320,
- 1389,322,5428,315,1192,5428,5428,5428,2379,5428,
- 5428,5428,1276,5428,5428,5428,2633,5428,5428,5428,
- 5428,5428,5428,5428,5428,5428,2824,1578,5428,5428,
- 2927,334,320,1389,322,5428,318,1192,161,5428,
- 1578,5428,5428,5428,334,320,1389,322,344,316,
- 1192,1802,36,940,33,3225,2769,28,31,32,
- 993,995,340,29,3241,36,1002,389,5428,4509,
- 5428,3875,5428,5428,56,5428,5428,239,2927,594,
- 36,1002,389,5428,5428,5428,1195,5428,5428,5428,
- 2927,4850,5428,5428,5428,5428,344,5428,274,5428,
- 5428,5428,1826,5428,5428,3956,2927,3465,229,5428,
- 320,1389,322,50,315,1192,5428,5428,5428,2858,
- 5428,5428,1568,1584,2397,5428,233,2957,5428,1636,
- 5428,5428,1272,408,3436,5428,3477,1978,36,940,
- 33,2379,2769,28,31,32,993,995,340,29,
- 5428,237,231,232,1301,5428,1578,5428,2927,4850,
- 333,5428,275,409,410,411,295,296,1887,594,
- 36,1002,389,5428,5428,2379,229,5428,5428,1276,
- 5428,5428,244,247,250,253,1127,5428,1885,5428,
- 5428,5428,2413,361,5428,1091,317,1937,322,5428,
- 1272,408,3436,50,5428,161,5428,2802,1593,1621,
- 5428,5428,1568,3541,940,36,1002,389,594,36,
- 1002,389,5428,4286,56,5428,3037,5428,1276,5428,
- 5428,409,410,411,295,296,1887,5428,5428,5428,
- 2234,36,1002,389,940,36,1002,389,50,412,
- 414,5428,50,5428,157,2659,1885,1568,48,538,
- 5428,1568,48,3102,940,36,1002,389,5428,5428,
- 5428,2658,4186,2188,50,743,4584,344,50,594,
- 36,1002,389,1568,2217,157,5428,1568,2410,5428,
- 594,36,1002,389,189,3408,5428,3477,50,5428,
- 4481,2634,5428,5428,5428,5428,5428,1568,48,594,
- 36,1002,389,50,5428,5428,5428,412,415,5428,
- 5428,2521,1568,48,50,1901,36,1002,389,594,
- 36,1002,389,1568,48,5428,628,594,36,1002,
- 389,5428,5428,50,5428,56,5428,2414,5428,538,
- 5428,5428,1568,48,1913,36,1002,389,191,50,
- 5428,5428,5428,50,5428,5428,2462,344,1568,48,
- 5428,50,1568,48,56,157,5428,5428,538,56,
- 1568,48,1395,538,2801,2379,3190,5428,50,1276,
- 2858,5428,5428,5428,3336,5428,344,1568,48,5428,
- 2795,344,5428,5428,157,508,36,1002,389,157,
- 5428,1403,2093,2823,5428,161,5428,3465,2801,2858,
- 508,36,1002,389,2858,508,36,1002,389,2810,
- 5428,5428,5428,2447,3012,4279,5428,2927,5428,50,
- 508,36,1002,389,5428,5428,5428,5428,1568,1119,
- 5428,5428,5428,5428,50,344,5428,56,56,50,
- 5428,538,2927,1568,2411,531,1578,56,1568,2129,
- 4842,538,56,5428,50,5428,2927,56,2858,344,
- 344,538,4208,1568,664,5428,56,157,534,344,
- 2927,56,5428,5428,344,1276,189,157,5428,344,
- 5428,56,4481,2858,5428,2927,189,157,344,5428,
- 5428,5428,4481,1654,5428,5428,189,2858,5428,5428,
- 5428,157,4481,344,5428,5428,5428,1670,5428,5428,
- 4312,2858,5428,5428,5428,5428,5428,5428,5428,5428,
- 5428,3616,5428,5428,5428,5428,2858,5428,5428,5428,
- 5428,5428,5428,5428,97,5428,535,5428,5428,5428,
- 4211,5428,5428,5428,5428,5428,5428,5428,5428,5428,
- 4214,5428,5428,5428,5428,5428,5428,5428,5428,5428,
- 4215,5428,5428,5428,5428,5428,5428,5428,5428,5428,
- 5428,5428,5428,5428,5428,5428,5428,5428,5428,5428,
- 5428,5428,5428,5428,5428,5428,5428,5428,5428,5428,
- 5428,5428,5428,5428,5428,5428,5428,5428,5428,5428,
- 5428,5428,5428,5428,5428,5428,5428,5428,5428,5428,
- 5428,4205,5428,0,576,1,0,820,1,0,
- 40,1,5443,0,40,1,5442,0,1406,1,
- 0,40,5443,0,40,5442,0,1490,319,0,
- 1533,30,0,441,1576,0,455,1619,0,5443,
- 49,0,5442,49,0,39,738,0,39,5443,
- 0,39,5442,0,5434,1,0,5433,1,0,
- 284,395,0,284,287,0,5663,242,0,5662,
- 242,0,5767,242,0,5766,242,0,5690,242,
- 0,5689,242,0,5688,242,0,5687,242,0,
- 5686,242,0,5685,242,0,5684,242,0,5683,
- 242,0,5701,242,0,5700,242,0,5699,242,
- 0,5698,242,0,5697,242,0,5696,242,0,
- 5695,242,0,5694,242,0,5693,242,0,5692,
- 242,0,5691,242,0,40,242,5443,0,40,
- 242,5442,0,5467,242,0,1533,388,0,2701,
- 127,0,36,34,0,1,445,0,459,2313,
- 0,458,2814,0,48,38,0,5467,1,0,
- 40,1,0,1349,92,0,33,35,0,40,
- 738,0,1,725,0,1,5701,0,1,5700,
- 0,1,5699,0,1,5698,0,1,5697,0,
- 1,5696,0,1,5695,0,1,5694,0,1,
- 5693,0,1,5692,0,1,5691,0,44,5465,
- 0,44,38,0,502,1886,0,5467,1,230,
- 0,40,1,230,0,230,417,0,5443,38,
- 0,5442,38,0,238,2895,0,389,33,0,
- 388,30,0,2701,129,0,2701,128,0,332,
- 446,0,5438,406,0,5437,406,0,1,4370,
- 0,1,2958,0,1,738,0,230,416,0,
- 1,93,0,5465,46,0,38,46,0,1,
- 332,0,2,5443,38,0,2,5442,38,0,
- 5443,37,0,5442,37,0,502,4213,0,1,
- 230,0,230,221,0,332,96,0,36,74,
- 0,230,220,0,279,3712,0,5440,1,0,
- 5436,1,0,1,230,2669,0,5437,230,0,
- 2808,230,0,5440,384,0,5439,384,0,2879,
- 230,0,10,12,0,8,10,12,0,186,
- 3514,0,2978,384,0,8,12,0
+ 196,196,196,196,196,196,196,196,196,77,
+ 82,82,173,173,133,133,112,112,112,112,
+ 112,112,3,134,134,132,132,113,113,85,
+ 78,74,161,161,114,114,197,197,197,135,
+ 135,127,127,198,198,174,174,1119,35,1696,
+ 1678,1101,4669,27,30,31,992,994,26,28,
+ 1671,25,23,50,1221,106,76,77,108,2517,
+ 1227,1297,1262,1340,1307,1399,1350,245,1438,675,
+ 1409,273,1446,1456,143,415,35,396,158,144,
+ 761,1472,35,939,32,2074,4673,27,30,31,
+ 992,994,57,28,1725,3070,35,939,32,232,
+ 2627,27,30,31,992,994,26,28,1219,25,
+ 23,50,1221,106,76,77,108,1174,1227,1297,
+ 1262,1340,1307,1782,235,230,231,502,35,1001,
+ 388,3070,35,939,32,274,2627,27,30,31,
+ 992,994,26,28,1219,25,23,50,1221,106,
+ 76,77,108,1392,1712,242,245,248,251,1126,
+ 354,431,1350,2311,35,277,2805,64,1090,1783,
+ 35,939,32,523,4673,27,30,31,992,994,
+ 56,28,1670,569,3283,2411,2893,2930,3071,4493,
+ 2253,35,939,32,2926,2627,27,30,31,992,
+ 994,26,28,1219,25,23,50,1221,106,76,
+ 77,108,343,1227,1297,1262,1340,1307,1399,1350,
+ 61,1438,1160,1409,1102,1446,1456,143,3536,4834,
+ 1178,517,144,1648,2523,2857,1326,502,1524,1499,
+ 34,3464,502,35,282,518,2253,35,939,32,
+ 2926,2627,27,30,31,992,994,26,28,1219,
+ 25,23,50,1221,106,76,77,108,343,1227,
+ 1297,1262,1340,1307,1399,1350,150,1438,312,1409,
+ 3275,1446,1456,143,155,35,453,517,144,4719,
+ 1577,2857,502,1954,332,155,35,279,3922,865,
+ 3486,518,2559,513,1979,35,939,32,60,4854,
+ 27,30,31,992,994,26,28,2523,511,415,
+ 35,396,1841,2644,1842,1775,2935,2253,35,939,
+ 32,2926,2627,27,30,31,992,994,26,28,
+ 1219,25,23,50,1221,106,76,77,108,343,
+ 1227,1297,1262,1340,1307,1399,1350,443,1438,513,
+ 1409,2086,1446,1456,143,502,35,1971,517,144,
+ 42,1868,2857,494,3003,150,1326,2050,1843,3227,
+ 1842,3464,518,2461,35,939,32,2926,2627,27,
+ 30,31,992,994,26,28,1219,25,23,50,
+ 1221,106,76,77,108,343,1227,1297,1262,1340,
+ 1307,1399,1350,2419,1438,288,1409,2926,1446,1456,
+ 143,155,35,279,517,144,4869,580,2857,356,
+ 1577,415,35,396,332,343,353,531,518,1635,
+ 513,1979,35,939,32,413,4854,27,30,31,
+ 992,994,59,28,446,2510,2631,3374,1450,1850,
+ 2050,1842,2596,35,939,32,2412,2627,27,30,
+ 31,992,994,26,28,1219,25,23,50,1221,
+ 106,76,77,108,2081,1227,1297,1262,1340,1307,
+ 1399,1350,1809,1438,1895,1409,514,1446,1456,143,
+ 913,2070,3866,379,144,2322,35,939,32,243,
+ 2627,27,30,31,992,994,26,28,1219,25,
+ 23,50,1221,106,76,77,108,322,1227,1297,
+ 1262,1340,1307,1399,1350,381,1438,228,1409,1584,
+ 1446,1456,143,2363,1795,3866,379,144,2159,2098,
+ 3070,35,939,32,1919,2627,27,30,31,992,
+ 994,26,28,1219,25,23,50,1221,106,76,
+ 77,108,1448,1227,1297,1262,1340,1307,1399,1350,
+ 2220,1438,2559,1409,2824,1446,1497,164,1833,2174,
+ 1795,385,3528,1010,390,427,2528,35,939,32,
+ 3868,2627,27,30,31,992,994,26,28,1219,
+ 25,23,50,1221,106,76,77,108,2171,1227,
+ 1297,1262,1340,1307,1399,1350,1908,1438,386,1409,
+ 1661,1446,1456,143,386,3528,3866,379,144,438,
+ 502,3888,423,70,2836,35,939,32,3817,2627,
+ 27,30,31,992,994,26,28,1219,25,23,
+ 50,1221,106,76,77,108,2428,1227,1297,1262,
+ 1340,1307,1399,1350,2435,1438,326,1409,2559,1446,
+ 1456,143,1878,2637,2469,373,144,2836,35,939,
+ 32,2222,2627,27,30,31,992,994,26,28,
+ 1219,25,23,50,1221,106,76,77,108,355,
+ 1227,1297,1262,1340,1307,1399,1350,531,1438,1475,
+ 1409,2624,1446,1456,143,377,3528,585,373,144,
+ 3809,2320,2836,35,939,32,2644,2627,27,30,
+ 31,992,994,26,28,1219,25,23,50,1221,
+ 106,76,77,108,865,1227,1297,1262,1340,1307,
+ 1399,1350,2247,1438,2492,1409,324,1446,1456,143,
+ 322,2126,372,373,144,2836,35,939,32,1708,
+ 2627,27,30,31,992,994,26,28,1219,25,
+ 23,50,1221,106,76,77,108,236,1227,1297,
+ 1262,1340,1307,1399,1350,323,1438,2075,1409,404,
+ 1446,1456,143,531,3138,371,158,144,2664,35,
+ 939,32,2320,2627,27,30,31,992,994,26,
+ 28,1219,25,23,50,1221,106,76,77,108,
+ 846,1227,1297,1262,1340,1307,1399,1350,150,1438,
+ 1236,1409,1275,1446,1497,164,2394,35,939,32,
+ 369,2627,27,30,31,992,994,26,28,1219,
+ 25,23,50,1221,106,76,77,108,3575,1227,
+ 1297,1262,1340,1307,1399,1350,71,1438,2154,1409,
+ 3009,1446,1456,143,502,35,293,142,144,1360,
+ 447,327,502,35,293,2078,35,939,32,142,
+ 1093,41,30,31,992,994,2836,35,939,32,
+ 1670,2627,27,30,31,992,994,26,28,1219,
+ 25,23,50,1221,106,76,77,108,1251,1227,
+ 1297,1262,1340,1307,1399,1350,214,1438,494,1409,
+ 2047,1446,1456,143,3761,421,1379,155,144,2836,
+ 35,939,32,325,2627,27,30,31,992,994,
+ 26,28,1219,25,23,50,1221,106,76,77,
+ 108,3723,1227,1297,1262,1340,1307,1399,1350,150,
+ 1438,447,1409,3450,1446,1456,143,1500,3829,2495,
+ 154,144,2836,35,939,32,4209,2627,27,30,
+ 31,992,994,26,28,1219,25,23,50,1221,
+ 106,76,77,108,1328,1227,1297,1262,1340,1307,
+ 1399,1350,150,1438,2287,1409,690,1446,1456,143,
+ 502,2934,2388,153,144,2836,35,939,32,2658,
+ 2627,27,30,31,992,994,26,28,1219,25,
+ 23,50,1221,106,76,77,108,1789,1227,1297,
+ 1262,1340,1307,1399,1350,150,1438,1627,1409,746,
+ 1446,1456,143,1333,1271,1446,152,144,2836,35,
+ 939,32,2052,2627,27,30,31,992,994,26,
+ 28,1219,25,23,50,1221,106,76,77,108,
+ 380,1227,1297,1262,1340,1307,1399,1350,150,1438,
+ 1716,1409,827,1446,1456,143,1377,93,418,151,
+ 144,2836,35,939,32,590,2627,27,30,31,
+ 992,994,26,28,1219,25,23,50,1221,106,
+ 76,77,108,848,1227,1297,1262,1340,1307,1399,
+ 1350,150,1438,523,1409,4515,1446,1456,143,1822,
+ 1907,2249,150,144,2836,35,939,32,3343,2627,
+ 27,30,31,992,994,26,28,1219,25,23,
+ 50,1221,106,76,77,108,3269,1227,1297,1262,
+ 1340,1307,1399,1350,408,1438,580,1409,1102,1446,
+ 1456,143,1459,4643,1791,149,144,2836,35,939,
+ 32,1863,2627,27,30,31,992,994,26,28,
+ 1219,25,23,50,1221,106,76,77,108,932,
+ 1227,1297,1262,1340,1307,1399,1350,1616,1438,1881,
+ 1409,1102,1446,1456,143,1911,4647,2280,148,144,
+ 2836,35,939,32,2344,2627,27,30,31,992,
+ 994,26,28,1219,25,23,50,1221,106,76,
+ 77,108,2044,1227,1297,1262,1340,1307,1399,1350,
+ 150,1438,2156,1409,2963,1446,1456,143,2696,1355,
+ 1502,147,144,2836,35,939,32,400,2627,27,
+ 30,31,992,994,26,28,1219,25,23,50,
+ 1221,106,76,77,108,56,1227,1297,1262,1340,
+ 1307,1399,1350,150,1438,472,1409,2900,1446,1456,
+ 143,1825,1975,2168,146,144,2836,35,939,32,
+ 2381,2627,27,30,31,992,994,26,28,1219,
+ 25,23,50,1221,106,76,77,108,2124,1227,
+ 1297,1262,1340,1307,1399,1350,150,1438,2420,1409,
+ 3109,1446,1456,143,1002,2500,2082,145,144,2836,
+ 35,939,32,2454,2627,27,30,31,992,994,
+ 26,28,1219,25,23,50,1221,106,76,77,
+ 108,2484,1227,1297,1262,1340,1307,1399,1350,150,
+ 1438,2485,1409,984,1446,1456,143,2491,2452,2567,
+ 159,144,2836,35,939,32,2516,2627,27,30,
+ 31,992,994,26,28,1219,25,23,50,1221,
+ 106,76,77,108,2387,1227,1297,1262,1340,1307,
+ 1399,1350,150,1438,2423,1409,2338,1446,1456,143,
+ 2518,2551,2347,140,144,2953,35,939,32,2486,
+ 2627,27,30,31,992,994,26,28,1219,25,
+ 23,50,1221,106,76,77,108,1323,1227,1297,
+ 1262,1340,1307,1399,1350,150,1438,1010,1409,3187,
+ 1446,1456,143,1995,35,277,189,144,3070,35,
+ 939,32,1621,2627,27,30,31,992,994,26,
+ 28,1219,25,23,50,1221,106,76,77,108,
+ 1103,1227,1297,1262,1340,1307,1399,1350,1897,1438,
+ 2525,1409,4305,1446,1497,164,3070,35,939,32,
+ 402,2627,27,30,31,992,994,26,28,1219,
+ 25,23,50,1221,106,76,77,108,2515,1227,
+ 1297,1262,1340,1307,1399,1350,2637,1438,3818,1409,
+ 498,1446,1497,164,2131,35,939,32,1795,2583,
+ 40,30,31,992,994,2094,3070,35,939,32,
+ 292,2627,27,30,31,992,994,26,28,1219,
+ 25,23,50,1221,106,76,77,108,1341,1227,
+ 1297,1262,1340,1307,1399,1350,150,1438,2005,1409,
+ 1275,1446,1497,164,3070,35,939,32,422,2627,
+ 27,30,31,992,994,26,28,1219,25,23,
+ 50,1221,106,76,77,108,4208,1227,1297,1262,
+ 1340,1307,1399,1350,150,1438,1179,1409,734,1446,
+ 1497,164,2131,35,939,32,1795,2064,2604,30,
+ 31,992,994,2094,3125,35,939,32,425,2627,
+ 27,30,31,992,994,26,28,1219,25,23,
+ 50,1221,106,76,77,108,2276,1227,1297,1262,
+ 1340,1307,1399,1350,150,1438,3698,1409,3511,1446,
+ 1497,164,3070,35,939,32,3143,2627,27,30,
+ 31,992,994,26,28,1219,25,23,50,1221,
+ 106,76,77,108,389,1227,1297,1262,1340,1307,
+ 1399,1350,150,1438,1795,1409,3514,1835,1987,35,
+ 939,32,2590,4854,27,30,31,992,994,58,
+ 28,2094,3070,35,939,32,2925,2627,27,30,
+ 31,992,994,26,28,1219,25,23,50,1221,
+ 106,76,77,108,2824,1227,1297,1262,1340,1307,
+ 1399,1350,1010,1438,1982,1807,3070,35,939,32,
+ 525,2627,27,30,31,992,994,26,28,1219,
+ 25,23,50,1221,106,76,77,108,2081,1227,
+ 1297,1262,1340,1307,1399,1350,497,1799,3070,35,
+ 939,32,2560,2627,27,30,31,992,994,26,
+ 28,1219,25,23,50,1221,106,76,77,108,
+ 2591,1227,1297,1262,1340,1307,1399,1800,1608,35,
+ 939,32,3224,4598,27,30,31,992,994,339,
+ 28,502,35,3041,2563,460,1638,35,939,32,
+ 736,2768,27,30,31,992,994,339,28,2243,
+ 1341,1232,1367,502,35,1001,388,3464,1719,35,
+ 939,32,2962,2768,27,30,31,992,994,339,
+ 28,150,1577,1982,2064,2926,332,319,1388,321,
+ 1795,314,1191,502,35,1499,276,452,391,427,
+ 351,2618,2552,343,313,319,1388,321,2064,314,
+ 1191,502,35,1001,388,350,1577,2584,4402,69,
+ 333,352,730,232,2094,2182,2857,319,1388,321,
+ 2824,314,1191,843,35,453,509,352,4719,344,
+ 585,861,349,352,2632,434,524,722,244,230,
+ 231,284,306,310,594,346,585,861,349,1564,
+ 2585,344,585,861,349,502,35,1499,278,2433,
+ 2131,35,939,32,3261,285,2806,30,31,992,
+ 994,3070,35,939,32,2643,2627,27,30,31,
+ 992,994,26,28,1219,25,23,50,1221,106,
+ 76,77,108,2050,1227,1297,1262,1340,1792,3070,
+ 35,939,32,413,2627,27,30,31,992,994,
+ 26,28,1219,25,23,50,1221,106,76,77,
+ 108,366,1227,1297,1262,1340,1798,1729,35,1997,
+ 32,3224,4598,27,30,31,992,994,339,28,
+ 3070,35,939,32,2353,2627,27,30,31,992,
+ 994,26,28,1219,25,23,50,1221,106,76,
+ 77,108,1751,1227,1297,1262,1739,1216,35,1001,
+ 388,2623,1982,757,35,1001,388,502,35,1499,
+ 1970,1577,406,2619,1102,332,319,1388,321,4693,
+ 314,1191,1048,450,2510,2631,150,1995,35,280,
+ 3707,49,1962,1264,322,150,2625,273,2654,1275,
+ 1567,2128,3544,3070,35,939,32,4402,2627,27,
+ 30,31,992,994,26,28,1219,25,23,50,
+ 1221,106,76,77,108,156,1227,1297,1262,1747,
+ 3070,35,939,32,3000,2627,27,30,31,992,
+ 994,26,28,1219,25,23,50,1221,106,76,
+ 77,108,3403,1227,1297,1262,1749,3070,35,939,
+ 32,1972,2627,27,30,31,992,994,26,28,
+ 1219,25,23,50,1221,106,76,77,108,72,
+ 1227,1704,417,419,1979,1503,35,939,32,3224,
+ 2768,27,30,31,992,994,339,28,587,35,
+ 1001,388,3070,35,939,32,2022,2627,27,30,
+ 31,992,994,26,28,1219,25,23,50,1221,
+ 106,76,77,108,1982,1227,1297,1262,1755,259,
+ 1982,1982,49,537,2377,1326,2353,87,1275,1982,
+ 3464,1567,2040,1010,319,1388,321,2656,314,1191,
+ 2730,228,1982,2416,2346,3036,4137,1275,2799,156,
+ 2064,313,24,1876,156,2735,1,180,3413,2824,
+ 537,69,200,4205,299,203,215,4566,202,212,
+ 213,214,216,156,68,169,2736,2155,228,1577,
+ 150,876,162,332,1275,168,156,183,167,170,
+ 171,172,173,174,180,3413,2824,2737,173,307,
+ 310,594,203,215,4566,202,212,213,214,216,
+ 156,182,169,1246,2213,2968,459,297,1275,1825,
+ 1015,1954,168,181,184,167,170,171,172,173,
+ 174,1899,35,939,32,736,2768,27,30,31,
+ 992,994,339,28,160,2688,3180,35,1001,388,
+ 1380,4508,352,1892,2629,1460,35,939,32,237,
+ 4598,27,30,31,992,994,339,28,2744,2723,
+ 344,585,861,349,4738,232,2651,2719,342,1010,
+ 273,2926,1806,1338,1375,1321,2926,3464,2037,4531,
+ 319,1388,321,3464,314,1191,1982,2382,2836,343,
+ 247,230,231,2064,2396,1102,352,526,232,1577,
+ 4754,2976,232,333,319,1388,321,351,315,1191,
+ 1010,4312,662,2553,344,585,861,349,53,1795,
+ 352,1982,527,235,230,231,1577,250,230,231,
+ 332,5427,1577,287,274,3145,333,5427,346,585,
+ 861,349,2159,35,293,5427,502,35,1001,388,
+ 352,2502,4159,87,242,245,248,251,1126,2824,
+ 296,2081,2935,360,2434,1964,5427,1090,344,585,
+ 861,349,328,335,5427,376,2433,2801,1592,1620,
+ 273,1498,3315,3283,2411,2893,2930,3071,4493,3070,
+ 35,939,32,51,2627,27,30,31,992,994,
+ 26,28,1219,25,23,50,1221,106,76,77,
+ 108,1010,1227,1297,1757,3070,35,939,32,1338,
+ 2627,27,30,31,992,994,26,28,1219,25,
+ 23,50,1221,106,76,77,108,345,1227,1297,
+ 1764,537,1102,232,340,5427,2186,4758,415,35,
+ 1626,2553,2693,1010,88,1338,5427,102,1458,228,
+ 3591,442,2926,456,5427,5427,5427,156,253,230,
+ 231,393,427,5427,431,180,3413,2824,537,374,
+ 2396,3145,49,203,215,4566,202,212,213,214,
+ 216,1567,2391,169,97,5427,228,1015,1954,502,
+ 35,1001,388,168,156,2933,167,170,171,172,
+ 173,174,180,3413,2824,2064,5427,3145,3604,335,
+ 203,215,4566,202,212,213,214,216,517,1982,
+ 169,2139,537,433,1326,2926,98,1249,5427,3464,
+ 168,2926,178,167,170,171,172,173,174,505,
+ 228,1982,2062,2396,334,335,945,4708,156,2396,
+ 5427,52,2308,2081,535,603,180,3413,2824,537,
+ 504,2353,2353,2064,203,215,4566,202,212,213,
+ 214,216,304,2224,169,1458,2345,228,1577,2926,
+ 2926,503,332,3381,168,156,176,167,170,171,
+ 172,173,174,180,3413,2824,239,2396,2396,221,
+ 303,203,215,4566,202,212,213,214,216,689,
+ 287,169,361,537,4415,150,541,3922,360,3696,
+ 5427,168,1982,177,167,170,171,172,173,174,
+ 382,228,3241,1592,1620,502,35,1001,388,156,
+ 5427,2458,1964,5427,2949,232,775,180,3413,2824,
+ 537,2159,2467,293,2262,203,215,4566,202,212,
+ 213,214,216,392,427,169,505,505,228,432,
+ 240,230,231,5427,2553,168,156,187,167,170,
+ 171,172,173,174,180,3413,2824,504,504,44,
+ 1868,3315,203,215,4566,202,212,213,214,216,
+ 5427,5427,169,502,35,1499,281,1631,502,502,
+ 429,1231,168,2353,2964,167,170,171,172,173,
+ 174,1869,35,939,32,3224,2768,27,30,31,
+ 992,994,339,28,2352,1223,35,939,32,2587,
+ 2768,27,30,31,992,994,339,28,617,2509,
+ 1249,179,2353,861,2926,2186,42,537,1233,35,
+ 1499,276,5427,5427,502,35,1001,388,502,2086,
+ 1499,74,2396,403,5427,228,502,35,1001,388,
+ 319,1388,321,156,314,1191,502,35,1001,388,
+ 198,180,3413,2824,316,1936,321,313,49,203,
+ 215,4566,202,212,213,214,216,1567,1128,169,
+ 273,1338,2213,947,1338,89,1275,537,102,168,
+ 49,192,167,170,171,172,173,174,1795,1567,
+ 2013,1233,35,1499,2099,228,502,35,1499,2370,
+ 2240,360,160,156,150,306,310,594,3051,5427,
+ 1033,180,3413,2824,537,3322,1592,1620,42,203,
+ 215,4566,202,212,213,214,216,4295,3871,169,
+ 522,5427,228,3145,275,1982,3145,5427,2643,168,
+ 156,186,167,170,171,172,173,174,180,3413,
+ 2824,150,5427,3407,1878,3253,203,215,4566,202,
+ 212,213,214,216,150,2094,169,90,802,3219,
+ 3730,335,5427,3764,335,1982,168,559,194,167,
+ 170,171,172,173,174,3070,35,939,32,5427,
+ 2627,27,30,31,992,994,26,28,1219,25,
+ 23,50,1221,106,76,77,108,3722,1227,1706,
+ 3070,35,939,32,5427,2627,27,30,31,992,
+ 994,26,28,1219,25,23,50,1221,106,76,
+ 77,108,522,1714,3070,35,939,32,5427,2627,
+ 27,30,31,992,994,26,28,1219,25,23,
+ 50,1221,106,76,77,108,1566,1721,150,2377,
+ 2926,1982,3706,537,5427,150,1827,1338,2062,2926,
+ 2926,2213,150,4708,5427,1275,3276,5427,228,1549,
+ 150,3873,150,1795,1322,5427,817,343,228,156,
+ 150,5427,150,67,1082,1982,1275,180,3413,5427,
+ 1982,160,205,215,4566,204,212,213,214,216,
+ 2857,2353,205,215,4566,204,212,213,214,216,
+ 507,1326,156,2824,150,195,3464,66,1178,3145,
+ 5427,3701,65,206,208,210,294,295,1886,376,
+ 217,207,209,206,208,210,294,295,1886,197,
+ 217,207,209,1816,35,1997,32,3224,2768,27,
+ 30,31,992,994,339,28,330,335,3921,1102,
+ 2949,2830,1914,4222,4766,1577,2926,1706,150,4841,
+ 1102,2983,3812,4222,150,4783,5427,5427,3456,2353,
+ 3070,35,939,32,228,2627,27,30,31,992,
+ 994,26,28,1219,25,23,50,1221,106,76,
+ 77,85,319,1388,321,1982,314,1191,205,215,
+ 4566,204,212,213,214,216,150,302,150,1264,
+ 3263,150,3558,150,2348,962,430,3421,2911,5427,
+ 4684,196,5427,3824,873,5427,5427,64,2353,206,
+ 208,210,294,295,1886,5427,217,207,209,3070,
+ 1524,939,1585,94,2627,27,30,31,992,994,
+ 26,28,1219,25,23,50,1221,106,76,77,
+ 84,1982,502,35,1001,388,201,3205,5427,4222,
+ 3070,35,939,32,5427,2627,27,30,31,992,
+ 994,26,28,1219,25,23,50,1221,106,76,
+ 77,83,5427,55,5427,1982,49,5427,418,419,
+ 1979,3070,35,939,32,46,2627,27,30,31,
+ 992,994,26,28,1219,25,23,50,1221,106,
+ 76,77,82,3070,35,939,32,54,2627,27,
+ 30,31,992,994,26,28,1219,25,23,50,
+ 1221,106,76,77,81,3070,35,939,32,5427,
+ 2627,27,30,31,992,994,26,28,1219,25,
+ 23,50,1221,106,76,77,80,3070,35,939,
+ 32,5427,2627,27,30,31,992,994,26,28,
+ 1219,25,23,50,1221,106,76,77,79,3070,
+ 35,939,32,5427,2627,27,30,31,992,994,
+ 26,28,1219,25,23,50,1221,106,76,77,
+ 78,2898,35,939,32,5427,2627,27,30,31,
+ 992,994,26,28,1219,25,23,50,1221,106,
+ 76,77,104,3070,35,939,32,5427,2627,27,
+ 30,31,992,994,26,28,1219,25,23,50,
+ 1221,106,76,77,110,3070,35,939,32,5427,
+ 2627,27,30,31,992,994,26,28,1219,25,
+ 23,50,1221,106,76,77,109,3070,35,939,
+ 32,5427,2627,27,30,31,992,994,26,28,
+ 1219,25,23,50,1221,106,76,77,107,3070,
+ 35,939,32,5427,2627,27,30,31,992,994,
+ 26,28,1219,25,23,50,1221,106,76,77,
+ 105,3015,35,939,32,1982,2627,27,30,31,
+ 992,994,26,28,1219,25,23,50,1221,86,
+ 76,77,2001,1982,1805,2353,2926,1982,1982,2353,
+ 1982,150,1653,1982,1982,2926,2926,101,5427,5427,
+ 5427,5427,1740,5427,228,1982,2926,5427,5427,5427,
+ 5427,5427,5427,343,228,3262,529,150,5427,451,
+ 378,1275,3309,199,228,3346,3453,298,205,215,
+ 4566,204,212,213,214,216,2857,2264,205,215,
+ 4566,204,212,213,214,216,1628,156,205,215,
+ 4566,204,212,213,214,216,3735,5427,2353,206,
+ 208,210,294,295,1886,1982,520,207,209,206,
+ 208,210,294,295,1886,2353,519,207,209,206,
+ 208,210,294,295,1886,2088,218,207,209,2926,
+ 150,1982,1982,5427,1275,2175,2823,2440,5427,2926,
+ 150,5427,2353,5427,1275,5427,5427,228,5427,5427,
+ 5427,5427,5427,222,5427,5427,5427,228,5427,5427,
+ 156,5427,5427,4322,3550,5427,5427,5427,5427,3740,
+ 156,205,215,4566,204,212,213,214,216,3855,
+ 193,205,215,4566,204,212,213,214,216,1503,
+ 35,939,32,3224,2768,27,30,31,992,994,
+ 339,28,206,208,210,294,295,1886,5427,305,
+ 207,209,206,208,210,294,295,1886,5427,499,
+ 207,209,1695,35,939,32,5427,4598,27,30,
+ 31,992,994,339,28,1695,35,939,32,5427,
+ 4598,27,30,31,992,994,339,28,319,1388,
+ 321,5427,314,1191,5427,5427,5427,2213,5427,5427,
+ 5427,1275,5427,5427,5427,2632,5427,5427,5427,5427,
+ 5427,5427,5427,5427,5427,2562,1577,5427,5427,2926,
+ 333,319,1388,321,5427,317,1191,160,5427,1577,
+ 5427,5427,5427,333,319,1388,321,343,315,1191,
+ 1503,35,939,32,3224,2768,27,30,31,992,
+ 994,339,28,3229,35,1001,388,5427,4508,5427,
+ 3874,5427,5427,150,5427,5427,238,2926,587,35,
+ 1001,388,5427,5427,5427,1181,5427,5427,5427,2926,
+ 4849,5427,5427,5427,5427,343,5427,273,5427,5427,
+ 5427,1806,5427,5427,3955,2926,3464,228,5427,319,
+ 1388,321,49,314,1191,5427,5427,5427,2857,5427,
+ 5427,1567,1583,2396,5427,232,2956,5427,1635,5427,
+ 5427,1271,407,3435,5427,3476,1956,35,939,32,
+ 2378,2768,27,30,31,992,994,339,28,5427,
+ 236,230,231,1286,5427,1577,5427,2926,4849,332,
+ 5427,274,408,409,410,294,295,1886,587,35,
+ 1001,388,5427,5427,2213,228,5427,5427,1275,5427,
+ 5427,243,246,249,252,1126,5427,1884,5427,5427,
+ 5427,2412,360,5427,1090,316,1936,321,5427,1271,
+ 407,3435,49,5427,160,5427,2801,1592,1620,5427,
+ 5427,1567,3540,929,35,1001,388,587,35,1001,
+ 388,5427,4285,150,5427,3036,5427,1275,5427,5427,
+ 408,409,410,294,295,1886,5427,5427,5427,1385,
+ 35,1001,388,929,35,1001,388,49,411,413,
+ 5427,49,5427,156,2425,1884,1567,47,537,5427,
+ 1567,47,3101,929,35,1001,388,5427,5427,5427,
+ 2657,4185,2187,49,742,4583,343,49,587,35,
+ 1001,388,1567,2216,156,5427,1567,2409,5427,587,
+ 35,1001,388,188,3407,5427,3476,49,5427,4480,
+ 2633,5427,5427,5427,5427,5427,1567,47,587,35,
+ 1001,388,49,5427,5427,5427,411,414,5427,5427,
+ 2520,1567,47,49,1602,35,1001,388,587,35,
+ 1001,388,1567,47,5427,627,587,35,1001,388,
+ 5427,5427,49,5427,150,5427,2413,5427,537,5427,
+ 5427,1567,47,1618,35,1001,388,190,49,5427,
+ 5427,5427,49,5427,5427,2461,343,1567,47,5427,
+ 49,1567,47,150,156,5427,5427,537,150,1567,
+ 47,1394,537,2800,2213,3189,5427,49,1275,2857,
+ 5427,5427,5427,3335,5427,343,1567,47,5427,2794,
+ 343,5427,5427,156,502,35,1001,388,156,5427,
+ 1402,2067,2822,5427,160,5427,3464,2800,2857,502,
+ 35,1001,388,2857,502,35,1001,388,2809,5427,
+ 5427,5427,2219,3011,4278,5427,2926,5427,49,502,
+ 35,1001,388,5427,5427,5427,5427,1567,1118,5427,
+ 5427,5427,5427,49,343,5427,150,150,49,5427,
+ 537,2926,1567,2410,530,1577,150,1567,2128,4841,
+ 537,150,5427,49,5427,2926,150,2857,343,343,
+ 537,4207,1567,663,5427,150,156,533,343,2926,
+ 150,5427,5427,343,1275,188,156,5427,343,5427,
+ 150,4480,2857,5427,2926,188,156,343,5427,5427,
+ 5427,4480,1653,5427,5427,188,2857,5427,5427,5427,
+ 156,4480,343,5427,5427,5427,1669,5427,5427,4311,
+ 2857,5427,5427,5427,5427,5427,5427,5427,5427,5427,
+ 3615,5427,5427,5427,5427,2857,5427,5427,5427,5427,
+ 5427,5427,5427,96,5427,534,5427,5427,5427,4210,
+ 5427,5427,5427,5427,5427,5427,5427,5427,5427,4213,
+ 5427,5427,5427,5427,5427,5427,5427,5427,5427,4214,
+ 5427,5427,5427,5427,5427,5427,5427,5427,5427,5427,
+ 5427,5427,5427,5427,5427,5427,5427,5427,5427,5427,
+ 5427,5427,5427,5427,5427,5427,5427,5427,5427,5427,
+ 5427,5427,5427,5427,5427,5427,5427,5427,5427,5427,
+ 5427,5427,5427,5427,5427,5427,5427,5427,5427,5427,
+ 4204,5427,0,575,1,0,819,1,0,39,
+ 1,5442,0,39,1,5441,0,1405,1,0,
+ 39,5442,0,39,5441,0,1489,318,0,1532,
+ 29,0,440,1575,0,454,1618,0,5442,48,
+ 0,5441,48,0,38,737,0,38,5442,0,
+ 38,5441,0,5433,1,0,5432,1,0,283,
+ 394,0,283,286,0,5661,241,0,5660,241,
+ 0,5765,241,0,5764,241,0,5688,241,0,
+ 5687,241,0,5686,241,0,5685,241,0,5684,
+ 241,0,5683,241,0,5682,241,0,5681,241,
+ 0,5699,241,0,5698,241,0,5697,241,0,
+ 5696,241,0,5695,241,0,5694,241,0,5693,
+ 241,0,5692,241,0,5691,241,0,5690,241,
+ 0,5689,241,0,39,241,5442,0,39,241,
+ 5441,0,5465,241,0,1532,387,0,2700,126,
+ 0,35,33,0,1,444,0,458,2312,0,
+ 457,2813,0,47,37,0,5465,1,0,39,
+ 1,0,1348,91,0,32,34,0,39,737,
+ 0,1,724,0,1,5699,0,1,5698,0,
+ 1,5697,0,1,5696,0,1,5695,0,1,
+ 5694,0,1,5693,0,1,5692,0,1,5691,
+ 0,1,5690,0,1,5689,0,43,5463,0,
+ 43,37,0,501,1885,0,5465,1,229,0,
+ 39,1,229,0,229,416,0,5442,37,0,
+ 5441,37,0,237,2894,0,388,32,0,387,
+ 29,0,2700,128,0,2700,127,0,331,445,
+ 0,5437,405,0,5436,405,0,1,4369,0,
+ 1,2957,0,1,737,0,229,415,0,1,
+ 92,0,5463,45,0,37,45,0,1,331,
+ 0,2,5442,37,0,2,5441,37,0,5442,
+ 36,0,5441,36,0,501,4212,0,1,229,
+ 0,229,220,0,331,95,0,35,73,0,
+ 229,219,0,278,3711,0,5439,1,0,5435,
+ 1,0,1,229,2668,0,5436,229,0,2807,
+ 229,0,5439,383,0,5438,383,0,2878,229,
+ 0,10,12,0,8,10,12,0,185,3513,
+ 0,2977,383,0,8,12,0
};
};
public final static char baseAction[] = BaseAction.baseAction;
@@ -1111,347 +1111,351 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par
30,31,32,33,34,35,36,37,38,39,
40,0,42,43,44,45,46,47,48,49,
50,51,52,53,54,0,56,57,58,59,
- 60,61,62,63,0,65,66,67,68,0,
- 1,2,72,4,0,75,76,77,78,79,
- 80,81,82,83,84,85,86,0,1,2,
- 3,4,5,6,7,8,9,10,11,12,
- 13,14,15,16,17,18,19,20,21,22,
- 23,24,25,26,27,28,29,30,31,32,
- 33,34,35,36,37,38,39,40,64,42,
- 43,44,45,46,47,48,49,50,51,52,
- 53,54,101,56,57,58,59,60,61,62,
- 63,0,65,66,67,68,0,1,2,72,
- 4,0,75,76,77,78,79,80,81,82,
- 83,84,85,86,0,1,2,3,4,5,
+ 60,61,62,0,64,65,66,67,0,1,
+ 2,71,4,10,74,75,76,77,78,79,
+ 80,81,82,83,84,85,0,1,2,3,
+ 4,5,6,7,8,9,10,11,12,13,
+ 14,15,16,17,18,19,20,21,22,23,
+ 24,25,26,27,28,29,30,31,32,33,
+ 34,35,36,37,38,39,40,72,42,43,
+ 44,45,46,47,48,49,50,51,52,53,
+ 54,0,56,57,58,59,60,61,62,0,
+ 64,65,66,67,0,1,2,71,4,118,
+ 74,75,76,77,78,79,80,81,82,83,
+ 84,85,0,1,2,3,4,5,6,7,
+ 8,9,10,11,12,13,14,15,16,17,
+ 18,19,20,21,22,23,24,25,26,27,
+ 28,29,30,31,32,33,34,35,36,37,
+ 38,39,40,0,42,43,44,45,46,47,
+ 48,49,50,51,52,53,54,0,56,57,
+ 58,59,60,61,62,0,64,65,66,67,
+ 99,6,0,71,0,3,74,75,76,77,
+ 78,79,80,81,82,83,84,85,0,1,
+ 2,3,4,5,6,7,8,9,10,11,
+ 12,13,14,15,16,17,18,19,20,21,
+ 22,23,24,25,26,27,28,29,30,31,
+ 32,33,34,35,36,37,38,39,40,55,
+ 42,43,44,45,46,47,48,49,50,51,
+ 52,53,54,100,56,57,58,59,60,61,
+ 62,0,64,65,66,67,5,92,93,102,
+ 103,104,74,75,76,77,78,79,80,81,
+ 82,83,84,85,0,1,2,3,4,5,
6,7,8,9,10,11,12,13,14,15,
16,17,18,19,20,21,22,23,24,25,
26,27,28,29,30,31,32,33,34,35,
- 36,37,38,39,40,64,42,43,44,45,
+ 36,37,38,39,40,0,42,43,44,45,
46,47,48,49,50,51,52,53,54,0,
- 56,57,58,59,60,61,62,63,0,65,
- 66,67,68,0,6,0,72,0,3,75,
+ 56,57,58,59,60,61,62,0,64,65,
+ 66,67,0,6,0,1,2,0,74,75,
76,77,78,79,80,81,82,83,84,85,
- 86,0,1,2,3,4,5,6,7,8,
- 9,10,11,12,13,14,15,16,17,18,
- 19,20,21,22,23,24,25,26,27,28,
- 29,30,31,32,33,34,35,36,37,38,
- 39,40,55,42,43,44,45,46,47,48,
- 49,50,51,52,53,54,0,56,57,58,
- 59,60,61,62,63,0,65,66,67,68,
- 0,93,94,0,1,2,75,76,77,78,
- 79,80,81,82,83,84,85,86,0,1,
+ 0,1,2,3,4,5,6,7,8,9,
+ 10,11,12,13,14,15,16,17,18,19,
+ 20,21,22,23,24,25,26,27,28,29,
+ 30,31,32,33,34,35,36,37,38,39,
+ 40,0,42,43,44,45,46,47,48,49,
+ 50,51,52,53,54,68,56,57,58,59,
+ 60,61,62,0,64,65,66,67,99,92,
+ 93,0,1,2,74,75,76,77,78,79,
+ 80,81,82,83,84,85,0,1,2,3,
+ 4,5,6,7,8,9,10,11,12,13,
+ 14,15,16,17,18,19,20,21,22,23,
+ 24,25,26,27,28,29,30,31,32,33,
+ 34,35,36,37,38,39,40,0,42,43,
+ 44,45,46,47,48,49,50,51,52,53,
+ 54,100,56,57,58,59,60,61,62,0,
+ 64,65,66,67,0,6,0,1,2,0,
+ 74,75,76,77,78,79,80,81,82,83,
+ 84,85,0,1,2,3,4,5,6,7,
+ 8,9,10,11,12,13,14,15,16,17,
+ 18,19,20,21,22,23,24,25,26,27,
+ 28,29,30,31,32,33,34,35,36,37,
+ 38,39,40,0,42,43,44,45,46,47,
+ 48,49,50,51,52,53,54,68,56,57,
+ 58,59,60,61,62,0,64,65,66,67,
+ 0,92,93,89,0,91,74,75,76,77,
+ 78,79,80,81,82,83,84,85,0,1,
2,3,4,5,6,7,8,9,10,11,
12,13,14,15,16,17,18,19,20,21,
22,23,24,25,26,27,28,29,30,31,
- 32,33,34,35,36,37,38,39,40,64,
+ 32,33,34,35,36,37,38,39,40,0,
42,43,44,45,46,47,48,49,50,51,
- 52,53,54,73,56,57,58,59,60,61,
- 62,63,0,65,66,67,68,0,6,103,
- 104,105,5,75,76,77,78,79,80,81,
- 82,83,84,85,86,0,1,2,3,4,
+ 52,53,54,69,56,57,58,59,60,61,
+ 62,0,64,65,66,67,0,1,2,0,
+ 0,5,74,75,76,77,78,79,80,81,
+ 82,83,84,85,0,1,2,3,4,5,
+ 6,7,8,9,10,11,12,13,14,15,
+ 16,17,18,19,20,21,22,23,24,25,
+ 26,27,28,29,30,31,32,33,34,35,
+ 36,37,38,39,40,0,42,43,44,45,
+ 46,47,48,49,50,51,52,53,54,69,
+ 56,57,58,59,60,61,62,0,64,65,
+ 66,67,0,1,2,0,4,0,74,75,
+ 76,77,78,79,80,81,82,83,84,85,
+ 0,1,2,3,4,5,6,7,8,9,
+ 10,11,12,13,14,15,16,17,18,19,
+ 20,21,22,23,24,25,26,27,28,29,
+ 30,31,32,33,34,35,36,37,38,39,
+ 40,0,42,43,44,45,46,47,48,49,
+ 50,51,52,53,54,68,56,57,58,59,
+ 60,61,62,0,64,65,66,67,0,1,
+ 2,0,87,88,74,75,76,77,78,79,
+ 80,81,82,83,84,85,0,1,2,3,
+ 4,5,6,7,8,9,10,11,12,13,
+ 14,15,16,17,18,19,20,21,22,23,
+ 24,25,26,27,28,29,30,31,32,33,
+ 34,35,36,37,38,39,40,0,42,43,
+ 44,45,46,47,48,49,50,51,52,53,
+ 54,0,56,57,58,59,60,61,62,0,
+ 64,65,66,67,0,1,2,8,87,88,
+ 74,75,76,77,78,79,80,81,82,83,
+ 84,85,0,1,2,3,4,5,6,7,
+ 8,9,10,11,12,13,14,15,16,17,
+ 18,19,20,21,22,23,24,25,26,27,
+ 28,29,30,31,32,33,34,35,36,37,
+ 38,39,40,72,42,43,44,45,46,47,
+ 48,49,50,51,52,53,54,0,56,57,
+ 58,59,60,61,62,0,64,65,66,67,
+ 0,0,0,1,2,4,74,75,76,77,
+ 78,79,80,81,82,83,84,85,0,1,
+ 2,3,4,5,6,7,117,9,10,11,
+ 12,13,14,15,16,17,18,19,20,21,
+ 22,23,24,41,26,27,28,29,30,31,
+ 32,33,34,35,36,37,38,39,40,0,
+ 42,43,44,45,46,47,48,49,50,51,
+ 52,53,54,0,56,57,58,0,0,61,
+ 0,1,2,3,4,5,6,7,8,9,
+ 10,11,12,13,14,15,16,17,18,19,
+ 20,21,22,23,24,25,26,27,28,29,
+ 30,31,32,33,34,0,1,2,40,39,
+ 120,41,0,1,2,3,4,5,69,7,
+ 8,0,0,1,2,0,56,57,58,59,
+ 60,68,62,70,9,0,69,25,0,0,
+ 0,71,72,22,23,24,8,26,27,28,
+ 29,30,31,32,33,34,86,22,23,24,
+ 0,26,27,28,29,30,31,32,33,34,
+ 65,66,102,103,104,0,1,2,3,4,
5,6,7,8,9,10,11,12,13,14,
15,16,17,18,19,20,21,22,23,24,
25,26,27,28,29,30,31,32,33,34,
- 35,36,37,38,39,40,0,42,43,44,
- 45,46,47,48,49,50,51,52,53,54,
- 0,56,57,58,59,60,61,62,63,9,
- 65,66,67,68,0,93,94,0,1,2,
- 75,76,77,78,79,80,81,82,83,84,
- 85,86,0,1,2,3,4,5,6,7,
+ 0,73,0,3,39,0,41,0,8,4,
+ 3,6,0,6,9,8,9,0,90,69,
+ 0,56,57,58,59,60,0,62,98,0,
+ 1,2,25,4,0,6,71,72,9,0,
+ 23,24,35,36,37,38,0,1,2,3,
+ 4,86,6,41,0,9,0,55,0,0,
+ 4,41,55,63,0,1,2,102,103,104,
+ 63,0,0,73,72,68,69,70,71,72,
+ 73,22,23,24,0,26,27,28,29,30,
+ 31,32,33,34,87,88,89,90,91,92,
+ 93,94,95,96,97,98,99,100,101,63,
+ 39,55,105,106,107,108,109,110,111,112,
+ 113,114,115,116,117,0,119,69,3,65,
+ 66,6,98,8,9,96,97,0,0,0,
+ 1,2,3,4,5,6,7,10,9,0,
+ 25,0,1,2,0,4,5,3,7,101,
+ 35,36,37,38,106,107,108,109,110,111,
+ 112,113,114,115,116,121,39,0,41,0,
+ 55,0,0,1,2,3,4,5,63,7,
+ 9,0,41,68,69,70,71,72,73,22,
+ 23,24,63,26,27,28,29,30,31,32,
+ 33,34,87,88,89,90,91,92,93,94,
+ 95,96,97,98,99,100,101,89,0,91,
+ 105,106,107,108,109,110,111,112,113,114,
+ 115,116,117,0,119,0,1,2,3,4,
+ 5,6,7,8,9,10,11,12,13,14,
+ 15,16,17,18,19,20,21,22,23,24,
+ 25,26,27,28,29,30,31,32,33,34,
+ 101,0,1,2,39,106,41,0,1,2,
+ 3,4,5,6,7,0,9,0,1,2,
+ 0,56,57,58,59,60,0,62,8,64,
+ 0,68,6,70,0,9,71,0,1,2,
+ 3,4,5,6,7,25,9,0,1,2,
+ 0,86,0,1,2,3,4,5,6,7,
8,9,10,11,12,13,14,15,16,17,
18,19,20,21,22,23,24,25,26,27,
- 28,29,30,31,32,33,34,35,36,37,
- 38,39,40,0,42,43,44,45,46,47,
- 48,49,50,51,52,53,54,101,56,57,
- 58,59,60,61,62,63,0,65,66,67,
- 68,0,6,0,1,2,0,75,76,77,
- 78,79,80,81,82,83,84,85,86,0,
+ 28,29,30,31,32,33,34,0,41,55,
+ 70,39,0,41,0,1,2,3,4,5,
+ 63,7,87,88,74,0,69,55,56,57,
+ 58,59,60,8,62,0,64,0,0,1,
+ 2,3,4,5,0,7,8,3,0,1,
+ 2,3,4,5,6,7,0,9,86,0,
1,2,3,4,5,6,7,8,9,10,
11,12,13,14,15,16,17,18,19,20,
21,22,23,24,25,26,27,28,29,30,
- 31,32,33,34,35,36,37,38,39,40,
- 0,42,43,44,45,46,47,48,49,50,
- 51,52,53,54,0,56,57,58,59,60,
- 61,62,63,9,65,66,67,68,0,93,
- 94,90,0,92,75,76,77,78,79,80,
- 81,82,83,84,85,86,0,1,2,3,
+ 31,32,33,34,0,70,71,3,39,0,
+ 41,63,0,1,2,70,4,5,0,7,
+ 0,73,4,69,0,56,57,58,59,60,
+ 72,62,8,64,0,0,1,2,0,4,
+ 71,6,8,8,9,0,1,2,3,4,
+ 5,0,7,41,0,86,0,1,2,3,
4,5,6,7,8,9,10,11,12,13,
14,15,16,17,18,19,20,21,22,23,
24,25,26,27,28,29,30,31,32,33,
- 34,35,36,37,38,39,40,55,42,43,
- 44,45,46,47,48,49,50,51,52,53,
- 54,73,56,57,58,59,60,61,62,63,
- 0,65,66,67,68,0,1,2,0,0,
- 5,75,76,77,78,79,80,81,82,83,
- 84,85,86,0,1,2,3,4,5,6,
+ 34,67,0,55,0,39,0,41,0,1,
+ 2,3,4,5,70,7,8,73,73,89,
+ 0,91,56,57,58,59,60,72,62,68,
+ 64,0,68,25,0,90,0,71,0,1,
+ 2,3,4,5,8,7,0,0,1,2,
+ 0,4,86,0,1,2,3,4,5,6,
7,8,9,10,11,12,13,14,15,16,
17,18,19,20,21,22,23,24,25,26,
- 27,28,29,30,31,32,33,34,35,36,
- 37,38,39,40,55,42,43,44,45,46,
- 47,48,49,50,51,52,53,54,70,56,
- 57,58,59,60,61,62,63,0,65,66,
- 67,68,0,1,2,0,4,0,75,76,
- 77,78,79,80,81,82,83,84,85,86,
+ 27,28,29,30,31,32,33,34,41,55,
+ 0,89,39,91,41,0,1,2,3,4,
+ 5,63,7,67,0,0,75,87,88,56,
+ 57,58,59,60,0,62,70,64,0,1,
+ 2,0,4,5,71,7,0,1,2,8,
+ 4,5,0,7,0,1,2,87,88,86,
0,1,2,3,4,5,6,7,8,9,
10,11,12,13,14,15,16,17,18,19,
20,21,22,23,24,25,26,27,28,29,
- 30,31,32,33,34,35,36,37,38,39,
- 40,64,42,43,44,45,46,47,48,49,
- 50,51,52,53,54,0,56,57,58,59,
- 60,61,62,63,0,65,66,67,68,0,
- 1,2,0,88,89,75,76,77,78,79,
- 80,81,82,83,84,85,86,0,1,2,
+ 30,31,32,33,34,41,0,1,2,39,
+ 4,41,6,0,70,9,0,1,2,0,
+ 4,0,6,4,73,9,56,57,58,59,
+ 60,0,62,0,64,4,0,1,2,0,
+ 4,8,6,0,0,9,3,0,1,2,
+ 0,0,5,22,7,0,86,0,1,2,
3,4,5,6,7,8,9,10,11,12,
13,14,15,16,17,18,19,20,21,22,
23,24,25,26,27,28,29,30,31,32,
- 33,34,35,36,37,38,39,40,73,42,
- 43,44,45,46,47,48,49,50,51,52,
- 53,54,0,56,57,58,59,60,61,62,
- 63,0,65,66,67,68,0,1,2,8,
- 88,89,75,76,77,78,79,80,81,82,
- 83,84,85,86,0,1,2,3,4,5,
- 6,7,8,9,10,11,12,13,14,15,
- 16,17,18,19,20,21,22,23,24,25,
- 26,27,28,29,30,31,32,33,34,35,
- 36,37,38,39,40,73,42,43,44,45,
- 46,47,48,49,50,51,52,53,54,0,
- 56,57,58,59,60,61,62,63,0,65,
- 66,67,68,0,0,0,1,2,4,75,
- 76,77,78,79,80,81,82,83,84,85,
- 86,0,1,2,3,4,5,6,7,118,
- 9,10,11,12,13,14,15,16,17,18,
- 19,20,21,22,23,24,41,26,27,28,
- 29,30,31,32,33,34,35,36,37,38,
- 39,40,0,42,43,44,45,46,47,48,
- 49,50,51,52,53,54,0,56,57,58,
- 59,0,0,62,0,1,2,3,4,5,
+ 33,34,41,0,55,0,39,4,41,55,
+ 0,1,2,8,71,5,63,7,0,96,
+ 97,90,68,56,57,58,59,60,63,62,
+ 25,64,72,0,0,0,3,3,0,1,
+ 2,0,8,102,103,104,8,0,94,95,
+ 0,1,2,86,0,1,2,3,4,5,
6,7,8,9,10,11,12,13,14,15,
16,17,18,19,20,21,22,23,24,25,
26,27,28,29,30,31,32,33,34,0,
- 0,1,2,39,4,41,0,1,2,3,
- 4,5,70,7,8,0,0,0,0,0,
- 0,57,58,59,60,61,6,63,0,9,
- 0,25,70,0,35,36,72,73,22,23,
- 24,41,26,27,28,29,30,31,32,33,
- 34,87,22,23,24,99,26,27,28,29,
- 30,31,32,33,34,0,0,103,104,105,
- 0,1,2,3,4,5,6,7,8,9,
- 10,11,12,13,14,15,16,17,18,19,
- 20,21,22,23,24,25,26,27,28,29,
- 30,31,32,33,34,0,88,89,3,39,
- 0,41,0,8,4,3,6,102,6,9,
- 8,9,107,0,1,2,0,57,58,59,
- 60,61,99,63,0,1,2,25,4,5,
- 0,7,72,73,4,0,0,35,36,37,
- 38,0,0,1,2,3,4,87,6,0,
- 0,9,22,0,41,0,0,55,0,64,
- 0,1,2,103,104,105,64,0,8,74,
- 0,69,70,71,72,73,74,22,23,24,
- 39,26,27,28,29,30,31,32,33,34,
- 88,89,90,91,92,93,94,95,96,97,
- 98,99,100,101,102,69,64,71,106,107,
- 108,109,110,111,112,113,114,115,116,117,
- 118,0,120,70,3,55,70,6,68,8,
- 9,0,1,2,76,0,1,2,3,4,
- 5,6,7,73,9,0,25,0,1,2,
- 0,4,5,3,7,102,35,36,37,38,
- 107,108,109,110,111,112,113,114,115,116,
- 117,0,41,0,0,4,55,0,1,2,
- 3,4,5,6,7,64,9,0,41,0,
- 69,70,71,72,73,74,22,23,24,64,
- 26,27,28,29,30,31,32,33,34,88,
- 89,90,91,92,93,94,95,96,97,98,
- 99,100,101,102,0,0,55,106,107,108,
- 109,110,111,112,113,114,115,116,117,118,
- 0,120,0,1,2,3,4,5,6,7,
- 8,9,10,11,12,13,14,15,16,17,
- 18,19,20,21,22,23,24,25,26,27,
- 28,29,30,31,32,33,34,90,0,92,
- 55,39,4,41,0,1,2,3,4,5,
- 0,7,8,0,0,0,1,2,8,57,
- 58,59,60,61,0,63,0,65,0,25,
- 121,71,88,89,72,25,0,1,2,3,
- 4,5,6,7,0,9,0,23,24,87,
- 0,1,2,3,4,5,6,7,8,9,
- 10,11,12,13,14,15,16,17,18,19,
- 20,21,22,23,24,25,26,27,28,29,
- 30,31,32,33,34,0,1,2,75,39,
- 5,41,7,0,0,1,2,0,4,5,
- 64,7,88,89,0,55,70,57,58,59,
- 60,61,8,63,70,65,0,1,2,3,
- 4,5,0,7,8,97,98,0,1,2,
- 3,4,5,6,7,41,9,87,0,1,
- 2,3,4,5,6,7,8,9,10,11,
- 12,13,14,15,16,17,18,19,20,21,
- 22,23,24,25,26,27,28,29,30,31,
- 32,33,34,0,0,71,3,39,74,41,
- 64,0,1,2,3,4,5,90,7,92,
- 74,69,0,71,0,57,58,59,60,61,
- 73,63,8,65,0,0,1,2,0,4,
- 72,6,8,8,9,0,1,2,3,4,
- 5,0,7,0,0,87,0,1,2,3,
- 4,5,6,7,8,9,10,11,12,13,
- 14,15,16,17,18,19,20,21,22,23,
- 24,25,26,27,28,29,30,31,32,33,
- 34,69,68,55,41,39,0,41,0,1,
- 2,3,4,5,0,7,10,0,74,74,
- 0,1,2,57,58,59,60,61,73,63,
- 0,65,0,1,2,91,91,0,72,0,
- 1,2,3,4,5,39,7,41,0,35,
- 36,3,91,87,0,1,2,3,4,5,
- 6,7,8,9,10,11,12,13,14,15,
- 16,17,18,19,20,21,22,23,24,25,
- 26,27,28,29,30,31,32,33,34,0,
- 1,2,55,39,5,41,7,0,1,2,
- 3,4,5,64,7,0,0,90,0,92,
- 4,57,58,59,60,61,0,63,70,65,
- 4,0,1,2,0,4,72,6,22,0,
- 9,0,1,2,0,4,5,3,7,10,
- 0,87,0,1,2,3,4,5,6,7,
- 8,9,10,11,12,13,14,15,16,17,
- 18,19,20,21,22,23,24,25,26,27,
- 28,29,30,31,32,33,34,0,0,1,
- 2,39,4,41,6,0,0,9,0,1,
- 2,0,4,69,6,55,0,9,64,57,
- 58,59,60,61,8,63,0,65,100,103,
- 104,105,0,1,2,0,4,0,6,0,
- 0,9,3,0,0,1,2,4,8,87,
- 0,1,2,3,4,5,6,7,8,9,
+ 55,41,0,39,0,41,63,63,0,0,
+ 8,0,68,68,70,67,8,73,90,10,
+ 56,57,58,59,60,68,62,0,64,0,
+ 1,2,0,1,2,6,0,5,0,94,
+ 95,3,0,1,2,3,4,5,6,7,
+ 86,9,10,11,12,13,14,15,16,17,
+ 18,19,20,21,120,0,1,2,59,0,
+ 41,35,36,41,63,73,0,35,36,37,
+ 38,73,40,0,42,43,44,45,46,47,
+ 48,49,50,51,52,53,54,0,1,2,
+ 0,1,2,61,35,36,41,65,66,0,
+ 68,0,1,2,3,4,5,6,7,8,
+ 9,10,11,12,13,14,15,16,17,18,
+ 19,20,21,0,0,0,0,0,41,63,
+ 4,41,0,8,10,8,35,36,37,38,
+ 8,40,0,42,43,44,45,46,47,48,
+ 49,50,51,52,53,54,0,25,35,36,
+ 0,0,61,39,8,41,0,0,67,8,
+ 0,72,71,0,1,2,3,4,5,6,
+ 7,25,9,10,11,12,13,14,15,16,
+ 17,18,19,20,21,0,71,55,0,0,
+ 73,3,0,8,0,6,0,0,35,36,
+ 37,38,8,40,0,42,43,44,45,46,
+ 47,48,49,50,51,52,53,54,68,25,
+ 63,0,71,0,61,69,3,0,65,66,
+ 0,1,2,3,4,5,6,7,0,9,
10,11,12,13,14,15,16,17,18,19,
- 20,21,22,23,24,25,26,27,28,29,
- 30,31,32,33,34,41,0,71,72,39,
- 55,41,55,0,1,2,91,0,55,6,
- 3,0,0,64,69,3,69,57,58,59,
- 60,61,0,63,74,65,119,0,0,0,
- 8,35,36,97,98,6,0,1,2,0,
- 95,96,95,96,41,0,0,87,0,1,
- 2,3,4,5,6,7,8,9,10,11,
- 12,13,14,15,16,17,18,19,20,21,
- 22,23,24,25,26,27,28,29,30,31,
- 32,33,34,0,1,2,41,39,0,41,
- 68,0,0,1,2,3,4,5,6,7,
- 8,9,66,67,0,57,58,59,60,61,
- 71,63,0,65,22,23,24,25,26,27,
- 28,29,30,31,32,33,34,0,1,2,
- 3,4,5,6,7,87,9,10,11,12,
- 13,14,15,16,17,18,19,20,21,66,
- 67,0,1,2,0,0,64,69,0,55,
- 69,0,35,36,37,38,74,40,122,42,
- 43,44,45,46,47,48,49,50,51,52,
- 53,54,70,56,0,0,1,2,0,62,
- 5,0,41,66,67,4,69,0,1,2,
+ 20,21,55,0,0,0,3,3,73,55,
+ 0,0,70,3,0,35,36,37,38,0,
+ 40,0,42,43,44,45,46,47,48,49,
+ 50,51,52,53,54,0,0,0,3,68,
+ 3,61,0,55,0,65,66,0,1,2,
3,4,5,6,7,8,9,10,11,12,
- 13,14,15,16,17,18,19,20,21,0,
- 1,2,0,1,2,71,41,69,0,0,
- 0,0,35,36,37,38,8,40,8,42,
+ 13,14,15,16,17,18,19,20,21,55,
+ 0,0,0,3,55,3,55,72,0,0,
+ 69,0,35,36,37,38,0,40,0,42,
43,44,45,46,47,48,49,50,51,52,
- 53,54,0,56,0,25,0,69,0,62,
- 41,100,0,41,10,68,8,0,0,72,
- 0,1,2,3,4,5,6,7,0,9,
- 10,11,12,13,14,15,16,17,18,19,
- 20,21,0,39,0,41,0,41,69,0,
- 8,71,74,0,8,35,36,37,38,0,
- 40,8,42,43,44,45,46,47,48,49,
- 50,51,52,53,54,0,56,0,25,0,
- 72,0,62,8,3,8,66,67,0,1,
- 2,3,4,5,6,7,0,9,10,11,
- 12,13,14,15,16,17,18,19,20,21,
- 0,0,0,0,72,3,3,0,8,0,
- 74,0,73,35,36,37,38,0,40,10,
- 42,43,44,45,46,47,48,49,50,51,
- 52,53,54,0,56,0,3,0,69,74,
- 62,74,0,0,66,67,0,1,2,3,
- 4,5,6,7,8,9,10,11,12,13,
- 14,15,16,17,18,19,20,21,0,60,
- 0,3,72,3,0,64,0,3,71,0,
- 4,35,36,37,38,0,40,8,42,43,
- 44,45,46,47,48,49,50,51,52,53,
- 54,64,56,0,25,70,3,0,62,0,
- 0,4,0,71,68,0,1,2,3,4,
+ 53,54,0,0,0,63,4,63,61,0,
+ 0,40,3,3,67,0,1,2,3,4,
5,6,7,8,9,10,11,12,13,14,
+ 15,16,17,18,19,20,21,0,0,61,
+ 3,55,0,0,0,3,3,0,0,70,
+ 35,36,37,38,118,40,0,42,43,44,
+ 45,46,47,48,49,50,51,52,53,54,
+ 0,90,69,0,70,0,61,0,3,0,
+ 37,38,67,0,1,2,3,4,5,6,
+ 7,8,9,10,11,12,13,14,15,16,
+ 17,18,19,20,21,0,63,0,70,4,
+ 0,55,0,0,4,0,72,69,35,36,
+ 37,38,10,40,0,42,43,44,45,46,
+ 47,48,49,50,51,52,53,54,0,69,
+ 0,3,0,5,6,72,4,9,105,0,
+ 0,39,3,41,0,0,0,3,3,3,
+ 55,0,119,0,22,55,3,0,55,0,
+ 55,0,60,35,36,37,38,0,0,72,
+ 42,0,0,68,0,0,0,0,0,0,
+ 40,0,0,55,0,118,0,0,0,0,
+ 117,63,0,65,66,0,68,69,70,94,
+ 95,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,87,88,89,0,0,
+ 92,93,94,95,96,97,98,99,100,101,
+ 0,0,0,105,0,107,108,109,110,111,
+ 112,113,114,115,116,0,1,2,3,4,
+ 5,6,7,0,9,10,11,12,13,14,
15,16,17,18,19,20,21,0,0,0,
- 55,3,3,0,0,0,3,3,0,40,
- 35,36,37,38,69,40,8,42,43,44,
+ 0,0,0,0,0,0,0,0,0,0,
+ 35,36,37,38,0,40,0,42,43,44,
45,46,47,48,49,50,51,52,53,54,
- 0,56,62,25,4,0,0,62,0,3,
- 95,96,70,68,0,1,2,3,4,5,
- 6,7,8,9,10,11,12,13,14,15,
- 16,17,18,19,20,21,0,0,71,0,
- 3,0,0,0,3,0,0,0,0,35,
- 36,37,38,0,40,55,42,43,44,45,
+ 0,0,0,0,0,0,61,0,1,2,
+ 3,4,5,6,7,0,9,10,11,12,
+ 13,14,15,16,17,18,19,20,21,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,35,36,37,38,0,40,0,42,
+ 43,44,45,46,47,48,49,50,51,52,
+ 53,54,0,1,2,3,4,5,6,7,
+ 63,9,10,11,12,13,14,15,16,17,
+ 18,19,20,21,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,35,36,37,
+ 38,0,40,0,42,43,44,45,46,47,
+ 48,49,50,51,52,53,54,0,0,0,
+ 0,0,0,61,0,1,2,3,4,5,
+ 6,7,0,9,10,11,12,13,14,15,
+ 16,17,18,19,20,21,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,35,
+ 36,37,38,0,40,0,42,43,44,45,
46,47,48,49,50,51,52,53,54,0,
- 56,0,1,2,3,4,5,6,7,71,
- 9,10,11,12,13,14,15,16,17,18,
- 19,20,21,0,55,0,3,55,5,6,
- 55,55,9,55,0,10,35,36,37,38,
- 0,40,0,42,43,44,45,46,47,48,
- 49,50,51,52,53,54,73,56,35,36,
- 37,38,118,62,39,42,41,0,0,0,
- 3,3,73,0,40,0,0,0,55,0,
- 3,0,0,0,0,119,61,64,0,66,
- 67,0,69,70,71,55,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,40,
- 0,88,89,90,0,73,93,94,95,96,
- 97,98,99,100,101,102,0,0,0,106,
- 55,108,109,110,111,112,113,114,115,116,
- 117,0,1,2,3,4,5,6,7,70,
- 9,10,11,12,13,14,15,16,17,18,
- 19,20,21,0,91,0,70,0,0,0,
- 0,0,0,0,0,0,35,36,37,38,
- 0,40,0,42,43,44,45,46,47,48,
- 49,50,51,52,53,54,0,56,0,0,
- 119,0,0,0,0,64,0,1,2,3,
- 4,5,6,7,0,9,10,11,12,13,
- 14,15,16,17,18,19,20,21,0,0,
- 0,3,0,0,0,0,8,0,0,0,
- 0,35,36,37,38,0,40,0,42,43,
- 44,45,46,47,48,49,50,51,52,53,
- 54,0,56,0,0,0,0,0,62,0,
1,2,3,4,5,6,7,0,9,10,
11,12,13,14,15,16,17,18,19,20,
- 21,0,64,0,0,0,0,69,0,71,
- 0,0,74,0,35,36,37,38,0,40,
+ 21,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,35,36,37,38,0,40,
0,42,43,44,45,46,47,48,49,50,
- 51,52,53,54,0,56,0,1,2,3,
- 4,5,6,7,0,9,10,11,12,13,
- 14,15,16,17,18,19,20,21,0,121,
+ 51,52,53,54,0,1,2,3,4,5,
+ 6,7,0,9,10,11,12,13,14,15,
+ 16,17,18,19,20,21,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,35,
+ 36,37,38,0,40,0,42,43,44,45,
+ 46,47,48,49,50,51,52,53,54,0,
+ 1,2,0,4,0,0,0,0,0,10,
+ 11,12,13,14,15,16,17,18,19,20,
+ 21,22,23,24,0,26,27,28,29,30,
+ 31,32,33,34,0,0,0,0,39,0,
+ 0,0,0,0,0,0,0,0,0,1,
+ 2,0,4,0,0,56,57,58,10,11,
+ 12,13,14,15,16,17,18,19,20,21,
+ 22,23,24,0,26,27,28,29,30,31,
+ 32,33,34,0,0,0,0,39,0,1,
+ 2,3,4,5,6,7,8,9,0,0,
+ 0,0,0,0,56,57,58,0,0,0,
+ 22,23,24,25,26,27,28,29,30,31,
+ 32,33,34,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,55,0,0,0,0,0,0,
+ 0,63,0,0,0,0,0,0,0,0,
+ 0,73,0,1,2,3,4,5,6,7,
+ 8,9,0,0,0,0,0,0,0,0,
+ 0,0,0,0,22,23,24,25,26,27,
+ 28,29,30,31,32,33,34,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,11,12,13,14,15,16,17,18,19,
+ 20,21,22,23,24,63,26,27,28,29,
+ 30,31,32,33,34,73,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,35,36,37,38,0,40,0,42,43,
- 44,45,46,47,48,49,50,51,52,53,
- 54,0,56,0,1,2,3,4,5,6,
- 7,0,9,10,11,12,13,14,15,16,
- 17,18,19,20,21,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,35,36,
- 37,38,0,40,0,42,43,44,45,46,
- 47,48,49,50,51,52,53,54,0,56,
- 0,1,2,0,4,0,0,0,0,0,
- 10,11,12,13,14,15,16,17,18,19,
- 20,21,22,23,24,0,26,27,28,29,
- 30,31,32,33,34,0,0,0,0,39,
0,0,0,0,0,0,0,0,0,0,
- 0,1,2,0,4,0,0,57,58,59,
- 10,11,12,13,14,15,16,17,18,19,
- 20,21,22,23,24,0,26,27,28,29,
- 30,31,32,33,34,0,0,0,0,39,
- 0,1,2,3,4,5,6,7,8,9,
- 0,0,0,0,3,0,0,57,58,59,
- 0,0,22,23,24,25,26,27,28,29,
- 30,31,32,33,34,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,37,38,
- 0,0,0,0,0,55,0,0,0,0,
- 0,0,0,0,64,0,0,0,0,0,
- 0,0,0,0,74,64,11,12,13,14,
- 15,16,17,18,19,20,21,22,23,24,
- 0,26,27,28,29,30,31,32,33,34,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,106,0,0,
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,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,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;
@@ -1459,348 +1463,348 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par
public interface TermAction {
public final static char termAction[] = {0,
- 5428,5393,5369,5369,5369,5369,5369,5369,5409,5369,
+ 5427,5392,5368,5368,5368,5368,5368,5368,5408,5368,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,5397,1,1,1,1,
+ 1,1,1,1,1,5396,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,138,1,1,1,1,1,1,1,1,
+ 1,5427,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,5427,1,1,1,1540,
+ 5602,1,1080,301,2272,1,1,5438,286,5122,
+ 5122,5434,283,5727,1044,2856,3751,2194,3452,2666,
+ 3127,2835,1140,2820,2804,2817,10,5411,5411,5411,
+ 5411,5411,5411,5411,5411,5411,5411,5411,5411,5411,
+ 5411,5411,5411,5411,5411,5411,5411,5411,5411,5411,
+ 5411,5411,5411,5411,5411,5411,5411,5411,5411,5411,
+ 5411,5411,5411,5411,5411,5411,5411,1932,5411,5411,
+ 5411,5411,5411,5411,5411,5411,5411,5411,5411,5411,
+ 5411,135,5411,5411,5411,5411,5411,5411,5411,1,
+ 5411,5411,5411,5411,5427,5083,5080,5411,5465,2877,
+ 5411,5411,5411,5411,5411,5411,5411,5411,5411,5411,
+ 5411,5411,8,5414,5414,5414,5414,5414,5414,5414,
+ 5414,5414,5414,5414,5414,5414,5414,5414,5414,5414,
+ 5414,5414,5414,5414,5414,5414,5414,5414,5414,5414,
+ 5414,5414,5414,5414,5414,5414,5414,5414,5414,5414,
+ 5414,5414,5414,137,5414,5414,5414,5414,5414,5414,
+ 5414,5414,5414,5414,5414,5414,5414,439,5414,5414,
+ 5414,5414,5414,5414,5414,115,5414,5414,5414,5414,
+ 2316,3674,5427,5414,5427,4803,5414,5414,5414,5414,
+ 5414,5414,5414,5414,5414,5414,5414,5414,5427,5392,
+ 5368,5368,5368,5368,5368,5368,5399,5368,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1541,5604,1,1081,349,2273,1,1,5439,287,
- 5123,5123,5435,284,332,1045,2857,3752,2195,3453,
- 2667,3128,2836,1141,2821,2805,2818,10,5412,5412,
- 5412,5412,5412,5412,5412,5412,5412,5412,5412,5412,
- 5412,5412,5412,5412,5412,5412,5412,5412,5412,5412,
- 5412,5412,5412,5412,5412,5412,5412,5412,5412,5412,
- 5412,5412,5412,5412,5412,5412,5412,5412,1319,5412,
- 5412,5412,5412,5412,5412,5412,5412,5412,5412,5412,
- 5412,5412,2283,5412,5412,5412,5412,5412,5412,5412,
- 5412,321,5412,5412,5412,5412,5428,5084,5081,5412,
- 5467,396,5412,5412,5412,5412,5412,5412,5412,5412,
- 5412,5412,5412,5412,8,5415,5415,5415,5415,5415,
- 5415,5415,5415,5415,5415,5415,5415,5415,5415,5415,
- 5415,5415,5415,5415,5415,5415,5415,5415,5415,5415,
- 5415,5415,5415,5415,5415,5415,5415,5415,5415,5415,
- 5415,5415,5415,5415,5415,1319,5415,5415,5415,5415,
- 5415,5415,5415,5415,5415,5415,5415,5415,5415,385,
- 5415,5415,5415,5415,5415,5415,5415,5415,116,5415,
- 5415,5415,5415,5428,3675,5428,5415,5428,4804,5415,
- 5415,5415,5415,5415,5415,5415,5415,5415,5415,5415,
- 5415,5428,5393,5369,5369,5369,5369,5369,5369,5400,
- 5369,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,5397,1,1,1,
+ 1,1,1,5396,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,776,
1,1,1,1,1,1,1,1,1,1,
- 1,1,777,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,440,1,1,1,
- 1,1541,5604,1,1081,459,2273,1,1,5439,
- 5428,3651,632,398,5442,5443,1045,2857,3752,2195,
- 3453,2667,3128,2836,1141,2821,2805,2818,5428,5393,
- 5369,5369,5369,5369,5369,5369,5400,5369,1,1,
+ 1,1,1,2282,1,1,1,1540,5602,1,
+ 1080,5427,2272,1,1,5438,3468,3650,631,5862,
+ 5863,5864,1044,2856,3751,2194,3452,2666,3127,2835,
+ 1140,2820,2804,2817,5427,5392,5368,5368,5368,5368,
+ 5368,5368,5399,5368,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,5396,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,5397,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,5218,
+ 1,1,1,1,1,331,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,136,
+ 1,1,1,1540,5602,1,1080,117,2272,1,
+ 1,5438,395,3674,397,5441,5442,5427,1044,2856,
+ 3751,2194,3452,2666,3127,2835,1140,2820,2804,2817,
+ 5427,5392,5368,5368,5368,5368,5368,5368,5399,5368,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1933,1,1,1,1,1541,5604,
- 1,1081,118,2273,1,1,5439,5428,3675,5864,
- 5865,5866,3469,1045,2857,3752,2195,3453,2667,3128,
- 2836,1141,2821,2805,2818,5428,5393,5369,5369,5369,
- 5369,5369,5369,5400,5369,1,1,1,1,1,
+ 1,1,1,1,1,5396,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 5397,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,139,1,1,1,
+ 1,138,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1893,1,1,1,1540,
+ 5602,1,1080,384,2272,1,1,5438,2316,3650,
+ 631,5427,5441,5442,1044,2856,3751,2194,3452,2666,
+ 3127,2835,1140,2820,2804,2817,5427,5392,5368,5368,
+ 5368,5368,5368,5368,5399,5368,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 132,1,1,1,1,1541,5604,1,1081,596,
- 2273,1,1,5439,5428,3651,632,5428,5442,5443,
- 1045,2857,3752,2195,3453,2667,3128,2836,1141,2821,
- 2805,2818,5428,5393,5369,5369,5369,5369,5369,5369,
- 5400,5369,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,5397,1,1,
+ 1,5396,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,5427,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,5428,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,2283,1,1,
- 1,1,1541,5604,1,1081,117,2273,1,1,
- 5439,112,3675,5428,5102,5099,5428,1045,2857,3752,
- 2195,3453,2667,3128,2836,1141,2821,2805,2818,5428,
- 5393,5369,5369,5369,5369,5369,5369,5400,5369,1,
+ 1,2282,1,1,1,1540,5602,1,1080,116,
+ 2272,1,1,5438,111,3674,5427,5101,5098,5427,
+ 1044,2856,3751,2194,3452,2666,3127,2835,1140,2820,
+ 2804,2817,5427,5392,5368,5368,5368,5368,5368,5368,
+ 5399,5368,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,5396,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,5397,1,1,1,1,1,
+ 1,1,1,5427,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1911,1,1,
+ 1,1540,5602,1,1080,5427,2272,1,1,5438,
+ 5427,3650,631,4093,508,4115,1044,2856,3751,2194,
+ 3452,2666,3127,2835,1140,2820,2804,2817,5427,5392,
+ 5368,5368,5368,5368,5368,5368,5399,5368,1,1,
1,1,1,1,1,1,1,1,1,1,
- 5428,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,133,1,1,1,1,1541,
- 5604,1,1081,596,2273,1,1,5439,5428,3651,
- 632,4094,30,4116,1045,2857,3752,2195,3453,2667,
- 3128,2836,1141,2821,2805,2818,5428,5393,5369,5369,
- 5369,5369,5369,5369,5400,5369,1,1,1,1,
+ 1,1,1,5396,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,5427,
1,1,1,1,1,1,1,1,1,1,
- 1,5397,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,5090,1,1,
+ 1,1,1,2431,1,1,1,1540,5602,1,
+ 1080,5427,2272,1,1,5438,5427,5441,5442,5427,
+ 506,3468,1044,2856,3751,2194,3452,2666,3127,2835,
+ 1140,2820,2804,2817,5427,5392,5368,5368,5368,5368,
+ 5368,5368,5399,5368,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,5396,
1,1,1,1,1,1,1,1,1,1,
- 1,5830,1,1,1,1,1541,5604,1,1081,
- 5428,2273,1,1,5439,5428,5442,5443,509,441,
- 3469,1045,2857,3752,2195,3453,2667,3128,2836,1141,
- 2821,2805,2818,5428,5393,5369,5369,5369,5369,5369,
- 5369,5400,5369,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,5397,1,
+ 1,1,1,1,1,5427,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,3705,
+ 1,1,1,1540,5602,1,1080,5427,2272,1,
+ 1,5438,5427,5083,5080,121,5465,5427,1044,2856,
+ 3751,2194,3452,2666,3127,2835,1140,2820,2804,2817,
+ 5427,5392,5368,5368,5368,5368,5368,5368,5399,5368,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,5093,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,2432,1,
- 1,1,1,1541,5604,1,1081,458,2273,1,
- 1,5439,5428,5084,5081,122,5467,5428,1045,2857,
- 3752,2195,3453,2667,3128,2836,1141,2821,2805,2818,
- 5428,5393,5369,5369,5369,5369,5369,5369,5400,5369,
+ 1,1,1,1,1,5396,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,5397,1,1,1,1,
+ 1,5427,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1921,1,1,1,1540,
+ 5602,1,1080,5427,2272,1,1,5438,48,5101,
+ 5098,125,3079,3105,1044,2856,3751,2194,3452,2666,
+ 3127,2835,1140,2820,2804,2817,5427,5392,5368,5368,
+ 5368,5368,5368,5368,5399,5368,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,5221,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,429,1,1,1,1,
- 1541,5604,1,1081,5428,2273,1,1,5439,49,
- 5102,5099,126,3080,3106,1045,2857,3752,2195,3453,
- 2667,3128,2836,1141,2821,2805,2818,5428,5393,5369,
- 5369,5369,5369,5369,5369,5400,5369,1,1,1,
+ 1,5396,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,5427,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,5397,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,3243,1,
+ 1,5427,1,1,1,1540,5602,1,1080,5427,
+ 2272,1,1,5438,290,5441,5442,5431,3079,3105,
+ 1044,2856,3751,2194,3452,2666,3127,2835,1140,2820,
+ 2804,2817,5427,2668,1,1,1,1,1,1,
+ 2807,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,5436,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,449,1,1,1,1,1541,5604,1,
- 1081,5428,2273,1,1,5439,291,5442,5443,5432,
- 3080,3106,1045,2857,3752,2195,3453,2667,3128,2836,
- 1141,2821,2805,2818,5428,2669,1,1,1,1,
- 1,1,2808,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,5437,
+ 1,1,1,5828,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,5427,1,1,
+ 1,1540,5602,1,1080,5427,2272,1,1,5438,
+ 5427,39,37,5223,5223,5465,1044,2856,3751,2194,
+ 3452,2666,3127,2835,1140,2820,2804,2817,39,5083,
+ 5080,4774,1405,3899,3983,2957,5430,4005,921,5691,
+ 5689,5698,5697,5693,5694,5692,5695,5696,5699,5690,
+ 5687,5764,5765,5463,5681,5688,5684,5660,5686,5685,
+ 5682,5683,5661,3961,3930,4049,4027,5825,5446,370,
+ 3830,1043,1184,5448,1166,4181,1174,5449,5447,1009,
+ 5443,5444,5445,5427,2469,5826,5827,368,5427,1356,
+ 5427,5290,5290,229,5286,229,229,229,5294,229,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,785,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,5428,
- 1,1,1,1,1541,5604,1,1081,5428,2273,
- 1,1,5439,5428,40,38,5224,5224,5467,1045,
- 2857,3752,2195,3453,2667,3128,2836,1141,2821,2805,
- 2818,40,5084,5081,4775,1406,3900,3984,2958,5431,
- 4006,922,5693,5691,5700,5699,5695,5696,5694,5697,
- 5698,5701,5692,5689,5766,5767,5465,5683,5690,5686,
- 5662,5688,5687,5684,5685,5663,3962,3931,4050,4028,
- 5827,5448,507,3831,1044,1185,5450,1167,4182,1175,
- 5451,5449,1010,5444,5446,5447,134,5445,2470,5828,
- 5829,5428,371,1357,5428,5291,5291,230,5287,230,
- 230,230,5295,230,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,230,
- 1,1,1,1,1,1,1,1,1,119,
- 395,5120,5120,1,284,5284,1,5074,5070,5328,
- 5078,5334,3706,5331,5438,140,225,5428,125,5428,
- 5428,1,1,1,3033,5841,1791,668,5428,5758,
- 226,5437,1188,135,3626,2728,417,230,5689,5766,
- 5767,284,5683,5690,5686,5662,5688,5687,5684,5685,
- 5663,5929,5689,5766,5767,2349,5683,5690,5686,5662,
- 5688,5687,5684,5685,5663,5428,5428,5864,5865,5866,
- 5428,5291,5291,230,5287,230,230,230,5337,230,
+ 1,1,1,1,1,229,1,1,1,1,
+ 1,1,1,1,1,5427,5441,5442,2048,1,
+ 5062,5283,1,5073,5069,5327,5077,5333,1187,5330,
+ 5437,224,36,5362,5359,131,1,1,1,3032,
+ 5839,653,667,3148,595,225,1232,5436,1,5427,
+ 133,416,229,5687,5764,5765,363,5681,5688,5684,
+ 5660,5686,5685,5682,5683,5661,5927,5687,5764,5765,
+ 510,5681,5688,5684,5660,5686,5685,5682,5683,5661,
+ 4071,825,5862,5863,5864,5427,5290,5290,229,5286,
+ 229,229,229,5336,229,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,230,1,1,1,1,
- 1,1,1,1,1,1,3080,3106,2966,1,
- 40,5284,34,5114,5467,5212,332,2233,5212,332,
- 5212,5212,2861,44,5281,5281,5428,1,1,1,
- 3033,5841,2349,668,5428,5084,5081,5212,1406,738,
- 40,2958,416,230,5467,5428,5428,5212,5212,5212,
- 5212,5428,346,40,40,2966,5467,5929,332,5428,
- 5428,332,3133,140,5278,227,369,5212,5428,1319,
- 5428,5442,5443,5864,5865,5866,5212,5428,5440,5117,
- 30,5212,5212,5212,5212,5212,5212,5689,5766,5767,
- 932,5683,5690,5686,5662,5688,5687,5684,5685,5663,
- 5212,5212,5212,5212,5212,5212,5212,5212,5212,5212,
- 5212,5212,5212,5212,5212,654,1319,3149,5212,5212,
- 5212,5212,5212,5212,5212,5212,5212,5212,5212,5212,
- 5212,5428,5212,1847,5236,1533,1233,5236,5439,5236,
- 5236,5428,5301,5298,2949,346,5084,5081,2419,1406,
- 738,332,2958,425,332,5428,5236,5428,5084,5081,
- 5428,1406,5239,2895,2958,2233,5236,5236,5236,5236,
- 2861,1804,1761,1718,1675,1632,1589,1546,1503,1460,
- 1417,397,5465,5428,228,388,5236,310,5074,5070,
- 4370,5078,738,5349,2958,5236,5349,115,942,5428,
- 5236,5236,5236,5236,5236,5236,5689,5766,5767,1319,
- 5683,5690,5686,5662,5688,5687,5684,5685,5663,5236,
- 5236,5236,5236,5236,5236,5236,5236,5236,5236,5236,
- 5236,5236,5236,5236,124,455,1533,5236,5236,5236,
- 5236,5236,5236,5236,5236,5236,5236,5236,5236,5236,
- 363,5236,5428,5369,5369,230,5369,230,230,230,
- 5372,230,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,230,1,1,
- 8785,1,1,1,1,1,1,4094,5428,4116,
- 5096,1,734,5366,1,5074,5070,4370,5078,738,
- 406,2958,310,1,123,37,5363,5360,5322,1,
- 1,1,3352,5640,337,1081,5428,2273,130,310,
- 5063,3222,3080,3106,221,5325,368,5074,5070,2419,
- 5078,738,1,2958,511,1,5428,5766,5767,5929,
- 5428,5369,5369,230,5369,230,230,230,230,230,
+ 229,1,1,1,1,1,1,1,1,1,
+ 1,363,29,2965,1,39,5283,33,5113,5465,
+ 5211,331,47,5211,331,5211,5211,336,363,804,
+ 37,1,1,1,3032,5839,5427,667,2348,444,
+ 1,1,5211,1,134,5214,415,229,5214,129,
+ 5764,5765,5211,5211,5211,5211,345,39,39,2965,
+ 5465,5927,331,2443,185,331,396,1532,139,226,
+ 387,5463,5211,1318,5427,5101,5098,5862,5863,5864,
+ 5211,5427,5427,5116,424,5211,5211,5211,5211,5211,
+ 5211,5687,5764,5765,5427,5681,5688,5684,5660,5686,
+ 5685,5682,5683,5661,5211,5211,5211,5211,5211,5211,
+ 5211,5211,5211,5211,5211,5211,5211,5211,5211,1318,
+ 931,1532,5211,5211,5211,5211,5211,5211,5211,5211,
+ 5211,5211,5211,5211,5211,5427,5211,1846,5235,4071,
+ 825,5235,2348,5235,5235,2559,2531,1,114,345,
+ 5083,5080,2418,1405,737,331,2957,5063,331,5427,
+ 5235,5427,5083,5080,5427,1405,5238,2894,2957,2232,
+ 5235,5235,5235,5235,2860,1803,1760,1717,1674,1631,
+ 1588,1545,1502,1459,1416,5418,5066,227,567,139,
+ 5235,132,1,5073,5069,4369,5077,737,5235,2957,
+ 595,5427,941,5235,5235,5235,5235,5235,5235,5687,
+ 5764,5765,1318,5681,5688,5684,5660,5686,5685,5682,
+ 5683,5661,5235,5235,5235,5235,5235,5235,5235,5235,
+ 5235,5235,5235,5235,5235,5235,5235,4093,5427,4115,
+ 5235,5235,5235,5235,5235,5235,5235,5235,5235,5235,
+ 5235,5235,5235,5427,5235,5427,5368,5368,229,5368,
+ 229,229,229,5371,229,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,230,1,1,8785,1,
- 1,1,1,1,1,39,5111,5108,3721,1,
- 5105,5366,2958,5428,5428,5084,5081,114,1406,5239,
- 1319,2958,3080,3106,5428,1929,1145,1,1,1,
- 3352,5640,5434,1081,805,2273,1,5074,5070,2419,
- 5078,738,5428,2958,5114,2560,2532,5428,5074,5070,
- 4370,5078,738,5349,2958,2269,5349,5929,5428,5369,
- 5369,230,5369,230,230,230,5381,230,1,1,
+ 229,1,1,8694,1,1,1,1,1,1,
+ 2232,5427,8654,8649,1,2860,5365,309,5073,5069,
+ 4369,5077,737,5348,2957,124,5348,5427,8654,8649,
+ 5427,1,1,1,3351,5638,5427,1080,5437,2272,
+ 1,4315,1790,3148,29,5756,220,367,5073,5069,
+ 2418,5077,737,1,2957,5436,1,43,5280,5280,
+ 5427,5927,5427,5368,5368,229,5368,229,229,229,
+ 229,229,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,229,1,1,
+ 8694,1,1,1,1,1,1,5427,5277,5089,
+ 3793,1,5427,5365,331,5083,5080,4369,1405,737,
+ 1318,2957,3079,3105,3720,5427,1144,1928,1,1,
+ 1,3351,5638,5435,1080,362,2272,5427,1,5073,
+ 5069,2418,5077,737,311,2957,5113,2136,5427,5073,
+ 5069,4369,5077,737,5348,2957,5427,5348,5927,5427,
+ 5368,5368,229,5368,229,229,229,5380,229,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,230,1,1,8785,1,1,1,
- 1,1,1,92,5428,4931,5233,1,5433,5366,
- 1319,1,5074,5070,4370,5078,738,4094,2958,4116,
- 5117,4316,5428,3149,5428,1,1,1,3352,5640,
- 1051,1081,5440,2273,1,1,5230,5230,388,5227,
- 220,332,364,364,332,1,5074,5070,4370,5078,
- 738,359,2958,48,5428,5929,5428,5369,5369,230,
- 5369,230,230,230,5372,230,1,1,1,1,
+ 1,1,1,1,229,1,1,8694,1,1,
+ 1,1,1,1,91,1005,5434,5232,1,5427,
+ 5365,1318,5427,5083,5080,3221,1405,5238,5427,2957,
+ 113,5116,733,1096,5427,1,1,1,3351,5638,
+ 1050,1080,5439,2272,5427,1,5229,5229,440,5226,
+ 219,331,5433,363,331,1,5073,5069,4369,5077,
+ 737,5427,2957,2268,5427,5927,5427,5368,5368,229,
+ 5368,229,229,229,5371,229,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,230,1,1,8785,1,1,1,1,1,
- 1,1894,5439,5206,2444,1,1,5366,332,5084,
- 5081,4370,1406,738,121,2958,5064,113,364,364,
- 5428,8646,8069,1,1,1,3352,5640,1051,1081,
- 5428,2273,5428,8646,8069,364,364,5428,221,1,
- 5074,5070,2419,5078,738,5067,2958,568,312,3626,
- 2728,2137,5786,5929,5428,5369,5369,230,5369,230,
- 230,230,5372,230,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,230,
- 1,1,8785,1,1,1,1,1,1,5428,
- 5442,5443,4212,1,738,5366,2958,1,5074,5070,
- 5328,5078,5334,1319,5331,5428,40,4094,136,4116,
- 5467,1,1,1,3352,5640,396,1081,1097,2273,
- 389,445,1,1,5428,1,221,5215,1038,302,
- 5215,5428,5084,5081,348,1406,738,876,2958,5729,
- 5428,5929,5428,5369,5369,230,5369,230,230,230,
- 230,230,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,230,1,1,
- 8785,1,1,1,1,1,1,5428,446,40,
- 40,1,5467,5366,5319,1,5428,5319,93,1,
- 1,5428,1,1912,5340,4504,5428,5340,1319,1,
- 1,1,3352,5640,5436,1081,131,2273,2317,5864,
- 5865,5866,96,40,40,127,5467,129,5375,319,
- 5428,5375,5087,49,5428,8791,8791,5443,5434,5929,
- 5428,5369,5369,230,5369,230,230,230,230,230,
+ 1,229,1,1,8694,1,1,1,1,1,
+ 1,5438,112,5092,5427,1,5427,5365,1,5073,
+ 5069,4369,5077,737,4930,2957,309,5432,363,4093,
+ 123,4115,1,1,1,3351,5638,1050,1080,1927,
+ 2272,5427,5939,309,454,363,1,220,1,5073,
+ 5069,2418,5077,737,5386,2957,157,394,5119,5119,
+ 122,283,5927,5427,5368,5368,229,5368,229,229,
+ 229,5371,229,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,229,1,
+ 1,8694,1,1,1,1,1,1,283,5095,
+ 5427,4093,1,4115,5365,1,5073,5069,5327,5077,
+ 5333,1318,5330,5438,5427,5427,2948,3079,3105,1,
+ 1,1,3351,5638,515,1080,1889,2272,5427,5083,
+ 5080,5427,1405,737,220,2957,5427,5083,5080,5433,
+ 1405,737,5427,2957,5427,5300,5297,3079,3105,5927,
+ 5427,5368,5368,229,5368,229,229,229,229,229,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,230,1,1,8785,1,
- 1,1,1,1,1,5465,120,1006,5435,1,
- 2773,5366,2773,38,5224,5224,5788,238,5443,332,
- 5304,5428,1,1319,5209,4916,5313,1,1,1,
- 3352,5640,1,1081,5433,2273,2878,5428,5428,5428,
- 5387,3626,2728,2560,2532,2657,5428,5442,5443,158,
- 2674,2601,2674,2601,5465,38,186,5929,5428,5369,
- 5369,230,5369,230,230,230,230,230,1,1,
+ 1,1,1,1,1,229,1,1,8694,1,
+ 1,1,1,1,1,5463,445,39,39,1,
+ 5465,5365,5318,130,883,5318,92,1,1,395,
+ 1,358,5339,388,5432,5339,1,1,1,3351,
+ 5638,39,1080,5427,2272,5465,95,39,39,387,
+ 5465,5435,5374,347,126,5374,875,38,5110,5107,
+ 428,5427,5104,1037,2957,348,5927,5427,5368,5368,
+ 229,5368,229,229,229,229,229,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,230,1,1,8785,1,1,1,
- 1,1,1,5428,5102,5099,5465,1,5428,5366,
- 5439,5428,33,389,389,5307,389,389,5307,389,
- 5307,5307,4072,826,5428,1,1,1,3352,5640,
- 1890,1081,292,2273,389,389,389,5307,389,389,
- 389,389,389,389,389,389,389,1,5074,5070,
- 4775,5078,3900,3984,2958,5929,4006,5242,5269,5275,
- 5248,5251,5263,5260,5266,5257,5254,5245,5272,4072,
- 826,38,5224,5224,516,5428,5307,1922,5428,4888,
- 1928,137,3962,3931,4050,4028,5307,5448,5419,3831,
- 1044,1185,5450,1167,4182,1175,5451,5449,1010,5444,
- 5446,5447,2019,5445,5428,38,5224,5224,5428,1357,
- 5224,5428,3459,40,40,3253,517,40,5084,5081,
- 4775,1406,3900,3984,2958,5422,4006,725,5693,5691,
- 5700,5699,5695,5696,5694,5697,5698,5701,5692,46,
- 5346,5346,5428,5356,5352,884,3532,5941,1,5428,
- 5428,5428,3962,3931,4050,4028,162,5448,5438,3831,
- 1044,1185,5450,1167,4182,1175,5451,5449,1010,5444,
- 5446,5447,5428,5445,1,5437,5428,5870,5428,1357,
- 5343,2317,5428,5465,5064,5406,5436,5428,5428,5435,
- 142,5084,5081,4775,1406,3900,3984,2958,5428,4006,
- 725,5693,5691,5700,5699,5695,5696,5694,5697,5698,
- 5701,5692,1,5067,5428,568,1,1930,5884,5428,
- 5390,3794,162,5428,5434,3962,3931,4050,4028,5428,
- 5448,5438,3831,1044,1185,5450,1167,4182,1175,5451,
- 5449,1010,5444,5446,5447,1,5445,1,5437,5428,
- 5435,5428,1357,529,3733,164,40,40,1,5074,
- 5070,4775,5078,3900,3984,2958,5428,4006,5242,5269,
- 5275,5248,5251,5263,5260,5266,5257,5254,5245,5272,
- 8,5428,5428,5428,5435,4238,4311,290,5425,302,
- 5433,101,2057,3962,3931,4050,4028,5428,5448,5729,
- 3831,1044,1185,5450,1167,4182,1175,5451,5449,1010,
- 5444,5446,5447,5428,5445,421,4321,100,4203,529,
- 1357,164,427,5428,40,40,40,5084,5081,4775,
- 1406,3900,3984,2958,5403,4006,725,5693,5691,5700,
- 5699,5695,5696,5694,5697,5698,5701,5692,5428,2986,
- 5428,1490,5425,3712,5428,4654,5428,4438,793,1,
- 1028,3962,3931,4050,4028,128,5448,5438,3831,1044,
- 1185,5450,1167,4182,1175,5451,5449,1010,5444,5446,
- 5447,2145,5445,104,5437,2107,4605,5428,1357,5428,
- 533,1271,36,3709,5406,40,5084,5081,4775,1406,
- 3900,3984,2958,5403,4006,725,5693,5691,5700,5699,
- 5695,5696,5694,5697,5698,5701,5692,450,5428,279,
- 2773,2453,5384,5428,5428,5428,4863,4815,1,2049,
- 3962,3931,4050,4028,5316,5448,192,3831,1044,1185,
- 5450,1167,4182,1175,5451,5449,1010,5444,5446,5447,
- 49,5445,2452,192,5442,5428,5428,1357,309,4887,
- 2674,2601,3821,5406,40,5084,5081,4775,1406,3900,
- 3984,2958,5432,4006,725,5693,5691,5700,5699,5695,
- 5696,5694,5697,5698,5701,5692,376,5428,2484,5428,
- 4897,5428,5428,5428,3700,5428,396,5428,5428,3962,
- 3931,4050,4028,5428,5448,5442,3831,1044,1185,5450,
- 1167,4182,1175,5451,5449,1010,5444,5446,5447,5428,
- 5445,40,5084,5081,4775,1406,3900,3984,2958,2756,
- 4006,725,5693,5691,5700,5699,5695,5696,5694,5697,
- 5698,5701,5692,1,4902,5428,2315,1533,5898,5892,
- 1929,1533,5896,3713,5428,576,3962,3931,4050,4028,
- 74,5448,5428,3831,1044,1185,5450,1167,4182,1175,
- 5451,5449,1010,5444,5446,5447,3165,5445,5890,5891,
- 5921,5922,5431,1357,820,5899,568,5428,5428,1,
- 4907,4456,3219,1,4204,2,5428,5428,5901,5428,
- 4921,522,5428,5428,5428,2878,5965,2008,5428,1535,
- 1543,5428,5902,5900,5923,5378,5428,5428,5428,5428,
- 5428,5428,5428,5428,5428,5428,5428,5428,5428,2177,
- 5428,5912,5911,5924,5428,3256,5893,5894,5917,5918,
- 5915,5916,5895,5897,5919,5920,5428,5428,5428,5925,
- 38,5905,5906,5907,5903,5904,5913,5914,5909,5908,
- 5910,40,5084,5081,4775,1406,3900,3984,2958,3821,
- 4006,725,5693,5691,5700,5699,5695,5696,5694,5697,
- 5698,5701,5692,5428,4226,5428,1976,5428,5428,5428,
- 5428,5428,5428,5428,5428,5428,3962,3931,4050,4028,
- 5428,5448,5428,3831,1044,1185,5450,1167,4182,1175,
- 5451,5449,1010,5444,5446,5447,5428,5445,5428,5428,
- 2878,5428,5428,5428,5428,2960,40,5084,5081,4775,
- 1406,3900,3984,2958,5428,4006,725,5693,5691,5700,
- 5699,5695,5696,5694,5697,5698,5701,5692,1,5428,
- 5428,2966,5428,5428,5428,5428,342,5428,5428,5428,
- 5428,3962,3931,4050,4028,5428,5448,5428,3831,1044,
- 1185,5450,1167,4182,1175,5451,5449,1010,5444,5446,
- 5447,5428,5445,5428,5428,5428,5428,5428,1357,40,
- 5084,5081,4809,1406,3900,3984,2958,5428,4006,725,
- 5693,5691,5700,5699,5695,5696,5694,5697,5698,5701,
- 5692,5428,1319,5428,5428,5428,5428,342,5428,342,
- 5428,5428,342,5428,3962,3931,4050,4028,5428,5448,
- 5428,3831,1044,1185,5450,1167,4182,1175,5451,5449,
- 1010,5444,5446,5447,5428,5445,40,5084,5081,4775,
- 1406,3900,3984,2958,5428,4006,725,5693,5691,5700,
- 5699,5695,5696,5694,5697,5698,5701,5692,5428,342,
- 5428,5428,5428,5428,5428,5428,5428,5428,5428,5428,
- 5428,3962,3931,4050,4028,5428,5448,5428,3831,1044,
- 1185,5450,1167,4182,1175,5451,5449,1010,5444,5446,
- 5447,5428,5445,40,5084,5081,4775,1406,3900,3984,
- 2958,5428,4006,725,5693,5691,5700,5699,5695,5696,
- 5694,5697,5698,5701,5692,5428,5428,5428,5428,5428,
- 5428,5428,5428,5428,5428,5428,5428,5428,3962,3931,
- 4050,4028,5428,5448,5428,3831,1044,1185,5450,1167,
- 4182,1175,5451,5449,1010,5444,5446,5447,5428,5445,
- 5428,5084,5081,5428,5467,5428,5428,5428,5428,5428,
- 796,5693,5691,5700,5699,5695,5696,5694,5697,5698,
- 5701,5692,5689,5766,5767,5428,5683,5690,5686,5662,
- 5688,5687,5684,5685,5663,5428,5428,5428,5428,5827,
- 5428,5428,5428,5428,5428,5428,5428,5428,5428,5428,
- 242,5199,5195,5428,5203,5428,5428,2470,5828,5829,
- 796,5186,5192,5165,5168,5180,5177,5183,5174,5171,
- 5162,5189,5141,5135,5132,5428,5159,5138,5150,5129,
- 5144,5147,5156,5153,5126,5428,5428,5428,5428,5827,
- 30,388,388,5310,388,388,5310,388,5310,5310,
- 5428,76,5428,5428,3513,5428,5428,2470,5828,5829,
- 5428,5428,388,388,388,5310,388,388,388,388,
- 388,388,388,388,388,5428,5428,5428,5428,5428,
- 5428,5428,5428,5428,5428,5428,5428,5428,5491,5492,
- 5428,5428,5428,5428,5428,5090,5428,5428,5428,5428,
- 5428,5428,5428,5428,5310,224,5428,5428,5428,5428,
- 5428,5428,5428,5428,5310,2666,5693,5691,5700,5699,
- 5695,5696,5694,5697,5698,5701,5692,5689,5766,5767,
- 5428,5683,5690,5686,5662,5688,5687,5684,5685,5663,
- 5428,5428,5428,5428,5428,5428,5428,5428,5428,5428,
- 5428,5428,5428,5428,5428,5428,5428,582,5428,5428,
- 5428,5428,5428,5428,5428,5428,5428,5428,5428,5428,
- 5428,670
+ 1,1,229,1,1,8694,1,1,1,1,
+ 1,1,1929,5427,5205,405,1,3252,5365,2772,
+ 5427,5441,5442,5321,5434,737,1318,2957,1,2559,
+ 2531,5784,5208,1,1,1,3351,5638,1318,1080,
+ 5324,2272,3242,318,1,128,5086,2965,5427,5441,
+ 5442,5427,341,5862,5863,5864,5439,5427,2673,2600,
+ 5427,8657,8657,5927,5427,5368,5368,229,5368,229,
+ 229,229,229,229,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,229,
+ 1,1,8694,1,1,1,1,1,1,5427,
+ 2772,5463,1,1,5427,5365,1318,1318,1,301,
+ 161,320,341,5312,341,5438,5433,341,5786,5727,
+ 1,1,1,3351,5638,5868,1080,5427,2272,37,
+ 5223,5223,37,5223,5223,331,118,5223,237,2673,
+ 2600,5303,1,5073,5069,4774,5077,3899,3983,2957,
+ 5927,4005,5241,5268,5274,5247,5250,5262,5259,5265,
+ 5256,5253,5244,5271,341,37,5223,5223,2985,120,
+ 5463,3625,2727,3531,1318,161,458,3961,3930,4049,
+ 4027,5432,5446,5427,3830,1043,1184,5448,1166,4181,
+ 1174,5449,5447,1009,5443,5444,5445,45,5345,5345,
+ 5427,5355,5351,1356,3625,2727,3458,39,39,448,
+ 516,39,5083,5080,4774,1405,3899,3983,2957,5421,
+ 4005,724,5691,5689,5698,5697,5693,5694,5692,5695,
+ 5696,5699,5690,119,1,1,5427,1,5342,5217,
+ 1027,5463,5427,5389,5063,528,3961,3930,4049,4027,
+ 5437,5446,5427,3830,1043,1184,5448,1166,4181,1174,
+ 5449,5447,1009,5443,5444,5445,1,5436,3625,2727,
+ 5427,8,1356,5066,5437,567,291,457,5405,5424,
+ 5427,784,5434,141,5083,5080,4774,1405,3899,3983,
+ 2957,5436,4005,724,5691,5689,5698,5697,5693,5694,
+ 5692,5695,5696,5699,5690,1,5434,4211,1,5427,
+ 528,4915,289,163,1,2656,5427,5427,3961,3930,
+ 4049,4027,191,5446,5427,3830,1043,1184,5448,1166,
+ 4181,1174,5449,5447,1009,5443,5444,5445,5882,191,
+ 5220,5427,5424,5427,1356,2018,3732,5427,39,39,
+ 1,5073,5069,4774,5077,3899,3983,2957,5427,4005,
+ 5241,5268,5274,5247,5250,5262,5259,5265,5256,5253,
+ 5244,5271,4503,5427,5427,5427,4237,4310,163,4887,
+ 5427,420,792,4320,5427,3961,3930,4049,4027,5427,
+ 5446,395,3830,1043,1184,5448,1166,4181,1174,5449,
+ 5447,1009,5443,5444,5445,5427,375,5427,1489,4202,
+ 3711,1356,100,4901,99,39,39,39,5083,5080,
+ 4774,1405,3899,3983,2957,5402,4005,724,5691,5689,
+ 5698,5697,5693,5694,5692,5695,5696,5699,5690,1532,
+ 5427,5427,103,4437,1928,4604,1532,2056,532,426,
+ 2106,1,3961,3930,4049,4027,5427,5446,5427,3830,
+ 1043,1184,5448,1166,4181,1174,5449,5447,1009,5443,
+ 5444,5445,5427,35,449,4653,1270,2144,1356,5427,
+ 278,4203,2452,5383,5405,39,5083,5080,4774,1405,
+ 3899,3983,2957,5402,4005,724,5691,5689,5698,5697,
+ 5693,5694,5692,5695,5696,5699,5690,5427,308,2451,
+ 4862,3712,5427,75,5427,4814,3512,5427,5427,3708,
+ 3961,3930,4049,4027,2877,5446,73,3830,1043,1184,
+ 5448,1166,4181,1174,5449,5447,1009,5443,5444,5445,
+ 5427,4225,3820,5427,2483,5427,1356,521,4886,5427,
+ 5489,5490,5405,39,5083,5080,4774,1405,3899,3983,
+ 2957,5431,4005,724,5691,5689,5698,5697,5693,5694,
+ 5692,5695,5696,5699,5690,48,2665,5427,2755,5442,
+ 48,5377,5427,2,5441,127,3164,3820,3961,3930,
+ 4049,4027,575,5446,5427,3830,1043,1184,5448,1166,
+ 4181,1174,5449,5447,1009,5443,5444,5445,1,1975,
+ 5427,2314,39,5896,5890,3218,5465,5894,581,5427,
+ 1,819,4896,567,5427,5427,5427,3699,4906,4455,
+ 5442,5427,669,5427,3132,5441,4920,5427,37,5427,
+ 2772,5427,5963,5888,5889,5919,5920,5427,5427,3255,
+ 5897,5427,5427,5315,5427,5427,5427,5427,5427,5427,
+ 2176,5427,5427,5899,5427,2877,5427,5427,5427,5427,
+ 5430,2007,5427,1534,1542,5427,5900,5898,5921,2673,
+ 2600,5427,5427,5427,5427,5427,5427,5427,5427,5427,
+ 5427,5427,5427,5427,5427,5910,5909,5922,5427,5427,
+ 5891,5892,5915,5916,5913,5914,5893,5895,5917,5918,
+ 5427,5427,5427,5923,5427,5903,5904,5905,5901,5902,
+ 5911,5912,5907,5906,5908,39,5083,5080,4774,1405,
+ 3899,3983,2957,5427,4005,724,5691,5689,5698,5697,
+ 5693,5694,5692,5695,5696,5699,5690,5427,5427,5427,
+ 5427,5427,5427,5427,5427,5427,5427,5427,5427,5427,
+ 3961,3930,4049,4027,5427,5446,5427,3830,1043,1184,
+ 5448,1166,4181,1174,5449,5447,1009,5443,5444,5445,
+ 5427,5427,5427,5427,5427,5427,1356,39,5083,5080,
+ 4774,1405,3899,3983,2957,5427,4005,724,5691,5689,
+ 5698,5697,5693,5694,5692,5695,5696,5699,5690,5427,
+ 5427,5427,5427,5427,5427,5427,5427,5427,5427,5427,
+ 5427,5427,3961,3930,4049,4027,5427,5446,5427,3830,
+ 1043,1184,5448,1166,4181,1174,5449,5447,1009,5443,
+ 5444,5445,39,5083,5080,4774,1405,3899,3983,2957,
+ 2959,4005,724,5691,5689,5698,5697,5693,5694,5692,
+ 5695,5696,5699,5690,5427,5427,5427,5427,5427,5427,
+ 5427,5427,5427,5427,5427,5427,5427,3961,3930,4049,
+ 4027,5427,5446,5427,3830,1043,1184,5448,1166,4181,
+ 1174,5449,5447,1009,5443,5444,5445,5427,5427,5427,
+ 5427,5427,5427,1356,39,5083,5080,4808,1405,3899,
+ 3983,2957,5427,4005,724,5691,5689,5698,5697,5693,
+ 5694,5692,5695,5696,5699,5690,5427,5427,5427,5427,
+ 5427,5427,5427,5427,5427,5427,5427,5427,5427,3961,
+ 3930,4049,4027,5427,5446,5427,3830,1043,1184,5448,
+ 1166,4181,1174,5449,5447,1009,5443,5444,5445,39,
+ 5083,5080,4774,1405,3899,3983,2957,5427,4005,724,
+ 5691,5689,5698,5697,5693,5694,5692,5695,5696,5699,
+ 5690,5427,5427,5427,5427,5427,5427,5427,5427,5427,
+ 5427,5427,5427,5427,3961,3930,4049,4027,5427,5446,
+ 5427,3830,1043,1184,5448,1166,4181,1174,5449,5447,
+ 1009,5443,5444,5445,39,5083,5080,4774,1405,3899,
+ 3983,2957,5427,4005,724,5691,5689,5698,5697,5693,
+ 5694,5692,5695,5696,5699,5690,5427,5427,5427,5427,
+ 5427,5427,5427,5427,5427,5427,5427,5427,5427,3961,
+ 3930,4049,4027,5427,5446,5427,3830,1043,1184,5448,
+ 1166,4181,1174,5449,5447,1009,5443,5444,5445,5427,
+ 5083,5080,5427,5465,5427,5427,5427,5427,5427,795,
+ 5691,5689,5698,5697,5693,5694,5692,5695,5696,5699,
+ 5690,5687,5764,5765,5427,5681,5688,5684,5660,5686,
+ 5685,5682,5683,5661,5427,5427,5427,5427,5825,5427,
+ 5427,5427,5427,5427,5427,5427,5427,5427,241,5198,
+ 5194,5427,5202,5427,5427,2469,5826,5827,795,5185,
+ 5191,5164,5167,5179,5176,5182,5173,5170,5161,5188,
+ 5140,5134,5131,5427,5158,5137,5149,5128,5143,5146,
+ 5155,5152,5125,5427,5427,5427,5427,5825,29,387,
+ 387,5309,387,387,5309,387,5309,5309,5427,5427,
+ 5427,5427,5427,5427,2469,5826,5827,5427,5427,5427,
+ 387,387,387,5309,387,387,387,387,387,387,
+ 387,387,387,5427,5427,5427,5427,5427,5427,5427,
+ 5427,5427,5427,5427,5427,5427,5427,5427,5427,5427,
+ 5427,5427,5427,5089,5427,5427,5427,5427,5427,5427,
+ 5427,5309,5427,5427,5427,5427,5427,5427,5427,5427,
+ 5427,5309,32,388,388,5306,388,388,5306,388,
+ 5306,5306,5427,5427,5427,5427,5427,5427,5427,5427,
+ 5427,5427,5427,5427,388,388,388,5306,388,388,
+ 388,388,388,388,388,388,388,5427,5427,5427,
+ 223,5427,5427,5427,5427,5427,5427,5427,5427,5427,
+ 5427,5691,5689,5698,5697,5693,5694,5692,5695,5696,
+ 5699,5690,5687,5764,5765,5306,5681,5688,5684,5660,
+ 5686,5685,5682,5683,5661,5306
};
};
public final static char termAction[] = TermAction.termAction;
@@ -1808,60 +1812,60 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par
public interface Asb {
public final static char asb[] = {0,
- 758,486,378,88,88,396,483,483,396,726,
- 726,636,558,726,626,613,396,45,567,567,
- 172,95,96,159,159,85,771,771,686,771,
- 85,144,574,1088,1016,1027,551,1027,151,1027,
- 615,1027,1011,1027,1090,85,1088,576,88,470,
- 378,378,378,378,1090,470,29,146,46,46,
- 46,46,46,46,46,46,46,774,780,785,
- 782,789,787,794,792,796,795,797,216,798,
- 45,45,213,812,580,580,378,771,314,314,
- 768,213,681,771,771,314,85,1092,1005,681,
- 681,578,558,85,265,380,153,424,154,1090,
- 85,85,425,626,578,483,29,726,726,726,
- 726,85,639,681,681,29,922,725,1005,29,
- 774,901,901,639,45,46,46,46,46,46,
+ 752,481,373,87,87,391,478,478,391,720,
+ 720,631,553,720,621,608,391,45,562,562,
+ 170,94,95,157,157,84,765,765,680,765,
+ 84,142,569,1081,1009,1020,546,1020,149,1020,
+ 610,1020,1004,1020,1083,84,1081,571,87,465,
+ 373,373,373,373,1083,465,29,144,46,46,
+ 46,46,46,46,46,46,46,768,774,779,
+ 776,783,781,788,786,790,789,791,213,792,
+ 45,45,210,806,575,575,373,765,310,310,
+ 762,210,675,765,765,310,84,1085,998,675,
+ 675,573,553,84,261,375,151,419,152,1083,
+ 84,84,420,621,573,478,29,720,720,720,
+ 720,84,634,675,675,29,916,719,998,29,
+ 768,895,895,634,45,46,46,46,46,46,
46,46,46,46,46,46,46,46,46,46,
46,46,46,46,45,45,45,45,45,45,
- 45,45,45,45,45,45,46,580,580,314,
- 314,1088,213,213,314,1004,83,681,101,569,
- 85,266,764,380,85,550,621,374,425,551,
- 472,85,425,85,82,681,681,637,637,637,
- 637,425,681,45,46,429,436,1034,1034,1090,
- 146,213,725,45,681,82,84,82,681,213,
- 782,782,780,780,780,787,787,787,787,785,
- 785,792,789,789,795,794,796,918,797,681,
- 681,637,636,637,768,637,1092,85,477,821,
- 1004,266,764,490,85,380,918,154,378,427,
- 367,908,380,550,375,550,550,425,472,472,
- 85,85,85,470,470,470,470,85,85,45,
- 85,1005,46,726,778,268,681,84,1005,45,
- 477,539,29,1004,477,764,763,1005,862,551,
- 637,378,82,549,910,79,470,550,550,550,
- 550,85,472,490,488,489,45,45,45,45,
- 470,470,425,83,681,778,1088,1092,85,83,
- 477,539,479,764,83,862,862,494,396,83,
- 550,550,79,817,46,918,309,305,1088,550,
- 550,854,490,46,85,681,681,681,681,639,
- 639,85,778,779,778,45,268,372,774,1092,
- 479,541,479,818,490,963,965,257,470,154,
- 531,862,862,396,83,550,551,1090,910,46,
- 46,79,554,753,855,85,681,681,1069,778,
- 639,46,213,372,479,541,470,493,257,963,
- 168,1090,490,636,818,551,9,554,85,470,
- 854,85,1090,1090,85,779,681,213,581,494,
- 862,818,308,817,681,1090,85,494,920,10,
- 1090,85,639,85,85,85,570,862,45,106,
- 79,818,85,85,920,9,918,46,918,818,
- 8,470,470,470,10,470,85,223,818,818,
- 85,551,681,85,85,726,490,681,490,551,
- 85,818,1,470,1,10,918,10,29,29,
- 27,684,29,818,818,312,920,490,106,818,
- 821,10,681,79,681,27,257,470,681,920,
- 106,681,681,1082,10,312,10,818,257,45,
- 10,7,489,551,551,1084,45,8,639,818,
- 681,816,105,10,681,818,816,816,10
+ 45,45,45,45,45,45,46,575,575,310,
+ 310,1081,210,210,310,997,82,675,100,564,
+ 84,262,758,375,84,545,616,369,420,546,
+ 467,84,420,84,81,675,675,632,632,632,
+ 632,420,675,45,46,424,431,1027,1027,1083,
+ 144,210,719,45,675,81,83,81,675,210,
+ 776,776,774,774,774,781,781,781,781,779,
+ 779,786,783,783,789,788,790,912,791,675,
+ 675,632,631,632,762,632,1085,84,472,815,
+ 997,262,758,485,84,375,912,152,373,422,
+ 362,902,375,545,370,545,545,420,467,467,
+ 84,84,84,465,465,465,465,84,84,45,
+ 84,998,46,720,772,264,675,83,998,45,
+ 472,534,29,997,472,758,757,998,856,546,
+ 632,373,81,544,904,78,465,545,545,545,
+ 545,84,467,485,483,484,45,45,45,45,
+ 465,465,420,82,675,772,1081,1085,84,82,
+ 472,534,474,758,82,856,856,489,391,82,
+ 545,545,78,811,46,912,305,301,1081,545,
+ 545,848,485,46,84,675,675,675,675,634,
+ 634,84,772,773,772,45,264,367,768,1085,
+ 474,536,474,812,485,956,958,253,465,152,
+ 526,856,856,391,82,545,546,1083,904,46,
+ 46,78,549,747,849,84,675,675,1062,772,
+ 634,46,210,367,474,536,465,488,253,956,
+ 166,1083,485,631,812,546,9,549,84,465,
+ 848,84,1083,1083,84,773,675,210,576,489,
+ 856,812,304,811,675,1083,84,489,914,10,
+ 1083,84,634,84,84,84,565,856,45,105,
+ 78,812,84,84,914,9,912,46,912,812,
+ 8,465,465,465,10,465,84,220,812,812,
+ 84,546,675,84,84,720,485,675,485,546,
+ 84,812,1,465,1,10,912,10,29,29,
+ 27,678,29,812,812,308,914,485,105,812,
+ 815,10,675,78,675,27,253,465,675,914,
+ 105,675,675,1075,10,308,10,812,253,45,
+ 10,7,484,546,546,1077,45,8,634,812,
+ 675,810,104,10,675,812,810,810,10
};
};
public final static char asb[] = Asb.asb;
@@ -1869,116 +1873,115 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par
public interface Asr {
public final static byte asr[] = {0,
- 87,103,104,105,41,73,119,122,72,61,
- 75,63,60,65,77,79,85,83,76,81,
- 82,84,86,68,78,80,25,8,26,39,
- 23,57,27,28,29,30,31,32,33,58,
- 34,59,22,24,62,66,67,10,44,48,
+ 86,102,103,104,41,72,118,121,71,60,
+ 74,62,59,64,76,78,84,82,75,80,
+ 81,83,85,67,77,79,25,8,26,39,
+ 23,56,27,28,29,30,31,32,33,57,
+ 34,58,22,24,61,65,66,10,44,48,
46,43,51,12,21,11,17,15,16,18,
- 19,14,13,20,52,56,53,54,40,50,
- 45,49,37,38,35,36,42,47,9,6,
- 3,4,7,5,1,2,0,69,70,71,
- 121,1,2,0,3,69,70,71,121,64,
- 8,74,91,0,72,62,37,38,9,6,
- 35,36,42,47,3,4,52,56,53,54,
- 40,50,45,49,12,21,11,17,15,16,
- 18,19,14,13,20,10,44,48,46,43,
- 51,68,8,7,5,1,2,67,66,0,
- 41,4,73,1,2,68,8,0,75,3,
- 69,73,91,71,74,25,64,8,68,70,
- 0,66,67,3,10,44,48,46,43,51,
- 12,21,11,17,15,16,18,19,14,13,
- 20,52,56,53,54,40,50,45,49,5,
- 7,4,37,38,9,6,35,36,42,47,
- 1,2,118,8,0,69,73,91,71,118,
- 74,72,11,12,43,66,13,44,45,14,
- 15,16,67,46,17,18,47,48,49,62,
- 50,51,10,19,20,21,52,53,54,40,
- 37,38,35,36,42,56,8,25,5,7,
- 1,2,4,3,9,6,0,92,90,35,
- 36,93,94,88,89,69,95,96,97,98,
- 99,100,101,102,107,91,108,109,110,111,
- 112,113,114,115,116,117,118,74,72,1,
- 2,4,9,6,73,64,55,3,8,71,
- 25,70,0,26,11,12,39,23,43,66,
- 13,44,57,27,28,45,14,29,30,15,
- 16,31,67,32,46,17,18,47,33,48,
- 58,49,62,50,34,51,59,19,22,20,
- 24,21,52,53,54,40,3,37,38,9,
- 6,35,36,42,69,56,7,1,2,4,
- 10,5,0,4,8,73,68,55,0,87,
- 60,7,103,104,105,63,8,3,9,6,
- 5,73,72,25,61,26,11,12,39,23,
- 13,57,27,28,14,29,30,15,16,31,
- 32,17,18,33,58,34,10,59,19,22,
- 20,24,21,4,1,2,41,0,8,73,
- 118,74,25,71,0,26,11,12,23,13,
- 27,28,14,29,30,15,16,31,7,32,
- 17,18,33,34,19,22,20,24,21,1,
- 2,8,64,9,6,5,4,74,25,3,
- 0,1,2,8,72,0,23,24,62,8,
- 91,74,69,71,70,121,0,70,71,72,
- 8,0,68,39,23,13,57,27,14,29,
- 30,15,16,31,32,17,18,33,58,34,
- 59,19,22,20,24,21,12,11,26,8,
- 3,9,6,25,63,65,87,28,61,41,
- 7,1,2,5,4,10,60,0,23,24,
- 62,3,69,91,70,71,74,25,75,73,
- 68,8,0,8,68,71,0,9,6,3,
- 7,5,64,4,1,2,69,70,91,74,
- 8,71,0,5,7,3,64,6,9,91,
- 26,11,12,23,13,57,27,28,14,29,
- 30,15,16,31,32,17,18,33,58,34,
- 10,59,19,22,20,24,21,1,2,4,
- 74,8,39,0,4,8,68,1,2,0,
- 4,8,73,68,0,8,74,121,1,2,
- 9,6,4,3,64,71,69,0,11,12,
- 43,66,13,44,45,14,15,16,67,7,
- 46,17,18,47,48,49,62,50,51,10,
- 19,20,21,52,53,54,40,1,2,3,
- 37,38,9,6,35,36,5,42,4,56,
- 74,8,0,76,0,67,66,35,36,6,
- 93,94,99,9,100,5,42,70,55,69,
- 111,112,108,109,110,116,115,117,89,88,
- 113,114,97,98,95,96,101,102,37,38,
- 71,90,106,64,3,26,11,12,39,23,
- 13,57,27,28,14,29,30,15,16,31,
- 32,17,18,33,58,34,10,59,19,20,
- 24,21,1,2,4,22,0,39,10,41,
- 61,0,62,23,7,24,5,1,2,4,
- 75,68,121,120,106,37,38,64,3,92,
- 90,6,93,94,35,36,89,88,55,95,
- 96,97,98,9,99,100,101,69,91,74,
- 70,108,109,110,111,112,113,114,115,116,
- 117,73,118,102,107,72,71,25,8,0,
- 26,11,12,39,23,13,57,27,28,14,
- 29,30,15,16,31,32,17,18,33,58,
- 34,10,59,19,22,20,24,21,1,2,
- 4,91,0,22,1,2,4,103,104,105,
- 0,65,26,11,12,39,23,13,57,27,
- 87,28,14,29,30,15,16,31,60,32,
- 17,18,33,58,34,10,59,19,63,22,
- 20,24,21,8,3,9,6,72,25,61,
- 7,4,41,5,1,2,0,25,8,3,
- 7,5,9,6,4,1,2,73,0,119,
- 0,66,67,37,38,9,6,35,36,5,
- 42,47,3,4,7,52,56,53,54,50,
+ 19,14,13,20,52,53,54,40,50,45,
+ 49,37,38,35,36,42,47,9,6,3,
+ 4,7,5,1,2,0,68,69,70,120,
+ 1,2,0,3,68,69,70,120,63,8,
+ 73,90,0,71,61,37,38,9,6,35,
+ 36,42,47,3,4,52,53,54,40,50,
45,49,12,21,11,17,15,16,18,19,
- 14,13,20,10,44,48,46,43,51,64,
- 1,2,40,0,39,23,13,57,27,14,
- 29,30,15,16,31,32,17,18,33,58,
- 34,10,59,19,22,20,24,21,12,11,
- 26,8,3,9,25,63,60,65,87,28,
- 61,55,4,6,7,5,41,1,2,0,
- 10,57,39,58,59,12,21,11,17,15,
- 16,18,19,14,13,20,75,73,91,118,
- 72,68,121,120,92,106,90,37,38,35,
- 36,93,94,88,89,55,69,95,96,97,
- 98,99,100,101,102,107,70,108,109,110,
- 111,112,113,114,115,116,117,71,26,23,
- 27,28,29,30,31,32,33,34,22,24,
- 25,8,74,3,64,7,5,9,6,1,
- 2,4,0
+ 14,13,20,10,44,48,46,43,51,67,
+ 8,7,5,1,2,66,65,0,41,4,
+ 72,1,2,67,8,0,74,3,68,72,
+ 90,70,73,25,63,8,67,69,0,65,
+ 66,3,10,44,48,46,43,51,12,21,
+ 11,17,15,16,18,19,14,13,20,52,
+ 53,54,40,50,45,49,5,7,4,37,
+ 38,9,6,35,36,42,47,1,2,117,
+ 8,0,68,72,90,70,117,73,71,11,
+ 12,43,65,13,44,45,14,15,16,66,
+ 46,17,18,47,48,49,61,50,51,10,
+ 19,20,21,52,53,54,40,37,38,35,
+ 36,42,8,25,5,7,1,2,4,3,
+ 9,6,0,91,89,35,36,92,93,87,
+ 88,68,94,95,96,97,98,99,100,101,
+ 106,90,107,108,109,110,111,112,113,114,
+ 115,116,117,73,71,1,2,4,9,6,
+ 72,63,55,3,8,70,25,69,0,26,
+ 11,12,39,23,43,65,13,44,56,27,
+ 28,45,14,29,30,15,16,31,66,32,
+ 46,17,18,47,33,48,57,49,61,50,
+ 34,51,58,19,22,20,24,21,52,53,
+ 54,40,3,37,38,9,6,35,36,42,
+ 68,7,1,2,4,10,5,0,4,8,
+ 72,67,55,0,86,59,7,102,103,104,
+ 62,8,3,9,6,5,72,71,25,60,
+ 26,11,12,39,23,13,56,27,28,14,
+ 29,30,15,16,31,32,17,18,33,57,
+ 34,10,58,19,22,20,24,21,4,1,
+ 2,41,0,8,72,117,73,25,70,0,
+ 26,11,12,23,13,27,28,14,29,30,
+ 15,16,31,7,32,17,18,33,34,19,
+ 22,20,24,21,1,2,8,63,9,6,
+ 5,4,73,25,3,0,1,2,8,71,
+ 0,23,24,61,8,90,73,68,70,69,
+ 120,0,69,70,71,8,0,67,39,23,
+ 13,56,27,14,29,30,15,16,31,32,
+ 17,18,33,57,34,58,19,22,20,24,
+ 21,12,11,26,8,3,9,6,25,62,
+ 64,86,28,60,41,7,1,2,5,4,
+ 10,59,0,23,24,61,3,68,90,69,
+ 70,73,25,74,72,67,8,0,8,67,
+ 70,0,9,6,3,7,5,63,4,1,
+ 2,68,69,90,73,8,70,0,5,7,
+ 3,63,6,9,90,26,11,12,23,13,
+ 56,27,28,14,29,30,15,16,31,32,
+ 17,18,33,57,34,10,58,19,22,20,
+ 24,21,1,2,4,73,8,39,0,4,
+ 8,67,1,2,0,4,8,72,67,0,
+ 8,73,120,1,2,9,6,4,3,63,
+ 70,68,0,11,12,43,65,13,44,45,
+ 14,15,16,66,7,46,17,18,47,48,
+ 49,61,50,51,10,19,20,21,52,53,
+ 54,40,1,2,3,37,38,9,6,35,
+ 36,5,42,4,73,8,0,75,0,66,
+ 65,35,36,6,92,93,98,9,99,5,
+ 42,69,55,68,110,111,107,108,109,115,
+ 114,116,88,87,112,113,96,97,94,95,
+ 100,101,37,38,70,89,105,63,3,26,
+ 11,12,39,23,13,56,27,28,14,29,
+ 30,15,16,31,32,17,18,33,57,34,
+ 10,58,19,20,24,21,1,2,4,22,
+ 0,39,10,41,60,0,61,23,7,24,
+ 5,1,2,4,74,67,120,119,105,37,
+ 38,63,3,91,89,6,92,93,35,36,
+ 88,87,55,94,95,96,97,9,98,99,
+ 100,68,90,73,69,107,108,109,110,111,
+ 112,113,114,115,116,72,117,101,106,71,
+ 70,25,8,0,26,11,12,39,23,13,
+ 56,27,28,14,29,30,15,16,31,32,
+ 17,18,33,57,34,10,58,19,22,20,
+ 24,21,1,2,4,90,0,22,1,2,
+ 4,102,103,104,0,64,26,11,12,39,
+ 23,13,56,27,86,28,14,29,30,15,
+ 16,31,59,32,17,18,33,57,34,10,
+ 58,19,62,22,20,24,21,8,3,9,
+ 6,71,25,60,7,4,41,5,1,2,
+ 0,25,8,3,7,5,9,6,4,1,
+ 2,72,0,118,0,65,66,37,38,9,
+ 6,35,36,5,42,47,3,4,7,52,
+ 53,54,50,45,49,12,21,11,17,15,
+ 16,18,19,14,13,20,10,44,48,46,
+ 43,51,63,1,2,40,0,39,23,13,
+ 56,27,14,29,30,15,16,31,32,17,
+ 18,33,57,34,10,58,19,22,20,24,
+ 21,12,11,26,8,3,9,25,62,59,
+ 64,86,28,60,55,4,6,7,5,41,
+ 1,2,0,10,56,39,57,58,12,21,
+ 11,17,15,16,18,19,14,13,20,74,
+ 72,90,117,71,67,120,119,91,105,89,
+ 37,38,35,36,92,93,87,88,55,68,
+ 94,95,96,97,98,99,100,101,106,69,
+ 107,108,109,110,111,112,113,114,115,116,
+ 70,26,23,27,28,29,30,31,32,33,
+ 34,22,24,25,8,73,3,63,7,5,
+ 9,6,1,2,4,0
};
};
public final static byte asr[] = Asr.asr;
@@ -2088,14 +2091,14 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par
107,104,54,106,120,47,64,66,70,73,
76,83,89,98,11,12,7,8,53,112,
93,14,55,61,67,84,88,90,94,97,
- 99,109,110,111,19,123,63,91,101,77,
- 122,95,103,1,46,58,78,121,20,33,
- 44,119,30,118,96,108,49,50,56,57,
- 59,69,71,72,85,92,65,17,18,6,
- 32,4,15,16,21,22,23,24,25,26,
- 27,28,80,81,82,5,29,34,35,36,
- 37,38,39,40,41,42,43,117,51,3,
- 124,62,116
+ 99,109,110,111,19,63,91,101,77,122,
+ 95,103,1,46,58,78,121,20,33,44,
+ 119,30,118,96,108,49,50,56,57,59,
+ 69,71,72,85,92,65,17,18,6,32,
+ 4,15,16,21,22,23,24,25,26,27,
+ 28,80,81,82,5,29,34,35,36,37,
+ 38,39,40,41,42,43,117,51,3,123,
+ 62,116
};
};
public final static char terminalIndex[] = TerminalIndex.terminalIndex;
@@ -2103,26 +2106,26 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par
public interface NonterminalIndex {
public final static char nonterminalIndex[] = {0,
- 131,136,137,0,0,135,0,0,230,236,
- 134,0,144,133,0,0,143,149,0,0,
- 150,181,159,160,161,162,163,164,165,152,
- 166,127,167,142,168,169,0,129,132,130,
- 170,0,139,138,153,178,0,0,0,0,
- 0,0,0,0,146,173,0,156,0,205,
- 0,188,202,206,0,0,128,172,0,0,
- 0,0,0,0,207,176,0,0,0,0,
- 0,0,126,179,0,0,187,0,0,203,
- 213,158,209,210,211,0,0,147,0,0,
- 208,221,175,197,0,0,212,0,0,0,
- 0,0,241,242,0,148,180,190,191,192,
- 193,194,196,199,0,200,0,215,218,0,
- 220,0,239,240,0,0,140,141,145,0,
- 0,155,157,0,171,0,182,183,184,185,
- 186,189,0,0,195,0,198,204,0,216,
- 217,0,0,222,225,0,227,229,0,233,
- 234,235,238,125,0,151,154,0,174,0,
- 177,0,0,201,214,219,0,0,223,224,
- 226,228,0,231,232,237,243,244,0,0,
+ 130,135,136,0,0,134,0,0,229,235,
+ 133,0,143,132,0,0,142,148,0,0,
+ 149,180,158,159,160,161,162,163,164,151,
+ 165,126,166,141,167,168,0,128,131,129,
+ 169,0,138,137,152,177,0,0,0,0,
+ 0,0,0,0,145,172,0,155,0,204,
+ 0,187,201,205,0,0,127,171,0,0,
+ 0,0,0,0,206,175,0,0,0,0,
+ 0,0,125,178,0,0,186,0,0,202,
+ 212,157,208,209,210,0,0,146,0,0,
+ 207,220,174,196,0,0,211,0,0,0,
+ 0,0,240,241,0,147,179,189,190,191,
+ 192,193,195,198,0,199,0,214,217,0,
+ 219,0,238,239,0,0,139,140,144,0,
+ 0,154,156,0,170,0,181,182,183,184,
+ 185,188,0,0,194,0,197,203,0,215,
+ 216,0,0,221,224,0,226,228,0,232,
+ 233,234,237,124,0,150,153,0,173,0,
+ 176,0,0,200,213,218,0,0,222,223,
+ 225,227,0,230,231,236,242,243,0,0,
0,0
};
};
@@ -2188,18 +2191,18 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par
public interface ScopeLa {
public final static byte scopeLa[] = {
- 119,74,74,72,74,74,74,74,74,72,
- 25,72,72,1,69,1,74,122,68,3,
- 74,69,69,69,1,1,25,72,68,72,
- 1,1,1,72,1,1,4,69,71,25,
- 1,1,69,74,74,74,119,74,1,25,
- 1,25,25,72,118,74,74,74,74,74,
- 118,1,74,1,74,74,74,73,4,6,
- 1,1,74,69,69,69,69,74,3,1,
- 1,74,74,3,1,118,74,1,1,1,
- 25,74,118,74,5,74,1,41,70,73,
- 74,1,41,76,75,25,25,4,4,4,
- 4,3,1,68,1,1,3
+ 118,73,73,71,73,73,73,73,73,71,
+ 25,71,71,1,68,1,73,121,67,3,
+ 73,68,68,68,1,1,25,71,67,71,
+ 1,1,1,71,1,1,4,68,70,25,
+ 1,1,68,73,73,73,118,73,1,25,
+ 1,25,25,71,117,73,73,73,73,73,
+ 117,1,73,1,73,73,73,72,4,6,
+ 1,1,73,68,68,68,68,73,3,1,
+ 1,73,73,3,1,117,73,1,1,1,
+ 25,73,117,73,5,73,1,41,69,72,
+ 73,1,41,75,74,25,25,4,4,4,
+ 4,3,1,67,1,1,3
};
};
public final static byte scopeLa[] = ScopeLa.scopeLa;
@@ -2226,71 +2229,71 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par
public interface ScopeRhs {
public final static char scopeRhs[] = {0,
- 321,3,62,0,127,0,320,3,119,0,
- 127,173,0,127,179,75,0,217,0,255,
- 127,55,125,0,20,0,296,127,55,41,
- 0,20,53,0,33,133,0,20,53,0,
- 0,296,127,55,41,205,0,20,179,0,
- 255,127,55,133,0,180,128,0,142,0,
- 220,3,295,0,295,0,2,0,127,0,
- 255,127,55,132,0,180,128,225,0,180,
- 128,22,225,0,180,128,316,22,0,129,
- 188,167,128,0,129,0,188,167,128,0,
- 135,129,0,171,0,312,127,171,0,127,
- 171,0,223,129,0,167,311,245,0,137,
- 0,0,0,0,136,0,0,0,0,310,
- 127,163,254,0,128,0,254,0,130,0,
- 0,128,0,309,127,163,253,0,128,0,
- 0,44,128,0,0,153,3,0,127,283,
- 282,127,75,281,171,0,282,127,75,281,
- 171,0,216,0,217,0,281,171,0,96,
- 0,0,216,0,217,0,204,96,0,0,
- 216,0,217,0,282,127,281,171,0,216,
- 0,204,0,0,216,0,228,127,3,0,
- 127,0,0,0,0,0,228,127,3,217,
- 0,224,3,0,213,127,0,209,0,147,
- 0,177,167,128,0,10,0,0,0,215,
- 64,0,126,0,228,127,3,183,0,183,
- 0,2,0,0,127,0,0,0,0,0,
- 199,3,0,202,0,238,127,163,40,28,
- 0,180,128,60,63,0,197,129,0,129,
- 180,128,279,63,0,180,128,279,63,0,
- 180,128,70,124,60,0,238,127,163,60,
- 0,238,127,163,227,60,0,277,127,163,
- 124,306,57,0,277,127,163,306,57,0,
- 180,128,276,57,0,136,0,188,180,128,
- 276,245,0,137,0,180,128,276,245,0,
- 188,167,128,10,0,167,128,10,0,167,
- 128,0,93,137,0,269,127,145,0,269,
- 127,171,0,162,85,0,301,161,303,304,
- 3,82,0,127,172,0,303,304,3,82,
- 0,129,0,127,172,0,162,3,76,191,
- 81,0,127,129,0,191,81,0,108,2,
- 132,127,129,0,226,3,76,0,199,168,
- 0,33,170,0,168,0,176,33,170,0,
- 226,3,86,0,191,155,226,3,84,0,
- 62,172,0,226,3,84,0,127,172,62,
- 172,0,302,127,163,0,162,0,215,78,
- 0,30,172,0,162,107,159,0,30,170,
- 0,178,3,0,127,150,0,220,3,0,
- 215,64,266,0,162,64,0,178,3,298,
- 67,128,0,127,0,0,0,0,298,67,
- 128,0,2,146,127,0,0,0,0,178,
- 3,47,0,148,0,126,41,167,128,0,
- 31,148,0,93,137,31,148,0,221,180,
- 128,0,147,31,148,0,178,3,51,0,
- 162,3,51,0,162,3,69,178,55,43,
- 0,178,55,43,0,20,2,132,127,0,
- 162,3,69,178,55,46,0,178,55,46,
- 0,162,3,69,178,55,48,0,178,55,
- 48,0,162,3,69,178,55,44,0,178,
- 55,44,0,220,3,126,188,167,128,10,
- 0,126,188,167,128,10,0,137,2,0,
- 127,0,220,3,125,259,167,128,10,0,
- 259,167,128,10,0,136,2,0,127,0,
- 220,3,136,0,220,3,140,0,162,64,
- 140,0,261,0,31,0,31,140,0,166,
- 0,135,0,162,3,0
+ 320,3,61,0,126,0,319,3,118,0,
+ 126,172,0,126,178,74,0,216,0,254,
+ 126,55,124,0,20,0,295,126,55,41,
+ 0,20,53,0,33,132,0,20,53,0,
+ 0,295,126,55,41,204,0,20,178,0,
+ 254,126,55,132,0,179,127,0,141,0,
+ 219,3,294,0,294,0,2,0,126,0,
+ 254,126,55,131,0,179,127,224,0,179,
+ 127,22,224,0,179,127,315,22,0,128,
+ 187,166,127,0,128,0,187,166,127,0,
+ 134,128,0,170,0,311,126,170,0,126,
+ 170,0,222,128,0,166,310,244,0,136,
+ 0,0,0,0,135,0,0,0,0,309,
+ 126,162,253,0,127,0,253,0,129,0,
+ 0,127,0,308,126,162,252,0,127,0,
+ 0,44,127,0,0,152,3,0,126,282,
+ 281,126,74,280,170,0,281,126,74,280,
+ 170,0,215,0,216,0,280,170,0,96,
+ 0,0,215,0,216,0,203,96,0,0,
+ 215,0,216,0,281,126,280,170,0,215,
+ 0,203,0,0,215,0,227,126,3,0,
+ 126,0,0,0,0,0,227,126,3,216,
+ 0,223,3,0,212,126,0,208,0,146,
+ 0,176,166,127,0,10,0,0,0,214,
+ 63,0,125,0,227,126,3,182,0,182,
+ 0,2,0,0,126,0,0,0,0,0,
+ 198,3,0,201,0,237,126,162,40,28,
+ 0,179,127,59,62,0,196,128,0,128,
+ 179,127,278,62,0,179,127,278,62,0,
+ 179,127,69,123,59,0,237,126,162,59,
+ 0,237,126,162,226,59,0,276,126,162,
+ 123,305,56,0,276,126,162,305,56,0,
+ 179,127,275,56,0,135,0,187,179,127,
+ 275,244,0,136,0,179,127,275,244,0,
+ 187,166,127,10,0,166,127,10,0,166,
+ 127,0,93,136,0,268,126,144,0,268,
+ 126,170,0,161,84,0,300,160,302,303,
+ 3,81,0,126,171,0,302,303,3,81,
+ 0,128,0,126,171,0,161,3,75,190,
+ 80,0,126,128,0,190,80,0,108,2,
+ 131,126,128,0,225,3,75,0,198,167,
+ 0,33,169,0,167,0,175,33,169,0,
+ 225,3,85,0,190,154,225,3,83,0,
+ 62,171,0,225,3,83,0,126,171,62,
+ 171,0,301,126,162,0,161,0,214,77,
+ 0,30,171,0,161,106,158,0,30,169,
+ 0,177,3,0,126,149,0,219,3,0,
+ 214,63,265,0,161,63,0,177,3,297,
+ 66,127,0,126,0,0,0,0,297,66,
+ 127,0,2,145,126,0,0,0,0,177,
+ 3,47,0,147,0,125,41,166,127,0,
+ 31,147,0,93,136,31,147,0,220,179,
+ 127,0,146,31,147,0,177,3,51,0,
+ 161,3,51,0,161,3,68,177,55,43,
+ 0,177,55,43,0,20,2,131,126,0,
+ 161,3,68,177,55,46,0,177,55,46,
+ 0,161,3,68,177,55,48,0,177,55,
+ 48,0,161,3,68,177,55,44,0,177,
+ 55,44,0,219,3,125,187,166,127,10,
+ 0,125,187,166,127,10,0,136,2,0,
+ 126,0,219,3,124,258,166,127,10,0,
+ 258,166,127,10,0,135,2,0,126,0,
+ 219,3,135,0,219,3,139,0,161,63,
+ 139,0,260,0,31,0,31,139,0,165,
+ 0,134,0,161,3,0
};
};
public final static char scopeRhs[] = ScopeRhs.scopeRhs;
@@ -2298,38 +2301,38 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par
public interface ScopeState {
public final static char scopeState[] = {0,
- 4685,4907,4897,4887,0,1550,3559,560,3457,0,
- 3551,3514,3454,3347,3310,3256,3219,3165,3128,2837,
- 2800,3700,0,595,0,2484,785,0,3551,3514,
- 2441,2265,3454,3347,3310,3256,3219,3165,1045,3128,
- 2837,2800,3724,3010,0,1179,1083,803,0,3375,
- 3004,0,3709,3243,0,818,735,0,4567,3436,
- 0,4584,4516,0,4584,4516,3813,4316,4306,3707,
- 4223,4213,4203,3697,0,4584,4516,3813,4316,4306,
- 3707,4223,4213,4203,3697,3551,3514,3454,3347,3310,
- 3256,3219,3165,3128,2837,2800,0,3253,734,0,
- 670,582,0,826,0,2379,4416,4842,3225,4403,
- 3762,2588,2969,2806,4532,2413,2936,2963,877,737,
- 0,4784,4767,4759,4755,4739,4720,4709,4694,4870,
- 4855,4850,4674,4670,4648,4644,4599,4835,3487,3139,
- 3465,2628,4509,2769,0,538,4494,2927,0,4416,
- 4567,4403,3436,2936,2912,3422,4481,2756,2379,3794,
- 4370,2588,2419,2397,0,3336,3190,4784,4767,4759,
- 2462,2414,4755,628,4739,4720,4709,3537,4694,3532,
- 3469,3459,3404,2634,4870,2638,4855,2516,4850,3923,
- 4674,4670,2444,4648,4644,2392,4599,4835,3477,3487,
- 3139,3465,3037,2628,4509,4494,2769,738,2927,2521,
- 2183,2095,1406,2912,3422,4481,2756,2379,4416,3794,
- 4567,4403,4370,2588,3436,2269,942,805,670,582,
- 2936,2419,2397,4182,4160,4138,2233,2283,2349,2317,
- 2560,2532,596,3106,3080,2773,2701,2674,2601,3675,
- 3651,632,3626,2728,4116,4094,4072,4050,4028,4006,
- 3984,3962,3931,3900,3831,1976,2195,2145,2107,2057,
- 2019,1051,884,1933,1890,1276,828,747,691,1847,
- 1804,1761,1718,1675,1632,1589,1546,1503,1460,1417,
- 538,1233,1188,1357,1319,1145,1006,963,1097,0,
- 1389,1192,862,586,2413,2936,2912,2966,2419,2858,
- 2397,0,3277,3149,3276,3143,0
+ 4684,4906,4896,4886,0,1549,3558,559,3456,0,
+ 3550,3513,3453,3346,3309,3255,3218,3164,3127,2836,
+ 2799,3699,0,594,0,2483,784,0,3550,3513,
+ 2440,2264,3453,3346,3309,3255,3218,3164,1044,3127,
+ 2836,2799,3723,3009,0,1178,1082,802,0,3374,
+ 3003,0,3708,3242,0,817,734,0,4566,3435,
+ 0,4583,4515,0,4583,4515,3812,4315,4305,3706,
+ 4222,4212,4202,3696,0,4583,4515,3812,4315,4305,
+ 3706,4222,4212,4202,3696,3550,3513,3453,3346,3309,
+ 3255,3218,3164,3127,2836,2799,0,3252,733,0,
+ 669,581,0,825,0,2378,4415,4841,3224,4402,
+ 3761,2587,2968,2805,4531,2412,2935,2962,876,736,
+ 0,4783,4766,4758,4754,4738,4719,4708,4693,4869,
+ 4854,4849,4673,4669,4647,4643,4598,4834,3486,3138,
+ 3464,2627,4508,2768,0,537,4493,2926,0,4415,
+ 4566,4402,3435,2935,2911,3421,4480,2755,2378,3793,
+ 4369,2587,2418,2396,0,3335,3189,4783,4766,4758,
+ 2461,2413,4754,627,4738,4719,4708,3536,4693,3531,
+ 3468,3458,3403,2633,4869,2637,4854,2515,4849,3922,
+ 4673,4669,2443,4647,4643,2391,4598,4834,3476,3486,
+ 3138,3464,3036,2627,4508,4493,2768,737,2926,2520,
+ 2182,2094,1405,2911,3421,4480,2755,2378,4415,3793,
+ 4566,4402,4369,2587,3435,2268,941,804,669,581,
+ 2935,2418,2396,4181,4159,4137,2232,2282,2348,2316,
+ 2559,2531,595,3105,3079,2772,2700,2673,2600,3674,
+ 3650,631,3625,2727,4115,4093,4071,4049,4027,4005,
+ 3983,3961,3930,3899,3830,1975,2194,2144,2106,2056,
+ 2018,1050,883,1932,1889,1275,827,746,690,1846,
+ 1803,1760,1717,1674,1631,1588,1545,1502,1459,1416,
+ 537,1232,1187,1356,1318,1144,1005,962,1096,0,
+ 1388,1191,861,585,2412,2935,2911,2965,2418,2857,
+ 2396,0,3276,3148,3275,3142,0
};
};
public final static char scopeState[] = ScopeState.scopeState;
@@ -2337,60 +2340,60 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par
public interface InSymb {
public final static char inSymb[] = {0,
- 0,297,41,10,39,55,231,231,127,70,
- 70,296,145,127,168,69,71,70,224,199,
- 64,217,218,187,183,5,125,132,7,133,
- 128,4,3,127,270,271,254,272,245,273,
- 57,274,275,125,10,128,127,3,39,51,
- 43,46,48,44,10,136,3,128,47,42,
- 5,36,35,6,9,38,37,140,146,148,
- 147,150,149,152,151,156,154,158,62,159,
- 70,70,215,159,3,3,125,124,55,55,
- 168,64,3,66,67,55,180,166,167,224,
- 199,127,213,128,177,163,311,276,306,276,
- 128,180,167,213,127,231,3,55,55,55,
- 55,128,3,178,162,127,66,67,167,3,
- 126,106,120,3,64,90,92,36,35,94,
- 93,6,96,95,69,55,88,89,9,98,
- 97,100,99,101,117,116,115,114,113,112,
- 111,110,109,108,70,107,102,127,127,127,
- 127,127,64,64,127,4,188,228,229,230,
- 128,167,6,127,167,231,126,125,128,124,
- 163,128,167,41,70,178,162,178,178,178,
- 178,167,220,127,155,268,136,126,125,10,
- 128,64,298,3,178,41,128,41,220,162,
- 147,147,146,146,146,149,149,149,149,148,
- 148,151,150,150,154,152,156,162,158,228,
- 228,255,257,255,213,255,261,188,155,71,
- 167,177,127,310,128,169,225,60,41,205,
- 63,171,313,126,125,232,232,180,163,127,
- 180,188,128,69,69,69,69,188,259,71,
- 128,167,206,3,299,168,153,180,167,73,
- 155,155,71,4,127,6,185,167,163,227,
- 55,41,279,281,127,3,183,232,232,127,
- 127,188,127,277,124,278,3,3,3,3,
- 126,125,167,41,178,127,127,221,5,41,
- 127,127,222,127,188,127,163,69,55,128,
- 75,127,213,312,73,290,199,125,127,127,
- 127,73,277,70,71,162,162,162,162,3,
- 3,188,155,263,266,64,181,4,124,126,
- 222,222,127,129,238,28,41,171,65,60,
- 63,240,127,127,180,127,282,73,71,73,
- 70,213,315,225,22,128,220,220,126,127,
- 3,64,162,4,127,127,62,40,127,3,
- 124,60,238,296,129,282,163,294,128,295,
- 71,128,22,316,180,263,220,215,3,127,
- 163,269,249,280,40,70,128,69,283,127,
- 71,180,3,180,128,128,321,127,3,70,
- 71,155,128,180,127,302,80,78,1,162,
- 8,86,84,82,81,76,83,85,79,77,
- 60,75,220,180,180,71,238,153,163,253,
- 180,227,284,119,8,73,215,73,3,3,
- 3,191,3,124,162,124,179,127,163,227,
- 3,73,226,168,226,304,145,76,226,127,
- 127,91,320,168,155,199,155,303,127,3,
- 155,284,309,155,155,127,70,191,161,269,
- 162,190,71,122,301,155,190,8,155
+ 0,296,41,10,39,55,230,230,126,69,
+ 69,295,144,126,167,68,70,69,223,198,
+ 63,216,217,186,182,5,124,131,7,132,
+ 127,4,3,126,269,270,253,271,244,272,
+ 56,273,274,124,10,127,126,3,39,51,
+ 43,46,48,44,10,135,3,127,47,42,
+ 5,36,35,6,9,38,37,139,145,147,
+ 146,149,148,151,150,155,153,157,61,158,
+ 69,69,214,158,3,3,124,123,55,55,
+ 167,63,3,65,66,55,179,165,166,223,
+ 198,126,212,127,176,162,310,275,305,275,
+ 127,179,166,212,126,230,3,55,55,55,
+ 55,127,3,177,161,126,65,66,166,3,
+ 125,105,119,3,63,89,91,36,35,93,
+ 92,6,95,94,68,55,87,88,9,97,
+ 96,99,98,100,116,115,114,113,112,111,
+ 110,109,108,107,69,106,101,126,126,126,
+ 126,126,63,63,126,4,187,227,228,229,
+ 127,166,6,126,166,230,125,124,127,123,
+ 162,127,166,41,69,177,161,177,177,177,
+ 177,166,219,126,154,267,135,125,124,10,
+ 127,63,297,3,177,41,127,41,219,161,
+ 146,146,145,145,145,148,148,148,148,147,
+ 147,150,149,149,153,151,155,161,157,227,
+ 227,254,256,254,212,254,260,187,154,70,
+ 166,176,126,309,127,168,224,59,41,204,
+ 62,170,312,125,124,231,231,179,162,126,
+ 179,187,127,68,68,68,68,187,258,70,
+ 127,166,205,3,298,167,152,179,166,72,
+ 154,154,70,4,126,6,184,166,162,226,
+ 55,41,278,280,126,3,182,231,231,126,
+ 126,187,126,276,123,277,3,3,3,3,
+ 125,124,166,41,177,126,126,220,5,41,
+ 126,126,221,126,187,126,162,68,55,127,
+ 74,126,212,311,72,289,198,124,126,126,
+ 126,72,276,69,70,161,161,161,161,3,
+ 3,187,154,262,265,63,180,4,123,125,
+ 221,221,126,128,237,28,41,170,64,59,
+ 62,239,126,126,179,126,281,72,70,72,
+ 69,212,314,224,22,127,219,219,125,126,
+ 3,63,161,4,126,126,61,40,126,3,
+ 123,59,237,295,128,281,162,293,127,294,
+ 70,127,22,315,179,262,219,214,3,126,
+ 162,268,248,279,40,69,127,68,282,126,
+ 70,179,3,179,127,127,320,126,3,69,
+ 70,154,127,179,126,301,79,77,1,161,
+ 8,85,83,81,80,75,82,84,78,76,
+ 59,74,219,179,179,70,237,152,162,252,
+ 179,226,283,118,8,72,214,72,3,3,
+ 3,190,3,123,161,123,178,126,162,226,
+ 3,72,225,167,225,303,144,75,225,126,
+ 126,90,319,167,154,198,154,302,126,3,
+ 154,283,308,154,154,126,69,190,160,268,
+ 161,189,70,121,300,154,189,8,154
};
};
public final static char inSymb[] = InSymb.inSymb;
@@ -2521,7 +2524,6 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par
"SemiColon",
"LeftBrace",
"ERROR_TOKEN",
- "0",
"EOF_TOKEN",
"type_parameter_start",
"]",
@@ -2655,7 +2657,7 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par
public final String name(int index) { return name[index]; }
public final static int
- ERROR_SYMBOL = 61,
+ ERROR_SYMBOL = 60,
SCOPE_UBOUND = 116,
SCOPE_SIZE = 117,
MAX_NAME_LENGTH = 37;
@@ -2667,19 +2669,19 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par
public final static int
NUM_STATES = 539,
- NT_OFFSET = 123,
- LA_STATE_OFFSET = 5965,
+ NT_OFFSET = 122,
+ LA_STATE_OFFSET = 5963,
MAX_LA = 2147483647,
- NUM_RULES = 537,
+ NUM_RULES = 536,
NUM_NONTERMINALS = 202,
- NUM_SYMBOLS = 325,
+ NUM_SYMBOLS = 324,
SEGMENT_SIZE = 8192,
- START_STATE = 3143,
+ START_STATE = 3142,
IDENTIFIER_SYMBOL = 0,
- EOFT_SYMBOL = 121,
- EOLT_SYMBOL = 121,
- ACCEPT_ACTION = 5063,
- ERROR_ACTION = 5428;
+ EOFT_SYMBOL = 120,
+ EOLT_SYMBOL = 120,
+ ACCEPT_ACTION = 5062,
+ ERROR_ACTION = 5427;
public final static boolean BACKTRACK = true;
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParsersym.java
index e5631324a4f..0a69f975ee2 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParsersym.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParsersym.java
@@ -15,69 +15,69 @@ package org.eclipse.cdt.internal.core.dom.lrparser.cpp;
public interface CPPTemplateTypeParameterParsersym {
public final static int
- TK_asm = 65,
+ TK_asm = 64,
TK_auto = 26,
TK_bool = 11,
- TK_break = 77,
- TK_case = 78,
- TK_catch = 119,
+ TK_break = 76,
+ TK_case = 77,
+ TK_catch = 118,
TK_char = 12,
TK_class = 39,
TK_const = 23,
TK_const_cast = 43,
- TK_continue = 79,
- TK_default = 80,
- TK_delete = 66,
- TK_do = 81,
+ TK_continue = 78,
+ TK_default = 79,
+ TK_delete = 65,
+ TK_do = 80,
TK_double = 13,
TK_dynamic_cast = 44,
- TK_else = 122,
- TK_enum = 57,
+ TK_else = 121,
+ TK_enum = 56,
TK_explicit = 27,
- TK_export = 87,
+ TK_export = 86,
TK_extern = 28,
TK_false = 45,
TK_float = 14,
- TK_for = 82,
+ TK_for = 81,
TK_friend = 29,
- TK_goto = 83,
- TK_if = 84,
+ TK_goto = 82,
+ TK_if = 83,
TK_inline = 30,
TK_int = 15,
TK_long = 16,
TK_mutable = 31,
- TK_namespace = 60,
- TK_new = 67,
+ TK_namespace = 59,
+ TK_new = 66,
TK_operator = 7,
- TK_private = 103,
- TK_protected = 104,
- TK_public = 105,
+ TK_private = 102,
+ TK_protected = 103,
+ TK_public = 104,
TK_register = 32,
TK_reinterpret_cast = 46,
- TK_return = 85,
+ TK_return = 84,
TK_short = 17,
TK_signed = 18,
TK_sizeof = 47,
TK_static = 33,
TK_static_cast = 48,
- TK_struct = 58,
- TK_switch = 86,
+ TK_struct = 57,
+ TK_switch = 85,
TK_template = 41,
TK_this = 49,
- TK_throw = 62,
- TK_try = 75,
+ TK_throw = 61,
+ TK_try = 74,
TK_true = 50,
TK_typedef = 34,
TK_typeid = 51,
TK_typename = 10,
- TK_union = 59,
+ TK_union = 58,
TK_unsigned = 19,
- TK_using = 63,
+ TK_using = 62,
TK_virtual = 22,
TK_void = 20,
TK_volatile = 24,
TK_wchar_t = 21,
- TK_while = 76,
+ TK_while = 75,
TK_integer = 52,
TK_floating = 53,
TK_charconst = 54,
@@ -85,13 +85,13 @@ public interface CPPTemplateTypeParameterParsersym {
TK_identifier = 1,
TK_Completion = 2,
TK_EndOfCompletion = 8,
- TK_Invalid = 123,
- TK_LeftBracket = 64,
+ TK_Invalid = 122,
+ TK_LeftBracket = 63,
TK_LeftParen = 3,
- TK_Dot = 120,
- TK_DotStar = 92,
- TK_Arrow = 106,
- TK_ArrowStar = 90,
+ TK_Dot = 119,
+ TK_DotStar = 91,
+ TK_Arrow = 105,
+ TK_ArrowStar = 89,
TK_PlusPlus = 37,
TK_MinusMinus = 38,
TK_And = 9,
@@ -100,44 +100,43 @@ public interface CPPTemplateTypeParameterParsersym {
TK_Minus = 36,
TK_Tilde = 5,
TK_Bang = 42,
- TK_Slash = 93,
- TK_Percent = 94,
- TK_RightShift = 88,
- TK_LeftShift = 89,
+ TK_Slash = 92,
+ TK_Percent = 93,
+ TK_RightShift = 87,
+ TK_LeftShift = 88,
TK_LT = 55,
- TK_GT = 69,
- TK_LE = 95,
- TK_GE = 96,
- TK_EQ = 97,
- TK_NE = 98,
- TK_Caret = 99,
- TK_Or = 100,
- TK_AndAnd = 101,
- TK_OrOr = 102,
- TK_Question = 107,
- TK_Colon = 73,
+ TK_GT = 68,
+ TK_LE = 94,
+ TK_GE = 95,
+ TK_EQ = 96,
+ TK_NE = 97,
+ TK_Caret = 98,
+ TK_Or = 99,
+ TK_AndAnd = 100,
+ TK_OrOr = 101,
+ TK_Question = 106,
+ TK_Colon = 72,
TK_ColonColon = 4,
- TK_DotDotDot = 91,
- TK_Assign = 70,
- TK_StarAssign = 108,
- TK_SlashAssign = 109,
- TK_PercentAssign = 110,
- TK_PlusAssign = 111,
- TK_MinusAssign = 112,
- TK_RightShiftAssign = 113,
- TK_LeftShiftAssign = 114,
- TK_AndAssign = 115,
- TK_CaretAssign = 116,
- TK_OrAssign = 117,
- TK_Comma = 71,
- TK_RightBracket = 118,
- TK_RightParen = 74,
- TK_RightBrace = 72,
+ TK_DotDotDot = 90,
+ TK_Assign = 69,
+ TK_StarAssign = 107,
+ TK_SlashAssign = 108,
+ TK_PercentAssign = 109,
+ TK_PlusAssign = 110,
+ TK_MinusAssign = 111,
+ TK_RightShiftAssign = 112,
+ TK_LeftShiftAssign = 113,
+ TK_AndAssign = 114,
+ TK_CaretAssign = 115,
+ TK_OrAssign = 116,
+ TK_Comma = 70,
+ TK_RightBracket = 117,
+ TK_RightParen = 73,
+ TK_RightBrace = 71,
TK_SemiColon = 25,
- TK_LeftBrace = 68,
- TK_ERROR_TOKEN = 61,
- TK_0 = 56,
- TK_EOF_TOKEN = 121;
+ TK_LeftBrace = 67,
+ TK_ERROR_TOKEN = 60,
+ TK_EOF_TOKEN = 120;
public final static String orderedTerminalSymbols[] = {
"",
@@ -196,7 +195,6 @@ public interface CPPTemplateTypeParameterParsersym {
"floating",
"charconst",
"LT",
- "0",
"enum",
"struct",
"union",
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCParser.java
index e2518f68754..f294420f5ca 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCParser.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCParser.java
@@ -27,8 +27,10 @@ import org.eclipse.cdt.core.dom.lrparser.action.TokenMap;
import org.eclipse.cdt.internal.core.dom.parser.c.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.lrparser.action.gnu.GCCBuildASTParserAction;
+import org.eclipse.cdt.core.dom.lrparser.action.gnu.GCCSecondaryParserFactory;
public class GCCParser extends PrsStream implements RuleAction , IParserActionTokenProvider, IParser
{
@@ -174,12 +176,12 @@ public GCCParser() { // constructor
}
private void initActions(IASTTranslationUnit tu, Set<IParser.Options> options) {
- action = new C99BuildASTParserAction ( CNodeFactory.getDefault() , this, tu, astStack);
+ action = new C99BuildASTParserAction (this, tu, astStack, CNodeFactory.getDefault() , GCCSecondaryParserFactory.getDefault() );
action.setParserOptions(options);
- gnuAction = new GCCBuildASTParserAction ( CNodeFactory.getDefault() , this, tu, astStack);
+ gnuAction = new GCCBuildASTParserAction (this, tu, astStack, CNodeFactory.getDefault() );
gnuAction.setParserOptions(options);
@@ -241,8 +243,8 @@ public void setTokens(List<IToken> tokens) {
addToken(new Token(null, 0, 0, GCCParsersym.TK_EOF_TOKEN));
}
-public GCCParser(String[] mapFrom) { // constructor
- tokenMap = new TokenMap(GCCParsersym.orderedTerminalSymbols, mapFrom);
+public GCCParser(IParserActionTokenProvider parser) { // constructor
+ tokenMap = new TokenMap(GCCParsersym.orderedTerminalSymbols, parser.getOrderedTerminalSymbols());
}
@@ -333,7 +335,7 @@ private GCCBuildASTParserAction gnuAction;
}
//
- // Rule 26: postfix_expression ::= ( type_name ) { <openscope-ast> initializer_list comma_opt }
+ // Rule 26: postfix_expression ::= ( type_id ) { <openscope-ast> initializer_list comma_opt }
//
case 26: { action. consumeExpressionTypeIdInitializer(); break;
}
@@ -393,13 +395,13 @@ private GCCBuildASTParserAction gnuAction;
}
//
- // Rule 41: unary_expression ::= sizeof ( type_name )
+ // Rule 41: unary_expression ::= sizeof ( type_id )
//
case 41: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_sizeof); break;
}
//
- // Rule 43: cast_expression ::= ( type_name ) cast_expression
+ // Rule 43: cast_expression ::= ( type_id ) cast_expression
//
case 43: { action. consumeExpressionCast(IASTCastExpression.op_cast); break;
}
@@ -1083,13 +1085,13 @@ private GCCBuildASTParserAction gnuAction;
}
//
- // Rule 267: type_name ::= specifier_qualifier_list
+ // Rule 267: type_id ::= specifier_qualifier_list
//
case 267: { action. consumeTypeId(false); break;
}
//
- // Rule 268: type_name ::= specifier_qualifier_list abstract_declarator
+ // Rule 268: type_id ::= specifier_qualifier_list abstract_declarator
//
case 268: { action. consumeTypeId(true); break;
}
@@ -1279,18 +1281,48 @@ private GCCBuildASTParserAction gnuAction;
//
case 341: { gnuAction.consumeDeclarationASM(); break;
}
+
+ //
+ // Rule 352: unary_expression ::= __alignof__ unary_expression
+ //
+ case 352: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_alignOf); break;
+ }
+
+ //
+ // Rule 353: unary_expression ::= __alignof__ ( type_id )
+ //
+ case 353: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_alignof); break;
+ }
+
+ //
+ // Rule 354: unary_expression ::= typeof unary_expression
+ //
+ case 354: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); break;
+ }
+
+ //
+ // Rule 355: unary_expression ::= typeof ( type_id )
+ //
+ case 355: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_typeof); break;
+ }
//
- // Rule 365: designator_base ::= identifier_token :
+ // Rule 371: field_name_designator ::= identifier_token :
//
- case 365: { gnuAction.consumeDesignatorField(); break;
+ case 371: { gnuAction.consumeDesignatorField(); break;
}
//
- // Rule 366: designator_base ::= [ constant_expression ... constant_expression ]
+ // Rule 372: array_range_designator ::= [ constant_expression ... constant_expression ]
//
- case 366: { gnuAction.consumeDesignatorArray(); break;
+ case 372: { gnuAction.consumeDesignatorArray(); break;
}
+
+ //
+ // Rule 373: designated_initializer ::= <openscope-ast> field_name_designator initializer
+ //
+ case 373: { action. consumeInitializerDesignated(); break;
+ }
default:
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCParserprs.java
index 82c83721e78..8462625a5cb 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCParserprs.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCParserprs.java
@@ -69,262 +69,264 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym
3,1,3,1,4,0,1,1,1,3,
1,0,4,3,1,2,1,3,4,4,
6,1,0,1,3,1,3,0,1,4,
- 5,1,1,2,2,3,2,2,3,1,
- 1,1,1,1,2,5,-101,-50,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-2,0,0,
- -8,0,0,-7,-156,0,0,0,-225,-10,
- 0,0,0,0,0,0,0,0,-5,0,
- -28,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-86,0,0,-4,0,-11,
- -107,0,0,-12,0,-49,0,0,0,0,
- 0,-24,0,0,0,0,0,-25,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-158,0,0,-96,0,-205,
- 0,-221,-31,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-140,0,
- -115,0,-333,-3,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-48,0,
- -41,0,0,0,0,0,0,0,0,0,
- 0,0,-222,0,0,0,0,0,0,0,
- 0,0,-309,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-220,0,0,0,
- 0,0,0,0,0,0,0,-53,0,0,
- 0,0,0,0,0,0,0,0,0,-47,
- 0,0,0,0,0,0,0,0,-283,0,
- 0,0,0,0,0,0,0,0,0,-32,
- 0,-45,0,0,0,0,0,0,0,0,
- 0,0,-66,0,0,-168,-318,0,0,0,
- 0,0,0,0,0,0,0,-159,0,0,
- 0,0,0,0,0,0,0,-30,0,0,
- 0,-214,0,0,0,0,0,0,0,0,
- 0,-173,0,0,-54,0,0,0,0,0,
- -170,0,0,0,0,0,0,0,0,0,
- 0,0,0,-111,0,0,0,0,0,0,
- 0,-29,0,0,0,0,0,0,-56,0,
- -58,-321,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-177,0,-73,0,
- 0,0,0,0,0,0,0,0,0,0,
- -244,0,0,0,0,0,0,0,0,-59,
- 0,0,-27,-215,0,0,0,0,0,0,
- 0,0,0,0,0,-68,0,0,0,0,
- 0,-246,0,-79,0,0,0,0,0,0,
- 0,0,0,0,-181,0,-180,0,0,0,
- 0,0,0,0,-63,0,0,0,-186,0,
- 0,0,-46,-67,-334,0,0,0,0,0,
+ 5,2,4,2,4,1,1,2,2,3,
+ 2,2,3,1,1,1,1,1,1,1,
+ 2,5,3,-101,-45,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-2,0,0,0,-47,0,0,
+ -72,0,-112,0,0,0,-226,-3,0,0,
+ 0,0,0,0,0,0,0,0,-28,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,-5,0,-7,-4,0,-118,-8,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-10,0,0,0,0,
+ 0,0,0,-48,0,0,0,0,0,0,
+ 0,0,-253,0,-114,0,0,-175,-227,-46,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-142,-125,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-115,0,0,
+ 0,0,0,0,0,-11,0,0,0,0,
+ -224,0,0,0,0,0,0,0,0,0,
+ 0,-183,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-225,-170,0,0,0,
+ 0,0,0,0,0,0,-12,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-24,
+ -188,0,0,0,0,0,0,-289,0,0,
+ 0,0,0,0,0,0,0,0,-230,0,
+ -209,0,0,0,0,0,0,-25,0,0,
+ 0,0,0,0,-326,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-86,0,0,
+ 0,0,0,0,-62,0,0,0,-335,-214,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-31,0,0,-313,0,0,0,
+ 0,0,0,0,0,0,0,-41,-81,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ -111,-53,0,0,-54,-220,0,0,0,0,
+ 0,0,0,0,0,0,-96,0,-56,-329,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-66,0,0,-73,0,0,0,
+ 0,0,0,0,0,0,0,-49,-238,0,
+ -84,0,0,0,0,0,0,0,0,0,
+ 0,-215,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-317,0,-58,0,0,0,
+ 0,-79,-186,0,0,0,0,0,0,0,
+ 0,0,-32,-109,-59,0,0,0,0,0,
+ 0,0,0,0,0,0,-172,0,0,0,
+ 0,0,0,0,0,0,0,-63,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ -179,-218,0,0,0,0,0,0,0,0,
+ 0,0,-29,0,-100,0,0,0,-331,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ -177,0,0,0,0,0,0,0,0,0,
+ 0,0,-68,0,0,-343,-67,0,0,0,
+ 0,0,0,0,0,0,-61,-69,0,0,
0,0,0,0,0,-13,0,0,0,0,
- 0,-34,-81,0,-69,0,0,0,0,-308,
- -26,0,0,0,0,0,0,-70,0,0,
- 0,0,0,0,0,0,0,-216,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- -83,0,-250,0,0,0,0,0,-249,0,
- 0,0,0,-72,0,0,0,0,0,-36,
- 0,0,-113,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,-223,
- -183,0,0,0,0,0,0,0,0,0,
- 0,0,-43,0,0,0,0,0,0,-100,
- 0,-118,0,0,0,0,0,0,0,0,
- 0,0,-153,0,0,0,0,0,0,0,
- 0,0,-90,0,-332,0,0,0,0,0,
- 0,0,0,0,0,0,-84,-185,0,0,
- 0,0,0,0,0,0,0,-91,-57,-230,
- 0,0,0,0,0,0,0,0,-93,0,
- 0,0,-94,0,-97,-37,-108,0,-290,0,
- 0,0,0,0,0,0,0,0,0,-279,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-226,-174,0,0,-98,
- 0,0,0,0,0,0,0,0,0,-38,
- -82,0,0,0,0,0,0,0,0,0,
- 0,0,0,-187,-203,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,-26,0,0,0,-34,0,-36,-43,0,
+ -57,0,0,0,0,0,0,0,-216,-254,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-37,0,
+ 0,0,0,0,-285,0,0,0,0,0,
+ 0,0,0,-113,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-70,0,0,0,
+ 0,0,0,-83,0,0,0,-90,-155,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-91,0,
+ 0,0,-93,0,0,-108,0,-158,0,0,
+ 0,-94,-187,-38,0,0,0,0,0,0,
+ 0,0,0,-182,-234,0,0,0,0,0,
+ 0,0,0,0,0,0,-97,0,0,-89,
+ 0,-99,-296,-103,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,-105,0,0,0,0,-98,0,0,
+ 0,0,0,0,0,0,0,0,0,-176,
+ 0,-116,0,0,0,0,0,0,0,0,
+ 0,-189,-129,0,0,0,0,0,0,0,
+ 0,0,-332,0,-50,0,0,0,0,0,
+ 0,-231,0,0,0,-207,-190,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ -82,0,0,0,0,0,-64,0,0,0,
+ -110,0,0,-191,-208,0,0,0,0,0,
0,0,0,0,0,-87,0,0,0,0,
- 0,0,0,0,-231,0,0,0,-188,0,
- 0,0,0,0,0,0,0,0,0,0,
- -88,-95,0,0,0,0,0,0,0,-247,
- 0,0,-99,-189,0,0,0,0,0,0,
- 0,0,0,0,0,0,-103,0,0,0,
- 0,0,0,0,0,0,0,-291,-190,0,
- 0,0,0,0,0,0,0,0,-89,-110,
- 0,-204,0,0,0,0,0,0,0,0,
- 0,0,0,-191,0,0,0,0,0,0,
- 0,0,0,-144,0,0,-152,0,0,0,
- 0,0,0,0,-297,0,0,0,-192,0,
- 0,0,0,0,0,0,0,0,-227,-154,
- 0,-105,0,0,0,0,0,0,0,-320,
- 0,0,-340,-193,0,0,0,0,0,0,
- 0,0,0,0,-172,0,-116,0,0,0,
- 0,0,0,0,0,0,0,-127,-194,0,
- 0,0,0,0,0,0,0,0,-128,0,
- 0,-235,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-235,-192,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ -88,-95,-251,0,0,0,0,0,-250,0,
+ 0,0,-130,-193,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-146,0,0,0,
+ 0,0,0,0,0,0,0,0,-194,0,
+ 0,0,0,0,0,0,0,0,0,-316,
+ -154,-156,0,0,0,0,0,0,-258,0,
0,0,0,-195,0,0,0,0,0,0,
- 0,0,0,-232,0,0,-284,0,0,0,
- 0,0,0,0,-129,0,0,-130,-196,0,
- 0,0,0,0,0,0,0,0,-131,-292,
- 0,-132,0,0,0,0,0,0,0,-133,
- 0,0,-134,-197,0,0,0,0,0,0,
- 0,0,0,0,-300,0,-61,0,0,0,
- 0,0,0,0,-326,0,0,-135,-242,0,
- 0,0,0,0,0,0,0,0,-324,-311,
- -329,-136,0,0,0,0,0,0,0,-137,
- 0,0,-141,-248,0,0,0,0,0,0,
- 0,0,0,0,0,0,-64,0,0,0,
- 0,0,0,0,-336,0,0,-252,-145,0,
- 0,0,0,0,0,0,0,0,-147,-148,
- -149,0,0,0,0,0,0,0,-151,0,
- 0,0,-253,0,0,0,0,0,0,0,
- 0,0,0,-157,-162,-165,0,0,0,0,
- 0,0,0,-282,0,0,-166,-102,0,0,
- 0,-167,-104,0,0,0,0,-178,-217,-179,
- 0,0,0,0,0,0,0,0,0,-237,
- 0,0,0,0,-251,0,-263,0,0,0,
- -119,-264,0,0,0,0,0,0,0,0,
- 0,0,0,-265,-266,0,-293,-114,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-267,0,0,
- -315,-184,0,0,0,0,0,0,0,0,
- -268,-269,-270,-138,0,0,0,0,0,0,
- 0,0,0,0,-325,-254,0,0,0,0,
- 0,0,0,0,0,0,-271,-150,0,0,
- 0,0,0,0,0,0,0,0,-337,-272,
- 0,0,0,0,0,0,0,0,0,0,
- -273,-169,0,0,0,0,0,0,0,0,
- 0,0,-341,-274,0,0,0,0,0,0,
- 0,0,0,0,-275,-262,0,0,0,0,
- 0,0,0,-21,0,0,-276,-171,-182,-277,
- -278,-60,0,0,0,0,0,0,-218,-294,
- 0,0,0,0,0,0,0,0,0,0,
- -234,0,0,0,0,0,0,-303,0,0,
- 0,0,-198,-298,0,-304,-199,-233,0,0,
- 0,0,0,0,0,0,-313,0,0,0,
- 0,-322,0,0,0,-85,0,0,0,0,
- -236,0,-125,0,0,0,0,0,0,0,
- 0,0,0,0,-285,0,0,0,-323,0,
- 0,0,0,-238,0,-160,0,0,0,-299,
- -175,0,0,0,0,0,0,0,0,0,
- -239,0,0,0,0,0,0,0,0,0,
- 0,-243,0,0,0,-92,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-259,
- 0,0,0,0,-164,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,-14,0,-240,0,-301,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,-260,0,0,-261,0,0,-280,-245,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-307,
- -312,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-335,0,-319,0,-327,
- 0,0,0,0,0,0,0,-342,-305,0,
- 0,0,0,0,0,0,0,0,0,-339,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,-344,0,0,0,-76,0,0,0,
- 0,0,0,-139,0,0,0,0,0,0,
- 0,0,0,-219,0,0,0,0,0,0,
- 0,0,0,0,0,-228,0,0,0,0,
- 0,0,0,-117,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,-74,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-206,0,0,0,0,0,0,
- 0,0,-314,0,0,0,-112,0,0,-295,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-310,0,0,
+ 0,0,0,0,0,0,-174,0,0,0,
+ 0,0,0,0,0,0,0,-297,-196,0,
+ 0,0,0,0,0,0,0,0,0,-236,
+ 0,-239,0,0,0,0,0,0,-268,0,
+ 0,0,-303,-197,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-290,-298,0,0,
+ 0,0,0,-304,0,0,0,0,-198,0,
+ 0,0,0,0,0,0,0,0,0,-328,
+ 0,0,0,0,0,0,0,0,-305,0,
+ 0,0,0,-199,0,0,0,0,0,0,
+ 0,0,0,0,-306,0,-319,0,0,0,
+ 0,0,0,-344,0,0,0,-342,-246,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,-338,0,0,0,0,0,0,-131,0,
+ 0,0,-341,-252,0,0,0,0,0,0,
+ 0,0,0,0,-345,0,-349,0,0,0,
+ 0,0,0,-132,0,0,0,-256,-133,0,
+ 0,0,0,0,0,0,0,0,-351,-134,
+ -135,0,0,0,0,0,0,-136,0,0,
+ 0,-137,-257,0,0,0,0,0,0,0,
+ 0,0,0,0,-138,-139,0,0,0,0,
+ 0,0,-288,0,0,0,-143,0,0,-102,
+ -291,0,0,0,0,0,0,-219,-147,0,
+ 0,0,0,0,0,0,0,0,-149,0,
+ 0,-353,0,-104,0,0,0,0,0,-121,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,-150,0,0,-299,-151,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-323,
+ 0,0,0,0,0,0,0,0,0,0,
+ -153,-159,-164,-167,0,0,0,0,0,-168,
+ 0,0,0,-333,-169,0,0,0,0,0,
+ 0,0,0,0,-180,0,-27,-181,0,0,
+ 0,0,0,-241,0,0,0,-346,-255,0,
+ 0,0,0,0,0,0,0,0,-269,0,
+ -270,-271,0,0,0,0,0,-272,0,0,
+ 0,-350,-273,0,0,0,0,0,0,0,
+ 0,0,-274,0,-21,-275,0,0,0,0,
+ 0,-33,0,0,0,0,0,0,0,-276,
+ -166,0,0,0,0,0,-277,0,-278,-279,
+ -280,0,0,0,0,0,0,-221,-281,0,
+ 0,0,0,0,0,0,0,0,0,-117,
+ 0,0,-140,0,0,0,0,-152,0,0,
+ 0,0,-60,0,-282,0,0,0,0,-283,
+ -171,0,0,0,0,0,0,0,0,0,
+ -284,0,0,0,0,0,0,0,-300,0,
+ 0,0,-85,0,0,0,-309,-310,-311,0,
+ 0,0,0,0,0,0,-173,-184,0,-312,
+ 0,0,-321,-330,-334,0,0,0,0,0,
+ 0,0,0,-262,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-160,0,0,0,
+ -162,0,0,0,0,0,0,-75,0,-222,
0,0,0,0,0,0,0,0,0,0,
- -224,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-52,0,0,-306,0,0,0,
- -15,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-210,0,0,0,0,0,
+ -244,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-200,0,0,0,0,0,
+ 0,-23,0,0,0,0,0,0,0,0,
+ 0,0,-178,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-71,0,0,0,0,
+ 0,-249,0,0,-201,0,0,0,0,0,
+ -237,0,0,0,0,0,0,0,0,0,
+ -35,0,0,0,0,0,0,-76,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-92,0,-39,0,0,0,0,
+ 0,-240,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-141,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-80,0,0,0,-51,0,0,0,
+ 0,0,0,0,0,0,0,-242,0,0,
+ -6,0,0,-243,0,0,-318,0,0,0,
+ 0,0,-161,0,-232,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-9,
- 0,-161,0,-22,0,0,0,0,0,0,
+ 0,0,-9,0,0,-247,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-263,0,-42,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-163,0,-78,0,0,
+ 0,-322,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-241,0,0,
+ -119,0,0,0,0,0,0,0,0,0,
+ 0,-77,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,-229,0,0,0,0,0,0,0,0,
+ 0,0,-301,0,0,0,0,0,0,0,
+ 0,-106,0,0,0,0,0,0,0,0,
+ -52,0,0,0,0,0,0,0,-15,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-286,0,0,0,0,
- 0,-281,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-288,0,0,0,0,
- 0,-126,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-264,0,0,0,0,0,
+ 0,0,-265,0,0,0,0,0,-266,0,
+ 0,0,0,-71,0,0,0,0,0,0,
+ -30,0,0,0,0,0,0,0,0,0,
+ 0,-145,0,0,0,0,0,0,0,-80,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-289,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-163,0,0,0,
+ 0,0,0,0,0,0,0,0,-202,0,
+ -267,-286,-315,0,0,0,-165,0,0,0,
+ 0,0,-320,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-245,0,0,-327,0,0,
+ -287,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-292,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-330,0,0,-302,0,0,
+ -336,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-294,0,0,0,0,0,0,
+ 0,-348,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-295,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-287,0,0,0,0,0,0,
- 0,0,0,-338,0,0,0,0,0,0,
- -19,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-343,0,0,-328,0,0,0,0,0,
+ 0,0,-339,0,0,0,0,0,-308,0,
0,0,0,0,0,0,0,0,0,0,
- -18,0,-23,0,0,0,0,0,0,0,
- 0,0,0,0,0,-20,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-33,
- 0,0,0,0,-1,0,0,0,0,0,
+ 0,0,0,-347,0,0,0,0,-120,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -258,0,0,0,0,-40,0,0,0,0,
+ 0,-352,0,0,-144,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-296,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-211,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-6,0,-44,
- -200,0,0,0,0,0,0,-55,0,0,
+ 0,0,0,0,0,-307,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-155,0,
- 0,0,0,0,-123,0,0,0,0,0,
+ 0,0,0,0,-18,0,0,0,-20,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-1,0,-259,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-212,0,
+ 0,-127,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-40,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-213,0,0,0,0,
- 0,0,0,0,0,0,0,0,-255,-229,
- 0,0,0,0,0,0,-257,0,0,0,
- 0,0,0,-16,0,0,0,0,0,0,
+ 0,0,0,-325,0,0,0,0,-74,0,
+ -157,0,0,0,0,0,0,0,0,0,
+ 0,0,-223,0,0,0,0,0,0,0,
+ 0,0,0,-19,0,0,0,0,-22,0,
+ 0,0,-44,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-17,0,0,0,0,0,-65,
+ 0,0,-55,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-233,0,0,0,-107,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-120,0,
- 0,0,0,0,0,0,-121,0,0,0,
- 0,0,0,0,-122,0,0,0,0,0,
- 0,0,-124,0,0,0,0,0,0,0,
- 0,-201,0,0,-146,0,0,0,0,0,
- 0,0,-202,0,-207,0,0,0,0,0,
- 0,0,0,-75,0,0,0,0,0,0,
+ 0,0,-217,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-261,0,0,0,-203,
+ 0,0,0,0,-14,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-208,0,0,0,0,0,0,
- 0,-209,0,0,0,0,0,0,0,0,
- 0,-256,0,0,0,0,0,0,0,-142,
- 0,0,0,0,-109,-316,0,0,0,-35,
+ 0,0,0,0,0,0,-16,0,0,0,
+ -210,0,0,0,-17,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-39,0,0,0,0,-42,
- 0,0,0,0,0,0,0,0,-77,0,
- 0,0,0,-106,0,-176,0,0,0,0,
- 0,0,0,0,0,0,0,0,-143,0,
- 0,0,0,-317,0,0,0,-331,0,0,
+ 0,0,-65,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-122,
+ 0,0,0,0,0,0,0,-123,0,0,
+ 0,0,0,0,0,-124,0,0,0,0,
+ 0,0,0,-126,0,0,0,0,0,0,
+ 0,-204,0,-205,0,0,-248,0,0,-206,
+ 0,-228,0,0,0,-148,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ -211,0,0,0,0,0,0,0,-212,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-314,0,0,-213,0,0,
+ 0,0,0,0,0,-260,0,0,0,0,
+ 0,0,0,-51,0,0,0,0,0,0,
+ -78,0,-185,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-302,0,
+ -128,0,0,0,0,0,0,-324,0,0,
+ 0,0,0,0,0,-337,0,0,0,0,
+ 0,0,-293,0,0,-340,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0
+ 0,0,0,0,0,0,0,0,0,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;
@@ -334,308 +336,310 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym
public interface BaseAction {
public final static char baseAction[] = {
- 118,1,44,44,21,21,50,50,24,24,
+ 118,1,44,44,20,20,50,50,24,24,
2,2,2,2,3,3,3,4,4,5,
- 5,5,5,5,5,5,5,74,74,98,
+ 5,5,5,5,5,5,5,75,75,98,
98,6,6,6,6,6,6,6,6,6,
6,6,7,7,8,8,8,8,9,9,
- 9,14,14,14,15,15,15,15,15,16,
- 16,16,17,17,18,18,19,19,20,20,
+ 9,10,10,10,15,15,15,15,15,16,
+ 16,16,17,17,18,18,19,19,21,21,
22,22,23,23,26,26,26,26,26,26,
- 26,26,26,26,26,26,37,32,25,119,
- 119,100,100,59,38,38,38,38,38,38,
- 38,39,39,39,33,33,101,101,75,75,
- 40,40,41,41,41,67,67,42,42,42,
+ 26,26,26,26,26,26,37,30,25,119,
+ 119,100,100,60,38,38,38,38,38,38,
+ 38,39,39,39,33,33,101,101,76,76,
+ 40,40,41,41,41,70,70,42,42,42,
42,43,43,43,43,43,53,53,29,29,
29,29,29,54,54,54,89,89,84,84,
84,84,85,85,85,86,86,86,87,87,
87,88,88,88,102,102,90,90,91,55,
- 57,57,57,57,57,68,70,70,70,70,
- 70,70,70,70,70,70,70,70,79,79,
- 27,27,76,76,120,121,80,80,77,77,
- 77,92,103,103,104,104,93,93,93,61,
- 122,122,105,94,94,94,78,78,123,106,
- 106,107,107,95,95,30,31,31,31,56,
+ 57,57,57,57,57,71,72,72,72,72,
+ 72,72,72,72,72,72,72,72,80,80,
+ 27,27,77,77,120,121,81,81,78,78,
+ 78,92,103,103,104,104,93,93,93,59,
+ 122,122,105,94,94,94,79,79,123,106,
+ 106,107,107,95,95,31,32,32,32,56,
51,51,45,45,45,45,34,34,35,46,
46,47,36,36,108,108,48,125,125,124,
124,52,52,52,52,52,52,52,52,52,
- 109,60,60,60,60,49,81,81,71,71,
- 71,72,72,62,62,126,126,83,83,82,
- 82,82,63,63,63,64,65,65,65,66,
- 66,66,66,69,69,69,73,127,99,99,
+ 109,61,61,61,61,49,82,82,73,73,
+ 73,74,74,63,63,126,126,69,69,83,
+ 83,83,64,64,64,65,66,66,66,67,
+ 67,67,67,62,62,62,68,127,99,99,
99,99,96,128,129,129,130,130,131,131,
118,118,132,132,110,110,110,110,133,133,
- 111,111,111,112,112,10,10,10,28,28,
- 11,11,134,134,113,113,113,114,114,135,
- 135,115,115,12,12,136,136,116,116,116,
- 13,58,137,137,138,138,117,117,117,97,
- 97,97,53,54,91,91,91,105,105,105,
- 123,120,121,49,92,130,130,314,647,14,
- 19,15,1218,1207,44,1229,1268,353,315,316,
- 317,1265,1282,1279,1293,1290,1332,1318,223,1340,
- 74,487,127,91,34,411,933,134,215,1703,
- 97,14,19,15,1218,42,44,1229,1268,1206,
- 821,483,1592,1265,1282,1279,1293,1290,1332,1591,
- 87,136,133,135,159,1206,933,1651,1366,2124,
- 160,707,489,126,573,138,487,165,353,315,
- 316,317,584,142,145,148,151,1752,627,124,
- 87,2120,806,2031,2361,2376,1584,1157,134,215,
- 199,313,448,226,234,411,933,1406,483,1676,
- 1902,933,1703,405,14,19,15,1218,42,44,
- 1229,1268,136,133,135,159,1265,1282,1564,1428,
- 87,1229,1017,472,378,89,138,1674,165,353,
- 315,316,317,311,142,145,148,151,1752,411,
- 2704,346,2120,806,2031,2361,2376,1584,104,134,
- 215,256,215,1703,194,14,19,15,1218,42,
- 44,1229,1268,1550,642,1681,391,1265,1282,1279,
- 1293,1290,1575,136,133,135,159,1703,310,14,
- 19,15,1218,42,44,1229,1268,138,224,165,
- 1669,1265,1282,1279,1551,142,145,148,151,1752,
- 1889,1923,779,2120,806,2031,2361,2376,1584,1637,
- 533,14,19,15,1218,1207,44,1229,1268,1785,
- 393,233,504,1265,1282,1279,1293,1290,1332,1318,
- 958,1340,74,411,431,283,706,1659,533,14,
- 19,15,1218,1207,44,1229,1268,2620,411,933,
- 284,1265,1282,1279,1293,1290,1332,1318,1606,1340,
- 74,394,1703,283,14,19,15,1218,42,44,
- 1229,1268,791,87,229,966,1265,1488,288,334,
- 1691,1791,1369,14,19,15,1218,1207,44,1229,
- 1268,1642,1315,294,1229,1265,1282,1279,1293,1290,
- 1332,1318,1573,1340,74,289,288,331,820,1374,
- 1369,725,1524,533,14,19,15,1218,1207,44,
- 1229,1268,182,321,256,215,1265,1282,1279,1293,
- 1290,1332,1318,289,1340,74,945,1736,283,413,
- 491,14,19,15,1218,1207,44,1229,1268,323,
- 1107,833,489,1265,1282,1279,1293,1290,1332,1318,
- 610,1340,74,325,1703,1468,14,19,15,1218,
- 42,44,1229,1268,335,765,411,2755,1265,1501,
- 199,290,1736,241,1580,1369,14,19,15,1218,
- 1207,44,1229,1268,898,1439,329,1229,1265,1282,
- 1279,1293,1290,1332,1318,947,1340,74,291,1662,
- 283,1090,1017,868,1060,1681,1702,14,19,15,
- 1218,1207,44,1229,1268,257,215,256,215,1265,
- 1282,1279,1293,1290,1332,1318,626,1340,74,257,
- 215,283,417,325,194,443,353,315,316,317,
- 1896,699,2488,157,1118,1681,1165,1369,854,664,
- 730,318,315,316,317,230,134,215,1703,189,
- 14,19,15,1218,42,44,1229,1268,853,2024,
- 344,525,1502,1706,292,592,226,645,1369,417,
- 144,133,135,159,1889,1967,220,783,223,679,
- 417,969,2097,1725,901,14,19,15,1218,1207,
- 44,1229,1268,257,215,233,1428,1265,1282,1279,
- 1293,1290,1332,1318,1190,1340,74,188,1606,1492,
- 1703,1229,14,19,15,1218,42,44,1229,1268,
- 730,154,558,1879,1265,1282,1279,1293,1587,333,
- 1206,1725,1747,368,14,19,15,1218,40,436,
- 345,256,215,1703,227,14,19,15,1218,1207,
- 44,1229,1268,1211,126,1896,509,1265,1282,1279,
- 1293,1290,1332,1318,212,1340,74,1154,1502,91,
- 14,19,15,1218,1207,44,1229,1268,1381,1831,
- 1619,489,1265,1282,1279,1293,1290,1332,1318,1506,
- 1340,74,779,1529,1516,37,1013,411,2796,1791,
- 1031,14,19,15,1218,1207,44,1229,1268,1874,
- 1889,2027,242,1265,1282,1279,1293,1290,1332,1318,
- 1368,1340,74,784,336,331,1578,1206,1789,1193,
- 1703,280,14,19,15,1218,42,44,1229,1268,
- 417,1253,262,1406,1265,1282,1279,1293,1290,1332,
- 1318,197,1340,93,1703,1248,14,19,15,1218,
- 1207,44,1229,1268,347,341,1253,190,1265,1282,
- 1279,1293,1290,1332,1318,791,1340,74,278,1703,
- 85,14,19,15,1218,1207,44,1229,1268,1405,
- 123,1253,1253,1265,1282,1279,1293,1290,1332,1318,
- 791,1340,74,163,1703,84,14,19,15,1218,
- 1207,44,1229,1268,330,122,111,1604,1265,1282,
- 1279,1293,1290,1332,1318,285,1340,74,791,1703,
- 83,14,19,15,1218,1207,44,1229,1268,417,
- 1182,767,1248,1265,1282,1279,1293,1290,1332,1318,
- 206,1340,74,23,1703,82,14,19,15,1218,
- 1207,44,1229,1268,411,1065,1180,1253,1265,1282,
- 1279,1293,1290,1332,1318,791,1340,74,183,1703,
- 81,14,19,15,1218,1207,44,1229,1268,1610,
- 1253,125,1203,1265,1282,1279,1293,1290,1332,1318,
- 791,1340,74,791,1703,80,14,19,15,1218,
- 1207,44,1229,1268,121,411,721,1730,1265,1282,
- 1279,1293,1290,1332,1318,207,1340,74,1825,1703,
- 79,14,19,15,1218,1207,44,1229,1268,782,
- 22,277,1253,1265,1282,1279,1293,1290,1332,1318,
- 493,1340,74,26,1703,78,14,19,15,1218,
- 1207,44,1229,1268,411,579,1665,1253,1265,1282,
- 1279,1293,1290,1332,1318,930,1340,74,779,1703,
- 77,14,19,15,1218,1207,44,1229,1268,360,
- 1861,1988,285,1265,1282,1279,1293,1290,1332,1318,
- 702,1340,74,509,1703,76,14,19,15,1218,
- 1207,44,1229,1268,196,411,607,706,1265,1282,
- 1279,1293,1290,1332,1318,1308,1340,74,1758,1703,
- 75,14,19,15,1218,1207,44,1229,1268,417,
- 1253,1253,900,1265,1282,1279,1293,1290,1332,1318,
- 1118,1340,74,1306,1703,92,14,19,15,1218,
- 42,44,1229,1268,2345,117,297,1879,1265,1282,
- 1279,1293,1290,1332,1318,417,1340,93,1703,1247,
- 14,19,15,1218,1207,44,1229,1268,340,1824,
- 1390,387,1265,1282,1279,1293,1290,1332,1318,64,
- 1340,74,299,1703,1624,14,19,15,1218,1207,
- 44,1229,1268,214,1855,771,1714,1265,1282,1279,
- 1293,1290,1332,1318,347,1340,74,489,1832,1680,
- 322,1107,575,1844,318,315,316,317,286,1703,
- 1881,14,19,15,1218,42,44,1229,1268,1552,
- 1612,1418,2780,1503,338,1276,295,1402,592,226,
- 231,1703,1575,14,19,15,1218,42,39,221,
- 783,223,225,815,1375,1851,276,1703,1294,14,
- 19,15,1218,42,44,1229,1268,271,1016,1179,
- 274,1265,1282,1279,1293,1290,1332,1318,607,1340,
- 93,1703,1294,14,19,15,1218,42,44,1229,
- 1268,742,976,1023,1879,1265,1282,1279,1293,1290,
- 1332,1318,243,1340,93,1703,1294,14,19,15,
- 1218,42,44,1229,1268,232,204,1070,1879,1265,
- 1282,1279,1293,1290,1332,1318,245,1340,93,1703,
- 1259,14,19,15,1218,42,44,1229,1268,350,
- 205,1910,1879,1265,1282,1279,1293,1290,1332,1318,
- 244,1340,93,1703,1107,14,19,15,1218,42,
- 44,1229,1268,320,1826,1429,1294,1265,1282,1279,
- 1293,1290,1332,1318,1428,1340,93,727,1879,1833,
- 1551,1774,190,367,353,315,316,317,1838,1703,
- 1856,14,19,15,1218,42,44,1229,1268,339,
- 236,1849,933,1527,134,215,110,86,1452,1093,
- 20,920,1863,1879,1294,95,1802,1879,1879,1082,
- 108,94,96,97,98,99,87,1568,137,133,
- 135,159,1073,115,2742,109,1,367,16,351,
- 352,1879,139,1769,165,14,19,15,1218,33,
- 143,146,149,152,1752,1849,933,106,246,1862,
- 110,86,2206,1093,1879,920,252,367,1257,95,
- 1294,770,489,1082,108,94,96,97,98,99,
- 87,1879,3017,1646,3017,2226,314,115,3017,109,
- 110,86,1850,1093,352,920,896,933,3017,95,
- 199,3017,2254,1082,108,94,96,97,98,99,
- 1879,107,3017,325,247,699,2480,3017,3017,109,
- 110,86,1330,1093,352,318,315,316,317,95,
- 3017,1618,1017,1082,1404,94,96,97,98,99,
- 3017,106,496,2024,127,367,402,3017,3017,592,
- 226,231,318,315,316,317,318,315,316,317,
- 220,783,223,225,195,3017,2097,1754,110,86,
- 2390,1093,1879,920,2780,1879,3017,95,1879,715,
- 2480,1082,108,94,96,97,98,99,3017,318,
- 315,316,317,1626,105,815,21,109,276,275,
- 1879,1879,352,3017,3017,154,558,1970,3017,271,
- 1016,1179,274,592,226,231,1877,368,1879,107,
- 1879,281,1331,3017,220,783,223,225,1294,1703,
- 1600,14,19,15,1218,42,44,1229,1268,282,
- 1879,2314,3017,1265,1282,1279,1293,1290,1332,1318,
- 3017,1340,73,1294,3017,3017,3017,699,2480,3017,
- 296,2342,590,3017,474,2580,3017,318,315,316,
- 317,3017,298,2446,1703,3017,14,19,15,1218,
- 42,44,1229,1268,200,2024,750,2212,1540,3017,
- 3017,592,226,231,411,367,3017,366,592,226,
- 231,1280,220,783,223,225,3017,279,2097,220,
- 783,223,225,1164,489,265,276,3017,3017,87,
- 592,226,231,199,3017,3017,1627,269,1016,1179,
- 274,220,783,223,225,3017,3017,913,276,3017,
- 3017,3017,1874,3017,411,933,266,155,558,269,
- 1016,1179,274,1344,2480,2481,3017,927,489,3017,
- 715,2480,3017,318,315,316,317,3017,1788,87,
- 319,315,316,317,3017,261,1576,1623,1849,933,
- 3017,1970,3017,3017,1504,1343,1874,592,226,231,
- 263,411,933,3017,592,226,231,3017,220,783,
- 223,225,3017,87,1600,220,783,223,225,3017,
- 115,1600,3017,3017,699,2480,87,1164,489,261,
- 3017,718,3017,1590,319,315,316,317,1504,1343,
- 3017,353,315,316,317,1703,3017,14,19,15,
- 1218,42,44,1229,1447,1830,1874,2446,592,226,
- 231,134,215,3017,2756,3017,841,3017,201,220,
- 783,223,225,3017,3017,2158,318,315,316,317,
- 3017,3017,3017,3017,3017,147,133,135,159,261,
- 3017,1589,3017,841,2780,3017,3017,1059,1828,1343,
- 592,226,231,318,315,316,317,318,315,316,
- 317,221,783,223,225,815,3017,3017,3017,3017,
- 1443,2780,943,933,629,2789,3017,592,226,1380,
- 353,315,316,317,318,315,316,317,221,783,
- 223,1379,815,3017,3017,3017,110,86,3017,1093,
- 134,215,2780,3017,3017,95,990,933,1109,1082,
- 103,94,96,97,98,99,3017,3017,318,315,
- 316,317,3017,511,141,133,135,159,1037,933,
- 110,86,3017,1093,2426,3017,2809,3017,140,95,
- 165,3017,3017,1082,101,94,96,97,98,99,
- 3017,3017,110,86,3017,1093,1084,933,3017,3017,
- 3017,95,1400,489,3017,1082,102,94,96,97,
- 98,99,318,315,316,317,1131,933,3017,3017,
- 110,86,1769,1093,14,19,15,1218,32,95,
- 2780,1874,3017,1082,118,94,96,97,98,99,
- 110,86,3017,1093,1178,933,3017,3017,3017,95,
- 3017,511,3017,1082,114,94,96,97,98,99,
- 3017,3017,1414,3017,261,3017,3017,3017,110,86,
- 3017,1093,3017,1810,1343,1225,933,95,1837,489,
- 3017,1082,1637,94,96,97,98,99,318,315,
- 316,317,3017,3017,411,933,3017,3017,3017,110,
- 86,3017,1093,3017,1272,933,2780,1874,95,3017,
- 3017,670,1082,113,94,96,97,98,99,87,
- 3017,318,315,316,317,3017,1811,511,110,86,
- 3017,1093,1319,933,3017,1849,933,95,1756,2775,
- 261,1082,120,94,96,97,98,99,3017,1810,
- 1343,781,3017,381,2480,3017,110,86,3017,1093,
- 87,353,315,316,317,95,844,115,3017,1082,
- 119,94,96,97,98,99,353,315,316,317,
- 965,134,215,3017,3017,564,428,592,226,231,
- 319,315,316,317,3017,3017,134,215,220,783,
- 223,225,1850,1030,913,150,133,135,159,306,
- 3017,1569,2288,3017,409,3017,841,3017,3017,3017,
- 153,133,135,159,3017,3017,318,315,316,317,
- 3017,3017,279,3017,986,3017,1436,3017,305,3017,
- 3017,3017,3017,352,2780,3017,318,315,316,317,
- 448,226,235,1703,3017,14,19,15,1218,42,
- 44,1229,1452,276,2814,815,3017,3017,637,428,
- 629,1352,2587,3017,269,1016,1179,274,629,3017,
- 318,315,316,317,3017,3017,3017,3017,318,315,
- 316,317,306,1788,3017,302,304,409,2780,1299,
- 367,3017,3017,388,3017,1546,2780,14,19,15,
- 1218,42,35,3017,3017,3017,3017,2478,3017,511,
- 3017,305,3017,276,87,3017,352,511,920,3017,
- 2066,115,3017,3017,269,1016,1179,274,2093,1703,
- 3017,14,19,15,1218,42,44,1464,3017,248,
- 3017,3017,1611,268,3017,3017,1703,352,14,19,
- 15,1218,42,44,1465,3017,1232,3017,3017,1546,
- 629,14,19,15,1218,42,35,629,303,304,
- 318,315,316,317,392,3017,3017,318,315,316,
- 317,3017,3017,3017,318,315,316,317,2780,3017,
- 3017,3017,3017,3017,524,2780,3017,3017,3017,3017,
- 1062,3017,2760,249,318,315,316,317,3017,511,
- 318,315,316,317,3017,3017,511,3017,3017,3017,
- 1414,3017,2760,3017,3017,3017,3017,1756,2794,1703,
- 3017,14,19,15,1218,42,38,1703,3017,14,
- 19,15,1218,42,37,1703,3017,14,19,15,
- 1218,42,36,1703,3017,14,19,15,1218,42,
- 34,3017,411,367,3017,1703,812,14,19,15,
- 1218,42,35,411,367,1703,3017,14,19,15,
- 1218,42,47,3017,918,489,870,87,3017,3017,
- 3017,199,3017,3017,1627,3017,3017,3017,87,3017,
- 3017,3017,199,3017,1703,1627,14,19,15,1218,
- 42,46,1703,920,14,19,15,1218,42,45,
- 3017,1182,1615,2481,14,19,15,1218,42,43,
- 1887,489,3017,3017,2481,1019,1870,308,3017,3017,
- 968,3017,352,3017,3017,1720,318,315,316,317,
- 319,315,316,317,3017,919,1782,3017,3017,920,
- 1012,3017,1428,312,2818,319,315,316,317,1106,
- 319,315,316,317,1153,3017,1019,3017,3017,319,
- 315,316,317,309,319,315,316,317,352,1156,
- 3017,3017,3017,3017,1895,3017,3017,3017,1903,319,
- 315,316,317,1428,319,315,316,317,319,315,
- 316,317,3017,3017,3017,3017,3017,2750,3017,3017,
- 3017,3017,3017,3017,3017,3017,3017,3017,3017,3017,
- 211,3017,3017,3017,3017,3017,3017,3017,3017,3017,
- 3017,707,1430,3017,3017,3017,3017,3017,3017,3017,
- 3017,3017,3017,3017,3017,3017,3017,3017,3017,3017,
- 3017,3017,3017,3017,3017,3017,3017,3017,3017,3017,
- 3017,211,3017,3017,3017,3017,3017,3017,3017,3017,
- 3017,3017,752,1430,3017,0,1,494,0,1,
- 400,0,1,430,0,1,434,0,400,128,
- 0,430,128,0,434,128,0,400,129,0,
- 430,129,0,434,129,0,400,130,0,430,
- 130,0,434,130,0,434,187,0,430,187,
- 0,400,187,0,187,191,0,434,186,0,
- 430,186,0,400,186,0,186,191,0,400,
- 131,0,430,131,0,434,131,0,400,132,
- 0,430,132,0,434,132,0,179,228,0,
- 3024,1,0,225,237,0,1,3256,0,225,
- 238,0,7,9,0,179,17,0,178,18,
- 0,1,3245,0,112,2285,0
+ 111,111,111,112,112,11,11,11,28,28,
+ 12,12,134,134,113,113,113,114,114,135,
+ 135,115,115,13,13,136,136,116,116,116,
+ 14,58,137,137,138,138,117,117,117,97,
+ 97,97,6,6,6,6,53,54,91,91,
+ 91,105,105,105,123,120,121,49,92,130,
+ 130,139,140,96,324,1458,14,19,15,1093,
+ 1082,44,1193,1414,1389,357,315,316,317,1430,
+ 1419,1438,1431,1455,350,1442,1456,74,1936,2489,
+ 91,1936,403,600,498,134,215,1731,944,14,
+ 19,15,1093,42,44,1193,1414,1389,233,231,
+ 1683,233,1430,1419,1438,1431,1659,229,136,133,
+ 135,159,1905,647,902,36,1378,2519,1779,790,
+ 14,19,15,1093,354,138,165,357,315,316,
+ 317,142,145,148,151,2605,101,126,1963,886,
+ 2089,2415,2419,1625,169,1768,261,134,215,313,
+ 608,226,234,742,1554,794,1673,1467,1162,1731,
+ 511,14,19,15,1093,42,44,1193,1414,1389,
+ 136,133,135,159,1430,1419,1438,1685,1393,1542,
+ 1575,14,19,15,1093,42,35,138,165,357,
+ 315,316,317,142,145,148,151,2605,970,243,
+ 1963,886,2089,2415,2419,1625,166,1728,182,134,
+ 215,1731,230,14,19,15,1093,42,44,1193,
+ 1414,1389,1019,248,439,435,1430,1419,1650,256,
+ 215,311,136,133,135,159,1731,750,14,19,
+ 15,1093,42,44,1193,1414,1389,488,212,138,
+ 165,1430,1651,257,215,142,145,148,151,2605,
+ 508,1068,1963,886,2089,2415,2419,1625,1635,765,
+ 14,19,15,1093,1082,44,1193,1414,1389,1566,
+ 581,1979,979,1430,1419,1438,1431,1455,539,1442,
+ 1456,74,257,215,283,1659,765,14,19,15,
+ 1093,1082,44,1193,1414,1389,89,1013,647,979,
+ 1430,1419,1438,1431,1455,1218,1442,1456,74,491,
+ 1731,283,14,19,15,1093,42,44,1193,1599,
+ 288,278,124,87,399,333,1479,1731,1231,14,
+ 19,15,1093,42,44,1193,1414,1389,840,396,
+ 323,1044,1430,1419,1438,1431,1455,288,1442,1456,
+ 73,970,232,1479,289,940,1731,1230,14,19,
+ 15,1093,42,44,1193,1414,1626,231,1761,1950,
+ 1518,765,14,19,15,1093,1082,44,1193,1414,
+ 1389,289,256,215,1393,1430,1419,1438,1431,1455,
+ 2181,1442,1456,74,169,2569,283,415,518,14,
+ 19,15,1093,1082,44,1193,1414,1389,790,1578,
+ 979,1085,1430,1419,1438,1431,1455,104,1442,1456,
+ 74,336,1731,475,14,19,15,1093,42,44,
+ 1193,1601,290,542,87,1568,785,662,1479,115,
+ 295,241,1574,794,14,19,15,1093,1082,44,
+ 1193,1414,1389,390,1134,900,345,1430,1419,1438,
+ 1431,1455,1735,1442,1456,74,291,1875,283,14,
+ 19,15,1093,1082,44,1193,1414,1389,986,1307,
+ 2653,1575,1430,1419,1438,1431,1455,245,1442,1456,
+ 74,1577,1731,331,14,19,15,1093,42,44,
+ 1193,1414,1389,450,157,647,1641,1613,347,1683,
+ 1479,14,19,15,1093,1082,44,1193,1414,1389,
+ 310,1248,498,321,1430,1419,1438,1431,1455,126,
+ 1442,1456,74,169,784,283,1707,989,14,19,
+ 15,1093,1082,44,1193,1414,1389,750,1333,211,
+ 199,1430,1419,1438,1431,1455,591,1442,1456,74,
+ 821,1578,283,1734,639,294,1183,357,315,316,
+ 317,373,843,2543,839,370,742,1479,742,1902,
+ 1080,1293,329,318,315,316,317,134,215,1731,
+ 1389,14,19,15,1093,42,44,1602,292,227,
+ 2081,1131,1966,189,1479,188,375,226,685,542,
+ 144,133,135,159,195,1936,2785,220,480,223,
+ 699,257,215,2804,1755,2813,14,19,15,1093,
+ 1082,44,1193,1414,1389,280,867,601,681,1430,
+ 1419,1438,1431,1455,361,1442,1456,74,1035,1731,
+ 773,14,19,15,1093,1082,44,1193,1414,1389,
+ 322,1044,154,682,1430,1419,1438,1431,1455,1230,
+ 1442,1456,74,1476,1105,91,169,1823,169,979,
+ 738,1470,1501,515,742,14,19,15,1093,1082,
+ 44,1193,1414,1389,970,1018,498,464,1430,1419,
+ 1438,1431,1455,87,1442,1456,74,39,1892,1239,
+ 742,190,872,1875,1525,14,19,15,1093,1082,
+ 44,1193,1414,1389,1905,256,215,242,1430,1419,
+ 1438,1431,1455,1381,1442,1456,74,1232,1731,331,
+ 14,19,15,1093,42,44,1193,1414,1389,1554,
+ 647,1842,1854,1430,1419,1438,1431,1455,262,1442,
+ 1456,93,1731,1900,14,19,15,1093,1082,44,
+ 1193,1414,1389,742,197,419,920,1430,1419,1438,
+ 1431,1455,1992,1442,1456,74,1142,1731,85,14,
+ 19,15,1093,1082,44,1193,1414,1389,1553,127,
+ 297,698,1430,1419,1438,1431,1455,1902,1442,1456,
+ 74,721,1024,84,1731,1142,14,19,15,1093,
+ 1082,44,1193,1414,1389,341,698,340,330,1430,
+ 1419,1438,1431,1455,277,1442,1456,74,1162,1731,
+ 83,14,19,15,1093,1082,44,1193,1414,1389,
+ 123,698,698,1162,1430,1419,1438,1431,1455,1577,
+ 1442,1456,74,1264,1731,82,14,19,15,1093,
+ 1082,44,1193,1414,1389,122,111,169,1168,1430,
+ 1419,1438,1431,1455,23,1442,1456,74,285,1731,
+ 81,14,19,15,1093,1082,44,1193,1414,1389,
+ 2035,698,698,206,1430,1419,1438,1431,1455,794,
+ 1442,1456,74,22,1731,80,14,19,15,1093,
+ 1082,44,1193,1414,1389,125,121,169,2717,1430,
+ 1419,1438,1431,1455,1293,1442,1456,74,1162,1731,
+ 79,14,19,15,1093,1082,44,1193,1414,1389,
+ 169,588,698,244,1430,1419,1438,1431,1455,794,
+ 1442,1456,74,1162,1731,78,14,19,15,1093,
+ 1082,44,1193,1414,1389,1330,1471,698,2011,1430,
+ 1419,1438,1431,1455,794,1442,1456,74,183,1731,
+ 77,14,19,15,1093,1082,44,1193,1414,1389,
+ 1162,1937,196,20,1430,1419,1438,1431,1455,794,
+ 1442,1456,74,207,1731,76,14,19,15,1093,
+ 1082,44,1193,1414,1389,169,615,698,246,1430,
+ 1419,1438,1431,1455,1391,1442,1456,74,296,1731,
+ 75,14,19,15,1093,1082,44,1193,1414,1389,
+ 1368,2846,698,247,1430,1419,1438,1431,1455,755,
+ 1442,1456,74,2035,1731,92,14,19,15,1093,
+ 42,44,1193,1414,1389,742,117,1162,296,1430,
+ 1419,1438,1431,1455,1350,1442,1456,93,1731,842,
+ 14,19,15,1093,1082,44,1193,1414,1389,794,
+ 917,645,299,1430,1419,1438,1431,1455,741,1442,
+ 1456,74,1084,1731,1314,14,19,15,1093,1082,
+ 44,1193,1414,1389,214,368,590,26,1430,1419,
+ 1438,1431,1455,358,1442,1456,74,1189,1407,1339,
+ 1883,1578,979,298,318,315,316,317,1731,1404,
+ 14,19,15,1093,42,44,1193,1414,1389,1952,
+ 1691,1987,794,1623,1607,284,87,375,226,231,
+ 1731,115,14,19,15,1093,42,39,221,480,
+ 223,225,878,1922,338,276,1731,802,14,19,
+ 15,1093,42,44,1193,1414,1389,271,599,1112,
+ 274,1430,1419,1438,1431,1455,372,1442,1456,93,
+ 1731,1357,14,19,15,1093,42,44,1193,1414,
+ 1389,66,1145,1249,1361,1430,1419,1438,1431,1455,
+ 664,1442,1456,93,1731,1259,14,19,15,1093,
+ 42,44,1193,1414,1389,998,204,396,2023,1430,
+ 1419,1438,1431,1455,1549,1442,1456,93,1731,1569,
+ 14,19,15,1093,42,44,1193,1414,1389,2046,
+ 205,2048,1980,1430,1419,1438,1431,1455,2019,1442,
+ 1456,93,1731,966,14,19,15,1093,42,44,
+ 1193,1414,1389,1015,1364,1393,1049,1430,1419,1438,
+ 1431,1455,1909,1442,1456,93,357,315,316,317,
+ 1412,843,2523,319,315,316,317,1667,1429,1691,
+ 1322,1384,318,315,316,317,134,215,1731,1138,
+ 14,19,15,1093,42,44,1193,1414,1640,2081,
+ 169,374,1492,1902,785,375,226,231,1902,137,
+ 133,135,159,196,374,773,220,480,223,225,
+ 1553,1902,2804,232,344,87,139,165,350,199,
+ 1845,1396,143,146,149,152,2605,110,86,1742,
+ 1042,320,835,1,374,911,95,1951,2054,2059,
+ 1182,108,94,96,97,98,99,1902,1963,2179,
+ 2060,154,682,1642,1047,1766,109,110,86,1805,
+ 1042,356,835,1105,1469,2319,95,339,236,3036,
+ 1182,108,94,96,97,98,99,169,979,106,
+ 3036,260,374,314,279,3036,109,3036,545,498,
+ 1731,356,14,19,15,1093,42,44,1193,1414,
+ 1647,3036,87,3036,1713,110,86,1928,1042,107,
+ 835,131,374,3036,95,3036,276,835,1182,108,
+ 94,96,97,98,99,1902,3036,3036,269,599,
+ 1112,274,502,2523,109,110,86,3036,1042,356,
+ 835,308,3036,1134,95,2796,356,2182,1182,108,
+ 94,96,97,98,99,3036,3036,106,3036,3036,
+ 3036,105,440,2523,109,1902,375,226,231,356,
+ 1575,1902,3036,318,315,316,317,220,480,223,
+ 225,1961,1791,909,3036,16,3036,107,843,2523,
+ 2063,351,319,315,316,317,375,226,231,318,
+ 315,316,317,3036,717,979,889,220,480,223,
+ 225,3036,1902,1709,3036,3036,2081,319,315,316,
+ 317,2365,375,226,231,369,2565,3036,110,86,
+ 3036,1042,2236,220,480,223,225,95,211,2804,
+ 3036,1182,1552,94,96,97,98,99,1902,1189,
+ 1578,653,436,3036,1902,3036,2829,1578,979,375,
+ 226,231,3036,169,979,1222,2221,200,2264,3036,
+ 220,480,223,225,2285,306,265,276,155,682,
+ 433,3036,87,1457,1308,279,2009,115,87,269,
+ 599,1112,274,1934,357,315,316,317,3036,375,
+ 226,231,3036,3036,305,1902,325,1967,266,356,
+ 220,480,223,225,134,215,909,276,319,315,
+ 316,317,1598,2523,3036,1717,3036,2251,3036,269,
+ 599,1112,274,318,315,316,317,141,133,135,
+ 159,1803,3036,14,19,15,1093,352,2182,3036,
+ 2063,263,1989,3036,140,165,375,226,231,3036,
+ 3036,303,304,319,315,316,317,220,480,223,
+ 225,3036,1731,1709,14,19,15,1093,42,44,
+ 1193,1414,1389,440,2523,3036,3036,1430,1419,1438,
+ 1431,1455,2000,1701,319,315,316,317,3036,3036,
+ 3036,843,2523,319,315,316,317,3036,3036,1324,
+ 3036,3036,319,315,316,317,2829,375,226,231,
+ 357,315,316,317,3036,1902,3036,201,220,480,
+ 223,225,3036,1902,1709,375,226,231,3036,1902,
+ 134,215,3036,3036,941,1718,220,480,223,225,
+ 3036,1218,2811,1719,3036,318,315,316,317,1730,
+ 3036,3036,2013,147,133,135,159,3036,3036,3036,
+ 941,334,1987,319,315,316,317,2838,375,226,
+ 231,318,315,316,317,3036,3036,766,979,221,
+ 480,223,225,878,3036,3036,3036,3036,1987,1193,
+ 2596,1902,1902,1902,375,226,1513,815,979,3036,
+ 3036,110,86,1902,1042,221,480,223,1489,878,
+ 95,21,275,281,1182,103,94,96,97,98,
+ 99,110,86,1382,1042,864,979,3036,1902,3036,
+ 95,1319,498,3036,1182,101,94,96,97,98,
+ 99,276,318,315,316,317,913,979,282,110,
+ 86,3036,1042,269,599,1112,274,335,95,1987,
+ 1905,1902,1182,102,94,96,97,98,99,3036,
+ 110,86,268,1042,962,979,3036,635,3036,95,
+ 668,2334,1902,1182,118,94,96,97,98,99,
+ 3036,3036,1463,3036,261,1011,979,3036,110,86,
+ 3036,1042,2362,3036,2183,1467,3036,95,3036,3036,
+ 3036,1182,114,94,96,97,98,99,3036,110,
+ 86,3036,1042,1060,979,3036,3036,3036,95,1904,
+ 498,3036,1182,1733,94,96,97,98,99,3036,
+ 318,315,316,317,1109,979,3036,110,86,1827,
+ 1042,14,19,15,1093,40,95,1987,1905,3036,
+ 1182,113,94,96,97,98,99,3036,110,86,
+ 3036,1042,1158,979,3036,888,498,95,668,3036,
+ 3036,1182,120,94,96,97,98,99,3036,3036,
+ 2396,3036,261,3036,3036,3036,110,86,3036,1042,
+ 3036,3036,2183,1467,835,95,506,3036,312,1182,
+ 119,94,96,97,98,99,3036,318,315,316,
+ 317,3036,3036,3036,3036,1467,3036,3036,309,1899,
+ 3036,3036,3036,356,1987,3036,357,315,316,317,
+ 357,315,316,317,3036,580,436,1542,3036,14,
+ 19,15,1093,42,35,878,134,215,276,3036,
+ 134,215,1851,3036,14,19,15,1093,33,306,
+ 271,599,1112,274,433,3036,941,3036,3036,150,
+ 133,135,159,153,133,135,159,318,315,316,
+ 317,249,3036,3036,2034,3036,3036,3036,305,770,
+ 498,497,374,356,1987,319,315,316,317,3036,
+ 608,226,235,1731,3036,14,19,15,1093,42,
+ 44,1193,1414,1649,791,878,87,3036,1905,1133,
+ 835,115,3036,1133,3036,318,315,316,317,3036,
+ 318,315,316,317,318,315,316,317,3036,3036,
+ 3036,3036,1886,1133,739,302,304,1987,3036,356,
+ 3036,1987,261,394,318,315,316,317,3036,3036,
+ 3036,1282,1673,1467,3036,1133,3036,1931,668,1183,
+ 498,1987,668,3036,3036,3036,318,315,316,317,
+ 2466,3036,3036,1731,2124,14,19,15,1093,42,
+ 44,1608,668,1987,3036,3036,1133,3036,199,3036,
+ 169,374,3036,3036,2150,589,1014,318,315,316,
+ 317,3036,3036,3036,668,3036,318,315,316,317,
+ 3036,3036,3036,3036,1987,87,1463,406,1080,199,
+ 1845,169,979,1632,3036,644,3036,939,318,315,
+ 316,317,3036,3036,3036,668,318,315,316,317,
+ 3036,3036,3036,1987,3036,1861,87,2396,3036,2179,
+ 3036,1289,194,1861,318,315,316,317,3036,1985,
+ 3036,3036,478,851,3036,3036,3036,3036,3036,3036,
+ 1731,2072,14,19,15,1093,42,38,1731,3036,
+ 14,19,15,1093,42,37,1731,3036,14,19,
+ 15,1093,42,36,1731,3036,14,19,15,1093,
+ 42,34,169,374,169,374,3036,1313,498,906,
+ 169,374,169,979,3036,783,1731,908,14,19,
+ 15,1093,42,35,3036,3036,3036,87,3036,87,
+ 3036,199,1845,199,1845,87,199,87,3036,199,
+ 1845,1731,1690,14,19,15,1093,42,47,1731,
+ 3036,14,19,15,1093,42,46,3036,3036,3036,
+ 3036,2179,3036,2179,1063,3036,1080,3036,3036,2179,
+ 3036,2105,3036,2113,3036,770,498,3036,1731,2119,
+ 14,19,15,1093,42,45,1611,3036,14,19,
+ 15,1093,42,43,1977,3036,3036,3036,3036,3036,
+ 194,1998,3036,970,1905,318,315,316,317,3036,
+ 1268,851,318,315,316,317,3036,3036,3036,2022,
+ 3036,1851,2032,14,19,15,1093,32,2024,2142,
+ 318,315,316,317,256,215,1578,979,261,318,
+ 315,316,317,169,979,3036,2036,2484,2218,1467,
+ 3036,3036,3036,3036,3036,3036,2856,319,315,316,
+ 317,87,3036,3036,3036,3036,115,3036,87,3036,
+ 3036,3036,3036,2193,3036,3036,3036,3036,3036,3036,
+ 3036,3036,3036,3036,3036,581,3036,3036,3036,3036,
+ 3036,3036,3036,3036,3036,3036,3036,3036,3036,3036,
+ 3036,3036,3036,3036,3036,3036,2272,3036,3036,3036,
+ 3036,3036,1418,3036,0,1,408,0,1,456,
+ 0,1,526,0,1,567,0,456,128,0,
+ 526,128,0,567,128,0,456,129,0,526,
+ 129,0,567,129,0,456,130,0,526,130,
+ 0,567,130,0,567,187,0,526,187,0,
+ 456,187,0,187,191,0,567,186,0,526,
+ 186,0,456,186,0,186,191,0,456,131,
+ 0,526,131,0,567,131,0,456,132,0,
+ 526,132,0,567,132,0,179,228,0,3043,
+ 1,0,225,237,0,1,3275,0,225,238,
+ 0,7,9,0,179,17,0,178,18,0,
+ 1,3264,0,112,2313,0
};
};
public final static char baseAction[] = BaseAction.baseAction;
@@ -648,205 +652,220 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym
0,1,2,3,4,5,6,7,8,9,
10,11,12,13,14,15,16,17,18,19,
20,21,22,23,24,25,26,27,28,29,
- 30,31,32,0,1,35,0,37,38,39,
+ 30,31,32,33,34,0,1,37,0,39,
40,41,42,43,44,45,46,47,48,49,
50,51,52,53,54,55,56,57,58,59,
- 60,61,62,0,1,2,3,4,5,6,
- 7,8,9,10,11,12,13,14,15,16,
- 17,18,19,20,21,22,23,24,25,26,
- 27,28,29,30,31,32,0,1,35,63,
- 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,0,1,2,3,
- 4,5,6,7,8,9,10,11,12,13,
- 14,15,16,17,18,19,20,21,22,23,
- 24,25,26,27,28,29,30,31,32,0,
- 1,35,0,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,0,
+ 60,61,62,63,64,0,1,2,3,4,
+ 5,6,7,8,9,10,11,12,13,14,
+ 15,16,17,18,19,20,21,22,23,24,
+ 25,26,27,28,29,30,31,32,33,34,
+ 0,1,37,65,39,40,41,42,43,44,
+ 45,46,47,48,49,50,51,52,53,54,
+ 55,56,57,58,59,60,61,62,63,64,
+ 0,1,2,3,4,5,6,7,8,9,
+ 10,11,12,13,14,15,16,17,18,19,
+ 20,21,22,23,24,25,26,27,28,29,
+ 30,31,32,33,34,0,1,37,0,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,0,1,2,3,4,
+ 5,6,7,8,9,10,11,12,13,14,
+ 15,16,17,18,19,20,21,22,23,24,
+ 25,26,27,28,29,30,31,32,33,34,
+ 0,0,37,3,39,40,41,42,43,44,
+ 45,46,47,48,49,50,51,52,53,54,
+ 55,56,57,58,59,60,61,62,63,0,
1,2,3,4,5,6,7,8,9,10,
11,12,13,14,15,16,17,18,19,20,
21,22,23,24,25,26,27,28,29,30,
- 31,32,0,0,35,63,37,38,39,40,
+ 31,32,33,34,64,0,37,66,39,40,
41,42,43,44,45,46,47,48,49,50,
51,52,53,54,55,56,57,58,59,60,
- 61,0,1,2,3,4,5,6,7,8,
- 9,10,11,12,13,14,15,16,17,18,
- 19,20,21,22,23,24,25,26,27,28,
- 29,30,31,32,0,0,35,64,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,0,1,2,94,4,5,6,
+ 61,62,63,0,1,2,0,4,5,6,
7,8,9,10,0,12,13,14,15,16,
- 17,18,19,20,21,22,23,13,25,26,
- 27,28,29,30,31,0,0,1,2,64,
- 4,5,6,8,8,71,72,73,74,0,
- 47,48,49,50,51,52,53,54,55,56,
- 57,58,59,60,61,0,1,0,3,33,
- 0,1,2,8,9,10,0,12,2,14,
- 15,0,0,2,2,4,5,6,7,7,
- 23,0,1,11,0,4,5,6,33,8,
- 0,36,0,1,2,3,0,13,2,7,
- 8,9,10,7,12,13,14,15,16,17,
- 18,19,20,21,33,76,77,62,26,64,
- 65,66,0,68,69,70,71,72,73,74,
- 8,76,77,78,79,80,81,82,83,84,
- 85,86,87,88,89,90,91,92,93,0,
- 1,0,3,0,1,2,3,8,9,10,
- 0,12,0,14,15,3,0,75,0,1,
- 2,3,4,5,6,0,8,11,0,4,
- 5,6,33,0,1,36,33,34,0,36,
- 22,23,24,25,26,27,28,29,30,31,
- 12,33,34,0,0,2,2,4,5,6,
- 7,62,8,64,65,66,33,68,69,70,
- 71,72,73,74,62,76,77,78,79,80,
- 81,82,83,84,85,86,87,88,89,90,
- 91,92,93,0,1,2,3,4,5,6,
- 7,8,0,1,0,1,2,3,4,5,
- 6,0,8,0,1,22,23,24,25,26,
- 27,28,29,30,31,32,22,23,24,25,
- 26,27,28,29,30,31,0,33,34,0,
- 47,48,49,50,51,52,53,54,55,56,
- 57,58,59,60,61,0,0,1,0,4,
- 5,6,4,5,6,0,0,1,2,3,
- 4,5,6,7,8,36,0,22,23,3,
- 25,26,27,28,29,30,31,94,22,23,
- 24,25,26,27,28,29,30,31,32,0,
- 24,2,0,4,5,6,7,71,72,73,
- 74,0,36,47,48,49,50,51,52,53,
- 54,55,56,57,58,59,60,61,0,1,
- 2,0,4,5,6,0,0,2,2,3,
- 4,5,6,7,0,1,2,0,4,5,
- 6,4,5,6,0,1,0,22,22,23,
- 94,25,26,27,28,29,30,31,32,22,
- 23,0,25,26,27,28,29,30,31,0,
- 1,2,3,47,48,49,50,51,52,53,
- 54,55,56,57,58,59,60,61,62,0,
- 0,2,3,4,5,6,7,63,0,78,
- 0,0,33,34,4,5,6,9,10,8,
- 0,22,23,3,25,26,27,28,29,30,
- 31,32,22,23,78,25,26,27,28,29,
- 30,31,71,72,73,74,47,48,49,50,
+ 17,18,19,20,21,22,23,24,25,0,
+ 27,28,29,30,31,32,33,0,1,2,
+ 0,4,2,6,7,8,6,0,0,1,
+ 2,3,49,50,51,52,53,54,55,56,
+ 57,58,59,60,61,62,63,0,1,0,
+ 3,2,35,6,5,0,9,10,0,12,
+ 11,14,15,35,36,0,38,2,13,4,
+ 5,13,7,8,0,1,2,3,0,5,
+ 6,3,35,9,10,38,12,13,14,15,
+ 16,17,18,19,20,21,22,23,0,0,
+ 1,2,28,4,26,96,7,8,81,0,
+ 1,64,3,66,67,68,38,70,71,72,
+ 73,74,75,76,0,78,79,80,81,82,
+ 83,84,85,86,87,88,89,90,91,92,
+ 93,94,95,0,1,36,3,0,1,6,
+ 0,77,9,10,0,12,0,14,15,3,
+ 4,0,1,2,65,0,1,0,1,4,
+ 0,6,7,8,0,1,2,3,35,5,
+ 6,38,26,9,10,35,12,13,14,15,
+ 16,17,18,19,20,21,22,23,0,1,
+ 35,0,28,2,0,35,5,64,4,66,
+ 67,68,11,70,71,72,73,74,75,76,
+ 70,78,79,80,81,82,83,84,85,86,
+ 87,88,89,90,91,92,93,94,95,0,
+ 1,2,3,4,5,6,7,8,0,0,
+ 0,77,4,0,4,7,8,7,8,0,
+ 0,2,0,24,25,26,27,28,29,30,
+ 31,32,33,34,24,25,0,27,28,29,
+ 30,31,32,33,24,25,0,27,49,50,
51,52,53,54,55,56,57,58,59,60,
- 61,62,0,63,2,3,4,5,6,7,
- 0,1,2,0,4,5,6,4,5,6,
- 69,70,62,0,22,23,0,25,26,27,
- 28,29,30,31,32,22,23,0,25,26,
- 27,28,29,30,31,22,23,0,25,47,
- 48,49,50,51,52,53,54,55,56,57,
- 58,59,60,61,62,0,1,2,3,0,
- 33,0,7,8,9,10,11,12,13,14,
- 15,16,17,18,19,20,21,0,0,24,
- 2,4,4,5,6,7,0,32,2,0,
- 35,0,37,38,39,40,41,42,43,44,
- 45,46,0,1,2,3,0,1,0,7,
- 8,9,10,11,12,13,14,15,16,17,
- 18,19,20,21,0,0,24,0,4,5,
- 6,4,5,6,32,0,11,35,79,37,
- 38,39,40,41,42,43,44,45,46,0,
- 1,2,3,67,65,66,7,8,9,10,
- 11,12,13,14,15,16,17,18,19,20,
- 21,0,0,24,2,4,5,6,0,7,
- 2,32,0,11,35,7,37,38,39,40,
- 41,42,43,44,45,46,0,1,2,3,
- 65,66,0,7,8,9,10,11,12,13,
- 14,15,16,17,18,19,20,21,0,0,
- 24,0,4,5,6,4,5,6,32,0,
- 11,35,0,37,38,39,40,41,42,43,
- 44,45,46,0,1,2,3,65,66,0,
- 7,8,9,10,11,12,13,14,15,16,
- 17,18,19,20,21,0,0,24,0,4,
- 5,6,4,5,6,32,0,0,35,0,
- 37,38,39,40,41,42,43,44,45,46,
- 0,1,2,3,65,66,64,7,8,9,
- 10,11,12,13,14,15,16,17,18,19,
- 20,21,0,0,24,0,4,5,6,4,
- 5,6,32,0,0,35,13,37,38,39,
- 40,41,42,43,44,45,46,0,1,2,
- 3,0,76,77,7,8,9,10,11,12,
- 13,14,15,16,17,18,19,20,21,82,
- 83,24,0,22,23,0,25,0,3,32,
- 0,1,35,11,37,38,39,40,41,42,
- 43,44,45,46,0,1,2,3,0,24,
- 67,7,8,9,10,11,12,13,14,15,
- 16,17,18,19,20,21,0,0,24,2,
- 22,23,0,25,7,3,32,11,0,35,
- 0,37,38,39,40,41,42,43,44,45,
- 46,0,1,2,3,0,24,2,7,8,
+ 61,62,63,0,0,2,0,4,5,3,
+ 7,8,0,1,2,3,4,5,6,7,
+ 8,0,1,0,1,2,3,4,69,6,
+ 7,8,26,84,85,96,24,25,26,27,
+ 28,29,30,31,32,33,34,24,25,26,
+ 27,28,29,30,31,32,33,0,35,36,
+ 3,49,50,51,52,53,54,55,56,57,
+ 58,59,60,61,62,63,0,1,2,3,
+ 0,5,6,26,80,9,10,11,12,13,
+ 14,15,16,17,18,19,20,21,22,23,
+ 0,0,26,2,24,25,5,27,96,0,
+ 34,2,12,37,0,39,40,41,42,43,
+ 44,45,46,47,48,0,1,2,3,0,
+ 5,6,0,24,9,10,11,12,13,14,
+ 15,16,17,18,19,20,21,22,23,0,
+ 0,26,2,0,4,5,3,7,8,34,
+ 11,0,37,2,39,40,41,42,43,44,
+ 45,46,47,48,0,1,2,3,0,5,
+ 6,67,68,9,10,11,12,13,14,15,
+ 16,17,18,19,20,21,22,23,69,0,
+ 26,0,0,1,2,6,4,0,34,7,
+ 8,37,80,39,40,41,42,43,44,45,
+ 46,47,48,0,1,2,3,0,5,6,
+ 77,0,9,10,11,12,13,14,15,16,
+ 17,18,19,20,21,22,23,0,0,26,
+ 2,4,4,5,0,7,8,34,11,0,
+ 37,0,39,40,41,42,43,44,45,46,
+ 47,48,0,1,2,3,0,5,6,78,
+ 79,9,10,11,12,13,14,15,16,17,
+ 18,19,20,21,22,23,65,38,26,0,
+ 0,1,2,0,4,0,34,7,8,37,
+ 11,39,40,41,42,43,44,45,46,47,
+ 48,0,1,2,3,0,5,6,25,0,
9,10,11,12,13,14,15,16,17,18,
- 19,20,21,0,0,24,3,0,0,2,
- 0,3,4,32,7,0,35,0,37,38,
- 39,40,41,42,43,44,45,46,0,1,
- 2,3,24,65,66,7,8,9,10,11,
- 12,13,14,15,16,17,18,19,20,21,
- 33,36,24,0,1,2,0,4,5,6,
- 32,0,1,35,3,37,38,39,40,41,
- 42,43,44,45,46,0,1,2,75,4,
- 5,6,7,0,0,68,3,4,5,6,
- 0,1,8,0,33,34,3,22,23,0,
- 25,26,27,28,29,30,31,24,0,0,
- 11,0,0,4,5,6,63,8,0,36,
- 9,10,47,48,49,50,51,52,53,54,
- 55,56,57,58,59,60,61,0,0,2,
- 0,4,5,6,7,0,0,64,0,4,
- 5,6,0,69,70,62,4,5,6,22,
- 23,0,25,26,27,28,29,30,31,0,
- 22,23,11,25,22,23,67,25,26,27,
- 28,29,30,31,47,48,49,50,51,52,
- 53,54,55,56,57,58,59,60,61,47,
- 48,49,50,51,52,53,54,55,56,57,
- 58,0,1,2,3,0,1,79,7,8,
- 9,10,0,12,13,14,15,16,17,18,
- 19,20,21,0,1,2,3,26,0,1,
- 7,8,9,10,11,12,13,14,15,16,
- 17,18,19,20,21,0,1,2,3,0,
- 0,2,7,8,9,10,7,12,13,14,
- 15,16,17,18,19,20,21,0,0,1,
- 0,3,0,1,0,3,75,0,1,0,
- 1,2,33,9,10,62,7,8,9,10,
+ 19,20,21,22,23,0,1,26,0,73,
+ 74,75,76,24,25,34,27,0,37,11,
+ 39,40,41,42,43,44,45,46,47,48,
+ 0,1,2,3,0,5,6,0,0,9,
+ 10,11,12,13,14,15,16,17,18,19,
+ 20,21,22,23,0,1,26,0,73,74,
+ 75,76,24,25,34,27,0,37,0,39,
+ 40,41,42,43,44,45,46,47,48,0,
+ 1,2,3,66,5,6,0,0,9,10,
11,12,13,14,15,16,17,18,19,20,
- 21,33,34,0,1,0,34,2,3,0,
- 33,0,1,63,0,1,2,68,0,0,
- 75,7,8,9,10,11,12,13,14,15,
- 16,17,18,19,20,21,0,1,2,34,
- 0,0,33,7,8,9,10,11,12,13,
- 14,15,16,17,18,19,20,21,0,1,
- 2,0,95,0,0,7,8,9,10,11,
+ 21,22,23,0,0,26,69,73,74,75,
+ 76,24,25,34,27,0,37,13,39,40,
+ 41,42,43,44,45,46,47,48,0,1,
+ 2,3,66,5,6,67,68,9,10,11,
12,13,14,15,16,17,18,19,20,21,
- 0,1,2,22,23,67,25,7,8,9,
+ 22,23,0,0,26,2,4,0,5,7,
+ 8,0,34,2,0,37,5,39,40,41,
+ 42,43,44,45,46,47,48,0,1,2,
+ 3,0,5,6,3,82,9,10,11,12,
+ 13,14,15,16,17,18,19,20,21,22,
+ 23,37,0,26,2,3,4,5,0,7,
+ 8,34,0,1,37,3,39,40,41,42,
+ 43,44,45,46,47,48,24,25,0,27,
+ 28,29,30,31,32,33,34,0,81,2,
+ 3,0,1,2,3,64,38,35,36,0,
+ 1,49,50,51,52,53,54,55,56,57,
+ 58,59,60,61,62,63,64,0,0,2,
+ 3,4,5,36,7,8,35,36,0,1,
+ 2,3,4,0,6,7,8,0,0,6,
+ 2,24,25,5,27,28,29,30,31,32,
+ 33,34,24,25,26,27,28,29,30,31,
+ 32,33,0,35,36,3,49,50,51,52,
+ 53,54,55,56,57,58,59,60,61,62,
+ 63,64,0,65,2,3,4,5,0,7,
+ 8,0,4,0,6,7,8,4,36,0,
+ 7,8,0,12,71,72,24,25,6,27,
+ 28,29,30,31,32,33,34,24,25,0,
+ 27,28,29,30,31,32,33,65,9,10,
+ 0,49,50,51,52,53,54,55,56,57,
+ 58,59,60,61,62,63,64,0,1,2,
+ 0,4,5,0,7,8,0,69,0,0,
+ 0,11,0,3,2,0,4,5,38,7,
+ 8,24,25,0,27,28,29,30,31,32,
+ 33,0,24,25,11,27,24,25,0,27,
+ 28,29,30,31,32,33,49,50,51,52,
+ 53,54,55,56,57,58,59,60,61,62,
+ 63,49,50,51,52,53,54,55,56,57,
+ 58,59,60,61,62,63,0,0,1,69,
+ 4,78,79,7,8,0,0,77,0,1,
+ 4,3,0,7,8,0,1,82,67,68,
+ 24,25,0,27,28,29,30,31,32,33,
+ 24,25,35,27,28,29,30,31,32,33,
+ 0,1,0,35,36,49,50,51,52,53,
+ 54,55,56,57,58,59,60,0,1,2,
+ 3,0,5,6,0,1,9,10,11,12,
+ 13,14,15,16,17,18,19,20,21,22,
+ 23,0,1,2,3,0,5,6,0,1,
+ 9,10,0,12,13,14,15,16,17,18,
+ 19,20,21,22,23,0,1,0,0,2,
+ 2,0,5,0,1,2,0,0,5,6,
+ 3,64,9,10,11,12,13,14,15,16,
+ 17,18,19,20,21,22,23,0,1,2,
+ 35,4,35,26,7,8,0,0,2,3,
+ 0,1,2,36,38,5,6,65,77,9,
10,11,12,13,14,15,16,17,18,19,
- 20,21,0,1,2,0,0,0,0,7,
- 8,9,10,0,12,13,14,15,16,17,
- 18,19,20,21,0,1,2,22,23,0,
- 25,7,8,9,10,0,12,13,14,15,
- 16,17,18,19,20,21,0,1,2,36,
- 0,0,0,7,8,9,10,0,12,13,
- 14,15,16,17,18,19,20,21,0,1,
- 2,36,0,0,0,7,8,9,10,0,
+ 20,21,22,23,0,1,2,70,0,5,
+ 6,0,36,9,10,11,12,13,14,15,
+ 16,17,18,19,20,21,22,23,0,1,
+ 2,0,65,5,6,0,0,9,10,11,
+ 12,13,14,15,16,17,18,19,20,21,
+ 22,23,0,1,2,0,0,5,6,0,
+ 0,9,10,11,12,13,14,15,16,17,
+ 18,19,20,21,22,23,0,1,2,0,
+ 0,5,6,0,0,9,10,11,12,13,
+ 14,15,16,17,18,19,20,21,22,23,
+ 0,1,2,67,68,5,6,0,97,9,
+ 10,0,12,13,14,15,16,17,18,19,
+ 20,21,22,23,0,1,2,67,68,5,
+ 6,0,0,9,10,0,12,13,14,15,
+ 16,17,18,19,20,21,22,23,0,1,
+ 2,0,0,5,6,0,0,9,10,0,
12,13,14,15,16,17,18,19,20,21,
- 0,1,2,64,0,0,0,7,8,9,
+ 22,23,0,1,2,0,65,5,6,0,
+ 0,9,10,0,12,13,14,15,16,17,
+ 18,19,20,21,22,23,0,1,2,0,
+ 65,5,6,0,0,9,10,0,12,13,
+ 14,15,16,17,18,19,20,21,22,23,
+ 0,1,2,0,65,5,6,0,0,9,
10,0,12,13,14,15,16,17,18,19,
- 20,21,11,84,85,86,87,88,89,90,
- 91,92,93,0,0,1,3,4,5,6,
- 0,0,0,3,3,3,0,80,14,15,
- 4,5,6,0,8,2,3,24,0,0,
- 0,3,3,80,0,0,0,33,8,36,
- 0,0,0,3,34,34,34,36,36,0,
- 0,0,24,4,5,6,0,34,0,3,
- 0,3,34,34,24,36,0,64,0,35,
- 4,3,68,63,0,0,36,11,4,5,
- 6,0,0,67,3,81,4,5,6,0,
- 0,0,34,0,0,0,36,0,63,69,
- 70,12,34,0,63,11,11,0,0,0,
- 0,36,0,63,63,34,0,0,0,0,
- 0,0,0,67,0,0,0,0,0,0,
- 0,75,0,0,0,0,0,0,0,0,
+ 20,21,22,23,0,1,2,0,65,5,
+ 6,0,0,9,10,3,12,13,14,15,
+ 16,17,18,19,20,21,22,23,0,0,
+ 1,0,4,0,3,7,8,4,0,6,
+ 7,8,4,14,15,7,8,0,36,66,
+ 38,0,24,25,0,27,28,29,30,31,
+ 32,33,11,0,35,0,0,36,3,86,
+ 87,88,89,90,91,92,93,94,95,0,
+ 0,0,3,4,3,4,7,8,7,8,
+ 0,11,0,0,4,3,0,7,8,70,
+ 4,36,69,7,8,26,0,26,0,0,
+ 4,3,83,7,8,6,0,38,0,38,
+ 4,0,4,7,8,7,8,0,36,0,
+ 38,4,0,4,7,8,7,8,0,0,
+ 0,3,0,3,36,66,4,66,0,7,
+ 8,0,0,0,6,4,35,4,7,8,
+ 7,8,0,0,0,0,26,4,0,4,
+ 7,8,7,8,36,0,38,0,38,0,
+ 71,72,3,0,9,10,9,10,0,0,
+ 38,0,0,0,11,0,0,0,0,11,
+ 11,0,38,11,11,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,71,
+ 72,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,64,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,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;
@@ -854,202 +873,218 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym
public interface TermAction {
public final static char termAction[] = {0,
- 3017,1,5255,1389,2906,1,1,5254,1,1,
- 1,468,1,1,1,1,1,1,1,1,
- 1,1,1,1,3025,1,1,1,1,1,
- 1,1,3117,3017,733,968,3017,1056,1020,1081,
- 985,1706,943,1129,983,425,979,1,1,1,
+ 3036,1,5223,1551,2925,5199,1,1,1,1,
+ 1,697,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,3044,1,1,1,
+ 1,1,1,1,3136,3036,1577,999,3036,1156,
+ 1068,1181,1037,1884,978,1040,1012,628,1003,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,3023,7,3002,3002,3002,3002,3002,3002,
- 3002,3002,3002,3002,3002,3002,3002,3002,3002,3002,
- 3002,3002,3002,3002,3002,3002,3002,3002,3002,3002,
- 3002,3002,3002,3002,3002,3002,3017,672,3002,2122,
- 3002,3002,3002,3002,3002,3002,3002,3002,3002,3002,
- 3002,3002,3002,3002,3002,3002,3002,3002,3002,3002,
- 3002,3002,3002,3002,3002,3002,3017,1,5255,1389,
- 2906,1,1,5254,1,1,1,468,1,1,
+ 1,1,1,1,3042,7,3021,3021,3021,3021,
+ 3021,3021,3021,3021,3021,3021,3021,3021,3021,3021,
+ 3021,3021,3021,3021,3021,3021,3021,3021,3021,3021,
+ 3021,3021,3021,3021,3021,3021,3021,3021,3021,3021,
+ 3036,833,3021,2167,3021,3021,3021,3021,3021,3021,
+ 3021,3021,3021,3021,3021,3021,3021,3021,3021,3021,
+ 3021,3021,3021,3021,3021,3021,3021,3021,3021,3021,
+ 3036,1,5223,1551,2925,5199,1,1,1,1,
+ 1,697,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,3044,1,1,1,
+ 1,1,1,1,3136,3036,2131,999,1,1156,
+ 1068,1181,1037,1884,978,1040,1012,628,1003,1,
1,1,1,1,1,1,1,1,1,1,
- 3025,1,1,1,1,1,1,1,3117,3017,
- 628,968,3017,1056,1020,1081,985,1706,943,1129,
- 983,425,979,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,3023,3017,
- 1,5255,3026,2906,1,1,5254,1,1,1,
- 468,1,1,1,1,1,1,1,1,1,
- 1,1,1,3025,1,1,1,1,1,1,
- 1,3117,3017,156,968,2156,1056,1020,1081,985,
- 1706,943,1129,983,425,979,1,1,1,1,
+ 1,1,1,1,3042,3036,1,5223,3045,2925,
+ 5199,1,1,1,1,1,697,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,3017,1,5255,3026,2906,1,1,5254,1,
- 1,1,468,1,1,1,1,1,1,1,
- 1,1,1,1,1,3025,1,1,1,1,
- 1,1,1,3117,59,213,968,754,1056,1020,
- 1081,985,1706,943,1129,983,425,979,1,1,
+ 1,3044,1,1,1,1,1,1,1,3136,
+ 1,156,999,3009,1156,1068,1181,1037,1884,978,
+ 1040,1012,628,1003,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,3036,
+ 1,5223,3045,2925,5199,1,1,1,1,1,
+ 697,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,3044,1,1,1,1,
+ 1,1,1,3136,3042,287,999,772,1156,1068,
+ 1181,1037,1884,978,1040,1012,628,1003,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,3017,1904,1417,2905,434,400,430,
- 1422,2685,2665,2657,348,2673,3030,2232,1653,922,
- 3027,3028,3029,2649,1451,3233,3235,681,3234,3179,
- 3180,3178,3236,3181,3177,3017,270,1896,3245,1344,
- 434,400,430,828,255,1884,1599,1429,838,62,
- 3184,3189,3188,3186,3187,3185,3190,3191,3183,3192,
- 3193,3194,2321,2614,2594,1,3035,343,3035,709,
- 1,2363,3245,3035,3035,3035,3017,3035,1628,3035,
- 3035,187,3017,2954,3197,2945,2951,2948,2954,3198,
- 3359,270,2421,603,3017,434,400,430,3035,255,
- 1,3035,1,1904,3034,3020,3017,1357,3197,3035,
- 2515,2665,2657,3198,2673,3030,2232,1653,922,3027,
- 3028,3029,2649,1451,709,734,632,3035,873,3035,
- 3035,3035,3017,3035,3035,3035,3035,3035,3035,3035,
- 1130,3035,3035,3035,3035,3035,3035,3035,3035,3035,
- 3035,3035,3035,3035,3035,3035,3035,3035,3035,1,
- 3034,287,3034,1,1896,3245,264,3034,3034,3034,
- 3017,3034,1,3034,3034,2990,3017,3019,17,3005,
- 179,3005,179,179,179,184,3005,411,3017,434,
- 400,430,3034,224,864,3034,709,264,64,264,
- 179,179,3005,179,179,179,179,179,179,179,
- 472,3005,3005,186,3017,2966,1528,2957,2963,2960,
- 2966,3034,1381,3034,3034,3034,709,3034,3034,3034,
- 3034,3034,3034,3034,3023,3034,3034,3034,3034,3034,
- 3034,3034,3034,3034,3034,3034,3034,3034,3034,3034,
- 3034,3034,3034,3017,1,1,3026,2906,1,1,
- 1,1,3017,473,18,3008,178,3008,178,178,
- 178,3017,3008,179,2987,1,1,3025,1,1,
- 1,1,1,1,1,3324,178,178,3008,178,
- 178,178,178,178,178,178,61,3008,3008,346,
+ 1,1,1,3036,1670,1560,3036,567,1565,2726,
+ 456,526,2696,2688,3036,2704,3049,2831,2452,2339,
+ 3046,3047,3048,2680,1500,438,2021,3252,3254,3036,
+ 3253,3198,3199,3197,3255,3200,3196,270,1945,3264,
+ 3036,567,1678,255,456,526,1517,68,1,1945,
+ 3264,264,3203,3208,3207,3205,3206,3204,3209,3210,
+ 3202,3211,3212,3213,2514,2635,2627,1,3054,3036,
+ 3054,3216,727,3054,3217,348,3054,3054,3036,3054,
+ 724,3054,3054,727,264,187,264,2973,767,2964,
+ 2973,1137,2970,2967,1,1670,3053,3039,3036,3054,
+ 499,3045,3054,2696,2688,3054,2704,3049,2831,2452,
+ 2339,3046,3047,3048,2680,1500,438,2021,3036,1,
+ 1812,3264,954,2934,3044,2924,2928,2931,479,3036,
+ 877,3054,3041,3054,3054,3054,1868,3054,3054,3054,
+ 3054,3054,3054,3054,3036,3054,3054,3054,3054,3054,
+ 3054,3054,3054,3054,3054,3054,3054,3054,3054,3054,
+ 3054,3054,3054,1,3053,3040,3053,3036,654,3053,
+ 293,3038,3053,3053,3036,3053,1,3053,3053,116,
+ 2925,1,1812,3264,1516,270,1744,179,3006,567,
+ 222,255,456,526,3036,1670,3053,3039,3053,3054,
+ 2437,3053,116,2696,2688,1588,2704,3049,2831,2452,
+ 2339,3046,3047,3048,2680,1500,438,2021,3036,398,
+ 727,3036,1443,3216,1,727,3217,3053,2925,3053,
+ 3053,3053,863,3053,3053,3053,3053,3053,3053,3053,
+ 1405,3053,3053,3053,3053,3053,3053,3053,3053,3053,
+ 3053,3053,3053,3053,3053,3053,3053,3053,3053,3036,
+ 1,1,3045,2925,1,1,1,1,184,72,
+ 129,3038,567,3036,2952,456,526,2946,2949,1,
+ 251,3015,3036,1,1,3044,1,1,1,1,
+ 1,1,1,3343,3252,3254,3036,3253,3198,3199,
+ 3197,3255,3200,3196,1,1,3036,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,129,3017,570,255,2933,
- 2927,2930,434,400,430,3017,3017,1,1,3026,
- 2906,1,1,1,1,957,3017,3233,3235,3026,
- 3234,3179,3180,3178,3236,3181,3177,301,1,1,
- 3025,1,1,1,1,1,1,1,3324,208,
- 3025,5298,3017,434,400,430,5298,1884,1599,1429,
- 838,3017,1867,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,2363,
- 3245,66,2915,2909,2912,326,3017,3344,1,193,
- 1,1,1,1,1,2363,3245,130,2915,2909,
- 2912,2942,2936,2939,349,851,67,3345,1,1,
- 300,1,1,1,1,1,1,1,3215,3233,
- 3235,60,3234,3179,3180,3178,3236,3181,3177,1,
- 1896,3011,3022,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,193,3017,
- 3017,1,192,1,1,1,1,1467,51,547,
- 131,48,709,3021,2975,2969,2972,2566,2549,2732,
- 3017,1,1,3024,1,1,1,1,1,1,
- 1,3215,3233,3235,547,3234,3179,3180,3178,3236,
- 3181,3177,1884,1599,1429,838,1,1,1,1,
+ 1,1,1,186,66,2985,1,2976,2985,3045,
+ 2982,2979,3036,1,1,3045,2925,1,1,1,
+ 1,349,974,17,3024,179,3024,179,3296,3024,
+ 179,179,3044,2052,2722,301,1,1,3044,1,
+ 1,1,1,1,1,1,3343,179,179,3024,
+ 179,179,179,179,179,179,179,3036,3024,3024,
+ 3045,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,3036,1,5223,3045,
+ 252,5199,1,3044,531,1,1,697,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,192,3017,2178,1,193,1,1,1,1,
- 255,2363,3245,132,434,400,430,2984,2978,2981,
- 2724,2695,3023,251,1,1,3017,1,1,1,
- 1,1,1,1,3215,3233,3235,222,3234,3179,
- 3180,3178,3236,3181,3177,1,1,3017,1,1,
+ 64,3036,3044,3216,1,1,3217,1,300,326,
+ 3136,3363,556,999,54,1156,1068,1181,1037,1884,
+ 978,1040,1012,628,1003,3036,1,5223,3045,1,
+ 5199,1,67,3364,1,1,697,1,1,1,
+ 1,1,1,1,1,1,1,1,1,3036,
+ 208,3044,5472,3036,567,5472,3039,456,526,3136,
+ 419,3036,999,1851,1156,1068,1181,1037,1884,978,
+ 1040,1012,628,1003,3036,1,5223,3045,3036,5199,
+ 1,640,752,1,1,697,1,1,1,1,
+ 1,1,1,1,1,1,1,1,3296,3036,
+ 3044,62,1,1812,3264,967,2934,3036,3136,2928,
+ 2931,999,531,1156,1068,1181,1037,1884,978,1040,
+ 1012,628,1003,3036,1,5223,3045,3036,5199,1,
+ 3038,3036,1,1,697,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,364,3044,
+ 5473,2925,567,5473,3036,456,526,3136,697,346,
+ 999,3036,1156,1068,1181,1037,1884,978,1040,1012,
+ 628,1003,3036,1,5223,3045,59,5199,1,1478,
+ 822,1,1,697,1,1,1,1,1,1,
+ 1,1,1,1,1,1,2187,741,3044,231,
+ 255,1812,3264,343,567,3036,3136,456,526,999,
+ 234,1156,1068,1181,1037,1884,978,1040,1012,628,
+ 1003,3036,1,5223,3045,61,5199,1,3378,3036,
+ 1,1,697,1,1,1,1,1,1,1,
+ 1,1,1,1,1,337,1494,3044,3036,2503,
+ 1770,1658,686,3252,3254,3136,3253,213,999,1006,
+ 1156,1068,1181,1037,1884,978,1040,1012,628,1003,
+ 3036,1,5223,3045,60,5199,1,1,253,1,
+ 1,697,1,1,1,1,1,1,1,1,
+ 1,1,1,1,3036,2491,3044,3036,2503,1770,
+ 1658,686,3252,3254,3136,3253,3036,999,58,1156,
+ 1068,1181,1037,1884,978,1040,1012,628,1003,3036,
+ 1,5223,3045,1394,5199,1,3036,250,1,1,
+ 697,1,1,1,1,1,1,1,1,1,
+ 1,1,1,70,3036,3044,3295,2503,1770,1658,
+ 686,3252,3254,3136,3253,3036,999,767,1156,1068,
+ 1181,1037,1884,978,1040,1012,628,1003,3036,1,
+ 5223,3045,866,5199,1,640,752,1,1,697,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,193,3017,1,5255,3026,68,
- 709,3017,5254,1,1,1,468,1,1,1,
- 1,1,1,1,1,1,1,1,360,3025,
- 5299,2906,434,400,430,5299,1,3117,2996,54,
- 968,3017,1056,1020,1081,985,1706,943,1129,983,
- 425,979,3017,1,5255,3026,337,1423,3017,5254,
- 1,1,1,468,1,1,1,1,1,1,
- 1,1,1,1,361,231,3025,364,434,400,
- 430,434,400,430,3117,58,234,968,900,1056,
- 1020,1081,985,1706,943,1129,983,425,979,3017,
- 1,5255,3026,3277,2045,2463,5254,1,1,1,
- 468,1,1,1,1,1,1,1,1,1,
- 1,363,3017,3025,3197,434,400,430,210,3198,
- 3197,3117,57,746,968,3198,1056,1020,1081,985,
- 1706,943,1129,983,425,979,3017,1,5255,3026,
- 2045,2463,3017,5254,1,1,1,468,1,1,
- 1,1,1,1,1,1,1,1,158,3017,
- 3025,185,434,400,430,434,400,430,3117,56,
- 987,968,3017,1056,1020,1081,985,1706,943,1129,
- 983,425,979,3017,1,5255,3026,2045,2463,3017,
- 5254,1,1,1,468,1,1,1,1,1,
- 1,1,1,1,1,355,63,3025,354,434,
- 400,430,434,400,430,3117,3017,72,968,3017,
- 1056,1020,1081,985,1706,943,1129,983,425,979,
- 3017,1,5255,3026,2045,2463,785,5254,1,1,
- 1,468,1,1,1,1,1,1,1,1,
- 1,1,362,3017,3025,356,434,400,430,434,
- 400,430,3117,1,3017,968,681,1056,1020,1081,
- 985,1706,943,1129,983,425,979,3017,1,5255,
- 3026,252,734,632,5254,1,1,1,468,1,
- 1,1,1,1,1,1,1,1,1,399,
- 2001,3025,3017,1,1,1,1,3017,3026,3117,
- 3017,2509,968,1205,1056,1020,1081,985,1706,943,
- 1129,983,425,979,3017,1,5255,3026,3017,3025,
- 3277,5254,1,1,1,468,1,1,1,1,
- 1,1,1,1,1,1,3017,3017,3025,3046,
- 3233,3235,3017,3234,3047,3026,3117,1254,55,968,
- 3017,1056,1020,1081,985,1706,943,1129,983,425,
- 979,3017,1,5255,3026,3017,3025,3257,5254,1,
- 1,1,468,1,1,1,1,1,1,1,
- 1,1,1,3017,3017,3025,3020,209,1,859,
- 3017,116,2906,3117,859,258,968,293,1056,1020,
- 1081,985,1706,943,1129,983,425,979,3017,1,
- 5255,3026,116,2045,2463,5254,1,1,1,468,
+ 1,1,255,210,3044,3216,567,69,3217,456,
+ 526,3036,3136,3065,3036,999,3066,1156,1068,1181,
+ 1037,1884,978,1040,1012,628,1003,3036,1,5223,
+ 3045,3036,5199,1,3043,407,1,1,697,1,
1,1,1,1,1,1,1,1,1,1,
- 1539,970,3025,1,2363,3245,3017,2915,2909,2912,
- 3117,1,2421,968,267,1056,1020,1081,985,1706,
- 943,1129,983,425,979,1,2363,442,3019,2915,
- 2909,2912,3195,237,50,1365,225,2993,2993,2993,
- 3017,395,2732,286,709,267,1154,3233,3235,231,
- 3234,3179,3180,3178,3236,3181,3177,225,3017,1,
- 235,53,3017,2915,2909,2912,1467,255,3017,225,
- 2566,2549,3184,3189,3188,3186,3187,3185,3190,3191,
- 3183,3192,3193,3194,2321,2614,2594,3017,69,3196,
- 3017,434,400,430,3195,202,3017,225,253,434,
- 400,430,128,2724,2695,1154,2924,2918,2921,3233,
- 3235,41,3234,3179,3180,3178,3236,3181,3177,3017,
- 3233,3235,1305,3234,3233,3235,3277,3234,3179,3180,
- 3178,3236,3181,3177,3184,3189,3188,3186,3187,3185,
- 3190,3191,3183,3192,3193,3194,2321,2614,2594,3184,
- 3189,3188,3186,3187,3185,3190,3191,3183,3192,3193,
- 3194,3017,1904,3034,3020,3017,465,900,3035,2579,
- 2665,2657,3017,2673,3030,2232,1653,922,3027,3028,
- 3029,2649,1451,1,1904,3853,27,1393,3017,618,
- 3759,2685,2665,2657,4767,2673,3030,2232,1653,922,
- 3027,3028,3029,2649,1451,3017,1904,3034,3020,3017,
- 3017,3197,3035,2685,2665,2657,3198,2673,3030,2232,
- 1653,922,3027,3028,3029,2649,1451,112,1,2421,
- 3017,3022,3017,1307,52,3022,3019,272,1000,3017,
- 1904,3034,1515,2566,2549,27,3035,2685,2665,2657,
- 4767,2673,3030,2232,1653,922,3027,3028,3029,2649,
- 1451,709,3021,324,651,3017,3021,775,3022,273,
- 709,3017,2304,1839,3017,1904,3034,1329,1,3017,
- 3019,3035,2685,2665,2657,1305,2673,3030,2232,1653,
- 922,3027,3028,3029,2649,1451,1,1904,3853,3021,
- 3017,3017,709,3759,2685,2665,2657,4767,2673,3030,
- 2232,1653,922,3027,3028,3029,2649,1451,1,1904,
- 3853,250,3014,3017,3017,3759,2685,2665,2657,4767,
- 2673,3030,2232,1653,922,3027,3028,3029,2649,1451,
- 3017,1904,3034,3233,3235,3276,3234,3035,2685,2665,
- 2657,4767,2673,3030,2232,1653,922,3027,3028,3029,
- 2649,1451,3017,1904,3034,254,3017,3017,3017,3035,
- 2685,2665,2657,88,2673,3030,2232,1653,922,3027,
- 3028,3029,2649,1451,1,1904,3034,3233,3235,42,
- 3234,3035,2685,2665,2657,28,2673,3030,2232,1653,
- 922,3027,3028,3029,2649,1451,3017,2682,3034,1319,
- 3017,3017,3017,3035,2685,2665,2657,70,2673,3030,
- 2232,1653,922,3027,3028,3029,2649,1451,3017,2693,
- 3034,3044,3017,71,3017,3035,2685,2665,2657,3017,
- 2673,3030,2232,1653,922,3027,3028,3029,2649,1451,
- 332,1904,3034,1294,3017,3017,3017,3035,2685,2665,
- 2657,3017,2673,3030,2232,1653,922,3027,3028,3029,
- 2649,1451,1305,1269,1244,1219,1194,1169,1119,1144,
- 1094,1069,1044,238,31,470,225,2999,2999,2999,
- 3017,3017,3017,3022,3022,3022,1,523,3041,3042,
- 2915,2909,2912,3017,255,1588,3022,225,1,3017,
- 49,116,3022,523,3017,203,3017,1954,2732,225,
- 3017,3017,3017,3026,3021,3021,3021,606,1445,357,
- 1,1,116,434,400,430,3017,3021,3017,3020,
- 209,3022,116,3021,3025,989,1,225,1,1440,
- 2906,3022,1132,813,358,28,1963,468,434,400,
- 430,1,359,3277,90,1045,434,400,430,65,
- 3017,3017,3021,3017,191,364,4681,3017,1491,2724,
- 2695,472,3021,3017,3382,208,360,3017,3017,3017,
- 3017,682,3017,3198,3197,90,3017,3017,3017,3017,
- 3017,3017,3017,1563,3017,3017,3017,3017,3017,3017,
- 3017,3019
+ 1,1584,3036,3044,1,193,1,1,258,1,
+ 1,3136,1,1744,999,267,1156,1068,1181,1037,
+ 1884,978,1040,1012,628,1003,1,1,3036,1,
+ 1,1,1,1,1,1,3234,3036,479,808,
+ 3041,1,1945,3030,3041,3042,1025,727,267,3036,
+ 1008,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,193,3036,3036,1,
+ 192,1,1,3040,1,1,727,3040,18,3027,
+ 178,3027,178,48,3027,178,178,3036,209,2788,
+ 473,1,1,473,1,1,1,1,1,1,
+ 1,3234,178,178,3027,178,178,178,178,178,
+ 178,178,3036,3027,3027,3041,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,192,3036,2215,1,193,1,1,1,1,
+ 1,65,2934,130,255,2928,2931,2961,3040,3036,
+ 2955,2958,3036,556,2759,2751,1,1,1141,1,
+ 1,1,1,1,1,1,3234,3252,3254,51,
+ 3253,3198,3199,3197,3255,3200,3196,669,2583,919,
+ 88,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,193,1,1812,580,
+ 3036,2934,3214,63,2928,2931,3036,3296,254,3036,
+ 3036,1257,3036,3039,3215,71,567,3214,1369,456,
+ 526,3252,3254,3036,3253,3198,3199,3197,3255,3200,
+ 3196,57,3252,3254,1280,3253,3252,3254,3036,3253,
+ 3198,3199,3197,3255,3200,3196,3203,3208,3207,3205,
+ 3206,3204,3209,3210,3202,3211,3212,3213,2514,2635,
+ 2627,3203,3208,3207,3205,3206,3204,3209,3210,3202,
+ 3211,3212,3213,2514,2635,2627,128,224,401,1612,
+ 2943,1478,822,2937,2940,3036,131,3038,1,1744,
+ 2994,3041,3036,2988,2991,3036,1757,407,640,752,
+ 3252,3254,3036,3253,3198,3199,3197,3255,3200,3196,
+ 3252,3254,727,3253,3198,3199,3197,3255,3200,3196,
+ 3036,1943,3036,727,3040,3203,3208,3207,3205,3206,
+ 3204,3209,3210,3202,3211,3212,3213,1,1670,3893,
+ 27,3036,3797,2726,324,797,2696,2688,5459,2704,
+ 3049,2831,2452,2339,3046,3047,3048,2680,1500,438,
+ 2021,3036,1670,3053,3039,3036,3054,2726,3036,2853,
+ 2696,2688,3036,2704,3049,2831,2452,2339,3046,3047,
+ 3048,2680,1500,438,2021,272,945,3036,3036,3216,
+ 3276,3036,3217,3036,1670,3053,28,1,3054,2726,
+ 116,27,2696,2688,5459,2704,3049,2831,2452,2339,
+ 3046,3047,3048,2680,1500,438,2021,1,1812,3264,
+ 727,2934,1564,116,2928,2931,3036,3036,1727,3041,
+ 3036,1670,3053,116,3063,3054,2726,657,3038,2696,
+ 2688,1355,2704,3049,2831,2452,2339,3046,3047,3048,
+ 2680,1500,438,2021,1,1670,3893,1103,3036,3797,
+ 2726,112,3040,2696,2688,5459,2704,3049,2831,2452,
+ 2339,3046,3047,3048,2680,1500,438,2021,1,1670,
+ 3893,3036,1516,3797,2726,3036,56,2696,2688,5459,
+ 2704,3049,2831,2452,2339,3046,3047,3048,2680,1500,
+ 438,2021,369,1670,3053,3036,3036,3054,2726,3036,
+ 55,2696,2688,5459,2704,3049,2831,2452,2339,3046,
+ 3047,3048,2680,1500,438,2021,3036,1670,3053,3036,
+ 3036,3054,2726,3036,3036,2696,2688,5459,2704,3049,
+ 2831,2452,2339,3046,3047,3048,2680,1500,438,2021,
+ 3036,1670,3053,640,752,3054,2726,3036,3033,2696,
+ 2688,203,2704,3049,2831,2452,2339,3046,3047,3048,
+ 2680,1500,438,2021,1,1670,3053,640,752,3054,
+ 2726,3036,3036,2696,2688,3036,2704,3049,2831,2452,
+ 2339,3046,3047,3048,2680,1500,438,2021,3036,2600,
+ 3053,3036,3036,3054,2726,3036,3036,2696,2688,1,
+ 2704,3049,2831,2452,2339,3046,3047,3048,2680,1500,
+ 438,2021,3036,2712,3053,3036,1540,3054,2726,3036,
+ 3036,2696,2688,1,2704,3049,2831,2452,2339,3046,
+ 3047,3048,2680,1500,438,2021,3036,2714,3053,3036,
+ 3407,3054,2726,3036,3036,2696,2688,3036,2704,3049,
+ 2831,2452,2339,3046,3047,3048,2680,1500,438,2021,
+ 3036,2720,3053,42,3217,3054,2726,3036,3036,2696,
+ 2688,3036,2704,3049,2831,2452,2339,3046,3047,3048,
+ 2680,1500,438,2021,332,1670,3053,3036,3216,3054,
+ 2726,3036,3036,2696,2688,3041,2704,3049,2831,2452,
+ 2339,3046,3047,3048,2680,1500,438,2021,132,31,
+ 601,3036,3003,1,3041,2997,3000,2934,365,255,
+ 2928,2931,567,3060,3061,456,526,3036,3040,1344,
+ 557,231,3252,3254,3036,3253,3198,3199,3197,3255,
+ 3200,3196,235,3036,2631,1,3036,3040,3041,1319,
+ 1294,1269,1244,1219,1169,1194,1144,1117,1092,237,
+ 355,238,225,3012,225,3018,3012,3012,3018,3018,
+ 368,1355,3036,3036,567,3041,367,456,526,1145,
+ 567,3040,3296,456,526,225,158,225,1,50,
+ 567,90,1116,456,526,2788,185,225,359,225,
+ 567,273,567,456,526,456,526,358,3040,366,
+ 1589,567,3036,567,456,526,456,526,3036,3036,
+ 3036,3041,360,3045,90,225,567,225,49,456,
+ 526,202,209,361,2788,567,727,567,456,526,
+ 456,526,3036,362,28,363,3044,567,3036,567,
+ 456,526,456,526,3040,53,1043,52,2002,286,
+ 2759,2751,1207,353,2583,919,2583,919,41,3036,
+ 4678,3036,191,368,1355,3036,3036,3036,3036,1355,
+ 1355,3036,700,208,364,3036,3036,3036,3036,3036,
+ 3036,3036,3036,3036,3036,3036,3036,3036,3036,2759,
+ 2751,3036,3036,3036,3036,3036,3036,3036,3036,3036,
+ 3036,3036,3036,3036,3036,3036,3036,3036,3036,3036,
+ 3036,3036,3036,1207
};
};
public final static char termAction[] = TermAction.termAction;
@@ -1057,41 +1092,42 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym
public interface Asb {
public final static char asb[] = {0,
- 581,1,200,307,386,581,547,646,515,547,
- 547,547,527,641,527,641,641,527,641,527,
- 309,390,388,377,547,388,172,279,545,83,
- 473,145,641,336,333,336,145,336,641,388,
- 393,390,264,390,13,14,482,309,646,439,
- 113,388,116,58,390,87,123,121,262,280,
- 267,83,82,264,643,25,646,177,393,535,
- 388,482,149,484,309,388,113,113,131,388,
- 172,440,614,473,279,456,440,440,336,547,
- 547,443,547,547,440,279,217,458,217,386,
- 295,263,204,83,646,643,25,177,177,535,
- 511,484,183,169,511,229,295,458,458,458,
- 458,458,153,458,458,458,219,412,417,415,
- 423,419,426,425,428,427,429,264,538,309,
- 263,617,113,55,646,458,87,58,337,264,
- 277,440,458,440,293,458,339,458,458,280,
- 443,217,443,388,260,341,341,267,264,67,
- 264,25,55,209,25,177,179,395,179,511,
- 535,263,511,169,152,149,458,458,458,458,
- 458,458,458,458,458,458,458,264,264,540,
- 295,295,336,336,68,458,458,458,458,458,
- 458,458,458,458,458,458,458,458,458,458,
- 458,458,458,458,458,203,20,479,390,484,
- 55,129,264,456,440,264,547,264,264,279,
- 443,458,263,25,211,179,55,458,336,535,
- 337,458,458,169,153,131,390,479,264,264,
- 264,169,415,415,412,412,419,419,417,417,
- 417,417,425,423,427,426,217,428,482,264,
- 549,538,129,440,456,443,458,443,443,67,
- 55,439,458,435,211,436,55,169,169,129,
- 540,549,400,646,458,484,264,179,8,68,
- 440,264,278,211,458,436,436,129,264,55,
- 127,119,217,336,458,273,264,68,440,443,
- 436,179,3,131,475,336,458,443,264,55,
- 458,169,443,169
+ 642,13,232,334,413,642,577,640,545,577,
+ 577,577,557,635,557,635,635,557,635,557,
+ 336,417,415,404,577,415,427,304,575,174,
+ 507,88,635,363,360,363,88,363,635,415,
+ 420,417,290,417,1,2,512,336,640,471,
+ 60,415,63,25,417,34,152,150,288,305,
+ 207,174,173,290,637,92,640,201,420,565,
+ 415,512,125,514,336,415,60,60,72,415,
+ 427,472,675,507,304,488,472,472,363,577,
+ 577,475,577,577,472,304,243,490,243,413,
+ 320,289,16,174,640,637,92,201,201,565,
+ 541,514,213,147,541,255,320,490,490,490,
+ 490,490,490,490,129,490,490,490,245,444,
+ 449,447,455,451,458,457,460,459,461,290,
+ 568,336,289,611,60,122,640,490,34,25,
+ 364,290,302,472,490,472,318,490,366,490,
+ 490,305,475,243,475,415,286,368,368,207,
+ 290,156,290,92,122,235,92,201,203,422,
+ 203,541,565,289,541,147,128,125,490,490,
+ 490,490,490,490,490,490,490,490,490,290,
+ 290,570,320,320,320,320,363,363,157,490,
+ 490,490,490,490,490,490,490,490,490,490,
+ 490,490,490,490,490,490,490,490,490,15,
+ 8,509,417,514,122,70,290,488,472,290,
+ 577,290,290,304,475,490,289,92,237,203,
+ 122,490,363,565,364,490,490,147,129,72,
+ 417,509,290,290,290,290,290,147,447,447,
+ 444,444,451,451,449,449,449,449,457,455,
+ 459,458,243,460,512,290,579,568,70,472,
+ 488,475,490,475,475,156,122,471,490,467,
+ 237,468,122,147,147,70,570,579,432,432,
+ 432,640,490,514,290,203,196,157,472,290,
+ 303,237,490,468,468,70,290,122,68,66,
+ 178,363,490,243,21,290,157,472,475,468,
+ 203,297,72,293,363,490,475,290,122,490,
+ 147,475,147
};
};
public final static char asb[] = Asb.asb;
@@ -1099,71 +1135,74 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym
public interface Asr {
public final static byte asr[] = {0,
- 94,0,3,36,62,24,0,2,7,33,
- 68,0,1,63,64,24,5,6,4,3,
- 36,34,33,0,27,47,22,48,59,28,
- 49,29,50,51,30,25,52,53,26,60,
- 31,61,54,55,23,56,57,58,2,7,
- 5,6,4,32,3,62,0,11,3,64,
- 36,24,5,6,4,0,36,16,17,18,
- 19,13,7,14,15,12,8,9,10,20,
- 21,1,34,3,2,0,48,59,28,49,
- 29,50,51,30,25,52,53,26,60,31,
- 61,54,55,23,56,57,58,2,7,22,
- 47,27,5,6,4,3,36,24,64,0,
- 36,1,34,3,63,0,3,62,33,68,
- 1,17,18,19,13,14,15,12,8,9,
- 10,20,21,16,2,7,11,0,22,25,
- 23,26,14,15,12,8,9,10,20,21,
- 16,1,2,7,17,18,19,13,75,3,
- 0,3,63,34,13,0,2,7,3,62,
- 36,0,22,25,14,15,12,8,9,10,
- 20,21,16,2,7,17,18,19,13,1,
- 23,0,33,3,36,34,1,0,24,3,
- 8,2,1,4,6,5,63,0,67,5,
- 6,4,33,1,68,81,14,15,12,8,
- 9,10,69,70,65,66,71,72,73,74,
- 76,77,78,79,80,82,83,62,64,84,
- 85,86,87,88,90,89,91,92,93,75,
- 24,63,36,34,3,0,3,36,34,2,
- 22,0,64,33,68,0,94,95,62,38,
- 40,11,44,46,41,35,42,43,39,37,
- 45,32,3,24,17,18,19,13,14,15,
- 12,9,10,20,21,16,8,1,59,60,
- 61,55,47,52,50,51,49,48,53,54,
- 56,57,58,31,28,26,27,30,22,25,
- 23,29,5,6,4,7,2,0,35,0,
- 68,81,14,15,12,9,10,69,70,65,
- 66,71,72,73,74,76,77,78,79,80,
- 82,83,64,84,85,86,87,88,89,90,
- 91,92,93,36,33,34,27,22,28,29,
- 30,25,26,31,23,24,3,1,2,5,
- 6,4,8,0,3,36,62,64,0,64,
- 84,85,86,87,88,89,90,91,92,93,
- 11,8,69,70,9,10,66,65,71,72,
- 73,74,76,77,12,78,79,80,67,75,
- 34,62,82,83,63,5,6,4,36,24,
- 3,0,38,40,11,44,46,41,35,42,
- 43,39,37,45,32,24,3,14,15,12,
- 8,9,10,20,21,16,1,2,7,17,
- 18,19,13,0,75,3,67,0,8,1,
- 33,34,3,27,47,48,59,28,49,29,
- 50,51,30,52,53,26,60,31,61,54,
- 55,56,57,58,2,7,5,6,4,67,
- 22,25,23,0,55,47,52,50,51,49,
- 48,53,54,56,57,58,63,24,31,28,
- 26,27,30,29,22,25,23,36,2,8,
- 5,6,4,33,34,3,1,0,8,27,
- 47,22,48,59,28,49,29,50,51,30,
- 25,52,53,26,60,31,61,54,55,23,
- 56,57,58,2,7,67,4,6,5,0,
- 94,27,47,22,48,59,28,49,29,50,
- 51,30,25,52,53,26,60,31,61,54,
- 55,23,56,57,58,7,1,5,6,24,
- 3,32,4,2,8,0,27,47,22,48,
- 59,28,49,29,50,51,30,25,52,53,
- 26,60,31,61,54,55,23,56,57,58,
- 2,7,5,6,4,11,0
+ 1,65,66,26,7,8,4,3,38,36,
+ 35,0,96,0,35,3,38,36,1,0,
+ 66,35,70,0,11,3,66,38,26,7,
+ 8,4,0,50,61,30,51,31,52,53,
+ 32,27,54,55,28,62,33,63,56,57,
+ 25,58,59,60,2,5,24,49,29,7,
+ 8,4,3,38,26,66,0,3,64,35,
+ 70,1,17,18,19,13,14,15,12,6,
+ 9,10,20,21,16,23,22,2,5,11,
+ 0,29,49,24,50,61,30,51,31,52,
+ 53,32,27,54,55,28,62,33,63,56,
+ 57,25,58,59,60,2,5,7,8,4,
+ 34,3,64,0,24,27,25,28,14,15,
+ 12,6,9,10,20,21,16,23,22,1,
+ 2,5,17,18,19,13,77,3,0,38,
+ 1,36,3,65,0,38,16,17,18,19,
+ 13,5,14,15,12,6,9,10,20,21,
+ 22,23,1,36,3,2,0,66,1,17,
+ 18,19,13,14,15,12,6,9,10,20,
+ 21,16,23,22,11,2,5,35,70,0,
+ 2,5,3,64,38,0,3,38,36,2,
+ 24,0,24,27,14,15,12,6,9,10,
+ 20,21,16,23,22,2,5,17,18,19,
+ 13,1,25,0,26,3,6,2,1,4,
+ 8,7,65,0,69,7,8,4,35,1,
+ 70,83,14,15,12,6,9,10,71,72,
+ 67,68,73,74,75,76,78,79,80,81,
+ 82,84,85,64,66,86,87,88,89,90,
+ 92,91,93,94,95,77,26,65,38,36,
+ 3,0,77,3,69,0,3,38,64,26,
+ 0,96,97,64,40,42,11,46,48,43,
+ 37,44,45,41,39,47,34,3,26,17,
+ 18,19,13,14,15,12,9,10,20,21,
+ 16,23,22,6,1,61,62,63,57,49,
+ 54,52,53,51,50,55,56,58,59,60,
+ 33,30,28,29,32,24,27,25,31,7,
+ 8,4,5,2,0,37,0,70,83,14,
+ 15,12,9,10,71,72,67,68,73,74,
+ 75,76,78,79,80,81,82,84,85,66,
+ 86,87,88,89,90,91,92,93,94,95,
+ 38,35,36,29,24,30,31,32,27,28,
+ 33,25,26,3,1,2,7,8,4,6,
+ 0,3,38,64,66,0,3,65,36,13,
+ 0,66,86,87,88,89,90,91,92,93,
+ 94,95,11,6,71,72,9,10,68,67,
+ 73,74,75,76,78,79,12,80,81,82,
+ 69,77,36,64,84,85,65,7,8,4,
+ 38,26,3,0,40,42,11,46,48,43,
+ 37,44,45,41,39,47,34,26,3,14,
+ 15,12,6,9,10,20,21,16,23,22,
+ 1,2,5,17,18,19,13,0,6,1,
+ 35,36,3,29,49,50,61,30,51,31,
+ 52,53,32,54,55,28,62,33,63,56,
+ 57,58,59,60,2,5,7,8,4,69,
+ 24,27,25,0,57,49,54,52,53,51,
+ 50,55,56,58,59,60,65,26,33,30,
+ 28,29,32,31,24,27,25,38,2,6,
+ 7,8,4,35,36,3,1,0,6,29,
+ 49,24,50,61,30,51,31,52,53,32,
+ 27,54,55,28,62,33,63,56,57,25,
+ 58,59,60,2,5,69,4,8,7,0,
+ 29,49,24,50,61,30,51,31,52,53,
+ 32,27,54,55,28,62,33,63,56,57,
+ 25,58,59,60,2,5,7,8,4,11,
+ 0,96,29,49,24,50,61,30,51,31,
+ 52,53,32,27,54,55,28,62,33,63,
+ 56,57,25,58,59,60,5,1,7,8,
+ 26,3,34,4,2,6,0
};
};
public final static byte asr[] = Asr.asr;
@@ -1171,41 +1210,42 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym
public interface Nasb {
public final static char nasb[] = {0,
- 151,29,39,19,16,164,29,10,96,29,
- 29,29,97,74,97,74,74,97,74,97,
- 91,148,122,29,29,69,62,12,158,46,
- 29,103,144,103,144,103,103,103,144,160,
- 29,144,158,148,44,44,157,131,10,17,
- 74,141,29,29,148,29,158,29,29,99,
- 81,76,29,158,74,131,29,131,29,131,
- 72,157,58,109,173,121,144,74,64,70,
- 62,17,29,62,105,15,17,17,103,29,
- 29,116,29,29,17,12,29,8,29,16,
- 1,158,29,158,29,144,30,131,103,131,
- 49,137,53,60,49,29,133,8,8,8,
- 8,8,59,8,8,8,29,29,29,29,
- 29,29,29,29,29,29,29,158,127,22,
- 29,177,144,131,29,8,29,29,29,158,
- 29,17,8,17,168,134,29,134,134,99,
- 116,29,116,121,29,29,29,81,158,8,
- 158,131,13,16,112,103,56,29,29,49,
- 67,158,49,60,59,67,8,8,8,8,
- 8,8,8,8,8,8,8,158,158,129,
- 133,133,79,79,34,134,8,8,8,8,
+ 165,31,16,21,40,136,31,32,97,31,
+ 31,31,98,78,98,78,78,98,78,98,
+ 92,157,127,31,31,73,90,18,120,152,
+ 31,108,150,108,150,108,108,108,150,169,
+ 31,150,120,157,10,10,119,145,32,41,
+ 78,147,31,31,157,31,120,31,31,104,
+ 71,43,31,120,78,145,31,145,31,145,
+ 76,119,55,114,122,126,150,78,62,74,
+ 90,41,31,90,110,39,41,41,108,31,
+ 31,131,31,31,41,18,31,8,31,40,
+ 1,120,31,120,31,150,178,145,108,145,
+ 48,12,52,57,48,31,100,8,8,8,
+ 8,8,8,8,56,8,8,8,31,31,
+ 31,31,31,31,31,31,31,31,31,120,
+ 141,24,31,160,150,145,31,8,31,31,
+ 31,120,31,41,8,41,173,101,31,101,
+ 101,104,131,31,131,126,31,31,31,71,
+ 120,8,120,145,19,40,67,108,65,31,
+ 31,48,34,120,48,57,56,34,8,8,
+ 8,8,8,8,8,8,8,8,8,120,
+ 120,143,100,100,100,100,80,80,36,101,
8,8,8,8,8,8,8,8,8,8,
- 8,8,8,134,8,44,44,126,148,109,
- 13,131,158,170,17,158,29,158,158,105,
- 116,8,158,30,121,56,13,8,103,67,
- 29,8,8,60,59,8,148,155,158,158,
- 158,60,29,29,29,29,29,29,29,29,
- 29,29,29,29,29,29,29,29,157,158,
- 146,85,52,17,170,116,134,116,116,8,
- 13,17,8,29,141,74,13,60,60,131,
- 87,146,29,29,8,109,158,56,41,170,
- 17,158,29,121,8,74,144,52,158,13,
- 51,29,29,103,8,83,158,170,17,116,
- 144,56,37,64,60,103,8,116,158,13,
- 8,60,116,60
+ 8,8,8,8,8,8,8,101,8,10,
+ 10,140,157,114,19,145,120,175,41,120,
+ 31,120,120,110,131,8,120,178,126,65,
+ 19,8,108,34,31,8,8,57,56,8,
+ 157,117,120,120,120,120,120,57,31,31,
+ 31,31,31,31,31,31,31,31,31,31,
+ 31,31,31,31,119,120,155,84,51,41,
+ 175,131,101,131,131,8,19,41,8,31,
+ 147,78,19,57,57,145,86,155,31,31,
+ 31,31,8,114,120,65,59,175,41,120,
+ 31,126,8,78,150,51,120,19,50,31,
+ 62,108,8,31,46,120,175,41,131,150,
+ 65,82,62,57,108,8,131,120,19,8,
+ 57,131,57
};
};
public final static char nasb[] = Nasb.nasb;
@@ -1213,24 +1253,24 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym
public interface Nasr {
public final static char nasr[] = {0,
- 89,88,87,86,80,85,84,5,0,112,
- 0,1,50,0,32,1,24,0,34,1,
- 108,89,88,87,86,80,85,84,0,104,
- 1,61,0,1,119,0,127,0,137,0,
- 129,27,0,52,0,136,21,0,81,0,
- 96,73,5,1,0,74,0,1,5,44,
- 0,97,0,5,73,0,30,0,1,36,
- 48,34,46,28,0,21,116,0,98,0,
- 114,0,131,0,34,46,65,64,28,0,
- 80,76,77,78,79,68,54,0,1,29,
- 37,101,27,0,37,27,75,50,1,29,
- 0,1,61,93,0,27,37,1,38,0,
- 28,46,34,1,0,21,34,46,64,65,
- 1,0,61,1,32,0,124,1,29,0,
- 46,34,1,10,0,1,29,28,60,0,
- 132,29,1,0,64,65,1,21,0,28,
- 34,36,0,29,1,110,0,29,53,1,
- 67,0,29,1,133,0,1,29,53,33,
+ 89,88,87,86,81,85,84,5,0,52,
+ 0,124,1,29,0,137,0,1,50,0,
+ 34,1,108,89,88,87,86,81,85,84,
+ 0,112,0,31,0,1,119,0,30,1,
+ 24,0,20,116,0,131,0,82,0,96,
+ 68,5,1,0,1,5,44,0,27,139,
+ 0,5,68,0,75,0,1,59,93,0,
+ 114,0,1,36,48,34,46,28,0,98,
+ 0,127,0,34,46,66,65,28,0,97,
+ 0,81,77,78,79,80,71,54,0,59,
+ 1,30,0,1,29,37,101,27,0,37,
+ 27,76,50,1,29,0,65,66,1,20,
+ 0,29,1,133,0,28,46,34,1,0,
+ 27,37,1,38,0,29,1,110,0,20,
+ 34,46,65,66,1,0,46,34,1,11,
+ 0,136,20,0,1,29,28,61,0,1,
+ 29,53,33,0,132,29,1,0,28,34,
+ 36,0,29,53,1,70,0,104,1,59,
0
};
};
@@ -1239,16 +1279,16 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym
public interface TerminalIndex {
public final static char terminalIndex[] = {0,
- 2,85,87,99,97,98,86,9,10,11,
+ 2,85,87,99,86,9,97,98,10,11,
3,8,84,6,7,68,81,82,83,12,
- 13,48,76,92,64,69,44,55,60,63,
- 72,100,1,90,77,42,45,46,49,50,
- 51,57,58,59,65,71,47,52,56,61,
- 62,66,67,74,75,78,79,80,54,70,
- 73,91,29,31,16,17,30,4,14,15,
- 18,19,20,21,89,22,23,24,25,26,
- 5,27,28,32,33,34,35,36,37,38,
- 39,40,41,101,53,88,93,94,95,96
+ 13,93,94,48,76,92,64,69,44,55,
+ 60,63,72,100,1,90,77,42,45,46,
+ 49,50,51,57,58,59,65,71,47,52,
+ 56,61,62,66,67,74,75,78,79,80,
+ 54,70,73,91,29,31,16,17,30,4,
+ 14,15,18,19,20,21,89,22,23,24,
+ 25,26,5,27,28,32,33,34,35,36,
+ 37,38,39,40,41,101,53,88,95,96
};
};
public final static char terminalIndex[] = TerminalIndex.terminalIndex;
@@ -1256,20 +1296,21 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym
public interface NonterminalIndex {
public final static char nonterminalIndex[] = {0,
- 0,0,0,0,107,111,112,113,114,190,
- 0,0,0,115,116,117,118,119,120,121,
- 103,122,123,105,0,124,130,191,134,142,
- 0,106,129,165,0,168,125,128,0,0,
+ 0,0,0,0,107,111,112,113,114,115,
+ 190,0,0,0,116,117,118,119,120,103,
+ 121,122,123,105,0,124,130,191,134,106,
+ 142,0,129,165,0,168,125,128,0,0,
0,0,0,102,162,164,0,166,0,104,
- 152,167,133,141,0,0,0,0,127,163,
- 156,176,179,180,181,0,0,144,151,0,
- 169,175,0,0,132,145,146,147,148,153,
- 174,178,109,136,137,138,139,140,143,149,
+ 152,167,133,141,0,0,0,0,156,127,
+ 163,151,176,179,180,181,0,0,109,0,
+ 144,0,169,175,0,132,145,146,147,148,
+ 153,174,178,136,137,138,139,140,143,149,
150,0,155,159,161,182,195,108,110,126,
131,135,0,154,158,0,160,170,173,187,
0,189,0,192,0,194,0,0,0,0,
0,157,0,171,172,177,0,183,184,0,
- 185,186,188,0,0,193,0,0,0
+ 185,186,188,0,0,193,0,0,196,0,
+ 0
};
};
public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex;
@@ -1277,13 +1318,13 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym
public interface ScopePrefix {
public final static char scopePrefix[] = {
- 133,191,276,153,84,90,219,47,246,1,
- 56,100,118,33,199,27,61,96,170,255,
- 272,291,295,259,15,8,8,65,68,73,
- 105,128,68,180,185,188,299,41,174,266,
- 8,73,209,143,237,143,209,266,20,80,
- 166,225,225,225,225,225,20,108,80,108,
- 108
+ 141,199,284,161,92,98,227,55,254,1,
+ 64,108,126,41,207,27,33,37,69,104,
+ 178,263,280,299,303,267,15,8,8,73,
+ 76,81,113,136,76,188,193,196,307,49,
+ 182,274,8,81,217,151,245,151,217,274,
+ 20,88,174,233,233,233,233,233,20,116,
+ 88,116,116
};
};
public final static char scopePrefix[] = ScopePrefix.scopePrefix;
@@ -1291,13 +1332,13 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym
public interface ScopeSuffix {
public final static char scopeSuffix[] = {
- 141,141,141,141,6,6,141,53,252,6,
- 31,6,31,38,204,31,31,6,168,141,
- 31,31,6,263,18,6,6,31,71,82,
- 6,31,131,183,183,183,31,44,177,269,
- 11,76,204,160,240,146,212,284,25,82,
- 168,227,229,231,233,235,22,115,76,110,
- 123
+ 149,149,149,149,6,6,149,61,260,6,
+ 31,6,31,46,212,31,31,31,31,6,
+ 176,149,31,31,6,271,18,6,6,31,
+ 79,90,6,31,139,191,191,191,31,52,
+ 185,277,11,84,212,168,248,154,220,292,
+ 25,90,176,235,237,239,241,243,22,123,
+ 84,118,131
};
};
public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix;
@@ -1305,13 +1346,13 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym
public interface ScopeLhs {
public final static char scopeLhs[] = {
- 78,76,5,78,52,52,76,69,41,130,
- 66,52,36,11,76,113,66,52,93,33,
- 6,5,5,23,105,131,130,64,82,60,
- 52,34,51,77,77,77,3,96,93,7,
- 130,60,76,78,42,78,76,5,105,60,
- 93,88,87,86,85,84,105,36,60,48,
- 36
+ 79,77,5,79,52,52,77,62,41,140,
+ 67,52,36,12,77,6,6,113,67,52,
+ 93,33,6,5,5,23,105,131,130,65,
+ 83,61,52,34,51,78,78,78,3,96,
+ 93,7,140,61,77,79,42,79,77,5,
+ 105,61,93,88,87,86,85,84,105,36,
+ 61,48,36
};
};
public final static char scopeLhs[] = ScopeLhs.scopeLhs;
@@ -1319,13 +1360,13 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym
public interface ScopeLa {
public final static byte scopeLa[] = {
- 62,62,62,62,75,75,62,62,95,75,
- 34,75,34,34,11,34,34,75,24,62,
- 34,34,75,63,5,75,75,34,1,8,
- 75,34,2,2,2,2,34,64,2,34,
- 67,8,11,11,35,2,2,34,2,8,
- 24,7,59,60,60,55,2,1,8,1,
- 1
+ 64,64,64,64,77,77,64,64,97,77,
+ 36,77,36,36,11,36,36,36,36,77,
+ 26,64,36,36,77,65,7,77,77,36,
+ 1,6,77,36,2,2,2,2,36,66,
+ 2,36,69,6,11,11,37,2,2,36,
+ 2,6,26,5,61,62,62,57,2,1,
+ 6,1,1
};
};
public final static byte scopeLa[] = ScopeLa.scopeLa;
@@ -1333,13 +1374,13 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym
public interface ScopeStateSet {
public final static char scopeStateSet[] = {
- 120,120,9,120,93,93,120,68,78,3,
- 97,93,104,125,120,74,97,93,5,77,
- 9,9,9,39,117,1,3,97,99,164,
- 93,104,109,120,120,120,9,70,5,12,
- 3,164,120,120,78,120,120,9,117,164,
- 5,121,121,121,121,121,117,104,164,106,
- 104
+ 123,123,9,123,96,96,123,70,81,3,
+ 100,96,107,128,123,9,9,77,100,96,
+ 5,80,9,9,9,41,120,1,3,100,
+ 102,167,96,107,112,123,123,123,9,73,
+ 5,14,3,167,123,123,81,123,123,9,
+ 120,167,5,124,124,124,124,124,120,107,
+ 167,109,107
};
};
public final static char scopeStateSet[] = ScopeStateSet.scopeStateSet;
@@ -1347,37 +1388,37 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym
public interface ScopeRhs {
public final static char scopeRhs[] = {0,
- 159,67,159,33,0,102,0,159,33,0,
+ 160,69,160,35,0,102,0,160,35,0,
30,127,102,0,194,128,0,191,0,128,
- 0,159,191,0,159,0,235,1,214,0,
- 103,0,234,1,1,5,0,103,103,0,
- 228,101,0,31,151,0,174,199,101,11,
- 173,0,104,0,0,171,101,1,164,0,
- 171,101,1,0,182,1,0,160,101,0,
- 179,0,149,160,0,9,0,174,0,149,
- 0,9,0,126,26,209,101,33,0,126,
- 209,101,26,33,0,126,26,33,0,126,
- 209,101,33,0,126,33,0,134,0,2,
- 0,171,103,0,2,103,0,171,101,1,
- 134,0,2,0,169,103,0,151,1,0,
- 162,0,174,206,101,11,127,223,59,0,
- 104,0,223,59,0,130,3,0,0,0,
- 104,0,174,206,101,11,223,59,0,3,
- 0,0,0,104,0,161,0,105,0,222,
- 101,161,0,101,161,0,157,105,0,192,
- 59,0,130,0,192,61,0,192,60,0,
- 203,101,11,221,127,220,180,0,221,127,
- 220,180,0,3,0,0,104,0,220,180,
- 0,130,0,3,0,0,104,0,203,101,
- 11,220,180,0,189,0,148,0,147,0,
- 146,0,145,0,144,0,138,41,0,77,
- 2,106,103,105,0,138,121,132,1,44,
- 0,53,128,0,201,101,11,0,132,83,
- 122,0,29,123,0,183,1,0,103,112,
- 0,183,1,16,0,174,199,101,11,121,
- 183,1,0,103,3,0,110,0,104,0,
- 219,1,105,0,132,33,105,0,132,1,
- 0
+ 0,159,191,0,159,0,169,1,22,0,
+ 103,0,169,1,23,0,235,1,214,0,
+ 234,1,1,7,0,103,103,0,228,101,
+ 0,31,151,0,175,199,101,11,168,0,
+ 104,0,0,173,101,1,165,0,173,101,
+ 1,0,183,1,0,161,101,0,179,0,
+ 149,161,0,9,0,174,0,149,0,9,
+ 0,126,28,209,101,35,0,126,209,101,
+ 28,35,0,126,28,35,0,126,209,101,
+ 35,0,126,35,0,134,0,2,0,171,
+ 103,0,2,103,0,173,101,1,134,0,
+ 2,0,169,103,0,151,1,0,162,0,
+ 175,206,101,11,127,223,61,0,104,0,
+ 223,61,0,130,3,0,0,0,104,0,
+ 175,206,101,11,223,61,0,3,0,0,
+ 0,104,0,159,0,105,0,222,101,159,
+ 0,101,159,0,157,105,0,192,61,0,
+ 130,0,192,63,0,192,62,0,203,101,
+ 11,221,127,220,181,0,221,127,220,181,
+ 0,3,0,0,104,0,220,181,0,130,
+ 0,3,0,0,104,0,203,101,11,220,
+ 181,0,189,0,148,0,147,0,146,0,
+ 145,0,144,0,138,43,0,77,2,106,
+ 103,105,0,138,120,130,1,46,0,53,
+ 128,0,201,101,11,0,130,85,122,0,
+ 29,123,0,169,1,0,103,112,0,169,
+ 1,16,0,175,199,101,11,120,169,1,
+ 0,103,3,0,110,0,104,0,219,1,
+ 105,0,130,35,105,0,130,1,0
};
};
public final static char scopeRhs[] = ScopeRhs.scopeRhs;
@@ -1385,24 +1426,24 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym
public interface ScopeState {
public final static char scopeState[] = {0,
- 1315,0,533,0,721,1681,431,0,2232,1653,
- 922,2742,2579,399,900,523,472,547,1884,1599,
- 1429,838,734,632,2566,2549,2463,2045,2732,2724,
- 2695,2685,2673,2515,2665,2657,2649,1451,1563,1539,
- 1515,1491,1839,1467,989,1393,1368,1344,1319,1294,
- 1269,1244,1219,1194,1169,1144,1119,1094,1069,1044,
- 958,651,933,873,367,1020,709,785,754,682,
- 607,579,0,606,1307,0,2750,2342,2314,2285,
- 2254,2226,2206,2178,1754,2156,2122,1676,1706,1646,
- 1592,0,1179,1016,783,592,1756,1414,2421,1896,
- 2481,1874,0,2426,428,1414,2093,2066,1970,1896,
- 1725,1874,1867,2024,821,2363,1963,1789,0,1584,
- 489,367,428,0,2818,2814,2756,1963,1756,2446,
- 1970,1414,1789,1725,2809,489,2794,367,2093,2158,
- 2789,1867,2066,2620,2024,2097,2780,2426,2775,2760,
- 2390,821,1584,2376,2321,2361,2614,2594,2031,1752,
- 806,2120,428,2288,2212,2587,2580,2488,2480,2124,
- 0
+ 639,0,765,0,2717,851,2569,0,2831,2452,
+ 2339,2021,438,2796,2437,2052,479,407,556,531,
+ 2503,1770,1658,686,1478,822,2583,919,752,640,
+ 2788,2759,2751,2726,2704,499,2696,2688,2680,1500,
+ 1612,1588,1564,1540,657,1516,1043,1443,1418,1394,
+ 1369,1344,1319,1294,1269,1244,1219,1194,1169,1144,
+ 1117,1092,1013,797,979,954,374,1068,727,866,
+ 839,772,700,615,588,0,557,877,0,2365,
+ 2362,2334,2313,2285,2264,2236,2215,1791,2187,2167,
+ 1761,1884,1713,1683,0,1112,599,480,375,2396,
+ 1463,1744,1945,2179,1905,0,2466,436,1463,2150,
+ 2124,2063,1945,1641,1905,1868,2081,902,1812,2002,
+ 1842,0,1625,498,374,436,0,2856,2484,2838,
+ 2002,2396,2829,2063,1463,1842,1641,2142,498,2072,
+ 374,2150,2811,2032,1868,2124,2653,2081,2804,1987,
+ 2466,1886,1861,1632,902,1625,2419,2514,2415,2635,
+ 2627,2089,2605,886,1963,436,2319,2221,2596,2565,
+ 2543,2523,2519,0
};
};
public final static char scopeState[] = ScopeState.scopeState;
@@ -1410,41 +1451,42 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym
public interface InSymb {
public final static char inSymb[] = {0,
- 0,218,4,101,129,232,237,208,184,5,
- 6,4,185,180,186,61,60,187,59,188,
+ 0,218,4,101,129,232,237,208,184,7,
+ 8,4,185,181,186,63,62,187,61,188,
189,101,1,2,134,101,1,11,1,1,
- 1,220,128,192,128,192,223,192,128,160,
+ 1,220,128,192,128,192,223,192,128,161,
149,128,151,101,134,146,1,225,208,202,
151,128,191,136,101,148,238,13,197,101,
- 1,236,2,13,127,11,127,11,149,8,
- 160,1,33,101,101,36,128,151,64,160,
- 63,121,1,36,201,45,37,39,43,42,
- 35,41,46,44,137,11,40,38,127,129,
- 101,234,214,1,221,128,101,11,101,8,
- 101,101,26,126,101,106,1,16,21,20,
- 10,9,8,12,15,14,105,108,114,109,
- 116,115,118,117,120,119,122,171,129,101,
- 172,233,128,11,173,8,148,136,8,2,
- 3,132,101,127,1,1,138,1,1,101,
- 63,159,63,101,200,2,7,36,121,1,
- 2,11,203,161,204,101,206,127,207,101,
- 181,224,101,126,209,181,93,92,91,89,
- 90,88,87,86,85,84,64,183,132,161,
- 1,1,81,68,1,33,70,69,8,65,
- 66,10,9,77,76,74,73,72,71,78,
- 12,80,79,83,82,164,165,1,101,36,
- 101,11,2,153,167,132,35,132,132,201,
- 63,36,235,101,101,206,174,64,36,181,
- 36,209,26,126,8,121,101,1,183,183,
- 219,132,109,109,108,108,115,115,114,114,
- 114,114,117,116,119,118,132,120,1,182,
- 101,160,101,167,124,121,1,121,121,36,
- 203,222,63,151,128,194,174,126,126,11,
- 160,101,121,121,63,101,171,199,101,124,
- 167,132,138,36,63,194,128,101,171,174,
- 36,228,127,68,33,229,167,124,121,95,
- 128,199,150,64,159,68,33,121,167,174,
- 67,159,121,159
+ 1,236,2,13,127,11,127,11,149,6,
+ 161,1,35,101,101,38,128,151,66,161,
+ 65,120,1,38,201,47,39,41,45,44,
+ 37,43,48,46,137,11,42,40,127,129,
+ 101,234,214,1,221,128,101,11,101,6,
+ 101,101,28,126,101,106,1,22,23,16,
+ 21,20,10,9,6,12,15,14,105,108,
+ 110,109,116,115,118,117,121,119,122,173,
+ 129,101,174,233,128,11,168,6,148,136,
+ 6,2,3,130,101,127,1,1,138,1,
+ 1,101,65,160,65,101,200,2,5,38,
+ 120,1,2,11,203,159,204,101,206,127,
+ 207,101,182,224,101,126,209,182,95,94,
+ 93,91,92,90,89,88,87,86,66,169,
+ 130,159,1,1,1,1,83,70,1,35,
+ 72,71,6,67,68,10,9,79,78,76,
+ 75,74,73,80,12,82,81,85,84,165,
+ 166,1,101,38,101,11,2,153,170,130,
+ 37,130,130,201,65,38,235,101,101,206,
+ 175,66,38,182,38,209,28,126,6,120,
+ 101,1,169,169,169,169,219,130,109,109,
+ 108,108,115,115,110,110,110,110,117,116,
+ 119,118,130,121,1,183,101,161,101,170,
+ 124,120,1,120,120,38,203,222,65,151,
+ 128,194,175,126,126,11,161,101,120,120,
+ 120,120,65,101,173,199,101,124,170,130,
+ 138,38,65,194,128,101,173,175,38,228,
+ 239,70,35,127,229,170,124,120,97,128,
+ 199,150,66,160,70,35,120,170,175,69,
+ 160,120,160
};
};
public final static char inSymb[] = InSymb.inSymb;
@@ -1561,7 +1603,7 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym
"expression",
"postfix_expression",
"member_name",
- "type_name",
+ "type_id",
"initializer_list",
"unary_expression",
"cast_expression",
@@ -1653,16 +1695,17 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym
"word",
"extended_decl_modifier_seq",
"extended_decl_modifier",
- "extended_asm_param"
+ "extended_asm_param",
+ "field_name_designator"
};
};
public final static String name[] = Name.name;
public final String name(int index) { return name[index]; }
public final static int
- ERROR_SYMBOL = 32,
- SCOPE_UBOUND = 60,
- SCOPE_SIZE = 61,
+ ERROR_SYMBOL = 34,
+ SCOPE_UBOUND = 62,
+ SCOPE_SIZE = 63,
MAX_NAME_LENGTH = 38;
public final int getErrorSymbol() { return ERROR_SYMBOL; }
@@ -1671,20 +1714,20 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym
public final int getMaxNameLength() { return MAX_NAME_LENGTH; }
public final static int
- NUM_STATES = 344,
+ NUM_STATES = 353,
NT_OFFSET = 100,
- LA_STATE_OFFSET = 3383,
+ LA_STATE_OFFSET = 3409,
MAX_LA = 2147483647,
- NUM_RULES = 366,
- NUM_NONTERMINALS = 139,
- NUM_SYMBOLS = 239,
+ NUM_RULES = 373,
+ NUM_NONTERMINALS = 141,
+ NUM_SYMBOLS = 241,
SEGMENT_SIZE = 8192,
- START_STATE = 2395,
+ START_STATE = 2435,
IDENTIFIER_SYMBOL = 0,
- EOFT_SYMBOL = 94,
- EOLT_SYMBOL = 94,
- ACCEPT_ACTION = 2905,
- ERROR_ACTION = 3017;
+ EOFT_SYMBOL = 96,
+ EOLT_SYMBOL = 96,
+ ACCEPT_ACTION = 2924,
+ ERROR_ACTION = 3036;
public final static boolean BACKTRACK = true;
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCParsersym.java
index 53c71b1e09f..6c2f142610b 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCParsersym.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCParsersym.java
@@ -15,106 +15,106 @@ package org.eclipse.cdt.internal.core.dom.lrparser.gcc;
public interface GCCParsersym {
public final static int
- TK_auto = 27,
- TK_break = 37,
- TK_case = 38,
- TK_char = 47,
- TK_const = 22,
- TK_continue = 39,
- TK_default = 40,
- TK_do = 41,
- TK_double = 48,
- TK_else = 95,
- TK_enum = 59,
- TK_extern = 28,
- TK_float = 49,
- TK_for = 42,
- TK_goto = 43,
- TK_if = 44,
- TK_inline = 29,
- TK_int = 50,
- TK_long = 51,
- TK_register = 30,
- TK_restrict = 25,
- TK_return = 45,
- TK_short = 52,
- TK_signed = 53,
+ TK_auto = 29,
+ TK_break = 39,
+ TK_case = 40,
+ TK_char = 49,
+ TK_const = 24,
+ TK_continue = 41,
+ TK_default = 42,
+ TK_do = 43,
+ TK_double = 50,
+ TK_else = 97,
+ TK_enum = 61,
+ TK_extern = 30,
+ TK_float = 51,
+ TK_for = 44,
+ TK_goto = 45,
+ TK_if = 46,
+ TK_inline = 31,
+ TK_int = 52,
+ TK_long = 53,
+ TK_register = 32,
+ TK_restrict = 27,
+ TK_return = 47,
+ TK_short = 54,
+ TK_signed = 55,
TK_sizeof = 16,
- TK_static = 26,
- TK_struct = 60,
- TK_switch = 46,
- TK_typedef = 31,
- TK_union = 61,
- TK_unsigned = 54,
- TK_void = 55,
- TK_volatile = 23,
- TK_while = 35,
- TK__Bool = 56,
- TK__Complex = 57,
- TK__Imaginary = 58,
+ TK_static = 28,
+ TK_struct = 62,
+ TK_switch = 48,
+ TK_typedef = 33,
+ TK_union = 63,
+ TK_unsigned = 56,
+ TK_void = 57,
+ TK_volatile = 25,
+ TK_while = 37,
+ TK__Bool = 58,
+ TK__Complex = 59,
+ TK__Imaginary = 60,
TK_integer = 17,
TK_floating = 18,
TK_charconst = 19,
TK_stringlit = 13,
TK_identifier = 2,
- TK_Completion = 7,
+ TK_Completion = 5,
TK_EndOfCompletion = 3,
- TK_Invalid = 96,
- TK_LeftBracket = 33,
+ TK_Invalid = 98,
+ TK_LeftBracket = 35,
TK_LeftParen = 1,
TK_LeftBrace = 11,
- TK_Dot = 68,
- TK_Arrow = 81,
+ TK_Dot = 70,
+ TK_Arrow = 83,
TK_PlusPlus = 14,
TK_MinusMinus = 15,
TK_And = 12,
- TK_Star = 8,
+ TK_Star = 6,
TK_Plus = 9,
TK_Minus = 10,
TK_Tilde = 20,
TK_Bang = 21,
- TK_Slash = 69,
- TK_Percent = 70,
- TK_RightShift = 65,
- TK_LeftShift = 66,
- TK_LT = 71,
- TK_GT = 72,
- TK_LE = 73,
- TK_GE = 74,
- TK_EQ = 76,
- TK_NE = 77,
- TK_Caret = 78,
- TK_Or = 79,
- TK_AndAnd = 80,
- TK_OrOr = 82,
- TK_Question = 83,
- TK_Colon = 63,
- TK_DotDotDot = 67,
- TK_Assign = 64,
- TK_StarAssign = 84,
- TK_SlashAssign = 85,
- TK_PercentAssign = 86,
- TK_PlusAssign = 87,
- TK_MinusAssign = 88,
- TK_RightShiftAssign = 89,
- TK_LeftShiftAssign = 90,
- TK_AndAssign = 91,
- TK_CaretAssign = 92,
- TK_OrAssign = 93,
- TK_Comma = 36,
- TK_RightBracket = 75,
- TK_RightParen = 34,
- TK_RightBrace = 62,
- TK_SemiColon = 24,
- TK_typeof = 97,
- TK___alignof__ = 98,
+ TK_Slash = 71,
+ TK_Percent = 72,
+ TK_RightShift = 67,
+ TK_LeftShift = 68,
+ TK_LT = 73,
+ TK_GT = 74,
+ TK_LE = 75,
+ TK_GE = 76,
+ TK_EQ = 78,
+ TK_NE = 79,
+ TK_Caret = 80,
+ TK_Or = 81,
+ TK_AndAnd = 82,
+ TK_OrOr = 84,
+ TK_Question = 85,
+ TK_Colon = 65,
+ TK_DotDotDot = 69,
+ TK_Assign = 66,
+ TK_StarAssign = 86,
+ TK_SlashAssign = 87,
+ TK_PercentAssign = 88,
+ TK_PlusAssign = 89,
+ TK_MinusAssign = 90,
+ TK_RightShiftAssign = 91,
+ TK_LeftShiftAssign = 92,
+ TK_AndAssign = 93,
+ TK_CaretAssign = 94,
+ TK_OrAssign = 95,
+ TK_Comma = 38,
+ TK_RightBracket = 77,
+ TK_RightParen = 36,
+ TK_RightBrace = 64,
+ TK_SemiColon = 26,
+ TK_typeof = 22,
+ TK___alignof__ = 23,
TK_MAX = 99,
TK_MIN = 100,
- TK___attribute__ = 5,
- TK___declspec = 6,
+ TK___attribute__ = 7,
+ TK___declspec = 8,
TK_asm = 4,
- TK_ERROR_TOKEN = 32,
- TK_EOF_TOKEN = 94;
+ TK_ERROR_TOKEN = 34,
+ TK_EOF_TOKEN = 96;
public final static String orderedTerminalSymbols[] = {
"",
@@ -122,10 +122,10 @@ public interface GCCParsersym {
"identifier",
"EndOfCompletion",
"asm",
- "__attribute__",
- "__declspec",
"Completion",
"Star",
+ "__attribute__",
+ "__declspec",
"Plus",
"Minus",
"LeftBrace",
@@ -139,6 +139,8 @@ public interface GCCParsersym {
"charconst",
"Tilde",
"Bang",
+ "typeof",
+ "__alignof__",
"const",
"volatile",
"SemiColon",
@@ -214,8 +216,6 @@ public interface GCCParsersym {
"EOF_TOKEN",
"else",
"Invalid",
- "typeof",
- "__alignof__",
"MAX",
"MIN"
};
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCSizeofExpressionParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCSizeofExpressionParser.java
new file mode 100644
index 00000000000..8acebf6afee
--- /dev/null
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCSizeofExpressionParser.java
@@ -0,0 +1,1322 @@
+/*******************************************************************************
+* 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
+*********************************************************************************/
+
+// This file was generated by LPG
+
+package org.eclipse.cdt.internal.core.dom.lrparser.gcc;
+
+import lpg.lpgjavaruntime.*;
+
+import java.util.*;
+import org.eclipse.cdt.core.dom.ast.*;
+import org.eclipse.cdt.core.dom.lrparser.IParser;
+import org.eclipse.cdt.core.dom.lrparser.IParserActionTokenProvider;
+import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser;
+import org.eclipse.cdt.core.dom.lrparser.action.ScopedStack;
+
+import org.eclipse.cdt.core.dom.lrparser.action.ITokenMap;
+import org.eclipse.cdt.core.dom.lrparser.action.TokenMap;
+
+import org.eclipse.cdt.internal.core.dom.parser.c.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.lrparser.action.gnu.GCCBuildASTParserAction;
+import org.eclipse.cdt.core.dom.lrparser.action.gnu.GCCSecondaryParserFactory;
+
+public class GCCSizeofExpressionParser extends PrsStream implements RuleAction , IParserActionTokenProvider, IParser
+{
+ private static ParseTable prs = new GCCSizeofExpressionParserprs();
+ private FixedBacktrackingParser btParser;
+
+ public FixedBacktrackingParser getParser() { return btParser; }
+ private void setResult(Object object) { btParser.setSym1(object); }
+ public Object getRhsSym(int i) { return btParser.getSym(i); }
+
+ public int getRhsTokenIndex(int i) { return btParser.getToken(i); }
+ public IToken getRhsIToken(int i) { return super.getIToken(getRhsTokenIndex(i)); }
+
+ public int getRhsFirstTokenIndex(int i) { return btParser.getFirstToken(i); }
+ public IToken getRhsFirstIToken(int i) { return super.getIToken(getRhsFirstTokenIndex(i)); }
+
+ public int getRhsLastTokenIndex(int i) { return btParser.getLastToken(i); }
+ public IToken getRhsLastIToken(int i) { return super.getIToken(getRhsLastTokenIndex(i)); }
+
+ public int getLeftSpan() { return btParser.getFirstToken(); }
+ public IToken getLeftIToken() { return super.getIToken(getLeftSpan()); }
+
+ public int getRightSpan() { return btParser.getLastToken(); }
+ public IToken getRightIToken() { return super.getIToken(getRightSpan()); }
+
+ public int getRhsErrorTokenIndex(int i)
+ {
+ int index = btParser.getToken(i);
+ IToken err = super.getIToken(index);
+ return (err instanceof ErrorToken ? index : 0);
+ }
+ public ErrorToken getRhsErrorIToken(int i)
+ {
+ int index = btParser.getToken(i);
+ IToken err = super.getIToken(index);
+ return (ErrorToken) (err instanceof ErrorToken ? err : null);
+ }
+
+ public GCCSizeofExpressionParser(LexStream lexStream)
+ {
+ super(lexStream);
+
+ try
+ {
+ super.remapTerminalSymbols(orderedTerminalSymbols(), GCCSizeofExpressionParserprs.EOFT_SYMBOL);
+ }
+ catch(NullExportedSymbolsException e) {
+ }
+ catch(NullTerminalSymbolsException e) {
+ }
+ catch(UnimplementedTerminalsException e)
+ {
+ java.util.ArrayList unimplemented_symbols = e.getSymbols();
+ System.out.println("The Lexer will not scan the following token(s):");
+ for (int i = 0; i < unimplemented_symbols.size(); i++)
+ {
+ Integer id = (Integer) unimplemented_symbols.get(i);
+ System.out.println(" " + GCCSizeofExpressionParsersym.orderedTerminalSymbols[id.intValue()]);
+ }
+ System.out.println();
+ }
+ catch(UndefinedEofSymbolException e)
+ {
+ throw new Error(new UndefinedEofSymbolException
+ ("The Lexer does not implement the Eof symbol " +
+ GCCSizeofExpressionParsersym.orderedTerminalSymbols[GCCSizeofExpressionParserprs.EOFT_SYMBOL]));
+ }
+ }
+
+ public String[] orderedTerminalSymbols() { return GCCSizeofExpressionParsersym.orderedTerminalSymbols; }
+ public String getTokenKindName(int kind) { return GCCSizeofExpressionParsersym.orderedTerminalSymbols[kind]; }
+ public int getEOFTokenKind() { return GCCSizeofExpressionParserprs.EOFT_SYMBOL; }
+ public PrsStream getParseStream() { return (PrsStream) this; }
+
+ //
+ // Report error message for given error_token.
+ //
+ public final void reportErrorTokenMessage(int error_token, String msg)
+ {
+ int firsttok = super.getFirstErrorToken(error_token),
+ lasttok = super.getLastErrorToken(error_token);
+ String location = super.getFileName() + ':' +
+ (firsttok > lasttok
+ ? (super.getEndLine(lasttok) + ":" + super.getEndColumn(lasttok))
+ : (super.getLine(error_token) + ":" +
+ super.getColumn(error_token) + ":" +
+ super.getEndLine(error_token) + ":" +
+ super.getEndColumn(error_token)))
+ + ": ";
+ super.reportError((firsttok > lasttok ? ParseErrorCodes.INSERTION_CODE : ParseErrorCodes.SUBSTITUTION_CODE), location, msg);
+ }
+
+ public Object parser()
+ {
+ return parser(null, 0);
+ }
+
+ public Object parser(Monitor monitor)
+ {
+ return parser(monitor, 0);
+ }
+
+ public Object parser(int error_repair_count)
+ {
+ return parser(null, error_repair_count);
+ }
+
+ public Object parser(Monitor monitor, int error_repair_count)
+ {
+ try
+ {
+ btParser = new FixedBacktrackingParser(monitor, (TokenStream) this, prs, (RuleAction) this);
+ }
+ catch (NotBacktrackParseTableException e)
+ {
+ throw new Error(new NotBacktrackParseTableException
+ ("Regenerate GCCSizeofExpressionParserprs.java with -BACKTRACK option"));
+ }
+ catch (BadParseSymFileException e)
+ {
+ throw new Error(new BadParseSymFileException("Bad Parser Symbol File -- GCCSizeofExpressionParsersym.java"));
+ }
+
+ try
+ {
+ return (Object) btParser.parse(error_repair_count);
+ }
+ catch (BadParseException e)
+ {
+ reset(e.error_token); // point to error token
+ DiagnoseParser diagnoseParser = new DiagnoseParser(this, prs);
+ diagnoseParser.diagnose(e.error_token);
+ }
+
+ return null;
+ }
+
+
+private C99BuildASTParserAction action;
+private ScopedStack<Object> astStack = new ScopedStack<Object>();
+
+public GCCSizeofExpressionParser() { // constructor
+}
+
+private void initActions(IASTTranslationUnit tu, Set<IParser.Options> options) {
+ action = new C99BuildASTParserAction (this, tu, astStack, CNodeFactory.getDefault() , GCCSecondaryParserFactory.getDefault() );
+ action.setParserOptions(options);
+
+
+
+ gnuAction = new GCCBuildASTParserAction (this, tu, astStack, CNodeFactory.getDefault() );
+ gnuAction.setParserOptions(options);
+
+
+}
+
+
+public void addToken(IToken token) {
+ token.setKind(mapKind(token.getKind())); // TODO does mapKind need to be called?
+ super.addToken(token);
+}
+
+
+public IASTCompletionNode parse(IASTTranslationUnit tu, Set<IParser.Options> options) {
+ // this has to be done, or... kaboom!
+ setStreamLength(getSize());
+ initActions(tu, options);
+
+ 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();
+
+ //action = null;
+ //parserAction = null;
+ return compNode;
+}
+
+// uncomment this method to use with backtracking parser
+public List<IToken> getRuleTokens() {
+ return getTokens().subList(getLeftSpan(), getRightSpan() + 1);
+}
+
+public IASTNode getSecondaryParseResult() {
+ return (IASTNode) astStack.pop();
+}
+
+public String[] getOrderedTerminalSymbols() {
+ return GCCSizeofExpressionParsersym.orderedTerminalSymbols;
+}
+
+@SuppressWarnings("nls")
+public String getName() {
+ return "GCCSizeofExpressionParser";
+}
+
+
+
+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, GCCSizeofExpressionParsersym.TK_EOF_TOKEN));
+}
+
+public GCCSizeofExpressionParser(IParserActionTokenProvider parser) { // constructor
+ tokenMap = new TokenMap(GCCSizeofExpressionParsersym.orderedTerminalSymbols, parser.getOrderedTerminalSymbols());
+}
+
+
+
+private GCCBuildASTParserAction gnuAction;
+
+ public void ruleAction(int ruleNumber)
+ {
+ switch (ruleNumber)
+ {
+
+ //
+ // Rule 1: <openscope-ast> ::= $Empty
+ //
+ case 1: { action. openASTScope(); break;
+ }
+
+ //
+ // Rule 10: literal ::= integer
+ //
+ case 10: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_integer_constant); break;
+ }
+
+ //
+ // Rule 11: literal ::= floating
+ //
+ case 11: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_float_constant); break;
+ }
+
+ //
+ // Rule 12: literal ::= charconst
+ //
+ case 12: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_char_constant); break;
+ }
+
+ //
+ // Rule 13: literal ::= stringlit
+ //
+ case 13: { action. consumeExpressionLiteral(IASTLiteralExpression.lk_string_literal); break;
+ }
+
+ //
+ // Rule 15: primary_expression ::= primary_expression_id
+ //
+ case 15: { action. consumeExpressionID(); break;
+ }
+
+ //
+ // Rule 16: primary_expression ::= ( expression )
+ //
+ case 16: { action. consumeExpressionBracketed(); break;
+ }
+
+ //
+ // Rule 20: postfix_expression ::= postfix_expression [ expression ]
+ //
+ case 20: { action. consumeExpressionArraySubscript(); break;
+ }
+
+ //
+ // Rule 21: postfix_expression ::= postfix_expression ( expression_list_opt )
+ //
+ case 21: { action. consumeExpressionFunctionCall(); break;
+ }
+
+ //
+ // Rule 22: postfix_expression ::= postfix_expression . member_name
+ //
+ case 22: { action. consumeExpressionFieldReference(false); break;
+ }
+
+ //
+ // Rule 23: postfix_expression ::= postfix_expression -> member_name
+ //
+ case 23: { action. consumeExpressionFieldReference(true); break;
+ }
+
+ //
+ // Rule 24: postfix_expression ::= postfix_expression ++
+ //
+ case 24: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break;
+ }
+
+ //
+ // Rule 25: postfix_expression ::= postfix_expression --
+ //
+ case 25: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break;
+ }
+
+ //
+ // Rule 26: postfix_expression ::= ( type_id ) { <openscope-ast> initializer_list comma_opt }
+ //
+ case 26: { action. consumeExpressionTypeIdInitializer(); break;
+ }
+
+ //
+ // Rule 32: unary_expression ::= ++ unary_expression
+ //
+ case 32: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixIncr); break;
+ }
+
+ //
+ // Rule 33: unary_expression ::= -- unary_expression
+ //
+ case 33: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixDecr); break;
+ }
+
+ //
+ // Rule 34: unary_expression ::= & cast_expression
+ //
+ case 34: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_amper); break;
+ }
+
+ //
+ // Rule 35: unary_expression ::= * cast_expression
+ //
+ case 35: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_star); break;
+ }
+
+ //
+ // Rule 36: unary_expression ::= + cast_expression
+ //
+ case 36: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_plus); break;
+ }
+
+ //
+ // Rule 37: unary_expression ::= - cast_expression
+ //
+ case 37: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_minus); break;
+ }
+
+ //
+ // Rule 38: unary_expression ::= ~ cast_expression
+ //
+ case 38: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_tilde); break;
+ }
+
+ //
+ // Rule 39: unary_expression ::= ! cast_expression
+ //
+ case 39: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_not); break;
+ }
+
+ //
+ // Rule 40: unary_expression ::= sizeof unary_expression
+ //
+ case 40: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof); break;
+ }
+
+ //
+ // Rule 42: cast_expression ::= ( type_id ) cast_expression
+ //
+ case 42: { action. consumeExpressionCast(IASTCastExpression.op_cast); break;
+ }
+
+ //
+ // Rule 44: multiplicative_expression ::= multiplicative_expression * cast_expression
+ //
+ case 44: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_multiply); break;
+ }
+
+ //
+ // Rule 45: multiplicative_expression ::= multiplicative_expression / cast_expression
+ //
+ case 45: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_divide); break;
+ }
+
+ //
+ // Rule 46: multiplicative_expression ::= multiplicative_expression % cast_expression
+ //
+ case 46: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_modulo); break;
+ }
+
+ //
+ // Rule 48: additive_expression ::= additive_expression + multiplicative_expression
+ //
+ case 48: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_plus); break;
+ }
+
+ //
+ // Rule 49: additive_expression ::= additive_expression - multiplicative_expression
+ //
+ case 49: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_minus); break;
+ }
+
+ //
+ // Rule 51: shift_expression ::= shift_expression << additive_expression
+ //
+ case 51: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftLeft); break;
+ }
+
+ //
+ // Rule 52: shift_expression ::= shift_expression >> additive_expression
+ //
+ case 52: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftRight); break;
+ }
+
+ //
+ // Rule 54: relational_expression ::= relational_expression < shift_expression
+ //
+ case 54: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_lessThan); break;
+ }
+
+ //
+ // Rule 55: relational_expression ::= relational_expression > shift_expression
+ //
+ case 55: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_greaterThan); break;
+ }
+
+ //
+ // Rule 56: relational_expression ::= relational_expression <= shift_expression
+ //
+ case 56: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_lessEqual); break;
+ }
+
+ //
+ // Rule 57: relational_expression ::= relational_expression >= shift_expression
+ //
+ case 57: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_greaterEqual); break;
+ }
+
+ //
+ // Rule 59: equality_expression ::= equality_expression == relational_expression
+ //
+ case 59: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_equals); break;
+ }
+
+ //
+ // Rule 60: equality_expression ::= equality_expression != relational_expression
+ //
+ case 60: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_notequals); break;
+ }
+
+ //
+ // Rule 62: AND_expression ::= AND_expression & equality_expression
+ //
+ case 62: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryAnd); break;
+ }
+
+ //
+ // Rule 64: exclusive_OR_expression ::= exclusive_OR_expression ^ AND_expression
+ //
+ case 64: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryXor); break;
+ }
+
+ //
+ // Rule 66: inclusive_OR_expression ::= inclusive_OR_expression | exclusive_OR_expression
+ //
+ case 66: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryOr); break;
+ }
+
+ //
+ // Rule 68: logical_AND_expression ::= logical_AND_expression && inclusive_OR_expression
+ //
+ case 68: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_logicalAnd); break;
+ }
+
+ //
+ // Rule 70: logical_OR_expression ::= logical_OR_expression || logical_AND_expression
+ //
+ case 70: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_logicalOr); break;
+ }
+
+ //
+ // Rule 72: conditional_expression ::= logical_OR_expression ? expression : conditional_expression
+ //
+ case 72: { action. consumeExpressionConditional(); break;
+ }
+
+ //
+ // Rule 74: assignment_expression ::= unary_expression = assignment_expression
+ //
+ case 74: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_assign); break;
+ }
+
+ //
+ // Rule 75: assignment_expression ::= unary_expression *= assignment_expression
+ //
+ case 75: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_multiplyAssign); break;
+ }
+
+ //
+ // Rule 76: assignment_expression ::= unary_expression /= assignment_expression
+ //
+ case 76: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_divideAssign); break;
+ }
+
+ //
+ // Rule 77: assignment_expression ::= unary_expression %= assignment_expression
+ //
+ case 77: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_moduloAssign); break;
+ }
+
+ //
+ // Rule 78: assignment_expression ::= unary_expression += assignment_expression
+ //
+ case 78: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_plusAssign); break;
+ }
+
+ //
+ // Rule 79: assignment_expression ::= unary_expression -= assignment_expression
+ //
+ case 79: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_minusAssign); break;
+ }
+
+ //
+ // Rule 80: assignment_expression ::= unary_expression <<= assignment_expression
+ //
+ case 80: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftLeftAssign); break;
+ }
+
+ //
+ // Rule 81: assignment_expression ::= unary_expression >>= assignment_expression
+ //
+ case 81: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftRightAssign); break;
+ }
+
+ //
+ // Rule 82: assignment_expression ::= unary_expression &= assignment_expression
+ //
+ case 82: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryAndAssign); break;
+ }
+
+ //
+ // Rule 83: assignment_expression ::= unary_expression ^= assignment_expression
+ //
+ case 83: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryXorAssign); break;
+ }
+
+ //
+ // Rule 84: assignment_expression ::= unary_expression |= assignment_expression
+ //
+ case 84: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryOrAssign); break;
+ }
+
+ //
+ // Rule 87: expression_list ::= <openscope-ast> expression_list_actual
+ //
+ case 87: { action. consumeExpressionList(); break;
+ }
+
+ //
+ // Rule 89: expression_list_opt ::= $Empty
+ //
+ case 89: { action. consumeEmpty(); break;
+ }
+
+ //
+ // Rule 99: statement ::= ERROR_TOKEN
+ //
+ case 99: { action. consumeStatementProblem(); break;
+ }
+
+ //
+ // Rule 100: labeled_statement ::= identifier_token : statement
+ //
+ case 100: { action. consumeStatementLabeled(); break;
+ }
+
+ //
+ // Rule 101: labeled_statement ::= case constant_expression : statement
+ //
+ case 101: { action. consumeStatementCase(); break;
+ }
+
+ //
+ // Rule 102: labeled_statement ::= default : statement
+ //
+ case 102: { action. consumeStatementDefault(); break;
+ }
+
+ //
+ // Rule 103: compound_statement ::= { }
+ //
+ case 103: { action. consumeStatementCompoundStatement(false); break;
+ }
+
+ //
+ // Rule 104: compound_statement ::= { <openscope-ast> block_item_list }
+ //
+ case 104: { action. consumeStatementCompoundStatement(true); break;
+ }
+
+ //
+ // Rule 108: block_item ::= declaration
+ //
+ case 108: { action. consumeStatementDeclarationWithDisambiguation(); break;
+ }
+
+ //
+ // Rule 109: expression_statement ::= ;
+ //
+ case 109: { action. consumeStatementNull(); break;
+ }
+
+ //
+ // Rule 110: expression_statement ::= expression_in_statement ;
+ //
+ case 110: { action. consumeStatementExpression(); break;
+ }
+
+ //
+ // Rule 111: selection_statement ::= if ( expression ) statement
+ //
+ case 111: { action. consumeStatementIf(false); break;
+ }
+
+ //
+ // Rule 112: selection_statement ::= if ( expression ) statement else statement
+ //
+ case 112: { action. consumeStatementIf(true); break;
+ }
+
+ //
+ // Rule 113: selection_statement ::= switch ( expression ) statement
+ //
+ case 113: { action. consumeStatementSwitch(); break;
+ }
+
+ //
+ // Rule 115: expression_opt ::= $Empty
+ //
+ case 115: { action. consumeEmpty(); break;
+ }
+
+ //
+ // Rule 116: iteration_statement ::= do statement while ( expression ) ;
+ //
+ case 116: { action. consumeStatementDoLoop(); break;
+ }
+
+ //
+ // Rule 117: iteration_statement ::= while ( expression ) statement
+ //
+ case 117: { action. consumeStatementWhileLoop(); break;
+ }
+
+ //
+ // Rule 118: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement
+ //
+ case 118: { action. consumeStatementForLoop(); break;
+ }
+
+ //
+ // Rule 119: iteration_statement ::= for ( declaration expression_opt ; expression_opt ) statement
+ //
+ case 119: { action. consumeStatementForLoop(); break;
+ }
+
+ //
+ // Rule 120: jump_statement ::= goto identifier_token ;
+ //
+ case 120: { action. consumeStatementGoto(); break;
+ }
+
+ //
+ // Rule 121: jump_statement ::= continue ;
+ //
+ case 121: { action. consumeStatementContinue(); break;
+ }
+
+ //
+ // Rule 122: jump_statement ::= break ;
+ //
+ case 122: { action. consumeStatementBreak(); break;
+ }
+
+ //
+ // Rule 123: jump_statement ::= return ;
+ //
+ case 123: { action. consumeStatementReturn(false); break;
+ }
+
+ //
+ // Rule 124: jump_statement ::= return expression ;
+ //
+ case 124: { action. consumeStatementReturn(true); break;
+ }
+
+ //
+ // Rule 125: declaration ::= declaration_specifiers ;
+ //
+ case 125: { action. consumeDeclarationSimple(false); break;
+ }
+
+ //
+ // Rule 126: declaration ::= declaration_specifiers <openscope-ast> init_declarator_list ;
+ //
+ case 126: { action. consumeDeclarationSimple(true); break;
+ }
+
+ //
+ // Rule 127: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers
+ //
+ case 127: { action. consumeDeclarationSpecifiersSimple(); break;
+ }
+
+ //
+ // Rule 128: declaration_specifiers ::= <openscope-ast> struct_or_union_declaration_specifiers
+ //
+ case 128: { action. consumeDeclarationSpecifiersStructUnionEnum(); break;
+ }
+
+ //
+ // Rule 129: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers
+ //
+ case 129: { action. consumeDeclarationSpecifiersStructUnionEnum(); break;
+ }
+
+ //
+ // Rule 130: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers
+ //
+ case 130: { action. consumeDeclarationSpecifiersStructUnionEnum(); break;
+ }
+
+ //
+ // Rule 131: declaration_specifiers ::= <openscope-ast> typdef_name_declaration_specifiers
+ //
+ case 131: { action. consumeDeclarationSpecifiersTypedefName(); break;
+ }
+
+ //
+ // Rule 156: init_declarator ::= complete_declarator = initializer
+ //
+ case 156: { action. consumeDeclaratorWithInitializer(true); break;
+ }
+
+ //
+ // Rule 158: storage_class_specifier ::= storage_class_specifier_token
+ //
+ case 158: { action. consumeToken(); break;
+ }
+
+ //
+ // Rule 164: simple_type_specifier ::= simple_type_specifier_token
+ //
+ case 164: { action. consumeToken(); break;
+ }
+
+ //
+ // Rule 177: typedef_name_in_declspec ::= Completion
+ //
+ case 177: { action. consumeToken(); break;
+ }
+
+ //
+ // Rule 178: typedef_name_in_declspec ::= identifier
+ //
+ case 178: { action. consumeToken(); break;
+ }
+
+ //
+ // Rule 181: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt }
+ //
+ case 181: { action. consumeTypeSpecifierComposite(false); break;
+ }
+
+ //
+ // Rule 182: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook identifier_token struct_or_union_specifier_suffix_hook { <openscope-ast> struct_declaration_list_opt }
+ //
+ case 182: { action. consumeTypeSpecifierComposite(true); break;
+ }
+
+ //
+ // Rule 187: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token
+ //
+ case 187: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break;
+ }
+
+ //
+ // Rule 188: elaborated_specifier ::= union elaborated_specifier_hook identifier_token
+ //
+ case 188: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break;
+ }
+
+ //
+ // Rule 189: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token
+ //
+ case 189: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break;
+ }
+
+ //
+ // Rule 195: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ;
+ //
+ case 195: { action. consumeStructDeclaration(true); break;
+ }
+
+ //
+ // Rule 196: struct_declaration ::= specifier_qualifier_list ;
+ //
+ case 196: { action. consumeStructDeclaration(false); break;
+ }
+
+ //
+ // Rule 197: struct_declaration ::= ERROR_TOKEN
+ //
+ case 197: { action. consumeDeclarationProblem(); break;
+ }
+
+ //
+ // Rule 203: struct_declarator ::= : constant_expression
+ //
+ case 203: { action. consumeBitField(false); break;
+ }
+
+ //
+ // Rule 204: struct_declarator ::= declarator : constant_expression
+ //
+ case 204: { action. consumeBitField(true); break;
+ }
+
+ //
+ // Rule 205: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt }
+ //
+ case 205: { action. consumeTypeSpecifierEnumeration(false); break;
+ }
+
+ //
+ // Rule 206: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt }
+ //
+ case 206: { action. consumeTypeSpecifierEnumeration(true); break;
+ }
+
+ //
+ // Rule 212: enumerator ::= identifier_token
+ //
+ case 212: { action. consumeEnumerator(false); break;
+ }
+
+ //
+ // Rule 213: enumerator ::= identifier_token = constant_expression
+ //
+ case 213: { action. consumeEnumerator(true); break;
+ }
+
+ //
+ // Rule 214: type_qualifier ::= type_qualifier_token
+ //
+ case 214: { action. consumeToken(); break;
+ }
+
+ //
+ // Rule 218: function_specifier ::= inline
+ //
+ case 218: { action. consumeToken(); break;
+ }
+
+ //
+ // Rule 220: declarator ::= <openscope-ast> pointer_seq direct_declarator
+ //
+ case 220: { action. consumeDeclaratorWithPointer(true); break;
+ }
+
+ //
+ // Rule 225: basic_direct_declarator ::= declarator_id_name
+ //
+ case 225: { action. consumeDirectDeclaratorIdentifier(); break;
+ }
+
+ //
+ // Rule 226: basic_direct_declarator ::= ( declarator )
+ //
+ case 226: { action. consumeDirectDeclaratorBracketed(); break;
+ }
+
+ //
+ // Rule 227: declarator_id_name ::= identifier
+ //
+ case 227: { action. consumeIdentifierName(); break;
+ }
+
+ //
+ // Rule 228: array_direct_declarator ::= basic_direct_declarator array_modifier
+ //
+ case 228: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ }
+
+ //
+ // Rule 229: array_direct_declarator ::= array_direct_declarator array_modifier
+ //
+ case 229: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ }
+
+ //
+ // Rule 231: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list )
+ //
+ case 231: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
+ }
+
+ //
+ // Rule 232: function_direct_declarator ::= basic_direct_declarator ( )
+ //
+ case 232: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
+ }
+
+ //
+ // Rule 234: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator
+ //
+ case 234: { action. consumeDeclaratorWithPointer(true); break;
+ }
+
+ //
+ // Rule 235: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list )
+ //
+ case 235: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break;
+ }
+
+ //
+ // Rule 237: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator
+ //
+ case 237: { action. consumeDeclaratorWithPointer(true); break;
+ }
+
+ //
+ // Rule 238: identifier_list ::= identifier
+ //
+ case 238: { action. consumeIdentifierKnR(); break;
+ }
+
+ //
+ // Rule 239: identifier_list ::= identifier_list , identifier
+ //
+ case 239: { action. consumeIdentifierKnR(); break;
+ }
+
+ //
+ // Rule 240: array_modifier ::= [ ]
+ //
+ case 240: { action. consumeDirectDeclaratorArrayModifier(false); break;
+ }
+
+ //
+ // Rule 241: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ]
+ //
+ case 241: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break;
+ }
+
+ //
+ // Rule 242: array_modifier ::= [ assignment_expression ]
+ //
+ case 242: { action. consumeDirectDeclaratorArrayModifier(true); break;
+ }
+
+ //
+ // Rule 243: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
+ //
+ case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break;
+ }
+
+ //
+ // Rule 244: array_modifier ::= [ static assignment_expression ]
+ //
+ case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break;
+ }
+
+ //
+ // Rule 245: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ]
+ //
+ case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break;
+ }
+
+ //
+ // Rule 246: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ]
+ //
+ case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break;
+ }
+
+ //
+ // Rule 247: array_modifier ::= [ * ]
+ //
+ case 247: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break;
+ }
+
+ //
+ // Rule 248: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ]
+ //
+ case 248: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break;
+ }
+
+ //
+ // Rule 250: pointer_seq ::= pointer_hook *
+ //
+ case 250: { action. consumePointer(); break;
+ }
+
+ //
+ // Rule 251: pointer_seq ::= pointer_seq pointer_hook *
+ //
+ case 251: { action. consumePointer(); break;
+ }
+
+ //
+ // Rule 252: pointer_seq ::= pointer_hook * <openscope-ast> type_qualifier_list
+ //
+ case 252: { action. consumePointerTypeQualifierList(); break;
+ }
+
+ //
+ // Rule 253: pointer_seq ::= pointer_seq pointer_hook * <openscope-ast> type_qualifier_list
+ //
+ case 253: { action. consumePointerTypeQualifierList(); break;
+ }
+
+ //
+ // Rule 257: parameter_type_list ::= parameter_list
+ //
+ case 257: { action. consumeEmpty(); break;
+ }
+
+ //
+ // Rule 258: parameter_type_list ::= parameter_list , ...
+ //
+ case 258: { action. consumePlaceHolder(); break;
+ }
+
+ //
+ // Rule 259: parameter_type_list ::= ...
+ //
+ case 259: { action. consumePlaceHolder(); break;
+ }
+
+ //
+ // Rule 262: parameter_declaration ::= declaration_specifiers complete_parameter_declarator
+ //
+ case 262: { action. consumeParameterDeclaration(); break;
+ }
+
+ //
+ // Rule 263: parameter_declaration ::= declaration_specifiers
+ //
+ case 263: { action. consumeParameterDeclarationWithoutDeclarator(); break;
+ }
+
+ //
+ // Rule 266: type_id ::= specifier_qualifier_list
+ //
+ case 266: { action. consumeTypeId(false); break;
+ }
+
+ //
+ // Rule 267: type_id ::= specifier_qualifier_list abstract_declarator
+ //
+ case 267: { action. consumeTypeId(true); break;
+ }
+
+ //
+ // Rule 269: abstract_declarator ::= <openscope-ast> pointer_seq
+ //
+ case 269: { action. consumeDeclaratorWithPointer(false); break;
+ }
+
+ //
+ // Rule 270: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator
+ //
+ case 270: { action. consumeDeclaratorWithPointer(false); break;
+ }
+
+ //
+ // Rule 274: basic_direct_abstract_declarator ::= ( abstract_declarator )
+ //
+ case 274: { action. consumeDirectDeclaratorBracketed(); break;
+ }
+
+ //
+ // Rule 275: array_direct_abstract_declarator ::= array_modifier
+ //
+ case 275: { action. consumeDirectDeclaratorArrayDeclarator(false); break;
+ }
+
+ //
+ // Rule 276: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
+ //
+ case 276: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ }
+
+ //
+ // Rule 277: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
+ //
+ case 277: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ }
+
+ //
+ // Rule 278: function_direct_abstract_declarator ::= ( )
+ //
+ case 278: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break;
+ }
+
+ //
+ // Rule 279: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( )
+ //
+ case 279: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break;
+ }
+
+ //
+ // Rule 280: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list )
+ //
+ case 280: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break;
+ }
+
+ //
+ // Rule 281: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list )
+ //
+ case 281: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break;
+ }
+
+ //
+ // Rule 282: initializer ::= assignment_expression
+ //
+ case 282: { action. consumeInitializer(); break;
+ }
+
+ //
+ // Rule 283: initializer ::= start_initializer_list { <openscope-ast> initializer_list comma_opt } end_initializer_list
+ //
+ case 283: { action. consumeInitializerList(); break;
+ }
+
+ //
+ // Rule 284: initializer ::= { <openscope-ast> }
+ //
+ case 284: { action. consumeInitializerList(); break;
+ }
+
+ //
+ // Rule 285: start_initializer_list ::= $Empty
+ //
+ case 285: { action. initializerListStart(); break;
+ }
+
+ //
+ // Rule 286: end_initializer_list ::= $Empty
+ //
+ case 286: { action. initializerListEnd(); break;
+ }
+
+ //
+ // Rule 291: designated_initializer ::= <openscope-ast> designation = initializer
+ //
+ case 291: { action. consumeInitializerDesignated(); break;
+ }
+
+ //
+ // Rule 295: designator_base ::= [ constant_expression ]
+ //
+ case 295: { action. consumeDesignatorArray(); break;
+ }
+
+ //
+ // Rule 296: designator_base ::= . identifier_token
+ //
+ case 296: { action. consumeDesignatorField(); break;
+ }
+
+ //
+ // Rule 297: designator ::= [ constant_expression ]
+ //
+ case 297: { action. consumeDesignatorArray(); break;
+ }
+
+ //
+ // Rule 298: designator ::= . identifier_token
+ //
+ case 298: { action. consumeDesignatorField(); break;
+ }
+
+ //
+ // Rule 299: translation_unit ::= external_declaration_list
+ //
+ case 299: { action. consumeTranslationUnit(); break;
+ }
+
+ //
+ // Rule 300: translation_unit ::= $Empty
+ //
+ case 300: { action. consumeTranslationUnit(); break;
+ }
+
+ //
+ // Rule 305: external_declaration ::= ;
+ //
+ case 305: { action. consumeDeclarationEmpty(); break;
+ }
+
+ //
+ // Rule 306: external_declaration ::= ERROR_TOKEN
+ //
+ case 306: { action. consumeDeclarationProblem(); break;
+ }
+
+ //
+ // Rule 309: function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body
+ //
+ case 309: { action. consumeFunctionDefinition(true); break;
+ }
+
+ //
+ // Rule 310: function_definition ::= <openscope-ast> function_declarator function_body
+ //
+ case 310: { action. consumeFunctionDefinition(false); break;
+ }
+
+ //
+ // Rule 311: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement
+ //
+ case 311: { action. consumeFunctionDefinitionKnR(); break;
+ }
+
+ //
+ // Rule 312: function_body ::= { }
+ //
+ case 312: { action. consumeStatementCompoundStatement(false); break;
+ }
+
+ //
+ // Rule 313: function_body ::= { <openscope-ast> block_item_list }
+ //
+ case 313: { action. consumeStatementCompoundStatement(true); break;
+ }
+
+ //
+ // Rule 330: attribute_parameter ::= assignment_expression
+ //
+ case 330: { action. consumeIgnore(); break;
+ }
+
+ //
+ // Rule 340: extended_asm_declaration ::= asm volatile_opt ( extended_asm_param_seq ) ;
+ //
+ case 340: { gnuAction.consumeDeclarationASM(); break;
+ }
+
+ //
+ // Rule 351: unary_expression ::= __alignof__ unary_expression
+ //
+ case 351: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_alignOf); break;
+ }
+
+ //
+ // Rule 352: unary_expression ::= typeof unary_expression
+ //
+ case 352: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); break;
+ }
+
+ //
+ // Rule 368: field_name_designator ::= identifier_token :
+ //
+ case 368: { gnuAction.consumeDesignatorField(); break;
+ }
+
+ //
+ // Rule 369: array_range_designator ::= [ constant_expression ... constant_expression ]
+ //
+ case 369: { gnuAction.consumeDesignatorArray(); break;
+ }
+
+ //
+ // Rule 370: designated_initializer ::= <openscope-ast> field_name_designator initializer
+ //
+ case 370: { action. consumeInitializerDesignated(); break;
+ }
+
+ //
+ // Rule 372: no_sizeof_type_name_start ::= ERROR_TOKEN
+ //
+ case 372: { action. consumeExpressionProblem(); break;
+ }
+
+
+ default:
+ break;
+ }
+ return;
+ }
+}
+
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCSizeofExpressionParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCSizeofExpressionParserprs.java
new file mode 100644
index 00000000000..9894b404c61
--- /dev/null
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCSizeofExpressionParserprs.java
@@ -0,0 +1,1369 @@
+/*******************************************************************************
+* 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
+*********************************************************************************/
+
+// This file was generated by LPG
+
+package org.eclipse.cdt.internal.core.dom.lrparser.gcc;
+
+public class GCCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, GCCSizeofExpressionParsersym {
+
+ public interface IsKeyword {
+ public final static byte isKeyword[] = {0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0
+ };
+ };
+ public final static byte isKeyword[] = IsKeyword.isKeyword;
+ public final boolean isKeyword(int index) { return isKeyword[index] != 0; }
+
+ 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,
+ 4,3,2,4,1,2,1,1,1,2,
+ 5,7,5,1,0,7,5,9,8,3,
+ 2,2,2,3,2,4,2,2,2,2,
+ 2,1,1,1,1,2,1,2,2,2,
+ 1,2,2,1,2,2,1,2,2,1,
+ 2,2,1,3,1,3,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 6,8,0,0,1,1,3,3,3,0,
+ 1,0,1,2,4,2,1,1,1,3,
+ 1,1,2,3,7,8,0,1,0,1,
+ 3,1,3,1,1,1,1,1,1,3,
+ 1,1,1,1,1,3,1,2,2,1,
+ 5,3,1,3,5,1,3,1,3,2,
+ 4,3,5,4,6,6,3,5,1,2,
+ 3,4,5,0,1,2,1,3,1,1,
+ 3,2,1,1,1,1,2,1,2,3,
+ 1,1,1,3,1,2,2,2,3,4,
+ 5,1,7,3,0,0,1,1,3,3,
+ 4,1,1,2,3,2,3,2,1,0,
+ 1,2,1,1,1,1,1,2,4,3,
+ 6,2,4,1,1,1,1,2,6,3,
+ 1,3,1,4,0,1,1,1,3,1,
+ 0,4,3,1,2,1,3,4,4,6,
+ 1,0,1,3,1,3,0,1,4,5,
+ 2,2,1,1,2,2,3,2,2,3,
+ 1,1,1,1,1,1,1,2,5,3,
+ 1,1,-38,0,0,0,0,0,0,0,
+ 0,0,0,-244,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-2,-110,0,0,
+ -4,-16,-18,-158,0,0,0,0,0,-139,
+ -133,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-187,0,0,0,0,0,
+ 0,0,-48,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-146,-142,
+ 0,0,-19,0,-20,0,-184,0,-44,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-21,0,0,0,0,0,-153,
+ -188,0,0,0,0,-212,0,-211,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-220,0,0,0,0,0,-45,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-195,-31,0,-35,-36,
+ 0,-32,0,0,0,-57,0,0,0,0,
+ 0,0,0,0,0,0,-22,0,0,0,
+ 0,0,0,0,0,0,-178,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-76,0,-69,-116,0,
+ -74,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-201,
+ -135,0,0,0,0,0,0,0,0,0,
+ 0,0,-23,0,-24,-25,-26,0,0,-180,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-122,-176,
+ 0,-70,0,-197,0,0,0,0,0,0,
+ 0,0,0,0,-27,0,0,0,0,0,
+ 0,0,0,-28,-120,0,0,-79,0,0,
+ -71,-115,0,-118,0,0,0,-207,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-77,0,0,0,
+ 0,-3,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ -150,-152,-80,-81,0,-155,-91,0,0,0,
+ 0,0,0,0,0,-92,0,0,-53,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-114,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-124,-126,-164,-121,0,-128,-129,
+ 0,-138,0,0,0,0,0,0,0,0,
+ 0,0,-93,0,0,0,0,0,0,0,
+ 0,-130,0,0,0,-140,0,0,0,0,
+ -226,0,0,0,0,0,0,0,0,0,
+ 0,-193,0,0,0,0,0,0,0,0,
+ 0,-148,0,0,-29,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-168,-169,0,-94,0,-58,0,
+ 0,0,0,0,0,0,0,0,0,-157,
+ 0,0,0,0,0,0,0,0,0,-171,
+ 0,0,-59,0,0,0,0,0,0,0,
+ 0,0,0,-95,0,0,0,0,0,0,
+ 0,-191,-196,0,0,0,-60,0,0,0,
+ 0,0,0,0,0,0,0,-175,0,0,
+ 0,0,0,0,0,0,0,-198,0,0,
+ -61,0,0,0,0,0,0,0,0,0,
+ 0,-186,0,0,0,0,0,0,0,-214,
+ -224,0,0,0,-62,0,0,0,0,0,
+ 0,0,0,0,0,-199,0,0,0,0,
+ 0,0,0,0,0,-225,0,0,-63,0,
+ 0,0,0,0,0,0,0,0,0,-204,
+ 0,0,0,0,0,0,0,-228,-96,0,
+ -97,0,-64,0,0,0,0,0,0,0,
+ 0,0,0,-217,0,0,0,0,0,0,
+ 0,-98,-99,-100,-101,0,-65,0,0,0,
+ 0,0,0,0,0,0,0,-223,0,0,
+ 0,0,0,0,0,-102,-103,0,-104,0,
+ -66,0,0,0,0,0,0,0,0,0,
+ 0,-105,0,0,0,0,0,0,0,-106,
+ -107,0,0,0,-67,0,0,0,0,0,
+ 0,0,0,0,0,-108,0,0,0,0,
+ 0,0,0,-109,-112,0,-123,0,-68,0,
+ 0,0,0,0,0,0,0,0,0,-134,
+ 0,0,0,0,0,0,0,-145,-143,-147,
+ -151,0,-159,0,0,0,0,0,0,0,
+ 0,0,0,-156,0,0,0,0,0,0,
+ 0,-170,-172,-179,-183,0,-160,0,0,0,
+ 0,0,0,0,0,0,0,-205,0,0,
+ 0,0,0,0,0,-206,-230,-177,-238,0,
+ -182,0,0,0,0,0,0,0,0,0,
+ 0,-194,0,0,0,0,0,0,0,-51,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-165,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-210,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,-219,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,-39,0,0,0,0,0,0,0,0,
+ -8,0,0,0,0,0,0,-221,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-229,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-141,
+ 0,-185,0,0,-5,0,0,0,0,0,
+ 0,-240,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,-167,-90,0,-137,0,0,0,0,0,
+ 0,0,0,0,-34,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ -161,0,0,0,0,0,0,0,-132,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-216,-200,-218,0,0,0,0,
+ 0,0,0,0,0,-9,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-46,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-163,-181,0,0,
+ 0,-6,0,0,0,0,0,0,0,-54,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-189,0,0,0,-190,-239,
+ -208,-222,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,-1,0,0,0,0,0,0,0,0,
+ 0,0,0,-209,0,-83,0,-56,0,0,
+ 0,0,0,0,0,0,0,0,-233,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-227,0,0,0,0,0,0,
+ 0,-236,-241,0,-235,-237,0,0,-7,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,-78,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-119,0,0,
+ 0,0,-33,0,0,0,0,0,0,0,
+ 0,-136,0,0,-192,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-82,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-73,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,-111,0,0,0,0,0,-50,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-52,0,0,0,0,0,
+ 0,0,0,0,0,0,-84,0,0,0,
+ 0,0,0,0,-49,0,0,0,0,0,
+ 0,0,0,-87,-55,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-89,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-231,
+ 0,0,0,-37,0,0,0,0,0,0,
+ 0,0,0,0,0,-154,0,0,0,0,
+ 0,0,-47,0,0,0,0,0,0,0,
+ 0,0,-75,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-14,0,0,
+ 0,0,0,0,0,-88,0,0,-40,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-166,0,0,0,-117,0,0,
+ 0,0,0,0,-162,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-232,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-10,
+ 0,0,0,0,0,0,-15,0,0,0,
+ 0,0,0,0,0,0,0,-11,0,0,
+ 0,0,0,0,0,-12,0,0,0,0,
+ 0,0,-13,0,0,0,0,0,0,-17,
+ -30,-41,0,0,0,0,0,0,0,0,
+ 0,0,-42,0,0,0,0,0,0,-43,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,-72,0,0,0,0,0,0,-85,-174,
+ 0,0,0,0,0,0,-86,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,-149,0,0,-215,0,0,0,0,0,
+ -234,0,0,-213,0,0,0,0,0,-242,
+ 0,0,0,0,0,-144,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,-113,0,0,0,0,0,0,-203,
+ 0,-125,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-127,0,0,
+ 0,0,-131,-202,0,0,0,-173,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-243,0,0,0,0,
+ -245,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,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;
+ public final int baseCheck(int index) { return baseCheck[index]; }
+ public final static short rhs[] = baseCheck;
+ public final int rhs(int index) { return rhs[index]; };
+
+ public interface BaseAction {
+ public final static char baseAction[] = {
+ 96,11,28,28,24,24,44,44,75,75,
+ 1,1,1,1,2,2,2,3,3,4,
+ 4,4,4,4,4,4,4,58,58,76,
+ 76,5,5,5,5,5,5,5,5,5,
+ 5,6,6,7,7,7,7,8,8,8,
+ 9,9,9,10,10,10,10,10,12,12,
+ 12,13,13,14,14,15,15,16,16,17,
+ 17,18,18,23,23,23,23,23,23,23,
+ 23,23,23,23,23,115,52,45,97,97,
+ 79,79,46,116,116,116,116,116,116,116,
+ 117,117,117,118,118,123,123,124,124,119,
+ 119,120,120,120,126,126,121,121,121,121,
+ 122,122,122,122,122,125,125,30,30,30,
+ 30,30,32,32,32,85,85,80,80,80,
+ 80,81,81,81,82,82,82,83,83,83,
+ 84,84,84,127,127,128,128,129,33,35,
+ 35,35,35,35,59,60,60,60,60,60,
+ 60,60,60,60,60,60,60,68,68,29,
+ 29,65,65,98,99,69,69,66,66,66,
+ 70,86,86,87,87,71,71,71,54,100,
+ 100,88,72,72,72,67,67,101,89,89,
+ 90,90,73,73,26,27,27,27,34,47,
+ 47,36,36,36,36,39,39,41,37,37,
+ 38,42,42,130,130,40,131,131,102,102,
+ 31,31,31,31,31,31,31,31,31,91,
+ 55,55,55,55,43,62,62,61,61,61,
+ 63,63,56,56,103,103,77,77,64,64,
+ 64,48,48,48,49,50,50,50,51,51,
+ 51,51,53,53,53,57,104,78,78,78,
+ 78,74,105,106,106,107,107,108,108,132,
+ 132,133,133,134,134,134,134,136,136,135,
+ 135,135,137,137,19,19,19,25,25,20,
+ 20,109,109,92,92,92,93,93,110,110,
+ 94,94,21,21,111,111,95,95,95,22,
+ 138,139,139,140,140,141,141,141,142,142,
+ 142,5,5,125,32,129,129,129,88,88,
+ 88,101,98,99,43,70,107,107,112,113,
+ 74,96,96,1,14,19,15,402,684,43,
+ 463,403,484,465,36,633,567,636,635,675,
+ 637,73,354,314,315,316,90,151,26,133,
+ 214,226,287,144,69,135,132,134,158,411,
+ 981,672,14,19,15,402,684,43,463,403,
+ 484,465,1846,633,567,636,635,675,637,73,
+ 255,214,137,164,282,69,256,214,141,144,
+ 147,150,1566,792,14,19,15,402,41,43,
+ 463,1043,401,1633,1690,1777,1794,1817,1383,445,
+ 389,255,214,89,287,1001,491,86,1154,792,
+ 14,19,15,402,41,43,463,403,914,354,
+ 314,315,316,332,38,288,133,214,283,490,
+ 760,1106,135,132,134,158,1118,496,762,14,
+ 19,15,402,684,43,463,403,484,465,1846,
+ 633,567,636,635,675,637,73,256,214,137,
+ 164,282,256,214,1122,141,144,147,150,1566,
+ 792,14,19,15,402,41,43,463,403,1019,
+ 1633,1690,1777,1794,1817,1383,765,962,1188,799,
+ 799,287,962,1178,335,1154,792,14,19,15,
+ 402,41,43,463,403,484,465,18,633,567,
+ 636,1106,288,2052,16,294,1058,554,14,19,
+ 15,402,684,43,463,403,484,465,1846,633,
+ 567,636,635,675,637,73,67,211,799,69,
+ 282,495,14,19,15,402,684,43,463,403,
+ 484,465,599,633,567,636,635,675,637,73,
+ 646,385,1114,23,692,255,214,276,22,240,
+ 289,1444,404,610,1154,52,59,427,322,1162,
+ 702,14,19,15,402,684,43,463,403,484,
+ 465,290,633,567,636,635,675,637,73,445,
+ 1137,410,799,282,876,14,19,15,402,684,
+ 43,463,403,484,465,248,633,567,636,635,
+ 675,637,73,333,948,1065,21,330,37,1178,
+ 802,187,187,370,799,196,2106,1154,732,14,
+ 19,15,402,684,43,463,403,484,465,279,
+ 633,567,636,635,675,637,73,451,274,20,
+ 242,282,792,14,19,15,402,684,43,463,
+ 403,484,465,210,633,567,636,635,675,637,
+ 73,26,26,202,344,90,26,904,277,1010,
+ 1186,291,2060,660,334,1154,939,1352,328,792,
+ 14,19,15,402,41,43,463,403,484,465,
+ 459,633,567,1069,970,848,14,19,15,402,
+ 684,43,463,403,484,465,1672,633,567,636,
+ 635,675,637,73,164,1122,232,926,1385,1122,
+ 233,401,524,14,19,15,402,684,43,463,
+ 403,484,465,110,633,567,636,635,675,637,
+ 73,320,1122,2082,188,1411,799,229,187,1141,
+ 241,876,14,19,15,402,684,43,463,403,
+ 484,465,1065,633,567,636,635,675,637,73,
+ 280,189,799,2094,330,792,14,19,15,402,
+ 684,43,463,403,484,465,232,633,567,636,
+ 635,675,637,73,799,281,339,659,91,792,
+ 14,19,15,402,684,43,463,403,484,465,
+ 1099,633,567,636,635,675,637,73,281,923,
+ 528,435,84,792,14,19,15,402,684,43,
+ 463,403,484,465,520,633,567,636,635,675,
+ 637,73,799,799,337,329,83,792,14,19,
+ 15,402,684,43,463,403,484,465,26,633,
+ 567,636,635,675,637,73,226,319,799,2130,
+ 82,792,14,19,15,402,684,43,463,403,
+ 484,465,26,633,567,636,635,675,637,73,
+ 336,799,338,498,81,792,14,19,15,402,
+ 684,43,463,403,484,465,26,633,567,636,
+ 635,675,637,73,324,231,473,2085,80,792,
+ 14,19,15,402,684,43,463,403,484,465,
+ 790,633,567,636,635,675,637,73,796,579,
+ 235,618,79,792,14,19,15,402,684,43,
+ 463,403,484,465,790,633,567,636,635,675,
+ 637,73,852,589,697,670,78,792,14,19,
+ 15,402,684,43,463,403,484,465,760,633,
+ 567,636,635,675,637,73,1009,1015,1446,173,
+ 77,792,14,19,15,402,684,43,463,403,
+ 484,465,351,633,567,636,635,675,637,73,
+ 8,397,1605,195,76,792,14,19,15,402,
+ 684,43,463,403,484,465,185,633,567,636,
+ 635,675,637,73,330,297,1606,509,75,792,
+ 14,19,15,402,684,43,463,403,484,465,
+ 541,633,567,636,635,675,637,73,765,391,
+ 624,805,74,792,14,19,15,402,684,43,
+ 463,403,484,465,833,633,567,636,635,675,
+ 637,73,677,881,686,81,1515,792,14,19,
+ 15,402,684,43,463,403,484,465,851,633,
+ 567,636,635,675,637,73,905,291,739,537,
+ 1519,792,14,19,15,402,41,43,463,403,
+ 484,465,242,633,567,636,635,675,637,92,
+ 792,14,19,15,402,41,43,463,403,484,
+ 1066,317,314,315,316,2328,2328,2123,2328,2328,
+ 321,1162,26,275,565,2328,2328,1521,220,796,
+ 222,1234,224,225,230,1130,2328,875,2328,2328,
+ 270,717,596,273,792,14,19,15,402,41,
+ 43,463,403,484,465,228,633,567,636,635,
+ 675,637,92,792,14,19,15,402,41,43,
+ 463,403,484,465,2328,633,567,636,635,675,
+ 637,92,792,14,19,15,402,41,43,813,
+ 1522,792,14,19,15,402,41,39,792,14,
+ 19,15,402,41,43,463,403,484,465,213,
+ 633,567,636,635,675,637,92,792,14,19,
+ 15,402,41,43,463,403,484,465,2328,633,
+ 567,636,635,675,637,92,2328,2328,2328,2328,
+ 958,2328,739,2328,1602,820,14,19,15,402,
+ 352,1924,792,14,19,15,402,41,43,463,
+ 403,484,465,203,633,567,636,635,675,637,
+ 92,275,596,389,2328,187,219,796,222,1234,
+ 224,225,230,460,2328,26,284,264,268,717,
+ 596,273,354,314,315,316,722,2328,204,133,
+ 214,187,1350,244,265,136,132,134,158,792,
+ 14,19,15,402,41,43,463,403,484,465,
+ 2328,633,567,636,635,675,637,72,261,243,
+ 86,2328,138,164,179,739,739,691,142,145,
+ 148,151,1566,262,2328,1950,792,14,19,15,
+ 402,41,38,317,314,315,316,2328,2328,1579,
+ 792,14,19,15,402,41,43,463,403,1021,
+ 219,796,222,1234,224,225,230,1041,1122,181,
+ 205,1187,820,14,19,15,402,351,1675,2328,
+ 792,14,19,15,402,41,43,463,403,484,
+ 465,278,633,1082,2328,187,2091,296,275,187,
+ 405,418,187,219,796,222,1234,224,225,230,
+ 2328,1950,199,2328,922,268,717,596,273,317,
+ 314,315,316,245,1018,1579,2328,246,2328,295,
+ 297,694,613,2328,2328,2328,219,796,222,1234,
+ 224,225,230,722,1122,2328,1077,1187,792,14,
+ 19,15,402,41,43,463,403,484,465,179,
+ 633,567,636,635,1091,317,314,315,316,2328,
+ 1950,2132,2091,298,739,2328,2328,86,318,314,
+ 315,316,187,411,371,739,739,2328,200,820,
+ 14,19,15,402,40,219,796,222,1234,224,
+ 225,230,317,314,315,316,1187,2328,2123,2328,
+ 369,2328,2328,444,2328,2328,2328,2328,182,220,
+ 796,222,1234,224,225,230,1130,2328,397,206,
+ 384,2100,354,314,315,316,2328,2328,1032,133,
+ 214,2328,2328,620,794,140,132,134,158,460,
+ 2328,2328,69,2328,722,1046,2328,317,314,315,
+ 316,2328,2328,2123,2328,2328,460,2328,1350,2328,
+ 74,2328,139,164,317,314,315,316,255,214,
+ 2123,1115,2328,2328,2328,1350,2328,57,88,354,
+ 314,315,316,1733,260,2328,133,214,1115,826,
+ 2328,1139,143,132,134,158,317,314,315,316,
+ 1202,260,2123,352,410,2328,826,2328,1139,792,
+ 14,19,15,402,41,43,463,403,484,465,
+ 1115,1045,317,314,315,316,2328,2328,2123,2328,
+ 662,2328,1733,1143,275,792,14,19,15,402,
+ 41,43,463,403,484,1067,1130,158,2328,2328,
+ 2328,270,717,596,273,792,14,19,15,402,
+ 41,43,463,1044,974,26,354,314,315,316,
+ 2328,2328,2328,133,214,2328,722,2328,2328,146,
+ 132,134,158,354,314,315,316,986,2328,2328,
+ 133,214,2328,2328,2328,2328,149,132,134,158,
+ 1148,2328,2328,2328,454,2328,354,314,315,316,
+ 86,1950,2328,133,214,1707,1038,1090,2328,152,
+ 132,134,158,792,14,19,15,402,41,43,
+ 463,403,1042,996,2328,275,219,796,222,1234,
+ 224,225,230,2328,1658,1165,2328,922,2328,2328,
+ 2328,2328,268,717,596,273,2328,278,820,14,
+ 19,15,402,33,275,2328,459,2328,267,792,
+ 14,19,15,402,41,43,877,2328,2328,2328,
+ 2328,268,717,596,273,317,314,315,316,2328,
+ 2328,2163,2328,2328,57,2328,2328,694,585,14,
+ 19,15,402,41,35,585,14,19,15,402,
+ 41,35,2328,317,314,315,316,2328,2328,2123,
+ 57,1164,467,293,2328,2328,247,2328,640,367,
+ 2328,2328,2328,248,2328,2328,822,1115,2328,317,
+ 314,315,316,2328,2328,2123,2328,2328,2328,1202,
+ 792,14,19,15,402,41,37,820,14,19,
+ 15,402,32,1115,2328,2328,2328,800,792,14,
+ 19,15,402,41,36,1603,792,14,19,15,
+ 402,41,35,792,14,19,15,402,41,34,
+ 26,26,792,14,19,15,402,41,46,2328,
+ 2328,373,373,792,14,19,15,402,41,45,
+ 792,14,19,15,402,41,44,2328,2328,2328,
+ 198,198,642,14,19,15,402,41,42,95,
+ 224,2328,2328,2328,2328,86,86,295,2328,2328,
+ 2328,460,550,550,1834,1834,2328,2328,317,314,
+ 315,316,1104,2328,2158,334,317,314,315,316,
+ 198,1121,2158,2328,159,2328,460,549,598,2328,
+ 1130,317,314,315,316,460,350,2168,2328,2328,
+ 317,314,315,316,620,198,2186,460,2328,317,
+ 314,315,316,1084,1350,2191,2328,2328,2328,795,
+ 1137,193,1091,2328,2328,2328,1350,799,2328,620,
+ 2328,2328,318,314,315,316,1445,2164,2328,2328,
+ 260,318,314,315,316,971,193,1139,1098,1178,
+ 2328,2328,260,919,279,2328,2328,874,1111,1139,
+ 2328,1594,2164,2328,2328,460,2328,318,314,315,
+ 316,1163,318,314,315,316,1136,318,314,315,
+ 316,1142,2328,2328,198,2328,996,2328,2328,2328,
+ 2328,2328,2328,210,2328,318,314,315,316,2328,
+ 318,314,315,316,2328,2328,2328,2328,620,1034,
+ 1186,2328,2328,2328,2328,2328,2328,2328,2328,2328,
+ 2328,2328,2328,2328,2328,194,2328,0,688,127,
+ 0,743,127,0,744,127,0,688,128,0,
+ 743,128,0,744,128,0,688,129,0,743,
+ 129,0,744,129,0,688,186,0,743,186,
+ 0,744,186,0,186,190,0,688,185,0,
+ 743,185,0,744,185,0,185,190,0,688,
+ 130,0,743,130,0,744,130,0,688,131,
+ 0,743,131,0,744,131,0,17,178,0,
+ 18,177,0,1,688,0,1,743,0,1,
+ 744,0,1,2555,0,1,2566,0
+ };
+ };
+ public final static char baseAction[] = BaseAction.baseAction;
+ public final int baseAction(int index) { return baseAction[index]; }
+ public final static char lhs[] = baseAction;
+ public final int lhs(int index) { return lhs[index]; };
+
+ public interface TermCheck {
+ public final static byte termCheck[] = {0,
+ 0,1,2,3,4,5,6,0,8,9,
+ 10,11,12,13,14,15,16,0,18,19,
+ 20,21,22,23,24,0,26,27,28,12,
+ 30,31,32,33,34,0,0,0,2,39,
+ 40,41,42,43,44,45,46,47,48,49,
+ 50,0,52,53,54,0,0,2,0,3,
+ 4,5,7,8,9,10,0,12,0,62,
+ 15,16,17,0,37,38,3,4,5,11,
+ 0,13,14,17,11,0,13,14,0,0,
+ 35,36,37,38,0,1,8,3,4,5,
+ 6,28,17,30,31,32,33,34,0,0,
+ 55,56,57,58,59,60,61,8,63,68,
+ 65,66,67,68,69,67,71,72,73,74,
+ 75,76,77,78,79,80,81,82,83,0,
+ 55,2,62,0,56,57,7,8,9,10,
+ 0,12,9,10,15,16,17,0,0,1,
+ 3,4,5,0,1,56,57,0,11,6,
+ 13,14,0,0,35,36,37,38,0,1,
+ 2,3,4,5,0,28,0,30,31,32,
+ 33,34,29,7,55,56,57,58,59,60,
+ 61,0,63,2,65,66,67,68,69,51,
+ 71,72,73,74,75,76,77,78,79,80,
+ 81,82,83,0,1,0,3,4,5,6,
+ 7,0,0,1,11,85,13,14,6,67,
+ 62,0,1,2,3,4,5,0,17,8,
+ 64,28,68,30,31,32,33,34,17,36,
+ 35,29,39,40,41,42,43,44,45,46,
+ 47,48,49,50,0,52,53,54,0,1,
+ 0,3,4,5,6,7,0,7,2,11,
+ 0,13,14,70,0,1,0,3,4,5,
+ 6,15,16,17,8,25,28,0,30,31,
+ 32,33,34,0,36,35,69,39,40,41,
+ 42,43,44,45,46,47,48,49,50,0,
+ 52,53,54,0,1,0,3,4,5,6,
+ 7,55,7,0,11,2,13,14,70,0,
+ 0,0,62,2,3,4,5,71,29,8,
+ 25,28,12,30,31,32,33,34,17,36,
+ 35,0,39,40,41,42,43,44,45,46,
+ 47,48,49,50,0,52,53,54,0,1,
+ 0,3,4,5,6,11,0,13,14,11,
+ 51,13,14,70,0,1,2,3,4,5,
+ 0,1,2,3,4,5,28,0,30,31,
+ 32,33,34,0,7,35,0,39,40,41,
+ 42,43,44,45,46,47,48,49,50,0,
+ 52,53,54,0,0,1,3,4,5,0,
+ 0,7,2,0,11,2,13,14,0,1,
+ 7,3,4,5,6,69,62,17,51,25,
+ 17,28,0,30,31,32,33,34,25,7,
+ 0,64,39,40,41,42,43,44,45,46,
+ 47,48,49,50,0,1,2,25,72,73,
+ 6,7,8,9,10,0,12,35,0,15,
+ 16,0,18,19,20,21,22,23,24,0,
+ 26,27,28,0,1,2,18,0,1,6,
+ 7,8,9,10,7,12,0,1,15,16,
+ 0,18,19,20,21,22,23,24,8,26,
+ 27,28,25,0,1,2,37,38,64,6,
+ 7,8,9,10,0,12,2,0,15,16,
+ 0,18,19,20,21,22,23,24,0,26,
+ 27,17,29,0,0,1,2,64,0,36,
+ 6,7,8,9,10,0,12,9,10,15,
+ 16,0,18,19,20,21,22,23,24,0,
+ 26,27,0,1,2,37,38,0,6,0,
+ 8,9,10,0,12,2,7,15,16,0,
+ 18,19,20,21,22,23,24,0,26,27,
+ 0,0,1,2,25,0,51,6,64,8,
+ 9,10,7,12,37,38,15,16,0,18,
+ 19,20,21,22,23,24,8,26,27,0,
+ 29,0,1,2,65,66,0,6,2,8,
+ 9,10,70,12,0,0,15,16,0,18,
+ 19,20,21,22,23,24,0,26,27,0,
+ 29,0,1,2,0,9,10,6,0,8,
+ 9,10,0,12,56,57,15,16,0,18,
+ 19,20,21,22,23,24,0,26,27,84,
+ 29,0,1,2,65,66,0,6,0,8,
+ 9,10,0,12,0,7,15,16,63,18,
+ 19,20,21,22,23,24,0,26,27,0,
+ 29,0,1,2,0,1,0,6,0,8,
+ 9,10,0,12,36,11,15,16,0,18,
+ 19,20,21,22,23,24,0,26,27,0,
+ 29,0,1,2,35,0,0,6,0,8,
+ 9,10,7,12,0,7,15,16,0,18,
+ 19,20,21,22,23,24,0,26,27,0,
+ 1,2,0,25,35,6,0,8,9,10,
+ 35,12,0,29,15,16,0,18,19,20,
+ 21,22,23,24,0,26,27,0,1,2,
+ 0,0,0,6,0,8,9,10,0,12,
+ 0,29,15,16,0,18,19,20,21,22,
+ 23,24,0,26,27,0,1,2,0,84,
+ 0,6,0,8,9,10,0,12,37,38,
+ 15,16,0,18,19,20,21,22,23,24,
+ 0,26,27,0,0,2,3,4,5,29,
+ 7,8,0,63,11,29,13,14,0,1,
+ 17,3,4,5,6,0,0,2,25,29,
+ 0,28,7,30,31,32,33,34,0,35,
+ 2,3,4,5,0,7,8,0,0,11,
+ 25,13,14,0,0,17,0,0,1,2,
+ 0,0,1,25,7,0,28,6,30,31,
+ 32,33,34,0,17,0,3,4,5,0,
+ 0,0,25,0,11,0,13,14,3,4,
+ 5,11,35,13,14,0,11,2,13,14,
+ 0,28,7,30,31,32,33,34,0,0,
+ 63,0,17,28,0,30,31,32,33,34,
+ 25,74,75,76,77,78,79,80,81,82,
+ 83,0,0,0,3,4,5,0,1,8,
+ 0,1,2,6,0,0,0,7,3,4,
+ 5,0,0,8,17,0,0,17,58,59,
+ 60,61,7,0,0,25,58,59,60,61,
+ 0,7,58,59,60,61,0,0,0,3,
+ 4,5,51,0,0,0,3,4,5,25,
+ 0,36,55,3,4,5,51,0,0,0,
+ 3,4,5,0,0,0,3,4,5,11,
+ 0,13,14,3,4,5,11,0,13,14,
+ 0,0,1,3,4,5,0,6,11,0,
+ 13,14,3,4,5,0,0,1,3,4,
+ 5,0,6,0,3,4,5,0,1,2,
+ 0,1,0,0,0,0,6,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0
+ };
+ };
+ public final static byte termCheck[] = TermCheck.termCheck;
+ public final int termCheck(int index) { return termCheck[index]; }
+
+ public interface TermAction {
+ public final static char termAction[] = {0,
+ 2328,747,2020,688,743,744,756,2328,2006,1998,
+ 1980,2543,2013,2544,2545,1987,1888,63,2341,1609,
+ 2338,2339,2340,1456,1301,1,1355,1492,2489,1739,
+ 2490,2488,2546,2491,2487,286,2328,53,797,2494,
+ 2499,2498,2496,2497,2495,2500,2501,2493,2502,2503,
+ 2504,67,1896,2067,2059,1,254,2346,65,688,
+ 743,744,2346,2346,2346,2346,272,2346,2328,1419,
+ 2346,2346,2346,128,443,1785,2247,2250,2253,2543,
+ 2328,2544,2545,601,2543,292,2544,2545,47,2328,
+ 2346,2346,2346,2346,186,2274,2040,2265,2268,2271,
+ 2274,2489,1254,2490,2488,2546,2491,2487,2328,49,
+ 2346,2346,2346,2346,2346,2346,2346,2040,2346,759,
+ 2346,2346,2346,2346,2346,1500,2346,2346,2346,2346,
+ 2346,2346,2346,2346,2346,2346,2346,2346,2346,1,
+ 1564,2345,2696,50,2033,2022,2345,2345,2345,2345,
+ 2328,2345,1899,1292,2345,2345,2345,129,1,2325,
+ 2256,2259,2262,2328,2507,2033,2022,2328,2543,2508,
+ 2544,2545,66,2328,2345,2345,2345,2345,1,2555,
+ 1830,2313,2316,2319,68,2489,2328,2490,2488,2546,
+ 2491,2487,741,2331,2345,2345,2345,2345,2345,2345,
+ 2345,2328,2345,659,2345,2345,2345,2345,2345,2587,
+ 2345,2345,2345,2345,2345,2345,2345,2345,2345,2345,
+ 2345,2345,2345,2328,1,87,1,1,1,1,
+ 192,221,2328,2507,1,2237,1,1,2508,1500,
+ 1327,269,2555,1487,688,743,744,69,601,254,
+ 2330,1,759,1,1,1,1,1,601,192,
+ 855,742,1,1,1,1,1,1,1,1,
+ 1,1,1,1,2328,1,1,1,2328,1,
+ 2328,1,1,1,1,191,31,2333,1663,1,
+ 202,1,1,2525,185,2286,2328,2277,2280,2283,
+ 2286,2352,2353,1395,621,2332,1,2328,1,1,
+ 1,1,1,2328,191,546,556,1,1,1,
+ 1,1,1,1,1,1,1,1,1,2328,
+ 1,1,1,2328,1,2328,1,1,1,1,
+ 192,552,2333,2328,1,1117,1,1,2525,1,
+ 64,269,1362,1863,688,743,744,547,398,254,
+ 2332,1,1739,1,1,1,1,1,601,192,
+ 831,2328,1,1,1,1,1,1,1,1,
+ 1,1,1,1,250,1,1,1,2328,2506,
+ 257,688,743,744,2505,1,70,1,1,2543,
+ 2587,2544,2545,2525,1,2555,1830,2313,2316,2319,
+ 254,2555,1830,688,743,744,2489,2328,2490,2488,
+ 2546,2491,2487,2328,2331,1382,71,2494,2499,2498,
+ 2496,2497,2495,2500,2501,2493,2502,2503,2504,2328,
+ 1896,2067,2059,127,2328,1140,2238,2241,2244,2328,
+ 271,2333,685,1,2543,1863,2544,2545,207,3587,
+ 266,688,743,744,3587,556,1327,601,1308,2332,
+ 601,2489,2328,2490,2488,2546,2491,2487,266,2333,
+ 2328,2330,2494,2499,2498,2496,2497,2495,2500,2501,
+ 2493,2502,2503,2504,1,2345,2020,2332,1568,1795,
+ 2346,2331,1928,1998,1980,2328,2013,1189,2328,1987,
+ 1888,2328,2341,1609,2338,2339,2340,1456,1301,57,
+ 1355,1492,775,2328,2345,2020,852,2328,948,2346,
+ 2331,1935,1998,1980,2333,2013,2328,2567,1987,1888,
+ 2328,2341,1609,2338,2339,2340,1456,1301,890,1355,
+ 1492,1167,2332,1,2840,2020,443,1785,2330,2756,
+ 27,2006,1998,1980,223,2013,842,2328,1987,1888,
+ 2328,2341,1609,2338,2339,2340,1456,1301,56,1355,
+ 1492,601,3756,2328,2328,2345,2020,2330,52,27,
+ 2346,2331,2006,1998,1980,1,2013,1899,1292,1987,
+ 1888,2328,2341,1609,2338,2339,2340,1456,1301,61,
+ 1355,1492,2328,1,1,443,1785,55,1,1,
+ 1,1,1,336,1,900,89,1,1,2328,
+ 1,1,1,1,1,1,1,2328,1,1,
+ 2328,2328,2345,2020,89,1,2586,2346,2330,2006,
+ 1998,1980,2337,2013,443,1785,1987,1888,48,2341,
+ 1609,2338,2339,2340,1456,1301,2040,1355,1492,62,
+ 398,1,2840,2020,1765,1210,323,2756,664,2006,
+ 1998,1980,2700,2013,2328,2328,1987,1888,2328,2341,
+ 1609,2338,2339,2340,1456,1301,51,1355,1492,2328,
+ 3756,366,2345,2020,2328,1899,1292,2346,2328,2006,
+ 1998,1980,2328,2013,2033,2022,1987,1888,2328,2341,
+ 1609,2338,2339,2340,1456,1301,2328,1355,1492,2336,
+ 3756,2328,2345,2020,1765,1210,2328,2346,2328,2006,
+ 1998,1980,2328,2013,2328,2335,1987,1888,698,2341,
+ 1609,2338,2339,2340,1456,1301,2328,1355,1492,28,
+ 3756,1,2840,2020,325,2654,2328,2756,2328,2006,
+ 1998,1980,2328,2013,2334,2655,1987,1888,2328,2341,
+ 1609,2338,2339,2340,1456,1301,2328,1355,1492,28,
+ 3756,2328,2345,2020,577,2328,2328,2346,2328,2006,
+ 1998,1980,2337,2013,2328,2333,1987,1888,2328,2341,
+ 1609,2338,2339,2340,1456,1301,2328,1355,1492,2328,
+ 2345,2021,2328,2332,2355,2346,2328,2006,1998,1980,
+ 1520,2013,2328,938,1987,1888,2328,2341,1609,2338,
+ 2339,2340,1456,1301,2328,1355,1492,1,2345,2020,
+ 212,54,2328,2346,2328,2006,1998,1980,2328,2013,
+ 2328,962,1987,1888,2328,2341,1609,2338,2339,2340,
+ 1456,1301,2328,1355,1492,331,2345,2020,2328,2336,
+ 2328,2346,2328,2006,1998,1980,190,2013,443,1785,
+ 1987,1888,2328,2341,1609,2338,2339,2340,1456,1301,
+ 365,1355,1492,17,208,2307,178,178,178,986,
+ 2307,2307,2328,1273,178,207,178,178,361,3601,
+ 2307,688,743,744,3601,2328,2328,1138,2307,361,
+ 2328,178,2333,178,178,178,178,178,18,3851,
+ 2310,177,177,177,2328,2310,2310,41,2328,177,
+ 2332,177,177,2328,2328,2310,2328,1,2555,1487,
+ 2328,2328,2357,2310,263,2328,177,2358,177,177,
+ 177,177,177,130,601,2328,2289,2292,2295,2328,
+ 249,2328,263,2328,2543,131,2544,2545,2298,2301,
+ 2304,2543,263,2544,2545,1,2543,1863,2544,2545,
+ 58,2489,2333,2490,2488,2546,2491,2487,60,2328,
+ 1119,2328,601,2489,59,2490,2488,2546,2491,2487,
+ 2332,1095,1071,1047,1023,999,951,975,927,903,
+ 879,1,2328,2328,2313,2316,2319,2328,2507,254,
+ 1,2322,1487,2508,2328,1,2328,2333,2313,2316,
+ 2319,2328,2328,254,1191,285,2328,601,1853,1470,
+ 530,469,746,2328,1,2332,1853,1470,530,469,
+ 2328,2333,1853,1470,530,469,183,2328,2328,688,
+ 743,744,2587,364,2328,2328,688,743,744,2332,
+ 362,746,1488,688,743,744,2587,365,251,2328,
+ 688,743,744,184,2328,252,688,743,744,1,
+ 363,1,1,688,743,744,2543,253,2544,2545,
+ 201,2328,2507,688,743,744,2328,2508,2543,358,
+ 2544,2545,688,743,744,359,209,2507,688,743,
+ 744,360,2508,2328,688,743,744,1,2555,1830,
+ 208,524,2328,2328,2328,2328,524
+ };
+ };
+ public final static char termAction[] = TermAction.termAction;
+ public final int termAction(int index) { return termAction[index]; }
+
+ public interface Asb {
+ public final static char asb[] = {0,
+ 337,1,118,45,118,118,118,118,118,118,
+ 118,118,118,118,118,3,466,55,52,59,
+ 57,65,63,67,66,69,68,14,118,466,
+ 509,509,171,118,49,49,280,466,118,118,
+ 118,118,118,118,118,118,118,118,118,118,
+ 118,118,118,118,118,118,118,118,118,118,
+ 118,118,118,118,118,118,118,118,49,49,
+ 334,92,284,112,430,328,192,364,396,396,
+ 396,376,357,376,357,357,376,357,376,482,
+ 237,237,52,52,57,57,57,57,55,55,
+ 63,59,59,66,65,145,68,67,110,90,
+ 280,287,284,289,334,462,116,49,398,433,
+ 194,188,135,108,357,509,506,509,108,509,
+ 357,118,90,287,384,462,334,115,112,49,
+ 387,482,48,435,311,188,187,49,359,198,
+ 110,231,233,165,228,110,384,462,118,118,
+ 334,116,430,323,322,284,435,49,48,193,
+ 188,110,359,198,231,231,228,88,320,147,
+ 509,118,145,84,228,90,462,384,334,334,
+ 49,398,433,387,311,49,170,49,198,228,
+ 137,198,231,233,317,233,92,333,509,118,
+ 90,384,435,48,198,139,233,228,118,509,
+ 118,334,233,49,48,170,228,80,118,76,
+ 391,284,139,77,228,334,228,510,139,118,
+ 391,77,77,233,77
+ };
+ };
+ public final static char asb[] = Asb.asb;
+ public final int asb(int index) { return asb[index]; }
+
+ public interface Asr {
+ public final static byte asr[] = {0,
+ 85,0,51,84,3,4,5,17,2,55,
+ 71,15,16,12,8,9,10,56,57,37,
+ 38,58,59,60,61,65,66,67,68,69,
+ 72,73,36,63,74,75,76,77,78,80,
+ 79,81,82,83,62,64,85,35,25,7,
+ 0,8,56,57,9,10,38,37,58,59,
+ 60,61,65,66,12,67,68,69,51,64,
+ 25,36,85,72,73,62,5,4,3,84,
+ 7,35,0,63,17,55,0,7,36,17,
+ 55,15,16,12,8,9,10,23,24,19,
+ 27,26,2,20,21,22,18,1,6,29,
+ 0,11,13,14,28,64,7,2,20,21,
+ 22,1,6,15,16,12,8,9,10,23,
+ 24,19,27,26,18,0,84,7,8,1,
+ 2,5,4,3,62,0,63,29,15,16,
+ 12,8,9,10,23,24,19,27,26,2,
+ 20,21,22,18,1,6,17,55,0,35,
+ 19,20,21,22,18,6,15,16,12,8,
+ 9,10,23,24,26,27,2,25,7,1,
+ 0,17,35,25,7,2,0,30,39,11,
+ 40,52,31,41,32,42,43,33,13,44,
+ 45,28,53,34,54,46,47,14,48,49,
+ 50,1,6,3,4,5,70,7,36,0,
+ 1,6,7,36,35,0,13,28,34,14,
+ 33,32,31,11,30,55,71,15,16,12,
+ 9,10,56,57,37,38,58,59,60,61,
+ 65,66,67,68,69,72,73,63,74,75,
+ 76,77,78,79,80,81,82,83,35,7,
+ 25,2,17,5,4,3,8,0,11,13,
+ 14,2,20,21,22,18,1,6,15,16,
+ 12,8,9,10,23,24,19,27,26,0,
+ 7,35,25,1,11,0,7,35,36,63,
+ 0,2,62,84,3,4,5,7,35,25,
+ 17,0,51,64,7,0,19,20,21,22,
+ 18,1,6,2,15,16,12,8,9,10,
+ 23,24,26,27,70,0,1,6,29,5,
+ 4,3,0,47,39,44,42,43,41,40,
+ 45,46,48,49,50,62,84,34,31,28,
+ 30,33,32,11,13,14,7,35,25,17,
+ 8,3,4,5,1,2,0,8,30,39,
+ 11,40,52,31,41,32,42,43,33,13,
+ 44,45,28,53,34,54,46,47,14,48,
+ 49,50,1,6,51,5,4,3,0,8,
+ 2,17,25,7,30,39,40,52,31,41,
+ 32,42,43,33,44,45,28,53,34,54,
+ 46,47,48,49,50,1,6,3,4,5,
+ 51,11,13,14,0,19,20,21,22,18,
+ 2,15,16,12,8,9,10,23,24,26,
+ 27,52,53,54,47,39,44,42,43,41,
+ 40,45,46,48,49,50,34,31,28,30,
+ 33,11,13,14,32,5,4,3,6,1,
+ 0
+ };
+ };
+ public final static byte asr[] = Asr.asr;
+ public final int asr(int index) { return asr[index]; }
+
+ public interface Nasb {
+ public final static byte nasb[] = {0,
+ 78,9,26,9,26,26,26,26,26,26,
+ 26,26,26,26,26,9,109,9,9,9,
+ 9,9,9,9,9,9,9,9,26,109,
+ 21,21,91,110,15,15,105,1,26,26,
+ 26,26,26,26,26,26,26,26,26,26,
+ 26,26,26,26,110,26,26,26,26,26,
+ 26,26,26,26,26,26,26,26,15,15,
+ 34,26,94,32,104,28,28,63,9,9,
+ 9,64,56,64,56,56,64,56,64,58,
+ 9,9,9,9,9,9,9,9,9,9,
+ 9,9,9,9,9,9,9,9,9,76,
+ 97,9,84,45,34,30,33,15,86,42,
+ 15,39,9,102,84,102,84,102,102,102,
+ 84,26,24,9,76,30,34,33,12,15,
+ 72,2,9,88,48,14,9,15,56,76,
+ 9,76,19,101,76,9,76,30,26,26,
+ 34,33,71,28,28,94,88,15,15,9,
+ 15,9,84,113,76,102,50,23,9,25,
+ 102,26,9,17,50,76,30,12,34,34,
+ 15,86,42,52,48,15,26,15,76,50,
+ 36,121,102,19,9,9,25,34,102,26,
+ 24,12,117,15,113,66,19,50,26,102,
+ 26,34,19,15,15,26,50,37,26,9,
+ 74,94,81,56,50,34,50,9,66,26,
+ 54,56,84,10,84
+ };
+ };
+ public final static byte nasb[] = Nasb.nasb;
+ public final int nasb(int index) { return nasb[index]; }
+
+ public interface Nasr {
+ public final static char nasr[] = {0,
+ 4,85,84,83,82,69,81,80,0,104,
+ 0,26,0,95,24,0,108,0,58,0,
+ 76,0,74,11,57,4,0,31,0,62,
+ 0,11,4,28,0,11,75,0,111,24,
+ 0,24,11,0,4,11,0,93,0,44,
+ 0,50,49,39,37,25,0,69,65,66,
+ 67,68,59,32,0,25,11,39,37,0,
+ 24,50,49,37,39,11,0,11,96,0,
+ 11,39,37,19,0,25,55,11,30,0,
+ 11,97,0,25,55,0,50,49,25,0,
+ 112,29,0,24,49,50,11,0,54,11,
+ 52,0,87,11,54,0,102,11,30,0,
+ 11,54,71,0
+ };
+ };
+ public final static char nasr[] = Nasr.nasr;
+ public final int nasr(int index) { return nasr[index]; }
+
+ public interface TerminalIndex {
+ public final static char terminalIndex[] = {0,
+ 85,2,97,98,99,86,87,9,10,11,
+ 48,8,64,76,6,7,1,84,68,81,
+ 82,83,12,13,90,93,94,69,3,44,
+ 55,60,63,72,42,91,16,17,47,52,
+ 56,61,62,66,67,74,75,78,79,80,
+ 30,54,70,73,4,14,15,18,19,20,
+ 21,29,31,89,22,23,24,25,26,100,
+ 5,27,28,32,33,34,35,36,37,38,
+ 39,40,41,92,101,45,46,49,50,51,
+ 53,57,58,59,65,71,77,88,95,96
+ };
+ };
+ public final static char terminalIndex[] = TerminalIndex.terminalIndex;
+ public final int terminalIndex(int index) { return terminalIndex[index]; }
+
+ public interface NonterminalIndex {
+ public final static char nonterminalIndex[] = {0,
+ 0,0,0,108,112,113,114,115,116,117,
+ 0,118,119,120,121,122,123,124,174,0,
+ 0,0,125,104,175,136,0,103,128,129,
+ 158,135,0,0,0,154,156,0,157,0,
+ 0,0,0,105,0,127,144,167,168,169,
+ 0,107,143,148,155,164,0,0,138,0,
+ 159,162,163,166,139,140,141,142,145,0,
+ 147,151,153,170,106,109,110,111,126,130,
+ 131,132,133,134,137,0,146,150,0,152,
+ 161,0,176,0,178,102,0,0,0,149,
+ 0,160,165,0,171,172,0,173,0,0,
+ 177,179,0,0,0,0,0,0,0,0,
+ 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;
+ public final int nonterminalIndex(int index) { return nonterminalIndex[index]; }
+
+ public interface ScopePrefix {
+ public final static char scopePrefix[] = {
+ 133,191,268,153,84,90,219,47,246,1,
+ 56,100,118,33,199,27,61,96,170,283,
+ 287,255,15,8,8,65,68,73,105,128,
+ 68,180,185,188,291,41,174,262,8,73,
+ 209,143,237,143,209,262,20,80,166,225,
+ 225,225,225,225,20,108,80,108,108
+ };
+ };
+ public final static char scopePrefix[] = ScopePrefix.scopePrefix;
+ public final int scopePrefix(int index) { return scopePrefix[index]; }
+
+ public interface ScopeSuffix {
+ public final static char scopeSuffix[] = {
+ 141,141,141,141,6,6,141,53,252,6,
+ 31,6,31,38,204,31,31,6,168,31,
+ 6,259,18,6,6,31,71,82,6,31,
+ 131,183,183,183,31,44,177,265,11,76,
+ 204,160,240,146,212,276,25,82,168,227,
+ 229,231,233,235,22,115,76,110,123
+ };
+ };
+ public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix;
+ public final int scopeSuffix(int index) { return scopeSuffix[index]; }
+
+ public interface ScopeLhs {
+ public final static char scopeLhs[] = {
+ 67,65,4,67,31,31,65,53,120,113,
+ 51,31,42,20,65,92,51,31,71,4,
+ 4,18,88,108,107,49,64,55,31,39,
+ 47,66,66,66,2,74,71,6,113,55,
+ 65,67,121,67,65,4,88,55,71,84,
+ 83,82,81,80,88,42,55,40,42
+ };
+ };
+ public final static char scopeLhs[] = ScopeLhs.scopeLhs;
+ public final int scopeLhs(int index) { return scopeLhs[index]; }
+
+ public interface ScopeLa {
+ public final static byte scopeLa[] = {
+ 36,36,36,36,64,64,36,36,91,64,
+ 25,64,25,25,29,25,25,64,84,25,
+ 64,62,3,64,64,25,2,8,64,25,
+ 1,1,1,1,25,63,1,25,51,8,
+ 29,29,97,1,1,25,1,8,84,6,
+ 52,53,53,47,1,2,8,2,2
+ };
+ };
+ public final static byte scopeLa[] = ScopeLa.scopeLa;
+ public final int scopeLa(int index) { return scopeLa[index]; }
+
+ public interface ScopeStateSet {
+ public final static char scopeStateSet[] = {
+ 21,21,70,21,59,59,21,130,0,7,
+ 63,59,12,25,21,9,63,59,3,70,
+ 70,102,18,1,7,63,65,53,59,12,
+ 14,21,21,21,70,132,3,75,7,53,
+ 21,21,0,21,21,70,18,53,3,22,
+ 22,22,22,22,18,12,53,12,12
+ };
+ };
+ public final static char scopeStateSet[] = ScopeStateSet.scopeStateSet;
+ public final int scopeStateSet(int index) { return scopeStateSet[index]; }
+
+ public interface ScopeRhs {
+ public final static char scopeRhs[] = {0,
+ 146,51,146,17,0,103,0,146,17,0,
+ 30,127,103,0,172,125,0,175,0,125,
+ 0,151,175,0,151,0,210,2,193,0,
+ 104,0,209,2,2,3,0,104,104,0,
+ 205,111,0,31,143,0,158,178,111,29,
+ 157,0,105,0,0,161,111,2,149,0,
+ 161,111,2,0,164,2,0,155,111,0,
+ 167,0,143,155,0,9,0,162,0,143,
+ 0,9,0,123,28,191,111,17,0,123,
+ 191,111,28,17,0,123,28,17,0,123,
+ 191,111,17,0,123,17,0,139,0,2,
+ 0,160,104,0,2,104,0,161,111,2,
+ 139,0,2,0,159,104,0,147,2,0,
+ 154,0,158,189,111,29,129,201,52,0,
+ 105,0,201,52,0,128,3,0,0,0,
+ 105,0,158,189,111,29,201,52,0,3,
+ 0,0,0,105,0,154,0,106,0,200,
+ 111,154,0,111,154,0,149,106,0,170,
+ 52,0,128,0,170,54,0,170,53,0,
+ 186,111,29,199,129,198,169,0,199,129,
+ 198,169,0,3,0,0,105,0,198,169,
+ 0,128,0,3,0,0,105,0,186,111,
+ 29,198,169,0,185,0,142,0,141,0,
+ 140,0,139,0,138,0,216,90,0,77,
+ 2,107,104,106,0,216,124,152,2,94,
+ 0,53,0,0,152,73,117,0,29,124,
+ 0,177,2,0,104,113,0,158,178,111,
+ 29,124,177,2,0,104,3,0,111,0,
+ 105,0,197,2,104,0,152,17,104,0,
+ 152,2,0
+ };
+ };
+ public final static char scopeRhs[] = ScopeRhs.scopeRhs;
+ public final int scopeRhs(int index) { return scopeRhs[index]; }
+
+ public interface ScopeState {
+ public final static char scopeState[] = {0,
+ 467,0,2085,2164,2060,0,1846,0,546,1138,
+ 0,1603,1202,1579,1830,1487,1350,1520,1444,0,
+ 1383,460,373,0,2191,2186,2100,1603,1520,2091,
+ 1579,1444,1202,2168,2082,460,2163,2158,2132,2123,
+ 1733,1383,1817,1896,1794,2067,2059,1777,1566,1690,
+ 1633,373,1950,1675,1924,1658,1707,0,1234,796,
+ 717,596,1202,1733,1487,1350,1863,1834,0,1987,
+ 1888,1609,1492,1355,1935,1928,2052,556,1568,1500,
+ 759,1765,1210,1739,1785,443,1853,1470,530,469,
+ 2040,2033,2022,1899,1292,2013,2006,1998,1980,1456,
+ 1301,1362,1327,831,1308,1273,1254,664,1191,1167,
+ 1143,802,1419,775,601,1119,1095,1071,1047,1023,
+ 999,975,951,927,903,879,373,855,722,698,
+ 640,498,577,411,0
+ };
+ };
+ public final static char scopeState[] = ScopeState.scopeState;
+ public final int scopeState(int index) { return scopeState[index]; }
+
+ public interface InSymb {
+ public final static char inSymb[] = {0,
+ 0,196,111,179,26,27,19,24,23,10,
+ 9,8,12,16,15,104,2,108,107,110,
+ 109,113,112,115,114,117,116,105,35,2,
+ 71,55,2,17,177,152,154,111,10,9,
+ 57,56,8,61,60,59,58,37,38,12,
+ 66,65,68,67,73,72,69,83,82,81,
+ 79,80,78,77,76,75,74,63,177,197,
+ 152,124,111,17,2,150,149,180,3,4,
+ 5,181,169,182,54,53,183,52,184,185,
+ 1,6,107,107,109,109,109,109,108,108,
+ 112,110,110,114,113,152,116,115,124,29,
+ 155,143,125,28,123,111,8,164,111,2,
+ 2,2,2,198,125,170,125,170,201,170,
+ 125,62,111,143,8,111,123,191,162,161,
+ 130,111,163,111,2,211,1,18,129,29,
+ 129,29,178,111,29,157,8,111,191,28,
+ 123,8,2,137,139,111,35,161,209,193,
+ 2,199,125,111,29,111,158,35,205,212,
+ 55,17,129,206,111,29,111,162,123,123,
+ 147,111,2,155,35,124,2,1,29,186,
+ 154,187,111,189,129,190,63,146,55,17,
+ 111,162,111,210,111,111,189,158,63,35,
+ 51,146,178,161,202,35,186,200,62,147,
+ 2,111,125,172,158,146,158,35,35,62,
+ 155,172,125,144,125
+ };
+ };
+ public final static char inSymb[] = InSymb.inSymb;
+ public final int inSymb(int index) { return inSymb[index]; }
+
+ public interface Name {
+ public final static String name[] = {
+ "",
+ "[",
+ "(",
+ "{",
+ ".",
+ "->",
+ "++",
+ "--",
+ "&",
+ "*",
+ "+",
+ "-",
+ "~",
+ "!",
+ "/",
+ "%",
+ ">>",
+ "<<",
+ "<",
+ ">",
+ "<=",
+ ">=",
+ "==",
+ "!=",
+ "^",
+ "|",
+ "&&",
+ "||",
+ "?",
+ ":",
+ "...",
+ "=",
+ "*=",
+ "/=",
+ "%=",
+ "+=",
+ "-=",
+ ">>=",
+ "<<=",
+ "&=",
+ "^=",
+ "|=",
+ ",",
+ "$empty",
+ "auto",
+ "break",
+ "case",
+ "char",
+ "const",
+ "continue",
+ "default",
+ "do",
+ "double",
+ "else",
+ "enum",
+ "extern",
+ "float",
+ "for",
+ "goto",
+ "if",
+ "inline",
+ "int",
+ "long",
+ "register",
+ "restrict",
+ "return",
+ "short",
+ "signed",
+ "sizeof",
+ "static",
+ "struct",
+ "switch",
+ "typedef",
+ "union",
+ "unsigned",
+ "void",
+ "volatile",
+ "while",
+ "_Bool",
+ "_Complex",
+ "_Imaginary",
+ "integer",
+ "floating",
+ "charconst",
+ "stringlit",
+ "identifier",
+ "Completion",
+ "EndOfCompletion",
+ "Invalid",
+ "RightBracket",
+ "RightParen",
+ "RightBrace",
+ "SemiColon",
+ "typeof",
+ "__alignof__",
+ "MAX",
+ "MIN",
+ "__attribute__",
+ "__declspec",
+ "asm",
+ "ERROR_TOKEN",
+ "EOF_TOKEN",
+ "no_sizeof_type_name_start",
+ "]",
+ ")",
+ "}",
+ ";",
+ "expression",
+ "postfix_expression",
+ "member_name",
+ "type_id",
+ "initializer_list",
+ "unary_expression",
+ "cast_expression",
+ "multiplicative_expression",
+ "additive_expression",
+ "shift_expression",
+ "relational_expression",
+ "equality_expression",
+ "AND_expression",
+ "exclusive_OR_expression",
+ "inclusive_OR_expression",
+ "logical_AND_expression",
+ "logical_OR_expression",
+ "conditional_expression",
+ "assignment_expression",
+ "expression_list_actual",
+ "constant_expression",
+ "identifier_token",
+ "declaration_specifiers",
+ "simple_declaration_specifiers",
+ "struct_or_union_declaration_sp" +
+ "ecifiers",
+ "elaborated_declaration_specifi" +
+ "ers",
+ "enum_declaration_specifiers",
+ "typdef_name_declaration_specif" +
+ "iers",
+ "no_type_declaration_specifier",
+ "type_qualifier",
+ "no_type_declaration_specifiers",
+ "simple_type_specifier",
+ "struct_or_union_specifier",
+ "elaborated_specifier",
+ "enum_specifier",
+ "typedef_name_in_declspec",
+ "initializer",
+ "declarator",
+ "struct_or_union",
+ "struct_declaration_list",
+ "struct_declaration",
+ "specifier_qualifier_list",
+ "struct_declarator_list",
+ "complete_struct_declarator",
+ "struct_declarator",
+ "enumerator_list",
+ "enumerator",
+ "direct_declarator",
+ "pointer_seq",
+ "array_direct_declarator",
+ "basic_direct_declarator",
+ "array_modifier",
+ "parameter_type_list",
+ "identifier_list",
+ "array_modifier_type_qualifiers",
+ "type_qualifier_list",
+ "parameter_list",
+ "parameter_declaration",
+ "complete_parameter_declarator",
+ "abstract_declarator",
+ "direct_abstract_declarator",
+ "basic_direct_abstract_declarat" +
+ "or",
+ "array_direct_abstract_declarat" +
+ "or",
+ "designated_initializer",
+ "designation",
+ "designator_list",
+ "designator",
+ "attribute_or_decl_specifier",
+ "attribute_or_decl_specifier_se" +
+ "q",
+ "word",
+ "extended_decl_modifier_seq",
+ "extended_decl_modifier",
+ "field_name_designator"
+ };
+ };
+ public final static String name[] = Name.name;
+ public final String name(int index) { return name[index]; }
+
+ public final static int
+ ERROR_SYMBOL = 70,
+ SCOPE_UBOUND = 58,
+ SCOPE_SIZE = 59,
+ MAX_NAME_LENGTH = 38;
+
+ public final int getErrorSymbol() { return ERROR_SYMBOL; }
+ public final int getScopeUbound() { return SCOPE_UBOUND; }
+ public final int getScopeSize() { return SCOPE_SIZE; }
+ public final int getMaxNameLength() { return MAX_NAME_LENGTH; }
+
+ public final static int
+ NUM_STATES = 245,
+ NT_OFFSET = 100,
+ LA_STATE_OFFSET = 2700,
+ MAX_LA = 2,
+ NUM_RULES = 372,
+ NUM_NONTERMINALS = 142,
+ NUM_SYMBOLS = 242,
+ SEGMENT_SIZE = 8192,
+ START_STATE = 1552,
+ IDENTIFIER_SYMBOL = 0,
+ EOFT_SYMBOL = 85,
+ EOLT_SYMBOL = 85,
+ ACCEPT_ACTION = 2237,
+ ERROR_ACTION = 2328;
+
+ public final static boolean BACKTRACK = true;
+
+ public final int getNumStates() { return NUM_STATES; }
+ public final int getNtOffset() { return NT_OFFSET; }
+ public final int getLaStateOffset() { return LA_STATE_OFFSET; }
+ public final int getMaxLa() { return MAX_LA; }
+ public final int getNumRules() { return NUM_RULES; }
+ public final int getNumNonterminals() { return NUM_NONTERMINALS; }
+ public final int getNumSymbols() { return NUM_SYMBOLS; }
+ public final int getSegmentSize() { return SEGMENT_SIZE; }
+ public final int getStartState() { return START_STATE; }
+ public final int getStartSymbol() { return lhs[0]; }
+ public final int getIdentifierSymbol() { return IDENTIFIER_SYMBOL; }
+ public final int getEoftSymbol() { return EOFT_SYMBOL; }
+ public final int getEoltSymbol() { return EOLT_SYMBOL; }
+ public final int getAcceptAction() { return ACCEPT_ACTION; }
+ public final int getErrorAction() { return ERROR_ACTION; }
+ public final boolean isValidForParser() { return isValidForParser; }
+ public final boolean getBacktrack() { return BACKTRACK; }
+
+ public final int originalState(int state) {
+ return -baseCheck[state];
+ }
+ public final int asi(int state) {
+ return asb[originalState(state)];
+ }
+ public final int nasi(int state) {
+ return nasb[originalState(state)];
+ }
+ public final int inSymbol(int state) {
+ return inSymb[originalState(state)];
+ }
+
+ public final int ntAction(int state, int sym) {
+ return baseAction[state + sym];
+ }
+
+ public final int tAction(int state, int sym) {
+ int i = baseAction[state],
+ k = i + sym;
+ return termAction[termCheck[k] == sym ? k : i];
+ }
+ public final int lookAhead(int la_state, int sym) {
+ int k = la_state + sym;
+ return termAction[termCheck[k] == sym ? k : la_state];
+ }
+}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCSizeofExpressionParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCSizeofExpressionParsersym.java
new file mode 100644
index 00000000000..d3ecdcdf2e1
--- /dev/null
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCSizeofExpressionParsersym.java
@@ -0,0 +1,224 @@
+/*******************************************************************************
+* 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
+*********************************************************************************/
+
+// This file was generated by LPG
+
+package org.eclipse.cdt.internal.core.dom.lrparser.gcc;
+
+public interface GCCSizeofExpressionParsersym {
+ public final static int
+ TK_auto = 30,
+ TK_break = 86,
+ TK_case = 87,
+ TK_char = 39,
+ TK_const = 11,
+ TK_continue = 88,
+ TK_default = 89,
+ TK_do = 90,
+ TK_double = 40,
+ TK_else = 91,
+ TK_enum = 52,
+ TK_extern = 31,
+ TK_float = 41,
+ TK_for = 92,
+ TK_goto = 93,
+ TK_if = 94,
+ TK_inline = 32,
+ TK_int = 42,
+ TK_long = 43,
+ TK_register = 33,
+ TK_restrict = 13,
+ TK_return = 95,
+ TK_short = 44,
+ TK_signed = 45,
+ TK_sizeof = 19,
+ TK_static = 28,
+ TK_struct = 53,
+ TK_switch = 96,
+ TK_typedef = 34,
+ TK_union = 54,
+ TK_unsigned = 46,
+ TK_void = 47,
+ TK_volatile = 14,
+ TK_while = 97,
+ TK__Bool = 48,
+ TK__Complex = 49,
+ TK__Imaginary = 50,
+ TK_integer = 20,
+ TK_floating = 21,
+ TK_charconst = 22,
+ TK_stringlit = 18,
+ TK_identifier = 1,
+ TK_Completion = 6,
+ TK_EndOfCompletion = 7,
+ TK_Invalid = 98,
+ TK_LeftBracket = 17,
+ TK_LeftParen = 2,
+ TK_LeftBrace = 29,
+ TK_Dot = 55,
+ TK_Arrow = 71,
+ TK_PlusPlus = 15,
+ TK_MinusMinus = 16,
+ TK_And = 12,
+ TK_Star = 8,
+ TK_Plus = 9,
+ TK_Minus = 10,
+ TK_Tilde = 23,
+ TK_Bang = 24,
+ TK_Slash = 56,
+ TK_Percent = 57,
+ TK_RightShift = 37,
+ TK_LeftShift = 38,
+ TK_LT = 58,
+ TK_GT = 59,
+ TK_LE = 60,
+ TK_GE = 61,
+ TK_EQ = 65,
+ TK_NE = 66,
+ TK_Caret = 67,
+ TK_Or = 68,
+ TK_AndAnd = 69,
+ TK_OrOr = 72,
+ TK_Question = 73,
+ TK_Colon = 62,
+ TK_DotDotDot = 51,
+ TK_Assign = 63,
+ TK_StarAssign = 74,
+ TK_SlashAssign = 75,
+ TK_PercentAssign = 76,
+ TK_PlusAssign = 77,
+ TK_MinusAssign = 78,
+ TK_RightShiftAssign = 79,
+ TK_LeftShiftAssign = 80,
+ TK_AndAssign = 81,
+ TK_CaretAssign = 82,
+ TK_OrAssign = 83,
+ TK_Comma = 35,
+ TK_RightBracket = 64,
+ TK_RightParen = 25,
+ TK_RightBrace = 36,
+ TK_SemiColon = 84,
+ TK_typeof = 26,
+ TK___alignof__ = 27,
+ TK_MAX = 99,
+ TK_MIN = 100,
+ TK___attribute__ = 3,
+ TK___declspec = 4,
+ TK_asm = 5,
+ TK_ERROR_TOKEN = 70,
+ TK_EOF_TOKEN = 85;
+
+ public final static String orderedTerminalSymbols[] = {
+ "",
+ "identifier",
+ "LeftParen",
+ "__attribute__",
+ "__declspec",
+ "asm",
+ "Completion",
+ "EndOfCompletion",
+ "Star",
+ "Plus",
+ "Minus",
+ "const",
+ "And",
+ "restrict",
+ "volatile",
+ "PlusPlus",
+ "MinusMinus",
+ "LeftBracket",
+ "stringlit",
+ "sizeof",
+ "integer",
+ "floating",
+ "charconst",
+ "Tilde",
+ "Bang",
+ "RightParen",
+ "typeof",
+ "__alignof__",
+ "static",
+ "LeftBrace",
+ "auto",
+ "extern",
+ "inline",
+ "register",
+ "typedef",
+ "Comma",
+ "RightBrace",
+ "RightShift",
+ "LeftShift",
+ "char",
+ "double",
+ "float",
+ "int",
+ "long",
+ "short",
+ "signed",
+ "unsigned",
+ "void",
+ "_Bool",
+ "_Complex",
+ "_Imaginary",
+ "DotDotDot",
+ "enum",
+ "struct",
+ "union",
+ "Dot",
+ "Slash",
+ "Percent",
+ "LT",
+ "GT",
+ "LE",
+ "GE",
+ "Colon",
+ "Assign",
+ "RightBracket",
+ "EQ",
+ "NE",
+ "Caret",
+ "Or",
+ "AndAnd",
+ "ERROR_TOKEN",
+ "Arrow",
+ "OrOr",
+ "Question",
+ "StarAssign",
+ "SlashAssign",
+ "PercentAssign",
+ "PlusAssign",
+ "MinusAssign",
+ "RightShiftAssign",
+ "LeftShiftAssign",
+ "AndAssign",
+ "CaretAssign",
+ "OrAssign",
+ "SemiColon",
+ "EOF_TOKEN",
+ "break",
+ "case",
+ "continue",
+ "default",
+ "do",
+ "else",
+ "for",
+ "goto",
+ "if",
+ "return",
+ "switch",
+ "while",
+ "Invalid",
+ "MAX",
+ "MIN"
+ };
+
+ public final static boolean isValidForParser = true;
+}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPParser.java
index 889ac7145da..660b0deb114 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPParser.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPParser.java
@@ -28,8 +28,10 @@ import org.eclipse.cdt.core.dom.lrparser.action.TokenMap;
import org.eclipse.cdt.core.dom.ast.cpp.*;
import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPNodeFactory;
import org.eclipse.cdt.core.dom.lrparser.action.cpp.CPPBuildASTParserAction;
+import org.eclipse.cdt.core.dom.lrparser.action.cpp.CPPSecondaryParserFactory;
import org.eclipse.cdt.core.dom.lrparser.action.gnu.GNUBuildASTParserAction;
+import org.eclipse.cdt.core.dom.lrparser.action.gnu.GPPSecondaryParserFactory;
public class GPPParser extends PrsStream implements RuleAction , IParserActionTokenProvider, IParser
{
@@ -175,12 +177,12 @@ public GPPParser() { // constructor
}
private void initActions(IASTTranslationUnit tu, Set<IParser.Options> options) {
- action = new CPPBuildASTParserAction ( CPPNodeFactory.getDefault() , this, tu, astStack);
+ action = new CPPBuildASTParserAction (this, tu, astStack, CPPNodeFactory.getDefault() , GPPSecondaryParserFactory.getDefault() );
action.setParserOptions(options);
- gnuAction = new GNUBuildASTParserAction ( CPPNodeFactory.getDefault() , this, tu, astStack);
+ gnuAction = new GNUBuildASTParserAction (this, tu, astStack, CPPNodeFactory.getDefault() );
gnuAction.setParserOptions(options);
@@ -242,8 +244,8 @@ public void setTokens(List<IToken> tokens) {
addToken(new Token(null, 0, 0, GPPParsersym.TK_EOF_TOKEN));
}
-public GPPParser(String[] mapFrom) { // constructor
- tokenMap = new TokenMap(GPPParsersym.orderedTerminalSymbols, mapFrom);
+public GPPParser(IParserActionTokenProvider parser) { // constructor
+ tokenMap = new TokenMap(GPPParsersym.orderedTerminalSymbols, parser.getOrderedTerminalSymbols());
}
@@ -280,1719 +282,1737 @@ private GNUBuildASTParserAction gnuAction;
}
//
- // Rule 17: literal ::= 0
+ // Rule 17: literal ::= floating
//
- case 17: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_integer_constant); break;
+ case 17: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_float_constant); break;
}
//
- // Rule 18: literal ::= floating
+ // Rule 18: literal ::= charconst
//
- case 18: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_float_constant); break;
+ case 18: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_char_constant); break;
}
//
- // Rule 19: literal ::= charconst
+ // Rule 19: literal ::= stringlit
//
- case 19: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_char_constant); break;
+ case 19: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_string_literal); break;
}
//
- // Rule 20: literal ::= stringlit
+ // Rule 20: literal ::= true
//
- case 20: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_string_literal); break;
+ case 20: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_true); break;
}
//
- // Rule 21: literal ::= true
+ // Rule 21: literal ::= false
//
- case 21: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_true); break;
+ case 21: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_false); break;
}
//
- // Rule 22: literal ::= false
+ // Rule 22: literal ::= this
//
- case 22: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_false); break;
+ case 22: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_this); break;
}
//
- // Rule 23: literal ::= this
+ // Rule 24: primary_expression ::= ( expression )
//
- case 23: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_this); break;
+ case 24: { action. consumeExpressionBracketed(); break;
}
//
- // Rule 25: primary_expression ::= ( expression )
+ // Rule 26: id_expression ::= qualified_or_unqualified_name
//
- case 25: { action. consumeExpressionBracketed(); break;
+ case 26: { action. consumeExpressionName(); break;
}
//
- // Rule 27: id_expression ::= qualified_or_unqualified_name
+ // Rule 33: unqualified_id_name ::= ~ identifier_token
//
- case 27: { action. consumeExpressionName(); break;
+ case 33: { action. consumeDestructorName(); break;
}
//
- // Rule 34: unqualified_id_name ::= ~ identifier_token
+ // Rule 34: unqualified_id_name ::= ~ template_id_name
//
- case 34: { action. consumeDestructorName(); break;
+ case 34: { action. consumeDestructorNameTemplateId(); break;
}
//
- // Rule 35: unqualified_id_name ::= ~ template_id_name
+ // Rule 35: identifier_name ::= identifier_token
//
- case 35: { action. consumeDestructorNameTemplateId(); break;
+ case 35: { action. consumeIdentifierName(); break;
}
//
- // Rule 36: identifier_name ::= identifier_token
+ // Rule 36: template_opt ::= template
//
- case 36: { action. consumeIdentifierName(); break;
+ case 36: { action. consumePlaceHolder(); break;
}
//
- // Rule 37: template_opt ::= template
+ // Rule 37: template_opt ::= $Empty
//
- case 37: { action. consumePlaceHolder(); break;
+ case 37: { action. consumeEmpty(); break;
}
//
- // Rule 38: template_opt ::= $Empty
+ // Rule 38: dcolon_opt ::= ::
//
- case 38: { action. consumeEmpty(); break;
+ case 38: { action. consumeToken(); break;
}
//
- // Rule 39: dcolon_opt ::= ::
+ // Rule 39: dcolon_opt ::= $Empty
//
- case 39: { action. consumeToken(); break;
+ case 39: { action. consumeEmpty(); break;
}
//
- // Rule 40: dcolon_opt ::= $Empty
+ // Rule 40: qualified_id_name ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name
//
- case 40: { action. consumeEmpty(); break;
+ case 40: { action. consumeQualifiedId(true); break;
}
//
- // Rule 41: qualified_id_name ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name
+ // Rule 41: qualified_id_name ::= :: unqualified_id_name
//
- case 41: { action. consumeQualifiedId(true); break;
+ case 41: { action. consumeGlobalQualifiedId(); break;
}
//
- // Rule 42: qualified_id_name ::= :: unqualified_id_name
+ // Rule 42: nested_name_specifier ::= class_or_namespace_name :: nested_name_specifier_with_template
//
- case 42: { action. consumeGlobalQualifiedId(); break;
+ case 42: { action. consumeNestedNameSpecifier(true); break;
}
//
- // Rule 43: nested_name_specifier ::= class_or_namespace_name :: nested_name_specifier_with_template
+ // Rule 43: nested_name_specifier ::= class_or_namespace_name ::
//
- case 43: { action. consumeNestedNameSpecifier(true); break;
+ case 43: { action. consumeNestedNameSpecifier(false); break;
}
//
- // Rule 44: nested_name_specifier ::= class_or_namespace_name ::
+ // Rule 44: nested_name_specifier_with_template ::= class_or_namespace_name_with_template :: nested_name_specifier_with_template
//
- case 44: { action. consumeNestedNameSpecifier(false); break;
+ case 44: { action. consumeNestedNameSpecifier(true); break;
}
//
- // Rule 45: nested_name_specifier_with_template ::= class_or_namespace_name_with_template :: nested_name_specifier_with_template
+ // Rule 45: nested_name_specifier_with_template ::= class_or_namespace_name_with_template ::
//
- case 45: { action. consumeNestedNameSpecifier(true); break;
+ case 45: { action. consumeNestedNameSpecifier(false); break;
}
//
- // Rule 46: nested_name_specifier_with_template ::= class_or_namespace_name_with_template ::
+ // Rule 46: class_or_namespace_name_with_template ::= template_opt class_or_namespace_name
//
- case 46: { action. consumeNestedNameSpecifier(false); break;
+ case 46: { action. consumeNameWithTemplateKeyword(); break;
}
//
- // Rule 47: class_or_namespace_name_with_template ::= template_opt class_or_namespace_name
+ // Rule 48: nested_name_specifier_opt ::= $Empty
//
- case 47: { action. consumeNameWithTemplateKeyword(); break;
+ case 48: { action. consumeNestedNameSpecifierEmpty(); break;
}
//
- // Rule 49: nested_name_specifier_opt ::= $Empty
+ // Rule 51: postfix_expression ::= postfix_expression [ expression ]
//
- case 49: { action. consumeNestedNameSpecifierEmpty(); break;
+ case 51: { action. consumeExpressionArraySubscript(); break;
}
//
- // Rule 52: postfix_expression ::= postfix_expression [ expression ]
+ // Rule 52: postfix_expression ::= postfix_expression ( expression_list_opt )
//
- case 52: { action. consumeExpressionArraySubscript(); break;
+ case 52: { action. consumeExpressionFunctionCall(); break;
}
//
- // Rule 53: postfix_expression ::= postfix_expression ( expression_list_opt )
+ // Rule 53: postfix_expression ::= simple_type_specifier ( expression_list_opt )
//
- case 53: { action. consumeExpressionFunctionCall(); break;
+ case 53: { action. consumeExpressionSimpleTypeConstructor(); break;
}
//
- // Rule 54: postfix_expression ::= simple_type_specifier ( expression_list_opt )
+ // Rule 54: postfix_expression ::= typename dcolon_opt nested_name_specifier <empty> identifier_name ( expression_list_opt )
//
- case 54: { action. consumeExpressionSimpleTypeConstructor(); break;
+ case 54: { action. consumeExpressionTypeName(); break;
}
//
- // Rule 55: postfix_expression ::= typename dcolon_opt nested_name_specifier <empty> identifier_name ( expression_list_opt )
+ // Rule 55: postfix_expression ::= typename dcolon_opt nested_name_specifier template_opt template_id_name ( expression_list_opt )
//
case 55: { action. consumeExpressionTypeName(); break;
}
//
- // Rule 56: postfix_expression ::= typename dcolon_opt nested_name_specifier template_opt template_id_name ( expression_list_opt )
+ // Rule 56: postfix_expression ::= postfix_expression . qualified_or_unqualified_name
//
- case 56: { action. consumeExpressionTypeName(); break;
+ case 56: { action. consumeExpressionFieldReference(false, false); break;
}
//
- // Rule 57: postfix_expression ::= postfix_expression . qualified_or_unqualified_name
+ // Rule 57: postfix_expression ::= postfix_expression -> qualified_or_unqualified_name
//
- case 57: { action. consumeExpressionFieldReference(false, false); break;
+ case 57: { action. consumeExpressionFieldReference(true, false); break;
}
//
- // Rule 58: postfix_expression ::= postfix_expression -> qualified_or_unqualified_name
+ // Rule 58: postfix_expression ::= postfix_expression . template qualified_or_unqualified_name
//
- case 58: { action. consumeExpressionFieldReference(true, false); break;
+ case 58: { action. consumeExpressionFieldReference(false, true); break;
}
//
- // Rule 59: postfix_expression ::= postfix_expression . template qualified_or_unqualified_name
+ // Rule 59: postfix_expression ::= postfix_expression -> template qualified_or_unqualified_name
//
- case 59: { action. consumeExpressionFieldReference(false, true); break;
+ case 59: { action. consumeExpressionFieldReference(true, true); break;
}
//
- // Rule 60: postfix_expression ::= postfix_expression -> template qualified_or_unqualified_name
+ // Rule 60: postfix_expression ::= postfix_expression . pseudo_destructor_name
//
- case 60: { action. consumeExpressionFieldReference(true, true); break;
+ case 60: { action. consumeExpressionFieldReference(false, false); break;
}
//
- // Rule 61: postfix_expression ::= postfix_expression . pseudo_destructor_name
+ // Rule 61: postfix_expression ::= postfix_expression -> pseudo_destructor_name
//
- case 61: { action. consumeExpressionFieldReference(false, false); break;
+ case 61: { action. consumeExpressionFieldReference(true, false); break;
}
//
- // Rule 62: postfix_expression ::= postfix_expression -> pseudo_destructor_name
+ // Rule 62: postfix_expression ::= postfix_expression ++
//
- case 62: { action. consumeExpressionFieldReference(true, false); break;
+ case 62: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break;
}
//
- // Rule 63: postfix_expression ::= postfix_expression ++
+ // Rule 63: postfix_expression ::= postfix_expression --
//
- case 63: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break;
+ case 63: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break;
}
//
- // Rule 64: postfix_expression ::= postfix_expression --
+ // Rule 64: postfix_expression ::= dynamic_cast < type_id > ( expression )
//
- case 64: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break;
+ case 64: { action. consumeExpressionCast(ICPPASTCastExpression.op_dynamic_cast); break;
}
//
- // Rule 65: postfix_expression ::= dynamic_cast < type_id > ( expression )
+ // Rule 65: postfix_expression ::= static_cast < type_id > ( expression )
//
- case 65: { action. consumeExpressionCast(ICPPASTCastExpression.op_dynamic_cast); break;
+ case 65: { action. consumeExpressionCast(ICPPASTCastExpression.op_static_cast); break;
}
//
- // Rule 66: postfix_expression ::= static_cast < type_id > ( expression )
+ // Rule 66: postfix_expression ::= reinterpret_cast < type_id > ( expression )
//
- case 66: { action. consumeExpressionCast(ICPPASTCastExpression.op_static_cast); break;
+ case 66: { action. consumeExpressionCast(ICPPASTCastExpression.op_reinterpret_cast); break;
}
//
- // Rule 67: postfix_expression ::= reinterpret_cast < type_id > ( expression )
+ // Rule 67: postfix_expression ::= const_cast < type_id > ( expression )
//
- case 67: { action. consumeExpressionCast(ICPPASTCastExpression.op_reinterpret_cast); break;
+ case 67: { action. consumeExpressionCast(ICPPASTCastExpression.op_const_cast); break;
}
//
- // Rule 68: postfix_expression ::= const_cast < type_id > ( expression )
+ // Rule 68: postfix_expression ::= typeid ( expression )
//
- case 68: { action. consumeExpressionCast(ICPPASTCastExpression.op_const_cast); break;
+ case 68: { action. consumeExpressionUnaryOperator(ICPPASTUnaryExpression.op_typeid); break;
}
//
- // Rule 69: postfix_expression ::= typeid ( expression )
+ // Rule 69: postfix_expression ::= typeid ( type_id )
//
- case 69: { action. consumeExpressionUnaryOperator(ICPPASTUnaryExpression.op_typeid); break;
+ case 69: { action. consumeExpressionTypeId(ICPPASTTypeIdExpression.op_typeid); break;
}
//
- // Rule 70: postfix_expression ::= typeid ( type_id )
+ // Rule 70: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt type_name :: destructor_type_name
//
- case 70: { action. consumeExpressionTypeId(ICPPASTTypeIdExpression.op_typeid); break;
+ case 70: { action. consumePsudoDestructorName(true); break;
}
//
- // Rule 71: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt type_name :: destructor_type_name
+ // Rule 71: pseudo_destructor_name ::= dcolon_opt nested_name_specifier template template_id_name :: destructor_type_name
//
case 71: { action. consumePsudoDestructorName(true); break;
}
//
- // Rule 72: pseudo_destructor_name ::= dcolon_opt nested_name_specifier template template_id_name :: destructor_type_name
+ // Rule 72: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt destructor_type_name
//
- case 72: { action. consumePsudoDestructorName(true); break;
+ case 72: { action. consumePsudoDestructorName(false); break;
}
//
- // Rule 73: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt destructor_type_name
+ // Rule 73: destructor_type_name ::= ~ identifier_token
//
- case 73: { action. consumePsudoDestructorName(false); break;
+ case 73: { action. consumeDestructorName(); break;
}
//
- // Rule 74: destructor_type_name ::= ~ identifier_token
+ // Rule 74: destructor_type_name ::= ~ template_id_name
//
- case 74: { action. consumeDestructorName(); break;
+ case 74: { action. consumeDestructorNameTemplateId(); break;
}
//
- // Rule 75: destructor_type_name ::= ~ template_id_name
+ // Rule 78: unary_expression ::= ++ cast_expression
//
- case 75: { action. consumeDestructorNameTemplateId(); break;
+ case 78: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixIncr); break;
}
//
- // Rule 79: unary_expression ::= ++ cast_expression
+ // Rule 79: unary_expression ::= -- cast_expression
//
- case 79: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixIncr); break;
+ case 79: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixDecr); break;
}
//
- // Rule 80: unary_expression ::= -- cast_expression
+ // Rule 80: unary_expression ::= & cast_expression
//
- case 80: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixDecr); break;
+ case 80: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_amper); break;
}
//
- // Rule 81: unary_expression ::= & cast_expression
+ // Rule 81: unary_expression ::= * cast_expression
//
- case 81: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_amper); break;
+ case 81: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_star); break;
}
//
- // Rule 82: unary_expression ::= * cast_expression
+ // Rule 82: unary_expression ::= + cast_expression
//
- case 82: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_star); break;
+ case 82: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_plus); break;
}
//
- // Rule 83: unary_expression ::= + cast_expression
+ // Rule 83: unary_expression ::= - cast_expression
//
- case 83: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_plus); break;
+ case 83: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_minus); break;
}
//
- // Rule 84: unary_expression ::= - cast_expression
+ // Rule 84: unary_expression ::= ~ cast_expression
//
- case 84: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_minus); break;
+ case 84: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_tilde); break;
}
//
- // Rule 85: unary_expression ::= ~ cast_expression
+ // Rule 85: unary_expression ::= ! cast_expression
//
- case 85: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_tilde); break;
+ case 85: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_not); break;
}
//
- // Rule 86: unary_expression ::= ! cast_expression
+ // Rule 86: unary_expression ::= sizeof unary_expression
//
- case 86: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_not); break;
+ case 86: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof); break;
}
//
- // Rule 87: unary_expression ::= sizeof unary_expression
+ // Rule 87: unary_expression ::= sizeof ( type_id )
//
- case 87: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof); break;
+ case 87: { action. consumeExpressionTypeId(ICPPASTTypeIdExpression.op_sizeof); break;
}
//
- // Rule 88: unary_expression ::= sizeof ( type_id )
+ // Rule 88: new_expression ::= dcolon_opt new new_placement_opt new_type_id <openscope-ast> new_array_expressions_opt new_initializer_opt
//
- case 88: { action. consumeExpressionTypeId(ICPPASTTypeIdExpression.op_sizeof); break;
+ case 88: { action. consumeExpressionNew(true); break;
}
//
- // Rule 89: new_expression ::= dcolon_opt new new_placement_opt new_type_id <openscope-ast> new_array_expressions_opt new_initializer_opt
+ // Rule 89: new_expression ::= dcolon_opt new new_placement_opt ( type_id ) <openscope-ast> new_array_expressions_opt new_initializer_opt
//
- case 89: { action. consumeExpressionNew(true); break;
+ case 89: { action. consumeExpressionNew(false); break;
}
//
- // Rule 90: new_expression ::= dcolon_opt new new_placement_opt ( type_id ) <openscope-ast> new_array_expressions_opt new_initializer_opt
+ // Rule 91: new_placement_opt ::= $Empty
//
- case 90: { action. consumeExpressionNew(false); break;
+ case 91: { action. consumeEmpty(); break;
}
//
- // Rule 92: new_placement_opt ::= $Empty
+ // Rule 92: new_type_id ::= type_specifier_seq
//
- case 92: { action. consumeEmpty(); break;
+ case 92: { action. consumeTypeId(false); break;
}
//
- // Rule 93: new_type_id ::= type_specifier_seq
+ // Rule 93: new_type_id ::= type_specifier_seq new_declarator
//
- case 93: { action. consumeTypeId(false); break;
+ case 93: { action. consumeTypeId(true); break;
}
//
- // Rule 94: new_type_id ::= type_specifier_seq new_declarator
+ // Rule 94: new_declarator ::= <openscope-ast> new_pointer_operators
//
- case 94: { action. consumeTypeId(true); break;
+ case 94: { action. consumeNewDeclarator(); break;
}
//
- // Rule 95: new_declarator ::= <openscope-ast> new_pointer_operators
+ // Rule 101: new_initializer ::= ( expression_list_opt )
//
- case 95: { action. consumeNewDeclarator(); break;
+ case 101: { action. consumeNewInitializer(); break;
}
//
- // Rule 102: new_initializer ::= ( expression_list_opt )
+ // Rule 103: new_initializer_opt ::= $Empty
//
- case 102: { action. consumeNewInitializer(); break;
+ case 103: { action. consumeEmpty(); break;
}
//
- // Rule 104: new_initializer_opt ::= $Empty
+ // Rule 104: delete_expression ::= dcolon_opt delete cast_expression
//
- case 104: { action. consumeEmpty(); break;
+ case 104: { action. consumeExpressionDelete(false); break;
}
//
- // Rule 105: delete_expression ::= dcolon_opt delete cast_expression
+ // Rule 105: delete_expression ::= dcolon_opt delete [ ] cast_expression
//
- case 105: { action. consumeExpressionDelete(false); break;
+ case 105: { action. consumeExpressionDelete(true); break;
}
//
- // Rule 106: delete_expression ::= dcolon_opt delete [ ] cast_expression
+ // Rule 107: cast_expression ::= ( type_id ) cast_expression
//
- case 106: { action. consumeExpressionDelete(true); break;
+ case 107: { action. consumeExpressionCast(ICPPASTCastExpression.op_cast); break;
}
//
- // Rule 108: cast_expression ::= ( type_id ) cast_expression
+ // Rule 109: pm_expression ::= pm_expression .* cast_expression
//
- case 108: { action. consumeExpressionCast(ICPPASTCastExpression.op_cast); break;
+ case 109: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmdot); break;
}
//
- // Rule 110: pm_expression ::= pm_expression .* cast_expression
+ // Rule 110: pm_expression ::= pm_expression ->* cast_expression
//
- case 110: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmdot); break;
+ case 110: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmarrow); break;
}
//
- // Rule 111: pm_expression ::= pm_expression ->* cast_expression
+ // Rule 112: multiplicative_expression ::= multiplicative_expression * pm_expression
//
- case 111: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmarrow); break;
+ case 112: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiply); break;
}
//
- // Rule 113: multiplicative_expression ::= multiplicative_expression * pm_expression
+ // Rule 113: multiplicative_expression ::= multiplicative_expression / pm_expression
//
- case 113: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiply); break;
+ case 113: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divide); break;
}
//
- // Rule 114: multiplicative_expression ::= multiplicative_expression / pm_expression
+ // Rule 114: multiplicative_expression ::= multiplicative_expression % pm_expression
//
- case 114: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divide); break;
+ case 114: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_modulo); break;
}
//
- // Rule 115: multiplicative_expression ::= multiplicative_expression % pm_expression
+ // Rule 116: additive_expression ::= additive_expression + multiplicative_expression
//
- case 115: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_modulo); break;
+ case 116: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plus); break;
}
//
- // Rule 117: additive_expression ::= additive_expression + multiplicative_expression
+ // Rule 117: additive_expression ::= additive_expression - multiplicative_expression
//
- case 117: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plus); break;
+ case 117: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minus); break;
}
//
- // Rule 118: additive_expression ::= additive_expression - multiplicative_expression
+ // Rule 119: shift_expression ::= shift_expression << additive_expression
//
- case 118: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minus); break;
+ case 119: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeft); break;
}
//
- // Rule 120: shift_expression ::= shift_expression << additive_expression
+ // Rule 120: shift_expression ::= shift_expression >> additive_expression
//
- case 120: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeft); break;
+ case 120: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRight); break;
}
//
- // Rule 121: shift_expression ::= shift_expression >> additive_expression
+ // Rule 122: relational_expression ::= relational_expression < shift_expression
//
- case 121: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRight); break;
+ case 122: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessThan); break;
}
//
- // Rule 123: relational_expression ::= relational_expression < shift_expression
+ // Rule 123: relational_expression ::= relational_expression > shift_expression
//
- case 123: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessThan); break;
+ case 123: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterThan); break;
}
//
- // Rule 124: relational_expression ::= relational_expression > shift_expression
+ // Rule 124: relational_expression ::= relational_expression <= shift_expression
//
- case 124: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterThan); break;
+ case 124: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessEqual); break;
}
//
- // Rule 125: relational_expression ::= relational_expression <= shift_expression
+ // Rule 125: relational_expression ::= relational_expression >= shift_expression
//
- case 125: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessEqual); break;
+ case 125: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterEqual); break;
}
//
- // Rule 126: relational_expression ::= relational_expression >= shift_expression
+ // Rule 127: equality_expression ::= equality_expression == relational_expression
//
- case 126: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterEqual); break;
+ case 127: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_equals); break;
}
//
- // Rule 128: equality_expression ::= equality_expression == relational_expression
+ // Rule 128: equality_expression ::= equality_expression != relational_expression
//
- case 128: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_equals); break;
+ case 128: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_notequals); break;
}
//
- // Rule 129: equality_expression ::= equality_expression != relational_expression
+ // Rule 130: and_expression ::= and_expression & equality_expression
//
- case 129: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_notequals); break;
+ case 130: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAnd); break;
}
//
- // Rule 131: and_expression ::= and_expression & equality_expression
+ // Rule 132: exclusive_or_expression ::= exclusive_or_expression ^ and_expression
//
- case 131: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAnd); break;
+ case 132: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXor); break;
}
//
- // Rule 133: exclusive_or_expression ::= exclusive_or_expression ^ and_expression
+ // Rule 134: inclusive_or_expression ::= inclusive_or_expression | exclusive_or_expression
//
- case 133: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXor); break;
+ case 134: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOr); break;
}
//
- // Rule 135: inclusive_or_expression ::= inclusive_or_expression | exclusive_or_expression
+ // Rule 136: logical_and_expression ::= logical_and_expression && inclusive_or_expression
//
- case 135: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOr); break;
+ case 136: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalAnd); break;
}
//
- // Rule 137: logical_and_expression ::= logical_and_expression && inclusive_or_expression
+ // Rule 138: logical_or_expression ::= logical_or_expression || logical_and_expression
//
- case 137: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalAnd); break;
+ case 138: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalOr); break;
}
//
- // Rule 139: logical_or_expression ::= logical_or_expression || logical_and_expression
+ // Rule 140: conditional_expression ::= logical_or_expression ? expression : assignment_expression
//
- case 139: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalOr); break;
+ case 140: { action. consumeExpressionConditional(); break;
}
//
- // Rule 141: conditional_expression ::= logical_or_expression ? expression : assignment_expression
+ // Rule 141: throw_expression ::= throw
//
- case 141: { action. consumeExpressionConditional(); break;
+ case 141: { action. consumeExpressionThrow(false); break;
}
//
- // Rule 142: throw_expression ::= throw
+ // Rule 142: throw_expression ::= throw assignment_expression
//
- case 142: { action. consumeExpressionThrow(false); break;
+ case 142: { action. consumeExpressionThrow(true); break;
}
//
- // Rule 143: throw_expression ::= throw assignment_expression
+ // Rule 145: assignment_expression ::= logical_or_expression = assignment_expression
//
- case 143: { action. consumeExpressionThrow(true); break;
+ case 145: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_assign); break;
}
//
- // Rule 146: assignment_expression ::= logical_or_expression = assignment_expression
+ // Rule 146: assignment_expression ::= logical_or_expression *= assignment_expression
//
- case 146: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_assign); break;
+ case 146: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiplyAssign); break;
}
//
- // Rule 147: assignment_expression ::= logical_or_expression *= assignment_expression
+ // Rule 147: assignment_expression ::= logical_or_expression /= assignment_expression
//
- case 147: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiplyAssign); break;
+ case 147: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divideAssign); break;
}
//
- // Rule 148: assignment_expression ::= logical_or_expression /= assignment_expression
+ // Rule 148: assignment_expression ::= logical_or_expression %= assignment_expression
//
- case 148: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divideAssign); break;
+ case 148: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_moduloAssign); break;
}
//
- // Rule 149: assignment_expression ::= logical_or_expression %= assignment_expression
+ // Rule 149: assignment_expression ::= logical_or_expression += assignment_expression
//
- case 149: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_moduloAssign); break;
+ case 149: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plusAssign); break;
}
//
- // Rule 150: assignment_expression ::= logical_or_expression += assignment_expression
+ // Rule 150: assignment_expression ::= logical_or_expression -= assignment_expression
//
- case 150: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plusAssign); break;
+ case 150: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minusAssign); break;
}
//
- // Rule 151: assignment_expression ::= logical_or_expression -= assignment_expression
+ // Rule 151: assignment_expression ::= logical_or_expression >>= assignment_expression
//
- case 151: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minusAssign); break;
+ case 151: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRightAssign); break;
}
//
- // Rule 152: assignment_expression ::= logical_or_expression >>= assignment_expression
+ // Rule 152: assignment_expression ::= logical_or_expression <<= assignment_expression
//
- case 152: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRightAssign); break;
+ case 152: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeftAssign); break;
}
//
- // Rule 153: assignment_expression ::= logical_or_expression <<= assignment_expression
+ // Rule 153: assignment_expression ::= logical_or_expression &= assignment_expression
//
- case 153: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeftAssign); break;
+ case 153: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAndAssign); break;
}
//
- // Rule 154: assignment_expression ::= logical_or_expression &= assignment_expression
+ // Rule 154: assignment_expression ::= logical_or_expression ^= assignment_expression
//
- case 154: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAndAssign); break;
+ case 154: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXorAssign); break;
}
//
- // Rule 155: assignment_expression ::= logical_or_expression ^= assignment_expression
+ // Rule 155: assignment_expression ::= logical_or_expression |= assignment_expression
//
- case 155: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXorAssign); break;
+ case 155: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOrAssign); break;
}
//
- // Rule 156: assignment_expression ::= logical_or_expression |= assignment_expression
+ // Rule 157: expression_list ::= <openscope-ast> expression_list_actual
//
- case 156: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOrAssign); break;
+ case 157: { action. consumeExpressionList(); break;
}
//
- // Rule 158: expression_list ::= <openscope-ast> expression_list_actual
+ // Rule 161: expression_list_opt ::= $Empty
//
- case 158: { action. consumeExpressionList(); break;
+ case 161: { action. consumeEmpty(); break;
}
//
- // Rule 162: expression_list_opt ::= $Empty
+ // Rule 163: expression_opt ::= $Empty
//
- case 162: { action. consumeEmpty(); break;
+ case 163: { action. consumeEmpty(); break;
}
//
- // Rule 164: expression_opt ::= $Empty
+ // Rule 166: constant_expression_opt ::= $Empty
//
- case 164: { action. consumeEmpty(); break;
+ case 166: { action. consumeEmpty(); break;
}
//
- // Rule 167: constant_expression_opt ::= $Empty
+ // Rule 175: statement ::= ERROR_TOKEN
//
- case 167: { action. consumeEmpty(); break;
+ case 175: { action. consumeStatementProblem(); break;
}
//
- // Rule 176: statement ::= ERROR_TOKEN
+ // Rule 176: labeled_statement ::= identifier : statement
//
- case 176: { action. consumeStatementProblem(); break;
+ case 176: { action. consumeStatementLabeled(); break;
}
//
- // Rule 177: labeled_statement ::= identifier : statement
+ // Rule 177: labeled_statement ::= case constant_expression : statement
//
- case 177: { action. consumeStatementLabeled(); break;
+ case 177: { action. consumeStatementCase(); break;
}
//
- // Rule 178: labeled_statement ::= case constant_expression : statement
+ // Rule 178: labeled_statement ::= default : statement
//
- case 178: { action. consumeStatementCase(); break;
+ case 178: { action. consumeStatementDefault(); break;
}
//
- // Rule 179: labeled_statement ::= default : statement
+ // Rule 179: expression_statement ::= expression ;
//
- case 179: { action. consumeStatementDefault(); break;
+ case 179: { action. consumeStatementExpression(); break;
}
//
- // Rule 180: expression_statement ::= expression ;
+ // Rule 180: expression_statement ::= ;
//
- case 180: { action. consumeStatementExpression(); break;
+ case 180: { action. consumeStatementNull(); break;
}
//
- // Rule 181: expression_statement ::= ;
+ // Rule 181: compound_statement ::= { <openscope-ast> statement_seq }
//
- case 181: { action. consumeStatementNull(); break;
+ case 181: { action. consumeStatementCompoundStatement(true); break;
}
//
- // Rule 182: compound_statement ::= { <openscope-ast> statement_seq }
+ // Rule 182: compound_statement ::= { }
//
- case 182: { action. consumeStatementCompoundStatement(true); break;
+ case 182: { action. consumeStatementCompoundStatement(false); break;
}
//
- // Rule 183: compound_statement ::= { }
+ // Rule 185: selection_statement ::= if ( condition ) statement
//
- case 183: { action. consumeStatementCompoundStatement(false); break;
+ case 185: { action. consumeStatementIf(false); break;
}
//
- // Rule 186: selection_statement ::= if ( condition ) statement
+ // Rule 186: selection_statement ::= if ( condition ) statement else statement
//
- case 186: { action. consumeStatementIf(false); break;
+ case 186: { action. consumeStatementIf(true); break;
}
//
- // Rule 187: selection_statement ::= if ( condition ) statement else statement
+ // Rule 187: selection_statement ::= switch ( condition ) statement
//
- case 187: { action. consumeStatementIf(true); break;
+ case 187: { action. consumeStatementSwitch(); break;
}
//
- // Rule 188: selection_statement ::= switch ( condition ) statement
+ // Rule 189: condition ::= type_specifier_seq declarator = assignment_expression
//
- case 188: { action. consumeStatementSwitch(); break;
+ case 189: { action. consumeConditionDeclaration(); break;
}
//
- // Rule 190: condition ::= type_specifier_seq declarator = assignment_expression
+ // Rule 191: condition_opt ::= $Empty
//
- case 190: { action. consumeConditionDeclaration(); break;
+ case 191: { action. consumeEmpty(); break;
}
//
- // Rule 192: condition_opt ::= $Empty
+ // Rule 192: iteration_statement ::= while ( condition ) statement
//
- case 192: { action. consumeEmpty(); break;
+ case 192: { action. consumeStatementWhileLoop(); break;
}
//
- // Rule 193: iteration_statement ::= while ( condition ) statement
+ // Rule 193: iteration_statement ::= do statement while ( expression ) ;
//
- case 193: { action. consumeStatementWhileLoop(); break;
+ case 193: { action. consumeStatementDoLoop(); break;
}
//
- // Rule 194: iteration_statement ::= do statement while ( expression ) ;
+ // Rule 194: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement
//
- case 194: { action. consumeStatementDoLoop(); break;
+ case 194: { action. consumeStatementForLoop(); break;
}
//
- // Rule 195: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement
+ // Rule 196: for_init_statement ::= simple_declaration_with_declspec
//
- case 195: { action. consumeStatementForLoop(); break;
+ case 196: { action. consumeStatementDeclaration(); break;
}
//
- // Rule 197: for_init_statement ::= simple_declaration_with_declspec
+ // Rule 197: jump_statement ::= break ;
//
- case 197: { action. consumeStatementDeclaration(); break;
+ case 197: { action. consumeStatementBreak(); break;
}
//
- // Rule 198: jump_statement ::= break ;
+ // Rule 198: jump_statement ::= continue ;
//
- case 198: { action. consumeStatementBreak(); break;
+ case 198: { action. consumeStatementContinue(); break;
}
//
- // Rule 199: jump_statement ::= continue ;
+ // Rule 199: jump_statement ::= return expression ;
//
- case 199: { action. consumeStatementContinue(); break;
+ case 199: { action. consumeStatementReturn(true); break;
}
//
- // Rule 200: jump_statement ::= return expression ;
+ // Rule 200: jump_statement ::= return ;
//
- case 200: { action. consumeStatementReturn(true); break;
+ case 200: { action. consumeStatementReturn(false); break;
}
//
- // Rule 201: jump_statement ::= return ;
+ // Rule 201: jump_statement ::= goto identifier_token ;
//
- case 201: { action. consumeStatementReturn(false); break;
+ case 201: { action. consumeStatementGoto(); break;
}
//
- // Rule 202: jump_statement ::= goto identifier_token ;
+ // Rule 202: declaration_statement ::= block_declaration
//
- case 202: { action. consumeStatementGoto(); break;
+ case 202: { action. consumeStatementDeclarationWithDisambiguation(); break;
}
//
- // Rule 203: declaration_statement ::= block_declaration
+ // Rule 203: declaration_statement ::= function_definition
//
- case 203: { action. consumeStatementDeclarationWithDisambiguation(); break;
+ case 203: { action. consumeStatementDeclaration(); break;
}
//
- // Rule 204: declaration_statement ::= function_definition
+ // Rule 211: declaration ::= ERROR_TOKEN
//
- case 204: { action. consumeStatementDeclaration(); break;
+ case 211: { action. consumeDeclarationProblem(); break;
}
//
- // Rule 212: declaration ::= ERROR_TOKEN
+ // Rule 221: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ;
//
- case 212: { action. consumeDeclarationProblem(); break;
+ case 221: { action. consumeDeclarationSimple(true); break;
}
//
- // Rule 222: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ;
+ // Rule 222: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ;
//
case 222: { action. consumeDeclarationSimple(true); break;
}
//
- // Rule 223: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ;
+ // Rule 223: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers
//
- case 223: { action. consumeDeclarationSimple(true); break;
+ case 223: { action. consumeDeclarationSpecifiersSimple(); break;
}
//
- // Rule 224: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers
+ // Rule 224: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers
//
- case 224: { action. consumeDeclarationSpecifiersSimple(); break;
+ case 224: { action. consumeDeclarationSpecifiersComposite(); break;
}
//
- // Rule 225: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers
+ // Rule 225: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers
//
case 225: { action. consumeDeclarationSpecifiersComposite(); break;
}
//
- // Rule 226: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers
+ // Rule 226: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers
//
case 226: { action. consumeDeclarationSpecifiersComposite(); break;
}
//
- // Rule 227: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers
+ // Rule 227: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers
//
- case 227: { action. consumeDeclarationSpecifiersComposite(); break;
+ case 227: { action. consumeDeclarationSpecifiersTypeName(); break;
}
//
- // Rule 228: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers
+ // Rule 229: declaration_specifiers_opt ::= $Empty
//
- case 228: { action. consumeDeclarationSpecifiersTypeName(); break;
+ case 229: { action. consumeEmpty(); break;
}
//
- // Rule 230: declaration_specifiers_opt ::= $Empty
+ // Rule 233: no_type_declaration_specifier ::= friend
//
- case 230: { action. consumeEmpty(); break;
+ case 233: { action. consumeToken(); break;
}
//
- // Rule 234: no_type_declaration_specifier ::= friend
+ // Rule 234: no_type_declaration_specifier ::= typedef
//
case 234: { action. consumeToken(); break;
}
//
- // Rule 235: no_type_declaration_specifier ::= typedef
+ // Rule 254: storage_class_specifier ::= auto
//
- case 235: { action. consumeToken(); break;
+ case 254: { action. consumeToken(); break;
}
//
- // Rule 255: storage_class_specifier ::= auto
+ // Rule 255: storage_class_specifier ::= register
//
case 255: { action. consumeToken(); break;
}
//
- // Rule 256: storage_class_specifier ::= register
+ // Rule 256: storage_class_specifier ::= static
//
case 256: { action. consumeToken(); break;
}
//
- // Rule 257: storage_class_specifier ::= static
+ // Rule 257: storage_class_specifier ::= extern
//
case 257: { action. consumeToken(); break;
}
//
- // Rule 258: storage_class_specifier ::= extern
+ // Rule 258: storage_class_specifier ::= mutable
//
case 258: { action. consumeToken(); break;
}
//
- // Rule 259: storage_class_specifier ::= mutable
+ // Rule 259: function_specifier ::= inline
//
case 259: { action. consumeToken(); break;
}
//
- // Rule 260: function_specifier ::= inline
+ // Rule 260: function_specifier ::= virtual
//
case 260: { action. consumeToken(); break;
}
//
- // Rule 261: function_specifier ::= virtual
+ // Rule 261: function_specifier ::= explicit
//
case 261: { action. consumeToken(); break;
}
//
- // Rule 262: function_specifier ::= explicit
+ // Rule 262: simple_type_specifier ::= char
//
case 262: { action. consumeToken(); break;
}
//
- // Rule 263: simple_type_specifier ::= char
+ // Rule 263: simple_type_specifier ::= wchar_t
//
case 263: { action. consumeToken(); break;
}
//
- // Rule 264: simple_type_specifier ::= wchar_t
+ // Rule 264: simple_type_specifier ::= bool
//
case 264: { action. consumeToken(); break;
}
//
- // Rule 265: simple_type_specifier ::= bool
+ // Rule 265: simple_type_specifier ::= short
//
case 265: { action. consumeToken(); break;
}
//
- // Rule 266: simple_type_specifier ::= short
+ // Rule 266: simple_type_specifier ::= int
//
case 266: { action. consumeToken(); break;
}
//
- // Rule 267: simple_type_specifier ::= int
+ // Rule 267: simple_type_specifier ::= long
//
case 267: { action. consumeToken(); break;
}
//
- // Rule 268: simple_type_specifier ::= long
+ // Rule 268: simple_type_specifier ::= signed
//
case 268: { action. consumeToken(); break;
}
//
- // Rule 269: simple_type_specifier ::= signed
+ // Rule 269: simple_type_specifier ::= unsigned
//
case 269: { action. consumeToken(); break;
}
//
- // Rule 270: simple_type_specifier ::= unsigned
+ // Rule 270: simple_type_specifier ::= float
//
case 270: { action. consumeToken(); break;
}
//
- // Rule 271: simple_type_specifier ::= float
+ // Rule 271: simple_type_specifier ::= double
//
case 271: { action. consumeToken(); break;
}
//
- // Rule 272: simple_type_specifier ::= double
+ // Rule 272: simple_type_specifier ::= void
//
case 272: { action. consumeToken(); break;
}
//
- // Rule 273: simple_type_specifier ::= void
+ // Rule 275: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name
//
- case 273: { action. consumeToken(); break;
+ case 275: { action. consumeQualifiedId(false); break;
}
//
- // Rule 276: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name
+ // Rule 276: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name
//
case 276: { action. consumeQualifiedId(false); break;
}
//
- // Rule 277: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name
+ // Rule 277: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name
//
case 277: { action. consumeQualifiedId(false); break;
}
//
- // Rule 278: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name
+ // Rule 278: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name
//
- case 278: { action. consumeQualifiedId(false); break;
+ case 278: { action. consumeQualifiedId(true); break;
}
//
- // Rule 279: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name
+ // Rule 280: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name
//
- case 279: { action. consumeQualifiedId(true); break;
+ case 280: { action. consumeTypeSpecifierElaborated(false); break;
}
//
- // Rule 281: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name
+ // Rule 281: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt template_opt template_id_name
//
- case 281: { action. consumeTypeSpecifierElaborated(false); break;
+ case 281: { action. consumeTypeSpecifierElaborated(true); break;
}
//
- // Rule 282: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt template_opt template_id_name
+ // Rule 282: elaborated_type_specifier ::= enum elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name
//
- case 282: { action. consumeTypeSpecifierElaborated(true); break;
+ case 282: { action. consumeTypeSpecifierElaborated(false); break;
}
//
- // Rule 283: elaborated_type_specifier ::= enum elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name
+ // Rule 284: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt }
//
- case 283: { action. consumeTypeSpecifierElaborated(false); break;
+ case 284: { action. consumeTypeSpecifierEnumeration(false); break;
}
//
- // Rule 285: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt }
+ // Rule 285: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt }
//
- case 285: { action. consumeTypeSpecifierEnumeration(false); break;
+ case 285: { action. consumeTypeSpecifierEnumeration(true); break;
}
//
- // Rule 286: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt }
+ // Rule 291: enumerator_definition ::= identifier_token
//
- case 286: { action. consumeTypeSpecifierEnumeration(true); break;
+ case 291: { action. consumeEnumerator(false); break;
}
//
- // Rule 292: enumerator_definition ::= identifier_token
+ // Rule 292: enumerator_definition ::= identifier_token = constant_expression
//
- case 292: { action. consumeEnumerator(false); break;
+ case 292: { action. consumeEnumerator(true); break;
}
//
- // Rule 293: enumerator_definition ::= identifier_token = constant_expression
+ // Rule 296: named_namespace_definition ::= namespace namespace_name { <openscope-ast> declaration_seq_opt }
//
- case 293: { action. consumeEnumerator(true); break;
+ case 296: { action. consumeNamespaceDefinition(true); break;
}
//
- // Rule 297: named_namespace_definition ::= namespace namespace_name { <openscope-ast> declaration_seq_opt }
+ // Rule 297: unnamed_namespace_definition ::= namespace { <openscope-ast> declaration_seq_opt }
//
- case 297: { action. consumeNamespaceDefinition(true); break;
+ case 297: { action. consumeNamespaceDefinition(false); break;
}
//
- // Rule 298: unnamed_namespace_definition ::= namespace { <openscope-ast> declaration_seq_opt }
+ // Rule 298: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ;
//
- case 298: { action. consumeNamespaceDefinition(false); break;
+ case 298: { action. consumeNamespaceAliasDefinition(); break;
}
//
- // Rule 299: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ;
+ // Rule 299: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ;
//
- case 299: { action. consumeNamespaceAliasDefinition(); break;
+ case 299: { action. consumeUsingDeclaration(); break;
}
//
- // Rule 300: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ;
+ // Rule 300: typename_opt ::= typename
//
- case 300: { action. consumeUsingDeclaration(); break;
+ case 300: { action. consumePlaceHolder(); break;
}
//
- // Rule 301: typename_opt ::= typename
+ // Rule 301: typename_opt ::= $Empty
//
- case 301: { action. consumePlaceHolder(); break;
+ case 301: { action. consumeEmpty(); break;
}
//
- // Rule 302: typename_opt ::= $Empty
+ // Rule 302: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ;
//
- case 302: { action. consumeEmpty(); break;
+ case 302: { action. consumeUsingDirective(); break;
}
//
- // Rule 303: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ;
+ // Rule 303: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt }
//
- case 303: { action. consumeUsingDirective(); break;
+ case 303: { action. consumeLinkageSpecification(); break;
}
//
- // Rule 304: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt }
+ // Rule 304: linkage_specification ::= extern stringlit <openscope-ast> declaration
//
case 304: { action. consumeLinkageSpecification(); break;
}
//
- // Rule 305: linkage_specification ::= extern stringlit <openscope-ast> declaration
+ // Rule 309: init_declarator_complete ::= init_declarator
//
- case 305: { action. consumeLinkageSpecification(); break;
+ case 309: { action. consumeInitDeclaratorComplete(); break;
}
//
- // Rule 310: init_declarator_complete ::= init_declarator
+ // Rule 311: init_declarator ::= complete_declarator initializer
//
- case 310: { action. consumeInitDeclaratorComplete(); break;
+ case 311: { action. consumeDeclaratorWithInitializer(true); break;
}
//
- // Rule 312: init_declarator ::= complete_declarator initializer
+ // Rule 314: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
//
- case 312: { action. consumeDeclaratorWithInitializer(true); break;
+ case 314: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 315: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
+ // Rule 316: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
//
- case 315: { action. consumeDeclaratorWithPointer(true); break;
+ case 316: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 317: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
+ // Rule 320: basic_direct_declarator ::= declarator_id_name
//
- case 317: { action. consumeDeclaratorWithPointer(true); break;
+ case 320: { action. consumeDirectDeclaratorIdentifier(); break;
}
//
- // Rule 321: basic_direct_declarator ::= declarator_id_name
+ // Rule 321: basic_direct_declarator ::= ( declarator )
//
- case 321: { action. consumeDirectDeclaratorIdentifier(); break;
+ case 321: { action. consumeDirectDeclaratorBracketed(); break;
}
//
- // Rule 322: basic_direct_declarator ::= ( declarator )
+ // Rule 322: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
//
- case 322: { action. consumeDirectDeclaratorBracketed(); break;
+ case 322: { action. consumeDirectDeclaratorFunctionDeclarator(true); break;
}
//
- // Rule 323: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
+ // Rule 323: array_direct_declarator ::= array_direct_declarator array_modifier
//
- case 323: { action. consumeDirectDeclaratorFunctionDeclarator(true); break;
+ case 323: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 324: array_direct_declarator ::= array_direct_declarator array_modifier
+ // Rule 324: array_direct_declarator ::= basic_direct_declarator array_modifier
//
case 324: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 325: array_direct_declarator ::= basic_direct_declarator array_modifier
+ // Rule 325: array_modifier ::= [ constant_expression ]
//
- case 325: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 325: { action. consumeDirectDeclaratorArrayModifier(true); break;
}
//
- // Rule 326: array_modifier ::= [ constant_expression ]
+ // Rule 326: array_modifier ::= [ ]
//
- case 326: { action. consumeDirectDeclaratorArrayModifier(true); break;
+ case 326: { action. consumeDirectDeclaratorArrayModifier(false); break;
}
//
- // Rule 327: array_modifier ::= [ ]
+ // Rule 327: ptr_operator ::= pointer_hook * <openscope-ast> cv_qualifier_seq_opt
//
- case 327: { action. consumeDirectDeclaratorArrayModifier(false); break;
+ case 327: { action. consumePointer(); break;
}
//
- // Rule 328: ptr_operator ::= pointer_hook * <openscope-ast> cv_qualifier_seq_opt
+ // Rule 328: ptr_operator ::= pointer_hook &
//
- case 328: { action. consumePointer(); break;
+ case 328: { action. consumeReferenceOperator(); break;
}
//
- // Rule 329: ptr_operator ::= pointer_hook &
+ // Rule 329: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * <openscope-ast> cv_qualifier_seq_opt
//
- case 329: { action. consumeReferenceOperator(); break;
+ case 329: { action. consumePointerToMember(); break;
}
//
- // Rule 330: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * <openscope-ast> cv_qualifier_seq_opt
+ // Rule 336: cv_qualifier ::= const
//
- case 330: { action. consumePointerToMember(); break;
+ case 336: { action. consumeToken(); break;
}
//
- // Rule 337: cv_qualifier ::= const
+ // Rule 337: cv_qualifier ::= volatile
//
case 337: { action. consumeToken(); break;
}
//
- // Rule 338: cv_qualifier ::= volatile
+ // Rule 339: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name
//
- case 338: { action. consumeToken(); break;
+ case 339: { action. consumeQualifiedId(false); break;
}
//
- // Rule 340: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name
+ // Rule 340: type_id ::= type_specifier_seq
//
- case 340: { action. consumeQualifiedId(false); break;
+ case 340: { action. consumeTypeId(false); break;
}
//
- // Rule 341: type_id ::= type_specifier_seq
+ // Rule 341: type_id ::= type_specifier_seq abstract_declarator
//
- case 341: { action. consumeTypeId(false); break;
+ case 341: { action. consumeTypeId(true); break;
}
//
- // Rule 342: type_id ::= type_specifier_seq abstract_declarator
+ // Rule 344: abstract_declarator ::= <openscope-ast> ptr_operator_seq
//
- case 342: { action. consumeTypeId(true); break;
+ case 344: { action. consumeDeclaratorWithPointer(false); break;
}
//
- // Rule 345: abstract_declarator ::= <openscope-ast> ptr_operator_seq
+ // Rule 345: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator
//
- case 345: { action. consumeDeclaratorWithPointer(false); break;
+ case 345: { action. consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 346: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator
+ // Rule 349: basic_direct_abstract_declarator ::= ( abstract_declarator )
//
- case 346: { action. consumeDeclaratorWithPointer(true); break;
+ case 349: { action. consumeDirectDeclaratorBracketed(); break;
}
//
- // Rule 350: basic_direct_abstract_declarator ::= ( abstract_declarator )
+ // Rule 350: basic_direct_abstract_declarator ::= ( )
//
- case 350: { action. consumeDirectDeclaratorBracketed(); break;
+ case 350: { action. consumeAbstractDeclaratorEmpty(); break;
}
//
- // Rule 351: basic_direct_abstract_declarator ::= ( )
+ // Rule 351: array_direct_abstract_declarator ::= array_modifier
//
- case 351: { action. consumeAbstractDeclaratorEmpty(); break;
+ case 351: { action. consumeDirectDeclaratorArrayDeclarator(false); break;
}
//
- // Rule 352: array_direct_abstract_declarator ::= array_modifier
+ // Rule 352: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
//
- case 352: { action. consumeDirectDeclaratorArrayDeclarator(false); break;
+ case 352: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 353: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
+ // Rule 353: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
//
case 353: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 354: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
+ // Rule 354: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
//
- case 354: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ case 354: { action. consumeDirectDeclaratorFunctionDeclarator(true); break;
}
//
- // Rule 355: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
+ // Rule 355: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
//
- case 355: { action. consumeDirectDeclaratorFunctionDeclarator(true); break;
+ case 355: { action. consumeDirectDeclaratorFunctionDeclarator(false); break;
}
//
- // Rule 356: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
+ // Rule 356: parameter_declaration_clause ::= parameter_declaration_list_opt ...
//
- case 356: { action. consumeDirectDeclaratorFunctionDeclarator(false); break;
+ case 356: { action. consumePlaceHolder(); break;
}
//
- // Rule 357: parameter_declaration_clause ::= parameter_declaration_list_opt ...
+ // Rule 357: parameter_declaration_clause ::= parameter_declaration_list_opt
//
- case 357: { action. consumePlaceHolder(); break;
+ case 357: { action. consumeEmpty(); break;
}
//
- // Rule 358: parameter_declaration_clause ::= parameter_declaration_list_opt
+ // Rule 358: parameter_declaration_clause ::= parameter_declaration_list , ...
//
- case 358: { action. consumeEmpty(); break;
+ case 358: { action. consumePlaceHolder(); break;
}
//
- // Rule 359: parameter_declaration_clause ::= parameter_declaration_list , ...
+ // Rule 364: abstract_declarator_opt ::= $Empty
//
- case 359: { action. consumePlaceHolder(); break;
+ case 364: { action. consumeEmpty(); break;
}
//
- // Rule 365: abstract_declarator_opt ::= $Empty
+ // Rule 365: parameter_declaration ::= declaration_specifiers parameter_init_declarator
//
- case 365: { action. consumeEmpty(); break;
+ case 365: { action. consumeParameterDeclaration(); break;
}
//
- // Rule 366: parameter_declaration ::= declaration_specifiers parameter_init_declarator
+ // Rule 366: parameter_declaration ::= declaration_specifiers
//
- case 366: { action. consumeParameterDeclaration(); break;
+ case 366: { action. consumeParameterDeclarationWithoutDeclarator(); break;
}
//
- // Rule 367: parameter_declaration ::= declaration_specifiers
+ // Rule 368: parameter_init_declarator ::= declarator = parameter_initializer
//
- case 367: { action. consumeParameterDeclarationWithoutDeclarator(); break;
+ case 368: { action. consumeDeclaratorWithInitializer(true); break;
}
//
- // Rule 369: parameter_init_declarator ::= declarator = parameter_initializer
+ // Rule 370: parameter_init_declarator ::= abstract_declarator = parameter_initializer
//
- case 369: { action. consumeDeclaratorWithInitializer(true); break;
+ case 370: { action. consumeDeclaratorWithInitializer(true); break;
}
//
- // Rule 371: parameter_init_declarator ::= abstract_declarator = parameter_initializer
+ // Rule 371: parameter_init_declarator ::= = parameter_initializer
//
- case 371: { action. consumeDeclaratorWithInitializer(true); break;
+ case 371: { action. consumeDeclaratorWithInitializer(false); break;
}
//
- // Rule 372: parameter_init_declarator ::= = parameter_initializer
+ // Rule 372: parameter_initializer ::= assignment_expression
//
- case 372: { action. consumeDeclaratorWithInitializer(false); break;
+ case 372: { action. consumeInitializer(); break;
}
//
- // Rule 373: parameter_initializer ::= assignment_expression
+ // Rule 373: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body
//
- case 373: { action. consumeInitializer(); break;
+ case 373: { action. consumeFunctionDefinition(false); break;
}
//
- // Rule 374: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body
+ // Rule 374: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq
//
- case 374: { action. consumeFunctionDefinition(false); break;
+ case 374: { action. consumeFunctionDefinition(true); break;
}
//
- // Rule 375: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq
+ // Rule 377: initializer ::= ( expression_list )
//
- case 375: { action. consumeFunctionDefinition(true); break;
+ case 377: { action. consumeInitializerConstructor(); break;
}
//
- // Rule 378: initializer ::= ( expression_list )
+ // Rule 378: initializer_clause ::= assignment_expression
//
- case 378: { action. consumeInitializerConstructor(); break;
+ case 378: { action. consumeInitializer(); break;
}
//
- // Rule 379: initializer_clause ::= assignment_expression
+ // Rule 379: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list , } end_initializer_list
//
- case 379: { action. consumeInitializer(); break;
+ case 379: { action. consumeInitializerList(); break;
}
//
- // Rule 380: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list , } end_initializer_list
+ // Rule 380: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list } end_initializer_list
//
case 380: { action. consumeInitializerList(); break;
}
//
- // Rule 381: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list } end_initializer_list
+ // Rule 381: initializer_clause ::= { <openscope-ast> }
//
case 381: { action. consumeInitializerList(); break;
}
//
- // Rule 382: initializer_clause ::= { <openscope-ast> }
+ // Rule 382: start_initializer_list ::= $Empty
//
- case 382: { action. consumeInitializerList(); break;
+ case 382: { action. initializerListStart(); break;
}
//
- // Rule 383: start_initializer_list ::= $Empty
+ // Rule 383: end_initializer_list ::= $Empty
//
- case 383: { action. initializerListStart(); break;
+ case 383: { action. initializerListEnd(); break;
}
//
- // Rule 384: end_initializer_list ::= $Empty
+ // Rule 388: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt }
//
- case 384: { action. initializerListEnd(); break;
+ case 388: { action. consumeClassSpecifier(); break;
}
//
- // Rule 389: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt }
+ // Rule 389: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook <openscope-ast> base_clause_opt
//
- case 389: { action. consumeClassSpecifier(); break;
+ case 389: { action. consumeClassHead(false); break;
}
//
- // Rule 390: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook <openscope-ast> base_clause_opt
+ // Rule 390: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt
//
case 390: { action. consumeClassHead(false); break;
}
//
- // Rule 391: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt
+ // Rule 391: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook <openscope-ast> base_clause_opt
//
- case 391: { action. consumeClassHead(false); break;
+ case 391: { action. consumeClassHead(true); break;
}
//
- // Rule 392: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook <openscope-ast> base_clause_opt
+ // Rule 392: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt
//
case 392: { action. consumeClassHead(true); break;
}
//
- // Rule 393: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt
+ // Rule 396: identifier_name_opt ::= $Empty
//
- case 393: { action. consumeClassHead(true); break;
- }
+ case 396: { action. consumeEmpty(); break;
+ }
//
- // Rule 397: identifier_name_opt ::= $Empty
+ // Rule 400: visibility_label ::= access_specifier_keyword :
//
- case 397: { action. consumeEmpty(); break;
- }
+ case 400: { action. consumeVisibilityLabel(); break;
+ }
//
- // Rule 401: visibility_label ::= access_specifier_keyword :
+ // Rule 401: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ;
//
- case 401: { action. consumeVisibilityLabel(); break;
+ case 401: { action. consumeDeclarationSimple(true); break;
}
//
- // Rule 402: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ;
+ // Rule 402: member_declaration ::= declaration_specifiers_opt ;
//
- case 402: { action. consumeDeclarationSimple(true); break;
+ case 402: { action. consumeDeclarationSimple(false); break;
}
//
- // Rule 403: member_declaration ::= declaration_specifiers_opt ;
+ // Rule 405: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ;
//
- case 403: { action. consumeDeclarationSimple(false); break;
+ case 405: { action. consumeMemberDeclarationQualifiedId(); break;
}
//
- // Rule 406: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ;
+ // Rule 411: member_declaration ::= ERROR_TOKEN
//
- case 406: { action. consumeMemberDeclarationQualifiedId(); break;
+ case 411: { action. consumeDeclarationProblem(); break;
}
//
- // Rule 412: member_declaration ::= ERROR_TOKEN
+ // Rule 420: member_declarator ::= declarator constant_initializer
//
- case 412: { action. consumeDeclarationProblem(); break;
+ case 420: { action. consumeMemberDeclaratorWithInitializer(); break;
}
//
- // Rule 421: member_declarator ::= declarator constant_initializer
+ // Rule 421: member_declarator ::= bit_field_declarator : constant_expression
//
- case 421: { action. consumeMemberDeclaratorWithInitializer(); break;
+ case 421: { action. consumeBitField(true); break;
}
//
- // Rule 422: member_declarator ::= bit_field_declarator : constant_expression
+ // Rule 422: member_declarator ::= : constant_expression
//
- case 422: { action. consumeBitField(true); break;
+ case 422: { action. consumeBitField(false); break;
}
//
- // Rule 423: member_declarator ::= : constant_expression
+ // Rule 423: bit_field_declarator ::= identifier_name
//
- case 423: { action. consumeBitField(false); break;
+ case 423: { action. consumeDirectDeclaratorIdentifier(); break;
}
//
- // Rule 424: bit_field_declarator ::= identifier_name
+ // Rule 424: constant_initializer ::= = constant_expression
//
- case 424: { action. consumeDirectDeclaratorIdentifier(); break;
+ case 424: { action. consumeInitializer(); break;
}
//
- // Rule 425: constant_initializer ::= = constant_expression
+ // Rule 430: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name
//
- case 425: { action. consumeInitializer(); break;
+ case 430: { action. consumeBaseSpecifier(false, false); break;
}
//
- // Rule 431: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name
+ // Rule 431: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name
//
- case 431: { action. consumeBaseSpecifier(false, false); break;
+ case 431: { action. consumeBaseSpecifier(true, true); break;
}
//
- // Rule 432: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name
+ // Rule 432: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name
//
case 432: { action. consumeBaseSpecifier(true, true); break;
}
//
- // Rule 433: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name
+ // Rule 433: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name
//
- case 433: { action. consumeBaseSpecifier(true, true); break;
+ case 433: { action. consumeBaseSpecifier(true, false); break;
}
//
- // Rule 434: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name
+ // Rule 434: access_specifier_keyword ::= private
//
- case 434: { action. consumeBaseSpecifier(true, false); break;
+ case 434: { action. consumeToken(); break;
}
//
- // Rule 435: access_specifier_keyword ::= private
+ // Rule 435: access_specifier_keyword ::= protected
//
case 435: { action. consumeToken(); break;
}
//
- // Rule 436: access_specifier_keyword ::= protected
+ // Rule 436: access_specifier_keyword ::= public
//
case 436: { action. consumeToken(); break;
}
//
- // Rule 437: access_specifier_keyword ::= public
+ // Rule 438: access_specifier_keyword_opt ::= $Empty
//
- case 437: { action. consumeToken(); break;
+ case 438: { action. consumeEmpty(); break;
}
//
- // Rule 439: access_specifier_keyword_opt ::= $Empty
+ // Rule 440: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt >
//
- case 439: { action. consumeEmpty(); break;
+ case 440: { action. consumeTemplateId(); break;
}
//
- // Rule 441: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt >
+ // Rule 441: conversion_function_id ::= operator conversion_type_id
//
- case 441: { action. consumeTemplateId(); break;
+ case 441: { action. consumeConversionName(); break;
}
//
- // Rule 442: conversion_function_id ::= operator conversion_type_id
+ // Rule 442: conversion_type_id ::= type_specifier_seq conversion_declarator
//
- case 442: { action. consumeConversionName(); break;
+ case 442: { action. consumeTypeId(true); break;
}
//
- // Rule 443: conversion_type_id ::= type_specifier_seq conversion_declarator
+ // Rule 443: conversion_type_id ::= type_specifier_seq
//
- case 443: { action. consumeTypeId(true); break;
+ case 443: { action. consumeTypeId(false); break;
}
//
- // Rule 444: conversion_type_id ::= type_specifier_seq
+ // Rule 444: conversion_declarator ::= <openscope-ast> ptr_operator_seq
//
- case 444: { action. consumeTypeId(false); break;
+ case 444: { action. consumeDeclaratorWithPointer(false); break;
}
//
- // Rule 445: conversion_declarator ::= <openscope-ast> ptr_operator_seq
+ // Rule 450: mem_initializer ::= mem_initializer_name ( expression_list_opt )
//
- case 445: { action. consumeDeclaratorWithPointer(false); break;
+ case 450: { action. consumeConstructorChainInitializer(); break;
}
//
- // Rule 451: mem_initializer ::= mem_initializer_name ( expression_list_opt )
+ // Rule 451: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name
//
- case 451: { action. consumeConstructorChainInitializer(); break;
+ case 451: { action. consumeQualifiedId(false); break;
}
//
- // Rule 452: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name
+ // Rule 454: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt >
//
- case 452: { action. consumeQualifiedId(false); break;
+ case 454: { action. consumeTemplateId(); break;
}
//
- // Rule 455: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt >
+ // Rule 455: operator_id_name ::= operator overloadable_operator
//
- case 455: { action. consumeTemplateId(); break;
+ case 455: { action. consumeOperatorName(); break;
}
//
- // Rule 456: operator_id_name ::= operator overloadable_operator
+ // Rule 498: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration
//
- case 456: { action. consumeOperatorName(); break;
+ case 498: { action. consumeTemplateDeclaration(); break;
}
//
- // Rule 499: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration
+ // Rule 499: export_opt ::= export
//
- case 499: { action. consumeTemplateDeclaration(); break;
+ case 499: { action. consumePlaceHolder(); break;
}
//
- // Rule 500: export_opt ::= export
+ // Rule 500: export_opt ::= $Empty
//
- case 500: { action. consumePlaceHolder(); break;
+ case 500: { action. consumeEmpty(); break;
}
//
- // Rule 501: export_opt ::= $Empty
+ // Rule 504: template_parameter ::= parameter_declaration
//
- case 501: { action. consumeEmpty(); break;
+ case 504: { action. consumeTemplateParamterDeclaration(); break;
}
//
- // Rule 505: template_parameter ::= parameter_declaration
+ // Rule 505: type_parameter ::= class identifier_name_opt
//
- case 505: { action. consumeTemplateParamterDeclaration(); break;
+ case 505: { action. consumeSimpleTypeTemplateParameter(false); break;
}
//
- // Rule 506: type_parameter ::= class identifier_name_opt
+ // Rule 506: type_parameter ::= class identifier_name_opt = type_id
//
- case 506: { action. consumeSimpleTypeTemplateParameter(false); break;
+ case 506: { action. consumeSimpleTypeTemplateParameter(true); break;
}
//
- // Rule 507: type_parameter ::= class identifier_name_opt = type_id
+ // Rule 507: type_parameter ::= typename identifier_name_opt
//
- case 507: { action. consumeSimpleTypeTemplateParameter(true); break;
+ case 507: { action. consumeSimpleTypeTemplateParameter(false); break;
}
//
- // Rule 508: type_parameter ::= typename identifier_name_opt
+ // Rule 508: type_parameter ::= typename identifier_name_opt = type_id
//
- case 508: { action. consumeSimpleTypeTemplateParameter(false); break;
+ case 508: { action. consumeSimpleTypeTemplateParameter(true); break;
}
//
- // Rule 509: type_parameter ::= typename identifier_name_opt = type_id
+ // Rule 509: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt
//
- case 509: { action. consumeSimpleTypeTemplateParameter(true); break;
+ case 509: { action. consumeTemplatedTypeTemplateParameter(false); break;
}
//
- // Rule 510: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt
+ // Rule 510: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression
//
- case 510: { action. consumeTemplatedTypeTemplateParameter(false); break;
+ case 510: { action. consumeTemplatedTypeTemplateParameter(true); break;
}
//
- // Rule 511: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression
+ // Rule 511: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt >
//
- case 511: { action. consumeTemplatedTypeTemplateParameter(true); break;
+ case 511: { action. consumeTemplateId(); break;
}
//
- // Rule 512: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt >
+ // Rule 516: template_argument ::= assignment_expression
//
- case 512: { action. consumeTemplateId(); break;
+ case 516: { action. consumeTemplateArgumentExpression(); break;
}
//
- // Rule 517: template_argument ::= assignment_expression
+ // Rule 517: template_argument ::= type_id
//
- case 517: { action. consumeTemplateArgumentExpression(); break;
+ case 517: { action. consumeTemplateArgumentTypeId(); break;
}
//
- // Rule 518: template_argument ::= type_id
+ // Rule 518: explicit_instantiation ::= template declaration
//
- case 518: { action. consumeTemplateArgumentTypeId(); break;
+ case 518: { action. consumeTemplateExplicitInstantiation(); break;
}
//
- // Rule 519: explicit_instantiation ::= template declaration
+ // Rule 519: explicit_specialization ::= template < > declaration
//
- case 519: { action. consumeTemplateExplicitInstantiation(); break;
+ case 519: { action. consumeTemplateExplicitSpecialization(); break;
}
//
- // Rule 520: explicit_specialization ::= template < > declaration
+ // Rule 520: try_block ::= try compound_statement <openscope-ast> handler_seq
//
- case 520: { action. consumeTemplateExplicitSpecialization(); break;
+ case 520: { action. consumeStatementTryBlock(); break;
}
//
- // Rule 521: try_block ::= try compound_statement <openscope-ast> handler_seq
+ // Rule 523: handler ::= catch ( exception_declaration ) compound_statement
//
- case 521: { action. consumeStatementTryBlock(); break;
+ case 523: { action. consumeStatementCatchHandler(false); break;
}
//
- // Rule 524: handler ::= catch ( exception_declaration ) compound_statement
+ // Rule 524: handler ::= catch ( ... ) compound_statement
//
- case 524: { action. consumeStatementCatchHandler(false); break;
+ case 524: { action. consumeStatementCatchHandler(true); break;
}
//
- // Rule 525: handler ::= catch ( ... ) compound_statement
+ // Rule 525: exception_declaration ::= type_specifier_seq <openscope-ast> declarator
//
- case 525: { action. consumeStatementCatchHandler(true); break;
+ case 525: { action. consumeDeclarationSimple(true); break;
}
//
- // Rule 526: exception_declaration ::= type_specifier_seq <openscope-ast> declarator
+ // Rule 526: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator
//
case 526: { action. consumeDeclarationSimple(true); break;
}
//
- // Rule 527: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator
+ // Rule 527: exception_declaration ::= type_specifier_seq
//
- case 527: { action. consumeDeclarationSimple(true); break;
+ case 527: { action. consumeDeclarationSimple(false); break;
}
//
- // Rule 528: exception_declaration ::= type_specifier_seq
+ // Rule 529: exception_specification ::= throw ( )
//
- case 528: { action. consumeDeclarationSimple(false); break;
+ case 529: { action. consumePlaceHolder(); break;
}
//
- // Rule 530: exception_specification ::= throw ( )
+ // Rule 550: attribute_parameter ::= assignment_expression
//
- case 530: { action. consumePlaceHolder(); break;
+ case 550: { action. consumeIgnore(); break;
}
+
+ //
+ // Rule 560: extended_asm_declaration ::= asm volatile_opt ( extended_asm_param_seq ) ;
+ //
+ case 560: { gnuAction.consumeDeclarationASM(); break;
+ }
//
- // Rule 551: attribute_parameter ::= assignment_expression
+ // Rule 571: unary_expression ::= __alignof__ unary_expression
//
- case 551: { action. consumeIgnore(); break;
+ case 571: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_alignOf); break;
}
-
+
//
- // Rule 561: extended_asm_declaration ::= asm volatile_opt ( extended_asm_param_seq ) ;
+ // Rule 572: unary_expression ::= __alignof__ ( type_id )
//
- case 561: { gnuAction.consumeDeclarationASM(); break;
- }
+ case 572: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_alignof); break;
+ }
+
+ //
+ // Rule 573: unary_expression ::= typeof unary_expression
+ //
+ case 573: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); break;
+ }
+
+ //
+ // Rule 574: unary_expression ::= typeof ( type_id )
+ //
+ case 574: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_typeof); break;
+ }
//
- // Rule 584: declarator ::= <openscope-ast> ptr_operator_seq attribute_or_decl_specifier_seq direct_declarator
+ // Rule 587: declarator ::= <openscope-ast> ptr_operator_seq attribute_or_decl_specifier_seq direct_declarator
//
- case 584: { action. consumeDeclaratorWithPointer(true); break;
+ case 587: { action. consumeDeclaratorWithPointer(true); break;
}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPParserprs.java
index f2ef744b6cb..b94d07d5710 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPParserprs.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPParserprs.java
@@ -29,7 +29,7 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0
+ 0,0,0,0,0,0,0,0
};
};
public final static byte isKeyword[] = IsKeyword.isKeyword;
@@ -39,586 +39,582 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym
public final static short baseCheck[] = {0,
0,0,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,3,1,1,1,1,1,
- 1,1,1,2,2,1,1,0,1,0,
- 4,2,3,2,3,2,2,1,0,1,
- 1,4,4,4,8,8,3,3,4,4,
- 3,3,2,2,7,7,7,7,4,4,
- 5,6,3,2,2,1,1,1,2,2,
- 2,2,2,2,2,2,2,4,7,9,
- 3,0,1,2,2,1,2,3,4,1,
- 0,3,1,0,3,5,1,4,1,3,
- 3,1,3,3,3,1,3,3,1,3,
- 3,1,3,3,3,3,1,3,3,1,
- 3,1,3,1,3,1,3,1,3,1,
- 5,1,2,1,1,3,3,3,3,3,
- 3,3,3,3,3,3,1,2,1,3,
- 1,0,1,0,1,1,0,1,1,1,
- 1,1,1,1,1,1,3,4,3,2,
- 1,4,2,1,2,5,7,5,1,4,
- 1,0,5,7,8,1,1,2,2,3,
- 2,3,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,2,1,
- 0,4,4,2,2,2,2,2,1,0,
- 1,1,1,1,1,1,2,1,2,2,
- 2,1,1,2,2,1,2,2,1,2,
- 2,1,2,2,1,1,1,1,1,1,
+ 1,1,1,3,1,1,1,1,1,1,
+ 1,1,2,2,1,1,0,1,0,4,
+ 2,3,2,3,2,2,1,0,1,1,
+ 4,4,4,8,8,3,3,4,4,3,
+ 3,2,2,7,7,7,7,4,4,5,
+ 6,3,2,2,1,1,1,2,2,2,
+ 2,2,2,2,2,2,4,7,9,3,
+ 0,1,2,2,1,2,3,4,1,0,
+ 3,1,0,3,5,1,4,1,3,3,
+ 1,3,3,3,1,3,3,1,3,3,
+ 1,3,3,3,3,1,3,3,1,3,
+ 1,3,1,3,1,3,1,3,1,5,
+ 1,2,1,1,3,3,3,3,3,3,
+ 3,3,3,3,3,1,2,1,3,1,
+ 0,1,0,1,1,0,1,1,1,1,
+ 1,1,1,1,1,3,4,3,2,1,
+ 4,2,1,2,5,7,5,1,4,1,
+ 0,5,7,8,1,1,2,2,3,2,
+ 3,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,2,1,0,
+ 4,4,2,2,2,2,2,1,0,1,
+ 1,1,1,1,1,2,1,2,2,2,
+ 1,1,2,2,1,2,2,1,2,2,
+ 1,2,2,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,3,4,4,5,2,
- 5,6,5,0,6,7,0,1,3,1,
- 0,1,3,1,1,1,6,5,7,6,
- 1,0,6,6,4,1,3,1,0,1,
- 1,2,1,1,3,1,3,1,1,1,
- 1,3,9,2,2,3,2,4,2,6,
- 0,1,2,2,1,0,1,1,1,3,
- 1,2,1,1,2,3,1,1,1,3,
- 2,1,2,2,9,8,2,1,3,1,
- 3,1,0,1,0,2,1,1,3,1,
- 3,2,1,5,8,1,2,3,1,7,
- 6,3,0,0,1,3,1,1,5,6,
- 6,7,7,0,0,1,0,1,1,1,
- 2,4,2,2,1,5,1,1,1,1,
- 1,1,1,2,1,0,1,3,1,1,
- 2,3,2,1,2,2,1,0,1,3,
- 3,5,5,4,1,1,1,1,0,1,
- 5,2,2,1,2,2,1,0,1,3,
- 4,3,1,1,5,2,1,1,3,3,
+ 1,1,1,1,3,4,4,5,2,5,
+ 6,5,0,6,7,0,1,3,1,0,
+ 1,3,1,1,1,6,5,7,6,1,
+ 0,6,6,4,1,3,1,0,1,1,
+ 2,1,1,3,1,3,1,1,1,1,
+ 3,9,2,2,3,2,4,2,6,0,
+ 1,2,2,1,0,1,1,1,3,1,
+ 2,1,1,2,3,1,1,1,3,2,
+ 1,2,2,9,8,2,1,3,1,3,
+ 1,0,1,0,2,1,1,3,1,3,
+ 2,1,5,8,1,2,3,1,7,6,
+ 3,0,0,1,3,1,1,5,6,6,
+ 7,7,0,0,1,0,1,1,1,2,
+ 4,2,2,1,5,1,1,1,1,1,
+ 1,1,2,1,0,1,3,1,1,2,
+ 3,2,1,2,2,1,0,1,3,3,
+ 5,5,4,1,1,1,1,0,1,5,
+ 2,2,1,2,2,1,0,1,3,4,
+ 3,1,1,5,2,1,1,3,3,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,2,2,7,1,
- 0,1,3,1,1,2,4,2,4,7,
- 9,5,1,3,1,0,1,1,2,4,
- 4,1,2,5,5,3,3,1,4,3,
- 1,0,1,3,1,1,1,1,2,6,
- 3,1,3,1,4,0,1,1,1,3,
- 1,0,4,3,1,2,1,3,4,4,
- 6,1,0,1,3,1,3,0,1,4,
- 5,1,1,2,2,3,2,2,3,1,
- 1,1,1,4,1,-271,0,0,0,-4,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-2,0,
- 0,0,0,0,0,-7,0,0,0,0,
- 0,0,-20,0,0,0,0,-57,0,-9,
- 0,0,-124,0,0,0,-14,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-81,0,-16,-36,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-569,0,-17,-66,0,0,0,
- 0,0,-172,0,0,-285,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-18,
- 0,0,0,0,0,0,-332,0,-211,-27,
- 0,0,0,-3,0,-45,-277,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,-34,0,0,0,0,0,0,-116,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-122,0,0,0,0,0,0,
- 0,0,0,0,0,-35,0,0,0,-171,
- 0,-530,0,0,0,-117,0,0,0,-278,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,-151,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,-62,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-38,0,0,-89,
- 0,0,0,0,0,0,0,0,-30,-263,
- -44,0,0,0,0,0,-33,0,0,0,
- 0,0,0,0,0,0,0,-40,0,0,
- -41,0,0,-42,-135,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-46,0,
- 0,-82,0,0,-52,0,0,0,0,0,
- 0,0,0,0,0,0,-350,-364,0,0,
- 0,0,0,0,0,0,-353,0,0,-120,
- 0,0,0,0,0,0,-247,0,0,-67,
- 0,-313,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-209,0,0,0,0,
- 0,-113,0,0,0,0,0,0,-243,0,
- 0,0,0,-28,0,0,0,0,0,0,
- 0,0,-576,-376,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-63,
- -317,0,0,0,0,0,-64,0,0,-68,
- -420,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-73,0,0,
- -77,0,0,0,0,0,0,0,0,0,
- 0,0,-84,0,0,0,0,0,-514,0,
- 0,0,-251,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,-37,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-108,
- 0,0,0,0,0,0,-129,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-98,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-85,0,0,0,0,0,0,
- 0,0,0,0,-245,0,0,0,-86,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,-72,0,0,0,0,0,0,0,0,
- 0,-50,0,0,0,0,0,-146,-161,0,
- 0,-450,0,0,-378,0,0,0,0,0,
- 0,0,0,0,0,0,0,-220,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,-87,0,0,0,0,-252,0,0,
- 0,0,0,0,-69,0,0,0,-10,0,
- 0,-78,0,0,-326,0,0,0,-417,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-159,0,0,
- -53,0,0,0,0,0,0,0,0,0,
- 0,-121,0,0,0,0,-104,-344,-83,0,
- 0,-423,0,0,0,0,0,0,0,0,
+ 1,1,1,1,1,2,2,7,1,0,
+ 1,3,1,1,2,4,2,4,7,9,
+ 5,1,3,1,0,1,1,2,4,4,
+ 1,2,5,5,3,3,1,4,3,1,
+ 0,1,3,1,1,1,1,2,6,3,
+ 1,3,1,4,0,1,1,1,3,1,
+ 0,4,3,1,2,1,3,4,4,6,
+ 1,0,1,3,1,3,0,1,4,5,
+ 2,4,2,4,1,1,2,2,3,2,
+ 2,3,1,1,1,1,4,1,-273,0,
+ 0,0,-20,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ -348,0,0,0,0,0,0,-45,0,0,
+ 0,0,0,-69,0,0,0,0,0,0,
+ -10,0,0,0,0,-124,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-81,0,0,
+ -56,0,-2,0,0,0,0,0,0,0,
+ -143,0,0,0,0,0,-3,0,-238,0,
+ 0,0,0,0,0,0,0,0,-289,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-99,0,0,0,0,0,0,0,
- 0,0,0,-43,0,0,0,0,0,0,
- 0,-101,0,-424,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-240,0,0,0,
- 0,0,0,-222,0,0,0,0,0,0,
- 0,0,0,0,-118,0,0,0,0,0,
- -430,0,0,0,-70,0,0,0,0,0,
+ 0,0,-155,-7,0,0,0,0,0,-9,
+ -28,0,0,-368,0,0,-4,0,-14,-382,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-207,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-260,0,0,
- 0,-253,0,0,0,0,0,-204,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,-116,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-143,-370,0,0,0,0,0,0,0,
- 0,0,0,0,-261,0,0,0,0,0,
- 0,0,0,0,-300,0,0,0,-102,0,
+ 0,0,0,0,0,-122,0,0,-16,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-449,0,0,
- 0,-105,0,0,0,0,0,0,0,0,
- 0,-482,0,0,0,-111,0,-150,-100,0,
- 0,-301,0,0,0,0,0,0,0,0,
+ 0,0,-171,0,0,0,0,0,-89,0,
+ -281,0,0,0,-17,0,0,0,0,0,
+ 0,0,0,0,0,-134,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-496,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-128,0,
- 0,0,0,0,-153,-273,0,0,-302,0,
- 0,0,-158,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,-501,0,0,0,0,0,0,-160,0,
- 0,0,0,0,0,-173,0,0,0,-502,
- 0,0,0,0,0,-303,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-528,0,
- 0,0,-441,0,0,-175,0,0,0,0,
- 0,0,-374,0,0,0,0,-400,-512,-176,
- 0,0,-304,0,0,0,-564,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-177,0,-12,-148,0,
- 0,0,0,0,0,0,0,0,0,-13,
- 0,0,0,-178,0,-106,-155,0,0,-305,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,-456,0,-55,0,0,0,0,0,
- 0,0,0,0,0,0,-58,0,0,0,
- 0,0,0,-462,0,0,-306,0,0,0,
- -565,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-60,
- 0,0,0,0,0,0,-137,0,0,0,
- 0,0,0,-65,0,0,0,0,-412,0,
- -238,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,-79,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- -80,0,0,0,0,-416,0,0,0,0,
- -308,0,0,0,-179,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-90,0,0,0,
- 0,0,0,0,0,0,0,-91,0,0,
- 0,0,-138,-181,-193,0,0,-309,0,0,
- 0,-194,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- -94,0,-195,-96,0,0,0,0,0,0,
- 0,0,0,0,-97,0,0,0,-152,0,
- -196,-197,0,0,-310,0,0,0,-198,0,
+ 0,0,0,0,0,0,0,0,0,-18,
+ -335,-68,0,0,0,0,0,0,0,0,
+ -49,0,0,0,0,0,-37,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-114,0,-199,
- -133,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-51,-154,-219,-200,0,
- 0,-419,0,0,0,-201,0,0,0,0,
+ 0,-501,0,0,0,-159,0,0,0,-33,
+ 0,0,0,0,-148,0,0,0,0,0,
+ -12,0,-57,0,0,0,-135,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-166,0,0,0,0,0,
- 0,-147,0,0,0,0,0,0,-168,0,
- 0,0,0,-202,-534,-203,0,0,-461,0,
- 0,0,-205,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-236,0,0,0,-149,0,0,-157,0,
- 0,0,0,0,0,-515,0,0,0,-230,
- -206,-513,-242,0,0,-567,0,0,0,-208,
+ -13,-59,0,0,0,0,0,0,0,0,
+ 0,-521,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ -357,0,0,0,0,0,0,0,0,0,
+ -317,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -180,0,0,0,0,0,0,0,0,0,
- 0,0,-170,0,0,0,0,-169,0,0,
- 0,0,-342,0,0,0,-212,0,0,0,
+ 0,0,0,0,-72,-30,-131,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-318,0,0,0,0,
- 0,0,-214,0,0,0,0,0,0,0,
- 0,0,0,-352,0,0,0,0,0,0,
+ 0,-239,0,0,-354,0,0,-27,0,0,
+ 0,0,0,0,-34,-423,-140,0,-213,0,
+ 0,-35,0,0,-99,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-66,0,0,
+ -426,0,0,0,-38,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-498,0,0,
- -216,0,0,-215,0,0,0,0,0,0,
- 0,0,0,0,-139,0,0,0,-225,0,
- 0,0,0,0,0,-56,-403,0,0,0,
+ 0,0,0,0,-275,0,0,-40,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-70,0,0,0,-520,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-227,0,0,0,
- 0,0,0,-244,0,0,0,-433,0,0,
0,0,0,0,0,0,0,0,0,0,
+ -36,0,0,0,0,-41,0,0,0,0,
+ 0,0,0,-42,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-129,0,0,0,
+ -46,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -221,-228,0,0,0,0,0,-348,0,0,
- 0,0,0,0,-231,0,0,0,-340,0,
- 0,0,-233,-234,0,0,0,0,0,-59,
- -434,0,0,0,0,0,0,0,0,0,
+ -55,-447,0,-52,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-247,0,0,0,-63,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-235,0,0,
- 0,-561,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-98,
+ 0,0,0,0,0,0,0,0,0,-120,
+ 0,0,0,0,0,0,0,-67,-64,0,
+ 0,-172,0,0,-282,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-222,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-486,0,0,0,-241,0,
- 0,-246,0,0,0,0,0,0,-119,0,
- 0,0,-31,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-280,-548,0,0,
- 0,0,-109,-239,-256,0,0,0,0,0,
- -257,-248,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-440,0,0,0,0,
- 0,-276,-255,0,-226,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-274,-269,
- 0,0,0,0,-583,0,0,0,-320,0,
- 0,0,0,0,0,0,0,-327,0,-249,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,-288,0,0,0,-337,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-250,-123,
- 0,0,0,0,0,0,0,-452,-315,0,
- 0,-103,0,-328,-322,0,0,-559,0,0,
- 0,0,0,0,0,0,0,-335,0,0,
- 0,-88,0,0,0,-312,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-336,0,
- -237,0,0,0,0,-460,0,0,0,0,
- 0,0,0,0,-110,-299,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-343,0,0,0,0,
- 0,0,-297,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-49,0,-259,-15,
- 0,0,0,0,0,0,0,0,-426,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,-345,-126,0,0,0,0,0,0,-547,
- 0,-360,0,0,0,0,0,-361,-362,-495,
- 0,0,-54,0,0,0,0,0,0,0,
- 0,0,0,0,-544,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-321,-372,-270,0,0,0,
- 0,0,0,0,-324,0,-29,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,-19,0,0,0,-341,0,0,-563,
- -5,0,0,0,0,0,-268,0,-140,-574,
- 0,-380,0,0,0,0,0,0,0,0,
- -363,0,0,-349,0,0,0,0,0,0,
- 0,0,-421,0,0,0,-254,0,0,0,
- -314,0,-323,0,0,-422,0,-566,0,0,
0,0,0,0,0,0,0,0,0,0,
- -325,0,-367,0,0,0,0,0,0,0,
- 0,0,-130,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-334,-368,
+ 0,0,-43,0,0,0,0,0,0,0,
+ 0,0,-73,0,0,0,0,0,-61,0,
+ 0,0,0,0,-330,0,0,0,-570,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-369,0,0,0,0,0,0,0,
- 0,0,0,-338,0,-351,0,0,-551,0,
- 0,0,0,0,0,-584,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -381,0,0,0,0,0,0,0,0,0,
- 0,0,-382,0,0,-383,-339,0,0,0,
- 0,0,0,-298,0,0,0,0,0,0,
+ -77,0,0,-571,0,0,0,0,0,0,
+ 0,0,0,0,0,-113,-84,0,0,0,
+ 0,-429,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-58,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-85,0,0,0,
+ 0,0,0,0,-86,-44,0,0,0,0,
+ 0,-139,0,0,0,0,0,0,0,0,
+ 0,0,0,-430,0,0,0,-161,0,0,
0,0,0,0,0,0,0,0,0,0,
- -384,0,0,-520,0,0,0,0,-357,-385,
- 0,0,0,-355,0,0,0,-294,0,0,
- 0,-386,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-121,0,-374,0,0,
+ 0,0,0,0,0,0,0,0,-87,0,
+ 0,0,0,0,-127,0,0,0,0,0,
+ -436,0,0,0,-224,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -167,-387,-555,0,0,0,0,-388,0,0,
- 0,-347,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-389,-358,
- 0,-21,-359,-365,0,0,0,0,0,0,
- -432,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-375,0,0,0,0,0,
- -390,-391,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-379,-392,-484,-418,
- -477,0,0,0,0,-405,-232,0,0,0,
+ 0,0,0,0,-456,0,0,0,0,-262,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-414,0,0,0,0,
- 0,-437,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-443,0,-455,
- 0,0,0,0,-457,0,0,0,0,-415,
- -141,-164,-393,-394,0,0,0,0,0,0,
- 0,-476,-224,0,0,0,0,0,-478,0,
- 0,0,0,0,0,0,0,0,0,-431,
+ 0,-101,0,0,0,0,0,-206,0,0,
0,0,0,0,0,0,0,0,0,0,
- -473,0,0,0,-474,0,0,0,0,-295,
+ 0,0,0,0,0,0,0,0,0,-50,
+ 0,-108,0,0,0,0,-102,0,0,0,
+ 0,0,-105,0,0,0,0,0,-111,0,
+ -418,0,0,0,-304,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-118,0,
+ 0,0,0,0,0,0,0,0,0,-150,
+ 0,0,0,0,0,-156,0,0,0,0,
+ 0,-305,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-395,-485,-562,-396,0,0,0,
- 0,0,-487,0,-509,-397,0,0,0,-488,
- 0,0,0,-296,0,0,0,0,0,0,
+ 0,0,0,-78,0,-209,0,0,0,0,
+ -153,0,0,0,0,0,0,0,0,0,
+ 0,0,-158,0,0,0,0,0,-306,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-316,-398,0,0,
- 0,0,0,-218,0,0,-6,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -521,0,0,0,0,-497,-505,0,0,0,
- 0,-529,-507,0,-511,0,-399,-539,-554,0,
- 0,0,0,0,0,0,-402,0,0,0,
- 0,0,0,0,0,0,0,-174,0,-404,
+ -212,0,-255,0,0,0,0,-160,0,0,
+ 0,0,0,-173,0,0,0,0,0,-183,
+ 0,0,0,0,0,-307,0,0,0,-519,
0,0,0,0,0,0,0,0,0,0,
- -406,0,0,0,0,0,0,0,-329,0,
+ 0,0,0,0,0,0,0,0,0,-242,
+ 0,0,-82,0,-175,0,0,0,0,0,
+ 0,0,0,0,0,0,-176,0,0,0,
+ 0,0,-308,0,0,0,-249,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-32,0,0,0,0,0,0,0,0,
- 0,0,0,0,-289,0,0,0,0,0,
+ 0,0,0,0,-83,0,-455,0,0,0,
+ 0,-137,0,0,0,0,0,-177,0,0,
+ 0,0,0,-269,0,0,0,0,0,-309,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-407,-517,0,
- 0,0,0,0,-408,0,-409,0,0,0,
- -522,0,0,-572,0,-401,-523,0,0,0,
- 0,0,0,-524,0,0,0,0,0,0,
- -525,0,-543,-373,0,0,0,0,0,0,
- 0,-413,-411,0,0,0,0,0,0,0,
- 0,-537,0,0,-438,0,0,0,0,0,
- 0,-575,0,0,-439,0,0,0,0,0,
- 0,0,0,0,-578,0,-445,0,0,0,
- -446,0,0,0,0,0,-210,-447,0,0,
- 0,0,0,0,0,0,0,-290,0,0,
- 0,-448,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -39,0,0,0,-538,0,0,-463,0,-291,
+ 0,0,0,-502,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ -178,0,0,0,0,0,-310,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-410,0,0,-570,0,0,0,-435,
- 0,0,-464,0,-466,-471,-475,-23,0,0,
- -552,0,0,0,-479,0,-459,0,0,0,
- -493,-581,-556,0,0,0,0,-494,0,0,
- -500,0,0,0,0,0,0,-465,0,0,
- -510,0,-516,0,0,0,0,0,0,0,
- 0,0,0,-557,0,-571,-531,0,-535,0,
- 0,0,-536,0,0,0,-541,0,0,0,
- 0,0,0,0,0,-549,-550,-558,0,-568,
- 0,0,-467,0,0,0,0,-573,0,0,
- 0,0,0,0,0,0,0,-25,0,0,
- 0,0,0,0,0,0,-553,0,0,0,
+ 0,0,0,0,0,0,0,0,-450,0,
+ 0,-462,0,-179,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-422,0,-181,
+ 0,0,0,-311,0,0,0,-263,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-504,-279,0,
+ 0,0,0,0,0,-100,0,-507,0,0,
+ 0,0,-195,0,0,0,0,0,-196,0,
+ 0,0,0,0,-465,0,0,0,0,0,
+ -312,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-577,0,-580,0,0,0,0,
+ 0,0,-53,0,-97,0,0,-197,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-582,0,0,0,
- 0,0,-540,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-481,0,0,0,
+ 0,0,0,0,0,0,0,-313,0,0,
+ 0,-540,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-198,
+ 0,-508,0,0,0,0,-199,0,0,0,
+ 0,0,-200,0,0,0,0,0,-457,0,
+ 0,0,0,0,-314,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-106,0,-180,0,
+ 0,-138,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-201,-202,0,0,0,
+ 0,-425,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-542,-319,0,
+ 0,0,0,-152,0,-534,0,0,0,0,
+ -203,0,0,0,0,0,0,0,0,0,
+ 0,0,-62,0,0,0,0,0,-467,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,-204,-60,-580,-217,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-54,
+ 0,0,0,0,0,-573,0,0,0,-276,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-205,0,-557,
+ 0,0,-245,0,-207,0,0,0,0,0,
+ 0,0,0,0,0,0,-240,-208,0,0,
+ 0,0,-346,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-546,-526,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-503,0,
+ 0,0,0,0,0,0,-322,0,0,0,
+ 0,0,0,0,0,0,0,-151,0,0,
+ 0,0,0,-356,0,0,0,-569,0,0,
0,0,0,0,0,0,0,0,0,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,-579,-527,0,
+ 0,0,0,0,-344,0,0,0,-210,-154,
+ 0,0,0,0,0,0,-409,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-444,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ -214,-79,-256,0,0,0,0,0,0,0,
+ 0,-216,0,0,0,0,0,-439,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-585,-331,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-264,0,
+ 0,0,0,0,0,0,0,0,0,-123,
+ 0,-468,-80,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-492,0,
+ 0,0,0,0,0,0,0,-218,-221,-227,
+ -440,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,-90,0,-146,-229,0,0,0,0,
+ 0,0,0,0,0,-230,0,0,0,0,
+ 0,-567,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-321,0,0,0,0,
+ 0,0,0,0,0,0,-241,0,0,0,
+ 0,0,-31,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-523,
+ 0,0,0,-220,-233,-147,0,0,0,0,
+ -235,-250,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-236,-446,0,0,0,
+ 0,0,-117,0,0,0,0,0,0,0,
+ 0,0,0,0,-232,0,0,0,0,0,
+ 0,0,0,0,-589,0,0,0,-237,0,
+ 0,0,0,0,0,0,0,-149,0,0,
+ 0,0,0,0,-490,0,0,0,0,0,
+ 0,0,-292,0,0,0,-243,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-258,0,-104,-126,
+ 0,0,0,0,0,0,0,-384,0,0,
+ 0,-553,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-169,
+ 0,0,0,0,0,-316,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-259,0,-88,
+ 0,0,0,0,-280,0,0,0,0,0,
+ -91,0,0,0,0,-303,0,0,0,-324,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-103,0,-119,
+ 0,0,0,0,-157,0,0,0,0,0,
+ -331,0,0,-301,0,0,0,-253,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-211,0,0,
+ 0,0,-109,0,0,0,0,0,0,0,
+ -432,0,0,0,-318,0,0,0,0,0,
+ 0,0,0,0,-167,-244,0,0,0,0,
+ -332,0,-339,-340,0,0,0,0,0,-257,
+ -347,-94,0,-261,0,0,0,0,0,0,
+ 0,0,0,-349,0,-246,-550,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-536,0,0,0,-226,-590,0,
+ 0,0,0,0,0,-364,0,-29,0,0,
+ 0,-39,0,0,0,0,-128,0,0,0,
+ 0,0,0,0,0,-248,0,0,-365,0,
+ 0,0,0,0,-582,0,0,0,-366,0,
+ 0,0,-5,0,0,0,0,0,0,-96,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,-406,-254,-114,-352,0,-378,0,-367,0,
+ 0,0,0,0,-302,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-371,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-32,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-133,0,0,0,0,-372,
+ -132,-166,0,0,0,0,0,0,-271,-130,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,-373,-387,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-388,-389,0,0,
+ 0,0,0,-168,0,0,0,0,-390,0,
+ 0,0,0,0,0,-391,0,-170,0,0,
+ 0,0,0,0,0,-298,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-223,0,-392,
+ -19,0,0,0,-21,0,0,0,0,-351,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,-325,-393,0,0,0,0,0,0,
+ 0,0,-228,0,0,0,0,-558,0,0,
+ 0,0,0,0,-394,-395,-396,-184,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,-251,0,0,0,0,-376,0,0,
+ -438,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ -350,-353,-272,0,0,0,0,0,-397,-443,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-398,0,0,0,0,0,0,
+ 0,0,-458,0,0,0,0,0,0,0,
+ 0,0,0,-328,0,0,-466,-399,-400,-401,
+ 0,0,-234,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-341,0,-284,0,0,
+ 0,0,-504,0,0,-299,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-342,0,0,
+ 0,0,0,0,0,0,0,0,-15,0,
+ 0,0,0,0,0,-402,0,0,0,0,
+ -23,0,0,0,-403,-404,0,-252,0,0,
+ 0,0,0,0,0,0,-319,-326,-488,0,
+ 0,0,-405,0,0,0,0,0,0,0,
+ -408,0,0,0,0,-300,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-320,0,0,
+ -25,0,-410,0,-442,0,0,0,-412,-327,
+ -329,0,-441,0,0,-559,0,0,0,0,
+ -413,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-338,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-419,-361,0,
+ -491,0,0,-414,0,0,0,-355,-483,0,
+ 0,0,0,0,0,0,0,0,0,-333,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-464,0,0,0,
+ 0,0,-427,-415,-293,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-345,0,-386,-554,
+ -568,-417,0,0,0,0,-343,0,0,0,
+ 0,0,0,0,0,0,0,-407,-444,0,
+ -486,0,-162,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-377,-51,0,
+ 0,0,-445,0,0,0,0,0,0,0,
+ 0,0,0,-518,-451,-452,0,-359,0,0,
+ 0,0,0,-453,0,-454,0,0,0,0,
+ 0,0,0,0,0,0,-461,0,0,0,
+ 0,0,0,0,0,0,0,0,-469,0,
+ 0,0,0,0,0,0,0,0,0,-294,
+ 0,0,0,-470,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,-472,0,-47,0,0,0,0,-477,0,
+ 0,-295,0,0,0,-411,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-416,0,-362,-22,0,-420,0,
+ -363,0,0,-482,0,-336,-481,0,-487,0,
+ -369,0,0,0,-379,0,-485,0,-428,0,
+ 0,0,0,0,0,-499,-500,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,-506,0,0,0,0,0,0,0,0,
+ 0,0,-24,-471,-565,0,-71,0,-380,-421,
+ 0,0,0,-381,0,0,0,-516,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-522,-385,-537,0,0,0,
+ -424,0,0,-437,0,-479,0,0,0,-541,
+ 0,-542,0,0,0,0,0,0,0,0,
+ 0,0,-547,-473,0,0,-136,0,-480,0,
+ 0,0,0,0,0,0,0,-555,0,0,
+ 0,0,0,0,0,0,-556,0,-526,0,
+ 0,0,0,0,-564,-449,0,0,0,-463,
+ -265,-561,0,-549,0,-494,0,0,0,0,
+ 0,-574,0,-579,0,0,0,0,0,0,
+ 0,0,0,-510,0,0,-260,0,0,-484,
0,0,0,0,0,0,0,0,0,0,
- -1,0,0,0,0,0,0,-22,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-560,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-503,0,0,0,0,
+ -266,0,0,0,0,0,0,0,0,-493,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-546,0,0,-334,0,-511,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-506,0,0,0,0,0,0,
+ 0,0,0,0,0,-513,0,0,0,-517,
+ -578,-515,0,0,0,0,0,0,0,-527,
+ 0,0,-576,0,0,0,0,0,0,0,
+ 0,0,0,-548,0,0,-505,0,0,0,
+ 0,0,0,-535,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-165,
- 0,0,0,-74,0,0,0,0,0,0,
+ 0,0,0,0,0,-528,0,-545,0,-529,
+ -530,0,0,0,-531,-543,0,0,0,-560,
+ 0,0,-587,0,0,0,0,0,0,0,
+ 0,0,-110,-552,0,0,-231,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-544,-562,0,-563,0,-270,
+ -577,-581,0,0,0,0,0,0,0,-1,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-584,0,0,
+ 0,0,0,-283,0,0,0,0,0,0,
+ 0,0,0,0,0,-572,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,-48,0,0,0,-267,0,0,0,
+ 0,0,0,0,0,-76,0,0,0,0,
+ 0,0,0,0,0,0,-583,0,0,0,
+ 0,0,0,0,0,0,0,-585,-509,0,
+ 0,0,0,0,-586,0,0,0,0,-588,
+ 0,0,0,0,0,0,0,-268,0,0,
+ 0,0,0,-476,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -311,0,-470,0,0,0,0,0,0,-125,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-323,-591,0,0,
+ 0,0,0,-164,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-532,-533,-434,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-315,0,
+ 0,0,0,-174,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-74,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,-495,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-125,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-292,
+ 0,0,0,0,0,0,-496,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-293,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-95,0,0,0,0,0,0,-75,
+ 0,0,0,0,0,0,0,-296,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-427,0,0,
- 0,0,0,0,0,0,0,0,0,-265,
- 0,0,0,0,-142,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,-566,0,0,0,0,0,-297,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-47,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ -95,0,0,0,0,0,0,0,0,-75,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-144,0,
- 0,0,0,0,-131,0,0,0,0,0,
- 0,0,0,0,0,-346,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-514,0,
+ 0,0,0,0,0,0,0,-575,0,-141,
+ 0,0,-142,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-497,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-127,0,0,0,0,-223,0,0,
+ 0,0,0,0,0,-112,0,0,0,0,
+ 0,0,0,-144,0,-165,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,-435,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-115,0,0,0,
+ 0,0,-225,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-283,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-284,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-26,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-287,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-286,0,
+ 0,0,-288,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-26,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-156,0,0,0,0,0,-287,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-8,0,0,0,0,-489,-436,
- 0,0,0,0,0,0,0,0,0,-11,
- 0,0,-480,0,0,-490,0,0,0,0,
+ 0,0,0,-290,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-498,0,
+ 0,0,0,-291,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-8,0,
+ 0,0,0,0,-538,-551,0,0,0,0,
+ 0,0,0,0,0,-11,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -491,0,0,0,0,0,0,0,0,0,
- 0,0,-92,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-93,0,
- 0,0,0,0,-132,0,0,0,0,-266,
+ 0,0,0,0,0,0,0,-92,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-93,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-492,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-185,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-186,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-187,0,0,0,0,
+ 0,0,0,0,0,0,0,-187,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-188,0,0,
+ 0,0,0,0,0,0,0,0,0,-188,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-189,
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,-190,0,0,0,0,0,0,0,0,
+ 0,0,0,-190,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-191,0,0,0,0,0,0,
+ 0,0,0,0,0,-191,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-192,0,0,0,0,
+ 0,0,0,0,0,0,0,-192,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-217,0,0,
+ 0,0,0,0,0,0,0,0,0,-193,
0,0,0,0,0,0,0,0,0,0,
- -532,-545,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-272,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,-194,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-219,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-281,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-282,0,0,0,0,0,
+ 0,-274,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-333,0,0,0,
- 0,-162,0,0,0,0,0,0,0,0,
- 0,0,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,-285,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-24,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,-286,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-337,0,0,0,0,-512,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-453,
+ 0,-370,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-184,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-107,0,0,0,0,0,0,-163,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-428,0,0,0,0,0,0,
- -356,0,0,0,0,0,0,-425,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-459,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-48,0,
+ 0,0,0,0,0,0,0,0,-185,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-354,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,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-429,-508,
+ -107,0,0,0,0,0,0,-6,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-71,0,0,0,0,
+ 0,-163,0,-360,0,0,0,0,0,0,
+ 0,0,0,-460,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-136,0,0,0,0,0,0,0,0,
- 0,-258,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-431,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-592,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -454,0,0,0,0,-586,0,-330,0,0,
- 0,0,0,0,0,0,0,-499,0,0,
- 0,0,0,0,0,-182,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-358,0,0,
+ 0,0,0,0,-539,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-533,0,0,0,0,0,0,
- 0,0,0,-229,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-145,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,-112,0,0,0,
- -115,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-145,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-213,0,
+ 0,0,0,-215,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-375,0,0,0,0,
+ 0,0,0,0,0,-383,0,0,0,-448,
0,0,0,0,0,0,0,0,0,0,
- -371,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-489,0,0,0,-524,
+ 0,0,0,0,0,-433,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-377,0,0,0,0,0,0,0,0,
- 0,0,0,-442,0,0,0,-483,0,0,
0,0,0,0,0,0,0,0,0,0,
- -518,0,0,0,-519,0,0,0,0,0,
- 0,0,0,-183,0,0,0,0,0,0,
- 0,-262,0,0,0,0,0,0,0,0,
- 0,0,0,-275,0,0,0,0,0,0,
+ 0,0,0,0,-182,-264,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-468,
+ -525,0,0,0,0,0,0,0,-277,0,
+ 0,0,0,0,0,0,0,0,-278,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-267,0,0,0,0,-451,0,
- 0,0,0,0,0,0,0,0,-458,0,
- 0,0,0,0,-469,0,0,-472,0,0,
+ 0,0,0,0,0,-279,0,0,0,0,
+ 0,0,-474,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-475,0,
+ 0,0,0,0,0,-478,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
@@ -629,7 +625,7 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0
+ 0,0,0,0,0,0,0
};
};
public final static short baseCheck[] = BaseCheck.baseCheck;
@@ -639,651 +635,647 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym
public interface BaseAction {
public final static char baseAction[] = {
- 186,4,146,89,89,30,30,74,74,43,
- 43,47,47,186,1,1,15,15,15,15,
- 15,15,15,15,16,16,16,14,11,11,
- 6,6,6,6,6,6,2,72,72,5,
- 5,12,12,49,49,147,147,148,68,68,
- 48,17,17,17,17,17,17,17,17,17,
+ 186,4,146,89,89,29,29,74,74,44,
+ 44,47,47,186,1,1,15,15,15,15,
+ 15,15,15,16,16,16,14,11,11,6,
+ 6,6,6,6,6,2,72,72,5,5,
+ 12,12,50,50,147,147,148,68,68,49,
+ 17,17,17,17,17,17,17,17,17,17,
17,17,17,17,17,17,17,17,17,17,
- 17,149,149,149,125,125,18,18,18,18,
- 18,18,18,18,18,18,18,18,18,19,
- 19,187,187,188,188,189,152,152,153,153,
- 150,150,154,151,151,20,20,21,21,22,
- 22,22,28,28,28,28,29,29,29,31,
- 31,31,32,32,32,32,32,33,33,33,
- 34,34,35,35,36,36,38,38,39,39,
- 40,40,46,46,45,45,45,45,45,45,
- 45,45,45,45,45,45,45,44,37,155,
- 155,103,103,190,190,98,217,217,75,75,
- 75,75,75,75,75,75,75,76,76,76,
- 73,73,67,67,191,191,77,77,77,110,
- 110,192,192,78,78,78,193,193,79,79,
- 79,79,79,80,80,90,90,90,90,90,
- 90,90,90,54,54,54,54,54,111,111,
- 109,109,55,194,23,23,23,23,23,53,
- 53,93,93,93,93,93,162,162,157,157,
- 157,157,157,158,158,158,159,159,159,160,
- 160,160,161,161,161,94,94,94,94,94,
- 95,95,95,13,13,13,13,13,13,13,
- 13,13,13,13,104,129,129,129,129,129,
- 129,127,127,127,163,128,128,195,165,165,
- 164,164,131,131,112,84,84,85,86,57,
- 52,166,166,58,92,92,167,167,156,156,
- 132,133,133,134,70,70,168,168,63,63,
- 63,60,60,59,64,64,87,87,69,69,
- 69,65,96,96,106,105,105,71,71,61,
- 61,66,66,50,107,107,107,99,99,99,
- 100,100,101,101,101,102,102,113,113,113,
- 115,115,114,114,218,218,97,97,197,197,
- 197,197,197,136,51,51,170,196,196,137,
- 137,137,137,138,172,198,198,41,41,126,
- 139,139,139,139,200,117,116,116,130,130,
- 130,173,174,174,174,174,174,174,174,174,
- 174,174,174,202,202,199,199,201,201,119,
- 120,120,120,120,121,203,122,118,118,204,
- 204,175,175,175,175,108,108,108,205,205,
- 8,8,9,206,206,207,176,169,169,177,
- 177,178,179,179,7,7,10,208,208,208,
+ 149,149,149,125,125,18,18,18,18,18,
+ 18,18,18,18,18,18,18,18,19,19,
+ 187,187,188,188,189,152,152,153,153,150,
+ 150,154,151,151,20,20,21,21,23,23,
+ 23,28,28,28,28,30,30,30,31,31,
+ 31,32,32,32,32,32,33,33,33,34,
+ 34,36,36,37,37,38,38,39,39,40,
+ 40,46,46,45,45,45,45,45,45,45,
+ 45,45,45,45,45,45,43,35,155,155,
+ 103,103,190,190,98,217,217,75,75,75,
+ 75,75,75,75,75,75,76,76,76,73,
+ 73,67,67,191,191,77,77,77,110,110,
+ 192,192,78,78,78,193,193,79,79,79,
+ 79,79,80,80,90,90,90,90,90,90,
+ 90,90,54,54,54,54,54,111,111,109,
+ 109,55,194,22,22,22,22,22,53,53,
+ 93,93,93,93,93,162,162,157,157,157,
+ 157,157,158,158,158,159,159,159,160,160,
+ 160,161,161,161,94,94,94,94,94,95,
+ 95,95,13,13,13,13,13,13,13,13,
+ 13,13,13,104,129,129,129,129,129,129,
+ 127,127,127,163,128,128,195,165,165,164,
+ 164,131,131,112,84,84,85,86,57,52,
+ 166,166,58,92,92,167,167,156,156,132,
+ 133,133,134,70,70,168,168,64,64,64,
+ 60,60,59,65,65,87,87,69,69,69,
+ 66,96,96,106,105,105,71,71,61,61,
+ 63,63,48,107,107,107,99,99,99,100,
+ 100,101,101,101,102,102,113,113,113,115,
+ 115,114,114,218,218,97,97,197,197,197,
+ 197,197,136,51,51,170,196,196,137,137,
+ 137,137,138,172,198,198,41,41,126,139,
+ 139,139,139,200,117,116,116,130,130,130,
+ 173,174,174,174,174,174,174,174,174,174,
+ 174,174,202,202,199,199,201,201,119,120,
+ 120,120,120,121,203,122,118,118,204,204,
+ 175,175,175,175,108,108,108,205,205,8,
+ 8,9,206,206,207,176,169,169,177,177,
+ 178,179,179,7,7,10,208,208,208,208,
208,208,208,208,208,208,208,208,208,208,
208,208,208,208,208,208,208,208,208,208,
208,208,208,208,208,208,208,208,208,208,
- 208,208,208,208,208,208,208,208,208,82,
- 88,88,180,180,141,141,142,142,142,142,
- 142,142,3,143,143,140,140,123,123,91,
- 83,81,171,171,124,124,209,209,209,144,
- 144,135,135,210,210,24,24,24,42,42,
- 25,25,211,211,181,181,181,182,182,212,
- 212,183,183,26,26,213,213,184,184,184,
- 27,62,214,214,215,215,185,185,185,145,
- 145,145,56,93,134,134,134,119,119,119,
- 195,200,117,65,70,163,1158,36,2963,2950,
- 1426,5671,28,31,32,786,742,27,29,2923,
- 26,24,51,1965,107,77,78,109,1972,1141,
- 573,535,536,537,2011,1993,1142,2019,2012,2059,
- 2040,2104,2066,1406,2106,2113,144,274,2849,992,
- 1863,159,145,2947,36,857,33,73,5734,28,
- 31,32,786,742,27,29,1964,26,24,51,
- 1965,107,77,78,109,1972,1417,233,162,3006,
- 5472,2011,1993,2861,2019,2012,2059,2040,2104,2066,
- 1321,2106,2271,165,3572,2038,251,1508,1248,236,
- 231,232,343,1779,36,283,3363,36,857,33,
- 275,5734,28,31,32,786,742,27,29,1964,
- 26,24,51,1965,107,77,78,109,3016,656,
- 696,157,243,246,249,252,4038,1659,163,3523,
- 1372,2861,327,3347,2456,623,1406,2908,36,857,
- 33,2274,5692,28,31,32,786,742,58,29,
- 3177,2549,1858,2740,2853,3122,3648,3738,4582,2484,
- 36,857,33,2861,5734,28,31,32,786,742,
- 27,29,1964,26,24,51,1965,107,77,78,
- 109,1972,343,1994,1261,36,453,2011,1993,5649,
- 2019,2012,2059,2040,2104,2066,2546,2106,2113,144,
- 2461,2495,3620,183,517,145,2129,36,278,3408,
- 3151,36,857,33,637,5692,28,31,32,786,
- 742,57,29,3046,505,518,2484,36,857,33,
- 2861,5734,28,31,32,786,742,27,29,1964,
- 26,24,51,1965,107,77,78,109,1972,343,
- 1779,36,720,388,2011,1993,1332,2019,2012,2059,
- 2040,2104,2066,447,2106,2113,144,2547,503,504,
- 2083,517,145,443,3786,442,3408,456,1474,1144,
- 45,45,513,677,2861,4293,62,335,36,857,
- 33,274,518,42,31,32,786,742,697,1676,
- 1770,2593,2151,343,1323,2484,36,857,33,2861,
- 5734,28,31,32,786,742,27,29,1964,26,
- 24,51,1965,107,77,78,109,1972,343,789,
- 3408,288,1285,2011,1993,3040,2019,2012,2059,2040,
- 2104,2066,2285,2106,2113,144,2772,2086,2309,513,
- 517,145,5704,89,276,3408,103,1779,2495,61,
- 1508,446,2207,2233,2523,2501,2327,2133,567,2151,
- 2784,518,2815,36,857,33,2861,5734,28,31,
- 32,786,742,27,29,1964,26,24,51,1965,
- 107,77,78,109,1972,343,1779,36,720,388,
- 2011,1993,1406,2019,2012,2059,2040,2104,2066,1502,
- 2106,2113,144,222,1261,36,280,517,145,2842,
- 1568,498,3408,3620,3270,36,857,33,513,5809,
- 28,31,32,786,742,60,29,50,518,2379,
- 1403,1261,36,453,47,2362,5649,874,2151,2193,
- 63,2880,36,857,33,2516,5734,28,31,32,
- 786,742,27,29,1964,26,24,51,1965,107,
- 77,78,109,1972,538,535,536,537,1427,2011,
- 1993,1540,2019,2012,2059,2040,2104,2066,289,2106,
- 2113,144,2600,2379,1232,514,379,145,2361,2549,
- 36,857,33,3042,5734,28,31,32,786,742,
- 27,29,1964,26,24,51,1965,107,77,78,
- 109,1972,429,1779,1273,1189,35,2011,1993,3567,
- 2019,2012,2059,2040,2104,2066,447,2106,2113,144,
- 1779,36,4120,3232,379,145,2361,2618,36,857,
- 33,3545,5734,28,31,32,786,742,27,29,
- 1964,26,24,51,1965,107,77,78,109,1972,
- 1779,36,294,2488,90,2011,1993,103,2019,2012,
- 2059,2040,2104,2066,2624,2106,2113,144,385,1434,
- 543,1635,379,145,2361,2750,36,857,33,2760,
- 5734,28,31,32,786,742,27,29,1964,26,
- 24,51,1965,107,77,78,109,1972,450,2207,
- 2233,390,2370,2011,1993,427,2019,2012,2059,2040,
- 2104,2066,2943,2106,2113,144,386,1434,2784,1679,
- 551,145,1779,36,3668,3270,36,857,33,3171,
- 5809,28,31,32,786,742,59,29,3126,36,
- 857,33,541,5734,28,31,32,786,742,27,
- 29,1964,26,24,51,1965,107,77,78,109,
- 1972,303,1228,1373,377,1434,2011,1993,3042,2019,
- 2012,2059,2040,2104,2066,1326,2106,2113,144,2849,
- 919,294,3090,159,145,3126,36,857,33,1406,
- 5734,28,31,32,786,742,27,29,1964,26,
- 24,51,1965,107,77,78,109,1972,2849,36,
- 294,45,322,2011,1993,5293,2019,2012,2059,2040,
- 2104,2066,1406,2106,2113,144,871,2877,3012,3090,
- 373,145,3126,36,857,33,719,5734,28,31,
- 32,786,742,27,29,1964,26,24,51,1965,
- 107,77,78,109,1972,871,3242,553,549,497,
- 2011,1993,324,2019,2012,2059,2040,2104,2066,719,
- 2106,2113,144,424,36,857,33,373,145,2092,
- 31,32,786,742,1433,1770,391,3017,4779,376,
- 427,726,963,2549,3126,36,857,33,312,5734,
- 28,31,32,786,742,27,29,1964,26,24,
- 51,1965,107,77,78,109,1972,1779,36,294,
- 726,372,2011,1993,1406,2019,2012,2059,2040,2104,
- 2066,1991,2106,2113,144,1779,36,1189,277,373,
- 145,2750,36,857,33,2678,5734,28,31,32,
- 786,742,27,29,1964,26,24,51,1965,107,
- 77,78,109,1972,1779,36,1189,279,371,2011,
- 1993,2615,2019,2012,2059,2040,2104,2066,2662,2106,
- 2113,144,1779,36,1189,282,551,145,2685,36,
- 857,33,374,5734,28,31,32,786,742,27,
- 29,1964,26,24,51,1965,107,77,78,109,
- 1972,556,3509,1398,36,280,2011,1993,5799,2019,
- 2012,2059,2040,2104,2066,2779,2106,2113,144,2577,
- 369,421,325,143,145,3126,36,857,33,1935,
- 5734,28,31,32,786,742,27,29,1964,26,
- 24,51,1965,107,77,78,109,1972,1779,36,
- 1189,3661,964,2011,1993,353,2019,2012,2059,2040,
- 2104,2066,2086,2106,2113,144,2128,5704,2102,3088,
- 156,145,3126,36,857,33,298,5734,28,31,
- 32,786,742,27,29,1964,26,24,51,1965,
- 107,77,78,109,1972,2939,36,1189,277,2136,
- 2011,1993,354,2019,2012,2059,2040,2104,2066,45,
- 2106,2113,144,1248,550,1052,3273,155,145,3126,
- 36,857,33,1831,5734,28,31,32,786,742,
- 27,29,1964,26,24,51,1965,107,77,78,
- 109,1972,1779,3699,1189,75,2058,2011,1993,2913,
- 2019,2012,2059,2040,2104,2066,2649,2106,2113,144,
- 2939,36,1189,3703,154,145,3126,36,857,33,
- 2516,5734,28,31,32,786,742,27,29,1964,
- 26,24,51,1965,107,77,78,109,1972,1779,
- 36,1189,3718,1550,2011,1993,1053,2019,2012,2059,
- 2040,2104,2066,45,2106,2113,144,1248,401,401,
- 3071,153,145,3126,36,857,33,1406,5734,28,
- 31,32,786,742,27,29,1964,26,24,51,
- 1965,107,77,78,109,1972,3220,430,607,2984,
- 3225,2011,1993,4365,2019,2012,2059,2040,2104,2066,
- 607,2106,2113,144,3311,5369,3090,3509,152,145,
- 3126,36,857,33,719,5734,28,31,32,786,
- 742,27,29,1964,26,24,51,1965,107,77,
- 78,109,1972,1553,525,607,560,5528,2011,1993,
- 5617,2019,2012,2059,2040,2104,2066,607,2106,2113,
- 144,438,5621,3514,1024,151,145,3126,36,857,
- 33,1406,5734,28,31,32,786,742,27,29,
- 1964,26,24,51,1965,107,77,78,109,1972,
- 45,389,522,522,749,2011,1993,1285,2019,2012,
- 2059,2040,2104,2066,45,2106,2113,144,950,1779,
- 3271,3509,150,145,3126,36,857,33,719,5734,
- 28,31,32,786,742,27,29,1964,26,24,
- 51,1965,107,77,78,109,1972,45,524,1824,
- 2770,816,2011,1993,1549,2019,2012,2059,2040,2104,
- 2066,45,2106,2113,144,895,1779,3647,3305,149,
- 145,3126,36,857,33,3334,5734,28,31,32,
- 786,742,27,29,1964,26,24,51,1965,107,
- 77,78,109,1972,565,304,460,45,523,2011,
- 1993,2869,2019,2012,2059,2040,2104,2066,45,2106,
- 2113,144,3231,1285,1278,3568,148,145,3126,36,
- 857,33,1929,5734,28,31,32,786,742,27,
- 29,1964,26,24,51,1965,107,77,78,109,
- 1972,45,94,2444,45,4335,2011,1993,4399,2019,
- 2012,2059,2040,2104,2066,607,2106,2113,144,2981,
- 5635,775,1945,147,145,3126,36,857,33,1220,
- 5734,28,31,32,786,742,27,29,1964,26,
- 24,51,1965,107,77,78,109,1972,45,2334,
- 3007,45,790,2011,1993,2525,2019,2012,2059,2040,
- 2104,2066,459,2106,2113,144,2877,2914,3090,330,
- 146,145,3126,36,857,33,1697,5734,28,31,
- 32,786,742,27,29,1964,26,24,51,1965,
- 107,77,78,109,1972,45,554,558,378,1093,
- 2011,1993,2784,2019,2012,2059,2040,2104,2066,45,
- 2106,2113,144,1278,1704,1290,2180,160,145,3126,
- 36,857,33,2188,5734,28,31,32,786,742,
- 27,29,1964,26,24,51,1965,107,77,78,
- 109,1972,2219,36,396,300,2784,2011,1993,2848,
- 2019,2012,2059,2040,2104,2066,1658,2106,2113,144,
- 3090,2592,74,3090,141,145,3245,36,857,33,
- 2289,5734,28,31,32,786,742,27,29,1964,
- 26,24,51,1965,107,77,78,109,1972,561,
- 2921,607,404,570,2011,1993,5794,2019,2012,2059,
- 2040,2104,2066,45,2106,2113,144,2897,2129,36,
- 281,190,145,3363,36,857,33,2776,5734,28,
- 31,32,786,742,27,29,1964,26,24,51,
- 1965,107,77,78,109,1972,1779,36,720,388,
- 71,2011,1993,2777,2019,2012,2059,2040,2104,2066,
- 555,2106,2271,165,3363,36,857,33,2628,5734,
- 28,31,32,786,742,27,29,1964,26,24,
- 51,1965,107,77,78,109,1972,452,3280,1337,
- 1492,2544,2011,1993,1285,2019,2012,2059,2040,2104,
- 2066,323,2106,2271,165,424,36,857,33,1523,
- 531,41,31,32,786,742,2610,3363,36,857,
- 33,423,5734,28,31,32,786,742,27,29,
- 1964,26,24,51,1965,107,77,78,109,1972,
- 539,535,536,537,381,2011,1993,3216,2019,2012,
- 2059,2040,2104,2066,3090,2106,2271,165,3363,36,
- 857,33,293,5734,28,31,32,786,742,27,
- 29,1964,26,24,51,1965,107,77,78,109,
- 1972,45,3217,326,540,2815,2011,1993,3042,2019,
- 2012,2059,2040,2104,2066,785,2106,2271,165,424,
- 36,857,33,3010,3085,3260,31,32,786,742,
- 1855,3363,36,857,33,3645,5734,28,31,32,
- 786,742,27,29,1964,26,24,51,1965,107,
- 77,78,109,1972,539,535,536,537,792,2011,
- 1993,3697,2019,2012,2059,2040,2104,2066,3370,2106,
- 2271,165,3422,36,857,33,422,5734,28,31,
- 32,786,742,27,29,1964,26,24,51,1965,
- 107,77,78,109,1972,1779,36,720,388,340,
- 2011,1993,3090,2019,2012,2059,2040,2104,2066,2174,
- 2106,2271,165,1268,36,857,33,5436,5607,28,
- 31,32,786,742,339,29,393,45,74,425,
- 427,1248,559,152,3509,2109,431,538,535,536,
- 537,3451,1313,36,2762,33,5436,5607,28,31,
- 32,786,742,339,29,4300,3251,538,535,536,
- 537,5708,1494,3509,157,3066,538,535,536,537,
- 3555,2872,319,1455,321,3091,314,1285,1071,2133,
- 3090,986,332,1040,3102,3329,36,857,33,3452,
- 5809,28,31,32,786,742,27,29,2282,511,
- 45,319,1455,321,2368,314,1285,1071,297,4124,
- 5176,332,1338,3363,36,857,33,2784,5734,28,
- 31,32,786,742,27,29,1964,26,24,51,
- 1965,107,77,78,109,1972,2825,285,4124,45,
- 241,2011,1993,2884,3072,306,310,1212,2354,45,
- 2085,2285,1502,1728,2296,45,43,2160,3280,1041,
- 299,4416,419,2706,539,535,536,537,2372,960,
- 328,335,1779,36,720,388,3363,36,857,33,
- 1068,5734,28,31,32,786,742,27,29,1964,
- 26,24,51,1965,107,77,78,109,1972,2392,
- 380,2219,36,396,2011,1993,1369,2019,2012,2059,
- 2040,2104,2066,274,3387,1287,3363,36,857,33,
- 2285,5734,28,31,32,786,742,27,29,1964,
- 26,24,51,1965,107,77,78,109,1972,538,
- 535,536,537,2857,2011,1993,3275,2019,2012,2059,
- 2040,2104,3316,3363,36,857,33,3091,5734,28,
- 31,32,786,742,27,29,1964,26,24,51,
- 1965,107,77,78,109,1972,340,2984,2285,2680,
- 1694,2011,1993,5331,2019,2012,2059,2040,3304,1838,
- 36,857,33,240,5607,28,31,32,786,742,
- 339,29,2684,508,573,535,536,537,1013,351,
- 2905,3697,3454,538,535,536,537,2659,3558,3575,
- 2399,36,278,2219,36,1586,2675,539,535,536,
- 537,5048,2099,542,1635,2091,36,857,33,5436,
- 3601,28,31,32,786,742,339,29,319,1455,
- 321,233,315,1285,1071,3509,1285,3090,333,538,
- 535,536,537,2009,50,3066,352,1599,36,720,
- 388,1037,1130,241,231,232,352,4468,344,1535,
- 1488,349,1779,36,720,388,3064,25,346,1535,
- 1488,349,1709,1425,319,1455,321,2783,314,1285,
- 1290,3481,36,720,388,1040,2827,3528,50,2202,
- 1658,1248,1285,2861,238,1037,1030,573,535,536,
- 537,3576,1549,50,3042,573,535,536,537,382,
- 1037,796,3177,3066,523,840,2825,2461,2495,2493,
- 402,2264,274,45,161,5250,3066,2893,2643,36,
- 857,33,5518,3601,28,31,32,786,742,339,
- 29,45,564,3389,233,2906,1232,306,310,1212,
- 334,335,233,2272,36,857,33,5436,3601,28,
- 31,32,786,742,339,29,245,231,232,45,
- 3027,3636,1589,4318,236,231,232,538,535,536,
- 537,52,1068,1786,2825,275,360,319,1455,321,
- 3124,314,1285,986,3090,4468,3509,2825,526,2219,
- 36,396,2150,2375,2383,72,1658,243,246,249,
- 252,4038,319,1455,321,352,314,1285,330,335,
- 623,1687,392,1040,571,356,427,344,1535,1488,
- 349,3249,335,1910,531,527,2781,3388,2740,2853,
- 3122,3648,3738,4582,3363,36,857,33,288,5734,
- 28,31,32,786,742,27,29,1964,26,24,
- 51,1965,107,77,78,109,1972,545,45,2160,
- 286,2813,2011,1993,3066,2019,2012,2059,3307,45,
- 2976,2976,2501,3964,3090,307,310,1212,3363,36,
- 857,33,2126,5734,28,31,32,786,742,27,
- 29,1964,26,24,51,1965,107,77,78,109,
- 1972,686,2312,3066,350,3728,2011,1993,3041,2019,
- 2012,3168,1662,36,2762,33,5436,3601,28,31,
- 32,786,742,339,29,539,535,536,537,3072,
- 3090,355,1512,3090,3090,2825,3535,535,536,537,
- 531,2472,36,2762,33,5436,3601,28,31,32,
- 786,742,339,29,3202,3090,573,535,536,537,
- 70,2489,3074,69,54,538,535,536,537,3389,
- 335,319,1455,321,2825,314,1285,3090,419,607,
- 3090,3013,1338,3202,5721,88,2784,2114,36,857,
- 33,5518,3601,28,31,32,786,742,339,29,
- 319,1455,321,233,314,1285,2784,53,3542,335,
- 451,1338,2577,36,2762,33,5436,3601,28,31,
- 32,786,742,339,29,248,231,232,3090,180,
- 45,4680,419,2706,2268,3090,3535,535,536,537,
- 2784,1659,152,2125,3393,2861,319,1455,321,199,
- 314,1285,45,1042,3202,2152,1729,2614,3313,45,
- 4693,419,2706,2146,3177,91,538,535,536,537,
- 2784,319,1455,321,352,314,1285,539,535,536,
- 537,2784,1338,198,3091,2784,344,1535,1488,349,
- 3363,36,857,33,2558,5734,28,31,32,786,
- 742,27,29,1964,26,24,51,1965,107,77,
- 78,109,1972,406,2810,607,1285,3395,2011,1993,
- 5725,2019,3233,45,202,45,2185,3054,200,2795,
- 3090,4680,419,2706,3363,36,857,33,505,5734,
- 28,31,32,786,742,27,29,1964,26,24,
- 51,1965,107,77,78,109,1972,268,3527,2560,
- 3371,586,2011,1993,953,2019,3234,1993,36,857,
- 33,2473,3601,28,31,32,786,742,339,29,
- 229,45,502,504,366,3093,3090,3090,538,535,
- 536,537,45,3090,157,3090,2618,2574,3570,45,
- 181,3176,2908,2870,719,98,2763,3577,204,216,
- 3357,203,213,214,215,217,3382,3813,2775,572,
- 3578,2384,5482,3858,170,3903,316,888,321,2289,
- 169,90,184,168,171,172,173,174,175,2450,
- 36,857,33,5338,3601,28,31,32,786,742,
- 339,29,2711,36,857,33,5436,3601,28,31,
- 32,786,742,339,29,3363,36,857,33,351,
- 5734,28,31,32,786,742,27,29,1964,26,
- 24,51,1965,107,77,78,109,1972,3489,1779,
- 36,720,388,2011,1993,3583,3092,3592,319,1455,
- 321,3090,314,1285,3574,352,1,3090,2861,1292,
- 586,319,1455,321,3090,314,1285,344,1535,1488,
- 349,3090,1292,2784,3447,342,352,343,2861,229,
- 434,68,2980,3598,530,869,1248,67,344,1535,
- 1488,349,3090,157,66,2382,3064,343,3496,181,
- 3176,65,45,719,3408,3587,2986,204,216,3357,
- 203,213,214,215,217,1285,674,3603,572,157,
- 533,3604,1737,170,1803,201,3275,1406,3608,169,
- 182,185,168,171,172,173,174,175,3363,36,
- 857,33,3612,5734,28,31,32,786,742,27,
- 29,1964,26,24,51,1965,107,77,78,109,
- 1972,1599,36,720,388,3090,2011,1993,3613,3098,
- 3363,36,857,33,719,5734,28,31,32,786,
- 742,27,29,1964,26,24,51,1965,107,77,
- 78,109,1972,357,376,1831,2784,586,2011,1993,
- 1803,3119,50,179,99,3581,3092,3169,1907,1037,
- 860,1779,36,720,388,3453,229,780,36,720,
- 388,3614,2784,3090,539,535,536,537,3618,2632,
- 157,3310,573,535,536,537,181,3176,446,223,
- 719,3619,586,2679,204,216,3357,203,213,214,
- 215,217,433,56,3090,572,3090,3399,274,3593,
- 170,229,3220,3624,3807,194,169,3588,3646,168,
- 171,172,173,174,175,157,3529,3626,3631,233,
- 1705,181,3176,535,55,719,3662,586,3594,204,
- 216,3357,203,213,214,215,217,2609,2003,6443,
- 572,251,231,232,6443,170,229,1779,36,720,
- 388,169,6443,179,168,171,172,173,174,175,
- 157,3671,573,535,536,537,181,3176,624,3528,
- 719,6443,586,1248,204,216,3357,203,213,214,
- 215,217,73,6443,3090,572,3090,6443,432,6443,
- 170,229,6443,6443,6443,6443,169,6443,177,168,
- 171,172,173,174,175,157,161,3390,6443,233,
- 6443,181,3176,713,102,719,3993,586,6443,204,
- 216,3357,203,213,214,215,217,3015,6443,6443,
- 572,254,231,232,6443,170,229,529,6443,6443,
- 6443,169,6443,178,168,171,172,173,174,175,
- 157,539,535,536,537,6443,181,3176,802,3528,
- 719,6443,586,1248,204,216,3357,203,213,214,
- 215,217,3167,6443,6443,572,6443,6443,6443,6443,
- 170,229,6443,6443,6443,6443,169,6443,188,168,
- 171,172,173,174,175,157,161,6443,6443,6443,
- 6443,181,3176,891,3528,719,6443,586,1248,204,
- 216,3357,203,213,214,215,217,6443,6443,2107,
- 572,6443,6443,2861,6443,170,229,6443,6443,6443,
- 6443,169,6443,3720,168,171,172,173,174,175,
- 157,161,343,6443,6443,6443,181,3176,980,3528,
- 719,6443,586,1248,204,216,3357,203,213,214,
- 215,217,3170,6443,2202,572,6443,6443,2861,3388,
- 170,229,6443,6443,6443,6443,169,6443,193,168,
- 171,172,173,174,175,157,161,3177,6443,6443,
- 6443,181,3176,1069,1615,719,6443,586,2861,204,
- 216,3357,203,213,214,215,217,3663,6443,45,
- 572,6443,6443,2861,6443,170,229,3177,6443,6443,
- 6443,169,6443,187,168,171,172,173,174,175,
- 157,1741,343,6443,6443,2861,181,3176,1524,6443,
- 719,6443,6443,6443,204,216,3357,203,213,214,
- 215,217,3694,3528,229,572,6443,1248,6443,3408,
- 170,360,538,535,536,537,169,6443,195,168,
- 171,172,173,174,175,2778,6443,3320,2375,2383,
- 2296,6443,206,216,3357,205,213,214,215,217,
- 161,361,6443,572,3210,36,857,33,5436,3601,
- 28,31,32,786,742,339,29,6443,6443,6443,
- 6443,6443,6443,207,209,211,295,296,6443,616,
- 1382,218,208,210,1300,36,857,33,3605,5607,
- 28,31,32,786,742,339,29,6443,6443,6443,
- 13,6443,4690,6443,538,535,536,537,538,535,
- 536,537,6443,319,1455,321,3784,314,1285,6443,
- 6443,45,3091,2980,3707,1248,2763,586,6443,6443,
- 1300,36,857,33,6443,5607,28,31,32,786,
- 742,339,29,319,1455,321,3315,317,1285,1071,
- 6443,6443,6443,333,538,535,536,537,157,6443,
- 157,1805,6443,6443,6443,3348,181,3176,6443,6443,
- 6443,6443,5048,6443,6443,6443,6443,609,6443,6443,
- 6443,6443,6443,6443,6443,6443,6443,6443,6443,319,
- 1455,321,6443,315,1285,1071,196,2599,2783,333,
- 3363,36,857,33,6443,5734,28,31,32,786,
- 742,27,29,1964,26,24,51,1965,107,77,
- 78,109,1972,6443,6443,6443,6443,6443,2011,3151,
- 3363,36,857,33,6443,5734,28,31,32,786,
- 742,27,29,1964,26,24,51,1965,107,77,
- 78,109,1972,1955,6443,6443,6443,2861,2011,3152,
- 1571,36,857,33,5436,3601,28,31,32,786,
- 742,339,29,6443,6443,6443,229,6443,1906,6443,
- 6443,6443,2861,6443,539,535,536,537,6443,6443,
- 45,6443,6443,6443,2861,2045,6443,6443,6443,2861,
- 6443,3177,6443,6443,206,216,3357,205,213,214,
- 215,217,6443,343,6443,572,5420,197,229,319,
- 1455,321,6443,314,1285,1835,36,720,388,6443,
- 4405,6443,6443,6443,6443,207,209,211,295,296,
- 3408,616,6443,218,208,210,206,216,3357,205,
- 213,214,215,217,6443,6443,2779,572,6443,2135,
- 6443,6443,1522,2861,4690,597,50,6443,6443,6443,
- 6443,6443,6443,1037,48,505,1131,207,209,211,
- 295,296,229,616,6443,218,208,210,6443,538,
- 535,536,537,1160,6443,6443,6443,6443,6443,6443,
- 538,535,536,537,1871,6443,4690,3243,6443,6443,
- 206,216,3357,205,213,214,215,217,3640,502,
- 504,572,6443,1779,36,720,388,6443,2272,36,
- 857,33,5436,3601,28,31,32,786,742,339,
- 29,207,209,211,295,296,6443,616,6443,218,
- 208,210,539,535,536,537,6443,6443,3655,6443,
- 6443,6443,6443,6443,50,6443,6443,6443,2494,6443,
- 4690,1037,3354,6443,6443,6443,6443,6443,6443,6443,
- 6443,6443,6443,6443,6443,6443,6443,319,1455,321,
- 6443,314,1285,6443,3363,36,857,33,4405,5734,
- 28,31,32,786,742,27,29,1964,26,24,
- 51,1965,107,77,78,109,1972,6443,3363,36,
- 857,33,3001,5734,28,31,32,786,742,27,
- 29,1964,26,24,51,1965,107,77,78,109,
- 1972,6443,3530,36,720,388,3013,2827,6443,6443,
- 6443,6443,6443,6443,6443,239,6443,6443,6443,6443,
- 6443,6443,6443,6443,6443,6443,573,535,536,537,
- 6443,6443,6443,6443,6443,6443,6443,6443,6443,3363,
- 36,857,33,274,5734,28,31,32,786,742,
- 27,29,1964,26,24,51,1965,107,77,78,
- 109,3051,6443,1779,36,720,388,6443,6443,3363,
- 36,857,33,233,5734,28,31,32,786,742,
- 27,29,1964,26,24,51,1965,107,77,78,
- 109,3060,6443,6443,1865,237,231,232,2861,45,
- 1946,6443,6443,1248,50,6443,275,6443,6443,6443,
- 1617,1037,957,2019,2861,6443,45,229,6443,6443,
- 1248,6443,6443,6443,538,535,536,537,244,247,
- 250,253,4038,229,6443,6443,157,538,535,536,
- 537,623,3827,3491,6443,206,216,3357,205,213,
- 214,215,217,157,6443,3640,572,6443,6443,6443,
- 3497,206,216,3357,205,213,214,215,217,6443,
- 6443,45,572,6443,6443,1248,207,209,211,295,
- 296,6443,616,2225,519,208,210,2861,6443,6443,
- 6443,6443,207,209,211,295,296,6443,616,2315,
- 219,208,210,2861,6443,2972,229,6443,157,6443,
- 45,6443,6443,6443,2861,3504,6443,6443,6443,6443,
- 6443,6443,229,6443,6443,6443,6443,6443,6443,538,
- 535,536,537,343,206,216,3357,205,213,214,
- 215,217,45,6443,6443,572,1248,2763,6443,6443,
- 206,216,3357,205,213,214,215,217,6443,6443,
- 3408,572,6443,6443,6443,207,209,211,295,296,
- 2289,616,6443,520,208,210,2881,2285,6443,157,
- 6443,207,209,211,295,296,3511,616,6443,305,
- 208,210,3363,36,857,33,6443,5734,28,31,
- 32,786,742,27,29,1964,26,24,51,1965,
- 107,77,78,86,3363,1273,857,2522,6443,5734,
- 28,31,32,786,742,27,29,1964,26,24,
- 51,1965,107,77,78,85,3363,36,857,33,
- 6443,5734,28,31,32,786,742,27,29,1964,
- 26,24,51,1965,107,77,78,84,3363,36,
- 857,33,6443,5734,28,31,32,786,742,27,
- 29,1964,26,24,51,1965,107,77,78,83,
- 3363,36,857,33,6443,5734,28,31,32,786,
- 742,27,29,1964,26,24,51,1965,107,77,
- 78,82,3363,36,857,33,6443,5734,28,31,
- 32,786,742,27,29,1964,26,24,51,1965,
- 107,77,78,81,3363,36,857,33,6443,5734,
- 28,31,32,786,742,27,29,1964,26,24,
- 51,1965,107,77,78,80,3363,36,857,33,
- 6443,5734,28,31,32,786,742,27,29,1964,
- 26,24,51,1965,107,77,78,79,2360,36,
- 857,33,6443,3601,28,31,32,786,742,339,
- 29,45,45,6443,6443,1248,1248,6443,6443,6443,
- 6443,6443,539,535,536,537,3185,36,857,33,
- 6443,5734,28,31,32,786,742,27,29,1964,
- 26,24,51,1965,107,77,78,105,157,157,
- 6443,6443,6443,6443,6443,3306,3696,319,1455,321,
- 6443,584,1285,3363,36,857,33,6443,5734,28,
- 31,32,786,742,27,29,1964,26,24,51,
- 1965,107,77,78,111,3363,36,857,33,6443,
- 5734,28,31,32,786,742,27,29,1964,26,
- 24,51,1965,107,77,78,110,2405,6443,6443,
- 6443,2861,1824,36,857,33,2502,3601,28,31,
- 32,786,742,339,29,6443,3363,36,857,33,
- 229,5734,28,31,32,786,742,27,29,1964,
- 26,24,51,1965,107,77,78,108,6443,6443,
- 6443,6443,6443,6443,1732,403,6443,6443,206,216,
- 3357,205,213,214,215,217,6443,6443,6443,572,
- 6443,316,888,321,6443,6443,6443,6443,538,535,
- 536,537,6443,6443,6443,6443,6443,6443,6443,207,
- 209,211,295,296,6443,616,2390,499,208,210,
- 3363,36,857,33,6443,5734,28,31,32,786,
- 742,27,29,1964,26,24,51,1965,107,77,
- 78,106,3304,36,857,33,6443,5734,28,31,
- 32,786,742,27,29,1964,26,24,51,1965,
- 87,77,78,1223,6443,6443,6443,2861,4643,6443,
- 1331,6443,6443,6443,2861,4643,6443,6443,6443,6443,
- 6443,6443,6443,6443,6443,6443,229,6443,6443,6443,
- 6443,6443,6443,229,45,6443,6443,6443,2861,6443,
- 869,2203,6443,6443,6443,2861,4463,6443,2203,6443,
- 6443,6443,2861,4463,2139,407,5162,343,6443,6443,
- 6443,2139,407,5162,3177,538,535,536,537,6443,
- 6443,3177,538,535,536,537,6443,1817,6443,2011,
- 36,720,388,2763,3408,408,409,410,295,296,
- 2763,616,408,409,410,295,296,6443,616,2509,
- 509,6443,6443,6443,4463,6443,1071,6443,6443,628,
- 332,1643,6443,1071,6443,6443,6443,332,1643,6443,
- 50,6443,6443,538,535,536,537,1037,48,45,
- 3569,6443,6443,2861,586,6443,6443,5389,360,6443,
- 6443,2763,6443,6443,2749,360,1911,1383,6443,6443,
- 6443,4463,343,343,3218,2375,2383,6443,6443,6443,
- 6443,3218,2375,2383,1071,6443,6443,157,333,6443,
- 538,535,536,537,189,6443,411,413,6443,3408,
- 4094,6443,1911,411,414,6443,352,4463,2763,6443,
- 6443,6443,1911,6443,6443,507,6443,4463,346,1535,
- 1488,349,1777,6443,6443,5300,538,535,536,537,
- 6443,1071,6443,6443,6443,332,538,535,536,537,
- 6443,45,6443,6443,2763,2861,45,6443,1911,6443,
- 2861,6443,6443,4463,2763,6443,6443,6443,1911,6443,
- 191,6443,4170,4463,343,6443,45,1071,6443,343,
- 586,332,538,535,536,537,6443,1071,6443,6443,
- 6443,332,538,535,536,537,6443,6443,6443,343,
- 2763,3408,6443,6443,1684,6443,3408,6443,5574,4463,
- 2763,6443,6443,157,1509,6443,6443,3376,5389,4463,
- 2817,6443,534,1071,6443,6443,3408,332,538,535,
- 536,537,6443,1071,6443,6443,6443,5564,538,535,
- 536,537,2540,6443,6443,6443,2763,1599,36,720,
- 388,6443,3513,6443,2749,6443,2763,2011,36,720,
- 388,1599,36,720,388,6443,6443,6443,6443,1071,
- 6443,6443,6443,5564,6443,2395,36,720,388,1071,
- 6443,6443,6443,333,6443,6443,6443,6443,50,1599,
- 36,720,388,6443,6443,1037,4785,6443,50,6443,
- 6443,6443,50,6443,6443,1037,48,6443,6443,1037,
- 48,2716,36,720,388,2632,50,6443,6443,6443,
- 95,6443,6443,1037,48,2198,6443,6443,6443,683,
- 50,6443,2011,36,720,388,6443,1037,48,6443,
- 6443,6443,6443,1427,1599,36,720,388,1599,36,
- 720,388,50,6443,6443,6443,97,2226,6443,1037,
- 2608,1599,36,720,388,1599,36,720,388,6443,
- 6443,6443,6443,50,1408,36,720,388,6443,840,
- 1037,2666,45,6443,6443,50,586,6443,6443,50,
- 6443,6443,1037,48,45,6443,1037,48,586,6443,
- 3657,6443,50,6443,6443,343,50,6443,6443,1037,
- 48,6443,2455,1037,48,50,3479,343,6443,157,
- 45,6443,1037,2539,586,6443,3123,6443,6443,3651,
- 6443,157,3408,3747,1779,36,720,388,2817,1779,
- 36,720,388,343,3408,6443,6443,6443,3120,1779,
- 36,720,388,6443,6443,45,6443,157,45,586,
- 3145,6443,586,6443,189,6443,6443,6443,6443,6443,
- 4094,6443,6443,6443,6443,50,6443,6443,343,6443,
- 50,343,1037,938,6443,6443,6443,1037,2780,6443,
- 50,6443,157,6443,6443,157,6443,1037,2539,189,
- 6443,6443,189,6443,6443,4094,6443,6443,4094,6443,
- 6443,6443,6443,6443,6443,6443,6443,6443,6443,6443,
- 6443,6443,6443,6443,6443,6443,6443,6443,6443,6443,
- 3377,6443,6443,6443,6443,6443,6443,6443,6443,6443,
- 6443,6443,6443,6443,6443,6443,6443,6443,6443,6443,
- 6443,6443,6443,6443,6443,6443,6443,6443,6443,6443,
- 6443,6443,6443,6443,6443,3383,6443,6443,3385,6443,
- 0,1,230,590,0,501,4674,0,1,230,
- 0,40,6458,0,40,6457,0,1,3442,0,
- 877,1,0,40,1,6458,0,40,1,6457,
- 0,1,659,0,1,1113,0,230,220,0,
- 658,224,0,676,224,0,710,224,0,658,
- 225,0,676,225,0,710,225,0,658,226,
- 0,676,226,0,710,226,0,710,394,0,
- 676,394,0,658,394,0,284,394,0,658,
- 227,0,676,227,0,710,227,0,284,287,
- 0,658,228,0,676,228,0,710,228,0,
- 6678,242,0,6677,242,0,658,242,0,676,
- 242,0,710,242,0,6781,242,0,6780,242,
- 0,6705,242,0,6704,242,0,6703,242,0,
- 6702,242,0,6701,242,0,6700,242,0,6699,
- 242,0,6698,242,0,6716,242,0,6715,242,
- 0,6714,242,0,6713,242,0,6712,242,0,
- 6711,242,0,6710,242,0,6709,242,0,6708,
- 242,0,6707,242,0,6706,242,0,40,242,
- 6458,0,40,242,6457,0,6482,242,0,1850,
- 387,0,6458,49,0,6457,49,0,1,710,
- 0,1,676,0,1,658,0,1,331,0,
- 39,1113,0,39,6458,0,39,6457,0,454,
- 1897,0,440,1911,0,1850,30,0,6455,1,
- 0,710,581,0,676,581,0,658,581,0,
- 585,581,0,585,580,0,1947,318,0,1,
- 583,0,1,444,0,458,1857,0,457,1963,
- 0,36,34,0,48,38,0,230,221,0,
- 501,1669,0,6482,1,230,0,40,1,230,
- 0,230,416,0,1,2181,0,1,6716,0,
- 1,6715,0,1,6714,0,1,6713,0,1,
- 6712,0,1,6711,0,1,6710,0,1,6709,
- 0,1,6708,0,1,6707,0,1,6706,0,
- 6458,38,0,6457,38,0,44,6480,0,44,
- 38,0,6455,383,0,6454,383,0,1,2132,
- 0,1,2661,0,6453,405,0,6452,405,0,
- 230,415,0,3578,127,0,6451,1,0,710,
- 445,0,676,445,0,658,445,0,331,445,
- 0,6449,1,0,6448,1,0,1723,92,0,
- 33,35,0,40,1113,0,6480,46,0,38,
- 46,0,1,230,3410,0,6452,230,0,3421,
- 230,0,6482,1,0,40,1,0,238,2867,
- 0,388,33,0,387,30,0,3578,129,0,
- 3578,128,0,3643,230,0,10,12,0,710,
- 578,0,676,578,0,658,578,0,710,577,
- 0,676,577,0,658,577,0,538,539,0,
- 1,93,0,8,10,12,0,710,578,579,
- 0,676,578,579,0,658,578,579,0,578,
- 579,0,6458,2,38,0,6457,2,38,0,
- 6458,37,0,6457,37,0,3716,383,0,710,
- 96,0,676,96,0,658,96,0,331,96,
- 0,36,74,0,8,12,0,279,3904,0,
- 186,3948,0
+ 208,208,208,208,208,208,208,208,82,88,
+ 88,180,180,141,141,142,142,142,142,142,
+ 142,3,143,143,140,140,123,123,91,83,
+ 81,171,171,124,124,209,209,209,144,144,
+ 135,135,210,210,24,24,24,42,42,25,
+ 25,211,211,181,181,181,182,182,212,212,
+ 183,183,26,26,213,213,184,184,184,27,
+ 62,214,214,215,215,185,185,185,145,145,
+ 145,18,18,18,18,56,93,134,134,134,
+ 119,119,119,195,200,117,66,70,163,1171,
+ 35,2983,2960,1401,5626,27,30,31,1022,1015,
+ 26,28,2927,25,23,50,1903,106,76,77,
+ 108,3139,1909,576,534,535,536,1990,1401,1948,
+ 2003,1997,2057,2056,2080,2133,2091,2178,2185,143,
+ 273,1865,1141,293,158,144,2916,35,1045,32,
+ 1943,1680,27,30,31,1022,1015,26,28,1870,
+ 25,23,50,1903,106,76,77,108,3205,1909,
+ 232,2478,3747,1155,1990,2870,1948,2003,1997,2057,
+ 2056,2239,2133,2091,2178,2388,164,1313,1386,1891,
+ 35,395,235,230,231,538,534,535,536,3459,
+ 35,1045,32,274,1680,27,30,31,1022,1015,
+ 26,28,1870,25,23,50,1903,106,76,77,
+ 108,323,3008,2239,1375,242,245,248,251,3627,
+ 1424,1688,35,279,2950,326,1289,1154,593,164,
+ 1675,35,1045,32,2136,3437,27,30,31,1022,
+ 1015,59,28,618,2680,297,3269,3061,3065,3281,
+ 3341,4717,2446,35,1045,32,2863,1680,27,30,
+ 31,1022,1015,26,28,1870,25,23,50,1903,
+ 106,76,77,108,342,1909,1688,35,452,254,
+ 1990,5604,1948,2003,1997,2057,2056,388,2133,2091,
+ 2178,2185,143,2361,2597,2773,1757,516,144,1812,
+ 4254,3812,35,1045,32,704,5636,27,30,31,
+ 1022,1015,57,28,420,517,2446,35,1045,32,
+ 2863,1680,27,30,31,1022,1015,26,28,1870,
+ 25,23,50,1903,106,76,77,108,342,1909,
+ 705,2122,64,921,1990,2863,1948,2003,1997,2057,
+ 2056,1432,2133,2091,2178,2185,143,1494,1439,1385,
+ 34,516,144,3213,4254,442,537,534,535,536,
+ 1475,1392,2980,35,277,512,1865,35,293,517,
+ 339,35,1045,32,2360,1432,41,30,31,1022,
+ 1015,614,1674,1865,1336,2198,3594,2446,35,1045,
+ 32,2863,1680,27,30,31,1022,1015,26,28,
+ 1870,25,23,50,1903,106,76,77,108,342,
+ 1909,614,1778,1386,287,1990,4093,1948,2003,1997,
+ 2057,2056,3256,2133,2091,2178,2185,143,360,512,
+ 2894,729,516,144,2086,4254,538,534,535,536,
+ 61,1494,2597,445,2321,2332,2416,2780,2658,2198,
+ 517,2782,35,1045,32,2863,1680,27,30,31,
+ 1022,1015,26,28,1870,25,23,50,1903,106,
+ 76,77,108,342,1909,74,1816,604,618,1990,
+ 1038,1948,2003,1997,2057,2056,1527,2133,2091,2178,
+ 2185,143,1891,35,395,3499,516,144,1374,4254,
+ 5640,537,534,535,536,1663,1401,1699,1475,2431,
+ 512,2863,1799,3338,517,429,35,1045,32,2818,
+ 1527,2496,30,31,1022,1015,563,2426,1265,3213,
+ 2198,2848,35,1045,32,1980,1680,27,30,31,
+ 1022,1015,26,28,1870,25,23,50,1903,106,
+ 76,77,108,1019,1909,3134,1896,322,884,1990,
+ 564,1948,2003,1997,2057,2056,530,2133,2091,2178,
+ 2185,143,288,3634,513,2053,378,144,3058,2512,
+ 35,1045,32,182,1680,27,30,31,1022,1015,
+ 26,28,1870,25,23,50,1903,106,76,77,
+ 108,3161,1909,2517,359,2863,2073,1990,2774,1948,
+ 2003,1997,2057,2056,527,2133,2091,2178,2185,143,
+ 2535,2495,2501,342,378,144,3058,2582,35,1045,
+ 32,344,1680,27,30,31,1022,1015,26,28,
+ 1870,25,23,50,1903,106,76,77,108,658,
+ 1909,614,1798,3470,2407,1990,4526,1948,2003,1997,
+ 2057,2056,324,2133,2091,2178,2185,143,384,1455,
+ 428,311,378,144,3058,2716,35,1045,32,1974,
+ 1680,27,30,31,1022,1015,26,28,1870,25,
+ 23,50,1903,106,76,77,108,1426,1909,3513,
+ 1494,35,293,1990,446,1948,2003,1997,2057,2056,
+ 1265,2133,2091,2178,2185,143,385,1455,1392,794,
+ 550,144,1494,35,282,3822,35,1045,32,3409,
+ 5636,27,30,31,1022,1015,56,28,2975,35,
+ 1045,32,3508,1680,27,30,31,1022,1015,26,
+ 28,1870,25,23,50,1903,106,76,77,108,
+ 437,1909,221,1801,376,1455,1990,4885,1948,2003,
+ 1997,2057,2056,1512,2133,2091,2178,2185,143,1494,
+ 35,1008,387,158,144,2975,35,1045,32,1401,
+ 1680,27,30,31,1022,1015,26,28,1870,25,
+ 23,50,1903,106,76,77,108,441,1909,455,
+ 2782,1942,2415,1990,1401,1948,2003,1997,2057,2056,
+ 49,2133,2091,2178,2185,143,1401,2356,1229,2523,
+ 372,144,2975,35,1045,32,1019,1680,27,30,
+ 31,1022,1015,26,28,1870,25,23,50,1903,
+ 106,76,77,108,614,1909,524,3401,548,4597,
+ 1990,1019,1948,2003,1997,2057,2056,2581,2133,2091,
+ 2178,2185,143,3028,60,2346,60,372,144,1661,
+ 4421,523,429,35,1045,32,446,3477,40,30,
+ 31,1022,1015,2680,2975,35,1045,32,1697,1680,
+ 27,30,31,1022,1015,26,28,1870,25,23,
+ 50,1903,106,76,77,108,1401,1909,1721,35,
+ 279,371,1990,2009,1948,2003,1997,2057,2056,1388,
+ 2133,2091,2178,2185,143,1494,35,1008,387,372,
+ 144,2716,35,1045,32,1401,1680,27,30,31,
+ 1022,1015,26,28,1870,25,23,50,1903,106,
+ 76,77,108,1019,1909,1494,35,3657,370,1990,
+ 3140,1948,2003,1997,2057,2056,49,2133,2091,2178,
+ 2185,143,885,375,1229,2494,550,144,2650,35,
+ 1045,32,3298,1680,27,30,31,1022,1015,26,
+ 28,1870,25,23,50,1903,106,76,77,108,
+ 2055,1909,1494,35,4536,4194,1990,2081,1948,2003,
+ 1997,2057,2056,974,2133,2091,2178,2185,143,2360,
+ 368,1494,3726,142,144,2975,35,1045,32,540,
+ 1680,27,30,31,1022,1015,26,28,1870,25,
+ 23,50,1903,106,76,77,108,352,1909,1494,
+ 35,1385,276,1990,921,1948,2003,1997,2057,2056,
+ 2059,2133,2091,2178,2185,143,1494,35,1008,387,
+ 155,144,2975,35,1045,32,373,1680,27,30,
+ 31,1022,1015,26,28,1870,25,23,50,1903,
+ 106,76,77,108,2158,1909,1494,35,1385,278,
+ 1990,975,1948,2003,1997,2057,2056,49,2133,2091,
+ 2178,2185,143,2435,549,1229,1737,154,144,2975,
+ 35,1045,32,321,1680,27,30,31,1022,1015,
+ 26,28,1870,25,23,50,1903,106,76,77,
+ 108,1401,1909,1494,35,1385,281,1990,2660,1948,
+ 2003,1997,2057,2056,617,2133,2091,2178,2185,143,
+ 1545,35,1008,387,153,144,2975,35,1045,32,
+ 75,1680,27,30,31,1022,1015,26,28,1870,
+ 25,23,50,1903,106,76,77,108,1019,1909,
+ 1494,35,293,1268,1990,1064,1948,2003,1997,2057,
+ 2056,49,2133,2091,2178,2185,143,2780,375,1229,
+ 2160,152,144,2975,35,1045,32,2338,1680,27,
+ 30,31,1022,1015,26,28,1870,25,23,50,
+ 1903,106,76,77,108,2158,1909,1494,35,1385,
+ 3656,1990,1268,1948,2003,1997,2057,2056,2817,2133,
+ 2091,2178,2185,143,1494,35,1008,387,151,144,
+ 2975,35,1045,32,496,1680,27,30,31,1022,
+ 1015,26,28,1870,25,23,50,1903,106,76,
+ 77,108,497,1909,2709,35,1385,276,1990,2285,
+ 1948,2003,1997,2057,2056,49,2133,2091,2178,2185,
+ 143,2844,3226,1229,724,150,144,2975,35,1045,
+ 32,3297,1680,27,30,31,1022,1015,26,28,
+ 1870,25,23,50,1903,106,76,77,108,1699,
+ 1909,459,3785,2863,2846,1990,3927,1948,2003,1997,
+ 2057,2056,380,2133,2091,2178,2185,143,1494,3637,
+ 1065,3213,149,144,2975,35,1045,32,2437,1680,
+ 27,30,31,1022,1015,26,28,1870,25,23,
+ 50,1903,106,76,77,108,2476,1909,1494,3730,
+ 1385,74,1990,3692,1948,2003,1997,2057,2056,1140,
+ 2133,2091,2178,2185,143,789,35,1008,387,148,
+ 144,2975,35,1045,32,2558,1680,27,30,31,
+ 1022,1015,26,28,1870,25,23,50,1903,106,
+ 76,77,108,60,1909,614,359,5421,1790,1990,
+ 5584,1948,2003,1997,2057,2056,273,2133,2091,2178,
+ 2185,143,3786,2495,2501,353,147,144,2975,35,
+ 1045,32,3425,1680,27,30,31,1022,1015,26,
+ 28,1870,25,23,50,1903,106,76,77,108,
+ 784,1909,2709,35,1385,3732,1990,2408,1948,2003,
+ 1997,2057,2056,2226,2133,2091,2178,2185,143,1494,
+ 35,1008,387,146,144,2975,35,1045,32,3672,
+ 1680,27,30,31,1022,1015,26,28,1870,25,
+ 23,50,1903,106,76,77,108,2158,1909,614,
+ 72,93,1268,1990,1774,1948,2003,1997,2057,2056,
+ 49,2133,2091,2178,2185,143,1419,334,1229,872,
+ 145,144,2975,35,1045,32,559,1680,27,30,
+ 31,1022,1015,26,28,1870,25,23,50,1903,
+ 106,76,77,108,2546,1909,1494,35,1385,3775,
+ 1990,1312,1948,2003,1997,2057,2056,70,2133,2091,
+ 2178,2185,143,1494,35,1008,387,159,144,2975,
+ 35,1045,32,2796,1680,27,30,31,1022,1015,
+ 26,28,1870,25,23,50,1903,106,76,77,
+ 108,458,1909,1435,60,3256,1268,1990,752,1948,
+ 2003,1997,2057,2056,273,2133,2091,2178,2185,143,
+ 1891,35,1539,3983,140,144,3102,35,1045,32,
+ 2338,1680,27,30,31,1022,1015,26,28,1870,
+ 25,23,50,1903,106,76,77,108,1781,1909,
+ 1891,35,395,2047,1990,1328,1948,2003,1997,2057,
+ 2056,49,2133,2091,2178,2185,143,2239,2656,1229,
+ 1522,189,144,3459,35,1045,32,275,1680,27,
+ 30,31,1022,1015,26,28,1870,25,23,50,
+ 1903,106,76,77,108,325,1909,1494,35,1008,
+ 387,1990,1392,1948,2003,1997,2057,2056,2411,2133,
+ 2091,2178,2388,164,3459,35,1045,32,3425,1680,
+ 27,30,31,1022,1015,26,28,1870,25,23,
+ 50,1903,106,76,77,108,2743,1909,451,60,
+ 355,303,1990,1220,1948,2003,1997,2057,2056,530,
+ 2133,2091,2178,2388,164,429,35,1045,32,870,
+ 2645,3724,30,31,1022,1015,3794,3459,35,1045,
+ 32,422,1680,27,30,31,1022,1015,26,28,
+ 1870,25,23,50,1903,106,76,77,108,557,
+ 1909,3071,60,2361,2597,1990,816,1948,2003,1997,
+ 2057,2056,1662,2133,2091,2178,2388,164,3459,35,
+ 1045,32,292,1680,27,30,31,1022,1015,26,
+ 28,1870,25,23,50,1903,106,76,77,108,
+ 244,1909,3007,60,542,1621,1990,897,1948,2003,
+ 1997,2057,2056,71,2133,2091,2178,2388,164,1494,
+ 35,1008,387,566,538,534,535,536,1409,2158,
+ 2434,3459,35,1045,32,3592,1680,27,30,31,
+ 1022,1015,26,28,1870,25,23,50,1903,106,
+ 76,77,108,60,1909,1392,1387,1017,377,1990,
+ 430,1948,2003,1997,2057,2056,1618,2133,2091,2178,
+ 2388,164,3518,35,1045,32,421,1680,27,30,
+ 31,1022,1015,26,28,1870,25,23,50,1903,
+ 106,76,77,108,287,1909,1688,35,452,302,
+ 1990,5604,1948,2003,1997,2057,2056,2239,2133,2091,
+ 2178,2388,164,1466,35,1045,32,3687,4106,27,
+ 30,31,1022,1015,338,28,522,3408,2658,424,
+ 1494,35,1008,387,964,1755,1392,537,534,535,
+ 536,3100,1329,35,2794,32,3687,4106,27,30,
+ 31,1022,1015,338,28,4430,2748,2622,537,534,
+ 535,536,5656,1907,35,277,537,534,535,536,
+ 4048,433,318,1085,320,2158,2600,313,624,1321,
+ 299,296,331,842,3070,3842,35,1045,32,2883,
+ 3437,27,30,31,1022,1015,26,28,1392,510,
+ 2390,318,1085,320,3351,614,313,624,1321,4270,
+ 5660,331,611,3459,35,1045,32,1157,1680,27,
+ 30,31,1022,1015,26,28,1870,25,23,50,
+ 1903,106,76,77,108,1616,1909,1266,4270,1449,
+ 514,1990,560,1948,3060,305,309,985,1675,35,
+ 1045,32,3322,3437,27,30,31,1022,1015,58,
+ 28,3161,418,2781,538,534,535,536,552,1228,
+ 1907,35,280,449,2321,2332,3459,35,1045,32,
+ 1283,1680,27,30,31,1022,1015,26,28,1870,
+ 25,23,50,1903,106,76,77,108,3101,1909,
+ 1494,35,1008,387,1990,1510,1948,2003,1997,2057,
+ 2056,60,2133,2091,3303,4460,3459,35,1045,32,
+ 3165,1680,27,30,31,1022,1015,26,28,1870,
+ 25,23,50,1903,106,76,77,108,2047,1909,
+ 2451,273,1663,3467,1990,1544,1948,2003,1997,2057,
+ 2056,2472,2133,3285,3459,35,1045,32,2473,1680,
+ 27,30,31,1022,1015,26,28,1870,25,23,
+ 50,1903,106,76,77,108,522,1909,1494,35,
+ 1008,387,1990,154,1948,2003,1997,2057,2056,403,
+ 3210,2252,35,1045,32,2617,4106,27,30,31,
+ 1022,1015,338,28,339,694,2158,537,534,535,
+ 536,2544,2738,3108,3138,537,534,535,536,49,
+ 2239,2675,60,555,1976,2765,4463,46,5444,538,
+ 534,535,536,5154,2680,569,2158,2321,35,1045,
+ 32,3687,2832,27,30,31,1022,1015,338,28,
+ 318,1085,320,350,3427,314,624,1321,1054,3256,
+ 332,537,534,535,536,539,2169,2738,1293,35,
+ 1008,387,1293,35,1008,387,389,60,351,4603,
+ 426,1248,538,534,535,536,2158,42,2289,2682,
+ 345,1878,1480,348,284,3427,318,1085,320,2808,
+ 2962,313,624,3577,35,1008,387,842,2828,49,
+ 60,351,2389,49,4534,558,237,1229,1189,541,
+ 1621,1229,799,343,1878,1480,348,576,534,535,
+ 536,3528,2886,2473,60,2473,2103,60,793,2841,
+ 2660,1248,44,2289,273,3459,35,1045,32,2084,
+ 1680,27,30,31,1022,1015,26,28,1870,25,
+ 23,50,1903,106,76,77,108,3163,1909,305,
+ 309,985,3780,1990,232,1948,2003,1997,2057,3276,
+ 2571,35,1045,32,3687,2832,27,30,31,1022,
+ 1015,338,28,3913,354,60,235,230,231,3093,
+ 1523,2683,60,530,1283,88,2718,274,102,2158,
+ 3174,35,1045,32,3687,2832,27,30,31,1022,
+ 1015,338,28,3672,1585,537,534,535,536,242,
+ 245,248,251,3627,537,534,535,536,5282,318,
+ 1085,320,593,2600,313,624,89,2262,1230,102,
+ 1614,390,4603,392,60,426,521,426,2893,1302,
+ 3269,3061,3065,3281,3341,4717,2067,2390,60,318,
+ 1085,320,2323,1392,313,624,3459,35,1045,32,
+ 842,1680,27,30,31,1022,1015,26,28,1870,
+ 25,23,50,1903,106,76,77,108,60,1909,
+ 2303,1283,3083,2362,1990,1680,1948,2003,1997,3184,
+ 1956,35,2794,32,3687,2832,27,30,31,1022,
+ 1015,338,28,2239,2352,576,534,535,536,576,
+ 534,535,536,2551,3489,534,535,536,1494,35,
+ 1008,387,306,309,985,2552,2686,1849,3282,35,
+ 1045,32,3170,1680,27,30,31,1022,1015,26,
+ 28,1870,25,23,50,1903,573,76,77,318,
+ 1085,320,232,60,313,624,232,2895,1268,432,
+ 611,2082,35,2794,32,3687,2832,27,30,31,
+ 1022,1015,338,28,244,230,231,381,247,230,
+ 231,1144,2473,2158,3204,537,534,535,536,2304,
+ 2173,35,2794,32,3687,2832,27,30,31,1022,
+ 1015,338,28,3170,424,537,534,535,536,3345,
+ 418,2781,24,2953,3489,534,535,536,327,334,
+ 318,1085,320,3353,2551,313,624,2941,2614,2812,
+ 3085,611,3170,1981,35,1045,32,3867,2832,27,
+ 30,31,1022,1015,338,28,1392,5357,60,318,
+ 1085,320,1248,3366,313,624,3459,35,1045,32,
+ 611,1680,27,30,31,1022,1015,26,28,1870,
+ 25,23,50,1903,106,76,77,108,2158,1909,
+ 3491,418,2781,156,1990,1392,1948,2003,3208,3731,
+ 298,3469,318,1085,320,3204,2213,313,624,1392,
+ 391,1770,239,2771,426,2538,2741,570,60,3345,
+ 418,2781,3162,576,534,535,536,60,60,3499,
+ 351,2892,1041,2031,5640,576,534,535,536,333,
+ 334,3162,343,1878,1480,348,3459,35,1045,32,
+ 2711,1680,27,30,31,1022,1015,26,28,1870,
+ 25,23,50,1903,106,76,77,108,271,1909,
+ 232,1863,589,3218,1990,1536,1948,2003,3209,91,
+ 60,60,232,1300,3443,3649,1494,35,1008,387,
+ 228,3251,240,230,231,576,534,535,536,537,
+ 534,535,536,156,250,230,231,538,534,535,
+ 536,3606,180,2814,60,1019,3717,3639,5666,203,
+ 215,5428,202,212,213,214,216,431,2779,60,
+ 575,614,1248,1849,3268,169,5711,2517,2239,2845,
+ 365,168,232,183,167,170,171,172,173,174,
+ 3239,35,1045,32,5496,2832,27,30,31,1022,
+ 1015,338,28,156,253,230,231,1494,35,1008,
+ 387,3749,200,2551,3309,3459,35,1045,32,350,
+ 1680,27,30,31,1022,1015,26,28,1870,25,
+ 23,50,1903,106,76,77,108,2878,1909,1268,
+ 75,1268,3314,1990,429,1948,3084,2750,49,318,
+ 1085,320,285,1690,313,624,1229,2160,1,2138,
+ 1614,2265,589,3713,35,1045,32,2502,2832,27,
+ 30,31,1022,1015,338,28,544,351,3185,1449,
+ 228,401,2863,3168,3204,537,534,535,536,343,
+ 1878,1480,348,156,2886,3315,3316,3528,2158,3488,
+ 342,3606,180,3353,3348,1019,3368,402,553,203,
+ 215,5428,202,212,213,214,216,60,329,334,
+ 575,3233,315,1068,320,169,1852,349,51,3373,
+ 97,168,181,184,167,170,171,172,173,174,
+ 3459,35,1045,32,181,1680,27,30,31,1022,
+ 1015,26,28,1870,25,23,50,1903,106,76,
+ 77,108,3246,1909,1588,35,1008,387,1990,1996,
+ 1948,3105,3459,35,1045,32,1392,1680,27,30,
+ 31,1022,1015,26,28,1870,25,23,50,1903,
+ 106,76,77,108,361,1909,2158,1993,589,1392,
+ 1990,2158,1948,3106,60,49,1756,3213,3524,2746,
+ 2863,2158,379,1229,47,2158,228,2814,521,2551,
+ 179,537,534,535,536,69,3374,3375,3213,156,
+ 68,986,1210,538,534,535,536,3606,180,661,
+ 53,1019,1577,198,574,203,215,5428,202,212,
+ 213,214,216,1593,451,3366,575,1280,589,2158,
+ 1392,169,1445,554,2158,2612,3547,168,3407,3599,
+ 167,170,171,172,173,174,228,537,534,535,
+ 536,537,534,535,536,3002,2158,3367,572,156,
+ 3204,2158,2599,87,1392,922,1392,3606,180,2600,
+ 3225,1019,2822,504,197,203,215,5428,202,212,
+ 213,214,216,3250,541,52,575,1280,589,1392,
+ 450,169,1445,1321,3810,334,331,168,3001,178,
+ 167,170,171,172,173,174,228,3436,405,2551,
+ 201,537,534,535,536,3437,2158,502,503,156,
+ 2158,60,2551,4298,1392,2863,2158,3606,180,2600,
+ 1161,1019,3426,199,3469,203,215,5428,202,212,
+ 213,214,216,342,631,3850,575,1280,589,90,
+ 60,169,1445,1321,932,3910,331,168,6401,176,
+ 167,170,171,172,173,174,228,2150,4458,4254,
+ 6401,537,534,535,536,2855,2158,6401,3717,156,
+ 3204,60,6401,3987,2826,2863,1364,3606,180,2600,
+ 60,1019,6401,3204,3769,203,215,5428,202,212,
+ 213,214,216,342,721,3934,575,1280,589,2158,
+ 6401,169,1445,1321,3970,334,331,168,893,177,
+ 167,170,171,172,173,174,228,4022,334,4254,
+ 6401,537,534,535,536,6401,2158,6401,3864,156,
+ 2158,3132,60,5548,2849,2863,2797,3606,180,2600,
+ 60,1019,6401,1392,3782,203,215,5428,202,212,
+ 213,214,216,342,811,3924,575,1280,589,3984,
+ 529,169,1445,1321,60,6401,331,168,3685,187,
+ 167,170,171,172,173,174,228,6401,6401,4254,
+ 6401,537,534,535,536,6401,2158,222,3066,156,
+ 2158,2158,4066,2751,532,2158,2158,3606,180,2600,
+ 60,1019,6401,1392,2135,203,215,5428,202,212,
+ 213,214,216,1421,901,67,575,3772,589,66,
+ 65,169,1445,1321,64,1299,5555,168,6401,3792,
+ 167,170,171,172,173,174,228,537,534,535,
+ 536,537,534,535,536,2158,2158,193,2158,156,
+ 3038,2158,60,6401,1248,2765,2819,3606,180,2600,
+ 1727,1019,6401,6401,2863,203,215,5428,202,212,
+ 213,214,216,6401,1324,55,575,54,1268,6401,
+ 3973,169,228,1321,3038,160,332,168,1248,192,
+ 167,170,171,172,173,174,3219,35,1045,32,
+ 3867,2832,27,30,31,1022,1015,338,28,94,
+ 6401,205,215,5428,204,212,213,214,216,160,
+ 6401,6401,575,1872,35,1008,387,60,6401,6401,
+ 3014,2863,6401,6401,6401,6401,1293,35,1008,387,
+ 6401,4140,206,208,210,294,295,2158,714,342,
+ 217,207,209,3641,6401,318,1085,320,991,3035,
+ 313,624,589,2863,49,2158,525,98,6401,13,
+ 3005,4826,1229,47,6401,4254,101,49,60,6401,
+ 228,342,2863,351,2779,1229,2961,3716,589,6401,
+ 2859,1025,6401,156,4188,343,1878,1480,348,528,
+ 342,3606,180,526,2660,1019,3902,3958,6401,203,
+ 215,5428,202,212,213,214,216,3038,1081,156,
+ 575,1248,589,6401,154,169,4254,3606,180,6401,
+ 6401,168,6401,186,167,170,171,172,173,174,
+ 228,2899,6401,6401,6401,6401,663,6401,537,534,
+ 535,536,160,156,3038,3038,60,195,1248,1248,
+ 2863,3606,180,6401,6401,1019,2765,6401,6401,203,
+ 215,5428,202,212,213,214,216,6401,342,60,
+ 575,6401,6401,1248,2539,169,6401,6401,3807,160,
+ 160,168,6401,194,167,170,171,172,173,174,
+ 2413,35,1045,32,4254,4106,27,30,31,1022,
+ 1015,338,28,60,156,6401,6401,1248,6401,508,
+ 3721,6401,3286,6401,537,534,535,536,2413,35,
+ 1045,32,6401,4106,27,30,31,1022,1015,338,
+ 28,3133,2600,6401,6401,6401,6401,60,156,6401,
+ 6401,1248,537,534,535,536,3956,4016,4018,318,
+ 1085,320,6401,6401,316,624,1321,6401,4015,332,
+ 5154,351,6401,6401,6401,6401,6401,4449,196,6401,
+ 6401,6401,156,343,1878,1480,348,318,1085,320,
+ 3960,341,314,624,1321,6401,6401,332,3459,35,
+ 1045,32,6401,1680,27,30,31,1022,1015,26,
+ 28,1870,25,23,50,1903,106,76,77,108,
+ 6401,1909,6401,3038,6401,6401,1990,1248,3107,3459,
+ 35,1045,32,6401,1680,27,30,31,1022,1015,
+ 26,28,1870,25,23,50,1903,106,76,77,
+ 108,1911,1909,6401,6401,2863,6401,1990,160,3169,
+ 2229,35,1045,32,3687,2832,27,30,31,1022,
+ 1015,338,28,228,6401,6401,6401,6401,6401,2882,
+ 6401,6401,6401,589,538,534,535,536,3067,6401,
+ 1756,6401,1248,2002,2863,6401,6401,2863,6401,6401,
+ 6401,342,205,215,5428,204,212,213,214,216,
+ 6401,6401,3213,575,156,228,6401,6401,6401,318,
+ 1085,320,188,156,313,624,4117,5269,60,6401,
+ 987,162,1248,206,208,210,294,295,6401,714,
+ 6401,217,207,209,205,215,5428,204,212,213,
+ 214,216,6401,6401,6401,575,1872,35,1008,387,
+ 671,6401,4826,156,2093,6401,2071,6401,2863,6401,
+ 6401,3961,6401,6401,6401,206,208,210,294,295,
+ 6401,714,6401,217,207,209,228,504,6401,190,
+ 537,534,535,536,6401,6401,6401,49,6401,6401,
+ 6401,6401,2197,60,4826,1229,47,2863,2765,6401,
+ 6401,6401,6401,6401,6401,205,215,5428,204,212,
+ 213,214,216,6401,2630,342,575,1293,35,1008,
+ 387,501,503,3174,35,1045,32,3687,2832,27,
+ 30,31,1022,1015,338,28,206,208,210,294,
+ 295,4254,714,6401,217,207,209,538,534,535,
+ 536,6401,6401,6401,6401,6401,506,6401,49,6401,
+ 2516,3784,6401,2467,6401,4826,1229,47,4135,6401,
+ 6401,6401,6401,3288,6401,6401,6401,6401,6401,6401,
+ 6401,6401,318,1085,320,1232,6401,313,624,3459,
+ 35,1045,32,987,1680,27,30,31,1022,1015,
+ 26,28,1870,25,23,50,1903,106,76,77,
+ 108,6401,1909,3459,35,1045,32,2984,1680,27,
+ 30,31,1022,1015,26,28,1870,25,23,50,
+ 1903,106,76,77,108,6401,1909,3627,35,1008,
+ 387,3007,2828,6401,6401,6401,6401,6401,6401,6401,
+ 238,6401,6401,6401,6401,6401,6401,6401,6401,6401,
+ 6401,576,534,535,536,6401,6401,6401,6401,6401,
+ 6401,6401,6401,6401,3459,35,1045,32,273,1680,
+ 27,30,31,1022,1015,26,28,1870,25,23,
+ 50,1903,106,76,77,108,6401,3019,6401,60,
+ 6401,6401,6401,1248,3459,35,1045,32,232,1680,
+ 27,30,31,1022,1015,26,28,1870,25,23,
+ 50,1903,106,76,77,108,6401,3026,6401,1820,
+ 236,230,231,2863,156,60,60,6401,6401,1248,
+ 1248,274,3965,6401,6401,6401,1634,6401,6401,6401,
+ 2863,228,6401,6401,6401,6401,6401,6401,6401,6401,
+ 6401,6401,6401,243,246,249,252,3627,228,6401,
+ 156,156,6401,6401,6401,6401,593,6401,3471,4021,
+ 205,215,5428,204,212,213,214,216,2184,6401,
+ 6401,575,2863,6401,6401,6401,6401,205,215,5428,
+ 204,212,213,214,216,2275,6401,6401,575,2863,
+ 228,206,208,210,294,295,6401,714,6401,518,
+ 207,209,6401,6401,6401,6401,6401,228,206,208,
+ 210,294,295,6401,714,6401,218,207,209,205,
+ 215,5428,204,212,213,214,216,6401,6401,6401,
+ 575,6401,6401,6401,6401,6401,205,215,5428,204,
+ 212,213,214,216,6401,6401,6401,575,6401,6401,
+ 206,208,210,294,295,6401,714,6401,519,207,
+ 209,6401,6401,6401,6401,6401,6401,206,208,210,
+ 294,295,6401,714,6401,304,207,209,3459,35,
+ 1045,32,6401,1680,27,30,31,1022,1015,26,
+ 28,1870,25,23,50,1903,106,76,77,85,
+ 3459,1439,1045,2665,6401,1680,27,30,31,1022,
+ 1015,26,28,1870,25,23,50,1903,106,76,
+ 77,84,3459,35,1045,32,6401,1680,27,30,
+ 31,1022,1015,26,28,1870,25,23,50,1903,
+ 106,76,77,83,3459,35,1045,32,6401,1680,
+ 27,30,31,1022,1015,26,28,1870,25,23,
+ 50,1903,106,76,77,82,3459,35,1045,32,
+ 6401,1680,27,30,31,1022,1015,26,28,1870,
+ 25,23,50,1903,106,76,77,81,3459,35,
+ 1045,32,6401,1680,27,30,31,1022,1015,26,
+ 28,1870,25,23,50,1903,106,76,77,80,
+ 3459,35,1045,32,6401,1680,27,30,31,1022,
+ 1015,26,28,1870,25,23,50,1903,106,76,
+ 77,79,3459,35,1045,32,6401,1680,27,30,
+ 31,1022,1015,26,28,1870,25,23,50,1903,
+ 106,76,77,78,3191,35,1045,32,6401,2832,
+ 27,30,31,1022,1015,338,28,6401,6401,6401,
+ 6401,6401,6401,6401,6401,6401,6401,6401,538,534,
+ 535,536,3041,35,1045,32,6401,1680,27,30,
+ 31,1022,1015,26,28,1870,25,23,50,1903,
+ 106,76,77,104,6401,6401,6401,6401,6401,6401,
+ 6401,6401,6401,318,1085,320,6401,6401,587,624,
+ 3459,35,1045,32,6401,1680,27,30,31,1022,
+ 1015,26,28,1870,25,23,50,1903,106,76,
+ 77,110,3459,35,1045,32,6401,1680,27,30,
+ 31,1022,1015,26,28,1870,25,23,50,1903,
+ 106,76,77,109,2366,6401,6401,6401,2863,3832,
+ 35,1045,32,3687,2832,27,30,31,1022,1015,
+ 338,28,3459,35,1045,32,228,1680,27,30,
+ 31,1022,1015,26,28,1870,25,23,50,1903,
+ 106,76,77,107,6401,6401,6401,6401,6401,6401,
+ 6401,6401,6401,6401,6401,205,215,5428,204,212,
+ 213,214,216,6401,6401,6401,575,6401,318,1085,
+ 320,6401,6401,313,624,6401,6401,6401,6401,3743,
+ 6401,6401,6401,6401,6401,6401,206,208,210,294,
+ 295,6401,714,6401,498,207,209,3459,35,1045,
+ 32,6401,1680,27,30,31,1022,1015,26,28,
+ 1870,25,23,50,1903,106,76,77,105,3341,
+ 35,1045,32,6401,1680,27,30,31,1022,1015,
+ 26,28,1870,25,23,50,1903,571,76,77,
+ 3400,35,1045,32,6401,1680,27,30,31,1022,
+ 1015,26,28,1870,25,23,50,1903,86,76,
+ 77,1237,6401,6401,6401,2863,1586,6401,2163,35,
+ 1045,32,2473,2832,27,30,31,1022,1015,338,
+ 28,6401,1346,228,2343,6401,2863,1586,2863,1445,
+ 6401,6401,6401,6401,60,6401,6401,6401,2863,6401,
+ 6401,6401,6401,6401,228,6401,3213,6401,537,534,
+ 535,536,2705,406,3493,6401,342,6401,6401,6401,
+ 6401,6401,6401,6401,6401,6401,2600,315,1068,320,
+ 6401,6401,6401,2705,406,3493,2343,6401,6401,6401,
+ 2863,1445,4254,407,408,409,294,295,6401,714,
+ 1321,6401,6401,331,6401,60,6401,3836,3213,2863,
+ 537,534,535,536,407,408,409,294,295,1633,
+ 714,6401,6401,6401,6401,6401,6401,342,2600,6401,
+ 5548,359,6401,6401,6401,6401,6401,6401,1564,6401,
+ 1633,6401,6401,1445,6401,3798,6401,3776,2495,2501,
+ 1445,6401,1321,4254,6401,331,6401,6401,6401,6401,
+ 6401,6401,537,534,535,536,6401,6401,533,537,
+ 534,535,536,6401,2266,35,1008,387,6401,6401,
+ 2600,6401,2751,359,410,412,986,2600,6401,6401,
+ 6401,6401,6401,6401,1293,35,1008,387,6401,3776,
+ 2495,2501,6401,6401,1321,410,413,332,6401,6401,
+ 713,1321,6401,5442,5555,49,1702,35,1008,387,
+ 6401,6401,6401,1229,47,351,1872,35,1008,387,
+ 1293,35,1008,387,6401,49,6401,345,1878,1480,
+ 348,6401,1710,1229,47,6401,1293,35,1008,387,
+ 1293,35,1008,387,6401,6401,3068,49,6401,6401,
+ 2863,6401,2227,6401,6401,1229,3193,49,6401,6401,
+ 6401,49,6401,6401,6401,1229,3207,6401,3213,1229,
+ 47,6401,6401,6401,2103,60,60,49,6401,589,
+ 589,49,6401,6401,1915,1229,47,96,2379,1229,
+ 47,1293,35,1008,387,6401,6401,342,342,60,
+ 6401,6401,6401,589,2490,6401,6401,6401,3098,60,
+ 156,156,6401,589,6401,6401,6401,6401,3163,3631,
+ 6401,342,6401,4254,4254,6401,60,6401,6401,6401,
+ 589,342,49,60,156,6401,6401,589,2969,3626,
+ 1229,47,3163,504,156,6401,6401,4254,342,60,
+ 6401,6401,3163,589,6401,342,60,4254,6401,3356,
+ 589,156,3645,6401,6401,6401,6401,6401,156,3163,
+ 6401,342,3689,6401,4254,6401,188,6401,342,6401,
+ 6401,5269,6401,6401,156,6401,6401,501,503,3694,
+ 6401,156,188,6401,6401,6401,6401,5269,6401,188,
+ 6401,6401,6401,6401,5269,6401,6401,6401,6401,6401,
+ 6401,6401,6401,6401,6401,6401,6401,6401,6401,6401,
+ 6401,6401,6401,6401,6401,6401,3647,6401,6401,6401,
+ 6401,6401,6401,6401,6401,6401,6401,6401,6401,6401,
+ 6401,6401,6401,3869,6401,6401,6401,6401,6401,6401,
+ 6401,6401,6401,6401,6401,6401,6401,6401,6401,3896,
+ 6401,6401,6401,6401,6401,6401,3900,6401,0,1,
+ 229,727,0,500,4809,0,1,229,0,39,
+ 6416,0,39,6415,0,1,2940,0,880,1,
+ 0,39,1,6416,0,39,1,6415,0,1,
+ 1111,0,1,857,0,229,219,0,779,223,
+ 0,805,223,0,840,223,0,779,224,0,
+ 805,224,0,840,224,0,779,225,0,805,
+ 225,0,840,225,0,840,393,0,805,393,
+ 0,779,393,0,283,393,0,779,226,0,
+ 805,226,0,840,226,0,283,286,0,779,
+ 227,0,805,227,0,840,227,0,6635,241,
+ 0,6634,241,0,779,241,0,805,241,0,
+ 840,241,0,6738,241,0,6737,241,0,6662,
+ 241,0,6661,241,0,6660,241,0,6659,241,
+ 0,6658,241,0,6657,241,0,6656,241,0,
+ 6655,241,0,6673,241,0,6672,241,0,6671,
+ 241,0,6670,241,0,6669,241,0,6668,241,
+ 0,6667,241,0,6666,241,0,6665,241,0,
+ 6664,241,0,6663,241,0,39,241,6416,0,
+ 39,241,6415,0,6439,241,0,2134,386,0,
+ 6416,48,0,6415,48,0,1,840,0,1,
+ 805,0,1,779,0,1,330,0,38,857,
+ 0,38,6416,0,38,6415,0,453,2322,0,
+ 439,2363,0,2134,29,0,6413,1,0,840,
+ 584,0,805,584,0,779,584,0,588,584,
+ 0,588,583,0,2413,317,0,1,586,0,
+ 1,443,0,457,1762,0,456,2042,0,35,
+ 33,0,47,37,0,229,220,0,500,1668,
+ 0,6439,1,229,0,39,1,229,0,229,
+ 415,0,1,2039,0,1,6673,0,1,6672,
+ 0,1,6671,0,1,6670,0,1,6669,0,
+ 1,6668,0,1,6667,0,1,6666,0,1,
+ 6665,0,1,6664,0,1,6663,0,6416,37,
+ 0,6415,37,0,43,6437,0,43,37,0,
+ 6413,382,0,6412,382,0,1,679,0,1,
+ 1002,0,6411,404,0,6410,404,0,229,414,
+ 0,3570,126,0,6409,1,0,840,444,0,
+ 805,444,0,779,444,0,330,444,0,6407,
+ 1,0,6406,1,0,2897,91,0,32,34,
+ 0,39,857,0,6437,45,0,37,45,0,
+ 1,229,3343,0,6410,229,0,3349,229,0,
+ 6439,1,0,39,1,0,237,4020,0,387,
+ 32,0,386,29,0,3570,128,0,3570,127,
+ 0,3574,229,0,10,12,0,840,581,0,
+ 805,581,0,779,581,0,840,580,0,805,
+ 580,0,779,580,0,537,538,0,1,92,
+ 0,8,10,12,0,840,581,582,0,805,
+ 581,582,0,779,581,582,0,581,582,0,
+ 6416,2,37,0,6415,2,37,0,6416,36,
+ 0,6415,36,0,3758,382,0,840,95,0,
+ 805,95,0,779,95,0,330,95,0,35,
+ 73,0,8,12,0,278,4224,0,185,4128,
+ 0
};
};
public final static char baseAction[] = BaseAction.baseAction;
@@ -1297,371 +1289,392 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym
10,11,12,13,14,15,16,17,18,19,
20,21,22,23,24,25,26,27,28,29,
30,31,32,33,34,35,36,37,38,39,
- 40,41,42,43,0,45,46,47,48,49,
- 50,51,52,53,54,55,56,57,58,59,
- 60,61,0,63,64,65,66,5,6,7,
- 70,71,0,0,74,3,76,77,78,79,
- 80,81,82,83,84,85,86,87,88,0,
- 1,2,3,4,5,6,7,8,9,10,
- 11,12,13,14,15,16,17,18,19,20,
- 21,22,23,24,25,26,27,28,29,30,
- 31,32,33,34,35,36,37,38,39,40,
- 41,42,43,0,45,46,47,48,49,50,
- 51,52,53,54,55,56,57,58,59,60,
- 61,0,63,64,65,66,5,6,7,70,
- 71,0,0,74,3,76,77,78,79,80,
- 81,82,83,84,85,86,87,88,0,1,
- 2,3,4,5,6,7,8,9,10,11,
- 12,13,14,15,16,17,18,19,20,21,
- 22,23,24,25,26,27,28,29,30,31,
- 32,33,34,35,36,37,38,39,40,41,
- 42,43,0,45,46,47,48,49,50,51,
- 52,53,54,55,56,57,58,59,60,61,
- 0,63,64,65,66,5,6,7,70,71,
- 0,0,74,3,76,77,78,79,80,81,
- 82,83,84,85,86,87,88,0,1,2,
- 3,4,5,6,7,8,9,10,11,12,
- 13,14,15,16,17,18,19,20,21,22,
- 23,24,25,26,27,28,29,30,31,32,
- 33,34,35,36,37,38,39,40,41,42,
- 43,0,45,46,47,48,49,50,51,52,
- 53,54,55,56,57,58,59,60,61,0,
- 63,64,65,66,0,1,2,70,71,0,
- 1,74,8,9,77,78,79,80,81,82,
- 83,84,85,86,87,88,0,1,2,3,
- 4,5,6,7,8,9,10,11,12,13,
- 14,15,16,17,18,19,20,21,22,23,
- 24,25,26,27,28,29,30,31,32,33,
- 34,35,36,37,38,39,40,41,42,43,
- 0,45,46,47,48,49,50,51,52,53,
- 54,55,56,57,58,59,60,61,0,63,
- 64,65,66,0,1,2,70,71,99,100,
- 74,8,9,77,78,79,80,81,82,83,
- 84,85,86,87,88,0,1,2,3,4,
- 5,6,7,8,9,10,11,12,13,14,
- 15,16,17,18,19,20,21,22,23,24,
- 25,26,27,28,29,30,31,32,33,34,
- 35,36,37,38,39,40,41,42,43,0,
- 45,46,47,48,49,50,51,52,53,54,
- 55,56,57,58,59,60,61,0,63,64,
- 65,66,5,6,7,70,71,99,100,74,
- 0,121,77,78,79,80,81,82,83,84,
- 85,86,87,88,0,1,2,3,4,5,
- 6,7,8,9,10,11,12,13,14,15,
- 16,17,18,19,20,21,22,23,24,25,
- 26,27,28,29,30,31,32,33,34,35,
- 36,37,38,39,40,41,42,43,0,45,
- 46,47,48,49,50,51,52,53,54,55,
- 56,57,58,59,60,61,0,63,64,65,
- 66,5,6,7,70,71,0,0,74,0,
- 4,77,78,79,80,81,82,83,84,85,
- 86,87,88,0,1,2,3,4,5,6,
- 7,8,9,10,11,12,13,14,15,16,
- 17,18,19,20,21,22,23,24,25,26,
- 27,28,29,30,31,32,33,34,35,36,
- 37,38,39,40,41,42,43,0,45,46,
- 47,48,49,50,51,52,53,54,55,56,
- 57,58,59,60,61,0,63,64,65,66,
- 5,6,7,70,71,0,0,74,3,3,
- 77,78,79,80,81,82,83,84,85,86,
- 87,88,0,1,2,3,4,5,6,7,
- 8,9,10,11,12,13,14,15,16,17,
- 18,19,20,21,22,23,24,25,26,27,
- 28,29,30,31,32,33,34,35,36,37,
- 38,39,40,41,42,43,0,45,46,47,
- 48,49,50,51,52,53,54,55,56,57,
- 58,59,60,61,0,63,64,65,66,0,
- 1,2,70,71,0,11,74,8,0,77,
- 78,79,80,81,82,83,84,85,86,87,
- 88,0,1,2,3,4,5,6,7,8,
- 9,10,11,12,13,14,15,16,17,18,
- 19,20,21,22,23,24,25,26,27,28,
- 29,30,31,32,33,34,35,36,37,38,
- 39,40,41,42,43,0,45,46,47,48,
- 49,50,51,52,53,54,55,56,57,58,
- 59,60,61,75,63,64,65,66,0,95,
- 96,70,71,0,0,74,92,4,77,78,
- 79,80,81,82,83,84,85,86,87,88,
+ 40,41,42,43,44,45,46,47,48,49,
+ 50,51,52,53,54,55,56,57,58,0,
+ 60,61,62,0,64,65,66,67,5,6,
+ 7,71,72,0,0,75,3,77,78,79,
+ 80,81,82,83,84,85,86,87,88,89,
0,1,2,3,4,5,6,7,8,9,
10,11,12,13,14,15,16,17,18,19,
20,21,22,23,24,25,26,27,28,29,
30,31,32,33,34,35,36,37,38,39,
- 40,41,42,43,0,45,46,47,48,49,
- 50,51,52,53,54,55,56,57,58,59,
- 60,61,0,63,64,65,66,5,6,7,
- 70,71,0,0,74,3,3,77,78,79,
- 80,81,82,83,84,85,86,87,88,0,
- 1,2,3,4,5,6,7,8,9,10,
- 11,12,13,14,15,16,17,18,19,20,
- 21,22,23,24,25,26,27,28,29,30,
- 31,32,33,34,35,36,37,38,39,40,
- 41,42,43,0,45,46,47,48,49,50,
- 51,52,53,54,55,56,57,58,59,60,
- 61,0,63,64,65,66,5,6,7,70,
- 71,0,0,74,3,3,77,78,79,80,
- 81,82,83,84,85,86,87,88,0,1,
- 2,3,4,5,6,7,8,9,10,11,
- 12,13,14,15,16,17,18,19,20,21,
- 22,23,24,25,26,27,28,29,30,31,
- 32,33,34,35,36,37,38,39,40,41,
- 42,43,0,45,46,47,48,49,50,51,
- 52,53,54,55,56,57,58,59,60,61,
- 0,63,64,65,66,5,6,7,70,71,
- 0,0,74,0,121,77,78,79,80,81,
- 82,83,84,85,86,87,88,0,1,2,
- 3,4,5,6,7,8,9,0,11,12,
- 13,14,15,16,17,18,19,20,21,22,
- 23,24,25,26,27,44,29,30,31,32,
- 33,34,35,36,37,38,39,40,41,42,
- 43,0,45,46,47,48,49,50,51,52,
- 53,54,55,56,57,58,59,60,61,0,
- 77,64,0,1,2,3,4,5,6,7,
- 8,9,10,11,12,13,14,15,16,17,
- 18,19,20,21,22,23,24,25,26,27,
- 28,29,30,31,32,33,34,35,36,37,
- 0,1,2,123,4,43,44,0,1,2,
- 3,4,5,6,7,8,9,0,11,12,
- 3,59,60,61,0,63,0,65,66,0,
- 4,5,6,7,10,73,0,8,76,0,
- 1,2,3,4,5,6,7,8,9,90,
- 91,89,0,1,2,3,4,5,6,7,
- 8,9,0,11,12,0,0,105,106,107,
+ 40,41,42,43,44,45,46,47,48,49,
+ 50,51,52,53,54,55,56,57,58,76,
+ 60,61,62,0,64,65,66,67,5,6,
+ 7,71,72,0,0,75,3,77,78,79,
+ 80,81,82,83,84,85,86,87,88,89,
+ 0,1,2,3,4,5,6,7,8,9,
+ 10,11,12,13,14,15,16,17,18,19,
+ 20,21,22,23,24,25,26,27,28,29,
+ 30,31,32,33,34,35,36,37,38,39,
+ 40,41,42,43,44,45,46,47,48,49,
+ 50,51,52,53,54,55,56,57,58,0,
+ 60,61,62,0,64,65,66,67,5,6,
+ 7,71,72,0,0,75,3,77,78,79,
+ 80,81,82,83,84,85,86,87,88,89,
+ 0,1,2,3,4,5,6,7,8,9,
+ 10,11,12,13,14,15,16,17,18,19,
+ 20,21,22,23,24,25,26,27,28,29,
+ 30,31,32,33,34,35,36,37,38,39,
+ 40,41,42,43,44,45,46,47,48,49,
+ 50,51,52,53,54,55,56,57,58,0,
+ 60,61,62,0,64,65,66,67,0,1,
+ 2,71,72,0,0,75,8,9,78,79,
+ 80,81,82,83,84,85,86,87,88,89,
+ 0,1,2,3,4,5,6,7,8,9,
+ 10,11,12,13,14,15,16,17,18,19,
+ 20,21,22,23,24,25,26,27,28,29,
+ 30,31,32,33,34,35,36,37,38,39,
+ 40,41,42,43,44,45,46,47,48,49,
+ 50,51,52,53,54,55,56,57,58,76,
+ 60,61,62,0,64,65,66,67,0,1,
+ 2,71,72,100,101,75,8,9,78,79,
+ 80,81,82,83,84,85,86,87,88,89,
+ 0,1,2,3,4,5,6,7,8,9,
+ 10,11,12,13,14,15,16,17,18,19,
+ 20,21,22,23,24,25,26,27,28,29,
+ 30,31,32,33,34,35,36,37,38,39,
+ 40,41,42,43,44,45,46,47,48,49,
+ 50,51,52,53,54,55,56,57,58,0,
+ 60,61,62,0,64,65,66,67,5,6,
+ 7,71,72,100,101,75,0,0,78,79,
+ 80,81,82,83,84,85,86,87,88,89,
+ 0,1,2,3,4,5,6,7,8,9,
+ 10,11,12,13,14,15,16,17,18,19,
+ 20,21,22,23,24,25,26,27,28,29,
+ 30,31,32,33,34,35,36,37,38,39,
+ 40,41,42,43,44,45,46,47,48,49,
+ 50,51,52,53,54,55,56,57,58,73,
+ 60,61,62,0,64,65,66,67,5,6,
+ 7,71,72,0,0,75,0,4,78,79,
+ 80,81,82,83,84,85,86,87,88,89,
+ 0,1,2,3,4,5,6,7,8,9,
+ 10,11,12,13,14,15,16,17,18,19,
+ 20,21,22,23,24,25,26,27,28,29,
+ 30,31,32,33,34,35,36,37,38,39,
+ 40,41,42,43,44,45,46,47,48,49,
+ 50,51,52,53,54,55,56,57,58,73,
+ 60,61,62,0,64,65,66,67,5,6,
+ 7,71,72,0,0,75,3,3,78,79,
+ 80,81,82,83,84,85,86,87,88,89,
+ 0,1,2,3,4,5,6,7,8,9,
+ 10,11,12,13,14,15,16,17,18,19,
+ 20,21,22,23,24,25,26,27,28,29,
+ 30,31,32,33,34,35,36,37,38,39,
+ 40,41,42,43,44,45,46,47,48,49,
+ 50,51,52,53,54,55,56,57,58,0,
+ 60,61,62,0,64,65,66,67,0,1,
+ 2,71,72,0,11,75,8,4,78,79,
+ 80,81,82,83,84,85,86,87,88,89,
+ 0,1,2,3,4,5,6,7,8,9,
+ 10,11,12,13,14,15,16,17,18,19,
+ 20,21,22,23,24,25,26,27,28,29,
+ 30,31,32,33,34,35,36,37,38,39,
+ 40,41,42,43,44,45,46,47,48,49,
+ 50,51,52,53,54,55,56,57,58,0,
+ 60,61,62,4,64,65,66,67,0,96,
+ 97,71,72,0,0,75,3,3,78,79,
+ 80,81,82,83,84,85,86,87,88,89,
+ 0,1,2,3,4,5,6,7,8,9,
+ 10,11,12,13,14,15,16,17,18,19,
+ 20,21,22,23,24,25,26,27,28,29,
+ 30,31,32,33,34,35,36,37,38,39,
+ 40,41,42,43,44,45,46,47,48,49,
+ 50,51,52,53,54,55,56,57,58,0,
+ 60,61,62,0,64,65,66,67,5,6,
+ 7,71,72,0,0,75,3,3,78,79,
+ 80,81,82,83,84,85,86,87,88,89,
+ 0,1,2,3,4,5,6,7,8,9,
+ 10,11,12,13,14,15,16,17,18,19,
+ 20,21,22,23,24,25,26,27,28,29,
+ 30,31,32,33,34,35,36,37,38,39,
+ 40,41,42,43,44,45,46,47,48,49,
+ 50,51,52,53,54,55,56,57,58,0,
+ 60,61,62,0,64,65,66,67,5,6,
+ 7,71,72,0,0,75,3,3,78,79,
+ 80,81,82,83,84,85,86,87,88,89,
0,1,2,3,4,5,6,7,8,9,
10,11,12,13,14,15,16,17,18,19,
20,21,22,23,24,25,26,27,28,29,
- 30,31,32,33,34,35,36,37,0,1,
- 2,0,0,43,44,3,8,5,6,7,
- 0,0,10,11,12,73,5,6,7,59,
- 60,61,67,63,72,65,66,0,1,2,
- 28,4,0,73,120,0,76,0,1,2,
- 38,39,44,41,42,10,0,1,2,89,
- 4,5,6,7,0,0,0,11,12,5,
- 6,7,0,62,62,105,106,107,0,67,
- 68,69,10,62,72,73,44,75,76,25,
- 26,27,27,29,30,31,32,33,34,35,
- 36,37,90,91,92,93,94,95,96,97,
- 98,99,100,101,102,103,104,70,71,74,
- 108,109,110,111,112,113,114,115,116,117,
- 118,119,120,0,122,69,3,0,5,6,
- 7,0,1,10,11,12,74,0,0,1,
- 2,0,4,5,6,7,5,6,7,11,
- 12,28,0,0,1,2,25,4,5,6,
- 7,38,39,11,41,42,25,26,27,0,
- 29,30,31,32,33,34,35,36,37,0,
- 11,12,0,1,2,62,4,5,6,7,
- 67,68,69,11,12,72,73,44,75,76,
+ 30,31,32,33,34,35,36,37,38,39,
+ 40,41,42,43,44,45,46,47,48,49,
+ 50,51,52,53,54,55,56,57,58,0,
+ 60,61,62,0,64,65,66,67,5,6,
+ 7,71,72,0,0,75,0,1,78,79,
+ 80,81,82,83,84,85,86,87,88,89,
0,1,2,3,4,5,6,7,8,9,
- 73,11,12,90,91,92,93,94,95,96,
- 97,98,99,100,101,102,103,104,0,1,
- 2,108,109,110,111,112,113,114,115,116,
- 117,118,119,120,0,122,0,1,2,3,
+ 27,11,12,13,14,15,16,17,18,19,
+ 20,21,22,23,24,25,26,27,28,29,
+ 0,31,32,33,34,35,36,37,38,39,
+ 40,41,42,43,44,45,46,47,48,49,
+ 50,51,52,53,54,55,56,57,58,0,
+ 60,61,62,94,95,65,0,1,2,3,
4,5,6,7,8,9,10,11,12,13,
14,15,16,17,18,19,20,21,22,23,
- 24,25,26,27,28,29,30,31,32,33,
- 34,35,36,37,105,106,107,0,0,43,
- 44,0,1,2,3,4,5,6,7,8,
- 9,13,11,12,0,59,60,61,0,63,
- 0,65,66,0,1,2,0,4,5,6,
- 7,13,76,0,11,12,0,11,5,6,
- 7,43,44,0,0,89,92,14,15,16,
+ 24,25,26,27,0,0,30,0,32,33,
+ 34,35,36,37,38,39,40,10,124,0,
+ 44,0,0,4,5,6,7,5,6,7,
+ 11,12,0,1,2,59,60,61,62,0,
+ 64,0,66,67,5,6,7,25,26,27,
+ 74,0,0,77,32,33,34,35,36,37,
+ 38,39,40,94,95,13,90,0,0,1,
+ 2,3,4,5,6,7,8,9,74,11,
+ 12,76,106,107,108,0,1,2,3,4,
+ 5,6,7,8,9,10,11,12,13,14,
+ 15,16,17,18,19,20,21,22,23,24,
+ 25,26,27,0,0,30,64,32,33,34,
+ 35,36,37,38,39,40,0,0,121,44,
+ 3,0,5,6,7,94,95,10,11,12,
+ 0,10,74,76,59,60,61,62,0,64,
+ 10,66,67,0,103,28,29,30,0,74,
+ 0,30,77,0,4,5,6,7,41,42,
+ 12,0,105,59,0,90,63,110,111,112,
+ 113,114,115,116,117,118,119,120,0,1,
+ 63,106,107,108,31,68,69,70,10,73,
+ 73,74,31,76,77,0,1,2,3,4,
+ 5,6,7,8,9,75,11,12,91,92,
+ 93,94,95,96,97,98,99,100,101,102,
+ 103,104,105,0,1,2,109,110,111,112,
+ 113,114,115,116,117,118,119,120,121,0,
+ 123,0,3,105,5,6,7,69,110,10,
+ 11,12,0,1,2,3,4,5,6,7,
+ 8,9,10,11,12,0,102,28,29,30,
+ 5,6,7,0,0,1,2,25,26,27,
+ 41,42,30,10,32,33,34,35,36,37,
+ 38,39,40,0,1,2,3,4,5,6,
+ 7,0,63,30,11,12,0,68,69,70,
+ 4,70,73,74,0,76,77,0,1,2,
+ 68,69,0,1,2,11,4,5,6,7,
+ 91,92,93,94,95,96,97,98,99,100,
+ 101,102,103,104,105,71,72,0,109,110,
+ 111,112,113,114,115,116,117,118,119,120,
+ 121,68,123,0,1,2,3,4,5,6,
+ 7,8,9,10,11,12,13,14,15,16,
17,18,19,20,21,22,23,24,25,26,
- 27,64,29,30,31,32,33,34,35,36,
- 37,0,1,2,73,4,5,6,7,123,
+ 27,0,0,30,3,32,33,34,35,36,
+ 37,38,39,40,0,1,2,44,4,0,
+ 96,97,8,9,5,6,7,0,1,2,
+ 73,4,59,60,61,62,0,64,0,66,
+ 67,0,1,2,25,26,27,0,10,13,
+ 77,32,33,34,35,36,37,38,39,40,
+ 0,1,2,90,4,63,0,1,2,3,
+ 4,5,6,7,8,9,10,11,12,13,
+ 14,15,16,17,18,19,20,21,22,23,
+ 24,25,26,27,0,0,30,124,32,33,
+ 34,35,36,37,38,39,40,69,13,0,
+ 44,0,71,72,5,6,7,0,1,2,
+ 0,4,5,6,7,59,60,61,62,0,
+ 64,93,66,67,25,26,27,0,0,44,
+ 0,32,33,34,35,36,37,38,39,40,
+ 10,0,1,2,59,0,90,28,29,0,
+ 1,2,3,4,5,6,7,8,9,10,
+ 11,12,13,14,15,16,17,18,19,20,
+ 21,22,23,24,25,26,27,93,0,30,
+ 124,32,33,34,35,36,37,38,39,40,
+ 0,63,0,44,0,1,2,5,6,7,
+ 59,0,1,2,10,75,28,29,59,60,
+ 61,62,63,64,104,66,67,25,26,27,
+ 0,1,2,78,32,33,34,35,36,37,
+ 38,39,40,106,107,108,0,1,2,90,
0,1,2,3,4,5,6,7,8,9,
10,11,12,13,14,15,16,17,18,19,
- 20,21,22,23,24,25,26,27,28,29,
- 30,31,32,33,34,35,36,37,0,1,
- 2,95,96,43,44,0,1,2,3,4,
- 5,6,7,8,9,10,11,12,102,59,
- 60,61,0,63,101,65,66,5,6,7,
- 25,26,27,28,29,30,31,32,33,34,
- 35,36,37,0,1,2,3,4,124,89,
- 0,8,9,10,0,1,2,0,1,2,
- 3,4,5,6,7,8,9,62,11,12,
- 0,28,67,68,0,1,2,0,4,5,
- 6,7,0,123,0,1,2,3,4,5,
- 6,7,8,9,10,11,12,13,14,15,
- 16,17,18,19,20,21,22,23,24,25,
- 26,27,28,29,30,31,32,33,34,35,
- 36,37,40,73,67,0,0,43,44,0,
- 0,5,6,7,4,5,6,7,13,62,
- 11,11,12,59,60,61,62,63,0,65,
- 66,25,26,27,0,29,30,31,32,33,
- 34,35,36,37,0,0,0,0,43,44,
- 5,6,7,89,0,1,2,3,4,5,
- 6,7,8,9,10,11,12,13,14,15,
- 16,17,18,19,20,21,22,23,24,25,
- 26,27,28,29,30,31,32,33,34,35,
- 36,37,0,1,2,3,4,43,44,0,
- 8,9,0,69,95,96,62,5,6,7,
- 0,1,2,59,60,61,72,63,0,65,
- 66,93,94,5,6,7,0,25,26,27,
- 76,29,30,31,32,33,34,35,36,37,
- 0,97,98,89,0,1,2,3,4,5,
+ 20,21,22,23,24,25,26,27,0,75,
+ 30,0,32,33,34,35,36,37,38,39,
+ 40,0,11,12,44,0,1,2,3,4,
+ 5,6,7,8,9,59,11,12,0,59,
+ 60,61,62,0,64,0,66,67,3,0,
+ 0,1,2,3,4,10,0,77,8,9,
+ 10,0,0,1,2,0,4,5,6,7,
+ 90,0,1,2,3,4,5,6,7,8,
+ 9,10,11,12,13,14,15,16,17,18,
+ 19,20,21,22,23,24,25,26,27,74,
+ 0,30,59,32,33,34,35,36,37,38,
+ 39,40,63,68,69,44,0,1,68,69,
+ 70,59,0,73,0,3,76,3,0,1,
+ 59,60,61,62,10,64,0,66,67,11,
+ 0,25,0,93,79,5,6,7,77,0,
+ 0,0,1,2,3,4,5,6,7,8,
+ 9,90,0,1,2,3,4,5,6,7,
+ 8,9,10,11,12,13,14,15,16,17,
+ 18,19,20,21,22,23,24,25,26,27,
+ 68,0,30,69,32,33,34,35,36,37,
+ 38,39,40,63,104,63,44,0,1,2,
+ 3,4,5,6,7,8,9,68,11,12,
+ 70,59,60,61,62,74,64,0,66,67,
+ 94,95,0,1,2,3,4,10,0,77,
+ 8,9,0,1,2,3,4,5,6,7,
+ 8,9,90,0,1,2,3,4,5,6,
+ 7,8,9,10,11,12,13,14,15,16,
+ 17,18,19,20,21,22,23,24,25,26,
+ 27,74,0,30,93,32,33,34,35,36,
+ 37,38,39,40,12,0,69,44,0,1,
+ 2,3,4,5,6,7,8,9,0,11,
+ 12,73,59,60,61,62,74,64,10,66,
+ 67,0,1,2,3,4,5,6,7,8,
+ 9,0,11,12,0,0,1,2,0,5,
+ 6,7,11,90,0,1,2,3,4,5,
6,7,8,9,10,11,12,13,14,15,
16,17,18,19,20,21,22,23,24,25,
- 26,27,28,29,30,31,32,33,34,35,
- 36,37,0,1,2,0,0,43,44,4,
+ 26,27,0,0,30,0,32,33,34,35,
+ 36,37,38,39,40,77,91,92,44,68,
0,1,2,3,4,5,6,7,8,9,
- 10,0,1,59,60,61,0,63,0,65,
- 66,26,11,0,1,2,3,4,28,0,
- 76,8,9,10,0,0,44,0,0,1,
- 2,4,0,89,0,1,2,3,4,5,
- 6,7,8,9,10,11,12,13,14,15,
- 16,17,18,19,20,21,22,23,24,25,
- 26,27,28,29,30,31,32,33,34,35,
- 36,37,44,0,1,2,44,43,44,0,
- 67,68,69,75,0,72,62,0,75,62,
- 105,106,107,59,60,61,72,63,92,65,
- 66,0,0,1,2,92,4,5,6,7,
- 76,10,10,11,12,90,91,44,0,1,
- 2,97,98,89,0,1,2,3,4,5,
- 6,7,8,9,10,11,12,13,14,15,
- 16,17,18,19,20,21,22,23,24,25,
- 26,27,28,29,30,31,32,33,34,35,
- 36,37,75,0,1,2,0,43,44,68,
- 68,0,1,2,3,4,5,6,7,8,
- 9,0,103,59,60,61,102,63,0,65,
- 66,104,4,92,92,0,109,110,111,112,
- 113,114,115,116,117,118,119,44,0,1,
- 2,0,0,89,0,1,2,3,4,5,
- 6,7,8,9,10,11,12,13,14,15,
- 16,17,18,19,20,21,22,23,24,25,
- 26,27,28,29,30,31,32,33,34,35,
- 36,37,44,0,1,2,75,43,44,0,
- 1,2,3,4,5,6,7,8,9,0,
- 75,0,3,59,60,61,0,63,0,65,
- 66,0,1,2,3,4,5,6,7,8,
- 9,0,11,12,0,1,2,44,0,1,
- 2,90,91,89,0,1,2,3,4,5,
- 6,7,8,9,10,11,12,13,14,15,
- 16,17,18,19,20,21,22,23,24,25,
- 26,27,28,29,30,31,32,33,34,35,
- 36,37,44,0,75,67,75,43,44,0,
- 1,2,3,4,73,0,0,8,9,10,
- 0,1,2,59,60,61,75,63,13,65,
- 66,0,1,2,3,4,5,6,7,8,
- 9,38,39,0,1,2,3,4,0,0,
- 0,8,9,89,11,12,13,14,15,16,
- 17,18,19,20,21,22,23,24,0,1,
- 2,3,4,5,6,7,67,68,63,11,
- 12,38,39,40,41,42,38,39,45,46,
- 47,48,49,50,51,52,53,54,55,56,
- 57,58,0,0,73,0,0,64,0,1,
- 2,3,4,70,71,72,8,9,10,11,
- 12,13,14,15,16,17,18,19,20,21,
- 22,23,24,0,0,67,0,1,2,3,
- 4,5,6,7,8,9,38,39,40,41,
- 42,0,0,45,46,47,48,49,50,51,
- 52,53,54,55,56,57,58,62,62,0,
- 1,2,64,4,5,6,7,0,1,2,
- 3,4,74,0,76,8,9,10,11,12,
- 13,14,15,16,17,18,19,20,21,22,
- 23,24,0,1,2,3,4,104,0,73,
- 8,9,109,44,62,38,39,40,41,42,
- 69,0,45,46,47,48,49,50,51,52,
- 53,54,55,56,57,58,103,0,0,0,
- 3,64,3,0,0,1,2,3,4,10,
- 67,74,8,9,0,11,12,13,14,15,
- 16,17,18,19,20,21,22,23,24,67,
- 0,1,2,3,4,0,1,2,8,9,
- 72,43,38,39,40,41,42,0,67,45,
- 46,47,48,49,50,51,52,53,54,55,
- 56,57,58,0,67,62,67,68,64,0,
- 1,2,3,4,70,71,73,8,9,0,
- 11,12,13,14,15,16,17,18,19,20,
- 21,22,23,24,0,0,0,3,0,3,
- 0,3,0,0,10,70,71,38,39,40,
- 41,42,10,10,45,46,47,48,49,50,
- 51,52,53,54,55,56,57,58,0,0,
- 28,28,0,64,0,1,2,3,4,70,
- 71,62,8,9,0,11,12,13,14,15,
- 16,17,18,19,20,21,22,23,24,0,
- 0,67,68,69,69,67,72,0,0,1,
- 2,69,38,39,40,41,42,10,10,45,
- 46,47,48,49,50,51,52,53,54,55,
- 56,57,58,93,94,28,0,1,64,0,
- 1,2,3,4,70,71,10,8,9,10,
+ 10,28,29,59,60,61,62,0,64,0,
+ 66,67,0,1,2,0,4,5,6,7,
+ 30,0,10,11,12,0,0,96,97,0,
+ 0,1,2,4,90,0,1,2,3,4,
+ 5,6,7,8,9,10,11,12,13,14,
+ 15,16,17,18,19,20,21,22,23,24,
+ 25,26,27,91,92,30,59,32,33,34,
+ 35,36,37,38,39,40,0,0,63,44,
+ 0,69,0,1,2,3,4,5,6,7,
+ 8,9,63,68,59,60,61,62,0,64,
+ 0,66,67,0,0,93,0,31,0,3,
+ 10,31,91,92,11,0,1,2,3,4,
+ 0,1,2,8,9,90,11,12,13,14,
+ 15,16,17,18,19,20,21,22,23,24,
+ 63,0,0,28,29,0,31,0,1,2,
+ 73,4,5,6,7,10,41,42,43,0,
+ 45,46,47,48,49,50,51,52,53,54,
+ 55,56,57,58,68,98,99,77,74,59,
+ 65,0,1,2,3,4,71,72,73,8,
+ 9,10,11,12,13,14,15,16,17,18,
+ 19,20,21,22,23,24,59,0,0,28,
+ 29,3,31,0,69,0,74,76,10,74,
+ 0,0,41,42,43,10,45,46,47,48,
+ 49,50,51,52,53,54,55,56,57,58,
+ 0,1,2,3,4,25,65,27,8,9,
+ 0,0,1,2,3,4,75,0,77,8,
+ 9,10,11,12,13,14,15,16,17,18,
+ 19,20,21,22,23,24,68,69,70,28,
+ 29,73,31,0,69,70,0,1,2,76,
+ 0,0,41,42,43,4,45,46,47,48,
+ 49,50,51,52,53,54,55,56,57,58,
+ 103,0,91,92,0,1,65,26,68,0,
+ 1,2,3,4,10,0,75,8,9,0,
11,12,13,14,15,16,17,18,19,20,
- 21,22,23,24,0,93,94,0,1,2,
- 101,4,0,0,1,8,9,38,39,40,
- 41,42,74,10,45,46,47,48,49,50,
+ 21,22,23,24,0,59,63,28,29,0,
+ 31,0,0,1,2,0,73,5,6,7,
+ 41,42,43,11,45,46,47,48,49,50,
51,52,53,54,55,56,57,58,0,1,
- 2,0,0,64,68,3,0,1,2,3,
- 4,44,10,74,8,9,10,11,12,13,
- 14,15,16,17,18,19,20,21,22,23,
- 24,0,1,2,62,0,5,6,7,0,
- 0,68,11,0,38,39,40,41,42,10,
- 10,45,46,47,48,49,50,51,52,53,
- 54,55,56,57,58,0,0,28,3,0,
- 68,0,0,8,0,44,11,12,12,5,
- 6,7,10,40,10,121,0,1,2,3,
- 4,5,6,7,8,9,10,11,12,0,
- 0,0,28,38,39,0,41,42,68,69,
- 45,25,26,27,28,29,30,31,32,33,
- 34,35,36,37,0,0,120,62,93,94,
- 0,0,67,0,69,70,71,72,69,40,
- 75,69,0,69,0,40,75,0,76,0,
- 25,0,27,67,68,90,91,10,93,10,
- 95,96,97,98,99,100,101,102,103,104,
- 0,38,39,108,73,110,111,112,113,114,
- 115,116,117,118,119,0,1,2,3,4,
- 90,91,62,8,9,0,11,12,13,14,
+ 2,98,99,69,65,0,1,2,3,4,
+ 71,72,63,8,9,70,11,12,13,14,
15,16,17,18,19,20,21,22,23,24,
- 0,1,2,69,4,68,72,68,8,9,
- 73,90,91,38,39,40,41,42,0,78,
+ 0,59,63,28,29,0,31,0,74,0,
+ 5,6,7,74,73,10,41,42,43,10,
45,46,47,48,49,50,51,52,53,54,
- 55,56,57,58,0,1,2,3,4,64,
- 0,0,8,9,44,11,12,13,14,15,
- 16,17,18,19,20,21,22,23,24,0,
- 1,2,3,4,0,0,0,8,9,0,
- 0,0,38,39,40,41,42,0,0,45,
- 46,47,48,49,50,51,52,53,54,55,
- 56,57,58,75,0,1,2,3,4,0,
- 0,67,8,9,4,11,12,13,14,15,
- 16,17,18,19,20,21,22,23,24,0,
- 1,2,0,4,0,3,26,8,9,0,
- 0,62,38,39,40,41,42,72,72,45,
+ 55,56,57,58,0,30,91,92,0,0,
+ 65,0,1,2,3,4,71,72,10,8,
+ 9,0,11,12,13,14,15,16,17,18,
+ 19,20,21,22,23,24,0,0,30,28,
+ 29,0,31,0,74,70,0,70,69,70,
+ 73,0,41,42,43,4,45,46,47,48,
+ 49,50,51,52,53,54,55,56,57,58,
+ 0,0,63,0,0,0,65,0,1,2,
+ 3,4,71,72,10,8,9,10,11,12,
+ 13,14,15,16,17,18,19,20,21,22,
+ 23,24,31,0,63,28,29,0,31,63,
+ 73,0,0,70,73,0,73,10,41,42,
+ 43,10,45,46,47,48,49,50,51,52,
+ 53,54,55,56,57,58,63,30,63,98,
+ 99,30,65,73,70,0,1,2,3,4,
+ 0,77,75,8,9,10,11,12,13,14,
+ 15,16,17,18,19,20,21,22,23,24,
+ 0,1,2,28,29,63,31,70,8,0,
+ 1,2,0,1,2,0,41,42,43,4,
+ 45,46,47,48,49,50,51,52,53,54,
+ 55,56,57,58,0,1,2,3,4,0,
+ 1,2,8,9,0,11,12,13,14,15,
+ 16,17,18,19,20,21,22,23,24,59,
+ 0,0,28,29,0,31,0,122,59,0,
+ 10,59,0,4,10,41,42,43,63,45,
46,47,48,49,50,51,52,53,54,55,
- 56,57,58,0,1,2,3,4,64,0,
- 0,8,9,4,11,12,13,14,15,16,
- 17,18,19,20,21,22,23,24,0,1,
- 2,0,4,0,0,4,8,9,4,0,
- 0,38,39,40,41,42,67,73,45,46,
- 47,48,49,50,51,52,53,54,55,56,
- 57,58,0,1,2,3,4,0,0,0,
- 8,9,62,11,12,13,14,15,16,17,
- 18,19,20,21,22,23,24,0,0,0,
- 0,3,0,62,0,62,62,10,0,10,
- 38,39,40,41,42,0,12,45,46,47,
- 48,49,50,51,52,53,54,55,56,57,
- 58,0,1,2,3,4,0,0,0,8,
- 9,62,11,12,13,14,15,16,17,18,
- 19,20,21,22,23,24,0,0,0,3,
- 0,0,0,0,62,68,69,68,69,38,
- 39,40,41,42,72,67,45,46,47,48,
+ 56,57,58,0,0,0,121,0,59,65,
+ 0,1,2,3,4,44,0,10,8,9,
+ 0,11,12,13,14,15,16,17,18,19,
+ 20,21,22,23,24,0,0,0,28,29,
+ 0,31,63,69,70,10,10,77,0,0,
+ 13,41,42,43,0,45,46,47,48,49,
+ 50,51,52,53,54,55,56,57,58,0,
+ 0,0,1,2,3,4,69,0,68,8,
+ 9,44,11,12,13,14,15,16,17,18,
+ 19,20,21,22,23,24,59,93,122,28,
+ 29,0,31,0,69,69,3,0,0,0,
+ 70,10,41,42,43,0,45,46,47,48,
+ 49,50,51,52,53,54,55,56,57,58,
+ 0,0,0,3,0,3,65,0,8,70,
+ 70,11,12,0,1,2,3,4,5,6,
+ 7,8,9,76,0,0,102,3,28,29,
+ 0,1,2,3,4,5,6,7,8,9,
+ 69,41,42,43,0,1,2,68,4,5,
+ 6,7,0,76,76,11,12,0,0,1,
+ 2,3,4,63,0,0,8,9,68,0,
+ 70,71,72,73,70,74,76,70,0,1,
+ 2,3,4,0,0,0,8,9,10,0,
+ 0,91,92,3,94,0,96,97,98,99,
+ 100,101,102,103,104,105,0,0,0,109,
+ 3,111,112,113,114,115,116,117,118,119,
+ 120,0,1,2,3,4,68,63,76,8,
+ 9,74,11,12,13,14,15,16,17,18,
+ 19,20,21,22,23,24,68,69,0,28,
+ 29,3,31,0,0,0,3,3,3,74,
+ 65,0,41,42,43,76,45,46,47,48,
49,50,51,52,53,54,55,56,57,58,
- 0,1,2,0,4,5,6,7,0,97,
- 98,3,0,13,14,15,16,17,18,19,
- 20,21,22,23,24,25,26,27,0,29,
- 30,31,32,33,34,35,36,37,10,69,
- 69,69,0,43,72,72,0,0,0,0,
- 1,2,10,4,5,6,7,10,10,59,
- 60,61,13,14,15,16,17,18,19,20,
- 21,22,23,24,25,26,27,0,29,30,
- 31,32,33,34,35,36,37,0,0,0,
- 3,0,43,0,0,0,0,0,10,10,
- 0,10,0,10,76,3,0,0,59,60,
- 61,0,0,0,3,68,28,0,76,73,
- 3,0,0,0,76,3,3,0,41,42,
- 3,0,0,0,3,3,3,0,0,0,
- 3,3,3,0,0,0,0,4,3,72,
- 0,0,0,3,67,0,0,68,0,68,
- 0,68,0,0,0,0,72,72,0,73,
- 73,0,0,73,62,69,0,0,0,0,
- 0,0,75,62,40,0,0,0,75,0,
- 0,0,0,0,0,108,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,122,
+ 0,1,2,3,4,0,0,0,8,9,
+ 3,11,12,13,14,15,16,17,18,19,
+ 20,21,22,23,24,0,0,0,28,29,
+ 3,31,0,0,0,3,3,3,0,0,
+ 0,41,42,43,0,45,46,47,48,49,
+ 50,51,52,53,54,55,56,57,58,0,
+ 1,2,3,4,0,0,0,8,9,3,
+ 11,12,13,14,15,16,17,18,19,20,
+ 21,22,23,24,0,0,0,28,29,3,
+ 31,0,8,68,68,0,0,0,3,3,
+ 41,42,43,122,45,46,47,48,49,50,
+ 51,52,53,54,55,56,57,58,0,1,
+ 2,3,4,0,0,0,8,9,0,11,
+ 12,13,14,15,16,17,18,19,20,21,
+ 22,23,24,0,0,0,28,29,0,31,
+ 0,0,0,0,63,0,0,0,0,41,
+ 42,43,4,45,46,47,48,49,50,51,
+ 52,53,54,55,56,57,58,0,1,2,
+ 3,4,0,0,26,8,9,0,11,12,
+ 13,14,15,16,17,18,19,20,21,22,
+ 23,24,0,0,76,28,29,0,31,0,
+ 125,0,0,0,0,0,0,0,41,42,
+ 43,0,45,46,47,48,49,50,51,52,
+ 53,54,55,56,57,58,0,1,2,0,
+ 4,5,6,7,0,0,0,0,0,13,
+ 14,15,16,17,18,19,20,21,22,23,
+ 24,25,26,27,106,107,108,0,32,33,
+ 34,35,36,37,38,39,40,0,0,0,
+ 44,0,0,0,0,0,0,1,2,0,
+ 4,5,6,7,0,0,60,61,62,13,
+ 14,15,16,17,18,19,20,21,22,23,
+ 24,25,26,27,0,0,0,0,32,33,
+ 34,35,36,37,38,39,40,0,0,0,
+ 44,0,1,2,3,4,5,6,7,8,
+ 9,10,11,12,0,0,60,61,62,0,
+ 0,0,0,0,3,0,25,26,27,0,
+ 0,30,0,32,33,34,35,36,37,38,
+ 39,40,0,1,2,3,4,0,0,0,
+ 8,9,10,0,0,0,0,0,0,0,
+ 0,0,41,42,63,5,6,7,0,68,
+ 69,0,30,0,14,15,16,17,18,19,
+ 20,21,22,23,24,25,26,27,0,68,
+ 0,0,32,33,34,35,36,37,38,39,
+ 40,0,1,2,0,4,5,6,7,0,
+ 0,0,11,12,0,1,2,0,4,5,
+ 6,7,0,0,0,11,12,0,1,2,
+ 109,4,5,6,7,0,0,0,11,12,
+ 0,0,1,2,123,4,0,0,0,8,
+ 9,0,1,2,0,4,0,0,0,8,
+ 9,0,1,2,3,4,0,0,0,8,
+ 9,0,1,2,0,4,0,0,0,8,
+ 9,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 59,0,0,0,0,0,0,0,0,0,
+ 59,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
@@ -1676,375 +1689,395 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym
public interface TermAction {
public final static char termAction[] = {0,
- 6443,6322,5938,5938,5938,5931,5938,5938,5938,5938,
- 6353,5938,5938,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,6326,1,
+ 6401,6280,5896,5896,5896,5889,5896,5896,5896,5896,
+ 6311,5896,5896,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
+ 6284,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,313,1916,1,724,6619,710,658,676,
- 1,1,6443,384,6454,2737,6450,1299,3523,3230,
- 2297,3196,3397,3633,3487,1869,3485,3522,3478,10,
- 6356,6356,6356,6356,6356,6356,6356,6356,6356,6356,
- 6356,6356,6356,6356,6356,6356,6356,6356,6356,6356,
- 6356,6356,6356,6356,6356,6356,6356,6356,6356,6356,
- 6356,6356,6356,6356,6356,6356,6356,6356,6356,6356,
- 6356,6356,6356,6443,6356,6356,6356,6356,6356,6356,
- 6356,6356,6356,6356,6356,6356,6356,6356,6356,6356,
- 6356,395,6356,6356,6356,6356,710,658,676,6356,
- 6356,6443,6443,6356,1222,6356,6356,6356,6356,6356,
- 6356,6356,6356,6356,6356,6356,6356,6356,8,6383,
- 6383,6383,6383,6383,6383,6383,6383,6383,6383,6383,
- 6383,6383,6383,6383,6383,6383,6383,6383,6383,6383,
- 6383,6383,6383,6383,6383,6383,6383,6383,6383,6383,
- 6383,6383,6383,6383,6383,6383,6383,6383,6383,6383,
- 6383,6383,6443,6383,6383,6383,6383,6383,6383,6383,
- 6383,6383,6383,6383,6383,6383,6383,6383,6383,6383,
- 575,6383,6383,6383,6383,710,658,676,6383,6383,
- 6443,6443,6383,2056,6383,6383,6383,6383,6383,6383,
- 6383,6383,6383,6383,6383,6383,6383,6443,6322,5938,
- 5938,5938,5931,5938,5938,5938,5938,6329,5938,5938,
+ 1,1,1,312,1868,1,677,6576,840,779,
+ 805,1,1,310,383,6412,2837,6408,1016,3472,
+ 3690,2297,3629,3311,3624,3444,1541,3404,3398,3361,
+ 10,6314,6314,6314,6314,6314,6314,6314,6314,6314,
+ 6314,6314,6314,6314,6314,6314,6314,6314,6314,6314,
+ 6314,6314,6314,6314,6314,6314,6314,6314,6314,6314,
+ 6314,6314,6314,6314,6314,6314,6314,6314,6314,6314,
+ 6314,6314,6314,6314,6314,6314,6314,6314,6314,6314,
+ 6314,6314,6314,6314,6314,6314,6314,6314,6314,1137,
+ 6314,6314,6314,394,6314,6314,6314,6314,840,779,
+ 805,6314,6314,6401,6401,6314,851,6314,6314,6314,
+ 6314,6314,6314,6314,6314,6314,6314,6314,6314,6314,
+ 8,6341,6341,6341,6341,6341,6341,6341,6341,6341,
+ 6341,6341,6341,6341,6341,6341,6341,6341,6341,6341,
+ 6341,6341,6341,6341,6341,6341,6341,6341,6341,6341,
+ 6341,6341,6341,6341,6341,6341,6341,6341,6341,6341,
+ 6341,6341,6341,6341,6341,6341,6341,6341,6341,6341,
+ 6341,6341,6341,6341,6341,6341,6341,6341,6341,6401,
+ 6341,6341,6341,578,6341,6341,6341,6341,840,779,
+ 805,6341,6341,6401,6401,6341,1520,6341,6341,6341,
+ 6341,6341,6341,6341,6341,6341,6341,6341,6341,6341,
+ 6401,6280,5896,5896,5896,5889,5896,5896,5896,5896,
+ 6287,5896,5896,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,6326,1,1,1,1,
+ 6284,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,6443,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,130,
- 1916,1,724,6619,39,6146,6143,1,1,6443,
- 2974,6454,6140,659,1299,3523,3230,2297,3196,3397,
- 3633,3487,1869,3485,3522,3478,6443,6322,5938,5938,
- 5938,5931,5938,5938,5938,5938,6329,5938,5938,1,
+ 1,1,1,1,1,1,1,1,1,6401,
+ 1,1,1,129,1868,1,677,6576,38,6104,
+ 6101,1,1,35,6401,6412,6098,1111,1016,3472,
+ 3690,2297,3629,3311,3624,3444,1541,3404,3398,3361,
+ 6401,6280,5896,5896,5896,5889,5896,5896,5896,5896,
+ 6287,5896,5896,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,6326,1,1,1,1,1,
+ 6284,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 6443,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,131,1916,
- 1,724,6619,6443,6457,6458,1,1,3324,3280,
- 6454,1113,659,1299,3523,3230,2297,3196,3397,3633,
- 3487,1869,3485,3522,3478,6443,6322,5938,5938,5938,
- 5931,5938,5938,5938,5938,6329,5938,5938,1,1,
+ 1,1,1,1,1,1,1,1,1,1945,
+ 1,1,1,130,1868,1,677,6576,6401,6415,
+ 6416,1,1,3316,3236,6412,857,1111,1016,3472,
+ 3690,2297,3629,3311,3624,3444,1541,3404,3398,3361,
+ 6401,6280,5896,5896,5896,5889,5896,5896,5896,5896,
+ 6287,5896,5896,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,6326,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,6443,
+ 6284,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,583,1916,1,
- 724,6619,710,658,676,1,1,3324,3280,6454,
- 6443,3608,1299,3523,3230,2297,3196,3397,3633,3487,
- 1869,3485,3522,3478,6443,6322,5938,5938,5938,5931,
- 5938,5938,5938,5938,6329,5938,5938,1,1,1,
+ 1,1,1,1,1,1,1,1,1,6401,
+ 1,1,1,586,1868,1,677,6576,840,779,
+ 805,1,1,3316,3236,6412,6401,6401,1016,3472,
+ 3690,2297,3629,3311,3624,3444,1541,3404,3398,3361,
+ 6401,6280,5896,5896,5896,5889,5896,5896,5896,5896,
+ 6287,5896,5896,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,6326,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,6443,1,
+ 6284,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,574,1916,1,724,
- 6619,710,658,676,1,1,40,6443,6454,6443,
- 6482,1299,3523,3230,2297,3196,3397,3633,3487,1869,
- 3485,3522,3478,6443,6322,5938,5938,5938,5931,5938,
- 5938,5938,5938,6329,5938,5938,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,4868,
+ 1,1,1,577,1868,1,677,6576,840,779,
+ 805,1,1,39,6401,6412,6401,6439,1016,3472,
+ 3690,2297,3629,3311,3624,3444,1541,3404,3398,3361,
+ 6401,6280,5896,5896,5896,5889,5896,5896,5896,5896,
+ 6287,5896,5896,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,6326,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,6443,1,1,
+ 6284,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,582,1916,1,724,6619,
- 710,658,676,1,1,6443,6443,6454,925,1947,
- 1299,3523,3230,2297,3196,3397,3633,3487,1869,3485,
- 3522,3478,6443,6322,5938,5938,5938,5931,5938,5938,
- 5938,5938,6329,5938,5938,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,6912,
+ 1,1,1,585,1868,1,677,6576,840,779,
+ 805,1,1,6401,6401,6412,3509,1164,1016,3472,
+ 3690,2297,3629,3311,3624,3444,1541,3404,3398,3361,
+ 6401,6280,5896,5896,5896,5889,5896,5896,5896,5896,
+ 6287,5896,5896,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 6326,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,6443,1,1,1,
+ 6284,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,116,1916,1,724,6619,6443,
- 6457,6458,1,1,358,4649,6454,1662,36,1299,
- 3523,3230,2297,3196,3397,3633,3487,1869,3485,3522,
- 3478,6443,6322,5938,5938,5938,5931,5938,5938,5938,
- 5938,6329,5938,5938,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,6326,
+ 1,1,1,1,1,1,1,1,1,6401,
+ 1,1,1,115,1868,1,677,6576,6401,6415,
+ 6416,1,1,6401,4784,6412,1898,2700,1016,3472,
+ 3690,2297,3629,3311,3624,3444,1541,3404,3398,3361,
+ 6401,6280,5896,5896,5896,5889,5896,5896,5896,5896,
+ 6287,5896,5896,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,6443,1,1,1,1,
+ 6284,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,2005,1916,1,724,6619,6443,4619,
- 686,1,1,6443,6443,6454,6800,2469,1299,3523,
- 3230,2297,3196,3397,3633,3487,1869,3485,3522,3478,
- 6443,6322,5938,5938,5938,5931,5938,5938,5938,5938,
- 6329,5938,5938,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,6326,1,
+ 1,1,1,1,1,1,1,1,1,6401,
+ 1,1,1,2755,1868,1,677,6576,6401,4754,
+ 689,1,1,6401,568,6412,2413,1580,1016,3472,
+ 3690,2297,3629,3311,3624,3444,1541,3404,3398,3361,
+ 6401,6280,5896,5896,5896,5889,5896,5896,5896,5896,
+ 6287,5896,5896,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,6443,1,1,1,1,1,
+ 6284,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,331,1916,1,724,6619,710,658,676,
- 1,1,569,557,6454,1588,2057,1299,3523,3230,
- 2297,3196,3397,3633,3487,1869,3485,3522,3478,6443,
- 6322,5938,5938,5938,5931,5938,5938,5938,5938,6329,
- 5938,5938,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,6326,1,1,
+ 1,1,1,1,1,1,1,1,1,6401,
+ 1,1,1,330,1868,1,677,6576,840,779,
+ 805,1,1,556,543,6412,2290,1185,1016,3472,
+ 3690,2297,3629,3311,3624,3444,1541,3404,3398,3361,
+ 6401,6280,5896,5896,5896,5889,5896,5896,5896,5896,
+ 6287,5896,5896,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,375,1,1,1,1,1,1,
+ 6284,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,576,1916,1,724,6619,710,658,676,1,
- 1,544,6443,6454,1185,5742,1299,3523,3230,2297,
- 3196,3397,3633,3487,1869,3485,3522,3478,6443,6322,
- 5938,5938,5938,5931,5938,5938,5938,5938,6329,5938,
- 5938,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,6326,1,1,1,
+ 1,1,1,1,1,1,1,1,1,6401,
+ 1,1,1,579,1868,1,677,6576,840,779,
+ 805,1,1,6401,6401,6412,5696,4020,1016,3472,
+ 3690,2297,3629,3311,3624,3444,1541,3404,3398,3361,
+ 6401,6280,5896,5896,5896,5889,5896,5896,5896,5896,
+ 6287,5896,5896,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,6443,1,1,1,1,1,1,1,
+ 6284,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 417,1916,1,724,6619,710,658,676,1,1,
- 6443,6443,6454,1,3608,1299,3523,3230,2297,3196,
- 3397,3633,3487,1869,3485,3522,3478,40,5944,5941,
- 5536,877,710,658,676,4894,659,6443,4960,4982,
- 1523,6708,6706,6715,6714,6710,6711,6709,6712,6713,
- 6716,6707,6780,6704,6781,891,6698,6705,6701,6677,
- 6703,6702,6699,6700,6678,4938,4916,6463,5026,5004,
- 6841,6443,4872,1730,1925,6465,1756,5272,1774,6466,
- 6464,1716,6459,6461,6462,6460,5204,6842,6843,122,
- 1864,1498,6443,6207,6207,230,6203,5938,5938,5938,
- 230,230,6211,230,230,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,111,
+ 1,1,1,416,1868,1,677,6576,840,779,
+ 805,1,1,562,6401,6412,6401,3258,1016,3472,
+ 3690,2297,3629,3311,3624,3444,1541,3404,3398,3361,
+ 39,5902,5899,5695,880,840,779,805,5000,1111,
+ 6962,5066,5088,1428,6665,6663,6672,6671,6667,6668,
+ 6666,6669,6670,6673,6664,6737,6661,6738,5044,5022,
+ 6401,6420,6655,6662,6658,6634,6660,6659,6656,6657,
+ 6635,5132,5110,4978,6798,1727,1854,6422,1768,5400,
+ 1821,6423,6421,1715,6417,6418,6419,3108,5379,114,
+ 3683,6799,6800,5220,5242,1498,6401,6165,6165,229,
+ 6161,5896,5896,5896,229,229,6169,229,229,1,
1,1,1,1,1,1,1,1,1,1,
- 230,1,1,1,1,1,1,1,1,1,
- 6443,5944,5941,5930,6482,1,6200,309,5957,5953,
- 3442,5950,6128,6134,6131,1113,659,6443,6137,6137,
- 2867,1,1,1,6443,1318,395,1229,6855,6443,
- 388,710,658,676,6447,230,6443,1662,416,331,
- 5944,5941,3442,877,710,658,676,1113,659,4240,
- 4270,6943,6443,5957,5953,3442,5950,6128,6134,6131,
- 1113,659,6443,6137,6137,320,6443,6878,6879,6880,
- 6443,6207,6207,230,6203,5938,5938,5938,230,230,
- 6280,230,230,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,230,1,
- 1,1,1,1,1,1,1,1,38,6194,
- 6194,387,34,1,6200,6191,6194,6191,6191,6191,
- 6443,395,6191,6191,6191,2203,710,658,676,1,
- 1,1,633,1318,4763,1229,6855,6443,5944,5941,
- 6191,6482,48,230,6446,6443,415,6443,6457,6458,
- 6191,6191,1680,6191,6191,6455,444,1,1,6943,
- 1,6182,6182,6182,225,563,308,6182,6182,5985,
- 5979,5982,1,6119,6191,6878,6879,6880,6443,6191,
- 6191,6191,6158,1850,6191,6191,1445,6191,6191,6780,
- 6704,6781,7005,6698,6705,6701,6677,6703,6702,6699,
- 6700,6678,6191,6191,6191,6191,6191,6191,6191,6191,
- 6191,6191,6191,6191,6191,6191,6191,5076,1636,6454,
- 6191,6191,6191,6191,6191,6191,6191,6191,6191,6191,
- 6191,6191,6191,6443,6191,2933,6310,6443,6310,6310,
- 6310,546,6990,6310,6310,6310,6454,448,445,40,
- 40,226,6482,6289,6295,6292,5994,5988,5991,6298,
- 6298,6310,6443,394,6006,6006,6991,284,5997,6003,
- 6000,6310,6310,2903,6310,6310,6780,6704,6781,6443,
- 6698,6705,6701,6677,6703,6702,6699,6700,6678,439,
- 2041,6772,93,1,1,6310,1,6380,6380,6380,
- 6310,6310,6310,6380,6380,6310,6310,284,6310,6310,
- 6443,5957,5953,3442,5950,6128,6134,6131,1113,659,
- 774,6179,6179,6310,6310,6310,6310,6310,6310,6310,
- 6310,6310,6310,6310,6310,6310,6310,6310,6443,6125,
- 6122,6310,6310,6310,6310,6310,6310,6310,6310,6310,
- 6310,6310,6310,6310,1,6310,6443,5938,5938,230,
- 5938,5931,5938,5938,230,230,5967,230,230,1,
+ 1,1,1,1,447,291,229,6401,1,1,
+ 1,1,1,1,1,1,1,6405,5888,39,
+ 1,6401,224,6439,840,779,805,5943,5937,5940,
+ 330,330,6401,6083,6080,6158,1,1,1,581,
+ 876,113,1408,6812,6317,6323,6320,6737,6661,6738,
+ 229,135,301,415,6655,6662,6658,6634,6660,6659,
+ 6656,6657,6635,5220,5242,6701,6900,139,6401,5915,
+ 5911,2940,5908,6086,6092,6089,857,1111,776,6095,
+ 6095,2244,6835,6836,6837,6401,6165,6165,229,6161,
+ 5896,5896,5896,229,229,6238,229,229,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,230,1,1,10653,1,1,
- 1,1,1,1,6878,6879,6880,532,1,1,
- 5935,6443,5957,5953,3442,5950,6128,6134,6131,1113,
- 659,6268,6179,6179,6443,1,1,1,302,1289,
- 6443,724,6655,96,40,40,118,6482,6419,6425,
- 6422,6744,220,224,6428,6428,136,4649,5976,5970,
- 5973,6271,2428,134,186,6943,6802,6708,6706,6715,
- 6714,6710,6711,6709,6712,6713,6716,6707,6780,6704,
- 6781,3717,6698,6705,6701,6677,6703,6702,6699,6700,
- 6678,287,6018,6018,2203,284,710,658,676,220,
- 6443,5938,5938,230,5938,5931,5938,5938,230,230,
- 230,230,230,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,230,1,
- 1,10653,1,1,1,1,1,1,6443,6457,
- 6458,4619,686,1,5935,30,387,387,6344,387,
- 387,387,387,387,387,6344,6344,6344,2713,1,
- 1,1,578,1289,3024,724,6655,6359,6365,6362,
- 387,387,387,6344,387,387,387,387,387,387,
- 387,387,387,1,5957,5953,5947,5950,6440,6943,
- 6443,5964,5961,6453,6443,10363,10360,345,5944,5941,
- 3429,877,710,658,676,1113,659,6155,331,331,
- 6443,6452,6344,6344,580,6173,6173,454,585,710,
- 658,676,6443,221,6443,5938,5938,230,5938,5931,
- 5938,5938,230,230,230,230,230,1,1,1,
+ 1,1,1,386,6401,229,891,1,1,1,
+ 1,1,1,1,1,1,6401,33,6404,1,
+ 6149,6401,6149,6149,6149,5220,5242,6149,6149,6149,
+ 6401,6411,2203,2015,6158,1,1,1,139,876,
+ 6413,1408,6812,6401,2714,6149,6149,6149,131,229,
+ 394,6410,414,6401,387,840,779,805,6149,6149,
+ 3036,567,2636,1116,133,6900,6077,4249,1968,1921,
+ 1874,1827,1780,1733,1686,1639,1592,1545,6401,1533,
+ 6149,6835,6836,6837,1273,6149,6149,6149,6407,6855,
+ 6149,6149,1492,6149,6149,308,5915,5911,2940,5908,
+ 6086,6092,6089,857,1111,6412,6095,6095,6149,6149,
+ 6149,6149,6149,6149,6149,6149,6149,6149,6149,6149,
+ 6149,6149,6149,6401,6415,6416,6149,6149,6149,6149,
+ 6149,6149,6149,6149,6149,6149,6149,6149,6149,6401,
+ 6149,307,6268,2636,6268,6268,6268,6406,4249,6268,
+ 6268,6268,32,387,387,6299,387,387,387,387,
+ 387,387,6299,6299,6299,580,2905,6268,6268,6268,
+ 6326,6332,6329,404,6401,6415,6416,387,387,387,
+ 6268,6268,6299,6232,387,387,387,387,387,387,
+ 387,387,387,344,39,39,2784,6439,840,779,
+ 805,6401,6268,6235,330,330,6401,6268,6268,6268,
+ 1972,2970,6268,6268,117,6268,6268,6401,9999,9945,
+ 6299,6299,286,5976,5976,4784,283,840,779,805,
+ 6268,6268,6268,6268,6268,6268,6268,6268,6268,6268,
+ 6268,6268,6268,6268,6268,5182,1065,6401,6268,6268,
+ 6268,6268,6268,6268,6268,6268,6268,6268,6268,6268,
+ 6268,636,6268,6401,5896,5896,229,5896,5889,5896,
+ 5896,229,229,5925,229,229,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,230,1,1,10653,1,1,1,1,
- 1,1,1394,6844,633,1,227,1,5935,117,
- 40,6015,6009,6012,6482,710,658,676,6268,6149,
- 4649,331,331,1,1,1,894,1289,112,724,
- 6655,6780,6704,6781,566,6698,6705,6701,6677,6703,
- 6702,6699,6700,6678,127,577,6443,6443,6271,2428,
- 6368,6374,6371,6943,6443,5938,5938,230,5938,5931,
- 5938,5938,230,230,6197,230,230,1,1,1,
+ 1,6401,453,229,4187,1,1,9831,1,1,
+ 1,1,1,1,6401,5902,5899,1,880,225,
+ 4754,689,857,1111,5952,5946,5949,6401,5902,5899,
+ 6841,6439,5893,1,1,1,301,631,1,677,
+ 6612,6401,6083,6080,6737,6661,6738,6401,362,6701,
+ 219,6655,6662,6658,6634,6660,6659,6656,6657,6635,
+ 6401,5902,5899,6900,6439,6107,6401,5896,5896,229,
+ 5896,5889,5896,5896,229,229,229,229,229,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,230,1,1,10653,1,1,1,1,
- 1,1,1,5957,5953,5947,5950,1,5935,6443,
- 5964,5961,228,813,4619,686,3610,6027,6021,6024,
- 49,6125,6122,1,1,1,6283,1289,418,724,
- 6655,5113,5135,710,658,676,6443,6780,6704,6781,
- 221,6698,6705,6701,6677,6703,6702,6699,6700,6678,
- 6443,3455,2573,6943,6443,5938,5938,230,5938,5931,
- 5938,5938,230,230,6197,230,230,1,1,1,
+ 1,1,1,1,357,1,229,219,1,1,
+ 9831,1,1,1,1,1,1,362,6226,226,
+ 1,6401,5182,1065,5973,5967,5970,583,6131,6131,
+ 137,588,840,779,805,5893,1,1,1,118,
+ 631,362,677,6612,6737,6661,6738,438,439,6229,
+ 1,6655,6662,6658,6634,6660,6659,6656,6657,6635,
+ 6116,37,6152,6152,2549,1,6900,4693,4669,6401,
+ 5896,5896,229,5896,5889,5896,5896,229,229,229,
+ 229,229,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,6757,120,229,
+ 220,1,1,9831,1,1,1,1,1,1,
+ 6401,6110,227,1,6401,6415,6416,5985,5979,5982,
+ 6437,48,6083,6080,6413,6412,4693,4669,5893,1,
+ 1,1,1124,631,2676,677,6612,6737,6661,6738,
+ 396,6415,6416,2269,6655,6662,6658,6634,6660,6659,
+ 6656,6657,6635,6835,6836,6837,6401,6211,6208,6900,
+ 6401,5896,5896,229,5896,5889,5896,5896,229,229,
+ 6155,229,229,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,6401,6412,
+ 229,6401,1,1,9831,1,1,1,1,1,
+ 1,6401,2955,6729,1,6401,5915,5911,2940,5908,
+ 6086,6092,6089,857,1111,6437,6137,6137,6401,5893,
+ 1,1,1,47,631,1,677,6612,2784,29,
+ 1,5915,5911,3420,5908,6259,6401,220,857,1111,
+ 366,6401,393,5964,5964,6401,283,5955,5961,5958,
+ 6900,6401,5896,5896,229,5896,5889,5896,5896,229,
+ 229,6155,229,229,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,2203,
+ 138,229,1569,1,1,9831,1,1,1,1,
+ 1,1,6113,636,6262,1,545,6947,636,366,
+ 366,283,317,366,6401,6134,1295,2698,6401,2766,
+ 5893,1,1,1,6407,631,112,677,6612,2577,
+ 394,6948,6401,366,3698,840,779,805,220,319,
+ 565,1,5915,5911,2940,5908,6086,6092,6089,857,
+ 1111,6900,6401,5896,5896,229,5896,5889,5896,5896,
+ 229,229,6155,229,229,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,230,1,1,10653,1,1,1,1,
- 1,1,38,6194,6194,40,6443,1,5935,6482,
- 1,5957,5953,3442,5950,6128,6134,6131,1113,659,
- 309,6443,2153,1,1,1,1,1289,292,724,
- 6655,1713,2459,1,5957,5953,3429,5950,309,6443,
- 221,1113,659,367,129,126,6480,396,6443,6253,
- 6250,387,38,6943,6443,5938,5938,230,5938,5931,
- 5938,5938,230,230,6197,230,230,1,1,1,
+ 636,1,229,6406,1,1,9831,1,1,1,
+ 1,1,1,2134,2676,2671,1,6401,6335,6335,
+ 6335,6335,6335,6335,6335,6335,6335,636,6335,6335,
+ 2238,5893,1,1,1,2203,631,6401,677,6612,
+ 5220,5242,1,5915,5911,5905,5908,6407,6401,220,
+ 5922,5919,1,5915,5911,2940,5908,6086,6092,6089,
+ 857,1111,6900,6401,5896,5896,229,5896,5889,5896,
+ 5896,229,229,229,229,229,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,230,1,1,10653,1,1,1,1,
- 1,1,6480,44,6259,6259,6480,1,5935,138,
- 633,367,367,2244,137,367,3610,140,1295,1850,
- 6878,6879,6880,1,1,1,6347,1289,3532,724,
- 6655,1,1,6335,6335,367,6332,6128,6134,6131,
- 221,363,363,331,331,4240,4270,6256,397,6457,
- 6458,3455,2573,6943,6443,5938,5938,230,5938,5931,
- 5938,5938,230,230,230,230,230,1,1,1,
+ 1,6335,132,229,6759,1,1,9831,1,1,
+ 1,1,1,1,3036,121,6406,1,6401,5915,
+ 5911,2940,5908,6086,6092,6089,857,1111,6401,6137,
+ 6137,3525,5893,1,1,1,2203,631,6409,677,
+ 6612,344,5902,5899,3420,880,840,779,805,857,
+ 1111,116,330,330,417,6401,9999,9945,6401,840,
+ 779,805,4784,6900,6401,5896,5896,229,5896,5889,
+ 5896,5896,229,229,229,229,229,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,230,1,1,10653,1,1,1,1,
- 1,1,2015,46,6319,6319,6443,1,5935,363,
- 363,1,5957,5953,3442,5950,6128,6134,6131,1113,
- 659,370,2676,1,1,1,2713,1289,6443,724,
- 6655,2636,2901,363,363,368,4161,1968,1921,1874,
- 1827,1780,1733,1686,1639,1592,1545,6316,6443,10630,
- 10630,125,6443,6943,6443,5938,5938,230,5938,5931,
- 5938,5938,230,230,230,230,230,1,1,1,
+ 1,1,125,119,229,6401,1,1,9831,1,
+ 1,1,1,1,1,6408,4368,4399,1,636,
+ 1,5915,5911,2940,5908,6086,6092,6089,857,1111,
+ 308,4693,4669,5893,1,1,1,37,631,6401,
+ 677,6612,1,6293,6293,6401,6290,6086,6092,6089,
+ 308,124,362,330,330,457,6401,4754,689,395,
+ 290,6415,6416,386,6900,6401,5896,5896,229,5896,
+ 5889,5896,5896,229,229,229,229,229,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,230,1,1,10653,1,1,1,1,
- 1,1,6480,38,6194,6194,1342,1,5935,583,
- 5944,5941,3442,877,710,658,676,1113,659,311,
- 1404,508,1629,1,1,1,6443,1289,458,724,
- 6655,6443,6377,6377,6377,6377,6377,6377,6377,6377,
- 6377,506,6377,6377,6443,10363,10360,1615,6443,6406,
- 6402,4240,4270,6943,6443,5938,5938,230,5938,5931,
- 5938,5938,230,230,230,230,230,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,230,1,1,10653,1,1,1,1,
- 1,1,6480,119,1137,6185,5324,1,5935,1,
- 5957,5953,3429,5950,6377,302,6443,1113,659,6301,
- 291,6457,6458,1,1,1,5419,1289,6744,724,
- 6655,1,5957,5953,3442,5950,6128,6134,6131,1113,
- 659,4558,4534,1,5957,5953,5536,5950,121,6443,
- 6443,4894,659,6943,4960,4982,6214,6241,6247,6220,
- 6223,6235,6232,6238,6229,6226,6217,6244,345,40,
- 40,2739,6482,710,658,676,633,6304,1758,331,
- 331,4938,4916,6463,5026,5004,4558,4534,4872,1730,
- 1925,6465,1756,5272,1774,6466,6464,1716,6459,6461,
- 6462,6460,6443,140,2203,440,30,1498,40,5944,
- 5941,5536,877,40,40,516,4894,659,6416,4960,
- 4982,2181,6708,6706,6715,6714,6710,6711,6709,6712,
- 6713,6716,6707,139,6443,633,1,5957,5953,3442,
- 5950,6128,6134,6131,1113,659,4938,4916,6463,5026,
- 5004,515,6443,4872,1730,1925,6465,1756,5272,1774,
- 6466,6464,1716,6459,6461,6462,6460,6152,6155,581,
- 6170,6170,1498,585,6161,6167,6164,40,5944,5941,
- 5536,877,6265,457,6450,4894,659,6262,4960,4982,
- 2181,6708,6706,6715,6714,6710,6711,6709,6712,6713,
- 6716,6707,1,5957,5953,3429,5950,2636,6443,2203,
- 1113,659,4161,585,1958,4938,4916,6463,5026,5004,
- 962,348,4872,1730,1925,6465,1756,5272,1774,6466,
- 6464,1716,6459,6461,6462,6460,2676,318,6443,1,
- 6176,1498,2739,30,142,5944,5941,5536,877,6301,
- 6188,6265,4894,659,6443,4960,4982,2181,6708,6706,
- 6715,6714,6710,6711,6709,6712,6713,6716,6707,633,
- 1,5957,5953,3442,5950,6443,6125,6122,1113,659,
- 6955,2979,4938,4916,6463,5026,5004,6443,633,4872,
- 1730,1925,6465,1756,5272,1774,6466,6464,1716,6459,
- 6461,6462,6460,6443,633,1850,633,6304,1498,552,
- 5944,5941,5536,877,40,40,424,4894,659,6443,
- 4960,4982,2181,6708,6706,6715,6714,6710,6711,6709,
- 6712,6713,6716,6707,1,449,6443,2739,347,3859,
- 115,3059,6443,6443,341,5076,1636,4938,4916,6463,
- 5026,5004,6453,6453,4872,1730,1925,6465,1756,5272,
- 1774,6466,6464,1716,6459,6461,6462,6460,6443,135,
- 6452,6452,114,1498,1,5957,5953,5536,5950,40,
- 40,1850,4894,659,6443,4960,4982,6214,6241,6247,
- 6220,6223,6235,6232,6238,6229,6226,6217,6244,6443,
- 6443,633,341,341,1031,633,341,405,6443,6457,
- 6458,3131,4938,4916,6463,5026,5004,6274,6455,4872,
- 1730,1925,6465,1756,5272,1774,6466,6464,1716,6459,
- 6461,6462,6460,5113,5135,6277,6443,1572,1498,40,
- 5944,5941,5536,877,40,40,6449,4894,659,6262,
- 4960,4982,2181,6708,6706,6715,6714,6710,6711,6709,
- 6712,6713,6716,6707,521,5113,5135,6443,5944,5941,
- 3024,877,6443,6443,2462,6313,659,4938,4916,6463,
- 5026,5004,6454,6449,4872,1730,1925,6465,1756,5272,
- 1774,6466,6464,1716,6459,6461,6462,6460,37,6413,
- 6410,6443,6443,1498,6448,2612,40,5944,5941,5536,
- 877,1014,6449,6265,4894,659,6447,4960,4982,2181,
- 6708,6706,6715,6714,6710,6711,6709,6712,6713,6716,
- 6707,38,6194,6194,894,113,710,658,676,1,
- 6443,6448,331,568,4938,4916,6463,5026,5004,6453,
- 6449,4872,1730,1925,6465,1756,5272,1774,6466,6464,
- 1716,6459,6461,6462,6460,1,132,6452,1339,362,
- 6448,420,6443,6912,6443,6480,6906,6910,3068,6387,
- 6395,6391,6451,1402,6399,3608,33,388,388,6341,
- 388,388,388,388,388,388,6341,6341,6341,6443,
- 124,428,6399,6904,6905,6443,6935,6936,6448,999,
- 6913,388,388,388,6341,388,388,388,388,388,
- 388,388,388,388,6443,336,6446,6915,5113,5135,
- 6443,123,922,120,6937,1083,1174,6916,3994,1776,
- 6914,1089,6443,6399,6443,1402,2391,6443,6450,6443,
- 6780,6443,6781,6341,6341,6926,6925,6449,6938,6449,
- 6907,6908,6931,6932,6929,6930,6909,6911,6933,6934,
- 6443,4558,4534,6939,937,6919,6920,6921,6917,6918,
- 6927,6928,6923,6922,6924,40,5944,5941,5536,877,
- 4240,4270,870,4894,659,6443,4960,4982,2181,6708,
- 6706,6715,6714,6710,6711,6709,6712,6713,6716,6707,
- 6443,5944,5941,717,877,6448,5157,6448,6313,659,
- 1759,4240,4270,4938,4916,6463,5026,5004,6443,3681,
- 4872,1730,1925,6465,1756,5272,1774,6466,6464,1716,
- 6459,6461,6462,6460,40,5944,5941,5536,877,1498,
- 6443,6443,4894,659,1235,4960,4982,2181,6708,6706,
- 6715,6714,6710,6711,6709,6712,6713,6716,6707,1,
- 5957,5953,3442,5950,6443,6443,6443,1113,659,6443,
- 6443,6443,4938,4916,6463,5026,5004,6443,6443,4872,
- 1730,1925,6465,1756,5272,1774,6466,6464,1716,6459,
- 6461,6462,6460,2005,40,5944,5941,5536,877,6443,
- 40,2816,4894,659,6482,4960,4982,2181,6708,6706,
- 6715,6714,6710,6711,6709,6712,6713,6716,6707,6443,
- 5944,5941,92,877,6443,6307,3169,1113,659,101,
- 6443,4009,4938,4916,6463,5026,5004,6898,6884,4872,
- 1730,1925,6465,1756,5272,1774,6466,6464,1716,6459,
- 6461,6462,6460,40,5944,5941,5754,877,1498,6443,
- 6443,4894,659,2105,4960,4982,2181,6708,6706,6715,
- 6714,6710,6711,6709,6712,6713,6716,6707,6443,5944,
- 5941,49,877,6443,49,6458,1113,659,6457,6443,
- 6443,4938,4916,6463,5026,5004,5061,2338,4872,1730,
- 1925,6465,1756,5272,1774,6466,6464,1716,6459,6461,
- 6462,6460,40,5944,5941,5536,877,6443,6443,6443,
- 4894,659,4330,4960,4982,2181,6708,6706,6715,6714,
- 6710,6711,6709,6712,6713,6716,6707,6443,238,6443,
- 6443,6338,128,6458,133,4790,6457,6449,100,6449,
- 4938,4916,6463,5026,5004,6443,3068,4872,1730,1925,
- 6465,1756,5272,1774,6466,6464,1716,6459,6461,6462,
- 6460,40,5944,5941,5536,877,6443,6443,6443,4894,
- 659,2949,4960,4982,2181,6708,6706,6715,6714,6710,
- 6711,6709,6712,6713,6716,6707,1,6443,6443,5511,
- 290,158,6443,6443,3610,6448,1451,6448,5516,4938,
- 4916,6463,5026,5004,6350,2432,4872,1730,1925,6465,
- 1756,5272,1774,6466,6464,1716,6459,6461,6462,6460,
- 6443,5944,5941,6443,6482,710,658,676,6443,3455,
- 2573,5780,6443,1004,6708,6706,6715,6714,6710,6711,
- 6709,6712,6713,6716,6707,6780,6704,6781,6443,6698,
- 6705,6701,6677,6703,6702,6699,6700,6678,6451,947,
- 2062,717,1,6841,3683,3557,6443,1,8,242,
- 6112,6108,6286,6116,6042,6036,6039,162,6434,5204,
- 6842,6843,1004,6099,6105,6078,6081,6093,6090,6096,
- 6087,6084,6075,6102,6048,6054,6045,6443,6072,6051,
- 6063,6033,6057,6060,6069,6066,6030,76,1,1,
- 3769,1,6841,1,6443,6443,6443,6443,192,528,
- 6443,164,6443,6449,6450,5815,426,6443,5204,6842,
- 6843,6443,74,510,4163,162,192,6443,6450,2109,
- 5818,2,6443,6443,6434,4679,4696,6443,6506,6507,
- 4751,6443,6443,6443,4822,3919,3904,6443,6443,104,
- 3949,5062,4053,6443,1,6443,6443,2860,3494,3561,
- 279,6443,6443,6437,2487,6443,6443,528,6443,164,
- 6443,6448,6443,6443,6443,6443,3568,3582,6443,3678,
- 3723,6443,6443,3768,6431,1582,6443,6443,6443,6443,
- 6443,6443,2156,38,630,6443,6443,6443,2545,6443,
- 6443,6443,6443,6443,6443,727,6443,6443,6443,6443,
- 6443,6443,6443,6443,6443,6443,6443,6443,6443,800
+ 1,1,1,4368,4399,229,6437,1,1,9831,
+ 1,1,1,1,1,1,6401,126,2134,1,
+ 6401,362,330,5902,5899,2940,880,840,779,805,
+ 857,1111,2134,6143,5893,1,1,1,6401,631,
+ 1,677,6612,6401,6401,362,346,2037,6401,3399,
+ 6244,1492,4368,4399,3350,1,5915,5911,5695,5908,
+ 43,6217,6217,5000,1111,6900,5066,5088,6172,6199,
+ 6205,6178,6181,6193,6190,6196,6187,6184,6175,6202,
+ 3602,369,427,5044,5022,6401,6420,584,6128,6128,
+ 6241,588,6119,6125,6122,6407,5132,5110,4978,6401,
+ 1727,1854,6422,1768,5400,1821,6423,6421,1715,6417,
+ 6418,6419,3108,5379,636,3445,2573,6408,6801,6214,
+ 1498,39,5902,5899,5695,880,39,39,515,5000,
+ 1111,6374,5066,5088,2039,6665,6663,6672,6671,6667,
+ 6668,6666,6669,6670,6673,6664,588,136,1,5044,
+ 5022,2784,6420,367,6406,6401,1005,1342,340,885,
+ 335,123,5132,5110,4978,6407,1727,1854,6422,1768,
+ 5400,1821,6423,6421,1715,6417,6418,6419,3108,5379,
+ 1,5915,5911,2940,5908,6737,1498,6738,857,1111,
+ 456,39,5902,5899,5695,880,6223,6401,6408,5000,
+ 1111,6220,5066,5088,2039,6665,6663,6672,6671,6667,
+ 6668,6666,6669,6670,6673,6664,636,340,340,5044,
+ 5022,340,6420,128,6406,2183,45,6277,6277,1404,
+ 6401,39,5132,5110,4978,6439,1727,1854,6422,1768,
+ 5400,1821,6423,6421,1715,6417,6418,6419,3108,5379,
+ 2714,6401,4368,4399,6401,2846,1498,2565,6146,141,
+ 5902,5899,5695,880,6407,514,6223,5000,1111,6401,
+ 5066,5088,2039,6665,6663,6672,6671,6667,6668,6666,
+ 6669,6670,6673,6664,6401,6274,3602,5044,5022,29,
+ 6420,6401,37,6152,6152,122,6305,840,779,805,
+ 5132,5110,4978,330,1727,1854,6422,1768,5400,1821,
+ 6423,6421,1715,6417,6418,6419,3108,5379,36,6371,
+ 6368,3445,2573,6406,1498,551,5902,5899,5695,880,
+ 39,39,1124,5000,1111,961,5066,5088,2039,6665,
+ 6663,6672,6671,6667,6668,6666,6669,6670,6673,6664,
+ 6401,6437,2134,5044,5022,6401,6420,6401,2338,6401,
+ 6345,6353,6349,423,3526,6357,5132,5110,4978,6407,
+ 1727,1854,6422,1768,5400,1821,6423,6421,1715,6417,
+ 6418,6419,3108,5379,6401,6357,4368,4399,1,6401,
+ 1498,1,5915,5911,5695,5908,39,39,6411,5000,
+ 1111,6401,5066,5088,6172,6199,6205,6178,6181,6193,
+ 6190,6196,6187,6184,6175,6202,6401,6401,6410,5044,
+ 5022,127,6420,6401,2109,6357,6401,3636,6406,1451,
+ 5264,6401,5132,5110,4978,2248,1727,1854,6422,1768,
+ 5400,1821,6423,6421,1715,6417,6418,6419,3108,5379,
+ 6401,1,3781,6401,6401,6401,1498,39,5902,5899,
+ 5695,880,39,39,6409,5000,1111,6220,5066,5088,
+ 2039,6665,6663,6672,6671,6667,6668,6666,6669,6670,
+ 6673,6664,720,6401,3602,5044,5022,6401,6420,3841,
+ 3534,1,6401,3636,6308,6401,3715,6411,5132,5110,
+ 4978,191,1727,1854,6422,1768,5400,1821,6423,6421,
+ 1715,6417,6418,6419,3108,5379,4097,6410,4148,3445,
+ 2573,191,1498,3536,1089,39,5902,5899,5695,880,
+ 6401,6408,6223,5000,1111,6405,5066,5088,2039,6665,
+ 6663,6672,6671,6667,6668,6666,6669,6670,6673,6664,
+ 37,6152,6152,5044,5022,3384,6420,3141,6152,6401,
+ 10421,10421,37,6152,6152,48,5132,5110,4978,6416,
+ 1727,1854,6422,1768,5400,1821,6423,6421,1715,6417,
+ 6418,6419,3108,5379,39,5902,5899,5695,880,6401,
+ 6364,6360,5000,1111,6401,5066,5088,2039,6665,6663,
+ 6672,6671,6667,6668,6666,6669,6670,6673,6664,1992,
+ 8,6401,5044,5022,6401,6420,374,3559,6437,48,
+ 6392,1804,6401,6415,6407,5132,5110,4978,6416,1727,
+ 1854,6422,1768,5400,1821,6423,6421,1715,6417,6418,
+ 6419,3108,5379,6401,1,6401,6404,1,6437,1498,
+ 39,5902,5899,5695,880,2180,6401,161,5000,1111,
+ 6401,5066,5088,2039,6665,6663,6672,6671,6667,6668,
+ 6666,6669,6670,6673,6664,1,1,1,5044,5022,
+ 448,6420,6415,6406,5515,527,163,6392,6401,6401,
+ 6226,5132,5110,4978,134,1727,1854,6422,1768,5400,
+ 1821,6423,6421,1715,6417,6418,6419,3108,5379,361,
+ 289,39,5902,5899,5695,880,161,507,3138,5000,
+ 1111,6229,5066,5088,2039,6665,6663,6672,6671,6667,
+ 6668,6666,6669,6670,6673,6664,2549,3966,3559,5044,
+ 5022,1,6420,91,527,163,6265,505,419,347,
+ 2456,6407,5132,5110,4978,6401,1727,1854,6422,1768,
+ 5400,1821,6423,6421,1715,6417,6418,6419,3108,5379,
+ 1,6401,237,1755,157,6296,1498,425,6869,841,
+ 951,6863,6867,1,5915,5911,2940,5908,6086,6092,
+ 6089,857,1111,4226,1,6401,2905,5454,6861,6862,
+ 586,5902,5899,2940,880,840,779,805,857,1111,
+ 6406,6892,6893,6870,443,1,1,636,1,6140,
+ 6140,6140,6401,4573,2391,6140,6140,6401,1,5915,
+ 5911,3420,5908,6872,73,6401,857,1111,1713,6401,
+ 6894,1337,1377,6873,2062,3684,6871,3299,1,5915,
+ 5911,3420,5908,6401,6401,6401,857,1111,6259,6401,
+ 6401,6883,6882,5753,6895,531,6864,6865,6888,6889,
+ 6886,6887,6866,6868,6890,6891,6401,6401,6401,6896,
+ 5769,6876,6877,6878,6874,6875,6884,6885,6880,6879,
+ 6881,39,5902,5899,5719,880,636,6389,1945,5000,
+ 1111,3744,5066,5088,2039,6665,6663,6672,6671,6667,
+ 6668,6666,6669,6670,6673,6664,636,6262,6401,5044,
+ 5022,4154,6420,6401,6401,6401,5776,4283,4317,3804,
+ 3767,520,5132,5110,4978,2156,1727,1854,6422,1768,
+ 5400,1821,6423,6421,1715,6417,6418,6419,3108,5379,
+ 39,5902,5899,5729,880,6401,6401,6401,5000,1111,
+ 4498,5066,5088,2039,6665,6663,6672,6671,6667,6668,
+ 6666,6669,6670,6673,6664,100,99,6401,5044,5022,
+ 4779,6420,6401,6401,6401,4129,4224,4225,6401,6401,
+ 6401,5132,5110,4978,6401,1727,1854,6422,1768,5400,
+ 1821,6423,6421,1715,6417,6418,6419,3108,5379,39,
+ 5902,5899,5746,880,6401,6401,6401,5000,1111,4816,
+ 5066,5088,2039,6665,6663,6672,6671,6667,6668,6666,
+ 6669,6670,6673,6664,6401,185,103,5044,5022,4393,
+ 6420,2,1898,4815,2432,6401,278,6401,3901,6395,
+ 5132,5110,4978,3559,1727,1854,6422,1768,5400,1821,
+ 6423,6421,1715,6417,6418,6419,3108,5379,39,5902,
+ 5899,5695,880,6401,6401,6401,5000,1111,509,5066,
+ 5088,2039,6665,6663,6672,6671,6667,6668,6666,6669,
+ 6670,6673,6664,6401,6401,6401,5044,5022,6401,6420,
+ 6401,6401,6401,6401,37,6401,6401,6401,39,5132,
+ 5110,4978,6439,1727,1854,6422,1768,5400,1821,6423,
+ 6421,1715,6417,6418,6419,3108,5379,39,5902,5899,
+ 5695,880,6401,6401,1162,5000,1111,6401,5066,5088,
+ 2039,6665,6663,6672,6671,6667,6668,6666,6669,6670,
+ 6673,6664,6401,6401,2545,5044,5022,6401,6420,6401,
+ 6398,6401,6401,6401,6401,6401,6401,6401,5132,5110,
+ 4978,6401,1727,1854,6422,1768,5400,1821,6423,6421,
+ 1715,6417,6418,6419,3108,5379,6401,5902,5899,6401,
+ 6439,840,779,805,6401,6401,6401,6401,6401,721,
+ 6665,6663,6672,6671,6667,6668,6666,6669,6670,6673,
+ 6664,6737,6661,6738,6835,6836,6837,6401,6655,6662,
+ 6658,6634,6660,6659,6656,6657,6635,6401,6401,6401,
+ 6798,6401,6401,6401,6401,6401,241,6070,6066,6401,
+ 6074,6000,5994,5997,6401,6401,3683,6799,6800,721,
+ 6057,6063,6036,6039,6051,6048,6054,6045,6042,6033,
+ 6060,6006,6012,6003,6401,6401,6401,6401,6030,6009,
+ 6021,5991,6015,6018,6027,6024,5988,6401,6401,6401,
+ 6798,29,386,386,6302,386,386,386,386,386,
+ 386,6302,6302,6302,6401,6401,3683,6799,6800,6401,
+ 6401,75,6401,6401,4054,6401,386,386,386,6401,
+ 6401,6302,6401,386,386,386,386,386,386,386,
+ 386,386,1,5915,5911,5905,5908,6401,6401,6401,
+ 5922,5919,6411,6401,6401,6401,6401,6401,6401,6401,
+ 223,6401,6463,6464,6113,5934,5928,5931,6401,6302,
+ 6302,6401,6410,6401,6665,6663,6672,6671,6667,6668,
+ 6666,6669,6670,6673,6664,6737,6661,6738,6401,3228,
+ 6401,6401,6655,6662,6658,6634,6660,6659,6656,6657,
+ 6635,444,39,39,6401,6439,6247,6253,6250,6401,
+ 6401,6401,6256,6256,92,1,1,6401,1,6338,
+ 6338,6338,6401,6401,6401,6338,6338,95,39,39,
+ 801,6439,6377,6383,6380,6401,6401,6401,6386,6386,
+ 6401,6401,5902,5899,1235,880,6401,6401,6401,6271,
+ 1111,6401,5902,5899,6401,880,6401,6401,6401,6271,
+ 1111,1,5915,5911,2940,5908,6401,6401,6401,857,
+ 1111,6401,5902,5899,6401,880,6401,6401,6401,857,
+ 1111,6401,6401,6401,6401,6401,6401,6401,6401,6401,
+ 6401,6401,6401,6401,6401,6401,6401,6401,6401,6401,
+ 730,6401,6401,6401,6401,6401,6401,6401,6401,6401,
+ 2608
};
};
public final static char termAction[] = TermAction.termAction;
@@ -2052,65 +2085,66 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym
public interface Asb {
public final static char asb[] = {0,
- 1066,4,1057,1,90,1100,261,1017,634,190,
- 1065,121,514,1155,937,1155,1155,1155,948,192,
- 948,921,948,1172,948,932,948,121,517,132,
- 1100,1005,576,656,656,50,517,656,517,1155,
- 379,792,263,215,192,137,517,515,631,761,
- 368,634,211,923,258,921,190,121,1172,520,
- 517,517,259,123,207,207,705,717,195,195,
- 1008,642,704,1005,1005,517,880,369,520,520,
- 653,47,369,656,656,379,656,517,305,800,
- 227,216,216,215,215,215,121,517,515,611,
- 311,610,617,368,367,369,211,517,204,623,
- 372,259,192,583,517,520,259,517,301,207,
- 192,121,717,6,1005,1011,517,477,150,1005,
- 717,301,649,520,520,1008,47,47,515,800,
- 227,215,596,215,517,705,705,631,705,1111,
- 634,426,425,368,596,517,211,209,190,379,
- 513,1157,211,204,373,207,204,207,259,583,
- 583,517,792,415,1155,379,379,379,379,121,
- 1155,458,578,478,478,478,478,478,478,478,
- 478,478,658,664,669,666,673,671,678,676,
- 680,679,681,317,682,791,517,123,517,192,
- 439,599,517,1155,47,696,1005,1012,369,477,
- 596,192,1005,717,1015,649,792,792,653,369,
- 780,765,779,791,379,588,588,596,596,517,
- 518,369,617,369,326,369,305,1159,207,207,
- 207,207,517,583,596,603,595,1008,796,776,
- 775,458,90,90,90,90,517,327,369,369,
- 458,1114,89,305,458,658,125,125,327,477,
- 478,478,478,478,478,478,478,478,478,478,
- 478,478,478,478,478,478,478,478,478,477,
- 477,477,477,477,477,477,477,477,477,477,
- 477,478,458,301,615,440,121,517,327,608,
- 596,150,649,648,708,477,777,777,794,1008,
- 885,227,216,227,790,790,705,369,426,515,
- 704,478,209,718,636,701,1159,207,207,141,
- 596,478,517,415,369,798,800,369,369,792,
- 792,792,792,259,369,478,726,954,954,121,
- 578,47,89,477,369,514,516,514,369,47,
- 666,666,664,664,664,671,671,671,671,669,
- 669,676,673,673,679,678,680,209,681,615,
- 439,209,478,209,705,438,1155,1155,1155,440,
- 1155,517,838,705,705,517,192,369,477,150,
- 649,708,477,477,798,765,227,90,90,326,
- 705,1159,478,478,701,701,1159,1159,599,120,
- 142,517,369,800,1155,1155,1155,1155,517,517,
- 517,305,478,90,662,381,369,517,516,305,
- 477,430,1155,430,440,209,440,458,458,456,
- 883,458,705,705,724,615,595,710,791,701,
- 701,141,517,121,121,517,784,369,477,477,
- 477,477,1155,1155,259,515,369,662,1008,123,
- 517,515,885,440,369,1005,369,456,1100,1155,
- 369,615,594,149,710,836,517,517,517,784,
- 784,369,369,369,369,327,327,517,662,663,
- 662,477,381,309,658,123,369,369,1002,440,
- 724,440,705,1100,477,440,437,594,594,1155,
- 588,517,517,786,784,369,369,989,662,327,
- 478,47,309,192,192,1004,477,438,327,705,
- 369,801,790,786,786,663,369,47,440,369,
- 705,426,514,786,440,90
+ 1096,62,1087,70,221,1130,483,1047,119,176,
+ 1095,252,638,1186,967,1186,1186,1186,978,178,
+ 978,924,978,935,978,962,978,252,641,121,
+ 1130,1035,542,726,726,181,641,726,641,1186,
+ 377,952,260,437,178,256,641,639,116,714,
+ 366,119,433,926,480,924,176,252,935,485,
+ 641,641,481,254,13,13,775,808,1,1,
+ 1038,668,774,1035,1035,641,860,367,485,485,
+ 723,59,367,726,726,377,726,641,302,869,
+ 449,438,438,437,437,437,252,641,639,652,
+ 308,651,656,366,365,367,433,641,10,954,
+ 370,481,178,674,641,485,481,641,298,13,
+ 178,252,808,17,1035,1041,641,600,135,1035,
+ 808,298,719,485,485,1038,59,59,639,869,
+ 449,437,381,437,641,775,775,116,775,1141,
+ 119,429,428,366,381,641,433,15,176,377,
+ 637,907,433,10,371,13,10,13,481,674,
+ 674,641,952,418,1186,377,377,377,377,252,
+ 1186,581,544,601,601,601,601,601,601,601,
+ 601,601,601,601,728,734,739,736,743,741,
+ 748,746,750,749,751,314,752,951,641,254,
+ 641,178,562,549,641,1186,59,766,1035,1042,
+ 367,600,381,178,1035,808,1045,719,952,952,
+ 723,367,793,778,792,951,377,64,64,381,
+ 381,641,642,367,656,367,323,367,302,909,
+ 13,13,13,13,641,674,381,644,380,1038,
+ 865,789,788,581,221,221,221,221,641,324,
+ 367,367,581,1144,220,302,581,581,581,728,
+ 73,73,324,600,601,601,601,601,601,601,
+ 601,601,601,601,601,601,601,601,601,601,
+ 601,601,601,600,600,600,600,600,600,600,
+ 600,600,600,600,600,601,581,298,797,563,
+ 252,641,324,649,381,135,719,718,799,600,
+ 790,790,863,1038,80,449,438,449,950,950,
+ 775,367,429,639,774,601,15,809,662,771,
+ 909,13,13,126,381,601,641,418,367,867,
+ 869,367,367,952,952,952,952,481,367,601,
+ 679,984,984,252,544,59,220,600,367,367,
+ 367,638,640,638,367,59,736,736,734,734,
+ 734,741,741,741,741,739,739,746,743,743,
+ 749,748,750,15,751,797,562,15,601,15,
+ 775,561,1186,1186,1186,563,1186,641,817,775,
+ 775,641,178,367,600,135,719,799,600,600,
+ 867,778,449,221,221,323,775,909,601,601,
+ 771,771,909,909,549,251,127,641,367,869,
+ 1186,1186,1186,1186,641,641,641,302,601,221,
+ 732,384,367,641,640,302,600,553,1186,553,
+ 563,15,563,581,581,579,922,581,775,775,
+ 815,797,380,801,951,771,771,126,641,252,
+ 252,641,944,367,600,600,600,600,1186,1186,
+ 481,639,367,732,1038,254,641,639,80,563,
+ 367,1035,367,579,1130,1186,367,797,379,134,
+ 801,905,641,641,641,944,944,367,367,367,
+ 367,324,324,641,732,733,732,600,384,306,
+ 728,254,367,367,1032,563,815,563,775,1130,
+ 600,563,560,379,379,1186,64,641,641,946,
+ 944,367,367,1019,732,324,601,59,306,178,
+ 178,1034,600,561,324,775,367,870,950,946,
+ 946,733,367,59,563,367,775,429,638,946,
+ 563,221
};
};
public final static char asb[] = Asb.asb;
@@ -2118,124 +2152,125 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym
public interface Asr {
public final static char asr[] = {0,
- 3,27,0,123,0,70,71,3,13,47,
- 51,49,46,54,15,24,14,20,18,19,
- 21,22,17,16,23,55,58,56,57,40,
- 53,48,52,8,9,4,41,42,12,11,
- 38,39,45,50,1,2,120,10,0,71,
- 70,38,39,11,95,96,101,12,102,8,
- 45,75,62,72,113,114,110,111,112,118,
- 117,119,91,90,115,116,99,100,97,98,
- 103,104,41,42,69,93,108,67,3,13,
- 59,43,60,61,15,24,14,20,18,19,
- 21,22,17,16,23,29,35,36,31,34,
- 33,30,25,27,5,7,6,32,37,26,
- 1,2,4,0,9,4,44,8,1,2,
- 0,10,73,74,77,0,10,74,75,0,
- 26,1,2,4,105,106,107,0,76,70,
- 71,64,41,42,12,11,38,39,8,45,
- 50,3,4,9,55,58,56,57,40,53,
- 48,52,15,24,14,20,18,19,21,22,
- 17,16,23,13,47,51,49,46,54,1,
- 2,74,10,0,77,3,72,92,75,69,
- 68,28,67,6,7,5,10,74,73,0,
- 105,106,107,73,76,9,10,3,12,11,
- 8,28,66,63,89,65,5,29,14,15,
- 43,25,16,59,30,31,17,32,33,18,
- 19,34,35,20,21,36,60,37,13,61,
- 22,26,23,27,24,6,7,4,1,2,
- 44,0,29,14,15,43,25,16,59,30,
- 89,31,17,32,33,18,19,34,63,35,
- 20,21,36,60,37,13,61,22,65,26,
- 23,27,24,3,12,4,28,66,74,10,
- 5,11,6,7,9,44,1,2,8,0,
- 10,73,69,68,3,0,5,72,73,92,
- 120,76,28,6,7,69,14,15,46,70,
- 16,47,48,17,18,19,71,9,49,20,
- 21,50,51,52,64,53,54,13,22,23,
- 24,55,56,57,40,2,41,42,12,11,
- 38,39,8,45,4,58,3,1,68,10,
- 0,4,10,73,74,6,7,5,62,0,
- 93,38,39,95,96,90,91,62,97,98,
- 99,100,101,102,103,104,109,73,92,75,
- 110,111,112,113,114,115,116,117,118,119,
- 120,76,28,94,72,5,1,2,12,11,
- 4,6,7,67,3,68,10,69,0,89,
- 105,106,107,44,73,123,121,124,76,66,
- 77,65,63,79,81,87,85,78,83,84,
- 86,88,74,80,82,28,10,5,29,43,
- 25,59,30,31,32,33,34,35,36,60,
- 37,61,26,27,6,7,64,70,71,47,
- 51,49,46,54,15,24,14,20,18,19,
- 21,22,17,16,23,55,58,56,57,40,
- 53,48,52,3,41,42,12,11,38,39,
- 45,50,13,4,9,8,2,1,0,5,
- 29,14,15,43,25,46,16,47,59,30,
- 31,48,17,32,33,18,19,34,35,49,
- 20,21,50,36,51,60,52,64,53,37,
- 54,13,61,22,26,23,27,24,55,56,
- 57,40,3,41,42,12,11,38,39,45,
- 72,4,6,7,58,9,8,1,2,71,
- 70,0,1,2,10,76,0,72,75,69,
- 1,2,0,28,69,76,10,0,10,74,
- 69,0,10,69,76,75,0,120,28,69,
- 68,10,73,0,121,0,10,69,68,1,
- 25,0,4,10,73,74,6,7,5,0,
- 10,73,68,40,0,73,5,67,6,7,
- 62,10,69,28,75,3,0,64,25,9,
- 27,8,1,2,4,77,74,122,108,41,
- 42,67,3,94,93,11,95,96,38,39,
- 91,90,62,97,98,99,100,12,101,102,
- 103,72,92,68,75,110,111,112,113,114,
- 115,116,117,118,119,73,120,76,104,109,
- 6,7,5,69,28,10,0,25,27,64,
- 77,72,73,92,68,74,3,5,10,69,
- 28,6,7,75,0,5,29,14,15,25,
- 16,30,31,17,32,33,18,19,34,9,
- 35,20,21,36,37,22,26,23,27,24,
- 1,2,67,12,11,8,4,28,6,7,
- 68,10,3,0,5,12,11,6,7,9,
- 8,4,1,2,3,67,72,75,69,10,
- 68,92,0,25,27,64,10,92,68,75,
- 69,72,0,8,9,3,67,11,12,92,
- 5,29,14,15,25,16,59,30,31,17,
- 32,33,18,19,34,35,20,21,36,60,
- 37,13,61,22,26,23,27,24,1,2,
- 4,6,7,68,10,43,0,14,15,46,
- 70,16,47,48,17,18,19,71,9,49,
- 20,21,50,51,52,64,53,54,13,22,
- 23,24,55,56,57,40,1,2,3,41,
- 42,38,39,8,45,4,58,28,10,11,
- 12,0,78,0,5,29,14,15,43,25,
- 16,59,30,31,17,32,33,18,19,34,
- 35,20,21,36,60,37,13,61,22,26,
- 23,27,24,1,2,4,6,7,92,0,
- 44,4,5,10,73,74,6,7,1,2,
- 0,13,59,43,60,61,15,24,14,20,
- 18,19,21,22,17,16,23,77,73,92,
- 120,76,74,122,94,108,93,41,42,38,
- 39,95,96,90,91,62,72,97,98,99,
- 100,101,102,103,104,109,75,110,111,112,
- 113,114,115,116,117,118,119,69,29,25,
- 30,31,32,33,34,35,36,37,26,27,
- 28,10,68,67,8,9,3,1,2,4,
- 12,6,7,5,11,0,16,59,30,17,
- 32,33,18,19,34,35,20,21,36,60,
- 37,61,22,26,23,27,24,25,43,15,
- 14,29,10,3,12,11,28,65,89,31,
- 66,62,6,7,5,44,9,1,2,8,
- 4,13,63,0,76,29,14,15,43,25,
- 16,59,30,17,32,33,18,19,34,35,
- 20,21,36,60,37,13,61,22,26,23,
- 27,24,123,66,63,31,89,65,44,5,
- 10,12,28,6,7,8,9,2,4,3,
- 1,11,0,70,71,41,42,12,11,38,
- 39,8,45,50,4,9,55,58,56,57,
- 40,53,48,52,15,24,14,20,18,19,
- 21,22,17,16,23,13,47,51,49,46,
- 54,67,1,2,3,0,28,10,3,9,
- 8,73,12,11,4,1,2,6,7,5,
- 0,4,10,74,6,7,5,1,2,0
+ 78,3,73,93,76,70,69,30,68,6,
+ 7,5,10,75,74,0,71,72,3,13,
+ 46,50,48,45,53,15,24,14,20,18,
+ 19,21,22,17,16,23,54,55,56,31,
+ 52,47,51,8,9,4,41,42,12,11,
+ 28,29,43,49,58,57,1,2,121,10,
+ 0,124,0,73,76,70,1,2,0,3,
+ 27,0,9,4,59,8,1,2,0,5,
+ 32,14,15,44,25,16,60,33,34,17,
+ 35,36,18,19,37,38,20,21,39,61,
+ 40,13,62,22,26,23,27,24,1,2,
+ 4,6,7,93,0,10,74,69,31,0,
+ 10,74,75,78,0,26,1,2,4,106,
+ 107,108,0,77,71,72,65,41,42,12,
+ 11,28,29,8,43,49,58,57,3,4,
+ 9,54,55,56,31,52,47,51,15,24,
+ 14,20,18,19,21,22,17,16,23,13,
+ 46,50,48,45,53,1,2,75,10,0,
+ 72,71,28,29,11,96,97,102,12,103,
+ 8,43,76,63,73,114,115,111,112,113,
+ 119,118,120,92,91,116,117,100,101,98,
+ 99,104,105,41,42,70,94,109,68,3,
+ 13,60,44,61,62,15,24,14,20,18,
+ 19,21,22,17,16,23,32,38,39,34,
+ 37,36,33,25,27,5,7,6,35,40,
+ 26,1,2,4,0,10,75,76,0,32,
+ 14,15,44,25,16,60,33,90,34,17,
+ 35,36,18,19,37,64,38,20,21,39,
+ 61,40,13,62,22,66,26,23,27,24,
+ 3,12,4,30,67,75,10,5,11,6,
+ 7,9,59,1,2,8,0,10,74,70,
+ 69,3,0,5,73,74,93,121,77,30,
+ 6,7,70,14,15,45,71,16,46,47,
+ 17,18,19,72,9,48,20,21,49,50,
+ 51,65,52,53,13,22,23,24,54,55,
+ 56,31,2,41,42,12,11,28,29,8,
+ 43,4,57,58,3,1,69,10,0,4,
+ 10,74,75,6,7,5,63,0,30,70,
+ 77,10,0,94,28,29,96,97,91,92,
+ 63,98,99,100,101,102,103,104,105,110,
+ 74,93,76,111,112,113,114,115,116,117,
+ 118,119,120,121,77,30,95,73,5,1,
+ 2,12,11,4,6,7,68,3,69,10,
+ 70,0,106,107,108,74,77,9,10,3,
+ 12,11,8,30,67,64,90,66,5,32,
+ 14,15,44,25,16,60,33,34,17,35,
+ 36,18,19,37,38,20,21,39,61,40,
+ 13,62,22,26,23,27,24,6,7,4,
+ 1,2,59,0,5,32,14,15,44,25,
+ 45,16,46,60,33,34,47,17,35,36,
+ 18,19,37,38,48,20,21,49,39,50,
+ 61,51,65,52,40,53,13,62,22,26,
+ 23,27,24,54,55,56,31,3,41,42,
+ 12,11,28,29,43,73,4,57,58,6,
+ 7,9,8,1,2,72,71,0,10,75,
+ 70,0,90,106,107,108,59,74,124,122,
+ 125,77,67,78,66,64,80,82,88,86,
+ 79,84,85,87,89,75,81,83,30,10,
+ 5,32,44,25,60,33,34,35,36,37,
+ 38,39,61,40,62,26,27,6,7,65,
+ 71,72,46,50,48,45,53,15,24,14,
+ 20,18,19,21,22,17,16,23,54,55,
+ 56,31,52,47,51,3,41,42,12,11,
+ 28,29,43,49,58,57,13,4,9,8,
+ 2,1,0,10,70,77,76,0,121,30,
+ 70,69,10,74,0,10,70,69,1,25,
+ 0,74,5,68,6,7,63,10,70,30,
+ 76,3,0,1,2,10,77,0,5,32,
+ 14,15,25,16,33,34,17,35,36,18,
+ 19,37,9,38,20,21,39,40,22,26,
+ 23,27,24,1,2,68,12,11,8,4,
+ 30,6,7,69,10,3,0,65,25,9,
+ 27,8,1,2,4,78,75,123,109,41,
+ 42,68,3,95,94,11,96,97,28,29,
+ 92,91,63,98,99,100,101,12,102,103,
+ 104,73,93,69,76,111,112,113,114,115,
+ 116,117,118,119,120,74,121,77,105,110,
+ 6,7,5,70,30,10,0,5,12,11,
+ 6,7,9,8,4,1,2,3,68,73,
+ 76,70,10,69,93,0,122,0,25,27,
+ 65,78,73,74,93,69,75,3,5,10,
+ 70,30,6,7,76,0,14,15,45,71,
+ 16,46,47,17,18,19,72,9,48,20,
+ 21,49,50,51,65,52,53,13,22,23,
+ 24,54,55,56,31,1,2,3,41,42,
+ 28,29,8,43,4,57,58,30,10,11,
+ 12,0,8,9,3,68,11,12,93,5,
+ 32,14,15,25,16,60,33,34,17,35,
+ 36,18,19,37,38,20,21,39,61,40,
+ 13,62,22,26,23,27,24,1,2,4,
+ 6,7,69,10,44,0,30,10,3,9,
+ 8,74,12,11,4,1,2,6,7,5,
+ 0,79,0,59,4,5,10,74,75,6,
+ 7,1,2,0,4,10,75,6,7,5,
+ 1,2,0,25,27,65,10,93,69,76,
+ 70,73,0,4,10,74,75,6,7,5,
+ 0,13,60,44,61,62,15,24,14,20,
+ 18,19,21,22,17,16,23,78,74,93,
+ 121,77,75,123,95,109,94,41,42,28,
+ 29,96,97,91,92,63,73,98,99,100,
+ 101,102,103,104,105,110,76,111,112,113,
+ 114,115,116,117,118,119,120,70,32,25,
+ 33,34,35,36,37,38,39,40,26,27,
+ 30,10,69,68,8,9,3,1,2,4,
+ 12,6,7,5,11,0,16,60,33,17,
+ 35,36,18,19,37,38,20,21,39,61,
+ 40,62,22,26,23,27,24,25,44,15,
+ 14,32,10,3,12,11,30,66,90,34,
+ 67,63,6,7,5,59,9,1,2,8,
+ 4,13,64,0,77,32,14,15,44,25,
+ 16,60,33,17,35,36,18,19,37,38,
+ 20,21,39,61,40,13,62,22,26,23,
+ 27,24,124,67,64,34,90,66,59,5,
+ 10,12,30,6,7,8,9,2,4,3,
+ 1,11,0,71,72,41,42,12,11,28,
+ 29,8,43,49,58,57,4,9,54,55,
+ 56,31,52,47,51,15,24,14,20,18,
+ 19,21,22,17,16,23,13,46,50,48,
+ 45,53,68,1,2,3,0
};
};
public final static char asr[] = Asr.asr;
@@ -2243,65 +2278,66 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym
public interface Nasb {
public final static char nasb[] = {0,
- 209,12,37,13,5,255,12,239,12,81,
- 239,73,73,12,236,12,12,12,237,179,
- 237,138,237,138,237,230,12,10,169,189,
- 131,184,157,12,12,25,251,12,169,12,
- 12,12,178,189,179,12,227,227,144,193,
- 116,12,189,165,73,225,81,73,225,189,
- 169,11,12,12,189,32,204,138,79,79,
- 271,77,12,153,219,169,12,193,189,189,
- 22,20,193,12,12,12,12,11,163,189,
- 189,239,239,189,209,189,73,88,157,193,
- 12,12,142,93,12,193,262,166,138,138,
- 12,227,179,189,227,45,59,166,127,32,
- 90,53,225,15,153,225,169,102,67,132,
- 138,244,189,45,45,271,20,20,157,216,
- 216,209,35,209,227,204,204,144,204,12,
- 144,193,12,193,35,169,204,12,87,12,
- 37,254,262,138,138,189,225,189,59,189,
- 252,11,12,147,12,12,12,12,12,73,
- 12,285,169,69,69,247,69,69,69,69,
- 69,69,12,12,12,12,12,12,12,12,
- 12,12,12,69,12,12,166,12,11,90,
- 34,12,227,12,20,12,220,138,193,69,
- 189,179,219,225,12,140,12,12,277,193,
- 12,182,12,12,12,119,119,35,35,88,
- 12,193,142,193,69,193,163,131,189,189,
- 75,75,166,252,35,12,12,271,146,79,
- 79,285,50,50,50,50,169,172,193,193,
- 1,69,105,163,285,12,39,39,172,199,
- 69,69,69,69,69,69,69,69,69,69,
- 69,69,69,69,69,69,69,69,69,69,
- 69,69,69,69,69,69,69,69,69,69,
- 199,69,45,127,189,175,53,11,172,12,
- 35,189,189,140,189,69,12,12,181,271,
- 216,216,239,189,12,12,204,193,193,157,
- 204,69,12,96,12,138,219,75,75,62,
- 35,69,252,275,193,269,189,193,193,12,
- 12,12,12,162,193,69,12,12,12,10,
- 169,20,50,102,193,156,169,156,193,20,
+ 220,12,30,34,5,200,12,254,12,17,
+ 254,88,88,12,251,12,12,12,252,176,
+ 252,120,252,120,252,245,12,10,153,190,
+ 113,185,142,12,12,90,263,12,153,12,
+ 12,12,175,190,176,12,210,210,54,215,
+ 207,12,190,107,88,236,17,88,236,190,
+ 153,11,12,12,190,77,180,120,15,15,
+ 275,65,12,138,230,153,12,215,190,190,
+ 27,25,215,12,12,12,12,11,58,190,
+ 190,254,254,190,220,190,88,61,142,215,
+ 12,12,128,125,12,215,266,108,120,120,
+ 12,210,176,190,210,36,122,108,130,77,
+ 96,44,236,20,138,236,153,156,82,114,
+ 120,161,190,36,36,275,25,25,142,227,
+ 227,220,75,220,210,180,180,54,180,12,
+ 54,215,12,215,75,153,180,12,60,12,
+ 30,199,266,120,120,190,236,190,122,190,
+ 264,11,12,147,12,12,12,12,12,88,
+ 12,285,153,84,84,84,84,259,84,84,
+ 84,84,84,84,12,12,12,12,12,12,
+ 12,12,12,12,12,84,12,12,108,12,
+ 11,96,74,12,210,12,25,12,231,120,
+ 215,84,190,176,230,236,12,164,12,12,
+ 281,215,12,183,12,12,12,32,32,75,
+ 75,61,12,215,128,215,84,215,58,113,
+ 190,190,134,134,108,264,75,12,12,275,
+ 146,15,15,285,41,41,41,41,153,217,
+ 215,215,1,84,79,58,285,285,285,12,
+ 48,48,217,196,84,84,84,84,84,84,
+ 84,84,84,84,84,84,84,84,84,84,
+ 84,84,84,84,84,84,84,84,84,84,
+ 84,84,84,84,196,84,36,130,190,172,
+ 44,11,217,12,75,190,190,164,190,84,
+ 12,12,182,275,227,227,254,190,12,12,
+ 180,215,215,142,180,84,12,13,12,120,
+ 230,134,134,67,75,84,264,279,215,273,
+ 190,215,215,12,12,12,12,57,215,84,
+ 12,12,12,10,153,25,41,156,215,215,
+ 215,141,153,141,215,25,12,12,12,12,
12,12,12,12,12,12,12,12,12,12,
- 12,12,12,12,12,12,12,12,12,109,
- 195,12,69,12,204,12,12,12,12,196,
- 12,252,202,204,204,252,84,193,69,67,
- 140,140,69,69,269,151,216,50,50,69,
- 204,132,69,69,225,138,219,12,12,73,
- 107,227,193,216,12,12,12,12,166,11,
- 169,163,69,50,189,111,193,169,206,163,
- 69,114,12,12,196,12,196,289,289,214,
- 12,289,204,204,12,189,35,189,12,138,
- 225,98,227,73,73,11,189,193,199,199,
- 199,199,12,12,161,166,193,125,277,12,
- 251,166,50,196,193,184,193,281,189,12,
- 193,109,123,66,121,12,11,227,227,140,
- 189,193,193,193,193,172,172,166,189,57,
- 12,199,277,207,12,12,193,193,189,196,
- 12,196,204,132,199,196,114,123,12,12,
- 119,11,11,189,140,193,193,12,125,172,
- 69,20,207,84,84,182,69,12,29,204,
- 193,191,12,121,189,57,193,20,196,193,
- 204,193,156,121,196,50
+ 12,12,12,12,12,159,192,12,84,12,
+ 180,12,12,12,12,193,12,264,178,180,
+ 180,264,71,215,84,82,164,164,84,84,
+ 273,136,227,41,41,84,180,114,84,84,
+ 236,120,230,12,12,88,94,210,215,227,
+ 12,12,12,12,108,11,153,58,84,41,
+ 190,101,215,153,104,58,84,111,12,12,
+ 193,12,193,289,289,225,12,289,180,180,
+ 12,190,75,190,12,120,236,168,210,88,
+ 88,11,190,215,196,196,196,196,12,12,
+ 56,108,215,166,281,12,263,108,41,193,
+ 215,185,215,238,190,12,215,159,99,81,
+ 63,12,11,210,210,164,190,215,215,215,
+ 215,217,217,108,190,151,12,196,281,105,
+ 12,12,215,215,190,193,12,193,180,114,
+ 196,193,111,99,12,12,32,11,11,190,
+ 164,215,215,12,166,217,84,25,105,71,
+ 71,183,84,12,242,180,215,213,12,63,
+ 190,151,215,25,193,215,180,215,141,63,
+ 193,41
};
};
public final static char nasb[] = Nasb.nasb;
@@ -2310,34 +2346,34 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym
public interface Nasr {
public final static char nasr[] = {0,
3,13,10,9,162,160,130,159,158,5,
- 2,0,214,0,13,2,9,10,5,89,
- 0,4,207,0,4,50,208,0,4,190,
- 0,169,0,4,74,0,166,0,5,2,
- 9,10,149,0,5,10,9,2,13,4,
- 50,0,179,5,178,0,151,0,2,72,
- 0,5,108,204,0,74,138,47,13,2,
- 9,10,5,0,118,0,196,0,87,0,
- 1,47,0,47,67,0,47,112,0,47,
- 170,0,30,184,0,203,0,5,108,175,
- 0,4,37,0,187,0,205,0,171,0,
- 4,189,0,124,0,213,30,0,116,0,
- 135,0,172,0,153,0,72,148,147,0,
- 96,4,5,10,9,2,64,42,0,71,
- 0,182,0,145,0,30,100,101,4,0,
- 101,100,42,64,69,5,10,9,2,0,
- 2,146,72,0,49,2,3,0,2,49,
- 0,4,103,0,53,44,191,4,47,0,
- 30,101,100,64,5,2,9,10,4,0,
- 50,4,30,0,74,47,53,75,4,44,
- 0,4,44,43,0,2,125,0,111,88,
- 53,4,0,44,193,23,4,0,4,5,
- 10,9,2,64,24,0,2,68,0,2,
- 5,130,126,127,128,13,93,0,4,53,
- 88,90,0,42,72,0,5,10,9,13,
- 3,1,0,43,5,2,9,10,4,168,
- 0,4,53,88,108,51,5,0,23,4,
- 5,42,96,0,101,100,42,5,69,0,
- 50,4,192,0,4,50,44,0,4,50,
+ 2,0,203,0,87,0,1,47,0,13,
+ 2,9,10,5,89,0,4,207,0,166,
+ 0,116,0,214,0,5,10,9,2,13,
+ 4,48,0,179,5,178,0,5,2,9,
+ 10,149,0,145,0,2,146,72,0,47,
+ 112,0,135,0,196,0,5,108,204,0,
+ 47,67,0,4,74,0,169,0,187,0,
+ 74,138,47,13,2,9,10,5,0,4,
+ 48,208,0,205,0,47,170,0,172,0,
+ 4,189,0,2,125,0,50,2,3,0,
+ 124,0,96,4,5,10,9,2,65,42,
+ 0,2,72,0,29,184,0,182,0,72,
+ 148,147,0,118,0,101,100,42,65,69,
+ 5,10,9,2,0,29,100,101,4,0,
+ 151,0,2,50,0,4,35,0,171,0,
+ 42,72,0,71,0,153,0,5,108,175,
+ 0,53,43,191,4,47,0,4,43,44,
+ 0,29,101,100,65,5,2,9,10,4,
+ 0,74,47,53,75,4,43,0,44,5,
+ 2,9,10,4,168,0,213,29,0,2,
+ 68,0,48,4,29,0,4,103,0,111,
+ 88,53,4,0,43,193,22,4,0,4,
+ 5,10,9,2,65,24,0,48,4,192,
+ 0,4,190,0,2,5,130,126,127,128,
+ 13,93,0,4,53,88,90,0,5,10,
+ 9,13,3,1,0,4,53,88,108,51,
+ 5,0,22,4,5,42,96,0,101,100,
+ 42,5,69,0,4,48,43,0,4,48,
110,0
};
};
@@ -2348,17 +2384,17 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym
public final static char terminalIndex[] = {0,
113,114,2,31,46,126,127,13,79,115,
10,9,100,48,52,60,68,74,75,86,
- 87,102,105,107,54,104,106,120,47,64,
- 66,70,73,76,83,89,98,11,12,112,
- 7,8,53,93,14,55,61,67,84,88,
- 90,94,97,99,109,110,111,129,63,91,
- 101,19,77,95,103,128,1,118,44,58,
- 78,20,30,121,33,119,96,108,49,50,
- 56,57,59,69,71,72,85,92,65,17,
- 18,32,6,4,15,16,21,22,23,24,
- 25,26,27,28,80,81,82,5,29,34,
- 35,36,37,38,39,40,41,42,43,117,
- 51,3,130,62,116,122,123,124,125
+ 87,102,105,107,54,104,106,11,12,120,
+ 112,47,64,66,70,73,76,83,89,98,
+ 7,8,14,53,55,61,67,84,88,90,
+ 94,97,99,109,110,111,122,123,93,63,
+ 91,101,19,77,95,103,128,1,118,44,
+ 58,78,20,30,121,33,119,96,108,49,
+ 50,56,57,59,69,71,72,85,92,65,
+ 17,18,32,6,4,15,16,21,22,23,
+ 24,25,26,27,28,80,81,82,5,29,
+ 34,35,36,37,38,39,40,41,42,43,
+ 117,51,3,129,62,116,124,125
};
};
public final static char terminalIndex[] = TerminalIndex.terminalIndex;
@@ -2366,28 +2402,28 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym
public interface NonterminalIndex {
public final static char nonterminalIndex[] = {0,
- 136,141,142,0,0,140,0,0,235,241,
- 139,0,149,138,0,0,148,154,0,0,
- 155,164,186,250,0,0,0,165,166,132,
- 167,168,169,170,171,172,157,173,174,0,
- 147,251,134,137,175,0,135,144,143,158,
- 183,0,0,0,0,0,0,0,0,210,
- 0,0,207,211,0,151,178,0,161,181,
- 193,0,0,133,177,0,0,0,0,0,
- 0,0,0,0,0,0,212,0,131,184,
- 0,0,192,0,0,208,218,163,214,215,
- 216,0,0,152,0,0,213,226,0,180,
- 185,202,0,0,217,0,0,0,230,0,
- 232,0,246,247,153,195,196,197,198,199,
- 201,204,0,205,0,220,223,0,225,0,
- 244,0,245,0,255,0,145,146,150,0,
- 0,160,162,0,176,0,187,188,189,190,
- 191,194,0,0,200,0,203,209,0,221,
- 222,0,0,227,234,0,238,239,240,243,
- 0,252,0,254,0,0,0,156,159,0,
- 179,0,182,0,0,206,219,224,0,0,
- 228,229,231,233,0,236,237,242,248,249,
- 0,0,253,0,0,0,0,0
+ 135,140,141,0,0,139,0,0,234,240,
+ 138,0,148,137,0,0,147,153,0,0,
+ 154,185,163,249,0,0,0,164,131,165,
+ 166,167,168,169,156,170,171,172,173,0,
+ 146,250,136,133,174,0,134,157,143,142,
+ 182,0,0,0,0,0,0,0,0,209,
+ 0,0,150,206,210,0,177,0,160,180,
+ 192,0,0,132,176,0,0,0,0,0,
+ 0,0,0,0,0,0,211,0,130,183,
+ 0,0,191,0,0,207,217,162,213,214,
+ 215,0,0,151,0,0,212,225,0,179,
+ 184,201,0,0,216,0,0,0,229,0,
+ 231,0,245,246,152,194,195,196,197,198,
+ 200,203,0,204,0,219,222,0,224,0,
+ 243,0,244,0,254,0,144,145,149,0,
+ 0,159,161,0,175,0,186,187,188,189,
+ 190,193,0,0,199,0,202,208,0,220,
+ 221,0,0,226,233,0,237,238,239,242,
+ 0,251,0,253,0,0,0,155,158,0,
+ 178,0,181,0,0,205,218,223,0,0,
+ 227,228,230,232,0,235,236,241,247,248,
+ 0,0,252,0,0,0,0,0
};
};
public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex;
@@ -2395,20 +2431,20 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym
public interface ScopePrefix {
public final static char scopePrefix[] = {
- 218,666,685,366,617,633,644,655,449,324,
- 338,360,382,400,86,349,469,507,226,674,
- 560,64,95,115,124,129,134,189,254,355,
- 393,408,413,39,203,330,344,588,71,203,
- 459,413,693,71,276,305,1,33,47,58,
- 105,120,150,418,438,442,525,553,582,609,
- 613,703,707,711,141,51,141,487,503,516,
- 537,601,288,160,160,516,624,640,651,662,
- 266,571,13,25,100,100,215,281,7,100,
- 300,321,7,7,100,446,550,557,215,100,
- 726,7,154,422,491,531,544,100,169,373,
- 422,169,169,373,478,236,18,18,148,296,
- 428,428,428,428,529,715,722,18,18,715,
- 722,109,296,497,196,148,148,310
+ 226,674,693,374,625,641,652,663,457,332,
+ 346,368,390,408,94,357,477,515,234,682,
+ 568,72,103,123,132,137,142,197,262,363,
+ 401,416,421,47,211,338,352,596,79,211,
+ 467,421,701,79,284,313,1,33,39,43,
+ 55,66,113,128,158,426,446,450,533,561,
+ 590,617,621,711,715,719,149,59,149,495,
+ 511,524,545,609,296,168,168,524,632,648,
+ 659,670,274,579,13,25,108,108,223,289,
+ 7,108,308,329,7,7,108,454,558,565,
+ 223,108,734,7,162,430,499,539,552,108,
+ 177,381,430,177,177,381,486,244,18,18,
+ 156,304,436,436,436,436,537,723,730,18,
+ 18,723,730,117,304,505,204,156,156,318
};
};
public final static char scopePrefix[] = ScopePrefix.scopePrefix;
@@ -2416,20 +2452,20 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym
public interface ScopeSuffix {
public final static char scopeSuffix[] = {
- 62,37,37,194,37,37,37,37,456,194,
- 139,194,194,406,92,335,475,513,232,111,
- 566,69,69,69,103,103,139,194,259,194,
- 398,398,406,44,208,335,145,593,82,211,
- 464,680,698,76,270,270,5,37,37,62,
- 37,103,139,398,139,139,194,303,37,37,
- 37,37,37,303,724,55,145,456,456,456,
- 541,593,292,164,178,520,628,628,628,628,
- 270,575,16,16,103,103,37,37,284,286,
- 303,37,5,5,286,139,37,303,37,586,
- 37,10,157,425,494,534,547,605,164,388,
- 596,172,183,376,481,239,23,31,139,298,
- 430,432,434,436,139,717,717,20,28,719,
- 719,111,292,499,198,261,246,312
+ 70,37,37,202,37,37,37,37,464,202,
+ 147,202,202,414,100,343,483,521,240,119,
+ 574,77,77,77,111,111,147,202,267,202,
+ 406,406,414,52,216,343,153,601,90,219,
+ 472,688,706,84,278,278,5,37,37,37,
+ 37,70,37,111,147,406,147,147,202,311,
+ 37,37,37,37,37,311,732,63,153,464,
+ 464,464,549,601,300,172,186,528,636,636,
+ 636,636,278,583,16,16,111,111,37,37,
+ 292,294,311,37,5,5,294,147,37,311,
+ 37,594,37,10,165,433,502,542,555,613,
+ 172,396,604,180,191,384,489,247,23,31,
+ 147,306,438,440,442,444,147,725,725,20,
+ 28,727,727,119,300,507,206,269,254,320
};
};
public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix;
@@ -2441,16 +2477,16 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym
52,85,128,127,82,57,78,77,51,17,
19,3,7,8,175,175,174,126,51,86,
127,127,129,25,137,58,52,149,142,137,
- 78,17,17,142,102,59,70,181,144,81,
- 178,175,174,129,194,55,67,153,18,17,
- 17,17,17,17,12,124,174,78,77,77,
- 40,149,69,139,139,77,17,17,17,17,
- 102,19,119,134,179,175,196,100,107,61,
- 87,60,168,70,129,79,154,153,187,149,
- 16,70,174,129,110,76,21,149,139,128,
- 149,139,139,128,78,51,119,134,174,69,
- 161,160,159,158,73,147,49,119,134,147,
- 49,178,69,110,126,51,51,59
+ 78,17,17,142,102,59,70,18,18,181,
+ 144,81,178,175,174,129,194,55,67,153,
+ 18,17,17,17,17,17,12,124,174,78,
+ 77,77,40,149,69,139,139,77,17,17,
+ 17,17,102,19,119,134,179,175,196,100,
+ 107,61,87,60,168,70,129,79,154,153,
+ 187,149,16,70,174,129,110,76,21,149,
+ 139,128,149,139,139,128,78,51,119,134,
+ 174,69,161,160,159,158,73,147,50,119,
+ 134,147,50,178,69,110,126,51,51,59
};
};
public final static char scopeLhs[] = ScopeLhs.scopeLhs;
@@ -2458,20 +2494,20 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym
public interface ScopeLa {
public final static char scopeLa[] = {
- 121,68,68,76,68,68,68,68,68,76,
- 28,76,76,1,72,1,68,124,74,3,
- 68,72,72,72,1,1,28,76,74,76,
- 1,1,1,68,76,1,1,4,72,69,
- 28,1,1,72,68,68,1,68,68,121,
- 68,1,28,1,28,28,76,120,68,68,
- 68,68,68,120,1,68,1,68,68,68,
- 73,4,11,1,1,68,72,72,72,72,
- 68,3,6,6,1,1,68,68,3,1,
- 120,68,1,1,1,28,68,120,68,8,
- 68,6,1,44,75,73,68,1,1,74,
- 44,1,1,1,78,77,1,1,28,12,
- 1,59,43,43,28,4,4,1,1,4,
- 4,3,11,1,74,1,1,3
+ 122,69,69,77,69,69,69,69,69,77,
+ 30,77,77,1,73,1,69,125,75,3,
+ 69,73,73,73,1,1,30,77,75,77,
+ 1,1,1,69,77,1,1,4,73,70,
+ 30,1,1,73,69,69,1,69,69,69,
+ 69,122,69,1,30,1,30,30,77,121,
+ 69,69,69,69,69,121,1,69,1,69,
+ 69,69,74,4,11,1,1,69,73,73,
+ 73,73,69,3,6,6,1,1,69,69,
+ 3,1,121,69,1,1,1,30,69,121,
+ 69,8,69,6,1,59,76,74,69,1,
+ 1,75,59,1,1,1,79,78,1,1,
+ 30,12,1,60,44,44,30,4,4,1,
+ 1,4,4,3,11,1,75,1,1,3
};
};
public final static char scopeLa[] = ScopeLa.scopeLa;
@@ -2479,20 +2515,20 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym
public interface ScopeStateSet {
public final static char scopeStateSet[] = {
- 340,214,214,283,214,214,214,214,351,365,
- 340,363,283,283,363,342,351,351,340,214,
- 214,141,185,185,21,21,69,283,340,363,
- 283,283,283,287,279,342,340,37,42,279,
- 351,214,214,42,81,117,123,72,4,351,
- 46,21,69,283,35,342,49,8,214,214,
- 214,214,214,214,189,16,69,351,351,351,
- 246,37,324,283,283,351,214,214,214,214,
- 81,214,133,89,46,21,75,81,83,117,
- 77,117,138,123,283,351,1,8,40,37,
- 214,123,69,283,11,351,215,37,283,283,
- 37,283,283,283,351,340,133,89,69,324,
- 284,284,284,284,24,66,93,133,89,66,
- 93,46,324,11,283,340,340,117
+ 342,214,214,285,214,214,214,214,353,367,
+ 342,365,285,285,365,344,353,353,342,214,
+ 214,141,185,185,21,21,69,285,342,365,
+ 285,285,285,289,281,344,342,37,42,281,
+ 353,214,214,42,81,117,123,214,214,72,
+ 4,353,46,21,69,285,35,344,49,8,
+ 214,214,214,214,214,214,189,16,69,353,
+ 353,353,248,37,326,285,285,353,214,214,
+ 214,214,81,214,133,89,46,21,75,81,
+ 83,117,77,117,138,123,285,353,1,8,
+ 40,37,214,123,69,285,11,353,217,37,
+ 285,285,37,285,285,285,353,342,133,89,
+ 69,326,286,286,286,286,24,66,93,133,
+ 89,66,93,46,326,11,285,342,342,117
};
};
public final static char scopeStateSet[] = ScopeStateSet.scopeStateSet;
@@ -2500,79 +2536,80 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym
public interface ScopeRhs {
public final static char scopeRhs[] = {0,
- 171,225,133,0,207,0,225,133,0,251,
- 207,0,248,171,0,251,0,171,0,230,
- 251,0,230,0,199,171,0,181,251,0,
- 181,0,341,3,311,0,132,0,340,3,
- 3,6,0,132,132,0,339,3,64,0,
- 338,3,121,0,132,178,0,133,196,77,
- 0,222,0,269,133,62,131,0,20,0,
- 309,133,62,44,0,20,53,0,33,138,
- 0,20,53,0,0,309,133,62,44,217,
- 0,20,184,0,269,133,62,139,0,197,
- 134,0,147,0,232,3,308,0,308,0,
- 2,0,132,0,269,133,62,138,0,197,
- 134,237,0,197,134,26,237,0,197,134,
- 334,26,0,135,201,178,134,0,134,0,
- 201,178,134,0,140,134,0,182,0,330,
- 133,182,0,133,182,0,228,134,0,178,
- 329,259,0,142,0,0,0,0,329,259,
- 0,143,142,0,0,0,0,141,0,0,
- 0,0,143,141,0,0,0,0,328,133,
- 176,268,0,133,0,268,0,135,0,0,
- 133,0,327,133,176,267,0,133,0,0,
- 44,133,0,0,166,3,0,133,299,298,
- 133,77,297,182,0,298,133,77,297,182,
- 0,221,0,222,0,297,182,0,96,0,
- 0,221,0,222,0,209,96,0,0,221,
- 0,222,0,298,133,297,182,0,221,0,
- 209,0,0,221,0,242,133,3,0,132,
- 0,0,0,0,0,242,133,3,229,0,
- 236,3,0,214,0,152,0,194,178,134,
- 0,10,0,0,0,194,0,9,0,227,
- 67,0,131,0,242,133,3,189,0,189,
- 0,2,0,0,132,0,0,0,0,0,
- 199,3,0,238,133,176,40,31,0,197,
- 134,63,65,0,202,134,0,135,197,134,
- 295,65,0,197,134,295,65,0,197,134,
- 75,130,63,0,238,133,176,63,0,238,
- 133,176,241,63,0,293,133,176,130,324,
- 59,0,324,59,0,136,135,0,0,133,
- 0,293,133,176,324,59,0,135,0,0,
- 133,0,197,134,292,59,0,141,0,201,
- 197,134,292,259,0,142,0,197,134,292,
- 259,0,201,178,134,13,0,178,134,13,
- 0,178,134,0,93,142,0,291,0,198,
- 0,197,0,196,0,195,0,285,133,152,
- 0,285,133,182,0,173,87,0,319,172,
- 321,322,3,84,0,132,177,0,321,322,
- 3,84,0,134,0,132,177,0,173,3,
- 78,204,83,0,132,134,0,204,83,0,
- 108,2,137,132,134,0,239,3,78,0,
- 199,179,0,33,175,0,179,0,181,33,
- 175,0,239,3,88,0,204,159,239,3,
- 86,0,62,177,0,239,3,86,0,132,
- 177,62,177,0,320,133,176,0,173,0,
- 227,80,0,30,177,0,173,109,168,0,
- 30,175,0,195,3,0,132,155,0,232,
- 3,0,227,67,282,0,173,67,0,195,
- 3,316,71,134,0,132,0,0,0,0,
- 316,71,134,0,2,151,132,0,0,0,
- 0,195,3,50,0,153,0,132,44,178,
- 134,0,31,153,0,93,142,31,153,0,
- 233,197,134,0,152,31,153,0,195,3,
- 54,0,173,3,54,0,173,3,72,195,
- 62,46,0,195,62,46,0,20,2,137,
- 132,0,173,3,72,195,62,49,0,195,
- 62,49,0,173,3,72,195,62,51,0,
- 195,62,51,0,173,3,72,195,62,47,
- 0,195,62,47,0,232,3,132,201,178,
- 134,13,0,132,201,178,134,13,0,142,
- 2,0,132,0,232,3,131,275,178,134,
- 13,0,275,178,134,13,0,141,2,0,
- 132,0,232,3,142,0,232,3,146,0,
- 173,67,146,0,277,0,31,0,31,145,
- 0,177,0,140,0,173,3,0
+ 170,224,132,0,206,0,224,132,0,250,
+ 206,0,247,170,0,250,0,170,0,229,
+ 250,0,229,0,198,170,0,180,250,0,
+ 180,0,191,3,57,0,131,0,191,3,
+ 58,0,340,3,310,0,339,3,3,6,
+ 0,131,131,0,338,3,65,0,337,3,
+ 122,0,131,177,0,132,195,78,0,221,
+ 0,268,132,63,130,0,20,0,308,132,
+ 63,59,0,20,53,0,33,137,0,20,
+ 53,0,0,308,132,63,59,216,0,20,
+ 183,0,268,132,63,138,0,196,133,0,
+ 146,0,231,3,307,0,307,0,2,0,
+ 131,0,268,132,63,137,0,196,133,236,
+ 0,196,133,26,236,0,196,133,333,26,
+ 0,134,200,178,133,0,133,0,200,178,
+ 133,0,139,133,0,181,0,329,132,181,
+ 0,132,181,0,227,133,0,178,328,258,
+ 0,141,0,0,0,0,328,258,0,142,
+ 141,0,0,0,0,140,0,0,0,0,
+ 142,140,0,0,0,0,327,132,175,267,
+ 0,132,0,267,0,134,0,0,132,0,
+ 326,132,175,266,0,132,0,0,44,132,
+ 0,0,163,3,0,132,298,297,132,78,
+ 296,181,0,297,132,78,296,181,0,220,
+ 0,221,0,296,181,0,96,0,0,220,
+ 0,221,0,208,96,0,0,220,0,221,
+ 0,297,132,296,181,0,220,0,208,0,
+ 0,220,0,241,132,3,0,131,0,0,
+ 0,0,0,241,132,3,228,0,235,3,
+ 0,213,0,151,0,194,178,133,0,10,
+ 0,0,0,194,0,9,0,226,68,0,
+ 130,0,241,132,3,188,0,188,0,2,
+ 0,0,131,0,0,0,0,0,198,3,
+ 0,237,132,175,31,34,0,196,133,64,
+ 66,0,201,133,0,134,196,133,294,66,
+ 0,196,133,294,66,0,196,133,76,129,
+ 64,0,237,132,175,64,0,237,132,175,
+ 240,64,0,292,132,175,129,323,60,0,
+ 323,60,0,135,134,0,0,132,0,292,
+ 132,175,323,60,0,134,0,0,132,0,
+ 196,133,291,60,0,140,0,200,196,133,
+ 291,258,0,141,0,196,133,291,258,0,
+ 200,178,133,13,0,178,133,13,0,178,
+ 133,0,93,141,0,290,0,197,0,196,
+ 0,195,0,194,0,284,132,150,0,284,
+ 132,181,0,171,88,0,318,172,320,321,
+ 3,85,0,131,176,0,320,321,3,85,
+ 0,133,0,131,176,0,171,3,79,203,
+ 84,0,131,133,0,203,84,0,108,2,
+ 136,131,133,0,238,3,79,0,198,176,
+ 0,33,174,0,176,0,180,33,174,0,
+ 238,3,89,0,203,157,238,3,87,0,
+ 62,176,0,238,3,87,0,131,176,62,
+ 176,0,319,132,175,0,171,0,226,81,
+ 0,30,176,0,171,110,167,0,30,174,
+ 0,191,3,0,131,154,0,231,3,0,
+ 226,68,281,0,171,68,0,191,3,315,
+ 72,133,0,131,0,0,0,0,315,72,
+ 133,0,2,150,131,0,0,0,0,191,
+ 3,49,0,152,0,131,59,178,133,0,
+ 31,152,0,93,141,31,152,0,232,196,
+ 133,0,151,31,152,0,191,3,53,0,
+ 171,3,53,0,171,3,73,191,63,45,
+ 0,191,63,45,0,20,2,136,131,0,
+ 171,3,73,191,63,48,0,191,63,48,
+ 0,171,3,73,191,63,50,0,191,63,
+ 50,0,171,3,73,191,63,46,0,191,
+ 63,46,0,231,3,131,200,178,133,13,
+ 0,131,200,178,133,13,0,141,2,0,
+ 131,0,231,3,130,274,178,133,13,0,
+ 274,178,133,13,0,140,2,0,131,0,
+ 231,3,141,0,231,3,145,0,171,68,
+ 145,0,276,0,31,0,31,144,0,177,
+ 0,139,0,171,3,0
};
};
public final static char scopeRhs[] = ScopeRhs.scopeRhs;
@@ -2580,44 +2617,44 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym
public interface ScopeState {
public final static char scopeState[] = {0,
- 1013,792,0,2986,2870,2146,0,2618,2268,0,
- 5420,5818,5815,5780,0,2770,1729,1824,1728,0,
- 1582,937,0,3993,3948,3903,3858,3813,3768,3723,
- 3678,3633,3496,3347,4163,0,800,727,0,1636,
- 0,4318,717,3231,0,1031,774,0,3993,3948,
- 1831,1737,3903,3858,3813,3768,3723,3678,1299,3633,
- 3496,3347,3567,1332,0,2901,2469,0,5300,5293,
- 0,999,2612,0,1212,0,1535,1488,1455,1285,
- 2749,5389,2908,3429,2739,3177,3408,0,2795,2933,
- 2473,0,5725,5721,5708,5809,5799,5704,5692,5671,
- 5794,5649,5734,4643,5635,4463,5621,5617,5607,2842,
- 2783,5369,4365,3601,2827,0,2749,5048,5162,4170,
- 4124,3357,2908,2795,4094,3429,3177,4468,2933,4300,
- 3442,2473,3202,3131,3102,2502,0,5162,3357,0,
- 3747,3651,1709,5725,5721,3479,1680,1662,1615,2455,
- 5708,3657,5809,5799,1568,5704,5692,5671,2226,5794,
- 1492,5649,986,1474,5734,4643,5635,4463,1445,5621,
- 5617,1130,2632,5607,840,2842,2783,5369,4365,3601,
- 1113,2827,4582,2861,2379,2285,1383,877,2545,2908,
- 2795,4094,3202,3131,2749,1235,1014,3102,3429,800,
- 727,2502,3177,4468,5048,5162,2933,4170,4300,4124,
- 3442,2473,3357,5272,5250,5176,2636,2676,3024,2713,
- 3324,3280,3068,4270,4240,3610,3578,3455,2573,4649,
- 4619,686,4558,4534,5135,5113,5076,5026,5004,4982,
- 4960,4938,4916,4894,4872,2156,2432,2109,2391,2338,
- 1451,1404,1342,2062,2297,2244,2203,1295,962,2015,
- 1968,1921,1874,1827,1780,1733,1686,1639,1592,1545,
- 586,1185,1248,1498,895,816,633,749,1089,1041,
- 1137,0,4582,586,2861,0,2795,3827,4693,3202,
- 4680,3640,3131,3102,4416,586,3243,4468,3354,5048,
- 3091,4120,3232,4785,4405,2933,2763,2600,2675,2493,
- 4300,1040,2390,2296,4582,3738,5204,3648,4038,3122,
- 2853,2740,2861,5564,5528,2749,5338,5331,5389,5518,
- 5482,2502,5574,5472,4170,4124,5436,2473,0,5300,
- 5293,5157,4399,4335,4293,4779,4763,4690,4674,4031,
- 3993,3948,3903,3858,3813,3768,3723,3678,3633,3496,
- 3347,0,5300,5293,5157,4399,4335,4293,4779,4763,
- 4690,4674,4031,0
+ 2855,2814,0,2819,2135,932,0,3685,3233,0,
+ 4449,5776,5769,5753,0,2612,3524,2362,2892,0,
+ 3299,1005,0,4188,4128,3984,3924,3864,3804,3744,
+ 3684,3624,3488,3338,4154,0,1235,801,0,1065,
+ 0,5666,3636,4460,0,2456,776,0,4188,4128,
+ 1324,1299,3984,3924,3864,3804,3744,3684,1016,3624,
+ 3488,3338,1661,1426,0,2755,2700,0,5442,5421,
+ 0,2183,2698,0,985,0,1878,1480,1085,624,
+ 2751,5548,4066,3420,2784,3213,4254,0,2797,2970,
+ 2473,0,5711,5660,5656,3437,2009,5640,5636,5626,
+ 1774,5604,1680,1586,5584,1445,4597,4526,4106,1289,
+ 2150,4093,3594,2832,2828,0,2751,5154,3493,4298,
+ 4270,5428,4066,2797,5269,3420,3213,4603,2970,4430,
+ 2940,2473,3170,3141,3070,2502,0,3493,5428,0,
+ 3356,3098,2086,5711,5660,2490,1992,1898,1804,2379,
+ 5656,1915,3437,2009,1757,5640,5636,5626,2227,1774,
+ 1663,5604,2738,1616,1680,1586,5584,1445,1569,4597,
+ 4526,1522,2660,4106,2103,1289,2150,4093,3594,2832,
+ 857,2828,4717,2863,2285,1392,1025,880,2545,4066,
+ 2797,5269,3170,3141,2751,2608,730,3070,3420,1235,
+ 801,2502,3213,4603,5154,3493,2970,4298,4430,4270,
+ 2940,2473,5428,5400,5379,3108,5357,5282,2636,2676,
+ 2905,2714,3316,3236,3036,4399,4368,3602,3570,3445,
+ 2573,4784,4754,689,4693,4669,5242,5220,5182,5132,
+ 5110,5088,5066,5044,5022,5000,4978,2156,2432,2109,
+ 2391,2338,1451,1404,1342,2062,2297,2244,2203,1295,
+ 961,2015,1968,1921,1874,1827,1780,1733,1686,1639,
+ 1592,1545,589,1185,1248,1498,897,816,636,752,
+ 1089,1041,1137,0,4717,589,2863,0,2797,3639,
+ 3491,3170,3345,3353,3141,3070,3161,589,2818,4603,
+ 2494,5154,2765,4536,4194,2961,987,2970,2600,2360,
+ 3983,2743,4430,842,922,661,4717,3341,3683,3281,
+ 3627,3065,3061,3269,2863,5555,3927,2751,5496,5444,
+ 5548,3867,3807,2502,3987,3747,4298,4270,3687,2473,
+ 0,5442,5421,5264,4534,4463,4421,4885,4868,4826,
+ 4809,4030,4188,4128,3984,3924,3864,3804,3744,3684,
+ 3624,3488,3338,0,5442,5421,5264,4534,4463,4421,
+ 4885,4868,4826,4809,4030,0
};
};
public final static char scopeState[] = ScopeState.scopeState;
@@ -2625,65 +2662,66 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym
public interface InSymb {
public final static char inSymb[] = {0,
- 0,315,65,5,133,182,217,44,31,63,
- 240,63,295,343,286,6,7,5,287,268,
- 288,259,289,59,290,291,131,13,134,297,
- 133,3,4,139,138,9,8,131,134,189,
- 44,62,40,176,241,130,134,134,3,3,
- 3,3,176,329,292,171,324,292,171,62,
- 134,197,178,177,77,133,285,199,193,189,
- 133,263,296,225,171,134,194,199,62,62,
- 179,67,3,70,71,131,130,197,178,3,
- 62,72,133,176,133,176,75,197,197,344,
- 40,274,3,342,1,40,133,178,245,132,
- 131,134,130,176,134,133,178,44,4,133,
- 298,73,171,67,225,171,134,3,75,69,
- 199,178,11,133,133,133,67,67,201,133,
- 133,133,238,133,134,241,135,73,159,3,
- 69,340,311,3,328,134,180,237,63,44,
- 65,182,331,132,131,246,171,246,197,176,
- 133,197,269,179,54,46,49,51,47,13,
- 142,3,134,50,45,8,39,38,11,12,
- 42,41,146,151,158,157,161,160,163,162,
- 165,164,167,64,168,272,201,277,201,298,
- 176,307,134,308,227,168,171,178,166,133,
- 176,267,171,171,194,133,269,269,225,242,
- 243,152,244,309,44,13,43,238,238,197,
- 11,1,69,159,3,1,178,133,246,246,
- 133,133,201,133,293,130,294,133,3,230,
- 229,3,62,62,62,62,134,3,195,173,
- 133,70,71,178,3,132,108,122,3,67,
- 93,94,39,38,96,95,11,98,97,72,
- 62,90,91,12,100,99,102,101,103,119,
- 118,117,116,115,114,113,112,111,110,75,
- 109,104,69,4,299,133,69,197,3,284,
- 133,176,11,200,159,75,236,199,3,133,
- 69,69,72,62,245,245,241,1,341,201,
- 330,73,250,199,131,248,171,133,133,73,
- 293,75,69,225,236,133,3,195,173,195,
- 195,195,195,178,232,159,142,132,131,13,
- 134,67,316,3,195,44,134,44,232,173,
- 157,157,151,151,151,160,160,160,160,158,
- 158,162,161,161,164,163,165,173,167,133,
- 320,82,80,1,173,10,88,86,84,83,
- 78,85,87,81,79,63,77,232,69,133,
- 133,133,75,75,133,225,133,75,75,69,
- 135,69,73,75,171,248,171,153,333,237,
- 26,134,242,133,72,72,72,72,201,275,
- 134,178,218,3,317,179,166,134,197,178,
- 73,300,121,10,73,227,73,3,3,3,
- 204,3,130,173,130,196,327,234,309,248,
- 171,69,134,26,334,197,159,242,3,3,
- 3,3,132,131,178,44,195,133,133,233,
- 8,44,3,73,239,179,239,322,152,78,
- 239,133,203,69,133,72,197,134,134,133,
- 159,173,173,173,173,3,3,201,159,279,
- 282,67,198,4,130,132,92,338,179,159,
- 199,159,321,133,3,159,300,203,10,64,
- 43,197,197,234,133,232,232,132,133,3,
- 67,173,4,159,159,133,75,204,172,285,
- 173,3,245,133,234,279,232,227,124,319,
- 159,339,75,133,159,69
+ 0,314,66,5,132,181,216,59,34,64,
+ 239,64,294,342,285,6,7,5,286,267,
+ 287,258,288,60,289,290,130,13,133,296,
+ 132,3,4,138,137,9,8,130,133,188,
+ 59,63,31,175,240,129,133,133,3,3,
+ 3,3,175,328,291,170,323,291,170,63,
+ 133,196,178,177,78,132,284,198,193,188,
+ 132,262,295,224,170,133,194,198,63,63,
+ 176,68,3,71,72,130,129,196,178,3,
+ 63,73,132,175,132,175,76,196,196,343,
+ 31,273,3,341,1,31,132,178,244,131,
+ 130,133,129,175,133,132,178,59,4,132,
+ 297,74,170,68,224,170,133,3,76,70,
+ 198,178,11,132,132,132,68,68,200,132,
+ 132,132,237,132,133,240,134,74,157,3,
+ 70,339,310,3,327,133,179,236,64,59,
+ 66,181,330,131,130,245,170,245,196,175,
+ 132,196,268,176,53,45,48,50,46,13,
+ 141,3,133,57,58,49,43,8,29,28,
+ 11,12,42,41,145,151,158,156,160,159,
+ 162,161,165,164,166,65,167,271,200,276,
+ 200,297,175,306,133,307,226,167,170,178,
+ 163,132,175,266,170,170,194,132,268,268,
+ 224,241,242,150,243,308,59,13,44,237,
+ 237,196,11,1,70,157,3,1,178,132,
+ 245,245,132,132,200,132,292,129,293,132,
+ 3,229,228,3,63,63,63,63,133,3,
+ 191,171,132,71,72,178,3,3,3,131,
+ 109,123,3,68,94,95,29,28,97,96,
+ 11,99,98,73,63,91,92,12,101,100,
+ 103,102,104,120,119,118,117,116,115,114,
+ 113,112,111,76,110,105,70,4,298,132,
+ 70,196,3,283,132,175,11,199,157,76,
+ 235,198,3,132,70,70,73,63,244,244,
+ 240,1,340,200,329,74,249,198,130,247,
+ 170,132,132,74,292,76,70,224,235,132,
+ 3,191,171,191,191,191,191,178,231,157,
+ 141,131,130,13,133,68,315,3,191,191,
+ 191,59,133,59,231,171,156,156,151,151,
+ 151,159,159,159,159,158,158,161,160,160,
+ 164,162,165,171,166,132,319,83,81,1,
+ 171,10,89,87,85,84,79,86,88,82,
+ 80,64,78,231,70,132,132,132,76,76,
+ 132,224,132,76,76,70,134,70,74,76,
+ 170,247,170,152,332,236,26,133,241,132,
+ 73,73,73,73,200,274,133,178,217,3,
+ 316,176,163,133,196,178,74,299,122,10,
+ 74,226,74,3,3,3,203,3,129,171,
+ 129,195,326,233,308,247,170,70,133,26,
+ 333,196,157,241,3,3,3,3,131,130,
+ 178,59,191,132,132,232,8,59,3,74,
+ 238,176,238,321,150,79,238,132,202,70,
+ 132,73,196,133,133,132,157,171,171,171,
+ 171,3,3,200,157,278,281,68,197,4,
+ 129,131,93,337,176,157,198,157,320,132,
+ 3,157,299,202,10,65,44,196,196,233,
+ 132,231,231,131,132,3,68,171,4,157,
+ 157,132,76,203,172,284,171,3,244,132,
+ 233,278,231,226,125,318,157,338,76,132,
+ 157,70
};
};
public final static char inSymb[] = InSymb.inSymb;
@@ -2820,7 +2858,6 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym
"__attribute__",
"__declspec",
"ERROR_TOKEN",
- "0",
"EOF_TOKEN",
"]",
")",
@@ -2960,9 +2997,9 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym
public final String name(int index) { return name[index]; }
public final static int
- ERROR_SYMBOL = 66,
- SCOPE_UBOUND = 137,
- SCOPE_SIZE = 138,
+ ERROR_SYMBOL = 67,
+ SCOPE_UBOUND = 139,
+ SCOPE_SIZE = 140,
MAX_NAME_LENGTH = 37;
public final int getErrorSymbol() { return ERROR_SYMBOL; }
@@ -2971,20 +3008,20 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym
public final int getMaxNameLength() { return MAX_NAME_LENGTH; }
public final static int
- NUM_STATES = 586,
- NT_OFFSET = 129,
- LA_STATE_OFFSET = 7028,
+ NUM_STATES = 592,
+ NT_OFFSET = 128,
+ LA_STATE_OFFSET = 6989,
MAX_LA = 2147483647,
- NUM_RULES = 585,
+ NUM_RULES = 588,
NUM_NONTERMINALS = 218,
- NUM_SYMBOLS = 347,
+ NUM_SYMBOLS = 346,
SEGMENT_SIZE = 8192,
- START_STATE = 4031,
+ START_STATE = 4030,
IDENTIFIER_SYMBOL = 0,
- EOFT_SYMBOL = 123,
- EOLT_SYMBOL = 123,
- ACCEPT_ACTION = 5930,
- ERROR_ACTION = 6443;
+ EOFT_SYMBOL = 124,
+ EOLT_SYMBOL = 124,
+ ACCEPT_ACTION = 5888,
+ ERROR_ACTION = 6401;
public final static boolean BACKTRACK = true;
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPParsersym.java
index 2a5bfecb437..e0d5f2a06d9 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPParsersym.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPParsersym.java
@@ -16,134 +16,133 @@ package org.eclipse.cdt.internal.core.dom.lrparser.gpp;
public interface GPPParsersym {
public final static int
TK_asm = 5,
- TK_auto = 29,
+ TK_auto = 32,
TK_bool = 14,
- TK_break = 79,
- TK_case = 80,
- TK_catch = 121,
+ TK_break = 80,
+ TK_case = 81,
+ TK_catch = 122,
TK_char = 15,
- TK_class = 43,
+ TK_class = 44,
TK_const = 25,
- TK_const_cast = 46,
- TK_continue = 81,
- TK_default = 82,
- TK_delete = 70,
- TK_do = 83,
+ TK_const_cast = 45,
+ TK_continue = 82,
+ TK_default = 83,
+ TK_delete = 71,
+ TK_do = 84,
TK_double = 16,
- TK_dynamic_cast = 47,
- TK_else = 124,
- TK_enum = 59,
- TK_explicit = 30,
- TK_export = 89,
- TK_extern = 31,
- TK_false = 48,
+ TK_dynamic_cast = 46,
+ TK_else = 125,
+ TK_enum = 60,
+ TK_explicit = 33,
+ TK_export = 90,
+ TK_extern = 34,
+ TK_false = 47,
TK_float = 17,
- TK_for = 84,
- TK_friend = 32,
- TK_goto = 85,
- TK_if = 86,
- TK_inline = 33,
+ TK_for = 85,
+ TK_friend = 35,
+ TK_goto = 86,
+ TK_if = 87,
+ TK_inline = 36,
TK_int = 18,
TK_long = 19,
- TK_mutable = 34,
- TK_namespace = 63,
- TK_new = 71,
+ TK_mutable = 37,
+ TK_namespace = 64,
+ TK_new = 72,
TK_operator = 9,
- TK_private = 105,
- TK_protected = 106,
- TK_public = 107,
- TK_register = 35,
- TK_reinterpret_cast = 49,
- TK_return = 87,
+ TK_private = 106,
+ TK_protected = 107,
+ TK_public = 108,
+ TK_register = 38,
+ TK_reinterpret_cast = 48,
+ TK_return = 88,
TK_short = 20,
TK_signed = 21,
- TK_sizeof = 50,
- TK_static = 36,
- TK_static_cast = 51,
- TK_struct = 60,
- TK_switch = 88,
- TK_template = 44,
- TK_this = 52,
- TK_throw = 64,
- TK_try = 77,
- TK_true = 53,
- TK_typedef = 37,
- TK_typeid = 54,
+ TK_sizeof = 49,
+ TK_static = 39,
+ TK_static_cast = 50,
+ TK_struct = 61,
+ TK_switch = 89,
+ TK_template = 59,
+ TK_this = 51,
+ TK_throw = 65,
+ TK_try = 78,
+ TK_true = 52,
+ TK_typedef = 40,
+ TK_typeid = 53,
TK_typename = 13,
- TK_union = 61,
+ TK_union = 62,
TK_unsigned = 22,
- TK_using = 65,
+ TK_using = 66,
TK_virtual = 26,
TK_void = 23,
TK_volatile = 27,
TK_wchar_t = 24,
- TK_while = 78,
- TK_integer = 55,
- TK_floating = 56,
- TK_charconst = 57,
- TK_stringlit = 40,
+ TK_while = 79,
+ TK_integer = 54,
+ TK_floating = 55,
+ TK_charconst = 56,
+ TK_stringlit = 31,
TK_identifier = 1,
TK_Completion = 2,
TK_EndOfCompletion = 10,
- TK_Invalid = 125,
- TK_LeftBracket = 67,
+ TK_Invalid = 126,
+ TK_LeftBracket = 68,
TK_LeftParen = 3,
- TK_Dot = 122,
- TK_DotStar = 94,
- TK_Arrow = 108,
- TK_ArrowStar = 93,
+ TK_Dot = 123,
+ TK_DotStar = 95,
+ TK_Arrow = 109,
+ TK_ArrowStar = 94,
TK_PlusPlus = 41,
TK_MinusMinus = 42,
TK_And = 12,
TK_Star = 11,
- TK_Plus = 38,
- TK_Minus = 39,
+ TK_Plus = 28,
+ TK_Minus = 29,
TK_Tilde = 8,
- TK_Bang = 45,
- TK_Slash = 95,
- TK_Percent = 96,
- TK_RightShift = 90,
- TK_LeftShift = 91,
- TK_LT = 62,
- TK_GT = 72,
- TK_LE = 97,
- TK_GE = 98,
- TK_EQ = 99,
- TK_NE = 100,
- TK_Caret = 101,
- TK_Or = 102,
- TK_AndAnd = 103,
- TK_OrOr = 104,
- TK_Question = 109,
- TK_Colon = 73,
+ TK_Bang = 43,
+ TK_Slash = 96,
+ TK_Percent = 97,
+ TK_RightShift = 91,
+ TK_LeftShift = 92,
+ TK_LT = 63,
+ TK_GT = 73,
+ TK_LE = 98,
+ TK_GE = 99,
+ TK_EQ = 100,
+ TK_NE = 101,
+ TK_Caret = 102,
+ TK_Or = 103,
+ TK_AndAnd = 104,
+ TK_OrOr = 105,
+ TK_Question = 110,
+ TK_Colon = 74,
TK_ColonColon = 4,
- TK_DotDotDot = 92,
- TK_Assign = 75,
- TK_StarAssign = 110,
- TK_SlashAssign = 111,
- TK_PercentAssign = 112,
- TK_PlusAssign = 113,
- TK_MinusAssign = 114,
- TK_RightShiftAssign = 115,
- TK_LeftShiftAssign = 116,
- TK_AndAssign = 117,
- TK_CaretAssign = 118,
- TK_OrAssign = 119,
- TK_Comma = 69,
- TK_RightBracket = 120,
- TK_RightParen = 68,
- TK_RightBrace = 76,
- TK_SemiColon = 28,
- TK_LeftBrace = 74,
- TK_typeof = 126,
- TK___alignof__ = 127,
- TK_MAX = 128,
- TK_MIN = 129,
+ TK_DotDotDot = 93,
+ TK_Assign = 76,
+ TK_StarAssign = 111,
+ TK_SlashAssign = 112,
+ TK_PercentAssign = 113,
+ TK_PlusAssign = 114,
+ TK_MinusAssign = 115,
+ TK_RightShiftAssign = 116,
+ TK_LeftShiftAssign = 117,
+ TK_AndAssign = 118,
+ TK_CaretAssign = 119,
+ TK_OrAssign = 120,
+ TK_Comma = 70,
+ TK_RightBracket = 121,
+ TK_RightParen = 69,
+ TK_RightBrace = 77,
+ TK_SemiColon = 30,
+ TK_LeftBrace = 75,
+ TK_typeof = 57,
+ TK___alignof__ = 58,
+ TK_MAX = 127,
+ TK_MIN = 128,
TK___attribute__ = 6,
TK___declspec = 7,
- TK_ERROR_TOKEN = 66,
- TK_0 = 58,
- TK_EOF_TOKEN = 123;
+ TK_ERROR_TOKEN = 67,
+ TK_EOF_TOKEN = 124;
public final static String orderedTerminalSymbols[] = {
"",
@@ -174,7 +173,10 @@ public interface GPPParsersym {
"const",
"virtual",
"volatile",
+ "Plus",
+ "Minus",
"SemiColon",
+ "stringlit",
"auto",
"explicit",
"extern",
@@ -184,14 +186,10 @@ public interface GPPParsersym {
"register",
"static",
"typedef",
- "Plus",
- "Minus",
- "stringlit",
"PlusPlus",
"MinusMinus",
- "class",
- "template",
"Bang",
+ "class",
"const_cast",
"dynamic_cast",
"false",
@@ -204,7 +202,9 @@ public interface GPPParsersym {
"integer",
"floating",
"charconst",
- "0",
+ "typeof",
+ "__alignof__",
+ "template",
"enum",
"struct",
"union",
@@ -272,8 +272,6 @@ public interface GPPParsersym {
"EOF_TOKEN",
"else",
"Invalid",
- "typeof",
- "__alignof__",
"MAX",
"MIN"
};
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPSizeofExpressionParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPSizeofExpressionParser.java
new file mode 100644
index 00000000000..3eb8b63c745
--- /dev/null
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPSizeofExpressionParser.java
@@ -0,0 +1,2007 @@
+/*******************************************************************************
+* 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
+*********************************************************************************/
+
+// This file was generated by LPG
+
+package org.eclipse.cdt.internal.core.dom.lrparser.gpp;
+
+import lpg.lpgjavaruntime.*;
+
+import java.util.*;
+import org.eclipse.cdt.core.dom.ast.*;
+import org.eclipse.cdt.core.dom.lrparser.IParser;
+import org.eclipse.cdt.core.dom.lrparser.IParserActionTokenProvider;
+import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser;
+import org.eclipse.cdt.core.dom.lrparser.action.ScopedStack;
+
+import org.eclipse.cdt.core.dom.lrparser.action.ITokenMap;
+import org.eclipse.cdt.core.dom.lrparser.action.TokenMap;
+
+import org.eclipse.cdt.core.dom.ast.cpp.*;
+import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPNodeFactory;
+import org.eclipse.cdt.core.dom.lrparser.action.cpp.CPPBuildASTParserAction;
+import org.eclipse.cdt.core.dom.lrparser.action.cpp.CPPSecondaryParserFactory;
+
+import org.eclipse.cdt.core.dom.lrparser.action.gnu.GNUBuildASTParserAction;
+import org.eclipse.cdt.core.dom.lrparser.action.gnu.GPPSecondaryParserFactory;
+
+public class GPPSizeofExpressionParser extends PrsStream implements RuleAction , IParserActionTokenProvider, IParser
+{
+ private static ParseTable prs = new GPPSizeofExpressionParserprs();
+ private FixedBacktrackingParser btParser;
+
+ public FixedBacktrackingParser getParser() { return btParser; }
+ private void setResult(Object object) { btParser.setSym1(object); }
+ public Object getRhsSym(int i) { return btParser.getSym(i); }
+
+ public int getRhsTokenIndex(int i) { return btParser.getToken(i); }
+ public IToken getRhsIToken(int i) { return super.getIToken(getRhsTokenIndex(i)); }
+
+ public int getRhsFirstTokenIndex(int i) { return btParser.getFirstToken(i); }
+ public IToken getRhsFirstIToken(int i) { return super.getIToken(getRhsFirstTokenIndex(i)); }
+
+ public int getRhsLastTokenIndex(int i) { return btParser.getLastToken(i); }
+ public IToken getRhsLastIToken(int i) { return super.getIToken(getRhsLastTokenIndex(i)); }
+
+ public int getLeftSpan() { return btParser.getFirstToken(); }
+ public IToken getLeftIToken() { return super.getIToken(getLeftSpan()); }
+
+ public int getRightSpan() { return btParser.getLastToken(); }
+ public IToken getRightIToken() { return super.getIToken(getRightSpan()); }
+
+ public int getRhsErrorTokenIndex(int i)
+ {
+ int index = btParser.getToken(i);
+ IToken err = super.getIToken(index);
+ return (err instanceof ErrorToken ? index : 0);
+ }
+ public ErrorToken getRhsErrorIToken(int i)
+ {
+ int index = btParser.getToken(i);
+ IToken err = super.getIToken(index);
+ return (ErrorToken) (err instanceof ErrorToken ? err : null);
+ }
+
+ public GPPSizeofExpressionParser(LexStream lexStream)
+ {
+ super(lexStream);
+
+ try
+ {
+ super.remapTerminalSymbols(orderedTerminalSymbols(), GPPSizeofExpressionParserprs.EOFT_SYMBOL);
+ }
+ catch(NullExportedSymbolsException e) {
+ }
+ catch(NullTerminalSymbolsException e) {
+ }
+ catch(UnimplementedTerminalsException e)
+ {
+ java.util.ArrayList unimplemented_symbols = e.getSymbols();
+ System.out.println("The Lexer will not scan the following token(s):");
+ for (int i = 0; i < unimplemented_symbols.size(); i++)
+ {
+ Integer id = (Integer) unimplemented_symbols.get(i);
+ System.out.println(" " + GPPSizeofExpressionParsersym.orderedTerminalSymbols[id.intValue()]);
+ }
+ System.out.println();
+ }
+ catch(UndefinedEofSymbolException e)
+ {
+ throw new Error(new UndefinedEofSymbolException
+ ("The Lexer does not implement the Eof symbol " +
+ GPPSizeofExpressionParsersym.orderedTerminalSymbols[GPPSizeofExpressionParserprs.EOFT_SYMBOL]));
+ }
+ }
+
+ public String[] orderedTerminalSymbols() { return GPPSizeofExpressionParsersym.orderedTerminalSymbols; }
+ public String getTokenKindName(int kind) { return GPPSizeofExpressionParsersym.orderedTerminalSymbols[kind]; }
+ public int getEOFTokenKind() { return GPPSizeofExpressionParserprs.EOFT_SYMBOL; }
+ public PrsStream getParseStream() { return (PrsStream) this; }
+
+ //
+ // Report error message for given error_token.
+ //
+ public final void reportErrorTokenMessage(int error_token, String msg)
+ {
+ int firsttok = super.getFirstErrorToken(error_token),
+ lasttok = super.getLastErrorToken(error_token);
+ String location = super.getFileName() + ':' +
+ (firsttok > lasttok
+ ? (super.getEndLine(lasttok) + ":" + super.getEndColumn(lasttok))
+ : (super.getLine(error_token) + ":" +
+ super.getColumn(error_token) + ":" +
+ super.getEndLine(error_token) + ":" +
+ super.getEndColumn(error_token)))
+ + ": ";
+ super.reportError((firsttok > lasttok ? ParseErrorCodes.INSERTION_CODE : ParseErrorCodes.SUBSTITUTION_CODE), location, msg);
+ }
+
+ public Object parser()
+ {
+ return parser(null, 0);
+ }
+
+ public Object parser(Monitor monitor)
+ {
+ return parser(monitor, 0);
+ }
+
+ public Object parser(int error_repair_count)
+ {
+ return parser(null, error_repair_count);
+ }
+
+ public Object parser(Monitor monitor, int error_repair_count)
+ {
+ try
+ {
+ btParser = new FixedBacktrackingParser(monitor, (TokenStream) this, prs, (RuleAction) this);
+ }
+ catch (NotBacktrackParseTableException e)
+ {
+ throw new Error(new NotBacktrackParseTableException
+ ("Regenerate GPPSizeofExpressionParserprs.java with -BACKTRACK option"));
+ }
+ catch (BadParseSymFileException e)
+ {
+ throw new Error(new BadParseSymFileException("Bad Parser Symbol File -- GPPSizeofExpressionParsersym.java"));
+ }
+
+ try
+ {
+ return (Object) btParser.parse(error_repair_count);
+ }
+ catch (BadParseException e)
+ {
+ reset(e.error_token); // point to error token
+ DiagnoseParser diagnoseParser = new DiagnoseParser(this, prs);
+ diagnoseParser.diagnose(e.error_token);
+ }
+
+ return null;
+ }
+
+
+private CPPBuildASTParserAction action;
+private ScopedStack<Object> astStack = new ScopedStack<Object>();
+
+public GPPSizeofExpressionParser() { // constructor
+}
+
+private void initActions(IASTTranslationUnit tu, Set<IParser.Options> options) {
+ action = new CPPBuildASTParserAction (this, tu, astStack, CPPNodeFactory.getDefault() , GPPSecondaryParserFactory.getDefault() );
+ action.setParserOptions(options);
+
+
+
+ gnuAction = new GNUBuildASTParserAction (this, tu, astStack, CPPNodeFactory.getDefault() );
+ gnuAction.setParserOptions(options);
+
+
+}
+
+
+public void addToken(IToken token) {
+ token.setKind(mapKind(token.getKind())); // TODO does mapKind need to be called?
+ super.addToken(token);
+}
+
+
+public IASTCompletionNode parse(IASTTranslationUnit tu, Set<IParser.Options> options) {
+ // this has to be done, or... kaboom!
+ setStreamLength(getSize());
+ initActions(tu, options);
+
+ 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();
+
+ //action = null;
+ //parserAction = null;
+ return compNode;
+}
+
+// uncomment this method to use with backtracking parser
+public List<IToken> getRuleTokens() {
+ return getTokens().subList(getLeftSpan(), getRightSpan() + 1);
+}
+
+public IASTNode getSecondaryParseResult() {
+ return (IASTNode) astStack.pop();
+}
+
+public String[] getOrderedTerminalSymbols() {
+ return GPPSizeofExpressionParsersym.orderedTerminalSymbols;
+}
+
+@SuppressWarnings("nls")
+public String getName() {
+ return "GPPSizeofExpressionParser";
+}
+
+
+
+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, GPPSizeofExpressionParsersym.TK_EOF_TOKEN));
+}
+
+public GPPSizeofExpressionParser(IParserActionTokenProvider parser) { // constructor
+ tokenMap = new TokenMap(GPPSizeofExpressionParsersym.orderedTerminalSymbols, parser.getOrderedTerminalSymbols());
+}
+
+
+
+private GNUBuildASTParserAction gnuAction;
+
+ public void ruleAction(int ruleNumber)
+ {
+ switch (ruleNumber)
+ {
+
+ //
+ // Rule 1: <openscope-ast> ::= $Empty
+ //
+ case 1: { action. openASTScope(); break;
+ }
+
+ //
+ // Rule 2: <empty> ::= $Empty
+ //
+ case 2: { action. consumeEmpty(); break;
+ }
+
+ //
+ // Rule 13: translation_unit ::= declaration_seq_opt
+ //
+ case 13: { action. consumeTranslationUnit(); break;
+ }
+
+ //
+ // Rule 16: literal ::= integer
+ //
+ case 16: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_integer_constant); break;
+ }
+
+ //
+ // Rule 17: literal ::= floating
+ //
+ case 17: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_float_constant); break;
+ }
+
+ //
+ // Rule 18: literal ::= charconst
+ //
+ case 18: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_char_constant); break;
+ }
+
+ //
+ // Rule 19: literal ::= stringlit
+ //
+ case 19: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_string_literal); break;
+ }
+
+ //
+ // Rule 20: literal ::= true
+ //
+ case 20: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_true); break;
+ }
+
+ //
+ // Rule 21: literal ::= false
+ //
+ case 21: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_false); break;
+ }
+
+ //
+ // Rule 22: literal ::= this
+ //
+ case 22: { action. consumeExpressionLiteral(ICPPASTLiteralExpression.lk_this); break;
+ }
+
+ //
+ // Rule 24: primary_expression ::= ( expression )
+ //
+ case 24: { action. consumeExpressionBracketed(); break;
+ }
+
+ //
+ // Rule 26: id_expression ::= qualified_or_unqualified_name
+ //
+ case 26: { action. consumeExpressionName(); break;
+ }
+
+ //
+ // Rule 33: unqualified_id_name ::= ~ identifier_token
+ //
+ case 33: { action. consumeDestructorName(); break;
+ }
+
+ //
+ // Rule 34: unqualified_id_name ::= ~ template_id_name
+ //
+ case 34: { action. consumeDestructorNameTemplateId(); break;
+ }
+
+ //
+ // Rule 35: identifier_name ::= identifier_token
+ //
+ case 35: { action. consumeIdentifierName(); break;
+ }
+
+ //
+ // Rule 36: template_opt ::= template
+ //
+ case 36: { action. consumePlaceHolder(); break;
+ }
+
+ //
+ // Rule 37: template_opt ::= $Empty
+ //
+ case 37: { action. consumeEmpty(); break;
+ }
+
+ //
+ // Rule 38: dcolon_opt ::= ::
+ //
+ case 38: { action. consumeToken(); break;
+ }
+
+ //
+ // Rule 39: dcolon_opt ::= $Empty
+ //
+ case 39: { action. consumeEmpty(); break;
+ }
+
+ //
+ // Rule 40: qualified_id_name ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name
+ //
+ case 40: { action. consumeQualifiedId(true); break;
+ }
+
+ //
+ // Rule 41: qualified_id_name ::= :: unqualified_id_name
+ //
+ case 41: { action. consumeGlobalQualifiedId(); break;
+ }
+
+ //
+ // Rule 42: nested_name_specifier ::= class_or_namespace_name :: nested_name_specifier_with_template
+ //
+ case 42: { action. consumeNestedNameSpecifier(true); break;
+ }
+
+ //
+ // Rule 43: nested_name_specifier ::= class_or_namespace_name ::
+ //
+ case 43: { action. consumeNestedNameSpecifier(false); break;
+ }
+
+ //
+ // Rule 44: nested_name_specifier_with_template ::= class_or_namespace_name_with_template :: nested_name_specifier_with_template
+ //
+ case 44: { action. consumeNestedNameSpecifier(true); break;
+ }
+
+ //
+ // Rule 45: nested_name_specifier_with_template ::= class_or_namespace_name_with_template ::
+ //
+ case 45: { action. consumeNestedNameSpecifier(false); break;
+ }
+
+ //
+ // Rule 46: class_or_namespace_name_with_template ::= template_opt class_or_namespace_name
+ //
+ case 46: { action. consumeNameWithTemplateKeyword(); break;
+ }
+
+ //
+ // Rule 48: nested_name_specifier_opt ::= $Empty
+ //
+ case 48: { action. consumeNestedNameSpecifierEmpty(); break;
+ }
+
+ //
+ // Rule 51: postfix_expression ::= postfix_expression [ expression ]
+ //
+ case 51: { action. consumeExpressionArraySubscript(); break;
+ }
+
+ //
+ // Rule 52: postfix_expression ::= postfix_expression ( expression_list_opt )
+ //
+ case 52: { action. consumeExpressionFunctionCall(); break;
+ }
+
+ //
+ // Rule 53: postfix_expression ::= simple_type_specifier ( expression_list_opt )
+ //
+ case 53: { action. consumeExpressionSimpleTypeConstructor(); break;
+ }
+
+ //
+ // Rule 54: postfix_expression ::= typename dcolon_opt nested_name_specifier <empty> identifier_name ( expression_list_opt )
+ //
+ case 54: { action. consumeExpressionTypeName(); break;
+ }
+
+ //
+ // Rule 55: postfix_expression ::= typename dcolon_opt nested_name_specifier template_opt template_id_name ( expression_list_opt )
+ //
+ case 55: { action. consumeExpressionTypeName(); break;
+ }
+
+ //
+ // Rule 56: postfix_expression ::= postfix_expression . qualified_or_unqualified_name
+ //
+ case 56: { action. consumeExpressionFieldReference(false, false); break;
+ }
+
+ //
+ // Rule 57: postfix_expression ::= postfix_expression -> qualified_or_unqualified_name
+ //
+ case 57: { action. consumeExpressionFieldReference(true, false); break;
+ }
+
+ //
+ // Rule 58: postfix_expression ::= postfix_expression . template qualified_or_unqualified_name
+ //
+ case 58: { action. consumeExpressionFieldReference(false, true); break;
+ }
+
+ //
+ // Rule 59: postfix_expression ::= postfix_expression -> template qualified_or_unqualified_name
+ //
+ case 59: { action. consumeExpressionFieldReference(true, true); break;
+ }
+
+ //
+ // Rule 60: postfix_expression ::= postfix_expression . pseudo_destructor_name
+ //
+ case 60: { action. consumeExpressionFieldReference(false, false); break;
+ }
+
+ //
+ // Rule 61: postfix_expression ::= postfix_expression -> pseudo_destructor_name
+ //
+ case 61: { action. consumeExpressionFieldReference(true, false); break;
+ }
+
+ //
+ // Rule 62: postfix_expression ::= postfix_expression ++
+ //
+ case 62: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break;
+ }
+
+ //
+ // Rule 63: postfix_expression ::= postfix_expression --
+ //
+ case 63: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break;
+ }
+
+ //
+ // Rule 64: postfix_expression ::= dynamic_cast < type_id > ( expression )
+ //
+ case 64: { action. consumeExpressionCast(ICPPASTCastExpression.op_dynamic_cast); break;
+ }
+
+ //
+ // Rule 65: postfix_expression ::= static_cast < type_id > ( expression )
+ //
+ case 65: { action. consumeExpressionCast(ICPPASTCastExpression.op_static_cast); break;
+ }
+
+ //
+ // Rule 66: postfix_expression ::= reinterpret_cast < type_id > ( expression )
+ //
+ case 66: { action. consumeExpressionCast(ICPPASTCastExpression.op_reinterpret_cast); break;
+ }
+
+ //
+ // Rule 67: postfix_expression ::= const_cast < type_id > ( expression )
+ //
+ case 67: { action. consumeExpressionCast(ICPPASTCastExpression.op_const_cast); break;
+ }
+
+ //
+ // Rule 68: postfix_expression ::= typeid ( expression )
+ //
+ case 68: { action. consumeExpressionUnaryOperator(ICPPASTUnaryExpression.op_typeid); break;
+ }
+
+ //
+ // Rule 69: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt type_name :: destructor_type_name
+ //
+ case 69: { action. consumePsudoDestructorName(true); break;
+ }
+
+ //
+ // Rule 70: pseudo_destructor_name ::= dcolon_opt nested_name_specifier template template_id_name :: destructor_type_name
+ //
+ case 70: { action. consumePsudoDestructorName(true); break;
+ }
+
+ //
+ // Rule 71: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt destructor_type_name
+ //
+ case 71: { action. consumePsudoDestructorName(false); break;
+ }
+
+ //
+ // Rule 72: destructor_type_name ::= ~ identifier_token
+ //
+ case 72: { action. consumeDestructorName(); break;
+ }
+
+ //
+ // Rule 73: destructor_type_name ::= ~ template_id_name
+ //
+ case 73: { action. consumeDestructorNameTemplateId(); break;
+ }
+
+ //
+ // Rule 77: unary_expression ::= ++ cast_expression
+ //
+ case 77: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixIncr); break;
+ }
+
+ //
+ // Rule 78: unary_expression ::= -- cast_expression
+ //
+ case 78: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixDecr); break;
+ }
+
+ //
+ // Rule 79: unary_expression ::= & cast_expression
+ //
+ case 79: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_amper); break;
+ }
+
+ //
+ // Rule 80: unary_expression ::= * cast_expression
+ //
+ case 80: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_star); break;
+ }
+
+ //
+ // Rule 81: unary_expression ::= + cast_expression
+ //
+ case 81: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_plus); break;
+ }
+
+ //
+ // Rule 82: unary_expression ::= - cast_expression
+ //
+ case 82: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_minus); break;
+ }
+
+ //
+ // Rule 83: unary_expression ::= ~ cast_expression
+ //
+ case 83: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_tilde); break;
+ }
+
+ //
+ // Rule 84: unary_expression ::= ! cast_expression
+ //
+ case 84: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_not); break;
+ }
+
+ //
+ // Rule 85: unary_expression ::= sizeof unary_expression
+ //
+ case 85: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof); break;
+ }
+
+ //
+ // Rule 86: new_expression ::= dcolon_opt new new_placement_opt new_type_id <openscope-ast> new_array_expressions_opt new_initializer_opt
+ //
+ case 86: { action. consumeExpressionNew(true); break;
+ }
+
+ //
+ // Rule 87: new_expression ::= dcolon_opt new new_placement_opt ( type_id ) <openscope-ast> new_array_expressions_opt new_initializer_opt
+ //
+ case 87: { action. consumeExpressionNew(false); break;
+ }
+
+ //
+ // Rule 89: new_placement_opt ::= $Empty
+ //
+ case 89: { action. consumeEmpty(); break;
+ }
+
+ //
+ // Rule 90: new_type_id ::= type_specifier_seq
+ //
+ case 90: { action. consumeTypeId(false); break;
+ }
+
+ //
+ // Rule 91: new_type_id ::= type_specifier_seq new_declarator
+ //
+ case 91: { action. consumeTypeId(true); break;
+ }
+
+ //
+ // Rule 92: new_declarator ::= <openscope-ast> new_pointer_operators
+ //
+ case 92: { action. consumeNewDeclarator(); break;
+ }
+
+ //
+ // Rule 99: new_initializer ::= ( expression_list_opt )
+ //
+ case 99: { action. consumeNewInitializer(); break;
+ }
+
+ //
+ // Rule 101: new_initializer_opt ::= $Empty
+ //
+ case 101: { action. consumeEmpty(); break;
+ }
+
+ //
+ // Rule 102: delete_expression ::= dcolon_opt delete cast_expression
+ //
+ case 102: { action. consumeExpressionDelete(false); break;
+ }
+
+ //
+ // Rule 103: delete_expression ::= dcolon_opt delete [ ] cast_expression
+ //
+ case 103: { action. consumeExpressionDelete(true); break;
+ }
+
+ //
+ // Rule 105: cast_expression ::= ( type_id ) cast_expression
+ //
+ case 105: { action. consumeExpressionCast(ICPPASTCastExpression.op_cast); break;
+ }
+
+ //
+ // Rule 107: pm_expression ::= pm_expression .* cast_expression
+ //
+ case 107: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmdot); break;
+ }
+
+ //
+ // Rule 108: pm_expression ::= pm_expression ->* cast_expression
+ //
+ case 108: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmarrow); break;
+ }
+
+ //
+ // Rule 110: multiplicative_expression ::= multiplicative_expression * pm_expression
+ //
+ case 110: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiply); break;
+ }
+
+ //
+ // Rule 111: multiplicative_expression ::= multiplicative_expression / pm_expression
+ //
+ case 111: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divide); break;
+ }
+
+ //
+ // Rule 112: multiplicative_expression ::= multiplicative_expression % pm_expression
+ //
+ case 112: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_modulo); break;
+ }
+
+ //
+ // Rule 114: additive_expression ::= additive_expression + multiplicative_expression
+ //
+ case 114: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plus); break;
+ }
+
+ //
+ // Rule 115: additive_expression ::= additive_expression - multiplicative_expression
+ //
+ case 115: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minus); break;
+ }
+
+ //
+ // Rule 117: shift_expression ::= shift_expression << additive_expression
+ //
+ case 117: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeft); break;
+ }
+
+ //
+ // Rule 118: shift_expression ::= shift_expression >> additive_expression
+ //
+ case 118: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRight); break;
+ }
+
+ //
+ // Rule 120: relational_expression ::= relational_expression < shift_expression
+ //
+ case 120: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessThan); break;
+ }
+
+ //
+ // Rule 121: relational_expression ::= relational_expression > shift_expression
+ //
+ case 121: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterThan); break;
+ }
+
+ //
+ // Rule 122: relational_expression ::= relational_expression <= shift_expression
+ //
+ case 122: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessEqual); break;
+ }
+
+ //
+ // Rule 123: relational_expression ::= relational_expression >= shift_expression
+ //
+ case 123: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterEqual); break;
+ }
+
+ //
+ // Rule 125: equality_expression ::= equality_expression == relational_expression
+ //
+ case 125: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_equals); break;
+ }
+
+ //
+ // Rule 126: equality_expression ::= equality_expression != relational_expression
+ //
+ case 126: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_notequals); break;
+ }
+
+ //
+ // Rule 128: and_expression ::= and_expression & equality_expression
+ //
+ case 128: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAnd); break;
+ }
+
+ //
+ // Rule 130: exclusive_or_expression ::= exclusive_or_expression ^ and_expression
+ //
+ case 130: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXor); break;
+ }
+
+ //
+ // Rule 132: inclusive_or_expression ::= inclusive_or_expression | exclusive_or_expression
+ //
+ case 132: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOr); break;
+ }
+
+ //
+ // Rule 134: logical_and_expression ::= logical_and_expression && inclusive_or_expression
+ //
+ case 134: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalAnd); break;
+ }
+
+ //
+ // Rule 136: logical_or_expression ::= logical_or_expression || logical_and_expression
+ //
+ case 136: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalOr); break;
+ }
+
+ //
+ // Rule 138: conditional_expression ::= logical_or_expression ? expression : assignment_expression
+ //
+ case 138: { action. consumeExpressionConditional(); break;
+ }
+
+ //
+ // Rule 139: throw_expression ::= throw
+ //
+ case 139: { action. consumeExpressionThrow(false); break;
+ }
+
+ //
+ // Rule 140: throw_expression ::= throw assignment_expression
+ //
+ case 140: { action. consumeExpressionThrow(true); break;
+ }
+
+ //
+ // Rule 143: assignment_expression ::= logical_or_expression = assignment_expression
+ //
+ case 143: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_assign); break;
+ }
+
+ //
+ // Rule 144: assignment_expression ::= logical_or_expression *= assignment_expression
+ //
+ case 144: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiplyAssign); break;
+ }
+
+ //
+ // Rule 145: assignment_expression ::= logical_or_expression /= assignment_expression
+ //
+ case 145: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divideAssign); break;
+ }
+
+ //
+ // Rule 146: assignment_expression ::= logical_or_expression %= assignment_expression
+ //
+ case 146: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_moduloAssign); break;
+ }
+
+ //
+ // Rule 147: assignment_expression ::= logical_or_expression += assignment_expression
+ //
+ case 147: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plusAssign); break;
+ }
+
+ //
+ // Rule 148: assignment_expression ::= logical_or_expression -= assignment_expression
+ //
+ case 148: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minusAssign); break;
+ }
+
+ //
+ // Rule 149: assignment_expression ::= logical_or_expression >>= assignment_expression
+ //
+ case 149: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRightAssign); break;
+ }
+
+ //
+ // Rule 150: assignment_expression ::= logical_or_expression <<= assignment_expression
+ //
+ case 150: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeftAssign); break;
+ }
+
+ //
+ // Rule 151: assignment_expression ::= logical_or_expression &= assignment_expression
+ //
+ case 151: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAndAssign); break;
+ }
+
+ //
+ // Rule 152: assignment_expression ::= logical_or_expression ^= assignment_expression
+ //
+ case 152: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXorAssign); break;
+ }
+
+ //
+ // Rule 153: assignment_expression ::= logical_or_expression |= assignment_expression
+ //
+ case 153: { action. consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOrAssign); break;
+ }
+
+ //
+ // Rule 155: expression_list ::= <openscope-ast> expression_list_actual
+ //
+ case 155: { action. consumeExpressionList(); break;
+ }
+
+ //
+ // Rule 159: expression_list_opt ::= $Empty
+ //
+ case 159: { action. consumeEmpty(); break;
+ }
+
+ //
+ // Rule 161: expression_opt ::= $Empty
+ //
+ case 161: { action. consumeEmpty(); break;
+ }
+
+ //
+ // Rule 164: constant_expression_opt ::= $Empty
+ //
+ case 164: { action. consumeEmpty(); break;
+ }
+
+ //
+ // Rule 173: statement ::= ERROR_TOKEN
+ //
+ case 173: { action. consumeStatementProblem(); break;
+ }
+
+ //
+ // Rule 174: labeled_statement ::= identifier : statement
+ //
+ case 174: { action. consumeStatementLabeled(); break;
+ }
+
+ //
+ // Rule 175: labeled_statement ::= case constant_expression : statement
+ //
+ case 175: { action. consumeStatementCase(); break;
+ }
+
+ //
+ // Rule 176: labeled_statement ::= default : statement
+ //
+ case 176: { action. consumeStatementDefault(); break;
+ }
+
+ //
+ // Rule 177: expression_statement ::= expression ;
+ //
+ case 177: { action. consumeStatementExpression(); break;
+ }
+
+ //
+ // Rule 178: expression_statement ::= ;
+ //
+ case 178: { action. consumeStatementNull(); break;
+ }
+
+ //
+ // Rule 179: compound_statement ::= { <openscope-ast> statement_seq }
+ //
+ case 179: { action. consumeStatementCompoundStatement(true); break;
+ }
+
+ //
+ // Rule 180: compound_statement ::= { }
+ //
+ case 180: { action. consumeStatementCompoundStatement(false); break;
+ }
+
+ //
+ // Rule 183: selection_statement ::= if ( condition ) statement
+ //
+ case 183: { action. consumeStatementIf(false); break;
+ }
+
+ //
+ // Rule 184: selection_statement ::= if ( condition ) statement else statement
+ //
+ case 184: { action. consumeStatementIf(true); break;
+ }
+
+ //
+ // Rule 185: selection_statement ::= switch ( condition ) statement
+ //
+ case 185: { action. consumeStatementSwitch(); break;
+ }
+
+ //
+ // Rule 187: condition ::= type_specifier_seq declarator = assignment_expression
+ //
+ case 187: { action. consumeConditionDeclaration(); break;
+ }
+
+ //
+ // Rule 189: condition_opt ::= $Empty
+ //
+ case 189: { action. consumeEmpty(); break;
+ }
+
+ //
+ // Rule 190: iteration_statement ::= while ( condition ) statement
+ //
+ case 190: { action. consumeStatementWhileLoop(); break;
+ }
+
+ //
+ // Rule 191: iteration_statement ::= do statement while ( expression ) ;
+ //
+ case 191: { action. consumeStatementDoLoop(); break;
+ }
+
+ //
+ // Rule 192: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement
+ //
+ case 192: { action. consumeStatementForLoop(); break;
+ }
+
+ //
+ // Rule 194: for_init_statement ::= simple_declaration_with_declspec
+ //
+ case 194: { action. consumeStatementDeclaration(); break;
+ }
+
+ //
+ // Rule 195: jump_statement ::= break ;
+ //
+ case 195: { action. consumeStatementBreak(); break;
+ }
+
+ //
+ // Rule 196: jump_statement ::= continue ;
+ //
+ case 196: { action. consumeStatementContinue(); break;
+ }
+
+ //
+ // Rule 197: jump_statement ::= return expression ;
+ //
+ case 197: { action. consumeStatementReturn(true); break;
+ }
+
+ //
+ // Rule 198: jump_statement ::= return ;
+ //
+ case 198: { action. consumeStatementReturn(false); break;
+ }
+
+ //
+ // Rule 199: jump_statement ::= goto identifier_token ;
+ //
+ case 199: { action. consumeStatementGoto(); break;
+ }
+
+ //
+ // Rule 200: declaration_statement ::= block_declaration
+ //
+ case 200: { action. consumeStatementDeclarationWithDisambiguation(); break;
+ }
+
+ //
+ // Rule 201: declaration_statement ::= function_definition
+ //
+ case 201: { action. consumeStatementDeclaration(); break;
+ }
+
+ //
+ // Rule 209: declaration ::= ERROR_TOKEN
+ //
+ case 209: { action. consumeDeclarationProblem(); break;
+ }
+
+ //
+ // Rule 219: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ;
+ //
+ case 219: { action. consumeDeclarationSimple(true); break;
+ }
+
+ //
+ // Rule 220: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ;
+ //
+ case 220: { action. consumeDeclarationSimple(true); break;
+ }
+
+ //
+ // Rule 221: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers
+ //
+ case 221: { action. consumeDeclarationSpecifiersSimple(); break;
+ }
+
+ //
+ // Rule 222: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers
+ //
+ case 222: { action. consumeDeclarationSpecifiersComposite(); break;
+ }
+
+ //
+ // Rule 223: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers
+ //
+ case 223: { action. consumeDeclarationSpecifiersComposite(); break;
+ }
+
+ //
+ // Rule 224: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers
+ //
+ case 224: { action. consumeDeclarationSpecifiersComposite(); break;
+ }
+
+ //
+ // Rule 225: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers
+ //
+ case 225: { action. consumeDeclarationSpecifiersTypeName(); break;
+ }
+
+ //
+ // Rule 227: declaration_specifiers_opt ::= $Empty
+ //
+ case 227: { action. consumeEmpty(); break;
+ }
+
+ //
+ // Rule 231: no_type_declaration_specifier ::= friend
+ //
+ case 231: { action. consumeToken(); break;
+ }
+
+ //
+ // Rule 232: no_type_declaration_specifier ::= typedef
+ //
+ case 232: { action. consumeToken(); break;
+ }
+
+ //
+ // Rule 252: storage_class_specifier ::= auto
+ //
+ case 252: { action. consumeToken(); break;
+ }
+
+ //
+ // Rule 253: storage_class_specifier ::= register
+ //
+ case 253: { action. consumeToken(); break;
+ }
+
+ //
+ // Rule 254: storage_class_specifier ::= static
+ //
+ case 254: { action. consumeToken(); break;
+ }
+
+ //
+ // Rule 255: storage_class_specifier ::= extern
+ //
+ case 255: { action. consumeToken(); break;
+ }
+
+ //
+ // Rule 256: storage_class_specifier ::= mutable
+ //
+ case 256: { action. consumeToken(); break;
+ }
+
+ //
+ // Rule 257: function_specifier ::= inline
+ //
+ case 257: { action. consumeToken(); break;
+ }
+
+ //
+ // Rule 258: function_specifier ::= virtual
+ //
+ case 258: { action. consumeToken(); break;
+ }
+
+ //
+ // Rule 259: function_specifier ::= explicit
+ //
+ case 259: { action. consumeToken(); break;
+ }
+
+ //
+ // Rule 260: simple_type_specifier ::= char
+ //
+ case 260: { action. consumeToken(); break;
+ }
+
+ //
+ // Rule 261: simple_type_specifier ::= wchar_t
+ //
+ case 261: { action. consumeToken(); break;
+ }
+
+ //
+ // Rule 262: simple_type_specifier ::= bool
+ //
+ case 262: { action. consumeToken(); break;
+ }
+
+ //
+ // Rule 263: simple_type_specifier ::= short
+ //
+ case 263: { action. consumeToken(); break;
+ }
+
+ //
+ // Rule 264: simple_type_specifier ::= int
+ //
+ case 264: { action. consumeToken(); break;
+ }
+
+ //
+ // Rule 265: simple_type_specifier ::= long
+ //
+ case 265: { action. consumeToken(); break;
+ }
+
+ //
+ // Rule 266: simple_type_specifier ::= signed
+ //
+ case 266: { action. consumeToken(); break;
+ }
+
+ //
+ // Rule 267: simple_type_specifier ::= unsigned
+ //
+ case 267: { action. consumeToken(); break;
+ }
+
+ //
+ // Rule 268: simple_type_specifier ::= float
+ //
+ case 268: { action. consumeToken(); break;
+ }
+
+ //
+ // Rule 269: simple_type_specifier ::= double
+ //
+ case 269: { action. consumeToken(); break;
+ }
+
+ //
+ // Rule 270: simple_type_specifier ::= void
+ //
+ case 270: { action. consumeToken(); break;
+ }
+
+ //
+ // Rule 273: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name
+ //
+ case 273: { action. consumeQualifiedId(false); break;
+ }
+
+ //
+ // Rule 274: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name
+ //
+ case 274: { action. consumeQualifiedId(false); break;
+ }
+
+ //
+ // Rule 275: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name
+ //
+ case 275: { action. consumeQualifiedId(false); break;
+ }
+
+ //
+ // Rule 276: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name
+ //
+ case 276: { action. consumeQualifiedId(true); break;
+ }
+
+ //
+ // Rule 278: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name
+ //
+ case 278: { action. consumeTypeSpecifierElaborated(false); break;
+ }
+
+ //
+ // Rule 279: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt template_opt template_id_name
+ //
+ case 279: { action. consumeTypeSpecifierElaborated(true); break;
+ }
+
+ //
+ // Rule 280: elaborated_type_specifier ::= enum elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name
+ //
+ case 280: { action. consumeTypeSpecifierElaborated(false); break;
+ }
+
+ //
+ // Rule 282: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt }
+ //
+ case 282: { action. consumeTypeSpecifierEnumeration(false); break;
+ }
+
+ //
+ // Rule 283: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt }
+ //
+ case 283: { action. consumeTypeSpecifierEnumeration(true); break;
+ }
+
+ //
+ // Rule 289: enumerator_definition ::= identifier_token
+ //
+ case 289: { action. consumeEnumerator(false); break;
+ }
+
+ //
+ // Rule 290: enumerator_definition ::= identifier_token = constant_expression
+ //
+ case 290: { action. consumeEnumerator(true); break;
+ }
+
+ //
+ // Rule 294: named_namespace_definition ::= namespace namespace_name { <openscope-ast> declaration_seq_opt }
+ //
+ case 294: { action. consumeNamespaceDefinition(true); break;
+ }
+
+ //
+ // Rule 295: unnamed_namespace_definition ::= namespace { <openscope-ast> declaration_seq_opt }
+ //
+ case 295: { action. consumeNamespaceDefinition(false); break;
+ }
+
+ //
+ // Rule 296: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ;
+ //
+ case 296: { action. consumeNamespaceAliasDefinition(); break;
+ }
+
+ //
+ // Rule 297: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ;
+ //
+ case 297: { action. consumeUsingDeclaration(); break;
+ }
+
+ //
+ // Rule 298: typename_opt ::= typename
+ //
+ case 298: { action. consumePlaceHolder(); break;
+ }
+
+ //
+ // Rule 299: typename_opt ::= $Empty
+ //
+ case 299: { action. consumeEmpty(); break;
+ }
+
+ //
+ // Rule 300: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ;
+ //
+ case 300: { action. consumeUsingDirective(); break;
+ }
+
+ //
+ // Rule 301: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt }
+ //
+ case 301: { action. consumeLinkageSpecification(); break;
+ }
+
+ //
+ // Rule 302: linkage_specification ::= extern stringlit <openscope-ast> declaration
+ //
+ case 302: { action. consumeLinkageSpecification(); break;
+ }
+
+ //
+ // Rule 307: init_declarator_complete ::= init_declarator
+ //
+ case 307: { action. consumeInitDeclaratorComplete(); break;
+ }
+
+ //
+ // Rule 309: init_declarator ::= complete_declarator initializer
+ //
+ case 309: { action. consumeDeclaratorWithInitializer(true); break;
+ }
+
+ //
+ // Rule 312: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
+ //
+ case 312: { action. consumeDeclaratorWithPointer(true); break;
+ }
+
+ //
+ // Rule 314: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
+ //
+ case 314: { action. consumeDeclaratorWithPointer(true); break;
+ }
+
+ //
+ // Rule 318: basic_direct_declarator ::= declarator_id_name
+ //
+ case 318: { action. consumeDirectDeclaratorIdentifier(); break;
+ }
+
+ //
+ // Rule 319: basic_direct_declarator ::= ( declarator )
+ //
+ case 319: { action. consumeDirectDeclaratorBracketed(); break;
+ }
+
+ //
+ // Rule 320: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
+ //
+ case 320: { action. consumeDirectDeclaratorFunctionDeclarator(true); break;
+ }
+
+ //
+ // Rule 321: array_direct_declarator ::= array_direct_declarator array_modifier
+ //
+ case 321: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ }
+
+ //
+ // Rule 322: array_direct_declarator ::= basic_direct_declarator array_modifier
+ //
+ case 322: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ }
+
+ //
+ // Rule 323: array_modifier ::= [ constant_expression ]
+ //
+ case 323: { action. consumeDirectDeclaratorArrayModifier(true); break;
+ }
+
+ //
+ // Rule 324: array_modifier ::= [ ]
+ //
+ case 324: { action. consumeDirectDeclaratorArrayModifier(false); break;
+ }
+
+ //
+ // Rule 325: ptr_operator ::= pointer_hook * <openscope-ast> cv_qualifier_seq_opt
+ //
+ case 325: { action. consumePointer(); break;
+ }
+
+ //
+ // Rule 326: ptr_operator ::= pointer_hook &
+ //
+ case 326: { action. consumeReferenceOperator(); break;
+ }
+
+ //
+ // Rule 327: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * <openscope-ast> cv_qualifier_seq_opt
+ //
+ case 327: { action. consumePointerToMember(); break;
+ }
+
+ //
+ // Rule 334: cv_qualifier ::= const
+ //
+ case 334: { action. consumeToken(); break;
+ }
+
+ //
+ // Rule 335: cv_qualifier ::= volatile
+ //
+ case 335: { action. consumeToken(); break;
+ }
+
+ //
+ // Rule 337: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name
+ //
+ case 337: { action. consumeQualifiedId(false); break;
+ }
+
+ //
+ // Rule 338: type_id ::= type_specifier_seq
+ //
+ case 338: { action. consumeTypeId(false); break;
+ }
+
+ //
+ // Rule 339: type_id ::= type_specifier_seq abstract_declarator
+ //
+ case 339: { action. consumeTypeId(true); break;
+ }
+
+ //
+ // Rule 342: abstract_declarator ::= <openscope-ast> ptr_operator_seq
+ //
+ case 342: { action. consumeDeclaratorWithPointer(false); break;
+ }
+
+ //
+ // Rule 343: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator
+ //
+ case 343: { action. consumeDeclaratorWithPointer(true); break;
+ }
+
+ //
+ // Rule 347: basic_direct_abstract_declarator ::= ( abstract_declarator )
+ //
+ case 347: { action. consumeDirectDeclaratorBracketed(); break;
+ }
+
+ //
+ // Rule 348: basic_direct_abstract_declarator ::= ( )
+ //
+ case 348: { action. consumeAbstractDeclaratorEmpty(); break;
+ }
+
+ //
+ // Rule 349: array_direct_abstract_declarator ::= array_modifier
+ //
+ case 349: { action. consumeDirectDeclaratorArrayDeclarator(false); break;
+ }
+
+ //
+ // Rule 350: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
+ //
+ case 350: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ }
+
+ //
+ // Rule 351: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
+ //
+ case 351: { action. consumeDirectDeclaratorArrayDeclarator(true); break;
+ }
+
+ //
+ // Rule 352: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
+ //
+ case 352: { action. consumeDirectDeclaratorFunctionDeclarator(true); break;
+ }
+
+ //
+ // Rule 353: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
+ //
+ case 353: { action. consumeDirectDeclaratorFunctionDeclarator(false); break;
+ }
+
+ //
+ // Rule 354: parameter_declaration_clause ::= parameter_declaration_list_opt ...
+ //
+ case 354: { action. consumePlaceHolder(); break;
+ }
+
+ //
+ // Rule 355: parameter_declaration_clause ::= parameter_declaration_list_opt
+ //
+ case 355: { action. consumeEmpty(); break;
+ }
+
+ //
+ // Rule 356: parameter_declaration_clause ::= parameter_declaration_list , ...
+ //
+ case 356: { action. consumePlaceHolder(); break;
+ }
+
+ //
+ // Rule 362: abstract_declarator_opt ::= $Empty
+ //
+ case 362: { action. consumeEmpty(); break;
+ }
+
+ //
+ // Rule 363: parameter_declaration ::= declaration_specifiers parameter_init_declarator
+ //
+ case 363: { action. consumeParameterDeclaration(); break;
+ }
+
+ //
+ // Rule 364: parameter_declaration ::= declaration_specifiers
+ //
+ case 364: { action. consumeParameterDeclarationWithoutDeclarator(); break;
+ }
+
+ //
+ // Rule 366: parameter_init_declarator ::= declarator = parameter_initializer
+ //
+ case 366: { action. consumeDeclaratorWithInitializer(true); break;
+ }
+
+ //
+ // Rule 368: parameter_init_declarator ::= abstract_declarator = parameter_initializer
+ //
+ case 368: { action. consumeDeclaratorWithInitializer(true); break;
+ }
+
+ //
+ // Rule 369: parameter_init_declarator ::= = parameter_initializer
+ //
+ case 369: { action. consumeDeclaratorWithInitializer(false); break;
+ }
+
+ //
+ // Rule 370: parameter_initializer ::= assignment_expression
+ //
+ case 370: { action. consumeInitializer(); break;
+ }
+
+ //
+ // Rule 371: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body
+ //
+ case 371: { action. consumeFunctionDefinition(false); break;
+ }
+
+ //
+ // Rule 372: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq
+ //
+ case 372: { action. consumeFunctionDefinition(true); break;
+ }
+
+ //
+ // Rule 375: initializer ::= ( expression_list )
+ //
+ case 375: { action. consumeInitializerConstructor(); break;
+ }
+
+ //
+ // Rule 376: initializer_clause ::= assignment_expression
+ //
+ case 376: { action. consumeInitializer(); break;
+ }
+
+ //
+ // Rule 377: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list , } end_initializer_list
+ //
+ case 377: { action. consumeInitializerList(); break;
+ }
+
+ //
+ // Rule 378: initializer_clause ::= start_initializer_list { <openscope-ast> initializer_list } end_initializer_list
+ //
+ case 378: { action. consumeInitializerList(); break;
+ }
+
+ //
+ // Rule 379: initializer_clause ::= { <openscope-ast> }
+ //
+ case 379: { action. consumeInitializerList(); break;
+ }
+
+ //
+ // Rule 380: start_initializer_list ::= $Empty
+ //
+ case 380: { action. initializerListStart(); break;
+ }
+
+ //
+ // Rule 381: end_initializer_list ::= $Empty
+ //
+ case 381: { action. initializerListEnd(); break;
+ }
+
+ //
+ // Rule 386: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt }
+ //
+ case 386: { action. consumeClassSpecifier(); break;
+ }
+
+ //
+ // Rule 387: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook <openscope-ast> base_clause_opt
+ //
+ case 387: { action. consumeClassHead(false); break;
+ }
+
+ //
+ // Rule 388: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt
+ //
+ case 388: { action. consumeClassHead(false); break;
+ }
+
+ //
+ // Rule 389: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook <openscope-ast> base_clause_opt
+ //
+ case 389: { action. consumeClassHead(true); break;
+ }
+
+ //
+ // Rule 390: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt
+ //
+ case 390: { action. consumeClassHead(true); break;
+ }
+
+ //
+ // Rule 394: identifier_name_opt ::= $Empty
+ //
+ case 394: { action. consumeEmpty(); break;
+ }
+
+ //
+ // Rule 398: visibility_label ::= access_specifier_keyword :
+ //
+ case 398: { action. consumeVisibilityLabel(); break;
+ }
+
+ //
+ // Rule 399: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ;
+ //
+ case 399: { action. consumeDeclarationSimple(true); break;
+ }
+
+ //
+ // Rule 400: member_declaration ::= declaration_specifiers_opt ;
+ //
+ case 400: { action. consumeDeclarationSimple(false); break;
+ }
+
+ //
+ // Rule 403: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ;
+ //
+ case 403: { action. consumeMemberDeclarationQualifiedId(); break;
+ }
+
+ //
+ // Rule 409: member_declaration ::= ERROR_TOKEN
+ //
+ case 409: { action. consumeDeclarationProblem(); break;
+ }
+
+ //
+ // Rule 418: member_declarator ::= declarator constant_initializer
+ //
+ case 418: { action. consumeMemberDeclaratorWithInitializer(); break;
+ }
+
+ //
+ // Rule 419: member_declarator ::= bit_field_declarator : constant_expression
+ //
+ case 419: { action. consumeBitField(true); break;
+ }
+
+ //
+ // Rule 420: member_declarator ::= : constant_expression
+ //
+ case 420: { action. consumeBitField(false); break;
+ }
+
+ //
+ // Rule 421: bit_field_declarator ::= identifier_name
+ //
+ case 421: { action. consumeDirectDeclaratorIdentifier(); break;
+ }
+
+ //
+ // Rule 422: constant_initializer ::= = constant_expression
+ //
+ case 422: { action. consumeInitializer(); break;
+ }
+
+ //
+ // Rule 428: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name
+ //
+ case 428: { action. consumeBaseSpecifier(false, false); break;
+ }
+
+ //
+ // Rule 429: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name
+ //
+ case 429: { action. consumeBaseSpecifier(true, true); break;
+ }
+
+ //
+ // Rule 430: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name
+ //
+ case 430: { action. consumeBaseSpecifier(true, true); break;
+ }
+
+ //
+ // Rule 431: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name
+ //
+ case 431: { action. consumeBaseSpecifier(true, false); break;
+ }
+
+ //
+ // Rule 432: access_specifier_keyword ::= private
+ //
+ case 432: { action. consumeToken(); break;
+ }
+
+ //
+ // Rule 433: access_specifier_keyword ::= protected
+ //
+ case 433: { action. consumeToken(); break;
+ }
+
+ //
+ // Rule 434: access_specifier_keyword ::= public
+ //
+ case 434: { action. consumeToken(); break;
+ }
+
+ //
+ // Rule 436: access_specifier_keyword_opt ::= $Empty
+ //
+ case 436: { action. consumeEmpty(); break;
+ }
+
+ //
+ // Rule 438: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt >
+ //
+ case 438: { action. consumeTemplateId(); break;
+ }
+
+ //
+ // Rule 439: conversion_function_id ::= operator conversion_type_id
+ //
+ case 439: { action. consumeConversionName(); break;
+ }
+
+ //
+ // Rule 440: conversion_type_id ::= type_specifier_seq conversion_declarator
+ //
+ case 440: { action. consumeTypeId(true); break;
+ }
+
+ //
+ // Rule 441: conversion_type_id ::= type_specifier_seq
+ //
+ case 441: { action. consumeTypeId(false); break;
+ }
+
+ //
+ // Rule 442: conversion_declarator ::= <openscope-ast> ptr_operator_seq
+ //
+ case 442: { action. consumeDeclaratorWithPointer(false); break;
+ }
+
+ //
+ // Rule 448: mem_initializer ::= mem_initializer_name ( expression_list_opt )
+ //
+ case 448: { action. consumeConstructorChainInitializer(); break;
+ }
+
+ //
+ // Rule 449: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name
+ //
+ case 449: { action. consumeQualifiedId(false); break;
+ }
+
+ //
+ // Rule 452: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt >
+ //
+ case 452: { action. consumeTemplateId(); break;
+ }
+
+ //
+ // Rule 453: operator_id_name ::= operator overloadable_operator
+ //
+ case 453: { action. consumeOperatorName(); break;
+ }
+
+ //
+ // Rule 496: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration
+ //
+ case 496: { action. consumeTemplateDeclaration(); break;
+ }
+
+ //
+ // Rule 497: export_opt ::= export
+ //
+ case 497: { action. consumePlaceHolder(); break;
+ }
+
+ //
+ // Rule 498: export_opt ::= $Empty
+ //
+ case 498: { action. consumeEmpty(); break;
+ }
+
+ //
+ // Rule 502: template_parameter ::= parameter_declaration
+ //
+ case 502: { action. consumeTemplateParamterDeclaration(); break;
+ }
+
+ //
+ // Rule 503: type_parameter ::= class identifier_name_opt
+ //
+ case 503: { action. consumeSimpleTypeTemplateParameter(false); break;
+ }
+
+ //
+ // Rule 504: type_parameter ::= class identifier_name_opt = type_id
+ //
+ case 504: { action. consumeSimpleTypeTemplateParameter(true); break;
+ }
+
+ //
+ // Rule 505: type_parameter ::= typename identifier_name_opt
+ //
+ case 505: { action. consumeSimpleTypeTemplateParameter(false); break;
+ }
+
+ //
+ // Rule 506: type_parameter ::= typename identifier_name_opt = type_id
+ //
+ case 506: { action. consumeSimpleTypeTemplateParameter(true); break;
+ }
+
+ //
+ // Rule 507: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt
+ //
+ case 507: { action. consumeTemplatedTypeTemplateParameter(false); break;
+ }
+
+ //
+ // Rule 508: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression
+ //
+ case 508: { action. consumeTemplatedTypeTemplateParameter(true); break;
+ }
+
+ //
+ // Rule 509: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt >
+ //
+ case 509: { action. consumeTemplateId(); break;
+ }
+
+ //
+ // Rule 514: template_argument ::= assignment_expression
+ //
+ case 514: { action. consumeTemplateArgumentExpression(); break;
+ }
+
+ //
+ // Rule 515: template_argument ::= type_id
+ //
+ case 515: { action. consumeTemplateArgumentTypeId(); break;
+ }
+
+ //
+ // Rule 516: explicit_instantiation ::= template declaration
+ //
+ case 516: { action. consumeTemplateExplicitInstantiation(); break;
+ }
+
+ //
+ // Rule 517: explicit_specialization ::= template < > declaration
+ //
+ case 517: { action. consumeTemplateExplicitSpecialization(); break;
+ }
+
+ //
+ // Rule 518: try_block ::= try compound_statement <openscope-ast> handler_seq
+ //
+ case 518: { action. consumeStatementTryBlock(); break;
+ }
+
+ //
+ // Rule 521: handler ::= catch ( exception_declaration ) compound_statement
+ //
+ case 521: { action. consumeStatementCatchHandler(false); break;
+ }
+
+ //
+ // Rule 522: handler ::= catch ( ... ) compound_statement
+ //
+ case 522: { action. consumeStatementCatchHandler(true); break;
+ }
+
+ //
+ // Rule 523: exception_declaration ::= type_specifier_seq <openscope-ast> declarator
+ //
+ case 523: { action. consumeDeclarationSimple(true); break;
+ }
+
+ //
+ // Rule 524: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator
+ //
+ case 524: { action. consumeDeclarationSimple(true); break;
+ }
+
+ //
+ // Rule 525: exception_declaration ::= type_specifier_seq
+ //
+ case 525: { action. consumeDeclarationSimple(false); break;
+ }
+
+ //
+ // Rule 527: exception_specification ::= throw ( )
+ //
+ case 527: { action. consumePlaceHolder(); break;
+ }
+
+ //
+ // Rule 548: attribute_parameter ::= assignment_expression
+ //
+ case 548: { action. consumeIgnore(); break;
+ }
+
+ //
+ // Rule 558: extended_asm_declaration ::= asm volatile_opt ( extended_asm_param_seq ) ;
+ //
+ case 558: { gnuAction.consumeDeclarationASM(); break;
+ }
+
+ //
+ // Rule 569: unary_expression ::= __alignof__ unary_expression
+ //
+ case 569: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_alignOf); break;
+ }
+
+ //
+ // Rule 570: unary_expression ::= typeof unary_expression
+ //
+ case 570: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); break;
+ }
+
+ //
+ // Rule 583: declarator ::= <openscope-ast> ptr_operator_seq attribute_or_decl_specifier_seq direct_declarator
+ //
+ case 583: { action. consumeDeclaratorWithPointer(true); break;
+ }
+
+ //
+ // Rule 586: no_sizeof_type_id_start ::= ERROR_TOKEN
+ //
+ case 586: { action. consumeExpressionProblem(); break;
+ }
+
+
+ default:
+ break;
+ }
+ return;
+ }
+}
+
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPSizeofExpressionParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPSizeofExpressionParserprs.java
new file mode 100644
index 00000000000..42b4908f6a0
--- /dev/null
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPSizeofExpressionParserprs.java
@@ -0,0 +1,3039 @@
+/*******************************************************************************
+* 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
+*********************************************************************************/
+
+// This file was generated by LPG
+
+package org.eclipse.cdt.internal.core.dom.lrparser.gpp;
+
+public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, GPPSizeofExpressionParsersym {
+
+ public interface IsKeyword {
+ public final static byte isKeyword[] = {0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0
+ };
+ };
+ public final static byte isKeyword[] = IsKeyword.isKeyword;
+ public final boolean isKeyword(int index) { return isKeyword[index] != 0; }
+
+ public interface BaseCheck {
+ public final static short baseCheck[] = {0,
+ 0,0,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,3,1,1,1,1,1,1,
+ 1,1,2,2,1,1,0,1,0,4,
+ 2,3,2,3,2,2,1,0,1,1,
+ 4,4,4,8,8,3,3,4,4,3,
+ 3,2,2,7,7,7,7,4,5,6,
+ 3,2,2,1,1,1,2,2,2,2,
+ 2,2,2,2,2,7,9,3,0,1,
+ 2,2,1,2,3,4,1,0,3,1,
+ 0,3,5,1,4,1,3,3,1,3,
+ 3,3,1,3,3,1,3,3,1,3,
+ 3,3,3,1,3,3,1,3,1,3,
+ 1,3,1,3,1,3,1,5,1,2,
+ 1,1,3,3,3,3,3,3,3,3,
+ 3,3,3,1,2,1,3,1,0,1,
+ 0,1,1,0,1,1,1,1,1,1,
+ 1,1,1,3,4,3,2,1,4,2,
+ 1,2,5,7,5,1,4,1,0,5,
+ 7,8,1,1,2,2,3,2,3,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,2,1,0,4,4,
+ 2,2,2,2,2,1,0,1,1,1,
+ 1,1,1,2,1,2,2,2,1,1,
+ 2,2,1,2,2,1,2,2,1,2,
+ 2,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,3,4,4,5,2,5,6,5,
+ 0,6,7,0,1,3,1,0,1,3,
+ 1,1,1,6,5,7,6,1,0,6,
+ 6,4,1,3,1,0,1,1,2,1,
+ 1,3,1,3,1,1,1,1,3,9,
+ 2,2,3,2,4,2,6,0,1,2,
+ 2,1,0,1,1,1,3,1,2,1,
+ 1,2,3,1,1,1,3,2,1,2,
+ 2,9,8,2,1,3,1,3,1,0,
+ 1,0,2,1,1,3,1,3,2,1,
+ 5,8,1,2,3,1,7,6,3,0,
+ 0,1,3,1,1,5,6,6,7,7,
+ 0,0,1,0,1,1,1,2,4,2,
+ 2,1,5,1,1,1,1,1,1,1,
+ 2,1,0,1,3,1,1,2,3,2,
+ 1,2,2,1,0,1,3,3,5,5,
+ 4,1,1,1,1,0,1,5,2,2,
+ 1,2,2,1,0,1,3,4,3,1,
+ 1,5,2,1,1,3,3,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,2,2,7,1,0,1,3,
+ 1,1,2,4,2,4,7,9,5,1,
+ 3,1,0,1,1,2,4,4,1,2,
+ 5,5,3,3,1,4,3,1,0,1,
+ 3,1,1,1,1,2,6,3,1,3,
+ 1,4,0,1,1,1,3,1,0,4,
+ 3,1,2,1,3,4,4,6,1,0,
+ 1,3,1,3,0,1,4,5,2,2,
+ 1,1,2,2,3,2,2,3,1,1,
+ 1,1,4,1,1,1,-64,0,0,0,
+ -502,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-124,0,0,-10,0,0,
+ 0,0,0,0,0,0,0,0,-428,0,
+ 0,0,0,-139,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-521,-187,
+ 0,0,0,0,-242,0,0,0,0,-417,
+ 0,0,0,0,-1,-481,0,0,0,0,
+ 0,0,0,0,0,0,-81,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-191,
+ 0,0,0,0,0,0,0,-2,0,-131,
+ 0,0,0,-394,0,0,-4,-73,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-116,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,-55,-252,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ -60,0,0,0,0,0,-245,0,0,0,
+ -74,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-18,0,0,0,0,-117,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,-182,0,0,0,0,0,0,0,
+ -133,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-152,-399,0,0,
+ 0,0,-580,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-567,0,-272,0,0,
+ -215,-114,0,0,0,0,-135,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ -141,-5,0,0,0,0,0,-196,0,0,
+ 0,0,-66,0,0,0,0,0,0,0,
+ 0,0,0,-146,0,0,0,-6,0,0,
+ 0,0,0,0,-51,-403,0,0,0,0,
+ 0,0,0,0,0,0,-229,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-181,
+ 0,0,0,0,0,0,0,-7,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ -56,0,0,0,0,-8,0,0,-153,0,
+ 0,0,-9,0,0,0,0,0,0,0,
+ 0,-237,0,0,0,0,0,0,-301,0,
+ -142,0,0,-554,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-149,-197,0,
+ 0,0,0,0,-415,0,0,0,0,0,
+ 0,0,0,0,-290,0,0,0,0,0,
+ 0,-579,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-332,0,-11,0,0,0,
+ 0,0,0,0,0,0,0,-12,0,0,
+ 0,0,0,0,0,0,0,0,0,-474,
+ 0,0,0,-67,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,-463,0,0,0,0,0,0,0,
+ -195,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-279,0,0,0,-318,0,0,
+ 0,-13,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ -246,0,0,0,0,0,0,0,-198,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,-52,0,0,0,0,-15,-155,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ -30,-3,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-497,0,0,0,0,0,
+ 0,0,-333,0,0,0,0,-134,0,0,
+ 0,0,-253,0,0,0,0,0,-293,0,
+ 0,0,-450,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,-276,0,0,-377,0,-31,0,0,0,
+ 0,0,0,0,-32,0,0,0,0,0,
+ 0,0,-369,0,0,-340,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-150,
+ 0,-33,0,0,0,0,0,0,0,0,
+ 0,-61,0,0,0,0,-16,0,0,0,
+ 0,0,0,0,0,0,0,-473,0,0,
+ -575,0,0,-50,0,0,0,0,-341,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-259,
+ 0,0,0,0,0,-388,0,0,0,-34,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-429,0,
+ 0,0,0,-322,0,0,-305,0,0,0,
+ 0,-35,0,0,0,0,-380,0,0,0,
+ 0,0,-41,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-556,0,0,0,0,
+ 0,0,0,-325,0,0,0,0,0,0,
+ 0,0,0,-148,0,0,-62,0,0,-43,
+ 0,0,0,-511,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,-260,0,0,0,0,0,0,0,
+ -316,0,0,0,0,-36,0,0,0,0,
+ 0,-309,0,-109,0,0,-96,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-291,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-97,0,0,0,-570,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-303,0,0,0,
+ 0,-157,0,0,-385,0,0,0,0,-205,
+ 0,0,0,0,-334,0,0,0,0,0,
+ -98,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-53,0,-414,0,0,0,
+ 0,0,0,0,0,0,-353,0,0,0,
+ 0,-387,-485,-364,-115,0,0,-99,0,0,
+ 0,-571,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-211,0,0,0,0,0,0,
+ 0,0,0,-37,0,0,0,0,-156,-553,
+ -401,-38,0,0,-100,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-420,0,
+ -221,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-190,-39,0,0,
+ 0,-101,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-40,0,0,-42,
+ 0,0,-424,0,0,0,0,0,0,0,
+ 0,0,-57,-207,-336,-216,0,0,-102,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-440,0,0,0,0,0,
+ -235,0,-247,0,0,-103,0,0,0,-378,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,-58,0,0,0,0,-254,-261,-296,-68,
+ 0,0,-104,0,0,0,-69,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-71,-432,0,0,0,
+ 0,0,0,0,0,0,0,0,-72,0,
+ 0,0,0,-262,-263,-297,-110,0,0,-105,
+ 0,0,0,-111,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,-112,-59,0,0,0,0,0,0,
+ 0,0,0,0,0,-113,0,0,0,0,
+ -264,-269,-390,-425,0,0,-106,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-120,
+ -193,0,0,0,0,0,0,0,0,0,
+ 0,0,-578,0,0,0,0,-289,0,-121,
+ -233,0,0,-222,0,0,0,-122,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-136,-514,
+ 0,0,0,0,-143,0,0,0,0,-354,
+ 0,0,0,0,-144,-271,-145,-302,0,0,
+ -573,0,0,0,-158,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-395,0,0,0,0,0,0,
+ 0,-441,0,0,0,0,0,0,0,0,
+ 0,-335,0,-501,0,0,0,-352,0,0,
+ 0,-159,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,-209,-160,-274,0,0,0,0,0,0,
+ 0,0,0,-445,0,0,0,0,-367,0,
+ 0,0,-508,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-232,
+ 0,0,0,0,0,0,0,0,0,-151,
+ 0,0,0,0,0,0,0,0,0,0,
+ -161,-379,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-214,0,-366,0,0,
+ 0,0,0,0,0,0,0,-312,0,0,
+ 0,0,-405,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-162,0,0,
+ 0,0,0,-163,0,0,0,0,0,0,
+ 0,0,0,-357,0,0,0,0,-164,0,
+ 0,0,0,0,-165,-406,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-201,0,
+ 0,0,0,-268,0,0,-166,0,0,0,
+ 0,-313,0,0,0,0,-488,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-167,0,0,-517,0,0,
+ 0,0,-199,0,0,0,0,-421,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,-168,-255,0,0,0,0,0,0,-320,
+ 0,0,0,0,-287,0,0,-344,-400,0,
+ 0,0,-317,-119,0,0,0,0,0,0,
+ -231,-375,0,-63,0,-396,0,0,0,0,
+ -438,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-169,0,-538,0,-108,0,
+ 0,0,-170,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,-537,0,-171,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-132,0,0,
+ 0,-172,-327,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-173,-454,0,0,0,0,0,
+ 0,-174,0,0,0,0,-285,-243,0,-257,
+ 0,0,-175,0,0,0,0,0,0,-456,
+ -402,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-176,0,0,0,0,-319,-389,
+ 0,-177,0,-95,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-178,0,0,0,
+ 0,0,0,0,-430,0,0,0,0,-284,
+ 0,0,0,0,-286,0,0,0,0,0,
+ 0,0,-93,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-448,0,0,-123,0,
+ -179,0,0,-125,0,0,0,0,-347,0,
+ 0,0,-180,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-183,0,0,0,0,
+ -568,0,0,0,0,-127,0,0,0,-75,
+ 0,0,-409,0,-350,-288,-184,-292,-185,0,
+ 0,0,-431,0,-220,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-564,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-189,0,0,0,0,0,
+ 0,0,0,0,0,-192,0,0,0,0,
+ 0,-54,0,0,0,-345,0,-251,0,0,
+ -202,0,-304,-314,0,-129,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-203,-321,
+ 0,0,0,0,-206,0,0,0,0,0,
+ 0,0,0,-217,-94,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-227,0,-584,
+ -228,0,0,0,0,-326,0,0,0,0,
+ -442,0,0,0,0,-234,0,0,-330,-44,
+ -373,-240,0,0,0,0,0,-248,-331,0,
+ 0,0,0,-342,0,0,-250,0,0,0,
+ 0,-258,0,0,0,0,0,-267,0,0,
+ 0,0,-348,0,-270,0,0,0,0,0,
+ 0,0,0,0,0,-275,-22,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-90,0,0,0,-277,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-278,-359,-356,
+ -294,0,0,0,0,-490,0,0,-374,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,-140,-499,-295,-306,0,-147,0,0,0,
+ 0,0,0,0,0,-404,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-500,
+ 0,0,0,-194,0,0,0,-437,0,0,
+ 0,0,0,0,0,0,-361,0,-310,-382,
+ 0,0,0,0,0,0,-515,0,0,-315,
+ 0,0,0,0,-363,-518,0,0,0,0,
+ 0,0,0,0,0,-311,-45,0,0,0,
+ 0,0,0,0,-323,0,-411,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-475,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-381,0,-453,
+ 0,0,0,0,0,-519,0,0,0,0,
+ 0,0,0,-324,-329,0,0,0,-472,0,
+ 0,-337,-338,-419,-444,0,0,0,0,-447,
+ 0,0,0,0,0,0,-70,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-91,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-349,0,0,
+ 0,0,-92,0,0,0,-368,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-343,0,0,0,0,
+ -370,0,0,-391,0,0,0,0,-249,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,-299,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-386,0,-418,-280,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,-458,0,-532,-412,0,-413,-154,0,0,
+ 0,-461,0,0,0,0,0,-422,0,-477,
+ -423,0,0,-426,0,0,0,0,0,-427,
+ -376,0,-265,-462,0,0,0,0,-533,-542,
+ 0,0,0,0,0,-563,0,-46,0,0,
+ 0,0,-433,0,0,0,0,0,0,0,
+ 0,0,-507,-339,-435,0,0,-443,0,0,
+ 0,0,0,0,0,0,0,0,0,-451,
+ 0,0,0,-498,0,0,0,0,0,-503,
+ 0,0,0,0,0,0,-459,0,-407,0,
+ -486,-76,-460,-478,0,0,0,-230,0,0,
+ 0,0,0,0,0,-479,0,-506,-487,0,
+ 0,0,0,0,0,-510,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-535,-355,
+ 0,-489,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-491,0,0,0,0,0,
+ 0,0,0,0,-492,-493,0,-539,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,-84,0,0,0,-494,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-464,0,0,0,0,
+ 0,0,0,-496,-466,0,0,0,-516,-520,
+ -85,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-509,0,0,0,0,-541,0,
+ 0,-86,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-522,-546,-548,0,0,
+ 0,0,-87,0,0,0,-552,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-555,-495,0,0,0,
+ 0,0,0,-19,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-523,0,-504,0,0,
+ 0,-550,0,-559,-525,0,-576,0,-530,0,
+ 0,-128,-524,0,-534,-540,0,0,0,0,
+ -557,-558,-543,0,0,0,0,0,0,-14,
+ -577,-551,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ -561,0,0,0,-384,0,0,0,-526,0,
+ -569,0,0,0,0,0,-582,-574,-585,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ -49,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-583,-469,
+ 0,0,0,0,-545,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ -560,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-47,0,-107,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-562,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-188,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,-566,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,-223,0,0,-544,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ -266,0,0,0,0,0,0,-513,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-572,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-351,-581,0,
+ 0,0,0,-88,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,-586,0,-224,0,0,0,0,0,-410,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-505,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-89,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-365,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-225,0,0,0,
+ 0,-241,0,0,0,0,0,0,0,0,
+ -408,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-226,0,0,0,0,-200,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-79,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,-80,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-358,-126,0,0,
+ 0,0,-529,0,0,0,0,0,-398,-256,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-307,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-470,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,-452,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-471,-436,0,0,
+ 0,0,0,0,0,0,0,0,-449,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,-393,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-512,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-218,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,-20,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-82,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-83,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,-130,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-465,
+ 0,0,0,0,0,0,0,0,-23,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-24,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,-25,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-26,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-27,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ -28,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,-29,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-65,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-77,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-78,0,
+ 0,0,0,0,0,0,0,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,
+ 0,0,-212,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-360,-208,0,0,0,0,
+ 0,0,0,-383,0,0,0,-476,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-392,0,0,-565,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,-397,0,0,0,0,0,0,0,0,
+ 0,0,0,-446,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-457,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-21,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,-328,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,-547,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-236,0,0,0,0,
+ 0,0,0,0,-281,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-244,0,0,
+ 0,0,0,0,0,0,0,-298,0,0,
+ 0,0,0,0,0,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,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-346,0,0,0,0,0,-204,
+ 0,0,0,0,0,0,-118,0,0,0,
+ 0,0,0,0,-238,0,0,0,0,0,
+ -239,0,0,0,0,0,0,0,-138,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-300,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-308,0,
+ 0,0,0,0,0,-372,0,0,0,0,
+ 0,-186,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-371,0,
+ 0,0,0,0,-416,0,0,0,-434,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,-439,0,0,0,-455,0,0,0,0,
+ -467,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ -468,0,0,0,0,0,0,0,0,-549,
+ 0,0,0,0,0,0,0,0,-17,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ -480,0,0,0,0,-482,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-210,0,0,0,0,
+ 0,0,0,0,0,-282,0,0,0,-283,
+ 0,0,-219,0,0,0,0,0,0,0,
+ 0,-273,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-527,0,
+ 0,0,0,0,0,-528,0,0,-531,0,
+ -48,0,0,0,0,0,0,0,0,-213,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,-483,0,0,0,0,0,0,0,-484,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,-536,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,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;
+ public final int baseCheck(int index) { return baseCheck[index]; }
+ public final static short rhs[] = baseCheck;
+ public final int rhs(int index) { return rhs[index]; };
+
+ public interface BaseAction {
+ public final static char baseAction[] = {
+ 186,4,146,89,89,31,31,74,74,43,
+ 43,47,47,217,1,1,15,15,15,15,
+ 15,15,15,16,16,16,14,11,11,6,
+ 6,6,6,6,6,2,72,72,5,5,
+ 12,12,49,49,147,147,148,67,67,48,
+ 17,17,17,17,17,17,17,17,17,17,
+ 17,17,17,17,17,17,17,17,17,149,
+ 149,149,124,124,18,18,18,18,18,18,
+ 18,18,18,18,18,18,19,19,187,187,
+ 188,188,189,152,152,153,153,150,150,154,
+ 151,151,20,20,21,21,22,22,22,27,
+ 27,27,27,29,29,29,30,30,30,32,
+ 32,32,32,32,33,33,33,34,34,35,
+ 35,37,37,38,38,39,39,40,40,46,
+ 46,45,45,45,45,45,45,45,45,45,
+ 45,45,45,45,44,36,155,155,103,103,
+ 190,190,98,218,218,75,75,75,75,75,
+ 75,75,75,75,76,76,76,73,73,66,
+ 66,191,191,77,77,77,109,109,192,192,
+ 78,78,78,193,193,79,79,79,79,79,
+ 80,80,90,90,90,90,90,90,90,90,
+ 57,57,57,57,57,125,125,123,123,58,
+ 194,28,28,28,28,28,53,53,93,93,
+ 93,93,93,162,162,157,157,157,157,157,
+ 158,158,158,159,159,159,160,160,160,161,
+ 161,161,94,94,94,94,94,95,95,95,
+ 13,13,13,13,13,13,13,13,13,13,
+ 13,104,129,129,129,129,129,129,127,127,
+ 127,163,128,128,195,165,165,164,164,131,
+ 131,110,85,85,86,87,60,52,166,166,
+ 61,92,92,167,167,156,156,132,133,133,
+ 134,70,70,168,168,63,63,63,55,55,
+ 54,64,64,82,82,68,68,68,65,96,
+ 96,106,105,105,71,71,56,56,69,69,
+ 50,107,107,107,99,99,99,100,100,101,
+ 101,101,102,102,111,111,111,113,113,112,
+ 112,219,219,97,97,197,197,197,197,197,
+ 136,51,51,170,196,196,137,137,137,137,
+ 138,172,198,198,41,41,126,139,139,139,
+ 139,200,115,114,114,130,130,130,173,174,
+ 174,174,174,174,174,174,174,174,174,174,
+ 202,202,199,199,201,201,117,118,118,118,
+ 118,119,203,120,116,116,204,204,175,175,
+ 175,175,108,108,108,205,205,8,8,9,
+ 206,206,207,176,169,169,177,177,178,179,
+ 179,7,7,10,208,208,208,208,208,208,
+ 208,208,208,208,208,208,208,208,208,208,
+ 208,208,208,208,208,208,208,208,208,208,
+ 208,208,208,208,208,208,208,208,208,208,
+ 208,208,208,208,208,208,83,88,88,180,
+ 180,141,141,142,142,142,142,142,142,3,
+ 143,143,140,140,121,121,91,84,81,171,
+ 171,122,122,209,209,209,144,144,135,135,
+ 210,210,23,23,23,42,42,24,24,211,
+ 211,181,181,181,182,182,212,212,183,183,
+ 25,25,213,213,184,184,184,26,62,214,
+ 214,215,215,185,185,185,145,145,145,18,
+ 18,59,93,134,134,134,117,117,117,195,
+ 200,115,65,70,163,186,186,1171,35,2157,
+ 2155,2464,3067,27,30,31,1192,1237,26,28,
+ 2145,25,23,50,1251,104,75,76,106,1327,
+ 572,532,533,534,1372,2464,1335,1492,1284,1460,
+ 1774,1586,1828,3771,1782,1857,1860,141,271,1323,
+ 35,393,156,142,2942,35,1128,32,1997,815,
+ 27,30,31,1192,1237,26,28,1117,25,23,
+ 50,1251,104,75,76,106,1327,3489,230,3537,
+ 1454,1372,2091,1335,1492,2464,1460,1774,1586,1828,
+ 3184,1782,1857,2885,162,2395,523,35,291,1252,
+ 233,228,229,536,532,533,534,3411,35,1128,
+ 32,272,815,27,30,31,1192,1237,26,28,
+ 1117,25,23,50,1251,104,75,76,106,2233,
+ 1935,154,2786,240,243,246,249,4348,1293,585,
+ 73,35,277,324,3334,4249,615,618,2969,35,
+ 1128,32,1680,3358,27,30,31,1192,1237,57,
+ 28,551,727,3447,2514,2739,2744,2776,2866,4672,
+ 2467,35,1128,32,2852,815,27,30,31,1192,
+ 1237,26,28,1117,25,23,50,1251,104,75,
+ 76,106,1327,1140,3152,35,275,1372,340,1335,
+ 1492,520,1460,1774,1586,1828,3196,1782,1857,1860,
+ 141,523,1996,2139,34,514,142,3040,35,275,
+ 2524,3085,35,1128,32,353,3358,27,30,31,
+ 1192,1237,56,28,528,1724,35,1977,385,515,
+ 2467,35,1128,32,2852,815,27,30,31,1192,
+ 1237,26,28,1117,25,23,50,1251,104,75,
+ 76,106,1327,523,35,2921,1667,1372,340,1335,
+ 1492,1140,1460,1774,1586,1828,49,1782,1857,1860,
+ 141,718,495,1970,1144,514,142,2846,1708,1620,
+ 2524,510,2852,2422,35,1128,32,61,5693,27,
+ 30,31,1192,1237,26,28,3587,508,1934,515,
+ 2766,1604,2776,2787,552,4360,3309,2467,35,1128,
+ 32,2852,815,27,30,31,1192,1237,26,28,
+ 1117,25,23,50,1251,104,75,76,106,1327,
+ 843,2602,884,2111,1372,340,1335,1492,2710,1460,
+ 1774,1586,1828,1498,1782,1857,1860,141,3368,4577,
+ 457,510,514,142,73,35,277,2524,1202,5676,
+ 60,536,532,533,534,60,73,35,450,750,
+ 2789,5569,386,2787,990,502,515,2676,35,1128,
+ 32,2852,815,27,30,31,1192,1237,26,28,
+ 1117,25,23,50,1251,104,75,76,106,1327,
+ 523,35,2139,2918,1372,340,1335,1492,1311,1460,
+ 1774,1586,1828,350,1782,1857,1860,141,520,499,
+ 501,3323,514,142,42,2894,1675,2524,510,2383,
+ 35,1128,32,1833,5693,27,30,31,1192,1237,
+ 59,28,523,35,5690,5686,515,2879,843,2072,
+ 2787,1337,494,2852,2874,35,1128,32,3374,815,
+ 27,30,31,1192,1237,26,28,1117,25,23,
+ 50,1251,104,75,76,106,1327,3309,2913,2638,
+ 665,1372,2852,1335,1492,2673,1460,1774,1586,1828,
+ 91,1782,1857,1860,141,523,35,280,511,376,
+ 142,3476,2541,35,1128,32,340,815,27,30,
+ 31,1192,1237,26,28,1117,25,23,50,1251,
+ 104,75,76,106,1327,2579,2628,885,891,1372,
+ 1068,1335,1492,351,1460,1774,1586,1828,1844,1782,
+ 1857,1860,141,443,3403,3415,358,376,142,3476,
+ 2806,35,1128,32,1981,815,27,30,31,1192,
+ 1237,26,28,1117,25,23,50,1251,104,75,
+ 76,106,1327,163,35,450,2920,1372,5569,1335,
+ 1492,1284,1460,1774,1586,1828,4222,1782,1857,1860,
+ 141,382,1554,435,2608,376,142,3476,2741,35,
+ 1128,32,1886,815,27,30,31,1192,1237,26,
+ 28,1117,25,23,50,1251,104,75,76,106,
+ 1327,523,35,2139,274,1372,2290,1335,1492,1284,
+ 1460,1774,1586,1828,5318,1782,1857,1860,141,383,
+ 1554,387,60,548,142,424,820,2015,2383,35,
+ 1128,32,2771,5693,27,30,31,1192,1237,58,
+ 28,2277,3000,35,1128,32,2326,815,27,30,
+ 31,1192,1237,26,28,1117,25,23,50,1251,
+ 104,75,76,106,1327,523,3354,374,1554,1372,
+ 2192,1335,1492,2579,1460,1774,1586,1828,1140,1782,
+ 1857,1860,141,1537,35,2139,274,156,142,3000,
+ 35,1128,32,795,815,27,30,31,1192,1237,
+ 26,28,1117,25,23,50,1251,104,75,76,
+ 106,1327,2638,35,291,2098,1372,159,1335,1492,
+ 5565,1460,1774,1586,1828,1266,1782,1857,1860,141,
+ 447,3403,3415,3282,370,142,3000,35,1128,32,
+ 1534,815,27,30,31,1192,1237,26,28,1117,
+ 25,23,50,1251,104,75,76,106,1327,2880,
+ 60,546,1607,1372,1252,1335,1492,456,1460,1774,
+ 1586,1828,3323,1782,1857,1860,141,1281,35,1128,
+ 32,370,142,41,30,31,1192,1237,60,388,
+ 3040,3438,1252,424,1572,1252,1876,727,1252,3000,
+ 35,1128,32,4961,815,27,30,31,1192,1237,
+ 26,28,1117,25,23,50,1251,104,75,76,
+ 106,1327,1484,1717,3594,369,1372,154,1335,1492,
+ 158,1460,1774,1586,1828,160,1782,1857,1860,141,
+ 523,3109,2139,73,370,142,2741,35,1128,32,
+ 1398,815,27,30,31,1192,1237,26,28,1117,
+ 25,23,50,1251,104,75,76,106,1327,1323,
+ 35,393,368,1372,2464,1335,1492,3237,1460,1774,
+ 1586,1828,343,1782,1857,1860,141,523,3212,309,
+ 426,548,142,2611,35,1128,32,1735,815,27,
+ 30,31,1192,1237,26,28,1117,25,23,50,
+ 1251,104,75,76,106,1327,1323,35,393,3357,
+ 1372,3039,1335,1492,1284,1460,1774,1586,1828,5360,
+ 1782,1857,1860,141,1140,366,418,3323,140,142,
+ 3000,35,1128,32,2464,815,27,30,31,1192,
+ 1237,26,28,1117,25,23,50,1251,104,75,
+ 76,106,1327,1537,35,2139,3136,1372,24,1335,
+ 1492,2505,1460,1774,1586,1828,1490,1782,1857,1860,
+ 141,3757,61,3453,3323,157,142,3000,35,1128,
+ 32,3518,815,27,30,31,1192,1237,26,28,
+ 1117,25,23,50,1251,104,75,76,106,1327,
+ 523,35,2139,276,1372,68,1335,1492,286,1460,
+ 1774,1586,1828,4983,1782,1857,1860,141,86,547,
+ 3751,100,153,142,3000,35,1128,32,2464,815,
+ 27,30,31,1192,1237,26,28,1117,25,23,
+ 50,1251,104,75,76,106,1327,523,35,2139,
+ 3268,1372,1140,1335,1492,3237,1460,1774,1586,1828,
+ 1140,1782,1857,1860,141,523,35,2139,279,152,
+ 142,3000,35,1128,32,1997,815,27,30,31,
+ 1192,1237,26,28,1117,25,23,50,1251,104,
+ 75,76,106,1327,522,1482,69,1153,1372,5407,
+ 1335,1492,5592,1460,1774,1586,1828,1140,1782,1857,
+ 1860,141,1140,2813,3479,3323,151,142,3000,35,
+ 1128,32,2464,815,27,30,31,1192,1237,26,
+ 28,1117,25,23,50,1251,104,75,76,106,
+ 1327,51,540,2975,3037,1372,53,1335,1492,323,
+ 1460,1774,1586,1828,1519,1782,1857,1860,141,3323,
+ 2813,3479,1710,150,142,3000,35,1128,32,1997,
+ 815,27,30,31,1192,1237,26,28,1117,25,
+ 23,50,1251,104,75,76,106,1327,521,2599,
+ 52,1447,1372,5124,1335,1492,95,1460,1774,1586,
+ 1828,96,1782,1857,1860,141,87,1914,1268,100,
+ 149,142,3000,35,1128,32,2290,815,27,30,
+ 31,1192,1237,26,28,1117,25,23,50,1251,
+ 104,75,76,106,1327,519,3220,151,538,1372,
+ 1738,1335,1492,1284,1460,1774,1586,1828,5596,1782,
+ 1857,1860,141,2027,3323,1934,3323,148,142,3000,
+ 35,1128,32,2290,815,27,30,31,1192,1237,
+ 26,28,1117,25,23,50,1251,104,75,76,
+ 106,1327,519,2641,659,347,1372,88,1335,1492,
+ 444,1460,1774,1586,1828,1284,1782,1857,1860,141,
+ 5601,3323,440,3323,147,142,3000,35,1128,32,
+ 1934,815,27,30,31,1192,1237,26,28,1117,
+ 25,23,50,1251,104,75,76,106,1327,282,
+ 2793,886,557,1372,2788,1335,1492,444,1460,1774,
+ 1586,1828,2536,1782,1857,1860,141,3323,3323,3267,
+ 1624,146,142,3000,35,1128,32,2106,815,27,
+ 30,31,1192,1237,26,28,1117,25,23,50,
+ 1251,104,75,76,106,1327,1431,3147,2863,67,
+ 1372,3384,1335,1492,283,1460,1774,1586,1828,1553,
+ 1782,1857,1860,141,3323,3323,2501,257,145,142,
+ 3000,35,1128,32,707,815,27,30,31,1192,
+ 1237,26,28,1117,25,23,50,1251,104,75,
+ 76,106,1327,708,60,66,65,1372,897,1335,
+ 1492,321,1460,1774,1586,1828,797,1782,1857,1860,
+ 141,3323,2600,1934,1934,144,142,3000,35,1128,
+ 32,180,815,27,30,31,1192,1237,26,28,
+ 1117,25,23,50,1251,104,75,76,106,1327,
+ 1614,60,64,2513,1372,5296,1335,1492,322,1460,
+ 1774,1586,1828,70,1782,1857,1860,141,1659,3212,
+ 2390,1935,143,142,3000,35,1128,32,2683,815,
+ 27,30,31,1192,1237,26,28,1117,25,23,
+ 50,1251,104,75,76,106,1327,295,294,2739,
+ 2770,1372,550,1335,1492,2912,1460,1774,1586,1828,
+ 61,1782,1857,1860,141,3677,2833,3634,3323,138,
+ 142,3116,35,1128,32,1815,815,27,30,31,
+ 1192,1237,26,28,1117,25,23,50,1251,104,
+ 75,76,106,1327,2638,3371,291,555,1372,2973,
+ 1335,1492,1284,1460,1774,1586,1828,5621,1782,1857,
+ 1860,141,1659,3212,523,3705,187,142,3411,35,
+ 1128,32,2707,815,27,30,31,1192,1237,26,
+ 28,1117,25,23,50,1251,104,75,76,106,
+ 1327,2880,60,250,2348,1372,2858,1335,1492,285,
+ 1460,1774,1586,1828,3184,1782,1857,2885,162,3411,
+ 35,1128,32,1934,815,27,30,31,1192,1237,
+ 26,28,1117,25,23,50,1251,104,75,76,
+ 106,1327,1875,3213,70,378,1372,401,1335,1492,
+ 2505,1460,1774,1586,1828,3466,1782,1857,2885,162,
+ 2494,35,1128,32,1484,553,40,30,31,1192,
+ 1237,433,3411,35,1128,32,1732,815,27,30,
+ 31,1192,1237,26,28,1117,25,23,50,1251,
+ 104,75,76,106,1327,562,60,301,1269,1372,
+ 2493,1335,1492,285,1460,1774,1586,1828,3323,1782,
+ 1857,2885,162,3411,35,1128,32,420,815,27,
+ 30,31,1192,1237,26,28,1117,25,23,50,
+ 1251,104,75,76,106,1327,1930,3213,699,55,
+ 1372,399,1335,1492,883,1460,1774,1586,1828,352,
+ 1782,1857,2885,162,2494,35,1128,32,528,973,
+ 2660,30,31,1192,1237,1063,3411,35,1128,32,
+ 290,815,27,30,31,1192,1237,26,28,1117,
+ 25,23,50,1251,104,75,76,106,1327,523,
+ 35,1977,385,1372,2842,1335,1492,1378,1460,1774,
+ 1586,1828,3323,1782,1857,2885,162,3469,35,1128,
+ 32,419,815,27,30,31,1192,1237,26,28,
+ 1117,25,23,50,1251,104,75,76,106,1327,
+ 271,539,2975,54,1372,1903,1335,1492,3570,1460,
+ 1774,1586,1828,2123,1782,1857,2885,162,1388,35,
+ 1128,32,5516,5559,27,30,31,1192,1237,336,
+ 28,2062,1907,2880,422,3120,536,532,533,534,
+ 1981,535,532,533,534,3201,35,278,3221,2494,
+ 35,1128,32,3323,3720,2695,30,31,1192,1237,
+ 4452,60,2579,273,2772,2424,2388,237,5429,325,
+ 332,2098,316,2016,318,3695,5565,572,532,533,
+ 534,311,1969,2835,537,2372,329,1934,4479,3411,
+ 35,1128,32,2508,815,27,30,31,1192,1237,
+ 26,28,1117,25,23,50,1251,104,75,76,
+ 106,1327,2384,3184,4204,3156,1372,1685,1335,1492,
+ 2290,1460,1774,1586,1828,230,1782,2654,613,35,
+ 1977,385,2210,1327,35,3301,32,5516,5559,27,
+ 30,31,1192,1237,336,28,349,238,228,229,
+ 303,307,1303,564,1711,1284,535,532,533,534,
+ 5651,379,1812,341,1041,921,346,2429,60,49,
+ 3192,339,2108,617,2736,3049,1970,2861,390,1717,
+ 1708,2464,424,1487,2852,3430,3065,316,2016,318,
+ 536,532,533,534,2074,2419,311,1969,2835,3323,
+ 2572,329,2933,1343,3411,35,1128,32,3309,815,
+ 27,30,31,1192,1237,26,28,1117,25,23,
+ 50,1251,104,75,76,106,1327,3007,1997,4204,
+ 556,1372,1534,1335,1492,2572,1460,1774,1586,1828,
+ 60,2622,4577,403,1115,60,427,373,320,1283,
+ 2941,416,3277,3411,35,1128,32,528,815,27,
+ 30,31,1192,1237,26,28,1117,25,23,50,
+ 1251,104,75,76,106,1327,2572,502,297,1280,
+ 1372,3031,1335,1492,1439,1460,1774,1586,2592,1509,
+ 35,1128,32,3065,5559,27,30,31,1192,1237,
+ 336,28,572,532,533,534,977,572,532,533,
+ 534,1485,535,532,533,534,1561,44,2894,219,
+ 1572,500,501,3225,1252,2880,60,1158,60,978,
+ 2202,5014,3414,2464,2328,1304,35,1977,385,572,
+ 532,533,534,316,2016,318,536,532,533,534,
+ 230,371,312,1969,2835,230,158,330,2180,35,
+ 1128,32,5516,5328,27,30,31,1192,1237,336,
+ 28,349,242,228,229,1418,271,245,228,229,
+ 1997,535,532,533,534,2103,1908,230,343,1041,
+ 921,346,3527,35,1977,385,3323,2588,2278,373,
+ 4560,2163,2852,60,60,235,1722,2785,3490,248,
+ 228,229,316,2016,318,572,532,533,534,1068,
+ 60,311,1969,1779,4347,2284,3309,319,4479,572,
+ 532,533,534,271,1730,3411,35,1128,32,2962,
+ 815,27,30,31,1192,1237,26,28,1117,25,
+ 23,50,1251,104,75,76,106,1327,3092,71,
+ 70,3097,1372,230,1335,1492,2705,1460,1774,2614,
+ 1734,523,35,1977,385,1675,3178,230,3065,60,
+ 60,2903,1916,2522,1252,233,228,229,1799,60,
+ 303,307,1303,3381,60,357,272,2437,3110,251,
+ 228,229,1742,3362,535,532,533,534,1612,2158,
+ 2948,2957,428,60,3697,3236,154,3745,240,243,
+ 246,249,4348,2783,1594,3430,2433,3411,35,1128,
+ 32,615,815,27,30,31,1192,1237,26,28,
+ 1117,25,23,50,1251,104,75,76,84,2514,
+ 2739,2744,2776,2866,4672,3411,35,1128,32,2879,
+ 815,27,30,31,1192,1237,26,28,1117,25,
+ 23,50,1251,104,75,76,106,1327,2249,60,
+ 3233,3122,1372,4359,1335,1492,2572,1460,2545,1994,
+ 35,3301,32,5516,5328,27,30,31,1192,1237,
+ 336,28,2937,2572,3150,3269,5006,1731,35,1977,
+ 385,542,3355,532,533,534,1816,35,3301,32,
+ 5516,5328,27,30,31,1192,1237,336,28,177,
+ 2572,3147,377,348,1323,35,2942,5421,2570,535,
+ 532,533,534,316,2016,318,196,60,49,3098,
+ 2278,868,311,1969,2852,1970,1764,2572,3147,1343,
+ 2842,536,532,533,534,60,523,35,291,1781,
+ 316,2016,318,195,2419,49,2250,60,3309,311,
+ 1969,2852,1970,1032,349,1377,1343,2267,35,3301,
+ 32,5516,5328,27,30,31,1192,1237,336,28,
+ 558,341,1041,921,346,340,4100,416,3277,1874,
+ 3355,532,533,534,2361,35,1128,32,5516,5328,
+ 27,30,31,1192,1237,336,28,2524,60,3147,
+ 2770,3120,670,4468,416,3277,2572,535,532,533,
+ 534,316,2016,318,3123,3238,2017,357,5415,3382,
+ 311,1969,3151,3228,60,60,4560,1343,2244,4394,
+ 60,3338,2948,2957,4467,331,332,60,316,2016,
+ 318,1252,536,532,533,534,3390,311,1969,300,
+ 3411,35,1128,32,4479,815,27,30,31,1192,
+ 1237,26,28,1117,25,23,50,1251,104,75,
+ 76,106,1327,154,4100,416,3277,1372,3281,1335,
+ 1492,1547,2553,3411,35,1128,32,3497,815,27,
+ 30,31,1192,1237,26,28,1117,25,23,50,
+ 1251,104,75,76,106,1327,523,35,1977,385,
+ 1372,2039,1335,1492,2402,2575,304,307,1303,1837,
+ 35,1128,32,5487,5328,27,30,31,1192,1237,
+ 336,28,1939,35,1128,32,5394,5328,27,30,
+ 31,1192,1237,336,28,3466,3323,271,3323,3187,
+ 35,1128,32,2593,5328,27,30,31,1192,1237,
+ 336,28,60,348,2572,2085,5656,3381,703,35,
+ 1977,385,60,316,2016,318,1733,99,3418,3215,
+ 3697,3476,311,1969,348,561,316,2016,318,3064,
+ 3204,2579,400,1572,271,311,1969,1252,587,2572,
+ 2572,349,2856,313,3205,318,2572,199,60,49,
+ 337,3117,2852,3439,349,3370,1970,1811,341,1041,
+ 921,346,226,60,2842,3535,3041,2573,3536,158,
+ 154,341,1041,921,346,2795,340,178,3046,1874,
+ 3500,1997,197,296,2901,201,213,4533,1252,1401,
+ 3323,200,210,211,212,214,571,3508,2524,2300,
+ 167,1,60,3510,3557,587,1252,166,1747,181,
+ 165,168,169,170,171,172,3509,2024,3322,3574,
+ 154,448,535,532,533,534,60,198,3389,226,
+ 2547,535,532,533,534,3120,2338,154,154,60,
+ 2842,660,3576,1780,178,3046,1672,389,1997,526,
+ 660,424,201,213,4533,91,363,2926,200,210,
+ 211,212,214,571,2968,3575,3577,167,60,3188,
+ 332,2290,1044,2968,166,179,182,165,168,169,
+ 170,171,172,3411,35,1128,32,3579,815,27,
+ 30,31,1192,1237,26,28,1117,25,23,50,
+ 1251,104,75,76,106,1327,523,35,1977,385,
+ 1372,3120,1335,2374,3599,523,35,1977,385,2737,
+ 438,3411,35,1128,32,3451,815,27,30,31,
+ 1192,1237,26,28,1117,25,23,50,1251,104,
+ 75,76,106,1327,3323,327,332,449,1372,3323,
+ 1335,2389,3411,35,1128,32,431,815,27,30,
+ 31,1192,1237,26,28,1117,25,23,50,1251,
+ 104,75,76,106,1327,375,3621,3323,3323,1372,
+ 567,1335,2395,3411,35,1128,32,3323,815,27,
+ 30,31,1192,1237,26,28,1117,25,23,50,
+ 1251,104,75,76,106,1327,3323,361,3841,3887,
+ 1372,587,1335,2427,3295,35,1128,32,3933,815,
+ 27,30,31,1192,1237,26,28,1117,25,23,
+ 50,1251,570,75,76,226,181,568,523,35,
+ 1977,385,60,154,3380,3583,2818,2572,4015,1296,
+ 178,3046,2019,451,1997,3616,240,587,201,213,
+ 4533,3323,3323,2477,200,210,211,212,214,571,
+ 3174,3323,3655,167,2852,535,532,533,534,430,
+ 166,226,3699,165,168,169,170,171,172,154,
+ 220,3617,1648,1742,2473,2842,178,3046,340,541,
+ 1997,3622,3789,587,201,213,4533,3323,3603,3496,
+ 200,210,211,212,214,571,6367,6367,6367,167,
+ 1715,523,35,1977,385,6367,166,226,176,165,
+ 168,169,170,171,172,154,6367,6367,4092,2572,
+ 3326,6367,178,3046,2852,631,1997,6367,6367,587,
+ 201,213,4533,6367,6367,6367,200,210,211,212,
+ 214,571,49,6367,6367,167,3120,6367,340,1970,
+ 892,527,166,226,174,165,168,169,170,171,
+ 172,154,191,6367,6367,6367,6367,6367,178,3046,
+ 2524,721,1997,6367,6367,587,201,213,4533,6367,
+ 3214,332,200,210,211,212,214,571,60,530,
+ 60,167,2852,6367,1252,1219,6367,6367,166,226,
+ 175,165,168,169,170,171,172,154,6367,6367,
+ 6367,6367,6367,6367,178,3046,340,811,1997,6367,
+ 6367,587,201,213,4533,6367,154,1069,200,210,
+ 211,212,214,571,2633,6367,6367,167,2524,523,
+ 35,1977,385,6367,166,226,185,165,168,169,
+ 170,171,172,154,6367,6367,439,2043,453,6367,
+ 178,3046,6367,901,1997,6367,6367,587,201,213,
+ 4533,6367,6367,6367,200,210,211,212,214,571,
+ 49,6367,60,167,6367,2578,1252,1970,3458,2852,
+ 166,226,3758,165,168,169,170,171,172,154,
+ 6367,1572,6367,6367,6367,1252,178,3046,3498,6367,
+ 1997,6367,6367,340,201,213,4533,6367,154,6367,
+ 200,210,211,212,214,571,1968,6367,6367,167,
+ 3468,536,532,533,534,3694,166,158,190,165,
+ 168,169,170,171,172,1424,35,1128,32,5487,
+ 5328,27,30,31,1192,1237,336,28,1572,991,
+ 6367,6367,1252,587,3411,35,1128,32,6367,815,
+ 27,30,31,1192,1237,26,28,1117,25,23,
+ 50,1251,104,75,76,106,1327,226,6367,6367,
+ 6367,1372,6367,2465,158,154,6367,6367,6367,316,
+ 2016,318,178,3046,2432,6367,1997,6367,311,1969,
+ 201,213,4533,6367,6367,523,200,210,211,212,
+ 214,571,1081,6367,60,167,587,349,1252,6367,
+ 3252,6367,166,6367,184,165,168,169,170,171,
+ 172,6367,6367,6367,341,1041,921,346,6367,6367,
+ 226,6367,524,535,532,533,534,6367,154,6367,
+ 154,3336,6367,6367,6367,178,3046,6367,2014,1997,
+ 6367,6367,3098,201,213,4533,6367,6367,6367,200,
+ 210,211,212,214,571,6367,6367,6367,167,523,
+ 35,1977,385,6367,3712,166,6367,192,165,168,
+ 169,170,171,172,3411,35,1128,32,6367,815,
+ 27,30,31,1192,1237,26,28,1117,25,23,
+ 50,1251,104,75,76,106,1327,6367,6367,6367,
+ 429,1372,6367,2492,2029,35,1128,32,6367,5559,
+ 27,30,31,1192,1237,336,28,60,6367,6367,
+ 6367,1252,703,35,1977,385,6367,535,532,533,
+ 534,2029,35,1128,32,6367,5559,27,30,31,
+ 1192,1237,336,28,60,6367,660,6367,1252,523,
+ 35,1977,385,154,535,532,533,534,316,2016,
+ 318,2015,6367,49,6367,6367,6367,314,1969,2835,
+ 1970,47,330,5014,6367,6367,6367,6367,6367,6367,
+ 154,6367,6367,6367,6367,316,2016,318,2061,2505,
+ 49,6367,6367,6367,312,1969,2835,1970,797,330,
+ 3411,35,1128,32,6367,815,27,30,31,1192,
+ 1237,26,28,1117,25,23,50,1251,104,75,
+ 76,106,1327,3411,35,1128,32,2165,815,27,
+ 30,31,1192,1237,26,28,1117,25,23,50,
+ 1251,104,75,76,106,1327,6367,1678,2645,6367,
+ 2212,2852,6367,2901,6367,6367,6367,587,6367,1951,
+ 1409,6367,6367,2852,6367,3909,6367,6367,6367,6367,
+ 6367,535,532,533,534,226,6367,6367,60,6367,
+ 6367,3692,1252,535,532,533,534,226,6367,154,
+ 928,6367,6367,6367,2842,6367,178,3046,203,213,
+ 4533,6367,660,6367,202,210,211,212,214,571,
+ 203,213,4533,6367,154,6367,202,210,211,212,
+ 214,571,1727,6367,6367,2835,193,6367,5509,6367,
+ 204,206,208,292,293,3038,6367,215,205,207,
+ 6367,6367,204,206,208,292,293,3038,6367,215,
+ 205,207,1631,35,1128,32,5516,5328,27,30,
+ 31,1192,1237,336,28,3120,6367,2042,3256,6367,
+ 2063,2852,5112,6367,6367,536,532,533,534,3324,
+ 6367,6367,2064,6367,5112,6367,6367,6367,6367,6367,
+ 6367,535,532,533,534,226,6367,6367,6367,3413,
+ 332,6367,535,532,533,534,316,2016,318,6367,
+ 2783,1171,92,6367,6367,311,1969,6367,203,213,
+ 4533,3209,5018,6367,202,210,211,212,214,571,
+ 6367,6367,6367,2525,35,1128,32,2478,5328,27,
+ 30,31,1192,1237,336,28,5630,194,3094,6367,
+ 204,206,208,292,293,3038,6367,215,205,207,
+ 2361,35,1128,32,5516,5328,27,30,31,1192,
+ 1237,336,28,6367,6367,6367,6367,523,35,1977,
+ 385,6367,6367,536,532,533,534,313,3205,318,
+ 2253,6367,5112,3295,35,1128,32,6367,815,27,
+ 30,31,1192,1237,26,28,1117,25,23,50,
+ 1251,569,75,76,316,2016,318,6367,49,6367,
+ 6367,6367,6367,311,1969,46,3411,35,1128,32,
+ 5018,815,27,30,31,1192,1237,26,28,1117,
+ 25,23,50,1251,104,75,76,106,2301,3411,
+ 35,1128,32,6367,815,27,30,31,1192,1237,
+ 26,28,1117,25,23,50,1251,104,75,76,
+ 106,2368,3591,35,1977,385,6367,2588,6367,6367,
+ 6367,6367,6367,6367,6367,236,6367,6367,6367,6367,
+ 6367,6367,6367,6367,6367,572,532,533,534,6367,
+ 1572,2926,6367,6367,1252,6367,6367,6367,6367,3411,
+ 1996,1128,2009,271,815,27,30,31,1192,1237,
+ 26,28,1117,25,23,50,1251,104,75,76,
+ 83,6367,6367,6367,6367,6367,158,6367,6367,3411,
+ 35,1128,32,230,815,27,30,31,1192,1237,
+ 26,28,1117,25,23,50,1251,104,75,76,
+ 82,6367,6367,6367,6367,234,228,229,6367,6367,
+ 6367,6367,3411,35,1128,32,272,815,27,30,
+ 31,1192,1237,26,28,1117,25,23,50,1251,
+ 104,75,76,81,6367,6367,6367,6367,241,244,
+ 247,250,4348,3440,6367,6367,6367,3411,35,1128,
+ 32,615,815,27,30,31,1192,1237,26,28,
+ 1117,25,23,50,1251,104,75,76,80,3411,
+ 35,1128,32,6367,815,27,30,31,1192,1237,
+ 26,28,1117,25,23,50,1251,104,75,76,
+ 79,3411,35,1128,32,6367,815,27,30,31,
+ 1192,1237,26,28,1117,25,23,50,1251,104,
+ 75,76,78,3411,35,1128,32,6367,815,27,
+ 30,31,1192,1237,26,28,1117,25,23,50,
+ 1251,104,75,76,77,3058,35,1128,32,6367,
+ 815,27,30,31,1192,1237,26,28,1117,25,
+ 23,50,1251,104,75,76,102,3411,35,1128,
+ 32,6367,815,27,30,31,1192,1237,26,28,
+ 1117,25,23,50,1251,104,75,76,108,3411,
+ 35,1128,32,6367,815,27,30,31,1192,1237,
+ 26,28,1117,25,23,50,1251,104,75,76,
+ 107,3411,35,1128,32,6367,815,27,30,31,
+ 1192,1237,26,28,1117,25,23,50,1251,104,
+ 75,76,105,3411,35,1128,32,6367,815,27,
+ 30,31,1192,1237,26,28,1117,25,23,50,
+ 1251,104,75,76,103,2133,2110,6367,6367,2852,
+ 2852,3909,6367,6367,2212,35,1128,32,3440,5328,
+ 27,30,31,1192,1237,336,28,6367,6367,535,
+ 532,533,534,226,3309,6367,6367,536,532,533,
+ 534,535,532,533,534,6367,6367,1769,660,6367,
+ 60,2852,6367,6367,1252,6367,203,213,4533,6367,
+ 3978,6367,202,210,211,212,214,571,316,2016,
+ 318,2835,6367,6367,329,226,6367,583,1969,6367,
+ 6367,6367,6367,6367,6367,6367,154,6367,204,206,
+ 208,292,293,3038,3721,517,205,207,203,213,
+ 4533,6367,5400,357,202,210,211,212,214,571,
+ 6367,6367,1860,6367,6367,6367,2852,1923,2948,2957,
+ 6367,6367,6367,6367,2224,6367,6367,6367,2852,6367,
+ 204,206,208,292,293,3038,6367,516,205,207,
+ 226,6367,6367,6367,6367,6367,6367,6367,6367,6367,
+ 6367,6367,226,6367,6367,6367,6367,6367,6367,6367,
+ 6367,6367,6367,203,213,4533,6367,6367,6367,202,
+ 210,211,212,214,571,203,213,4533,6367,6367,
+ 6367,202,210,211,212,214,571,6367,6367,2315,
+ 6367,6367,6367,2852,6367,204,206,208,292,293,
+ 3038,6367,216,205,207,6367,6367,204,206,208,
+ 292,293,3038,6367,302,205,207,226,3353,35,
+ 1128,32,6367,815,27,30,31,1192,1237,26,
+ 28,1117,25,23,50,1251,85,75,76,6367,
+ 203,213,4533,6367,6367,6367,202,210,211,212,
+ 214,571,2454,35,1128,32,5516,5328,27,30,
+ 31,1192,1237,336,28,6367,6367,6367,6367,6367,
+ 6367,6367,204,206,208,292,293,3038,6367,496,
+ 205,207,2864,35,1128,32,5516,5328,27,30,
+ 31,1192,1237,336,28,6367,1236,6367,6367,6367,
+ 2852,5702,6367,6367,6367,1345,316,2016,318,2852,
+ 5702,6367,6367,6367,6367,311,1969,6367,613,35,
+ 1977,385,2856,6367,226,6367,6367,6367,613,35,
+ 1977,385,6367,226,6367,6367,316,2016,318,6367,
+ 6367,6367,6367,6367,6367,311,1969,2234,404,3339,
+ 6367,6367,3741,6367,6367,6367,2234,404,3339,49,
+ 703,35,1977,385,6367,6367,1970,47,6367,49,
+ 6367,6367,6367,6367,6367,6367,1970,2508,6367,405,
+ 406,407,292,293,3038,1085,6367,6367,405,406,
+ 407,292,293,3038,2110,3296,6367,6367,2852,3909,
+ 2292,49,6367,6367,2986,3909,6367,1409,1970,47,
+ 6367,6367,3909,2986,6367,2202,6367,535,532,533,
+ 534,1587,3309,535,532,533,534,2509,6367,1409,
+ 535,532,533,534,3909,6367,660,6367,535,532,
+ 533,534,660,6367,535,532,533,534,6367,660,
+ 6367,6367,535,532,533,534,6367,2627,6367,2835,
+ 6367,6367,329,2627,6367,2835,6367,6367,330,408,
+ 410,660,2835,6367,6367,329,6367,6367,408,411,
+ 6367,6367,349,6367,6367,6367,6367,1409,6367,6367,
+ 2749,357,3909,6367,2835,888,6367,329,5305,343,
+ 1041,921,346,5522,6367,1923,2948,2957,6367,3208,
+ 535,532,533,534,3909,6367,1409,6367,6367,6367,
+ 6367,3909,1569,6367,6367,5400,6367,3909,6367,660,
+ 2700,6367,535,532,533,534,2705,6367,6367,535,
+ 532,533,534,6367,6367,535,532,533,534,6367,
+ 6367,660,2835,6367,6367,329,6367,6367,660,613,
+ 35,1977,385,6367,660,613,35,1977,385,613,
+ 35,1977,385,6367,2835,6367,6367,5509,6367,6367,
+ 6367,2835,6367,2749,329,6367,6367,2835,6367,6367,
+ 330,6367,613,35,1977,385,2546,35,1977,385,
+ 49,613,35,1977,385,6367,49,1970,3449,6367,
+ 49,6367,4231,1970,47,6367,6367,1970,47,6367,
+ 6367,613,35,1977,385,6367,3296,6367,6367,6367,
+ 3145,6367,2931,49,587,6367,3556,49,6367,60,
+ 1970,47,49,587,1970,47,6367,6367,6367,1970,
+ 47,2734,35,1977,385,6367,2118,6367,340,3565,
+ 2852,94,49,676,6367,6367,154,340,3688,1970,
+ 47,6367,6367,6367,186,154,523,35,1977,385,
+ 5282,6367,6367,1547,3309,6367,2202,6367,4159,2524,
+ 2976,6367,49,523,35,1977,385,6367,6367,1970,
+ 47,6367,523,35,1977,385,6367,6367,1382,535,
+ 532,533,534,535,532,533,534,49,3126,60,
+ 6367,6367,6367,587,1970,774,60,6367,2627,60,
+ 587,60,2627,587,49,2852,6367,6367,6367,188,
+ 60,1970,1144,49,2852,6367,6367,340,6367,6367,
+ 1970,2500,60,502,340,154,2852,340,6367,340,
+ 60,6367,154,186,2852,154,6367,6367,340,5282,
+ 186,6367,6367,186,6367,6367,5282,6367,6367,5282,
+ 340,2524,6367,60,6367,6367,6367,2852,340,6367,
+ 2524,6367,6367,6367,6367,6367,6367,499,501,6367,
+ 2056,2939,2524,6367,6367,2949,6367,6367,6367,1967,
+ 2524,340,6367,6367,6367,6367,6367,6367,6367,6367,
+ 6367,506,3396,6367,6367,6367,6367,6367,3627,504,
+ 6367,6367,6367,2524,6367,3628,3570,6367,3637,6367,
+ 6367,6367,6367,6367,6367,6367,6367,6367,6367,6367,
+ 6367,6367,531,6367,0,39,6382,0,39,6381,
+ 0,955,29,0,437,1232,0,451,2044,0,
+ 38,791,0,38,6382,0,38,6381,0,3602,
+ 124,0,1,441,0,455,851,0,454,1288,
+ 0,1370,89,0,955,384,0,35,33,0,
+ 32,34,0,39,791,0,1,618,0,1,
+ 6637,0,1,6636,0,1,6635,0,1,6634,
+ 0,1,6633,0,1,6632,0,1,6631,0,
+ 1,6630,0,1,6629,0,1,6628,0,1,
+ 6627,0,39,1,6382,0,39,1,6381,0,
+ 1387,1,0,2090,221,0,2110,221,0,2118,
+ 221,0,2090,222,0,2110,222,0,2118,222,
+ 0,2090,223,0,2110,223,0,2118,223,0,
+ 2118,391,0,2110,391,0,2090,391,0,281,
+ 391,0,2090,224,0,2110,224,0,2118,224,
+ 0,281,284,0,2090,225,0,2110,225,0,
+ 2118,225,0,6599,239,0,6598,239,0,2090,
+ 239,0,2110,239,0,2118,239,0,6702,239,
+ 0,6701,239,0,6626,239,0,6625,239,0,
+ 6624,239,0,6623,239,0,6622,239,0,6621,
+ 239,0,6620,239,0,6619,239,0,6637,239,
+ 0,6636,239,0,6635,239,0,6634,239,0,
+ 6633,239,0,6632,239,0,6631,239,0,6630,
+ 239,0,6629,239,0,6628,239,0,6627,239,
+ 0,39,6382,239,0,39,6381,239,0,6405,
+ 239,0,6382,48,0,6381,48,0,6373,1,
+ 0,6372,1,0,1404,235,0,32,385,0,
+ 29,384,0,43,6403,0,43,37,0,3602,
+ 126,0,3602,125,0,2118,442,0,2110,442,
+ 0,2090,442,0,328,442,0,2118,580,0,
+ 2110,580,0,2090,580,0,584,580,0,584,
+ 579,0,1,2118,0,1,2110,0,1,2090,
+ 0,6405,1,0,39,1,0,47,37,0,
+ 1,90,0,498,3019,0,6405,1,227,0,
+ 1,227,0,39,1,227,0,227,413,0,
+ 6382,37,0,6381,37,0,6382,2,37,0,
+ 6381,2,37,0,6382,36,0,6381,36,0,
+ 6403,45,0,37,45,0,6377,402,0,6376,
+ 402,0,1,5252,0,1,3720,0,1,791,
+ 0,227,412,0,2954,315,0,2118,93,0,
+ 2110,93,0,2090,93,0,328,93,0,35,
+ 72,0,1,328,0,3383,276,0,498,5047,
+ 0,1,227,724,0,227,218,0,1,582,
+ 0,227,217,0,1,629,0,1,1479,0,
+ 2118,577,0,2110,577,0,2090,577,0,2118,
+ 576,0,2110,576,0,2090,576,0,535,536,
+ 0,6379,1,0,6375,1,0,2118,577,578,
+ 0,2110,577,578,0,2090,577,578,0,577,
+ 578,0,1,227,3492,0,6376,227,0,3505,
+ 227,0,6379,380,0,6378,380,0,3686,227,
+ 0,10,12,0,8,10,12,0,183,4029,
+ 0,3759,380,0,8,12,0
+ };
+ };
+ public final static char baseAction[] = BaseAction.baseAction;
+ public final int baseAction(int index) { return baseAction[index]; }
+ public final static char lhs[] = baseAction;
+ public final int lhs(int index) { return lhs[index]; };
+
+ public interface TermCheck {
+ public final static char termCheck[] = {0,
+ 0,1,2,3,4,5,6,7,8,9,
+ 10,11,12,13,14,15,16,17,18,19,
+ 20,21,22,23,24,25,26,27,28,29,
+ 30,31,32,33,34,35,36,37,38,39,
+ 40,41,42,43,44,45,46,47,48,49,
+ 50,51,52,53,54,55,56,57,58,0,
+ 0,61,62,63,64,65,66,67,8,0,
+ 70,71,0,1,2,75,4,77,78,79,
+ 80,81,82,83,84,85,86,87,88,89,
+ 0,1,2,3,4,5,6,7,8,9,
+ 10,11,12,13,14,15,16,17,18,19,
+ 20,21,22,23,24,25,26,27,28,29,
+ 30,31,32,33,34,35,36,37,38,39,
+ 40,41,42,43,44,45,46,47,48,49,
+ 50,51,52,53,54,55,56,57,58,0,
+ 0,61,62,63,64,65,66,67,0,0,
+ 70,71,0,1,2,75,4,77,78,79,
+ 80,81,82,83,84,85,86,87,88,89,
+ 0,1,2,3,4,5,6,7,8,9,
+ 10,11,12,13,14,15,16,17,18,19,
+ 20,21,22,23,24,25,26,27,28,29,
+ 30,31,32,33,34,35,36,37,38,39,
+ 40,41,42,43,44,45,46,47,48,49,
+ 50,51,52,53,54,55,56,57,58,0,
+ 1,61,62,63,64,65,66,67,0,0,
+ 70,71,94,95,104,75,0,77,78,79,
+ 80,81,82,83,84,85,86,87,88,89,
+ 0,1,2,3,4,5,6,7,8,9,
+ 10,11,12,13,14,15,16,17,18,19,
+ 20,21,22,23,24,25,26,27,28,29,
+ 30,31,32,33,34,35,36,37,38,39,
+ 40,41,42,43,44,45,46,47,48,49,
+ 50,51,52,53,54,55,56,57,58,73,
+ 0,61,62,63,64,65,66,67,0,0,
+ 70,71,0,94,95,75,0,0,78,79,
+ 80,81,82,83,84,85,86,87,88,89,
+ 0,1,2,3,4,5,6,7,8,9,
+ 10,11,12,13,14,15,16,17,18,19,
+ 20,21,22,23,24,25,26,27,28,29,
+ 30,31,32,33,34,35,36,37,38,39,
+ 40,41,42,43,44,45,46,47,48,49,
+ 50,51,52,53,54,55,56,57,58,72,
+ 73,61,62,63,64,65,66,67,0,0,
+ 70,71,0,91,92,75,0,0,78,79,
+ 80,81,82,83,84,85,86,87,88,89,
+ 0,1,2,3,4,5,6,7,8,9,
+ 10,11,12,13,14,15,16,17,18,19,
+ 20,21,22,23,24,25,26,27,28,29,
+ 30,31,32,33,34,35,36,37,38,39,
+ 40,41,42,43,44,45,46,47,48,49,
+ 50,51,52,53,54,55,56,57,58,72,
+ 73,61,62,63,64,65,66,67,0,0,
+ 70,71,0,1,2,75,94,95,78,79,
+ 80,81,82,83,84,85,86,87,88,89,
+ 0,1,2,3,4,5,6,7,8,9,
+ 10,11,12,13,14,15,16,17,18,19,
+ 20,21,22,23,24,25,26,27,28,29,
+ 30,31,32,33,34,35,36,37,38,39,
+ 40,41,42,43,44,45,46,47,48,49,
+ 50,51,52,53,54,55,56,57,58,0,
+ 0,61,62,63,64,65,66,67,0,0,
+ 70,71,0,1,2,75,0,0,78,79,
+ 80,81,82,83,84,85,86,87,88,89,
+ 0,1,2,3,4,5,6,7,8,9,
+ 10,11,12,13,14,15,16,17,18,19,
+ 20,21,22,23,24,25,26,27,28,29,
+ 30,31,32,33,34,35,36,37,38,39,
+ 40,41,42,43,44,45,46,47,48,49,
+ 50,51,52,53,54,55,56,57,58,72,
+ 74,61,62,63,64,65,66,67,0,0,
+ 70,71,0,1,2,75,0,0,78,79,
+ 80,81,82,83,84,85,86,87,88,89,
+ 0,1,2,3,4,5,6,7,8,9,
+ 10,11,12,13,14,15,16,17,18,19,
+ 20,21,22,23,24,25,26,27,28,29,
+ 30,31,32,33,34,35,36,37,38,39,
+ 40,41,42,43,44,45,46,47,48,49,
+ 50,51,52,53,54,55,56,57,58,73,
+ 73,61,62,63,64,65,66,67,0,0,
+ 70,71,94,95,0,75,0,3,78,79,
+ 80,81,82,83,84,85,86,87,88,89,
+ 0,1,2,3,4,5,6,7,8,9,
+ 10,11,12,13,14,15,16,17,18,19,
+ 20,21,22,23,24,25,26,27,28,29,
+ 30,31,32,33,34,35,36,37,38,39,
+ 40,41,42,43,44,45,46,47,48,49,
+ 50,51,52,53,54,55,56,57,58,73,
+ 76,61,62,63,64,65,66,67,0,0,
+ 70,71,0,0,0,75,3,3,78,79,
+ 80,81,82,83,84,85,86,87,88,89,
+ 0,1,2,3,4,5,6,7,8,9,
+ 10,11,12,13,14,15,16,17,18,19,
+ 20,21,22,23,24,25,26,27,28,29,
+ 30,31,32,33,34,35,36,37,38,39,
+ 40,41,42,43,44,45,46,47,48,49,
+ 50,51,52,53,54,55,56,57,58,0,
+ 0,61,62,63,64,65,66,67,0,0,
+ 70,71,0,91,92,75,0,0,78,79,
+ 80,81,82,83,84,85,86,87,88,89,
+ 0,1,2,3,4,5,6,7,8,9,
+ 10,11,12,13,14,15,16,17,18,19,
+ 20,21,22,23,24,25,26,27,28,29,
+ 30,31,32,33,34,35,36,37,38,39,
+ 40,41,42,43,44,45,46,47,48,49,
+ 50,51,52,53,54,55,56,57,58,73,
+ 73,61,62,63,64,65,66,67,0,0,
+ 70,71,0,91,92,75,0,0,78,79,
+ 80,81,82,83,84,85,86,87,88,89,
+ 0,1,2,3,4,5,6,7,8,9,
+ 10,11,12,13,14,15,16,17,18,19,
+ 20,21,22,23,24,25,26,27,28,29,
+ 30,31,32,33,34,35,36,37,38,39,
+ 40,41,42,43,44,45,46,47,48,49,
+ 50,51,52,53,54,55,56,57,58,0,
+ 73,61,62,63,64,65,66,67,0,10,
+ 70,71,0,91,92,75,4,0,78,79,
+ 80,81,82,83,84,85,86,87,88,89,
+ 0,1,2,3,4,5,6,7,8,9,
+ 28,11,12,13,14,15,16,17,18,19,
+ 20,21,22,23,24,25,26,27,28,29,
+ 30,0,32,33,34,35,36,37,38,39,
+ 40,41,42,43,44,45,46,47,48,49,
+ 50,51,52,53,54,55,56,57,58,72,
+ 0,61,62,63,64,0,1,2,3,4,
+ 5,6,7,8,9,10,11,12,13,14,
+ 15,16,17,18,19,20,21,22,23,24,
+ 121,60,27,28,29,0,31,0,0,34,
+ 35,36,37,38,39,40,41,42,10,0,
+ 0,1,2,0,5,6,7,4,8,9,
+ 25,26,0,58,59,0,61,62,63,31,
+ 65,66,67,0,1,2,27,28,29,74,
+ 0,8,77,34,35,36,37,38,39,40,
+ 41,42,0,1,2,90,0,1,2,3,
+ 4,5,6,7,8,9,0,11,12,3,
+ 72,106,107,108,0,1,2,3,4,5,
+ 6,7,8,9,10,11,12,13,14,15,
+ 16,17,18,19,20,21,22,23,24,102,
+ 60,27,28,29,79,31,0,0,34,35,
+ 36,37,38,39,40,41,42,0,1,2,
+ 3,4,5,6,7,8,9,0,11,12,
+ 74,0,58,59,68,61,62,63,0,65,
+ 66,67,4,5,6,7,124,0,74,11,
+ 12,77,0,0,1,2,3,4,11,12,
+ 0,8,9,3,90,5,6,7,0,0,
+ 10,11,12,5,6,7,0,1,2,73,
+ 106,107,108,0,8,25,26,60,5,6,
+ 7,31,32,33,0,27,28,29,91,92,
+ 73,0,34,35,36,37,38,39,40,41,
+ 42,0,1,2,0,4,5,6,7,0,
+ 60,68,11,12,10,98,99,0,68,69,
+ 3,12,72,73,74,59,76,77,0,1,
+ 2,3,4,5,6,7,8,9,0,11,
+ 12,91,92,93,94,95,96,97,98,99,
+ 100,101,102,103,104,105,0,1,2,109,
+ 110,111,112,113,114,115,116,117,118,119,
+ 120,121,0,123,124,3,72,5,6,7,
+ 0,77,10,11,12,5,6,7,0,1,
+ 2,0,4,5,6,7,68,25,26,11,
+ 12,10,0,31,32,33,0,27,28,29,
+ 4,5,6,7,34,35,36,37,38,39,
+ 40,41,42,0,1,2,0,4,5,6,
+ 7,0,60,0,11,12,3,11,100,101,
+ 68,69,11,0,72,73,74,4,76,77,
+ 0,1,2,3,4,5,6,7,8,9,
+ 69,11,12,91,92,93,94,95,96,97,
+ 98,99,100,101,102,103,104,105,0,1,
+ 2,109,110,111,112,113,114,115,116,117,
+ 118,119,120,121,0,123,124,0,1,2,
+ 3,4,5,6,7,8,9,10,11,12,
+ 13,14,15,16,17,18,19,20,21,22,
+ 23,24,96,97,27,28,29,0,31,0,
+ 0,34,35,36,37,38,39,40,41,42,
+ 13,0,12,0,1,2,5,6,7,0,
+ 0,1,2,4,60,58,59,0,61,62,
+ 63,0,65,66,67,4,0,0,27,28,
+ 29,5,6,7,77,34,35,36,37,38,
+ 39,40,41,42,0,58,59,90,0,1,
+ 2,3,4,5,6,7,8,9,10,11,
+ 12,13,14,15,16,17,18,19,20,21,
+ 22,23,24,70,71,27,28,29,0,31,
+ 70,71,34,35,36,37,38,39,40,41,
+ 42,0,103,76,0,0,1,2,3,4,
+ 5,6,7,8,9,11,58,59,60,61,
+ 62,63,0,65,66,67,0,1,2,3,
+ 4,0,105,0,8,9,10,110,111,112,
+ 113,114,115,116,117,118,119,120,90,0,
+ 1,2,3,4,5,6,7,8,9,10,
+ 11,12,13,14,15,16,17,18,19,20,
+ 21,22,23,24,0,0,27,28,29,74,
+ 31,93,60,34,35,36,37,38,39,40,
+ 41,42,0,60,68,69,0,0,72,73,
+ 96,97,76,0,103,0,3,58,59,4,
+ 61,62,63,10,65,66,67,25,26,93,
+ 0,25,26,0,0,1,77,30,0,1,
+ 2,3,4,10,10,60,8,9,10,90,
+ 0,1,2,3,4,5,6,7,8,9,
+ 10,11,12,13,14,15,16,17,18,19,
+ 20,21,22,23,24,60,0,27,28,29,
+ 0,31,69,0,34,35,36,37,38,39,
+ 40,41,42,0,1,2,3,4,5,6,
+ 7,8,9,69,11,12,68,69,58,59,
+ 77,61,62,63,0,65,66,67,0,1,
+ 2,0,4,5,6,7,0,77,0,1,
+ 2,3,4,5,6,7,8,9,0,59,
+ 90,0,1,2,3,4,5,6,7,8,
+ 9,10,11,12,13,14,15,16,17,18,
+ 19,20,21,22,23,24,0,74,27,28,
+ 29,0,31,0,60,34,35,36,37,38,
+ 39,40,41,42,0,1,2,3,4,5,
+ 6,7,8,9,68,11,12,0,60,58,
+ 59,4,61,62,63,0,65,66,67,0,
+ 1,2,74,4,5,6,7,0,77,10,
+ 11,12,0,1,2,28,4,5,6,7,
+ 13,90,0,1,2,3,4,5,6,7,
+ 8,9,10,11,12,13,14,15,16,17,
+ 18,19,20,21,22,23,24,0,74,27,
+ 28,29,0,31,93,60,34,35,36,37,
+ 38,39,40,41,42,58,59,104,69,0,
+ 1,2,3,4,5,6,7,8,9,10,
+ 58,59,0,61,62,63,0,65,66,67,
+ 4,0,93,106,107,108,5,6,7,0,
+ 31,0,1,2,3,4,5,6,7,8,
+ 9,59,90,0,1,2,3,4,5,6,
+ 7,8,9,10,11,12,13,14,15,16,
+ 17,18,19,20,21,22,23,24,0,0,
+ 27,28,29,4,31,0,60,34,35,36,
+ 37,38,39,40,41,42,0,1,2,3,
+ 4,5,6,7,8,9,0,0,0,3,
+ 0,58,59,0,61,62,63,10,65,66,
+ 67,0,1,2,3,4,5,6,7,0,
+ 1,2,11,12,5,6,7,59,32,33,
+ 11,102,0,90,0,1,2,3,4,5,
+ 6,7,8,9,10,11,12,13,14,15,
+ 16,17,18,19,20,21,22,23,24,0,
+ 74,27,28,29,68,31,69,0,34,35,
+ 36,37,38,39,40,41,42,10,59,68,
+ 0,1,2,3,4,5,6,7,8,9,
+ 93,0,58,59,0,61,62,63,31,65,
+ 66,67,0,1,2,109,4,0,105,0,
+ 8,9,3,110,0,1,2,3,4,123,
+ 13,0,8,9,90,11,12,13,14,15,
+ 16,17,18,19,20,21,22,23,24,25,
+ 26,0,1,2,30,4,32,33,0,8,
+ 9,30,0,5,6,7,0,43,44,45,
+ 46,47,48,49,50,51,52,53,54,55,
+ 56,57,65,0,1,2,3,4,64,0,
+ 66,8,9,0,70,71,0,1,2,3,
+ 4,100,101,10,8,9,0,11,12,13,
+ 14,15,16,17,18,19,20,21,22,23,
+ 24,25,26,0,1,2,30,0,32,33,
+ 0,8,9,3,0,1,74,0,72,43,
+ 44,45,46,47,48,49,50,51,52,53,
+ 54,55,56,57,0,1,2,3,4,0,
+ 64,27,8,9,58,0,70,71,75,73,
+ 0,1,2,3,4,0,1,2,8,9,
+ 10,11,12,13,14,15,16,17,18,19,
+ 20,21,22,23,24,25,26,60,68,0,
+ 30,0,32,33,5,6,7,0,0,10,
+ 73,10,0,43,44,45,46,47,48,49,
+ 50,51,52,53,54,55,56,57,0,0,
+ 31,0,31,68,64,98,99,0,10,10,
+ 0,1,2,3,4,75,0,77,8,9,
+ 13,11,12,13,14,15,16,17,18,19,
+ 20,21,22,23,24,25,26,0,1,2,
+ 30,72,32,33,0,1,2,10,4,5,
+ 6,7,74,43,44,45,46,47,48,49,
+ 50,51,52,53,54,55,56,57,69,68,
+ 93,72,0,75,64,0,1,2,3,4,
+ 70,71,0,8,9,3,11,12,13,14,
+ 15,16,17,18,19,20,21,22,23,24,
+ 25,26,0,59,0,30,0,32,33,0,
+ 1,2,75,4,5,6,7,11,43,44,
+ 45,46,47,48,49,50,51,52,53,54,
+ 55,56,57,0,1,2,0,1,0,64,
+ 0,1,2,3,4,70,71,11,8,9,
+ 0,11,12,13,14,15,16,17,18,19,
+ 20,21,22,23,24,25,26,0,59,0,
+ 30,0,32,33,3,0,1,2,106,107,
+ 108,10,78,43,44,45,46,47,48,49,
+ 50,51,52,53,54,55,56,57,60,30,
+ 0,0,96,97,64,0,1,2,3,4,
+ 70,71,0,8,9,10,11,12,13,14,
+ 15,16,17,18,19,20,21,22,23,24,
+ 25,26,0,1,59,30,0,32,33,68,
+ 69,0,10,72,73,0,1,2,43,44,
+ 45,46,47,48,49,50,51,52,53,54,
+ 55,56,57,0,1,2,3,4,27,64,
+ 29,8,9,0,1,2,3,4,0,0,
+ 75,8,9,10,11,12,13,14,15,16,
+ 17,18,19,20,21,22,23,24,25,26,
+ 0,69,0,30,59,32,33,5,6,7,
+ 10,0,0,0,3,3,43,44,45,46,
+ 47,48,49,50,51,52,53,54,55,56,
+ 57,31,0,0,122,3,0,64,60,3,
+ 0,0,1,2,3,4,10,68,75,8,
+ 9,10,11,12,13,14,15,16,17,18,
+ 19,20,21,22,23,24,25,26,0,1,
+ 2,30,4,32,33,0,8,9,0,0,
+ 5,6,7,0,43,44,45,46,47,48,
+ 49,50,51,52,53,54,55,56,57,0,
+ 1,2,3,4,68,69,0,8,9,3,
+ 11,12,13,14,15,16,17,18,19,20,
+ 21,22,23,24,25,26,0,59,0,30,
+ 0,32,33,3,0,60,0,1,2,0,
+ 1,2,43,44,45,46,47,48,49,50,
+ 51,52,53,54,55,56,57,0,1,2,
+ 3,4,121,64,0,8,9,3,11,12,
+ 13,14,15,16,17,18,19,20,21,22,
+ 23,24,25,26,0,1,2,30,4,32,
+ 33,0,8,9,3,59,0,0,59,3,
+ 43,44,45,46,47,48,49,50,51,52,
+ 53,54,55,56,57,0,1,2,3,4,
+ 0,0,0,8,9,68,11,12,13,14,
+ 15,16,17,18,19,20,21,22,23,24,
+ 25,26,0,59,0,30,0,32,33,0,
+ 0,0,1,2,10,0,10,60,43,44,
+ 45,46,47,48,49,50,51,52,53,54,
+ 55,56,57,0,0,31,3,0,4,64,
+ 3,8,60,0,11,12,0,1,2,3,
+ 4,0,1,2,8,9,10,76,25,26,
+ 0,1,2,0,0,32,33,0,1,2,
+ 59,4,5,6,7,60,43,31,11,12,
+ 0,1,2,77,0,76,76,0,73,5,
+ 6,7,0,60,60,0,0,0,3,3,
+ 3,68,10,70,71,72,73,64,0,76,
+ 59,0,0,98,99,0,5,6,7,59,
+ 5,6,7,60,91,92,0,94,0,96,
+ 97,98,99,100,101,102,103,104,105,59,
+ 0,0,109,3,111,112,113,114,115,116,
+ 117,118,119,120,0,1,2,3,4,72,
+ 0,69,8,9,72,11,12,13,14,15,
+ 16,17,18,19,20,21,22,23,24,25,
+ 26,0,0,0,30,0,32,33,5,6,
+ 7,10,10,0,68,10,68,43,44,45,
+ 46,47,48,49,50,51,52,53,54,55,
+ 56,57,0,1,2,3,4,76,0,0,
+ 8,9,29,11,12,13,14,15,16,17,
+ 18,19,20,21,22,23,24,25,26,0,
+ 0,0,30,0,32,33,5,6,7,10,
+ 69,69,0,72,69,43,44,45,46,47,
+ 48,49,50,51,52,53,54,55,56,57,
+ 0,1,2,3,4,0,0,0,8,9,
+ 3,11,12,13,14,15,16,17,18,19,
+ 20,21,22,23,24,25,26,0,0,0,
+ 30,0,32,33,5,6,7,10,69,0,
+ 0,0,72,43,44,45,46,47,48,49,
+ 50,51,52,53,54,55,56,57,0,1,
+ 2,3,4,0,0,0,8,9,0,11,
+ 12,13,14,15,16,17,18,19,20,21,
+ 22,23,24,25,26,0,0,0,30,0,
+ 32,33,5,6,7,10,69,0,0,0,
+ 72,43,44,45,46,47,48,49,50,51,
+ 52,53,54,55,56,57,0,1,2,0,
+ 4,5,6,7,0,0,0,3,3,13,
+ 14,15,16,17,18,19,20,21,22,23,
+ 24,76,74,27,28,29,0,0,0,3,
+ 34,35,36,37,38,39,40,41,42,0,
+ 74,72,77,0,0,0,0,3,0,3,
+ 72,3,0,76,58,76,0,61,62,63,
+ 0,1,2,0,4,5,6,7,0,30,
+ 0,3,0,13,14,15,16,17,18,19,
+ 20,21,22,23,24,0,0,27,28,29,
+ 0,0,0,3,34,35,36,37,38,39,
+ 40,41,42,0,1,2,3,4,5,6,
+ 7,8,9,10,11,12,0,74,58,74,
+ 0,61,62,63,0,0,74,3,122,0,
+ 27,28,29,0,31,0,0,34,35,36,
+ 37,38,39,40,41,42,0,1,2,3,
+ 4,5,6,7,8,9,10,11,12,30,
+ 0,76,76,60,0,0,0,76,0,0,
+ 0,68,69,27,28,29,10,31,122,0,
+ 34,35,36,37,38,39,40,41,42,0,
+ 0,0,0,60,5,6,7,125,0,0,
+ 0,0,0,14,15,16,17,18,19,20,
+ 21,22,23,24,68,69,27,28,29,0,
+ 0,0,0,34,35,36,37,38,39,40,
+ 41,42,0,0,0,69,0,0,0,0,
+ 74,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0
+ };
+ };
+ public final static char termCheck[] = TermCheck.termCheck;
+ public final int termCheck(int index) { return termCheck[index]; }
+
+ public interface TermAction {
+ public final static char termAction[] = {0,
+ 6367,6332,6190,6190,6190,6271,6190,6190,6190,6190,
+ 6348,6190,6190,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,6336,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 6367,1,1,1,1,2204,6540,2526,1450,381,
+ 1,1,6367,5858,5855,6378,6405,6374,591,3564,
+ 3090,2437,3063,3469,3657,3537,1275,3516,3434,3515,
+ 10,6351,6351,6351,6351,6351,6351,6351,6351,6351,
+ 6351,6351,6351,6351,6351,6351,6351,6351,6351,6351,
+ 6351,6351,6351,6351,6351,6351,6351,6351,6351,6351,
+ 6351,6351,6351,6351,6351,6351,6351,6351,6351,6351,
+ 6351,6351,6351,6351,6351,6351,6351,6351,6351,6351,
+ 6351,6351,6351,6351,6351,6351,6351,6351,6351,6367,
+ 135,6351,6351,6351,6351,6351,6351,6351,109,6367,
+ 6351,6351,6367,5858,5855,6351,6405,6351,6351,6351,
+ 6351,6351,6351,6351,6351,6351,6351,6351,6351,6351,
+ 8,6354,6354,6354,6354,6354,6354,6354,6354,6354,
+ 6354,6354,6354,6354,6354,6354,6354,6354,6354,6354,
+ 6354,6354,6354,6354,6354,6354,6354,6354,6354,6354,
+ 6354,6354,6354,6354,6354,6354,6354,6354,6354,6354,
+ 6354,6354,6354,6354,6354,6354,6354,6354,6354,6354,
+ 6354,6354,6354,6354,6354,6354,6354,6354,6354,6367,
+ 3656,6354,6354,6354,6354,6354,6354,6354,6367,112,
+ 6354,6354,4917,4939,2664,6354,6367,6354,6354,6354,
+ 6354,6354,6354,6354,6354,6354,6354,6354,6354,6354,
+ 6367,6332,6190,6190,6190,6271,6190,6190,6190,6190,
+ 6339,6190,6190,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,6336,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,2662,
+ 6367,1,1,1,1,2204,6540,2526,6367,6367,
+ 1,1,119,4917,4939,6378,6367,6367,591,3564,
+ 3090,2437,3063,3469,3657,3537,1275,3516,3434,3515,
+ 6367,6332,6190,6190,6190,6271,6190,6190,6190,6190,
+ 6339,6190,6190,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,6336,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,2640,
+ 5189,1,1,1,1,2204,6540,2526,6367,6367,
+ 1,1,111,4034,4174,6378,6367,6367,591,3564,
+ 3090,2437,3063,3469,3657,3537,1275,3516,3434,3515,
+ 6367,6332,6190,6190,6190,6271,6190,6190,6190,6190,
+ 6339,6190,6190,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,6336,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,2640,
+ 3713,1,1,1,1,2204,6540,2526,6367,6367,
+ 1,1,6367,6381,6382,6378,4917,4939,591,3564,
+ 3090,2437,3063,3469,3657,3537,1275,3516,3434,3515,
+ 6367,6332,6190,6190,6190,6271,6190,6190,6190,6190,
+ 6339,6190,6190,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,6336,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,6367,
+ 6367,1,1,1,1,2204,6540,2526,6367,6367,
+ 1,1,6367,6105,6102,6378,6367,155,591,3564,
+ 3090,2437,3063,3469,3657,3537,1275,3516,3434,3515,
+ 6367,6332,6190,6190,6190,6271,6190,6190,6190,6190,
+ 6339,6190,6190,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,6336,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1550,
+ 2114,1,1,1,1,2204,6540,2526,110,6367,
+ 1,1,48,6105,6102,6378,6367,6367,591,3564,
+ 3090,2437,3063,3469,3657,3537,1275,3516,3434,3515,
+ 6367,6332,6190,6190,6190,6271,6190,6190,6190,6190,
+ 6339,6190,6190,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,6336,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,2687,
+ 2741,1,1,1,1,2204,6540,2526,6367,6367,
+ 1,1,4917,4939,308,6378,6367,1398,591,3564,
+ 3090,2437,3063,3469,3657,3537,1275,3516,3434,3515,
+ 6367,6332,6190,6190,6190,6271,6190,6190,6190,6190,
+ 6339,6190,6190,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,6336,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,2753,
+ 1140,1,1,1,1,2204,6540,2526,6367,6367,
+ 1,1,123,6367,6367,6378,2940,1404,591,3564,
+ 3090,2437,3063,3469,3657,3537,1275,3516,3434,3515,
+ 6367,6332,6190,6190,6190,6271,6190,6190,6190,6190,
+ 6339,6190,6190,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,6336,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,6367,
+ 6367,1,1,1,1,2204,6540,2526,6367,6367,
+ 1,1,122,4034,4174,6378,6367,6367,591,3564,
+ 3090,2437,3063,3469,3657,3537,1275,3516,3434,3515,
+ 6367,6332,6190,6190,6190,6271,6190,6190,6190,6190,
+ 6339,6190,6190,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,6336,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,6876,
+ 6805,1,1,1,1,2204,6540,2526,6367,6367,
+ 1,1,121,4034,4174,6378,6367,6367,591,3564,
+ 3090,2437,3063,3469,3657,3537,1275,3516,3434,3515,
+ 6367,3492,1,1,1,724,1,1,1,1,
+ 3505,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,6376,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,6367,
+ 6819,1,1,1,1,2204,6540,2526,6367,6371,
+ 1,1,39,4034,4174,6378,6405,512,591,3564,
+ 3090,2437,3063,3469,3657,3537,1275,3516,3434,3515,
+ 39,5858,5855,5639,1387,2118,2090,2110,4709,3720,
+ 1915,4807,4829,944,6629,6627,6636,6635,6631,6632,
+ 6630,6633,6634,6637,6628,4772,4739,6701,6625,6702,
+ 6386,6367,4873,4851,6619,6626,6622,6598,6624,6623,
+ 6620,6621,6599,2987,948,1023,6388,998,5218,1016,
+ 6389,6387,922,6383,6384,6385,3664,4593,6762,967,
+ 6367,3702,6763,6764,1503,6367,6193,6193,227,6186,
+ 6190,6190,6190,227,227,6197,227,227,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 6370,3137,1,1,1,116,227,131,6367,1,
+ 1,1,1,1,1,1,1,1,6377,222,
+ 38,5876,5873,39,5968,5962,5965,6405,5870,3720,
+ 4323,4300,6367,1,6183,6367,1,1,1,6376,
+ 1322,6776,1184,6367,6381,6382,6701,6625,6702,227,
+ 6367,1450,413,6619,6626,6622,6598,6624,6623,6620,
+ 6621,6599,394,6381,6382,6864,6367,5946,5942,5252,
+ 5950,6162,6168,6165,791,3720,344,6262,6262,2232,
+ 3076,6799,6800,6801,6367,6193,6193,227,6186,6190,
+ 6190,6190,227,227,6241,227,227,1,1,1,
+ 1,1,1,1,1,1,1,1,1,2895,
+ 3398,1,1,1,3722,227,6367,120,1,1,
+ 1,1,1,1,1,1,1,306,5946,5942,
+ 5252,5950,6162,6168,6165,791,3720,124,6262,6262,
+ 2249,6367,1,6183,634,1,1,1,39,1322,
+ 6776,1184,6405,2118,2090,2110,5854,6367,227,328,
+ 328,412,6367,1,5946,5942,3322,5950,2521,6693,
+ 33,791,3720,5897,6864,5897,5897,5897,223,6367,
+ 5897,5897,5897,5977,5971,5974,37,6177,6177,5005,
+ 6799,6800,6801,582,6177,5897,5897,3633,2118,2090,
+ 2110,5897,5897,5897,6367,6701,6625,6702,4034,4174,
+ 5879,6367,6619,6626,6622,6598,6624,6623,6620,6621,
+ 6599,441,1,1,6367,1,5882,5882,5882,129,
+ 5897,634,5882,5882,6375,3571,3533,89,5897,5897,
+ 5891,3015,5897,5897,5897,1573,5897,5897,342,5858,
+ 5855,3322,1387,2118,2090,2110,791,3720,127,328,
+ 328,5897,5897,5897,5897,5897,5897,5897,5897,5897,
+ 5897,5897,5897,5897,5897,5897,36,6217,6214,5897,
+ 5897,5897,5897,5897,5897,5897,5897,5897,5897,5897,
+ 5897,5897,6367,5897,5897,5900,1092,5900,5900,5900,
+ 224,6374,5900,5900,5900,5998,5992,5995,442,39,
+ 39,1,6405,6135,6141,6138,634,5900,5900,6144,
+ 6144,159,6367,5900,5900,5900,392,6701,6625,6702,
+ 385,2118,2090,2110,6619,6626,6622,6598,6624,6623,
+ 6620,6621,6599,90,1,1,113,1,6180,6180,
+ 6180,6367,5900,6367,6180,6180,1827,4649,3273,3240,
+ 5900,5900,2864,6367,5900,5900,5900,867,5900,5900,
+ 6367,5946,5942,5252,5950,6162,6168,6165,791,3720,
+ 159,6278,6278,5900,5900,5900,5900,5900,5900,5900,
+ 5900,5900,5900,5900,5900,5900,5900,5900,288,6381,
+ 6382,5900,5900,5900,5900,5900,5900,5900,5900,5900,
+ 5900,5900,5900,5900,6367,5900,5900,6367,6190,6190,
+ 227,6190,6271,6190,6190,227,227,6275,227,227,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,4626,687,1,1,1,1,227,133,
+ 130,1,1,10613,1,1,1,1,1,1,
+ 6284,225,3015,6367,6381,6382,6010,6004,6007,6367,
+ 6367,6105,6102,2630,3858,1,6268,137,1,1,
+ 1,6367,2184,6576,2526,1592,328,6367,6701,6625,
+ 6702,2118,2090,2110,218,6619,6626,6622,6598,6624,
+ 6623,6620,6621,6599,6367,6287,3380,6864,6367,6190,
+ 6190,227,6190,6271,6190,6190,227,227,227,227,
+ 227,1,1,1,1,1,1,1,1,1,
+ 1,1,1,4895,933,1,1,1,355,227,
+ 4895,933,1,1,10613,1,1,1,1,1,
+ 1,134,2713,2067,115,1,5946,5942,5252,5950,
+ 6162,6168,6165,791,3720,4649,1,6268,3145,1,
+ 1,1,6367,2184,6576,2526,1,5946,5942,3322,
+ 5950,6367,2549,29,791,3720,364,3860,2020,1973,
+ 1926,1879,1832,1785,1738,1691,1644,1597,6864,6367,
+ 6190,6190,227,6190,6271,6190,6190,227,227,6281,
+ 227,227,1,1,1,1,1,1,1,1,
+ 1,1,1,1,6367,437,1,1,1,2249,
+ 227,6721,5731,1,1,10613,1,1,1,1,
+ 1,1,118,5861,634,364,117,6367,364,364,
+ 4626,687,1299,6367,2713,393,2280,1,6268,384,
+ 1,1,1,6373,2184,6576,2526,4323,4300,364,
+ 6367,4323,4300,6367,6367,2936,217,1921,1,5946,
+ 5942,3322,5950,6375,6373,5864,791,3720,6108,6864,
+ 6367,6190,6190,227,6190,6271,6190,6190,227,227,
+ 6275,227,227,1,1,1,1,1,1,1,
+ 1,1,1,1,1,955,6367,1,1,1,
+ 37,227,6372,6367,1,1,10613,1,1,1,
+ 1,1,1,6367,5946,5942,5252,5950,6162,6168,
+ 6165,791,3720,6372,6278,6278,634,6111,1,6268,
+ 6374,1,1,1,451,2184,6576,2526,284,6001,
+ 6001,6367,281,2118,2090,2110,455,218,328,5858,
+ 5855,5252,1387,2118,2090,2110,791,3720,29,6403,
+ 6864,6367,6190,6190,227,6190,6271,6190,6190,227,
+ 227,6275,227,227,1,1,1,1,1,1,
+ 1,1,1,1,1,1,6367,2249,1,1,
+ 1,1,227,136,5867,1,1,10613,1,1,
+ 1,1,1,1,6367,6308,6308,6308,6308,6308,
+ 6308,6308,6308,6308,5885,6308,6308,39,955,1,
+ 6268,6405,1,1,1,384,2184,6576,2526,1,
+ 6174,6174,421,6171,6162,6168,6165,1,218,360,
+ 328,328,579,6159,6159,1075,584,2118,2090,2110,
+ 6284,6864,6367,6190,6190,227,6190,6271,6190,6190,
+ 227,227,227,227,227,1,1,1,1,1,
+ 1,1,1,1,1,1,1,6367,6308,1,
+ 1,1,47,227,6723,5894,1,1,10613,1,
+ 1,1,1,1,1,6287,3380,2664,360,1,
+ 5946,5942,5252,5950,6162,6168,6165,791,3720,306,
+ 1,6268,6367,1,1,1,48,2184,6576,2526,
+ 6382,392,360,6799,6800,6801,2118,2090,2110,132,
+ 306,582,5858,5855,5252,1387,2118,2090,2110,791,
+ 3720,1211,6864,6367,6190,6190,227,6190,6271,6190,
+ 6190,227,227,227,227,227,1,1,1,1,
+ 1,1,1,1,1,1,1,1,6367,6367,
+ 1,1,1,2150,227,6367,6382,1,1,10613,
+ 1,1,1,1,1,1,1,5946,5942,5252,
+ 5950,6162,6168,6165,791,3720,74,1,6367,2780,
+ 6367,1,6268,137,1,1,1,360,2184,6576,
+ 2526,342,39,39,3062,6405,2118,2090,2110,37,
+ 6177,6177,328,328,2118,2090,2110,3204,6429,6430,
+ 328,2895,6367,6864,6367,6190,6190,227,6190,6271,
+ 6190,6190,227,227,227,227,227,1,1,1,
+ 1,1,1,1,1,1,1,1,1,6367,
+ 2249,1,1,1,3452,227,360,402,1,1,
+ 10613,1,1,1,1,1,1,6226,6403,634,
+ 1,5946,5942,5252,5950,6162,6168,6165,791,3720,
+ 360,128,1,6268,6367,1,1,1,6229,2184,
+ 6576,2526,6367,5858,5855,728,1387,299,2549,6367,
+ 791,3720,710,3860,6367,1,1,1,1,801,
+ 6665,6367,1,1,6864,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,6367,5858,5855,1,1387,1,1,581,791,
+ 3720,1809,6367,2118,2090,2110,359,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1863,1,5946,5942,5252,5950,1,6367,
+ 6953,791,3720,6367,1,1,1,5946,5942,5639,
+ 5950,3273,3240,6379,4709,3720,6367,4807,4829,5906,
+ 5933,5939,5912,5915,5927,5924,5930,5921,5918,5909,
+ 5936,4772,4739,6367,6381,6382,6386,6367,4873,4851,
+ 315,791,3720,6244,543,6911,6765,126,1039,2987,
+ 948,1023,6388,998,5218,1016,6389,6387,922,6383,
+ 6384,6385,3664,4593,1,5946,5942,6232,5950,6367,
+ 1503,6912,6238,6235,1526,454,39,39,6378,513,
+ 39,5858,5855,5639,1387,6367,10128,9150,4709,3720,
+ 6361,4807,4829,618,6629,6627,6636,6635,6631,6632,
+ 6630,6633,6634,6637,6628,4772,4739,3633,634,6367,
+ 6386,6367,4873,4851,6317,6325,6321,1,425,6329,
+ 6129,6377,6367,2987,948,1023,6388,998,5218,1016,
+ 6389,6387,922,6383,6384,6385,3664,4593,1,6367,
+ 6329,345,6376,5888,1503,3571,3533,299,6311,6373,
+ 139,5858,5855,5639,1387,6345,6367,6374,4709,3720,
+ 6665,4807,4829,618,6629,6627,6636,6635,6631,6632,
+ 6630,6633,6634,6637,6628,4772,4739,6367,6381,6382,
+ 6386,6329,4873,4851,391,5989,5989,6379,281,5980,
+ 5986,5983,1325,2987,948,1023,6388,998,5218,1016,
+ 6389,6387,922,6383,6384,6385,3664,4593,6372,634,
+ 3711,1581,436,6378,1503,1,5946,5942,5639,5950,
+ 39,39,6367,4709,3720,2846,4807,4829,5906,5933,
+ 5939,5912,5915,5927,5924,5930,5921,5918,5909,5936,
+ 4772,4739,6367,281,1,6386,114,4873,4851,580,
+ 6156,6156,6378,584,6147,6153,6150,4649,2987,948,
+ 1023,6388,998,5218,1016,6389,6387,922,6383,6384,
+ 6385,3664,4593,6367,10128,9150,6367,3599,6367,1503,
+ 549,5858,5855,5639,1387,39,39,3706,4709,3720,
+ 6367,4807,4829,618,6629,6627,6636,6635,6631,6632,
+ 6630,6633,6634,6637,6628,4772,4739,6367,584,565,
+ 6386,1,4873,4851,3062,6367,10617,10617,6799,6800,
+ 6801,338,3125,2987,948,1023,6388,998,5218,1016,
+ 6389,6387,922,6383,6384,6385,3664,4593,955,3454,
+ 6367,6367,4626,687,1503,39,5858,5855,5639,1387,
+ 39,39,6367,4709,3720,6342,4807,4829,618,6629,
+ 6627,6636,6635,6631,6632,6630,6633,6634,6637,6628,
+ 4772,4739,6367,2659,6403,6386,6367,4873,4851,634,
+ 338,333,6373,338,338,43,6126,6126,2987,948,
+ 1023,6388,998,5218,1016,6389,6387,922,6383,6384,
+ 6385,3664,4593,1,5946,5942,5252,5950,6701,1503,
+ 6702,791,3720,39,5858,5855,5639,1387,6367,98,
+ 6345,4709,3720,6342,4807,4829,618,6629,6627,6636,
+ 6635,6631,6632,6630,6633,6634,6637,6628,4772,4739,
+ 1,6372,414,6386,6123,4873,4851,2118,2090,2110,
+ 6377,235,1,6367,6114,5740,2987,948,1023,6388,
+ 998,5218,1016,6389,6387,922,6383,6384,6385,3664,
+ 4593,6376,6367,6367,3626,3952,1,1503,3145,3062,
+ 6367,39,5858,5855,5639,1387,6108,4378,6345,4709,
+ 3720,6371,4807,4829,618,6629,6627,6636,6635,6631,
+ 6632,6630,6633,6634,6637,6628,4772,4739,6367,5858,
+ 5855,6386,1387,4873,4851,392,5903,3720,6367,6367,
+ 2118,2090,2110,6367,2987,948,1023,6388,998,5218,
+ 1016,6389,6387,922,6383,6384,6385,3664,4593,39,
+ 5858,5855,5639,1387,634,6111,6367,4709,3720,4094,
+ 4807,4829,618,6629,6627,6636,6635,6631,6632,6630,
+ 6633,6634,6637,6628,4772,4739,6367,1019,6367,6386,
+ 6367,4873,4851,4217,6367,955,37,6177,6177,6367,
+ 6203,6200,2987,948,1023,6388,998,5218,1016,6389,
+ 6387,922,6383,6384,6385,3664,4593,39,5858,5855,
+ 5639,1387,6370,1503,6367,4709,3720,4244,4807,4829,
+ 618,6629,6627,6636,6635,6631,6632,6630,6633,6634,
+ 6637,6628,4772,4739,6367,5858,5855,6386,1387,4873,
+ 4851,6367,5903,3720,3383,1293,6367,72,6403,3971,
+ 2987,948,1023,6388,998,5218,1016,6389,6387,922,
+ 6383,6384,6385,3664,4593,39,5858,5855,5639,1387,
+ 6367,367,6367,4709,3720,1544,4807,4829,618,6629,
+ 6627,6636,6635,6631,6632,6630,6633,6634,6637,6628,
+ 4772,4739,6367,1238,1,6386,1,4873,4851,365,
+ 289,6367,6210,6206,189,125,6314,6259,2987,948,
+ 1023,6388,998,5218,1016,6389,6387,922,6383,6384,
+ 6385,3664,4593,1,48,189,1011,554,6381,1503,
+ 2156,6833,3107,529,6827,6831,1,5946,5942,6232,
+ 5950,45,6223,6223,6238,6235,6377,1346,6825,6826,
+ 6367,6203,6200,6367,6367,6856,6857,93,39,39,
+ 6403,6405,6247,6253,6250,3633,6834,6376,6256,6256,
+ 37,6177,6177,6374,577,1409,2302,287,6132,6290,
+ 6296,6293,6367,6836,6381,541,101,6367,1188,4028,
+ 2954,773,6373,1873,1962,6858,6837,3418,6367,6835,
+ 6220,576,6367,3571,3533,415,6299,6305,6302,6403,
+ 2118,2090,2110,3352,6847,6846,317,6859,97,6828,
+ 6829,6852,6853,6850,6851,6830,6832,6854,6855,6403,
+ 276,417,6860,6265,6840,6841,6842,6838,6839,6848,
+ 6849,6844,6843,6845,39,5858,5855,3227,1387,1497,
+ 6367,6372,4709,3720,1456,4807,4829,618,6629,6627,
+ 6636,6635,6631,6632,6630,6633,6634,6637,6628,4772,
+ 4739,6367,6367,310,6386,1,4873,4851,2118,2090,
+ 2110,6373,6373,560,634,6373,2208,2987,948,1023,
+ 6388,998,5218,1016,6389,6387,922,6383,6384,6385,
+ 3664,4593,39,5858,5855,3227,1387,2396,6367,6367,
+ 4709,3720,6926,4807,4829,618,6629,6627,6636,6635,
+ 6631,6632,6630,6633,6634,6637,6628,4772,4739,1,
+ 423,574,6386,6367,4873,4851,2118,2090,2110,525,
+ 6372,6372,6367,5783,6372,2987,948,1023,6388,998,
+ 5218,1016,6389,6387,922,6383,6384,6385,3664,4593,
+ 39,5858,5855,5639,1387,6367,6367,6367,4709,3720,
+ 3190,4807,4829,618,6629,6627,6636,6635,6631,6632,
+ 6630,6633,6634,6637,6628,4772,4739,1,446,573,
+ 6386,6367,4873,4851,2118,2090,2110,161,525,6367,
+ 6367,6367,2531,2987,948,1023,6388,998,5218,1016,
+ 6389,6387,922,6383,6384,6385,3664,4593,39,5858,
+ 5855,5639,1387,6367,6367,35,4709,3720,445,4807,
+ 4829,618,6629,6627,6636,6635,6631,6632,6630,6633,
+ 6634,6637,6628,4772,4739,8,6367,575,6386,305,
+ 4873,4851,2118,2090,2110,6364,161,505,563,503,
+ 1163,2987,948,1023,6388,998,5218,1016,6389,6387,
+ 922,6383,6384,6385,3664,4593,6367,5858,5855,6367,
+ 6405,2118,2090,2110,6367,6367,372,4700,3790,720,
+ 6629,6627,6636,6635,6631,6632,6630,6633,6634,6637,
+ 6628,2615,956,6701,6625,6702,566,6367,6367,3569,
+ 6619,6626,6622,6598,6624,6623,6620,6621,6599,6367,
+ 2343,3174,6364,6367,6367,6367,6367,5719,6367,5726,
+ 2468,4353,6367,5752,6762,5760,518,3702,6763,6764,
+ 239,6095,6091,6367,6099,6025,6019,6022,6367,3454,
+ 6367,5729,183,720,6082,6088,6061,6064,6076,6073,
+ 6079,6070,6067,6058,6085,6367,6367,6031,6037,6028,
+ 6367,507,6367,3955,6055,6034,6046,6016,6040,6043,
+ 6052,6049,6013,29,384,384,6120,384,384,384,
+ 384,384,384,6120,6120,6120,6367,3703,6762,3749,
+ 6367,3702,6763,6764,6367,6367,3795,5050,3626,1,
+ 384,384,384,2,6120,6367,6367,384,384,384,
+ 384,384,384,384,384,384,32,385,385,6117,
+ 385,385,385,385,385,385,6117,6117,6117,3304,
+ 6367,2615,2161,5861,6367,6367,6367,873,6367,6367,
+ 6367,6120,6120,385,385,385,6373,6117,3626,6367,
+ 385,385,385,385,385,385,385,385,385,221,
+ 6367,6367,6367,37,5959,5953,5956,6358,6367,6367,
+ 6367,6367,6367,6629,6627,6636,6635,6631,6632,6630,
+ 6633,6634,6637,6628,6117,6117,6701,6625,6702,6367,
+ 6367,6367,6367,6619,6626,6622,6598,6624,6623,6620,
+ 6621,6599,6367,6367,6367,6372,6367,6367,6367,6367,
+ 2140
+ };
+ };
+ public final static char termAction[] = TermAction.termAction;
+ public final int termAction(int index) { return termAction[index]; }
+
+ public interface Asb {
+ public final static char asb[] = {0,
+ 142,187,98,192,1138,670,670,670,670,995,
+ 1138,680,680,924,680,314,79,316,99,99,
+ 99,99,99,99,99,99,99,99,99,682,
+ 688,693,690,697,695,702,700,704,703,705,
+ 412,706,98,98,964,964,964,964,139,423,
+ 257,257,677,964,49,466,680,680,257,139,
+ 466,466,242,79,1096,963,1182,997,1026,98,
+ 680,682,200,200,423,98,99,99,99,99,
+ 99,99,99,99,99,99,99,99,99,99,
+ 99,99,99,99,99,98,98,98,98,98,
+ 98,98,98,98,98,98,98,99,466,656,
+ 656,656,656,581,466,257,257,1087,1015,1138,
+ 1138,1138,1026,401,1026,999,1026,915,1026,1010,
+ 995,139,49,49,257,670,99,1087,7,794,
+ 784,783,590,1033,1033,995,316,49,963,98,
+ 137,1178,136,138,136,466,49,690,690,688,
+ 688,688,695,695,695,695,693,693,700,697,
+ 697,703,702,704,531,705,1138,1138,1138,1138,
+ 139,139,656,655,656,677,1090,139,904,625,
+ 465,185,533,1001,580,999,399,995,915,139,
+ 139,581,656,242,49,721,466,796,798,139,
+ 1182,99,964,686,207,466,997,139,139,138,
+ 1182,98,98,98,98,98,1138,1138,79,1091,
+ 673,629,465,464,466,533,139,526,1188,663,
+ 581,401,643,139,581,139,466,788,773,787,
+ 798,581,137,466,686,1087,1178,997,139,137,
+ 466,466,466,466,423,423,1094,673,253,252,
+ 465,587,139,533,531,399,670,583,135,836,
+ 533,526,664,529,526,529,581,643,643,139,
+ 139,648,98,785,785,517,517,139,792,1087,
+ 321,466,139,686,687,686,98,207,1186,682,
+ 997,466,466,673,672,629,466,422,466,1182,
+ 537,401,656,670,136,658,838,1084,1138,529,
+ 529,529,529,139,643,587,738,586,648,98,
+ 98,798,139,1182,466,796,773,648,1068,686,
+ 423,99,49,1186,673,253,137,537,537,538,
+ 549,137,529,529,1084,729,99,531,753,761,
+ 139,1087,726,838,529,529,404,587,99,139,
+ 650,798,1084,648,687,466,49,422,730,587,
+ 185,1140,503,189,399,635,537,537,549,137,
+ 529,401,995,838,99,99,1178,1084,726,726,
+ 838,838,851,994,405,139,650,466,650,469,
+ 503,1138,857,995,587,655,670,1,1,730,
+ 401,60,851,139,1138,726,726,404,139,995,
+ 995,139,1138,743,650,538,537,730,752,767,
+ 729,1084,733,995,139,549,538,549,654,654,
+ 855,61,995,139,423,139,139,139,799,743,
+ 537,752,98,358,1084,752,196,907,195,139,
+ 139,549,964,964,855,60,531,99,531,730,
+ 59,1138,1138,1138,61,1138,139,861,730,730,
+ 139,401,466,139,139,253,745,587,466,587,
+ 401,1084,752,733,730,514,185,139,730,655,
+ 52,1138,52,61,531,61,79,79,77,913,
+ 79,730,730,759,855,964,745,587,358,140,
+ 466,730,834,321,61,466,1084,466,77,503,
+ 1138,466,855,358,466,1,466,466,1081,61,
+ 759,61,730,503,98,61,58,586,654,401,
+ 401,1083,98,59,423,730,466,585,357,136,
+ 61,466,730,585,585,61
+ };
+ };
+ public final static char asb[] = Asb.asb;
+ public final int asb(int index) { return asb[index]; }
+
+ public interface Asr {
+ public final static char asr[] = {0,
+ 73,76,72,1,2,0,70,71,3,13,
+ 45,49,47,44,52,15,24,14,20,18,
+ 19,21,22,17,16,23,53,54,55,30,
+ 51,46,50,8,9,4,32,33,12,11,
+ 25,26,43,48,57,56,1,2,121,10,
+ 0,90,106,107,108,59,74,122,125,77,
+ 66,78,67,65,80,82,88,86,79,84,
+ 85,87,89,75,81,83,31,10,5,34,
+ 58,27,61,35,36,37,38,39,40,41,
+ 62,42,63,28,29,6,7,64,70,71,
+ 45,49,47,44,52,15,24,14,20,18,
+ 19,21,22,17,16,23,53,54,55,30,
+ 51,46,50,3,32,33,12,11,25,26,
+ 43,48,57,56,13,4,9,8,2,1,
+ 0,14,15,44,70,16,45,46,17,18,
+ 19,71,9,47,20,21,48,49,50,64,
+ 51,52,13,22,23,24,53,54,55,1,
+ 2,3,32,33,12,11,25,26,8,43,
+ 4,56,57,66,30,0,124,0,3,29,
+ 0,121,31,124,72,69,10,74,0,9,
+ 4,59,8,1,2,0,94,25,26,96,
+ 97,91,92,60,98,99,100,101,102,103,
+ 104,105,110,74,93,76,111,112,113,114,
+ 115,116,117,118,119,120,121,77,31,95,
+ 124,73,5,1,2,12,11,4,6,7,
+ 68,3,69,10,72,0,5,34,14,15,
+ 58,27,44,16,45,61,35,36,46,17,
+ 37,38,18,19,39,40,47,20,21,48,
+ 41,49,62,50,64,51,42,52,13,63,
+ 22,28,23,29,24,53,54,55,30,3,
+ 32,33,12,11,25,26,43,73,4,56,
+ 57,6,7,9,8,1,2,71,70,0,
+ 5,34,14,15,58,27,16,61,35,36,
+ 17,37,38,18,19,39,40,20,21,41,
+ 62,42,13,63,22,28,23,29,24,1,
+ 2,4,6,7,93,0,77,70,71,64,
+ 32,33,12,11,25,26,8,43,48,57,
+ 56,3,4,9,53,54,55,30,51,46,
+ 50,15,24,14,20,18,19,21,22,17,
+ 16,23,13,45,49,47,44,52,1,2,
+ 75,10,0,28,1,2,4,106,107,108,
+ 0,5,73,74,93,121,77,31,6,7,
+ 124,72,14,15,44,70,16,45,46,17,
+ 18,19,71,9,47,20,21,48,49,50,
+ 64,51,52,13,22,23,24,53,54,55,
+ 30,2,32,33,12,11,25,26,8,43,
+ 4,56,57,3,1,69,10,0,34,14,
+ 15,58,27,16,61,35,90,36,17,37,
+ 38,18,19,39,65,40,20,21,41,62,
+ 59,42,13,63,22,67,28,23,29,24,
+ 66,75,5,10,12,31,6,7,8,9,
+ 2,4,3,1,11,0,78,3,73,93,
+ 76,72,69,31,68,6,7,5,10,75,
+ 74,0,106,107,108,74,77,9,10,3,
+ 12,11,8,31,67,65,90,66,5,34,
+ 14,15,58,27,16,61,35,36,17,37,
+ 38,18,19,39,40,20,21,41,62,42,
+ 13,63,22,28,23,29,24,6,7,4,
+ 1,2,59,0,31,72,77,10,0,5,
+ 34,14,15,27,16,35,36,17,37,38,
+ 18,19,39,9,40,20,21,41,42,22,
+ 28,23,29,24,1,2,68,12,11,8,
+ 4,31,6,7,69,10,3,0,10,72,
+ 69,1,27,0,9,1,2,8,4,13,
+ 65,0,1,2,10,77,0,27,29,64,
+ 10,93,69,76,72,73,0,10,74,75,
+ 78,0,4,10,74,75,6,7,5,60,
+ 0,64,27,9,29,8,1,2,4,78,
+ 75,123,109,32,33,68,3,95,94,11,
+ 96,97,25,26,92,91,60,98,99,100,
+ 101,12,102,103,104,73,93,69,124,76,
+ 111,112,113,114,115,116,117,118,119,120,
+ 74,121,77,105,110,6,7,5,72,31,
+ 10,0,10,74,69,30,0,10,72,77,
+ 76,0,27,29,64,78,73,74,93,69,
+ 75,3,5,10,72,31,6,7,76,0,
+ 74,5,68,6,7,60,10,72,31,76,
+ 3,0,5,12,11,6,7,9,8,4,
+ 1,2,3,68,73,76,72,10,69,93,
+ 0,8,9,3,68,11,12,93,5,34,
+ 14,15,27,16,61,35,36,17,37,38,
+ 18,19,39,40,20,21,41,62,42,13,
+ 63,22,28,23,29,24,1,2,4,6,
+ 7,69,10,58,0,31,10,3,9,8,
+ 74,12,11,4,1,2,6,7,5,0,
+ 10,75,72,0,122,0,10,75,76,0,
+ 14,15,44,70,16,45,46,17,18,19,
+ 71,9,47,20,21,48,49,50,64,51,
+ 52,13,22,23,24,53,54,55,30,1,
+ 2,3,32,33,25,26,8,43,4,56,
+ 57,31,10,11,12,0,10,74,72,69,
+ 3,0,79,0,4,10,75,6,7,5,
+ 1,2,0,71,70,25,26,11,96,97,
+ 102,12,103,8,43,76,60,73,114,115,
+ 111,112,113,119,118,120,92,91,116,117,
+ 100,101,98,99,104,105,32,33,72,94,
+ 109,68,3,5,34,14,15,58,27,16,
+ 61,35,36,17,37,38,18,19,39,40,
+ 20,21,41,62,42,13,63,22,23,29,
+ 24,6,7,28,1,2,4,0,59,4,
+ 5,10,74,75,6,7,1,2,0,13,
+ 61,58,62,63,15,24,14,20,18,19,
+ 21,22,17,16,23,78,74,93,121,77,
+ 75,124,123,95,109,94,32,33,25,26,
+ 96,97,91,92,60,73,98,99,100,101,
+ 102,103,104,105,110,76,111,112,113,114,
+ 115,116,117,118,119,120,72,34,27,35,
+ 36,37,38,39,40,41,42,28,29,31,
+ 10,69,68,8,9,3,1,2,4,12,
+ 6,7,5,11,0,70,71,32,33,12,
+ 11,25,26,8,43,48,57,56,4,9,
+ 53,54,55,30,51,46,50,15,24,14,
+ 20,18,19,21,22,17,16,23,13,45,
+ 49,47,44,52,68,1,2,3,0,16,
+ 61,35,17,37,38,18,19,39,40,20,
+ 21,41,62,42,13,63,22,28,23,29,
+ 24,27,58,15,14,34,10,3,12,31,
+ 67,65,90,36,66,60,4,5,11,6,
+ 7,9,1,2,59,8,0,4,10,74,
+ 75,6,7,5,0
+ };
+ };
+ public final static char asr[] = Asr.asr;
+ public final int asr(int index) { return asr[index]; }
+
+ public interface Nasb {
+ public final static char nasb[] = {0,
+ 29,12,84,12,12,12,12,12,12,88,
+ 12,12,12,223,12,159,288,55,84,84,
+ 84,84,253,84,84,84,84,84,84,12,
+ 12,12,12,12,12,12,12,12,12,12,
+ 84,12,84,206,48,48,48,48,55,111,
+ 193,193,116,5,23,229,12,12,193,257,
+ 229,229,175,1,84,70,53,12,12,206,
+ 12,12,37,37,111,206,84,84,84,84,
+ 84,84,84,84,84,84,84,84,84,84,
+ 84,84,84,84,84,84,84,84,84,84,
+ 84,84,84,84,84,84,206,84,229,12,
+ 12,12,12,65,229,43,43,267,250,12,
+ 12,12,251,221,251,148,251,148,251,244,
+ 10,55,23,23,43,12,84,267,18,174,
+ 68,68,12,12,12,10,55,23,48,105,
+ 159,58,158,55,158,229,23,12,12,12,
+ 12,12,12,12,12,12,12,12,12,12,
+ 12,12,12,12,12,12,12,12,12,12,
+ 180,11,12,12,12,280,172,55,12,229,
+ 32,12,193,179,88,172,76,88,172,55,
+ 11,12,12,278,23,12,229,265,193,55,
+ 53,84,48,193,62,229,12,11,55,163,
+ 53,84,206,206,206,206,12,12,43,148,
+ 193,131,128,12,229,271,180,148,148,12,
+ 231,221,193,231,52,180,229,12,186,12,
+ 241,51,180,229,135,280,58,12,257,180,
+ 229,229,229,229,111,111,12,133,229,12,
+ 229,124,55,211,12,96,12,12,92,195,
+ 271,148,148,193,172,193,52,193,258,11,
+ 180,193,84,12,12,68,68,55,185,267,
+ 241,229,180,193,114,12,206,280,164,12,
+ 12,229,229,193,133,131,229,84,229,53,
+ 193,221,12,12,88,193,141,188,12,193,
+ 193,90,90,180,258,124,12,12,133,84,
+ 84,193,11,53,229,265,153,193,12,135,
+ 111,84,23,164,133,229,159,234,193,260,
+ 193,231,193,121,155,211,84,12,103,12,
+ 55,267,148,166,90,90,99,124,84,258,
+ 193,241,167,133,114,229,23,84,211,124,
+ 12,260,196,35,76,92,260,234,241,159,
+ 121,150,72,142,84,84,213,155,172,148,
+ 166,12,12,88,79,231,27,229,193,220,
+ 141,12,12,88,124,12,12,16,16,211,
+ 150,123,12,231,12,148,172,137,231,88,
+ 88,11,12,193,27,260,193,211,148,94,
+ 12,166,183,88,231,241,260,193,12,12,
+ 193,203,72,11,111,11,231,231,227,133,
+ 234,172,105,82,142,148,229,12,12,231,
+ 97,241,48,48,119,216,12,84,12,211,
+ 12,12,12,12,217,12,258,209,211,211,
+ 258,13,229,11,11,229,193,124,229,193,
+ 221,166,172,183,211,12,183,97,211,12,
+ 25,12,12,217,12,217,292,292,239,12,
+ 292,211,211,12,193,48,27,124,193,12,
+ 229,211,12,48,217,229,188,229,284,193,
+ 12,229,119,82,229,16,229,229,193,217,
+ 12,217,211,142,206,217,25,124,12,13,
+ 13,186,84,12,108,211,229,126,81,158,
+ 217,229,211,126,12,217
+ };
+ };
+ public final static char nasb[] = Nasb.nasb;
+ public final int nasb(int index) { return nasb[index]; }
+
+ public interface Nasr {
+ public final static char nasr[] = {0,
+ 3,13,10,9,162,160,130,159,158,5,
+ 2,0,47,66,0,114,0,13,2,9,
+ 10,5,89,0,122,0,135,0,4,186,
+ 0,213,31,0,214,0,5,2,9,10,
+ 149,0,5,10,9,2,13,4,50,0,
+ 146,2,72,0,2,49,0,72,148,147,
+ 0,4,189,0,146,72,0,82,0,187,
+ 0,179,5,178,0,47,1,0,205,0,
+ 74,138,47,10,9,2,13,5,0,116,
+ 0,166,0,196,0,47,110,0,5,108,
+ 204,0,203,0,4,36,0,4,190,0,
+ 4,103,0,151,0,4,207,0,171,0,
+ 169,0,4,74,0,172,0,31,184,0,
+ 182,0,71,0,153,0,5,108,175,0,
+ 96,2,64,5,9,10,4,42,0,47,
+ 170,0,101,100,42,64,68,5,10,9,
+ 2,0,2,124,0,4,5,10,9,2,
+ 64,23,0,31,100,101,4,0,49,2,
+ 3,0,145,0,31,101,100,64,5,2,
+ 9,10,4,0,43,5,2,9,10,4,
+ 168,0,53,47,191,4,44,0,4,44,
+ 43,0,42,72,0,74,44,53,75,4,
+ 47,0,4,50,208,0,50,4,31,0,
+ 2,67,0,125,4,53,88,0,44,193,
+ 28,4,0,2,5,130,126,127,128,13,
+ 93,0,5,10,9,13,3,1,0,4,
+ 53,88,90,0,28,4,5,42,96,0,
+ 4,53,88,108,51,5,0,101,100,42,
+ 5,68,0,50,4,192,0,4,50,44,
+ 0,4,50,109,0
+ };
+ };
+ public final static char nasr[] = Nasr.nasr;
+ public final int nasr(int index) { return nasr[index]; }
+
+ public interface TerminalIndex {
+ public final static char terminalIndex[] = {0,
+ 113,114,2,31,46,126,127,13,79,115,
+ 10,9,100,48,52,60,68,74,75,86,
+ 87,102,105,107,11,12,54,104,106,112,
+ 120,7,8,47,64,66,70,73,76,83,
+ 89,98,14,55,61,67,84,88,90,94,
+ 97,99,109,110,111,122,123,53,93,19,
+ 63,91,101,95,77,128,103,1,118,58,
+ 78,44,20,30,121,33,119,96,108,49,
+ 50,56,57,59,69,71,72,85,92,65,
+ 17,18,32,6,4,15,16,21,22,23,
+ 24,25,26,27,28,80,81,82,5,29,
+ 34,35,36,37,38,39,40,41,42,43,
+ 117,51,3,129,62,116,124,125
+ };
+ };
+ public final static char terminalIndex[] = TerminalIndex.terminalIndex;
+ public final int terminalIndex(int index) { return terminalIndex[index]; }
+
+ public interface NonterminalIndex {
+ public final static char nonterminalIndex[] = {0,
+ 136,141,142,0,0,140,0,0,235,241,
+ 139,0,149,138,0,0,148,154,0,0,
+ 155,164,250,0,0,0,165,186,166,167,
+ 132,168,169,170,171,157,172,173,174,0,
+ 147,251,134,137,175,0,135,144,143,158,
+ 183,0,0,0,210,0,0,0,0,0,
+ 0,0,207,211,0,178,0,161,151,181,
+ 193,0,0,133,177,0,0,0,0,0,
+ 0,212,0,0,0,0,0,0,131,184,
+ 0,0,192,0,0,208,218,163,214,215,
+ 216,0,0,152,0,0,213,226,180,202,
+ 0,0,217,0,0,0,230,0,232,0,
+ 246,247,0,153,185,195,196,197,198,199,
+ 201,204,0,205,0,220,223,0,225,0,
+ 244,0,245,0,255,0,145,146,150,0,
+ 0,160,162,0,176,0,187,188,189,190,
+ 191,194,0,0,200,0,203,209,0,221,
+ 222,0,0,227,234,0,238,239,240,243,
+ 0,252,0,254,0,130,0,156,159,0,
+ 179,0,182,0,0,206,219,224,0,0,
+ 228,229,231,233,0,236,237,242,248,249,
+ 0,0,253,0,0,0,0,0,0
+ };
+ };
+ public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex;
+ public final int nonterminalIndex(int index) { return nonterminalIndex[index]; }
+
+ public interface ScopePrefix {
+ public final static char scopePrefix[] = {
+ 218,658,677,366,609,625,636,647,449,324,
+ 338,360,382,400,86,349,469,507,226,666,
+ 560,64,95,115,124,129,134,189,254,355,
+ 393,408,413,39,203,330,344,584,71,203,
+ 459,413,685,71,276,305,1,33,47,58,
+ 105,120,150,418,438,442,525,553,605,695,
+ 699,703,141,51,141,487,503,516,537,597,
+ 288,160,160,516,616,632,643,654,266,571,
+ 13,25,100,100,215,281,7,100,300,321,
+ 7,7,100,446,550,557,215,100,718,7,
+ 154,422,491,531,544,100,169,373,422,169,
+ 169,373,478,236,18,18,148,296,428,428,
+ 428,428,529,707,714,18,18,707,714,109,
+ 296,497,196,148,148,310
+ };
+ };
+ public final static char scopePrefix[] = ScopePrefix.scopePrefix;
+ public final int scopePrefix(int index) { return scopePrefix[index]; }
+
+ public interface ScopeSuffix {
+ public final static char scopeSuffix[] = {
+ 62,37,37,194,37,37,37,37,456,194,
+ 139,194,194,406,92,335,475,513,232,111,
+ 566,69,69,69,103,103,139,194,259,194,
+ 398,398,406,44,208,335,145,589,82,211,
+ 464,672,690,76,270,270,5,37,37,62,
+ 37,103,139,398,139,139,194,303,37,37,
+ 37,303,716,55,145,456,456,456,541,589,
+ 292,164,178,520,620,620,620,620,270,575,
+ 16,16,103,103,37,37,284,286,303,37,
+ 5,5,286,139,37,303,37,582,37,10,
+ 157,425,494,534,547,601,164,388,592,172,
+ 183,376,481,239,23,31,139,298,430,432,
+ 434,436,139,709,709,20,28,711,711,111,
+ 292,499,198,261,246,312
+ };
+ };
+ public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix;
+ public final int scopeSuffix(int index) { return scopeSuffix[index]; }
+
+ public interface ScopeLhs {
+ public final static char scopeLhs[] = {
+ 51,17,17,128,17,17,17,17,78,92,
+ 52,86,128,127,83,60,78,77,51,17,
+ 19,3,7,8,175,175,174,126,51,87,
+ 127,127,129,24,137,61,52,149,142,137,
+ 78,17,17,142,102,54,70,181,144,81,
+ 178,175,174,129,194,58,66,153,17,17,
+ 17,17,12,122,174,78,77,77,40,149,
+ 68,139,139,77,17,17,17,17,102,19,
+ 117,134,179,175,196,100,107,56,82,55,
+ 168,70,129,79,154,153,187,149,16,70,
+ 174,129,109,76,21,149,139,128,149,139,
+ 139,128,78,51,117,134,174,68,161,160,
+ 159,158,73,147,49,117,134,147,49,178,
+ 68,109,126,51,51,54
+ };
+ };
+ public final static char scopeLhs[] = ScopeLhs.scopeLhs;
+ public final int scopeLhs(int index) { return scopeLhs[index]; }
+
+ public interface ScopeLa {
+ public final static char scopeLa[] = {
+ 122,69,69,77,69,69,69,69,69,77,
+ 31,77,77,1,73,1,69,125,75,3,
+ 69,73,73,73,1,1,31,77,75,77,
+ 1,1,1,69,77,1,1,4,73,72,
+ 31,1,1,73,69,69,1,69,69,122,
+ 69,1,31,1,31,31,77,121,69,69,
+ 69,121,1,69,1,69,69,69,74,4,
+ 11,1,1,69,73,73,73,73,69,3,
+ 6,6,1,1,69,69,3,1,121,69,
+ 1,1,1,31,69,121,69,8,69,6,
+ 1,59,76,74,69,1,1,75,59,1,
+ 1,1,79,78,1,1,31,12,1,61,
+ 58,58,31,4,4,1,1,4,4,3,
+ 11,1,75,1,1,3
+ };
+ };
+ public final static char scopeLa[] = ScopeLa.scopeLa;
+ public final int scopeLa(int index) { return scopeLa[index]; }
+
+ public interface ScopeStateSet {
+ public final static char scopeStateSet[] = {
+ 105,304,304,150,304,304,304,304,115,96,
+ 105,94,150,150,94,107,115,115,105,304,
+ 304,231,275,275,58,58,91,150,105,94,
+ 150,150,150,154,371,107,105,133,54,371,
+ 115,304,304,54,142,70,76,127,30,115,
+ 34,58,91,150,22,107,37,67,304,304,
+ 304,304,279,6,91,115,115,115,338,133,
+ 191,150,150,115,304,304,304,304,142,304,
+ 86,26,34,58,24,142,144,70,138,70,
+ 64,76,150,115,61,67,136,133,304,76,
+ 91,150,1,115,307,133,150,150,133,150,
+ 150,150,115,105,86,26,91,191,151,151,
+ 151,151,11,130,207,86,26,130,207,34,
+ 191,1,150,105,105,70
+ };
+ };
+ public final static char scopeStateSet[] = ScopeStateSet.scopeStateSet;
+ public final int scopeStateSet(int index) { return scopeStateSet[index]; }
+
+ public interface ScopeRhs {
+ public final static char scopeRhs[] = {0,
+ 170,224,132,0,207,0,224,132,0,251,
+ 207,0,245,170,0,251,0,170,0,230,
+ 251,0,230,0,198,170,0,181,251,0,
+ 181,0,340,3,310,0,132,0,339,3,
+ 3,6,0,132,132,0,338,3,64,0,
+ 337,3,122,0,132,178,0,132,194,78,
+ 0,222,0,268,132,60,130,0,20,0,
+ 308,132,60,59,0,20,53,0,33,138,
+ 0,20,53,0,0,308,132,60,59,216,
+ 0,20,184,0,268,132,60,138,0,195,
+ 133,0,147,0,231,3,307,0,307,0,
+ 2,0,132,0,268,132,60,137,0,195,
+ 133,236,0,195,133,28,236,0,195,133,
+ 333,28,0,134,200,177,133,0,134,0,
+ 200,177,133,0,140,134,0,181,0,329,
+ 132,181,0,132,181,0,228,134,0,177,
+ 328,258,0,142,0,0,0,0,328,258,
+ 0,143,142,0,0,0,0,141,0,0,
+ 0,0,143,141,0,0,0,0,327,132,
+ 175,267,0,133,0,267,0,135,0,0,
+ 133,0,326,132,175,266,0,133,0,0,
+ 44,133,0,0,164,3,0,132,298,297,
+ 132,78,296,181,0,297,132,78,296,181,
+ 0,221,0,222,0,296,181,0,96,0,
+ 0,221,0,222,0,209,96,0,0,221,
+ 0,222,0,297,132,296,181,0,221,0,
+ 209,0,0,221,0,239,132,3,0,132,
+ 0,0,0,0,0,239,132,3,228,0,
+ 235,3,0,214,0,152,0,193,177,133,
+ 0,10,0,0,0,193,0,9,0,226,
+ 68,0,131,0,239,132,3,183,0,183,
+ 0,2,0,0,132,0,0,0,0,0,
+ 198,3,0,251,132,175,30,36,0,195,
+ 133,65,67,0,202,134,0,134,195,133,
+ 294,67,0,195,133,294,67,0,195,133,
+ 76,129,65,0,251,132,175,65,0,251,
+ 132,175,238,65,0,292,132,175,129,323,
+ 61,0,323,61,0,136,135,0,0,133,
+ 0,292,132,175,323,61,0,135,0,0,
+ 133,0,195,133,291,61,0,141,0,200,
+ 195,133,291,258,0,142,0,195,133,291,
+ 258,0,200,177,133,13,0,177,133,13,
+ 0,177,133,0,93,142,0,290,0,198,
+ 0,197,0,196,0,195,0,284,132,156,
+ 0,284,132,181,0,172,88,0,318,171,
+ 320,321,3,85,0,132,177,0,320,321,
+ 3,85,0,134,0,132,177,0,172,3,
+ 79,203,84,0,132,134,0,203,84,0,
+ 108,2,137,132,134,0,237,3,79,0,
+ 198,178,0,33,175,0,178,0,181,33,
+ 175,0,237,3,89,0,203,159,237,3,
+ 87,0,62,177,0,237,3,87,0,132,
+ 177,62,177,0,319,132,175,0,172,0,
+ 226,81,0,30,177,0,172,110,167,0,
+ 30,175,0,197,3,0,132,155,0,231,
+ 3,0,226,68,281,0,172,68,0,197,
+ 3,315,71,133,0,132,0,0,0,0,
+ 315,71,133,0,2,151,132,0,0,0,
+ 0,153,0,131,59,177,133,0,31,153,
+ 0,93,142,31,153,0,232,195,133,0,
+ 152,31,153,0,172,3,52,0,172,3,
+ 73,197,60,44,0,197,60,44,0,20,
+ 2,137,132,0,172,3,73,197,60,47,
+ 0,197,60,47,0,172,3,73,197,60,
+ 49,0,197,60,49,0,172,3,73,197,
+ 60,45,0,197,60,45,0,231,3,131,
+ 200,177,133,13,0,131,200,177,133,13,
+ 0,142,2,0,132,0,231,3,130,274,
+ 177,133,13,0,274,177,133,13,0,141,
+ 2,0,132,0,231,3,141,0,231,3,
+ 145,0,172,68,145,0,276,0,31,0,
+ 31,145,0,176,0,140,0,172,3,0
+ };
+ };
+ public final static char scopeRhs[] = ScopeRhs.scopeRhs;
+ public final int scopeRhs(int index) { return scopeRhs[index]; }
+
+ public interface ScopeState {
+ public final static char scopeState[] = {0,
+ 5630,5729,5726,5719,0,886,1780,659,1733,0,
+ 4092,4029,3933,3887,3841,3795,3749,3703,3657,3451,
+ 3384,4353,0,1303,0,2818,3174,2478,0,2573,
+ 2244,670,0,1163,956,0,4092,4029,1742,1648,
+ 3933,3887,3841,3795,3749,3703,591,3657,3451,3384,
+ 2793,2641,0,5656,2640,868,0,2531,1325,0,
+ 1675,1487,0,4533,3339,0,2785,2493,0,4231,
+ 4533,5014,4204,2749,3339,4015,2818,5282,4560,3174,
+ 4452,2478,5252,3322,3309,3147,3076,3049,2593,0,
+ 5305,5296,0,5305,5296,4467,5189,5124,4359,5112,
+ 5047,5005,4347,0,5305,5296,4467,5189,5124,4359,
+ 5112,5047,5005,4347,4092,4029,3933,3887,3841,3795,
+ 3749,3703,3657,3451,3384,0,1581,2280,0,2630,
+ 867,0,801,728,0,933,0,2016,1969,1041,
+ 921,2749,5400,4015,3322,3309,3062,2524,0,4672,
+ 587,2852,0,2818,3978,4560,5018,3174,3209,4452,
+ 4479,3098,4468,3147,4100,2783,3449,3076,5014,3049,
+ 2941,2627,5690,5686,5421,5415,3458,2473,928,660,
+ 4672,2866,3702,2776,4348,2744,2739,2514,587,2852,
+ 2478,4231,5516,4204,2749,5394,2593,5509,5487,4360,
+ 5006,5400,5522,5429,5407,0,5651,5621,5601,5596,
+ 5592,5569,5565,5559,5360,5328,5702,5318,4222,5693,
+ 5676,4249,3094,3909,3358,3067,2588,3771,815,0,
+ 4159,3688,5651,5621,5601,3565,3556,5596,2931,5592,
+ 5569,5565,5559,5360,3296,1685,1667,5328,1620,5702,
+ 1573,1450,1293,1211,5318,4222,1032,2795,5693,4577,
+ 5676,2419,4249,3094,3909,990,3358,3067,2588,4672,
+ 791,2852,3771,815,2509,2384,2290,1387,873,4015,
+ 2818,5282,4560,3174,4452,2478,3147,4231,3076,4533,
+ 5014,3049,4204,2749,5252,2593,3322,3339,3309,1238,
+ 1019,801,728,5218,4593,3664,4983,4961,2549,2664,
+ 2895,2713,3273,3240,3015,4174,4034,3633,3602,3571,
+ 3533,4649,4626,687,4323,4300,4939,4917,4895,4873,
+ 4851,4829,4807,4772,4739,4709,2987,2161,2437,2396,
+ 2343,1456,2302,2249,2208,1409,1346,1188,1299,967,
+ 2114,634,897,820,750,2067,2020,1973,1926,1879,
+ 1832,1785,1738,1691,1644,1597,587,1550,1503,1252,
+ 1092,1044,1140,0
+ };
+ };
+ public final static char scopeState[] = ScopeState.scopeState;
+ public final int scopeState(int index) { return scopeState[index]; }
+
+ public interface InSymb {
+ public final static char inSymb[] = {0,
+ 0,314,132,283,52,44,47,49,45,13,
+ 141,130,137,9,138,4,3,133,56,57,
+ 48,43,8,26,25,11,12,33,32,145,
+ 150,157,155,160,158,162,161,165,163,166,
+ 64,167,72,3,60,60,60,60,133,3,
+ 60,60,178,132,68,3,70,71,60,8,
+ 197,172,178,132,70,71,177,176,130,3,
+ 129,131,109,123,3,68,94,95,26,25,
+ 97,96,11,99,98,73,60,91,92,12,
+ 101,100,103,102,104,120,119,118,117,116,
+ 115,114,113,112,111,76,110,105,172,197,
+ 197,197,197,177,231,132,132,132,285,6,
+ 7,5,286,267,287,258,288,61,289,290,
+ 13,133,68,68,132,130,159,132,68,3,
+ 229,228,141,131,130,13,133,68,315,3,
+ 200,4,59,133,59,231,172,155,155,150,
+ 150,150,158,158,158,158,157,157,161,160,
+ 160,163,162,165,172,166,73,73,73,73,
+ 200,274,268,271,268,224,170,133,193,3,
+ 3,3,175,328,291,170,323,291,170,133,
+ 195,177,268,224,226,167,235,132,3,133,
+ 177,217,3,316,178,164,276,200,133,195,
+ 177,74,3,3,3,3,131,130,72,177,
+ 11,3,341,1,30,132,177,242,131,130,
+ 133,129,175,133,177,59,239,240,156,241,
+ 132,177,59,197,132,132,4,232,8,59,
+ 172,172,172,172,3,3,193,132,339,310,
+ 3,327,133,179,236,65,59,216,67,181,
+ 330,131,130,243,170,243,195,175,132,195,
+ 200,159,76,235,198,192,183,133,3,132,
+ 72,239,200,159,278,281,68,196,4,129,
+ 131,231,231,11,199,72,159,3,1,177,
+ 175,238,60,59,294,296,132,3,183,243,
+ 243,132,132,200,132,292,129,293,132,76,
+ 76,3,195,177,198,132,224,159,131,132,
+ 3,68,172,4,132,340,200,132,175,73,
+ 60,133,78,132,224,329,74,247,198,130,
+ 133,132,245,170,132,132,74,292,76,72,
+ 233,132,170,132,278,231,226,72,134,251,
+ 36,59,181,5,65,67,253,132,132,195,
+ 132,297,74,72,74,76,177,224,170,245,
+ 170,151,332,236,28,133,132,239,233,30,
+ 132,342,129,65,251,308,59,13,58,134,
+ 297,175,306,133,307,245,170,72,133,28,
+ 333,195,64,159,132,132,175,284,198,262,
+ 295,170,3,76,133,72,73,60,242,242,
+ 298,132,72,195,3,195,133,133,3,132,
+ 132,170,3,76,72,198,343,30,273,133,
+ 195,132,76,76,132,319,83,81,1,172,
+ 10,89,87,85,84,79,86,88,82,80,
+ 65,78,231,195,195,338,233,251,164,175,
+ 266,170,170,74,159,3,72,195,238,308,
+ 299,122,10,74,226,74,3,3,3,203,
+ 3,129,172,129,194,72,132,132,175,11,
+ 1,238,73,3,74,237,178,237,321,156,
+ 79,237,132,132,1,58,93,337,178,159,
+ 198,159,320,132,3,159,299,326,242,159,
+ 159,132,76,203,171,284,172,202,72,76,
+ 125,318,159,202,10,159
+ };
+ };
+ public final static char inSymb[] = InSymb.inSymb;
+ public final int inSymb(int index) { return inSymb[index]; }
+
+ public interface Name {
+ public final static String name[] = {
+ "",
+ "[",
+ "(",
+ ".",
+ ".*",
+ "->",
+ "->*",
+ "++",
+ "--",
+ "&",
+ "*",
+ "+",
+ "-",
+ "~",
+ "!",
+ "/",
+ "%",
+ ">>",
+ "<<",
+ "<",
+ ">",
+ "<=",
+ ">=",
+ "==",
+ "!=",
+ "^",
+ "|",
+ "&&",
+ "||",
+ "?",
+ ":",
+ "::",
+ "...",
+ "=",
+ "*=",
+ "/=",
+ "%=",
+ "+=",
+ "-=",
+ ">>=",
+ "<<=",
+ "&=",
+ "^=",
+ "|=",
+ ",",
+ "$empty",
+ "asm",
+ "auto",
+ "bool",
+ "break",
+ "case",
+ "catch",
+ "char",
+ "class",
+ "const",
+ "const_cast",
+ "continue",
+ "default",
+ "delete",
+ "do",
+ "double",
+ "dynamic_cast",
+ "else",
+ "enum",
+ "explicit",
+ "export",
+ "extern",
+ "false",
+ "float",
+ "for",
+ "friend",
+ "goto",
+ "if",
+ "inline",
+ "int",
+ "long",
+ "mutable",
+ "namespace",
+ "new",
+ "operator",
+ "private",
+ "protected",
+ "public",
+ "register",
+ "reinterpret_cast",
+ "return",
+ "short",
+ "signed",
+ "sizeof",
+ "static",
+ "static_cast",
+ "struct",
+ "switch",
+ "template",
+ "this",
+ "throw",
+ "try",
+ "true",
+ "typedef",
+ "typeid",
+ "typename",
+ "union",
+ "unsigned",
+ "using",
+ "virtual",
+ "void",
+ "volatile",
+ "wchar_t",
+ "while",
+ "integer",
+ "floating",
+ "charconst",
+ "stringlit",
+ "identifier",
+ "Completion",
+ "EndOfCompletion",
+ "Invalid",
+ "RightBracket",
+ "RightParen",
+ "RightBrace",
+ "SemiColon",
+ "LeftBrace",
+ "typeof",
+ "__alignof__",
+ "MAX",
+ "MIN",
+ "__attribute__",
+ "__declspec",
+ "ERROR_TOKEN",
+ "EOF_TOKEN",
+ "no_sizeof_type_id_start",
+ "]",
+ ")",
+ "}",
+ ";",
+ "{",
+ "identifier_token",
+ "expression",
+ "id_expression",
+ "qualified_or_unqualified_name",
+ "unqualified_id_name",
+ "identifier_name",
+ "template_id_name",
+ "nested_name_specifier",
+ "class_or_namespace_name",
+ "nested_name_specifier_with_tem" +
+ "plate",
+ "class_or_namespace_name_with_t" +
+ "emplate",
+ "class_name",
+ "postfix_expression",
+ "simple_type_specifier",
+ "pseudo_destructor_name",
+ "type_id",
+ "type_name",
+ "destructor_type_name",
+ "unary_expression",
+ "cast_expression",
+ "new_type_id",
+ "expression_list",
+ "type_specifier_seq",
+ "new_declarator",
+ "new_pointer_operators",
+ "ptr_operator",
+ "new_array_expressions",
+ "constant_expression",
+ "pm_expression",
+ "multiplicative_expression",
+ "additive_expression",
+ "shift_expression",
+ "relational_expression",
+ "equality_expression",
+ "and_expression",
+ "exclusive_or_expression",
+ "inclusive_or_expression",
+ "logical_and_expression",
+ "logical_or_expression",
+ "assignment_expression",
+ "expression_list_actual",
+ "statement",
+ "compound_statement",
+ "statement_seq",
+ "condition",
+ "declarator",
+ "for_init_statement",
+ "function_definition",
+ "declaration",
+ "declaration_seq",
+ "declaration_specifiers",
+ "simple_declaration_specifiers",
+ "class_declaration_specifiers",
+ "elaborated_declaration_specifi" +
+ "ers",
+ "enum_declaration_specifiers",
+ "type_name_declaration_specifie" +
+ "rs",
+ "no_type_declaration_specifier",
+ "cv_qualifier",
+ "no_type_declaration_specifiers",
+ "class_specifier",
+ "elaborated_type_specifier",
+ "enum_specifier",
+ "type_name_specifier",
+ "class_keyword",
+ "enumerator_list",
+ "enumerator_definition",
+ "namespace_name",
+ "init_declarator_list",
+ "init_declarator_complete",
+ "complete_declarator",
+ "initializer",
+ "direct_declarator",
+ "ptr_operator_seq",
+ "function_declarator",
+ "basic_direct_declarator",
+ "array_direct_declarator",
+ "array_modifier",
+ "abstract_declarator",
+ "direct_abstract_declarator",
+ "basic_direct_abstract_declarat" +
+ "or",
+ "array_direct_abstract_declarat" +
+ "or",
+ "parameter_declaration_list",
+ "parameter_declaration",
+ "parameter_init_declarator",
+ "parameter_initializer",
+ "function_body",
+ "handler_seq",
+ "initializer_clause",
+ "initializer_list",
+ "class_head",
+ "access_specifier_keyword",
+ "member_declaration",
+ "member_declarator_list",
+ "member_declaration_list",
+ "member_declarator_complete",
+ "constant_initializer",
+ "bit_field_declarator",
+ "base_specifier_list",
+ "base_specifier",
+ "conversion_function_id",
+ "conversion_type_id",
+ "conversion_declarator",
+ "mem_initializer_list",
+ "mem_initializer",
+ "mem_initializer_name",
+ "operator_id_name",
+ "overloadable_operator",
+ "template_parameter_list",
+ "template_parameter",
+ "template_argument_list",
+ "template_argument",
+ "handler",
+ "exception_declaration",
+ "type_id_list",
+ "attribute_or_decl_specifier",
+ "attribute_or_decl_specifier_se" +
+ "q",
+ "word",
+ "extended_decl_modifier_seq",
+ "extended_decl_modifier",
+ "extended_asm_param"
+ };
+ };
+ public final static String name[] = Name.name;
+ public final String name(int index) { return name[index]; }
+
+ public final static int
+ ERROR_SYMBOL = 66,
+ SCOPE_UBOUND = 135,
+ SCOPE_SIZE = 136,
+ MAX_NAME_LENGTH = 37;
+
+ public final int getErrorSymbol() { return ERROR_SYMBOL; }
+ public final int getScopeUbound() { return SCOPE_UBOUND; }
+ public final int getScopeSize() { return SCOPE_SIZE; }
+ public final int getMaxNameLength() { return MAX_NAME_LENGTH; }
+
+ public final static int
+ NUM_STATES = 586,
+ NT_OFFSET = 128,
+ LA_STATE_OFFSET = 6953,
+ MAX_LA = 2147483647,
+ NUM_RULES = 586,
+ NUM_NONTERMINALS = 219,
+ NUM_SYMBOLS = 347,
+ SEGMENT_SIZE = 8192,
+ START_STATE = 675,
+ IDENTIFIER_SYMBOL = 0,
+ EOFT_SYMBOL = 124,
+ EOLT_SYMBOL = 124,
+ ACCEPT_ACTION = 5854,
+ ERROR_ACTION = 6367;
+
+ public final static boolean BACKTRACK = true;
+
+ public final int getNumStates() { return NUM_STATES; }
+ public final int getNtOffset() { return NT_OFFSET; }
+ public final int getLaStateOffset() { return LA_STATE_OFFSET; }
+ public final int getMaxLa() { return MAX_LA; }
+ public final int getNumRules() { return NUM_RULES; }
+ public final int getNumNonterminals() { return NUM_NONTERMINALS; }
+ public final int getNumSymbols() { return NUM_SYMBOLS; }
+ public final int getSegmentSize() { return SEGMENT_SIZE; }
+ public final int getStartState() { return START_STATE; }
+ public final int getStartSymbol() { return lhs[0]; }
+ public final int getIdentifierSymbol() { return IDENTIFIER_SYMBOL; }
+ public final int getEoftSymbol() { return EOFT_SYMBOL; }
+ public final int getEoltSymbol() { return EOLT_SYMBOL; }
+ public final int getAcceptAction() { return ACCEPT_ACTION; }
+ public final int getErrorAction() { return ERROR_ACTION; }
+ public final boolean isValidForParser() { return isValidForParser; }
+ public final boolean getBacktrack() { return BACKTRACK; }
+
+ public final int originalState(int state) {
+ return -baseCheck[state];
+ }
+ public final int asi(int state) {
+ return asb[originalState(state)];
+ }
+ public final int nasi(int state) {
+ return nasb[originalState(state)];
+ }
+ public final int inSymbol(int state) {
+ return inSymb[originalState(state)];
+ }
+
+ public final int ntAction(int state, int sym) {
+ return baseAction[state + sym];
+ }
+
+ public final int tAction(int state, int sym) {
+ int i = baseAction[state],
+ k = i + sym;
+ return termAction[termCheck[k] == sym ? k : i];
+ }
+ public final int lookAhead(int la_state, int sym) {
+ int k = la_state + sym;
+ return termAction[termCheck[k] == sym ? k : la_state];
+ }
+}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPSizeofExpressionParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPSizeofExpressionParsersym.java
new file mode 100644
index 00000000000..0245c2f0a22
--- /dev/null
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPSizeofExpressionParsersym.java
@@ -0,0 +1,280 @@
+/*******************************************************************************
+* 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
+*********************************************************************************/
+
+// This file was generated by LPG
+
+package org.eclipse.cdt.internal.core.dom.lrparser.gpp;
+
+public interface GPPSizeofExpressionParsersym {
+ public final static int
+ TK_asm = 5,
+ TK_auto = 34,
+ TK_bool = 14,
+ TK_break = 80,
+ TK_case = 81,
+ TK_catch = 122,
+ TK_char = 15,
+ TK_class = 58,
+ TK_const = 27,
+ TK_const_cast = 44,
+ TK_continue = 82,
+ TK_default = 83,
+ TK_delete = 70,
+ TK_do = 84,
+ TK_double = 16,
+ TK_dynamic_cast = 45,
+ TK_else = 125,
+ TK_enum = 61,
+ TK_explicit = 35,
+ TK_export = 90,
+ TK_extern = 36,
+ TK_false = 46,
+ TK_float = 17,
+ TK_for = 85,
+ TK_friend = 37,
+ TK_goto = 86,
+ TK_if = 87,
+ TK_inline = 38,
+ TK_int = 18,
+ TK_long = 19,
+ TK_mutable = 39,
+ TK_namespace = 65,
+ TK_new = 71,
+ TK_operator = 9,
+ TK_private = 106,
+ TK_protected = 107,
+ TK_public = 108,
+ TK_register = 40,
+ TK_reinterpret_cast = 47,
+ TK_return = 88,
+ TK_short = 20,
+ TK_signed = 21,
+ TK_sizeof = 48,
+ TK_static = 41,
+ TK_static_cast = 49,
+ TK_struct = 62,
+ TK_switch = 89,
+ TK_template = 59,
+ TK_this = 50,
+ TK_throw = 64,
+ TK_try = 78,
+ TK_true = 51,
+ TK_typedef = 42,
+ TK_typeid = 52,
+ TK_typename = 13,
+ TK_union = 63,
+ TK_unsigned = 22,
+ TK_using = 67,
+ TK_virtual = 28,
+ TK_void = 23,
+ TK_volatile = 29,
+ TK_wchar_t = 24,
+ TK_while = 79,
+ TK_integer = 53,
+ TK_floating = 54,
+ TK_charconst = 55,
+ TK_stringlit = 30,
+ TK_identifier = 1,
+ TK_Completion = 2,
+ TK_EndOfCompletion = 10,
+ TK_Invalid = 126,
+ TK_LeftBracket = 68,
+ TK_LeftParen = 3,
+ TK_Dot = 123,
+ TK_DotStar = 95,
+ TK_Arrow = 109,
+ TK_ArrowStar = 94,
+ TK_PlusPlus = 32,
+ TK_MinusMinus = 33,
+ TK_And = 12,
+ TK_Star = 11,
+ TK_Plus = 25,
+ TK_Minus = 26,
+ TK_Tilde = 8,
+ TK_Bang = 43,
+ TK_Slash = 96,
+ TK_Percent = 97,
+ TK_RightShift = 91,
+ TK_LeftShift = 92,
+ TK_LT = 60,
+ TK_GT = 73,
+ TK_LE = 98,
+ TK_GE = 99,
+ TK_EQ = 100,
+ TK_NE = 101,
+ TK_Caret = 102,
+ TK_Or = 103,
+ TK_AndAnd = 104,
+ TK_OrOr = 105,
+ TK_Question = 110,
+ TK_Colon = 74,
+ TK_ColonColon = 4,
+ TK_DotDotDot = 93,
+ TK_Assign = 76,
+ TK_StarAssign = 111,
+ TK_SlashAssign = 112,
+ TK_PercentAssign = 113,
+ TK_PlusAssign = 114,
+ TK_MinusAssign = 115,
+ TK_RightShiftAssign = 116,
+ TK_LeftShiftAssign = 117,
+ TK_AndAssign = 118,
+ TK_CaretAssign = 119,
+ TK_OrAssign = 120,
+ TK_Comma = 72,
+ TK_RightBracket = 121,
+ TK_RightParen = 69,
+ TK_RightBrace = 77,
+ TK_SemiColon = 31,
+ TK_LeftBrace = 75,
+ TK_typeof = 56,
+ TK___alignof__ = 57,
+ TK_MAX = 127,
+ TK_MIN = 128,
+ TK___attribute__ = 6,
+ TK___declspec = 7,
+ TK_ERROR_TOKEN = 66,
+ TK_EOF_TOKEN = 124;
+
+ public final static String orderedTerminalSymbols[] = {
+ "",
+ "identifier",
+ "Completion",
+ "LeftParen",
+ "ColonColon",
+ "asm",
+ "__attribute__",
+ "__declspec",
+ "Tilde",
+ "operator",
+ "EndOfCompletion",
+ "Star",
+ "And",
+ "typename",
+ "bool",
+ "char",
+ "double",
+ "float",
+ "int",
+ "long",
+ "short",
+ "signed",
+ "unsigned",
+ "void",
+ "wchar_t",
+ "Plus",
+ "Minus",
+ "const",
+ "virtual",
+ "volatile",
+ "stringlit",
+ "SemiColon",
+ "PlusPlus",
+ "MinusMinus",
+ "auto",
+ "explicit",
+ "extern",
+ "friend",
+ "inline",
+ "mutable",
+ "register",
+ "static",
+ "typedef",
+ "Bang",
+ "const_cast",
+ "dynamic_cast",
+ "false",
+ "reinterpret_cast",
+ "sizeof",
+ "static_cast",
+ "this",
+ "true",
+ "typeid",
+ "integer",
+ "floating",
+ "charconst",
+ "typeof",
+ "__alignof__",
+ "class",
+ "template",
+ "LT",
+ "enum",
+ "struct",
+ "union",
+ "throw",
+ "namespace",
+ "ERROR_TOKEN",
+ "using",
+ "LeftBracket",
+ "RightParen",
+ "delete",
+ "new",
+ "Comma",
+ "GT",
+ "Colon",
+ "LeftBrace",
+ "Assign",
+ "RightBrace",
+ "try",
+ "while",
+ "break",
+ "case",
+ "continue",
+ "default",
+ "do",
+ "for",
+ "goto",
+ "if",
+ "return",
+ "switch",
+ "export",
+ "RightShift",
+ "LeftShift",
+ "DotDotDot",
+ "ArrowStar",
+ "DotStar",
+ "Slash",
+ "Percent",
+ "LE",
+ "GE",
+ "EQ",
+ "NE",
+ "Caret",
+ "Or",
+ "AndAnd",
+ "OrOr",
+ "private",
+ "protected",
+ "public",
+ "Arrow",
+ "Question",
+ "StarAssign",
+ "SlashAssign",
+ "PercentAssign",
+ "PlusAssign",
+ "MinusAssign",
+ "RightShiftAssign",
+ "LeftShiftAssign",
+ "AndAssign",
+ "CaretAssign",
+ "OrAssign",
+ "RightBracket",
+ "catch",
+ "Dot",
+ "EOF_TOKEN",
+ "else",
+ "Invalid",
+ "MAX",
+ "MIN"
+ };
+
+ public final static boolean isValidForParser = true;
+}

Back to the top