Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Kucera2008-03-31 15:48:57 +0000
committerMike Kucera2008-03-31 15:48:57 +0000
commitc7857505e0696cecdf850b98d6b80d883d7ebc9a (patch)
tree02c47be9e89ffad0121b66e9c8b37f3311a5e15c /lrparser
parentac876dacb609b901e6d9864670905520141b2576 (diff)
downloadorg.eclipse.cdt-c7857505e0696cecdf850b98d6b80d883d7ebc9a.tar.gz
org.eclipse.cdt-c7857505e0696cecdf850b98d6b80d883d7ebc9a.tar.xz
org.eclipse.cdt-c7857505e0696cecdf850b98d6b80d883d7ebc9a.zip
fixed template destructor ids
Diffstat (limited to 'lrparser')
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPGrammar.g43
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPBuildASTParserAction.java43
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionStatementParser.java1122
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionStatementParserprs.java3782
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionStatementParsersym.java132
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParser.java1118
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParserprs.java3756
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParsersym.java132
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParser.java1118
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParserprs.java3723
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParsersym.java120
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParser.java1118
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParserprs.java3870
-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.java1114
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParserprs.java3747
-rw-r--r--lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParsersym.java132
17 files changed, 12981 insertions, 12219 deletions
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 7580a0cdcb7..14283f0bb11 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPGrammar.g
+++ b/lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPGrammar.g
@@ -418,8 +418,12 @@ unqualified_id_name
| operator_function_id_name
| conversion_function_id_name
| template_id_name
- | '~' class_name
+ | '~' identifier_token
/. $Build consumeDestructorName(); $EndBuild ./
+ | '~' template_id_name
+ /. $Build consumeDestructorNameTemplateId(); $EndBuild ./
+ -- | '~' class_name
+
-- wrap an identifier in a name node
@@ -553,8 +557,16 @@ pseudo_destructor_name
destructor_type_name
- ::= '~' type_name
+ ::= '~' identifier_token
/. $Build consumeDestructorName(); $EndBuild ./
+ | '~' template_id_name
+ /. $Build consumeDestructorNameTemplateId(); $EndBuild ./
+
+
+--destructor_type_name
+-- ::= '~' type_name
+-- /. $Build consumeDestructorName(); $EndBuild ./
+
unary_expression
@@ -1038,16 +1050,24 @@ type_name_declaration_specifiers
storage_class_specifier
::= 'auto'
+ /. $Build consumeDeclSpecToken(); $EndBuild ./
| 'register'
+ /. $Build consumeDeclSpecToken(); $EndBuild ./
| 'static'
+ /. $Build consumeDeclSpecToken(); $EndBuild ./
| 'extern'
+ /. $Build consumeDeclSpecToken(); $EndBuild ./
| 'mutable'
+ /. $Build consumeDeclSpecToken(); $EndBuild ./
function_specifier
::= 'inline'
+ /. $Build consumeDeclSpecToken(); $EndBuild ./
| 'virtual'
+ /. $Build consumeDeclSpecToken(); $EndBuild ./
| 'explicit'
+ /. $Build consumeDeclSpecToken(); $EndBuild ./
-- We have no way to disambiguate token types
@@ -1070,24 +1090,31 @@ function_specifier
-- /. $Build consumeQualifiedId(false); $EndBuild ./
-- | simple_type_primitive_specifier
-
-simple_type_specifier
- ::= simple_type_specifier_token
- /. $Build consumeDeclSpecToken(); $EndBuild ./
-
+
-simple_type_specifier_token
+simple_type_specifier
::= 'char'
+ /. $Build consumeDeclSpecToken(); $EndBuild ./
| 'wchar_t'
+ /. $Build consumeDeclSpecToken(); $EndBuild ./
| 'bool'
+ /. $Build consumeDeclSpecToken(); $EndBuild ./
| 'short'
+ /. $Build consumeDeclSpecToken(); $EndBuild ./
| 'int'
+ /. $Build consumeDeclSpecToken(); $EndBuild ./
| 'long'
+ /. $Build consumeDeclSpecToken(); $EndBuild ./
| 'signed'
+ /. $Build consumeDeclSpecToken(); $EndBuild ./
| 'unsigned'
+ /. $Build consumeDeclSpecToken(); $EndBuild ./
| 'float'
+ /. $Build consumeDeclSpecToken(); $EndBuild ./
| 'double'
+ /. $Build consumeDeclSpecToken(); $EndBuild ./
| 'void'
+ /. $Build consumeDeclSpecToken(); $EndBuild ./
-- last two rules moved here from simple_type_specifier
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 ec8276a3d31..5121fac7ec2 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
@@ -346,7 +346,7 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
/**
* template_id
- * ::= identifier_token '<' <openscope-ast> template_argument_list_opt '>'
+ * ::= identifier_name '<' <openscope-ast> template_argument_list_opt '>'
*
* operator_function_id
* ::= operator_id '<' <openscope-ast> template_argument_list_opt '>'
@@ -357,11 +357,6 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
List<Object> templateArguments = astStack.closeScope();
IASTName name = (IASTName) astStack.pop();
-// char[] chars = tokenListToNameCharArray(parser.getRuleTokens());
-// IASTName name = nodeFactory.newName(chars);
-// setOffsetAndLength(name);
-
-
ICPPASTTemplateId templateId = nodeFactory.newCPPTemplateId(name);
for(Object arg : templateArguments) {
@@ -442,14 +437,14 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
/**
* unqualified_id
- * ::= '~' class_name
+ * ::= '~' identifier_token
*/
public void consumeDestructorName() {
if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
- astStack.pop(); // throw away the name node thats already on the stack
-
+ // concatenate the '~' with the identifier token
char[] chars = tokenListToNameCharArray(parser.getRuleTokens());
+
IASTName name = nodeFactory.newName(chars);
setOffsetAndLength(name);
astStack.push(name);
@@ -459,6 +454,31 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
/**
+ * destructor_type_name
+ * ::= '~' template_id_name
+ */
+ public void consumeDestructorNameTemplateId() {
+ if(TRACE_ACTIONS) DebugUtil.printMethodTrace();
+
+ ICPPASTTemplateId templateId = (ICPPASTTemplateId) astStack.peek();
+
+ IASTName oldName = templateId.getTemplateName();
+ char[] newChars = ("~" + oldName).toCharArray(); //$NON-NLS-1$
+
+ IASTName newName = nodeFactory.newName(newChars);
+
+ int offset = offset(parser.getLeftIToken());
+ int length = offset - endOffset(oldName);
+ setOffsetAndLength(newName, offset, length);
+
+ templateId.setTemplateName(newName);
+
+ if(TRACE_AST_STACK) System.out.println(astStack);
+ }
+
+
+
+ /**
* qualified_id
* ::= '::' identifier_name
* | '::' operator_function_id
@@ -1578,7 +1598,10 @@ public class CPPBuildASTParserAction extends BuildASTParserAction {
IASTName qualifiedId = subRuleQualifiedName(true);
IASTDeclarator declarator = nodeFactory.newDeclarator(qualifiedId);
setOffsetAndLength(declarator);
- IASTSimpleDeclaration declaration = nodeFactory.newSimpleDeclaration(null); // no decl spec
+ // there has to be an empty specifier or... kaboom!
+ IASTDeclSpecifier emptySpecifier = nodeFactory.newSimpleDeclSpecifier();
+ setOffsetAndLength(emptySpecifier, parser.getLeftIToken().getStartOffset(), 0);
+ IASTSimpleDeclaration declaration = nodeFactory.newSimpleDeclaration(emptySpecifier);
setOffsetAndLength(declaration);
declaration.addDeclarator(declarator);
astStack.push(declaration);
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionStatementParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionStatementParser.java
index 5328b5a0fca..57e3158b710 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionStatementParser.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionStatementParser.java
@@ -378,1745 +378,1885 @@ public CPPExpressionStatementParser(String[] mapFrom) { // constructor
}
//
- // Rule 37: unqualified_id_name ::= ~ class_name
+ // Rule 37: unqualified_id_name ::= ~ identifier_token
//
case 37: { action.builder.
consumeDestructorName(); break;
}
//
- // Rule 38: identifier_name ::= identifier_token
+ // Rule 38: unqualified_id_name ::= ~ template_id_name
//
case 38: { action.builder.
- consumeIdentifierName(); break;
+ consumeDestructorNameTemplateId(); break;
}
//
- // Rule 39: template_opt ::= template
+ // Rule 39: identifier_name ::= identifier_token
//
case 39: { action.builder.
- consumePlaceHolder(); break;
+ consumeIdentifierName(); break;
}
//
- // Rule 40: template_opt ::= $Empty
+ // Rule 40: template_opt ::= template
//
case 40: { action.builder.
- consumeEmpty(); break;
+ consumePlaceHolder(); break;
}
//
- // Rule 41: dcolon_opt ::= ::
+ // Rule 41: template_opt ::= $Empty
//
case 41: { action.builder.
- consumePlaceHolder(); break;
+ consumeEmpty(); break;
}
//
- // Rule 42: dcolon_opt ::= $Empty
+ // Rule 42: dcolon_opt ::= ::
//
case 42: { action.builder.
- consumeEmpty(); break;
+ consumePlaceHolder(); break;
}
//
- // Rule 43: qualified_id_name ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name
+ // Rule 43: dcolon_opt ::= $Empty
//
case 43: { action.builder.
- consumeQualifiedId(true); break;
+ consumeEmpty(); break;
}
//
- // Rule 44: qualified_id_name ::= :: identifier_name
+ // Rule 44: qualified_id_name ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name
//
case 44: { action.builder.
- consumeGlobalQualifiedId(); break;
+ consumeQualifiedId(true); break;
}
//
- // Rule 45: qualified_id_name ::= :: operator_function_id_name
+ // Rule 45: qualified_id_name ::= :: identifier_name
//
case 45: { action.builder.
consumeGlobalQualifiedId(); break;
}
//
- // Rule 46: qualified_id_name ::= :: template_id_name
+ // Rule 46: qualified_id_name ::= :: operator_function_id_name
//
case 46: { action.builder.
consumeGlobalQualifiedId(); break;
}
//
- // Rule 47: nested_name_specifier ::= class_or_namespace_name :: nested_name_specifier_with_template
+ // Rule 47: qualified_id_name ::= :: template_id_name
//
case 47: { action.builder.
- consumeNestedNameSpecifier(true); break;
+ consumeGlobalQualifiedId(); break;
}
//
- // Rule 48: nested_name_specifier ::= class_or_namespace_name ::
+ // Rule 48: nested_name_specifier ::= class_or_namespace_name :: nested_name_specifier_with_template
//
case 48: { action.builder.
- consumeNestedNameSpecifier(false); break;
+ consumeNestedNameSpecifier(true); break;
}
//
- // Rule 49: nested_name_specifier_with_template ::= class_or_namespace_name_with_template :: nested_name_specifier_with_template
+ // Rule 49: nested_name_specifier ::= class_or_namespace_name ::
//
case 49: { action.builder.
- consumeNestedNameSpecifier(true); break;
+ consumeNestedNameSpecifier(false); break;
}
//
- // Rule 50: nested_name_specifier_with_template ::= class_or_namespace_name_with_template ::
+ // Rule 50: nested_name_specifier_with_template ::= class_or_namespace_name_with_template :: nested_name_specifier_with_template
//
case 50: { action.builder.
- consumeNestedNameSpecifier(false); break;
+ consumeNestedNameSpecifier(true); break;
}
//
- // Rule 51: class_or_namespace_name_with_template ::= template_opt class_or_namespace_name
+ // Rule 51: nested_name_specifier_with_template ::= class_or_namespace_name_with_template ::
//
case 51: { action.builder.
- consumeNameWithTemplateKeyword(); break;
+ consumeNestedNameSpecifier(false); break;
}
//
- // Rule 53: nested_name_specifier_opt ::= $Empty
+ // Rule 52: class_or_namespace_name_with_template ::= template_opt class_or_namespace_name
//
- case 53: { action.builder.
- consumeNestedNameSpecifierEmpty(); break;
+ case 52: { action.builder.
+ consumeNameWithTemplateKeyword(); break;
}
//
- // Rule 56: postfix_expression ::= postfix_expression [ expression ]
+ // Rule 54: nested_name_specifier_opt ::= $Empty
//
- case 56: { action.builder.
- consumeExpressionArraySubscript(); break;
+ case 54: { action.builder.
+ consumeNestedNameSpecifierEmpty(); break;
}
//
- // Rule 57: postfix_expression ::= postfix_expression ( expression_list_opt )
+ // Rule 57: postfix_expression ::= postfix_expression [ expression ]
//
case 57: { action.builder.
- consumeExpressionFunctionCall(); break;
+ consumeExpressionArraySubscript(); break;
}
//
- // Rule 58: postfix_expression ::= simple_type_specifier ( expression_list_opt )
+ // Rule 58: postfix_expression ::= postfix_expression ( expression_list_opt )
//
case 58: { action.builder.
- consumeExpressionSimpleTypeConstructor(); break;
+ consumeExpressionFunctionCall(); break;
}
//
- // Rule 59: postfix_expression ::= typename dcolon_opt nested_name_specifier <empty> identifier_name ( expression_list_opt )
+ // Rule 59: postfix_expression ::= simple_type_specifier ( expression_list_opt )
//
case 59: { action.builder.
- consumeExpressionTypeName(); break;
+ consumeExpressionSimpleTypeConstructor(); break;
}
//
- // Rule 60: postfix_expression ::= typename dcolon_opt nested_name_specifier template_opt template_id_name ( expression_list_opt )
+ // Rule 60: postfix_expression ::= typename dcolon_opt nested_name_specifier <empty> identifier_name ( expression_list_opt )
//
case 60: { action.builder.
consumeExpressionTypeName(); break;
}
//
- // Rule 61: postfix_expression ::= postfix_expression . qualified_or_unqualified_name
+ // Rule 61: postfix_expression ::= typename dcolon_opt nested_name_specifier template_opt template_id_name ( expression_list_opt )
//
case 61: { action.builder.
- consumeExpressionFieldReference(false, false); break;
+ consumeExpressionTypeName(); break;
}
//
- // Rule 62: postfix_expression ::= postfix_expression -> qualified_or_unqualified_name
+ // Rule 62: postfix_expression ::= postfix_expression . qualified_or_unqualified_name
//
case 62: { action.builder.
- consumeExpressionFieldReference(true, false); break;
+ consumeExpressionFieldReference(false, false); break;
}
//
- // Rule 63: postfix_expression ::= postfix_expression . template qualified_or_unqualified_name
+ // Rule 63: postfix_expression ::= postfix_expression -> qualified_or_unqualified_name
//
case 63: { action.builder.
- consumeExpressionFieldReference(false, true); break;
+ consumeExpressionFieldReference(true, false); break;
}
//
- // Rule 64: postfix_expression ::= postfix_expression -> template qualified_or_unqualified_name
+ // Rule 64: postfix_expression ::= postfix_expression . template qualified_or_unqualified_name
//
case 64: { action.builder.
- consumeExpressionFieldReference(true, true); break;
+ consumeExpressionFieldReference(false, true); break;
}
//
- // Rule 65: postfix_expression ::= postfix_expression . pseudo_destructor_name
+ // Rule 65: postfix_expression ::= postfix_expression -> template qualified_or_unqualified_name
//
case 65: { action.builder.
- consumeExpressionFieldReference(false, false); break;
+ consumeExpressionFieldReference(true, true); break;
}
//
- // Rule 66: postfix_expression ::= postfix_expression -> pseudo_destructor_name
+ // Rule 66: postfix_expression ::= postfix_expression . pseudo_destructor_name
//
case 66: { action.builder.
- consumeExpressionFieldReference(true, false); break;
+ consumeExpressionFieldReference(false, false); break;
}
//
- // Rule 67: postfix_expression ::= postfix_expression ++
+ // Rule 67: postfix_expression ::= postfix_expression -> pseudo_destructor_name
//
case 67: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break;
+ consumeExpressionFieldReference(true, false); break;
}
//
- // Rule 68: postfix_expression ::= postfix_expression --
+ // Rule 68: postfix_expression ::= postfix_expression ++
//
case 68: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break;
+ consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break;
}
//
- // Rule 69: postfix_expression ::= dynamic_cast < type_id > ( expression )
+ // Rule 69: postfix_expression ::= postfix_expression --
//
case 69: { action.builder.
- consumeExpressionCast(ICPPASTCastExpression.op_dynamic_cast); break;
+ consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break;
}
//
- // Rule 70: postfix_expression ::= static_cast < type_id > ( expression )
+ // Rule 70: postfix_expression ::= dynamic_cast < type_id > ( expression )
//
case 70: { action.builder.
- consumeExpressionCast(ICPPASTCastExpression.op_static_cast); break;
+ consumeExpressionCast(ICPPASTCastExpression.op_dynamic_cast); break;
}
//
- // Rule 71: postfix_expression ::= reinterpret_cast < type_id > ( expression )
+ // Rule 71: postfix_expression ::= static_cast < type_id > ( expression )
//
case 71: { action.builder.
- consumeExpressionCast(ICPPASTCastExpression.op_reinterpret_cast); break;
+ consumeExpressionCast(ICPPASTCastExpression.op_static_cast); break;
}
//
- // Rule 72: postfix_expression ::= const_cast < type_id > ( expression )
+ // Rule 72: postfix_expression ::= reinterpret_cast < type_id > ( expression )
//
case 72: { action.builder.
- consumeExpressionCast(ICPPASTCastExpression.op_const_cast); break;
+ consumeExpressionCast(ICPPASTCastExpression.op_reinterpret_cast); break;
}
//
- // Rule 73: postfix_expression ::= typeid ( expression )
+ // Rule 73: postfix_expression ::= const_cast < type_id > ( expression )
//
case 73: { action.builder.
- consumeExpressionUnaryOperator(ICPPASTUnaryExpression.op_typeid); break;
+ consumeExpressionCast(ICPPASTCastExpression.op_const_cast); break;
}
//
- // Rule 74: postfix_expression ::= typeid ( type_id )
+ // Rule 74: postfix_expression ::= typeid ( expression )
//
case 74: { action.builder.
- consumeExpressionTypeId(ICPPASTTypeIdExpression.op_typeid); break;
+ consumeExpressionUnaryOperator(ICPPASTUnaryExpression.op_typeid); break;
}
//
- // Rule 75: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt type_name :: destructor_type_name
+ // Rule 75: postfix_expression ::= typeid ( type_id )
//
case 75: { action.builder.
- consumePsudoDestructorName(true); break;
+ consumeExpressionTypeId(ICPPASTTypeIdExpression.op_typeid); break;
}
//
- // Rule 76: pseudo_destructor_name ::= dcolon_opt nested_name_specifier template template_id_name :: destructor_type_name
+ // Rule 76: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt type_name :: destructor_type_name
//
case 76: { action.builder.
consumePsudoDestructorName(true); break;
}
//
- // Rule 77: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt destructor_type_name
+ // Rule 77: pseudo_destructor_name ::= dcolon_opt nested_name_specifier template template_id_name :: destructor_type_name
//
case 77: { action.builder.
- consumePsudoDestructorName(false); break;
+ consumePsudoDestructorName(true); break;
}
//
- // Rule 78: destructor_type_name ::= ~ type_name
+ // Rule 78: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt destructor_type_name
//
case 78: { action.builder.
+ consumePsudoDestructorName(false); break;
+ }
+
+ //
+ // Rule 79: destructor_type_name ::= ~ identifier_token
+ //
+ case 79: { action.builder.
consumeDestructorName(); break;
}
//
- // Rule 82: unary_expression ::= ++ cast_expression
+ // Rule 80: destructor_type_name ::= ~ template_id_name
+ //
+ case 80: { action.builder.
+ consumeDestructorNameTemplateId(); break;
+ }
+
+ //
+ // Rule 84: unary_expression ::= ++ cast_expression
//
- case 82: { action.builder.
+ case 84: { action.builder.
consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixIncr); break;
}
//
- // Rule 83: unary_expression ::= -- cast_expression
+ // Rule 85: unary_expression ::= -- cast_expression
//
- case 83: { action.builder.
+ case 85: { action.builder.
consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixDecr); break;
}
//
- // Rule 84: unary_expression ::= & cast_expression
+ // Rule 86: unary_expression ::= & cast_expression
//
- case 84: { action.builder.
+ case 86: { action.builder.
consumeExpressionUnaryOperator(IASTUnaryExpression.op_amper); break;
}
//
- // Rule 85: unary_expression ::= * cast_expression
+ // Rule 87: unary_expression ::= * cast_expression
//
- case 85: { action.builder.
+ case 87: { action.builder.
consumeExpressionUnaryOperator(IASTUnaryExpression.op_star); break;
}
//
- // Rule 86: unary_expression ::= + cast_expression
+ // Rule 88: unary_expression ::= + cast_expression
//
- case 86: { action.builder.
+ case 88: { action.builder.
consumeExpressionUnaryOperator(IASTUnaryExpression.op_plus); break;
}
//
- // Rule 87: unary_expression ::= - cast_expression
+ // Rule 89: unary_expression ::= - cast_expression
//
- case 87: { action.builder.
+ case 89: { action.builder.
consumeExpressionUnaryOperator(IASTUnaryExpression.op_minus); break;
}
//
- // Rule 88: unary_expression ::= ~ cast_expression
+ // Rule 90: unary_expression ::= ~ cast_expression
//
- case 88: { action.builder.
+ case 90: { action.builder.
consumeExpressionUnaryOperator(IASTUnaryExpression.op_tilde); break;
}
//
- // Rule 89: unary_expression ::= ! cast_expression
+ // Rule 91: unary_expression ::= ! cast_expression
//
- case 89: { action.builder.
+ case 91: { action.builder.
consumeExpressionUnaryOperator(IASTUnaryExpression.op_not); break;
}
//
- // Rule 90: unary_expression ::= sizeof unary_expression
+ // Rule 92: unary_expression ::= sizeof unary_expression
//
- case 90: { action.builder.
+ case 92: { action.builder.
consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof); break;
}
//
- // Rule 91: unary_expression ::= sizeof ( type_id )
+ // Rule 93: unary_expression ::= sizeof ( type_id )
//
- case 91: { action.builder.
+ case 93: { action.builder.
consumeExpressionTypeId(ICPPASTTypeIdExpression.op_sizeof); break;
}
//
- // Rule 92: new_expression ::= dcolon_opt new new_placement_opt new_type_id <openscope-ast> new_array_expressions_opt new_initializer_opt
+ // Rule 94: new_expression ::= dcolon_opt new new_placement_opt new_type_id <openscope-ast> new_array_expressions_opt new_initializer_opt
//
- case 92: { action.builder.
+ case 94: { action.builder.
consumeExpressionNew(true); break;
}
//
- // Rule 93: new_expression ::= dcolon_opt new new_placement_opt ( type_id ) <openscope-ast> new_array_expressions_opt new_initializer_opt
+ // Rule 95: new_expression ::= dcolon_opt new new_placement_opt ( type_id ) <openscope-ast> new_array_expressions_opt new_initializer_opt
//
- case 93: { action.builder.
+ case 95: { action.builder.
consumeExpressionNew(false); break;
}
//
- // Rule 95: new_placement_opt ::= $Empty
+ // Rule 97: new_placement_opt ::= $Empty
//
- case 95: { action.builder.
+ case 97: { action.builder.
consumeEmpty(); break;
}
//
- // Rule 96: new_type_id ::= type_specifier_seq
+ // Rule 98: new_type_id ::= type_specifier_seq
//
- case 96: { action.builder.
+ case 98: { action.builder.
consumeTypeId(false); break;
}
//
- // Rule 97: new_type_id ::= type_specifier_seq new_declarator
+ // Rule 99: new_type_id ::= type_specifier_seq new_declarator
//
- case 97: { action.builder.
+ case 99: { action.builder.
consumeTypeId(true); break;
}
//
- // Rule 98: new_declarator ::= <openscope-ast> new_pointer_operators
+ // Rule 100: new_declarator ::= <openscope-ast> new_pointer_operators
//
- case 98: { action.builder.
+ case 100: { action.builder.
consumeNewDeclarator(); break;
}
//
- // Rule 107: new_initializer_opt ::= $Empty
+ // Rule 109: new_initializer_opt ::= $Empty
//
- case 107: { action.builder.
+ case 109: { action.builder.
consumeEmpty(); break;
}
//
- // Rule 108: delete_expression ::= dcolon_opt delete cast_expression
+ // Rule 110: delete_expression ::= dcolon_opt delete cast_expression
//
- case 108: { action.builder.
+ case 110: { action.builder.
consumeExpressionDelete(false); break;
}
//
- // Rule 109: delete_expression ::= dcolon_opt delete [ ] cast_expression
+ // Rule 111: delete_expression ::= dcolon_opt delete [ ] cast_expression
//
- case 109: { action.builder.
+ case 111: { action.builder.
consumeExpressionDelete(true); break;
}
//
- // Rule 111: cast_expression ::= ( type_id ) cast_expression
+ // Rule 113: cast_expression ::= ( type_id ) cast_expression
//
- case 111: { action.builder.
+ case 113: { action.builder.
consumeExpressionCast(ICPPASTCastExpression.op_cast); break;
}
//
- // Rule 113: pm_expression ::= pm_expression .* cast_expression
+ // Rule 115: pm_expression ::= pm_expression .* cast_expression
//
- case 113: { action.builder.
+ case 115: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmdot); break;
}
//
- // Rule 114: pm_expression ::= pm_expression ->* cast_expression
+ // Rule 116: pm_expression ::= pm_expression ->* cast_expression
//
- case 114: { action.builder.
+ case 116: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmarrow); break;
}
//
- // Rule 116: multiplicative_expression ::= multiplicative_expression * pm_expression
+ // Rule 118: multiplicative_expression ::= multiplicative_expression * pm_expression
//
- case 116: { action.builder.
+ case 118: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiply); break;
}
//
- // Rule 117: multiplicative_expression ::= multiplicative_expression / pm_expression
+ // Rule 119: multiplicative_expression ::= multiplicative_expression / pm_expression
//
- case 117: { action.builder.
+ case 119: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divide); break;
}
//
- // Rule 118: multiplicative_expression ::= multiplicative_expression % pm_expression
+ // Rule 120: multiplicative_expression ::= multiplicative_expression % pm_expression
//
- case 118: { action.builder.
+ case 120: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_modulo); break;
}
//
- // Rule 120: additive_expression ::= additive_expression + multiplicative_expression
+ // Rule 122: additive_expression ::= additive_expression + multiplicative_expression
//
- case 120: { action.builder.
+ case 122: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plus); break;
}
//
- // Rule 121: additive_expression ::= additive_expression - multiplicative_expression
+ // Rule 123: additive_expression ::= additive_expression - multiplicative_expression
//
- case 121: { action.builder.
+ case 123: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minus); break;
}
//
- // Rule 123: shift_expression ::= shift_expression << additive_expression
+ // Rule 125: shift_expression ::= shift_expression << additive_expression
//
- case 123: { action.builder.
+ case 125: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeft); break;
}
//
- // Rule 124: shift_expression ::= shift_expression >> additive_expression
+ // Rule 126: shift_expression ::= shift_expression >> additive_expression
//
- case 124: { action.builder.
+ case 126: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRight); break;
}
//
- // Rule 126: relational_expression ::= relational_expression < shift_expression
+ // Rule 128: relational_expression ::= relational_expression < shift_expression
//
- case 126: { action.builder.
+ case 128: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessThan); break;
}
//
- // Rule 127: relational_expression ::= relational_expression > shift_expression
+ // Rule 129: relational_expression ::= relational_expression > shift_expression
//
- case 127: { action.builder.
+ case 129: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterThan); break;
}
//
- // Rule 128: relational_expression ::= relational_expression <= shift_expression
+ // Rule 130: relational_expression ::= relational_expression <= shift_expression
//
- case 128: { action.builder.
+ case 130: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessEqual); break;
}
//
- // Rule 129: relational_expression ::= relational_expression >= shift_expression
+ // Rule 131: relational_expression ::= relational_expression >= shift_expression
//
- case 129: { action.builder.
+ case 131: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterEqual); break;
}
//
- // Rule 131: equality_expression ::= equality_expression == relational_expression
+ // Rule 133: equality_expression ::= equality_expression == relational_expression
//
- case 131: { action.builder.
+ case 133: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_equals); break;
}
//
- // Rule 132: equality_expression ::= equality_expression != relational_expression
+ // Rule 134: equality_expression ::= equality_expression != relational_expression
//
- case 132: { action.builder.
+ case 134: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_notequals); break;
}
//
- // Rule 134: and_expression ::= and_expression & equality_expression
+ // Rule 136: and_expression ::= and_expression & equality_expression
//
- case 134: { action.builder.
+ case 136: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAnd); break;
}
//
- // Rule 136: exclusive_or_expression ::= exclusive_or_expression ^ and_expression
+ // Rule 138: exclusive_or_expression ::= exclusive_or_expression ^ and_expression
//
- case 136: { action.builder.
+ case 138: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXor); break;
}
//
- // Rule 138: inclusive_or_expression ::= inclusive_or_expression | exclusive_or_expression
+ // Rule 140: inclusive_or_expression ::= inclusive_or_expression | exclusive_or_expression
//
- case 138: { action.builder.
+ case 140: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOr); break;
}
//
- // Rule 140: logical_and_expression ::= logical_and_expression && inclusive_or_expression
+ // Rule 142: logical_and_expression ::= logical_and_expression && inclusive_or_expression
//
- case 140: { action.builder.
+ case 142: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalAnd); break;
}
//
- // Rule 142: logical_or_expression ::= logical_or_expression || logical_and_expression
+ // Rule 144: logical_or_expression ::= logical_or_expression || logical_and_expression
//
- case 142: { action.builder.
+ case 144: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalOr); break;
}
//
- // Rule 144: conditional_expression ::= logical_or_expression ? expression : assignment_expression
+ // Rule 146: conditional_expression ::= logical_or_expression ? expression : assignment_expression
//
- case 144: { action.builder.
+ case 146: { action.builder.
consumeExpressionConditional(); break;
}
//
- // Rule 145: throw_expression ::= throw
+ // Rule 147: throw_expression ::= throw
//
- case 145: { action.builder.
+ case 147: { action.builder.
consumeExpressionThrow(false); break;
}
//
- // Rule 146: throw_expression ::= throw assignment_expression
+ // Rule 148: throw_expression ::= throw assignment_expression
//
- case 146: { action.builder.
+ case 148: { action.builder.
consumeExpressionThrow(true); break;
}
//
- // Rule 149: assignment_expression ::= logical_or_expression = assignment_expression
+ // Rule 151: assignment_expression ::= logical_or_expression = assignment_expression
//
- case 149: { action.builder.
+ case 151: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_assign); break;
}
//
- // Rule 150: assignment_expression ::= logical_or_expression *= assignment_expression
+ // Rule 152: assignment_expression ::= logical_or_expression *= assignment_expression
//
- case 150: { action.builder.
+ case 152: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiplyAssign); break;
}
//
- // Rule 151: assignment_expression ::= logical_or_expression /= assignment_expression
+ // Rule 153: assignment_expression ::= logical_or_expression /= assignment_expression
//
- case 151: { action.builder.
+ case 153: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divideAssign); break;
}
//
- // Rule 152: assignment_expression ::= logical_or_expression %= assignment_expression
+ // Rule 154: assignment_expression ::= logical_or_expression %= assignment_expression
//
- case 152: { action.builder.
+ case 154: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_moduloAssign); break;
}
//
- // Rule 153: assignment_expression ::= logical_or_expression += assignment_expression
+ // Rule 155: assignment_expression ::= logical_or_expression += assignment_expression
//
- case 153: { action.builder.
+ case 155: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plusAssign); break;
}
//
- // Rule 154: assignment_expression ::= logical_or_expression -= assignment_expression
+ // Rule 156: assignment_expression ::= logical_or_expression -= assignment_expression
//
- case 154: { action.builder.
+ case 156: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minusAssign); break;
}
//
- // Rule 155: assignment_expression ::= logical_or_expression >>= assignment_expression
+ // Rule 157: assignment_expression ::= logical_or_expression >>= assignment_expression
//
- case 155: { action.builder.
+ case 157: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRightAssign); break;
}
//
- // Rule 156: assignment_expression ::= logical_or_expression <<= assignment_expression
+ // Rule 158: assignment_expression ::= logical_or_expression <<= assignment_expression
//
- case 156: { action.builder.
+ case 158: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeftAssign); break;
}
//
- // Rule 157: assignment_expression ::= logical_or_expression &= assignment_expression
+ // Rule 159: assignment_expression ::= logical_or_expression &= assignment_expression
//
- case 157: { action.builder.
+ case 159: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAndAssign); break;
}
//
- // Rule 158: assignment_expression ::= logical_or_expression ^= assignment_expression
+ // Rule 160: assignment_expression ::= logical_or_expression ^= assignment_expression
//
- case 158: { action.builder.
+ case 160: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXorAssign); break;
}
//
- // Rule 159: assignment_expression ::= logical_or_expression |= assignment_expression
+ // Rule 161: assignment_expression ::= logical_or_expression |= assignment_expression
//
- case 159: { action.builder.
+ case 161: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOrAssign); break;
}
//
- // Rule 161: expression_list ::= <openscope-ast> expression_list_actual
+ // Rule 163: expression_list ::= <openscope-ast> expression_list_actual
//
- case 161: { action.builder.
+ case 163: { action.builder.
consumeExpressionList(); break;
}
//
- // Rule 165: expression_list_opt ::= $Empty
+ // Rule 167: expression_list_opt ::= $Empty
//
- case 165: { action.builder.
+ case 167: { action.builder.
consumeEmpty(); break;
}
//
- // Rule 167: expression_opt ::= $Empty
+ // Rule 169: expression_opt ::= $Empty
//
- case 167: { action.builder.
+ case 169: { action.builder.
consumeEmpty(); break;
}
//
- // Rule 170: constant_expression_opt ::= $Empty
+ // Rule 172: constant_expression_opt ::= $Empty
//
- case 170: { action.builder.
+ case 172: { action.builder.
consumeEmpty(); break;
}
//
- // Rule 179: statement ::= ERROR_TOKEN
+ // Rule 181: statement ::= ERROR_TOKEN
//
- case 179: { action.builder.
+ case 181: { action.builder.
consumeStatementProblem(); break;
}
//
- // Rule 180: labeled_statement ::= identifier : statement
+ // Rule 182: labeled_statement ::= identifier : statement
//
- case 180: { action.builder.
+ case 182: { action.builder.
consumeStatementLabeled(); break;
}
//
- // Rule 181: labeled_statement ::= case constant_expression :
+ // Rule 183: labeled_statement ::= case constant_expression :
//
- case 181: { action.builder.
+ case 183: { action.builder.
consumeStatementCase(); break;
}
//
- // Rule 182: labeled_statement ::= default :
+ // Rule 184: labeled_statement ::= default :
//
- case 182: { action.builder.
+ case 184: { action.builder.
consumeStatementDefault(); break;
}
//
- // Rule 183: expression_statement ::= expression ;
+ // Rule 185: expression_statement ::= expression ;
//
- case 183: { action.builder.
+ case 185: { action.builder.
consumeStatementExpression(); break;
}
//
- // Rule 184: expression_statement ::= ;
+ // Rule 186: expression_statement ::= ;
//
- case 184: { action.builder.
+ case 186: { action.builder.
consumeStatementNull(); break;
}
//
- // Rule 185: compound_statement ::= { <openscope-ast> statement_seq }
+ // Rule 187: compound_statement ::= { <openscope-ast> statement_seq }
//
- case 185: { action.builder.
+ case 187: { action.builder.
consumeStatementCompoundStatement(true); break;
}
//
- // Rule 186: compound_statement ::= { }
+ // Rule 188: compound_statement ::= { }
//
- case 186: { action.builder.
+ case 188: { action.builder.
consumeStatementCompoundStatement(false); break;
}
//
- // Rule 189: selection_statement ::= if ( condition ) statement
+ // Rule 191: selection_statement ::= if ( condition ) statement
//
- case 189: { action.builder.
+ case 191: { action.builder.
consumeStatementIf(false); break;
}
//
- // Rule 190: selection_statement ::= if ( condition ) statement else statement
+ // Rule 192: selection_statement ::= if ( condition ) statement else statement
//
- case 190: { action.builder.
+ case 192: { action.builder.
consumeStatementIf(true); break;
}
//
- // Rule 191: selection_statement ::= switch ( condition ) statement
+ // Rule 193: selection_statement ::= switch ( condition ) statement
//
- case 191: { action.builder.
+ case 193: { action.builder.
consumeStatementSwitch(); break;
}
//
- // Rule 193: condition ::= type_specifier_seq declarator = assignment_expression
+ // Rule 195: condition ::= type_specifier_seq declarator = assignment_expression
//
- case 193: { action.builder.
+ case 195: { action.builder.
consumeConditionDeclaration(); break;
}
//
- // Rule 194: iteration_statement ::= while ( condition ) statement
+ // Rule 196: iteration_statement ::= while ( condition ) statement
//
- case 194: { action.builder.
+ case 196: { action.builder.
consumeStatementWhileLoop(); break;
}
//
- // Rule 195: iteration_statement ::= do statement while ( expression ) ;
+ // Rule 197: iteration_statement ::= do statement while ( expression ) ;
//
- case 195: { action.builder.
+ case 197: { action.builder.
consumeStatementDoLoop(); break;
}
//
- // Rule 196: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement
+ // Rule 198: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement
//
- case 196: { action.builder.
+ case 198: { action.builder.
consumeStatementForLoop(); break;
}
//
- // Rule 197: iteration_statement ::= for ( simple_declaration_with_declspec expression_opt ; expression_opt ) statement
+ // Rule 199: iteration_statement ::= for ( simple_declaration_with_declspec expression_opt ; expression_opt ) statement
//
- case 197: { action.builder.
+ case 199: { action.builder.
consumeStatementForLoop(); break;
}
//
- // Rule 198: jump_statement ::= break ;
+ // Rule 200: jump_statement ::= break ;
//
- case 198: { action.builder.
+ case 200: { action.builder.
consumeStatementBreak(); break;
}
//
- // Rule 199: jump_statement ::= continue ;
+ // Rule 201: jump_statement ::= continue ;
//
- case 199: { action.builder.
+ case 201: { action.builder.
consumeStatementContinue(); break;
}
//
- // Rule 200: jump_statement ::= return expression ;
+ // Rule 202: jump_statement ::= return expression ;
//
- case 200: { action.builder.
+ case 202: { action.builder.
consumeStatementReturn(true); break;
}
//
- // Rule 201: jump_statement ::= return ;
+ // Rule 203: jump_statement ::= return ;
//
- case 201: { action.builder.
+ case 203: { action.builder.
consumeStatementReturn(false); break;
}
//
- // Rule 202: jump_statement ::= goto identifier_token ;
+ // Rule 204: jump_statement ::= goto identifier_token ;
//
- case 202: { action.builder.
+ case 204: { action.builder.
consumeStatementGoto(); break;
}
//
- // Rule 203: declaration_statement ::= block_declaration
+ // Rule 205: declaration_statement ::= block_declaration
//
- case 203: { action.builder.
+ case 205: { action.builder.
consumeStatementDeclaration(); break;
}
//
- // Rule 204: declaration_statement ::= function_definition
+ // Rule 206: declaration_statement ::= function_definition
//
- case 204: { action.builder.
+ case 206: { action.builder.
consumeStatementDeclaration(); break;
}
//
- // Rule 221: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ;
+ // Rule 223: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ;
//
- case 221: { action.builder.
+ case 223: { action.builder.
consumeDeclarationSimple(true, true); break;
}
//
- // Rule 222: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ;
+ // Rule 224: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ;
//
- case 222: { action.builder.
+ case 224: { action.builder.
consumeDeclarationSimple(true, false); break;
}
//
- // Rule 223: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers
+ // Rule 225: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers
//
- case 223: { action.builder.
+ case 225: { action.builder.
consumeDeclarationSpecifiersSimple(); break;
}
//
- // Rule 224: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers
+ // Rule 226: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers
//
- case 224: { action.builder.
+ case 226: { action.builder.
consumeDeclarationSpecifiersComposite(); break;
}
//
- // Rule 225: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers
+ // Rule 227: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers
//
- case 225: { action.builder.
+ case 227: { action.builder.
consumeDeclarationSpecifiersComposite(); break;
}
//
- // Rule 226: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers
+ // Rule 228: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers
//
- case 226: { action.builder.
+ case 228: { action.builder.
consumeDeclarationSpecifiersComposite(); break;
}
//
- // Rule 227: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers
+ // Rule 229: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers
//
- case 227: { action.builder.
+ case 229: { action.builder.
consumeDeclarationSpecifiersTypeName(); break;
}
//
- // Rule 228: declaration_specifiers_opt ::= $Empty
+ // Rule 230: declaration_specifiers_opt ::= $Empty
//
- case 228: { action.builder.
+ case 230: { action.builder.
consumeEmpty(); break;
}
//
- // Rule 233: no_type_declaration_specifier ::= friend
+ // Rule 235: no_type_declaration_specifier ::= friend
+ //
+ case 235: { action.builder.
+ consumeDeclSpecToken(); break;
+ }
+
+ //
+ // Rule 236: no_type_declaration_specifier ::= typedef
+ //
+ case 236: { action.builder.
+ consumeDeclSpecToken(); break;
+ }
+
+ //
+ // Rule 256: storage_class_specifier ::= auto
+ //
+ case 256: { action.builder.
+ consumeDeclSpecToken(); break;
+ }
+
+ //
+ // Rule 257: storage_class_specifier ::= register
+ //
+ case 257: { action.builder.
+ consumeDeclSpecToken(); break;
+ }
+
+ //
+ // Rule 258: storage_class_specifier ::= static
+ //
+ case 258: { action.builder.
+ consumeDeclSpecToken(); break;
+ }
+
+ //
+ // Rule 259: storage_class_specifier ::= extern
+ //
+ case 259: { action.builder.
+ consumeDeclSpecToken(); break;
+ }
+
+ //
+ // Rule 260: storage_class_specifier ::= mutable
//
- case 233: { action.builder.
+ case 260: { action.builder.
consumeDeclSpecToken(); break;
}
//
- // Rule 234: no_type_declaration_specifier ::= typedef
+ // Rule 261: function_specifier ::= inline
//
- case 234: { action.builder.
+ case 261: { action.builder.
consumeDeclSpecToken(); break;
}
//
- // Rule 262: simple_type_specifier ::= simple_type_specifier_token
+ // Rule 262: function_specifier ::= virtual
//
case 262: { action.builder.
consumeDeclSpecToken(); break;
}
//
- // Rule 276: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name
+ // Rule 263: function_specifier ::= explicit
//
- case 276: { action.builder.
- consumeQualifiedId(false); break;
+ case 263: { action.builder.
+ consumeDeclSpecToken(); break;
+ }
+
+ //
+ // Rule 264: simple_type_specifier ::= char
+ //
+ case 264: { action.builder.
+ consumeDeclSpecToken(); break;
+ }
+
+ //
+ // Rule 265: simple_type_specifier ::= wchar_t
+ //
+ case 265: { action.builder.
+ consumeDeclSpecToken(); break;
+ }
+
+ //
+ // Rule 266: simple_type_specifier ::= bool
+ //
+ case 266: { action.builder.
+ consumeDeclSpecToken(); break;
+ }
+
+ //
+ // Rule 267: simple_type_specifier ::= short
+ //
+ case 267: { action.builder.
+ consumeDeclSpecToken(); break;
+ }
+
+ //
+ // Rule 268: simple_type_specifier ::= int
+ //
+ case 268: { action.builder.
+ consumeDeclSpecToken(); break;
}
//
- // Rule 277: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name
+ // Rule 269: simple_type_specifier ::= long
+ //
+ case 269: { action.builder.
+ consumeDeclSpecToken(); break;
+ }
+
+ //
+ // Rule 270: simple_type_specifier ::= signed
+ //
+ case 270: { action.builder.
+ consumeDeclSpecToken(); break;
+ }
+
+ //
+ // Rule 271: simple_type_specifier ::= unsigned
+ //
+ case 271: { action.builder.
+ consumeDeclSpecToken(); break;
+ }
+
+ //
+ // Rule 272: simple_type_specifier ::= float
+ //
+ case 272: { action.builder.
+ consumeDeclSpecToken(); break;
+ }
+
+ //
+ // Rule 273: simple_type_specifier ::= double
+ //
+ case 273: { action.builder.
+ consumeDeclSpecToken(); break;
+ }
+
+ //
+ // Rule 274: simple_type_specifier ::= void
+ //
+ case 274: { action.builder.
+ consumeDeclSpecToken(); break;
+ }
+
+ //
+ // Rule 277: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name
//
case 277: { action.builder.
consumeQualifiedId(false); break;
}
//
- // Rule 278: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name
+ // Rule 278: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name
//
case 278: { action.builder.
consumeQualifiedId(false); break;
}
//
- // Rule 279: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name
+ // Rule 279: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name
//
case 279: { action.builder.
- consumeQualifiedId(true); break;
+ consumeQualifiedId(false); break;
}
//
- // Rule 280: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt identifier_name
+ // Rule 280: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name
//
case 280: { action.builder.
- consumeTypeSpecifierElaborated(false); break;
+ consumeQualifiedId(true); break;
}
//
- // Rule 281: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt template_opt template_id_name
+ // Rule 281: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt identifier_name
//
case 281: { action.builder.
- consumeTypeSpecifierElaborated(true); break;
+ consumeTypeSpecifierElaborated(false); break;
}
//
- // Rule 282: elaborated_type_specifier ::= enum dcolon_opt nested_name_specifier_opt identifier_name
+ // Rule 282: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt template_opt template_id_name
//
case 282: { action.builder.
- consumeTypeSpecifierElaborated(false); break;
+ consumeTypeSpecifierElaborated(true); break;
}
//
- // Rule 283: enum_specifier ::= enum { <openscope-ast> enumerator_list_opt }
+ // Rule 283: elaborated_type_specifier ::= enum dcolon_opt nested_name_specifier_opt identifier_name
//
case 283: { action.builder.
- consumeTypeSpecifierEnumeration(false); break;
+ consumeTypeSpecifierElaborated(false); break;
}
//
- // Rule 284: enum_specifier ::= enum identifier_token { <openscope-ast> enumerator_list_opt }
+ // Rule 284: enum_specifier ::= enum { <openscope-ast> enumerator_list_opt }
//
case 284: { action.builder.
+ consumeTypeSpecifierEnumeration(false); break;
+ }
+
+ //
+ // Rule 285: enum_specifier ::= enum identifier_token { <openscope-ast> enumerator_list_opt }
+ //
+ case 285: { action.builder.
consumeTypeSpecifierEnumeration(true); break;
}
//
- // Rule 289: enumerator_definition ::= identifier_token
+ // Rule 290: enumerator_definition ::= identifier_token
//
- case 289: { action.builder.
+ case 290: { action.builder.
consumeEnumerator(false); break;
}
//
- // Rule 290: enumerator_definition ::= identifier_token = constant_expression
+ // Rule 291: enumerator_definition ::= identifier_token = constant_expression
//
- case 290: { action.builder.
+ case 291: { action.builder.
consumeEnumerator(true); break;
}
//
- // Rule 296: original_namespace_definition ::= namespace identifier_name { <openscope-ast> declaration_seq_opt }
+ // Rule 297: original_namespace_definition ::= namespace identifier_name { <openscope-ast> declaration_seq_opt }
//
- case 296: { action.builder.
+ case 297: { action.builder.
consumeNamespaceDefinition(true); break;
}
//
- // Rule 297: extension_namespace_definition ::= namespace original_namespace_name { <openscope-ast> declaration_seq_opt }
+ // Rule 298: extension_namespace_definition ::= namespace original_namespace_name { <openscope-ast> declaration_seq_opt }
//
- case 297: { action.builder.
+ case 298: { action.builder.
consumeNamespaceDefinition(true); break;
}
//
- // Rule 298: unnamed_namespace_definition ::= namespace { <openscope-ast> declaration_seq_opt }
+ // Rule 299: unnamed_namespace_definition ::= namespace { <openscope-ast> declaration_seq_opt }
//
- case 298: { action.builder.
+ case 299: { action.builder.
consumeNamespaceDefinition(false); break;
}
//
- // Rule 299: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ;
+ // Rule 300: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ;
//
- case 299: { action.builder.
+ case 300: { action.builder.
consumeNamespaceAliasDefinition(); break;
}
//
- // Rule 300: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ;
+ // Rule 301: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ;
//
- case 300: { action.builder.
+ case 301: { action.builder.
consumeUsingDeclaration(); break;
}
//
- // Rule 301: typename_opt ::= typename
+ // Rule 302: typename_opt ::= typename
//
- case 301: { action.builder.
+ case 302: { action.builder.
consumePlaceHolder(); break;
}
//
- // Rule 302: typename_opt ::= $Empty
+ // Rule 303: typename_opt ::= $Empty
//
- case 302: { action.builder.
+ case 303: { action.builder.
consumeEmpty(); break;
}
//
- // Rule 303: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ;
+ // Rule 304: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ;
//
- case 303: { action.builder.
+ case 304: { action.builder.
consumeUsingDirective(); break;
}
//
- // Rule 304: asm_definition ::= asm ( stringlit ) ;
+ // Rule 305: asm_definition ::= asm ( stringlit ) ;
//
- case 304: { action.builder.
+ case 305: { action.builder.
consumeDeclarationASM(); break;
}
//
- // Rule 305: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt }
+ // Rule 306: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt }
//
- case 305: { action.builder.
+ case 306: { action.builder.
consumeLinkageSpecification(); break;
}
//
- // Rule 306: linkage_specification ::= extern stringlit <openscope-ast> declaration
+ // Rule 307: linkage_specification ::= extern stringlit <openscope-ast> declaration
//
- case 306: { action.builder.
+ case 307: { action.builder.
consumeLinkageSpecification(); break;
}
//
- // Rule 311: init_declarator_complete ::= init_declarator
+ // Rule 312: init_declarator_complete ::= init_declarator
//
- case 311: { action.builder.
+ case 312: { action.builder.
consumeInitDeclaratorComplete(); break;
}
//
- // Rule 313: init_declarator ::= declarator initializer
+ // Rule 314: init_declarator ::= declarator initializer
//
- case 313: { action.builder.
+ case 314: { action.builder.
consumeDeclaratorWithInitializer(true); break;
}
//
- // Rule 315: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
+ // Rule 316: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
//
- case 315: { action.builder.
+ case 316: { action.builder.
consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 317: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
+ // Rule 318: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
//
- case 317: { action.builder.
+ case 318: { action.builder.
consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 321: basic_direct_declarator ::= declarator_id_name
+ // Rule 322: basic_direct_declarator ::= declarator_id_name
//
- case 321: { action.builder.
+ case 322: { action.builder.
consumeDirectDeclaratorIdentifier(); break;
}
//
- // Rule 322: basic_direct_declarator ::= ( declarator )
+ // Rule 323: basic_direct_declarator ::= ( declarator )
//
- case 322: { action.builder.
+ case 323: { action.builder.
consumeDirectDeclaratorBracketed(); 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 324: 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.builder.
+ case 324: { action.builder.
consumeDirectDeclaratorFunctionDeclarator(true); break;
}
//
- // Rule 324: array_direct_declarator ::= array_direct_declarator array_modifier
+ // Rule 325: array_direct_declarator ::= array_direct_declarator array_modifier
//
- case 324: { action.builder.
+ case 325: { action.builder.
consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 325: array_direct_declarator ::= basic_direct_declarator array_modifier
+ // Rule 326: array_direct_declarator ::= basic_direct_declarator array_modifier
//
- case 325: { action.builder.
+ case 326: { action.builder.
consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 326: array_modifier ::= [ constant_expression ]
+ // Rule 327: array_modifier ::= [ constant_expression ]
//
- case 326: { action.builder.
+ case 327: { action.builder.
consumeDirectDeclaratorArrayModifier(true); break;
}
//
- // Rule 327: array_modifier ::= [ ]
+ // Rule 328: array_modifier ::= [ ]
//
- case 327: { action.builder.
+ case 328: { action.builder.
consumeDirectDeclaratorArrayModifier(false); break;
}
//
- // Rule 328: ptr_operator ::= * <openscope-ast> cv_qualifier_seq_opt
+ // Rule 329: ptr_operator ::= * <openscope-ast> cv_qualifier_seq_opt
//
- case 328: { action.builder.
+ case 329: { action.builder.
consumePointer(); break;
}
//
- // Rule 329: ptr_operator ::= &
+ // Rule 330: ptr_operator ::= &
//
- case 329: { action.builder.
+ case 330: { action.builder.
consumeReferenceOperator(); break;
}
//
- // Rule 330: ptr_operator ::= dcolon_opt nested_name_specifier * <openscope-ast> cv_qualifier_seq_opt
+ // Rule 331: ptr_operator ::= dcolon_opt nested_name_specifier * <openscope-ast> cv_qualifier_seq_opt
//
- case 330: { action.builder.
+ case 331: { action.builder.
consumePointerToMember(); break;
}
//
- // Rule 336: cv_qualifier ::= const
+ // Rule 337: cv_qualifier ::= const
//
- case 336: { action.builder.
+ case 337: { action.builder.
consumeDeclSpecToken(); break;
}
//
- // Rule 337: cv_qualifier ::= volatile
+ // Rule 338: cv_qualifier ::= volatile
//
- case 337: { action.builder.
+ case 338: { action.builder.
consumeDeclSpecToken(); break;
}
//
- // Rule 339: declarator_id_name ::= <empty> nested_name_specifier template_opt unqualified_id_name
+ // Rule 340: declarator_id_name ::= <empty> nested_name_specifier template_opt unqualified_id_name
//
- case 339: { action.builder.
+ case 340: { action.builder.
consumeQualifiedId(true); break;
}
//
- // Rule 340: type_id ::= type_specifier_seq
+ // Rule 341: type_id ::= type_specifier_seq
//
- case 340: { action.builder.
+ case 341: { action.builder.
consumeTypeId(false); break;
}
//
- // Rule 341: type_id ::= type_specifier_seq abstract_declarator
+ // Rule 342: type_id ::= type_specifier_seq abstract_declarator
//
- case 341: { action.builder.
+ case 342: { action.builder.
consumeTypeId(true); break;
}
//
- // Rule 344: abstract_declarator ::= <openscope-ast> ptr_operator_seq
+ // Rule 345: abstract_declarator ::= <openscope-ast> ptr_operator_seq
//
- case 344: { action.builder.
+ case 345: { action.builder.
consumeDeclaratorWithPointer(false); break;
}
//
- // Rule 345: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator
+ // Rule 346: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator
//
- case 345: { action.builder.
+ case 346: { action.builder.
consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 349: basic_direct_abstract_declarator ::= ( abstract_declarator )
+ // Rule 350: basic_direct_abstract_declarator ::= ( abstract_declarator )
//
- case 349: { action.builder.
+ case 350: { action.builder.
consumeDirectDeclaratorBracketed(); break;
}
//
- // Rule 350: array_direct_abstract_declarator ::= array_modifier
+ // Rule 351: array_direct_abstract_declarator ::= array_modifier
//
- case 350: { action.builder.
+ case 351: { action.builder.
consumeDirectDeclaratorArrayDeclarator(false); break;
}
//
- // Rule 351: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
+ // Rule 352: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
//
- case 351: { action.builder.
+ case 352: { action.builder.
consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 352: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
+ // Rule 353: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
//
- case 352: { action.builder.
+ case 353: { action.builder.
consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // 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
+ // 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 353: { action.builder.
+ case 354: { action.builder.
consumeDirectDeclaratorFunctionDeclarator(true); break;
}
//
- // Rule 354: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
+ // Rule 355: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
//
- case 354: { action.builder.
+ case 355: { action.builder.
consumeDirectDeclaratorFunctionDeclarator(false); break;
}
//
- // Rule 355: parameter_declaration_clause ::= parameter_declaration_list_opt ...
+ // Rule 356: parameter_declaration_clause ::= parameter_declaration_list_opt ...
//
- case 355: { action.builder.
+ case 356: { action.builder.
consumePlaceHolder(); break;
}
//
- // Rule 356: parameter_declaration_clause ::= parameter_declaration_list_opt
+ // Rule 357: parameter_declaration_clause ::= parameter_declaration_list_opt
//
- case 356: { action.builder.
+ case 357: { action.builder.
consumeEmpty(); break;
}
//
- // Rule 357: parameter_declaration_clause ::= parameter_declaration_list , ...
+ // Rule 358: parameter_declaration_clause ::= parameter_declaration_list , ...
//
- case 357: { action.builder.
+ case 358: { action.builder.
consumePlaceHolder(); break;
}
//
- // Rule 363: abstract_declarator_opt ::= $Empty
+ // Rule 364: abstract_declarator_opt ::= $Empty
//
- case 363: { action.builder.
+ case 364: { action.builder.
consumeEmpty(); break;
}
//
- // Rule 364: parameter_declaration ::= declaration_specifiers parameter_init_declarator
+ // Rule 365: parameter_declaration ::= declaration_specifiers parameter_init_declarator
//
- case 364: { action.builder.
+ case 365: { action.builder.
consumeParameterDeclaration(); break;
}
//
- // Rule 365: parameter_declaration ::= declaration_specifiers
+ // Rule 366: parameter_declaration ::= declaration_specifiers
//
- case 365: { action.builder.
+ case 366: { action.builder.
consumeParameterDeclarationWithoutDeclarator(); break;
}
//
- // Rule 367: parameter_init_declarator ::= declarator = parameter_initializer
+ // Rule 368: parameter_init_declarator ::= declarator = parameter_initializer
//
- case 367: { action.builder.
+ case 368: { action.builder.
consumeDeclaratorWithInitializer(true); break;
}
//
- // Rule 369: parameter_init_declarator ::= abstract_declarator = parameter_initializer
+ // Rule 370: parameter_init_declarator ::= abstract_declarator = parameter_initializer
//
- case 369: { action.builder.
+ case 370: { action.builder.
consumeDeclaratorWithInitializer(true); break;
}
//
- // Rule 370: parameter_init_declarator ::= = parameter_initializer
+ // Rule 371: parameter_init_declarator ::= = parameter_initializer
//
- case 370: { action.builder.
+ case 371: { action.builder.
consumeDeclaratorWithInitializer(false); break;
}
//
- // Rule 371: parameter_initializer ::= assignment_expression
+ // Rule 372: parameter_initializer ::= assignment_expression
//
- case 371: { action.builder.
+ case 372: { action.builder.
consumeInitializer(); break;
}
//
- // Rule 372: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body
+ // Rule 373: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body
//
- case 372: { action.builder.
+ case 373: { action.builder.
consumeFunctionDefinition(false); break;
}
//
- // Rule 373: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq
+ // Rule 374: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq
//
- case 373: { action.builder.
+ case 374: { action.builder.
consumeFunctionDefinition(true); break;
}
//
- // Rule 376: initializer ::= ( expression_list )
+ // Rule 377: initializer ::= ( expression_list )
//
- case 376: { action.builder.
+ case 377: { action.builder.
consumeInitializerConstructor(); break;
}
//
- // Rule 377: initializer_clause ::= assignment_expression
+ // Rule 378: initializer_clause ::= assignment_expression
//
- case 377: { action.builder.
+ case 378: { action.builder.
consumeInitializer(); break;
}
//
- // Rule 378: initializer_clause ::= { <openscope-ast> initializer_list , }
+ // Rule 379: initializer_clause ::= { <openscope-ast> initializer_list , }
//
- case 378: { action.builder.
+ case 379: { action.builder.
consumeInitializerList(); break;
}
//
- // Rule 379: initializer_clause ::= { <openscope-ast> initializer_list }
+ // Rule 380: initializer_clause ::= { <openscope-ast> initializer_list }
//
- case 379: { action.builder.
+ case 380: { action.builder.
consumeInitializerList(); break;
}
//
- // Rule 380: initializer_clause ::= { <openscope-ast> }
+ // Rule 381: initializer_clause ::= { <openscope-ast> }
//
- case 380: { action.builder.
+ case 381: { action.builder.
consumeInitializerList(); break;
}
//
- // Rule 385: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt }
+ // Rule 386: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt }
//
- case 385: { action.builder.
+ case 386: { action.builder.
consumeClassSpecifier(); break;
}
//
- // Rule 386: class_head ::= class_keyword identifier_name_opt <openscope-ast> base_clause_opt
+ // Rule 387: class_head ::= class_keyword identifier_name_opt <openscope-ast> base_clause_opt
//
- case 386: { action.builder.
+ case 387: { action.builder.
consumeClassHead(false); break;
}
//
- // Rule 387: class_head ::= class_keyword template_id_name <openscope-ast> base_clause_opt
+ // Rule 388: class_head ::= class_keyword template_id_name <openscope-ast> base_clause_opt
//
- case 387: { action.builder.
+ case 388: { action.builder.
consumeClassHead(false); break;
}
//
- // Rule 388: class_head ::= class_keyword nested_name_specifier identifier_name <openscope-ast> base_clause_opt
+ // Rule 389: class_head ::= class_keyword nested_name_specifier identifier_name <openscope-ast> base_clause_opt
//
- case 388: { action.builder.
+ case 389: { action.builder.
consumeClassHead(true); break;
}
//
- // Rule 389: class_head ::= class_keyword nested_name_specifier template_id_name <openscope-ast> base_clause_opt
+ // Rule 390: class_head ::= class_keyword nested_name_specifier template_id_name <openscope-ast> base_clause_opt
//
- case 389: { action.builder.
+ case 390: { action.builder.
consumeClassHead(true); break;
}
//
- // Rule 391: identifier_name_opt ::= $Empty
+ // Rule 392: identifier_name_opt ::= $Empty
//
- case 391: { action.builder.
+ case 392: { action.builder.
consumeEmpty(); break;
}
//
- // Rule 395: visibility_label ::= access_specifier_keyword :
+ // Rule 396: visibility_label ::= access_specifier_keyword :
//
- case 395: { action.builder.
+ case 396: { action.builder.
consumeVisibilityLabel(); break;
}
//
- // Rule 396: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ;
+ // Rule 397: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ;
//
- case 396: { action.builder.
+ case 397: { action.builder.
consumeDeclarationSimple(true, true); break;
}
//
- // Rule 397: member_declaration ::= declaration_specifiers_opt ;
+ // Rule 398: member_declaration ::= declaration_specifiers_opt ;
//
- case 397: { action.builder.
+ case 398: { action.builder.
consumeDeclarationSimple(false, false); break;
}
//
- // Rule 400: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ;
+ // Rule 401: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ;
//
- case 400: { action.builder.
+ case 401: { action.builder.
consumeMemberDeclarationQualifiedId(); break;
}
//
- // Rule 404: member_declaration ::= ERROR_TOKEN
+ // Rule 405: member_declaration ::= ERROR_TOKEN
//
- case 404: { action.builder.
+ case 405: { action.builder.
consumeDeclarationProblem(); break;
}
//
- // Rule 412: member_declarator ::= declarator constant_initializer
+ // Rule 413: member_declarator ::= declarator constant_initializer
//
- case 412: { action.builder.
+ case 413: { action.builder.
consumeMemberDeclaratorWithInitializer(); break;
}
//
- // Rule 413: member_declarator ::= bit_field_declarator : constant_expression
+ // Rule 414: member_declarator ::= bit_field_declarator : constant_expression
//
- case 413: { action.builder.
+ case 414: { action.builder.
consumeBitField(true); break;
}
//
- // Rule 414: member_declarator ::= : constant_expression
+ // Rule 415: member_declarator ::= : constant_expression
//
- case 414: { action.builder.
+ case 415: { action.builder.
consumeBitField(false); break;
}
//
- // Rule 415: bit_field_declarator ::= identifier_name
+ // Rule 416: bit_field_declarator ::= identifier_name
//
- case 415: { action.builder.
+ case 416: { action.builder.
consumeDirectDeclaratorIdentifier(); break;
}
//
- // Rule 416: constant_initializer ::= = constant_expression
+ // Rule 417: constant_initializer ::= = constant_expression
//
- case 416: { action.builder.
+ case 417: { action.builder.
consumeInitializer(); break;
}
//
- // Rule 422: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name
+ // Rule 423: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name
//
- case 422: { action.builder.
+ case 423: { action.builder.
consumeBaseSpecifier(false, false); break;
}
//
- // Rule 423: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name
+ // Rule 424: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name
//
- case 423: { action.builder.
+ case 424: { action.builder.
consumeBaseSpecifier(true, true); break;
}
//
- // Rule 424: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name
+ // Rule 425: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name
//
- case 424: { action.builder.
+ case 425: { action.builder.
consumeBaseSpecifier(true, true); break;
}
//
- // Rule 425: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name
+ // Rule 426: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name
//
- case 425: { action.builder.
+ case 426: { action.builder.
consumeBaseSpecifier(true, false); break;
}
//
- // Rule 426: access_specifier_keyword ::= private
+ // Rule 427: access_specifier_keyword ::= private
//
- case 426: { action.builder.
+ case 427: { action.builder.
consumeAccessKeywordToken(); break;
}
//
- // Rule 427: access_specifier_keyword ::= protected
+ // Rule 428: access_specifier_keyword ::= protected
//
- case 427: { action.builder.
+ case 428: { action.builder.
consumeAccessKeywordToken(); break;
}
//
- // Rule 428: access_specifier_keyword ::= public
+ // Rule 429: access_specifier_keyword ::= public
//
- case 428: { action.builder.
+ case 429: { action.builder.
consumeAccessKeywordToken(); break;
}
//
- // Rule 430: access_specifier_keyword_opt ::= $Empty
+ // Rule 431: access_specifier_keyword_opt ::= $Empty
//
- case 430: { action.builder.
+ case 431: { action.builder.
consumeEmpty(); break;
}
//
- // Rule 431: conversion_function_id_name ::= operator conversion_type_id
+ // Rule 432: conversion_function_id_name ::= operator conversion_type_id
//
- case 431: { action.builder.
+ case 432: { action.builder.
consumeConversionName(); break;
}
//
- // Rule 432: conversion_type_id ::= type_specifier_seq conversion_declarator
+ // Rule 433: conversion_type_id ::= type_specifier_seq conversion_declarator
//
- case 432: { action.builder.
+ case 433: { action.builder.
consumeTypeId(true); break;
}
//
- // Rule 433: conversion_type_id ::= type_specifier_seq
+ // Rule 434: conversion_type_id ::= type_specifier_seq
//
- case 433: { action.builder.
+ case 434: { action.builder.
consumeTypeId(false); break;
}
//
- // Rule 434: conversion_declarator ::= <openscope-ast> ptr_operator_seq
+ // Rule 435: conversion_declarator ::= <openscope-ast> ptr_operator_seq
//
- case 434: { action.builder.
+ case 435: { action.builder.
consumeDeclaratorWithPointer(false); break;
}
//
- // Rule 440: mem_initializer ::= mem_initializer_name ( expression_list_opt )
+ // Rule 441: mem_initializer ::= mem_initializer_name ( expression_list_opt )
//
- case 440: { action.builder.
+ case 441: { action.builder.
consumeConstructorChainInitializer(); break;
}
//
- // Rule 441: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name
+ // Rule 442: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name
//
- case 441: { action.builder.
+ case 442: { action.builder.
consumeQualifiedId(false); break;
}
//
- // Rule 444: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt >
+ // Rule 445: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt >
//
- case 444: { action.builder.
+ case 445: { action.builder.
consumeTemplateId(); break;
}
//
- // Rule 445: operator_id_name ::= operator overloadable_operator
+ // Rule 446: operator_id_name ::= operator overloadable_operator
//
- case 445: { action.builder.
+ case 446: { action.builder.
consumeOperatorName(); break;
}
//
- // Rule 488: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration
+ // Rule 489: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration
//
- case 488: { action.builder.
+ case 489: { action.builder.
consumeTemplateDeclaration(); break;
}
//
- // Rule 489: export_opt ::= export
+ // Rule 490: export_opt ::= export
//
- case 489: { action.builder.
+ case 490: { action.builder.
consumePlaceHolder(); break;
}
//
- // Rule 490: export_opt ::= $Empty
+ // Rule 491: export_opt ::= $Empty
//
- case 490: { action.builder.
+ case 491: { action.builder.
consumeEmpty(); break;
}
//
- // Rule 494: template_parameter ::= parameter_declaration
+ // Rule 495: template_parameter ::= parameter_declaration
//
- case 494: { action.builder.
+ case 495: { action.builder.
consumeTemplateParamterDeclaration(); break;
}
//
- // Rule 495: type_parameter ::= class identifier_name_opt
+ // Rule 496: type_parameter ::= class identifier_name_opt
//
- case 495: { action.builder.
+ case 496: { action.builder.
consumeSimpleTypeTemplateParameter(false); break;
}
//
- // Rule 496: type_parameter ::= class identifier_name_opt = type_id
+ // Rule 497: type_parameter ::= class identifier_name_opt = type_id
//
- case 496: { action.builder.
+ case 497: { action.builder.
consumeSimpleTypeTemplateParameter(true); break;
}
//
- // Rule 497: type_parameter ::= typename identifier_name_opt
+ // Rule 498: type_parameter ::= typename identifier_name_opt
//
- case 497: { action.builder.
+ case 498: { action.builder.
consumeSimpleTypeTemplateParameter(false); break;
}
//
- // Rule 498: type_parameter ::= typename identifier_name_opt = type_id
+ // Rule 499: type_parameter ::= typename identifier_name_opt = type_id
//
- case 498: { action.builder.
+ case 499: { action.builder.
consumeSimpleTypeTemplateParameter(true); break;
}
//
- // Rule 499: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt
+ // Rule 500: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt
//
- case 499: { action.builder.
+ case 500: { action.builder.
consumeTemplatedTypeTemplateParameter(false); break;
}
//
- // Rule 500: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression
+ // Rule 501: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression
//
- case 500: { action.builder.
+ case 501: { action.builder.
consumeTemplatedTypeTemplateParameter(true); break;
}
//
- // Rule 501: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt >
+ // Rule 502: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt >
//
- case 501: { action.builder.
+ case 502: { action.builder.
consumeTemplateId(); break;
}
//
- // Rule 509: explicit_instantiation ::= template declaration
+ // Rule 510: explicit_instantiation ::= template declaration
//
- case 509: { action.builder.
+ case 510: { action.builder.
consumeTemplateExplicitInstantiation(); break;
}
//
- // Rule 510: explicit_specialization ::= template < > declaration
+ // Rule 511: explicit_specialization ::= template < > declaration
//
- case 510: { action.builder.
+ case 511: { action.builder.
consumeTemplateExplicitSpecialization(); break;
}
//
- // Rule 511: try_block ::= try compound_statement <openscope-ast> handler_seq
+ // Rule 512: try_block ::= try compound_statement <openscope-ast> handler_seq
//
- case 511: { action.builder.
+ case 512: { action.builder.
consumeStatementTryBlock(); break;
}
//
- // Rule 514: handler ::= catch ( exception_declaration ) compound_statement
+ // Rule 515: handler ::= catch ( exception_declaration ) compound_statement
//
- case 514: { action.builder.
+ case 515: { action.builder.
consumeStatementCatchHandler(false); break;
}
//
- // Rule 515: handler ::= catch ( ... ) compound_statement
+ // Rule 516: handler ::= catch ( ... ) compound_statement
//
- case 515: { action.builder.
+ case 516: { action.builder.
consumeStatementCatchHandler(true); break;
}
//
- // Rule 516: exception_declaration ::= type_specifier_seq <openscope-ast> declarator
+ // Rule 517: exception_declaration ::= type_specifier_seq <openscope-ast> declarator
//
- case 516: { action.builder.
+ case 517: { action.builder.
consumeDeclarationSimple(true, false); break;
}
//
- // Rule 517: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator
+ // Rule 518: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator
//
- case 517: { action.builder.
+ case 518: { action.builder.
consumeDeclarationSimple(true, false); break;
}
//
- // Rule 518: exception_declaration ::= type_specifier_seq
+ // Rule 519: exception_declaration ::= type_specifier_seq
//
- case 518: { action.builder.
+ case 519: { action.builder.
consumeDeclarationSimple(false, false); break;
}
//
- // Rule 526: expression_parser_start ::= ERROR_TOKEN
+ // Rule 527: expression_parser_start ::= ERROR_TOKEN
//
- case 526: { action.builder.
+ case 527: { action.builder.
consumeExpressionProblem(); break;
}
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionStatementParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionStatementParserprs.java
index a928d340bed..ad24e22176c 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionStatementParserprs.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionStatementParserprs.java
@@ -40,471 +40,455 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse
0,0,1,1,1,1,1,1,1,1,
1,0,1,2,1,1,1,1,1,1,
1,1,1,1,1,1,1,3,1,1,
- 1,1,1,1,1,1,2,1,1,0,
- 1,0,4,2,2,2,3,2,3,2,
- 2,1,0,1,1,4,4,4,8,8,
- 3,3,4,4,3,3,2,2,7,7,
- 7,7,4,4,5,6,3,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,
- 3,2,2,1,4,2,1,2,5,7,
- 5,1,4,5,7,9,8,2,2,3,
- 2,3,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,2,1,0,
- 4,4,2,2,2,2,2,0,1,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,2,1,1,
+ 0,1,0,4,2,2,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,3,2,2,1,4,2,1,2,
+ 5,7,5,1,4,5,7,9,8,2,
+ 2,3,2,3,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,2,
+ 1,0,4,4,2,2,2,2,2,0,
+ 1,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,3,4,4,5,4,
- 5,4,5,6,1,3,1,0,1,3,
- 1,1,1,1,1,6,6,5,7,6,
- 1,0,6,5,6,4,1,3,1,0,
- 1,1,2,1,3,1,3,1,1,1,
- 1,3,9,2,2,3,2,3,1,5,
- 1,2,2,1,0,1,1,1,4,1,
- 2,1,1,2,3,1,1,1,3,1,
- 2,2,9,8,2,1,3,1,3,1,
- 0,1,0,2,1,1,3,1,3,2,
- 1,5,8,1,2,3,1,5,4,3,
- 1,3,1,1,5,4,4,5,5,1,
- 0,1,1,1,2,4,2,2,1,5,
- 1,1,1,1,1,2,1,0,1,3,
- 1,2,3,2,1,2,2,1,0,1,
- 3,3,5,5,4,1,1,1,1,0,
- 2,2,1,2,2,1,0,1,3,4,
- 3,1,1,5,2,1,1,3,3,1,
+ 1,1,1,1,1,1,3,4,4,5,
+ 4,5,4,5,6,1,3,1,0,1,
+ 3,1,1,1,1,1,6,6,5,7,
+ 6,1,0,6,5,6,4,1,3,1,
+ 0,1,1,2,1,3,1,3,1,1,
+ 1,1,3,9,2,2,3,2,3,1,
+ 5,1,2,2,1,0,1,1,1,4,
+ 1,2,1,1,2,3,1,1,1,3,
+ 1,2,2,9,8,2,1,3,1,3,
+ 1,0,1,0,2,1,1,3,1,3,
+ 2,1,5,8,1,2,3,1,5,4,
+ 3,1,3,1,1,5,4,4,5,5,
+ 1,0,1,1,1,2,4,2,2,1,
+ 5,1,1,1,1,1,2,1,0,1,
+ 3,1,2,3,2,1,2,2,1,0,
+ 1,3,3,5,5,4,1,1,1,1,
+ 0,2,2,1,2,2,1,0,1,3,
+ 4,3,1,1,5,2,1,1,3,3,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,2,2,7,1,0,
- 1,3,1,1,2,4,2,4,7,9,
- 5,1,3,1,0,1,1,1,2,4,
- 4,1,2,5,5,3,3,1,4,3,
- 1,0,1,3,2,1,-62,0,0,0,
- -2,0,0,0,0,0,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,1,2,
+ 4,4,1,2,5,5,3,3,1,4,
+ 3,1,0,1,3,2,1,-62,0,0,
+ 0,-64,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,-11,
- 0,0,0,0,0,0,0,0,0,-126,
- 0,0,0,0,0,-5,0,0,-71,0,
- 0,0,-3,0,0,0,0,0,0,0,
- -53,-363,-92,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,-193,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,-7,0,-514,
- 0,0,0,0,0,0,0,0,0,0,
- 0,-49,-8,0,-228,0,0,-224,0,0,
+ 0,0,0,0,0,0,0,0,-2,0,
+ 0,0,0,0,-416,0,0,0,-321,0,
+ 0,0,-5,0,0,0,0,0,-149,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,-405,0,0,0,0,-74,
+ 0,0,0,0,0,0,0,-242,-6,-50,
+ 0,0,0,0,0,0,0,0,-3,0,
+ 0,-49,-123,0,0,0,0,0,-52,0,
+ -7,-146,0,0,0,0,0,0,-65,-148,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-226,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,-113,0,0,
- 0,0,0,-263,0,0,0,-118,0,-16,
- 0,0,0,-57,-59,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,0,0,0,
- 0,0,-9,0,0,0,0,0,0,0,
- 0,-10,0,0,-142,0,0,0,0,-77,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-175,0,
- 0,0,-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,0,0,0,-117,0,0,0,0,
- -50,-56,0,0,0,0,0,0,0,0,
- -184,0,0,0,0,-12,0,-512,0,0,
- 0,-13,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- -15,0,0,0,0,0,-120,0,0,-20,
- 0,0,0,-258,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,-65,0,0,0,-60,-28,-522,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,-29,0,0,0,0,0,0,0,0,
- 0,-180,0,0,0,0,0,0,0,0,
- -72,0,0,0,-418,0,0,0,0,0,
- 0,0,-30,0,0,0,0,0,-4,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,-32,
- 0,-398,0,0,0,0,0,-33,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,0,0,0,0,0,0,-52,
- 0,0,-203,0,-138,0,0,0,0,0,
- -34,0,0,-312,0,0,0,-35,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-213,0,0,0,
- 0,-128,0,0,0,0,-297,0,0,0,
- 0,-337,-244,0,0,-146,0,0,0,-64,
- 0,0,0,0,0,0,0,0,0,-235,
- 0,0,0,-313,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-129,0,-36,0,0,0,
- 0,0,0,0,0,-473,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-299,0,0,-37,0,0,0,
- 0,0,0,-123,0,0,0,-140,0,-39,
- 0,0,0,-330,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,-107,0,0,0,0,-353,0,0,
- 0,-305,-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,0,0,
0,0,0,0,0,0,0,0,0,0,
- -452,0,0,0,-94,0,0,0,-38,0,
+ 0,-8,0,0,0,0,0,0,-177,0,
+ 0,0,-128,0,0,0,0,0,-130,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-315,0,0,
- 0,0,-40,0,0,-54,0,-380,0,0,
- 0,0,-310,0,0,0,-95,0,0,0,
- -55,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-340,
- 0,0,0,0,0,0,0,0,0,-447,
- 0,0,0,0,-58,0,0,0,-96,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-9,0,0,0,0,
+ 0,0,-455,0,0,0,0,0,0,-129,
+ -135,0,0,0,-178,0,0,-82,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-341,0,0,0,
- 0,0,0,0,0,0,-66,-151,0,0,
- -97,0,0,0,-67,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-430,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-197,
- 0,0,-98,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-224,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-458,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-324,0,0,-99,0,0,0,-69,0,
+ 0,0,-53,0,0,0,0,0,0,0,
+ 0,0,0,-56,0,0,0,0,0,-16,
+ 0,0,0,-262,-10,0,0,0,0,-515,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-70,0,0,
- 0,0,-109,0,0,-110,0,0,0,0,
- 0,0,-111,-349,0,0,-100,0,0,0,
- -432,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-112,
- 0,0,0,0,-119,0,0,-137,0,0,
- 0,0,0,0,-413,0,0,0,-101,0,
- 0,0,-494,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-152,0,0,0,0,-153,0,0,-154,
- 0,0,0,0,0,0,-417,0,0,0,
- -102,0,0,0,-155,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-156,0,0,0,0,-157,0,
- 0,-158,0,0,0,0,0,0,-159,-160,
- 0,0,-103,0,0,0,-161,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-162,0,0,0,0,
- -163,0,0,-164,0,0,0,0,0,0,
- -165,-166,0,0,-104,0,0,0,-167,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-288,0,0,
- 0,0,-168,0,0,-169,0,-170,0,0,
- 0,0,-171,-172,0,0,-133,0,0,0,
- -173,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-347,
- 0,0,0,0,-174,0,0,-177,0,-178,
- 0,0,0,0,-179,-214,0,0,0,-188,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-321,0,
- 0,0,0,-189,0,0,-194,0,-503,0,
- 0,0,0,-195,0,0,0,-147,0,0,
- 0,-242,0,0,0,-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,0,0,0,0,0,0,0,-198,0,
- 0,0,0,-209,0,0,0,-309,0,0,
- 0,-402,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- -260,0,0,0,0,0,0,0,0,0,
- -332,0,0,0,0,-323,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,0,0,0,0,0,0,0,0,
- 0,0,0,-149,0,0,0,0,0,0,
- 0,0,0,0,0,-470,-335,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-370,
- 0,0,0,0,0,0,0,-407,0,-108,
- 0,0,0,0,-358,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,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,-219,-220,0,0,
- 0,0,-176,0,0,-359,0,0,0,0,
+ 0,-205,0,0,0,0,-290,0,0,0,
+ 0,0,0,0,0,0,0,-340,0,0,
+ -525,0,0,0,-12,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,-350,0,0,0,0,0,0,-335,0,
+ 0,-4,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-114,0,0,-415,0,-221,0,
- 0,0,0,-405,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-333,0,
+ 0,0,-230,0,0,0,0,0,-126,0,
+ 0,0,-48,0,0,-13,0,-278,0,0,
0,0,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,0,0,
- 0,-326,0,0,0,-223,-237,0,0,0,
- 0,-233,0,0,-106,0,0,0,0,0,
+ 0,0,0,0,-375,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-186,0,
+ 0,0,-315,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-239,0,0,
- 0,0,-416,0,0,-247,0,-472,0,0,
- -145,0,-93,0,0,0,0,0,0,0,
+ 0,0,0,0,-140,0,0,0,0,0,
+ 0,0,0,-246,0,0,0,0,0,0,
+ -324,0,0,-237,0,0,0,0,0,0,
+ 0,-57,0,0,-316,0,0,0,-216,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,-15,0,0,-28,0,
+ 0,0,-136,0,0,-476,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-150,0,-91,0,0,
- 0,-199,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,-29,
+ 0,0,-313,0,0,0,-39,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-135,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,-136,0,0,0,0,-271,0,
- -89,0,0,0,-261,0,0,0,0,0,
+ 0,0,0,-30,0,0,0,0,0,0,
+ 0,0,0,-353,0,0,0,0,0,-41,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-262,0,0,0,0,-90,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,-247,0,0,0,0,0,0,0,0,
+ 0,0,0,-435,0,0,-142,0,0,0,
+ 0,-94,0,0,0,-265,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-272,0,0,0,0,-51,0,0,0,
- 0,0,0,-273,-345,0,0,0,0,0,
- 0,0,0,0,-61,-229,0,0,0,-342,
- 0,0,0,-82,0,0,0,0,0,0,
+ 0,0,0,-318,0,0,0,0,-366,0,
+ 0,0,0,0,0,0,0,0,-31,-383,
+ 0,0,-95,0,0,0,-401,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,-83,0,0,0,0,0,0,0,
+ 0,0,0,0,-32,0,0,0,0,-450,
+ 0,0,0,0,0,0,-184,0,0,-59,
+ 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,-277,0,0,0,-207,
- 0,0,-278,0,0,0,0,-127,0,0,
- 0,-352,0,0,0,0,-289,0,0,0,
- 0,0,-208,-248,0,0,0,-325,0,0,
- 0,0,0,0,0,0,0,0,0,-249,
- 0,0,0,0,-269,0,0,0,-293,0,
- 0,-397,0,0,0,0,-298,0,0,0,
- 0,0,0,0,-84,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-303,0,0,
- 0,-85,0,0,0,-304,0,0,0,0,
+ 0,0,0,0,-33,0,0,0,0,0,
+ -34,-282,0,0,-97,0,0,0,-35,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-320,0,0,0,-86,0,
+ 0,0,0,0,0,0,-36,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,-37,0,0,0,-98,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-87,0,0,0,-334,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-387,0,0,
- -1,0,0,-336,0,-366,-367,-360,0,0,
- 0,-265,-373,-279,-280,0,0,-481,0,0,
- 0,-121,0,0,0,0,0,-375,0,-236,
- -212,0,0,0,0,0,0,-403,0,0,
- -378,0,0,0,0,0,0,0,0,0,
- -132,-384,0,0,-385,0,0,0,0,-243,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-455,0,0,0,0,0,
+ 0,0,-60,-38,0,0,-99,0,0,0,
+ -40,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-54,0,
+ 0,0,0,0,0,0,0,-421,0,0,
+ -185,0,0,-107,0,0,0,-100,0,0,
+ 0,-55,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,-506,0,
+ 0,-187,0,0,-108,0,0,0,-101,0,
0,0,0,0,0,0,0,0,0,0,
- -182,-200,0,0,0,0,0,0,-134,-48,
- -372,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-234,0,0,0,
- 0,0,0,0,0,0,0,0,-393,0,
- -250,0,-368,0,0,-139,0,0,0,-471,
- 0,0,0,0,0,-183,0,-185,-73,0,
- -396,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-148,0,0,0,0,0,0,0,
+ -66,0,0,0,0,0,0,0,0,-507,
+ 0,0,-189,0,0,-67,0,0,0,-102,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-187,0,-478,0,0,0,0,-404,
- -442,-196,-406,-479,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-274,0,
- 0,0,-408,0,-251,-252,0,-409,-210,0,
- 0,0,0,-74,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-410,0,0,
+ 0,-69,0,0,0,0,-209,0,0,0,
+ 0,0,0,-192,0,0,-114,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,-18,0,0,0,-230,0,0,
+ 0,0,-70,0,0,0,0,0,0,0,
+ 0,-109,0,0,-203,0,0,-147,0,0,
+ 0,-104,0,0,0,-110,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-111,0,0,0,0,0,0,
+ 0,0,-112,0,0,-153,0,0,-199,-294,
+ 0,0,-133,0,0,0,-119,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-369,0,0,0,0,0,0,0,0,
- 0,-286,0,0,0,0,0,-253,0,0,
- -78,0,0,0,-412,0,0,0,0,0,
+ 0,0,0,0,-260,0,0,0,0,-259,
+ 0,0,0,-137,0,0,-144,0,0,-138,
+ 0,-217,0,0,0,-373,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-423,0,-238,0,0,0,0,
- 0,0,0,0,0,-425,-21,0,0,0,
- -354,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-427,-232,
- 0,-190,-411,-428,-285,0,0,0,0,0,
- -429,-270,0,-47,0,0,0,-254,0,-443,
- -431,0,0,0,0,0,-433,0,0,-434,
- 0,0,0,-355,0,0,0,0,0,-255,
- 0,0,0,0,0,0,-294,0,0,0,
+ 0,0,0,0,0,0,0,0,-139,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-122,-241,0,0,0,0,-308,
- -435,0,0,0,0,0,0,0,0,0,
- -144,-424,0,0,0,0,0,0,0,0,
- 0,-79,0,0,0,-440,0,0,0,0,
+ 0,0,0,-212,0,0,0,0,0,-328,
+ -509,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-444,0,-476,0,-436,-124,
- 0,-322,0,0,-451,0,-388,0,0,0,
- -453,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -317,0,0,0,0,0,0,0,0,0,
- 0,-460,0,0,0,0,0,0,0,0,
- 0,-268,0,0,0,-468,0,-391,-486,0,
- 0,0,0,-376,0,0,0,0,0,0,
- 0,0,0,0,0,-141,0,0,0,0,
- 0,0,-295,0,0,0,0,0,0,0,
- 0,-306,0,0,0,-487,0,0,0,0,
- -502,0,0,0,0,0,0,0,0,0,
- 0,0,-488,0,0,0,0,-507,0,0,
- 0,0,0,-181,0,0,0,0,0,0,
- 0,0,0,0,0,0,-466,0,0,0,
- 0,-266,-377,0,0,0,-500,0,0,-14,
- 0,0,-493,0,0,0,0,0,0,0,
+ 0,-154,0,0,0,0,0,0,0,0,
+ 0,-312,0,0,0,-410,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-192,0,0,0,
+ 0,0,0,-155,0,0,0,0,-208,0,
+ 0,0,0,0,0,-156,0,0,-326,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-515,0,0,0,0,0,0,0,
- 0,0,0,0,0,-201,-206,0,0,0,
- 0,0,0,-226,0,0,-316,0,0,0,
- 0,0,0,0,0,0,0,0,0,-227,
- 0,0,-520,0,0,-504,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -461,0,0,0,0,0,-202,0,0,0,
+ -273,0,0,0,0,-232,0,0,0,-157,
+ 0,0,0,0,0,-71,0,0,0,-158,
+ 0,0,0,0,0,0,0,-420,0,-338,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-523,0,-475,0,0,0,0,0,
- 0,0,0,0,0,-231,-17,0,0,0,
- 0,0,0,-256,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-489,0,0,0,0,
- 0,0,0,0,0,0,-338,0,0,-275,
- 0,0,-267,0,0,-482,0,0,-501,0,
- 0,0,0,0,0,0,0,0,0,-80,
+ 0,-159,0,0,0,0,-228,0,0,0,
+ 0,0,0,0,0,0,-361,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-311,0,
+ 0,0,0,-229,0,0,0,0,0,0,
+ -160,0,0,-72,0,0,0,-161,0,0,
+ 0,0,0,0,0,0,0,-362,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,-302,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-282,0,0,0,0,
- 0,0,0,0,0,0,-301,0,0,0,
- 0,0,0,0,0,0,-389,0,0,0,
- -495,0,0,-246,-186,0,0,0,-382,-287,
- 0,-283,0,0,-300,0,0,0,0,-191,
- 0,0,0,0,0,0,-314,0,0,-371,
- 0,0,0,0,0,0,-319,0,0,0,
+ 0,0,0,0,-408,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-348,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-162,0,0,0,
+ 0,-233,0,0,0,0,0,0,-163,0,
+ 0,-517,0,0,0,-164,0,0,0,0,
+ 0,0,0,-165,0,-106,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-394,0,0,0,0,
- 0,0,-257,-498,0,0,0,0,0,0,
- 0,0,0,0,0,0,-43,-327,0,-329,
- 0,0,0,0,0,-296,-307,0,0,0,
- -240,-381,-343,-245,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-448,0,
- -364,-419,0,0,0,0,0,0,-420,-454,
+ 0,0,0,0,0,0,0,-308,0,0,
+ 0,0,0,0,0,0,0,0,0,-235,
+ 0,0,-93,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-166,0,0,0,0,-258,
+ 0,0,0,0,0,-92,0,0,0,-327,
+ 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,-88,0,0,0,-167,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-344,0,0,
+ 0,0,0,0,-89,0,0,0,-168,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,-169,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-170,0,0,0,0,-51,0,
+ 0,0,-152,0,-171,-172,-83,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-173,0,
+ 0,0,0,0,-201,-84,0,0,0,-174,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,-77,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-175,0,0,0,0,-195,0,
+ 0,0,-176,-418,-151,0,0,0,0,0,
+ 0,0,0,0,0,0,-244,0,0,0,
+ -371,0,0,0,0,0,0,0,-116,-484,
+ 0,0,0,0,0,-359,0,0,0,0,
+ 0,0,0,0,0,-231,0,0,-179,0,
+ 0,0,0,0,0,-85,0,0,0,-180,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-390,0,0,
+ 0,0,0,-358,0,0,-181,0,0,-190,
+ -202,0,0,0,0,0,0,0,0,0,
+ -121,0,0,0,0,0,-400,0,0,0,
+ -356,0,0,-14,0,0,-406,0,0,-479,
+ 0,0,0,0,0,0,0,0,0,0,
+ -191,-196,0,-299,0,0,-347,-419,0,-197,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-458,0,-200,0,0,
+ 0,0,0,0,0,0,0,0,-391,0,
+ 0,0,-277,0,0,-211,0,0,0,0,
+ 0,0,0,-214,0,0,0,0,0,0,
+ 0,0,0,0,0,-222,0,0,0,0,
+ 0,0,0,0,0,0,0,-474,-320,0,
+ -223,0,0,0,-234,0,-236,0,0,-352,
+ 0,-498,0,-250,0,0,0,0,-225,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-239,-241,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,-267,0,0,-249,0,0,-127,0,0,
+ 0,0,0,-481,0,-263,-433,0,-264,0,
+ 0,0,-210,0,0,0,0,0,0,0,
+ 0,0,0,0,-274,0,0,0,0,0,
+ -61,0,-238,-275,0,0,0,0,0,0,
+ -279,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-482,0,0,0,0,
+ 0,0,0,0,0,-280,-245,-182,0,-118,
+ 0,-464,0,-291,-289,0,-43,0,0,-501,
+ 0,0,0,0,0,0,0,0,0,0,
+ -461,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-145,
+ 0,0,0,-497,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-105,0,0,
+ -295,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-329,0,0,0,0,0,0,
+ 0,0,0,-445,0,-268,0,0,0,0,
+ 0,-86,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-502,0,0,-87,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-296,0,
+ 0,-240,0,0,0,0,-357,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,-303,0,-252,0,0,-414,-372,
+ 0,0,0,-348,0,0,0,0,-301,0,
+ 0,0,0,0,-306,0,0,0,0,0,
+ 0,0,0,0,-1,0,0,0,0,-307,
+ -345,0,0,0,-253,0,0,0,-323,-272,
+ 0,-337,0,0,0,0,0,0,0,0,
+ -339,0,-369,0,0,0,0,0,-251,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,-79,0,0,0,-446,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-73,-439,0,-317,
+ 0,0,-309,0,-370,-398,0,0,0,0,
+ 0,0,0,0,0,0,0,-376,0,0,
+ 0,0,0,0,0,0,0,0,-378,-522,
+ -355,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ -248,-489,0,-293,0,0,-254,0,0,-120,
+ -394,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-381,-387,0,0,0,-243,
+ 0,0,0,0,-388,0,0,0,0,0,
+ -491,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-18,0,
+ 0,0,0,0,0,0,-374,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-496,
+ -396,0,-454,0,0,0,0,0,0,0,
+ 0,0,0,0,-399,0,0,0,0,0,
+ 0,0,-47,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-518,0,
+ -407,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-417,0,0,0,0,-322,0,
+ 0,-255,0,0,0,0,-409,0,0,0,
+ 0,0,0,0,0,0,0,-523,-411,-412,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-269,-141,0,0,0,0,
+ -183,0,0,0,0,-413,0,0,0,0,
+ 0,0,0,0,0,0,-526,0,-415,-469,
+ 0,0,0,0,0,0,0,0,0,0,
+ -426,-468,0,-122,0,0,0,0,0,-287,
+ 0,0,0,0,-428,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-430,0,-431,
+ 0,0,0,0,0,0,0,0,-432,0,
+ 0,0,-284,0,0,0,0,-198,0,0,
+ 0,0,0,-434,0,0,0,0,0,0,
+ 0,0,0,-304,0,0,0,0,0,0,
+ 0,0,0,-44,0,0,-297,0,-363,0,
+ 0,0,-475,-385,-218,-330,0,0,0,0,
+ 0,0,0,-332,0,0,-436,0,0,0,
+ 0,0,0,0,0,0,-346,0,0,0,
+ 0,0,0,0,-473,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,-368,-437,-319,0,0,
+ 0,-397,-438,0,0,0,-271,0,0,0,
+ -443,0,0,0,0,0,0,0,0,0,
+ -503,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,-451,-132,-447,-382,0,-117,0,
+ 0,-456,-215,0,0,0,0,-463,0,-285,
+ 0,0,0,-45,0,0,0,0,-478,0,
+ 0,0,0,0,0,0,0,0,-150,0,
+ 0,0,0,-351,-367,0,0,0,0,0,
+ 0,0,0,0,0,-453,-354,-124,0,0,
+ 0,-276,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,-499,0,0,0,0,0,0,0,
+ -188,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-480,0,0,
+ -134,0,0,-386,0,-471,0,0,-422,0,
+ 0,-490,0,-270,0,0,-389,-505,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,-510,-504,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-508,
+ 0,0,0,0,-423,0,0,0,0,-219,
+ 0,-512,0,0,0,-17,0,-424,-425,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-450,0,0,0,0,-365,-379,-291,-462,
- 0,0,0,0,0,-383,0,-42,0,0,
+ 0,0,0,0,0,0,0,0,-288,0,
0,0,0,0,0,0,0,0,0,0,
+ -429,0,0,0,0,0,0,0,0,-513,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-519,0,0,0,0,0,0,
- 0,0,0,0,-477,0,0,0,0,0,
- 0,0,-386,0,-421,0,0,0,0,0,
- 0,0,-422,0,-426,-445,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-505,
- 0,0,0,0,-509,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,
- -302,0,0,0,0,0,0,0,0,0,
- 0,-68,0,-449,0,0,-510,0,-211,0,
+ 0,0,0,0,0,0,0,-80,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-464,0,0,0,0,0,0,
- -456,0,0,-457,0,0,0,0,-467,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,-485,0,0,0,0,0,
- 0,-469,0,0,0,0,0,0,-22,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,-22,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -23,0,0,0,0,0,0,0,0,0,
+ 0,0,-23,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-24,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,-25,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-26,0,0,0,
- 0,0,0,0,0,0,0,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,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,-26,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-76,0,0,0,0,0,
+ 0,0,0,0,0,0,-27,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-131,0,0,0,
+ 0,0,0,0,0,0,0,-63,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-204,0,
+ 0,0,0,0,0,0,0,0,-75,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-76,
0,0,0,0,0,0,0,0,0,0,
- -318,0,0,0,-513,0,0,0,0,0,
- -483,-491,0,0,0,0,-484,0,0,0,
- 0,-125,0,0,0,0,0,-518,-496,-328,
- 0,0,0,0,0,-259,0,0,0,0,
- -497,0,0,0,0,0,-511,-390,0,0,
- 0,0,0,0,-516,0,-521,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ -131,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-311,-339,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-356,0,
- 0,0,0,0,0,0,0,0,-414,0,
- 0,0,0,0,0,-474,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,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,-284,0,0,0,0,0,0,0,
+ 0,-206,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-331,0,
+ 0,0,-494,0,0,0,0,-457,0,0,
+ 0,0,-19,0,0,0,-314,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -105,-215,0,0,0,0,-357,0,0,0,
- 0,0,0,0,0,0,0,-463,0,0,
- 0,0,0,0,0,0,0,-216,0,0,
- 0,0,-217,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-351,
+ 0,0,-125,0,0,0,0,0,0,-516,
+ -334,0,0,0,0,0,0,0,0,0,
+ -379,0,0,0,0,-485,0,0,0,0,
+ 0,-448,0,0,0,0,0,-452,-402,-465,
+ -459,0,0,-46,0,0,0,0,0,-477,
+ 0,0,0,0,0,0,0,0,0,-460,
+ 0,0,0,0,0,0,0,0,0,-467,
+ 0,0,0,-472,-305,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-521,-470,0,
+ 0,0,0,0,0,-220,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,0,0,0,-360,0,0,
+ 0,-349,0,0,0,0,0,0,0,0,
+ 0,-466,0,0,0,0,-486,0,0,0,
+ 0,0,0,-42,-341,0,0,0,-488,0,
+ 0,0,0,-266,0,0,0,0,0,0,
+ 0,0,0,0,-256,0,-395,0,0,0,
+ 0,0,-227,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,-344,0,0,0,0,0,-225,0,0,
- 0,0,0,-395,0,0,0,0,0,0,
- 0,0,0,0,0,-361,0,0,0,0,
- 0,0,0,0,-362,0,0,0,-374,0,
+ 0,0,0,0,0,0,0,0,0,-193,
+ 0,0,0,0,-500,0,0,0,0,0,
+ 0,0,-310,0,0,0,0,0,0,0,
+ 0,-331,0,0,0,0,-342,0,0,0,
+ -257,-221,0,0,0,0,0,0,0,0,
+ 0,0,-364,0,0,0,0,0,-365,0,
+ 0,0,-384,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-459,0,
+ -487,0,0,0,0,0,0,-377,0,0,
+ 0,0,0,0,0,-499,0,0,0,0,
+ 0,-462,0,0,0,0,0,-483,0,0,
+ 0,0,0,-514,0,0,0,0,0,-519,
+ -524,0,-194,0,0,0,0,-292,0,0,
+ -68,0,0,0,0,0,-286,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-44,0,0,0,0,0,
- 0,0,-480,0,0,0,0,0,0,0,
- 0,0,-399,0,-437,0,0,0,0,0,
- 0,0,0,-438,0,0,0,0,0,0,
- 0,0,-439,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,-204,
+ 0,0,0,0,-213,0,0,0,-261,0,
+ 0,0,0,0,-283,0,0,0,0,0,
+ 0,0,-143,0,-325,-440,0,0,0,0,
+ 0,-441,-442,0,0,0,0,0,0,-444,
0,0,0,0,0,0,0,0,0,0,
- -441,0,0,0,0,0,0,-45,0,0,
- 0,0,0,0,0,-46,0,0,-205,0,
- -400,0,0,0,0,0,-346,-401,0,-446,
0,0,0,0,0,0,0,0,0,0,
- -392,0,0,0,0,0,0,0,-333,0,
+ 0,0,0,0,0,0,0,-207,0,0,
+ 0,0,-403,0,0,0,0,0,-392,0,
+ 0,0,0,-404,-449,0,0,0,0,0,
+ 0,-511,-336,0,0,0,-520,0,0,0,
+ 0,0,0,-393,-495,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,0,0,0,-490,0,
- 0,0,0,0,0,-508,0,0,0,0,
- 0,0,-517,-218,0,-290,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,
@@ -513,7 +497,7 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
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;
@@ -523,521 +507,505 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse
public interface BaseAction {
public final static char baseAction[] = {
- 170,4,53,78,78,33,33,64,64,38,
- 38,190,190,191,191,192,192,1,1,15,
- 15,15,15,15,15,15,15,16,16,16,
- 14,10,10,8,8,8,8,8,2,65,
- 65,5,5,11,11,11,11,43,43,132,
- 132,133,61,61,42,17,17,17,17,17,
- 17,17,17,17,17,17,17,17,17,17,
- 17,17,17,17,17,134,134,134,114,18,
- 18,18,18,18,18,18,18,18,18,18,
- 18,18,19,19,171,171,172,172,173,137,
- 137,138,138,135,135,139,136,136,20,20,
- 21,21,22,22,22,24,24,24,24,25,
- 25,25,26,26,26,27,27,27,27,27,
- 29,29,29,30,30,32,32,34,34,35,
- 35,36,36,37,37,41,41,40,40,40,
- 40,40,40,40,40,40,40,40,40,40,
- 39,28,140,140,98,98,102,102,93,193,
- 193,69,69,69,69,69,69,69,69,69,
- 70,70,70,71,71,56,56,174,174,72,
- 72,72,115,115,73,73,73,73,74,74,
- 74,74,74,75,75,79,79,79,79,79,
- 79,79,48,48,48,48,48,105,105,106,
- 106,49,175,23,23,23,23,23,47,47,
- 88,88,88,88,88,147,147,142,142,142,
- 142,142,143,143,143,144,144,144,145,145,
- 145,146,146,146,89,89,89,89,89,90,
- 90,90,12,13,13,13,13,13,13,13,
- 13,13,13,13,99,119,119,119,119,119,
- 117,117,117,118,118,149,149,148,148,121,
- 121,150,83,83,84,84,86,87,85,51,
- 46,151,151,52,50,82,82,152,152,141,
- 141,122,123,123,77,77,153,153,62,62,
- 62,58,58,57,63,63,67,67,55,55,
- 55,91,91,101,100,100,60,60,59,59,
- 54,54,44,103,103,103,94,94,94,95,
- 96,96,96,97,97,107,107,107,109,109,
- 108,108,194,194,92,92,177,177,177,177,
- 177,125,45,45,155,176,176,126,126,126,
- 126,178,178,31,31,116,127,127,127,127,
- 110,110,120,120,120,157,158,158,158,158,
- 158,158,158,158,158,181,181,179,179,180,
- 180,159,159,159,159,160,182,112,111,111,
- 183,183,161,161,161,161,104,104,104,184,
- 184,9,185,185,186,162,154,154,163,163,
- 164,165,165,6,6,7,167,167,167,167,
- 167,167,167,167,167,167,167,167,167,167,
- 167,167,167,167,167,167,167,167,167,167,
- 167,167,167,167,167,167,167,167,167,167,
- 167,167,167,167,167,167,167,167,66,68,
- 68,168,168,128,128,129,129,129,129,129,
- 129,3,169,169,166,166,130,130,130,80,
- 81,76,156,156,113,113,187,187,187,131,
- 131,124,124,188,188,170,170,958,38,1548,
- 1529,37,2756,34,901,31,35,30,32,1598,
- 262,29,27,55,938,110,80,81,112,962,
- 590,1022,993,1038,1030,3014,1088,1081,274,1217,
- 590,1177,1319,1343,147,3297,82,162,148,1487,
- 38,872,36,1589,2793,34,901,31,35,62,
- 32,508,2256,2351,38,872,36,232,2894,34,
- 901,31,35,30,32,866,262,29,27,55,
- 938,110,80,81,112,962,1362,1022,993,1038,
- 1030,525,1088,1739,486,235,230,231,327,38,
- 1445,384,2307,38,872,36,275,2894,34,901,
- 31,35,30,32,866,262,29,27,55,938,
- 90,80,81,242,245,248,251,2642,1299,274,
- 1914,38,872,36,1595,3849,34,901,31,35,
- 30,32,45,1852,500,1146,675,566,1174,846,
- 718,907,3064,3120,4172,1496,38,872,36,2367,
- 2894,34,901,31,35,1810,32,866,262,29,
- 27,55,938,110,80,81,112,962,342,1022,
- 993,1038,1030,66,1088,1081,354,1217,1176,1177,
- 1319,1343,147,521,984,506,148,276,1695,2385,
- 66,38,1395,46,2094,508,45,901,3623,507,
- 1496,38,872,36,2367,2894,34,901,31,35,
- 1810,32,866,262,29,27,55,938,110,80,
- 81,112,962,342,1022,993,1038,1030,4107,1088,
- 1081,2083,1217,1979,1177,1319,1343,147,328,334,
- 506,148,2095,809,2385,45,386,418,232,999,
- 2351,38,872,36,507,2894,34,901,31,35,
- 30,32,866,262,29,27,55,938,110,80,
- 81,112,962,2473,1632,502,244,230,231,327,
- 38,2078,2077,1761,38,872,36,2367,2894,34,
- 901,31,35,1810,32,866,262,29,27,55,
- 938,110,80,81,112,962,342,1022,993,1038,
- 1030,1808,1088,1081,1815,1217,2562,1177,1319,1343,
- 147,1260,45,506,148,2417,730,2385,239,262,
- 502,327,38,3350,3334,1214,1627,507,1562,38,
- 872,36,2137,2894,34,901,31,35,30,32,
- 866,262,29,27,55,938,110,80,81,112,
- 962,445,1022,993,1038,1030,1854,1088,1081,1815,
- 1217,2190,1177,1319,1343,147,232,2007,377,148,
- 2351,38,872,36,1623,2894,34,901,31,35,
- 30,32,866,262,29,27,55,938,110,80,
- 81,89,380,820,240,230,231,508,2646,1634,
- 38,872,36,503,2894,34,901,31,35,30,
- 32,866,262,29,27,55,938,110,80,81,
- 112,962,1661,1022,993,1038,1030,232,1088,1081,
- 28,1217,1805,1177,1319,1343,147,3244,385,377,
- 148,1624,38,872,36,2103,2793,34,901,31,
- 35,61,32,235,381,247,230,231,2073,1935,
- 38,872,36,378,2894,34,901,31,35,30,
- 32,866,262,29,27,55,938,110,80,81,
- 112,962,1152,1022,993,1038,1030,332,1088,1081,
- 1014,1217,2472,1177,1319,1343,147,432,153,162,
- 148,3796,1935,38,872,36,3764,2894,34,901,
- 31,35,30,32,866,262,29,27,55,938,
- 110,80,81,112,962,382,1022,993,1038,1030,
- 1788,1088,1081,2444,1217,590,1177,1319,1343,147,
- 3377,124,371,148,1935,38,872,36,943,2894,
- 34,901,31,35,30,32,866,262,29,27,
- 55,938,110,80,81,112,962,1104,1022,993,
- 1038,1030,1788,1088,1081,65,1217,820,1177,1319,
- 1343,147,2587,855,371,148,1606,38,872,36,
- 1755,3849,34,901,31,35,64,32,2073,566,
- 327,38,2078,277,1935,38,872,36,487,2894,
- 34,901,31,35,30,32,866,262,29,27,
- 55,938,110,80,81,112,962,370,1022,993,
- 1038,1030,2073,1088,1081,1788,1217,1054,1177,1319,
- 1343,147,2162,1214,371,148,1870,38,872,36,
- 449,2894,34,901,31,35,30,32,866,262,
- 29,27,55,938,110,80,81,112,962,369,
- 1022,993,1038,1030,590,1088,1081,907,1217,4180,
- 1177,1319,1343,147,1092,1844,377,148,1788,3560,
- 1696,38,872,36,2593,2894,34,901,31,35,
- 30,32,866,262,29,27,55,938,110,80,
- 81,112,962,448,1022,993,1038,1030,1758,1088,
- 1081,2467,1217,508,1177,1319,1343,147,2593,367,
- 146,148,2128,1935,38,872,36,4234,2894,34,
- 901,31,35,30,32,866,262,29,27,55,
- 938,110,80,81,112,962,74,1022,993,1038,
- 1030,3196,1088,1081,412,1217,4129,1177,1319,1343,
- 147,2177,375,163,148,1935,38,872,36,155,
- 2894,34,901,31,35,30,32,866,262,29,
- 27,55,938,110,80,81,112,962,820,1022,
- 993,1038,1030,1247,1088,1081,333,1217,2256,1177,
- 1319,1343,147,327,2362,159,148,1935,38,872,
- 36,420,2894,34,901,31,35,30,32,866,
- 262,29,27,55,938,110,80,81,112,962,
- 590,1022,993,1038,1030,4466,1088,1081,2981,1217,
- 2256,1177,1319,1343,147,2378,436,158,148,1935,
- 38,872,36,2375,2894,34,901,31,35,30,
- 32,866,262,29,27,55,938,110,80,81,
- 112,962,3570,1022,993,1038,1030,590,1088,1081,
- 436,1217,4475,1177,1319,1343,147,1072,1788,157,
- 148,1935,38,872,36,2387,2894,34,901,31,
- 35,30,32,866,262,29,27,55,938,110,
- 80,81,112,962,590,1022,993,1038,1030,4499,
- 1088,1081,353,1217,286,1177,1319,1343,147,521,
- 1788,156,148,1935,38,872,36,313,2894,34,
- 901,31,35,30,32,866,262,29,27,55,
- 938,110,80,81,112,962,590,1022,993,1038,
- 1030,4523,1088,1081,323,1217,56,1177,1319,1343,
- 147,521,1788,155,148,1935,38,872,36,1185,
- 2894,34,901,31,35,30,32,866,262,29,
- 27,55,938,110,80,81,112,962,1301,1022,
- 993,1038,1030,154,1088,1081,589,1217,326,1177,
- 1319,1343,147,1122,1788,154,148,1935,38,872,
- 36,2653,2894,34,901,31,35,30,32,866,
- 262,29,27,55,938,110,80,81,112,962,
- 1259,1022,993,1038,1030,691,1088,1081,1922,1217,
- 101,1177,1319,1343,147,327,2831,153,148,1935,
- 38,872,36,2662,2894,34,901,31,35,30,
- 32,866,262,29,27,55,938,110,80,81,
- 112,962,2057,1022,993,1038,1030,2162,1088,1081,
- 1897,1217,102,1177,1319,1343,147,327,3115,152,
- 148,1935,38,872,36,1926,2894,34,901,31,
- 35,30,32,866,262,29,27,55,938,110,
- 80,81,112,962,2008,1022,993,1038,1030,588,
- 1088,1081,675,1217,513,1177,1319,1343,147,762,
- 849,151,148,1935,38,872,36,670,2894,34,
- 901,31,35,30,32,866,262,29,27,55,
- 938,110,80,81,112,962,757,1022,993,1038,
- 1030,1172,1088,1081,2377,1217,513,1177,1319,1343,
- 147,2586,1248,150,148,1935,38,872,36,298,
- 2894,34,901,31,35,30,32,866,262,29,
- 27,55,938,110,80,81,112,962,2563,1022,
- 993,1038,1030,1171,1088,1081,936,1217,952,1177,
- 1319,1343,147,2130,2252,149,148,1826,38,872,
- 36,2447,2894,34,901,31,35,30,32,866,
- 262,29,27,55,938,110,80,81,112,962,
- 2563,1022,993,1038,1030,2448,1088,1081,1691,1217,
- 1024,1177,1319,1899,168,430,1935,38,872,36,
- 2032,2894,34,901,31,35,30,32,866,262,
- 29,27,55,938,110,80,81,112,962,855,
- 1022,993,1038,1030,778,1088,1081,931,1217,2103,
- 1177,1319,1343,147,2404,327,144,148,327,38,
- 1445,384,1928,38,2078,277,2259,38,872,36,
- 1480,2894,34,901,31,35,30,32,866,262,
- 29,27,55,938,110,80,81,112,962,37,
- 1022,993,1038,1030,92,1088,1081,106,1217,1073,
- 1177,1319,1343,147,1689,515,193,148,2351,38,
- 872,36,2568,2894,34,901,31,35,30,32,
- 866,262,29,27,55,938,110,80,81,112,
- 962,1853,1022,993,1038,1030,93,1088,1081,106,
- 1217,2647,1177,1319,1899,168,2351,38,872,36,
- 1589,2894,34,901,31,35,30,32,866,262,
- 29,27,55,938,110,80,81,112,962,398,
- 1022,993,1038,1030,1800,1088,1081,2467,1217,396,
- 1177,1319,1899,168,1606,38,872,36,400,3849,
- 34,901,31,35,63,32,2568,2351,38,872,
- 36,290,2894,34,901,31,35,30,32,866,
- 262,29,27,55,938,110,80,81,112,962,
- 1589,1022,993,1038,1030,512,1088,1081,1589,1217,
- 508,1177,1319,1899,168,2351,38,872,36,1564,
- 2894,34,901,31,35,30,32,866,262,29,
- 27,55,938,110,80,81,112,962,300,1022,
- 993,1038,1030,73,1088,1081,183,1217,1571,1177,
- 1319,1899,168,2140,38,872,36,2511,2483,34,
- 901,43,35,327,38,2119,2351,38,872,36,
- 414,2894,34,901,31,35,30,32,866,262,
- 29,27,55,938,110,80,81,112,962,512,
- 1022,993,1038,1030,508,1088,1081,1589,1217,2533,
- 1177,1319,1899,168,2395,38,872,36,413,2894,
- 34,901,31,35,30,32,866,262,29,27,
- 55,938,110,80,81,112,962,58,1022,993,
- 1038,1030,1613,1088,1081,199,1217,1479,1177,1319,
- 1899,168,2140,38,872,36,1552,1216,34,901,
- 1950,35,327,38,282,2351,38,872,36,416,
- 2894,34,901,31,35,30,32,866,262,29,
- 27,55,938,110,80,81,112,962,1095,1022,
- 993,1038,1030,1589,1088,1081,1817,1217,45,1177,
- 1768,508,999,2351,38,872,36,3071,2894,34,
- 901,31,35,30,32,866,262,29,27,55,
- 938,110,80,81,112,962,4179,1022,993,1038,
- 1030,198,1088,1081,91,1217,508,1763,2351,38,
- 872,36,508,2894,34,901,31,35,30,32,
- 866,262,29,27,55,938,110,80,81,112,
- 962,75,1022,993,1038,1030,507,1088,1081,57,
- 1732,2351,38,872,36,349,2894,34,901,31,
- 35,30,32,866,262,29,27,55,938,110,
- 80,81,112,962,1417,1022,993,1038,1030,1623,
- 1721,2351,38,872,36,2035,2894,34,901,31,
- 35,30,32,866,262,29,27,55,938,110,
- 80,81,112,962,1787,1022,993,1038,1724,2351,
- 38,872,36,351,2894,34,901,31,35,30,
- 32,866,262,29,27,55,938,110,80,81,
- 112,962,1981,1022,993,1038,1731,2439,38,1445,
- 384,352,2458,283,1141,2140,38,872,36,237,
- 262,34,901,339,35,1924,2463,38,280,2671,
- 327,38,1445,384,2351,38,872,36,274,2894,
- 34,901,31,35,30,32,866,262,29,27,
- 55,938,110,80,81,112,962,1063,1022,993,
- 1679,422,3244,2351,38,872,36,232,2894,34,
- 901,31,35,30,32,866,262,29,27,55,
- 938,110,80,81,112,962,2096,1022,993,1682,
- 1814,2495,350,2479,3654,235,230,231,414,38,
- 1445,384,2140,38,872,36,275,2041,34,901,
- 2020,35,331,508,327,38,1445,384,1479,343,
- 2304,2276,348,242,245,248,251,2642,341,54,
- 1928,38,2078,2499,1595,327,38,2078,281,2473,
- 1437,1847,1620,3011,3004,274,94,2550,972,846,
- 718,907,3064,3120,4172,2351,38,872,36,618,
- 2894,34,901,31,35,30,32,866,262,29,
- 27,55,938,110,80,81,112,962,2609,1022,
- 993,1689,2351,38,872,36,1522,2894,34,901,
- 31,35,30,32,866,262,29,27,55,938,
- 110,80,81,112,962,2624,1022,993,1690,2351,
- 38,872,36,78,2894,34,901,31,35,30,
- 32,866,262,29,27,55,938,110,80,81,
- 112,962,76,1022,1697,2351,38,872,36,1123,
- 2894,34,901,31,35,30,32,866,262,29,
- 27,55,938,110,80,81,112,962,175,1022,
- 1716,1422,527,97,2618,999,1070,2628,327,38,
- 1445,384,1111,2595,942,1490,2367,4186,327,38,
- 291,229,1021,38,1820,2823,160,3545,2663,160,
- 508,1369,38,1445,384,229,184,2028,1,425,
- 573,2688,527,204,215,4454,203,212,213,214,
- 216,1063,2588,54,173,2625,3244,1931,401,4432,
- 508,229,274,3450,1437,861,160,187,171,172,
- 174,175,176,177,178,2108,184,2028,402,2367,
- 2334,324,325,204,215,4454,203,212,213,214,
- 216,45,1213,3550,173,668,2367,3244,229,1186,
- 334,2146,185,2712,999,2618,331,188,171,172,
- 174,175,176,177,178,2966,2315,2463,38,278,
- 206,215,4454,205,212,213,214,216,164,2039,
- 2206,508,2768,2165,38,390,1554,38,1445,384,
- 2596,207,2832,2334,2367,77,45,331,45,334,
- 4448,2693,665,999,217,208,209,210,211,292,
- 293,294,295,229,72,186,350,54,3459,403,
- 406,531,2658,501,38,1445,384,164,1437,1073,
- 3775,3117,2849,2832,358,206,215,4454,205,212,
- 213,214,216,343,2304,2276,348,618,2114,2650,
- 2167,2198,2252,1224,54,2715,207,2898,2334,2367,
- 2629,1589,1472,2631,2726,1437,1107,3244,2367,217,
- 208,209,210,211,292,293,294,295,229,327,
- 38,2078,279,2695,2651,508,508,229,2699,327,
- 38,1445,384,2672,45,3775,3541,2246,999,202,
- 206,215,4454,205,212,213,214,216,2705,206,
- 215,4454,205,212,213,214,216,332,71,70,
- 54,207,160,2334,1385,38,1445,384,1146,350,
- 207,51,2334,1438,217,208,209,210,211,292,
- 293,294,295,217,208,209,210,211,292,293,
- 294,295,2165,38,390,54,345,2304,2276,348,
- 3775,3624,327,38,2078,2565,1437,933,508,3775,
- 3693,2351,38,872,36,2709,2894,34,901,31,
- 35,30,32,866,262,29,27,55,938,110,
- 80,81,112,962,2678,1637,1198,38,872,36,
- 3552,69,34,901,338,35,2258,2351,38,1548,
- 1529,2103,2894,34,901,31,35,30,32,866,
- 262,29,27,55,938,110,80,81,88,2686,
- 1540,2362,45,262,2697,508,3000,527,37,387,
- 418,2725,1540,2362,327,38,1445,384,334,4278,
- 1589,1350,999,319,2635,321,229,2745,314,2634,
- 88,160,2675,350,1466,38,442,374,3577,4479,
- 334,184,2028,2453,999,54,164,508,204,215,
- 4454,203,212,213,214,216,1437,708,200,173,
- 343,2304,2276,348,2486,2474,38,278,164,2446,
- 1623,2668,3096,171,172,174,175,176,177,178,
- 60,1231,1376,38,872,36,4619,3244,34,901,
- 338,35,2351,38,872,36,2467,2894,34,901,
- 31,35,30,32,866,262,29,27,55,938,
- 110,80,81,112,1640,2738,3047,1623,2083,349,
- 2876,285,334,527,232,1589,999,1678,38,442,
- 2932,2707,4479,285,284,4278,372,331,3203,319,
- 2635,321,229,364,314,2634,2859,160,2309,2374,
- 164,1213,250,230,231,2367,3244,184,2028,1311,
- 3070,2374,2682,221,204,215,4454,203,212,213,
- 214,216,2006,4339,2966,173,2754,3647,1723,436,
- 232,298,2367,527,327,38,1445,384,180,171,
- 172,174,175,176,177,178,1931,435,2633,2648,
- 2367,342,229,508,307,311,331,160,253,230,
- 231,520,1139,47,1904,424,2739,184,2028,342,
- 3592,2764,2385,3125,204,215,4454,203,212,213,
- 214,216,523,523,3131,173,59,527,2136,5143,
- 2450,5143,4151,358,327,38,1445,384,191,171,
- 172,174,175,176,177,178,229,1589,2650,2167,
- 2198,160,1146,327,38,1445,384,327,38,291,
- 1980,184,2028,610,2367,54,1272,527,204,215,
- 4454,203,212,213,214,216,1437,2166,5143,173,
- 439,2633,2648,342,423,4649,229,327,38,1445,
- 384,160,3238,171,172,174,175,176,177,178,
- 5143,184,2028,697,851,5143,429,527,204,215,
- 4454,203,212,213,214,216,45,45,54,173,
- 3651,1123,5143,420,45,5143,229,508,3262,1437,
- 2737,160,194,171,172,174,175,176,177,178,
- 2505,184,2028,784,3453,2546,2103,527,204,215,
- 4454,203,212,213,214,216,3679,5143,3327,173,
- 322,1923,5143,389,418,2367,229,327,38,1445,
- 384,160,190,171,172,174,175,176,177,178,
- 5143,184,2028,871,342,1589,1427,527,204,215,
- 4454,203,212,213,214,216,45,45,54,173,
- 3012,527,514,5143,45,3895,229,4155,3646,1437,
- 3065,160,197,171,172,174,175,176,177,178,
- 342,184,2028,304,5143,160,1589,445,204,215,
- 4454,203,212,213,214,216,937,2006,5143,173,
- 45,2385,3647,1146,4233,431,2165,38,390,1589,
- 5143,725,196,171,172,174,175,176,177,178,
- 2351,38,872,36,4656,2894,34,901,31,35,
- 30,32,866,262,29,27,55,938,110,80,
- 81,112,1655,2351,38,872,36,303,2894,34,
- 901,31,35,30,32,866,262,29,27,55,
- 938,110,80,81,112,1674,1148,38,872,36,
- 3151,5143,34,901,338,35,5143,1234,38,2599,
- 36,4619,3244,34,901,338,35,327,38,1445,
- 384,1623,5143,5143,2590,1481,38,1445,384,2808,
- 45,1272,1063,2367,1839,1431,5143,3244,4167,1234,
- 414,38,1445,384,388,418,3221,45,441,4278,
- 2103,4442,229,319,2635,321,54,45,314,2634,
- 4278,4597,331,350,319,2635,321,1437,52,314,
- 2634,54,508,3337,206,215,4454,205,212,213,
- 214,216,1437,52,1122,305,2386,331,421,2859,
- 343,2304,2276,348,5143,207,1994,2334,4339,2252,
- 2367,2172,5143,1174,1623,105,374,5143,488,208,
- 209,210,211,292,293,294,295,45,45,229,
- 45,2367,4400,4151,1268,5143,1174,2150,38,1445,
- 384,2478,2648,45,1063,2367,2367,582,5143,3244,
- 342,206,215,4454,205,212,213,214,216,2819,
- 5143,508,508,2367,2966,2966,49,1904,54,1962,
- 508,2385,207,3623,2334,5143,409,2624,297,1437,
- 52,1553,229,1623,5143,509,208,209,210,211,
- 292,293,294,295,3728,440,3623,1941,2390,3729,
- 5143,5143,519,3395,206,215,4454,205,212,213,
- 214,216,2890,333,334,3783,2367,45,45,2025,
- 508,1348,4611,5143,3244,207,45,2334,45,5143,
- 4533,5143,527,358,494,229,330,334,306,208,
- 209,210,211,292,293,294,295,296,3005,2167,
- 2198,342,5143,3179,1548,5143,160,206,215,4454,
- 205,212,213,214,216,2633,5143,2030,5143,2367,
- 492,493,2385,45,3729,45,5143,1912,207,1390,
- 2334,98,1263,2235,5143,45,45,3669,229,2695,
- 1996,510,208,209,210,211,292,293,294,295,
- 1685,38,872,36,3552,1589,34,901,338,35,
- 206,215,4454,205,212,213,214,216,379,5143,
- 5143,2012,38,872,36,4619,5143,34,901,338,
- 35,207,45,2334,45,5143,527,1589,2760,327,
- 38,1445,384,4663,218,208,209,210,211,292,
- 293,294,295,4278,508,342,100,319,2635,321,
- 160,45,314,2634,45,2825,5143,350,2834,45,
- 54,937,5143,4162,4278,222,2385,516,319,2635,
- 321,1437,933,314,2634,2558,2211,3233,5143,3810,
- 5143,5143,508,5143,343,2304,2276,348,3337,2351,
- 38,872,36,517,2894,34,901,31,35,30,
- 32,866,262,29,27,55,938,110,80,81,
- 87,2351,38,872,36,3273,2894,34,901,31,
- 35,30,32,866,262,29,27,55,938,110,
- 80,81,86,2351,38,872,36,5143,2894,34,
- 901,31,35,30,32,866,262,29,27,55,
- 938,110,80,81,85,2351,38,872,36,5143,
- 2894,34,901,31,35,30,32,866,262,29,
- 27,55,938,110,80,81,84,2351,38,872,
- 36,5143,2894,34,901,31,35,30,32,866,
- 262,29,27,55,938,110,80,81,83,2351,
- 38,872,36,5143,2894,34,901,31,35,30,
- 32,866,262,29,27,55,938,110,80,81,
- 82,2208,38,872,36,5143,2894,34,901,31,
- 35,30,32,866,262,29,27,55,938,110,
- 80,81,108,2351,38,872,36,5143,2894,34,
- 901,31,35,30,32,866,262,29,27,55,
- 938,110,80,81,114,2351,38,872,36,5143,
- 2894,34,901,31,35,30,32,866,262,29,
- 27,55,938,110,80,81,113,2351,38,872,
- 36,5143,2894,34,901,31,35,30,32,866,
- 262,29,27,55,938,110,80,81,111,2351,
- 38,872,36,5143,2894,34,901,31,35,30,
- 32,866,262,29,27,55,938,110,80,81,
- 109,1315,38,872,36,1589,3244,34,901,338,
- 35,508,1337,38,872,36,4619,508,34,901,
- 338,35,2502,38,1445,384,5143,2458,1589,508,
- 501,38,1445,384,238,262,327,38,1445,384,
- 5143,45,5143,299,1849,868,5143,508,334,5143,
- 3356,5143,999,274,4278,508,332,508,319,2635,
- 321,54,376,315,2634,4278,195,54,350,319,
- 2635,321,1437,52,314,2634,164,5143,1437,1117,
- 4178,5143,232,1174,2150,38,1445,384,3353,1311,
- 3393,2462,5143,5143,5143,345,2304,2276,348,1544,
- 38,2599,36,4619,5143,34,901,338,35,2334,
- 236,230,231,999,5143,54,2012,38,872,36,
- 4619,275,34,901,338,35,1437,52,327,38,
- 1445,384,5143,5143,307,311,5143,160,243,246,
- 249,252,2642,3623,5143,2628,3672,201,3020,1595,
- 5143,5143,4278,3847,5143,5143,319,2635,321,54,
- 5143,314,2634,1458,3131,5143,5143,2367,5143,4278,
- 1437,1338,5143,319,2635,321,1122,5143,314,2634,
- 5143,5143,5143,3653,334,5143,2966,5143,5143,1328,
- 38,872,36,1311,3244,34,901,338,35,5143,
- 5143,45,45,5143,5143,999,999,1328,38,872,
- 36,5143,3244,34,901,338,35,5143,2012,38,
- 872,36,4619,5143,34,901,338,35,45,160,
- 160,5143,999,45,5143,5143,5143,999,308,311,
- 1766,2751,4278,5143,332,5143,319,2635,321,5143,
- 2648,317,2634,5143,2367,359,160,5143,410,2624,
- 4278,160,332,5143,319,2635,321,2855,5143,315,
- 2634,4278,2856,2966,5143,319,2635,321,5143,5143,
- 314,2634,1059,38,872,36,3527,5143,34,901,
- 338,35,2478,5143,5143,3216,2367,5143,1029,5143,
- 5143,5143,2367,4186,2124,38,872,36,3082,5143,
- 34,901,338,35,5143,2966,2150,38,1445,384,
- 397,229,5143,5143,5143,2150,38,1445,384,2150,
- 38,1445,384,5143,5143,4278,5143,5143,5143,316,
- 2538,321,494,1931,401,4432,5143,54,5143,2170,
- 38,1445,384,5143,5143,5143,54,4278,1437,52,
- 54,316,2538,321,402,45,2334,1437,52,2367,
- 5143,1437,52,2174,38,1445,384,3184,491,493,
- 54,5143,5143,2675,358,45,3263,2367,342,527,
- 3537,1437,52,5143,45,5143,5143,5143,527,3671,
- 2167,2198,2315,2674,54,5143,2966,527,342,2385,
- 2638,5143,5143,160,5143,1437,52,342,2626,1556,
- 5143,45,160,5143,192,527,3879,5143,45,4368,
- 5143,160,2367,192,3267,3555,45,5143,4368,45,
- 2367,45,166,2367,342,2367,5143,1174,45,160,
- 45,342,2367,5143,2367,403,405,3555,5143,342,
- 192,1174,342,5143,342,4368,5143,5143,5143,1063,
- 5143,342,2385,342,3244,494,5143,914,5143,2632,
- 2385,5143,1563,2385,5143,2385,5143,2674,5143,5143,
- 1590,999,2385,2680,2385,498,5143,5143,5143,2674,
- 3730,5143,496,999,524,3257,2674,3623,5143,3864,
- 999,491,493,2674,45,160,45,999,999,5143,
- 999,3623,5143,5143,331,5143,166,160,45,5143,
- 5143,5143,999,5143,160,5143,3902,5143,166,5143,
- 5143,160,160,5143,160,166,5143,3727,334,5143,
- 5143,3021,166,2938,5143,1522,160,5143,5143,5143,
- 4357,3785,334,5143,5143,5143,5143,4197,5143,5143,
- 5143,5143,5143,5143,5143,5143,5143,5143,4637,5143,
- 5143,5143,5143,5143,5143,5143,5143,5143,5143,3436,
- 5143,5143,5143,5143,5143,5143,5143,5143,5143,5143,
- 5143,3815,5143,5143,5143,5143,5143,5143,4205,5143,
- 5143,5143,5143,5143,5143,4207,5143,0,42,5161,
- 0,42,5160,0,662,33,0,443,852,0,
- 41,5161,0,41,5160,0,2515,130,0,1,
- 433,0,447,1112,0,446,1175,0,662,44,
- 0,775,95,0,662,383,0,384,36,0,
- 36,384,0,662,33,383,0,383,33,0,
- 33,383,0,42,1858,0,1,550,0,1,
- 5416,0,1,5415,0,1,5414,0,1,5413,
- 0,1,5412,0,1,5411,0,1,5410,0,
- 1,5409,0,1,5408,0,1,5407,0,1,
- 5406,0,42,1,5161,0,42,1,5160,0,
- 720,1,0,5377,241,0,5376,241,0,5480,
- 241,0,5479,241,0,5404,241,0,5403,241,
- 0,5402,241,0,5401,241,0,5400,241,0,
- 5399,241,0,5398,241,0,5397,241,0,5416,
- 241,0,5415,241,0,5414,241,0,5413,241,
- 0,5412,241,0,5411,241,0,5410,241,0,
- 5409,241,0,5408,241,0,5407,241,0,5406,
- 241,0,42,241,5161,0,42,241,5160,0,
- 5184,241,0,53,5161,0,53,5160,0,237,
- 2720,0,48,5182,0,48,40,0,5161,53,
- 0,5160,53,0,2515,132,0,2515,131,0,
- 30,508,0,5472,434,0,2711,434,0,5184,
- 1,0,42,1,0,52,40,0,1,96,
- 0,40,52,0,5184,228,1,0,42,228,
- 1,0,228,408,0,40,5161,0,40,5160,
- 0,1,5161,2,0,1,5160,2,0,40,
- 5161,2,0,40,5160,2,0,5161,39,0,
- 5160,39,0,5182,50,0,50,40,0,5153,
- 399,0,5152,399,0,1,3831,0,1,1858,
- 0,1,3270,0,228,407,0,3567,318,0,
- 5472,99,0,2711,99,0,1,5472,0,1,
- 2711,0,42,1,5161,2,0,42,1,5160,
- 2,0,42,5161,2,0,42,5160,2,0,
- 279,3018,0,1,2753,0,1,2922,0,5151,
- 1,0,490,3616,0,228,1,0,228,1,
- 2833,0,5153,228,0,5152,228,0,3030,228,
- 0,8,10,0,228,220,0,228,219,0,
- 189,3313,0
+ 169,4,52,77,77,31,31,63,63,37,
+ 37,189,189,190,190,191,191,1,1,14,
+ 14,14,14,14,14,14,14,15,15,15,
+ 13,10,10,8,8,8,8,8,8,2,
+ 64,64,5,5,11,11,11,11,42,42,
+ 131,131,132,60,60,41,16,16,16,16,
+ 16,16,16,16,16,16,16,16,16,16,
+ 16,16,16,16,16,16,133,133,133,113,
+ 113,17,17,17,17,17,17,17,17,17,
+ 17,17,17,17,18,18,170,170,171,171,
+ 172,136,136,137,137,134,134,138,135,135,
+ 19,19,20,20,21,21,21,23,23,23,
+ 23,24,24,24,25,25,25,26,26,26,
+ 26,26,28,28,28,29,29,30,30,32,
+ 32,33,33,35,35,36,36,40,40,39,
+ 39,39,39,39,39,39,39,39,39,39,
+ 39,39,38,27,139,139,97,97,101,101,
+ 92,192,192,68,68,68,68,68,68,68,
+ 68,68,69,69,69,70,70,55,55,173,
+ 173,71,71,71,114,114,72,72,72,72,
+ 73,73,73,73,73,74,74,78,78,78,
+ 78,78,78,78,47,47,47,47,47,104,
+ 104,105,105,48,174,22,22,22,22,22,
+ 46,46,87,87,87,87,87,146,146,141,
+ 141,141,141,141,142,142,142,143,143,143,
+ 144,144,144,145,145,145,88,88,88,88,
+ 88,89,89,89,12,12,12,12,12,12,
+ 12,12,12,12,12,100,118,118,118,118,
+ 118,116,116,116,117,117,148,148,147,147,
+ 120,120,149,82,82,83,83,85,86,84,
+ 50,45,150,150,51,49,81,81,151,151,
+ 140,140,121,122,122,76,76,152,152,61,
+ 61,61,57,57,56,62,62,66,66,54,
+ 54,54,90,90,99,98,98,59,59,58,
+ 58,53,53,43,102,102,102,93,93,93,
+ 94,95,95,95,96,96,106,106,106,108,
+ 108,107,107,193,193,91,91,176,176,176,
+ 176,176,124,44,44,154,175,175,125,125,
+ 125,125,177,177,34,34,115,126,126,126,
+ 126,109,109,119,119,119,156,157,157,157,
+ 157,157,157,157,157,157,180,180,178,178,
+ 179,179,158,158,158,158,159,181,111,110,
+ 110,182,182,160,160,160,160,103,103,103,
+ 183,183,9,184,184,185,161,153,153,162,
+ 162,163,164,164,6,6,7,166,166,166,
+ 166,166,166,166,166,166,166,166,166,166,
+ 166,166,166,166,166,166,166,166,166,166,
+ 166,166,166,166,166,166,166,166,166,166,
+ 166,166,166,166,166,166,166,166,166,65,
+ 67,67,167,167,127,127,128,128,128,128,
+ 128,128,3,168,168,165,165,129,129,129,
+ 79,80,75,155,155,112,112,186,186,186,
+ 130,130,123,123,187,187,169,169,969,39,
+ 1769,1740,1360,3226,34,1116,31,35,30,32,
+ 1734,29,27,56,1119,112,82,83,114,1160,
+ 860,1289,1194,1365,1315,3153,1379,1371,1412,38,
+ 1397,1454,275,1461,149,418,2794,164,150,1328,
+ 39,986,36,1096,3231,34,1116,339,35,418,
+ 1602,2554,38,2359,39,986,36,234,3109,34,
+ 1116,31,35,30,32,905,29,27,56,1119,
+ 112,82,83,114,1160,1757,1289,1194,1365,1315,
+ 31,1379,1371,2229,942,237,232,233,1546,776,
+ 1489,4415,2279,333,2399,320,1372,322,276,2019,
+ 316,1148,31,1374,2501,351,675,162,4240,1203,
+ 2852,126,1428,244,247,250,253,2471,1696,390,
+ 1500,39,986,36,1707,4405,34,1116,31,35,
+ 65,32,346,1123,771,349,526,573,2233,3469,
+ 2710,3060,3264,3518,4023,1509,39,986,36,2279,
+ 3109,34,1116,31,35,2430,32,905,29,27,
+ 56,1119,112,82,83,114,1160,343,1289,1194,
+ 1365,1315,4423,1379,1371,1412,1784,1397,1454,359,
+ 1461,149,214,2750,507,150,488,513,2671,418,
+ 39,2554,2566,1203,3270,2619,2620,1730,508,1509,
+ 39,986,36,2279,3109,34,1116,31,35,2430,
+ 32,905,29,27,56,1119,112,82,83,114,
+ 1160,343,1289,1194,1365,1315,302,1379,1371,1412,
+ 1244,1397,1454,1117,1461,149,329,335,507,150,
+ 1203,1565,2671,48,2546,418,39,2581,2359,39,
+ 986,36,508,3109,34,1116,31,35,30,32,
+ 905,29,27,56,1119,112,82,83,114,1160,
+ 450,1289,1194,1942,503,433,1774,39,986,36,
+ 2279,3109,34,1116,31,35,2430,32,905,29,
+ 27,56,1119,112,82,83,114,1160,343,1289,
+ 1194,1365,1315,1921,1379,1371,1412,352,1397,1454,
+ 2419,1461,149,2457,31,507,150,449,729,2671,
+ 66,39,1520,47,2658,654,46,1116,503,508,
+ 1575,39,986,36,487,3109,34,1116,31,35,
+ 30,32,905,29,27,56,1119,112,82,83,
+ 114,1160,1568,1289,1194,1365,1315,2748,1379,1371,
+ 1412,399,1397,1454,2510,1461,149,2457,2754,378,
+ 150,1647,39,986,36,952,3109,34,1116,31,
+ 35,30,32,905,29,27,56,1119,112,82,
+ 83,114,1160,381,1289,1194,1365,1315,1234,1379,
+ 1371,1412,2748,1397,1454,504,1461,149,314,2599,
+ 378,150,1944,39,986,36,2750,3109,34,1116,
+ 31,35,30,32,905,29,27,56,1119,112,
+ 82,83,114,1160,379,1289,1194,1365,1315,611,
+ 1379,1371,1412,425,1397,1454,397,1461,149,860,
+ 775,164,150,1075,4353,382,742,942,1944,39,
+ 986,36,719,3109,34,1116,31,35,30,32,
+ 905,29,27,56,1119,112,82,83,114,1160,
+ 166,1289,1194,1365,1315,2256,1379,1371,1412,2448,
+ 1397,1454,94,1461,149,108,383,372,150,418,
+ 39,1984,1947,1944,39,986,36,3030,3109,34,
+ 1116,31,35,30,32,905,29,27,56,1119,
+ 112,82,83,114,1160,860,1289,1194,1365,1315,
+ 4400,1379,1371,1412,2074,1397,1454,95,1461,149,
+ 108,2074,372,150,418,39,2554,278,188,413,
+ 1617,573,2105,387,419,1944,39,986,36,2455,
+ 3109,34,1116,31,35,30,32,905,29,27,
+ 56,1119,112,82,83,114,1160,390,1289,1194,
+ 1365,1315,371,1379,1371,1412,1006,1397,1454,1079,
+ 1461,149,2857,2106,372,150,1884,39,986,36,
+ 437,3109,34,1116,31,35,30,32,905,29,
+ 27,56,1119,112,82,83,114,1160,2701,1289,
+ 1194,1365,1315,2750,1379,1371,1412,370,1397,1454,
+ 2452,1461,149,418,2665,378,150,1709,39,986,
+ 36,2784,3109,34,1116,31,35,30,32,905,
+ 29,27,56,1119,112,82,83,114,1160,353,
+ 1289,1194,1365,1315,1981,1379,1371,1412,887,1397,
+ 1454,2714,1461,149,2019,932,148,150,2714,368,
+ 1944,39,986,36,325,3109,34,1116,31,35,
+ 30,32,905,29,27,56,1119,112,82,83,
+ 114,1160,1697,1289,1194,1365,1315,3231,1379,1371,
+ 1412,401,1397,1454,2816,1461,149,1203,446,165,
+ 150,376,1944,39,986,36,777,3109,34,1116,
+ 31,35,30,32,905,29,27,56,1119,112,
+ 82,83,114,1160,390,1289,1194,1365,1315,1627,
+ 1379,1371,1412,287,1397,1454,3054,1461,149,1097,
+ 1627,161,150,1944,39,986,36,1190,3109,34,
+ 1116,31,35,30,32,905,29,27,56,1119,
+ 112,82,83,114,1160,1167,1289,1194,1365,1315,
+ 1627,1379,1371,1412,3972,1397,1454,31,1461,149,
+ 1921,668,160,150,1944,39,986,36,2894,3109,
+ 34,1116,31,35,30,32,905,29,27,56,
+ 1119,112,82,83,114,1160,514,1289,1194,1365,
+ 1315,3951,1379,1371,1412,154,1397,1454,100,1461,
+ 149,75,2697,159,150,1944,39,986,36,233,
+ 3109,34,1116,31,35,30,32,905,29,27,
+ 56,1119,112,82,83,114,1160,1052,1289,1194,
+ 1365,1315,355,1379,1371,1412,2030,1397,1454,522,
+ 1461,149,1080,354,158,150,1944,39,986,36,
+ 522,3109,34,1116,31,35,30,32,905,29,
+ 27,56,1119,112,82,83,114,1160,326,1289,
+ 1194,1365,1315,324,1379,1371,1412,2030,1397,1454,
+ 522,1461,149,1921,1107,157,150,1944,39,986,
+ 36,1245,3109,34,1116,31,35,30,32,905,
+ 29,27,56,1119,112,82,83,114,1160,1202,
+ 1289,1194,1365,1315,28,1379,1371,1412,2313,1397,
+ 1454,31,1461,149,1921,4213,156,150,1944,39,
+ 986,36,1257,3109,34,1116,31,35,30,32,
+ 905,29,27,56,1119,112,82,83,114,1160,
+ 1153,1289,1194,1365,1315,75,1379,1371,1412,2313,
+ 1397,1454,31,1461,149,1921,973,155,150,1944,
+ 39,986,36,4052,3109,34,1116,31,35,30,
+ 32,905,29,27,56,1119,112,82,83,114,
+ 1160,978,1289,1194,1365,1315,74,1379,1371,1412,
+ 2313,1397,1454,2185,1461,149,1630,1896,154,150,
+ 1944,39,986,36,516,3109,34,1116,31,35,
+ 30,32,905,29,27,56,1119,112,82,83,
+ 114,1160,1198,1289,1194,1365,1315,2023,1379,1371,
+ 1412,1232,1397,1454,31,1461,149,1921,2585,153,
+ 150,1944,39,986,36,515,3109,34,1116,31,
+ 35,30,32,905,29,27,56,1119,112,82,
+ 83,114,1160,1314,1289,1194,1365,1315,59,1379,
+ 1371,1412,1324,1397,1454,31,1461,149,1921,618,
+ 152,150,1944,39,986,36,1506,3109,34,1116,
+ 31,35,30,32,905,29,27,56,1119,112,
+ 82,83,114,1160,1643,1289,1194,1365,1315,93,
+ 1379,1371,1412,1739,1397,1454,1203,1461,149,1203,
+ 1343,151,150,1839,39,986,36,1760,3109,34,
+ 1116,31,35,30,32,905,29,27,56,1119,
+ 112,82,83,114,1160,1754,1289,1194,1365,1315,
+ 2233,1379,1371,1412,1699,1397,1454,31,2528,170,
+ 2589,942,1944,39,986,36,2019,3109,34,1116,
+ 31,35,30,32,905,29,27,56,1119,112,
+ 82,83,114,1160,2653,1289,1194,1365,1315,2532,
+ 1379,1371,1412,57,1397,1454,327,1461,149,99,
+ 328,146,150,301,418,39,1576,385,386,1730,
+ 1343,2266,39,986,36,1699,3109,34,1116,31,
+ 35,30,32,905,29,27,56,1119,112,82,
+ 83,114,1160,76,1289,1194,1365,1315,55,1379,
+ 1371,1412,1761,1397,1454,52,1461,149,334,335,
+ 195,150,2359,39,986,36,2019,3109,34,1116,
+ 31,35,30,32,905,29,27,56,1119,112,
+ 82,83,114,1160,2072,1289,1194,1365,1315,31,
+ 1379,1371,1412,1064,1397,1454,2564,2528,170,2359,
+ 39,986,36,185,3109,34,1116,31,35,30,
+ 32,905,29,27,56,1119,112,82,83,114,
+ 1160,1754,1289,1194,1365,1315,425,1379,1371,1412,
+ 2566,1397,1454,77,2528,170,1114,39,986,36,
+ 2600,3499,34,1116,31,35,63,32,418,3466,
+ 2359,39,986,36,291,3109,34,1116,31,35,
+ 30,32,905,29,27,56,1119,112,82,83,
+ 114,1160,248,1289,1194,1365,1315,31,1379,1371,
+ 1412,2796,1397,1454,284,2528,170,2359,39,986,
+ 36,2590,3109,34,1116,31,35,30,32,905,
+ 29,27,56,1119,112,82,83,114,1160,1754,
+ 1289,1194,1365,1315,2461,1379,1371,1412,3225,1397,
+ 1454,424,2528,170,1624,39,986,36,600,3499,
+ 34,1116,31,35,62,32,388,419,2359,39,
+ 986,36,415,3109,34,1116,31,35,30,32,
+ 905,29,27,56,1119,112,82,83,114,1160,
+ 860,1289,1194,1365,1315,4262,1379,1371,1412,67,
+ 1397,1454,285,2528,170,2404,39,986,36,414,
+ 3109,34,1116,31,35,30,32,905,29,27,
+ 56,1119,112,82,83,114,1160,682,1289,1194,
+ 1365,1315,31,1379,1371,1412,2930,1397,1454,2022,
+ 2528,170,2173,39,986,36,2048,4405,34,1116,
+ 31,35,30,32,761,501,2359,39,986,36,
+ 417,3109,34,1116,31,35,30,32,905,29,
+ 27,56,1119,112,82,83,114,1160,1342,1289,
+ 1194,1365,1315,4267,1379,1371,1412,66,1397,2286,
+ 418,39,283,2359,39,986,36,3413,3109,34,
+ 1116,31,35,30,32,905,29,27,56,1119,
+ 112,82,83,114,1160,2479,1289,1194,1365,1315,
+ 31,1379,1371,1412,2504,2274,2359,39,986,36,
+ 1203,3109,34,1116,31,35,30,32,905,29,
+ 27,56,1119,112,82,83,114,1160,860,1289,
+ 1194,1365,1315,4283,1379,2256,2359,39,986,36,
+ 2601,3109,34,1116,31,35,30,32,905,29,
+ 27,56,1119,112,82,83,114,1160,860,1289,
+ 1194,1365,1315,4289,2094,2359,39,986,36,1262,
+ 3109,34,1116,31,35,30,32,905,29,27,
+ 56,1119,112,82,83,114,1160,103,1289,1194,
+ 1365,2155,2359,39,986,36,155,3109,34,1116,
+ 31,35,30,32,905,29,27,56,1119,112,
+ 82,83,114,1160,1372,1289,1194,1365,2200,2449,
+ 39,1576,385,1921,2638,249,1267,2359,39,986,
+ 36,239,3109,34,1116,31,35,30,32,905,
+ 29,27,56,1119,112,82,83,114,1160,1929,
+ 1289,1194,1991,275,58,1921,2359,39,986,36,
+ 1939,3109,34,1116,31,35,30,32,905,29,
+ 27,56,1119,112,82,83,114,1160,234,1289,
+ 1194,1998,2359,39,986,36,350,3109,34,1116,
+ 31,35,30,32,905,29,27,56,1119,112,
+ 82,83,114,1160,2184,1822,237,232,233,418,
+ 39,1576,385,2478,2019,1500,39,986,36,276,
+ 4405,34,1116,31,35,64,32,2569,39,2554,
+ 278,2626,39,391,244,247,250,253,2471,1697,
+ 418,39,292,275,3231,1707,1693,39,2932,36,
+ 4493,201,34,1116,339,35,2075,39,281,1762,
+ 3469,2710,3060,3264,3518,4023,2359,39,986,36,
+ 1383,3109,34,1116,31,35,30,32,905,29,
+ 27,56,1119,112,82,83,114,1160,177,1289,
+ 1194,2067,528,332,1240,39,443,1567,4415,4318,
+ 1226,1157,320,1372,322,2279,3231,315,1148,277,
+ 231,2049,39,2460,1573,162,3551,2190,3299,3290,
+ 3417,611,898,2852,1991,186,1836,1,2279,2708,
+ 1754,528,206,217,3006,205,214,215,216,218,
+ 3076,2141,478,175,2233,55,343,1546,2019,231,
+ 1893,2279,1561,1029,162,332,189,173,174,176,
+ 177,178,179,180,186,1836,2678,620,1401,2852,
+ 2279,206,217,3006,205,214,215,216,218,2485,
+ 39,443,175,31,4318,200,2228,4007,231,3604,
+ 187,3308,359,299,1677,190,173,174,176,177,
+ 178,179,180,1730,411,2941,2490,2673,2619,2620,
+ 208,217,3006,207,214,215,216,218,2703,1157,
+ 1532,2669,2279,2279,3231,2165,2665,2075,39,279,
+ 1203,209,1754,2649,418,2771,2554,80,359,1931,
+ 231,2852,331,335,219,210,211,212,213,293,
+ 294,295,296,3505,2619,2620,436,3018,3029,471,
+ 2351,2487,208,217,3006,207,214,215,216,218,
+ 3568,2490,1123,332,3117,2543,2279,4409,506,39,
+ 1576,385,437,209,2790,2649,601,860,2279,830,
+ 446,3522,4332,1921,231,306,219,210,211,212,
+ 213,293,294,295,296,2413,231,104,432,569,
+ 359,1755,55,1921,2549,3465,854,402,4194,1561,
+ 2502,2565,3568,2592,96,2673,2619,2620,208,217,
+ 3006,207,214,215,216,218,2805,403,2369,2649,
+ 2279,440,3018,3029,2543,286,2689,1921,1822,209,
+ 1229,2649,1444,3231,2714,31,2279,31,231,1071,
+ 1754,2279,219,210,211,212,213,293,294,295,
+ 296,860,1891,2674,343,2646,4338,351,2715,343,
+ 208,217,3006,207,214,215,216,218,3568,2720,
+ 2181,39,986,36,2824,4189,34,1116,44,35,
+ 2671,209,333,2649,344,1123,771,349,31,234,
+ 1652,2735,942,342,219,210,211,212,213,293,
+ 294,295,296,298,2181,39,986,36,404,407,
+ 34,1116,1204,35,2019,162,425,246,232,233,
+ 3568,2824,2359,39,986,36,2285,3109,34,1116,
+ 31,35,30,32,905,29,27,56,1119,112,
+ 82,83,114,1160,1754,1289,2079,2359,39,986,
+ 36,204,3109,34,1116,31,35,30,32,905,
+ 29,27,56,1119,112,82,83,114,1160,2563,
+ 1289,2086,1556,39,986,36,3480,2313,34,1116,
+ 339,35,2359,39,986,36,514,3109,34,1116,
+ 31,35,30,32,905,29,27,56,1119,112,
+ 82,83,114,1160,2659,1854,1921,297,969,265,
+ 2626,39,391,528,2181,39,986,36,4311,2747,
+ 34,1116,340,35,4415,2766,390,419,320,1372,
+ 322,231,375,315,1148,1435,162,73,351,942,
+ 2607,418,39,1576,385,1921,186,1836,2706,2768,
+ 2165,2665,1150,206,217,3006,205,214,215,216,
+ 218,865,162,1523,175,344,1123,771,349,2569,
+ 39,2554,2849,629,2681,423,72,3421,173,174,
+ 176,177,178,179,180,1480,39,986,36,4493,
+ 3231,34,1116,339,35,2359,39,986,36,2019,
+ 3109,34,1116,31,35,30,32,905,29,27,
+ 56,1119,112,82,83,114,1866,1075,353,3085,
+ 31,942,528,2368,2507,2752,2153,39,986,36,
+ 2965,373,34,1116,339,35,202,4415,2633,332,
+ 231,320,1372,322,166,162,315,1148,365,2772,
+ 2604,2181,39,986,36,186,1836,34,1116,1746,
+ 35,763,206,217,3006,205,214,215,216,218,
+ 286,2513,441,175,2136,4031,528,1921,4415,3231,
+ 1345,2728,317,2905,322,2279,182,173,174,176,
+ 177,178,179,180,231,2780,2758,1979,2674,162,
+ 2475,39,279,343,559,2762,308,312,71,186,
+ 1836,529,521,380,2283,528,206,217,3006,205,
+ 214,215,216,218,2671,3133,430,175,3054,1769,
+ 39,1576,385,231,524,1784,3472,2313,162,234,
+ 193,173,174,176,177,178,179,180,186,1836,
+ 617,1494,775,2019,528,206,217,3006,205,214,
+ 215,216,218,55,3659,2781,175,249,232,233,
+ 1561,649,231,418,39,1576,385,162,2884,3603,
+ 173,174,176,177,178,179,180,186,1836,705,
+ 223,953,375,528,206,217,3006,205,214,215,
+ 216,218,50,2546,2733,175,2218,55,942,31,
+ 102,231,1921,4162,1561,928,162,963,196,173,
+ 174,176,177,178,179,180,186,1836,793,2817,
+ 2823,162,528,206,217,3006,205,214,215,216,
+ 218,203,2979,70,175,425,1834,39,1576,385,
+ 231,418,39,1576,385,162,2846,192,173,174,
+ 176,177,178,179,180,186,1836,881,3625,2852,
+ 2019,528,206,217,3006,205,214,215,216,218,
+ 55,2114,2655,175,2016,55,942,1561,882,231,
+ 1921,3587,1561,2599,162,1998,199,173,174,176,
+ 177,178,179,180,186,1836,2369,4386,2788,162,
+ 2801,206,217,3006,205,214,215,216,218,2773,
+ 168,3189,175,1027,39,986,36,2579,1636,34,
+ 1116,339,35,3231,1722,198,173,174,176,177,
+ 178,179,180,234,1213,39,2932,36,4493,3231,
+ 34,1116,339,35,31,389,419,1921,2279,418,
+ 39,1576,385,31,2830,31,31,942,2279,942,
+ 3517,252,232,233,31,4415,343,2853,2481,320,
+ 1372,322,333,3532,315,1148,231,31,61,351,
+ 4326,1279,162,426,351,1757,4415,2671,332,3408,
+ 320,1372,322,2886,1921,315,1148,1666,208,217,
+ 3006,207,214,215,216,218,344,1123,771,349,
+ 898,346,1123,771,349,2315,31,89,1921,209,
+ 1290,2649,2616,1974,4031,60,2279,418,39,2554,
+ 282,2828,489,210,211,212,213,293,294,295,
+ 296,418,39,292,231,2359,39,986,36,323,
+ 3109,34,1116,31,35,30,32,905,29,27,
+ 56,1119,112,82,83,91,208,217,3006,207,
+ 214,215,216,218,2892,1697,2787,31,2279,1990,
+ 3231,4207,2841,1099,39,1576,385,209,57,2649,
+ 1697,241,410,2941,31,3231,231,513,2279,2019,
+ 510,210,211,212,213,293,294,295,296,594,
+ 39,1576,385,939,1921,1921,343,275,208,217,
+ 3006,207,214,215,216,218,2917,2139,2073,332,
+ 2279,2279,418,39,2554,280,305,2671,234,209,
+ 2754,2649,2019,55,332,107,3467,1684,231,2852,
+ 1561,1089,307,210,211,212,213,293,294,295,
+ 296,946,39,1576,385,3308,242,232,233,3473,
+ 208,217,3006,207,214,215,216,218,2718,4492,
+ 569,1078,2279,2635,31,2461,2859,234,4059,1921,
+ 4030,209,2822,2649,1223,55,78,31,2869,4253,
+ 231,605,1561,53,511,210,211,212,213,293,
+ 294,295,296,2143,2019,255,232,233,495,4990,
+ 441,2416,208,217,3006,207,214,215,216,218,
+ 1933,39,986,36,3480,2693,34,1116,339,35,
+ 31,4990,2019,209,942,2649,31,351,31,2786,
+ 528,304,1320,3464,492,494,220,210,211,212,
+ 213,293,294,295,296,4990,520,162,343,418,
+ 39,2554,2929,162,344,1123,771,349,2925,4497,
+ 4990,31,4415,2315,1453,2526,320,1372,322,2671,
+ 2019,315,1148,4990,2943,4990,351,2118,4990,1330,
+ 4990,4990,2359,1602,986,1643,517,3109,34,1116,
+ 31,35,30,32,905,29,27,56,1119,112,
+ 82,83,90,344,1123,771,349,224,2359,39,
+ 986,36,518,3109,34,1116,31,35,30,32,
+ 905,29,27,56,1119,112,82,83,114,1900,
+ 2359,39,986,36,421,3109,34,1116,31,35,
+ 30,32,905,29,27,56,1119,112,82,83,
+ 114,1910,2359,39,986,36,2920,3109,34,1116,
+ 31,35,30,32,905,29,27,56,1119,112,
+ 82,83,89,2359,39,986,36,4990,3109,34,
+ 1116,31,35,30,32,905,29,27,56,1119,
+ 112,82,83,88,2359,39,986,36,4990,3109,
+ 34,1116,31,35,30,32,905,29,27,56,
+ 1119,112,82,83,87,2359,39,986,36,4990,
+ 3109,34,1116,31,35,30,32,905,29,27,
+ 56,1119,112,82,83,86,2359,39,986,36,
+ 4990,3109,34,1116,31,35,30,32,905,29,
+ 27,56,1119,112,82,83,85,2359,39,986,
+ 36,4990,3109,34,1116,31,35,30,32,905,
+ 29,27,56,1119,112,82,83,84,2219,39,
+ 986,36,4990,3109,34,1116,31,35,30,32,
+ 905,29,27,56,1119,112,82,83,110,2359,
+ 39,986,36,4990,3109,34,1116,31,35,30,
+ 32,905,29,27,56,1119,112,82,83,116,
+ 2359,39,986,36,4990,3109,34,1116,31,35,
+ 30,32,905,29,27,56,1119,112,82,83,
+ 115,2359,39,986,36,4990,3109,34,1116,31,
+ 35,30,32,905,29,27,56,1119,112,82,
+ 83,113,2359,39,986,36,4990,3109,34,1116,
+ 31,35,30,32,905,29,27,56,1119,112,
+ 82,83,111,1364,39,986,36,4493,1921,34,
+ 1116,339,35,2314,39,986,36,2233,3109,34,
+ 1116,31,35,30,32,905,29,27,56,1119,
+ 92,82,83,2506,39,1576,385,4990,2638,3489,
+ 2019,1066,39,986,36,240,3231,34,1116,339,
+ 35,418,39,1576,385,4415,2626,39,391,320,
+ 1372,322,31,4990,315,1148,3375,275,31,2651,
+ 1921,31,2578,2279,31,2644,1730,300,2279,763,
+ 2145,39,986,36,4493,425,34,1116,339,35,
+ 31,2852,234,4415,2696,333,343,320,1372,322,
+ 1921,3052,318,1148,1921,2145,39,986,36,4493,
+ 4990,34,1116,339,35,3367,335,2671,2019,31,
+ 238,232,233,3993,308,312,31,1693,4990,4990,
+ 942,3091,4415,276,4990,3130,320,1372,322,4990,
+ 4990,315,1148,3680,418,39,1576,385,245,248,
+ 251,254,2471,162,3472,197,763,4415,4990,1707,
+ 495,320,1372,322,3057,3588,315,1148,1066,39,
+ 986,36,2233,3231,34,1116,339,35,424,4990,
+ 4990,3408,2145,39,986,36,4493,1921,34,1116,
+ 339,35,4990,4990,31,1223,492,494,528,2741,
+ 4253,309,312,3620,1246,39,986,36,3324,4990,
+ 34,1116,339,35,4990,1075,343,2233,1529,942,
+ 4415,162,333,1040,320,1372,322,2279,4409,316,
+ 1148,1730,1535,4990,4415,4990,3314,2671,320,1372,
+ 322,398,166,315,1148,231,4990,1494,4990,4990,
+ 506,39,1576,385,4990,31,4415,4990,3582,860,
+ 317,2905,322,2609,39,1576,385,854,402,4194,
+ 3406,335,594,39,1576,385,1730,2609,39,1576,
+ 385,1075,31,4990,55,942,942,4990,403,4990,
+ 2649,1561,53,2609,39,1576,385,55,2118,2609,
+ 39,1576,385,2139,1561,53,55,2279,166,162,
+ 2130,55,3337,1561,53,3638,335,4990,1561,53,
+ 3192,1921,4990,2921,4990,2852,2646,55,2609,39,
+ 1576,385,3031,55,1561,53,1921,3339,4990,4990,
+ 1561,53,2647,39,1576,385,4990,4990,2743,39,
+ 1576,385,1570,4041,1921,422,2884,4990,4990,4134,
+ 1921,1921,55,418,39,1576,385,377,31,1561,
+ 53,31,942,4990,4990,528,55,823,3384,404,
+ 406,2279,55,1561,53,4108,4990,4990,4479,1561,
+ 53,3208,3247,343,495,162,2655,55,162,2852,
+ 942,1725,2400,2632,1561,2587,2170,4990,3431,1453,
+ 418,39,1576,385,2671,418,39,1576,385,418,
+ 39,1576,385,162,1658,418,39,1576,385,4990,
+ 493,494,4990,1756,168,1075,31,2279,4990,942,
+ 528,4990,31,2655,55,4990,528,528,4990,55,
+ 31,1561,3080,55,528,343,1561,649,343,55,
+ 1561,1107,166,162,343,4109,1561,1274,360,162,
+ 162,4990,343,4990,194,4990,1607,162,31,4172,
+ 194,168,2279,31,4990,4172,4990,2279,194,418,
+ 39,1576,385,4172,31,31,4990,3632,2279,2279,
+ 343,4990,2655,1697,4990,343,942,2655,3231,4990,
+ 4990,942,4990,4990,1075,31,343,343,942,942,
+ 4990,2671,4990,442,4990,4990,2671,4990,4990,162,
+ 4990,2707,3504,4990,162,4990,499,2671,2671,4990,
+ 168,166,162,4990,3250,168,4990,497,525,4990,
+ 4060,4990,4990,4344,4990,4990,4090,332,4990,4990,
+ 4990,4990,4990,4990,4094,4990,4990,4990,4990,4990,
+ 4990,4990,4990,4990,4990,4990,4990,4990,4990,4990,
+ 4990,4990,4990,4990,4990,4990,4990,4990,4990,4990,
+ 4990,4990,4990,4158,4990,4990,4990,4990,4990,4990,
+ 4990,4990,4990,4350,1859,4990,4990,4990,4351,4990,
+ 4990,3579,4990,4990,4990,4990,4990,3262,4990,0,
+ 43,5008,0,43,5007,0,632,33,0,444,
+ 844,0,42,5008,0,42,5007,0,2316,132,
+ 0,1,434,0,448,723,0,447,770,0,
+ 632,45,0,1737,97,0,632,384,0,39,
+ 37,0,36,38,0,43,579,0,1,550,
+ 0,1,5264,0,1,5263,0,1,5262,0,
+ 1,5261,0,1,5260,0,1,5259,0,1,
+ 5258,0,1,5257,0,1,5256,0,1,5255,
+ 0,1,5254,0,43,1,5008,0,43,1,
+ 5007,0,850,1,0,5226,243,0,5225,243,
+ 0,5328,243,0,5327,243,0,5253,243,0,
+ 5252,243,0,5251,243,0,5250,243,0,5249,
+ 243,0,5248,243,0,5247,243,0,5246,243,
+ 0,5264,243,0,5263,243,0,5262,243,0,
+ 5261,243,0,5260,243,0,5259,243,0,5258,
+ 243,0,5257,243,0,5256,243,0,5255,243,
+ 0,5254,243,0,43,243,5008,0,43,243,
+ 5007,0,5032,243,0,54,5008,0,54,5007,
+ 0,239,983,0,385,36,0,36,385,0,
+ 384,33,0,33,384,0,49,5030,0,49,
+ 41,0,5008,54,0,5007,54,0,2316,134,
+ 0,2316,133,0,30,509,0,5320,435,0,
+ 1327,435,0,5032,1,0,43,1,0,53,
+ 41,0,1,98,0,41,53,0,5032,230,
+ 1,0,43,230,1,0,230,409,0,41,
+ 5008,0,41,5007,0,1,5008,2,0,1,
+ 5007,2,0,41,5008,2,0,41,5007,2,
+ 0,5008,40,0,5007,40,0,5030,51,0,
+ 51,41,0,5000,400,0,4999,400,0,1,
+ 4095,0,1,579,0,1,2484,0,230,408,
+ 0,3000,319,0,5320,101,0,1327,101,0,
+ 39,79,0,1,5320,0,1,1327,0,43,
+ 1,5008,2,0,43,1,5007,2,0,43,
+ 5008,2,0,43,5007,2,0,280,4205,0,
+ 1,2391,0,1,2890,0,4998,1,0,491,
+ 3412,0,230,1,0,230,1,3197,0,5000,
+ 230,0,4999,230,0,3407,230,0,8,10,
+ 0,230,222,0,230,221,0,191,3169,0
};
};
public final static char baseAction[] = BaseAction.baseAction;
@@ -1050,305 +1018,308 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse
0,1,2,3,4,5,6,7,8,9,
10,11,12,13,14,15,16,17,18,19,
20,21,22,23,24,25,26,27,28,29,
- 30,31,32,33,34,35,0,37,38,39,
- 40,41,42,43,0,45,46,47,48,49,
- 50,51,52,53,54,55,56,57,58,59,
- 0,61,62,63,64,0,1,2,68,69,
- 70,71,7,73,74,75,76,77,78,79,
- 80,0,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,0,37,38,39,40,41,42,
- 43,8,45,46,47,48,49,50,51,52,
- 53,54,55,56,57,58,59,66,61,62,
- 63,64,0,0,0,68,69,70,71,123,
- 73,74,75,76,77,78,79,80,0,82,
- 83,84,85,86,0,1,2,3,4,5,
+ 0,31,32,33,34,35,36,0,38,39,
+ 40,41,42,43,44,45,46,47,48,49,
+ 50,51,52,53,54,55,0,57,58,59,
+ 60,61,62,63,64,0,1,2,68,69,
+ 70,71,7,73,0,75,76,77,78,79,
+ 80,81,8,83,84,85,86,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,62,31,
+ 32,33,34,35,36,0,38,39,40,41,
+ 42,43,44,45,46,47,48,49,50,51,
+ 52,53,54,55,0,57,58,59,60,61,
+ 62,63,64,0,0,30,68,69,70,71,
+ 123,73,8,75,76,77,78,79,80,81,
+ 0,83,84,85,86,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,0,31,32,33,
+ 34,35,36,0,38,39,40,41,42,43,
+ 44,45,46,47,48,49,50,51,52,53,
+ 54,55,0,57,58,59,60,61,62,63,
+ 64,88,89,30,68,69,70,0,0,73,
+ 0,75,76,77,78,79,80,81,0,83,
+ 84,85,86,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,35,
- 0,37,38,39,40,41,42,43,65,45,
+ 26,27,28,29,0,31,32,33,34,35,
+ 36,0,38,39,40,41,42,43,44,45,
46,47,48,49,50,51,52,53,54,55,
- 56,57,58,59,0,61,62,63,64,0,
- 88,89,68,69,70,11,12,73,74,75,
- 76,77,78,79,80,101,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,0,37,38,
- 39,40,41,42,43,8,45,46,47,48,
- 49,50,51,52,53,54,55,56,57,58,
- 59,0,61,62,63,64,0,1,2,68,
- 69,70,0,0,73,74,75,76,77,78,
- 79,80,9,82,83,84,85,86,0,1,
+ 72,57,58,59,60,61,62,63,64,97,
+ 98,30,68,69,70,88,89,73,0,75,
+ 76,77,78,79,80,81,0,83,84,85,
+ 86,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,0,31,32,33,34,35,36,0,
+ 38,39,40,41,42,43,44,45,46,47,
+ 48,49,50,51,52,53,54,55,0,57,
+ 58,59,60,61,62,63,64,0,1,2,
+ 68,69,70,0,0,73,37,75,76,77,
+ 78,79,80,81,0,83,84,85,86,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,
+ 0,31,32,33,34,35,36,0,38,39,
+ 40,41,42,43,44,45,46,47,48,49,
+ 50,51,52,53,54,55,72,57,58,59,
+ 60,61,62,63,64,0,1,2,68,69,
+ 70,88,89,73,37,75,76,77,78,79,
+ 80,81,0,83,84,85,86,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,35,0,37,38,39,40,41,
- 42,43,60,45,46,47,48,49,50,51,
- 52,53,54,55,56,57,58,59,0,61,
+ 22,23,24,25,26,27,28,29,0,31,
+ 32,33,34,35,36,95,38,39,40,41,
+ 42,43,44,45,46,47,48,49,50,51,
+ 52,53,54,55,0,57,58,59,60,61,
62,63,64,0,1,2,68,69,70,0,
- 87,73,74,75,76,77,78,79,80,0,
- 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,0,37,38,39,40,41,42,43,60,
- 45,46,47,48,49,50,51,52,53,54,
- 55,56,57,58,59,66,61,62,63,64,
- 0,1,2,68,69,70,0,0,73,74,
- 75,76,77,78,79,80,9,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,0,37,
- 38,39,40,41,42,43,60,45,46,47,
- 48,49,50,51,52,53,54,55,56,57,
- 58,59,0,61,62,63,64,0,0,0,
- 68,69,70,4,87,73,74,75,76,77,
- 78,79,80,0,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,0,37,38,39,40,
- 41,42,43,65,45,46,47,48,49,50,
- 51,52,53,54,55,56,57,58,59,0,
- 61,62,63,64,0,88,89,68,69,70,
- 11,12,73,74,75,76,77,78,79,80,
- 0,82,83,84,85,86,0,1,2,3,
+ 0,73,0,75,76,77,78,79,80,81,
+ 0,83,84,85,86,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,35,0,37,38,39,40,41,42,43,
- 50,45,46,47,48,49,50,51,52,53,
- 54,55,56,57,58,59,0,61,62,63,
- 64,0,88,89,68,69,70,11,12,73,
- 74,75,76,77,78,79,80,0,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,0,
- 37,38,39,40,41,42,43,50,45,46,
- 47,48,49,50,51,52,53,54,55,56,
- 57,58,59,0,61,62,63,64,0,88,
- 89,68,69,70,0,36,73,74,75,76,
- 77,78,79,80,0,82,83,84,85,86,
+ 24,25,26,27,28,29,0,31,32,33,
+ 34,35,36,0,38,39,40,41,42,43,
+ 44,45,46,47,48,49,50,51,52,53,
+ 54,55,72,57,58,59,60,61,62,63,
+ 64,0,72,30,68,69,70,88,89,73,
+ 0,75,76,77,78,79,80,81,0,83,
+ 84,85,86,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,0,31,32,33,34,35,
+ 36,0,38,39,40,41,42,43,44,45,
+ 46,47,48,49,50,51,52,53,54,55,
+ 0,57,58,59,60,61,62,63,64,88,
+ 89,30,68,69,70,0,0,73,3,75,
+ 76,77,78,79,80,81,10,83,84,85,
+ 86,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,0,31,32,33,34,35,36,0,
+ 38,39,40,41,42,43,44,45,46,47,
+ 48,49,50,51,52,53,54,55,0,57,
+ 58,59,60,61,62,63,64,97,98,0,
+ 68,69,70,4,0,73,37,75,76,77,
+ 78,79,80,81,0,83,84,85,86,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,35,0,37,38,39,
- 40,41,42,43,60,45,46,47,48,49,
- 50,51,52,53,54,55,56,57,58,59,
- 0,61,62,63,64,0,88,89,68,69,
- 70,0,0,73,74,75,76,77,78,79,
- 80,0,82,83,84,85,86,0,1,2,
- 3,4,5,6,7,8,36,10,11,12,
- 13,14,15,16,17,18,19,20,21,22,
- 23,24,25,0,27,28,29,30,31,32,
- 33,34,35,10,37,38,39,40,41,42,
- 43,60,45,46,47,99,49,72,51,52,
- 53,54,55,0,57,58,59,0,0,62,
- 0,1,2,0,4,68,69,70,0,1,
- 2,3,4,5,6,7,8,9,10,97,
- 98,13,14,15,16,17,18,19,20,21,
- 22,23,101,0,26,27,36,44,0,1,
- 2,3,0,5,36,7,4,9,6,0,
- 8,0,0,45,46,4,48,49,65,51,
- 52,53,54,55,26,57,58,59,65,66,
- 62,0,1,2,0,4,68,69,70,71,
- 72,73,0,0,1,2,93,94,5,81,
- 0,1,2,3,4,5,6,7,8,9,
- 10,0,0,13,14,15,16,17,18,19,
- 20,21,22,23,65,66,26,27,0,36,
- 0,50,114,115,116,0,36,0,1,2,
- 3,0,5,100,7,45,46,6,48,49,
- 66,51,52,53,54,55,44,57,58,59,
- 0,0,62,0,102,0,1,2,68,69,
- 70,71,72,73,0,0,65,3,3,117,
- 6,81,8,9,72,11,12,0,1,2,
- 3,4,5,6,7,8,66,60,24,25,
- 26,36,0,1,2,0,4,72,6,46,
- 8,9,49,0,114,115,116,4,44,0,
- 0,1,2,0,1,2,3,4,5,6,
- 7,8,91,92,60,60,0,0,0,65,
- 66,67,114,115,116,71,72,60,0,0,
- 1,2,0,4,67,6,36,8,97,98,
- 100,87,88,89,90,91,92,93,94,95,
- 96,97,98,99,100,101,102,103,104,105,
- 106,107,108,109,110,111,112,113,0,87,
- 0,117,118,3,120,72,6,95,8,9,
- 95,11,12,67,0,1,2,3,4,5,
- 6,7,8,65,24,25,26,0,1,2,
- 3,4,5,6,7,8,0,1,2,3,
- 0,5,44,7,44,9,99,0,102,0,
- 104,105,106,107,108,109,110,111,112,113,
- 60,0,26,117,3,65,66,67,0,1,
- 2,71,72,5,60,0,1,2,3,4,
- 5,6,7,8,0,1,2,87,88,89,
- 90,91,92,93,94,95,96,97,98,99,
- 100,101,102,103,104,105,106,107,108,109,
- 110,111,112,113,65,66,0,117,118,3,
- 120,0,1,2,3,4,5,6,7,8,
- 0,10,11,12,13,14,15,16,17,18,
- 19,20,21,22,23,24,25,63,64,28,
- 29,30,31,32,33,34,35,0,37,38,
- 39,40,41,42,43,0,1,2,47,4,
- 0,0,1,2,3,4,60,6,0,8,
- 0,1,2,5,63,64,0,1,2,0,
- 4,5,3,7,73,0,1,2,3,4,
- 5,6,7,8,74,10,11,12,13,14,
- 15,16,17,18,19,20,21,22,23,24,
- 25,0,36,28,29,30,31,32,33,34,
- 35,60,37,38,39,40,41,42,43,0,
- 1,2,47,0,1,2,3,0,5,60,
- 7,0,95,0,1,2,9,6,63,64,
- 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,66,0,28,
- 29,30,31,32,33,34,35,9,37,38,
- 39,40,41,42,43,0,1,2,47,4,
- 5,50,7,66,26,72,63,64,71,0,
- 1,2,0,0,1,2,0,4,5,3,
- 7,9,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,36,
- 0,28,29,30,31,32,33,34,35,50,
- 37,38,39,40,41,42,43,0,1,2,
- 47,4,0,50,0,1,2,3,0,5,
- 0,7,4,71,0,0,1,2,3,4,
- 5,6,7,8,71,10,11,12,13,14,
- 15,16,17,18,19,20,21,22,23,24,
- 25,27,0,28,29,30,31,32,33,34,
- 35,9,37,38,39,40,41,42,43,45,
- 46,122,47,49,60,51,52,53,54,55,
- 90,57,58,59,0,65,96,3,63,64,
- 0,1,2,3,4,5,6,7,8,0,
- 10,11,12,13,14,15,16,17,18,19,
- 20,21,22,23,24,25,0,0,28,29,
- 30,31,32,33,34,35,9,37,38,39,
- 40,41,42,43,0,1,2,47,4,87,
- 6,0,8,0,1,2,0,4,0,6,
- 4,8,36,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,0,0,28,29,30,31,32,33,34,
- 35,9,37,38,39,40,41,42,43,0,
- 1,2,3,4,5,6,7,8,26,10,
- 11,12,13,14,15,16,17,18,19,20,
- 21,22,23,24,25,44,0,28,29,30,
- 31,32,33,34,35,118,37,38,39,40,
- 41,42,43,0,1,2,47,4,5,50,
- 7,0,0,0,3,0,3,0,1,2,
- 0,0,9,3,0,1,2,3,4,5,
- 6,7,8,118,10,11,12,13,14,15,
- 16,17,18,19,20,21,22,23,24,25,
- 0,0,28,29,30,31,32,33,34,35,
- 9,37,38,39,40,41,42,43,0,0,
- 0,47,3,60,5,6,90,8,65,66,
- 11,12,96,0,1,2,3,4,5,6,
- 7,8,9,24,25,0,0,0,29,4,
- 87,0,1,2,3,90,5,95,7,26,
- 27,96,44,44,0,1,2,66,4,36,
- 6,0,8,27,0,4,0,44,0,60,
- 0,48,63,64,65,66,67,67,87,56,
- 45,45,46,0,61,49,0,51,52,53,
- 54,55,6,57,58,59,28,88,89,90,
- 91,92,93,94,81,44,97,98,99,100,
- 101,102,103,104,105,106,107,108,109,110,
- 111,112,113,0,0,0,3,90,5,6,
- 60,8,0,96,11,12,72,0,1,2,
- 3,4,5,6,7,8,9,24,25,114,
- 115,116,29,0,1,2,3,0,5,0,
- 7,4,3,26,27,0,0,44,44,0,
- 1,2,0,36,5,0,7,91,92,0,
- 1,2,50,60,9,48,63,64,65,66,
- 67,0,67,56,0,1,2,6,61,0,
- 1,2,45,0,1,2,0,0,71,3,
- 44,88,89,90,91,92,93,94,81,0,
+ 0,31,32,33,34,35,36,95,38,39,
+ 40,41,42,43,44,45,46,47,48,49,
+ 50,51,52,53,54,55,72,57,58,59,
+ 60,61,62,63,64,0,1,2,68,69,
+ 70,0,0,73,3,75,76,77,78,79,
+ 80,81,0,83,84,85,86,87,0,1,
+ 2,3,4,5,6,7,8,0,10,11,
+ 12,4,14,15,16,17,18,19,20,21,
+ 22,23,24,25,26,27,28,29,0,31,
+ 32,33,34,35,36,0,38,39,40,41,
+ 42,43,44,45,46,47,48,49,50,51,
+ 52,53,54,55,72,57,0,1,2,3,
+ 62,5,0,7,72,30,68,69,70,0,
+ 1,2,3,4,5,6,7,8,9,10,
+ 0,0,13,14,15,16,17,18,19,20,
+ 21,22,23,24,25,0,1,2,3,4,
+ 5,6,7,8,0,0,37,0,0,0,
+ 3,3,56,9,45,46,47,48,49,50,
+ 51,52,53,54,55,0,0,58,0,1,
+ 2,62,6,5,26,27,0,68,69,70,
+ 71,72,73,0,1,2,0,4,5,3,
+ 7,82,0,1,2,3,4,5,6,7,
+ 8,9,10,56,56,13,14,15,16,17,
+ 18,19,20,21,22,23,24,25,74,0,
+ 37,100,0,114,115,116,0,1,2,37,
+ 4,66,6,0,8,9,0,45,46,47,
+ 48,49,50,51,52,53,54,55,99,30,
+ 58,103,30,67,62,0,0,91,92,0,
+ 68,69,70,71,72,73,30,0,120,10,
+ 3,0,0,6,82,8,9,101,11,12,
+ 13,9,0,1,2,3,4,5,6,7,
+ 8,72,0,26,27,0,4,30,0,4,
+ 74,65,0,0,1,2,114,115,116,0,
+ 1,2,14,4,0,0,1,2,3,60,
+ 5,95,7,56,9,30,0,56,13,93,
+ 94,0,65,66,67,0,0,45,71,72,
+ 37,74,0,45,46,47,48,49,50,51,
+ 52,53,54,55,72,88,89,90,91,92,
+ 93,94,95,96,97,98,99,100,101,102,
+ 103,104,105,106,107,108,109,110,111,112,
+ 113,67,56,0,117,118,3,120,0,6,
+ 118,8,9,0,11,12,13,0,1,2,
+ 3,4,5,6,7,8,114,115,116,26,
+ 27,0,0,30,0,4,102,5,104,105,
+ 106,107,108,109,110,111,112,113,14,0,
+ 99,117,3,0,1,2,3,101,5,56,
+ 7,0,9,0,1,2,13,4,65,66,
+ 67,0,0,56,71,72,45,74,65,45,
+ 46,47,48,49,50,51,52,53,54,55,
+ 0,88,89,90,91,92,93,94,95,96,
97,98,99,100,101,102,103,104,105,106,
107,108,109,110,111,112,113,0,1,2,
- 3,4,5,6,7,8,71,10,11,12,
- 13,14,15,16,17,18,19,20,21,22,
- 23,24,25,44,0,28,29,30,31,32,
- 33,34,35,67,37,38,39,40,41,42,
- 43,0,91,92,3,0,121,0,0,1,
- 2,3,4,5,6,7,8,60,10,11,
- 12,13,14,15,16,17,18,19,20,21,
- 22,23,24,25,50,28,28,29,30,31,
- 32,33,34,35,0,37,38,39,40,41,
- 42,43,47,0,0,47,0,1,2,3,
- 4,5,6,7,8,0,10,11,12,13,
- 14,15,16,17,18,19,20,21,22,23,
- 24,25,28,0,28,29,30,31,32,33,
- 34,35,9,37,38,39,40,41,42,43,
- 0,1,2,3,4,5,6,7,8,26,
- 10,11,12,13,14,15,16,17,18,19,
- 20,21,22,23,24,25,0,0,28,29,
- 30,31,32,33,34,35,0,37,38,39,
- 40,41,42,43,0,1,2,3,4,5,
- 6,7,8,0,10,11,12,13,14,15,
+ 117,118,59,120,0,1,2,3,4,5,
+ 6,7,8,0,10,11,12,65,66,15,
16,17,18,19,20,21,22,23,24,25,
- 44,44,28,29,30,31,32,33,34,35,
- 44,37,38,39,40,41,42,43,0,1,
- 2,65,4,0,1,2,0,0,10,3,
- 3,13,14,15,16,17,18,19,20,21,
- 22,23,0,1,2,27,0,0,65,93,
- 94,0,0,0,1,2,4,0,0,36,
- 0,10,0,45,46,0,9,49,0,51,
- 52,53,54,55,0,57,58,59,36,0,
- 62,0,1,2,0,4,68,69,70,36,
- 0,10,27,3,13,14,15,16,17,18,
- 19,20,21,22,23,0,44,56,27,0,
- 45,46,0,4,49,3,51,52,53,54,
- 55,75,57,58,59,67,45,46,44,0,
- 49,0,51,52,53,54,55,0,57,58,
- 59,0,0,62,87,3,9,0,0,68,
- 69,70,95,44,13,14,15,16,17,18,
- 19,20,21,22,23,0,0,0,27,0,
- 1,2,0,44,0,0,1,2,3,4,
- 5,6,7,8,9,0,45,46,0,4,
- 49,3,51,52,53,54,55,0,57,58,
- 59,26,27,0,0,36,3,0,0,44,
- 0,36,0,1,2,3,4,5,6,7,
- 8,9,0,48,87,0,0,0,3,44,
- 65,56,0,67,67,9,61,10,26,27,
- 66,0,0,0,72,3,71,0,36,24,
- 25,44,26,0,0,0,81,0,93,94,
- 48,0,9,36,10,0,119,0,56,72,
- 3,67,0,61,0,3,0,3,0,26,
- 72,3,72,71,0,60,0,3,0,62,
- 36,3,66,81,0,1,2,3,4,5,
- 6,7,8,9,0,0,1,2,3,4,
- 5,6,7,8,9,50,62,0,0,72,
- 26,27,65,62,0,0,50,3,103,0,
- 36,26,27,0,0,0,3,0,0,0,
- 87,36,48,0,0,120,0,0,0,0,
- 56,119,66,48,0,61,0,0,0,0,
- 119,56,0,0,0,71,61,0,0,44,
- 0,67,0,0,0,81,71,0,0,0,
- 0,0,0,0,67,67,81,0,1,2,
- 3,4,5,6,7,8,9,0,0,1,
+ 26,27,28,29,37,31,32,33,34,35,
+ 36,100,38,39,40,41,42,43,44,0,
+ 1,2,3,4,5,6,7,8,0,1,
+ 2,57,4,0,6,0,8,63,64,0,
+ 1,2,102,4,5,0,7,73,0,1,
+ 2,3,4,5,6,7,8,117,10,11,
+ 12,28,0,15,16,17,18,19,20,21,
+ 22,23,24,25,26,27,28,29,95,31,
+ 32,33,34,35,36,0,38,39,40,41,
+ 42,43,44,0,9,0,1,2,3,4,
+ 5,6,7,8,0,57,0,0,1,2,
+ 65,63,64,65,0,1,2,3,4,5,
+ 6,7,8,9,10,11,12,65,66,15,
+ 16,17,18,19,20,21,22,23,24,25,
+ 26,27,28,29,37,31,32,33,34,35,
+ 36,56,38,39,40,41,42,43,44,74,
+ 56,0,67,0,1,2,0,4,5,0,
+ 7,57,66,59,0,0,1,2,3,4,
+ 95,6,0,8,0,71,0,1,2,3,
+ 4,5,6,7,8,9,10,11,12,30,
+ 37,15,16,17,18,19,20,21,22,23,
+ 24,25,26,27,28,29,0,31,32,33,
+ 34,35,36,57,38,39,40,41,42,43,
+ 44,56,0,1,2,3,0,5,0,7,
+ 4,3,6,57,8,59,30,65,0,1,
+ 2,3,4,5,6,7,8,71,10,11,
+ 12,0,0,15,16,17,18,19,20,21,
+ 22,23,24,25,26,27,28,29,0,31,
+ 32,33,34,35,36,0,38,39,40,41,
+ 42,43,44,0,0,0,0,3,3,0,
+ 0,0,9,9,72,57,6,0,0,1,
+ 2,63,64,0,1,2,3,4,5,6,
+ 7,8,0,10,11,12,65,66,15,16,
+ 17,18,19,20,21,22,23,24,25,26,
+ 27,28,29,65,31,32,33,34,35,36,
+ 56,38,39,40,41,42,43,44,59,65,
+ 66,0,1,2,71,4,65,6,74,8,
+ 57,63,64,0,1,2,63,64,0,1,
+ 2,3,4,5,6,7,8,9,10,11,
+ 12,91,92,15,16,17,18,19,20,21,
+ 22,23,24,25,26,27,28,29,0,31,
+ 32,33,34,35,36,119,38,39,40,41,
+ 42,43,44,0,1,2,3,4,5,6,
+ 7,8,0,10,11,12,63,64,15,16,
+ 17,18,19,20,21,22,23,24,25,26,
+ 27,28,29,0,31,32,33,34,35,36,
+ 0,38,39,40,41,42,43,44,0,9,
+ 0,3,0,1,2,3,6,5,0,7,
+ 57,3,59,0,1,2,3,4,5,6,
+ 7,8,0,10,11,12,118,65,15,16,
+ 17,18,19,20,21,22,23,24,25,26,
+ 27,28,29,0,31,32,33,34,35,36,
+ 0,38,39,40,41,42,43,44,56,0,
+ 0,11,12,3,74,5,6,0,8,0,
+ 57,11,12,14,15,16,17,18,19,20,
+ 21,22,23,24,25,0,26,27,0,29,
+ 30,0,0,1,2,28,4,9,6,14,
+ 8,13,11,12,45,46,47,48,49,50,
+ 51,52,53,54,55,72,56,0,0,1,
+ 2,0,4,63,64,65,66,67,11,12,
+ 45,46,47,48,49,50,51,52,53,54,
+ 55,0,0,0,0,1,2,6,88,89,
+ 90,91,92,93,94,37,14,97,98,99,
+ 100,101,102,103,104,105,106,107,108,109,
+ 110,111,112,113,0,0,0,3,3,5,
+ 6,37,8,0,0,11,12,45,46,47,
+ 48,49,50,51,52,53,54,55,0,56,
+ 26,27,4,29,30,0,1,2,0,4,
+ 0,6,0,8,0,1,2,3,10,5,
+ 0,7,0,1,2,3,0,5,30,7,
+ 56,56,91,92,0,1,2,63,64,65,
+ 66,67,0,1,2,37,4,5,65,7,
+ 0,1,2,0,0,5,3,7,4,0,
+ 1,2,88,89,90,91,92,93,94,59,
+ 62,97,98,99,100,101,102,103,104,105,
+ 106,107,108,109,110,111,112,113,0,1,
+ 2,3,4,5,6,7,8,0,10,11,
+ 12,4,0,15,16,17,18,19,20,21,
+ 22,23,24,25,26,27,28,29,59,31,
+ 32,33,34,35,36,0,38,39,40,41,
+ 42,43,44,121,9,0,1,2,3,4,
+ 5,6,7,8,56,10,11,12,46,47,
+ 15,16,17,18,19,20,21,22,23,24,
+ 25,26,27,28,29,0,31,32,33,34,
+ 35,36,0,38,39,40,41,42,43,44,
+ 0,122,0,0,1,2,3,4,5,6,
+ 7,8,57,10,11,12,71,0,15,16,
+ 17,18,19,20,21,22,23,24,25,26,
+ 27,28,29,0,31,32,33,34,35,36,
+ 0,38,39,40,41,42,43,44,0,1,
+ 2,3,4,5,6,7,8,0,10,11,
+ 12,59,0,15,16,17,18,19,20,21,
+ 22,23,24,25,26,27,28,29,0,31,
+ 32,33,34,35,36,0,38,39,40,41,
+ 42,43,44,0,1,2,3,4,5,6,
+ 7,8,0,10,11,12,66,0,15,16,
+ 17,18,19,20,21,22,23,24,25,26,
+ 27,28,29,0,31,32,33,34,35,36,
+ 0,38,39,40,41,42,43,44,0,1,
+ 2,0,4,0,0,1,2,0,10,5,
+ 0,4,14,15,16,17,18,19,20,21,
+ 22,23,24,25,0,1,2,0,0,67,
+ 3,114,115,116,0,1,2,30,4,0,
+ 30,37,3,45,46,47,48,49,50,51,
+ 52,53,54,55,0,0,1,2,30,4,
+ 62,37,0,1,2,10,68,69,70,14,
+ 15,16,17,18,19,20,21,22,23,24,
+ 25,0,1,2,3,4,5,6,7,8,
+ 9,90,0,65,13,14,4,96,0,37,
+ 45,46,47,48,49,50,51,52,53,54,
+ 55,30,0,0,0,0,4,62,0,1,
+ 2,93,94,68,69,70,45,46,47,48,
+ 49,50,51,52,53,54,55,56,0,1,
2,3,4,5,6,7,8,9,0,0,
- 67,0,0,26,27,0,0,0,0,0,
- 0,0,0,36,26,27,0,0,0,0,
- 0,0,0,0,36,48,0,0,0,0,
- 0,0,0,56,0,0,48,0,61,0,
- 0,0,0,0,56,0,0,0,0,61,
- 0,0,0,0,0,0,0,0,81,0,
- 1,2,3,4,5,6,7,8,9,81,
- 0,0,27,0,0,0,0,0,0,0,
- 0,0,0,0,0,26,27,0,0,0,
- 45,46,0,0,49,36,51,52,53,54,
- 55,0,57,58,59,0,0,48,0,0,
- 0,0,0,0,0,56,0,0,0,0,
- 61,0,0,0,0,0,0,0,0,0,
+ 0,13,14,0,0,74,0,9,0,1,
+ 2,13,9,0,66,0,1,2,3,4,
+ 5,6,7,8,9,0,1,2,13,14,
+ 30,67,0,45,46,47,48,49,50,51,
+ 52,53,54,55,56,30,0,1,2,0,
+ 0,0,37,90,0,90,0,0,0,96,
+ 10,96,74,9,66,65,9,13,0,66,
+ 13,3,66,58,71,60,61,0,1,2,
+ 3,4,5,6,7,8,9,37,0,90,
+ 13,14,0,93,94,96,0,82,66,3,
+ 0,9,0,1,2,3,4,5,6,7,
+ 8,9,62,0,37,13,14,0,1,2,
+ 3,4,5,6,7,8,9,0,74,0,
+ 13,14,0,75,0,58,9,60,61,37,
+ 0,9,0,1,2,13,0,0,71,9,
+ 3,0,56,0,37,67,56,0,66,82,
+ 58,0,60,61,30,0,74,0,3,56,
+ 3,0,0,71,3,58,30,60,61,0,
+ 0,30,3,3,82,0,0,0,71,0,
+ 1,2,3,4,5,6,7,8,9,82,
+ 0,74,13,14,0,1,2,3,4,5,
+ 6,7,8,9,74,0,0,13,14,3,
+ 67,0,0,0,67,3,37,0,67,0,
+ 1,2,3,4,5,6,7,8,9,67,
+ 0,37,13,14,59,0,59,58,3,60,
+ 61,0,0,67,3,3,0,0,0,59,
+ 71,3,58,0,60,61,37,0,0,0,
+ 0,82,0,0,0,71,0,0,0,0,
+ 0,0,0,0,28,0,82,58,67,60,
+ 61,0,1,2,3,4,5,6,7,8,
+ 9,0,30,76,13,14,66,0,0,0,
+ 0,82,0,0,0,0,0,1,2,3,
+ 4,5,6,7,8,9,0,0,37,13,
+ 14,0,0,0,119,67,0,0,0,0,
+ 0,0,119,0,0,0,0,0,0,58,
+ 0,60,61,37,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,82,58,0,60,61,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,
- 81,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0
+ 0
};
};
public final static byte termCheck[] = TermCheck.termCheck;
@@ -1356,304 +1327,306 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse
public interface TermAction {
public final static char termAction[] = {0,
- 5143,5118,5115,5115,5115,5115,5115,5115,5115,5128,
+ 4990,4965,4962,4962,4962,4962,4962,4962,4962,4975,
+ 1,1,1,4972,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,4990,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,5125,1,1,1,
- 1,1,1,1,1,1,5143,1,1,1,
- 1,1,1,1,1,1,1,1,1032,1,
- 2721,1,1,1,1,1,1647,1,1,1,
- 5143,2771,1,1,1,41,4783,4780,1,1,
- 1,5150,724,5322,985,2945,2203,2124,2117,2830,
- 3003,161,2878,1605,2858,4259,2853,8,5131,5131,
- 5131,5131,5131,5131,5131,5131,5131,5131,5131,5131,
- 5131,5131,5131,5131,5131,5131,5131,5131,5131,5131,
- 5131,5131,5131,5131,5131,5131,5131,5131,5131,5131,
- 5131,5131,5131,135,5131,5131,5131,5131,5131,5131,
- 5131,2281,5131,5131,5131,5131,5131,5131,5131,5131,
- 5131,5131,5131,5131,5131,5131,5131,1273,5131,5131,
- 5131,5131,125,5143,141,5131,5131,5131,5131,4767,
- 5131,5131,5131,5131,5131,5131,5131,5131,5143,5131,
- 5131,5131,5131,5131,5143,5118,5115,5115,5115,5115,
- 5115,5115,5115,5122,1,1,1,1,1,1,
+ 1,1,1,1,1,1,4990,1,1297,1015,
+ 1918,3145,1,1,1,42,4625,4622,1,1,
+ 1,4997,1082,5171,137,1488,3249,2508,2045,2374,
+ 3171,2889,2196,3236,565,3210,3184,3209,8,4978,
+ 4978,4978,4978,4978,4978,4978,4978,4978,4978,4978,
+ 4978,4978,4978,4978,4978,4978,4978,4978,4978,4978,
+ 4978,4978,4978,4978,4978,4978,4978,4978,4046,4978,
+ 4978,4978,4978,4978,4978,4990,4978,4978,4978,4978,
+ 4978,4978,4978,4978,4978,4978,4978,4978,4978,4978,
+ 4978,4978,4978,4978,4990,4978,4978,4978,4978,4978,
+ 4978,4978,4978,127,138,2717,4978,4978,4978,4978,
+ 4609,4978,2196,4978,4978,4978,4978,4978,4978,4978,
+ 4990,4978,4978,4978,4978,4978,4990,4965,4962,4962,
+ 4962,4962,4962,4962,4962,4969,1,1,1,4972,
1,1,1,1,1,1,1,1,1,1,
- 5125,1,1,1,1,1,1,1,1,1,
- 5143,1,1,1,1,1,1,1,1773,1,
- 1,1,1032,1,2721,1,1,1,1,1,
- 1647,1,1,1,122,2771,1,1,1,5143,
- 2569,2595,1,1,1,2941,780,5322,985,2945,
- 2203,2124,2117,2830,3003,2213,2878,1605,2858,4259,
- 2853,5143,5118,5115,5115,5115,5115,5115,5115,5115,
- 5122,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,5125,1,1,
- 1,1,1,1,1,1,1,136,1,1,
- 1,1,1,1,1,2281,1,1,1,1032,
- 1,2721,1,1,1,1,1,1647,1,1,
- 1,5143,2771,1,1,1,5143,5160,5161,1,
- 1,1,447,1,5322,985,2945,2203,2124,2117,
- 2830,3003,165,2878,1605,2858,4259,2853,5143,5118,
- 5115,5115,5115,5115,5115,5115,5115,5122,1,1,
+ 1,1,1,1,1,1,4990,1,1,1,
+ 1,1,1,4990,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,5125,1,1,1,1,1,
- 1,1,1,1,5143,1,1,1,1,1,
- 1,1,4792,1,1,1,1032,1,2721,1,
- 1,1,1,1,1647,1,1,1,5143,2771,
- 1,1,1,5143,4956,4953,1,1,1,446,
- 165,5322,985,2945,2203,2124,2117,2830,3003,504,
- 2878,1605,2858,4259,2853,5143,5118,5115,5115,5115,
- 5115,5115,5115,5115,5122,1,1,1,1,1,
+ 1,1,135,1,1297,1015,1918,3145,1,1,
+ 1,2802,2827,3334,1,1,1,131,4990,5171,
+ 4990,1488,3249,2508,2045,2374,3171,2889,4990,3236,
+ 565,3210,3184,3209,4990,4965,4962,4962,4962,4962,
+ 4962,4962,4962,4969,1,1,1,4972,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,5125,1,1,1,1,1,1,1,1,
- 1,5143,1,1,1,1,1,1,1,4795,
- 1,1,1,1032,1,2721,1,1,1,1,
- 1,1647,1,1,1,813,2771,1,1,1,
- 53,4971,4968,1,1,1,347,5143,5322,985,
- 2945,2203,2124,2117,2830,3003,5149,2878,1605,2858,
- 4259,2853,5143,5118,5115,5115,5115,5115,5115,5115,
- 5115,5122,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,5125,1,
- 1,1,1,1,1,1,1,1,5143,1,
- 1,1,1,1,1,1,1777,1,1,1,
- 1032,1,2721,1,1,1,1,1,1647,1,
- 1,1,5143,2771,1,1,1,129,5143,42,
- 1,1,1,5184,5148,5322,985,2945,2203,2124,
- 2117,2830,3003,5143,2878,1605,2858,4259,2853,5143,
- 5118,5115,5115,5115,5115,5115,5115,5115,5122,1,
+ 1,1,1,1,4990,1,1,1,1,1,
+ 1,4990,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,5125,1,1,1,1,
- 1,1,1,1,1,5143,1,1,1,1,
- 1,1,1,1774,1,1,1,1032,1,2721,
- 1,1,1,1,1,1647,1,1,1,124,
- 2771,1,1,1,128,2569,2595,1,1,1,
- 2941,780,5322,985,2945,2203,2124,2117,2830,3003,
- 5143,2878,1605,2858,4259,2853,5143,5118,5115,5115,
- 5115,5115,5115,5115,5115,5122,1,1,1,1,
+ 1742,1,1297,1015,1918,3145,1,1,1,2252,
+ 2225,3484,1,1,1,2802,2827,5171,4990,1488,
+ 3249,2508,2045,2374,3171,2889,4990,3236,565,3210,
+ 3184,3209,4990,4965,4962,4962,4962,4962,4962,4962,
+ 4962,4969,1,1,1,4972,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,5125,1,1,1,1,1,1,1,
- 1,1,5143,1,1,1,1,1,1,1,
- 2766,1,1,1,1032,1,2721,1,1,1,
- 1,1,1647,1,1,1,123,2771,1,1,
- 1,127,2569,2595,1,1,1,2941,780,5322,
- 985,2945,2203,2124,2117,2830,3003,5143,2878,1605,
- 2858,4259,2853,5143,5118,5115,5115,5115,5115,5115,
- 5115,5115,5122,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,5125,
- 1,1,1,1,1,1,1,1,1,40,
- 1,1,1,1,1,1,1,3406,1,1,
- 1,1032,1,2721,1,1,1,1,1,1647,
- 1,1,1,5143,2771,1,1,1,126,2569,
- 2595,1,1,1,104,5182,5322,985,2945,2203,
- 2124,2117,2830,3003,5143,2878,1605,2858,4259,2853,
- 5143,2833,1,1,1,1,1,1,1,5153,
+ 1,1,4990,1,1,1,1,1,1,41,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,5152,1,1,1,
- 1,1,1,1,1,1,137,1,1,1,
- 1,1,1,1,4666,1,1,1,1032,1,
- 2721,1,1,1,1,1,1647,1,1,1,
- 52,2771,1,1,1,5143,2569,2595,1,1,
- 1,320,133,5322,985,2945,2203,2124,2117,2830,
- 3003,142,2878,1605,2858,4259,2853,42,4771,4768,
- 3407,720,2977,3953,3270,3975,1140,1075,3931,3909,
- 5408,5406,5415,5414,5410,5411,5409,5412,5413,5416,
- 5407,4019,3997,302,5400,5166,910,648,772,5168,
- 663,622,763,5444,5169,5167,606,5162,5164,5165,
- 5163,1777,5403,5479,1230,583,5480,1816,5397,5404,
- 5376,5402,5401,130,5398,5399,5377,5143,5143,5535,
- 391,4771,4768,30,5184,1224,5536,5537,5143,5008,
- 5008,228,5004,228,228,228,228,5012,1,2339,
- 2311,1,1,1,1,1,1,1,1,1,
- 1,1,2213,139,228,1,42,2542,1,5025,
- 5021,5055,42,5058,490,5061,5184,5153,2711,5143,
- 5472,5143,143,1,1,3081,714,1,4786,1,
- 1,1,1,1,5152,1,1,1,4980,4980,
- 1,5143,4771,4768,360,5184,1,1,1,408,
- 228,5547,5143,40,5001,5001,2423,2394,5001,5632,
- 5143,5008,5008,228,5004,228,228,228,228,5064,
- 1,5143,33,1,1,1,1,1,1,1,
- 1,1,1,1,3549,3652,228,1,430,2490,
- 287,3002,5569,5570,5571,419,490,1,5025,5021,
- 3516,119,1858,2248,3270,1,1,3493,714,1,
- 4313,1,1,1,1,1,662,1,1,1,
- 140,134,1,335,2175,5143,8415,8415,1,1,
- 1,407,228,5547,384,1,1781,4807,2719,4351,
- 4807,5632,4807,4810,415,4810,4810,365,5025,5021,
- 3516,1,1858,1,3270,1,1353,1777,4810,4810,
- 4807,5182,1,4992,4992,356,4989,3172,2711,5479,
- 5472,361,5480,1,5569,5570,5571,384,4810,5143,
- 48,4965,4965,5143,5087,5082,3831,4989,1858,5079,
- 3270,5076,3470,3092,4810,1777,143,138,5143,4810,
- 4810,4810,5569,5570,5571,4810,4810,1777,5143,433,
- 1,1,5143,1,1042,4789,4962,4789,2339,2311,
- 2248,4810,4810,4810,4810,4810,4810,4810,4810,4810,
- 4810,4810,4810,4810,4810,4810,4810,4810,4810,4810,
- 4810,4810,4810,4810,4810,4810,4810,4810,5143,361,
- 383,4810,4810,4817,4810,1997,4817,361,4817,4820,
- 5498,4820,4820,1735,344,5096,5092,3516,5184,1858,
- 2711,3270,5472,1805,4820,4820,4817,5143,5096,5092,
- 3831,5184,1858,2711,3270,5472,1,5025,5021,3831,
- 5143,1858,3637,3270,4813,310,583,5143,2175,5143,
- 1693,1651,1609,1567,1525,1483,1441,1399,1357,1315,
- 4820,5143,310,4351,3738,4820,4820,4820,5143,5160,
- 5161,4820,4820,2474,1777,310,5087,5082,3831,4989,
- 1858,5079,3270,5076,5143,5160,5161,4820,4820,4820,
- 4820,4820,4820,4820,4820,4820,4820,4820,4820,4820,
- 4820,4820,4820,4820,4820,4820,4820,4820,4820,4820,
- 4820,4820,4820,4820,3162,3652,346,4820,4820,3326,
- 4820,5143,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,4990,1,
+ 1297,1015,1918,3145,1,1,1,4990,5007,5008,
+ 1,1,1,130,420,5171,5030,1488,3249,2508,
+ 2045,2374,3171,2889,4990,3236,565,3210,3184,3209,
+ 4990,4965,4962,4962,4962,4962,4962,4962,4962,4969,
+ 1,1,1,4972,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,4041,1130,1,
+ 357,1,1,1,1,1,1,53,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,5143,4771,4768,1,5184,
- 5143,344,42,42,2719,5184,1777,2711,5143,5472,
- 53,4956,4953,2474,1,1,5143,4771,4768,318,
- 720,4823,5067,3270,5669,1,4866,4862,3407,4870,
- 2977,3953,3270,3975,3640,4826,3931,3909,4853,4859,
- 4832,4835,4847,4844,4850,4841,4838,4829,4856,4019,
- 3997,417,1126,5166,910,648,772,5168,663,622,
- 763,1777,5169,5167,606,5162,5164,5165,5163,288,
- 5160,5161,1230,1,5025,5021,3831,5143,1858,1777,
- 3270,5143,5500,5143,4956,4953,5151,3414,42,42,
- 505,42,4771,4768,3407,720,2977,3953,3270,3975,
- 5151,550,3931,3909,5408,5406,5415,5414,5410,5411,
- 5409,5412,5413,5416,5407,4019,3997,3447,5143,5166,
- 910,648,772,5168,663,622,763,5153,5169,5167,
- 606,5162,5164,5165,5163,5143,4771,4768,1230,720,
- 1858,4191,3270,939,5152,1997,4041,1130,5150,5143,
- 5160,5161,5143,5143,4771,4768,5143,720,4823,2720,
- 3270,5151,5150,42,4771,4768,3407,720,2977,3953,
- 3270,3975,5151,550,3931,3909,5408,5406,5415,5414,
- 5410,5411,5409,5412,5413,5416,5407,4019,3997,1984,
- 115,5166,910,648,772,5168,663,622,763,3795,
- 5169,5167,606,5162,5164,5165,5163,5143,4771,4768,
- 1230,5184,5143,4191,1,5025,5021,3516,5143,1858,
- 5143,3270,3544,5150,224,145,4771,4768,3407,720,
- 2977,3953,3270,3975,5150,550,3931,3909,5408,5406,
- 5415,5414,5410,5411,5409,5412,5413,5416,5407,4019,
- 3997,5400,1,5166,910,648,772,5168,663,622,
- 763,5149,5169,5167,606,5162,5164,5165,5163,5403,
- 5479,2999,1230,5480,1777,5397,5404,5376,5402,5401,
- 4063,5398,5399,5377,95,5644,4085,4801,42,42,
- 1,4866,4862,3407,4870,2977,3953,3270,3975,5143,
- 4826,3931,3909,4853,4859,4832,4835,4847,4844,4850,
- 4841,4838,4829,4856,4019,3997,5143,5143,5166,910,
- 648,772,5168,663,622,763,5147,5169,5167,606,
- 5162,5164,5165,5163,434,42,42,1230,5184,5148,
- 4986,5143,4983,96,1,1,5143,1,5143,4998,
- 2157,4998,2507,42,42,42,4771,4768,3407,720,
- 2977,3953,3270,3975,5147,550,3931,3909,5408,5406,
- 5415,5414,5410,5411,5409,5412,5413,5416,5407,4019,
- 3997,5143,399,5166,910,648,772,5168,663,622,
- 763,5049,5169,5167,606,5162,5164,5165,5163,42,
- 4771,4768,3407,720,2977,3953,3270,3975,5052,550,
- 3931,3909,5408,5406,5415,5414,5410,5411,5409,5412,
- 5413,5416,5407,4019,3997,4515,118,5166,910,648,
- 772,5168,663,622,763,5146,5169,5167,606,5162,
- 5164,5165,5163,5143,4771,4768,1230,720,1858,4191,
- 3270,237,1,1,4959,117,2719,39,5040,5037,
- 1,5143,340,4589,42,4771,4768,3407,720,2977,
- 3953,3270,3975,5146,550,3931,3909,5408,5406,5415,
- 5414,5410,5411,5409,5412,5413,5416,5407,4019,3997,
- 5143,5143,5166,910,648,772,5168,663,622,763,
- 5149,5169,5167,606,5162,5164,5165,5163,5143,1,
- 289,1230,581,1777,5601,5595,4063,5599,340,340,
- 5593,5594,4085,1,5115,5115,228,5115,228,228,
- 228,228,228,5624,5625,42,225,116,5602,5184,
- 340,1,5025,5021,3831,4063,1858,4161,3270,228,
- 7974,4085,4578,5604,99,42,42,4600,5184,5112,
- 5073,390,5070,5400,5143,383,5143,2964,5143,1070,
- 103,1032,1346,1361,5605,5626,5603,1908,5148,2502,
- 3212,5403,5479,5143,2771,5480,121,5397,5404,5376,
- 5402,5401,3493,5398,5399,5377,3793,5615,5614,5627,
- 5596,5597,5620,5621,5632,662,5618,5619,5598,5600,
- 5622,5623,5628,5608,5609,5610,5606,5607,5616,5617,
- 5612,5611,5613,5143,5143,368,581,4063,5601,5595,
- 1946,5599,5143,4085,5593,5594,5538,1,5115,5115,
- 228,5115,228,228,228,228,5134,5624,5625,5569,
- 5570,5571,5602,1,5025,5021,5055,42,5058,5143,
- 5061,5184,4352,228,7974,189,33,5604,4586,5143,
- 5160,5161,5143,5112,1858,1,3270,3470,3092,5143,
- 4971,4968,2721,1070,5109,1032,1346,1361,5605,5626,
- 5603,120,1084,2502,391,5160,5161,3493,2771,5143,
- 8275,8199,1380,5143,8275,8199,312,5143,220,2208,
- 4774,5615,5614,5627,5596,5597,5620,5621,5632,443,
- 5618,5619,5598,5600,5622,5623,5628,5608,5609,5610,
- 5606,5607,5616,5617,5612,5611,5613,42,4771,4768,
- 3407,720,2977,3953,3270,3975,5150,550,3931,3909,
- 5408,5406,5415,5414,5410,5411,5409,5412,5413,5416,
- 5407,4019,3997,4777,1,5166,910,648,772,5168,
- 663,622,763,1186,5169,5167,606,5162,5164,5165,
- 5163,5143,3470,3092,4378,522,5140,5143,42,4771,
- 4768,3407,720,2977,3953,3270,3975,1228,550,3931,
- 3909,5408,5406,5415,5414,5410,5411,5409,5412,5413,
- 5416,5407,4019,3997,3844,3680,5166,910,648,772,
- 5168,663,622,763,5143,5169,5167,606,5162,5164,
- 5165,5163,2661,5143,1,1230,42,4771,4768,3842,
- 720,2977,3953,3270,3975,5143,550,3931,3909,5408,
- 5406,5415,5414,5410,5411,5409,5412,5413,5416,5407,
- 4019,3997,2749,1,5166,910,648,772,5168,663,
- 622,763,5153,5169,5167,606,5162,5164,5165,5163,
- 42,4771,4768,3407,720,2977,3953,3270,3975,5152,
- 550,3931,3909,5408,5406,5415,5414,5410,5411,5409,
- 5412,5413,5416,5407,4019,3997,132,44,5166,910,
- 648,772,5168,663,622,763,383,5169,5167,606,
- 5162,5164,5165,5163,42,4771,4768,3407,720,2977,
- 3953,3270,3975,5143,550,3931,3909,5408,5406,5415,
- 5414,5410,5411,5409,5412,5413,5416,5407,4019,3997,
- 2542,4798,5166,910,648,772,5168,663,622,763,
- 4804,5169,5167,606,5162,5164,5165,5163,5143,4771,
- 4768,4974,5184,40,4995,4995,5143,5143,560,4383,
- 4664,5408,5406,5415,5414,5410,5411,5409,5412,5413,
- 5416,5407,5143,5018,5015,5400,5143,5143,5587,2423,
- 2394,302,5143,5143,5033,5029,2478,1,366,1862,
- 5143,5444,5143,5403,5479,226,361,5480,5143,5397,
- 5404,5376,5402,5401,5143,5398,5399,5377,5182,5143,
- 5535,241,4946,4942,1,4950,1224,5536,5537,5182,
- 5143,560,5400,3018,4933,4939,4912,4915,4927,4924,
- 4930,4921,4918,4909,4936,5143,662,1464,4897,53,
- 5403,5479,5143,5161,5480,3040,5397,5404,5376,5402,
- 5401,3176,5398,5399,5377,1144,4888,4882,662,5143,
- 4879,5143,4906,4885,4876,4891,4894,1,4903,4900,
- 4873,223,107,5535,361,3122,518,5143,5143,1224,
- 5536,5537,361,5161,5408,5406,5415,5414,5410,5411,
- 5409,5412,5413,5416,5407,131,411,497,5400,50,
- 5046,5046,437,3638,438,1,5115,5115,228,5115,
- 228,228,228,228,5134,53,5403,5479,5143,5160,
- 5480,3567,5397,5404,5376,5402,5401,5143,5398,5399,
- 5377,228,7974,279,495,5043,5100,5143,5143,2542,
- 5143,5112,1,5115,5115,228,5115,228,228,228,
- 228,5137,5143,1032,518,79,5143,1,2769,5160,
- 4977,2502,373,2086,4591,5153,2771,5103,228,7974,
- 3127,511,5143,5143,3034,4198,220,5143,5112,5210,
- 5211,3736,5152,1,1,5143,5632,5143,2423,2394,
- 1032,5143,167,2627,5103,5143,3027,5143,2502,2035,
- 3178,4598,5143,2771,5143,2976,5143,4535,5143,167,
- 5325,4544,3119,219,5143,2864,309,4553,5143,5106,
- 2627,4571,4249,5632,1,5115,5115,228,5115,228,
- 228,228,228,5134,38,1,5115,5115,228,5115,
- 228,228,228,228,5134,3871,5106,5143,5143,5324,
- 228,7974,3722,3456,5143,2,3874,3371,569,5143,
- 5112,228,7974,5143,5143,5143,4678,5143,5143,5143,
- 167,5112,1032,499,5143,981,5143,5143,5143,5143,
- 2502,3027,4266,1032,5143,2771,5143,5143,5143,5143,
- 3027,2502,5143,5143,5143,220,2771,5143,5143,40,
- 5143,1506,5143,5143,5143,5632,220,5143,5143,5143,
- 5143,5143,5143,5143,1506,1866,5632,1,5115,5115,
- 228,5115,228,228,228,228,228,5143,1,5115,
- 5115,228,5115,228,228,228,228,228,5143,5143,
- 650,5143,5143,228,7974,5143,5143,5143,5143,5143,
- 5143,5143,5143,5112,228,7974,5143,5143,5143,5143,
- 5143,5143,5143,5143,5112,1032,5143,5143,5143,5143,
- 5143,5143,5143,2502,5143,5143,1032,5143,2771,5143,
- 5143,5143,5143,5143,2502,227,5143,5143,5143,2771,
- 5143,5143,5143,5143,5143,5143,5143,5143,5632,1,
- 5115,5115,228,5115,228,228,228,228,228,5632,
- 5143,5143,5400,5143,5143,5143,5143,5143,5143,5143,
- 5143,5143,5143,5143,5143,228,7974,5143,5143,5143,
- 5403,5479,5143,5143,5480,5112,5397,5404,5376,5402,
- 5401,5143,5398,5399,5377,5143,5143,1032,5143,5143,
- 5143,5143,5143,5143,5143,2502,5143,5143,5143,5143,
- 2771,5143,5143,5143,5143,5143,5143,5143,5143,5143,
- 5143,5143,5143,5143,5143,5143,5143,5143,5143,5143,
- 5632
+ 1,1,1,1,1,1,3584,1,1297,1015,
+ 1918,3145,1,1,1,4990,4788,4785,1,1,
+ 1,2802,2827,5171,1074,1488,3249,2508,2045,2374,
+ 3171,2889,4990,3236,565,3210,3184,3209,4990,4965,
+ 4962,4962,4962,4962,4962,4962,4962,4969,1,1,
+ 1,4972,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,4990,1,
+ 1,1,1,1,1,5346,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,4990,1,1297,1015,1918,3145,
+ 1,1,1,54,4815,4812,1,1,1,129,
+ 4990,5171,4990,1488,3249,2508,2045,2374,3171,2889,
+ 438,3236,565,3210,3184,3209,4990,4965,4962,4962,
+ 4962,4962,4962,4962,4962,4969,1,1,1,4972,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,4990,1,1,1,
+ 1,1,1,4990,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,5386,1,1297,1015,1918,3145,1,1,
+ 1,128,2454,4064,1,1,1,2802,2827,5171,
+ 4990,1488,3249,2508,2045,2374,3171,2889,4990,3236,
+ 565,3210,3184,3209,4990,4965,4962,4962,4962,4962,
+ 4962,4962,4962,4969,1,1,1,4972,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,4990,1,1,1,1,1,
+ 1,33,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 136,1,1297,1015,1918,3145,1,1,1,2802,
+ 2827,4616,1,1,1,4990,303,5171,4184,1488,
+ 3249,2508,2045,2374,3171,2889,5292,3236,565,3210,
+ 3184,3209,4990,4965,4962,4962,4962,4962,4962,4962,
+ 4962,4969,1,1,1,4972,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,4990,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,4990,1,
+ 1297,1015,1918,3145,1,1,1,2252,2225,43,
+ 1,1,1,5032,4990,5171,2899,1488,3249,2508,
+ 2045,2374,3171,2889,4990,3236,565,3210,3184,3209,
+ 4990,3197,1,1,1,1,1,1,1,5000,
+ 1,1,1,4999,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 4990,1,1,1,1,1,1,5348,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1957,1,1297,1015,
+ 1918,3145,1,1,1,54,4788,4785,1,1,
+ 1,4990,4990,5171,983,1488,3249,2508,2045,2374,
+ 3171,2889,4990,3236,565,3210,3184,3209,43,4613,
+ 4610,3636,850,3692,3804,2484,3825,4990,1055,3783,
+ 3762,642,5249,5256,5254,5263,5262,5258,5259,5257,
+ 5260,5261,5264,5255,3867,3846,5013,3435,4990,641,
+ 855,5015,712,4003,756,444,5016,5014,619,5009,
+ 5011,5012,5010,5252,5327,5328,5246,5253,5225,5251,
+ 5250,5247,5248,5226,5174,1167,1,4869,4865,3303,
+ 5383,579,4990,2484,2998,4619,633,5384,5385,4990,
+ 4852,4852,230,4848,230,230,230,230,4856,1,
+ 4990,141,230,1,1,1,1,1,1,1,
+ 1,1,1,1,1,4990,4943,4939,4095,5032,
+ 579,1327,2484,5320,1,4990,491,1,81,139,
+ 3571,2997,1703,167,1,1,1,1,1,1,
+ 1,1,1,1,1,163,121,1256,4990,5007,
+ 5008,1,3740,2594,5058,5059,143,1,1,1,
+ 409,230,5395,4990,4613,4610,313,850,4655,3343,
+ 2484,5480,4990,4852,4852,230,4848,230,230,230,
+ 230,4908,1,1703,610,230,1,1,1,1,
+ 1,1,1,1,1,1,1,1,167,33,
+ 650,583,45,5417,5418,5419,1,4836,4836,491,
+ 4833,1210,1327,4990,5320,362,132,1,1,1,
+ 1,1,1,1,1,1,1,1,2166,632,
+ 1256,1906,4640,1126,1,4990,4990,3718,2975,303,
+ 1,1,1,408,230,5395,2426,37,1994,5292,
+ 4649,448,4990,4649,5480,4649,4649,2133,4649,4649,
+ 4649,4994,4990,4934,4929,4095,4833,579,4926,2484,
+ 4923,416,43,4649,4649,391,5032,4649,226,384,
+ 362,4628,4990,4990,8390,8390,5417,5418,5419,4990,
+ 4613,4610,5249,5032,145,1,4869,4865,4899,2647,
+ 4902,362,4905,4649,5000,632,447,4634,4999,2287,
+ 778,140,4649,4649,4649,4990,144,3003,4649,4649,
+ 5030,4649,4990,5252,5327,5328,5246,5253,5225,5251,
+ 5250,5247,5248,5226,1920,4649,4649,4649,4649,4649,
+ 4649,4649,4649,4649,4649,4649,4649,4649,4649,4649,
+ 4649,4649,4649,4649,4649,4649,4649,4649,4649,4649,
+ 4649,1662,4637,4990,4649,4649,4652,4649,4990,4652,
+ 4993,4652,4652,4990,4652,4652,4652,345,4943,4939,
+ 3303,5032,579,1327,2484,5320,5417,5418,5419,4652,
+ 4652,43,4990,4652,227,5032,2096,2594,1621,1580,
+ 1539,1498,1457,1416,1375,1334,1293,1252,5249,97,
+ 2166,2768,4643,1,4869,4865,4095,2133,579,4652,
+ 2484,142,311,4990,4613,4610,311,5032,4652,4652,
+ 4652,4990,30,1703,4652,4652,2188,4652,2309,5252,
+ 5327,5328,5246,5253,5225,5251,5250,5247,5248,5226,
+ 145,4652,4652,4652,4652,4652,4652,4652,4652,4652,
+ 4652,4652,4652,4652,4652,4652,4652,4652,4652,4652,
+ 4652,4652,4652,4652,4652,4652,4652,49,4809,4809,
+ 4652,4652,1614,4652,4990,1,1,1,1,1,
+ 1,1,1,1,1,1,1,4824,4824,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,4806,1,1,1,1,1,
+ 1,583,1,1,1,1,1,1,1,311,
+ 4934,4929,4095,4833,579,4926,2484,4923,434,1,
+ 1,1,1,4990,4631,4990,4631,1,1,4990,
+ 4613,4610,2096,850,579,4990,2484,5517,1,4698,
+ 4694,3636,4702,3692,3804,2484,3825,2768,4658,3783,
+ 3762,3639,4990,4685,4691,4664,4667,4679,4676,4682,
+ 4673,4670,4661,4688,3867,3846,5013,3435,4177,641,
+ 855,5015,712,4003,756,1,5016,5014,619,5009,
+ 5011,5012,5010,4990,362,366,4869,4865,3303,1,
+ 579,1,2484,1,348,1167,505,41,4839,4839,
+ 2320,43,43,506,43,4613,4610,3636,850,3692,
+ 3804,2484,3825,4998,550,3783,3762,3344,4293,5256,
+ 5254,5263,5262,5258,5259,5257,5260,5261,5264,5255,
+ 3867,3846,5013,3435,2387,641,855,5015,712,4003,
+ 756,1703,5016,5014,619,5009,5011,5012,5010,362,
+ 1703,4990,988,4990,4613,4610,523,850,4655,384,
+ 2484,1167,806,4245,4990,345,43,43,3571,5032,
+ 362,1327,4990,5320,4990,4997,43,4613,4610,3636,
+ 850,3692,3804,2484,3825,4998,550,3783,3762,4646,
+ 2375,5256,5254,5263,5262,5258,5259,5257,5260,5261,
+ 5264,5255,3867,3846,5013,3435,4990,641,855,5015,
+ 712,4003,756,3075,5016,5014,619,5009,5011,5012,
+ 5010,1703,1,4869,4865,4095,43,579,239,2484,
+ 5032,4791,1327,1167,5320,4245,632,2364,147,4613,
+ 4610,3636,850,3692,3804,2484,3825,4997,550,3783,
+ 3762,4990,4990,5256,5254,5263,5262,5258,5259,5257,
+ 5260,5261,5264,5255,3867,3846,5013,3435,4990,641,
+ 855,5015,712,4003,756,4990,5016,5014,619,5009,
+ 5011,5012,5010,4990,1,1,4990,3571,4468,4990,
+ 123,4990,4998,341,1920,1167,3740,4990,4990,5007,
+ 5008,43,43,1,4698,4694,3636,4702,3692,3804,
+ 2484,3825,4990,4658,3783,3762,3478,4293,4685,4691,
+ 4664,4667,4679,4676,4682,4673,4670,4661,4688,3867,
+ 3846,5013,3435,2373,641,855,5015,712,4003,756,
+ 1703,5016,5014,619,5009,5011,5012,5010,1491,341,
+ 341,435,43,43,4997,5032,5492,4830,341,4827,
+ 1167,3888,532,4990,4788,4785,43,43,43,4613,
+ 4610,3636,850,3692,3804,2484,3825,4994,550,3783,
+ 3762,3718,2975,5256,5254,5263,5262,5258,5259,5257,
+ 5260,5261,5264,5255,3867,3846,5013,3435,4990,641,
+ 855,5015,712,4003,756,3357,5016,5014,619,5009,
+ 5011,5012,5010,43,4613,4610,3636,850,3692,3804,
+ 2484,3825,4990,550,3783,3762,3888,532,5256,5254,
+ 5263,5262,5258,5259,5257,5260,5261,5264,5255,3867,
+ 3846,5013,3435,4990,641,855,5015,712,4003,756,
+ 4990,5016,5014,619,5009,5011,5012,5010,4990,4996,
+ 4990,3345,1,4869,4865,3303,2160,579,4990,2484,
+ 1167,3630,4245,43,4613,4610,3636,850,3692,3804,
+ 2484,3825,4990,550,3783,3762,4993,5435,5256,5254,
+ 5263,5262,5258,5259,5257,5260,5261,5264,5255,3867,
+ 3846,5013,3435,4990,641,855,5015,712,4003,756,
+ 124,5016,5014,619,5009,5011,5012,5010,1703,225,
+ 1,2862,2342,833,4995,5449,5443,4990,5447,4990,
+ 1167,5441,5442,5249,5256,5254,5263,5262,5258,5259,
+ 5257,5260,5261,5264,5255,228,5472,5473,4990,5450,
+ 5452,126,98,1,1,3998,1,5000,4842,5249,
+ 4842,4999,2862,2342,5252,5327,5328,5246,5253,5225,
+ 5251,5250,5247,5248,5226,5173,639,125,392,4613,
+ 4610,4990,5032,1479,1502,5453,5474,5451,2862,2342,
+ 5252,5327,5328,5246,5253,5225,5251,5250,5247,5248,
+ 5226,122,229,106,4990,4862,4859,3740,5463,5462,
+ 5475,5444,5445,5468,5469,43,5249,5466,5467,5446,
+ 5448,5470,5471,5476,5456,5457,5458,5454,5455,5464,
+ 5465,5460,5459,5461,4990,347,4990,833,1655,5449,
+ 5443,5030,5447,4990,4990,5441,5442,5252,5327,5328,
+ 5246,5253,5225,5251,5250,5247,5248,5226,54,4358,
+ 5472,5473,5008,5450,5452,101,43,43,1,5032,
+ 4990,4917,191,4914,1,4869,4865,4095,4950,579,
+ 4990,2484,1,4869,4865,4899,4990,4902,5008,4905,
+ 639,1703,3718,2975,289,5007,5008,1479,1502,5453,
+ 5474,5451,4990,4613,4610,3005,850,579,3516,2484,
+ 4990,5007,5008,4990,1,579,4116,2484,385,4990,
+ 5007,5008,5463,5462,5475,5444,5445,5468,5469,2072,
+ 4953,5466,5467,5446,5448,5470,5471,5476,5456,5457,
+ 5458,5454,5455,5464,5465,5460,5459,5461,43,4613,
+ 4610,3636,850,3692,3804,2484,3825,4990,550,3783,
+ 3762,3051,336,5256,5254,5263,5262,5258,5259,5257,
+ 5260,5261,5264,5255,3867,3846,5013,3435,3671,641,
+ 855,5015,712,4003,756,1,5016,5014,619,5009,
+ 5011,5012,5010,4987,4956,43,4613,4610,3636,850,
+ 3692,3804,2484,3825,1247,550,3783,3762,5327,5328,
+ 5256,5254,5263,5262,5258,5259,5257,5260,5261,5264,
+ 5255,3867,3846,5013,3435,4990,641,855,5015,712,
+ 4003,756,4990,5016,5014,619,5009,5011,5012,5010,
+ 4990,3288,4990,43,4613,4610,4361,850,3692,3804,
+ 2484,3825,1167,550,3783,3762,4997,4990,5256,5254,
+ 5263,5262,5258,5259,5257,5260,5261,5264,5255,3867,
+ 3846,5013,3435,4990,641,855,5015,712,4003,756,
+ 361,5016,5014,619,5009,5011,5012,5010,43,4613,
+ 4610,3636,850,3692,3804,2484,3825,431,550,3783,
+ 3762,1015,4990,5256,5254,5263,5262,5258,5259,5257,
+ 5260,5261,5264,5255,3867,3846,5013,3435,4990,641,
+ 855,5015,712,4003,756,4990,5016,5014,619,5009,
+ 5011,5012,5010,43,4613,4610,3636,850,3692,3804,
+ 2484,3825,290,550,3783,3762,4367,4990,5256,5254,
+ 5263,5262,5258,5259,5257,5260,5261,5264,5255,3867,
+ 3846,5013,3435,4990,641,855,5015,712,4003,756,
+ 4990,5016,5014,619,5009,5011,5012,5010,4990,4613,
+ 4610,117,5032,4990,41,4845,4845,54,979,4845,
+ 1,5007,5249,5256,5254,5263,5262,5258,5259,5257,
+ 5260,5261,5264,5255,4990,4877,4873,4990,134,1832,
+ 4272,5417,5418,5419,4990,4613,4610,5007,5032,4990,
+ 632,2949,4205,5252,5327,5328,5246,5253,5225,5251,
+ 5250,5247,5248,5226,4990,243,4778,4774,2426,4782,
+ 5383,5030,51,4890,4890,979,633,5384,5385,4729,
+ 4765,4771,4744,4747,4759,4756,4762,4753,4750,4741,
+ 4768,33,384,384,4800,384,384,4800,384,4800,
+ 4803,3909,4990,4818,4800,384,1700,3930,288,4887,
+ 4720,4714,4711,4738,4717,4708,4723,4726,4735,4732,
+ 4705,4616,4990,120,369,119,1790,5383,40,4884,
+ 4881,2287,778,633,5384,5385,384,384,384,384,
+ 384,384,384,384,384,384,384,4803,36,385,
+ 385,4794,385,385,4794,385,4794,4797,4990,118,
+ 133,4794,385,4990,4990,4803,418,5000,4990,4815,
+ 4812,4999,4998,4990,1163,1,4962,4962,230,4962,
+ 230,230,230,230,230,392,5007,5008,230,8374,
+ 2426,1033,439,385,385,385,385,385,385,385,
+ 385,385,385,385,4797,3261,4990,7975,7646,4990,
+ 1,4990,4959,3909,1,3909,4990,400,1,3930,
+ 4950,3930,4797,169,2406,4821,4893,169,4990,901,
+ 4896,4271,4185,1297,4997,2477,3145,1,4962,4962,
+ 230,4962,230,230,230,230,4981,3005,367,3909,
+ 230,8374,4990,2287,778,3930,319,5480,2539,4911,
+ 321,4996,1,4962,4962,230,4962,230,230,230,
+ 230,4981,4953,105,4959,230,8374,1,4962,4962,
+ 230,4962,230,230,230,230,4984,1,169,4990,
+ 230,8374,1,3354,79,1297,4996,2477,3145,4959,
+ 1,5000,4990,7975,7646,4999,4990,109,222,519,
+ 4425,4990,1703,412,4959,1085,1703,498,4485,5480,
+ 1297,496,2477,3145,4920,4990,4995,280,3000,1869,
+ 4947,4990,39,222,4504,1297,3346,2477,3145,4990,
+ 4990,3574,3061,3275,5480,1,4990,4990,221,1,
+ 4962,4962,230,4962,230,230,230,230,4981,5480,
+ 4990,4995,230,8374,1,4962,4962,230,4962,230,
+ 230,230,230,4981,519,374,4990,230,8374,4426,
+ 2008,4990,4990,512,4473,4432,4959,4990,4484,1,
+ 4962,4962,230,4962,230,230,230,230,230,2731,
+ 310,4959,230,8374,4058,4990,4061,1297,4433,2477,
+ 3145,4990,4990,2731,4440,2712,1,4990,4990,4080,
+ 222,4505,1297,4990,2477,3145,4959,4990,500,4990,
+ 4990,5480,2,4990,4990,222,4990,4990,4990,4990,
+ 4990,4990,4990,4990,3131,4990,5480,1297,1791,2477,
+ 3145,1,4962,4962,230,4962,230,230,230,230,
+ 230,4990,41,3576,230,8374,4070,4990,4990,4990,
+ 4990,5480,4990,4990,4990,4990,1,4962,4962,230,
+ 4962,230,230,230,230,230,4990,4990,4959,230,
+ 8374,4990,4990,4990,3357,2082,4990,4990,4990,4990,
+ 4990,4990,3357,4990,4990,4990,4990,4990,4990,1297,
+ 4990,2477,3145,4959,4990,4990,4990,4990,4990,4990,
+ 4990,4990,4990,4990,4990,4990,4990,4990,4990,4990,
+ 4990,4990,4990,5480,1297,4990,2477,3145,4990,4990,
+ 4990,4990,4990,4990,4990,4990,4990,4990,4990,4990,
+ 4990,4990,4990,4990,4990,4990,4990,4990,5480
};
};
public final static char termAction[] = TermAction.termAction;
@@ -1661,59 +1634,59 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse
public interface Asb {
public final static char asb[] = {0,
- 362,1,1021,166,3,940,360,360,360,360,
- 66,940,743,563,743,464,150,466,167,167,
- 167,167,167,167,167,167,167,977,983,988,
- 985,992,990,997,995,999,998,1000,70,1001,
- 166,150,38,38,38,38,206,426,10,740,
- 38,286,342,743,743,10,594,977,342,342,
- 333,150,899,37,848,68,958,150,960,960,
- 728,728,426,166,167,167,167,167,167,167,
- 167,167,167,167,167,167,167,167,167,167,
- 167,167,167,166,166,166,166,166,166,166,
- 166,166,166,166,166,167,342,342,633,633,
- 633,633,521,342,10,116,947,958,424,958,
- 419,958,421,958,942,66,206,286,286,10,
- 167,116,245,647,537,536,209,66,466,286,
- 37,166,204,847,342,203,206,205,203,342,
- 286,985,985,983,983,983,990,990,990,990,
- 988,988,995,992,992,998,997,999,1113,1000,
- 940,940,940,940,206,206,633,752,632,740,
- 206,736,477,206,291,521,525,289,424,545,
- 206,206,206,521,633,333,286,1015,342,649,
- 651,206,848,167,38,981,299,342,68,206,
- 206,205,848,166,166,166,166,166,940,360,
- 940,150,120,736,477,291,290,291,521,291,
- 545,545,206,521,206,342,541,529,540,651,
- 521,204,342,981,116,847,68,206,204,342,
- 342,342,342,426,426,736,735,296,206,477,
- 1113,523,1063,1103,477,291,291,555,206,545,
- 296,294,295,206,635,166,538,538,406,406,
- 206,645,116,1070,342,206,981,982,981,166,
- 299,1068,68,342,342,736,848,360,203,686,
- 1105,200,940,350,65,556,206,296,167,206,
- 635,166,166,651,848,342,649,529,635,220,
- 981,426,167,286,1068,204,492,204,291,291,
- 200,1020,116,353,167,1113,414,555,206,66,
- 66,206,799,651,204,635,982,342,286,1021,
- 492,204,291,424,66,1105,200,167,167,206,
- 206,206,799,342,799,632,360,471,471,1021,
- 424,130,350,206,940,206,206,940,792,799,
- 492,855,492,631,631,807,131,66,206,426,
- 652,792,404,690,111,940,345,891,492,38,
- 38,807,130,1113,167,1113,1021,940,940,940,
- 131,940,206,77,1021,1021,206,424,342,341,
- 794,809,633,111,404,854,424,424,550,66,
- 632,122,940,122,1113,131,150,150,148,553,
- 150,1021,1021,790,807,38,794,855,854,855,
- 1021,413,1020,342,854,854,854,66,206,684,
- 1070,342,200,342,77,1021,111,940,342,807,
- 854,166,1026,200,1021,296,854,854,854,206,
- 206,471,342,342,233,131,790,131,1021,77,
- 111,166,131,128,296,342,1024,296,296,206,
- 1021,631,424,424,932,166,129,426,1021,1021,
- 342,1024,1021,203,131,342,426,1021,295,131,
- 342,1024,131
+ 637,1,468,224,3,940,691,691,691,691,
+ 66,940,422,530,422,108,208,110,225,225,
+ 225,225,225,225,225,225,225,424,430,435,
+ 432,439,437,444,442,446,445,447,128,448,
+ 224,208,38,38,38,38,264,70,10,419,
+ 38,411,362,422,422,10,561,424,362,362,
+ 353,208,899,37,848,68,958,208,422,424,
+ 775,775,70,224,225,225,225,225,225,225,
+ 225,225,225,225,225,225,225,225,225,225,
+ 225,225,225,224,224,224,224,224,224,224,
+ 224,224,224,224,224,225,362,362,1022,1022,
+ 1022,1022,311,362,10,174,947,958,523,958,
+ 518,958,520,958,942,66,264,411,411,10,
+ 225,174,370,698,625,624,471,964,964,66,
+ 110,411,37,224,262,847,362,261,264,263,
+ 261,362,411,432,432,430,430,430,437,437,
+ 437,437,435,435,442,439,439,445,444,446,
+ 1034,447,940,940,940,940,264,264,1022,984,
+ 1021,419,264,415,267,264,515,311,315,513,
+ 523,365,264,264,264,311,1022,353,411,462,
+ 362,700,702,264,848,225,38,428,319,362,
+ 68,264,264,691,263,848,224,224,224,224,
+ 224,940,940,208,178,415,267,515,514,515,
+ 311,515,365,365,264,311,264,362,629,617,
+ 628,702,311,262,362,428,174,847,68,264,
+ 262,362,362,362,362,70,70,415,414,614,
+ 264,267,1034,313,1075,1024,267,515,515,799,
+ 264,365,614,612,613,264,602,224,626,626,
+ 115,115,264,696,174,1082,362,264,428,429,
+ 428,224,319,1080,424,68,362,362,415,848,
+ 691,261,633,1026,258,940,681,65,800,264,
+ 614,225,264,602,224,224,702,848,362,700,
+ 617,602,482,428,70,225,411,1080,262,282,
+ 262,515,515,258,467,174,684,225,1034,123,
+ 799,264,66,66,264,791,702,262,602,429,
+ 362,411,468,282,262,515,523,66,1026,258,
+ 225,225,264,264,264,791,362,791,1021,691,
+ 507,507,468,523,188,681,264,940,264,264,
+ 940,784,791,282,855,282,1020,1020,807,189,
+ 66,264,70,703,784,679,737,169,940,525,
+ 891,282,38,38,807,188,1034,225,1034,468,
+ 940,940,940,189,940,264,135,468,468,264,
+ 523,362,361,786,809,1022,169,679,854,523,
+ 523,693,66,1021,180,940,180,1034,189,208,
+ 208,206,782,208,468,468,600,807,38,786,
+ 855,854,855,468,122,467,362,854,854,854,
+ 66,264,735,1082,362,258,362,135,468,169,
+ 940,362,807,854,224,1038,258,468,614,854,
+ 854,854,264,264,507,362,362,495,189,600,
+ 189,468,135,169,224,189,186,614,362,1036,
+ 614,614,264,468,1020,523,523,932,224,187,
+ 70,468,468,362,1036,468,261,189,362,70,
+ 468,613,189,362,1036,189
};
};
public final static char asb[] = Asb.asb;
@@ -1721,118 +1694,118 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse
public interface Asr {
public final static byte asr[] = {0,
- 123,0,9,72,118,87,26,66,0,30,
- 63,31,32,64,7,33,34,35,37,47,
- 38,39,40,41,42,28,24,25,8,6,
- 11,12,5,29,65,43,3,51,13,14,
- 62,46,15,68,52,27,16,53,54,17,
- 18,55,57,19,20,58,69,59,10,70,
- 21,22,49,23,45,1,2,4,0,65,
- 72,95,66,118,87,71,13,14,30,63,
- 15,31,32,16,17,18,64,33,19,20,
- 34,35,37,47,38,39,10,21,22,23,
- 40,41,42,28,24,25,11,12,29,43,
- 9,26,7,5,3,1,2,8,4,6,
- 0,81,114,115,116,36,72,119,121,71,
- 73,74,48,56,61,76,78,85,83,75,
- 80,82,84,86,50,77,79,9,26,51,
- 62,46,68,52,27,53,54,55,57,58,
- 69,59,70,45,49,47,63,64,10,31,
- 35,33,30,39,14,23,13,19,17,18,
- 20,21,16,15,22,40,43,41,42,28,
- 38,32,37,24,25,11,12,29,34,8,
- 6,3,4,7,5,1,2,0,13,14,
- 15,16,17,18,19,20,21,22,23,51,
- 46,52,27,53,54,55,57,58,59,45,
- 49,26,9,87,7,1,2,60,3,8,
- 6,5,4,0,63,64,3,10,31,35,
- 33,30,39,14,23,13,19,17,18,20,
- 21,16,15,22,40,43,41,42,28,38,
- 32,37,5,7,4,24,25,8,6,11,
- 12,29,34,1,2,118,9,0,4,44,
- 50,72,0,67,66,71,9,0,96,90,
- 11,12,91,92,88,89,44,93,94,97,
+ 123,0,9,72,118,74,13,66,0,31,
+ 63,32,33,64,7,34,35,36,38,57,
+ 39,40,41,42,43,28,26,27,8,6,
+ 11,12,5,29,65,44,3,48,15,16,
+ 62,46,17,68,49,14,18,50,51,19,
+ 20,52,53,21,22,54,69,55,10,70,
+ 23,24,47,25,45,1,2,4,0,9,
+ 74,15,16,31,17,32,33,18,19,20,
+ 34,21,22,35,36,38,57,39,40,10,
+ 23,24,25,41,42,43,28,3,26,27,
+ 8,6,11,12,29,4,44,5,7,1,
+ 2,64,63,0,75,59,65,72,95,74,
+ 56,3,9,66,13,67,0,65,72,95,
+ 66,118,74,71,15,16,31,63,17,32,
+ 33,18,19,20,64,34,21,22,35,36,
+ 38,57,39,40,10,23,24,25,41,42,
+ 43,28,26,27,11,12,29,44,9,13,
+ 7,5,3,1,2,8,4,6,0,82,
+ 114,115,116,37,72,119,121,71,73,75,
+ 58,60,61,77,79,86,84,76,81,83,
+ 85,87,59,78,80,9,13,48,62,46,
+ 68,49,14,50,51,52,53,54,69,55,
+ 70,45,47,57,63,64,10,32,36,34,
+ 31,40,16,25,15,21,19,20,22,23,
+ 18,17,24,41,44,42,43,28,39,33,
+ 38,26,27,11,12,29,35,8,6,3,
+ 4,7,5,1,2,0,82,7,114,115,
+ 116,58,9,3,8,6,5,72,71,13,
+ 73,48,15,16,62,46,17,68,49,14,
+ 18,50,51,19,20,52,53,21,22,54,
+ 69,55,10,70,23,45,24,47,25,4,
+ 1,2,37,0,4,59,72,0,96,90,
+ 11,12,91,92,88,89,30,93,94,97,
98,99,100,101,102,117,72,95,67,104,
105,106,107,108,109,110,111,112,113,118,
- 71,26,65,1,2,8,6,4,3,60,
- 66,87,9,0,1,2,122,50,0,50,
- 66,0,72,9,60,3,67,66,26,44,
- 0,13,14,30,63,15,31,32,16,17,
- 18,64,7,33,19,20,34,35,37,47,
- 38,39,10,21,22,23,40,41,42,1,
- 2,3,24,25,8,6,11,12,5,29,
- 4,43,73,28,0,74,50,65,72,95,
- 87,60,3,9,66,26,67,0,36,72,
- 4,1,2,50,0,9,87,13,14,30,
- 15,31,32,16,17,18,33,19,20,34,
- 35,37,47,38,39,10,21,22,23,40,
- 41,42,28,3,24,25,8,6,11,12,
- 29,4,43,5,7,1,2,64,63,0,
- 65,67,66,1,2,0,81,7,114,115,
- 116,48,9,3,8,6,5,72,71,26,
- 73,51,13,14,62,46,15,68,52,27,
- 16,53,54,17,18,55,57,19,20,58,
- 69,59,10,70,21,45,22,49,23,4,
- 1,2,36,0,4,50,72,0,8,6,
- 4,5,7,1,2,3,60,65,67,66,
- 9,87,95,0,1,2,9,71,0,50,
- 67,0,75,0,45,1,2,4,114,115,
- 116,0,51,13,14,62,46,15,68,52,
- 27,16,53,54,17,18,55,57,19,20,
- 58,69,59,10,70,21,45,22,49,23,
- 1,2,4,64,63,11,12,6,91,92,
- 99,8,100,5,29,44,107,108,104,105,
- 106,112,111,113,89,88,109,110,97,98,
- 93,94,101,102,24,25,90,103,3,60,
- 67,66,65,0,46,47,49,9,65,95,
- 67,66,87,0,7,5,3,60,6,8,
- 95,51,13,14,46,15,68,52,27,16,
- 53,54,17,18,55,57,19,20,58,69,
- 59,10,70,21,45,22,49,23,1,2,
- 4,87,9,62,0,50,72,74,0,62,
- 46,15,68,52,16,53,54,17,18,55,
- 57,19,20,58,69,59,10,70,21,45,
- 22,49,23,14,13,51,9,3,8,6,
- 26,48,56,61,81,27,44,7,4,36,
- 5,1,2,0,47,46,7,49,5,1,
- 2,4,74,9,50,72,95,118,87,71,
- 26,60,3,120,96,103,90,24,25,8,
- 6,11,12,91,92,88,89,44,93,94,
- 97,98,99,100,101,102,117,104,105,106,
- 107,108,109,110,111,112,113,65,66,67,
- 0,46,49,74,3,50,72,26,47,9,
- 65,95,67,66,87,0,119,0,61,51,
- 13,14,62,46,15,68,52,81,27,16,
- 53,54,17,18,55,56,57,19,20,58,
- 69,59,10,70,21,48,45,22,49,23,
- 9,3,8,4,26,50,6,7,1,2,
- 5,36,0,71,62,46,15,68,52,16,
- 53,54,17,18,55,57,19,20,58,69,
- 59,70,21,45,22,49,23,14,13,51,
- 9,3,8,6,26,48,61,81,27,36,
- 7,1,2,5,4,10,56,0,63,64,
- 24,25,11,12,29,34,40,43,41,42,
- 28,38,32,37,14,23,13,19,17,18,
- 20,21,16,15,22,10,31,35,33,30,
- 39,8,6,4,60,7,5,1,2,3,
- 0,10,68,62,69,70,14,23,13,19,
- 17,18,20,21,16,15,22,74,50,5,
- 4,2,1,49,45,59,58,57,7,55,
- 54,53,27,52,46,51,120,103,24,25,
- 60,3,96,90,6,91,92,11,12,89,
- 88,44,93,94,97,98,8,99,100,101,
- 65,95,87,67,104,105,106,107,108,109,
- 110,111,112,113,72,118,71,102,117,66,
- 26,9,0,9,71,63,64,47,24,25,
- 8,6,11,12,29,34,3,40,43,41,
- 42,28,38,32,37,14,23,13,19,17,
- 18,20,21,16,15,22,31,35,33,30,
- 39,50,7,1,2,4,10,5,0,51,
- 13,14,62,46,15,68,52,27,16,53,
- 54,17,18,55,57,19,20,58,69,59,
- 10,70,21,45,22,49,23,1,2,4,
- 95,0,26,9,7,5,3,1,2,6,
- 8,4,72,0
+ 71,13,65,1,2,8,6,4,3,56,
+ 66,74,9,0,1,2,9,71,0,63,
+ 64,3,10,32,36,34,31,40,16,25,
+ 15,21,19,20,22,23,18,17,24,41,
+ 44,42,43,28,39,33,38,5,7,4,
+ 26,27,8,6,11,12,29,35,1,2,
+ 118,9,0,57,46,7,47,5,1,2,
+ 4,75,59,120,103,26,27,56,3,96,
+ 90,6,91,92,11,12,89,88,30,93,
+ 94,97,98,8,99,100,101,65,95,74,
+ 67,104,105,106,107,108,109,110,111,112,
+ 113,72,118,71,102,117,66,13,9,0,
+ 15,16,17,18,19,20,21,22,23,24,
+ 25,48,46,49,14,50,51,52,53,54,
+ 55,45,47,13,9,74,7,1,2,56,
+ 3,8,6,5,4,0,65,67,66,1,
+ 2,0,4,30,59,72,0,37,72,4,
+ 1,2,59,0,1,2,122,59,0,48,
+ 15,16,62,46,17,68,49,14,18,50,
+ 51,19,20,52,53,21,22,54,69,55,
+ 10,70,23,45,24,47,25,1,2,4,
+ 64,63,11,12,6,91,92,99,8,100,
+ 5,29,30,65,107,108,104,105,106,112,
+ 111,113,89,88,109,110,97,98,93,94,
+ 101,102,26,27,66,90,103,3,56,67,
+ 0,46,57,47,9,65,95,67,66,74,
+ 0,67,66,71,9,0,8,6,4,5,
+ 7,1,2,3,56,65,67,66,9,74,
+ 95,0,59,72,75,0,15,16,31,63,
+ 17,32,33,18,19,20,64,7,34,21,
+ 22,35,36,38,57,39,40,10,23,24,
+ 25,41,42,43,1,2,3,26,27,8,
+ 6,11,12,5,29,4,44,73,28,0,
+ 59,66,0,72,9,56,3,67,66,13,
+ 30,0,59,67,0,7,5,3,56,6,
+ 8,95,48,15,16,46,17,68,49,14,
+ 18,50,51,19,20,52,53,21,22,54,
+ 69,55,10,70,23,45,24,47,25,1,
+ 2,4,74,9,62,0,62,46,17,68,
+ 49,18,50,51,19,20,52,53,21,22,
+ 54,69,55,10,70,23,45,24,47,25,
+ 16,15,48,9,3,8,6,13,58,60,
+ 61,82,14,30,7,4,37,5,1,2,
+ 0,76,0,46,47,75,3,59,72,13,
+ 57,9,65,95,67,66,74,0,45,1,
+ 2,4,114,115,116,0,119,0,61,48,
+ 15,16,62,46,17,68,49,82,14,18,
+ 50,51,19,20,52,60,53,21,22,54,
+ 69,55,10,70,23,58,45,24,47,25,
+ 9,3,8,4,13,59,6,7,1,2,
+ 5,37,0,71,62,46,17,68,49,18,
+ 50,51,19,20,52,53,21,22,54,69,
+ 55,70,23,45,24,47,25,16,15,48,
+ 9,3,8,6,13,58,61,82,14,37,
+ 7,1,2,5,4,10,60,0,63,64,
+ 26,27,11,12,29,35,41,44,42,43,
+ 28,39,33,38,16,25,15,21,19,20,
+ 22,23,18,17,24,10,32,36,34,31,
+ 40,8,6,4,56,7,5,1,2,3,
+ 0,10,68,62,69,70,16,25,15,21,
+ 19,20,22,23,18,17,24,75,59,72,
+ 95,118,71,7,53,54,55,45,47,1,
+ 2,52,51,50,14,49,5,4,46,48,
+ 9,74,13,56,3,120,96,103,90,26,
+ 27,8,6,11,12,91,92,88,89,30,
+ 93,94,97,98,99,100,101,102,117,104,
+ 105,106,107,108,109,110,111,112,113,67,
+ 66,65,0,13,9,7,5,3,1,2,
+ 6,8,4,72,0,9,71,63,64,57,
+ 26,27,8,6,11,12,29,35,3,41,
+ 44,42,43,28,39,33,38,16,25,15,
+ 21,19,20,22,23,18,17,24,32,36,
+ 34,31,40,59,7,1,2,4,10,5,
+ 0,48,15,16,62,46,17,68,49,14,
+ 18,50,51,19,20,52,53,21,22,54,
+ 69,55,10,70,23,45,24,47,25,1,
+ 2,4,95,0
};
};
public final static byte asr[] = Asr.asr;
@@ -1840,59 +1813,59 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse
public interface Nasb {
public final static char nasb[] = {0,
- 87,11,216,25,11,11,11,11,11,11,
- 230,11,11,168,11,140,172,95,25,25,
- 138,25,25,25,25,25,25,11,11,11,
- 11,11,11,11,11,11,11,11,25,11,
- 25,172,233,233,233,233,95,117,186,38,
- 4,70,164,11,11,186,170,11,164,164,
- 134,1,25,53,152,11,11,172,11,11,
- 12,12,117,104,25,25,25,25,25,25,
- 25,25,25,25,25,25,25,25,25,25,
- 25,25,25,25,25,25,25,25,25,25,
- 25,25,25,25,104,25,164,164,11,11,
- 11,11,30,164,23,76,211,212,11,212,
- 93,212,55,212,205,230,95,70,70,23,
- 25,76,66,134,74,74,11,230,95,70,
- 233,35,202,154,164,201,10,95,201,164,
- 70,11,11,11,11,11,11,11,11,11,
+ 153,11,172,39,11,11,11,11,11,11,
+ 237,11,11,128,11,48,202,167,39,39,
+ 206,39,39,39,39,39,39,11,11,11,
+ 11,11,11,11,11,11,11,11,39,11,
+ 39,202,240,240,240,240,167,69,185,25,
+ 4,92,161,11,11,185,130,11,161,161,
+ 147,1,39,12,165,11,11,202,11,11,
+ 97,97,69,135,39,39,39,39,39,39,
+ 39,39,39,39,39,39,39,39,39,39,
+ 39,39,39,39,39,39,39,39,39,39,
+ 39,39,39,39,135,39,161,161,11,11,
+ 11,11,62,161,37,104,218,219,11,219,
+ 123,219,28,219,212,237,167,92,92,37,
+ 39,104,88,147,46,46,11,11,11,237,
+ 167,92,240,94,20,31,161,19,209,167,
+ 19,161,92,11,11,11,11,11,11,11,
11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,141,10,11,11,11,127,
- 95,186,186,141,186,188,186,11,11,186,
- 188,95,10,11,11,125,70,11,164,112,
- 186,95,152,25,233,186,79,164,11,10,
- 95,98,152,25,104,104,104,104,11,11,
- 11,23,11,21,225,186,186,19,151,19,
- 186,56,10,151,141,164,11,130,11,114,
- 150,141,164,51,127,154,11,10,141,164,
- 164,164,164,117,117,186,21,45,95,216,
- 11,11,33,218,225,19,19,158,141,56,
- 45,11,11,141,186,25,11,11,74,74,
- 95,130,76,114,164,141,186,64,11,104,
- 127,99,11,164,164,21,152,11,230,186,
- 180,182,11,11,230,166,188,45,25,56,
- 21,25,25,186,152,164,112,196,186,11,
- 51,117,25,70,99,202,186,188,186,58,
- 198,216,76,11,25,11,49,176,188,230,
- 230,10,186,114,202,21,64,164,70,216,
- 114,202,58,144,146,182,198,25,25,10,
- 188,188,17,164,186,11,11,123,123,216,
- 144,120,11,188,11,10,10,11,186,17,
- 114,191,186,11,11,186,82,146,10,117,
- 162,21,11,191,219,11,56,33,114,233,
- 233,72,101,11,25,11,216,11,11,11,
- 102,11,56,214,216,216,56,47,164,164,
- 186,186,11,180,11,186,11,11,11,230,
- 11,62,11,11,11,102,232,232,236,11,
- 232,216,216,11,186,233,17,191,186,191,
- 216,60,11,164,107,186,186,230,188,11,
- 233,164,182,164,238,216,186,11,164,72,
- 107,35,25,182,216,45,191,107,107,188,
- 91,123,164,164,186,102,11,102,216,238,
- 182,104,102,62,45,164,186,45,45,91,
- 216,11,47,47,130,25,11,238,216,216,
- 164,41,216,201,102,164,238,216,45,102,
- 164,41,102
+ 11,11,11,11,11,11,125,10,11,11,
+ 11,176,167,185,185,125,185,195,185,11,
+ 11,185,195,167,10,11,11,174,92,11,
+ 161,118,185,167,165,39,240,185,85,161,
+ 11,10,167,11,192,165,39,135,135,135,
+ 135,11,11,37,11,35,232,185,185,67,
+ 164,67,185,210,10,164,125,161,11,143,
+ 11,120,163,125,161,75,176,31,11,209,
+ 125,161,161,161,161,69,69,185,35,56,
+ 167,172,11,11,79,225,232,67,67,198,
+ 125,210,56,11,11,125,185,39,11,11,
+ 46,46,167,143,104,120,161,125,185,58,
+ 11,135,176,193,11,11,161,161,35,165,
+ 11,237,185,179,181,11,11,237,157,195,
+ 56,39,210,35,39,39,185,165,161,118,
+ 14,185,11,75,69,39,92,193,20,185,
+ 195,185,65,16,172,104,11,39,11,60,
+ 221,195,237,237,10,185,120,20,35,58,
+ 161,92,172,120,20,65,151,114,181,16,
+ 39,39,10,195,195,81,161,185,11,11,
+ 102,102,172,151,72,11,195,11,10,10,
+ 11,185,81,120,187,185,11,11,185,109,
+ 114,10,69,159,35,11,187,226,11,210,
+ 79,120,240,240,23,132,11,39,11,172,
+ 11,11,11,133,11,210,170,172,172,210,
+ 83,161,161,185,185,11,179,11,185,11,
+ 11,11,237,11,77,11,11,11,133,239,
+ 239,243,11,239,172,172,11,185,240,81,
+ 187,185,187,172,44,11,161,138,185,185,
+ 237,195,11,240,161,181,161,245,172,185,
+ 11,161,23,138,94,39,181,172,56,187,
+ 138,138,195,107,102,161,161,185,133,11,
+ 133,172,245,181,135,133,77,56,161,185,
+ 56,56,107,172,11,83,83,143,39,11,
+ 245,172,172,161,52,172,19,133,161,245,
+ 172,56,133,161,52,133
};
};
public final static char nasb[] = Nasb.nasb;
@@ -1900,30 +1873,31 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse
public interface Nasr {
public final static char nasr[] = {0,
- 3,12,7,5,147,145,120,144,143,2,
- 0,5,2,7,134,0,124,0,111,0,
- 60,0,44,4,5,7,2,12,0,53,
- 65,0,151,0,4,28,0,4,186,0,
- 12,2,7,5,64,0,56,0,182,0,
- 138,0,171,0,5,1,0,154,0,176,
- 0,113,0,136,0,12,2,7,5,78,
- 0,156,0,67,0,5,91,0,4,173,
- 0,4,47,39,174,0,4,39,170,0,
- 150,0,3,5,2,43,0,2,114,0,
- 64,47,69,4,39,0,105,4,47,68,
- 0,5,91,23,4,0,4,98,0,4,
- 64,0,110,0,96,95,5,55,0,2,
- 7,53,63,95,96,4,0,5,12,7,
- 2,3,0,155,0,165,5,164,0,53,
- 2,65,0,65,133,132,0,5,104,183,
- 0,44,4,33,0,184,0,4,44,167,
- 0,4,44,39,0,5,104,161,0,5,
- 91,63,53,7,2,4,0,2,61,0,
- 4,47,68,79,0,96,95,53,63,55,
- 5,7,2,0,2,5,120,116,117,118,
- 12,88,0,4,39,38,0,38,53,7,
- 2,4,153,0,4,47,68,104,45,5,
- 0,115,4,44,0,23,175,4,102,0
+ 3,12,7,5,146,144,119,143,142,2,
+ 0,170,0,95,94,52,62,54,5,7,
+ 2,0,155,0,4,185,0,5,1,0,
+ 64,132,131,0,59,0,43,4,5,7,
+ 2,12,0,175,0,66,0,2,7,3,
+ 0,12,2,7,5,63,0,135,0,181,
+ 0,52,64,0,153,0,110,0,4,97,
+ 0,4,63,0,137,0,112,0,150,0,
+ 123,0,55,0,4,172,0,12,2,7,
+ 5,77,0,4,27,0,5,2,7,133,
+ 0,109,0,5,90,0,149,0,4,46,
+ 38,173,0,164,5,163,0,5,90,22,
+ 4,0,5,42,2,3,0,4,43,166,
+ 0,63,46,68,4,38,0,104,4,46,
+ 67,0,2,7,52,62,94,95,4,0,
+ 154,0,4,38,169,0,183,0,43,4,
+ 31,0,52,2,64,0,2,42,0,4,
+ 38,37,0,95,94,5,54,0,5,90,
+ 62,52,7,2,4,0,4,46,67,78,
+ 0,2,113,0,2,60,0,5,103,182,
+ 0,4,43,38,0,5,7,12,3,1,
+ 0,2,5,119,115,116,117,12,87,0,
+ 5,103,160,0,37,52,7,2,4,152,
+ 0,4,46,67,103,44,5,0,114,4,
+ 43,0,22,174,4,101,0
};
};
public final static char nasr[] = Nasr.nasr;
@@ -1932,14 +1906,14 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse
public interface TerminalIndex {
public final static char terminalIndex[] = {0,
115,116,2,32,14,11,81,10,117,102,
- 12,13,50,54,62,70,76,77,88,89,
- 104,107,109,8,9,122,68,114,15,57,
- 63,69,86,90,92,95,96,99,101,111,
- 112,113,46,20,106,56,97,105,108,3,
- 49,66,72,75,78,79,85,91,100,1,
+ 12,13,122,68,50,54,62,70,76,77,
+ 88,89,104,107,109,8,9,114,15,20,
+ 57,63,69,86,90,92,95,96,99,101,
+ 111,112,113,46,106,56,108,49,66,72,
+ 75,78,85,91,100,1,97,105,3,79,
48,55,60,80,21,45,34,65,93,103,
- 121,31,123,98,110,51,52,58,59,61,
- 67,71,73,74,87,94,120,18,19,7,
+ 121,31,123,120,98,110,51,52,58,59,
+ 61,67,71,73,74,87,94,18,19,7,
16,17,22,23,33,5,24,25,26,27,
28,29,6,35,36,37,38,39,40,41,
42,43,44,82,83,84,30,119,53,4,
@@ -1952,25 +1926,25 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse
public interface NonterminalIndex {
public final static char nonterminalIndex[] = {0,
132,137,139,0,0,138,235,136,0,135,
- 0,146,0,134,0,0,145,151,0,0,
- 152,161,182,162,163,164,165,154,166,167,
- 140,168,128,169,170,171,0,130,133,172,
- 0,142,141,155,180,0,0,0,0,0,
- 0,0,0,148,158,175,0,205,0,189,
- 0,202,206,129,0,0,207,0,174,0,
- 0,0,0,0,0,0,178,127,131,0,
- 0,0,0,0,0,0,0,188,0,0,
- 203,213,160,209,210,211,0,0,149,0,
- 0,0,208,221,181,0,0,0,212,0,
- 0,0,241,150,177,191,192,193,194,195,
- 197,200,0,0,215,218,220,238,0,240,
- 0,143,144,147,0,0,157,159,0,173,
- 0,183,184,185,186,187,190,0,196,198,
- 0,199,204,0,216,217,0,222,225,227,
- 229,0,232,233,234,0,236,237,239,126,
- 0,153,156,176,179,201,214,219,0,223,
- 224,226,228,0,230,231,242,243,0,0,
- 0,0,0,0
+ 0,146,134,0,0,145,151,0,0,152,
+ 161,182,162,163,164,165,154,166,167,168,
+ 128,169,170,144,171,0,130,133,172,0,
+ 141,140,155,180,0,0,0,0,0,0,
+ 0,0,148,158,175,0,205,0,189,0,
+ 202,206,129,0,0,207,0,174,0,0,
+ 0,0,0,0,0,178,127,131,0,0,
+ 0,0,0,0,0,0,188,0,0,203,
+ 213,160,209,210,211,0,0,0,0,149,
+ 0,208,221,181,0,0,0,212,0,0,
+ 0,241,150,177,191,192,193,194,195,197,
+ 200,0,0,215,218,220,238,0,240,0,
+ 142,143,147,0,0,157,159,0,173,0,
+ 183,184,185,186,187,190,0,196,198,0,
+ 199,204,0,216,217,0,222,225,227,229,
+ 0,232,233,234,0,236,237,239,126,0,
+ 153,156,176,179,201,214,219,0,223,224,
+ 226,228,0,230,231,242,243,0,0,0,
+ 0,0,0
};
};
public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex;
@@ -2016,18 +1990,18 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse
public interface ScopeLhs {
public final static char scopeLhs[] = {
- 45,17,17,73,17,17,17,17,73,82,
- 46,87,86,118,66,51,73,72,45,17,
- 73,19,3,6,161,161,158,116,45,85,
- 118,117,119,52,46,134,129,73,17,17,
- 129,97,57,131,76,164,161,158,126,59,
- 117,117,119,175,49,56,138,18,17,17,
- 17,17,17,11,113,158,126,73,72,72,
- 37,134,72,17,17,17,17,97,73,19,
- 165,161,176,95,103,67,58,153,77,119,
- 74,70,139,138,171,134,16,158,119,115,
- 21,127,127,55,134,134,73,45,158,71,
- 132,43,132,43,164,115,116,45,45,57
+ 44,16,16,72,16,16,16,16,72,81,
+ 45,86,85,117,65,50,72,71,44,16,
+ 72,18,3,6,160,160,157,115,44,84,
+ 117,116,118,51,45,133,128,72,16,16,
+ 128,96,56,130,75,163,160,157,125,58,
+ 116,116,118,174,48,55,137,17,16,16,
+ 16,16,16,11,112,157,125,72,71,71,
+ 36,133,71,16,16,16,16,96,72,18,
+ 164,160,175,94,102,66,57,152,76,118,
+ 73,69,138,137,170,133,15,157,118,114,
+ 20,126,126,54,133,133,72,44,157,70,
+ 131,42,131,42,163,114,115,44,44,56
};
};
public final static char scopeLhs[] = ScopeLhs.scopeLhs;
@@ -2035,18 +2009,18 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse
public interface ScopeLa {
public final static byte scopeLa[] = {
- 119,87,87,87,87,87,87,87,87,71,
- 26,71,71,71,65,1,87,121,50,3,
- 26,87,65,65,1,1,26,71,50,71,
- 71,1,1,1,1,4,65,26,1,1,
- 65,87,87,87,119,87,1,26,71,1,
- 1,1,1,26,26,71,118,87,87,87,
- 87,87,118,1,87,1,66,87,87,87,
- 72,4,87,65,65,65,65,87,26,3,
- 1,1,87,87,3,118,87,1,1,1,
- 26,72,87,118,87,5,87,1,36,67,
- 87,1,1,6,1,36,75,74,26,26,
- 4,4,4,4,3,1,50,1,1,3
+ 119,74,74,74,74,74,74,74,74,71,
+ 13,71,71,71,65,1,74,121,59,3,
+ 13,74,65,65,1,1,13,71,59,71,
+ 71,1,1,1,1,4,65,13,1,1,
+ 65,74,74,74,119,74,1,13,71,1,
+ 1,1,1,13,13,71,118,74,74,74,
+ 74,74,118,1,74,1,66,74,74,74,
+ 72,4,74,65,65,65,65,74,13,3,
+ 1,1,74,74,3,118,74,1,1,1,
+ 13,72,74,118,74,5,74,1,37,67,
+ 74,1,1,6,1,37,76,75,13,13,
+ 4,4,4,4,3,1,59,1,1,3
};
};
public final static byte scopeLa[] = ScopeLa.scopeLa;
@@ -2073,72 +2047,72 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse
public interface ScopeRhs {
public final static char scopeRhs[] = {0,
- 312,3,47,0,128,0,311,3,119,0,
- 128,175,0,128,180,74,0,217,0,290,
- 128,44,126,0,21,0,292,128,44,36,
+ 311,3,57,0,128,0,310,3,119,0,
+ 128,175,0,128,179,75,0,217,0,289,
+ 128,30,126,0,21,0,291,128,30,37,
0,21,55,0,34,134,0,21,55,0,
- 0,292,128,44,36,192,0,21,131,0,
- 290,128,44,131,0,185,129,0,140,0,
- 222,3,289,0,289,0,2,0,128,0,
- 185,129,228,0,185,129,45,228,0,185,
- 129,308,45,0,132,189,167,129,0,130,
- 0,189,167,129,0,136,130,0,171,0,
- 304,128,171,0,128,171,0,223,130,0,
- 167,244,0,139,0,0,0,137,0,0,
- 0,303,128,50,251,0,129,0,251,0,
- 3,0,0,129,0,302,128,50,0,45,
- 129,0,152,3,0,128,279,278,128,74,
- 277,171,0,278,128,74,277,171,0,216,
- 0,217,0,277,171,0,98,0,0,216,
+ 0,291,128,30,37,191,0,21,131,0,
+ 289,128,30,131,0,184,129,0,144,0,
+ 221,3,288,0,288,0,2,0,128,0,
+ 184,129,227,0,184,129,45,227,0,184,
+ 129,307,45,0,132,188,166,129,0,130,
+ 0,188,166,129,0,136,130,0,170,0,
+ 303,128,170,0,128,170,0,223,130,0,
+ 166,243,0,139,0,0,0,137,0,0,
+ 0,302,128,59,250,0,129,0,250,0,
+ 3,0,0,129,0,301,128,59,0,45,
+ 129,0,151,3,0,128,278,277,128,75,
+ 276,170,0,277,128,75,276,170,0,216,
+ 0,217,0,276,170,0,98,0,0,216,
0,217,0,204,98,0,0,216,0,217,
- 0,278,128,277,171,0,216,0,204,0,
- 0,216,0,231,128,3,0,128,0,0,
- 0,0,0,231,128,3,219,0,227,3,
- 0,215,128,0,209,0,189,167,177,0,
- 136,0,167,129,0,11,0,0,0,217,
- 60,0,127,0,231,128,3,182,0,182,
+ 0,277,128,276,170,0,216,0,204,0,
+ 0,216,0,230,128,3,0,128,0,0,
+ 0,0,0,230,128,3,218,0,226,3,
+ 0,214,128,0,209,0,188,166,176,0,
+ 136,0,166,129,0,11,0,0,0,216,
+ 56,0,127,0,230,128,3,181,0,181,
0,2,0,0,128,0,0,0,0,0,
- 201,3,0,202,0,230,128,50,28,27,
- 0,185,129,56,48,0,198,130,0,132,
- 185,129,275,48,0,185,129,275,48,0,
- 185,129,67,125,56,0,230,128,50,56,
- 0,230,128,50,122,56,0,230,128,50,
- 126,56,0,272,128,50,125,68,0,272,
- 128,50,68,0,185,129,68,0,137,0,
- 189,185,129,244,0,139,0,185,129,244,
- 0,189,167,129,10,0,167,129,10,0,
- 95,139,0,149,0,265,128,147,0,265,
- 128,171,0,163,85,0,226,162,226,299,
- 3,82,0,128,174,0,226,299,3,82,
- 0,130,0,128,174,0,226,162,226,162,
- 226,3,82,0,226,162,226,3,82,0,
- 226,3,82,0,130,0,130,0,128,174,
- 0,163,3,75,193,80,0,128,130,0,
- 193,80,0,110,2,133,128,130,0,239,
- 3,75,0,201,168,0,34,172,0,168,
- 0,178,34,172,0,239,3,86,0,193,
- 157,239,3,84,0,64,174,0,239,3,
- 84,0,128,174,64,174,0,298,128,50,
- 0,163,0,217,77,0,31,0,163,117,
- 160,0,31,172,0,178,3,0,128,152,
- 0,222,3,0,217,60,262,0,163,60,
- 0,178,3,295,64,129,0,128,0,0,
- 0,0,295,64,129,0,2,148,128,0,
- 0,0,0,178,3,34,0,150,0,127,
- 36,167,129,0,32,150,0,95,139,32,
- 150,0,223,185,129,0,149,32,150,0,
- 178,3,39,0,163,3,39,0,163,3,
- 65,178,44,30,0,178,44,30,0,21,
- 2,133,128,0,163,3,65,178,44,33,
- 0,178,44,33,0,163,3,65,178,44,
- 35,0,178,44,35,0,163,3,65,178,
- 44,31,0,178,44,31,0,222,3,127,
- 189,167,129,10,0,127,189,167,129,10,
- 0,139,2,0,128,0,222,3,126,177,
- 167,129,10,0,177,167,129,10,0,137,
- 2,0,128,0,222,3,136,0,222,3,
- 141,0,163,60,141,0,257,0,32,0,
- 32,143,0,166,0,163,3,0
+ 200,3,0,202,0,229,128,59,28,14,
+ 0,184,129,60,58,0,198,130,0,132,
+ 184,129,274,58,0,184,129,274,58,0,
+ 184,129,67,125,60,0,229,128,59,60,
+ 0,229,128,59,122,60,0,229,128,59,
+ 126,60,0,271,128,59,125,68,0,271,
+ 128,59,68,0,184,129,68,0,137,0,
+ 188,184,129,243,0,139,0,184,129,243,
+ 0,188,166,129,10,0,166,129,10,0,
+ 95,139,0,149,0,264,128,146,0,264,
+ 128,170,0,162,86,0,225,161,225,298,
+ 3,83,0,128,174,0,225,298,3,83,
+ 0,130,0,128,174,0,225,161,225,161,
+ 225,3,83,0,225,161,225,3,83,0,
+ 225,3,83,0,130,0,130,0,128,174,
+ 0,162,3,76,192,81,0,128,130,0,
+ 192,81,0,110,2,133,128,130,0,238,
+ 3,76,0,200,167,0,34,172,0,167,
+ 0,178,34,172,0,238,3,87,0,192,
+ 155,238,3,85,0,64,174,0,238,3,
+ 85,0,128,174,64,174,0,297,128,59,
+ 0,162,0,216,78,0,31,0,162,117,
+ 159,0,31,172,0,177,3,0,128,152,
+ 0,221,3,0,216,56,261,0,162,56,
+ 0,177,3,294,64,129,0,128,0,0,
+ 0,0,294,64,129,0,2,148,128,0,
+ 0,0,0,177,3,35,0,150,0,127,
+ 37,166,129,0,32,150,0,95,139,32,
+ 150,0,224,184,129,0,149,32,150,0,
+ 177,3,40,0,162,3,40,0,162,3,
+ 65,177,30,31,0,177,30,31,0,21,
+ 2,133,128,0,162,3,65,177,30,34,
+ 0,177,30,34,0,162,3,65,177,30,
+ 36,0,177,30,36,0,162,3,65,177,
+ 30,32,0,177,30,32,0,221,3,127,
+ 188,166,129,10,0,127,188,166,129,10,
+ 0,139,2,0,128,0,221,3,126,176,
+ 166,129,10,0,176,166,129,10,0,137,
+ 2,0,128,0,221,3,136,0,221,3,
+ 140,0,162,56,140,0,256,0,32,0,
+ 32,142,0,165,0,162,3,0
};
};
public final static char scopeRhs[] = ScopeRhs.scopeRhs;
@@ -2146,36 +2120,36 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse
public interface ScopeState {
public final static char scopeState[] = {0,
- 1311,0,4553,0,4571,4544,4535,0,1613,1996,
- 1571,1912,0,1390,1348,582,0,3127,3034,0,
- 3393,3353,3313,3356,1849,3273,3233,3179,3119,985,
- 3003,2658,2618,3570,2981,0,4533,3652,4400,0,
- 1800,1758,0,3447,3172,0,4454,4432,0,1839,
- 1123,0,4454,4357,4339,4151,4432,3810,4162,4266,
- 4368,3082,4249,3831,3527,3516,2966,0,2632,4448,
- 0,2632,4448,2834,2825,3775,2760,2695,3722,3669,
- 3616,3549,3393,3353,3313,3273,3233,3179,3119,3003,
- 2658,2618,0,2632,4448,2834,2825,3775,2760,2695,
- 3722,3669,3616,3549,0,3544,3081,0,3082,4357,
- 4619,4339,4151,3151,3527,3729,3552,3654,2712,2832,
- 972,2671,2417,0,981,569,0,1130,0,2635,
- 2634,2304,2276,4151,2832,3810,3516,2966,2719,2385,
- 0,4172,527,2367,0,4523,4499,4479,4475,4466,
- 4234,4180,3647,4278,4186,3849,3377,3297,3560,3545,
- 3244,2793,2756,2458,2642,3014,2894,0,4523,4499,
- 3537,3263,3184,4479,4475,4466,2628,2390,4234,4180,
- 3647,2932,4278,2849,2495,4186,2490,2474,1862,1140,
- 2651,3849,2859,3377,618,3297,3560,3545,861,3244,
- 809,2793,1858,2756,2458,4172,2642,2367,3014,2894,
- 3810,4162,4266,4368,3082,4454,4357,4249,2462,2375,
- 4339,2162,4151,3831,3527,3516,4432,2966,2073,720,
- 650,1984,1126,981,569,622,4129,4107,2175,2213,
- 583,2248,2339,2311,2281,2595,2569,2542,2515,2423,
- 2394,3493,3470,3092,2941,780,4085,4063,4041,4019,
- 3997,3975,3953,3931,3909,2977,910,1866,2124,2086,
- 2035,1997,1946,1144,1084,1908,1042,813,1816,1777,
- 730,675,1735,1693,1651,1609,1567,1525,1483,1441,
- 1399,1357,1315,527,1273,1230,999,939,868,1186,
+ 763,0,4433,0,4440,4432,4426,0,2754,3375,
+ 1244,605,0,1320,1290,1279,0,2539,2454,0,
+ 3247,3208,3169,1570,1529,3130,3091,3052,2998,1488,
+ 2889,2487,2448,3117,2857,0,4059,4293,3517,0,
+ 932,887,0,4185,3584,0,3006,4194,0,1071,
+ 1064,0,3006,4158,4031,569,4194,3620,3993,4070,
+ 4172,2965,2406,4095,3324,3303,2852,0,2632,4213,
+ 0,2632,4213,2696,2644,3568,2578,2526,3516,3464,
+ 3412,3344,3247,3208,3169,3130,3091,3052,2998,2889,
+ 2487,2448,0,2632,4213,2696,2644,3568,2578,2526,
+ 3516,3464,3412,3344,0,3051,642,0,2965,4158,
+ 4493,4031,569,2579,3324,3054,3480,1232,2461,3308,
+ 2708,3465,2399,0,1994,1906,0,532,0,1372,
+ 1148,1123,771,569,3308,3620,3303,2852,3571,2671,
+ 0,4023,528,2279,0,4338,4332,4318,4289,4283,
+ 4267,4262,4253,4415,4409,4405,4400,4353,4240,3551,
+ 3231,3499,3226,2638,2471,3153,3109,0,4338,4332,
+ 4479,4134,4041,4318,4289,4283,3339,2921,4267,4262,
+ 4253,3659,4415,3522,3417,4409,2949,2594,2387,1074,
+ 3473,4405,1784,4400,2369,4353,4240,3551,1029,3231,
+ 719,3499,579,3226,2638,4023,2471,2279,3153,3109,
+ 3620,3993,4070,4172,2965,3006,4158,2406,3031,2894,
+ 4031,2784,569,4095,3324,3303,4194,2852,2750,850,
+ 2082,2375,650,1994,1906,4003,3972,3951,2096,2133,
+ 2166,583,2252,2225,2196,2827,2802,2426,2316,2287,
+ 778,3740,3718,2975,2862,2342,3930,3909,3888,3867,
+ 3846,3825,3804,3783,3762,3692,3435,1791,2045,2008,
+ 1957,1920,1869,1085,1033,1832,988,806,1742,1703,
+ 729,675,1662,1621,1580,1539,1498,1457,1416,1375,
+ 1334,1293,1252,528,1210,1167,942,901,860,1126,
0
};
};
@@ -2184,59 +2158,59 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse
public interface InSymb {
public final static char inSymb[] = {0,
- 0,294,163,128,264,39,30,33,35,31,
- 10,136,126,7,131,4,3,129,34,29,
- 5,12,11,6,8,25,24,141,146,149,
- 148,151,150,154,153,158,156,159,47,160,
- 66,3,44,44,44,44,129,3,44,168,
- 128,60,3,63,64,44,7,126,178,163,
- 168,128,63,64,167,166,126,3,127,126,
- 103,120,3,60,90,96,12,11,92,91,
- 6,94,93,65,44,88,89,8,98,97,
+ 0,293,162,128,263,40,31,34,36,32,
+ 10,136,126,7,131,4,3,129,35,29,
+ 5,12,11,6,8,27,26,140,145,148,
+ 147,150,149,153,152,156,154,157,57,159,
+ 66,3,30,30,30,30,129,3,30,167,
+ 128,56,3,63,64,30,7,126,177,162,
+ 167,128,63,64,166,165,126,3,125,127,
+ 103,120,3,56,90,96,12,11,92,91,
+ 6,94,93,65,30,88,89,8,98,97,
100,99,101,113,112,111,110,109,108,107,
- 106,105,104,67,117,102,178,163,178,178,
- 178,178,167,222,128,128,266,267,251,268,
- 244,269,68,270,271,10,129,60,60,128,
- 157,128,60,3,220,219,136,10,129,60,
- 295,3,189,4,178,36,5,129,36,222,
- 163,148,148,146,146,146,150,150,150,150,
- 149,149,153,151,151,156,154,158,163,159,
- 65,65,65,65,189,177,290,134,293,215,
- 129,6,50,167,234,129,127,126,125,50,
- 129,129,185,167,290,215,217,160,227,128,
- 3,129,167,202,3,296,168,152,257,189,
- 129,185,167,72,3,3,3,3,127,126,
- 126,66,167,128,128,127,126,128,185,128,
- 50,128,185,167,36,231,232,147,233,128,
- 167,36,178,128,128,4,223,5,36,163,
- 163,163,163,3,3,6,184,303,129,169,
- 228,192,48,171,305,128,128,72,189,128,
- 272,125,273,189,157,67,227,201,187,182,
- 177,3,128,66,231,189,157,259,262,60,
- 179,4,127,222,222,128,167,36,275,277,
- 128,3,182,307,228,45,129,272,67,66,
- 128,67,67,3,167,201,128,215,157,127,
- 128,3,60,163,4,189,44,129,74,128,
- 215,304,128,126,72,284,201,66,129,45,
- 308,185,224,128,189,128,259,222,217,132,
- 128,185,128,278,72,66,215,72,67,185,
- 129,129,128,231,224,292,36,10,62,132,
- 278,50,288,129,289,185,185,47,157,128,
- 66,65,44,234,234,279,128,66,185,3,
- 3,128,27,36,171,61,56,48,128,67,
- 67,128,298,79,77,1,163,86,84,82,
- 80,75,83,85,78,76,56,74,222,312,
- 224,28,44,128,3,50,122,126,125,56,
- 292,280,119,9,217,72,3,3,3,193,
- 3,125,163,125,180,66,128,128,50,65,
- 265,201,276,28,128,50,50,67,129,65,
- 3,239,168,239,299,226,147,75,239,128,
- 128,3,67,66,157,230,229,128,128,129,
- 185,62,95,311,168,157,201,157,226,162,
- 128,3,157,280,230,152,50,230,230,185,
- 274,234,157,157,128,67,193,162,226,265,
- 163,128,274,67,121,226,162,157,302,157,
- 226,66,157
+ 106,105,104,67,117,102,177,162,177,177,
+ 177,177,166,221,128,128,265,266,250,267,
+ 243,268,68,269,270,10,129,56,56,128,
+ 155,128,56,3,219,218,136,127,126,10,
+ 129,56,294,3,188,4,177,37,5,129,
+ 37,221,162,147,147,145,145,145,149,149,
+ 149,149,148,148,152,150,150,154,153,156,
+ 162,157,65,65,65,65,188,176,289,134,
+ 292,214,129,6,59,166,233,129,127,126,
+ 125,59,129,129,184,166,289,214,216,159,
+ 226,128,3,129,166,201,3,295,167,151,
+ 256,188,129,126,184,166,72,3,3,3,
+ 3,127,126,66,166,128,128,127,126,128,
+ 184,128,59,128,184,166,37,230,231,146,
+ 232,128,166,37,177,128,128,4,224,5,
+ 37,162,162,162,162,3,3,6,183,302,
+ 129,168,227,191,58,170,304,128,128,72,
+ 188,128,271,125,272,188,155,67,226,200,
+ 186,181,176,3,128,66,230,188,155,258,
+ 261,56,178,4,125,127,221,221,128,166,
+ 37,274,276,128,3,181,306,227,45,129,
+ 271,67,66,128,67,67,3,166,200,128,
+ 214,155,127,128,3,56,162,4,188,30,
+ 129,75,128,214,303,128,126,72,283,200,
+ 66,129,45,307,184,222,128,188,128,258,
+ 221,216,132,128,184,128,277,72,66,214,
+ 72,67,184,129,129,128,230,222,291,37,
+ 10,62,132,277,59,287,129,288,184,184,
+ 57,155,128,66,65,30,233,233,278,128,
+ 66,184,3,3,128,14,37,170,61,60,
+ 58,128,67,67,128,297,80,78,1,162,
+ 87,85,83,81,76,84,86,79,77,60,
+ 75,221,311,222,28,30,128,3,59,122,
+ 126,125,60,291,279,119,9,216,72,3,
+ 3,3,192,3,125,162,125,179,66,128,
+ 128,59,65,264,200,275,28,128,59,59,
+ 67,129,65,3,238,167,238,298,225,146,
+ 76,238,128,128,3,67,66,155,229,228,
+ 128,128,129,184,62,95,310,167,155,200,
+ 155,225,161,128,3,155,279,229,151,59,
+ 229,229,184,273,233,155,155,128,67,192,
+ 161,225,264,162,128,273,67,121,225,161,
+ 155,301,155,225,66,155
};
};
public final static char inSymb[] = InSymb.inSymb;
@@ -2384,13 +2358,13 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse
"identifier_name",
"operator_function_id_name",
"template_id_name",
- "class_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",
@@ -2512,20 +2486,20 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse
public final int getMaxNameLength() { return MAX_NAME_LENGTH; }
public final static int
- NUM_STATES = 523,
+ NUM_STATES = 526,
NT_OFFSET = 124,
- LA_STATE_OFFSET = 5669,
+ LA_STATE_OFFSET = 5517,
MAX_LA = 2147483647,
- NUM_RULES = 526,
- NUM_NONTERMINALS = 194,
- NUM_SYMBOLS = 318,
+ NUM_RULES = 527,
+ NUM_NONTERMINALS = 193,
+ NUM_SYMBOLS = 317,
SEGMENT_SIZE = 8192,
- START_STATE = 2621,
+ START_STATE = 2915,
IDENTIFIER_SYMBOL = 0,
EOFT_SYMBOL = 123,
EOLT_SYMBOL = 123,
- ACCEPT_ACTION = 4767,
- ERROR_ACTION = 5143;
+ ACCEPT_ACTION = 4609,
+ ERROR_ACTION = 4990;
public final static boolean BACKTRACK = true;
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionStatementParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionStatementParsersym.java
index 700dcbfae9f..eeebceb9487 100644
--- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionStatementParsersym.java
+++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionStatementParsersym.java
@@ -16,85 +16,85 @@ package org.eclipse.cdt.internal.core.dom.lrparser.cpp;
public interface CPPExpressionStatementParsersym {
public final static int
TK_asm = 61,
- TK_auto = 51,
- TK_bool = 13,
- TK_break = 76,
- TK_case = 77,
+ TK_auto = 48,
+ TK_bool = 15,
+ TK_break = 77,
+ TK_case = 78,
TK_catch = 119,
- TK_char = 14,
+ TK_char = 16,
TK_class = 62,
TK_const = 46,
- TK_const_cast = 30,
- TK_continue = 78,
- TK_default = 79,
+ TK_const_cast = 31,
+ TK_continue = 79,
+ TK_default = 80,
TK_delete = 63,
- TK_do = 80,
- TK_double = 15,
- TK_dynamic_cast = 31,
+ TK_do = 81,
+ TK_double = 17,
+ TK_dynamic_cast = 32,
TK_else = 121,
TK_enum = 68,
- TK_explicit = 52,
- TK_export = 81,
- TK_extern = 27,
- TK_false = 32,
- TK_float = 16,
- TK_for = 82,
- TK_friend = 53,
- TK_goto = 83,
- TK_if = 84,
- TK_inline = 54,
- TK_int = 17,
- TK_long = 18,
- TK_mutable = 55,
- TK_namespace = 56,
+ TK_explicit = 49,
+ TK_export = 82,
+ TK_extern = 14,
+ TK_false = 33,
+ TK_float = 18,
+ TK_for = 83,
+ TK_friend = 50,
+ TK_goto = 84,
+ TK_if = 85,
+ TK_inline = 51,
+ TK_int = 19,
+ TK_long = 20,
+ TK_mutable = 52,
+ TK_namespace = 60,
TK_new = 64,
TK_operator = 7,
TK_private = 114,
TK_protected = 115,
TK_public = 116,
- TK_register = 57,
- TK_reinterpret_cast = 33,
- TK_return = 85,
- TK_short = 19,
- TK_signed = 20,
- TK_sizeof = 34,
- TK_static = 58,
- TK_static_cast = 35,
+ TK_register = 53,
+ TK_reinterpret_cast = 34,
+ TK_return = 86,
+ TK_short = 21,
+ TK_signed = 22,
+ TK_sizeof = 35,
+ TK_static = 54,
+ TK_static_cast = 36,
TK_struct = 69,
- TK_switch = 86,
- TK_template = 36,
- TK_this = 37,
- TK_throw = 47,
- TK_try = 74,
- TK_true = 38,
- TK_typedef = 59,
- TK_typeid = 39,
+ TK_switch = 87,
+ TK_template = 37,
+ TK_this = 38,
+ TK_throw = 57,
+ TK_try = 75,
+ TK_true = 39,
+ TK_typedef = 55,
+ TK_typeid = 40,
TK_typename = 10,
TK_union = 70,
- TK_unsigned = 21,
- TK_using = 48,
+ TK_unsigned = 23,
+ TK_using = 58,
TK_virtual = 45,
- TK_void = 22,
- TK_volatile = 49,
- TK_wchar_t = 23,
- TK_while = 75,
- TK_integer = 40,
- TK_floating = 41,
- TK_charconst = 42,
+ TK_void = 24,
+ TK_volatile = 47,
+ TK_wchar_t = 25,
+ TK_while = 76,
+ TK_integer = 41,
+ TK_floating = 42,
+ TK_charconst = 43,
TK_stringlit = 28,
TK_identifier = 1,
TK_Completion = 2,
TK_EndOfCompletion = 9,
TK_Invalid = 124,
- TK_LeftBracket = 60,
+ TK_LeftBracket = 56,
TK_LeftParen = 3,
- TK_LeftBrace = 50,
+ TK_LeftBrace = 59,
TK_Dot = 120,
TK_DotStar = 96,
TK_Arrow = 103,
TK_ArrowStar = 90,
- TK_PlusPlus = 24,
- TK_MinusMinus = 25,
+ TK_PlusPlus = 26,
+ TK_MinusMinus = 27,
TK_And = 8,
TK_Star = 6,
TK_Plus = 11,
@@ -105,7 +105,7 @@ public interface CPPExpressionStatementParsersym {
TK_Percent = 92,
TK_RightShift = 88,
TK_LeftShift = 89,
- TK_LT = 44,
+ TK_LT = 30,
TK_GT = 65,
TK_LE = 93,
TK_GE = 94,
@@ -131,11 +131,11 @@ public interface CPPExpressionStatementParsersym {
TK_CaretAssign = 112,
TK_OrAssign = 113,
TK_Comma = 66,
- TK_zero = 43,
+ TK_zero = 44,
TK_RightBracket = 118,
- TK_RightParen = 87,
+ TK_RightParen = 74,
TK_RightBrace = 71,
- TK_SemiColon = 26,
+ TK_SemiColon = 13,
TK_ERROR_TOKEN = 73,
TK_original_namespace_name = 122,
TK_EOF_TOKEN = 123;
@@ -154,6 +154,8 @@ public interface CPPExpressionStatementParsersym {
"typename",
"Plus",
"Minus",
+ "SemiColon",
+ "extern",
"bool",
"char",
"double",
@@ -167,10 +169,9 @@ public interface CPPExpressionStatementParsersym {
"wchar_t",
"PlusPlus",
"MinusMinus",
- "SemiColon",
- "extern",
"stringlit",
"Bang",
+ "LT",
"const_cast",
"dynamic_cast",
"false",
@@ -185,23 +186,22 @@ public interface CPPExpressionStatementParsersym {
"floating",
"charconst",
"zero",
- "LT",
"virtual",
"const",
- "throw",
- "using",
"volatile",
- "LeftBrace",
"auto",
"explicit",
"friend",
"inline",
"mutable",
- "namespace",
"register",
"static",
"typedef",
"LeftBracket",
+ "throw",
+ "using",
+ "LeftBrace",
+ "namespace",
"asm",
"class",
"delete",
@@ -215,6 +215,7 @@ public interface CPPExpressionStatementParsersym {
"RightBrace",
"Colon",
"ERROR_TOKEN",
+ "RightParen",
"try",
"while",
"break",
@@ -228,7 +229,6 @@ public interface CPPExpressionStatementParsersym {
"if",
"return",
"switch",
- "RightParen",
"RightShift",
"LeftShift",
"ArrowStar",
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 082108b31df..5ad315f4388 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
@@ -378,1738 +378,1878 @@ public CPPNoCastExpressionParser(String[] mapFrom) { // constructor
}
//
- // Rule 37: unqualified_id_name ::= ~ class_name
+ // Rule 37: unqualified_id_name ::= ~ identifier_token
//
case 37: { action.builder.
consumeDestructorName(); break;
}
//
- // Rule 38: identifier_name ::= identifier_token
+ // Rule 38: unqualified_id_name ::= ~ template_id_name
//
case 38: { action.builder.
- consumeIdentifierName(); break;
+ consumeDestructorNameTemplateId(); break;
}
//
- // Rule 39: template_opt ::= template
+ // Rule 39: identifier_name ::= identifier_token
//
case 39: { action.builder.
- consumePlaceHolder(); break;
+ consumeIdentifierName(); break;
}
//
- // Rule 40: template_opt ::= $Empty
+ // Rule 40: template_opt ::= template
//
case 40: { action.builder.
- consumeEmpty(); break;
+ consumePlaceHolder(); break;
}
//
- // Rule 41: dcolon_opt ::= ::
+ // Rule 41: template_opt ::= $Empty
//
case 41: { action.builder.
- consumePlaceHolder(); break;
+ consumeEmpty(); break;
}
//
- // Rule 42: dcolon_opt ::= $Empty
+ // Rule 42: dcolon_opt ::= ::
//
case 42: { action.builder.
- consumeEmpty(); break;
+ consumePlaceHolder(); break;
}
//
- // Rule 43: qualified_id_name ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name
+ // Rule 43: dcolon_opt ::= $Empty
//
case 43: { action.builder.
- consumeQualifiedId(true); break;
+ consumeEmpty(); break;
}
//
- // Rule 44: qualified_id_name ::= :: identifier_name
+ // Rule 44: qualified_id_name ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name
//
case 44: { action.builder.
- consumeGlobalQualifiedId(); break;
+ consumeQualifiedId(true); break;
}
//
- // Rule 45: qualified_id_name ::= :: operator_function_id_name
+ // Rule 45: qualified_id_name ::= :: identifier_name
//
case 45: { action.builder.
consumeGlobalQualifiedId(); break;
}
//
- // Rule 46: qualified_id_name ::= :: template_id_name
+ // Rule 46: qualified_id_name ::= :: operator_function_id_name
//
case 46: { action.builder.
consumeGlobalQualifiedId(); break;
}
//
- // Rule 47: nested_name_specifier ::= class_or_namespace_name :: nested_name_specifier_with_template
+ // Rule 47: qualified_id_name ::= :: template_id_name
//
case 47: { action.builder.
- consumeNestedNameSpecifier(true); break;
+ consumeGlobalQualifiedId(); break;
}
//
- // Rule 48: nested_name_specifier ::= class_or_namespace_name ::
+ // Rule 48: nested_name_specifier ::= class_or_namespace_name :: nested_name_specifier_with_template
//
case 48: { action.builder.
- consumeNestedNameSpecifier(false); break;
+ consumeNestedNameSpecifier(true); break;
}
//
- // Rule 49: nested_name_specifier_with_template ::= class_or_namespace_name_with_template :: nested_name_specifier_with_template
+ // Rule 49: nested_name_specifier ::= class_or_namespace_name ::
//
case 49: { action.builder.
- consumeNestedNameSpecifier(true); break;
+ consumeNestedNameSpecifier(false); break;
}
//
- // Rule 50: nested_name_specifier_with_template ::= class_or_namespace_name_with_template ::
+ // Rule 50: nested_name_specifier_with_template ::= class_or_namespace_name_with_template :: nested_name_specifier_with_template
//
case 50: { action.builder.
- consumeNestedNameSpecifier(false); break;
+ consumeNestedNameSpecifier(true); break;
}
//
- // Rule 51: class_or_namespace_name_with_template ::= template_opt class_or_namespace_name
+ // Rule 51: nested_name_specifier_with_template ::= class_or_namespace_name_with_template ::
//
case 51: { action.builder.
- consumeNameWithTemplateKeyword(); break;
+ consumeNestedNameSpecifier(false); break;
}
//
- // Rule 53: nested_name_specifier_opt ::= $Empty
+ // Rule 52: class_or_namespace_name_with_template ::= template_opt class_or_namespace_name
//
- case 53: { action.builder.
- consumeNestedNameSpecifierEmpty(); break;
+ case 52: { action.builder.
+ consumeNameWithTemplateKeyword(); break;
}
//
- // Rule 56: postfix_expression ::= postfix_expression [ expression ]
+ // Rule 54: nested_name_specifier_opt ::= $Empty
//
- case 56: { action.builder.
- consumeExpressionArraySubscript(); break;
+ case 54: { action.builder.
+ consumeNestedNameSpecifierEmpty(); break;
}
//
- // Rule 57: postfix_expression ::= postfix_expression ( expression_list_opt )
+ // Rule 57: postfix_expression ::= postfix_expression [ expression ]
//
case 57: { action.builder.
- consumeExpressionFunctionCall(); break;
+ consumeExpressionArraySubscript(); break;
}
//
- // Rule 58: postfix_expression ::= simple_type_specifier ( expression_list_opt )
+ // Rule 58: postfix_expression ::= postfix_expression ( expression_list_opt )
//
case 58: { action.builder.
- consumeExpressionSimpleTypeConstructor(); break;
+ consumeExpressionFunctionCall(); break;
}
//
- // Rule 59: postfix_expression ::= typename dcolon_opt nested_name_specifier <empty> identifier_name ( expression_list_opt )
+ // Rule 59: postfix_expression ::= simple_type_specifier ( expression_list_opt )
//
case 59: { action.builder.
- consumeExpressionTypeName(); break;
+ consumeExpressionSimpleTypeConstructor(); break;
}
//
- // Rule 60: postfix_expression ::= typename dcolon_opt nested_name_specifier template_opt template_id_name ( expression_list_opt )
+ // Rule 60: postfix_expression ::= typename dcolon_opt nested_name_specifier <empty> identifier_name ( expression_list_opt )
//
case 60: { action.builder.
consumeExpressionTypeName(); break;
}
//
- // Rule 61: postfix_expression ::= postfix_expression . qualified_or_unqualified_name
+ // Rule 61: postfix_expression ::= typename dcolon_opt nested_name_specifier template_opt template_id_name ( expression_list_opt )
//
case 61: { action.builder.
- consumeExpressionFieldReference(false, false); break;
+ consumeExpressionTypeName(); break;
}
//
- // Rule 62: postfix_expression ::= postfix_expression -> qualified_or_unqualified_name
+ // Rule 62: postfix_expression ::= postfix_expression . qualified_or_unqualified_name
//
case 62: { action.builder.
- consumeExpressionFieldReference(true, false); break;
+ consumeExpressionFieldReference(false, false); break;
}
//
- // Rule 63: postfix_expression ::= postfix_expression . template qualified_or_unqualified_name
+ // Rule 63: postfix_expression ::= postfix_expression -> qualified_or_unqualified_name
//
case 63: { action.builder.
- consumeExpressionFieldReference(false, true); break;
+ consumeExpressionFieldReference(true, false); break;
}
//
- // Rule 64: postfix_expression ::= postfix_expression -> template qualified_or_unqualified_name
+ // Rule 64: postfix_expression ::= postfix_expression . template qualified_or_unqualified_name
//
case 64: { action.builder.
- consumeExpressionFieldReference(true, true); break;
+ consumeExpressionFieldReference(false, true); break;
}
//
- // Rule 65: postfix_expression ::= postfix_expression . pseudo_destructor_name
+ // Rule 65: postfix_expression ::= postfix_expression -> template qualified_or_unqualified_name
//
case 65: { action.builder.
- consumeExpressionFieldReference(false, false); break;
+ consumeExpressionFieldReference(true, true); break;
}
//
- // Rule 66: postfix_expression ::= postfix_expression -> pseudo_destructor_name
+ // Rule 66: postfix_expression ::= postfix_expression . pseudo_destructor_name
//
case 66: { action.builder.
- consumeExpressionFieldReference(true, false); break;
+ consumeExpressionFieldReference(false, false); break;
}
//
- // Rule 67: postfix_expression ::= postfix_expression ++
+ // Rule 67: postfix_expression ::= postfix_expression -> pseudo_destructor_name
//
case 67: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break;
+ consumeExpressionFieldReference(true, false); break;
}
//
- // Rule 68: postfix_expression ::= postfix_expression --
+ // Rule 68: postfix_expression ::= postfix_expression ++
//
case 68: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break;
+ consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break;
}
//
- // Rule 69: postfix_expression ::= dynamic_cast < type_id > ( expression )
+ // Rule 69: postfix_expression ::= postfix_expression --
//
case 69: { action.builder.
- consumeExpressionCast(ICPPASTCastExpression.op_dynamic_cast); break;
+ consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break;
}
//
- // Rule 70: postfix_expression ::= static_cast < type_id > ( expression )
+ // Rule 70: postfix_expression ::= dynamic_cast < type_id > ( expression )
//
case 70: { action.builder.
- consumeExpressionCast(ICPPASTCastExpression.op_static_cast); break;
+ consumeExpressionCast(ICPPASTCastExpression.op_dynamic_cast); break;
}
//
- // Rule 71: postfix_expression ::= reinterpret_cast < type_id > ( expression )
+ // Rule 71: postfix_expression ::= static_cast < type_id > ( expression )
//
case 71: { action.builder.
- consumeExpressionCast(ICPPASTCastExpression.op_reinterpret_cast); break;
+ consumeExpressionCast(ICPPASTCastExpression.op_static_cast); break;
}
//
- // Rule 72: postfix_expression ::= const_cast < type_id > ( expression )
+ // Rule 72: postfix_expression ::= reinterpret_cast < type_id > ( expression )
//
case 72: { action.builder.
- consumeExpressionCast(ICPPASTCastExpression.op_const_cast); break;
+ consumeExpressionCast(ICPPASTCastExpression.op_reinterpret_cast); break;
}
//
- // Rule 73: postfix_expression ::= typeid ( expression )
+ // Rule 73: postfix_expression ::= const_cast < type_id > ( expression )
//
case 73: { action.builder.
- consumeExpressionUnaryOperator(ICPPASTUnaryExpression.op_typeid); break;
+ consumeExpressionCast(ICPPASTCastExpression.op_const_cast); break;
}
//
- // Rule 74: postfix_expression ::= typeid ( type_id )
+ // Rule 74: postfix_expression ::= typeid ( expression )
//
case 74: { action.builder.
- consumeExpressionTypeId(ICPPASTTypeIdExpression.op_typeid); break;
+ consumeExpressionUnaryOperator(ICPPASTUnaryExpression.op_typeid); break;
}
//
- // Rule 75: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt type_name :: destructor_type_name
+ // Rule 75: postfix_expression ::= typeid ( type_id )
//
case 75: { action.builder.
- consumePsudoDestructorName(true); break;
+ consumeExpressionTypeId(ICPPASTTypeIdExpression.op_typeid); break;
}
//
- // Rule 76: pseudo_destructor_name ::= dcolon_opt nested_name_specifier template template_id_name :: destructor_type_name
+ // Rule 76: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt type_name :: destructor_type_name
//
case 76: { action.builder.
consumePsudoDestructorName(true); break;
}
//
- // Rule 77: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt destructor_type_name
+ // Rule 77: pseudo_destructor_name ::= dcolon_opt nested_name_specifier template template_id_name :: destructor_type_name
//
case 77: { action.builder.
- consumePsudoDestructorName(false); break;
+ consumePsudoDestructorName(true); break;
}
//
- // Rule 78: destructor_type_name ::= ~ type_name
+ // Rule 78: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt destructor_type_name
//
case 78: { action.builder.
+ consumePsudoDestructorName(false); break;
+ }
+
+ //
+ // Rule 79: destructor_type_name ::= ~ identifier_token
+ //
+ case 79: { action.builder.
consumeDestructorName(); break;
}
//
- // Rule 82: unary_expression ::= ++ cast_expression
+ // Rule 80: destructor_type_name ::= ~ template_id_name
+ //
+ case 80: { action.builder.
+ consumeDestructorNameTemplateId(); break;
+ }
+
//
- case 82: { action.builder.
+ // Rule 84: unary_expression ::= ++ cast_expression
+ //
+ case 84: { action.builder.
consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixIncr); break;
}
//
- // Rule 83: unary_expression ::= -- cast_expression
+ // Rule 85: unary_expression ::= -- cast_expression
//
- case 83: { action.builder.
+ case 85: { action.builder.
consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixDecr); break;
}
//
- // Rule 84: unary_expression ::= & cast_expression
+ // Rule 86: unary_expression ::= & cast_expression
//
- case 84: { action.builder.
+ case 86: { action.builder.
consumeExpressionUnaryOperator(IASTUnaryExpression.op_amper); break;
}
//
- // Rule 85: unary_expression ::= * cast_expression
+ // Rule 87: unary_expression ::= * cast_expression
//
- case 85: { action.builder.
+ case 87: { action.builder.
consumeExpressionUnaryOperator(IASTUnaryExpression.op_star); break;
}
//
- // Rule 86: unary_expression ::= + cast_expression
+ // Rule 88: unary_expression ::= + cast_expression
//
- case 86: { action.builder.
+ case 88: { action.builder.
consumeExpressionUnaryOperator(IASTUnaryExpression.op_plus); break;
}
//
- // Rule 87: unary_expression ::= - cast_expression
+ // Rule 89: unary_expression ::= - cast_expression
//
- case 87: { action.builder.
+ case 89: { action.builder.
consumeExpressionUnaryOperator(IASTUnaryExpression.op_minus); break;
}
//
- // Rule 88: unary_expression ::= ~ cast_expression
+ // Rule 90: unary_expression ::= ~ cast_expression
//
- case 88: { action.builder.
+ case 90: { action.builder.
consumeExpressionUnaryOperator(IASTUnaryExpression.op_tilde); break;
}
//
- // Rule 89: unary_expression ::= ! cast_expression
+ // Rule 91: unary_expression ::= ! cast_expression
//
- case 89: { action.builder.
+ case 91: { action.builder.
consumeExpressionUnaryOperator(IASTUnaryExpression.op_not); break;
}
//
- // Rule 90: unary_expression ::= sizeof unary_expression
+ // Rule 92: unary_expression ::= sizeof unary_expression
//
- case 90: { action.builder.
+ case 92: { action.builder.
consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof); break;
}
//
- // Rule 91: unary_expression ::= sizeof ( type_id )
+ // Rule 93: unary_expression ::= sizeof ( type_id )
//
- case 91: { action.builder.
+ case 93: { action.builder.
consumeExpressionTypeId(ICPPASTTypeIdExpression.op_sizeof); break;
}
//
- // Rule 92: new_expression ::= dcolon_opt new new_placement_opt new_type_id <openscope-ast> new_array_expressions_opt new_initializer_opt
+ // Rule 94: new_expression ::= dcolon_opt new new_placement_opt new_type_id <openscope-ast> new_array_expressions_opt new_initializer_opt
//
- case 92: { action.builder.
+ case 94: { action.builder.
consumeExpressionNew(true); break;
}
//
- // Rule 93: new_expression ::= dcolon_opt new new_placement_opt ( type_id ) <openscope-ast> new_array_expressions_opt new_initializer_opt
+ // Rule 95: new_expression ::= dcolon_opt new new_placement_opt ( type_id ) <openscope-ast> new_array_expressions_opt new_initializer_opt
//
- case 93: { action.builder.
+ case 95: { action.builder.
consumeExpressionNew(false); break;
}
//
- // Rule 95: new_placement_opt ::= $Empty
+ // Rule 97: new_placement_opt ::= $Empty
//
- case 95: { action.builder.
+ case 97: { action.builder.
consumeEmpty(); break;
}
//
- // Rule 96: new_type_id ::= type_specifier_seq
+ // Rule 98: new_type_id ::= type_specifier_seq
//
- case 96: { action.builder.
+ case 98: { action.builder.
consumeTypeId(false); break;
}
//
- // Rule 97: new_type_id ::= type_specifier_seq new_declarator
+ // Rule 99: new_type_id ::= type_specifier_seq new_declarator
//
- case 97: { action.builder.
+ case 99: { action.builder.
consumeTypeId(true); break;
}
//
- // Rule 98: new_declarator ::= <openscope-ast> new_pointer_operators
+ // Rule 100: new_declarator ::= <openscope-ast> new_pointer_operators
//
- case 98: { action.builder.
+ case 100: { action.builder.
consumeNewDeclarator(); break;
}
//
- // Rule 107: new_initializer_opt ::= $Empty
+ // Rule 109: new_initializer_opt ::= $Empty
//
- case 107: { action.builder.
+ case 109: { action.builder.
consumeEmpty(); break;
}
//
- // Rule 108: delete_expression ::= dcolon_opt delete cast_expression
+ // Rule 110: delete_expression ::= dcolon_opt delete cast_expression
//
- case 108: { action.builder.
+ case 110: { action.builder.
consumeExpressionDelete(false); break;
}
//
- // Rule 109: delete_expression ::= dcolon_opt delete [ ] cast_expression
+ // Rule 111: delete_expression ::= dcolon_opt delete [ ] cast_expression
//
- case 109: { action.builder.
+ case 111: { action.builder.
consumeExpressionDelete(true); break;
}
//
- // Rule 112: pm_expression ::= pm_expression .* cast_expression
+ // Rule 114: pm_expression ::= pm_expression .* cast_expression
//
- case 112: { action.builder.
+ case 114: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmdot); break;
}
//
- // Rule 113: pm_expression ::= pm_expression ->* cast_expression
+ // Rule 115: pm_expression ::= pm_expression ->* cast_expression
//
- case 113: { action.builder.
+ case 115: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmarrow); break;
}
//
- // Rule 115: multiplicative_expression ::= multiplicative_expression * pm_expression
+ // Rule 117: multiplicative_expression ::= multiplicative_expression * pm_expression
//
- case 115: { action.builder.
+ case 117: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiply); break;
}
//
- // Rule 116: multiplicative_expression ::= multiplicative_expression / pm_expression
+ // Rule 118: multiplicative_expression ::= multiplicative_expression / pm_expression
//
- case 116: { action.builder.
+ case 118: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divide); break;
}
//
- // Rule 117: multiplicative_expression ::= multiplicative_expression % pm_expression
+ // Rule 119: multiplicative_expression ::= multiplicative_expression % pm_expression
//
- case 117: { action.builder.
+ case 119: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_modulo); break;
}
//
- // Rule 119: additive_expression ::= additive_expression + multiplicative_expression
+ // Rule 121: additive_expression ::= additive_expression + multiplicative_expression
//
- case 119: { action.builder.
+ case 121: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plus); break;
}
//
- // Rule 120: additive_expression ::= additive_expression - multiplicative_expression
+ // Rule 122: additive_expression ::= additive_expression - multiplicative_expression
//
- case 120: { action.builder.
+ case 122: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minus); break;
}
//
- // Rule 122: shift_expression ::= shift_expression << additive_expression
+ // Rule 124: shift_expression ::= shift_expression << additive_expression
//
- case 122: { action.builder.
+ case 124: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeft); break;
}
//
- // Rule 123: shift_expression ::= shift_expression >> additive_expression
+ // Rule 125: shift_expression ::= shift_expression >> additive_expression
//
- case 123: { action.builder.
+ case 125: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRight); break;
}
//
- // Rule 125: relational_expression ::= relational_expression < shift_expression
+ // Rule 127: relational_expression ::= relational_expression < shift_expression
//
- case 125: { action.builder.
+ case 127: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessThan); break;
}
//
- // Rule 126: relational_expression ::= relational_expression > shift_expression
+ // Rule 128: relational_expression ::= relational_expression > shift_expression
//
- case 126: { action.builder.
+ case 128: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterThan); break;
}
//
- // Rule 127: relational_expression ::= relational_expression <= shift_expression
+ // Rule 129: relational_expression ::= relational_expression <= shift_expression
//
- case 127: { action.builder.
+ case 129: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessEqual); break;
}
//
- // Rule 128: relational_expression ::= relational_expression >= shift_expression
+ // Rule 130: relational_expression ::= relational_expression >= shift_expression
//
- case 128: { action.builder.
+ case 130: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterEqual); break;
}
//
- // Rule 130: equality_expression ::= equality_expression == relational_expression
+ // Rule 132: equality_expression ::= equality_expression == relational_expression
//
- case 130: { action.builder.
+ case 132: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_equals); break;
}
//
- // Rule 131: equality_expression ::= equality_expression != relational_expression
+ // Rule 133: equality_expression ::= equality_expression != relational_expression
//
- case 131: { action.builder.
+ case 133: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_notequals); break;
}
//
- // Rule 133: and_expression ::= and_expression & equality_expression
+ // Rule 135: and_expression ::= and_expression & equality_expression
//
- case 133: { action.builder.
+ case 135: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAnd); break;
}
//
- // Rule 135: exclusive_or_expression ::= exclusive_or_expression ^ and_expression
+ // Rule 137: exclusive_or_expression ::= exclusive_or_expression ^ and_expression
//
- case 135: { action.builder.
+ case 137: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXor); break;
}
//
- // Rule 137: inclusive_or_expression ::= inclusive_or_expression | exclusive_or_expression
+ // Rule 139: inclusive_or_expression ::= inclusive_or_expression | exclusive_or_expression
//
- case 137: { action.builder.
+ case 139: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOr); break;
}
//
- // Rule 139: logical_and_expression ::= logical_and_expression && inclusive_or_expression
+ // Rule 141: logical_and_expression ::= logical_and_expression && inclusive_or_expression
//
- case 139: { action.builder.
+ case 141: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalAnd); break;
}
//
- // Rule 141: logical_or_expression ::= logical_or_expression || logical_and_expression
+ // Rule 143: logical_or_expression ::= logical_or_expression || logical_and_expression
//
- case 141: { action.builder.
+ case 143: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalOr); break;
}
//
- // Rule 143: conditional_expression ::= logical_or_expression ? expression : assignment_expression
+ // Rule 145: conditional_expression ::= logical_or_expression ? expression : assignment_expression
//
- case 143: { action.builder.
+ case 145: { action.builder.
consumeExpressionConditional(); break;
}
//
- // Rule 144: throw_expression ::= throw
+ // Rule 146: throw_expression ::= throw
//
- case 144: { action.builder.
+ case 146: { action.builder.
consumeExpressionThrow(false); break;
}
//
- // Rule 145: throw_expression ::= throw assignment_expression
+ // Rule 147: throw_expression ::= throw assignment_expression
//
- case 145: { action.builder.
+ case 147: { action.builder.
consumeExpressionThrow(true); break;
}
//
- // Rule 148: assignment_expression ::= logical_or_expression = assignment_expression
+ // Rule 150: assignment_expression ::= logical_or_expression = assignment_expression
//
- case 148: { action.builder.
+ case 150: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_assign); break;
}
//
- // Rule 149: assignment_expression ::= logical_or_expression *= assignment_expression
+ // Rule 151: assignment_expression ::= logical_or_expression *= assignment_expression
//
- case 149: { action.builder.
+ case 151: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiplyAssign); break;
}
//
- // Rule 150: assignment_expression ::= logical_or_expression /= assignment_expression
+ // Rule 152: assignment_expression ::= logical_or_expression /= assignment_expression
//
- case 150: { action.builder.
+ case 152: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divideAssign); break;
}
//
- // Rule 151: assignment_expression ::= logical_or_expression %= assignment_expression
+ // Rule 153: assignment_expression ::= logical_or_expression %= assignment_expression
//
- case 151: { action.builder.
+ case 153: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_moduloAssign); break;
}
//
- // Rule 152: assignment_expression ::= logical_or_expression += assignment_expression
+ // Rule 154: assignment_expression ::= logical_or_expression += assignment_expression
//
- case 152: { action.builder.
+ case 154: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plusAssign); break;
}
//
- // Rule 153: assignment_expression ::= logical_or_expression -= assignment_expression
+ // Rule 155: assignment_expression ::= logical_or_expression -= assignment_expression
//
- case 153: { action.builder.
+ case 155: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minusAssign); break;
}
//
- // Rule 154: assignment_expression ::= logical_or_expression >>= assignment_expression
+ // Rule 156: assignment_expression ::= logical_or_expression >>= assignment_expression
//
- case 154: { action.builder.
+ case 156: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRightAssign); break;
}
//
- // Rule 155: assignment_expression ::= logical_or_expression <<= assignment_expression
+ // Rule 157: assignment_expression ::= logical_or_expression <<= assignment_expression
//
- case 155: { action.builder.
+ case 157: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeftAssign); break;
}
//
- // Rule 156: assignment_expression ::= logical_or_expression &= assignment_expression
+ // Rule 158: assignment_expression ::= logical_or_expression &= assignment_expression
//
- case 156: { action.builder.
+ case 158: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAndAssign); break;
}
//
- // Rule 157: assignment_expression ::= logical_or_expression ^= assignment_expression
+ // Rule 159: assignment_expression ::= logical_or_expression ^= assignment_expression
//
- case 157: { action.builder.
+ case 159: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXorAssign); break;
}
//
- // Rule 158: assignment_expression ::= logical_or_expression |= assignment_expression
+ // Rule 160: assignment_expression ::= logical_or_expression |= assignment_expression
//
- case 158: { action.builder.
+ case 160: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOrAssign); break;
}
//
- // Rule 160: expression_list ::= <openscope-ast> expression_list_actual
+ // Rule 162: expression_list ::= <openscope-ast> expression_list_actual
//
- case 160: { action.builder.
+ case 162: { action.builder.
consumeExpressionList(); break;
}
//
- // Rule 164: expression_list_opt ::= $Empty
+ // Rule 166: expression_list_opt ::= $Empty
//
- case 164: { action.builder.
+ case 166: { action.builder.
consumeEmpty(); break;
}
//
- // Rule 166: expression_opt ::= $Empty
+ // Rule 168: expression_opt ::= $Empty
//
- case 166: { action.builder.
+ case 168: { action.builder.
consumeEmpty(); break;
}
//
- // Rule 169: constant_expression_opt ::= $Empty
+ // Rule 171: constant_expression_opt ::= $Empty
//
- case 169: { action.builder.
+ case 171: { action.builder.
consumeEmpty(); break;
}
//
- // Rule 178: statement ::= ERROR_TOKEN
+ // Rule 180: statement ::= ERROR_TOKEN
//
- case 178: { action.builder.
+ case 180: { action.builder.
consumeStatementProblem(); break;
}
//
- // Rule 179: labeled_statement ::= identifier : statement
+ // Rule 181: labeled_statement ::= identifier : statement
//
- case 179: { action.builder.
+ case 181: { action.builder.
consumeStatementLabeled(); break;
}
//
- // Rule 180: labeled_statement ::= case constant_expression :
+ // Rule 182: labeled_statement ::= case constant_expression :
//
- case 180: { action.builder.
+ case 182: { action.builder.
consumeStatementCase(); break;
}
//
- // Rule 181: labeled_statement ::= default :
+ // Rule 183: labeled_statement ::= default :
//
- case 181: { action.builder.
+ case 183: { action.builder.
consumeStatementDefault(); break;
}
//
- // Rule 182: expression_statement ::= expression ;
+ // Rule 184: expression_statement ::= expression ;
//
- case 182: { action.builder.
+ case 184: { action.builder.
consumeStatementExpression(); break;
}
//
- // Rule 183: expression_statement ::= ;
+ // Rule 185: expression_statement ::= ;
//
- case 183: { action.builder.
+ case 185: { action.builder.
consumeStatementNull(); break;
}
//
- // Rule 184: compound_statement ::= { <openscope-ast> statement_seq }
+ // Rule 186: compound_statement ::= { <openscope-ast> statement_seq }
//
- case 184: { action.builder.
+ case 186: { action.builder.
consumeStatementCompoundStatement(true); break;
}
//
- // Rule 185: compound_statement ::= { }
+ // Rule 187: compound_statement ::= { }
//
- case 185: { action.builder.
+ case 187: { action.builder.
consumeStatementCompoundStatement(false); break;
}
//
- // Rule 188: selection_statement ::= if ( condition ) statement
+ // Rule 190: selection_statement ::= if ( condition ) statement
//
- case 188: { action.builder.
+ case 190: { action.builder.
consumeStatementIf(false); break;
}
//
- // Rule 189: selection_statement ::= if ( condition ) statement else statement
+ // Rule 191: selection_statement ::= if ( condition ) statement else statement
//
- case 189: { action.builder.
+ case 191: { action.builder.
consumeStatementIf(true); break;
}
//
- // Rule 190: selection_statement ::= switch ( condition ) statement
+ // Rule 192: selection_statement ::= switch ( condition ) statement
//
- case 190: { action.builder.
+ case 192: { action.builder.
consumeStatementSwitch(); break;
}
//
- // Rule 192: condition ::= type_specifier_seq declarator = assignment_expression
+ // Rule 194: condition ::= type_specifier_seq declarator = assignment_expression
//
- case 192: { action.builder.
+ case 194: { action.builder.
consumeConditionDeclaration(); break;
}
//
- // Rule 193: iteration_statement ::= while ( condition ) statement
+ // Rule 195: iteration_statement ::= while ( condition ) statement
//
- case 193: { action.builder.
+ case 195: { action.builder.
consumeStatementWhileLoop(); break;
}
//
- // Rule 194: iteration_statement ::= do statement while ( expression ) ;
+ // Rule 196: iteration_statement ::= do statement while ( expression ) ;
//
- case 194: { action.builder.
+ case 196: { action.builder.
consumeStatementDoLoop(); break;
}
//
- // Rule 195: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement
+ // Rule 197: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement
//
- case 195: { action.builder.
+ case 197: { action.builder.
consumeStatementForLoop(); break;
}
//
- // Rule 196: iteration_statement ::= for ( simple_declaration_with_declspec expression_opt ; expression_opt ) statement
+ // Rule 198: iteration_statement ::= for ( simple_declaration_with_declspec expression_opt ; expression_opt ) statement
//
- case 196: { action.builder.
+ case 198: { action.builder.
consumeStatementForLoop(); break;
}
//
- // Rule 197: jump_statement ::= break ;
+ // Rule 199: jump_statement ::= break ;
//
- case 197: { action.builder.
+ case 199: { action.builder.
consumeStatementBreak(); break;
}
//
- // Rule 198: jump_statement ::= continue ;
+ // Rule 200: jump_statement ::= continue ;
//
- case 198: { action.builder.
+ case 200: { action.builder.
consumeStatementContinue(); break;
}
//
- // Rule 199: jump_statement ::= return expression ;
+ // Rule 201: jump_statement ::= return expression ;
//
- case 199: { action.builder.
+ case 201: { action.builder.
consumeStatementReturn(true); break;
}
//
- // Rule 200: jump_statement ::= return ;
+ // Rule 202: jump_statement ::= return ;
//
- case 200: { action.builder.
+ case 202: { action.builder.
consumeStatementReturn(false); break;
}
//
- // Rule 201: jump_statement ::= goto identifier_token ;
+ // Rule 203: jump_statement ::= goto identifier_token ;
//
- case 201: { action.builder.
+ case 203: { action.builder.
consumeStatementGoto(); break;
}
//
- // Rule 202: declaration_statement ::= block_declaration
+ // Rule 204: declaration_statement ::= block_declaration
//
- case 202: { action.builder.
+ case 204: { action.builder.
consumeStatementDeclaration(); break;
}
//
- // Rule 203: declaration_statement ::= function_definition
+ // Rule 205: declaration_statement ::= function_definition
//
- case 203: { action.builder.
+ case 205: { action.builder.
consumeStatementDeclaration(); break;
}
//
- // Rule 220: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ;
+ // Rule 222: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ;
//
- case 220: { action.builder.
+ case 222: { action.builder.
consumeDeclarationSimple(true, true); break;
}
//
- // Rule 221: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ;
+ // Rule 223: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ;
//
- case 221: { action.builder.
+ case 223: { action.builder.
consumeDeclarationSimple(true, false); break;
}
//
- // Rule 222: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers
+ // Rule 224: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers
//
- case 222: { action.builder.
+ case 224: { action.builder.
consumeDeclarationSpecifiersSimple(); break;
}
//
- // Rule 223: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers
+ // Rule 225: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers
//
- case 223: { action.builder.
+ case 225: { action.builder.
consumeDeclarationSpecifiersComposite(); break;
}
//
- // Rule 224: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers
+ // Rule 226: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers
//
- case 224: { action.builder.
+ case 226: { action.builder.
consumeDeclarationSpecifiersComposite(); break;
}
//
- // Rule 225: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers
+ // Rule 227: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers
//
- case 225: { action.builder.
+ case 227: { action.builder.
consumeDeclarationSpecifiersComposite(); break;
}
//
- // Rule 226: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers
+ // Rule 228: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers
//
- case 226: { action.builder.
+ case 228: { action.builder.
consumeDeclarationSpecifiersTypeName(); break;
}
//
- // Rule 227: declaration_specifiers_opt ::= $Empty
+ // Rule 229: declaration_specifiers_opt ::= $Empty
//
- case 227: { action.builder.
+ case 229: { action.builder.
consumeEmpty(); break;
}
//
- // Rule 232: no_type_declaration_specifier ::= friend
+ // Rule 234: no_type_declaration_specifier ::= friend
+ //
+ case 234: { action.builder.
+ consumeDeclSpecToken(); break;
+ }
+
+ //
+ // Rule 235: no_type_declaration_specifier ::= typedef
+ //
+ case 235: { action.builder.
+ consumeDeclSpecToken(); break;
+ }
+
+ //
+ // Rule 255: storage_class_specifier ::= auto
+ //
+ case 255: { action.builder.
+ consumeDeclSpecToken(); break;
+ }
+
+ //
+ // Rule 256: storage_class_specifier ::= register
+ //
+ case 256: { action.builder.
+ consumeDeclSpecToken(); break;
+ }
+
+ //
+ // Rule 257: storage_class_specifier ::= static
+ //
+ case 257: { action.builder.
+ consumeDeclSpecToken(); break;
+ }
+
+ //
+ // Rule 258: storage_class_specifier ::= extern
+ //
+ case 258: { action.builder.
+ consumeDeclSpecToken(); break;
+ }
+
+ //
+ // Rule 259: storage_class_specifier ::= mutable
//
- case 232: { action.builder.
+ case 259: { action.builder.
consumeDeclSpecToken(); break;
}
//
- // Rule 233: no_type_declaration_specifier ::= typedef
+ // Rule 260: function_specifier ::= inline
//
- case 233: { action.builder.
+ case 260: { action.builder.
consumeDeclSpecToken(); break;
}
//
- // Rule 261: simple_type_specifier ::= simple_type_specifier_token
+ // Rule 261: function_specifier ::= virtual
//
case 261: { action.builder.
consumeDeclSpecToken(); break;
}
//
- // Rule 275: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name
+ // Rule 262: function_specifier ::= explicit
//
- case 275: { action.builder.
- consumeQualifiedId(false); break;
+ case 262: { action.builder.
+ consumeDeclSpecToken(); break;
+ }
+
+ //
+ // Rule 263: simple_type_specifier ::= char
+ //
+ case 263: { action.builder.
+ consumeDeclSpecToken(); break;
+ }
+
+ //
+ // Rule 264: simple_type_specifier ::= wchar_t
+ //
+ case 264: { action.builder.
+ consumeDeclSpecToken(); break;
+ }
+
+ //
+ // Rule 265: simple_type_specifier ::= bool
+ //
+ case 265: { action.builder.
+ consumeDeclSpecToken(); break;
+ }
+
+ //
+ // Rule 266: simple_type_specifier ::= short
+ //
+ case 266: { action.builder.
+ consumeDeclSpecToken(); break;
+ }
+
+ //
+ // Rule 267: simple_type_specifier ::= int
+ //
+ case 267: { action.builder.
+ consumeDeclSpecToken(); break;
+ }
+
+ //
+ // Rule 268: simple_type_specifier ::= long
+ //
+ case 268: { action.builder.
+ consumeDeclSpecToken(); break;
+ }
+
+ //
+ // Rule 269: simple_type_specifier ::= signed
+ //
+ case 269: { action.builder.
+ consumeDeclSpecToken(); break;
+ }
+
+ //
+ // Rule 270: simple_type_specifier ::= unsigned
+ //
+ case 270: { action.builder.
+ consumeDeclSpecToken(); break;
+ }
+
+ //
+ // Rule 271: simple_type_specifier ::= float
+ //
+ case 271: { action.builder.
+ consumeDeclSpecToken(); break;
+ }
+
+ //
+ // Rule 272: simple_type_specifier ::= double
+ //
+ case 272: { action.builder.
+ consumeDeclSpecToken(); break;
+ }
+
+ //
+ // Rule 273: simple_type_specifier ::= void
+ //
+ case 273: { action.builder.
+ consumeDeclSpecToken(); break;
}
//
- // Rule 276: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name
+ // Rule 276: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name
//
case 276: { action.builder.
consumeQualifiedId(false); break;
}
//
- // Rule 277: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name
+ // Rule 277: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name
//
case 277: { action.builder.
consumeQualifiedId(false); break;
}
//
- // Rule 278: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name
+ // Rule 278: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name
//
case 278: { action.builder.
- consumeQualifiedId(true); break;
+ consumeQualifiedId(false); break;
}
//
- // Rule 279: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt identifier_name
+ // Rule 279: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name
//
case 279: { action.builder.
- consumeTypeSpecifierElaborated(false); break;
+ consumeQualifiedId(true); break;
}
//
- // Rule 280: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt template_opt template_id_name
+ // Rule 280: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt identifier_name
//
case 280: { action.builder.
- consumeTypeSpecifierElaborated(true); break;
+ consumeTypeSpecifierElaborated(false); break;
}
//
- // Rule 281: elaborated_type_specifier ::= enum dcolon_opt nested_name_specifier_opt identifier_name
+ // Rule 281: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt template_opt template_id_name
//
case 281: { action.builder.
- consumeTypeSpecifierElaborated(false); break;
+ consumeTypeSpecifierElaborated(true); break;
}
//
- // Rule 282: enum_specifier ::= enum { <openscope-ast> enumerator_list_opt }
+ // Rule 282: elaborated_type_specifier ::= enum dcolon_opt nested_name_specifier_opt identifier_name
//
case 282: { action.builder.
- consumeTypeSpecifierEnumeration(false); break;
+ consumeTypeSpecifierElaborated(false); break;
}
//
- // Rule 283: enum_specifier ::= enum identifier_token { <openscope-ast> enumerator_list_opt }
+ // Rule 283: enum_specifier ::= enum { <openscope-ast> enumerator_list_opt }
//
case 283: { action.builder.
+ consumeTypeSpecifierEnumeration(false); break;
+ }
+
+ //
+ // Rule 284: enum_specifier ::= enum identifier_token { <openscope-ast> enumerator_list_opt }
+ //
+ case 284: { action.builder.
consumeTypeSpecifierEnumeration(true); break;
}
//
- // Rule 288: enumerator_definition ::= identifier_token
+ // Rule 289: enumerator_definition ::= identifier_token
//
- case 288: { action.builder.
+ case 289: { action.builder.
consumeEnumerator(false); break;
}
//
- // Rule 289: enumerator_definition ::= identifier_token = constant_expression
+ // Rule 290: enumerator_definition ::= identifier_token = constant_expression
//
- case 289: { action.builder.
+ case 290: { action.builder.
consumeEnumerator(true); break;
}
//
- // Rule 295: original_namespace_definition ::= namespace identifier_name { <openscope-ast> declaration_seq_opt }
+ // Rule 296: original_namespace_definition ::= namespace identifier_name { <openscope-ast> declaration_seq_opt }
//
- case 295: { action.builder.
+ case 296: { action.builder.
consumeNamespaceDefinition(true); break;
}
//
- // Rule 296: extension_namespace_definition ::= namespace original_namespace_name { <openscope-ast> declaration_seq_opt }
+ // Rule 297: extension_namespace_definition ::= namespace original_namespace_name { <openscope-ast> declaration_seq_opt }
//
- case 296: { action.builder.
+ case 297: { action.builder.
consumeNamespaceDefinition(true); break;
}
//
- // Rule 297: unnamed_namespace_definition ::= namespace { <openscope-ast> declaration_seq_opt }
+ // Rule 298: unnamed_namespace_definition ::= namespace { <openscope-ast> declaration_seq_opt }
//
- case 297: { action.builder.
+ case 298: { action.builder.
consumeNamespaceDefinition(false); break;
}
//
- // Rule 298: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ;
+ // Rule 299: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ;
//
- case 298: { action.builder.
+ case 299: { action.builder.
consumeNamespaceAliasDefinition(); break;
}
//
- // Rule 299: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ;
+ // Rule 300: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ;
//
- case 299: { action.builder.
+ case 300: { action.builder.
consumeUsingDeclaration(); break;
}
//
- // Rule 300: typename_opt ::= typename
+ // Rule 301: typename_opt ::= typename
//
- case 300: { action.builder.
+ case 301: { action.builder.
consumePlaceHolder(); break;
}
//
- // Rule 301: typename_opt ::= $Empty
+ // Rule 302: typename_opt ::= $Empty
//
- case 301: { action.builder.
+ case 302: { action.builder.
consumeEmpty(); break;
}
//
- // Rule 302: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ;
+ // Rule 303: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ;
//
- case 302: { action.builder.
+ case 303: { action.builder.
consumeUsingDirective(); break;
}
//
- // Rule 303: asm_definition ::= asm ( stringlit ) ;
+ // Rule 304: asm_definition ::= asm ( stringlit ) ;
//
- case 303: { action.builder.
+ case 304: { action.builder.
consumeDeclarationASM(); break;
}
//
- // Rule 304: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt }
+ // Rule 305: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt }
//
- case 304: { action.builder.
+ case 305: { action.builder.
consumeLinkageSpecification(); break;
}
//
- // Rule 305: linkage_specification ::= extern stringlit <openscope-ast> declaration
+ // Rule 306: linkage_specification ::= extern stringlit <openscope-ast> declaration
//
- case 305: { action.builder.
+ case 306: { action.builder.
consumeLinkageSpecification(); break;
}
//
- // Rule 310: init_declarator_complete ::= init_declarator
+ // Rule 311: init_declarator_complete ::= init_declarator
//
- case 310: { action.builder.
+ case 311: { action.builder.
consumeInitDeclaratorComplete(); break;
}
//
- // Rule 312: init_declarator ::= declarator initializer
+ // Rule 313: init_declarator ::= declarator initializer
//
- case 312: { action.builder.
+ case 313: { action.builder.
consumeDeclaratorWithInitializer(true); break;
}
//
- // Rule 314: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
+ // Rule 315: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
//
- case 314: { action.builder.
+ case 315: { action.builder.
consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 316: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
+ // Rule 317: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
//
- case 316: { action.builder.
+ case 317: { action.builder.
consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 320: basic_direct_declarator ::= declarator_id_name
+ // Rule 321: basic_direct_declarator ::= declarator_id_name
//
- case 320: { action.builder.
+ case 321: { action.builder.
consumeDirectDeclaratorIdentifier(); break;
}
//
- // Rule 321: basic_direct_declarator ::= ( declarator )
+ // Rule 322: basic_direct_declarator ::= ( declarator )
//
- case 321: { action.builder.
+ case 322: { action.builder.
consumeDirectDeclaratorBracketed(); 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 323: 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.builder.
+ case 323: { action.builder.
consumeDirectDeclaratorFunctionDeclarator(true); break;
}
//
- // Rule 323: array_direct_declarator ::= array_direct_declarator array_modifier
+ // Rule 324: array_direct_declarator ::= array_direct_declarator array_modifier
//
- case 323: { action.builder.
+ case 324: { action.builder.
consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 324: array_direct_declarator ::= basic_direct_declarator array_modifier
+ // Rule 325: array_direct_declarator ::= basic_direct_declarator array_modifier
//
- case 324: { action.builder.
+ case 325: { action.builder.
consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 325: array_modifier ::= [ constant_expression ]
+ // Rule 326: array_modifier ::= [ constant_expression ]
//
- case 325: { action.builder.
+ case 326: { action.builder.
consumeDirectDeclaratorArrayModifier(true); break;
}
//
- // Rule 326: array_modifier ::= [ ]
+ // Rule 327: array_modifier ::= [ ]
//
- case 326: { action.builder.
+ case 327: { action.builder.
consumeDirectDeclaratorArrayModifier(false); break;
}
//
- // Rule 327: ptr_operator ::= * <openscope-ast> cv_qualifier_seq_opt
+ // Rule 328: ptr_operator ::= * <openscope-ast> cv_qualifier_seq_opt
//
- case 327: { action.builder.
+ case 328: { action.builder.
consumePointer(); break;
}
//
- // Rule 328: ptr_operator ::= &
+ // Rule 329: ptr_operator ::= &
//
- case 328: { action.builder.
+ case 329: { action.builder.
consumeReferenceOperator(); break;
}
//
- // Rule 329: ptr_operator ::= dcolon_opt nested_name_specifier * <openscope-ast> cv_qualifier_seq_opt
+ // Rule 330: ptr_operator ::= dcolon_opt nested_name_specifier * <openscope-ast> cv_qualifier_seq_opt
//
- case 329: { action.builder.
+ case 330: { action.builder.
consumePointerToMember(); break;
}
//
- // Rule 335: cv_qualifier ::= const
+ // Rule 336: cv_qualifier ::= const
//
- case 335: { action.builder.
+ case 336: { action.builder.
consumeDeclSpecToken(); break;
}
//
- // Rule 336: cv_qualifier ::= volatile
+ // Rule 337: cv_qualifier ::= volatile
//
- case 336: { action.builder.
+ case 337: { action.builder.
consumeDeclSpecToken(); break;
}
//
- // Rule 338: declarator_id_name ::= <empty> nested_name_specifier template_opt unqualified_id_name
+ // Rule 339: declarator_id_name ::= <empty> nested_name_specifier template_opt unqualified_id_name
//
- case 338: { action.builder.
+ case 339: { action.builder.
consumeQualifiedId(true); break;
}
//
- // Rule 339: type_id ::= type_specifier_seq
+ // Rule 340: type_id ::= type_specifier_seq
//
- case 339: { action.builder.
+ case 340: { action.builder.
consumeTypeId(false); break;
}
//
- // Rule 340: type_id ::= type_specifier_seq abstract_declarator
+ // Rule 341: type_id ::= type_specifier_seq abstract_declarator
//
- case 340: { action.builder.
+ case 341: { action.builder.
consumeTypeId(true); break;
}
//
- // Rule 343: abstract_declarator ::= <openscope-ast> ptr_operator_seq
+ // Rule 344: abstract_declarator ::= <openscope-ast> ptr_operator_seq
//
- case 343: { action.builder.
+ case 344: { action.builder.
consumeDeclaratorWithPointer(false); break;
}
//
- // Rule 344: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator
+ // Rule 345: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator
//
- case 344: { action.builder.
+ case 345: { action.builder.
consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 348: basic_direct_abstract_declarator ::= ( abstract_declarator )
+ // Rule 349: basic_direct_abstract_declarator ::= ( abstract_declarator )
//
- case 348: { action.builder.
+ case 349: { action.builder.
consumeDirectDeclaratorBracketed(); break;
}
//
- // Rule 349: array_direct_abstract_declarator ::= array_modifier
+ // Rule 350: array_direct_abstract_declarator ::= array_modifier
//
- case 349: { action.builder.
+ case 350: { action.builder.
consumeDirectDeclaratorArrayDeclarator(false); break;
}
//
- // Rule 350: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
+ // Rule 351: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier
//
- case 350: { action.builder.
+ case 351: { action.builder.
consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 351: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
+ // Rule 352: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier
//
- case 351: { action.builder.
+ case 352: { action.builder.
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
+ // 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 352: { action.builder.
+ case 353: { action.builder.
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
+ // Rule 354: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
//
- case 353: { action.builder.
+ case 354: { action.builder.
consumeDirectDeclaratorFunctionDeclarator(false); break;
}
//
- // Rule 354: parameter_declaration_clause ::= parameter_declaration_list_opt ...
+ // Rule 355: parameter_declaration_clause ::= parameter_declaration_list_opt ...
//
- case 354: { action.builder.
+ case 355: { action.builder.
consumePlaceHolder(); break;
}
//
- // Rule 355: parameter_declaration_clause ::= parameter_declaration_list_opt
+ // Rule 356: parameter_declaration_clause ::= parameter_declaration_list_opt
//
- case 355: { action.builder.
+ case 356: { action.builder.
consumeEmpty(); break;
}
//
- // Rule 356: parameter_declaration_clause ::= parameter_declaration_list , ...
+ // Rule 357: parameter_declaration_clause ::= parameter_declaration_list , ...
//
- case 356: { action.builder.
+ case 357: { action.builder.
consumePlaceHolder(); break;
}
//
- // Rule 362: abstract_declarator_opt ::= $Empty
+ // Rule 363: abstract_declarator_opt ::= $Empty
//
- case 362: { action.builder.
+ case 363: { action.builder.
consumeEmpty(); break;
}
//
- // Rule 363: parameter_declaration ::= declaration_specifiers parameter_init_declarator
+ // Rule 364: parameter_declaration ::= declaration_specifiers parameter_init_declarator
//
- case 363: { action.builder.
+ case 364: { action.builder.
consumeParameterDeclaration(); break;
}
//
- // Rule 364: parameter_declaration ::= declaration_specifiers
+ // Rule 365: parameter_declaration ::= declaration_specifiers
//
- case 364: { action.builder.
+ case 365: { action.builder.
consumeParameterDeclarationWithoutDeclarator(); break;
}
//
- // Rule 366: parameter_init_declarator ::= declarator = parameter_initializer
+ // Rule 367: parameter_init_declarator ::= declarator = parameter_initializer
//
- case 366: { action.builder.
+ case 367: { action.builder.
consumeDeclaratorWithInitializer(true); break;
}
//
- // Rule 368: parameter_init_declarator ::= abstract_declarator = parameter_initializer
+ // Rule 369: parameter_init_declarator ::= abstract_declarator = parameter_initializer
//
- case 368: { action.builder.
+ case 369: { action.builder.
consumeDeclaratorWithInitializer(true); break;
}
//
- // Rule 369: parameter_init_declarator ::= = parameter_initializer
+ // Rule 370: parameter_init_declarator ::= = parameter_initializer
//
- case 369: { action.builder.
+ case 370: { action.builder.
consumeDeclaratorWithInitializer(false); break;
}
//
- // Rule 370: parameter_initializer ::= assignment_expression
+ // Rule 371: parameter_initializer ::= assignment_expression
//
- case 370: { action.builder.
+ case 371: { action.builder.
consumeInitializer(); break;
}
//
- // Rule 371: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body
+ // Rule 372: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body
//
- case 371: { action.builder.
+ case 372: { action.builder.
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
+ // Rule 373: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq
//
- case 372: { action.builder.
+ case 373: { action.builder.
consumeFunctionDefinition(true); break;
}
//
- // Rule 375: initializer ::= ( expression_list )
+ // Rule 376: initializer ::= ( expression_list )
//
- case 375: { action.builder.
+ case 376: { action.builder.
consumeInitializerConstructor(); break;
}
//
- // Rule 376: initializer_clause ::= assignment_expression
+ // Rule 377: initializer_clause ::= assignment_expression
//
- case 376: { action.builder.
+ case 377: { action.builder.
consumeInitializer(); break;
}
//
- // Rule 377: initializer_clause ::= { <openscope-ast> initializer_list , }
+ // Rule 378: initializer_clause ::= { <openscope-ast> initializer_list , }
//
- case 377: { action.builder.
+ case 378: { action.builder.
consumeInitializerList(); break;
}
//
- // Rule 378: initializer_clause ::= { <openscope-ast> initializer_list }
+ // Rule 379: initializer_clause ::= { <openscope-ast> initializer_list }
//
- case 378: { action.builder.
+ case 379: { action.builder.
consumeInitializerList(); break;
}
//
- // Rule 379: initializer_clause ::= { <openscope-ast> }
+ // Rule 380: initializer_clause ::= { <openscope-ast> }
//
- case 379: { action.builder.
+ case 380: { action.builder.
consumeInitializerList(); break;
}
//
- // Rule 384: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt }
+ // Rule 385: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt }
//
- case 384: { action.builder.
+ case 385: { action.builder.
consumeClassSpecifier(); break;
}
//
- // Rule 385: class_head ::= class_keyword identifier_name_opt <openscope-ast> base_clause_opt
+ // Rule 386: class_head ::= class_keyword identifier_name_opt <openscope-ast> base_clause_opt
//
- case 385: { action.builder.
+ case 386: { action.builder.
consumeClassHead(false); break;
}
//
- // Rule 386: class_head ::= class_keyword template_id_name <openscope-ast> base_clause_opt
+ // Rule 387: class_head ::= class_keyword template_id_name <openscope-ast> base_clause_opt
//
- case 386: { action.builder.
+ case 387: { action.builder.
consumeClassHead(false); break;
}
//
- // Rule 387: class_head ::= class_keyword nested_name_specifier identifier_name <openscope-ast> base_clause_opt
+ // Rule 388: class_head ::= class_keyword nested_name_specifier identifier_name <openscope-ast> base_clause_opt
//
- case 387: { action.builder.
+ case 388: { action.builder.
consumeClassHead(true); break;
}
//
- // Rule 388: class_head ::= class_keyword nested_name_specifier template_id_name <openscope-ast> base_clause_opt
+ // Rule 389: class_head ::= class_keyword nested_name_specifier template_id_name <openscope-ast> base_clause_opt
//
- case 388: { action.builder.
+ case 389: { action.builder.
consumeClassHead(true); break;
}
//
- // Rule 390: identifier_name_opt ::= $Empty
+ // Rule 391: identifier_name_opt ::= $Empty
//
- case 390: { action.builder.
+ case 391: { action.builder.
consumeEmpty(); break;
}
//
- // Rule 394: visibility_label ::= access_specifier_keyword :
+ // Rule 395: visibility_label ::= access_specifier_keyword :
//
- case 394: { action.builder.
+ case 395: { action.builder.
consumeVisibilityLabel(); break;
}
//
- // Rule 395: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ;
+ // Rule 396: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ;
//
- case 395: { action.builder.
+ case 396: { action.builder.
consumeDeclarationSimple(true, true); break;
}
//
- // Rule 396: member_declaration ::= declaration_specifiers_opt ;
+ // Rule 397: member_declaration ::= declaration_specifiers_opt ;
//
- case 396: { action.builder.
+ case 397: { action.builder.
consumeDeclarationSimple(false, false); break;
}
//
- // Rule 399: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ;
+ // Rule 400: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ;
//
- case 399: { action.builder.
+ case 400: { action.builder.
consumeMemberDeclarationQualifiedId(); break;
}
//
- // Rule 403: member_declaration ::= ERROR_TOKEN
+ // Rule 404: member_declaration ::= ERROR_TOKEN
//
- case 403: { action.builder.
+ case 404: { action.builder.
consumeDeclarationProblem(); break;
}
//
- // Rule 411: member_declarator ::= declarator constant_initializer
+ // Rule 412: member_declarator ::= declarator constant_initializer
//
- case 411: { action.builder.
+ case 412: { action.builder.
consumeMemberDeclaratorWithInitializer(); break;
}
//
- // Rule 412: member_declarator ::= bit_field_declarator : constant_expression
+ // Rule 413: member_declarator ::= bit_field_declarator : constant_expression
//
- case 412: { action.builder.
+ case 413: { action.builder.
consumeBitField(true); break;
}
//
- // Rule 413: member_declarator ::= : constant_expression
+ // Rule 414: member_declarator ::= : constant_expression
//
- case 413: { action.builder.
+ case 414: { action.builder.
consumeBitField(false); break;
}
//
- // Rule 414: bit_field_declarator ::= identifier_name
+ // Rule 415: bit_field_declarator ::= identifier_name
//
- case 414: { action.builder.
+ case 415: { action.builder.
consumeDirectDeclaratorIdentifier(); break;
}
//
- // Rule 415: constant_initializer ::= = constant_expression
+ // Rule 416: constant_initializer ::= = constant_expression
//
- case 415: { action.builder.
+ case 416: { action.builder.
consumeInitializer(); break;
}
//
- // Rule 421: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name
+ // Rule 422: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name
//
- case 421: { action.builder.
+ case 422: { action.builder.
consumeBaseSpecifier(false, false); break;
}
//
- // Rule 422: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name
+ // Rule 423: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name
//
- case 422: { action.builder.
+ case 423: { action.builder.
consumeBaseSpecifier(true, true); break;
}
//
- // Rule 423: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name
+ // Rule 424: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name
//
- case 423: { action.builder.
+ case 424: { action.builder.
consumeBaseSpecifier(true, true); break;
}
//
- // Rule 424: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name
+ // Rule 425: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name
//
- case 424: { action.builder.
+ case 425: { action.builder.
consumeBaseSpecifier(true, false); break;
}
//
- // Rule 425: access_specifier_keyword ::= private
+ // Rule 426: access_specifier_keyword ::= private
//
- case 425: { action.builder.
+ case 426: { action.builder.
consumeAccessKeywordToken(); break;
}
//
- // Rule 426: access_specifier_keyword ::= protected
+ // Rule 427: access_specifier_keyword ::= protected
//
- case 426: { action.builder.
+ case 427: { action.builder.
consumeAccessKeywordToken(); break;
}
//
- // Rule 427: access_specifier_keyword ::= public
+ // Rule 428: access_specifier_keyword ::= public
//
- case 427: { action.builder.
+ case 428: { action.builder.
consumeAccessKeywordToken(); break;
}
//
- // Rule 429: access_specifier_keyword_opt ::= $Empty
+ // Rule 430: access_specifier_keyword_opt ::= $Empty
//
- case 429: { action.builder.
+ case 430: { action.builder.
consumeEmpty(); break;
}
//
- // Rule 430: conversion_function_id_name ::= operator conversion_type_id
+ // Rule 431: conversion_function_id_name ::= operator conversion_type_id
//
- case 430: { action.builder.
+ case 431: { action.builder.
consumeConversionName(); break;
}
//
- // Rule 431: conversion_type_id ::= type_specifier_seq conversion_declarator
+ // Rule 432: conversion_type_id ::= type_specifier_seq conversion_declarator
//
- case 431: { action.builder.
+ case 432: { action.builder.
consumeTypeId(true); break;
}
//
- // Rule 432: conversion_type_id ::= type_specifier_seq
+ // Rule 433: conversion_type_id ::= type_specifier_seq
//
- case 432: { action.builder.
+ case 433: { action.builder.
consumeTypeId(false); break;
}
//
- // Rule 433: conversion_declarator ::= <openscope-ast> ptr_operator_seq
+ // Rule 434: conversion_declarator ::= <openscope-ast> ptr_operator_seq
//
- case 433: { action.builder.
+ case 434: { action.builder.
consumeDeclaratorWithPointer(false); break;
}
//
- // Rule 439: mem_initializer ::= mem_initializer_name ( expression_list_opt )
+ // Rule 440: mem_initializer ::= mem_initializer_name ( expression_list_opt )
//
- case 439: { action.builder.
+ case 440: { action.builder.
consumeConstructorChainInitializer(); break;
}
//
- // Rule 440: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name
+ // Rule 441: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name
//
- case 440: { action.builder.
+ case 441: { action.builder.
consumeQualifiedId(false); break;
}
//
- // Rule 443: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt >
+ // Rule 444: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt >
//
- case 443: { action.builder.
+ case 444: { action.builder.
consumeTemplateId(); break;
}
//
- // Rule 444: operator_id_name ::= operator overloadable_operator
+ // Rule 445: operator_id_name ::= operator overloadable_operator
//
- case 444: { action.builder.
+ case 445: { action.builder.
consumeOperatorName(); break;
}
//
- // Rule 487: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration
+ // Rule 488: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration
//
- case 487: { action.builder.
+ case 488: { action.builder.
consumeTemplateDeclaration(); break;
}
//
- // Rule 488: export_opt ::= export
+ // Rule 489: export_opt ::= export
//
- case 488: { action.builder.
+ case 489: { action.builder.
consumePlaceHolder(); break;
}
//
- // Rule 489: export_opt ::= $Empty
+ // Rule 490: export_opt ::= $Empty
//
- case 489: { action.builder.
+ case 490: { action.builder.
consumeEmpty(); break;
}
//
- // Rule 493: template_parameter ::= parameter_declaration
+ // Rule 494: template_parameter ::= parameter_declaration
//
- case 493: { action.builder.
+ case 494: { action.builder.
consumeTemplateParamterDeclaration(); break;
}
//
- // Rule 494: type_parameter ::= class identifier_name_opt
+ // Rule 495: type_parameter ::= class identifier_name_opt
//
- case 494: { action.builder.
+ case 495: { action.builder.
consumeSimpleTypeTemplateParameter(false); break;
}
//
- // Rule 495: type_parameter ::= class identifier_name_opt = type_id
+ // Rule 496: type_parameter ::= class identifier_name_opt = type_id
//
- case 495: { action.builder.
+ case 496: { action.builder.
consumeSimpleTypeTemplateParameter(true); break;
}
//
- // Rule 496: type_parameter ::= typename identifier_name_opt
+ // Rule 497: type_parameter ::= typename identifier_name_opt
//
- case 496: { action.builder.
+ case 497: { action.builder.
consumeSimpleTypeTemplateParameter(false); break;
}
//
- // Rule 497: type_parameter ::= typename identifier_name_opt = type_id
+ // Rule 498: type_parameter ::= typename identifier_name_opt = type_id
//
- case 497: { action.builder.
+ case 498: { action.builder.
consumeSimpleTypeTemplateParameter(true); break;
}
//
- // Rule 498: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt
+ // Rule 499: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt
//
- case 498: { action.builder.
+ case 499: { action.builder.
consumeTemplatedTypeTemplateParameter(false); break;
}
//
- // Rule 499: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression
+ // Rule 500: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression
//
- case 499: { action.builder.
+ case 500: { action.builder.
consumeTemplatedTypeTemplateParameter(true); break;
}
//
- // Rule 500: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt >
+ // Rule 501: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt >
//
- case 500: { action.builder.
+ case 501: { action.builder.
consumeTemplateId(); break;
}
//
- // Rule 508: explicit_instantiation ::= template declaration
+ // Rule 509: explicit_instantiation ::= template declaration
//
- case 508: { action.builder.
+ case 509: { action.builder.
consumeTemplateExplicitInstantiation(); break;
}
//
- // Rule 509: explicit_specialization ::= template < > declaration
+ // Rule 510: explicit_specialization ::= template < > declaration
//
- case 509: { action.builder.
+ case 510: { action.builder.
consumeTemplateExplicitSpecialization(); break;
}
//
- // Rule 510: try_block ::= try compound_statement <openscope-ast> handler_seq
+ // Rule 511: try_block ::= try compound_statement <openscope-ast> handler_seq
//
- case 510: { action.builder.
+ case 511: { action.builder.
consumeStatementTryBlock(); break;
}
//
- // Rule 513: handler ::= catch ( exception_declaration ) compound_statement
+ // Rule 514: handler ::= catch ( exception_declaration ) compound_statement
//
- case 513: { action.builder.
+ case 514: { action.builder.
consumeStatementCatchHandler(false); break;
}
//
- // Rule 514: handler ::= catch ( ... ) compound_statement
+ // Rule 515: handler ::= catch ( ... ) compound_statement
//
- case 514: { action.builder.
+ case 515: { action.builder.
consumeStatementCatchHandler(true); break;
}
//
- // Rule 515: exception_declaration ::= type_specifier_seq <openscope-ast> declarator
+ // Rule 516: exception_declaration ::= type_specifier_seq <openscope-ast> declarator
//
- case 515: { action.builder.
+ case 516: { action.builder.
consumeDeclarationSimple(true, false); break;
}
//
- // Rule 516: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator
+ // Rule 517: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator
//
- case 516: { action.builder.
+ case 517: { action.builder.
consumeDeclarationSimple(true, false); break;
}
//
- // Rule 517: exception_declaration ::= type_specifier_seq
+ // Rule 518: exception_declaration ::= type_specifier_seq
//
- case 517: { action.builder.
+ case 518: { action.builder.
consumeDeclarationSimple(false, false); break;
}
//
- // Rule 525: no_cast_start ::= ERROR_TOKEN
+ // Rule 526: no_cast_start ::= ERROR_TOKEN
//
- case 525: { action.builder.
+ case 526: { action.builder.
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 094042481a3..dd760cd6d0f 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
@@ -40,468 +40,467 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
0,0,1,1,1,1,1,1,1,1,
1,0,1,2,1,1,1,1,1,1,
1,1,1,1,1,1,1,3,1,1,
- 1,1,1,1,1,1,2,1,1,0,
- 1,0,4,2,2,2,3,2,3,2,
- 2,1,0,1,1,4,4,4,8,8,
- 3,3,4,4,3,3,2,2,7,7,
- 7,7,4,4,5,6,3,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,3,
- 2,2,1,4,2,1,2,5,7,5,
- 1,4,5,7,9,8,2,2,3,2,
- 3,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,2,1,0,4,
- 4,2,2,2,2,2,0,1,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,2,2,1,1,
+ 0,1,0,4,2,2,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,3,2,2,1,4,2,1,2,5,
+ 7,5,1,4,5,7,9,8,2,2,
+ 3,2,3,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,2,1,
+ 0,4,4,2,2,2,2,2,0,1,
+ 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,3,4,4,5,4,5,
- 4,5,6,1,3,1,0,1,3,1,
- 1,1,1,1,6,6,5,7,6,1,
- 0,6,5,6,4,1,3,1,0,1,
- 1,2,1,3,1,3,1,1,1,1,
- 3,9,2,2,3,2,3,1,5,1,
- 2,2,1,0,1,1,1,4,1,2,
- 1,1,2,3,1,1,1,3,1,2,
- 2,9,8,2,1,3,1,3,1,0,
- 1,0,2,1,1,3,1,3,2,1,
- 5,8,1,2,3,1,5,4,3,1,
- 3,1,1,5,4,4,5,5,1,0,
- 1,1,1,2,4,2,2,1,5,1,
- 1,1,1,1,2,1,0,1,3,1,
- 2,3,2,1,2,2,1,0,1,3,
- 3,5,5,4,1,1,1,1,0,2,
- 2,1,2,2,1,0,1,3,4,3,
- 1,1,5,2,1,1,3,3,1,1,
+ 1,1,1,1,1,3,4,4,5,4,
+ 5,4,5,6,1,3,1,0,1,3,
+ 1,1,1,1,1,6,6,5,7,6,
+ 1,0,6,5,6,4,1,3,1,0,
+ 1,1,2,1,3,1,3,1,1,1,
+ 1,3,9,2,2,3,2,3,1,5,
+ 1,2,2,1,0,1,1,1,4,1,
+ 2,1,1,2,3,1,1,1,3,1,
+ 2,2,9,8,2,1,3,1,3,1,
+ 0,1,0,2,1,1,3,1,3,2,
+ 1,5,8,1,2,3,1,5,4,3,
+ 1,3,1,1,5,4,4,5,5,1,
+ 0,1,1,1,2,4,2,2,1,5,
+ 1,1,1,1,1,2,1,0,1,3,
+ 1,2,3,2,1,2,2,1,0,1,
+ 3,3,5,5,4,1,1,1,1,0,
+ 2,2,1,2,2,1,0,1,3,4,
+ 3,1,1,5,2,1,1,3,3,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,2,2,7,1,0,1,
- 3,1,1,2,4,2,4,7,9,5,
- 1,3,1,0,1,1,1,2,4,4,
- 1,2,5,5,3,3,1,4,3,1,
- 0,1,3,1,1,-106,0,0,0,-2,
- 0,0,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,1,2,4,
+ 4,1,2,5,5,3,3,1,4,3,
+ 1,0,1,3,1,1,-106,0,0,0,
+ -337,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,-10,0,
- 0,0,0,0,0,0,0,0,0,-48,
- 0,0,0,0,-56,0,0,-67,0,0,
- 0,-4,0,0,0,0,0,0,0,-334,
- -5,-88,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-2,0,
+ 0,0,0,-61,-418,0,0,-323,0,0,
+ 0,-52,0,0,0,0,0,-136,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,-4,0,
+ 0,0,0,0,0,0,-121,0,0,0,
+ 0,0,0,0,0,-452,0,0,0,0,
+ -175,0,0,0,-174,0,0,0,-232,0,
+ 0,0,0,0,0,0,-310,0,-67,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-236,0,-306,0,0,0,
+ 0,0,0,-113,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-124,0,0,0,0,0,
- 0,0,-6,0,0,0,-190,0,0,0,
- -18,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-133,0,-68,0,
+ -51,0,0,0,0,-5,0,-275,0,0,
+ -49,0,0,0,0,-68,0,0,0,0,
+ 0,0,0,0,0,0,0,-183,0,0,
+ 0,0,-128,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -172,0,0,0,-61,0,-7,0,0,0,
- 0,0,0,-113,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,
+ -126,0,0,-15,0,0,0,0,0,0,
+ 0,0,-228,0,0,-56,-514,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-221,0,0,-8,0,0,
- 0,0,-116,0,0,0,-511,0,0,0,
- 0,0,0,0,0,0,0,0,-51,0,
- 0,0,0,-128,0,0,0,0,0,0,
+ 0,0,0,-111,-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,-9,0,0,
- 0,-49,0,0,0,0,-118,-55,0,0,
- 0,0,0,-181,0,0,0,-11,-135,0,
+ 0,-127,0,0,0,0,-330,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-202,-219,0,
+ 0,-132,0,0,0,0,-6,0,0,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,0,-168,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,-7,0,0,-82,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-179,-163,0,0,
- 0,-138,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-509,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,-335,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-229,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,-255,-519,0,0,0,0,0,
+ 0,0,0,0,0,0,-133,0,0,0,
+ 0,-205,0,-131,0,0,-8,0,0,0,
+ -135,0,0,0,-9,0,0,0,0,0,
+ 0,0,-114,-58,-233,0,0,0,0,0,
+ 0,-11,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,-12,0,0,-211,0,0,-177,0,
- 0,0,-260,0,0,0,-132,0,0,0,
- -410,0,0,0,0,0,-15,0,0,0,
- -14,-235,0,0,0,0,0,0,0,-3,
- 0,0,0,-27,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-291,0,0,
+ -48,0,0,0,0,0,-138,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,-276,0,0,0,-273,0,0,
- 0,-323,0,0,0,0,0,0,0,0,
- 0,-257,0,-126,0,0,-280,0,0,0,
+ 0,0,0,0,0,0,0,-299,0,0,
+ 0,0,0,0,-12,0,0,0,0,0,
+ 0,-317,0,0,0,-14,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-234,
- 0,0,0,0,-28,0,0,0,0,0,
- 0,0,0,0,-121,0,0,0,-29,0,
- -314,0,0,0,-52,0,0,0,0,0,
+ 0,0,0,-27,0,0,0,0,0,0,
+ 0,0,0,-179,0,-198,0,0,0,0,
+ 0,0,0,-318,0,0,0,-259,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-28,0,0,0,0,
+ -60,0,0,0,0,-305,0,-103,0,0,
+ 0,-363,0,0,0,0,0,-473,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,-30,0,0,0,0,0,
- 0,0,-315,0,0,0,-429,0,0,0,
+ 0,0,0,0,-340,0,0,0,0,0,
+ 0,-30,0,0,-16,0,0,0,0,-38,
+ 0,0,0,-31,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-340,0,0,0,0,
+ 0,0,0,0,0,0,-32,0,0,0,
+ 0,0,0,-354,0,0,-33,0,0,0,
+ -40,0,0,0,-402,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -399,0,0,0,-31,-467,-470,0,0,0,
- -327,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-111,
+ 0,0,-163,0,0,0,0,-237,0,0,
+ 0,0,0,0,0,0,0,0,-262,0,
+ 0,0,0,-90,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -196,0,0,0,0,0,0,0,-38,0,
- 0,0,-32,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-343,0,0,0,0,
+ 0,0,0,0,0,-371,0,-34,0,0,
+ 0,-380,0,0,-91,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-308,0,0,0,0,-33,0,0,0,
- 0,0,0,0,0,0,-350,0,0,0,
- -40,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-214,0,0,0,
+ 0,-447,0,0,0,0,0,0,-55,0,
+ 0,-129,0,0,0,-92,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-414,0,
- 0,0,0,-90,0,0,0,-58,0,0,
+ 0,0,-341,0,0,0,0,0,0,0,
+ 0,0,-140,0,0,0,-93,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-127,0,0,
- 0,0,0,0,0,-91,0,0,0,-34,
+ 0,0,0,-208,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-94,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-35,0,
- 0,0,0,-60,0,0,0,0,0,0,
- 0,0,0,0,-36,0,0,-92,0,0,
- 0,-103,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-129,0,0,0,0,-104,0,0,-93,
- 0,0,0,-112,0,0,0,0,0,0,
+ 0,0,0,0,-279,-164,0,0,-95,0,
+ 0,0,-297,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-166,0,0,0,0,0,0,0,
- 0,0,0,-140,0,0,0,0,-134,0,
- 0,-94,0,0,0,-139,0,0,0,0,
+ 0,0,0,0,0,-314,0,0,0,0,
+ -315,0,-181,0,0,-345,0,0,0,-96,
+ 0,0,0,-35,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-294,0,0,0,0,0,
- 0,0,0,0,0,-205,0,0,0,0,
- -37,0,0,-95,0,0,0,-39,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-317,0,0,0,
- 0,0,0,0,0,0,0,-180,0,0,
- 0,0,-197,0,0,-96,0,0,0,0,
+ 0,-430,0,-182,0,0,0,0,0,0,
+ -97,0,0,0,-320,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-53,0,
- 0,0,0,0,0,0,0,0,0,-182,
- 0,0,0,0,-207,0,0,-97,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-184,0,0,-36,0,0,
+ 0,-98,0,0,0,-37,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,-184,0,0,0,0,-233,0,0,-98,
- 0,0,0,-277,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-302,0,0,0,0,0,0,0,
- 0,0,0,-187,0,0,0,0,-240,0,
- 0,-99,0,0,0,-54,0,0,0,0,
+ 0,0,0,-458,0,-186,0,0,0,0,
+ 0,0,-99,0,0,0,-39,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-337,0,0,0,0,0,
- 0,0,0,0,0,-195,0,0,0,0,
- -247,0,0,-100,0,0,0,-57,0,0,
+ 0,0,0,0,-278,0,0,0,0,0,
+ 0,0,0,0,-503,0,-189,0,0,-53,
+ 0,0,0,-100,0,0,0,-54,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,-57,0,0,0,0,
+ -62,0,0,0,0,-63,0,0,0,0,
+ -413,0,0,0,-161,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-307,0,0,0,-161,0,0,0,-360,
+ 0,0,0,0,0,0,-65,0,0,0,
+ 0,-223,0,0,0,0,-66,0,-70,0,
+ 0,-107,0,-206,0,0,0,-108,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,-329,0,0,-347,0,0,-131,
- 0,0,0,0,-203,0,0,0,-63,0,
0,0,0,0,0,0,0,0,0,0,
+ -504,0,0,0,0,0,0,-109,0,0,
+ 0,0,0,0,-160,-201,0,0,0,0,
+ 0,-110,-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,-209,0,
- 0,0,0,0,0,0,-199,0,0,0,
- -232,0,0,0,-503,0,0,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,-309,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-248,0,0,0,0,
- 0,0,-65,0,0,0,-306,0,0,0,
+ 0,0,0,0,0,-141,0,0,0,0,
+ -104,0,0,0,0,-112,0,-142,0,0,
+ -313,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-66,0,0,-107,0,0,
- -311,0,0,0,-310,0,0,0,-342,0,
+ 0,0,-143,0,-144,0,0,-326,0,0,
+ 0,-134,-145,0,0,0,0,-234,0,0,
+ 0,-335,0,0,0,0,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,-303,0,0,-109,0,0,-110,0,
- 0,0,-345,0,0,0,-117,-141,0,0,
- 0,0,-173,0,0,-332,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-139,0,
+ 0,0,0,-199,0,-146,0,0,-358,0,
0,0,0,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,-143,
- 0,0,0,-355,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-395,0,0,0,
- 0,-144,0,0,-145,0,0,-146,0,0,
- 0,-349,0,0,0,-147,0,0,0,0,
- 0,-230,0,0,-356,0,0,0,0,0,
+ -147,0,-148,0,0,-348,0,0,0,-210,
+ -149,0,0,0,0,-240,0,0,0,-359,
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,-148,0,0,-377,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,-268,0,0,0,0,
- -149,0,0,-150,0,0,0,0,0,0,
- -239,0,0,0,-151,-136,0,0,0,-226,
- 0,0,-164,-102,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-235,0,0,0,
+ 0,-242,0,-150,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,-283,0,0,-152,0,0,0,0,0,
- -153,-89,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-398,0,
+ -197,0,0,-151,0,-342,0,0,0,-152,
+ -119,0,0,0,-153,0,-154,-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,-87,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-372,
+ 0,0,0,0,-87,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-155,0,0,0,
+ 0,-432,0,0,0,-88,0,0,0,-156,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-225,0,0,-415,0,-84,0,
- 0,0,-154,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-157,0,0,
+ 0,0,0,0,0,-84,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-284,0,0,0,0,-249,0,-85,0,
- 0,0,-155,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-332,0,0,
+ 0,0,-257,0,-85,0,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,0,0,-350,0,0,0,
+ 0,-86,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-312,
- 0,0,0,0,-50,0,0,0,0,0,
- -246,0,0,0,-156,-157,0,0,-231,0,
- 0,-158,-105,-159,0,0,0,-339,0,0,
- 0,-78,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-50,0,
+ 0,0,-249,0,0,0,-78,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-114,0,0,0,0,0,
- -79,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-158,0,
+ 0,0,0,-159,0,-79,0,0,0,-165,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-223,-500,0,
- -449,0,0,0,0,-125,0,0,0,-17,
- 0,0,0,0,-352,0,0,-165,0,0,
- -385,0,0,0,-168,0,0,0,0,0,
- 0,0,0,0,0,0,0,-478,0,0,
- 0,0,-266,0,0,0,-224,0,0,-444,
- 0,0,0,0,-367,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,-227,0,0,0,-81,
+ 0,-73,0,0,0,-353,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-166,0,0,0,0,-167,-125,
+ 0,0,0,-352,0,0,0,-494,0,0,
+ 0,0,0,-204,0,0,0,-241,0,0,
+ 0,-227,-270,0,0,0,0,0,-417,0,
+ -355,0,0,0,0,0,-248,0,0,0,
+ 0,0,-170,-192,0,0,0,0,-171,0,
+ 0,0,0,0,0,-80,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-250,0,0,0,-82,0,0,0,
- -169,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-170,
- 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,-384,0,0,-378,0,
- -228,-458,0,0,0,0,0,0,0,0,
- 0,-171,-130,0,0,0,0,0,0,-491,
- -174,0,-175,0,0,-369,0,0,-13,0,
- -176,-455,0,0,0,0,0,-160,-185,0,
- 0,0,0,0,0,0,0,0,0,-400,
- 0,0,-186,0,-299,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,-267,0,0,-191,0,-192,-198,
- -245,0,0,-238,0,0,0,0,0,0,
- 0,0,-452,0,0,0,0,0,0,0,
- 0,0,-47,-305,0,-253,0,0,-206,0,
+ 0,0,0,-387,0,0,0,0,-302,0,
+ 0,0,0,0,0,0,0,0,-172,0,
+ -130,-173,-470,-105,0,0,0,0,0,-250,
+ 0,0,0,-211,-267,-176,0,0,0,0,
+ 0,0,0,0,-177,-351,0,0,0,0,
+ 0,0,0,0,0,0,-256,0,-403,-251,
+ 0,0,0,0,0,0,0,0,-178,0,
+ 0,0,0,0,0,0,0,0,0,-252,
+ 0,-292,-229,-101,0,0,0,0,-187,0,
+ -308,0,0,0,0,0,0,-368,0,0,
+ -455,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,0,-287,
- 0,0,0,0,0,-69,0,0,0,0,
- 0,0,0,0,0,0,-271,0,0,0,
- -119,0,0,0,-216,0,-217,-468,0,-218,
- 0,0,-289,0,-348,-291,-475,0,0,0,
+ 0,0,0,0,0,-193,0,0,-311,0,
+ 0,0,-47,0,0,0,0,0,0,0,
+ 0,0,-471,0,0,0,0,-162,-397,0,
+ 0,0,-247,0,0,0,-212,0,-265,0,
+ 0,-472,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,-17,0,0,
+ 0,-225,0,-194,0,0,0,0,-478,0,
+ -322,0,0,0,0,0,0,-286,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-360,0,0,0,0,0,0,
+ 0,0,0,0,-226,-200,0,0,0,0,
+ -230,0,0,0,0,0,0,0,0,0,
+ -479,-203,0,0,0,0,-207,0,0,0,
+ -255,0,-209,0,0,0,-268,0,0,0,
+ -231,0,0,0,-219,-220,0,0,0,0,
+ 0,0,0,0,0,-46,0,0,0,-238,
+ 0,0,-274,0,0,0,0,0,0,0,
+ 0,0,0,0,-222,-239,0,0,0,0,
+ -282,-388,0,0,0,0,0,0,-243,0,
+ -246,-245,0,-260,0,-287,0,0,0,0,
+ 0,0,0,0,0,0,0,-244,0,0,
+ 0,0,0,0,0,0,0,-261,-271,0,
+ 0,0,0,0,0,0,-83,0,0,0,
+ -272,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-266,0,
+ 0,-180,0,0,0,-273,0,0,0,0,
+ 0,0,0,0,0,-276,-300,-411,0,0,
+ 0,0,-280,0,-123,0,0,0,-319,0,
+ -69,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-324,0,0,0,0,
+ 0,0,0,0,0,0,-281,0,0,0,
+ 0,0,0,-284,0,0,0,0,0,-370,
+ -294,0,-285,-424,0,0,0,0,0,0,
+ 0,0,0,0,-298,0,0,0,0,0,
+ 0,0,0,0,0,0,-303,-304,-407,-347,
+ -399,-264,0,0,0,0,0,0,0,0,
+ -436,0,0,0,0,-325,-42,-334,-336,-295,
+ 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,-327,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-41,0,-321,0,0,
+ -367,-486,-329,-215,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-373,0,-296,-375,
+ 0,0,0,0,0,0,-378,-344,0,0,
+ 0,-364,0,-384,0,0,0,0,0,0,
+ 0,0,-385,0,0,0,0,-393,0,0,
+ 0,0,0,0,0,0,-488,0,0,0,
+ 0,-396,-404,0,-116,-293,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-169,
+ 0,0,0,0,-115,-1,-391,0,0,0,
+ 0,-346,-406,0,0,0,0,0,-365,0,
+ 0,0,0,0,0,0,0,0,0,-415,
+ 0,-493,0,0,-476,0,0,0,0,-118,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-185,0,0,0,0,0,
+ -408,-43,-379,0,0,0,0,0,0,0,
+ -409,0,0,0,0,0,0,-410,0,0,
+ 0,0,0,0,-412,0,-515,-416,0,-423,
+ 0,0,0,0,-120,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-190,
+ 0,0,0,0,0,-269,0,-383,-386,0,
+ -419,0,0,0,0,0,0,0,0,0,
+ 0,0,-425,0,0,0,0,0,-442,-338,
+ 0,-520,-122,0,0,0,-376,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,-420,0,-307,0,0,0,0,0,
+ -377,0,0,0,0,-454,0,-427,0,0,
+ 0,0,0,0,0,0,0,-443,0,0,
+ 0,0,0,0,0,0,-523,-428,0,-439,
+ 0,0,-429,0,0,0,0,0,-431,0,
+ 0,0,0,0,0,0,0,-316,0,-433,
+ -434,0,-435,0,0,0,0,-440,-421,0,
+ 0,0,0,0,0,0,0,-444,-453,0,
+ 0,0,0,0,0,0,0,0,-460,-468,
+ 0,-289,0,0,0,0,-487,0,0,0,
+ 0,-502,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,-422,0,-495,-253,0,0,
+ 0,0,-507,0,-451,-426,0,0,0,0,
+ -445,-466,0,0,0,0,0,0,-44,-13,
+ 0,-449,0,0,0,0,0,0,-301,0,
+ 0,0,0,0,0,0,0,0,0,-456,
+ 0,0,0,0,0,0,0,0,-382,0,
+ -462,-498,0,0,-395,0,0,0,0,0,
+ 0,0,0,0,0,0,-191,0,0,0,
+ 0,-464,-290,0,-457,-216,0,0,0,0,
+ 0,0,0,0,0,0,-475,-469,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,-381,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-394,-467,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-369,0,0,0,-18,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-448,-485,
+ 0,-489,0,0,-389,0,0,0,-254,-349,
+ -497,0,0,0,0,0,0,0,0,-501,
+ 0,-483,0,-484,0,0,0,0,0,0,
+ 0,0,0,0,-496,0,0,0,0,0,
+ -499,0,0,0,0,0,0,0,0,0,
+ -450,-333,0,0,0,0,0,0,0,0,
+ -519,0,0,0,-511,0,0,-45,0,0,
+ 0,0,0,-509,0,0,0,0,0,0,
+ 0,0,0,0,0,-202,0,0,0,0,
+ -482,0,0,0,0,0,0,0,0,0,
+ 0,0,-477,0,0,0,0,0,0,0,
+ -516,0,0,0,0,0,-312,0,0,0,
+ 0,-510,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-328,0,0,
+ 0,0,0,0,-196,0,0,0,0,0,
+ 0,0,0,0,-505,0,0,0,0,0,
+ 0,0,0,0,-217,-513,0,0,0,0,
+ -518,0,-521,-481,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-292,-220,0,0,0,
- -236,-404,0,0,0,0,0,0,0,0,
- 0,0,0,0,-501,0,0,0,0,0,
+ 0,0,0,0,-500,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-318,0,-137,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,-19,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-237,0,0,-167,0,0,0,0,0,
- -1,0,0,-241,0,0,0,0,-473,0,
- 0,0,0,0,-394,0,0,0,-46,0,
- 0,0,0,0,-341,0,-411,0,0,0,
- 0,-290,0,0,0,-272,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -243,-258,0,0,0,0,-254,-361,0,-259,
- 0,0,0,-120,0,0,0,0,-73,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,-76,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-74,0,0,0,-269,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,-242,0,
0,0,0,0,0,0,0,0,-20,0,
- 0,0,-270,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- -274,0,0,0,-408,-278,0,0,0,0,
- -388,-42,-279,-41,0,0,0,0,-251,-469,
- 0,0,0,0,0,0,0,0,-412,-281,
- 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,-330,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,-421,0,0,0,0,0,0,0,0,
- 0,-75,0,0,0,-416,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-413,0,0,-162,-433,-297,
- -439,0,0,0,-392,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- -351,0,-417,0,0,0,0,-440,-115,-263,
- -316,0,0,0,0,-122,0,0,0,0,
- 0,0,0,0,0,-282,0,0,0,0,
- 0,-16,0,0,-396,0,0,0,0,-483,
- 0,0,0,0,0,-295,0,0,0,0,
- 0,0,0,0,0,0,-222,0,0,0,
- 0,0,0,0,0,-300,-321,0,0,0,
- 0,0,0,0,0,0,-301,0,0,0,
- 0,-322,0,0,0,0,-331,0,0,0,
- 0,0,-333,0,0,-485,0,0,0,0,
- 0,0,0,0,0,0,-363,-364,0,0,
- 0,0,0,0,0,0,-370,-448,0,-372,
- 0,0,0,0,0,-208,0,-375,-324,0,
- 0,-252,0,0,0,0,-381,0,-288,0,
- 0,0,0,0,0,0,0,0,0,-490,
- 0,-451,-265,0,-326,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-204,-365,0,0,0,0,0,
- -357,0,0,0,-382,0,-492,0,0,-366,
- 0,0,-343,0,0,0,0,0,0,0,
- 0,0,0,-512,0,-362,-376,0,-462,0,
- 0,0,0,0,0,-390,0,0,0,0,
- 0,0,0,0,0,0,0,0,-393,0,
- 0,0,0,0,0,0,0,0,-401,-43,
- 0,0,0,0,-293,-403,0,0,0,0,
- 0,0,0,0,0,0,0,-517,0,-405,
- -406,0,0,-373,0,0,0,0,0,0,
- 0,-407,0,0,0,0,0,0,0,0,
- 0,-409,-495,-380,0,0,0,0,-420,-374,
- 0,0,0,-383,0,0,0,0,0,0,
- -422,0,0,0,0,0,0,0,0,0,
- 0,-520,0,0,-459,0,-328,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-497,0,0,0,
- -386,0,0,0,0,0,0,-309,0,0,
- 0,0,-264,-424,-418,0,0,0,0,0,
- 0,0,0,0,-387,-425,0,-426,0,0,
- 0,0,0,0,0,0,-463,-428,0,0,
- 0,0,0,0,0,0,0,0,-76,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,-77,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,0,-368,
- 0,0,0,0,-430,0,-178,0,0,0,
- -298,0,0,0,0,0,0,0,0,0,
- -472,-419,0,0,0,0,-431,-487,-496,-423,
- -379,0,-70,0,0,-461,0,0,-442,-479,
- 0,0,0,-466,-486,-498,0,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,-480,-481,0,0,0,
- 0,0,0,-516,-432,-391,0,0,0,0,
- -436,0,-453,-454,0,-437,0,0,-313,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,-441,-450,0,-183,0,0,0,0,0,
- -319,-493,-464,-244,0,0,0,0,0,0,
- 0,0,-457,0,0,0,0,0,-445,0,
- -506,-465,0,0,0,0,0,0,-482,-484,
- -44,0,0,0,0,0,0,0,0,0,
- 0,0,-508,-507,0,0,0,0,0,0,
- 0,0,0,0,0,0,-513,-344,-499,0,
- 0,0,0,0,0,-504,0,0,0,0,
- 0,-447,0,0,-510,0,0,0,0,0,
- 0,-494,0,0,0,0,0,-515,0,0,
- 0,0,0,-518,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-474,0,0,0,0,-123,
- 0,0,0,0,0,0,0,0,0,0,
- -45,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-346,0,0,
- 0,0,0,0,0,0,0,-502,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,-21,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -189,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
+ -22,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,-23,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,-24,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,-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,-22,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,-59,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,-71,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,-72,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,-195,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,-491,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-59,0,
+ -356,0,0,0,0,0,0,0,0,0,
+ 0,-474,0,0,0,0,0,0,0,0,
+ 0,0,-331,0,0,0,0,0,0,0,
+ 0,0,-414,-390,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,
- -71,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,0,0,0,0,0,0,0,-357,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-193,0,0,0,0,0,
+ -463,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,-64,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-320,0,0,0,
- 0,0,0,0,0,0,0,0,-488,0,
- 0,0,0,0,0,0,0,0,0,-353,
+ 0,0,0,-224,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -261,0,0,0,0,0,0,0,0,0,
- -505,0,0,0,0,0,0,0,0,0,
- 0,-514,0,0,0,0,-101,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-339,0,0,
+ 0,-361,0,0,0,0,0,0,0,0,
+ -362,0,0,0,-374,0,0,0,0,0,
+ 0,0,-218,-437,0,-400,0,0,0,0,
+ 0,0,0,0,0,0,-401,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-471,
+ 0,0,-459,0,0,0,0,0,-277,0,
+ 0,0,0,0,0,-480,0,0,0,0,
+ 0,-465,0,0,0,0,0,0,0,-213,
+ 0,0,0,0,0,0,0,0,-258,0,
+ 0,0,-446,0,0,0,0,0,0,0,
+ -288,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,
- -212,0,-194,0,0,0,0,0,0,0,
- 0,0,-460,0,0,0,0,0,0,0,
+ 0,0,0,0,-438,0,0,0,0,0,
+ 0,0,-441,0,0,-461,0,0,0,0,
+ -490,0,0,0,0,0,0,0,-508,-517,
+ 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,
- -262,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-304,0,0,
- 0,-325,0,0,0,0,0,0,-389,0,
- -336,0,0,0,0,0,0,-358,0,0,
- 0,0,0,-359,0,0,0,0,0,-213,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-214,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-64,0,0,0,0,0,-371,
- 0,0,0,0,0,0,0,-456,0,0,
- 0,0,-477,0,0,0,0,0,0,0,
- 0,0,-200,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,0,0,0,0,0,-256,0,0,0,
- 0,0,-397,0,0,0,0,0,0,-285,
- 0,0,0,0,0,0,0,-215,-434,-435,
- -438,0,0,0,0,0,0,0,0,0,
- -398,-443,-275,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-489,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
@@ -509,7 +508,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,0,0
+ 0,0,0
};
};
public final static short baseCheck[] = BaseCheck.baseCheck;
@@ -519,517 +518,516 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface BaseAction {
public final static char baseAction[] = {
- 170,4,53,78,78,34,34,64,64,39,
- 39,190,190,191,191,192,192,1,1,15,
- 15,15,15,15,15,15,15,16,16,16,
- 14,10,10,8,8,8,8,8,2,65,
- 65,5,5,11,11,11,11,43,43,132,
- 132,133,61,61,42,17,17,17,17,17,
- 17,17,17,17,17,17,17,17,17,17,
- 17,17,17,17,17,134,134,134,114,18,
- 18,18,18,18,18,18,18,18,18,18,
- 18,18,19,19,171,171,172,172,173,137,
- 137,138,138,135,135,139,136,136,20,20,
- 21,22,22,22,24,24,24,24,25,25,
- 25,26,26,26,27,27,27,27,27,29,
- 29,29,30,30,32,32,33,33,35,35,
- 36,36,37,37,41,41,40,40,40,40,
- 40,40,40,40,40,40,40,40,40,38,
- 28,140,140,98,98,102,102,93,193,193,
- 69,69,69,69,69,69,69,69,69,70,
- 70,70,71,71,55,55,174,174,72,72,
- 72,115,115,73,73,73,73,74,74,74,
- 74,74,75,75,79,79,79,79,79,79,
- 79,48,48,48,48,48,105,105,106,106,
- 49,175,23,23,23,23,23,46,46,88,
- 88,88,88,88,147,147,142,142,142,142,
- 142,143,143,143,144,144,144,145,145,145,
- 146,146,146,89,89,89,89,89,90,90,
- 90,12,13,13,13,13,13,13,13,13,
- 13,13,13,99,119,119,119,119,119,117,
- 117,117,118,118,149,149,148,148,121,121,
- 150,83,83,84,84,86,87,85,51,45,
- 151,151,52,50,82,82,152,152,141,141,
- 122,123,123,77,77,153,153,62,62,62,
- 57,57,56,63,63,67,67,54,54,54,
- 91,91,101,100,100,60,60,58,58,59,
- 59,47,103,103,103,94,94,94,95,96,
- 96,96,97,97,107,107,107,109,109,108,
- 108,194,194,92,92,177,177,177,177,177,
- 125,44,44,155,176,176,126,126,126,126,
- 178,178,31,31,116,127,127,127,127,110,
- 110,120,120,120,157,158,158,158,158,158,
- 158,158,158,158,181,181,179,179,180,180,
- 159,159,159,159,160,182,112,111,111,183,
- 183,161,161,161,161,104,104,104,184,184,
- 9,185,185,186,162,154,154,163,163,164,
- 165,165,6,6,7,167,167,167,167,167,
- 167,167,167,167,167,167,167,167,167,167,
- 167,167,167,167,167,167,167,167,167,167,
- 167,167,167,167,167,167,167,167,167,167,
- 167,167,167,167,167,167,167,66,68,68,
- 168,168,128,128,129,129,129,129,129,129,
- 3,169,169,166,166,130,130,130,80,81,
- 76,156,156,113,113,187,187,187,131,131,
- 124,124,188,188,170,170,958,38,1935,1903,
- 915,2885,34,991,31,35,30,32,2468,261,
- 29,27,55,1004,110,80,81,111,1085,590,
- 1135,1099,1233,1185,2909,1360,1257,273,1395,1379,
- 169,1521,1528,146,674,2138,161,147,1531,38,
- 963,36,82,2847,34,991,31,35,62,32,
- 2572,1031,2395,38,963,36,231,2460,34,991,
- 31,35,30,32,788,261,29,27,55,1004,
- 110,80,81,111,1085,590,1135,1099,1233,1185,
- 3971,1360,2375,1008,234,229,230,327,38,1819,
- 383,2351,38,963,36,274,2460,34,991,31,
- 35,30,32,788,261,29,27,55,1004,90,
- 80,81,241,244,247,250,2771,1387,273,1668,
- 38,963,36,1987,2847,34,991,31,35,61,
- 32,327,38,2777,2775,820,572,1071,3189,713,
- 777,2954,3196,3880,1540,38,963,36,2365,2460,
- 34,991,31,35,2643,32,788,261,29,27,
- 55,1004,110,80,81,111,1085,341,1135,1099,
- 1233,1185,66,1360,1257,1347,1395,1379,1493,1521,
- 1528,146,1857,1023,505,147,275,1958,38,963,
- 36,2383,4553,34,991,31,35,30,32,1292,
- 977,499,444,506,1540,38,963,36,2365,2460,
- 34,991,31,35,2643,32,788,261,29,27,
- 55,1004,110,80,81,111,1085,341,1135,1099,
- 1233,1185,411,1360,1257,2947,1395,1379,1923,1521,
- 1528,146,1182,231,505,147,2415,1386,169,47,
- 2700,2383,734,65,327,38,2497,2448,1206,1650,
- 38,963,36,506,4553,34,991,31,35,64,
- 32,243,229,230,501,327,333,486,1259,1805,
- 38,963,36,2365,2460,34,991,31,35,2643,
- 32,788,261,29,27,55,1004,110,80,81,
- 111,1085,341,1135,1099,1233,1185,231,1360,1257,
- 2641,1395,1379,2651,1521,1528,146,169,507,505,
- 147,705,1650,38,963,36,2383,4553,34,991,
- 31,35,63,32,501,246,229,230,506,1606,
- 38,963,36,977,2460,34,991,31,35,30,
- 32,788,261,29,27,55,1004,110,80,81,
- 111,1085,2050,1135,1099,1233,1185,4448,1360,1257,
- 2699,1395,1379,2651,1521,1528,146,1447,2988,376,
- 147,2395,38,963,36,350,2460,34,991,31,
- 35,30,32,788,261,29,27,55,1004,110,
- 80,81,89,379,1525,1678,38,963,36,502,
- 2460,34,991,31,35,30,32,788,261,29,
- 27,55,1004,110,80,81,111,1085,431,1135,
- 1099,1233,1185,2076,1360,1257,1390,1395,1379,1849,
- 1521,1528,146,855,3627,376,147,1097,38,963,
- 36,327,3161,34,991,43,35,66,38,1738,
- 46,2180,1056,45,991,380,1673,3627,384,377,
- 1979,38,963,36,2690,2460,34,991,31,35,
- 30,32,788,261,29,27,55,1004,110,80,
- 81,111,1085,331,1135,1099,1233,1185,284,1360,
- 1257,977,1395,1379,2069,1521,1528,146,2576,3627,
- 161,147,1097,38,963,36,1034,3714,34,991,
- 1807,35,1633,420,1292,2146,3023,1979,38,963,
- 36,381,2460,34,991,31,35,30,32,788,
- 261,29,27,55,1004,110,80,81,111,1085,
- 2025,1135,1099,1233,1185,943,1360,1257,1034,1395,
- 1379,397,1521,1528,146,2297,2673,370,147,235,
- 3945,1979,38,963,36,508,2460,34,991,31,
- 35,30,32,788,261,29,27,55,1004,110,
- 80,81,111,1085,1631,1135,1099,1233,1185,98,
- 1360,1257,448,1395,1379,1436,1521,1528,146,485,
- 572,370,147,1979,38,963,36,2593,2460,34,
- 991,31,35,30,32,788,261,29,27,55,
- 1004,110,80,81,111,1085,2576,1135,1099,1233,
- 1185,100,1360,1257,92,1395,1379,106,1521,1528,
- 146,2466,369,370,147,1334,2466,1914,38,963,
- 36,2602,2460,34,991,31,35,30,32,788,
- 261,29,27,55,1004,110,80,81,111,1085,
- 1344,1135,1099,1233,1185,1038,1360,1257,3041,1395,
- 1379,1858,1521,1528,146,992,368,376,147,1740,
- 38,963,36,153,2460,34,991,31,35,30,
- 32,788,261,29,27,55,1004,110,80,81,
- 111,1085,2025,1135,1099,1233,1185,37,1360,1257,
- 512,1395,1379,1993,1521,1528,146,2602,366,145,
- 147,1979,38,963,36,661,2460,34,991,31,
- 35,30,32,788,261,29,27,55,1004,110,
- 80,81,111,1085,511,1135,1099,1233,1185,511,
- 1360,1257,93,1395,1379,106,1521,1528,146,327,
- 3742,162,147,374,1979,38,963,36,508,2460,
- 34,991,31,35,30,32,788,261,29,27,
- 55,1004,110,80,81,111,1085,1147,1135,1099,
- 1233,1185,2640,1360,1257,3181,1395,1379,1292,1521,
- 1528,146,28,435,158,147,1979,38,963,36,
- 1317,2460,34,991,31,35,30,32,788,261,
- 29,27,55,1004,110,80,81,111,1085,967,
- 1135,1099,1233,1185,1409,1360,1257,1166,1395,1379,
- 3041,1521,1528,146,97,61,157,147,1979,38,
- 963,36,508,2460,34,991,31,35,30,32,
- 788,261,29,27,55,1004,110,80,81,111,
- 1085,3620,1135,1099,1233,1185,447,1360,1257,435,
- 1395,1379,1292,1521,1528,146,74,508,156,147,
- 1979,38,963,36,508,2460,34,991,31,35,
- 30,32,788,261,29,27,55,1004,110,80,
- 81,111,1085,590,1135,1099,1233,1185,4563,1360,
- 1257,73,1395,1379,1292,1521,1528,146,58,508,
- 155,147,1979,38,963,36,508,2460,34,991,
- 31,35,30,32,788,261,29,27,55,1004,
- 110,80,81,111,1085,820,1135,1099,1233,1185,
- 4225,1360,1257,91,1395,1379,1292,1521,1528,146,
- 57,155,154,147,1979,38,963,36,1091,2460,
- 34,991,31,35,30,32,788,261,29,27,
- 55,1004,110,80,81,111,1085,820,1135,1099,
- 1233,1185,56,1360,1257,2633,1395,1379,169,1521,
- 1528,146,3237,508,153,147,1979,38,963,36,
- 1042,2460,34,991,31,35,30,32,788,261,
- 29,27,55,1004,110,80,81,111,1085,333,
- 1135,1099,1233,1185,325,1360,1257,94,1395,1379,
- 169,1521,1528,146,2274,508,152,147,1979,38,
- 963,36,1983,2460,34,991,31,35,30,32,
- 788,261,29,27,55,1004,110,80,81,111,
- 1085,590,1135,1099,1233,1185,4452,1360,1257,348,
- 1395,1379,1733,1521,1528,146,2536,508,151,147,
- 1979,38,963,36,2511,2460,34,991,31,35,
- 30,32,788,261,29,27,55,1004,110,80,
- 81,111,1085,1861,1135,1099,1233,1185,4461,1360,
- 1257,2926,1395,1379,169,1521,1528,146,907,508,
- 150,147,1979,38,963,36,420,2460,34,991,
- 31,35,30,32,788,261,29,27,55,1004,
- 110,80,81,111,1085,590,1135,1099,1233,1185,
- 4468,1360,1257,3053,1395,1379,169,1521,1528,146,
- 1080,508,149,147,1979,38,963,36,2234,2460,
- 34,991,31,35,30,32,788,261,29,27,
- 55,1004,110,80,81,111,1085,590,1135,1099,
- 1233,1185,4474,1360,1257,72,1395,1379,75,1521,
- 1528,146,327,2988,148,147,1870,38,963,36,
- 1502,2460,34,991,31,35,30,32,788,261,
- 29,27,55,1004,110,80,81,111,1085,1002,
- 1135,1099,1233,1185,2422,1360,1257,2378,1395,1379,
- 169,1521,2729,167,1000,1979,38,963,36,2475,
- 2460,34,991,31,35,30,32,788,261,29,
- 27,55,1004,110,80,81,111,1085,1563,1135,
- 1099,1233,1185,395,1360,1257,399,1395,1379,169,
- 1521,1528,146,3754,326,143,147,327,38,1819,
- 383,327,38,2777,276,2303,38,963,36,1516,
- 2460,34,991,31,35,30,32,788,261,29,
- 27,55,1004,110,80,81,111,1085,54,1135,
- 1099,1233,1185,285,1360,1257,508,1395,1379,51,
- 1521,1528,146,1029,353,192,147,2395,38,963,
- 36,520,2460,34,991,31,35,30,32,788,
- 261,29,27,55,1004,110,80,81,111,1085,
- 71,1135,1099,1233,1185,1145,1360,1257,154,1395,
- 1379,1292,1521,2729,167,2395,38,963,36,1292,
- 2460,34,991,31,35,30,32,788,261,29,
- 27,55,1004,110,80,81,111,1085,589,1135,
- 1099,1233,1185,1114,1360,1257,1314,1395,1379,1735,
- 1521,2729,167,1097,38,963,36,691,2092,34,
- 991,338,35,327,38,2780,2395,38,963,36,
- 289,2460,34,991,31,35,30,32,788,261,
- 29,27,55,1004,110,80,81,111,1085,101,
- 1135,1099,1233,1185,2101,1360,1257,102,1395,1379,
- 952,1521,2729,167,2395,38,963,36,1949,2460,
- 34,991,31,35,30,32,788,261,29,27,
- 55,1004,110,80,81,111,1085,1014,1135,1099,
- 1233,1185,1705,1360,1257,1941,1395,1379,588,1521,
- 2729,167,1097,38,963,36,675,428,34,991,
- 2505,35,327,38,281,2395,38,963,36,413,
- 2460,34,991,31,35,30,32,788,261,29,
- 27,55,1004,110,80,81,111,1085,590,1135,
- 1099,1233,1185,4538,1360,1257,762,1395,1379,1502,
- 1521,2729,167,2439,38,963,36,412,2460,34,
- 991,31,35,30,32,788,261,29,27,55,
- 1004,110,80,81,111,1085,1525,1135,1099,1233,
- 1185,849,1360,1257,670,1395,1379,1757,1521,2729,
- 167,1664,38,2777,3046,757,327,38,1819,383,
- 2185,38,279,1374,2395,38,963,36,415,2460,
- 34,991,31,35,30,32,788,261,29,27,
- 55,1004,110,80,81,111,1085,37,1135,1099,
- 1233,1185,2288,1360,1257,1327,1395,1379,1631,2384,
- 282,2421,2395,38,963,36,3715,2460,34,991,
- 31,35,30,32,788,261,29,27,55,1004,
- 110,80,81,111,1085,2493,1135,1099,1233,1185,
- 351,1360,1257,352,1395,2376,2395,38,963,36,
- 520,2460,34,991,31,35,30,32,788,261,
- 29,27,55,1004,110,80,81,111,1085,323,
- 1135,1099,1233,1185,1602,1360,1257,2172,2313,2395,
- 38,963,36,2489,2460,34,991,31,35,30,
- 32,788,261,29,27,55,1004,110,80,81,
- 111,1085,2080,1135,1099,1233,1185,508,2205,2395,
- 38,963,36,994,2460,34,991,31,35,30,
- 32,788,261,29,27,55,1004,110,80,81,
- 111,1085,3659,1135,1099,1233,2211,2395,38,963,
- 36,70,2460,34,991,31,35,30,32,788,
- 261,29,27,55,1004,110,80,81,111,1085,
- 2511,1135,1099,1233,2283,2483,38,1819,383,324,
- 2456,1664,38,2777,276,124,1492,236,261,2185,
- 38,277,1586,1968,1328,385,417,2658,327,38,
- 1819,383,2395,38,963,36,273,2460,34,991,
- 31,35,30,32,788,261,29,27,55,1004,
- 110,80,81,111,1085,1056,1135,1099,2068,421,
- 3627,2395,38,963,36,231,2460,34,991,31,
- 35,30,32,788,261,29,27,55,1004,110,
- 80,81,111,1085,2767,1135,1099,2076,169,2172,
- 349,2139,3190,234,229,230,414,38,1819,383,
- 1460,38,1819,383,274,1722,38,441,1799,330,
- 4530,1972,38,441,76,1966,4530,342,2173,848,
- 347,241,244,247,250,2771,340,54,327,38,
- 290,54,1987,327,38,2777,280,2543,1799,2697,
- 1502,3533,1799,665,514,2378,969,3189,713,777,
- 2954,3196,3880,2395,38,963,36,617,2460,34,
- 991,31,35,30,32,788,261,29,27,55,
- 1004,110,80,81,111,1085,1602,1135,1099,2116,
- 2395,38,963,36,299,2460,34,991,31,35,
- 30,32,788,261,29,27,55,1004,110,80,
- 81,111,1085,508,1135,1099,2151,2395,38,963,
- 36,1975,2460,34,991,31,35,30,32,788,
- 261,29,27,55,1004,110,80,81,111,1085,
- 2145,1135,2154,2395,38,963,36,69,2460,34,
- 991,31,35,30,32,788,261,29,27,55,
- 1004,110,80,81,111,1085,175,1135,2165,2513,
- 526,169,2710,2365,322,2694,2365,312,434,3297,
- 3300,520,2517,1594,438,3297,3300,2365,3666,228,
- 2613,1940,3009,1446,159,341,1667,386,417,2024,
- 2616,240,590,2365,2812,183,341,4543,1056,1163,
- 203,214,3165,3627,202,211,212,213,215,3779,
- 1,172,341,778,526,2056,38,963,36,3102,
- 1221,34,991,337,35,186,170,171,173,174,
- 175,176,177,228,1447,2988,772,1305,159,2147,
- 1863,2490,38,277,327,38,1819,383,2812,183,
- 185,493,330,2152,203,214,3165,2365,202,211,
- 212,213,215,334,1525,172,169,1000,4600,1950,
- 3425,318,2302,320,184,273,228,313,2202,187,
- 170,171,173,174,175,176,177,491,492,3354,
- 1056,163,2845,512,1993,3627,334,205,214,3165,
- 1000,204,211,212,213,215,2922,327,38,2777,
- 278,1307,38,2659,1642,2521,3745,2495,2640,206,
- 2555,2950,2365,508,163,2513,508,2759,283,2365,
- 2670,2365,216,207,208,209,210,291,292,293,
- 294,228,54,78,330,1726,508,936,3009,3707,
- 228,2189,2378,1799,784,284,444,3247,3875,2899,
- 60,1444,205,214,3165,2172,204,211,212,213,
- 215,205,214,3165,430,204,211,212,213,215,
- 59,4247,2724,3023,206,508,2950,501,38,1819,
- 383,182,2770,206,1486,2950,2365,216,207,208,
- 209,210,291,292,293,294,216,207,208,209,
- 210,291,292,293,294,228,1857,493,54,321,
- 513,1600,2062,3875,3367,1598,38,1819,383,1799,
- 808,1466,3875,3463,1278,1000,205,214,3165,1525,
- 204,211,212,213,215,2507,3548,3546,3078,327,
- 38,1819,383,490,492,508,54,2518,206,159,
- 2950,1000,327,38,2777,3262,169,1799,966,524,
- 1252,216,207,208,209,210,291,292,293,294,
- 54,430,1714,49,2700,159,617,1347,508,105,
- 2494,1799,1210,3287,1739,3188,200,3875,3649,2395,
- 38,963,36,297,2460,34,991,31,35,30,
- 32,788,261,29,27,55,1004,110,80,81,
- 111,1085,3387,1988,2395,38,963,36,1459,2460,
- 34,991,31,35,30,32,788,261,29,27,
- 55,1004,110,80,81,111,1085,2947,2024,1105,
- 38,963,36,2750,231,34,991,337,35,2395,
- 38,1935,1903,1566,2460,34,991,31,35,30,
- 32,788,261,29,27,55,1004,110,80,81,
- 88,2279,249,229,230,262,2296,332,333,526,
- 37,1767,169,169,169,2365,2365,3729,526,334,
- 169,530,4600,1000,1000,318,2302,320,228,2378,
- 2570,313,2202,159,341,341,349,341,1213,38,
- 1819,383,159,2812,183,519,3206,163,3752,203,
- 214,3165,1437,202,211,212,213,215,2383,2383,
- 172,2383,1056,342,2173,848,347,3627,198,273,
- 522,1938,3070,1402,3726,170,171,173,174,175,
- 176,177,1514,38,963,36,3102,3627,34,991,
- 337,35,2395,38,963,36,508,2460,34,991,
- 31,35,30,32,788,261,29,27,55,1004,
- 110,80,81,111,2030,2378,330,2786,1019,349,
- 1310,2378,3306,526,1191,2168,38,963,36,3122,
- 439,34,991,337,35,4600,330,2882,318,2302,
- 320,2172,228,2006,313,2202,363,159,2378,2606,
- 1602,169,77,4361,197,3808,2051,2812,183,2451,
- 201,238,261,203,214,3165,2571,202,211,212,
- 213,215,169,3497,172,2574,1000,518,4600,2365,
- 436,315,3246,320,526,349,2588,199,179,170,
- 171,173,174,175,176,177,373,1267,3009,3183,
- 159,2365,4587,228,306,310,2577,169,159,231,
- 1318,3918,342,2173,848,347,231,2512,2812,183,
- 228,1605,2586,3298,203,214,3165,1361,202,211,
- 212,213,215,2617,3743,172,523,239,229,230,
- 526,1052,400,4281,252,229,230,1831,2612,190,
- 170,171,173,174,175,176,177,2596,2378,228,
- 2650,388,417,401,159,2950,1057,493,2669,169,
- 2365,3627,334,2785,2812,183,1000,2670,3160,2079,
- 203,214,3165,2365,202,211,212,213,215,3009,
- 610,172,508,2050,526,169,371,220,4448,1267,
- 163,2942,3009,490,492,3816,170,171,173,174,
- 175,176,177,228,1043,2209,38,389,159,3627,
- 330,327,38,1819,383,2673,3641,1525,2812,183,
- 2209,38,389,169,203,214,3165,1780,202,211,
- 212,213,215,3558,697,172,169,169,526,2581,
- 2119,4459,424,1000,402,404,2302,3354,357,193,
- 170,171,173,174,175,176,177,228,331,2691,
- 2806,358,159,1689,2894,2941,934,159,4421,2634,
- 169,349,2812,183,2365,1347,2654,165,203,214,
- 3165,304,202,211,212,213,215,1673,784,172,
- 2692,2697,526,341,327,38,1819,383,344,2173,
- 848,347,2699,189,170,171,173,174,175,176,
- 177,228,2705,1525,169,3317,159,2383,3215,2671,
- 327,38,1819,383,169,423,2812,183,1181,1968,
- 3365,2349,203,214,3165,2947,202,211,212,213,
- 215,3665,871,172,419,508,526,1173,38,963,
- 36,422,3627,34,991,337,35,196,170,171,
- 173,174,175,176,177,228,3257,327,38,290,
- 159,327,38,1819,383,329,333,296,334,3220,
- 2812,183,1000,1602,2719,169,203,214,3165,2500,
- 202,211,212,213,215,334,2730,172,2687,1000,
- 4600,331,440,318,2302,320,163,2378,2111,316,
- 2202,195,170,171,173,174,175,176,177,2395,
- 38,963,36,163,2460,34,991,31,35,30,
- 32,788,261,29,27,55,1004,110,80,81,
- 111,2062,2395,38,963,36,3648,2460,34,991,
- 31,35,30,32,788,261,29,27,55,1004,
- 110,80,81,111,2065,1083,38,963,36,3751,
- 2172,34,991,337,35,2717,2915,327,38,1819,
- 383,1219,38,3267,36,3102,3627,34,991,337,
- 35,2378,2707,3136,387,417,3769,88,2581,1525,
- 169,2852,1000,169,2713,2365,508,1000,54,169,
- 2209,38,389,1186,508,2378,2378,3825,4600,1799,
- 2807,318,2302,320,228,373,159,313,2202,169,
- 303,159,349,2778,4600,330,165,318,2302,320,
- 3276,1474,2845,313,2202,205,214,3165,3330,204,
- 211,212,213,215,4291,302,508,508,580,342,
- 2173,848,347,295,1021,2709,2038,206,1605,2950,
- 2365,2581,3497,169,169,526,2716,2787,2852,1347,
- 487,207,208,209,210,291,292,293,294,228,
- 2449,2825,2722,2718,3753,1330,38,1819,383,159,
- 3771,1057,508,169,1576,2365,3627,4259,2365,165,
- 205,214,3165,2199,204,211,212,213,215,2863,
- 3809,2378,2724,2365,3009,3474,54,3009,378,2522,
- 2723,169,206,3928,2950,2365,375,1799,52,2947,
- 408,3273,228,508,2378,508,207,208,209,210,
- 291,292,293,294,341,330,2170,508,1576,2731,
- 4302,1804,2365,205,214,3165,2207,204,211,212,
- 213,215,2934,3557,5104,2378,2365,3838,2383,3373,
- 333,3009,169,221,5104,206,869,2950,2378,5104,
- 1976,3438,4247,357,508,228,357,5104,305,207,
- 208,209,210,291,292,293,294,5104,1689,2894,
- 2941,2783,2894,2941,298,5104,205,214,3165,5104,
- 204,211,212,213,215,2677,5104,194,3492,2365,
- 2546,38,1819,383,5104,2456,5104,5104,206,5104,
- 2950,169,237,261,5104,2365,3389,5104,228,5104,
- 357,509,207,208,209,210,291,292,293,294,
- 5104,273,5104,5104,341,2948,2894,2941,1347,205,
- 214,3165,5104,204,211,212,213,215,1729,38,
- 963,36,2750,5104,34,991,337,35,2383,5104,
- 231,206,5104,2950,5104,414,38,1819,383,5104,
- 1979,5104,5104,5104,217,207,208,209,210,291,
- 292,293,294,5104,5104,5104,5104,5104,235,229,
- 230,327,38,1819,383,5104,54,5104,2947,274,
- 5104,4600,5104,5104,318,2302,320,1799,52,5104,
- 313,2202,5104,5104,5104,349,242,245,248,251,
- 2771,5104,54,5104,5104,515,2082,1987,5104,5104,
- 5104,5104,5104,1799,2379,5104,5104,5104,3386,333,
- 5104,5104,342,2173,848,347,5104,2395,38,963,
- 36,516,2460,34,991,31,35,30,32,788,
- 261,29,27,55,1004,110,80,81,87,2395,
- 38,963,36,5104,2460,34,991,31,35,30,
- 32,788,261,29,27,55,1004,110,80,81,
- 86,2395,38,963,36,5104,2460,34,991,31,
- 35,30,32,788,261,29,27,55,1004,110,
- 80,81,85,2395,38,963,36,5104,2460,34,
- 991,31,35,30,32,788,261,29,27,55,
- 1004,110,80,81,84,2395,38,963,36,5104,
- 2460,34,991,31,35,30,32,788,261,29,
- 27,55,1004,110,80,81,83,2395,38,963,
- 36,5104,2460,34,991,31,35,30,32,788,
- 261,29,27,55,1004,110,80,81,82,2252,
- 38,963,36,5104,2460,34,991,31,35,30,
- 32,788,261,29,27,55,1004,110,80,81,
- 108,2395,38,963,36,5104,2460,34,991,31,
- 35,30,32,788,261,29,27,55,1004,110,
- 80,81,113,2395,38,963,36,5104,2460,34,
- 991,31,35,30,32,788,261,29,27,55,
- 1004,110,80,81,112,2395,38,963,36,5104,
- 2460,34,991,31,35,30,32,788,261,29,
- 27,55,1004,110,80,81,109,1450,38,963,
- 36,5104,3627,34,991,337,35,5104,5104,1297,
- 38,963,36,3102,5104,34,991,337,35,5104,
- 1588,38,3267,36,3102,5104,34,991,337,35,
- 5104,1159,38,963,36,3631,5104,34,991,337,
- 35,2581,5104,5104,5104,1000,5104,5104,5104,5104,
- 4600,331,2581,318,2302,320,1000,169,5104,314,
- 2202,1000,4600,5104,349,318,2302,320,5104,159,
- 396,313,2202,4600,5104,5104,318,2302,320,165,
- 159,5104,313,2202,4600,159,2451,315,3246,320,
- 165,344,2173,848,347,2382,5104,580,5104,5104,
- 2056,38,963,36,3102,5104,34,991,337,35,
- 5104,1173,38,963,36,5104,3627,34,991,337,
- 35,169,5104,169,5104,1000,5104,2365,5104,5104,
- 5104,306,310,2056,38,963,36,3102,5104,34,
- 991,337,35,3807,5104,5104,341,5104,5104,159,
- 3794,5104,5104,4600,3844,5104,318,2302,320,1731,
- 5104,3743,313,2202,4600,331,5104,318,2302,320,
- 2383,1349,5104,314,2202,2365,4587,2451,5104,409,
- 3273,5104,1647,5104,3160,5104,4600,5104,5104,318,
- 2302,320,5104,5104,228,313,2202,5104,2194,38,
- 1819,383,501,38,1819,383,5104,5104,5104,1347,
- 3780,2194,38,1819,383,1052,400,4281,2194,38,
- 1819,383,307,310,2194,38,1819,383,5104,54,
- 169,5104,5104,54,1000,5104,5104,401,5104,2950,
- 1799,52,54,5104,1799,52,5104,5104,169,54,
- 5104,5104,1000,1799,52,54,5104,5104,159,2388,
- 1799,52,5104,2072,5104,5104,1799,52,1896,2947,
- 5104,5104,3361,5104,169,2942,159,5104,526,3444,
- 2194,38,1819,383,5104,3470,2307,5104,2214,38,
- 1819,383,5104,2217,38,1819,383,341,5104,5104,
- 5104,5104,159,327,38,1819,383,5104,5104,3535,
- 333,54,1318,327,38,1819,383,5104,5104,54,
- 5104,2383,1799,52,54,5104,5104,5104,402,405,
- 1799,52,5104,1479,54,1799,52,327,38,1819,
- 383,3521,5104,169,54,1799,665,2365,5104,2488,
- 327,38,1819,383,3517,1799,2701,5104,169,169,
- 169,169,1000,526,526,526,341,5104,54,5104,
- 5104,169,169,169,5104,2365,2365,1000,5104,1799,
- 1505,54,341,341,341,5104,159,159,159,159,
- 2383,5104,1799,1547,341,341,2563,191,191,191,
- 169,159,497,5104,1000,5104,4383,4383,4383,5104,
- 5104,1941,5104,5104,5104,5104,5104,5104,2383,2383,
- 5104,5104,5104,5104,5104,5104,5104,5104,159,5104,
- 495,523,5104,5104,5104,5104,5104,5104,3793,5104,
- 5104,5104,5104,5104,5104,5104,5104,5104,5104,5104,
- 5104,5104,5104,5104,5104,5104,5104,5104,5104,5104,
- 5104,5104,5104,5104,5104,5104,5104,5104,5104,5104,
- 5104,5104,5104,5104,3495,3656,3664,5104,0,42,
- 5122,0,42,5121,0,560,33,0,442,778,
- 0,41,5122,0,41,5121,0,2513,129,0,
- 1,432,0,446,1054,0,445,1348,0,560,
- 44,0,1810,95,0,560,382,0,36,383,
- 0,383,36,0,560,33,382,0,33,382,
- 0,382,33,0,42,2166,0,1,549,0,
- 1,5376,0,1,5375,0,1,5374,0,1,
- 5373,0,1,5372,0,1,5371,0,1,5370,
- 0,1,5369,0,1,5368,0,1,5367,0,
- 1,5366,0,42,1,5122,0,42,1,5121,
- 0,987,1,0,5337,240,0,5336,240,0,
- 5440,240,0,5439,240,0,5364,240,0,5363,
- 240,0,5362,240,0,5361,240,0,5360,240,
- 0,5359,240,0,5358,240,0,5357,240,0,
- 5376,240,0,5375,240,0,5374,240,0,5373,
- 240,0,5372,240,0,5371,240,0,5370,240,
- 0,5369,240,0,5368,240,0,5367,240,0,
- 5366,240,0,42,240,5122,0,42,240,5121,
- 0,5145,240,0,53,5122,0,53,5121,0,
- 48,5143,0,48,40,0,5122,53,0,5121,
- 53,0,2513,131,0,2513,130,0,236,2723,
- 0,30,507,0,5432,433,0,847,433,0,
- 1,96,0,40,52,0,5145,1,0,42,
- 1,0,52,40,0,5145,227,1,0,42,
- 227,1,0,227,407,0,40,5122,0,40,
- 5121,0,5143,50,0,50,40,0,5122,39,
- 0,5121,39,0,1,5122,2,0,1,5121,
- 2,0,40,5122,2,0,40,5121,2,0,
- 5114,398,0,5113,398,0,1,2675,0,1,
- 2166,0,1,2649,0,227,406,0,5432,99,
- 0,847,99,0,3191,317,0,1,5432,0,
- 1,847,0,42,1,5122,2,0,42,1,
- 5121,2,0,42,5122,2,0,42,5121,2,
- 0,278,3059,0,1,3355,0,1,3370,0,
- 5112,1,0,489,3716,0,227,1,0,227,
- 1,3426,0,5114,227,0,5113,227,0,3647,
- 227,0,8,10,0,227,219,0,227,218,
- 0,188,3384,0
+ 169,4,52,77,77,32,32,63,63,38,
+ 38,189,189,190,190,191,191,1,1,14,
+ 14,14,14,14,14,14,14,15,15,15,
+ 13,10,10,8,8,8,8,8,8,2,
+ 64,64,5,5,11,11,11,11,42,42,
+ 131,131,132,60,60,41,16,16,16,16,
+ 16,16,16,16,16,16,16,16,16,16,
+ 16,16,16,16,16,16,133,133,133,113,
+ 113,17,17,17,17,17,17,17,17,17,
+ 17,17,17,17,18,18,170,170,171,171,
+ 172,136,136,137,137,134,134,138,135,135,
+ 19,19,20,21,21,21,23,23,23,23,
+ 24,24,24,25,25,25,26,26,26,26,
+ 26,28,28,28,29,29,30,30,31,31,
+ 33,33,35,35,36,36,40,40,39,39,
+ 39,39,39,39,39,39,39,39,39,39,
+ 39,37,27,139,139,97,97,101,101,92,
+ 192,192,68,68,68,68,68,68,68,68,
+ 68,69,69,69,70,70,54,54,173,173,
+ 71,71,71,114,114,72,72,72,72,73,
+ 73,73,73,73,74,74,78,78,78,78,
+ 78,78,78,47,47,47,47,47,104,104,
+ 105,105,48,174,22,22,22,22,22,45,
+ 45,87,87,87,87,87,146,146,141,141,
+ 141,141,141,142,142,142,143,143,143,144,
+ 144,144,145,145,145,88,88,88,88,88,
+ 89,89,89,12,12,12,12,12,12,12,
+ 12,12,12,12,100,118,118,118,118,118,
+ 116,116,116,117,117,148,148,147,147,120,
+ 120,149,82,82,83,83,85,86,84,50,
+ 44,150,150,51,49,81,81,151,151,140,
+ 140,121,122,122,76,76,152,152,61,61,
+ 61,56,56,55,62,62,66,66,53,53,
+ 53,90,90,99,98,98,59,59,57,57,
+ 58,58,46,102,102,102,93,93,93,94,
+ 95,95,95,96,96,106,106,106,108,108,
+ 107,107,193,193,91,91,176,176,176,176,
+ 176,124,43,43,154,175,175,125,125,125,
+ 125,177,177,34,34,115,126,126,126,126,
+ 109,109,119,119,119,156,157,157,157,157,
+ 157,157,157,157,157,180,180,178,178,179,
+ 179,158,158,158,158,159,181,111,110,110,
+ 182,182,160,160,160,160,103,103,103,183,
+ 183,9,184,184,185,161,153,153,162,162,
+ 163,164,164,6,6,7,166,166,166,166,
+ 166,166,166,166,166,166,166,166,166,166,
+ 166,166,166,166,166,166,166,166,166,166,
+ 166,166,166,166,166,166,166,166,166,166,
+ 166,166,166,166,166,166,166,166,65,67,
+ 67,167,167,127,127,128,128,128,128,128,
+ 128,3,168,168,165,165,129,129,129,79,
+ 80,75,155,155,112,112,186,186,186,130,
+ 130,123,123,187,187,169,169,969,39,2419,
+ 2414,2705,3170,34,1096,31,35,30,32,2370,
+ 29,27,56,1114,112,82,83,113,1156,860,
+ 1212,1182,1247,1224,2826,1338,1257,1628,1554,982,
+ 1636,274,1677,148,390,2697,163,149,1071,39,
+ 1085,36,1540,2922,34,1096,338,35,418,1777,
+ 2792,38,2402,39,1085,36,233,2728,34,1096,
+ 31,35,30,32,992,29,27,56,1114,112,
+ 82,83,113,1156,486,1212,1182,1247,1224,1321,
+ 1338,1257,1628,2238,236,231,232,1806,2635,3481,
+ 4491,332,3280,319,2866,321,2609,275,852,315,
+ 2748,418,39,2816,350,418,39,2792,2815,418,
+ 39,282,243,246,249,252,2141,418,2889,1028,
+ 39,1085,36,1865,2708,34,1096,31,35,63,
+ 32,345,1506,1283,348,1980,609,1748,3175,3155,
+ 3210,3265,3313,2945,1552,39,1085,36,2329,2728,
+ 34,1096,31,35,2565,32,992,29,27,56,
+ 1114,112,82,83,113,1156,342,1212,1182,1247,
+ 1224,2032,1338,1257,1628,1554,776,1636,2652,1677,
+ 148,1337,412,506,149,983,1352,39,1085,36,
+ 2544,2708,34,1096,31,35,62,32,418,39,
+ 2775,2732,507,1552,39,1085,36,2329,2728,34,
+ 1096,31,35,2565,32,992,29,27,56,1114,
+ 112,82,83,113,1156,342,1212,1182,1247,1224,
+ 860,1338,1257,1628,1554,3537,1636,286,1677,148,
+ 429,2032,506,149,66,39,1736,47,487,2544,
+ 46,1096,67,2182,39,280,2148,1395,39,1085,
+ 36,507,3726,34,1096,31,35,30,32,708,
+ 500,313,2936,502,1611,1817,39,1085,36,2329,
+ 2728,34,1096,31,35,2565,32,992,29,27,
+ 56,1114,112,82,83,113,1156,342,1212,1182,
+ 1247,1224,2032,1338,1257,1628,1554,611,1636,2556,
+ 1677,148,2589,94,506,149,108,2807,449,66,
+ 1413,2544,1224,39,1085,36,631,126,34,1096,
+ 44,35,502,507,1618,39,1085,36,635,2728,
+ 34,1096,31,35,30,32,992,29,27,56,
+ 1114,112,82,83,113,1156,860,1212,1182,1247,
+ 1224,4470,1338,1257,1628,1554,432,1636,2734,1677,
+ 148,2589,214,377,149,2402,39,1085,36,448,
+ 2728,34,1096,31,35,30,32,992,29,27,
+ 56,1114,112,82,83,113,1156,380,1212,2094,
+ 1690,39,1085,36,503,2728,34,1096,31,35,
+ 30,32,992,29,27,56,1114,112,82,83,
+ 113,1156,445,1212,1182,1247,1224,2092,1338,1257,
+ 1628,1554,2065,1636,31,1677,148,302,994,377,
+ 149,1097,39,1085,36,654,3726,34,1096,31,
+ 35,65,32,1308,1540,2182,39,278,2922,381,
+ 1254,2004,952,378,1987,39,1085,36,436,2728,
+ 34,1096,31,35,30,32,992,29,27,56,
+ 1114,112,82,83,113,1156,28,1212,1182,1247,
+ 1224,1836,1338,1257,1628,1554,852,1636,1310,1677,
+ 148,31,2329,163,149,674,331,1097,39,1085,
+ 36,3701,3726,34,1096,31,35,64,32,2926,
+ 2878,1987,39,1085,36,382,2728,34,1096,31,
+ 35,30,32,992,29,27,56,1114,112,82,
+ 83,113,1156,1124,1212,1182,1247,1224,860,1338,
+ 1257,1628,1554,3778,1636,742,1677,148,48,2776,
+ 371,149,1987,39,1085,36,918,2728,34,1096,
+ 31,35,30,32,992,29,27,56,1114,112,
+ 82,83,113,1156,2587,1212,1182,1247,1224,359,
+ 1338,1257,1628,1554,1420,1636,1736,1677,148,2922,
+ 1288,371,149,609,1987,39,1085,36,2208,2728,
+ 34,1096,31,35,30,32,992,29,27,56,
+ 1114,112,82,83,113,1156,946,1212,1182,1247,
+ 1224,1401,1338,1257,1628,1554,1463,1636,1540,1677,
+ 148,4378,2657,371,149,370,398,332,1927,39,
+ 1085,36,1081,2728,34,1096,31,35,30,32,
+ 992,29,27,56,1114,112,82,83,113,1156,
+ 75,1212,1182,1247,1224,860,1338,1257,1628,1554,
+ 4382,1636,1063,1677,148,31,369,377,149,994,
+ 1752,39,1085,36,1782,2728,34,1096,31,35,
+ 30,32,992,29,27,56,1114,112,82,83,
+ 113,1156,161,1212,1182,1247,1224,154,1338,1257,
+ 1628,1554,984,1636,2697,1677,148,75,367,147,
+ 149,1987,39,1085,36,2416,2728,34,1096,31,
+ 35,30,32,992,29,27,56,1114,112,82,
+ 83,113,1156,1491,1212,1182,1247,1224,1308,1338,
+ 1257,1628,1554,2922,1636,354,1677,148,99,161,
+ 164,149,521,375,1987,39,1085,36,374,2728,
+ 34,1096,31,35,30,32,992,29,27,56,
+ 1114,112,82,83,113,1156,2652,1212,1182,1247,
+ 1224,2541,1338,1257,1628,1554,2697,1636,233,1677,
+ 148,1695,2657,160,149,1987,39,1085,36,351,
+ 2728,34,1096,31,35,30,32,992,29,27,
+ 56,1114,112,82,83,113,1156,2118,1212,1182,
+ 1247,1224,2657,1338,1257,1628,1554,512,1636,31,
+ 1677,148,2032,733,159,149,1987,39,1085,36,
+ 374,2728,34,1096,31,35,30,32,992,29,
+ 27,56,1114,112,82,83,113,1156,372,1212,
+ 1182,1247,1224,860,1338,1257,1628,1554,4391,1636,
+ 2212,1677,148,2032,100,158,149,1987,39,1085,
+ 36,852,2728,34,1096,31,35,30,32,992,
+ 29,27,56,1114,112,82,83,113,1156,1078,
+ 1212,1182,1247,1224,2032,1338,1257,1628,1554,4169,
+ 1636,95,1677,148,108,353,157,149,1987,39,
+ 1085,36,521,2728,34,1096,31,35,30,32,
+ 992,29,27,56,1114,112,82,83,113,1156,
+ 3289,1212,1182,1247,1224,323,1338,1257,1628,1554,
+ 57,1636,521,1677,148,1598,2149,156,149,1987,
+ 39,1085,36,390,2728,34,1096,31,35,30,
+ 32,992,29,27,56,1114,112,82,83,113,
+ 1156,326,1212,1182,1247,1224,2032,1338,1257,1628,
+ 1554,1598,1636,31,1677,148,2032,1782,155,149,
+ 1987,39,1085,36,947,2728,34,1096,31,35,
+ 30,32,992,29,27,56,1114,112,82,83,
+ 113,1156,352,1212,1182,1247,1224,1958,1338,1257,
+ 1628,1554,860,1636,31,1677,148,4443,4344,154,
+ 149,1987,39,1085,36,390,2728,34,1096,31,
+ 35,30,32,992,29,27,56,1114,112,82,
+ 83,113,1156,103,1212,1182,1247,1224,76,1338,
+ 1257,1628,1554,104,1636,31,1677,148,1027,2442,
+ 153,149,1987,39,1085,36,1188,2728,34,1096,
+ 31,35,30,32,992,29,27,56,1114,112,
+ 82,83,113,1156,77,1212,1182,1247,1224,2046,
+ 1338,1257,1628,1554,860,1636,1561,1677,148,4456,
+ 2603,152,149,1987,39,1085,36,978,2728,34,
+ 1096,31,35,30,32,992,29,27,56,1114,
+ 112,82,83,113,1156,1797,1212,1182,1247,1224,
+ 2922,1338,1257,1628,1554,2697,1636,31,1677,148,
+ 1163,2811,151,149,1987,39,1085,36,1418,2728,
+ 34,1096,31,35,30,32,992,29,27,56,
+ 1114,112,82,83,113,1156,1170,1212,1182,1247,
+ 1224,1441,1338,1257,1628,1554,1342,1636,1695,1677,
+ 148,418,3309,150,149,1882,39,1085,36,515,
+ 2728,34,1096,31,35,30,32,992,29,27,
+ 56,1114,112,82,83,113,1156,1040,1212,1182,
+ 1247,1224,1344,1338,1257,1628,1554,1156,1636,31,
+ 2803,169,1465,994,1987,39,1085,36,1678,2728,
+ 34,1096,31,35,30,32,992,29,27,56,
+ 1114,112,82,83,113,1156,161,1212,1182,1247,
+ 1224,2697,1338,1257,1628,1554,1423,1636,1766,1677,
+ 148,102,327,145,149,1308,418,39,1746,384,
+ 2922,2577,1789,2309,39,1085,36,1454,2728,34,
+ 1096,31,35,30,32,992,29,27,56,1114,
+ 112,82,83,113,1156,1607,1212,1182,1247,1224,
+ 55,1338,1257,1628,1554,514,1636,52,1677,148,
+ 328,334,194,149,2402,39,1085,36,331,2728,
+ 34,1096,31,35,30,32,992,29,27,56,
+ 1114,112,82,83,113,1156,2089,1212,1182,1247,
+ 1224,1540,1338,1257,1628,1554,1540,1636,2115,2803,
+ 169,2402,39,1085,36,2797,2728,34,1096,31,
+ 35,30,32,992,29,27,56,1114,112,82,
+ 83,113,1156,74,1212,1182,1247,1224,59,1338,
+ 1257,1628,1554,1972,1636,1979,2803,169,1224,39,
+ 1085,36,1540,2103,34,1096,2297,35,418,39,
+ 2792,277,2402,39,1085,36,290,2728,34,1096,
+ 31,35,30,32,992,29,27,56,1114,112,
+ 82,83,113,1156,93,1212,1182,1247,1224,1540,
+ 1338,1257,1628,1554,1540,1636,248,2803,169,2402,
+ 39,1085,36,1546,2728,34,1096,31,35,30,
+ 32,992,29,27,56,1114,112,82,83,113,
+ 1156,58,1212,1182,1247,1224,96,1338,1257,1628,
+ 1554,424,1636,600,2803,169,1224,39,1085,36,
+ 1540,682,34,1096,339,35,418,2943,2792,80,
+ 2402,39,1085,36,414,2728,34,1096,31,35,
+ 30,32,992,29,27,56,1114,112,82,83,
+ 113,1156,349,1212,1182,1247,1224,1540,1338,1257,
+ 1628,1554,1540,1636,1435,2803,169,2447,39,1085,
+ 36,413,2728,34,1096,31,35,30,32,992,
+ 29,27,56,1114,112,82,83,113,1156,2833,
+ 1212,1182,1247,1224,2851,1338,1257,1628,1554,2216,
+ 1636,31,2803,169,1676,665,418,39,1746,384,
+ 761,1318,39,2609,1666,2644,3225,2715,2402,39,
+ 1085,36,416,2728,34,1096,31,35,30,32,
+ 992,29,27,56,1114,112,82,83,113,1156,
+ 422,1212,1182,1247,1224,55,1338,1257,1628,1554,
+ 2299,2364,1741,728,2524,2402,39,1085,36,3393,
+ 2728,34,1096,31,35,30,32,992,29,27,
+ 56,1114,112,82,83,113,1156,1388,1212,1182,
+ 1247,1224,2693,1338,1257,2207,2402,39,1085,36,
+ 155,2728,34,1096,31,35,30,32,992,29,
+ 27,56,1114,112,82,83,113,1156,1425,1212,
+ 1182,1247,1224,187,1338,2220,2402,39,1085,36,
+ 1625,2728,34,1096,31,35,30,32,992,29,
+ 27,56,1114,112,82,83,113,1156,1100,1212,
+ 1182,1247,1224,1802,2140,2402,39,1085,36,1078,
+ 2728,34,1096,31,35,30,32,992,29,27,
+ 56,1114,112,82,83,113,1156,2218,1212,1182,
+ 1247,2145,2402,39,1085,36,396,2728,34,1096,
+ 31,35,30,32,992,29,27,56,1114,112,
+ 82,83,113,1156,513,1212,1182,1247,2147,2492,
+ 39,1746,384,1540,2420,400,385,2402,39,1085,
+ 36,238,2728,34,1096,31,35,30,32,992,
+ 29,27,56,1114,112,82,83,113,1156,249,
+ 1212,1182,2006,274,1189,73,2402,39,1085,36,
+ 2220,2728,34,1096,31,35,30,32,992,29,
+ 27,56,1114,112,82,83,113,1156,233,1212,
+ 1182,2041,2402,39,1085,36,611,2728,34,1096,
+ 31,35,30,32,992,29,27,56,1114,112,
+ 82,83,113,1156,2632,1906,236,231,232,2575,
+ 506,39,1746,384,1224,39,1085,36,2795,275,
+ 34,1096,2990,35,1270,39,1746,384,2194,39,
+ 2792,2977,425,1802,243,246,249,252,2141,418,
+ 3408,1469,39,442,55,1865,4395,2194,39,2792,
+ 277,1741,2656,2232,418,39,1746,384,274,2500,
+ 3175,3155,3210,3265,3313,2945,2402,39,1085,36,
+ 2464,2728,34,1096,31,35,30,32,992,29,
+ 27,56,1114,112,82,83,113,1156,274,1212,
+ 1182,2043,2402,39,1085,36,283,2728,34,1096,
+ 31,35,30,32,992,29,27,56,1114,112,
+ 82,83,113,1156,177,1212,1182,2051,527,1213,
+ 39,1085,36,3692,2846,34,1096,338,35,2501,
+ 513,2071,2533,2416,1599,2329,230,78,1835,1336,
+ 1540,161,386,418,1116,1867,1936,436,2329,2922,
+ 3335,3019,185,342,276,1119,2495,205,216,3525,
+ 2329,204,213,214,215,217,2878,1344,174,1,
+ 1540,4491,72,527,319,2866,321,1126,2878,1919,
+ 314,2748,188,172,173,175,176,177,178,179,
+ 1540,230,1540,425,31,3088,161,331,994,1064,
+ 350,1802,71,435,3107,3110,3019,185,2354,39,
+ 390,2721,205,216,3525,2329,204,213,214,215,
+ 217,161,70,174,2966,2017,2577,343,1506,1283,
+ 348,2359,186,230,2797,358,341,189,172,173,
+ 175,176,177,178,179,512,478,494,1166,1980,
+ 2092,2859,2862,1041,207,216,3525,994,206,213,
+ 214,215,217,2746,284,333,334,2329,2035,1604,
+ 3373,3368,2554,2188,39,278,208,31,2888,425,
+ 165,2861,31,491,493,230,994,2579,2428,218,
+ 209,210,211,212,292,293,294,295,594,39,
+ 1746,384,2131,387,418,420,207,216,3525,3675,
+ 206,213,214,215,217,3743,3205,3124,1537,39,
+ 1746,384,31,3052,2179,631,2689,3018,208,2833,
+ 2888,1116,55,2329,350,2329,2922,3156,2654,1741,
+ 962,218,209,210,211,212,292,293,294,295,
+ 1916,230,55,2878,418,39,1746,384,2434,1741,
+ 564,343,1506,1283,348,2198,1741,3743,3467,2919,
+ 2050,31,207,216,3525,3286,206,213,214,215,
+ 217,2848,1866,1326,331,2329,2936,1436,425,389,
+ 418,31,2922,1006,208,3109,2888,418,39,2792,
+ 281,1976,2889,230,324,2552,2647,218,209,210,
+ 211,212,292,293,294,295,418,39,1746,384,
+ 2185,568,358,31,207,216,3525,2659,206,213,
+ 214,215,217,3743,3522,2191,2230,2092,2859,2862,
+ 332,31,1868,39,442,3388,208,4395,2888,471,
+ 55,1515,2158,350,601,2329,2173,1741,804,218,
+ 209,210,211,212,292,293,294,295,1054,39,
+ 1085,36,3543,2878,34,1096,338,35,830,1746,
+ 345,1506,1283,348,1836,3743,3681,2402,39,1085,
+ 36,2394,2728,34,1096,31,35,30,32,992,
+ 29,27,56,1114,112,82,83,113,1156,425,
+ 1212,2134,418,39,1746,384,418,39,2792,279,
+ 4491,285,325,319,2866,321,2648,2117,265,314,
+ 2748,837,527,2292,350,2549,39,1746,384,31,
+ 2420,1041,358,3020,2993,994,55,239,2443,2901,
+ 230,50,2776,1741,2845,161,31,2602,2859,2862,
+ 3650,343,1506,1283,348,3019,185,2411,165,274,
+ 2984,205,216,3525,1957,204,213,214,215,217,
+ 2218,1540,174,2669,1202,39,1085,36,3692,2922,
+ 34,1096,338,35,233,2526,3398,172,173,175,
+ 176,177,178,179,439,3107,3110,2653,2691,2218,
+ 1515,2548,1361,61,2329,2329,2329,4479,300,388,
+ 418,353,237,231,232,527,2692,31,2203,777,
+ 1540,2329,2878,2878,230,275,4491,331,1999,319,
+ 2866,321,1566,230,364,314,2748,184,161,342,
+ 244,247,250,253,2141,1138,401,4316,3019,185,
+ 626,1865,60,31,205,216,3525,2566,204,213,
+ 214,215,217,2544,4223,174,31,402,1540,2888,
+ 527,2670,441,31,31,1792,527,2396,994,181,
+ 172,173,175,176,177,178,179,2711,342,1344,
+ 2699,358,494,161,230,307,311,2739,1540,161,
+ 322,161,1540,1911,2718,2864,3122,2859,2862,3019,
+ 185,2333,2544,2732,3475,205,216,3525,2243,204,
+ 213,214,215,217,1168,3409,174,529,491,493,
+ 107,527,2740,865,3233,1187,418,39,2792,3036,
+ 192,172,173,175,176,177,178,179,2577,230,
+ 1877,39,1746,384,161,2033,1478,2518,403,406,
+ 994,2329,31,953,3019,185,1172,240,3379,31,
+ 205,216,3525,1342,204,213,214,215,217,342,
+ 2218,174,617,161,55,1802,527,330,334,520,
+ 1403,1741,1367,525,233,3473,172,173,175,176,
+ 177,178,179,2544,230,1973,39,1746,384,161,
+ 2464,2773,31,31,233,523,2329,4241,200,3019,
+ 185,2784,245,231,232,205,216,3525,2786,204,
+ 213,214,215,217,342,2788,174,705,2218,55,
+ 2713,527,241,231,232,2059,1741,53,298,233,
+ 195,172,173,175,176,177,178,179,2544,230,
+ 506,39,1746,384,161,783,1976,2889,31,31,
+ 1798,1540,3021,1265,3019,185,199,248,231,232,
+ 205,216,3525,2456,204,213,214,215,217,2218,
+ 1867,174,793,2116,55,3335,527,418,39,1746,
+ 384,1741,53,440,233,191,172,173,175,176,
+ 177,178,179,2642,230,2200,39,1746,384,161,
+ 639,418,39,1746,384,559,1540,203,2731,3019,
+ 185,424,251,231,232,205,216,3525,2218,204,
+ 213,214,215,217,3333,519,174,881,2800,55,
+ 1523,527,233,2744,527,423,1741,53,3557,1685,
+ 198,172,173,175,176,177,178,179,1344,230,
+ 2793,89,3588,2733,161,2136,201,161,1996,31,
+ 254,231,232,1372,3019,185,285,167,2797,2794,
+ 205,216,3525,1166,204,213,214,215,217,57,
+ 2810,174,1526,39,1085,36,2741,2801,34,1096,
+ 338,35,2802,2611,2901,197,172,173,175,176,
+ 177,178,179,2402,39,1085,36,2577,2728,34,
+ 1096,31,35,30,32,992,29,27,56,1114,
+ 112,82,83,113,1156,2712,1918,1802,1041,3639,
+ 421,3482,994,1704,4491,2218,31,319,2866,321,
+ 2621,31,2218,314,2748,2543,3182,334,350,31,
+ 2034,5095,31,2329,2329,165,2673,5095,3088,1171,
+ 39,3038,36,3692,2922,34,1096,338,35,5095,
+ 31,342,342,222,2739,343,1506,1283,348,2873,
+ 4531,1540,1802,2329,2050,1543,39,1085,36,2994,
+ 305,34,1096,338,35,2544,711,418,39,1746,
+ 384,230,1540,1308,4462,31,31,1828,2922,2791,
+ 994,4491,331,3092,319,2866,321,2218,1540,5095,
+ 314,2748,207,216,3525,2991,206,213,214,215,
+ 217,55,2495,161,3147,531,2329,4491,1741,985,
+ 316,3017,321,2550,208,297,2888,2659,31,4223,
+ 3202,2329,4190,5095,2878,304,331,488,209,210,
+ 211,212,292,293,294,295,2354,39,390,230,
+ 2357,39,1085,36,5095,2728,34,1096,31,35,
+ 30,32,992,29,27,56,1114,92,82,83,
+ 207,216,3525,568,206,213,214,215,217,2935,
+ 2519,5095,2218,2329,3795,418,39,1746,384,1041,
+ 1344,31,208,994,2888,864,445,409,3039,5095,
+ 2218,230,1540,494,1540,509,209,210,211,212,
+ 292,293,294,295,431,1540,165,2937,2268,441,
+ 4539,1802,207,216,3525,5095,206,213,214,215,
+ 217,2960,1308,5095,1705,2329,1821,2922,303,492,
+ 493,2520,5095,5095,208,1540,2888,376,31,2577,
+ 5095,5095,2329,230,2218,3133,5095,306,209,210,
+ 211,212,292,293,294,295,418,39,1746,384,
+ 342,2354,39,390,207,216,3525,3811,206,213,
+ 214,215,217,2761,296,331,3040,2329,3189,334,
+ 5095,1540,4540,5095,2544,5095,208,1041,2888,5095,
+ 55,994,2218,5095,379,230,1842,1741,564,510,
+ 209,210,211,212,292,293,294,295,594,39,
+ 1746,384,4290,3312,165,31,207,216,3525,2329,
+ 206,213,214,215,217,1679,39,1085,36,3543,
+ 223,34,1096,338,35,31,2218,342,208,994,
+ 2888,2218,55,1540,418,39,291,5095,5095,1741,
+ 53,219,209,210,211,212,292,293,294,295,
+ 5095,2544,161,5095,5095,418,39,291,2424,5095,
+ 3432,5095,2580,2087,299,3367,5095,4491,5095,196,
+ 319,2866,321,5095,3118,5095,314,2748,5095,5095,
+ 5095,350,5095,5095,5095,5095,5095,2402,39,1085,
+ 36,516,2728,34,1096,31,35,30,32,992,
+ 29,27,56,1114,112,82,83,91,343,1506,
+ 1283,348,5095,2402,39,1085,36,517,2728,34,
+ 1096,31,35,30,32,992,29,27,56,1114,
+ 112,82,83,113,1953,2402,39,1085,36,5095,
+ 2728,34,1096,31,35,30,32,992,29,27,
+ 56,1114,112,82,83,113,1955,2402,39,1085,
+ 36,5095,2728,34,1096,31,35,30,32,992,
+ 29,27,56,1114,112,82,83,113,1963,2402,
+ 1777,1085,1787,3660,2728,34,1096,31,35,30,
+ 32,992,29,27,56,1114,112,82,83,90,
+ 2402,39,1085,36,3806,2728,34,1096,31,35,
+ 30,32,992,29,27,56,1114,112,82,83,
+ 89,2402,39,1085,36,5095,2728,34,1096,31,
+ 35,30,32,992,29,27,56,1114,112,82,
+ 83,88,2402,39,1085,36,5095,2728,34,1096,
+ 31,35,30,32,992,29,27,56,1114,112,
+ 82,83,87,2402,39,1085,36,5095,2728,34,
+ 1096,31,35,30,32,992,29,27,56,1114,
+ 112,82,83,86,2402,39,1085,36,5095,2728,
+ 34,1096,31,35,30,32,992,29,27,56,
+ 1114,112,82,83,85,2402,39,1085,36,5095,
+ 2728,34,1096,31,35,30,32,992,29,27,
+ 56,1114,112,82,83,84,2262,39,1085,36,
+ 5095,2728,34,1096,31,35,30,32,992,29,
+ 27,56,1114,112,82,83,110,2402,39,1085,
+ 36,5095,2728,34,1096,31,35,30,32,992,
+ 29,27,56,1114,112,82,83,115,2402,39,
+ 1085,36,5095,2728,34,1096,31,35,30,32,
+ 992,29,27,56,1114,112,82,83,114,2402,
+ 39,1085,36,5095,2728,34,1096,31,35,30,
+ 32,992,29,27,56,1114,112,82,83,111,
+ 1459,39,1085,36,3692,5095,34,1096,338,35,
+ 5095,1667,39,3038,36,3692,5095,34,1096,338,
+ 35,5095,1213,39,1085,36,3692,5095,34,1096,
+ 338,35,5095,1191,39,1085,36,5095,2922,34,
+ 1096,338,35,2521,1041,5095,5095,994,994,5095,
+ 5095,1344,4491,5095,5095,319,2866,321,5095,5095,
+ 5095,314,2748,4491,5095,5095,319,2866,321,5095,
+ 161,165,314,2748,4491,5095,626,319,2866,321,
+ 3358,202,5095,314,2748,4491,332,531,319,2866,
+ 321,5095,5095,5095,317,2748,5095,5095,626,5095,
+ 1191,39,1085,36,5095,2922,34,1096,338,35,
+ 2577,1213,39,1085,36,3692,5095,34,1096,338,
+ 35,307,311,5095,5095,5095,1304,39,1085,36,
+ 3499,5095,34,1096,338,35,5095,5095,31,5095,
+ 3762,3291,527,308,311,5095,5095,5095,5095,3399,
+ 334,3409,4491,332,1278,319,2866,321,2329,4479,
+ 342,315,2748,4491,397,161,319,2866,321,410,
+ 3039,5095,314,2748,5095,984,230,5095,4491,5095,
+ 5095,316,3017,321,2544,5095,5095,3427,2200,39,
+ 1746,384,2200,39,1746,384,1962,1138,401,4316,
+ 5095,2200,39,1746,384,2200,39,1746,384,5095,
+ 5095,5095,5095,31,31,5095,31,994,527,402,
+ 2329,2888,55,5095,5095,5095,55,31,5095,1741,
+ 53,2329,5095,1741,53,55,342,5095,342,55,
+ 161,161,1741,53,5095,5095,1741,53,2764,342,
+ 2600,193,3317,2497,39,1746,384,2864,5095,31,
+ 4301,3341,2544,994,5095,3645,2522,39,1746,384,
+ 5095,5095,1523,2544,498,5095,994,5095,2937,5095,
+ 418,39,1746,384,5095,496,161,55,5095,418,
+ 39,1746,384,31,1741,53,1536,2329,5095,161,
+ 55,418,39,1746,384,5095,5095,1741,53,167,
+ 403,405,5095,3814,55,342,5095,5095,5095,5095,
+ 5095,1741,2683,55,5095,31,3835,5095,3521,527,
+ 1741,1513,2273,31,3022,55,2077,527,5095,2544,
+ 2329,1523,1741,1595,5095,994,5095,342,5095,1523,
+ 1523,524,161,994,994,342,5095,31,342,5095,
+ 161,994,193,5095,5095,5095,5095,5095,161,5095,
+ 193,4301,5095,3642,5095,5095,161,161,167,4301,
+ 5095,5095,3640,5095,161,5095,167,167,5095,5095,
+ 5095,5095,5095,5095,3705,5095,5095,5095,5095,5095,
+ 5095,5095,5095,5095,5095,5095,5095,5095,5095,5095,
+ 5095,5095,5095,5095,5095,5095,5095,5095,5095,5095,
+ 5095,5095,5095,5095,5095,5095,5095,5095,5095,5095,
+ 5095,5095,5095,5095,5095,5095,5095,5095,5095,3542,
+ 5095,5095,3714,5095,5095,5095,5095,3558,5095,5095,
+ 3751,3813,5095,5095,5095,5095,5095,5095,5095,5095,
+ 5095,5095,5095,5095,5095,5095,5095,5095,5095,5095,
+ 5095,5095,5095,5095,5095,5095,5095,5095,5095,5095,
+ 5095,5095,5095,5095,5095,5095,5095,5095,5095,5095,
+ 5095,5095,5095,5095,5095,5095,5095,5095,5095,5095,
+ 5095,5095,5095,5095,5095,5095,5095,5095,5095,5095,
+ 5095,5095,5095,5095,5095,5095,5095,5095,5095,5095,
+ 5095,5095,3664,5095,0,43,5113,0,43,5112,
+ 0,1031,33,0,443,1379,0,42,5113,0,
+ 42,5112,0,2476,131,0,1,433,0,447,
+ 771,0,446,832,0,1031,45,0,964,97,
+ 0,1031,383,0,39,37,0,36,38,0,
+ 43,578,0,1,549,0,1,5368,0,1,
+ 5367,0,1,5366,0,1,5365,0,1,5364,
+ 0,1,5363,0,1,5362,0,1,5361,0,
+ 1,5360,0,1,5359,0,1,5358,0,43,
+ 1,5113,0,43,1,5112,0,774,1,0,
+ 5330,242,0,5329,242,0,5432,242,0,5431,
+ 242,0,5357,242,0,5356,242,0,5355,242,
+ 0,5354,242,0,5353,242,0,5352,242,0,
+ 5351,242,0,5350,242,0,5368,242,0,5367,
+ 242,0,5366,242,0,5365,242,0,5364,242,
+ 0,5363,242,0,5362,242,0,5361,242,0,
+ 5360,242,0,5359,242,0,5358,242,0,43,
+ 242,5113,0,43,242,5112,0,5137,242,0,
+ 54,5113,0,54,5112,0,49,5135,0,49,
+ 41,0,5113,54,0,5112,54,0,2476,133,
+ 0,2476,132,0,238,2663,0,384,36,0,
+ 36,384,0,383,33,0,33,383,0,30,
+ 508,0,5424,434,0,1543,434,0,1,98,
+ 0,41,53,0,5137,1,0,43,1,0,
+ 53,41,0,5137,229,1,0,43,229,1,
+ 0,229,408,0,41,5113,0,41,5112,0,
+ 5135,51,0,51,41,0,5113,40,0,5112,
+ 40,0,1,5113,2,0,1,5112,2,0,
+ 41,5113,2,0,41,5112,2,0,5105,399,
+ 0,5104,399,0,1,2529,0,1,578,0,
+ 1,3490,0,229,407,0,5424,101,0,1543,
+ 101,0,39,79,0,2949,318,0,1,5424,
+ 0,1,1543,0,43,1,5113,2,0,43,
+ 1,5112,2,0,43,5113,2,0,43,5112,
+ 2,0,279,3468,0,1,2618,0,1,3606,
+ 0,5103,1,0,490,3587,0,229,1,0,
+ 229,1,3183,0,5105,229,0,5104,229,0,
+ 3391,229,0,8,10,0,229,221,0,229,
+ 220,0,190,3257,0
};
};
public final static char baseAction[] = BaseAction.baseAction;
@@ -1042,309 +1040,312 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
0,1,2,3,4,5,6,7,8,9,
10,11,12,13,14,15,16,17,18,19,
20,21,22,23,24,25,26,27,28,29,
- 30,31,32,33,34,35,0,37,38,39,
- 40,41,42,43,8,45,46,47,48,49,
- 50,51,52,53,54,55,56,57,58,59,
- 0,61,62,63,64,0,1,2,68,69,
- 70,71,7,73,74,75,76,77,78,79,
- 80,0,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,0,37,38,39,40,41,42,
- 43,8,45,46,47,48,49,50,51,52,
- 53,54,55,56,57,58,59,66,61,62,
- 63,64,0,0,0,68,69,70,71,99,
- 73,74,75,76,77,78,79,80,0,82,
- 83,84,85,86,0,1,2,3,4,5,
+ 0,31,32,33,34,35,36,0,38,39,
+ 40,41,42,43,44,45,46,47,48,49,
+ 50,51,52,53,54,55,0,57,58,59,
+ 60,61,62,63,64,0,1,2,68,69,
+ 70,71,7,73,0,75,76,77,78,79,
+ 80,81,8,83,84,85,86,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,62,31,
+ 32,33,34,35,36,0,38,39,40,41,
+ 42,43,44,45,46,47,48,49,50,51,
+ 52,53,54,55,0,57,58,59,60,61,
+ 62,63,64,0,0,30,68,69,70,71,
+ 0,73,8,75,76,77,78,79,80,81,
+ 10,83,84,85,86,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,0,31,32,33,
+ 34,35,36,0,38,39,40,41,42,43,
+ 44,45,46,47,48,49,50,51,52,53,
+ 54,55,0,57,58,59,60,61,62,63,
+ 64,88,89,30,68,69,70,0,0,73,
+ 0,75,76,77,78,79,80,81,0,83,
+ 84,85,86,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,35,
- 0,37,38,39,40,41,42,43,65,45,
+ 26,27,28,29,0,31,32,33,34,35,
+ 36,0,38,39,40,41,42,43,44,45,
46,47,48,49,50,51,52,53,54,55,
- 56,57,58,59,0,61,62,63,64,0,
- 88,89,68,69,70,11,12,73,74,75,
- 76,77,78,79,80,101,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,0,37,38,
- 39,40,41,42,43,66,45,46,47,48,
- 49,50,51,52,53,54,55,56,57,58,
- 59,0,61,62,63,64,0,1,2,68,
- 69,70,0,0,73,74,75,76,77,78,
- 79,80,9,82,83,84,85,86,0,1,
+ 72,57,58,59,60,61,62,63,64,97,
+ 98,30,68,69,70,88,89,73,0,75,
+ 76,77,78,79,80,81,0,83,84,85,
+ 86,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,0,31,32,33,34,35,36,0,
+ 38,39,40,41,42,43,44,45,46,47,
+ 48,49,50,51,52,53,54,55,0,57,
+ 58,59,60,61,62,63,64,0,1,2,
+ 68,69,70,0,0,73,37,75,76,77,
+ 78,79,80,81,0,83,84,85,86,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,
+ 0,31,32,33,34,35,36,0,38,39,
+ 40,41,42,43,44,45,46,47,48,49,
+ 50,51,52,53,54,55,72,57,58,59,
+ 60,61,62,63,64,0,1,2,68,69,
+ 70,88,89,73,37,75,76,77,78,79,
+ 80,81,0,83,84,85,86,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,35,0,37,38,39,40,41,
- 42,43,60,45,46,47,48,49,50,51,
- 52,53,54,55,56,57,58,59,0,61,
+ 22,23,24,25,26,27,28,29,0,31,
+ 32,33,34,35,36,95,38,39,40,41,
+ 42,43,44,45,46,47,48,49,50,51,
+ 52,53,54,55,0,57,58,59,60,61,
62,63,64,0,1,2,68,69,70,0,
- 87,73,74,75,76,77,78,79,80,0,
- 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,0,37,38,39,40,41,42,43,60,
- 45,46,47,48,49,50,51,52,53,54,
- 55,56,57,58,59,66,61,62,63,64,
- 0,1,2,68,69,70,0,0,73,74,
- 75,76,77,78,79,80,9,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,0,37,
- 38,39,40,41,42,43,60,45,46,47,
- 48,49,50,51,52,53,54,55,56,57,
- 58,59,0,61,62,63,64,0,0,0,
- 68,69,70,4,87,73,74,75,76,77,
- 78,79,80,0,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,0,37,38,39,40,
- 41,42,43,65,45,46,47,48,49,50,
- 51,52,53,54,55,56,57,58,59,0,
- 61,62,63,64,0,88,89,68,69,70,
- 11,12,73,74,75,76,77,78,79,80,
- 0,82,83,84,85,86,0,1,2,3,
+ 0,73,0,75,76,77,78,79,80,81,
+ 0,83,84,85,86,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,35,0,37,38,39,40,41,42,43,
- 50,45,46,47,48,49,50,51,52,53,
- 54,55,56,57,58,59,0,61,62,63,
- 64,0,88,89,68,69,70,11,12,73,
- 74,75,76,77,78,79,80,0,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,0,
- 37,38,39,40,41,42,43,50,45,46,
- 47,48,49,50,51,52,53,54,55,56,
- 57,58,59,0,61,62,63,64,0,88,
- 89,68,69,70,0,36,73,74,75,76,
- 77,78,79,80,10,82,83,84,85,86,
+ 24,25,26,27,28,29,0,31,32,33,
+ 34,35,36,0,38,39,40,41,42,43,
+ 44,45,46,47,48,49,50,51,52,53,
+ 54,55,72,57,58,59,60,61,62,63,
+ 64,0,72,30,68,69,70,88,89,73,
+ 0,75,76,77,78,79,80,81,0,83,
+ 84,85,86,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,0,31,32,33,34,35,
+ 36,0,38,39,40,41,42,43,44,45,
+ 46,47,48,49,50,51,52,53,54,55,
+ 0,57,58,59,60,61,62,63,64,88,
+ 89,30,68,69,70,0,0,73,3,75,
+ 76,77,78,79,80,81,0,83,84,85,
+ 86,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,0,31,32,33,34,35,36,0,
+ 38,39,40,41,42,43,44,45,46,47,
+ 48,49,50,51,52,53,54,55,72,57,
+ 58,59,60,61,62,63,64,97,98,0,
+ 68,69,70,4,0,73,37,75,76,77,
+ 78,79,80,81,0,83,84,85,86,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,35,0,37,38,39,
- 40,41,42,43,0,45,46,47,48,49,
- 50,51,52,53,54,55,56,57,58,59,
- 0,61,62,63,64,0,88,89,68,69,
- 70,6,0,73,74,75,76,77,78,79,
- 80,0,82,83,84,85,86,0,1,2,
- 3,4,5,6,7,8,0,10,11,12,
+ 0,31,32,33,34,35,36,0,38,39,
+ 40,41,42,43,44,45,46,47,48,49,
+ 50,51,52,53,54,55,72,57,58,59,
+ 60,61,62,63,64,0,0,30,68,69,
+ 70,0,0,73,3,75,76,77,78,79,
+ 80,81,0,83,84,85,86,87,0,1,
+ 2,3,4,5,6,7,8,0,10,11,
+ 12,0,14,15,16,17,18,19,20,21,
+ 22,23,24,25,26,27,28,29,0,31,
+ 32,33,34,35,36,0,38,39,40,41,
+ 42,43,44,45,46,47,48,49,50,51,
+ 52,53,54,55,72,57,0,0,1,2,
+ 62,4,5,0,7,90,68,69,70,0,
+ 0,96,3,0,67,6,100,8,9,9,
+ 11,12,13,0,1,2,3,4,5,6,
+ 7,8,0,0,37,26,27,4,6,30,
+ 0,1,2,3,4,5,6,7,8,102,
+ 0,104,105,106,107,108,109,110,111,112,
+ 113,11,12,30,117,56,0,1,2,0,
+ 4,5,121,7,65,66,67,102,9,56,
+ 71,72,13,74,74,0,1,2,0,4,
+ 67,6,117,8,9,99,56,88,89,90,
+ 91,92,93,94,95,96,97,98,99,100,
+ 101,102,103,104,105,106,107,108,109,110,
+ 111,112,113,91,92,0,117,118,3,120,
+ 121,6,0,8,9,66,11,12,13,0,
+ 0,1,2,3,4,5,6,7,8,0,
+ 0,26,27,65,66,30,0,0,0,74,
+ 0,1,2,3,4,5,6,7,8,30,
+ 14,0,1,2,3,4,5,6,7,8,
+ 95,56,0,1,2,3,0,5,56,7,
+ 65,66,67,0,1,2,71,72,5,74,
+ 7,45,46,47,48,49,50,51,52,53,
+ 54,55,72,88,89,90,91,92,93,94,
+ 95,96,97,98,99,100,101,102,103,104,
+ 105,106,107,108,109,110,111,112,113,0,
+ 1,2,117,118,5,120,121,0,1,2,
+ 3,4,5,6,7,8,9,10,101,101,
13,14,15,16,17,18,19,20,21,22,
- 23,24,25,0,27,28,29,30,31,32,
- 33,34,35,0,37,38,39,40,41,42,
- 43,0,45,46,47,4,49,0,51,52,
- 53,54,55,0,57,58,59,0,0,62,
- 0,3,0,10,0,68,69,70,0,9,
- 0,3,90,3,6,121,8,9,96,11,
- 12,90,0,1,2,3,4,96,6,27,
- 8,44,24,25,26,0,0,1,2,4,
- 4,6,6,8,8,9,100,45,46,56,
- 0,49,44,51,52,53,54,55,60,57,
- 58,59,0,1,2,3,66,5,60,7,
- 0,71,99,65,66,67,0,1,2,71,
- 72,5,60,7,0,1,2,3,4,5,
- 6,7,8,0,44,87,88,89,90,91,
- 92,93,94,95,96,97,98,99,100,101,
- 102,103,104,105,106,107,108,109,110,111,
- 112,113,60,87,0,117,118,3,120,121,
- 6,95,8,9,0,11,12,67,0,1,
- 2,3,0,5,60,7,4,9,24,25,
- 26,67,0,1,2,3,4,5,6,7,
- 8,0,1,2,26,4,0,6,44,8,
- 4,0,102,0,104,105,106,107,108,109,
- 110,111,112,113,60,0,44,117,3,65,
- 66,67,0,1,2,71,72,5,0,1,
- 2,3,4,5,6,7,8,114,115,116,
- 44,87,88,89,90,91,92,93,94,95,
- 96,97,98,99,100,101,102,103,104,105,
- 106,107,108,109,110,111,112,113,0,1,
- 2,117,118,5,120,121,0,1,2,3,
- 4,5,6,7,8,9,10,0,0,13,
- 14,15,16,17,18,19,20,21,22,23,
- 72,0,26,27,36,0,0,1,2,3,
- 9,5,36,7,0,9,0,1,2,0,
- 4,45,46,0,48,49,0,51,52,53,
- 54,55,26,57,58,59,0,0,62,0,
- 1,2,0,0,68,69,70,71,72,73,
- 36,0,36,0,1,2,0,81,0,1,
- 2,3,4,5,6,7,8,9,10,0,
- 0,13,14,15,16,17,18,19,20,21,
- 22,23,95,0,26,27,3,44,65,36,
- 114,115,116,74,36,0,0,1,2,0,
- 1,2,46,45,46,49,48,49,65,51,
- 52,53,54,55,44,57,58,59,0,118,
- 62,3,27,97,98,0,68,69,70,71,
- 72,73,36,97,98,36,93,94,101,81,
- 45,46,72,60,49,0,51,52,53,54,
- 55,6,57,58,59,0,0,1,2,0,
- 1,2,3,4,5,6,7,8,0,0,
- 1,2,114,115,116,0,1,2,3,4,
- 5,6,7,8,0,10,11,12,13,14,
- 15,16,17,18,19,20,21,22,23,24,
- 25,0,0,28,29,30,31,32,33,34,
- 35,0,37,38,39,40,41,42,43,60,
- 65,66,47,0,1,2,3,4,5,6,
- 7,8,63,64,0,67,91,92,63,64,
- 0,1,2,9,4,5,44,7,73,0,
- 1,2,3,4,5,6,7,8,47,10,
- 11,12,13,14,15,16,17,18,19,20,
- 21,22,23,24,25,0,36,28,29,30,
- 31,32,33,34,35,0,37,38,39,40,
- 41,42,43,0,9,0,47,0,1,2,
- 3,100,5,0,7,71,3,0,1,2,
- 0,0,63,64,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,66,0,28,29,30,31,32,33,34,
- 35,9,37,38,39,40,41,42,43,0,
- 1,2,47,4,5,50,7,72,26,72,
- 63,64,87,0,1,2,0,0,1,2,
- 95,4,5,72,7,9,71,0,1,2,
+ 23,24,25,0,1,2,3,0,5,0,
+ 7,4,9,6,37,8,13,0,1,2,
+ 0,4,45,46,47,48,49,50,51,52,
+ 53,54,55,0,0,58,0,1,2,62,
+ 4,0,6,0,8,68,69,70,71,72,
+ 73,0,1,2,37,4,5,0,7,82,
+ 0,1,2,3,4,5,6,7,8,9,
+ 10,30,0,13,14,15,16,17,18,19,
+ 20,21,22,23,24,25,66,0,37,46,
+ 47,114,115,116,0,1,2,37,4,5,
+ 0,7,0,3,95,45,46,47,48,49,
+ 50,51,52,53,54,55,14,0,58,0,
+ 1,2,62,4,0,6,0,8,68,69,
+ 70,71,72,73,0,0,1,2,3,4,
+ 0,6,82,8,4,11,12,45,46,47,
+ 48,49,50,51,52,53,54,55,0,1,
+ 2,3,0,5,0,7,4,9,0,1,
+ 2,13,4,56,114,115,116,0,1,2,
+ 3,4,5,6,7,8,99,10,11,12,
+ 0,56,15,16,17,18,19,20,21,22,
+ 23,24,25,26,27,28,29,45,31,32,
+ 33,34,35,36,0,38,39,40,41,42,
+ 43,44,0,9,100,0,1,2,3,65,
+ 5,9,7,0,57,13,0,1,2,0,
+ 63,64,0,1,2,3,56,5,9,7,
+ 73,0,1,2,3,4,5,6,7,8,
+ 0,10,11,12,4,0,15,16,17,18,
+ 19,20,21,22,23,24,25,26,27,28,
+ 29,56,31,32,33,34,35,36,74,38,
+ 39,40,41,42,43,44,74,0,0,63,
+ 64,3,5,0,1,2,0,9,57,95,
+ 0,1,2,74,63,64,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,36,0,28,29,30,31,32,
- 33,34,35,0,37,38,39,40,41,42,
- 43,0,1,2,47,4,0,50,0,1,
- 2,3,0,5,0,7,4,71,0,0,
- 1,2,3,4,5,6,7,8,71,10,
- 11,12,13,14,15,16,17,18,19,20,
- 21,22,23,24,25,27,0,28,29,30,
- 31,32,33,34,35,9,37,38,39,40,
- 41,42,43,45,46,72,47,49,60,51,
- 52,53,54,55,90,57,58,59,0,65,
- 96,3,63,64,0,1,2,3,4,5,
- 6,7,8,0,10,11,12,13,14,15,
- 16,17,18,19,20,21,22,23,24,25,
- 0,0,28,29,30,31,32,33,34,35,
- 0,37,38,39,40,41,42,43,0,1,
- 2,47,4,87,6,0,8,0,1,2,
- 0,4,0,6,4,8,4,63,64,0,
+ 65,66,15,16,17,18,19,20,21,22,
+ 23,24,25,26,27,28,29,37,31,32,
+ 33,34,35,36,56,38,39,40,41,42,
+ 43,44,59,65,66,59,0,1,2,3,
+ 0,5,74,7,57,0,59,0,0,1,
+ 2,3,0,5,0,7,11,12,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,65,66,28,29,30,
- 31,32,33,34,35,45,37,38,39,40,
- 41,42,43,0,1,2,3,4,5,6,
- 7,8,0,10,11,12,13,14,15,16,
- 17,18,19,20,21,22,23,24,25,0,
- 0,28,29,30,31,32,33,34,35,0,
- 37,38,39,40,41,42,43,0,1,2,
- 47,4,5,50,7,0,44,0,3,0,
- 3,0,1,2,0,4,9,3,0,1,
- 2,3,4,5,6,7,8,118,10,11,
- 12,13,14,15,16,17,18,19,20,21,
- 22,23,24,25,65,0,28,29,30,31,
- 32,33,34,35,9,37,38,39,40,41,
- 42,43,0,0,0,47,3,60,5,6,
- 90,8,65,66,11,12,96,0,1,2,
- 3,4,5,6,7,8,9,24,25,0,
- 0,102,29,4,87,0,1,2,3,0,
- 5,0,7,26,27,4,117,44,0,1,
- 2,66,4,36,6,0,8,27,0,0,
- 0,44,3,60,60,48,63,64,65,66,
- 67,0,87,56,45,45,46,6,61,49,
- 0,51,52,53,54,55,6,57,58,59,
- 0,88,89,90,91,92,93,94,81,44,
+ 11,12,0,0,15,16,17,18,19,20,
+ 21,22,23,24,25,26,27,28,29,0,
+ 31,32,33,34,35,36,123,38,39,40,
+ 41,42,43,44,56,0,1,2,72,4,
+ 0,6,65,8,4,0,57,0,59,65,
+ 66,0,1,2,3,4,5,6,7,8,
+ 71,10,11,12,0,0,15,16,17,18,
+ 19,20,21,22,23,24,25,26,27,28,
+ 29,0,31,32,33,34,35,36,0,38,
+ 39,40,41,42,43,44,0,1,2,0,
+ 4,0,6,4,8,0,1,2,57,4,
+ 9,30,67,0,63,64,0,1,2,3,
+ 4,5,6,7,8,122,10,11,12,30,
+ 65,15,16,17,18,19,20,21,22,23,
+ 24,25,26,27,28,29,65,31,32,33,
+ 34,35,36,65,38,39,40,41,42,43,
+ 44,114,115,116,59,0,0,0,1,2,
+ 4,4,71,57,93,94,0,1,2,63,
+ 64,0,1,2,3,4,5,6,7,8,
+ 9,10,11,12,0,30,15,16,17,18,
+ 19,20,21,22,23,24,25,26,27,28,
+ 29,45,31,32,33,34,35,36,0,38,
+ 39,40,41,42,43,44,0,1,2,3,
+ 4,5,6,7,8,0,10,11,12,63,
+ 64,15,16,17,18,19,20,21,22,23,
+ 24,25,26,27,28,29,0,31,32,33,
+ 34,35,36,0,38,39,40,41,42,43,
+ 44,0,0,1,2,0,1,2,0,0,
+ 114,115,116,57,66,59,0,1,2,3,
+ 4,5,6,7,8,0,10,11,12,118,
+ 65,15,16,17,18,19,20,21,22,23,
+ 24,25,26,27,28,29,0,31,32,33,
+ 34,35,36,67,38,39,40,41,42,43,
+ 44,0,0,0,0,56,3,3,5,6,
+ 9,8,0,57,11,12,14,15,16,17,
+ 18,19,20,21,22,23,24,25,0,26,
+ 27,90,29,30,0,1,2,96,90,5,
+ 0,76,14,3,96,59,0,45,46,47,
+ 48,49,50,51,52,53,54,55,0,56,
+ 56,0,1,2,6,0,63,64,65,66,
+ 67,37,0,45,46,47,48,49,50,51,
+ 52,53,54,55,0,0,0,0,1,2,
+ 6,88,89,90,91,92,93,94,37,14,
97,98,99,100,101,102,103,104,105,106,
- 107,108,109,110,111,112,113,0,0,60,
- 3,3,5,6,0,8,0,3,11,12,
- 0,0,1,2,3,4,5,6,7,8,
- 9,24,25,114,115,116,29,0,1,2,
- 3,0,5,95,7,65,66,26,27,0,
- 0,44,91,92,0,1,2,36,0,1,
- 2,91,92,0,1,2,0,60,0,48,
- 63,64,65,66,67,67,0,56,0,1,
- 2,65,61,0,1,2,0,1,2,0,
- 36,50,71,44,36,88,89,90,91,92,
- 93,94,81,0,97,98,99,100,101,102,
+ 107,108,109,110,111,112,113,0,0,118,
+ 3,3,5,6,37,8,0,0,11,12,
+ 45,46,47,48,49,50,51,52,53,54,
+ 55,95,0,26,27,3,29,30,0,91,
+ 92,0,1,2,0,1,2,0,1,2,
+ 0,75,90,0,1,2,6,0,96,0,
+ 1,2,0,56,56,91,92,0,0,0,
+ 63,64,65,66,67,0,9,0,37,0,
+ 13,37,3,66,37,10,9,30,56,0,
+ 13,0,30,4,3,88,89,90,91,92,
+ 93,94,0,65,97,98,99,100,101,102,
103,104,105,106,107,108,109,110,111,112,
113,0,1,2,3,4,5,6,7,8,
- 62,10,11,12,13,14,15,16,17,18,
- 19,20,21,22,23,24,25,44,0,28,
- 29,30,31,32,33,34,35,0,37,38,
- 39,40,41,42,43,0,0,1,2,4,
- 4,0,0,1,2,3,4,5,6,7,
- 8,60,10,11,12,13,14,15,16,17,
- 18,19,20,21,22,23,24,25,122,28,
- 28,29,30,31,32,33,34,35,60,37,
- 38,39,40,41,42,43,50,60,0,47,
- 0,1,2,3,4,5,6,7,8,0,
- 10,11,12,13,14,15,16,17,18,19,
- 20,21,22,23,24,25,28,0,28,29,
- 30,31,32,33,34,35,9,37,38,39,
- 40,41,42,43,0,1,2,3,4,5,
- 6,7,8,26,10,11,12,13,14,15,
- 16,17,18,19,20,21,22,23,24,25,
- 0,0,28,29,30,31,32,33,34,35,
- 9,37,38,39,40,41,42,43,0,1,
- 2,3,4,5,6,7,8,26,10,11,
- 12,13,14,15,16,17,18,19,20,21,
- 22,23,24,25,44,0,28,29,30,31,
- 32,33,34,35,0,37,38,39,40,41,
- 42,43,0,1,2,65,4,66,0,0,
- 1,2,10,0,0,13,14,15,16,17,
- 18,19,20,21,22,23,0,1,2,27,
- 0,0,0,93,94,5,0,0,44,3,
- 0,0,10,3,0,36,9,45,46,36,
- 9,49,44,51,52,53,54,55,44,57,
- 58,59,0,26,62,0,1,2,36,4,
- 68,69,70,65,0,10,50,3,13,14,
- 15,16,17,18,19,20,21,22,23,0,
- 0,0,27,0,62,0,0,66,3,3,
- 0,93,94,10,119,0,44,0,3,9,
- 45,46,0,0,49,0,51,52,53,54,
- 55,0,57,58,59,0,26,62,87,36,
- 0,0,0,68,69,70,0,0,13,14,
- 15,16,17,18,19,20,21,22,23,123,
- 0,44,27,0,4,62,67,67,67,0,
+ 28,10,11,12,72,60,15,16,17,18,
+ 19,20,21,22,23,24,25,26,27,28,
+ 29,0,31,32,33,34,35,36,0,38,
+ 39,40,41,42,43,44,0,9,0,1,
+ 2,3,4,5,6,7,8,56,10,11,
+ 12,30,0,15,16,17,18,19,20,21,
+ 22,23,24,25,26,27,28,29,0,31,
+ 32,33,34,35,36,0,38,39,40,41,
+ 42,43,44,0,1,2,0,1,2,3,
+ 4,5,6,7,8,57,10,11,12,71,
+ 0,15,16,17,18,19,20,21,22,23,
+ 24,25,26,27,28,29,0,31,32,33,
+ 34,35,36,0,38,39,40,41,42,43,
+ 44,0,1,2,3,4,5,6,7,8,
+ 0,10,11,12,4,0,15,16,17,18,
+ 19,20,21,22,23,24,25,26,27,28,
+ 29,0,31,32,33,34,35,36,0,38,
+ 39,40,41,42,43,44,0,1,2,3,
+ 4,5,6,7,8,0,10,11,12,66,
+ 0,15,16,17,18,19,20,21,22,23,
+ 24,25,26,27,28,29,0,31,32,33,
+ 34,35,36,28,38,39,40,41,42,43,
+ 44,0,1,2,0,4,0,1,2,0,
+ 0,10,3,3,10,14,15,16,17,18,
+ 19,20,21,22,23,24,25,0,0,0,
+ 0,0,1,2,0,0,9,9,9,9,
+ 0,37,0,13,119,3,45,46,47,48,
+ 49,50,51,52,53,54,55,0,0,1,
+ 2,0,4,62,3,30,62,10,10,68,
+ 69,70,14,15,16,17,18,19,20,21,
+ 22,23,24,25,0,1,2,3,4,5,
+ 6,7,8,9,37,66,0,13,14,3,
+ 71,74,74,45,46,47,48,49,50,51,
+ 52,53,54,55,30,0,0,0,0,62,
+ 62,3,26,27,0,0,68,69,70,45,
+ 46,47,48,49,50,51,52,53,54,55,
+ 56,0,1,2,3,4,5,6,7,8,
+ 9,0,56,0,13,14,0,0,74,3,
+ 9,0,0,0,3,3,0,0,0,1,
+ 2,3,4,5,6,7,8,9,0,0,
+ 0,13,14,30,4,67,45,46,47,48,
+ 49,50,51,52,53,54,55,56,30,103,
+ 0,0,0,0,3,37,0,0,0,30,
+ 30,3,0,56,0,74,120,66,65,56,
+ 0,0,0,57,0,74,58,0,60,61,
+ 0,1,2,3,4,5,6,7,8,9,
+ 0,0,0,13,14,67,93,94,0,0,
+ 82,3,3,0,30,0,1,2,3,4,
+ 5,6,7,8,9,59,66,37,13,14,
+ 0,1,2,3,4,5,6,7,8,9,
+ 59,67,0,13,14,3,66,65,58,65,
+ 60,61,37,0,67,0,3,0,3,59,
+ 3,71,0,0,0,3,0,37,67,0,
+ 0,0,82,58,72,60,61,93,94,0,
+ 67,119,3,0,0,0,71,0,58,0,
+ 60,61,0,0,0,0,0,82,0,0,
+ 0,71,0,1,2,3,4,5,6,7,
+ 8,9,82,30,0,13,14,0,1,2,
+ 3,4,5,6,7,8,9,28,59,66,
+ 13,14,0,67,0,0,0,67,67,37,
+ 0,0,0,1,2,3,4,5,6,7,
+ 8,9,0,0,37,13,14,0,0,0,
+ 58,0,60,61,0,0,0,0,0,0,
+ 0,0,0,71,0,58,0,60,61,37,
+ 0,0,0,119,82,0,0,0,71,0,
+ 0,0,0,0,0,0,0,0,0,82,
+ 58,0,60,61,0,1,2,3,4,5,
+ 6,7,8,9,0,0,0,13,14,0,
+ 0,0,0,0,82,0,0,0,0,0,
1,2,3,4,5,6,7,8,9,0,
- 45,46,3,0,49,44,51,52,53,54,
- 55,66,57,58,59,26,27,87,0,0,
- 0,3,0,72,44,36,0,1,2,3,
- 4,5,6,7,8,9,0,48,72,0,
- 0,0,3,3,3,56,0,0,0,3,
- 61,3,26,27,0,72,0,3,0,0,
- 71,119,36,24,25,0,0,0,0,3,
- 81,0,0,0,48,72,3,0,0,0,
- 0,119,56,0,0,65,67,61,0,67,
- 0,44,0,0,0,0,0,71,0,60,
- 0,0,0,67,0,28,50,81,0,1,
- 2,3,4,5,6,7,8,9,50,0,
- 1,2,3,4,5,6,7,8,9,50,
- 72,0,0,66,26,27,0,0,67,67,
- 75,0,103,0,36,26,27,67,0,0,
- 0,0,0,0,95,36,48,0,0,120,
- 0,0,0,0,56,0,0,48,0,61,
- 0,0,0,0,0,56,0,0,0,71,
- 61,0,0,0,0,0,0,0,0,81,
- 71,0,0,0,0,0,0,0,0,0,
- 81,0,1,2,3,4,5,6,7,8,
- 9,0,0,1,2,3,4,5,6,7,
- 8,9,0,0,0,0,0,26,27,0,
- 0,0,0,0,0,0,0,36,26,27,
- 0,0,0,0,0,0,0,0,36,48,
- 0,0,0,0,0,0,0,56,0,0,
- 48,0,61,0,0,0,0,0,56,0,
- 0,0,0,61,0,0,0,0,0,0,
- 0,0,81,0,1,2,3,4,5,6,
- 7,8,9,81,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,26,
- 27,0,0,0,0,0,0,0,0,36,
- 0,0,0,0,0,0,0,0,0,0,
- 0,48,0,0,0,0,0,0,0,56,
- 0,0,0,0,61,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,81,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0
+ 0,37,13,14,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,58,0,60,61,37,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,82,58,0,60,
+ 61,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,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;
@@ -1352,308 +1353,311 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface TermAction {
public final static char termAction[] = {0,
- 5104,5079,5076,5076,5076,5076,5076,5076,5076,5089,
+ 5095,5070,5067,5067,5067,5067,5067,5067,5067,5080,
+ 1,1,1,5077,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,5095,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,5095,1,2129,2180,
+ 2449,3152,1,1,1,42,4730,4727,1,1,
+ 1,5102,786,5275,136,565,3255,3258,2097,3200,
+ 3153,2938,2246,3248,1751,3241,4233,3231,8,5083,
+ 5083,5083,5083,5083,5083,5083,5083,5083,5083,5083,
+ 5083,5083,5083,5083,5083,5083,5083,5083,5083,5083,
+ 5083,5083,5083,5083,5083,5083,5083,5083,3731,5083,
+ 5083,5083,5083,5083,5083,5095,5083,5083,5083,5083,
+ 5083,5083,5083,5083,5083,5083,5083,5083,5083,5083,
+ 5083,5083,5083,5083,5095,5083,5083,5083,5083,5083,
+ 5083,5083,5083,126,137,3037,5083,5083,5083,5083,
+ 302,5083,2246,5083,5083,5083,5083,5083,5083,5083,
+ 5396,5083,5083,5083,5083,5083,5095,5070,5067,5067,
+ 5067,5067,5067,5067,5067,5074,1,1,1,5077,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,5095,1,1,1,
+ 1,1,1,5095,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,134,1,2129,2180,2449,3152,1,1,
+ 1,905,2897,3232,1,1,1,130,5095,5275,
+ 5095,565,3255,3258,2097,3200,3153,2938,5095,3248,
+ 1751,3241,4233,3231,5095,5070,5067,5067,5067,5067,
+ 5067,5067,5067,5074,1,1,1,5077,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,5095,1,1,1,1,1,
+ 1,5095,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1794,1,2129,2180,2449,3152,1,1,1,2302,
+ 2275,3489,1,1,1,905,2897,5275,5095,565,
+ 3255,3258,2097,3200,3153,2938,5095,3248,1751,3241,
+ 4233,3231,5095,5070,5067,5067,5067,5067,5067,5067,
+ 5067,5074,1,1,1,5077,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,5086,1,1,1,
- 1,1,1,1,1,1,134,1,1,1,
- 1,1,1,1,2279,1,1,1,2057,1,
- 2646,1,1,1,1,1,1309,1,1,1,
- 136,3409,1,1,1,41,4744,4741,1,1,
- 1,5111,565,5282,2277,3462,3155,2123,3069,3419,
- 3045,160,3452,981,3441,2917,3440,8,5092,5092,
- 5092,5092,5092,5092,5092,5092,5092,5092,5092,5092,
- 5092,5092,5092,5092,5092,5092,5092,5092,5092,5092,
- 5092,5092,5092,5092,5092,5092,5092,5092,5092,5092,
- 5092,5092,5092,135,5092,5092,5092,5092,5092,5092,
- 5092,2279,5092,5092,5092,5092,5092,5092,5092,5092,
- 5092,5092,5092,5092,5092,5092,5092,1271,5092,5092,
- 5092,5092,124,5104,140,5092,5092,5092,5092,582,
- 5092,5092,5092,5092,5092,5092,5092,5092,1,5092,
- 5092,5092,5092,5092,5104,5079,5076,5076,5076,5076,
- 5076,5076,5076,5083,1,1,1,1,1,1,
+ 1,1,5095,1,1,1,1,1,1,41,
1,1,1,1,1,1,1,1,1,1,
- 5086,1,1,1,1,1,1,1,1,1,
- 5104,1,1,1,1,1,1,1,2475,1,
- 1,1,2057,1,2646,1,1,1,1,1,
- 1309,1,1,1,121,3409,1,1,1,503,
- 2567,2593,1,1,1,2984,2959,5282,2277,3462,
- 3155,2123,3069,3419,3045,2212,3452,981,3441,2917,
- 3440,5104,5079,5076,5076,5076,5076,5076,5076,5076,
- 5083,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,5086,1,1,
- 1,1,1,1,1,1,1,5104,1,1,
- 1,1,1,1,1,809,1,1,1,2057,
- 1,2646,1,1,1,1,1,1309,1,1,
- 1,5104,3409,1,1,1,5104,5121,5122,1,
- 1,1,446,1,5282,2277,3462,3155,2123,3069,
- 3419,3045,164,3452,981,3441,2917,3440,5104,5079,
- 5076,5076,5076,5076,5076,5076,5076,5083,1,1,
+ 1,1,1,1,1,1,1,1,5095,1,
+ 2129,2180,2449,3152,1,1,1,5095,5112,5113,
+ 1,1,1,129,419,5275,5135,565,3255,3258,
+ 2097,3200,3153,2938,5095,3248,1751,3241,4233,3231,
+ 5095,5070,5067,5067,5067,5067,5067,5067,5067,5074,
+ 1,1,1,5077,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,5086,1,1,1,1,1,
- 1,1,1,1,5104,1,1,1,1,1,
- 1,1,4753,1,1,1,2057,1,2646,1,
- 1,1,1,1,1309,1,1,1,5104,3409,
- 1,1,1,5104,4917,4914,1,1,1,445,
- 164,5282,2277,3462,3155,2123,3069,3419,3045,359,
- 3452,981,3441,2917,3440,5104,5079,5076,5076,5076,
- 5076,5076,5076,5076,5083,1,1,1,1,1,
+ 356,1,1,1,1,1,1,53,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,5086,1,1,1,1,1,1,1,1,
- 1,5104,1,1,1,1,1,1,1,4756,
- 1,1,1,2057,1,2646,1,1,1,1,
- 1,1309,1,1,1,3319,3409,1,1,1,
- 53,4929,4926,1,1,1,346,5104,5282,2277,
- 3462,3155,2123,3069,3419,3045,5110,3452,981,3441,
- 2917,3440,5104,5079,5076,5076,5076,5076,5076,5076,
- 5076,5083,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,5086,1,
- 1,1,1,1,1,1,1,1,5104,1,
- 1,1,1,1,1,1,1776,1,1,1,
- 2057,1,2646,1,1,1,1,1,1309,1,
- 1,1,5104,3409,1,1,1,128,5104,42,
- 1,1,1,5145,5109,5282,2277,3462,3155,2123,
- 3069,3419,3045,5104,3452,981,3441,2917,3440,5104,
- 5079,5076,5076,5076,5076,5076,5076,5076,5083,1,
+ 1,1,1,1,1,1,2555,1,2129,2180,
+ 2449,3152,1,1,1,5095,4893,4890,1,1,
+ 1,905,2897,5275,1968,565,3255,3258,2097,3200,
+ 3153,2938,5095,3248,1751,3241,4233,3231,5095,5070,
+ 5067,5067,5067,5067,5067,5067,5067,5074,1,1,
+ 1,5077,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,5095,1,
+ 1,1,1,1,1,5450,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,5086,1,1,1,1,
- 1,1,1,1,1,5104,1,1,1,1,
- 1,1,1,2571,1,1,1,2057,1,2646,
- 1,1,1,1,1,1309,1,1,1,123,
- 3409,1,1,1,127,2567,2593,1,1,1,
- 2984,2959,5282,2277,3462,3155,2123,3069,3419,3045,
- 5104,3452,981,3441,2917,3440,5104,5079,5076,5076,
- 5076,5076,5076,5076,5076,5083,1,1,1,1,
+ 1,1,1,1,5095,1,2129,2180,2449,3152,
+ 1,1,1,54,4905,4902,1,1,1,128,
+ 5095,5275,5095,565,3255,3258,2097,3200,3153,2938,
+ 437,3248,1751,3241,4233,3231,5095,5070,5067,5067,
+ 5067,5067,5067,5067,5067,5074,1,1,1,5077,
1,1,1,1,1,1,1,1,1,1,
- 1,1,5086,1,1,1,1,1,1,1,
- 1,1,5104,1,1,1,1,1,1,1,
- 1558,1,1,1,2057,1,2646,1,1,1,
- 1,1,1309,1,1,1,122,3409,1,1,
- 1,126,2567,2593,1,1,1,2984,2959,5282,
- 2277,3462,3155,2123,3069,3419,3045,5104,3452,981,
- 3441,2917,3440,5104,5079,5076,5076,5076,5076,5076,
- 5076,5076,5083,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,5086,
- 1,1,1,1,1,1,1,1,1,40,
- 1,1,1,1,1,1,1,2621,1,1,
- 1,2057,1,2646,1,1,1,1,1,1309,
- 1,1,1,5104,3409,1,1,1,125,2567,
- 2593,1,1,1,301,5143,5282,2277,3462,3155,
- 2123,3069,3419,3045,5404,3452,981,3441,2917,3440,
- 5104,3426,1,1,1,1,1,1,1,5114,
+ 1,1,1,1,1,1,5095,1,1,1,
+ 1,1,1,5095,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,5113,1,1,1,
- 1,1,1,1,1,1,5104,1,1,1,
- 1,1,1,1,5104,1,1,1,2057,1,
- 2646,1,1,1,1,1,1309,1,1,1,
- 5104,3409,1,1,1,5104,2567,2593,1,1,
- 1,2726,114,5282,2277,3462,3155,2123,3069,3419,
- 3045,117,3452,981,3441,2917,3440,42,4732,4729,
- 3212,987,3019,4071,2649,4093,138,1463,4049,4027,
- 5368,5366,5375,5374,5370,5371,5369,5372,5373,5376,
- 5367,4137,4115,5104,5360,5127,911,613,768,5129,
- 667,621,708,137,5130,5128,581,5123,5125,5126,
- 5124,5104,5363,5439,1229,647,5440,5104,5357,5364,
- 5336,5362,5361,301,5358,5359,5337,5104,1,5495,
- 5104,3158,223,5404,5104,1095,5496,5497,383,5112,
- 5104,4771,4181,3054,4771,4728,4771,4768,4203,4768,
- 4768,4181,343,42,42,3158,5145,4203,847,5360,
- 5432,3052,4768,4768,4771,42,1,4959,4959,5145,
- 4956,847,847,5432,5432,360,2246,5363,5439,2108,
- 5104,5440,4768,5357,5364,5336,5362,5361,1776,5358,
- 5359,5337,1,4998,4994,3615,935,2166,4768,2649,
- 142,5111,582,4768,4768,4768,5104,5121,5122,4768,
- 4768,2166,1776,2649,364,4998,4994,3615,1,2166,
- 1,2649,1,429,3420,4768,4768,4768,4768,4768,
- 4768,4768,4768,4768,4768,4768,4768,4768,4768,4768,
- 4768,4768,4768,4768,4768,4768,4768,4768,4768,4768,
- 4768,4768,1776,360,382,4768,4768,4781,4768,4768,
- 4781,360,4781,4778,5104,4778,4778,1734,1,4998,
- 4994,5016,389,5019,1776,5022,382,5114,4778,4778,
- 4781,1057,5104,5057,5053,2675,5145,2166,847,2649,
- 5432,432,1,1,5113,1,53,4750,4774,4750,
- 5122,5104,2174,5104,1692,1650,1608,1566,1524,1482,
- 1440,1398,1356,1314,4778,5104,560,4307,2723,4778,
- 4778,4778,5104,5121,5122,4778,4778,2704,5104,5048,
- 5043,2675,4956,2166,5040,2649,5037,5529,5530,5531,
- 5122,4778,4778,4778,4778,4778,4778,4778,4778,4778,
- 4778,4778,4778,4778,4778,4778,4778,4778,4778,4778,
- 4778,4778,4778,4778,4778,4778,4778,4778,40,4953,
- 4953,4778,4778,4953,4778,4778,5104,4969,4969,227,
- 4965,227,227,227,227,4973,1,355,5104,1,
+ 1,1,5490,1,2129,2180,2449,3152,1,1,
+ 1,127,2451,3708,1,1,1,905,2897,5275,
+ 5095,565,3255,3258,2097,3200,3153,2938,5095,3248,
+ 1751,3241,4233,3231,5095,5070,5067,5067,5067,5067,
+ 5067,5067,5067,5074,1,1,1,5077,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1996,5104,227,1,2161,5104,1,4998,4994,2675,
- 5108,2166,489,2649,52,309,390,4732,4729,1,
- 5145,1,1,5104,973,1,132,1,1,1,
- 1,1,309,1,1,1,133,141,1,53,
- 4917,4914,5104,129,1,1,1,407,227,5507,
- 1861,5104,42,5104,8327,8327,334,5592,5104,4969,
- 4969,227,4965,227,227,227,227,5025,1,5104,
- 33,1,1,1,1,1,1,1,1,1,
- 1,1,5458,345,227,1,1849,2540,2590,5143,
- 5529,5530,5531,3335,489,224,48,4923,4923,40,
- 4962,4962,5439,1,1,5440,973,1,4747,1,
- 1,1,1,1,560,1,1,1,95,5107,
- 1,4762,5360,2337,2309,5104,1,1,1,406,
- 227,5507,4920,2337,2309,2371,2421,2392,2212,5592,
- 5363,5439,414,1776,5440,118,5357,5364,5336,5362,
- 5361,3592,5358,5359,5337,30,287,5121,5122,343,
- 5057,5053,3615,5145,2166,847,2649,5432,288,5104,
- 5121,5122,5529,5530,5531,5104,1,1,1,1,
- 1,1,1,1,5104,1,1,1,1,1,
+ 1,1,1,1,5095,1,1,1,1,1,
+ 1,33,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,139,5104,1,1,1,1,1,1,1,
- 1,521,1,1,1,1,1,1,1,1776,
- 4941,4941,1,309,5048,5043,2675,4956,2166,5040,
- 2649,5037,4159,1384,5104,1907,3569,3132,1,1,
- 5104,4732,4729,5112,987,4784,3781,2649,5629,1,
- 4827,4823,3212,4831,3019,4071,2649,4093,3308,4787,
- 4049,4027,4814,4820,4793,4796,4808,4805,4811,4802,
- 4799,4790,4817,4137,4115,286,789,5127,911,613,
- 768,5129,667,621,708,1,5130,5128,581,5123,
- 5125,5126,5124,5104,360,5104,1229,1,4998,4994,
- 2675,2246,2166,1,2649,5111,4373,5104,4917,4914,
- 5104,418,42,42,504,42,4732,4729,3212,987,
- 3019,4071,2649,4093,5112,549,4049,4027,5368,5366,
- 5375,5374,5370,5371,5369,5372,5373,5376,5367,4137,
- 4115,1772,398,5127,911,613,768,5129,667,621,
- 708,5010,5130,5128,581,5123,5125,5126,5124,5104,
- 4732,4729,1229,987,2166,3832,2649,1815,5013,1996,
- 4159,1384,360,39,4991,4988,1,5104,4732,4729,
- 360,987,4784,3333,2649,5070,5111,42,4732,4729,
- 3212,987,3019,4071,2649,4093,5112,549,4049,4027,
- 5368,5366,5375,5374,5370,5371,5369,5372,5373,5376,
- 5367,4137,4115,852,116,5127,911,613,768,5129,
- 667,621,708,5104,5130,5128,581,5123,5125,5126,
- 5124,5104,4732,4729,1229,5145,5104,3832,1,4998,
- 4994,3615,1,2166,5104,2649,383,5111,225,144,
- 4732,4729,3212,987,3019,4071,2649,4093,5111,549,
- 4049,4027,5368,5366,5375,5374,5370,5371,5369,5372,
- 5373,5376,5367,4137,4115,5360,1,5127,911,613,
- 768,5129,667,621,708,5110,5130,5128,581,5123,
- 5125,5126,5124,5363,5439,5498,1229,5440,1776,5357,
- 5364,5336,5362,5361,4181,5358,5359,5337,236,2632,
- 4203,4938,42,42,1,4827,4823,3212,4831,3019,
- 4071,2649,4093,5104,4787,4049,4027,4814,4820,4793,
- 4796,4808,4805,4811,4802,4799,4790,4817,4137,4115,
- 5104,5104,5127,911,613,768,5129,667,621,708,
- 5104,5130,5128,581,5123,5125,5126,5124,433,42,
- 42,1229,5145,5109,4947,5104,4944,96,1,1,
- 42,1,5104,4950,5145,4950,2811,42,42,42,
- 4732,4729,3212,987,3019,4071,2649,4093,5108,549,
- 4049,4027,5368,5366,5375,5374,5370,5371,5369,5372,
- 5373,5376,5367,4137,4115,3651,2619,5127,911,613,
- 768,5129,667,621,708,1715,5130,5128,581,5123,
- 5125,5126,5124,42,4732,4729,3212,987,3019,4071,
- 2649,4093,5104,549,4049,4027,5368,5366,5375,5374,
- 5370,5371,5369,5372,5373,5376,5367,4137,4115,5104,
- 115,5127,911,613,768,5129,667,621,708,142,
- 5130,5128,581,5123,5125,5126,5124,5104,4732,4729,
- 1229,987,2166,3832,2649,5104,3891,1,4371,5104,
- 3158,5104,4732,4729,5104,5145,339,4480,42,4732,
- 4729,3212,987,3019,4071,2649,4093,5107,549,4049,
- 4027,5368,5366,5375,5374,5370,5371,5369,5372,5373,
- 5376,5367,4137,4115,5604,5104,5127,911,613,768,
- 5129,667,621,708,5110,5130,5128,581,5123,5125,
- 5126,5124,5104,1,104,1229,1105,1776,5561,5555,
- 4181,5559,339,339,5553,5554,4203,1,5076,5076,
- 227,5076,227,227,227,227,227,5584,5585,42,
- 226,2174,5562,5145,339,1,4998,4994,2675,5104,
- 2166,5104,2649,227,8357,1654,4307,5564,99,42,
- 42,4622,5145,5073,5031,33,5028,5360,1,317,
- 5104,3469,5034,729,4623,2057,1589,1696,5565,5586,
- 5563,120,5109,2905,1973,5363,5439,3592,3409,5440,
- 119,5357,5364,5336,5362,5361,3592,5358,5359,5337,
- 5104,5575,5574,5587,5556,5557,5580,5581,5592,4735,
- 5578,5579,5558,5560,5582,5583,5588,5568,5569,5570,
- 5566,5567,5576,5577,5572,5571,5573,5104,311,1776,
- 1105,3060,5561,5555,5104,5559,5104,4498,5553,5554,
- 5104,1,5076,5076,227,5076,227,227,227,227,
- 5095,5584,5585,5529,5530,5531,5562,1,4998,4994,
- 5016,5104,5019,5460,5022,3763,2619,227,8357,442,
- 5104,5564,3569,3132,5104,4979,4976,5073,50,4985,
- 4985,3569,3132,5104,4929,4926,5104,729,5104,2057,
- 1589,1696,5565,5586,5563,1187,188,2905,390,5121,
- 5122,5547,3409,5104,8260,6816,5104,8260,6816,5104,
- 5143,2646,219,4738,4982,5575,5574,5587,5556,5557,
- 5580,5581,5592,44,5578,5579,5558,5560,5582,5583,
- 5588,5568,5569,5570,5566,5567,5576,5577,5572,5571,
- 5573,42,4732,4729,3212,987,3019,4071,2649,4093,
- 3660,549,4049,4027,5368,5366,5375,5374,5370,5371,
- 5369,5372,5373,5376,5367,4137,4115,4759,103,5127,
- 911,613,768,5129,667,621,708,319,5130,5128,
- 581,5123,5125,5126,5124,5104,5104,4732,4729,2360,
- 5145,5104,42,4732,4729,3212,987,3019,4071,2649,
- 4093,1432,549,4049,4027,5368,5366,5375,5374,5370,
- 5371,5369,5372,5373,5376,5367,4137,4115,5101,3642,
- 5127,911,613,768,5129,667,621,708,1945,5130,
- 5128,581,5123,5125,5126,5124,1684,1776,5104,1229,
- 42,4732,4729,4524,987,3019,4071,2649,4093,5104,
- 549,4049,4027,5368,5366,5375,5374,5370,5371,5369,
- 5372,5373,5376,5367,4137,4115,3332,5104,5127,911,
- 613,768,5129,667,621,708,5114,5130,5128,581,
- 5123,5125,5126,5124,42,4732,4729,3212,987,3019,
- 4071,2649,4093,5113,549,4049,4027,5368,5366,5375,
- 5374,5370,5371,5369,5372,5373,5376,5367,4137,4115,
- 131,5104,5127,911,613,768,5129,667,621,708,
- 5114,5130,5128,581,5123,5125,5126,5124,42,4732,
- 4729,3212,987,3019,4071,2649,4093,5113,549,4049,
- 4027,5368,5366,5375,5374,5370,5371,5369,5372,5373,
- 5376,5367,4137,4115,2540,5104,5127,911,613,768,
- 5129,667,621,708,382,5130,5128,581,5123,5125,
- 5126,5124,5104,4732,4729,4932,5145,4270,130,5104,
- 5006,5002,605,5104,5104,5368,5366,5375,5374,5370,
- 5371,5369,5372,5373,5376,5367,5104,5121,5122,5360,
- 5104,416,1,2421,2392,2704,5104,1,4765,4608,
- 5104,1,5064,3059,5104,5143,5114,5363,5439,3226,
- 517,5440,2540,5357,5364,5336,5362,5361,560,5358,
- 5359,5337,1,5113,5495,240,4907,4903,3288,4911,
- 1095,5496,5497,4935,5104,605,3650,3312,4894,4900,
- 4873,4876,4888,4885,4891,4882,4879,4870,4897,367,
- 365,410,4858,1,5067,107,5104,892,3528,3191,
- 1,2421,2392,5064,3625,278,560,5104,5061,166,
- 4849,4843,372,5104,4840,437,4867,4846,4837,4852,
- 4855,436,4864,4861,4834,222,166,5495,517,3288,
- 5104,5104,510,1095,5496,5497,5104,5104,5368,5366,
- 5375,5374,5370,5371,5369,5372,5373,5376,5367,3534,
- 53,3309,5360,5104,5121,5067,1101,1143,2085,1,
- 5076,5076,227,5076,227,227,227,227,5095,5104,
- 5363,5439,3545,5104,5440,3464,5357,5364,5336,5362,
- 5361,2471,5358,5359,5337,227,8357,166,5104,496,
- 5104,3051,494,2465,5121,5073,1,5076,5076,227,
- 5076,227,227,227,227,5098,38,2057,2034,79,
- 5104,5104,2756,3481,4609,2905,5104,2,5104,4610,
- 3409,3721,227,8357,5104,5285,1,4611,5104,1,
- 219,3625,5073,5171,5172,5104,5104,308,5104,2622,
- 5592,5104,5104,5104,2057,3159,4650,1,5104,5104,
- 498,3625,2905,5104,5104,3822,4593,3409,5104,4621,
- 5104,40,5104,5104,5104,5104,5104,218,5104,3653,
- 5104,5104,5104,2652,5104,3396,3679,5592,1,5076,
- 5076,227,5076,227,227,227,227,5095,3723,1,
- 5076,5076,227,5076,227,227,227,227,5095,3724,
- 5284,5104,5104,4350,227,8357,5104,5104,2652,1865,
- 3772,5104,568,5104,5073,227,8357,717,5104,5104,
- 5104,5104,5104,5104,3706,5073,2057,5104,5104,649,
- 5104,5104,5104,5104,2905,5104,5104,2057,5104,3409,
- 5104,5104,5104,5104,5104,2905,5104,5104,5104,219,
- 3409,5104,5104,5104,5104,5104,5104,5104,5104,5592,
- 219,5104,5104,5104,5104,5104,5104,5104,5104,5104,
- 5592,1,5076,5076,227,5076,227,227,227,227,
- 227,5104,1,5076,5076,227,5076,227,227,227,
- 227,227,5104,5104,5104,5104,5104,227,8357,5104,
- 5104,5104,5104,5104,5104,5104,5104,5073,227,8357,
- 5104,5104,5104,5104,5104,5104,5104,5104,5073,2057,
- 5104,5104,5104,5104,5104,5104,5104,2905,5104,5104,
- 2057,5104,3409,5104,5104,5104,5104,5104,2905,5104,
- 5104,5104,5104,3409,5104,5104,5104,5104,5104,5104,
- 5104,5104,5592,1,5076,5076,227,5076,227,227,
- 227,227,227,5592,5104,5104,5104,5104,5104,5104,
- 5104,5104,5104,5104,5104,5104,5104,5104,5104,227,
- 8357,5104,5104,5104,5104,5104,5104,5104,5104,5073,
- 5104,5104,5104,5104,5104,5104,5104,5104,5104,5104,
- 5104,2057,5104,5104,5104,5104,5104,5104,5104,2905,
- 5104,5104,5104,5104,3409,5104,5104,5104,5104,5104,
- 5104,5104,5104,5104,5104,5104,5104,5104,5104,5104,
- 5104,5104,5104,5104,5592
+ 135,1,2129,2180,2449,3152,1,1,1,905,
+ 2897,4721,1,1,1,5095,5095,5275,3086,565,
+ 3255,3258,2097,3200,3153,2938,5095,3248,1751,3241,
+ 4233,3231,5095,5070,5067,5067,5067,5067,5067,5067,
+ 5067,5074,1,1,1,5077,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,5095,1,1,1,1,1,1,5095,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,2009,1,
+ 2129,2180,2449,3152,1,1,1,2302,2275,43,
+ 1,1,1,5137,5095,5275,3005,565,3255,3258,
+ 2097,3200,3153,2938,5095,3248,1751,3241,4233,3231,
+ 5095,3183,1,1,1,1,1,1,1,5105,
+ 1,1,1,5104,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 5095,1,1,1,1,1,1,443,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,5278,1,2129,2180,
+ 2449,3152,1,1,1,116,140,4724,1,1,
+ 1,5095,5095,5275,2663,565,3255,3258,2097,3200,
+ 3153,2938,5095,3248,1751,3241,4233,3231,43,4718,
+ 4715,1215,774,3959,4022,3490,4043,144,886,4001,
+ 3980,5095,5353,5360,5358,5367,5366,5362,5363,5361,
+ 5364,5365,5368,5359,4085,4064,5118,3867,5095,857,
+ 975,5120,902,3610,967,144,5121,5119,706,5114,
+ 5116,5117,5115,5356,5431,5432,5350,5357,5329,5355,
+ 5354,5351,5352,5330,3031,1220,138,5095,4718,4715,
+ 5487,774,4760,5095,3490,4127,617,5488,5489,37,
+ 1,4148,4754,5095,1714,4754,2185,4754,4754,166,
+ 4754,4754,4754,365,4986,4982,3422,1,578,1,
+ 3490,1,120,390,971,4754,4754,383,3937,4754,
+ 344,5048,5044,3422,5137,578,1543,3490,5424,2148,
+ 123,1673,1632,1591,1550,1509,1468,1427,1386,1345,
+ 1304,3443,2392,1031,2604,4754,5095,4718,4715,5095,
+ 774,578,4714,3490,4754,4754,4754,2148,5105,1755,
+ 4754,4754,5104,4754,166,1,4947,4947,30,4944,
+ 1051,1543,2604,5424,361,2216,1755,4754,4754,4754,
+ 4754,4754,4754,4754,4754,4754,4754,4754,4754,4754,
+ 4754,4754,4754,4754,4754,4754,4754,4754,4754,4754,
+ 4754,4754,4754,3915,3893,5095,4754,4754,4757,4754,
+ 4754,4757,447,4757,4757,4201,4757,4757,4757,45,
+ 5095,5039,5034,2529,4944,578,5031,3490,5028,5095,
+ 5095,4757,4757,4929,4929,4757,225,142,143,361,
+ 5095,5048,5044,2529,5137,578,1543,3490,5424,4745,
+ 5353,310,5039,5034,2529,4944,578,5031,3490,5028,
+ 361,4757,1,4986,4982,2529,5095,578,4739,3490,
+ 4757,4757,4757,5095,5112,5113,4757,4757,578,4757,
+ 3490,5356,5431,5432,5350,5357,5329,5355,5354,5351,
+ 5352,5330,1972,4757,4757,4757,4757,4757,4757,4757,
+ 4757,4757,4757,4757,4757,4757,4757,4757,4757,4757,
+ 4757,4757,4757,4757,4757,4757,4757,4757,4757,5095,
+ 5112,5113,4757,4757,2056,4757,4757,5095,4957,4957,
+ 229,4953,229,229,229,229,4961,1,582,582,
+ 229,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,4986,4982,5004,43,5007,1,
+ 5010,5137,5105,1543,490,5424,5104,391,4718,4715,
+ 162,5137,1,1,1,1,1,1,1,1,
+ 1,1,1,5095,5095,1299,433,1,1,1,
+ 1,383,4736,335,4736,1,1,1,408,229,
+ 5499,5095,4718,4715,43,774,4760,5095,3490,5584,
+ 5095,4957,4957,229,4953,229,229,229,229,5013,
+ 1,4751,5095,229,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1261,139,1037,5431,
+ 5432,5521,5522,5523,5095,4718,4715,490,774,578,
+ 97,3490,226,4748,5452,1,1,1,1,1,
+ 1,1,1,1,1,1,5353,446,1299,434,
+ 43,43,1,5137,141,4935,5095,4932,1,1,
+ 1,407,229,5499,125,344,43,43,2678,5137,
+ 5095,1543,5584,5424,957,3443,2392,5356,5431,5432,
+ 5350,5357,5329,5355,5354,5351,5352,5330,1,4986,
+ 4982,2529,43,578,5095,3490,5137,310,5095,4718,
+ 4715,310,5137,4742,5521,5522,5523,5095,1,1,
+ 1,1,1,1,1,1,2216,1,1,1,
+ 347,1755,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1205,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,361,2185,1,4986,4982,3422,2463,
+ 578,168,3490,5095,1,168,5095,5112,5113,5095,
+ 1,1,1,4986,4982,5004,1755,5007,5101,5010,
+ 5621,1,4803,4799,1215,4807,3959,4022,3490,4043,
+ 1,4763,4001,3980,384,5095,4790,4796,4769,4772,
+ 4784,4781,4787,4778,4775,4766,4793,4085,4064,5118,
+ 3867,1755,857,975,5120,902,3610,967,361,5121,
+ 5119,706,5114,5116,5117,5115,168,5095,1,4106,
+ 1161,2678,2056,5095,5112,5113,5095,340,1220,361,
+ 5095,8435,8435,5100,43,43,505,43,4718,4715,
+ 1215,774,3959,4022,3490,4043,5103,549,4001,3980,
+ 3519,3572,5360,5358,5367,5366,5362,5363,5361,5364,
+ 5365,5368,5359,4085,4064,5118,3867,5135,857,975,
+ 5120,902,3610,967,1755,5121,5119,706,5114,5116,
+ 5117,5115,3476,340,340,1584,1,4986,4982,2529,
+ 5095,578,340,3490,1220,124,3651,5095,1,4986,
+ 4982,3422,5095,578,5095,3490,3443,2392,5102,43,
+ 4718,4715,1215,774,3959,4022,3490,4043,5103,549,
+ 4001,3980,5095,190,5360,5358,5367,5366,5362,5363,
+ 5361,5364,5365,5368,5359,4085,4064,5118,3867,5095,
+ 857,975,5120,902,3610,967,3348,5121,5119,706,
+ 5114,5116,5117,5115,1755,98,1,1,1972,1,
+ 5095,4938,2469,4938,2830,289,1220,430,3651,3419,
+ 3572,146,4718,4715,1215,774,3959,4022,3490,4043,
+ 5102,549,4001,3980,5095,5095,5360,5358,5367,5366,
+ 5362,5363,5361,5364,5365,5368,5359,4085,4064,5118,
+ 3867,131,857,975,5120,902,3610,967,5095,5121,
+ 5119,706,5114,5116,5117,5115,101,43,43,54,
+ 5137,5095,5019,5113,5016,5095,4718,4715,1220,5137,
+ 5103,2502,1884,5095,43,43,1,4803,4799,1215,
+ 4807,3959,4022,3490,4043,5092,4763,4001,3980,5113,
+ 2539,4790,4796,4769,4772,4784,4781,4787,4778,4775,
+ 4766,4793,4085,4064,5118,3867,4733,857,975,5120,
+ 902,3610,967,2542,5121,5119,706,5114,5116,5117,
+ 5115,5521,5522,5523,1707,5095,43,5095,4718,4715,
+ 5137,5137,5102,1220,2366,2337,5095,4893,4890,43,
+ 43,43,4718,4715,1215,774,3959,4022,3490,4043,
+ 5099,549,4001,3980,5095,1031,5360,5358,5367,5366,
+ 5362,5363,5361,5364,5365,5368,5359,4085,4064,5118,
+ 3867,667,857,975,5120,902,3610,967,504,5121,
+ 5119,706,5114,5116,5117,5115,43,4718,4715,1215,
+ 774,3959,4022,3490,4043,5095,549,4001,3980,4106,
+ 1161,5360,5358,5367,5366,5362,5363,5361,5364,5365,
+ 5368,5359,4085,4064,5118,3867,368,857,975,5120,
+ 902,3610,967,5095,5121,5119,706,5114,5116,5117,
+ 5115,119,54,4893,4890,288,5112,5113,118,106,
+ 5521,5522,5523,1220,805,3651,43,4718,4715,1215,
+ 774,3959,4022,3490,4043,5095,549,4001,3980,5098,
+ 5596,5360,5358,5367,5366,5362,5363,5361,5364,5365,
+ 5368,5359,4085,4064,5118,3867,5095,857,975,5120,
+ 902,3610,967,1092,5121,5119,706,5114,5116,5117,
+ 5115,5095,224,1,1,4449,572,2678,5553,5547,
+ 5099,5551,5095,1220,5545,5546,5353,5360,5358,5367,
+ 5366,5362,5363,5361,5364,5365,5368,5359,227,5576,
+ 5577,4127,5554,5556,41,4941,4941,4148,4127,4941,
+ 1,3420,5353,3785,4148,2781,1,5356,5431,5432,
+ 5350,5357,5329,5355,5354,5351,5352,5330,122,701,
+ 1755,49,4899,4899,3937,5095,1710,1718,5557,5578,
+ 5555,2438,117,5356,5431,5432,5350,5357,5329,5355,
+ 5354,5351,5352,5330,121,228,1,41,4950,4950,
+ 3937,5567,5566,5579,5548,5549,5572,5573,4896,5353,
+ 5570,5571,5550,5552,5574,5575,5580,5560,5561,5562,
+ 5558,5559,5568,5569,5564,5563,5565,5095,346,5098,
+ 572,2687,5553,5547,2457,5551,5095,360,5545,5546,
+ 5356,5431,5432,5350,5357,5329,5355,5354,5351,5352,
+ 5330,3662,318,5576,5577,5025,5554,5556,5095,3915,
+ 3893,5095,4967,4964,51,4973,4973,5095,4994,4990,
+ 5095,3093,4127,40,4979,4976,2801,1,4148,5095,
+ 4905,4902,33,701,1755,3915,3893,399,5095,5095,
+ 1710,1718,5557,5578,5555,302,4998,5095,5135,238,
+ 5001,4970,4914,1028,5135,5396,5105,1031,1755,5095,
+ 5104,5095,1031,1505,3094,5567,5566,5579,5548,5549,
+ 5572,5573,5095,5539,5570,5571,5550,5552,5574,5575,
+ 5580,5560,5561,5562,5558,5559,5568,5569,5564,5563,
+ 5565,43,4718,4715,1215,774,3959,4022,3490,4043,
+ 3465,549,4001,3980,415,1582,5360,5358,5367,5366,
+ 5362,5363,5361,5364,5365,5368,5359,4085,4064,5118,
+ 3867,79,857,975,5120,902,3610,967,1,5121,
+ 5119,706,5114,5116,5117,5115,5095,5061,43,4718,
+ 4715,1215,774,3959,4022,3490,4043,1382,549,4001,
+ 3980,5022,5095,5360,5358,5367,5366,5362,5363,5361,
+ 5364,5365,5368,5359,4085,4064,5118,3867,5095,857,
+ 975,5120,902,3610,967,5095,5121,5119,706,5114,
+ 5116,5117,5115,391,5112,5113,43,4718,4715,4328,
+ 774,3959,4022,3490,4043,1220,549,4001,3980,5102,
+ 5095,5360,5358,5367,5366,5362,5363,5361,5364,5365,
+ 5368,5359,4085,4064,5118,3867,5095,857,975,5120,
+ 902,3610,967,287,5121,5119,706,5114,5116,5117,
+ 5115,43,4718,4715,1215,774,3959,4022,3490,4043,
+ 5095,549,4001,3980,1541,5095,5360,5358,5367,5366,
+ 5362,5363,5361,5364,5365,5368,5359,4085,4064,5118,
+ 3867,5095,857,975,5120,902,3610,967,5095,5121,
+ 5119,706,5114,5116,5117,5115,43,4718,4715,1215,
+ 774,3959,4022,3490,4043,5095,549,4001,3980,647,
+ 5095,5360,5358,5367,5366,5362,5363,5361,5364,5365,
+ 5368,5359,4085,4064,5118,3867,5095,857,975,5120,
+ 902,3610,967,3346,5121,5119,706,5114,5116,5117,
+ 5115,5095,4718,4715,1,5137,5095,8292,7421,5095,
+ 5095,760,3546,3805,5055,5353,5360,5358,5367,5366,
+ 5362,5363,5361,5364,5365,5368,5359,1,1,5095,
+ 1,5095,8292,7421,5095,5095,5101,518,5103,5105,
+ 5095,3091,5095,5104,3390,4403,5356,5431,5432,5350,
+ 5357,5329,5355,5354,5351,5352,5330,1,242,4883,
+ 4879,5095,4887,5487,3468,3073,5058,5055,760,617,
+ 5488,5489,4834,4870,4876,4849,4852,4864,4861,4867,
+ 4858,4855,4846,4873,33,383,383,4923,383,383,
+ 4923,383,4923,4926,3091,930,81,4923,383,2951,
+ 5102,5100,518,4825,4819,4816,4843,4822,4813,4828,
+ 4831,4840,4837,4810,4721,5095,5095,5095,312,5058,
+ 5487,2692,5163,5164,5095,5095,617,5488,5489,383,
+ 383,383,383,383,383,383,383,383,383,383,
+ 4926,36,384,384,4917,384,384,4917,384,4917,
+ 4920,5095,1789,133,4917,384,5095,105,4926,3649,
+ 5101,109,5095,320,3757,2949,522,5095,1,5067,
+ 5067,229,5067,229,229,229,229,229,366,5095,
+ 54,229,8451,2502,5112,1178,384,384,384,384,
+ 384,384,384,384,384,384,384,4920,3260,649,
+ 417,279,373,5095,5052,5064,5095,5095,5095,3288,
+ 5112,4234,5095,1921,411,4920,716,4483,4908,1755,
+ 438,1,5095,3117,132,5100,2129,497,2679,3152,
+ 1,5067,5067,229,5067,229,229,229,229,5086,
+ 5095,495,5095,229,8451,1134,2366,2337,5095,5095,
+ 5584,3177,3303,39,2502,1,5067,5067,229,5067,
+ 229,229,229,229,5086,2180,3310,5064,229,8451,
+ 1,5067,5067,229,5067,229,229,229,229,5089,
+ 3492,2060,5095,229,8451,4404,2852,3691,2129,4911,
+ 2679,3152,5064,5095,4406,5095,4515,5095,3370,3510,
+ 4523,221,5095,309,511,4526,5095,5064,4417,5095,
+ 5095,499,5584,2129,5277,2679,3152,2366,2337,5095,
+ 1664,3390,4547,2,5095,5095,221,5095,2129,5095,
+ 2679,3152,5095,5095,5095,5095,5095,5584,5095,1,
+ 5095,220,1,5067,5067,229,5067,229,229,229,
+ 229,5086,5584,41,5095,229,8451,1,5067,5067,
+ 229,5067,229,229,229,229,5086,3138,3545,4212,
+ 229,8451,5095,1664,5095,5095,5095,1843,787,5064,
+ 5095,5095,1,5067,5067,229,5067,229,229,229,
+ 229,229,5095,5095,5064,229,8451,5095,5095,5095,
+ 2129,5095,2679,3152,5095,5095,5095,5095,5095,5095,
+ 5095,5095,5095,221,5095,2129,5095,2679,3152,5064,
+ 5095,5095,5095,3390,5584,5095,5095,5095,221,5095,
+ 5095,5095,5095,5095,5095,5095,5095,5095,5095,5584,
+ 2129,5095,2679,3152,1,5067,5067,229,5067,229,
+ 229,229,229,229,5095,5095,5095,229,8451,5095,
+ 5095,5095,5095,5095,5584,5095,5095,5095,5095,1,
+ 5067,5067,229,5067,229,229,229,229,229,5095,
+ 5095,5064,229,8451,5095,5095,5095,5095,5095,5095,
+ 5095,5095,5095,5095,5095,5095,5095,5095,5095,5095,
+ 5095,5095,2129,5095,2679,3152,5064,5095,5095,5095,
+ 5095,5095,5095,5095,5095,5095,5095,5095,5095,5095,
+ 5095,5095,5095,5095,5095,5095,5584,2129,5095,2679,
+ 3152,5095,5095,5095,5095,5095,5095,5095,5095,5095,
+ 5095,5095,5095,5095,5095,5095,5095,5095,5095,5095,
+ 5095,5584
};
};
public final static char termAction[] = TermAction.termAction;
@@ -1661,58 +1665,59 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface Asb {
public final static char asb[] = {0,
- 535,67,113,61,1104,687,687,687,687,57,
- 1104,592,406,592,521,113,523,114,114,114,
- 114,114,114,114,114,114,1015,1021,1026,1023,
- 1030,1028,1035,1033,1037,1036,1038,203,1039,113,
- 97,29,29,29,29,153,483,1,589,29,
- 354,200,592,592,1,437,1015,200,1063,28,
- 836,59,996,97,998,998,925,925,483,113,
- 114,114,114,114,114,114,114,114,114,114,
- 114,114,114,114,114,114,114,114,114,113,
- 113,113,113,113,113,113,113,113,113,113,
- 113,114,200,200,191,97,476,476,476,476,
- 300,200,1,250,985,996,533,996,528,996,
- 530,996,980,57,153,354,354,1,354,28,
- 113,151,835,200,150,153,152,150,200,354,
- 1023,1023,1021,1021,1021,1028,1028,1028,1028,1026,
- 1026,1033,1030,1030,1036,1035,1037,1116,1038,250,
- 313,758,655,654,370,57,523,1104,1104,1104,
- 1104,153,153,476,602,475,589,153,585,256,
- 153,480,300,304,478,533,308,153,153,153,
- 300,476,114,29,1019,156,200,59,153,153,
- 152,836,113,191,354,1054,200,760,762,153,
- 836,113,113,113,113,1104,687,1104,97,254,
- 585,256,480,479,480,300,480,308,308,153,
- 300,153,200,1019,250,835,59,153,151,200,
- 659,647,658,762,300,151,200,200,200,200,
- 483,483,585,584,644,153,256,1116,302,973,
- 1106,256,480,480,722,153,308,644,642,643,
- 153,1019,1020,1019,113,156,978,59,663,113,
- 656,656,357,357,153,756,250,689,200,153,
- 200,200,585,836,687,150,673,1108,147,1104,
- 677,56,723,153,644,114,153,1019,483,114,
- 354,978,663,113,113,762,836,200,760,647,
- 663,381,151,271,151,480,480,147,1059,250,
- 680,114,1116,365,722,153,57,57,153,1020,
- 200,354,743,762,151,663,1060,271,151,480,
- 533,57,1108,147,114,114,153,153,153,743,
- 200,743,475,687,730,730,1060,533,77,677,
- 153,1104,153,153,1104,736,743,271,843,271,
- 474,474,751,78,57,153,483,763,736,577,
- 887,245,1104,579,879,271,29,29,751,77,
- 1116,114,1116,1060,1104,1104,1104,78,1104,153,
- 211,1060,1060,153,533,200,199,738,797,476,
- 245,577,842,533,533,753,57,475,69,1104,
- 69,1116,78,97,97,95,932,97,1060,1060,
- 640,751,29,738,843,842,843,1060,364,1059,
- 200,842,842,842,57,153,795,689,200,147,
- 200,211,1060,245,1104,200,751,842,113,936,
- 147,1060,644,842,842,842,153,153,730,200,
- 200,394,78,640,78,1060,211,245,113,78,
- 75,644,200,934,644,644,153,1060,474,533,
- 533,1096,113,76,483,1060,1060,200,934,1060,
- 150,78,200,483,1060,643,78,200,934,78
+ 703,7,354,1,1104,701,701,701,701,98,
+ 1104,449,900,449,548,354,550,355,355,355,
+ 355,355,355,355,355,355,451,457,462,459,
+ 466,464,471,469,473,472,474,149,475,354,
+ 338,70,70,70,70,394,510,42,446,70,
+ 300,146,449,449,42,931,451,146,1063,69,
+ 849,100,624,338,449,451,1010,1010,510,354,
+ 355,355,355,355,355,355,355,355,355,355,
+ 355,355,355,355,355,355,355,355,355,354,
+ 354,354,354,354,354,354,354,354,354,354,
+ 354,355,146,146,137,338,689,689,689,689,
+ 246,146,42,196,613,624,308,624,303,624,
+ 305,624,608,98,394,300,300,42,300,69,
+ 354,392,848,146,391,394,393,391,146,300,
+ 459,459,457,457,457,464,464,464,464,462,
+ 462,469,466,466,472,471,473,1116,474,196,
+ 259,771,591,590,397,631,631,98,550,1104,
+ 1104,1104,1104,394,394,689,651,688,446,394,
+ 442,202,394,501,246,250,499,308,254,394,
+ 394,394,246,689,355,70,455,102,146,100,
+ 394,394,701,393,849,354,137,300,490,146,
+ 773,775,394,849,354,354,354,354,1104,1104,
+ 338,200,442,202,501,500,501,246,501,254,
+ 254,394,246,394,146,455,196,848,100,394,
+ 392,146,595,583,594,775,246,392,146,146,
+ 146,146,510,510,442,441,601,394,202,1116,
+ 248,1056,1106,202,501,501,433,394,254,601,
+ 599,600,394,455,456,455,354,102,1061,451,
+ 100,573,354,592,592,560,560,394,769,196,
+ 9,146,394,146,146,442,849,701,391,604,
+ 1108,388,1104,691,97,434,394,601,355,394,
+ 455,510,355,300,1061,573,354,354,775,849,
+ 146,773,583,573,408,392,217,392,501,501,
+ 388,495,196,694,355,1116,568,433,394,98,
+ 98,394,456,146,300,754,775,392,573,496,
+ 217,392,501,308,98,1108,388,355,355,394,
+ 394,394,754,146,754,688,701,504,504,496,
+ 308,318,691,394,1104,394,394,1104,747,754,
+ 217,856,217,687,687,762,319,98,394,510,
+ 776,747,745,972,191,1104,555,892,217,70,
+ 70,762,318,1116,355,1116,496,1104,1104,1104,
+ 319,1104,394,157,496,496,394,308,146,145,
+ 749,810,689,191,745,855,308,308,764,98,
+ 688,310,1104,310,1116,319,338,338,336,767,
+ 338,496,496,970,762,70,749,856,855,856,
+ 496,567,495,146,855,855,855,98,394,808,
+ 9,146,388,146,157,496,191,1104,146,762,
+ 855,354,1019,388,496,601,855,855,855,394,
+ 394,504,146,146,421,319,970,319,496,157,
+ 191,354,319,316,601,146,1017,601,601,394,
+ 496,687,308,308,1096,354,317,510,496,496,
+ 146,1017,496,391,319,146,510,496,600,319,
+ 146,1017,319
};
};
public final static char asb[] = Asb.asb;
@@ -1720,117 +1725,117 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface Asr {
public final static byte asr[] = {0,
- 30,63,31,32,64,7,33,34,35,37,
- 47,38,39,40,41,42,28,24,25,8,
- 6,11,12,5,29,65,43,3,51,13,
- 14,62,46,15,68,52,27,16,53,54,
- 17,18,55,57,19,20,58,69,59,10,
- 70,21,22,49,23,45,1,2,4,0,
- 9,72,118,87,26,66,121,0,81,114,
- 115,116,36,72,119,122,71,73,74,48,
- 56,61,76,78,85,83,75,80,82,84,
- 86,50,77,79,9,26,51,62,46,68,
- 52,27,53,54,55,57,58,69,59,70,
- 45,49,47,63,64,10,31,35,33,30,
- 39,14,23,13,19,17,18,20,21,16,
- 15,22,40,43,41,42,28,38,32,37,
- 24,25,11,12,29,34,8,6,3,4,
- 7,5,1,2,0,96,90,11,12,91,
- 92,88,89,44,93,94,97,98,99,100,
- 101,102,117,72,95,67,104,105,106,107,
- 108,109,110,111,112,113,118,71,26,121,
- 65,1,2,8,6,4,3,60,66,87,
- 9,0,65,72,95,66,118,87,71,121,
- 13,14,30,63,15,31,32,16,17,18,
- 64,33,19,20,34,35,37,47,38,39,
- 10,21,22,23,40,41,42,28,24,25,
- 11,12,29,43,9,26,7,5,3,1,
- 2,8,4,6,0,81,7,114,115,116,
- 48,9,3,8,6,5,72,71,26,73,
- 51,13,14,62,46,15,68,52,27,16,
- 53,54,17,18,55,57,19,20,58,69,
- 59,10,70,21,45,22,49,23,4,1,
- 2,36,0,4,50,72,0,1,2,9,
- 71,0,63,64,10,31,35,33,30,39,
- 14,23,13,19,17,18,20,21,16,15,
- 22,40,43,41,42,28,38,32,37,5,
- 7,4,3,24,25,8,6,11,12,29,
- 34,1,2,118,9,0,74,50,65,72,
- 95,87,60,3,9,66,26,67,0,13,
- 14,15,16,17,18,19,20,21,22,23,
- 51,46,52,27,53,54,55,57,58,59,
- 45,49,26,9,87,7,1,2,60,3,
- 8,6,5,4,0,51,13,14,62,46,
- 15,68,52,27,16,53,54,17,18,55,
- 57,19,20,58,69,59,10,70,21,45,
- 22,49,23,1,2,4,64,63,11,12,
- 6,91,92,99,8,100,5,29,44,107,
- 108,104,105,106,112,111,113,89,88,109,
- 110,97,98,93,94,101,102,24,25,90,
- 103,3,60,67,66,65,0,4,44,50,
- 72,0,9,87,13,14,30,15,31,32,
- 16,17,18,33,19,20,34,35,37,47,
- 38,39,10,21,22,23,40,41,42,28,
- 3,24,25,8,6,11,12,29,4,43,
- 5,7,1,2,64,63,0,36,72,4,
- 1,2,50,0,13,14,30,63,15,31,
- 32,16,17,18,64,7,33,19,20,34,
- 35,37,47,38,39,10,21,22,23,40,
- 41,42,1,2,3,24,25,8,6,11,
- 12,5,29,4,43,73,28,0,1,2,
- 123,50,0,47,46,7,49,5,1,2,
- 4,74,9,50,72,95,118,87,71,26,
- 121,60,3,120,96,103,90,24,25,8,
- 6,11,12,91,92,88,89,44,93,94,
- 97,98,99,100,101,102,117,104,105,106,
- 107,108,109,110,111,112,113,65,66,67,
- 0,67,66,71,9,0,8,6,4,5,
- 7,1,2,3,60,65,67,66,9,87,
- 95,0,46,47,49,9,65,95,67,66,
- 87,0,50,72,74,0,50,66,0,72,
- 9,60,3,67,66,26,44,0,51,13,
- 14,62,46,15,68,52,27,16,53,54,
- 17,18,55,57,19,20,58,69,59,10,
- 70,21,45,22,49,23,1,2,4,95,
- 0,45,1,2,4,114,115,116,0,65,
- 67,66,1,2,0,46,49,74,3,50,
- 72,26,47,9,65,95,67,66,87,0,
- 119,0,50,67,0,7,5,3,60,6,
- 8,95,51,13,14,46,15,68,52,27,
- 16,53,54,17,18,55,57,19,20,58,
- 69,59,10,70,21,45,22,49,23,1,
- 2,4,87,9,62,0,61,51,13,14,
- 62,46,15,68,52,81,27,16,53,54,
- 17,18,55,56,57,19,20,58,69,59,
- 10,70,21,48,45,22,49,23,9,3,
- 8,4,26,50,6,7,1,2,5,36,
- 0,71,62,46,15,68,52,16,53,54,
- 17,18,55,57,19,20,58,69,59,70,
- 21,45,22,49,23,14,13,51,9,3,
- 8,6,26,48,61,81,27,36,7,1,
- 2,5,4,10,56,0,62,46,15,68,
- 52,16,53,54,17,18,55,57,19,20,
- 58,69,59,10,70,21,45,22,49,23,
- 14,13,51,9,3,8,6,26,48,56,
- 61,81,27,44,7,4,36,5,1,2,
- 0,75,0,9,71,63,64,47,24,25,
- 8,6,11,12,29,34,3,40,43,41,
- 42,28,38,32,37,14,23,13,19,17,
- 18,20,21,16,15,22,31,35,33,30,
- 39,50,7,1,2,4,10,5,0,10,
- 68,62,69,70,14,23,13,19,17,18,
- 20,21,16,15,22,74,50,4,5,2,
- 1,49,45,59,58,57,7,55,54,53,
- 27,52,46,51,120,103,24,25,60,3,
- 96,90,6,91,92,11,12,89,88,44,
- 93,94,97,98,8,99,100,101,65,95,
- 87,121,67,104,105,106,107,108,109,110,
- 111,112,113,72,118,71,102,117,66,26,
- 9,0,63,64,24,25,11,12,29,34,
- 40,43,41,42,28,38,32,37,14,23,
- 13,19,17,18,20,21,16,15,22,10,
- 31,35,33,30,39,8,6,4,60,7,
- 5,1,2,3,0,26,9,7,5,3,
+ 9,72,118,74,13,66,121,0,48,15,
+ 16,62,46,17,68,49,14,18,50,51,
+ 19,20,52,53,21,22,54,69,55,10,
+ 70,23,45,24,47,25,1,2,4,95,
+ 0,31,63,32,33,64,7,34,35,36,
+ 38,57,39,40,41,42,43,28,26,27,
+ 8,6,11,12,5,29,65,44,3,48,
+ 15,16,62,46,17,68,49,14,18,50,
+ 51,19,20,52,53,21,22,54,69,55,
+ 10,70,23,24,47,25,45,1,2,4,
+ 0,96,90,11,12,91,92,88,89,30,
+ 93,94,97,98,99,100,101,102,117,72,
+ 95,67,104,105,106,107,108,109,110,111,
+ 112,113,118,71,13,121,65,1,2,8,
+ 6,4,3,56,66,74,9,0,65,72,
+ 95,66,118,74,71,121,15,16,31,63,
+ 17,32,33,18,19,20,64,34,21,22,
+ 35,36,38,57,39,40,10,23,24,25,
+ 41,42,43,28,26,27,11,12,29,44,
+ 9,13,7,5,3,1,2,8,4,6,
+ 0,82,7,114,115,116,58,9,3,8,
+ 6,5,72,71,13,73,48,15,16,62,
+ 46,17,68,49,14,18,50,51,19,20,
+ 52,53,21,22,54,69,55,10,70,23,
+ 45,24,47,25,4,1,2,37,0,4,
+ 59,72,0,1,2,9,71,0,63,64,
+ 10,32,36,34,31,40,16,25,15,21,
+ 19,20,22,23,18,17,24,41,44,42,
+ 43,28,39,33,38,5,7,4,3,26,
+ 27,8,6,11,12,29,35,1,2,118,
+ 9,0,37,72,4,1,2,59,0,82,
+ 114,115,116,37,72,119,122,71,73,75,
+ 58,60,61,77,79,86,84,76,81,83,
+ 85,87,59,78,80,9,13,48,62,46,
+ 68,49,14,50,51,52,53,54,69,55,
+ 70,45,47,57,63,64,10,32,36,34,
+ 31,40,16,25,15,21,19,20,22,23,
+ 18,17,24,41,44,42,43,28,39,33,
+ 38,26,27,11,12,29,35,8,6,3,
+ 4,7,5,1,2,0,15,16,17,18,
+ 19,20,21,22,23,24,25,48,46,49,
+ 14,50,51,52,53,54,55,45,47,13,
+ 9,74,7,1,2,56,3,8,6,5,
+ 4,0,45,1,2,4,114,115,116,0,
+ 57,46,7,47,5,1,2,4,75,59,
+ 120,103,26,27,56,3,96,90,6,91,
+ 92,11,12,89,88,30,93,94,97,98,
+ 8,99,100,101,65,95,74,121,67,104,
+ 105,106,107,108,109,110,111,112,113,72,
+ 118,71,102,117,66,13,9,0,4,30,
+ 59,72,0,65,67,66,1,2,0,9,
+ 74,15,16,31,17,32,33,18,19,20,
+ 34,21,22,35,36,38,57,39,40,10,
+ 23,24,25,41,42,43,28,3,26,27,
+ 8,6,11,12,29,4,44,5,7,1,
+ 2,64,63,0,1,2,123,59,0,75,
+ 59,65,72,95,74,56,3,9,66,13,
+ 67,0,46,57,47,9,65,95,67,66,
+ 74,0,8,6,4,5,7,1,2,3,
+ 56,65,67,66,9,74,95,0,67,66,
+ 71,9,0,59,72,75,0,10,68,62,
+ 69,70,16,25,15,21,19,20,22,23,
+ 18,17,24,75,59,72,95,118,71,121,
+ 7,53,54,55,45,47,1,2,52,51,
+ 50,14,49,5,4,46,48,9,74,13,
+ 56,3,120,96,103,90,26,27,8,6,
+ 11,12,91,92,88,89,30,93,94,97,
+ 98,99,100,101,102,117,104,105,106,107,
+ 108,109,110,111,112,113,67,66,65,0,
+ 59,66,0,72,9,56,3,67,66,13,
+ 30,0,15,16,31,63,17,32,33,18,
+ 19,20,64,7,34,21,22,35,36,38,
+ 57,39,40,10,23,24,25,41,42,43,
+ 1,2,3,26,27,8,6,11,12,5,
+ 29,4,44,73,28,0,46,47,75,3,
+ 59,72,13,57,9,65,95,67,66,74,
+ 0,119,0,59,67,0,76,0,7,5,
+ 3,56,6,8,95,48,15,16,46,17,
+ 68,49,14,18,50,51,19,20,52,53,
+ 21,22,54,69,55,10,70,23,45,24,
+ 47,25,1,2,4,74,9,62,0,61,
+ 48,15,16,62,46,17,68,49,82,14,
+ 18,50,51,19,20,52,60,53,21,22,
+ 54,69,55,10,70,23,58,45,24,47,
+ 25,9,3,8,4,13,59,6,7,1,
+ 2,5,37,0,71,62,46,17,68,49,
+ 18,50,51,19,20,52,53,21,22,54,
+ 69,55,70,23,45,24,47,25,16,15,
+ 48,9,3,8,6,13,58,61,82,14,
+ 37,7,1,2,5,4,10,60,0,48,
+ 15,16,62,46,17,68,49,14,18,50,
+ 51,19,20,52,53,21,22,54,69,55,
+ 10,70,23,45,24,47,25,1,2,4,
+ 64,63,11,12,6,91,92,99,8,100,
+ 5,29,30,65,107,108,104,105,106,112,
+ 111,113,89,88,109,110,97,98,93,94,
+ 101,102,26,27,66,90,103,3,56,67,
+ 0,62,46,17,68,49,18,50,51,19,
+ 20,52,53,21,22,54,69,55,10,70,
+ 23,45,24,47,25,16,15,48,9,3,
+ 8,6,13,58,60,61,82,14,30,7,
+ 4,37,5,1,2,0,9,71,63,64,
+ 57,26,27,8,6,11,12,29,35,3,
+ 41,44,42,43,28,39,33,38,16,25,
+ 15,21,19,20,22,23,18,17,24,32,
+ 36,34,31,40,59,7,1,2,4,10,
+ 5,0,63,64,26,27,11,12,29,35,
+ 41,44,42,43,28,39,33,38,16,25,
+ 15,21,19,20,22,23,18,17,24,10,
+ 32,36,34,31,40,8,6,4,56,7,
+ 5,1,2,3,0,13,9,7,5,3,
1,2,6,8,4,72,0
};
};
@@ -1839,58 +1844,59 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface Nasb {
public final static char nasb[] = {0,
- 133,11,25,11,11,11,11,11,11,172,
- 11,11,106,11,150,113,130,25,25,148,
- 25,25,25,25,25,25,11,11,11,11,
- 11,11,11,11,11,11,11,25,11,25,
- 158,237,237,237,237,130,125,196,32,4,
- 74,156,11,11,196,108,11,156,25,68,
- 118,11,11,158,11,11,12,12,125,113,
- 25,25,25,25,25,25,25,25,25,25,
- 25,25,25,25,25,25,25,25,25,25,
- 25,25,25,25,25,25,25,25,25,25,
- 113,25,156,156,144,1,11,11,11,11,
- 62,156,23,87,217,218,11,218,128,218,
- 53,218,211,172,130,74,74,23,74,237,
- 78,226,19,156,225,10,130,225,156,74,
+ 181,11,41,11,11,11,11,11,11,241,
+ 11,11,200,11,51,135,152,41,41,219,
+ 41,41,41,41,41,41,11,11,11,11,
+ 11,11,11,11,11,11,11,41,11,41,
+ 177,244,244,244,244,152,145,210,48,4,
+ 95,186,11,11,210,202,11,186,41,79,
+ 150,11,11,177,11,11,30,30,145,135,
+ 41,41,41,41,41,41,41,41,41,41,
+ 41,41,41,41,41,41,41,41,41,41,
+ 41,41,41,41,41,41,41,41,41,41,
+ 135,41,186,186,164,1,11,11,11,11,
+ 55,186,39,73,174,175,11,175,99,175,
+ 25,175,168,241,152,95,95,39,95,244,
+ 70,22,66,186,21,222,152,21,186,95,
11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,87,
- 70,144,35,35,11,172,130,11,11,11,
- 11,151,10,11,11,11,185,130,196,196,
- 151,196,208,196,11,11,196,208,130,10,
- 11,11,25,237,196,65,156,11,10,130,
- 162,118,25,183,74,11,156,174,196,130,
- 118,113,113,113,113,11,11,11,23,11,
- 30,167,196,196,83,117,83,196,54,10,
- 117,151,156,51,185,19,11,10,151,156,
- 11,140,11,176,116,151,156,156,156,156,
- 125,125,196,30,41,130,138,11,11,47,
- 229,167,83,83,179,151,54,41,11,11,
- 151,196,49,11,113,185,163,11,196,25,
- 11,11,35,35,130,140,87,176,156,151,
- 156,156,30,118,11,172,196,190,192,11,
- 11,172,81,208,41,25,54,51,125,25,
- 74,163,30,25,25,196,118,156,174,220,
- 196,11,226,196,208,196,60,222,138,87,
- 11,25,11,17,43,208,172,172,10,49,
- 156,74,196,176,226,30,138,176,226,60,
- 165,92,192,222,25,25,10,208,208,76,
- 156,196,11,11,188,188,138,165,103,11,
- 208,11,10,10,11,196,76,176,198,196,
- 11,11,196,98,92,10,125,154,30,11,
- 198,230,11,54,47,176,237,237,58,110,
- 11,25,11,138,11,11,11,111,11,54,
- 136,138,138,54,85,156,156,196,196,11,
- 190,11,196,11,11,11,172,11,56,11,
- 11,11,111,236,236,203,11,236,138,138,
- 11,196,237,76,198,196,198,138,90,11,
- 156,120,196,196,172,208,11,237,156,192,
- 156,205,138,196,11,156,58,120,78,25,
- 192,138,41,198,120,120,208,96,188,156,
- 156,196,111,11,111,138,205,192,113,111,
- 56,41,156,196,41,41,96,138,11,85,
- 85,140,25,11,205,138,138,156,37,138,
- 225,111,156,205,138,41,111,156,37,111
+ 11,11,11,11,11,11,11,11,11,73,
+ 91,164,87,87,11,11,11,241,152,11,
+ 11,11,11,101,10,11,11,11,157,152,
+ 210,210,101,210,188,210,11,11,210,188,
+ 152,10,11,11,41,244,210,76,186,11,
+ 10,152,11,109,150,41,155,95,11,186,
+ 123,210,152,150,135,135,135,135,11,11,
+ 39,11,97,236,210,210,112,149,112,210,
+ 223,10,149,101,186,35,157,66,11,222,
+ 101,186,11,160,11,125,148,101,186,186,
+ 186,186,145,145,210,97,64,152,227,11,
+ 11,89,229,236,112,112,128,101,223,64,
+ 11,11,101,210,46,11,135,157,110,11,
+ 11,210,41,11,11,87,87,152,160,73,
+ 125,186,101,186,186,97,150,11,241,210,
+ 204,206,11,11,241,37,188,64,41,223,
+ 35,145,41,95,110,97,41,41,210,150,
+ 186,123,16,210,11,22,210,188,210,58,
+ 18,227,73,11,41,11,12,191,188,241,
+ 241,10,46,186,95,210,125,22,97,227,
+ 125,22,58,83,114,206,18,41,41,10,
+ 188,188,81,186,210,11,11,138,138,227,
+ 83,104,11,188,11,10,10,11,210,81,
+ 125,212,210,11,11,210,118,114,10,145,
+ 184,97,11,212,230,11,223,89,125,244,
+ 244,85,132,11,41,11,227,11,11,11,
+ 133,11,223,225,227,227,223,14,186,186,
+ 210,210,11,204,11,210,11,11,11,241,
+ 11,107,11,11,11,133,243,243,195,11,
+ 243,227,227,11,210,244,81,212,210,212,
+ 227,28,11,186,140,210,210,241,188,11,
+ 244,186,206,186,197,227,210,11,186,85,
+ 140,70,41,206,227,64,212,140,140,188,
+ 217,138,186,186,210,133,11,133,227,197,
+ 206,135,133,107,64,186,210,64,64,217,
+ 227,11,14,14,160,41,11,197,227,227,
+ 186,60,227,21,133,186,197,227,64,133,
+ 186,60,133
};
};
public final static char nasb[] = Nasb.nasb;
@@ -1898,30 +1904,31 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface Nasr {
public final static char nasr[] = {0,
- 3,12,7,5,147,145,120,144,143,2,
- 0,5,2,7,134,0,182,0,65,133,
- 132,0,47,4,5,7,2,12,0,60,
- 0,4,186,0,67,0,12,2,7,5,
- 64,0,5,104,161,0,151,0,136,0,
- 138,0,5,1,0,113,0,156,0,154,
- 0,53,65,0,4,173,0,171,0,12,
- 2,7,5,78,0,124,0,4,28,0,
- 184,0,111,0,55,0,5,91,0,176,
- 0,165,5,164,0,150,0,4,46,38,
- 174,0,4,64,0,4,47,167,0,64,
- 46,69,4,38,0,53,2,65,0,105,
- 4,46,68,0,4,98,0,3,5,2,
- 43,0,4,170,0,4,38,39,0,2,
- 7,53,63,95,96,4,0,5,12,7,
- 2,3,0,47,4,34,0,4,47,38,
- 0,2,114,0,155,0,4,46,68,104,
- 44,5,0,5,91,23,4,0,5,104,
- 183,0,96,95,5,54,0,110,0,5,
- 91,63,53,7,2,4,0,4,46,68,
- 79,0,23,175,4,102,0,2,61,0,
- 2,5,120,116,117,118,12,88,0,96,
- 95,53,63,54,5,7,2,0,39,53,
- 7,2,4,153,0,115,4,47,0
+ 3,12,7,5,146,144,119,143,142,2,
+ 0,181,0,54,0,95,94,52,62,53,
+ 5,7,2,0,5,1,0,175,0,5,
+ 2,7,133,0,137,0,183,0,46,4,
+ 5,7,2,12,0,135,0,4,185,0,
+ 2,7,3,0,52,64,0,153,0,12,
+ 2,7,5,63,0,64,132,131,0,4,
+ 27,0,5,90,0,4,172,0,170,0,
+ 123,0,154,0,155,0,66,0,150,0,
+ 12,2,7,5,77,0,59,0,5,42,
+ 2,3,0,4,63,0,112,0,2,113,
+ 0,110,0,164,5,163,0,4,45,37,
+ 173,0,5,90,22,4,0,5,103,182,
+ 0,63,45,68,4,37,0,109,0,104,
+ 4,45,67,0,4,97,0,52,2,64,
+ 0,2,42,0,95,94,5,53,0,2,
+ 7,52,62,94,95,4,0,2,5,119,
+ 115,116,117,12,87,0,4,46,37,0,
+ 4,169,0,46,4,32,0,2,60,0,
+ 5,103,160,0,22,174,4,101,0,4,
+ 46,166,0,5,90,62,52,7,2,4,
+ 0,4,45,67,78,0,149,0,5,7,
+ 12,3,1,0,4,37,38,0,38,52,
+ 7,2,4,152,0,4,45,67,103,43,
+ 5,0,114,4,46,0
};
};
public final static char nasr[] = Nasr.nasr;
@@ -1930,14 +1937,14 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface TerminalIndex {
public final static char terminalIndex[] = {0,
115,116,2,32,14,11,81,10,117,102,
- 12,13,50,54,62,70,76,77,88,89,
- 104,107,109,8,9,122,68,114,15,57,
- 63,69,86,90,92,95,96,99,101,111,
- 112,113,46,20,106,56,97,105,108,3,
- 49,66,72,75,78,79,85,91,100,1,
+ 12,13,122,68,50,54,62,70,76,77,
+ 88,89,104,107,109,8,9,114,15,20,
+ 57,63,69,86,90,92,95,96,99,101,
+ 111,112,113,46,106,56,108,49,66,72,
+ 75,78,85,91,100,1,97,105,3,79,
48,55,60,80,21,45,34,65,93,103,
- 121,31,123,98,110,51,52,58,59,61,
- 67,71,73,74,87,94,120,18,19,7,
+ 121,31,123,120,98,110,51,52,58,59,
+ 61,67,71,73,74,87,94,18,19,7,
16,17,22,23,33,5,24,25,26,27,
28,29,6,35,36,37,38,39,40,41,
42,43,44,82,83,84,30,119,53,4,
@@ -1950,25 +1957,25 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface NonterminalIndex {
public final static char nonterminalIndex[] = {0,
132,137,139,0,0,138,235,136,0,135,
- 0,146,0,134,0,0,145,151,0,0,
- 152,161,182,162,163,164,165,154,166,167,
- 140,168,169,128,170,171,0,133,130,172,
- 0,142,141,180,0,0,155,0,0,0,
- 0,0,0,158,175,0,205,0,148,189,
- 0,202,206,129,0,0,207,0,174,0,
- 0,0,0,0,0,0,178,127,131,0,
- 0,0,0,0,0,0,0,188,0,0,
- 203,213,160,209,210,211,0,0,149,0,
- 0,0,208,221,181,0,0,0,212,0,
- 0,0,241,150,177,191,192,193,194,195,
- 197,200,0,0,215,218,220,238,0,240,
- 0,143,144,147,0,0,157,159,0,173,
- 0,183,184,185,186,187,190,0,196,198,
- 0,199,204,0,216,217,0,222,225,227,
- 229,0,232,233,234,0,236,237,239,126,
- 0,153,156,176,179,201,214,219,0,223,
- 224,226,228,0,230,231,242,243,0,0,
- 0,0,0,0
+ 0,146,134,0,0,145,151,0,0,152,
+ 161,182,162,163,164,165,154,166,167,168,
+ 169,128,170,144,171,0,133,130,172,0,
+ 141,140,180,0,0,155,0,0,0,0,
+ 0,0,158,175,0,205,0,148,189,0,
+ 202,206,129,0,0,207,0,174,0,0,
+ 0,0,0,0,0,178,127,131,0,0,
+ 0,0,0,0,0,0,188,0,0,203,
+ 213,160,209,210,211,0,0,0,0,149,
+ 0,208,221,181,0,0,0,212,0,0,
+ 0,241,150,177,191,192,193,194,195,197,
+ 200,0,0,215,218,220,238,0,240,0,
+ 142,143,147,0,0,157,159,0,173,0,
+ 183,184,185,186,187,190,0,196,198,0,
+ 199,204,0,216,217,0,222,225,227,229,
+ 0,232,233,234,0,236,237,239,126,0,
+ 153,156,176,179,201,214,219,0,223,224,
+ 226,228,0,230,231,242,243,0,0,0,
+ 0,0,0
};
};
public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex;
@@ -2014,18 +2021,18 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface ScopeLhs {
public final static char scopeLhs[] = {
- 44,17,17,73,17,17,17,17,73,82,
- 45,87,86,118,66,51,73,72,44,17,
- 73,19,3,6,161,161,158,116,44,85,
- 118,117,119,52,45,134,129,73,17,17,
- 129,97,56,131,76,164,161,158,126,58,
- 117,117,119,175,49,55,138,18,17,17,
- 17,17,17,11,113,158,126,73,72,72,
- 37,134,72,17,17,17,17,97,73,19,
- 165,161,176,95,103,67,57,153,77,119,
- 74,70,139,138,171,134,16,158,119,115,
- 127,127,54,134,134,73,44,158,71,132,
- 43,132,43,164,115,116,44,44,56
+ 43,16,16,72,16,16,16,16,72,81,
+ 44,86,85,117,65,50,72,71,43,16,
+ 72,18,3,6,160,160,157,115,43,84,
+ 117,116,118,51,44,133,128,72,16,16,
+ 128,96,55,130,75,163,160,157,125,57,
+ 116,116,118,174,48,54,137,17,16,16,
+ 16,16,16,11,112,157,125,72,71,71,
+ 36,133,71,16,16,16,16,96,72,18,
+ 164,160,175,94,102,66,56,152,76,118,
+ 73,69,138,137,170,133,15,157,118,114,
+ 126,126,53,133,133,72,43,157,70,131,
+ 42,131,42,163,114,115,43,43,55
};
};
public final static char scopeLhs[] = ScopeLhs.scopeLhs;
@@ -2033,18 +2040,18 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface ScopeLa {
public final static byte scopeLa[] = {
- 119,87,87,87,87,87,87,87,87,71,
- 26,71,71,71,65,1,87,122,50,3,
- 26,87,65,65,1,1,26,71,50,71,
- 71,1,1,1,1,4,65,26,1,1,
- 65,87,87,87,119,87,1,26,71,1,
- 1,1,1,26,26,71,118,87,87,87,
- 87,87,118,1,87,1,66,87,87,87,
- 72,4,87,65,65,65,65,87,26,3,
- 1,1,87,87,3,118,87,1,1,1,
- 26,72,87,118,87,5,87,1,36,67,
- 1,1,6,1,36,75,74,26,26,4,
- 4,4,4,3,1,50,1,1,3
+ 119,74,74,74,74,74,74,74,74,71,
+ 13,71,71,71,65,1,74,122,59,3,
+ 13,74,65,65,1,1,13,71,59,71,
+ 71,1,1,1,1,4,65,13,1,1,
+ 65,74,74,74,119,74,1,13,71,1,
+ 1,1,1,13,13,71,118,74,74,74,
+ 74,74,118,1,74,1,66,74,74,74,
+ 72,4,74,65,65,65,65,74,13,3,
+ 1,1,74,74,3,118,74,1,1,1,
+ 13,72,74,118,74,5,74,1,37,67,
+ 1,1,6,1,37,76,75,13,13,4,
+ 4,4,4,3,1,59,1,1,3
};
};
public final static byte scopeLa[] = ScopeLa.scopeLa;
@@ -2071,71 +2078,71 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface ScopeRhs {
public final static char scopeRhs[] = {0,
- 312,3,47,0,128,0,311,3,119,0,
- 128,175,0,128,179,74,0,217,0,290,
- 128,44,126,0,21,0,292,128,44,36,
+ 311,3,57,0,128,0,310,3,119,0,
+ 128,175,0,128,178,75,0,217,0,289,
+ 128,30,126,0,21,0,291,128,30,37,
0,21,55,0,34,134,0,21,55,0,
- 0,292,128,44,36,192,0,21,131,0,
- 290,128,44,131,0,185,129,0,140,0,
- 222,3,289,0,289,0,2,0,128,0,
- 185,129,228,0,185,129,45,228,0,185,
- 129,308,45,0,132,189,167,129,0,130,
- 0,189,167,129,0,136,130,0,170,0,
- 304,128,170,0,128,170,0,223,130,0,
- 167,244,0,139,0,0,0,137,0,0,
- 0,303,128,50,251,0,129,0,251,0,
- 3,0,0,129,0,302,128,50,0,45,
- 129,0,152,3,0,128,279,278,128,74,
- 277,170,0,278,128,74,277,170,0,216,
- 0,217,0,277,170,0,98,0,0,216,
+ 0,291,128,30,37,191,0,21,131,0,
+ 289,128,30,131,0,184,129,0,144,0,
+ 221,3,288,0,288,0,2,0,128,0,
+ 184,129,227,0,184,129,45,227,0,184,
+ 129,307,45,0,132,188,166,129,0,130,
+ 0,188,166,129,0,136,130,0,169,0,
+ 303,128,169,0,128,169,0,223,130,0,
+ 166,243,0,139,0,0,0,137,0,0,
+ 0,302,128,59,250,0,129,0,250,0,
+ 3,0,0,129,0,301,128,59,0,45,
+ 129,0,151,3,0,128,278,277,128,75,
+ 276,169,0,277,128,75,276,169,0,216,
+ 0,217,0,276,169,0,98,0,0,216,
0,217,0,204,98,0,0,216,0,217,
- 0,278,128,277,170,0,216,0,204,0,
- 0,216,0,231,128,3,0,128,0,0,
- 0,0,0,231,128,3,219,0,227,3,
- 0,215,128,0,209,0,189,167,177,0,
- 136,0,167,129,0,11,0,0,0,217,
- 60,0,127,0,231,128,3,181,0,181,
+ 0,277,128,276,169,0,216,0,204,0,
+ 0,216,0,230,128,3,0,128,0,0,
+ 0,0,0,230,128,3,218,0,226,3,
+ 0,214,128,0,209,0,188,166,176,0,
+ 136,0,166,129,0,11,0,0,0,216,
+ 56,0,127,0,230,128,3,180,0,180,
0,2,0,0,128,0,0,0,0,0,
- 201,3,0,202,0,230,128,50,28,27,
- 0,185,129,56,48,0,198,130,0,132,
- 185,129,275,48,0,185,129,275,48,0,
- 185,129,67,125,56,0,230,128,50,56,
- 0,230,128,50,123,56,0,230,128,50,
- 126,56,0,272,128,50,125,68,0,272,
- 128,50,68,0,185,129,68,0,137,0,
- 189,185,129,244,0,139,0,185,129,244,
- 0,189,167,129,10,0,167,129,10,0,
- 95,139,0,149,0,265,128,147,0,265,
- 128,170,0,162,85,0,226,163,226,299,
- 3,82,0,128,174,0,226,299,3,82,
- 0,130,0,128,174,0,226,163,226,163,
- 226,3,82,0,226,163,226,3,82,0,
- 226,3,82,0,130,0,130,0,128,174,
- 0,162,3,75,193,80,0,128,130,0,
- 193,80,0,110,2,133,128,130,0,239,
- 3,75,0,201,171,0,34,172,0,171,
- 0,178,34,172,0,239,3,86,0,193,
- 158,239,3,84,0,64,174,0,239,3,
- 84,0,128,174,64,174,0,298,128,50,
- 0,162,0,217,77,0,31,0,162,117,
- 160,0,31,172,0,222,3,0,217,60,
- 262,0,162,60,0,183,3,295,64,129,
- 0,128,0,0,0,0,295,64,129,0,
- 2,148,128,0,0,0,0,183,3,34,
- 0,150,0,127,36,167,129,0,32,150,
- 0,95,139,32,150,0,223,185,129,0,
- 149,32,150,0,183,3,39,0,162,3,
- 39,0,162,3,65,183,44,30,0,183,
- 44,30,0,21,2,133,128,0,162,3,
- 65,183,44,33,0,183,44,33,0,162,
- 3,65,183,44,35,0,183,44,35,0,
- 162,3,65,183,44,31,0,183,44,31,
- 0,222,3,127,189,167,129,10,0,127,
- 189,167,129,10,0,139,2,0,128,0,
- 222,3,126,177,167,129,10,0,177,167,
- 129,10,0,137,2,0,128,0,222,3,
- 136,0,222,3,141,0,162,60,141,0,
- 257,0,32,0,32,143,0,166,0,162,
+ 200,3,0,202,0,229,128,59,28,14,
+ 0,184,129,60,58,0,198,130,0,132,
+ 184,129,274,58,0,184,129,274,58,0,
+ 184,129,67,125,60,0,229,128,59,60,
+ 0,229,128,59,123,60,0,229,128,59,
+ 126,60,0,271,128,59,125,68,0,271,
+ 128,59,68,0,184,129,68,0,137,0,
+ 188,184,129,243,0,139,0,184,129,243,
+ 0,188,166,129,10,0,166,129,10,0,
+ 95,139,0,149,0,264,128,146,0,264,
+ 128,169,0,161,86,0,225,162,225,298,
+ 3,83,0,128,174,0,225,298,3,83,
+ 0,130,0,128,174,0,225,162,225,162,
+ 225,3,83,0,225,162,225,3,83,0,
+ 225,3,83,0,130,0,130,0,128,174,
+ 0,161,3,76,192,81,0,128,130,0,
+ 192,81,0,110,2,133,128,130,0,238,
+ 3,76,0,200,170,0,34,172,0,170,
+ 0,178,34,172,0,238,3,87,0,192,
+ 156,238,3,85,0,64,174,0,238,3,
+ 85,0,128,174,64,174,0,297,128,59,
+ 0,161,0,216,78,0,31,0,161,117,
+ 159,0,31,172,0,221,3,0,216,56,
+ 261,0,161,56,0,182,3,294,64,129,
+ 0,128,0,0,0,0,294,64,129,0,
+ 2,148,128,0,0,0,0,182,3,35,
+ 0,150,0,127,37,166,129,0,32,150,
+ 0,95,139,32,150,0,224,184,129,0,
+ 149,32,150,0,182,3,40,0,161,3,
+ 40,0,161,3,65,182,30,31,0,182,
+ 30,31,0,21,2,133,128,0,161,3,
+ 65,182,30,34,0,182,30,34,0,161,
+ 3,65,182,30,36,0,182,30,36,0,
+ 161,3,65,182,30,32,0,182,30,32,
+ 0,221,3,127,188,166,129,10,0,127,
+ 188,166,129,10,0,139,2,0,128,0,
+ 221,3,126,176,166,129,10,0,176,166,
+ 129,10,0,137,2,0,128,0,221,3,
+ 136,0,221,3,140,0,161,56,140,0,
+ 256,0,32,0,32,142,0,165,0,161,
3,0
};
};
@@ -2144,36 +2151,36 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface ScopeState {
public final static char scopeState[] = {0,
- 2451,0,3721,0,4611,4610,4609,0,2640,1186,
- 1147,1181,0,2500,2119,1780,0,2471,2465,0,
- 3492,3438,3384,2825,2449,3330,3276,3220,3159,2277,
- 3045,2670,2616,3620,3181,0,3215,2619,2785,0,
- 1166,1038,0,892,3333,0,3165,4281,0,3165,
- 4361,3497,4247,4281,3928,4259,4350,4383,3122,4270,
- 2675,3631,3615,3009,0,1252,1080,0,4421,3237,
- 0,4421,3237,2852,2787,3875,2778,2713,3822,3769,
- 3716,3651,3492,3438,3384,3330,3276,3220,3159,3045,
- 2670,2616,0,4421,3237,2852,2787,3875,2778,2713,
- 3822,3769,3716,3651,0,2811,647,0,3122,4361,
- 3102,3497,4247,3751,3631,2750,1034,992,3306,3354,
- 969,2658,2415,0,2302,2202,2173,848,4247,3354,
- 3928,3615,3009,3158,2383,0,649,568,0,1384,
- 0,3880,526,2365,0,4543,4538,4530,4474,4468,
- 4461,4452,4448,4600,4587,4563,4553,3971,3945,3745,
- 3627,2885,2847,2456,2771,2909,2460,0,4543,4538,
- 3521,3470,3444,4530,4474,4468,3361,2388,4461,4452,
- 4448,2922,4600,2767,2493,4587,2371,2161,2704,1861,
- 4563,3078,4553,1857,617,3971,3945,3745,784,3627,
- 661,2885,2847,2166,2456,3880,2771,2365,2909,2460,
- 3928,4259,4350,4383,3122,3165,4361,4270,2072,1983,
- 3497,1042,4247,2675,3631,3615,4281,3009,977,987,
- 717,852,789,649,568,4225,2174,2212,582,2246,
- 2337,2309,2279,2593,2567,2540,2513,2421,2392,3592,
- 3569,3132,2984,2959,4203,4181,4159,4137,4115,4093,
- 4071,4049,4027,3019,911,621,1865,2123,2085,2034,
- 1996,1143,1101,1945,1907,1057,809,1815,1776,734,
- 674,526,1734,1692,1650,1608,1566,1524,1482,1440,
- 1398,1356,1314,1271,1229,1000,935,869,1187,0
+ 626,0,3370,0,4523,4515,4404,0,2428,2543,
+ 2212,1265,0,1372,1342,1172,0,2852,2451,0,
+ 3367,3312,3257,1821,1705,3202,3147,3092,3031,565,
+ 2938,2579,2524,1336,1254,0,3021,3572,2566,0,
+ 1326,708,0,3310,2555,0,3525,4316,0,3525,
+ 4290,4223,568,4316,3795,4190,4212,4301,2994,4201,
+ 2529,3499,3422,2878,0,2659,665,0,3022,4344,
+ 0,3022,4344,2791,2739,3743,2673,2621,3691,3639,
+ 3587,3519,3367,3312,3257,3202,3147,3092,3031,2938,
+ 2579,2524,0,3022,4344,2791,2739,3743,2673,2621,
+ 3691,3639,3587,3519,0,2830,957,0,2994,4290,
+ 3692,4223,568,2741,3499,3543,1695,1288,2554,2797,
+ 1124,1835,983,0,2866,2748,1506,1283,568,2797,
+ 3795,3422,2878,2678,2544,0,716,649,0,1161,
+ 0,2945,527,2329,0,4456,4443,4395,4391,4382,
+ 4378,3778,3335,4491,4479,4470,3726,3537,3280,3225,
+ 2922,3170,2708,2420,2141,2826,2728,0,4456,4443,
+ 3645,3341,3317,4395,4391,4382,2764,2136,4378,3778,
+ 3335,3156,4491,2926,2807,4479,2457,2438,2056,1968,
+ 4470,2434,3726,1836,2464,3537,3280,3225,728,2922,
+ 635,3170,2708,578,2420,2945,2141,2329,2826,2728,
+ 3795,4190,4212,4301,2994,3525,4290,4201,2424,2046,
+ 4223,1958,568,2529,3499,3422,4316,2878,852,774,
+ 787,1037,971,716,649,4169,2148,582,2216,2185,
+ 2302,2275,2246,2897,905,2502,2476,2366,2337,3937,
+ 3915,3893,3443,2392,4148,4127,4106,4085,4064,4043,
+ 4022,4001,3980,3959,3867,3610,1843,2097,2060,2009,
+ 1972,1134,1092,1921,1884,1051,805,1794,1755,733,
+ 674,527,1714,1673,1632,1591,1550,1509,1468,1427,
+ 1386,1345,1304,1261,1220,994,930,864,1178,0
};
};
public final static char scopeState[] = ScopeState.scopeState;
@@ -2181,58 +2188,59 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public interface InSymb {
public final static char inSymb[] = {0,
- 0,294,128,264,39,30,33,35,31,10,
- 136,126,7,131,4,3,129,34,29,5,
- 12,11,6,8,25,24,141,146,149,148,
- 151,150,154,153,157,156,159,47,160,66,
- 3,44,44,44,44,129,3,44,171,128,
- 60,3,63,64,44,7,126,162,63,64,
- 167,166,126,3,127,126,103,120,3,60,
+ 0,293,128,263,40,31,34,36,32,10,
+ 136,126,7,131,4,3,129,35,29,5,
+ 12,11,6,8,27,26,140,145,148,147,
+ 150,149,153,152,155,154,157,57,159,66,
+ 3,30,30,30,30,129,3,30,170,128,
+ 56,3,63,64,30,7,126,161,63,64,
+ 166,165,126,3,125,127,103,120,3,56,
90,96,12,11,92,91,6,94,93,65,
- 44,88,89,8,98,97,100,99,101,113,
+ 30,88,89,8,98,97,100,99,101,113,
112,111,110,109,108,107,106,105,104,67,
- 117,102,183,162,171,128,183,183,183,183,
- 167,222,128,128,266,267,251,268,244,269,
- 68,270,271,10,129,60,60,128,60,295,
- 3,189,4,183,36,5,129,36,222,162,
- 148,148,146,146,146,150,150,150,150,149,
- 149,153,151,151,156,154,157,162,159,128,
- 60,3,220,219,136,10,129,65,65,65,
- 65,189,177,290,134,293,215,129,6,50,
- 167,234,129,127,126,125,50,129,129,185,
- 167,290,202,3,296,171,152,257,189,129,
- 185,167,72,215,217,160,227,128,3,129,
- 167,3,3,3,3,127,126,126,66,167,
- 128,128,127,126,128,185,128,50,128,185,
- 167,36,183,128,128,4,223,5,36,231,
- 232,147,233,128,167,36,162,162,162,162,
- 3,3,6,184,303,129,168,228,192,48,
- 170,305,128,128,72,189,128,272,125,273,
- 189,158,259,262,60,178,4,127,158,67,
- 227,201,187,181,177,3,128,66,231,189,
- 222,222,128,167,36,275,277,128,3,181,
- 307,228,45,129,272,67,66,128,3,60,
- 162,4,128,67,67,3,167,201,128,215,
- 158,127,189,44,129,74,128,215,304,128,
- 126,72,284,201,66,129,45,308,185,259,
- 222,217,224,128,189,128,132,128,185,128,
- 278,72,66,215,72,67,185,129,129,128,
- 231,224,292,36,10,62,132,278,50,288,
- 129,289,185,185,47,158,128,66,65,44,
- 234,234,279,128,66,185,3,3,128,27,
- 36,170,61,56,48,128,67,67,128,298,
- 79,77,1,162,86,84,82,80,75,83,
- 85,78,76,56,74,222,312,224,28,44,
- 128,3,50,123,126,125,56,292,280,119,
- 9,217,72,3,3,3,193,3,125,162,
- 125,179,66,128,128,50,65,265,201,276,
- 28,128,50,50,67,129,65,3,239,171,
- 239,299,226,147,75,239,128,128,3,67,
- 66,158,230,229,128,128,129,185,62,95,
- 311,171,158,201,158,226,163,128,3,158,
- 280,230,152,50,230,230,185,274,234,158,
- 158,128,67,193,163,226,265,162,128,274,
- 67,122,226,163,158,302,158,226,66,158
+ 117,102,182,161,170,128,182,182,182,182,
+ 166,221,128,128,265,266,250,267,243,268,
+ 68,269,270,10,129,56,56,128,56,294,
+ 3,188,4,182,37,5,129,37,221,161,
+ 147,147,145,145,145,149,149,149,149,148,
+ 148,152,150,150,154,153,155,161,157,128,
+ 56,3,219,218,136,127,126,10,129,65,
+ 65,65,65,188,176,289,134,292,214,129,
+ 6,59,166,233,129,127,126,125,59,129,
+ 129,184,166,289,201,3,295,170,151,256,
+ 188,129,126,184,166,72,214,216,159,226,
+ 128,3,129,166,3,3,3,3,127,126,
+ 66,166,128,128,127,126,128,184,128,59,
+ 128,184,166,37,182,128,128,4,224,5,
+ 37,230,231,146,232,128,166,37,161,161,
+ 161,161,3,3,6,183,302,129,167,227,
+ 191,58,169,304,128,128,72,188,128,271,
+ 125,272,188,156,258,261,56,177,4,125,
+ 127,156,67,226,200,186,180,176,3,128,
+ 66,230,188,221,221,128,166,37,274,276,
+ 128,3,180,306,227,45,129,271,67,66,
+ 128,3,56,161,4,128,67,67,3,166,
+ 200,128,214,156,127,188,30,129,75,128,
+ 214,303,128,126,72,283,200,66,129,45,
+ 307,184,258,221,216,222,128,188,128,132,
+ 128,184,128,277,72,66,214,72,67,184,
+ 129,129,128,230,222,291,37,10,62,132,
+ 277,59,287,129,288,184,184,57,156,128,
+ 66,65,30,233,233,278,128,66,184,3,
+ 3,128,14,37,169,61,60,58,128,67,
+ 67,128,297,80,78,1,161,87,85,83,
+ 81,76,84,86,79,77,60,75,221,311,
+ 222,28,30,128,3,59,123,126,125,60,
+ 291,279,119,9,216,72,3,3,3,192,
+ 3,125,161,125,178,66,128,128,59,65,
+ 264,200,275,28,128,59,59,67,129,65,
+ 3,238,170,238,298,225,146,76,238,128,
+ 128,3,67,66,156,229,228,128,128,129,
+ 184,62,95,310,170,156,200,156,225,162,
+ 128,3,156,279,229,151,59,229,229,184,
+ 273,233,156,156,128,67,192,162,225,264,
+ 161,128,273,67,122,225,162,156,301,156,
+ 225,66,156
};
};
public final static char inSymb[] = InSymb.inSymb;
@@ -2380,13 +2388,13 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
"identifier_name",
"operator_function_id_name",
"template_id_name",
- "class_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",
@@ -2508,20 +2516,20 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab
public final int getMaxNameLength() { return MAX_NAME_LENGTH; }
public final static int
- NUM_STATES = 520,
+ NUM_STATES = 523,
NT_OFFSET = 124,
- LA_STATE_OFFSET = 5629,
+ LA_STATE_OFFSET = 5621,
MAX_LA = 2147483647,
- NUM_RULES = 525,
- NUM_NONTERMINALS = 194,
- NUM_SYMBOLS = 318,
+ NUM_RULES = 526,
+ NUM_NONTERMINALS = 193,
+ NUM_SYMBOLS = 317,
SEGMENT_SIZE = 8192,
- START_STATE = 2891,
+ START_STATE = 3176,
IDENTIFIER_SYMBOL = 0,
EOFT_SYMBOL = 121,
EOLT_SYMBOL = 121,
- ACCEPT_ACTION = 4728,
- ERROR_ACTION = 5104;
+ ACCEPT_ACTION = 4714,
+ ERROR_ACTION = 5095;
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 cee4e948f6e..e831a41d2fd 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
@@ -16,85 +16,85 @@ package org.eclipse.cdt.internal.core.dom.lrparser.cpp;
public interface CPPNoCastExpressionParsersym {
public final static int
TK_asm = 61,
- TK_auto = 51,
- TK_bool = 13,
- TK_break = 76,
- TK_case = 77,
+ TK_auto = 48,
+ TK_bool = 15,
+ TK_break = 77,
+ TK_case = 78,
TK_catch = 119,
- TK_char = 14,
+ TK_char = 16,
TK_class = 62,
TK_const = 46,
- TK_const_cast = 30,
- TK_continue = 78,
- TK_default = 79,
+ TK_const_cast = 31,
+ TK_continue = 79,
+ TK_default = 80,
TK_delete = 63,
- TK_do = 80,
- TK_double = 15,
- TK_dynamic_cast = 31,
+ TK_do = 81,
+ TK_double = 17,
+ TK_dynamic_cast = 32,
TK_else = 122,
TK_enum = 68,
- TK_explicit = 52,
- TK_export = 81,
- TK_extern = 27,
- TK_false = 32,
- TK_float = 16,
- TK_for = 82,
- TK_friend = 53,
- TK_goto = 83,
- TK_if = 84,
- TK_inline = 54,
- TK_int = 17,
- TK_long = 18,
- TK_mutable = 55,
- TK_namespace = 56,
+ TK_explicit = 49,
+ TK_export = 82,
+ TK_extern = 14,
+ TK_false = 33,
+ TK_float = 18,
+ TK_for = 83,
+ TK_friend = 50,
+ TK_goto = 84,
+ TK_if = 85,
+ TK_inline = 51,
+ TK_int = 19,
+ TK_long = 20,
+ TK_mutable = 52,
+ TK_namespace = 60,
TK_new = 64,
TK_operator = 7,
TK_private = 114,
TK_protected = 115,
TK_public = 116,
- TK_register = 57,
- TK_reinterpret_cast = 33,
- TK_return = 85,
- TK_short = 19,
- TK_signed = 20,
- TK_sizeof = 34,
- TK_static = 58,
- TK_static_cast = 35,
+ TK_register = 53,
+ TK_reinterpret_cast = 34,
+ TK_return = 86,
+ TK_short = 21,
+ TK_signed = 22,
+ TK_sizeof = 35,
+ TK_static = 54,
+ TK_static_cast = 36,
TK_struct = 69,
- TK_switch = 86,
- TK_template = 36,
- TK_this = 37,
- TK_throw = 47,
- TK_try = 74,
- TK_true = 38,
- TK_typedef = 59,
- TK_typeid = 39,
+ TK_switch = 87,
+ TK_template = 37,
+ TK_this = 38,
+ TK_throw = 57,
+ TK_try = 75,
+ TK_true = 39,
+ TK_typedef = 55,
+ TK_typeid = 40,
TK_typename = 10,
TK_union = 70,
- TK_unsigned = 21,
- TK_using = 48,
+ TK_unsigned = 23,
+ TK_using = 58,
TK_virtual = 45,
- TK_void = 22,
- TK_volatile = 49,
- TK_wchar_t = 23,
- TK_while = 75,
- TK_integer = 40,
- TK_floating = 41,
- TK_charconst = 42,
+ TK_void = 24,
+ TK_volatile = 47,
+ TK_wchar_t = 25,
+ TK_while = 76,
+ TK_integer = 41,
+ TK_floating = 42,
+ TK_charconst = 43,
TK_stringlit = 28,
TK_identifier = 1,
TK_Completion = 2,
TK_EndOfCompletion = 9,
TK_Invalid = 124,
- TK_LeftBracket = 60,
+ TK_LeftBracket = 56,
TK_LeftParen = 3,
- TK_LeftBrace = 50,
+ TK_LeftBrace = 59,
TK_Dot = 120,
TK_DotStar = 96,
TK_Arrow = 103,
TK_ArrowStar = 90,
- TK_PlusPlus = 24,
- TK_MinusMinus = 25,
+ TK_PlusPlus = 26,
+ TK_MinusMinus = 27,
TK_And = 8,
TK_Star = 6,
TK_Plus = 11,
@@ -105,7 +105,7 @@ public interface CPPNoCastExpressionParsersym {
TK_Percent = 92,
TK_RightShift = 88,
TK_LeftShift = 89,
- TK_LT = 44,
+ TK_LT = 30,
TK_GT = 65,
TK_LE = 93,
TK_GE = 94,
@@ -131,11 +131,11 @@ public interface CPPNoCastExpressionParsersym {
TK_CaretAssign = 112,
TK_OrAssign = 113,
TK_Comma = 66,
- TK_zero = 43,
+ TK_zero = 44,
TK_RightBracket = 118,
- TK_RightParen = 87,
+ TK_RightParen = 74,
TK_RightBrace = 71,
- TK_SemiColon = 26,
+ TK_SemiColon = 13,
TK_ERROR_TOKEN = 73,
TK_original_namespace_name = 123,
TK_EOF_TOKEN = 121;
@@ -154,6 +154,8 @@ public interface CPPNoCastExpressionParsersym {
"typename",
"Plus",
"Minus",
+ "SemiColon",
+ "extern",
"bool",
"char",
"double",
@@ -167,10 +169,9 @@ public interface CPPNoCastExpressionParsersym {
"wchar_t",
"PlusPlus",
"MinusMinus",
- "SemiColon",
- "extern",
"stringlit",
"Bang",
+ "LT",
"const_cast",
"dynamic_cast",
"false",
@@ -185,23 +186,22 @@ public interface CPPNoCastExpressionParsersym {
"floating",
"charconst",
"zero",
- "LT",
"virtual",
"const",
- "throw",
- "using",
"volatile",
- "LeftBrace",
"auto",
"explicit",
"friend",
"inline",
"mutable",
- "namespace",
"register",
"static",
"typedef",
"LeftBracket",
+ "throw",
+ "using",
+ "LeftBrace",
+ "namespace",
"asm",
"class",
"delete",
@@ -215,6 +215,7 @@ public interface CPPNoCastExpressionParsersym {
"RightBrace",
"Colon",
"ERROR_TOKEN",
+ "RightParen",
"try",
"while",
"break",
@@ -228,7 +229,6 @@ public interface CPPNoCastExpressionParsersym {
"if",
"return",
"switch",
- "RightParen",
"RightShift",
"LeftShift",
"ArrowStar",
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 eef14bca48e..1fb40d2b27f 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
@@ -378,1738 +378,1878 @@ public CPPNoFunctionDeclaratorParser(String[] mapFrom) { // constructor
}
//
- // Rule 37: unqualified_id_name ::= ~ class_name
+ // Rule 37: unqualified_id_name ::= ~ identifier_token
//
case 37: { action.builder.
consumeDestructorName(); break;
}
//
- // Rule 38: identifier_name ::= identifier_token
+ // Rule 38: unqualified_id_name ::= ~ template_id_name
//
case 38: { action.builder.
- consumeIdentifierName(); break;
+ consumeDestructorNameTemplateId(); break;
}
//
- // Rule 39: template_opt ::= template
+ // Rule 39: identifier_name ::= identifier_token
//
case 39: { action.builder.
- consumePlaceHolder(); break;
+ consumeIdentifierName(); break;
}
//
- // Rule 40: template_opt ::= $Empty
+ // Rule 40: template_opt ::= template
//
case 40: { action.builder.
- consumeEmpty(); break;
+ consumePlaceHolder(); break;
}
//
- // Rule 41: dcolon_opt ::= ::
+ // Rule 41: template_opt ::= $Empty
//
case 41: { action.builder.
- consumePlaceHolder(); break;
+ consumeEmpty(); break;
}
//
- // Rule 42: dcolon_opt ::= $Empty
+ // Rule 42: dcolon_opt ::= ::
//
case 42: { action.builder.
- consumeEmpty(); break;
+ consumePlaceHolder(); break;
}
//
- // Rule 43: qualified_id_name ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name
+ // Rule 43: dcolon_opt ::= $Empty
//
case 43: { action.builder.
- consumeQualifiedId(true); break;
+ consumeEmpty(); break;
}
//
- // Rule 44: qualified_id_name ::= :: identifier_name
+ // Rule 44: qualified_id_name ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name
//
case 44: { action.builder.
- consumeGlobalQualifiedId(); break;
+ consumeQualifiedId(true); break;
}
//
- // Rule 45: qualified_id_name ::= :: operator_function_id_name
+ // Rule 45: qualified_id_name ::= :: identifier_name
//
case 45: { action.builder.
consumeGlobalQualifiedId(); break;
}
//
- // Rule 46: qualified_id_name ::= :: template_id_name
+ // Rule 46: qualified_id_name ::= :: operator_function_id_name
//
case 46: { action.builder.
consumeGlobalQualifiedId(); break;
}
//
- // Rule 47: nested_name_specifier ::= class_or_namespace_name :: nested_name_specifier_with_template
+ // Rule 47: qualified_id_name ::= :: template_id_name
//
case 47: { action.builder.
- consumeNestedNameSpecifier(true); break;
+ consumeGlobalQualifiedId(); break;
}
//
- // Rule 48: nested_name_specifier ::= class_or_namespace_name ::
+ // Rule 48: nested_name_specifier ::= class_or_namespace_name :: nested_name_specifier_with_template
//
case 48: { action.builder.
- consumeNestedNameSpecifier(false); break;
+ consumeNestedNameSpecifier(true); break;
}
//
- // Rule 49: nested_name_specifier_with_template ::= class_or_namespace_name_with_template :: nested_name_specifier_with_template
+ // Rule 49: nested_name_specifier ::= class_or_namespace_name ::
//
case 49: { action.builder.
- consumeNestedNameSpecifier(true); break;
+ consumeNestedNameSpecifier(false); break;
}
//
- // Rule 50: nested_name_specifier_with_template ::= class_or_namespace_name_with_template ::
+ // Rule 50: nested_name_specifier_with_template ::= class_or_namespace_name_with_template :: nested_name_specifier_with_template
//
case 50: { action.builder.
- consumeNestedNameSpecifier(false); break;
+ consumeNestedNameSpecifier(true); break;
}
//
- // Rule 51: class_or_namespace_name_with_template ::= template_opt class_or_namespace_name
+ // Rule 51: nested_name_specifier_with_template ::= class_or_namespace_name_with_template ::
//
case 51: { action.builder.
- consumeNameWithTemplateKeyword(); break;
+ consumeNestedNameSpecifier(false); break;
}
//
- // Rule 53: nested_name_specifier_opt ::= $Empty
+ // Rule 52: class_or_namespace_name_with_template ::= template_opt class_or_namespace_name
//
- case 53: { action.builder.
- consumeNestedNameSpecifierEmpty(); break;
+ case 52: { action.builder.
+ consumeNameWithTemplateKeyword(); break;
}
//
- // Rule 56: postfix_expression ::= postfix_expression [ expression ]
+ // Rule 54: nested_name_specifier_opt ::= $Empty
//
- case 56: { action.builder.
- consumeExpressionArraySubscript(); break;
+ case 54: { action.builder.
+ consumeNestedNameSpecifierEmpty(); break;
}
//
- // Rule 57: postfix_expression ::= postfix_expression ( expression_list_opt )
+ // Rule 57: postfix_expression ::= postfix_expression [ expression ]
//
case 57: { action.builder.
- consumeExpressionFunctionCall(); break;
+ consumeExpressionArraySubscript(); break;
}
//
- // Rule 58: postfix_expression ::= simple_type_specifier ( expression_list_opt )
+ // Rule 58: postfix_expression ::= postfix_expression ( expression_list_opt )
//
case 58: { action.builder.
- consumeExpressionSimpleTypeConstructor(); break;
+ consumeExpressionFunctionCall(); break;
}
//
- // Rule 59: postfix_expression ::= typename dcolon_opt nested_name_specifier <empty> identifier_name ( expression_list_opt )
+ // Rule 59: postfix_expression ::= simple_type_specifier ( expression_list_opt )
//
case 59: { action.builder.
- consumeExpressionTypeName(); break;
+ consumeExpressionSimpleTypeConstructor(); break;
}
//
- // Rule 60: postfix_expression ::= typename dcolon_opt nested_name_specifier template_opt template_id_name ( expression_list_opt )
+ // Rule 60: postfix_expression ::= typename dcolon_opt nested_name_specifier <empty> identifier_name ( expression_list_opt )
//
case 60: { action.builder.
consumeExpressionTypeName(); break;
}
//
- // Rule 61: postfix_expression ::= postfix_expression . qualified_or_unqualified_name
+ // Rule 61: postfix_expression ::= typename dcolon_opt nested_name_specifier template_opt template_id_name ( expression_list_opt )
//
case 61: { action.builder.
- consumeExpressionFieldReference(false, false); break;
+ consumeExpressionTypeName(); break;
}
//
- // Rule 62: postfix_expression ::= postfix_expression -> qualified_or_unqualified_name
+ // Rule 62: postfix_expression ::= postfix_expression . qualified_or_unqualified_name
//
case 62: { action.builder.
- consumeExpressionFieldReference(true, false); break;
+ consumeExpressionFieldReference(false, false); break;
}
//
- // Rule 63: postfix_expression ::= postfix_expression . template qualified_or_unqualified_name
+ // Rule 63: postfix_expression ::= postfix_expression -> qualified_or_unqualified_name
//
case 63: { action.builder.
- consumeExpressionFieldReference(false, true); break;
+ consumeExpressionFieldReference(true, false); break;
}
//
- // Rule 64: postfix_expression ::= postfix_expression -> template qualified_or_unqualified_name
+ // Rule 64: postfix_expression ::= postfix_expression . template qualified_or_unqualified_name
//
case 64: { action.builder.
- consumeExpressionFieldReference(true, true); break;
+ consumeExpressionFieldReference(false, true); break;
}
//
- // Rule 65: postfix_expression ::= postfix_expression . pseudo_destructor_name
+ // Rule 65: postfix_expression ::= postfix_expression -> template qualified_or_unqualified_name
//
case 65: { action.builder.
- consumeExpressionFieldReference(false, false); break;
+ consumeExpressionFieldReference(true, true); break;
}
//
- // Rule 66: postfix_expression ::= postfix_expression -> pseudo_destructor_name
+ // Rule 66: postfix_expression ::= postfix_expression . pseudo_destructor_name
//
case 66: { action.builder.
- consumeExpressionFieldReference(true, false); break;
+ consumeExpressionFieldReference(false, false); break;
}
//
- // Rule 67: postfix_expression ::= postfix_expression ++
+ // Rule 67: postfix_expression ::= postfix_expression -> pseudo_destructor_name
//
case 67: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break;
+ consumeExpressionFieldReference(true, false); break;
}
//
- // Rule 68: postfix_expression ::= postfix_expression --
+ // Rule 68: postfix_expression ::= postfix_expression ++
//
case 68: { action.builder.
- consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break;
+ consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixIncr); break;
}
//
- // Rule 69: postfix_expression ::= dynamic_cast < type_id > ( expression )
+ // Rule 69: postfix_expression ::= postfix_expression --
//
case 69: { action.builder.
- consumeExpressionCast(ICPPASTCastExpression.op_dynamic_cast); break;
+ consumeExpressionUnaryOperator(IASTUnaryExpression.op_postFixDecr); break;
}
//
- // Rule 70: postfix_expression ::= static_cast < type_id > ( expression )
+ // Rule 70: postfix_expression ::= dynamic_cast < type_id > ( expression )
//
case 70: { action.builder.
- consumeExpressionCast(ICPPASTCastExpression.op_static_cast); break;
+ consumeExpressionCast(ICPPASTCastExpression.op_dynamic_cast); break;
}
//
- // Rule 71: postfix_expression ::= reinterpret_cast < type_id > ( expression )
+ // Rule 71: postfix_expression ::= static_cast < type_id > ( expression )
//
case 71: { action.builder.
- consumeExpressionCast(ICPPASTCastExpression.op_reinterpret_cast); break;
+ consumeExpressionCast(ICPPASTCastExpression.op_static_cast); break;
}
//
- // Rule 72: postfix_expression ::= const_cast < type_id > ( expression )
+ // Rule 72: postfix_expression ::= reinterpret_cast < type_id > ( expression )
//
case 72: { action.builder.
- consumeExpressionCast(ICPPASTCastExpression.op_const_cast); break;
+ consumeExpressionCast(ICPPASTCastExpression.op_reinterpret_cast); break;
}
//
- // Rule 73: postfix_expression ::= typeid ( expression )
+ // Rule 73: postfix_expression ::= const_cast < type_id > ( expression )
//
case 73: { action.builder.
- consumeExpressionUnaryOperator(ICPPASTUnaryExpression.op_typeid); break;
+ consumeExpressionCast(ICPPASTCastExpression.op_const_cast); break;
}
//
- // Rule 74: postfix_expression ::= typeid ( type_id )
+ // Rule 74: postfix_expression ::= typeid ( expression )
//
case 74: { action.builder.
- consumeExpressionTypeId(ICPPASTTypeIdExpression.op_typeid); break;
+ consumeExpressionUnaryOperator(ICPPASTUnaryExpression.op_typeid); break;
}
//
- // Rule 75: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt type_name :: destructor_type_name
+ // Rule 75: postfix_expression ::= typeid ( type_id )
//
case 75: { action.builder.
- consumePsudoDestructorName(true); break;
+ consumeExpressionTypeId(ICPPASTTypeIdExpression.op_typeid); break;
}
//
- // Rule 76: pseudo_destructor_name ::= dcolon_opt nested_name_specifier template template_id_name :: destructor_type_name
+ // Rule 76: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt type_name :: destructor_type_name
//
case 76: { action.builder.
consumePsudoDestructorName(true); break;
}
//
- // Rule 77: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt destructor_type_name
+ // Rule 77: pseudo_destructor_name ::= dcolon_opt nested_name_specifier template template_id_name :: destructor_type_name
//
case 77: { action.builder.
- consumePsudoDestructorName(false); break;
+ consumePsudoDestructorName(true); break;
}
//
- // Rule 78: destructor_type_name ::= ~ type_name
+ // Rule 78: pseudo_destructor_name ::= dcolon_opt nested_name_specifier_opt destructor_type_name
//
case 78: { action.builder.
+ consumePsudoDestructorName(false); break;
+ }
+
+ //
+ // Rule 79: destructor_type_name ::= ~ identifier_token
+ //
+ case 79: { action.builder.
consumeDestructorName(); break;
}
//
- // Rule 82: unary_expression ::= ++ cast_expression
+ // Rule 80: destructor_type_name ::= ~ template_id_name
+ //
+ case 80: { action.builder.
+ consumeDestructorNameTemplateId(); break;
+ }
+
+ //
+ // Rule 84: unary_expression ::= ++ cast_expression
//
- case 82: { action.builder.
+ case 84: { action.builder.
consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixIncr); break;
}
//
- // Rule 83: unary_expression ::= -- cast_expression
+ // Rule 85: unary_expression ::= -- cast_expression
//
- case 83: { action.builder.
+ case 85: { action.builder.
consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixDecr); break;
}
//
- // Rule 84: unary_expression ::= & cast_expression
+ // Rule 86: unary_expression ::= & cast_expression
//
- case 84: { action.builder.
+ case 86: { action.builder.
consumeExpressionUnaryOperator(IASTUnaryExpression.op_amper); break;
}
//
- // Rule 85: unary_expression ::= * cast_expression
+ // Rule 87: unary_expression ::= * cast_expression
//
- case 85: { action.builder.
+ case 87: { action.builder.
consumeExpressionUnaryOperator(IASTUnaryExpression.op_star); break;
}
//
- // Rule 86: unary_expression ::= + cast_expression
+ // Rule 88: unary_expression ::= + cast_expression
//
- case 86: { action.builder.
+ case 88: { action.builder.
consumeExpressionUnaryOperator(IASTUnaryExpression.op_plus); break;
}
//
- // Rule 87: unary_expression ::= - cast_expression
+ // Rule 89: unary_expression ::= - cast_expression
//
- case 87: { action.builder.
+ case 89: { action.builder.
consumeExpressionUnaryOperator(IASTUnaryExpression.op_minus); break;
}
//
- // Rule 88: unary_expression ::= ~ cast_expression
+ // Rule 90: unary_expression ::= ~ cast_expression
//
- case 88: { action.builder.
+ case 90: { action.builder.
consumeExpressionUnaryOperator(IASTUnaryExpression.op_tilde); break;
}
//
- // Rule 89: unary_expression ::= ! cast_expression
+ // Rule 91: unary_expression ::= ! cast_expression
//
- case 89: { action.builder.
+ case 91: { action.builder.
consumeExpressionUnaryOperator(IASTUnaryExpression.op_not); break;
}
//
- // Rule 90: unary_expression ::= sizeof unary_expression
+ // Rule 92: unary_expression ::= sizeof unary_expression
//
- case 90: { action.builder.
+ case 92: { action.builder.
consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof); break;
}
//
- // Rule 91: unary_expression ::= sizeof ( type_id )
+ // Rule 93: unary_expression ::= sizeof ( type_id )
//
- case 91: { action.builder.
+ case 93: { action.builder.
consumeExpressionTypeId(ICPPASTTypeIdExpression.op_sizeof); break;
}
//
- // Rule 92: new_expression ::= dcolon_opt new new_placement_opt new_type_id <openscope-ast> new_array_expressions_opt new_initializer_opt
+ // Rule 94: new_expression ::= dcolon_opt new new_placement_opt new_type_id <openscope-ast> new_array_expressions_opt new_initializer_opt
//
- case 92: { action.builder.
+ case 94: { action.builder.
consumeExpressionNew(true); break;
}
//
- // Rule 93: new_expression ::= dcolon_opt new new_placement_opt ( type_id ) <openscope-ast> new_array_expressions_opt new_initializer_opt
+ // Rule 95: new_expression ::= dcolon_opt new new_placement_opt ( type_id ) <openscope-ast> new_array_expressions_opt new_initializer_opt
//
- case 93: { action.builder.
+ case 95: { action.builder.
consumeExpressionNew(false); break;
}
//
- // Rule 95: new_placement_opt ::= $Empty
+ // Rule 97: new_placement_opt ::= $Empty
//
- case 95: { action.builder.
+ case 97: { action.builder.
consumeEmpty(); break;
}
//
- // Rule 96: new_type_id ::= type_specifier_seq
+ // Rule 98: new_type_id ::= type_specifier_seq
//
- case 96: { action.builder.
+ case 98: { action.builder.
consumeTypeId(false); break;
}
//
- // Rule 97: new_type_id ::= type_specifier_seq new_declarator
+ // Rule 99: new_type_id ::= type_specifier_seq new_declarator
//
- case 97: { action.builder.
+ case 99: { action.builder.
consumeTypeId(true); break;
}
//
- // Rule 98: new_declarator ::= <openscope-ast> new_pointer_operators
+ // Rule 100: new_declarator ::= <openscope-ast> new_pointer_operators
//
- case 98: { action.builder.
+ case 100: { action.builder.
consumeNewDeclarator(); break;
}
//
- // Rule 107: new_initializer_opt ::= $Empty
+ // Rule 109: new_initializer_opt ::= $Empty
//
- case 107: { action.builder.
+ case 109: { action.builder.
consumeEmpty(); break;
}
//
- // Rule 108: delete_expression ::= dcolon_opt delete cast_expression
+ // Rule 110: delete_expression ::= dcolon_opt delete cast_expression
//
- case 108: { action.builder.
+ case 110: { action.builder.
consumeExpressionDelete(false); break;
}
//
- // Rule 109: delete_expression ::= dcolon_opt delete [ ] cast_expression
+ // Rule 111: delete_expression ::= dcolon_opt delete [ ] cast_expression
//
- case 109: { action.builder.
+ case 111: { action.builder.
consumeExpressionDelete(true); break;
}
//
- // Rule 111: cast_expression ::= ( type_id ) cast_expression
+ // Rule 113: cast_expression ::= ( type_id ) cast_expression
//
- case 111: { action.builder.
+ case 113: { action.builder.
consumeExpressionCast(ICPPASTCastExpression.op_cast); break;
}
//
- // Rule 113: pm_expression ::= pm_expression .* cast_expression
+ // Rule 115: pm_expression ::= pm_expression .* cast_expression
//
- case 113: { action.builder.
+ case 115: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmdot); break;
}
//
- // Rule 114: pm_expression ::= pm_expression ->* cast_expression
+ // Rule 116: pm_expression ::= pm_expression ->* cast_expression
//
- case 114: { action.builder.
+ case 116: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_pmarrow); break;
}
//
- // Rule 116: multiplicative_expression ::= multiplicative_expression * pm_expression
+ // Rule 118: multiplicative_expression ::= multiplicative_expression * pm_expression
//
- case 116: { action.builder.
+ case 118: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiply); break;
}
//
- // Rule 117: multiplicative_expression ::= multiplicative_expression / pm_expression
+ // Rule 119: multiplicative_expression ::= multiplicative_expression / pm_expression
//
- case 117: { action.builder.
+ case 119: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divide); break;
}
//
- // Rule 118: multiplicative_expression ::= multiplicative_expression % pm_expression
+ // Rule 120: multiplicative_expression ::= multiplicative_expression % pm_expression
//
- case 118: { action.builder.
+ case 120: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_modulo); break;
}
//
- // Rule 120: additive_expression ::= additive_expression + multiplicative_expression
+ // Rule 122: additive_expression ::= additive_expression + multiplicative_expression
//
- case 120: { action.builder.
+ case 122: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plus); break;
}
//
- // Rule 121: additive_expression ::= additive_expression - multiplicative_expression
+ // Rule 123: additive_expression ::= additive_expression - multiplicative_expression
//
- case 121: { action.builder.
+ case 123: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minus); break;
}
//
- // Rule 123: shift_expression ::= shift_expression << additive_expression
+ // Rule 125: shift_expression ::= shift_expression << additive_expression
//
- case 123: { action.builder.
+ case 125: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeft); break;
}
//
- // Rule 124: shift_expression ::= shift_expression >> additive_expression
+ // Rule 126: shift_expression ::= shift_expression >> additive_expression
//
- case 124: { action.builder.
+ case 126: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRight); break;
}
//
- // Rule 126: relational_expression ::= relational_expression < shift_expression
+ // Rule 128: relational_expression ::= relational_expression < shift_expression
//
- case 126: { action.builder.
+ case 128: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessThan); break;
}
//
- // Rule 127: relational_expression ::= relational_expression > shift_expression
+ // Rule 129: relational_expression ::= relational_expression > shift_expression
//
- case 127: { action.builder.
+ case 129: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterThan); break;
}
//
- // Rule 128: relational_expression ::= relational_expression <= shift_expression
+ // Rule 130: relational_expression ::= relational_expression <= shift_expression
//
- case 128: { action.builder.
+ case 130: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_lessEqual); break;
}
//
- // Rule 129: relational_expression ::= relational_expression >= shift_expression
+ // Rule 131: relational_expression ::= relational_expression >= shift_expression
//
- case 129: { action.builder.
+ case 131: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_greaterEqual); break;
}
//
- // Rule 131: equality_expression ::= equality_expression == relational_expression
+ // Rule 133: equality_expression ::= equality_expression == relational_expression
//
- case 131: { action.builder.
+ case 133: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_equals); break;
}
//
- // Rule 132: equality_expression ::= equality_expression != relational_expression
+ // Rule 134: equality_expression ::= equality_expression != relational_expression
//
- case 132: { action.builder.
+ case 134: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_notequals); break;
}
//
- // Rule 134: and_expression ::= and_expression & equality_expression
+ // Rule 136: and_expression ::= and_expression & equality_expression
//
- case 134: { action.builder.
+ case 136: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAnd); break;
}
//
- // Rule 136: exclusive_or_expression ::= exclusive_or_expression ^ and_expression
+ // Rule 138: exclusive_or_expression ::= exclusive_or_expression ^ and_expression
//
- case 136: { action.builder.
+ case 138: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXor); break;
}
//
- // Rule 138: inclusive_or_expression ::= inclusive_or_expression | exclusive_or_expression
+ // Rule 140: inclusive_or_expression ::= inclusive_or_expression | exclusive_or_expression
//
- case 138: { action.builder.
+ case 140: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOr); break;
}
//
- // Rule 140: logical_and_expression ::= logical_and_expression && inclusive_or_expression
+ // Rule 142: logical_and_expression ::= logical_and_expression && inclusive_or_expression
//
- case 140: { action.builder.
+ case 142: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalAnd); break;
}
//
- // Rule 142: logical_or_expression ::= logical_or_expression || logical_and_expression
+ // Rule 144: logical_or_expression ::= logical_or_expression || logical_and_expression
//
- case 142: { action.builder.
+ case 144: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_logicalOr); break;
}
//
- // Rule 144: conditional_expression ::= logical_or_expression ? expression : assignment_expression
+ // Rule 146: conditional_expression ::= logical_or_expression ? expression : assignment_expression
//
- case 144: { action.builder.
+ case 146: { action.builder.
consumeExpressionConditional(); break;
}
//
- // Rule 145: throw_expression ::= throw
+ // Rule 147: throw_expression ::= throw
//
- case 145: { action.builder.
+ case 147: { action.builder.
consumeExpressionThrow(false); break;
}
//
- // Rule 146: throw_expression ::= throw assignment_expression
+ // Rule 148: throw_expression ::= throw assignment_expression
//
- case 146: { action.builder.
+ case 148: { action.builder.
consumeExpressionThrow(true); break;
}
//
- // Rule 149: assignment_expression ::= logical_or_expression = assignment_expression
+ // Rule 151: assignment_expression ::= logical_or_expression = assignment_expression
//
- case 149: { action.builder.
+ case 151: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_assign); break;
}
//
- // Rule 150: assignment_expression ::= logical_or_expression *= assignment_expression
+ // Rule 152: assignment_expression ::= logical_or_expression *= assignment_expression
//
- case 150: { action.builder.
+ case 152: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_multiplyAssign); break;
}
//
- // Rule 151: assignment_expression ::= logical_or_expression /= assignment_expression
+ // Rule 153: assignment_expression ::= logical_or_expression /= assignment_expression
//
- case 151: { action.builder.
+ case 153: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_divideAssign); break;
}
//
- // Rule 152: assignment_expression ::= logical_or_expression %= assignment_expression
+ // Rule 154: assignment_expression ::= logical_or_expression %= assignment_expression
//
- case 152: { action.builder.
+ case 154: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_moduloAssign); break;
}
//
- // Rule 153: assignment_expression ::= logical_or_expression += assignment_expression
+ // Rule 155: assignment_expression ::= logical_or_expression += assignment_expression
//
- case 153: { action.builder.
+ case 155: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_plusAssign); break;
}
//
- // Rule 154: assignment_expression ::= logical_or_expression -= assignment_expression
+ // Rule 156: assignment_expression ::= logical_or_expression -= assignment_expression
//
- case 154: { action.builder.
+ case 156: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_minusAssign); break;
}
//
- // Rule 155: assignment_expression ::= logical_or_expression >>= assignment_expression
+ // Rule 157: assignment_expression ::= logical_or_expression >>= assignment_expression
//
- case 155: { action.builder.
+ case 157: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftRightAssign); break;
}
//
- // Rule 156: assignment_expression ::= logical_or_expression <<= assignment_expression
+ // Rule 158: assignment_expression ::= logical_or_expression <<= assignment_expression
//
- case 156: { action.builder.
+ case 158: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_shiftLeftAssign); break;
}
//
- // Rule 157: assignment_expression ::= logical_or_expression &= assignment_expression
+ // Rule 159: assignment_expression ::= logical_or_expression &= assignment_expression
//
- case 157: { action.builder.
+ case 159: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryAndAssign); break;
}
//
- // Rule 158: assignment_expression ::= logical_or_expression ^= assignment_expression
+ // Rule 160: assignment_expression ::= logical_or_expression ^= assignment_expression
//
- case 158: { action.builder.
+ case 160: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryXorAssign); break;
}
//
- // Rule 159: assignment_expression ::= logical_or_expression |= assignment_expression
+ // Rule 161: assignment_expression ::= logical_or_expression |= assignment_expression
//
- case 159: { action.builder.
+ case 161: { action.builder.
consumeExpressionBinaryOperator(ICPPASTBinaryExpression.op_binaryOrAssign); break;
}
//
- // Rule 161: expression_list ::= <openscope-ast> expression_list_actual
+ // Rule 163: expression_list ::= <openscope-ast> expression_list_actual
//
- case 161: { action.builder.
+ case 163: { action.builder.
consumeExpressionList(); break;
}
//
- // Rule 165: expression_list_opt ::= $Empty
+ // Rule 167: expression_list_opt ::= $Empty
//
- case 165: { action.builder.
+ case 167: { action.builder.
consumeEmpty(); break;
}
//
- // Rule 167: expression_opt ::= $Empty
+ // Rule 169: expression_opt ::= $Empty
//
- case 167: { action.builder.
+ case 169: { action.builder.
consumeEmpty(); break;
}
//
- // Rule 170: constant_expression_opt ::= $Empty
+ // Rule 172: constant_expression_opt ::= $Empty
//
- case 170: { action.builder.
+ case 172: { action.builder.
consumeEmpty(); break;
}
//
- // Rule 179: statement ::= ERROR_TOKEN
+ // Rule 181: statement ::= ERROR_TOKEN
//
- case 179: { action.builder.
+ case 181: { action.builder.
consumeStatementProblem(); break;
}
//
- // Rule 180: labeled_statement ::= identifier : statement
+ // Rule 182: labeled_statement ::= identifier : statement
//
- case 180: { action.builder.
+ case 182: { action.builder.
consumeStatementLabeled(); break;
}
//
- // Rule 181: labeled_statement ::= case constant_expression :
+ // Rule 183: labeled_statement ::= case constant_expression :
//
- case 181: { action.builder.
+ case 183: { action.builder.
consumeStatementCase(); break;
}
//
- // Rule 182: labeled_statement ::= default :
+ // Rule 184: labeled_statement ::= default :
//
- case 182: { action.builder.
+ case 184: { action.builder.
consumeStatementDefault(); break;
}
//
- // Rule 183: expression_statement ::= expression ;
+ // Rule 185: expression_statement ::= expression ;
//
- case 183: { action.builder.
+ case 185: { action.builder.
consumeStatementExpression(); break;
}
//
- // Rule 184: expression_statement ::= ;
+ // Rule 186: expression_statement ::= ;
//
- case 184: { action.builder.
+ case 186: { action.builder.
consumeStatementNull(); break;
}
//
- // Rule 185: compound_statement ::= { <openscope-ast> statement_seq }
+ // Rule 187: compound_statement ::= { <openscope-ast> statement_seq }
//
- case 185: { action.builder.
+ case 187: { action.builder.
consumeStatementCompoundStatement(true); break;
}
//
- // Rule 186: compound_statement ::= { }
+ // Rule 188: compound_statement ::= { }
//
- case 186: { action.builder.
+ case 188: { action.builder.
consumeStatementCompoundStatement(false); break;
}
//
- // Rule 189: selection_statement ::= if ( condition ) statement
+ // Rule 191: selection_statement ::= if ( condition ) statement
//
- case 189: { action.builder.
+ case 191: { action.builder.
consumeStatementIf(false); break;
}
//
- // Rule 190: selection_statement ::= if ( condition ) statement else statement
+ // Rule 192: selection_statement ::= if ( condition ) statement else statement
//
- case 190: { action.builder.
+ case 192: { action.builder.
consumeStatementIf(true); break;
}
//
- // Rule 191: selection_statement ::= switch ( condition ) statement
+ // Rule 193: selection_statement ::= switch ( condition ) statement
//
- case 191: { action.builder.
+ case 193: { action.builder.
consumeStatementSwitch(); break;
}
//
- // Rule 193: condition ::= type_specifier_seq declarator = assignment_expression
+ // Rule 195: condition ::= type_specifier_seq declarator = assignment_expression
//
- case 193: { action.builder.
+ case 195: { action.builder.
consumeConditionDeclaration(); break;
}
//
- // Rule 194: iteration_statement ::= while ( condition ) statement
+ // Rule 196: iteration_statement ::= while ( condition ) statement
//
- case 194: { action.builder.
+ case 196: { action.builder.
consumeStatementWhileLoop(); break;
}
//
- // Rule 195: iteration_statement ::= do statement while ( expression ) ;
+ // Rule 197: iteration_statement ::= do statement while ( expression ) ;
//
- case 195: { action.builder.
+ case 197: { action.builder.
consumeStatementDoLoop(); break;
}
//
- // Rule 196: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement
+ // Rule 198: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement
//
- case 196: { action.builder.
+ case 198: { action.builder.
consumeStatementForLoop(); break;
}
//
- // Rule 197: iteration_statement ::= for ( simple_declaration_with_declspec expression_opt ; expression_opt ) statement
+ // Rule 199: iteration_statement ::= for ( simple_declaration_with_declspec expression_opt ; expression_opt ) statement
//
- case 197: { action.builder.
+ case 199: { action.builder.
consumeStatementForLoop(); break;
}
//
- // Rule 198: jump_statement ::= break ;
+ // Rule 200: jump_statement ::= break ;
//
- case 198: { action.builder.
+ case 200: { action.builder.
consumeStatementBreak(); break;
}
//
- // Rule 199: jump_statement ::= continue ;
+ // Rule 201: jump_statement ::= continue ;
//
- case 199: { action.builder.
+ case 201: { action.builder.
consumeStatementContinue(); break;
}
//
- // Rule 200: jump_statement ::= return expression ;
+ // Rule 202: jump_statement ::= return expression ;
//
- case 200: { action.builder.
+ case 202: { action.builder.
consumeStatementReturn(true); break;
}
//
- // Rule 201: jump_statement ::= return ;
+ // Rule 203: jump_statement ::= return ;
//
- case 201: { action.builder.
+ case 203: { action.builder.
consumeStatementReturn(false); break;
}
//
- // Rule 202: jump_statement ::= goto identifier_token ;
+ // Rule 204: jump_statement ::= goto identifier_token ;
//
- case 202: { action.builder.
+ case 204: { action.builder.
consumeStatementGoto(); break;
}
//
- // Rule 203: declaration_statement ::= block_declaration
+ // Rule 205: declaration_statement ::= block_declaration
//
- case 203: { action.builder.
+ case 205: { action.builder.
consumeStatementDeclaration(); break;
}
//
- // Rule 204: declaration_statement ::= function_definition
+ // Rule 206: declaration_statement ::= function_definition
//
- case 204: { action.builder.
+ case 206: { action.builder.
consumeStatementDeclaration(); break;
}
//
- // Rule 221: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ;
+ // Rule 223: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ;
//
- case 221: { action.builder.
+ case 223: { action.builder.
consumeDeclarationSimple(true, true); break;
}
//
- // Rule 222: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ;
+ // Rule 224: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ;
//
- case 222: { action.builder.
+ case 224: { action.builder.
consumeDeclarationSimple(true, false); break;
}
//
- // Rule 223: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers
+ // Rule 225: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers
//
- case 223: { action.builder.
+ case 225: { action.builder.
consumeDeclarationSpecifiersSimple(); break;
}
//
- // Rule 224: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers
+ // Rule 226: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers
//
- case 224: { action.builder.
+ case 226: { action.builder.
consumeDeclarationSpecifiersComposite(); break;
}
//
- // Rule 225: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers
+ // Rule 227: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers
//
- case 225: { action.builder.
+ case 227: { action.builder.
consumeDeclarationSpecifiersComposite(); break;
}
//
- // Rule 226: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers
+ // Rule 228: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers
//
- case 226: { action.builder.
+ case 228: { action.builder.
consumeDeclarationSpecifiersComposite(); break;
}
//
- // Rule 227: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers
+ // Rule 229: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers
//
- case 227: { action.builder.
+ case 229: { action.builder.
consumeDeclarationSpecifiersTypeName(); break;
}
//
- // Rule 228: declaration_specifiers_opt ::= $Empty
+ // Rule 230: declaration_specifiers_opt ::= $Empty
//
- case 228: { action.builder.
+ case 230: { action.builder.
consumeEmpty(); break;
}
//
- // Rule 233: no_type_declaration_specifier ::= friend
+ // Rule 235: no_type_declaration_specifier ::= friend
+ //
+ case 235: { action.builder.
+ consumeDeclSpecToken(); break;
+ }
+
+ //
+ // Rule 236: no_type_declaration_specifier ::= typedef
+ //
+ case 236: { action.builder.
+ consumeDeclSpecToken(); break;
+ }
+
+ //
+ // Rule 256: storage_class_specifier ::= auto
+ //
+ case 256: { action.builder.
+ consumeDeclSpecToken(); break;
+ }
+
+ //
+ // Rule 257: storage_class_specifier ::= register
+ //
+ case 257: { action.builder.
+ consumeDeclSpecToken(); break;
+ }
+
+ //
+ // Rule 258: storage_class_specifier ::= static
+ //
+ case 258: { action.builder.
+ consumeDeclSpecToken(); break;
+ }
+
+ //
+ // Rule 259: storage_class_specifier ::= extern
+ //
+ case 259: { action.builder.
+ consumeDeclSpecToken(); break;
+ }
+
+ //
+ // Rule 260: storage_class_specifier ::= mutable
//
- case 233: { action.builder.
+ case 260: { action.builder.
consumeDeclSpecToken(); break;
}
//
- // Rule 234: no_type_declaration_specifier ::= typedef
+ // Rule 261: function_specifier ::= inline
//
- case 234: { action.builder.
+ case 261: { action.builder.
consumeDeclSpecToken(); break;
}
//
- // Rule 262: simple_type_specifier ::= simple_type_specifier_token
+ // Rule 262: function_specifier ::= virtual
//
case 262: { action.builder.
consumeDeclSpecToken(); break;
}
//
- // Rule 276: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name
+ // Rule 263: function_specifier ::= explicit
//
- case 276: { action.builder.
- consumeQualifiedId(false); break;
+ case 263: { action.builder.
+ consumeDeclSpecToken(); break;
+ }
+
+ //
+ // Rule 264: simple_type_specifier ::= char
+ //
+ case 264: { action.builder.
+ consumeDeclSpecToken(); break;
+ }
+
+ //
+ // Rule 265: simple_type_specifier ::= wchar_t
+ //
+ case 265: { action.builder.
+ consumeDeclSpecToken(); break;
+ }
+
+ //
+ // Rule 266: simple_type_specifier ::= bool
+ //
+ case 266: { action.builder.
+ consumeDeclSpecToken(); break;
+ }
+
+ //
+ // Rule 267: simple_type_specifier ::= short
+ //
+ case 267: { action.builder.
+ consumeDeclSpecToken(); break;
+ }
+
+ //
+ // Rule 268: simple_type_specifier ::= int
+ //
+ case 268: { action.builder.
+ consumeDeclSpecToken(); break;
}
//
- // Rule 277: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name
+ // Rule 269: simple_type_specifier ::= long
+ //
+ case 269: { action.builder.
+ consumeDeclSpecToken(); break;
+ }
+
+ //
+ // Rule 270: simple_type_specifier ::= signed
+ //
+ case 270: { action.builder.
+ consumeDeclSpecToken(); break;
+ }
+
+ //
+ // Rule 271: simple_type_specifier ::= unsigned
+ //
+ case 271: { action.builder.
+ consumeDeclSpecToken(); break;
+ }
+
+ //
+ // Rule 272: simple_type_specifier ::= float
+ //
+ case 272: { action.builder.
+ consumeDeclSpecToken(); break;
+ }
+
+ //
+ // Rule 273: simple_type_specifier ::= double
+ //
+ case 273: { action.builder.
+ consumeDeclSpecToken(); break;
+ }
+
+ //
+ // Rule 274: simple_type_specifier ::= void
+ //
+ case 274: { action.builder.
+ consumeDeclSpecToken(); break;
+ }
+
+ //
+ // Rule 277: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name
//
case 277: { action.builder.
consumeQualifiedId(false); break;
}
//
- // Rule 278: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name
+ // Rule 278: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name
//
case 278: { action.builder.
consumeQualifiedId(false); break;
}
//
- // Rule 279: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name
+ // Rule 279: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name
//
case 279: { action.builder.
- consumeQualifiedId(true); break;
+ consumeQualifiedId(false); break;
}
//
- // Rule 280: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt identifier_name
+ // Rule 280: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name
//
case 280: { action.builder.
- consumeTypeSpecifierElaborated(false); break;
+ consumeQualifiedId(true); break;
}
//
- // Rule 281: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt template_opt template_id_name
+ // Rule 281: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt identifier_name
//
case 281: { action.builder.
- consumeTypeSpecifierElaborated(true); break;
+ consumeTypeSpecifierElaborated(false); break;
}
//
- // Rule 282: elaborated_type_specifier ::= enum dcolon_opt nested_name_specifier_opt identifier_name
+ // Rule 282: elaborated_type_specifier ::= class_keyword dcolon_opt nested_name_specifier_opt template_opt template_id_name
//
case 282: { action.builder.
- consumeTypeSpecifierElaborated(false); break;
+ consumeTypeSpecifierElaborated(true); break;
}
//
- // Rule 283: enum_specifier ::= enum { <openscope-ast> enumerator_list_opt }
+ // Rule 283: elaborated_type_specifier ::= enum dcolon_opt nested_name_specifier_opt identifier_name
//
case 283: { action.builder.
- consumeTypeSpecifierEnumeration(false); break;
+ consumeTypeSpecifierElaborated(false); break;
}
//
- // Rule 284: enum_specifier ::= enum identifier_token { <openscope-ast> enumerator_list_opt }
+ // Rule 284: enum_specifier ::= enum { <openscope-ast> enumerator_list_opt }
//
case 284: { action.builder.
+ consumeTypeSpecifierEnumeration(false); break;
+ }
+
+ //
+ // Rule 285: enum_specifier ::= enum identifier_token { <openscope-ast> enumerator_list_opt }
+ //
+ case 285: { action.builder.
consumeTypeSpecifierEnumeration(true); break;
}
//
- // Rule 289: enumerator_definition ::= identifier_token
+ // Rule 290: enumerator_definition ::= identifier_token
//
- case 289: { action.builder.
+ case 290: { action.builder.
consumeEnumerator(false); break;
}
//
- // Rule 290: enumerator_definition ::= identifier_token = constant_expression
+ // Rule 291: enumerator_definition ::= identifier_token = constant_expression
//
- case 290: { action.builder.
+ case 291: { action.builder.
consumeEnumerator(true); break;
}
//
- // Rule 296: original_namespace_definition ::= namespace identifier_name { <openscope-ast> declaration_seq_opt }
+ // Rule 297: original_namespace_definition ::= namespace identifier_name { <openscope-ast> declaration_seq_opt }
//
- case 296: { action.builder.
+ case 297: { action.builder.
consumeNamespaceDefinition(true); break;
}
//
- // Rule 297: extension_namespace_definition ::= namespace original_namespace_name { <openscope-ast> declaration_seq_opt }
+ // Rule 298: extension_namespace_definition ::= namespace original_namespace_name { <openscope-ast> declaration_seq_opt }
//
- case 297: { action.builder.
+ case 298: { action.builder.
consumeNamespaceDefinition(true); break;
}
//
- // Rule 298: unnamed_namespace_definition ::= namespace { <openscope-ast> declaration_seq_opt }
+ // Rule 299: unnamed_namespace_definition ::= namespace { <openscope-ast> declaration_seq_opt }
//
- case 298: { action.builder.
+ case 299: { action.builder.
consumeNamespaceDefinition(false); break;
}
//
- // Rule 299: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ;
+ // Rule 300: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ;
//
- case 299: { action.builder.
+ case 300: { action.builder.
consumeNamespaceAliasDefinition(); break;
}
//
- // Rule 300: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ;
+ // Rule 301: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ;
//
- case 300: { action.builder.
+ case 301: { action.builder.
consumeUsingDeclaration(); break;
}
//
- // Rule 301: typename_opt ::= typename
+ // Rule 302: typename_opt ::= typename
//
- case 301: { action.builder.
+ case 302: { action.builder.
consumePlaceHolder(); break;
}
//
- // Rule 302: typename_opt ::= $Empty
+ // Rule 303: typename_opt ::= $Empty
//
- case 302: { action.builder.
+ case 303: { action.builder.
consumeEmpty(); break;
}
//
- // Rule 303: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ;
+ // Rule 304: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ;
//
- case 303: { action.builder.
+ case 304: { action.builder.
consumeUsingDirective(); break;
}
//
- // Rule 304: asm_definition ::= asm ( stringlit ) ;
+ // Rule 305: asm_definition ::= asm ( stringlit ) ;
//
- case 304: { action.builder.
+ case 305: { action.builder.
consumeDeclarationASM(); break;
}
//
- // Rule 305: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt }
+ // Rule 306: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt }
//
- case 305: { action.builder.
+ case 306: { action.builder.
consumeLinkageSpecification(); break;
}
//
- // Rule 306: linkage_specification ::= extern stringlit <openscope-ast> declaration
+ // Rule 307: linkage_specification ::= extern stringlit <openscope-ast> declaration
//
- case 306: { action.builder.
+ case 307: { action.builder.
consumeLinkageSpecification(); break;
}
//
- // Rule 312: init_declarator ::= declarator initializer
+ // Rule 313: init_declarator ::= declarator initializer
//
- case 312: { action.builder.
+ case 313: { action.builder.
consumeDeclaratorWithInitializer(true); break;
}
//
- // Rule 314: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
+ // Rule 315: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
//
- case 314: { action.builder.
+ case 315: { action.builder.
consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 316: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
+ // Rule 317: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator
//
- case 316: { action.builder.
+ case 317: { action.builder.
consumeDeclaratorWithPointer(true); break;
}
//
- // Rule 319: basic_direct_declarator ::= declarator_id_name
+ // Rule 320: basic_direct_declarator ::= declarator_id_name
//
- case 319: { action.builder.
+ case 320: { action.builder.
consumeDirectDeclaratorIdentifier(); break;
}
//
- // Rule 320: basic_direct_declarator ::= ( declarator )
+ // Rule 321: basic_direct_declarator ::= ( declarator )
//
- case 320: { action.builder.
+ case 321: { action.builder.
consumeDirectDeclaratorBracketed(); break;
}
//
- // Rule 321: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt
+ // 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 321: { action.builder.
+ case 322: { action.builder.
consumeDirectDeclaratorFunctionDeclarator(true); break;
}
//
- // Rule 322: array_direct_declarator ::= array_direct_declarator array_modifier
+ // Rule 323: array_direct_declarator ::= array_direct_declarator array_modifier
//
- case 322: { action.builder.
+ case 323: { action.builder.
consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 323: array_direct_declarator ::= basic_direct_declarator array_modifier
+ // Rule 324: array_direct_declarator ::= basic_direct_declarator array_modifier
//
- case 323: { action.builder.
+ case 324: { action.builder.
consumeDirectDeclaratorArrayDeclarator(true); break;
}
//
- // Rule 324: array_modifier ::= [ constant_expression ]
+ // Rule 325: array_modifier ::= [ constant_expression ]
//
- case 324: { action.builder.
+ case 325: { action.builder.
consumeDirectDeclaratorArrayModifier(true); break;
}
//
- // Rule 325: array_modifier ::= [ ]
+ // Rule 326: array_modifier ::= [ ]
//
- case 325: { action.builder.
+ case 326: { action.builder.
consumeDirectDeclaratorArrayModifier(false); break;
}
//
- // Rule 326: ptr_operator ::= * <openscope-ast> cv_qualifier_seq_opt
+ // Rule 327: ptr_operator ::= * <openscope-ast> cv_qualifier_seq_opt
//
- case 326: { action.builder.
+ case 327: { action.builder.
consumePointer(); break;
}
//
- // Rule 327: ptr_operator ::= &
+ // Rule 328: ptr_operator ::= &
//
- case 327: { action.builder.
+ case 328: { action.builder.
consumeReferenceOperator(); break;
}
//
- // Rule 328: ptr_operator ::= dcolon_opt nested_name_specifier * <openscope-ast> cv_qualifier_seq_opt
+ // Rule 329: ptr_operator ::= dcolon_opt nested_name_specifier * <openscope-ast> cv_qualifier_seq_opt
//
- case 328: { action.builder.
+ case 329: { action.builder.
consumePointerToMember(); break;
}
//
- // Rule 334: cv_qualifier ::= const
+ // Rule 335: cv_qualifier ::= const
//
- case 334: { action.builder.
+ case 335: { action.builder.
consumeDeclSpecToken(); break;
}
//
- // Rule 335: cv_qualifier ::= volatile
+ // Rule 336: cv_qualifier ::= volatile
//
- case 335: { action.builder.<